Paper: https://arxiv.org/pdf/1512.02325.pdf
SSD用神經網絡(VGG)提取多層feature map ,來實現對不同大小物體的檢測。如下圖所示:
We use the VGG-16 network as a base, but other networks should also produce good results.

Train:
損失函數=位置誤差(locatization loss, loc)+alpha*置信度誤差(confidence loss, conf)
其中:
- 解決負樣本過多的問題,僅保留損失函數最大的K個FPs,即只保留K個最像正陽本的背景。
- 運用Data augmentation技術,提高魯棒性。
Detect/Predict:
- 對於每個預測框,根據類別置信度確定其類別(置信度最大者)與置信度值。
- 根據置信度閾值(如0.5)過濾掉閾值較低的預測框。
- 對於留下的預測框進行解碼,根據先驗框得到其真實的位置參數(解碼后一般還需要做clip,防止預測框位置超出圖片)。
- 解碼之后,一般需要根據置信度進行降序排列,然后僅保留top-k(如400)個預測框。
- 最后就是進行NMS算法,過濾掉那些重疊度較大的預測框。最后剩余的預測框就是檢測結果了。
本文參考了下面兩篇文章:
https://zhuanlan.zhihu.com/p/33544892
https://blog.csdn.net/remanented/article/details/79943418
