---恢復內容開始---
一、創新點
針對two-stage的速度慢以及one-stage精度不足提出的方法,refinedet 包括三個核心部分:使用TCB來轉換ARM的特征,送入ODM中進行檢測;
兩步級連回歸;過濾較多的負樣本(容易分類的,類似於ohem)。
(1)anchor refine module 和object detect module。前者類似於rpn,用於剔除過多的負樣本和粗略調整anchor位置和尺寸(都是二分類);后者
將refine過的anchor進行進一步的微調(感覺跟two stage很像,為什么能快呢?答案是沒有像two-stage那樣使用耗時的roi-pooling,該框架為全卷積網絡)。整體結構如下圖
圖1
(2)在兩個部分之間,設計了一個transfor connection block(TCB),如下圖。TCB包括兩個功能,一是轉換ARM的特征,另一個是轉換不同層的特征, 使用deconv來擴大特征,
用於后續特征的 element sum 。這一部分更新是FPN,融合多層特征。
圖2
---恢復內容結束---
(3)ODM
兩步級連回歸,有利於小物體檢測。先使用ARM生成refined anchors boxes,再將其輸入ODM再次回歸和分類。此外還包括負樣本過濾:當負樣本的置信值超過閾值時直接丟棄。
總的來看, 該網絡融合了one-stage 和 two-stage的特點,在ARM階段生成先refined anchor box(類似於RPN), 在ODM,一方面輸入refined anchor,另一方面融合多層特征(類似FPN)。
(4) loss
損失函數包括ARM loss 和 ODM loss,對於ARM,包括cross-entropy(二分類)和smoth-L1。對於ODM,則是softmax-loss和smoth-L1
(5)實驗
結果還是挺不錯的,在精度上,即使是320×320, mAP也能上80;速度很有優勢,在500*500這一級別上,僅次於yolov2。
參考:https://blog.csdn.net/u014380165/article/details/79502308
(7)網絡結構
以vgg16 320*320為例,主干網絡的conv4_3(512*40*40),conv5_3 (512*20*20), fc7(1024*10*10), conv6_2(512*5*5)分別對應圖1的主干網絡四個特征圖,用這四個特征圖
1、每個特征圖分別生成mbox_loc、mbox_conf、mbox_priorbox, 並通過concat操作,得到ARM相關的arm_priorbox、arm_loc、arm_conf
2、