“…This problem is recognized as difficult, especially under severe viewpoint changes between images. This is a fundamental step in many computer vision and image processing applications such as scene recognition [73,7,66,12,44,65,74,21,79,45] and detection [18,51], object tracking [81], robot localization [67,72,48,5,52], image stitching [2,6], image registration [78,30] and retrieval [22,20], 3D modeling and reconstruction [15,19,75,1,57], motion estimation [76], photo management [68,77,27,9], symmetry detection [32] or even image forgeries detection [10].…”