尚克軍,鄭 辛,王旒軍,扈光鋒,劉崇亮
(1.北京理工大學 自動化學院,北京 100086;2.北京自動化控制設(shè)備研究所,北京 100074)
無人機安全著陸是其重復飛行的關(guān)鍵,在著陸過程中無人機與著陸平臺間的相對位置、姿態(tài)等導航信息的性能直接決定著陸的成敗,目前,導航信息的獲取主要借鑒有人飛行器中采用的差分衛(wèi)星(如美國JPALS)、儀表、微波、雷達等測量方式,需地面設(shè)備輔助,且在復雜電磁環(huán)境中易受干擾,影響著陸安全。
隨著視覺導航、機器學習等技術(shù)的發(fā)展,基于視覺傳感器的著陸導航技術(shù)利用機場跑道等特征,可在運動過程中確定無人機與機場跑道間的相對位姿等導航信息,具有結(jié)構(gòu)簡單、非接觸、自主性強、成本低和近距精度高等優(yōu)點,引起了廣泛研究和關(guān)注[1]。Barber 等人[2]通過設(shè)置地面特殊視覺標志(Visual Marker)成功實現(xiàn)了微型固定翼無人機在固定和移動目標平臺的降落;德國航空航天中心(DLR)的研究人員通過在車頂上布置數(shù)個光學二維碼,成功將一款翼展3 m,重20 kg 的小型固定翼無人機(Penguin BE)降落在以75km/h 速度行駛的汽車車頂上[3]。Gui 等人[4]通過在無人機上安裝可見光攝像機和一個940 nm 的濾光片,在跑道理想著陸點后放置4 盞發(fā)射波長為940 nm 的紅外發(fā)光二極管(LED),實現(xiàn)復雜背景條件下的安全著陸。Miller 等人[5]利用跑道前視圖像,使用圖像配準(Image Registration)算法計算無人機與跑道之間的相對位姿;Vezinet 等人[6]基于跑道的參考圖像執(zhí)行圖像配準以檢測點特征進行著陸引導;Liu 等人[7]將跑道作為視覺標志,提出了一種著陸視覺導航P3P 問題唯一解的求解方法,實現(xiàn)了無人機與跑道之間六自由度位姿解算;慕尼黑工業(yè)大學(TUM)和布倫瑞克理工兩所大學研制的C2Land 系統(tǒng)[8],采用模板匹配方法通過可見光和紅外圖像進行跑道識別,并于2019年5月在鉆石DA42飛機上成功完成了一次完整的全自主著陸試驗。
基于視覺傳感器的著陸導航應(yīng)用的前提是對著陸過程中獲取的圖像進行實時、準確、可靠的特征檢測識別,但是受環(huán)境變化(如季節(jié)變化、光照等)、著陸過程尺度變化劇烈和計算復雜度等因素影響,視覺著陸導航的魯棒性與實時性不能保證,極大地制約著視覺著陸相對導航技術(shù)的工程應(yīng)用能力。
本文提出了一種基于深度卷積神經(jīng)網(wǎng)絡(luò)圖像語義分割的無人機自主著陸導航方法,以機場跑道為視覺特征,設(shè)計構(gòu)建了輕量高效的端到端跑道分割神經(jīng)網(wǎng)絡(luò)RunwayNet,通過主干網(wǎng)絡(luò)、自注意力網(wǎng)絡(luò)模塊和解碼器等設(shè)計實現(xiàn)對跑道區(qū)域精細地分割,在此基礎(chǔ)上,通過跑道分割區(qū)域的邊線提取,實現(xiàn)無人機與著陸跑道間相對位置和姿態(tài)信息的高精度、高可靠測量。系統(tǒng)流程如圖1所示,本文導航方案在特征識別準確性、魯棒性等方面展現(xiàn)了很大的優(yōu)勢,為無人機視覺可靠自主著陸導航提供了一種新的思路。
跑道區(qū)域定義為跑道左右邊線、起始斑馬線和終止斑馬線之間的區(qū)域,如圖2中紅色區(qū)域所示。設(shè)計分割網(wǎng)絡(luò)時,在重點兼顧計算實時性的同時,提升網(wǎng)絡(luò)的分割精度和多尺度特征提取能力。
圖2 跑道區(qū)域定義Fig.2 Definition of runway area
如圖3所示,跑道分割網(wǎng)絡(luò)(命名為RunwayNet)采用編碼器、解碼器結(jié)構(gòu),編碼器由主干網(wǎng)絡(luò)和自注意力模塊組成。
圖3 RunwayNet 網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 RunwayNet network architecture
主干網(wǎng)絡(luò)(Network Backbone)為采用空洞卷積[9](Atrous Convolution or Dilated Convolutions)進行改造的輕量級ShuffleNet V2[10],對輸入的圖像逐步提取抽象語義特征,最終輸出464 通道OS=16(輸出步長,Output Stride)的特征圖;自注意力模塊通過位置注意力和通道注意力兩個子模塊對主干網(wǎng)絡(luò)輸出的特征圖進行特征變換,以捕獲特征圖空間維度和通道維度的相似性信息,提高網(wǎng)絡(luò)的感受野和特征提取能力。解碼器模塊通過跳躍連接和雙線性插值上采樣實現(xiàn)網(wǎng)絡(luò)淺層豐富細節(jié)、空間位置信息與頂層粗略、抽象語義分割信息的融合。最后,使用1×1 卷積將解碼器輸出特征圖映射為兩通道(分類類別數(shù)),上采樣8 倍后在通道維度取最大值(ArgMax)獲得最終的分割結(jié)果。
以輕量級ShuffleNet V2"1×" 版本為基礎(chǔ)構(gòu)建主干網(wǎng)絡(luò)。為獲得精細的語義分割結(jié)果,同時提取抽象的語義信息,要求主干網(wǎng)絡(luò)在輸出較高分辨率特征圖的情況下,頂層網(wǎng)絡(luò)的感受野不能太小,而ShuffleNet V2 輸出Output Stride 為32 的原始特征圖不能滿足要求,為此使用空洞卷積對ShuffleNet V2 進行改造。
空洞卷積通過引入膨脹比率(Dilation Rate),在常規(guī)卷積核中插入空洞來構(gòu)造空洞卷積核,不同膨脹比率rate 的空洞卷積核如圖4所示??斩淳矸e不增加卷積核參數(shù)量和卷積計算量,在保持輸出特征圖尺度的同時增大卷積核的感受野,從而提升主干網(wǎng)絡(luò)的特征提取能力,有利于提高語義分割精度。
圖4 空洞卷積Fig.4 Atrous Convolution
設(shè)常規(guī)卷積核尺寸為k×k,引入的膨脹比率為r,卷積層輸入圖像尺寸為h×w,滑動步長(Stride)為s,在邊緣填充(Padding)零像素的圈數(shù)為p,則等效的空洞卷積核大小及輸出特征圖的尺寸m×n分別如下:
如圖5所示,在進行主干網(wǎng)絡(luò)設(shè)計時,去除ShuffleNet V2 網(wǎng)絡(luò)“Stage4”網(wǎng)絡(luò)塊后的池化層和全連接層,構(gòu)建為全卷積網(wǎng)絡(luò)(Fully Convolutional Networks,F(xiàn)CN),設(shè)置“Stage4”網(wǎng)絡(luò)塊中第一層步長為1,并將隨后的三個網(wǎng)絡(luò)層改造為膨脹比率為2 的空洞卷積,在使卷積層感受野繼續(xù)增大的同時,特征圖尺寸不再減小。最終主干網(wǎng)絡(luò)輸出464 通道Output Stride 為16 的特征圖,分辨率提高一倍。
圖5 主干網(wǎng)絡(luò)Fig.5 Network backbone
基于自注意力機制[11-16],利用跑道成圖像素值的相似性、空間位置坐標的相似性和連續(xù)性,設(shè)計自注意力模塊(Self-attention Module),對跑道像素和空間位置的相似關(guān)系進行建模,在不需要外界信息輔助情況下通過特征圖之間的特征變換,實現(xiàn)特征圖空間維度和通道維度的大范圍全局相似性信息的融合,從而提高網(wǎng)絡(luò)語義分割精度。
如圖6所示,設(shè)計位置注意力模塊(Position attention Module)和通道注意力模塊(Channel attention Module)對輸入特征圖進行特征變換,提取全局像素相似性和通道相關(guān)性信息;使用3×3 卷積核對兩個模塊輸出進行操作后,直接與注意力模塊輸入特征圖在通道維度進行拼接;使用1×1 卷積對拼接的特征圖進行特征整合,通過迭代優(yōu)化讓網(wǎng)絡(luò)自動選擇特征,提高位置注意力和通道注意力特征融合得“自由度”;最后,使用失活概率為0.1 的隨機失活層,隨機失活一些特征,避免網(wǎng)絡(luò)對某些特定特征的過度依賴,增強模塊的魯棒性。在這個過程中,為減少梯度消失等現(xiàn)象以加快收斂速度,自注意力模塊中每層卷積操作后均使用了批量歸一化和ReLU 激活函數(shù)。
圖6 自注意力模塊Fig.6 Self-attention module
1.2.1 位置注意力模塊
理論上網(wǎng)絡(luò)中深層的卷積核具有很大的感受野,更容易抽象出高級語義特征,但實驗證明深層網(wǎng)絡(luò)的實際感受野遠小于理論值,導致全局特征缺失。位置注意力模塊通過特征圖之間的特征變換計算像素之間的全局相似性關(guān)系,建模特征圖中局部特征的全局位置上下文信息,從而增大網(wǎng)絡(luò)的感受野,增強網(wǎng)絡(luò)的全局特征表達能力。
如圖7所示,首先使用兩路1×1 卷積壓縮輸入特征圖的通道維度(不失一般性,未考慮網(wǎng)絡(luò)訓練時批量歸一化“Batch”維度),第一路分支的通道壓縮比為8,得到特征圖為f,第二路分支的通道壓縮比為2,可保留較多的原始信息,得到特征圖為g;然后分兩路對特征圖f進行特征變換,一路進行維度變換和轉(zhuǎn)置,合并高度和寬度維度,得到特征圖f1,另一路只進行維度變換,合并高度和寬度維度,得到特征圖f2;接著對f1和f2進行矩陣乘法,消去通道維度后使用 Softmax 函數(shù)進行歸一化,獲得尺寸為[H*W,H*W]的注意力圖;同時,對特征圖g進行維度變換,得到[H*W,C/2]的特征圖g1 。最后,將注意力圖與特征圖g1 進行矩陣乘法,將獲取的全局相關(guān)性權(quán)值信息重新分布到原始特征圖中,恢復特征圖高度和寬度維度后,獲得尺寸為[H,W,C/2]的輸出特征圖。
圖7 位置注意力模塊Fig.7 Position attention module
1.2.2 通道注意力模塊
一般情況下,深度卷積神經(jīng)網(wǎng)絡(luò)中頂層不同的通道會關(guān)注不同的分割類別,通道注意力模塊利用相似的特征變換操作,在保留通道維度的同時,使網(wǎng)絡(luò)具有全局通道相關(guān)性表達能力[17]。
如圖8所示,首先使用1×1 卷積壓縮特征表達,得到特征圖h;然后分三路對特征圖h進行維度變換或轉(zhuǎn)置操作,分別得到尺寸為特征圖1h、h2 和h3 。對特征圖1h和h2 進行矩陣乘法,消去H*W維度,保留通道維度,得到特征圖G。為了防止訓練期間的損失值不收斂[15],對特征圖G中的像素點Gi,j按式(2)進行處理,然后用Softmax 函數(shù)進行歸一化,獲得尺寸為[C/2,C/2]的注意力圖,其描述了通道之間的相關(guān)性,權(quán)值越大,通道特征相似度越高。
其中max(G) 表示特征圖中像素最大值,i,j分別表示像素點坐標,i,j∈ [1,C/2]。
圖8 通道注意力模塊Fig.8 Channel attention module
最后,將注意力圖與特征圖h3 進行矩陣乘法,消去H*W維度,將全局通道相關(guān)性信息分布到原始特征圖中,恢復特征圖高度和寬度維度后,獲得尺寸為[H,W,C/2]的輸出特征圖。
主干網(wǎng)絡(luò)和自注意力模塊編碼了圖像中豐富的語義信息,但輸出特征圖分辨率低,丟失了部分空間位置信息,設(shè)計解碼器模塊,使用上采樣逐步增大特征圖的尺寸,并使用跳躍連接融合主干網(wǎng)絡(luò)淺層豐富的細節(jié)和空間位置信息,從而提取多尺度特征,恢復清晰的物體邊緣,獲得更加稠密、精細的語義分割結(jié)果。為降低解碼器模塊中卷積操作對網(wǎng)絡(luò)實時性的影響,設(shè)計時使用了深度可分離卷積[18],錯誤!未找到引用源。錯誤!未找到引用源。(Depthwise Separable Convolution)。
深度可分離卷積首先使用3×3卷積核(通常稱為“Depthwise Convolution”)在輸入特征圖上逐通道進行卷積運算,然后使用1×1卷積(通常稱為“Pointwise Convolution”)進行通道關(guān)系映射。深度可分離卷積與常規(guī)卷積的計算量之比如下:
其中h×w×ci為輸入特征圖尺寸,h×w×co為輸出特征圖尺寸,則k×k×ci×co為常規(guī)卷積核尺寸(co為卷積核個數(shù)),k×k×ci深度可分離卷積逐通道卷積核尺寸,1×1×ci×co為1×1卷積核尺寸。由于通常卷積核尺寸遠小于輸出通道數(shù),所以深度可分離卷積與常規(guī)卷積的計算量之比約為 1/k2,當卷積核設(shè)置為3×3時,深度可分離卷積約可減少8~9 倍的計算量。
解碼器網(wǎng)絡(luò)結(jié)構(gòu)如圖3中所示,以編碼器模塊輸出的OS=16特征圖為輸入,首先進行雙線性插值2倍上采樣,獲得OS=8的特征圖;然后引入主干網(wǎng)絡(luò)中“Stage2”輸出的相同空間分辨率特征圖,并使用1×1卷積對其降維3 倍獲得38 通道淺層特征,將兩路特征圖拼接后,使用兩層3×3的深度可分離卷積整合細化深層和淺層特征,輸出256 通道OS=8的稠密特征圖。
無人機著陸過程中跑道成像典型情況如圖9所示,根據(jù)無人機與跑道相對距離的變化,將著陸過程分為A、B、C 三個階段:
A 區(qū):xl<K1,即K1點之前,由于無人機距離機場跑道較遠,跑道成像表現(xiàn)為點目標,如圖9(a)所示,不進行邊線提取,在視覺傳感器坐標系內(nèi)不能解算相對位置/姿態(tài)信息;
B 區(qū):K1≤xl<K2,即K1,K2點之間,機場跑道完整成像為梯形目標,如圖9(b)所示,在視覺傳感器坐標系內(nèi)可以進行跑道辨識,提取左右邊線和起始線,獲得高精度相對位置/姿態(tài)測量信息,并與慣性傳感器導航信息進行融合,提高著陸導航信息的測量性能;
C 區(qū):K2≤xl<K4,即K2點和剎停點K4點之間,跑道成像不完整,如圖9(c)所示,圖像中無跑道起始線,可提取跑道的左右兩條邊線,視覺測量奇異,無法獲得唯一解,可通過慣性傳感器導航信息、無人機滑跑運動約束等輔助獲取相對位置/姿態(tài)信息,保持著陸導航信息的測量精度。
圖9 無人機著陸過程中跑道成像Fig.9 Runway images during landing process
基于跑道分割網(wǎng)絡(luò)輸出的分割圖,通過跑道輪廓檢測、空間矩計算、跑道邊緣檢測、候選線段提取、邊線篩選分類與擬合等步驟提取跑道左右邊線和起始線(如圖2所示),根據(jù)提取的跑道邊線,分階段計算無人機與機場跑道之間的相對位置和姿態(tài)參數(shù)。
跑道邊線提取流程如圖10所示。首先進行輪廓檢測,以跑道分割網(wǎng)絡(luò)輸出特征圖為輸入,檢測并計算所有輪廓面積,選取輪廓面積最大的作為跑道區(qū)域。根據(jù)跑道輪廓占比進行著陸階段判斷:設(shè)輸入圖像的寬和高分別是w、h,跑道輪廓寬和高w′、h′滿足w′≤1 /15*w、h′≤1 /10*h,且跑道區(qū)域面積小于1 /150(w*h),認為處于A 階段,否則認為處于B、C階段。A 階段只提取輪廓中心,不提取邊線,B、C階段提取邊線。
隨后計算跑道區(qū)域的空間特征。對階段B 和C 的圖像計算最大輪廓的零階和一階空間矩:
其中i,j∈ (0,1),x,y表示圖像像素列坐標和行坐標,px,y表示圖像像素值。
根據(jù)空間矩計算跑道輪廓的重心坐標pm(圖11(a)中紅色圓):
計算跑道輪廓的周長larc、輪廓最左側(cè)點pl(圖11(a)中紅色)、最右側(cè)點pr(圖11(a)中綠色)、最頂端點pt(圖11(a)中藍色)和最底端點pb(圖11(a)中青色)的坐標值。
圖10 跑道邊線提取流程Fig.10 Flowchart of runway edge line detection
然后進行候選線段擬合。采用Canny 邊緣檢測算子對跑道輪廓進行邊緣檢測后,使用概率霍夫變換進行候選線段擬合。在無人機著陸過程中,跑道區(qū)域由小到大尺度變化較大,為此假設(shè)B、C 階段跑道區(qū)域為等邊三角形,則三角形邊長ltri=1 / 3*larc,使用跑道輪廓周長更新概率霍夫直線變換參數(shù),累加器閾值threshold、最小線長 minLineLength、最大線距maxLineGap,如式(6)所示:
擬合得到的候選線段如圖11(b)所示。
然后進行跑道邊線篩選與分類。定義跑道區(qū)域中線為輪廓重心pm和輪廓最頂端點pt的連線,記其斜率kmid,定義水平線為過輪廓重心pm斜率為零的直線。存在起始線時,起始線斜率與左右邊線斜率相差很大,設(shè)ts為存在起始線的閾值,計算所有候選線段斜率k、中點pct,與中線的交點記為pmid,與水平線的交點記為phori,統(tǒng)計最小斜率kmin和最大斜率kmax的絕對值,根據(jù)跑道幾何約束關(guān)系將候選線段分為左邊線、右邊線、起始線三類。
為了進一步消除錯誤分類進入跑道邊線的線段,需要進行異常值剔除。計算每一類中所有線段的平均斜率和坐標作為該類參考線段,通過比較每條線段與參考線段的斜率差值和距離,剔除超過閾值的線段。候選線段輔助坐標點、分類結(jié)果和剔除異常值后的跑道邊線如圖11(c)所示。
最后進行跑道邊線方程擬合。經(jīng)過以上步驟得到了各個類別的跑道邊線線段,對每一類線段組進行一階多項式擬合,得到相應(yīng)直線的坐標方程。多項式方程為:
其中p[i]為多項式系數(shù),deg為多項式階次,文中取1。
通過迭代使平方誤差最小化得到直線方程的最優(yōu)解。目標函數(shù)為:
其中k為該類別邊線線段數(shù)量。
跑道邊線擬合結(jié)果如圖11(d)所示,跑道區(qū)域檢測結(jié)果、跑道邊線識別結(jié)果與輸入圖像疊加效果如圖11(e)所示。
獲得跑道左右和起始邊線原始特征后,無人機著陸過程中相對位姿信息解算算法詳見團隊之前的工作[7]。A 階段跑道成像區(qū)域很小,將跑道視為點目標,粗略求得無人機在世界坐標系下的航向角ψ與俯仰角θ;B 階段提取跑道三條邊線,求解相對位置和相對姿態(tài)全部參數(shù);C 階段僅能提取跑道左右邊線,求得航向角ψ、俯仰角θ、無人機側(cè)偏tx,垂偏tz。
以某型固定翼無人機為飛行載體,搭載FLIR BFLY-PGE-23S6C-C可見光相機、Mti-G 710和OEM615衛(wèi)星接收機等對本文算法進行實驗驗證。FLIR 可見光相機采用 Sony IMX249 傳感器,最大分辨率為1920×1200,其全局快門(Global shutter)設(shè)計有利于高速飛行時圖像采集。相機鏡頭選擇與可見光相機相匹配的VTS1614-M2,鏡頭為16 mm 焦距,試驗時F 數(shù)(F No.)設(shè)為4。算法定位精度使用差分衛(wèi)星(DGPS)接收機來評價,差分接收機由機載OEM615 移動站和地面OEM615 基站組成。
圖11 跑道邊線提取中間過程可視化結(jié)果Fig.11 Intermediate results of runway edge line classification.
為使網(wǎng)絡(luò)訓練數(shù)據(jù)貼近真實機場場景下跑道分割、機場跑道檢測的實際應(yīng)用需求,收集了多個跑道不同季節(jié)、不同時刻、不同天氣下的機場跑道圖像序列,經(jīng)過降采樣和人工篩選得到1753 張跑道圖像。此外,在互聯(lián)網(wǎng)上搜集并篩選得到948 張著陸跑道圖像,共計收集2701 張分辨率960×600圖像。
設(shè)置“跑道”和“背景”兩個類別語義標簽:跑道區(qū)域定義為左右跑道邊線、起始斑馬線和終止斑馬線之間的區(qū)域,其他圖像區(qū)域劃分為背景。以數(shù)據(jù)采集的季節(jié)、時刻、天氣與跑道情況將數(shù)據(jù)劃分為2124 張訓練集和557 張測試集,命名為Runway 數(shù)據(jù)集。
采用兩塊Nvidia GTX 1080Ti GPU 的服務(wù)器(CPU型號為I7-8700K,32GB 內(nèi)存)和Ubuntu 16.04 操作系統(tǒng)搭載訓練平臺,訓練代碼基于TensorFlow[20]開源框架實現(xiàn)。首先使用在ImageNet 數(shù)據(jù)集上預(yù)訓練的ShuffleNet V2 來初始化主干網(wǎng)絡(luò)權(quán)重,然后在MS COCO 數(shù)據(jù)集上對整個網(wǎng)絡(luò)進行端到端預(yù)訓練,最后在Runway 數(shù)據(jù)集上進行最終的遷移訓練。
數(shù)據(jù)增強方面,首先使用縮放因子為[0.5,2.0],步長為0.25 的隨機縮放操作。然后對訓練輸入圖像進行961×609尺寸隨機裁剪。最后對訓練圖像使用了概率為0.5 的隨機左右翻轉(zhuǎn)操作。
首先進行 RunwayNet 各個模塊的消融實驗(Ablation Experiments),然后將自注意力模塊中間結(jié)果進行可視化,最后給出RunwayNet 在英偉達Jetson AGX Xavier 嵌入式平臺上的跑道檢測效果圖和三架次飛行試驗位姿解算精度分析。
3.3.1 消融實驗
在Runway 數(shù)據(jù)集上進行RunwayNet 各個模塊的消融實驗(Ablation Experiments),驗證各個模塊及其組合的性能、參數(shù)量和計算量。跑道分割精度用平均交并比[21](mean Intersection over Union,mIoU)來評價,參數(shù)量的單位為MB(兆字節(jié)),網(wǎng)絡(luò)計算量用每秒浮點運動次數(shù)GFLOPs 表示,GFLOPs=1×1 09FLOPs,GFLOPs 在網(wǎng)絡(luò)輸入為961×609×3分辨率下測得。實驗結(jié)果如表5所示,表中“SAM”和“Decoder”分別表示自注意力模塊和解碼器模塊,“Our-Basic”方法表示只使用主干網(wǎng)絡(luò)進行語義分割,推理速度用fps 表示,在英偉達Jetson Xavier 平臺上測得(部署時使用Nvidia Tensor RT 庫進行加速),mIoU 得分在Runway測試集計算得出。
表5 RunwayNet 網(wǎng)絡(luò)各模塊消融實驗Tab.5 Ablation Study for RunwayNet Modules
由表5中數(shù)據(jù)可知:
“Our-Basic”網(wǎng)絡(luò)配置在參數(shù)量僅1.09 MB,計算量僅5.60 GFLOPs 的情況下mIoU 得分已經(jīng)達到83.28%,在Xavier 上推理速度達到24.5 fps;
“Our-SAM”網(wǎng)絡(luò)配置在主干網(wǎng)絡(luò)的基礎(chǔ)上添加了自注意力模塊,參數(shù)量略微增加0.49 MB,計算量增加2.45 GFLOPs,推理速度也略微下降到23.1 fps,mIoU 評分提升了2.25%達到85.53%;
“Our-Decoder”網(wǎng)絡(luò)配置在主干網(wǎng)絡(luò)的基礎(chǔ)上添加了解碼器模塊,參數(shù)量略微增加0.15 MB,計算量增加1.55 GFLOPs,推理速度稍微下降到22.3 fps,mIoU 評分相比“Our-Basic”網(wǎng)絡(luò)提升1.04%;
RunwayNet 網(wǎng)絡(luò)整合了自注意力模塊和解碼器模塊優(yōu)點,參數(shù)量為1.72 MB,計算量為9.60 GFLOPs,在Xavier 上推理速度為21.8 fps,最終mIoU 評分達到86.53%,相比于“Our-Basic”網(wǎng)絡(luò)評分提高了3.25%,驗證了本文設(shè)計的自注意力模塊、解碼器模塊和RunwayNet 跑道分割網(wǎng)絡(luò)的優(yōu)異性能。
3.3.2 數(shù)據(jù)可視化
為了更好地理解注意力模型的原理并驗證本文構(gòu)建的自注意力模塊的有效性,對圖像標簽、網(wǎng)絡(luò)預(yù)測結(jié)果、位置注意力圖和通道注意力圖等網(wǎng)絡(luò)中間結(jié)果進行可視化分析。在進行可視化分析時,說明如下:
1)通道注意力特征可視化時,對融合了原始特征圖和通道相關(guān)性信息的通道注意力模塊輸出特征圖進行可視化;
2)網(wǎng)絡(luò)輸入的原圖和標簽尺寸為961×609,網(wǎng)絡(luò)預(yù)測結(jié)果OS=8,所以網(wǎng)絡(luò)預(yù)測原始分辨率為121×77,而自注意力模塊輸入和輸出特征圖OS=16,所以注意力圖實際分辨率為61×39,為了可視化方便,將各圖像縮放至統(tǒng)一尺寸;
3)實際訓練時標簽圖像和預(yù)測輸出的像素值為其對應(yīng)的類別,像素取值分別為0,1,可視化時將標簽圖像和預(yù)測結(jié)果進行了因子的加權(quán),方便區(qū)分不同的類別標簽。自注意力模塊可視化結(jié)果如圖13所示。
圖13 自注意力模塊中間層可視化結(jié)果Fig.13 Visualization of self-attention module intermediate layer
圖中每一列對應(yīng)一張圖的可視化結(jié)果,第一行為輸入原圖,第二行為真值標簽,第三行為網(wǎng)絡(luò)預(yù)測結(jié)果?!癙AM”表示位置注意力圖,其標號對應(yīng)圖中像素位置(x,y),“CAM”表示通道注意力圖,其標號對應(yīng)通道號。由第四行第一列可見,紅色坐標點(15,10)對應(yīng)的位置注意力圖提取了整個圖中“背景”類別的信息,分類準確,邊界清晰。第四行第二列綠色坐標(30,19)像素點對應(yīng)跑道區(qū)域,其位置注意力圖對整個標簽真值定義“跑道”區(qū)域響應(yīng)明顯,對非標簽定義但是人類認知上的跑道區(qū)域有所響應(yīng)而且有較強的抑制作用,對“背景”類別沒有任何響應(yīng)。由最后一行可見,通道注意力圖同樣提取了不同類別清晰的分割區(qū)域,如第一列第五行中通道注意力圖通道109 提取了“跑道”類別,第二列第五行中通道50 對“背景”類別響應(yīng)強烈。
對設(shè)計的RunwayNet網(wǎng)絡(luò)的整體有效性進行可視化分析,給出RunwayNet 在Runway 測試集上的分割和邊線提取結(jié)果,如圖14所示,跑道區(qū)域用紫色標記,前三行圖像為機載實驗采集所得,后兩行圖像由互聯(lián)網(wǎng)搜集所得。由圖中第一列結(jié)果可見,RunwayNet 網(wǎng)絡(luò)在離跑道很遠(大于3 公里)的距離就對跑道區(qū)域正確感知,人眼隱約看見跑道的時候網(wǎng)絡(luò)即可大致識別出跑道區(qū)域。由最后一列結(jié)果圖可見,從無人機即將著陸到完全降落到跑道上滑行,網(wǎng)絡(luò)都準確地分割出了跑道區(qū)域。結(jié)合圖中第一列、第二列和第三列結(jié)果可見,網(wǎng)絡(luò)對由遠及近著陸過程中各個階段的跑道,對不同時刻、不同季節(jié)、不同背景、不同鋪設(shè)條件的跑道都能準確進行分割檢測。
圖14 跑道分割與邊線檢測結(jié)果Fig.14 Segmentation and edge line detection results of Runway test set
3.3.3 定位精度分析
對三架次(Fly1- Fly3)飛行試驗位置解算精度進行分析,如圖15所示,紅色曲線為差分衛(wèi)星測量值,作為精度評價基準,藍色曲線為本文算法輸出測量值。從圖中可以看到:
1)Fly1 作用距離為3091 m,F(xiàn)ly2 作用距離達到4555 m,F(xiàn)ly3 作用距離為3964 m,可以看出作用距離可達3~4 km;
2)在-2 km 后進入穩(wěn)定跟蹤階段,特別是進入-1 km 后的近距離著陸段,著陸視覺算法的曲線與差分系統(tǒng)曲線高度吻合;
3)飛越跑道起始線后,依然可穩(wěn)定輸出側(cè)向和垂向相對測量值。
圖15 系統(tǒng)定位精度曲線Fig.15 Accuracy of the positioning system
三架次數(shù)據(jù)位置測量誤差及成功率分析見表6,其中識別成功率為分割出跑道并解算出位置信息的幀數(shù)與著陸過程總幀數(shù)的比值??梢钥闯?,無人機進入-2 km 后,三架次識別成功率接近90%。B 階段(-2~-1 km)垂向誤差(Vertical error)平均值為2.79 m、側(cè)向誤差(Lateral error)平均值為1.69 m,進入-1 km后垂向和側(cè)向誤差分別減小到0.80 m 和0.56 m;C 階段垂向和側(cè)向測量誤差分別為0.27 m 和0.87 m,完全滿足無人機控制要求。
本文針對無人機在復雜環(huán)境下自主著陸應(yīng)用場景,提出了基于深度神經(jīng)網(wǎng)絡(luò)圖像語義分割的無人機著陸導航方法,構(gòu)建了輕量高效的端到端跑道分割神經(jīng)網(wǎng)絡(luò)RunwayNet,通過主干網(wǎng)絡(luò)與自注意力網(wǎng)絡(luò)模塊的設(shè)計,使網(wǎng)絡(luò)具備全局像素和空間位置相似特征提取能力,同時設(shè)計了可融合網(wǎng)絡(luò)淺層豐富的細節(jié)、空間位置信息與頂層粗略、抽象的語義分割信息的解碼器模塊,完成了跑道的實時、可靠、精細分割,在此基礎(chǔ)上,設(shè)計基于跑道分割區(qū)域的邊線提取和位姿解算算法實現(xiàn)了無人機著陸相對導航信息的解算。機載飛行實驗結(jié)果表明,基于英偉達Jetson Xavier 嵌入式平臺可實現(xiàn)21.8 fps 的處理速度,對陌生跑道的最遠探測距離達到3 km 以上,末段側(cè)向平均定位精度達到0.56 m。本文方法在大幅提高跑道檢測精度、檢測速度和檢測距離的同時,可適用于背景改變、天氣變化、季節(jié)變化和陌生跑道等情況,具有一定的實用價值。
表6 定位精度統(tǒng)計(單位:米)Tab.6 Precision statistics(Unit:m)