張明路,王 帥,張小俊,高 涵
(河北工業大學 機械工程學院,天津300130)
為了提高機械臂抓取裝配工件過程中的識別效率和準確度,依托機器視覺的物體識別抓取系統逐漸得到應用和發展。在獲取工件圖像過程中由于存在尺度、光照、旋轉等因素干擾,難以實現對物體的準確識別。基于局部特征的圖像描述子具有抗干擾能力強,魯棒性好的優點,成為圖像匹配、識別的主要提取信息。
其中文獻[1]提出一種加速版的特征提取算法—SURF(Speeded-Up Robust Features),該方法采用基于Hessian 矩陣的特征檢測算子,對特征提取速度有一定的提高,但是距離圖像處理實時性要求還有一定差距,匹配準確度還不夠高。文獻[2]中提出基于雙向K 最近鄰搜索方法,來進行特征點的預匹配,之后再進行RANSAC 算法的精匹配,但是該方法在使用雙向檢索的過程中并沒有減少特征點之間距離的計算量,在匹配階段同樣對于特征點的篩選沒有經過模型的優化,導致匹配時間縮短有限。文獻[3]提出一種基于加速Hessian 矩陣特征檢測器算法(H_SURF),實現了在SURF 特征檢測階段速度的提高,但是該方法需要對不同的應用場景設置不用的Hessian 閾值,需要手動調節的參數較多,并且在光照變換較大的情況下準確率明顯降低。文獻[4]將SURF 算法應用于高光譜影像端元的提取中,提出了在多維尺度空間中尋找端元的新算法,該算法在精度和魯棒性方面有較好的效果。文獻[5]利用圖像分塊和SURF 特征相結合,將圖像分割成不同的塊,在人臉特征識別中取得了較好的效果。文獻[6]提出了一種線性化SURF 特征檢測分類器在保證特征點尺度不變性的前提下提高特征點之間的差異性,在速度上相比原算法提高了,但減小了圖像的匹配區域。文獻[7]中利用SURF 特征描述子的穩定性,采用交叉匹配策略來消除錯誤的匹配點對,并運用RANSAC 算法進行模型估計,最終提高了圖像匹配融合的效率。文獻[8]提出一種結合FAST 特征檢測、SURF 特征向量提取以及最近鄰查詢的方法來進行特征點的快速查詢和匹配,特征提取較快,但是目前可應用在交通車輛領域,算法移植性差。文獻[9]采用Canny 邊緣檢測以及形態學處理來對對SURF 算法進行改進,提高了匹配的穩定性,但是算法光照、視角變換下的準確度還有待提高。
從工件的匹配過程出發,為解決大量SURF 特征點匹配時計算歐氏距離[10]而導致效率低的問題,提出構建基于詞袋模型[11-12]的物體描述向量模型來改進的SURF 特征的匹配過程,從而來提高工件識別速度。
2.1.1 積分圖像的計算
在SURF 特征的檢測[13]過程中,為了加快算法的計算速度,采用了積分圖像的概念。通過圖像不同區域像素值的差值來進行圖像的卷積計算。積分圖像的概念,如圖1 所示。陰影處的面積為ΣABCD。積分圖像計算公式,如式(1)所示。

式中:A、B、C、D—從圖像左上角到相應點的區域像素值之和。

圖1 積分圖像示意圖Fig.1 Schematic Diagram of Integral Image
2.1.2 基于Hessian 矩陣的極值點檢測
首先利用Hessian 矩陣對圖像進行特征點的檢測,每個像素點Hessian 矩陣行列式的響應值大小決定了該像素點是否為極值點。同時為了保證檢測出來的特征點具有尺度不變性,SURF算法將高斯拉普拉斯算子(LOG)與Hessian 矩陣行列式計算相結合,保證了利用Hessian 矩陣行列式檢測出來的特征點具有尺度不變性。其Hessian 矩陣表達式為:

式中:Lxx(x,σ)—高斯二階微分函數在圖像(x,y)點處與圖像的卷積,其余三項含義類似。
將圖像與高斯函數卷積計算模板化,這樣既可以保證高斯濾波函數的有效性同時又可以提高算法的運行效率,這里采用差分高斯濾波模板(DOG)來代替LOG 濾波模板,初始模板大小為9×9,濾波系數為σ=1.2,用加權之后的DOG 模板來代替LOG 濾波模板,如圖2 所示。得到x、y、xy 三個方向的二階微分響應的分別是Dxx、Dyy、Dxy,來代替Lxx、Lyy、Lxy,之后用積分圖像的概念來計算響應的值。

圖2 DOG模板代替LOG 模板Fig.2 DOG Template Instead of LOG Template
最后得到Hessian 矩陣其行列式的計算公式為:

式中:ω—權值,平衡近似代替的誤差。滿足一定閾值條件的det(H)值,判斷為極值點。
2.1.3 尺度圖像金字塔的構建
為了獲得尺度不變的特征點,需要進行尺度空間的構建,SURF 算法中通過改變盒子濾波器的大小來實現獲得3 組12 層的尺度圖像。同時在改變模板尺寸的同時也改變高斯濾波系數σ的值來實現構造尺度圖像金字塔的效果,在不同的尺度圖像上進行特征點的檢測。
2.1.4 SURF 特征點的定位與描述
在上一步中檢測出來的特征點通過閾值篩選,然后進行非極大值抑制,檢測模型,如圖3 所示。在3×3×3 的鄰域內進行特征點的計算,得到滿足條件的特征點并且得到特征點的位置。

圖3 極值點檢測鄰域Fig.3 Detection of Neighborhood by Extremal Points
然后利用特征點周圍6s(s 為特征點所在的尺度)鄰域內像素的Haar 小波響應來計算特征點的x 與y 方向的響應,然后使用張角為60°的扇形區域進行旋轉滑動,尋找響應值最大的方向作為特征點的主方向。

在圖像物體識別過程中,傳統SURF 算法通過計算大量特征點之間的歐氏距離并通過判斷相鄰兩個特征點之間的距離比值來確定粗匹配的特征點,并通過優化算法計算出最優的單應性變換矩陣。在圖像特征點數量較多的情況下,該過程會大大增加特征點匹配所用的時間。因此,改進算法在特征點匹配階段在檢測到的特征點基礎上通過構建目標物體描述向量來進行匹配,省去較多的距離計算以及篩選步驟,從而實現提高物體識別速度的目的。
3.1.1 基于K-means 聚類的目標物體描述模型構建
模板圖像通過SURF 算法提取特征點之后,通過K-means聚類算法[14]將模板圖像檢測到的特征點進行分類,為了使得分類能準確的描述目標物體,同時減少冗余類別的計算,初始值K 取為特征點維度的四分之一即16。
選擇初始特征點時根據特征點的Hessian 特征值響應大小,將響應值的最大值到最小值均分為4 個區間,每個區間隨機抽取4 個特征點作為種子點,根據特征點之間的歐氏距離進行分類。

式中:di—兩特征點之間的距離;xj、yj—特征點向量的元素坐標;P—給定閾值,M=64。

圖4 目標物體的描述向量構造流程圖Fig.4 The Flow Chart of Description Vector of Target Object

圖5 反向標記流程圖Fig.5 Reverse Marking Flow Chart


3.1.2 待檢測物體圖像模型的構建

待檢測圖像生成的描述向量維度較大,為了實現快速的匹配將向量p 分成4 等分,即p1、p2、p3、p4,四個通道。

(1)將向量p1,p2,p3,p4分別從第一個元素開始以向量O 的長度為區間長度,以ε 為采樣步長,將向量pi(1≤i≤4)分為t 個不同的區間。分別統計各自區間上不同碼本的種類和各自的數量,得到一組統計向量ti。
(2)將統計向量ti與向量O 分別計算包含的碼本種類h 和各類碼本的數量g,生成詞典碼本直方圖。
(3)比較向量O 生成的碼本直方圖與向量ti生成的直方圖,計算余弦相似度,給定閾值Q,滿足閾值條件的作為匹配向量。
(4)選取匹配向量中的4 對特征點計算單應性轉換矩陣,求解矩形框的中心坐標和邊界寬度,用來實現目標物體的有效框選。

圖6 匹配識別流程圖Fig.6 Matching Recognition Flow Chart
所有實驗的測試平臺為:VS2013 +OpenCV2.4.13 和MATLAB2014a,CPU 英特爾i5-6220U,2.30GHz;64 位Windows 10 操作系統的計算機。相機采集裝置為大恒相機MER-1070/C拍攝的(3840×2748)分辨率的圖像,并根據實際實驗將圖像處理到較低的分辨率。實驗用的目標識別物體部分圖像,如圖7 所示。分選取了電機支架安裝板、同步帶輪、裝配工具作為代表,從左到右依次命名為物體1、物體2、物體3。另外在進行算法參數選定實驗時采用圖像特征檢測領域中常用的數據集Mikolajczyk 進行測試,包含8 組48 幅圖像,包括了常見的圖像旋轉、尺度、視角、光照等變換以及復合變換。
同時在進行實際物體識別實驗時將改進算法分別與SIFT算法、SURF 算法、H_SURF 算法進行物體識別效果對比,分別從識別準確率、識別所用時間兩個方面進行衡量并說明方法的識別效果。

圖7 待識別物體圖Fig.7 Object Map to be Identified
采樣步長ε 影響待檢測物體描述向量pi的劃分數量、劃分重疊度,進而影響到后續與目標物體向量的匹配速度。較大的采樣步長會降低劃分重疊度,減少劃分子向量的數量,從而提高匹配速度;但是,較大的采樣步長會使描述向量之間的差異性變大,減少了與目標物體描述向量具有較大相似度的概率,這樣會使目標匹配的準確度下降。
在保證一定準確度的條件下,我們要提高算法匹配的效率就要選擇合適的采樣步長。實驗采用Mikolajczyk 圖像測試集中包含尺度、旋轉、光照以及三種變換組合情況下的三組圖像構造識別模板和測試圖像。其中三組圖像中選取的測試圖像識別模板和測試集,如圖8 所示。

圖8 實驗所用模板圖像以及測試集圖像Fig.8 Template Image and Test Set Image for Experiment
考慮實際應用中不同相機采集的圖像大小尺寸不同,模板制作大小不同,在生成物體描述向量的維度也不相同。選取的采樣步長應該以模板圖像以及測試圖像的大小比例來選取。實驗所用采樣步長ε 的取值分別為模板圖像描述向量的1/16 到1/8。不同初始化采樣步長的識別用時和識別的準確率,如圖9 所示。圖中數據為5 次測量取的平均值。
通過圖9 可以看出,隨著采樣步長的增大,識別的準確率在下降同時所消耗的時間在減少,通過對比圖9(a)和圖9(b)我們可以發現,采樣步長設置為1/10 時,識別所用時間有一個較大的下降,并且在該采樣步長下,識別的準確率可以取得一個較高的水平。

圖9 不同采樣步長下的識別效果對比Fig.9 Comparison of Recognition Effects Under Different Sampling Steps
綜合考慮準確率與消耗時間兩方面的因素,最終選取采樣步長取值為模板物體描述向量的十分之一。

圖10 相同濾波條件下檢測效果對比Fig.10 Comparison of Detection Results Under the Same Filtering Condition
在相同濾波尺度下,改進的目標工件描述向量在相同光照、尺度等變換下具有更好的區分性,相比原SURF 算法更有利于后期目標物體的識別,兩種算法在相同濾波參數下分別對三種目標物體描述效果對比,如圖10 所示。
通過圖10 中對比可以發現,在相同外界條件下,改進的描述向量相比原SURF 描述子對目標物體圖像的描述有更加明顯的外部輪廓。在能夠準確的識別出物體圖像的前提下減少了大量冗余特征和圖像噪聲[16],這些特征可以減少算法的計算量,同時可以保證后期算法識別的準確性。
4.4.1 不同尺度下物體識別效果對比
根據物體尺度不同,每種物體利用相機采集3 組不同尺度下的圖像,每組采集二十張,識別圖像分辨率大小為(1280×916)。通過算法構建物體描述向量進行匹配,識別效果,如圖11 所示。其中黃色矩形框為改進算法提出的物體描述向量所形成的描述區域范圍。

圖11 尺度變化下物體識別效果Fig.11 Object Recognition Effect Under Scale Change
在一定的尺度變換條件下,改進算法可以較好的實現目標物體的框選,同時改進算法提出的匹配模型可以準確的表示出目標物體的主要特征,如圖11 所示。
此外計算每組物體識別所用平均時間,與SURF 算法識別物體進行比較分析,結果如表1 所示。并對算法的正確識別率進行計算,正確識別率為準確識別到目標物體的圖像數量占總數量的比例,計算公式為式(5)。三種算法與改進算法的平均正確匹配率以及平均匹配時間的比較,如表1 所示。


表1 尺度變換下物體識別效果比較Tab.1 Comparison of Object Recognition Effect Under Scale Transformation
通過表1 中數據可以看出,在識別率保持和原算法接近的前提下,識別用時比原SURF 算法提高了約7.76%,同樣可以看出H_SURF 算法在實時性上高于原SURF 算法,但在識別率上還略低于改進算法,識別正確率最高的為SIFT 算法,但是SIFT 算法用時最長,而且改進算法識別率已經能夠達到準確識別物體,綜合性能高于SIFT 算法。
4.4.2 不同光照下物體識別效果對比
根據物體光照不同,同樣每種物體利用相機采集3 組不同光照下的圖像,每組選取二十張,識別圖像分辨率大小也為(1280×916)。改進算法識別效果,如圖12 所示。其中黃色矩形框為提出的物體描述向量所描述的物體區域。

圖12 光照變化下物體識別效果Fig.12 Object Recognition Effect Under Illumination Change
通過圖12 可以看出在一定光照變換下,改進算法同樣可以較準確的實現目標物體的框選,由于物體的形狀、顏色等差異,在生成描述子的時候目標物體的表達范圍有一定的差異。但是,目標物體的主要特征可以比較準確的提取出來,從而計算出準確的單應性變換矩陣,實現目標物體的框選。相同實驗條件下四種算法的平均識別正確率以及算法平均耗時對比,如表2 所示。

表2 光照變換下物體識別效果比較Tab.2 Comparison of Object Recognition Effect Under Illumination Transformation
表2 中數據可以看出算法在物體2 和3 的正確匹配率略低于原SURF 算法,這由于物體在光照變化下物體2 反光現象比較嚴重檢測到的特征點數量會有所減少,而物體3 在光照變換下生成的描述向量區域發生了一定的旋轉,造成轉換矩陣計算不準確,從而降低了識別率。但改進算法相比原算法在光照變換下識別平均用時提高了約3.74%,同時在光照變換下H_SURF 算法的識別效率降低較明顯,這也說明了,光照的變換對其算法的穩定性影響較大。
4.4.3 不同旋轉角度下物體識別效果對比
根據物體旋轉角度不同,同樣每種物體利用相機采集3 組不同光照下的圖像,每組選取二十張,待識別圖像分辨率大小為(1280×916)。改進算法識別效果,如圖13 所示。其中,矩形框同樣為提出的物體描述向量所描述的物體區域。

圖13 旋轉角變化下物體識別效果Fig.13 Object Recognition Effect Under Rotation Angle Change
通過圖13 可以看出在一定旋轉變換下,改進算法提出的匹配模型可以追隨目標物體的旋轉角度進行識別變換,可以實現目標物體的準確識別。不同旋轉角度的條件下進行四種算法的識別實驗結果的平均值對比,如表3 所示。

表3 旋轉變換下物體識別效果比較Tab.3 Comparison of Object Recognition Effect Under Rotation Transformation
表3 中數據可以看出算法在旋轉條件下具有優于原SURF算法的匹配率,改進的匹配模型利用的反向標記的方法對于旋轉不變性具有更好的魯棒性,同時識別時間比原SURF 算法約提高了3.33%;相比H_SURF 算法在識別準確性以及識別效率上都有一定的提高。說明改進算法在圖像旋轉變換下同樣具有一定的實用性。
針對基于SURF 特征的工件快速識別,提出一種改進的裝配工件快速識別方法。算法在特征描述和匹配階段主要有以下幾個改進步驟;(1)通過K-means 方法對目標物體特征點種類進行分類,從而可以增強局部特征的可描述性和差異性;(2)利用特征點種類構造詞袋模型,可以增強特征的可檢索性,同時減少匹配時的搜索時間;(3)基于詞袋模型生成目標物體的描述向量,并且利用描述向量進行物體匹配識別,減少了大量特征點之間歐氏距離的計算。實驗結果表明,在尺度變換因子取原圖的0.6 倍至1.8倍之間、光照變換因子區間取原圖的(0.8~1.6)、旋轉變換角度范圍為(±60)°時,改進算法較原SURF 算法在保證識別準確率的基礎上,識別速度整體提高了約4.94%。所用實驗圖像集在該光照變換區間內,改進算法的識別準確率相比H_SURF 算法提高了接近9%,并且具有更加穩定的識別效果。但是,基于詞袋模型的物體描述向量對于圖像中工件局部區域性特征的區分性還有一定的不足,這是提高工件識別準確率的關鍵,也是以后研究的方向。