高旭東 張軍朝 張建 張毅
摘? 要: 針對(duì)無(wú)人機(jī)電力線路巡檢時(shí)安全飛行距離把控困難的難題,提出一種基于雙目測(cè)距的無(wú)人機(jī)電力線路巡檢安全距離測(cè)量方法,基于線路連續(xù)特征進(jìn)行雙目圖像行匹配。與傳統(tǒng)雙目匹配算法不同的是,所提方法避免了構(gòu)造卷積窗口對(duì)左右圖像進(jìn)行像素點(diǎn)遍歷,直接根據(jù)極限約束快速找到匹配點(diǎn)來(lái)計(jì)算視差,大大提高了圖像匹配速度,降低了程序的冗雜度,減少了由于運(yùn)算數(shù)據(jù)量過(guò)大導(dǎo)致的誤差。最后通過(guò)雙目測(cè)距原理實(shí)現(xiàn)無(wú)人機(jī)巡檢安全距離的測(cè)量。測(cè)量結(jié)果表明,所提系統(tǒng)能夠在測(cè)定距離為15 m時(shí),測(cè)距反應(yīng)速度達(dá)到50 ms左右,相對(duì)誤差小于5%。
關(guān)鍵詞: 無(wú)人機(jī)應(yīng)用; 電力線巡檢; 距離測(cè)量; 機(jī)器視覺(jué); 雙目測(cè)距; 視差計(jì)算; 圖像匹配
中圖分類(lèi)號(hào): TN98?34; TP391.9? ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼: A? ? ? ? ? ? ? ? ? ? 文章編號(hào): 1004?373X(2020)05?0146?04
Measurement of UAV′s safe flight distance for power line inspection
GAO Xudong1, ZHANG Junchao1, 2, ZHANG Jian2, 3, ZHANG Yi2, 3
(1. College of Electrical and Dynamic Engineering, Taiyuan University of Technology, Taiyuan 030024, China;
2. Research Center of Electrical Transmission and Internet of Things Engineering, Taiyuan 030024, China;
3. Shanxi Taiyuan Tiandi Fangyuan Electronic Technology Co., Ltd., Taiyuan 030024, China)
Abstract: Since it is difficult to measure the safety flight distance during power line inspection with UAV, an UAV′s safe flight distance measuring method based on binocular ranging is proposed for power line inspection, in which the binocular image matching based on continuity feature of the power line is adopted. Unlike the traditional binocular matching algorithms, this method avoid constructing convolution window to traverse the left and right image pixels, but directly and quickly find the matching point according to the limit constraint to calculate parallax, by which the speed of image matching is greatly improved, the complexity of the program is reduced, and the error caused by the large amount of data operation is decreased. Finally, the safe distance measurement of UAV inspection is realized by means of the principle of binocular distance. The measured results show this method′s reaction speed of range finding can reach to about 50 ms and its relative error is less than 5% as the measuring distance 15 m.
Keywords: UAV application; power line inspection; distance measurement; machine vision; binocular ranging; parallax calculation; image matching
0? 引? 言
隨著經(jīng)濟(jì)的不斷發(fā)展,社會(huì)電力需求量日益增大,電網(wǎng)規(guī)模與復(fù)雜程度急劇上升,巡檢工作量和難度急劇增加,增加了電網(wǎng)事故的發(fā)生率。采用無(wú)人機(jī)作為電力線路巡檢設(shè)備,大大減少了工作人員的工作量,降低人員受傷的風(fēng)險(xiǎn)。
由于無(wú)人機(jī)在進(jìn)行巡檢過(guò)程中會(huì)出現(xiàn)不同程度的機(jī)體遠(yuǎn)程可控性降低的現(xiàn)象,影響作業(yè)安全。主要原因是:線路輸電過(guò)程中的運(yùn)行電壓對(duì)無(wú)人機(jī)會(huì)產(chǎn)生電磁干擾;電場(chǎng)會(huì)對(duì)無(wú)人機(jī)產(chǎn)生吸附作用,影響機(jī)體的飛行穩(wěn)定性;磁場(chǎng)會(huì)擾亂無(wú)人機(jī)的導(dǎo)航系統(tǒng),使得飛控的精確性下降。故無(wú)人機(jī)在巡檢過(guò)程中相對(duì)于輸電線路需要有一定的安全距離,確保機(jī)體操控的穩(wěn)定性和精確性[1]。
針對(duì)上述原因,本文提出一種基于雙目視覺(jué)的無(wú)人機(jī)巡檢安全距離測(cè)量方法[2],以不同畫(huà)面線路直線的連續(xù)為基礎(chǔ),根據(jù)極限約束快速找到兩幅畫(huà)面的匹配點(diǎn),計(jì)算視差,實(shí)現(xiàn)遠(yuǎn)距離雙目畫(huà)面的快速行匹配,使得圖像匹配更高效,測(cè)量結(jié)果更精確。
1? 雙目測(cè)距儀的設(shè)計(jì)
1.1? 雙目測(cè)距原理
如圖1所示,[P]為所要測(cè)距的目標(biāo),長(zhǎng)為[L]的兩線段代表左右相機(jī)的像面,[OL]和[OR]是左右兩相機(jī)的光心,[PL]和[PR]是目標(biāo)[P]在左右像面上的成像點(diǎn),[XL]和[XR]是[PL]和[PR]距各自像面左邊緣的距離,基線[b]是兩相機(jī)光心的距離,[f]是兩相機(jī)的焦距[3]。
在三角形[OLPOR]中,三角形[PLPPR]相似于三角形[OLPOR],則有以下比例關(guān)系:
[PLPROLOR=Z-fZ] (1)
由幾何關(guān)系可得:
[b-XL-L2+L2-XRb=Z-fZ]? ? (2)
則:
[Z=b*fd] (3)
式中:[d=XR-XL];[f]和[b]可由攝像機(jī)標(biāo)定和立體匹配獲得。
1.2? 雙目測(cè)距儀的設(shè)計(jì)
由式(3)可知,雙目測(cè)距儀所能測(cè)量的距離上限受到基線、相機(jī)焦距和視差的影響,與基線和焦距成正比,與視差成反比。如果想要設(shè)計(jì)一臺(tái)測(cè)距上限高的雙目測(cè)距儀,需要選擇焦距長(zhǎng)、分辨率較高的相機(jī),設(shè)置較長(zhǎng)的基線,由此提高測(cè)距范圍。
基于上述條件,選擇分辨率為4 000×3 000的攝像頭,焦距取25 mm,圖像傳感器像元大小取常見(jiàn)的6 μm×6 μm,由于雙目測(cè)距儀搭載于無(wú)人機(jī)上,故基線的設(shè)定需要考慮到機(jī)身承載負(fù)荷的問(wèn)題,考慮定為0.8 m。該系統(tǒng)最大視差為1 000 pixel,最低為10 pixel,由式(3)可以算得,此雙目測(cè)距儀的理論測(cè)距范圍在3.33~333 m,能夠滿足該方法所需的距離測(cè)量。
2? 輸電線路直線提取
2.1? Canny算子邊緣檢測(cè)原理
由于高空輸電線路的架設(shè)位置地勢(shì)多變,環(huán)境復(fù)雜,所以,巡檢線路目標(biāo)成像會(huì)受到多變背景的噪聲干擾、光照等的影響,對(duì)線路目標(biāo)的提取和定位產(chǎn)生阻礙。Canny算子對(duì)圖像的濾波能夠有效削弱噪聲對(duì)圖像的影響,最終引入雙閾值濾除大量非關(guān)鍵邊緣并封邊,能夠?yàn)楹罄m(xù)的直線檢測(cè)提供質(zhì)量較高的邊緣圖像[4]。
Canny算子邊緣檢測(cè)的具體步驟如下[5]:
1) 用高斯濾波器平滑圖像
使用如下模板對(duì)原圖像[f(x)]進(jìn)行卷積運(yùn)算:
[hx,y,σ=12πσ2exp-x2+y22σ2]? (4)
[g(x,y)=hx,y,σ?fx,y]? (5)
通過(guò)高斯濾波器對(duì)圖像進(jìn)行卷積遍歷,濾除噪聲,減小由于噪聲點(diǎn)附近梯度值過(guò)大對(duì)圖像邊緣檢測(cè)產(chǎn)生的影響。
2) 用一階偏導(dǎo)的有限差分計(jì)算梯度的幅值和方向
圖像中的邊緣部分的像素變化在沿邊緣方向和垂直邊緣方向上分別是平緩和劇烈,由于圖片像素的矩陣化表示,使得上述的變化可以通過(guò)微分算子檢測(cè)出來(lái)[6],進(jìn)而達(dá)到確定邊緣輪廓的目的。
對(duì)步驟1)中得到的平滑濾波去噪后的圖像的梯度進(jìn)行[2×2]一階有限差分近似計(jì)算,得到[x]的偏導(dǎo)數(shù)[f′xx,y]和[y]的偏導(dǎo)數(shù)[f′yx,y]:
[f′x(x,y)≈Gx=f(x+1,y)-f(x,y)+f(x+1,y+1)-f(x+1,y)2f′y(x,y)≈Gy=f(x,y+1)-f(x,y)+f(x+1,y+1)-f(x,y+1)2] (6)
進(jìn)一步地,梯度幅值和方向表示為:
[M(x,y)=Gx(x,y)2+Gy(x,y)2θ(x,y)=arctanGy(x,y)Gx(x,y)]? ? ? ? (7)
式中:[M(x,y)]能體現(xiàn)邊緣的強(qiáng)度;[θ(x,y)]能體現(xiàn)邊緣的方向[7]。
3) 對(duì)梯度幅值進(jìn)行非極大值抑制
在[3×3]抑制運(yùn)算窗口中,只能得到[C]點(diǎn)鄰域8個(gè)頂點(diǎn)上的像素值,需要根據(jù)步驟2)得到的梯度幅值矩陣,確定已知各點(diǎn)梯度方向,通過(guò)[g1]和[g2]對(duì)[M1]進(jìn)行插值計(jì)算,[g3]和[g4]對(duì)[M2]進(jìn)行插值計(jì)算。得到像素極大值點(diǎn)后,將此窗口中非極大值點(diǎn)像素均置0,得到一個(gè)由真實(shí)目標(biāo)邊緣和由于大量噪聲造成的假邊緣構(gòu)成的二值化圖像,如圖2所示。
4) 用雙閾值算法檢測(cè)和連接邊緣
為了去掉步驟3)所得到二值化圖像中的假邊緣,設(shè)置高閾值進(jìn)行濾波,得到大致的邊緣輪廓;高閾值邊緣可能會(huì)不閉合,設(shè)置另一個(gè)較低閾值,在高閾值邊緣的斷點(diǎn)8鄰域內(nèi)進(jìn)行滿足低閾值的像素點(diǎn)搜尋,低于此閾值的像素點(diǎn)進(jìn)行置0,高于此閾值的點(diǎn)進(jìn)行保留,直到高閾值邊緣閉合。
2.2? 基于Hough變換提取圖像線路特征
在采集到的圖像中,輸電線路呈現(xiàn)為多股平行的邊緣直線,通過(guò)此算法實(shí)現(xiàn)圖像對(duì)中的直線檢測(cè)。
將直線使用極坐標(biāo)表示為:
[r=xcos θ+ysin θ] (8)
對(duì)于同一個(gè)點(diǎn)[(x0,y0)],可以有無(wú)數(shù)種[r]和[θ]滿足式(8),也就是說(shuō),每一對(duì)[(rθ,θ)]都能表示一條過(guò)[(x0,y0)]的直線,即過(guò)同一點(diǎn)的直線族可由:
[rθ=x0cos θ+y0sin θ] (9)
表示[8]。
由此,將所有滿足過(guò)[(x0,y0)]的直線的參數(shù)對(duì)[(rθ,θ)]均繪制在[r?θ]平面中,可以得到一條正弦曲線,越多[rθ?θ]正弦曲線交于一點(diǎn),代表此交點(diǎn)表示的直線由越多點(diǎn)組成?;谶@個(gè)思路,可以通過(guò)設(shè)置直線上點(diǎn)數(shù)量的閾值來(lái)判斷是否檢測(cè)到一條直線[9]。
在程序語(yǔ)句中進(jìn)行如下設(shè)定:
lines=houghlines(BW,T,R,P,′FillGap′,18,
′MinLength′,80);
其中, FillGap表示當(dāng)兩條直線之間距離小于該閾值時(shí),兩條直線被合并為一條直線;MinLength表示保留直線的最短長(zhǎng)度(即小于該閾值的直線將被刪除)。
3? 改進(jìn)的圖像匹配方法
傳統(tǒng)的圖像匹配方法需要構(gòu)造卷積窗口對(duì)左右畫(huà)面進(jìn)行像素遍歷,并根據(jù)所設(shè)定的閾值進(jìn)行圖像匹配,程序運(yùn)行反應(yīng)慢,并且會(huì)出現(xiàn)由于數(shù)據(jù)運(yùn)算量過(guò)大,數(shù)據(jù)溢出導(dǎo)致的測(cè)距出錯(cuò)。本文根據(jù)雙目圖像中線路特征連續(xù)性實(shí)現(xiàn)雙目圖像行匹配,并根據(jù)極限約束快速找到匹配點(diǎn)計(jì)算視差,避免了圖像遍歷的步驟,程序簡(jiǎn)單且運(yùn)算量大大降低,反應(yīng)時(shí)間降低到50 ms以內(nèi),誤差達(dá)到5%以內(nèi)。
3.1? 基于線路連續(xù)特征的圖像旋轉(zhuǎn)矯正
基于之前各步驟,在左右兩圖像中準(zhǔn)確地定位線路,得出其在坐標(biāo)軸中的斜率[k]。以坐標(biāo)系中的某點(diǎn)[(x0,y0)]為旋轉(zhuǎn)中心,將圖像各點(diǎn)[(x,y)]繞此中心旋轉(zhuǎn)[arctan k],旋轉(zhuǎn)后圖像各點(diǎn)坐標(biāo)設(shè)為[x,y],并滿足以下等式:
[x-x02+y-y02=x-x02+y-y02arctany-y0x-x0+arctan k=arctany-y0x-x0] (10)
通過(guò)上述方式將左右相機(jī)的圖像進(jìn)行水平矯正,會(huì)出現(xiàn)線路未對(duì)齊的情況。測(cè)出左右圖像線路距原點(diǎn)的距離[ρ1],[ρ2],以其中一幅圖為匹配基準(zhǔn),另一幅圖向上平移[ρ=ρ1-ρ2],實(shí)現(xiàn)左右圖像的精確行匹配。
3.2? 根據(jù)級(jí)線約束快速尋找匹配點(diǎn)
根據(jù)級(jí)線約束原理,快速在兩幅圖像中找到匹配點(diǎn)并計(jì)算視差。如圖3所示,[P]為目標(biāo),[C1],[C2]為左右相機(jī)的光心,[C1][C2]為基線,則平面[PC1][C2]與兩成像平面的交線[l1]和[l2]稱(chēng)為級(jí)線,簡(jiǎn)單的來(lái)說(shuō),就是給定一個(gè)像點(diǎn)[P1],則其匹配點(diǎn)一定位于其對(duì)應(yīng)的級(jí)線上,這樣就把遍歷的范圍壓縮到一條直線上。程序中可以先在OpenCV中使用函數(shù)cvFindFundamentalMat( ),返回圖像的基礎(chǔ)矩陣,可以獲得圖像像點(diǎn)與三維空間中的對(duì)應(yīng)關(guān)系;然后將求得的基礎(chǔ)矩陣代入cvComputeCorrespondEpilines( )函數(shù)中,求出一幅圖像中的點(diǎn)在另一幅圖像中的對(duì)應(yīng)級(jí)線,比傳統(tǒng)的圖像匹配速度提高了近50%。
4? 實(shí)驗(yàn)結(jié)果及分析
采用無(wú)人機(jī)搭載1.2節(jié)中所設(shè)計(jì)的雙目測(cè)距裝置,實(shí)地拍攝輸電線路圖,如圖4a)所示。由于在無(wú)人機(jī)飛行過(guò)程中不可避免地出現(xiàn)機(jī)身擺動(dòng),導(dǎo)致左右畫(huà)面不連續(xù),本實(shí)驗(yàn)采取Visual Studio 2017作為開(kāi)發(fā)環(huán)境,結(jié)合視覺(jué)庫(kù)Opencv 3.3.0[10]對(duì)實(shí)拍圖像進(jìn)行Hough直線檢測(cè),如圖4b)所示,是對(duì)實(shí)拍圖象進(jìn)行二值化直線檢測(cè)后得到的結(jié)果,圖中檢測(cè)出三條線路直線貫穿左右圖像,根據(jù)此三條直線對(duì)左右雙目圖像進(jìn)行直線匹配。圖4c)為直線匹配的左右圖像對(duì)準(zhǔn)結(jié)果,可以發(fā)現(xiàn),經(jīng)過(guò)圖像的位置變換,左右圖像已經(jīng)實(shí)現(xiàn)了直線行匹配。
根據(jù)視差圖所得到的視差信息可對(duì)圖像中任意位置實(shí)現(xiàn)距離計(jì)算。這里對(duì)圖4c)中選取7對(duì)特征點(diǎn)進(jìn)行距離計(jì)算,計(jì)算結(jié)果如圖5所示。
選取前7組數(shù)據(jù)進(jìn)行分析,見(jiàn)表1。實(shí)地拍攝時(shí),采用手持激光測(cè)距儀在距電塔15 m的距離進(jìn)行測(cè)距,無(wú)人機(jī)垂直起飛至26 m的高度進(jìn)行雙目測(cè)距。無(wú)人機(jī)通過(guò)云臺(tái)搭載雙目測(cè)距儀,得到表1的測(cè)量數(shù)據(jù),分析可看出,所測(cè)出的距離與實(shí)際距離15 m大致相符,誤差大致在5%之內(nèi);測(cè)距程序運(yùn)行時(shí)間基本在50 ms內(nèi),基本能實(shí)現(xiàn)對(duì)輸電線路巡檢安全距離的測(cè)定。
針對(duì)在實(shí)地拍攝過(guò)程中的各個(gè)環(huán)節(jié),對(duì)于測(cè)量結(jié)果的誤差提出以下推測(cè):
1) 雙目測(cè)距儀通過(guò)云臺(tái)由無(wú)人機(jī)搭載,云臺(tái)雖然由地面遙控控制,但是關(guān)節(jié)十分靈活,無(wú)人機(jī)在空中飛行時(shí),受到氣流的影響,導(dǎo)致云臺(tái)角度改變,在基線長(zhǎng)度近1 m的條件下,雙目相機(jī)的光軸不能與目標(biāo)表面垂直,導(dǎo)致圖像匹配時(shí)圖片的畸變影響較大;
2) 所采用的攝像頭分辨率為1 280×720,分辨率較低,視差精度較低。
3) 拍攝時(shí)當(dāng)?shù)毓庹諒?qiáng)度較高,在圖片灰度處理時(shí)出現(xiàn)相關(guān)線路失真的現(xiàn)象,對(duì)于圖片匹配有一定的影響。
5? 結(jié)? 語(yǔ)
基于雙目視覺(jué)的線路巡檢安全距離測(cè)量新方法,通過(guò)線路特征的連續(xù)性進(jìn)行圖像的快速匹配,相較于傳統(tǒng)的匹配算法,反應(yīng)速度更快,精度有一定程度的提升,程序的冗雜度大大降低。測(cè)量結(jié)果說(shuō)明,該系統(tǒng)能夠有效地進(jìn)行輸電線路巡檢安全距離的測(cè)量,在一些地勢(shì)崎嶇的地方會(huì)有更好的效果;系統(tǒng)實(shí)現(xiàn)了圖像的行匹配,可以快速地進(jìn)行距離測(cè)定,并保證精度,能夠有效確保無(wú)人機(jī)在安全范圍內(nèi)進(jìn)行線路巡檢。
注:本文通訊作者為張軍朝。
參考文獻(xiàn)
[1] 李棟,林靖宇,高鵬宇,等.無(wú)人機(jī)輸電線路巡檢中安全距離測(cè)量方法[J].廣西大學(xué)學(xué)報(bào)(自然科學(xué)版),2016,41(2):498?505.
[2] 王濤,王海川,闞立杰.基于雙目視覺(jué)的艦載光電雨天對(duì)岸測(cè)距方法[J].指揮控制與仿真,2017,39(6):109?112.
[3] 姜雨彤,楊進(jìn)華,劉釗,等.雙目CCD測(cè)距系統(tǒng)的高精度標(biāo)定[J].計(jì)算機(jī)工程,2013,39(7):228?232.
[4] 陳強(qiáng),朱立新,夏德深.結(jié)合Canny算子的圖像二值化[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2005,17(6):1302?1306.
[5] 王小俊,劉旭敏,關(guān)永.基于改進(jìn)Canny算子的圖像邊緣檢測(cè)算法[J].計(jì)算機(jī)工程,2012,38(14):196?198.
[6] 欒詠紅,湯曉燕,張軍朝.結(jié)合組SIFT特征和多元詞袋模型的圖像檢索方法[J].計(jì)算機(jī)工程與設(shè)計(jì),2018,39(4):1142?1147.
[7] 徐歡,李振璧,姜媛媛,等.基于OpenCV和改進(jìn)Canny算子的路面裂縫檢測(cè)[J].計(jì)算機(jī)工程與設(shè)計(jì),2014,35(12):4254?4258.
[8] 郭文俊,常桂然,喬世東.基于Hough直線特征的障礙物檢測(cè)方法[J].軟件,2016,37(9):77?80.
[9] 申瑞杰,張軍朝,郝敬濱.基于邊緣盒與低秩背景的圖像顯著區(qū)域檢測(cè)算法[J].計(jì)算機(jī)科學(xué),2017,44(12):298?303.
[10] KAEHLER A, BRADSKI G. Learning OpenCV: computer vision in C++ with the OpenCV library [M]. [S.l.]: O′Reilly Media, Inc., 2013.
[11] 吳軍,劉壯,吳向東,等.直流輸電線路中無(wú)人機(jī)巡檢安全距離電場(chǎng)仿真分析[J].湖北電力,2017,41(4):14?19.