《Fisher vector學習筆記》中介紹了fisher vector相關知識,本文接着這片學習筆記,來記錄論文《Improving the Fisher Kernel for Large-Scale Image Classification》中第三部分提出的對fisher vector的3種改進。
1,L2 Normalization
首先假設一幅圖像的特徵們
現在假設能把p分解成兩部分:
屬於圖像背景的部分(a back-ground image-independent part) ,這部分樣本服從分佈
屬於圖像特徵的部分(an image-specific part),這部分樣本服從分佈q.
定義
則(2)式可以寫成:
參數
所以(4)式爲:
從(6)式可以看出:
獨立於圖像的信息(image-independent information)在fisher vector的表示中被丟棄掉了;
fisher vector的表示仍然與image-specific信息所佔比率w有關。
總結來說就是,兩個包含相同目標(object),但有不同背景的圖,會有不同的fisher vector表示。
但是對於較小的object有較小的w值,這樣的object在fisher vector表示中容易被忽略。所以要消除對w值的依賴。
要消除對w值的依賴,可以對fisher vector
2,Power Normalization
這種改進方法來自觀察得到的經驗:GMM中的Gaussian component數目增加時,Fisher vector會變得稀疏。這是因爲component增加時,樣本
此時,特徵在一個維度上的值的分佈變得更尖銳,如下圖。圖(a)(b)(c)是沒有做power normalization時,GMM component數爲16、64、256的情況。圖(d)是有256 Gaussian,且做了power normalization(
這裏說的power normalization就是對每一維應用如下函數:
因爲注意到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值的依賴。