屈玳輝, 謝益武
(大連海事大學(xué) 信息科學(xué)技術(shù)學(xué)院,遼寧 大連 116033)
限于相機的畫幅,很難一次拍攝得到全景圖像,此時需要多次拍攝然后拼接得到全景圖像。在拍攝時,由于拍攝平面不同,將會導(dǎo)致相鄰待拼接圖像具有視差,在配準(zhǔn)拼接時會出現(xiàn)重影,嚴(yán)重影響感官[1-4]。
國內(nèi)外許多學(xué)者對具有視差的圖像拼接算法進行了研究。例如,張朝偉等[5]提出使用優(yōu)化SIFT算法[6](Scale Invariant Feature Transform)實現(xiàn)特征匹配,然后使用隨機采樣一致性算法得到內(nèi)點,以此計算出相鄰圖像的變換參數(shù),然后完成融合。該算法對視差較小的圖像拼接效果較好,但是對具有大視差的圖像拼接效果較差,會出現(xiàn)嚴(yán)重重影;而且SIFT算法匹配速度較慢,嚴(yán)重影響拼接效率。謝雨來等[7]提出使用SURF(Speeded Up Robust Feature)算法[8]完成特征匹配,得到形變參數(shù)后,使用雙線性差值算法配準(zhǔn)圖像,最后使用加權(quán)平均法融合。SURF算法特征匹配速度遠超過SIFT算法,可加速拼接算法;得到形變參數(shù)后對待拼接圖像重采樣,從而使配準(zhǔn)精度增加。為了得到更好的拼接圖像,有學(xué)者提出首先使用SIFT算法完成特征匹配,然后把拼接圖像劃分為前后景,分別計算前后景圖像的變換參數(shù),分別配準(zhǔn)融合[9]。該算法相較前兩種算法配準(zhǔn)精度較高,對視差較小的圖像配準(zhǔn)效果較好,但是對大視差圖像拼接效果不佳。文獻[10]提出APAP(As-Projective-As-Possible Image Stitching)模型,先使用SIFT算法完成特征匹配,再用隨機采樣一致性算法(Random Sample Consensus,RANSAC)篩選內(nèi)點,然后對目標(biāo)圖像網(wǎng)格劃分建立Moving_DLT(Moving Direct Linear Transform)方程,根據(jù)特征點分布解Moving_DLT方程,并對每個網(wǎng)格形變矩陣高斯加權(quán),最后配準(zhǔn)圖像,對重疊區(qū)域加權(quán)融合。在APAP模型的基礎(chǔ)上,有學(xué)者提出盡可能投影算法(Adaptive As-Natural-As-possible,AANAP)[11],該算法對目標(biāo)圖像和待匹配圖像同時形變配準(zhǔn),并且借助隨機采樣一致性算法得到全局最優(yōu)相似變換矩陣,最大限度地減小拼接圖像的旋轉(zhuǎn)角度,使拼接效果更佳自然。Chen等[12]提出使用APAP模型初始化拼接圖像,然后對多張拼接圖像構(gòu)建局部相似項和全局相似項約束形變網(wǎng)格,盡可能減小全局投影失真。Lin等[13]提出內(nèi)容保護的視差拼接算法,先對待拼接圖像的輪廓線和直線檢測,然后加入曲線和直線結(jié)構(gòu)保持約束項,盡可能地保護圖像結(jié)構(gòu)信息。樊逸清等[14]提出基于線約束運動最小二乘法的拼接方法,首先借助SIFT算法完成特征匹配,然后使用RANSAC算法篩選內(nèi)點并計算得到參考圖像的最佳單應(yīng)變換矩陣,最后在重疊區(qū)域利用最大流最小割算法尋找最優(yōu)拼接縫完成拼接。薛佳樂等[15]提出對目標(biāo)圖像聚類劃分出多個子平面,然后利用APAP模型實現(xiàn)高精度配準(zhǔn)拼接。張冬梅等[16]提出一種改進的APAP模型,先使用SIFT算法匹配特征點,然后借助APAP模型計算網(wǎng)格單應(yīng)性矩陣,最后線性化處理單應(yīng)性矩陣完成拼接。
綜上所述,現(xiàn)有基于APAP模型拼接算法均未改變特征匹配和內(nèi)點篩選方法,而APAP模型對特征匹配的數(shù)量和質(zhì)量要求很高,隨機采樣一致性算法迭代的參數(shù)模型易把正確匹配點誤判為外點,嚴(yán)重影響拼接質(zhì)量;SIFT算法特征匹配速度較慢,嚴(yán)重影響拼接效率。
針對APAP模型中SIFT算法效率較低、RANSAC算法魯棒性較差等問題,本文提出一種改進的APAP模型拼接方法。首先對匹配效率較高但穩(wěn)定性較差的ORB(Oriented FAST and Rotated BRIEF)算法[17]進行改進,使用MLDB(Modified-Local Difference Binary)描述符[18]代替BRIEF(Binary Robust Independent Elementary Features)描述符[19];然后通過向量場一致性算法[20](Vector Field Consensus,VFC)篩選內(nèi)點;最后借助APAP模型配準(zhǔn)拼接圖像。
APAP模型對特征匹配算法要求較高,故在本文中提出了改進ORB算法,在盡可能不降低匹配效率的情況下提高魯棒性,并用向量場一致性算法篩選內(nèi)點,最后完成配準(zhǔn)拼接,具體流程如圖1所示。
圖1 拼接算法流程圖
ORB算法首先需要構(gòu)建高斯金字塔,然后在金字塔中進行特征點檢測和描述符建立。ORB算法借助FAST算法[21]在金字塔上提取特征點,具體過程如下。
① 灰度圖像I(x,y)上像素點為p,以像素點p為中心選擇半徑為3個像素的圓,則圓上的像素點集合表示為{p1,p2,…,p16}。
② 設(shè)FAST算法的閾值t。
③ 計算集合{p1,p2,…,p16}中點p1、p9與圓心p的像素差,若絕對值皆大于閾值t,則保留像素p。
④ 集合{p1,p2,…,p16}中1、5、9、13等像素點與p計算像素值差,若任意3個值大于閾值t,則繼續(xù)判斷。
⑤ 將圓上的16個像素點分別與圓心p計算像素值差,若是有n個像素點差值的絕對值均大于閾值t,則圓心p為特征點,n一般取12。
得到特征點后,以特征點為中心選擇合適的區(qū)域作為特征采樣區(qū)域。由于MLDB算法不具有方向不變性,故計算特征采樣區(qū)域矩的質(zhì)心方向作為MLDB描述符的主方向。
矩定義為
(1)
矩的質(zhì)心為
(2)
特征點的主方向可定義為
(3)
得到主方向后,提取特征采樣區(qū)域的MLDB描述符,具體構(gòu)建方式如下。
① 以特征點為中心選取合適的采樣區(qū)域P構(gòu)建MLDB描述符,采樣區(qū)域P劃分n×n個網(wǎng)格。計算n×n單個網(wǎng)格內(nèi)像所有像素值的平均值,表示為
(4)
式中,I(k)為灰度圖像的像素值;m為每個劃分網(wǎng)格內(nèi)的像素點的個數(shù);i為采樣區(qū)域一共被劃分網(wǎng)格的數(shù)量。
② 需要計算每個網(wǎng)格內(nèi)像素點在x和y方向上的梯度,根據(jù)每個網(wǎng)格平均像素值和網(wǎng)格像素的梯度值進行編碼,可表示為
Func(·)={Funcintensity(i),Funcdx(i),Funcdy(i)}
(5)
式中,F(xiàn)uncintensity(i)=Iavg(i);Funcdx(i)=Gradientx(i)=dx;Funcdy(i)=Gradienty(i)=dy。
③ 由式(5)可得,構(gòu)建出MLDB描述符每一對網(wǎng)格比較得到的二進制為3位,可用公式表示為
(6)
則MLDB描述符可表示為
(7)
得到MLDD描述符后,把描述符旋轉(zhuǎn)至主方向位置。式(3)中描述符主方向為θ,則對應(yīng)的旋轉(zhuǎn)矩陣Rθ為
(8)
則旋轉(zhuǎn)后的MLDB描述符可表示為
gN(p,θ):=fN×Rθ
(9)
MLDB描述符類型為二進制,故可用漢明距離衡量不同描述符的相似性。
(10)
式中,γ為混合系數(shù),表示隱變量zn的邊緣分布,即?zn,p(zn=1)=γ;θ={f,σ2,γ}包含所有的未知變量。對θ借助貝葉斯準(zhǔn)則估計最大后驗解,可把p(Y|X,θ)等價轉(zhuǎn)化為最小化能量函數(shù):
(11)
式(11)可采用期望最大化算法(EM算法)求解。對式(11)使用EM算法求解,需先對θ參數(shù)項省略,然后可得到完全數(shù)據(jù)對數(shù)后驗:
(12)
E步:式(12)中使用θold表示當(dāng)前參數(shù)值,然后用來求解隱變量的后驗分布。若是P=diag(p1,p2,…,pn)為對角陣,則pn=P(zn=1|xn,yn,θold)可用貝葉斯算法求得:
(13)
后驗概率pn為一個軟指派,它表示第n個樣本與當(dāng)前估計出向量場f的相似程度。
M步:通過式θnew=argmaxxθQ(θ,θold)來確定修正參數(shù)θnew。因為P表示為對角陣,則可對Q(θ)分別計算σ2和γ的導(dǎo)數(shù)并令為0,可得到式(14)和式(15):
(14)
γ=tr(P)/N
(15)
當(dāng)期望最大化算法收斂時,可得到向量場f,然后通過預(yù)設(shè)定一個閾值τ,即可以得到成對特征點的內(nèi)點集合I:
I={n:pn>τ,n∈NN}
(16)
完成圖像特征匹配和內(nèi)點篩選后,需要通過APAP模型完成配準(zhǔn)拼接。圖像I和I′是一組待拼接圖像,它們對應(yīng)的匹配點為p=[x,y,1]T、p′=[x′,y′,1]。則對應(yīng)的變換關(guān)系為p′=h(p),可以表示為
(17)
(18)
齊次坐標(biāo)p=[x,y,1]T和p′=[x′,y′,1],對應(yīng)的變換關(guān)系表示為
p′~Hp
(19)
(20)
把式(20)化為Ah=O,即
(21)
對于圖像I和I′共有N組對應(yīng)匹配點,則DLT算法單應(yīng)性矩陣h可表示為
(22)
APAP算法中提出Moving DLT算法模型,對式(22)添加權(quán)值進行估計網(wǎng)格單應(yīng)性矩陣。則網(wǎng)格pj的自適應(yīng)矩陣表示為
(23)
式中,j=C1×C2,j為網(wǎng)格的數(shù)量,C1和C2為橫縱網(wǎng)格數(shù);Wj=diag(?ω1,j,ω1,j,…,ωN,j,ωN,j」),ω1,j=exp(-‖p-pj‖2/σ2),σ為高斯函數(shù)尺度因子,pj為網(wǎng)格內(nèi)特征點。得到j(luò)單應(yīng)性矩陣完成配準(zhǔn)后,對待拼接圖像的重疊區(qū)域加權(quán)融合得到拼接圖像。
本文實驗主要分為兩個部分,第一部分驗證所提改進ORB算法和內(nèi)點篩選算法穩(wěn)定性;第二部分驗證改進APAP模型是否可以得到質(zhì)量更高的拼接圖像。
本文實驗平臺為:Inel?CoreTMi7-8700 CPU @ 3.20 GHz,軟件平臺為Visual Studio 2015,并使用OpenCV 2.3視覺庫。圖2為文獻[10]提供的公用圖像拼接實驗數(shù)據(jù)集,圖像尺寸均為800像素×1000像素×3像素。
使用SIFT算法、AKAZE算法、ORB算法與本文所提匹配算法對比實驗,如圖2所示,SIFT算法、AKAZE
圖2 實驗圖像
算法、ORB算法內(nèi)點篩選均使用RANSAC算法,改進ORB算法使用VFC算法篩選內(nèi)點。對SIFT和AKAZE算法均使用OpenCV 2.3默認參數(shù);ORB算法中nfeatures設(shè)為10000,其他參數(shù)為默認值;RANSAC算法使用OpenCV 2.3中findHomography()函數(shù),參數(shù)為默認值。改進ORB算法的nfeatures設(shè)為10000,VFC算法中閾值τ為0.2。OpenCV視覺庫利用FAST算法提取特征點后,會對每個特征根據(jù)HarrisResponses值排序,nfeatures值過小會致使部分特征點丟失,影響匹配效果。
SIFT算法首先構(gòu)建高斯金字塔,然后相鄰高斯金字塔層相減做高斯差分金字塔并提取特征點,然后根據(jù)采樣區(qū)域梯度建立主方向,最后提取128維浮點型描述符。該算法魯棒性較強,但是特征點提取和描述符構(gòu)建過程較為復(fù)雜,SIFT描述符為128維浮點型,計算歐式距離時速度較慢。AKAZE算法構(gòu)建非線性尺度空間,其與高斯尺度空間相比,可更好地保護圖像邊緣信息;使用MLDB算法構(gòu)建描述符,魯棒性要比傳統(tǒng)二進制描述符強;但解非線性函數(shù),耗時較長,算法效率較低。ORB算法的特征點檢測和描述符構(gòu)建過程較為簡單,BRIEF描述符為二進制,通過漢明距離衡量不同描述符相似性,計算速度較快;BRIEF描述符僅對兩兩像素值大小編碼,所能表達的信息有限,故魯棒性欠佳。隨機采樣一致性算法迭代計算參數(shù)模型,不僅耗時較長且易把正確匹配點誤判為外點。
所提出的改進ORB算法,使用MLDB算法提取匹配算法描述符,MLDB描述符不僅可對特征采樣區(qū)域內(nèi)的像素值大小進行編碼,還可對采樣區(qū)域內(nèi)梯度信息編碼,故魯棒性相較BRIEF描述符更強;VFC算法借助EM算法求解,內(nèi)點篩選效率遠高于RSNASC算法迭代求解,且魯棒性更好。
圖像匹配數(shù)據(jù)統(tǒng)計如表1所示。由表1可知,所提算法匹配點數(shù)不是最多的,但內(nèi)點數(shù)和匹配正確率是最高的,可表明所提方法魯棒性最佳。除Park組外,SIFT算法雖匹配點數(shù)最多,但是匹配正確率卻遠小于所提出的方法。AKAZE算法非線性尺度空間可更好地保護圖像邊緣信息,MLDB描述符魯棒性較好,故AKAZE算法魯棒性要優(yōu)于ORB算法。ORB算法特征點和描述符魯棒性都較差,故匹配正確率最低。
表1 圖像匹配數(shù)據(jù)統(tǒng)計
SIFT算法構(gòu)建的描述符為128維浮點型,利用歐氏距離衡量不同描述符相似性時,耗時較長,故SIFT算法匹配時間最長。ORB算法構(gòu)建256-bit二進制描述符,通過漢明距離衡量不同描述符的相似性,故匹配速度最快。改進ORB算法的MLDB描述符需計算像素梯度,故提取速度低于BRIEF描述符,因此所提出的算法速度不及ORB算法。AKAZE算法構(gòu)建尺度空間時,需解非線性方程,迭代計算耗時較長,故匹配速度不及所提出的算法。RANSAC算法需迭代計算參數(shù)模型,耗時較長;本文所用的VFC算法,效率遠超過RANSAC算法。
使用GlobalHomography算法、APAP模型、AANAP模型與本文算法進行對比實驗,GlobalHomography算法、APAP模型和AANAP模型均使用SIFT算法特征匹配,APAP模型、AANAP模型和本文改進APAP模型網(wǎng)格數(shù)量均為100×100。網(wǎng)格數(shù)量越多,重疊區(qū)域配準(zhǔn)精度越高,但會導(dǎo)致效率降低。
通過計算重疊區(qū)域?qū)?yīng)拼接像素點的誤差均方根(Root Mean Squared Error,RMSE)判定拼接質(zhì)量[22],計算公式為
(24)
表2 不同算法的RMSE值
GlobalHomography算法僅計算單個形變參數(shù)進行配準(zhǔn),對于具有視差的拼接圖像配準(zhǔn)效果較差,故誤差均方根最大。APAP模型通過匹配特征分布得到網(wǎng)格單應(yīng)性矩陣,由表1可知,原APAP模型中SIFT+RANSAC算法得到的內(nèi)點數(shù)不及所提出的算法,故與所提出的算法相比,網(wǎng)格單應(yīng)性矩陣對齊精度較低、重疊區(qū)域誤差均方根較高。AANAP模型雖借助APAP模型初始化網(wǎng)格單應(yīng)性矩陣,但需要與全局最優(yōu)相似變換矩陣加權(quán)疊加,從而導(dǎo)致重疊區(qū)域配準(zhǔn)精度下降,故AANAP模型的RMSE值高于APAP模型。
GlobalHomography算法、APAP模型和AANAP模型使用SIFT算法完成特征匹配,SIFT算法魯棒性較好,但匹配速度較慢。APAP模型解Moving DLT方程得到多個網(wǎng)格單應(yīng)性矩陣,故配準(zhǔn)速度不及GlobalHomography算法。AANAP模型不僅需要解Moving DLT方程,還需要迭代計算全局最優(yōu)相似變換矩陣,故匹配效率低于APAP模型。所提出的拼接算法使用改進ORB算法匹配速度遠超過SIFT算法,故拼接速度較快,具體拼接時間如表3所示。
表3 不同算法的拼接時間 單位:s
應(yīng)用所提出的拼接模型對圖2所示的圖像進行拼接,拼接效果如圖3所示,從視覺角度判斷,無明顯差異,重疊區(qū)域融合效果較好,符合審美要求。
圖3 實驗圖像拼接效果
針對相機畫幅限制,一次拍攝得不到場景全局圖像,提出一種基于改進ORB算法的大視差圖像拼接模型。首先使用FAST算法提取局部特征并特征采樣區(qū)域建立主方向,然后建立MLDB描述符并通過漢明距離衡量不同描述符的相似性完成匹配,再使用VFC算法篩選內(nèi)點,最后借助APAP模型完成配準(zhǔn)融合。與現(xiàn)有算法相比,所提出的算法對重疊區(qū)域配準(zhǔn)精度較高,拼接效果較好,拼接效率較高。