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