【光学工程与电子技术】
弹丸坐标的测量作为靶场测试中研究武器射击精度,评价武器系统效能的重要参数,对武器系统的优化设计具有重要意义[1-2]。本文使用线阵CCD交汇测试系统在大靶面范围内对高速通过的弹丸进行目标检测,但由于远离相机位置处的过靶弹丸在图像中通常只有几个像素大小,而且在测试大口径武器时会出现强振动的情况,使用现有的算法检测准确率低于90%,无法满足技术指标要求[3-4]。
目前,静态场景下的动态目标检测算法可以分为帧间差法、背景差分法和光流法[5]。帧间差分法[6-7]通过将相邻两帧或三帧图像进行差分,再与设定的阈值进行比较来判定是否为检测目标,但是如果设定的阈值不准确就无法提取完整的目标轮廓甚至误判。Wang等[8]提出阈值自适应调值因子来根据背景的复杂度自动调整阈值,显著提高了目标检测的精度。背景差分法[9-10]通过将当前图像和背景图像做差分,再通过阈值分割和形态学分析得到目标位置,但是易受外界因素影响导致背景图像变化大,从而降低检测精度。光流法[11]的实质是利用目标运动时图像时域上的灰度变化来获取运动目标,但是其算法时间复杂度较高。
本文结合CCD交汇测试系统的特点和上述3种算法进行研究,提出一种类似背景差分法与梯度分析相结合的目标检测算法,该算法较以往算法保证了检测速度,而且提高了弹丸的检测率,不易受外界因素干扰,鲁棒性较强。
本文使用CCD交汇测试系统对过靶弹丸进行目标检测,通过弹丸在图像中的坐标进行坐标变换得到弹丸实际的着靶坐标[12-13]。实验系统实物图如图1所示,其结构示意图如图2所示。拍摄位置位于结构图中E、F处,两个CCD相机在同一水平线放置,在两个相机位置处分别放置一个激光器,AC、CD和DB处都为搭建的铝架上贴的原向反射屏,激光经反射屏反射后在相机上成像。O1和O2分别为两相机镜头中心,以O1O2为x轴建立直角坐标系,激光光幕为坐标系平面。
图1 实验系统实物图
图2 系统结构示意图
当第1发弹丸P通过光幕时,引发光通量变化产生一个触发信号给两侧相机,然后相机开始按照设定的最大帧频 18 500 Hz拍摄弹丸过靶图像,上位机通过图像处理算法得到其在图像上的位置,最后经过坐标变换得到弹丸在给定坐标系下的着靶坐标。
以口径为20 mm、长为103 mm的火神炮为例,当出射炮弹以大约1 000 m/s的速度垂直经过光幕时,可得到其穿行光幕耗时约为1×10-4 s,在相机上成像为1~2行低灰度值的图像像素集合。在靶场试验条件下,大口径武器测试时会造成一定强度的振动,将在图像背景中产生干扰噪声[14]。为了模拟现场实弹从低速如400 m/s的迫击炮到高速如 1 500 m/s的坦克炮测试时拍摄的图像,将相机拍摄帧频调低至3 700 Hz,在实验室环境下分别拍摄高速和低速的玻璃子弹,所记录图像如图3所示,其灰度值分布如图4所示。
所记录图像像素大小为4 096*50,远大于弹丸所占像素区域,因此在图3中局部放大两处弹丸过靶图像,左侧局部放大图为模拟高速弹着靶点,右侧为模拟低速弹着靶点,此时高速弹丸处于背景噪声之中,增加了目标检测的难度。根据图4可以看出背景灰度值在纵向上几乎不变,上下近似对称。对于大量的待检测图像来说,弹丸的灰度值不尽相同,因此帧差法的阈值不能准确选取,背景差分法的形态学分析也不能批量的准确检测。
图3 过靶灰度图像
图4 图像灰度值分布图像
本文利用运动目标和静态背景的特性设计了一种翻转相减算法,将目标与背景分离得到预处理图像,之后根据梯度分析出弹丸周围梯度幅值较高,最后根据Hough变换检测出弹丸的位置。算法流程如图5所示。
图5 算法流程框图
对于线阵相机来说,帧差法中的每帧可以看作每行,即一幅50行的图像可以看作图像在纵向上变化了49次。而且背景在纵向上几乎不变,运动目标的变化为突然出现又消失,而且在图像上占有几行像素的位置。根据帧差法,通过将相邻两帧或者三帧图像进行差分,则可能将目标本身灰度值减掉,导致目标特征消失。以图像左下角作为零点建立图像坐标系,横向为X轴,纵向为Y轴。根据图像特征可将图像灰度公式写成式(1)
f(x,y)=g(x,y)+h(x,y)
(1)
式中: f(x,y)为图像在(x,y)处的灰度值; g(x,y)和h(x,y)分别为背景和目标图像在(x,y)处的灰度值,而且g(x,y)在纵向上几乎不变。由于目标可能在图像上任何一行出现,因此不能将某一行当成背景对整幅图像进行相减。
此时将一幅图像看作一个整体,将图像进行翻转,再当作背景与原图像进行差分,将运动目标与静态背景图像初步分离,得到预处理图像m(x,y),如式(2)所示:
m(x,y)=f(x,51-y)-f(x,y)=
g(x,51-y)+h(x,51-y)-
h(x,y)-g(x,y)=
g1(x,y)+h1(x,y)
(2)
式中: f(x,51-y)为翻转后图像中(x,y)处的灰度值。由于背景图像在y方向上呈现出上下近似对称的特点,因此g(x,51-y)-g(x,y)能滤掉大部分静态背景得到g1(x,y),而运动目标图像在对称相减后得到的h1(x,y)仍然能保持其原有灰度值。
将图3经过翻转相减操作之后得到预处理结果如图6所示,其灰度强度图如图7所示。
图6 预处理灰图像
图7 预处理灰度强度图
图8为预处理前后弹丸区域的灰度强度对比图,通过上下对比可以看出经过预处理之后图像背景的灰度值已经明显降低,目标图像更加突出,但是由于外界环境影响,可能出现噪声灰度值比目标灰度值更大的情况。为了分析预处理之后的图像特性,区分运动目标和静态背景图像,需要对预处理后的图像求梯度。
图8 预处理前后弹丸区域
图像梯度作为描述图像在每个像素的邻域变化,能更明确地显示出图像在不同方向上的变化特性[15]。图像函数在点处的梯度是一个矢量,由于目标只在图像纵向上发生变化,因此只需计算其在y方向上的梯度。其数值梯度表达式如式(3)所示:
Fy(i, j)=(F(i+1, j)-F(i-1, j))/2
(3)
式中: Fy为其垂直方向上的梯度,Fy的第一行元素为原矩阵第二行与第一行元素之差,Fy的第二行元素为原矩阵第三行与第一行元素之差除以2,以此类推,最后一行则为最后两行之差,根据其梯度大小和方向可以绘制其梯度矢量图。图9所示为经梯度变换后的矢量图及其局部放大图,左边部分为整体梯度图,a、b和c分别为高速弹丸着靶点,低速弹丸着靶点和背景位置的梯度图像,其局部放大图如图9右侧插图所示。
从图9中可以看出目标图像相邻像素的梯度矢量的幅值较大,且梯度变化线段较长,梯度矢量方向都是指向中心。而背景图像的局部噪声部分相邻像素的梯度矢量幅度较小,且梯度变化较短,梯度矢量指向分散。
图9 梯度及其局部放大图
预处理图像经过梯度分析转化成矢量图之后,问题就由原来的求运动目标横坐标变成了求取竖直方向上最长直线的横坐标。由于Hough变换检测直线具有抗干扰能力强的优点,而且对于图像中直线的间隙部分,能够自定义阈值补全,因此本文使用Hough直线检测对梯度矢量图求取运动目标的坐标[16-17]。
由于Hough变换输入图像一般为二值图像,因此先将图10中的梯度矢量图转化成灰度图,再进行灰度翻转之后对其二值化。由于将梯度图转化成灰度图之后大量背景都为黑色,其灰度值为0。所以为了尽可能地保存梯度信息,设置二值化阈值为0。二值化之后如图10所示,通过放大弹丸位置处能看出其纵向上的线段长度明显大于背景处纵向上的线段长度。
图10 梯度矢量图的二值化
得到梯度矢量的二值化图像之后,对该图像进行霍夫直线检测。由于需要检测的直线为竖直方向,其斜率为无限大,无法在参数空间中表示出来,因此使用极坐标系的霍夫变换,其原理如式(4)所示:
xcosθ+ysinθ=ρ⟹ρ=cosθx+sinθy
(4)
在极坐标表示下,图像坐标空间中共线的点变换到参数空间中后,在参数空间都相交于同一点,此时所得到的ρ和θ即为所求直线的极坐标参数。与直角坐标不同的是,用极坐标表示时,图像坐标空间中共线的两点(x1,y1)和(x2,y2)映射到参数空间是两条正弦曲线,相交于点(ρ0,θ0),变换过程如图11所示。
图11 霍夫变换过程
将二值化图像进行坐标变换使其映射到霍夫空间中,得到霍夫变换矩阵H,由于图像中目标所在直线为竖直方向,对应极坐标系的斜率为零,因此将对应的参数θ设为0,此时矩阵H为一个列向量。然后得到矩阵H中的极大值的索引,最后根据其索引与设置的线段长度阈值5,得到原图中竖直方向上的两个线段端点坐标(455,255),(455,273)和(549,76),(549,112)。其线段长度分别为19个像素点和37个像素点。通过霍夫变换检测到的直线将其在图6中显示出来得到图12所示的结果。
图12 Hough直线检测结果图
图12中将弹丸位置处进行局部放大,可以看出霍夫变换将图10中的弹丸位置处线段进行了补全,并且都能在图像中检测出来。提取出的端点的横坐标经过比例变换得到弹丸在原图像坐标系上的像素横坐标分别为2 261和2 885,最后经过坐标变换得到弹丸在靶面上的着靶坐标。
为了系统地评估本文算法处理各类武器弹丸坐标的准确性,本文分别选取了180幅模拟高速弹丸的图片、180幅模拟低速弹丸的图片和4 900张没有弹丸的图片。为了模拟不同情况下的弹丸图像,分别使弹丸于靶面内10个不同的位置处过靶,每个位置选取18张图片进行处理。使用本文算法与其他算法对同一组图像进行处理,得到如表1的算法结果。
表1 算法结果
算法高速弹丸检测率/%低速弹丸检测率/%无弹丸误检测率/%平均检测速度/s帧间差法83.391.10.10.171背景差分法82.896.70.10.183光流法87.893.300.313本文算法98.398.900.252
表1中其余3种算法都工作在已优化参数后的状态,如帧间差分法使用了自适应阈值来根据背景复杂度判别是否为检测目标。从表1中可以看出,本文算法对于各类武器测试的情况能准确地进行处理,与其他算法相比具有明显优势。帧间差法和背景差分法虽然检测速度较快,但是会将背景噪声误检测成目标弹丸,光流法虽然误检测率较低,但是由于算法复杂,检测时间也较长。本文算法在保证检测速度的前提下,对于高速和低速弹丸的情况都能很准确地进行处理。理论上可以利用高速和低速弹丸霍夫直线检测出来的线段长度不同来定性分辨高速和低速,但是弹丸在图像中的灰度值不同引起的梯度幅值不同,并导致线段长度不同,所以不能对弹丸的速度进行定量分辨。另外,对于测试连发武器时后一发弹追上前一发弹导致一张图像存在两发弹丸的情况下也能将两发弹丸都处理出来。
本文利用线阵相机的特性,使用单幅图像进行差分得到预处理图像,有效地减小了图像受外界因素变化造成的干扰。同时,利用高速弹丸通过靶面时像素点较少导致其周围的梯度变化明显,在梯度矢量图上显示成一条直线,再通过Hough变换对目标直线进行检测,得到了弹丸经过靶面时的图像坐标。本文算法在处理高速弹与低速弹、单发与连发武器时都能较为准确地得到其着靶坐标,可适用于多类武器的弹道参数测试。
[1] 褚文博,赵冬娥,张斌,等.基于原向反射式激光光幕厚度一致性研究[J].应用光学,2019,40(02):233-240.
[2] 刘吉,苏凝钢,武锦辉,等.光电弹着点坐标检测技术的发展现状[J].兵器装备工程学报,2018,39(12):224-230.
[3] 刘兴超.单帧红外图像弱小目标检测算法研究[D].武汉:华中科技大学,2005.
[4] 何丹.基于线阵CCD的高速弱小目标提取算法研究[D].西安:西安工业大学,2013.
[5] 彭闪.基于空时滤波的红外弱小目标检测算法研究[D].成都:电子科技大学,2020.
[6] YAO Qian,AN Shiquan,YAO Lu.Algorithms of pedestrian detection and tracking based on three frame difference method and mean-shif[J].Computer Engineering and Design,2014,35(1):223-226.
[7] 熊永敬,张启鹏,黄应翔,等.局部帧差校验改进背景消除法的目标检测算法[J].中国工程机械学报,2020,18(01):24-28.
[8] 王春丹,谢红薇,李亚旋,等.融合改进的三帧差分和ViBe算法的运动目标检测[J].计算机工程与应用,2020,56(13):199-203.
[9] 秦雨萍,张双,张萍,等.基于数学形态学的差分图像目标检测算法研究[J].舰船电子工程,2018,38(4):16-18,22.
[10] DWIVEDI N,SINGH D K,KUSHWAHA D S.An Approach for Unattended Object Detection through Contour Formation using Background Subtraction[J].Procedia Computer Science,2020,171:1979-1988.
[11] 郑浦,白宏阳,李政茂,等.抖动干扰下运动目标精准检测与跟踪算法设计[J].仪器仪表学报,2019,40(11):90-98.
[12] 陈宇轩,张斌,褚文博.大靶面激光光幕测速系统灵敏度研究[J].国外电子测量技术,2020,39(02):1-4.
[13] 黄士亮,丁璐,王李笛.CCD立靶密集度测量精度分析[J].兵器装备工程学报,2016,37(09):28-31.
[14] 李浩楠,赵冬娥,范小伊.玻璃微珠原向反射屏发散特性研究[J].传感器与微系统,2019,38(03):14-16.
[15] 周成,季云松,赵毅.一种单帧图像红外弱小目标检测算法及DSP实现[J].激光与红外,2009,39(12):1356-1359.
[16] 汪烈兵,姜雄飞,石春光,等.基于图像滤波与Hough变换的红外弱小目标检测[J].红外技术,2020,42(07):683-687.
[17] HAVARAN A,MAHMOUDI M.Markers tracking and extracting structural vibration utilizing Randomized Hough transform[J].Automation in Construction,2020,116:103235.