傳統辨識方法

可變形部件模型

可變形部件模型(deformable part model, DPM,Felzenszwalb、Girshick、McAllester 與 Ramanan)是深度學習前時代最強的物件偵測器,連續數年贏得 PASCAL VOC。它的洞見是:物件不是剛性模板——人的手腳會動、斜看的汽車車輪會位移、貓會收起爪子。因此它不用單一僵硬的模板,而是把物件建模成一個粗略的整體,加上少數幾個可移動的部件,這些部件可在其預期位置附近滑動,移得越遠付出越多懲罰——彷彿每個部件都用一條彈簧連到主體上。這是經典「圖像結構(pictorial structures,部件以彈簧相連)」想法的現代、學習式後裔。

精確地說,DPM 有一個根濾波器(root filter),即在粗解析度下捕捉物件整體形狀的 HOG 模板,加上數個部件濾波器(part filters),即在兩倍解析度下捕捉頭部或車輪等細節的較小 HOG 模板。每個部件相對於根有一個偏好位置與一個形變成本(deformation cost)——對它離開該錨點多遠施加的二次懲罰(就是那條彈簧)。一個擺放方式的分數,是所有濾波器回應(每個濾波器在該處與影像匹配得多好)之和,減去所有形變成本之和。偵測就是在所有位置與尺度上,找出使此分數最大化的擺放方式;由於部件以星形連到根上,這個最佳化可用廣義距離轉換(generalized distance transform)高效求解。為了處理從不同視角看起來不同的物件(正面對側面的汽車),DPM 使用數個混合成分(mixture components),每個都是自己的「根加部件」模型。

優雅之處在於訓練:你只拿到邊界框,而非部件的位置,因此部件位置是隱(latent,隱藏)變數。模型以隱 SVM(latent SVM)訓練,在「為每個正例推論最佳部件擺放」與「以最大間隔目標更新濾波器」之間交替進行,並輔以困難負例挖掘(hard-negative mining),把心力放在最容易混淆的背景視窗上。DPM 標誌著人工設計偵測的最高水位——HOG 特徵、明確的部件、明確的幾何——而它的概念並未消失:R-CNN 最初的賣點正是勝過 DPM,而「部件與彈簧」的直覺也存活在注意力以及偵測器推理物件結構的方式之中。但由於每個環節(特徵、部件、幾何)都是人工設計而非端到端學得,一旦 CNN 同時學習特徵與偵測,DPM 便被決定性地超越。

值得記住:DPM 的形變成本正是彈簧能量——對偏離錨點位移的二次懲罰 (x−x0)²——因此推論是在「局部外觀匹配得好」與「讓部件維持合理的幾何配置」之間取捨。這種外觀對幾何的平衡,是貫穿結構化辨識的一個反覆主題。

又稱
DPMpictorial structures detector