康宏斌, 余輝亮, 梁艷陽
(西南科技大學 信息工程學院,四川 綿陽 621010)
在計算機視覺領域,圖像特征點準確匹配一直是眾多學者研究的課題,黃麗等人[1]提出了基于ORB(oriented FAST and rotated BRIEF)特征的圖像誤匹配剔除方法,經過兩步剔除誤匹配,在圖像旋轉和存在噪聲的情況下,匹配準確度得到進一步提升,但在三維場景中的特征點匹配還是存在輕微的誤匹配。針對這個問題鮑文霞等人[2]提出了基于馬氏距離譜特征的圖像匹配算法,利用馬氏距離構造局部無向加權圖,同時采支持向量機(support vector machine,SVM)[3]方法剔除誤匹配點,匹配的精度和魯棒性得到了提升,但馬氏度量線性變換的局限性導致在寬基線匹配時精度不佳。尤其在三維場景,寬基線、大尺度旋轉場景這樣的情況下,對匹配算法要求較高,白延柱等人利用尺度不變特征變換(scale invariant feature transform,SIFT)算法[4~7]提取特征,再加上Ratio-test(比值測試)[8],但仍存在較大誤匹配。
為了解決在寬基線場景和三維場景下的特征點精確匹配的問題,本文提出了平滑運動概率估計剔除算法,通過構建感興趣區域的匹配點的概率函數,計算出特征點匹配正確的概率,同時結合網格加速匹配,快速地尋找特征點進行匹配。通過實驗分析發現該算法具有很好的匹配精確度。
假設在兩個不同的位置對同一場景分別拍攝一次,得到兩張圖像,在一幅圖像上的A區域存在兩個距離很近的特征點,在進行特征點匹配時,這兩個特征點匹配到另一幅圖像上的B,C區域,且這兩個區域之間的距離很大,出現了跳變現象,這說明兩個特征點運動是不平滑的。假設B區域是正確的匹配點,而B區域附近沒有點支持它的成立,同樣C區域也是如此,那么這兩個點作為外點就可以被剔除。
這里采用SIFT進行特征提取,加上本算法剔除外點。為了方便描述問題,將其建立數學模型。根據貝葉斯規則,由于真實匹配在運動空間中是平滑的,因此一致匹配概率更大。關鍵的核心內容是從嘈雜的數據中找到平滑匹配,其統計模型為
Si=‖xi‖-1
(1)
為了更加形象地描述這個模型,如圖1所示,在支持區域,表示對點xi=2支持,統計Si=2。圖中的錯誤點,沒有支持點或者支持點很少,統計Sj=2。

圖1 平滑運動概率模型
為了更好地論證模型(1)的有效性,假設圖像中的一個特征點xi的統計值Si,Si服從二項分布(2),如果xi是正確的話,用pt表示圖1中a區域到b區域附近鄰支持點xi的概率;如果xi是錯誤的話,用pf表示它附近鄰支持點的xi的概率
讓fa表示a區域內n個支持點中的一個。定義事件:

圖1左圖(a)中有一個點如果匹配錯誤,存在和右圖中任意位置匹配的可能性。如果恰巧匹配到b區域的可能性,滿足隨機分布m/M,m為b區域內特征點個數,M為右圖中所有的特征點個數,為了讓模型泛化能力更強,乘β閾值,當β=1,恰好是隨機分布的假設,則pt的表達式為
前面可知,m/M→0時,所有pt→0,pf→0,所有兩種分布特性差別非常大。
上面劃分的a,b區域里面,正確特征點是連續的,如圖2所示,相當于對區域a,b劃一個更大的附近區域。假設區域a到區域b,那么應該區域a1到區域b1,如此類推下去。

圖2 一致性區域擴增
反映上圖的模型,將單個特征點統計模型擴展到整個感興趣區域,其模型為
為了增大概率分布的差異,即pt,pf兩者的差異
式中n為每個區域中特征點個數,K為區域的個數,即網格數。在網格中,K=9,而Si,pt,pf和式(7)一樣。該Si二項分布的均值和標準差
模型的分割能力,即剔除外點性能,用P表示

雖然平滑運動概率估計算法具有很好的剔除外點的能力,但對匹配點劃區域處理導致算法的復雜度很高,為了提高處理效率,本文采用劃網格處理,如圖3所示,只需要計算網格內對應特征點的個數,這樣算法的復雜度就變成是問題。

圖3 網格化處理
構造網格運動核,如圖4所示,這樣統計就變成9個網格匹配。通用網格模型表示為

圖4 網格核之間的對應關系
圖像特征對應點旋轉問題、尺度問題,只需要旋轉網格核、改變網格核的大小就可以得到解決。如圖5所示。

圖5 旋轉尺度不變性
實驗表明:在網格大小的經驗值設置為20×20效果比較好。在這里設置閾值τ(3.18),若大于閾值特征點是內點,反之小于閾值則是外點。
網格加速匹配算法實現流程:
輸入:x,s,r(特征對應點,尺度,旋轉)
輸出:Inliers (內點)
G1,G2=GenerateGrids(s)
K=GenerateGridsKernel(r)
fori=1 to |G1| do
j=1;
fork=1 to |G1| do
If |xik|>|xik| then
j=k;
end if
end for
Sij,τi=ComptueSmoothMotionSatatistces(K)
IfSij>τithen
Inliers=InliersUxij;
end if
end for
eturn Inliers。
本系統數據集測試與實際場景測試均選用筆記本機械革命x7-tis,i7—6700HQ,8G內存,GTX1060 6G實驗平臺。
在運動網格估計的加速匹配算法中,本實驗選用TUM[9],Strecha[10]兩種不同的場景數據集。
選用Strecha數據集,對兩張視角很大的“教堂”圖像使用SIFT加Ratio-test與SIFT加本算法測試寬基線匹配情況,如圖6所示。

圖6 Ratio-test與本算法寬基線對比
從上圖中不難發現,本算法做寬基線匹配明顯優于SIFT加Ratio-test算法。
選用TUM數據集,對具有三維場景的圖像使用SIFT加Ratio-test與SIFT加本算法進行測試,結果如圖7所示。

圖7 Ratio-test與本算法三維場景對比
由于TUM自帶深度信息,更加符合真實場景,在上圖不難發現,Ratio-test在三維的真實場景中匹配效果很差,而本算法匹配效果很好。
對運動網格概率估計匹配效果,即相似度檢測問題。本實驗主要分析TUM、Strecha數據集在召回率(recall)、準確率(precision)、綜合評估量(F-measure)三個方面的不同,如表1。

表1 匹配結果分類
召回率、準確率、綜合評估量分別為
(12)
如圖8所示,在(a)、(b)兩幅圖橫坐標的中間開始,依次從上往下第1,3,4條曲線代表本算法,第2,5,6條曲線代表Ratio-test,橫坐標表示圖像旋轉角度,范圍為[0°,30°],縱坐標表示各項指標值,范圍為 [0,100]。以(a)TUM數據集為例,不難發現,大角度時,Ratio-test的綜合評估量(F-measure)非常小,幾乎是無效的狀態,準確率也很小,然而本算法在大角度時依然有效,綜合評估量依然保持有0.38。由于準確率和召回率并不能完全說明兩種算法的匹配能力。可以只看綜合評價量,就可以推導出匹配算法的優劣情況。同樣從(b)Strecha可以看出,在綜合評估量上對比來看,本算法匹配能力優于Ratio-test。

圖8 Ratio-test與本算法在數據集中匹配能力比較
選用TUM和Strecha兩種不同的場景數據集,分別用SIFT-Ratio-test算法和SIFT加本算法在寬基線場景和三維場景下進行對比,從評價匹配能力的綜合評估量來看,算法的匹配準確度要比SIFT-Ratio-test算法好很多,實驗驗證了該算法在這兩種場景下具有很好的剔除誤匹配能力,提高了匹配準確度,但是該算法剔除誤匹配的處理速度不夠快,這是以后要改進的方向。