深度学习视频理解
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.2.1 VLAD

VLAD是一个经典的基于手工特征(Hand-engineered Feature)的特征汇合算法,配合SIFT(Scale-Invariant Feature Transform,尺度不变特征变换)(Lowe,2004)特征,在深度学习复兴之前,在图像检索(Image Retrieval)领域取得了十分突出的效果。

VLAD的计算过程分为3步:首先对各帧图像特征img进行聚类,然后根据聚类结果将每帧图像的特征img分配到不同的聚类中心去,最后用每个特征img到聚类中心的距离表示全局特征。下面进行具体说明。

(1)特征聚类。首先对每帧图像的特征img进行聚类(例如进行img-means 聚类),将得到img个聚类中心img,每个聚类中心维度img和帧特征维度一致。令img表示img所属的聚类中心,假设帧特征img所属的聚类中心是img,那么img

(2)特征分配。令分配系数为

img

(3.2)

其中,img是指示函数(Indicator Function),当其中的判断为真(True)时,函数值为1;判断为假(False)时,函数值为0。这里的特征分配是一种硬分配(Hard Assignment)策略,即当img属于第img个聚类中心时,img;否则,img

(3)差值求和。VLAD的输出是一组特征img,每个输出特征的维度img和帧特征维度一致,每个输出特征img对应一个聚类中心img。输出特征img定义为

img

(3.3)

式(3.3)首先找到属于聚类中心img(即img)的特征img,之后计算帧特征img和聚类中心img的差值img,最后将所有属于聚类中心img的差值求和,得到输出特征img。VLAD的这种计算方式去除了帧图像本身的特征img,只保留了帧特征与聚类中心的差异img。最终将img个输出特征拼接在一起,得到最终的特征向量

img

(3.4)

最后,总结一下 VLAD 的参数量和输出特征维度。由于特征聚类、特征分配、差值求和都不涉及可学习的参数,VLAD的参数量为0。VLAD的输出特征img是由一组特征img拼接而成的,其中img。因此,总的输出特征维度是img