賈文超
(廣東省工程勘察院,廣東 廣州 510000)
實際生活中,當(dāng)遇到超過人眼視角的場景時,近距離無法拍攝事物的全貌,而遠(yuǎn)距離又將引起所拍物體過小,放大后出現(xiàn)馬賽克現(xiàn)象。因此,為獲得高分辨率全景圖片,對圖像進(jìn)行拼接是十分必要的。很多學(xué)者對圖像的匹配進(jìn)行了研究,產(chǎn)生了各種各樣的匹配算法。大體上可分為以下幾類:①基于灰度值的匹配[1,2]:該方法從待拼接圖像的灰度值出發(fā),通過計算待配準(zhǔn)圖像與參考圖像中相同尺寸區(qū)域的相似性度量來實現(xiàn)圖像的拼接。其優(yōu)點(diǎn)是計算簡單,但當(dāng)圖像中存在較大噪聲或重疊部分特征不明顯時匹配誤差較大。②基于頻域的匹配(相位相關(guān)度方法):通過傅立葉變換將圖像變換到頻率域再進(jìn)行匹配。該方法簡單、精確,可克服相關(guān)性噪聲干擾,但需要較大的重疊比例[3](>50%)。③基于特征的匹配:該方法通過提取圖像中的特征點(diǎn)并對其進(jìn)行描述,然后利用匹配良好的特征點(diǎn)計算變換矩陣從而實現(xiàn)圖像的拼接。相比于以上兩種方法,基于特征匹配方法的健壯性和魯棒性更好,能夠較好地適應(yīng)圖像的尺度、平移、旋轉(zhuǎn)以及光照的變化。而點(diǎn)特征作為最基本的特征,其計算過程簡單,且能保持影像的灰度不受損壞,因此得到了廣泛的應(yīng)用。
近年來,應(yīng)用較為廣泛的點(diǎn)特征匹配算法有:Lowe等人于2004年提出SIFT(Scale Invariant Features Transform)算法[4],該算法在高斯差分尺度空間內(nèi)進(jìn)行極值點(diǎn)的檢測及關(guān)鍵點(diǎn)的定位,然后通過統(tǒng)計梯度直方圖為每個關(guān)鍵點(diǎn)指定主方向并建立4×4×8維的描述子。這保證了該算法提取的特征點(diǎn)具有很好的尺度不變性,但同時也增加了算法的運(yùn)算量?;诖耍珺ay提出了更加優(yōu)越的SURF(Speeded Up Robust Features)算法[5],它針對SIFT提取時間長的不足進(jìn)行了改進(jìn)。一方面,SURF采用了不同大小的盒濾波與原始圖像卷積構(gòu)建金字塔,使運(yùn)算易于并行;另一方面,在特征子的描述上SURF算法通過統(tǒng)計領(lǐng)域內(nèi)Harr小波響應(yīng)獲取主方向,然后為每個特征點(diǎn)建立4×4×4維的描述子。經(jīng)過以上改進(jìn),SURF算法將提取速度提高為SIFT算法的10倍,但方向不變性方面不如SIFT算法好。2011年,Garage等人[6]提出了可替代SIFT和SURF的新算法,該算法為FAST角點(diǎn)賦予方向,并與改進(jìn)后的BRIEF描述子相結(jié)合,將檢測速度提升為SURF的10倍,且檢測效率為SIFT的兩個數(shù)量級。但該算法提取的特征點(diǎn)尺度不變性不佳。
為更加快速、高效地實現(xiàn)全景圖的拼接。本文對SIFT算法、SURF算法以及ORB算法進(jìn)行對比及分析,并結(jié)合魚眼圖像自身的特點(diǎn),采用ORB算法進(jìn)行圖像特征點(diǎn)的提取。此外,通過結(jié)合特征點(diǎn)篩選和多種影像融合方法相結(jié)合的策略,實現(xiàn)了全景圖的拼接。
實驗中使用的數(shù)據(jù)為2015年2月于地下停車場使用配有 8 mm定焦魚眼鏡頭的尼康D7100單反相機(jī)拍攝的圖像。相機(jī)以90°為固定旋轉(zhuǎn)角,在每一位置共獲取4張圖像,構(gòu)成360°的場景影像。每張圖像分辨率為6000×4000,水平及垂直分辨率為 300 dpi。
全景圖像的拼接首先要對獲取圖像進(jìn)行畸變校正和影像去噪等預(yù)處理操作;其次,使用特征點(diǎn)提取算法提取每幅圖像的特征點(diǎn),進(jìn)而對特征點(diǎn)進(jìn)行篩選;隨后,利用RANSAC算法求解變換矩陣并采用光束法平差實現(xiàn)全局配準(zhǔn);最后,需要將每幅影像投影到統(tǒng)一坐標(biāo)系下對圖像進(jìn)行拼接和融合,輸出全景圖像。實現(xiàn)全景圖像拼接的整體框架具體如圖1所示。
圖1 全景圖拼接整體框架
(1)ORB算法
ORB(Oriented FAST and Roated BRIEF)算法是基于FAST角點(diǎn)檢測器[7]和改進(jìn)后的BRIEF[8]描述子建立的,簡要流程如下:
①FAST角點(diǎn)檢測
FAST角點(diǎn)檢測,即檢測候選特征點(diǎn)鄰域內(nèi)的像素值,如果候選點(diǎn)周圍領(lǐng)域內(nèi)有足夠多的像素點(diǎn)與該候選點(diǎn)的灰度值差別足夠大,則認(rèn)為該候選點(diǎn)為一個特征點(diǎn)。數(shù)學(xué)表達(dá)如式(1)所示:
(1)
其中,I(x)為圓周上任意一點(diǎn)的灰度,I(p)為圓心的灰度,εd為灰度差的閾值,如果N大于給定閾值T(一般為周圍圓圈點(diǎn)的四分之三),則認(rèn)為p是一個特征點(diǎn)。本文中采用效果較好的FAST-9(即圓半徑為9)。
由于FAST算子未考慮尺度特征。故本文通過構(gòu)建金字塔圖像,并在每一層中檢測FAST角點(diǎn)來確保檢測出的角點(diǎn)具有一定的尺度不變性。
②灰度質(zhì)心法確定主方向
灰度質(zhì)心法[9]認(rèn)為角點(diǎn)的強(qiáng)度是偏離中心的,利用這個矢量可以計算方向。Rosin定義特征點(diǎn)鄰域的p+q階矩為:
(2)
依據(jù)上式,特征點(diǎn)的中心強(qiáng)度定義為:
(3)
θ=arctan(m10/m01)
(4)
③改進(jìn)的BRIEF特征描述
BRIEF描述子通過隨機(jī)選取興趣點(diǎn)周圍的若干點(diǎn)來組成興趣區(qū)域,將其灰度二值化并解析成二進(jìn)制碼串,以此作為特征點(diǎn)的描述子。為了使特征點(diǎn)之間更易區(qū)分,Garage[6]對檢測出的特征點(diǎn)進(jìn)行排序,僅保留方差大且相關(guān)性小的部分關(guān)鍵點(diǎn),使提取結(jié)果得到顯著提高。
(2)特征點(diǎn)對的篩選與精確匹配
匹配是將兩幅影像中同名特征點(diǎn)對應(yīng)起來。本文中首先采用歐氏距離比值排除外點(diǎn)[10]。其原理是通過k-d樹得到一個特征點(diǎn)到最近鄰特征點(diǎn)的距離Dis1,其到次近鄰特征點(diǎn)的距離Dist2,比較這兩個值的比值是否在閾值ε范圍內(nèi),如果滿足則保留最近鄰的特征點(diǎn)對,反之則剔除。
(5)
采用歐氏距離比值排除部分外點(diǎn)后,對保留特征點(diǎn)使用RANSAC法[11]解算出單應(yīng)矩陣H。接下來采用光束法平差進(jìn)行全局配準(zhǔn)以減小誤差累積帶來的影響,實現(xiàn)影像間的配準(zhǔn)。
(1)最佳縫合線法
理想的最佳縫合線是兩幅圖像重疊區(qū)域的差值圖像上顏色、結(jié)構(gòu)強(qiáng)度差值最小的線,因此縫合線的求解準(zhǔn)則如下:
E(x,y)=Ecolor(x,y)2+Egemetry(x,y)2
(6)
其中Ecolor(x,y)為重疊像素的顏色值之差,Egenetry(x,y)為結(jié)構(gòu)差值,它是通過修改Sobel算子實現(xiàn)的。新模板為:
Egenetry(x,y)=diff(I1(x,y),I2(x,y)),diff的求解通過計算兩幅圖像I1和I2在x,y方向的梯度差的乘積得到。按照上述準(zhǔn)則,運(yùn)用動態(tài)規(guī)劃的思想[12],從重疊區(qū)域差值圖像的第一列開始,建立以該列每一個像素為起點(diǎn)的縫合線,最后從所有的縫合線中尋找一個最優(yōu)解作為最佳縫合線。
(2)多通道圖像融合法
多通道融合法的基本原理是構(gòu)建出重疊部分的拉普拉斯金字塔,將不同層的圖像進(jìn)行融合從而重構(gòu)出圖像。由于圖像通常存在曝光差異,使用最佳縫合線法融合后的影像在拼接區(qū)域會存在鬼影,因此采用多通道法對影像進(jìn)行二次融合,以實現(xiàn)平滑自然的無鬼影拼接。
實驗中首先對魚眼圖像使用Defishr-10軟件進(jìn)行矯正,矯正后圖像分辨率為6000×4000,水平及垂直分辨率為96dpi。圖2、圖3分別為一幅原始魚眼圖像及其對應(yīng)的矯正后圖像。
圖2原始魚眼圖像及其矯正結(jié)果圖
針對SIFT算法、SURF算法和ORB算法三種特征提取算法,本文編寫相應(yīng)程序并將其應(yīng)用于實驗圖像數(shù)據(jù)中進(jìn)行特征提取,同時結(jié)合歐氏距離比值法(ε=0.5)對提取特征點(diǎn)進(jìn)行篩選,三種算法特征提取及篩選后上午匹配結(jié)果分別如圖3~圖5所示。
圖3SIFT特征提取及篩選后匹配結(jié)果
圖4 SURF特征提取及篩選后匹配結(jié)果
圖5 ORB算法特征提取及篩選后匹配結(jié)果
上圖中,彩色圓為各算法初步提取的特征點(diǎn),兩幅圖像之間的連線為經(jīng)歐氏距離篩選后保留的匹配點(diǎn)對。通過對各算法在相同的圖像(1500×1000)上的執(zhí)行效果進(jìn)行大量實驗及統(tǒng)計,本文采用式(7)來評估各算法的提取效率。各算法的對比結(jié)果如表1所示。
(7) 不同特征提取算法對比結(jié)果 表1
SURF提取特征點(diǎn)數(shù)量最多,SIFT次之,ORB算法提取的特征點(diǎn)數(shù)最少。但在特征提取時間效率方面,ORB算法最高,SURF算法最低。同時結(jié)合圖3可以看出SIFT提取的特征點(diǎn)經(jīng)篩選后仍存在誤匹配點(diǎn)對。以上結(jié)果表明,ORB算法能夠提取圖像中較穩(wěn)定的特征點(diǎn),比SIFT和SURF算法具有更快的提取速度和更好的檢測效率。
對于篩選后的特征點(diǎn),本文采用RANSAC算法計算相鄰圖像間的變換矩陣,并采用光束法平差進(jìn)行全局配準(zhǔn);然后將各圖像投影到統(tǒng)一坐標(biāo)系下完成拼接;最后在影像融合方面將最佳縫合線法和多通道融合法相結(jié)合,輸出全景圖。圖6為全景圖拼接效果圖。
圖6全景圖拼接效果圖
本文對目前應(yīng)用較為廣泛的SIFT算法、SURF算法與ORB算法在特征點(diǎn)提取的速度和效率方面進(jìn)行了對比和分析。結(jié)果表明,ORB算法能夠提取圖像中較穩(wěn)定的特征點(diǎn),較SIFT和SURF算法具有更快的提取速度和更好的檢測效率。基于此,使用ORB算法開發(fā)了相應(yīng)的全景圖拼接程序。本文研究的不足之處,如魚眼圖像矯正效果不佳等,將在以后的研究中加以完善。