摘 要: 針對(duì)有明顯色彩和亮度差異的圖片,在進(jìn)行傳統(tǒng)的圖像拼接后,會(huì)產(chǎn)生肉眼可見的拼接縫,嚴(yán)重影響拼接效果。因此,提出一種針對(duì)存在色差的圖像拼接算法。首先,計(jì)算相鄰圖片間的色彩校正參數(shù)和每個(gè)彩色通道的全局色彩調(diào)整參數(shù),選擇適合的顏色和亮度,對(duì)每一幅圖片進(jìn)行色彩校正。其次,引入SIFT和RANSAC算法,實(shí)現(xiàn)了圖像的準(zhǔn)確配準(zhǔn)。最后,采取0?1加權(quán)融合算法和平均融合算法結(jié)合進(jìn)行圖像融合,得到最終的全景圖像。實(shí)驗(yàn)結(jié)果表明,由于已經(jīng)進(jìn)行圖像間的校正,減少了待拼接圖像的色差,使得圖像的融合更加簡單。該算法對(duì)于存在色差的圖片序列可以實(shí)現(xiàn)無縫快速的拼接,并且可根據(jù)需要調(diào)整圖像的色彩和亮度。
關(guān)鍵詞: 圖像拼接; 色彩校正; SIFT; 圖像融合
中圖分類號(hào): TN911.73?34; TP391 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2013)23?0057?04
Image stitching algorithm for images with color difference
WANG Li1, YI Zi?chuan2, PAN Zhong?liang1, BAI Peng?fei2
(1. School of Physics Telecommunication Engineering, South China Normal University, Guangzhou 510006, China;
2. South China Academy of Advanced Optoelectronics, South China Normal University, Guangzhou 510006, China)
Abstract: An image stitching algorithm is proposed for the images with color difference because the image stitching between two adjacent images with differences in colors and luminance could produce visible color difference and seams when the traditional algorithm is used, and the image stitching effect is affected seriously. The color correction coefficients between adjacent images and global color adjustment parameters of each color channel are calculated, and color correction for each image is carried out by selection of appropriate color and brightness. SIFT and RANSAC algorithms are introduced and an accurate image registration is realized. 0?1 weighted fusion algorithm and average fusion algorithm are combined to realize the image fusion, and a final panorama image is gotten. Experimental results show that the proposed algorithm can realize seamless fast stitching between images with color difference. In addition, the image fusion algorithm becomes easier than the traditional algorithm by reducing the color difference of images.
Keywords: image stitching; color correction; SIFT; image fusion
0 引 言
圖像拼接或者全景圖像技術(shù)是指把同一場景的相鄰之間有重合區(qū)域的一系列圖片拼接成一幅寬視角的、與原始圖像接近且失真小、沒有明顯縫合線的圖片,以滿足人們?yōu)g覽全景圖片的需求。該技術(shù)正被應(yīng)用于各種領(lǐng)域,如視頻壓縮、視頻索引、目標(biāo)跟蹤[1]或者虛擬環(huán)境的創(chuàng)建。
目前,已經(jīng)有許多算法都可以將同一場景圖片中的重疊部分提取出來并且快速的拼接成為一幅全景圖片,其中有許多算法可以得出令人滿意的融合結(jié)果。Ming?Shing Su 等使用小波進(jìn)行多尺度的融合[2],但是這種方法只是在重疊區(qū)域進(jìn)行局部的融合處理,無法保證圖像的全局自然。Anat Levin等采取梯度域的融合方法進(jìn)行圖像拼接[3],可以減少源圖像間色差對(duì)融合結(jié)果的影響。但是以上這兩種方法對(duì)于存在有明顯色彩和亮度差異的圖片,融合后的全景圖像就會(huì)失真。因此,在進(jìn)行圖像拼接之前需要曝光校正。Pedro M.Q. Aguiar等直接計(jì)算和線性化的曝光校正之間進(jìn)行迭代[4],從而進(jìn)行圖像的配準(zhǔn)。Matthew Uyttendaele等把圖像分為若干塊[5],將每一塊進(jìn)行曝光校正,然后再把這些校正過的塊進(jìn)行融合。Aseem Agarwala和Anat Levin 等在梯度域中進(jìn)行拼接[6?7],從而避免了曝光的差異。M. Brown等將每幅圖片的像素平均值乘以一個(gè)可令最小化誤差函數(shù)最小的常量進(jìn)行增益補(bǔ)償[8]。
本文提出的方法主要針對(duì)存在明顯顏色和亮度差異的一系列待拼接圖片的拼接,得到一幅無明顯拼接縫的全景圖像。通常圖像拼接的過程主要分為三個(gè)步驟:圖像配準(zhǔn)、圖像對(duì)齊和圖像融合。但是,對(duì)于存在明顯色差的圖像,若直接進(jìn)行拼接計(jì)算,得到的融合圖像存在明顯的拼接縫。因此,在這種情況下,需要對(duì)原圖像進(jìn)行色彩校正。計(jì)算相鄰圖片間的色彩校正參數(shù)和每個(gè)彩色通道的全局色彩調(diào)整參數(shù),選擇適合的顏色和亮度,對(duì)每一幅圖片進(jìn)行色彩校正。然后,對(duì)圖像進(jìn)行配準(zhǔn)計(jì)算。圖像拼接中一個(gè)關(guān)鍵技術(shù)是圖像融合,即將一系列圖像融合為一幅全景圖像并且肉眼看不到圖片間的拼接縫。本文采用基于余弦關(guān)系變換的加權(quán)融合算法進(jìn)行圖像融合,得到最終的全景圖像。實(shí)驗(yàn)結(jié)果表明,本文算法對(duì)于存在色差的圖片序列可以實(shí)現(xiàn)無縫快速的拼接,并且可根據(jù)需要調(diào)整圖像的色彩和亮度。
1 色差圖像的圖像拼接算法
本文算法的實(shí)現(xiàn)流程如圖1所示。首先計(jì)算色彩校正參數(shù)和全局調(diào)整參數(shù),對(duì)待拼接的圖片進(jìn)行色彩校正;然后使用SIFT和RANSAC算法進(jìn)行圖像配準(zhǔn);最后,根據(jù)對(duì)融合速度的要求,選擇0?1加權(quán)融合算法或平均值法進(jìn)行圖像融合,得到拼接圖像。
圖1 算法實(shí)現(xiàn)的流程圖
1.1 色彩和亮度校正
在實(shí)際獲取圖片的過程中,由于拍攝時(shí)間的不同和曝光強(qiáng)度不同,所得到的相鄰的待拼接圖像之間的亮度和色彩會(huì)存在一定的差異。若不進(jìn)行色彩校正,將會(huì)導(dǎo)致拼接后的的圖像存在肉眼可見的拼接縫,直接影響拼接圖像的效果,可以清晰地看到待拼接圖像中存在的色差導(dǎo)致拼接后的圖片也有很明顯的拼接縫,這時(shí)就需要對(duì)原圖像進(jìn)行色彩的校正,從而提高拼接效果。
本文的例子中原圖均是兩幅圖像的拼接,但是此算法同樣適合于[n]幅圖像的拼接。假設(shè)有[n]幅待拼接的圖像[P1,P2,…,Pi,…,Pn,]假設(shè)[Pi-1]和[Pi]是相鄰的兩幅圖片,[Pi-1]和[Pi]是這兩幅圖片中重疊的區(qū)域,[c∈][R,G,B,i=1,2,…,n,]則圖片[Pi]的色彩校正參數(shù)[αc,i]可由以下公式得到:
[αc,i=MSc,i-1(s)γMSc,i(s)γ] (1)
式中:[M]是指相鄰圖像的重疊區(qū)域;[Sc,i-1(s)]是指圖像[Pi-1]中的像素點(diǎn)[S]的像素值;[Sc,i(s)]是指圖像[Pi]中的像素點(diǎn)[S]的像素值;[γ]是指參數(shù),通常設(shè)定為2.2。對(duì)于待拼接的第一幅圖片[P1,]設(shè)定[αc,i=1。]為了避免圖像色彩過飽和,又設(shè)定一個(gè)全局調(diào)節(jié)參數(shù)[gc,]用來調(diào)整整個(gè)待拼接序列的色彩值。需要計(jì)算彩色圖像[R,G,B]三個(gè)通道的調(diào)節(jié)參數(shù)[gc,]則要使圖像[i]的[c]通道的調(diào)節(jié)參數(shù)[αc,igc]盡量的接近1,那么有最小二次方程:[mingci=1ngcαc,i-12] (2)
結(jié)合方程(1),將方程(2)求導(dǎo)等于0,可轉(zhuǎn)換成以下方程:
[gc=i=1nαc,ii=1nα2c,i] (3)
得到色彩校正參數(shù)[αc,i]和全局調(diào)節(jié)參數(shù)[gc,]那么可以對(duì)圖像[Pi]進(jìn)行色彩校正:
[Sc,i(s)=(gcαc,i)1γSc,i(s)] (4)
式中:[Sc,i(s)]是指圖像[Pi]在通道[c∈R,G,B]上在像素點(diǎn)[p]的像素值。
可根據(jù)圖片使用場合的不同和個(gè)人的喜好,在色彩校正時(shí)調(diào)整參數(shù),選擇適合的拼接效果。
1.2 圖像配準(zhǔn)
每幅圖片都有其確定的SIFT特征點(diǎn),這個(gè)特征點(diǎn)包括尺度空間極值、特征點(diǎn)位置、特征點(diǎn)方向和特征點(diǎn)描述符。
SIFT(Scale Invariant Feature Transform)算法[9]是David G.Lowe在1999年首先提出的用于目標(biāo)識(shí)別的一個(gè)方法,首先對(duì)兩幅圖像進(jìn)行尺度和灰度空間檢測(cè),確定關(guān)鍵點(diǎn)位置和所處尺度,然后,用關(guān)鍵點(diǎn)鄰域梯度的主方向作為方向特征生成關(guān)鍵的SIFT特征向量進(jìn)行匹配,但是這種算法仍然存在誤匹配。2004年,Lowe提出了尺度不變特征變換,使其對(duì)尺度、旋轉(zhuǎn)、亮度、仿射、噪音等都具有不變性。
用最近鄰算法(NN)對(duì)圖像間的特征點(diǎn)進(jìn)行匹配。該方法主要是根據(jù)特征點(diǎn)的最近鄰距離與次近鄰距離的比值來判斷特征點(diǎn)間是否匹配,取一個(gè)閾值,如果低于該閾值則認(rèn)為特征點(diǎn)間匹配。NN方法的關(guān)鍵是搜索特征點(diǎn)的最近鄰和次近鄰。如圖2所示。
圖2 NN算法對(duì)特征點(diǎn)的匹配
由于特征點(diǎn)提取時(shí)存在一定的精度誤差,提取出的特征點(diǎn)會(huì)比求解方程式所需的多很多,另外,自動(dòng)提取和匹配得到的匹配特征點(diǎn)集合中也難免存在誤匹配點(diǎn)或偽匹配點(diǎn),由于引起誤匹配點(diǎn)存在的原因是特征檢測(cè)算子把圖像的某一部分錯(cuò)誤地認(rèn)定為特征,一般的參數(shù)估計(jì)等方法都不能將其排除,因此需要一種容錯(cuò)能力很強(qiáng)的算法來優(yōu)化特征點(diǎn)集合,所以本文中使用估計(jì)算法RANSAC[10]。
RANSAC的基本思想是,在進(jìn)行參數(shù)估計(jì)時(shí),不是不加區(qū)分地對(duì)待所有可用的輸入數(shù)據(jù),而是首先針對(duì)具體問題設(shè)計(jì)出一個(gè)搜索引擎,利用此搜索引擎迭代地剔除掉那些與所估計(jì)的參數(shù)不一致的輸入數(shù)據(jù),即所謂的誤配點(diǎn),然后利用正確的輸入數(shù)據(jù)來估計(jì)參數(shù)。
圖3是經(jīng)過RANSAC算法提純之后的配準(zhǔn)點(diǎn)。
1.3 圖像融合
圖像融合技術(shù)是將配準(zhǔn)后的圖像序列進(jìn)行拼接、增加圖像信息量并消除接縫的過程。由于之前已經(jīng)進(jìn)行圖像的校正,減少了待拼接圖像的色差,這使得圖像的融合更加簡單。
本文采用加權(quán)平均的融合算法[11],使光強(qiáng)或顏色逐漸過渡,以避免圖像的模糊和明顯的接縫。本文選取0?1加權(quán)融合算法,在重疊區(qū)域中,權(quán)重函數(shù)[d1]由1漸變到0,[d2]處由0漸變到1,由此實(shí)現(xiàn)了在重疊區(qū)域平滑過渡。該方法的主要思想是:在重疊部分由前一幅圖像慢慢過渡到第二幅圖像,即將圖像重疊區(qū)域的像素值按一定權(quán)值相加合成新的圖像。假如[f1,f2]分別表示兩幅待融合的圖像,[d1(x),d2(x)]為加權(quán)函數(shù),[f]表示融合后的圖像,那么有:
[f(x,y)=f1(x,y),(x,y)∈f1d1f1(x,y)+d2f2(x,y),(x,y)∈(f1?f2)f2(x,y),(x,y)∈f2] (5)
這里,權(quán)重函數(shù)滿足[d1+d2=1,][0 圖3 RANSAC算法提純后的配準(zhǔn)點(diǎn) 0?1加權(quán)融合算法可以得到令人滿意的融合效果,但是對(duì)于較大圖片的融合,采用0?1加權(quán)融合的算法消耗的時(shí)間過長。例如,本文試驗(yàn)在頻率為1.73 Hz的處理器、內(nèi)存為2 GB的電腦上運(yùn)行,對(duì)于1 000×700的圖片拼接,需要時(shí)間為72.281 s。此時(shí),本文采取更加簡單快速的平均融合方法,即[d1]和[d2]均取值為0.5。此時(shí)1 000×700的圖片在同一臺(tái)電腦上運(yùn)行的時(shí)間為36.8 s,明顯提高了運(yùn)行速度。但是平均融合算法可能會(huì)使融合圖像出現(xiàn)明顯的帶狀瑕疵。 比較0?1加權(quán)融合算法和平均融合方法,平均融合方法更加快速,但是融合效果可能存在瑕疵;0?1加權(quán)融合算法得到的融合效果更好,但是融合速度相對(duì)較慢。可以根據(jù)對(duì)融合質(zhì)量和速度的要求選擇恰當(dāng)?shù)娜诤纤惴ā?/p> 2 拼接結(jié)果 本文針對(duì)有明顯色彩和亮度差異的圖片,提出了一種圖像拼接算法。圖4(a)是存在色差的原圖像的拼接,由于原圖像存在色差,導(dǎo)致融合后的圖像有明顯的拼接縫,嚴(yán)重影響了拼接效果。圖4(b)是進(jìn)行色彩校正后的圖像的拼接,色彩校正之后,兩幅圖像間的色差有了明顯的改善,融合后的全景圖像效果較之前有了顯著的提高。 圖4 原圖像的拼接和色彩校正后的拼接 3 結(jié) 論 本文提出了一種基于特征點(diǎn)的自動(dòng)拼接算法,該方法對(duì)于存在嚴(yán)重色差圖像的拼接有良好的魯棒性。對(duì)于獲取的待拼接圖像進(jìn)行色彩和亮度補(bǔ)償,得到適合色彩亮度一致的待拼接圖像,并調(diào)整參數(shù)選擇需要的亮度值。提取待拼接圖像的SIFT特征點(diǎn),采用最近鄰算法進(jìn)行特征點(diǎn)配準(zhǔn),進(jìn)一步地采用RANSAC算法對(duì)配準(zhǔn)點(diǎn)去偽運(yùn)算,實(shí)現(xiàn)圖像的準(zhǔn)確配準(zhǔn)。由于之前已經(jīng)進(jìn)行圖像的校正,減少了待拼接圖像的色差,這使得圖像的融合更加簡單。本文采用0?1加權(quán)融合算法和平均融合算法相結(jié)合的方法進(jìn)行圖像融合。平均融合方法更加快速,但是融合效果可能存在瑕疵;0?1加權(quán)融合算法得到的融合效果更好,但是融合速度相對(duì)較慢。可以根據(jù)對(duì)融合質(zhì)量和速度的要求選擇恰當(dāng)?shù)娜诤纤惴āS捎赟IFT算法計(jì)算量大,因此本文提出的拼接算法需要更多的內(nèi)存和運(yùn)行時(shí)間。未來的圖像拼接可以改善圖像配準(zhǔn)算法以節(jié)省內(nèi)存和運(yùn)行時(shí)間。 注:本文通訊作者為易子川。 參考文獻(xiàn) [1] Jin J S, Zhu Z, Xu G. A stable vision system for moving vehicles [J]. IEEE Transactions on Intell Transport Syst, 2000, 1 (1): 32?39. [2] SU M, WANG W H, CHENG K. Analysis on multiresolution mosaic images [J]. IEEE Transactions on Image Processing, 2004, 13(7): 952?959. [3] LEVIN A, ZOMET A, PELEG S, et al. Seamless image stitching in the gradient domain [C]// Proceedings of 2004 European Conference on Computer Vision. Prague, Czech Republic: ECCV, 2004: 377?389. [4] AGUIAR P M Q. Unsupervised simultaneous registration and exposure correction [C]// 2006 IEEE International Conference on Image Processing. [S.l.]: IEEE, 2006: 361?364. [5] UYTTENDAELE M, EDEN A, SZELISKI R. Eliminating ghosting and exposure artifacts in image mosaics [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. [S.l.]: IEEE, 2001: 509?516. [6] AGARWALA A. Efficient gradient?domain compositing using quadtrees [J]. ACM Transactions on Graphics (Proc. SIGGRAPH) , 2007, 26(3): 941?945. [7] LEVIN A, ZOMET A, PELEG S, et al. Seamless image stitching in the gradient domain [J]. Lecture Notes in Computer Science, 2004, 3024: 377?389. [8] BROWN M, LOWE D G. Automatic panoramic image stitching using invariant features [J]. International Journal of Computer Vision, 2007, 74(1): 59?73. [9] LOWE D G. Distinctive image features from scale?invariant keypoints [J]. International Journal of Computer Vision, 2004, 60(2): 91?110. [10] Fischler M A, Bolles R C. Random sample consensus:a paradigm for model fitting with applications to image analysis and automated cartography [J]. Communication Association Machine, 1981, 24(6): 381?395. [11] SZELISKI Richard. Video mosaic for virtual environments [J]. IEEE Computer Graphics and Applications, 1996, 16(2): 22?30.