轉自:http://www.mamicode.com/info-detail-903166.html
本文學習自CVPR論文《Discriminative Spatial Pyramid》、《Discriminative Spatial Saliency for Image Classification》及《Beyond Bags of Features: Spatial Pyramid Matching
for Recognizing Natural Scene Categories》,在此感謝論文作者。
空間金字塔方法表示圖像是傳統BOF(Bag Of Features)方法的改進,傳統BOF方法提取圖像特征時,首先提取每張圖像的SIFT特征描述,之后將所有圖像的興趣點的特征描述進行聚類形成BOW視覺詞袋,最后對每張圖像統計所有視覺關鍵詞出現的頻次。因此BOF是在整張圖像中計算特征點的分布特征,進而生成全局直方圖,所以會丟失圖像的空間分布信息,無法對圖像進行精確地識別。為了克服BOF的這一缺點,提出了空間金字塔方法,它是在不同分辨率上統計圖像特征點分布,從而獲取圖像的空間信息。 圖像被划分為金字塔各水平上的逐漸精細的網格序列,從每個網格中導出特征並組合為一個很大的特征向量。
1、圖像尺度空間
SIFT中的圖像尺度空間可以理解為用高斯對圖像做了卷積,圖像的分辨率還是那么大,像素還是那么多,只是細節被平均(平滑)掉了,原因就是高斯了,用周圍的信號比較弱的像素和中間那個信號比較強的點做平均,平均值當然比最強信號值小了,這就起到了平滑的作用。如下圖所示:
尺度可變高斯函數:
2、圖像金字塔
金字塔是圖像多尺度表示的主要形式,圖像金字塔是以多分辨率來解釋圖像的一種有效但概念簡單的結構。一幅圖像的金字塔是一系列以金字塔形狀排列的分辨率逐步降低的圖像集合。如下圖所示。
圖像金字塔化一般包括二個步驟:1、利用低通濾波器平滑圖像;2、對平滑圖像進行抽樣,從而得到一系列尺寸縮小的圖像。
3、空間金字塔表示圖像
《Discriminative Spatial Pyramid》
原始方法是首先提取原圖像的全局特征,然后在每個金字塔水平把圖像划分為細網格序列,從每個金字塔水平的每個網格中提取出特征,並把它們連接成一個大特征向量。但由於圖像中每個局部區域反映的信息量不同,由此提出加權空間金字塔方法,及給每層每網格分配一個權重,按權重把每層每網格特征加權串聯在一起。如下圖:
左邊圖像是原始方法,右邊是加權方法。
fkl表示第l層第k網格的特征向量,特征用d維向量表示,c(l)表示l層金字塔的網格數。原始方法中,一幅圖像的空間金字塔特征向量表示為fs,如下:
加權方法表示為fw,如下:
4、空間金字塔匹配SPM
《Beyond Bags of Features: Spatial Pyramid Matching for Recognizing Natural Scene Categories》
空間金字塔匹配Spatial Pyramid Matching(SPM),是一種利用空間金字塔進行圖像匹配、識別、分類的算法。
如下圖所示,將level(i)的圖像划分為pow(4,i)個cell(bins),然后再每一cell上統計直方圖特征,最后將所有level的直方圖特征連接起來組成一個vector,作為圖形的feature。
上面的黑圓點、方塊、十字星代表一副圖像上某個pitch屬於k-means后詞典中的某個詞;
1)將圖像划分為固定大小的塊,如從左到右:1*1,2*2,4*4, 然后統計每個方塊中詞中的不同word的個數;
2)從從左到右,統計不同level中各個塊內的直方圖;
3)最后個將每個level中獲得的直方圖都串聯起來,並且給每個level賦給相應的權重,從左到右權重依次增大;
4)將SPM放入SVM中進行訓練和預測;
論文中的實驗過程如下:
1)用 strong feature detector即SIFT進行特征檢測,patch size=16*16,patch每次移動的步長spacing grid=8*8。
2)按照BOF相同的方法(即KMeans)構建包含M個words的dictionary。
3)利用圖像金字塔把圖像划分為多個scales的bins(空間金字塔分層分網格),然后計算落入每個bins中屬於不同類別的word的個數,則圖像X、Y最終的匹配度為(M為關鍵詞個數):(個人對此匹配度核函數的理解是:這個核函數可當作SVM中的核函數,來匹配兩幅圖像是否為一類)