秦 妍,梁 臻,婁 陽
(1.北京市科學技術研究院城市安全與環境科學研究所,北京 100054;2.北京郵電大學現代郵政學院,北京 100876)
有關分析表明,大多數工業和建筑施工作業環境中發生的安全隱患事故,與工作人員是否佩戴安全防護裝備有關[1-2]。因此,為了保證員工在作業時安全防護裝備穿戴的完整性、正確性,在其進入施工作業現場之前,進行防護裝備檢查尤為必要[3-4]。傳統的管理方法主要是通過人工手段進行監督,但是這種方法效率較低,所受的主觀因素較多,容易疏忽對較小的安全防護裝備的檢查。近年來,許多學者應用監控攝像頭和計算機視覺技術來自動獲取、分析和檢測施工人員的安全防護裝備,相關方法可以分為基于特征分類的方法和基于深度學習的檢測算法兩大類。
第一類方法中,學者通常利用幾何特征、方向梯度直方圖(Histogram of Oriented Gradient,HOG)特征和顏色特征對安全裝備進行檢測,這些方法往往只關注于對安全帽的識別。例如,Li 等[5]根據顏色空間變換和顏色特征檢測安全帽,采用頭部定位的方法檢測頭盔的佩戴情況。Mneymneh 等[6]用HOG特征描述安全帽的形狀,用六角錐體顏色模型(Hue-Saturation-Value,HSV) 顏色特征描述顏色,結合這兩個特征對安全帽進行檢測。Park 等[7]提取了整幅圖像的HOG 特征,然后將特征輸入支持向量機(Support Vector Machine,SVM) 中,進而檢測安全帽。傳統的檢測方法在特定的環境下可以取得良好效果,但在真實復雜的環境中,其準確率較低、計算開銷較大、泛化能力不足,難以應用在真實場景中。
隨著機器學習方法的發展,深度學習作為計算機視覺領域的一個研究熱點,越來越多的研究者采用基于深度學習的方法實現個人安全防護裝備的檢測。Nath 等[8]將未知的安全裝備圖像與已知的安全裝備圖像進行匹配,以搜索輸入圖像中可能的安全裝備信息。一些學者利用卷積神經網絡(Convolutional Neural Network,CNN) 模型對安全裝備進行分類。例如,Wu 等[9]采用K 最鄰近分類算法(KNearest Neighbors,KNN) 從視頻中捕捉移動的物體,然后將其輸入CNN 模型,對行人、頭部和頭盔進行分類。Pradana 等[10]利用CNN 模型對工作人員佩戴的5 種安全裝備的情況進行了分類。Akbarzadeh、Wu 等[11-12]采用更快的區域卷積神經網絡(Faster Region Convolutional Neural Network,Faster R-CNN) 模型檢測工作人員佩戴安全裝備的情況,檢測建筑現場的人體以及檢測安全帽和安全背心。Wu 等[13]采用單發多框架檢測器(Single Shot MultiBox Detector,SSD) 算法檢測施工人員是否戴安全帽及判斷安全帽的顏色。隨著一階段檢測模型(You Only Look Once,YOLO) 目標檢測算法的發展,一些學者利用修改YOLO v3 算法[14-15]、YOLO v4算法[15-17]的網絡結構來檢測施工現場工人的安全帽,大大提高了準確性和實時性。但是這些方法在實際應用中往往存在一些缺陷,比如Pradana 等[10]提出的方法不適用于室外環境,Wu 等[12]提出的方法無法實現實時檢測,Long 等[18]提出的方法無法確定安全帽是否戴在頭上[13],Wu 等[19]提出的方法只適用于行人直立的場景和簡單的背景,Park 等[20]提出的方法容易受到照明條件的影響。
綜上所述,近年來,基于目標檢測的算法被廣泛應用于工作人員安全防護裝備的檢測任務中。在目前的應用中,單個目標提取的特征較為明顯,模型易于判斷,但是在檢測裝備較多、環境更為復雜、光線較弱的情況下,模型的檢測精度不佳,安全裝備的佩戴位置難以判斷。針對以上問題,綜合施工作業環境下人員的需要穿戴安全裝備的特點,本文提出了一種基于YOLO v4 算法和DeepSort 算法的多目標檢測方法,結合目標檢測與目標跟蹤算法,通過分析安全防護裝備檢測框與人體檢測框的IoU 值與相對位置關系判斷施工人員佩戴安全裝備的情況,對不合格的情況進行報警,以此來保證員工在進入施工作業現場時其安全防護裝配的完整性和正確性。本文的創新點和貢獻如下。
1) 由于建筑施工具有環境復雜、光線不穩定的特點,本文利用統計方法對攝像頭獲取的數據進行了擴充,以解決模型泛化性能低的問題。
2) 本文通過計算安全防護裝備檢測框與人體檢測框的交并比(Intersection over Union,IoU) 值,進而將兩者匹配,檢測施工人員身上佩戴的安全裝備,以分析出未佩戴防護裝備的信息。
3) 本文通過安全防護裝備檢測框與人體檢測框的相對位置關系來判斷安全裝備是否在人體的合理的位置上,以此分析工作人員是否正確佩戴防護裝備。
為了保證員工在進入施工作業環境之前正確佩戴了相應的安全防護裝備,本文擬采用數據增強、目標檢測以及目標追蹤等技術解決此問題。首先,采用基于統計的數據增強方法,對數據集進行擴充;其次,利用YOLO v4 目標檢測算法模型檢測出人體目標,利用DeepSort 目標跟蹤算法對人體進行跟蹤;然后,利用YOLO v4 算法進行安全裝備的檢測;接著,遍歷每一個人的檢測框,分析安全裝備與人體檢測框的IoU 重疊比,找到屬于每個人體檢測框的安全裝備;之后,根據重疊比進行人體區域內是否包含全部安全裝備的判斷,根據人體檢測框與安全裝備檢測框的相對位置關系進行裝備佩戴位置是否正確的判斷;最后,若檢測到工人未佩戴齊全或佩戴方式錯誤,顯示出需要佩戴的安全裝備信息或佩戴錯誤的裝備信息并進行報警。
本文應用的YOLO v4 算法是Bochkovskiy 等于2020 年提出的一種目標檢測算法,在利用YOLO v4算法進行人體檢測時,由于畫面變化復雜、光線不穩定等因素,容易出現掉幀現象,即某一幀檢測不出人體的存在,無法進行準確的定位,所以本文采用了DeepSort 算法對檢測到的人體進行跟蹤,避免出現掉幀導致檢測失敗的現象,DeepSort 是一種多目標跟蹤算法。根據相關資料和實際應用場景,本文檢測的安全裝備包括便攜式氣體檢測儀、安全帽、安全繩以及礦用安全帽燈,算法的總體流程見圖1。

圖1 本文算法的總體流程圖
根據光照條件的不同,施工現場的圖片質量不一,若輸入視頻幀的圖像亮度與訓練集圖像的亮度相差較大,會發生圖片特征模糊的問題,造成對人員安全防護裝備的漏檢或誤檢。訓練集中的圖片亮度均在正常范圍內,模型對該亮度條件上的輸入具有較好的泛化效果,但是當輸入圖片的亮度變化較為劇烈時,模型較難正確識別監控視頻中人員所穿戴的安全防護裝備,此時模型的泛化性較差。
針對這個問題,本文提出了一種基于統計的數據增強方法,對獲取的圖像進行R、G、B 信息的統計,計算它們的均值,然后設置一個閾值,并在此均值上進行增加和減少操作,使新圖像的R、G、B 值在一定范圍內波動,以擴充數據集,具體原理見圖2,這種方式能有效避免亮度差異導致的模型泛化性能低的問題。

圖2 基于統計的數據增強方法
對于工作人員安全防護裝備的檢測,包括三方面研究內容:一是人員匹配,用于將檢測到的裝備與相應的施工人員進行匹配;二是數量檢測,用于檢測每個施工人員的安全裝備是否佩戴齊全;三是位置檢測,用于檢測施工人員的安全裝備是否佩戴正確。
2.2.1 安全裝備與人員的匹配
對于工作人員是否完整地、正確地佩戴安全裝備這一問題,關鍵是解決安全裝備與每位工作人員的匹配,從而對每位人員的佩戴狀態進行分析。本文首先利用YOLO v4 模型和DeepSort 算法得到人體和安全裝備目標的檢測框信息;其次,遍歷每一個人體的檢測框,將檢測得到的人體與安全裝備的信息進行對比,計算它們之間的IoU 值,即兩個邊界框交集和并集之比;然后,通過設定閾值,并與它們之間的IoU 值進行比較,從而判斷安全裝備是否依附在人體上;最后,將依附在人體上的裝備與人體進行匹配對應,得到每個人員佩戴的所有安全裝備信息。裝備與人員進行匹配的關鍵步驟是計算兩者的檢測框IoU 值,其過程見圖3。通過計算交并比,判斷裝備是否依附在人體上,若該值大于設定的閾值,則認為此人員佩戴了這個設備;否則,認為該設備沒有依附在此人員身上。

圖3 安全裝備與人體檢測框計算交并比示意圖
2.2.2 安全防護裝備的數量檢測
上文已經對檢測出的每個安全裝備匹配了相應的工作人員,安全防護裝備的數量檢測工作在此基礎上進行。根據人體檢測結果,遍歷每位工作人員與依附在他們身上的安全裝備,并對這些安全裝備進行分析,檢查檢測框內是否包含所需的4 種安全裝備(安全帽、礦用安全帽燈、氣體檢測儀和安全繩),從而判斷工作人員是否完整佩戴了安全防護裝備,并對未佩戴的設備進行顯示及報警。該算法的具體流程見圖4。

圖4 安全防護裝備的數量檢測算法流程圖
2.2.3 安全防護裝備的位置檢測
對于安全防護裝備佩戴方式是否正確的問題,主要是利用人體與裝備檢測框之間的相對位置關系進行判斷。在利用YOLO v4 模型和DeepSort 算法對人體進行檢測和跟蹤后,實時獲取人體檢測框,設置閾值將人體檢測框分為上、中、下三部分,判斷每個安全裝備是否在正確的區域,從而判斷工作人員是否正確佩戴了相應的安全裝備,人體檢測框區域劃分見圖5。

圖5 對人體檢測框分區域示意圖
本文設置安全帽、礦用安全帽燈應該在人體檢測框上部區域,安全繩應位于人體檢測框的中部區域,氣體檢測儀可以位于人體檢測框的中部區域或下部區域,如果設備不在合理的區域內,及時顯示佩戴錯誤的安全裝備并進行報警。該算法的具體流程見圖6。

圖6 安全防護裝備的位置檢測算法流程圖
2.2.4 整體檢測流程
以安全帽的檢測為例,整體檢測流程見圖7。首先,檢測人體區域與安全帽的區域,得到兩者的檢測框。其次,計算兩者的IoU 值,根據設定的閾值來判斷安全帽是否依附在人體上,若是,說明該人員佩戴了安全帽;否則,說明該人員未佩戴安全帽。然后,檢查安全帽的佩戴位置是否正確,根據設定的規則,安全帽應該位于人體檢測框的上部;若不是,說明該人員佩戴方式錯誤。最后,根據判斷結果顯示未佩戴安全帽或佩戴位置錯誤的信息并進行報警。其他個人安全防護裝備,如礦用安全帽燈、氣體檢測儀、安全繩等檢測方法與之類似。

圖7 安全帽檢測流程圖
本文實驗的環境配置見表1,本文實驗所用的數據集均自主利用攝像頭采集,在施工場所拍攝工作人員正確佩戴、錯誤佩戴以及部分佩戴安全防護裝備情況的圖片以及視頻。之后,利用圖像標注工具,對人體以及安全防護裝備進行標注?;跀z像頭獲取的數據,按照3:1:1 的比例劃分訓練集、驗證集和測試集。在訓練中,epoch 設置為300,batch_size 設置為64,其他參數為默認。

表1 實驗環境配置
本文使用目標檢測領域普遍采用的4 項評價指標對本文所用目標檢測模型進行評估,分別是準確率(Precision)、召回率(Recall)、平均精度(Average Precision,AP) 與平均精度均值(mean Average Precision,mAP)。其中,準確率和召回率的計算公式為
式中:TP為真陽性樣本數(正確檢測樣本數);FP為假陽性樣本數(誤檢樣本數);FN 為假陰性樣本數(漏檢樣本數)。
本文利用獲取的實驗數據,選取了Faster RCNN 模型、YOLO v3 模型以及YOLO v4 模型進行對比,將以上幾個指標進行評價,實驗結果見表2。由表2 可知,YOLO v4 是一種檢測效果優異的檢測模型,在本文實驗類別上的檢測精度較高,該方法的處理速度約為每秒18 張圖片,基本能滿足對安全裝備的實時檢測需求。

表2 目標檢測模型對比結果
本文使用多目標跟蹤準確度(Multiple Object Tracking Accuracy,MOTA) 和多目標跟蹤精度(Multiple Object Tracking Precision,MOTP) 兩個指標對本文采用目標跟蹤模型進行綜合評估。MOTA利用錯誤率計算跟蹤器的準確性,其表達式為
式中:G 為真實目標的總數;IDs 為當前時刻所有ID切換的數量。MOTP 利用重疊率計算跟蹤器的精確率,其表達式為
式中:d 為目標的檢測框與跟蹤框的距離;C 為檢測框與跟蹤框匹配的數目。
本文將Sort 算法與DeepSort 算法進行對比,對比結果見表3。由表3 可知,DeepSort 算法由于加入了表觀特征和運動特征,跟蹤準確度和精確率均高于Sort 算法。

表3 目標跟蹤模型對比結果
為探究真實環境下的檢測效果,利用網絡攝像頭對獲取的圖像進行實時檢測,分析圖像中的工作人員是否完整正確地佩戴了安全裝備。首先,讓工作人員佩戴齊全所有的安全裝備,在沒有遮擋的情況下,該模型能準確地、全面地檢測出所有的安全裝備(見圖8);然后,在工作人員進行正常作業時,對安全裝備進行定位及檢測(見圖9),該模型能檢測出每位人員佩戴安全裝備的情況,實時顯示裝備信息并對未佩戴或佩戴錯誤的裝備進行提醒和警告。

圖9 真實場景檢測效果展示
本文將施工作業場景下工作人員需要佩戴的安全防護裝備檢測任務分為兩個子任務進行,分別是人體檢測和安全裝備檢測。通過攝像頭采集數據,利用YOLO v4 算法和DeepSort 算法對人體和安全防護裝備進行檢測,然后通過訓練好的模型來獲取人體和安全防護裝備的檢測框,計算檢測框之間的IoU 值和相對位置,判斷該工作人員是否完整正確地佩戴了安全裝備,然后輸出最終的檢測結果并進行報警。實驗結果表明,本文方法平均檢測精度較高,可滿足工業應用的精確度要求,實現智能化的實時監控。未來研究中,可以對安全裝備的類型進行擴展,檢測更多的相關裝備,還可以與人體行為檢測相結合,進一步排查不安全因素,加強施工人員的安全保障。