, ,,,
(1.國(guó)網(wǎng)浙江杭州市供電公司,杭州 310000;2.國(guó)網(wǎng)浙江杭州市余杭區(qū)供電有限公司,杭州 310000)
輸電線路巡檢是保證輸電可靠性和防止電力安全事故發(fā)生的重要措施之一。在過(guò)去,依賴于巡檢員定期巡檢,這是項(xiàng)勞動(dòng)密集型的工作,耗費(fèi)大量的人力物力?,F(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ā)生破損、斷股等故障。
許多現(xiàn)有的直線檢測(cè)方法都已廣泛應(yīng)用于無(wú)人機(jī)圖像的輸電線檢測(cè)。例如:基于幅度、梯度方向[6-7],投票策略[8-9],直線支持區(qū)域[10],區(qū)域生長(zhǎng)和鏈碼[11]等。經(jīng)典的直線檢測(cè)過(guò)程是在應(yīng)用直線檢測(cè)方法之前對(duì)圖像作一個(gè)分割處理。Canny濾波[12]是非常好的邊緣檢測(cè)方法,常常和其他直線檢測(cè)方法一起使用。Hough變換是傳統(tǒng)的直線檢測(cè)方法,可在強(qiáng)對(duì)比度和分割良好的圖像中檢測(cè)出直線。文獻(xiàn)[13]的方法是結(jié)合脈沖耦合神經(jīng)網(wǎng)絡(luò)去除背景和聚類的方法檢測(cè)直線。在文獻(xiàn)[14]中,提出了一種基于Hough變換的Kalman濾波器的輸電線檢測(cè)方法,該方法采用了OSTU閾值法,比PCNN算法[15]獲得更好的檢測(cè)效果。此外,還有許多在梯度提取階段獲取圖像中相應(yīng)變化的直線檢測(cè)方法,這些方法往往都類似于Prewitt,Sobel和Scharr等。
目前已經(jīng)提出了很多比Hough變換更準(zhǔn)確、更快的方法。例如,文獻(xiàn)[10]提出了一種基于梯度信息和線支持區(qū)域的直線檢測(cè)方法。又如LSD算法,使用了區(qū)域生長(zhǎng)法和考慮錯(cuò)誤警報(bào)[16]的直線檢測(cè)方法,該方法與Hough變換相比可以獲得更高的精度,然而速度卻要慢很多。文獻(xiàn)[17]所提出的EDLines也是一種很好的直線檢測(cè)方法,該方法是文獻(xiàn)[18]所提ED方法的改進(jìn),通過(guò)快速邊緣檢測(cè)和最小二乘直線擬合來(lái)進(jìn)行直線檢測(cè),可以達(dá)到和LSD差不多的準(zhǔn)確度,并且速度可以快很多。
在計(jì)算機(jī)圖形學(xué)領(lǐng)域,目前也已經(jīng)提出很多繪制直線和圓的算法,例如,Bresenham直線和中值點(diǎn),但它們與直線檢測(cè)過(guò)程沒(méi)有關(guān)聯(lián)。而且,目前還有學(xué)者研究直線特征的位置估計(jì)和映射[19],通過(guò)約束Hough變換和擴(kuò)展卡爾曼濾波方法來(lái)估計(jì)直線位置。
結(jié)合前輩們的研究結(jié)果,本文通過(guò)研究,主要貢獻(xiàn)如下:
1)提出一種兩點(diǎn)間直線搜索的輸電線檢測(cè)方法。該方法是一種基于圖像幾何關(guān)系的新的直線檢測(cè)方法。
2)通過(guò)分析得出一組基于格式塔原理的特征,并利用該組特征實(shí)現(xiàn)相鄰直線段的連接,為檢測(cè)更長(zhǎng)的輸電線提供便利。
Canny濾波是由John F. Canny提出,其主要思想是利用梯度變化尋找出圖像灰度強(qiáng)度變化最強(qiáng)的位置。
其主要步驟是:首先,使用高斯低通濾波器對(duì)輸電線圖像濾波,達(dá)到平滑降噪的目的。然后,計(jì)算輸電線圖像的梯度大小和方向,并用非極大值抑制方法抑制梯度幅值。最后,采用高低閾值消除偽邊緣和邊緣連接。
其優(yōu)點(diǎn)是可以在分割過(guò)程中只需要很短的計(jì)算時(shí)間。然而它有以下兩大缺點(diǎn):在用于檢測(cè)輸電線那樣的小器件時(shí),會(huì)在同一輸電線兩側(cè)檢測(cè)出兩個(gè)邊緣,造成干擾;它使用的是雙閾值,且閾值沒(méi)有自適應(yīng)能力,針對(duì)每一張圖像都需要進(jìn)行繁瑣得人工調(diào)參,顯然不合適。
方向可控濾波是由Freeman[20]提出,其主要思想任意方向的濾波器都可由一組基濾波器的線性組合構(gòu)成。可實(shí)現(xiàn)對(duì)圖像不同角度的濾波,從而獲得更多的能量點(diǎn),準(zhǔn)確檢測(cè)出圖像中物體的邊緣。
例如可選用二維高斯函數(shù)作為核函數(shù),構(gòu)建方向可控濾波。
上式為笛卡爾坐標(biāo)系x,y下的二維高斯函數(shù),σ是依賴于線寬的標(biāo)準(zhǔn)差[21]。
如圖1所示,它是通過(guò)對(duì)二維高斯函數(shù)求一階偏導(dǎo)數(shù)得到Gx和Gy,將其作為基函數(shù);同時(shí)引入方向偏差參數(shù)θ,根據(jù)以下規(guī)則進(jìn)行線性組合。
G(x,y:θ)=cos(θ)Gx+sin(θ)Gy
選用3種不同角度所得的濾波效果圖。
如圖2所示,它是高斯導(dǎo)數(shù)通過(guò)希爾伯特變換策略得到的3種方向的濾波效果圖。
圖1 濾波器G2
圖2 濾波器H2
大多數(shù)直線檢測(cè)的圖像處理方法都是基于卷積核(濾波)或者鄰域操作(連接連通域)。然而,針對(duì)基于局部搜索的直線檢測(cè)方法,執(zhí)行從直線上某一像素點(diǎn)開(kāi)始的擴(kuò)展搜索會(huì)比八鄰域搜索更有用。計(jì)算機(jī)圖形學(xué)算法廣泛應(yīng)用于修改原圖以在較大鄰域執(zhí)行擴(kuò)展比較,并可以驗(yàn)證直線檢測(cè)中的錯(cuò)誤點(diǎn)。在基于圓對(duì)稱性的分割圖像中,柵格圓算法被用于搜索和驗(yàn)證像素點(diǎn)是否屬于圖像中的某條直線。Bresenham算法[22]用于創(chuàng)建以像素點(diǎn)為單位的圓的輪廓,如圖3所示,不同大小的圓輪廓實(shí)例。
圖3 不同大小的柵格圓
圖4 八分圓對(duì)稱性
此外,該對(duì)稱性可以用于檢測(cè)兩個(gè)相對(duì)的點(diǎn)是否屬于來(lái)源于中心軸(xc,yc)的直線。該算法首先在方向可控濾波后分割的圖像中,驗(yàn)證所有可能的對(duì)稱對(duì)(xc+x,yc+y)和(xc-x,yc-y)是否與背景不同。然后,在每條被搜索的直線方向上選擇更多的點(diǎn)進(jìn)行驗(yàn)證它是否屬于該直線。
該算法可以檢測(cè)直線的有效點(diǎn)。如圖5所示,若可以在搜索圓內(nèi)找到屬于同一直線的兩個(gè)等距點(diǎn),則該搜索圓的圓心就被定義為有效點(diǎn)。通過(guò)畫(huà)圓算法可以檢測(cè)直線的有效點(diǎn)。
圖5 有效點(diǎn)
如圖6所示是一些不同角度的情況,其精度依賴于圓半徑的選擇。因此,這就需要足夠長(zhǎng)的半徑來(lái)在網(wǎng)格中畫(huà)圓,如圖3所示是不同像素半徑所畫(huà)的圓。
圖6 不同方向
該算法包含以下步驟:
1)使用方向可控濾波器對(duì)圖像進(jìn)行分割。
2)使用分割所得的與背景無(wú)關(guān)圖像的所有像素點(diǎn)進(jìn)行以下操作:
(1)通過(guò)畫(huà)圓算法搜索有效點(diǎn)。
(2)如圖5所示,若是有效點(diǎn),可以得到Dx和Dy。
(3)如圖7所示,根據(jù)Dx和Dy的值,沿著對(duì)稱方向移動(dòng)。
(4)如果點(diǎn)(x,y)是有效點(diǎn),將其移動(dòng)到點(diǎn)(x+skip·Dx,y+skip·Dy),繼續(xù)搜索有效點(diǎn),直至搜索不到。
(5)保存第一個(gè)和最后一個(gè)有效點(diǎn)。
(6)畫(huà)出介于第一個(gè)有效點(diǎn)和最后一個(gè)有效點(diǎn)之間的直線段。
圖7 CBS處理過(guò)程
該算法相應(yīng)的偽代碼下:
Data: x, y, r, rend, skip, pos, Image
Resulit: Line list[]
1 p = pos;
2 while r < rend do
3 rend current;
4 if ValidPoint(M, x, y, r, Dx, Dy, skip) then
5 if abs(Dx) > abs(Dy) then
6 steps = abs(Dx);
7 else
8 steps = abs(Dy);
9 end
10 incX = Dy / steps;
11 incY = Dx / steps;
12 xi = x - Dx;
13 yi = y - Dy;
14 while NextCircle(M, x, y, Dx, Dy) > N do
15 x += Dx * skip;
16 y += Dy * skip;
17 k++;
18 end
19 xf = x;
20 yf = y;
21 for i from 1 to k do
22 // Erase line
23 Image[x][y] = 0;
24 end
25 end
26 list[p].x0 = yf;
27 list[p].y0 = xf;
28 list[p].xf = yi;
29 list[p].yf = xi;
30 p++;
31 end
該算法關(guān)鍵參數(shù)說(shuō)明如下:
半徑r:搜索圓的半徑,該值取決于所檢測(cè)直線的長(zhǎng)度和圖像的大小。隨著圓的半徑的增大,可以允許更多的可能性來(lái)估計(jì)直線的角度和定義更精確的對(duì)稱點(diǎn)。
步長(zhǎng)skip:一個(gè)有效點(diǎn)到另一個(gè)有效點(diǎn)的增量,該值起到控制檢測(cè)速度和精度的作用。值越大,檢測(cè)速度越快,然而檢測(cè)精度越低。經(jīng)過(guò)試驗(yàn),在保障精度的條件下,該值最大可以取到接近搜索圓的半徑。
根據(jù)文獻(xiàn)[23],存在一組基于格式塔原理的特征,這些特征可以判定一個(gè)直線段是否與另一個(gè)直線段相鄰,并且可以連接形成更長(zhǎng)的直線段。
本文主要使用以下特點(diǎn):
1)相似度:由于輸電線通常是圖像中近似平行的幾條直線,故而它們應(yīng)具有相似的斜率。
2)長(zhǎng)度:由于輸電線通常是圖像中較長(zhǎng)的直線段,故而優(yōu)先處理較長(zhǎng)的直線段。
3)近似性:通過(guò)計(jì)算兩條直線段的各個(gè)點(diǎn)之間的歐式距離來(lái)判定,若兩條直線段足夠接近并且相似,則可以將其替代為一條直線,從而減少冗余信息。
經(jīng)過(guò)連接算法處理后,可以得到一組檢測(cè)到的直線段,每條直線段用初始點(diǎn)坐標(biāo)(xi,yi)和結(jié)束點(diǎn)坐標(biāo)(xf,yf)表示。
首先,在人造圖像上進(jìn)行實(shí)驗(yàn),探究搜索半徑對(duì)CBS直線檢測(cè)性能的影響,以及驗(yàn)證基于格式塔原理的特征的直線連接方法的有效性。然后,在無(wú)人機(jī)巡線的真實(shí)圖像進(jìn)行實(shí)驗(yàn),驗(yàn)證本文算法的有效性,最后在較大量的無(wú)人機(jī)巡線圖像上實(shí)驗(yàn),驗(yàn)證其性能。實(shí)驗(yàn)所用軟件環(huán)境為Ubuntu16.04,硬件環(huán)境為i7-7700K處理器,16 G內(nèi)存。
本組實(shí)驗(yàn),選用2張人造圖像,分別采用半徑參數(shù)為5,10,20對(duì)圖像進(jìn)行CBS直線檢測(cè)。檢測(cè)效果如圖8所示。通過(guò)觀察可以看到:在半徑為5時(shí),檢測(cè)結(jié)果中均存在很多的鄰接線;而在隨著半徑增加,鄰接線越來(lái)越少,檢測(cè)的準(zhǔn)確度越來(lái)越高。所以可以得出結(jié)論:半徑參數(shù)較小時(shí),不能獲得良好的檢測(cè)結(jié)果,需要足夠大時(shí),才能獲得較好的檢測(cè)效果。
圖8 不同半徑的人造圖檢測(cè)效果
圖9 連接效果圖
選用CBS直線檢測(cè)最佳的結(jié)果(即半徑為20時(shí)),使用本文直線連接方法進(jìn)行直線段連接,所得實(shí)驗(yàn)結(jié)果如圖9所示。將其與連接前的結(jié)果進(jìn)行對(duì)比,顯然可以發(fā)現(xiàn),經(jīng)過(guò)連接算法處理,可以連接大部分的鄰近直線段,可以進(jìn)一步提高檢測(cè)性能。
本組實(shí)驗(yàn),選用無(wú)人機(jī)巡線的圖像進(jìn)行實(shí)驗(yàn)。如圖10所示,進(jìn)行方向可控濾波器分割后,不同半徑的CBS直線檢測(cè)效果圖。從圖10中可以看到,半徑參數(shù)較小時(shí),不能獲得良好的輸電線檢測(cè)結(jié)果,半徑較大時(shí),獲得了較好的檢測(cè)效果,與人造圖像上所得結(jié)論相吻合。故而,選用半徑為20時(shí)的CBS直線檢測(cè)結(jié)果進(jìn)行直線段連接。從圖10中直線連接前后的效果圖對(duì)比可以看出,直線連接處理依舊有效,可以進(jìn)一步提高輸電檢測(cè)性能。
圖10 無(wú)人機(jī)圖像
本組實(shí)驗(yàn),選取121張無(wú)人機(jī)巡線圖像,共含輸電線298根,分別使用本文算法和Hough變換方法進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果如表1所示。
表1 兩種算法實(shí)驗(yàn)結(jié)果表
從表1中可以看到,在121張無(wú)人機(jī)巡線圖像的298根輸電線中,本文算法可以檢測(cè)出256根,檢測(cè)準(zhǔn)確率高達(dá)85.9%,比Hough變換法高出21.1%。并且本文算法只誤檢27根輸電線,誤檢率低至9.1%,比Hough變換方法低11.4%??梢?jiàn),本文算法在無(wú)人機(jī)巡線圖像的輸電線檢測(cè)任務(wù)中,具有較高準(zhǔn)確率和較低誤檢率的優(yōu)點(diǎn)。
本文所提出的兩點(diǎn)間直線搜索的輸電線檢測(cè)方法:首先,通過(guò)方向可控濾波器對(duì)無(wú)人機(jī)圖像進(jìn)行分割。然后,通過(guò)所提出的CBS直線段檢測(cè)方法進(jìn)行直線段檢測(cè)。最后,通過(guò)所提出的基于格式塔原理的特征的直線連接方法進(jìn)行直線段連接。
通過(guò)在人造圖像上的實(shí)驗(yàn)可知: CBS直線檢測(cè)方法中,半徑參數(shù)需要足夠大時(shí),才能獲得較好的檢測(cè)效果;基于格式塔原理的特征的直線連接方法可以進(jìn)一步提高檢測(cè)性能。
隨后,在無(wú)人機(jī)巡線的真實(shí)圖像上進(jìn)行實(shí)驗(yàn),驗(yàn)證了本文算法可以應(yīng)用在無(wú)人機(jī)圖像的輸電線檢測(cè)任務(wù)中,并且和人造圖像具有相一致的規(guī)律。
最后,通過(guò)在較大量的無(wú)人機(jī)巡線圖像上進(jìn)行實(shí)驗(yàn),并與Hough變換法進(jìn)行對(duì)比。從檢測(cè)準(zhǔn)確率和誤檢率兩個(gè)層面進(jìn)行評(píng)價(jià)。可知:本文算法具有較高的檢測(cè)準(zhǔn)確率和較低的誤檢率的優(yōu)點(diǎn)。