王堅俊,章 瑋,樓華輝,鄭偉彥,朱 杰
1(國網(wǎng)浙江省電力有限公司 杭州供電公司,杭州 310000)
2(國網(wǎng)浙江省電力有限公司 杭州市余杭區(qū)供電公司,杭州 310000)
輸電線路巡檢是保證輸電可靠性和防止電力安全事故發(fā)生的重要措施之一.在過去,依賴于巡檢員定期巡檢,這是項(xiàng)勞動密集型的工作,耗費(fèi)大量的人力物力.現(xiàn)如今,無人機(jī)技術(shù)快速發(fā)展,文獻(xiàn)[1-5]提出了無人機(jī)巡檢方案.通過搭載光學(xué)設(shè)備的無人機(jī)獲取輸電線路的圖像,然后對圖像進(jìn)行處理完成巡檢工作.輸電線檢測是圖像處理至關(guān)重要的環(huán)節(jié),只有準(zhǔn)確的檢測出輸電線,才能進(jìn)一步分析和診斷輸電線是否發(fā)生破損、斷股等故障.
邊緣檢測是直線檢測得關(guān)鍵步驟,在文獻(xiàn)[6-8]中都應(yīng)用了Canny邊緣檢測算法,雖然在文獻(xiàn)[9,10]中都對Canny算法進(jìn)行了改進(jìn),主要是針對梯度方向上的改進(jìn).然而Canny算法還有很大一個弊端,那就是雙閾值,且閾值沒有自適應(yīng)能力,針對每一張圖像都需要進(jìn)行繁瑣得人工調(diào)參.嚴(yán)重影響了工作效率.
在文獻(xiàn)[11-15]中都是采用Hough變換的方法進(jìn)行直線檢測,雖然都能檢測出直線,但是存在很多干擾直線段,并沒有很好得排除誤檢直線段.而且還會因?yàn)橐恍┚植空趽鯇?dǎo)致檢測出來得直線發(fā)生間斷,只是把它們簡單的連接起來,存在較大得偏差.
針對上述問題,提出了一種基于無人機(jī)圖像的輸電線檢測方法,該方法主要貢獻(xiàn)如下:
1)通過Otsu獲取高低閾值的方法改進(jìn)Canny邊緣檢測算法,有效避免人工調(diào)參,大大提升了效率和為軟件自動化提供有力保障.
2)使用分式查表法改進(jìn)Hough變換,大大減小檢測時間.
3)提出線-線空間信息分析方法,能夠有效的對Hough變換所檢測的直線段進(jìn)行篩選和擬合.
4)提出完整的基于無人機(jī)圖像的輸電線檢測方法,為后續(xù)的輸電線破損、斷股等故障診斷提供便利.
如圖1所示,為本文算法的整體流程.首先,通過Otsu獲取高低閾值的方法改進(jìn)Canny邊緣檢測算法,用于提取輸電線圖像邊緣;然后,通過數(shù)學(xué)形態(tài)學(xué)方法處理邊緣檢測得到的二值圖像,并用分式查表法改進(jìn)的Hough變換對數(shù)學(xué)形態(tài)學(xué)處理后的圖像進(jìn)行直線段檢測;最后,提出線-線空間信息分析的方法,對檢測出來的直線段進(jìn)行篩選和擬合.
Canny邊緣檢測的主要步驟: 首先,使用高斯低通濾波器對輸電線圖像濾波,達(dá)到平滑降噪的目的.然后,計算輸電線圖像的梯度大小和方向,并用非極大值抑制方法抑制梯度幅值.最后,采用高低閾值消除偽邊緣和邊緣連接.本文的高低閾值通過Otsu方法獲取,具體流程如圖2所示.
圖1 本文算法的整體流程
圖2 自適應(yīng)閾值Canny邊緣檢測流程圖
2.1.1 濾波消除噪聲
使用高斯低通濾波器對輸電線圖像濾波,達(dá)到平滑降噪的目的,二維高斯函數(shù)為:
其梯度向量為:
其中,
原圖F(x,y)經(jīng)過平滑濾波器的卷積操作后就得到了輸出圖像I(x,y),其中,k為高斯濾波器參數(shù),用于控制平滑度.
2.1.2 計算梯度值
依次計算3×3鄰域的0°,45°,90°,135°方向的一階偏導(dǎo)數(shù),
進(jìn)行偏導(dǎo)數(shù)合并,
計算梯度的幅值和方向,
2.1.3 Otsu法選取閾值
Otsu是簡單高效的自適應(yīng)閾值選取方法.其主要思想是通過最大化類間方差來選取出實(shí)現(xiàn)最佳分割的閾值.
用灰度圖表示輸電線路圖像,從而計算出灰度直方圖,并將其歸一化后得到,
其中,n表示圖像的總像素數(shù),nq表 示在rq灰度級的像素數(shù),l表示圖像擁有的灰度級數(shù).
用k和m表示高低閾值,那么第一類的像素灰度級為[0,1,2,…,k],第二類的像素灰度級為[k+1,k+2,…,m],第三類的像素灰度級為[m+1,m+2,…,l-1],可定義類間方差函數(shù)為:
其中,
類間方差函數(shù)分別對k和m求一階偏導(dǎo)數(shù)可得:
從而得到,
因此,滿足公式(17)(18)的k和m就是所取得高低閾值.
2.1.4 確定邊緣
采用以下策略來確定像素點(diǎn)是否為邊緣像素:
1)若像素幅值大于高閾值,則判定為邊緣像素.
2)若像素幅值小于低閾值,則判定為非邊緣像素.
3)若像素幅值在高、低閾值之間,且該像素連接到邊緣像素時,判定為邊緣像素,否則判定為非邊緣像素.
形態(tài)學(xué)處理是圖像上下文像素集合的非線性運(yùn)算.可通過對2.1所述邊緣檢測方法得到的二值圖像進(jìn)行膨脹運(yùn)算,從而實(shí)現(xiàn)輸電線邊緣間斷點(diǎn)的連接,然后通過腐蝕運(yùn)算使得輸電線面積不產(chǎn)生大的變化.
膨脹運(yùn)算是將圖像A與核B進(jìn)行卷積,計算出圖像A被核B覆蓋區(qū)域像素的局部最大值,并將此局部最大值賦給圖像A被核B覆蓋區(qū)域的中心位置.數(shù)學(xué)表達(dá)式為:
腐蝕運(yùn)算則與膨脹運(yùn)算恰恰相反,將圖像A與核B進(jìn)行卷積,計算出圖像A被核B覆蓋區(qū)域像素的局部最小值,并將此局部最小值賦給圖像A被核B覆蓋區(qū)域的中心位置.數(shù)學(xué)表達(dá)式為:
2.3.1 概述
Hough變換實(shí)現(xiàn)了圖像空間到參數(shù)空間得映射關(guān)系,被廣泛應(yīng)用于直線檢測.
如圖3所示,展示了Hough變換應(yīng)用于直線檢測的主要思想: 根據(jù)圖像空間和Hough參數(shù)空間的對偶性.首先,把圖像空間中的像素點(diǎn)變換到Hough參數(shù)空間中.然后,在Hough參數(shù)空間里進(jìn)行累加統(tǒng)計.最后,查找累加器的峰值,從而檢測出直線.
圖3 Hough變換圖解
2.3.2 對偶性分析
在圖像空間的笛卡爾坐標(biāo)系中,所有共線的點(diǎn)(x,y)可用直線方程描述為:
其中,k為斜率,b為截距.將其轉(zhuǎn)換到Hough參數(shù)空間的極坐標(biāo)系下可得:
因而就有:
由于k和b為定值,所以在圖像空間中的直線變換到Hough參數(shù)空間中就成了點(diǎn).
在圖像空間的笛卡爾坐標(biāo)系中,過點(diǎn)(x0,y0)的直線束可描述為:
其中,A和B為系數(shù),每一組A和B將對應(yīng)一條直線.將其轉(zhuǎn)換到Hough參數(shù)空間的極坐標(biāo)系下可得:
在圖像空間的笛卡爾坐標(biāo)系中過定點(diǎn)(x0,y0)的所有直線,可用Hough參數(shù)空間的極坐標(biāo)系下正弦曲線來描述.
2.3.3 分式查表法改進(jìn)Hough
經(jīng)典Hough變換具有計算量大,存儲空間消耗大等劣勢.根據(jù)2.3.2的對偶性分析,也可以使用直線的斜率k和截距b來建立參數(shù)空間,并且使用分式查表法進(jìn)行改進(jìn).將斜率和截距用分式表示,具體思路如下:
以大小為m×n的圖像為例(其中m>n).首先,將1~m的整數(shù)進(jìn)行分解,如8可分解為: “1 ×8” 、“2 ×4”,18可分解為: “1 ×18” 、“2 ×9” 、“3 ×6”,將這些化簡方案存儲起來得到分式化簡表.然后,將1~m的整數(shù)進(jìn)行兩兩相除,并利上一步得到的分式化簡表進(jìn)行查表化簡,得到最簡分式表.
在建立好最簡分式表之后,檢測斜率時,就用上述的分式化簡表進(jìn)行查表化簡,然后將結(jié)果在最簡分式表對應(yīng)位置的計數(shù)器加1.最后,找出計數(shù)器值大于閾值的位置的斜率.
使用類似方法,分別在已求得的斜率下進(jìn)行截距檢測,找出計數(shù)器值大于閾值的位置的截距.
2.4.1 直線段分析
分析經(jīng)過Hough變換之后檢測出的直線段,可以歸為以下幾類:
1)如圖4所示,分段直線段,但它們屬于同一條輸電線.
圖4 直線段屬于同一直線
2)如圖5所示,相互交疊的直線段,但是它們屬于同一條輸電線.
圖5 直線段交疊
3)如圖6所示,存在誤檢的直線段,A1B1是輸電線,而A2B2是誤檢的直線段.
圖6 存在誤檢直線段
2.4.2 線-線空間信息分析
定義直線段s1、s2的 分離度r(s1,s2)和方向相差度u(s1,s2),
針對2.4.1所述情況,分離度和方向相差度的表現(xiàn)結(jié)果如表1所示,
表1 各類情況下的分離度和方向相差度表現(xiàn)
因此,可以根據(jù)線-線空間信息分析: 把與多條直線段的方向相差度都很大的直線段判定為誤檢直線段并將其剔除;把方向相差度很小且分離度很小的直線段進(jìn)行連接;把方向相差度很小且分離度較大的直線段進(jìn)行合并.最終實(shí)現(xiàn)了直線段的篩選和擬合,完成輸電線檢測.
為驗(yàn)證本文算法在邊緣檢測階段Canny閾值自適應(yīng)的便利性,分式查表法改進(jìn)Hough變換的高效性和直線篩選擬合時的線線空間信息分析方法的良好性能,以及對本文算法的整體效果評價.在無人巡線圖像上進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)所用環(huán)境為Win10系統(tǒng)下,VS2015+Opencv,硬件設(shè)備CPU為i7-7700K,內(nèi)存16 G.
本組實(shí)驗(yàn),選取2組無人機(jī)巡線圖像,分別使用手動閾值和自適應(yīng)閾值的Canny邊緣檢測方法對巡線圖像進(jìn)行邊緣檢測.效果如圖7所示.
圖7 手動閾值和Otsu自適應(yīng)閾值處理結(jié)果
在使用經(jīng)典Canny邊緣檢測方法時: 圖7(a)和圖7(d)由于閾值過小,造成檢測出來的邊緣過多,并且凸顯了背景中樹葉等物體邊緣對輸電線檢測造成干擾的問題;圖7(b)和圖7(e)由于閾值過大,甚至造成了輸電線邊緣的丟失.可見,閾值對Canny邊緣檢測效果是至關(guān)重要的,然而在使用經(jīng)典Canny方法時,針對不同圖像,閾值都需要一次次手動調(diào)整,并且想要調(diào)整出合適的閾值,是一項(xiàng)非常繁瑣,工作量巨大的任務(wù).本文提出了Otsu方法來自適應(yīng)獲取閾值,其處理效果如圖7(c)和(f)所示,即實(shí)現(xiàn)了不錯的處理效果,同時又避免了繁瑣的人工調(diào)閾值.
本組實(shí)驗(yàn)分別使用經(jīng)典Hough變換直線檢測和分式查表法改進(jìn)的Hough變換在無人機(jī)巡線圖像大小為128×128,2 56×256,8 00×600的圖像上進(jìn)行實(shí)驗(yàn),檢測所需時間如表2所示.
從表2可以看到,在圖像為 1 28×128時,經(jīng)典Hough變換所需時間為3.7 s,而分式查表法Hough變換幾乎是可以忽略的時間.隨著圖像增大為256×256時,分式查表法Hough變換所需時間僅是經(jīng)典Hough變化的千分之一數(shù)量級.進(jìn)一步增大圖像到800×600,所需時間達(dá)到萬分之一數(shù)量級.可見,隨著圖像的增大,分式查表法Hough變換所體現(xiàn)出來的速度 優(yōu)勢更大.
表2 2種Hough變換檢測所需時間對比
在圖像采集設(shè)備性能越來越好的背景下,由于后續(xù)需要進(jìn)行輸電線的破損等故障檢測,所采集的無人機(jī)巡線圖像往往是高分辨率的大圖,分式查表法改進(jìn)的Hough變換可以很好的解決Hough變換檢測時所帶來的計算量大,耗時嚴(yán)重的問題.
本組實(shí)驗(yàn),選取2組無人機(jī)巡線圖像進(jìn)行實(shí)驗(yàn).提取出Hough變換直線段檢測的結(jié)果圖和經(jīng)過本文提出的線線空間信息分析方法對直線段篩選擬合的結(jié)果圖,將他們作對比.
實(shí)驗(yàn)結(jié)果如圖8所示,其中圖8(b)和圖8(e)為Hough變換直線段檢測的結(jié)果,可以看到,同一條輸電線上出現(xiàn)了多條相互交疊的直線段,主要是由于無人機(jī)拍攝距離較近,并且形態(tài)學(xué)處理中有膨脹運(yùn)算,造成輸電線橫截面方向占據(jù)的像素點(diǎn)較多.同一條輸電線上還有少量的直線段之間會出現(xiàn)間斷,這是受到部分輸電線的局部位置被腐蝕和邊緣檢測效果等因素的影響.在圖8(e)中還出現(xiàn)了誤檢,這是由于圖像背景復(fù)雜,受到邊上連續(xù)茂密樹葉的干擾.在通過本文提出的線線空間信息分析方法處理后,結(jié)果如圖8(c)和8(f)所示,可以很好的將屬于同一條輸電線的大量交疊直線段和少量間斷直線段擬合成一條完整的直線,并且還可以濾除誤檢出來的直線段.
圖8 實(shí)驗(yàn)結(jié)果對比
本組實(shí)驗(yàn),共選取134張無人機(jī)巡線圖像,共含輸電線318根,使用本文算法進(jìn)行實(shí)驗(yàn).從檢測率和誤檢率兩個層面進(jìn)行統(tǒng)計與評價.具體結(jié)果如表3所示.最終正確檢測出284根輸電線,檢測正確率高達(dá)89.30%,而誤檢根數(shù)只有12根,誤檢率低至3.77%.而對于未改進(jìn)的原始Canny+Hough方法,所得的檢測正確率只有64.79%,誤檢率高達(dá)20.44%.可見,本文Otsu方法改進(jìn)的Canny邊緣檢測的閾值恰當(dāng),提出的線線空間分析方法可以很好的對Hough變換檢測出來的直線段進(jìn)行篩選擬合.通過本組實(shí)驗(yàn),驗(yàn)證了本文算法具有正確率高,誤檢率低的優(yōu)點(diǎn).
表3 本文算法綜合評價表
本文提出的方法: 通過基于Otsu的自適應(yīng)閾值Canny邊緣檢測方法對無人機(jī)圖像進(jìn)行邊緣檢測得到二值圖像,然后經(jīng)過數(shù)學(xué)形態(tài)學(xué)方法處理后,用分時查表法改進(jìn)的Hough變換進(jìn)行直線段檢測,最后用線-線空間信息分析的方法進(jìn)行直線段篩選和擬合,最終檢測出輸電線.
通過在無人機(jī)圖像上實(shí)驗(yàn),驗(yàn)證了這是一種性能良好的基于無人機(jī)圖像的輸電線檢測方法.