陜西黃河集團(tuán)有限公司 馬文希 張 巧
基于改進(jìn)SIFT算法的圖像拼接技術(shù)的研究
陜西黃河集團(tuán)有限公司 馬文希 張 巧
在利用尺度不變特征變換(SIFT)算法進(jìn)行圖像拼接的過程中,由于SIFT算法存在著幾個(gè)方面的問題,本文為解決這幾個(gè)問題,提出了在SIFT生成特征描述符之前,加入Moravec算子所檢測(cè)的特征點(diǎn),理論上會(huì)解決SIFT算法存在的問題。
SIFT;Moravec;特征點(diǎn)檢測(cè);圖像拼接
科技的高速發(fā)展,令人們對(duì)三維模型的研究日益重視,而為了得到完整的三維模型,必須需要有圖像拼接技術(shù)[1]。圖像拼接技術(shù)主要是把兩幅或者兩幅以上的,存在著重疊信息的圖像,通過一定的技術(shù)進(jìn)行拼接,從而生成一幅范圍更大,視野更加寬闊的圖像[2]。
圖像拼接技術(shù)主要分為兩種:一種是基于灰度的拼接算法,另一種是基于特征的拼接算法[3]。兩幅相關(guān)聯(lián)圖像之間的相似程度,通過直接采用其灰度信息的形式,利用某種一定的搜索方式找到相關(guān)聯(lián)圖像圖像之間的相似度是最大或是最小的變換參數(shù)。而基于特征的拼接算法是以圖像中提取出的某些特征來作為匹配基元,通常為點(diǎn)、線、區(qū)域或者某些特殊的結(jié)構(gòu)等,以這些特征為模型進(jìn)行配準(zhǔn)。
本文要研究的就是基于特征的拼接算法,在圖像拼接的過程中,有三部分是關(guān)鍵的:圖像的獲取、特征點(diǎn)的檢測(cè)和匹配、圖像的融合[4]。其中最為關(guān)鍵的就是特征點(diǎn)的檢測(cè)和匹配。
文獻(xiàn)中已經(jīng)驗(yàn)證SIFT算法是目前最為成功的局部特征提取算子。SIFT算法的主要步驟是:1)建立DOG(高斯差分的尺度空間);2)尺度空間極值點(diǎn)的檢測(cè);3)極值點(diǎn)位置的精確定位;4)關(guān)鍵點(diǎn)的方向分配;5)特征點(diǎn)描述符的生成。據(jù)有關(guān)的文獻(xiàn)表明:與其他的局部特征提取的算法相比較,SIFT的特征點(diǎn)比較定位準(zhǔn)確,該算法具有比較好的尺度不變、旋轉(zhuǎn)不變、視角不變以及光照不變的特性。
2.1 建立DOG(高斯差分的尺度空間)
尺度空間的理論最早是在計(jì)算機(jī)視覺的領(lǐng)域出現(xiàn)的。高斯卷積核作為唯一的線性核,實(shí)現(xiàn)這種尺度變換的唯一的變換核也正是高斯卷積核。而SIFT正是利用高斯函數(shù)而建立出尺度空間的。
為了找到尺度空間中存在的極值點(diǎn),需要把所有的采樣點(diǎn)要和與它相鄰的點(diǎn)比較,判斷出該點(diǎn)是不是比圖像域中與該尺度域相連接的點(diǎn)較大或者較小。居于中間的檢測(cè)點(diǎn)與該采樣點(diǎn)相同尺度的8個(gè)方向上相連接的點(diǎn),以及上下相連接的尺度所對(duì)應(yīng)的18個(gè)點(diǎn),加起來共26個(gè)點(diǎn)都進(jìn)行比較,進(jìn)而保證尺度空間中以及二維的圖像空間中都能夠?qū)O值點(diǎn)檢測(cè)出來。
2.2 極值點(diǎn)位置的精確定位
以擬和三維的二次函數(shù)的精確程度的方式,確定出關(guān)鍵點(diǎn)的位置與尺度,進(jìn)而得到亞像素的精度,再去除那些對(duì)比度比較低的關(guān)鍵點(diǎn),以及那些邊緣響應(yīng)點(diǎn)不太穩(wěn)定的點(diǎn),使得匹配的穩(wěn)定性增強(qiáng)、抗噪聲能力也提高了。
2.3 關(guān)鍵點(diǎn)方向的分配
由于要保持描述符所具有的旋轉(zhuǎn)不變的特性,就需要通過圖像的局部特征為所有的關(guān)鍵點(diǎn)分配一個(gè)方向。進(jìn)而采用關(guān)鍵點(diǎn)鄰域的像素梯度所具有的特性以及方向所分布的特性,就能夠得出梯度的模值。
2.4 特征點(diǎn)描述符的生成
上面所有步驟都完成后,對(duì)所有的關(guān)鍵點(diǎn)而言,都會(huì)存在三個(gè)信息:位置、尺度和方向。接下來的任務(wù)就是給所有的關(guān)鍵點(diǎn)都要生成一個(gè)相關(guān)聯(lián)的描述符,保證所有的關(guān)鍵點(diǎn)不會(huì)隨著外界的改變而變化,比如視角的變化、光照的變化等等。而且為了提高特征點(diǎn)的正確匹配率,要盡量讓所有的描述符都要具有比較好的獨(dú)特性。
SIFT算法在特征提取與匹配方面存在下面幾個(gè)問題[5]:1)特征點(diǎn)的提取程序比較復(fù)雜度,需要進(jìn)行計(jì)算的時(shí)間太長(zhǎng)。SIFT算法利用卷積平滑的操作和加權(quán)直方圖的統(tǒng)計(jì)相結(jié)合的方法,所以需要進(jìn)行大量的浮點(diǎn)運(yùn)算,使得復(fù)雜度較高。2)由于生成的特征點(diǎn)太多,進(jìn)而影響了匹配的速度與搜索的速度。在SIFT算法所提取的大量特征點(diǎn)中,有一部分誤差很大,需要被剔除掉,這些被剔除的特征點(diǎn)會(huì)耗費(fèi)大量的時(shí)間。3)特征集合整體顯著性不高。很多特征點(diǎn)不能反映圖像的結(jié)構(gòu)。
為了解決上述問題,可以讓更加有效的Moravec算子來替代SIFT算法中的特征提取算子。Moravec是點(diǎn)特征提取中的經(jīng)典算子之一[6]。很多算子都是在它的基礎(chǔ)之上改進(jìn)的,比如Harris算子[7]。
Moravec優(yōu)點(diǎn)就是:1)計(jì)算量小,實(shí)現(xiàn)簡(jiǎn)單快速。2)特征點(diǎn)提取的比較合理,可以反映圖像的結(jié)構(gòu)。3)抗噪聲能力強(qiáng)。
改進(jìn)算法的流程為:
圖1 算法流程圖
實(shí)驗(yàn)結(jié)果顯示運(yùn)用兩種算法進(jìn)行圖像拼接的效果是相同的。
改進(jìn)的算法在一定程度上解決了SIFT算法的問題,使得圖像拼接的效率更高,該算法:1)由于SIFT算法在進(jìn)行檢測(cè)特征點(diǎn)的時(shí)候,采用了DOG算子和高斯核的運(yùn)算,所以占用了大量時(shí)間,相比較而言,改進(jìn)的算法用了計(jì)算量比較小的Moravec算子,降低了運(yùn)算量。2)改進(jìn)的算法產(chǎn)生的特征點(diǎn)數(shù)量較少,大大縮短了匹配時(shí)間。3)由于Moravec本身可以反映圖像的結(jié)構(gòu),所以改進(jìn)的算子產(chǎn)生的特征點(diǎn)有利于匹配。
將SIFT算法與Moravec算子進(jìn)行結(jié)合而改進(jìn)的特征點(diǎn)檢測(cè)以及匹配過程大大減少了圖像拼接的運(yùn)算量,縮短了圖像拼接所耗費(fèi)的時(shí)間,而且由于Moravec屬于基于特征的特征點(diǎn)檢測(cè)方式,使得圖像匹配的正確率有所提高。
[1]易成濤,王孝通.基于圖像建模系統(tǒng)中圖像拼接算法研究[J].微電子學(xué)與計(jì)算機(jī),2010,27(6):20-23.
[2]吳錦杰,劉肖琳.基于雙目相機(jī)的圖像拼接[J].計(jì)算機(jī)工程,2010,36(12):209-212.
[3]何穎,王玲.基于特征塊與小波變換的拼接算法[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(9):1958-1975.
[4]尉朝聞,李會(huì)平.基于特征點(diǎn)的圖像拼接算法研究[D].西安科技大學(xué)科學(xué)與技術(shù)學(xué)院:177-179.
[5]趙欽君,趙東標(biāo),韋虎.Harris-SIFT算法及其在雙目立體視覺中的應(yīng)用[J].電子科技大學(xué)學(xué)報(bào),2010,39(4):546-550.
[6]黃燕.點(diǎn)特征提取算法探討[J].現(xiàn)代商貿(mào)工業(yè),2009,12:302.
[7]朱玉璽,周靈.基于M算子確定條件的小波圖像融合算法設(shè)計(jì)[J].佛山科學(xué)技術(shù)學(xué)院學(xué)報(bào)(自然科學(xué)版).2010,28(3):18-22.