中圖分類號:TP391 文獻標志碼:A
Lightweight object detection algorithm based on YOLOX and its application
CHAI Weizhen, WANG Chaoli, SUN Zhanquan (School of Optical-Electrical and Computer Engineering, University of Shanghai for Science and Technology, Shanghai 200093, China)
Abstract: Object detection algorithms are widely used in the field of production safety. To address the problems of slow detection speed and low detection accuracy in complex construction environments, an improved YOLOX detection algorithm was proposed. First, based on the lightweight convolution module Ghost moudle, the backbone network was reconstructed to compress the model parameters and computational complexity, thereby improving detection speed. Second, embedding the coordinate attention mechanism at the output of the backbone network to enhance the model's ability to learn key position information. Finally, recursive gated convolution was introduced into the neck network to enhance the model's spatial position perception ability and capture long-range dependencies in the image. The improved model are experimentally validated on the Pascal VOC and SHWD datasets, comparing with the baseline model, mean average precision increase by 1.69% and 1.1% respectively, model parameter count decrease by 18.8% , computational load decrease by 23.3% , and frame rate increase by 7.6% . Deploying the purposed model on terminal devices can be applied to real-time monitoring and detection in construction environments.
Keywords: object detection; lightweight; coordinate attention; recursive gated convolution
目標檢測算法在生產(chǎn)安全領(lǐng)域應(yīng)用廣泛,它可以代替?zhèn)鹘y(tǒng)的人工監(jiān)督方法,節(jié)約人力物力。在智慧工地建設(shè)中,將目標檢測算法應(yīng)用于工人安全帽佩戴檢測,可以有效保障復(fù)雜施工環(huán)境下工人的生命安全。但在實際應(yīng)用場景中,對算法的實時性和檢測精度都有較高的要求。
傳統(tǒng)的目標檢測方法需要人工設(shè)計圖像特征提取算子再進行檢測,代表算法有HOG[1和DPM[2],這種方法過程繁瑣,模型通用性和魯棒性較差,檢測準確率較低。深度學習方法不用人為設(shè)置圖像特征,可以根據(jù)圖像本身學習其內(nèi)在的屬性,基于深度學習的目標檢測算法已被廣泛應(yīng)用于生產(chǎn)安全領(lǐng)域,例如安全帽檢測、人臉識別、火焰檢測等。目前,基于深度學習的目標檢測算法可大致分為2類:一類是兩階段(two-stage)目標檢測算法,其代表有Fast R-CNN[3]、Faster R-CNN[4];另一類是單階段(one-stage)的目標檢測算法,其代表有YOLO[5]、SSD和ATSS[等。兩階段檢測算法的思路,是將可能存在物體的區(qū)域視為候選區(qū)域(region proposal),在此候選區(qū)域的基礎(chǔ)上完成分類和回歸任務(wù)。這種方法的網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜、計算量大,檢測速度與單階段檢測算法差距很大,不能滿足安全帽檢測這一實時應(yīng)用場景的需求。而在單階段的檢測算法中,省去了候選區(qū)域的提取工作,經(jīng)過單階段的網(wǎng)絡(luò)直接完成分類和回歸任務(wù),因此其檢測速度大大提高,可以滿足實時檢測應(yīng)用場景的需求。在單階段檢測算法中,YOLO系列檢測方法既可以保持較高的精度,又有很快的檢測速度,因此在安全帽檢測中應(yīng)用最為廣泛。張業(yè)寶等在SSD的基礎(chǔ)上,采用 VGGl6[9] 預(yù)訓練模型進行遷移學習,加速訓練過程,提高了檢測速度和檢測精度。謝國波等[10]在 YOLOv4[11] 的基礎(chǔ)上,融合通道注意力機制、增加特征尺度,改善了算法的檢測精度,但檢測速度和精度還顯不足,主要原因是YOLOv4使用的是DarkNet-53主干網(wǎng)絡(luò)。呂宗喆等[12]在YOLOv5的基礎(chǔ)上,對邊界框損失函數(shù)和置信度損失函數(shù)進行優(yōu)化,改善了對密集小目標特征的學習效果。
YOLOv3[13]是YOLO系列的集大成者,但其需要人工設(shè)計檢測框的大小。在FCOS[14]中,作者將特征圖像素坐標映射回到原圖,通過1個解耦頭直接完成分類和回歸任務(wù),省去了復(fù)雜的錨框設(shè)計。Ge等[15借鑒了FCOS的解耦頭設(shè)計,在YOLOv3的基礎(chǔ)上改進得到Y(jié)OLOX。該算法引入SimOTA標簽分配策略篩選正樣本、加快網(wǎng)絡(luò)推理速度,采用無錨框檢測思路省去了復(fù)雜的錨框設(shè)計、節(jié)省了計算資源,并且采用解耦頭分別預(yù)測回歸任務(wù)和分類任務(wù),提高了檢測精度。YOLOX在保證高檢測精度的前提下,檢測速度快、模型參數(shù)量小、部署簡便,非常適用于實際場景中的實時檢測。本文在YOLOX的基礎(chǔ)上,對算法繼續(xù)進行改進,進一步提升網(wǎng)絡(luò)的檢測精度和檢測速度,主要工作為:
a.在主干網(wǎng)絡(luò)中引入了輕量化卷積模組Ghostmoudle[16],構(gòu)建了新的主干網(wǎng)絡(luò)G-Backbone,在保證檢測精度幾乎沒有損失的前提下,大大壓縮了模型參數(shù)量和計算量,提高了檢測速度。
b.在主干網(wǎng)絡(luò)的輸出端融入了坐標注意力(coordinate attention,CA)機制[17],有效解決了安全帽檢測中復(fù)雜背景帶來的特征提取困難的問題,減少了關(guān)鍵特征信息的損失,同時還能學習到空間位置信息,有助于模型快速定位與識別。
c.提出了基于遞歸門控卷積模組 gnConv[18] 的特征提取模塊g-CSP,將其融入到頸部網(wǎng)絡(luò)中構(gòu)建了新的頸部網(wǎng)絡(luò)g-Neck,增強了網(wǎng)絡(luò)的空間位置感知能力,改善了多目標的檢測,且在 gnConv 中還采用了 7×7 的大卷積核,有利于擴大網(wǎng)絡(luò)的感受野,捕獲長距離依賴關(guān)系。
YOLOX目標檢測算法
YOLOX的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,其主體結(jié)構(gòu)由主干網(wǎng)絡(luò)(backbone)、頸部網(wǎng)絡(luò)(neck)、檢測頭(head)3部分構(gòu)成。在輸入端,使用Mosaic和Mixup數(shù)據(jù)增強策略提高數(shù)據(jù)的豐富性,緩解因數(shù)據(jù)不足而造成的網(wǎng)絡(luò)過擬合現(xiàn)象;主干網(wǎng)絡(luò)為Darknet-53,用于初步提取圖像特征,主體結(jié)構(gòu)為Focus和CSP組件。Focus的操作過程如圖2所示,具體為在輸入圖片上隔像素取值,以進行下采樣,采樣得到的特征圖通道數(shù)變?yōu)樵瓉淼?倍,最后再經(jīng)過1個 3×3 卷積提取特征。Focus操作可以把原來單通道上的信息拓展到通道空間上,并且減少了下采樣過程中的信息丟失。CSP組件為融合了殘差塊的全卷積特征提取模塊,在主干網(wǎng)絡(luò)中,通過多次堆疊特征提取模塊,可以加深網(wǎng)絡(luò)層數(shù),擴大網(wǎng)絡(luò)感受野,提取深層次的圖像信息。輸入圖像經(jīng)過主干網(wǎng)絡(luò)后,分別輸出3個不同尺度的特征圖,隨后進入路徑聚合特征金字塔網(wǎng)絡(luò)(pathaggregation-featurepyramidnetwork,PA-FPN)中進行多尺度的特征融合。首先,在特征金字塔網(wǎng)絡(luò)(featurepyramidnetwork,F(xiàn)PN)中采用自頂向下的方式,將深層信息上采樣后與淺層信息融合;其次,在路徑聚合網(wǎng)絡(luò)(pathaggregationnetwork,PAN)中則采用自底向上的方式,將淺層信息下采樣后與深層信息融合,融合過后依然得到3個不同尺度的特征圖,這3個尺度的特征圖分別對應(yīng)著不同大小的感受野并用于檢測不同大小的物體;最終,將頸部網(wǎng)絡(luò)輸出的特征再輸入到圖3所示的解耦頭中,在解耦頭中將特征信息解耦,分為兩條支路,分別負責預(yù)測分類任務(wù)和回歸任務(wù),預(yù)測結(jié)果包含分類分數(shù)、位置參數(shù)和置信度3部分。
2 模型改進
2.1 輕量化主干網(wǎng)絡(luò)G-backbone
常規(guī)卷積如圖4所示,對于輸入數(shù)據(jù)X∈Rc×h×w ,c、h、w分別表示輸入特征圖的通道數(shù)、高和寬,常規(guī)卷積操作如下:
Y=X*f+b
式中:*表示卷積操作;b為偏置項;Y∈Rxh′xw為輸出特征圖,n'、h、 w 分別表示輸出特征圖的通道數(shù)、高和寬; f∈Rc×k×k×n 為卷積操作, k×k 為卷積核大小, n 為卷積核個數(shù)。
常規(guī)卷積操作的輸出特征圖中往往包含很多相似的冗余信息,為壓縮模型參數(shù)量,提高網(wǎng)絡(luò)的檢測速度,本文引入了圖5所示的輕量化卷積Ghostmoudle重建主干網(wǎng)絡(luò)。Ghostmoudle先通過常規(guī)卷積操作,輸出m層初始特征圖Y∈ Rmxh'xw
如式(2)所示:
Y'=X*f'
式中, f'∈Rc×k×k×m 為卷積操作且 m?n 。再將其通過一系列廉價的線性變換操作,得到相似的 (n-m) 層特征圖,如式(3)所示:
yij=Φi,j(yi'),?i=1,…,mj=1,…,s
式中:y代表通過線性變換得到的 (n-m) 層相似特征圖, s=n/m 為擴充的倍數(shù); Φ 為線性變換,其具體實現(xiàn)為卷積核大小為 d×d 的深度可分離卷積。最后,把初始特征圖 Y′ 恒等映射后的結(jié)果和線性變換后的結(jié)果y拼接作為最終的輸出特征圖。
Kconv=cnk2h'w'
考慮到 d≈k 以及 s?c ,常規(guī)卷積與Ghostmoudle的計算量之比為
由此可見,常規(guī)卷積的計算量是Ghostmoudle的 s 倍。因此,通過Ghostmoudle重新構(gòu)建主干網(wǎng)絡(luò),可以達到減少計算量、加速計算的目的,本文中 s 取2。
基于Ghostmodule構(gòu)建的特征提取模塊Ghostbottleneck的結(jié)構(gòu)如圖6所示。當步長stride :=1 時,Ghostbottleneck由2個Ghost moudle構(gòu)成,輸入輸出維度相同。當stride σ=2σ 時,Ghost bottleneck由2個Ghostmoudle和1個深度可分離卷積塊組成,殘差連接部分加入卷積操作降維,在第一個Ghostmoudle后,同樣采用深度可分離卷積降維。此時,模塊除了可以進行特征提取,還兼具下采樣的功能?;贕hostbottleneck重構(gòu)的主干網(wǎng)絡(luò)結(jié)構(gòu)如表1所示,將原網(wǎng)絡(luò)的CBS和CSP模塊替換為更加輕量的Ghostbottleneck,考慮到輕量化網(wǎng)絡(luò)可能會帶來信息的丟失問題,在主干網(wǎng)絡(luò)中嵌入SE(squeeze-and-excitation)[19]模塊,增強關(guān)鍵特征,提高主干網(wǎng)絡(luò)的特征提取能力。更改后,主干網(wǎng)絡(luò)的模型參數(shù)量大幅下降,檢測速度更快。
2.2 坐標注意力機制
為避免安全帽檢測中復(fù)雜背景帶來的冗余信息感干擾,彌補YOLOX網(wǎng)絡(luò)檢測精度的不足,使網(wǎng)絡(luò)關(guān)注到更有意義的信息,在主干網(wǎng)絡(luò)的輸出端引入注意力機制。傳統(tǒng)的通道注意力機制SE采用了全局池化對空間信息進行編碼,但它將全局信息壓縮到通道描述中,因此很難保存位置信息,而位置信息在視覺任務(wù)中對于捕獲空間位置結(jié)構(gòu)至關(guān)重要。在本文中,引入了CA機制,它采用“分而治之”的思想,將全局池化分解為垂直方向和水平方向上的平均池化,進而實現(xiàn)位置信息的編碼,其結(jié)構(gòu)如圖7所示。
對于輸入數(shù)據(jù) X∈Rc×h×w ,分別使用平均池化核 (H, 1) 和(1, W) 編碼水平方向和垂直方向的信息,則第 Ψc 個通道在高 h 處的編碼信息為
式中: xc(h,j) 指輸入特征圖第 c 個通道上位置坐標(h,j) 處的像素值。
同樣地,第 Ψc 個通道在寬 w 處的編碼信息為
式中: xc(j,w) 指輸入特征圖第 Ψc 個通道上位置坐標(j,w) 處的像素值。
隨后,將兩部分編碼信息拼接,經(jīng)過1個1×1 卷積層 F1 和非線性激活函數(shù)層 δ ,將特征圖通道數(shù)壓縮為 c/r ,生成包含位置信息的中間特征層f∈Rc/r×(h+w) ,即
f=δ{F1([zh,zw])}
再將 f 沿空間維度分解為2個向量 fh∈Rc/r×h 和fw∈Rc/r×w ,后再經(jīng)過2個 1×1 卷積層 Fh 、 Fw 和2個Sigmoid激活函數(shù)層 δ ,將通道數(shù)還原為 c ,得到2個獨立空間方向的注意力權(quán)重為
最終的輸出為
yc(i,j)=xc(i,j)×gch(i)×gcw(j)
區(qū)別于通道注意力模塊僅考慮不同通道的重要程度,CA模塊考慮了空間信息的編碼,從而可以讓模型更加準確地定位感興趣對象的確切位置。本文中,將CA模塊引入到圖1中dark3、dark4、dark5的輸出端,可以顯著提升模型的檢測精度。
2.3 融合空間信息的頸部網(wǎng)絡(luò)g-Neck
YOLOX頸部網(wǎng)絡(luò)用于進一步的特征提取與特征融合,此過程中的卷積操作全部為標準的卷積操作,但標準的卷積操作沒有考慮到空間之間的相互作用,在經(jīng)過多次的卷積、上采樣、拼接操作后,會造成細節(jié)空間信息損失,不利于對多目標和小目標物體的檢測。為解決以上問題,本文引入了遞歸門控卷積模組 gnConv 模塊,設(shè)計了新的CSP組件和新的頸部網(wǎng)絡(luò)g-Neck。
gnConv 是1個實現(xiàn)長期和高階空間交互作用的模塊, n 代表空間交互的階數(shù)。此模塊具有類似于自注意力self-attention[20]的作用,它借鑒了Vit[21]中對于空間交互作用的建模。Vit的成功主要歸因于自注意力機制對視覺數(shù)據(jù)中的空間交互作用進行了適當?shù)慕?。但是,自注意力操作引入的巨大參?shù)量,對于要求實時性的YOLOX模型來說并不實用。而 gnConv 通過標準卷積、線性映射和矩陣元素相乘等廉價操作實現(xiàn)空間交互,計算量代價更小。本文引入的三階 g3Conv 的結(jié)構(gòu)如圖8所示。
gnConv 的基礎(chǔ)結(jié)構(gòu)為 n=1 的一階門控卷積gConv,對于輸入特征圖 X∈Rc×h×w ,gConv的輸出 y 為
[p0hw×c,q0hw×c]=Φin(x)∈Rhw×2c
y=Φout[f(q0)?p0]∈Rhw×c
式中: Φin 和 Φout 為執(zhí)行通道混合操作的線性映射操作,具體實現(xiàn)是卷積核大小為 1×1 的常規(guī)卷積; f 為卷積核大小為 7×7 的深度可分離卷積,大卷積核旨在增大網(wǎng)絡(luò)的感受野,更容易捕獲長期依賴關(guān)系; p0 和 q0 是將線性映射操作的結(jié)果在通道維度上切分后的特征層; ? 為按元素相乘的操作。以此類推,將此過程重復(fù) n 次,即可得到n 階的遞歸門控卷積 gnConv 。圖8中演示的為三階遞歸門控卷積。通過這種建模通道間信息交互的做法,可以極大地提升模型的空間建模能力。
本文基于由 gnConv 卷積模塊構(gòu)建的特征提取模塊 g -Block,重新設(shè)計了新的特征提取組件gCSP。 g -Block模塊借鑒了self-attention的元架構(gòu)設(shè)計,其結(jié)構(gòu)如圖9所示,它包含了1個空間混合模塊HorBlock和1個前饋網(wǎng)絡(luò)(feed-forwardnetwork,F(xiàn)FN)。空間混合模塊HorBlock是1個歸一化層和 gnConv 組成的殘差塊,完成空間交互建模;FFN為1個歸一化層和多層感知機(multilayerperceptron,MLP)構(gòu)成的殘差塊。 g -Block旨在用簡單的操作建模長距離的空間信息,使其適用于輕量化的網(wǎng)絡(luò)中。
重新設(shè)計的特征提取組件g-CSP結(jié)構(gòu)如圖10所示。在g-CSP中,輸入特征先經(jīng)過1個常規(guī)卷積塊提取特征,后進入 g -Block和深度可分離卷積塊中提取特征,將其與另一條支路的常規(guī)卷積塊提取的特征拼接后,再次輸入到1個深度可分離卷積塊中并輸出最終結(jié)果。引人深度可分離卷積的目的是降低參數(shù)量。本文基于 g -CSP組件,設(shè)計了新的頸部特征融合網(wǎng)絡(luò) g -Neck,其結(jié)構(gòu)如圖11所示,C3、C4、C5分別為從主干網(wǎng)絡(luò)輸出的3個尺度的特征層,其尺寸大小分別為 80×80×128 !40×40×256 、 20×20×512 。3個尺度的特征經(jīng)過上采樣、下采樣和拼接融合后,輸出3個特征層P3、P4、P5,其尺寸大小分別為 80×80×128 、 40×40× 256、 20×20×512 。圖1所示的YOLOX頸部網(wǎng)絡(luò)采用了CSP組件進行特征提取與融合。本文將頸部網(wǎng)絡(luò)中原始的CSP組件替換為重新設(shè)計的 g -CSP組件,旨在改善模型的空間特征提取能力。
3 實驗結(jié)果與分析
3.1 數(shù)據(jù)集與實驗環(huán)境
實驗數(shù)據(jù)采用2個開源的數(shù)據(jù)集:第一個數(shù)據(jù)集為SHWD安全帽數(shù)據(jù)集,針對生產(chǎn)安全領(lǐng)域的安全帽檢測問題;第二個數(shù)據(jù)集為PASCALVOC07+12[22-23] 通用數(shù)據(jù)集,用于對改進后的算法做進一步的驗證。其中SHWD安全帽數(shù)據(jù)集包含7581張圖片,訓練集和測試集按 7:3 劃分,訓練集包含5307張圖片,測試集包含2274張圖片,包含hat和person2個類別;PascalVOC數(shù)據(jù)集由PascalVOC2007和PascalVOC2012這2個數(shù)據(jù)集合并得到,訓練集由2個數(shù)據(jù)集共同組成,一共含16551張圖片,測試集由PascalVOC2007提供,包含4952張圖片,包含cat、person、dog等20個類別。
實驗在Linux操作系統(tǒng)上進行訓練和測試,處理器型號為Intel(R)Xeon(R)Platinum6l64CPU @ 1.90GHz ,內(nèi)存大小為24GB,顯卡型號為NVIDIAGeForceRTX3090,深度學習框架為Pytorch,每個模型從頭開始訓練,網(wǎng)絡(luò)輸入大小為 640×640 ,epoch為200輪,初始學習率為0.0025。在前5輪訓練中,凍結(jié)學習率,使網(wǎng)絡(luò)熟悉數(shù)據(jù);后195輪訓練中優(yōu)化器設(shè)置為SGD,其動量和衰減系數(shù)分別為0.9和0.0005,單次訓練樣本數(shù)量batch size為16。訓練數(shù)據(jù)采用Mosaic和Mixup數(shù)據(jù)增強以增加數(shù)據(jù)的多樣性:Mosaic數(shù)據(jù)增強為隨機選擇4張圖片,將其縮放后拼接為1張圖片;Mixup數(shù)據(jù)增強為隨機選擇2張圖片,將其按一定比例融合為1張圖片。
3.2 評價指標
為了衡量模型檢測效果,本文采用模型參數(shù)量衡量模型大小,采用每秒10億次的浮點運算數(shù)表示模型的計算量,采用幀率衡量模型的檢測速度,采用平均精度 A 和平均精度均值 MAP 衡量模型的檢測精度。 A 與 MAP 綜合考量了精準率 P 和召回率 R : P 是指正確預(yù)測某類的數(shù)量占全部預(yù)測為該類的數(shù)量的比例; R 是指正確預(yù)測某類的數(shù)量占實際上全部為該類的數(shù)量的比例。 A 可以用來評估每一類的檢測效果,它是以召回率為橫軸、以精確率為縱軸組成的曲線圍成的面積。將所有類的 A 值取均值可以得到 MAP 。計算公式為
式中: NTP 為正確預(yù)測為正類的樣本數(shù)量; NFP 為錯誤預(yù)測為正類的樣本數(shù)量; NFN 為漏檢的正類樣本數(shù)量; a 為所有類別數(shù)。
YOLOX的損失函數(shù)包含3部分,分別為分類損失、置信度損失和錨框的回歸損失,計算公式為
式中: LCE 和 LCIoU 分別表示交叉熵損失函數(shù)和CIoU[24]損失函數(shù);Npos表示正樣本的數(shù)量;Q和G 分別表示預(yù)測樣本和標簽;上標pos和neg分別表示訓練過程中的正樣本和負樣本; λ1 和 λ2 分別表示置信度損失和錨框回歸損失的權(quán)重值;下標Cls表示分類任務(wù),Obj表示置信度預(yù)測任務(wù),Reg表示錨框回歸任務(wù)。圖12演示了預(yù)測框 B 與目標框 Bgt 的相交情形, ρ 為兩框中心點的距離,1為兩框的最小外接矩形的對角線的長度, wgt 為目標框 Bgt 的寬, hgt 為目標框 Bgt 的高。CIoU損失函數(shù)計算式為
式中: I 為交并比,即2個矩形框交集的面積與并集的面積之比; 分別表示預(yù)測框和目標框的中心點; α 為權(quán)重系數(shù); ν 為高寬比的一致性。圖13展示了訓練過程中的損失變化曲線,totalloss代表總損失,ciouloss代表錨框回歸損失,confloss代表置信度損失,clsloss代表分類損失??梢园l(fā)現(xiàn),訓練到200輪epoch時,4項損失值均已收斂。
3.3 消融實驗
為檢驗?zāi)P偷挠行?,在訓練參?shù)相同的情況下,對3處改進進行消融實驗。在SHWD數(shù)據(jù)集上的結(jié)果如表2所示, A1 和 A2 分別表示對佩戴安全帽和未佩戴安全帽的工人的檢測精度。實驗1為本文基線模型YOLOX的實驗結(jié)果;實驗2采用輕量化的特征提取模塊重新構(gòu)建了主干網(wǎng)絡(luò),改進模型的參數(shù)量下降了 21.5% ,計算量下降了24.5% ,檢測速度提高了 14.1% ,檢測精度基本保持不變;實驗3添加了CA模塊,較基線網(wǎng)絡(luò)的平均精度均值提升了 0.9% ,說明CA模塊可以讓模型更加關(guān)注網(wǎng)絡(luò)感興趣的區(qū)域、過濾冗余的信息、提高模型的性能,而添加CA后的模型參數(shù)量和計算量基本保持不變;實驗4采用空間交互能力更強的g-Neck頸部特征融合網(wǎng)絡(luò)替換原網(wǎng)絡(luò),較基線網(wǎng)絡(luò)的平均精度均值提高了 0.82% ,其原因在于模型學習了更多的空間位置信息,定位能力更強,這對于目標檢測任務(wù)而言至關(guān)重要,雖然模型參數(shù)量和計算量稍稍增加,犧牲了少量的檢測速度,但仍滿足使用需求;實驗5替換輕量化主干網(wǎng)絡(luò)的同時,添加了坐標注意力CA模塊,結(jié)果顯示,CA模塊在只增加少量參數(shù)量和計算量的情況下,彌補了輕量化網(wǎng)絡(luò)帶來的檢測精度損失;實驗6為本文最終改進模型,同時添加了3處改進,較基線網(wǎng)絡(luò)的參數(shù)量下降 18.8% ,計算量下降 23.3% ,檢測速度提高 7.6% ,平均精度均值提高 1.69% ,證明最終改進模型是一種更快、更強的檢測模型。圖14為平均精度均值變化曲線,藍色代表基線模型YOLOX,紅色代表本文最終改進模型。結(jié)果表明,改進后的模型以更高的精度收斂。
在基線模型上分別添加3種不同的注意力機制 SE、CBAM[25]、CA,實驗結(jié)果如表3所示。SE采用全局池化的方法將通道信息壓縮,沒有考慮到位置信息;CBAM在SE的基礎(chǔ)上嘗試通過卷積操作捕獲空間位置信息,但卷積操作在建模長期依賴關(guān)系時效果不佳;CA選擇在特征圖的 h 和w 方向上壓縮位置信息,再將其嵌入到通道注意力中,效果更佳。實驗結(jié)果表明,添加CA相較于添加SE和CBAM,平均精度均值分別提高了0.28% 和 0.24% 。
3.4 對比實驗
為進一步驗證模型的有效性,本文在公開數(shù)據(jù)集SHWD和PascalVOC上與現(xiàn)階段目標檢測的主流模型進行性能比較,選用的對比模型有兩階段檢測算法FastR-CNN、FasterR-CNN和單階段檢測算法SSD300、YOLOV3、YOLOV4、YOLOV5、YOLOX這7個主流模型,對比結(jié)果如表4和表5所示。在數(shù)據(jù)集SHWD上,本文改進模型的平均精度均值可以達到 88.0% ,檢測速度可以達到99f/s ,2項指標在所有模型中均為最高。在PascalVOC數(shù)據(jù)集上,本文改進模型的平均精度均值達到 83.0% ,相較于基線網(wǎng)絡(luò)提高 1.1% ,檢測速度為 99f/s ,2項指標同樣在所有模型中最高。
在SHWD數(shù)據(jù)集和PascalVOC數(shù)據(jù)集中,分別選取3組圖片,分別使用改進后的YOLOX算法和原始YOLOX算法進行檢測。在SHWD數(shù)據(jù)集上的對比結(jié)果如圖15所示,第1組和第2組圖片中:原算法存在被遮擋物的漏檢情況;改進后的算法檢測出了被遮擋的安全帽,說明改進后的算法特征提取能力更強。第3組圖片中:原算法不僅存在遠處小目標的漏檢,還存在錯檢的情況;改進后的算法不僅檢測到了圖片較遠處的小目標物體,錯檢率也明顯下降。與原算法相比,改進后的算法檢測置信度得分明顯提高,檢測更加精確。在PascalVOC數(shù)據(jù)集上的對比結(jié)果如圖16所示,第1組圖片中,改進后的算法檢測置信度較高,且錯檢的情況減少;第2組和第3組圖片檢測結(jié)果相同,但是改進后的算法檢測置信度同樣提高。
4結(jié)論
為提高實時檢測算法的檢測速度、檢測精度,并將其應(yīng)用于生產(chǎn)安全領(lǐng)域,本文在基線模型YOLOX的基礎(chǔ)上提出3點改進。首先,將主干網(wǎng)絡(luò)替換為更輕量、速度更快的G-backbone,加快檢測速度;其次,在主干網(wǎng)絡(luò)的輸出端引入CA,使得模型特征提取能力增強,可以更好地關(guān)注到網(wǎng)絡(luò)感興趣的區(qū)域,過濾冗余信息;最后,在頸部網(wǎng)絡(luò)中融合了空間建模能力更強的 g-CSP ,使得模型更容易學習到空間位置信息,捕獲圖像中的長距離依賴關(guān)系。在SHWD和PascalVOC數(shù)據(jù)集上分別進行實驗驗證,結(jié)果表明3種改進策略均起到效果,最終的改進模型相較于基線網(wǎng)絡(luò),不僅檢測精度有提高,模型參數(shù)量和計算量也有所減少,而且檢測速度更快,可以應(yīng)用于施工環(huán)境下的實時監(jiān)控檢測中
參考文獻:
[1]DALAL N, TRIGGS B.Histograms of oriented gradients for human detection[C]//2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05). San Diego:IEEE,2005: 886-893.
[2]FELZENSZWALB P, MCALLESTER D, RAMANAN D. A discriminativelytrained,multiscale,deformablepart model[C]//20o8 IEEE Conference on Computer Vision and Pattern Recognition. Anchorage: IEEE, 2008:1-8.
[3]GIRSHICK R. Fast R-CNN[C]//Proceedings of the 2015 IEEE International Conference on Computer Vision. Santiago: IEEE,2015:1440-1448.
[4]RENSQ,HEKM,GIRSHICKR,etal.Faster R-CNN: towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149.
[5]REDMON J, DIVVALA S, GIRSHICK R, et al. You only lookonce:unified, real-timeobjectdetection[C]// Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016: 779-788.
[6]LIU W,ANGUELOV D, ERHAN D, et al. SSD:single shot MultiBox detector[C]//14th European Conference on Computer Vision. Amsterdam: Springer, 2016: 21-37.
[7] ZHANG S F, CHI C, YAO Y Q, et al. Bridging the gap between anchor-based and anchor-free detection via adaptive training sample selection[C]//Proceedings of the 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Seattle: IEEE, 2020: 9756-9765.
[8]張業(yè)寶,徐曉龍.基于改進 SSD的安全帽佩戴檢測方法 [J].電子測量技術(shù),2020,43(19):80-84.
[9] SIMONYAN K, ZISSERMAN A. Very deep convolutional networksforlarge-scaleimagerecognition[DB/OL]. [2015-04-10]. https://arxiv.org/abs/1409.1556.
[10]謝國波,唐晶晶,林志毅,等.復(fù)雜場景下的改進 YOLOv4安全帽檢測算法[J].激光與光電子學進展, 2023,60(12): 139-147.
[11] BOCHKOVSKIY A, WANG C Y, LIAO H Y M. YOLOv4: Optimal speed and accuracy of object detection[DB/OL].[2020-04-23].https://arxiv.0rg/abs/ 2004.10934.
[12]呂宗喆,徐慧,楊驍,等.面向小目標的YOLOv5安全帽 檢測算法[J].計算機應(yīng)用,2023,43(6):1943-1949.
[13] REDMON J, FARHADI A. YOLOv3: An incremental improvement[DB/OL]. [2018-04-08]. https://arxiv.org/abs/ 1804.02767.
[14] TIAN Z, SHEN C H, CHEN H, et al. FCOS: fully convolutional one-stage object detection[C]//Proceedings of the 2019 IEEE/CVF International Conferenceon Computer Vision. Seoul: IEEE,2019: 9626-9635.
[15] GE Z, LIU S T, WANG F,et al. YOLOX: exceeding YOLO series in 2021[DB/OL]. [2021-08-06]. https://arxiv. org/abs/2107.08430.
[16] HAN K, WANG Y H, TIAN Q, et al. GhostNet: more features from cheap operations[C]//Proceedings of the 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Seattle: IEEE, 2020: 1577-1586.
[17]HOU QB, ZHOU D Q,F(xiàn)ENG J S. Coordinate attention for efficient mobile network design[C]//Proceedings of the 2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Nashville: IEEE, 2021: 13708-13717.
[18] RAO Y M, ZHAO W L, TANG Y S, et al. HorNet: efficient high-order spatial interactions with recursive gated convolutions[DB/OL]. [2022-10-11]. https://arxiv.org/abs/ 2207.14284.
[19] HU J, SHENL, SUN G. Squeeze-and-excitation networks[C]/Proceedingsofthe2018IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018: 7132-7141.
[20]VASWANI A,SHAZEERN,PARMARN, etal. Attention is all you need[C]//Proceedings of the 31st International Conference on Neural Information Processing Systems. Long Beach: Curran Associates Inc., 2017: 6000-6010.
[21]DOSOVITSKIY A, BEYER L, KOLESNIKOV A, et al. An image is worth 16xl6 words: transformers for image recognition at scale[DB/OL]. [2021-06-03]. http://arxiv.org/ abs/2010.11929.
[22] EVERINGHAM M, VAN GOOL L, WILLIAMS C K I, et al.The Pascal visual object classes (VOC) challenge[J]. International Journal of Computer Vision, 2010,88(2): 303-338.
[23] EVERINGHAM M, ESLAMI S M A, VAN GOOL L, et al. ThePascal visual object classeschallenge:a retrospective[J]. International Journal of Computer Vision, 2015,111(1): 98-136.
[24] ZHENG Z H, WANG P,LIU W, et al. Distance-IoU loss: fasterandbetterlearningforbounding box regression[C]//Proceedings of the 34th AAAI Conference onArtificial Intelligence. New York: AAAI, 2020: 12993-13000.
[25] WOO S, PARK J, LEE J Y, et al. CBAM: convolutional block attention module[C]//Proceedingsof the15th European Conference on Computer Vision. Munich: Springer,2018: 3-19.
(編輯:董偉)