孔晨華,賀洲強,陳 釗,楊 康,吳儉民
(1.國網甘肅省電力公司蘭州供電公司,甘肅 蘭州 730070;2.國網甘肅省電力公司,甘肅蘭州 730030)
在電網巡檢過程中,需人工確認故障發生的位置并進行維修。但發生故障的野外通常處于強電、潮濕、山區等安全保護措施較差的環境,故維修人員的基礎保護設備有安全帽、安全帶與靜電衣等。傳統的安全帽檢測僅依靠人工監督,但電網野外巡檢施工作業的面積較大,固定攝像監控難以全面覆蓋,因而無法及時監控工人施工安全措施是否達標[1]。基于無人機的電網巡檢監控技術是未來的主要工程應用平臺,因此研究一種體量小、速度快且精度高的復雜環境安全帽自動識別算法,對保證巡檢人員的人身安全、降低作業過程中安全事故的發生具有重要意義。
安全帽檢測算法屬于目標檢測范疇,其主要通過對圖像中所構建的特征加以學習與重構,進而對安全帽進行準確識別。傳統的目標檢測算法使用人工對安全帽特征進行篩選,并將篩選過后的數據進行訓練。此種方法主觀性較強,且無法應用到實際工程中。而當前使用的深度學習方法(Deep Learning,DL)依靠卷積神經網絡(Convolutional Neural Networks,CNN)對圖像特征進行學習與重構,故檢測準確度得到提升,并脫離了人工特征提取的方法。依據卷積神經網絡基礎算法,還延伸出了多種算法:例如文獻[2]中的SSD 算法,其使用了多尺度特征重構,可有效檢測目標群安全帽的佩戴情況;文獻[3]所采用的區域卷積神經網絡,不僅可擴大檢測范圍,還簡化了算法。但上述算法對計算機的要求均較高,且無法實現端對端的算法應用需求。因此,該文使用YOLOv4檢測網絡,設計了一種輕量化、運算速度快的端到端安全帽識別算法。
YOLOv4 網絡[4-7]算法的基本思路是首先將輸入圖像進行標準化分割,得到分辨率為S×S的若干個圖像;同時每個圖像均會生成N個邊界框;然后確定被檢測目標所在的圖像區塊,并計算邊界框的置信度。該算法使用多種尺度的特征圖進行預測,將不同尺度的特征圖分割成為不同數量的單元格,而每個單元格均可對三個邊界框進行預測。邊界框使用(x,y)、w、h、c這幾個參數來表示,(x,y)表示目標中心點相較于圖像左上原點的偏移坐標,w和h為圖像的寬度與高度,c為圖像的通道數,而邊界置信度可表示為:
式中,Conj 為置信度,P表示目標中心是否在預選框中的狀態,在為1,不在則為0。S為預選框及真值框的面積重合大小,Bt表示真值框,Bp表示預選框。
如圖1 所示,圖像經過分割后輸入網絡,首先經過CSPDarknet53 特征提取網絡,并得到多個尺度的特征圖。設輸入圖像的分辨率大小為512×512,則采樣得到64×64、32×32 及16×16 三個尺度的特征圖。與此同時,將16×16 尺度的特征值放入SPP 池化層中進行處理。首先進行三次卷積,之后再進入不同大小的池化層中進行處理。最終64×64、32×32 與池化處理過后的16×16 這三個圖像將進入路徑聚合層中進行融合處理。處理完成的圖像則通過YOLO head 分類器進行分類,從而輸出網絡檢測結果。

圖1 YOLOv4網絡結構
在該文應用場景中,算法更注重輕量化與實時性,因此文中對YOLOv4 網絡算法進行改進以適應移動端需求,主要從以下兩個方向入手:
1)將CSPDarknet53 主干特征識別網絡進行輕量化處理,即替換為ShuffleNETv2 網絡。
2)為解決替換后平均精確率均值(mean Average Precision,mAP)下降嚴重的問題,在路徑聚合層中加入注意力機制以提高mAP 指標,并保證算法性能。
1.2.1 改進的ShuffleNETv2網絡
ShuffleNETv2 網絡[8-9]是一種可部署在輕量化平臺的神經網絡模型,該模型通過對輸入輸出通道及卷積網絡層數的優化。ShuffleNETv2 網絡結構如圖2 所示。圖中結構為在圖像輸入后的右方通道進行卷積操作,同時原有結構中的1×1 卷積也被更換為基礎卷積操作;之后再對兩個通道進行處理,以此得到輸出結果。

圖2 ShuffleNETv2網絡結構
為滿足輕量化的要求,先對其完成進一步剪裁,改動如下:
1)兩個分支上均有Conv1×1,略顯冗余,因此去掉一個支路中的Conv1×1。
2)擴大原有通道中的卷積核。將原有的3×3 大小卷積擴增至3×3+BN,即5×5,由此便可進一步增加系統提取特征值的能力。
3)使用Mish 激活函數,該函數相較ReLU 函數能夠避免梯度上升過快的問題,從而保證信息的平穩輸入。Mish 函數表達式為:
式中,x為上一層傳入當前層的數據參數。
因此,改進后的ShuffleNETv2 網絡結構如圖3所示。

圖3 改進后的ShuffleNETv2網絡結構
1.2.2 Bi-FPN特征重構融合結構
在YOLOv4 網絡算法的架構中,特征融合層使用的PANe(tPath Aggregation Network)網絡為傳統雙向特征融合結構,而Bi-FPN 結構[10]即在傳統結構的基礎上刪除了部分中間節點,進而簡化了FPN 結構[11],具體如圖4 所示。

圖4 Bi-FPN結構
如圖4所示,每個節點均會形成特征值融合[12-14],故不同的輸入圖像數據對于特征值的影響因子也存在差異。因此,該網絡使用權重訓練層來保證不同的特征值有各自的權重。文中選擇的權重因子分配函數為快速歸一化函數f,該函數的表達式為:
式中,i、j分別表示特征圖的數量;φi、φj分別為輸入圖像的權重因子,其值在0~1 之間,λ避免了分母為0,取10×10-5。訓練完成后,通過Mish 激活函數,可保證值大于0。在多次迭代訓練之后,最終模型便可保證權重因子為最優。
1.2.3 模型系統結構
該文模型系統結構基于YOLOv4 進行了兩方面改進,分別為特征網絡模型部分和特征融合層部分[15-16]。
特征網絡模型部分使用改進的ShuffleNETv2 結構保證了模型的輕量化,使其擁有更快的處理速度,同時對ShuffleNETv2 模型的卷積核進行處理,以保證其mAP 值最優。
特征融合層則使用Bi-FPN 模型進行特征融合,該模型增加了注意力機制,并簡化了結構,保證了模型的輕量化。最終改進完成的模型如圖5 所示。

圖5 改進模型結構圖
為了對算法性能進行評估,該文使用準確率、平均準確率均值及平均幀率三項指標。準確率指的是數據預測中正樣本數量TP 與所有樣本數量(TP+FP)的比值,具體如下:
平均準確率均值也稱mAP,該指標對多個驗證數據集合的準確率均值進行平均計算,如式(6)所示:
其中,N為數據集中的數據量,NC 為數據集個數。
而平均幀率指的是算法每秒鐘處理圖片數據幀的數量,該值越大說明實時性越強。
為了對算法進行驗證,進行了實驗環境的搭建,同時使用電網工程類的開源數據集合GDUT-HWD進行數據的訓練與驗證[17-18]。該數據集為安全帽佩帶檢測數據集合,內部涵蓋了不同場景。實驗的環境數據如表1 所示。

表1 硬件環境
首先進行功能驗證,對數據集中的圖片進行識別,結果如圖6 所示。由圖可知,該文算法可將已佩戴安全帽和未佩戴安全帽的人員區分開。

圖6 識別結果
隨后進行消融實驗,為了驗證該系統算法對YOLOv4 的改進作用,在基礎YOLOv4 網絡中分別單獨添加ShuffleNETv2 網絡與Bi-FPN 模型進行驗證。該實驗分別對比了各種組合模式下的mAP、平均幀率及模型大小,結果如表2 所示。

表2 消融實驗測試結果
由表可知,YOLOv4+ShuffleNETv2 的平均幀率相較YOLOv4 有所提升,且模型容量也大幅減少,但由于精簡了部分卷積層,因此mAP 值進一步下降了。與之相比,YOLOv4+改進ShuffleNETv2 模型的mAP 值則有所上升。而在此基礎上加入了Bi-FPN后的該文算法mAP值進一步提高,同時模型大小和平均幀率均處于最優水平。原因在于改進的ShuffleNETv2 模型能夠增加平均幀率,提高算法實時性能,而Bi-FPN 模型則可適度提升算法的準確度。上述結果表明,該文所使用模型相較YOLOv4原始模型性能有所提升。
為橫向驗證算法的性能,還進行了對比算法測試。文中使用了SSD、RCNN、YOLOv3 等常見算法進行算法測試。算法最終測試結果如表3 所示。

表3 測試結果
由表3 可知,該文算法相較其他算法,在mAP 及平均幀率上的表現均為最優,說明該算法性能較好,且實時性較高,故可應用于實際工程。
面向智能電網巡檢的作業環境,該文提出了一種體量小、速度快、精度高的安全帽自動識別算法,其使用YOLOv4 目標檢測模型作為算法框架,并從主網與路徑聚合兩方面對框架進行改進,實現了算法的輕量化,以便于更好地應用在無人機/機器人等移動巡檢平臺上。實驗結果表明,所提算法識別準確率高,且平均幀率值較高,具有良好的工程應用價值。