李家松 ,李明磊 ,魏大洲 ,李 威 ,吳伯春
(1.南京航空航天大學 電子信息工程學院,江蘇 南京 210016;2.中國航空無線電電子研究所,上海 200233)
無人機的導航定位直接影響到無人機能否有效執(zhí)行任務(wù),是無人機應(yīng)用的基礎(chǔ)和關(guān)鍵技術(shù)。目前,最為成熟的無人機導航方式是基于導航衛(wèi)星的全球?qū)Ш蕉ㄎ?Global Positioning System,GPS)技術(shù)結(jié)合慣性導航技術(shù)的組合導航方式,但在一些高山峽谷地形、有惡意干擾或是由于戰(zhàn)時期間服務(wù)方不提供衛(wèi)星導航信號,衛(wèi)星導航系統(tǒng)會出現(xiàn)拒止失效的情況,慣性導航系統(tǒng)在定位過程中會有累積誤差,無法單獨實現(xiàn)長航時導航。景象匹配導航在GPS 信號拒止情況下與慣性導航系統(tǒng)相結(jié)合,可以實現(xiàn)長航時與高精度的自主導航[1]。研究適用于全場景而且較為穩(wěn)定的景象匹配方法對于提升無人機的視覺定位導航能力具有重要意義。
從基準地圖和空中影像中得到穩(wěn)定的特征是景象匹配需要解決的首要問題。Lowe 提出了一種尺度不變特征變換算子(Scale Invariant Feature Transform,SIFT)[2],在尺度域和空間域上同時檢測像素變化極值點,并通過梯度方向進行分配進而滿足對旋轉(zhuǎn)和尺度的不變性。但SIFT 特征計算量大,很難保證算法的實時性。Dellinger等人[3]和楊颯等人[4]分別結(jié)合SAR、稀疏隨機投影(Sparse Random Projection,SRP)提出一些加速匹配的算法。在SIFT 基礎(chǔ)上,又有許多學者進行補充擴展研究,Morel 將用于提取特征的原始圖片做仿射變換進而提出了ASIFT 算法[5](Affine Scale Invariant Feature Transform),可以用于大視角變換的場景,但需要對場景進行多角度采樣。楊佳賓[6]等人開發(fā)出一種Dense SIFT 特征用于無人機影像的快速拼接,可在空中影像中提取更多特征點用于匹配。張曉聞等人[7]基于稀疏表示和拓撲相似性提出一種圖像匹配方法,能夠有效提高匹配效率,并對輪廓部分有較好的匹配結(jié)果。Yu 等人[8]提出了一種基于Harris-Laplace ROEWA 和Harris-Laplace Sobel 技術(shù)的特征檢測策略,并改進了SIFT 特征的描述符,有效地解決了SAR 圖像與光學圖像配準時有較大的非線性強度差問題。
除了要關(guān)注特征點自身的穩(wěn)定性與重復性,基準地圖和空中影像在尺度上也具有較大的差異,從兩種圖像上提取特征的數(shù)量也有較大的差異,如何在這種差異存在的情況下實現(xiàn)正確的局部匹配是景象匹配需要研究的另一個問題。特征匹配中,較為常見的是最近鄰搜索確定匹配特征,或是使用歐氏距離或漢明距離計算特征之間的相似度?;羲苟喾蚓嚯x(Hausdorff Distance,HD)有著對局部邊緣形變不敏感的特點,但在圖像受到噪聲污染或是存在遮擋時,容易出現(xiàn)誤匹配。Huttenlocher 提出的Partial HD[9]和Dubuisson 提出的Modified HD[10]均在距離集上進行處理,減少誤匹配的發(fā)生。雖然采用這些方案可以有效地減少誤匹配出現(xiàn),但是仍然很難解決在眾多相似特征中找到正確匹配的問題。Wang 等人[11]根據(jù)人類視覺系統(tǒng)認知原理提出基于結(jié)構(gòu)相似性(Structural Similarity,SSIM)的度量模型,趙武鋒[12]和Mehul[13]又分別在復小波域下驗證結(jié)構(gòu)相似性度量模型的合理性,將局部區(qū)域的特征信息進行處理并運用到景象匹配中,更符合視覺系統(tǒng)的特點。
使用多種特征可以準確地表達影像中的細節(jié)信息,徐培罡[14]等人融合場景的像素一致性信息、空間信息和外觀信息,采用K-means 聚類進行量化并統(tǒng)計直方圖,對場景的特征進行表達,實現(xiàn)了高分辨率遙感場景分類。更進一步,Csurka[15]等人提出的視覺詞袋模型(Bag of Visual Words,BOVW)通過挖掘未標記樣本在底層特征上的語義信息,在標記樣本和未標記樣本之間建立聯(lián)系,有效地緩解需要大量標記樣本進行訓練的問題。Csurka的研究表明:BOVW 模型可以有效表達影像語義特征,并具有一定的泛化能力。
基于上述研究方法,本文吸取使用BOVW 模型對場景進行劃片分類和使用點特征進行場景匹配的思想,構(gòu)建了“先分類,再配準”的技術(shù)框架,實現(xiàn)在GPS 拒止情況下的景象匹配導航。首先建立一個BOVW 模型,然后將基準地圖切片并逐一編碼,每一個切片地區(qū)都對應(yīng)一個特征詞袋矢量。當無人機遇到GPS 拒止情況時,觸發(fā)景象匹配模塊開始工作,將無人機拍攝的空中影像使用BOVW 模型編碼,并與所在區(qū)域的基準地圖的區(qū)域編碼相比較,找出最相似的區(qū)域作為定位匹配區(qū)域。最后,在各自區(qū)域上提取特征,優(yōu)化迭代計算變換矩陣,最終實現(xiàn)精確匹配與精定位。
在GPS 拒止條件下,基于BOVW 模型的景象匹配導航方法流程如圖1 所示,具體分為建立地圖特征矢量庫和匹配導航兩部分。
圖1 GPS 拒止條件下基于BOVW 模型的景象匹配導航方法流程
使用BOVW 對基準地圖做區(qū)域性編碼匹配包括3個步驟:(1)訓練BOVW 模型并將基準地圖切片;(2)對切片后基準地圖逐一編碼建立地圖特征矢量庫;(3)對機載空中影像進行編碼并與切片后基準地圖進行匹配搜索。
區(qū)分一幅圖像,可以將圖像提取出的特征點做統(tǒng)計分類,形成特征直方圖用于區(qū)分。而圖片中的特征點在特征空間中會有局部相似的分布情形,因此可以使用K-means 算法[16]對特征點聚類訓練,從海量特征點中找到幾百個聚類中心當作視覺關(guān)鍵點,形成BOVW 模型。
得到BOVW 模型通常需要經(jīng)過3 個步驟:特征檢測、特征表示、聚類訓練。在基準地圖上使用BOVW 模型就要從地圖中提取特征,然后迭代訓練。但僅使用基準地圖作為訓練集很容易使訓練出的詞袋模型過擬合,即得到的視覺關(guān)鍵詞彼此之間區(qū)分度不大。所以應(yīng)該在原本的訓練集中加入一些與基準地圖差別比較明顯的圖像用于訓練,本文選用的是ImageNet12[17-18]作為補充訓練集。ImageNet12 數(shù)據(jù)集具有目標種類復雜、視覺特征多樣化的特點,可以彌補基準地圖特征較為單一的缺點。
在BOVW 模型訓練好后就可以將基準地圖進行切片并逐一編碼,將地圖切片的過程會考慮到飛行器的導航參數(shù)。根據(jù)飛行器的飛行高度和預先得到的機載光電圖像傳感器內(nèi)參數(shù)可以算出空中影像在地面的覆蓋范圍,按照覆蓋范圍不同對基準地圖做不同規(guī)格的切片操作,然后使用詞袋模型對每個切片圖像做編碼,計算每塊區(qū)域的特征直方圖,切片圖像大小根據(jù)式(1)確定:
其中,[col,row]T表示空中圖像尺寸,h 表示飛行高度,h可以根據(jù)預設(shè)飛行高度進行調(diào)整,f 表示相機的焦距,s表示基準地圖影像的比例尺,[W,H]T表示最終的切片圖像大小。切片情況如圖2 所示。
圖2 切片地圖(相鄰切片地圖之間有一定的重疊區(qū)域)
不同區(qū)塊對應(yīng)的直方圖之間有明顯的區(qū)分度,將待匹配圖像的特征直方圖也計算出來,并與目標區(qū)域的直方圖逐一匹配,就可以快速而又精確地確定匹配的初始位置。經(jīng)過編碼后的切片地圖可以表示為一簇特征矢量Vr,待匹配圖像可以用特征矢量Vt表示,則待匹配圖像與切片地圖的相似度c 為:
其中,i 表示第i 個切片地圖。在計算相似度時,如果使用全體切片地圖會造成很嚴重的計算資源浪費,所以在計算之前需要對篩選區(qū)域做約束。
機載導航參數(shù)提供了飛行器位置的估計初值Pc=[Xc,Yc,h]T和像空間坐標系相對于基準坐標系的旋轉(zhuǎn)矩陣R。如圖3 所示,像空間坐標系的Z 軸方向的單位基向量在基準坐標系下的位置可以計算為P′=R-1[0,0,-1]T。沿像空間坐標系Z 軸指向,其與地面的交點為Q,即能夠定位出圖像中心對應(yīng)在基準地圖影像上的估計位置[X0,Y0]T,計算過程為:
圖3 空中圖像探測區(qū)域與配準搜索區(qū)域的關(guān)系
其中,r31、r32和r33是旋轉(zhuǎn)矩陣的第3 行元素。有了地面觀測中心的坐標,結(jié)合式(1)的計算方法,可以將待配準初始區(qū)域設(shè)定在范圍內(nèi)。搜索初始區(qū)域內(nèi)的所有劃片圖塊就可以得到一系列相關(guān)系數(shù),而最終的確定的區(qū)域A 為:
有時為了保證結(jié)果的正確性,區(qū)域會保留最大相關(guān)系數(shù)和次大相關(guān)系數(shù)對應(yīng)的2 個區(qū)塊,之后在下一步使用特征點做精確匹配時進行篩選。
經(jīng)過上文使用BOVW 模型進行區(qū)域性匹配得到匹配初始位置后,就可以使用特征點的方法進行精確匹配。這是由于篩選過初始位置后,確定的匹配參考區(qū)域和待匹配圖像代表的區(qū)域尺寸大小基本相同,非相關(guān)區(qū)域的相似特征被有效地排除在外,因此使用特征點進行精確匹配就變得可行。參考圖像與待匹配圖像上提取的特征點最終都以點坐標的形式表示,分別為pr=(xr,yr)和pt=(xt,yt),建立起的對應(yīng)為Ckj={prk,ptj},表示第k 個參考點與第j 個匹配點有對應(yīng)關(guān)系。衛(wèi)星基準地圖影像與航空圖像特征對應(yīng)關(guān)系如圖4 所示。
圖4 衛(wèi)星基準地圖影像與航空圖像特征對應(yīng)關(guān)系(住宅區(qū)域邊緣或道路上的特征可以正確對應(yīng))
根據(jù)機載導航系統(tǒng)及飛行器自身水平儀提供參數(shù),可以獲取飛行器自身的俯仰和翻滾參數(shù),結(jié)合光電圖像傳感器的安裝參數(shù)就可以將待匹配圖像映射為類似正射影像的形式:
其 中,[ui,vi]T是光電圖像中第i 個像素坐標,[Xi,Yi]T表示第i 個像素經(jīng)過映射后的坐標,K 表示光電圖像傳感器內(nèi)參數(shù),P 表示安裝矩陣,s 表示基準地圖的比例尺。映射過程如圖5 所示。
圖5 映射過程
參考圖像來自于基準地圖,是根據(jù)衛(wèi)星探測成像制成的地圖,地面建筑物的高度與衛(wèi)星軌道高度在數(shù)量級上相差很大;同時待匹配圖像也被映射為類似正射影像的形式,地面建筑物可以認為都投影到了大地平面上,因此在參考圖像與待配準圖像中可以將高程信息忽略,認為兩幅圖像只存在著旋轉(zhuǎn)和平移的關(guān)系。根據(jù)Ckj={prk,ptj}對應(yīng)關(guān)系,可以列出一組超定方程:
其中,H 是一個單應(yīng)矩陣,它描述的是兩個平面之間的變化。使用隨機一致性檢驗方法[19](Random Sample Consensus,RANSAC)可以求出單應(yīng)變化矩陣。由于在對空中圖像做預處理時已經(jīng)將其映射為正射影像,因此可以認為空中圖像與切片地圖之間只有旋轉(zhuǎn)、位移以及放縮的關(guān)系,可以為單應(yīng)矩陣的第3 行添加一個約束條件:||h3||2=1,即h31=h32=0。這時單應(yīng)變換退化成仿射變換,簡化計算的同時也加快了位姿求解的速度。
本文使用了兩類具有不同地貌特征的實驗數(shù)據(jù)來定量地評估算法性能,每組數(shù)據(jù)具有航空序列影像和對應(yīng)的基準衛(wèi)星高清地圖影像。首先分析了使用不同訓練集訓練出的BOVW 模型對地圖區(qū)域匹配的影響,如圖6所示。
圖6 只有基準地圖訓練集與添加ImageNet12 為補充訓練集
本文使用SURF 特征作為詞袋模型的統(tǒng)計特征,設(shè)置聚類中心為500,即確定最終提取出的視覺關(guān)鍵詞為500 個。分別使用兩個詞袋作為編碼碼本為基準地圖做區(qū)域編碼,并拿其中一個區(qū)域與其他區(qū)域做相關(guān)度計算,得到結(jié)果如圖7 所示。
圖7 不同訓練集編碼后地圖之間相關(guān)性
圖7 中相關(guān)度越接近1 表示兩塊區(qū)域越相似,經(jīng)過BOVW 模型編碼后在一整塊基準地圖內(nèi),區(qū)域之間的對比度有明顯增加。以第1 塊切片作為參考,越靠近它的相關(guān)度越大,反之亦然,這說明使用BOVW 模型確實對匹配初始區(qū)域篩選有所幫助。關(guān)于兩種不同訓練集的效果,只使用基準地圖作為訓練集得到的區(qū)分度更明顯。但是由于相鄰切片有重疊區(qū)域,因此相鄰切片實際上是較為相似的場景,應(yīng)當具備相似的區(qū)域特征矢量。但是,僅使用基準地圖影像訓練出的BOVW 模型第2 塊切片與第1 塊切片的相關(guān)度只有0.405 8,所有切片區(qū)域中最高相關(guān)度只有0.552 7。顯然,這種情況屬于模型過擬合的情況。使用過擬合模型會讓測試結(jié)果很差,使用測試數(shù)據(jù)進行實驗后,統(tǒng)計得到:使用基準高清地圖影像訓練出的模型的區(qū)域匹配正確率為60.6%;添加補充訓練集后模型的區(qū)域匹配正確率提升到92.8%。因此,添加ImageNet12 數(shù)據(jù)集作為補充訓練集可以有效提高視覺關(guān)鍵詞的豐富度并提高區(qū)域匹配的正確率。
在精確匹配部分,本文使用了SIFT、SURF 和ORB 3種特征進行對比實驗,實驗中分別檢驗了3 種特征精確匹配的速度和匹配效果。首先對匹配結(jié)果的正確性進行比較,經(jīng)過調(diào)參,SIFT 和SURF 特征都可以得到正確的匹配結(jié)果,如圖8、圖9 所示。
圖8 SIFT 和SURF 特征匹配結(jié)果
圖9 SIFT 配準結(jié)果和SURF 配準結(jié)果
使用ORB 算法提取特征進行匹配的結(jié)果如圖10 所示,ORB 特征雖然可以在相關(guān)區(qū)域提取出大量相似特征,但由于ORB 使用的FAST 角點的特性,導致提取出的特征較為集中,使用非極大值抑制后仍然會有大量特征堆積在一個區(qū)域?qū)е聼o法找到足夠多的正確匹配點對。
圖10 ORB 提取特征與特征對應(yīng)
在精度方面,算法在求解出單應(yīng)矩陣后,使用Levenberg-Marquardt 算法[20]進一步細化以減少重投影誤差,使用下式計算變換的重投影誤差:
最終,在使用實驗數(shù)據(jù)測試計算后,在高清地圖影像數(shù)據(jù)分辨為1 m/pixel 時,綜合精定位精度誤差為0.643 845 m,綜合精定位重投影誤差統(tǒng)計結(jié)果如表1所示。
表1 實驗序列影像精定位重投影誤差統(tǒng)計結(jié)果
經(jīng)過實驗驗證,本文提出的算法對不同地形區(qū)域都有一定的適應(yīng)性,配準結(jié)果準確無誤,實驗結(jié)果如圖11所示。
圖11 實驗序列影像與基準地圖配準結(jié)果
本文與Liu 等人[21]提出的SIFT flow 配準融合方法作比較,SIFT flow 可以將兩種場景逐像素融合,但這種融合是非剛性的融合,如圖12(a)中箭頭指示區(qū)域所示,道路與房屋部分都發(fā)生了不同程度的扭曲形變。而本文使用的算法做出的變換是剛性變換,與SIFT flow 相比在形式上要更適用于飛行器視覺導航定位的場景。同樣,本文也與未做切片地圖的匹配結(jié)果相比較。實際上,未做切片的基準高清地圖影像中可以提取出大量相似特征,直接與在空中圖像中提取出的特征做特征匹配很難得到正確匹配關(guān)系。經(jīng)過反復實驗,未做切片的基準高清地圖影像與空中圖像無法得到有效的特征對應(yīng)關(guān)系,也就無法計算出有效的單應(yīng)變換矩陣,實驗結(jié)果如圖12(b)所示。
圖12 SIFT flow 融合結(jié)果和未做切片特征匹配結(jié)果
本文設(shè)計使用了BOVW 模型對基準地圖進行區(qū)塊性編碼,解決了空中拍攝影像很難與基準影像對應(yīng)的問題,在紋理特征大面積相似的情況下,依然可以準確地定位到匹配的初始區(qū)域,為飛行器視覺自主導航提供了一種低成本高精度的新思路。
能夠在基準地圖的一定范圍內(nèi)快速確定初始位置是景象匹配的關(guān)鍵,本文算法將基準地圖切片,使用BOVW 模型為切片地圖逐片編碼,將原本離散的特征通過統(tǒng)計的方式統(tǒng)一化,使得搜索初始位置這一過程的計算量大大減少。
本文算法在搜索初始位置時添加了位置約束,避免了在計算區(qū)塊相關(guān)度時將空中影像的區(qū)塊特征矢量與所有切片地圖的區(qū)塊特征矢量進行相關(guān)計算,實現(xiàn)了初始區(qū)域的快速定位。經(jīng)過實驗驗證,本文算法在空中拍攝影像與基準地區(qū)的紋理特征大致相同的場景的應(yīng)用效果較好;當待搜索匹配區(qū)域與空中拍攝區(qū)域有一定差異時,本文算法也能實現(xiàn)較為精準的定位。