BOF、FV、VLAD算法浅析

BOF、FV、VLAD等算法都是基于特征描述算子的特征编码算法,关于特征描述算子是以SIFT为基础的一类算法,该类算法能得到图片的一系列局部特征,该类特征对旋转、缩放、亮度变化保持不变性,对视角变化、仿射变换、噪声也保持一定程度的稳定性,但是该类特征产生的特征矩阵一般都较为庞大,因此需要利用特征编码算法对其进行编码,以便后续构建索引,实现图像检索。

BOF、FV、VLAD都需要对SIFT得到的特征进行聚类,得到一个码本,利用码本,将原始的N维特征向量映射到K维的空间中,不同之处在于映射方法不同。

BOF(Bag Of Features):建立码本时采用K-means,在映射时,利用视觉词袋量化图像特征,统计的词频直方图,该词频直方图即为编码后的特征向量,损失的信息较多。

 

FV(Fisher Vector):FV是对特征点用GMM建模,GMM实际上也是一种聚类,只不过它是考虑了特征点到每个聚类中心的距离,也就是用所有聚类中心的线性组合去表示该特征点,在GMM建模的过程中也有损失信息。

 

VLAD(vector of locally aggregated descriptors):VLAD像BOF那样,只考虑离特征点最近的聚类中心,VLAD保存了每个特征点到离它最近的聚类中心的距离; 像Fisher vector那样,VLAD考虑了特征点的每一维的值,对图像局部信息有更细致的刻画; 而且VLAD特征没有损失信息。

你可能感兴趣的:(机器学习)