220 likes | 391 Views
CS6670: Computer Vision. Noah Snavely. Lecture 8: Feature matching. SIFT Example. sift. 868 SIFT features. Feature matching. Given a feature in I 1 , how to find the best match in I 2 ? Define distance function that compares two descriptors
E N D
CS6670: Computer Vision Noah Snavely Lecture 8: Feature matching
SIFT Example sift 868 SIFT features
Feature matching Given a feature in I1, how to find the best match in I2? • Define distance function that compares two descriptors • Test all the features in I2, find the one with min distance
Feature distance How to define the difference between two features f1, f2? • Simple approach: L2 distance, ||f1 - f2 || • can give good scores to ambiguous (incorrect) matches f1 f2 I1 I2
Feature distance • How to define the difference between two features f1, f2? • Better approach: ratio distance = ||f1 - f2 || / || f1 - f2’ || • f2 is best SSD match to f1 in I2 • f2’ is 2nd best SSD match to f1 in I2 • gives large values for ambiguous matches f1 f2' f2 I1 I2
Feature matching example 51 matches
Feature matching example 58 matches
Evaluating the results How can we measure the performance of a feature matcher? 50 75 200 feature distance
True/false positives The distance threshold affects performance True positives = # of detected matches that are correct Suppose we want to maximize these—how to choose threshold? False positives = # of detected matches that are incorrect Suppose we want to minimize these—how to choose threshold? How can we measure the performance of a feature matcher? 50 true match 75 200 false match feature distance
# true positives # correctly matched features (positives) # false positives # incorrectly matched features (negatives) Evaluating the results How can we measure the performance of a feature matcher? 1 0.7 truepositiverate “recall” 0 1 false positive rate 0.1 1 - “precision”
Evaluating the results # true positives # correctly matched features (positives) # false positives # incorrectly matched features (negatives) How can we measure the performance of a feature matcher? ROC curve (“Receiver Operator Characteristic”) 1 0.7 truepositiverate “recall” 0 1 false positive rate 0.1 1 - “precision”
Lots of applications Features are used for: • Image alignment (e.g., mosaics) • 3D reconstruction • Motion tracking • Object recognition (e.g., Google Goggles) • Indexing and database retrieval • Robot navigation • … other
3D Reconstruction Reconstructed 3D cameras and points Internet Photos (“Colosseum”)
Sony Aibo • SIFT usage: • Recognize • charging • station • Communicate • with visual • cards • Teach object • recognition