天天看點

論文閱讀:Objects as Points

論文資訊: Xingyi Zhou,UT Austin, arxiv1904.07852

代碼連結: https://github.com/xingyizhou/CenterNet

整體資訊: 這篇文章題目言簡意赅,就非常吸引人眼球。不同于CornerNet預測一對角點得到bbox,以及基于CornerNet改進的CenterNet預測三個點得到bbox,文章提出的CenterNet同樣作為一種anchor-free的目标檢測方法,化繁去簡,直接将目标作為一個點去預測,徹底丢掉了nms等後處理操作,而且将這種方法應用到姿态估計和3D目标檢測問題上。不得不說,足夠Innovative,考慮精度和速度trade-off,在coco上也取得不俗的成績:28.1%mAP/142FPS,37.4%mAP/52FPS,45.1%mAP/1.4FPS。

論文閱讀:Objects as Points

Motivation

       現有的目标檢測方法,不論是oe-stage方法還是two-stage方法,在得到所有潛在目标框之後,都需要使用NMS(非極大值抑制)來處理同類目标重複的檢測框,這種做法出列計算耗時之外,而且這種後處理操作不可導,無法做到端對端的訓練。作者通過将目标作為一個點即目标的中心點,采用關鍵點估計方法預測中心點,再去預測目标尺寸。這種方法,相比于基于邊界框的檢測方法,可以做到端對端可導,更簡單,更快速和更準确。如上圖所示。

創新點

論文閱讀:Objects as Points

       本文的CenterNet方法和anchor-based的one-stage目标檢測方法類似,中心點可以看做是shape-agnostic(形狀未知)的錨點,可以看做是一種隐式地anchors。和anchor-based方法的差別如上圖示。

  • 在CenterNet中,配置設定的錨點僅僅是放在位置上,沒有尺寸框。不需要手動設定門檻值做前後景分類。(像Faster RCNN會将與GT IOU >0.7的作為前景,<0.3的作為背景);
  • 每個目标僅僅有一個正的錨點,是以不會用到NMS,通過提取關鍵點heatmap上局部峰值點(local peaks);
  • CenterNet相比較于其他目标檢測方法而言(一般縮放16倍尺度),使用更大分辨率的輸出特征圖(縮放了4倍),是以無需用到多重特征圖錨點;
  • 于其他基于關鍵點的目标檢測方法相比(比如CornerNet,ExtremeNet),無需grouping過程以及後處理操作;

Preliminary

指定

I∈RW×H×3

表示輸入圖像,寬W,高H。生成的關鍵點heatmaps為

Y^∈[0,1]WR×HR×C

其中R表示輸出stride,在CenterNet中設定為4,C表示關鍵點類别,比如在coco中C為80類目标。在預測的heatmaps中,

Y^x,y,c=1

表示檢測的關鍵點,

Y^x,y,c=0

表示為背景。在CenterNet中,作者使用了三種全卷積encoder-decoder網絡:hourglass,Resnet和DLA來預測Y^

。關鍵點損失函數采用的是focal loss,如下公式所示:

論文閱讀:Objects as Points

此外,為了彌補因為輸出stride造成的量化誤差,作者另外設計了一個局部offset來補償,其損失函數采用L1loss如下:

論文閱讀:Objects as Points

Objects as Points

指定

(x(k)1,y(k)1,x(k)2,y(k)2)

表示目标k(其類别為ck

),對應中心位置為

pk=(x(k)1+x(k)22,y(k)1+y(k)22)

使用關鍵點預測器Y^

預測所有關鍵點。此外回歸每個目标k的大小

sk=(x(k)2−x(k)1,y(k)2−y(k)1)

為了計算減少計算,d對所有目标使用單尺度預測,S^∈RWR×HR×2

,是以可以在中心點位置添加L1 Loss:

Lsize=1N∑k=1N|s^pk−sk|

整個目标損失函數如下:

Ldet=Lk+λsizeLsize+λoffLoff

實驗結果

       在coco上訓練了三種不同backbone的CenterNet:Resnet-101和DLA-34花費2.5天,hourglass-104花費5天。實驗結果對比如下:

論文閱讀:Objects as Points

在精度和速度上的trade-off上相比,CenterNet相對來說還是比較優秀。此外,作者針對輸入分辨率,目标中心點重疊、size損失函數、size損失的超參數和訓練政策等方面做了很多ablation study,使得整個實驗結果比較solid。

個人觀點

(1)這篇Objects as Points 的CenterNet通過預測一個中心點解決了2D目标檢測,3D目标檢測以及姿态估計任務,完美的把這三個任務統一起來,從廣度上來講,很強很強。

(2)值得和另一篇CenterNet(Keypoint Triplets for Object Detection)進行比較,Keypoint Triplets則是通過中心點預測抑制CornerNet中存在的大量誤檢,這個更多的是incremental。

(3)從放出來的幾篇基于keypoint的目标檢測方法在coco上訓練耗時來看,這類方法普遍存在訓練耗時長的問題。

繼續閱讀