2015-02-05 74 views
0

我正在閱讀這篇特別的論文http://www.robots.ox.ac.uk/~vgg/publications/2011/Chatfield11/chatfield11.pdf,我發現Fisher矢量與GMM詞彙的方法非常有趣,我想自己測試一下。PCA在篩分和費舍爾矢量

但是,對於我來說,他們如何將PCA維度降低應用於數據是完全不清楚的。我的意思是,他們是否計算特徵空間,一旦計算出來,他們會對其執行PCA?或者他們只是在計算SIFT之後在每個圖像上執行PCA,然後創建特徵空間?

這是否應該爲兩個訓練測試集完成?對我來說,這是一個'明顯是'的答案,但不清楚。

我正在考慮從訓練集創建特徵空間,然後在其上運行PCA。然後,我可以使用訓練集中的PCA係數來減少將要編碼到Fisher Vector中的每個圖像的篩選描述符,以供以後分類,無論它是測試還是火車圖像。

編輯1;

簡單的例子:

[coef , reduced_feat_space]= pca(Feat_Space','NumComponents', 80); 

,然後(用於測試和訓練圖像)

reduced_test_img = test_img * coef;(然後選擇第80個尺寸reduced_test_img的)

你覺得呢?乾杯

回答

1

它在我看來就像他們先做SIFT,然後做PCA。 2.1節文章說「局部描述符固定在所有實驗是SIFT描述......」

也是在引言部分「以下三個步驟:局部圖像特徵(i)提取 (例如,SIFT描述符),(ii)圖像描述符中的局部特徵的編碼(例如,量化的局部特徵的直方圖),以及(iii)分類...最近幾位作者已經集中於改善第二部分「所以在我看來,維度降低發生在SIFT之後,並且論文只是談論幾種不同的方法來做這件事,並且每個人的表現都不同。我也猜測(如你所做的那樣),你將不得不在兩組圖像上運行它。否則,你會使用兩種不同的度量來對圖像進行分類,就像比較蘋果和橘子一樣。將縮小的尺寸表示與完整的表示進行比較(即使是相同的確切圖像)也會顯示一些變化。事實上,這是PCA的整個前提,您爲了計算效率放棄了一些較小的特性(通常)。與PCA或降維算法真正的問題是我多少信息可以放棄,仍然可靠的分類/段不同的數據集

而且作爲最後一點,你就必須把兩個圖像以同樣的方式,因爲您的最終目標是使用Fisher特徵向量進行分類,如測試訓練。現在想象你決定訓練圖像不要PCA和測試圖像。現在我給你一些圖片X,你會用它做什麼?在你分類之前,你怎麼能把一套圖像與另一套圖像區別開來?在兩組上使用相同的技術意味着你會處理我的圖像X,然後決定把它放在哪裏。

無論如何,我希望有所幫助,而不是咆哮般的。好運:-)