中科大開源發佈新一代目標檢測方法FreeAnchor算法

中國科學院大學與廈門大學和深圳鵬程實驗室共同提出了一種自由錨匹配的一階段物體檢測方法FreeAnchor。

通過目標和特徵的自由匹配,該方法突破了“Object as Box”和“Objectas Point”建模思想,並探索了Object as Distribution的新思想。

FreeAnchor顯着超越了MS-COCO數據集上的兩階段檢測方法FPN,結果由NeurIPS 2019收到。

背景

在過去幾年中,卷積神經網絡(CNN)在視覺對象檢測方面取得了巨大成功。爲了使用有限卷積特徵來表示具有各種外觀,寬高比和空間佈局的對象,大多數基於CNN的檢測器利用具有多個尺度和多個寬高比的錨幀作爲對象定位的參考點。通過將每個對象分配給單個或多個錨幀,可以確定特徵並對對象進行排序和定位。具有錨幀的物體檢測器利用空間關係,即物體和錨幀(IoU)的交叉比,作爲錨幀分割的唯一標準。基於與對象的邊界框(Box)進行空間對齊的錨點最適合於對對象進行分類和定位的直覺,並且網絡在每個錨幀的損失的監督下獨立學習。但是,在下文中,我們認爲這種直覺是不準確的,並且手動設計IoU以匹配對象和特徵的方法不是最佳選擇。

一方面,對於“偏心”物體,其最具辨別力的特徵並不靠近物體的中心。空間對齊的錨定幀可以對應於較少的代表性特徵,這限制了目標分類和定位能力。另一方面,當將多個對象放在一起時,使用IoU標準來匹配具有適當錨幀/特徵的對象是不可行的。要解決的問題是如何將錨框架/特徵與對象完美匹配。

該研究提出了一種學習匹配錨幀的物體檢測方法。目標是丟棄手動設計的錨幀劃分並優化以下三個視覺對象檢測學習目標。首先,爲了實現高召回率,檢測器需要確保至少一個錨幀的預測對於每個對象足夠準確。其次,爲了實現較高的檢測精度,檢測器需要將定位較差的錨幀(大邊界框迴歸誤差)作爲背景進行分類。第三,錨箱的預測應該與非最大抑制(NMS)程序兼容,即分類得分越高,定位越準確。否則,當使用NMS過程時,可以通過精確定位但低分類得分來抑制錨幀預測。

爲了實現上述目標,我們將對象 - 錨幀匹配表示爲最大似然估計(MLE)過程,並從每個對象的錨幀集中選擇最具代表性的錨幀。定義每個錨幀集的似然概率是包中每個錨箱預測置信度的最大值,確保存在至少一個錨幀,並且對對象分類和定位具有高置信度。同時,具有大定位誤差的錨幀被分類爲背景。在訓練期間,似然概率被轉換爲損失函數,然後驅動對象 - 錨匹配和檢測器學習。

圖1:手工製作的錨點賦值(頂部)和FreeAnchor(底部)的比較。FreeAnchor

允許每個物體在探測器訓練期間靈活地匹配來自錨的“袋”的最佳錨。

算法思想

對於原始單級探測器,給定輸入圖像,使用圖像中的對象,在通過網絡向前傳播之後,將根據IoU的手動設計指南通過分類和迴歸來預測每個錨幀。每個對象被分成一個對象或分成一個背景,匹配矩陣表示該對象是否被分成錨幀。定義正例錨框集合爲, 負例錨框集合爲。整體損失可寫爲:

根據最大似然估計,原始總損失可以轉換爲似然概率:

該似然概率描述了基於CNN的目標檢測框架,嚴格約束錨幀分類和迴歸的優化,但忽略了匹配矩陣的學習。

爲了優化對象 - 錨匹配,我們引入了自由錨幀匹配似然概率來擴展基於CNN的檢測框架。引入的似然概率與檢測召回率和準確度的要求相結合,以確保與NMS的兼容性。首先,根據錨幀與對象之間的空間關係,選擇n個具有較大IoU的錨塊,爲每個對象構造錨幀集。

爲了優化召回率,對於每個對象,必須確保存在至少一個錨幀,並且其預測(包括分類和迴歸)接近真實註釋。可能性概率如下:

爲了提高檢測精度,檢測器需要將定位較差的錨幀分類爲背景,可能性概率如下:

其中 是錯過所有物體的概率,表示錨框正確預測物體的概率。爲了與NMS過程兼容,應具有以下三個屬性:

(1)關於錨框預測結果與物體之間的交併比單調遞增。

(2)小於閾值t時,爲0.

(3)對於物體,存在一個滿足的。這些屬性可以定義一個飽和線性函數來實現:

爲了實現上述三個屬性,自由錨框匹配似然概率定義如下:

它結合了召回,準確性和NMS兼容的目標。通過優化該似然概率,我們同時最大化回憶可能性和精確可能性,並在探測器訓練期間實現自由對象 - 錨匹配。

爲了在CNN檢測框架中實現上述錨對象匹配方法,我們定義了自由錨框匹配似然概率,並將似然概率轉換爲匹配損失,如下:

max函數用於爲每個對象選擇最佳錨幀。在訓練期間,從錨箱組A中選擇單個錨箱,然後使用錨箱來更新網絡參數θ。然而,在訓練的早期階段,對於隨機初始化的網絡參數,所有錨幀的置信度都很小,並且具有最高置信度的錨幀不一定合適。因此,我們使用Mean-max函數來選擇錨框,定義如下:

當訓練不充分時,如圖2所示,Mean-max函數將接近平均函數,這意味着錨集中的幾乎所有錨幀都用於訓練。隨着訓練的進行,一些錨幀的置信度增加,並且Mean-max函數更接近max函數。當網絡被完全訓練時,Mean-max函數可以從該組錨幀中爲每個對象選擇最佳錨幀。

最後,使用Mean-max函數替換自定義損失中的max函數,增加平衡因子w1 w2,並將Focal Loss應用於第二個損失項。結果如下:

其中 是每個物體對於錨框集合的似然概率集合。通過從FocalLoss繼承參數α和γ,得到和。

FreeAnchor基於先進的單級探測器RetinaNet。通過用上述自由錨幀匹配損失替換RetinaNet的損失,我們將RetinaNet更新爲自由錨幀匹配檢測器FreeAnchor。

效果

1.學習錨框匹配:提出的學習匹配方法可以選擇合適的錨框來表示感興趣的對象,如圖3所示:

圖4:學習匹配錨(左)與手工錨分配的比較,(右)爲“筆記本電腦”對象。 紅點表示錨中心。 較暗(較紅)的點表示較高相信的信心。 爲清楚起見,我們從所有40個錨中選擇16個長寬比爲1:1的錨爲了說明。 (最好看的顏色)

手動設計的錨幀分配在兩種情況下失敗:對象特徵偏心和擁擠的場景。FreeAnchor有效地緩解了這兩個問題。對於易於出現特徵偏心的細長物體類別,如牙刷,滑雪板,沙發和領帶,FreeAnchor明顯優於RetinaNet基線,如圖4所示。對於其他物體類別,包括時鐘,交通燈和運動球FreeAnchor 性能與RetinaNet相當。其原因在於學習匹配過程驅動網絡激活每個對象的錨盒集內的至少一個錨箱,以便預測正確的類別和位置。激活的錨幀不必與對象空間對齊,只是用於分類和定位對象的最具代表性的特徵。

圖5:方形和細長的性能比較對象。

我們在擁擠的場景中進一步比較RetinaNet和FreeAnchor的性能,如圖5所示。隨着單個圖像中對象數量的增加,FreeAnchor對RetinaNet的增強變得更加明顯。這表明FreeAnchor能夠學習匹配錨幀,併爲擁擠場景中的對象選擇更合適的錨幀。

圖6:性能比較對象擁擠。

2.保證與NMS的兼容性:爲了評估錨幀預測與NMS的兼容性,我們將NMS召回率()定義爲給定IoU閾值τ的NMS之前和之前的召回率的比率。根據COCO中AP的定義,NR定義爲τ的平均值,從0.50到0.05到0.90NRτ。在表1中,我們將RetinaNet和FreeAnchor與NRτ進行比較。可以看出,FreeAnchor的NR值明顯高於RetinaNet,這意味着與NMS的兼容性更高。驗證了自由錨框架匹配損失可以實現分類和定位的聯合優化。

性能

表2比較了FreeAnchor和RetinaNet基線。FreeAnchor將AP提升至3.5%左右,培訓和測試時間成本可忽略不計,這是對具有挑戰性的通用對象檢測任務的重大改進。

在表3中,FreeAnchor與其他方法進行了比較。它明顯超過了兩階段FPN方法,也優於最新的基於點的檢測方法。FreeAnchor通過較少的訓練迭代次數(135K vs 500K)和較少的網絡參數(96.9M對210.1M)超越了CornerNet。

FreeAnchor的本質是通過目標和特徵的自由匹配爲每個對象實現合適的錨幀,這基本上爲每個對象選擇適當的CNN特徵。FreeAnchor突破了“Object as Box”和“Object as Point”建模思想,並通過最大似然估計爲對象範圍內的特徵分配不同的置信度來建立無參數分佈。分配的新理念。

論文地址:https://arxiv.org/pdf/1909.02466

論文源碼關注微信公衆號:“圖像算法”或者微信搜索賬號imalg_cn關注公衆號

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章