Anchor-free目標檢測 | 工業(yè)應用更友好的新網絡(3)
貢獻:
1.通過檢測bbox的一對角點來檢測出目標。
2.提出corner pooling,來更好的定位bbox的角點。
上圖是top-left corner的 Corner Pooling過程。在水平方向,從最右端開始往最左端遍歷,每個位置的值都變成從最右到當前位置為止,出現(xiàn)的最大的值。同理,bottom-right corner的Corner Pooling則是最左端開始往最右端遍歷。同樣的,在垂直方向上,也是這樣同樣的Pooling的方式。
以左上角點為例,當我們決定此點是否個corner點的時候,往往會沿著水平的方向向右看,看看是否與物體有相切,還會沿著垂直方向向下看,看看是否與物體相切。簡而言之,其實corner點是物體上邊緣點和坐邊緣點的集合,因此在pooling的時候通過Corner Pooling的方式能夠一定程度上體現(xiàn)出當前點出發(fā)的射線是否與物體相交。
ExtremeNet:
作者使用了最佳的關鍵點估計框架,通過對每個目標類預測4個多峰值的heatmaps來尋找極值點。另外,作者使用每個類center heatmap來預測目標中心。僅通過基于幾何的方法來對極值點分組,如果4個極值點的幾何中點在center map上對應的分數(shù)高于閾值,則這4個極值點分為一組。
offset的預測是類別無關的,而極值點的預測是類別相關的。對每種極值點heatmap,不包含center map,預測2張offset map(分別對應XY軸方向)。網絡的輸出是5xC heatmaps和4x2offset maps,C是類別數(shù)。
分組算法的輸入是每個類的5個heatmaps,一個center heatmap和4個extreme heatmaps,通過檢測所有的峰值來提取出5個heatmaps的關鍵點。給出4個極值點,計算幾何中心,如果幾何中心在center map上對應高響應,那么這4個極值點為有效檢測。作者使用暴力枚舉的方式來得到所有有效的4個關鍵點。
貢獻:
1.將關鍵點定義為極值點。
2.根據(jù)幾何結構對關鍵點進行分組。
CornerNet和ExtremeNet的區(qū)別:
1.CornerNet通過預測角點來檢測目標的,而ExtremeNet通過預測極值點和中心點來檢測目標的。
2.CornerNet通過角點embedding之間的距離來判斷是否為同一組關鍵點,而ExtremeNet通過暴力枚舉極值點、經過中心點判斷4個極值點是否為一組。
FSAF:
讓每個實例選擇最好的特征層來優(yōu)化網絡,因此不需要anchor來限制特征的選擇。
一個anchor-free的分支在每個特征金字塔層構建,獨立于anchor-based的分支。和anchor-based分支相似,anchor-free分支由分類子網絡和回歸子網絡。一個實例能夠被安排到任意層的anchor-free分支。訓練期間,基于實例的信息而不是實例box的尺寸來動態(tài)地為每個實例選擇最合適的特征層。選擇的特征層學會檢測安排的實例。推理階段,F(xiàn)SAF模塊和anchor-based分支獨立或者聯(lián)合運行。
在RetinaNet的基礎上,F(xiàn)SAF模塊引入了2個額外的卷積層,這兩個卷積層各自負責anchor-free分支的分類和回歸預測。具體的,在分類子網絡中,feature map后面跟著K個3x3的卷積層和sigmoid,在回歸子網絡中,feature map后面跟著4個3x3的卷積層和ReLU。
實例輸入到特征金字塔的所有層,然后求得所有anchor-free分支focal loss和IoU loss的和,選擇loss和最小的特征層來學習實例。訓練時,特征根據(jù)安排的實例進行更新。推理時,不需要進行特征更新,因為最合適的特征金字塔層自然地輸出高置信分數(shù)。
FCOS:
和語義分割相同,檢測器直接將位置作為訓練樣本而不是anchor。具體的,如果某個位置落入了任何gt中,那么該位置就被認為是正樣本,并且類別為該gt的類別?;赼nchor的檢測器,根據(jù)不同尺寸安排anchor到不同的特征層,而FCOS直接限制邊界框回歸的范圍(即每個feature map負責一定尺度的回歸框)。
Center-ness:
為了剔除遠離目標中心的低質量預測bbox,作者提出了添加center-ness分支,和分類分支并行。
優(yōu)點:
1.將檢測和其他使用FCN的任務統(tǒng)一起來,容易重用這些任務的思想。
2.proposal free和anchor free,減少了超參的設計。
3.不使用trick,達到了單階段檢測的最佳性能。
4.經過小的修改,可以立即拓展到其他視覺任務上。
FoveaBox:
人類眼睛的中央凹:視野(物體)的中心具有最高的視覺敏銳度。FoveaBox聯(lián)合預測對象中心區(qū)域可能存在的位置以及每個有效位置的邊界框。由于特征金字塔的特征表示,不同尺度的目標可以從多個特征層中檢測到。
FoveaBox添加了2個子網絡,一個子網絡預測分類,另一個子網絡預測bbox。
Object Fovea:
目標的中央凹如上圖所示。目標中央凹只編碼目標對象存在的概率。為了確定位置,模型要預測每個潛在實例的邊界框。
FSAF、FCOS、FoveaBox的異同點:
1.都利用FPN來進行多尺度目標檢測。
2.都將分類和回歸解耦成2個子網絡來處理。
3.都是通過密集預測進行分類和回歸的。
4.FSAF和FCOS的回歸預測的是到4個邊界的距離,而FoveaBox的回歸預測的是一個坐標轉換。
5.FSAF通過在線特征選擇的方式,選擇更加合適的特征來提升性能,F(xiàn)COS通過center-ness分支剔除掉低質量bbox來提升性能,F(xiàn)oveaBox通過只預測目標中心區(qū)域來提升性能。
總結:
1.各種方法的關鍵在于gt如何定義
2.主要是基于關鍵點檢測的方法和密集預測的方法來做Anchor-Free
3.本質上是將基于anchor轉換成了基于point/region
下一期我們詳細說說商湯的《CentripetalNet: Pursuing High-quality Keypoint Pairs for Object Detection》,基于向心偏移的anchor-free目標檢測網絡centripetalnet,為基于關鍵點的目標檢測方法研究帶來了新思路。
*博客內容為網友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。
隔離器相關文章:隔離器原理 電流傳感器相關文章:電流傳感器原理