孔英會, 王維維, 張 珂, 戚銀城
(華北電力大學電子與通信工程學院,保定 071003)
電力施工現場有嚴格的安全要求,其中設置危險禁入區(qū)域和佩戴安全帽是典型的防范措施。在可能引發(fā)火災、爆炸、觸電、高空墜落等事故的電力生產區(qū)域必須做好相關安全措施,嚴禁人員隨意進出。根據《國家電網公司電力安全工作規(guī)程(變電站和發(fā)電廠電氣部分)》規(guī)定:“任何人進入生產現場(辦公室、控制室、值班室和檢修班組除外)應戴安全帽”。針對佩戴安全帽和危險區(qū)域人員入侵情況進行有效監(jiān)測是電力施工現場安全監(jiān)管的重要任務。傳統(tǒng)監(jiān)控系統(tǒng)依賴人工監(jiān)察存在重大隱患,很多歷史經驗表明,電力建設中安全事故很大程度上是對安全監(jiān)管不力造成的。隨著視頻智能監(jiān)控系統(tǒng)在電力系統(tǒng)的普及,針對未帶安全帽和危險區(qū)域誤入兩種情況設計一種智能化的視頻分析方法實現對異常情況及時警示,可有效提高電力施工現場的作業(yè)安全。
傳統(tǒng)視頻分析方法多依賴手工設計特征,存在大量錯檢、漏檢情況,泛化能力較差。隨著卷積神經網絡的迅猛發(fā)展,基于深度學習的目標檢測模型逐漸取代傳統(tǒng)手工算法成為圖像檢測領域的主流趨勢。畢林等[1]構建卷積神經網絡(convolutional neural networks,CNNs)實現安全帽佩戴情況檢測,但在背景復雜,光照和攝像頭拍攝的視頻質量較差情況下效果不理想。施輝等[2]基于YOLO V3[3]模型能夠實現端到端的安全帽檢測和識別,檢測速度顯著提高,但YOLO V3模型直接對圖像進行劃分,導致定位信息粗糙。徐守坤等[4]提出了基于改進Faster R-CNN[5]模型的多部件結合檢測方法,剔除誤檢目標使精確度提升,但實驗結果目標置信度較低,導致錯檢問題。實例分割框架Mask R-CNN[6]在Faster R-CNN模型基礎上增加掩膜分支,定位信息精確,可以得到高質量的分割結果,同時置信度在90%以上,目標檢測精度進一步提高,在目標特征提取方面表達能力更強。
針對電力施工場景下安全帽佩戴情況和危險區(qū)域行人禁入的問題,提出基于改進Mask R-CNN模型的目標檢測方法。第一階段通過采集樣本建立電力施工場景數據集(person and helmet date,PHDate),結合遷移學習策略調取微軟公共對象數據集(common objects in context,COCO)權重訓練Mask R-CNN模型;第二階段針對實際采集的視頻數據存在距離遠、目標尺寸差異較大情況造成的小目標無法檢測問題,調整區(qū)域建議網絡參數實現多尺度變換操作;第三階段針對低質量監(jiān)控視頻引入拉普拉斯卷積層[7]做銳化處理,增強圖像的邊緣對比度,突出目標輪廓,用于改善低質量視頻的檢測效果。

圖1 Mask R-CNN模型網絡結構Fig.1 Network structure of Mask R-CNN
Mask R-CNN是一種對象通用的目標檢測算法,可以用于構建實例分割框架做“目標檢測”“目標實例分割”“目標關鍵點檢測”等研究,具有優(yōu)異的目標檢測性能,算法整體結構如圖1所示。首先,采用殘差網絡(residual neural networks,ResNet)結合特征金字塔網絡[8](feature pyramid networks,FPN)提取輸入圖像的深層卷積特征圖。然后將特征圖送入區(qū)域建議網絡(region proposal networks,RPN)生成建議窗口,獲得高質量的候選框,即預先找出圖中目標可能出現的位置進行邊框修正,把建議窗口映射到卷積特征圖上[9]。接著利用RoiAlign區(qū)域對齊層將每個感興趣區(qū)域(region of interest,ROI)生成固定尺寸,通過網絡頭部擴大輸出特征圖維度,實現輸出和輸入的感興趣區(qū)域精準對齊,使目標定位信息更為精確。最后,通過全卷積網絡[10](fully convolutional network,FCN)輸出高質量二值分割掩膜,全連接層(fully connected layers,FC)輸出預測框和類別。
Mask R-CNN算法關鍵技術如下。
采用殘差網絡ResNet作為特征提取網絡,結合FPN算法構建多尺度特征金字塔模型,主要解決多尺度融合問題,架構如圖2所示。輸入圖片經過(C1,C2,C3,C4,C5)5層卷積層進行自下而上的特征圖提取,再進行1×1的卷積操作改變特征圖的維度,通過自上而下的2 倍上采樣,與前層網絡疊加融合,采用3×3的卷積對每個融合結果進行卷積以消除上采樣的混疊效應[11]。融合特征層為(P2,P3,P4,P5),與頂層特征圖P6組合輸入RPN網絡提取候選區(qū)域。特征金字塔架構使高層特征得到增強,每一層預測所用的特征圖都融合了不同分辨率、不同語義強度的特征。
區(qū)域建議網絡的作用是在FPN輸出的多層特征圖上提取一定數量的帶有目標置信度的建議區(qū)域,其原理如圖3所示。RPN將卷積特征圖矩陣作為輸入,輸出一系列矩形候選框以及概率值。采用了滑動窗口機制,在特征圖(P2,P3,P4,P5,P6)每層上增加滑動窗口,每個滑動窗口對應k個初始建議區(qū)域,稱為anchor,即為錨點。

圖2 ResNet+FPN結構Fig.2 Structure of ResNet+FPN
設n為滑動窗口邊長,當n×n大小的滑動窗口在特征金字塔圖層上遍歷時,滑動的每個位置都在原始圖像上對應k個不同的錨點,則一個全連接層輸出2×k維向量,對應k個錨點目標的概率值;另一個全連接層輸出4×k維向量,表示k個錨點的坐標值[12]。Mask R-CNN算法預設了5 種尺度大小(32,64,128,256,512),設置錨點長寬比為(1∶1,1∶2,2∶1),因此每個位置錨點數為15。

圖3 RPN網絡Fig.3 Network of RPN
由于錨點anchor經常重疊,導致建議框會在同一個目標上重疊多次。為了解決重復建議的問題,對生成的候選框采用非極大值抑制法[13](non-maximum suppression,NMS)。NMS算法生成按照概率值排序的建議列表,若概率值小于0.3則判斷為背景,大于0.7判斷為前景,并對已排序的列表進行迭代,然后以目標窗口和原來標記窗口的交疊率IoU作為衡量,篩選出具有更高交疊率得分的建議框。IoU的計算公式為

(1)
式(1)中:DR(detection result)為檢測結果即最終生成的目標框;GT(ground truth)為真實值。
為了解決特征不對齊而產生的錯位問題,提出ROIAlign層。錯位問題對分類任務影響較小,但在預測像素級精度的掩模時會產生非常大的負面影響。ROIAlign層流程為:使用雙線性插值在每個ROI塊中2 個采樣位置上計算輸入特征的精確值,避免對ROI的邊界作任何量化,最后將結果聚合。每個ROI的輸出維度是i×m×m,其中m×m表示mask的大小,i表示i個類別。ROIAlign層不僅會提高檢測的精度,同時也會有利于實例分割,實現精確定位。
Mask R-CNN算法采用多任務損失函數,是分類、回歸以及掩膜預測的損失之和,可用作衡量模型檢測效果的依據,當損失函數Loss達到最低時,模型檢測效果最好,計算公式為
L=Lcls+Lbbox+Lmask
(2)
式(2)中:Lcls為分類損失;Lbbox為預測框回歸損失;Lmask為掩膜回歸損失。
對于每一個感興趣區(qū)域,掩膜分支定義i×m×m維的矩陣表示i個不同的分類對應m×m的區(qū)域。每一個像素都是用sigmod激活函數進行求相對熵,從而得到平均相對熵誤差Lmask。
損失函數允許網絡為每種類別生成掩膜而不用與其他類別之間相競爭,可以將掩膜和類別的預測分開進行。
將Mask R-CNN算法應用到電力場景監(jiān)控視頻下目標檢測中,直接使用Mask R-CNN模型出現如下問題:①原始模型采用COCO數據集訓練,無法滿足電力施工場景安全帽佩戴情況和行人入侵檢測需求;②遠近不同場景中目標尺寸差異較大,存在無法檢測遠處場景小目標的情況;③低質量監(jiān)控視頻漏檢問題嚴重。重點針對以上問題展開研究,建立適應電力施工場景的改進Mask R-CNN模型目標檢測模型。
深度學習需要海量數據樣本訓練,把信息轉換成相應的權重。遷移學習策略是將權重提取出來遷移到其他的神經網絡中,在預訓練模型基礎之上,以隨機生成的權重為起點,利用該層次的輸出作為輸入特征來訓練參數較少、規(guī)模更小的神經網絡,這樣可以大大減少標注樣本工作量,同時可以解決Mask R-CNN模型掩膜覆蓋不準確問題。

圖4 遷移訓練過程Fig.4 Process of transfer training
遷移學習要求預訓練模型與目標模型的網絡結構一致,如圖4所示。由于數據集小,數據相似度高(電力數據集PHData中類別Person(人)、Helmet(完全帽)相似于COCO預訓練模型中person、hat(帽子)),遷移權重對網絡參數進行初始化后,采用微調的方式進行權重訓練。微調時進行反向傳播算法,對所有層權重進行調整[14],可以使預訓練模型更好地擬合目標模型的需求。
在對施工現場安全帽佩戴情況檢測時,由于需要檢測出安全帽、人員等多個目標,施工現場監(jiān)測目標尺寸差異較大,遠近場景小目標總是存在的[4]。原始Mask R-CNN訓練RPN層使用固定錨點,每個滑動窗口產生不同尺度和不同長寬比的候選區(qū)域,網絡默認設置參數對區(qū)域較小的目標無法召回。
采用多尺度變換策略,相同尺度RPN網絡在特征金字塔生成的特征圖(P2,P3,P4,P5,P6)基礎上進行卷積生成帶有置信度的目標框,在訓練RPN網絡時對錨點尺寸大小進行調整,便于網絡學習目標各種尺寸的特征,達到多尺度變換效果。低層的特征語義信息比較少,但是目標位置準確;高層的特征語義信息比較豐富,目標位置比較粗略。因此將RPN網絡默認錨點尺寸(32,64,128,256,512)按照(1∶1,1∶2,1∶0.5,1∶0.25)4組參數做縮放處理,在此基礎上設置多組縱橫比實驗,達到最優(yōu)模型。
如圖5所示,特征圖送入RoiAlign層通過池化變?yōu)楣潭ù笮。乖瓐D像素和特征圖像素是完全對齊最終合成掩膜。對于多個錨點互相重疊,采用NMS算法保留擁有最高前景分數的錨點,與掩膜結合生成最終的結果。通過實驗證明,使用多尺度變換策略能夠讓參與訓練的目標大小分布更加均衡,最終獲得的改進模型更具一定的魯棒性。

圖5 Mask R-CNN檢測過程演示Fig.5 Demonstration of Mask R-CNN detection process
當采集視頻像素過低、場景較遠時,圖像會過于模糊造成漏檢。圖像邊緣是灰度發(fā)生跳變的區(qū)域,拉普拉斯銳化處理可提高邊緣像素的灰度值差異性,增強圖像邊緣,使模糊的圖像變得清晰,顏色鮮明突出,以便于模型更好地提取目標特征。
應用四鄰接拉普拉斯算子確定邊緣的位置。拉普拉斯算子是一種常見的二階導數算子,可以增強圖像中灰度值的不連續(xù)性,減少灰度區(qū)域的逐漸變化[15]。在連續(xù)二維的情況下,原始圖像像素點的拉普拉斯掩膜重心系數為
(3)
式(3)中:f1=f(x+1,y)+f(x-1,y);f2=f(x,y+1)+f(x,y-1)。
四鄰域矩陣的模板[16]如圖6所示。

圖6 拉普拉斯算子Fig.6 Laplace operator
四鄰接矩陣遍歷輸入圖像中的像素點,算出的值替換原處的像素值,以此作為卷積核構建拉普拉斯銳化層處理輸入原始圖像。當鄰域中心像素灰度低于它所在的領域內其他像素的平均灰度時,此中心像素的灰度應被進一步降低,反之則灰度進一步提高。在保留圖像原始信息的情況下,拉普拉斯銳化處理增強灰度突變邊緣的對比度,應用于監(jiān)控視頻中,可以突出目標輪廓,使模糊的圖像變得清晰,更容易檢測。
模型建立工作過程分為預處理階段、模型訓練階段和檢測目標階段3個部分。其流程如圖7所示。

圖7 模型訓練和測試流程Fig.7 Model training and testing process
收集電力施工現場圖片,進行分割、旋轉90°、鏡像、平移等數據增強處理,建立電力施工場景訓練數據集和測試數據集。
首先構建完整的特征提取網絡,將訓練數據集輸入ResNet+FPN網絡構架。接著利用遷移學習方式在COCO數據集已訓練好的預訓練模型基礎之上進行模型訓練,使用隨機生成的權重作為訓練的起點,解決標注掩膜覆蓋不準確問題。最終計算損失函數Loss,將Mask R-CNN模型進行調參后重復訓練,直到獲得最小損失函數,此時模型檢測效果最好。
調取測試數據集送入優(yōu)化后的模型進行目標檢測實驗,得到圖像中檢測目標包含的信息:預測框、目標所屬類別以及掩膜。
視頻檢測在靜態(tài)圖像檢測工作上展開,流程如圖8所示。獲取電力施工現場視頻流,將其轉換成圖像幀,若像素過低對其進行銳化操作。針對危險區(qū)域行人入侵目標檢測任務,當輸入圖像幀檢測到行人時發(fā)出警報提醒行人及時撤離危險區(qū)域;針對安全生產區(qū)域內安全帽佩戴目標檢測任務,當工作人員要進入防護區(qū)域進行工作時,若未佩戴安全帽則輸出報警信息,通知后臺監(jiān)控人員。

圖8 監(jiān)控視頻下檢測流程Fig.8 Detection flow under monitoring video
安全帽佩戴檢測模型涉及多部件檢測問題,比單目標行人檢測模型更為復雜,需根據檢測結果做后續(xù)處理判斷安全帽和工作人員位置關系。引入歸一化參數η作為判斷安全帽與工作人員是否重疊的依據[4],計算公式為

(4)
式(4)中:Hacreage是安全帽預測框區(qū)域;Pacreage是檢測出的工作人員區(qū)域。當參數η不為零則表示佩戴安全帽,可以正常施工;當參數η為零表示安全帽與工人未有重疊,發(fā)出提示告知工作人員。
由于目前階段并未公開關于安全帽檢測實驗的公共數據集資源,而基于卷積神經網絡的模型訓練依賴大量樣本。為彌補訓練樣本數量的不足,人工采集施工現場圖片,加入多段變電站視頻,利用多媒體視頻處理工具FFmpeg從視頻中獲取圖像幀,分幀操作其主體為select函數作過濾語句,遍歷輸入視頻獲取固定時間間隔的圖片。
在多媒體處理中,FFmpeg提供多種內置濾鏡,可以用復雜命令將這些濾鏡組合使用,將解碼后的幀從一個濾鏡引向另一個濾鏡。這樣處理減少了解碼和編碼操作,總體訓練圖片質量不會降低,防止數據損傷問題。
將樣本進行預處理操作,最終PHDate訓練數據集擴充為5 000 張,測試數據集為1 000 張,如圖9所示。
使用深度學習圖像標注工具VIA(VGG image annotator)標注圖片分為安全帽Helmet,人員Person兩類,如圖10所示。采用多邊形格式標注目標數據集,相對于矩形框標注得到掩膜效果更好。
4.2.1 模型建立實驗
Mask R-CNN原模型使用的COCO數據集約有80 000 張圖片,81個類別,而電力場景PHDate數據集包含5 000 張圖片,兩種類別,相對于COCO數據集,PHDate背景較為簡潔單一。在特征提取階段,考慮到不同網絡對實驗結果的影響較大,選取ResNet50+FPN和ResNet101+FPN特征提取網絡進行實驗,網絡結構參數如表1所示。

圖9 PHDate數據集樣本Fig.9 PHDate dataset sample

圖10 標注圖片數據Fig.10 Label image data

表1 ResNet網絡參數配置Table 1 ResNet network parameter configuration
訓練模型過程兩種網絡收斂曲線如圖11所示,最終迭代次數為300×103次,曲線平滑度設置為0.6,ResNet50+FPN殘差提取網絡的最終損失率為7.654%,ResNet101+FPN為6.147%,隨著網絡層數增多,目標檢測計算量越大,ResNet50結構更為輕巧簡單,占用GPU內存更少,訓練時間更短,所以選用ResNet50+FPN為基準網絡結構。

圖11 不同網絡損失率與迭代次數關系Fig.11 The relationship between different network loss rates and iterations
采用COCO預訓練模型加速收斂,在ResNet50+FPN結構中導入預訓練模型的權值參數從而初始化網絡,使用PHDate數據集進行微調,調參過程中權重衰減系數設為0.000 1,學習率為0.001,學習沖量為0.9。
使用交互式筆記本(jupyter notebook)對模型卷積層提取特征效果進行可視化分析,C1~C4四個階段以及掩膜Mask生成權重分布如圖12所示。初始化權重為小的隨機數,每一層輸出整體滿足均值為0的高斯分布,這樣可以將權重衰減到更小的值,在一定程度上減少模型過擬合的問題。

圖12 權重可視化結果Fig.12 Weight visualization results
階段(C1,C2,C3,C4,C5)以及特征金字塔(P2,P3,P4,P5,P6)生成的特征圖層如圖13所示。在C2階段提取特征最為清晰,隨著網絡層數增加,ResNet網絡提取特征逐漸流失,對小目標的提取不夠精確,信息丟失嚴重。圖13(b)為P2~P6隨機生成的特征,加入特征金字塔后,融合C2~C5提取到的特征,生成不同層次的多尺度特征圖,將低分辨率、高語義信息的高層特征和高分辨率、低語義信息的低層特征進行自上而下的側邊連接,使得所有尺度下的特征都有豐富的語義信息,越到高層區(qū)分前景背景能力越強,特征金字塔網絡在一定程度上挽回丟失的信息。

圖13 各階段生成特征圖層示例Fig.13 Examples of generating feature layers in each stage
4.2.2 多尺度變換實驗
為了評估算法檢測目標的有效性,采用多目標平均準確率(mean average precision,mAP)指標來衡量模型的檢測性能。RPN網絡訓練階段對其尺度及縱橫比做調整,完成多尺度變換。參數設定如表2所示。
在相同的環(huán)境下對原始Mask R-CNN模型和已經更改錨點尺度后獲得的3組模型在測試集上進行目標檢測實驗(表3),可看出錨點尺寸縮小一半情況下,即尺寸大小為(16,32,64,128,256)檢測效果最為理想。
獲得最佳尺寸后,調整錨點縱橫比,設置4組數據進行實驗,結果如表4所示。
將結果與文獻[2]、文獻[4]實驗結果進行對比,結果如表5所示。

表2 RPN網絡參數Table 2 RPN network parameter

表3 尺度變換實驗對比Table 3 Experimental comparison of anchor scale transformation

表4 縱橫比實驗對比Table 4 Experimental comparison of aspect ratio

表5 實驗結果對比Table 5 Comparison of experimental results
目標區(qū)域分類置信度代表模型測量的質量,由實驗結果可知,改進算法在保證置信度情況下,多目標平均準確率可以達到最高,檢測圖片效果如圖14所示。

圖14 檢測圖片示例Fig.14 Example of detecting a picture
4.2.3 拉普拉斯銳化處理實驗
Mask R-CNN檢測算法實現粗糙的框級實例分類到精確像素級分類,測試階段設置置信度閾值為0.9,即目標置信度大于90%才可輸出檢測結果。
實驗過程中發(fā)現由于監(jiān)控視頻質量低、距離過遠,導致目標邊緣模糊,造成漏檢。選取分辨率為203×257像素,目標占比2.48%的低質量監(jiān)控視頻為檢測依據,在視頻檢測前加入拉普拉斯卷積模塊進行銳化處理操作,實驗效果如圖15所示。圖15(c)與原始樣本相比對比度清晰,銳化效果明顯。將圖15(c)送入Mask R-CNN模型后得到圖15(d),相對于結果顯示拉普拉斯銳化處理可提高目標的置信度,使其達到90%以上。為了更好地說明銳化處理的有效性,統(tǒng)計視頻檢測精準率P,計算公式為
P=TP/(TP+FP)
(5)
式(5)中:TP表示被分類器正確分類的正例數據;FP表示被錯誤地標記為正例的負例數據。對實驗結果進行統(tǒng)計分析,經過銳化處理后精準率為90.9%,提高了9.1%。

圖15 銳化模型效果對比Fig.15 Comparison of the effects in sharpening model
針對電力施工現場安全帽佩戴問題以及危險區(qū)域行人入侵檢測問題,提出了一種基于Mask R-CNN模型的目標檢測方法。通過遷移學習策略訓練數據集獲取電力場景檢測模型,并采用多尺度變換方法優(yōu)化系統(tǒng),解決小目標錯檢和漏檢問題,使多目標平均準確率提升到95.22%。結合拉普拉斯算法做銳化預處理,使模型在低質量監(jiān)控視頻下的精準度提升了9.1%。本文方法部署快捷、操作簡單,可以擴展到其他應用場景中。在未來的工作中,將把工作重點放在解決模型壓縮的問題上,以適應處理空間受限的嵌入式環(huán)境。