智能靶标目标检测方法研究

2023-12-12 12:00柳想成李长桢金梦轩
激光与红外 2023年11期
关键词:靶标底层架构

柳想成,韩 隆,郑 毅,李长桢,刘 爽,金梦轩

(中电科光电科技有限公司,北京 100015)

1 引 言

在军事训练中,靶标装置的先进与否决定着训练的质量。现有的靶标装置多为固定靶和移动靶,其中固定靶虽然能够很好地提高射击精度,但训练形式较简单,不能满足智能化军事训练要求。为此出现了移动靶,移动靶可以按照事先编好的程序进行运动、起倒等动作,但运动依然呈现规律性,不能满足实战化的训练要求。

为进一步满足实际战场和未来战场的需要,让靶标尽可能地满足人的某些功能特征,如:目标检测、主动攻击功能。让靶标能够“活起来”具有目标检测的能力,尽可能模拟单兵进行作战,提高训练人员的作战能力,提高实际射击水平、战术执行能力,满足作战训练任务的要求。

基于众多领域的应用推动了可见光图像处理技术的发展,基于可见光图像的目标识别技术走向成熟和完善。在靶标装置领域,通过传统靶标与深度学习进行融合,实现目标检测的功能,进而实现靶标的智能反击。

现有通用的目标检测流程为在给定图片中检测出完整或有遮挡的目标,并用矩阵框标记检测到的目标,同时显示检测的置信度。但将这门技术应用到军事训练中的靶标装置,实现靶标智能化,需要针对目标特性进行有针对性的研究同时寻找高效可靠的识别方法。

本文根据军事训练实战化智能化的相关要求,将目标检测与传统靶标进行融合,通过改进基于Yolov5神经网络架构,实现高速准确的实时目标检测。通过调节置信度来适应不同场景中的应用需求。

本文的主要研究内容如下:

1)在Yolov5神经网络架构的基础上,提出运用轻量级通用上采样算子CARAFE(Content-Aware ReAssembly of FEatures)[1]替换Yolov5网络结构Neck中FPN中的上采样方式,用来确定图像中采样核数值较大的点。通过运用CARAFE轻量化上采样算子获得目标采样点的位置,用来提高单兵目标检测的准确度和速度。

2)在损失函数方面,本文使用新的损失函数CIOU_Loss[2],用来解决检测框与目标框之间存在的位置关系问题,最后用非最大抑制(NMS)操作以产生最终结果从而提高单兵目标检测精度[3]。

2 整体方案介绍

为实现最终对战场环境中的单兵目标进行快速检测并进行反击,本次实现目标检测的底层网络架构采用YOLOv5,同时为保证轻量化和嵌入式激光模拟训练装置的要求,将使用规模最小的网络。最终通过改进YOLOv5网络中的采样算子和采用CIOU_Loss函数,提高目标检测的精度和速度。

为满足嵌入式激光模拟训练的靶标要求,将以最小模型YOLOv5s为底层网络架构,本次用到的底层网络架构流程图如图1所示,该网络架构主要是由四部分组成。首先通过可见光图像采集器采集图像,将采集的图像输入到输入端,接着通过骨干对图像进行特征提取,最后通过预测部分鉴别目标,实现目标检测功能。

2.1 输入端

2.1.1 Mosaic数据增强

首先需要底层网络架构加载图像数据,然后对原始数据通过Mosaic的方式对信息进行强化。主要是借助四张图像,对影像展开拼合,得到一张新的图像。

将拼合后得到的影像传至底层网络进行参数训练,大幅提高了批量大小。另外,由于进行了多张图片的拼合,需要处理多张不同图像的背景,因此也进一步提高了检测物体的背景的复杂情况,保证最终对单兵目标展开即时精确检测。

具体实现流程如图2所示。

图3 图片缩放流程图

2.1.2 自适应锚框计算

由于最终应用场景的不同,对多种不同的数据库,通常会预设一定尺寸的锚框,这是相当关键的一部分。在对底层网络的训练中,神经网络将在最初锚框的基础上输出预测值并在图像上以预测框的形式显示出来,从而和真实情况下的锚框进行比对,计算彼此之间的差异,再逆向进行底层网络的参数更新,迭代网络进而实现最终检测目标。

与先前YOLO神经网络体系结构有所不同的是,YOLO神经网络训练各不相同的图像数据库时,求解出最先设定锚框的数值是由独立编写的程序进行推算得出。而本次是通过将设定锚框的功能集成到代码中,在每次网络进行训练时可以自适应地计算最优锚框值,减少对网络的训练时间,同时可以提高靶标单兵目标检测速度。

2.1.3 自适应图片缩放

在常见的可见光图像目标检测算法中,因为不相同的图像尺寸大小并不相同,所以往往将早期输入的图像标准化之后,再将图像送至基于底层网络的可见光目标检测算法。如:本文所使用的底层网络架构多用的图像大小为416×416、608×608。所以如果需要基于此神经网络为底层网络架构处理尺寸不同的图像,可以最先采取改变图像的长宽到一个标准值,然后在送至目标检测网络结构中进行单兵目标检测。

在特定的目标检测场景下,许多图像的高宽比也各不相同,所以在调整图像大小之后,需要用黑色像素值进行填充,故填充的面积也各不相同,而如果填充的比较多,则存在信息冗余,影响推理速度,不能满足靶标系统对单兵目标快速进行检测。所以在目标检测算法中,对调整图像大小的函数作出更改,对早期加载入的影像自动控制的填充最少的黑边。图像中需要填充黑色的面积就变小,在对可见光图像的检测中求解的计算量就会降低,所以对模拟战场环境中单兵的检测会更加快速,满足对靶标的性能要求。

2.2 Backbone

2.2.1 Focus结构

在骨干网络架构中,重要的是Focus结构。在此结构中,主要是将输入的图像通过Focus结构中的切片操作,把原始图像变为图像的特征图,更好的描述原始图像。

以本次实现单兵目标检测的底层网络架构为基础,将摄像机采集到的可见光图像作为原始图像加载到架构中,同时从原始输入图像中提取图像的特征图,接着在通过底层网络架构中的卷积核再次提取图像的特征图。具体提取图像的特征图如图4所示。

图4 Focus结构图

2.2.2 CSP结构

本次靶标中目标检测的底层网络架构的骨干网络用到的是在第1个CSP中,使用X个残差组件方式,在Neck主干网络架构中用到CSP2_X,来解决图像推理求解中的计算问题,具体框架如图5所示。

图5 YOLOv5网络中CSP结构

2.3 Neck

本次算法中的Neck采用FPN+PAN的结构,此外为满足快速目标检测的要求,对网络中的其他部分也进行了调整,具体结构图如图6所示。

图7 YOLOv5网络结构

在本次使用的底层网络架构中,其中重要内部结构Neck选用跨阶段局部网络中使用的CSP2结构设计,来解决单兵目标检测中图像推理计算量庞大的问题,同时也是为了进一步提高该神经网络利用提取的图像特征的性能。

2.4 输出端

2.4.1 Bounding box损失函数

本次基于的网络架构采用的是由CIOU_Loss做的Bounding box损失函数,选用此函数是因为该损失函数考虑了重叠面积、中心点距离、长宽比。Iou的缺点是当Iou数值相等时,但存在预测框和目标框却有不同的重叠情况。此外,Iou无法优化目标框和预测框不相交的情况[4];GIOU_Loss存在的情况是当预测框和目标框的差集是一样的,但两框位置不同,GIOU值相同,无法辨别两框之间的相对位置[5];DIOU_Loss存在的问题是不能解决预测框和目标框中心点距离相同,但是不能区分两框位置存在多种情况[6]。所以本算法使用CIOU_Loss,公式为:

CIOULoss=1-CIOU

(1)

其中参数v用来衡量预测框和目标框的长宽比一致性。

(2)

2.4.2 NMS非极大值抑制

在目标检测的后续操作过程中,必须对一些目标检测中关于目标锚框展开定量分析。一般来说,须要利用一定范围内的极大值为根据,选出最有可能是目标真实边界的锚框来达到单兵检测的目标。

同时由于底层网络架构的损失函数涉及到计算推理过程中的冗余信息,影响检测速度,所以本算法使用的基本架构采用加权NMS的方式,对坐标进行加权平均,实现函数如下:

(3)

Bi∈{B|IoU(M,B)≥thresh}∪{M}

(4)

其中,Wi=Si·IoU(M,Bi),表示得分与IoU的乘积。

2.5 网络的深度和宽度

本算法的基本架构主要通过网络中参数设置,实施对网络架构的纵向和横向的控制。其中depth_multiple参数负责调节底层网络架构的纵向,width_multiple参数负责神经网络架构的横向。

(1)底层YOLOv5网络结构

通过yolo.py中的代码将网络结构中的depth_multiple,width_multiple提取出并赋值给gd,gw。

接下来将详细分析参数怎样调节神经网络架构中的纵向和横向。

2.5.1 网络的深度

(1)不同纵向深度的网络

本次使用的底层网络架构第二部分将使用CSP1结构,其中具体是依次在CSP中使用1、3、3个残差组件;在第三部分使用CSP2结构,其中都是使用1个残差组件。

(2)控制深度的代码

控制底层网络结构纵向的核心内容。主要是通过n和gd参与计算,进而控制底层网络的纵向变化。

(3)检验调节网络纵向的正确性

把控制纵向深度的第二个gd参数带入到本次使用的底层网络架构,检测是否准确。其中控制网络纵向深度的第一个参数由前面的数据得到,第二个参数设置为0.33。

以底层网络第二部分使用的第二个CSP1为例。本次使用的CSP1结构中,控制网络纵向深度的第一个参数为9,第二个参数为0.33,将以上两个参数带入到控制纵向深度的代码中进行运算,得到n为3,因此第二部分使用的第二个CSP1使用3个残差组件,即CSP1_3。其余网络框架中CSP结构的残差组件为相同推理过程。

2.5.2 网络的宽度

在底层网络架构中,共使用了5个卷积核,每个卷积核的数量依次是32、64、128、256、512。

(1)不同横向宽度的网络

本次算法使用的底层网络在图像处理的各个阶段使用得卷积核数目不相同,继而将影响卷积后原始图像特征图的宽度,即网络结构的横向。

在本算法的底层网络架构中,首先是经过Focus结构进行处理。此结构中使用的卷积核数量是32个,在进行卷积操作之后,将初步获得图像的特征图。接着进行第二次的卷积操作,本次卷积之后特征图的大小将变小,但特征图的厚度将增加,接下的卷积操作同理。此外在进行卷积操作时,使用比较多的卷积核数量,将会使表征能力的特征图横向长度不断增加,即特征图的宽度越宽,但最后算法通过网络提取语义信息表征能力的特征图能力就越强。

因为在图像处理的各个阶段使用得卷积核数目不相同,所以将影响底层网络结构和若干个一般卷积。同时因为在进行卷积操作时,卷积核的数量将发生变化,所以整体也将影响到靶标对单兵目标检测的速度。

(2)控制宽度的代码

在底层网络架构中,控制底层网络结构横向的核心内容是使用make_divisible子函数,通过使用此函数来控制输出通道数,从而控制网络的宽度,使通道数为8的整数倍。

(3)检验调节网络横向的正确性

本算法的底层网络架构,将使用参数width_multiple调节网络的横向宽度。将该参数设为0.5,带入到控制横向宽度的核心代码中,进而控制网络的横向宽度。

以第一个卷积下采样为例,即根据底层网络第二部分中的Focus知C2=64,由于width_multiple=0.5,所以推断出在该下采样中使用的卷积核数量。同理可以推断出各个下采样操作的过程中使用卷积核的数量[7]。

然后,将卷积操作后分割的图片输入到网络中进行单兵的目标检测,同时降低了针对小目标像素的下限,所以使用这种方法可以提高靶标针对远小目标的准确度。

如果在军事训练中不需要对单兵目标进行实时检测,但需要检测军事小目标时可以运用此种方法进行检测,进而增加靶标的应用场景。

3 数据集

为满足多场景不同训练中目标检测的需要,选择利用COCO数据集进行训练,最后根据训练对智能靶标的训练要求,检测特定种类的目标,实现检测的多样性和靶标的推广性。

COCO数据集是训练神经网络模型重要的数据集,其中图像包含几十类目标,同时在30多万张图像中包含有20万张有标注的图像。在整个数据集中也包含150多万个个体,含有25万个有关键点的人,其中图像主要是通过在日常生活中获得,同时对于图像中的各个目标也进行了精确的位置标注,所以该数据集有数量多、物体多、标注精确的特点。

该数据集在训练网络的过程中,主要实现对目标物体的检测。因为数据集中每一类物体的数据较多,可以实现对目标物体在不同场景中特征的训练学习,完成在单兵模拟对抗中靶标系统在不同场景下的不同检测需求。

4 特征采样

本算法为满足智能靶标等嵌入式激光模拟训练要求,所以选用轻量级通用上采样算子。与其他上采样方法相比,其他上采样方法有一定的不足之处[8],具体分析如下:

第一种上采样方法是最近邻上采样,这种采样方法主要是通过图像中像素点所在图像的空间位置进行采样核的确定,所以可以把这种采样方式看成是均匀采样,同时对像素点周围区域的像素感知较少,导致这种采样方式没有使用图像特征图中的语义信息。

另一种采样方式为Deconvolution上采样,这样采样使用的采样核是通过神经网络学出来的,并不是利用图像像素之间的距离推理得到。所以在对图像的特征图进行采样时,图像特征图中的每个像素位置都是通过同一个上采样核进行采样,这种方法不能利用到特征图包含的内容。此外,如果通过神经网络得到尺寸较大的采样核时,将会使检测的运算量大大增加,影响检测速度。

Dynamic filte[9]采样与第二种采样方式不同的是将通过预测来对图像特征图中的每个位置产生一系列不同的上采样核,所以这种方法的计算量将比第二种采样方式更大,更加影响采样的速度。

为改进目标检测性能,本算法的上采样算子需具备以下几个特性。

上采样算子可以更好的感受到特征图像素周围的信息,达到快速、准确的目标检测,满足靶标的性能要求;

这种方法可以弥补最近邻上采样不能使用图像特征图中的语义信息。本次使用的上采样算子可以直接对输入的图像进行上采样,使采样核与特征图中的信息建立联系;

算子具有轻量化特点,为满足最终在靶标系统上实现打击功能,就不能引入过多的参数和计算量;

4.1 上采样的表示

对图像特征图的上采样在形式上就是将图像的特征进行重新组合,所以对于输出特征图中的像素都可以根据上采样的逆过程找到像素点在输入特征图中空间位置。

如以输入特征图中的一个像素为中心,将该点像素周围的像素进行相加并和一个上采样核进行点积操作就是上采样操作。

4.2 上采样算子模块

特征上采样算子的流程框图如图8所示,其可以实现轻量的对特征图进行采样,同时计算速度快,可以快速进行目标检测,满足单兵靶标的设计目标。

图8 特征采样流程

本次使用的上采样算子主要分为两个部分,其主要功能依次是预测上采样核和重新组合特征图中的特征。首先,设定上采样的倍率为μ,然后输入一个尺寸为X×Y×Z的特征图,其次按照上采样算子的第一个重要部分进行预测上采样核操作,最后通过第二个模块进行特征重新组合,得到新的尺寸为μX×μY×Z的特征图。

4.3 上采样核预测模块

(1)压缩图像通道

针对输入尺寸为X×Y×Z的特征图,为了降低图像运算的计算量,提高上采样核预测的速度,将对特征图中的通道进行压缩。本次将使用1×1卷积核对输入的特征图通道进行压缩,压缩后的通道数为Cm。

(2)预估上采样核

假设上采样核尺寸为sup×sup,同时需要注意越大的上采样核意味着更大的感受野和更大的计算量,这将影响靶标检测速度。

若要对输出的特征图中每一个像素位置分别使用多种不同的上采样核,那么我们需要预测的上采样核形状为σX×σY×sup×sup。

因为在进行上采样时已经将输入的特征图通道进行了压缩,因此可以使用mencoder×mencoder的卷积层进行上采样核的预测,同时保证输入的通道数为Cm。

(3)上采样核归一化

对第二步中得到的上采样核利用softmax进行归一化,使得卷积核权重和为1。具体上采样核预测模块流程,如图9所示。

图9 上采样核预测模块

4.4 特征重组模块

首先向模块中载入包含图像特征的图片,然后送入到模块中进行处理,接着模块将输出处理之后的特征图,最后将输入与输出进行比对,使输出的特征图像中包含的位置能够映射到载入的特征图。取出以之为中心的sup×sup的区域,和预测出的该点的上采样核作点积,得到输出值。同时虽然载入的图像是多通道图像,但是在完全相同的所在位置使用的上采样核是互通共享的采样核。

4.5 代码实现

首先定义CARAFE模块,添加到common.py中,然后将CARAFE写入到yolo.py中,最后再配置网络的相关文件,实现改进YOLOv5s采样方法目标。

5 运行检测

5.1 实验环境

本文算法在Windows 10 家庭中文版操作系统,采用基于YOLOv5神经网络架构,实现针对模拟训练系统靶标目标检测的功能。实验平台利用CPU:Intel(R)Core(TM)i5-8250U CPU @ 1.60 GHz 1.80 GHz;内存:8 GB。

5.2 实验验证

为验证算法的单兵目标检测结果和符合实际作战训练的需要,本文从俄乌冲突士兵交战视频、影视作品中找用于检测的素材。在验证中首先选择单兵行动和运动过程中出现遮掩的情况,检测结果如图10、图11所示。

图10 运动单兵目标检测

在另一组图片中选择以第一视角为主要检测角度,同时保证目标距离靶标位置较远,验证对远距离单兵目标检测效果,检测效果如图12所示。

其次为验证改进后的算法对目标检测的速度,本文选择改进算法的前后,保持硬件、检测视频长短保持一致,比较在算法在改进前后目标检测的速度。算法改进前后对同一时长的视频进行目标检测的时长结果见图13与图14,通过图13和图14算法改进前后的时长比较表明:目标检测速度提高22.89 %。

图13 算法改进前目标检测时长

图14 算法改进后目标检测时长

6 结 论

本文根据军事训练的相关要求,提出一种基于Yolov5网络架构下,通过改进底层网络结构和采样算子提高单兵目标检测精度和速度的算法,该算法在改进之后目标检测速度整体提升22.89 %,可以快速进行目标检测,当目标距离较远或目标出现遮挡时,能够检测到目标,满足军事训练的要求。此外,检测模块将输出各个目标中心点的位置并在图像中进行显示标记,用于根据发射器姿态和目标地理位置调整激光发射器姿态。

此外,该算法具有轻量化特点,满足嵌入式激光模拟训练的要求。相比于一般的目标检测算法,该算法极大的提高在模拟训练中对目标检测的速度和精度,给实兵交战模拟系统中智能靶标装置的目标检测功能提供一种解决方案。

猜你喜欢
靶标底层架构
基于FPGA的RNN硬件加速架构
航天企业提升采购能力的底层逻辑
“百灵”一号超音速大机动靶标
功能架构在电子电气架构开发中的应用和实践
纳米除草剂和靶标生物的相互作用
LSN DCI EVPN VxLAN组网架构研究及实现
复杂场景中航天器靶标的快速识别
前列腺特异性膜抗原为靶标的放射免疫治疗进展
一种基于FPGA+ARM架构的μPMU实现
回到现实底层与悲悯情怀