Fisher Vector的改進

     《Fisher vector學習筆記》中介紹了fisher vector相關知識,本文接着這片學習筆記,來記錄論文《Improving the Fisher Kernel for Large-Scale Image Classification》中第三部分提出的對fisher vector的3種改進。

1,L2 Normalization
     首先假設一幅圖像的特徵們X=xt,t=1...T 服從一個分佈p,對於Large-Scale image,根據大數定律,樣本數T增大時,樣本均值收斂於樣本期望Exp ,所以可將(1)式的fisher vector寫成(2)式:

GXλ=1Tt=1Tλloguλ(xt).(1)

GXλλExploguλ(x)=λxp(x)loguλ(x)dx.(2)

現在假設能把p分解成兩部分:
屬於圖像背景的部分(a back-ground image-independent part) ,這部分樣本服從分佈uλ ;
屬於圖像特徵的部分(an image-specific part),這部分樣本服從分佈q.
定義0<=w<=1 是image-specific信息在圖像中所佔的比率,則有:
p(x)=wq(x)+(1w)uλ(x).(3)

則(2)式可以寫成:
GXλwλxq(x)loguλ(x)dx+(1w)λxuλ(x)loguλ(x)dx.(4)

     參數λ 是在GMM建模時通過解最大似然問題得到的,也就是說,這個λ 使得:
λxuλ(x)loguλ(x)dx=λExuλloguλ(x)0.(5)

所以(4)式爲:
GXλwλxq(x)loguλ(x)dx=wλExqloguλ(x).(6)

從(6)式可以看出:
     獨立於圖像的信息(image-independent information)在fisher vector的表示中被丟棄掉了;
     fisher vector的表示仍然與image-specific信息所佔比率w有關。
     總結來說就是,兩個包含相同目標(object),但有不同背景的圖,會有不同的fisher vector表示。

     但是對於較小的object有較小的w值,這樣的object在fisher vector表示中容易被忽略。所以要消除對w值的依賴。

     要消除對w值的依賴,可以對fisher vector GXλ 做L2 normalization,也就等價於把原來的核函數K(X,Y) 替換爲

K(X,Y)K(X,X)K(Y,Y)

2,Power Normalization
     這種改進方法來自觀察得到的經驗:GMM中的Gaussian component數目增加時,Fisher vector會變得稀疏。這是因爲component增加時,樣本xt 由component i生成的概率γt(i) 會變小,當這個概率接近0時,Xμ,i,Xσ,i 也接近null。
這裏寫圖片描述
這裏寫圖片描述
     此時,特徵在一個維度上的值的分佈變得更尖銳,如下圖。圖(a)(b)(c)是沒有做power normalization時,GMM component數爲16、64、256的情況。圖(d)是有256 Gaussian,且做了power normalization(α =0.5)的情況。
這裏寫圖片描述
     α 是optimal value,隨Gaussian的數目變化而變化,這裏作者是通過實驗得到0.5這個值。
     這裏說的power normalization就是對每一維應用如下函數:

f(z)=sign(z)|z|α

     因爲注意到L2 normalized vector的內積就是L2 距離,而對於稀疏向量(就是power normalize之前的fisher vector)相似性(similarity)的度量,L2距離是一種poor measure,所以用來做分類效果不好。所以要unsparsify,也就是應用上式。

     如果要對fisher vector做L2 normalization和power normalization,可先做power後再做L2,後做L2照樣是會消除對w值的依賴。

3,Spatial Pyramids
     首先把原圖多次劃分,得到多個子區域,然後對每個子區域提取fisher vector,再對這些fisher vector做average pooling。論文中是有8個子區域,得到8個fisher vector,對於整幅圖提取一個fisher vector, 然後將圖劃分爲上中下3部分,這3個子區域各提取一個fisher vector,然後將原圖劃分爲4個象限,每個象限計算一個fisher vector。這8個fisher vector都可以通過L2 normalization來消除對w值的依賴。

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