眭海剛, 李嘉杰, 茍國華
(武漢大學(xué)測繪遙感信息工程國家重點(diǎn)實驗室, 湖北 武漢 430072)
衛(wèi)星定位技術(shù)為無人機(jī)提供了空間位置信息,使無人機(jī)能夠完成定點(diǎn)飛行、航線規(guī)劃、自動返航等飛行任務(wù),保障了飛行安全。但衛(wèi)星定位技術(shù)常用的導(dǎo)航衛(wèi)星定位手段極易受干擾,無人機(jī)視覺定位方法正逐步受到重視[1-3],以即時定位與地圖構(gòu)建(simultaneous localization and mapping, SLAM)[4-5]為代表的室內(nèi)視覺定位技術(shù)取得很大進(jìn)展,但難以適用于室外低空大范圍飛行場景。也有研究者基于改進(jìn)SLAM前端設(shè)計了定位系統(tǒng), Shan等[6]通過光流跟蹤建立狀態(tài)估計,并使用方向梯度直方圖(histogram of oriented gradient, HOG)特征在衛(wèi)星影像上實現(xiàn)配準(zhǔn),利用粒子濾波實現(xiàn)從粗到精的無人機(jī)定位,但由于沒有回環(huán)檢測,系統(tǒng)存在誤差累積的問題。
近年來,隨著無人機(jī)應(yīng)用范圍的擴(kuò)展,結(jié)合衛(wèi)星影像的無人機(jī)定位方法越來越受到重視[7-8]。Mughal等[9]提出利用深度學(xué)習(xí)提取影像特征,引入半局部約束在已建立的密集匹配中尋找最佳定位,以實現(xiàn)端到端匹配定位。雖然該方法實現(xiàn)了定位流程并考慮了機(jī)載限制,但其在NVIDIA TX2上實現(xiàn)一次定位需要3.7 s,離實時性要求還有一定距離,異源影像的魯棒快速匹配仍是瓶頸。在計算機(jī)視覺領(lǐng)域,尋求泛化能力更強(qiáng)的特征匹配方法持續(xù)受到關(guān)注[10-12],Yang等[13]研究了異源影像匹配,針對異源影像之間的灰度差異和非線性輻射畸變,提出了一種考慮相位銳度方向的異源圖像匹配方法。相比傳統(tǒng)匹配方案,異源圖像匹配方法具有更高的準(zhǔn)確性和魯棒性,但人工設(shè)計特征的魯棒性始終有限,無法穩(wěn)定匹配更多類型場景的異源影像。深度學(xué)習(xí)等大計算量方法能夠?qū)崿F(xiàn)更穩(wěn)健的特征匹配,Sarlin等[14]嘗試用深度學(xué)習(xí)建立特征點(diǎn)的匹配關(guān)系,結(jié)合圖神經(jīng)網(wǎng)絡(luò)和求解最優(yōu)運(yùn)輸問題,取得了相當(dāng)好的匹配效果。然而,基于特征點(diǎn)的匹配方法無法適應(yīng)紋理稀疏場景,無特征點(diǎn)檢測的匹配方法逐漸興起。Rocco等[15]設(shè)計了領(lǐng)域一致網(wǎng)絡(luò)(neighbourhood consensus network,NCNet),模型通過分析局部鄰域關(guān)系,在影像的四維特征空間實現(xiàn)了密集的特征匹配。Efe等[16]使用預(yù)訓(xùn)練視覺幾何組(visual geometry group,VGG)提取影像特征,通過最近鄰算法估計高層特征關(guān)系以輸出密集特征匹配。無特征點(diǎn)檢測進(jìn)一步提升了匹配方法的魯棒性,深度學(xué)習(xí)也成為圖像匹配的主流方法[17-20]。但機(jī)載計算資源有限,限制了這些方法在無人機(jī)在線定位上的應(yīng)用。
本文針對定位魯棒性和實時性的瓶頸問題,提出一種新的異源影像快速匹配定位算法。利用殘差網(wǎng)絡(luò)提取魯棒特征,結(jié)合小型Transformer[21]獲取高精度定位;其次,通過遷移學(xué)習(xí)以最小歐氏距離替代Transformer來加速模型推理。
基于異源匹配定位的方法通過建立異源圖像間的仿射變化關(guān)系,確定無人機(jī)在衛(wèi)星底圖上的坐標(biāo),最后利用衛(wèi)星影像預(yù)存的地理信息實現(xiàn)經(jīng)緯度轉(zhuǎn)換。
整個定位系統(tǒng)可劃分為3個模塊,如圖1所示。首先利用無人機(jī)上的慣導(dǎo)等傳感器確定無人機(jī)影像在衛(wèi)星地圖上的大致區(qū)域;其次,設(shè)計了端到端的匹配模型,利用殘差網(wǎng)絡(luò)[22]結(jié)合特征金字塔(feature pyramid network,FPN)[23]提取圖像多尺度特征,結(jié)合最小歐式距離和輕量Transformer模塊,實現(xiàn)特征從粗到精的匹配,構(gòu)造高精度異源影像映射關(guān)系;最后,利用匹配點(diǎn)對來估計單應(yīng)矩陣,實現(xiàn)坐標(biāo)轉(zhuǎn)換。因此,圖像匹配算法是定位系統(tǒng)的核心,其魯棒性和實時性是影響定位效果的關(guān)鍵。
圖1 影像匹配定位方法的流程Fig.1 Procedure of image matching localization method
特征提取模塊的整體框架如圖2所示,模塊結(jié)合了殘差網(wǎng)絡(luò)(residual network,ResNet)和特征金字塔。ResNet利用了殘差連接和恒等映射,殘差連接通過學(xué)習(xí)殘差特征,緩解了由網(wǎng)絡(luò)層次加深帶來的特征變化較小的問題,使得殘差特征表征能力更強(qiáng)。恒等映射解決了網(wǎng)絡(luò)層次數(shù)量影響特征表征效果的問題,使得模型提取特征的能力不受網(wǎng)絡(luò)層次數(shù)量的影響。特征金字塔通過融合不同層次的特征圖,使得特征具有一定的尺度不變性。因此,結(jié)合ResNet和FPN輸出魯棒性較強(qiáng)的特征。
圖2 特征提取網(wǎng)絡(luò)框架Fig.2 Framework of feature extraction network
基于實時性考慮,本文采用了規(guī)模最小的ResNet18作為骨干網(wǎng)絡(luò)。首先,將輸入的異源影像預(yù)處理為640×480的單通道圖,進(jìn)行灰度歸一化后放入同一批次,同時提取異源圖像的特征;然后,通過卷積核大小為7×7和步長為2的初始卷積層,分別生成128張尺寸為320×240的特征圖;該組特征圖連續(xù)通過6個結(jié)構(gòu)一致的殘差卷積塊,結(jié)構(gòu)如圖3(a)所示。其中,x表示輸入特征圖,F(x)表示對x進(jìn)行兩層卷積得到的特征圖。每兩個殘差卷積塊構(gòu)成一個殘差卷積組,每個殘差卷積組具有相同的卷積核數(shù)量,卷積核大小均為3×3。通過改變卷積步長得到不同分辨率和通道數(shù)的特征圖。特征圖通過3個殘差模塊組后,利用1×1卷積統(tǒng)一所有特征圖的通道數(shù)并進(jìn)行融合。融合模塊結(jié)構(gòu)如圖3(b)所示。其中,x和y表示通過不同殘差卷積組得到的不同分辨率的特征圖。
圖3 殘差塊和特征融合模塊的邏輯構(gòu)成Fig.3 Logical composition of residual block and feature fusion module
首先采用雙線性插值方法上采樣低分辨率特征圖,將其與高分辨特征圖相加,然后通過兩個卷積核大小為3×3且步長為1的卷積層實現(xiàn)特征高維融合,并統(tǒng)一通道數(shù)。其中,卷積層間通過批標(biāo)準(zhǔn)化(batch normalization,BN)將輸入分布?xì)w置到均值為0、方差為1的標(biāo)準(zhǔn)正態(tài)分布,使輸出落在激活函數(shù)的敏感區(qū)域。同時,用LeakyReLU函數(shù)對卷積輸出進(jìn)行非線性激活,激活函數(shù)如下:
LeakyReLU=max(ax,x)
(1)
式中:a表示一個較小的斜率。
特征金字塔執(zhí)行兩次融合,網(wǎng)絡(luò)最后輸出低分辨率特征圖和融合了多尺度信息的高分辨率特征圖。
2.2.1 基于Transformer的匹配模型
將殘差金字塔網(wǎng)絡(luò)提取的特征由粗到精構(gòu)筑密集匹配。在進(jìn)行匹配之前,還需要利用Transformer模塊對特征進(jìn)行編碼,目的是為了融合注意力,通過結(jié)合局部和全局信息來增強(qiáng)特征,提升特征區(qū)分度,便于度量特征的相似性,并由此建立精細(xì)的匹配概率分布,使匹配關(guān)系更加魯棒。Transformer模塊由順序連接的編碼器層組成。圖4(a)顯示了編碼器的結(jié)構(gòu),編碼器的輸入是由ResNet提取的特征圖。編碼器層的關(guān)鍵模塊是注意力層。根據(jù)輸入的特征一致性,可以實現(xiàn)自注意力和交叉注意力機(jī)制。本文在粗匹配階段之前設(shè)計了8層Transformer編碼器,通道數(shù)與ResNet輸出的特征通道數(shù)一致,并采用自注意力和交叉注意力交替編碼,在精細(xì)匹配之前則進(jìn)行單次自注意力和交叉注意力編碼,即包含兩層Transformer編碼器。
圖4 編碼器和注意力層的邏輯構(gòu)成Fig.4 Logic composition of encoder and attention layer
由于傳統(tǒng)Transformer的注意力層計算復(fù)雜度太高,本文采用了線性注意力[24],計算方式如圖4(b)所示。基于矩陣乘法結(jié)合律,通過ELU(·)激活函數(shù)替換原計算核,使計算復(fù)雜度從O(N2)降低到O(N),提升了算法效率。
基于編碼后的特征實現(xiàn)粗匹配。粗匹配階段首先通過關(guān)聯(lián)Transformer編碼特征構(gòu)造代價矩陣;然后,使用softmax函數(shù)將代價矩陣轉(zhuǎn)換為匹配的概率分布矩陣,輸出不同像素間的匹配概率;最后,根據(jù)匹配概率輸出置信度高的低分辨率影像上的匹配點(diǎn)坐標(biāo)。代價矩陣和概率分布矩陣的計算如下:
(2)
P(i,j)=softmax(i,·)j·softmax(·,j)i
(3)
式中:FUAV和FSAT分別表示經(jīng)過Transformer編碼的特征圖。代價矩陣即計算特征的點(diǎn)積相似度,然后通過softmax將代價矩陣行列指數(shù)歸一化,輸出概率分布矩陣,概率分布矩陣中的每個元素代表不同局部的匹配概率。
建立粗匹配后,基于粗匹配的匹配點(diǎn)對利用精細(xì)匹配模塊將匹配細(xì)化到原始圖像分辨率。首先,在高分辨特征圖上定位所有粗匹配點(diǎn)的位置,固定其中一張?zhí)卣鲌D的匹配點(diǎn)位置,在另一張?zhí)卣鲌D上以匹配點(diǎn)為中心構(gòu)造大小為5×5的局部窗口;然后,通過小型Transformer模塊在局部實現(xiàn)特征關(guān)聯(lián),構(gòu)建代價矩陣;構(gòu)建代價矩陣后,不同于粗匹配階段,精細(xì)匹配結(jié)合了基于卷積神經(jīng)網(wǎng)絡(luò)的數(shù)值坐標(biāo)回歸[25],將代價矩陣輸入可微空間到數(shù)值轉(zhuǎn)換層(differentiable spatial to numerical,DSNT)。DSNT層是可微的數(shù)值變化層,適應(yīng)現(xiàn)有卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練框架,利用DSNT層輸出粗匹配點(diǎn)的像素坐標(biāo)微調(diào)量,最終能夠?qū)崿F(xiàn)亞像素的匹配精度。
2.2.2 基于最小歐氏距離的匹配模型
無人機(jī)機(jī)載計算機(jī)算力有限,難以部署粗匹配階段的大型Transformer。同時,結(jié)合了ResNet、特征金字塔以及Transformer的匹配框架過于復(fù)雜,對算法效率產(chǎn)生非常大的影響。由于ResNet已經(jīng)具備強(qiáng)大的特征提取能力,已有學(xué)者研究了基于預(yù)訓(xùn)練ResNet的特征匹配方法[15],通過卷積神經(jīng)網(wǎng)絡(luò)直接構(gòu)筑密集的特征匹配,證明了利用遷移學(xué)習(xí)實現(xiàn)特征匹配的可行性。
因此,本文算法基于Transformer匹配算法的預(yù)訓(xùn)練模型,首次采用最小歐式距離算法直接實現(xiàn)粗匹配。最小歐式距離的計算復(fù)雜度為O(N2d)。而大型Transformer需要先進(jìn)行特征編碼,再建立匹配,編碼和匹配計算復(fù)雜度分別為O(N2d2)和O(N2d),因此通過去除特征編碼能夠有效提升匹配效率。在精細(xì)匹配階段,雖然也應(yīng)用了Transformer模塊,但由于局部窗口較小且僅應(yīng)用了小型Transformer,精細(xì)匹配的效率已經(jīng)相對較高。同時,Transformer模塊有助于提升匹配精度。故算法僅對粗匹配階段進(jìn)行優(yōu)化,該匹配方法的結(jié)構(gòu)如圖5所示。
圖5 最小歐式距離匹配模塊結(jié)構(gòu)Fig.5 Structure of minimum Euclidean distance matching module
ResNet提取的低分辨率特征傳入特征匹配模塊,首先將輸入的特征展平并同時做歸一化處理,得到長為(1/8)H×(1/8)W、寬為C的二維張量。采用歐氏距離矩陣度量所有特征描述,矩陣元素代表特征間的歐氏距離相似度,距離矩陣的計算如下所示:
(4)
最后輸出矩陣中的行列最小值,便得到了一一對應(yīng)的匹配點(diǎn)對,取代了Transformer模塊的編碼匹配過程,將粗匹配模塊的運(yùn)行時間由秒級降低到毫秒級。精細(xì)匹配模塊保持一致,在一定程度上保證了匹配精度。
將特征提取和匹配模塊在MegaDepth[26]數(shù)據(jù)集上進(jìn)行訓(xùn)練,數(shù)據(jù)集包含了多視角影像,并包含對應(yīng)拍攝角度的相機(jī)參數(shù)和深度信息。但該數(shù)據(jù)集缺少匹配真值,本文通過如下策略生成了匹配真值。數(shù)據(jù)在訓(xùn)練前的處理過程分為四個步驟:首先取出同一目標(biāo)的兩幅不同視角的圖像,將其中一幅圖像的像素坐標(biāo)利用相機(jī)參數(shù)和深度值反投影到三維坐標(biāo);然后,將另一幅圖像的相機(jī)參數(shù)投影到二維坐標(biāo),建立兩幅圖像的像素對應(yīng)關(guān)系;再次,針對存在遮擋或投影坐標(biāo)并不匹配的情況,進(jìn)行投影坐標(biāo)的深度比對,如果估計深度和真實深度差異在一定范圍內(nèi),則確定為匹配真值;最后,根據(jù)網(wǎng)絡(luò)輸出整理為置信度矩陣。
網(wǎng)絡(luò)訓(xùn)練采用兩種損失函數(shù),在低分辨率匹配階段,采用focal損失函數(shù)[27]。focal損失能夠緩解損失震蕩的問題,同時可以通過設(shè)置使訓(xùn)練過程更關(guān)注困難樣本的匹配。focal損失表達(dá)如下:
(5)
在精細(xì)匹配階段,采用L2范數(shù)損失,實現(xiàn)點(diǎn)對的精細(xì)匹配。匹配時,其中一張影像的匹配點(diǎn)像素位置保持不變,僅調(diào)整其對應(yīng)匹配點(diǎn)的像素位置,所以損失僅針對其中一張影像的像素位置。損失函數(shù)是像素的坐標(biāo)誤差,計算方法如下:
(6)
式中:i表示參照影像的像素位置;j表示坐標(biāo)微調(diào)影像的像素位置;jgt是通過相機(jī)參數(shù)、深度信息和參比影像的像素位置i計算出的地面真值。
單應(yīng)矩陣約束了同一三維空間點(diǎn)在兩個像素平面的二維齊次坐標(biāo)。通過單應(yīng)矩陣估計,能建立異源圖像間的仿射變化關(guān)系,由此確定無人機(jī)影像像素在衛(wèi)星影像上的像素坐標(biāo)對應(yīng)關(guān)系。而衛(wèi)星影像預(yù)存對應(yīng)的地理坐標(biāo),通過仿射變化,最終輸出無人機(jī)位置的經(jīng)緯度。
單應(yīng)矩陣通過隨機(jī)抽樣一致(random sample consensus,RANSAC)算法[28]估計,每對匹配產(chǎn)生兩個約束方程,如下所示:
(7)
式中:Hxy為單應(yīng)矩陣的元素,(X,Y)和(x,y)表示對應(yīng)的匹配點(diǎn)對。故利用四組匹配點(diǎn)就可以估計單應(yīng)矩陣。RANSAC算法在此基礎(chǔ)上,隨機(jī)選取四對匹配點(diǎn)對,估計單應(yīng)矩陣并計算其余匹配點(diǎn)對的誤差,記錄誤差小于閾值的匹配點(diǎn)對數(shù)量。不斷迭代重復(fù)上述過程,以正確匹配點(diǎn)對數(shù)量最多的估計單應(yīng)矩陣作為輸出結(jié)果。
估計單應(yīng)矩陣后,接著投影無人機(jī)影像中心坐標(biāo)到衛(wèi)星影像的像素坐標(biāo),并根據(jù)衛(wèi)星地圖的地理坐標(biāo)轉(zhuǎn)換得到無人機(jī)的經(jīng)緯度,轉(zhuǎn)換計算如下所示:
(8)
衛(wèi)星影像存儲的地理信息一般表示為6個仿射系數(shù),分別是A和E表示的x和y方向上的像素分辨率,D和B表示的x和y方向上的旋轉(zhuǎn)系數(shù),C和F表示的左上角像素中心的經(jīng)度和緯度。
本文在影像匹配數(shù)據(jù)集HPatches[29]上測試了算法的性能。HPatches數(shù)據(jù)集包含光照強(qiáng)度變化顯著的57個序列,視角變化角度較大的59個序列,圖像內(nèi)容涵蓋建筑、物品、生物、風(fēng)景等多種類型。匹配效果通過單應(yīng)性分析評估,并與典型匹配算法進(jìn)行對比。
目前沒有針對影像匹配定位性能測試的公開數(shù)據(jù)集,本文構(gòu)建了相應(yīng)的測試數(shù)據(jù)集。使用大疆精靈4 RTK采集了武漢城郊約6 km2的正射航拍影像。無人機(jī)先后飛過城市和叢林區(qū)域,飛行高度保持在距離地面300 m,采集的影像分辨率為1 920×1 080,地面分辨率為0.245 m。數(shù)據(jù)集共采集了910張影像,其中包含461張(50.66%)紋理豐富的城市居民區(qū),120張(13.19%)紋理稀疏的叢林區(qū)域和329張(36.15%)對兩種區(qū)域均有一定程度覆蓋的影像。數(shù)據(jù)集同時記錄了無人機(jī)拍攝時的衛(wèi)星導(dǎo)航數(shù)據(jù),作為匹配定位精度的評判依據(jù)。衛(wèi)星底圖采用在谷歌地圖上獲取的2018年武漢區(qū)域影像,空間分辨率為0.5 m。通過對算法定位和衛(wèi)星定位差異分析來評估定位性能。
本文在HPatches數(shù)據(jù)集上進(jìn)行匹配性能測試,數(shù)據(jù)集中的每一個序列包含6張不同光照或者不同視角的圖像。對于每一個序列,取一幅圖像作為參考圖像,與其他5張圖像進(jìn)行匹配,測試前將所有圖像重新調(diào)整為640×480。評價的客觀指標(biāo)分為兩個部分,首先是匹配點(diǎn)的精度,通過數(shù)據(jù)集提供的單應(yīng)矩陣真值評估匹配點(diǎn)對的像素誤差,計算如下所示:
(9)
(10)
(11)
單應(yīng)矩陣估計減少了不同算法提取的特征點(diǎn)數(shù)量和位置的影響,評估更具公平性,單應(yīng)矩陣的精度也直接關(guān)聯(lián)定位精度。單應(yīng)矩陣的精度由影像四個角點(diǎn)仿射變化的精度決定,角點(diǎn)的精度計算方式與式(9)~式(11)相同,單應(yīng)矩陣的精度是4個角度精度的平均值。驗證中的單應(yīng)矩陣通過RANSAC算法估計出結(jié)果,誤差閾值設(shè)置為10像素。
本文與3種類型的典型特征匹配方法進(jìn)行了比較,包括傳統(tǒng)特征匹配方法,基于深度學(xué)習(xí)的圖像匹配方法,以及無檢測器的匹配算法。傳統(tǒng)特征匹配方法對比了尺度不變特征變換(scale-invariantfeaturetransform, SIFT)[30],基于深度學(xué)習(xí)的匹配方法采用SuperPoint[31]提取特征點(diǎn),并利用SuperGlue[14]進(jìn)行匹配,最后本文還對比了LoFTR[32]和Patch2Pix[33]兩種無檢測的匹配方法,以驗證算法的準(zhǔn)確性和效率。
匹配點(diǎn)對精度結(jié)果如圖6所示,橫軸代表匹配點(diǎn)相對真值的誤差,縱軸表示匹配點(diǎn)的精度。實驗統(tǒng)計了匹配誤差從1到10像素。從圖6(a)的曲線結(jié)果可知,本文提出算法的匹配點(diǎn)誤差在1像素以內(nèi)占比接近83%,僅次于LoFTR,說明所提算法具有較高精度,多像素精度雖然表現(xiàn)不如對比算法,但也能達(dá)到93%以上的較高精度。
圖6 匹配點(diǎn)精度測試Fig.6 Matching point accuracy test
這種情況的出現(xiàn)主要有兩個原因。首先,如表1所示,本文所提算法提取了最多的匹配點(diǎn)對,比對算法只有LoFTR接近,更多的數(shù)量會導(dǎo)致提高精度的難度加大;其次,最小歐氏距離無法對非線性關(guān)系進(jìn)行完美度量,導(dǎo)致算法在視點(diǎn)變化的數(shù)據(jù)上表現(xiàn)不佳。但在線性關(guān)系較好的圖像對上,如圖6(b)的HPatches光照變化數(shù)據(jù)集測試結(jié)果,本文算法精度始終優(yōu)于其他算法。
表1 匹配點(diǎn)數(shù)量比對Table 1 Number of matching points
對于以上算法單應(yīng)矩陣估計的角點(diǎn)誤差,統(tǒng)計了算法誤差小于1個、3個和5個像素的圖像數(shù)量占比,結(jié)果如表2所示。括號外是完整數(shù)據(jù)集的單應(yīng)矩陣精度,括號內(nèi)是光照變化數(shù)據(jù)集的對應(yīng)結(jié)果。從表2可以發(fā)現(xiàn),LoFTR算法估計的單應(yīng)矩陣具有較好的整體精度,本文算法在一個像素誤差以內(nèi)有較好的表現(xiàn),僅次于LoFTR算法,在3個和5個像素誤差內(nèi)精度也較好,同時在光照變化數(shù)據(jù)集上相比其他算法有非常大的提升。綜合考慮無人機(jī)和衛(wèi)星影像的成像特點(diǎn),歐氏距離的實時性高,在視點(diǎn)變化較小的情況下,采用歐氏距離能夠取得更好的定位效果。
表2 單應(yīng)矩陣精度評估Table 2 Homography matrix precision evaluation
定位評估主要是定位精度評估,在自行構(gòu)建的數(shù)據(jù)集上進(jìn)行。首先,對無人機(jī)影像和局部衛(wèi)星影像提取的匹配點(diǎn)對計算單應(yīng)矩陣,單應(yīng)矩陣?yán)肦ANSAC算法估計,像素誤差閾值設(shè)置為1。通過單應(yīng)矩陣計算無人機(jī)影像中心在衛(wèi)星地圖上的投影坐標(biāo),然后根據(jù)衛(wèi)星地圖的地理坐標(biāo)轉(zhuǎn)換得到無人機(jī)的經(jīng)緯度坐標(biāo)。由于SIFT方法匹配效果較差而且較慢,本文對比了性能最好的3個匹配方法。
實驗結(jié)果如圖7所示,圖7中的紅色直線代表GPS參考軌跡,綠色直線代表匹配定位軌跡。從圖7(a)可以發(fā)現(xiàn),SuperGlue雖然在HPatches數(shù)據(jù)集上取得了較為理想的結(jié)果,但在叢林區(qū)域丟失了定位,這是由基于特征點(diǎn)匹配方法的固有缺陷導(dǎo)致,該類方法通常在紋理稀疏區(qū)域無法獲得魯棒特征點(diǎn),從而難以建立穩(wěn)定的匹配。LoFTR匹配結(jié)果如圖7(b)所示。雖然LoFTR是利用特征建立密集匹配的匹配方法并取得了最佳匹配效果,但也未能處理好稀疏紋理區(qū)域。雖然有一定數(shù)量的匹配點(diǎn)對,但由于誤差較大,估計的單應(yīng)矩陣產(chǎn)生了錯誤的定位結(jié)果,在叢林區(qū)域也丟失了定位,匹配魯棒性不足。Patch2Pix方法的匹配如圖7(c)所示,相比其他算法Patch2Pix方法沒有丟失定位,但定位的波動比較大。定位與無人機(jī)的飛行穩(wěn)定性息息相關(guān),不穩(wěn)定的定位將對無人機(jī)飛行控制產(chǎn)生不利影響,算法穩(wěn)定性有待提升。圖7(d)是本文所提出的模型,定位的穩(wěn)定性和完整性都有較好表現(xiàn)。
圖7 定位測試結(jié)果Fig.7 Localization test results
利用真實全球定位系統(tǒng)對算法匹配定位成功的所有圖像進(jìn)行評估,統(tǒng)計結(jié)果如表3所示。從整體來看,所有算法不論是平均誤差或是最大誤差,精度都比較接近,基本處于厘米級。其中,LoFTR和SuperGlue的平均誤差和最大誤差只統(tǒng)計了成功定位的部分,不包括如圖7(a)和圖7(b)所示的偏離匹配部分,偏離匹配的判斷是前后兩幀的定位誤差差異超過15 m。本文所提算法取得了最好的定位精度,同時完成了整個軌跡的匹配定位,證明了在視角變化較小的情況下本文算法匹配性能的先進(jìn)性。
表3 定位精度Table 3 Localization accuracy
無人機(jī)搭載的計算設(shè)備算力有限,而算法效率是必須考慮的問題。本文在Jetson Xavier NX上測試了各算法運(yùn)行效率,結(jié)果如表4所示。所提算法在保證了相當(dāng)精度的前提下,相比其他算法運(yùn)行效率是最高的,雖然SuperGlue算法取得了和本文接近的效率,但在稀疏紋理場景下易丟失定位。SuperGlue是基于特征點(diǎn)的匹配方法,匹配效果與匹配點(diǎn)的魯棒性直接相關(guān)。在紋理稀疏場景中,局部特征與鄰域特征沒有區(qū)分度,導(dǎo)致提取的特征點(diǎn)不穩(wěn)定。因此SuperGlue在弱紋理區(qū)域匹配魯棒性不足,無法穩(wěn)定定位,產(chǎn)生了如圖7(a)所示的定位丟失情況。
表4 算法效率Table 4 Algorithm efficiency s
本文針對現(xiàn)有異源圖像匹配算法魯棒性和實時性不足的問題,提出了基于ResNet提取穩(wěn)定特征、以最小歐式距離結(jié)合小型Transformer實現(xiàn)精細(xì)匹配以及單應(yīng)矩陣迭代定位的算法,改善了匹配定位方法的性能。實飛數(shù)據(jù)集測試證明所提方法在Jetson Xavier NX上實現(xiàn)了高精度、穩(wěn)健的快速定位。方法定位平均精度達(dá)到2.86 m,相比典型算法有2.1%的提升,1 Hz的定位頻率也足夠滿足低速無人機(jī)的定位需求。下一步將收集更多匹配定位場景數(shù)據(jù)和改進(jìn)算法,在保證穩(wěn)定性的前提下,提高計算效率。