今天看的是《改进 YOLOv8 的轻量化密集行人检测方法》。
目录
一、摘要
针对密集行人检测存在小目标检测精度低、模型复杂的问题,提出一种改进 YOLOv8 的轻量化密集 行人检测方法。引入 DualConv 模块替换原始 Conv 模块,帮助更深的卷积层更有效地提取信息,减少计算 冗余并提高检测精度;通过融合 RepViTBlock 结构和分离与增强注意力机制 SEMA(Separated and Enhancement Attention)改进 C2f,构建 RS-C2f 结构,提升模型的泛化和特征融合能力,并降低参数量;设计全新 的空间金字塔模块 SPPELAN_BiFPN,使模型对小目标行人检测精度显著提高,同时优化计算效率;采用 Focal_Shape-IoU 作为边界框回归损失函数,加快网络的收敛速度,提高对小目标的检测准确率。实验结果 表明,改进模型的 mAP@0.5、Precision 和 Recall 在 CrowdHuman 数据集上提升 2.4%、1.1%和 2.1%,在 WiderPerson 数据集上提升 1.3%、1.0%和 1.7%,同时参数量下降 39.6%。在嵌入式设备上单帧图像平均运 行时间为 55.1ms,平均精度为 90.7%,召回率为 82.9%,表明改进模型在保证轻量化的同时提升了检测精度和速度。
二、背景介绍
行人检测是计算机视觉的一项关键技术,随着技术进步,检测技术也不断发展。传统检测主要依靠特征提取和分类器设计,虽然取得不错的成果,但实际应用仍存在问题。近些年,随着深度学习的发展,卷积神经网络(CNN)、区域卷积神经网络(R-CNN)及其衍生模型(Fast R-CNN和Faster R-CNN)都促进了行人检测技术的增长。SSD和YOLO这类实时检测的算法也满足了动态和复杂环境下的检测需求,但在复杂背景且聚集的情况下,检测变得更加困难。
为了解决这些问题,也有许多研究者做出了贡献。尽管效果良好,但仍存在以下的问题:
- 模型参数较大,复杂度高,不适合资源受限的设备
- 行人等小尺寸目标分布密集且像素面积小,容易漏检
- 行人信息容易丢失或特征冗余
- 数据集目标尺度差异大,边框可能标注不准确,增加低质量样本对锚框回归的干扰
针对以上问题,本文进行了如下的改进:
- 采用DualConv模块替换Conv模块,减少计算冗余
- 融合RepViTBlock结构和分离与增强注意力机制SEMA改进C2f,构建RS-C2f结构,降低模型参数量和计算量,实现轻量化
- 设计SPPELAN_BiFPN空间金字塔模块,避免信息丢失或特征冗余,提升重要特征的表达能力
- 采用Focal_Shape-IoU作为边界框回归损失函数,减少低质量样本对锚框回归的影响
三、YOLOv8介绍
YOLOv8是对YOLOv5的改进,网络结构如下:

相对于yolov5的改进主要有以下几点:
- 用C2f替代C3模块,减少冗杂参数,具有更少参数量和更强的特征提取能力
- 引用自适应NMS算法,调整阈值,减少误检和漏检
- 采用基于Anchor-Free的检测方式,直接预测目标中心和宽高,减少Anchor框的超参数
四 改进结构介绍
针对上述的不足,本文对YOLOv8进行了改进,改进的结构如下:

可以看到,相比于原结构,改进的YOLOv8结构中,将Backbone中的第二三四个C2f模块替换成了RS-C2f模块,第四和第五个CBS模块替换成DualConv模块,输出SPPF替换成了SPPELAN_BiFPN。Neck中第一和第三四个C2f模块也被替换成RS-C2f模块,第二个CBS模块替换成了DualConv模块。在Head中没有修改,都是对三个模块产生的结果进行检测任务。
4.1 双卷积内核(DualConv)
双卷积内核配置激活函数和归一化层,增强了网络的非线性表达能力。我们这里假设输出特征图大小为D×D×N,输入特征映射在卷积层通过了N个大小为K×K×M的卷积滤波器进行滤波,则计算量定义如下:

&spm=1001.2101.3001.5002&articleId=146130223&d=1&t=3&u=3d65e77be79b4f4786610ee80e36df79)
2871

被折叠的 条评论
为什么被折叠?



