黄 路,李泽平,杨文帮,赵 勇,张 嫡
(1.贵州大学 计算机科学与技术学院 公共大数据国家重点实验室,贵阳 550025;2.北京大学深圳研究生院 信息工程学院,广东 深圳 518055)
目标检测[1-2]是计算机视觉领域1 个重要的研究和应用方向。基于深度学习的目标检测一般分为两级检测器和一级检测器。两级检测器首先生成候选区域,再基于分类和回归对候选区域进行细化,实现目标的定位与识别。文献[3]提出R-CNN,采用选择搜索策略[4]生成候选区域,通过卷积网络提取特征,最后进行分类和回归。考虑到R-CNN 对候选区域提取特征会造成大量的冗余计算,一些研究人员不断地优化并提出一系列算法,如Fast R-CNN[5]、Faster R-CNN[6]。
相比两级检测器,一级检测器不须提取候选区域,有效提高检测效率,但存在检测精度低的问题。文献[7]提出SSD,尝试从多个尺度自上而下地预测类别和边框。文献[8]提出YOLO,从整张特征图上预测目标的类别和边框信息。在YOLO 基础上,研究人员不断地优化并提出一系列的YOLO 算法,例 如YOLOv2[9]、YOLOv3[10]、YOLOv4[11]和YOLOx[12]等。考虑到一阶段检测器普遍存在正负样本不平衡、困难样本问题,文献[13]采用聚焦损失函数抑制正负样本不平衡,同时挖掘困难样本。此外,文献[14]采用数据增强和增加浅层特征的方式提高模型的检测能力,同时调整损失函数,避免出现梯度消失。考虑到不同尺度间感受野的差异,文献[15]在浅层特征上引入多分支并行空洞卷积,提出一种基于多分支并行空洞卷积的多尺度目标检测算法。
现有目标检测网络通常利用骨干网络的主分支层提取高维特征信息,然而经过上采样、卷积等操作后容易造成主分支层的特征信息丢失。为此,文献[16]提出一种特征金字塔网络,采用自顶向下的方式融合邻接尺度间的特征。在文献[16]的基础上,文献[17]提出PANet,增加1 个自底向上的路径,融合各层特征间的语义信息和位置信息。考虑到直接融合不同尺度的特征会产生不平衡问题,文献[18]提出自适应空间特征融合(Adaptively Spatial Feature Fusion,ASFF)方法,通过1×1 卷积计算各尺度特征的标量映射,学习尺度间的空间重要性权重,平衡不同尺度特征的表达能力。文献[19]通过设计特征门控模块和动态融合模块,实现多尺度特征的动态融合。文献[20]通过融合骨干网络的多个主分支层,然后上采样最后1 个主分支层,提出一种双分支特征融合的检测算法。
综上所述,现有算法虽然取得一定的成效,但是主分支层的关键特征并没有得到充分利用。此外,通过设计复杂的网络结构融合不同尺度的特征,不仅增加模型复杂度,而且忽略不同尺度特征表达能力不平衡等问题。为此,本文提出一种基于区域感知的多尺度目标检测算法CW-YOLO。在YOLOv5[21]的基础上,采用数据增强、改进的边框损失Beta-CIoU 和Alpha-DIoU-NMS,构 建1 个增强 的基线 模型。在主分支层上分别引入通道信息增强模块(Channel Information Enhancement Module,CIEM),充分利用主分支层的关键特征,避免了主分支特征信息容易丢失的问题,并强化模型对重点区域的感知能力。同时,提出加权特征融合方法(Weighted Feature Fusion Method,WFFM),平衡不同尺度的输入特征对输出特征的表达能力,进而提高算法对多尺度目标的感知能力。最后,该算法在公开数据集Pascal VOC[22]、MS COCO[23]、Global Wheat[24]、Wider Face[25]和自制 数据集Motor Defect 上完成 了实验验证。
本文在YOLOv5 的基础上,采用数据增强、Beta-CIoU 损失和Alpha-DIoU-NMS 方法构建1 个增强的基线模型,并提出一种基于区域感知的多尺度目标检测算法CW-YOLO,网络结构如图1 所示。CW-YOLO 的整体网络结构主要由骨干网络、颈部网络和YOLO 检测头组成,C1、C2、C3 表示3 种不同尺度的特征图。首先,骨干网络采用CSPDarkNet53[26]提取主分支层{C1,C2,C3}的特征信息,在此基础上引入CIEM 作为额外的分支层,然后将CIEM 与经过自顶向下和自底向上的路径聚合网络融合,分别得到3 种融合不同语义信息和位置信息的特征图M11、M22 和M33。使用WFFM 对不同尺度的特征图{M11,M22,M33}进行2 次融合,得到3 种不同尺度的检测头{P1,P2,P3}。针对P1、P2 和P3,分别在特征图M11、M22、M33 上引入平衡因子{d,e,f},平衡不同尺度的输入特征对输出特征的表达能力。最后将P1、P2 和P3 进行多尺度预测,实现目标的识别与定位。CIEM 通过提取每个主分支层的关键特征,有助于过滤背景信息的干扰特征,提高模型对重点区域的感知能力。WFFM 能够平衡不同尺度的输入特征对输出特征的表达能力,强化各个检测头对多尺度目标的感知能力。
图1 CW-YOLO 网络结构Fig.1 Structure of CW-YOLO network
YOLOv5 的网络结构主要由CSPDarkNet53、PANet 和YOLO 检测头组成。在数据预处理阶段,主要采用平移、旋转、Mosaic、Mixup[27]等数据增强策略。Mosaic 数据增强是把不同的样本经过随机裁剪、随机旋转和随机拼接组成;Mixup 数据增强是把2 张不同的样本按照一定的比例融合,提高样本的数据量,增强模型的鲁棒性。
针对目标框的困难回归问题,在预测框和真实框的交并比(Intersection over Union,IoU)上引入调节因子来增大模型对困难回归框的损失和梯度。假设IoU 的期望和方差分别为μ和σ2,引入调节因子β后,IoU 的期望 和方差 分别变 为βμ和β2σ2。当β∊(0,1)时,IoU 的方差变为原来的β2,能有效缓解预测框和真实框之间IoU 的离散程度,进而增大困难回归框的信息量。此外,受Alpha-IoU[28]的启发,以预测框与真实框中心点的欧氏距离和高宽比作为边框损失的约束条件,在此基础上引入调节因子并提出Beta-CIoU 边框损失,其计算式如式(1)所示。通过改变调节因子,使得模型增大困难回归框的损失和梯度,从而更关注困难回归目标。在不增加任何代价的情况下,提高目标检测的精确度。
其中:ρ(b,bgt)表示预测框b和真实框bgt中心点的欧氏距离;β表示调节因子;α默认为3;c表示最小外接框的对角线长度。γ和ν的计算式如式(2)所示:
在目标检测的后处理阶段,传统的非极大值抑制(Non-Maximum Suppression,NMS)方法采用普通IoU 阈值作为候选框筛选的指标。然而,当同类别目标存在遮挡时,不同候选框之间的IoU 可能会超过筛选的阈值,会被误认为是同1 个目标,从而过滤掉遮挡目标。因此,以不同候选框的中心点距离作为约束条件,在DIoU[29]的基础上,将Alpha-IoU 推广到NMS,提出Alpha-DIoU-NMS,减小与遮挡目标的IoU,使得模型能够提取到丰富的目标框信息,计算式如式(3)所示:
在多尺度特征融合[30]中,浅层特征具有更多的位置信息,有利于小目标检测。深层特征经过多次卷积、池化等操作后能够提取丰富的语义信息,有利于大目标检测。然而,现有的目标检测算法采用自顶向下、自底向上等路径聚合网络融合多尺度信息,往往忽略了经过卷积、上下采样等操作后容易造成主分支层特征信息丢失的问题。研究人员指出,直接融合不同尺度的特征会引入大量的背景信息,使得目标的边界变得模糊,重点区域的特征不明显,从而弱化模型对目标区域的关注。
针对上述问题,受SENet 注意力机制[31]的启发,本文提出CIEM模块,数学表达式如式(4)所示:
CIEM 模块沿着主分支层的通道方向使用全局最大池化(Global Maximum Pooling,GMP)和全局平均池化(Global Average Pooling,GAP)提取重要的通道信息,采用1×1 卷积融合跨通道间的信息,然后通过Sigmoid 激活函数获取非线性的权重矩阵,最后融合主分支层的特征,使得模型尽可能保留主分支层的关键特征,提高模型对重要区域的感知能力。
CIEM 模块的网络结构如图1 所示。在主分支层{C1,C2,C3}上分别引入CIEM 作为额外的分支层,与经过自顶向下和自底向上的路径聚合网络融合,提取主分支层{C1,C2,C3}的关键特征和上下文信息,抑制背景信息的干扰,提高模型对重点区域的感知能力,使得模型更关注待测目标。考虑到小目标的像素信息少且对位置信息敏感的特性,移除中间层与最浅层特征的第1 次融合操作,使得浅层特征能获取更丰富的位置信息,提高模型的检测效果。
在卷积神经网络中,随着网络层数加深,模型越有利于大目标检测,相反越浅层的特征对小目标的信息更加敏感。由于目标尺寸大小不一,因此容易造成不同尺度的特征表达能力不平衡。现有方法主要通过直接相加、通道拼接操作和设计复杂的网络模块等方式融合不同尺度的特征,不仅增加网络模型的复杂度,而且忽略了不同尺度特征表达能力不平衡的问题。
针对以上问题,在原有特征融合的基础上进行2 次融合,本文提出一种加权特征融合方法,平衡不同尺度的输入特征对输出特征的表达能力。通过给不同尺度的输入特征{M11,M22,M33}引入1 个平衡因子,调整不同尺度的输入特征对输出特征的表达能力,提高不同尺度特征的有用信息,抑制背景信息的干扰,从而提高3 个检测头{P1,P2,P3}对不同大小目标的表达能力,增强模型对多尺度目标的感知能力。针对小、中、大3 种检测头,分别调整平衡因子dl、el和fl的大小来平衡不同尺度的输入特征对输出特征的表达能力,从而达到尺度平衡的目的,计算式如式(5)所示:
其中:xn→l表示从第n层到第l层的输入特征;yl表示融合后的输出特征。在特征融合前需要对不同的特征图进行尺度变化,使其与融合后的特征在分辨率和通道上保持一致。此外,为了防止平衡因子的取值不稳定给模型训练带来的影响,规定如式(6)所示:
算法在公开数据集Pascal VOC、MS COCO、麦穗数据集Global Wheat、人脸检测数据集Wider Face和自制数据集Motor Defect 上进行实验验证。Pascal VOC 数据集包含20 个类别,共有16 551 张训练集图片和4 952 张验证集图片;MS COCO 数据集包含80 个类别,共有118×103张训练集图片、5×103张验证集图片和20×103张测试集图片;Global Wheat 数据集包含1 个类别,共有2 675 张训练集图片和747 张验证集图片;Wider Face 数据集包含1 个类别,共有12 876 张训练集图片和3 226 张验证集图片;Motor Defect数据集包含5 个类别,共有3 451 张训练集图片和645 张验证集图片。
本次实验所采用的操作系统是Ubuntu20.04 LTS,显卡型号为RTX 2080Ti 和RTX 3090,CUDA 版本为11.3,并在PyTorch框架下完成代码编写。本文实验采用随机梯度下降法优化模型,超参数设置如表1所示。
表1 超参数设置Table 1 Hyperparameter setting
在目标检测中,平均精度(Average Precision,AP)是衡量模型性能的1 个重要指标,通过模型的精确度(P)与召回率(R)所组成的线下曲线面积得到。AP50∶95表示步长为0.05,计算IoU 从0.50~0.95 的平均精度均值;AP50表示IoU 为0.5 的平均精度;AP75表示IoU 为0.75 的平均精度;APS表示小目标的平均精度,其目标区域小于322 个像素;APM表示中目标的平均精度,其目标区域在322~962 个像素之间;APL表示大目标的平均精度,其目标区域大于962 个像素。此外,根据参数量和计算量(FLOPs)衡量模型的复杂度。
本文在Pascal VOC 数据集上对CW-YOLO 的各个模块进行论证和分析。采用默认的训练协议和训练参数 复现了 基线模 型(YOLOv5s)。在2 张GeForce RTX 2080Ti 上进行训练和测试,并使用Pascal VOC 验证集评估模型的性能指标。实验主要围 绕Beta-CIoU 损 失、Alpha-DIoU-NMS、CIEM 和WFFM 展开分析,实验结果如表2 所示。
表2 添加各个模块的实验结果Table 2 Experimental results adding each module
从表2 可以看出,在YOLOv5s 基础上,使用Beta-CIoU 损失、Alpha-DIoU-NMS、CIEM、WFFM 和Mixup 后,模型的评价指标AP50∶95从52.11%提高到57.59%,提升5.48 个百分点,AP50从77.64%提高到81.70%,提升4.06 个百分点,此外,精确度从62.57%提高到67.14%,提升4.57 个百分点,召回率从78.99%提高到82.95%,提升3.96 个百分点。
在Beta-CIoU 中,选取不同的调节因子完成6 组消融实验,结果如表3 所示,参数量为7.1×106,FLOPs 为16.5×109。从表3 可以看出,与调节因子为1.0 相比,当调节因子为0.9 时,本文模型的评价指标AP50:95提高了0.06 个百分点,AP50提高0.3 个百分点,精确度提高了1.94 个百分点。此外,随着调节因子减少,通过增大困难回归框的损失和梯度,使得模型更关注困难回归目标,提高模型的精确度。相比基线模型,仅须修改模型的损失函数,评价指标AP50:95提高2.41 个百分点,精确度提升4.81 个百分点。Beta-CIoU 边框损失能有效提高算法的检测性能。
表3 不同调节因子的实验结果Table 3 Experimental results among different regulators
为验证Alpha-DIoU-NMS 方法的有效性,在Beta-CIoU 损失的基础上进行消融实验。从表2 可以看出,与YOLOv5s+Beta-CIoU 相比,YOLOv5s+Beta-CIoU+Alpha-DloU-NMS 模型的 评价指 标AP50:95提高0.05 个百分点。图2 所示为Alpha-DIoU-NMS和普通NMS 的可视化检测效果图。从图2 可以看出,当2 个同类别目标存在遮挡情况时,2 个目标的重叠面积增大,普通NMS 方法直接过滤掉遮挡区域的目标,而Alpha-DIoU-NMS 方法通过弱化候选框的IoU,防止模型对同类别遮挡目标产生误判,能够有效地检测出遮挡目标。
图2 普通NMS 和Alpha-DIoU-NMS 的可视化检测效果Fig.2 The visual detection effect of ordinary NMS and Alpha-DIoU-NMS
为验证CIEM 的有效性,在增强基线模型的基础上进行消融实验。表2 显示添加CIEM 模块后,模型的评价指标AP50∶95从54.57% 提高到54.99%,提 高0.42 个百分点。图3 所示为可视化增强的基线模型、添加CIEM 和引入WFFM 后的热力图(彩色效果见《计算机工程》官网HTML 版),红色表示模型对目标区域的感知程度,蓝色表示模型对背景信息的抑制程度。从图3 可以看出,相比增强的基线模型,添加CIEM 后,模型能有效地抑制背景信息,使得目标区域的特征更加显著,而且背景区域与目标的边界更加清晰,从而减少背景信息给模型训练带来的负面影响。因此,CIEM 通过提取主分支层的关键特征,抑制背景信息的干扰,使得模型更关注目标区域,增强对重点区域的感知能力,有助于提高模型的检测效果。
图3 添加各个模块后的热力图Fig.3 Heat map after adding each module
为验证WFFM 的有效性,本文分别在Pascal VOC 数据集上做了5 组消融实验,实验结果如表4所 示,参数量 为11.8×106,FLOPs 为22.8×109。其 中P1、P2 和P3 分别表示检测头的浅层、中间层和深层特征。从表4 可以看出,与直接相加融合方法相比,对浅层特征P1 使用WFFM 方法,使得模型对小目标的评价指标APS从25.8%提高到30.3%,提升了4.5 个百分点;对中间层特征P2 使用WFFM 后,模型对中目标的评价指标APM从43.9%提高到44.1%,提升了0.2 个百分点;对深层特征P3 使用WFFM 后,模型对大目标的评价指标APL从61.2%提高到61.4%,提高了0.2 个百分点。此外,单独对P2 层和P3 层使用WFFM,模型对不同尺度目标的检测能力均有一定程度的提升。直接相加融合方法会限制各尺度特征的表达能力,从而表明不同尺度的输入特征对输出特征的表达能力是不平衡的。最后对P1、P2 和P3 同时使用WFFM,模型没有增加任何的参数量和计算量,相比直接相加融合方法,评价指标AP50∶95提高0.57 个百分点,AP50提高0.24 个百分点,同时提高模型对多尺度目标的检测效果,APS提高了1 个百分点,APM提高了1.2 个百分 点,APL提高了0.4 个百分点。此外,图3 显示添加WFFM 后,通过平衡不同尺度特征的表达能力,使得模型能够抑制背景信息,增强对目标区域的感知能力。
表4 不同尺度的特征层使用WFFM 方法对模型性能的影响Table 4 The impact of using WFFM method on model performance for feature layers at different scales %
为验证模型在实际应用场景的检测能力,在麦穗数据集Global Wheat、人脸检测数据集Wider Face和电机缺陷数据集Motor Defect 上做了3 组消融实验,结果如表5 所示。
表5 不同模型在数据集上的检测性能Table 5 Detection performance among different models on datasets %
在麦穗数据集Global Wheat 上,相比YOLOv5s,CW-YOLOS 模型的 精确度、AP50和AP50∶95分别提 高18.94、0.38、1.94 个百分点;在人脸检测数据集Wider Face 上,CW-YOLOS 模型的 精确度、AP50、AP50∶95分别提高19.52、0.37 和0.70 个百分点;在自制数据集Motor Defect 上,CW-YOLOS 模型的 精确度、AP50、AP50∶95分别提 高15.00、1.29、1.95 个百分 点。因 此,CW-YOLO 算法通过增强目标区域的感知能力,有效提升目标检测的精确度。
CW-YOLO 算法主要遵循YOLOv5 的模型缩放策略,得到了4 种不同规模的网络结构(CWYOLOS、CW-YOLOM、CW-YOLOL、CW-YOLOX)。本文实验主要是在2 张内存为24 GB 的GeForce RTX 3090 上完成MS COCO 数据集的训练和测试任务。由于MS COCO 的测试集并未提供标签文件,因此在MS COCO 官方服务器上完成测试和评估任务。
表6 所示为CW-YOLO 在COCO test-dev 测试集上与先进的目标检测算法的性能对比,加粗表示最优值,“—”表示官方并未给出相应结果,“*”表示帧率是通过RTX 3090 测试得到。CW-YOLOS 相比YOLOv5s 的评价指标AP50∶95提 高3 个百分 点;CW-YOLOX 的评价指标AP50∶95达到了50.7%,比PP-YOLOv2 的最大模型提高0.4 个百分点,比YOLOv4 的最大模型提高7.2 个百分点,比Dynamic Head 的最大模型提高3 个百分点,比DW 的最大模型提高1.4 个百分点。CW-YOLOX 通过强化多尺度特征和重点区域的感知能力,提高模型对多尺度目标的检测效果,使得评价指标APS、APM、APL分别为31.5%、55.5%、64%。实验结果表明,与基线模型YOLOv5 的4 种网络模型相比,CW-YOLOS、CW-YOLOM、CWYOLOL、CW-YOLOX 4 种网络模型的AP50∶95分别提高了3.0、2.0、1.1 和0.3 个百分点。
表6 CW-YOLO 与其他目标检测算法的性能对比Table 6 Performance comparison between CW-YOLO and other object detection algorithms
针对主分支层的特征信息容易丢失、不同尺度的特征表达能力不平衡等问题,本文提出一种基于区域感知的多尺度目标检测算法CW-YOLO。该算法主要围绕增强基线模型、通道信息增强模块和加权特征融合方法展开和分析,进一步提高了算法对重点区域、多尺度目标的感知能力和检测能力。在Pascal VOC、MS COCO 等5 个数据集上的实验结果表明,该算法能有效提升目标检测的精确度。下一步将优化网络结构,减少模型的复杂度,提高算法的推理速度。