摘 要: 為解決現(xiàn)有的安全帽檢測(cè)算法對(duì)密集小目標(biāo)的檢測(cè)精度低的問題,提出一種基于坐標(biāo)注意力和軟化非極大值抑制的安全帽檢測(cè)算法。引入坐標(biāo)注意力機(jī)制,聚焦訓(xùn)練安全帽相關(guān)目標(biāo)特征以提高準(zhǔn)確率。采用軟化非極大值抑制算法對(duì)候選框的置信度進(jìn)行優(yōu)化,提升模型對(duì)密集小目標(biāo)的檢測(cè)精度。通過WIoU優(yōu)化邊界框損失函數(shù),使得模型聚焦于困難樣例而減少簡(jiǎn)單示例對(duì)損失值的貢獻(xiàn),提升模型的泛化性能。實(shí)驗(yàn)結(jié)果表明:與基準(zhǔn)模型YOLOv5s相比,所提算法的mAP@0.5達(dá)到88.4%,提升了3.0%;mAP@0.5:0.95達(dá)到65.6%,提升了6.8%;在召回率和準(zhǔn)確率上分別提升了2.4%和0.5%。所提算法為密集小目標(biāo)的檢測(cè)提供了一定參考。
關(guān)鍵詞: 安全帽檢測(cè); 坐標(biāo)注意力機(jī)制; 軟化非極大值抑制; YOLOv5s; WIoU; 邊界框損失函數(shù)
中圖分類號(hào): TN911.23?34; TP391.4" " " " " " "文獻(xiàn)標(biāo)識(shí)碼: A" " " " " " " " " " " 文章編號(hào): 1004?373X(2025)02?0153?09
Dense safety helmet detection based on coordinate attention and soft NMS
YIN Xianglei, SU Ni, XIE Yongfang, QU Shaopeng
(Faculty of Electrical Engineering, Shaanxi University of Technology, Hanzhong 723000, China)
Abstract: In order to solve the problem of low detection accuracy of dense small targets in existing helmet detection algorithms, a safety helmet detection algorithm based on coordinate attention and soft non?maximum suppression (NMS) is proposed. A coordinate attention mechanism is introduced to improve accuracy by focusing on target features associated with the training safety helmet. The softened non?maximum suppression algorithm is used to optimize the confidence of the candidate box, so as to increase the detection precision of the model for dense small targets. The WIoU is used to optimize the bounding box loss function, which can make the model focus on difficult examples and reduce the contribution of simple examples to the loss value, improving the generalization performance of the model. The experimental results indicate that, in comparison with the standard YOLOv5s, the mAP@0.5 of the proposed algorithm is 88.4%, which is increased by 3.0%, the mAP@0.5:0.95 is 65.6%, which is increased by 6.8%, and the recall rate and accuracy are increased by 2.4% and 0.5%, respectively, which can provide a certain reference for the detection of dense small targets.
Keywords: safety helmet detection; coordinate attention mechanism; Soft non?maximum suppression; YOLOv5s; WIoU; bounding box loss function
0" 引" 言
在電力行業(yè)發(fā)展的早期,大部分電力工人發(fā)生的事故與電力線路檢修有關(guān),導(dǎo)致他們傷亡的因素通常與缺乏經(jīng)驗(yàn)、使用非標(biāo)準(zhǔn)化設(shè)備和工具以及自身的不安全行為有關(guān)[1]。在許多事件中證明,若電力工人佩戴安全帽,能有效防止觸電,避免事故發(fā)生[2]。但傳統(tǒng)的人工監(jiān)管方式不僅費(fèi)時(shí)費(fèi)力,而且容易造成疏漏,特別是在密集場(chǎng)景下,如圖1所示,小目標(biāo)繁多、易互相遮擋,目標(biāo)可能出現(xiàn)在圖像任何位置且尺寸動(dòng)態(tài)變化,這都為目標(biāo)檢測(cè)帶來了極大的挑戰(zhàn)[3]。
在密集小目標(biāo)檢測(cè)算法的研究中,文獻(xiàn)[4]利用Hu矩提取有效特征,但其只能在特定場(chǎng)景中實(shí)現(xiàn)檢測(cè)。文獻(xiàn)[5]利用原霍夫變換提取特征,但檢測(cè)速度較慢。文獻(xiàn)[6]在YOLOv5s的基礎(chǔ)上引入雙層路由注意力機(jī)制,解決小目標(biāo)特征信息丟失的問題,但是由于計(jì)算量和參數(shù)量大幅增加,導(dǎo)致速度下降。文獻(xiàn)[7]將深度可分離卷積和ECA注意力機(jī)制結(jié)合,有效降低了模型參數(shù)量,但是精度提升并不明顯。
針對(duì)密集安全帽的檢測(cè),文獻(xiàn)[8]將特征金字塔和多尺度感知模塊結(jié)合,提出一種基于SSD的檢測(cè)方法來提高安全帽檢測(cè)的精度,但是該算法對(duì)小尺度目標(biāo)的識(shí)別精度較低,在密集場(chǎng)景下不能達(dá)到很好的識(shí)別效果。文獻(xiàn)[9]是在YOLOv3的基礎(chǔ)上進(jìn)行改進(jìn),通過對(duì)K?means算法進(jìn)行優(yōu)化來提升算法的檢測(cè)精度,但其會(huì)導(dǎo)致重復(fù)聚類或缺少聚類。文獻(xiàn)[10]在YOLOv4網(wǎng)絡(luò)上添加注意力,提升了安全帽檢測(cè)精度,但該算法沒有針對(duì)復(fù)雜場(chǎng)景進(jìn)行分析,泛化能力不足。文獻(xiàn)[11]提出了基于YOLOv5s的安全帽檢測(cè)算法,通過引入SE注意力模塊和DenseBlock模塊有效應(yīng)對(duì)復(fù)雜的密集場(chǎng)景,但數(shù)據(jù)集目標(biāo)單一。文獻(xiàn)[12]以CenterNet為基準(zhǔn),對(duì)模型的損失函數(shù)進(jìn)行了改進(jìn),以提高安全帽檢測(cè)的精度。文獻(xiàn)[13]在Faster?RCNN的基礎(chǔ)上引入了注意力機(jī)制,解決了不同場(chǎng)景下安全帽的檢測(cè)問題,但是檢測(cè)速率較低。即便現(xiàn)階段有許多學(xué)者利用改進(jìn)的YOLO算法對(duì)安全帽進(jìn)行檢測(cè),但是監(jiān)控視頻的特殊性導(dǎo)致工人在視頻中多為小目標(biāo)和密集目標(biāo)。而YOLOv5作為單階段代表算法之一,對(duì)于小目標(biāo)和密集目標(biāo)檢測(cè)的精度不高[14],所以亟需提出一種安全帽檢測(cè)算法來解決上述問題。
本文以YOLOv5算法作為基準(zhǔn)模型進(jìn)行改進(jìn),提出一種基于坐標(biāo)注意力和軟化非極大值抑制(Soft?NMS)的算法。首先,針對(duì)特征提取不充分的問題,在YOLOv5s中加入坐標(biāo)注意力機(jī)制來增強(qiáng)特征間的信息傳播;其次,針對(duì)目標(biāo)密集時(shí)算法會(huì)將正確的預(yù)測(cè)框誤刪的問題,使用軟化非極大值抑制算法對(duì)候選框進(jìn)行優(yōu)化,改善漏檢情況;最后針對(duì)難易樣本的分類不均衡問題,使用WIoU[15]優(yōu)化邊界框損失函數(shù),提高檢測(cè)精度。
1" 基準(zhǔn)算法網(wǎng)絡(luò)結(jié)構(gòu)
YOLOv5算法是一種輕量級(jí)模型,它采用depth_multiple和width_multiple兩個(gè)參數(shù)來控制YOLOv5x、YOLOv5l、YOLOv5m、YOLOv5s等結(jié)構(gòu)。為了兼顧速度和精度,本研究采用YOLOv5s作為基準(zhǔn)模型,其網(wǎng)絡(luò)結(jié)構(gòu)圖如圖2所示,主要由輸入端、Backbone、Neck和Head組成。其中Backbone負(fù)責(zé)特征提??;Neck負(fù)責(zé)多尺度特征融合,從而實(shí)現(xiàn)更好的預(yù)測(cè);Head設(shè)計(jì)了3個(gè)不同尺寸的檢測(cè)層,分別用于預(yù)測(cè)大、中、小目標(biāo)的類別和邊界框回歸,具體的網(wǎng)絡(luò)結(jié)構(gòu)可參考文獻(xiàn)[16]。
2" 本文算法設(shè)計(jì)
2.1" 算法框架
本文在YOLOv5s的基礎(chǔ)上提出了改進(jìn)網(wǎng)絡(luò)。首先,由于現(xiàn)場(chǎng)環(huán)境復(fù)雜,在進(jìn)行安全帽檢測(cè)時(shí)很容易受背景干擾,所以引入注意力機(jī)制。為了克服通道注意力機(jī)制的局限性,以及解決2D全局池化會(huì)導(dǎo)致部分特征丟失的問題,引入坐標(biāo)注意力(Coordinate Attention, CA)機(jī)制。CA機(jī)制可以同時(shí)捕獲多通道信息,也可以捕獲來自不同方向、位置等的相關(guān)信息,從而使得模型更有效地識(shí)別感興趣的物體,減少干擾因素的影響,進(jìn)而極大地提升檢測(cè)精度。
其次,鑒于傳統(tǒng)的單階段目標(biāo)檢測(cè)算法可能會(huì)產(chǎn)生多個(gè)重復(fù)的檢測(cè)框,為了減少這些檢測(cè)框的數(shù)量,YOLO模型采用非極大值抑制(Non?Maximum Suppression, NMS)算法。NMS算法通過給檢測(cè)框打分并比較得分選擇分?jǐn)?shù)最高的檢測(cè)框M,然后刪除其他框,因此針對(duì)目標(biāo)密集的情況,YOLOv5s算法可能會(huì)誤刪正確的檢測(cè)框造成漏檢。本文使用Soft?NMS算法代替NMS算法,它是NMS的改進(jìn)方法,對(duì)重疊檢測(cè)框設(shè)置低分權(quán)重,而不是直接進(jìn)行刪除。
最后,YOLOv5采用CIoU Loss來進(jìn)行邊界框回歸,這可能導(dǎo)致收斂速度慢、不穩(wěn)定等現(xiàn)象,而且還未考慮難易樣本的不平衡問題。因此直接采用CIoU Loss檢測(cè)效果并不理想。本文使用WIoU Loss代替CIoU Loss,WIoU使用動(dòng)態(tài)非單調(diào)聚焦機(jī)制,可以使模型聚焦于困難樣例而減少簡(jiǎn)單示例對(duì)損失值的貢獻(xiàn),從而增強(qiáng)泛化性能。
綜合以上三個(gè)改進(jìn)關(guān)鍵點(diǎn),將改進(jìn)后的網(wǎng)絡(luò)命名為CSW?YOLO(CA+Soft?NMS+WIoU),改進(jìn)后的模型結(jié)構(gòu)如圖3所示,虛線框內(nèi)即為引入的CA模塊。
2.2" 坐標(biāo)注意力機(jī)制
在深度學(xué)習(xí)中,添加注意力機(jī)制可以使模型更好地學(xué)習(xí)目標(biāo)物體的特征信息,忽略不相關(guān)的信息。本文受文獻(xiàn)[17]的啟發(fā),選擇添加坐標(biāo)注意力(CA)機(jī)制以提升安全帽的檢測(cè)精度。
首先,坐標(biāo)注意力使用池化核Xc把大小為c×h×w的特征圖按照兩個(gè)不同的方向進(jìn)行池化,然后生成在高度和寬度上的兩個(gè)特征映射zh和zw,公式為:
[zhc(h)=1W0≤i≤Wxc(h,i)]" "(1)
[zwc(w)=1H0≤j≤Hxc(j,w)]" (2)
通過使用1×1的卷積核降維,將兩個(gè)不同方向的特征圖組合在一起,并使用Sigmoid激活函數(shù)最終得到特征圖f,計(jì)算公式如下:
[f=δF1zh,zw] (3)
然后使用1×1的卷積核對(duì)f進(jìn)行卷積,得到特征圖Fh和Fw,再經(jīng)過Sigmoid激活函數(shù)得到注意力權(quán)重gh和gw,公式如下:
[gh=σ(Fh(fh))," gw=σ(Fw(fw))] (4)
最后可以得到CA機(jī)制的輸出公式為:
[yc(i,j)=xc(i,j)×ghc(i)×gwc(j)] (5)
坐標(biāo)注意力機(jī)制結(jié)構(gòu)如圖4所示。
為了更好地提取特征,一般將CA機(jī)制添加在特征提取層。在Backbone中加入CA層有兩種方法:
1) 采用注意力機(jī)制結(jié)合Bottleneck替換Backbone中的所有C3模塊;
2) 在SPPF層前單獨(dú)加入注意力模塊。
經(jīng)過測(cè)試,第一種方法精度較高,所以本文選擇用CA替換Backbone中的所有C3模塊。
2.3" 軟化非極大值抑制
在本文檢測(cè)任務(wù)中,待檢測(cè)圖像多為目標(biāo)重疊、密集的情況,此時(shí)使用傳統(tǒng)的NMS算法會(huì)造成漏檢,影響檢測(cè)效果,所以本文使用改進(jìn)算法Soft?NMS來提升對(duì)密集場(chǎng)景下的檢測(cè)性能。
NMS算法是一種通過鄰近最大值挑選檢測(cè)框的算法,它的重置函數(shù)如下:
[Si=Si," IoU(M,bi)lt;Nt0," "IoU(M,bi)≥Nt]" "(6)
式中:[Si]表示檢測(cè)框分?jǐn)?shù);[IoU(M,bi)]為真實(shí)框和檢測(cè)框的交并比函數(shù);Nt表示設(shè)定的閾值。
Soft?NMS算法是在不增加參數(shù)的情況下對(duì)NMS算法進(jìn)行簡(jiǎn)單改進(jìn),它引入了遞減置信度的懲罰因子,懲罰因子根據(jù)目標(biāo)框與其他目標(biāo)框的重疊度進(jìn)行計(jì)算,通過逐漸減小目標(biāo)框的置信度來逐步削弱重疊框的競(jìng)爭(zhēng)力。
Soft?NMS算法的重置函數(shù)如下:
[Si=Si," " " " " " " " " " " " " " " " "IoU(M,bi)lt;NtSi(1-IoU(M,bi))," IoU(M,bi)≥Nt]" (7)
當(dāng)檢測(cè)框出現(xiàn)重疊且超出預(yù)設(shè)的閾值時(shí),重疊檢測(cè)框的分?jǐn)?shù)會(huì)呈線性衰減,而且隨著M的增加,衰減幅度也會(huì)變大。因此使用Soft?NMS算法對(duì)候選框的置信度進(jìn)行優(yōu)化,可以減少對(duì)密集目標(biāo)的漏檢情況。
2.4" WIoU損失函數(shù)
YOLOv5s基準(zhǔn)算法使用CIoU作為邊界框損失函數(shù),但CIoU中引入的長(zhǎng)寬比加劇了對(duì)低質(zhì)量樣例的懲罰,從而降低了模型的泛化能力[18]。所以本文選擇WIoU作為模型的損失函數(shù),其表達(dá)式為:
[LIoU=1-IoU]" (8)
[LWIoUv1=RWIoULIoU]" "(9)
[LWIoUv3=rLWIoUv1," r=βδαβ-δ] (10)
式中:IoU為預(yù)測(cè)框與真實(shí)框的交并比;LIoU為IoU損失;RWIoU為懲罰項(xiàng);r是動(dòng)態(tài)非聚焦機(jī)制系數(shù);β為描述錨框質(zhì)量的離群度,數(shù)值越小意味著錨框質(zhì)量越高;α、δ為學(xué)習(xí)參數(shù)。其中RWIoU和β的具體表達(dá)式為:
[RWIoU=exp(x-xgt)2+(y-ygt)2(W2g+H2g)*]" (11)
[β=L*IoULIoU∈0,+∞]" "(12)
式中:(x,y)、(xgt,ygt)分別為錨框和目標(biāo)框的中心坐標(biāo);Wg和Hg分別為最小包圍框的寬度和高度;[LIoU]為動(dòng)量M的滑動(dòng)平均值,其動(dòng)態(tài)地更新使整體β保持較高水平。由于[LIoU]是動(dòng)態(tài)更新的,錨框的質(zhì)量劃分標(biāo)準(zhǔn)也隨之動(dòng)態(tài)調(diào)整,使得WIoU能夠在訓(xùn)練過程中靈活調(diào)整梯度增益分配策略,最終提升精度。
3" 實(shí)驗(yàn)與分析
3.1" 數(shù)據(jù)集
SHWD(Safety Helmet Wearing?Dataset)[19]是常見的安全帽公開數(shù)據(jù)集,但其中的一些圖像來自教室監(jiān)控拍攝,這部分負(fù)樣本與本文的檢測(cè)環(huán)境不一致,所以文中采用自主收集的方法。首先從SHWD中挑選出與電廠環(huán)境一致的圖像,然后利用實(shí)際拍攝和網(wǎng)絡(luò)爬蟲技術(shù)收集相關(guān)的安全帽圖像。為了保證自建數(shù)據(jù)集的有效性,在收集圖像時(shí)需滿足兩個(gè)原則:一是數(shù)據(jù)集中圖像應(yīng)具有多樣性;二是采集的規(guī)模不能太小。最終構(gòu)建了一個(gè)存有3 230張圖像的安全帽數(shù)據(jù)集,其中包含三種不同大小的目標(biāo),包括大尺度目標(biāo)、中尺度目標(biāo)、小尺度目標(biāo)和密集目標(biāo),共計(jì)15 822個(gè),尺度分布如圖5所示。其中佩戴安全帽和未佩戴安全帽的小目標(biāo)分別達(dá)到5 721個(gè)和2 233個(gè)。按照8∶1∶1的比例劃分為訓(xùn)練集、測(cè)試集與驗(yàn)證集,其中訓(xùn)練集為2 584張,測(cè)試集為323張,驗(yàn)證集為323張。使用LabelImg軟件對(duì)自建數(shù)據(jù)集進(jìn)行標(biāo)注,一共有兩個(gè)標(biāo)注類別,分別是hat(佩戴安全帽)和person(未佩戴安全帽)。
3.2" 實(shí)驗(yàn)環(huán)境與參數(shù)設(shè)置
本文實(shí)驗(yàn)的epoch為500,batch size為32,初始化學(xué)習(xí)率為0.01,權(quán)重衰減為0.000 5,動(dòng)量參數(shù)為0.937,預(yù)熱學(xué)習(xí)率的epoch為3,最終通過余弦退火更新學(xué)習(xí)率。具體的實(shí)驗(yàn)環(huán)境配置如表1所示。
3.3" 實(shí)驗(yàn)評(píng)價(jià)指標(biāo)
為了評(píng)估模型的性能,本文以精確率(Precision, P)、召回率(Recall, R)、平均精度均值(mAP)、模型大?。∕odel size)、參數(shù)量(Params)、計(jì)算量(GFLOPs)以及幀率(FPS)作為評(píng)估指標(biāo)。
精確率和召回率的公式為:
[P=TPTP+FP] (13)
[R=TPTP+FN]" (14)
式中:TP為真正例;FP為假正例;FN為假負(fù)例。
平均精確率(AP)和平均精度均值(mAP)公式為:
[AP=01P(R)dR]" (15)
[mAP=1Ni=1NAPi]" "(16)
式中N表示檢測(cè)目標(biāo)類別數(shù)量,本文共有兩種類別,即N=2。
另外,模型的參數(shù)量是衡量其性能的重要因素,因?yàn)樗鼪Q定了該模型在運(yùn)行時(shí)所占用的內(nèi)存;計(jì)算量則反映了模型的復(fù)雜程度;FPS代表模型每秒可以檢測(cè)多少張圖像,反映了模型的檢測(cè)速度。
3.4" 注意力機(jī)制對(duì)比實(shí)驗(yàn)
為了驗(yàn)證添加坐標(biāo)注意力(CA)機(jī)制的改進(jìn)效果,設(shè)計(jì)4組實(shí)驗(yàn),同時(shí)比較在YOLOv5s中插入SE模塊、ECA模塊對(duì)YOLOv5s模型的影響,從mAP、模型大小、參數(shù)量和計(jì)算量四方面進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果如表2所示。
由表2可以看出:在模型大小和計(jì)算量不變、參數(shù)量微增的情況下,YOLOv5s+CA的mAP@0.5達(dá)到了86.4%,相對(duì)于加入SE模塊、ECA模塊的mAP@0.5分別提升了0.2%和0.6%;mAP@0.5:0.95也達(dá)到了最高的60.4%,相對(duì)于加入SE模塊、ECA模塊的mAP@0.5:0.95也分別提升了0.2%和0.8%。由圖6注意力機(jī)制對(duì)比結(jié)果可見,與基準(zhǔn)算法相比,改進(jìn)后YOLOv5s+CA模型的mAP@0.5為86.4%,提高了1.0%,因此引入CA模塊能夠有效提高檢測(cè)準(zhǔn)確率。
3.5" 損失函數(shù)對(duì)比實(shí)驗(yàn)
為了驗(yàn)證損失函數(shù)的改進(jìn)效果,設(shè)計(jì)3組對(duì)比實(shí)驗(yàn),用WIoU、EIoU分別替換YOLOv5s原來的損失函數(shù)CIoU,然后從mAP、模型大小和損失值三方面進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果如表3所示。
由表3可以看出:在模型減小0.1 MB的情況下,YOLOv5s+WIoU的mAP@0.5達(dá)到了86.3%,相比于YOLOv5s+CIoU和YOLOv5s+EIoU的mAP@0.5均提升了0.9%;mAP@0.5:0.95也達(dá)到了最高的60.4%,相比于YOLOv5s+CIoU和YOLOv5s+EIoU的mAP@0.5:0.95也分別提升了1.6%和1.0%;YOLOv5s+WIoU的損失值達(dá)到了最低,為1.27%,相比于YOLOv5s+CIoU和YOLOv5s+EIoU的損失值分別減少了0.2%和0.12%。
由圖7不同損失函數(shù)實(shí)驗(yàn)對(duì)比結(jié)果可見,相比于YOLOv5s+CIoU和YOLOv5s+EIoU的模型損失值,使用WIoU Loss的損失值是最低的,達(dá)到了1.27%,說明使用WIoU Loss對(duì)模型的性能有一定提升。
3.6nbsp; 改進(jìn)算法與基準(zhǔn)算法的對(duì)比實(shí)驗(yàn)
為了驗(yàn)證算法改進(jìn)后的提升效果,將改進(jìn)后的YOLOv5s模型和基準(zhǔn)模型在相同的實(shí)驗(yàn)環(huán)境下進(jìn)行訓(xùn)練,mAP@0.5、mAP@0.5:0.95、召回率和精確率的對(duì)比曲線如圖8所示。
由圖8a)和圖8b)可知:改進(jìn)YOLOv5s模型的mAP@0.5達(dá)到88.4%,優(yōu)于基準(zhǔn)模型的85.4%,提高了3.0%;改進(jìn)YOLOv5s模型的mAP@0.5:0.95達(dá)到65.6%,也優(yōu)于基準(zhǔn)模型的58.8%,提高了6.8%。由圖8c)可知,基準(zhǔn)模型的召回率為79.4%,而改進(jìn)YOLOv5s模型的召回率為81.8%,提升了2.4%;由圖8d)可知,基準(zhǔn)模型的精確率為94.4%,而改進(jìn)YOLOv5s模型的召回率為94.9%,提升了0.5%,可知模型訓(xùn)練過程中比較理想,不存在過擬合情況。
3.7" 消融實(shí)驗(yàn)
為了探究各個(gè)改進(jìn)模塊的提升效果,進(jìn)行了消融實(shí)驗(yàn),從mAP、模型大小和計(jì)算量3個(gè)指標(biāo)進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果見表4。模型1為基準(zhǔn)模型;模型2是在模型1的基礎(chǔ)上引入Soft?NMS算法;模型3是在模型2的基礎(chǔ)上添加CA機(jī)制;模型4是在模型2的基礎(chǔ)上使用WIoU Loss;模型5是在模型1的基礎(chǔ)上引入Soft?NMS算法、添加CA機(jī)制及使用WIoU Loss。
由表4可以看出,初始YOLOv5s的模型大小為14.5 MB,計(jì)算量為15.8 GFLOPs,mAP@0.5為85.4%,mAP@0.5:0.95為58.8%。使用Soft?NMS算法以后,模型大小和計(jì)算量不變,mAP@0.5為87.1%,提升了1.7%,mAP@0.5:0.95為64.6%,提升了5.8%,可以看出Soft?NMS算法能改善原本算法會(huì)將部分正確的檢測(cè)框誤刪造成的漏檢情況。
引入CA模塊以后,模型大小為13.3 MB,相比基準(zhǔn)模型減少了1.2 MB,計(jì)算量為14.0 GFLOPs,減少了11.4%,mAP@0.5為88.1%,提升了2.7%,mAP@0.5:0.95為64.8%,提升了6.0%,可以看出引入CA機(jī)制能夠聚焦關(guān)鍵特征,提升精度。使用WIoU損失函數(shù)以后,模型大小為13.2 MB,相比基準(zhǔn)模型減少了1.3 MB,計(jì)算量為14.0 GFLOP s,mAP@0.5為88.4%,提升了3.0%,mAP@0.5:0.95為65.6%,提升了6.8%,可以看出使用WIoU損失函數(shù)能夠降低簡(jiǎn)單示例對(duì)損失值的貢獻(xiàn),提升精度。
圖9為5種模型的訓(xùn)練結(jié)果。從圖中可以看出,與基準(zhǔn)模型相比,其他4種模型的mAP@0.5都有所提高,特別是模型5即本文改進(jìn)算法的mAP@0.5最高,達(dá)到了88.4%,提升了3.0%,具有良好表現(xiàn)。
3.8" 不同算法對(duì)比實(shí)驗(yàn)
為驗(yàn)證算法有效性,將本文算法與其他單階段算法YOLOv5s、SSD及兩階段典型算法Faster?RCNN從mAP@0.5、mAP@0.5:0.95、模型大小、參數(shù)量、計(jì)算量、FPS等方面進(jìn)行對(duì)比,對(duì)比結(jié)果見表5。
從表5可以看出,相對(duì)于Faster?RCNN和SSD來說,YOLOv5s模型是輕量級(jí)的網(wǎng)絡(luò)模型,本文的CSW?YOLO模型大小比YOLOv5s降低了8.97%,計(jì)算量比YOLOv5s降低了11.39%,參數(shù)量比YOLOv5s降低了8.55%的情況下,mAP@0.5提高了3.0%,達(dá)到了88.4%,mAP@0.5:0.95提高了6.8%,達(dá)到了65.6%。同時(shí),改進(jìn)YOLOv5算法的FPS相對(duì)下降,但也達(dá)到106.3 f/s,能夠滿足實(shí)時(shí)檢測(cè)的需求。
3.9" 定性對(duì)比實(shí)驗(yàn)
為了更好地驗(yàn)證CSW?YOLO模型的檢測(cè)性能,對(duì)YOLOv5s算法和CSW?YOLO算法做了定性檢測(cè)對(duì)比。在測(cè)試集中選取部分圖像進(jìn)行測(cè)試,圖10為檢測(cè)結(jié)果對(duì)比圖。圖10a)是對(duì)密集目標(biāo)的檢測(cè),其中左圖存在誤檢,將手誤認(rèn)為安全帽;右圖則表明檢測(cè)結(jié)果正常,而且精度也比左圖更高;而YOLOv5s識(shí)別效果不佳,有一個(gè)人佩戴安全帽沒有檢出。圖10b)為對(duì)遠(yuǎn)距離小目標(biāo)的檢測(cè),其中右圖能準(zhǔn)確檢測(cè)出遠(yuǎn)處的小目標(biāo)而不像左圖那樣漏檢,且精度高于左圖??梢钥闯?,本文改進(jìn)算法CSW?YOLO在處理小目標(biāo)和密集目標(biāo)時(shí),比YOLOv5s更加準(zhǔn)確、高效,它能夠有效避免漏檢和誤檢的情況,從而表現(xiàn)出卓越的性能。綜上,本文算法能夠在保證速度損失不大的前提下提高檢測(cè)準(zhǔn)確性,同時(shí)減少誤檢和漏檢。
4" 結(jié)" 論
本文針對(duì)現(xiàn)有安全帽檢測(cè)模型對(duì)小目標(biāo)、密集目標(biāo)表現(xiàn)不佳的問題,以YOLOv5模型為基準(zhǔn),設(shè)計(jì)了一種改進(jìn)算法CSW?YOLO。在YOLOv5中添加坐標(biāo)注意力機(jī)制,解決模型對(duì)關(guān)鍵特征提取不充分的問題;同時(shí)引入Soft?NMS算法,解決非極大值抑制算法會(huì)將正確的預(yù)測(cè)框誤刪的問題,改善漏檢情況;最后選擇WIoU Loss作為模型的損失函數(shù),解決難易樣本的分類不平衡問題,提升模型的泛化能力。改進(jìn)后算法的mAP@0.5從85.4%提升到88.4%,mAP@0.5:0.95從58.8%提升到65.6%,召回率從79.4%提高到81.8%,準(zhǔn)確率從94.4%提高到94.9%。且浮點(diǎn)運(yùn)算數(shù)由15.8 GFLOPs降為14.0 GFLOPs,模型大小由14.5 MB降為13.2 MB,參數(shù)量由7.02×106降為6.42×106;同時(shí),改進(jìn)后算法的FPS雖然從122.0 f/s下降到106.3 f/s,但仍高于Faster?RCNN的26.2 f/s和SSD的72.3 f/s,能滿足實(shí)時(shí)檢測(cè)要求。盡管本文算法有所改進(jìn),但仍存在不足之處,如模型訓(xùn)練受數(shù)據(jù)集的數(shù)量和多樣性影響,數(shù)據(jù)集還不夠豐富,下一步將收集更多不同尺度、背景的安全帽數(shù)據(jù)集,提升模型的泛化能力;引入坐標(biāo)注意力模塊使改進(jìn)后的算法速度有所下降,并對(duì)可移動(dòng)設(shè)備的檢測(cè)速度進(jìn)行優(yōu)化,以達(dá)到輕量化的目的。
參考文獻(xiàn)
[1] 楊樂,郭一鳴,霍勇博,等.改進(jìn)YOLOv5在電力生產(chǎn)違規(guī)穿戴檢測(cè)中的應(yīng)用[J].電力系統(tǒng)保護(hù)與控制,2023,51(14):160?168.
[2] 白培瑞,王瑞,劉慶一,等.DS?YOLOv5:一種實(shí)時(shí)的安全帽佩戴檢測(cè)與識(shí)別模型[J].工程科學(xué)學(xué)報(bào),2023,45(12):2108?2117.
[3] 韓錕棟,張濤,彭玻,等.基于改進(jìn)YOLOv5的安全帽檢測(cè)算法[J].現(xiàn)代電子技術(shù),2024,47(5):85?92.
[4] 劉曉慧,葉西寧.膚色檢測(cè)和Hu矩在安全帽識(shí)別中的應(yīng)用[J]. 華東理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2014,40(3):365?370.
[5] RUBAIYA A,TOMA T T, KAlANTARI?KHANDANI M, et al. Automatic detection of helmet uses for construction safety [C]// 2016 IEEE/WIC/ACM International Conference on Web Intelligence Workshops (WIW). Omaha, NE, USA: IEEE, 2016: 135?142.
[6] 吳明杰,云利軍,陳載清,等.改進(jìn)YOLOv5s的無人機(jī)視角下小目標(biāo)檢測(cè)算法[J].計(jì)算機(jī)工程與應(yīng)用,2024,60(2):191?199.
[7] 華澤璽,施會(huì)斌,羅彥,等.基于輕量級(jí)YOLO?v4模型的變電站數(shù)字儀表檢測(cè)識(shí)別[J].西南交通大學(xué)學(xué)報(bào),2024,59(1):70?80.
[8] HAN G, ZHU M, ZHAO X, et al. Method based on the cross?layer attention mechanism and multiscale perception for safety helmet?wearing detection [J]. Computers and electrical engineering, 2021, 95: 107458.
[9] 李振華,張雷.改進(jìn)YOLOv3的安全帽佩戴檢測(cè)方法[J].國外電子測(cè)量技術(shù),2022,41(12):148?155.
[10] 張震,李浩方,李孟洲,等.改進(jìn)YOLOv4的安全帽佩戴檢測(cè)方法[J].計(jì)算機(jī)應(yīng)用與軟件,2023,40(2):206?211.
[11] 趙睿,劉輝,劉沛霖,等.基于改進(jìn)YOLOv5s的安全帽檢測(cè)算法[J].北京航空航天大學(xué)學(xué)報(bào),2023,49(8):2050?2061.
[12] 王海瑞,趙江河,吳蕾,等.針對(duì)CenterNet缺點(diǎn)的安全帽檢測(cè)算法改進(jìn)[J].湖南大學(xué)學(xué)報(bào)(自然科學(xué)版),2023,50(8):125?133.
[13] 孫國棟,李超,張航.融合自注意力機(jī)制的安全帽佩戴檢測(cè)方法[J].計(jì)算機(jī)工程與應(yīng)用,2022,58(20):300?304.
[14] 侯公羽,陳欽煌,楊振華,等.基于改進(jìn)YOLOv5的安全帽檢測(cè)算法[J].工程科學(xué)學(xué)報(bào),2024,46(2):329?342.
[15] TONG Z J, CHEN Y H, XU Z W, et al. Wise?IoU: bounding box regression loss with dynamic focusing mechanism [EB/OL]. [2022?02?07]. https://arxiv.org/abs/2301.10051.pdfarXivpreprint.
[16] 劉昶成,邵文權(quán),李玲陶.基于改進(jìn)YOLOv5s的電力作業(yè)人員安全帽檢測(cè)算法研究[J].國外電子測(cè)量技術(shù),2024,43(2):34?42.
[17] 韓俊,袁小平,王準(zhǔn),等.基于YOLOv5s的無人機(jī)密集小目標(biāo)檢測(cè)算法[J].浙江大學(xué)學(xué)報(bào)(工學(xué)版),2023,57(6):1224?1233.
[18] ZHANG Y F, REN W Q, ZHANG Z, et al. Focal and efficient IOU loss for accurate bounding box regression [J]. Neurocomputing, 2022, 506: 146?157.
[19] PENG D Z, SUN Z K, CHEN Z R, et al. Detecting heads using feature refine net and cascaded multi?scale architecture [C]// Proceedings of the 2018 24th International Conference on Pattern Recognition. Beijing: IEEE, 2018: 2528?2533.