孫棪伊,范文晶,曾遠帆,干興業(yè),湯日佳,韓 銳
(上海機電工程研究所,上海 201109)
現(xiàn)代戰(zhàn)爭中武器系統(tǒng)為適應(yīng)自動化、快速化的作戰(zhàn)要求,裝填作業(yè)的快速化和智能化作為一項新興技術(shù)具有很大的發(fā)展空間,并作為一項融合多領(lǐng)域技術(shù)的熱門課題被各界廣泛研究[1]。這項技術(shù)現(xiàn)已在火炮裝填、艦載彈裝填、地空彈裝填中實現(xiàn)了應(yīng)用,而對基于機器視覺的裝填定位方式的研究則剛剛起步[2]。機器視覺是指通過圖像攝取裝置得到圖像信號,然后將其傳輸給圖像處理系統(tǒng)以得到所需的目標(biāo)信息,圖像處理系統(tǒng)對這些信號進行各種運算來抽取目標(biāo)特征,進而根據(jù)處理結(jié)果采取不同的后續(xù)操作策略[3]。
對基于機器視覺的定位方法而言,選擇合適的圖像處理算法是識別精度與速度的決定因素之一,由于野外雨霧天氣影響需要對目標(biāo)信號進行濾波處理來降噪,以減少后續(xù)對特征提取的干擾[4]。特征提取所包含的內(nèi)容非常廣泛,近年來異軍突起的機器學(xué)習(xí)、卷積神經(jīng)網(wǎng)絡(luò)等技術(shù)可自行提取特征,但這些算法通常非常復(fù)雜,又需要大量的樣本為訓(xùn)練基礎(chǔ)。
根據(jù)靶標(biāo)圖像的特點,選擇圖像處理中的角點特征進行靶標(biāo)圖像的特征識別。角點特征具有梯度變化明顯、易于識別、偽角點篩查簡便,易定位,受光照影響小等優(yōu)點,適用于光照變化多樣、圖像需要快速識別的應(yīng)用工程。
針對角點特征,角點檢測的鼻祖是Moravec算法,之后Harris在Moravec算子思想上提出Harris算法[5-6]。當(dāng)前的角點檢測技術(shù)可以分為2類:第一類是基于圖像邊緣信息,此方法經(jīng)過3個步驟才能完成,分別為圖像預(yù)分割、輪廓鏈碼提取及角點檢測(如基于邊界小波變換的角點檢測和基于邊界鏈碼的角點檢測等);第二類是基于圖像灰度信息,此方法主要通過計算梯度及邊緣曲率來判斷角點的存在性(如Harris算法和Susan算法等[7-9])。
算法通過計算目標(biāo)像素在任意方向上的灰度變化以及目標(biāo)像素的角點響函數(shù)(corner response function)來確定角點,其計算簡單,穩(wěn)定性強,具有對光照、相機姿態(tài)變化、旋轉(zhuǎn)和仿射均不變的特性,適用于野外裝填作業(yè)。
本文提出一種針對目標(biāo)特征點的檢測方法,省去了絕大多數(shù)算法的圖像增強部分,降噪后可直接提取特征點信息。該算法可以極大提高識別與定位的速度,以適應(yīng)武器系統(tǒng)野外作戰(zhàn)的機動性要求,是實現(xiàn)自動化、智能化作戰(zhàn)的關(guān)鍵一步。
裝填靶標(biāo)圖像如圖1所示。
圖1 靶標(biāo)原圖像Fig.1 Original target image
傳統(tǒng)算法利用高斯函數(shù)對圖像進行加權(quán),用以消除孤立點和突起,越靠近中心點的像素,賦予越高的權(quán)重[10]。
可以定義一個n×n的模板,沿各個梯度改變方向移動這個模板,當(dāng)模板內(nèi)圖像灰度發(fā)生明顯變化則說明模版內(nèi)存在特征點,如果灰度變化不明顯,則說明不存在特征點。
ω(x,y)為模板,ω決定像素周圍感興趣的區(qū)域,(Ix,y)為目標(biāo)圖像,Ix、Iy為水平與垂直方向上的差分,[u,v]為模板的移動量。模板移動過程中產(chǎn)生的灰度變化可表示為一自相關(guān)函數(shù)E(u,v),如式(1)所示。
圖2所示為Ix、Iy的梯度直方圖,設(shè)矩陣M,然后將加權(quán)后的圖像進行泰勒展開,輻射任意方向梯度(近似)可表達為
圖2 靶標(biāo)圖像梯度直方圖Fig.2 Gradient histogram of target image
如果忽略局部微小移動量[u,v],有近似二項式,如式(5)所示。
可得
M為偏導(dǎo)矩陣,可以進行對稱矩陣變化,由于矩陣M的2個特征值會隨局部特性變化而變化(矩陣M的特征值是自相關(guān)函數(shù)E(u,v)的一階曲率),分別設(shè)為α、β,如果梯度變化MI的特征值不再是0,特征不變MI值不變[10-13]。
忽略余項,近似得到
特征值大小關(guān)系可以對應(yīng)靶標(biāo)圖像上的3種情況。如果2個特征值一大一小,那么E(u,v)只在一個方向上突出,模板移動過程中,灰度只在一個方向有明顯變化;如果2個特征值均為很小的值,那么E(u,v)在各個方向均不突出,模板移動過程中,灰度值無明顯變化;如果2個特征值都大且2個特征值近似相等,則E(u,v)在所有方向突出,模板移動過程中梯度變化均很明顯[10-17]。
我們通過矩陣M的2個特征值的大小來進行圖像部分、邊緣、特征點的檢測分類。定義角點響應(yīng)函數(shù)traceM、detM、R,traceM和detM為M的跡和行列式。
式中:k定義為經(jīng)驗常數(shù),近似表達一個閾值,傳統(tǒng)算法常?。?.04,0.06];M是梯度的協(xié)方差矩陣,由M決定角點函數(shù)R。如果R為正,且數(shù)值大于閾值則為角點;如果R為負(fù)數(shù),但|R|大于閾值則為邊緣;如果|R|小于閾值則為平坦區(qū)域。
圖3所示為矩陣M特征值預(yù)交點分布的關(guān)系。
圖3 矩陣M特征值預(yù)交點分布的關(guān)系Fig.3 The distribution of the pre-intersection points of the matrix M
α、β都較大且相似,含角點;都較小且相似,則為平坦區(qū)域。圖4為傳統(tǒng)算法角點與區(qū)域的角點響應(yīng)函數(shù)示意圖。
圖4 傳統(tǒng)算法角點與區(qū)域的角點響應(yīng)函數(shù)示意圖Fig.4 Traditional algorithm corner and the region of the corner response function
為了提高裝填效率,為機械臂與抓取裝置提供更充裕的時間,降低主控計算機時間復(fù)雜度,本文提出了一種無需進行圖像增強的特征點檢測方法。改進算法基于Harris算法,縮短了算法運行時間。
圖1所示為靶標(biāo)圖像,本文所用的特征點檢測方法可以有效保存圖像對于識別與檢測的重要信息,并排除一些不必要信息,從而提高主控計算機計算速度,可對識別到的靶標(biāo)圖像進行實時處理。這種特征點提取在機器視覺范疇內(nèi)的目標(biāo)跟蹤、識別與圖像匹配中的均被廣泛應(yīng)用。
特征點可以被定義為:兩個邊緣的交叉部分或鄰域內(nèi)同時具有兩個主方向的像素。前者很大程度上依賴邊緣提取,如果圖像邊緣由于某種原因發(fā)生中斷,則會對特征點提取造成嚴(yán)重影響,還需進行前期的預(yù)處理從而影響計算速度。因此選擇鄰域內(nèi)同時具有兩個主方向的像素作為特征點進行后續(xù)操作。
1)不同于傳統(tǒng)的Harris算法,改進后的算子采用小窗口的模板來改變靶標(biāo)圖像灰度。高斯窗口過小時,會產(chǎn)生較多的偽角點,但在求得角點后,改進算法進行極大值抑制來去除偽角點。圖5為改進算法角點與區(qū)域的角點響應(yīng)函數(shù)示意圖。
圖5 改進算法角點與區(qū)域的角點響應(yīng)函數(shù)示意圖Fig.5 Schematic diagram of the improved algorithm corner point and regional corner point response function
2)同時,由于靶標(biāo)圖像在水平與豎直方向上特征明顯,改進算法在計算自相關(guān)函數(shù)E(u,v)后不進行泰勒展開以輻射其他方向,只計算Ix、Iy水平與垂直方向上的差分,這樣就減少了算法運行時間。圖6為改進算法水平垂直方向差分分布。
圖6 改進算法水平垂直方向差分分布Fig.6 Improved algorithm for horizontal and vertical difference distribution
3)最后進行局部非極大值抑制去除被誤識別為角點的邊緣(或噪聲)。識別會產(chǎn)生多個結(jié)果,通過抑制不是極大值的元素搜索局部極大值。
選取1個3×3的模板,判斷中間的一個像素與周圍8值鄰域相比是否為最大值。計算該像素梯度方向,假設(shè)局部最大值分布在這一方向上,梯度方向與模板有2個焦點A和B,判斷這3個像素的灰度值,如果中心點像素灰度值不是最大的,則說明它不是極大值,就將該點排除。
這個模板可以包含2個可變參數(shù),即鄰域的維數(shù)和大小。確定梯度幅值矩陣中目標(biāo)像素點是否在鄰域內(nèi)為最大值。
尋找像素點的局部極大值,置非極大值點的灰度值為0,進而保留最終角點結(jié)果。對靶標(biāo)圖像的梯度幅值進行極大值抑制,幅值矩陣中的元素值越大意味著該點的梯度值也越大。
對比傳統(tǒng)harris與改進算法的響應(yīng)函數(shù)示意圖,傳統(tǒng)算法識別出的角點偏移量明顯小于傳統(tǒng)算法。
圖7~10為實驗結(jié)果圖像,表1為實驗數(shù)據(jù)結(jié)果對比。
由圖7~8識別結(jié)果看出:傳統(tǒng)算法存在偽角點和角點偏移現(xiàn)象。傳統(tǒng)算法識別結(jié)果會增加后續(xù)靶標(biāo)定位誤差,使靶標(biāo)坐標(biāo)出現(xiàn)偏移,影響后續(xù)裝填。
對比圖7~10及表1可知,改進算法分析結(jié)果較傳統(tǒng)算法相對準(zhǔn)確,無偽角點產(chǎn)生,偏移量小,且算法精簡,運行時間短。
表1 實驗數(shù)據(jù)結(jié)果對比Tab.1 Comparison of experimental data result
圖7 傳統(tǒng)算法角點識別結(jié)果1Fig.7 Traditional algorithm corner recognition result 1
圖8 傳統(tǒng)算法角點識別結(jié)果2Fig.8 Traditional algorithm corner recognition result 2
圖9 改進算法角點識別結(jié)果1Fig.9 Improved algorithm corner recognition results 1
圖10 改進算法角點識別結(jié)果2Fig.10 Improved algorithm corner recognition results 2
在智能裝填靶標(biāo)識別的過程中,針對靶標(biāo)圖像特征,結(jié)合Harris角點算法本身具有旋轉(zhuǎn)不變性、對光照不敏感等特點,經(jīng)過改進的特征點檢測算法很好地規(guī)避了傳統(tǒng)算法檢測后存在偽角點的問題,提高了對目標(biāo)識別的精度。
通過對梯度計算的處理,改進算法縮短了傳統(tǒng)算法第一步的運行時間,為裝填作業(yè)爭取了足夠的時間,提高了算法的實時性。但算法仍有局限,改進的檢測算法仍未能解決傳統(tǒng)算法不具備尺度不變性這一不足,有待后續(xù)改進。