摘要:深度學習方法在計算機視覺領域發展迅速,但依賴于海量訓練數據。輸電線路絕緣子自動識別任務中,航拍圖像數量不足、多樣性差等問題影響識別的準確性。提出人工絕緣子圖像數據擴充方法,通過3D建模創建人工絕緣子圖像,并構建導向反向補償網絡,對創建的人工圖像進行補償優化,用補償后的人工圖像擴充航拍絕緣子圖像數據集。在多個典型卷積神經網絡上進行絕緣子識別對比實驗,結果顯示,所提方法使絕緣子識別準確率平均提升2.1%,且網絡相對輕量級,驗證了所提方法的有效性和優勢。
關鍵詞:人工圖像;數據擴充;絕緣子;導向反向傳播;卷積神經網絡
王亞茹;楊凱;翟永杰;郭聰彬;趙文清 系統仿真學報2021-12-05
絕緣子是高壓輸電線路中用于電氣隔離和機械固定的基本設備[1]。絕緣子故障直接威脅著輸電線路的穩定和安全。據統計,由絕緣子缺陷引起的事故占電力系統故障的比例極高[2,3]。因此,絕緣子缺陷的及時檢測尤為重要。傳統的檢測方法是電氣維修人員攀爬電桿,對缺陷進行視覺或電氣分析,費時、費力且危險。隨著直升機和無人駕駛飛行器等空中平臺的出現,它們表現出高效率和安全性,近年來已成為電力設備檢查的重要工具[4,5]。安裝在平臺上的攝像機能夠獲得絕緣子航拍圖像。目前,絕緣子圖像識別、目標及缺陷檢測均是人工手動執行,工作強度大、易發生漏檢和錯檢,且需要專業技術人員。為了克服人工識別、檢測的局限性,需要開發智能技術輔助或替代人工決策[6-8],而絕緣子圖像識別是首要任務。近年來,深度學習算法在計算機視覺領域取得長足進展,也逐漸被應用于絕緣子的圖像識別與檢測研究[9]。然而,目前缺乏公開的絕緣子數據集;絕緣子長度、角度各異,航拍視角和視距變化很大,現場樣本采集不全面,多樣性差;不同狀況的絕緣子樣本數量差異大,樣本分布不平衡;樣本標注過程困難,因此樣本集在數量和質量上均難以滿足深度學習算法的要求[10,11],導致深度學習算法無法得到充分訓練,難以得到期望的識別準確率。數據擴充是一個能夠有效提高有限數據下模型識別能力的外部方法。主要可分為基于深度學習的數據擴充方法和基于圖像處理的數據擴充方法。基于深度學習的數據擴充方法主要有對抗攻擊[12,13]、生成式方法[14-16]、風格遷移[17-20]等。對抗攻擊采用對抗性的數據明確數據空間中的類別邊界;生成式方法以現有數據為基礎訓練生成網絡 [21],產生與現有數據類似的圖像,用以擴充訓練集;風格遷移則通過神經網絡改變圖像風格的同時保留被識別目標的特征,擴充訓練集。
基于圖像處理的數據擴充方法包含幾何變換、噪聲擾動、色彩變換、內核過濾、對比度擾動、灰度增強、圖像融合等[22-24],通過一些較為規則的映射來擴充數據集的規模,從而使得模型的泛化能力得到一定程度的提高。由谷歌大腦( Google Brain ) [25] 提出的 AutoAugment 方法能夠在策略空間中搜索出效果最優的圖像處理策略,并得到包含多個子策略的數據擴充方案,其中每個子策略由兩個基本的幾何變換組成。Tao 等[10]通過給絕緣子目標更換背景的方式產生新的絕緣子樣本圖像,對原有圖像數據集進行擴充。翟永杰等[26]基于平行視覺理論[27],初步探索了人工絕緣子圖像建模。但上述數據擴充方法均未針對具體網絡的響應及輸出情況對用于擴充的圖像進行評估,缺乏對圖像進行針對性優化的策略。因此,本文通過 3D 建模軟件創建人工絕緣子圖像數據集,并基于導向反向傳播算法設計導向反向補償網路,對人工絕緣子圖像進行補償優化,提高其質量和數據擴充的效果,進而采用補償后的人工絕緣子圖像對航拍絕緣子圖像數據集進行數據擴充,得到數量與質量更佳的訓練數據集,使得卷積神經網絡的訓練更加充分,進一步提升網絡的絕緣子識別性能。
1 導向反向傳播
導向反向傳播(Guided Backpropagation)[28] 廣泛應用于卷積神經網絡的可視化分析研究中。神經網絡可視化方法一般是通過輸出端反向估算網絡上一層的梯度,將輸入圖像對神經網絡輸出結果的影響程度可視化,可以判斷神經網絡所關注的目標特征,對神經網絡進行解釋。以 AlexNet 網絡[29]為例,在網絡的前向傳播(Forward Propagation)過程中,對輸入圖像像素矩陣進行反復的卷積、激活、規范化與池化操作,以提取圖像特征,并將得到的特征圖輸入最終的全連接層后輸出分類結果。激活層 ReLU(Rectified Linear Unit)的前向傳播公式為: 1 ( ) max( ,0) l l l i i i f relu f f ?? ? (1) 其中, l i f 為前向傳播過程中 ReLU 的輸入, l 1 i f ?為輸出特征激活響應。反向傳播(Back Propagation)與前向傳播相反,是由網絡輸出端向輸入端反推的過程,通過將梯度誤差體現到網絡參數的更新上,改變網絡參數,使得神經網絡能夠作為一個“黑盒子”完成從圖像到對應類別標簽的近似擬合。反向傳播時只回傳激活響應大于 0 的區域,計算的梯度為: 1 1 1 ( ),( 0) l l l i i i l out i l i Back f f f ???? ???? R R R (2) 其中, Back( ) 為反向傳播的回傳操作, l 1 i ? R 代表反向計算過程中第 l ?1 層的梯度,即該層輸出對該層輸入的偏導。反卷積(Deconvolution)通過將特征圖中的激活響應映射到圖像像素空間實現可視化,主要解決了三個關鍵問題:1)通過記錄索引近似地對池化操作進行逆操作;2)使用卷積核的轉置對卷積進行逆操作;3)用 ReLU 函數將激活單元的輸入輸出都保持為正的激活響應。反卷積過程將公式(2)中的回傳限制條件改為梯度大于 0,即: 1 1 ( ),( 0) l l l i i i Dec ? ? R R R ? ? (3) 其中, Dec( ) 為反卷積的回傳操作。導向反向傳播算法在公式(3)的基礎上添加限制條件,對激活響應與梯度值均大于 0 的區域進行回傳,即: 1 1 _ ( ),( 0 & 0) l l l l i i i i G back f ? ? R R R ? ? ? (4) 其中, G back _ ( ) 為導向反向傳播的回傳操作。這種限制條件可有效篩選出能夠對卷積神經網絡的輸出結果產生正向作用的圖像像素區域,最終可得到比反卷積更優的激活響應可視化效果。
2 提出的方法
基于導向反向傳播,提出的人工絕緣子圖像數據擴充方法框圖如圖 1 所示,包括人工絕緣子圖像創建、導向反向補償網絡構建和數據擴充三部分。具體介紹如下:
(1)人工絕緣子圖像創建
真實場景的絕緣子圖像來源于無人機航拍,拍攝距離和角度受輸電線路、桿塔及無人機性能的限制,因此航拍圖像數量和多樣性不充分。相比之下,人工建模的絕緣子圖像容易獲取、可控性強。美國 Autodesk 公司開發的三維建模軟件 3ds Max(3D Studio Max),主要功能是三維模型制作和渲染,廣泛應用于場景設計、特效制作、工業設計等領域。采用 3ds Max 軟件,人工絕緣子圖像創建方法如下 : 根 據 電 力 線 路 絕 緣 子 國 家 標 準 ( GB/T 1386.1-1997)對絕緣子各部件進行標準化三維建模;設定各部件的材質參數,對三維模型進行顏色和材質的渲染;配置虛擬視覺攝像機,采用光源、景深等設置增加三維模型的真實性效果,并通過改變上述設置增加絕緣子模型的多樣性;通過放縮、旋轉等操作,利用虛擬攝像機拍攝得到不同角度、不同占比的多樣性人工絕緣子圖像;采用圖像標注軟件 LabelImg 對人工絕緣子圖像進行批量標注。圖 2(a)為陶瓷絕緣子的 3D 建模圖,由此得到的人工陶瓷絕緣子圖像如圖 2(b)所示。
(2)導向反向補償網絡構建
為了強化人工絕緣子圖像中的目標區域特征,基于導向反向傳播算法構建導向反向補償網絡,對人工絕緣子圖像進行補償優化,步驟如下:
1)計算人工圖像的導向反向傳播響應強度:將人工絕緣子圖像輸入訓練好的卷積神經網絡,根據公式(4)所示的導向反向傳播算法,計算人工圖像的響應強度矩陣,記為 R ,其中各元素為響應強度值。以 AlexNet 網絡為例,將如圖 3(a)所示的未補償人工陶瓷材質絕緣子圖像輸入訓練好的網絡,根據公式(4),對人工圖像的響應強度進行計算,其可視化結果如圖 3(b)所示,響應強度直方分布統計如圖 3(c)所示。圖 3(c)中可見,反向傳播的圖像響應強度分布于 0 附近,-0.17~0.37 之間,其中響應強度大于 0 的像素為正面響應區域,反之則是負面響應區域;將圖像的導向反向傳播響應強度規范化到 0~255 之間,得到三通道可視化結果,如圖 3(b)所示。由于絕大部分像素的響應強度在 0.01~0.04 之間,因此圖 3(b)圖像的背景為灰色。不難看出,絕緣子目標的輪廓明顯地顯現出來,這說明相較于其它特征,目標的輪廓特征響應強度較大,對卷積神經網絡的目標識別結果影響也較大。
2)響應強度變換:采用以自然常數 e 為底的指數函數,將響應強度 R 的各元素值由 0 附近變換到 1 附近,得到變換后的響應強度矩陣 * R 。這兩個矩陣中元素之間的變換方法為: * , 1,2,..., , 1,2,..., Rij R e i M j N ij ? ? ? (5) 其中,M 和 N 分別為 R 和 * R 矩陣的行數和列數。對圖 3 中人工絕緣子圖像的響應強度進行規范化后的響應強度直方分布統計如圖 4 所示。3)人工圖像補償:將原始人工絕緣子圖像的像素矩陣記為 0 I ,計算 0 I 與 * R 的 哈 達 馬 積(Hadamard Product), 得到初步的補償結果 c0 I : * c0 0 0 ? ? e R I I R I (6) 其中, "" 為哈達馬積運算符。進一步對 c0 I 進行規范化(Normalization, Norm)處理得到最終的補償結果 c I : 0 0 0 0 0 min( ) Norm( ) max( ) min( ) c c c c c c ?? ?? I I I I I I (7) 其中, min( ) 和 max( ) 分別為取最小值和最大值函數。圖 5(a)是對圖 3(a)所示的原始人工絕緣子圖像進行補償優化的結果。圖中可見,絕緣子目標的輪廓更清晰,顏色更深,目標區域更加突出,但圖像的整體亮度降低,這是因為,根據公式(5)計算得到的初步補償圖像中存在 RGB 值大于 255 的區域,再根據公式(6)進行規范化后,拉低了圖像的平均像素值。將圖 5(a)和圖 3(a)作差,并進行規范化,可以獲得圖像補償算法對人工絕緣子圖像的作用,其可視化結果如圖 5(b)所示。直觀上來看,補償算法增強了絕緣子的目標區域,抑制了背景信息,并強化了絕緣子目標區域內部的光影效果,在視覺上豐富了圖像的立體感。卷積神經網絡中全連接層的輸入是由激活響應變換的一維矩陣,因此通過計算每個特征圖的激活響應之和,可以得到卷積層中每個濾波器對輸入圖像的響應。將圖 3(a)所示的補償前圖像和圖 5(a) 所示的補償后圖像分別輸入 AlexNet 網絡,以特征圖為單位將全連接層前的激活響應進行統計,可以得到 256 個特征圖的激活響應強度,如圖 6 所示。對比圖 6(a)和圖 6(b),補償后的圖像中,對網絡判斷有強烈正面影響(響應強度值大于 0)和負面影響(響應強度值小于 0)的激活響應幅度被增強, 尤其是負面影響的激活響應幅度增強顯著。
(3)數據擴充
如圖 1 所示,將經過步驟(2)導向反向補償網絡補償優化后的人工絕緣子圖像數據集與航拍絕緣子圖像數據集進行混合,構建虛實結合的混合圖像大數據集,實現對航拍絕緣子圖像數據集的數據擴充,提高其圖像數量和多樣性。最后,采用混合圖像大數據集對卷積神經網絡進行訓練,并識別絕緣子。
3 實驗過程與結果
3.1 數據集與實驗環境
本文實驗模型在 Jupyter 平臺建立,采用深度學習框架 PyTorch 實現,GPU 為 Nvidia 1080Ti。實驗采用的航拍絕緣子圖像數據集由無人機航拍或固定攝像頭拍攝獲得,均為 128 128 ?像素的三通道圖像,總計 8000 張,部分圖像如圖 7(a)所示,絕緣子串或串組包含 4 到 16 個傘裙,其材質包括玻璃、陶瓷、復合材料等;圖像背景包括綠色森林或田地、灰黃色荒野、陰沉或晴朗天空等;光照情況隨機。人工絕緣子圖像數據集由 3ds Max 建模軟件創建,同樣為 128 128 ?像素的三通道圖像,總計 1000 張,部分圖像如圖 7(b)所示,目標為包含 4 到 20 個傘裙的絕緣子串;材質為乳白色陶瓷;背景為純黑色;絕緣子大小、角度各異。
3.2 實驗內容
絕 緣 子 圖 像 識 別 實 驗 分 別 在 torchvision. models 庫 中 的 AlexNet 、 VGG11 、 VGG13 、 ResNet18、Inception_v3 等典型卷積神經網絡上進行,均不加載預訓練參數,選擇隨機梯度下降 (Stochastic Gradient Descent, SGD)算法優化損失函數,學習率設為 0.01,動量參數設為 0.5,迭代次數設為 500。用本文方法對航拍絕緣子圖像數據集進行數據擴充,并與不進行數據擴充和采用未補償的人工圖像進行數據擴充的情況相比較。此外,現有的基于 GAN (Generative Adversarial Networks)網絡的圖像風格遷移也可產生新的圖像用于數據擴充,而 CycleGAN(Cycle-Consistent Generative Adversarial Networks)[17]是近年來典型的風格遷移網絡,對生成圖像質量的可控性較好,且不需要大量成對樣本訓練,對訓練樣本量的要求遠低于隨機噪聲生成方式,適用于航拍絕緣子圖像數量不充足的情況,因此本文亦選擇基于 CycleGAN 的圖像風格遷移數據擴充方法作對比實驗。采用準確率 Accuracy 和 AUC (Area Under Curve)值評價絕緣子識別結果,對比不同方法下卷積神經網絡訓練階段的收斂速度,并對比不同數據擴充方法所需的浮點計算次數 FLOPs (Floating Point Operations)。由于以上數據擴充方法均不會引起參數量的改變,因此不對參數量進行統計。絕緣子數據集中,含有絕緣子目標的圖像為正樣本,不含絕緣子目標的圖像為負樣本。從航拍絕緣子圖像數據集中分別隨機抽取 2000 張正樣本和 2000 張負樣本組成包含 4000 張圖像的原始訓練集,再分別隨機抽取 1000 張正樣本和 1000 張負樣本組成包含 2000 張圖像的測試集。以 AlexNet 網絡為例的對比實驗流程如圖 8 所示,不同實驗中訓練集不同,測試集是相同的,具體介紹如下:
實驗 1 不進行數據擴充的絕緣子識別:將原始訓練集圖像輸入 AlexNet 網絡進行訓練,實時保存網絡參數,訓練完成后,在測試集上測試網絡的絕緣子識別性能。
實驗2 采用未補償的人工絕緣子圖像進行數據擴充,并進行絕緣子識別:從 3D 建模得到的人工絕緣子圖像數據集中隨機抽取 1000 張正樣本圖像,從航拍絕緣子圖像數據集中隨機抽取 1000 張負樣本圖像,對原始訓練集進行擴充。將擴充后的包含 6000 張圖像的訓練集輸入 AlexNet 網絡重新訓練,并在測試集上進行絕緣子識別。
實驗 3 采用基于 CycleGAN 的圖像風格遷移方法進行數據擴充,并進行絕緣子識別:從原始訓練集中隨機 抽取 1000 張正樣本圖 像,利用 CycleGAN 對每張圖像進行風格遷移,生成 1000 張新圖像。將新生成的 1000 張正樣本圖像和實驗 2 中隨機抽取的 1000 張負樣本圖像對原始訓練集進行擴充,擴充后的訓練集包含 6000 張圖像,將其輸入 AlexNet 網絡進行訓練。并在測試集上測試網絡的絕緣子識別性能。
實驗 4 采用本文方法進行數據擴充,并進行絕緣子識別:對于實驗 2 中的 AlexNet 網絡,記錄準確率平穩后的 AlexNet 網絡參數,根據公式 (4)~(7)計算導向反向補償網絡,對實驗 2 中的 1000 張人工正樣本圖像進行補償,得到 1000 張補償后的人工正樣本圖像。用補償后的 1000 張人工正樣本圖像和實驗 2 中隨機抽取的 1000 張負樣本圖像對原始訓練集進行擴充,擴充后訓練集同樣包含 6000 張圖像,輸入 AlexNet 網絡進行訓練。在測試集上測試網絡的絕緣子識別性能。為了獲得多組實驗結果,重復進行以上實驗 1~實驗 4。每次重復開始時,需重新隨機抽取 2000 張正樣本圖像和 2000 張負樣本圖像構建原始訓練集,但需保持測試集不變。在其它卷積神經網絡上的 實 驗 , 例 如 VGG11 、 VGG13 、 ResNet18 、 Inception_v3 等,只需將上述實驗 1~實驗 4 中的 AlexNet 網絡進行替換。
3.3 實驗結果
重復進行以上實驗 1~實驗 4,獲得 5 組絕緣子識別對比結果,對評價指標取平均值,如表 1 所示,具體分析如下:
1)在準確率方面:不進行數據擴充時, AlexNet、VGG11、VGG13 和 Inception_v3 網絡的準確率均為最低;使用未補償的人工圖像進行數據擴充后,四個網絡的準確率分別提升 2.2%、1.2%、 0.9%和 0.6%;使用基于 CycleGAN 的圖像風格遷移方法進行數據擴充后,以上四個網絡的準確率分別提高 1.9%、1.6%、0.8%和 0.6%;使用本文方法進行數據擴充后,以上四個網絡的準確率分別提高 3.3%、1.7%、2.0%和 1.9%;而對于 ResNet18 網絡,只有本文方法使其準確率提高 1.5%,5 個網絡的準確率平均提升 2.1%,明顯優于現有方法。
2)在 AUC 值方面:與不進行數據擴充相比,使用數據擴充方法后,各個網絡的 AUC 值均變化不顯著,甚至在使用基于 CycleGAN 的圖像風格遷移數據擴充后,ResNet18 的 AUC 值有所降低。而本 文 方 法 使 VGG11 、 VGG13 、 ResNet18 和 Inception_v3 網絡的 AUC 值均有所提高,在多數網絡上對 AUC 值有一定的提升效果。
3)在收斂速度方面:表 1 中統計了不同方法下卷積神經網絡訓練階段準確率穩定時的迭代次數,迭代次數越低說明網絡收斂速度越快。通過數據對比可見,采用未補償的人工圖像進行數據擴充,與不進行數據擴充時相比,網絡的收斂速度明顯提高;采用本文方法進行數據擴充時,大部分網絡的收斂速度與未進行數據擴充時相比明顯提高,但與采用未補償的人工圖像數據擴充時相比,有一定程度的下降,這是因為 3D 建模得到的未補償人工絕緣子圖像結構簡單、背景單一,經過補償優化后,更逼近于航拍絕緣子圖像。而采用基于 CycleGAN 的圖像風格遷移數據擴充時,多數網絡的收斂速度最慢。
4)在算法復雜度方面:僅對比不同數據擴充方法的復雜度,即計算所需的浮點計算次數 (FLOPs)。由于采用未補償的人工圖像進行數據擴充不會額外增加 FLOPs,因此僅需對比本文數據擴充方法和基于 CycleGAN 的圖像風格遷移數據擴充方法的 FLOPs 值,如表 2 所示。需說明的是,表 2 僅反映數據擴充方法本身的復雜度,未將后續用于絕緣子識別的卷積神經網絡計算在內。可見,基于 CycleGAN 的圖像風格遷移數據擴充方法的 FLOPs 為 27.06 G,與后續采用的卷積神經網絡無關。本文方法由于導向反向補償網絡與所采用的卷積神經網絡有關,因此本文方法的 FLOPs 值隨著所采用的卷積神經網絡的不同而有差別,但均明顯小于基于 CycleGAN 的風格遷移數據擴充方法,平均降低 60.3%,這說明本文數據擴充方法為相對輕量級的方法,便于移植到其它網絡上使用。
4 結 論
本文針對輸電線路絕緣子識別任務中訓練樣本不足的問題進行研究,探索更有效的絕緣子圖像數據擴充方法,提出基于導向反向傳播的人工絕緣子圖像數據擴充方法,包括批量創建人工絕緣子圖像、構建導向反向補償網絡和數據擴充三部分。在多個典型的卷積神經網絡上的絕緣子識別對比實驗結果表明,本文數據擴充方法能明顯改善卷積神經網絡的絕緣子識別準確性,且具有較小的 FLOPs 值,是相對輕量級的網絡結構,便于和其它網絡結合,對推進深度學習算法的應用具有現實意義。未來工作中,針對人工絕緣子圖像與航拍絕緣子圖像差異性或建模困難等情況,需要進一步探索人工圖像數據擴充與網絡訓練相結合的策略。
論文指導 >
SCI期刊推薦 >
論文常見問題 >
SCI常見問題 >