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