論文地址:https://arxiv.org/abs/1701.06659
Github 源碼(caffe版):https://github.com/chengyangfu/caffe/tree/dssd
1、文章概述
DSSD(Deconvolutional Single Shot Detector)是SSD算法改進分支中最爲著名的一個,SSD的其他改進還包括RSSD(https://arxiv.org/abs/1705.09587)、FSSD(https://arxiv.org/abs/1512.02325)等。在VOC2007數據集上,513*513的輸入圖片上,DSSD的mAP值達到81.5%,但是fps只有6fps左右。
DSSD將SSD的VGG網絡用Resnet-101進行了替換,在分類迴歸之前引入了殘差模塊,在SSD添加的輔助卷積層後又添加了反捲積層形成“寬 - 窄 - 寬”的“沙漏”結構。DSSD相比SSD的一個最大的提升在於對小目標的檢測度上DSSD有了很大的提升,文章的最後部分也展示了小目標的檢測效果。即便如此,DSSD的檢測速度相比SSD慢了很多,其中很大一部分原因在於引入的Resnet-101太深。
DSSD網絡模型結構如下:
圖中藍色部分是基礎網絡結構後面多添加的幾層網絡結構,紅色部分是在SSD後面添加了反捲積層操作,但並非傳統的反捲積層,是利用了雙線性上採樣代替了反捲積層。紅色和藍色對應層的大小相同。
2、用resnet-101代替VGG
這麼做的目的是提高精度,畢竟Resnet-101比VGG的網絡更深,提取的特徵就有更高的語義信息,而且Resnet-101的分類精度確實比VGG的高。需要注意的是,在300*300的輸入圖像下,直接將VGG用Resnet-101替換,精度不升反降;在512*512的輸入圖像下測試,精度纔有略微提升。再加入了Prediction模塊和反捲積模塊後,精度纔有穩定提升。還需注意的是,在300*300的圖像上測試,用VGG的SSD有59的FPS,而用Resnet-101的DSSD的fps只有15,Resnet-101更深的網絡結構是fps顯著降低的原因。
3、Prediction Module
4、DM(Deconvolutional Module)模塊
5、DSSD關於default box的改進
針對PASCAL VOC2007和2012裏trainval的圖片,用k-means對長寬比例做了一個聚類分析,最終確定default box的長寬比例的阿爾法爲1、1.6、2和3;SSD的爲1、2、3。