重构SPPCSPC与优化下采样的小目标检测算法

2023-10-30 08:58:06齐向明高一萌
计算机工程与应用 2023年20期
关键词:像素点重构特征

齐向明,柴 蕊,高一萌

辽宁工程技术大学 软件学院,辽宁 葫芦岛 125105

目标检测是计算机视觉领域的一个重要分支,广泛应用于工业制造、自动驾驶和医疗影像等领域。其中小目标因特征难区分、分辨率低、背景复杂和上下文信息有限等特点,难以准确识别。小目标检测主要包括通用小目标、航空遥感小目标、微小人物和小目标实例分割四个方向[1]。

随着深度学习的发展,卷积神经网络(convolutional neural networks,CNN)被广泛应用,基于深度学习的目标检测技术将目标检测推向发展新高潮。以SSD(single shot multibox detector)[2]和YOLO(you only look once)[3-7]系列为代表的单阶段目标检测算法,以端到端的检测方式直接输出预测结果,因检测速率优异,成为工业应用的热门框架。

近年来单阶段小目标检测算法研究中,2021 年,王建军等人[8]在YOLOv3骨干网络中扩张浅层特征对应卷积层深度,以提取大量小目标纹理信息,但计算量额外增加较多;陈欣等人[9]通过改进多尺度特征融合方式和并联通道注意力机制,降低了遥感小目标漏检率,但数据目标单一,泛化能力不足;Zhu等人[10]结合Transformer检测头和CBAM 注意力机制,增加对密集小目标区域的关注,但参数量增幅较大;蒋镕圻等人[11]把scSE 注意力机制嵌入YOLOv4骨干和颈部网络,以提高对小目标特征的关注度,但实时性被削弱;GEGe等人[12]提出解耦检测头和无锚框的YOLOX框架,虽定位多尺度小目标准确,但泛化性不足;2022年,Yang等人[13]提出基于级联查询机制的QueryDet,通过粗略定位引导高分辨率下小目标特征预测回归,显著提升了推理速度,但检测精度提升不明显;赵鹏飞等人[14]应用基于分组残差的Darknet-53为SSD 主干网络,扩张小目标特征感受野,但缺乏复杂场景处理能力;Zhang等人[15]在YOLOv5中加入BAM增强对浅层特征图内小目标信息的关注,在小尺寸人物检测上表现优异,但参数规模较大;肖进胜等人[16]利用多尺度空洞卷积和特征提纯机制重构特征金字塔,虽提升了小目标检测性能,但网络复杂度和额外参数开销方面还有待改进。;2023年,李子豪等人[17]通过减少YOLOv5骨干网络下采样倍率,并采用自适应协同注意力机制,提高检测精度和降低参数规模,但计算量大幅增加;宋怀波等人[18]将ECA 注意力机制嵌入YOLOv7 的重参数化路径中,提升复杂场景下苹果幼果检测精度,但检测速率降低;贾天豪等人[19]在SSD中引入残差学习特征映射块和双重注意力块,提高了多尺度小目标检测性能,但推理速度下降较多;Zhao等人[20]在YOLOv7上集成小目标检测头和注意力机制,增强了对海面小目标的检测性能,但未能合理控制计算量增加;王晓红等人[21]采用具有全局建模优势的CoT 模块和增加最大池化层MaxPool挖掘小目标更多纹理信息,虽将参数增幅控制在合理范围内,但基线模型过大,可迁移性较弱。综上所述,单阶段小目标检测算法在以下方面仍存在提升空间:(1)提高各种场景下小目标特征信息捕获量。(2)减少因提升小目标检测精度而增加的计算量和参数量。(3)在保持高检测精度下提升推理速度。(4)提高小目标检测算法泛化能力。

因小目标背景信息复杂且定位精度要求高,本文选取网络模型具备一定深度的YOLOv7作为基线,改进小目标检测算法。主要工作包括以下四点:(1)在骨干网络中,通过裁剪CBS层、引入SimAM注意力机制和缩小池化核重构SPPCSPC,减少计算量和参数量,关注密集小目标样本区域,提取更多小目标特征。(2)颈部网络中,用SPD Conv 替换SConv 改进下采样,减少光线昏暗场景下小目标特征丢失。(3)添加四倍下采样分支,将高分辨率特征图与原来三个尺度的特征图进行特征融合,提升小目标特征捕获量,并增加对应尺度的检测头,提高小目标检出率和准确率。(4)损失函数由边框拟合CIoU 替换为动态非单调聚焦Wise IoU,提升网络模型收敛速度。

1 相关技术

1.1 YOLOv7网络结构与工作原理

YOLOv7 集合了RepVGG 重参数化思想[22]、跨网格搜索标签分配策略和分割梯度路径层聚合架构等先进技术,在相同计算资源下,检测精度和推理速度,较以前版本都有明显提高,其网络结构分别由骨干网络(Backbone)、颈部网络(Neck)和头部网络(Head)三个部分组成,如图1所示。工作原理分别介绍如下。

图1 YOLOv7模型结构图Fig.1 YOLOv7 model structure diagram

骨干网络由CBS、ELAN-1、MP和SPPCSPC四种模块构成。三个堆叠的CBS模块提取初始特征;层聚合架构ELAN-1 分割梯度流提取首层、底层和中间层特征;下采样MP提取高级语义信息;空间金字塔池化SPPCSPC扩大不同感受野融合多尺度特征。但SPPCSPC结构内存在卷积冗余,并且扩大的感受野与小目标尺度不匹配,在密集目标相互遮挡时易发生误检。

颈部网络沿用YOLOv5 系列的路径聚合特征金字塔PAFPN架构,其结合了层聚合架构ELAN-2和最邻近插值Nearest 进行多尺度特征融合。先由FPN[23]自顶向下传递深层特征图语义信息,再由PANet[24]自底向上传递低层特征图纹理和细节信息,最终PAFPN 架构输出三个不同尺度特征图。但进行特征融合的三个尺度特征图对应的下采样倍率都较高,提取到的小目标以及微小目标特征信息较少。

头部网络主要由重参数化卷积RepConv 和检测头IDetect 组成,RepConv 把训练过程中得到的三个特征图,在推理过程经矩阵融合和权重相加,形成单特征图;IDetect 结合隐式知识在特征图上预测大、中、小型目标。由于三个尺度的检测头对应检测的目标尺度有限,小目标以及微小目标易漏检。

1.2 SimAM注意力机制

SimAM 为无参数注意力机制,不包含任何子网络结构,可以在不增加原始网络参数的条件下,为特征图推断三维注意力权重。其依据神经学说空域抑制原理[25],通过能量函数衡量目标像素点(t)和其他像素点(xi)的线性可分性,当输入特征图为X∈RC×H×W时,像素点线性变换如下:

wt和bt为线性变换权重和偏置值,带入能量函数为:

et为能量函数值,y为某一像素点的标签值,yt和y0为目标像素点(t)和其他像素点(xi)的标签值,i为空间维度上的索引,M为某一通道上像素点个数:

1.3 SPD Conv下采样

基于帧循环超分转换的SPD Conv,可减少信息丢失,其包括一个从空间到深度的SPD层和一个非跨步卷积层[26]。图2 以2 倍为例,展示了跨步卷积(SConv)和SPD Conv下采样过程。SConv将输入特征图经步长为2的3×3卷积核压缩特征图为原图宽度和高度的1/2,直接过滤掉了一部分特征信息,见图2(a)。SPD Conv将输入特征图映射切片,得到4 个经2 倍下采样的子图,4个子图包含着原图的全局空间信息,子图沿通道维度拼接,由非跨步卷积层调整通道维度,SPD Conv将全局空间特征信息保留在了通道维度,见图2(b)。

图2 SConv和SPD Conv的下采样过程Fig.2 Downsampling process of SConv and SPD Conv

1.4 Wise IoU损失函数

基于动态非单调聚焦机制的Wise IoU[27],可以缓解锚框(anchor box)标注质量对网络模型整体收敛速度和定位精度的影响,公式如下:

LWIoU为损失函数值,exp 为指数函数,δ和α为超参数,β为anchor box的离群度因子,x和y为预测框中心点坐标,xgt和ygt为真实框中心点坐标,Wg和Hg为预测框和真实框最小包围盒的宽度和高度,*为计算分离,LIoU为预测框和真实框重叠面积的交并比值。

2 重构SPPCSPC与优化下采样的小目标检测算法

改进模型结构如图3所示,其中虚线框部分为改进点,SPPCSPC-S 为重构后的空间金字塔池化模块,用于提取相互遮挡下更多小目标特征;SM 为改进后的下采样模块,可减少光线昏暗场景下小目标特征丢失;红色虚线框部分为添加的四倍下采样分支,能够增加复杂背景下小目标特征捕获量。

图3 改进模型结构图Fig.3 Improved model structure diagram

2.1 重构SPPCSPC加强特征提取

为增强对密集小目标样本区域的关注,进一步提高相互遮挡下密集小目标定位精度。本文重构了SPPCSPC结构,重构方法是先裁剪CBS,再引入SimAM,然后缩小池化核,重构前SPPCSPC 和重构后SPPCSPC-S 的结构见图4(a)和图4(b)。重构过程如下:

图4 SPPCSPC和SPPCSPC-S网络结构Fig.4 SPPCSPC and SPPCSPC-S network structures

(1)裁剪CBS。裁剪掉2个位于池化层之前的CBS层,以减少卷积层对小目标边缘信息的过滤,只应用一层CBS平滑特征,缩减计算量和参数规模。

(2)引入SimAM。在池化层之前嵌入无参数注意力机制SimAM,划分目标像素点和其他像素点,并推断出特征图的三维注意力权重,以增强对密集小目标区域的关注,减少有效特征损耗,同时抑制混淆特征表达。

(3)缩小池化核。将三个池化核的设定由(5,9,13)改为(3,5,9),使小尺寸池化核扩张的感受野与小目标尺度匹配,有利于提取到更多小目标特征,以进一步提升小目标检测精度。

通过裁剪CBS层促进网络加速收敛,再嵌入SimAM注意力机制聚焦密集小目标区域,缩小池化核对应小目标感受野,提取更多更准确的小目标特征,以降低密集小目标漏检率。为验证重构SPPCSPC对小目标检测精度的影响,通过热力图可视化方法对比了重构前后模型对密集小目标区域的敏感度情况。从图5中可以看出,应用SPPCSPC-S后,模型对密集小目标的关注度提高,感知区域更为准确。

图5 热力图可视化Fig.5 Visualization of heat maps

2.2 改进下采样减少特征丢失

在光线昏暗和图像模糊的情况下,颈部网络特征图内冗余像素点和小目标特征像素点难以准确区分,因此,多次应用SConv 过滤冗余信息的同时,也会将大量小目标关键特征一同过滤掉。为减少小目标特征丢失,本文把颈部网络下采样MP 结构左分支中的SConv 替换为SPD Conv,应用其SPD 层的切分子图原理,将小目标全局空间信息映射到通道维度,以达到保留光线昏暗和模糊场景下更多小目标特征信息的目的,在SPD层后添加卷积操作,可调整通道维度与右分支一致。改进后结构为SM见图6。

图6 SM网络结构Fig.6 SM network structure

2.3 添加四倍下采样分支提高特征捕获量

小目标一个像素点映射到原图中感受野会小于32个像素点,微小目标的像素点会更少,因而深层次预测特征层极大可能会捕获不到微小目标。为增加复杂背景下小目标特征捕获量,进一步提高小目标检测性能,本文在颈部添加了一个四倍下采样分支,见图3红色虚线框所示。在颈部网络中,输入分辨率为160×160 的4倍下采样特征图C2,与8 倍、16 倍、32 倍下采样的特征图C3、C4、C5,由PAFPN 架构建立横向连接,实现多尺度特征融合。4 倍下采样特征图C2 包含着大量小目标以及微小目标纹理和细节信息,其在依次传递并融合的过程中,能给深层特征图提供更充足的小目标信息,进而提高复杂背景下小目标特征捕获量。另外,一并增加与4倍下采样对应尺度的检测头,以提高对微小目标的检测能力。

通过将C2 与C3、C4、C5 融合,获取到丰富的小目标纹理和细节特征,再结合新增的小目标检测头,能够高效提升复杂背景下小目标以及微小目标的检出率和准确率。

2.4 替换损失函数提升收敛速度

边框损失函数大多围绕预测框和真实框的几何元素定义计算方法,以不断优化拟合效果,代表方法有GIoU[28]、CIoU[29]和EIoU[30]等。但数据集中锚框标注质量通常会存在差异性,低质量数据标注在高效拟合损失函数的加持下,反而会干扰模型收敛,影响有效特征学习,为提高模型的泛化能力并加速收敛,本文将网络模型的边框损失函数由CIoU替换为Wise IoU。

Wise IoU 基于动态非单调聚焦机制边框回归。其动态机制为,依照锚框的离群度因子值动态分配梯度增益,其非单调性为,梯度增益伴随损失值的增加呈非单调变化,即减小低质量锚框梯度增益的同时也减小高质量锚框梯度增益。离群度计算公式为:

3 实验与结果分析

3.1 数据集

为验证算法有效性,在公开数据集VisDrone2021上做消融实验和对比实验,该数据集包含8 629张图像,分辨率大小为2 000×1 500 像素左右,约54 万个标注信息。实验数据集依照9∶1 比例划分,训练集为7 766 张图像,测试集为863张图像。

为验证算法泛化性,在公开数据集VOC2007+2012上做泛化实验,该数据集包含常见生活场景中的20 个目标类别,主要有飞机、自行车、鸟和船等,训练集有16 551张图像,测试集有4 952张图像。

3.2 实验环境

(1)硬件环境

训练环境:RTX3090显卡,24 GB显存,Intel®Xeon®Platinum 8358P @2.60 GHz CPU,90 GB内存。

测试环境:RTX3070显卡,8 GB显存,AMD Ryzen 7 5800H with Radeon Graphics 3.20 GHz CPU,16 GB内存。

(2)软件环境

Windows 10,CUDA 11.3,Pytorch 1.11.0,Python 3.8.0。

(3)参数设置

输入图像分辨率为640×640,总迭代次数为300,迭代批量为8,优化器为SGD,动量为0.937,学习率为0.01,权值衰减系数为0.000 5,采用余弦退火学习算法对学习率进行更新。

3.3 预处理

3.3.1 重置先验框

应用K-means 算法在VisDrone2021 数据集上生成12种先验框,尺寸大小如表1所示。

表1 先验框尺寸Table 1 Prior box size

聚类过程可视化如图7所示。先验框的精确选取,可减小其与物体之间的匹配误差,从而减少误检和漏检。

图7 K-means聚类可视化Fig.7 K-means clustering visualization

3.3.2 数据增强

采用Mosaic-4和Mix up方法进行数据增强。Mosaic-4每次处理4 张图片,先依据随机中心点位置裁剪、缩放原始图片,再随机排列拼接;Mix up每次处理2张图片,先分别将其翻转、缩放和变化色域,再按照一定比例混合。上述两种方法可以丰富数据集,增加小目标样本数量。

3.4 评价指标

本文选取了目标检测任务中常见的六种评价指标:Precision、Recall、mAP、FPS、Params、GFLOPs 衡量改进算法的有效性,各指标介绍如下。

(1)Precision 为精准率,指预测的正样本中实际为正样本的概率,计算公式为:

TP为预测成正类的正样本数,FP为预测成正类的负样本数。

(2)Recall 为召回率,指预测的所有样本中实际为正样本的概率,计算公式为:

FN为预测成负类的正样本数。

(3)mAP为平均精度均值,指所有类别检测准确率的均值,计算公式为:

c为检测类别数,AP 为某一类别P-R曲线下的面积,AP计算公式为:

(4)FPS为帧率,指图像刷新帧数,计算公式为:

FrameNum为检测图片总数,ElapsedTime为耗费的总时间。

(5)Params为网络模型的参数量,单位为MB。

(6)GFLOPs为网络模型的浮点运算次数。

3.5 实验结果分析

3.5.1 消融实验

(1)数据分析

共做N1~N6 六组消融实验,分别验证各改进点的有效性,“√”表示某一组实验应用的改进点,各项评价指标见表2,实验结果分析如下:

表2 消融实验Table 2 Ablation experiment

①第一组为原算法的实验结果,mAP0.5值为45.73%,参数量为37.24 MB,计算量为105.26,FPS为42,作为评价指标基线。

②第二组是把SPPCSPC 重构为SPPCSPC-S 后,计算量和参数量都小幅减少,推理速度提升为45,mAP0.5值提高1.05个百分点。

③第三组是添加四倍下采样分支,虽计算量从105.26增加到119.69,推理速度也有所降低,但是mAP0.5值提高2.58个百分点,大幅提升了小目标检测性能。

④第四组是把MP 改进为SM 后,计算量和参数量均有小幅减少,检测精度也有小幅上升,mAP0.5值提高0.61个百分点。

⑤第五组是把边框损失函数CIoU 替换为WiseIoU,在保证没有增加参数量和计算量的条件下,加快网络模型收敛,同时mAP0.5值提升0.87个百分点。

⑥第六组是集合所有改进点后,虽推理速度小幅下降,也额外增加了一部分计算量,但参数量从37.24 MB减少为34.74 MB,mAP0.5值提高5.09个百分点,表明本文构建的算法能够显著提升小目标检测的平均精度均值。

(2)可视化分析

图8 中1~3 列分别是光线昏暗、密集小目标和微小目标三种复杂样本,1~3 行分别是原始图片、N1 组算法检测后图片、N6 组算法检测后图片。使用不同颜色的标识框区分数据集内目标类别,标识框上方标注了目标置信度分数。从视觉效果可以看出,本文算法检测出的小目标人物和车辆的数量明显增多,并且小目标置信度分数明显提高,表明漏检率降低,准确率提高。

图8 检测效果对比Fig.8 Comparison of detection effect

3.5.2 对比实验

YOLO系列的代表算法有YOLOv5L、TPH-YOLOv5、YOLOXL、YOLOv6M、YOLOv8L、ACAM-YOLO 和YOLOv7。在公开数据集VisDrone2021上,将本文算法与上述算法做对比实验,结果见表3。

表3 算法对比实验Table 3 Algorithm comparison experiment

YOLOv5L 算法比本文算法mAP0.5值低11.25 个百分点,参数量高11.41 MB,表明该算法对小目标检测效果一般,且参数开销较大;TPH-YOLOv5 算法的mAP0.5值接近YOLOv6M,比原YOLOv5L 算法高3.89 个百分点,但比本文算法低7.36个百分点;YOLOXL算法的计算量仅次于YOLOv8 算法,比本文算法增加了38.9,mAP0.5值比本文算法低7.72个百分点,表明该算法在此数据集上检测效果不佳;YOLOv6M算法的计算量是七组算法中最少的,参数量和本文算法接近,但mAP0.5值低7.17个百分点;YOLOv8算法是目前YOLO系列的最先进算法,mAP0.5值比原YOLOv7算法高出1.16个百分点,但比本文算法低3.93个百分点;ACAM-YOLO算法是基于YOLOv5L 改进的,参数量约为本文算法1/2,mAP0.5值在七组算法中仅次于本文算法达到49.52%,但计算量高出10%,比YOLOv5L算法高出21%。

综合上述分析,本文算法在计算量小幅增加和参数量缩减的条件下,实现了检测平均精度均值的显著提升,因而对复杂场景下的小目标具有更强的辨识能力。

3.5.3 泛化实验

在公开数据集VOC2007+2012 上,将本文算法与YOLOv7、YOLOv8和CS-SSD算法做泛化实验,验证本文算法的通用性,结果见表4。

表4 泛化实验Table 4 Generalization experiment 单位:%

本文算法与YOLOv7相比,mAP0.5值从81.12%提升为84.47%,精准率提升5.07 个百分点,召回率提升1.46个百分点;与YOLOv8 相比,mAP0.5值提升1.82 个百分点,精准率提升3.49 个百分点,召回率提升1.02 个百分点;与CS-SSD相比,mAP0.5值提升0.87个百分点。

综合上述分析,本文构建的小目标检测算法不仅能够提高相互遮挡、背景复杂和特征点少场景下的小目标检测效果,而且也能提高常规场景下大中尺度目标检测效果,表明具有通用性。

4 结束语

针对小目标图像检测中存在的难点,本文基于YOLOv7提出重构SPPCSPC 与优化下采样的小目标检测算法。通过重构SPPCSPC 模块加强小目标特征提取,替换颈部下采样结构中的SConv 为SPD Conv 减少深层特征图关键小目标特征丢失,添加四倍下采样分支提高小目标检出率和准确率,把边框损失函数由CIoU 替换为Wise IoU 提升收敛速度和定位精度。实验结果表明,本文算法对小目标的检测效果优于参考文献中最优算法,有效提升了小目标检测精度,且通用性良好。为工业应用提供了一定的参考价值,在轻量化方面仍有进步空间,需继续研究探索。

猜你喜欢
像素点重构特征
长城叙事的重构
摄影世界(2022年1期)2022-01-21 10:50:14
如何表达“特征”
不忠诚的四个特征
当代陕西(2019年10期)2019-06-03 10:12:04
北方大陆 重构未来
基于canvas的前端数据加密
抓住特征巧观察
北京的重构与再造
商周刊(2017年6期)2017-08-22 03:42:36
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
论中止行为及其对中止犯的重构
基于Node-Cell结构的HEVC帧内编码
电视技术(2014年11期)2014-12-02 02:43:28