蔣 敏 蔣品群* 宋樹祥 夏海英 李加亮
1(廣西師范大學電子工程學院 廣西 桂林 541004)
2(浙江郵電職業(yè)技術學院人工智能學院 浙江 紹興 312366)
圖像拼接算法是對兩幅或多幅具有一定重疊部分的圖像進行拼接,最終拼接成一幅包含輸入圖片信息的新圖像[1]。
特征點配準是圖像拼接的關鍵,Lowe[2]首次結合高斯模型和尺度空間,提出了基于尺度不變的特征變換(SIFT)算法。該算法穩(wěn)定性強,但速度慢。Rublee等[3]采用二進制描述子,提出ORB算法,配準速度得到提升,但穩(wěn)定性變差。邊佳旺等[4]在ORB算法的基礎上,提出基于網格運動統(tǒng)計(GMS)算法,速度快、穩(wěn)定性高,但存在誤匹配。Li等[5]將單應性應用到圖像中的直線匹配,提出了分層線匹配(HLM)算法,得到了高魯棒性的線匹配,為圖像拼接方法引入線特征奠定了堅實的基礎。針對目前圖像拼接算法采用單特征點配準,存在特征點豐富度不足,且存在誤匹配點的問題,本文在單特征點基礎上引入線特征匹配,并利用投影誤差約束以保證特征點的精準性。
圖像翹曲是圖像拼接的重點,Zaragoza等[6]提出盡可能投影變形(APAP)算法,將圖像進行網格劃分,分塊計算局部單應性以完成翹曲,圖像得到較好的對齊。Lin等[7]將單應性線性化,提出逼近自然變形(AANAP)算法,解決了透視失真問題。Li等[8]利用插值函數提出了基于魯棒性的彈性翹曲(REW)算法,對齊精度得到提升。但是,當輸入圖像具有較大視差時,以上算法均出現(xiàn)圖像未對齊、重影等現(xiàn)象。原因在于剛性的網格劃分破壞了圖像完整性,選取的映射中心點不夠準確,而中心點的準確度將直接影響拼接效果。為解決上述問題,本文利用超像素分割[9-10]算法對圖像進行保護性分割,得到精準的映射中心點,提高了圖像對齊精度,能輸出更高質量的拼接圖。
本文的圖像拼接算法流程如圖1所示。首先輸入具有重疊部分的兩幅圖片,使用SIFT、ORB結合GMS算法進行特征點提取與配準,并引入直線特征,結合單應性矩陣將直線特征點映射[11],映射偏差值作為約束以篩選匹配點;然后引入超像素分割代替剛性網格分割以更精準地劃分圖像,得到子圖像塊的中心點,在重疊區(qū)域進行局部翹曲,非重疊部分進行全局翹曲。最后使用余弦函數對圖像進行加權融合,輸出高質量的拼接圖像。
圖1 本文拼接算法流程
特征點的提取與配準是圖像拼接的第一步,本文利用SIFT、ORB結合GMS的策略對圖像的特征點進行提取和配準,以實現(xiàn)保留特征魯棒性的同時提升匹配精度[12-14]。線特征是圖像的又一重要特征,但是在圖像拼接研究中往往被忽略,并且,隨著線匹配的魯棒性的提升,為圖像特征匹配中引入線端點提供了堅實基礎。為此,本文使用了基于LSD(Line Segment Detector)描述符的直線特征匹配算法HLM,進行提取并匹配線特征,并將端點轉化為點特征,以完善特征點的豐富度,有利于拼接圖像的對齊。
AX=0
(1)
其中:
通過對式(1)的求解,即得到映射關系矩陣
(2)
圖像翹曲過程中采用局部變形可以有效對齊拼接圖像,傳統(tǒng)算法采取矩形分割方法進行分塊對齊,如圖2所示,矩陣分割具有簡單、易實現(xiàn)的特點,但剛性的圖像分割破壞了內容的完整性,即:某些子圖像中包含了多個平面的圖像,這嚴重違背了單應性映射的條件(映射點對需要位于同平面),選取的網格中心點可能無法準確代表網格內多平面的內容,從而影響拼接圖像的對齊。
圖2 參考圖矩形分割(50×50)
為解決傳統(tǒng)矩形分割破壞圖像完整性的問題,本文引入超像素算法對圖像進行保護性分割。超像素算法分割圖如圖3所示。該算法是一種將圖像中顏色、結構等相似且鄰近的像素點分類在同一個像素小塊中的分割算法,通過迭代,能得到代表所在像素塊特性的最佳中心點,從而有利于拼接圖像的對齊。
圖3 參考圖超像素分割
該算法首先將K個中心點均勻地分布在圖像中,假設圖片中像素點共有N個,則每個像素塊的大小為Q=N/K;在種子點選取時步長為S=sqrt(Q),然后為周圍的像素點找到所屬的最佳中心點,每個初始小塊的中心點為Nj=[lj,aj,bj,uj,vj]T,其中(l,a,b)表示在Lab顏色空間上,(u,v)表示空間坐標。本文分別從空間和顏色上衡量中心點與某一像素點Ni=[li,ai,bi,ui,vi]T的距離,如下所示:
(3)
(4)
(5)
式中:Ns是空間距離的最大值,Ns=S,Nc為顏色空間距離的最大值,Nc取固定值m,m∈[1,40]。根據距離公式,對圖像中的像素點分類,單個像素塊內的像素點通過迭代更新至收斂,得到新的中心點,最終得到超像素分割圖像。
超像素分割算法將參考圖分割成不同平面的子圖像,并且獲得各個子圖像的中心點。通過式(6)獲取映射關系。
(6)
對參考圖的全局映射關系H*進行局部加權,以獲得局部的映射關系h*,過程如下:
(7)
將參考圖的每個中心點作為待匹配點x*,通過估計其與匹配點集的高斯距離,求出權重值。
(8)
其中γ∈[0,1],δ是尺度參數, 將式(7)進行加權處理,得到:
(9)
為進一步處理拼接圖像的色差以及拼接縫問題,本文使用基于余弦函數的加權融合對圖像進行融合,傳統(tǒng)的線性加權平均融合算法具有簡單、易實現(xiàn)的優(yōu)點,但該算法減弱了圖片的信息,使得過渡區(qū)拼接縫明顯,圖像融合效果不佳。本文采用平滑度更高的余弦函數權重進行平滑,如下所示:
(10)
(11)
f1+f2=1
(12)
(13)
式中:d表示重疊區(qū)像素點的列值;l表示重疊區(qū)的左邊界所在列值;r表示右邊界所在的列值??煽闯?該平滑函數變化平滑,在重疊區(qū)的左半側時,左邊像素點權重增加,右邊像素點權重減少,右半側同理。余弦函數較平均加權函數更加的平滑,在重疊區(qū)兩邊能相應提高所在邊的權重,具有更高效的融合效果[16]。
本文實驗在Windows 10(2.8 GHz CPU,8 GB RAM)系統(tǒng)上進行,使用MATLAB 2017和Visual Studio 2017結合Vlfeat 0.9.20和OpenCV庫進行仿真。實驗數據來源于文獻公開數據集和本文采集的圖像。分別從主觀和客觀方面,在35組實驗中隨機選取8組實驗進行對比分析,以驗證本文算法的有效性。
首先將SIFT+RANSAC和ORB+GMS兩種傳統(tǒng)特征點算法與本文算法進行特征點提取數量以及匹配效率方面的比較,不同算法特征點配準圖實驗結果如圖4所示。
(a) SIFT+RANSAC (b) ORB+GMS
從圖4(a)可看出,圖中的特征點匹配對稀疏,特征豐富度不足,很多珍貴的內點未被提取,圖4(b)中的特征點對數目較圖4(a)有所提升,但特征點提取得不夠全面,許多關鍵特征都未被有效提取。圖4(c)中的單特征點與直線特征均被有效提取,與圖4(a)、圖4(b)比較,豐富度大大提高。將圖4(c)中的線特征端點轉化為點特征,得到圖4(d),圖4(d)中的特征點兼具豐富度與準確性,原因在于本文算法在單特征點基礎上引入線特征以提高特征點豐富度的同時利用去重約束保證了準確性。不同算法的特征點匹配數和耗時如表1所示。
表1 不同算法的特征匹配數和時間比較
可以看出,在特征匹配數量方面,本文算法的特征匹配數為SIFT+RANSAC算法匹配數的2.61~5.39倍,較ORB+GMS算法,本文特征點總數平均值提高了14.513%,有效豐富了特征點數量。
在特征匹配效率方面,ORB+GMS算法匹配耗時少,SIFT+RANSAC算法和本文算法耗時較多。本文較SIFT+RANSAC算法,特征匹配耗時平均值縮短了28.241%,最終耗時位于兩種算法之間。盡管ORB+GMS算法在效率方面有一定的優(yōu)勢,但其提取的特征不夠全面,遺漏了許多關鍵特征點。本文在保證匹配效率的情況下,提高了特征匹配數量。綜上,本文算法能有效豐富圖像特征。
為驗證本文方法的有效性,在同等條件下,本文算法與APAP、AANAP、REW等算法進行實驗比較。圖5為不同算法的拼接圖,圖6為不同算法對應的局部放大圖。
(a) APAP算法 (b) AANAP算法
(a) APAP算法 (b) AANAP算法
由圖5可知,APAP、AANAP、REW算法的拼接圖均出現(xiàn)不同程度的未對齊、重影等現(xiàn)象,本文算法的拼接圖中物體能較好地對齊,視覺效果更好。從圖6可知,APAP拼接圖中書籍發(fā)生未對齊、塑料袋卷發(fā)生重影現(xiàn)象,圖像失真嚴重;AANAP算法較APAP算法物體未對齊現(xiàn)象稍有緩解,但鋸齒現(xiàn)象明顯,且存在重影;REW算法較前兩者拼接效果有所提高,但書籍拼接縫明顯,塑料袋卷的重影問題仍未解決;本文算法得到的拼接圖像更自然,拼接圖像重疊部分的書籍紋理清晰,塑料袋卷得到有效對齊,消除了鋸齒、重影和拼接縫明顯等問題。
以上三種算法在特征點提取過程中,遺漏了珍貴的內點,使得翹曲不準確,影響拼接效果。在翹曲過程中,三種算法均使用了規(guī)則的網格劃分模型,圖像在分割過程中邊界以及周圍相似特征點沒有劃分在同一個區(qū)域塊中,選取的中心點可能同時包含多個平面,從而影響單應性的準確性,導致拼接效果不佳。本文提出的基于點線配準和超像素分割的圖像拼接算法,線特征點的加入,有效地豐富了特征點,并引入超像素算法實現(xiàn)圖像內容保護劃分和單應性的準確計算;有效解決了因圖像視差引起的拼接圖像變形、錯位、重影以及拼接縫明顯等問題,得到更自然、視覺效果更好的拼接圖像。
僅通過主觀評價不足以驗證本文算法的有效性,本文選取與人眼主觀評價一致性更高的NIQE算法對不同算法的拼接效果進行對比[17]。不同算法的NIQE值對比如表2所示。
表2 不同算法的NIQE值比較
從表2可知,本文的客觀評價指標值NIQE均小于APAP、AANAP及REW算法,較APAP算法NIQE值低了0.04~0.36,較AANAP算法NIQE值低了0.071~4.598,較REW算法NIQE值低了0.02~2.71。這說明本文算法得到的拼接圖與原圖更接近,質量更高。通過多組實驗驗證了本文算法的優(yōu)越性和有效性。
針對目前圖像拼接中出現(xiàn)的圖像錯位、重影等問題,經典的拼接算法均采用單特征點結合圖像矩形分割的方法,拼接圖中存在的問題未得到有效解決。本文首先在單特征點基礎上引入直線特征,以豐富圖像特征點,并使用映射關系和去重約束,確保特征點的準確性;然后利用超像素分割模型代替?zhèn)鹘y(tǒng)的網格劃分,使得圖像分割塊具有內容完整性,得到更準確的分塊中心點,提高了拼接圖像的對齊精度。結果表明,本文提出的基于點線配準和超像素分割的圖像拼接算法,無論是在主觀視覺上還是客觀評價指標上均優(yōu)于對比算法,有效解決了因圖像視差引起的拼接圖錯位、變形等問題。