劉斯逸,何 青
(長(zhǎng)沙理工大學(xué)電氣與信息工程學(xué)院,長(zhǎng)沙 410114)
在工廠生產(chǎn)和工地施工期間,車間和工地人員的安全問(wèn)題是一個(gè)不容忽視的問(wèn)題。鋼鐵廠車間存在著各種潛在的安全隱患,例如高溫、高空墜物、重物滑落等。這些潛在的安全風(fēng)險(xiǎn)對(duì)工廠施工人員的生命和財(cái)產(chǎn)造成了巨大的威脅。近些年來(lái),有些企業(yè)沒(méi)有很好地規(guī)范職工使用安全防護(hù)用品,例如安全帽、手套等,為此付出了比較慘重的代價(jià)。近些年來(lái),工廠企業(yè)和工地施工單位逐步將施工安全放在首要位置,安全繩、安全帽等防護(hù)用品的佩戴得到了本行業(yè)甚至是其他行業(yè)越來(lái)越多的重視。當(dāng)下,對(duì)于安全帽佩戴檢測(cè)主要采用的是傳統(tǒng)人為視頻監(jiān)控和傳感器監(jiān)測(cè)的方式,容易出現(xiàn)人為疏漏,且費(fèi)時(shí)、費(fèi)力。
隨著深度卷積神經(jīng)網(wǎng)絡(luò)快速發(fā)展,其在圖像分類、目標(biāo)識(shí)別、目標(biāo)檢測(cè)和跟蹤等多個(gè)領(lǐng)域展現(xiàn)出其特有的優(yōu)勢(shì)。對(duì)于工業(yè)現(xiàn)場(chǎng)安全帽佩戴的檢測(cè)引起了學(xué)者的廣泛關(guān)注并對(duì)其投入了一定的研究。
閆蓉蓉[1]運(yùn)用形態(tài)學(xué)和膚色分割法處理并定位出人臉位置,結(jié)合設(shè)計(jì)的EHSW-Adaboost算法定位出安全帽的位置。Wen等[2]提出基于改進(jìn)Hough 變換的圓弧/弧檢測(cè)方法,并將其應(yīng)用于ATM監(jiān)控系統(tǒng)中的安全帽檢測(cè)。
Wu 等[3]將安全帽顏色分類,把目標(biāo)切分成不同尺度,在此基礎(chǔ)上采用改進(jìn)后的SSD 算法進(jìn)行識(shí)別,取得了較好的效果。劉瑞昊等[4]在安全帽檢測(cè)中改進(jìn)YOLOv3算法,對(duì)其特征融合進(jìn)行改進(jìn),加入了Inception_shortcut 的結(jié)構(gòu)。呂宗喆等[5]改進(jìn)YOLOv5 算法,將輸入的圖片進(jìn)行重疊切片,應(yīng)用于安全帽檢測(cè),提高對(duì)于小目標(biāo)檢測(cè)的準(zhǔn)確性。金源等[6]對(duì)YOLOv5 的預(yù)測(cè)輸出層進(jìn)行改進(jìn),加入了二級(jí)目標(biāo)的分類數(shù)量并對(duì)損失函數(shù)進(jìn)行優(yōu)化。Fang 等[7]提出了基于改進(jìn)YOLOv2模型的方法,把密集網(wǎng)絡(luò)和特征提取網(wǎng)絡(luò)結(jié)合起來(lái),利用MobileNet 輕量型網(wǎng)絡(luò)模型,提高了檢測(cè)精度和檢測(cè)速度。吳冬梅等[8]提出了改進(jìn)的Faster R-CNN 的安全帽佩戴檢測(cè)方法,將骨干網(wǎng)絡(luò)中的5個(gè)網(wǎng)絡(luò)階段的特征圖進(jìn)行融合,提高了對(duì)被檢測(cè)目標(biāo)的檢測(cè)準(zhǔn)確性。喬炎等[9]引入輕量型網(wǎng)絡(luò)Shuffletnetv2,在C3 模塊引入了Swin Transformer Block 模塊,在其中加入了CBAM_H 注意力機(jī)制,減少了參數(shù)量,提高了檢測(cè)的準(zhǔn)確性。梅國(guó)新等[10]提出了基于EfficientDet 的用于檢測(cè)邊緣環(huán)境下面向復(fù)雜監(jiān)控視頻背景的安全帽檢測(cè)算法。鄧開(kāi)發(fā)等[11]通過(guò)將Faster R-CNN 目標(biāo)檢測(cè)模型和深度特征流算法相結(jié)合,實(shí)現(xiàn)了對(duì)施工現(xiàn)場(chǎng)攝像頭監(jiān)控視頻中安全帽的檢測(cè),但容易受到外界復(fù)雜因素的干擾。王雨生等[12]提出了新的安全帽佩戴檢測(cè)姿態(tài)估計(jì)的方法。趙麗等[13]改進(jìn)YOLOv5 模型,將PANet 改為BiFPN 并改進(jìn)了邊界框損失函數(shù)。岳衡等[14]在YOLOv5 模型中加入了壓縮激勵(lì)層,和Soft-NMS 保留更多的預(yù)測(cè)框,進(jìn)一步使用加權(quán)非極大值抑制法獲得更為準(zhǔn)確的預(yù)測(cè)框,將其運(yùn)用到工業(yè)安全帽檢測(cè)中。肖體剛等[15]提出一種基于改進(jìn)SSD 的安全帽佩戴快速檢測(cè)算法,通過(guò)將SSD 中的骨干網(wǎng)絡(luò)VGG-16 替換為輕量型卷積神經(jīng)網(wǎng)絡(luò)MobileNetV3-small,減少了模型的參數(shù),同時(shí)使用特征金字塔結(jié)構(gòu)將深層特征與淺層特征進(jìn)行融合,提升了檢測(cè)精度。Liu等[16]提出新的SSD 算法,結(jié)合了Faster R-CNN和YOLO 的思想,有效地運(yùn)用多尺度特征圖融合預(yù)測(cè)的思想,對(duì)于小目標(biāo)檢測(cè)有一定的效果。
綜上所述,目前基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法雖相比于傳統(tǒng)的檢測(cè)算法有了較大的改進(jìn),但對(duì)于復(fù)雜環(huán)境下的小目標(biāo)檢測(cè)效果不佳。對(duì)于上述問(wèn)題,本文以YOLOv5算法模型為基礎(chǔ)對(duì)模型結(jié)構(gòu)以及損失函數(shù)進(jìn)行調(diào)整和改進(jìn),改進(jìn)后的算法模型相比于之前的對(duì)于小目標(biāo)檢測(cè)的效果更好,檢測(cè)精度也有所提高。
本文以YOLOv5 算法模型為基礎(chǔ),算法模型主要由以下三個(gè)部分組成,主干網(wǎng)絡(luò)(Backbone)即特征提取網(wǎng)絡(luò)、頸部(Neck)即PANet特征融合模塊和頭部(Head)預(yù)測(cè)模塊。如圖1所示。
圖1 YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)圖
主干特征提取網(wǎng)絡(luò)主要由一個(gè)SPPF 層和多個(gè)卷積和C3 層組成,C3 模型中引入了Cross Stage Partial Network(CSP)模塊,用于加速特征圖的計(jì)算,并提高模型的準(zhǔn)確性,運(yùn)用到了殘差連接使得模型能夠更好地學(xué)習(xí)目標(biāo)的特征信息??臻g金字塔池化(SPPF)位于特征提取網(wǎng)絡(luò)的最后一層,即輸出端,其主要作用是由于輸入的圖像尺寸總是不能滿足輸入時(shí)要求的大小,通常需要進(jìn)行手動(dòng)裁剪、拉伸或者縮放,但這種做法并不好,對(duì)于圖像的原始特征造成了一定的影響,損失了圖像原始的特征。SPPF 層通過(guò)將候選區(qū)的特征圖劃分為多個(gè)不同尺寸的網(wǎng)格,對(duì)每個(gè)網(wǎng)格內(nèi)都做最大池化,將提取到的任意大小的特征圖轉(zhuǎn)換成固定大小的特征向量。
頸部,即特征融合層(PANet),采用自下而上和自上而下的特征金字塔融合方式,使得模型能夠獲得不同尺度目標(biāo)特征圖的特征信息,從而學(xué)習(xí)到更多的目標(biāo)特征信息,提高了模型檢測(cè)目標(biāo)的精度,有效地解決了多尺度特征融合的問(wèn)題。
預(yù)測(cè)模塊(Head)采用1×1 的卷積預(yù)測(cè)輸出,利用置信度損失函數(shù)、目標(biāo)定位損失函數(shù)、目標(biāo)類別損失函數(shù)判定目標(biāo)預(yù)測(cè)框和真實(shí)框之間的差距,再通過(guò)非極大值抑制(NMS)濾除多余的選框,得到最終的預(yù)測(cè)輸出框。
相比于之前的YOLO 系列的算法模型,YOLOv5 在檢測(cè)精度和檢測(cè)速度上有了很大的提升,PANet模塊的引入使得算法模型能更好地學(xué)習(xí)到不同尺度的目標(biāo)特征信息,改善了檢測(cè)的精度,能夠相對(duì)較好地預(yù)測(cè)中小目標(biāo),但對(duì)于本文所述的目標(biāo)檢測(cè)任務(wù),由于施工現(xiàn)場(chǎng)復(fù)雜的環(huán)境容易受到光照、時(shí)間等因素的影響,且被檢測(cè)的目標(biāo)大多為中小目標(biāo),YOLOv5算法模型以及當(dāng)下一些主流的算法對(duì)于中小目標(biāo)以及密集型目標(biāo)檢測(cè)效果不佳,存在漏檢、錯(cuò)檢的問(wèn)題。
YOLOv5輸入端,即數(shù)據(jù)預(yù)處理端主要通過(guò)選框的聚類選擇出合適標(biāo)準(zhǔn)的anchors,圖像的自適應(yīng)縮放以及數(shù)據(jù)增強(qiáng)操作。由于被檢測(cè)的目標(biāo)大多為中小目標(biāo),在復(fù)雜環(huán)境下,被檢測(cè)目標(biāo)的精度會(huì)受到一定程度的影響,因此為了提高檢測(cè)的精度,增加一張圖像中目標(biāo)的數(shù)量,豐富數(shù)據(jù)的多樣性,采用Mosaic 方法對(duì)輸入圖像進(jìn)行數(shù)據(jù)增強(qiáng)。Mosaic 會(huì)從訓(xùn)練集中隨機(jī)選取四張不同的圖片,隨機(jī)初始化拼接的中心點(diǎn),將四張圖片通過(guò)裁剪、縮放、翻轉(zhuǎn)等操作,拼接成一張大圖。通過(guò)這種方式,可以有效地?cái)U(kuò)展訓(xùn)練集規(guī)模,提高模型的泛化能力和檢測(cè)精度,較為有效地提高了圖片中被檢測(cè)目標(biāo)的數(shù)量。Mosaic 數(shù)據(jù)增強(qiáng)處理后的圖像如圖2 所示。在訓(xùn)練過(guò)程中有50%的概率會(huì)采用Mosaic數(shù)據(jù)增強(qiáng)的方法,不難發(fā)現(xiàn)通過(guò)此種方式處理后的數(shù)據(jù),圖像中被檢測(cè)目標(biāo)的數(shù)量有了明顯的增加。
圖2 Mosaic數(shù)據(jù)增強(qiáng)處理后的圖像
本文采用kmeans++聚類方法對(duì)選框進(jìn)行聚類,分別得到9種不同的選框用于預(yù)測(cè)三個(gè)不同預(yù)測(cè)特征層中的小、中、大目標(biāo)。其anchors 大小分別為[10,13,16,30,33,23],[30,61,62,45,59,119]和[116,90,156,198,373,326]。再將聚類選擇出的anchors 以及數(shù)據(jù)增強(qiáng)處理后打包得到的圖像數(shù)據(jù)送入模型的主干網(wǎng)絡(luò)中進(jìn)行特征提取。
由于被檢測(cè)的目標(biāo)安全帽大多為中小目標(biāo)且較為密集,YOLOv5算法模型的檢測(cè)精度受到施工現(xiàn)場(chǎng)復(fù)雜環(huán)境影響不是很高。因此有必要在主干網(wǎng)絡(luò)中引入注意力機(jī)制,來(lái)提升網(wǎng)絡(luò)模型對(duì)于被檢測(cè)目標(biāo)安全帽相關(guān)特征信息的關(guān)注度,學(xué)習(xí)到更多的目標(biāo)特征信息,從而提升網(wǎng)絡(luò)的檢測(cè)精度。
注意力機(jī)制是一種基于神經(jīng)網(wǎng)絡(luò)的模型模塊,用于增強(qiáng)模型對(duì)輸入中重要部分的關(guān)注度和記憶能力。在注意力機(jī)制中,計(jì)算輸入中每個(gè)元素的權(quán)重,這些權(quán)重可以通過(guò)各種方法得到,如加權(quán)平均、向量相似度、自適應(yīng)加權(quán)等,增大有效特征信息的權(quán)重參數(shù),來(lái)讓算法模型更好地、有目的地抓住需要關(guān)注的目標(biāo)特征信息,忽略無(wú)關(guān)信息,從而提高算法模型的泛化能力和魯棒性,以及對(duì)于被檢測(cè)目標(biāo)的關(guān)注度,進(jìn)而提升檢測(cè)精度。
由于被檢測(cè)的目標(biāo)主要為小型目標(biāo),故需要對(duì)Neck 模塊融合后的特征進(jìn)行進(jìn)一步篩選,在Head 預(yù)測(cè)小目標(biāo)1×1 卷積核輸出預(yù)測(cè)之前加入SKNet 注意力模塊,以此提高模型對(duì)于小目標(biāo)檢測(cè)的魯棒性。SKNet[17](Selective Kernel Networks)是卷積核注意力機(jī)制,可以讓網(wǎng)絡(luò)自適應(yīng)地選擇合適的卷積核,主要通過(guò)引入選擇性注意力機(jī)制來(lái)提高模型的準(zhǔn)確性和泛化能力。具體來(lái)說(shuō),在SKNet 中,每個(gè)卷積層都包含多個(gè)不同大小的卷積核,不同大小的感受視野(卷積核)對(duì)于不同尺度(遠(yuǎn)近、大小)的目標(biāo)會(huì)有不同的效果,為小目標(biāo)的檢測(cè)提供指導(dǎo)。通過(guò)選擇不同大小的卷積核,來(lái)適應(yīng)不同尺度的特征,使得不同的圖像能夠得到具有不同重要性的卷積核,提高模型對(duì)于檢測(cè)小目標(biāo)的能力,從而提高模型的靈活性和表達(dá)能力。同時(shí),SKNet還引入了通道注意力機(jī)制,用于進(jìn)一步篩選具有重要信息的特征通道,從而加強(qiáng)模型對(duì)關(guān)鍵特征的捕捉和記憶。由于引入了注意力機(jī)制,算法模型的深度增加,容易出現(xiàn)梯度消失和梯度爆炸的問(wèn)題,殘差連接的引入能更好地提升模型的表達(dá)能力和性能。同時(shí),殘差連接跨層進(jìn)行,可以有效地幫助模型更好地學(xué)習(xí)目標(biāo)特征,在訓(xùn)練時(shí)可以使得模型更加容易收斂,減少訓(xùn)練所需的時(shí)間,引入殘差連接的SKNet如圖3所示。
圖3 帶有殘差連接的SKNet模塊
將輸入的特征圖分別通過(guò)一個(gè)3×3 的卷積和5×5 的卷積生成兩個(gè)特征圖,分別為U1 和U2。然后將這兩個(gè)特征圖相加,生成新的特征圖U,再通過(guò)全局平均池化(Fgp)生成1×1×C 的特征圖S,再通過(guò)一個(gè)全連接層(Ffc 函數(shù))生成d×1 的向量Z,利用Softmax 對(duì)Z 向量進(jìn)行歸一化,這時(shí)每個(gè)通道對(duì)應(yīng)一個(gè)權(quán)重值,其大小代表了通道的重要程度,再將得到的權(quán)重值分別乘以對(duì)應(yīng)的特征圖U1 和U2,得到U3 和U4。將兩個(gè)特征圖進(jìn)行融合,得到帶有通道權(quán)重值的特征圖V,最后再將輸出的特征圖V與輸入特征圖X 相加得到模塊的最終輸出。其最終輸出的特征圖相比于輸入的特征圖X 經(jīng)過(guò)了特征信息的篩選和提煉,融合了不同感受野的信息。該模塊的引入使得模型可以更多地關(guān)注小目標(biāo),提高了模型對(duì)于小目標(biāo)的檢測(cè)精度。
相較于小目標(biāo),算法模型對(duì)于中等目標(biāo)的檢測(cè)效果有了一定的提升,但中等目標(biāo)具有空間方向和位置的敏感性。雖然通道注意力會(huì)較為顯著地改善算法模型的性能,但其通常會(huì)忽略對(duì)中等目標(biāo)生成空間選擇性注意力圖非常重要的位置信息且參數(shù)量較大,考慮到算法模型的復(fù)雜度,本文針對(duì)中等目標(biāo)預(yù)測(cè)1×1 的卷積輸出層前引入了CA注意力機(jī)制。
CA[18](coordinate attention)注意力機(jī)制是較為簡(jiǎn)單和靈活的注意力機(jī)制,在幾乎不帶來(lái)額外的計(jì)算開(kāi)銷的前提之下,可以顯著提升模型對(duì)于中等目標(biāo)的關(guān)注度。CA 注意力機(jī)制能捕獲跨通道的信息,還可以獲取方向和位置的信息,其將通道注意力分解為兩個(gè)沿著不同方向進(jìn)行聚合,形成一對(duì)方向感知和位置敏感的特征圖,它們可以互補(bǔ)地運(yùn)用以增強(qiáng)輸入特征圖對(duì)于中等目標(biāo)的檢測(cè)能力,使得算法模型更加精準(zhǔn)地定位和識(shí)別圖像中重要的目標(biāo)信息,提升網(wǎng)絡(luò)模型的檢測(cè)精度。最后,和引入SKNet 注意力模塊一樣,考慮到算法模型深度和梯度消失的問(wèn)題,引入了殘差連接。引入殘差連接的CA 注意力機(jī)制模塊如圖4所示。
圖4 帶有殘差連接的CA模塊
將輸入的特征圖在w 和h方向進(jìn)行平均池化操作,通過(guò)此兩種池化操作使得注意力機(jī)制模塊可以很好地捕捉到沿著一個(gè)空間方向的長(zhǎng)程依賴,同時(shí)保存沿著另一個(gè)空間方向的精確位置信息,相比于一般的注意力機(jī)制,這樣可以使得網(wǎng)絡(luò)更準(zhǔn)確地定位感興趣的目標(biāo)區(qū)域。如圖5所示,將兩個(gè)方向上的特征圖拼接以后送入1×1 卷積中進(jìn)行降維處理,然后通過(guò)BN 和非線性激活函數(shù),切分成不同方向的張量卷積后進(jìn)行Sigmoid 處理,輸出對(duì)于輸入特征圖的權(quán)重系數(shù),再與原輸入相乘,最后再將帶有權(quán)重系數(shù)的特征圖與原輸入通過(guò)殘差連接相加得到模塊的最終輸出。此注意力模塊完成了對(duì)于輸入特征圖豎直和水平方向上的自注意力,改善了算法模型對(duì)于中等目標(biāo)的檢測(cè)精度。
圖5 帶有殘差連接的ECA模塊
由于被檢測(cè)的大目標(biāo)在數(shù)據(jù)集中數(shù)量較少,為進(jìn)一步提高對(duì)于模型的檢測(cè)精度和能力,本文在Head 模塊1×1 卷積預(yù)測(cè)大目標(biāo)輸出之前,引入了ECA注意力機(jī)制模塊。
SE 注意力機(jī)制首先對(duì)輸入特征圖進(jìn)行了通道壓縮,該做法對(duì)于學(xué)習(xí)到通道之間的依賴關(guān)系造成一定的影響。ECA[19](efficient channel attention)注意力機(jī)制與之不同,其通過(guò)應(yīng)用一維卷積層將全局特征向量轉(zhuǎn)換為注意力權(quán)重向量,并將其應(yīng)用于特征圖上,從而提高重要特征通道的權(quán)重。如圖5 所示,ECA 注意力機(jī)制舍去了降維,直接將輸入特征圖X 通過(guò)全局池化變成1×1×C的張量,再用1×1卷積對(duì)輸入的張量進(jìn)行通道得分的學(xué)習(xí),其中k=3 或5 自適應(yīng)地選擇卷積核的大小,然后經(jīng)過(guò)Sigmoid 激活函數(shù)獲得對(duì)于各個(gè)通道的權(quán)重參數(shù),將獲得的權(quán)重值與原始輸入特征圖對(duì)應(yīng)元素相乘,得到帶有通道權(quán)重值的特征圖。相較于其他注意力機(jī)制,ECA 注意力機(jī)制具有計(jì)算速度快、參數(shù)量少等優(yōu)點(diǎn),并且不需要顯式地計(jì)算特征之間的相關(guān)性。同時(shí)也考慮到模型深度和梯度消失以及更好學(xué)習(xí)目標(biāo)特征的問(wèn)題,引入了殘差連接,引入殘差連接的ECA模塊如圖5所示。
YOLOv5算法模型的損失函數(shù)主要由目標(biāo)類別預(yù)測(cè)損失(Class probability loss)、置信度損失(Confident loss)和邊界框定位損失(Location loss)三部分組成。其中類別損失和置信度損失都采用二分類交叉熵?fù)p失(BCEloss),邊界框定位損失原算法中采用了GIoU 損失。GIoU 損失計(jì)算的公式如下所示:
GIoU相比于直接計(jì)算IoU值引入了預(yù)測(cè)框和真實(shí)框的最小外接框,但當(dāng)兩個(gè)預(yù)測(cè)框高寬相同,且處于同一水平面或者是一種包含關(guān)系時(shí),GIoU就退化為IoU。此外,GIoU在兩框相交的時(shí)候在水平和豎直方向上收斂速度較慢,回歸不夠準(zhǔn)確。本文采用DIoU損失替換原算法中計(jì)算定位損失的方式,如圖6所示。
圖6 DIoU計(jì)算圖
其中,c為真實(shí)框和預(yù)測(cè)框外接最小矩形的對(duì)角線,d為真實(shí)框和預(yù)測(cè)框中心點(diǎn)的距離。DIoU采用直接回歸兩個(gè)框中心點(diǎn)的歐式距離,加速收斂,加快了算法模型的訓(xùn)練速度。DIoU損失函數(shù)的基本公式如下所示:
本文采用的操作系統(tǒng)為Windows10,所使用的GPU為ATX A4000,顯存大小為16 GB,運(yùn)行內(nèi)存大小為25 GB,內(nèi)存32 GB。算法模型訓(xùn)練基于深度學(xué)習(xí)框架PyTorch 和Python3.8 編程語(yǔ)言,利用cuda11.6 在模型訓(xùn)練過(guò)程中對(duì)GPU 進(jìn)行加速。
本文訓(xùn)練時(shí)所用到的數(shù)據(jù)集為開(kāi)源的數(shù)據(jù)集(SHWD),此數(shù)據(jù)集主要包含兩個(gè)大類:person 和helmet,共7851 張圖像,含有9044 個(gè)合理佩戴了安全帽的目標(biāo)即正樣本和111514 個(gè)未合理佩戴安全帽的目標(biāo)。由于原始數(shù)據(jù)集的圖像標(biāo)注信息以VOC數(shù)據(jù)格式進(jìn)行存儲(chǔ),因此,將Python 腳本VOC 格式的數(shù)據(jù)集轉(zhuǎn)換成了YOLO格式。同時(shí),對(duì)原有的數(shù)據(jù)集中的圖像進(jìn)行一定的篩選,最終得到6056 張圖像,將圖像按照9∶1 的比例劃分為訓(xùn)練集和驗(yàn)證集,得到訓(xùn)練集5450張圖像,驗(yàn)證集606張圖像。
實(shí)驗(yàn)訓(xùn)練設(shè)置的超參數(shù)如下:初始學(xué)習(xí)率為0.001,采用余弦退火函數(shù)調(diào)整學(xué)習(xí)率,學(xué)習(xí)率動(dòng)量0.937,權(quán)值衰減量為0.0005,考慮到計(jì)算機(jī)資源的實(shí)際情況,設(shè)置epoch 值為100,batch size 為16,算法模型對(duì)訓(xùn)練的數(shù)據(jù)集有0.5的概率會(huì)采用Mosaic數(shù)據(jù)增強(qiáng)。
對(duì)算法模型的評(píng)判主要通過(guò)精確率P、召回率R、F1 分?jǐn)?shù)以及均值平均精度mAP等來(lái)綜合考量。F1 的取值為0~1 之間,其大小反映了算法模型的性能,綜合考慮了算法模型的查準(zhǔn)率和查全率。mAP即均值平均精度,在平均精度的基礎(chǔ)上根據(jù)類別數(shù)量求平均值,考慮訓(xùn)練好的算法模型在數(shù)據(jù)集所有類別上的預(yù)測(cè)性能好壞。F1與mAP值計(jì)算公式如下:
其中TP、FP、FN分別為預(yù)測(cè)正確的正樣本、負(fù)樣本錯(cuò)誤地預(yù)測(cè)為正樣本、預(yù)測(cè)正確的負(fù)樣本。
本文將改進(jìn)前的YOLOv5算法和改進(jìn)之后的YOLOv5算法進(jìn)行對(duì)比實(shí)驗(yàn),在一臺(tái)實(shí)驗(yàn)機(jī)器上訓(xùn)練100 輪。改進(jìn)前后的YOLOv5 算法實(shí)驗(yàn)結(jié)果如圖7所示。
圖7 實(shí)驗(yàn)結(jié)果對(duì)比
從實(shí)驗(yàn)數(shù)據(jù)不難看出,改進(jìn)后的YOLOv5算法模型相比于改進(jìn)之前,對(duì)于被檢測(cè)目標(biāo)的P值提高了0.4 個(gè)百分點(diǎn),達(dá)到了93.43%,R值提高了2.13 個(gè)百分點(diǎn),到達(dá)78.79%,mAP值提升了1.6個(gè)百分點(diǎn),達(dá)到83.78%,F(xiàn)1值提高了1個(gè)百分點(diǎn)。多項(xiàng)實(shí)驗(yàn)數(shù)據(jù)表明,改進(jìn)后的YOLOv5算法模型各項(xiàng)性能指標(biāo)優(yōu)于改進(jìn)前的算法模型,對(duì)于中小目標(biāo)安全帽的檢測(cè)精度有了較大的提升,預(yù)測(cè)的準(zhǔn)確度也得到了提高,能夠更好地預(yù)測(cè)實(shí)際工程中安全帽的佩戴問(wèn)題,證明改進(jìn)后的YOLOv5算法模型的可行性。對(duì)比結(jié)果如圖8所示。
圖8 算法對(duì)比結(jié)果
利用測(cè)試集同時(shí)結(jié)合施工現(xiàn)場(chǎng)實(shí)際情況進(jìn)行驗(yàn)證,發(fā)現(xiàn)改進(jìn)后的YOLOv5算法模型對(duì)目標(biāo)的識(shí)別精度有了一定的提升,進(jìn)一步說(shuō)明了改進(jìn)的可行性。