姜 曼 王 軍,2 王 磊 李 娜
1(蘇州科技大學電子與信息工程學院 江蘇 蘇州 215009)2(中國科學院長春光學精密機械與物理研究所 吉林 長春 130033)
炮彈發射前身管軸線與炮彈發射后初速度矢量之間的夾角稱為跳角。跳角是影響火炮射擊精度的重要參數之一,火炮的射擊精度越高,對目標的毀傷概率就越大。因此,準確測量火炮跳角,是火炮射擊精度快速分析和診斷的關鍵環節,也是設計高性能火炮切急需的[1]。
靶板法是目前廣泛采用的火炮跳角測量方法,在炮口前面給定靶距位置豎立一面靶板,火炮射擊后,彈丸在該靶板上留下彈孔,彈孔中心與靶板上瞄準中心之間的偏差量就表示跳角大小[2]。由于靶板法具有不能滿足大射角測量和測量效率低等固有缺陷,人們又提出了PSD法、陀螺儀法、線陣CCD立靶法和重疊法等改進方法。PSD法能快速給出跳角時間曲線和幅值,但在炮口振動高加速度情況下,給PSD工作可靠性帶來了技術挑戰,因此目前為止,還未有火炮射擊條件下PSD法跳角測量的文獻報道[3]。陀螺儀法主要應用于坦克炮,而且陀螺儀由于炮口振動加速度太大而不能正常工作,有用信號與干擾信號不能有效分離,最終不能達到設計目的[4]。線陣CCD立靶法的優點是用光幕靶代替靶板,立靶不影響彈丸飛行姿態,能快速自動給出測量結果,初速和跳角能同時測量,節省彈藥,其缺點為可能出現漏測現象,位移分辨率還有待提高[5-6]。
本文針對跳角測量方法效率低、誤差大、實用性小、測量范圍窄等缺點,提出一種基于圖像處理的炮彈跳角計算測量方法。火炮跳角測量的精準度主要取決于炮口中心位置和火炮射擊目標的瞄準,因而準確定位炮口中心的坐標位置十分重要,故本文側重于研究測量過程中的關鍵算法——炮口圖像中心定位算法。
基于圖像處理的炮彈跳角計算檢測原理是在炮筒中放入CCD相機,用來采集炮筒出炮口的圖像,通過改進的圓擬合算法得到出炮口的中心位置O。根據雙目的標定得到炮彈射擊目標的位置坐標P1,當炮口中心位置O瞄準射擊目標P1,則炮彈發射前炮口身管軸線矢量方向為OP1,炮彈射擊后,擬合炮彈運動軌跡,炮彈在飛行過程中受到重力下降的影響經過射擊目標所在平面形成著彈點P2,根據重力下降計算得出炮彈初速度矢量的方向OP3,然后求解炮彈初速度矢量與發射前炮口身管軸線之間夾角θ,即為火炮的跳角測量值。基于圖像處理的炮彈跳角測量示意圖如圖1所示。

圖1 基于圖像處理的炮彈跳角測量示意圖
圖2為基于圖像處理的炮彈跳角計算流程。

圖2 基于圖像處理的炮彈跳角計算流程
炮彈發射前身管軸線與炮彈發射后初速度矢量之間的夾角稱為跳角,而炮彈發射前炮口身管軸線主要取決于炮口中心位置和射擊目標的校準,因此高效精準的炮口中心定位算法十分重要。
基于圓擬合的檢測炮口中心的算法的依據是:基于最小二乘法圓擬合原理(最小殘差平方和)來逼近炮筒出炮口的輪廓[7-8]。然后求解得出炮口的中心位置。圓的參數方程如下:
(x-a)2+(y-b)2=r2
(1)
在此,取殘差為:
εi=(xi-a)2+(yi-b)2-r2
(2)
式中,i∈E,E表示所有邊界的集合;(xi,yi)為圖像邊界點的坐標。
殘差的平方和如下:
(3)
根據最小二乘原理,可知:
(4)
由式(3)和式(4)可得:
(5)
式中:
(6)
由此可以推算出參數a、b、r的表達式,即圓參數:
(7)
根據計算過程,可以看出基于最小二乘原理的圓擬合方法雖然形式略復雜,但是基于此算法的炮口中心定位算法僅需對邊界點循環一次就可計算出各圓參數,半徑r也只需計算一次就可獲得,因此算法的整個計算速度很快。算法還能夠多次迭代,運算的精度很高[9-10]。
但是基于最小二乘原理的圓擬合算法抗干擾能力比較差,當存在隨機噪聲時,計算得到的中心位置的精確度會明顯降低;當遇到外界的強干擾時,得到的中心位置甚至可能會有很大的偏差[11-12]。
針對最小二乘法炮口中心定位算法的抗干擾能力差的缺點和火炮炮口圖像特征明顯的特點,本文在圓擬合算法的基礎上進行改進,以提高算法的抗干擾能力和炮口中心定位的精度。結合炮口采集圖像的特征,對各種外界干擾噪聲進行濾除,來達到提高抗干擾的目的,改進算法主要分以下4個部分:(1) 如圖3(b)、(c)所示,為了方便提取圖像信息,對原始圖像進行灰度化和二值化,圖像二值化后可以大幅減少圖像中的數據量,同時能凸顯出目標物體的輪廓;(2) 如圖3(d)所示,對圖像進行平滑濾波操作,圖像濾波處理不僅能夠去除一些噪聲,還可以保留圖像的邊緣信息,有利于圖像的進一步處理;(3) 如圖3(e)所示,對濾波后的圖像進行邊緣檢測,邊緣檢測算子選擇Canny算子,Canny算子相比于其他算子能更好地保留物體邊緣;(4) 如圖3(f)所示,對圖像進行圓擬合,得出炮口中心位置,以便炮口中心位置與射擊目標位置的瞄準。

(a) 炮口原圖 (b) 圖像灰度化 (c) 二值化圖片

(d) 高斯平滑濾波 (e) 提取邊緣 (f) 中心定位圖3 改進算法圖像處理分析
改進算法的基本流程圖如圖4所示。

圖4 改進算法的基本流程圖
本文使用DALSA公司1M60相機采集炮口圖像,將CCD測量相機裝置放入火炮炮筒中,該CCD相機圖像傳感器的中心點與火炮瞄準光軸對齊。采集到的炮口圖像的大小為1 024×1 024像素,在實驗中,采集10組炮口圖像,用傳統的最小二乘圓擬合算法、霍夫算法[13-14]和本文改進的算法對炮口圖像中心進行定位處理后,處理結果如表1所示。理想的炮口圖像中心像素坐標為(511.00,511.00),霍夫算法的中心坐標為(511.884,511.768),最小二乘算法得到的中心位置坐標為(511.499,510.515),本文算法的中心坐標為(511.116,511.138)。三組中心位置和實際理論坐標的誤差散點圖如圖5所示,可以看出,最小二乘圓擬合算法的中心測量精度高于霍夫算法,但本文算法與最小二乘法圓擬合算法相比,穩定性好,精度高,算法誤差在0.20個像素以內,具有較高的精度。

表1 炮口圖像中心算法計算結果對比分析 像素

圖5 誤差散點圖
當炮口中心位置和射擊目標精準對準時,根據雙目相機的標定,建立三維世界坐標,建立以炮彈射擊目標所在平面W深度方向為Y軸,水平垂直于Y軸方向為X軸,豎直垂直于Y面方向為Z軸建立三維坐標系,如圖6所示。

圖6 火炮跳角計算示意圖

炮彈初速度矢量的方向為:
炮彈發射前炮口身管軸線矢量方向為:
OP1=(x1,-x0,y1-y0,z1-z0)
跳角定義得跳角θ=γ-φ。其中,γ和φ的表達式為:
(8)
(9)
則跳角θ的大小為:
(10)
本文通過對圓擬合算法的改進,有效地減少了圖像采集時所引入的噪聲,提高了抗干擾性,綜合考慮CCD圖像畸變,圖像采集處理所產生的誤差,基于圖像視覺的火炮跳角測量方法的檢測誤差遠小于人工測量誤差。其實用性、可行性,對部隊檢測火炮射擊精度具有極大幫助。該系統已開始應用于部隊火炮的跳角檢測測量中,正在進一步推廣。