胡曉彤,任 輝,劉 楠
(天津科技大學(xué)計(jì)算機(jī)科學(xué)與信息工程學(xué)院,天津 300222)
基于特征點(diǎn)的圖像配準(zhǔn)算法首先在圖像中提取特征點(diǎn),然后建立兩幅圖像之間特征點(diǎn)的配準(zhǔn)關(guān)系,其廣泛應(yīng)用于圖像匹配、三維成像等領(lǐng)域.Bay等提出了 SURF(speeded-up robust features)算法[1],它是對(duì)SIFT(scale invariant feature transform)算法的一種改進(jìn),其性能超過(guò)了SIFT且能夠獲得更快的速度[2].文獻(xiàn)[3]中的局部特征算法的性能比較實(shí)驗(yàn)表明:SURF算法是性能最為魯棒的局部特征算法[3].在對(duì)SURF算法的改進(jìn)研究方面,已經(jīng)有許多的研究成果.潘建平等[4]通過(guò)圖像分塊策略改善提取特征點(diǎn)的均勻性,引用相對(duì)距離理論剔除異常匹配點(diǎn),從而提高了匹配點(diǎn)的可靠性;常俊林等[5]將 SVM 與 SURF相結(jié)合,所得到的特征點(diǎn)歐氏距離歸一化后輸入到SVM中,通過(guò)線下學(xué)習(xí),對(duì)每幅圖像自主地選取合適的閾值,實(shí)現(xiàn)了特征點(diǎn)之間的自適應(yīng)匹配,使得匹配精度有了一定程度的提高;貢超等[6]提出采用擴(kuò)散距離對(duì)SURF特征進(jìn)行匹配,提高了匹配的正確率與魯棒性.在提高 SURF匹配速度方面,胡 旻 濤等[7]提出利用圖像熵信息對(duì)特征點(diǎn)進(jìn)行篩選,并利用快速近鄰搜索算法進(jìn)行特征匹配,有效地改善了匹配效率.上述改進(jìn)算法對(duì)于提高 SURF算法的性能進(jìn)行了有益的探索.但是,迄今為止尚無(wú)法實(shí)現(xiàn) SURF特征點(diǎn)的匹配精度與匹配成功率間的平衡.
為此,本文在深入研究 SURF特征點(diǎn)的尺度、特征強(qiáng)度與匹配性能間關(guān)系的基礎(chǔ)上,提出了特征點(diǎn)尺度與特征強(qiáng)度自適應(yīng)的SURF圖像特征點(diǎn)匹配算法,從而獲得更多高精度的匹配特征點(diǎn)對(duì),實(shí)現(xiàn)了高性能的SURF特征點(diǎn)匹配.
SURF算法是一種基于尺度空間的特征點(diǎn)檢測(cè)與匹配算法,其不僅對(duì)圖像旋轉(zhuǎn)、平移、縮放和噪聲具有較好的魯棒性,而且在光照變化、視角變化及圖像模糊等情況下也能得到較好的匹配結(jié)果[8].
SURF算法首先對(duì)圖像進(jìn)行高斯平滑處理,并建立高斯尺度空間,然后通過(guò)計(jì)算 Hessian矩陣行列式的局部極值來(lái)確定特征點(diǎn)的位置.對(duì)于尺度為σ的空間中任一點(diǎn)(x, y)的Hessian矩陣定義為
式中:Lxx是高斯二階導(dǎo)卷積的結(jié)果,其中;Lxy、Lyy與 Lxx具有相似的含義.
為保持特征點(diǎn)的旋轉(zhuǎn)不變性,在特征點(diǎn)位置確定后,計(jì)算每一個(gè)特征點(diǎn)的主方向.為此,在以特征點(diǎn)為中心,半徑為 6σ(σ為特征點(diǎn)的尺度)的圓形區(qū)域內(nèi),對(duì)圖像在x和y方向進(jìn)行 Harr小波響應(yīng)運(yùn)算,Harr小波邊長(zhǎng)取4σ,并使用尺度為2σ的高斯加權(quán)函數(shù)對(duì) Harr小波響應(yīng)值進(jìn)行高斯加權(quán),使得越靠近特征點(diǎn)的響應(yīng)貢獻(xiàn)越大;然后,用π/3大小的扇形區(qū)域范圍遍歷整個(gè)圓形區(qū)域,并將水平方向響應(yīng)和垂直方向響應(yīng)的矢量和模的最大值的方向定義為特征點(diǎn)的主方向.
以特征點(diǎn)為中心,構(gòu)造一邊垂直于主方向且邊長(zhǎng)為 20σ的正方形窗口區(qū)域,并將該窗口區(qū)域劃分成4×4的子區(qū)域,如圖 1所示.在每一個(gè)子區(qū)域內(nèi),進(jìn)行5σ×5σ個(gè)采樣點(diǎn)的水平方向和垂直方向的Harr小波響應(yīng)的計(jì)算,分別記作dx和dy,同樣使用尺度為2σ的高斯加權(quán)函數(shù)對(duì) Harr小波響應(yīng)值進(jìn)行高斯加權(quán),以增加對(duì)幾何變換的魯棒性.然后將每個(gè)子區(qū)域的響應(yīng)值和響應(yīng)值的絕對(duì)值相加形成
圖1 SURF 特征點(diǎn)的描述Fig. 1 SURF point features
由此,每個(gè)子區(qū)域就形成了一個(gè)四維特征描述向量
對(duì)于每一個(gè)特征點(diǎn),形成4×4×4=64維的特征向量.同時(shí),為保證對(duì)光照不變性,對(duì)特征向量進(jìn)行歸一化處理,得到最終的SURF描述符.
特征點(diǎn)的匹配是實(shí)現(xiàn)圖像配準(zhǔn)的關(guān)鍵,特征點(diǎn)匹配的精度直接影響著后續(xù)處理的準(zhǔn)確性[9].根據(jù)SURF特征點(diǎn)描述符中包含的特征點(diǎn)鄰域信息,采用K最近鄰法找出每個(gè)特征點(diǎn)潛在的兩個(gè)最佳匹配點(diǎn);最終,通過(guò)匹配點(diǎn)的距離最佳值與次佳值比率優(yōu)選出最佳匹配點(diǎn)對(duì).
在基于SURF特征點(diǎn)的圖像配準(zhǔn)過(guò)程中,特征點(diǎn)的匹配精度影響圖像間配準(zhǔn)變換模型參數(shù)的估算.如何選取更多高精度匹配特征點(diǎn)對(duì)是提高圖像配準(zhǔn)精度的關(guān)鍵.
根據(jù)SURF特征點(diǎn)的檢測(cè)與描述方法可知,特征點(diǎn)的尺度是特征點(diǎn)具有的重要特征,同時(shí)也反映了用于描述該特征點(diǎn)的圖像區(qū)域的大?。畧D 2中的圓形區(qū)域即為計(jì)算圓心所代表的特征點(diǎn)的特征向量所使用的圖像區(qū)域,而該圓的半徑則被定義為該特征點(diǎn)的尺度.
由于用于描述小尺度特征點(diǎn)的圖像區(qū)域較小,能夠更加準(zhǔn)確地描述該點(diǎn)的特征,從而使得小尺度特征點(diǎn)間的匹配具有更高的定位精度[10].不過(guò),小尺度特征點(diǎn)只占圖像中所有特征點(diǎn)的一部分,使不同尺度的特征點(diǎn)均能獲得較高的定位精度是實(shí)現(xiàn)高性能SURF特征點(diǎn)匹配的關(guān)鍵.
圖2 SURF 特征點(diǎn)的尺度描述Fig. 2 SURF point scale
目前,尚未見(jiàn)定量分析SURF特征點(diǎn)的尺度與定位精度間關(guān)系的研究.為此,需要定量分析 SURF特征點(diǎn)的尺度對(duì)定位精度的影響程度,并在此基礎(chǔ)上,探索受特征點(diǎn)尺度影響較小的匹配機(jī)制,為高性能的SURF特征點(diǎn)匹配提供保障.
SURF特征點(diǎn)匹配算法采用 K最近鄰法搜索出每個(gè)特征點(diǎn)潛在的兩個(gè)最佳匹配點(diǎn),并定義相似度最高的待匹配特征點(diǎn)的特征向量的歐氏距離 d1與相似度次高的待匹配特征點(diǎn)的特征向量的歐氏距離 d2的比值 d1/d2為該特征點(diǎn)的特征強(qiáng)度.同時(shí),設(shè)定特征強(qiáng)度閾值,只有當(dāng)待匹配特征點(diǎn)的特征強(qiáng)度值小于該閾值時(shí),才將該特征點(diǎn)對(duì)作為匹配成功點(diǎn)對(duì).
由于相似度越高的特征點(diǎn)的特征強(qiáng)度值越小的可能性越高,故較小的特征強(qiáng)度閾值能夠保證相似度較高的特征點(diǎn)對(duì)才被保留下來(lái),從而提高配準(zhǔn)的定位精度.然而,如果將特征強(qiáng)度閾值設(shè)置較小,即只保留特征強(qiáng)度較高的特征點(diǎn),則可能導(dǎo)致匹配成功率降低,使最終獲得的匹配點(diǎn)對(duì)數(shù)量不足,無(wú)法實(shí)現(xiàn)高性能的特征點(diǎn)匹配.因此,只有深度研究 SURF特征點(diǎn)的特征強(qiáng)度閾值與匹配性能間的關(guān)系,才能夠保持定位精度和匹配成功率的平衡,從而有望實(shí)現(xiàn)高性能的特征點(diǎn)匹配.
雖然小尺度、高特征強(qiáng)度的特征點(diǎn)能夠獲得較高的定位精度,但可能造成匹配成功的特征點(diǎn)對(duì)數(shù)量不夠多,無(wú)法實(shí)現(xiàn)高性能的特征點(diǎn)匹配的問(wèn)題.
同時(shí),傳統(tǒng)的SURF特征點(diǎn)匹配算法采用統(tǒng)一的特征強(qiáng)度閾值,當(dāng)該閾值被設(shè)置得較小時(shí),可能會(huì)造成部分定位精度較高的小尺度特征點(diǎn)未能匹配成功;而當(dāng)該閾值被設(shè)置得較大時(shí),可能會(huì)造成部分定位精度較低的大尺度特征點(diǎn)被保留下來(lái).故采用統(tǒng)一的特征強(qiáng)度閾值,可能影響整體的定位精度,或使匹配成功的特征點(diǎn)對(duì)的數(shù)量減少,無(wú)法達(dá)到定位精度與匹配成功的特征點(diǎn)對(duì)數(shù)量間的平衡.
為此,需要深入研究 SURF特征點(diǎn)的尺度、特征強(qiáng)度與定位精度、匹配成功率間的關(guān)系,探索高性能的SURF特征點(diǎn)匹配.
在已知圖像旋轉(zhuǎn)角度(實(shí)驗(yàn)中取 5°)的條件下,將圖 2所示與旋轉(zhuǎn)后的圖像進(jìn)行特征點(diǎn)匹配;隨后,基于原圖上特征點(diǎn)的坐標(biāo)與旋轉(zhuǎn)角度計(jì)算旋轉(zhuǎn)后匹配點(diǎn)的理論坐標(biāo)值;最后,計(jì)算旋轉(zhuǎn)圖像上相匹配的特征點(diǎn)的真實(shí)坐標(biāo)值與理論坐標(biāo)值間的差作為定位誤差進(jìn)行分析.圖 3所示為特征點(diǎn)定位誤差的絕對(duì)值.從圖 3可以看出:在特征強(qiáng)度一定的情況下,小尺度特征點(diǎn)(尺度<20)的定位誤差相對(duì)于大尺度特征點(diǎn)(尺度≥40)普遍較小,說(shuō)明小尺度特征點(diǎn)具有較高的定位精度.
圖3 不同尺度特征點(diǎn)的定位誤差Fig. 3 Positioning errors at different scale feature points
為了定量分析特征點(diǎn)尺度與定位精度間的關(guān)系,將圖2所示圖像與測(cè)試用圖像進(jìn)行特征點(diǎn)匹配,對(duì)匹配成功的特征點(diǎn)計(jì)算其定位誤差,從而分析不同尺度的特征點(diǎn)的定位精度.分析時(shí),采用待匹配圖像中匹配成功的特征點(diǎn)坐標(biāo)與原圖中相應(yīng)的特征點(diǎn)經(jīng)旋轉(zhuǎn)后坐標(biāo)間的差值作為特征點(diǎn)的定位誤差,結(jié)果見(jiàn)表 1.
表1 不同尺度特征點(diǎn)的平均定位誤差Tab. 1 Average positioning errors of feature points of different scales
從表 1可以看出:隨著特征點(diǎn)尺度的增大,其平均定位誤差呈上升趨勢(shì),如尺度≥40的特征點(diǎn)的平均定位誤差接近尺度<20的特征點(diǎn)的定位誤差的3倍.
為了深入研究特征強(qiáng)度閾值與特征點(diǎn)定位精度間的關(guān)系,分別設(shè)置不同的特征強(qiáng)度閾值,分析高、中、低特征強(qiáng)度閾值下的特征點(diǎn)定位誤差,結(jié)果見(jiàn)圖 4.
圖4 不同特征強(qiáng)度特征點(diǎn)的定位誤差Fig. 4 Positioning errors of feature points of different intensity
從圖 4可以看出,隨著特征強(qiáng)度閾值的增大,定位誤差呈逐步增大的趨勢(shì),表明特征強(qiáng)度閾值的設(shè)置對(duì)于特征點(diǎn)的定位精度確有影響.
為了進(jìn)一步定量分析特征強(qiáng)度閾值與定位精度間的關(guān)系,在尺度相同的情況下(實(shí)驗(yàn)中取尺度小于40),分析不同特征強(qiáng)度閾值下匹配成功的特征點(diǎn)的數(shù)量與定位誤差,結(jié)果見(jiàn)表2.
表2 不同強(qiáng)度特征點(diǎn)的平均定位誤差Tab. 2 Average positioning errors of feature points of different strength
從表 2可以看出:隨著特征強(qiáng)度閾值的提高,平均定位誤差呈上升趨勢(shì).同時(shí),不同特征強(qiáng)度的特征點(diǎn)間的定位誤差差異也較大,如特征強(qiáng)度在 0.5與0.8之間的特征點(diǎn)的平均定位誤差接近特征強(qiáng)度小于0.2的特征點(diǎn)的定位誤差的3倍.
上述實(shí)驗(yàn)結(jié)果表明:采用小尺度特征點(diǎn)或者降低特征強(qiáng)度閾值均能有效提高匹配成功的特征點(diǎn)對(duì)的定位精度,但可能造成匹配成功率的下降.為了進(jìn)一步研究尺度、特征強(qiáng)度與定位精度間的關(guān)系,針對(duì)不同尺度的特征點(diǎn),分別設(shè)置不同的特征強(qiáng)度閾值,進(jìn)行特征點(diǎn)匹配實(shí)驗(yàn),結(jié)果見(jiàn)表3.
表3 不同尺度和特征強(qiáng)度下特征點(diǎn)的平均定位誤差Tab. 3 Average positioning errors of feature points of different scales and characteristic intensities
從表 3可以看出:特征點(diǎn)尺度越小,同時(shí)特征強(qiáng)度值越小的情況下,匹配點(diǎn)對(duì)間的平均定位誤差越小,也即定位精度更高.同時(shí),對(duì)于小尺度特征點(diǎn)來(lái)說(shuō),即便特征強(qiáng)度值稍大,也能夠獲得較高的定位精度.而對(duì)于大尺度特征點(diǎn),只有當(dāng)特征強(qiáng)度值較小時(shí),才能獲得高精度的匹配點(diǎn)對(duì).
前文分析表明,采用統(tǒng)一的特征強(qiáng)度閾值無(wú)法實(shí)現(xiàn)定位精度與匹配成功率間的平衡.因此,本文提出一種特征點(diǎn)尺度與特征強(qiáng)度自適應(yīng)的 SURF特征點(diǎn)匹配算法.
對(duì)定位精度較高的小尺度特征點(diǎn),采用較大的特征強(qiáng)度閾值,以保留更多的小尺度特征點(diǎn);對(duì)定位精度不高的大尺度特征點(diǎn),采用較小的特征強(qiáng)度閾值,以剔除定位精度較低的大尺度特征點(diǎn).
具體算法流程如下:
(1)提取模板圖像SURF特征點(diǎn);
(2)根據(jù)尺度大小將 SURF特征點(diǎn)分為 3類:尺度<20、20≤尺度<40、尺度≥40;
(3)提取待測(cè)圖像 SURF特征點(diǎn),分別在 0.2、0.5、0.8的特征強(qiáng)度閾值下與步驟(2)所得的 3類特征點(diǎn)進(jìn)行匹配,得到匹配結(jié)果.
為了驗(yàn)證算法的有效性,使用傳統(tǒng)SURF算法以及基于 SVM 的改進(jìn) SURF算法與本文提出的自適應(yīng)算法對(duì)多幅圖像對(duì)進(jìn)行了特征點(diǎn)匹配實(shí)驗(yàn).??×值萚5]所提出的 SVM 與 SURF相結(jié)合的算法采用SVM選取合適的匹配閾值,提高了匹配精度,與本文所提出的算法具有較高的可對(duì)比性,因此選取此改進(jìn)算法進(jìn)行對(duì)比.
在傳統(tǒng)的SURF匹配算法中,將特征強(qiáng)度閾值設(shè)置為被普遍采用的 0.66.本文提出的自適應(yīng)算法的參數(shù)設(shè)置為尺度小于20的特征點(diǎn)的特征強(qiáng)度閾值為0.8;尺度在[20,40]區(qū)間的特征點(diǎn)的特征強(qiáng)度閾值為0.5;尺度大于40的特征點(diǎn)的特征強(qiáng)度閾值為0.2,為不同尺度的特征點(diǎn)設(shè)置為不同的匹配規(guī)則.所選測(cè)試用圖見(jiàn)圖5,實(shí)驗(yàn)結(jié)果見(jiàn)表4.
圖5 測(cè)試用圖Fig. 5 Test images
表4 算法匹配性能比較Tab. 4 Matching performance of different algorithms
從表 4可以看出:傳統(tǒng)算法平均定位誤差較大,而基于 SVM 的 SURF改進(jìn)算法針對(duì)整幅圖像選取一個(gè)適宜的特征強(qiáng)度閾值,故其平均定位誤差要小于傳統(tǒng)的 SURF算法,但匹配點(diǎn)對(duì)數(shù)量下降較明顯;與傳統(tǒng)的SURF算法相比,本算法在獲得相近數(shù)量的匹配點(diǎn)對(duì)的情況下,平均定位誤差降低了 10%~15%;與基于SVM的SURF改進(jìn)算法相比,本算法在定位誤差基本相同的情況下,匹配成功的特征點(diǎn)數(shù)增加了11%~48%.上述結(jié)果表明,本算法較好地實(shí)現(xiàn)了特征點(diǎn)的平均定位誤差與匹配成功率間的平衡.
本文在深入研究SURF特征點(diǎn)的尺度、特征強(qiáng)度與定位精度間關(guān)系的基礎(chǔ)上發(fā)現(xiàn):隨著特征點(diǎn)尺度的減小,特征點(diǎn)的定位誤差呈下降趨勢(shì);另外,隨著特征強(qiáng)度閾值的降低,特征點(diǎn)的定位誤差也呈下降趨勢(shì),但同時(shí)都伴隨著匹配成功特征點(diǎn)對(duì)數(shù)量的下降.為此,本文提出了一種尺度和特征強(qiáng)度的自適應(yīng)SURF特征點(diǎn)配準(zhǔn)算法,通過(guò)特征強(qiáng)度閾值與尺度間的相互適應(yīng),使保持特征點(diǎn)的定位精度與匹配成功率間的平衡成為可能.實(shí)驗(yàn)結(jié)果表明:本算法在有效地提高了特征點(diǎn)的定位精度的同時(shí),獲得了數(shù)量更多的匹配特征點(diǎn)對(duì).