Identifying Control Points (CP) is the Holy Grail of panorama making. And also one of its most complex challenges. Onur Küçüktunç, mentored by Alexandre Jenny, has picked up the second part of that challenge: feature matching.
In the short time frame of the Google Summer of Code he wrote a feature matcher and studied the performance of different potential matching algorithms.
It is unfair to him that the project is not only a difficult one, but also not one that is visible in the front end – it is a behind the scene improvement.
Onur did a good job and we now have a feature matcher to pair with Zoran Mesec’s last year feature detector. The two pieces of code will still need integration and optimization work before we can claim that Hugin has achieved its objective to be free of the SIFT patent that currently taints hugin’s CP generators in some jurisdictions, notably in the United States of America.
It is because of this patent that Hugin ships in most Linux distributions without CP detectors. Also Nodal Ninja customers receive a copy of Hugin without CP detector. While it is unfortunate that Hugin ships w/o CP detectors to so many users, there is a workaround for the time being. Onur and the developers are committed to continue to improve CP detection.
Filed under: Google Summer of Code, hugin | Tagged: Alexandre Jenny, Onur Küçüktunç, Zoran Mesec

Thinking on CP generation, I’d think on this algorithm:
1. Edge-detect each image (with sobel algorithm, for example)
2. Desaturate it
3. Appy a 50 (of 256) threshold
4. Calculate the x- and y- partial derivatives of each image
With every pair of treated images:
1. Match points that have the same value (+/- an error)
2. On those points match the same value for adjacent points
3. Match the original colour too (+/- an error)
Does it make sense?