李加亮,蔣品群,夏海英
(廣西師范大學(xué) 電子工程學(xué)院,廣西 桂林 541004)
圖像拼接是計算機視覺和圖形學(xué)的重要研究領(lǐng)域之一,該技術(shù)可以克服相機窄視角的局限性,獲取大視野圖片[1-2]。以AutoStitch和Photoshop等為代表的工具被廣泛應(yīng)用于全景圖像的制作[3-4],但當(dāng)相機的拍攝位置、角度發(fā)生較大偏移時,拼接的圖像就會產(chǎn)生重影和錯位的問題。通過優(yōu)化特征點的匹配和圖像的對齊,可以有效提升拼接質(zhì)量。
Lowe[5]在圖像的尺度空間中通過高斯微分函數(shù)檢測和描述局部興趣點,提出了尺度不變特征變換(scale-invariant feature transform, SIFT)算法,排除了旋轉(zhuǎn)、光照、仿射變換和噪音等因素對特征點匹配的影響,但結(jié)果仍會存在錯誤匹配。Bay等[6]采用盒式濾波器和積分圖像代替SIFT的高斯差分(difference of Gaussian, DoG)金字塔圖像,以獲取不同尺度圖像的關(guān)鍵點,提出加速穩(wěn)健特征(speeded up robust features, SURF)算法,加速了SIFT算法,但是降低了SIFT的尺度不變性。Rosten等[7]利用像素點與其圓形鄰域內(nèi)的像素點進行灰度值比較以檢測特征點,提出基于加速分割測試的特征(features from accelerated segment test, FAST)算法,提升了特征點檢測效率,但不具有尺度不變性。Rublee等[8]通過灰度質(zhì)心法為FAST角點增加方向(旋轉(zhuǎn)不變性),在每層金字塔圖像上進行角點的檢測進而引入尺度不變性,利用貪婪學(xué)習(xí)算法搜索出來的256對位置生成特征點描述符,提出快速定向旋轉(zhuǎn)二進制描述符(oriented fast and rotated brief, ORB),提升了算法的效率和準(zhǔn)確率,但沒有充分解決尺度不變性。邊佳旺等[9]基于ORB特征提出基于網(wǎng)格的運動統(tǒng)計(grid-based motion statistics, GMS)匹配方法,提升了特征的匹配率。陳方杰等[10]通過改變特征分?jǐn)?shù)統(tǒng)計的方法對GMS算法進行優(yōu)化,以提升算法的精度和速度?;贠RB特征的文獻[9]和文獻[10],仍然存在魯棒性和尺度不變性較差的問題。王青松等[11]和穆柯楠[12]使用特征點對之間的斜率約束去除錯誤匹配,但無法有效地處理旋轉(zhuǎn)類的圖像。Li等[13]通過貝葉斯模型優(yōu)化薄板樣條(thin-plate spline, TPS)函數(shù)[14]進而篩選特征點,特征點數(shù)量依賴于TPS的參數(shù)迭代。以FAST為核心的算法具有較高的實時性,但普遍缺乏尺度和旋轉(zhuǎn)的不變性?;赟IFT的算法則兼具尺度和旋轉(zhuǎn)不變性,能較好地滿足圖像拼接的特征點匹配要求,但是匹配結(jié)果中仍舊存在錯誤匹配,需要進一步篩選錯誤匹配點。
Gao等[15]利用2個單應(yīng)性變換(dual-homography warping, DHW),并由聚類法將特征點化分為近景和遠景2類并計算相應(yīng)的單應(yīng)矩陣,再利用2個線性加權(quán)的單應(yīng)矩陣對圖像進行對齊,圖像的對齊能力得到提升,但是忽視了圖像的局部對齊處理。Zaragoza等[16]將圖像網(wǎng)格化,通過移動線性變換(moving direct linear transformation, MDLT)對圖像進行加權(quán)變形,提出逼近投影(as-projective-as-possible image stitching, APAP)算法,很大程度上解決了因視差導(dǎo)致的圖像錯位和重影問題。Lin等[17]通過將單應(yīng)矩陣和相似變換矩陣相結(jié)合的方式約束圖像變形,得到了更加自然的拼接圖像。文獻[15-17]忽視了特征點的匹配誤差,最終導(dǎo)致了一些視差圖像的拼接結(jié)果中出現(xiàn)了物體變形和重影的問題。文獻[13]通過TPS函數(shù)約束全局單應(yīng)性變換,有效提升了全局對齊能力,但忽視了局部單應(yīng)性,拼接圖像易產(chǎn)生變形。文獻[18]構(gòu)建局部投影誤差的矯正場以解決局部未對齊的問題,但未進一步優(yōu)化圖像平滑模型。文獻[19]采用分段加權(quán)平均算法結(jié)合最佳縫合線的融合方法,利用加權(quán)融合方法在一定程度上消除了圖像的重影。文獻[20]采用線性平滑方式進行圖像融合,有效解決了部分重影問題。但是文獻[19-20]未考慮視差圖像的對齊精度。
針對以上問題,本文提出一種基于網(wǎng)格變形和余弦函數(shù)權(quán)重的圖像拼接方法——使用高斯分布模型去除了錯誤匹配的特征點;利用余弦函數(shù)模型對APAP變形模型和全局相似變換模型進行加權(quán),提高了變形模型的對齊能力;采用余弦函數(shù)模型對變形圖像進行更加平滑的加權(quán)融合,最終得到無重影、無色差縫隙的拼接圖像。
本文使用基于特征點和單應(yīng)性變換的方法進行圖像的拼接。首先,使用SIFT算法和隨機抽樣一致(random sample consensus, RANSAC)算法[21]對待拼接圖像進行特征點的提取與匹配;接著,利用高斯分布模型對特征點集合進行再匹配,計算出相應(yīng)的單應(yīng)性矩陣和相似變換矩陣;然后,將APAP變形模型和全局相似變換模型以非線性的方式加權(quán)結(jié)合,并利用該模型對圖像進行變形;最后,使用余弦函數(shù)權(quán)重對變形圖像的重合區(qū)域內(nèi)的像素進行平滑,得到更加自然的拼接圖像。
基于特征點的圖像拼接算法先利用SIFT算法配準(zhǔn)特征點,再利用RANSAC算法篩選特征點,并計算出待拼接圖像間的單應(yīng)性矩陣[15-17]。對參考圖像I1和目標(biāo)圖像I2進行特征點匹配,分別得到N對特征點(x,y)和(x′,y′),并使用p=[x,y, 1]T和q=[x′,y′, 1]T分別表示圖像I1和I2內(nèi)特征點對的齊次坐標(biāo),p′=[u,v, 1]T表示p在圖像I2內(nèi)的映射點。這種圖像對準(zhǔn)策略表現(xiàn)良好,但是在特征點匹配結(jié)果中仍然會出現(xiàn)部分錯誤匹配,如多對一匹配、偏差匹配等。僅依靠這種匹配策略不足以消除誤匹配,而且,特征點的錯誤匹配將直接影響圖像拼接的質(zhì)量。高斯分布模型常被用于樣本誤差的篩選[13],本文將特征點的映射偏差作為樣本誤差,利用高斯分布的模型判斷各個范圍內(nèi)的偏差發(fā)生的概率,提出一種利用高斯分布去除誤匹配的方法。
由式(1)和式(2)分別計算特征點在X和Y方向上的映射偏差。
Δx=u-x′,
(1)
Δy=v-y′。
(2)
分別計算Δx和Δy的均值μ和標(biāo)準(zhǔn)差σ。由3σ準(zhǔn)則可知,當(dāng)某個特征點與對應(yīng)的映射點的偏差大于μ+3σ,或者偏差小于μ-3σ,則該特征點對正確匹配的事件概率僅為0.27%,說明該對特征點大概率為錯誤匹配點,因此,將此類特征點對刪除。由此,將映射偏差轉(zhuǎn)化為概率事件,對特征點集合進行再匹配,最終得到精匹配的特征點集,并更新圖像間的映射關(guān)系。
圖1是原圖I1和I2的共有區(qū)域內(nèi)的特征點分布圖,利用圓圈標(biāo)記了錯誤匹配點對,利用線段量化了映射點與對應(yīng)特征點間的誤差。圖1(a)是利用SIFT和RANSAC算法得到的特征點分布圖,圖中出現(xiàn)了明顯的錯誤匹配點(如位于左下角的多對一類的錯誤匹配)。圖1(c)是圖1(a)的局部放大圖,可見圖中存在明顯的錯誤匹配對;圖1(b)是利用本文的高斯分布精匹配的特征點分布圖,圖中錯誤匹配點對已被刪除,圖1(d)是圖1(b)的局部放大圖,可見錯誤匹配對已被刪除,并且各個映射誤差均在特征點上。從圖1(c)和(d)中可以看出本文方法能有效刪除錯誤匹配的特征點,并且映射點與特征點基本重合,即映射誤差線段分布于特征點上,進一步說明更新后的圖像映射關(guān)系更加精確。
圖1 不同算法的圖像特征點分布
圖像的變形是圖像拼接的重要步驟,早期的變形模型是全局單應(yīng)性,但局限于極小視差場景,由于局部單應(yīng)性模型的對齊能力更強,基于局部單應(yīng)性的變形模型被廣泛應(yīng)用于圖像變形。在得到N對特征點后,利用APAP模型對待拼接圖像進行圖像變形,并結(jié)合全局相似性對非重合區(qū)域進行變換,以統(tǒng)一圖像視角。根據(jù)文獻[16],特征點對p和q間的關(guān)系可表示為:
(3)
(4)
特征點間的單應(yīng)性關(guān)系可表示為q~H·p,H=[h11h12h13;h21h22h23;h31h32h33],是3×3的單應(yīng)性矩陣。將特征點對p和q代入式(5)求解矩陣H的元素:
(5)
將式(5)表示為
Ah=0。
(6)
式中2N×9的系數(shù)矩陣A=[a1,a2,…,ai]T,ai是特征點對代入式(5)時的系數(shù)矩陣的前2行,i= 1, 2,…,N。
在解得H后,將圖像劃分為C1×C2個圖像塊(文獻[14]設(shè)置C1=C2=100),使用移動直接線性變換(moving direct linear transformation, MDLT)算法[16],利用高斯權(quán)重對H進行加權(quán),得到每個圖像塊的局部單應(yīng)性矩陣。文獻[17]將單應(yīng)性矩陣和相似變換矩陣以線性方式加權(quán)結(jié)合,克服了APAP變形模型的圖像畸變問題,得到了更自然的拼接圖像。本文使用更加平滑的余弦函數(shù)對單應(yīng)性矩陣和相似變換矩陣進行加權(quán):
HS1=[0.5-0.5·cos(π·α)]·S·H-1+[0.5+0.5·cos(π·α)],
(7)
HS2=[0.5-0.5·cos(π·α)]·S+[0.5+0.5·cos(π·α)]·H,
(8)
I1_p=HS1·I1,
(9)
I2_q=HS2·I2。
(10)
式中:H是單應(yīng)性矩陣;S是相似變換矩陣;α是線性系數(shù)[17];HS1和HS2分別是單應(yīng)性矩陣和相似變換矩陣的非線性結(jié)合形式;I1_p和I2_q分別是原圖像I1和I2的變形圖像。
實際計算中由圖像內(nèi)各個像素點對應(yīng)的映射索引進行后向插值,以提高運算效率。
圖2(a)、(b)、(c)和(d)分別是使用文獻[16]、文獻[17]、文獻[13]和本文的方法對圖像I2進行變形的網(wǎng)格圖像。圖2(a)和(b)出現(xiàn)了1.2節(jié)所述的因為特征點的錯誤匹配,導(dǎo)致變形圖像的左下角產(chǎn)生了物體變形的問題,APAP算法的變形圖像缺少相似變換的約束,因此,拼接視角有一定失真;圖2(b)和(c)出現(xiàn)了因重合區(qū)域向非重合區(qū)域過渡不平滑導(dǎo)致的局部不自然的扭曲;而本文使用非線性權(quán)重重新加權(quán)單應(yīng)性矩陣和相似變換矩陣,使圖像的網(wǎng)格變形更加平滑,因為非線性權(quán)重的特性使得圖像越靠右,相似變換的權(quán)重越大,得到的變形圖像越自然,從而得到更好的圖像視角。
圖2 不同算法的網(wǎng)格圖像的變形
待拼接圖像往往會帶有色差和一定的視差,導(dǎo)致拼接圖像產(chǎn)生色差縫隙和物體變形,并且當(dāng)重合區(qū)域內(nèi)存在運動物體時,會導(dǎo)致重影問題。基于加權(quán)融合的方法常被應(yīng)用于圖像拼接中,用于緩解或者消除色差縫隙、物體變形和重影問題。文獻[13,16]采用了實時性較強的加權(quán)平均法平滑圖像,但是它無法有效應(yīng)對較大色差或者物體運動場景;基于線性權(quán)重的漸入漸出方法被廣泛應(yīng)用于平滑待拼接圖像[18-20],該方法有效地提升了對色差縫隙、物體變形和重影等問題的處理能力,但是仍舊無法有效應(yīng)對大色差和運動場景。為了更好地解決這些問題,盡可能地減輕或者消除色差縫隙、物體變形和重影等,本文提出一種余弦函數(shù)平滑模型對圖像像素進行更加平滑的非線性過渡:
y1=0.5+0.5·cos(πx),
(11)
y2=0.5-0.5·cos(πx)。
(12)
式中x=(C-CL)/(CR-CL),C、CL和CR分別是重合區(qū)域內(nèi)待平滑像素點的列數(shù)值、待平滑像素點所在行的左端點的列數(shù)值和待平滑像素點所在行的右端點的列數(shù)值。
余弦函數(shù)和線性函數(shù)的圖像如圖3所示。
圖3 不同權(quán)重函數(shù)的對比
從圖3中可知,像素點權(quán)重從左右兩端趨向中心位置的變化中,余弦函數(shù)的權(quán)重值變化比線性的權(quán)值更加平滑,在融合圖的重合區(qū)域的左側(cè)分別提升了圖I1_p的像素占比、降低了圖I2_q的像素占比,相應(yīng)地提高左圖的像素比例;同理,融合圖的重合區(qū)域的右側(cè)分別提升了圖I2_q的像素占比、降低了圖I1_p的像素占比,相應(yīng)地提高右圖的像素比例。盡可能地降低因物體運動導(dǎo)致的重影問題,同時消除因色差導(dǎo)致的拼接縫隙。
圖4直觀地反映了使用加權(quán)平均法、線性加權(quán)和本文提出的余弦函數(shù)加權(quán)模型融合的效果,加權(quán)平均法的復(fù)雜度低,但只適用于極小色差場景,在圖4(c)和對應(yīng)的局部放大圖4(f)中出現(xiàn)了明顯的色差縫隙和重影的問題;圖4(d)和圖4(g)中,線性加權(quán)能有效地處理色差,但仍然產(chǎn)生了重影;本文方法使用余弦函數(shù)進一步地消除了重影,如圖4(h)所示,得到更加自然的融合圖像。
圖4 不同權(quán)重融合的圖像對比
本文的實驗環(huán)境為Windows 10 64位系統(tǒng)的計算機(Intel Core i5-8500 3.0 GHz CPU, 8 GiB RAM),仿真軟件為Matlab 2017。分別隨機地從文獻[13,15-17]和本文采集的圖像中選取40組作為測試樣本,以APAP[16]、SPHP[22]、AANAP[17]和ELA[13]算法拼接的圖像作為參考與本文實驗結(jié)果進行對比分析。實驗所涉及參數(shù)均與文獻[17]保持一致,如:C1=C2=100;RANSAC[21]的閾值為0.1;3σ準(zhǔn)則中設(shè)置σ系數(shù)為3;π取值3.14;MDLT[16]中的=0.1、σ=8.5等。實驗代碼來源于作者提供的源代碼。
從40組圖像集中隨機選取6組,分別使用基于SIFT和RANSAC的文獻[17]和本文方法計算各個特征點與對應(yīng)的映射點之間的差值,并分別計算X和Y方向的平均偏差,如表1所示。
從表1可以看出,對于同一圖像集,比較X和Y方向上的平均偏差,本文方法的平均偏差均大幅度小于文獻[17],說明本文方法能有效消除錯誤匹配的影響,降低誤匹配率,而且映射點的位置更加接近特征點,說明本文方法得到的映射關(guān)系更加準(zhǔn)確。因此,本文提出的高斯分布去除錯誤匹配的方法比文獻[17]使用的特征點匹配方法效果更佳。
表1 不同算法特征點與映射點之間的平均偏差
SPHP、AANAP與APAP算法的效率相當(dāng)[13],并且AANAP、ELA和本文方法均使用單應(yīng)性、相似性和加權(quán)融合,因此本文直接與AANAP和ELA算法進行效率對比。隨機選擇8組圖像進行測試,對比得到表2數(shù)據(jù)。
表2 不同算法運行時間的對比
表2展示了AANAP、ELA和本文方法拼接8組圖像的運行時間的對比結(jié)果。與基于一個全局單應(yīng)性和TPS網(wǎng)格插值的ELA算法(使用加權(quán)平均法融合圖像)相比,AANAP算法的效率明顯較低,原因是它基于局部變形,涉及計算C1×C2個局部單應(yīng)性矩陣以及相應(yīng)的線性平滑權(quán)重等,復(fù)雜度較高。本文方法同樣計算了C1×C2個局部單應(yīng)性矩陣、復(fù)雜度更高的非線性平滑權(quán)重和特征點的精匹配,而基于后向插值的映射方法有效地提升了圖像拼接的效率。
圖5(a)和圖5(b)分別為實驗“Box”和“park”的待拼接圖像,其中圖像“park”存在較大的視差,并且圖像中存在運動的人,因此,此類圖像的拼接結(jié)果中易出現(xiàn)重影和物體變形的問題,可有效檢視圖像拼接的質(zhì)量。
圖5 不同實驗待拼接圖像
圖6(a)、(c)、(e)、(g)和(i)分別是利用APAP、SPHP、AANAP、ELA和本文方法對圖像集“Box”進行拼接得到的拼接圖像,利用圓角矩形和箭頭標(biāo)記圖中出現(xiàn)的物體變形。圖6(b)、(d)、(f)、(h)和(j)分別是各個算法拼接圖像中出現(xiàn)變形處的局部放大圖。
圖6 實驗“Box”中不同算法的拼接結(jié)果
圖6(a)~(f)中出現(xiàn)了明顯的圖像未對齊問題,原因在于特征點的錯誤匹配導(dǎo)致拼接圖像中出現(xiàn)了如1.3節(jié)所述的物體變形,嚴(yán)重影響了拼接圖像的質(zhì)量。由于重合區(qū)域向非重合區(qū)域過渡不平滑導(dǎo)致圖6(g)出現(xiàn)不自然的扭曲,圖6(h)出現(xiàn)了物體變形。本文的拼接結(jié)果圖6(i),更加接近于原始圖像,局部放大的圖6 (j)直觀地反映了本文方法能有效避免圖像的物體變形。
圖7(a)、(c)、(e)、(g)和(i)分別是利用APAP、SPHP、AANAP、ELA和本文方法對視差圖像集“park”進行拼接得到的拼接圖像,利用圓角矩形對圖像的重影區(qū)域進行標(biāo)記。圖7(b)、(d)、(f)、(h)和(j)分別是各個方法拼接圖像中出現(xiàn)重影處的局部放大圖。圖像中,人的運動和圖像的視差使圖7(a)、(c)、(e)和(g)中出現(xiàn)了明顯的重影現(xiàn)象。APAP算法缺乏相似變換的約束,導(dǎo)致拼接圖像右側(cè)出現(xiàn)了物體被拉伸的畸變問題。使用分區(qū)域翹曲的SPHP算法,進一步放大了旋轉(zhuǎn)角度,拼接結(jié)果不自然。AANAP算法使用線性加權(quán)的方式對單應(yīng)性矩陣和相似變換矩陣進行融合,拼接圖像不夠平滑,在拼接圖像右側(cè)出現(xiàn)了不同程度的物體畸變問題。而ELA使用TPS函數(shù)約束全局單應(yīng)性,同時結(jié)合全局相似變換,保留了一定的局部對齊能力,得到了自然的拼接圖像,但是未考慮圖像的平滑處理,產(chǎn)生了重影(圖7(h))。本文提出更加平滑的權(quán)重模型,有效地消除了圖像中的重影,同時非線性結(jié)合了局部對齊模型,增加了對齊能力,也消除了物體的畸變,得到了高質(zhì)量的拼接圖像。
圖7 實驗“park”中不同算法的拼接效果
為了客觀評價拼接圖像的質(zhì)量,本文采用自然性圖像評估(natural image quality evaluator, NIQE)算法[23]對拼接圖像進行融合質(zhì)量評估。NIQE算法與人眼主觀質(zhì)量評價有著更好的一致性,更接近人類視覺系統(tǒng),能夠有效地進行圖像質(zhì)量評價。該算法首先在原始圖像中提取圖像特征,然后利用多元高斯(multivariate Gaussian, MG)模型進行建模,最后計算待評估的圖像與預(yù)先建立的模型參數(shù)之間的距離來確定圖像質(zhì)量。NIQE指標(biāo)越小,表示圖像質(zhì)量越好。圖8分別給出了APAP、SPHP、AANAP、ELA和本文方法的NIQE評價結(jié)果。
從圖8中的40組實驗對比結(jié)果可以看出,其中REWgym、building1、garden、forest、round、seaport、sky、skyline、station等9組實驗,由于原圖中的視差、色差、運動誤差等因素,使得本文方法的NIQE指標(biāo)稍高,其余31組實驗,本文方法的NIQE指標(biāo)均低于APAP、SPHP、AANAP和ELA的NIQE指標(biāo),拼接圖像效果與評估指標(biāo)保持一致。說明相對于APAP、SPHP、AANAP和ELA算法,本文方法可以更有效地處理大部分圖像,得到質(zhì)量更高的拼接圖像。
圖8 不同算法拼接圖像的質(zhì)量對比
針對圖像拼接中易出現(xiàn)物體變形和重影的現(xiàn)象,本文首先利用高斯分布模型去除了錯誤匹配的特征點,其次利用余弦函數(shù)模型分別優(yōu)化網(wǎng)格變形模型和圖像像素平滑模型,以提升拼接圖像的質(zhì)量,最后通過主觀的視覺觀察、算法運行效率和自然性圖像評估算法等對實驗結(jié)果進行定性和定量的評估,結(jié)果表明:本文提出的基于網(wǎng)格變形和余弦函數(shù)權(quán)重的圖像拼接方法,拼接效果優(yōu)于APAP、SPHP、AANAN和ELA等算法,在保證算法效率的同時,也能有效避免因為特征點的錯誤匹配、圖像視差和色差導(dǎo)致拼接圖像中物體變形、重影和色差縫隙的問題,在圖像拼接中具有一定的貢獻。但同時,本文工作仍然存在不足,如對于大視差圖像的拼接效果不理想、算法實時性低等。后繼工作將進一步研究圖像變形模型,以提高對大視差圖像的拼接能力。