CornerNet
hourglass network -> prediction module = corner pooling -> heatmaps + embedding + offsets
corner polling,獲取角點信息
1、左上角的點和左邊和上邊的特征有關,因此角池化后會有這兩個信息。
2、公式就是當前點到最左線和最上線的距離的和。
3、類似residual block形式,有skip connection
heatmaps,預測角點的位置
1、對負樣本做欠采樣以及focal loss: 重視困難(錯分)樣本 = 正樣本損失值小,負樣本損失值大。
2、改進focal loss, 對不同的負樣本點的損失函數采取不同權重值。
offset, 取整計算丟失精度信息
1、像faster rcnn的ROI Pooling有精度丟失問題,引出該計算公式。
embedding,找出同一個目標的兩個角點
1、兩個損失函數,第一個公式用來縮小同一個目標距離,第二個公式用來擴大不屬於同一個目標的距離
2、采用L1范數,大於0.5或者兩點來自不同類別的目標都不能構成一對。
注意事項:
1、預測角點時,采用NMS來選擇左上角前100個框和右下角前100個框。
2、0值填充作為網絡的輸入,而不是resize。
3、通過soft-nms 來去除冗余框,只保留前100個預測框
#################
CenterNet
改進CornerNet,提出關鍵點三元組。
anchor-base缺陷:anchor數量巨大,anchor人工設計,anchor與gt不對齊不利於分類。
anchor-free缺陷:CornerNet全局信息獲取能力較弱,無法正確group同一物體的兩個點。因為CornerNet的corner pooling僅依賴物體的邊沿,並沒有利用物體內部信息。這個問題可以通過互補信息解決--比如aspect ratio(anchor利用寬高比加速回歸,對點沒用)
1、center pooling
- 通過相加特征圖水平和垂直方向上最大值獲得。
- 首先提取物體邊界最大值,然后在邊界最大值處繼續向內部(圖中沿虛線方向)提取最大值,並與邊界最大值相加,以此給角點特征提供更加豐富的關聯物體語義信息
2、cascade corner pooling
類似corner pooling模塊,只不過同時獲取內部和邊沿信息以增加穩定性。
注意事項:
1、中心區域的尺度會影響錯誤框去除效果。過小導致小尺度無法去除,過大導致多大尺度無法去除。因此引出尺度可調節的中心區域定義法:對大尺度減少中心域,對小尺度擴大中心域。