馬耀名,張 雨
(遼寧工程技術大學電氣與控制工程學院,遼寧葫蘆島 125105)
高壓輸電線路途徑地形復雜,多在山區、河流等人跡罕至區域,傳統人工巡檢,成本和難度都較高。隨著無人機技術快速發展,借助無人機完成電力巡線已成為趨勢[1-2]。絕緣子是高壓輸電線路重要組成部分,在電氣絕緣和輸電線路支撐中有重大作用;絕緣子長期暴露室外,很易發生破損和掉串,嚴重影響電網安全。為了更高效、快速檢測絕緣子缺陷,借助無人機航拍快速定位絕緣子是絕緣子缺陷檢測的前提[3-4]。
傳統絕緣子識別方法主要是通過航拍圖像邊緣輪廓、顏色特征和機器學習方法,例如:郝艷捧等[5]提出使用Grab Cut圖論法分割提取絕緣子;黃新波等[6]先通過形態學運算尺度小波變換以及逆變換系數特征對航拍圖像清晰化處理,再借助邊緣檢測方法提取絕緣子;苑利等[7]提出借助支持向量機算法識別紅外絕緣子圖像;姚曉通等[8]先通過Canny 邊緣特征點,再利用特征點匹配方法識別絕緣子。上述傳統方法雖可識別絕緣子,但需根據場景設計不同目標特征,穩定性和泛化性較差,識別準確率也較低。
為了提高絕緣子識別精度,白潔音等[9]采用Faster-RCNN(Faster Region-based Convolutional Neural Network)算法[10]提取絕緣子,引入了自適應圖像預處理、基于面積非極大值抑制和切分檢測等方法;雖可有效檢測絕緣子,但交并比(Intersection Over Union,IoU)、歸一化層等未改進,致使絕緣子定位精度和模型訓練效率較低。趙文清等[11]提出一種注意力機制與Faster-RCNN 相結合的絕緣檢測方法,該方法在卷積特征提取網絡中引入壓縮激勵網絡結構[12],使模型能夠關注與目標相關特征通道并弱化其他無關特征通道;比原Faster-RCNN 算法更有效檢測絕緣子,但仍未對IoU 和歸一化層改進。蔣姍等[13]提出把特征金字塔結構網絡(Feature Pyramid Network,FPN)[14]與Faster-RCNN 算法相結合檢測絕緣子,針對遮擋絕緣子,使用軟性非極大值抑制(Soft Non-Maximum Suppression,Soft NMS)算法[15]規避不同絕緣子相互遮擋而被誤刪情況;能有效識別圖像中更小比例絕緣子,但未對交并比和歸一化層改變,若單批次訓練尺寸較小時,模型收斂速度較慢。賴秋頻等[16]提出把邊緣檢測、直線檢測等傳統方法與YOLO-V2(You Only Look Once V2)算法[17]結合絕緣子識別方法,該方法可迅速準確地在輸電線路巡檢圖像中識別出絕緣子;但YOLO-V2 算法損失函數、錨框等設計與YOLO-V3[18]差距較大,檢測性能不及YOLOV3。故顏宏文等[19]在YOLO-V3 算法基礎上改進,針對訓練數據集正負樣本不均衡現象,對YOLO-V3 引入焦點損失函數和均衡交叉熵函數;雖能有效定位絕緣子,但IoU 評價策略較差,致使回歸框定位精度較差。楊焰飛等[20]結合YOLOV3 與Inception-Resnet-v2 算法[21]檢測絕緣子,通過改變網絡結構以增加網絡寬度,按照絕緣子特性改進損失函數并借助K均值算法選擇錨點框;相較于原YOLO-V3 算法有較大改進,但交并比和歸一化層仍未改變。
基于Faster-RCNN 和YOLO 算法絕緣子檢測方法,雖可有效定位絕緣子,但網絡模型收斂速度較慢,目標回歸框不夠穩定,嚴重影響絕緣子定位精度和識別準確率。針對上述問題,本文提出一種基于改進Faster-RCNN 的絕緣子檢測算法,首先在特征提取部分引入具有通道注意力機制動態選擇機制網絡(Selective Kernel Neural Network,SKNet)[22],使特征提取網絡自動分辨不同特征通道重要程度,增強特征提取網絡特性;然后使用濾波器響應歸一化(Filter Response Normalization,FRN)層[23]替代原批歸一化(Batch Normalization,BN)層[24],可消除模型在訓練過程中對單批次訓練數據大小依賴,當顯卡內存較小時,可更有效提高網絡收斂速度;最后使用更符合回歸機制的距離交并比(Distance IoU,DIoU)[25]代替原IoU 方法,原IoU 方法無法準確反映預測框與真實框重合程度,DIoU 方法將錨框之間距離、重疊率以及目標尺度均計算在內,可更精確定位絕緣子。
SKNet 啟發自皮質神經元根據不同刺激可動態調節其自身感受野大小,在卷積層每個階段增加不同尺寸濾波器分支。為了使神經元可自適應調整感受野大小,在不同卷積核大小的多卷積核中加入具有自動選擇操作的動態選擇卷積,SKNet 主要分為三個步驟:分解、融合和選取,如圖1 所示。
圖1 SKNet通道注意力模塊Fig.1 SKNet channel attention module
具體步驟如下:
1)分解。對于任何輸入特征映射X∈RH×W×C,首先分別對輸入特征映射進行3×3 和5×5 卷積操作,得到:X→∈RH×W×C和。
2)融合。通過門級控制神經網絡來自多個分支信息流,并將這些攜帶不同尺度信息卷積層傳遞到下一層網絡中。先對分解步驟中得到通過元素智能求和得到:
得到卷積層U后,再使用全局平均池化操作得到sc:
通過全局平均池化層可統計卷積層每個通道攜帶信息,然后再對sc特征輸出全連接層得到z,達到降低特征維度、提高網絡效率的目的,則z為:
其中:δ為線性整流(Rectified Linear Unit,ReLU)激活函數;β為BN 層;Ws∈Rd×c。
3)選取。經過融合操作,可自適應得到不同空間尺度權重信息,則對z進行softmax 函數可得到a和b權重通道特征層,分別為:
其中:A,B∈Rc×d;a和b分別為軟注意力機制。那么,輸出最終特征映射V得到各個卷積核注意力權重,表示為:
其中:V=[V1,V2,…,VC],Vc∈RH×W。
IoU 是目標檢測最常用指標參數,不僅用來判斷正負樣本,還可評價預測框和真實框距離,可以寫成:
其中:
其中:p、q分別為預測框和真實框橫縱坐標。
圖2 IoU與DIoU對比Fig.2 Comparison of IoU and DIoU
DIoU 更符合回歸機制,將目標與錨框之間的距離、重疊率以及尺度都參考進去,能使Faster-RCNN 目標框回歸更加穩定。
其中:d、dgt分別表示預測框和真實框中心點;ρ為兩中心點歐氏距離;m表示能包含預測框和真實框最小外接矩形的對角線距離。
傳統IoU 損失函數可寫成:
對于DIoU 損失函數R(d,dgt)=,則DIoU 損失函數可寫成:
為了防止深層網絡陷入梯度飽和區域,導致網絡收斂速度下降,多會在深層網絡中添加歸一化層,使激活函數輸入特征分布保持在一個穩定狀態。常用BN 方法嚴重依賴每批訓練數據大小,當單次訓練樣本數據過小時,會導致BN 層統計單批次訓練數據維度存在偏差,致使網絡精度下降。
FRN 層主要分為兩部分:濾波器響應歸一化層和閾值線性單元(Threshold Linear Unit,TLU),如圖3 所示。主要步驟如下:
圖3 FRN歸一化層Fig.3 FRN normalization layer
1)FRN 層構建。
若是輸入數據x尺寸為(j,g,k,w),分別表示一批訓練數據個數、通道數、特征圖尺寸,先對每個樣本每個通道歸一化處理,然后再對特征圖上每個值進行式(13)計算:
其中:ν2為通道特征值平均平方和;ε為閾值,防止分母為0。
FRN 層相較BN 層,僅對單個樣本在Nu=k×w維度上歸一化,不依賴一批訓練數據個數,有效消除了中間層帶來尺度變化問題。
2)TLU 層構建。
在FRN 層中未減去均值,歸一化后特征值不是關于0 對稱,會以任意方式偏移零值。若是借助ReLU 函數作為激活函數,會導致誤差,產生很多零值,嚴重影響模型性能。為了解決零值偏移問題,FRN 歸一化引入閾值化ReLU 層,即TLU 層:
FRN 歸一化層共引入了三個可學習參數γ、β、τ,分別學習變換重構尺度、偏移和閾值。
本文基于改進Faster-RCNN 算法對電力巡線圖像實現絕緣子檢測,核心是對傳統Faster-RCNN 算法卷積層特征提取層和候選區域提取層(Region Proposal Network,RPN)進行改進,以增強檢測算法魯棒性和提高檢測精度。
圖4 為Faster-RCNN 算法流程,為了增大卷積層特征提取層感受野,本文提出基于SKNet 通道注意力機制的殘差神經網絡(Residual Neural Network,ResNet)算法[26]作為特征提取網絡;為降低單次獲取訓練樣本大小對模型訓練影響,提高模型收斂速度,使用FRN 層代替BN 層;為了提高邊界框回歸參數準確率和效率,借助DIoU 代替IoU 作為邊界框回歸評估指標。
圖4 Faster-RCNN算法流程Fig.4 Flowchart of Faster-RCNN algorithm
為了盡可能緩解隨著網絡層數增加而造成的梯度消失、爆炸和網絡退化等問題,殘差神經網絡模型在堆疊卷積層中加入了殘差網絡。特征提取網絡的卷積層和殘差網絡增加可提取更多圖像特征,但會導致模型復雜度增加、模型運行效率下降。為了使ResNet 可根據輸入特征信息,多個尺度自適應感受野大小,本文在殘差網絡中添加SKNet 模塊,具體如圖5 所示。
圖5 基于SKNet的殘差結構Fig.5 Residual structure based on SKNet
為了高效、快速提取圖像特征信息,本文在ResNet50 網絡模型上改進,如表1 所示,對ResNet50 模型殘差結構替換成圖5 結構,由此可得到具有通道注意力機制ResNet50模型。
表1 SKNet-ResNet50網絡結構Tab.1 SKNet-ResNet50 network structure
為了加速和提升訓練模型效果,原ResNet 算法在模型中添加BN 層,BN 層需在訓練過程中,統計每批訓練數據中間量,這使得BN 層嚴重依賴每批訓練數據數量。本文使用單卡訓練模型,顯卡內存有限,無法增加單次獲取訓練樣本數量訓練模型。限于硬件條件,本文每次訓練圖像數量均為4,若使用BN 層會嚴重影響網絡模型穩定性。在1.3 節分析知,FRN 歸一化層不依賴單次訓練樣本大小,故在本文中使用FRN 歸一化層代替原BN 層。
Faster-RCNN 算法的候選區域提取層如圖6 所示,主要執行了兩個動作:在分類層判斷候選區域內是否存在絕緣子,輸出節點分別表示特征為前后景概率;在回歸層,借助特征探測器預測目標候選區域中心點、長和寬四個參數。
圖6 候選區域提取層Fig.6 Candidate region extraction layer
2.2.1 分類層
為了保證目標檢測算法具有較好尺度不變性,原Faster-RCNN 算法遍歷特征圖時,會生成比例為{1∶1,2∶1,1∶2}且尺寸大小分別為64×64,128×128,256×256 錨框。原Faster-RCNN 算法錨框比例不適用于檢測絕緣子比例,為了得到更好錨框比例,本文對數據集中絕緣子長寬比例統計,絕緣子長寬比4∶1 占60%左右、2∶1 占13%左右、6∶1 占10%左右、5∶1 占17%左右;故本文中錨框比例設為{2∶1,4∶1.5∶1,6∶1},尺寸大小分別為64×64,128×128,256×256。
遍歷特征后,通過softmax 激活函數可得到特征圖屬于前后景概率,從中選擇前景概率前300 區域作為絕緣子檢測候選區域。
2.2.2 回歸層
原Faster-RCNN 算法使用IoU 作為衡量候選區域框準確性評價指標,該方法計算簡單易理解,但不能很好反映候選框相交狀態,不利于候選區域框回歸定位。DIoU 更符合回歸機制,將目標與錨框之間距離、重疊率以及尺度都參考進去,使得Faster-RCNN 算法目標框回歸更加穩定,具體計算方式參看1.2 節。
在檢測到物體后,需要借助DIoU 抑制多余檢測框,但由于僅考慮重疊區域交并比,會致使檢測框精度下降,因此引入DIoU 作為非極大值抑制標準,不僅考慮重疊區域,還考慮中心點距離,則DIoU 非極大值抑制分類置信度hi為:
其中:ε為非極大值抑制閾值;G為最高置信框中心點;Di為預測框之間中心點。
本文基于Pytorch1.5 深度學習框架搭建模型,計算機主要配置為:Ubuntn18.04 操作系統,i7-7820X CPU,顯卡為1080Ti,內存32 GB。
本文使用中國電力線絕緣子數據集(Chinese Power Line Insulator Dataset,CPLID)提供圖像數據[4],該數據集共有864張絕緣子圖像,圖像尺寸為1152×864。為了增強訓練集,本文對數據樣本進行以下操作:
1)平移,對絕緣子圖像水平或垂直平移10°。
2)旋轉,對數據集順或逆時針旋轉5°。
3)飽和度,在HSV(Hue,Saturation,Value)模型下調整數據集飽和度。
4)亮度,在HSV 模型下改變數據集亮度。
5)Cutout 操作[27],隨機將絕緣子樣本上部分區域剪掉,并填充像素值0,如圖7 所示。
圖7 Cutout操作Fig.7 Cutout operation
6)CutMix 操作[28],隨機將樣本部分區域剪掉,并隨機填充訓練集樣本區域像素值,分類結果按一定比例分配,如圖8 所示。
圖8 CutMix操作Fig.8 CutMix operation
通過上述操作,可將數據集數量擴充到3 000 張,并隨機選取500 張作為測試集,2 500 張絕緣子圖像作為訓練集。
為了更好衡量本文算法優越性,采用平均準確率(Average Precision,AP)和平均召回率(Average Recall,AR)作為判定指標。實驗主要分為三個部分:檢測Faster-RCNN算法和本文算法在測試集上檢測絕緣子數量;測試DIoU 交并比、FRN 歸一化層和SKNet 模塊對Faster-RCNN 算法影響;與YOLO-V2[16]、YOLO-V3[19]絕緣子檢測算法比較。
為了驗證本文算法有效性,在測試集中選擇500 張電力線圖像檢測絕緣子,Faster-RCNN 算法交并比IoU 設為0.5,本文所用DIoU 交并比也為0.5,具體統計結果如表2 所示。由表2 可知,測試集的絕緣子總數為1 435 個,原Faster-RCNN 算法遺漏了123 個絕緣子,本文所提檢測算法僅遺漏35 個;原Faster-RCNN 算法錯誤識別184 個絕緣子,本文算法錯誤檢測89 個絕緣子。表2 表明,本文算法檢測絕緣子數量和準確性都優于原Faster-RCNN 算法,能夠精準有效檢測輸電線路中絕緣子。
表2 絕緣子漏檢、錯檢統計結果Tab.2 Statistical results of missing and wrong insulator detection
本文在Faster-RCNN 算法中引入DIoU 交并比、FRN 歸一化層和SKNet 模塊,為了更好地表明DIoU 交并比、FRN 歸一化層和SKNet 模塊對Faster-RCNN 算法影響,分別統計Faster-RCNN、Faster-RCNN+DIoU、Faster-RCNN+FRN、Faster-RCNN+SKNet 和本文算法的AP 和AR 值,具體值見表3。
表3 Faster-RCNN算法改變網絡后數據統計 單位:%Tab.3 Data statistics after Faster-RCNN algorithm changing network unit:%
Faster-RCNN 算法使用DIoU 代替IoU 交并比,可有效提高Faster-RCNN 算法準確性,AP 值提高了3.02 個百分點,平均召回率提高了0.45 個百分點,表明了DIoU 可更好表達候選框狀態。限于GPU 資源,本文單次獲取訓練圖像數量為4,致使原Faster-RCNN 算法收斂難度增加;Faster-RCNN+FRN 算法把原BN 層替換成不依賴單次訓練數據尺寸FRN層,有效增加了檢測算法穩定性。SKNet 模塊使特征提取網絡可自動判斷不同特征通道重要性,增強了特征提取網絡表達力,由此可增加算法檢測精度。由表3 可知,Faster-RCNN+SKNet 算法相較原Faster-RCNN 算法AP 值提高0.31個百分點,AR 值增加0.23 個百分點。本文算法將DIoU 交并比、FRN 歸一化層和SKNet 通道注意力模塊整合到Faster-RCNN 算法中,由表3 知,本文算法相較原Faster-RCNN 算法AP 值提高了3.46 個百分點,平均召回率提高了2.76 個百分點;表明本文算法可更精確定位電力線路圖像中絕緣子,穩定性更好。
使用YOLO-V2[16]、YOLO-V3[19]與本文算法對比,從表4所示的實驗結果可以看出,所提改進Faster-RCNN 算法平均召回率和平均準確率均為最高,相較原Faster-RCNN 算法AP值增加3.46 個百分點,AR 值提高了2.76 個百分點。YOLOV3 算法平均召回率和平均準確率相較YOLO-V2 算法分別提高了4.53 個百分點、4.82 個百分點,但仍低于本文所提改進Faster-RCNN 算法。由表4 知,本文算法平均召回率和平均準確率均高于其他算法,表明本文算法具有較高穩定性。
表4 不同算法實驗結果對比 單位:%Tab.4 Experiment result comparison of different algorithms unit:%
圖9 為傳統Faster-RCNN、YOL-V2、YOLO-V3 和本文改進Faster-RCNN 算法在測試集上部分檢測效果。測試圖像a中有兩個絕緣子目標且尺度不同,其中:Faster-RCNN、YOLO-V2 和YOLO-V3 算法均漏檢較小尺寸絕緣子;本文所提改進Faster-RCNN 算法檢測效果最好,圖中絕緣子均被提取,如圖9(d)。測試圖像b 中具有三個檢測目標,絕緣子尺寸依次下降,其中:Faster-RCNN 算法漏檢尺度較小絕緣子;YOLO-V2 算法漏檢兩個絕緣子,錯檢一個絕緣子;YOLO-V3算法漏檢兩個絕緣子,錯檢兩個絕緣子;本文所提改進Faster-RCNN 算法仍未出現漏檢或錯檢絕緣子,如圖9(d)所示。測試圖像c 中共有三個絕緣子,遠景絕緣子尺度相似但只有部分在圖像中,其中:Faster-RCNN 算法未漏檢絕緣子,但是較大尺度絕緣子被檢測到兩次,如圖9(a)所示;YOLOV2 算法漏檢尺度較小兩個絕緣子,YOLO-V3 算法漏檢一個尺度較小絕緣子;本文所提改進Faster-RCNN 算法檢測效果較好,測試圖像中三個絕緣子均被框選,如圖9(d)。由此可知,本文算法檢測絕緣子的定位精度高、穩定性好,可應用于電力巡線絕緣檢測場景中。
圖9 不同算法檢測效果對比Fig.9 Comparison of detection effect of different algorithms
針對高壓輸電線路人工巡檢難度較大、成本較高等問題,提出一種改進Faster-RCNN 算法電力巡線無人機航拍絕緣子檢測方法。該方法在特征提取網絡中引入注意力通道模塊SKNet 層,增加特征提取網絡特征提取視野和表達力;通過FRN 層歸一化特征通道,使歸一化不再依賴單次訓練數據尺寸;在候選區域提取層,使用更精確表達目標框位置關系DIoU 交并比替代IoU,增加目標檢測算法回歸精度。經實驗結果表明:所提改進Faster-RCNN 算法具有較高穩定性,可精確定位絕緣子,為進一步檢測絕緣子是否存在缺陷提供了準確位置信息。