林其雄,陳 暢,閆云鳳,齊冬蓮
(1.廣東電網(wǎng)有限責(zé)任公司廣州供電局,廣州 510050;2.浙江大學(xué) 電氣工程學(xué)院,杭州 310027)
電力施工場景下的監(jiān)管一直是國家安全生產(chǎn)監(jiān)管的一個重要方面。國內(nèi)電力行業(yè)的安全性評價、危險點預(yù)控等安全管理方案早在20世紀(jì)90年代就開始推廣[1],極大程度地降低了電網(wǎng)的事故率。但是在安全制度體系下,由于作業(yè)人員的違規(guī)行為以及單一依靠人力監(jiān)管的不完備性等原因,電力施工過程中事故仍偶有發(fā)生。目前,電力安全已經(jīng)得到了學(xué)界的重視,并產(chǎn)生了一些結(jié)合物聯(lián)網(wǎng)和人工智能技術(shù)的智能監(jiān)測成果[2-4]。
電力施工現(xiàn)場環(huán)境復(fù)雜,工種任務(wù)多樣,工裝穿戴的合規(guī)性是安全生產(chǎn)的基本要求,正確佩戴安全帽、正確穿戴工裝能在很大程度上保護(hù)作業(yè)人員的人身安全。然而,由于作業(yè)人員自身的懈怠疏忽,管理人員監(jiān)管的放松警惕,施工過程中的安全風(fēng)險時有發(fā)生。借由部署在施工場地的攝像頭,引入深度學(xué)習(xí)技術(shù),對監(jiān)控圖像視頻信息進(jìn)行分析,識別到未戴安全帽或者未正確穿戴工裝的作業(yè)人員并及時提醒,能夠提高監(jiān)管的有效性,增強作業(yè)人員的安全意識,減少潛在的安全風(fēng)險,保證施工的安全性。
計算機視覺的興起首先帶來了基于傳統(tǒng)圖像特征提取的作業(yè)穿戴規(guī)范識別方案,如馮國臣[5]等提出的基于機器學(xué)習(xí)的人體檢測方案,劉曉惠[6]等提出的基于安全帽輪廓特征的檢測方法。這些方案或多或少都受到復(fù)雜施工環(huán)境的影響,很難達(dá)到良好的精度和準(zhǔn)確率。
近些年來,隨著人工智能和深度學(xué)習(xí)技術(shù)的發(fā)展,一些基于深度學(xué)習(xí)的智能監(jiān)控方案逐步進(jìn)入施工現(xiàn)場,為安全生產(chǎn)保駕護(hù)航。Mneymneh[7]等提出的改進(jìn)方法可以用來判斷作業(yè)人員是否佩戴安全帽,但受限于人員工作姿態(tài)和身體特征的復(fù)雜性,沒有達(dá)到預(yù)期精度。楊莉瓊[8]等人提出基于機器學(xué)習(xí)方法的安全帽佩戴行為,在YoLo系列[9-11]檢測基礎(chǔ)上,改進(jìn)原有傳統(tǒng)特征提取器,結(jié)合SVM(支持向量機)分類器進(jìn)行分類[12-13],但算法驗證集小,測試場地較為單一,無法很好地說明算法的泛化能力。李華[14]等針對復(fù)雜場景引入多尺度信息,提升了檢測準(zhǔn)確度,但是對于小目標(biāo)仍存在檢測困難。在整體穿戴方面,張春堂[15]等人設(shè)計了SSD-MobileNet,對多種穿戴設(shè)備進(jìn)行識別,雖然通過小模型優(yōu)化了檢測速度,但是囿于單模型的設(shè)計,在整體圖片中對于小樣本的檢測仍有困難。
目前基于深度學(xué)習(xí)的電力施工場景工裝穿戴檢測研究存在以下兩個問題:現(xiàn)有方法主要針對安全帽佩戴,而沒有考慮整體工裝穿戴的要求;在針對作業(yè)人員進(jìn)行定位時使用通用的目標(biāo)檢測算法,而無視了生產(chǎn)場景下人員姿態(tài)動作的復(fù)雜多樣性。因此,本文在充分采集作業(yè)場地工裝穿戴樣本的基礎(chǔ)上,提出一種二階段的工裝合規(guī)穿戴檢測算法,并針對上述的第二個問題進(jìn)一步提出基于Faster R-CNN[16]優(yōu)化的人員定位算法,通過引入FPN(特征金字塔網(wǎng)絡(luò))[17]和Guided An?chor[18]模塊,增強模型對不同層次特征的提取以及對不同人體檢測框的擬合。
電力建設(shè)場景下對作業(yè)人員工裝穿戴的監(jiān)管主要關(guān)注的部分有:作業(yè)人員的頭部是否穿戴安全帽;工裝上衣是否合規(guī)穿戴;工裝褲子是否合規(guī)穿戴。具體來說,除了常規(guī)考慮工裝上衣、褲子的穿戴,算法設(shè)計過程中還考慮了作業(yè)人員是否存在卷起袖子等違規(guī)穿戴的情況,圖1為現(xiàn)場穿戴行為實例。
圖1 穿戴行為實例
工裝穿戴檢測算法主要解決兩個問題:電力建設(shè)場景下環(huán)境復(fù)雜,人員流動性強,無法通過傳統(tǒng)匹配方案進(jìn)行高精度的定位;考慮到算法的實用性,算法使用的圖像視頻數(shù)據(jù)局限在電力建設(shè)場景下部署的現(xiàn)場攝像頭,精度有限,且往往部署在與作業(yè)人員有一定距離的高處,導(dǎo)致視頻圖像中作業(yè)人員的人體比例較小,對算法的檢測能力要求較高。此外,由于卷起袖子等行為在人體圖像區(qū)域中所占的比例也相對較小,算法設(shè)計過程中需要盡可能防止模型對現(xiàn)場情況的誤判或漏檢。
考慮上述因素,設(shè)計了一個二階段的工裝合規(guī)穿戴檢測算法,包括人員定位階段和人體區(qū)域工裝合規(guī)檢測階段。人員定位階段用于在現(xiàn)場監(jiān)控圖像中定位作業(yè)人員,裁剪精確完整的人體圖像,并得到人員在畫面中的具體位置;人體區(qū)域工裝合規(guī)檢測階段則利用裁剪得到的低精度圖像,提取圖像中的工裝穿戴特征,對具體人員的工裝穿戴進(jìn)行檢測,結(jié)合人員定位階段所得到的人員位置,給出最終的工裝合規(guī)穿戴檢測結(jié)果。
區(qū)別于常規(guī)的直接對工裝區(qū)域進(jìn)行檢測再對人體和異常穿戴現(xiàn)象進(jìn)行匹配的流程,本文所采用的工裝合規(guī)穿戴檢測算法遵循一種“自上而下”的檢測流程,即先檢測人體區(qū)域,再對畫面中的各個人體區(qū)域逐步進(jìn)行工裝檢測,具體流程見圖2?!白陨隙隆钡臋z測流程可以有效避免常規(guī)方案在匹配階段因為人員位置重合而導(dǎo)致的錯判和漏判,有效提升了方法的可信度。
圖2 工裝合規(guī)穿戴檢測算法流程
本文在人員定位部分以Faster R-CNN算法作為研究的基礎(chǔ)檢測方法,以ResNet[19]作為特征提取的骨干網(wǎng)絡(luò)。電力建設(shè)場景下,圖像中人體比例較小,且人員定位框容易受到作業(yè)人員不同動作狀態(tài)的影響,檢測框的長寬比分布較為復(fù)雜。因此,引入FPN和Guided Anchor模塊用于算法在電力建設(shè)場景下的優(yōu)化?;贔aster R-CNN優(yōu)化的人員定位算法的整體框架如圖3所示。
圖3 基于Faster R-CNN優(yōu)化的人員定位算法整體框架
Faster R-CNN作為二階段檢測模型,引入了anchor(錨點)概念,通過兩條檢測支路對特征圖的前景目標(biāo)和背景目標(biāo)進(jìn)行區(qū)域提取,結(jié)合骨干網(wǎng)絡(luò)提取的特征圖信息,通過末尾的幾個卷積層和全連接層進(jìn)行最終預(yù)測位置框的回歸和框內(nèi)目標(biāo)的分類。
為了幫助檢測算法提取到更豐富的語義信息,提升網(wǎng)絡(luò)對于小目標(biāo)的檢測能力,采用FPN 結(jié)構(gòu)使模型能從不同尺度的特征圖提取不同層次的語義信息。FPN 保留了骨干網(wǎng)絡(luò)ResNet 中階段2 至階段5 的輸出,并對應(yīng)通過1×1 卷積核卷積,高層輸出統(tǒng)一降通道為256,選擇最近鄰插值法上采樣的2 倍,得到與4 個通道數(shù)均為256、相對輸入圖片整體下采樣系數(shù)為4的特征圖組。除了最高層的特征圖之外,其余幾層分別疊加相鄰上層的特征圖,再選擇一個輸入通道、輸出通道均為256的3×3 卷積核進(jìn)行疊加后特征圖的卷積,避免直接相加導(dǎo)致的特征混疊現(xiàn)象。
Guided Anchor 模塊針對的是Faster R-CNN中的anchor 生成方式。原有anchor 生成方式都是基于滑動窗口的思路,需要研究人員手動預(yù)設(shè)an?chor 的基礎(chǔ)尺寸、長寬比后,從特征圖的起始點開始生成密集的anchors,并通過anchor 和圖像標(biāo)注的真實框的IoU(交并比)篩選anchor送入網(wǎng)絡(luò)進(jìn)行訓(xùn)練。從直觀上考慮,此方法生成的anchor 與要求的目標(biāo)檢測框分布是不同的。一方面,真實目標(biāo)檢測框無論是在單張圖像上還是在整個數(shù)據(jù)集上均為稀疏分布,均勻分布生成anchor 這一過程本身消耗了過多的計算資源;另一方面,直接使用IoU 為篩選指標(biāo)也會導(dǎo)致形狀不同的anchor進(jìn)入網(wǎng)絡(luò),使訓(xùn)練更加難以收斂。
Guided Anchor 假定檢測目標(biāo)的位置分布方式如下:
式中:I為輸入圖片;x和y為檢測目標(biāo)框的中心點位置坐標(biāo);w和h分別為檢測目標(biāo)框的長和寬;p(x,y,w,h|I)表示給定輸入圖片I,對應(yīng)圖片上的anchor 分布位置和形狀的條件概率;p(x,y|I)為anchor 位置對圖片的條件概率;p(w,h|x,y,I)為anchor 形狀對輸入圖片的條件概率。Guided An?chor生成anchor的方式如圖4所示。
圖4 Guided Anchor生成anchor的方式
顯然,檢測目標(biāo)在圖像上的位置分布和目標(biāo)周圍的特征信息有關(guān),但是檢測目標(biāo)自身的長、寬與周圍的特征信息并不直接相關(guān),而是通過物體本身特征和物體在圖像上所處的位置關(guān)聯(lián)的。因此,Guided Anchor 在生成anchor 的部分引入了兩個新的訓(xùn)練分支——位置預(yù)測分支和形狀預(yù)測分支,替代傳統(tǒng)的RPN(區(qū)域候選網(wǎng)絡(luò)),用來幫助框架依據(jù)特征圖局部特征完成稀疏anchor 的生成。框架根據(jù)這兩個分支的輸出結(jié)果與設(shè)定的閾值比較,首先得到特征圖上可能存在目標(biāo)的中心位置,再根據(jù)中心位置附近特征的局部特征來預(yù)測最有可能的anchor 形狀。通過這一流程篩選得到的anchor 形狀和大小,本身就包含了所需要檢測的電力場景中人員的語義信息和分布信息,近似于對輸入圖片進(jìn)行了一次初步的主要物體定位。在同樣存在一定量的統(tǒng)計樣本情況下,通過Guided Anchor 預(yù)測得到的anchor 會比單一通過統(tǒng)計整體真實框分布的原始anchor 生成方案對偏離正常分布的真實框有更好的IoU,降低檢測算法在后續(xù)定位時對邊框線性回歸的擬合難度。
圖4 中,Guided Anchor 的位置分支通過1×1的卷積在輸入的特征圖上產(chǎn)生一個分?jǐn)?shù)圖,并通過對應(yīng)具體目標(biāo)涉及的sigmoid函數(shù)來得到圖上每個坐標(biāo)對應(yīng)的各種目標(biāo)的概率值,大于設(shè)定閾值則判定為正樣本,反之為負(fù)樣本。為了平衡樣本訓(xùn)練過程中正負(fù)樣本不平衡的問題,位置分支的訓(xùn)練采用Focal Loss,具體如下:
式中:Lloc為檢測網(wǎng)絡(luò)的定位損失;z′為經(jīng)過sig?moid函數(shù)的輸出結(jié)果;z為真實樣本標(biāo)簽;α為平衡因子,用來平衡正負(fù)樣本比例在訓(xùn)練時的影響,本文取值0.25;γ用來調(diào)節(jié)簡單樣本權(quán)重在訓(xùn)練時下降的速率,幫助模型在訓(xùn)練時更關(guān)注難樣本,本文取值0.5。
Guided Anchor 的形狀分支的作用是預(yù)測對應(yīng)位置anchor 與真實邊界框最匹配的寬和高。網(wǎng)絡(luò)分支首先將anchor與對應(yīng)的真實邊界框進(jìn)行匹配,再通過給定采樣的寬和高的值來計算擁有最大IoU的寬和高。損失函數(shù)如下:
式中:Lshape為形狀分支的損失;L1為常用的smoothL1函數(shù);wg和hg分別為真實邊界框的寬和高。smoothL1中的β取值為0.2,smoothL1函數(shù)的計算方法如下:
式中:t為輸入的參數(shù)。
Guided Anchor 用式(2)和式(3)代替了原始Faster R-CNN 中anchor 生成部分的損失函數(shù),總體的損失函數(shù)L計算方法為:
式中:λ1和λ2為權(quán)值系數(shù),本文分別取值1.5 和1.0;Lcls和Lreg分別為原始Faster R-CNN中分類分支和位置框回歸分支的損失函數(shù)。
式中:i為生成初始預(yù)測框的編號;pi為預(yù)測框是前景的概率;為預(yù)測框預(yù)測正確的概率(當(dāng)預(yù)測框與標(biāo)注框重合度大于0.7 時,為1;當(dāng)重合度小于0.3 時,為0);ti為預(yù)測框的邊界參數(shù);為前景目標(biāo)的真實標(biāo)注框邊界參數(shù);smoothL1函數(shù)中的β取值為3。
在獲取作業(yè)人員在輸入圖片中的位置之后,結(jié)合基于Faster R-CNN優(yōu)化的人員定位算法提供的置信度信息,對高于一定閾值置信度的檢測框進(jìn)行裁剪,得到待檢測的人體區(qū)域。
因為輸入的圖像尺寸較小,對于待檢測的人體區(qū)域同樣采用基準(zhǔn)的Faster R-CNN作為檢測算法。對比使用簡單的識別網(wǎng)絡(luò)進(jìn)行穿戴識別,檢測算法在增加一定計算量的前提下,可以更準(zhǔn)確地利用圖像標(biāo)注中提供的目標(biāo)位置信息。因為所需要判別的合規(guī)穿戴區(qū)域相對固定,以Faster RCNN 所代表的目標(biāo)檢測算法可以快速通過學(xué)習(xí)穿戴標(biāo)注在圖像中的位置形狀信息,擬合出異常或合規(guī)穿戴在人體區(qū)域中的相對位置,例如卷起袖子一般出現(xiàn)在裁剪后圖像的中部,卷起褲腿一般出現(xiàn)在圖像的底部。如果直接使用識別網(wǎng)絡(luò),則網(wǎng)絡(luò)獲取的信息只包含圖像的類別信息,而判別類別所使用的對應(yīng)區(qū)域語義特征是需要學(xué)習(xí)的。因此,訓(xùn)練一個目標(biāo)檢測算法對于合規(guī)穿戴任務(wù)來說,訓(xùn)練難度更低,準(zhǔn)確度更高。
數(shù)據(jù)集的制作采用在廣州電力建設(shè)現(xiàn)場實際采集的方式,共收集了15 477 張圖片用于人員定位算法的訓(xùn)練,包含正常佩戴、未戴安全帽、正常穿工裝上衣、正常穿工裝褲子、未合規(guī)穿工裝上衣(卷起工裝袖子),共5種穿戴行為。選擇其中的12 542張圖片作為訓(xùn)練集,剩余2 935張作為測試集。對數(shù)據(jù)集中的人體進(jìn)行裁剪后,得到29 341張人體區(qū)域圖片,其中26 406 張圖片用于人體區(qū)域合規(guī)穿戴檢測算法的訓(xùn)練,2 935張圖片用于算法性能的測試。本文模型訓(xùn)練與預(yù)測的實驗硬件條件為NVIDIA RTX3090 GPU,系統(tǒng)環(huán)境為Ubuntu 16.04,訓(xùn)練框架為Pytorch。
在訓(xùn)練人員定位算法時,訓(xùn)練圖片進(jìn)入模型訓(xùn)練前進(jìn)行數(shù)據(jù)增強,采用隨機翻轉(zhuǎn)和顏色通道標(biāo)準(zhǔn)化方法。將數(shù)據(jù)增強后的圖片像素統(tǒng)一縮放至1 333×800。模型采用ResNet50 作為特征提取骨干網(wǎng)絡(luò),采用在ImageNet 上與訓(xùn)練的模型參數(shù)作為初始化參數(shù),模型訓(xùn)練優(yōu)化器采用隨機梯度下降,批訓(xùn)練大小設(shè)置為8,初始學(xué)習(xí)率為0.02,動量項為0.9,權(quán)值衰減系數(shù)1×10-4??偟螖?shù)為50 000,慢啟動設(shè)置為2 000次迭代,并采用學(xué)習(xí)率階段下降方式,在迭代35 000 次和45 000 次時分別將學(xué)習(xí)率下降為當(dāng)前學(xué)習(xí)率的0.1倍。
在訓(xùn)練人體區(qū)域合規(guī)穿戴檢測算法時,將圖形像素統(tǒng)一縮放到150×400,批處理設(shè)置為128,初始學(xué)習(xí)率為0.02,動量項為0.9,權(quán)值衰減系數(shù)1×10-4??偟螖?shù)為20 000,慢啟動設(shè)置為500次迭代,在迭代14 000 次和18 000 次時分別將學(xué)習(xí)率下降為當(dāng)前學(xué)習(xí)率的0.1倍。
本文在人員定位算法時使用標(biāo)準(zhǔn)的目標(biāo)檢測指標(biāo)mAP(平均準(zhǔn)確率)作為評價指標(biāo),閾值設(shè)置為0.5。最終整體的工裝穿戴合規(guī)檢測采用平均準(zhǔn)確率Am作為評價指標(biāo),計算方式如下:
式中:k為穿戴行為的總類別數(shù);m為算法判斷準(zhǔn)確的圖片數(shù)量;n為該類別在測試數(shù)據(jù)集中的總數(shù)。圖片中所有人體的某類別都識別代表判斷準(zhǔn)確。
圖5為人員定位結(jié)果,圖6為人體區(qū)域工裝合規(guī)檢測結(jié)果,圖7為最終的電力施工場景工裝合規(guī)穿戴檢測結(jié)果。定量指標(biāo)見表1和表2。
表1 電力施工場景人員定位準(zhǔn)確率
表2 合規(guī)穿戴準(zhǔn)確率
圖5 人員定位結(jié)果
圖6 人體區(qū)域工裝合規(guī)檢測結(jié)果
圖7 電力施工場景工裝合規(guī)穿戴檢測結(jié)果
因為電力施工場景下作業(yè)人員的人體形狀分布不均勻,原始Faster R-CNN 的人員定位的mAP僅為85.1%;在采用了FPN對底層特征信息進(jìn)行增強之后,mAP 上升至89.7%;使用Guided Anchor 模塊替代原始方案中手工設(shè)置的anchor 參數(shù)后,mAP 進(jìn)一步提升至91.1%。由實驗結(jié)果可知,本文提出的基于Faster R-CNN優(yōu)化的電力施工場景人員定位算法可以實現(xiàn)電力施工場景人員的準(zhǔn)確定位與識別。
二階段Faster R-CNN方案對工裝合規(guī)穿戴檢測的平均準(zhǔn)確率達(dá)到92.9%,對于卷起袖子這類不顯著的違規(guī)穿戴行為檢測的平均準(zhǔn)確率也達(dá)到93.9%。此外,對比單階段Faster R-CNN 方案對于大圖片輸入中的小目標(biāo)漏檢,二階段Faster RCNN 方案通過人體位置的先驗,將人體區(qū)域合規(guī)穿戴檢測的平均準(zhǔn)確率提升了11.4%。同時,在卷起袖子這類不顯著違規(guī)穿戴識別任務(wù)上,二階段方案的平均準(zhǔn)確率相比單階段方案提升了16.3%,體現(xiàn)了二階段方案對于工裝合規(guī)檢測中小目標(biāo)檢測任務(wù)的優(yōu)勢。
定量檢測結(jié)果與圖7中檢測結(jié)果表明,本文所提方案能很好地應(yīng)用于電力施工場景下的工裝合規(guī)穿戴檢測。
工裝合規(guī)穿戴識別對于電力施工場景下的安全作業(yè)具有重要意義,之前的工作大多針對安全帽檢測,針對工裝合規(guī)穿戴檢測的研究較少。本文在原有工裝檢測方法的基礎(chǔ)上,將檢測內(nèi)容拓展到卷起袖子、卷起褲腿等穿戴場景,提出了一種二階段工裝合規(guī)穿戴檢測算法,包括人員定位階段和人體區(qū)域工裝合規(guī)檢測階段。在人員定位階段,對原始的Faster R-CNN進(jìn)行優(yōu)化,增加了FPN和Guided Anchor模塊,用于應(yīng)對電力施工場景下人員動作導(dǎo)致的人體形狀檢測存在的問題,有效提升了檢測精度。在人體區(qū)域工裝合規(guī)檢測階段,利用目標(biāo)檢測任務(wù)能提供給網(wǎng)絡(luò)更準(zhǔn)確的類別位置先驗信息,采用Faster R-CNN進(jìn)行工裝穿戴是否合規(guī)的識別,對于卷起袖子等不顯著的違規(guī)穿戴行為也能實現(xiàn)準(zhǔn)確的判斷。實驗結(jié)果表明:本文提出的方法對電力施工場景下的人員定位檢測精度達(dá)到91.1%,相比普通Faster R-CNN方案提升了6.0%;二階段工裝合規(guī)穿戴檢測方案對人體區(qū)域合規(guī)穿戴識別的平均準(zhǔn)確率達(dá)到92.9%,相比單階段Faster R-CNN提升了11.4%,具有較強的應(yīng)用性。