周 鵬,李長楨,鄭 毅,韓 隆
(華北光電技術(shù)研究所,北京 100015)
近年來,隨著激光技術(shù)的快速發(fā)展,光電設(shè)備在模擬訓(xùn)練器材中的應(yīng)用越發(fā)成熟,以激光打靶來代替實(shí)彈射擊的激光模擬射擊廣泛應(yīng)用于競技射擊、軍事訓(xùn)練以及仿真射擊娛樂項(xiàng)目中[1-3]。
激光模擬射擊自動(dòng)報(bào)靶系統(tǒng)中命中環(huán)數(shù)的采集方式分為基于光電傳感式和基于圖像處理兩種類型。光電傳感式報(bào)靶系統(tǒng)采用安裝在靶上的光電傳感器陣列探測激光,自動(dòng)報(bào)靶速度快,但其報(bào)靶精度與光電傳感器密度相關(guān),精度越高所需要光電傳感器密度越高,而成本也越高,還存在抗干擾能力差、安裝復(fù)雜、維護(hù)困難等缺點(diǎn)[4-5]。圖像處理式報(bào)靶采用高清攝像技術(shù)采集靶面圖像,通過圖像處理算法對靶面圖像進(jìn)行處理,計(jì)算出命中環(huán)數(shù),從而完成報(bào)靶,其報(bào)靶精度高,且系統(tǒng)硬件成本低,安裝維護(hù)方便,能夠在復(fù)雜光線環(huán)境下穩(wěn)定運(yùn)行[6]。
圖像處理式報(bào)靶系統(tǒng)通過計(jì)算圖像中激光光斑中心與靶環(huán)中心之間的距離來確定命中環(huán)數(shù),其結(jié)果是否準(zhǔn)確可靠取決于是否能夠準(zhǔn)確找到圖像中靶環(huán)的中心和激光光斑的中心。文獻(xiàn)[7]中以10環(huán)小圓內(nèi)所有像素點(diǎn)坐標(biāo)值的平均值作為靶環(huán)的中心,通過圖像相減來提取激光光斑,并采用灰度重心法計(jì)算其中心,進(jìn)而計(jì)算出命中環(huán)數(shù);文獻(xiàn)[8]在確定靶環(huán)中心時(shí)通過提取環(huán)線進(jìn)行圓擬合得到圓心作為靶環(huán)中心,通過圖像相減來提取激光光斑,以光斑輪廓的最大內(nèi)接圓表示光斑區(qū)域,圓心為光斑中心,進(jìn)而計(jì)算出命中環(huán)數(shù)。這些方法在光斑形狀規(guī)則、亮度均勻,且圖像沒有畸變的情況下,計(jì)算結(jié)果是準(zhǔn)確可靠的。但是在實(shí)際應(yīng)用中,光斑形狀不規(guī)則、亮度不均勻、雜光等會(huì)影響光斑中心計(jì)算精度,并且攝像機(jī)鏡頭的光學(xué)畸變和拍攝角度的問題會(huì)使采集到的靶面圖像有畸變,在畸變的圖像中使用上述方法進(jìn)行計(jì)算,得到靶環(huán)中心和光斑中心會(huì)存在較大誤差,對于一些報(bào)靶精度要求很高的應(yīng)用場景如競技射擊運(yùn)動(dòng)中,這樣的誤差超出了允許范圍,計(jì)算出的結(jié)果不能代表運(yùn)動(dòng)員的真實(shí)射擊成績。針對上述問題,本文提出一種高精度命中環(huán)數(shù)算法,利用參考點(diǎn)來確定靶環(huán)中心,根據(jù)光斑實(shí)際情況改進(jìn)光斑中心算法,通過圖像中參考點(diǎn)與實(shí)際參考點(diǎn)位置對應(yīng)關(guān)系來校正靶面圖像中畸變的點(diǎn),得到準(zhǔn)確的光斑中心及靶環(huán)中心,進(jìn)而計(jì)算出準(zhǔn)確的命中環(huán)數(shù),提高了命中環(huán)數(shù)的精度。
本文所述算法實(shí)際應(yīng)用的激光模擬射擊系統(tǒng)主要由仿真激光槍、靶、攝像機(jī)、主機(jī)和顯示終端組成,如圖1所示。系統(tǒng)工作時(shí),仿真激光槍在發(fā)射激光的同時(shí)通過無線傳輸?shù)姆绞桨l(fā)射同步信號,主機(jī)接收到同步信號后給控制攝像機(jī)采集靶面圖像,然后對圖像進(jìn)行處理,通過命中環(huán)數(shù)算法計(jì)算出激光光斑命中的環(huán)數(shù),在顯示終端的上顯示命中環(huán)數(shù)與命中點(diǎn)位置并語音報(bào)靶。
圖1 激光模擬射擊系統(tǒng)示意圖Fig.1 Laser simulation shooting system
攝像機(jī)置于靶面正后方的封閉腔體中,且靶面不能透過環(huán)境光,只能透過激光器發(fā)出的激光,所以攝像機(jī)只能采集到的圖像中只有激光光斑而沒有靶環(huán),因此需要在靶面上設(shè)置參考點(diǎn),通過參考點(diǎn)來建立靶面坐標(biāo)系,以此確定靶環(huán)中心及激光光斑中心在靶面上的位置,從而計(jì)算出命中環(huán)數(shù)。靶面圖案及參考點(diǎn)位置如圖2所示,靶面上共有8個(gè)參考點(diǎn),為靶面上一正方形的四個(gè)頂點(diǎn)和四邊中點(diǎn),靶環(huán)區(qū)域位于正方形中央,并且靶環(huán)中心與正方形中心重合。
圖2 靶面示意圖Fig.2 Target
攝像機(jī)通過鏡頭在圖像傳感器上所成的像為倒立縮小的實(shí)像,可將其簡化為小孔成像模型,物體P在像平面上成倒立的實(shí)像P′,為了便于分析,假設(shè)將像平面移至物方,所成像為正立的實(shí)像P″,大小與P′相等,如圖3所示。
圖3 小孔成像模型示意圖Fig.3 The pinhole imaging model
在鏡頭沒有畸變的情況下,物平面上的所有物點(diǎn)與像平面對應(yīng)像點(diǎn)的連線交于小孔中心點(diǎn)O,成像的過程即為物平面上的上的物點(diǎn)以中心O為基準(zhǔn),投影成像平面上的像點(diǎn),所以攝像機(jī)成像過程是單點(diǎn)透視投影[9],攝像機(jī)拍攝靶面時(shí)將靶面經(jīng)過透視變換,生成另一個(gè)平面圖像。如圖4所示,當(dāng)正方形ABCD所在平面與光軸OZ垂直時(shí),也即物平面與像平面平行,此時(shí)像平面上投影生成的四邊形A′B′C′D′仍為正方形,只是大小發(fā)生變化而沒有出現(xiàn)變形,這種投影稱為正投影。
圖4 透視投影示意圖Fig.4 Perspective projection
但是在實(shí)際應(yīng)用中,此激光模擬射擊系統(tǒng)基于成本的限制和安裝維護(hù)便利性的考慮,攝像機(jī)與靶均采用較為簡單的結(jié)構(gòu)進(jìn)行安裝固定。由于沒有光學(xué)基準(zhǔn)面,安裝時(shí)無法確保攝像機(jī)光軸對準(zhǔn)靶環(huán)中心且像平面與靶面平行,會(huì)使得攝像機(jī)拍攝到的靶面圖像存在透視變形,即四邊形A′B′C′D′不再是正方形,表現(xiàn)為“近大遠(yuǎn)小”,透視變形是造成圖像畸變的原因之一。
造成圖像畸變的另一個(gè)原因是鏡頭的光學(xué)畸變。鏡頭光學(xué)畸變屬于非線性畸變[10-11],主要有徑向畸變、偏心畸變和薄棱鏡畸變。其中徑向畸變是指所成像點(diǎn)相對于理想像點(diǎn)位置發(fā)生徑向偏移,是共軸球面光學(xué)系統(tǒng)中的一種像差,光學(xué)系統(tǒng)設(shè)計(jì)時(shí)就存在,對圖像的影響最為顯著;偏心畸變和薄棱鏡畸變是由于透鏡在制造、裝配過程中存在誤差而產(chǎn)生的,通常情況下對圖像影響較小,本文主要考慮徑向畸變。
徑向畸變的大小與像點(diǎn)到光軸即圖像中心的大小有關(guān),圖像中心處無畸變,隨著所成像由中心向邊緣移動(dòng),徑向畸變就會(huì)越來越大。當(dāng)像點(diǎn)相對于理想像點(diǎn)位置朝著圖像中心方向移動(dòng)時(shí),會(huì)產(chǎn)生負(fù)畸變,也叫桶形畸變,如圖5(b)所示,多出現(xiàn)在廣角鏡頭中,并且鏡頭視場角越大,圖像畸變也越大;反之,當(dāng)像點(diǎn)對于理想像點(diǎn)位置朝著遠(yuǎn)離圖像中心方向移動(dòng)時(shí),則會(huì)產(chǎn)生正畸變,也叫枕形畸變,如圖5(c)所示,一般出現(xiàn)在長焦鏡頭中。
圖5 徑向畸變示意圖Fig.5 Radial distortion
在透視變形與鏡頭光學(xué)畸變的共同作用下,攝像機(jī)拍攝到的靶面圖像會(huì)出現(xiàn)非線性畸變。這種非線性畸變會(huì)導(dǎo)致圖像上靶環(huán)中心的定位存在誤差,并且圖像中靶環(huán)中心到光斑中心的距離與真實(shí)距離不再是簡單的線性對應(yīng)關(guān)系,若以此直接計(jì)算命中環(huán)數(shù),最后得到的結(jié)果與真實(shí)命中環(huán)數(shù)會(huì)存在較大誤差。
除了圖像畸變會(huì)對計(jì)算得到的命中環(huán)數(shù)產(chǎn)生影響外,光斑中心定位是否準(zhǔn)確也會(huì)影響命中環(huán)數(shù)結(jié)果。常用的光斑中心定位算法有灰度重心法、圓擬合法和高斯擬合法等[12]。灰度重心法適用于光斑清晰且分布均勻的情況,其優(yōu)點(diǎn)是計(jì)算速度快,但對于分布不均勻的光斑,使用這種方法將產(chǎn)生較大誤差。圓擬合法計(jì)算速度快、精度高,但抗干擾能力較差,當(dāng)噪聲存在時(shí),會(huì)導(dǎo)致光斑中心定位精度降低,噪聲較大甚至?xí)a(chǎn)生錯(cuò)誤結(jié)果。高斯擬合法適用于激光實(shí)際光強(qiáng)分布符合高斯分布的情況,對于較為理想的光斑其計(jì)算精度高,其缺點(diǎn)是計(jì)算耗時(shí),實(shí)時(shí)性差。
為了消除由于圖像畸變和光斑中心定位誤差對命中環(huán)數(shù)的影響,提高命中環(huán)數(shù)精度,本文提出一種高精度命中環(huán)數(shù)算法,算法流程如圖6所示。
圖6 命中環(huán)數(shù)計(jì)算流程Fig.6 Calculation process of hit rings
①對原始靶面圖像進(jìn)行高斯濾波降噪的預(yù)處理,然后設(shè)置閾值對圖像行進(jìn)二值化處理;
②利用角點(diǎn)檢測算法計(jì)算出8個(gè)參考點(diǎn)坐標(biāo);
③在命中判別區(qū)域中利用改進(jìn)的灰度重心法計(jì)算光斑中心坐標(biāo);
④利用中點(diǎn)參考點(diǎn)計(jì)算出透視投影變換系數(shù),對原始靶面圖像進(jìn)行透視變形校正,得到校正后的參考點(diǎn)坐標(biāo)和光斑中心坐標(biāo);利用8個(gè)參考點(diǎn)計(jì)算出徑向畸變系數(shù),對透視變形校正后的靶面圖像進(jìn)行徑向畸變校正,得到無畸變的參考點(diǎn)坐標(biāo)、光斑中心坐標(biāo)和靶環(huán)中心坐標(biāo);
⑤通過無畸變靶面圖像上參考點(diǎn)之間的像素距離與實(shí)際靶面上參考點(diǎn)之間的距離對應(yīng)關(guān)系,計(jì)算出實(shí)際靶面上光斑中心到靶環(huán)中心的距離,根據(jù)環(huán)數(shù)規(guī)則計(jì)算出命中環(huán)數(shù)。
攝像機(jī)拍攝到的光斑圖像如圖7(a)所示,中央亮斑亮度均勻但其周圍有散斑,因此不能直接采用灰度重心法計(jì)算光斑中心。通過對圖像分析可知,圖像中散斑像素的灰度值約為中央亮斑像素灰度值的80 %。為了提取出清晰且均勻的光斑,將光斑所在區(qū)域最大像素灰度值的85 %作為閾值對圖像進(jìn)行二值化處理,處理完得到的光斑圖像如圖7(b)所示。
圖7 激光光斑示意圖Fig.7 Laser spot
然后利用灰度重心法計(jì)算光斑中心坐標(biāo),公式如下:
(1)
其中,M、N為圖像各分區(qū)的寬高像素?cái)?shù);G(i,j)為圖像二值化后像素點(diǎn)的值,取值為0或1。
用攝像機(jī)采集靶面圖像的過程可分解為如下步驟,首先真實(shí)的靶面經(jīng)過透視投影,在攝像機(jī)圖像傳感器所在平面上形成有透視變形的靶面圖像,此圖像再經(jīng)過鏡頭徑向畸變作用,得到畸變后的靶面圖像,然后再經(jīng)過圖像傳感器數(shù)字化、離散化處理,最終得到一幅有畸變的靶面圖像。因此,在校正圖像畸變時(shí),可分為兩步,先校正透視變形,然后校正徑向畸變。
透視變形校正是將畸變圖像上的各點(diǎn)經(jīng)過透視投影,變換到與實(shí)際靶面平行的一個(gè)平面上,這個(gè)平面與實(shí)際靶面的投影關(guān)系為正投影,由于正投影不改變圖形的形狀,所以通過此透視投影即可消除透視變形。
設(shè)物平面上一點(diǎn)Q在物平面坐標(biāo)系上的坐標(biāo)為(x,y),其齊次坐標(biāo)為(x,y,1),經(jīng)透視投影后得到點(diǎn)Q′,點(diǎn)Q′的齊次坐標(biāo)為(x0,y0,w),點(diǎn)Q′在像平面坐標(biāo)系的坐標(biāo)為(x′,y′),則透視投影變換可表示為:
(2)
變換矩陣中的a33代表縮放因子,可令a33=1,將(2)式展開可得
(3)
由此式可將透視投影中兩個(gè)平面上的點(diǎn)的坐標(biāo)進(jìn)行相互轉(zhuǎn)換[13]。
由公式(3)可知,透視投影變換中一個(gè)點(diǎn)對可以產(chǎn)生兩個(gè)方程,要想求解8個(gè)未知的變換系數(shù),需要不共線的4個(gè)點(diǎn)對提供8個(gè)方程來進(jìn)行求解。因?yàn)閳D像存在徑向畸變,畸變圖像中的8個(gè)參考點(diǎn)不再是正方形的頂點(diǎn)和各邊中點(diǎn),根據(jù)徑向畸變的特性,作為各邊中點(diǎn)的參考點(diǎn)距離圖像中心距離更近,徑向畸變也越小。因此,在校正透視變形時(shí)用各邊中點(diǎn)的參考點(diǎn)進(jìn)行計(jì)算,誤差更小。
MA=U
(4)
其中M為8階方陣,A為投影變換系數(shù)組成的列向量,U為投影變換后的參考點(diǎn)坐標(biāo)組成的列向量,則:
A=M-1U
(5)
由此可以求解出投影變換系數(shù),再將畸變圖像中光斑中心點(diǎn)、圖像中心和其余參考點(diǎn)的坐標(biāo)代入公式(3),即可求出經(jīng)過投影變換后的對應(yīng)點(diǎn)坐標(biāo)。
在經(jīng)過透視變形校正的圖像中,以圖像中心為徑向畸變中心點(diǎn),徑向畸變模型[14-16]如下:
(6)
(7)
其中,Spixel為像元的實(shí)際尺寸。根據(jù)理想共軸球面光學(xué)系統(tǒng)垂軸放大率公式[17],可計(jì)算出對應(yīng)的無畸變理想像高rui為
(8)
其中,f為鏡頭焦距;l為靶面到攝像頭的距離,即物距,當(dāng)靶環(huán)中心與圖像中心重合時(shí),r為實(shí)際靶面上參考點(diǎn)到靶環(huán)中心的距離,若靶環(huán)中心與圖像中心不重合,計(jì)算r時(shí)需要將靶環(huán)中心與畸變中心的偏移量一起納入計(jì)算。
將各參考點(diǎn)的畸變像高rdi與無畸變像高rui以及畸變中心點(diǎn)代入公式(6),采用最小二乘法求解出徑向畸變系數(shù)k1、k2、k3。再利用公式(6),可求解出經(jīng)過透視變形校正的圖像中各點(diǎn)(u′,v′)經(jīng)過徑向畸變正后的坐標(biāo)(xu,yu),公式如下:
(9)
由此可計(jì)算出在無畸變圖像中各參考點(diǎn)、光斑中心點(diǎn)和靶環(huán)中心的坐標(biāo)。
在無畸變靶面圖像中,將坐標(biāo)原點(diǎn)移至靶環(huán)中心,設(shè)此時(shí)光斑中心的坐標(biāo)為(xL,yL),在實(shí)際靶面上光斑中心到靶環(huán)中心的距離LLT為
(10)
真實(shí)的子彈打在靶面上會(huì)產(chǎn)生一個(gè)彈孔,命中環(huán)數(shù)是根據(jù)彈孔邊緣與靶環(huán)中心最近的距離來計(jì)算,激光模擬射擊在計(jì)算命中環(huán)數(shù)時(shí)需要以光斑中心為圓心、與真實(shí)子彈彈孔直徑相等的圓來模擬彈孔,計(jì)算出準(zhǔn)確的命中環(huán)數(shù)。因此,計(jì)算環(huán)數(shù)時(shí)還需要用光斑中心到靶環(huán)中心的距離LLT減去彈孔的半徑,再判斷這個(gè)距離屬于幾環(huán)區(qū)域,從而得到準(zhǔn)確的命中環(huán)數(shù)。以下圖8所示為例,雖然光斑中心在2環(huán)與三環(huán)之間,但激光射擊后產(chǎn)生的“彈孔”已經(jīng)跨過3環(huán)線,因此此次射擊的命中環(huán)數(shù)為3環(huán)。
圖8 環(huán)數(shù)計(jì)算示意圖Fig.8 Hit rings calculation
為了驗(yàn)證本文算法的精度與可靠性,設(shè)計(jì)并進(jìn)行了如下實(shí)驗(yàn)。
激光器采用波長650 nm的半導(dǎo)體激光器,功率為5 mW,激光器與目標(biāo)靶之間距離為10 m,出射激光打到靶上的光斑直徑約3 mm,模擬直徑為4.5 mm的鉛彈。目標(biāo)靶采用10 m氣步槍靶,1環(huán)為直徑45.5 mm的圓,環(huán)間距2.5 mm,環(huán)線寬度0.1~0.2 mm,9環(huán)為直徑5.5 mm圓,10環(huán)為中心處直徑0.5 mm的點(diǎn)。靶環(huán)圖案印刷在透明有機(jī)玻璃板一面上,在靶環(huán)四周預(yù)留8個(gè)透光區(qū)域,其中心角點(diǎn)作為參考點(diǎn),參考點(diǎn)組成的正方形邊長為180 mm,除參考點(diǎn)區(qū)域外其余部分均不透光,僅能透過激光器發(fā)出的激光,靶板安裝在封閉腔開口處,如圖9所示。
圖9 靶板及其安裝示意圖Fig.9 Target plate and its installation
采集圖像所用攝像機(jī)為黑白的工業(yè)相機(jī),其像元大小為4.8 μm,鏡頭為廣角鏡頭,焦距4 mm,攝像機(jī)安裝在封閉腔內(nèi)部、靶板的正后方,圖像中心對準(zhǔn)靶環(huán)中心且光軸垂直于靶面,相機(jī)與靶板之間的距離為159 mm。攝像機(jī)與電腦相連,采集到圖像后傳輸至電腦,用MATLAB編寫的命中環(huán)數(shù)算法程序進(jìn)行處理計(jì)算,采集到的靶面圖像如圖10所示。
圖10 攝像機(jī)采集到的靶面圖像Fig.10 Target image captured by camera
激光器射擊15次,原始靶面圖像直接計(jì)算出的命中環(huán)數(shù)、本文算法計(jì)算出的命中環(huán)數(shù)與實(shí)際命中環(huán)數(shù)結(jié)果如表1所示。
從表1中數(shù)據(jù)可以看出,15次射擊中,本文算法計(jì)算出的命中環(huán)數(shù)有14次與實(shí)際命中環(huán)數(shù)一致,僅有1次比實(shí)際命中環(huán)數(shù)小0.1環(huán);而用原始靶面圖像直接計(jì)算的命中環(huán)數(shù)結(jié)果僅有10次與實(shí)際命中環(huán)數(shù)一致,在命中環(huán)數(shù)不一致的5次中,有4次比實(shí)際命中環(huán)數(shù)小0.1環(huán),1次小0.2環(huán)。由此可知,本文算法的命中環(huán)數(shù)結(jié)果更接近真實(shí)命中環(huán)數(shù)。與環(huán)數(shù)對應(yīng)的光斑中心到靶環(huán)中心距離如表2所示。
表1 命中環(huán)數(shù)結(jié)果對比Tab.1 Comparison of hit rings
表2 光斑中心到靶環(huán)中心距離結(jié)果對比Tab.2 Comparison of the distance between the center of the spot and the center of the target rings
從表2中數(shù)據(jù)可知,在每次射擊中,本文算法得到的光斑中心到靶環(huán)中心的距離與實(shí)際值的距離誤差均小于直接用原始靶面圖像計(jì)算得到的距離與實(shí)際值的距離誤差,本文算法距離誤差最大值為0.0661 mm,而直接用原始靶面圖像計(jì)算的距離誤差最大值為0.4763 mm,也就說明本文算法得到的光斑中心到靶環(huán)中心的距離更接近于實(shí)際值。此外,由于靶板和攝像機(jī)的安裝誤差,導(dǎo)致靶環(huán)中心與圖像不重合,使得光斑在靶面不同方向上的距離誤差大小不一致,總體上,越靠近靶環(huán)中心,距離誤差越小。
由以上實(shí)驗(yàn)結(jié)果可知,本文算法能夠有效地消除圖像畸變和光斑中心定位帶來的誤差,提高命中環(huán)數(shù)精度,其命中環(huán)數(shù)達(dá)到0.1環(huán)級別,光斑中心在靶面上的定位精度達(dá)到0.1 mm級,能代表真實(shí)射擊命中環(huán)數(shù)。
本文通過對命中環(huán)數(shù)誤差來源分析,針對由于圖像畸變和光斑中心定位誤差而造成命中環(huán)數(shù)計(jì)算結(jié)果與實(shí)際值偏差較大的問題,提出一種高精度命中環(huán)數(shù)算法。算法通過參考點(diǎn)確定靶環(huán)中心,采用帶閾值處理的灰度重心法計(jì)算光斑中心,利用參考點(diǎn)對畸變圖像進(jìn)行透視變形校正和徑向畸變校正,消除因圖像畸變而帶來的計(jì)算誤差,最后計(jì)算出準(zhǔn)確的射擊命中環(huán)數(shù)。實(shí)驗(yàn)結(jié)果表明,本文算法相比于不考慮圖像畸變的環(huán)數(shù)計(jì)算結(jié)果更為準(zhǔn)確,精度更高,能有效提高命中環(huán)數(shù)精度,其命中環(huán)數(shù)達(dá)到0.1環(huán)級別,光斑中心在靶面上的定位精度達(dá)到0.1 mm級,能代表真實(shí)射擊成績,在激光模擬射擊中具有實(shí)用意義。