VLAD原理
VLAD特征编码方式可以说是FV特征编码方式的一个简化。
1.原始的VLAD
设有一个特征数据集为,每个特征向量
xi
都是
d
维的向量。比如提取许多幅图像的SIFT特征,将这些SIFT特征组成上述集合,这里讲的词袋模型并不关心各幅图像中SIFT特征的个数及顺序。
1.聚类(clustering)。首先采用K-means等聚类算法将n个d维的特征,和每个特征向量
xi
所在的类别编号assignment。
2.集成(aggregation)。求出残差向量,即所有特征向量
xi
与其类中心向量
μi
的差,将同类别的残差向量求和,得到k个d维的子向量。将k个子向量拉成一个
D=k∗d
的一维向量。
3.归一化。第一步为幂律归一化(power-law normalization),对向量
v
的每个分量执行,其中参数
。
幂律归一化的目的是主要为了减少某些特征出现次数特别多(visual bursts)带来的影响,这是因为出现次数特别多时聚类中心就在它附近,相应的残差就很小;L2范数归一化的目的主要是为了使得特征向量范数为1,使得对特征的比较是在同一个尺度上,比如可以用来减少同一个物体在不同光照下由于光照等因素带来的特征差异。
在进行特征匹配时,VLAD特征之间的相似性是通过内积来定义,这种相似性受聚类的影响较大。
2.改进的VLAD
FV特征编码方式假设特征符合K个高斯混合模型,而作为其简化版本的VLAD也设定了这个假设。其表达式为:
MultiVLAD
VLAD特征相对BoW来说,对图像中占比的物体效果差些。而MultiVLAD是通过提取图像上不同尺度上的14个VLAD特征:9个最细尺度的VLAD特征,4个中等尺度的VLAD特征和一个全局的VLAD特征;尺度是通过网格大小来确定。在检索时,对查询图像q只提取一个全局的VLAD特征,将它与数据库中每个图像y的14个VLAD进行一一比较,计算出最大的相似度做为q和y之间的相似度,因此还可以得到目标物体在图像上的位置和尺度大小。
参考文献:
[1]Delhumeau J, Gosselin P H. Revisiting the VLAD image representation[C]// ACM International Conference on Multimedia. ACM, 2013:653-656.
[2]Arandjelovic R, Zisserman A. All About VLAD[C]// Computer Vision and Pattern Recognition. IEEE, 2013:1578-1585.