王 正,呂 非,齊宇霄,童 瑩
(1.南京工程學院 信息與通信工程學院,江蘇 南京 211167;2.南瑞集團有限公司,江蘇 南京 211106)
安全帽作為勞保用品的重要部分,應用廣泛,但其重要性也容易被部分工作人員忽視,因未佩戴安全帽而造成的事故,后果往往極為嚴重。為解決傳統(tǒng)施工現場存在的安全管理問題,實現施工現場的智能化管理,對施工現場人員進行安全帽佩戴狀態(tài)實時檢測具有重大意義[1]。
計算機視覺領域的發(fā)展促進了圖像采集設備和圖像處理技術的結合應用。將拍攝畫面?zhèn)鬏數接嬎愣?,運用相關算法對場景進行實時分析、目標檢測[2]、目標跟蹤[3]、圖像分割[4]等操作,極大地簡化了管理過程。從圖像角度看待安全帽的佩戴識別問題,發(fā)現安全帽醒目的顏色和外形尤其適合用圖像技術進行處理。
現階段,識別安全帽是否佩戴的方法存在一些缺陷,如脫離人體,將安全帽的檢測作為重點,這種方法無法準確判斷人體和安全帽的佩戴關系;將佩戴安全帽和未佩戴安全帽的人體分類檢測,這種方法利用深度學習技術可以較簡單的實現,但訓練成本較大,識別效果易受噪聲影響。這些方法未能把識別精度和速度相結合,在實際監(jiān)控應用中效果欠佳?;谏鲜鲈?,本文提出了一種基于深度學習的安全帽佩戴狀態(tài)實時檢測方法。
為了對人員的安全帽佩戴狀態(tài)進行實時檢測,需要對視頻流進行目標檢測跟蹤以及安全帽佩戴檢測等處理。方案流程如圖1所示,可分為人員區(qū)域檢測、頭部區(qū)域提取、安全帽存在性判斷3部分。
圖1 方案流程
在圖像目標檢測任務中,基于深度學習的方法已被證明優(yōu)于傳統(tǒng)檢測方法[5]。效果較好的目標檢測框架有Faster R-CNN[6],YOLO,Mask R-CNN[7],RetinaNet[8]等。本文采用的YOLOv3[9]檢測框架保證了算法運行的速度,滿足了實時性需求,同時也能獲得較準確的檢測結果。
如圖2所示,YOLOv3框架采用Darknet-53作為特征提取的主要網絡[10],與傳統(tǒng)CNN網絡結構不同的是,Darknet-53舍棄了常用的池化層和全連接層,在卷積層后搭載Leaky-ReLU激活函數,并在YOLOv2的基礎上[11]借鑒了ResNet的殘差塊結構,用以解決隨著卷積神經網絡層數的增加而出現的訓練退化現象。為了實現檢測框多尺度變化,YOLOv3借 鑒 了 FPN(Feature Pyramid Networks, FPN)[11]網絡中的思想,分別在13×13、26×26和52×52三種尺度下進行特征圖融合與預測,得到Y1、Y2和Y3三次采樣輸出結果。
圖2 YOLOv3網絡結構
YOLOv3目標檢測框架可以檢測多類物體,訓練時也是以多類物體的標簽進行訓練。在安全帽佩戴識別任務中只關心人員目標,所以在訓練時只采用人員類的標簽進行訓練,以節(jié)省訓練時間,提高訓練效率。在硬件計算能力充足時,也可以直接采用YOLOv3訓練好的權重(可以檢測多類),提取檢測結果中的人員目標,進行后續(xù)處理。
由于安全帽相對人體區(qū)域而言占比較小,為了更高效的對YOLOv3提取出的人員區(qū)域圖像進行分析,本文進一步提取安全帽可能存在的區(qū)域,即頭部位置區(qū)域,再輸入后面的網絡進行安全帽存在性判斷。由于檢測到的人員區(qū)域大小存在差異,本文按照長寬比,采取人員區(qū)域中靠近上方的正方形區(qū)域作為提取區(qū)域。提取區(qū)域小于人員區(qū)域,減少了計算負擔;同時,提取區(qū)域大于安全帽,增加了容錯率。將提取出的區(qū)域調整到固定大?。ǚ桨钢腥?7×57),便于后續(xù)處理。
經過前面的檢測和提取步驟,這一過程僅需進行安全帽是否存在的二分類工作。采用經典的卷積和全連接CNN+FC(Fully Convolutional Networks, FC)[12]網絡架構,能夠達到較好的分類效果(相比SVM等傳統(tǒng)分類方法)。由于存在全連接層,本文對提取的頭部區(qū)域進行采樣操作,將其變?yōu)楣潭ù笮〉膱D片輸入CNN+FC網絡。這部分網絡包含2個卷積層,1個池化層和2個全連接層,流程如圖3所示。
圖3 安全帽存在性判斷流程
識別安全帽的CNN+FC網絡訓練過程可以脫離整體網絡進行單獨訓練。訓練數據有2個來源:
(1)通過網絡采集安全帽和行人相關的開源圖片和標簽;
(2)真實環(huán)境中通過固定位置攝像頭采集的圖片,利用YOLOv3提取環(huán)境區(qū)域作為人體標簽。
將全部數據集中,相對于人體的安全帽潛在區(qū)域(提取出的頭部區(qū)域)按是否佩戴作為正樣本和負樣本保存,如圖4和圖5所示。在訓練時對正負樣本進行在線處理(包括水平翻轉,放大、縮小裁剪區(qū)域,旋轉等)進行數據增強。實驗中發(fā)現,從實際測試場景中采集圖片進行訓練能夠獲得更好的識別效果。
圖4 部分訓練正樣本
圖5 部分訓練負樣本
對于檢測出佩戴安全帽的人員,用藍色框標記;檢測出未佩戴安全帽的人員,用紅色框標記。圖6為一般場景下的識別結果,圖7為特定場景下的識別結果。
圖6 一般場景下的識別結果
圖7 特定場景下的識別結果
本方案和傳統(tǒng)方案在一般場景中的檢測結果見表1所列。
表1 實驗結果對比
從表中可以看出,本方案的誤報率、漏檢率和準確率相比傳統(tǒng)方案均有較大改善。在實際應用中,往往會在某一特定場景中進行佩戴檢測,在該場景中拍攝更多正、負樣本進行訓練,檢測準確率超0.96。本方案基于目標檢測算法,避免了傳統(tǒng)方案難以檢測靜止人員的缺陷。在速度方面,傳統(tǒng)方法在800×600大小的圖片上進行檢測,速度為15 FPS(CPU),本方案在1 280×720大小的圖片上進行檢測,速度為43 FPS (GPU),具有實時檢測的效果。通過網絡剪枝等手段優(yōu)化模型,可以進一步提升檢測速度。
為解決如何檢測作業(yè)人員是否佩戴安全帽的問題,本文提出了一種基于深度學習的安全帽佩戴狀態(tài)實時檢測方法。文本方法檢測速度快,平均準確率高,經過本試驗和對深度學習的研究,該方法能夠較好地實現安全帽佩戴的圖像和視頻檢測效果。下一步的研究方向是,當人員被遮擋或出現低光照等情況時,如何降低這些因素對檢測結果的影響。