您的位置:首页 > 其它

Hamming embedding and weak geometric consistency for large scale image search

2015-04-09 01:50 633 查看
Hervé Jégou, Matthijs Douze, and Cordelia Schmid,ECCV2008,被引用次数:779

阅读时间:2015-04-06~07

文章三大贡献:

将bag-of-features理解成voting,并形式化表示match过程;

提出Hamming Embedding,在聚类中k值较小时也能保持descriptor的discriminative power;

弱几何一致性和几何变换先验过滤掉一些不满足该条件的匹配点。

一、bag-of-features理解成voting

在match阶段,假设已计算出query image的descriptors,接下来:

sj=0s_j=0,表示初始化时与dataset中图片xjx_j的匹配值为0;

对query图片中每个descriptor,记为yiy_i,对图片xjx_j的每个descriptor,记为xi,jx_{i,j},有sj=gj⎛⎝∑i′=1..m′∑i=1..mjf(xi,j,yi′)⎞⎠{s_j} = {g_j}\left( {\sum\limits_{{i'} = 1..{m'}} {\sum\limits_{i = 1..{m_j}} {f\left( {{x_{i,j}},{y_{{i'}}}} \right)} } } \right)稍后再解释gj(){g_j} \left( \right),先当它没有。其中f(xi,j,yi′)f\left( {{x_{i,j}},{y_{{i'}}}} \right)为描述子匹配函数,如未加权的bag-of-features中,f(xi,j,yi′)=δq(xi,j),q(yi)f\left( {{x_{i,j}},{y_{i'}}} \right) = {\delta _{q({x_{i,j}}),q({y_i})}},q(x)q\left( x \right)为描述子的最近kernel。

上步公式的解释:query图片中的每个descriptor与图片xjx_j的每个descriptor进行比较,未加权的bag-of-features中,如果两个描述子的kernel相同则+1。现在考虑gj(){g_j} \left( \right),令为归一化操作。可以表示为sj=1m′mj⎛⎝∑i′=1..m′∑i=1..mjf(xi,j,yi′)⎞⎠=∑l=1..kml′m′ml,jmj{s_j} = {1 \over {m'{m_j}}}\left( {{\sum _{i' = 1..m'}}{\sum _{i = 1..{m_j}}}f\left( {{x_{i,j}},{y_{i'}}} \right)} \right) = \sum\limits_{l = 1..k} {{{{m_l}'} \over {m'}}{{{m_{l,j}}} \over {{m_j}}}} ,这等价为两个bag-of-features向量之间的内积。这个等式中,归一化因子m′m'没有影响到检索结果。不过实验发现gj(){g_j} \left( \right)令为除以m′mj−−−−−√\sqrt{m'm_j}可以得到更好的精度。

对于TF-IDF加权的bag-of-features,认为在所有文档中出现的次数低的相对而言是重要的,出现的很多的证明类似于文本检索中的“的”、“是”等相对而言重要性很低,匹配函数可以重新定义为ftf−idf(xi,j,yi)=(tf−idf(q(yi)))2δq(xi,j),q(yi){f_{tf - idf}}({x_{i,j}},{y_i}) = {\left( {tf - idf\left( {q\left( {{y_i}} \right)} \right)} \right)^2}{\delta _{q({x_{i,j}}),q({y_i})}}

二、Hamming Embedding

在k-means聚类时,k较小时Voronoi cell较大,描述子带噪声时划分到正确cell的概率高,然后这也减少了描述子的区分能力;当k较大时能保留描述子良好的区分性,但受噪声的干扰明显。所以文章提供了当k值较小时一种cell内部划分机制,称之为Hamming Embedding,能兼顾描述子区分能力和抗噪声能力。2维数据平面的划分示意图如下:



off-line步骤,构造正交矩阵并计算HE阈值:

随机构造一个正交投影矩阵Pdb×d{P_{{d_b} \times d}},用QR分解
M = randn(d); [Q, R] = qr(M); P = Q(1:d_b, :);


将原始数据投影,data˜=P×data\widetilde{data} = P \times data;

计算每个原特征向量最近kernel,记为q(xi)q\left( {{x_i}} \right),可以用FLANN;

计算HE阈值,循环codebook_size,如果该Voronoi cell中有描述点,则thr(:, i) = median(投影向量),最终的HE阈值矩阵是db×k{d_b} \times k,kk为codebook size。

on-line步骤

对每个descriptor计算xx的最近kernel;

P×xP \times x,计算投影后的zz;

计算zz与对应kernel的HE阈值的Hamming距离hh,及各维度上判断大小;

如果h<hth,才将这个关键点voting score;

sort(score, 降序),结果为检索序列。

在实验中并未采用原始的ftf−idf(xi,j,yi){f_{tf - idf}}({x_{i,j}},{y_i}),而是去掉了tf部分,即

fHE(x,y)={(idf(q(x)))2ifq(x)=q(y)andh(b(x),b(y))≤ht0otherwise{f_{HE}}(x,y) = \left\{ {\matrix{{{{\left( {idf\left( {q(x)} \right)} \right)}^2}\quad if\,q(x) = q(y)\,and\,h\left( {b(x),b(y)} \right) \le {h_t}} \cr {0\quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad otherwise} \cr } } \right.实验发现只考虑IDF项的这种改进,可以得到更高的检索精度。

三、弱几何一致性(Weak Geometrical Consistency)

RANSAC可以做这块,但太耗时。所以通过采用一种简单的模型估算匹配对之间的一致性,即利用其中的尺度和方向信息来进行几何一致性估计,来很好地解决RANSAC中时间复杂度大的问题。

描述子在提取时一般会有主方向和相应的尺度,如SIFT。所以当一张图像经历一些旋转或者尺度变化后,这些特征就会相应地发生一致性的变化。弱几何一致方法正好利用了这种一致的变化来re-ranking。见图为匹配点主方向角度差的分布图,红色标记的匹配点表示最终会被过滤掉。



对上一步的结果进行re-ranking,这里衡量两张图像之间的相似性可以更新为:

sj(δa,δs)=sj(δa,δs)+f(xi,j,yi){s_j}({\delta _a},{\delta _s}) = {s_j}({\delta _a},{\delta _s}) + f({x_{i,j}},{y_i})

涉及两个参数,为了简化,把2维转成1维处理,假设方向差和尺度差的分布是相互独立的,上式就变成:saj(δa)=saj(δa)+f(xi,j,yi)ssj(δs)=ssj(δs)+f(xi,j,yi)\eqalign{
& s_j^a({\delta _a}) = s_j^a({\delta _a}) + f({x_{i,j}},{y_i}) \cr
& s_j^s({\delta _s}) = s_j^s({\delta _s}) + f({x_{i,j}},{y_i}) \cr} 在理想情况下,直方图只有一个维有值或只有很少的维度有值。直观上,两张相似图像,形成的直方图会有一个很明显的极值。于是定义相似度得分,即取peak的匹配点voting:sj=min(maxsaj(δa),maxssj(δs)){s_j} = \min \left( {\max s_j^a({\delta _a}),\max s_j^s({\delta _s})} \right)

参考

paper’s slides,链接

LIANG ZHENG’s project_baseline,链接

基于局部特征和视觉上下文的图像检索系统,链接

文章期刊版,Improving bag-of-features for large scale image search,IJCV10,链接
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐