Skip to content

BAILOOL/ANMS-Codes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Efficient adaptive non-maximal suppression algorithms for homogeneous spatial keypoint distribution

This is the implemetation of the paper "Efficient adaptive non-maximal suppression algorithms for homogeneous spatial keypoint distribution" that is published in Pattern Recognition Letters (PRL).

Algorithm Overview

While competing ANMS methods have similar performance in terms of spatial keypoints distribution, the proposed method SSC is substantially faster and scales better:

| Retrieve 10% | Retrieve 40% | Retrieve 70% | |:---:|:---:|:---:|

Here is how proposed ANMS method visually compares to traditional methods: TopM | Bucketing | SSC (proposed)

| TopM | Bucketing | SSC | |:---:|:---:|:---:|

Related algorithms that are implemented in this repository are:

  • "Visual Odometry based on Stereo Image Sequences with RANSAC-based Outlier Rejection Scheme" - bucketing
  • "Multi-Image Matching using Multi-Scale Oriented Patches" - original ANMS
  • "Efficiently selecting spatially distributed keypoints for visual tracking" - more efficient ANMS

For more details about the algorithm, experiments as well as the importance of homogenously distributed keypoints for SLAM please refer to the paper.

How to run

  1. Clone this repository: git clone https://github.com/BAILOOL/ANMS-Codes.git

  2. Visit CmakeProject, QtProject, Python, or Matlab folders for your favorite compiling method.

  3. Make sure the path to test image is set correctly.

  4. Run the code: ./ANMS_Codes

Codes are tested with OpenCV 2.4.8, OpenCV 3.3.1 and Ubuntu 14.04, 16.04.

Citation

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}
}