鄭 宇,張曉燕(通信作者)
(廈門大學(xué)嘉庚學(xué)院信息科學(xué)與技術(shù)學(xué)院 福建 漳州 363105)
近年來,隨著互聯(lián)網(wǎng)、物聯(lián)網(wǎng)的快速發(fā)展,對具有較大視域全景圖像的需求也越來越迫切,全景圖拼接技術(shù)也得到了迅速發(fā)展。蘭紅等[1]提出了一種針對優(yōu)化SIFT算法的全景圖拼接技術(shù),他們通過結(jié)合圖像單元信息投影熵原理提取分塊圖像特征,依據(jù)投影熵矢量歐氏距離進(jìn)行特征匹配,最后利用改進(jìn)的隨機(jī)抽樣一致性算法刪除誤匹配的方法進(jìn)行技術(shù)優(yōu)化;沈鵬[2]提出了一種基于SIFT特征的全景圖拼接技術(shù),通過加入面向柱面投影的圖像邊緣鋸齒消除算法來提高圖像質(zhì)量;劉旭[3]提出了一種基于SIFT和RANSAC的全景圖拼接算法,結(jié)合了距離、角度、隨機(jī)抽樣性等特性,并將匹配階段分為粗細(xì)兩個階段進(jìn)行,采用了漸進(jìn)漸出的融合算法。雖然近些年涌現(xiàn)了很多關(guān)于全景圖像拼接的方法,但是對準(zhǔn)確度高、低性能開銷、速度快的相關(guān)算法研究仍然是研究熱點。
本文提出了一種基于改進(jìn)特征點檢測的全景圖拼接算法。通過對Harris角點檢測方法加入自適應(yīng)閾值算法進(jìn)行改進(jìn),實現(xiàn)圖像特征提取的優(yōu)化,再利用改進(jìn)的加權(quán)RANSAC算法進(jìn)行誤匹配對剔除,通過空間變化法對拼接融合后產(chǎn)生的局部畸變進(jìn)行幾何校正處理,提高了全景圖拼接的效率和準(zhǔn)確性。
圖像特征點檢測方法主要有SIFT、SURF、Harris、ORB等方法。其中Harris角點檢測于1988年被提出,在圖像特征匹配中較為常用。傳統(tǒng)Harris角點檢測算法在提取角點質(zhì)量與速度上都有一些局限性[4],本文對Harris角點檢測算法進(jìn)行了如下改進(jìn):
(1)計算圖像在x、y方向上的梯度Ix、Iy,分別求出x、y方向上的梯度乘積,并對和Ixy進(jìn)行高斯加權(quán)。在此過程中我們?nèi)コ荻容^小的點,只對梯度幅度比較大的像素點進(jìn)行計算提取,減少了偽關(guān)鍵點的干擾。
(2)由于Harris算法用于提取角點的閾值是固定的,故存在忽略有效像素點的可能性。為此提出自適應(yīng)閾值設(shè)置方法,提高檢測算法的精確性,避免偽角點的產(chǎn)生。
根據(jù)公式(1)計算出每個像素的響應(yīng)值R:
其中w為窗口函數(shù),代表了窗口下每個像素點的權(quán)重,一般采用高斯函數(shù),表示越靠近所選點,其權(quán)值越大。Ix和Iy分別為x和y坐標(biāo)下的像素位置。k一般取0.04-0.06。
對響應(yīng)值進(jìn)行判定的閾值T求解如下:
設(shè)置迭代終止值K及迭代開始值A(chǔ)0,A0取R值矩陣中最大值Rmax與最小值Rmin的平均值,即公式(2):
使用A0對R值矩陣中的各個像素點進(jìn)行分類,其中大于A0的分為T1區(qū)域,小于A0的分為T0區(qū)域。計算T0和T1兩個區(qū)域中像素的平均值ρ1和ρ2,并通過公式(3)獲取ρ值:
求出ρ與A0的差的絕對值,若小于預(yù)先設(shè)置的K即停止迭代,輸出閾值A(chǔ)0。若大于預(yù)先設(shè)置的K,則將A0的值等于ρ,并進(jìn)行重復(fù)迭代,直到取得符合條件的閾值即暫停。
使用不同的算法進(jìn)行特征提取,結(jié)果如圖1所示。
圖1 不同特征提取效果對比
從直觀的對比結(jié)果可以看出,本文改進(jìn)的Harris角檢測算法在識別的精度上明顯優(yōu)于原算法以及其他算法,可以精確提取絕大部分的關(guān)鍵點,尤其是減少了偽特征點的干擾,能夠有效提高圖像匹配的準(zhǔn)確性。
本文還對四種特征提取方法的時間開銷進(jìn)行對比,結(jié)果如表1所示。
表1 不同算法時間開銷對比
從表1可以看出,本文改進(jìn)的Harris算法在時間性能開銷上有顯著提升,明顯較快。
對特征點進(jìn)行匹配后通常會存在較多誤匹配對[5],影響后續(xù)拼接效果。采用改進(jìn)RANSAC算法進(jìn)行誤匹配點剔除,得到精確匹配結(jié)果。
RANSAC算法的實現(xiàn)如公式(4)所示:
式中(x,y)、(x',y')為待拼接圖像的角點位置,s為尺度參數(shù),H為變換矩陣,其中H共有9個未知參數(shù),使用奇異值的分解方法來計算圖片的變換矩陣。
在傳統(tǒng)的RANSAC算法中,每次選取的樣本點都是隨機(jī)的,但是每一對匹配的程度都不一樣,因此需要增大產(chǎn)生合適單應(yīng)矩陣模型的可能性。為此我們提出根據(jù)不同特征點匹配度給予不同的權(quán)重,匹配程度越大的點賦予更大的權(quán)重。具體公式如下:
其中W表示權(quán)重,λ1表示像素點與最優(yōu)匹配點間的歐式距離,λ2表示像素點與其次匹配點間的歐式距離。而λ1與λ2的比值與匹配的正確率成反比,比值越小正確率越高。為此應(yīng)當(dāng)賦予更大的權(quán)重。
全景圖拼接的主要實現(xiàn)方法是依次不斷地將前一張圖片和后一張圖片進(jìn)行匹配拼接,直至完成所有圖像,其過程如圖2所示:
圖2 拼接過程
為了提高拼接結(jié)果,我們加入了基于加權(quán)平均法的圖像融合這一步驟,消除圖像匹配后產(chǎn)生的縫合痕跡。加權(quán)平均法的圖像融合原理如式(6):
在相同像素點對灰度值賦予權(quán)重值,融合圖像的灰度值為兩圖灰度值加權(quán)之和。加權(quán)平均法融合實現(xiàn)速度快,完成的圖像自然清晰,達(dá)到更好的視覺效果。
基于上述方法獲得的全景圖如圖3所示,該圖中存在的徑向畸變嚴(yán)重影響了全景圖的效果,本文采用空間變換法改進(jìn)全景圖結(jié)果,基本流程如圖4所示:
圖3 幾何畸變的全景圖
圖4 幾何畸變校正流程圖
對畸變圖像建立校正函數(shù)為:
其中g(shù)u(x,y)為幾何畸變圖像,gv(x,y)為基準(zhǔn)幾何坐標(biāo)的圖像。由于計算的(u,v)不是每次都剛好在畸變圖像的像素中心上,采用雙線性內(nèi)插進(jìn)行處理[6],再基于公式8對每個像素進(jìn)行校正輸出,其中α和β為雙線性內(nèi)插權(quán)值。
經(jīng)過幾何畸變矯正之后的全景圖如圖5所示,可以看出全景圖的質(zhì)量得到明顯改進(jìn)。
圖5 輸出的拼接全景圖
我們將基于SIFT特征的圖像拼接結(jié)果與本文算法結(jié)果進(jìn)行對比,結(jié)果如圖6所示:
圖6 SIFT特征拼接與本文算法結(jié)果比較
可以看出,圖6(a)中存在明顯的拼接縫隙,色彩誤差以及畸變。而上述問題在本文改進(jìn)的技術(shù)中并未出現(xiàn)且自然美觀,如圖6(b)所示。
本文通過對Harris角點檢測算法進(jìn)行自適應(yīng)閾值改進(jìn),提高了特征點提取的準(zhǔn)確性,采用加權(quán)RANSAC算法剔除誤匹配對以提高匹配效果,并對拼接后圖像進(jìn)行幾何畸變校正得到高質(zhì)量的全景圖。本文算法簡單高效,能夠獲得較好的拼接結(jié)果,在一定程度上提高了拼接算法的精度和速度。