曾文健,朱艳,沈韬,曾凯,刘英莉
1. 昆明理工大学信息工程与自动化学院,昆明 650500; 2. 昆明理工大学云南省计算机技术应用重点实验室,昆明 650500
近年来,基于卷积神经网络(convolutional neural network,CNN)的目标检测算法以其优异的检测性能和快速处理数据的能力在目标检测领域得到了广泛应用。现阶段的目标检测算法按检测流程分为两类;一类是以Faster R-CNN(region-convolutional neural network)(Ren 等,2017)、Mask R-CNN(He 等,2017)为代表的具有区域建议的两阶段目标检测算法,这些检测算法在检测精度上较高但是检测速度慢。另一类是以SSD(single shot multibox detector)(Liu 等,2016)、YOLOv4(you only look once)(Bochkovskiy 等,2020)等为代表的单阶段目标检测算法,这些检测算法能实现实时性的快速检测,但是在检测精度上低于两阶段的目标检测算法。
基于深度学习的目标检测算法虽然在对自然光学图像的检测中取得了较好的检测效果,但由于太赫兹图像的对比度较低,图像中目标的边缘信息模糊,导致背景信息容易与目标信息混淆;同时,由于太赫兹图像中的目标尺寸较小,目标特征有限,最后导致基于深度学习的目标检测方法对太赫兹图像的检测效果较差。因此,如何利用有限的特征信息来准确检测太赫兹图像中的目标是太赫兹图像检测的难点。
为了解决上述问题,本文在YOLOv4的基础上提出一种融合非对称特征注意力和特征融合的目标检测网络AFA-YOLO(asymmetric feature attention-YOLO)。AFA-YOLO在检测模型中加入非对称卷积(Ding等,2019)来增强模型对目标的特征提取能力,并且使用CBAM(convolutional block attention module)(Woo 等, 2018)注意力机制模块使模型关注图像中的有用特征,抑制冗余特征,从而减少背景信息对目标产生的干扰,降低漏检情况。本文的主要贡献如下:
1)以YOLOv4检测网络为基础,针对太赫兹图像检测提出了一种融合非对称特征注意力和特征融合的目标检测网络AFA-YOLO,能有效提高对太赫兹图像中目标的检测精度并降低漏警率。
2)设计了一种非对称特征注意力模块,该模块通过非对称卷积增强了网络对目标的特征提取能力,利用通道注意力关注到图像中目标的重要通道信息,利用空间注意力使网络关注图像中的关键区域。
3)通过增加网络中的信息传输路径对高层特征进行特征增强,将低层高分辨率特征和具有丰富语义信息的高层特征融合,充分利用低层特征检测太赫兹图像中的小尺度目标。
4)对比了不同的目标检测算法在太赫兹数据集上的检测效果。在满足实时性检测的前提下,AFA-YOLO在对太赫兹图像中小目标的检测上获得了最高的检测精度以及最低的漏警率,检测精度为82.36%,漏警率为12.78%。
Faster R-CNN是以VGG(Visual Geometry Group)网络为基础的两阶段目标检测算法,该算法将候选区域生成、特征提取、分类和位置精修统一到一个网络结构中,真正实现了端到端的目标检测,提高了检测速度和检测精度。但是在获取区域建议的过程中,由于计算量较大,无法达到实时性检测。Mask R-CNN对Faster R-CNN进行了扩展,添加了一个分支,使用现有的检测对目标进行并行的预测,并且在类别预测时做到了像素级别。
YOLO(Redmon等,2016)是常见的单阶段检测算法之一,YOLO将目标检测任务转化成一个回归问题,大大加快了检测速度。与Faster R-CNN不同的是,YOLO算法在训练和预测过程中利用全图信息,因此可以将背景预测错误率降低一半。但YOLO算法对小尺度目标的检测效果不太好,随后YOLO9000(Redmon和Farhadi,2017)、YOLOv3(Redmon 和Farhadi,2018)等算法针对这一问题在不同程度上有了相关改进。本文中用到的YOLOv4算法平衡了检测精度和速度,可以在一块普通的GPU上完成训练,最后达到实时性检测。YOLOv4先通过由53个卷积层组成的网络CSPDarkNet53(cross stage paritial DarkNet53)进行特征提取,再由空间金字塔池化(spatial pyramid pooling, SPP)进行多尺度特征融合,同时路径聚合网络(path aggregation network, PANet)(Wang 等, 2019)会对提取到的特征进行特征增强,最后将特征图送入检测层进行目标检测操作。
SSD是常见的单阶段检测算法之一。主网络结构是VGG16,并将最后两个全连接层改成了卷积层。SSD算法与YOLO的不同之处是除了在最终特征图上做目标检测外,还在之前选取的5个特征图上进行预测,虽然提高了对小尺度目标的检测精度,但是SSD算法的缺点也很明显,需要人工设置先验框的尺寸大小和比例,并且对目标的召回率较低。
上述检测方法都实现了端到端的目标检测,将深度学习中的检测方法引入太赫兹图像的检测中可以大大减少人力资源的使用,同时提高安检场景中的检测效率。但上述方法并不针对太赫兹图像中的目标检测,在对太赫兹图像的检测中检测精度较低,同时存在较高的漏检。
在对太赫兹图像的检测研究中,目前研究人员通过改进相关的检测算法来提高对太赫兹图像的检测效果。Xiao等人(2018)提出了一种结合预处理和结构优化的框架R-PCNN(region-preprocessing convolutional neural networks),在Faster R-CNN网络中加入图像去噪和增强模块来解决传统的图像分割和定位方法对太赫兹图像检测精度和速度不够的问题。Zhang等人(2018)分析了太赫兹图像与光学图像的相似性,提出了基于光学特征迁移的分类方法和一种阈值分割结合Faster R-CNN的检测方法,用于独立检测人体和其他物体以提高检测性能;Yang等人(2019)通过稀疏低秩分解方法挖掘太赫兹图像的时空信息,实现对可疑对象的高精度自动检测和识别。
在目标检测中,由于小尺度目标在图像中的信息较少导致检测小尺度目标要比检测中型和大型目标更困难。在COCO(common objects in context)评价标准中,图像中小于或者等于32×32像素的物体通常归类为小尺度目标。当前研究人员针对小尺寸目标检测也展开了相关的研究。Sommer等人(2017)用5个卷积层和3个全连接层组成的浅层神经网络来实现对航空图像中的小尺度目标检测。Gao等人(2018)先对图像进行下采样,然后使用强化学习动态地搜索感兴趣区域,最后以更高的分辨率对该区域进行小尺度目标检测。陈冰曲和邓涛(2019)针对车辆数据集重新设计了SSD算法的区域候选框,并在SSD算法的损失函数基础上增加排斥损失提高对重叠目标检测。Liu等人(2020)提出一种基于反卷积区域的卷积神经网络来实现准确检测交通标志的问题。郭璠等人(2021)提出了一种基于语义分割的通道注意方法和空间注意方法YOLOv3-A来增强模型对交通标志的检测性能。
AFA-YOLO检测网络在CSPDarkNet53的浅层部分设计了一种非对称特征注意力模块,该模块结合了非对称卷积和CBAM注意力机制的优点来强化网络模型对太赫兹图像中目标的特征提取能力。图1为AFA-YOLO的网络结构图,输入图像先经过非对称特征注意力模块和特征提取网络CSPDarkNet53进行特征提取,再由SPP流向路径聚合网络。由于小尺度目标依赖浅层网络提取的低层特征信息,因此,AFA-YOLO检测框架中进行了特征融合,将经过非对称特征注意力模块后的低层高分辨率特征和高层具有丰富语义信息的特征融合,充分利用低层特征图中目标的外观信息进行定位,如图1中虚线所示,最后网络结合不同分辨率的YOLO检测层进行目标检测。
图1 AFA-YOLO网络结构图Fig.1 Structure diagram of AFA-YOLO network
2.2.1 非对称卷积
在太赫兹图像中,由于图像中目标尺寸相对较小,特征信息有限且图像中目标的边缘信息模糊,普通的方形卷积核对于太赫兹图像中目标的特征提取能力不足,不能突出卷积核提取到的目标特征。非对称卷积相比于普通方形的卷积增加了水平卷积和竖直卷积,新增的两个卷积核增强了方形卷积核中心骨架的特征提取能力,从而强化了方形卷积核中心的特征,弱化了边缘的特征,因此,非对称卷积能很好地帮助网络提取到目标的特征。图2为非对称卷积。
图2 非对称卷积Fig.2 Asymmetric convolution
在AFA-YOLO的网络中,本文在特征提取网络CSPDarkNet53第1个卷积层之前使用非对称卷积将现有的3×3卷积核替换成3×3、1×3、3×1这3个并行的卷积核,这3个卷积核会分别对同一个输入特征进行特征提取操作,然后将这3个卷积核提取到的特征进行融合后得到该卷积层的输出结果。
2.2.2 通道注意力机制
注意力机制模块的主要功能是为了增加检测模型的数据表征能力,使网络学习到图像特征中的重要信息并抑制不重要的信息。按照注意力作用的特征形式,注意力机制可以分为基于通道的注意力和基于空间的注意力。
图像的通道信息一般代表不同的特征信息,图像的通道数越多,包含的特征信息越丰富。使用通道注意力机制来选择通道中的关键特征,同时抑制与目标无关的特征,有利于将太赫兹图像中的目标信息和背景信息分离,从而减少模型的漏检情况。图3为通道注意力机制。
图3 通道注意力Fig.3 Channel attention
图3中对一个输入特征分别进行空间的全局平均池化和最大池化后得到两个1维向量,然后将其输入到一个共享感知机中,再将得到的两个特征相加后经过一个Sigmoid激活函数得到权重系数Mc。最后,将得到的权重系数和原来的特征相乘即可得到经过通道注意力后的新特征。实现通道注意力的方法为
(1)
2.2.3 空间注意力机制
空间注意力关注的是图像中目标的位置信息。利用空间注意力机制可以增加目标关键区域的权重,使网络关注到太赫兹图像中的重点区域,有助于网络提取到目标关键特征。图4为空间注意力机制。
图4 空间注意力Fig.4 Spatial attention
在CBAM的空间注意力中,Woo 等人(2018)证明了使用7×7的卷积核比3×3的卷积核效果更好,因此本文同样使用7×7的卷积核来提取特征。然后,特征经过Sigmoid激活函数得到空间注意力权重Ms。为了保证最后得到的特征在空间维度上与输入的特征一致,将权重特征Ms和原始特征相乘即可得到缩放后的新特征。实现空间注意力的方法为
(2)
神经网络通过一系列卷积和池化操作可以提取到图像中目标的相关特征。浅层网络的感知域较小,可以学习到局部区域的特征,深层网络具有较大的感知域,能够学习到更加抽象的特征。
在AFA-YOLO网络中,随着网络深度的增加,神经网络提取到特征的语义信息也就越强,这些特征对物体的大小、位置和方向等敏感性更低,因此有助于检测性能的提高。但随着网络深度的增加,特征图的分辨率会逐渐降低,并且高层特征丢失了目标外观的细节信息,因此在检测太赫兹图像中这些尺寸较小的目标时需要高分辨率的低层特征来定位目标。本文通过增加网络中的信息传输路径,如图5中虚线所示,让低层特征和高层特征以add(特征图相加,通道数不变)方式进行特征融合,充分利用高分辨率的低层特征来提高网络模型对小尺度目标的检测效果。图5为低层特征和高层特征的融合方式。
图5 特征融合Fig.5 Feature fusion
将浅层的高分辨率特征图通过下采样的方式与不同的特征进行融合,使得高层特征图能获取到细粒度的目标外观信息,从而优化对太赫兹图像中小尺度目标的定位和检测效果。add方式的特征融合方法为
(3)
式中,X和Y分别表示两组输入特征的通道,K表示卷积核,Z表示输出特征,c为特征图通道的最大值。
本文所使用的太赫兹数据集包含了7 711幅不同的太赫兹图像,每幅图像的尺寸为200×380像素,如图6所示。对收集到的7 711幅太赫兹图像用LabelImg软件进行标注,将图像中的检测目标分为两类,分别为phone和knife,标注过程中发现所有目标均小于32×32像素。标注完成后,每一幅太赫兹图像都对应有一个XML(extensible markup language)格式的标注文件,文件里记录着目标的位置信息。最后,将太赫兹图像制作成VOC(visual object classes)类型的数据集。
图6 太赫兹图像Fig.6 Terahertz images
表1为本文实验环境配置表,实验在Ubantu16.04系统下进行,处理器型号为Intel(R) Core(TM) i5-9400F CPU @ 2.90 GHz,使用Nvidia RTX 2060显卡,内存为16 GB,开发语言为python3.6,深度学习框架采用PyTorch1.6以及OpenCV3图像处理库。
表1 实验环境配置Table 1 Experimental environment configuration
在训练阶段,batchsize批量大小为4,momentum动量为0.9,decay权值衰减为0.000 5,learning_rate学习率为0.001,迭代次数为300 epoch。
目标检测算法的评价指标有平均精度均值、漏警率以及检测速度。平均精度均值代表所有类别检测的平均准确率,平均准确率(average precision, AP)由查准率p和召回率r计算得到。漏警率是衡量检测模型的重要指标之一,尤其是对小尺度目标的检测,判断模型是否将图像中所有目标全部检测出来。检测速度是评估一个检测器的实时性指标,通常用每秒处理帧数表示,帧率(frames per second, FPS)越大,说明检测器的实时性越好,当FPS值大于30帧/s时即可做到实时性检测。各指标公式为
(4)
(5)
(6)
(7)
(8)
式中,查准率p为正确检测的正样本数占检测结果中正样本总数的比例,召回率r为正确检测的正样本数占实际正样本总数的比例,真阳性(TP)表示正确检测的正样本数、假阳性(FP)表示实际为负样本但检测为正样本的数量、假阴性(FN)表示实际为正样本但检测为负样本的数量,Q表示检测的类别数,AP(q)表示q类别的平均准确率,MA为漏警率,用来衡量模型漏检程度。
3.4.1 实验结果
为了说明本文方法AFA-YOLO相比YOLOv4的优劣之处,对比了两者的模型参数量以及模型的推理时间。从表2可以看出,AFA-YOLO相比YOLOv4,模型的参数量大小增加了1.25 M,因此推理时间也增加了3 ms。
表2 模型参数与推理时间Table 2 Model parameters and inference time
本文对训练过程进行了可视化,其中图7、图8分别对比了AFA-YOLO与YOLOv4训练时的mAP和recall的变化曲线。
图7中模型的mAP值随训练周期逐渐增大,在训练300 epoch后,其中AFA-YOLO的值最终稳定在82.36%,YOLOv4的值最终稳定在78.44%,AFA-YOLO比YOLOv4高了3.92%。图8中模型的召回率同样随着训练周期的增加逐渐升高,AFA-YOLO最终稳定在87.22%,YOLOv4最终稳定在84.57%, AFA-YOLO比YOLOv4高了2.65%。
图7 mAP曲线Fig.7 mAP curves
图8 召回率曲线Fig.8 Recall curves
从实验结果分析得到,本文AFA-YOLO方法虽然在模型参数量上有所增加,但是能带来更高的检测精度以及更高的召回率。
3.4.2 消融实验
为了充分探究AFA-YOLO中每个模块的改进对检测模型的影响,进行消融实验,对比YOLOv4、YOLOv4+非对称特征注意力、YOLOv4+特征融合和本文AFA-YOLO算法。实验结果如表3所示。由表3可知,在网络中增加了非对称特征注意力模块后,mAP提升了1.99%, MA降低了2.1%,FPS降低了2.85帧/s;在网络中增加了特征融合后,mAP提升了1.53%,MA降低了1.98%,FPS降低了1.31 帧/s;在同时加入非对称特征注意力模块和特征融合后,mAP提升了3.96%,MA降低了2.65%,FPS降低了4.06帧/s。从检测角度看,在网络中添加非对称特征注意力模块和特征融合后虽然检测速度有所降低,但是能有效让检测模型学习到太赫兹图像中目标的特征,从而能有效提升检测模型的检测精度,同时降低模型的漏警率。
表3 消融实验Table 3 Ablation experiment
图9为AFA-YOLO模型对太赫兹图像检测的结果图,图中的数值代表了模型判断为该类别的置信度,从检测效果来看,AFA-YOLO模型能很好地将太赫兹图中的目标检测出来,并且达到了较高的精度。
图9 太赫兹图像检测Fig.9 Terahertz image detection
3.4.3 与其他方法的对比
为了说明AFA-YOLO模型的有效性,本文对比了主流的目标检测算法在太赫兹数据集中的检测效果。其中,Faster R-CNN、Mask R-CNN为两阶段目标检测算法,SSD、YOLOv3、YOLOv4为单阶段目标检测算法。实验结果如表4所示,与其他检测算法相比,AFA-YOLO检测算法中的非对称特征注意力模块提升了对太赫兹图像中目标的检测精度,同时能有效降低漏警率,并且特征融合也有利于对太赫兹图像中的目标检测,AFA-YOLO相比原YOLOv4算法虽然检测速度有所降低,但是仍能满足实时性的检测要求。
表4 不同检测算法的比较Table 4 Comparison of different detection algorithms
随着太赫兹技术的发展,基于太赫兹成像的人体安检技术成为安检领域中的研究热点。但太赫兹图像中目标较小、特征有限,并且背景信息易对目标信息产生干扰,这成为太赫兹图像检测的难点问题。本文以YOLOv4算法为基础,提出了一种融合非对称特征注意力的目标检测网络AFA-YOLO。首先,AFA-YOLO网络在浅层网络中使用非对称卷积来增强网络的特征提取能力,能在目标特征有限的太赫兹图像中提取到有效的目标特征;其次,网络中加入了CBAM注意力机制,通过通道注意力和空间注意力使网络模型学习到图像中目标的重要特征,解决背景信息和目标信息干扰的问题,同时让检测模型关注图像中的重点区域;最后通过增加网络中低层到高层的信息传输路径对高层特征增强,将低层高分辨率特征和高层具有丰富语义信息的特征进行融合,充分利用低层特征检测太赫兹图像中的小尺度目标。实验结果表明,本文提出的AFA-YOLO方法在太赫兹数据集上的检测精度提升了3.96%,达到了82.36%;漏警率降低了2.65%,为12.78%;FPS降低了4.06帧/s,为32.26帧/s,达到了较好的检测效果。本文与其他检测算法进行了对比,AFA-YOLO算法在检测精度和漏警率的表现上优于其他检测算法,但由于在网络模型中增加了非对称卷积,导致模型的参数量增多,因此AFA-YOLO在检测速度上慢于YOLOv3、YOLOv4以及SSD算法,但是仍然能满足实时性的检测要求。
由于本文中只有knife和phone两类检测对象,图像样本上缺乏多样性,因此在以后的研究工作中,将陆续增加检测对象,将安检中的违禁品纳入其中,并扩充太赫兹图像数据集以提高本模型的实用性和鲁棒性。