APP下载

基于Matlab的弹丸动态图像处理方法研究

2020-03-18吕慎川焦志刚郭秋萍朱春明

沈阳理工大学学报 2020年5期
关键词:弹体弹丸算子

吕慎川,焦志刚,郭秋萍,朱春明

(1.沈阳理工大学 装备工程学院,沈阳 110159;2.驻沈阳地区第二军事代表室,沈阳110043;3.重庆长安工业(集团)有限责任公司,重庆 401120)

弹药在发射后的弹道轨迹,是武器系统设计、性能分析、产品研制的重要基础[1]。火箭破甲弹在发射后具有速度快、时间短、火箭发动机二次点火等特点,测量此阶段弹药速度具有极高的复杂性。现代的测量方法主要有多普勒雷达法、红外光幕靶法、磁通量法、高速摄影法等,其中,高速摄影技术的快速发展,越来越多的应用于兵器科学研究中,例如测量弹药初速、破片飞散分布、火箭的出膛与燃烧、震动武器运动参数变化[2]等。

早在80年代,国内就有学者运用高速摄影图像研究弹丸飞行。王裕仁等利用激光照射弹丸提高亮度,透过背景屏形成清晰影像进行拍摄,减少炮口焰对速度测量和弹丸飞行状态研究的干扰[3]。

随着计算机图形学的逐渐成熟,将高速摄影与其结合形成的运动图像分析技术,使得高速摄影炮口测速技术迅速发展,测量数值越来越精准。

Zhang Y等运用双线阵CCD相交测量系统,对弹丸移动的位置和速度进行了研究,经过对系统进行误差分析和实验对比,证明系统满足测量要求[4]。刘泽庆等应用多台高速摄影机并引入位置预测算法,对测量破片速度与评估破片分布进行研究[5]。汤雪志等利用PCC软件对摄影图片进行手动测速,并与多普勒雷达测量结果进行比较,验证了高速摄影用于研究弹丸测速的可行性[6]。

本文对不同的弹箭图形处理方法进行比较,应用Matlab软件对某火箭破甲弹的高速摄影图片进行处理识别,精确测量出破甲弹位移量,实现对破甲弹的速度动态测量。

1 高速摄影图片拍摄与预处理

高速摄影具有较高的时间分辨能力,广泛用于冲击试验、材料试验、靶场弹道分析等领域。本文采用的是AMETEK公司的Phantom v2511高速摄影机,可以在1280×800分辨率下以超过25600fps的速度拍摄,或是在128×32分辨率下以1000000fps的速度拍摄,在研究高速运动物体中具有其他平台无法替代的优势。

对火箭破甲弹发射进行拍摄,可以研究其运动特性与运行状态,摄影器材见图1所示,具体拍摄参数见表1所示。

表1 拍摄参数

通过对0.33s内拍摄的1980张分辨率为1280×720的照片分析,图片的大部分区域为无有效信息的背景和杂乱的场地,先对图片的大小进行处理,在保证弹丸拥有有效且完整的运动区域的前提下,切割出最佳图片大小,减少图片计算时间,见图2所示,并确定炮口像素位置。

2 图片处理算法

图片处理的算法决定了破甲弹识别的准确性与识别速率,为得到精确的破甲弹位移与速度曲线,需要选取一种适合破甲弹这种带有长杆头部的特殊外形物体识别的算法。

2.1 边缘识别

边缘识别最通用的方法是检测亮度的不连续,分为寻找亮度的一阶导数比指定阈值大的位置,或亮度的二阶导数有零交叉的位置[7];其对应一阶边缘检测算子有Prewitt算子、Sobel算子、Roberts算子,二阶边缘检测算子有LoG算子、Canny算子。

图像处理中使用的一阶导数是由二元函数f(x,y)的梯度定义的向量,可表示为

(1)

式中:gx为x方向的梯度;gy为y方向的梯度。

向量幅值可表示为

(2)

梯度向量的最大变化率处发生的角度为

(3)

图像处理中的二阶导数是由二元函数f(x,y)的拉普拉斯二阶微分构成,可表示为

(4)

将裁剪好的图片分别使用一阶算子与二阶算子进行边缘识别,见图3、图4所示。

Roberts算子是在x和y两个方向上旋转45°进行梯度计算,定位精度高,在水平和垂直方向效果较好;Prewitt算子利用像素点的相邻点灰度差达到极值检测边缘,对灰度渐变和噪声较多的图像处理效果较好;Sobel算子是一组方向算子,从x与y方向检测边缘,对边缘定位比较准确[8]。对同一时刻图片使用不同一阶算子进行识别处理,通过分析图片并对比识别结果,发现Sobel算子最适合该组图片处理识别。

由于背景杂乱,使用LoG算子和Canny算子识别图像时,识别的无价值信息过多。使用一阶算子处理图像时,会产生因镜头污点而形成的噪声,进而对识别弹体造成影响。使用去掉小目标算法去掉镜头上的污点,同时也会去掉部分弹体信息,导致识别目标不准确。

为去除拍摄污点和背景噪声,使用拉普拉斯滤波器对图像进行增强,再运用Sobel算子进行边缘识别,最后使用去掉小目标算法可以很好地得到弹体,并且去除镜头上的斑点。识别后的图像见图5所示。

2.2 阈值处理(Otsu法)

Otsu阈值处理法是一种使类间方差最大的自动确定阈值的方法,以目标和背景的类间方差最大为阈值选取准则的方法,通过对像素类群进行灰度分类产生的最大方差灰度数值作为整体分割阈值,具有处理速度快、性能稳定、实现简单的特点[9]。

设图像像素为N,灰度范围为[0,L-1],对应灰度级i的像素为Ni,对应的几率为

(5)

把图像中的像素按灰度值用阈值T进行区分,分为灰度值在[0,T]之间的前景像素C0和[T+1,L-1]之间的背景像素C1两类,C0和C1的灰度均值分别为

(6)

(7)

整幅图像的灰度分布几率均值为

(8)

类间方差的定义可表示为

(9)

2.3 RGB识别

RGB图像在Matlab储存的是一个m×n×3的多维数据数组,每一个像素点的颜色由红f(R)、绿f(G)、蓝f(B)数值的不同而改变。破甲弹墨绿色弹体跟拍摄环境的背景颜色差异较大,控制RGB图像的三个分量f(R)、f(G)、f(B)的数值区间大小,便可以得到弹体指定颜色的分布。对于uint16类型的图像,色彩分量的取值范围为[0,65535]。

对比弹丸约束期、飞行阶段和火箭发动机二次点火阶段图像的颜色分布,破甲弹的弹翼至弹底部分,容易受到火箭发动机的火焰影响,银白色长杆头部与背景颜色较为接近,所以确定识别的颜色分量可以表示为

(10)

将同时满足3个分量条件的像素点颜色变为黑色[0,0,0],可以表示为

(11)

使用Matlab软件对符合条件的颜色进行识别,像素点主要分布在弹体的前端和发射炮管,通过二值化处理可方便找到弹体的前部轮廓,识别后的图像见图7所示。

对比不同算法处理的图像,边缘识别的破甲弹轮廓最清晰,弹体细节与发动机火焰都能被清晰描述,但由于长杆头部前端与背景较为接近,容易引起测量的轻微误差,影响速度的计算精度;Otsu阈值处理的轮廓较简洁,并且识别稳定,是一种识别弹体较好的方法;RGB图像处理在破甲弹飞行阶段可以很好地识别弹体,但在半约束期由于炮管和拍摄因素的干扰,对弹体轮廓识别有较大误差。三种算法流程图见图8所示。

3 曲线绘制与处理

使用Matlab软件对三种方法进行仿真,记录不同方法测量的数据并绘制位移与时间曲线,见图9所示。

图9中,边缘识别方法由于发射阶段噪声干扰,出现个别离散点;阈值处理得到曲线较为平滑;RGB方法由于飞行过程中弹体摆动,反射颜色的差异造成了间歇性误差。将位移与时间曲线去除数据误差点,并使用移动平均法对数据进行滤波[10],可以表示为

(12)

式中:y(n)为对下一期的预测值;N为平均项数;x(n)为前期实际值;x(n-1)为前两期实际值;x(n-N+1)为前n期的实际值。

边缘识别与阈值处理方法之间的路程差距,是不同方法识别的引信长度不同产生的。颜色识别与其他方法不同的是,识别战斗部前端的弹体与环境差异,其产生的位移与时间曲线与其他方法差别为杆形头部长度,通过初始长度识别的矫正可以使路程曲线基本一致。在同一时刻不同的算法所得数据相差1mm以内,都在可以接受的范围内。根据不同算法的识别特性,在半约束期阶段选用Otsu阈值处理算法;在飞行阶段选取Otsu阈值处理与RGB图像处理数据的平均值,构成更为精确的某火箭破甲弹的位移与时间曲线,见图10所示。

图10中通过将Otsu阈值处理与RGB图像处理相结合,得到平滑且连续的曲线。根据图像处理得到位移与时间函数x=f(t)。瞬时速度v为当Δt→0时,位移的改变量Δx与时间的改变量Δt比值的极限,可以表示为

(13)

式中x0为初始位移。

将所有瞬时速度组合在一起就得到了速度与时间曲线,见图11所示。

根据图11曲线可以看出某火箭破甲弹速度的变化,发射过程中弹丸速度增加,出炮口后受到空气阻力速度略有降低,火箭发动机二次点火后,弹丸速度进一步增加。

4 结论

在对某火箭破甲弹高速摄影图片识别中,边缘识别算法先使用拉普拉斯滤波器对图像进行增强,再选择Sobel算子边缘识别,识别弹体细节较多,但不适合火箭破甲弹弹体的测速;Otsu阈值处理识别的图像较为整洁,适合对火箭破甲弹弹体的测速;RGB处理识别弹体前部轮廓较为清晰,但只适合飞行阶段的识别。

使用多种识别方法,复合生成的射程与时间曲线更为精准,通过求得极限就可以实现对弹体速度的动态测量。

猜你喜欢

弹体弹丸算子
尾锥角对弹体斜侵彻过程中姿态的影响研究
非对称类椭圆截面弹体斜贯穿铝靶数值模拟研究
椭圆截面弹体斜侵彻金属靶体弹道研究*
有界线性算子及其函数的(R)性质
神秘的『弹丸』
无控旋转弹丸外弹道姿态测试与模型验证
弹体斜侵彻多层间隔钢靶的弹道特性
Domestication or Foreignization:A Cultural Choice
空化槽对弹丸水下运动特性的影响
复杂边界条件下弹丸热力耦合模型的挤进仿真