崔金良 于正林
摘 要:針對現(xiàn)階段高校生在入學軍事訓練的實彈打靶操作中存在著訓練危險性高、可行性低的問題,本文設計出一種基于圖像處理算法的激光模擬射擊自動報靶系統(tǒng)。該系統(tǒng)由激光發(fā)射裝置、靶圖采集裝置、圖像處理過程、人機交互界面,語音報靶模塊和數(shù)據(jù)管理模塊組成。整個系統(tǒng)以圖像處理算法為核心,通過靶圖采集裝置采集靶面視頻信息,并由計算機對視頻圖像進行處理,可識別出帶有光斑的射擊幀,通過計算光斑位置,準確判斷射擊成績,最終使用人機交互界面實時顯示靶面圖像與成績。該系統(tǒng)具有造價低廉,布置方便、判靶速度快、準確度高、可移動性好等一系列優(yōu)點,適用于高校學生和在役軍人的普通軍事模擬打靶訓練。
關鍵詞:激光射擊;圖像處理;自動報靶;人機交互
DOI:10.16640/j.cnki.37-1222/t.2019.02.116
0 引? 言
在部隊軍事訓練中,經(jīng)常進行射擊訓練、考核、比賽等活動,在這些活動中又以實彈打靶為主。實彈訓練可給軍人以真實的射擊體驗,使射擊者準確的掌握槍支后坐力、風向風速、彈道弧度等必要信息,所以實彈訓練在軍事活動中具有不可替代的作用[1]。但考慮到普通高校學生的入學軍事訓練,多數(shù)高??紤]到實彈打靶危險系數(shù)高,費用開支大等缺點,被迫放棄射擊訓練科目,給學生的軍訓生涯留下了些許遺憾。
鑒于激光具有優(yōu)良的單色單向性,用激光束來模擬彈道可視為一個優(yōu)良選擇。目前市場上已具備多款仿造真實槍支的激光發(fā)射槍,將這些“槍支”用在打靶訓練中既能節(jié)省彈藥和經(jīng)費,又能大大提高訓練的安全性和訓練效率[2]。但在激光射擊人工報靶中,射擊光斑具有短促性和顫動性,這就給人工報靶造成很多困難:首先,人眼很難清晰判定光斑最初擊中靶面的彈著點位置;其次,記錄激光彈著點是一項艱難又復雜的工作,成績的復核工作無法進行;再者,人工報靶中,射擊成績極易受報靶員自身身心狀態(tài)的影響[3]。這些困難極易造成激光打靶比賽的不公。市場上存在的基于圖像處理技術的自動報靶系統(tǒng),多應用于實彈射擊報靶。這種系統(tǒng)雖對于彈孔檢測十分有效,卻不適用于檢測短促顫動的激光光斑[4]?;谝陨厦枋觯疚脑O計出一套適用于激光模擬射擊的自動報靶系統(tǒng),本系統(tǒng)對基于圖像處理技術的實彈射擊報靶系統(tǒng)進行改良,可準確判斷激光彈著點,不僅解放人工報靶中報靶人員的高強度工作,排除報靶過程中人為因素,也便于記錄靶面圖像進行成績的復核工作。
1 系統(tǒng)方案
1.1 激光發(fā)射裝置
激光發(fā)射裝置由普通玩具槍支改造而成,通過將激光發(fā)射頭置于槍支發(fā)射管內(nèi),可保證激光束與發(fā)射管軸心重合。將激光發(fā)射電路與扳機相連,扣動扳機時發(fā)射一束激光。使用該裝置模擬短距實彈射擊,模擬效果良好,彈道誤差可忽略不記。
1.2 靶圖采集裝置
靶圖采集裝置由個人計算機、CMOS攝像機、靶箱三部分組成。CMOS攝像機置于靶箱內(nèi)部拍攝靶面背部圖像后,通過USB接口將圖像信息傳輸至個人計算機進行處理。
本系統(tǒng)采用深圳林柏視Rmoncam科技有限公司研發(fā)的S系列的2.4mm廣角無畸變攝像機,該攝像機詳細產(chǎn)數(shù)如表1-1所示。
1.3 圖像處理過程
視頻信息傳入計算機后,需適當提取第一幀圖像的部分區(qū)域為背景圖像,將背景圖像轉換為灰度圖,使用高斯濾波對圖像進行平滑處理,通過Hough圓變換檢測十環(huán)形狀,確定靶心坐標。后計算每一幀圖像與背景圖的幀差,對背景差分圖進行二值化得二值圖,采用灰度重心算法計算二值圖像中光斑的幾何中心,作為本次射擊的中靶點坐標,根據(jù)中靶點坐標與靶心坐標的相對位置計算本次射擊成績。
1.4 人機交互界面
采用Python與Pyqt5聯(lián)合開發(fā)激光射擊與自動報靶人機交互界面,該界面包括系統(tǒng)控制區(qū)域、靶面顯示區(qū)域、用戶登陸框與成績顯示框。每當系統(tǒng)檢測到一次射擊,便將射擊幀圖像顯示于靶面顯示框內(nèi),并在成績顯示框內(nèi)輸出打靶成績。
1.5 語音報靶與數(shù)據(jù)管理模塊
語音模塊采用PyWin32固件庫開發(fā),數(shù)據(jù)管理模塊采用Pandas固件庫開發(fā),當系統(tǒng)計算出射擊成績后,由語音模塊實時播報射擊成績,并由數(shù)據(jù)管理模塊記錄射擊成績,以便后期統(tǒng)計成績使用。
2 項目實現(xiàn)過程
2.1 設置攝像機采集圖像的幀速
由于激光模擬射擊與實彈射擊不同,當激光光斑射中靶面后,在激光束脈沖時間內(nèi),訓練者持槍時的輕微顫動會使光斑在靶面上有較大的抖動,這就給人工報靶增加了很大的難度。本實驗采用攝像機拍攝靶面圖像信息,并使用計算機自動判靶,這就需要設置攝像機的拍攝速率:在一次射擊中,為采集到激光點最初擊中靶面的圖像,應使攝像機具有較高的幀速;但更高的幀速意味著計算機需要處理更多的圖像,必然會占用計算機更多的資源。綜合以上因素,本實驗采用幀速為20fps,(即每50ms采集一幀圖像)。這不僅能有效提高了報靶的準確性,又可大大節(jié)省計算資源[4]。
2.2 圖像處理詳細步驟
2.2.1 采集圖像信息并提取ROI
當系統(tǒng)開始啟動時,靶面無射擊光斑,可采取此幀圖像作為背景圖像。由于攝像機采取的圖像(圖2-1)比目標靶面大許多,有大量的無用像素點。對圖2-1進行ROI提取,提取有用的靶面圖像(圖2-2)。
2.2.2 確定靶心坐標
由于CMOS傳感器物理特性的原因,此背景圖像含有大量的高斯噪聲。將背景圖像轉換為灰度圖像,使用高斯濾波算子對其做平滑處理,可得出去噪后圖像,之后,采用Hough圓變換計算出十環(huán)位置并同時確定靶心坐標(圖2-3)。
2.2.3 提取胸環(huán)靶輪廓
在實際射擊中,若擊中人形區(qū)域視為有效,若擊中靶面中白色區(qū)域視為脫靶。本實驗采用OSTU閾值分割法分割有效射擊區(qū)域和脫靶區(qū)域[5]。使用OpenCV中findContours( )函數(shù)提取并標示二值圖像中的輪廓,紅色線條所標記的區(qū)域為脫靶區(qū)域(圖2-4)。采用pointPolygonTest( )函數(shù)判斷光斑與脫靶區(qū)域的關系,若光斑落于脫靶區(qū)域內(nèi),則成績記為零環(huán)。
2.2.4 確定光斑中心坐標
采集視頻射擊幀圖像(圖2-5),提取相同區(qū)域ROI后,與背景圖像做差分。將所得背景差分圖轉化為灰度圖像后,再閾值分割為背景差分二值圖像(圖2-6)[6]。
對差分二值圖做灰度重心算法,計算出光斑幾何中心,作為本次射擊彈著點坐標?;叶戎匦乃惴ㄓ址Q密度質心法。對于亮度不均勻的目標,灰度重心法可按目標光強分布求出光強權重質心坐標作為圖像重心。在本實驗中,對二值圖像使用灰度重心法求得的結果即為光斑幾何中心坐標。對于一副m*n的圖像,灰度重心法的計算公式為:
(1)
(2)
其中,fij為圖像在像素(i, j)處的像素灰度值,(x, y)即為圖像灰度重心點。
2.2.5 計算成績及彈著點方位
軍用標準胸環(huán)靶每環(huán)之間的距離相等,即上文Hough圓變換計算出的半徑,記為d,故可計算彈著點與靶心之間的距離l,則成績計算公式為:
其中,
(5)
2.3 編寫自動報靶算法
自動報靶算法是整個系統(tǒng)的核心組成部分,算法流程圖如圖2-7。在一次判靶過程中,該算法采集該次射擊時首幀帶有激光光斑的圖像進行處理,并忽略其他光斑圖像信息。使用變量i 表示第i幀圖像,變量j表示上一幀光斑圖像為第j幀,若i - j =1,則不進行本次成績的計算,并將變量i的指賦給變量j,進如下一輪循環(huán)。如此,可消除光斑抖動帶來的“一槍多報”現(xiàn)象,使報靶更加精準。
2.4 人機交互界面(GUI)介紹
本系統(tǒng)的人機交互界面(圖2-8)采用Python與PyQt5聯(lián)合開發(fā),界面從左到右依次為系統(tǒng)控制區(qū)域、圖片顯示區(qū)域、用戶登錄框及成績顯示區(qū)域。系統(tǒng)控制區(qū)域控制系統(tǒng)的啟動與退出,圖片顯示區(qū)域實時顯示射擊幀圖像信息,用戶登陸框用于獲取用戶登陸信息,以便于射擊成績的記錄。成績顯示框用于顯示擊中時間,成績,彈著點方位,本次射擊平均成績和該用戶歷史平均成績。
2.5 語音報靶與數(shù)據(jù)管理
本系統(tǒng)采用PyWin32固件庫開發(fā)語音報靶模塊,采用Pandas開發(fā)數(shù)據(jù)管理模塊。Pywin32可訪問windows系統(tǒng)API,本實驗使用PyWin32訪問windows語音開發(fā)庫,輕松實現(xiàn)語音自動報靶功能。Pandas是Python語言最常用的數(shù)據(jù)處理固件庫,本實驗中,若用戶編號為001,則采用Pandas讀取、寫入、修改“001.csv”文件,達到數(shù)據(jù)的存儲,讀取,統(tǒng)計等功能。
3 總結語
搭建好實驗平臺并編寫系統(tǒng)程序后,本人進行了1000次射擊實驗,證明:該系統(tǒng)報靶準確率高達99.5%,報靶最大偏差為0.1環(huán),不存在“一槍多報”現(xiàn)象,其報靶速度、精度均滿足項目要求。另外,該系統(tǒng)適用于多種顏色的激光,均可正確報靶。
目前本系統(tǒng)仍存在些許不足:雖然可滿足正常的室內(nèi)外打靶訓練,但由于本系統(tǒng)主要采用背景幀差法確定光斑位置,故其對于環(huán)境中急劇變化的光強很敏感,不適用于具有閃光的環(huán)境中[7]。接下來,本人擬在不同色彩空間研究激光光斑特性,在背景差分法的基礎上增加色彩分割算法,以減弱外界可變光源的干擾,進一步提高系統(tǒng)穩(wěn)定性[8]。
參考文獻:
[1]周健.基于機器視覺技術的自動報靶系統(tǒng)研究[D].湘潭大學,2014.
[2]胡宏健,張金林,張琪,邵旭.基于聲電定位的自動報靶器誤差分析[J].電聲技術,2011,35(09):31-33.
[3]申紅明,王桂星,王燊磊,曹永飛,楊永杰.基于CCD的激光槍自動射擊報靶裝置[J].電子世界,2013(23):106-107.
[4]魏義虎,陳雷.基于LabVIEW的激光模擬射擊自動報靶系統(tǒng)研究[J].現(xiàn)代電子技術,2015,38(20):114-116+120.
[5]陳海峰.基于圖像處理技術的自動報靶系統(tǒng)研究[D].南京航空航天大學,2005.
[6]杜紅棉,葛竹,孟曉山.基于圖像分割的效應靶自動報靶系統(tǒng)[J].科學技術與工程,2018,18(07):191-196.
[7]尹乾.基于圖像處理技術的自動報靶系統(tǒng)研究[D].重慶大學,2017.
[8]Ning J,Zhang L,Zhang D,et al.Robust mean-shift tracking with corrected background weighted histogram.Computer Vision,2012,6(01):62-69.