受Herve Jegou的Hamming Embedding and Weak Geometric consistency for large-scale image search以及Product quantization for nearest neighbor search的启发,将Kmeans clustering、inverted files、Asymmetric Distance Computation应用到二进制形式的局部特征的最近邻检索。
主要思路:
用Kmeans做特征的粗索引。
根据统计数据对feature进行压缩。
检索时使用非对称的方式计算索引特征与查询特征之间的距离。
算法:
训练:
- 使用Kmeans对欲索引的特征进行聚类,得到K个中心。对二进制形式的feature做聚类时,类别中心更新方式为:对于每一个bit,统计所有落在该类别的特征的对应bit上的1,0频率,并取高者。
- 对于每个cluster,统计所有落在该类别的特征的每个bit位的1,0频率,取1或者0频率靠近50%的前M个bits。(越靠近50%,熵越大)
经过训练,我们得到两组数据:
- K个特征类别中心。
- 对于每个类别中心,都有一组“M个bit位置标示符”。这些标示符构成一个对原始feature进行压缩的依据。(本文以后将其称为投影向量)
阅读全文…
一个非常棒的各种descriptor的评测。全文转载如下:(美中不足的没有特征匹配的评测)
(一句话总结,综合考虑速度和性能,ORB是最好的。)
Introduction
For this test i have written special test framework, which allows me to easily add the new kind of descriptors and test cases and generate report data in CSV-like format. Than i upload it in Google docs and create this awesome charts. Five quality and one performance test was done for each kind of descriptor.
Test cases
- Rotation test - this test shows how the feature descriptor depends on feature orientation.
- Scaling test - this test shows how the feature descriptor depends on feature size.
- Blur test - this test shows how the feature descriptor is robust against blur.
- Lighting test - this test shows how the feature descriptor is robust against lighting.
- Pattern detection test – this test performs detection of planar object (image) on the real video. In contrast to the synthetic tests, this test gives a real picture of the overall stability of the particular descriptor.
- Performance test is a measurement of description extraction time.
阅读全文…
之前介绍了ORB,一种具备旋转不变形的局部特征描述子。OpenCV2.3中提供了实现,但是缺少使用例程。下面是一个简单的样例程序。
随便拍了两张图片作为测试图像。
下面上下两图分别为模板图像和查询图像:

阅读全文…
局部特征描述子可以分为两类,(个人看法,欢迎批评):一是基于“绝对”值的,二是基于比较的。
基于绝对值的是指诸如Sift,Surf,GLOH之类的描述子。一般的思路是将灰度,梯度等量化,构造直方图。这类描述子的判别性高,直观,但是有个通病就是计算复杂度高。
基于比较的是指诸如Ferns,BRIEF,Orb,OSID,BRISK之类的描述子。一般的思路是通过比较预先训练的,或者随机点对的特征值大小,来构造描述子。这类描述子一般都是为了提高计算速度而设计的。这类描述子不关心原始特征的绝对大小,只关心原始特征的ranking。(值得一提的是为什么将Ferns也归在此类,Ferns并没有一个显式的特征描述,甚至没有一个距离度量,但是我相信Ferns之所以有用还是基于pairwise pixel comparisons 的判别能力。注1)
我之所以将描述子如此分类,是受到ICCV11的这篇文章的启发:
文中提出了一个非常简单的feature compression的方法WTA(不是WTF^_^):

阅读全文…
分类: 新闻 标签: BRIEF, brisk, decriptor, Ferns, gloh, orb, osid, sift, surf, wta, 描述子

ORB是是ORiented Brief的简称。ORB的描述在下面文章中:
Ethan Rublee and Vincent Rabaud and Kurt Konolige and Gary Bradski, ORB: an efficient alternative to SIFT or SURF, ICCV 2011
没有加上链接是因为作者确实还没有放出论文,不过OpenCV2.3RC中已经有了实现,WillowGarage有一个talk也提到了这个算法,因此我不揣浅陋,在这里总结一下。
Brief是Binary Robust Independent Elementary Features的缩写。这个特征描述子是由EPFL的Calonder在ECCV2010上提出的。主要思路就是在特征点附近随机选取若干点对,将这些点对的灰度值的大小,组合成一个二进制串,并将这个二进制串作为该特征点的特征描述子。详细算法描述参考如下论文:
Calonder M., Lepetit V., Strecha C., Fua P.: BRIEF: Binary Robust Independent Elementary Features. ECCV 2010
注意在BRIEF eccv2010的文章中,BRIEF描述子中的每一位是由随机选取的两个像素点做二进制比较得来的。文章同样提到,在此之前,需要选取合适的gaussian kernel对图像做平滑处理。(为什么要强调这一点,因为下述的ORB对此作了改进。)
BRIEF的优点在于速度,缺点也相当明显:
1:不具备旋转不变性。
2:对噪声敏感
3:不具备尺度不变性。
ORB就是试图解决上述缺点中的1和2.
阅读全文…
最新评论