Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What does ORB stand for in computer vision?
ORB stands for Oriented FAST and Rotated BRIEF. It is a fast and efficient feature detector and descriptor.
Click to reveal answer
beginner
How does ORB detect keypoints?
ORB uses the FAST (Features from Accelerated Segment Test) algorithm to quickly find keypoints in an image.
Click to reveal answer
intermediate
What is the purpose of the orientation step in ORB?
The orientation step assigns a direction to each keypoint to make the descriptor rotation invariant, so features can be matched even if the image is rotated.
Click to reveal answer
intermediate
What descriptor does ORB use and why?
ORB uses the BRIEF descriptor but modifies it to be rotation invariant by using the keypoint orientation. This makes it fast and robust for matching.
Click to reveal answer
beginner
Why is ORB preferred over SIFT or SURF in some applications?
ORB is faster and free to use (no patent restrictions), making it suitable for real-time applications and open-source projects.
Click to reveal answer
What algorithm does ORB use to detect keypoints?
ASURF
BSIFT
CFAST
DHarris Corner
✗ Incorrect
ORB uses the FAST algorithm to quickly detect keypoints.
What is the main benefit of assigning orientation to ORB keypoints?
C. Image is not read in grayscale, causing detectAndCompute to fail
D. print(len(kp)) is incorrect syntax
Solution
Step 1: Check image reading mode
ORB works best with grayscale images. The code reads the image without specifying grayscale, so img is color (3 channels).
Step 2: Understand impact on detectAndCompute
detectAndCompute expects a single channel image; passing a color image can cause incorrect or no keypoints detected.
Final Answer:
Image is not read in grayscale, causing detectAndCompute to fail -> Option C
Quick Check:
Read image with cv2.imread('image.jpg', 0) [OK]
Hint: Always read images in grayscale for ORB [OK]
Common Mistakes:
Ignoring image color channels
Thinking nfeatures is invalid
Assuming mask is mandatory
5. You want to match ORB features between two images but notice very few matches. Which change is most likely to improve the number of good matches?
hard
A. Use a different color space like HSV for detection
B. Decrease the image resolution before detecting features
C. Set the mask parameter to None explicitly
D. Increase the nfeatures parameter when creating the ORB detector
Solution
Step 1: Understand nfeatures impact
nfeatures controls how many keypoints ORB tries to find. Increasing it allows more keypoints to be detected, increasing chances of matches.
Step 2: Evaluate other options
Decreasing resolution reduces detail, hurting matches. Changing color space doesn't affect ORB which works on grayscale. Mask None is default and doesn't affect matches.
Final Answer:
Increase the nfeatures parameter when creating the ORB detector -> Option D
Quick Check:
More features = more matches [OK]
Hint: More features means more chances to match [OK]