陳 婷, 周 旻, 韓 勤, 張 湘, 茅耀斌
1(南京理工大學 自動化學院, 南京 210094)
2(浙江華云信息科技有限公司, 杭州 310030)
變電站中各類設備的可靠運行是變電站安全生產的重要基礎. 由于變電設備大多處于露天環(huán)境, 可能出現(xiàn)呼吸器破損、硅膠變色、表盤模糊等缺陷以及存在異物、鳥巢等異常, 若未及時發(fā)現(xiàn)此類問題, 可能造成不同等級的電力事故[1]. 因此, 變電設備的定期巡檢是變電站安全運作的重要保障. 然而, 傳統(tǒng)的人工巡檢難以做到對變電站安全隱患、設備缺陷的及時、全面發(fā)現(xiàn), 導致其無法為變電站的可靠運轉提供安全保障. 近年來, 圖像視頻處理以及計算機視覺技術的發(fā)展極大地提高了變電站巡檢質量和效率. 通過巡檢機器人或無人機拍攝現(xiàn)場設備, 技術人員可利用相關技術直接對獲取的圖片或視頻信息進行批量檢測. 因此, 基于圖像處理的缺陷檢測方法研究, 對實現(xiàn)變電站設備的全面診斷、檢查, 以及進一步提升巡檢工作開展的效率和質量具有重要意義. 如何提升設備缺陷檢測性能, 為智能化巡檢提供更先進的技術支撐, 成為現(xiàn)階段電力領域的研究重點.
傳統(tǒng)的圖像識別方法大多依賴于手工設計的特征,如尺度不變特征、梯度直方圖特征等, 根據(jù)特征點間的匹配情況鎖定對象位置, 實現(xiàn)目標檢測. 對于變電站場景, Cerón 等[2]根據(jù)圓對稱幾何關系, 利用Canny 算子對輸電線路進行檢測. Pernebayeva 等[3]使用滑窗提取絕緣子特征, 利用支持向量機進行分類, 實現(xiàn)絕緣子表面冰雪覆蓋檢測. 侯一民等[4]利用改進SIFT 方法提取設備特征, 實現(xiàn)變壓器、刀閘定位. 然而, 傳統(tǒng)方法存在大量漏檢、錯檢情況, 泛化能力較弱. 隨著深度學習的迅猛發(fā)展, 使用卷積神經網(wǎng)絡提取特征的方式逐漸取代手工特征設計. 李文璞等[5]使用Faster R-CNN[6]實現(xiàn)了對變電設備紅外圖像的缺陷檢測. 尹子會等[7]基于改進的Faster R-CNN 實現(xiàn)了變電站設備4 類常見缺陷的檢測與識別. 但Faster R-CNN 屬于兩階段目標檢測, 模型尺寸較大, 檢測速度較慢. YOLO 系列[8,9]將目標檢測問題作為回歸問題, 在產生候選區(qū)域的同時完成分類和定位, 推理速度較快. 田二勝等[10]提出基于YOLOv4 的輸電線路外破隱患識別算法, 對吊車、塔吊等施工機械進行檢測.
YOLOv4 是一種優(yōu)秀的目標檢測算法, 可用于變電站異物和設備缺陷檢測. 然而, 鳥巢、表盤模糊、呼吸器破損等缺陷檢測任務存在以下難點: 一方面, 變電站背景信息復雜, 不同類別之間的特征差距較大, 同一類別部件的破損或模糊種類較多、形狀多樣, 尤其樣本數(shù)量有限且樣本存在類別不均衡問題, 難以提取到豐富的特征以應對不同的物體; 另一方面, 由于拍攝角度多變, 同一類目標的尺度變化較大, 也帶來檢測困難.原YOLOv4 在解決這些問題上還不夠強大, 因此, 本文從提高特征提取能力和增加感受野兩點上對原始YOLOv4 進行改進: 1) 為解決背景復雜、特征差距大、形狀多樣且樣本數(shù)量有限問題, 本文在主干網(wǎng)絡中引入優(yōu)化的CBAM[11]注意力機制, 更準確地聚合物體特征; 2)為解決拍攝角度多、尺度變化大問題, 在PAN[12]的上、下采樣模塊使用空洞卷積增大感受野,獲取更廣泛的特征表示, 同時減少采樣模塊造成的特征損失. 實驗結果證明了兩項改進的有效性, 表明改進后的YOLOv4 能夠更好地實現(xiàn)變電站鳥巢、表盤模糊、呼吸器硅膠變色以及呼吸器硅膠筒破損4 類缺陷的檢測任務.
YOLOv4 作為YOLO 系列的第4 代檢測模型, 其基本思想是將整張圖像作為網(wǎng)絡輸入, 直接在輸出層回歸邊界框的位置及其所屬類別. YOLOv4 的網(wǎng)絡結構如圖1 所示, 圖的左半部分為網(wǎng)絡主體結構, 其中CBM、CBL、CSP、SPP、上采樣和下采樣的詳細結構由圖1 右邊的子模塊部分具體描述. 由圖1 可知,YOLOv4 網(wǎng)絡主要包含以下3 部分: 用于提取特征的全卷積主干網(wǎng)絡CSPDarknet53、用于特征融合的SPP[13]和PAN 模塊以及3 個檢測頭Head.
圖1 YOLOv4 網(wǎng)絡結構
主干部分由5 個CSP[14]模塊組成, 每個模塊的第一個卷積核步長stride 設置為2, 根據(jù)式(1), 當卷積核尺寸Fsize為3, padding 為1 時, 若步長S為2, 則特征圖的輸出寬高尺寸將縮小為輸入的一半. 因此, 特征圖在整個主干網(wǎng)絡中將經歷5 次縮小, 當輸入為416×416時, 主干最后3 層的特征圖大小分別為52×52、26×26、13×13.
對主干網(wǎng)絡獲取的3 個不同尺度的特征映射,YOLOv4 進一步使用SPP 和PAN 做特征融合. 其中,PAN 是主干層到檢測層的重要紐帶, 它首先進行深層到淺層的上采樣和特征拼接, 傳達強語義特征, 隨后進行淺層到深層的下采樣和特征拼接, 傳達強定位特征,兩者結合, 實現(xiàn)有效特征聚合.
特征融合輸出的3 個特征層分別送往3 個檢測頭Head 進行預測, 每層分配3 個不同尺寸的先驗框. 假設當前特征層的寬高為a, 則當前層將被劃分為a×a個網(wǎng)格, 每個網(wǎng)格按照3 個先驗框尺寸進行預測, 則一共有a×a×3個預測框. 每個預測框需要預測的內容有:當前框的中心點坐標和寬高(x,y,w,h)、當前框的置信度Pconf以及當前框c個類別的概率. 因此, 當前層的輸出尺寸為a×a×3×(c+5). 合并3 個檢測頭的預測結果后, 利用設定的置信度閾值以及DIoU-NMS[15]非極大值抑制, 去除錯誤、冗余預測框, 獲得最終檢測目標.
在變電站環(huán)境中對設備進行缺陷檢測時, 由于背景干擾信息較多, 且缺陷或異物的形狀、顏色等復雜多變, 尤其在實際電力應用中, 缺陷樣本的數(shù)量非常有限, 直接使用YOLOv4 難以提取足夠的特征應對多樣化、多尺度目標, 可能出現(xiàn)較多誤檢、漏檢情況. 為進一步獲取更豐富的多樣化特征, 提高檢測精度, 本文從主干網(wǎng)絡和特征融合兩方面對YOLOv4 進行改進, 然后基于改進的YOLOv4 算法實現(xiàn)對鳥巢、表盤模糊、呼吸器硅膠變色以及呼吸器硅膠筒破損4 類缺陷的檢測識別. 改進后的YOLOv4 網(wǎng)絡結構如圖2 所示, 其中粉色部分為改進模型增加的模塊, 相比圖1, 主要增加了CBAM 模塊以及優(yōu)化了上采樣、下采樣結構. 根據(jù)圖2, 改進后的YOLOv4 首先使用嵌入CBAM 注意力的全卷積網(wǎng)絡提取輸入圖像特征, CBAM 依據(jù)人為引入的先驗知識主動關注重要信息, 有益于關鍵特征的提取; 隨后對3 個尺度的特征圖采用PAN 進行信息融合, 其中尺度的擴大縮小涉及采樣模塊, 采樣模塊使用空洞卷積, 使感受野在原有基礎上進一步擴大, 更好地包含不同形狀、尺度的目標對象, 同時采樣模塊融合了更廣范圍的特征, 可降低采樣帶來的特征損失與數(shù)據(jù)破壞; 最后利用融合輸出的3 個特征層實現(xiàn)目標預測.
圖2 YOLOv4 改進算法網(wǎng)絡結構(粉色部分為改進算法增加的模塊)
卷積注意力模塊(convolutional block attention module, CBAM)是一種輕量、通用的注意力機制, 相較于主流的SE (squeeze-and-excitation)[16]方法,CBAM 在其通道注意力的基礎上疊加了空間注意力,其中通道注意力關注輸入的語義信息, 空間注意力關注位置信息, 二者結合可以獲得更好的特征表示. 原始YOLOv4 在特征融合部分使用了SAM 注意力, CBAM相較于SAM 雖然實現(xiàn)原理上稍微復雜, 但通過引入平均池化和最大池化兩種先驗特征, 模型表達更為高效,將其應用于主干網(wǎng)絡, 可在一定程度上提升網(wǎng)絡性能.
給定卷積神經網(wǎng)絡生成的特征映射F∈RC×H×W,CBAM 從通道和空間兩個維度上計算注意力, 計算過程如圖3 所示. 首先, 為高效計算通道注意力, 使用最大池化和平均池化對空間維度進行壓縮, 生成兩個一維向量描述通道重要性, 將兩個一維向量送入由MLP 組成的共享網(wǎng)絡后按元素相加獲得通道注意力MC∈RC×1×1,將該注意力與輸入特征按元素相乘, 獲得初步調整的特征圖F′; 其次, 在通道維度上對F′做最大池化和平均池化, 得到兩個不同的二維特征描述, 將兩個二維特征合并后再執(zhí)行卷積和激活生成空間注意力MS∈R1×W×H,將空間注意力與F′按元素相乘得到最終輸出F′′. 整個過程的數(shù)學描述如下所示:
圖3 CBAM 通道注意力與空間注意力計算示意圖
其中,MC與MS首先要進行廣播以匹配維度, 符號? 表示逐元素相乘.
觀察通道注意力模塊可以發(fā)現(xiàn), 對于初步提取的最大值池化特征和均值池化特征, CBAM 采用全連接層分別對二者做通道特征聚合. 考慮到全連接層的參數(shù)量較大, 且由于相鄰通道間往往相關性更大, 使用全連接會產生較多冗余計算, 因此, 本文采用一維卷積代替全連接[17]. 一維卷積只在寬或高單個方向上進行滑窗操作并相乘求和, 由于同一個窗口內是權值共享的,因此能有效降低參數(shù)量與計算量, 輕松實現(xiàn)跨通道的信息交互與整合. 通過改變卷積核的數(shù)量, 可以實現(xiàn)降維和升維, 本文將通道數(shù)先縮小為原來的1/8, 隨后升至初始維度. 兩個池化特征經過兩次卷積后按元素相加, 最后通過Sigmoid 函數(shù)生成通道注意力.
對于YOLOv4 的特征提取主干網(wǎng)絡, 本文在其每個CSP 模塊后引入優(yōu)化后的CBAM 注意力模塊, 如圖2 的主干部分所示, 對每個CSP 的輸出特征層先后進行通道和空間兩個維度上的加權處理, 使網(wǎng)絡更關注重要的有效信息而抑制無效信息, 提高檢測性能.
特征融合是對不同尺度的特征映射在上采樣和下采樣的過程中進行信息交互, 實現(xiàn)淺層網(wǎng)絡的語義信息學習和深層網(wǎng)絡的定位信息學習, 然而在一系列上采樣和下采樣過程中, 信息的傳遞不可避免地存在損失. 具體來說, 上采樣是通過插值的方式將特征映射的尺寸擴大, 插值會導致一些小目標的數(shù)據(jù)被破壞, 無法重建回原始空間信息; 下采樣是通過將步長stride 設為2 使特征映射的尺寸減小, 等價于做特征壓縮, 這一過程會導致內部數(shù)據(jù)結構和空間層級化信息丟失. 另外, 由于部件本身以及拍攝角度的原因, 目標對象的尺度和形狀差異較大, 需要包含更廣的尺度以融入更多、更豐富的特征. 為改善以上問題, 本文使用空洞卷積代替普通卷積來增大感受野, 所得更廣尺度的特征與原始尺度特征進行融合, 層次化信息更豐富, 在采樣時, 能夠保留更多信息, 減少特征丟失.
空洞卷積又稱擴張卷積, 相比于標準卷積, 增加了一個擴張率參數(shù), 用來表示卷積核各數(shù)據(jù)間的間隔數(shù)量. 圖4 展示了兩種不同擴張率的卷積, 其中, 圖4(a)表示3×3 且擴張率為1 的卷積核, 等價于標準卷積; 圖4(b)表示3×3 且擴張率為2 的空洞卷積, 在執(zhí)行卷積運算前, 空洞處先進行補零操作, 形式上類似于5×5 卷積.可見, 一個擴張率為2 的3×3 空洞卷積, 感受野等價于一個5×5 的標準卷積, 而參數(shù)只需要9 個. 表明在相同計算條件下, 空洞卷積可以提供更大的感受野. 考慮到空洞卷積本身的實現(xiàn)效率低于普通卷積, 因此僅在關鍵的、易造成特征丟失的上采樣、下采樣模塊中引入空洞卷積, 如圖2 中PAN 的采樣部分所示, 采用空洞卷積有效增大感受野, 融合更廣尺度的特征, 從而更好地保留圖像空間特征, 減少信息損失和數(shù)據(jù)破壞.
圖4 標準卷積與空洞卷積示意圖
通過變電站現(xiàn)場拍攝和網(wǎng)絡抓取兩種方式, 本文獲取了包含表盤模糊、呼吸器硅膠變色、呼吸器破損和鳥巢4 種缺陷的6571 張圖片, 其中70%數(shù)據(jù)為現(xiàn)場采集圖片. 各類樣本圖像分布為: 表盤模糊2259 張,硅膠變色1549 張, 呼吸器破損405 張, 鳥巢2358 張.該數(shù)據(jù)集涵蓋了不同天氣狀況、光照強度下的圖片,且圖片中同時包含了一定數(shù)量的清晰表盤和正常呼吸器設備作為負樣本. 選用LabelImg 工具標注圖片, 生成相應標簽集. 然后將整個數(shù)據(jù)集按5:1 隨機分為訓練集和測試集, 其中訓練集再以10%的比例隨機劃分出驗證集. 在訓練前期, 將使用Mosaic 數(shù)據(jù)增強方法對訓練集進一步擴充.
本文采用查準率P、查全率R、精度AP 以及各類的平均精度mAP 作為性能評價指標. 查準率與查全率的計算方法如下:
其中,TP表示實際為某類正樣本, 預測為該類別且預測框與真實框IoU 大于0.5 的框的數(shù)量;FP表示預測類別錯誤或IoU 小于0.5 的情況;FN表示實際為負樣本但預測出正樣本的情況. 根據(jù)以上3 項即可求出查準率P和查全率R. 對不同置信度閾值求取不同的P、R組合, 即可得到P-R曲線, 該曲線與坐標軸圍成的面積表示為AP, 用來衡量某個類別的檢測精度,AP 越大, 精度越高. 對每類AP 求平均值, 得到各類的平均檢測精度mAP, 衡量模型整體檢測精度.
另外, 采用每秒處理幀數(shù)(frames per second, FPS)來描述模型的推理速度, 其大小等于模型檢測時間的倒數(shù).
基于改進YOLOv4 算法的變電站缺陷檢測實驗均在同一實驗環(huán)境下完成. 實驗平臺為Ubuntu 18.04.5 操作系統(tǒng), 顯卡為NVIDIA GeForce RTX 3090, 運行內存為24 GB. 深度學習軟件環(huán)境為CUDA 11.1、Python 3.7.10、PyTorch 1.8.1.
本文設定網(wǎng)絡的輸入大小為416×416, 訓練時首先加載YOLOv4 在COCO 數(shù)據(jù)集上的預訓練模型作為特征提取器, 當前網(wǎng)絡的主干層先凍結, 僅訓練剩余層的參數(shù), 迭代50 輪后解凍主干層, 訓練全局網(wǎng)絡參數(shù).前50 輪訓練中, 初始學習率設置為0.001, 解凍后再次訓練50 輪, 學習率設置為0.0001, 均選擇Adam 優(yōu)化器對參數(shù)進行優(yōu)化, 批次大小設為64.
(1)基于改進YOLOv4 的缺陷檢測結果與分析
將基于改進YOLOv4 算法訓練所得模型對缺陷進行檢測, 典型檢測結果如圖5 所示. 進一步將模型在測試集上進行性能評估, 結果如表1 所示, 各類別中, 表盤模糊的查準率最高, 為96.43%, 呼吸器變色的查全率最高, 為97.06%, 該類別精度也達到了最高的98.42%,模型整體的平均精度為86.97%. 同時由表1 可知, 呼吸器破損的查準率較低, 主要原因是該類別的數(shù)據(jù)量相對不足, 對于各種破損情況, 無法精確識別; 鳥巢的查全率最低, 這與鳥巢處于高空、大小不一、存在遮擋等因素有重要關聯(lián). 根據(jù)結果分析可以發(fā)現(xiàn), 對于表盤模糊、呼吸器變色兩類缺陷, 由于目標的基本形狀較為統(tǒng)一, 主要通過區(qū)分顏色和紋理特征判斷是否存在缺陷, 因此精度較高; 而鳥巢和呼吸器硅膠筒破損,會出現(xiàn)結構殘缺的情況, 目標形狀復雜多變, 因而檢測難度較大, 精度相對較低.
表1 改進YOLOv4 算法性能評估(%)
圖5 缺陷檢測效果圖
(2)消融實驗
對比本文算法、初始YOLOv4 以及單獨應用第2.1 節(jié)、第2.2 節(jié)改進方法在測試集上的性能, 其結果如表2 所示. 從表中可知, 單獨應用CBAM 注意力對各類別的精度以及平均精度均有一定提升, 證明了網(wǎng)絡特征提取能力的加強能夠有效提升模型精度; 使用空洞卷積除了鳥巢精度沒有提升外, 其余指標尤其是mAP均都得到優(yōu)化, 證明擴大感受野對模型性能提升有一定的幫助. 同時運用兩種優(yōu)化方法時, 最終的mAP 達到了86.97%, 相比原始YOLOv4 提升了2.78%, 表明了兩項優(yōu)化結合的有效性. 盡管鳥巢AP 略有降低, 但模型更加關注數(shù)據(jù)量較少的呼吸器破損類別, 并將其AP 提升了7.77%, 極大地彌補了樣本量不足的弊端,同時這也對模型整體性能優(yōu)化發(fā)揮了重要作用.
表2 消融實驗性能對照(%)
(3)不同模型輸入尺寸性能對比
為進一步探索模型輸入尺寸對性能的影響, 本文將模型的輸入尺寸擴大到608×608, 然后將其與416×416 的模型做性能對比, 結果如表3 所示. 可以看出, 增大模型輸入尺寸對鳥巢的檢測精度有了較大提升, 模型mAP 也因此而提高到87.61%; 然而, 基于GPU 的推理速度從57.9 fps 降至39.3 fps, 減少了32%, 這是由于增大輸入尺寸, 模型的計算量也隨之增加, 對推理平臺的算力要求也更高. 因此, 當模型的應用場景對實時性或推理時間要求較高時, 適合采用416×416 的輸入;相反, 若對模型精度要求更高, 且設備算力允許時, 可增大輸入尺寸.
表3 不同模型輸入尺寸性能對照
本文為提高變電站缺陷檢測精度, 提出基于改進YOLOv4 的變電站缺陷檢測算法, 首先, 利用優(yōu)化的CBAM 注意力提升主干網(wǎng)絡的特征提取能力; 其次, 將空洞卷積應用于特征融合層中的上采樣與下采樣中,通過增大感受野獲得較全的語義信息; 最后, 將改進算法在四類缺陷樣本集上進行測試, 4 類缺陷的mAP 達到86.97%, 相較于原始YOLOv4 提升了2.78%, 證明了算法的優(yōu)越性.
實驗結果表明, 改進的YOLOv4 在缺陷樣本數(shù)量有限、類別數(shù)量不平衡且目標形狀和尺度多變的條件下, 提升了變電站設備缺陷檢測性能, 為變電站運維智能化提供了有效手段, 具有一定的實際應用價值. 后繼工作將進一步對所改進的網(wǎng)絡進行壓縮和約簡, 在保證精度的同時降低參數(shù)量與計算量, 提高推理速度, 實現(xiàn)實時檢測.