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