高嘉瑜,袁蘇哲,李 斌
(中國電子科技集團公司第二十研究所,西安 710068)
近年來,無人機系統(tǒng)能力不斷提升,在城市反恐偵察、災(zāi)害監(jiān)測、物流配送、交通疏導(dǎo)等軍事和民用領(lǐng)域嶄露頭角,應(yīng)用前景尤為廣闊。無人機定位是無人機遂行動態(tài)任務(wù)的必要環(huán)節(jié),也是無人機自主能力的重要體現(xiàn)。視覺導(dǎo)航技術(shù)具有高自主性、無源性、低成本性等特點,近年來被廣泛應(yīng)用。
基于視覺的景象匹配是實現(xiàn)自主導(dǎo)航的有效手段之一。景象匹配導(dǎo)航源于巡航導(dǎo)彈景象匹配(Scene Matching Navigation System,SMNS)末端制導(dǎo)技術(shù),其工作原理是:事先獲取飛行器預(yù)定飛行區(qū)域的地物景象作為基準(zhǔn)圖像,并標(biāo)注真實地理信息,存于飛行器機載計算機中作為基準(zhǔn)圖數(shù)據(jù)庫;當(dāng)飛行器飛到預(yù)定區(qū)域時,機載圖像傳感器實時獲取當(dāng)?shù)鼐跋笞鳛閷崪y圖像傳送到機載計算機中和基準(zhǔn)圖像進行匹配,由于基準(zhǔn)圖像的地理坐標(biāo)位置是已知的,根據(jù)與實測圖像的匹配位置,即可以確定當(dāng)前飛行器的準(zhǔn)確位置。因此,景象匹配導(dǎo)航是一種實現(xiàn)飛行器自主導(dǎo)航的絕對定位技術(shù)。無人機景象匹配定位方法通過使用預(yù)先存儲的包含精確地理信息的導(dǎo)航地圖,利用一幀實拍圖像與導(dǎo)航地圖匹配即可實現(xiàn)飛行器的絕對定位。
目前常用的是基于特征點像素級匹配的方法來實現(xiàn)景象匹配,通過檢測圖像中目標(biāo)的特征來實現(xiàn)匹配。常見的特征描述算子有SIFT特征描述算子、SURF特征描述算子以及ORB特征描述算子。SURF特征描述算子是對SIFT特征描述算子進行了改進,基本代替了SIFT特征描述算子。SURF算法具有較強的魯棒性,但是計算速度較慢;ORB算法有著較快的計算速度,并且具備較好的匹配效果?;谝曈X的景象匹配定位示意圖如圖1所示。
圖1 基于視覺的景象匹配定位示意圖Fig.1 Schematic diagram of vision-based scene matching and positioning
圖像匹配是無人機視覺導(dǎo)航過程的核心技術(shù)之一,其匹配的速度和精度對導(dǎo)航系統(tǒng)的準(zhǔn)確度和效率有著直接影響。目前,大多數(shù)圖像匹配算法是在某個離散化空間上估計一個視差集合,如整數(shù)像素視差,這對于只需要少量特征點的應(yīng)用場合是足夠的。而無人機視覺導(dǎo)航中往往需要處理超高分辨率的航拍圖像,圖像間存在光照條件、視角和尺度差異,并且要求亞像素級定位精度[1]。因此,魯棒性好且具有亞像素級精度的圖像匹配是提高無人機視覺導(dǎo)航系統(tǒng)整體性能的一個關(guān)鍵問題。
在亞像素級圖像匹配領(lǐng)域,國內(nèi)外已經(jīng)有一系列的研究成果。大致可以分為四類:1)擴展相位相 關(guān)法:該類方法是對相位相關(guān)法的改進,不僅對灰度差和窄帶噪聲不敏感,而且還保留了相位相關(guān)法的優(yōu)點,可分為時域求解法和頻域求解法[2-3]。在頻域求解時匹配精度高,計算量小。2)基于插值的方法:該類方法主要通過灰度內(nèi)插實現(xiàn)亞像素級匹配精度,分為相似性函數(shù)內(nèi)插法和圖像灰度直插法[4-5]。該類方法的優(yōu)點是精度高。3)最優(yōu)化法:該類方法選用適當(dāng)?shù)臄?shù)學(xué)模型,通過迭代對參數(shù)進行優(yōu)化,通過逐步優(yōu)化得到亞像素級精度的匹配[6-8]。該類方法能夠支持各種變換模型,匹配精度也比較高。4)基于特征點的方法:該類方法主要基于圖像中的顯著性特征(如點特征、線特征和區(qū)域特征),通常結(jié)合內(nèi)插法或相位相關(guān)法使配準(zhǔn)精度達(dá)到亞像素級[9-12]。該類方法在保持魯棒性的同時具有較高的匹配精度,因此被廣泛應(yīng)用于亞像素圖像配準(zhǔn)。但無論哪種方法都各有優(yōu)勢和不足:1)擴展相位相關(guān)法只能處理固定形式的圖像變化,對于更復(fù)雜的非線變換無法達(dá)到匹配效果;2)插值法的缺點是計算量大,且匹配精度依賴于內(nèi)插算法的質(zhì)量;3)最優(yōu)化法中尋找全局最優(yōu)化的概率有待提高;4)基于特征點的方法不適用于圖像視角變化較大的情況。
綜合以上研究與分析發(fā)現(xiàn),各種方法在匹配精度、運行時間和因圖像之間差異性造成的魯棒性方面,存在較大的差異。因此,將圖像匹配精度提高到亞像素級,減少算法復(fù)雜度,降低誤匹配率,同時增強算法對圖像差異的魯棒性,仍然是一個大的挑戰(zhàn)。
本文提出了一種基于亞像素匹配的高精度視覺定位方法。首先選擇具有仿射不變性的特征點來表征圖像,提取邊緣特征,結(jié)合高斯亞像素擬合原理及特征描述符簡化方法,并采用漸進采樣一致性(Progressive Sampling Consensus, PROSAC)算法剔除誤匹配點,最終實現(xiàn)亞像素級的圖像匹配定位。算法的工作流程如圖2所示,該算法的基本思想是:首先對輸入圖像進行仿射變換模擬,并提取邊緣特征點;其次,對邊緣特征點的灰度差值進行高斯曲線擬合,以獲取亞像素級特征點;接著,擬采用特征向量夾角作為特征的相似性度量;最后,根據(jù)夾角與閾值的關(guān)系判斷特征點是否為一個匹配對。解決了微小型無人機視覺導(dǎo)航對圖像匹配算法高精度的需求。
圖2 軟件平臺工作流程圖Fig.2 Software platform working flow chart
無人機在視覺導(dǎo)航中常常會出現(xiàn)圖像之間存在較大視角差異,這種情況下圖像匹配性能會急劇下降,對無人機定位和環(huán)境構(gòu)建的準(zhǔn)確性產(chǎn)生嚴(yán)重影響。仿射不變特征由于抗視角變換能力強,被越來越多地應(yīng)用在圖像差異較大時的圖像匹配。因此,這里采用具有仿射不變性的特征點來表征圖像,本文受ASIFT 模擬思想的啟發(fā),通過模擬攝像機位置變化產(chǎn)生的形變克服這一缺陷,提出了一種完全仿射不變的匹配算法。
仿射模型含有6個自由度,其中2個平移變量tx和ty,1個相機旋轉(zhuǎn)變量ψ,1個均勻縮放系數(shù)s,另外2個變量用于定義相機主光軸方向,稱為經(jīng)度φ和緯度θ。通過改變相機主光軸方向的經(jīng)度和緯度這2個角度參數(shù)來模擬不同的視場,然后對獲取的所有模擬圖像對利用某一尺度不變方法進行特征提取與匹配,將生成許多不同經(jīng)緯度參數(shù)下的模擬圖像,足以模擬不同視點下的仿射形變圖像,保證了尺度一定下的仿射不變性。
對每一幅圖像進行仿射變換模擬由于攝像機位置變化產(chǎn)生的仿射形變。圖像的仿射形變主要取決于經(jīng)緯度的變化,因此在對原始圖像做仿射變換時只對攝像機的經(jīng)緯度進行模擬,為了模擬出盡可能多的形變圖像,在對經(jīng)緯度采樣時按照如下規(guī)則進行:
1)緯度角θ和傾斜程度t滿足一一對應(yīng)關(guān)系,即θ=arccos(1/t),t的采樣值選為t=1,a,a2,…,an。其中,指數(shù)n為仿射變換的模擬次數(shù),該值越大則模擬出的仿射變換的情況越多。
2)經(jīng)度角φ通過一組采樣數(shù)據(jù)來實現(xiàn)模擬:φ=0,b/t,…,kb/t(kb/t<180°),即一個t對應(yīng)多個經(jīng)度角。選擇b為角度數(shù),k為一個滿足(kb/t<180°) 的最大整數(shù)。
圖3 圖像仿射變換示意圖Fig.3 Schematic diagram of image affine transformation
在得到一系列的(φ,θ)之后,通過仿射變換模型即可得到對應(yīng)于近似圖像A的模擬圖像。
在模擬后的圖像進行特征提取,可以得到具有抗視角變換能力的像素級邊緣特征。相較于傳統(tǒng)的特征提取算法,該算法在圖像存在光照變化、尺度變化和較大視角差異時,仍然能夠?qū)D像特征進行準(zhǔn)確、充分地提取。
采用中值濾波法對圖像進行噪聲去除,以除去孤立的點。采用SUSAN 算法提取圖像邊緣輪廓, 邊緣輪廓是圖像最基本的特征,蘊含了豐富的內(nèi)在信息。SUSAN 算子是一個簡單有效的邊緣檢測算法,算法效率較高,而且抗噪聲能力強。因此,采用SUSAN 算法提取圖像邊緣輪廓。
由于邊緣提取算法只能獲取像素級精度的特征點,意味著整數(shù)像素點之間的信息丟失了。因此需要在此基礎(chǔ)上進行亞像素級特征提取,從而獲得更高的精度。該算法在本環(huán)節(jié)中,擬采用以下步驟實現(xiàn):
首先,沿著粗定位邊緣點(即上一步驟獲取的像素級邊緣特征)的梯度方向?qū)ふ揖嚯x為L的鄰近點(并非都是整像素點),當(dāng)梯度方向與水平方向夾角小于45°時,L=1/cos(θ);
然后,對鄰近點進行灰度線性插值處理,通過鄰近點的灰度值計算粗定位邊緣點的灰度差值,根據(jù)高斯亞像素擬合原理,圖像邊緣點灰度值變化呈高斯分布,高斯曲線的表達(dá)式為
(1)
式中,μ是中心點坐標(biāo),σ是高斯函數(shù)的標(biāo)準(zhǔn)差,u是粗定位點的灰度差值;
最后,擬采用最小二乘法擬合并計算出μ和σ,假設(shè)粗定位邊緣坐標(biāo)為p(x0,y0),則根據(jù)σ和求取的邊緣點梯度方向夾角θ可以求出亞像素級邊緣點的坐標(biāo)為p′(x0+σcos(θ),y0+σsin(θ))。
以亞像素邊緣點為特征點(x,y),按照式(2)計算其梯度和模值
m(x,y)=
(2)
式中,L是每個特征點所在的模擬圖像。在以特征點為中心的鄰域窗口內(nèi)進行采樣,采用直方圖統(tǒng)計鄰域像素的梯度方向,并用高斯函數(shù)對直方圖進行平滑。梯度直方圖描述的范圍是0°~360°,每10°一個柱,共36個柱,以直方圖的峰值作為該特征點的主方向。
在特征點所在的尺度空間中,以關(guān)鍵點為中心產(chǎn)生一個圓形區(qū)域,計算像素梯度,將圓形區(qū)域旋轉(zhuǎn)至主方向,對梯度做高斯加權(quán)。將圓形區(qū)域分為2×2 個扇形子區(qū)域,在每個扇形區(qū)域內(nèi)統(tǒng)計8 個方向的梯度直方圖如圖4(b)所示。
SIFT 生成描述符時,以關(guān)鍵點為中心生成一個方形鄰域,然后將其分為16 個子區(qū)域,在每個區(qū)域內(nèi)統(tǒng)計8 個方向的梯度直方圖如圖4(a)所示,最終生成128 維描述符。盡管本文方法也需要統(tǒng)計梯度直方圖,但是只需要在4 個扇形區(qū)域上進行統(tǒng)計,統(tǒng)計次數(shù)比SIFT少了12 次;另外本文算法的描述符維度降低了32 維,在進行描述符相似度計算時,使用該描述符可以大大降低計算量,提高匹配效率。
(a) SIFT 描述符
(b)本文算法描述符圖4 描述符扇形子區(qū)域Fig.4 Descriptor sector subregion
將4 個扇形的梯度直方圖合并得到32 維的描述符,然后進行歸一化處理,以降低光照變化對描述符的影響。
計算2幅圖像中特征向量的夾角,若圖像1中特征向量與圖像2中特征向量的最小夾角為θmin,次小夾角為θsec,且存在(θmin/θsec) 用比值θmin/θsec對初始匹配點對進行排序并構(gòu)成一個集合,比值最小的特征點對是集合的第1個元素。根據(jù)比值大小升序排序。在排好序的匹配對中選取前S個為一個數(shù)據(jù)集,在前S-1個數(shù)據(jù)集中選擇3個匹配對,然后選取第S個數(shù)據(jù),利用4個匹配點對計算單應(yīng)矩陣H;將上述4組點剔除后,其他點根據(jù)單應(yīng)矩陣H,計算相應(yīng)投影點;計算其他點和投影點之間的誤差e,并和誤差極限δ進行比較,e<δ為內(nèi)點,反之為外點;計算內(nèi)點數(shù)目t, 并和設(shè)定內(nèi)點數(shù)目閾值T進行比較,若t>T內(nèi)點數(shù)目更新為t,若t≤T,則S=S+1重新進行數(shù)據(jù)選取。更新內(nèi)點數(shù)目t后,再次計算單應(yīng)矩陣H,以獲取新的內(nèi)點;若迭代次數(shù)小于給定最大迭代次數(shù),返回單應(yīng)矩陣H,反之模型不符合,剔除匹配點對。 即用比值θmin/θsec對初始匹配點對進行排序并構(gòu)成一個集合,比值最小的特征點對是集合的第1個元素。每次按順序從集合中選取4對特征點進行變換矩陣的估計。相較于傳統(tǒng)RANSAC算法中隨機選取特征點對,該算法能有效避免陷入局部最優(yōu),保證了最終圖像匹配的準(zhǔn)確度。 當(dāng)無人機在飛行過程中,機載圖像傳感器實時獲取正下視景象作為實測圖像傳送到機載計算機中和基準(zhǔn)圖像進行匹配。由于基準(zhǔn)圖的地理坐標(biāo)位置是已知的,因此,根據(jù)與實時拍攝圖像的匹配位置,即可以確定當(dāng)前飛行器的準(zhǔn)確位置。 在飛行過程中,可以利用運動的連續(xù)性確定后續(xù)圖像的大致位置關(guān)系,縮小搜索空間。在第1次定位時使用較大的搜索窗口確定中心點的對應(yīng)位置(圖5中黃框內(nèi)區(qū)域);一旦圖像匹配確定了中心對應(yīng)關(guān)系,可以利用運動關(guān)系對位置關(guān)系進行估計,縮小搜索區(qū)域(圖 5 藍(lán)框內(nèi)區(qū)域),大大提高算法的運算效率。 無人機的飛行軌跡可以使用一些曲線進行擬合,實際飛行過程中,無人機往往保持勻速巡航,短時間內(nèi)的運動可視作勻速直線運動。通過讀取無人機當(dāng)前的速度信息可以估計無人機下一時刻的位置。后續(xù)圖像匹配搜索只需要在較小區(qū)域內(nèi)進行,使得該算法的匹配效率得到明顯提升。搜索窗口的尺寸大小關(guān)系如圖5所示。 圖5 基于視覺的景象匹配定位搜索窗口示意圖Fig.5 Schematic diagram of vision-based scene matching and positioning search window 為了驗證實際應(yīng)用的精確性與高效性,進行了實驗,并和傳統(tǒng)的二次曲面擬合算法進行精度及效率的對比。 實驗一采用某地區(qū)上空的航拍遙感影像,圖像分辨率為1280 × 1920 像素,獲取連續(xù)20幀遙感影像,如圖6所示。 圖6 實驗一遙感圖Fig.6 Remote sensing map of experiment one 對20 幀連續(xù)圖像進行亞像素配準(zhǔn)。在使用梯度法求解亞像素配準(zhǔn)位置時,位移圖像正是以整像素配準(zhǔn)位置作為其一階泰勒級數(shù)的展開位置。如圖7所示: 可以看出匹配定位誤差控制在0.05像素級以內(nèi)。 圖7 誤差曲線示意圖Fig.7 Schematic diagram of error curve 采用傳統(tǒng)的二次曲面擬合法進行匹配,匹配誤差精度如圖8所示,誤差精度為0.15像素。 圖8 傳統(tǒng)二次曲線擬合誤差曲線示意圖Fig.8 Schematic diagram of traditional quadratic fitting error curve 匹配時間對比如圖9所示:綠色曲線為本文算法匹配時間,在0.25s以內(nèi);藍(lán)色曲線為傳統(tǒng)二次曲線擬合法匹配時間,在0.3s以內(nèi)??梢钥闯?,本文算法在匹配時間上優(yōu)于傳統(tǒng)二次曲線擬合匹配算法。 圖9 本文算法和傳統(tǒng)二次曲線擬合匹配算法時間曲線示意圖Fig.9 The time curve of the proposed algorithm in this paper and the traditional quadratic curve fitting matching algorithm 試驗二采用清涼寺公園無人機拍攝圖像進行試驗,圖像分辨率為1080 × 720 像素,如圖10所示。 圖10 實驗二場景圖Fig.10 Scene graph of experiment two 利用無人機得到20幀序列圖像,對相鄰圖像進行亞像素匹配,得到誤差曲線如圖11所示,誤差不超過0.05像素。 圖11 誤差曲線示意圖Fig.11 Schematic diagram of error curve 采用傳統(tǒng)的二次曲面擬合法進行匹配,匹配誤差精度如圖12所示,誤差精度為0.15像素。 圖12 傳統(tǒng)二次曲線擬合誤差曲線示意圖Fig.12 Schematic diagram of traditional quadratic fitting error curve 匹配時間對比如圖13所示:綠色曲線為本文算法匹配時間,在0.2s左右;藍(lán)色曲線為傳統(tǒng)二次曲線擬合法匹配時間,在0.35s以內(nèi)。可以看出,本文算法在匹配時間上優(yōu)于傳統(tǒng)二次曲線擬合匹配算法。 圖13 本文算法和傳統(tǒng)二次曲線擬合匹配算法時間曲線示意圖Fig.13 The time curve of the algorithm in this paper and the traditional quadratic curve fitting matching algorithm 將此方法應(yīng)用在無人機景象匹配中,目前已在虛擬場景中進行試驗。當(dāng)無人機飛到預(yù)定區(qū)域時,機載圖像傳感器實時獲取當(dāng)?shù)鼐跋笞鳛閷崪y圖像傳送到機載計算機中和基準(zhǔn)圖像進行匹配。由于基準(zhǔn)圖像的地理坐標(biāo)位置是已知的,因此,根據(jù)與實測圖像的匹配位置,即可以確定當(dāng)前飛行器的準(zhǔn)確位置。由于選用基于亞像素的匹配,在實時定位中可將景象匹配精度提高到亞像素級。 本文針對無人機視覺導(dǎo)航過程中圖像失真大、匹配精度低的問題,提出了一種基于亞像素匹配的高精度視覺定位方案。算法分析與實驗結(jié)果表明: 1)利用仿射不變性特征來表征圖像,抗視角變換能力強,和其他特征相比具有很強的魯棒性,能夠減少因圖像視角偏差較大所引起的匹配性能下降問題。 2)采用了簡化描述符的方法,和SIFT算法相比,只需要在4 個扇形區(qū)域上進行統(tǒng)計,統(tǒng)計次數(shù)比SIFT少了12 次;另外本文算法的描述符維度降低了32 維,在進行描述符相似度計算時,使用該描述符可以大大降低計算量。 3)采用本文PROSAC算法剔除誤匹配點,引進了將向量的最小夾角和次小夾角的比值進行排序,相較于傳統(tǒng)RANSAC算法中隨機選取特征點對,該算法能有效避免陷入局部最優(yōu),保證了最終圖像匹配的準(zhǔn)確度,且降低了運算量。 本算法創(chuàng)新點:用具有仿射不變性的亞像素邊緣特征點來表征圖像,保證了圖像視角差異較大時匹配的高準(zhǔn)確度,增強了匹配算法對視角變化的魯棒性,并將特征的定位精度提高到了亞像素級。并與PROSAC算法相結(jié)合,提高了算法的實時性。 目前算法還處于實驗室仿真階段,距離工程應(yīng)用還有差距。針對此問題,下階段將首先搭載懸翼無人機進行飛行試驗,驗證算法的實時性及魯棒性。4 基于亞像素景象匹配定位
4.1 亞像素景象匹配定位方法
4.2 匹配搜索區(qū)域估計
5 仿真驗證
6 結(jié)論