岳港琳,雷志勇
(西安工業大學電子信息工程學院,西安 710021)
在靶場測試中,炸點坐標測量對于射擊偏差校正[1]具有非常重要的意義。通過雙相機交匯測量炸點的坐標中,雙目匹配[2]的精度直接影響到炸點定位的準確性。
基于圖像特征[3]的匹配方法考慮了點、線、面等圖像特征,由于該方法計算量較小,并且對形變、灰度變化和遮擋具有很好的魯棒性,因此近年來成為圖像匹配的研究熱點問題。SIFT[4]算法2004 年正式被Lowe 提出,該算法通過引入拉普拉斯算子[5]提取尺度和旋轉不變的特征,對透視、噪聲的變化和仿射變換在一定程度上保持了穩定性,實現圖像的自動匹配。對于有豐富紋理信息的圖像,文獻[6]提出一種只提取圖像的灰度值,并且沒有尺度等較復雜運算的更實時的快速檢測特征點的算法,因此該算法運行速度非常快,但此算法也存在一定缺陷,如初始匹配時會出現錯誤的匹配點,導致后續出現物體識別有誤或目標跟蹤丟失等問題,因此對誤匹配點進行剔除尤為重要。對誤匹配點進行消除的方法主要包括:NNDR、RANSAC、Hough聚類等[7]。
在現研究基礎上,通過FAST 進行特征點檢測,SURF 進行特征描述后,采用自適應閾值RANSAC 算法消除匹配結果中錯誤匹配點,提高匹配的準確率。
圖像特征匹配包括四個方面:檢測特征點、特征點描述、對特征點進行匹配和消除誤匹配點。本文提出的匹配算法實現過程如圖1所示。

圖1 圖像匹配算法流程
FAST 檢測特征點的核心是確定給定像素為中心的圓上是否有足夠數量的連續像素的灰度值大于(小于)該像素點灰度值。如果存在,則表明該像素點是被檢測出的特征點,否則作為一個非特征點剔除。主要步驟如下:
(1)選擇一個像素p,將其亮度設置為Ip,亮度閾值為T;
(2)以像素p為中心,在半徑r=3的圓上選取16個像素點;
(3)假如選取的圓上有連續的N個點的像素灰度值大于(Ip+T)或小于(Ip-T),那么像素p就被認為是特征點;
(4)重復以上三個步驟,對每個像素進行同樣的操作;
(5)采用計算角點響應函數的方法,剔除非角點。計算公式見式(1)。
式(1)中,V是角點與其相鄰16 個點之間的灰度差值的絕對值之和,Ip是像素p的亮度值,T是像素p的亮度閾值,x為圓上16 個像素點的位置,Sbright,Sdark分別是16 個鄰域像素點中灰度值大于(Ip+T)或灰度值小于(Ip-T)的像素點的集合。
1.2.1 主方向確定
SURF 算法以檢測到的特征點為中心,半徑為6 s(s 為尺度)來構建圓形區域,目的是確定唯一的方向,實現圖像的旋轉不變性。在π/3的滑動窗口中,利用Harr 小波響應,求出各特征點x、y軸的dx,dy之和,得到一個局部方向向量,求出所有窗口上的最大方向向量,即該特征點的主方向。
1.2.2 生成特征點描述子
SURF 算法是利用特征點周圍的正方形區域來構建描述符的,并將其分為4 × 4 個子區域,以保存部分空間信息。在每個子區域中,有5 s×5 s 個像素點,分別求出各子區域內的所有像素點的水平Haar小波響應dx和垂直Haar小波響應dy,然后將Haar 小波響應dx,dy加到高斯權重中(σ=3.3 s),再求出各子區域的dx,dy,| dx|,| dy|之和,由此得到對應的四維向量,從而得到一個64 維的SURF 特征向量,即描述子。
1.3.1 雙向FLANN匹配
FLANN 匹配算法的核心是要計算出兩特征點之間的歐氏距離,根據距離這一特征點的最近歐氏距離和次近歐氏距離之比是否小于設定的閾值T來判斷特征點是否匹配。
本文采用雙向FLANN 匹配方法以消耗少量時間來提高匹配精度。該算法對于要匹配的兩幅圖像I1和I2,找出I1與I2之間歐氏距離最近和次近的2個點,計算最近歐氏距離和次近歐式距離之間的比值并與閾值T進行比較來判斷特征點是否匹配,閾值T為0.5,得到I1到I2的匹配點集合A。再對圖I2進行相同操作,得到I2到I1的匹配點集合B,取A與B中完全相同的匹配點對作為集合C,從而得到初始匹配點集合。
1.3.2 自適應閾值RANSAC算法
通過雙向FLANN 匹配可以去除一部分多對一的錯誤匹配對,但仍然存在著少量的錯誤匹配。傳統的RANSAC 算法基本思想是從粗匹配結果中隨機選出一組最小的數據集,估計出模型,然后將數據集中未選到的數據代入模型,根據設定好的閾值,將最新得到的模型與先前最好的模型的內點數做比較,分別記錄最大模型的內點及內點數,迭代該過程,最終內點占比例最大的模型就是待求的模型。RANSAC 算法具有很好的魯棒性,但是使用時它的閾值設置往往需要根據經驗來判斷,不同的場景設定的閾值不同,結果往往不具有通用性。因此,為解決傳統RANSAC 算法在消除誤匹配點對時的不足,本文提出自適應閾值RANSAC 算法。在該算法中,閾值的取值基于匹配點與其變換模型之間距離的平均值。
具體步驟如下:
(1)從粗匹配點對中隨機選取非線性點對4組,組成集合N;
(2)根據集合N計算出單應性矩陣H,記為模型Q;
(3)計算出匹配點與其對應模型之間的距離,再對得到的距離求得其均值,設為閾值T,匹配點與其變換模型之間距離l及距離的均值ml通過下式進行計算:
式中,n是匹配點對的數量,Pi是對應圖像中第i個匹配點,Hi是第i個匹配點對應的單應性矩陣,‖ .‖2是計算歐幾里得范數。
(4)在匹配點數據集中計算出模型Q與所有點之間的距離,若小于設定閾值,則將其添加到內點集P中;
(5)若內點集的個數大于當前最優內點數,則更新最優內點集,反之,則不更新;
(6)迭代總次數由當前最優內點數進行更新,若當前迭代次數小于總迭代次數,則返回步驟(1);反之,則當前模型Q就是最終要求得的模型。
為了驗證算法的有效性,采用燈光模擬炸點并對圖像進行處理,從特征點提取數量和時間,匹配正確率(CMR)和匹配時間三個方面進行算法的評價。

圖2 炸點雙目圖像
在不同算法中得到的特征點數量和時間結果如表1所示。

表1 不同算法下的特征點數量和時間
由表1 可知,對于相同的圖片,與SURF 算法相比,FAST 算法檢測出的特征點數量較少,但是它具有檢測速度快、時間短的優點。
該實驗的目的是驗證文中所提匹配算法相對于SIFT、SURF 匹配算法的優點,匹配結果如圖3、表2所示。

表2 不同算法下的匹配結果和時間

圖3 三組匹配結果
匹配正確率(CMR)計算公式如式(4),CMR值越大,匹配效果越好。
式中Pc是正確匹配的特征點數量,P是匹配到的數量。
本文提出的改進算法與SIFT 算法和SURF算法進行比較,通過對兩組實驗數據的比較可以看出,所提出的算法在保證正確率的前提下,具有匹配效率高的優點。
在目前圖像匹配研究的基礎上,提出一種新的基于FAST 和改進的RANSAC 的圖像匹配算法。首先利用FAST 提取出角點,再利用SURF確定特征向量主方向,接著使用雙向FLANN 完成特征點粗匹配,根據匹配的結果計算出每個特征點與其變換模型之間的距離的平均值來作為RANSAC 消除誤匹配的閾值,進而加快算法運行的速度。通過實驗結果可以看出,與傳統的SIFT、SURF 對比,所提算法對圖像匹配的準確率和效率均有所提高。