?

結合輕量化骨干與多尺度融合的單階段檢測器

2022-12-21 03:23黃健宸王晗盧昊
中國圖象圖形學報 2022年12期
關鍵詞:特征提取輕量化尺度

黃健宸,王晗,盧昊

1. 北京林業大學信息學院,北京 100083; 2. 國家林業和草原局林業智能信息處理工程技術研究中心,北京 100083

0 引 言

在計算機視覺中,目標檢測一直是一個活躍的、重要的研究領域,在安防、醫療和自動駕駛等領域具有廣泛應用(Liu 等,2020)。目前基于卷積神經網絡(convolutional neural network,CNN)(Qin 等,2018;張珂 等,2021)的目標檢測方法可以有效提取圖像特征并進行檢測。與使用感興趣區域(region of interest, ROI)提取來獲取候選區域的兩階段方法(Girshick 等,2014;Ren 等,2015)不同,單階段方法(Liu 等,2016;Redmon和 Farhadi,2018;Ultralytics,2020)使用單一卷積模型基于回歸從圖像中進行特征提取并輸出檢測框的數量、位置和大小等信息,實時性較好(趙永強 等,2020),但具有較高檢測精度的模型存在著參數量和運算量過大的問題,難以在缺乏計算資源的環境部署與應用。因此,如何在維持檢測精度的條件下對模型進行輕量化成為重要的研究方向。

現有的單階段目標檢測網絡通常通過減少網絡的深度和寬度來構建輕量化的模型(Liu 等,2016;Ultralytics,2020)。然而這種模型輕量化方法會明顯削弱模型的特征提取能力,導致檢測精度相比于原模型顯著下降。人工設計網絡的簡化結構以及輕量化模塊是應用最廣泛的輕量化方案之一。VGGNet(Visual Geometry Group network)(Simonyan和Zisserman,2015)提出用3×3卷積堆疊代替大卷積核;ResNet(He 等,2016)提出Bottleneck結構減少大卷積的通道數;MobileNet(Howard 等,2017;Sandler 等,2018;Howard 等,2019)、GhostNet(Han 等,2020)、ShuffleNet(Zhang 等,2018;Ma 等,2018)等利用深度可分離卷積,設計了更為高效的特征提取模塊,并構建了輕量化的骨干網絡。然而,由于目標檢測網絡需要更大的感受野和不同層次的高質量特征來獲得物體的準確定位能力,直接將輕量化骨干網絡引入單階段檢測器會一定程度上降低檢測精度。因此,設計高效檢測器的首要目標是設計適合于檢測任務的輕量化骨干,并維持性能。

在典型的單階段目標檢測網絡中,SSD(single shot multibox detector)(Liu 等,2016)對骨干網(backbone)提取到的不同階段的特征圖直接進行回歸,然而由于網絡淺層特征的語義信息較弱,SSD在檢測小目標時效果不夠好。YOLOv3(you only look once version 3)(Redmon和Farhadi,2018)使用FPN(feature pyramid network)(Lin 等,2017)進行多尺度融合,將深層特征信息傳遞回淺層,加強淺層的特征。YOLOv4(Bochkovskiy 等,2020)與YOLOv5(Ultralytics,2020)使用更為復雜的PANet(path aggregation network)(Liu 等,2018),將融合后的淺層特征再傳遞到深層,用于進一步將淺層的紋理信息傳遞到深層,加強對大目標的精準定位。多尺度融合模塊能夠有效促進不同層次特征圖的信息流通(陳科圻 等,2021),但卻存在大量額外開銷。由于不同層次特征圖通道數和大小不一致,多尺度融合模塊需要大量的通道升降維與上下采樣操作,同時每次特征融合也需要特征提取模塊來整合不同來源的特征。因此,這些操作導致了FPN與PANet等多尺度融合模塊會顯著增加模型的復雜度。

針對上述單階段目標檢測網絡存在的問題,本文首先設計并構建了多種高效的輕量化CNN模塊,對網絡中存在的大量冗余卷積計算進行了優化,構建了輕量化的骨干網絡。對于多尺度特征融合造成的額外開銷,本文設計了更為高效輕量的EPANet(efficient PANet)結構,提出多尺度特征加權融合緩解通道降維的開銷,并增加中層特征的長跳連接緩解PANet存在的特征流失問題。以YOLOv5網絡結構為基礎,設計了E-YOLO(efficient-YOLO)網絡架構。在此基礎上構建了E-YOLOm與E-YOLOs兩種大小的模型以應對對于模型大小有極端要求的不同場景。實驗表明,本文提出的改進特征提取模塊能夠顯著降低網絡特征提取部分的開銷并提升檢測精度;改進的多尺度特征融合模塊EPANet具有與原始PANet接近的多尺度融合效果,并大幅降低開銷;與YOLOv5原架構相比,E-YOLO具有更高的性價比,能夠以極低的模型開銷,在多種數據集上有匹配甚至超越原架構的檢測精度,并優于其他CNN模型輕量化方法。

1 E-YOLO

1.1 整體結構

E-YOLO的整體結構如圖1所示。Focus層是YOLOv5中使用切片方式對通道數進行擴增的同時進行下采樣的模塊。GhostBottleneck、GhostC3和ESPP(efficient spatial pyramid pooling)分別為本文提出用于下采樣、特征提取和金字塔池化的輕量化改進模塊。在EPANet結構中,從深到淺的路徑使用加權融合方法來連接特征,并添加了一條從C4到P4的長跳加權融合(圖中虛線)。

圖1 E-YOLO網絡結構Fig.1 Structure of Efficient-YOLO network

1.2 輕量化模塊

1.2.1 Ghost模塊

GhostNet(Han 等,2020)是華為團隊提出的一種輕量化CNN網絡,其核心Ghost模塊(GhostConv)是通過原始卷積生成一部分特征圖,另一部分使用Cheap operation生成,Cheap operation可以是其余特征圖的線性變換,也可以是原始卷積的結果上通過Depthwise卷積生成相似的特征圖。GhostConv的結構如圖2(a)所示,C1和C2是輸入和輸出通道數,輸出特征圖的一半來自一次常規卷積,另一半在第1次的結果上通過5×5的Depthwise卷積生成。與原始卷積層相比,GhostConv能夠使用更少的復雜度達到相同甚至更高效的特征提取效果。在CNN網絡中,普遍存在大量冗余的卷積計算與中間特征圖,而Ghost卷積迫使網絡從一半的卷積核中學習有用的特征。同時,使用Depthwise卷積生成這部分卷積的“幻影”特征圖,5×5大小的Depthwise卷積能夠使得生成的特征圖的感受野大于第1次卷積運算,使得特征圖整體的信息量得以提升。

GhostBottleneck層是對ResNet(He 等,2016)中Bottleneck層使用Ghost卷積進行輕量化改進,圖2(b)為步長為1時的結構,由兩個核為1×1的Ghost卷積堆疊和殘差連接組成。exp作為超參,代表GhostBottleneck層的膨脹率,在第1次GhostConv卷積后增加或降低通道數,第2次進行還原。膨脹率大于1時,GhostBottleneck層使得特征圖先通過1×1的GhostConv擴大通道數,在更大的通道數中通過Depthwise卷積進行大感受野特征提取,獲得和低通道數下使用3×3卷積相同的效果,減少3×3卷積所帶來的計算開銷。圖2(c)為步長為2時GhostBottleneck的結構,增加了Depthwise卷積用于在兩次GhostConv之間對特征圖進行下采樣。為了保證殘差分支的特征與原始特征的維度一致,使用Depthwise卷積進行下采樣,再使用原始的1×1卷積改變通道數。步長為2的GhostBottleneck層能夠使得在同時進行特征圖下采樣與通道升降維操作時通過堆疊的GhostConv進行特征提取,同時能夠通過殘差連接緩解梯度消失問題,相比于直接使用3×3的卷積層或池化層,具有更高的特征提取與梯度傳遞能力。

圖2 4種Ghost模塊結構Fig.2 Structures of four Ghost modules((a) GhostConv; (b) GhostBottleneck(stride=1); (c) GhostBottleneck(stride=2); (d) GhostC3)

本文使用上述3種Ghost模塊對網絡進行卷積層輕量化,其中,GhostConv單獨用于在EPANet中進行通道降維,步長為1的GhostBottleneck用于構建GhostC3特征提取模塊,步長為2時用于在backbone中進行特征圖下采樣與通道升維。

YOLOv5在backbone部分使用步長為2的3×3的卷積層來進行通道升維與特征圖下采樣操作,而單獨使用卷積層同時進行這兩種操作是十分低效的。本文使用步長為2的GhostBottleneck模塊完成相同的操作,可以有效減少3×3卷積層帶來的額外計算開銷,使網絡從原特征圖中學習有用的信息,丟棄無用信息,從而在不減少特征提取能力的條件下有效減少參數量。同時,GhostBottleneck模塊中的殘差連接結構能夠促進網絡的淺層特征向深層傳遞,有效緩解普通卷積帶來的梯度消失問題。YOLOv5中PANet使用1×1的逐點卷積進行通道降維,這種方式同樣忽略了大量冗余特征圖帶來的無用計算。本文使用1×1的GhostConv將其替換。由于使用了Depthwise卷積,一定程度上也促進了空間信息的流通。

YOLOv5提出使用C3模塊在Backbone中的各個階段進行特征提取與在PANet中進行多尺度特征融合。C3模塊是YOLOv5借鑒CSPNet(cross stage partial network)(Wang 等,2020a)所設計的特征提取模塊,其中多個Bottleneck層的堆疊造成了極大的開銷。本文設計了特征提取效率更高的GhostC3模塊以減少網絡的主要開銷,如圖2(d)所示,提出使用膨脹率為0.5的GhostBottleneck層替換了Bottleneck層。在GhostC3的主分支使用1×1卷積降低通道數后,使用膨脹率小于1的GhostBottleneck層能夠迫使網絡從更小的通道數中提取更高質量的特征圖,再通過GhostConv還原通道數。

為了加強GhostC3模塊的特征提取效率,在GhostBottleneck之后,在殘差連接之前,本文設計了用于對GhostBottleneck提取到的特征圖同時進行空間域與通道域增強特征信息的LCS(local channel and spatial)模塊,以極低的開銷使得所有特征圖中更加重要的區域與通道維度具有更多信息量的特征圖獲得更高的權重,輔助提升特征提取的效率。LCS結構如圖3所示,由空間注意模塊SA(spatial attention)和通道注意模塊CA(channel attention)組成。SA模塊是CBAM(convolutional block attention module)(Woo 等,2018)模塊中的一部分,對于任意通道數大小的特征圖具有相同的開銷,能夠加強所有特征圖中的前景表達。其使用通道域的平均池化(channel average pool,CAP)和最大值池化(channel maximum pool,CMP)操作生成全部特征圖的聚合特征,并使用7×7的卷積來獲得感興趣的區域,經Sigmoid激活后與輸入特征點乘。ECA(efficient channel attention)模塊(Wang 等,2020b)是一種高效的局部通道注意力機制,其全局平均池化(global average pool,GAP)操作生成所有通道的表征1維向量,再通過1維卷積學習某一通道和周圍通道的關系來自適應地得到更加重要的通道特征圖,本文使用ECA模塊作為LCS的CA部分。由于SA和CA僅在低維空間進行卷積操作,其不會帶來額外的計算開銷。

圖3 LCS注意力模塊結構Fig.3 Structure of attention module LCS

1.2.2 高效特征金字塔池化ESPP模塊

ESPP是SPP(spatial pyramid pooling)(He 等,2015)的輕量化改進,其結構如圖4所示。ESPP使用3個串聯的5×5池化層等價代替SPP中3個并聯的池化層,減少多余的池化操作。對不同感受野池化后的特征圖進行融合對于物體大小差異較大的情況是有利的,其對于最終的檢測結果有一定的改善。在SPP中,兩個1×1卷積層用于降維和通道間信息融合。由于SPP通常用于骨干網絡中通道維度較高的最后階段,這導致了巨大的卷積計算開銷。因此,兩個核為1×1的GhostConv用來代替1×1卷積。同時,ESPP中的兩個GhostConv可以認為是一個沒有殘差連接的GhostBottleneck模塊,這也促進了空間的信息流通。

1.3 高效多尺度融合結構EPANet

本文提出高效的多尺度融合結構EPANet來緩解PANet的冗余開銷,其結構如圖5所示。在EPANet中,首先提出一種高效的加權融合方法,避免PANet中上行融合的Concatenate操作導致的通道數翻倍,計算為

F=F1·(Sigmoid(w))+F2·(1-Sigmoid(w))

(1)

該方法通過引入一個可學習的參數w,使模型自適應地學習不同階段特征(F1和F2)的重要性權重,并通過Sigmoid激活函數保證獲取到的權重值在0和1之間,并使兩者相加等于1,以此計算融合特征F。這種加權方式使得本階段的特征可以從其他階段的特征中學習到自適應的注意力增強,而不是使用Concatenate直接在通道維度將兩者疊加,再通過卷積層進行降維,造成不必要的開銷。

圖4 SPP與ESPP結構圖Fig.4 Structures of SPP and ESPP((a) SPP; (b) ESPP)

圖5 EPANet結構Fig.5 Structure of EPANet

EPANet的下行融合通過步長為2的3×3最大池化層進行特征圖下采樣操作。由于下采樣操作伴隨著信息流失,因此單獨使用卷積層進行是非常低效的。相比于卷積層,池化層在下采樣時的性價比更高。

EPANet的原結構的P3與P5階段特征相較于P4階段特征,從backbone獲取到的原始特征都只經過了一次Concatenate或加權融合,直接傳遞到最終整合階段的GhostC3模塊。在多尺度融合結構中,從backbone到Neck的同一級別特征的最短路徑,稱其為“干路”,其余路徑稱為“支路”。支路的作用是對干路特征進行多尺度注意力增強,干路特征則保留了backbone中的原始特征信息。在PANet中,C4階段的特征由于在干路上通過了兩次融合操作,其本身的原始特征會被深層特征和淺層特征進行多次融合,原始特征的作用會減弱。在EPANet中,為了緩解這種“特征流失”現象,增加了一條由backbone中C4特征到Neck中P4特征的長跳連接,使用加權融合的方式,自適應地加強P4特征的原始信息。改進后的EPANet與原始PANet相比,第1階段和第2階段都可以直接獲得backbone中提取到的原始特征,且不會增加額外的計算開銷。

2 實 驗

2.1 實驗設置

本文方法在Ubuntu18.04環境下,基于PyTorch深度學習框架和YOLOv5(Ultralytics,2020)框架實現。訓練時使用YOLOv5框架v5.0版本默認的參數設置。在訓練VOC(visual object classes)數據集時不加載預訓練參數進行從頭訓練,訓練GlobalWheat2020數據集時使用相同網絡結構在VOC數據集上的預訓練參數進行微調。

通過手工設計或使用神經結構搜索(neural architecture search,NAS)(唐浪 等,2021)來確定Efficient-YOLO在backbone與EPANet中的特征通道數是一項耗時的工作。因此,本文基本上遵循YOLOv5框架通過調整網絡深度和寬度構建的最小的兩個模型YOLOv5m和YOLOv5s的各階段通道數,使用Efficient-YOLO的網絡架構構建E-YOLOm和E-YOLOs兩個不同大小的模型。其中,GhostC3中步長為1的GhostBottleneck模塊的數量也被設置為與YOLOv5中C3模塊的Bottleneck模塊數量相同,不同階段的特征圖的大小也與之相同。按照該原則構建后的E-YOLOm與E-YOLOs的計算量與參數量均小于YOLOv5框架提供的最小的模型YOLOv5s。E-YOLO的架構設置提供了一個基本的設計供參考,具體而言,E-YOLOs相較于E-YOLOm模型參數量和計算量更低,適合需要極端低復雜度的環境。

2.2 數據集

1)VOC數據集。全稱為The PASCAL Visual Object Classes(Everingham等,2010),是一個廣泛使用的圖像目標檢測數據集,包含16 551幅訓練圖像和4 952幅測試圖像。其中包含4個大類,20個小類的目標。本文使用VOC數據集來驗證模型在通用常規場景下的檢測性能。

2)GlobalWheat2020數據集。GlobalWheat2020(David等,2020)包含3 000余幅圖像。該數據集只有麥穗一個類別,平均每幅圖像超過20個麥穗。本文使用該數據集驗證模型的小目標的檢測能力,選取1/10的數據作為測試集。

2.3 評價指標和方法

使用mAP@0.5和AP(average precision)兩種檢測精度指標來評估提出方法的有效性。mAP@0.5為交并比(intersection over union,IoU)閾值為0.5時的平均精度,能有效表示目標檢測方法中目標的漏檢率、準確率和目標分類的準確性;AP又稱mAP@0.5 ∶0.95,為IoU閾值為0.5-0.95,步長為0.05時多個閾值的平均精度,主要用于評估目標檢測方法的邊界框回歸與真實標簽的近似程度。同時,使用模型的總浮點運算次數(floating point operations, FLOPs)與模型的總參數量來評價輕量化網絡Efficient-YOLO的輕量化程度。

2.4 定量實驗結果

如表1所示,在細節上,本文依據各階段特征圖的大小分別設置E-YOLO用于下采樣與通道升維的GhostBottleneck層的擴張率Exp(expansion rate),避免過高的通道維數導致卷積層過高的計算量與參數量開銷。E-YOLO網絡與原架構相比,計算量與參數量均減少到了約1/3,同時,E-YOLOm的開銷要小于YOLOv5s,具備極高的模型壓縮比。在VOC數據集上,E-YOLOs的mAP@0.5與AP均略高于YOLOv5s。E-YOLOm的AP與mAP@0.5均明顯高于YOLOv5s,相比于YOLOv5m十分接近。實驗表明,E-YOLO網絡相比于其原架構網絡能夠顯著提升同等參數量與計算量下在常規目標檢測數據集VOC上的檢測精度,具備更高的性價比。在GlobalWheat2020數據集上,本文提出的兩種網絡雖然不能在存在大量小目標的小麥檢測數據集上超越同架構的網絡,但檢測能力十分接近。同時,E-YOLOm在該數據集上依然能夠獲得超越YOLOv5s的檢測精度,證明其在相近的開銷下能在小目標居多的任務中獲得更高的檢測。

表1 在VOC和GlobalWheat2020上的平均準確率與模型大小對比Table 1 Comparison of mAP and model size of different models on VOC and GlobalWheat2020

圖6為不同模型在VOC數據集與GlobalWheat2020數據集的檢測效果圖??梢钥闯?,E-YOLO網絡具有非常接近輕量化前模型的檢測效果。

圖6 不同模型的檢測結果Fig.6 Detection results of different models((a) YOLOv5m; (b) E-YOLOm; (c) YOLOv5s; (d) E-YOLOs)

2.5 消融實驗

為了驗證本文方法對于模型大小以及檢測精度的影響,設計了一系列消融實驗。如表2所示,以YOLOv5s與YOLOv5m的原始網絡作為基線網絡,在VOC數據集上驗證了所提方法對最終結果的影響。

實驗表明,使用GhostBottleneck層進行通道升維與特征圖下采樣能夠在降低模型大小的條件下顯著提升模型的檢測精度,并對目標定位提升更為明顯。使用ESPP同樣也可以降低一定的模型大小,提升微量精度。LCS模塊、加權融合以及長跳連接不增加額外的開銷,且可提升檢測精度。使用GhostC3進行特征提取能夠顯著地降低模型的參數量與運算量,并且只降低微量的檢測精度。其余方法能夠少量降低參數量與運算量,但會減少微量精度。

使用GhostBottleneck下采樣與ESPP能夠提升檢測性能的結果表明,使用Ghost模塊代替常規卷積能夠有效提升模型的性能,證明其能夠一定程度減少卷積層的冗余度,提升特征的質量。

2.6 不同骨干網絡對比實驗

本文設計了提出的輕量化模型與其他輕量化CNN網絡的橫向對比實驗。目前的輕量化網絡主要是針對圖像分類任務中的特征提取部分進行改進,因此使用固定的多尺度融合Neck,只比較不同backbone的性能?,F有的輕量級backbone一般在每個階段都具有YOLOv5s相當數量的通道數,因此所有模型均使用原始YOLOv5s的PANet進行多尺度融合,故將不同模型的backbone部分按照特征圖的大小分成C3、C4和C5這3個階段與PANet進行連接來對比不同backbone對準確率的影響。

表2 在VOC數據集上的消融實驗Table 2 Ablation study on VOC

如表3所示,主流輕量化結構均能夠有效降低模型的參數量與運算量,但會伴隨著一定準確率的損失。實驗表明,本文提出的E-YOLO的backbone輕量化方法能夠在顯著降低運算量與參數量的同時顯著提升準確率,證明其相比于輕量化前的模型在復雜度上具備更高的效率。從VOC數據集上6.0%的AP的相對提升來看,E-YOLO的骨干網對于網絡對物體的精確定位有明顯幫助,其Backbone網絡能夠更加有效地區分前景特征與背景特征,其特征提取能力明顯高于其他主流輕量化網絡。

表3 在VOC和GlobalWheat2020上不同骨干網絡對比實驗Table 3 Comparative experiment of different backbone networks on VOC and GlobalWheat2020

3 結 論

為了更好地平衡單階段目標檢測器中的模型復雜度與準確率,提升模型效率,基于YOLOv5檢測框架,構建了大幅削減參數量與運算量的輕量化架構Efficient-YOLO。通過對特征提取模塊的仔細設計構建了在減少復雜度的同時提升準確率的輕量化骨干,并對含有多余操作的多尺度融合結構進行優化,構建了EPANet結構。Efficient-YOLO框架提供了E-YOLOm與E-YOLOs兩個不同規格的模型來應對具有不同程度復雜度需求的場景。

研究表明,基于Ghost模塊構建高效的卷積模塊可以有效提升檢測器的性能并降低復雜度;引入注意力模塊LCS可以以很低的計算成本提高骨干網絡特征提取的效率;在多尺度融合結構中,用加權融合操作合并不同階段的特征并不會犧牲性能,并且避免了降維;長跳連接可以緩解多尺度融合中的特征損失問題。

實驗結果表明,Efficient-YOLO具有良好的模型復雜度與準確率間的平衡,可以在較低的參數量和計算量下超越輕量化前模型在VOC以及GlobalWheat2020數據集上的準確率,并且AP的顯著提升表明,其對目標精確定位具備更好的表現。與其他輕量級骨干網的對比實驗表明,Efficient-YOLO的骨干設計能夠在不犧牲精度的條件下降低復雜度。

在未來的工作中,將進一步研究本文所基于Ghost模塊設計的特征提取模塊、注意力模塊與它們構成的骨干網絡是否能夠應用在其他目標檢測架構中,如兩階段架構。所提出的加權融合方案能否替代其他CNN任務中的特征融合,如語義分割等。

猜你喜歡
特征提取輕量化尺度
汽車輕量化集成制造專題主編
財產的五大尺度和五重應對
基于Gazebo仿真環境的ORB特征提取與比對的研究
一種輕量化自卸半掛車結構設計
一種輕量化自卸半掛車結構設計
基于Daubechies(dbN)的飛行器音頻特征提取
Bagging RCSP腦電特征提取算法
宇宙的尺度
瞄準掛車輕量化 鑼響掛車正式掛牌成立
用戶:輕量化掛車的使用體驗
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合