廖泓真,王亮,孫宏偉,劉云清,*
(1.長春理工大學 電子信息工程學院,長春 130022;2.北京信息技術研究所,北京 100094)
特征匹配是三維重建、目標跟蹤、SLAM、機器人環境識別和圖像拼接等應用中的重要技術[1],如何提高特征匹配的準確率和魯棒性一直受到很多研究者的關注。
特征匹配的主要過程是在2幅圖像中提取特征點,并對特征點進行描述,通過比較特征點之間相似度判斷是否匹配[2]。常用的圖像特征提取方法包括SIFT[3]、SURF[4]、ORB[5]、LIET[6]、Key.Net[7]、RF-NET[8]等。Lowe[3]提出的SIFT特征具有尺度、旋轉和光照等的不變性,但計算時間長[9]。Bay等[4]改進了SIFT特征,提出了SURF特征,提高了特征提取的速度[10]。FAST角點能夠快速確定特征點的位置[11],但不具有方向信息[12]。Calonder等[13]提出了對特征點周圍圖像區域進行描述的BRIEF描述子。Rublee等[5]改進FAST角點和BRIEF描述子,提出了ORB特征,其能夠有效替代SIFT和SURF[14]。ORB適當降低了精度,但提取速度比SIFT、SURF快,是不同類型特征點中性能與質量的較好折中[15]。
上述方法的主要思想是改進特征點的提取方式或改進描述子使特征點更具獨特性。改進特征點的方法雖然可以改善特征匹配,但無法有效剔除誤匹配。此外,Muja和Lowe[16-17]通過建立kdtree和k-means tree的方法加快了特征匹配速度,但仍無法有效剔除誤匹配。
RANSAC(Random Sample Consensus)算法可以剔除誤匹配,但當誤匹配較多時,效果會下降[18-20]。Bian等[20]提出運動網格統計算法(Grid-based Motion Statistics,GMS),通過統計匹配點鄰域內的支持度剔除誤匹配。但在圖像模糊等條件下,匹配準確率下降[2,21]。本文提出了一種改進的ORB特征匹配算法。首先,分散化提取ORB特征點,使提取的特征點更具代表性[22]。然后,利用暴力匹配和交叉驗證得到初步的匹配集合。最后,利用GMS剔除匹配集合中的誤匹配,同時使用高斯核對GMS的統計結果加權,優化匹配結果。
ORB特征是計算機視覺領域常用的圖像特征之一,其具有旋轉、尺度不變性和提取速度快的優點。由于ORB特征在確定關鍵點時以閾值作為判斷條件,當圖像中某一區域有多個像素滿足閾值時,就會出現特征點集中現象。
特征點集中會降低匹配的準確性,為使特征點均勻分布,改進后的算法在特征點的提取過程中引入四叉樹結構[22],具體步驟如下:
1)將圖像劃分為大小相同的網格(這里的網格與后文的GMS網格不是同一個),在每個網格中提取FAST角點。
2)將圖像分為4個子節點,判斷各個子節點中特征點的數目,如果大于1,將這個子節點再次劃分為4個子節點,直至所有的子節點的數目大于預先設置的特征點數目為止。
3)在每一個子節點中保留響應值最大的FAST角點,其余角點均刪除。
提取的ORB特征點通過暴力匹配獲得粗匹配集合,但是暴力匹配無法剔除誤匹配。在圖像匹配中經常采用交叉驗證的方法進行誤差剔除,因此改進后的算法在暴力匹配中引入交叉驗證剔除誤匹配。
交叉驗證雖然可以剔除部分誤匹配,但得到的匹配集合中仍包含許多誤匹配,因此在交叉驗證后采用GMS對誤匹配做進一步的剔除。
如圖1所示,GMS通過統計每一對匹配點鄰域內的匹配總數,實現正確匹配與錯誤匹配的區分。

圖1 GMS示意圖Fig.1 Schematic of GMS
在2幅圖像中分別提取N個和M個特征點,每個點的匹配概率獨立,設正確匹配的概率為t。通過暴力匹配得到匹配集合X={x1,x2,…,xN}。設匹配xi在2幅圖像中的鄰域a、b中各包含n個、m個特征點,fa為a中的1個特征點。如果xi是1個正確匹配,則fa的匹配點落在b區域的概率為

式中:Tab為xi是正確匹配;為fa的匹配點落在b區域為fa匹配正確為fa匹配錯誤;β為1個調節因子。
同理,如果xi是1個錯誤匹配,則fa的匹配點落入b區域的概率為

式中:Fab為xi是錯誤匹配。
xi鄰域內匹配點的總數為其支持度,設為Si,Si的概率分布是二項分布:

如圖2所示,為提高計算效率,實際計算中一般將圖像劃分為20×20個網格,計算每個網格的支持度。

圖2 圖像網格化示意圖Fig.2 Schematic of grid-based image
每個網格支持度的統計區域為該網格及其周圍的8個網格:


式(5)說明每個網格在它的鄰域內都有支持度,但支持度分布不同,其分布為雙峰形式,因此通過選擇合適的閾值,可以有效地判斷該網格是否可以接受。設閾值為

式中:nij為9個網格中匹配點數目的平均值;α為調節閾值的參數,Bian等在論文中令α的值為6[20]。
如圖2所示,a5為待判斷網格,a1~a4,a6~a9為其鄰域內的8個網格。設a5坐標為(x,y),a6坐標為(x+1,y),a9的坐標為(x+1,y+1)。則a1、a3、a7、a9與a5的距離均為與a5的距離均為1。與待判斷網格距離越大,網格置信度越小,距離越小,網格置信度越大。為描述距離產生的置信度差異,改進后的算法在計算支持度時,對網格匹配結果進行加權。
計算機視覺中常用高斯函數生成的高斯核對圖像進行加權處理,原因如下:
1)高斯函數是單值函數,其自變量的函數值隨該點與中心點的距離單調遞減。
2)二維高斯函數具有旋轉不變性,用高斯函數加權時,各個方向上的權值相同。
3)高斯函數的寬度由標準差σ表示,且寬度和σ關系簡單,通過調節σ可以很容易調節權值大小。
因此,本文選擇高斯核對網格進行加權,二維高斯函數為

以待判斷網格a5為中心點,對高斯函數離散化采樣并歸一化處理,得到3×3加權矩陣:

式中:A11+A12+… +A33=1。設9個網格與對應網格的匹配點數目為ni(i=1,2,…,9),則網格a5的支持度:

如果S5大于閾值T,則認為滿足GMS要求,否則剔除。
因為a2、a4、a6、a8與中心點的距離為1,如果σ=1,則a2、a4、a6、a8權值的采樣點在距中心點的±σ處,所以這里σ取1。
本文實驗使用的電腦為i7處理器,內存8 GB,操作系統為Ubuntu18.04,實驗圖像來自Oxford VGG數據集等[23]。為驗證本文算法對不同類型圖像的性能,選取了4組圖像,如圖3所示,分別是圖像模糊、光照變化、圖像壓縮和高斯噪聲,每組中包含6幅圖片。

圖3 實驗用圖Fig.3 Images in experiment
圖4為4組圖像的原算法和本文算法的準確率對比。實驗以平均準確率、最高準確率、最低準確率和準確率的標準差評價算法的準確性。記最高準確率為H,最低準確率為L,平均準確率為E,準確率的標準差為S。
準確率的計算方法如下:
1)根據得到的匹配點,采用RANSAC方法,計算2幅圖像之間的基礎矩陣。
2)滿足該基礎矩陣的匹配點為內點,并以內點數Ni占匹配點總數Nm的百分比為準確率,準確率為

在實驗中高斯函數的標準差σ取1,調節GMS閾值的參數α取6。
由圖4(a)~(d)可知,在圖像模糊、光照變化、圖像壓縮和噪聲情況下,原算法的準確率曲線出現較大波動,準確率下降,本文算法不僅提高了準確率,而且減小了波動。

圖4 準確率對比Fig.4 Accuracy comparison
如表1所示,在圖像模糊條件下,本文算法平均準確率提高了3.5%,標準差下降了2.58%。在光照變化條件下,本文算法平均準確率提高了4.2%,標準差下降了0.92%。在圖像壓縮條件下,本文算法平均準確率提高了2.2%,標準差下降了0.93%。

表1 實驗結果Table 1 Experim ental resu lts
在高斯噪聲條件下,本文算法平均準確率提高了6%,但標準差提高了2.36%。如果去除實驗順序為15的數據,原算法的標準差是6.97%,本文算法的標準差是2.02%,本文算法標準差下降了4.95%,平均準確率提高7.3%。
出現這種現象的原因是:實驗順序為15的實驗中,比較的是高斯噪聲圖像組的第5幅和第6幅圖片,與其他圖像相比,第6幅圖像的噪聲加劇,其高斯噪聲的方差為102。這說明本文算法在噪聲條件下可以提高匹配的準確率,但噪聲過于嚴重時,匹配準確率下降。
在圖像壓縮條件下,平均準確率提高2.2%,相較于其他條件提高幅度最低。這是因為在圖像壓縮條件下,原算法的平均準確率為95.7%,所以本文算法雖然提高平均準確率,但提高空間有限。此外,VGG圖像中使用的圖像壓縮方法為JPEG圖像壓縮,該方法雖然減少了圖像的細節,但仍保留了大量的圖像信息,相較于其他條件,圖像壓縮對特征匹配的影響較小,因此在圖2中,待判斷網格與其鄰域內網格中的匹配點數目差異較小,加權后對結果影響不大。
1)本文算法在圖像模糊、光照變化、和圖像壓縮條件下,準確率提高。
2)在高斯噪聲條件下,當高斯噪聲的方差較小時,本文算法在準確性方面超過原算法。但如果噪聲加劇,則算法準確性出現下降。如何改進算法使其在噪聲嚴重條件下實現準確匹配還需進一步研究。
3)在圖像壓縮條件下,本文算法對準確率的提升有限。在以后的研究中,可以采用增加ORB描述子維度等方法提高特征點描述子的區分度,從而提高匹配準確率。