論文筆記之CenterNet:Objects as Points

1. 摘要

本文是一個端到端的一階段anchor-free的目標檢測(可以擴充到3D檢測,人體姿態估計等)方法。使用的是預測物體的中心點來代替Anchor。利用關鍵點估計來尋找中心點,進而再回歸目標的其他屬性,大小、3D位置、方向、姿勢等。(本文包括目標檢測、3D檢測、姿態估計三部分,本文只討論目標檢測部分)

總體流程大概是,目標檢測是一個標準的關鍵點估計問題。我們只需將輸入圖像輸入到生成熱圖的完全卷積網絡。熱圖中的峯值對應於物體中心。每個峯值的圖像特徵預測對象邊界框的高度和權重。推理是一個單一的網絡前向傳遞,沒有對後處理的非最大抑制。

本文的方法CenterNet的簡單性允許它以非常高的速度運行。

2. 相關工作

本文的方法與基於anchor的單階段方法密切相關。一箇中心點可以看作爲一個單一的形狀未知的anchor(見圖3)。然而,有一些重要的區別。

  • 首先,本文的中心網只根據位置而不是框重疊來分配“anchor”,所以沒有用於前景和背景分類的手動閾值。
  • 其次,每個目標只有一個正“anchor”,因此不需要非最大值抑制。只需提取關鍵點熱圖中的局部峯值。
  • 第三,與傳統的目標檢測器相比,CenterNet使用更大的輸出分辨率(輸出步長爲4)(輸出步長爲16)。這樣就不需要多個anchor。
    在這裏插入圖片描述

2.本文方法

2.1 Preliminary

在這裏插入圖片描述爲寬度W和高度H的輸入圖像。我們的目的是生成一個關鍵點熱圖在這裏插入圖片描述在這裏插入圖片描述

,其中R是輸出跨距,C是關鍵點類型的數目。關鍵點類型包括物體檢測中的C=80個物體類別。本文默認輸出跨距R=4。輸出跨距將輸出預測降低一個因子R。
預測在這裏插入圖片描述對應於檢測到的關鍵點,而在這裏插入圖片描述是背景。我們使用幾種不同的卷積網絡來預測圖像 I 中的Y:A stacked hourglass network、ResNet 和 DLA。

對於C類的每個真實值關鍵點在這裏插入圖片描述計算了一個低分辨率等價在這裏插入圖片描述。然後,使用高斯核在這裏插入圖片描述將所有真實值關鍵點散放到熱圖在這裏插入圖片描述上,其中在這裏插入圖片描述是目標大小自適應標準偏差。如果同一類的兩個高斯子重疊,則取元素的最大值。

損失函數:
在這裏插入圖片描述
其中α和β是focal loss的超參數,N是圖像I中的關鍵點數量。選擇N進行歸一化,將所有正focal loss實例歸一化爲1。

爲了恢復由輸出步長引起的離散化誤差,本文還爲每個中心點預測了局部偏移量在這裏插入圖片描述
所有c類共享相同的偏移量預測。用L1損失訓練偏移量
在這裏插入圖片描述
監督僅在關鍵點位置~p起作用,其他所有位置均被忽略。

以上這些,與CornerNet基本相同。

2.2 將物體視爲一個點(objects as points)

在這裏插入圖片描述是類別爲C_k的目標k的邊界框。它的中心點位於P_k = 在這裏插入圖片描述,本文用關鍵點估計預測中心點,此外,還回歸每個目標k的大小在這裏插入圖片描述。爲減少計算負擔,爲所有類別使用同一size。在中心點位置使用L1 loss:
在這裏插入圖片描述
總體的loss函數爲:
本文不將scale進行歸一化,直接使用原始像素座標。爲了調節該loss的影響,將其乘了個係數,整個訓練的目標loss函數爲
在這裏插入圖片描述
網絡預測關鍵點Y,偏移量O和大小S,每個位置有C+4個輸出(即類別數目C個的熱圖,偏移量的x,y,尺寸的w,h)。

點到框

  • 獨立提取每個類別的熱圖中的峯值(做法是將熱力圖上的所有響應點與其連接的8個臨近點進行比較,如果該點響應值大於或等於其八個臨近點值則保留)
  • 保留前100個峯值
  • 使用關鍵點預測值作爲檢測置信度度量
    設P_c是檢測到的 c 類別的 n 箇中心點在這裏插入圖片描述的集合,每個關鍵點由整形(x_i,y_i)給出,產生如下box:

在這裏插入圖片描述
其中,在這裏插入圖片描述是偏移預測,
在這裏插入圖片描述是size預測。

2.3 網絡結構細節

在這裏插入圖片描述

3. 實驗

在這裏插入圖片描述

  • 沙漏網絡在相對較好的速度下能達到最佳性能。
  • DLA-34得到了最好的速度/準確率的折中。
  • 兩個不同物體可能共享同一個中心點,這樣的話網絡只能檢測到一個。但這種情況是很少的(COCO中不到0.1%的比例),這部分誤差可以忽略。
  • 用NMS提升甚微,所以就不用NMS了。
  • 在這裏,L1比Smooth L1效果好。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章