楊傳凱, 孔志戰(zhàn), 謝倩楠, 杜建超
(1. 國網(wǎng)陜西省電力公司電力科學研究院,陜西 西安 710100;2. 國網(wǎng)陜西省電力公司,陜西 西安 710048;3. 西安電子科技大學通信工程學院,陜西 西安 710071)
輸電導線是重要的電力設(shè)備,需要進行定期巡檢,保障其安全運行。隨著技術(shù)的發(fā)展,無人機巡檢成為新興的研究熱點,其目標是大幅提高工作效率,實現(xiàn)缺陷的自動檢測和識別[1]。在無人機巡檢過程中,導線識別是一項重要內(nèi)容,可以為無人機提供導航和避障依據(jù)。此外,對導線舞動、工程車侵入電力區(qū)域等異常檢測,導線識別都是必要的基礎(chǔ)工作。
一些研究采用傳統(tǒng)的數(shù)字圖像處理方法來實現(xiàn)導線檢測。傳統(tǒng)的方法利用導線的灰度值、邊緣輪廓[2]等淺層特征對圖像像素進行處理,并結(jié)合Hough變換[3]等提取導線。但往往由于戶外圖像背景復雜,樹枝、柵欄、建筑物邊緣的輪廓和灰度值與導線相似,對導線檢測結(jié)果產(chǎn)生干擾,使得檢測結(jié)果變差,難以廣泛應(yīng)用。近年來,以深度卷積神經(jīng)網(wǎng)絡(luò)(deep convolutional neural networks,DCNN)為代表的人工智能方法快速發(fā)展,在圖像分類[4]和識別[5]等方面取得很多成果。DCNN可以自動提取特征,適應(yīng)復雜多變的場景,已用于許多電力設(shè)備的識別與故障檢測,如桿塔[6]、絕緣子[7]等。由于圖像中導線細長的特點,基于DCNN的導線檢測算法相當于對導線進行語義分割,實現(xiàn)像素級別的分類。目前,語義分割算法被用于許多圖像處理領(lǐng)域,如遙感圖像分割[8],裂縫識別[9],煙霧區(qū)域分割[10]等方面。因語義分割網(wǎng)絡(luò)能夠挖掘更深層次的目標特征,已有學者將其應(yīng)用于導線檢測中,并取得了良好的效果[11]。最新的語義分割網(wǎng)絡(luò)DeepLab系列[12]網(wǎng)絡(luò)結(jié)合DCNN和概率圖模型DenseCRFs,取得了比DCNN更好的檢測精度。隨后,谷歌公司采用解碼器進一步改進DeepLab v3,并在空間金字塔池化結(jié)構(gòu)[13]和解碼器部分引入深度可分離卷積[14]降低網(wǎng)絡(luò)的計算復雜度,獲得目前效果最好的語義分割網(wǎng)絡(luò)DeepLab v3+網(wǎng)絡(luò)[15]。
為解決傳統(tǒng)數(shù)字圖像處理技術(shù)在導線檢測中準確率低的問題,文中基于DeepLab v3+網(wǎng)絡(luò)設(shè)計一種輸電導線自動識別方法,與其他方法相比具有更優(yōu)的識別效果和更高的準確率,并且能夠應(yīng)用于輸電線路巡檢領(lǐng)域,促進巡檢的智能化發(fā)展。
采用DeepLab v3+網(wǎng)絡(luò)初步識別輸電導線,其結(jié)構(gòu)見圖1。在編碼器部分,先將圖像送入Xception[14]網(wǎng)絡(luò)提取導線特征,然后通過多孔空間金字塔池化(atrous spatial pyramid pooling,ASPP)結(jié)構(gòu)獲取導線的多尺度特征。在解碼器部分,先將編碼器輸出的多尺度特征進行4倍的上采樣操作,然后融合相同分辨率的淺層特征,最后通過上采樣操作恢復到與原圖相同的尺寸,得到導線的分割結(jié)果。
圖1 DeepLab v3+網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Structure of DeepLab v3+ network
1.1.1 編碼器
編碼器采用Xception網(wǎng)絡(luò)進行特征提取。由于池化層會造成細節(jié)和位置信息丟失,Xception網(wǎng)絡(luò)刪減池化層引入空洞卷積,在不改變特征圖尺寸的情況下,自由感受視野,匯聚高層語義信息。同時,Xception網(wǎng)絡(luò)引入通道可分離卷積[14],將通道信息和空間信息去耦合,減少網(wǎng)絡(luò)訓練過程中的參數(shù)量,降低網(wǎng)絡(luò)的計算復雜度。
1.1.2 ASPP結(jié)構(gòu)
DeepLab v3網(wǎng)絡(luò)的ASPP結(jié)構(gòu)包括4個并行的不同空洞率的空洞卷積層,能結(jié)合不同尺度的特征,獲得物體的多尺度信息。由于空洞卷積會隨著空洞率的增加而退化,不能獲取遠距離信息,因此DeepLab v3+網(wǎng)絡(luò)的ASPP結(jié)構(gòu)在其基礎(chǔ)上進行改進,引入全局圖像池化,增加圖像級的特征。
1.1.3 解碼器
DeepLab v3+網(wǎng)絡(luò)引入1個解碼器,逐步恢復特征提取過程中丟失的細節(jié)和位置信息。具體實現(xiàn)步驟為:首先將編碼器輸出的特征圖進行4倍上采樣,然后與特征提取網(wǎng)絡(luò)中具有相同空間分辨率的低層特征融合,最后再進行4倍上采樣,恢復到與原圖大小相同的尺寸。在特征提取網(wǎng)絡(luò)中,特征圖的通道數(shù)較多,因此在特征融合前,要采用1×1的卷積對低層特征進行通道數(shù)變換。
DeepLab v3+網(wǎng)絡(luò)通過訓練數(shù)據(jù)集,提取并學習輸電導線圖像特征,不斷調(diào)整網(wǎng)絡(luò)的權(quán)重參數(shù),實現(xiàn)端到端像素級的分類。文中使用包含2 533張512×512大小的導線圖像和對應(yīng)標簽圖像的數(shù)據(jù)集訓練網(wǎng)絡(luò),導出可用于導線檢測的PB模型,并基于TensorFlow框架調(diào)用PB模型初步分割導線,結(jié)果如圖2所示。可以看出,采用DeepLab v3+網(wǎng)絡(luò)能夠?qū)崿F(xiàn)導線的初步分割,但分割結(jié)果有斷裂和偽導線的問題,需要對分割結(jié)果作進一步的精細化處理。
圖2 DeepLab v3+分割結(jié)果Fig.2 Segmentation results of DeepLab v3+
在初步分割結(jié)果圖中,首先采用改進的最小點對法對斷裂導線進行連接,再采用長度閾值法去除偽導線,獲得完整的導線識別結(jié)果。
常用的斷點連接方法有:最小點對法和膨脹細化法[16]。由于膨脹的次數(shù)與斷點之間的距離有關(guān),因此當斷點之間距離較遠時不能采用膨脹細化法。最小點對法容易出現(xiàn)導線錯誤連接的情況,導致不在同一條導線上的斷點連接到一起,并且當斷點之間距離較遠或相鄰導線之間距離較近時,這種情況發(fā)生的可能性更大。
針對最小點對法容易出現(xiàn)錯誤連接的問題,文中提出一種基于改進的最小點對法的斷點連接算法,在進行斷點匹配時增加共線約束條件,圖3為斷點連接的具體過程。改進的連接算法主要分為4個步驟。
(1) 骨架化。采用文獻[17]中的算法對導線進行骨架化,獲得單像素的導線骨架,結(jié)果如圖3(b)所示。
(2) 斷點搜索。通過步驟(1)獲得單像素的骨架圖,對骨架圖中的每一個像素點,判斷是否為斷點。判斷準則:如果該像素點為前景像素,且該像素的八鄰域有且只有1個前景像素,則認為該像素點為斷點。
(3) 斷點匹配。如圖4所示,對于骨架圖中的每一個斷點B,搜索與之匹配斷點C,判斷是否滿足以下匹配準則:
(a) 最小距離準則。B為當前斷點,其所在線段的另一個端點為A(也是斷點),同理C和D是斷點,也是另一條線段上的2個端點。假設(shè)兩斷點之間的距離閾值為D1,計算斷點B和C之間的歐式距離dBC。若dBC (b) 共向準則。取骨架圖中方向差異最小的2條導線之間的夾角作為閾值Θ,分別計算線段AB及CD與x軸的夾角θAB和θCD,若|θAB-θCD|<Θ,則滿足共向準則,繼續(xù)判斷是否滿足共線準則。 (c) 共線準則。點到直線距離的閾值D2為導線寬度的2倍,分別計算斷點C和D到直線AB的歐式距離dC和dD,若同時滿足dC (4) 斷點連接。由于輸電線路圖像中導線基本呈現(xiàn)直線狀態(tài),且導線斷裂部分不影響導線總體狀態(tài),因此可以采用直線連接步驟(3)匹配到的2個斷點,斷點連接結(jié)果如圖3(c)所示。 圖3 斷點連接過程Fig.3 Connected process of breakpoint 圖4 斷點連接準則Fig.4 Connected criterion of breakpoint 經(jīng)DeepLab v3+分割后的輸電導線圖像中存在少量的偽導線,采用長度閾值法去除圖中長度較短的偽導線,圖5為偽導線去除過程。通過八方向搜索法統(tǒng)計導線像素的數(shù)量并作為導線長度,如圖6所示,具體實現(xiàn)步驟如下: 圖5 偽導線去除過程Fig.5 Removal process of pseudo lines 圖6 八方向搜索Fig.6 Search in eight directions (1) 線段長度初始化為0; (2) 確定線段的起始像素,其八鄰域內(nèi)有且只有一個前景像素(灰度值為0); (3) 在當前像素的八鄰域內(nèi)搜索下一個前景像素,若搜索到,線段長度加1,并更新到下一個前景像素,同時將當前像素標記為128,防止重復搜索; (4) 重復步驟(3)直至當前像素的八鄰域內(nèi)沒有前景像素,到達導線終點; 式中dij和分別為節(jié)點間距離的理論真實值和實際測量值。同時定義N個未知節(jié)點定位誤差平均值與節(jié)點通信半徑R的比值作為相對定位誤差,即 (5) 判斷該導線的長度是否小于閾值,若小于,則認為是偽導線,在檢測結(jié)果中去除,否則保留。 去除偽導線后的結(jié)果如圖5(b)所示,該方法能較好地去除偽導線,保留真正的導線。 獲得導線檢測結(jié)果后,還需分離出每條導線?;趦?yōu)化處理后的導線骨架圖,采用八方向搜索法進行分離,分離后對導線編號,結(jié)果如圖7所示。具體實現(xiàn)步驟如下: 圖7 導線編號Fig.7 Lines numbering (1) 導線編號n初始化為0; (2) 搜索優(yōu)化后骨架圖中所有斷點(此處指導線的端點),加入端點集S中; (3) 取出S中的第一個端點記為A1,采用八方向搜索法搜索其所在導線的另一個端點,記為A2,導線編號n加1,并在原圖中標注導線號碼; (4) 將端點A1和A2從S中去除,更新端點集S; (5) 重復步驟(3)和步驟(4),直至端點集S為空。 實驗使用采集到的78張1 280×720的導線圖像建立數(shù)據(jù)集。導線標簽圖共有2個類別,即導線和背景。導線標注為黑色(灰度值為0),背景標注為白色(灰度值255)。為提高網(wǎng)絡(luò)的訓練效果,采用旋轉(zhuǎn)、鏡像和裁剪等方式擴充圖像,擴充后數(shù)據(jù)集包含2 533張大小為512×512像素的導線圖像。 網(wǎng)絡(luò)的訓練參數(shù)設(shè)置:初始學習率為0.000 1,最大訓練次數(shù)為50 000次,計算損失函數(shù)時背景與導線的權(quán)重比為1∶20,權(quán)重衰減系數(shù)為0.000 04,特征提取網(wǎng)絡(luò)為Xception65,ASPP結(jié)構(gòu)中空洞卷積的空洞率分別為6,12,18。 為驗證文中所提方法的性能,實驗中將FCN-8s[18]和FCN-8s+網(wǎng)絡(luò)模型用來對比。FCN-8s采用VGG16提取目標特征,由于在特征提取過程中經(jīng)過了5個池化層,因此特征圖的分辨率依次降為原圖的1/2,1/4,1/8,1/16,1/32。通過上采樣操作,融合第3個和第4個池化層的特征,可得較好的分割精度。FCN-8s+通過上采樣操作將VGG16的輸出特征與前4個池化層的特征依次融合,分割結(jié)果更精細,更具連續(xù)性,但同時存在更多偽導線。 圖8為導線初步識別的實驗結(jié)果,可以看出,F(xiàn)CN-8s分割結(jié)果中導線大量斷裂,幾乎不能檢測出連續(xù)的導線,丟失了導線的語義信息,并存在錯誤分割、漏檢和偽導線。FCN-8s+能檢測出部分導線,雖然與FCN-8s相比導線斷裂減少且連續(xù)性提升很大,但由于融合了更底層的特征,使得偽導線更多。而DeepLab v3+網(wǎng)絡(luò)的檢測結(jié)果中,導線分割最完整,像素分類的準確性最高,最大程度上保留了導線的語義信息,且偽導線非常少。 圖8 網(wǎng)絡(luò)檢測結(jié)果對比Fig.8 Comparison of network detection results 采用改進的最小點對法和長度閾值法進行精細化處理,并統(tǒng)計13張1 280×720的輸電圖像中導線的識別結(jié)果,如表1所示。 表1 實驗結(jié)果評價Table 1 Evaluation of experimental results 由于FCN-8s模型初步識別結(jié)果較差,因此在精細化提取實驗中僅對比了FCN-8s+和文中方法。由表1可知,文中所提方法經(jīng)過精細化處理可以準確且完整地識別出導線,正確率可達93%以上,而FCN-8s+僅為65%。圖9為2種方法導線提取結(jié)果的效果圖,對于較細的導線,F(xiàn)CN-8s+方法存在漏檢及提取不完整的現(xiàn)象,文中方法則提取更加完整,正確率高。 圖9 導線提取結(jié)果對比Fig.9 Comparison of transmission lines extraction results 最后,對文中方法識別出的導線進行提取,分離出圖像所包含的每條導線和總的導線條數(shù),其結(jié)果如圖9(d)所示。 文中基于語義分割DeepLab v3+網(wǎng)絡(luò),提出了一種輸電圖像中導線的自動檢測算法。由于DeepLab v3+網(wǎng)絡(luò)能夠?qū)Ь€實現(xiàn)像素級分割,并且對位置和細節(jié)信息敏感,在初步的識別結(jié)果中保留了導線較多的細節(jié)信息。針對分割結(jié)果中存在的導線斷裂和偽導線等情況,進一步采用改進的最小點對法和長度閾值法進行精細化處理,恢復初步識別結(jié)果中導線斷裂的部分,并去除偽導線,最終獲得了較好的導線提取和分離結(jié)果。實驗結(jié)果表明該算法檢測準確率高,能夠滿足輸電線路巡檢任務(wù)對導線檢測的要求。此外,將該算法部署到無人機搭載的嵌入式設(shè)備中,可以提高巡檢的智能化程度,實現(xiàn)自主巡檢。 本文得到國網(wǎng)陜西省電力公司科技項目(5226KY18002J)資助,謹此致謝!2.2 去除偽導線
3 導線編號
4 實驗結(jié)果
4.1 實驗環(huán)境
4.2 結(jié)果與分析
5 結(jié)論