Efficient adaptive non-maximal suppression algorithms for homogeneous spatial keypoint distribution
This is the implementation of the paper "Efficient adaptive non-maximal suppression algorithms for homogeneous spatial keypoint distribution" that is published in Pattern Recognition Letters (PRL). Alternatively, see TL;DR version.
While competing ANMS methods have similar performance in terms of spatial keypoints distribution, the proposed method SSC is substantially faster and scales better:
Here is how proposed ANMS method visually compares to traditional methods: TopM | Bucketing | SSC (proposed)
Related algorithms that are implemented in this repository are:
For more details about the algorithm, experiments as well as the importance of homogeneously distributed keypoints for SLAM please refer to the paper.
Clone this repository: git clone https://github.com/BAILOOL/ANMS-Codes.git
. See codebase visualization to better understand code repository structure.
Choose your language:
Make sure the path to test image is set correctly
Run produced executable ./ANMS_Codes
for C++ or relevant script for other languages
Codes have been tested with OpenCV 2.4.8
, OpenCV 3.3.1
, OpenCV 4.2.0
and Ubuntu 14.04
, 16.04
, 20.04
.
Follow instructions in docs/contributing.
If you use these codes in your research, please cite:
@article{bailo2018efficient,
title={Efficient adaptive non-maximal suppression algorithms for homogeneous spatial keypoint distribution},
author={Bailo, Oleksandr and Rameau, Francois and Joo, Kyungdon and Park, Jinsun and Bogdan, Oleksandr and Kweon, In So},
journal={Pattern Recognition Letters},
volume={106},
pages={53--60},
year={2018},
publisher={Elsevier}
}