徐海青余江斌梁 翀*張曉航
(1.安徽繼遠軟件有限公司,安徽 合肥 230088;2.國家電網信息通信產業集團,信通研究院,北京 102211)
隨著我國經濟的快速發展,電能已成為社會發展不可或缺的重要能源[1],輸電線路發揮了至關重要的作用。然而,大量輸電線路在室外環境,易受自然環境影響,各種部件可能會出現不同程度的損壞與缺陷,這給電力系統的穩定運行帶來了巨大挑戰。因此,電力系統工作人員需要對輸電線路進行長期重復性的檢查和維護。然而,輸電線路大多分布在高山、河流、森林等復雜環境下,這給傳統人工巡檢帶來了不少困難,人工巡檢還存在效率低、人為主觀因素強、危險系數高等缺點[2],因此無人機巡檢得到了廣泛應用。
隨著無人機巡檢的應用,以及人工智能技術的發展與推進,在輸電線路缺陷識別和故障檢測領域,基于機器視覺和深度學習的圖像識別技術研究是一大熱點。Wu 等基于半局部算子提取圖像半局部紋理,再基于全局最優活動輪廓識別出絕緣子[3]。宋偉等綜合直方圖均衡化、RGB 彩色模型和形態學處理方法實現防振錘識別和金屬銹蝕缺陷檢測[4]。這些傳統圖像處理方法的魯棒性不強。近年來,隨著深度學習圖像識別方法大放異彩,輸電線路缺陷識別和故障檢測也得到發展。Nordeng 等基于VGG16 的Fast-RCNN 網絡實現了耐張線夾的識別[5],Miao 等基于兩階段微調思想訓練SSD 目標檢測網絡,有效提高了瓷質與復合絕緣子的目標識別準確率[6]。
目前,針對輸電線路細小金具的目標識別與故障檢測識別率不高問題的研究較少。一方面,由于細小金具相對于桿塔體積小,導致電力巡檢圖像中包含的細小金具信息少,圖像質量差;另一方面,在輸電線路細小金具目標檢測中,由于輸電線路細小金具缺陷的概率較低,細小金具中包含缺陷的樣本量較少,導致類別不平衡,模型難以提取大量的包含缺陷目標的特征,這給輸電線路細小金具的目標識別與故障檢測相關研究帶來了一定的挑戰。為進一步保障輸電線路的安全可靠運行,有必要深入開展細小金具缺陷識別研究。而通過采用生成式對抗網絡生成樣本及調節樣本在模型分類損失所占權重的方式,來解決這個問題的研究仍不充分,但它對提高輸電線路細小金具缺陷識別精度具有重要作用。
本文提出一種基于GAN 的改進RPN 輸電線路細小金具缺陷檢測方法。首先,針對輸電線路細小金具圖像質量差、樣本數量少及類別不平衡而導致小金具缺陷識別精確度低的問題,通過生成式對抗網絡來彌補細小金具樣本量中正常樣本和缺陷樣本不均衡的問題;其次,通過改進模型分類損失函數來彌補缺陷樣本中樣本數量較少的問題。
本文首先針對輸電線路細小金具圖像質量差、樣本數量少的問題,通過采用生成式對抗網絡生成大量包含缺陷目標的小金具樣本,以此平衡輸電線路細小金具樣本中正常樣本和缺陷樣本的數量。生成式對抗網絡模型是一種無監督學習的深度學習模型,于2014 年被正式提出[8],它將生成任務看作是生成器和判別器的對抗和博弈,該模型主要包含兩個模塊:生成模型(Generative Model)和判別模型(Discriminative Model)。生成模型G 通過學習真實的輸入訓練樣本,讓自己能夠生成更加真實的樣本,以騙過判別器,而判別器D 的目標是不斷地提升自己判別樣本真假的能力,因此,生成器和判別器在訓練的過程中不斷地博弈,2 個模型在對抗的過程中不斷進步,最終生成器可以生成越來越逼近真實狀態的樣本,而判別器判別不出樣本的真假情況,無法發現假樣本,從而達到一個穩定的狀態。
GAN 的生成器網絡與判別器網絡均為卷積神經網絡,其網絡結構分別如表1 和表2 所示。

表1 生成器網絡結構

表2 判別器網絡結構
網絡的輸入與輸出圖像尺寸為224×224,batch大小為60,最大迭代次數為6 000,選擇Adam 優化器。生成器與判別器的網絡結構均為淺層卷積神經網絡,卷積核尺寸小,且通道數量少,這有利于生成海量的樣本數據,提高訓練效率。GAN 結構圖分別為圖1 和圖2。

圖1 生成器結構

圖2 判別器結構
本文針對細小金具數據集中正常樣本和缺陷樣本極不均衡的問題,采用生成式對抗網絡來生成細小金具缺陷樣本,訓練樣本生成流程如圖3 所示。生成模型G 的輸入是一組隨機噪聲。生成模型G通過隨機噪聲的分布學習訓練樣本圖像的數據分布,判別模型D 的輸入包含真實的訓練圖像樣本,也包含生成模型合成的人工圖像樣本,D 對生成的圖像與真實圖像進行判別。最終,生成模型G 生成區別于原始圖像的,騙過判別模型D 的目標圖像,獲得豐富的細小金具缺陷樣本數據。

圖3 訓練樣本生成流程
設有n組輸電線路細小金具缺陷樣本,則缺陷樣本集可表示為X={x1,x2,…,xn}。其中,xn表示第n組缺陷樣本的特征向量。已知缺陷樣本x服從的實際分布是Pr,且存在一組服從高斯分布Pz的噪聲z,通過構建Pr和Pz之間的映射關系,就能夠由隨機噪聲生成人工樣本。生成式對抗網絡的基本構架包括生成器模型G(z;θ(G))與判別器模型D(x;θ(D)),其中θ(G)表示生成模型的權值,θ(D)表示判別模型的權值。訓練過程中,生成模型的輸入是隨機噪聲z,經多層神經元的計算獲得與缺陷樣本x維度相一致的輸出向量;判別模型的輸入包含生成模型生成的人工假樣本和真實狀態下的真樣本,經多層神經元計算獲得該人工樣本是否是真實樣本的概率。生成模型和判別模型的損失函數分別為:

式中:E(·)表示計算期望;G(z)表示生成模型合成的人工樣本;D(·)表示判別模型結果。最終的目標函數如下所示:

針對輸電線路細小金具缺陷樣本量較少的問題,通過提高輸電線路細小金具樣本中容易錯誤分類的缺陷樣本在模型分類損失中所占的權重,來重點訓練這些缺陷樣本。為了實現輸電線路細小金具的缺陷識別與故障檢測,本文采用Faster-RCNN 作為目標檢測框架,并針對Faster-RCNN 中RPN 的分類損失進行改進。
Faster-RCNN 具體的檢測流程如圖4 所示。Faster-RCNN 是在Fast-RCNN 的基礎上發展而來的,整個模型分為3 個部分:第一部分以ResNet-101[9]為卷積神經網絡的特征提取模塊,輸入是原始的圖像樣本,輸出為圖像的特征圖,并利用一個具有水平連接和上采樣操作的自頂向下的特征圖融合模塊,將上部分輸出的深、淺層特征圖融合;第二部分是區域生成網絡RPN,輸入是上一步輸出的融合高維特征,輸出是感興趣區域(region of interesting,ROI)的位置得分和類別得分;第三部分將前幾個步驟得到的ROI 位置和特征圖送入Fast-RCNN 網絡,進行類別確認,輸出檢測結果。

圖4 Faster-RCNN 檢測流程
2.1.1 特征提取
在Faster-RCNN 基本結構中,RPN 的輸入是特征金字塔的最頂層特征圖,而最頂層特征雖然具有高度抽象的語義信息,但由于進行了池化、下采樣操作,導致分辨率降低,目標圖像的邊緣和細節信息變少,小目標物體信息難以被表達。
在Faster RCNN 中通常采用VGGNet 或ResNet等網絡模型用于特征提取,通過卷積神經網絡對圖像進行卷積和池化等計算,提取圖像中目標的特征,通過卷積、池化、歸一化等操作將低維的特征表示轉化為高維的特征表示。特征圖不僅保留目標相對于原始圖像的位置,并且能夠在深層特征圖中編碼原始圖像中所有目標的特征。考慮到輸電線路細小金具目標較小,本文采用ResNet-101 殘差網絡進行圖像的特征提取工作,其特點是可以提取出語義信息更加豐富的特征圖,用于從樣本中提取目標特征。
2.1.2 RPN 網絡
傳統的目標檢測方法,一般是利用滑動窗口對圖像遍歷,進而產生候選框,之后使用一些分類器完成對候選框的分類,這種方法的實時性差,效果不佳。
RPN 網絡在Faster-RCNN 中用于生成候選框。首先,RPN 對特征圖的每一個位置生成錨點(Anchors),Anchors 由若干固定尺度及若干固定寬高比的矩形框組成;其次,將這些Anchors 輸入到RPN 分類器中,由分類器判斷Anchors 中是否包含目標,如果包含目標則保留Anchors,否則剔除Anchors;并對Anchors 進行邊界框回歸,輸出感興趣區域(ROIs)。
由于輸電線路細小金具目標較小,較大的Anchors 難以有效提取缺陷金具的特征,如圖5 所示為細小金具缺銷釘樣本,由圖中可以看出缺銷釘目標只占整體樣本的很小區域,因此本文在實驗階段降低了RPN 中Anchors 的尺度,采用三種尺度(2,4,8)、三種寬高比(1∶1,1∶2,2∶1)共9 種不同大小的Anchors。RPN 網絡的輸出是候選框的目標分類信息和位置信息。

圖5 輸電線路缺銷釘樣例
2.1.3 檢測網絡
在目標檢測模塊中,RPN 和Fast-RCNN 的輸入特征圖是共享的。首先通過向ResNet-101 殘差網絡輸入原始樣本圖片,經過卷積操作,特征融合操作傳至共享卷積層。輸入特征圖通過RPN 網絡獲取候選框建議,并將其提供給ROI 池化層,最后通過全連接層獲得ROI 的特征向量,經由Softmax 分類獲得該候選區域的目標分類,經由目標框回歸計算得到回歸后的目標邊框。
在輸電線路細小金具檢測中,通常將細小金具樣本中某個目標的候選框與該目標的標注邊界框之間的IoU(Intersection over Union)大于一定閾值的候選框作為正樣本,否則將其作為負樣本。在負樣本中通常將分類得分最高的候選框作為困難負樣本,而分類得分較低的候選框作為簡單負樣本。通常簡單負樣本占絕大多數但對模型損失貢獻小,而困難負樣本的數量較少但對模型的分類損失貢獻較大。在輸電線路細小金具目標檢測中,由于細小金具中包含缺陷的樣本量較少,難以提取大量的包含缺陷目標的特征,所以生成的候選框會存在正負樣本失衡問題,即大多數候選框都是簡單負樣本,而正樣本和困難負樣本的數量較少,使得模型訓練效率較低,限制了模型對細小金具缺陷檢測精度的提升。因此,本文旨在通過提高細小金具中有缺陷目標所對應的困難負樣本在RPN 分類損失中的權重來提高Faster-RCNN 對細小金具缺陷目標的檢測精度。
針對正負樣本失衡,Faster-RCNN 通過在RPN訓練時采用IoU 對Anchors 進行采樣維持正負樣本平衡,雖然能夠有效約束簡單負樣本數量,但是也降低了困難負樣本對RPN 分類損失的貢獻。本文通過改進RPN 損失函數,將Focal loss 引入到RPN 的分類損失中,Focal loss 不改變正負樣本數量,而是通過調節正負樣本對模型分類損失的貢獻,使得模型能夠專注于正樣本以及困難負樣本的訓練,較少數量的細小金具缺陷樣本即可有效訓練模型。
在Faster-RCNN 中,每個RPN 生成的Anchors都被指定一個正樣本或負樣本的標簽。第i個Anchors的交叉熵損失如式(4)所示。

式中:yi∈{0,1}為第i個Anchors 的樣本標簽,yi=1表明該Anchors 與某個標注邊界框的IoU 較大,為正樣本,yi=0 表明該Anchors 為負樣本;pi是第i個Anchors 屬于正樣本的得分;1-pi是第i個Anchors屬于負樣本的得分。當Anchors 為正樣本時,分類損失隨著樣本檢測精度的提升而降低;而當Anchors為負樣本時分類損失隨著樣本檢測精度的降低而降低。
第i個Anchors 的Focal loss[11]如式(5)所示:

式中:α為平衡因子,用于平衡正負樣本對分類損失的貢獻,α越小,負樣本的損失權重越小;γ為調節因子,用于調節簡單負樣本和困難負樣本的損失權重,γ=0 時Focal loss 為交叉熵損失,γ越大,困難負樣本的損失越大。對于第i個Anchors,當該Anchors 為正樣本時,pi越大,FL(pi,yi)越小,即第i個正樣本的損失隨著pi的提高而降低,而當該Anchors為負樣本時,pi越大,FL(pi,yi)越大,即第i個困難負樣本的損失隨著pi的提高而提高。因此,通過加權參數α和γ,Focal loss 能夠有效提高困難負樣本的損失權重。
其次本文改進了RPN 對Anchors 的選取標準,保留了一幅圖像中所有Anchors 的數量并作為一個訓練批次輸入到RPN 中,在Faster-RCNN 中,改進的RPN 的分類損失如式(6)所示。

式中:Ncls為輸入到RPN 的每個批次中一幅圖像的所有正負樣本Anchors 的數量,yi∈{0,1}為第i個Anchors 對應的正負樣本;FL(pi,yi) 為 第i個Anchors的Focal loss。
在RPN 訓練期間,Faster-RCNN 通過式(5)和式(6)求RPN 的分類損失。Faster-RCNN 中RPN 的訓練流程如圖6 所示。

圖6 基于Focal loss 的RPN 訓練圖示
本文首先驗證生成式對抗網絡生成的訓練樣本對輸電線路細小金具缺陷識別的有效性,設計實驗測試在原始樣本和擴充樣本兩種情況下,缺陷識別結果的差異性。其次驗證基于改進RPN 分類損失對輸電線路細小金具缺陷識別的有效性,設計實驗測試在原始RPN 分類損失和基于Focal loss 的RPN分類損失兩種情況下,缺陷識別結果的差異性。
本文試驗條件為:Centos 6、64 位操作系統,TensorFlow 框架。電腦配置:臺式電腦,NVIDIA TESLA P100,顯存為16 GB;E5-2680 V4 CPU 處理器,最大主頻3.30 GHz,磁盤容量500 GB,編程語言是Python。
本文原始數據集為輸電線路無人機巡檢拍攝圖像,總共2 985 幅細小金具圖像,從這2 985 幅圖像中隨機選取大約5%的150 幅圖像作為最終的測試數據,剩余2 835 幅圖像作為訓練數據集,同時,作為生成式對抗網絡的輸入。原始圖像包含缺銷子、銷釘脫出、缺墊片、銷釘未開口四類目標,它們在圖像中非均勻分布,存在一幅圖片包含多個目標和多種目標的情況。在本文的原始數據集中,缺銷子、銷釘脫出、缺墊片的樣本數目相對較多,而銷釘未開口的樣本數量較少,因此,本文按照不同類型目標的樣本數量來生成人工樣本,最終使得每種類型的樣本數量相當,具體樣本數目如表3。通過生成式對抗網絡生成的細小金具缺陷樣本共2 157 張,總共的圖像數量為4 632 幅。

表3 樣本數目
原始樣本與通過生成式對抗網絡生成的樣本實例如圖7 所示。其中(a)(c)兩圖為原始樣本中缺銷子樣本實例,(b)(d)兩圖為基于GAN 生成的包含其他缺陷目標的缺銷子樣本實例。

圖7 原始樣本與通過生成式對抗網絡生成的樣本實例對比
本文采用準確率(Precision,P)、召回率(Recall,R)和平均精度(Average Precision,AP)作為評價指標對提出的方法進行評價,其中AP值的計算方法參考Everingham 等人[10]的計算方法,準確率和召回率計算公式如下:

式中:TP(True Position)是正樣本被預測為正樣本,FP(False Position)是負樣本被預測為正樣本,FN(False Negative)是正樣本被預測為負樣本的數目。
由于細小金具數據集中包含缺陷目標的銷釘數量較少,難以有效且充分訓練小金具缺陷樣本,因此本文首先在輸電場景數據集中對ResNet-101 進行預訓練,以提升ResNet-101 在輸電場景下對小金具的識別效果。輸電場景數據集共包含68 935 張樣本,其中每一類目標的樣本數如表4 所示,在訓練時設置學習率為0.001,動量為0.9,權重衰減為10-4,共訓練110×103次,本文將預訓練好的ResNet-101用于小金具樣本訓練。

表4 預訓練數據集數目
本文首先測試在原始樣本和擴充樣本兩種情況下,缺陷識別結果的差異性,因此完成以下對比實驗,使用原始數據集和擴充后的數據集分別對目標識別模型進行訓練。實驗1 的訓練數據集為2 985幅原始圖像,實驗2 的訓練數據集為擴充后的包含4 632 幅的圖像數據集。針對2 個實驗的數據,本文選擇70%作為訓練集,其余的30%作為驗證集。在訓練時將學習速率初始化為0.01,動量初始化為0.9,每2 000 次迭代改變一次學習速率,逐漸下調至0.000 1,最終獲得Faster-RCNN 及GAN+Faster-RCNN 兩個模型。本文其次測試基于Focal loss 的RPN 分類損失的情況下,細小金具缺陷識別結果的差異性,完成實驗3,本文采用2 985 幅原始圖像對基于Focal loss 的Faster-RCNN 進行訓練。本文在訓練時設置與實驗1 相同的訓練集及測試集,并采用與實驗1 相同的訓練參數,式(5)中Focal loss 的平衡因子α及調節因子γ的設置與Focal loss[11]中的參數相同,即α=0.25 和γ=2。最終獲得Focal loss+Faster-RCNN 模型。
模型訓練完成后,使用150 幅測試圖像對3 個模型進行測試,3 個模型的準確率如下表5 所示,召回率如下表6 所示,平均精度AP 如表7 所示。由表5—表7 可知,原始Faster-RCNN 方法和基于GAN+Faster-RCNN 的方法對缺銷子、銷釘脫出、缺墊片三類目標的識別結果提升不多,而對銷釘未開口的提升效果顯著,由于原始訓練圖片中銷釘未開口這類目標的缺陷數據最少,導致模型識別精度低,而加入擴充樣本后,在GAN+Faster-RCNN 中,模型對銷釘未開口缺陷的識別精度有了明顯的提升。通過Faster-RCNN 和GAN+Faster-RCNN 的對比實驗,說明了生成式對抗網絡生成的人工樣本能改善網絡對輸電線路細小金具缺陷識別的效果,尤其是銷釘未開口這一缺陷類型。其次,由表5—表7 可知,基于Focal loss+Faster-RCNN 的方法對缺銷子、銷釘脫出、缺墊片、銷釘未開口4 類目標的識別結果均優于Faster-RCNN 方法。即表明隨著Anchors 數量的增加,通過Focal loss 對RPN 的交叉熵損失的加權使得模型能夠有效訓練細小金具中包含缺陷目標所對應的困難負樣本,提升了模型的檢測精度。并且Focal loss+Faster-RCNN 算法對銷釘未開口這種缺陷的檢測效果提升最為明顯,即表明雖然銷釘未開口缺陷的數量較少,但模型能夠通過Focal loss 加權及保留所有Anchors 的方式來有效訓練這些缺陷樣本,使得模型對細小金具的檢測有較大的提升。

表5 準確率對比圖 單位:%

表6 召回率對比圖 單位:%

表7 平均精度AP 對比圖 單位:%
本文針對輸電線路細小金具圖像質量差、樣本數量少及類別不平衡而導致缺陷識別精確度低的問題,提出了基于GAN 的改進RPN 輸電線路細小金具缺陷檢測方法。首先,通過生成式對抗網絡對細小金具缺陷樣本量進行增廣,并結合人工圖像和原始圖像訓練缺陷識別模型,有效地增加了訓練數據集,解決了細小金具中缺陷樣本較少及缺陷樣本類別不平衡的問題,有效提高了缺陷識別的精確度。特別地,針對原始訓練樣本中數目少的缺陷類別,能夠有效改善識別效果。其次,通過在Faster-RCNN的RPN 網絡中添加Focal loss,提高了細小金具樣本中的困難負樣本對RPN 分類損失的貢獻,并且保留所有Anchors,確保了模型能夠有效訓練這些困難負樣本,解決了細小金具缺陷樣本數較少的問題,有效提升了輸電線路細小金具的檢測效果。本文提出的基于GAN 的改進RPN 輸電線路細小金具缺陷檢測方法能夠有效識別輸電線路的細小金具類缺陷,對電力巡檢智能化缺陷診斷具有一定的參考價值。