ThunderNet | 輕量級實時檢測網絡

曠視科技:據我們所知,ThunderNet實現了ARM平臺上的第一個實時檢測器和最快的單線程速度。

論文地址
代碼即將開源

一:網絡整體介紹

ThunderNet的整體架構如下圖所示。 ThunderNet使用320×320像素作爲網絡的輸入分辨率。整體的網絡結構分爲兩部分:Backbone部分和Detection部分。網絡的骨幹部分爲SNet,SNet是基於ShuffleNetV2進行修改得到的。 網絡的檢測部分,利用了壓縮的RPN網絡,修改自Light-Head R-CNN網絡用以提高效率。 並提出Context Enhancement Module整合局部和全局特徵增強網絡特徵表達能力。 並提出Spatial Attention Module空間注意模塊,引入來自RPN的前後景信息用以優化特徵分佈。

二:backbone 部分

1.輸入分辨率
爲了加快推理(前向操作)速度,作者使用320*320大小的輸入圖像。需要注意的是,在實踐中,我們觀察到輸入分辨率應該與骨幹網絡的能力相匹配。 具有大輸入的小骨幹和具有小輸入的大骨幹都不是最佳的選擇。

2.骨幹網絡(backbone)
骨幹網絡需要具有兩大特點,第一:大的感受野很重要。第二:淺層特徵位置信息豐富,深層特徵區分度更大,因此需要兼顧這兩種特徵。而作者認爲主流的輕量級網絡違法了上述原則,比如ShuffleNetV1/V2限制了感受野。ShuffleNetV2 和MobileNetV2 缺乏淺層特徵,而Xception 在計算預算低下的情況下缺乏深層特徵。

主流的輕量級網絡詳解:
ShuffleNet V1/V2 | 輕量級深層神經網絡
MobileNets V1/V2 | 輕量級深層神經網絡
SqueezeNext | 輕量級深層神經網絡
SqueezeNet | 輕量級深層神經網絡

基於上述原因,作者在ShufflenetV2的基準下,結合上述特性對ShufflenetV2進行修改並命名爲SNet。如下圖所示,作者給出了集中不同形式的SNet網絡。

SNet49用於更快的推理,SNet535用於更好的精度,SNet146用於更好的速度/精度權衡。首先,我們用5×5深度可分離卷積替換ShuffleNetV2中的所有3×3深度可分離卷積(來自Mobilenetv1)。在實踐中,5×5深度卷積提供與3×3對應物相似的運行速度,同時有效地擴大了感受野。在SNet146和SNet535中,作者刪除了Conv5並在淺層特徵提取階段添加了更多通道。此設計可生成更多位置信息,而無需額外的計算成本。在SNet49中,作者將Conv5壓縮爲512個通道,而不是將其刪除,並在淺層特徵提取階段增加通道,以便實現淺層和深層特徵間更好的平衡。作者認爲刪除Conv5,骨幹網絡就無法提取足夠的信息。而且要是保留1024維度的Conv5層,骨幹網絡就會受到有限的淺層特徵的影響。上圖顯示了主幹的整體架構。此外,下文中將Stage3和Stage4的最後輸出特徵圖(SNet49的Conv5)表示爲C4和C5。

三:Detection部分

檢測部分沿用了Light-Head R-CNN網絡的結構,雖然該網絡使用輕量級的檢測器,但當與上述的SNet這個更輕量級的骨幹網絡耦合時它仍然太重,並且會引起骨幹網絡和檢測器之間的不平衡。 這種不平衡不僅導致冗餘計算,而且增加了過度擬合的風險。上述骨幹網絡部分中輸入分辨率不匹配也會導致類似問題。
爲了解決這個問題,作者使用一個5×5的深度可分離卷積(mobilenetv1中)和1×1卷積,替換原始RPN網絡中的3×3的卷積。並且在RPN網絡中使用的尺度大小爲{32×32,64×64,128×128,256×256,512×512},anchor的長寬比爲{1:2,3:4,1:1,4:3,2:1}。其餘參數和Light-Head R-CNN中的一致。檢測部分主要的創新點是,提出了Context Enhancement ModuleSpatial Attention Module這兩種策略。

1.Context Enhancement Module
Light-Head R-CNN網絡中在骨幹網絡之後利用GCN:Global Convolutional Network產生更小的特徵圖,這雖然增加了感受野但卻提升了計算複雜度,因此在本文提出的網絡中沒有使用GCN。然而,感受野小且在沒有GCN的情況下網絡很難提取到足夠的可分辨的特徵信息。 爲了解決這個問題,本文使用了特徵金字塔網絡(FPN)。 然而,原始的FPN結構涉及許多額外的卷積和多個檢測分支,這增加了計算成本並且引起了巨大的運行時間延遲。因此,基於FPN,本文提出了Context Enhancement Module (CEM),示意圖如下。

CEM的關鍵思想是聚合多尺度局部信息和全局信息,以生成區分性更強的特徵。在CEM中,合併三個尺度的特徵圖:C4,C5和Cglb(在C5上應用全局平均池化得到Cglb作爲全局特徵信息)。

  • 尺度一:C4特徵圖上應用1×1卷積以將通道數量壓縮爲α×p×p = 245
  • 尺度二:C5進行上採樣 + C5特徵圖上應用1×1卷積以將通道數量壓縮爲α×p×p = 245
  • 尺度三:Cglb進行Broadcast + Cglb特徵圖上應用1×1卷積以將通道數量壓縮爲α×p×p = 245 。

通過利用局部和全局信息,CEM有效地擴大了感受野,並細化了薄特徵圖的表示能力。與先前的FPN結構相比,CEM僅涉及兩個1×1卷積和fc層,這更加計算友好。

2.Spatial Attention Module

在進行RoI操作的時候,我們期望背景區域中的特徵不被關注,且前景物體的特徵被強烈關注。 然而,由於本文的檢測網絡利用的是輕量級骨幹網絡和小分辨率輸入圖像,因此很難學習到正確的特徵分佈。出於這個原因,作者設計了一個計算友好的空間注意模塊(SAM),以便在RoI扭曲空間維度之前顯式地重新加權特徵圖,引導網絡學習到正確的前景背景特徵分佈。SAM的關鍵思想是使用來自RPN學習到的知識來細化特徵圖的特徵分佈。因爲訓練RPN網絡時,網絡就是以前景目標作爲監督來訓練的。 因此,RPN網絡可以用於區分前景特徵和背景特徵。

SAM有兩個輸入,分別來自於CEM和RPN,而輸出如下公式所示:

這裏θ(·)是一個尺寸變換,以匹配兩組特徵圖中的通道數。 sigmoid函數用於約束[0,1]內的值。 最後,通過生成的特徵映射對,使得CEM進行重新加權,以獲得更好的特徵分佈。 爲了計算效率,我們將1×1卷積應用於θ(·),因此CEM的計算成本可以忽略不計。 如下圖所示,顯示了SAM的結構。

四:網絡效果展示

VOC 2007測試的評估結果。 ThunderNet以更低的計算成本超越競爭模型

COCO test-dev的評估結果。 採用SNet49的ThunderNet實現了MobileNet-SSD級精度,確快將近五倍。 採用SNet146的ThunderNet與輕型one-stage檢測網絡相比,具有更高的精度。 採用SNet535的ThunderNet可與大型檢測網絡相媲美,計算成本顯着降低。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章