Comp Vis Week 5
Comp Vis Week 5
Comp Vis Week 5
Features II
Fundamentals of Computer Vision – Week 5
Assist. Prof. Özge Öztimur Karadağ
ALKÜ – Department of Computer Engineering
Alanya
Local Features
• What are local image features
• Why are they useful
• Local image feature detection
• Invariance
• Local image feature description
Görüntü Birleştirme
Local image point applications
• Image alignment
• 3D reconstruction
• Motion tracking
• Object recognition
• İndexing and database retrieval
• Robot navigation
Advantages of local features
• Locality
• Features are local, so robust to occlusion and clutter
• Distinctiveness
• can differentiate a large database of objects
• Quantity
• hundreds or thousands in a single image
• Efficiency
• real-time performance achievable
• Generality
• exploit different types of features in different situations
Challenges
• Repeatability
• Uniqueness
• Invariance
What makes a good feature?
What makes a good feature?
What makes a good feature?
• Uniqueness
• Look for image regions that are unusual
• Lead to unambiguous matches in other images
• Orientation Assignment
• an orientation is assigned to each keypoint to achieve invariance to image rotation
• neighbourhood is taken around the keypoint location depending on the scale, and
the gradient magnitude and direction is calculated in that region. An orientation
histogram with 36 bins covering 360 degrees is created.
• The highest peak in the histogram is taken and any peak above 80% of it is also
considered to calculate the orientation.
• It creates keypoints with same location and scale, but different directions.
SIFT - Steps
• Keypoint Descriptor
• A 16x16 neighbourhood around the keypoint is taken.
• It is divided into 16 sub-blocks of 4x4 size.
• For each sub-block, 8 bin orientation histogram is created.
• So a total of 128 bin values are available.
• It is represented as a vector to form keypoint descriptor.
• In addition to this, several measures are taken to achieve robustness against
illumination changes, rotation etc.
SIFT - Steps
• Keypoint Matching
• Keypoints between two images are matched by identifying their nearest
neighbours.
• But in some cases, the second closest-match may be very near to the first.
• It may happen due to noise or some other reasons.
• In that case, ratio of closest-distance to second-closest distance is taken.
• If it is greater than 0.8, they are rejected.
• It eliminates around 90% of false matches while discards only 5% correct
matches.
SIFT in OpenCV
• sift_example.py
References
• Jason Corso Lecture Notes, University of Michigan