鵬城實驗室人工智能中心的葉齊祥教授提出了一種自由錨框匹配的單階段(One-stage)物體檢測方法FreeAnchor。通過目標與特征的自由匹配,突破了“Object as Box”, 與“Objectas Point”的建模思路,探索了Object as Distribution的新思路。在MS-COCO數據集上顯著超越了雙階段(Two-stage)檢測方法FPN,成果被 NeurIPS 2019接收,并在鵬城匯智代碼托管平臺上開源。
https://arxiv.org/pdf/1909.02466
https://code.ihub.org.cn/projects/578
過去幾年中,卷積神經網絡(CNN)在視覺物體檢測中取得了巨大成功。為了使用有限卷積特征表示具有各種外觀,縱橫比和空間布局的物體,大多數基于CNN的檢測器利用具有多尺度和多長寬比的錨框作為物體定位的參考點。通過將每個物體分配給單個或多個錨框,可以確定特征并進行物體分類和定位。有錨框的物體檢測器利用空間關系,即物體和錨框的交并比(IoU),作為錨框劃分的唯一標準。基于與物體邊界框(Box)空間對齊的錨框(Anchor)最適合于對物體進行分類和定位的直覺,網絡在每個錨框處的損失獨立地監督下進行學習。然而,在下文中,我們認為這種直覺是不準確的,手工設計IoU匹配物體與特征的方法不是最佳選擇。
一方面,對于”偏心”的物體,其最有判別力的特征并不靠近物體中心。空間對齊的錨框可能對應于較少的代表性特征,這會限制目標分類和定位能力。另一方面,當多個物體聚集在一起時,使用IoU標準匹配具有適當錨框/特征的物體是不可行的。亟待解決的問題是如何將錨框/特征與物體完美匹配。
本研究提出了一種學習匹配錨框的物體檢測方法,目標是丟棄手工設計的錨框劃分,同時優化以下三個視覺物體檢測學習目標。首先,為了實現高召回率,檢測器需要保證對于每個物體,至少一個錨框的預測足夠準確。其次,為了實現高檢測精度,檢測器需要將具有較差定位(邊界框回歸誤差大)的錨框分類為背景。第三,錨框的預測應該與非極大抑制(NMS)程序兼容,即分類得分越高,定位越準確。否則,在使用NMS過程時,可能抑制具有精確定位但是低分類分數的錨框預測。
為了實現以上目標,我們將物體-錨框匹配表示為最大似然估計(MLE)過程,從每個物體的錨框集合中選擇最具代表性的錨框。定義每個錨框集合的似然概率為包中各錨框預測置信度的最大值,保證了存在至少一個錨框,對物體分類和定位都具有很高的置信度。同時,具有較大定位誤差的錨框被歸類為背景。在訓練期間,似然概率被轉換為損失函數,然后該函數同時驅動物體-錨框匹配和檢測器的學習。
圖 1 手工設計錨框劃分(上圖)和自由錨框匹配的對比(下圖)
1. 學習錨框匹配:所提出的學習匹配方法可以選擇適當的錨框來表示感興趣的物體,如圖3所示:
圖 3 為“筆記本電腦”學習匹配錨框(左)與手工設計錨框分配的比較(右),紅點表示錨中心。較紅的點表示較高的置信度。為清楚起見,我們從所有50個錨框中選擇了16個長寬比為1:1的錨框。
手工設計的錨框分配在兩種情況下失敗:物體特征偏心和擁擠場景。FreeAnchor有效地緩解了這兩個問題。對于容易出現特征偏心的細長物體類別,如牙刷,滑雪板,沙發和領帶,FreeAnchor顯著優于RetinaNet基線,如圖4所示。對于其他物體類別,包括時鐘,交通信號燈和運動球FreeAnchor的性能相當與RetinaNet。其原因在于,學習匹配過程驅動網絡激活每個物體的錨框集合內的至少一個錨框,以便預測正確的類別和位置。激活的錨框沒有必要與物體空間對齊,只需要有對物體分類和定位的最具代表性的特征。
圖 4 方形和細長類別物體的性能對比
我們進一步比較了RetinaNet和FreeAnchor在擁擠場景中的表現,如圖5所示。隨著單個圖像中物體數量的增加,FreeAnchor對RetinaNet的提升變得越來越明顯。這表明FreeAnchor具有學習匹配錨框的能力,可以在擁擠的場景中為物體選擇更合適的錨框。
圖 5 擁擠場景的性能對比
2. 保證與NMS的兼容性:為了評估錨框預測與NMS的兼容性,我們將NMS召回率(
)定義為給定IoU閾值τ時,在NMS之前和之前的召回率之比。遵循COCO中AP的定義方式,NR被定義為τ從0.50以0.05為間隔變化到0.90中NRτ的平均值。在表1.中我們用NRτ比較了RetinaNet和FreeAnchor。可以看出,FreeAnchor的NR值顯著高于RetinaNet,意味著與NMS的兼容性更高,驗證了自由錨框匹配損失可以實現分類和定位的聯合優化。
表2將FreeAnchor與RetinaNet基線進行比較。FreeAnchor通過可忽略不計的訓練和測試時間成本將AP提升至3.5%左右,這對具有挑戰性的通用物體檢測任務來說是一個顯著提升。
表 2 FreeAnchor和RetinaNet(基線)的檢測性能比較
在表 3中FreeAnchor和其他方法進行了對比。它顯著超出了Two-stage的FPN方法,也優于最新的基于點檢測方法。在使用更少的訓練迭代(135K vs 500k)和更少的網絡參數(96.9M vs 210.1M)前提下,FreeAnchor超過了CornerNet。
表 3 FreeAnchor與其他方法的檢測性能比較
FreeAnchor的本質是通過目標與特征的自由匹配,實現為每個物體選擇適合的錨框,其本質為每個物體選擇合適的CNN特征。FreeAnchor突破了“Objectas Box”, 與“Object as Point”的建模思路,通過極大似然估計對物體范圍內的特征分配不同的置信度建立起一個無參數的分布,探索了“Object asDistribution”的新思路。
來源 | 鵬城實驗室
撰稿 | 人工智能研究中心 陳杰 旺靜然