劉 杰,游品鴻,占建斌,劉金鳳
(1.哈爾濱理工大學(xué) 電氣與電子工程學(xué)院,黑龍江 哈爾濱 150080;2.工程電介質(zhì)及應(yīng)用技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室(哈爾濱理工大學(xué)),黑龍江 哈爾濱 150080)
近年來(lái),圖像拼接技術(shù)是計(jì)算機(jī)視覺(jué)以及虛擬現(xiàn)實(shí)(Virtual Reality,VR)領(lǐng)域的一個(gè)研究的熱點(diǎn)。該技術(shù)在軍事、汽車(chē)電子領(lǐng)域、醫(yī)學(xué)圖像以及圖像遙感等領(lǐng)域被廣泛應(yīng)用[1-2]。然而圖像的采集受到光照、環(huán)境以及相機(jī)視角等參數(shù)的影響,圖像拼接得到的結(jié)果會(huì)出現(xiàn)失真、鬼影及曝光差異等問(wèn)題。
當(dāng)前,圖像拼接算法可以分為基于空間域和頻域兩大類(lèi)[3-4]??臻g域主要應(yīng)用的是基于特征的圖像拼接,其特點(diǎn)對(duì)圖像旋轉(zhuǎn)、尺度縮放的性能較為突出,已被國(guó)內(nèi)外研究者廣泛地研究[5],常見(jiàn)特征提取算法包括:加速魯棒特征算法(Speed-Up Robust Features,SURF)[6-7]、旋轉(zhuǎn)不變性二進(jìn)制描述算法(Oriented FAST and Rotated BRIEF,ORB)[8-9]、尺度不變特征算法(Scale Invariable Feature Transform,SIFT)[10-11]等。其中SURF算法不能較好地保留邊緣信息以及細(xì)節(jié),ORB算法的計(jì)算速度快,但其二進(jìn)制獨(dú)立魯棒特征(Binary Robust Independent Elementary Feature,BRIEF)不具有尺度不變特征。Lowe[10]提出的SIFT算法在尺度、旋轉(zhuǎn)以及光照等變換上具有較高的匹配率,但對(duì)穩(wěn)定點(diǎn)提取的速率有很大缺陷。Chin等[12]提出了基于SIFT算法的逼近投影變換,該算法將圖像密集劃分成網(wǎng)格,對(duì)每個(gè)網(wǎng)格進(jìn)行投影,并給出了該算法高效的計(jì)算過(guò)程,但匹配速率相對(duì)較慢。牛燕雄等[13]利用高速分段特征檢測(cè)器對(duì)特征進(jìn)行提取,通過(guò)高斯差分算子簡(jiǎn)化搜索過(guò)程,提高了算法的速度,但對(duì)拼接圖像出現(xiàn)的鬼影問(wèn)題沒(méi)有過(guò)多地考慮。吳磊等[14]利用多尺度遞歸網(wǎng)絡(luò)對(duì)圖像進(jìn)行超分辨率重建,其結(jié)果對(duì)圖像紋理和視覺(jué)效果得到明顯的增強(qiáng),但算法的復(fù)雜度高,處理時(shí)間長(zhǎng)。雖然這些圖像拼接算法在圖像拼接質(zhì)量及拼接速度方面都在不斷改進(jìn),但針對(duì)的問(wèn)題都比較單一,沒(méi)有同時(shí)考慮算法的速度與圖像質(zhì)量的問(wèn)題。
針對(duì)上述問(wèn)題以及SIFT在無(wú)相似點(diǎn)搜索時(shí)間過(guò)長(zhǎng)的問(wèn)題,本文提出一種改進(jìn)SIFT快速圖像拼接和重影優(yōu)化算法,提前劃分有效的區(qū)域,減少圖像配準(zhǔn)在無(wú)效區(qū)域的時(shí)間。然后通過(guò)特征點(diǎn)計(jì)算最優(yōu)擬合變換對(duì)圖像進(jìn)行投影,能有效減少圖像拼接的重影問(wèn)題。
本文提出的圖像拼接算法包括圖像獲取、預(yù)處理、圖像之間的相似性分塊、SIFT算法的配準(zhǔn)、多重投影拼接以及圖像融合。具體流程如圖1所示。
圖1 圖像拼接流程圖Fig.1 Image stitching flowchart
圖像拼接的第一步是從外界獲取圖像,由于對(duì)圖像獲取的設(shè)備不同,所采集的圖像因設(shè)備或環(huán)境的不同,在一定程度會(huì)對(duì)圖像拼接產(chǎn)生影響,所以需對(duì)圖像進(jìn)行預(yù)處理,以便減少外界因素所帶來(lái)的影響。第二步是對(duì)圖像進(jìn)行區(qū)域分塊以及特征點(diǎn)的提取和檢測(cè),通過(guò)計(jì)算圖像信息相似性(Mutual Information,MI)值來(lái)判斷是否為重合區(qū)域,以此依據(jù)來(lái)進(jìn)行SIFT配準(zhǔn),能夠有效的減少配準(zhǔn)的時(shí)間。第三部分是圖像的融合,將已經(jīng)提取的特征點(diǎn)進(jìn)行圖像的拼接,現(xiàn)在多數(shù)的圖像拼接都是通過(guò)已得到的特征點(diǎn)通過(guò)最小二乘法得到變換矩陣進(jìn)行圖像拼接,這種方法由于特征點(diǎn)集中區(qū)域不同,使得拼接的時(shí)候會(huì)出現(xiàn)鬼影或重影,雖然能通過(guò)融合算法進(jìn)行淡化,但對(duì)復(fù)雜的環(huán)境效果較差。本文通過(guò)重合區(qū)域的多次投影進(jìn)行投影矯正,使結(jié)果能有效的減少拼接所帶來(lái)的重影問(wèn)題,能有效的提高圖像融合的質(zhì)量。
圖像配準(zhǔn)是整個(gè)圖像拼接的核心,也是圖像拼接算法最為復(fù)雜以及耗時(shí)的部分。通過(guò)圖像的配準(zhǔn)能將圖像之間的特征點(diǎn)進(jìn)行檢測(cè)以及提取,將獲取到的特征點(diǎn)通過(guò)計(jì)算得到圖像的變換參數(shù),從而根據(jù)參數(shù)進(jìn)行圖像之間的拼接。
SIFT算法是利用不同的尺度空間的圖像進(jìn)行相鄰圖層的極值點(diǎn)的尋找,并對(duì)該極值點(diǎn)進(jìn)行描述,生成特征點(diǎn)。其優(yōu)點(diǎn)是對(duì)圖像旋轉(zhuǎn)、大小無(wú)關(guān),對(duì)光線、噪聲、微視角改變等都具有很好的魯棒性。因而在物體識(shí)別、地圖感知與導(dǎo)航、圖像縫合、圖像追蹤等領(lǐng)域應(yīng)用廣泛。算法的主要步驟為:尺度空間的極值檢測(cè),特征點(diǎn)的定位,特征點(diǎn)的方向確定,以及特征點(diǎn)的描述。
尺度空間的建立主要是為了尋找空間上的極值點(diǎn)。將目標(biāo)圖像通過(guò)高斯函數(shù)對(duì)圖像進(jìn)行濾波,得到一系列平滑的圖像,即為尺度空間。
一幅二維的圖像I(x,y)通過(guò)二維的高斯核函數(shù)進(jìn)行卷積來(lái)建立圖像的尺度空間L(x,y,σ),其表達(dá)式為:
L(x,y,σ)=G(x,y,σ)?I(x,y),
(1)
(2)
其中:式(2)為高斯核函數(shù),σ為尺度空間因子,該因子決定圖像的模糊程度,其值越小圖像細(xì)節(jié)越清晰。
由于LoG(高斯拉普拉斯方法)效率不高,因此通過(guò)高斯金字塔,將相鄰兩層相減得到高斯差分函數(shù)DoG,由DOG來(lái)近似LoG進(jìn)行運(yùn)算:
D(x,y,σ)=(G(x,y,kσ)-G(x,y,σ))*I(x,y)=
L(x,y,kσ)-L(x,y,σ),
(3)
其中k是相鄰兩個(gè)尺度空間的比例因子。
通過(guò)尺度空間的建立,獲得高斯差分金字塔。為了獲取高斯差分函數(shù)的局部極值點(diǎn),對(duì)每一個(gè)像素點(diǎn)和它相鄰的所有點(diǎn)進(jìn)行比較,看是否比它的圖像域和尺度域的相鄰點(diǎn)大或小,若滿足則該點(diǎn)為極值點(diǎn),否則切換到下一個(gè)點(diǎn)進(jìn)行比較。
通過(guò)上述的極值點(diǎn)獲取方式會(huì)出現(xiàn)低對(duì)比度的特征點(diǎn),為了剔除這些點(diǎn)將高斯差分函數(shù)進(jìn)行Taylor展開(kāi)式為:
(4)
對(duì)該函數(shù)進(jìn)行求導(dǎo),并令其導(dǎo)值為零。即:
關(guān)鍵點(diǎn)是由DoG空間的局部極值點(diǎn)組成。利用特征點(diǎn)具有尺度不變性確定關(guān)鍵點(diǎn)方向,在高斯尺度圖像的局部結(jié)構(gòu)求得一個(gè)方向基準(zhǔn),之后利用圖像的梯度直方圖進(jìn)行局部圖像結(jié)構(gòu)的穩(wěn)定方向求取。像素梯度的幅值和幅角的計(jì)算公式如下:
(6)
(7)
以坐標(biāo)軸旋轉(zhuǎn)為最大值的主方向,將關(guān)鍵點(diǎn)作為中心,對(duì)附近鄰域進(jìn)行4×4的小區(qū)域提取,即16個(gè)子區(qū)域。將每個(gè)區(qū)域的360°幅角進(jìn)行8等分,根據(jù)領(lǐng)域像素梯度幅度角的大小,將其歸于
8個(gè)方向中,從而構(gòu)成8個(gè)不同方向的向量,最終形成每個(gè)點(diǎn)128維的描述向量。描述向量通過(guò)歐式距離以及在選定范圍的閾值進(jìn)行比較,滿足該閾值則可以作為該圖像的匹配點(diǎn)。
關(guān)鍵點(diǎn)的確定占整個(gè)SIFT算法時(shí)間的80%以上,同時(shí)傳統(tǒng)SIFT圖像拼接會(huì)帶來(lái)重影的問(wèn)題,為了提高無(wú)用區(qū)域的搜索時(shí)間以及減少重影的問(wèn)題,本文提出了一種改進(jìn)SIFT快速圖像拼接和重影優(yōu)化算法。
只有圖像之間重合的區(qū)域才是有用的特征點(diǎn),其他圖像區(qū)域稱之為無(wú)效區(qū)域。因此通過(guò)算法計(jì)算出圖像重合區(qū)域能有效減少SIFT算法對(duì)圖像搜索的時(shí)間。
對(duì)采集到的像素為x×y的圖像,將其均勻分為n個(gè)區(qū)域塊。每個(gè)區(qū)域塊所消耗的時(shí)間為ti,用SIFT對(duì)兩幅圖像進(jìn)行配準(zhǔn)所需要的時(shí)間為2ts。一般場(chǎng)景中,用于圖像拼接序列中,相鄰圖像的相似比例不低于40%[15-16]。如圖2所示,左圖為待匹配的圖像,右圖是參考圖像。將圖像分成5個(gè)區(qū)域塊,根據(jù)劃分塊進(jìn)行相關(guān)系數(shù)的計(jì)算,取系數(shù)大于0.82或重合區(qū)域較少時(shí)取系數(shù)最大值為特征點(diǎn)匹配區(qū)域。
圖2 區(qū)域分塊Fig.2 Regional block
在圖2中,將待匹配的圖像中的1′區(qū)域與參考區(qū)域的1進(jìn)行相關(guān)系數(shù)計(jì)算,依次往后是1′的區(qū)域與2區(qū)域進(jìn)行計(jì)算,直到計(jì)算到5~5′部分結(jié)束,通過(guò)結(jié)果對(duì)比取相關(guān)系數(shù)最大的值為相似區(qū)域。本著兩幅圖像的相似區(qū)域太多在實(shí)際的生活中應(yīng)用較少的原則,本次實(shí)驗(yàn)采集到的圖像數(shù)據(jù),其相似部分占整幅圖像的3/5以內(nèi)。在對(duì)兩幅圖像進(jìn)行拼接時(shí),傳統(tǒng)的SIFT算法對(duì)兩幅圖像檢測(cè)所需要的總時(shí)間為t=2ts,在相似區(qū)域塊未確定之前,兩幅圖像所需要的總時(shí)間為t=2ts=5×5ti。當(dāng)相似區(qū)域塊確定時(shí)(假設(shè)檢測(cè)到一個(gè)區(qū)域塊),單幅圖像特征檢測(cè)所需要的時(shí)間為ti,兩幅圖像特征點(diǎn)檢測(cè)時(shí)間為t=2t?2ts。因此,若能快速的判斷圖像相似區(qū)域,就能極大地縮減SIFT算法的計(jì)算時(shí)間。
要想計(jì)算出重合區(qū)域塊,需要對(duì)相似性的度量有著明確的標(biāo)準(zhǔn)?;趦蓤D像之間的共享信息數(shù)量的相似性對(duì)光線和咬合的變換不敏感,有著很好的魯棒性和精確性。將圖像進(jìn)行5等分,其中I1與I2是兩幅要匹配的圖像,相應(yīng)的兩幅圖像的信息相似性MI為:
MI(I1,I2)=E(I1)+E(I2)-E(I1,I2),
(8)
其中:
E(I)=-ΣgpI(g)logpI(g),
(9)
E(I1,I2)=-Σg,hpI1,I2(g,h)logpI1,I2(g,h)),
(10)
其中:g和h分別是圖像I1(x,y)和I2(x,y)的灰度值,pI1,I2(g,h)是g和h的相似性分布函數(shù)。通過(guò)計(jì)算MI的值的大小來(lái)確定兩幅圖像之間的相似性,進(jìn)而判斷該區(qū)域是否為兩幅圖像的重合區(qū)域。而通過(guò)提高M(jìn)I的計(jì)算速度能快速的搜索出相似區(qū)域,該算法的簡(jiǎn)化可參考文獻(xiàn)[17-18]。
圖像之間的相似性是圖像的一種固有的性質(zhì)。不同區(qū)域的相似性是不一樣的,當(dāng)兩幅圖像之間的相似性越高,MI的值就越大。通過(guò)此種方法能夠有效的減低SIFT算法的匹配時(shí)間,同時(shí)也能提高特征點(diǎn)的匹配率。
為了將圖像全部呈現(xiàn)在同一個(gè)平面上,需建立一個(gè)幾何的空間坐標(biāo)變換使得一幅圖像能夠通過(guò)坐標(biāo)變換映射到另外一幅圖像上。常用的坐標(biāo)變換有剛性變換、相似變換、仿射變換和投影變換,考慮到圖像在拍攝過(guò)程處于的環(huán)境不同以及圖像獲取方式所帶來(lái)的圖像特征的不同,采用投影變換完成圖像之間的投影坐標(biāo)變換。其變換的模型為:
(11)
對(duì)一些簡(jiǎn)單的圖像,第一次投影變換就能很好的將圖像進(jìn)行拼接,但對(duì)于相對(duì)復(fù)雜的環(huán)境時(shí),投影變換的直接拼接會(huì)造成很?chē)?yán)重的重影以及鬼影問(wèn)題。所以有必要對(duì)拼接的圖像進(jìn)行鬼影的消除或減弱。由公式(11)得到投影矩陣H,通過(guò)矩陣H將圖像進(jìn)行第一次拼接。
圖3 矩陣偏離示意圖Fig.3 Matrix deviation diagram
(12)
(13)
針對(duì)圖像拼接之后,會(huì)在重疊的區(qū)域有著很明顯的拼接痕跡、斷裂感,需對(duì)圖像進(jìn)行融合的操作。對(duì)兩幅圖像I1與I2的重合區(qū)域進(jìn)行漸入漸出加權(quán)平均算法融合操作,其原理如公式(14)所示:
(14)
其中:I1與I2是兩幅要匹配的圖像,α為權(quán)重系數(shù)其取值范圍為0~1之間,重合區(qū)域變換的規(guī)律是I1的重合區(qū)域圖像從0到1變換,I2的重合區(qū)域是從1到0之間的變換規(guī)律,根據(jù)此原理拼接之后的重合區(qū)域能夠?qū)崿F(xiàn)平滑,達(dá)到拼接之后從視覺(jué)上看是一張圖像的效果。
實(shí)驗(yàn)所用平臺(tái)的CPU為Inter i5-8300H@2.30 GHz,內(nèi)存為8 G的Windows7系統(tǒng)下完成,軟件平臺(tái)為:MATLAB9.3(R2017b)。
為了對(duì)本算法的魯棒性進(jìn)行驗(yàn)證,本文對(duì)圖像的縮放、添噪聲、平移等幾個(gè)方面進(jìn)行驗(yàn)證,具體的實(shí)驗(yàn)數(shù)據(jù)結(jié)果如圖4所示。從圖4中可以看出,在不同的干擾下,本算法能夠有很好的魯棒性。因此本算法能夠穩(wěn)定地進(jìn)行圖像的特征點(diǎn)匹配。
圖4 魯棒性測(cè)試圖Fig.4 Robustness test diagram
通過(guò)將圖5進(jìn)行五等分區(qū)進(jìn)行區(qū)域塊的相似性判斷,其中A與A′相對(duì)應(yīng),B與B′相對(duì)應(yīng),以此類(lèi)推。結(jié)果如圖5所示,對(duì)參考圖像以及待匹配的圖像進(jìn)行分區(qū)。
圖5 兩幅分割圖像Fig.5 Two segmented images
利用傳統(tǒng)區(qū)域灰度平均值作為輔助測(cè)量方法[19],結(jié)果如圖6所示,左圖和右圖的橫坐標(biāo)都是區(qū)域的分塊部分,其中數(shù)值對(duì)應(yīng)的分塊部分為A-A′,A-B′,A-C′,…,E-E′,左圖的縱坐標(biāo)是MI相似性數(shù)值,右圖縱坐標(biāo)是像素灰度值的均差。圖像信息相似性MI值越大說(shuō)明圖像之間的相同區(qū)域關(guān)系就越大,與之相反的其均差就越小。從圖6中可以看到,在左圖中D-A′與E-B′兩個(gè)區(qū)域的所對(duì)應(yīng)的MI值相對(duì)較高,其值分別對(duì)應(yīng)0.91與0.84,右圖中的灰度值的均差部分在D-A′與E-B′區(qū)域的均值最小,其值分別對(duì)應(yīng)0.002與0.003,MI值最大的兩個(gè)區(qū)域與均值最小的兩個(gè)區(qū)域是一致的,由此可以看出這兩塊所對(duì)應(yīng)的區(qū)域是重合最多的部分。
圖6 區(qū)域塊測(cè)量Fig.6 Area block measurement
本文通過(guò)3組不同角度的圖像數(shù)據(jù)進(jìn)行相似性分塊,與文獻(xiàn)[11],文獻(xiàn)[13],APAP[12],ANAP[20]的特征提取算法進(jìn)行比較,其中文獻(xiàn)[11]采用SIFT+RANSAC算法進(jìn)行圖像拼接,文獻(xiàn)[13]采用高速分段特征檢測(cè)算法進(jìn)行圖像拼接。實(shí)驗(yàn)數(shù)據(jù)的像素大小分別為600×800 pixel,512×683 pixel和320×427 pixel,如圖7所示。其中實(shí)驗(yàn)結(jié)果的數(shù)據(jù)如表1所示。
圖7 手持相機(jī)拍攝圖像Fig.7 Photographs taken by hand-held cameras
由表1可以看出,本文提出的分塊算法在特征點(diǎn)檢測(cè)上有著明顯的速度提升,較文獻(xiàn)[11]的算法提高大約58%,與文獻(xiàn)[13]相比提高大約14%。而APAP與ANAP算法對(duì)特征提取無(wú)算法優(yōu)化,所以結(jié)果與文獻(xiàn)[11]相差不大。
如圖8所示為算法拼接比較,在圖8(a)中,圖像拼接的效果從上至下不斷提高,可以看到文獻(xiàn)[11],文獻(xiàn)[22],APAP,ANAP這四種算法重合部分還是出現(xiàn)局部的重影,而采用本文算法重合部分的重影基本去除;在圖像(b)中,其他四種算法都在圖像的局部出現(xiàn)重影或?qū)R之后線條消失的情況,而本文算法的拼接結(jié)果要優(yōu)于其他算法,其結(jié)果無(wú)明顯的圖像的重影問(wèn)題。從圖8的拼接結(jié)果可以明顯看出本文的二次投影拼接效果明顯。
為了驗(yàn)證本文的圖像拼接算法的效果,現(xiàn)給出三組在不同角度以及場(chǎng)景下進(jìn)行拍攝的圖像數(shù)據(jù)對(duì)算法進(jìn)行驗(yàn)證,其拼接的結(jié)果如圖7所示。通過(guò)較為常用的圖像客觀評(píng)價(jià)指標(biāo)——結(jié)構(gòu)相似性(Structural Similarity,SSIM)[21-22]以及邊緣差分譜評(píng)價(jià)法(Difference of Edge Map,DoEM)[23]對(duì)拼接的圖像進(jìn)行質(zhì)量評(píng)價(jià)。
SSIM算法的評(píng)分內(nèi)容主要體現(xiàn)在:亮度、對(duì)比度、結(jié)構(gòu)。具體公式如(15)所示:
(15)
其中:μX與μY分別表示圖像X與Y的方差,σXY表示圖像X與Y的協(xié)方差,C1與C2為常數(shù),通常取C1=(K1×L)2,C2=(K2×L)2,一般地K1=0.01,K2=0.03,L=255。
DoEM算法主要注重圖像拼接部位是否有錯(cuò)位以及邊界過(guò)渡是否平滑等方面[23],其算法評(píng)價(jià)的內(nèi)容有三個(gè)步驟:圖像邊緣檢測(cè)、圖像邊緣差分譜構(gòu)建、統(tǒng)計(jì)差分譜信息并計(jì)算評(píng)分。其具體公式如(16)所示:
(16)
其中:μe為邊緣差分譜過(guò)渡區(qū)域邊界區(qū)均值,μa為過(guò)渡區(qū)域整體均值,σ2為過(guò)渡區(qū)域整體方差。C1,C2,C3,C4分別為4個(gè)常量,設(shè)定參數(shù)為:C1=80,C2=50,C3=600,C4=256。
其圖像質(zhì)量提升率用Quality表示,計(jì)算方式如(17)所示:
Quality=(M-N)×100%.
(17)
通過(guò)SSIM算法與DoEM算法對(duì)三種圖像拼接的結(jié)果進(jìn)行質(zhì)量對(duì)比,與文獻(xiàn)[11]相比本文算法在圖像質(zhì)量上提升約10%,與文獻(xiàn)[22]相比提升約5%。與APAP相比提升較明顯,而對(duì)于ANAP雖然提升約2%,但是本文的特征點(diǎn)提取速度有著顯著提升。說(shuō)明了本文算法的有效性。
表2 SSIM與DoEM拼接質(zhì)量對(duì)比
本文針對(duì)SIFT算法在實(shí)際應(yīng)用中的實(shí)時(shí)性問(wèn)題以及圖像拼接出現(xiàn)的重影所帶來(lái)的質(zhì)量問(wèn)題,提出了改進(jìn)SIFT快速圖像拼接和重影優(yōu)化算法,并通過(guò)算法的運(yùn)行時(shí)間以及圖像質(zhì)量等參數(shù)指標(biāo)驗(yàn)證本算法的可行性。在運(yùn)行時(shí)間方面,通過(guò)圖像之間的相似性搜索出兩幅圖像的重合部分,減少無(wú)用區(qū)域搜索時(shí)間,與SIFT相比,特征點(diǎn)檢測(cè)時(shí)間提高了58%。在圖像質(zhì)量方面,通過(guò)最佳擬合相似變換找出最優(yōu)投影矩陣對(duì)圖像質(zhì)量進(jìn)行優(yōu)化,采用兩個(gè)客觀評(píng)價(jià)指標(biāo)對(duì)圖像進(jìn)行客觀評(píng)價(jià),其評(píng)價(jià)指標(biāo)結(jié)果要優(yōu)于其他算法。實(shí)驗(yàn)結(jié)果表明,本文提出的算法能夠有效的降低SIFT算法的時(shí)間以及提高圖像拼接的質(zhì)量,驗(yàn)證了算法的有效性。