張 強, 韓松奇, 于微波
(長春工業(yè)大學 電氣與電子工程學院, 吉林 長春 130012)
在對工件進行三維測量時,為了獲取工件的三維信息,即表面空間點的三維坐標,關(guān)鍵的步驟在于特征匹配的準確性和快速性,因此需要對特征匹配方法進行研究[1]。
基于SURF特征匹配算法具有旋轉(zhuǎn)不變、尺度不變等特點,但在匹配的過程中會出現(xiàn)誤匹配的現(xiàn)象,由于特征點集中存在著一系列潛在的誤匹配點對,即一對多或者多對一的錯配點,不僅影響著匹配的準確性,也影響著匹配的效率[2]。因此,需要一種方法來完成對這些點對的去除,以此來達到魯棒性的目的。
基于SURF特征的匹配算法的基本思路是:在求取SURF特征向量后,通過K-D樹近似BBF搜索算法確定每一個特征點的兩個相近鄰的特征點進行距離判定,最后進行特征點的匹配[3]。
基于SURF特征匹配的基本流程如圖1所示。
圖1 基于SURF特征匹配的流程框圖
SURF特征描述子在生成特征向量時,首先要進行積分圖像的求取,對原圖像每個像素點進行掃描,在一定的尺度空間內(nèi),采用Hessian檢測子驗證所提取到的特征點是否為極值點[4]。如果是極大值,則保留下來,作為候選特征點,否則排除。最后為了確定全部特征點的主方向,需要形成一個窗口區(qū)域來提取特征向量。
1.1.1 求取積分圖像
在原始圖像中任取一點(i,j),它的積分面積能夠通過這一點到原點的范圍里所有點的灰度值總和計算獲得:
(1)
式中:p(i1,j1)——點(i,j)的灰度值。
通過
∑=A+D-(B+C)
計算矩形范圍里的像素點灰度值總和,對原始圖像每一個像素都掃描一次,最終得到了積分圖像,如圖2所示。
圖2 使用積分模板計算圖像的面積
1.1.2 檢測特征點
連續(xù)函數(shù)f(x,y)的二階微分Hessian矩陣為:
(2)
在尺度σ下,點X=(x,y)處,對應的Hessian矩陣。
(3)
其中,Lxx是標準高斯函數(shù)g(x,y,σ)的二階偏導數(shù)與圖像在(x,y)位置的卷積結(jié)果,如下式:
Lxx=G(x,y,σ)?I(x,y)
(4)
(5)
其中,Lyy、Lxy的計算方法相同。在某一個特定的尺度σ下,求取所有像素點的Hessian行列式值作為斑點檢測響應,再使用不同大小的模板,形成多尺寸斑點響應金字塔,最后查找斑點響應的極值點。
1.1.3 構(gòu)建尺度空間
首先構(gòu)建一個圖像金字塔,最下面的一層是大小不變的初始圖像,然后分別通過不同尺寸模板對圖像進行處理,形成尺度空間,模板與圖像卷積計算出Hessian矩陣響應圖像,通過非極大值抑制的方法求出不同尺度。之后計算不同尺度中的斑點響應值。若該響應值是極大值,選做初始特征點,反之清除。
1.1.4 生成SURF特征描述子
通過對圖像所有像素點進行Haar小波響應運算,生成特征描述子。取20 s×20 s的矩形區(qū)域,并將它分成4×4個子窗口,使用尺寸為2 s的小波模板求取響應值,然后統(tǒng)計∑dx、∑|dx|、∑dy、∑|dy|,最終形成特征向量。特征描述子的表示如圖3所示。
圖3 特征描述子的表示
在對兩圖像進行特征匹配時,需要根據(jù)K-D樹的方法來尋找距離目標查詢點最為接近的特征點[5]。
對于一個具體查詢點q,由K-D樹的根節(jié)點著手劃分,把q在i維的值和根節(jié)點的m值做比較,當Ki(P)≤m時,使q和左子節(jié)點比大小,當Ki(P)>m,使q和右子節(jié)點比大小。根據(jù)從遠到近原則排序,在確定某一個葉節(jié)點與q點的距離之后,在序列的頭部搜索到與q點距離最相近的K-D樹節(jié)點,遞歸上述步驟,只有當葉節(jié)點的數(shù)量比Emax大時才停止。如果葉節(jié)點數(shù)量比Emax小時,驗證后停止操作。
采用上述方法和步驟,在建立待匹配圖像的SURF關(guān)鍵點描述子集合之后,對64維的特征向量進行歐式距離判斷,最后采用K-D樹近似BBF算法對某一圖像中的所有特征點在另一幅圖像中檢索相對應的匹配點。
通過相似性度量能夠得到一系列潛在的匹配點對,其中包含著潛在的錯配點,因此,需要一種方法來完成對這些點對剔除,以此來達到提高魯棒性的目的。
RANSAC算法的原理是把所有的點數(shù)據(jù)分為“內(nèi)點”和“外點”,“內(nèi)點”是滿足估計參數(shù)的點,“外點”是不滿足估計參數(shù)的點。兩幅圖像的投影變換可以由以下齊次坐標表示:
(6)
可以得到:
(7)
1)首先從兩幅圖像的SURF預匹配特征點數(shù)據(jù)集中取出4對相對應的特征點對,需要注意的是這幾對特征點不在同一行,得到H,并且記作模型M。
2)計算數(shù)據(jù)集里全部數(shù)據(jù)和模型M的投影誤差,當計算得到的誤差小于事先設(shè)定的閾值,則應該放在內(nèi)點集I中。
3)當內(nèi)點集I數(shù)據(jù)數(shù)量多于最優(yōu)點集I_best的時候,使I_best=I,然后迭代的次數(shù)k加1。
4)在當前迭代的次數(shù)k不大于最大迭代次數(shù)的時候,繼續(xù)迭代,重復1)、2)、3),直到迭代的次數(shù)大于k,停止。
分別進行兩組測試,對標準圖像庫中cameraman進行特征匹配實驗,如圖4所示。
對cameraman圖像改進前后算法的匹配效果比較見表1。
對法蘭盤圖像進行特征匹配的實驗效果如圖5所示。
對法蘭盤圖像改進前后算法的匹配效果比較見表2。
(a) 傳統(tǒng)的基于SURF匹配算法 (b) 改進的基于SURF匹配算法
算法匹配點對數(shù)所用時間/s匹配效率/(對/s)傳統(tǒng)SURF匹配算法522.75218.89改進SURF匹配算法281.30921.39
(a) 傳統(tǒng)的SURF匹配算法 (b) 改進后的基于SURF匹配算法
算法匹配點對數(shù)所用時間/s匹配效率/(對/s)傳統(tǒng)SURF匹配算法432.18119.71改進SURF匹配算法391.73422.49
由表1和表2數(shù)據(jù)可知,在對cameraman進行匹配時,傳統(tǒng)算法的匹配效率為18.89對/s,改進算法的匹配效率為21.39對/s,效率提高了13.23%;在對法蘭盤圖像進行匹配時,傳統(tǒng)算法的匹配效率為19.71對/s,改進算法的匹配效率為22.49對/s,效率提高了14.1%。雖然改進后SURF特征匹配算法在進行匹配時,匹配點對數(shù)有所降低,但有效地淘汰了錯配點對,提高了匹配的準確性,改進的匹配算法運行所用時間更短,匹配效率更高。
針對基于SURF特征的匹配算法對工件圖像進行特征點匹配時會出現(xiàn)誤匹配的問題,文中設(shè)計了一種改進的基于SURF特征的匹配算法,分別對標準圖像庫中的圖像和雙目相機獲取的工件圖像進行處理,實驗結(jié)果表明,改進后的算法有效地減少了誤匹配點的個數(shù),提高了匹配的效率和準確性。