快速近似最近邻搜索库 FLANN - Fast Library for Approximate Nearest Neighbors
What is FLANN?
FLANN is a library for performing fast approximate nearest neighbor searches in high dimensional spaces. It contains a collection of algorithms we found to work best for nearest neighbor search and a system for automatically choosing the best algorithm and optimum parameters depending on the dataset.
FLANN is written in C++ and contains bindings for the following languages: C, MATLAB and Python.
News
- (14 December 2012) Version 1.8.0 is out bringing incremental addition/reamoval of points to/from indexes
- (20 December 2011) Version 1.7.0 is out bringing two new index types and several other improvements.
- You can find binary installers for FLANN on the Point Cloud Library project page. Thanks to the PCL developers!
- Mac OS X users can install flann though MacPorts (thanks to Mark Moll for maintaining the Portfile)
- New release introducing an easier way to use custom distances, kd-tree implementation optimized for low dimensionality search and experimental MPI support
- New release introducing new C++ templated API, thread-safe search, save/load of indexes and more.
- The FLANN license was changed from LGPL to BSD.
How fast is it?
In our experiments we have found FLANN to be about one order of magnitude faster on many datasets (in query time), than previously available approximate nearest neighbor search software.
Publications
More information and experimental results can be found in the following papers:
- Marius Muja and David G. Lowe: "Scalable Nearest Neighbor Algorithms for High Dimensional Data". Pattern Analysis and Machine Intelligence (PAMI), Vol. 36, 2014. [PDF] [BibTeX]
- Marius Muja and David G. Lowe: "Fast Matching of Binary Features". Conference on Computer and Robot Vision (CRV) 2012. [PDF] [BibTeX]
- Marius Muja and David G. Lowe, "Fast Approximate Nearest Neighbors with Automatic Algorithm Configuration", in International Conference on Computer Vision Theory and Applications (VISAPP'09), 2009 [PDF] [BibTeX]
Getting FLANN
The latest version of FLANN can be downloaded from here:
- Version 1.8.4 (15 January 2013)
Changes from 1.8.3:- Fixed memory leak and OpenMP compilation under MSVC
flann-1.8.4-src.zip (Source code)
User manual
Changelog
- Version 1.8.0 (14 December 2012)
Changes:- incremental addition and removal of points to/from indexes
- more flexible index serialization
- replaced TBB multi-threading support with OpenMP
- bug fixes
- NOTE: Due to changes in the library, the on-disk format of the saved indexes has changed and it is not possible to load indexes saved with an older version of the library.
If you don't want to compile FLANN from source you can try the binary installers prepared by the Point Cloud Library (PCL) project here (Ubuntu/Debian PPA, Windows Installers and Mac OS X Universal Binary).
If you want to try out the latest changes or contribute to FLANN, then it's recommended that you checkout the git source repository: git clone git://github.com/mariusmuja/flann.git
If you just want to browse the repository, you can do so by going here.
System requirements
The FLANN library was developed and tested under Linux. A C++ compiler is required to build FLANN. The Python bindings require the presence of the Numerical Python (numpy) package.
Conditions of use
FLANN is distributed under the terms of the BSD License.
Questions/Comments
If you have any questions or comments please email them to: mariusm@cs.ubc.ca.
Please report bugs or feature requests using github's issue tracker.
from: http://www.cs.ubc.ca/research/flann/
快速近似最近邻搜索库 FLANN - Fast Library for Approximate Nearest Neighbors的更多相关文章
- Approximate Nearest Neighbors.接近最近邻搜索
(一):次优最近邻:http://en.wikipedia.org/wiki/Nearest_neighbor_search 有少量修改:如有疑问,请看链接原文.....1.Survey:Neares ...
- facebook 相似性搜索库 faiss
faiss 个人理解: https://github.com/facebookresearch/faiss 上把代码clone下来,make编译 我们将CNN中经过若干个卷积/激励/池化层后得到的激活 ...
- 近似最近邻算法-annoy解析
转自https://www.cnblogs.com/futurehau/p/6524396.html Annoy是高维空间求近似最近邻的一个开源库. Annoy构建一棵二叉树,查询时间为O(logn) ...
- 如何快速构建React组件库
前言 俗话说:"麻雀虽小,五脏俱全",搭建一个组件库,知之非难,行之不易,涉及到的技术方方面面,犹如海面风平浪静,实则暗礁险滩,处处惊险- 目前团队内已经有较为成熟的 Vue 技术 ...
- [转帖]运行时库(runtime library)
运行时库(runtime library) https://blog.csdn.net/xitie8523/article/details/82712105 没学过这些东西 或者当时上课没听 又或者 ...
- 代码的坏味道(22)——不完美的库类(Incomplete Library Class)
坏味道--不完美的库类(Incomplete Library Class) 特征 当一个类库已经不能满足实际需要时,你就不得不改变这个库(如果这个库是只读的,那就没辙了). 问题原因 许多编程技术都建 ...
- Glibc辅助运行库 (C RunTime Library): crt0.o,crt1.o,crti.o crtn.o,crtbegin.o crtend.o
crt1.o, crti.o, crtbegin.o, crtend.o, crtn.o 等目标文件和daemon.o(由我们自己的C程序文件产生)链接成一个执行文件.前面这5个目标文件的作用分别是启 ...
- python_如何快速下载安装第三方库?
如何快速下载安装第三方库? --通过 淘宝源 https://mirrors.aliyun.com/pypi/simple/ 本国网络进行快速安装 如何执行安装命令? pip install Dja ...
- sklearn:最近邻搜索sklearn.neighbors
http://blog.csdn.net/pipisorry/article/details/53156836 ball tree k-d tree也有问题[最近邻查找算法kd-tree].矩形并不是 ...
随机推荐
- Kibana部署及配置(四)
一.Kibana安装 Kibana 是为 Elasticsearch 设计的开源分析和可视化平台.你可以使用 Kibana 来搜索,查看存储在 Elasticsearch 索引中的数据并与之交互.你可 ...
- nginx配置web服务器
一:设置虚拟服务器 1.设置 http { server { listen 127.0.0.1:8080; server_name example.org www.example.org; } } 2 ...
- ECSHOP的JS文件代入问题
参考一下默认的js写法就行了<script type='text/javascript' src='themes/ecmoban/js/jquery-1.7.2.min.js'></ ...
- FILE operattion
#include "mainwindow.h"#include "ui_mainwindow.h"#include <QMessageBox>#in ...
- Mac 上关于TFTP Server 软件的使用
软件下载地址 http://ww2.unime.it/flr/tftpserver/ 软件下载后进行安装,打开软件, 如果出现如下图所示情况 然后当你点击蓝色的Fix 按钮时,如果又出现如下提示 这时 ...
- 【Floyd矩阵乘法】BZOJ1706- [usaco2007 Nov]relays 奶牛接力跑
[题目大意] 给出一张无向图,求出恰巧经过n条边的最短路. [思路] 首先题目中只有100条边,却给出了10000个点(实际上最多只能有200个),离散化一下. 后面就是Floyd的新姿势,以前看过的 ...
- disable_functions php-fpm root
php.ini disable_functions 禁用某些函数 需要时注意打开 php-fpm 对应conf user group为root时 ERROR: [pool www] please sp ...
- 压缩的问题-----WriteUp
原题:http://ctf5.shiyanbar.com/crypto/winrar/ 526172211A0700CF907300000D0000000000000056947424965E 006 ...
- Eclipse 工具下Maven 项目的快速搭建
Eclipse 工具下Maven 项目的搭建 参考博文:https://www.cnblogs.com/iflytek/p/7096481.html 什么是Maven项目 简单来说,传统的Web项目: ...
- java 中常用的类
java 中常用的类 Math Math 类,包含用于执行基本数学运算的方法 常用API 取整 l static double abs(double a) 获取double 的绝对值 l sta ...