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