ThunderNet 是一個 two-stage 的目标檢測網絡,其運作計算量比 one-stage 檢測網絡要小,性能比 one-stage 檢測網絡要好。
ThunderNet 的主要創新點在于 RPN 的應用上。在RPN網絡應用時,ThunderNetr 提出兩個子產品:CEM(Context Enhancement Module)和 SAE(Spatial Attention Module)。前者為特征融合,大意是FPN作用(增加上下文資訊、增大感受野)的簡略版;後者為特征區域的re-weight,以減少較小的骨幹網絡帶來的特征表達能力弱的問題影響。
此外,作者通過一系列的消融學習,實驗各個元素(輸入圖檔大小、骨幹網絡大小、檢測器的結構等)所構成的accuracy-efficiency平衡。最後得到一個以小的輸入圖檔大小( 320 ∗ 320 320*320 320∗320),小的骨幹網絡(經過改善的ShuffleNetV2),壓縮過的RPN網絡子產品,以及新設計的CEM和SAM子產品,等子產品為組合的輕量級檢測網絡。
網絡結構
ThunderNet 的
骨幹網絡為SNet,是以 ShuffleNetV2 為基礎修改而成,作者意為轉為目标檢測所做的修改。主要有兩處:(1)
使用 5 ∗ 5 5*5 5∗5 的depthwise卷積代替 3 ∗ 3 3*3 3∗3 的depthwise卷積。兩者運作時間相差不大,但能提升感受野,從121到193;(2)
各個stage的channel的改動。一共設計了三個不同容量的網絡,SNet49、SNet146、SNet535。對于SNet49,将Conv5的channel壓縮至512,同時增加較淺層的channel數量。對于SNet146和SNet535,移除Conv5,但增加較淺層的通道數。作者認為對于大的骨幹網絡而言,定位任務要比分類任務要難很多,淺層網絡層對于定位任務而言較為重要。
SNet49、SNet146、SNet535網絡設計如下圖所示。
RPN網絡子產品以 Light-Head RCNN 為基礎修改。在
RPN網絡的壓縮方面,修改如下:(1)用 5 ∗ 5 5*5 5∗5 的depthwise 卷積和 1 ∗ 1 1*1 1∗1 卷積代替原來的3*3卷積;(2)原來的PSRoI(position-sentitive) Pooling 前的特征圖通道數為 α ∗ p ∗ p , α = 10 , p = 7 \alpha * p * p,\alpha=10,p=7 α∗p∗p,α=10,p=7。在ThunderNet 上設定為 α = 5 \alpha=5 α=5,即壓縮通道為一半,因為ThunderNet使用更小的骨幹網絡和更小的輸入圖像大小;
CEMRPN網絡子產品除了壓縮的設計之外,還設計了兩個子產品
CEM(Context Enhancement Module)和 SAE(Spatial Attention Module),以彌補和改善檢測網絡的檢測效果。
CEM子產品可以認為是簡化版的FPN,其目的是融合不同感受野的特征。具體操作為:選擇C4,C5和Cglb作為融合特征的對象。Cglb是C5應用全局池化得到的特征。每一個要融合的特征都經過1*1的卷積得到特定的channel。C5通過上采樣,Cglb通過廣播,得到一樣大小的特征圖,進而進行融合。【由于論文中示例的RoI 輸入channel為245,故下圖所示的CEM結構也為245 channel。】
SAE子產品起的Attention機制的作用,設計的目的是想讓前景的值更大一些,背景的值更小一些。SAM利用RPN的相關知識來區分前景和背景(refine the feature distribution of the feature.)。RPN是有監督地訓練來區分前景區域的,是以其中間特征可以用以區分前景特征和背景特征。
SAM有兩個輸入:(1)RPN的中間特征圖;(2)CEM的那個融合特征圖。
SAM的輸出定義如下公式所示。其中 θ \theta θ在本文實驗中設定為 1 ∗ 1 1*1 1∗1的卷積,以獲得相同次元的特征圖。
F S A M = F C E M ∗ s i g m o i d ( θ ( F R P N ) ) F^{SAM}=F^{CEM}*sigmoid(\theta(F^{RPN})) FSAM=FCEM∗sigmoid(θ(FRPN))
在
COCO測試集上,ThunderNet檢測網絡與其他輕型檢測網絡的比較:
在
COCO資料集上,ThunderNet的速度最快,且效果能達到最好的一個檔位【SNet535結果和SSD321、DSSD321相當,但是計算量少很多。比MobileNetV2-SSDLite(22.1 vs 23.6)要好很多。】。而且,AP75的內插補點要比AP50要大,這意味着ThunderNet檢測器要比其他的檢測器要有更精确的bounding boxes.
在
VOC 2007測試集上,ThunderNet檢測網絡與其他檢測網絡的比較如下圖所示。可以看出,在VOC 2007資料集上,ThunderNet的檢測效果比Yolov2和SSD300、SSD321、R-FCN要好,和DSSD321差不多。但計算量要小。
不同容量的骨幹網絡的
檢測速度:
- 輸入圖檔的大小和骨幹網絡的容量大小應該是相比對的;
- 不同的輕型網絡為骨幹網所組建的檢測網絡效果:
- 骨幹網絡的大小和檢測器的大小: