楊鎮(zhèn)豪
(四川大學(xué)計(jì)算機(jī)學(xué)院,成都 610065)
伴隨著時(shí)代的進(jìn)步和相關(guān)計(jì)算機(jī)技術(shù)的發(fā)展,現(xiàn)在的人越來(lái)越希望用更加便捷、生動(dòng)的方式與計(jì)算機(jī)進(jìn)行交互。虛擬現(xiàn)實(shí)技術(shù)(Virtual Reality,VR)由于其強(qiáng)大的沉浸感和自然的交互性逐漸成為計(jì)算機(jī)領(lǐng)域中一個(gè)新興的熱點(diǎn)[1]。圖像拼接技術(shù)是生成虛擬現(xiàn)實(shí)全景圖的一種關(guān)鍵技術(shù)和重要手段,其一般步驟是:將存在一定比例或一定重疊區(qū)域的一組或多個(gè)圖像在空間中進(jìn)行匹配對(duì)準(zhǔn),再多次利用圖像融合算法形成全景圖。本文著重研究了全景圖拼接技術(shù)中的投影變換和圖像拼接融合等關(guān)鍵技術(shù),分析對(duì)比了幾種全景圖投影變換方法,采用柱面投影算法,解決了全景圖像拼接后的視覺(jué)一致性的問(wèn)題,接著使用SIFT特征[2]對(duì)圖像進(jìn)行匹配,進(jìn)行穩(wěn)定的圖像匹配,最后使用利用漸入漸出加權(quán)平滑算法圖像進(jìn)行拼接融合,有效地解決了常規(guī)加權(quán)平均算法中的圖像模糊和重影,去除了拼接過(guò)程可能產(chǎn)生的拼接痕跡,實(shí)現(xiàn)圖像的無(wú)縫拼接。
由于攝像機(jī)采集的多幅不同視角的圖像序列一般不在同一投影平面上,若直接對(duì)圖像的重疊區(qū)域進(jìn)行拼接融合,會(huì)導(dǎo)致融合后的圖像場(chǎng)景失去視覺(jué)一致性。所以應(yīng)該先對(duì)圖像序列進(jìn)行投影變換之后再進(jìn)行拼接融合。一般,較為常見(jiàn)的圖像投影模型有平面投影、柱面投影、球面投影以及立方體投影等。
平面投影是最簡(jiǎn)單的投影模型,投影過(guò)程中,以圖像序列中一幅圖像為基準(zhǔn),將其余的圖像都投影變換到此坐標(biāo)系下,由此可以拼接得到平面全景圖。但平面全景圖的缺點(diǎn)是不能反映空間中的任意方向的場(chǎng)景。球面投影[3]是通過(guò)模擬人類(lèi)視覺(jué)特性,將圖像序列數(shù)據(jù)投影到類(lèi)似眼球的球體上,進(jìn)而拼接成球面全景圖,它可以反映空間中的任意方向的場(chǎng)景,如圖1(a)所示。立方體投影[4]與球面投影類(lèi)似,但它解決了球面投影過(guò)程中數(shù)據(jù)存儲(chǔ)困難的問(wèn)題,圖1(b)所示。柱面投影[5]是指建立一個(gè)以攝像機(jī)焦距為半徑的柱面,將圖像序列數(shù)據(jù)投影變換到在此柱面上,然后再經(jīng)過(guò)圖像融合過(guò)程生成柱面全景圖。柱面全景圖去除了上方和下方兩部分,在水平360度方向?yàn)橛脩?hù)提供環(huán)形視覺(jué),因此柱面投影相比立方體和球面投影來(lái)說(shuō)容易,又能滿(mǎn)足用戶(hù)的要求,所以被廣泛運(yùn)用。
基于柱面投影變換的圖像拼接技術(shù),首先將拍攝得到的原始圖像序列映射到一個(gè)統(tǒng)一的柱面坐標(biāo)空間上,即圖像的柱面投影變換,然后對(duì)圖像序列進(jìn)行圖像匹配,計(jì)算出兩幅圖像之間的單應(yīng)矩陣H,最后根據(jù)單應(yīng)矩陣H和相應(yīng)的圖像融合算法拼接得到全景圖。
圖1 立方體投影與球面投影
投影變換公式是柱面投影變換中最核心的部分,如圖2(a)所示,其中原始圖像平面用I表示,柱面投影圖像使用J表示,K表示柱面投影空間,圓柱中心即投影中心作為坐標(biāo)原點(diǎn)。如果在x-z平面中進(jìn)行相機(jī)運(yùn)動(dòng),并且光軸和圖像平面的交點(diǎn)是圖像中心點(diǎn),現(xiàn)在我們要對(duì)原始圖像I進(jìn)行投影變換,得到以O(shè)點(diǎn)為觀(guān)測(cè)原點(diǎn)的圖像I在投影空間K上的投影J。假設(shè)r表示柱面的半徑,θ表示投影角,W表示圖像寬度,H表示圖像的高度,那么可以得到柱面圖像寬度為2*r*sin(θ/2)。圖像上的像素位置用像素坐標(biāo)來(lái)定義,其中原點(diǎn)為最左上角的像素位置[5]。
圖2 柱面投影變換示意圖
假設(shè)P為圖像I上的隨機(jī)一點(diǎn),其坐標(biāo)為(x,y),現(xiàn)在我們要計(jì)算出該點(diǎn)在柱面圖像J上所對(duì)應(yīng)的點(diǎn)Q。如果Q點(diǎn)坐標(biāo)為(x',y'),那么點(diǎn)P對(duì)應(yīng)于y-z平面和x-z平面的橫截面分別如圖 2(c)和 2(b)所示,這個(gè)時(shí)候的柱面投影的變化公式為:
那么對(duì)于柱面全景圖中的任何一個(gè)像素點(diǎn),該點(diǎn)在視線(xiàn)方向θ的反投影圖像中的對(duì)應(yīng)點(diǎn)的函數(shù)關(guān)系可以由正投影方法公式得到,該函數(shù)關(guān)系如下所示:
平均值融合算法是一種簡(jiǎn)單的線(xiàn)性圖像融合算法,它直接把兩幅圖像的重疊區(qū)域按照固定的比例線(xiàn)性累加,而其余不重疊區(qū)域不變。設(shè)需要融合的參考圖像、待配準(zhǔn)圖像和融合后的圖像分別用I1(x,y)、I2(x,y)和I3(x,y)表示,那么實(shí)現(xiàn)平均值融合法如下:生成全景圖中的一個(gè)重要步驟之一就是圖像的拼接與融合。圖像的拼接是要以?xún)煞鶊D像之間有一定重疊區(qū)域?yàn)闂l件的。因?yàn)橛兄丿B區(qū)域的時(shí)候我們才能利用算法去配準(zhǔn)這兩幅圖像。另外,兩幅圖像之間是需要擁有視覺(jué)一致性的。這也是之前我們所說(shuō)的要進(jìn)行柱面投影或者運(yùn)用其他投影模型的原因。目前,比較常用的圖像拼接融合算法主要有:平均值融合法、加權(quán)平均融合算法與漸入漸出融合算法,下面就分別對(duì)這三種算法進(jìn)行簡(jiǎn)要的介紹。
其中,R2為參考圖像和待配準(zhǔn)圖像中的重疊區(qū)域,R1與R3為各自圖像中不重疊的區(qū)域。該算法使用的前提是兩幅待融合的圖像亮度變化不大,然后在圖像重疊區(qū)域應(yīng)用不變的權(quán)值1/2來(lái)合并圖像像素值,使參考圖像能平滑過(guò)渡到待配準(zhǔn)圖像。平均值融合算法原理簡(jiǎn)單且易于實(shí)現(xiàn),算法運(yùn)行效率高;但算法融合效果不穩(wěn)定且局限性很大,容易受到圖像亮度的影響,并且可以很清楚地看到融合后圖像的拼接縫隙。
加權(quán)平均融合算法解決了平均值融合算法的缺點(diǎn),在圖像重疊區(qū)域使用可變的加權(quán)函數(shù)來(lái)合并圖像像素值,使圖像的重疊區(qū)域融合更加平滑,可以實(shí)現(xiàn)像素的逐漸過(guò)渡。設(shè)待融合圖像的重疊區(qū)域?yàn)閧x1,x2},加權(quán)函數(shù)為W1(x)和W2(x),它們之間的關(guān)系如下:
其中,i的值域?yàn)閧0,W},W=x2-x1,因此融合后的圖像像素值為:
加權(quán)平均融合算法基本上消除了拼接時(shí)的模糊和鬼影現(xiàn)象,可以完成重疊區(qū)域內(nèi)像素值之間的平滑過(guò)渡。該算法快速簡(jiǎn)單,是一種比較常用的圖像融合算法。根據(jù)所使用加權(quán)函數(shù)的不同,我們可以將加權(quán)平均融合算法分為多種不同類(lèi)別的算法,如帽子函數(shù)加權(quán)融合算法、漸入漸出融合法等。其中,帽子函數(shù)加權(quán)融合算法主要考慮了圖像中像素距離與權(quán)值之間的關(guān)系。該算法認(rèn)為圖像像素點(diǎn)距離圖像中心越近,其貢獻(xiàn)程度越大,即它所對(duì)應(yīng)的權(quán)重大,邊緣區(qū)域占較小的權(quán)重。權(quán)值函數(shù)中width和height兩個(gè)參數(shù)分別表示融合圖像的寬和高。在三維空間中,權(quán)值函數(shù)的函數(shù)圖類(lèi)似帽子形狀,這也是叫帽子函數(shù)加權(quán)融合算法的原因。如(6)、(7)式所示:
漸入漸出融合算法[6]是由Szeliski所提出來(lái)的,圖像重疊區(qū)域的權(quán)值d是根據(jù)該像素點(diǎn)到重疊邊界的距離計(jì)算出來(lái)的,它與像素點(diǎn)位置與邊界距離呈現(xiàn)線(xiàn)性關(guān)系,由此可以實(shí)現(xiàn)圖像重疊區(qū)域內(nèi)的平滑過(guò)渡。算法的計(jì)算公式如(8)、(9)式所示,其中 j為像素點(diǎn)所在的列數(shù),L、R為重疊區(qū)域的左、右邊界。
(1)對(duì)原始圖像序列進(jìn)行圖像預(yù)處理和畸變矯正
在對(duì)圖像進(jìn)行拼接之前,需要對(duì)原始圖像序列進(jìn)行預(yù)處理操作,去除圖像中的高頻噪聲,如椒鹽噪聲、白噪聲、高斯噪聲等,一般采用各種類(lèi)型的圖像濾波處理。而畸變是指由于攝像機(jī)鏡頭制造工藝、安裝、裝配等各種原因?qū)е碌膱D像畸變效果,為了能夠提高攝像機(jī)拼接的效果和精度,需要對(duì)所有圖像序列進(jìn)行畸變校正步驟。
(2)對(duì)原始圖像序列進(jìn)行柱面投影變換
在經(jīng)過(guò)圖像預(yù)處理和畸變矯正步驟后,接下來(lái)一步是對(duì)需要拼接的圖像序列進(jìn)行柱面投影變換。正如第1節(jié)所討論的,柱面投影變換的目的是為了保持圖像重疊區(qū)域內(nèi)景物的視覺(jué)一致特性。
(3)對(duì)圖像序列進(jìn)行圖像匹配,計(jì)算兩幅圖像之間的單應(yīng)矩陣H
由于SIFT[2,7](Scale Invariant Feature Transform)特征具有良好的尺度不變性、旋轉(zhuǎn)不變性和亮度不變性,對(duì)環(huán)境適應(yīng)性極佳,同時(shí)其生成的特征描述符能保證相當(dāng)高的匹配正確率。因此本文采用SIFT匹配算法得到待拼接圖像的匹配對(duì),然后再根據(jù)得到的匹配對(duì)利用DLT(Direct Linear Transformation,直接線(xiàn)性變換)計(jì)算出圖像之間的單應(yīng)矩陣H。
(4)最后根據(jù)H矩陣信息利用相應(yīng)的圖像融合算法對(duì)圖像進(jìn)行拼接,生成全景圖像。
根據(jù)上述算法思路,用MATLAB進(jìn)行實(shí)驗(yàn)仿真,通過(guò)攝像機(jī)采集的多幅圖像,對(duì)其進(jìn)行圖像拼接對(duì)比實(shí)驗(yàn)。下面是其中一組圖像,首先圖3、4展現(xiàn)了投影角度取為45°的柱面投影圖。
圖3 原圖1及其柱面投影圖
圖4 原圖2及其柱面投影圖
接下來(lái)展示下平均值融合算法和漸入漸出算法的實(shí)驗(yàn)效果,并且進(jìn)行對(duì)比,如圖5、6所示。(用來(lái)拼接的圖像分別已經(jīng)在上述的圖像投影變換中已經(jīng)展示,都是進(jìn)行過(guò)畸變校正后再進(jìn)行柱面變換投影的圖像)
圖5 平均值融合算法示例圖
圖6 漸入漸出融合算法示例圖
我們從上面兩幅圖中可以明顯得看出平均值融合算法和漸入漸出融合算法的效果。我們可以看到圖5雖然圖像進(jìn)行了融合,但均存在比較明顯的過(guò)渡帶,而且圖5中間融合的效果十分不好,非常模糊。再來(lái)觀(guān)察圖6,經(jīng)過(guò)漸入漸出融合算法后,拼接的結(jié)果自然,圖像重疊區(qū)域過(guò)渡平滑,基本實(shí)現(xiàn)了無(wú)縫拼接。
針對(duì)虛擬現(xiàn)實(shí)領(lǐng)域中生成全景圖的需求,本文利用柱面投影變換得到圖像序列的柱面投影圖,然后根據(jù)SIFT匹配算法得到待拼接圖像之間的匹配關(guān)系,采用漸入漸出融合算法對(duì)圖像進(jìn)行拼接,得到了圖像拼接后的全景圖。經(jīng)過(guò)實(shí)驗(yàn)仿真證明,該算法能快速、魯棒的對(duì)圖像無(wú)縫拼接。
參考文獻(xiàn):
[1]蘇建明,張續(xù)紅,胡慶夕.展望虛擬現(xiàn)實(shí)技術(shù)[J].計(jì)算機(jī)仿真,2004,21(1):18-21.
[2]DG Lowe.Distinctive Image Features from Scale-Invariant Keypoints.International Journal of Computer Vision,2004,60(2):91-110.
[3]楊燕,王雪瑞,戴青,付江柳.球面全景圖像生成技術(shù)的研究[J].計(jì)算機(jī)應(yīng)用與軟件,2007,24(10):164-165.
[4]韋群,高麗,龔雪晶.基于立方體全景圖的虛擬場(chǎng)景瀏覽技術(shù)研究及實(shí)現(xiàn)[J].中國(guó)圖象圖形學(xué)報(bào),2003,8(9):1061-1066.
[5]楊艷偉,郭寶龍.柱面全景圖像自動(dòng)拼接算法[J].計(jì)算機(jī)工程與應(yīng)用,2009,45(9):171-173.
[6]盧斌,宋夫華.基于改進(jìn)SIFT算法的視頻圖像序列自動(dòng)拼接[J].測(cè)繪科學(xué),2013,38(1):23-25.
[7]Szeliski R.Image Mosaicing for Telereality Applications.IEEE Computer Graphics and Applications,1994.