注:本學習筆記是自己的理解,如有錯誤的地方。請大家指正,共同學習進步。
本文學習自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中的核函數,來匹配兩幅圖像是否為一類)
