楊志芳,顏 磊
武漢工程大學(xué)電氣信息學(xué)院,湖北 武漢 430205
圖像拼接是圖像處理中非常重要的技術(shù),特別是隨著科技的逐漸發(fā)展,圖像獲取的途徑越來越多樣化,圖像的質(zhì)量要求也更高,圖像拼接技術(shù)可以很好的將兩幅或者兩幅以上具有重疊區(qū)域的圖像拼接成一幅信息更加豐富的圖像,被廣泛的應(yīng)用在醫(yī)學(xué)、軍事活動和計(jì)算機(jī)視覺等領(lǐng)域。
圖像拼接技術(shù)的關(guān)鍵在于圖像的特征提取和圖像匹配,文獻(xiàn)[1]提出的尺度不變特征轉(zhuǎn)換(scaleinvariant feature transform,SIFT)算法是圖像特征提取中的經(jīng)典算法,但SIFT 算法在圖像特征提取時(shí)存在計(jì)算量大、效率低等問題。文獻(xiàn)[2]針對SIFT 算法的缺點(diǎn)提出了加速穩(wěn)健特征算法(speed up robust feature,SURF),SURF 算法是對 SIFT 檢測算法的改進(jìn),通過構(gòu)建Hessian 矩陣來建立尺度空間,提高算法的魯棒性,在圖像特征的檢測速度上大大優(yōu)于SIFT 算法,但是該算法的匹配精度偏低。文獻(xiàn)[3]使用隨機(jī)抽樣一致性(random sample consensus,RANSAC)算法來篩選圖像的匹配特征點(diǎn)有利于準(zhǔn)確計(jì)算出圖像的變換矩陣。由于傳統(tǒng)的RANSAC 算法計(jì)算量較大以及匹配精度較低,后續(xù)如全局RANSAC(Universal-RANSAC)等算法[4-5]都針對上述問題進(jìn)行了改進(jìn),以此來提高匹配結(jié)果的準(zhǔn)確性。
針對上述問題,本文提出利用加速分割檢測特征(features from accelerated segment test,F(xiàn)AST)算法和SURF 算法相結(jié)合進(jìn)行圖像特征的提取以及描述,并通過改進(jìn)的k-d 樹最近鄰查找(best bin first,BBF)算法[6]和雙向匹配的自適應(yīng)閾值方法相結(jié)合優(yōu)化匹配結(jié)果,以此提高檢測精度和拼接速度。
圖像的特征點(diǎn)提取和描述是圖像拼接的基礎(chǔ),為了提高特征點(diǎn)的提取速度和質(zhì)量,本文主要對經(jīng)典的 SURF 算法進(jìn)行改進(jìn),采用 FAST[7]算法來快速大量的提取目標(biāo)圖像特征,使用SURF 算法對提取的特征點(diǎn)進(jìn)行矢量描述,圖像拼接的流程圖如圖1 所示。
圖1 圖像拼接流程圖Fig.1 Flow chart of image mosaic
對于圖像特征點(diǎn)的提取,Harris、SIFT、SURF等[8-10]算法的特征點(diǎn)檢測時(shí)間均較慢,F(xiàn)AST 算法由于不涉及梯度、尺度等復(fù)雜步驟,在計(jì)算效率上具有一定的優(yōu)勢,因此選取FAST 算法來快速準(zhǔn)確的獲取圖像特征點(diǎn)[11]。本文算法中,首先對圖像進(jìn)行像素點(diǎn)的掃描,然后對其中的每一個(gè)像素點(diǎn)進(jìn)行判斷,根據(jù)FAST 算法的角點(diǎn)公式來判斷該像素點(diǎn)周圍16 個(gè)像素點(diǎn)的灰度值大于或小于該點(diǎn)的灰度值,即:
式中,I(x)表示圓周c任意一點(diǎn)的圖像灰度值,I(P)表示中心像素點(diǎn)P的圖像灰度值,若N超過閾值εd,則該點(diǎn)為角點(diǎn)。本文中閾值設(shè)為9。圖2為FAST 算法的角點(diǎn)檢測模板。
圖2 FAST 算法的角點(diǎn)檢測模板Fig.2 Corner detection template used by FAST algorithm
由于原始的FAST 算法檢測到的特征點(diǎn)不具備旋轉(zhuǎn)不變性和尺度不變性,導(dǎo)致圖像特征在提取過程中存在不穩(wěn)定性。使用SURF 算法來進(jìn)行描述可以保證提取的特征點(diǎn)具有很好的穩(wěn)定性[12]。該算法在對特征點(diǎn)進(jìn)行矢量描述時(shí),首先是將提取的特征點(diǎn)設(shè)為圓心,然后計(jì)算半徑為6σ(σ為特征點(diǎn)的尺度)的鄰域內(nèi)所有像素點(diǎn)的水平(dx)、垂直(dy)Harr 小波響應(yīng)總和,將扇形滑動窗口以60°的角度進(jìn)行掃描,每次掃描的間隔一定,計(jì)算出扇形滑動窗口中的小波特征總和的最大值,以最大值的扇形方向?yàn)樵撎卣鼽c(diǎn)的主方向。即對圖像Haar 小波響應(yīng)的dx、dy進(jìn)行疊加處理得到矢量(mw,θw)。
當(dāng)mw值為最大值時(shí),θw為該特征點(diǎn)的主方向(圖3)。
圖3 特征點(diǎn)主方向選取過程:(a)x 響應(yīng),(b)y 響應(yīng),(c)以60°按間隔進(jìn)行窗口掃描Fig.3 Selection process of main direction of feature points:(a)response value of x,(b)response value of y,(c)window scanning with an angular interval of 60°
在特征點(diǎn)主方向選取后,計(jì)算以特征點(diǎn)為中心20s×20s(s為特征點(diǎn)所在的尺度值)矩形內(nèi)的特征描述子。20s×20s矩形被劃分為16 個(gè)子區(qū)間,在每個(gè)子區(qū)間內(nèi)計(jì)算出Haar 小波特征的x方向和y方向的響應(yīng)值,如圖4 所示。
圖4 特征點(diǎn)描述子的構(gòu)造Fig.4 Construction of feature point descriptor
其中特征點(diǎn)的描述向量為:
傳統(tǒng)的SURF 算法采用距離為準(zhǔn)則進(jìn)行特征點(diǎn)相似度的判斷,即
式中,l為兩點(diǎn)間的距離,n為特征點(diǎn)的維數(shù),X1為參考圖像特征點(diǎn)的描述向量、X2為待檢測圖像特征點(diǎn)的描述向量。
由式(4)計(jì)算出參考圖像和待檢測圖像之間所有特征點(diǎn)的距離后,選擇其中最近特征點(diǎn)和次近點(diǎn)的比值為閾值,即
閾值T一般取[0.4,0.8],當(dāng)最近點(diǎn)lmin相比于近次點(diǎn)lsecond更近時(shí),才保留該特征點(diǎn)。
從圖5(a)中可以看出傳統(tǒng)的SURF 匹配算法匹配的精度不高,因此本文采用BBF+雙向匹配的自適應(yīng)閾值來獲得更精確的匹配結(jié)果并且減少計(jì)算量,具體步驟為:
1)使用BBF 算法計(jì)算出參考圖和待檢測圖之間所有的特征點(diǎn)的距離,將最近特征點(diǎn)和次近點(diǎn)的比值設(shè)為閾值T,在[0.4,0.8]之間的圖像特征點(diǎn)進(jìn)行分類統(tǒng)計(jì),分別為集合X1、X2,然后求出這兩個(gè)集合的比值,分別為x1,x2。
2)對X1、X2兩個(gè)集合求交集運(yùn)算,計(jì)算出交集部分的各個(gè)對應(yīng)匹配點(diǎn)的比值,設(shè)為集合Y。
3)將集合Y中的值進(jìn)行篩選,求出最小值,特征點(diǎn)匹配的自適應(yīng)閾值就是計(jì)算出的最小值。
圖5 圖像匹配結(jié)果圖:(a)采用傳統(tǒng)SURF 算法匹配結(jié)果圖,(b)采用FAST+SURF+BBF+雙向匹配的自適應(yīng)閾值檢測圖Fig.5 Image matching results:(a)image matching by traditional SURF algorithm,(b)image matching by Fast,SURF,BBF and bidirectional adaptive threshold matching algorithm
變換矩陣是用來表示圖片間的變換關(guān)系,仿射變換能夠保證圖片的平直性以及平行性,一般使用RANSAC 算法進(jìn)行變換矩陣求解[13-14]。
式(6)中(x,y )、(x',y' )為待拼接圖像的角點(diǎn)位置,s為尺度參數(shù),H為變換矩陣,其中H共有8 個(gè)未知參數(shù),使用奇異值的分解方法來計(jì)算圖片的變換矩陣。由于算法存在一定的誤差會導(dǎo)致存在錯(cuò)誤匹配的現(xiàn)象,因此求出的變換矩陣不精確。傳統(tǒng)算法中一般使用RANSAC 算法對匹配點(diǎn)進(jìn)行篩選,剔除錯(cuò)誤的匹配點(diǎn)后再線性求解出變換矩陣。
由于RANSAC 算法對于一些特征點(diǎn)的色調(diào)、亮度、飽合度(hue,intenstitysaturation,HIS)需要反復(fù)檢測,導(dǎo)致檢測效率降低。本文中引入HIS 模型來對檢測的特征點(diǎn)進(jìn)行二次約束,其原理是將RANSAC 算法檢測后的特征點(diǎn)進(jìn)行二次檢測,對該點(diǎn)的亮度、顏色、色調(diào)等值進(jìn)行檢測,設(shè)定一個(gè)閾值作為二次檢測的條件,不滿足此閾值就剔除。
這種HIS 模型的二次約束能夠提高正確特征點(diǎn)的檢測效率,避免了原RANSAC 算法中無限迭代的情況出現(xiàn)。
為了保證圖片能夠無縫拼接,選取漸入漸出加權(quán)融合法[15]對圖像進(jìn)行拼接,具體公式如下:
其中x1,x2為待拼接圖像,X為拼接后的圖像,γ為加權(quán)因子為拼接圖像重疊部分的橫坐標(biāo)距離,wd為拼接圖像重疊部分像素點(diǎn)距重疊部分的橫坐標(biāo)距離。
本文的硬件環(huán)境為Intel(R)Core(TM)I5CPU和12 GB RAM,運(yùn)行環(huán)境為Wimdow10+VS2015+Opencv3.2。對圖5 的2 幅圖片拼接結(jié)果如圖6所示。
圖6 實(shí)驗(yàn)結(jié)果:(a)圖像匹配,(b)圖像拼接Fig.6 Experimental results:(a)image matching,(b)image mosaic
表1 是幾種常見算法拼接速度的結(jié)果。
表1 圖像匹配數(shù)據(jù)Tab.1 Image matching data ms
從實(shí)驗(yàn)結(jié)果可以得出,本文算法拼接結(jié)果完整,算法精度和時(shí)間都有很好的提升,能夠滿足實(shí)際應(yīng)用中高精度和高實(shí)時(shí)性的要求。
為了更好的驗(yàn)證本文的拼接結(jié)果,本文還進(jìn)行了不同攝像機(jī)拍攝同一場景的不同部分進(jìn)行圖像拼接,如圖7 所示。圖8 是用本文算法對圖7 中的兩幅圖進(jìn)行拼接的效果,可以看到拼接的圖像效果很好,由此驗(yàn)證了本文算法的有效性。
圖7 不同攝像機(jī)拍攝的實(shí)驗(yàn)圖:(a)相機(jī)1,(b)相機(jī)2Fig.7 Experimental images captured by different cameras:(a)camera 1,(b)camera 2
圖8 拼接結(jié)果Fig.8 Image mosaic result
本文提出一種基于改進(jìn)SUFR 算法的圖像拼接方法,針對傳統(tǒng)的SURF 算法匹配速度慢和誤匹配率高等問題,提出使用FAST 算法提取圖像特征,提高拼接速度,結(jié)合SURF 算法與BBF 和雙向匹配的自適應(yīng)閾值算法對圖像特征點(diǎn)進(jìn)行描述和匹配,提高算法的匹配精度,最后將HIS 模型引入RANSAC 算法中剔除誤配點(diǎn),進(jìn)一步提高算法匹配的準(zhǔn)確率。在圖像拼接過程中,采用漸入漸出加權(quán)融合算法提高圖像拼接質(zhì)量,消除圖像拼接過程中常見的縫合處不平滑現(xiàn)象,實(shí)驗(yàn)結(jié)果表明,本文算法能夠在提高檢測速度的基礎(chǔ)上,還具有較高的匹配精度和很好的拼接效果。