基于双目视觉的弹丸外弹道轨迹测试
2022-04-27熊德华顾金良刘志宇
熊德华,顾金良,李 建,刘志宇
(1.南京理工大学 瞬态物理国家重点实验室,南京 210094;2.内蒙古北方重工业集团有限公司 南京研发中心,南京 210000)
弹道轨迹作为重要的外弹道参数,对其进行精确测量,是分析武器系统作战性能,确保准确命中、致命打击的关键[1]。然而现有高精度测量方式存在设备复杂、生产维护成本高、不能灵活部署等缺点,使得寻求一种相对轻量而高效的测量方式成为关注要点。提出一种基于双目视觉定位技术的弹丸外弹道轨迹测量方法:利用两台高速摄像机构建双目汇聚系统,沿着射向对弹丸出炮口后的某一外弹道区段进行高帧率同步拍摄,获取一系列连续帧清晰图像对,后续通过轮廓检测算法计算弹丸底部轮廓并提取中心点,再由同一时刻拍摄的左右图像中的弹底中心坐标,利用双目视觉视差法重构出弹丸每一时刻的空间三维坐标,并生成弹道轨迹。相较于单个摄像机测定目标空间坐标的方法[2],双目视觉测量系统具有明显的优势。一方面利用两台摄像机的关联性,可进一步提高单目在非深度方向的坐标测量精度,此外冗余信息的加入也使算法的鲁棒性得以提高,有助于适应复杂的测试环境;另一方面,单目深度估计受限于自身算法的精度,误差往往较大,而双目测量系统模拟人类视觉结构,基于“视差” 的算法对深度方向的感知具有先天的优势,将有效提高深度估计精度。
过去一段时间里,双目视觉技术在弹丸外弹道测试领域的应用着重于弹丸姿态测试,其角度静态测量误差可小于0.35°[3]。目前而言,还没有针对枪弹这类小口径弹丸应用双目视觉定位技术在较低分辨率和户外复杂环境下实现弹道轨迹测量的先例,该应用将为弹丸外弹道轨迹测试提供新的可选方案。
1 双目测量原理
1.1 视差法测量原理
双目立体视觉测量系统的常见结构有两种:光轴平行结构和光轴汇聚结构[4]。其中光轴平行结构是一种理想结构,实际应用中一般采用单个摄像机在光滑水平轨道上平移来实现,常用于拍摄静物获取静态图,无法完成高速运动弹丸的同步拍摄。此外,轨迹测试一般要求两台高速摄像机的交叉视场能够覆盖较长的弹道区段,同时,弹丸作为小目标,考虑算法处理精度的影响,应使拍摄视场尽可能小,因此若采用平行结构,系统基线将会大幅缩短,以致测试系统无法布设在枪炮的安全区域内。基于以上原因,选择采用双目汇聚结构。而视差法解算空间点三维坐标的前提是左右图像位于同一平面且行对准[5],因此须事先校正图像对。行对准平行双目定位模型如图1所示。
图1 双目定位模型Fig.1 Binocular positioning model
图1中,Ol-XcYcZc为左摄像机校正坐标系,xyz为炮口坐标系。假设点P 为弹丸表面任一参考特征点,其空间坐标记为(Xc,Yc,Zc),从图中可以看出,点P 的位置能被唯一确定,即为射线OlPl与OrPr的交点。将点P 投影到水平面XcOlZc,投影点为P′,根据相似三角形原理,点P 在左摄像机坐标系下的深度Xc计算式为
式中:fz表示像素尺寸焦距;T 为双目基线距;ul0与ur0分别为左、右主点的横坐标值;ul与ur之差称为同名像点pl与pr间的“视差”。仍由三角形相似关系可知,点P 在左摄像机坐标系下的横坐标Zc与纵坐标Yc的计算式分别为
式(3)中:ay与az分别表示左摄像机图像传感器像元在竖直和水平方向的尺寸,二者近似相等。综上可知,在己知双目测量系统内、外参数的情况下,可由校正后的左右图像上的对应像点重构出该空间点在左摄像机校正坐标系下的三维坐标。
1.2 视差法精度分析
精度是双目立体视觉测量系统中需要解决的关键问题,对其进行定量分析有助于指导系统设计和精度优化。现假设左右摄像机各项参数完全相同,则式(1)可简化为
式中:f 和d 分别为物理尺寸的焦距和视差值。利用式(1)将式(2)和式(3)改写为
式中:z,y分别为左像点在图像坐标系下的横、纵坐标值。由式(4)、式(5)和式(6)可知,在双目系统硬件参数f,T 固定的情况下,待测空间点各坐标分量的值与对应像点的坐标值直接相关,因此Xc,Yc,Zc坐标分量的误差即为像点定位误差的空间偏差值。假设像点的定位精度为整像素精度,其大小即为像元尺寸s。现记像点的y,z 坐标分量精度分别为sy和sz,则sy=sz=s。而视差的精度sd一般稍高于y,z 的精度[6],通常可由式(7)进行估计[7]:
式(4)中Xc对视差d 计算偏导,并最终求得Xc方向的测量精度为
式(5)中Zc分别对Xc和z 计算偏导,并求得Zc方向的测量精度为
同理,Yc方向的测量精度为
综上可知,在未考虑双目标定、图像对立体校正、同名像点匹配、目标像点提取等算法计算精度的情况下,双目测量系统的精度主要与基线距、镜头焦距、像元尺寸、测量距离等因素有关。
2 测量系统实现
2.1 系统组成
测量系统主要由信号触发部分、图像采集部分、工控机控制部分、数据处理部分和辅助测量部分组成,如图2所示。
图2 测量系统组成Fig.2 Composition of measurement system
测试前,借助高精度棋盘格标定板对系统内、外参数进行标定。测试时,弹丸出炮口瞬间,位于炮口附近的触发装置将产生一个触发信号,通过工控机时序控制器事先设置好的两台高速摄像机的延时,确保二者在拍摄时处于同步状态。拍摄得到的图像通过图像采集卡存储于工控机中,用于后续的数据处理过程。
2.2 布站
布站时应依据较小测量误差的原则,设计确定两摄像机间的基线距、镜头光轴与基线的夹角等双目系统结构参数。布站示意图如图3所示。
图3 布站示意图Fig.3 Schematic diagram of measuring station layout
图中两台高速摄像机对称、等高布设于枪炮左右侧后方的安全区域内,镜头相向转动相同角度,构成双目汇聚系统,并沿着弹丸运动方向以固定视角、相同视场进行同步拍摄,交叉视场覆盖的弹道AB 段即为该系统的测量范围。设计系统结构参数时,还需综合考虑众多因素,一般包括:弹道测试范围、可选的焦距大小、预期的目标像素尺寸变化范围、实验场地大小以及枪炮安全距离范围等。
2.3 数据处理
数据处理流程如图4所示。
图4 数据处理流程Fig.4 Data processing flow chart
测试时采集的图像数据可被归为两类:一类是标定图像,用于标定双目内、外参数,计算镜头畸变参数;另一类是弹丸目标图像,用于提取匹配像点。首先基于张正友标定法完成双目标定,获得每个摄像机的内参矩阵、畸变系数矩阵以及两摄像机坐标系之间的旋转矩阵和平移向量,利用这些参数采用Bouguet 校正算法[8]对弹丸目标图像进行立体校正,将双目汇聚模型转化为视差法所需的行对准平行双目模型。对校正后的图像进行一次预处理,主要目的是改善图像质量,提高弹丸目标的可检测性,并消除图像中的无关信息以减少数据量。预处理方法一般包括:双边滤波、图像锐化、Gamma 校正等。接下来采用基于跟踪的目标提取算法进一步对弹丸目标进行定位与分割,排除复杂背景干扰。基于上文给出的布站方案,在拍摄远距离弹丸目标时,图像中几乎只能看见形似椭圆的弹底,没有明确的角点,同时弹底边缘点非孤立、不唯一,匹配时将存在歧义。相反,在不同帧图像中,弹丸底部中心点却具有唯一性和特殊性,因此可以提取该点作为待匹配的“特征点”,并以其空间坐标表示弹丸的空间位置。提取弹底中心的过程是:首先利用Canny 边缘检测算法提取弹底边缘,之后通过膨胀算法将邻近的边缘连接成一个连通域,最后提取弹底轮廓并利用椭圆拟合法[9]求取轮廓中心亚像素坐标。经过以上步骤后便可通过视差原理重构弹丸的空间位置坐标。在生成弹道轨迹之前,需要将测量点由左摄像机校正坐标系转换到炮口坐标系下,具体方法是利用炮口处的全站仪测定棋盘格标定板角点的三维坐标,再通过角点检测算法求得它们在图像中对应的二维像素坐标,之后利用PnP 方法[10]计算出炮口坐标系与左摄像机校正坐标系之间的旋转矩阵和平移向量,最终达到坐标变换的目的。
3 静态实验
3.1 实验设计
实验通过模拟实际测试过程中弹丸目标在图像中的像素尺寸变化,来验证14.5 mm 弹丸百米弹道段测量的可行性。经计算,当实际测量14.5 mm 弹丸的67.5~171.8 m 弹道段时,图像中弹丸目标的像素尺寸变化范围大致为15~30.5 像素,因此设计了目标像素尺寸变化范围为14~24.3 像素的模拟实验,此时的实际测量范围将缩减到12.4~20 m。
实验采用CCD 相机B6620M,通过控制软件,可将其分辨率设定为1280×800 像素、像元尺寸设定为22 μm,以模拟现有高速摄像机在最高帧率下对1000 m/s 的弹丸进行拍摄的成像指标。此外,选用200 mm~500 mm 长焦镜头,并将焦距设为220 mm,同时基线长取4.2 m,光轴与基线夹角取84°构成双目测量系统,如图5所示。
图5 双目视觉测量系统Fig.5 Binocular vision measurement system
图5中,位于双目基线中点,即实际炮口位置处的高精度全站仪用于测定弹丸模型在炮口坐标系下的真实空间坐标,以作为误差分析的真值。双目系统标定采用1000 mm×850 mm 的棋盘格标定板,方格尺寸为50 mm×50 mm,测量总不确定度为±0.01 mm,能够满足相机标定的精度要求。
3.2 实验结果与分析
实验中,在设计的测量范围内,沿着双目基线中轴线分散选取5 个位置,依次放置弹丸模型进行拍摄,获得5 对左右图像对,并最终重构出每个位置上弹丸的空间坐标。其中,对位于15.5 m 附近的弹丸模型采用Canny 算法检测弹底边缘轮廓,并通过椭圆拟合提取弹底中心的结果如图6所示。
图6 弹底中心提取结果(局部图像)Fig.6 Extract the center of projectile(partial view)
将每个位置处的弹丸空间坐标测量值统一转换到炮口坐标系xyz 下,测量结果及误差如表1所示。
表1 测量结果及误差Tab.1 Measurement results and errors
从位置1 到位置5,测量距离逐渐增大,并由于镜头景深的限制,弹丸目标图像从模糊逐渐变清晰,之后再变模糊,由结果可知,该过程中x 方向的测量精度存在较大波动。其中,从位置1 到位置3,绝对误差呈下降趋势,推断是因为该过程测量精度主要受模糊度影响。模糊图像弹底边缘分辨不明,致使中心定位出现较大偏差,测量误差大,而位置3附近是成像对焦点,所获图像最清晰,误差最小。从位置3 到位置5,距离变化相对较大,并且由于后景深大于前景深,图像模糊度变化较小,使得精度主要受测量距离影响,故绝对误差呈上升趋势。其中位置5 处的误差明显增大,这是因为该位置处于测量范围的远端,视差较小,此时任何小的视差误差都将导致测量误差大幅增大。y,z 方向的测量误差是等尺度的,其变化趋势与x 方向基本一致,但精度更高,整体处于毫米量级。本实验的平均静态定位误差为14.3 mm,各方向下弹丸轨迹如图7所示。
图7 弹丸轨迹对比图Fig.7 Projectile trajectory comparison chart
4 结语
提出了利用两台高速摄像机构建双目立体视觉系统,并采用视差法重建弹丸飞行轨迹的测试方案。通过搭建静态模拟实验,验证了该方法测量14.5 mm弹丸百米弹道轨迹的可行性,且在当前算法下平均静态定位误差为14.3 mm,基本可以满足一般应用要求,随着系统硬件的提升和算法的优化,精度有望进一步提高。相比于现有外弹道高精度测量方式,此方法轻量而高效,为外弹道轨迹测试提供了新的可选方案。