基于DenseNet和注意力机制的静爆场破片识别方法研究

2023-03-02 02:17:24何子清王亚林
兵器装备工程学报 2023年2期
关键词:破片靶板注意力

魏 琦,何子清,王亚林,王 军

(1.苏州科技大学,江苏 苏州 215009;2.近地面探测技术重点实验室,江苏 无锡 214035;3.中国白城兵器试验中心,吉林 白城 137001)

1 引言

破片杀伤效应[1]是指战斗部毁伤试验爆炸后破片对目标的破坏作用,它与破片的数量、破片的空间分布、弹目交汇条件等参数有关。对于破片杀伤效应的评估[2]是爆炸性武器研发、改进、定型及作战威力评估的重要内容。战斗部威力试验中常利用靶板测量飞散特性,需要在爆炸区域设立多个钢板靶或木板靶,试验后人得到有限数量的破片且防护困难。靶板法价格便宜、安装简单,能够可靠地获得破片分布信息及侵蚀能力,是靶板沿用至今的破片参数测试方法。

传统的靶板法在数据处理时使用人工圈定[3]的方式对破片位置进行测量,存在以下方面不足:一是采集效率低,需要耗费较多的人力和时间;二是采集数据信息较少,仅获取某个靶板有效区域内的破片数量;三是误检漏检率大。

随着激光扫描技术的发展,以及深度学习的研究方法逐渐渗透到各个领域,针对静爆场破片的目标检测已经不再满足于单纯的人工检测。基于激光扫描技术,何性顺等[4]提出了基于TLS的靶板穿孔特征识别提取方法,采用三维激光扫描技术通过点云间内部关系,识别破片穿孔特征,但实验的样本数量少,识别速度慢。目前主流的深度学习目标检测方法包括Fast R-CNN[5]、Faster R-CNN[6]等基于候选区域的算法以及 YOLO[7]、单激发探测器(single shot detector,SSD)[8]等基于回归的算法。雷江波等[9]提出了基于Faster R-CNN的破片群图像目标检测研究,首次将Faster R-CNN网络应用于破片检测,但检测速度较慢,且对于小目标的检测精度较低。为解决这个问题,Fu 等[10]提出 DSSD(deconvolutional single shot detector)检测器。该模型将 SSD 中的骨干网络修改为 ResNet101,同时增加 Deconvoluational 模块和 Prediction 模块,提升了模型对小目标物体的识别和分类能力,但是计算量较大,无法进行实时性目标检测。张侣等[11]在骨干网络中引入注意力机制和 ResNet 的思想,并在残差模块外层增加skip connection 构成嵌套残差结构,大幅提升了网络的特征提取能力。赵鹏飞等[12]采用分组残差的方式重新构建 Darknet-53,引入特征增强模块与通道注意力机制获得浅层增强特征,改善浅层语义特征信息不足的问题。

本文提出改进的SSD目标检测算法,将SSD网络模型中的骨干网络修改为DenseNet[13],并改进DenseNet网络模型结构,减少网络参数,降低输入图像特征信息的消耗,最大程度地保留目标物体的细节信息,另外引入注意力机制模型,提升网络前向传播时的特征表达能力,充分提取小目标的特征信息。

2 基于SSD目标检测的破片识别模型

静爆试验过程中由于爆炸范围较大,会设置多个钢板靶进行破片参数测量,因此破片打击到靶板上进行检靶主要存在以下难题:(1)如何在复杂明暗程度不同的破片图像中准确定位到破片区域,并进行分类;(2)如何提高破片区域的定位识别精度。针对这些技术难点,提出基于深度学习目标检测方法,根据破片图像特点,引入深度学习网络,首先对物体和背景进行简单的二分类与粗略定位,根据第一部分的二分类结果过滤大部分简单负样本,然后进行目标类别的判断与位置回归,最后输出破片数量及类别。提出的算法流程如图1所示。

图1 基于SSD的破片图像识别流程Fig.1 Fragment image recognition process based on SSD

3 改进SSD算法

3.1 传统的SSD网络结构

SSD网络是基于回归的目标检测算法的典型网络,它利用单个深度卷积神经网络结合6个不同尺度的特征图进行预测获取目标的类别和位置信息。SSD网络由基础网络和额外增加网络组成,其结构如图2所示。

图2 SSD网络结构Fig.2 SSD network structure

其中,VGG-16网络为SSD的基础网络。SSD的额外增加网络由 Conv4-3 特征图以及经过不断下采样操作形成尺度逐渐变小的特征图组成。

SSD网络对于小尺度目标的检测主要利用分辨率较高的Conv4_3浅层特征图,而Conv4_3位置比较靠前,容易导致特征提取不充分,丢失一些重要的细节特征,因此,这里考虑更换SSD中的主干网络。由于DenseNet网络是密集型网络,它的特点是重复利用前几层的特征信息,利用拼接操作,最大化重用每一层的特征,而且可以很好的缓解梯度消失现象,所以本文将采用DenseNet网络模型替代VGG-16原始网络模型进行检测。

3.2 DenseNet网络模型

DenseNet网络由多个Dense Block模块和多个Transition Layer层组成,其网络结构如图3所示。

图3 DenseNet网络结构Fig.3 DenseNet network structure

由图3可以看出,Dense Block模块作为DenseNet网络结构中的重要组成部分,除去第1层只有1个输入,其他层的输入都包括该层前面每一层的特征图,同时该层的特征图也会传递给之后的所有层,这样的连接更加稠密,比传统卷积网络需要更少的参数。在DenseNet网络结构中每个Dense Block模块之间还包含一个Transition Layer层,它起到防止过拟合和降采样的作用,由于Dense Block 重用特征图的特性导致其中各层特征图的大小必须相等,因此需要在2个Dense Block之间通过1×1的卷积对特征图进行压缩,再用一个步长为2的池化层来对图像进行降采样。

3.3 注意力机制

注意力机制模型主要分为通道注意力机制(channel attention module)和空间注意力机制(spatial attention module),SENet[14]是通道注意力机制的典型实现,它的主要目的是获得输入进来的特征层的每一个通道的权值。图4是SENet的结构模型。

图4 SENet结构Fig.4 SENet structure

如图4所示,SENet网络首先对输入进来的特征层进行全局平均池化,将一个多维度的特征通道映射成一个全局的实数,接着进行两次全连接,第一次全连接神经元个数较少,第二次全连接神经元个数和输入通道数一致,完成之后再经过Sigmoid激活函数将值固定在0~1,此时我们获得了输入特征层每一个通道的权值(0~1),最后将这个权值乘上原输入特征层对其进行重新加权,从而实现通道上的特征重写。

空间注意力机制[15]则是获得输入进来的特征层上每一个特征点的权值,其模型结构如图5所示。

图5 空间注意力机制结构Fig.5 Structure of spatial attention mechanism

对输入进来的特征层,在每一个特征点的通道上取最大值和平均值。之后将这两个结果进行一个堆叠,利用一次通道数为1的卷积调整通道数,然后取一个sigmoid,此时我们获得了输入特征层每一个特征点的权值(0~1)。在获得这个权值后,我们将这个权值乘上原输入特征层即可。

CBAMNet[16]将通道注意力机制和空间注意力机制进行了结合,它会对输入进来的特征层,分别进行通道注意力机制的处理和空间注意力机制的处理。图6是CBAMNet的结构模型。

图6 CBAMNet结构Fig.6 CBAMNet structure

在每个Dense Block结构中引入CBAMNet注意力机制模型,可以将浅层网络重新加强全局特征,将深层次的网络中各个特征的重要通道进行重新加权,有效提高模型精度。

3.4 改进DenseNet网络层

原始的DenseNet卷积网络中第1个卷积核的大小为 7×7,步长为2,输入图像在经过第一层卷积和池化下采样后,其特征信息还未被充分提取就已部分丢失,从而影响到后续特征提取。因此,本文对DenseNet进行改进,采用 3 个 3×3 的卷积核代替7×7卷积核,其中第一个3×3的卷积核步长为2,其余步长为1。此外,对DenseNet网络中的Dense Block模块进行改进,在3×3卷积前加上一个1×1的卷积,用来降低上一层输入的通道数,减少后面的计算量,再结合前面提到的CBAMNet注意力机制模块,加到Dense Block模块的3×3卷积后面,用来增强有用信息的特征提取。改进后的 DenseNet网络层参数如表1所示。

表1 DenseNet与改进后DenseNet网络层参数对比表Table 1 DenseNet and the improved DenseNet network layer parameters comparison

3.5 改进损失函数

为解决正负样本不均衡的问题,本文引入焦点损失函数[17]替代原有的交叉熵损失函数,其原理是降低损失函数中易分类样本的权重,增加难分类样本的权重。

交叉熵损失函数的公式如式(1)所示。

(1)

式中:y表示目标的真实类别情况;p表示检测模型输出是目标的概率,取值范围(0,1]。

平衡交叉熵损失函数在交叉熵公式前面增加了一个a权重,a值越小,负样本的权重相对降低,同时正样本的权重相对增加,其公式如式(2)所示。

(2)

在平衡交叉熵损失函数中加入调制因子,构成焦点损失函数,公式如式(3)所示。当样本属于易分类时,调制因子趋近于0,对损失值造成的影响较小,当样本属于难分类时,调制因子趋近于1,对损失值造成的影响较大,从而控制难易分类样本在损失函数中所占的比重。

(3)

3.6 改进后的SSD网络结构模型

将上述改进后的DenseNet基础网络替换到SSD的基础网络中,将尺寸为38×38、19×19的特征图取出添加到额外增加网络中,另外替换原有的交叉熵损失函数,改为焦点损失函数。改进后的SSD网络结构如图7所示。

图7 改进后的SSD网络结构Fig.7 Improved SSD network structure

4 实验与结果分析

4.1 实验条件

本文采用佳能EOS 6D Mark相机和24~105 mm变焦镜头进行图像采集,其最大分辨率为6 240×4 160,传感器尺寸为35.9 mm×24 mm,在钢靶板尺寸为2 m×3.5 m情况下,像素分辨率最高为0.38 mm/pix,为采集破片图像提供了保障。此次试验共采取到1 683个破片图像,通过对各类型破片进行训练,将其中的90%用作训练集和验证集(训练集和验证集比例为9∶1),10%用作测试集。实验在Python 3.7以及Pytorch 1.2 的深度学习框架上进行,使用CUDA9.0加速GPU运算,GPU由4块英伟达GTX1080Ti(11 GB 显存)组成。

4.2 目标检测结果分析

本文算法与同样基于SSD网络模型的VGG基础网络模型、改进前的DenseNet基础网络模型进行对比分析。采用检测平均精度(average precision,AP)和平均精度均值(mean average precision,mAP)作为算法检测性能的评价指标。上述算法在数据集上的检测结果如图8所示。

根据图8,针对本次实验的破片数据集验证结果来看,以VGG-16为基础网络的目标检测算法对于一些边缘目标、小目标,或者一些形状奇特的破片的漏检率比较大,而通过改进的DenseNet基础网络的检测效果明显较好,不仅检测精度增加,漏检率也大大降低。

图8 本文算法与其他算法检测结果对比Fig.8 Results compared with other algorithms

图9、图10是本文算法下21号靶板静爆场破片图像的识别结果,共提取出242个目标结果,可以看出,本文算法对于破片识别的准确度以及精度都要高。对于小破片也有更好的识别效果,漏检率较低。人工检靶和本文算法识别的破片结果如表2所示。

图9 21号靶板破片着靶前后对比Fig.9 Target plate fragment No.21 before and after target comparison

图10 21号靶板破片识别分割结果Fig.10 Identification and segmentation results of target plate fragment No.21

表2 各类型破片目标检测结果对比Table 2 Comparison of fragment target detection results

其中,自然破片是指破片着靶前靶板上预先采集到的目标参数信息,用来防止破片着靶前后一些靶板破损或之前试验遗留信息的干扰。大破片和小破片的划分是根据如图8所示得到的检测目标的预测框的上边界、左边界、下边界、右边界的坐标值,计算预测框的长宽,从而计算检测目标的预测框的面积,设置阈值为1 000,小于1 000记为小破片,大于1 000则记为大破片。

表3统计了18~22号靶板破片检测结果中未检测出的破片数量,即为漏检破片数。另外,一些地面因素的干扰或者图片边缘检测到其他靶板上会导致一定数量的错检,这里也对错检破片数进行了统计,错检破片数和总破片数的比值即为误检率,漏检破片数和总破片数的比值即为漏检率,分别用百分比表示。

表3 着靶破片检出结果Table 3 Detection of various types of fragments

将500张测试集进行测试,检出效果如表4所示。其中mAP表示算法的平均检测精度,根据检测过程中预测框和先验框的比较计算求得的预测值计算得出,用百分比表示,检测精度越高,表示检测的结果越准确。漏检率是未检测出的结果总数和实际总数的比值,用百分比表示,漏检率越低,检测出的结果越多,检测效果越好。误检率则是用来检验检测结果的正确率,是错检破片总数和实际破片总数的比值,用百分比表示,误检率越低,检测结果正确率越高,检测结果越精确。误检率和漏检率共同决定平均检测精度的大小。

表4 各靶板破片检出率Table 4 Detection rate of fragments of each target plate

从表2可以看出,改进的算法对自然破片和大破片的识别效果较好,对小破片的识别效果随着破片数量增加逐渐降低。通过对错检破片分析,静爆试验在野外试验过程中,部分破片打击到地面溅起泥巴以及钢靶板本身的缺陷问题,都会对破片检测造成影响。表4中DenseNet+SENet算法和本文的DenseNet+CBAMNet算法在检测时间、检测精度和误检率上都是比较接近的,甚至前者的误检率优于本文算法,但是其漏检率结果要比本文算法低1.3个百分点,考虑到本次实验的目的是尽可能多且精确地检测出小破片目标,所以采用平均精度较高的DenseNet+CBAMNet作为实验的最优算法。

5 结论

本文提出基于深度学习目标检测的方法代替传统方法自动识别静爆场破片,获取破片的数量和类别。由于部分破片目标较小,且受复杂环境影响,不易检测,提出将 SSD 网络模型中的骨干网络修改为DenseNet,并对DenseNet网络结构进行改进,最大程度地保留小目标的细节特征。引入通道注意力机制和空间注意力机制,获取通道和特征点的权值,提升小目标的特征信息提取能力。实验结果表明,该算法的检测平均精度均值较改进前SSD 算法提升4.03个百分点,误检率和漏检率均得到了很好的提升,分别增加了3.6和6个百分点。后续将继续优化模型结构,进一步提高计算效率。

猜你喜欢
破片靶板注意力
爆轰驱动下轴向预制破片飞散特性研究
弹道学报(2023年3期)2023-10-14 01:00:56
让注意力“飞”回来
叠合双层靶抗球形破片的侵彻能耗
具有攻角的钨合金弹侵彻运动靶板的数值模拟研究
弹丸斜撞击间隔靶板的数值模拟
弹药动态加载下破片测试方法
中国测试(2018年10期)2018-11-17 01:58:40
半预制破片战斗部破片威力分析
“扬眼”APP:让注意力“变现”
传媒评论(2017年3期)2017-06-13 09:18:10
A Beautiful Way Of Looking At Things
前向战斗部破片散布均匀性研究*