张 伟,周旗开,李睿智,牛 福
(军事科学院系统工程研究院,北京 100166)
近年来,随着人工智能和深度学习等计算机技术的快速发展,目标检测技术在各行各业大放异彩,在军用和民用领域均得到了广泛应用[1]。在军用领域,伪装技术已经成为现代战争中用于迷惑敌方、干扰敌人侦查的重要手段之一,而军事目标检测算法也在战场态势感知、快速识别敌方潜在目标等方面具有重要的战略意义。在民用领域,目标检测算法已经在人脸识别、视频监控、自动驾驶、医学图像分析等方面发挥了重要的作用,对提高公共安全、减少人力及资本的消耗具有重要的现实意义[2-3]。尤其在紧急救援中,具备目标搜索与定位功能的救援机器人和搜救无人机发挥了重大作用,救援机器人能够在复杂多变的灾害现场以及窄小空间快速识别和定位幸存者并实施救援工作,搜救无人机可以自动搜索和定位来自森林及大海等大面积内的失联船只和人员,可大大提高人员搜救效率[4]。
通常情况下,军事伪装目标所处的野外环境较为复杂,例如山川、雪地、荒漠以及灌木丛等,都可能藏有各式各样的军事目标,这些均给现有的目标检测算法带来了巨大挑战。经研究,伪装人体目标检测任务的难度主要有以下2点:(1)伪装目标的辨识度非常低、隐蔽性非常高,由于自身颜色、纹路以及图案的多样性,伪装目标与周围背景高度融合,区分度低;(2)重叠遮挡情况严重,重叠遮挡会使目标检测算法难以充分提取伪装特征信息,进而导致检测精度下降。因此,如果能研发出精度高、泛化能力强的目标检测算法,将对战场搜救领域目标快速搜索定位具有重要的现实意义[5]。
目前,基于深度学习的军事目标检测算法主要分为2类:一类是双阶段检测算法,其原理是先划分目标候选区域,再进行分类与回归,代表算法有区域卷积神经网络(region-based convolutional neural network,R-CNN)、Fast R-CNN以及Faster R-CNN等;另一类是单阶段检测算法,采用一个网络直接对目标进行分类与回归,代表算法有EfficienctNet、RetinaNet以及YOLO系列等。但目前有关伪装人员检测方面的研究较为匮乏,邓小桐等[6]在RetinaNet算法的基础上引入了模仿人类视觉的注意力机制,有效实现了对迷彩伪装人员的检测。梁新宇等[7]结合多尺度特征提取和多层次注意力机制提出了迷彩伪装目标语义分割网络(camouflage semantic segmentation network,CSS-Net),提高了野外战场环境下迷彩伪装目标分割的准确性。以上研究虽然对于伪装人体目标检测任务在检测精度方面均有一定提升,但在实际应用方面,通常需要同时考虑到算法的检测精度以及模型轻量化程度,所以如何保证在对复杂环境伪装人体目标精确识别的前提下,使网络模型更加轻量化是一个值得深入研究的课题。
基于此,本文提出一种基于注意力机制的目标检测算法Transformer-CBAM-YOLOv5s(以下简称“TC-YOLOv5s”)。首先,针对复杂环境下伪装人体目标的特点,选择以YOLOv5s为基本框架,分别在特征提取网络和特征融合网络末端嵌入自注意力模块Transformer,强化算法对图像全局信息的提取,建立所有像素之间的依赖关系,增强伪装人体目标与环境背景的辨识能力;其次,在特征融合网络中通过添加卷积注意力机制模块(convolutional block attention module,CBAM),进一步加强算法对伪装人体目标特征的提取能力,削弱对周围环境的关注度,有效提高算法的抗背景干扰能力。通过增加注意力机制,使算法具备和人眼一样的敏锐观察能力,强化网络对重叠、遮挡目标的精确检测与识别,以提高对迷彩伪装人员的检测精度。
YOLOv5算法[8]是目前热门且优秀的单阶段检测算法之一,该算法由输入端、主干特征提取网络、特征融合网络以及预测端4个部分组成。YOLOv5算法的第1部分是输入端,输入图片的大小一般为640×640像素。第2部分为主干特征提取网络,主要由Focus、Conv、C3以及空间金字塔池化(spatial pyramid pooling,SPP)[9]等结构组成,其中Focus结构用于保留更多的特征信息;Conv结构为基本的卷积过程,主要在输入特征图上执行二维卷积、正则化和激活等3种操作;C3结构由若干个Bottleneck模块组成,Bottleneck为一种经典残差结构,输入经过2层卷积层后与原始值进行Add操作,在不增加输出深度的同时完成残差特征传递;SPP结构为空间金字塔池化层,SPP对输入执行3种不同尺寸的最大池化操作,并将输出结果进行Concat融合拼接,进而使网络输出深度与输入深度相同。第3部分为特征融合网络,由特征金字塔网络(feature pyramid networks,FPN)[10]与路径聚合网络(path aggregation networks,PANet)[11]组成,两者的结合进一步提高了模型对目标特征的关注度。第4部分为预测端,3个预测层分别对应大、中、小等多个尺度目标的检测与识别。YOLOv5算法结构如图1所示。YOLOv5算法根据网络层数不同共有s、m、l和x 4种版本,结构层数变化主要是通过改变深度倍数和宽度倍数2个参数来实现,其中YOLOv5s网络层数最少,结构更简单,速度也最快。
图1 YOLOv5算法结构
虽然YOLOv5算法是当下典型的单阶段目标检测算法之一,对常规目标的检测效果非常出色,但在复杂背景下的迷彩伪装人员检测任务中,由于图片中的复杂环境背景通常占据较多,在提取特征信息的过程中极易产生多余的环境背景信息,导致算法难以有效提取目标特征信息,并且随着网络结构的不断加深,使得目标特征信息严重丢失,最终造成目标检测效果不佳的结果。因此,本研究针对迷彩伪装人员的高隐蔽性、低判别性以及重叠遮挡等特点,提出了一种基于注意力机制的伪装目标检测算法TC-YOLOv5s,有效改善了原始YOLOv5算法中存在的不足,并实现了对复杂环境下迷彩伪装人员的精确识别与快速定位。TC-YOLOv5s算法结构如图2所示。
图2 TC-YOLOv5s算法结构
1.2.1 Transformer模块
自2018年Transformer模块[12]被提出以来,其被广泛用于语音识别、机器翻译以及强化学习等众多领域,比如自编码语言模型和自回归语言模型等。由于Transformer模块在自然语言处理方面具有优异的表现,目前研究者们将其应用于图像识别、目标检测和图像处理等计算机视觉领域,与当下流行的卷积神经网络(convolutional neural networks,CNN)相比,Transformer模块表现出了十分出色的检测性能[13]。
目前,CNN与自注意力模块相结合的模式得到了广泛应用,如通过增强特征图来进行边缘分类或者通过在卷积网络的最后一层添加自注意力机制模块来强化计算机视觉任务的检测精度。Transformer模块由编码器和译码器进行特征提取,因为基于视觉的Transformer模块仅仅用于图像的识别,所以只需要经过编码器来进行特征的提取,在此基础上利用主干网络来提取图像特征,然后通过位置编码将其转换成序列,并将其输入到Transformer模块编码器中。其中,编码器由多头自注意力机制、多层感知机以及层标准化等结构组成。
基于视觉的Transformer模块结构图如图3所示,该模块是一种具有很强建模功能的自注意力机制的神经网络,通过自注意力机制从全局方面对图片中的近似特征进行自适应聚合,进一步提高了算法的特征提取能力。对于环境背景复杂且重叠遮挡的伪装人体目标,利用Transformer模块可以增强对全局信息的提取,建立像素间的相关性,从而解决CNN仅关注局部信息、相邻像素且整体信息获取能力差等问题,同时可以增强迷彩伪装目标与环境背景的辨识能力。基于视觉的Transformer模块的计算如公式(1)~(2)所示:
图3 Transformer模块结构图
式中,X表示输入特征图;fq、fk、fv代表线性映射函数;Q、K、V分别表示查询值矩阵、键值矩阵以及权重值矩阵;Attention代表自注意力;softmax为归一化指数函数;d表示输入数据维度。由于基于视觉的Transformer模块的运算复杂度通常与输入特征图大小的平方成正比,因此在神经网络末端位置加入Transformer模块可有效提高模型的整体感知能力,同时计算量也相对较小。本研究的改进之处主要是将Transformer模块与YOLOv5s算法中主干特征提取网络和特征融合网络末端的C3模块进行融合,提升复杂环境下对遮挡目标物的精确识别,从而提高YOLOv5s算法对复杂环境下伪装人体目标的检测性能。
1.2.2 CBAM
CBAM[10]作为简单而高效的注意力组件,是一种将空间和通道注意力相结合的即插即用模块。相比于只关注通道的注意力模块,CBAM可以取得更好的效果[14]。CBAM首先将输入特征图沿通道和空间2个方向分别计算出注意力特征图,并将其与输入特征图相乘最终实现对目标特征信息提取的最优化。由于CBAM是一个轻量级的网络组件,所以可以忽略其运算量,将其嵌入到任何的CNN体系结构中进行训练,能够使网络像人眼一样去观察兴趣目标。CBAM结构如图4所示,其主要由通道注意力模块和空间注意力模块2个部分组成。
图4 CBAM结构图
随着神经网络层数的增加,待检测目标的特征信息也在逐渐丢失。因此,本研究基于以上改进将CBAM添加到YOLOv5s算法的特征融合网络中,进一步加强了模型对兴趣目标区域的关注,解决了深层网络缺乏注意力偏好导致的伪装人体目标特征信息丢失的问题,从而提高目标被检测到的概率。CBAM的计算如公式(3)~(4)所示:
式中,F∈Rc×h×w,为输入特征图(c表示输入特征图通道数,h、w分别表示输入特征图的高度和宽度);F'为经过通道注意力模块加权得到的特征图;F''为经过空间注意力模块加权得到的特征图;Mc(F)为通道注意力输出权值;Ms(F')为空间注意力输出权值;符号⊗表示对应元素两两相乘。
为了验证本研究改进算法在复杂多变的战场及搜救环境中的有效性,实验过程中选用军事伪装人员数据集(military camouflage personnel dataset,MCPD)进行训练。MCPD[15]主要以互联网上60多种野外环境下的迷彩伪装拍摄视频为原始素材,通过视频取帧方式共截取10 000张迷彩伪装人体目标图像(分辨力大小为1 280×720),其中包含来自多个国家的迷彩伪装服饰。为了避免制作数据集过程对算法检测效果的影响,考虑不同方位、不同角度以及人体目标大小、姿态和清晰度等因素对数据集图像进行层层筛选,以保留质量较高的军事伪装目标图像。
经过严格筛选后,MCPD一共包含1 000张高清图像(每张图片包含1~3个伪装人体目标),然后使用图像标注工具LabelImg对每张图片中的人体目标进行标定,采集的伪装目标图像以单类别目标为主。本研究构建的MCPD有以下几个特点:(1)目标辨识度低和隐蔽性高;(2)目标尺度不同,包含大、中、小等多尺度的伪装人体目标;(3)目标姿态各异,包含站立、半蹲、卧倒、正面、背身及侧身等多种姿态;(4)环境背景复杂,包括丛林、雨林、山地、荒漠、雪地以及城市废墟等6种野外复杂环境,同时也涉及不同季节、不同天气、不同光照以及部分遮挡等影响因素。MCPD中部分图像样例如图5所示。
图5 MCPD中部分图像样例
本文选择准确率P、召回率R、平均准确率均值mAP、模型大小以及每秒检测图像数量FPS作为TCYOLOv5s检测算法的综合性能评价指标。FPS(帧/s)是在服务器Tesla P100显卡环境下,对测试集200张图像的检测时间求平均值得到。其中,P、R以及mAP的计算公式如(5)~(8)所示:
式中,TP为原本为正类且被划分为正类的样本;TN为原本为负类且被划分为负类的样本;FP为原本为负类但被划分为正类的样本;FN为原本为正类但被划分为负类的样本;平均准确率AP是对所有的准确率进行平均(即PR曲线下的面积);mAP是对每个分类AP进行平均,交并比IOU阈值设为0.5时求得的mAP为mAP0.5;C表示类别的数目;k表示一个类别。
本实验是基于YOLOv5(5.0版本)官方开源项目进行开展,使用YOLOv5s模型为基本配置,计算机CPU处理器为Intel®Xeon®Gold 6130(内存大小为31 GiB),操作系统为Ubuntu 18.04,Python版本为3.8;深度学习框架为Pytorch 1.8.0。所有实验均在同一块Tesla P100显卡(大小为15 GiB)上进行,实验中使用并行计算架构和图形处理器加速库进行加速训练,以提高计算机的计算能力。
训练前,将MCPD随机分为训练集、验证集和测试集,划分比例为6∶2∶2。为了充分训练改进的网络模型,防止神经网络过拟合,训练中采用多种数据增强方式对MCPD进行扩充,其中包括颜色变换、左右翻转、平移缩放以及马赛克(Mosaic)等。
训练次数(Epochs)设置为100,最大训练批次(Batch Size)设为32,输入图像的大小为640×640像素,初始学习率为0.000 1,学习率动量以及权重衰减系数分别设置为0.937、0.000 5,优化策略选择Adam优化器[16]。输出预测结果后,采用非极大抑制算法进行预测框筛选。
本研究共开展2组实验进行验证,分别为不同的改进模块消融对比实验与不同的算法对比实验,现分别进行介绍。
3.3.1消融对比实验
为了检验改进算法的检测效果,开展了消融对比实验,分别引入Transformer模块和CBAM到原始YOLOv5s算法,消融对比实验结果详见表1。
从表1中的数据可以看出,单独引入Transformer模块后,算法的P、R以及mAP0.5分别提高了3.3%、5.2%、3.2%,由于在设计网络结构时考虑了Transformer模块的复杂度,选择在主干特征提取网络以及特征融合网络末端将其引入,所以改进算法不仅没有改变模型大小,且浮点运算量相比原YOLOv5s算法更少。不仅如此,引入Transformer模块强化了算法对全局信息的提取能力,有效提高了在复杂环境下对伪装人体目标的检测精度。单独引入CBAM到特征融合网络中,解决了深层网络缺乏注意力的问题,提高了网络对目标位置、方向等特征信息的捕获能力,使得算法的P、R以及mAP0.5也分别提高了1.2%、1.4%、1.3%,进一步提高了对迷彩伪装目标的检测效果。而引入Transformer模块和CBAM后算法(即TC-YOLOv5s算法)的mAP0.5提高了4.8%,与原算法相比各项评价指标均得到了大幅提升,表明在迷彩伪装人员检测任务中加入Transformer模块和CBAM,可有效加强全局信息和局部上下文信息的提取和融合,增强网络对伪装人体目标区域的关注度,削弱对图像中复杂背景信息的提取,从而达到良好的检测效果。综上所述,本研究改进的算法能有效提高复杂环境下迷彩伪装人员的检测精度。
表1 消融对比实验结果
3.3.2 不同检测算法对比实验
为了进一步验证本研究改进算法的检测效果,将改进算法与几种主流的目标检测算法RetinaNet、YOLOX-s、YOLOv5s、YOLOv5m以及YOLOv5l进行了比较。实验中使用的数据集及平台配置条件相同,检测性能比较结果详见表2。从表2的数据可以看出,改进算法TC-YOLOv5s的大小为14.5 MiB,仅比原始的YOLOv5s算法多0.1 MiB,且检测速度降低了34.1帧/s,然而改进算法对军事伪装目标的检测准确率提高了4.8%。与RetinaNet、YOLOX-s、YOLOv5m以及YOLOv5l等4种优秀算法相比,TC-YOLOv5s更加轻量化,并且在mAP和推理速度方面均优于上述算法。从总体上来看,改进算法对伪装人体目标的检测性能最好。
表2 不同算法的检测性能
本研究改进算法TC-YOLOv5s以及YOLOv5s、YOLOv5l、YOLOX-s在丛林、雪地、山地等典型背景下对迷彩伪装人员的检测结果如图6所示。
从图6中可以看出,与原始算法YOLOv5s及其他先进算法相比,改进算法的检测精度更高,能有效捕获到迷彩伪装人员的特征信息,具有较好的鲁棒性。结果表明,本研究改进算法具有较强的泛化能力,能够有效识别和准确定位迷彩伪装人员。
图6 4种算法检测结果对比
本研究针对复杂环境下目标检测任务中伪装人体目标与周围背景高度一体化、辨识度低而导致误检和漏检的问题,提出了一种基于注意力机制的迷彩伪装人员检测算法TC-YOLOv5s。该算法分别在主干特征提取网络和特征融合网络末端嵌入Transformer模块,并在特征融合网络中引入CBAM,两者的结合不仅提高了算法对图像全局特征信息的提取,还有效解决了深层网络缺乏注意力偏好导致的伪装人体目标特征信息丢失的问题,从而进一步提高了算法对复杂环境下迷彩伪装人员的识别能力。实验结果表明,与原始的YOLOv5s检测算法相比,TC-YOLOv5s算法的P、R以及mAP0.5分别提升了0.9%、4.7%、4.8%,在保证模型大小不变的情况下,以较小的计算量大幅提升了其对复杂环境下伪装人体目标的检测性能,将其应用到救援机器人或搜救无人机等装备中,可大大提高人员搜救效率。
虽然改进算法TC-YOLOv5s对于迷彩伪装人员的检测精度比原始YOLOv5s算法有所提升,但实现算法在移动端的嵌入以及模型轻量化等方面还有待提升。未来将进一步探索如何减少网络模型参数量以及提升算法的检测精度和检测速率,从而解决伪装人体目标与周围环境难以辨识的问题。