吳 晗,金 磊
(北京航空航天大學 宇航學院·北京·102206)
光學遙感衛(wèi)星的高分辨率和大視場是一對相互矛盾的指標,美國WorldView系列[1]、法國Pleiades系列[2]、印度Cartosat系列[3]、韓國Kompsat系列[4],以及我國最新的高分系列衛(wèi)星[5],最高分辨率均能夠達到1m,并且光學遙感衛(wèi)星的空間分辨率也在向分米級、厘米級發(fā)展。但是,與此同時,光學有效載荷的視場范圍也隨之縮減。為了解決這一問題,工程領域已有多種解決方案,其中基于多相機、多視角的成像技術具有易于實現(xiàn)、有實時性、能夠有效增加覆蓋能力、可將高分辨率與大視場進行有效結合等優(yōu)點,已在北京一號(BJ-1)衛(wèi)星、資源一號02C(ZY-1 02C) 衛(wèi)星、高分一號(GF-1)衛(wèi)星、高分二號(GF-2)衛(wèi)星以及法國SPOT-7衛(wèi)星等衛(wèi)星上得到了成功應用[6]。
自1996年Richard Szeliski總結并提出了基于圖像間旋轉、平移等多種變換技術的全景圖像拼接經(jīng)典模型[7]后,Burt、Brown和Lowe等也先后對該模型進行了改進[8-10],并建立了遙感圖像拼接的基本框架。圖像配準是該框架中的關鍵步驟,包括角點檢測與匹配兩個部分。常用的角點檢測算法有Harris[11]、尺度不變特征變換(Scale Invariant Feature Transform,SIFT)[12]、加速分割檢測特征(Features from Accelerated Segment Test,F(xiàn)AST)[13]、加速魯棒特征(Speeded Up Robust Features,SURF)[14]等。其中,SURF算法在效率和魯棒性方面具備更多的優(yōu)勢,在圖像拼接過程中得到了廣泛應用。不同圖像間的角點的匹配方法有序貫相似檢測算法(Sequential Similarity Detection Algorthms,SSDA)[15-16]、層次性匹配方法[17]、KD樹(K-Dimension Tree)算法[18]等。由于KD樹算法具有較高的效率,其在特征點初始匹配階段被應用得較多。在完成初始匹配后,利用隨機抽樣一致性(Random Sample Consensus,RANSAC)算法對匹配點對進行提純、計算配準模型的單應矩陣是一種經(jīng)典算法[19]。文獻[20]根據(jù)配準得到的單應矩陣給出了一種相機參數(shù)估計方法,該方法有效降低了圖像拼接的累積誤差。
目前,遙感圖像拼接算法的框架已經(jīng)基本完善,如何提高拼接過程中的實時性以及對不同場景的適應性、魯棒性等[21-22]是目前的研究熱點。針對拼接過程實時性的研究主要包括兩個方面:一是硬件加速的方法[23],該方法能夠極大程度地提高拼接效率,但過于依賴硬件,對成本的要求較高;二是改進拼接算法,該算法包括了對輸入圖像的預處理[24]和改進配準算法[25]等,能夠提高配準的質量和效率,且不受成本限制,具有更高的研究和應用價值。但是,由于不同場景中的遙感圖像所含信息的豐富程度不同,不同的算法對不同場景的圖像具有不同的適應性和魯棒性,進而可影響拼接的質量和成功率[26]。針對上述問題,本文對安裝有多視角、高分辨率光學載荷的遙感衛(wèi)星,提出了一種基于相機參數(shù)保持的快速拼接算法(改進算法)。相對于傳統(tǒng)的拼接算法,該算法在配準前可將待拼接圖像進行降分辨率處理。本文基于成像原理建立了相機內參矩陣的恢復模型,能夠有效提高圖像拼接的質量和效率,并研究了該算法對建筑、森林、湖泊、農田四種常見場景的適應性和魯棒性。
遙感圖像傳統(tǒng)拼接算法的流程如圖1所示:首先,獲取由多個光學成像系統(tǒng)拍攝的待拼接大幅面序列圖像,對圖像進行預處理,包括降噪、亮度校正和除霧;然后,對大幅面圖像進行特征點檢測與配準,獲取相機參數(shù),對遙感圖像進行全局校正;最后,將遙感圖像投影變換至對應模型,生成拼接區(qū)域,尋找待拼接圖像的最佳縫合線,對縫合線進行膨脹運算,在縫合線兩側進行多分辨率融合。
圖1 圖像拼接流程
考慮到在衛(wèi)星成像過程中,不同位置的光學載荷成像的亮度差異、圖像噪聲以及因云霧影響而導致的圖像模糊,在獲取遙感圖像后,需首先對圖像進行預處理,減少不必要的角點信息,提高圖像質量及配準精度。
對不同位置光學載荷成像的亮度差異,可通過選擇基準圖像、利用RGB三通道直方圖原理進行校正;對拍攝過程中遙感圖像存在的噪聲,可利用處理速度更快的高斯濾波算法對其進行去除;對因云、霧、氣流引起的圖像細節(jié)模糊,可采用基于暗通道的去霧處理方法[27],其除霧模型為
I(z)=J(z)t(z)+A(1-t(z))
(1)
式中,I(z)表示待除霧的圖像;J(z)表示無霧的圖像;A表示全球大氣光成分;t(z)表示折射率。
通過求取圖像暗通道,在暗通道中計算得到全球大氣光成分A、暗通道折射率t,根據(jù)式(1)即可計算除霧后的恢復圖像
(2)
其中,t0為t(z)的下界,在本文中的取值為0.1。
(1)圖像特征配準
對多幅遙感圖像進行配準是進行圖像校正、拼接和融合的基礎。本文采用SURF算法對圖像的角點信息進行了檢測和描述,該算法對圖像的尺度、光照、仿射變化具有一定的適應性和穩(wěn)健性,且無論是從計算速度或魯棒性角度考量,該算法均優(yōu)于SIFT算法,其具體算法流程可參見文獻[14]。
在得到遙感圖像的特征點后,可采用基于KD樹的最近鄰搜索算法對圖像特征點進行粗匹配,并運用RANSAC算法對誤匹配點進行篩選。該算法通過反復迭代,可求解出一個符合最多樣本數(shù)目的模型參數(shù)值,并確定單應矩陣H,最終將樣本點分為內點和外點。內點為符合模型參數(shù)的樣本點,反之為外點。
(3)
其中,h11、h12、h21、h22表示圖像尺度和旋轉量變換;h13表示水平方向位移,h23表示垂直方向位移;h31、h32表示水平和垂直方向的變形量。
(2)基于相機參數(shù)的全局校正
根據(jù)成像的幾何基礎,光學成像系統(tǒng)的參數(shù)包括內參矩陣M1和外參矩陣M2,如式(4)所示。設相機只做了旋轉處理(或者認為物體離相機的距離很遠),則可通過RANSAC算法確定的單應矩陣H得到光學成像系統(tǒng)的內參矩陣,外參矩陣可由內參矩陣與單應矩陣求得
(4)
其中,u0、v0表示像平面坐標系中的坐標原點在圖像坐標系中的位置;αx=f/dx,αy=f/dy,f表示成像平面到光心的距離,即焦距,dx、dy表示每個像素占據(jù)的物理長度,單位為mm;R、q分別表示世界坐標系到相機坐標系的旋轉矩陣、平移向量。
由式(4)可得相機的估計參數(shù),利用相機的估計參數(shù)可對待拼接的遙感圖像進行校正。但是,估計參數(shù)與實際參數(shù)之間的誤差會導致兩變換圖像間的重映射誤差(如圖2所示)。若待拼接圖像的數(shù)量較多,拼接結果會出現(xiàn)明顯變形,故可利用光束平差法(Bundle Adjustment)獲取更精確的相機參數(shù)。
圖2 圖像重映射
定義Hpik點與匹配點pjk點間的距離誤差為
dik=pjk-Hpik
(5)
對所有匹配特征點對的距離誤差求和,可以得到待優(yōu)化的目標方程
(6)
其中,n表示待拼接圖像的數(shù)量;Γ(i)表示與圖像i有匹配關系的圖像的集合;F(i,j)表示圖像i與圖像j之間的匹配特征點的集合;h(·)為Huber魯棒誤差函數(shù)[10]。運用Levenberg-Marquardt算法迭代求解,優(yōu)化單應矩陣H,使得目標方程(6)達到最小,即可獲得精確的相機參數(shù)。
由于光學載荷的位置不同,拍攝出的圖像視角也不相同,因此在進行圖像的拼接與融合之前,需要將待拼接圖像投影生成拼接區(qū)域。常用的投影變換模型包括平面投影、球面投影、柱面投影和立方體投影[28],為保證視覺效果,本文選用了平面投影。
為實現(xiàn)圖像重疊區(qū)域的平滑過渡,避免出現(xiàn)拼接縫及重影,本文選用了基于最佳縫合線的多分辨率融合算法。最佳縫合線是指在兩幅圖像經(jīng)過配準與變換后,在重疊區(qū)域內進行搜索并找到的一條兩幅圖像像素差異最小的線。本文選用動態(tài)規(guī)范法尋找最佳縫合線,其基本原理如下:
定義像素點(x,y)處的最佳縫合線計算準則
(7)
其中,Ecolor(x,y)為圖像的顏色差異強度值;Egeometry(x,y)為圖像的結構差異強度值[29]。
根據(jù)準則(7),利用動態(tài)規(guī)劃思想即可通過追溯而得到最佳縫合線:將重疊區(qū)域第1行的每個像素點作為起始點,計算每個點的準則值初始化為強度值;對每行的點向下一行相鄰的3個像素點進行擴展,取強度值最小的點作為下一行的擴展點,并將該像素點更新為縫合線的當前點,直至最后一行;選擇強度值之和最小的一組縫合線作為最佳縫合線。
針對拼接縫兩側的圖像融合,本文采用了由Burt提出的多分辨率融合方法[8]。該方法對圖像進行了高斯金字塔分解,然后建立了拉普拉斯金字塔,并基于拉普拉斯金字塔進行了圖像融合,最后對合成圖像進行了重構。該算法是一種低分辨率、多尺度的方法,能夠獲得更好的拼接效果,同時消除拼接縫。
圖3 改進算法流程
圖4 相機成像原理
f=l×f′
(8)
表1 特征點的檢測與匹配過程
(a) 原圖像
(9)
根據(jù)表1可知,對于建筑、森林、農田三種場景,特征點檢測和匹配的數(shù)量能夠降低約60%,同時檢測與匹配的效率能夠提高約60%;對于湖泊類場景,特征點檢測和匹配的數(shù)量能夠降低95%以上,而檢測與匹配的效率能夠提高95%以上??梢钥闯觯疚奶岢龅母倪M算法的本質是通過降低圖像的分辨率,減少特征點的檢測和匹配數(shù)量,提高配準和拼接的效率,這與理論分析的過程一致。
實驗采用的測試圖像為Inria Aerial Image Labeling Dataset遙感圖像數(shù)據(jù)庫。首先,將5000像素×5000像素的圖像裁剪為2000像素×2000像素的圖像,確保相鄰圖像間具有25%的重合度;然后,再將裁剪后的圖像進行透視變換,以模擬相機間不同的位置。
遙感圖像拼接系統(tǒng)由C++編程語言實現(xiàn)。其中,圖像的拼接處理調用了OpenCV開源代碼庫,實驗的硬件配置為Inter(R) Core(TM) i5-5200CPU@2.2GHz,RAM為4.00Gbit的PC,采用的集成開發(fā)環(huán)境是Windows10(64位)操作系統(tǒng)下的Microsoft Visual Studio2012。
在完成遙感圖像的拼接后,對拼接圖像的質量進行評價是重要的一環(huán)。目前,常見的評價方法可分為兩種:一類是主觀評價,即通過人眼的視覺效果對拼接圖像進行定性評價,該方法受主觀因素影響較大;另一類是客觀評價,即通過建立拼接圖像與待拼接圖像或拼接圖像與參考圖像間的數(shù)學關系,進行定量計算,對計算結果進行判斷。本文選用交叉熵作為客觀評價標準。交叉熵能夠反映圖像信息的數(shù)量,是評價圖像質量的重要指標。交叉熵越小,表明兩幅圖像拼接效果越好。圖像P與圖像Q之間的交叉熵可定義為
(10)
式中,P={p(0),p(1),…,p(i),…,p(L-1)}、Q={q(0),q(1),…,q(i),…,q(L-1)}分別表示兩幅待拼接圖像的像素值分布;L表示圖像的灰度級。
若拼接系統(tǒng)存在參考圖像,則將式(10)的P、Q分別用拼接圖像與參考圖像進行替換即可。但是,大多數(shù)拼接系統(tǒng)均不存在參考圖像。設F表示拼接完成的圖像,定義拼接前的圖像P、Q與拼接圖像F的交叉熵CEN(P∶F)和CEN(Q∶F),然后通過求取均值,可得到總體交叉熵,用于進行圖像的客觀評價
(11)
(1)改進算法的效率與參數(shù)恢復精度分析
本文設計的算法通過改進配準過程提高了拼接的效率。為進一步說明本文算法的優(yōu)勢,有必要對降分辨率前后相機參數(shù)的恢復精度以及配準時間進行研究。對原圖像進行降2下采樣,即通過下采樣將分辨率為2000像素×2000像素的圖像降至1000像素×1000像素,然后統(tǒng)計配準時間,求解降分辨率前后相機參數(shù)間的誤差。在4個典型場景的圖像庫中,各選取一組(上下左右共四張)待拼接圖像進行測試,得到的降分辨率前后的配準時間對比如表2所示,相機參數(shù)誤差如表3所示。
表2 降分辨率圖像與原圖像的配準時間對比
表3 降分辨率前后的相機參數(shù)誤差
由表2可知,該算法能夠將遙感圖像配準時間縮短至不到之前的50%,特別地,湖泊類遙感圖像的配準時間縮短至此前的30%,這表明該算法的加速效果顯著;由表3可知,改進算法獲得的相機內參能夠恢復至與原圖像坐標一致,而焦距f的恢復誤差在8%以內。因此,該算法在保證拼接速度的同時,能夠恢復相機參數(shù),保證拼接質量。
(2)四類典型場景拼接質量分析效果評價
針對建筑、森林、農田、湖泊四種不同場景的遙感圖像,在每種場景中進行5組實驗。以原拼接算法作為對比,對本文提出的改進算法進行驗證,選用主觀評價與客觀評價相結合的方式對遙感圖像拼接結果進行綜合評價。
事實上,兩種算法對四種場景中的遙感圖像均可實現(xiàn)高質量的拼接。除在農田、建筑兩類場景中,個別拼接結果的細節(jié)方面存在細微差別(如圖6所示),其他場景和拼接結果的差異幾乎很難通過肉眼觀察到。圖6(a)展示了改進算法在圖像拼接細節(jié)處的優(yōu)勢,圖6(b)展示了傳統(tǒng)算法在圖像拼接細節(jié)處的優(yōu)勢。因此,僅通過主觀評價無法確定兩類算法的優(yōu)劣,還需要借助客觀的評價指標。
(a)第一組
根據(jù)式(10)~式(11)計算拼接圖像與待拼接圖像的交叉熵、拼接圖像與參考圖像的交叉熵。在完成統(tǒng)計后,對各場景得到的實驗數(shù)據(jù)求取均值。表4給出了四種場景中圖像拼接效果的客觀評價指標。由表4可知,相對于傳統(tǒng)算法,本文設計的改進算法能夠將拼接圖像的拼接質量提升5%~35%。其中,算法對農田場景的圖像質量的提升效果最為明顯,建筑和湖泊場景次之,對森林場景的圖像質量提升效果最小。綜合主觀評價,改進算法能夠最大程度地保留原圖像的信息。
表4 不同場景拼接效果客觀評價
(3)魯棒性測試
以上實驗過程均采用了理想情況下的遙感圖像,沒有考慮在成像過程中由常見的噪聲、亮度差異、相機運動或抖動而引起的模糊等問題。在遙感圖像的實際拼接系統(tǒng)中,這些問題會影響角點配準的準確性,從而導致圖像質量降低甚至拼接失敗。因此,有必要對改進算法的有效性和魯棒性進行測試。本文采用在1.1節(jié)中介紹的方法對不同環(huán)境下的遙感圖像進行了預處理,圖7展示了不同環(huán)境下遙感圖像的拼接結果。
(a)亮度差異明顯
根據(jù)圖7可知,無論對于存在亮度差異、模糊,還是存在噪聲的遙感圖像,該系統(tǒng)均能夠較好地消除圖像噪聲、亮度跳變、拼接縫和重影等問題,這說明該系統(tǒng)具有可行性,對于由環(huán)境或相機參數(shù)而引發(fā)的圖像質量降低具有魯棒性。
本文針對安裝有多視角光學載荷的衛(wèi)星,研究了多場景高分辨率遙感圖像的快速拼接技術,并提出了一種基于相機參數(shù)保持的快速拼接算法。該方法通過檢測降采樣圖像的角點信息,利用降采樣圖像的配準信息恢復了原相機的參數(shù),最后進行了圖像的變換與融合,得到了高分辨率、大幅面的遙感圖像。對建筑、森林、農田、湖泊四種場景進行了拼接實驗。實驗結果表明,該算法對遙感圖像的亮度差異、模糊程度變化及圖像噪聲具有較好的魯棒性。相對于傳統(tǒng)算法,該算法能夠恢復原相機的參數(shù),將配準時間縮短至不到此前的50%,且能夠將拼接圖像的質量提升5%~35%。