This project focusses on building the feature tracking part and test various detector/descriptor combinations to see which ones perform best. It consists of four parts:
- First, we will focus on loading images, setting up data structures, and putting everything into a ring buffer to optimize memory load.
- Then, we will integrate several keypoint detectors - SHI-TOMASI, HARRIS, FAST, BRISK, ORB, AKAZE, and SIFT and compare them concerning the number of keypoints and speed.
- In the next part, we will then focus on descriptor extraction and matching using brute force and also the FLANN approach.
- In the last part, once the code framework is complete, we will test the various algorithms in different combinations and compare them about some performance measures.
- cmake >= 2.8
- All OSes: click here for installation instructions
- make >= 4.1 (Linux, Mac), 3.81 (Windows)
- Linux: make is installed by default on most Linux distros
- Mac: install Xcode command line tools to get make
- Windows: Click here for installation instructions
- OpenCV >= 4.1
- This must be compiled from source using the
-D OPENCV_ENABLE_NONFREE=ON
cmake flag for testing the SIFT and SURF detectors. - The OpenCV 4.1.0 source code can be found here
- This must be compiled from source using the
- gcc/g++ >= 5.4
- Linux: gcc / g++ is installed by default on most Linux distros
- Mac: same deal as make - install Xcode command line tools
- Windows: recommend using MinGW
- Clone this repo.
- Make a build directory in the top level directory:
mkdir build && cd build
- Compile:
cmake .. && make
- Run it:
./2D_feature_tracking
.