劉欣 吳俊嫻 張占月
(1 航天工程大學(xué),北京 101416)
(2 空裝駐北京地區(qū)第一軍事代表室,北京 100854)
無人機(jī)在執(zhí)行任務(wù)時(shí)首先要解決的問題是確定自身在工作環(huán)境中的準(zhǔn)確位置。因此,定位是無人機(jī)導(dǎo)航技術(shù)的基礎(chǔ)和關(guān)鍵。傳統(tǒng)的衛(wèi)星定位方式依賴外部衛(wèi)星信號(hào)而易受環(huán)境和敵方干擾,尤其是低空無人機(jī),衛(wèi)星信號(hào)易受高層建筑物的遮擋而無法提供準(zhǔn)確的定位信息[1]。無人機(jī)作為一種重要的航空器,通過搭載光電載荷對(duì)地成像是其主要功能之一。與其他平臺(tái)相比,無人機(jī)平臺(tái)成像具有分辨率高的特點(diǎn),可以對(duì)同一目標(biāo)場(chǎng)景進(jìn)行多次觀察,形成多視角、多位置的成像,在軍事和民用領(lǐng)域發(fā)揮著十分重要的作用。
基于圖像匹配的定位技術(shù)是一種自主性和精度均很高的導(dǎo)航定位技術(shù),是導(dǎo)航定位的一種重要手段,也是視覺領(lǐng)域的前沿方向。本文提出一種基于衛(wèi)星圖像匹配的無人機(jī)自主定位的技術(shù)方案,該技術(shù)通過將兩種圖像進(jìn)行配準(zhǔn)實(shí)現(xiàn)無人機(jī)自主定位,要解決的核心問題是穩(wěn)健的特征匹配。由于在成像機(jī)理、光照、視角等諸多方面存在差異,無人機(jī)光電載荷和衛(wèi)星傳感器兩種來源的圖像間具有明顯的不一致性。因此,直接采用傳統(tǒng)人工設(shè)計(jì)的基于影像梯度的算子(如SIFT[2]、ASIFT[3]、AKAZE[4]等)很難實(shí)現(xiàn)這類異源影像的可靠匹配。近年來,基于深度學(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)[5-8]在圖像特征提取方面取得了顯著的進(jìn)展。相對(duì)于人工設(shè)計(jì)的特征描述子,CNN特征可以通過網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,使深層網(wǎng)絡(luò)能夠自動(dòng)發(fā)現(xiàn)更合適的特征提取和表示方式,使得所提取的圖像特征具有更好的魯棒性,一定程度上克服了由于圖像不一致而導(dǎo)致的特征匹配困難?;贑NN善于學(xué)習(xí)圖像特征的特點(diǎn),本文利用CNN把無人機(jī)定位問題轉(zhuǎn)化為一種圖像分類問題,將衛(wèi)星圖像作為基準(zhǔn)圖像,并將基準(zhǔn)圖像等分為若干網(wǎng)格,每個(gè)網(wǎng)格代表一類區(qū)域,然后用網(wǎng)格圖像制作數(shù)據(jù)集訓(xùn)練CNN。
本文基于衛(wèi)星圖像輔助,提出了一種由粗到精的無人機(jī)自主定位框架。首先設(shè)計(jì)了一種便于機(jī)載的輕量級(jí)CNN網(wǎng)絡(luò)抽取圖像特征,結(jié)合無人機(jī)圖像時(shí)間維度上的連續(xù)性,形成一個(gè)卷積神經(jīng)網(wǎng)絡(luò)和長短期記憶網(wǎng)絡(luò)的聯(lián)合分類器(CNN-LSTM),有效實(shí)現(xiàn)無人機(jī)圖像與衛(wèi)星基準(zhǔn)圖像的區(qū)域匹配;然后提取同名區(qū)域的同名點(diǎn),結(jié)合光學(xué)成像的共線約束,實(shí)現(xiàn)了一種基于多點(diǎn)加權(quán)約束的無人機(jī)自主定位算法。
本文提出一種基于衛(wèi)星圖像輔助的無人機(jī)自主定位方法,其流程框架如圖1所示。無人機(jī)自主定位采取由粗到精的思路,將定位流程分為兩個(gè)步驟:1)基于CNN-LSTM的圖像分類算法,實(shí)現(xiàn)航拍圖像與衛(wèi)星參考圖像在空間位置的對(duì)準(zhǔn)。將預(yù)處理后的圖像輸入至CNN網(wǎng)絡(luò),并根據(jù)無人機(jī)航拍圖像時(shí)間連續(xù)的特點(diǎn)加入了LSTM網(wǎng)絡(luò),形成了CNN-LSTM聯(lián)合分類網(wǎng)絡(luò),同時(shí)利用多張圖像特征作為判斷依據(jù),有效提高圖像分類的準(zhǔn)確率。2)基于同名特征點(diǎn)的無人機(jī)位置解算。經(jīng)過步驟1)后,所抽取的衛(wèi)星圖像區(qū)塊所包含的地物信息與航拍圖像基本相似,再采用ORB[9-12]特征提取算法與RANSAC[13]匹配方法,實(shí)現(xiàn)兩幅圖像同名特征點(diǎn)的匹配,根據(jù)匹配得到的衛(wèi)星圖中特征點(diǎn)所攜帶的地理信息,結(jié)合視軸交會(huì)原理,最終實(shí)現(xiàn)無人機(jī)自主定位。
圖1 無人機(jī)自主定位框架Fig.1 Framework of UAV autonomous positioning
目前遙感領(lǐng)域并不具備足夠的帶標(biāo)簽的遙感圖像用于訓(xùn)練深度學(xué)習(xí)中網(wǎng)絡(luò)模型巨量的結(jié)構(gòu)參數(shù),采用現(xiàn)有遙感數(shù)據(jù)集訓(xùn)練深度網(wǎng)絡(luò)模型時(shí)會(huì)出現(xiàn)嚴(yán)重的過擬合。針對(duì)這種情況,本文采用遷移學(xué)習(xí)的策略,通過ImageNet數(shù)據(jù)庫[14](約120萬張訓(xùn)練數(shù)據(jù)集)來訓(xùn)練預(yù)訓(xùn)練網(wǎng)絡(luò)。預(yù)訓(xùn)練網(wǎng)絡(luò)以最小的代價(jià)重新調(diào)整網(wǎng)絡(luò)中的權(quán)重參數(shù),可以很容易地適應(yīng)不同的圖像分類任務(wù)??紤]到無人機(jī)機(jī)載計(jì)算資源有限,本文選用MobileNet網(wǎng)絡(luò)[15]作為骨干網(wǎng)絡(luò)。MobileNet描述了一個(gè)高效的網(wǎng)絡(luò)架構(gòu),允許通過兩個(gè)超參數(shù)直接構(gòu)建非常小、低延遲、易滿足嵌入式設(shè)備要求的模型。另外,設(shè)計(jì)了一個(gè)只包含2個(gè)卷積層和1個(gè)全連接層的淺層卷積神經(jīng)網(wǎng)絡(luò)(見圖2),將MobileNet全連接層輸出的特征轉(zhuǎn)換到二維空間作為輸入圖像,對(duì)淺層卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行有監(jiān)督的訓(xùn)練。通過訓(xùn)練淺層卷積神經(jīng)網(wǎng)絡(luò),能夠?qū)W習(xí)高層抽象特征之間的復(fù)雜關(guān)系。淺層卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)與參數(shù)如圖2所示,第1層和第2層為卷積層,卷積核大小均為5×5,第1層卷積核數(shù)量為96個(gè),第2層卷積核數(shù)量為72個(gè),然后接1個(gè)全連接層,大小為128。
圖2 卷積神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)Fig.2 Design of the convolutional neural network
利用無人機(jī)航拍圖像時(shí)間連續(xù)的特點(diǎn),累積同一分類地區(qū)中連續(xù)航拍圖像的不同特征進(jìn)行綜合判斷,能夠減少因單張圖像無法提供充足信息或特征極其相似的情況下導(dǎo)致的錯(cuò)誤分類。考慮到LSTM[16-19]網(wǎng)絡(luò)的結(jié)構(gòu)能夠很好地實(shí)現(xiàn)記憶和累積一組特征的功能,本文構(gòu)建了CNN-LSTM聯(lián)合分類網(wǎng)絡(luò),結(jié)構(gòu)如圖3所示。一幅航拍圖像輸入到CNN網(wǎng)絡(luò)中提取特征后,將該特征向量輸入到LSTM網(wǎng)絡(luò)中,然后將LSTM網(wǎng)絡(luò)的輸出向量輸入到SoftMax層進(jìn)行圖像分類。按照先后順序?qū)⒁唤M時(shí)間連續(xù)的圖像加載到模型中。對(duì)于卷積神經(jīng)網(wǎng)絡(luò)的部分,使用單張航拍圖像分類網(wǎng)絡(luò)的權(quán)重參數(shù)。在訓(xùn)練期間,保持預(yù)訓(xùn)練網(wǎng)絡(luò)和淺層卷積神經(jīng)網(wǎng)絡(luò)各層參數(shù)不變,只訓(xùn)練LSTM網(wǎng)絡(luò)和SoftMax分類層。
圖3 CNN-LSTM聯(lián)合分類網(wǎng)絡(luò)Fig.3 The CNN-LSTM joint classification network
無人機(jī)航拍圖像和衛(wèi)星圖像的塊匹配完成后,為了實(shí)現(xiàn)高精度無人機(jī)自主定位,需要實(shí)現(xiàn)圖像同名目標(biāo)點(diǎn)的匹配(如圖4所示)。本文采用ORB(Oriented FAST and Rotated BRIEF)法——一種基于FAST特征檢測(cè)快速提取特征點(diǎn)和BRIEF描述子刻畫特征點(diǎn)的算法,該方法的特點(diǎn)是速度快,而且在一定程度上不受噪點(diǎn)和圖像變換的影響,例如旋轉(zhuǎn)和縮放變換等。經(jīng)過ORB提取和描述特征點(diǎn),并使用最近鄰匹配算法進(jìn)行特征點(diǎn)匹配操作后,可獲取無人機(jī)航拍圖像和衛(wèi)星圖像中同名目標(biāo)點(diǎn)的匹配點(diǎn)集。根據(jù)匹配點(diǎn)集,在衛(wèi)星圖像中查詢對(duì)應(yīng)目標(biāo)點(diǎn)在大地坐標(biāo)系中的坐標(biāo)。
根據(jù)光學(xué)成像原理,地面目標(biāo)點(diǎn)、像點(diǎn)和攝像機(jī)光心三點(diǎn)共線,利用共線幾何關(guān)系建立無人機(jī)自主定位數(shù)學(xué)模型,考慮到成像系統(tǒng)的物距遠(yuǎn)大于焦距,成像光線方向的微小偏差都會(huì)帶來明顯放大的空間點(diǎn)定位誤差。因此本文通過多點(diǎn)幾何關(guān)系約束建立超定方程組,再使用加權(quán)最小二乘估計(jì)求解無人機(jī)自身空間位置,提高自主定位算法的精度。
在已知多個(gè)目標(biāo)點(diǎn)坐標(biāo)(Xi,Yi,Zi)及其所對(duì)應(yīng)像點(diǎn)坐標(biāo)(xi,yi),無人機(jī)搭載的攝像機(jī)內(nèi)方位元素(相機(jī)焦距f、像主點(diǎn)在像框標(biāo)坐標(biāo)系中的坐標(biāo)x0、y0)的條件下,根據(jù)地面目標(biāo)點(diǎn)、像點(diǎn)和攝像機(jī)光心三點(diǎn)共線的幾何關(guān)系,利用n(n>3)個(gè)地面目標(biāo)點(diǎn)建立無人機(jī)自主定位數(shù)學(xué)模型,并結(jié)合加權(quán)最小二乘估計(jì)求解無人機(jī)自身空間位置點(diǎn)坐標(biāo)(Xu,Yu,Zu)。其自主定位流程如圖5所示。
圖4 多點(diǎn)約束的無人機(jī)自主定位Fig.4 UAV autonomous positioning with multi-point constraints
圖5 無人機(jī)自主定位算法流程Fig.5 Process of the UAV autonomous positioning algorithm
光學(xué)成像共線條件方程的一般形式為:
式中ω、ξ、κ為無人機(jī)航拍圖像外參數(shù)角度,分別代表X、Y、Z軸自旋轉(zhuǎn)的角度;ai,bi,ci(i=1,2,3)為外參數(shù)系數(shù);(X,Y,Z)為目標(biāo)點(diǎn)坐標(biāo)。求解無人機(jī)的位置坐標(biāo)(Xu,Yu,Zu)是本文主要目的。
n(n>3)個(gè)目標(biāo)點(diǎn)在無人機(jī)圖像中對(duì)應(yīng)的像點(diǎn)坐標(biāo)矩陣Z可表示為
式中Z=H(S0) +B·(S-S0) +Δn,表示像點(diǎn)坐標(biāo)矩陣;S=[xu,yu,zu,ω,ξ,κ]T,表示無人機(jī)未知變量;H(S)為像點(diǎn)到無人機(jī)位置向量的變換矩陣。
將式(2)在初值S0處進(jìn)行一階泰勒展開,可得:
式中 Δn為高階殘差;B為系數(shù)矩陣,
根據(jù)最小二乘估計(jì)[20-21],可得
由于無人機(jī)成像時(shí)的觀測(cè)角度,導(dǎo)致不同目標(biāo)點(diǎn)對(duì)定位誤差的影響也不一樣。為了提高自主定位精度,引入加權(quán)最小二乘估計(jì)。
令P-1為加權(quán)矩陣,且
式中 矩陣元素pi(i=1, 2, 3, …,n)為各個(gè)目標(biāo)點(diǎn)對(duì)定位誤差的影響權(quán)值。則式(5)可轉(zhuǎn)換為
本文設(shè)計(jì)了一種選權(quán)迭代法來為每個(gè)目標(biāo)點(diǎn)賦權(quán)。主要步驟如下:
1)設(shè)置初始權(quán)值。
利用式(8),得無人機(jī)位置坐標(biāo)的第一次估值。
2)定義加權(quán)最小二乘目標(biāo)函數(shù)。令
式中 Δxi,Δyi(i=1,2,…,n)代表目標(biāo)點(diǎn)重映射后的像點(diǎn)與真實(shí)像點(diǎn)之間的坐標(biāo)誤差。則加權(quán)最小二乘的目標(biāo)函數(shù)可以寫為
式中 Δdi表示目標(biāo)點(diǎn)重映射后的像點(diǎn)與真實(shí)像點(diǎn)之間的距離誤差。則樣本的標(biāo)準(zhǔn)差為
3)定義權(quán)因子wi。表達(dá)形式如下
式中ui為分布系數(shù),閾值k0=1.5,k1=2.5。
4)令pi' =piwi代替式(6)中pi,重新計(jì)算無人機(jī)坐標(biāo)。
5)重復(fù)1)~4)步,進(jìn)行迭代運(yùn)算,直至兩次估值結(jié)果差異小于限差為止。
本文通過百度地圖獲取了南京地區(qū)衛(wèi)星圖像作為航拍數(shù)據(jù),區(qū)域范圍如圖6所示。將圖像劃分為40×25(行×列)個(gè)大小相同的正方形網(wǎng)格區(qū)域,每個(gè)區(qū)域圖片大小為224像素×224像素。為了后續(xù)數(shù)據(jù)增強(qiáng)的需要,去掉最外層網(wǎng)格后共得到38×23=874張圖片,作為要分類的874類區(qū)域,每一類圖片用其所在行列號(hào)標(biāo)記。此外,本文采用了對(duì)圖像隨機(jī)旋轉(zhuǎn)、裁剪、變形,并進(jìn)行顏色抖動(dòng)、高斯模糊和椒鹽噪聲用以增強(qiáng)數(shù)據(jù)。通過以上方法,將每類數(shù)據(jù)的數(shù)量增加到400張,得到共349600張874類區(qū)域的圖像數(shù)據(jù),其中訓(xùn)練集、驗(yàn)證集、測(cè)試集比例為8∶1∶1。使用ImageNet數(shù)據(jù)庫對(duì)特定網(wǎng)絡(luò)MobileNet進(jìn)行預(yù)訓(xùn)練,使用隨機(jī)梯度下降算法作為參數(shù)優(yōu)化器,設(shè)置學(xué)習(xí)率為0.0001,驗(yàn)證頻率設(shè)為30(每學(xué)習(xí)30次驗(yàn)證1次),超參數(shù)batch_size設(shè)為64。訓(xùn)練后的MobileNet輸出特征向量為128維,以此特征向量來訓(xùn)練LSTM網(wǎng)絡(luò),使用Adam梯度優(yōu)化算法更新權(quán)重,并設(shè)置學(xué)習(xí)率為0.001,batch_size為64。
圖6 衛(wèi)星圖像Fig.6 The satellite image
將本文算法分別與SIFT和ASIFT算法進(jìn)行試驗(yàn)比對(duì),SIFT和ASIFT特征描述算子均采用OpenCV自帶函數(shù),并采用kNN(k-NearestNeighbor)最近鄰匹配方法,結(jié)果如表1所示。可以看出,本文方法定位成功率最高,達(dá)到93.8%,遠(yuǎn)大于傳統(tǒng)人工特征點(diǎn)方法。
表1 定位成功率對(duì)比Tab.1 Comparison of the positioning success rate
為了充分的驗(yàn)證自主定位算法性能,進(jìn)行多點(diǎn)約束的無人機(jī)自主定位數(shù)值仿真試驗(yàn)。
(1)驗(yàn)證自主定位算法的有效性
選取三組數(shù)據(jù)進(jìn)行仿真試驗(yàn),仿真數(shù)據(jù)如表2~3所示,其中地面目標(biāo)點(diǎn)個(gè)數(shù)為3。攝像機(jī)等效焦距為400像素,成像分辨率為1920×1080像素。仿真誤差主要體現(xiàn)為由于攝像機(jī)畸變而產(chǎn)生的像點(diǎn)誤差,設(shè)置為0.5像素。三組試驗(yàn)中攝像機(jī)的位姿態(tài)參數(shù)分別為:1組:Xu=2 500m,Yu=2 500m,Zu=2 500m,ω=1°,ξ=2°,κ=1°;2組:Xu=1 350m,Yu=2 250m,Zu=2 000m,ω=–2°,ξ=1°,κ=–1°;3組:Xu=3 000m,Yu=2 500m,Zu=1 500m,ω=2°,ξ=–2°,κ=2°。自主定位結(jié)果如表4所示。通過有限次迭代,定位誤差收斂到一定區(qū)間之內(nèi),充分證明了本文定位方法的有效性。
表2 目標(biāo)點(diǎn)坐標(biāo)Tab.2 Coordinates of the target單位:m
表3 目標(biāo)點(diǎn)對(duì)應(yīng)像點(diǎn)坐標(biāo)Tab.3 Coordinates of the target point corresponding to the image point 單位:像素
表4 無人機(jī)自主定位算法定位結(jié)果Tab.4 Results of the UAV autonomous positioning algorithm
(2)自主定位算法精度
為了測(cè)試無人機(jī)自主定位的精度,采用蒙特卡羅方法針對(duì)3組數(shù)據(jù)分別進(jìn)行108次試驗(yàn),試驗(yàn)結(jié)果如圖7所示。求取3組定位數(shù)據(jù)的均方根誤差,分別為3.18、7.38、4.41m。經(jīng)仿真驗(yàn)證,本文方法具有較高定位精度,能夠滿足無人機(jī)自主定位的要求。
圖7 自主定位誤差分布Fig.7 Map of autonomous positioning error distribution
針對(duì)無人機(jī)通過圖像進(jìn)行自主定位的應(yīng)用需求,本文提出了一種利用CNN-LSTM網(wǎng)絡(luò)將無人機(jī)圖像與參考衛(wèi)星圖像進(jìn)行配準(zhǔn)的算法,將無人機(jī)自主定位問題轉(zhuǎn)化為一種圖像分類問題;并提出了一種基于多點(diǎn)加權(quán)約束的無人機(jī)自主定位算法,進(jìn)一步提升了無人機(jī)定位精度。試驗(yàn)證明,本文提出的配準(zhǔn)算法具有較強(qiáng)的魯棒性,能較好適應(yīng)無人機(jī)圖像和衛(wèi)星圖像匹配,為無人機(jī)自主精確定位提供了一種新的思路。
由于條件限制,本文使用衛(wèi)星影像來模擬航空?qǐng)D像,在下一步工作中,將開展真實(shí)航空?qǐng)D像與衛(wèi)星影像的匹配試驗(yàn)工作,進(jìn)一步驗(yàn)證算法可行性;另一方面,本文算法依賴衛(wèi)星影像的提前劃分,下一步工作中將研究網(wǎng)格劃分的自適應(yīng)機(jī)制,并探討網(wǎng)格劃分對(duì)定位精度影響。