1、第 36 卷 第 2 期2023 年 2 月传 感 技 术 学 报CHINESE JOUNAL OF SENSOS AND ACTUATOSVol.36No.2Feb 2023项目来源:天津市科技支撑重点项目(18YFZCGX00360)收稿日期:20220308修改日期:20220420An Improved Multi-Scale Object Detection Algorithm for YOLOv5s*MAO Zhen1,EN Yumeng1,CHEN Xiaoyan1*,EN Keying1,ZHAO Yuwei2(1School of Electronic Information
2、 and Automation,Tianjin University of Science and Technology,Tianjin 300222,China;2 Shenzhen Softsz Corp,Ltd,Shenzhen Guangdong 518131,China)Abstract:Aiming to improve the detection accuracy of multi-scale targets,a novel multi-scale target detection algorithm based onYOLOv5s is proposed Fusing the
3、CBAM module between the backbone network of YOLOv5s and the Neck network,the ability of ex-tracting vital feature information for different scale targets is enhanced virtually Meanwhile,a new multi-scale target detection structureis added at the head of the model to detect targets at different scale
4、s correctly During training,a CIoU loss function is used to improvethe convergence ability of the model and achieve high-precision target positioning,replacing the loss function of GIoU adopted inYOLOv5s The data set contains more than 40 thousand images from the actual scenes The test results show
5、that the average detectionaccuracy of three different scales targets,ie,pedestrian,vehicles and faces,is 921%,which is 34%higher than the original YOLOv5salgorithm The convergence of model training performs better In dense targets scenes,the performance of small-scale target detection ismore promine
6、ntKey words:deep learning;YOLOv5s;multi-scale object detection;CBAM attention mechanism;CIoU Loss functionEEACC:6135Edoi:103969/jissn10041699202302014一种改进 YOLOv5s 的多尺度目标检测算法*茆震1,任玉蒙1,陈晓艳1*,任克营1,赵昱炜2(1天津科技大学电子信息与自动化学院,天津 300222;2深圳市安软科技股份有限公司,广东 深圳 518131)摘要:针对多尺度目标检测准确率偏低的问题,提出了一种基于 YOLOv5s 改进的多尺度目标
7、检测算法。在 YOLOv5s 主干网络与 Neck 网络之间融合 CBAM 模块,增强模型对多尺度目标重要特征信息的提取能力;同时,在模型的 Head 部分增加多尺度目标检测结构,提高不同尺度目标检测精度;训练时采用 CIoU 替代 GIoU 损失函数,以提高模型收敛能力,实现高精度目标定位。数据集来源于实际场景中采集并增强的 4 万余张图像。实验结果表明,改进后的模型对行人、车辆和人脸的多尺度目标检测平均精度达 921%,相比未改进 YOLOv5s 算法提升了 34%。模型的收敛性好,对密集场景的目标,小尺度目标检测准确度更加突出。关键词:深度学习;YOLOv5s;多尺度目标检测;CBAM
8、注意力机制;CIoU 损失函数中图分类号:TP3914文献标识码:A文章编号:10041699(2023)02026708目标检测是计算机视觉中最基本的任务之一,是实现诸如人脸识别12,视频分割等更复杂任务的基础。随着计算机网络的高速发展以及人工智能技术的突破,深度学习技术突飞猛进3,促进了目标检测技术的发展。目前,深度学习算法主要分为一阶段(one-stage)检测算法和二阶段(two-stage)检测算法。典型一阶段检测算法主要有:SSD4、etina-Net5、YOLO67 系列等,这类算法可以经过单次检测就能得到目标的类别概率和坐标信息,检测效率高8。典型二阶段检测算法有:-CNN9、
9、Faster-CNN10、Fast-CNN11 等,这类算法会先产生一系列候选区域,然后在候选区域中进行分类和定位,检测准确率高,但耗时较长。尽管基于深度学习的目标检测算法取得了巨大的突破,对于大中目标检测取得了良好的检测效果,但小目标检测精度却有待提高。在目标检测公共数据集 MS COCO12 上,小目标的检测精度通常只有大目标的一半13。因此,针对实际复杂场景中,各类检测目标分布密度高,尺度跨度大,尤其针对小目标,分辨率低,特征信息丢失严重等问题,如何实现多尺度目标的高精度检测成为了研究重点。在 YOLO 系列算法中,YOLOv5 算法对于中小传感技术学报chinatransducerss
10、eueducn第 36 卷目标的检测效果优异,灵活性强,其中 YOLOv5s 的网络深度最浅,特征图宽度最小且检测速度最快。目前,使用 YOLOv5 模型进行深度学习领域的目标检测已经成为了研究的热门方向。邓天民等14 提出了基于 YOLOv5s 交通信号灯识别方法的研究,精简了主干网络的卷积层数量,使用新 CSP 残差结构来提取特征信息,但是其去除了大目标的检测尺度,仅保留了中小目标的检测尺度,在实际场景检测中会造成大、中目标的漏检。赵睿等15 提出了基于YOLOv5s 的安全帽检测算法,采用 DenseBlock 模块来替换 Focus 结构,增加 SENet 模块与检测尺度,提升了对小目
11、标的检测精度,但是数据集目标单一且尺寸变化小。王莉等16 提出基于 YOLOv5s 网络的垃圾分类和检测,自制垃圾分类的数据集,使用YOLOv5s 提取不同垃圾的特征,实现垃圾的分类检测,但是模型的检测速度为 667 FPS,需要进一步提升。张丽莹等17 提出基于 YOLOv3 的多尺度目标检测算法,改进了特征提取网络,增加了检测尺度,以提升检测精度,但是相比 YOLOv5s,其模型体积大,不利于在嵌入式设备中部署。总结上述方法,目前针对复杂场景的不同尺度目标,模型的鲁棒性和检测精度仍有待进一步提升,模型体积需要适于工程应用,能够部署于嵌入式设备中。为了实现复杂场景中不同尺度目标的高精度检测,
12、本文提出了一种改进的 YOLOv5s 多尺度目标检测算法。在原 YOLOv5s 模型的骨干网络中引入CBAM 混合注意力模块来增强特征信息的提取能力。在模型的 Head 部分增加一个尺度的检测层,将底层特征与深层次特征进行融合以提升对不同尺度目标的检测能力。改进损失函数为 CIoU Loss 以提高模型的稳定性,实现高精度的定位。改进后,模型的对复杂场景下各尺度目标的检测精度得到提升,模型的体积为 1507 MB,可以满足实际的工程应用。1YOLOv5s 模型概述YOLOv5s 模型由 Input、Backbone、Neck 网络、Head 四个部分组成。其中,Backbone 采用 Focu
13、s 结构、CSP(Cross Stage Partial)结构和 SPP18(SpatialPyramid Pooling)结构。Focus 结构可在保留模型特征信息的同时减少计算量。YOLOv5s 中设计了两种CSP 结 构,即 CSP1 _X 和 CSP2 _ X,分 别 应 用 于Backbone 和 Neck 部分,可以从输入图像中提取丰富的信息特征。Neck 网络是由 CSP2_X 结构、FPN+PAN1920 结构组成,FPN 是自顶向下地通过上采样操作,将高层的特征信息和低层特征进行融合,计算出预测的特征图,PAN 则是自下而上地将低层的定位特征通过下采样方式传递,以增强位置信息
14、,FPN+PAN 结构是两个组合的特征金字塔结构,可以提高网络对不同尺寸目标的检测能力。输出层共有三个不同尺度的检测层对图像特征进行预测,生成预测框并预测类别。模型的网络结构如图 1 所示。图 1YOLOv5s 模型结构862第 2 期茆震,任玉蒙等:一种改进 YOLOv5s 的多尺度目标检测算法2YOLOv5s 改进针对目前 YOLOv5s 对多尺度目标检测效果不好,对小目标检测存在漏检,定位精度低的问题,本文对模型作出以下改进以提升多尺度目标检测的效果。在 Backbone 主干网络中添加 CBAM 注意力机制,以提升特征提取的能力。在原有的网络结构上增加新的小目标检测层,可以提升对小目标
15、检测的能力。使用最新的 CIoU 损失函数替代原YOLOv5s 使用的 GIoU 损失函数,模型的收敛性更好,预测框更加的符合真实框,以提高定位精度。21引入 CBAM 注意力机制注意力机制是嵌入在模型网络中的一种特殊结构,能够关注目标的重要信息,抑制不重要特征以达到提升检测精度的目的。CBAM21 是一种用于前馈卷积神经网络的简单而有效的轻量级的卷积注意力模块,可以无缝地集成到任何 CNN 架构中,几乎对算力没有影响,能够实现端到端的训练。该模块包含了通道注意力模块和空间注意力模块两个子模块,其网络结构如图 2 所示。图 2CBAM 结构图通道注意力模块如图 3 所示,输入的特征图经过最大池
16、化与全局池化后送入 MLP 层,在 MLP 层中特征会进行加权求和操作,经过 Sigmoid 激活操作后,生成通道注意力加权系数。将加权系数与输入特征图做乘积运算,生成空间注意力模块的输入特征图,通道注意力模块计算公式为:图 3通道注意力模块图 4空间注意力模块MC(F)=MLP AvgPool(F)+MLP MaxPool(F)=W1 W0(FCavg)+W1 W0(FCmax)(1)空间注意力模块如图 4 所示,将通道注意力模块输出的特征图 F作为输入,首先进行最大池化与平均池化的操作,将其结果进行融合处理后进行卷积操作,可以得到一维的特征图,然后经过 Sigmoid激活函数生成空间特征图,将加权系数 MS与空间注意力模块的输入特征相乘便得到了最终的输出特征图 F。空间注意力模块计算公式为:MS(F)=(f77 AvgPool(F),MaxPool(F)=f77(FSavg;FSmax)(2)模型引进 CBAM 的过程可以综合概括为:当给定一个输入特征图 F 时,特征图首先会与 CBAM 中通道注意力网络相乘得到一个新的特征图 F,该过程如式(3)所示,将得到的特征图 F输入空间注