This project shows several methods for keypoint matching, including Single-Level ORB, Multi-Level ORB, Optical Flow based methods, and the keypoint matching result in direct method SLAM.
OpenCV
OpenCV Contrib
mkdir build
cd build
cmake ..
make
./build/ORB_KP_Stereo_opencv
./build/ORB_KP_opencv
./build/ORB_KP_function
./build/LK_KP
./build/directSLAM
./build/ORB_KP_Multilevel
Extract ORB cost = 0.0118106 seconds.
Match ORB cost = 0.0142241 seconds.
Matches: 112
Extract ORB cost = 0.00274763 seconds.
Match ORB cost = 0.00102879 seconds.
Matches: 65
ORB algorithm uses a multiscale image pyramid. An image pyramid is a multiscale representation of a single image, that consist of sequences of images all of which are versions of the image at different resolutions. Each level in the pyramid contains the downsampled version of the image than the previous level. Once orb has created a pyramid it uses the fast algorithm to detect keypoints in the image. By detecting keypoints at each level orb is effectively locating key points at a different scale. In this way, ORB is partial scale invariant.