VLAD特徵(vector of locally aggregated descriptors)

《Aggregating local descriptors into a compact image representation》論文筆記
這篇論文中提出了一種新的圖片表示方法,也就是VLAD特徵,並把它用於大規模圖片檢索中,得到了很好的實驗結果。
目前,BOF在圖片檢索和分類中應用廣泛,首先是因爲BOF是基於比較powerful的local特徵(如SIFT)得來的,所以表達能力很強;其次是因爲計算BOF過程中用到的kmeans也是根據樣本在樣本空間的距離來聚類的,所以,BOF也可以輸入SVM這類基於樣本間隔的分類器得到較好的效果。但是在數據量很大的情況下,由於vocabulary大小的限制,BOF的特徵表達會越來越粗略,特徵信息損失較多,使得搜索精度降低。
這篇論文在大數據量的圖片搜索問題上,做了3方面的優化:
1,優化特徵表示方法,使用VLAD特徵;
2,對降維方法(PCA)做改進
3,對索引方法(ADC)做改進
論文的主要貢獻有2個:
1,基於BOF和Fisher vector這這兩種聚合local特徵的方法提出了VLAD特徵;
(
BOF詳細內容見:http://blog.csdn.net/happyer88/article/details/45769413
Fisher vector詳細內容見:http://blog.csdn.net/happyer88/article/details/46576379
)
2,對降維方法和索引方法做優化,而這兩個優化是trade-off的,也就是此消彼長的關係,所以,論文中通過大量實驗得到一個平衡值。

VLAD: vector of locally aggregated descriptors

要在大數據量的圖片中搜索圖像,對圖片集中的每幅圖片,首先是要提取VLAD特徵,把每幅圖片表示成一個VLAD向量v:

vi,j=xsuchthatNN(x)=cixjci,j.

其中,x是該幅圖像的特徵點(如SIFT),ci 是該幅圖像的loc點(如SIFT)做kmeans得到的聚類中心,有k個,NN(x)是離x最近的聚類中心。
可以看出,實際上vi,j 是以ci 爲聚類中心的聚類中的特徵點x的每一維的值,和聚類中心ci的每一維的值,的差,的和。
x維度爲d,則i=1…k,j=1…d,那麼v就是D維,D=k*d.
如下圖中,是對每幅圖像的SIFT特徵點聚合得到VLAD特徵,所以VLAD的維度是16*128,可以表示成16個4*4 grid形式:
這裏寫圖片描述
每一個小方框對應一個聚類中心,方框中是4*4*8個值,是這個聚類中的x和聚類中心的每一維的差,8個方向上線段的長度對應差值的大小。可以看出,這些VLAD是sparse的(因爲大部分差值是一個圓點,接近0),並且very structured,這裏的structured意思是,大值常常在同一個cluster中,也就是同一個方框中,比如第一列的前幾個方框裏,線段都比較長,論文中使用PCA對VLAD特徵降維正是基於這一特性。

VLAD可以理解爲是BOF和fisher vector的折中
BOF是把特徵點做kmeans聚類,然後用離特徵點最近的一個聚類中心去代替該特徵點,損失較多信息;
Fisher vector是對特徵點用GMM建模,GMM實際上也是一種聚類,只不過它是考慮了特徵點到每個聚類中心的距離,也就是用所有聚類中心的線性組合去表示該特徵點,在GMM建模的過程中也有損失信息;
VLAD像BOF那樣,只考慮離特徵點最近的聚類中心,VLAD保存了每個特徵點到離它最近的聚類中心的距離;
像Fisher vector那樣,VLAD考慮了特徵點的每一維的值,對圖像局部信息有更細緻的刻畫;
而且VLAD特徵沒有損失信息。

在論文的experiment部分,可以看到在論文設計的image search實驗中,VLAD特徵的實驗效果要比Fisher vector和BOF好。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章