What is the main advantage of using ORB (Oriented FAST and Rotated BRIEF) features in computer vision tasks?
Think about what makes ORB suitable for real-time applications compared to older methods.
ORB combines the FAST keypoint detector and the BRIEF descriptor with added orientation and scale invariance, making it fast and robust for many tasks.
What will be the output of the following Python code snippet using OpenCV's ORB detector?
import cv2 import numpy as np img = np.zeros((100, 100), dtype=np.uint8) cv2.circle(img, (50, 50), 20, 255, -1) orb = cv2.ORB_create() keypoints = orb.detect(img, None) print(len(keypoints))
Consider that the white circle on black background creates edges and corners for ORB to detect.
The white circle creates multiple edges and corners, so ORB detects several keypoints around the circle boundary.
You want to match features between two images using ORB keypoints. Which descriptor type should you use for best performance and compatibility?
Consider which descriptor is designed to work with ORB keypoints and is binary for fast matching.
ORB uses its own binary descriptors derived from BRIEF but enhanced with orientation information, making them fast and compatible with ORB keypoints.
In OpenCV's ORB_create function, what is the effect of increasing the nfeatures parameter?
Think about how many keypoints ORB tries to keep after detection.
The nfeatures parameter sets the maximum number of keypoints ORB will retain after detection and filtering.
You matched ORB features between two images and want to evaluate the quality of matches. Which metric best measures the accuracy of these matches?
Think about how to measure how many matches are actually correct compared to all matches found.
The ratio of correct matches to total matches (precision) using known ground truth correspondences is the best metric to evaluate matching accuracy.