Detection:SSD(single shot multibox detecter)
阿新 • • 發佈:2019-01-29
ssd這篇感覺很工程,主要的工作我覺得有兩個:
1.從多層fm上提取bbox,相當於一個multi scale的操作。值得注意的是,首先越靠近bottom越底層的fm在細節表達上做得越好,高層的fm會學習出分類這種概括性的表達,原文中加上最高層的bbox甚至會比去掉這一層效果更差(當然可能是噪聲);其次在fm上的bbox並不是嚴格去對應原圖上的reception filed(再加上後面data augmentation工作,我的理解是目標框並不需要一個嚴格的標註標準比如嚴格相切之類),對應的關係有公式給出:
sk是第k層(原文總共有6層)提取bbox的fm與原圖的尺度比例,這裡smin=0.2,smax=0.9,這個定義涉及到default bbox的對應區域,是一個開放性的問題,可以根據自己的實際需求去重新定義。然後對於
2.取消了proposal,這也是ssd速度極大提升的原因。為什麼效果還這麼好有待進一步探究。
還有一些值得一提的工程工作:
1.predictor for detection:在6層fm上提取bbox,對於每一層來說,要分別過一個出loc的卷積層和出conf的卷積層(conv4_3要先過norm層),然後資料排序拼接之後進入multiboxloss層
2.loss的計算
總loss,其中阿爾法交叉驗證後取1
3.data augmentation:
在原圖上隨機取patch,大小是0.1到1原圖大小,ratio是1/2到2,保留patch和gt box的overlap且gtbox中心點在這一部分中的。(這一部分解釋有待再去參考程式碼)
4.檢測小目標效果不好的情況:可以通過輸入更低層fm和調整default bbox對應關係來改善。