徐振堯,劉保成,程家勝
(中國天繪衛(wèi)星中心,北京 102102)
天繪一號(hào)衛(wèi)星是我國第一顆傳輸性立體測(cè)繪衛(wèi)星,其搭載的全色相機(jī)有8片TDICCD。在后期的處理中,需要將拍攝的8個(gè)條帶影像進(jìn)行拼接,可以獲得大寬幅的影像。研究可靠、高效的影像拼接算法,對(duì)于提高天繪影像的質(zhì)量和推動(dòng)天繪影像的應(yīng)用,具有重要意義。
本文在原始影像進(jìn)行幾何粗校正的基礎(chǔ)上,重點(diǎn)基于SIFT算法[1]進(jìn)行了大量的拼接實(shí)驗(yàn),發(fā)現(xiàn)在拼接區(qū)域,云層的運(yùn)動(dòng)會(huì)造成影像拼接錯(cuò)位。在簡單介紹了SIFT算法的基礎(chǔ)上,重點(diǎn)分析了云動(dòng)對(duì)拼接的影響,提出了有效消除云動(dòng)影響的方法。結(jié)果表明,該方法可以有效消除云動(dòng)對(duì)影像拼接精度的影響,達(dá)到預(yù)期目的。
SIFT特征匹配方法[2],是由Lowe在總結(jié)現(xiàn)有的基于變量技術(shù)的特征提取方法基礎(chǔ)上提出的一種基于尺度空間局部特征描述算子,即尺度不變特征算子[3]。
利用SIFT特征算子提取影像特征,主要分為4步:
①尺度空間極值檢測(cè)。利用高斯核對(duì)圖像進(jìn)行尺度變換,獲得圖像多尺度空間表示序列,高斯核定義如下:
(1)
對(duì)一幅影像I(x,y)其尺度空間可表示為L(x,y,σ)=G(x,y,σ)×I(x,y),將圖像與不同尺度高斯核進(jìn)行卷積運(yùn)算建立高斯金字塔,然后在DOG(Difference of Gaussian)金字塔里面進(jìn)行極值檢測(cè),粗略確定特征點(diǎn)的位置和所在的尺度,通過擬合三維二次函數(shù)精確標(biāo)定特征點(diǎn)的位置和尺度,同時(shí)剔除低對(duì)比度的特征點(diǎn)和不穩(wěn)定的邊緣響應(yīng)點(diǎn),增強(qiáng)匹配的穩(wěn)定性,提高了抗干擾能力[4]。
②計(jì)算SIFT特征點(diǎn)的主方向。利用特征點(diǎn)鄰域像素的梯度方向分布特征為每個(gè)特征點(diǎn)指定主方向,從而使得SIFT特征具有旋轉(zhuǎn)不變性[5-6]。
(2)
(3)
其中,m(x,y)和θ(x,y)分別為像點(diǎn)(x,y)的梯度值和方向。
③計(jì)算SIFT特征點(diǎn)的主方向。以特征點(diǎn)為中心選取8×8像素的鄰域窗口,計(jì)算窗口內(nèi)每個(gè)像素8個(gè)方向的梯度值和方向,形成特征描述。
④利用KD樹搜索算法在輸入兩幅圖像中搜索匹配的特征點(diǎn)對(duì)。
由于影像中的噪聲等因素干擾,通過SIFT所提取的特征點(diǎn)對(duì)并不都正確。對(duì)于錯(cuò)誤的特征點(diǎn)在求解幾何變換參數(shù)時(shí)影響很大,所以需要采取一定的措施剔除那些無效的干擾點(diǎn)對(duì),即所謂的外點(diǎn)。本文采用RANSAC[4]方法來剔除無效點(diǎn),主要流程如下:
①重復(fù)N次隨機(jī)采樣,每個(gè)樣本包含4對(duì)匹配點(diǎn),選點(diǎn)條件是:任意3點(diǎn)不能共線,否則就重新選取,為保證采樣的4對(duì)匹配點(diǎn)都是內(nèi)點(diǎn)的概率足夠高,需要確定采樣次數(shù)N,通常設(shè)定匹配點(diǎn)是內(nèi)點(diǎn)的概率P大于95%,則采樣次數(shù)N需要滿足:
N=log(1-p)/log(1-p4)
(4)
②根據(jù)選取的4對(duì)匹配點(diǎn)計(jì)算單應(yīng)性矩陣M。
③計(jì)算匹配特征點(diǎn)的歐氏距離,如果小于D,則認(rèn)為是內(nèi)點(diǎn);否則為外點(diǎn)[7]。距離公式為:
D=D(Xa,MXb)2
(5)
其中,Xa,Xb為一對(duì)候選匹配的特征點(diǎn)。
④通過上述過程剔除外點(diǎn)后,選取內(nèi)點(diǎn)集中的所后匹配點(diǎn),用最小二乘法重新計(jì)算圖像間單應(yīng)性矩陣。
天繪一號(hào)衛(wèi)星2m分辨率全色相機(jī)焦面共8片TDICCD,采用視場(chǎng)中心線兩側(cè)分上下兩行交錯(cuò)排列,相鄰兩TDICCD搭接96個(gè)像元,兩行CCD間距為2114個(gè)像元。其幾何關(guān)系如圖1所示。
圖1 8片TDICCD安裝示意圖
在衛(wèi)星進(jìn)行攝影期間,進(jìn)行了偏流角控制,保證了相鄰兩片TDICCD間的搭接像元數(shù)量,便于影像拼接處理。
云的移動(dòng)速度取決云所在高度的氣流速度,而海拔高度、地理位置、季節(jié)、時(shí)間等因素都會(huì)對(duì)氣流速度產(chǎn)生影響[8]。無風(fēng)時(shí)云速為零,但是云總在高空,氣流速度一般不可能為零。高積云在高空3~5km,云速20m/s~30m/s左右,即使雨天云層高度低,大約幾百米,云速超過10m/s。所以云速一般10m/s~30m/s左右,最大云速可以達(dá)到49m/s。
上下兩排CCD間距為2114個(gè)像元,像元地面分辨率為1.999m,相機(jī)的行周期為0.2652ms~0.3051ms。通過計(jì)算得到,當(dāng)云速最大時(shí),同一塊云在上下兩排CCD上所成像的位置差異為:2114×0.0003051(s)×49(m/s)÷1.999=15.81≈16(個(gè))像素點(diǎn)。對(duì)于一般的云速,同一塊云在上下兩排CCD上所成像的位置差異也達(dá)到3.23~9.68(個(gè))像素點(diǎn)。可見,假設(shè)在相鄰兩片CCD進(jìn)行拼接時(shí),在重疊區(qū)域中有云層存在,并且在云上或云的周圍找到特征點(diǎn)時(shí),那么通過這些特征點(diǎn)得到的拼接參數(shù)可能會(huì)對(duì)拼接精度產(chǎn)生較大影響。
從SIFT算法介紹可以看出,該算法主要是依據(jù)影像灰度的梯度變化尋找特征點(diǎn),云層與地物交界處一般灰度變化比較大,梯度值也比較大,故在云層與地物的交界處一般能找到匹配特征點(diǎn)。如圖2所示,在云的周圍找到了大量匹配點(diǎn)。
從圖2可以看出,基于SIFT算法找到的匹配點(diǎn)是準(zhǔn)確的。為了驗(yàn)證云動(dòng)對(duì)拼接參數(shù)的影響,對(duì)圖2中的匹配點(diǎn)位置參數(shù)進(jìn)行了定量分析。為敘述方便,本文把衛(wèi)星飛行方向定為Y軸,飛行的垂直方向定為X軸。在圖3中,橫坐標(biāo)表示匹配點(diǎn)的序號(hào),縱坐標(biāo)表示通過SIFT算法找到的一對(duì)匹配點(diǎn)間Y軸方向的位置差??梢钥闯?,此時(shí)找到的匹配點(diǎn)Y軸方向的位置差有較大波動(dòng),分布范圍很廣。主要原因是云周圍的匹配點(diǎn)隨著云的移動(dòng)而發(fā)生移動(dòng),導(dǎo)致了匹配點(diǎn)的位置差發(fā)生了很大波動(dòng)。這些位置差較大的匹配點(diǎn)可能造成計(jì)算的拼接參數(shù)有誤。
圖2 云區(qū)匹配點(diǎn)分布圖
圖3 云匹配點(diǎn)位置參數(shù)差
在大量的實(shí)驗(yàn)中發(fā)現(xiàn),如果在相鄰條帶的重疊區(qū)中存在云層的情況下,即使基于SIFT算法得出的匹配點(diǎn)個(gè)數(shù)足夠多,最后得出的影像拼接結(jié)果仍然可能有誤。所以影像拼接前,對(duì)待拼接影像的重疊區(qū)必須先剔除已提取的有云匹配點(diǎn),避免有云匹配點(diǎn)對(duì)正常拼接結(jié)果的影響。本文的拼接算法實(shí)現(xiàn)流程如圖4所示。
相鄰兩片待拼接影像理論的重疊區(qū)域?qū)挾葹?6個(gè)像素,所以在左右相鄰兩片待拼接影像上各取110個(gè)像素,完全包含了重疊區(qū)。重疊區(qū)影像提取主要是為了快速計(jì)算拼接參數(shù),節(jié)省對(duì)整條帶影像的讀取時(shí)間,提高效率。
待拼接影像長為35000個(gè)像素,把重疊區(qū)影像平均分為60段,每段長度為512個(gè)像素,每段分別利用SIFT算法獨(dú)立計(jì)算拼接參數(shù)。未將整個(gè)條帶當(dāng)作一個(gè)整體進(jìn)行拼接參數(shù)的計(jì)算,主要是考慮到衛(wèi)星在成像過程中,由于偏流角、衛(wèi)星抖動(dòng)等方面的影響,相鄰兩個(gè)條帶間相對(duì)位置會(huì)發(fā)生變化。從這個(gè)角度說,分區(qū)越小越好,但考慮到系統(tǒng)效率和SIFT算法本身的特點(diǎn),本文兼顧各方面情況,折衷選擇512個(gè)像素的長度作為一個(gè)分區(qū)。
圖4 算法流程圖
在每個(gè)分區(qū)中利用云的灰度值信息,對(duì)云層進(jìn)行識(shí)別。如果識(shí)別出該分區(qū)存在云,則計(jì)算出的拼接參數(shù)將被舍去。采用上述基于灰度信息識(shí)別云的方法會(huì)存在兩個(gè)問題:①由于冰雪與云的灰度值信息相似,冰雪覆蓋區(qū)很可能被誤判為云覆蓋區(qū),該區(qū)得到的匹配點(diǎn)將會(huì)被舍去;②薄云的灰度信息和地物區(qū)分度不明顯,薄云很難被識(shí)別,其周圍的匹配點(diǎn)會(huì)參與拼接參數(shù)的計(jì)算,導(dǎo)致結(jié)果有誤。
針對(duì)上述存在的兩個(gè)問題,本文采用下述方法解決。針對(duì)問題①:首先對(duì)分區(qū)影像進(jìn)行灰度值統(tǒng)計(jì),獲得灰度值的分布情況。冰雪覆蓋區(qū)的灰度值整體較高且方差較小,利用該特點(diǎn)進(jìn)行冰雪覆蓋區(qū)的識(shí)別。針對(duì)問題②:本文通過對(duì)匹配點(diǎn)Y方向拼接位置參數(shù)的分析得到,薄云周圍得到的匹配點(diǎn)與非云區(qū)域得到的匹配點(diǎn)Y方向拼接位置參數(shù)相比,跳動(dòng)比較大,認(rèn)為這些點(diǎn)存在異常,不參與拼接參數(shù)計(jì)算,這樣就消除了薄云帶來的影響。
消除云層對(duì)拼接參數(shù)的影響后,整理SIFT算法最終可用的特征點(diǎn)個(gè)數(shù),如果特征點(diǎn)個(gè)數(shù)大于一定的閥值,則利用SIFT算法計(jì)算得出的拼接參數(shù)進(jìn)行拼接;若SIFT最終的可用特征點(diǎn)個(gè)數(shù)小于閥值,則采用默認(rèn)的拼接參數(shù)進(jìn)行拼接。默認(rèn)拼接參數(shù)根據(jù)星上相機(jī)的物理安裝結(jié)構(gòu)得到,本文中天繪一號(hào)衛(wèi)星相鄰兩片CCD的間距為2114個(gè)像素,所以流程圖中的默認(rèn)拼接參數(shù)即為2114像素。
實(shí)驗(yàn)分為兩部分:云動(dòng)對(duì)影像拼接效果分析和消除云動(dòng)影像的算法效果實(shí)驗(yàn),第1部分實(shí)驗(yàn)是對(duì)存在云的區(qū)域進(jìn)行物理去云后再進(jìn)行拼接[9],該實(shí)驗(yàn)主要是進(jìn)一步證實(shí)云動(dòng)對(duì)天繪一號(hào)衛(wèi)星全色影像拼接的影響;第2部分實(shí)驗(yàn)主要是檢驗(yàn)本文提出的消除云動(dòng)影響算法效果。
在未考慮云動(dòng)影響時(shí),拼接后的影像第一條帶與第二條帶的第10個(gè)分區(qū)局部存在拼接錯(cuò)位現(xiàn)象,如圖5所示。為方便分析,實(shí)驗(yàn)中輸出了最終的拼接參數(shù)結(jié)果,從圖6可以看出,在第10個(gè)分區(qū)中,拼接參數(shù)為-2105個(gè)像素,其他分區(qū)的拼接參數(shù)都在-2110附近,可見第10個(gè)分區(qū)的拼接參數(shù)存在較大的跳變。
圖5 云區(qū)影像拼接圖
圖6 云區(qū)拼接參數(shù)輸出結(jié)果
本文截取了第10個(gè)分區(qū)左右相鄰兩片影像的重疊區(qū)域,從圖7中可以看出,該分區(qū)的重疊區(qū)域內(nèi)存在云層。圖8對(duì)該區(qū)域范圍內(nèi)存在的云進(jìn)行了物理剔除處理。
對(duì)云層區(qū)域進(jìn)行剔除處理后得到的拼接參數(shù)如圖9所示??梢钥闯?,第10個(gè)分區(qū)的拼接參數(shù)為-2111,與其他分區(qū)計(jì)算得到的拼接參數(shù)具有一致性,無跳變現(xiàn)象。
剔除云后第10個(gè)分區(qū)的拼接結(jié)果,如圖10所示??梢钥闯?,在同一個(gè)區(qū)域,錯(cuò)位現(xiàn)象已經(jīng)消除??梢?,云動(dòng)的存在確實(shí)對(duì)天繪一號(hào)衛(wèi)星全色影像的拼接產(chǎn)生很大影響。
圖7 重疊區(qū)云覆蓋
圖8 去除重疊區(qū)云層
圖9 去云后拼接參數(shù)輸出結(jié)果
圖10 去云后影像拼接圖
為檢驗(yàn)本文提出的消除云動(dòng)影響算法的效果,主要對(duì)圖2中的薄云區(qū)域進(jìn)行實(shí)驗(yàn)。從圖11與圖2 的對(duì)比可以看出,經(jīng)過消除云動(dòng)影響處理后,在云周圍的匹配點(diǎn)數(shù)量大大減少。
圖11 消除云動(dòng)后匹配點(diǎn)分布圖
圖12 消除云動(dòng)后匹配點(diǎn)位置參數(shù)差
圖12表示經(jīng)過處理后,匹配點(diǎn)Y方向拼接位置參數(shù)的分布情況。
對(duì)比圖12與圖3可以得出,經(jīng)過處理后得到的匹配點(diǎn)Y方向拼接位置參數(shù)比較平均,分布比較集中,有效去除了跳動(dòng)較大的點(diǎn)。
圖13 去云前后拼接影像對(duì)比圖
從圖13可以看出,左圖是未考慮云動(dòng)影響的拼接影像,可見在路的中部存在明顯的錯(cuò)位,右圖是消除云動(dòng)影響后的拼接影像,可見該算法能有效消除云動(dòng)的影響,路的中部錯(cuò)位現(xiàn)象已經(jīng)消除。
從5.1和5.2的對(duì)比試驗(yàn)分析可以看出,改進(jìn)后的SIFT算法有效的消除了云動(dòng)對(duì)拼接精度的影響。但算法效率也是一個(gè)實(shí)用算法需要考慮的重要方面,為此本文針對(duì)算法效率進(jìn)行了大量測(cè)試。
在測(cè)試中,待拼接影像為8個(gè)條帶,每個(gè)條帶為4096個(gè)像素,每個(gè)條帶高為35000個(gè)像素;采用單臺(tái)曙光服務(wù)器,配置為:2*Intel E 5530(2.4GHz),四核;6*2GB DDR3 1333 ECC;4*146GB,3.5寸SAS。針對(duì)不同地形進(jìn)行了大量測(cè)試,測(cè)試結(jié)果為:不同地形拼接所用的時(shí)間有一定的差異,平均每景影像大約耗費(fèi)3min~4min。
現(xiàn)在的流水線生產(chǎn)模式中,都采取大規(guī)模、集群化、并行化等集群技術(shù),所以實(shí)際生產(chǎn)中,拼接所用的時(shí)間遠(yuǎn)遠(yuǎn)小于單臺(tái)服務(wù)器所耗費(fèi)的時(shí)間,因此該算法從拼接性能和拼接效率方面來看都具有實(shí)際生產(chǎn)意義。
本文針對(duì)實(shí)際生產(chǎn)中遇到的問題,分析云動(dòng)對(duì)天繪一號(hào)衛(wèi)星全色影像拼接精度造成的影響,并通過實(shí)驗(yàn)得以證實(shí)。經(jīng)過消除云動(dòng)算法處理后,天繪一號(hào)衛(wèi)星全色影像拼接精度大幅提高,有效提高了影像質(zhì)量,具有很高的實(shí)用價(jià)值。
但從實(shí)驗(yàn)的結(jié)果來看,經(jīng)過消除云動(dòng)影響處理后,有的影像仍然存在錯(cuò)位現(xiàn)象,說明該算法還存在一定的缺陷,可能還有其他因素導(dǎo)致拼接參數(shù)錯(cuò)誤。下一步的主要工作是進(jìn)一步對(duì)該算法進(jìn)行優(yōu)化,更加深入分析對(duì)拼接精度產(chǎn)生影響的原因,進(jìn)一步提高天繪一號(hào)衛(wèi)星全色影像的拼接精度,提高影像質(zhì)量。
參考文獻(xiàn):
[1] YANG H,WANG Q.A novel local feature descriptor for image matching[C].IEEE International Conference on Multimedia and Expo,2008:1405-1408.
[2] LINDEBERG T.Scale-Space theory:A basic for analyzing structures at different scales[J].Joumal of Applied Statistics,1994,21(2):225-270.
[3] 賈世杰,王鵬翔,姜海洋,等.基于SIFT的圖像匹配算法[J].大連交通大學(xué)學(xué)報(bào),2010,37(4):17-21.
[4] FISCHLER M A,BOLLES R C.Random sample consensus:a paradigm for model fitting with applications to image analysis and automated cartography[J].Communications of the ACM,1981,24(6):381-395.
[5] 曹楠,王萍.基于SIFT特征匹配的圖像無縫拼接算法[J].計(jì)算機(jī)與應(yīng)用化學(xué),2011,28(2):242-244.
[6] LOWE D G.Object recognition from local scale-invariant features[C].The 7th International Conference on Computer Vision,Kerkyra,Corfu,Greece,1999(2):1150-1157.
[7] 劉立,彭復(fù)員,趙坤,等.采用簡化 SIFT 算法實(shí)現(xiàn)快速圖像匹配[J].紅外與激光工程,2008,37(1):181-184.
[8] 鄭玉鳳,李海濤,顧海燕.基于環(huán)境衛(wèi)星CCD影像的薄云去除研究[J].遙感信息,2011,27(3):77-81.
[9] 朱虹.數(shù)字圖像處理基礎(chǔ)[M].北京:科學(xué)出版社,2005:31-55.