李艷玲,汪國平
(1 長治學(xué)院計算機系,山西長治 046011;2 北京大學(xué)信息科學(xué)技術(shù)學(xué)院,北京 100871)
航拍圖像拼接技術(shù)通過對一系列航拍圖像的拼接融合,拼成一幅相對完整的全景視圖,已廣泛應(yīng)用于虛擬現(xiàn)實技術(shù),遙感圖像處理、計算機視覺等領(lǐng)域。單視點圖像拼接已有成熟的算法和應(yīng)用,但是無人機航拍圖像選取多個視點和場景,相機位置不斷變化,而場景深度又很難獲知,這給圖像的匹配和拼接帶來一定的難度。文獻[1]采用流形拼接法,著重從其中幾幅圖像中選取重復(fù)的運動物體。文獻[2]提出了尺度和旋轉(zhuǎn)不變的檢測子和描述子SURF,極大地提高了計算和比較速度。文獻[3]提出了簡單有效的多視點圖像校正算法,消除垂直視差。文獻[4]提出了直方圖迭代匹配結(jié)合斜率改正比的消除方法,有效改善了圖像質(zhì)量。
多視點圖像拼接技術(shù)從一定程度上緩解了全景相機或廣角鏡昂貴,普通數(shù)碼相機視野范圍狹窄的矛盾,但是由于飛行器姿態(tài)角度變化、抖動問題、天氣原因,或重疊圖像不能完全匹配等問題,在不加任何限定的條件下是無法完成拼接的。所以限定航拍角度垂直于地面,各幅圖像間具備20%~30%的重疊區(qū)域。假定“平面場景”下,航拍圖像間的映射退化成單應(yīng)性矩陣,可以用一個相似變換或仿射變換取代,以確定多視點航拍圖像拼接的解[5]??梢暂斎胍淮芜B續(xù)飛行拍攝得到的多張航拍圖像,通過算法全自動地確定圖像鄰接位置,拼接過程不需要人工干預(yù)。整個拼接流程主要由特征點匹配模塊、確定拼接順序模塊、運動參數(shù)估計模塊和圖像合成模塊構(gòu)成。
SIFT(尺度不變特征變換)是由David G.Lowe在1999年提出的局部特征檢測算法,在2004年加以完善總結(jié)[6]。SIFT算法的本質(zhì)就是在不同的尺度空間中提取興趣點,并計算興趣點的尺度和方向。為了在尺度空間檢測到穩(wěn)定的關(guān)鍵點,Lower提出了DOG尺度空間,利用不同尺度的高斯差分核與圖像卷積生成。為了尋找極值點,DOG空間中每一個采樣點要和本層及上下兩層共26個點作比較,以確保在尺度空間和二維圖像空間都檢測到極值點。該極值點就認(rèn)為是圖像在該尺度下的候選特征點或關(guān)鍵點,接下來去除低對比度特征點和不穩(wěn)定的邊緣特征點。根據(jù)關(guān)鍵點周圍像素點的梯度分布特性,為每個關(guān)鍵點指定一個主方向,以確保特征描述符的旋轉(zhuǎn)不變性。對于每一個采樣圖像L(x,y),(x,y)處的梯度模值m(x,y)和方向θ(x,y)可以通過像素差分式(1)和式(2)計算。
(1)
(2)
由每個關(guān)鍵點的位置、尺度和方向,確定一個SIFT區(qū)域。在以關(guān)鍵點為中心的鄰域區(qū)域內(nèi)進行采樣,并對該區(qū)域統(tǒng)計梯度直方圖[7]。
以關(guān)鍵點為中心取8×8個像素的窗口,然后在8個4×4的小塊上,計算8個方向的梯度大小和梯度方向直方圖。每個特征點共可以得到128維的描述符,將這個1×128的向量歸一化后,最終完成特征點的提取過程。
為了提高拼接的精度,對圖像建立相鄰關(guān)系圖模型,將相鄰距離作為邊的權(quán)值,利用最小生成樹確定拼接順序,可以最大限度的利用相鄰圖像的聚簇。
1)確定相鄰關(guān)系
建立圖模型時對圖像兩兩匹配,特征點對匹配多的確定為相鄰圖像。文中采用SIFT特征匹配,為了確保特征匹配是完全正確的,提出雙向驗證策略:
(A→B)∩(B→A)
(3)
式中A→B代表將圖像A的特征在圖像B的特征集中做查詢。若圖像1和圖像2有一個特征點相匹配,那么再檢測圖像2與圖像1是否也在相應(yīng)特征點上匹配,如果匹配成功,則認(rèn)為該匹配是正確的。如圖1所示,圖1(a)只做A→B的驗證,一個特征點對應(yīng)了多個匹配,顯然是不正確的,而圖1(b)可以消除全部的錯誤匹配,提高匹配精度。確定相鄰關(guān)系后,將特征匹配數(shù)量的倒數(shù)作為邊的權(quán)值,構(gòu)成圖模型。
2)確定拼接順序
建立的圖模型有可能是不連通的。對非連通圖,每次從一個新的起始點出發(fā)進行搜索,得到的頂點訪問序列恰為其各個連通分量的頂點集。基于不連通圖模型采用Kruscal算法,一次性建立多顆最小生成樹,構(gòu)造最小代價生成樹T。對每一棵樹T重復(fù)如下步驟:
step1尋找一個根節(jié)點。對于節(jié)點i,定義每個節(jié)點的權(quán)重如下:
∑j∈Nimin(k,matchij)
(4)
式中Ni表示i節(jié)點相鄰節(jié)點的集合。為了防止兩張相鄰特別近的圖像匹配數(shù)過多,影響真正圖像聚簇中心的發(fā)現(xiàn),取k=100可以得到不錯的結(jié)果。
step 2選取權(quán)重最大的作為根節(jié)點。
step 3廣度優(yōu)先對子節(jié)點做增量式拼接。相鄰子塊存在重復(fù)區(qū)域,多次重復(fù)操作影響速度,采用增量式拼接提高拼接效率[8]。
上述步驟對圖模型的e條邊各掃描一次,顯而易見,第一次選擇最小代價的邊需O(e)的時間,每次選擇的時間僅需O(loge)。不連通圖模型的每個連通分量可看成是一個等價類,則構(gòu)造最小代價生成樹T加入新邊的過程類似于求造價類的過程,選擇適合的數(shù)據(jù)類型來描述生成樹,則構(gòu)造T的時間復(fù)雜度也為O(loge)。
由于圖像獲取過程中受光照、拍攝時間、天氣等因素的影響,存在光照差異較大的圖像,圖像拼接的接縫處會不可避免地出現(xiàn)突變。因為航拍圖像的分辨率非常巨大,所以做全局的融合對時間和空間的開銷都非常大,因此采取距離圖加權(quán)的方法,做局部的圖像融合。但是該算法在接縫處兩側(cè)的像素灰度差偏差較大,所以結(jié)合直方圖匹配法使接縫部分消除差異,符合光照一致性。
直方圖就是對像素個數(shù)進行統(tǒng)計,通過圖像的統(tǒng)計特征將圖像變換為某一參照圖像的形式。直方圖被定義為:
(5)
式中:nk表示灰度為rk的像素個數(shù);N為圖像的像素總數(shù)。直方圖匹配實現(xiàn)步驟如下:
1)調(diào)整圖像的灰度級為256,統(tǒng)計原始圖像的灰度直方圖;
2)對直方圖均衡化,讓y軸像素點的值在新分布上盡可能地均勻展開;
3)利用直方圖匹配得到滿足規(guī)定形狀的匹配圖像,并使用相似度公式計算相似度值,相關(guān)系數(shù)用巴氏距離效果最好。經(jīng)過處理后的圖像具有相同的色度和亮度,拼接后接縫處顏色過渡自然,消除突變,可以實現(xiàn)無縫拼接[9]。
圖2中的(a)、(b)兩張圖像,(a)的直方圖波形主要出現(xiàn)在右側(cè),而(b)的直方圖則出現(xiàn)在左側(cè),顯然(a)圖比(b)圖亮。如果直接拼接,則接縫處會有比較強烈的明暗變化,因此用直方圖匹配來消除色調(diào)和亮度的差異,盡量調(diào)整為一致[10]。
對圖2(a)、圖2(b)進行直方圖均衡化,增加圖像的灰度動態(tài)范圍、圖像的明暗對比度。然后應(yīng)用直方圖匹配,調(diào)整原灰度直方圖使之具有規(guī)定的形狀,使匹配變換的顏色分布一樣。
通過直方圖匹配,圖2(a)和圖2(b)兩幅圖像的相似度有所降低,如表1所示。相似度越小,表示圖像的匹配度越高。匹配后兩副圖像具有相同的灰度分布,便于后續(xù)的拼接處理。
表1 圖像相似度
圖像融合的手段有很多,比如Multiband算法、laplace金字塔算法等。出于拼接時間的考慮,采取羽化算法,做接縫處的圖像融合[11-12]。將匹配校正后的圖像進行拼接,在找到的重疊線兩側(cè)進行邊緣模糊化,提高拼接效果,使之過渡自然,符合視覺效果。
羽化算法對界線位置的兩側(cè)進行強制改正,通過統(tǒng)計邊界兩側(cè)一定范圍內(nèi)的灰度值,消除灰度差異,減少突變情況。距離接縫d的像素點的灰度值改正量為Δh′:
(6)
式中:w是改正寬度;Δh是邊界兩側(cè)的灰度差??梢钥闯?距離接縫越近,灰度值改正量越大。
如圖3所示是航拍圖像拼接處理的局部效果圖,結(jié)合了光照差異的局部圖像融合方法,可以消除明顯的接縫,視覺效果在細(xì)節(jié)上具有較好的連續(xù)性。
對該圖像用SIFT、SURF和文中3種算法進行拼接實驗,其成功匹配點對數(shù)和總運行時間如表2所示。
表2 算法比較
從結(jié)果可以看出,SURF算子在匹配正確率和運行效率方面優(yōu)于SIFT,文中算法采用雙向驗證結(jié)合直方圖匹配使圖像灰度分布更均勻,尤其對于圖像中有用的特征點灰度相近時,會大大提升提取的點對數(shù)目,且對光照差異具有較強的魯棒性。但因為在接縫之前要做曝光補償,所以運行時間較SUFF有所增加,但算法時間仍優(yōu)于SIFT算法。
多視點航拍圖像拼接技術(shù),將多張低分辨率、小視角的正投影航拍圖像,全自動的拼接成一張高分辨率、大視角的圖像,成本低廉,使用方便,且在飛行高度足夠的情況下,拼接精度高,具有廣大的應(yīng)用前景。
文中在拼接時利用圖模型確定鄰接關(guān)系,并采用廣度優(yōu)先增量式拼接。圖像合成部分結(jié)合了直方圖匹配實現(xiàn)圖像的局部羽化融合,不僅減少了計算量,而且使顏色更加自然均勻。但是在航拍相鄰圖像的光照差異很小時,進行直方圖匹配后,顏色有失真現(xiàn)象,有時會增加噪聲點,所以效果并不理想。文中算法針對于明暗光照差別較大的室外場景會有不錯的效果。