卓越的目標檢測器Pelee


Densenet的改良—PeleeNET

Pelee: A Real-Time Object Detection System on Mobile Devices

論文地址:https://arxiv.org/abs/1804.06882

  Peleenet專注於優化小型網絡,針對densenet的結構做出了改良,達到了目前最先進的水准。在已有的在移動設備上執行的深度學習模型例如 MobileNet、 ShuffleNet 等都嚴重依賴於在深度上可分離的卷積運算,而缺乏有效的實現。在本文中,來自加拿大西安大略大學的研究者提出了稱為 PeleeNet 的有效架構,它沒有使用傳統的卷積來實現。PeleeNet 實現了比目前最先進的 MobileNet 更高的圖像分類准確率,並降低了計算成本。研究者進一步開發了實時目標檢測系統 Pelee,以更低的成本超越了 YOLOv2 的目標檢測性能,並能流暢地在 iPhone6s、iPhone8 上運行。

PeleeNET是DenseNet (Huang et al. (2016a)) 的一個變體。專門用於移動設備。PeleeNet 遵循 DenseNet 的創新連接模式和一些關鍵設計原則。它也被設計來滿足嚴格的內存和計算預算。在 Stanford Dogs (Khosla et al.(2011)) 數據集上的實驗結果表明:PeleeNet 的准確率要比 DenseNet 的原始結構高 5.05%,比 MobileNet (Howard et al. (2017)) 高 6.53%。PeleeNet 在 ImageNet ILSVRC 2012 (Deng et al. (2009)) 上也有極具競爭力的

結果。PeleeNet 的 top-1 准確率要比 MobileNet 高 0.6%。需要指出的是,PeleeNet 的模型大小是 MobileNet 的 66%。

PeleeNET的主題架構如下:

 


在輸出的部分,對接了一個stem block 然后接了改良版的dense block 獲取圖像的特征。接着用transition layer來進行將維。在經過這些一系列的特征提取之后,使用全局平均池化接全連階層分類。

下面來講解每個部分:

 


stem block由圖中結構組成。受到inceptionV4的啟發,作者設計了更有效率的stem block 如圖(b)所示,這個模塊可以有效的提升模型的特征表達能力。而不會添加特別多的額外計算量,比其他的擴張模型表現更好。比如提升第一層卷積層的通道數,或提升增長率。

兩路稠密層:受 GoogLeNet (Szegedy et al. (2015)) 的兩路稠密層的激發,研究者使用了一個兩路密集層來得到不同尺度的感受野。其中一路使用一個 3×3 的較小卷積核,它能夠較好地捕捉小尺度的目標。另一路使用兩個 3×3 的卷積核來學習大尺度目標的視覺特征。該結構如圖(a) 所示。K是卷積核的數量。瓶頸層通道的動態數量:另一個亮點就是瓶頸層通道數目會隨着輸入維度的變化而變化,以保證輸出通道的數目不會超過輸出通道。與原始的 DenseNet 結構相比,實驗表明這種方法在節省 28.5% 的計算資源的同時僅僅會對准確率有很小的影響。

沒有壓縮的轉換層:實驗表明,DenseNet 提出的壓縮因子會損壞特征表達,PeleeNet 在轉換層中也維持了與輸入通道相同的輸出通道數目。復合函數:為了提升實際的速度,采用后激活的傳統智慧(Convolution - Batch Normalization (Ioffe & Szegedy (2015)) - Relu))作為我們的復合函數,而不是 DenseNet 中所用的預激活。對於后激活而言,所有的批正則化層可以在推理階段與卷積層相結合,這可以很好地加快速度。為了補償這種變化給准確率帶來的不良影響,研究者使用一個淺層的、較寬的網絡結構。在最后一個密集塊之后還增加了一個 1×1 的卷積層,以得到更強的表征能力。

作者使用自己的PeleeNet作為前端,后接Single Shot MultiBox Detector,SSD)的后端組合而成的pelee在 PASCAL VOC (Everingham et al. (2010)) 2007 數據集上達到了 76.4% 的准確率,在 COCO 數據集上達到了 22.4% 的准確率。在准確率、速度和模型大小方面,Pelee 系統都優於YOLOv2 (Redmon & Farhadi (2016))。為了平衡速度和准確率所做的增強設置如下。

SSD論文講解如下https://www.cnblogs.com/ansang/p/9361631.html

 

特征圖選擇:以不同於原始 SSD 的方式構建目標檢測網絡,原始 SSD 仔細地選擇了 5 個尺度的特征圖 (19 x 19、10 x 10、5 x 5、3 x 3、1 x 1)。為了減少計算成本,沒有使用 38×38 的特征圖。在pelee上面,作者使用殘差預測塊進行預測:遵循 Lee 等人提出的設計思想(2017),即:使特征沿着特征提取網絡傳遞。對於每一個用於檢測的特征圖,在實施預測之前構建了一個殘差 (He et al.(2016)) 塊(ResBlock)。ResBlock 的結構如圖 2 所示:

 

 

 

1x1 的核將計算成本減少了 21.5%。

用於預測的小型卷積核:殘差預測塊讓我們應用 1×1 的卷積核來預測類別分數和邊界框設置成為可能。實驗表明:使用 1×1 卷積核的模型的准確率和使用 3×3 的卷積核所達到的准確率幾乎相同。研究者在 iOS 上提供了 SSD 算法的實現。他們已經成功地將 SSD 移植到了 iOS 上,並且提供了優化的代碼實現。該系統在 iPhone 6s 上以 17.1 FPS 的速度運行,在 iPhone8 上以 23.6 FPS的速度運行。在 iPhone 6s(2015 年發布的手機)上的速度要比在 Intel i7-6700K@4.00GHz CPU 上的官方算法實現還要快 2.6 倍。

 

1不同的設計選擇的效果得到的性能

 

 

 

 

2 Stanford Dogs 數據集上的結果。MACs:乘法累加的次數,用於度量融合乘法和加法運算次數

 

3:在 ImageNet ILSVRC 2012 數據集上的結果

 

 

 

 

4不同設計選擇上的性能結果

5:在 PASCAL VOC 2007 數據集上的結果。數據:07+12VOC2007 VOC2012 聯合訓練;07+12+COCO,先在 COOC 數據集上訓練 35000 次,然后在 07+12 上繼續微調。 

 

6實際設備上的速度

 

 

 

7 COCO test-dev2015 數據集上的結果

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM