姚菁
(上海電機學院,上海 200240)
圖像分析與圖像匹配算法在機器視覺研究領域有著極其重要的作用,移動機器人要實現高水平的導航和自身定位,都需要具有視覺系統。在本研究領域中,人們通常根據地點識別來對機器人定位,也被稱為“拓撲定位”。而在地點方面,大家都集中在圖像分析與理解方面,通過對圖像的分析與匹配來對一個具有一定特征的局部環境進行標和辨識。
在基于視覺信息的基礎上,通過匹配不同的路標數據,機器人可以確定自身的位置并決定下一步的移動方向。一種常見的精確的圖像匹配方法是基于圖像“關鍵點”的提取,通過這些關鍵點可以可靠地識別來自于同一場景不同的圖像,從而對局部環境進行確認。
Lowe[1]提出了基于其模板圖像的SIFT算法用于目標檢測。這種SIFT算法計算出局部圖像描述符,具有特征不變性,對圖像的平移,縮放和旋轉具有魯棒性。同時這些描述也對光照變化和3-D投影有部分不變性。Mikolajczyk and Schmid[2]]專門就不變的特征描述符方面將SIFT算法同其它圖像分析算法作了對比,他們的實驗結論是在基于圖像的尺度、旋轉、明暗等變化的基礎上進行的,最后得出的結果證明SIFT算法是最優的。Lowe提出一個圖像的描述符,通過描述因子的匹配來對目標進行檢測。為此,首先獲得被檢測目標對象的模板圖像,從模板圖像抽取出描述因子,然后對需要測試的圖像提取SIFT關鍵點,之后對模板圖像和測試圖像的SIFT關鍵點進行一對一的點匹配檢測,以最終確定兩個圖像是否屬于同一目標。
Stephen.Se[3]使用三目立體視覺傳感器,通過計算圖像尺度不變特性的描述因子,完成機器人自主定位、地圖創建任務。使用遞歸的方法實現對機器人的連續位姿及地圖結構的恢復來完成 SLAM 任務[4],更多相關研究可見文獻[5-7]。
在原SIFT算法中,關鍵點是通過對不同尺度因子的圖像的高斯差值的最大或最小值確定的。在鄰近的不同尺度的高峰期差圖像中,基于3x3像素的局部區域,每個像素同其相鄰的26像素相對比,如果其差值是局部地最大或最小值,它就被選中作為候選關鍵點。然后,我們刪除低對比度特征點和邊緣的效應,最后得到一定數量的關鍵點。
(1)尺度空間極值檢測
第一階段對所有的尺度的圖像進行計算和搜索,有效地利用高斯函數差值(見式(1)來確定潛在的興趣點,這些興趣點相對尺度因子和旋轉是不變化的。

(2)關鍵點定位
針對每個候選關鍵點或興趣點,基于其穩定性的特點,以檢測它們的位置和驚訝因子,最后選取部分關鍵點。
(3)關鍵點梯度方向
要確定關鍵點的方向,計算關鍵點附近的梯度方向直方圖,每個相鄰的像素的權值以其梯度幅值為參考,以最大的直方圖峰值所對應的方向為關鍵點的梯度方向。
(4)關鍵點描述
一旦一個關鍵點方向已經選定,特征描述因子主要是計算4×4相鄰像素,得出8個主要的梯度方向。每4×4相鄰像素一個區域,在關鍵點周圍共選取4×4個區域,那么對于一個SIFT特征點向量來說,共有4×4×8=128個向量元素。這個128維向量經過規范化后可以提高對光照變化的不變性。
由于 128 SIFT的特征向量相當大,原SIFT算法的主要缺點是較其他圖像描述因子具有更高的計算成本。降低高維向量可以節省計算時間和計算機資源。同時在SIFT特征向量提取的過程中也產生大量的冗余關鍵點。在機器人SLAM環境中,來自同一路標的圖像的80%的關鍵點不能夠有效匹配,因此,應該盡量減少關鍵點的數量,而不影響圖像匹配的效果。

首先,我們應該降低SIFT特征向量的維數,為了解決上面所提到的不利方面,我們在計算SIFT特征關鍵點時,以選取的關鍵點為中心,只計算2×2個區域內的梯度,相比原128維特征向量,這樣向量數減少到2×2×4=16,再經過旋轉和標準化作業,我們只需要以上梯度向量進行下一步圖像匹配。這種方法可以顯著降低的關鍵向量的維數,提高實時在線的計算速度。
其次,減少SIFT特征關鍵點的數目,提高選擇關鍵點的閾值,以去除更多的候選關鍵點,特別是當閾值為0.03時候,這個值是一個經驗值,在圖像識別領域是會工作的很好[1],但它通常會產生大量的關鍵點。然而使用如RANSAC算法,當特征關鍵點的數量很少時(3-5關鍵點)也可以取得可靠的圖像匹配。
我們可以增加閾值,以減少SIFT特征關鍵點的數量,下一步我們選擇一個固定的百分比參數,來選取關鍵點的數量,例如,我們選擇25%,也就是說我們只選取檢測到的關鍵點的25%,由于SIFT特征點數量減少,計算機的實時運算速度將大大提高。
經過以上優化步驟,用來計算比較兩幅圖像的時間比以前縮短了很多,這對于移動機器人完成實時在線的任務來說是非常關鍵的。利用本文所提出來的改進方法,在圖像有遮擋、有觀察角度差、存在一定失真和噪聲的情況下,我們對兩幅圖像進行匹配,實驗結果如下,能達到機器人對局部環境目標的識別要求。

在圖像處理與匹配方面,基于SIFT特征關鍵點的計算方法是一個強有力的工具,該算法可以用于移動機器人來識別局部環境中的路標,對于圖像檢索和基于視覺定位來說,它提供了一個清晰準確的手段。由于每幅圖像的SIFT特征向量多達128個向量,SIFT特征點的提取和匹配是一個非常耗時的工作,因此在本論文中,我們提出了減少SIFT特征關鍵點數量,以改善其計算性能。如何去除冗余的信息,提高實時運算速度,這對于機器人的即時定位與建圖來說是致關重要的。
在現實環境中,移動機器人的工作環境更多的是一個動態環境,而不是靜態的。因此,在動態環境下研究移動機器人的SLAM是一個非常重要的問題,因為如何處理動態的視覺數據將會變得更加復雜,今后的研究將更加注重未知動態環境下的存著研究。
[1]D.Lowe.Distinctive image features from scale-invariant key points.International Journal of Computer Vision,2004.60(2):91-110.
[2]Mikolajczyk,K.and C.Schmid.A performance evaluation of local descriptors[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2005.27(10):1615-1630.
[3]Stephen Se,David G.Lowe,James J.Little,Vision-Based Global Localization and Mapping for Mobile Robots.IEEE TRANSACTIONS ON ROBOTICS,2005,21(3):364-375.
[4]藺海峰,馬宇峰,宋濤.基于SIFT特征目標跟蹤算法研究[J].自動化學報,2010,36(8):1204-1208.
[5]畢明德,孫志剛,肖力.基于TMS320C6713的圖像采集處理系統設計[J].電氣自動化,2009,31(4):42-43.
[6]宋華軍,李泉.基于SIFT的目標跟蹤算法研究[J].長春理工大學學報(自然科學版),2010,33(3):123-126.
[7]于麗莉,戴青.一種改進的SIFT特征匹配算法[J].計算機工程,2011,37(2):210-212.