1 / 16

Lecture 8: Feature matching

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

Download Presentation

Lecture 8: Feature matching

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS6670: Computer Vision Noah Snavely Lecture 8: Feature matching

  2. SIFT Example sift 868 SIFT features

  3. 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

  4. 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

  5. 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

  6. Feature matching example 51 matches

  7. Feature matching example 58 matches

  8. Evaluating the results How can we measure the performance of a feature matcher? 50 75 200 feature distance

  9. 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

  10. # 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”

  11. 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”

  12. 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

  13. Object recognition (David Lowe)

  14. 3D Reconstruction Reconstructed 3D cameras and points Internet Photos (“Colosseum”)

  15. Sony Aibo • SIFT usage: • Recognize • charging • station • Communicate • with visual • cards • Teach object • recognition

  16. Questions?

More Related