黃健宸,王晗,盧昊
1. 北京林業(yè)大學(xué)信息學(xué)院,北京 100083; 2. 國(guó)家林業(yè)和草原局林業(yè)智能信息處理工程技術(shù)研究中心,北京 100083
在計(jì)算機(jī)視覺(jué)中,目標(biāo)檢測(cè)一直是一個(gè)活躍的、重要的研究領(lǐng)域,在安防、醫(yī)療和自動(dòng)駕駛等領(lǐng)域具有廣泛應(yīng)用(Liu 等,2020)。目前基于卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)(Qin 等,2018;張珂 等,2021)的目標(biāo)檢測(cè)方法可以有效提取圖像特征并進(jìn)行檢測(cè)。與使用感興趣區(qū)域(region of interest, ROI)提取來(lái)獲取候選區(qū)域的兩階段方法(Girshick 等,2014;Ren 等,2015)不同,單階段方法(Liu 等,2016;Redmon和 Farhadi,2018;Ultralytics,2020)使用單一卷積模型基于回歸從圖像中進(jìn)行特征提取并輸出檢測(cè)框的數(shù)量、位置和大小等信息,實(shí)時(shí)性較好(趙永強(qiáng) 等,2020),但具有較高檢測(cè)精度的模型存在著參數(shù)量和運(yùn)算量過(guò)大的問(wèn)題,難以在缺乏計(jì)算資源的環(huán)境部署與應(yīng)用。因此,如何在維持檢測(cè)精度的條件下對(duì)模型進(jìn)行輕量化成為重要的研究方向。
現(xiàn)有的單階段目標(biāo)檢測(cè)網(wǎng)絡(luò)通常通過(guò)減少網(wǎng)絡(luò)的深度和寬度來(lái)構(gòu)建輕量化的模型(Liu 等,2016;Ultralytics,2020)。然而這種模型輕量化方法會(huì)明顯削弱模型的特征提取能力,導(dǎo)致檢測(cè)精度相比于原模型顯著下降。人工設(shè)計(jì)網(wǎng)絡(luò)的簡(jiǎn)化結(jié)構(gòu)以及輕量化模塊是應(yīng)用最廣泛的輕量化方案之一。VGGNet(Visual Geometry Group network)(Simonyan和Zisserman,2015)提出用3×3卷積堆疊代替大卷積核;ResNet(He 等,2016)提出Bottleneck結(jié)構(gòu)減少大卷積的通道數(shù);MobileNet(Howard 等,2017;Sandler 等,2018;Howard 等,2019)、GhostNet(Han 等,2020)、ShuffleNet(Zhang 等,2018;Ma 等,2018)等利用深度可分離卷積,設(shè)計(jì)了更為高效的特征提取模塊,并構(gòu)建了輕量化的骨干網(wǎng)絡(luò)。然而,由于目標(biāo)檢測(cè)網(wǎng)絡(luò)需要更大的感受野和不同層次的高質(zhì)量特征來(lái)獲得物體的準(zhǔn)確定位能力,直接將輕量化骨干網(wǎng)絡(luò)引入單階段檢測(cè)器會(huì)一定程度上降低檢測(cè)精度。因此,設(shè)計(jì)高效檢測(cè)器的首要目標(biāo)是設(shè)計(jì)適合于檢測(cè)任務(wù)的輕量化骨干,并維持性能。
在典型的單階段目標(biāo)檢測(cè)網(wǎng)絡(luò)中,SSD(single shot multibox detector)(Liu 等,2016)對(duì)骨干網(wǎng)(backbone)提取到的不同階段的特征圖直接進(jìn)行回歸,然而由于網(wǎng)絡(luò)淺層特征的語(yǔ)義信息較弱,SSD在檢測(cè)小目標(biāo)時(shí)效果不夠好。YOLOv3(you only look once version 3)(Redmon和Farhadi,2018)使用FPN(feature pyramid network)(Lin 等,2017)進(jìn)行多尺度融合,將深層特征信息傳遞回淺層,加強(qiáng)淺層的特征。YOLOv4(Bochkovskiy 等,2020)與YOLOv5(Ultralytics,2020)使用更為復(fù)雜的PANet(path aggregation network)(Liu 等,2018),將融合后的淺層特征再傳遞到深層,用于進(jìn)一步將淺層的紋理信息傳遞到深層,加強(qiáng)對(duì)大目標(biāo)的精準(zhǔn)定位。多尺度融合模塊能夠有效促進(jìn)不同層次特征圖的信息流通(陳科圻 等,2021),但卻存在大量額外開(kāi)銷。由于不同層次特征圖通道數(shù)和大小不一致,多尺度融合模塊需要大量的通道升降維與上下采樣操作,同時(shí)每次特征融合也需要特征提取模塊來(lái)整合不同來(lái)源的特征。因此,這些操作導(dǎo)致了FPN與PANet等多尺度融合模塊會(huì)顯著增加模型的復(fù)雜度。
針對(duì)上述單階段目標(biāo)檢測(cè)網(wǎng)絡(luò)存在的問(wèn)題,本文首先設(shè)計(jì)并構(gòu)建了多種高效的輕量化CNN模塊,對(duì)網(wǎng)絡(luò)中存在的大量冗余卷積計(jì)算進(jìn)行了優(yōu)化,構(gòu)建了輕量化的骨干網(wǎng)絡(luò)。對(duì)于多尺度特征融合造成的額外開(kāi)銷,本文設(shè)計(jì)了更為高效輕量的EPANet(efficient PANet)結(jié)構(gòu),提出多尺度特征加權(quán)融合緩解通道降維的開(kāi)銷,并增加中層特征的長(zhǎng)跳連接緩解PANet存在的特征流失問(wèn)題。以YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)為基礎(chǔ),設(shè)計(jì)了E-YOLO(efficient-YOLO)網(wǎng)絡(luò)架構(gòu)。在此基礎(chǔ)上構(gòu)建了E-YOLOm與E-YOLOs兩種大小的模型以應(yīng)對(duì)對(duì)于模型大小有極端要求的不同場(chǎng)景。實(shí)驗(yàn)表明,本文提出的改進(jìn)特征提取模塊能夠顯著降低網(wǎng)絡(luò)特征提取部分的開(kāi)銷并提升檢測(cè)精度;改進(jìn)的多尺度特征融合模塊EPANet具有與原始PANet接近的多尺度融合效果,并大幅降低開(kāi)銷;與YOLOv5原架構(gòu)相比,E-YOLO具有更高的性價(jià)比,能夠以極低的模型開(kāi)銷,在多種數(shù)據(jù)集上有匹配甚至超越原架構(gòu)的檢測(cè)精度,并優(yōu)于其他CNN模型輕量化方法。
E-YOLO的整體結(jié)構(gòu)如圖1所示。Focus層是YOLOv5中使用切片方式對(duì)通道數(shù)進(jìn)行擴(kuò)增的同時(shí)進(jìn)行下采樣的模塊。GhostBottleneck、GhostC3和ESPP(efficient spatial pyramid pooling)分別為本文提出用于下采樣、特征提取和金字塔池化的輕量化改進(jìn)模塊。在EPANet結(jié)構(gòu)中,從深到淺的路徑使用加權(quán)融合方法來(lái)連接特征,并添加了一條從C4到P4的長(zhǎng)跳加權(quán)融合(圖中虛線)。
圖1 E-YOLO網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Structure of Efficient-YOLO network
1.2.1 Ghost模塊
GhostNet(Han 等,2020)是華為團(tuán)隊(duì)提出的一種輕量化CNN網(wǎng)絡(luò),其核心Ghost模塊(GhostConv)是通過(guò)原始卷積生成一部分特征圖,另一部分使用Cheap operation生成,Cheap operation可以是其余特征圖的線性變換,也可以是原始卷積的結(jié)果上通過(guò)Depthwise卷積生成相似的特征圖。GhostConv的結(jié)構(gòu)如圖2(a)所示,C1和C2是輸入和輸出通道數(shù),輸出特征圖的一半來(lái)自一次常規(guī)卷積,另一半在第1次的結(jié)果上通過(guò)5×5的Depthwise卷積生成。與原始卷積層相比,GhostConv能夠使用更少的復(fù)雜度達(dá)到相同甚至更高效的特征提取效果。在CNN網(wǎng)絡(luò)中,普遍存在大量冗余的卷積計(jì)算與中間特征圖,而Ghost卷積迫使網(wǎng)絡(luò)從一半的卷積核中學(xué)習(xí)有用的特征。同時(shí),使用Depthwise卷積生成這部分卷積的“幻影”特征圖,5×5大小的Depthwise卷積能夠使得生成的特征圖的感受野大于第1次卷積運(yùn)算,使得特征圖整體的信息量得以提升。
GhostBottleneck層是對(duì)ResNet(He 等,2016)中Bottleneck層使用Ghost卷積進(jìn)行輕量化改進(jìn),圖2(b)為步長(zhǎng)為1時(shí)的結(jié)構(gòu),由兩個(gè)核為1×1的Ghost卷積堆疊和殘差連接組成。exp作為超參,代表GhostBottleneck層的膨脹率,在第1次GhostConv卷積后增加或降低通道數(shù),第2次進(jìn)行還原。膨脹率大于1時(shí),GhostBottleneck層使得特征圖先通過(guò)1×1的GhostConv擴(kuò)大通道數(shù),在更大的通道數(shù)中通過(guò)Depthwise卷積進(jìn)行大感受野特征提取,獲得和低通道數(shù)下使用3×3卷積相同的效果,減少3×3卷積所帶來(lái)的計(jì)算開(kāi)銷。圖2(c)為步長(zhǎng)為2時(shí)GhostBottleneck的結(jié)構(gòu),增加了Depthwise卷積用于在兩次GhostConv之間對(duì)特征圖進(jìn)行下采樣。為了保證殘差分支的特征與原始特征的維度一致,使用Depthwise卷積進(jìn)行下采樣,再使用原始的1×1卷積改變通道數(shù)。步長(zhǎng)為2的GhostBottleneck層能夠使得在同時(shí)進(jìn)行特征圖下采樣與通道升降維操作時(shí)通過(guò)堆疊的GhostConv進(jìn)行特征提取,同時(shí)能夠通過(guò)殘差連接緩解梯度消失問(wèn)題,相比于直接使用3×3的卷積層或池化層,具有更高的特征提取與梯度傳遞能力。
圖2 4種Ghost模塊結(jié)構(gòu)Fig.2 Structures of four Ghost modules((a) GhostConv; (b) GhostBottleneck(stride=1); (c) GhostBottleneck(stride=2); (d) GhostC3)
本文使用上述3種Ghost模塊對(duì)網(wǎng)絡(luò)進(jìn)行卷積層輕量化,其中,GhostConv單獨(dú)用于在EPANet中進(jìn)行通道降維,步長(zhǎng)為1的GhostBottleneck用于構(gòu)建GhostC3特征提取模塊,步長(zhǎng)為2時(shí)用于在backbone中進(jìn)行特征圖下采樣與通道升維。
YOLOv5在backbone部分使用步長(zhǎng)為2的3×3的卷積層來(lái)進(jìn)行通道升維與特征圖下采樣操作,而單獨(dú)使用卷積層同時(shí)進(jìn)行這兩種操作是十分低效的。本文使用步長(zhǎng)為2的GhostBottleneck模塊完成相同的操作,可以有效減少3×3卷積層帶來(lái)的額外計(jì)算開(kāi)銷,使網(wǎng)絡(luò)從原特征圖中學(xué)習(xí)有用的信息,丟棄無(wú)用信息,從而在不減少特征提取能力的條件下有效減少參數(shù)量。同時(shí),GhostBottleneck模塊中的殘差連接結(jié)構(gòu)能夠促進(jìn)網(wǎng)絡(luò)的淺層特征向深層傳遞,有效緩解普通卷積帶來(lái)的梯度消失問(wèn)題。YOLOv5中PANet使用1×1的逐點(diǎn)卷積進(jìn)行通道降維,這種方式同樣忽略了大量冗余特征圖帶來(lái)的無(wú)用計(jì)算。本文使用1×1的GhostConv將其替換。由于使用了Depthwise卷積,一定程度上也促進(jìn)了空間信息的流通。
YOLOv5提出使用C3模塊在Backbone中的各個(gè)階段進(jìn)行特征提取與在PANet中進(jìn)行多尺度特征融合。C3模塊是YOLOv5借鑒CSPNet(cross stage partial network)(Wang 等,2020a)所設(shè)計(jì)的特征提取模塊,其中多個(gè)Bottleneck層的堆疊造成了極大的開(kāi)銷。本文設(shè)計(jì)了特征提取效率更高的GhostC3模塊以減少網(wǎng)絡(luò)的主要開(kāi)銷,如圖2(d)所示,提出使用膨脹率為0.5的GhostBottleneck層替換了Bottleneck層。在GhostC3的主分支使用1×1卷積降低通道數(shù)后,使用膨脹率小于1的GhostBottleneck層能夠迫使網(wǎng)絡(luò)從更小的通道數(shù)中提取更高質(zhì)量的特征圖,再通過(guò)GhostConv還原通道數(shù)。
為了加強(qiáng)GhostC3模塊的特征提取效率,在GhostBottleneck之后,在殘差連接之前,本文設(shè)計(jì)了用于對(duì)GhostBottleneck提取到的特征圖同時(shí)進(jìn)行空間域與通道域增強(qiáng)特征信息的LCS(local channel and spatial)模塊,以極低的開(kāi)銷使得所有特征圖中更加重要的區(qū)域與通道維度具有更多信息量的特征圖獲得更高的權(quán)重,輔助提升特征提取的效率。LCS結(jié)構(gòu)如圖3所示,由空間注意模塊SA(spatial attention)和通道注意模塊CA(channel attention)組成。SA模塊是CBAM(convolutional block attention module)(Woo 等,2018)模塊中的一部分,對(duì)于任意通道數(shù)大小的特征圖具有相同的開(kāi)銷,能夠加強(qiáng)所有特征圖中的前景表達(dá)。其使用通道域的平均池化(channel average pool,CAP)和最大值池化(channel maximum pool,CMP)操作生成全部特征圖的聚合特征,并使用7×7的卷積來(lái)獲得感興趣的區(qū)域,經(jīng)Sigmoid激活后與輸入特征點(diǎn)乘。ECA(efficient channel attention)模塊(Wang 等,2020b)是一種高效的局部通道注意力機(jī)制,其全局平均池化(global average pool,GAP)操作生成所有通道的表征1維向量,再通過(guò)1維卷積學(xué)習(xí)某一通道和周圍通道的關(guān)系來(lái)自適應(yīng)地得到更加重要的通道特征圖,本文使用ECA模塊作為L(zhǎng)CS的CA部分。由于SA和CA僅在低維空間進(jìn)行卷積操作,其不會(huì)帶來(lái)額外的計(jì)算開(kāi)銷。
圖3 LCS注意力模塊結(jié)構(gòu)Fig.3 Structure of attention module LCS
1.2.2 高效特征金字塔池化ESPP模塊
ESPP是SPP(spatial pyramid pooling)(He 等,2015)的輕量化改進(jìn),其結(jié)構(gòu)如圖4所示。ESPP使用3個(gè)串聯(lián)的5×5池化層等價(jià)代替SPP中3個(gè)并聯(lián)的池化層,減少多余的池化操作。對(duì)不同感受野池化后的特征圖進(jìn)行融合對(duì)于物體大小差異較大的情況是有利的,其對(duì)于最終的檢測(cè)結(jié)果有一定的改善。在SPP中,兩個(gè)1×1卷積層用于降維和通道間信息融合。由于SPP通常用于骨干網(wǎng)絡(luò)中通道維度較高的最后階段,這導(dǎo)致了巨大的卷積計(jì)算開(kāi)銷。因此,兩個(gè)核為1×1的GhostConv用來(lái)代替1×1卷積。同時(shí),ESPP中的兩個(gè)GhostConv可以認(rèn)為是一個(gè)沒(méi)有殘差連接的GhostBottleneck模塊,這也促進(jìn)了空間的信息流通。
本文提出高效的多尺度融合結(jié)構(gòu)EPANet來(lái)緩解PANet的冗余開(kāi)銷,其結(jié)構(gòu)如圖5所示。在EPANet中,首先提出一種高效的加權(quán)融合方法,避免PANet中上行融合的Concatenate操作導(dǎo)致的通道數(shù)翻倍,計(jì)算為
F=F1·(Sigmoid(w))+F2·(1-Sigmoid(w))
(1)
該方法通過(guò)引入一個(gè)可學(xué)習(xí)的參數(shù)w,使模型自適應(yīng)地學(xué)習(xí)不同階段特征(F1和F2)的重要性權(quán)重,并通過(guò)Sigmoid激活函數(shù)保證獲取到的權(quán)重值在0和1之間,并使兩者相加等于1,以此計(jì)算融合特征F。這種加權(quán)方式使得本階段的特征可以從其他階段的特征中學(xué)習(xí)到自適應(yīng)的注意力增強(qiáng),而不是使用Concatenate直接在通道維度將兩者疊加,再通過(guò)卷積層進(jìn)行降維,造成不必要的開(kāi)銷。
圖4 SPP與ESPP結(jié)構(gòu)圖Fig.4 Structures of SPP and ESPP((a) SPP; (b) ESPP)
圖5 EPANet結(jié)構(gòu)Fig.5 Structure of EPANet
EPANet的下行融合通過(guò)步長(zhǎng)為2的3×3最大池化層進(jìn)行特征圖下采樣操作。由于下采樣操作伴隨著信息流失,因此單獨(dú)使用卷積層進(jìn)行是非常低效的。相比于卷積層,池化層在下采樣時(shí)的性價(jià)比更高。
EPANet的原結(jié)構(gòu)的P3與P5階段特征相較于P4階段特征,從backbone獲取到的原始特征都只經(jīng)過(guò)了一次Concatenate或加權(quán)融合,直接傳遞到最終整合階段的GhostC3模塊。在多尺度融合結(jié)構(gòu)中,從backbone到Neck的同一級(jí)別特征的最短路徑,稱其為“干路”,其余路徑稱為“支路”。支路的作用是對(duì)干路特征進(jìn)行多尺度注意力增強(qiáng),干路特征則保留了backbone中的原始特征信息。在PANet中,C4階段的特征由于在干路上通過(guò)了兩次融合操作,其本身的原始特征會(huì)被深層特征和淺層特征進(jìn)行多次融合,原始特征的作用會(huì)減弱。在EPANet中,為了緩解這種“特征流失”現(xiàn)象,增加了一條由backbone中C4特征到Neck中P4特征的長(zhǎng)跳連接,使用加權(quán)融合的方式,自適應(yīng)地加強(qiáng)P4特征的原始信息。改進(jìn)后的EPANet與原始PANet相比,第1階段和第2階段都可以直接獲得backbone中提取到的原始特征,且不會(huì)增加額外的計(jì)算開(kāi)銷。
本文方法在Ubuntu18.04環(huán)境下,基于PyTorch深度學(xué)習(xí)框架和YOLOv5(Ultralytics,2020)框架實(shí)現(xiàn)。訓(xùn)練時(shí)使用YOLOv5框架v5.0版本默認(rèn)的參數(shù)設(shè)置。在訓(xùn)練VOC(visual object classes)數(shù)據(jù)集時(shí)不加載預(yù)訓(xùn)練參數(shù)進(jìn)行從頭訓(xùn)練,訓(xùn)練GlobalWheat2020數(shù)據(jù)集時(shí)使用相同網(wǎng)絡(luò)結(jié)構(gòu)在VOC數(shù)據(jù)集上的預(yù)訓(xùn)練參數(shù)進(jìn)行微調(diào)。
通過(guò)手工設(shè)計(jì)或使用神經(jīng)結(jié)構(gòu)搜索(neural architecture search,NAS)(唐浪 等,2021)來(lái)確定Efficient-YOLO在backbone與EPANet中的特征通道數(shù)是一項(xiàng)耗時(shí)的工作。因此,本文基本上遵循YOLOv5框架通過(guò)調(diào)整網(wǎng)絡(luò)深度和寬度構(gòu)建的最小的兩個(gè)模型YOLOv5m和YOLOv5s的各階段通道數(shù),使用Efficient-YOLO的網(wǎng)絡(luò)架構(gòu)構(gòu)建E-YOLOm和E-YOLOs兩個(gè)不同大小的模型。其中,GhostC3中步長(zhǎng)為1的GhostBottleneck模塊的數(shù)量也被設(shè)置為與YOLOv5中C3模塊的Bottleneck模塊數(shù)量相同,不同階段的特征圖的大小也與之相同。按照該原則構(gòu)建后的E-YOLOm與E-YOLOs的計(jì)算量與參數(shù)量均小于YOLOv5框架提供的最小的模型YOLOv5s。E-YOLO的架構(gòu)設(shè)置提供了一個(gè)基本的設(shè)計(jì)供參考,具體而言,E-YOLOs相較于E-YOLOm模型參數(shù)量和計(jì)算量更低,適合需要極端低復(fù)雜度的環(huán)境。
1)VOC數(shù)據(jù)集。全稱為The PASCAL Visual Object Classes(Everingham等,2010),是一個(gè)廣泛使用的圖像目標(biāo)檢測(cè)數(shù)據(jù)集,包含16 551幅訓(xùn)練圖像和4 952幅測(cè)試圖像。其中包含4個(gè)大類,20個(gè)小類的目標(biāo)。本文使用VOC數(shù)據(jù)集來(lái)驗(yàn)證模型在通用常規(guī)場(chǎng)景下的檢測(cè)性能。
2)GlobalWheat2020數(shù)據(jù)集。GlobalWheat2020(David等,2020)包含3 000余幅圖像。該數(shù)據(jù)集只有麥穗一個(gè)類別,平均每幅圖像超過(guò)20個(gè)麥穗。本文使用該數(shù)據(jù)集驗(yàn)證模型的小目標(biāo)的檢測(cè)能力,選取1/10的數(shù)據(jù)作為測(cè)試集。
使用mAP@0.5和AP(average precision)兩種檢測(cè)精度指標(biāo)來(lái)評(píng)估提出方法的有效性。mAP@0.5為交并比(intersection over union,IoU)閾值為0.5時(shí)的平均精度,能有效表示目標(biāo)檢測(cè)方法中目標(biāo)的漏檢率、準(zhǔn)確率和目標(biāo)分類的準(zhǔn)確性;AP又稱mAP@0.5 ∶0.95,為IoU閾值為0.5-0.95,步長(zhǎng)為0.05時(shí)多個(gè)閾值的平均精度,主要用于評(píng)估目標(biāo)檢測(cè)方法的邊界框回歸與真實(shí)標(biāo)簽的近似程度。同時(shí),使用模型的總浮點(diǎn)運(yùn)算次數(shù)(floating point operations, FLOPs)與模型的總參數(shù)量來(lái)評(píng)價(jià)輕量化網(wǎng)絡(luò)Efficient-YOLO的輕量化程度。
如表1所示,在細(xì)節(jié)上,本文依據(jù)各階段特征圖的大小分別設(shè)置E-YOLO用于下采樣與通道升維的GhostBottleneck層的擴(kuò)張率Exp(expansion rate),避免過(guò)高的通道維數(shù)導(dǎo)致卷積層過(guò)高的計(jì)算量與參數(shù)量開(kāi)銷。E-YOLO網(wǎng)絡(luò)與原架構(gòu)相比,計(jì)算量與參數(shù)量均減少到了約1/3,同時(shí),E-YOLOm的開(kāi)銷要小于YOLOv5s,具備極高的模型壓縮比。在VOC數(shù)據(jù)集上,E-YOLOs的mAP@0.5與AP均略高于YOLOv5s。E-YOLOm的AP與mAP@0.5均明顯高于YOLOv5s,相比于YOLOv5m十分接近。實(shí)驗(yàn)表明,E-YOLO網(wǎng)絡(luò)相比于其原架構(gòu)網(wǎng)絡(luò)能夠顯著提升同等參數(shù)量與計(jì)算量下在常規(guī)目標(biāo)檢測(cè)數(shù)據(jù)集VOC上的檢測(cè)精度,具備更高的性價(jià)比。在GlobalWheat2020數(shù)據(jù)集上,本文提出的兩種網(wǎng)絡(luò)雖然不能在存在大量小目標(biāo)的小麥檢測(cè)數(shù)據(jù)集上超越同架構(gòu)的網(wǎng)絡(luò),但檢測(cè)能力十分接近。同時(shí),E-YOLOm在該數(shù)據(jù)集上依然能夠獲得超越Y(jié)OLOv5s的檢測(cè)精度,證明其在相近的開(kāi)銷下能在小目標(biāo)居多的任務(wù)中獲得更高的檢測(cè)。
表1 在VOC和GlobalWheat2020上的平均準(zhǔn)確率與模型大小對(duì)比Table 1 Comparison of mAP and model size of different models on VOC and GlobalWheat2020
圖6為不同模型在VOC數(shù)據(jù)集與GlobalWheat2020數(shù)據(jù)集的檢測(cè)效果圖。可以看出,E-YOLO網(wǎng)絡(luò)具有非常接近輕量化前模型的檢測(cè)效果。
圖6 不同模型的檢測(cè)結(jié)果Fig.6 Detection results of different models((a) YOLOv5m; (b) E-YOLOm; (c) YOLOv5s; (d) E-YOLOs)
為了驗(yàn)證本文方法對(duì)于模型大小以及檢測(cè)精度的影響,設(shè)計(jì)了一系列消融實(shí)驗(yàn)。如表2所示,以YOLOv5s與YOLOv5m的原始網(wǎng)絡(luò)作為基線網(wǎng)絡(luò),在VOC數(shù)據(jù)集上驗(yàn)證了所提方法對(duì)最終結(jié)果的影響。
實(shí)驗(yàn)表明,使用GhostBottleneck層進(jìn)行通道升維與特征圖下采樣能夠在降低模型大小的條件下顯著提升模型的檢測(cè)精度,并對(duì)目標(biāo)定位提升更為明顯。使用ESPP同樣也可以降低一定的模型大小,提升微量精度。LCS模塊、加權(quán)融合以及長(zhǎng)跳連接不增加額外的開(kāi)銷,且可提升檢測(cè)精度。使用GhostC3進(jìn)行特征提取能夠顯著地降低模型的參數(shù)量與運(yùn)算量,并且只降低微量的檢測(cè)精度。其余方法能夠少量降低參數(shù)量與運(yùn)算量,但會(huì)減少微量精度。
使用GhostBottleneck下采樣與ESPP能夠提升檢測(cè)性能的結(jié)果表明,使用Ghost模塊代替常規(guī)卷積能夠有效提升模型的性能,證明其能夠一定程度減少卷積層的冗余度,提升特征的質(zhì)量。
本文設(shè)計(jì)了提出的輕量化模型與其他輕量化CNN網(wǎng)絡(luò)的橫向?qū)Ρ葘?shí)驗(yàn)。目前的輕量化網(wǎng)絡(luò)主要是針對(duì)圖像分類任務(wù)中的特征提取部分進(jìn)行改進(jìn),因此使用固定的多尺度融合Neck,只比較不同backbone的性能?,F(xiàn)有的輕量級(jí)backbone一般在每個(gè)階段都具有YOLOv5s相當(dāng)數(shù)量的通道數(shù),因此所有模型均使用原始YOLOv5s的PANet進(jìn)行多尺度融合,故將不同模型的backbone部分按照特征圖的大小分成C3、C4和C5這3個(gè)階段與PANet進(jìn)行連接來(lái)對(duì)比不同backbone對(duì)準(zhǔn)確率的影響。
表2 在VOC數(shù)據(jù)集上的消融實(shí)驗(yàn)Table 2 Ablation study on VOC
如表3所示,主流輕量化結(jié)構(gòu)均能夠有效降低模型的參數(shù)量與運(yùn)算量,但會(huì)伴隨著一定準(zhǔn)確率的損失。實(shí)驗(yàn)表明,本文提出的E-YOLO的backbone輕量化方法能夠在顯著降低運(yùn)算量與參數(shù)量的同時(shí)顯著提升準(zhǔn)確率,證明其相比于輕量化前的模型在復(fù)雜度上具備更高的效率。從VOC數(shù)據(jù)集上6.0%的AP的相對(duì)提升來(lái)看,E-YOLO的骨干網(wǎng)對(duì)于網(wǎng)絡(luò)對(duì)物體的精確定位有明顯幫助,其Backbone網(wǎng)絡(luò)能夠更加有效地區(qū)分前景特征與背景特征,其特征提取能力明顯高于其他主流輕量化網(wǎng)絡(luò)。
表3 在VOC和GlobalWheat2020上不同骨干網(wǎng)絡(luò)對(duì)比實(shí)驗(yàn)Table 3 Comparative experiment of different backbone networks on VOC and GlobalWheat2020
為了更好地平衡單階段目標(biāo)檢測(cè)器中的模型復(fù)雜度與準(zhǔn)確率,提升模型效率,基于YOLOv5檢測(cè)框架,構(gòu)建了大幅削減參數(shù)量與運(yùn)算量的輕量化架構(gòu)Efficient-YOLO。通過(guò)對(duì)特征提取模塊的仔細(xì)設(shè)計(jì)構(gòu)建了在減少?gòu)?fù)雜度的同時(shí)提升準(zhǔn)確率的輕量化骨干,并對(duì)含有多余操作的多尺度融合結(jié)構(gòu)進(jìn)行優(yōu)化,構(gòu)建了EPANet結(jié)構(gòu)。Efficient-YOLO框架提供了E-YOLOm與E-YOLOs兩個(gè)不同規(guī)格的模型來(lái)應(yīng)對(duì)具有不同程度復(fù)雜度需求的場(chǎng)景。
研究表明,基于Ghost模塊構(gòu)建高效的卷積模塊可以有效提升檢測(cè)器的性能并降低復(fù)雜度;引入注意力模塊LCS可以以很低的計(jì)算成本提高骨干網(wǎng)絡(luò)特征提取的效率;在多尺度融合結(jié)構(gòu)中,用加權(quán)融合操作合并不同階段的特征并不會(huì)犧牲性能,并且避免了降維;長(zhǎng)跳連接可以緩解多尺度融合中的特征損失問(wèn)題。
實(shí)驗(yàn)結(jié)果表明,Efficient-YOLO具有良好的模型復(fù)雜度與準(zhǔn)確率間的平衡,可以在較低的參數(shù)量和計(jì)算量下超越輕量化前模型在VOC以及GlobalWheat2020數(shù)據(jù)集上的準(zhǔn)確率,并且AP的顯著提升表明,其對(duì)目標(biāo)精確定位具備更好的表現(xiàn)。與其他輕量級(jí)骨干網(wǎng)的對(duì)比實(shí)驗(yàn)表明,Efficient-YOLO的骨干設(shè)計(jì)能夠在不犧牲精度的條件下降低復(fù)雜度。
在未來(lái)的工作中,將進(jìn)一步研究本文所基于Ghost模塊設(shè)計(jì)的特征提取模塊、注意力模塊與它們構(gòu)成的骨干網(wǎng)絡(luò)是否能夠應(yīng)用在其他目標(biāo)檢測(cè)架構(gòu)中,如兩階段架構(gòu)。所提出的加權(quán)融合方案能否替代其他CNN任務(wù)中的特征融合,如語(yǔ)義分割等。