Comp Vis Week 5

Download as pdf or txt
Download as pdf or txt
You are on page 1of 49

Representing Images –

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

• How to define unusual?


Scale Invariance
SIFT (Scale Invariant Feature Transform)
• In 2004 David Lowe proposed Distinctive Image Features from Scale-
Invariant Keypoints
• Extract keypoints and compute its descriptors.
SIFT - Steps
• Scale-space Extrema Detection
• Difference of Gaussians is found
• Local extrama are detected
SIFT - steps
• Keypoint Localization
• eliminates any low-contrast keypoints and edge keypoints and what remains is strong
interest points

• 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

You might also like