馮志珍,張衛山,鄭宗超
(中國石油大學(華東)計算機科學與技術學院,青島 266580)
在電力檢修高處作業施工現場,重疊交叉的高空作業繁雜多樣.為增強保障工作人員的人身安全,以防作業者高空作業墜落事故的發生,企業管理部門按照相關制度,規定高空作業人員施工檢修時必須佩戴安全帶.高空作業是指作業人員在位于墜落基準面一定高度以上作業.目前高空作業電力檢修安全帶掛位有低掛高用和高掛低用兩種,把安全帶掛環部分掛到工作人員腰部以上的位置叫安全帶高掛低用,有助于減少意外墜落事故發生時的沖擊距離,這種掛法是安全正規科學的系掛方法.另一種系掛方法是低掛高用,把安全帶掛環部分掛到工作人員腰部以下的位置,人員墜落時安全帶起不到安全緩沖的作用.所以安全帶必須高掛低用,杜絕低掛高用.
在電力檢修高空作業時,高空作業施工人員對企業佩戴安全帶規定的法規遵守,僅依賴于其自身自覺和現場安全員的管理提醒,只有少數公司會增加一些違章作業的經濟處罰規定.針對公司安排的臨時活,部分工作人員覺得系安全帶左右移動不便,直接怕麻煩不佩戴安全帶或者佩戴安全帶不規范,發生墜落趨勢時安全帶沒能有效發揮安全緩沖作用,因安全帶佩戴問題發生安全事故,給作業者造成難以挽回的人身安全傷害.針對安全管理制度執行存在盲點的問題,設計出一套智能化的安全帶違規檢測算法是至關重要的,既可以大大提升對于高處作業人員安全帶佩戴情況的監管效率,又可以實現違章人員智能化的安全管理,保障工作人員的安全.
在深度學習興起并逐漸成為計算機視覺的核心方法之后,基于深度學習的計算機視覺目標檢測算法大致可以分為one-stage和two-stage 兩大流派.普遍應用的目標檢測one-stage和two-stage 方法的根本區別在于候選區域框的差異.與one-stage 直接對輸入圖像應用算法并輸出類別和相應的定位不同的是two-stage設計了候選區域目標推薦的過程,即通過錨點機制去找到不同的目標推薦區域proposals,錨點機制屬于RPN 網絡的核心組件,由此可以看來,one-stage和twostage 最典型特征在于是否存在RPN 網絡.本論文使用two-stage 目標檢測的Mask-Keypoints R-CNN 方法進行安全帶檢測,即先產生候選區域,然后再進行卷積神經網絡分類.
主流的one-stage 直接通過預訓練的主干網絡給出類別和位置信息,利用檢測目標的數據集進行微調達到快速收斂的效果,精確度相對two-stage 目標檢測網絡略低,速度相比較快[1].目前常用的典型onestage 目標檢測網絡:YOLOv1、YOLOv2、YOLOv3、YOLOv4和SSD、DSSD 等[2-7],如圖1所示.

圖1 One-stage 相關算法
Two-stage的目標檢測算法不同于端到端的目標檢測方法,算法首先生成一系列作為輸入樣本的略微精準的區域候選框,再通過卷積神經網絡進行樣本數據分類和回歸,因此目標檢測精確率相對較高,但速度相對于one-stage 慢.Girshick 等在2014年提出的RCNN 到Faster R-CNN 網絡[8-11].主要通過一個卷積神經網絡來完成目標檢測過程,其提取的是CNN 卷積特征,在訓練網絡時,其主要訓練兩個部分,第一步是訓練RPN 網絡,第二步是訓練目標區域檢測的網絡.目前常用的典型one-stage 物體檢測算法:R-CNN[8]、SPP-Net[9]、Fast R-CNN[10]、Faster R-CNN[11]和Mask R-CNN[12]等,如圖2所示.

圖2 Two-stage 相關算法
深度學習(Deep Learning,DL)發展火熱,尤其在目標檢測方面表現突出.2012年在ILSVRC 競賽上基于深度學習CNN 網絡的AlexNet 取得突破性成果[13],2014年Girshick 在卷積神經網絡的基礎上設計出了R-CNN 模型[8],在此之后,R-CNN 模型不斷發展改進,出現了具有代表性的R-CNN 系列算法:SPP-Net、Fast R-CNN、Faster R-CNN、Mask R-CNN 等[9-12].2017年何愷明團隊提出了由新的backbone和FPN[14]組成,可應用于實例分割、目標檢測、人體關鍵點檢測的Mask R-CNN[12].Fast R-CNN 汲取SPP-Net 算法的優點,采用兩個loss 結合訓練的方法,大大提高了模型預測的速度[9-10].Mask R-CNN 在基礎上Faster R-CNN 基礎上再加一個輸出圖像Mask 信息的分支,同時采用雙線性插值的ROI Align 代替原本的ROI pooling,算法不僅可以進行目標檢測[15],而且可以做語義分割[16].
隨著人工智能算法的發展,人體骨骼關鍵點定位檢測算法的高效提升,已經開始廣泛應用于計算機視覺的姿態估計及動作分類等諸多相關領域.人體關鍵點很多是直接通過卷積神經網絡(CNN)來直接獲取人體關鍵點的三維信息[17-20],其中文獻[20]首次證明了深度神經網絡可以從單視圖中獲得合理精度的三維人體關鍵點預測值.本論文結合人體骨骼關鍵點定位技術進行人體安全帶佩戴規范檢測.目前深度學習在高空作業安全帶領域研究應用相對較少,設計電力作業安全帶系掛裝置的傳統方法比較耗時耗資源,人工智能新方法值得進一步深度挖掘研究.
本課題基于深度學習的電力高空作業安全帶佩戴規范檢測和識別,將人工智能和安全帶檢測工作相結合,不僅可以降低人工監控的程度以減少人力物力,大大提升對于高空作業人員安全帶佩戴情況的監管效率,還可以避免因人力因素導致的重要監控信息的遺漏,有效提高工作效率,實現了智能化的安全管理,捕捉工人的安全帶佩戴情況,及時發現沒有正確使用安全帶的工人并發出警報,對安防高空作業重大事故能夠進行很好的預警及監控作用,從而避免事故的發生,對該產業安全智能管控系統發展具有重大指導意義.
對于各種安全帶的有效檢測是保證高空作業人員安全的首要前提.但可能存在的問題是由于現實場景的復雜性,安全帶區域檢測不完全,即存在部分區域未檢測出來的狀況,對于低掛高用違規使用判斷難度大,因此要求目標檢測算法足夠魯棒,能夠適應高空作業復雜的場景.基于高空作業現實場景中工作人員位置與安全帶掛繩的相對位置特點,以及安全帶高掛低用規范掛位需要高于腰部使用的特點,通過膝蓋以下區域重要骨骼關鍵點位置進行判斷安全帶低掛高用違規方法是可行有效的.在人體關鍵點定位算法設計和選取時,充分考慮到安全帶佩戴規范所接觸的人體關鍵特征,從而設計出Mask-Keypoints R-CNN的高效算法.整體流程圖如圖3.

圖3 整體流程圖
針對高空作業安全帶場景復雜掛位難辨等問題,無法進行直接的判斷掛位是否規范.本論文采用關鍵點定位技術與安全帶的檢測相結合的Mask-Keypoints R-CNN的高效算法,通過膝蓋以下區域重要骨骼關鍵點的位置是否存在安全帶,來判斷安全帶掛位是否規范.第一階段進行關鍵點截取膝蓋以下部位的人員信息檢測邊界框,第二階段處理第一階段保存的數據集,使用標注工具標注安全帶區域,采用ResNet 神經網絡提取方法,結合Mask R-CNN 算法進行腿部以下安全帶目標檢測.回歸原數據查看是否為低掛高用或者是高掛低用,判斷高空作業人員安全帶掛位檢測的規范性.
為了解決從 R-CNN 就遺留下來的候選框生成問題,Faster R-CNN的關鍵在于設計了 RPN (Region Proposal Network)區域候選網絡,將候選框的選擇和判斷交給RPN 進行處理,將 RPN 處理之后的候選區域進行基于多任務損失的分類定位.由于RPN 網絡能夠在固定尺寸的特征圖中生成多尺寸的區域候選框,導致出現多目標尺寸和固定感受野不一致的情況.Faster R-CNN的優點在于 CNN 提取的特征信息能夠做到全網絡的權值共享,從而解決了因生成候選框數量多導致的速度慢的問題.
Mask R-CNN 算法改善了R-CNN 系列算法,類標簽、邊界框偏移量和輸出對象掩碼是每個目標候選對象的3 個輸出.Mask R-CNN 算法在輸出對象掩碼mask時,實現了像素到像素的對齊,從而提取出目標對象的更精細的空間布局.Mask R-CNN為two-stage 目標檢測算法,第一階段流程主要是通過區域提議網絡(RPN)輸出區域候選框.RPN 網絡結構主要是用來生成錨點anchors,然后經過分類器Softmax 提取含有目標的positive anchors,邊界框回歸定位positive anchors,最后經過proposal layer 生成目標區域建議proposals.第二階段中,在進行預測分類和邊界框回歸的同時,Mask R-CNN 算法中還為每個感興趣區域ROI 輸出一個二進制的掩碼,依靠專用的卷積網絡分類分支來預測用于選擇掩碼的類標簽,這使得掩碼和類預測解耦[12].
本論文中的Mask-Keypoints R-CNN 算法由關鍵點檢測和Mask R-CNN 檢測兩部分組成,首先經過人員檢測輸出人員位置及關鍵點信息,裁剪所需的部分數據圖片,本論文主要采用左膝蓋關鍵點作為裁剪指標.不同尺寸的數據圖片經過FPN 網絡生成多個不同尺寸的共享特征圖,采用FPN 網絡將底層特征和高層特征進行融合,強調語義信息和位置信息,如圖4為FPN 網絡結構圖,左側為ResNet 骨架,從低向上進行0.5 倍的下采樣,輸出結果分別為C2、C3、C4、C5,中間為高層特征層進行雙線性插值2 倍的上采樣,同時與低層次特征進行橫向連接,相當于特征圖相加操作,特征圖尺寸呈倍數逐漸增大輸出,輸出結果分別為M5,M4,M3,M2.此處為消除混疊效應進行3×3的卷積得到FPN的最后結果P2,P3,P4,P5.
RPN 網絡用來從不同特征圖中產生目標區域候選框,再根據共享特征圖的特征輸出某個尺寸的特征圖上的目標區域建議,ROI 區域特征框的選擇相當于裁剪的過程,不同尺寸的目標區域建議經過ROI Align 模塊調整尺寸大小,然后輸出相同尺寸的特征圖,最后經過全連接層進行分類和目標回歸定位,同時經過設定的卷積層輸出目標掩碼,在原數據圖片上展示目標類別、邊界框和目標掩碼信息.安全帶目標檢測算法基本流程如圖5所示.

圖4 FPN 網絡結構圖

圖5 Mask-Keypoints R-CNN 算法
實驗數據總共1200 張,其中700 張對應不同的光照強度和不同的場景低掛高用違規數據和500 張高掛低用正規使用數據圖片.
本實驗使用的實驗設備為64 位Linux 系統計算機,計算機的GPU 顯卡類型GeForce RTX 2080 Ti,GPU顯存11 GB.CUDA Version為10.2.同時配備CPU 類型為Intel(R)Core(TM)i9-9900K,CPU的頻率為3.60 GHz.實驗訓練及測試數據均在設備GeForce RTX 2080 Ti上進行,其他機型可能稍有偏差.
我們采用Mask R-CNN 算法用數據圖片迭代6000次訓練人員身上的安全帶和裁剪膝蓋以下部分安全帶檢測,基于數據的特點,使用UPCLable 工具進行標注標簽,數據訓練采用JSON 格式讀取.
對于安全帶佩戴標準檢測問題在實驗中進一步嘗試,實現關鍵點定位檢測和安全帶檢測模塊的高效結合方法,人體的全部骨骼關鍵點共分為17 個,人體骨骼關鍵點詳細介紹見表1,此處使用left_knee 關鍵點的縱坐標結合人員邊界框進行裁剪所需數據.

表1 人體關鍵點信息
在Mask R-CNN 算法的基礎上,使用Mask-Keypoints R-CNN 算法的關鍵點檢測算法進行關鍵點的定位.在關鍵點定位檢測中結果如圖6所示,相對于整張數據圖片而言,[“person”,0.994 871 14,183,46,466,425]分別代表:檢測類別為person,檢測準確率為99.487 114%,183、46和466、425 分別為檢測出來的人員位置邊界框bbox 左上角像素坐標值和右下角像素坐標值.[“nose”,373,186]則代表關鍵點nose的橫縱坐標像素坐標值,其他骨骼關鍵點同樣代表像素值.
我們采用以圖像為中心的訓練方法.根據數據集設計e2e_mask_rcnn_R-101-FPN_2x.yaml 配置文件,采用GPU 訓練,分為背景類和belt 兩類,配置文件相關參數值如表2所示.

圖6 人體關鍵點輸出信息

表2 配置文件信息
本文以深度學習中的實例分割技術和關鍵點檢測算法為基礎,提出新的檢測方法,以深度學習中的卷積神經網絡技術為基礎,通過構建的安全帶檢測神經網絡對圖片中的高處作業人員進行精確定位,得到高空作業人員在圖片中的位置后,裁剪膝蓋以下邊界框,如圖7(b),裁剪部分進行訓練,如圖7(c),最后回歸原圖判斷安全帶低掛高用和高掛低用規范佩戴,如圖7(d),相關檢測過程結果圖7.本實驗對安全帶檢測訓練模型和關鍵點模型分別用100 張數據進行了測試,安全帶和關鍵點識別率分別為98%和95%,兩者結合使用處理低掛高用違規圖片的檢測識別準確率達94%,識別每張圖片的平均速度4 秒左右,滿足電力檢修實際場景中的實時應用要求.

圖7 安全帶違規檢測過程圖
本文數據集將更進一步增加和更新,為以后人工智能計算機視覺研究在國家電力工業方面的研究奠定基礎.該課題雖然還存在問題,針對此問題本作者將繼續跟進探索研究關鍵點檢測和人員檢測相結合的算法.安全帶檢測模型和關鍵點檢測模型相結合,準確檢測出安全帶低掛高用的違規操作,及時發現問題并解決問題.本課題基于上述背景和思想,提出了基于深度學習的安全帶規范檢測算法,利用深度學習的方式減少了傳統人工選取特征的種種麻煩,通過計算機視覺檢測的方法,可以較精準的判斷高處作業施工人員安全帶的佩戴情況,有效的預防意外安全事故的發生,為當前工業檢測和識別領域提供新的解決辦法,場景安全帶的檢測與識別也具有較強的現實意義.