局部特征描述子可以分为两类,(个人看法,欢迎批评):一是基于“绝对”值的,二是基于比较的。
基于绝对值的是指诸如Sift,Surf,GLOH之类的描述子。一般的思路是将灰度,梯度等量化,构造直方图。这类描述子的判别性高,直观,但是有个通病就是计算复杂度高。
基于比较的是指诸如Ferns,BRIEF,Orb,OSID,BRISK之类的描述子。一般的思路是通过比较预先训练的,或者随机点对的特征值大小,来构造描述子。这类描述子一般都是为了提高计算速度而设计的。这类描述子不关心原始特征的绝对大小,只关心原始特征的ranking。(值得一提的是为什么将Ferns也归在此类,Ferns并没有一个显式的特征描述,甚至没有一个距离度量,但是我相信Ferns之所以有用还是基于pairwise pixel comparisons 的判别能力。注1)
我之所以将描述子如此分类,是受到ICCV11的这篇文章的启发:
The Power of Comparative Reasoning
文中提出了一个非常简单的feature compression的方法WTA(不是WTF^_^):
大意就是将feature以随机的方式重新排列(permutation),之后取前K维中的最大值所在的位置为此次的hash值。
如此重复m次,就将原始的feature压缩为一个长度为m的hash code(Signature)。(听起来像不像是min-hashing,事实上作者也声称min-hashing是WTA的一个特例 — 当特征为01串,K=2时)。WTA甚至有一个多项式核的扩展。
根据如此的分类法,一个很自然的问题是,基于绝对值的,和基于比较的描述子孰优孰劣?
这基本上没个定论,个人感觉,从追求高判别性(高precision和recall),就要使用基于值的描述子,追求计算速度,就要使用基于比较的的描述子。
但是这么说肯定很多人不同意,比如:
Feng Tang在OSID 【cvpr09】中声称基于绝对值的描述子只对线性的光照变化就有不变性,但是基于比较的,拥有对更广泛的单调光照变化具有不变性,而不严格要求线性变化。
We shall show later that our local feature descriptor is invariant to any brightness change if the brightness change functions for all the local patches are monotonically increasing.
而且一个明显的趋势就是,这些年来,第二类的描述子(基于比较的)是越来越多了,而且大有性能超越第一类的趋势(起码从文章上看如此。)。
至于以后的发展,就让我们拭目以待吧。
注1:Several papers talk about using pairwise pixel comparisons or related quantities for pattern matching. [10] builds an approximation to cosine distance based on concomitant rank orders. The basic strength of these methods comes from using pixel pair representations as features. Although there have been several papers using these features, they are often not emphasized as the core part of the system or there hasn’t been any theoretical justification on why they should be used. — From The Power of Comparative Reasoning
此贴转载自:http://www.cvchina.info/tag/brief/