王 博,宋 丹,王洪玉
1.大連理工大學(xué) 信息與通信工程學(xué)院,遼寧 大連116024
2.國家電網(wǎng)有限公司 東北分部,沈陽110180
輸電線路是電力傳輸?shù)幕据d體,承擔(dān)安全穩(wěn)定輸送電能的重要任務(wù)。文獻(xiàn)[1]指出,“十三五”期間電網(wǎng)規(guī)模仍將快速發(fā)展,2016至2020年將新增110千伏及以上線路40.1 萬公里(較“十二五”末增長45%)。隨著電網(wǎng)規(guī)模的增長,傳統(tǒng)的人工巡檢輸電線路無論從人數(shù)還是技術(shù)上都無法實現(xiàn)同步增長。隨著無人機技術(shù)的發(fā)展,無人機經(jīng)濟性、靈活性、不受地形限制等特點使其成為電力巡檢中的研究熱點[2]。人工操控?zé)o人機巡檢對飛手要求極高,難度較大,亟需發(fā)展智能化的無人機自主巡檢。
無人機飛行中其空間位置可通過定位設(shè)備或傳感器信息獲得,根據(jù)空間信息設(shè)計飛行路線可使無人機自主飛行至精確的拍攝位置并采集圖像用于故障檢測。文獻(xiàn)[3]采用遺傳算法,優(yōu)化了無人機的巡檢路徑及拍攝點,提升了巡檢效率。文獻(xiàn)[4]提出了基于GPS(Global Position System)和INS(Inertial Navigation System)的組合導(dǎo)航方法用于無人機巡線系統(tǒng)。文獻(xiàn)[5]提出了基于載波相位差分技術(shù)(Real-Time Kinematic,RTK)的巡檢方案,提升了定位精度。以上幾種方法依賴于GPS,有一定局限性。
單目視覺傳感器具有精度高、成本低、信息豐富等特點,無人機可搭載單目相機,并通過視覺同步定位與建圖(Visual Simultaneous Localization and Mapping,V-SLAM)技術(shù)進行位姿估計。文獻(xiàn)[6]和文獻(xiàn)[7]采用基于特征匹配的方法,對無人機采集的圖像進行基于單目視覺的迭代定位,但對圖像中特征點要求較高且匹配耗時。文獻(xiàn)[8]提出了一種半直接單目視覺里程計算法,不需提取大量特征點便可進行空間定位,但應(yīng)用在無人機平視相機上效果不佳。文獻(xiàn)[9]提出了基于直接法的大范圍單目即時定位和地圖構(gòu)建方法,該方法不需計算特征點并且能構(gòu)建半稠密的地圖,但對場景要求較高。以上基于單目視覺的定位方法用于飛行路徑設(shè)計需要構(gòu)建三維地圖且定位精度受環(huán)境及初始值影響較大。
本文提出一種基于單目視覺的無人機自主巡檢系統(tǒng),基于深度學(xué)習(xí)技術(shù)對目標(biāo)物(如絕緣子)進行識別檢測,利用尺寸已知的檢測目標(biāo)與其在相機成像平面投影的對應(yīng)關(guān)系,對其進行三維定位并優(yōu)化定位精度,無需定位設(shè)備或視覺建圖?;诖蠼甋DK(Software Development Kit)開發(fā)的無人機飛控程序根據(jù)定位信息調(diào)整無人機的飛行姿態(tài)并自主導(dǎo)航,到達(dá)精確的拍攝位置可同步檢測出缺陷,實現(xiàn)無人機實時巡檢。
基于單目視覺的無人機自主巡檢系統(tǒng)組成如圖1所示,包括感知模塊、控制模塊、信息處理模塊。圖2所示為3個模塊對應(yīng)的設(shè)備及數(shù)據(jù)流。
圖1 基于單目視覺的無人機自主巡檢系統(tǒng)組成
感知模塊為無人機,其上配有單目相機,通過無線鏈路將高清圖像傳送至控制模塊。
控制模塊由遙控器及終端(Android智能手機)上基于大疆SDK開發(fā)的APP(以下簡稱APP)組成,APP采用RTMP協(xié)議將圖傳信息推送至信息處理模塊,并將信息處理模塊回傳的定位信息轉(zhuǎn)換為控制信息,向無人機發(fā)送指令調(diào)整其飛行姿態(tài)。
圖2 各模塊設(shè)備及數(shù)據(jù)流
信息處理模塊為NVIDIA JETSON TX2(以下簡稱TX2),其是一款體積小,性能高的人工智能計算平臺。TX2 將控制模塊推送來的視頻流進行基于深度學(xué)習(xí)的目標(biāo)檢測,同時對檢測出的目標(biāo)進行基于單目視覺模型的位姿解算并優(yōu)化,優(yōu)化結(jié)果即為目標(biāo)的空間信息,將該結(jié)果通過Socket回傳至控制模塊。
1.1.1 相機模型與去畸變
相機能夠?qū)⑷S世界中的坐標(biāo)點映射到二維圖像平面中的像素位置,小孔成像模型是最常用的理想相機成像模型。建立4個坐標(biāo)系描述相機的成像過程,分別為世界坐標(biāo)系、相機坐標(biāo)系、圖像坐標(biāo)系、像素坐標(biāo)系,坐標(biāo)系間能夠相互轉(zhuǎn)換。圖3為理想相機模型4個坐標(biāo)系關(guān)系圖,M(Xw,Yw,Zw)是三維空間中的一點,M與相機光心Oc的連線交成像平面于m(x,y),m為空間點M的投影位置。為了簡化模型,本文將成像平面對稱到相機前方,與三維空間點一同出現(xiàn)在相機的正深度方向。
圖3 理想相機模型下各坐標(biāo)系關(guān)系圖
設(shè)點M在像素坐標(biāo)系中的位置為(u,v),f為相機焦距,三維空間中一點映射至成像平面與二維像素坐標(biāo)的轉(zhuǎn)換表示為齊次坐標(biāo)與矩陣形式如公式(1)所示[10],M1表征相機的固有屬性,稱為相機的內(nèi)參矩陣,fx,fy,u0,v0為相機的內(nèi)部參數(shù),單位為像素。M2稱為外參矩陣,由3×3 的正交矩陣R及3×1 的平移向量t組成。
實際應(yīng)用中,會在相機前加入透鏡以獲得更好的成像效果。然而引入透鏡會使直線投影變彎曲,這種現(xiàn)象稱為徑向畸變。相機標(biāo)定可以獲得相機參數(shù)建立成像幾何模型及校正鏡頭畸變,本文采用張正友標(biāo)定法[11]進行標(biāo)定。正常圖像中一點在畸變圖像中的對應(yīng)像素值可能為非整數(shù),可采用雙線性內(nèi)插法[12]去畸變恢復(fù)原圖。本文提出一種計算方法,通過畸變圖像中一點(ud,vd)解算出正常圖像的位置(u1,v1)。u1,v1用于數(shù)值計算,可為非整數(shù)。
公式(2)中,k1、k2為徑向畸變系數(shù)。本文使用的相機其畸變系數(shù)k1、k2較小,用rd代替r1的近似計算誤差可忽略不計。
1.1.2 空間信息解算與誤差修正
單目視覺定位是基于幾何成像模型建立三維空間目標(biāo)特征與二維圖像對應(yīng)特征的變換關(guān)系,從而確定目標(biāo)的空間位姿信息[13]。若空間中一目標(biāo)物的大小已知,選取通過該目標(biāo)中心點的豎直高度線作為特征直線,利用特征直線在成像平面的已知信息及幾何圖形的相似關(guān)系,可求得目標(biāo)中心相對于相機的空間坐標(biāo)。
電力巡檢中,絕緣子是十分重要的檢測目標(biāo)[14],對絕緣子進行視覺定位,可將通過其中心點的豎直高度線作為特征直線。如圖4所示,d3為已知的絕緣子高度,f3為成像平面中絕緣子的高度,單位為像素,f、f1、f2為成像平面中絕緣子中心在相機坐標(biāo)系的位置,通過三角形的相似性可求得空間中絕緣子在相機坐標(biāo)系的坐標(biāo)(d1,d2,d)。公式(3)中,由于相機掛載在無人機上,角度α為無人機在水平方向?qū)?zhǔn)目標(biāo)中心所需旋轉(zhuǎn)的偏航角。
圖4 三維空間與成像平面的相似關(guān)系
實際應(yīng)用中,相機光軸線與理想相機坐標(biāo)系的Zc軸并不完全重合,如圖5 所示,角度β表示相機光軸線與Zc軸在豎直方向上的夾角。由實際相機求出的空間三維信息與理想情況存在一定的誤差,并且隨著相機與目標(biāo)物之間距離的增加,Xc和Yc方向上的定位誤差會越來越大,影響了定位精度。圖5中,M為目標(biāo)物的中心位置,A、B、C為相機光心在Zc軸上的三個位置,A、B、C處的相機光軸線與過M點的平面垂直并且與該平面分別相交于a、b、c三點。
圖5 定位誤差修正
由單目視覺模型求得的相機坐標(biāo)系中目標(biāo)物中心點的高度值為dy,深度值為dz,而真實的高度值應(yīng)為Dy,深度值應(yīng)為Dz,需要對定位誤差進行修正。由dz×tanβ+dy=MN可知tanβ=△dy-△dz,dy與dz線性相關(guān),故可在Zc軸上平移相機拍攝多張照片,并對解算出的dy和dz進行線性擬合,求出角度β,最后通過公式(4)修正目標(biāo)點的空間坐標(biāo)從而獲得真實位置。角度γ表示相機光軸線與Zc軸水平方向的夾角。
本文提出的單目視覺定位模型首先需要對投影圖像中的目標(biāo)物進行識別檢測,檢測結(jié)果用于空間信息解算,其誤差直接影響無人機動作的精度。
近年來,隨著深度學(xué)習(xí)的快速發(fā)展,基于深度學(xué)習(xí)的目標(biāo)檢測逐漸成為主流[15]。本文采用YOLOv3[16]作為檢測框架。YOLOv3基于回歸思想,能夠?qū)崿F(xiàn)端到端的目標(biāo)檢測與識別,其借鑒了多種先進思想,包括構(gòu)建特征金字塔、多尺度預(yù)測、優(yōu)化損失函數(shù)等,在保證速度的前提下提升了檢測精度。
輸電線路的巡檢在室外進行,由于便攜式的GPU性能較弱,考慮對檢測網(wǎng)絡(luò)進行壓縮,在保證一定網(wǎng)絡(luò)性能的同時盡可能提升檢測速度。Google團隊2017年提出的輕量級網(wǎng)絡(luò)MobileNetV1[17]采用深度可分離卷積代替標(biāo)準(zhǔn)卷積,深度可分離卷積由深度卷積和逐點卷積組成,如圖6 所示,深度卷積是將單個輸入通道與單個卷積核進行卷積,而后逐點卷積用1×1卷積核組合深度卷積的輸出。
圖6 深度可分離卷積
深度可分離卷積與標(biāo)準(zhǔn)卷積的計算量之比為:
其中,DK×DK×M為深度卷積的卷積核尺寸,DW×DH×N為輸出特征圖的尺寸。引入超參數(shù)α∈(0,1]可降低模型的通道數(shù),此時,深度可分離卷積計算量可繼續(xù)下降至接近公式(5)的α2倍,本文α取0.25。
將MobileNetV1 的1 個卷積層和13 個深度可分離卷積層作為特征提取網(wǎng)絡(luò),對特定層數(shù)特征圖進行處理,分為3 個尺度送入YOLOv3 的多尺度檢測結(jié)構(gòu),組成MobileNetV1-YOLOv3 網(wǎng)絡(luò)模型,如圖7 所示。本文系統(tǒng)的檢測網(wǎng)絡(luò)需要在無人機距絕緣子較遠(yuǎn)時檢測出絕緣子并且在接近絕緣子后對絕緣子缺陷進行檢測。為了提升對小目標(biāo)的檢測性能,本文將輸入圖片尺寸預(yù)處理為608×608,輸出的3 個特征層尺度分別為19×19、38×38、76×76,YOLOv3 將深層特征的高語義和淺層特征的高分辨率融合后進行最終的預(yù)測。
YOLOv3 網(wǎng)絡(luò)將圖像劃分成S×S個網(wǎng)格,目標(biāo)中心所在的網(wǎng)格負(fù)責(zé)預(yù)測該目標(biāo)。每個網(wǎng)格預(yù)測B個邊界框,每個邊界框?qū)?yīng)5+C個值,包括邊界框的4個偏移坐標(biāo),1 個置信度得分和C個分類預(yù)測,本文中B為3,C為2(絕緣子和缺陷)。對數(shù)據(jù)集標(biāo)注框通過K-means 聚類計算錨框,均分到每個尺度的特征圖上。預(yù)測時,在每個尺度目標(biāo)中心存在的網(wǎng)格使用3個錨框預(yù)測3個邊界框,使用非極大值抑制算法篩選邊界框并分類識別。
YOLOv3 輸出的bounding box 包含預(yù)測框左上角和右下角的像素坐標(biāo),計算檢測框的寬高和中心坐標(biāo)并縮放至輸入圖像尺寸(本文為1 920×1 080),將結(jié)果代入公式(2)去畸變后得到圖4 中的f1、f2、f3,代入1.1.2小節(jié)的公式可解算出空間定位信息。
圖7 MobileNetV1-YOLOv3網(wǎng)絡(luò)模型
本文選用功能完備并支持二次開發(fā)的大疆系列無人機,其上掛載一體化或可拆卸的高清相機。DJI Mobile SDK是大疆向開發(fā)者提供的移動端開發(fā)者套件,開發(fā)者可為無人機量身定制APP 并部署在移動終端如智能手機或平板電腦上,移動終端連接遙控器可對無人機進行智能化的遠(yuǎn)程操控。
DJI Mobile SDK中的VirtualStick(虛擬搖桿)方法可模擬飛手操控左右搖桿的動作,包括無人機的升降、偏航、前后移動、左右移動,如圖8所示。
圖8 VirtualStickControl模式
通過單目視覺定位模型得到的空間信息主要包括目標(biāo)物中心位置相對于相機的修正后的高度值Yq,修正后的深度值Zq及修正前的偏航角αq,這里取修正前的偏航角是因為直接調(diào)整角度αq與先校正相機光軸再調(diào)整修正后的偏航角度得到的結(jié)果是相同的。
實際飛行中,機載相機的實時畫面通過信息處理模塊得到的定位信息存在滯后性,延遲接近1 s(傳輸過程和處理過程)。本文設(shè)計一種卡爾曼濾波[18]方法,融合機載傳感器信息與滯后的單目視覺定位信息,更新無人機的實時位置。
狀態(tài)變量X=[Zm Vm Ym αm],其中,Zm、Ym、αm分別為目標(biāo)物相對無人機的深度值、高度值、偏航角,Vm為無人機在水平方向的速度。
觀測量Z=[Zq Yq αq Vn Yn αn],其中,Zq、Yq、αq分別為通過單目視覺定位模型得到的目標(biāo)物相對無人機的深度值、高度值、偏航角,Vn、Yn、αn分別為通過機載傳感器得到的無人機在水平方向的速度,無人機的高度和無人機的航向角。
傳感器輸出隨著時間推移會累計誤差,而基于單目視覺模型的觀測量有滯后性,本文采用以上兩種觀測量交替更新狀態(tài)變量,如圖9所示。
設(shè)基于單目視覺模型量測的滯后時間為Tdelay,在t時刻的輸出實際對應(yīng)t-Tdelay時刻的輸出,通過卡爾曼濾波方程可更新t-Tdelay時刻的狀態(tài)變量X(t-Tdelay),t-Tdelay至t之間的狀態(tài)變量變化可由傳感器輸出獲得,由此可更新t時刻的狀態(tài)變量。
預(yù)先設(shè)定目標(biāo)物相對無人機的深度值Zp,高度值Yp,偏航角αp,即無人機最終的精確位置。將通過信息融合得到的深度值Zm、高度值Ym、偏航角αm分別同Zp、Yp、αp相比較,開發(fā)飛控程序?qū)⒈容^結(jié)果分別轉(zhuǎn)換為無人機前后飛行的速度,升降速度及偏航角速度,VirtualStick將信息發(fā)送至無人機機載控制模塊,可實現(xiàn)無人機自主飛行至精確的拍攝位置。以水平方向位姿調(diào)整為例,本文中Zp設(shè)置為10 m,表1 所示為根據(jù)Zm與Zp距離差設(shè)置VirtualStick 指令調(diào)整速度的對應(yīng)關(guān)系,閾值th設(shè)置為0.05 m。
圖9 卡爾曼濾波融合信息更新狀態(tài)
表1 水平方向距離差對應(yīng)VirtualStick指令調(diào)整速度值
基于單目視覺的無人機自主巡檢系統(tǒng)任務(wù)流程如圖10 所示,首先系統(tǒng)各模塊通過數(shù)據(jù)流建立連接并預(yù)設(shè)目標(biāo)物相對無人機的精確位置,待無人機檢測出完整的絕緣子后,APP 上的自主控制線程接管無人機的控制權(quán),發(fā)送指令直至無人機到達(dá)最終位置檢測目標(biāo)物并拍照。
圖10 基于單目視覺的無人機自主巡檢系統(tǒng)任務(wù)流程
具體步驟如下:
步驟1預(yù)設(shè)無人機相對目標(biāo)物的深度值Zp,高度值Yp,偏航角ap。
步驟2APP將無人機圖傳信息推流至TX2。
步驟3運行TX2上的腳本對視頻流進行目標(biāo)檢測并定位,將定位信息回傳至APP。
步驟4 無人機由飛手操控或根據(jù)其他信息接近目標(biāo)物直至目標(biāo)物被完整的檢測出。
步驟5APP啟動自主控制線程,根據(jù)定位信息轉(zhuǎn)化的控制信息實時調(diào)整無人機位姿。
步驟6無人機自主飛行至精確位置并拍攝目標(biāo)物,若檢測算法包含缺陷檢測,可對目標(biāo)物實時巡檢。
圖像去畸變后需要修正相機光軸不完全水平引起的誤差。如圖5所示,在理想相機坐標(biāo)系的Zc軸上移動相機在不同位置進行拍攝,對圖像中目標(biāo)物的中心點進行計算求得其坐標(biāo)信息(x,y,z)。分別對z-x、z-y進行線性擬合,如圖11所示,通過直線斜率可計算出角度β與角度γ。本文中β=-1.157 8°,γ=-1.590 7°。
圖11 線性擬合
將β與γ代入公式(4)得到修正后的定位誤差,與真值進行對比,部分結(jié)果如表2所示。
由表2可以看出,修正后的定位數(shù)據(jù)明顯更接近真值,計算值代表去畸變后修正前的定位數(shù)據(jù)。計算值的誤差與修正值的誤差對比如圖12所示,X、Y、Z方向的修正值誤差均小于計算值誤差,X、Y方向的修正值誤差下降明顯。計算值誤差與測量值誤差在三個方向上均隨著距離的增大而增加,在距離相機10 m 左右的位置上,X、Y方向的修正值誤差在厘米級,而Z方向的誤差在0.25 m 左右。本文中無人機的拍攝距離設(shè)置為10 m,無人機的GPS 定位在正常工作時,其空中的懸停精度在±0.5 m左右,故修正后的定位信息可作為單目視覺定位系統(tǒng)的輸出結(jié)果。
表2 修正后定位誤差統(tǒng)計
圖12 計算值誤差與修正值誤差對比
本文對電力巡線中的絕緣子進行檢測,需要用絕緣子數(shù)據(jù)集對深度學(xué)習(xí)網(wǎng)絡(luò)進行訓(xùn)練。實驗中共有絕緣子圖像706張,包括國網(wǎng)巡檢機組采集的高清圖像及實地采集圖像,在圖片中標(biāo)注絕緣子及絕緣子中缺陷位置并制作數(shù)據(jù)集。將數(shù)據(jù)集按7/3 劃分,其中訓(xùn)練集占70%,測試集占30%。
實驗硬件配置中GPU 為NVIDIA GTX 1080Ti,輸入圖像大小為608×608,使用Pascal VOC數(shù)據(jù)集預(yù)訓(xùn)練參數(shù)作為初始化權(quán)重,加快訓(xùn)練收斂速度。
測試集采用平均精度均值(Mean Average Precision,mAP)和每秒幀率(Frame Per Second,F(xiàn)PS)作為評價指標(biāo),分別表征目標(biāo)檢測網(wǎng)絡(luò)的準(zhǔn)確度和速度。
表3 所示為基于不同特征提取網(wǎng)絡(luò)的YOLOv3 模型之間的網(wǎng)絡(luò)性能對比,可以看出本文輕量級Mobile-NetV1-YOLOv3 相比darknet-53 結(jié)構(gòu)的YOLOv3,損失了6.4%Map 的同時提升處理速度近10 frame/s。由此說明采用深度可分離卷積和降低通道數(shù)有效地減少了參數(shù)和計算量,但壓縮網(wǎng)絡(luò)模型同時會降低網(wǎng)絡(luò)預(yù)測的準(zhǔn)確性。
表3 不同網(wǎng)絡(luò)模型對比
將訓(xùn)練好的網(wǎng)絡(luò)模型移植到TX2 上并對視頻流進行測試,如圖13所示。表4為不同網(wǎng)絡(luò)模型的速度對比,由于TX2上的GPU性能較弱,MobileNetV1-YOLOv3處理視頻流的速度為8.7幀/s,推流與檢測總時延為0.76 s,而darknet-53 結(jié)構(gòu)的YOLOv3 僅為2.5 幀/s 且總時延大于1 s。本文在TX2 上選用輕量級網(wǎng)絡(luò)MobileNetV1-YOLOv3,平衡準(zhǔn)確性與速度,后續(xù)可對受時延影響的實時位置進行修正。
圖13 視頻流中絕緣子的檢測效果
表4 TX2上不同網(wǎng)絡(luò)模型檢測速度對比
電力巡檢中的檢測目標(biāo)絕緣子處于電力桿塔上的固定位置,距地面高度幾十米,定位信息真值的獲取較為困難。為了計算基于單目視覺的目標(biāo)物定位精度,選取地面上易獲得真值信息的固定目標(biāo)物代替絕緣子作為檢測目標(biāo),本節(jié)中選取人作為目標(biāo)物。將TX2 中的目標(biāo)檢測網(wǎng)絡(luò)參數(shù)設(shè)置為MobileNetV1-YOLOv3 在Pascal VOC 數(shù)據(jù)集下的預(yù)訓(xùn)練權(quán)重,可實現(xiàn)對標(biāo)簽為人的檢測框進行基于單目視覺的空間位置解算以獲得定位信息。
首先設(shè)計實驗驗證本文系統(tǒng)中融合單目視覺信息和傳感器信息的卡爾曼濾波實時定位效果。以水平方向狀態(tài)變量為例,觀測量與狀態(tài)變量均為無人機至目標(biāo)物的距離和無人機水平方向的速度,初始狀態(tài)為:無人機距離目標(biāo)物15 m,初始速度0.5 m/s。實驗過程為無人機根據(jù)定位信息飛至距目標(biāo)物10 m處懸停。
無人機傳感器更新頻率為10 Hz,由2.2節(jié)可知單目視覺模型量測輸出為8.7 frame/s,實驗中設(shè)置時序間隔為0.1 s,讀取單目視覺模型量測輸出的時間間隔設(shè)置為0.5 s,滯后時間Tdelay設(shè)置為1 s,實驗結(jié)果如圖14 所示。由圖14(a)可以看出,單目視覺模型量測輸出的定位信息滯后于無人機的實時位置,t時刻單目視覺模型量測輸出實際對應(yīng)t-1 時刻的輸出,本文融合t-1 至t之間的傳感器信息進行補償,卡爾曼濾波更新后的狀態(tài)變量能夠到達(dá)實時定位效果。當(dāng)目標(biāo)檢測網(wǎng)絡(luò)輸出的檢測框精度不高時,單目視覺定位模型量測輸出誤差較大,融合傳感器信息的卡爾曼濾波可對誤差進行修正,圖14(a)中存在誤差較大的量測點,卡爾曼濾波輸出的距離和速度均較穩(wěn)定。
圖14 無人機在水平方向的實時狀態(tài)
接下來設(shè)計實驗計算本文系統(tǒng)的實時定位精度,作為對比,開發(fā)基于GPS操控?zé)o人機飛至指定位置的程序模塊,大疆SDK中的Mission動作序列可實現(xiàn)此功能。
實驗步驟如下:
步驟1人工操控?zé)o人機飛至目標(biāo)物附近某確定位置,目標(biāo)物距離無人機深度Zp為10 m,目標(biāo)物中心距離無人機高度Yp為1 m,偏航角αp為0°,即無人機在水平方向正對目標(biāo)物。記錄該位置的GPS 信息,用作基于GPS的無人機飛控程序的定位信息。
步驟2將深度值Zp、高度值Yp、偏航角αp作為預(yù)設(shè)值導(dǎo)入基于單目視覺的無人機自主飛控程序。
步驟3分別運行基于單目視覺與基于GPS的飛控程序,量測無人機最終位置相對目標(biāo)物的空間信息并拍攝目標(biāo)物。
經(jīng)過多次實驗,無人機基于單目視覺與基于GPS的定位誤差絕對值的對比如表5 所示,可以看出,基于單目視覺的定位誤差均值及波動均小于基于GPS 進行定位的誤差。受檢測框精度及室外有風(fēng)環(huán)境無人機懸停精度的影響,X方向的定位誤差對比其在理想無風(fēng)環(huán)境中略有提高,但仍小于基于GPS進行定位的誤差。由圖15 可以看出,基于本文系統(tǒng)飛行的無人機能在水平方向正對目標(biāo)物,故本文提出的基于單目視覺的無人機巡檢路徑的準(zhǔn)確性和可行性得到了驗證。
表5 基于不同飛控程序的定位誤差對比 m
圖15 基于單目視覺與基于GPS導(dǎo)航飛行的結(jié)果圖像對比
將2.2節(jié)訓(xùn)練好的檢測絕緣子的網(wǎng)絡(luò)權(quán)重導(dǎo)入TX2中的檢測網(wǎng)絡(luò),驗證本文系統(tǒng)巡檢絕緣子效果。
實驗場地位于大連理工大學(xué)令希圖書館外某220 kV電力桿塔附近,絕緣子串長度2.34 m。預(yù)設(shè)目標(biāo)物相對無人機的深度值Zp為10 m,高度值Yp為0 m,偏航角αp為0°,即無人機位于絕緣子正前方10 m 處。實驗流程如圖10所示。
圖16 所示為實驗中APP 運行界面的截圖,包括無人機相機的圖傳畫面,無人機在地圖中的位置,無人機自身的參數(shù)及功能按鈕。
圖16 基于大疆SDK開發(fā)的APP運行界面截圖
圖17為TX2上對實時視頻流進行絕緣子識別檢測的程序截圖,訓(xùn)練中包含了絕緣子中的缺陷,故可同時對缺陷進行檢測,本文實驗中的絕緣子無缺陷。
圖17 實時視頻流進行絕緣子識別檢測的程序截圖
圖18 為無人機到達(dá)精確位置拍攝的絕緣子圖像,可以看出,通過基于單目視覺的無人機自主巡檢系統(tǒng)的位姿調(diào)整,無人機可以拍攝清晰的絕緣子圖像且絕緣子位于圖像正中位置。
圖18 基于單目視覺飛行的絕緣子拍攝圖像
針對圖18 中的懸垂絕緣子,后續(xù)可設(shè)定無人機的偏航角速度與左右方向的速度,實現(xiàn)無人機的繞飛動作,在多個角度對絕緣子進行檢測。
本文基于單目視覺成像關(guān)系,融合基于大疆SDK開發(fā)的無人機飛控程序及基于深度視覺的目標(biāo)檢測模塊,實現(xiàn)無人機對目標(biāo)物的自主導(dǎo)航及實時檢測。實驗結(jié)果表明,距離目標(biāo)物10 m時,該系統(tǒng)在世界坐標(biāo)系X、Y、Z 三個方向的定位誤差分別為0.31 m、0.06 m、0.24 m,處理速度0.76 frame/s,同時擺脫了對GPS 的依賴,可完成在復(fù)雜環(huán)境下的無人機電力巡檢任務(wù)。本文系統(tǒng)采用模塊化設(shè)計,通過訓(xùn)練不同的目標(biāo)檢測參數(shù)及設(shè)計不同的飛行路徑可實現(xiàn)電力桿塔的定制化檢測任務(wù),有助于提升電力巡檢的智能化水平。