王建波,武友新
南昌大學(xué) 數(shù)學(xué)與計(jì)算機(jī)學(xué)院,南昌 330000
隨著我國(guó)經(jīng)濟(jì)的發(fā)展和城鎮(zhèn)化道路的建設(shè),城市建筑行業(yè)涌入了大量的農(nóng)民工人員。國(guó)家統(tǒng)計(jì)局2022年2月發(fā)布的統(tǒng)計(jì)數(shù)據(jù)顯示,全國(guó)農(nóng)民工總量2億9 251萬(wàn)人。全年各類(lèi)生產(chǎn)安全事故共死亡26 307人[1]。在建筑行業(yè),規(guī)范佩戴安全帽十分重要,遇到突發(fā)情況時(shí)能有效地保護(hù)施工人員,僅靠人為方式監(jiān)督工人是否規(guī)范佩戴安全帽效率低下。為此,采用機(jī)器視覺(jué)的方式去檢測(cè)工人安全帽佩戴狀況是具有研究意義及應(yīng)用價(jià)值的。
利用機(jī)器視覺(jué)技術(shù)檢測(cè)施工人員是否佩戴安全帽屬于目標(biāo)檢測(cè)類(lèi)的問(wèn)題。目標(biāo)檢測(cè)是一種對(duì)圖像或視頻中的特定對(duì)象進(jìn)行定位和分類(lèi)的任務(wù),在神經(jīng)網(wǎng)絡(luò)崛起之前,目標(biāo)檢測(cè)器都是通過(guò)人為方式來(lái)設(shè)計(jì)特征提取器,比如直方圖梯度(histogram of oriented gradient,HOG)[2]、Viola-Jones檢測(cè)器[3]等。這些模型速度慢,準(zhǔn)確率低,泛化性能差,被應(yīng)用得并不多。2012年,Krizhevsky等人[4]在圖像識(shí)別大賽上將卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)應(yīng)用于圖像領(lǐng)域,并取得了全面超越傳統(tǒng)算法的性能,極大地推動(dòng)了深度學(xué)習(xí)在圖像領(lǐng)域的發(fā)展。此后很多學(xué)者以深度學(xué)習(xí)技術(shù)為基礎(chǔ),構(gòu)建出不少優(yōu)秀的目標(biāo)檢測(cè)算法[5-7]。
近幾年有一些學(xué)者利用機(jī)器視覺(jué)技術(shù)進(jìn)行安全帽識(shí)別。例如,劉曉慧等人[8]先使用膚色檢測(cè)定位人臉區(qū)域,獲取臉部以上區(qū)域圖像,再使用SVM 進(jìn)行分類(lèi),得出圖像是否含有安全帽。徐守坤等人[9]使用Faster R-CNN結(jié)合多尺度訓(xùn)練,增強(qiáng)模型對(duì)不同大小目標(biāo)的魯棒性,實(shí)現(xiàn)安全帽檢測(cè)。肖體剛等人[10]使用深度可分離卷積對(duì)YOLOv3 主干網(wǎng)絡(luò)進(jìn)行輕量化,減少模型參數(shù)量,提升安全帽檢測(cè)速度。這些方法雖然都進(jìn)行了算法的優(yōu)化,但仍然存在著參數(shù)量大、所需算力大、檢測(cè)速度慢等問(wèn)題。并且采用深度可分離替換主干網(wǎng)絡(luò)中的原始卷積的做法,會(huì)導(dǎo)致無(wú)法采用在大規(guī)模數(shù)據(jù)集上預(yù)訓(xùn)練的模型權(quán)值,進(jìn)而需要從頭訓(xùn)練整個(gè)網(wǎng)絡(luò)。
本文提出基于改進(jìn)YOLOv4-tiny 的輕量級(jí)安全帽檢測(cè)算法,并針對(duì)小目標(biāo)漏檢過(guò)多等問(wèn)題進(jìn)行優(yōu)化,在安全帽數(shù)據(jù)集上驗(yàn)證了所提方法的有效性。
YOLOv4-tiny 是YOLOv4 的輕量化模型,相比YOLOv4,雖然精度不足,但參數(shù)量?jī)H為YOLOv4的1/10,并且計(jì)算速度是YOLOv4 的5 倍,這使得tiny 模型更加適用于計(jì)算資源有限、存儲(chǔ)空間不夠充足的邊緣設(shè)備。
YOLOv4-tiny 網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示,由主干網(wǎng)絡(luò)(backbone)、特征融合網(wǎng)絡(luò)(feature pyramid networks,F(xiàn)PN)、預(yù)測(cè)頭(YOLO head)三部分組成。其特征提取網(wǎng)絡(luò)是新一代目標(biāo)檢測(cè)骨干網(wǎng)CSPDarknet53 的縮減版。特征融合部分將經(jīng)過(guò)特征提取網(wǎng)絡(luò)得到的高級(jí)語(yǔ)義特征圖進(jìn)行語(yǔ)義融合,相比于YOLOv4,YOLOv4-tiny只使用P4、P5兩個(gè)尺度的輸出。因此,特征融合部分也比較簡(jiǎn)單,采用FPN網(wǎng)絡(luò)的思想,將P5經(jīng)過(guò)一次卷積后再二倍上采樣,與P4 進(jìn)行通道拼接,豐富P4 的語(yǔ)義信息。預(yù)測(cè)頭部分,沿用了傳統(tǒng)的YOLO預(yù)測(cè)算法計(jì)算分類(lèi)損失與回歸損失。
圖1 YOLOv4-tiny結(jié)構(gòu)圖Fig.1 YOLOv4-tiny structure diagram
卷積神經(jīng)網(wǎng)絡(luò)中的注意力機(jī)制作為一種特征建模的手段,在本質(zhì)上可以看作對(duì)特征圖進(jìn)行重加權(quán),讓具有不同語(yǔ)義信息的特征具有不同權(quán)重,從而抑制背景信息,使得網(wǎng)絡(luò)聚焦于特定區(qū)域。由于注意力機(jī)制的便捷性和有效性,近幾年對(duì)注意力機(jī)制的研究層出不窮。胡杰等人[11]在ImageNet 2017 圖像分類(lèi)大賽中提出SE(squeeze-and-excitation)通道注意力。SE注意力使用全局平均池化(global average pooling,GAP)將特征圖壓縮到通道維度,再使用全連接層計(jì)算每個(gè)通道的權(quán)重。Qin等人[12]證明了GAP是離散余弦變換(discrete cosine transform,DCT)的最低頻率分量,指出僅使用GAP作為通道注意力的降維方式會(huì)造成大量語(yǔ)義丟失,并且提出了一種多頻譜通道注意力(multi-spectral channel attention,MSCA)。MSCA 不僅使用了GAP 所含有的信息,也使用了其他頻域的信息,MSCA 模塊與SE 模塊的具體對(duì)比如圖2所示。首先,將輸入X沿著通道維度平均劃分成n塊,記為[x0,x1,…,xn-1]。然后為每個(gè)塊分配二維DCT分量,具體計(jì)算如式(1)所示:
圖2 模塊對(duì)比示意圖Fig.2 Module comparison diagram
這里,DCTi表示xi對(duì)應(yīng)的頻率分量,Concat 表示按通道維度拼接,F(xiàn)表示全連接層,Xout表示輸入X經(jīng)過(guò)MSCA模塊的輸出。
目前對(duì)注意力機(jī)制的研究主要從通道、空間和頻域三個(gè)方向開(kāi)展。SE注意力僅考慮了在通道維度對(duì)輸入信息進(jìn)行建模得到注意力權(quán)重。MSCA 注意力雖然同時(shí)考慮了通道與頻域兩個(gè)維度的建模信息,但沒(méi)有利用空間維度的信息,在一定程度上會(huì)丟失空間信息。為解決該問(wèn)題,本文將空間維度融入MSCA 中,有效增強(qiáng)注意力模塊捕獲上下文以及空間信息的能力。MSCA 可以看作SE 通道注意力的變體,因此本文借鑒CBAM(convolutional block attention module)[13]模塊的思想將空間維度融入MSCA中得到新的注意力模塊MSCBAM(multi-spectral convolutional block attention module),其結(jié)構(gòu)如圖3所示。
圖3 MSCBAM結(jié)構(gòu)圖Fig.3 MSCBAM structure diagram
輸入的特征圖向量進(jìn)入MACBAM模塊中,先通過(guò)MSCA模塊得到通道注意力權(quán)重FC,具體運(yùn)算如式(2)所示:
經(jīng)過(guò)MSCA 模塊后的特征圖向量進(jìn)入空間注意力模塊得到空間注意力權(quán)重FS,具體計(jì)算如式(3)所示:
對(duì)于輸入張量X∈RC×H×W,C、H、W分別代表通道數(shù)、寬以及高度,式(2)中δ表示Sigmoid非線性激活,MLP 表示全連接層操作,DCT 表示選取二維DCT 分量,式(3)中Conv 表示空間注意力中的卷積操作。AvgPool 和MaxPool 分別代表平均池化和最大池化操作。
YOLOv4-tiny 的特征融合網(wǎng)絡(luò)使用的是自底向上的FPN,為充分利用多級(jí)特征圖所蘊(yùn)含的語(yǔ)義信息,可以將FPN替換為更加有效的融合方式。YOLOv4中的特征融合方式為路徑聚合網(wǎng)絡(luò)(path aggregation network,PAN),YOLOv5中使用的是CSP-PAN,但直接將PAN或者CSP-PAN 引入YOLOv4-tiny 中會(huì)使得網(wǎng)絡(luò)參數(shù)大幅度上升,模型檢測(cè)速度顯著降低。
為此,在PAN 的基礎(chǔ)上,本文設(shè)計(jì)了一種輕量級(jí)的特征融合網(wǎng)絡(luò)Shuffle-PAN,在不顯著增加網(wǎng)絡(luò)參數(shù)量的條件下,實(shí)現(xiàn)了更加有效的特征融合。特征融合模塊中,在將相鄰特征圖按通道維度融合之后,容易造成語(yǔ)義混疊,不利于網(wǎng)絡(luò)學(xué)習(xí),因此在特征融合操作之后需要使用卷積進(jìn)行特征的重提取。這一部分在YOLOv4中采用的是五次卷積,YOLOv5 中采用的是CSP(cross stage partial)模塊。本文采用的是由Shuffle卷積[14]構(gòu)建的Shuffle Unit,具體結(jié)構(gòu)如圖4 所示。Shuffle-PAN 在相鄰尺度的特征圖拼接之后使用Shuffle Unit進(jìn)行信息融合。表1 展示了Shuffle-PAN 與其他特征融合網(wǎng)絡(luò)的參數(shù)量對(duì)比,可以看到為YOLOv4 這種大模型設(shè)計(jì)的PAN直接引入輕量級(jí)模型中,參數(shù)量會(huì)顯著增加。而本文設(shè)計(jì)的Shuffle-PAN 模塊增加的參數(shù)量是最小的,適合用在輕量級(jí)模型中。
圖4 Shuffle Unit結(jié)構(gòu)圖Fig.4 Shuffle Unit structure diagram
表1 特征融合模塊對(duì)比Table 1 Feature fusion module comparison
傳統(tǒng)的YOLO Head 采取的都是耦合頭部(coupled head),即在網(wǎng)絡(luò)的輸出端采用同一個(gè)卷積完成分類(lèi)與定位的任務(wù)。文獻(xiàn)[15-16]指出,在目標(biāo)檢測(cè)任務(wù)中,分類(lèi)和回歸任務(wù)之間是存在沖突的,采用耦合頭進(jìn)行分類(lèi)與回歸任務(wù)很可能會(huì)降低模型的性能。YOLOX算法首次將解耦頭應(yīng)用于YOLO 算法中,并取得了顯著的成效。為此,本文用解耦頭(decoupled head,DCHead)替換YOLOv4-tiny模型中的原耦合頭,以緩解這種沖突的負(fù)面影響。圖5 展示了耦合頭與解耦頭的區(qū)別。解耦的預(yù)測(cè)頭先使用1×1 卷積將特征融合網(wǎng)絡(luò)輸出的P3、P4、P5 三個(gè)不同維度的特征圖都映射成統(tǒng)一的通道數(shù)。隨后再使用兩個(gè)并行分支,每個(gè)分支增加了兩個(gè)3×3 的卷積層分別用于分類(lèi)與回歸任務(wù)。這樣就將兩個(gè)任務(wù)解耦合了,避免了兩個(gè)任務(wù)之間的不協(xié)調(diào)性。為避免參數(shù)增加過(guò)多,每個(gè)分支增加的3×3卷積采用的是深度可分離卷積。
圖5 耦合頭與解耦頭的區(qū)別Fig.5 Difference between coupled head and decoupled head
YOLOv4-tiny 算法雖然是目前主流的輕量級(jí)目標(biāo)檢測(cè)算法,但是仍然存在不足之處。同時(shí)為了方便使用大規(guī)模數(shù)據(jù)集上的預(yù)訓(xùn)練模型權(quán)值進(jìn)行遷移學(xué)習(xí),只對(duì)網(wǎng)絡(luò)的融合部分以及預(yù)測(cè)頭部分進(jìn)行改進(jìn)。
具體做法為,在增加檢測(cè)小物體尺度的基礎(chǔ)上,結(jié)合前面章節(jié)所提出的模塊,對(duì)YOLOv4-tiny算法進(jìn)行增強(qiáng),將得到的算法命名為HM-YOLO。HM-YOLO 網(wǎng)絡(luò)結(jié)構(gòu)如圖6 所示,HM-YOLO 在19×19、38×38、76×76 三個(gè)不同尺度的特征圖上進(jìn)行目標(biāo)物體預(yù)測(cè)。特征融合部分使用了第2.2 節(jié)提出的Shuffle-PAN 模塊,并將第2.3 節(jié)提出的優(yōu)化的注意力模塊融入網(wǎng)絡(luò)中,使網(wǎng)絡(luò)能更好地捕獲輸入圖像的目標(biāo)區(qū)域。同時(shí),對(duì)YOLO Head 部分進(jìn)行了重構(gòu),原YOLOv4-tiny 算法在Head 部分使用一個(gè)3×3卷積和1×1卷積這種耦合的預(yù)測(cè)頭,并且3×3 卷積對(duì)應(yīng)的輸出通道數(shù)為512,大于輸入通道數(shù)。本文認(rèn)為對(duì)于安全帽檢測(cè)這種只有兩類(lèi)檢測(cè)對(duì)象的任務(wù),在Head 部分使用通道數(shù)上升的3×3 卷積是沒(méi)有必要的,會(huì)產(chǎn)生冗余參數(shù)。因此將預(yù)測(cè)頭部分替換為深度可分離卷積搭建的解耦頭,在預(yù)測(cè)頭的輸入端利用1×1 卷積將輸入通道數(shù)統(tǒng)一調(diào)整為128,隨后使用解耦頭的兩個(gè)并行分支進(jìn)行分類(lèi)與回歸任務(wù),降低模型參數(shù)量的同時(shí),也加強(qiáng)了模型的預(yù)測(cè)性能。
圖6 HM-YOLO結(jié)構(gòu)圖Fig.6 HM-YOLO structure diagram
在安全帽佩戴檢測(cè)方面,公開(kāi)的數(shù)據(jù)集有SHWD(safety helmet wearing datasets)。SHWD 數(shù)據(jù)集樣本分為兩類(lèi)“hat”和“person”,表示目標(biāo)是否佩戴安全帽。但是SHWD數(shù)據(jù)集中未佩戴安全帽的圖像有相當(dāng)一部分來(lái)自SCUT-HEAD[17]數(shù)據(jù)集,該數(shù)據(jù)集是一個(gè)人頭檢測(cè)的數(shù)據(jù)集,其中的圖像來(lái)源于教室場(chǎng)景下的監(jiān)控?cái)?shù)據(jù),不適合作為安全帽檢測(cè)任務(wù)的負(fù)樣本。為此剔除了SHWD數(shù)據(jù)集中這些不合理的圖像,并且補(bǔ)充了工地場(chǎng)景下正樣本的數(shù)量,最終得到的數(shù)據(jù)集有6 538張圖片,以8∶2 的比例劃分訓(xùn)練集和測(cè)試集。數(shù)據(jù)集標(biāo)注情況如表2 所示,其中包含佩戴安全帽的對(duì)象11 780 個(gè),未佩戴安全帽的對(duì)象45 218個(gè),共56 998個(gè)標(biāo)注對(duì)象。
表2 數(shù)據(jù)集標(biāo)注數(shù)量Table 2 Number of annotations in dataset
采用COCO數(shù)據(jù)集標(biāo)準(zhǔn)按照目標(biāo)大小進(jìn)行分類(lèi),各類(lèi)目標(biāo)數(shù)量如表3所示。可以看到,在訓(xùn)練集和測(cè)試集中小目標(biāo)的數(shù)量均是最多的,分別占據(jù)了總目標(biāo)數(shù)量的41.0%、43.4%。
表3 數(shù)據(jù)集中目標(biāo)數(shù)量Table 3 Number of object in dataset
3.2.1 實(shí)驗(yàn)設(shè)置
訓(xùn)練安全帽數(shù)據(jù)集時(shí),網(wǎng)絡(luò)輸入的圖片大小固定為608×608,采用隨機(jī)水平翻轉(zhuǎn)和亮度調(diào)節(jié)進(jìn)行實(shí)時(shí)數(shù)據(jù)增強(qiáng),增加樣本多樣性,防止模型過(guò)擬合。選用Adam優(yōu)化器,權(quán)重衰減設(shè)置為5E-4。批處理大小為8,訓(xùn)練時(shí)加載YOLOv4-tiny 的COCO 預(yù)訓(xùn)練權(quán)重以加快模型收斂,初始學(xué)習(xí)率為5E-4,學(xué)習(xí)率衰減比例為0.94。本文所有實(shí)驗(yàn)均在同一環(huán)境下進(jìn)行,操作系統(tǒng)為Windows10,CPU 型號(hào)為Intel?CoreTMi5-9400 CPU@2.90 GHz,GPU 型號(hào)為NVIDIA GeForce GTX 1660Ti,顯存大小為6 GB,內(nèi)存大小為16 GB。模型基于Pytorch1.7.1 框架,使用cuDNN進(jìn)行加速訓(xùn)練。
3.2.2 評(píng)價(jià)指標(biāo)
為了評(píng)估算法性能,本文采用mAP、FPS 和模型參數(shù)量三個(gè)指標(biāo)評(píng)價(jià)模型的精度、速度以及大小。mAP是由所有類(lèi)別的平均精度(AP)取均值得到的,而每個(gè)類(lèi)別的AP 是指不同召回率下精確度的平均值。AP 計(jì)算如式(5)所示,mAP 計(jì)算如式(6)所示,F(xiàn)PS 計(jì)算如式(7)所示。
其中,TP表示檢測(cè)結(jié)果為正的正樣本,F(xiàn)P表示檢測(cè)結(jié)果為正的負(fù)樣本,r表示所有召回率的可能取值,SUM表示總類(lèi)別數(shù)。
其中,fn表示檢測(cè)的圖片總數(shù),T表示所用的總時(shí)間。
3.2.3 實(shí)驗(yàn)結(jié)果與分析
對(duì)HM-YOLO 和YOLOv4-tiny 算法在測(cè)試集上的準(zhǔn)確率與召回率進(jìn)行評(píng)價(jià),繪制P-R曲線如圖7所示。
圖7 兩種算法的P-R曲線Fig.7 P-R curves of two algorithms
為了驗(yàn)證HM-YOLO的有效性,將HM-YOLO算法與主流的RFBNet、YOLOv4-tiny、MobileNetv3-YOLOv4、Ghost-YOLOv5s以及最新的YOLOX-s等通用改進(jìn)模型進(jìn)行對(duì)比。同時(shí)選取安全帽檢測(cè)問(wèn)題的研究工作[18-19],根據(jù)文獻(xiàn)中所提的改進(jìn)點(diǎn)搭建了改進(jìn)的模型,并與本文模型進(jìn)行了對(duì)比,表4 展示了各算法的性能對(duì)比結(jié)果。由表4中可以看出,與主流檢測(cè)器RFBNet、YOLOv4-tiny、MobileNetv3-YOLOv4、Ghost-YOLOv5s相比,HM-YOLO算法的平均檢測(cè)精度分別提升了13.45個(gè)百分點(diǎn)、14.20個(gè)百分點(diǎn)、7.2 個(gè)百分點(diǎn)、2.68 個(gè)百分點(diǎn);與最新的單階段檢測(cè)器YOLOX-s相比,平均精度略低,但是在未規(guī)范佩戴安全帽的類(lèi)別上,HM-YOLO算法的結(jié)果取得了比YOLOX-s 更高的精度。與文獻(xiàn)[18-19]相比,佩戴安全帽類(lèi)別精度略低,但是未佩戴安全帽的類(lèi)別取得了最高精度。這說(shuō)明了HM-YOLO 算法在檢測(cè)精度上達(dá)到了現(xiàn)有算法的先進(jìn)水平。
表4 主流算法性能對(duì)比Table 4 Performance comparison of mainstream algorithms
同時(shí)模型檢測(cè)速度與模型大小也是非常重要的指標(biāo),決定了模型能否很好地應(yīng)用于實(shí)際場(chǎng)景下??梢钥吹紿M-YOLO算法的檢測(cè)速度與表4中各算法相比,僅次于最快的YOLOv4-tiny,而相較于其他算法均有較大的提升。與YOLOv4-tiny相比,雖然速度下降了12 FPS,但是仍然滿足大多數(shù)工業(yè)場(chǎng)景下實(shí)時(shí)性的要求。同時(shí)HM-YOLO模型參數(shù)量最少,僅為YOLOX-s、文獻(xiàn)[18]、文獻(xiàn)[19]的53%、67%、66%,對(duì)于部署在空間有限的邊緣設(shè)備上更加友好。
3.2.4 改進(jìn)過(guò)程的對(duì)比實(shí)驗(yàn)
本文通過(guò)消融實(shí)驗(yàn)驗(yàn)證所提各方法的有效性,具體結(jié)果如表5 所示??梢钥吹?,YOLOv4-tiny 在增加了76×76 的檢測(cè)尺度P3 后,檢測(cè)精度顯著提升。分析認(rèn)為,這是由于安全帽數(shù)據(jù)集中含有較多的小目標(biāo),僅在19×19、38×38 兩個(gè)尺度上進(jìn)行預(yù)測(cè)會(huì)導(dǎo)致模型易忽略小目標(biāo),增加了76×76尺度的P3后,模型對(duì)小目標(biāo)檢測(cè)能力顯著提升,能更好地完成安全帽佩戴檢測(cè)任務(wù)。同時(shí)將模型預(yù)測(cè)頭替換為更加輕量級(jí)的DCHead,模型參數(shù)量有了顯著的降低。并將模型特征融合部分替換為Shuffle-PAN 且融入MSCBAM 注意力模塊后得到HM-YOLO 算法,模型平均精度達(dá)到92.82%,在精度方面僅比YOLOX-s相差不到1個(gè)百分點(diǎn)。
表5 消融實(shí)驗(yàn)Table 5 Ablation experiments
為了驗(yàn)證改進(jìn)后的注意力模塊的有效性,本文做了一組注意力模塊的橫向?qū)Ρ葘?shí)驗(yàn)。以引入了解耦頭和輕量級(jí)特征融合模塊的模型為基礎(chǔ)模型,分別融入SE、CBAM、MSCA 與MSCBAM 在安全帽數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)對(duì)比。從表6中可以看到,融入不同注意力均能提升模型精度,而同時(shí)利用通道頻率信息與空間信息的MSCBAM 模塊取得了最佳精度,充分驗(yàn)證了該注意力模塊在安全帽檢測(cè)任務(wù)中的有效性。
為了更直觀地感受HM-YOLO算法的效果,選取了幾張密集場(chǎng)景和光照欠佳等復(fù)雜場(chǎng)景的圖片進(jìn)行檢測(cè)效果對(duì)比,檢測(cè)結(jié)果如圖8 和圖9 所示??梢钥吹剑琀M-YOLO算法在密集遮擋場(chǎng)景下能檢測(cè)出更多目標(biāo),具有更高的召回率。且在光線不好的情況下,HM-YOLO算法對(duì)物體的檢測(cè)置信度均高于YOLOv4-tiny 算法。說(shuō)明本文提出的HM-YOLO 算法在精度和穩(wěn)定性方面都超過(guò)了原算法。
圖8 HM-YOLO檢測(cè)結(jié)果Fig.8 HM-YOLO test results
圖9 YOLOv4-tiny檢測(cè)結(jié)果Fig.9 YOLOv4-tiny test results
為了定量分析HM-YOLO在復(fù)雜場(chǎng)景下的性能,從測(cè)試集數(shù)據(jù)中選取了100 張復(fù)雜場(chǎng)景下的圖片進(jìn)行mAP 評(píng)估,評(píng)估結(jié)果如表7 所示??梢钥吹?,在復(fù)雜場(chǎng)景下,各算法精度與整個(gè)測(cè)試集精度相比,均有所下降。其中HM-YOLO、YOLOX-s 算法在復(fù)雜場(chǎng)景下精度下降最少,分別只下降了0.50 個(gè)百分點(diǎn)、0.44 個(gè)百分點(diǎn),說(shuō)明模型的魯棒性更好,能更好地應(yīng)對(duì)復(fù)雜環(huán)境下的檢測(cè)任務(wù)。
表7 復(fù)雜場(chǎng)景精度對(duì)比Table 7 Performance comparison in complex background
本文針對(duì)安全帽佩戴檢測(cè)任務(wù),使用YOLOv4-tiny模型作為基準(zhǔn),增加檢測(cè)小目標(biāo)的尺度,解決小目標(biāo)丟失過(guò)多問(wèn)題;將本文所提的輕量級(jí)特征融合模型與注意力模塊融入YOLOv4-tiny 中,增強(qiáng)模型的學(xué)習(xí)能力;并將預(yù)測(cè)頭解耦,緩解分類(lèi)與回歸任務(wù)之間的沖突,得到輕量級(jí)HM-YOLO模型。實(shí)驗(yàn)表明,HM-YOLO算法能較好地完成安全帽佩戴檢測(cè)任務(wù),檢測(cè)mAP達(dá)92.82%,檢測(cè)速度達(dá)63 FPS,且模型參數(shù)量?jī)H為4.79×106,更加適用于資源有限的邊緣設(shè)備和移動(dòng)設(shè)備。
目前訓(xùn)練模型仍然需要大量的標(biāo)注樣本,在很多情況下,對(duì)大量樣本進(jìn)行標(biāo)注是費(fèi)時(shí)費(fèi)力的。因此,下一步工作是研究半監(jiān)督學(xué)習(xí),通過(guò)少量標(biāo)注樣本達(dá)到較好的訓(xùn)練效果。