曾國奇,牛子凡,鄭麗麗,*,李杰,郝得霖
1.北京航空航天大學 無人系統(tǒng)研究院,北京 100191
2.北京航空航天大學 電子信息工程學院,北京 100191
隨著無人機技術的發(fā)展,無人機已廣泛應用于測繪、貨運、監(jiān)控、軍事等各個領域,特別是在應急測繪、工業(yè)檢測[1]、自然災害監(jiān)測[2]、綠地植被監(jiān)測[3]、城市安全[4]等方面,無人機起著至關重要的作用。隨著5G 通信的發(fā)展,無人機通信鏈路的峰值速度可達10~20 Gbit/s,空中接口延遲低至1 ms,無線通信實時性大大提高,使得高清無人機的實時圖像傳輸成為可能。
在某些場景中,無人機需要拍攝并獲取某一區(qū)域的圖像信息,然后形成該區(qū)域的整體地形圖,如野外測繪、自然災害態(tài)勢觀測、城市建設管理和控制等。傳統(tǒng)的態(tài)勢獲取方法,需要無人機按照特定的航線進行重復往返飛行,在飛行結(jié)束后,需要手動從機載相機上獲得原始的拍照圖片,進行圖像矯正等預處理操作,并根據(jù)拍攝時的相機參數(shù)信息,進行事后拼接,形成拍攝圖像的拼接圖,從拍攝到形成拼接圖像需要數(shù)小時,該方法適用時效性不高的測繪領域。然而,在一些時敏性要求較高的場合,例如火災態(tài)勢監(jiān)測、地震救援指揮、公路交通疏導等場景下,指揮現(xiàn)場需要實時獲取目標區(qū)的現(xiàn)場全局態(tài)勢信息,并根據(jù)現(xiàn)場情況判斷是否進行下一步?jīng)Q策。無人機一般不會按照特定的路線進行飛行,現(xiàn)場需要獲取無人機視頻圖像的同時獲得已飛行區(qū)域的現(xiàn)場態(tài)勢。由于無人機飛行時大角度和非規(guī)則航線,傳統(tǒng)的圖像拼接方法無法形成穩(wěn)定、快速的圖像。因此本文提出了一種基于球形變換的無人機實時圖像拼接方法,改進無人機圖像拼接的穩(wěn)定性和時效性,提高了拼接算法的實用性。
圖像拼接是根據(jù)2 張具有重疊區(qū)域的圖像中的匹配關系進行配準,形成一張更大的圖像的過程。從流程上可以分解為圖像的畸變預處理、匹配和配準、拼接融合幾步[5],其中圖像配準是最為關鍵的一步。關于圖像拼接的研究通常主要圍繞提升圖像配準的精度和效率展開,圖像配準的算法大體可以分為2 類,第1 類是基于特征的圖像配準方法,另外一類是非特征的圖像配準,主要有基于變換域以及基于灰度信息的圖像配準方法。在無人機圖像拼接領域,基于特征的圖像拼接方法綜合表現(xiàn)較好,在算法的精度、效率、魯棒性上全面超過非特征的拼接算法[6],是目前主流的配準方法,下面著重介紹基于特征匹配的圖像拼接算法。
Lowe[7]提出了SIFT(Scale Invariant Feature Transform)算子,該方法可以得到對圖像尺度、旋轉(zhuǎn)、縮放具有不變性的特征描述,隨后Bay等[8]對SIFT 算法進行了改進,提出了SURF 算法,使用小波變換構(gòu)造特征向量提高了運算速度,Dosovitskiy 等[9]在進行特征提取時通過訓練卷積神經(jīng)網(wǎng)絡創(chuàng)建特征,改善了相似特征的提取情況;Nguyen 等[10]提出通過卷積神經(jīng)網(wǎng)絡直接創(chuàng)建特征描述子,簡化了特征提取算法。
基于特征的拼接方法中存在單應性變換誤差積累的問題,很多學者在消除單應性變換誤差積累上做了研究,例如使用光束平差法[11]優(yōu)化單應性矩陣的計算誤差,或者直接對單應性誤差積累問題進行消除,例如APAP(As-Projective-As-Possible)算法[12]使用局部單應性矩陣進行圖像拼接,SPHP(Shape-Preserving Half-Projective)算法[13]使用附加項優(yōu)化網(wǎng)格化單應性矩陣,使用透射變換和相似變換結(jié)合的方式增加拼接的全局相似性,Chen 等[14]提出了一種基于全局相似性先驗校正方法,但是線性結(jié)構(gòu)沒有得到很好的保護,Zhang 等[15]通過設置一系列預約束來實現(xiàn)更好的性能,Lin 等[16]考慮了像素強度的差異,這在低紋理圖像中效果良好,Lee 等[17]將圖像分割,并根據(jù)視差的扭曲殘差計算出的特征匹配進行扭曲,但是這些方法大都需要計算多個單應性矩陣,通過改進附加項優(yōu)化拼接效果,或使用多張圖像間的匹配關系進行計算,通常計算效率比較低。
本文主要針對全局單應性誤差校正的問題,在不建立局部單應性的前提下允許拼接圖像之間出現(xiàn)角度變化,通過球形校正算法提高圖像拼接算法的效率和穩(wěn)定性,可以解決大角度下視頻圖像的快速、穩(wěn)定、持久拼接的難題。
基于特征的圖像拼接的通用方法一般包括數(shù)據(jù)清洗、特征提取、特征匹配、單應性變換以及最終圖像融合。數(shù)據(jù)清洗主要對圖像的幾何畸變和色差畸變進行校正,特征提取主要使用特征描述算法計算圖像中的特征信息,特征匹配對特征點進行匹配、篩選,并計算圖像之間的幾何變換模型參數(shù),隨后使用單應性變換完成拼接,使用融合算法進行融合。
在傳統(tǒng)的拼接流程中,單應性誤差積累問題使算法對視角不具有魯棒性,因此本文主要改進了傳統(tǒng)的透射變換模型參數(shù)計算,通過球形校正增加單應性變換對視角的魯棒性,從而提升圖像拼接算法的穩(wěn)定性和效率,增加圖像拼接算法的實用性,圖像拼接流程如圖1 所示。
圖1 圖像拼接流程圖Fig.1 Image stitching flow chart
單應性變換時產(chǎn)生誤差,在進行基于特征匹配的圖像拼接時,圖像間的幾何變換可以用單應性變換表示,因此需要基于局部特征進行單應性變換完成拼接過程,在連續(xù)2 張圖像的重疊部分完成圖像的配準,然而在非重疊區(qū)域的圖像則會發(fā)生拉伸或壓縮形變,在下一次拼接時基于已形變的特征進行配準,會使單應性誤差不斷積累,形變誤差逐步放大,最終過度形變導致特征提取無法完成,從而失去匹配關系,如圖2 所示。
圖2 由于單應性變換誤差累積而引起的圖像失真Fig.2 Image distortion caused by accumulation of homography transformation errors
本文使用SIFT 特征提取算法、窮舉法完成圖像匹配,RANSAC(RANdom SAmple Consensus)算法完成匹配篩選,并最終計算得到透射變換模型,對68 張連續(xù)幀圖像進行的一段圖像拼接如圖3 所示。在拼接之初效果較好,然而隨著拼接次數(shù)增多失真逐漸嚴重,最后無法進行拼接。
圖3 透射變換拼接效果Fig.3 Transmission transformation stitching effect
如果無人機處于平穩(wěn)飛行狀態(tài),即不存在俯仰角和滾轉(zhuǎn)角的變化,那么采集的圖像數(shù)據(jù)在世界坐標系中處于同一平面上,因此圖2 中的單應性誤差大部分來源于計算誤差,因此可以使用光束平差法對單應性誤差進行消除,優(yōu)化拼接效果。但如果對圖像添加光束平差約束,圖像之間需要具有相對較高的重疊率[11],同時需要以組為單位對圖像進行計算,無法對2 張圖像進行實時拼接。除此之外,無人機不可能處于絕對正射狀態(tài),實際場景中會引入角度變換,尤其是在應急場景中,因此算法需要考慮在無人機大角度下的拼接性能。
設定首張拼接圖像所在平面為基準平面ST,圖像坐標系中特征點坐標為(x,y),相機坐標系中特征點坐標為(m,n,h),則拼接的全局相似性條件為在所有拼接圖像在單次拼接后,端邊界處的像素點集必須收斂到基準平面ST上,使2 張圖像的像素點集X、Y滿足:
式中:fx、fy分別為相機在x軸方向和y軸方向焦距的像素長度;cx、cy分別為相機主點的實際位置;rij、ti分別為旋轉(zhuǎn)參數(shù)和平移參數(shù),點集M、N為
式中:(mi,ni,hi)為相機坐標系中的特征點坐標;dwidth為相機在x方向上的最大像素距離;dheight為相機在y方向上的最大像素距離。
當拼接過程滿足該約束時,能夠保證拼接完成時視角距離位于初始水平,為了滿足這一條件,本文使用球形對圖像進行投射變換。圖4 展示了p1~p5在進行拼接時發(fā)生了α1~α4的透射偏移,在經(jīng)過不同半徑的球形透射變換后,p2~p5圖像變換為pc2~pc5,使得圖像拼接后的邊緣像素點收束到了ST平面,原本的單應性視角距離改變轉(zhuǎn)化為了像素的波浪狀形變。
圖4 球形變換Fig.4 Spherical transformation
以圖4 中首張圖像幀p1所在的直線為基準線,記為Lbase,在隨后的拼接中對其他圖像做球形投影變換,第i幀圖像pi球形投影變換后的圖像記為pci,球半徑記為r,使得每次變換后的圖像進行配準時,保持右側(cè)端點始終落在Lbase上。
在此方法下,設pi和pi-1之間的夾角為ai,pi和pi-1在y方向上的相對位移為di個像素,設pi的寬度為wi,則可以求解得出pci所在的球半徑ri為
式中:Xi為相機位移在Lbase上的投影;αi為相機在Lbase方向的偏轉(zhuǎn)角度,使用迭代法求解此超越方程,計算得到校正球半徑ri。
對于相機位姿變化參數(shù)Xi和αi,可以通過無人機采集圖像時的POS 信息直接得到,除此之外也可以使用PnP(Perspective-n-Point)算法對相機位姿進行大體估計計算。對于投影矩陣為
消去s后,可以得到2 個約束
假設有N個特征點,可以求線性方程組
式中:Pn為第n個像素點的齊次坐標;t1、t2、t3為[R T]的行向量,由于其為12 維度,所以6 對匹配點即可完成線性求解,獲得相機位姿參數(shù)。當匹配點>6 對時,可以使用SVD(Singular Value Decomposition)方法求最小二乘解[18]。
對pi進行以ri為半徑的球形投影,如圖5 所示,假設圖像pi位于半徑為ri球面上,此時pi上任意一點P2的像素坐標值記為(x,y,z),在(0,0,h)處設置一個光源點P,通過點P向z=0 的平面進行投影,設投影比例系數(shù)為k,從P通過P2投影到P3,則有
圖5 球形投影示意圖Fig.5 Schematic diagram of spherical projection
最終可得到pci的橫坐標px=kx,縱坐標py=ky,式中:
球形投影的效果如圖6 所示,可以看到右圖為球形變換后的扭曲圖像。
圖6 球形投影效果圖Fig.6 Spherical projection rendering
當圖像進行球形變換后再進行單應性變換時,拼接后像素點集X、Y收斂到了基準平面ST上,使得圖像間特征像素尺度向最初的特征像素尺度收斂,避免了次級拼接時的特征尺度變化的擴大。
建立幾何失真函數(shù)G,以圖像單應性變化后的非剛體形變程度作為特征尺度均勻性的度量,即
式中:w1、w2為原始圖像的兩對邊寬為變換后圖像的兩對邊寬分別為變換前后圖像的高,αi為圖像的第i個內(nèi)角的角度。求取臨邊比和對邊比偏離初始值的程度,以及各個角偏離初始角度的程度,相乘后作為特征尺度均勻性函數(shù),分別對98 張匹配圖像進行49 次單應性拼接,以及將其中的49 張配準圖像進行球形變換后再次單應性拼接進行對比,結(jié)果如圖7 所示。可以看出,經(jīng)過球形校正的單應性拼接,降低了單應性變化帶來的特征尺度不均勻性,因此在后續(xù)的拼接時降低了特征尺度不均勻帶來的誤差積累。
圖7 單應性拼接和球形校正拼接后一系列拼接圖像的幾何失真變化Fig.7 Geometric distortion change between spherical correction and homography transformation on a series of images
而對于同一次拼接,分別計算單應性變換和球形校正單應性變換得到的拼接圖像后,拼接圖各個特征變換后與相鄰特征距離的值的變化比例,如圖8 所示??梢钥吹?,由于在800 個特征之前(沿拼接方向)為參考圖像,特征間的距離與拼接前后保持不變,而在拼接圖像加入后,單應性變換產(chǎn)生的特征尺度變化迅速積累,在球形校正后的尺度變換被均勻的分散為整張圖像的球面扭曲,從而降低了特征的尺度變化。相對于單應性變換來說,在拼接縫隙處增加了一些尺度不連續(xù)性,但是特征尺度的縮小將大幅降低單應性變換的誤差積累。
圖8 單應性拼接和球形校正拼接后單張拼接圖像的特征尺度變化Fig.8 Features scale change between spherical correction and homography transformation on single image
圖像特征描述符是描述關鍵點周圍像素信息的向量,由于無人機圖像之間可能存在旋轉(zhuǎn)、平移、縮放等變換,特征描述也需要具有平移、旋轉(zhuǎn)、縮放和傳輸?shù)牟蛔冃浴D壳?,SURF 和ORB(Oriented FAST and Rotated BRIEF)是計算速度較快的特征描述子。Li 等分析了2 種算法的性能比較[19],如表1 所示。
表1 SURF 和ORB 的性能比較[19]Table 1 Comparison of performance of SURF and ORB[19]
雖然ORB 算法較快,但有效特征點數(shù)量不及SURF 的1/2,為了保證拼接質(zhì)量,本文采用了SURF 特征描述符。對圖9 左圖提取SURF 特征點,特征如圖9 右圖所示,可以清晰地反映圖像特征。
圖9 利用SURF 算法提取特征點Fig.9 Using SURF algorithm to extract feature points
遍歷每個特征點描述子與所有其他特征點描述子之間的距離,然后取最近的一個作為匹配點,這樣可以獲得最高的匹配精度,以特征點之間的最小歐氏距離建立最優(yōu)解,即
式中:n為特征點的數(shù)量;xk、yk分別為該特征點在x方向和y方向上距離第k個特征點的像素距離。
如圖10 所示,使用窮舉法對2 幅部分重疊的圖像進行特征匹配,并將匹配成功的特征點連接起來。
圖10 SURF 特征點粗匹配Fig.10 Rough matching of SURF feature points
本文采用RANSAC(Random Sample Consensus)算法[20]對匹配點進行濾波。在濾波過程中,以最佳單應矩陣為目標,即尋找一個能滿足單應變換且數(shù)據(jù)量最大的單應矩陣。單應變換滿足
式中:hij為單應性矩陣的構(gòu)造參數(shù)。
從匹配數(shù)據(jù)集中隨機選擇4 個樣本,并通過確保4 個樣本不共線來計算單應性矩陣。然后利用該模型對所有數(shù)據(jù)進行檢驗,計算出滿足該模型的數(shù)據(jù)點數(shù)和投影誤差,使相應的代價函數(shù)最小化。代價函數(shù)為
經(jīng)過RANSAC 濾波匹配后,錯誤匹配明顯減少,匹配質(zhì)量大大提高,如圖11 所示。
圖11 RANSAC 精匹配Fig.11 RANSAC fine matching
在無人機飛行較穩(wěn)定、區(qū)域特征清晰時,對57 張連續(xù)幀圖像進行傳統(tǒng)的透射變換拼接,效果如圖12 所示,可以看出拼接末端產(chǎn)生了一點失真,但整體失真情況較小。
圖12 穩(wěn)定正射圖像的拼接效果Fig.12 Stitching effect of stable orthophoto images
在無人機飛行較不平穩(wěn)、存在些許抖動時,對68 張連續(xù)幀圖像進行傳統(tǒng)的透射變換效果如圖13 所示,可看出在拼接末端的失真明顯。
圖13 由于單應性變換誤差累積而引起的圖像失真Fig.13 Image distortion caused by accumulation of homography transformation errors
在加入球形校正的全局相似性約束后,對拼接圖13 使用的68 張連續(xù)幀圖像進行透射變換拼接的效果如圖14 所示??梢钥闯?,經(jīng)球形校正后大大改善了單應性誤差積累形變的問題,在拼接末端的像素比例基本與初始圖像保持一致。如圖15 所示,圖中統(tǒng)計了拼接時圖像形變引起的重投影誤差,在基礎拼接第70 次左右時誤差快速放大積累,到達了視覺明顯可見的失真后停止拼接,而加入球形校正后拼接第220 次時仍然能夠保持視覺允許的失真程度進行拼接。
圖14 經(jīng)球形校正模型約束后的拼接效果Fig.14 Stitching effect constrained by spherical correction model
圖15 校正算法優(yōu)化前后的累積透射誤差對比Fig.15 Comparison of cumulative transmission error before and after optimization of correction algorithm
如圖16 左圖所示,無人機在俯仰角存在較大變化的情況下采集到2 張圖像,通過傳統(tǒng)的透射變換進行拼接,效果如圖16 右圖所示。
圖16 基于透射變換模型和特征匹配的大視角圖像拼接效果Fig.16 Effect of large view image stitching based on transmission transformation model and feature matching
使用傳統(tǒng)拼接和球形校正拼接算法對這2 張大角度變化圖像進行拼接,如圖17 所示,球形校正算法的拼接具有全局一致性,拼接邊緣的像素比例與參考圖像基本保持一致,沒有出現(xiàn)圖17(a)中出現(xiàn)的拉伸形變,這使得圖像拼接途中允許一定的視角變化,不會由于誤差和視角變化的干擾過早出現(xiàn)拼接失真,大大增強了算法的魯棒性,更適用于實時應急拼接場景,代價則是在重疊處的接縫變得相對明顯。
圖17 傳統(tǒng)拼接和球形校正拼接的效果對比Fig.17 Effect comparison between traditional splicing and spherical correction splicing
圖18 為分別使用SPHP 算法和本文提出的球形校正拼接算法進行的校正結(jié)果,可以看到SPHP 算法和球形校正拼接算法都優(yōu)化了拼接邊緣的形變問題,SPHP 算法在拼接縫隙處的形變相對較大,在拼接邊緣處正常收斂到了標準的全局像素比例;而球形校正拼接算法的形變則是均勻分散到了整張圖,重疊區(qū)域?qū)R性較好,在拼接遠處呈輕微過度收斂趨勢,總體上都為圖像增加了全局相似性。
圖18 SPHP 拼接和球形校正拼接的效果對比Fig.18 Comparison of SPHP splicing and spherical correction splicing
圖像拼接在采集具有視角差的物體時往往配準效果較差,拼接時具有明顯的拼接縫隙,融合后容易產(chǎn)生鬼影,本文測試了具有視角差的高樓建筑地形的圖像拼接。如圖19 所示,對75 張連續(xù)幀圖像進行拼接,由于無人機在飛行時建筑物表現(xiàn)出了視差,在基礎拼接時很快產(chǎn)生了失真趨勢,右圖使用了本文的球形透射約束,能夠看到降低了視差變換帶來的單應性誤差積累。
圖19 存在視差圖像的球形校正前后效果對比Fig.19 Effect comparison before and after spherical correction of parallax images
在圖20 中對101 張連續(xù)幀圖像進行了拼接,圖20(a)展示了由視差變化引起的嚴重失真的一種情況,圖20(b)采用了本模型的誤差校正算法進行了預處理,提升了拼接的全局一致性,但仍然存在一定的視差導致的拼接誤差。
圖20 存在較大視差圖像的球形校正前后效果對比Fig.20 Effect comparison before and after spherical correction for images with large parallax
通過對同一地區(qū)連續(xù)采集的150 張圖像使用不同算法進行拼接測試,算法的耗時情況如表2 所示,對比了ODM(Original Design Manufacture)、SPHP、和本文的球形校正算法(Ball)拼接耗時,由于不需要網(wǎng)格化計算多個單應性矩陣,球形校正算法在拼接效率方面有著較好的發(fā)揮。
表2 SPHP、ODM、球形校正算法耗時對比Table 2 Comparison of time consumption of SPHP,ODM,and Ball
在計算校正球參數(shù)時,相機位姿信息可以直接從POS 信息中獲取,從而省去位姿估計耗時,當使用POS 信息輔助時,算法耗時情況如表3 所示。與SPHP 算法相比,平均每2 張拼接時間從2 345.25 ms 減少到1 528.6 ms,算法效率提升了34.8%
表3 SPHP、ODM、基于POS 的球形校正算法耗時對比Table 3 Comparison of time consumption of SPHP,ODM,and Ball based on POS
通過球形校正算法,顯著提高了基礎拼接算法對相機角度變化的魯棒性,從而使拼接算法在應急場景中更具穩(wěn)定性;除此之外相對傳統(tǒng)的單應性誤差消除算法,球形校正算法提高了誤差的校正效率,從而使拼接算法在實時性場景中更具實用性。
本文提出的球形校正算法將單應性誤差積累問題轉(zhuǎn)化為全圖的波動形變,將誤差分散到全圖的模式相比于重疊區(qū)形變過濾、非重疊區(qū)進行相似變換的方法具有更好的拼接精度,但是會將單次拼接產(chǎn)生的波形誤差向后傳遞。雖然這種傳遞不會像單應性誤差一樣積累,但是誤差大小取決于全局中角度差最大的2 張圖像,因此設計在平穩(wěn)階段逐漸將球參數(shù)調(diào)節(jié)回平面投影是有必要的,因此對于穩(wěn)定時的波動消除也是我們下一步的研究方向。
除此之外,圖像的POS 信息是非常重要的信息,在本文中已經(jīng)直接使用POS 信息代替相機位姿的計算,實驗表明能夠顯著加速球參數(shù)的計算過程,在此基礎之上,研究如何通過原始相機位姿參數(shù)直接計算校正后圖像的單應性矩陣也是非常有意義的研究方向,能夠進一步對算法進行加速。