馮志珍,張衛(wèi)山,鄭宗超
(中國石油大學(xué)(華東)計算機(jī)科學(xué)與技術(shù)學(xué)院,青島 266580)
在電力檢修高處作業(yè)施工現(xiàn)場,重疊交叉的高空作業(yè)繁雜多樣.為增強(qiáng)保障工作人員的人身安全,以防作業(yè)者高空作業(yè)墜落事故的發(fā)生,企業(yè)管理部門按照相關(guān)制度,規(guī)定高空作業(yè)人員施工檢修時必須佩戴安全帶.高空作業(yè)是指作業(yè)人員在位于墜落基準(zhǔn)面一定高度以上作業(yè).目前高空作業(yè)電力檢修安全帶掛位有低掛高用和高掛低用兩種,把安全帶掛環(huán)部分掛到工作人員腰部以上的位置叫安全帶高掛低用,有助于減少意外墜落事故發(fā)生時的沖擊距離,這種掛法是安全正規(guī)科學(xué)的系掛方法.另一種系掛方法是低掛高用,把安全帶掛環(huán)部分掛到工作人員腰部以下的位置,人員墜落時安全帶起不到安全緩沖的作用.所以安全帶必須高掛低用,杜絕低掛高用.
在電力檢修高空作業(yè)時,高空作業(yè)施工人員對企業(yè)佩戴安全帶規(guī)定的法規(guī)遵守,僅依賴于其自身自覺和現(xiàn)場安全員的管理提醒,只有少數(shù)公司會增加一些違章作業(yè)的經(jīng)濟(jì)處罰規(guī)定.針對公司安排的臨時活,部分工作人員覺得系安全帶左右移動不便,直接怕麻煩不佩戴安全帶或者佩戴安全帶不規(guī)范,發(fā)生墜落趨勢時安全帶沒能有效發(fā)揮安全緩沖作用,因安全帶佩戴問題發(fā)生安全事故,給作業(yè)者造成難以挽回的人身安全傷害.針對安全管理制度執(zhí)行存在盲點(diǎn)的問題,設(shè)計出一套智能化的安全帶違規(guī)檢測算法是至關(guān)重要的,既可以大大提升對于高處作業(yè)人員安全帶佩戴情況的監(jiān)管效率,又可以實(shí)現(xiàn)違章人員智能化的安全管理,保障工作人員的安全.
在深度學(xué)習(xí)興起并逐漸成為計算機(jī)視覺的核心方法之后,基于深度學(xué)習(xí)的計算機(jī)視覺目標(biāo)檢測算法大致可以分為one-stage和two-stage 兩大流派.普遍應(yīng)用的目標(biāo)檢測one-stage和two-stage 方法的根本區(qū)別在于候選區(qū)域框的差異.與one-stage 直接對輸入圖像應(yīng)用算法并輸出類別和相應(yīng)的定位不同的是two-stage設(shè)計了候選區(qū)域目標(biāo)推薦的過程,即通過錨點(diǎn)機(jī)制去找到不同的目標(biāo)推薦區(qū)域proposals,錨點(diǎn)機(jī)制屬于RPN 網(wǎng)絡(luò)的核心組件,由此可以看來,one-stage和twostage 最典型特征在于是否存在RPN 網(wǎng)絡(luò).本論文使用two-stage 目標(biāo)檢測的Mask-Keypoints R-CNN 方法進(jìn)行安全帶檢測,即先產(chǎn)生候選區(qū)域,然后再進(jìn)行卷積神經(jīng)網(wǎng)絡(luò)分類.
主流的one-stage 直接通過預(yù)訓(xùn)練的主干網(wǎng)絡(luò)給出類別和位置信息,利用檢測目標(biāo)的數(shù)據(jù)集進(jìn)行微調(diào)達(dá)到快速收斂的效果,精確度相對two-stage 目標(biāo)檢測網(wǎng)絡(luò)略低,速度相比較快[1].目前常用的典型onestage 目標(biāo)檢測網(wǎng)絡(luò):YOLOv1、YOLOv2、YOLOv3、YOLOv4和SSD、DSSD 等[2-7],如圖1所示.
圖1 One-stage 相關(guān)算法
Two-stage的目標(biāo)檢測算法不同于端到端的目標(biāo)檢測方法,算法首先生成一系列作為輸入樣本的略微精準(zhǔn)的區(qū)域候選框,再通過卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行樣本數(shù)據(jù)分類和回歸,因此目標(biāo)檢測精確率相對較高,但速度相對于one-stage 慢.Girshick 等在2014年提出的RCNN 到Faster R-CNN 網(wǎng)絡(luò)[8-11].主要通過一個卷積神經(jīng)網(wǎng)絡(luò)來完成目標(biāo)檢測過程,其提取的是CNN 卷積特征,在訓(xùn)練網(wǎng)絡(luò)時,其主要訓(xùn)練兩個部分,第一步是訓(xùn)練RPN 網(wǎng)絡(luò),第二步是訓(xùn)練目標(biāo)區(qū)域檢測的網(wǎng)絡(luò).目前常用的典型one-stage 物體檢測算法:R-CNN[8]、SPP-Net[9]、Fast R-CNN[10]、Faster R-CNN[11]和Mask R-CNN[12]等,如圖2所示.
圖2 Two-stage 相關(guān)算法
深度學(xué)習(xí)(Deep Learning,DL)發(fā)展火熱,尤其在目標(biāo)檢測方面表現(xiàn)突出.2012年在ILSVRC 競賽上基于深度學(xué)習(xí)CNN 網(wǎng)絡(luò)的AlexNet 取得突破性成果[13],2014年Girshick 在卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上設(shè)計出了R-CNN 模型[8],在此之后,R-CNN 模型不斷發(fā)展改進(jìn),出現(xiàn)了具有代表性的R-CNN 系列算法:SPP-Net、Fast R-CNN、Faster R-CNN、Mask R-CNN 等[9-12].2017年何愷明團(tuán)隊提出了由新的backbone和FPN[14]組成,可應(yīng)用于實(shí)例分割、目標(biāo)檢測、人體關(guān)鍵點(diǎn)檢測的Mask R-CNN[12].Fast R-CNN 汲取SPP-Net 算法的優(yōu)點(diǎn),采用兩個loss 結(jié)合訓(xùn)練的方法,大大提高了模型預(yù)測的速度[9-10].Mask R-CNN 在基礎(chǔ)上Faster R-CNN 基礎(chǔ)上再加一個輸出圖像Mask 信息的分支,同時采用雙線性插值的ROI Align 代替原本的ROI pooling,算法不僅可以進(jìn)行目標(biāo)檢測[15],而且可以做語義分割[16].
隨著人工智能算法的發(fā)展,人體骨骼關(guān)鍵點(diǎn)定位檢測算法的高效提升,已經(jīng)開始廣泛應(yīng)用于計算機(jī)視覺的姿態(tài)估計及動作分類等諸多相關(guān)領(lǐng)域.人體關(guān)鍵點(diǎn)很多是直接通過卷積神經(jīng)網(wǎng)絡(luò)(CNN)來直接獲取人體關(guān)鍵點(diǎn)的三維信息[17-20],其中文獻(xiàn)[20]首次證明了深度神經(jīng)網(wǎng)絡(luò)可以從單視圖中獲得合理精度的三維人體關(guān)鍵點(diǎn)預(yù)測值.本論文結(jié)合人體骨骼關(guān)鍵點(diǎn)定位技術(shù)進(jìn)行人體安全帶佩戴規(guī)范檢測.目前深度學(xué)習(xí)在高空作業(yè)安全帶領(lǐng)域研究應(yīng)用相對較少,設(shè)計電力作業(yè)安全帶系掛裝置的傳統(tǒng)方法比較耗時耗資源,人工智能新方法值得進(jìn)一步深度挖掘研究.
本課題基于深度學(xué)習(xí)的電力高空作業(yè)安全帶佩戴規(guī)范檢測和識別,將人工智能和安全帶檢測工作相結(jié)合,不僅可以降低人工監(jiān)控的程度以減少人力物力,大大提升對于高空作業(yè)人員安全帶佩戴情況的監(jiān)管效率,還可以避免因人力因素導(dǎo)致的重要監(jiān)控信息的遺漏,有效提高工作效率,實(shí)現(xiàn)了智能化的安全管理,捕捉工人的安全帶佩戴情況,及時發(fā)現(xiàn)沒有正確使用安全帶的工人并發(fā)出警報,對安防高空作業(yè)重大事故能夠進(jìn)行很好的預(yù)警及監(jiān)控作用,從而避免事故的發(fā)生,對該產(chǎn)業(yè)安全智能管控系統(tǒng)發(fā)展具有重大指導(dǎo)意義.
對于各種安全帶的有效檢測是保證高空作業(yè)人員安全的首要前提.但可能存在的問題是由于現(xiàn)實(shí)場景的復(fù)雜性,安全帶區(qū)域檢測不完全,即存在部分區(qū)域未檢測出來的狀況,對于低掛高用違規(guī)使用判斷難度大,因此要求目標(biāo)檢測算法足夠魯棒,能夠適應(yīng)高空作業(yè)復(fù)雜的場景.基于高空作業(yè)現(xiàn)實(shí)場景中工作人員位置與安全帶掛繩的相對位置特點(diǎn),以及安全帶高掛低用規(guī)范掛位需要高于腰部使用的特點(diǎn),通過膝蓋以下區(qū)域重要骨骼關(guān)鍵點(diǎn)位置進(jìn)行判斷安全帶低掛高用違規(guī)方法是可行有效的.在人體關(guān)鍵點(diǎn)定位算法設(shè)計和選取時,充分考慮到安全帶佩戴規(guī)范所接觸的人體關(guān)鍵特征,從而設(shè)計出Mask-Keypoints R-CNN的高效算法.整體流程圖如圖3.
圖3 整體流程圖
針對高空作業(yè)安全帶場景復(fù)雜掛位難辨等問題,無法進(jìn)行直接的判斷掛位是否規(guī)范.本論文采用關(guān)鍵點(diǎn)定位技術(shù)與安全帶的檢測相結(jié)合的Mask-Keypoints R-CNN的高效算法,通過膝蓋以下區(qū)域重要骨骼關(guān)鍵點(diǎn)的位置是否存在安全帶,來判斷安全帶掛位是否規(guī)范.第一階段進(jìn)行關(guān)鍵點(diǎn)截取膝蓋以下部位的人員信息檢測邊界框,第二階段處理第一階段保存的數(shù)據(jù)集,使用標(biāo)注工具標(biāo)注安全帶區(qū)域,采用ResNet 神經(jīng)網(wǎng)絡(luò)提取方法,結(jié)合Mask R-CNN 算法進(jìn)行腿部以下安全帶目標(biāo)檢測.回歸原數(shù)據(jù)查看是否為低掛高用或者是高掛低用,判斷高空作業(yè)人員安全帶掛位檢測的規(guī)范性.
為了解決從 R-CNN 就遺留下來的候選框生成問題,Faster R-CNN的關(guān)鍵在于設(shè)計了 RPN (Region Proposal Network)區(qū)域候選網(wǎng)絡(luò),將候選框的選擇和判斷交給RPN 進(jìn)行處理,將 RPN 處理之后的候選區(qū)域進(jìn)行基于多任務(wù)損失的分類定位.由于RPN 網(wǎng)絡(luò)能夠在固定尺寸的特征圖中生成多尺寸的區(qū)域候選框,導(dǎo)致出現(xiàn)多目標(biāo)尺寸和固定感受野不一致的情況.Faster R-CNN的優(yōu)點(diǎn)在于 CNN 提取的特征信息能夠做到全網(wǎng)絡(luò)的權(quán)值共享,從而解決了因生成候選框數(shù)量多導(dǎo)致的速度慢的問題.
Mask R-CNN 算法改善了R-CNN 系列算法,類標(biāo)簽、邊界框偏移量和輸出對象掩碼是每個目標(biāo)候選對象的3 個輸出.Mask R-CNN 算法在輸出對象掩碼mask時,實(shí)現(xiàn)了像素到像素的對齊,從而提取出目標(biāo)對象的更精細(xì)的空間布局.Mask R-CNN為two-stage 目標(biāo)檢測算法,第一階段流程主要是通過區(qū)域提議網(wǎng)絡(luò)(RPN)輸出區(qū)域候選框.RPN 網(wǎng)絡(luò)結(jié)構(gòu)主要是用來生成錨點(diǎn)anchors,然后經(jīng)過分類器Softmax 提取含有目標(biāo)的positive anchors,邊界框回歸定位positive anchors,最后經(jīng)過proposal layer 生成目標(biāo)區(qū)域建議proposals.第二階段中,在進(jìn)行預(yù)測分類和邊界框回歸的同時,Mask R-CNN 算法中還為每個感興趣區(qū)域ROI 輸出一個二進(jìn)制的掩碼,依靠專用的卷積網(wǎng)絡(luò)分類分支來預(yù)測用于選擇掩碼的類標(biāo)簽,這使得掩碼和類預(yù)測解耦[12].
本論文中的Mask-Keypoints R-CNN 算法由關(guān)鍵點(diǎn)檢測和Mask R-CNN 檢測兩部分組成,首先經(jīng)過人員檢測輸出人員位置及關(guān)鍵點(diǎn)信息,裁剪所需的部分?jǐn)?shù)據(jù)圖片,本論文主要采用左膝蓋關(guān)鍵點(diǎn)作為裁剪指標(biāo).不同尺寸的數(shù)據(jù)圖片經(jīng)過FPN 網(wǎng)絡(luò)生成多個不同尺寸的共享特征圖,采用FPN 網(wǎng)絡(luò)將底層特征和高層特征進(jìn)行融合,強(qiáng)調(diào)語義信息和位置信息,如圖4為FPN 網(wǎng)絡(luò)結(jié)構(gòu)圖,左側(cè)為ResNet 骨架,從低向上進(jìn)行0.5 倍的下采樣,輸出結(jié)果分別為C2、C3、C4、C5,中間為高層特征層進(jìn)行雙線性插值2 倍的上采樣,同時與低層次特征進(jìn)行橫向連接,相當(dāng)于特征圖相加操作,特征圖尺寸呈倍數(shù)逐漸增大輸出,輸出結(jié)果分別為M5,M4,M3,M2.此處為消除混疊效應(yīng)進(jìn)行3×3的卷積得到FPN的最后結(jié)果P2,P3,P4,P5.
RPN 網(wǎng)絡(luò)用來從不同特征圖中產(chǎn)生目標(biāo)區(qū)域候選框,再根據(jù)共享特征圖的特征輸出某個尺寸的特征圖上的目標(biāo)區(qū)域建議,ROI 區(qū)域特征框的選擇相當(dāng)于裁剪的過程,不同尺寸的目標(biāo)區(qū)域建議經(jīng)過ROI Align 模塊調(diào)整尺寸大小,然后輸出相同尺寸的特征圖,最后經(jīng)過全連接層進(jìn)行分類和目標(biāo)回歸定位,同時經(jīng)過設(shè)定的卷積層輸出目標(biāo)掩碼,在原數(shù)據(jù)圖片上展示目標(biāo)類別、邊界框和目標(biāo)掩碼信息.安全帶目標(biāo)檢測算法基本流程如圖5所示.
圖4 FPN 網(wǎng)絡(luò)結(jié)構(gòu)圖
圖5 Mask-Keypoints R-CNN 算法
實(shí)驗數(shù)據(jù)總共1200 張,其中700 張對應(yīng)不同的光照強(qiáng)度和不同的場景低掛高用違規(guī)數(shù)據(jù)和500 張高掛低用正規(guī)使用數(shù)據(jù)圖片.
本實(shí)驗使用的實(shí)驗設(shè)備為64 位Linux 系統(tǒng)計算機(jī),計算機(jī)的GPU 顯卡類型GeForce RTX 2080 Ti,GPU顯存11 GB.CUDA Version為10.2.同時配備CPU 類型為Intel(R)Core(TM)i9-9900K,CPU的頻率為3.60 GHz.實(shí)驗訓(xùn)練及測試數(shù)據(jù)均在設(shè)備GeForce RTX 2080 Ti上進(jìn)行,其他機(jī)型可能稍有偏差.
我們采用Mask R-CNN 算法用數(shù)據(jù)圖片迭代6000次訓(xùn)練人員身上的安全帶和裁剪膝蓋以下部分安全帶檢測,基于數(shù)據(jù)的特點(diǎn),使用UPCLable 工具進(jìn)行標(biāo)注標(biāo)簽,數(shù)據(jù)訓(xùn)練采用JSON 格式讀取.
對于安全帶佩戴標(biāo)準(zhǔn)檢測問題在實(shí)驗中進(jìn)一步嘗試,實(shí)現(xiàn)關(guān)鍵點(diǎn)定位檢測和安全帶檢測模塊的高效結(jié)合方法,人體的全部骨骼關(guān)鍵點(diǎn)共分為17 個,人體骨骼關(guān)鍵點(diǎn)詳細(xì)介紹見表1,此處使用left_knee 關(guān)鍵點(diǎn)的縱坐標(biāo)結(jié)合人員邊界框進(jìn)行裁剪所需數(shù)據(jù).
表1 人體關(guān)鍵點(diǎn)信息
在Mask R-CNN 算法的基礎(chǔ)上,使用Mask-Keypoints R-CNN 算法的關(guān)鍵點(diǎn)檢測算法進(jìn)行關(guān)鍵點(diǎn)的定位.在關(guān)鍵點(diǎn)定位檢測中結(jié)果如圖6所示,相對于整張數(shù)據(jù)圖片而言,[“person”,0.994 871 14,183,46,466,425]分別代表:檢測類別為person,檢測準(zhǔn)確率為99.487 114%,183、46和466、425 分別為檢測出來的人員位置邊界框bbox 左上角像素坐標(biāo)值和右下角像素坐標(biāo)值.[“nose”,373,186]則代表關(guān)鍵點(diǎn)nose的橫縱坐標(biāo)像素坐標(biāo)值,其他骨骼關(guān)鍵點(diǎn)同樣代表像素值.
我們采用以圖像為中心的訓(xùn)練方法.根據(jù)數(shù)據(jù)集設(shè)計e2e_mask_rcnn_R-101-FPN_2x.yaml 配置文件,采用GPU 訓(xùn)練,分為背景類和belt 兩類,配置文件相關(guān)參數(shù)值如表2所示.
圖6 人體關(guān)鍵點(diǎn)輸出信息
表2 配置文件信息
本文以深度學(xué)習(xí)中的實(shí)例分割技術(shù)和關(guān)鍵點(diǎn)檢測算法為基礎(chǔ),提出新的檢測方法,以深度學(xué)習(xí)中的卷積神經(jīng)網(wǎng)絡(luò)技術(shù)為基礎(chǔ),通過構(gòu)建的安全帶檢測神經(jīng)網(wǎng)絡(luò)對圖片中的高處作業(yè)人員進(jìn)行精確定位,得到高空作業(yè)人員在圖片中的位置后,裁剪膝蓋以下邊界框,如圖7(b),裁剪部分進(jìn)行訓(xùn)練,如圖7(c),最后回歸原圖判斷安全帶低掛高用和高掛低用規(guī)范佩戴,如圖7(d),相關(guān)檢測過程結(jié)果圖7.本實(shí)驗對安全帶檢測訓(xùn)練模型和關(guān)鍵點(diǎn)模型分別用100 張數(shù)據(jù)進(jìn)行了測試,安全帶和關(guān)鍵點(diǎn)識別率分別為98%和95%,兩者結(jié)合使用處理低掛高用違規(guī)圖片的檢測識別準(zhǔn)確率達(dá)94%,識別每張圖片的平均速度4 秒左右,滿足電力檢修實(shí)際場景中的實(shí)時應(yīng)用要求.
圖7 安全帶違規(guī)檢測過程圖
本文數(shù)據(jù)集將更進(jìn)一步增加和更新,為以后人工智能計算機(jī)視覺研究在國家電力工業(yè)方面的研究奠定基礎(chǔ).該課題雖然還存在問題,針對此問題本作者將繼續(xù)跟進(jìn)探索研究關(guān)鍵點(diǎn)檢測和人員檢測相結(jié)合的算法.安全帶檢測模型和關(guān)鍵點(diǎn)檢測模型相結(jié)合,準(zhǔn)確檢測出安全帶低掛高用的違規(guī)操作,及時發(fā)現(xiàn)問題并解決問題.本課題基于上述背景和思想,提出了基于深度學(xué)習(xí)的安全帶規(guī)范檢測算法,利用深度學(xué)習(xí)的方式減少了傳統(tǒng)人工選取特征的種種麻煩,通過計算機(jī)視覺檢測的方法,可以較精準(zhǔn)的判斷高處作業(yè)施工人員安全帶的佩戴情況,有效的預(yù)防意外安全事故的發(fā)生,為當(dāng)前工業(yè)檢測和識別領(lǐng)域提供新的解決辦法,場景安全帶的檢測與識別也具有較強(qiáng)的現(xiàn)實(shí)意義.