論文:Receptive Field Block Net for Accurate and Fast Object Detection
論文鏈接:https://arxiv.org/abs/1711.07767
代碼鏈接:https://github.com/ruinmessi/RFBNet
概要:ECCV2018目標檢測的文章,兼顧速度的同時達到了良好的准確度。該網絡是在SSD網絡的基礎上進行修改的,在SSD網絡中引入了Receptive Field Blcok(RFB)。
1、傳統的SSD算法
ssd算法是一種one-stage的目標檢測算法,沒有proposal,直接從不同深度的feature map上進行特征的綜合。
前面特征提取部分可以是VGG16這種網絡,把VGG網絡后面的全連接層換成卷積層再加上幾層卷積層。看源碼時,對於VGG網絡的改動要注意。
對於從不同深度對feature map進行檢測,這個在后來的YOLO V2、V3上也是很常見的。
對於(bacth_size,channel,H,W)的feature map而言,一個cell中有k個默認的anchor,每個anchor包含C個類別的score和4個offset,還有一個有無目標的置信度p。顯然chnnel =k*(C+1+4)。
作者的實驗表明,default anchors的類型越多,效果越好。
這個地方需要說明一下,比如Yolo V3有9個default anchors,這個9個大小不同,大的anchors檢測大目標,小的anchors檢測小目標。9個分布在3個不同level的feature map上。
感覺這個地方Yolo v3的處理方式是可以借鑒的,根據聚類結果去分配每個groun truth所對應的default anchors。
2、RFB
dilated convolution 帶孔卷積
圖(b)所示為dilated = 2所示的情況
RFB結構
圖(b)中用1*3和3*1代替了3*3,用3*3代替了5*5.