王 晨,齊 華,史建利
(西安工業(yè)大學(xué) 電子信息工程學(xué)院,西安 710021)
安全帽是保護(hù)頭部的重要防護(hù)用品[1],施工場(chǎng)景中不允許未佩戴安全帽進(jìn)入作業(yè)場(chǎng)所、不同身份的人越界非法操作等. 不同顏色的安全帽代表不同的身份[2,3],文獻(xiàn)[3]通過對(duì)安全帽檢測(cè)和顏色識(shí)別的算法,來判定安全帽的佩戴以及身份識(shí)別,該方法使用起來比較復(fù)雜,首先是要檢測(cè)安全帽是否佩戴,然后再根據(jù)顏色識(shí)別算法判定安全帽的顏色,假如安全帽佩戴存在誤檢那么身份也會(huì)存在錯(cuò)誤檢測(cè). 文獻(xiàn)[1]利用SSD 算法[4]對(duì)安全帽的佩戴檢測(cè)平均準(zhǔn)確率達(dá)到91.7%,雖然他們?cè)谠瓉硭惴ǖ幕A(chǔ)之上通過對(duì)網(wǎng)絡(luò)模型進(jìn)行了優(yōu)化以及改進(jìn),實(shí)現(xiàn)對(duì)安全帽佩戴的檢測(cè),但是當(dāng)施工環(huán)境相對(duì)復(fù)雜一些的時(shí)候仍然不能滿足當(dāng)前施工現(xiàn)場(chǎng)的需求,如夜間環(huán)境,強(qiáng)光照環(huán)境下,以及雨天環(huán)境等. 文獻(xiàn)[5,6]通過利用YOLOv3 算法實(shí)現(xiàn)對(duì)安全帽檢測(cè),平均準(zhǔn)確率達(dá)到了88%,但目前對(duì)施工現(xiàn)場(chǎng)工人是否佩戴安全帽大部分是通過人工監(jiān)控視頻來監(jiān)督[7],這種方法不僅浪費(fèi)人力,效率低,而且不具有全面性,綜上所述,當(dāng)前對(duì)施工場(chǎng)景下安全帽的佩戴檢測(cè)以及工種身份的識(shí)別均存在要么效率低,要么識(shí)別的準(zhǔn)確低,要么使用的場(chǎng)景單一,因此安全帽佩戴檢測(cè)及工種身份識(shí)別成為當(dāng)前檢測(cè)領(lǐng)域的研究熱點(diǎn)[8–10].
隨著機(jī)器視覺在施工場(chǎng)景中的不斷應(yīng)用[11–13],結(jié)合對(duì)現(xiàn)有的建筑工地安全帽佩戴檢測(cè)存在的問題,本文提出了基于YOLOv4 的安全帽佩戴檢測(cè)及工種身份識(shí)別的方法,可以適用于多種施工場(chǎng)景,該方法是通過基于視頻監(jiān)控下對(duì)建筑工地進(jìn)行實(shí)時(shí)目標(biāo)行為檢測(cè),通過這種方式不僅提高了對(duì)工人安全帽是否佩戴檢測(cè)的監(jiān)管效率,而且對(duì)于不同身份的工人,是否可以進(jìn)入到某些施工區(qū)域進(jìn)行了很好的監(jiān)督,達(dá)到了對(duì)于施工現(xiàn)場(chǎng)的智能化管理.
本文的安全帽佩戴檢測(cè)以及工種身份識(shí)別的網(wǎng)絡(luò)檢測(cè)模型是基于YOLOv4 模型建立的,YOLOv4 模型分為主干網(wǎng)絡(luò)、頸部網(wǎng)絡(luò)及Prediction 輸出層. YOLOv4網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示. 其中,*表示卷積.
圖1 YOLOv4 網(wǎng)絡(luò)結(jié)構(gòu)
YOLOv4 主干特征提取網(wǎng)絡(luò)為CSPDarknet53,在resblock_body 的結(jié)構(gòu)中使用了CSPnet 結(jié)構(gòu),CSPnet中存在一個(gè)大的殘差邊,減少了大量數(shù)據(jù)的重復(fù)計(jì)算量,同時(shí)可以有效地提高在實(shí)時(shí)檢測(cè)過程中數(shù)據(jù)的處理速度,有效地解決了在訓(xùn)練模型中產(chǎn)生的重復(fù)數(shù)據(jù)計(jì)算問題. 在特征金字塔部分,YOLOv4 結(jié)合了SPP 結(jié)構(gòu)和PANet 結(jié)構(gòu). SPP 進(jìn)行最大池化處理. PANet 是獲取帶的圖像特征進(jìn)行重復(fù)提取,在結(jié)構(gòu)中對(duì)主干特征提取網(wǎng)絡(luò)的有效特征層及SPP 網(wǎng)絡(luò)的輸出特征層進(jìn)行特征融合. PANet 是進(jìn)行有效特征層及SPP 的輸出特征層進(jìn)行上采樣、卷積及堆疊操作,然后在對(duì)上述操作進(jìn)行下采樣、卷積及堆疊操作,目的是加強(qiáng)特征融合,提取更有效的特征,對(duì)于Prediction 輸出層來說,主要是對(duì)獲取到圖像特征進(jìn)行輸出預(yù)測(cè)判斷,預(yù)測(cè)的結(jié)果整體分為大中小3 種類型,最終可以通過預(yù)測(cè)結(jié)果通過不同的類型能夠?qū)崟r(shí)的將測(cè)試目標(biāo)檢測(cè)出來.
本論文的目的是研究出滿足精度與速度要求的安全帽檢測(cè)以及工種身份識(shí)別的框架模型,工種身份主要是依據(jù)當(dāng)前工程中安全帽的主要顏色來進(jìn)行識(shí)別,在本論文中主要討論四種顏色的安全帽佩戴情況同時(shí)進(jìn)行工人工種身份的識(shí)別,考慮到精度與速度的平衡本文的檢測(cè)系統(tǒng)采用基于YOLOv4 作為基礎(chǔ)網(wǎng)絡(luò)模型來進(jìn)行設(shè)計(jì)與優(yōu)化,基于YOLOv4 改進(jìn)的安全帽檢測(cè)流程圖如圖2 所示.
圖2 改進(jìn)的YOLOv4 目標(biāo)檢測(cè)過程
本文通過使用K-means 聚類算法獲得適合自身安全帽數(shù)據(jù)集中尺度分布的anchor box 來代替原始的anchor box 的大小.
K-means 算法對(duì)選擇初始聚類中心進(jìn)行優(yōu)化,能夠顯著改善聚類結(jié)果,魯棒性更強(qiáng),加快網(wǎng)絡(luò)模型的訓(xùn)練速度. 聚類的目的是確定更精準(zhǔn)的先驗(yàn)框參數(shù),使先驗(yàn)框和真實(shí)框有更大的IOU 值.
通過對(duì)安全帽數(shù)據(jù)集進(jìn)行K-means 聚類分析之后,為了讓目標(biāo)邊界框和真實(shí)框的IOU 值更大,因此要得到最佳的聚類中心個(gè)數(shù). 在圖3 中可以看出,當(dāng)k>12 時(shí),曲線上升變緩慢,所以k等于12 時(shí)是真實(shí)框和預(yù)測(cè)框重合度最高,即最佳的聚類中心個(gè)數(shù),對(duì)應(yīng)的anchor 的個(gè)數(shù)為12.
圖3 K-means 算法流程圖
為了提升改進(jìn)的YOLOv4 對(duì)小目標(biāo)的檢測(cè)效果,本文對(duì)YOLOv4 算法網(wǎng)絡(luò)架構(gòu)進(jìn)行修改,通過選取更大的特征圖來提升算法對(duì)小目標(biāo)和遮擋物體的檢測(cè)能力,在保留原始YOLOv4 算法中13×13、26×26、52×52 三種尺度特征預(yù)測(cè)前提下,通過對(duì)52×52 尺度特征層采用上采樣技術(shù),減小感受野,將分辨率提升到104×104 尺度特征層后實(shí)現(xiàn)對(duì)安全帽的佩戴以及工種身份的識(shí)別檢測(cè),可以有效地增強(qiáng)了對(duì)遠(yuǎn)處較小目標(biāo)的敏感度,避免了對(duì)遠(yuǎn)處較小目標(biāo)檢測(cè)中存在大量錯(cuò)誤檢測(cè). 改進(jìn)后輸出的4 種特征圖的尺寸是13×13、26×26、52×52、104×104. 同時(shí)根據(jù)4 種特征圖的輸出先驗(yàn)框大小得到12 種先驗(yàn)框大小,聚類分析之后得到的4 種特征圖對(duì)應(yīng)的輸出先驗(yàn)框大小,改進(jìn)的YOLOv4網(wǎng)絡(luò)框圖如圖4 所示. 其中,*表示卷積.
圖4 改進(jìn)的YOLOv4 網(wǎng)絡(luò)框架圖
輸出矩陣尺度分別為小尺度特征13×13×30,中尺度特征26×26×30,大尺度特征52×52×30,新尺度特征104×104×30.
4 個(gè)尺度層對(duì)應(yīng)的輸出先驗(yàn)框大小如圖5 所示.
圖5 4 個(gè)尺度層對(duì)應(yīng)的輸出先驗(yàn)框大小
YOLOv4 對(duì)目標(biāo)的檢測(cè)過程中,由于多尺度特征提取過程會(huì)對(duì)同一位置生成多種anchor box,導(dǎo)致產(chǎn)生的檢測(cè)結(jié)果往往是冗余的,因此需要通過非極大值抑制的方式對(duì)預(yù)測(cè)框進(jìn)行處理,在模型檢測(cè)階段的后處理操作中,使用NMS 算法過濾掉多余的預(yù)測(cè)框,只保留預(yù)測(cè)分?jǐn)?shù)最高的預(yù)測(cè)框作為識(shí)別結(jié)果輸出.
在改進(jìn)的YOLOv4 模型檢測(cè)算法中,當(dāng)將輸入圖像尺寸為416×416×3 時(shí),會(huì)產(chǎn)生(13×13+26×26+52×52+104×104)×3=14365 個(gè)預(yù)測(cè)框,之后通過非極大值抑制算法,獲得最終的預(yù)測(cè)框. 在施工場(chǎng)地中安全帽檢測(cè)以及工種身份識(shí)別的過程中,經(jīng)常出現(xiàn)小目標(biāo)很容易被背景干擾或者兩個(gè)人頭部之間的距離重疊較大等情況,在這些情況下使用僅考慮重疊區(qū)域的NMS 算法就會(huì)抑制掉一些小目標(biāo)或被遮擋的目標(biāo)產(chǎn)生錯(cuò)誤的抑制,造成漏檢,從而影響檢測(cè)精度.
對(duì)于安全帽的佩戴以及工種身份的識(shí)別實(shí)驗(yàn)中,數(shù)據(jù)集的建立非常重要. 為保證實(shí)驗(yàn)結(jié)論的準(zhǔn)確性,數(shù)據(jù)集的構(gòu)建需要滿足: (1)圖像包含不同場(chǎng)景、不同姿勢(shì)、不同拍攝距離或受不同程度遮擋目標(biāo)的圖像,來保證實(shí)驗(yàn)結(jié)果更具全面性與準(zhǔn)確性; (2)保證樣本的數(shù)量和以及質(zhì)量.
數(shù)據(jù)集在標(biāo)注的過程中需要注意以下兩點(diǎn): (1)將施工人員的頭部和安全帽一起作為樣本特征; (2)施工人員頭部的帽子是否為安全帽. 因此,在標(biāo)注過程中,需要對(duì)圖像中的作業(yè)人員頭部+安全帽進(jìn)行整體合起來標(biāo)注,而不僅標(biāo)注圖像中的安全帽. 數(shù)據(jù)集內(nèi)標(biāo)注為:紅色(red)、黃色(yellow)、白色(white)、藍(lán)色(blue)安全帽和未佩戴(person)安全帽人員.
為進(jìn)一步直觀的展示和評(píng)估YOLOv4 和 改進(jìn)型YOLOv4 在安全帽檢測(cè)以及工種身份識(shí)別檢測(cè)上的效果,本文分別對(duì)兩種算法在多目標(biāo)場(chǎng)景、夜晚場(chǎng)景下進(jìn)行了測(cè)試,如圖6 所示.
如圖6 所示,對(duì)于多目標(biāo)測(cè)試的場(chǎng)景下YOLOv4算法相比較改進(jìn)之后的YOLOv4 算法效果相對(duì)較差,因?yàn)榛谠璝OLOv4 模型來說只有3 個(gè)尺度預(yù)測(cè)層輸出,分別為大目標(biāo),中目標(biāo),小目標(biāo),但是對(duì)于作業(yè)安防的實(shí)際場(chǎng)景下可能存在者視頻監(jiān)控下距離目標(biāo)太遠(yuǎn),因此在實(shí)時(shí)的測(cè)試過程中可能存在一定的漏檢,或者身份識(shí)別錯(cuò)誤等情況的出現(xiàn),但是存在對(duì)身份的識(shí)別存在錯(cuò)誤檢測(cè),但是安全帽的檢測(cè)仍然能夠識(shí)別出來,但是對(duì)于改進(jìn)之后的YOLOv4 來說效果比YOLOv4本身得到很大的提升,能更好地應(yīng)用于施工場(chǎng)景下,表1表示改進(jìn)前后測(cè)試結(jié)果對(duì)比統(tǒng)計(jì).
表1 改進(jìn)前與改進(jìn)后測(cè)試結(jié)果對(duì)比
圖6 測(cè)試效果圖
3.4.1 Precision、Recall 和mAP
使用精確率(Precision)和召回率(Recall)等指標(biāo)來定量的評(píng)估算法的檢測(cè)性能.
如表2 所示,其中,TP 表示預(yù)測(cè)框和真實(shí)的標(biāo)簽框相匹配的數(shù)量. FP 表示將背景預(yù)測(cè)成了目標(biāo)的數(shù)量.FN 表示屬于待檢測(cè)目標(biāo)但模型未檢測(cè)出的數(shù)量. TN 將正類錯(cuò)誤預(yù)測(cè)為負(fù)類數(shù). TP+FN,也就是全體完全滿足圖片標(biāo)注的圖片的個(gè)數(shù),TP+FP,也就是預(yù)測(cè)的圖片中是正類的圖片的數(shù)目. Precision 是預(yù)測(cè)的準(zhǔn)確度,Recall 表征著預(yù)測(cè)的目標(biāo)物體框全的程度. 分析兩者的定義公式可以發(fā)現(xiàn),Precision 會(huì)隨著Recall 的變化而變化.
表2 目標(biāo)檢測(cè)的評(píng)價(jià)指標(biāo)
圖7 是每個(gè)類別對(duì)應(yīng)的P-R 曲線圖,其中藍(lán)色的曲線代表藍(lán)色安全帽目標(biāo),黃色的曲線代表黃色安全帽目標(biāo),紅色的曲線代表紅色安全帽目標(biāo),綠色的曲線代表白色安全帽目標(biāo),黑色的曲線代表未佩戴安全帽,其中黑色曲線與坐標(biāo)軸圍成面積最大,藍(lán)色曲線與坐標(biāo)軸圍成面積最小,曲線圍成的面積表示每一個(gè)類檢測(cè)的精度.mAP代表平均精確率,對(duì)于每一類計(jì)算平均精確率(AP),然后計(jì)算所有類的均值就是mAP的值.M個(gè)類的表示公式如式(1).
圖7 不同情況處理的P-R 曲線圖
3.4.2 Loss 曲線對(duì)比圖
圖8 中將訓(xùn)練的樣本在YOLOv4 模型、改進(jìn)之后的YOLOv4 模型中訓(xùn)練分別得到圖8(a),圖8(b)的Loss 曲線和mAP值對(duì)應(yīng)的變化曲線圖,曲線圖縱軸代表損失值大小,橫軸代表迭代的次數(shù),模型整體也是趨于收斂的,但是收斂的速度較慢且對(duì)應(yīng)的mAP值較低,經(jīng)過修改之后的YOLOv4-hat 模型收斂速度較快同時(shí)最終得到的mAP值相對(duì)原模型提高了0.038,因此修改之后的YOLOv4 模型相對(duì)YOLOv4 原型在訓(xùn)練時(shí)收斂速度和mAP都有所提高.
圖8 Loss 曲線對(duì)比圖
本文提出了基于改進(jìn)YOLOv4 的安全帽佩戴檢測(cè)及工種身份識(shí)別的方法,根據(jù)K-means 聚類出更符合“安全帽+頭部”的anchor box; 并根據(jù)anchor box 大小修改了網(wǎng)絡(luò)的輸出尺度; 同時(shí)通過對(duì)非極大值抑制的改進(jìn)使重疊較大的目標(biāo)更能識(shí)別. 結(jié)果表明此方法提升了 YOLOv4 的模型性能,增強(qiáng)了檢測(cè)的準(zhǔn)確性,針對(duì)小目標(biāo)的檢測(cè)能力有所提高,得到改進(jìn)之后的YOLOv4模型有較高的檢測(cè)精度和魯棒性,達(dá)到了安全帽佩戴檢測(cè)及工種身份識(shí)別的實(shí)際需要.