孫海波
(南京模擬技術(shù)研究所,江蘇 南京 210016)
目前實(shí)彈射擊訓(xùn)練過程中,常采用人工報(bào)靶的方式,這種方式存在繁瑣、危險(xiǎn)且效率低下等缺點(diǎn),本系統(tǒng)研制一種基于機(jī)器視覺技術(shù)的實(shí)彈報(bào)靶系統(tǒng),可以實(shí)現(xiàn)自動報(bào)靶功能,訓(xùn)練人員實(shí)彈射擊時(shí)可以實(shí)時(shí)顯示彈點(diǎn)位置和成績等信息,極大的提高訓(xùn)練效率[1]。
基于機(jī)器視覺技術(shù)的實(shí)彈報(bào)靶系統(tǒng)由靶標(biāo)組件、視頻圖像采集組件、圖像處理組件、顯示組件、通訊組件組成。報(bào)靶系統(tǒng)中攝像頭采集靶紙圖像,圖像處理組件識別靶型區(qū)域和彈著點(diǎn)位置信息,然后在射手端實(shí)時(shí)顯示彈點(diǎn)位置和射擊成績。
實(shí)彈報(bào)靶的關(guān)鍵是將靶面圖像中彈著點(diǎn)提取出來,這就涉及到機(jī)器視覺的有關(guān)理論和技術(shù)[2]。在實(shí)際應(yīng)用中,系統(tǒng)獲取的原始圖像不是完美的,例如系統(tǒng)獲取的原始圖像,由于噪聲、光照等原因,圖像的質(zhì)量不高,所以需要進(jìn)行處理,以有利于提取目標(biāo)信息。實(shí)彈識別定位算法流程如圖1所示。
圖1 算法流程圖
算法流程包括兩部分:靶型識別定位和彈點(diǎn)識別定位。靶型識別定位算法:將靶面彩色圖進(jìn)行顏色空間轉(zhuǎn)換,利用自適應(yīng)閾值分割方法將圖像二值化,提取靶型區(qū)域,然后求取靶型區(qū)域最小外接矩形,獲取靶型位置信息。彈點(diǎn)識別定位算法:首先根據(jù)靶型區(qū)域信息,對圖像進(jìn)行剪裁,采用幀差算法,獲取彈著點(diǎn)區(qū)域,計(jì)算彈點(diǎn)位置信息。
當(dāng)靶面圖像上灰度分布不均勻時(shí),靶型的定位會受到比較大的影響,將原有的顏色空間RGB轉(zhuǎn)換到HSV空間,H(色度)S(飽和度)V(明度),選取S通道靶型區(qū)域亮度較高有增強(qiáng)作用,可解決照度不均勻問題,如圖2所示。
圖2 靶型識別示意圖
將飽和度圖像進(jìn)行自適應(yīng)閾值分割,獲取靶型二值化圖像,然后求取其最小外接矩形即可獲取靶型位置信息。
2.2.1 圖像剪裁
攝像機(jī)獲取的靶面圖像中除了靶型有效區(qū)域以外還有周圍一些干擾區(qū)域,會降低圖像處理的速度和正確率。因此可剪裁一部分無關(guān)的圖像。對于下圖中的靶紙圖像來說,我們所感興趣的部分就是正式靶型區(qū)域,即圖形A、B、C、D所包含的圖像區(qū)域。靶型識別定位算法可以獲取A、B、C、D四個(gè)點(diǎn)的坐標(biāo),如圖3所示。
圖3 剪裁示意圖
2.2.2 彩色靶圖灰度化
圖像采集獲得的是彩色圖像,其包含的數(shù)據(jù)量巨大,直接處理彩色圖像,處理速度很慢,無法實(shí)時(shí)解算,而且在精度方面與采用灰度圖像處理幾乎沒有區(qū)別。因此在本系統(tǒng)中將其轉(zhuǎn)換為灰度圖后再進(jìn)行處理,在提高處理速度的同時(shí)保證足夠的精確度。利用RGB空間到灰度空間的轉(zhuǎn)換公式獲取灰度圖像[3]:
式中f(x,y)為(x,y)位置的灰度值B、G、R分別為(x,y)位置像素的藍(lán)、綠、紅色對應(yīng)的彩色信息值。
2.2.3 二值圖像
二值圖像是指整幅圖像畫面內(nèi)僅黑、白二值的圖像,在它們之間不存在其他灰度的變化。二值化的方法很多,在實(shí)際使用時(shí),必須根據(jù)具體的處理對象而定,二值化的關(guān)鍵是要選擇合適的閾值來區(qū)分對象和背景[4]。
設(shè)灰度圖像f(x,y),為二值圖像為g(x,y),t為閾值,圖像二值化的數(shù)學(xué)描述如公式所示:
因?yàn)閺楛c(diǎn)區(qū)域?yàn)楹谏?,與靶面非彈點(diǎn)區(qū)域顏色差異較大,所以選用自適應(yīng)閾值分割法進(jìn)行二值化處理,根據(jù)靶面圖像的灰度直方圖,在有兩個(gè)峰值分別對應(yīng)于靶面圖像中的目標(biāo)與背景存在情況下,取兩值中間的峰谷閾值,此方法在圖像的目標(biāo)與背景差別大的場景中效果很好。
2.2.4 幀差算法
幀差算法是將前后采集的兩幅靶面圖像對應(yīng)坐標(biāo)的像素灰度值相減,獲取灰度差值組成新的幀差圖像。該算法排除掉了新的靶面圖像中那些原先已經(jīng)存在的舊彈著點(diǎn)對識別的干擾,大幅提高自動報(bào)靶系統(tǒng)的實(shí)時(shí)性和準(zhǔn)確率[5]。幀差算法公式如下:
其中,glb(x,y)是背景靶面圖,glp(x,y)是當(dāng)前靶面圖,glr(x,y)是幀差圖。因?yàn)閺楛c(diǎn)區(qū)域?yàn)楹谏悦慨?dāng)有新彈點(diǎn)命中靶面時(shí),其在幀差圖像中的灰度值較高。
2.2.5 室外大風(fēng)靶面抖動抖動解決辦法
在室外風(fēng)速比較大的情況下,靶面會發(fā)生劇烈的抖動,這時(shí)幀差圖像上會產(chǎn)生許多的干擾彈點(diǎn),容易產(chǎn)生多報(bào)現(xiàn)象,具體分析情況如下,當(dāng)靶面上原有彈點(diǎn)在圖像抖動時(shí),會在幀差圖像上產(chǎn)生生彈點(diǎn)“虛影”,如圖4所示。
圖4 虛影彈點(diǎn)和實(shí)際彈點(diǎn)比較圖
A為靶面上原有彈點(diǎn),因晃動產(chǎn)生的虛影彈點(diǎn),B為晃動時(shí)新增實(shí)際彈點(diǎn),A和B的區(qū)別是,在A區(qū)域一般包兩塊區(qū)域,面積和形狀相近,但是其在幀差圖像中的平均灰度為一正、一負(fù),兩個(gè)區(qū)域總體平均灰度趨近與0;而B區(qū)域只有一塊平均灰度為正值得區(qū)域,所以可以依靠這個(gè)區(qū)別,來識別出在靶面抖動時(shí)新增實(shí)際彈點(diǎn)和干擾虛影彈點(diǎn)。
本項(xiàng)目研制的基于機(jī)器視覺技術(shù)的實(shí)彈報(bào)靶系統(tǒng),系統(tǒng)將報(bào)靶設(shè)備固定于靶標(biāo)前端,實(shí)時(shí)采集靶面圖像,當(dāng)射擊時(shí)子彈擊中靶面,系統(tǒng)實(shí)時(shí)分析彈著點(diǎn)圖像,并將靶型位置和彈點(diǎn)位置信息解算出來實(shí)現(xiàn)實(shí)時(shí)報(bào)靶功能。研制靶型定位算法:靶面圖像光照不均勻影像靶型識別,將原顏色空間RGB轉(zhuǎn)換到HSV空間,并選取S(飽和度)顏色通道,靶型區(qū)域亮度較高有增強(qiáng)作用,可提高靶型定位識別的準(zhǔn)確性。研制彈點(diǎn)識別算法:采用自適應(yīng)閾值分割算法和幀差算法識別彈點(diǎn);并研制抗大風(fēng)引起的靶面圖像抖動的彈點(diǎn)識別算法,提高報(bào)靶的穩(wěn)定性。