您當前的位置:首頁 > 農業

ThunderNet: 輕量級實時檢測網路

作者:由 yuanCruise 發表于 農業時間:2019-04-02

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

論文地址 程式碼即將開源

一:網路整體介紹

ThunderNet的整體架構如下圖所示。 ThunderNet使用320×320畫素作為網路的輸入解析度。整體的網路結構分為兩部分:Backbone部分和Detection部分。網路的骨幹部分為SNet,SNet是基於ShuffleNetV2進行修改得到的。 網路的檢測部分,利用了壓縮的RPN網路,修改自Light-Head R-CNN網路用以提高效率。 並提出Context Enhancement Module整合區域性和全域性特徵增強網路特徵表達能力。 並提出Spatial Attention Module空間注意模組,引入來自RPN的前後景資訊用以最佳化特徵分佈。

ThunderNet: 輕量級實時檢測網路

二:backbone 部分

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

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

主流的輕量級網路詳解:

ShuffleNet V1/V2 | 輕量級深層神經網路

MobileNets V1/V2 | 輕量級深層神經網路

SqueezeNext | 輕量級深層神經網路

SqueezeNet | 輕量級深層神經網路

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

ThunderNet: 輕量級實時檢測網路

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 Module

Spatial Attention Module

這兩種策略。

1.Context Enhancement Module

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

ThunderNet: 輕量級實時檢測網路

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,而輸出如下公式所示:

ThunderNet: 輕量級實時檢測網路

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

ThunderNet: 輕量級實時檢測網路

四:網路效果展示

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

ThunderNet: 輕量級實時檢測網路

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

ThunderNet: 輕量級實時檢測網路

標簽: 網路  特徵  卷積  輕量級  骨幹