王鵬生 ,劉排英 ,賀少帥 ,孫 亮
(1.石家莊鐵路職業(yè)技術(shù)學院,河北 石家莊 050041;2.航天空氣動力技術(shù)研究院,北京 100074)
無人機(Unmanned Aerial Vehicle,UAV)地理視頻(GeoVideo)是一種融合有時間、位置和姿態(tài)等信息的新型視頻數(shù)據(jù),其概念最早由韓國學者Kim等[1]提出,地理視頻的重要特征就是每一視頻幀都包含該幀獲取時刻的傳感器位置、姿態(tài)和時間等信息,與常規(guī)視頻相比,其不僅能夠真實表達地理空間場景,還能實現(xiàn)視頻的空間定位分析,在應急測繪、城市監(jiān)控等領(lǐng)域更能發(fā)揮應用價值[2]。由于視頻幀幅較小、分辨率低(1 080P,1 920 pixel×1 080 pixel),在實際應用中需要進行拼接處理,目前無人機遙感影像拼接技術(shù)較為成熟,基于Structure from Motion(SfM)的國外開源算法OpenMVG[3],OpenDroneMap,VisualSFM[4]以及商業(yè)軟件PhotoScan,Pix4DMapper等,針對小像幅、非量測相機數(shù)據(jù)均有較好的拼接效果;Zhang等[5]開源的大尺度運動恢復系統(tǒng)ENFT-SfM可對整個場景的三維結(jié)構(gòu)和相機參數(shù)進行全局優(yōu)化,快速獲取視頻幀位姿信息及三維稀疏點云,為整體拼接提供精確外方位元素;國產(chǎn)攝影測量軟件如DPGrid,PixelGrid,GodWork等也能達到很好的拼接效果。然而上述算法或軟件均采用全局拼接策略,需要獲取全部影像一次性輸入進行處理,并不能滿足實時性要求較高的應用需求。得益于無線傳輸技術(shù)的發(fā)展,大數(shù)據(jù)量的無人機視頻實時回傳已不再是難題,這就為無人機視頻數(shù)據(jù)的實時拼接提供了可能,不少學者對無人機遙感影像的實時拼接進行了研究,并取得了一定的成果。文獻[6]提出了一種近實時的視頻影像拼接方法,用改進的Oriented FAST and Rotated BRIEF(ORB)算法完成了視頻影像特征提取與匹配,但并未實現(xiàn)多航帶的拼接;文獻[7]提出了一種無需地面控制點的遙感圖像實時幾何校正方法,但文中并未給出采用SIFT特征匹配算法的耗時說明,其實時性有待驗證;文獻[8]首先利用方向快速旋轉(zhuǎn)特征描述具有重疊區(qū)域的全局圖像,接著采用基于網(wǎng)格的運動統(tǒng)計方法獲取魯棒性較好的匹配關(guān)系,進而得到變換矩陣而后開展實時拼接,但只是利用計算機仿真實驗驗證了該算法的性能,并未實際應用;文獻[9]采用延時性更低的基于滑動窗口的光束平差方法來優(yōu)化相機的外方位元素,再用優(yōu)化后的外方位元素對視頻幀進行正射糾正處理,最后對正射影像進行拼接融合,該方法雖然提高了拼接的時效性,但拼接效果較為一般。隨著計算機視覺技術(shù)的發(fā)展,同時定位與建圖(Simultaneous Localization and Mapping,SLAM)技術(shù)在實時三維重建與自動駕駛領(lǐng)域被廣泛關(guān)注,與SfM相比,實時性是其最大特點,不少研究者已將SLAM技術(shù)應用于實時全景圖的生成[10],但通過試驗發(fā)現(xiàn),在無人機視頻影像實時拼接過程中很容易出現(xiàn)特征跟蹤失敗導致定位丟失的問題,雖然視覺-慣性導航融合的SLAM方案可以有效解決定位丟失問題,但其系統(tǒng)和算法也更為復雜,在無人機遙感影像實時拼接應用中并不常見。
為了滿足應急測繪、動態(tài)監(jiān)測等領(lǐng)域?qū)o人機視頻數(shù)據(jù)快速處理的需求,提出了一種無人機地理視頻影像實時拼接方法。首先,采用基于時間標識索引的線性擬合方法對實時下傳的地理視頻進行處理,建立每幀視頻影像與地理信息的映射關(guān)系;接著,依據(jù)視頻幀坐標信息實時提取滿足航向重疊度要求的視頻關(guān)鍵幀,并結(jié)合外方位元素及高程信息對關(guān)鍵幀進行正射糾正處理,實現(xiàn)關(guān)鍵幀粗略地理編碼;通過地理編碼后視頻幀坐標在衛(wèi)星或航空正射影像圖上查找相同范圍,采用ORB算法開展特征匹配獲取原始視頻幀與基準影像的空間變換關(guān)系,利用多項式幾何糾正方法實現(xiàn)視頻幀坐標變換,從而實現(xiàn)以衛(wèi)星或航空正射影像圖為基準的視頻幀實時幾何糾正,最后采用加權(quán)平均融合法消除視頻幀拼接縫,形成一整幅影像。
無人機采集的視頻數(shù)據(jù)與遙控遙測數(shù)據(jù)通過通信鏈路系統(tǒng)實時回傳地面,地面接收裝置通過數(shù)據(jù)包幀頭標識符以及幀長度分別提取視頻碼流與遙控遙測數(shù)據(jù),并記錄其時間標識,接著便可對地理視頻進行實時拼接處理,具體流程如圖1所示。
圖1 地理視頻影像實時拼接流程Fig.1 Flow chart of real-time mosaic for geographic video frames
首先在地理視頻數(shù)據(jù)實時解析過程中,將每條定位定姿(Position and Orientation System,POS)數(shù)據(jù)兩兩建立以時間為變量的插值函數(shù),視頻幀依據(jù)時間標識索引對應的插值函數(shù)進行內(nèi)插獲取其對應的POS數(shù)據(jù),完成視頻地理編碼;同時依據(jù)視頻幀POS數(shù)據(jù)實時計算相鄰視頻幀重疊度,進而篩選出滿足重疊度要求的視頻關(guān)鍵幀并借助測區(qū)30 m DEM對關(guān)鍵幀進行正射糾正,獲取關(guān)鍵幀粗略地理坐標;根據(jù)關(guān)鍵幀地理坐標計算基準影像匹配范圍以減少無效特征點提取,接著原始關(guān)鍵幀與基準影像進行ORB均勻特征匹配,并采用RANSAC(Random Sample Consensus)算法剔除錯誤匹配,獲取均勻分布的匹配點,若匹配點足夠多,則對原始關(guān)鍵幀進行幾何糾正,否則與上一關(guān)鍵幀匹配后再進行幾何糾正;最后采用分批實時融合再整體融合的策略,實現(xiàn)整幅視頻關(guān)鍵幀的拼接。
視頻是由一系列連續(xù)的幀圖像組成,常見的視頻傳感器幀率為30,50,60幀/秒等,本文實驗所用視頻幀率為30幀/秒,即一秒視頻有30幀圖像,而慣性導航設備的頻率一般為2~10 Hz,雖然視頻流與POS數(shù)據(jù)同一時刻實時回傳,但由于頻率不同而造成視頻幀很難找到對應的POS數(shù)據(jù)[11]。為了解決上述問題,本文采用基于時間標識索引的線性擬合方法實現(xiàn)視頻幀與POS數(shù)據(jù)一一對應。POS數(shù)據(jù)主要包括時間(以ms為單位)、緯度、經(jīng)度、海拔高、滾轉(zhuǎn)角、俯仰角和航向角,如圖2所示,分別以時間為自變量,緯度、經(jīng)度、海拔高、滾轉(zhuǎn)角、俯仰角和航向角為因變量建立線性擬合方程,由于慣導姿態(tài)角具有取值范圍,在插值過程中需根據(jù)實際范圍進行取值。
圖2 慣導POS數(shù)據(jù)示例Fig.2 Example of inertial navigation POS data
視頻流在解碼過程中每幀影像均有時間標識,依據(jù)該標識索引擬合方程,帶入方程求出視頻幀對應的POS數(shù)據(jù),實現(xiàn)視頻幀與POS數(shù)據(jù)的一一映射。由于只涉及簡單的數(shù)學運算,在地理視頻數(shù)據(jù)實時下傳解析過程即可同步完成視頻地理編碼。
視頻流包含大量的冗余數(shù)據(jù),在拼接過程中并不需要所有的視頻幀都參與,快速挑選出滿足重疊度要求的關(guān)鍵幀是實現(xiàn)實時拼接的關(guān)鍵點之一。無人機航空攝影測量一般要求航向重疊度為70%~85%,旁向重疊度為35%~55%,逐幀計算重疊度的方法雖然可以精確獲取滿足重疊度要求的關(guān)鍵幀,但不適用于實時性要求較高的場景[12]。本文提出了一種基于視頻地理編碼數(shù)據(jù)的關(guān)鍵幀實時提取方法,該方法依據(jù)設計航高、視頻傳感器參數(shù)和視頻幀POS數(shù)據(jù)實時計算視頻幀重疊度,篩選滿足要求的視頻幀作為關(guān)鍵幀。算法如下:
首先將視頻幀經(jīng)緯度坐標轉(zhuǎn)換為高斯投影坐標,假設初始關(guān)鍵幀與待求關(guān)鍵幀之間的地面距離L為:
(1)
再根據(jù)攝影比例尺公式求出地面分辨率GSD:
(2)
視頻幀航向方向地面距離S為:
S=GSD×W,
(3)
則航向重疊度p為:
(4)
式中,X1,Y1為初始關(guān)鍵幀坐標;Xi,Yi為待求關(guān)鍵幀坐標;f為傳感器焦距;H為設計航高;μ為傳感器像元物理尺寸;W為視頻幀航向方向像素個數(shù)。由上述公式可知,初始關(guān)鍵幀與待求關(guān)鍵幀之間的距離L可由預設航向重疊度與視頻幀航向地面距離計算得出,即視頻幀i在滿足L的一定閾值范圍內(nèi)可作為關(guān)鍵幀。
在實際應用中實時計算視頻幀間的地面距離,挑選出距離閾值范圍內(nèi)的視頻幀作為下一關(guān)鍵幀,依次完成所有關(guān)鍵幀的提取。
通過正射糾正處理可以獲取關(guān)鍵幀粗略的地面覆蓋范圍,便于確定與基準影像的匹配區(qū)域,縮短匹配時間。在正射糾正前需將關(guān)鍵幀POS數(shù)據(jù)姿態(tài)信息轉(zhuǎn)換為外方位角元素,轉(zhuǎn)換方法采用文獻[13]提出的公式:
(5)
正射糾正采用間接法數(shù)字微分糾正算法實現(xiàn),地形數(shù)據(jù)來源于全國30 m高程數(shù)據(jù),糾正效果如圖3所示。
(a) 原圖
(b) 正射糾正圖圖3 視頻幀正射糾正效果Fig.3 Effect of video frame orthorectification
1.4.1 ORB特征提取與匹配
圖像特征匹配算法常用的有尺度不變特征轉(zhuǎn)換(Scale-Invariant Feature Transform,SIFT),加速穩(wěn)健特征(Speeded-Up Robust Features,SURF)和ORB等。其中SIFT最為經(jīng)典,它充分考慮了圖像變換過程中的尺度、光照和旋轉(zhuǎn)等影響,但其計算量也極大,而ORB特征匹配改進了FAST檢測子不具方向性的問題,并采用計算速度極快的二進制描述子BRIEF,適當降低了精度和魯棒性以提升計算速度,是性能與質(zhì)量之間較好的折中。由于考慮了旋轉(zhuǎn)和縮放,ORB在平移、縮放和旋轉(zhuǎn)的場景下仍有很好的表現(xiàn)[14],因此針對視頻幀實時拼接需求,ORB特征匹配算法是目前最好的選擇,文獻[15]在同一運算環(huán)境下提取同一幅圖像1 000個特征點,ORB耗時15.3 ms,SURF耗時217.3 ms,SIFT則耗時5 228.7 ms。雖然ORB特征匹配算法能滿足實時拼接需求,但其提取的特征點存在分布不均勻、重疊較多等問題,這將會直接影響視頻幀糾正精度。為了改善上述問題,采用基于四叉樹的FAST角點均勻提取策略[16]優(yōu)化提取效果,其思想如下:
① 首先對原始圖像進行邊緣補齊,使其能夠滿足整數(shù)劃分正方形格網(wǎng);
② 將補齊后的圖像進行30 pixel×30 pixel的網(wǎng)格劃分;
③ 每個網(wǎng)格中利用原始閾值和最小閾值提取滿足閾值的FAST特征點,如果采用最小閾值也提取不到角點,則放棄該網(wǎng)格以避免提取到質(zhì)量特別差的角點,示例圖如圖4所示。
圖4 提取圖像每個格網(wǎng)內(nèi)的FAST特征點Fig.4 FAST feature points extracted within each grid of the image
④ 在網(wǎng)格中再使用四叉樹均勻選取FAST角點,即每個網(wǎng)格先均勻分裂為4個節(jié)點,根據(jù)角點數(shù)目,再將每個節(jié)點繼續(xù)4分裂,直到每個小節(jié)點中只有一個質(zhì)量最好的角點,示例圖如圖5所示。
圖5 FAST特征點在四叉樹節(jié)點中的分布Fig.5 Distribution of FAST feature points in quadtree nodes
1.4.2 基于RANSAC的誤匹配點剔除
在特征匹配過程中往往會存在誤匹配信息,為了消除誤匹配點,通常采用隨機采樣一致性RANSAC算法[17],其核心思想是從一組包含錯點的觀測數(shù)據(jù)集中,通過不斷迭代方式尋找最優(yōu)數(shù)學模型的參數(shù)。航空影像可以近似看作平面場景,因此可以使用單應矩陣H描述2幅影像之間的變換關(guān)系,那么2幅影像同名特征點(x,y)與(x′,y′)的對應關(guān)系為:
(6)
要想求出單應矩陣H的8個元素,至少需要8個方程,即4對匹配點,RANSAC的計算過程為:首先從匹配點集合P中隨機選取4對匹配點計算單應矩陣H,再計算P中剩余點與H矩陣運算后的投影差,超出閾值的定義為局外點,不超出的定義為局內(nèi)點,記錄該矩陣對應的所有局內(nèi)點數(shù)目m,反復迭代選擇m最大的那個單應矩陣作為最優(yōu)模型,并剔除對應的局外點。在編程實現(xiàn)時為了減少運算量并不是所有集合內(nèi)的點全部迭代,而是只需保證至少有一次選取的4個匹配點都是局內(nèi)點的概率足夠高即可,本文將此概率設置為0.95。為了降低誤匹配的可能性,視頻幀在與基準影像匹配前,需要根據(jù)傳感器畸變參數(shù)對視頻幀進行畸變差改正處理。
在獲取較好的匹配結(jié)果后,即可根據(jù)同名匹配點建立視頻幀與基準影像之間的空間變換關(guān)系,本文采用幾何多項式模型描述這種變換關(guān)系,多項式次數(shù)T與同名點數(shù)量n的關(guān)系為n=(T+1)×(T+2)/2,因此采用二次多項式模型至少需要6對匹配點,若關(guān)鍵幀與基準影像匹配點小于6個,則該幀關(guān)鍵幀會與上一關(guān)鍵幀進行匹配。幾何糾正后的關(guān)鍵幀將帶有精確的地理坐標,可用于后續(xù)的拼接處理。
1.4.3 異源光學遙感影像匹配
本文所用基準影像為衛(wèi)星或航空正射影像圖,雖然都是光學遙感影像,但異源遙感影像的匹配相對于同源遙感影像來說更加復雜,主要是二者成像機理不同、時相或分辨率存在較大差異,導致自動匹配難以實現(xiàn)[18]。本文并未對異源光學遙感影像匹配算法做深入研究,而是通過相關(guān)實驗總結(jié)視頻幀實時拼接所用基準影像規(guī)律,進而對本文算法的實際應用提供參考借鑒。通過視頻關(guān)鍵幀與不同分辨率的航空、衛(wèi)星正射影像圖匹配,分析異源遙感影像匹配與分辨率之間的關(guān)系,如表1所示,其中實驗所用無人機視頻為2018年3月獲取,分辨率為0.5 m,衛(wèi)星影像為2017年4月天地圖數(shù)據(jù),分辨率為0.59 m,航空影像為2019年11月獲取的0.01 m分辨率的正射影像。
從表1可以看出,視頻幀與航空正射影像圖的匹配效果整體優(yōu)于衛(wèi)星正射影像圖,主要原因是視頻傳感器與相機成像機理較為接近。無論是衛(wèi)星或航空正射影像,其分辨率與視頻幀分辨率相差不多時,匹配效果較好,衛(wèi)星影像在分辨率倍數(shù)相差20倍時效果較差,航空影像在分辨率倍數(shù)相差20倍以上時效果較差,因此本文推薦基準影像采用時相接近且分辨率相差10倍以內(nèi)的航空正射影像或分辨率相差4倍以內(nèi)的衛(wèi)星正射影像圖。
表1 無人機視頻影像與衛(wèi)星、航空正射影像匹配實驗結(jié)果Tab.1 Matching experiment results of UAV video frames with satellite and aerial orthophotos
在完成視頻關(guān)鍵幀的幾何多項式糾正后,即可基于地理坐標對關(guān)鍵幀進行融合處理,生成一整幅影像。常用的圖像融合方法包括加權(quán)平均法、漸入漸出法、小波變換法和金字塔分解法等,由于視頻幀覆蓋范圍較小且色彩均勻,為了滿足實時融合需求,采用運算速度較快的加權(quán)平均融合方法對關(guān)鍵幀進行融合:
(7)
式中,f(x,y)為融合后關(guān)鍵幀像素值;f1(x,y),f2(x,y)分別為左右2幀待融合關(guān)鍵幀像素值;w1,w2為加權(quán)值,w1∈(0,1),w2∈(0,1),且w1+w2=1,本文加權(quán)值均取0.5。實驗效果如圖6所示。從圖6中可以看出,加權(quán)平均融合方法可以很好地消除拼接縫,實現(xiàn)視頻幀間的平滑過度。
(a) 直接疊加效果
(b) 融合效果圖6 視頻幀融合效果Fig.6 Effect of video frames fusion
關(guān)鍵幀實時融合的常規(guī)思路是每處理一幀就與前面所有已經(jīng)融合后的影像融合,但隨著影像的增多,這種方法運算速度會越來越慢,為了滿足實時融合的需求,采取分批融合策略,每次只融合10幀,接著以新的一幀作為起始幀繼續(xù)融合,分批融合后的影像在新的線程中再次融合,2個線程同時進行保證關(guān)鍵幀融合的時效性。
本文采用2019年11月在四川紅原縣附近獲取的無人機視頻數(shù)據(jù)作為試驗數(shù)據(jù),視頻數(shù)據(jù)由彩虹4型無人機搭載光電吊艙獲取,分辨率為1 920 pixel×1 080 pixel,地面分辨率為0.62 m,分為3條航帶,面積約為12 km2;衛(wèi)星正射影像圖采用天地圖Level_18級影像,數(shù)據(jù)獲取時間為2016年,分辨率為0.59 m;航空正射影像圖為2018年10月獲取,分辨率為0.5 m。
試驗環(huán)境是Windows10 64位系統(tǒng),硬件配置為Intel Xeon CPU E5-1643 v4@3.40 GHz,內(nèi)存為32 GB。
在試驗過程中,將上述算法與三維地理信息場景進行集成,試驗結(jié)果如圖7所示。圖7中,飛機為彩虹4型無人機模型,大場景底圖為天地圖影像,矩形底圖為航空正射影像圖,條帶狀為無人機視頻實時處理結(jié)果。
圖7 無人機地理視頻影像實時拼接界面Fig.7 Real-time mosaic interface of UAV geographic video frames
(1) 基于衛(wèi)星正射影像圖的視頻幀拼接
采用上述方法實現(xiàn)的基于衛(wèi)星正射影像圖的視頻幀拼接效果如圖8所示。從圖8中可以看出,整體拼接效果較好,但存在多處局部細節(jié)拼接錯位的問題(圖中紅色圓圈標識處),主要是因為視頻幀與衛(wèi)星影像時相相差較多,造成匹配的特征點效果較差。
(a) 整體拼接效果
(b) 細節(jié)1
(c) 細節(jié)2
(d) 細節(jié)3圖8 基于衛(wèi)星正射影像圖的視頻幀拼接效果Fig.8 Effect of video frame mosaic based on satellite orthophoto
(2) 基于航空正射影像圖的視頻幀拼接
基于航空正射影像圖的視頻幀拼接效果如圖9所示。
從圖9中可以看出,整體拼接效果較好,且局部細節(jié)拼接效果也較好,除了圖中紅色圓圈標識外,其他部分很少有錯位問題。拼接效果明顯優(yōu)于基于衛(wèi)星正射影像圖的拼接結(jié)果,主要原因是航空正射影像成像與視頻成像機制較為接近且試驗所用數(shù)據(jù)時相較為接近,匹配效果較好,這也與1.4.3節(jié)實驗結(jié)果一致。
(a) 整體拼接效果
(b) 細節(jié)1
(c) 細節(jié)2
(d) 細節(jié)3圖9 基于航空正射影像圖的視頻幀拼接效果Fig.9 Effect of video frame mosaic based on aerial orthophoto
通過統(tǒng)計拼接成果中關(guān)鍵目標的拼接完整度,可更加客觀地分析2個實時拼接方法的優(yōu)劣,試驗區(qū)域內(nèi)具有明顯特征的地物包括房屋、道路、河流和橋梁等,由于單幀影像的地面覆蓋范圍為1 190.4 m×669.6 m,房屋、橋梁等小地物一般都在一幀影像上,因此本文選用道路和河流作為關(guān)鍵目標統(tǒng)計,以航空正射影像底圖中的道路和河流作為參考,分別統(tǒng)計出現(xiàn)錯位地物的視頻關(guān)鍵幀幀數(shù),其中基于衛(wèi)星正射影像圖的視頻幀拼接方法的錯位視頻關(guān)鍵幀43幀,基于航空正射影像圖的視頻幀拼接方法的錯位視頻關(guān)鍵幀9幀,本次試驗共處理162幀視頻關(guān)鍵幀,因此基于衛(wèi)星正射影像圖的視頻幀拼接方法準確率為73.5%,基于航空正射影像圖的視頻幀拼接方法準確率為94.4%。
在試驗過程中,統(tǒng)計各個處理步驟耗時情況,如表2所示。從表2可以看出,2次試驗從視頻關(guān)鍵幀提取到關(guān)鍵幀兩兩融合平均總耗時1.315秒/幀,本文彩虹4型無人機巡航速度為120 km/h,依據(jù)1.2節(jié)公式按75%重疊度估算相鄰關(guān)鍵幀時間間隔為5.02 s,即視頻幀拼接的處理時間小于關(guān)鍵幀的提取時間,因此在實時處理過程中不會造成阻塞,保證了拼接的實時性。
表2 實時拼接各處理步驟耗時統(tǒng)計表Tab.2 Time consumption of each processing step of real-time mosaic 單位:秒/幀
本文提出了一種無人機地理視頻影像實時拼接的整體流程和方法,通過開展基于衛(wèi)星和航空正射影像圖的視頻幀實時拼接試驗,驗證了該方法的可行性。首先,提出了一種基于視頻地理編碼數(shù)據(jù)的關(guān)鍵幀實時提取方法,該方法可快速實時提取滿足重疊度要求的視頻關(guān)鍵幀,減少拼接算法冗余度。采用ORB特征提取與匹配算法,保證了該方法的實時性,同時基于四叉樹的FAST角點均勻提取策略,從很大程度上解決了特征點分布不均勻、重疊較多的問題,提高了多項式幾何糾正的精度。通過異源光學遙感影像匹配實驗,分析了視頻幀實時拼接所用基準影像的分辨率、時相要求,為本文算法的實際應用提供借鑒。最后,在實時拼接試驗過程中,通過統(tǒng)計各個處理步驟耗時情況,進一步驗證了本文方法的時效性。隨著高分辨率衛(wèi)星遙感技術(shù)的發(fā)展,高清地圖數(shù)據(jù)將快速更新,這也為本文方法在應急測繪、動態(tài)監(jiān)測等領(lǐng)域的應用提供支撐。目前本文方法已在國家應急測繪保障能力建設項目中應用,在紅原飛行測試中取得了較好效果。