What year will anyone be able to buy a self-driving car?
ⓘ Start presenting to display the poll results on this slide.
Feature descriptors and feature matching
Local features: main components
Kristen Grauman
Feature descriptors
We know how to detect good points
Next question: How to match them?
Answer: Come up with a descriptor for each point, find similar descriptors between the two images
?
We know how to detect good points
Next question: How to match them?
Lots of possibilities
?
Feature descriptors
Invariance vs. discriminability
Image transformations revisited
Rotation�
Scale��
Intensity change
Invariance
Suppose we are comparing two images I1 and I2
Invariant descriptors
How to achieve invariance
Need both of the following:
2. Design an invariant feature descriptor
Rotation invariance for feature descriptors
Figure by Matthew Brown
Multiscale Oriented PatcheS descriptor
Take 40x40 square window around detected feature
CSE 576: Computer Vision
8 pixels
40 pixels
Adapted from slide by Matthew Brown
Detections at multiple scales
Scale Invariant Feature Transform
Basic idea:
Adapted from slide by David Lowe
0
2π
angle histogram
SIFT descriptor
Full version
Adapted from slide by David Lowe
Properties of SIFT
Extraordinarily robust matching technique
Maximally Stable Extremal Regions
J.Matas et.al. “Distinguished Regions for Wide-baseline Stereo”. BMVC 2002.
SIFT Example
sift
868 SIFT features
Other descriptors
https://arxiv.org/abs/1603.09114
Questions?
Summary
Which features match?
Feature matching
Given a feature in I1, how to find the best match in I2?
(can be accelerated with a nearest neighbors search data structure, like a kd-tree)
Feature distance
How to define the difference between two features f1, f2?
I1
I2
f1
f2
f1
f2
f2'
Feature distance
How to define the difference between two features f1, f2?
I1
I2
Feature distance
Feature matching example
58 matches (thresholded by ratio score)
Feature matching example
51 matches (thresholded by ratio score)
We’ll deal with outliers later
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
50
75
200
false match
true match
feature distance
How can we measure the performance of a feature matcher?
True/false positives
Suppose we want to maximize true positives. How do we set the threshold? (Note: we keep all matches with distance below the threshold.)
50
75
200
false match
true match
feature distance
How can we measure the performance of a feature matcher?
True/false positives
Suppose we want to minimize false positives. How do we set the threshold? (Note: we keep all matches with distance below the threshold.)
50
75
200
false match
true match
feature distance
How can we measure the performance of a feature matcher?
Suppose we want to maximize true positives. How do we set the threshold? (We keep all matches with distance below the threshold.)
ⓘ Start presenting to display the poll results on this slide.
Suppose we want to minimize false positives. How do we set the threshold? (We keep all matches with distance below the threshold.)
ⓘ Start presenting to display the poll results on this slide.
Example
Evaluating the results
0.7
0
1
1
false positive rate
true�positive�rate�
0.1
How can we measure the performance of a feature matcher?
recall
1 - specificity
# true positives surviving threshold
# total correct matches (positives)
# false positives surviving threshold
# total incorrect matches (negatives)
0.7
0
1
1
false positive rate
true�positive�rate�
# true positives surviving threshold
# total correct matches (positives)
0.1
# false positives surviving threshold
# total incorrect matches (negatives)
ROC curve (“Receiver Operator Characteristic”)
How can we measure the performance of a feature matcher?
recall
1 - specificity
Single number: Area Under the Curve (AUC)
E.g. AUC = 0.87
1 is the best
Evaluating the results
ROC curves – summary
More on feature detection/description
Lots of applications
Features are used for:
Object recognition (David Lowe)
3D Reconstruction
Internet Photos (“Colosseum”)
Reconstructed 3D cameras and points
WildGaussians: first reconstruct cameras using feature matching, then create dense model
Kulhanek, et al. WildGaussians. NeurIPS 2024
Sony Aibo
SIFT usage:
charging
station
with visual
cards
recognition
Augmented Reality
Learned feature matchers
LoFTR: Detector-Free Local Feature Matching with Transformers
CVPR 2021 [Sun, Shen, Wang, et al.]
Learned feature matchers
RoMa: Robust Dense Feature Matching, CVPR 2024