傳統辨識方法

空間金字塔匹配

空間金字塔匹配(spatial pyramid matching,Lazebnik、Schmid 與 Ponce,2006)為視覺詞袋模型加入了「在哪裡」的概念,而詞袋本身只知道「是什麼」。視覺詞袋表示是用一個直方圖描述影像,統計每個視覺詞(一個量化後的局部特徵,如 SIFT 描述子)各出現幾次,完全捨棄它們的位置——一張臉和一張被打散的臉會產生相同的直方圖。這把版面布局丟掉了,然而布局極富資訊:天空在上、道路在下,海灘是下方沙、上方水。修正方法很直覺:不要只在整張影像上池化特徵,也在一格一格的子區域上池化,使描述子記錄每個視覺詞大致出現在哪裡。

具體而言,你在影像上建立一個越來越細的網格金字塔:第 0 層是整張影像(一格),第 1 層把它分成 2×2 格,第 2 層分成 4×4 格,依此類推。在每一層的每一格,你計算一個詞袋直方圖,然後把它們全部串接成一個長向量。兩張影像的比較,是逐格做直方圖交集匹配並在整個金字塔上加總,較細的層被賦予較大權重,因為在小格中的匹配比在整張影像上的匹配更具空間特定性。這個加權、多層的直方圖交集本身就是一個合法的核,因此可直接接到核 SVM 上。

空間金字塔匹配在場景與物件分類基準(Caltech-101、15 場景資料集)上是一大進步,並在多年間成為傳統辨識流程的標準元件。在概念上,它是介於無序詞袋與後來具空間結構表示之間的橋樑。它在深度學習中的回響清晰可辨:空間金字塔池化(SPP-net)讓 CNN 能接受任意輸入大小,做法是在其特徵圖上以固定的區域金字塔池化;分割網路中的金字塔池化模組(PSPNet)與空洞空間金字塔池化(DeepLab 的 ASPP)也延續了同樣的多尺度、多區域想法。其限制在於網格是剛性的、不與物件對齊,因此捕捉的是粗略的全域布局,而非物件本身的部件——這正是部件模型,以及後來學得的空間注意力所要解決的。

採用 3 層金字塔與 200 個詞的詞彙表時,描述子為 200 ×(1 + 4 + 16)= 4,200 維:整張影像一個 200 格直方圖、2×2 網格四個、4×4 網格十六個,分別加權 ¼、¼、½,並以直方圖交集比較。

又稱
SPMspatial pyramid pooling (classical)