当前位置: 首页 > 软件库 > 开发工具 > >

ANMS-Codes

授权协议 MIT License
开发语言 C/C++
所属分类 开发工具
软件类型 开源软件
地区 不详
投 递 者 汤英豪
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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.

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 homogeneously 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. See codebase visualization to better understand code repository structure.

  2. Choose your language:

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

  4. Run produced executable ./ANMS_Codes for C++ or relevant script for other languages

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

Contributing

Follow instructions in docs/contributing.

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}
}
  • CVPR 2013 [1]         W. Zuo, L. Zhang, C. Song and D. Zhang, “Texture Enhanced Image Denoising via Gradient Histogram Preservation,” in CVPR 2013. (paper) (code) [2]         W. Xue, L. Zhang and X. M

  • library(stringr) Settle = "2020-12-31"; #当前时刻 option = "2103" datafreerisk<-read.csv("三个月国债利率.csv",header=TRUE) i=1 while(!as.character(as.Date(Settle)-i)%in%datafreerisk[,1]){    i=i+1;    panduan<-a

  • Hamming Codes Rob Kolstad Given N, B, and D: Find a set of N codewords (1 <= N <= 64), each of length B bits (1 <= B <= 8), such that each of the codewords is at least Hamming distance of D (1 <= D <=

  • 面试被问起了413和503,我觉得也是够BT的,能问出这种无聊的问题。很多返回码几乎很难遇到,不过还是把MDN上很好的描述转过来作为一个reference。 HTTP协议状态码表示的意思主要分为五类 ,大体是 : 1××   消息响应 2××   成功响应 3××   重定向 4××   客户端错误 5××   服务器错误     消息响应 100 Continue (继续) 客户端应当继续发送请

  • ibatis-config.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <properties

  • #include <QApplication> #include <QWidget> #include <QPushButton>  //按钮所需头文件 int main(int argc, char *argv[]) {     QApplication app(argc, argv); //初始化          QWidget w;     w.show();     //新增的代码  

  • In case someone is using morton codes in 3d, so he needs to read one bit every 3, and 64 bits here is the function I used: uint64_t morton3(uint64_t x) { x = x & 0x9249249249249249; x = (x | (

 相关资料
  • 问题内容: 下面是我的构建脚本(不使用xcodebuild插件)。 建立步骤工程 我使用所需的证书和私钥创建了一个单独的钥匙串,它们在“钥匙串访问”中可见 钥匙串命令不会在脚本中失败 安全列表钥匙串将其显示为有效钥匙串 就像解锁命令并没有真正成功一样。当我尝试通过命令行从命令行运行codesign时 我懂了 尽管我不确定我是否可以从命令行正确模拟,因为您充其量只能 任何帮助是极大的赞赏。 问题答案

  • 问题内容: 我们的自动化版本正在Jenkins上运行。构建本身在从属服务器上运行,并且从属服务器通过SSH执行。 我收到一个错误: 我已经尝试了到目前为止在其他帖子中看到的所有建议: 签名前立即使用安全性解锁钥匙串以解锁钥匙串。 将签名密钥移到其自己的钥匙串中。 将签名密钥移到登录密钥链中。 将签名密钥移到系统密钥链中。 手动将列表钥匙串设置为仅包含钥匙的钥匙串。 在所有情况下,我都会遇到相同的错

  • 问题内容: 我已经更新到OS X Yosemite以及Xcode 6.1(从开发者网站下载),从这个时候开始我就遇到了建筑物的问题,就像在日志文件中一样,我看到注释“警告:–resource-rules已弃用在Mac OS X> = 10.10!中”。有人知道如何使用不带“ resource-rules”标志的Xcode插件吗?谢谢。 问题答案: Jenkins插件一切正常。只是产品设置不正确。

  • 问题内容: 我使用Jenkins与XCode插件进行持续集成,Jenkins坚持了一个项目: / usr / bin / codesign –force –sign ...... 然后是旋转器,并且永远旋转,我以前从未见过,有人见过吗?是配置文件问题还是证书问题?在Jenkins上,正确配置了配置文件和证书,并在管理器中显示了绿色的勾号,因此我不知道是什么原因导致此问题。 问题答案: 检查您的Ma

  • 本文向大家介绍Android Studio中CodeStyle模板的配置方式,包括了Android Studio中CodeStyle模板的配置方式的使用技巧和注意事项,需要的朋友参考一下 在团队开发中,统一代码规范和风格是提高团队效率的必要工作。AS提供了 Code Style 配置方法,便于为开发团队定制一套自己的 Code Style Scheme 。 一、CodeStyle配置 Code S

  • 我一直在玩弄gwt maven插件的最新变化。最值得注意的是,新包装的gwt应用程序和gwt库。 根据我的理解,如果我有一些代码,我想在不同的GWT应用程序之间重用,gwt-lib包所有需要的源代码和*.gwt.xml文件在所有类旁边的jar中。它像一个魅力。 如果我选择多模块maven reactor构建,那么在编译时就可以检测到所有内容,并且我能够顺利地构建和部署。但是,如果我尝试开发,闪亮的