張 躍, 王智遠(yuǎn),趙理山,朱世松,蘆碧波
(1.華能沁北電廠,河南 濟(jì)源 454650;2.河南理工大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,河南 焦作 454003)
電廠、建筑工地等行業(yè)從業(yè)人員眾多,且危險(xiǎn)性高,極易發(fā)生事故。工人在現(xiàn)場進(jìn)行作業(yè)時,身邊存在很多安全隱患,容易造成事故。事故發(fā)生時,頭部傷害造成死亡和重傷的可能性最大,應(yīng)隨時對頭部做好防護(hù)措施。安全帽可以承受和分散墜落物體的撞擊,更能減輕人員從高處墜落頭部先著地時的撞擊程度,有效保護(hù)頭部。因此佩戴安全帽是有效降低事故危害、保護(hù)員工生命安全的防護(hù)措施。在實(shí)際工作中,對于不按規(guī)定佩戴安全帽的行為,通常采用人工監(jiān)管的方式進(jìn)行管理。人工監(jiān)管缺點(diǎn)明顯:一是消耗人力;二是人工監(jiān)管缺乏客觀性。利用智能方法來代替?zhèn)鹘y(tǒng)的人工監(jiān)管, 實(shí)現(xiàn)安全帽佩戴的自動化檢測, 既節(jié)省人力成本, 又提高了現(xiàn)場安全性。
近年來,隨著深度學(xué)習(xí)的快速發(fā)展,目標(biāo)檢測技術(shù)掀起新的研究熱潮,為安全帽的智能化檢測提供了新的研究方向。目前主流的深度學(xué)習(xí)目標(biāo)檢測算法主要分為雙階段檢測算法和單階段檢測算法。雙階段檢測算法是以R-CNN[1]系列為代表的基于候選區(qū)域的目標(biāo)檢測算法;單階段檢測算法是以YOLO[2]、SSD[3-7]為代表的基于回歸分析的目標(biāo)檢測算法。前者檢測精度高但速度慢,后者檢測速度快但精度較低,更加適用于需要實(shí)時檢測的目標(biāo)識別問題。徐守坤[8]等提出了基于改進(jìn)Faster R-CNN的安全帽佩戴檢測研究。施輝等[9]提出了基于YOLOv3的安全帽佩戴檢測方法。上述方法都是基于深度學(xué)習(xí)的目標(biāo)檢測算法,但Faster R-CNN存在速度慢,不能滿足實(shí)時檢測需求的問題。YOLOv3存在檢測精度較低,對小目標(biāo)識別效果較差的問題。YOLO系列最新發(fā)布的YOLOv5具有速度快、精度高、體積小等優(yōu)點(diǎn),采用Mosaic數(shù)據(jù)增強(qiáng)方式有效解決了數(shù)據(jù)集少、小目標(biāo)檢測精度低等問題。
本文以佩戴安全帽的人員和未佩戴安全帽的人員2類目標(biāo)為檢測任務(wù),對視頻數(shù)據(jù)進(jìn)行預(yù)處理,構(gòu)建安全帽檢測數(shù)據(jù)集。使用YOLOv5算法進(jìn)行數(shù)據(jù)集的訓(xùn)練,以獲取能夠滿足需求的安全帽檢測模型;通過試驗(yàn)結(jié)果表明,本文所使用的算法滿足相應(yīng)場景下的檢測需求。
YOLOv5是YOLO系列新一代目標(biāo)檢測網(wǎng)絡(luò),該算法在YOLOv4基礎(chǔ)上添加了一些新的改進(jìn)思路,使其速度與精度都得到了極大的性能提升。YOLOv5算法具有4個版本,包括YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x,YOLOv5s網(wǎng)絡(luò)模型是YOLOv5這一系列中深度最小、特征圖寬度最小的網(wǎng)絡(luò),其他3個版本均是在該版本的基礎(chǔ)上對網(wǎng)絡(luò)進(jìn)行加深與加寬。從使網(wǎng)絡(luò)更加輕量級的角度出發(fā),本文選擇網(wǎng)絡(luò)深度和寬度最小的YOLOv5s模型進(jìn)行訓(xùn)練。YOLOv5共劃分為4個通用的模塊,具體包括輸入端、基準(zhǔn)網(wǎng)絡(luò)、Neck網(wǎng)絡(luò)與Head輸出端。
a.輸入端主要包括Mosaic數(shù)據(jù)增強(qiáng)、自適應(yīng)錨框計(jì)算、自適應(yīng)圖片縮放3部分。YOLOv5使用Mosaic數(shù)據(jù)增強(qiáng)操作,同時用4張圖片通過隨機(jī)裁剪、縮放和排布進(jìn)行拼接。這種方式在小目標(biāo)檢測效果上更為理想,適合本文數(shù)據(jù)集中安全帽的小目標(biāo)檢測;在網(wǎng)絡(luò)訓(xùn)練階段,針對不同的數(shù)據(jù)集,都需要設(shè)定特定長寬的初始錨點(diǎn)框,YOLOv5中加入了自適應(yīng)錨框計(jì)算方法,可根據(jù)數(shù)據(jù)集自適應(yīng)計(jì)算出最佳的錨點(diǎn)框;自適應(yīng)圖片縮放功能自適應(yīng)添加最少黑邊到縮放的圖像中,進(jìn)一步提升了算法的推理速度。
b.基準(zhǔn)網(wǎng)絡(luò)采用Focus[10]結(jié)構(gòu)和CSP[11]結(jié)構(gòu)。Focus結(jié)構(gòu)如圖1所示,主要思想是通過slice操作來對輸入圖片進(jìn)行裁剪。在YOLOv5s中,輸入大小為608×608×3的圖像,通過4次切片操作和1次32個卷積核的卷積操作,將原始圖像變成304×304×32的特征圖。YOLOv5中設(shè)計(jì)了2種CSP結(jié)構(gòu),以YOLOv5s網(wǎng)絡(luò)為例,CSP1_X結(jié)構(gòu)應(yīng)用于Backbone主干網(wǎng)絡(luò),另一種CSP2_X結(jié)構(gòu)則應(yīng)用于Neck網(wǎng)絡(luò)中。
圖1 Focus結(jié)構(gòu)
c.Neck網(wǎng)絡(luò)使用FPN+PAN結(jié)構(gòu),F(xiàn)PN是自頂向下的,將高層特征通過上采樣和低層特征做融合得到進(jìn)行預(yù)測的特征圖,F(xiàn)PN自頂向下將高層的特征信息通過上采樣的方式進(jìn)行傳遞融合,傳達(dá)強(qiáng)語義特征,PAN為自底向上的特征金字塔,傳達(dá)強(qiáng)定位特征。YOLOv4的Neck結(jié)構(gòu)中,采用的都是普通的卷積操作,YOLOv5借鑒了CSPnet設(shè)計(jì)的CSP2結(jié)構(gòu),加強(qiáng)網(wǎng)絡(luò)特征融合的能力。
d.輸出端采用GIOU_Loss作為損失函數(shù)。在目標(biāo)檢測后處理過程中,針對多目標(biāo)框篩選,YOLOv5采用加權(quán)NMS操作。YOLOv5s網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 YOLOv5s網(wǎng)絡(luò)結(jié)構(gòu)
本文試驗(yàn)使用Windows操作系統(tǒng),在pytorch環(huán)境下運(yùn)行,使用GPU硬件加速運(yùn)算。試驗(yàn)環(huán)境配置如表1所示。
表1 試驗(yàn)運(yùn)行環(huán)境
本文數(shù)據(jù)集所需圖像均來源于自主采集,通過對監(jiān)控視頻進(jìn)行分幀,共獲得原始數(shù)據(jù)集260張。將數(shù)據(jù)集按8∶2的比例隨機(jī)進(jìn)行劃分。由于采集數(shù)據(jù)集有限,文本對訓(xùn)練集進(jìn)行數(shù)據(jù)增強(qiáng)增加訓(xùn)練的數(shù)據(jù)量,提高模型的泛化能力。數(shù)據(jù)增強(qiáng)實(shí)例如圖3所示。
(a)原圖;(b)裁剪+噪聲+鏡像+旋轉(zhuǎn);(c)裁剪+噪聲+旋轉(zhuǎn);(d)裁剪+旋轉(zhuǎn)圖3 數(shù)據(jù)增強(qiáng)實(shí)例
最終得到1160張訓(xùn)練集,52張測試集。數(shù)據(jù)集類別為佩戴安全帽與未佩戴安全帽2種,使用labellmg工具對圖像進(jìn)行標(biāo)注。
本試驗(yàn)利用YOLOv5s模型進(jìn)行網(wǎng)絡(luò)訓(xùn)練,根據(jù)試驗(yàn)數(shù)據(jù)及運(yùn)行環(huán)境,調(diào)整了相應(yīng)參數(shù)。具體參數(shù)設(shè)置如表2所示。
表2 試驗(yàn)參數(shù)設(shè)置
本文使用精度(Precision)、召回率(Recall)和平均精度均值(mean average precision,MAP)等常用指標(biāo)來評估模型性能的優(yōu)良。Recall 定義為所有目標(biāo)都被模型檢測到的比例,用于衡量模型的查全率。MAP為平均精度均值,是模型在多個檢測類別上平均精度AP的均值,MAP的計(jì)算需要用到精度 (Precision)和召回率(Recall)2個指標(biāo)。
圖4 閾值為0.5時的PR曲線
圖4為閾值取0.5時,以recall為橫坐標(biāo),precision為縱坐標(biāo)制作的PR曲線,PR曲線下圍成的面積即平均精度AP,所有類別AP平均值即MAP。其公式分別為
(1)
式中:P為Precision;r為Recall。
(2)
式中:C為目標(biāo)檢測的總類別數(shù)。
試驗(yàn)結(jié)果表明,佩戴安全帽人員檢測平均精度為92.7%,未佩戴安全帽人員檢測平均精度為98.1%,所有類別平均精度為95.4%,權(quán)重大小為13.7 Mb,檢測視頻fps為25,結(jié)合模型大小、平均精度和檢測視頻fps來看,該算法可以滿足嵌入式設(shè)備或移動端對人員佩戴安全帽檢測的準(zhǔn)確性和速度要求。圖5為YOLOv5s檢測結(jié)果。
圖5 YOLOv5s檢測結(jié)果
針對不佩戴安全帽進(jìn)入施工現(xiàn)場的危險(xiǎn)行為,本文提出了一種安全帽智能檢測方法。以YOLOv5網(wǎng)絡(luò)為模型,自主采集數(shù)據(jù)集并進(jìn)行數(shù)據(jù)增強(qiáng),以提高模型魯棒性。試驗(yàn)結(jié)果表明,數(shù)據(jù)集在YOLOv5網(wǎng)絡(luò)模型中表現(xiàn)出色,網(wǎng)絡(luò)模型的平均精度達(dá)到了95.4%,檢測視頻fps為25,實(shí)現(xiàn)了在保證檢測精確度的同時,對人員不佩戴安全帽的實(shí)時檢測。