CornerNet: Detecting Objects as Paired Keypoints
CornerNet論文鏈接
Hourglass Network論文鏈接
一.背景
1.anchor-base缺點
(1).anchor的設置對結果影響很大,不同項目這些超參都需要根據經驗來確定,難度較大.
(2).anchor太過密集,其中很多是負樣本,引入了不平衡.
(3).anchor的計算涉及IOU增加計算復雜度.
二.網絡介紹
1.網絡結構
網絡總共有兩個分支,一個分支有三個輸出,主要包含heatmap,embedding,offsets.
single hourglass module示例
2.網絡推理
預測左上角角點heatmap,右下角角點heatmap和embedding用于匹配角點,從而形成一對, 而offsets用于最終矯正角點.
為什么沒有預測中心點?作者認為角點只需要依賴目標的兩個方向,而中心點需要依賴目標的四個方向.同時采用corner pooling編碼一些角點的先驗信息.
3.corner pooling
作者認為box的角點經常超出目標,不太好定位,對于左上角角點,水平方向從右往左替換為看到的最大像素值,垂直方向從下往上替換為看到的最大像素值,在相鄰點進行像素相加,從而豐富左上角角點信息.
4.heatmap與相應focal loss(分類)
heatmap就是角點的熱力圖,通道數為類別數C.
對于角點半徑周圍與gt box的IOU為0.3的box的負樣本,沒必要完全貢獻loss,因為角點附近的負樣本構成的box也能挺好覆蓋目標.對于處于框內的角點,loss按照高斯分布來進行分配.
對于heatmap采用focal loss:
pcij:預測?score
ycij:gt heatmap
α,β: 超參用來控制loss
5.embedding與相應loss
用于左上角點與右上角點的匹配,找到距離最小的也就是同一個目標的角點.
etk:左上角點的embedding
ebk:右下角點的embedding
ek?:etk和ebk的平均
對于一對匹配的角點,通過Lpull去拉得緊湊.對于不匹配的通過Lpush去分離角點.
6.offsets與相應loss(smooth L1)
用offests來輕微矯正角點位置,從而讓檢測框更加緊湊.
x,y是原圖坐標,n是下采樣倍數, 這里從預測圖的heatmap恢復到原圖就會有精度損失,嚴重影響小物體,所以采用offsets進行修正.
ok是offset,(xk,yk)是corner坐標.
采用smoothl1loss來學習offset.
7.loss匯總
作者發現α和β為1或者更大的值,產生了不好的效果.
8.缺點
(1):缺失角點,就缺失目標
(2):角點匹配失誤,導致目標定位出現錯位
三.實驗結果
?
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的CornerNet: Detecting Objects as Paired Keypoints的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Chrome Cookie SameSi
- 下一篇: 安装Opencv3