目標檢測論文解讀Objects as Points:CenterNet

這篇論文中了CVPR 2019。作者的想法非常具有創新性,center net不僅僅可以用於目標檢測,它具有很強的魯棒性,可以遷移到姿態識別、3D檢測等其他視覺任務中。相信讀到這裏的讀者已經對之前的目標檢測算法有了一定的瞭解,所以本文不再對比之前的做法,直接解釋center net的做法,最後進行總結
在這裏插入圖片描述

BackBone

CenterNet想要提取輸入圖像的特徵,以heatmap的形式來檢測目標。論文中給出了三種BackBone:ResNet-18、DLA-34、Hourglass-104,檢測速度依次下降,檢測精度依次上升。經過BackBone的提取,輸出heatmap。輸入的heatmap相比於初始圖像,尺寸只減小了4倍,最後的offset微調也會方便很多。

detect points

我們這一步的目標是預測center,對於真實的標籤來說,我們使用在這裏插入圖片描述對一個bbox進行說明,對於bbox的center,我們認爲是在這裏插入圖片描述這樣就找到了真實的圖像中的center,然後再圖像中使用二階高斯分佈,center爲中心點,概率值爲1,如果有多個目標在某個點的概率值重疊,選取較大的值作爲概率值,對於預測corner,我們得到了經BackBone提取的熱力圖,這一步我們將heatmap中的峯值像素點找出,具體的方法是判斷是否一個點大於或者等於他周圍的八個點,就找到了預測center,可以帶入高斯公式得到概率值。接下來便是計算損失函數
在這裏插入圖片描述
這一步的損失函數可以用focal loss表示爲(論文中α=2,β=4屬於超參數):
在這裏插入圖片描述
N爲峯值點數量,當GT爲1時,如果預測準確,則該點的損失函數爲0,若預測值在這裏插入圖片描述不爲1時,隨着在這裏插入圖片描述)的減小,損失也越大。
在經過4倍下采樣後,關鍵點的位置信息會丟失一部分,爲了彌補這部分誤差,使用L1loss彌補偏差位置,以便於更好的得到關鍵點。
在這裏插入圖片描述
希望經過訓練後得到一個對於所有class,值共享的O(offset)

how center be bbox

我們可以預測到center,那麼如何得到他的bbox?,在這裏插入圖片描述是真實的bbox左上、右下點的座標,爲了得到預測的bbox的尺寸,用L1 loss訓練Lsize
在這裏插入圖片描述
在這裏插入圖片描述爲預測的尺寸,Sk爲真實尺寸。
至此,所有的損失函數已經提出在這裏插入圖片描述(λsize=0.1,λoff=1)
最後預測的bbox位置,大小是:在這裏插入圖片描述每個座標的第一個值是預測到的center,第二個值是offset,第一個值加第二個值就是center,第三個值就是畫出了bbox的大小和位置。
在這裏插入圖片描述
整個網絡最後輸出的是一個C+4的值,C爲類別數,4爲座標

實驗結果

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

總結

優點:

  • 不使用anchor,減少超參數量
  • 不使用NMS後端處理,直接輸出Bbox
  • 由於沒有了anchor NMS,速度快了許多,精度也提升了許多
  • 魯棒性強,不僅僅可以用於普通的目標檢測,在姿態檢測、3D檢測也取得了顯著提升

缺點:

  • 當兩個物體過於接近,會將他們檢測爲1個目標
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章