Skip to content

Loads images into a ring buffer to optimize memory load and then integrate several keypoint detectors such as HARRIS, FAST, BRISK and SIFT and compares them with regard to number of keypoints and speed.

License

Notifications You must be signed in to change notification settings

davidscmx/feature-tracking-2D

 
 

Repository files navigation

Feature Tracking in 2D

The idea of the camera course is to build a collision detection system - that's the overall goal for the Final Project. As a preparation for this, you will now build the feature tracking part and test various detector / descriptor combinations to see which ones perform best. This project consists of four parts:

  • First, images are loaded, setting up data structures and putting everything into a ring buffer to optimize memory load.
  • Then, several keypoint detectors such as HARRIS, FAST, BRISK and SIFT are integrated and compared with regard to number of keypoints and speed.
  • In the next part, I focus on descriptor extraction and matching using brute force and also the FLANN approach.
  • In the last part I test the various algorithms in different combinations and compare them with regard to some performance measures.

Dependencies for Running Locally

cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.1.0/modules \
-D WITH_TBB=OFF \
-D WITH_IPP=OFF \
-D WITH_1394=OFF \
-D BUILD_WITH_DEBUG_INFO=OFF \
-D BUILD_DOCS=OFF \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D BUILD_EXAMPLES=ON \
-D BUILD_TESTS=OFF \
-D BUILD_PERF_TESTS=OFF \
-D WITH_QT=ON \
-D WITH_GTK=ON \
-D WITH_OPENGL=ON \
-D WITH_OPENCL=ON	\
-D WITH_CUDA=ON	\
-D WITH_V4L=ON  \
-D WITH_FFMPEG=ON \
-D WITH_XINE=ON \
-D BUILD_NEW_PYTHON_SUPPORT=ON \
-D OPENCV_GENERATE_PKGCONFIG=ON \
-D OPENCV_ENABLE_NONFREE=ON ../ 

Basic Build Instructions

  1. Clone this repo.
  2. Make a build directory in the top level directory: mkdir build && cd build
  3. Compile: cmake .. && make
  4. Run it: ./2D_feature_tracking.

About

Loads images into a ring buffer to optimize memory load and then integrate several keypoint detectors such as HARRIS, FAST, BRISK and SIFT and compares them with regard to number of keypoints and speed.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 98.0%
  • CMake 2.0%