吳冬梅,閆宗亮,宋婉瑩,白 凡
(西安科技大學(xué)通信與信息工程學(xué)院,陜西西安710054)
在國(guó)電系統(tǒng)中,安全帽顏色按照視覺識(shí)別系統(tǒng)(VI)規(guī)定:白色代表領(lǐng)導(dǎo)人員,藍(lán)色代表管理或技術(shù)人員,黃色代表施工人員,紅色代表外來人員。為了加強(qiáng)施工安全管理并降低意外事故風(fēng)險(xiǎn),嚴(yán)令施工人員必須佩戴安全帽且安全帽的顏色必須與其身份相符合。但是,由于監(jiān)管力度不夠以及施工人員安全意識(shí)淡薄等原因,在施工現(xiàn)場(chǎng)由于不佩戴戴安全帽而導(dǎo)致的意外事故時(shí)有發(fā)生。在中國(guó),2012-2016年,超過2850名建筑工人死于建筑施工,平均每天1.57人死亡[1]。因此,急需在建筑現(xiàn)場(chǎng)實(shí)現(xiàn)對(duì)安全帽的自動(dòng)化檢測(cè),目前已經(jīng)有大量關(guān)于自動(dòng)檢測(cè)安全帽佩戴的研究。
傳統(tǒng)的安全帽佩戴檢測(cè)方法可以分為兩類:基于傳感器的檢測(cè)和基于計(jì)算機(jī)視覺的檢測(cè)。基于傳感器的檢測(cè)技術(shù),側(cè)重于遠(yuǎn)程定位和跟蹤技術(shù),例如射頻識(shí)別(RFID)和無線局域網(wǎng)(WLANs)。Kelm等[2]設(shè)計(jì)了一個(gè)移動(dòng)射頻識(shí)別門戶,用于檢查人員個(gè)人防護(hù)設(shè)備穿戴的正確性。但是位于建筑工地入口的RFID閱讀器無法檢查非入口區(qū)域,無法識(shí)別施工人員是否佩戴安全帽。Dong等[3]開發(fā)了工人位置跟蹤的實(shí)時(shí)定位系統(tǒng)(RTLS),在安全帽上放置壓力傳感器后通過藍(lán)牙傳輸壓力信息進(jìn)行監(jiān)控判斷工人是否應(yīng)該戴安全帽并發(fā)送警告。Zhang等人[4]使用基于物聯(lián)網(wǎng)的架構(gòu)開發(fā)了一個(gè)智能安全帽系統(tǒng)。為了確定安全帽的使用狀態(tài),將一個(gè)紅外光束探測(cè)器和一個(gè)熱紅外傳感器安置在安全帽內(nèi)。當(dāng)紅外光束探測(cè)器和熱紅外傳感器都被激活時(shí),該工人的安全帽使用被確認(rèn)。一般來說,現(xiàn)有的基于傳感器的方法很難準(zhǔn)確識(shí)別建筑工地上人們是否佩戴安全帽。此外,傳感器的使用將導(dǎo)致大量的生產(chǎn)成本。與基于傳感器的檢測(cè)方法相比,基于計(jì)算機(jī)視覺的檢測(cè)技術(shù)越來越受到人們的重視。2014年劉曉慧等[5]使用Hu矩陣和膚色檢測(cè)來識(shí)別安全帽。2015年周艷青等[6]采用人工提取頭部特征區(qū)域,再利用分類器和反向人工神經(jīng)網(wǎng)絡(luò)進(jìn)行分類預(yù)測(cè)。Wu等人[7]提出了一種基于顏色的混合描述子,由局部二值模式(LBP)、Hu矩不變量(HMI)和顏色直方圖(CH)組成,用于提取不同顏色的安全帽特征。然后利用支持向量機(jī)(H-SVM)將特征分為四類(紅色、黃色、藍(lán)色和沒有佩戴安全帽)。
近年來,基于深度學(xué)習(xí)的目標(biāo)檢測(cè)越來越受歡迎,2019年施輝等[8]提出一種將圖像金字塔網(wǎng)絡(luò)加入到Y(jié)OLOv3中并改進(jìn)的安全帽佩戴檢測(cè)方法。張明媛[9]等提出的基于Faster RCNN的安全帽檢測(cè)方法。2020年王雨生等[10]提出了一種通過骨骼點(diǎn)位置信息確定頭部區(qū)域以縮小檢測(cè)范圍的安全帽佩戴檢測(cè)方法。秦嘉[11]等人提出了一種安全帽的檢測(cè)與跟蹤的方法。2020年吳冬梅和王慧等[12]提出了改進(jìn)的Faster RCNN算法,可以檢測(cè)出不同顏色的安全帽并識(shí)別佩戴者的身份。Jixiu Wu等人[13]提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的單階段檢測(cè)系統(tǒng),可以檢測(cè)出四種顏色的安全帽。傳統(tǒng)的安全帽檢測(cè)方法很難準(zhǔn)確識(shí)別安全帽是否正確佩戴,基于深度學(xué)習(xí)的安全帽佩戴檢測(cè)無法在檢測(cè)精度和檢測(cè)速度之間達(dá)到一個(gè)好的平衡,本文針對(duì)前人工作的局限性,提出一種基于改進(jìn)的YOLOv4算法的安全帽檢測(cè)及身份識(shí)別模型。
YOLOv4是Alexey Bochkovskiy,Chien-Yao Wang等[14]人于2020年在YOLOv3基礎(chǔ)上做了大量的改進(jìn)后得到的新的檢測(cè)網(wǎng)絡(luò)。在網(wǎng)絡(luò)結(jié)構(gòu)方面,主要有三個(gè)方面的改進(jìn)。
特征提取網(wǎng)絡(luò)由YOLOv3中的Darknet53改進(jìn)為CSPDarknet53,在Darknet53的基礎(chǔ)上加入了CSPNet(跨階段部分網(wǎng)絡(luò))中的跨階段連接方法。跨階段局部連接網(wǎng)絡(luò)是一種可以提高卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)能力的一種新型骨干網(wǎng)絡(luò),利用跨階段特征融合方法和階段梯度流來增強(qiáng)不同的層中學(xué)習(xí)特征的可變性。
在YOLOv4中加入了SPP-Net(空間金字塔池化)網(wǎng)絡(luò)。一般在卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中,對(duì)圖片的輸入大小要求固定,但在現(xiàn)實(shí)中通常會(huì)使用裁剪和拉伸兩種方法來將圖片的大小統(tǒng)一,這樣做會(huì)破壞圖像的縱橫比,SPP-Net網(wǎng)絡(luò)的出現(xiàn)很好的解決了這個(gè)問題,它可以產(chǎn)生固定大小的輸出,并且可以使用同一圖像像不同尺寸作為輸入,得到同樣長(zhǎng)度的池化特征,提高了尺度不變性,降低了過擬合,使用不同尺寸的圖像進(jìn)行網(wǎng)絡(luò)訓(xùn)練更容易使得網(wǎng)絡(luò)收斂。
YOLOv4中還采用了PANet(路徑聚合網(wǎng)絡(luò)),從YOLOv4的網(wǎng)絡(luò)結(jié)構(gòu)圖中可以看出,PANet網(wǎng)絡(luò)將特征提取網(wǎng)絡(luò)底層的全局信息和高層的語義信息進(jìn)行融合,使得YOLOv4輸出的特征更加完整。在YOLOv4的網(wǎng)絡(luò)的訓(xùn)練中采用了一些小的技巧,對(duì)網(wǎng)絡(luò)的精度有一定的提升。Mish激活函數(shù)、CIOU作為損失函數(shù)、馬賽克數(shù)據(jù)增強(qiáng)(Mosaic data augmentation)、標(biāo)簽平滑處理技術(shù)和DropBlock正則化技術(shù)等。
YOLOV4中的非極大值抑制算法采用NMS算法,首先取出得分最大的框,然后計(jì)算得分最大的框與其它所有預(yù)測(cè)框的重合程度,重合程度過大的框則被剔除。由于本文所要檢測(cè)的小目標(biāo)很容易被遮擋,那么NMS算法就會(huì)抑制掉遮擋比較嚴(yán)重的目標(biāo)。針對(duì)此問題,本文將YOLOv4中的NMS算法改進(jìn)為Bodla提出的Soft-NMS[17]算法,其公式為
(1)
相比于NMS算法,Soft-NMS則以一個(gè)權(quán)重的形式,將獲得的IOU取高斯指數(shù)后乘上原得分,之后重新排序,繼續(xù)循環(huán),這樣將會(huì)避免遮擋嚴(yán)重的目標(biāo)被直接剔除。
在卷積神經(jīng)網(wǎng)絡(luò)提取的特征中,低層級(jí)的特征包含了豐富的全局信息,包括定位信息,高層級(jí)的特征包含了大量的語義信息,為了使安全帽的檢測(cè)定位更加準(zhǔn)確,本文對(duì)YOLOv4的主干特征提取網(wǎng)絡(luò)進(jìn)行改進(jìn),將第二個(gè)跨階段局部連接中的殘差塊個(gè)數(shù)由2增加為4,增加底層特征的提取。改進(jìn)后的YOLOv4網(wǎng)絡(luò)模型如下圖所示。
本文的實(shí)驗(yàn)環(huán)境為:Intel Core-I9-10900XCPU 3.70GHZ,32GB的的運(yùn)行內(nèi)存,11GB的顯存,Nvidia Geforce RTX 2080Ti的GPU,64位的操作系統(tǒng),tensorflow深度學(xué)習(xí)框架。初始學(xué)習(xí)率為10-3,momentum為0.9,在HardHatWorkers[17]數(shù)據(jù)集上訓(xùn)練時(shí),解凍前batch_size為14,解凍后為6,在其余三個(gè)數(shù)據(jù)集上訓(xùn)練時(shí),解凍前的batch_size為10,解凍后為3,所有實(shí)驗(yàn)均在相同的硬件環(huán)境下進(jìn)行。
目前已經(jīng)有公開的安全帽檢測(cè)的數(shù)據(jù)集用于開發(fā)和評(píng)估各種情況下的安全帽佩戴檢測(cè)算法。本文收集到了四個(gè)關(guān)于安全帽檢測(cè)的數(shù)據(jù)集,采用遷移學(xué)習(xí)的思想,在每個(gè)數(shù)據(jù)集上進(jìn)行訓(xùn)練已達(dá)到最好的檢測(cè)效果。第一個(gè)數(shù)據(jù)集名為HardHat Dataset[15],包含了Helmet、Person和Head三個(gè)類別,共5000張圖片,圖片的大小為416×416×3。第二個(gè)數(shù)據(jù)集是SafetyHelmetWearing-Dataset來自github的一個(gè)開源項(xiàng)目,共7581張圖片。其中5297張圖片作為訓(xùn)練集,1766張圖片作為驗(yàn)證集。共包含了9044個(gè)佩戴安全帽(正樣本)和111514個(gè)正常頭部的未佩戴安全帽(負(fù)樣本)的圖像,其中正樣本的標(biāo)簽為Hat,負(fù)樣本的標(biāo)簽為person。第三個(gè)數(shù)據(jù)集是Hardhat[16],包含Head,helmet,person,others四個(gè)類別,共7063張圖片。第四個(gè)數(shù)據(jù)集GDUT-HWD[13],包含red,yellow,white,blue,none五個(gè)類別。YOLOv4的先驗(yàn)框是在VOC數(shù)據(jù)集上聚類得到的。直接使用原模型的先驗(yàn)框顯然是不合理的,所以在訓(xùn)練時(shí),對(duì)每一個(gè)數(shù)據(jù)集進(jìn)行聚類得出與其相對(duì)應(yīng)的先驗(yàn)框。
圖1 改進(jìn)的YOLOv4網(wǎng)絡(luò)模型
評(píng)價(jià)目標(biāo)檢測(cè)的常用指標(biāo)有平均精度AP(Average Precision)、平均精度均值mAP(Mean Average Precision)、ROC曲線(Receiver Operating Characteristic curve)和幀率(Frame Per Second)。其中AP值的大小反映單一目標(biāo)的檢測(cè)效果,其計(jì)算公式為
(2)
其中,p(r)表示真正率(True Positive Rate)和召回率(Recall)的映射關(guān)系,真正率和召回率的計(jì)算公式為
(3)
(4)
其中真正數(shù)(True Positive)表示正樣本被預(yù)測(cè)為正樣本的個(gè)數(shù),假正數(shù)(False Positive)表示負(fù)樣本被預(yù)測(cè)為正樣本的個(gè)數(shù),假負(fù)數(shù)(False Negative)表示正樣本被預(yù)測(cè)為負(fù)樣本的個(gè)數(shù)。本文采用平均準(zhǔn)確率和幀率評(píng)價(jià)最后的檢測(cè)效果。其中幀率主要表征了檢測(cè)的速度。
為了避免梯度爆炸和過擬合并在訓(xùn)練時(shí)加快了模型的收斂速度。首先將模型在VOC2007數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練,然后將預(yù)訓(xùn)練后的模型依次遷移到四個(gè)安全帽數(shù)據(jù)集上進(jìn)行訓(xùn)練。訓(xùn)練時(shí)先凍結(jié)模型的前100層,訓(xùn)練10個(gè)輪次之后,解凍模型。在此基礎(chǔ)上繼續(xù)訓(xùn)練,直到模型不在收斂為止。在HardHatWorkers、SHDW和Hardhat數(shù)據(jù)集上訓(xùn)練時(shí),80%作為訓(xùn)練集,20%作為驗(yàn)證集。在GDUT-HWD數(shù)據(jù)集上訓(xùn)練時(shí),60%作為訓(xùn)練集,20%的作為驗(yàn)證集,最后對(duì)模型在剩余的20%的數(shù)據(jù)上進(jìn)行測(cè)試,其中黃、紅、藍(lán)、白和沒有佩戴安帽的AP值分別95.29%、94.70%、93.59%、94.68%和84.94%,模型的mAP值為92.05%。如圖3所示。
圖2 改進(jìn)YOLOv4的mAP值
為了檢驗(yàn)本文所提出的模型的有效性,將改進(jìn)后的模型與YOLOv3、YOLOv4、YOLOv5s和Jixiu Wu等人論文中的模型進(jìn)行對(duì)比分析。表1中前6行的檢測(cè)結(jié)果來自于Jixiu Wu等人的論文,都是在GDUT-HWD數(shù)據(jù)集上訓(xùn)練的結(jié)果。
表1 模型檢測(cè)結(jié)果對(duì)比
下圖是改進(jìn)YOLOv4的檢測(cè)結(jié)果的示例樣圖,包括進(jìn)入建筑現(xiàn)場(chǎng)的通道口,工廠內(nèi)部和建筑現(xiàn)場(chǎng),可以看出,對(duì)于距離攝像頭較遠(yuǎn)的安全帽,依然可以準(zhǔn)確檢測(cè)出并識(shí)別其顏色,具有良好的檢測(cè)效果和較廣的應(yīng)用范圍。
圖3 改進(jìn)的YOLOv4模型檢測(cè)結(jié)果示例圖
本文通過遷移學(xué)習(xí)的思想,充分利用現(xiàn)有的與安全帽檢測(cè)相關(guān)的數(shù)據(jù)集。使用改進(jìn)的YOLOv4算法在四個(gè)有關(guān)安全帽的數(shù)據(jù)集上訓(xùn)練一個(gè)可以檢測(cè)各種顏色的安全帽佩戴檢測(cè)模型,從最后的實(shí)驗(yàn)數(shù)據(jù)中分析得出,模型的mAP值高達(dá)92.05%。在后續(xù)的研究中,將加入人臉識(shí)別,識(shí)別出沒有佩戴安全帽的具體人員,然后通過語音提醒的方式,提醒建筑現(xiàn)場(chǎng)的工作人員及時(shí)佩戴安全帽,從而降低事故的風(fēng)險(xiǎn)。