周志偉 袁鋒偉 張亢 吳智



摘要:針對核環境下自主式導航機器人對目標識別與跟蹤過程中提高特征點匹配的準確率和穩定性問題,提出一種基于加速魯棒特征(speed up robust features,SURF)算法進行特征提取和特征描述,利用快速最近鄰逼近搜索函數庫(fast library forapproximate nearest neighbors,FLANN)算法進行特征點預匹配,并使用隨機采樣一致性(random sample consensus,RANSAC)算法優化匹配結果,從而實現圖像實時匹配與識別。實驗結果表明,在不同實驗條件下,包括角度變換、縮放變換、局部遮擋、局部光照等,本文算法均能匹配出目標區域內模板圖像,具有較好的精確性和穩定性。
關鍵詞:加速魯棒特征:快速最近鄰逼近搜索函數庫:隨機采樣一致性
0引言
在核退役工作中,由于早期核設施很多工程資料存在不完整情況,無法清晰了解核設施內部情況,需要核工業機器人對內部核設施布局進行勘察。在未知的核電廠區環境下識別各種具有不同含義的安全警示標志,有效地指導操作人員采取相應的防護措施,是核工業機器人最重要的任務之一。
機器人識別安全警示標志是圖像匹配技術的典型應用,圖像匹配的前提是特征提取,特征點的優劣直接影響圖像匹配效果。目前,相關研究人員提出許多特征點檢測、描述算法。但在應用于機器人視覺時,相機的成像往往會被角度、障礙物遮擋、光照等因素影響,從而導致匹配效率不高的問題。Lowe D G提出SIFT算法和Herben Bay等人在2006年提出SURF算法,因為SURF特征提取結合了二維Haar小波響應、積分圖像和Hessian矩陣來加速算法的實現,使得SURF特征提取的運算時間大幅下降。索春寶等人對主流的特征提取算法進行各項性能測試。對比結果顯示,特征檢測性能表現較好的是SURF算法。
王金龍等人對SIFT算法特征提取和FLANN匹配進行研究,雖然在角度變換、圖像縮放、光照變化等不同實驗條件下有較好的準確度,但是算法運行時間較長,不能很好的應用于對實時性要求較高的機器人視覺場合中。針對上述問題,本文采用魯棒性較好的SURF算法對圖像進行特征點提取,使用匹配精度和運算速度較好的FLANN算法進行預匹配。對匹配過程中產生的錯誤匹配采用RANSAC算法進行篩選,以提高整個圖像匹配的精確度和實時性。
1 圖像匹配算法設計
本文提出的SURF與FLANN結合算法的圖像匹配流程如圖1所示。其主要分為4個階段:去除噪點、提取特征點、生成特征點描述子、特征點匹配和優化匹配特征點。
1.1 圖像噪點與去除
在核環境下工作的相機。由于無法通過屏蔽手段完全避免輻射影響相機,圖像必然會產生脈沖噪點。而噪點的存在將影響圖像特征點的生成,從而降低圖像間的配準度。因此,需要對采集的圖像采取圖像預處理消除脈沖噪點。本文采用雙邊濾波去噪。雙邊濾波的濾波原理是采用服從高斯分布的加權平均值代替某個像素值。其數學關系如下:
雙邊濾波即能去除噪聲,又能進行邊緣保護。所以,經雙邊濾波處理的待檢測圖像將具有較好的魯棒性檢測區域,特征點更具頑健性。
1.2 特征點檢測
1.2.1 Hessian矩陣
SURF算法的核心是Hessian矩陣,其行列式的局部最大值決定了特征點的位置。SURF算法依計算Hessian矩陣的極值來獲得穩定點,并通過矩陣行列式的最大值確定特征點的位置。Hessian矩陣判別式中的f(x,y)是原始圖像的高斯卷積,由于高斯核服從正態分布的,從中心點往外,系數越來越低,為了提高運算速度,SURF使用了盒式濾波器來近似替代高斯濾波器,為了平衡因子使用盒式濾波器近似所帶來的誤差,在Dxy上乘了一個加權系數0.9.則Hessian矩陣判別式的近似計算可表示為:
1.2.2 SURF尺度空間及特征提取
在SURF中,使用不同尺寸盒式濾波器模板和積分圖像來獲得Hessian矩陣響應,并且在響應圖像上使用3D非極大值抑制來獲得各種不同尺度的斑點。SURF的金字塔結構如圖2所示。圖2(a)為高斯模板保持不變,圖像大小改變,采用SIFT算法。圖2(b)是高斯模板改變,圖像大小保持不變,用于SURF算法。由于SURF沒有降采樣過程,處理速度因此而提高。
1.2.3 特征點主方向分配
在特征點的圓形鄰域內,統計60度圓心角為扇形內點的x和y方向的harr小波特征總和。扇形以0.2弧度大小的間隔旋轉,并再次計算該區域中的harr小波特征值。最后將具有最大值的扇形方向作為該特征點的主方向。該過程示意如圖3所示。
1.3 生成特征點描述
為確保旋轉不變性,先將坐標軸旋轉到關鍵點所指的方向。以關鍵點為中心取8×8的窗口,如圖4所示。圖4中左圖的中心點作為當前關鍵點,每個小單元表示關鍵點鄰域所在的尺度空間的一個像素,并且求得每個像素的梯度大小和梯度方向,箭頭方向代表該像素的梯度方向,箭頭長度代表梯度模值,然后由高斯窗口進行加權運算。每個像素對應一個向量,長度為該像素點的高斯權值,越靠近關鍵點的像素梯度方向信息貢獻越大。然后在每4×4的小塊上計算8個方向的梯度方向直方圖,繪制每個梯度方向的累加值,即可形成一個種子點,如圖4中右圖部分所示。圖4中關鍵點由2x2共4個種子點組成,每個種子點有8個方向向量信息。這種鄰域方向性信息組合的思想增強了算法抗噪能力,并且對含有定位誤差的特征匹配提供了更好的容錯性。
1.4 FLANN特征點匹配
圖像特征點匹配常見的有BFMatcher(BruteForceMarcher)匹配和FLANN(FlannBasedMatcher)匹配兩種方法。二者的區別在于BFMatcher是嘗試所有可能的匹配,從而找到最佳匹配。而FLANN匹配是一種近似法,算法速度更快,但找到的是最近鄰近似匹配,通過調整FlannBasedMatcher的參數來提高匹配的精度。FLANN匹配是一個對大數據集和高維特征進行最近鄰搜索算法的集合,且算法不受局部敏感哈希影響。
1.5 匹配特征點優化
由于在FLANN預匹配過程中。得到的匹配點對存在精度不夠理想的情況,目標識別的準確度將受到一定影響,所以需要對錯誤匹配點進行刪除。本文基于RANSAC刪除錯誤匹配點,該算法能夠處理錯誤率超過50%的匹配對,是魯棒性較好的特征匹配篩選算法之一,將大幅減少誤匹配點。
2 實驗結果及分析
本文所有實驗均使用開發工具Visual Studio2013和圖像處理庫OpenCV2.4.9,在CPU為AMDRyzen 5-2600,內存16GB,64位Windows 10環境下完成,警示標志模板圖像像素為240x320,待匹配圖像均由相機Kinect V1采集,像素為640x480.
2.1 圖像去噪和特征點提取
移動機器人Kinect V1相機處于中低輻射環境下,所采集的圖片會被噪點污染。本文采用雙邊濾波的方法去除輻射帶來的噪聲。該方法在去噪的同時又保證了檢測區域特征點較強的魯棒性。
實驗選擇核電廠使用頻數較多的警示標志“當心電離輻射”做仿真分析,仿真結果如圖5所示。圖5(a)是Kinect V1相機在實驗室中獲得的圖像,圖5(b)是雙邊濾波后的圖像。經過雙邊濾波后去除了圖像的噪點,邊緣基本得到保留,特征區域沒有受到濾波影響。
對雙邊濾波后的圖像進行特征提取,本文比較SIFT、ORB、SURF三種特征點提取算法的性能。實驗結果對比如圖6所示。
從圖6中可以看出,SIFT提取的少數特征點并不是圖像的邊緣和特征信息,會降低圖像匹配準確率。而ORB算法提取相對集中的特征點,將對后續圖像匹配產生不利影響。SURF算法特征點很好地體現了圖像邊緣特征和待匹配信息。
對比評價三種算法在有無濾波情況下提取特征點數目、運行時間。特征點提取結果見表1.
從提取的特征點數目來看。雙邊濾波后圖像提取的特征點少于未經濾波處理圖像的特征點,提取的特征點具有更好的圖像特征信息,特征點頑健性更好,魯棒性更好:從算法運行時間角度看,有濾波處理縮短了特征提取的時間。對比三個主流算法,雖然ORB算法運行時間最短,但是提取的特征點數目較少且集中,特征點魯棒性差。而SIFT運行時間最長,將影響整個特征匹配效率且提取的特征點過多不利于表達圖像信息。SURF運行時間是SIFT的三分之一,提取出的特征點數目合理且頑健性好。以上分析可以看出,上述實驗中SURF算法提取的特征點數量、魯棒性和算法運行時間都是3個主流算法中最好的,因此本文選取SURF算法。做為圖像特征點提取算法,為后續特征匹配奠定了基礎。
2.2 圖像匹配實驗分析
本文通過SURF算法結合FLANN匹配,并通過RANSAC進行誤匹配點剔除實驗。待匹配圖像在角度變換、縮放變換、局部遮擋、局部光照等不同情況下采集,處理后對模板圖像的匹配效果。實驗效果如圖7所示。統計特征點匹配數量,結果見表2.
實驗是對SURF和BFMatcher結合算法與SURF和FLANN結合算法,從匹配的數目、正確率進行對比,并記錄本文算法的運行時間。從表2可以看出:對于同一環境下采集的測試圖像來說,采用FLANN匹配并用RANSAC剔除錯誤匹配的方法比BFMatcher匹配結合RANSAC剔除的方法,錯誤匹配點數都較少,正確率較高。
分析實驗結果證明,本文算法較BFMatcher算法去除了不具代表性的匹配點對。在不過分減少匹配數量的同時,有效地剔除錯誤匹配,從而保證圖像匹配的準確率。從算法的運行時間來看,無論在何種實驗條件下,算法都在相對較短的時間內完成圖像匹配,符合機器人視覺技術對實時性的需求。
3 結束語
本文首先對不同實驗條件下采集的圖像進行預處理,然后使用SURF算法進行特征提取,結合測試圖像采用FLANN算法進行預匹配,匹配中產生的錯誤匹配通過RANSAC剔除。通過對圖像進行角度變換、縮放變換、局部遮擋、局部光照等圖像變化下的實驗數據分析,本文算法相比于SIFT、ORB特征提取和BFMatcher預匹配算法,不僅特征點數量和匹配的成功率得到了保證,而且算法運行速度也基本滿足機器人對實時性的要求,從而滿足應用于目標識別與跟蹤等熱門領域的需求,為進一步實現核環境下自主式導航機器人提供了基礎。