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