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