温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
改进
YOLO_v5s
垃圾
检测
算法
林梓健
机械工程师MECHANICAL ENGINEER2023 年第 8 期网址: 电邮:基于改进YOLO v5s的垃圾检测算法林梓健1,林群煦1,张弓2,刘成沛1,杨智才3,张立炜1,王晓佳1(1.五邑大学 轨道交通学院,广东 江门 529020;2.广州先进技术研究所,广州 511458;3.罗定职业技术学院,广东 罗定 527200)基金项目:云浮市科技计划项目(2021020401)0引言垃圾分拣不适宜过度依赖人工,因为该岗位体力劳动强度大、重复性高、容易疲劳、环境恶劣,对工人的身心健康容易造成不良影响。此外随着经济发展、城市化和人口增加,垃圾的数量和复杂性都在上升,因此适宜引入智能化、自动化垃圾分拣。而随着深度学习和机器视觉检测技术的发展,采用机器视觉检测进行垃圾分类是这个领域新兴的重要一环。国内外已有通过基于深度学习的机器视觉进行垃圾检测和分类方面的研究。Pan1在YOLO v3基础上引入Leaky Relu激活函数和K均值聚类锚框,增加特征尺度,减少网络层数以减少计算量,提出YOLO v3+的改进算法用于垃圾检测和分类任务。A.B.Wahyutama等2研发了一款智能垃圾桶,基于YOLO v4-Tiny进行识别,检测用户带来的垃圾,并根据识别的分类结果打开相应的垃圾桶桶盖。D.Ziouzios等3基于YOLO v4提出用于实时检测可回收垃圾的垃圾视觉检测系统,通过改进损失函数和激活函数、引入Cutmix数据增强和SAT训练等方式改进,精度达到92.43%。Jiang等4在YOLO v5算法基础上改进,引入CIOU损失函数和Adam优化器、增加专用于小尺度目标的检测层和注意力机制模块。Ma等5通过改进LSSD算法以提高对小目标的检测能力,并加入基于下采样的特征金字塔、Focal Loss函数缓解正负样本比例失衡和柔性非极大抑制。Hui等6基于改进的Faster RCNN算法开发了一套垃圾分类系统,与常见的纯视觉分类不同,该系统同时接收音频输入,结合图像、透明度、音频3方面信息进行判断和分拣。Chen等7基于ShuffleNet V2网络提出用于分拣生活垃圾的轻量化视觉检测系统,并引入FReLU激活函数、嵌入注意力机制和迁移学习,准确率达到97.9%,且运行较快。Bohong等8在YOLO v3基础上嵌入ECA通道注意力机制,并在华为垃圾分拣挑战杯的数据集上进行测试,mAP值比原版YOLO v3提高了1.07%,而检测速度和参数量不变。可见在已有算法基础上融合新模块进行改进是一个重要的研究方法,其中融合注意力机制、改进损失函数等以提升精度、融合轻量化模块以实现轻量化和提速是热门,两大主要目标是提高识别性能和轻量化、提速。以此为目标,本文提出一种改进YOLO v5s的垃圾检测算法。摘要:垃圾分拣是一个环境恶劣、重复性高、体力消耗大的岗位,适宜通过智能化设备代替人工进行垃圾分拣。文中提出一种基于YOLO v5s进行改进,用于垃圾识别分类的改进YOLO v5s视觉检测算法。首先进行结构改进,通过改进损失函数、引入K聚类锚框等改进,对2种注意力机制模块及2种嵌入的位置进行比较和选择以提高精度,并通过融合SPPF模块进行提速改进。结构改进后,通过对比实验数种训练策略,进行训练策略改进。同时在搜集到的小型数据集上进行比较,两部分改进后的算法比原算法的mAP提高了1.35%,同时对检测速度影响较小,并与其他算法进行了对比。关键词:YOLO v5s;注意力机制;垃圾检测;视觉检测;深度学习中图分类号:TP 391.4文献标志码:A文章编号:10022333(2023)08005405Garbage Detection Algorithm Based on Improved YOLO v5sLIN Zijian1,LIN Qunxu1,ZHANG Gong2,LIU Chengpei1,YANG Zhicai3,ZHANG Liwei1,WANG Xiaojia1(1.School ofRailwayTransportation,Wuyi University,Jiangmen 529020,China;2.Guangzhou Institute ofAdvanced Technology,Guangzhou 511458,China;3.LuodingPolytechnic,Luoding527200,China)Abstract:Garbage sorting is a work with harsh environment,high repeatability and heavy physical consumption.It issuitable to replacing manual garbage sorting with intelligent equipment.Therefore,this paper proposes an improved visiondetection algorithm based on YOLO v5s for garbage detection and classification.Firstly,the structure is improved byimproving the loss function and fusing the K cluster anchor.Then,two kinds of attention mechanism modules and twokinds of embedded positions are compared and selected to improve the detection accuracy.Meanwhile,the SPPF moduleis fused to improve the detection speed.After structural improvement,several training strategies are compared andselected to improve the training result.Finally,the comparison on a small data set collected by the author shows that themAP of the improved YOLOv5s algorithms is improved by 1.35%compared with the original algorithm and it has smalleffect on the detection speed,and the comparison is made with other algorithms.Keywords:YOLO v5s;attention modules;garbage detection;vision detection;deep learning54机械工程师MECHANICAL ENGINEER网址: 电邮:2023 年第 8 期1分类目标与数据集本文的分类目标为4类,分别是纸质品、金属制品、木质品和塑料瓶,采用自行搜集的数据集,部分图片来自Kaggle垃圾分类数据集和Treshnet数据集相关的图片,部分搜集自网上,部分来自现实中拍摄。搜集原始图片后需在原始图片的基础上进行数据扩充,数据扩充有基于单张图和基于多张图两大类。本文采用的单张图扩充包括Cutout(使用小方格遮盖画面)、随机亮度、翻转、随机对比度等,基于多张图的变换则包括Mixup和YOLO系列特色之一的Mosaic增强,前者把2张图片混合让图像互相渗透,后者把4张图进行尺寸变换后拼接起来形成新的图片。数据集中采用的数据扩充方式不宜太少,以免某种扩充方式比重过大而导致新的甚至更严重的过拟合9。该数据集的部分图片如图1所示,分别属于纸质品和金属制品。扩充后的数据集约有3250张图。同时开启系数为0.005的标签平滑,提高系统的鲁棒性和泛性。本文选择batch size为16,训练回合为40回合。并且加载backbone部分的预训练权重,使训练过程更稳定有效,训练的结果更合理。采用的优化器为Adam优化器,初始学习率为10-3并采用余弦退火学习率衰减。本文采用的评价指标主要为mAP值(均值平均精度,为各类目标的平均净度的平均值)和FPS(每秒传输帧数),前者指示算法的检测性能,后者指示算法的检测速度,前者数值越大则表示系统检测能力越强,后者数值越大则表示系统检测速度越快。本文对比实验在华硕飞行堡垒ZX50JX4200h笔记本电脑上运行,采用的软件配置如下:Python 3.8,CPU版Pytorch1.11.0,Cuda11.3。2结构改进YOLO v5s算法YOLO系列算法是一种One-Stage检测算法,与Two-Stage检测算法相比,该类算法把定位和分类2个步骤合并在一起,大大减少计算量和提升检测速度。YOLO v5的结构包括由Focus模块、SPP模块(空间金字塔池化)和若干CSP组件(由若干残差块、卷积块等组成)等组成,backbone模块进行特征提取,neck模块由PAnet组成,进行特征融合和进一步提取特征,最后在head模块分为3个尺度进行输出。YOLO v5系列引入了SILU激活函数、Focus模块等创新,并继续使用Mosaic数据增强、SPP模块等已获得验证的方法10。本文所用的YOLO v5s是YOLO v5系列的最轻量化版本,运行速度较高,但以精度略有下降作为代价。2.1基于K-means+的聚类锚框在YOLO系列视觉检测算法的训练过程中,系统在锚框基础上输出预测框,并和真实框对比。因此锚框的质量关系到系统检测性能和稳定性。传统的划定锚框的方式是人为设定,但是这样做的主观性和随机性太大,因此从YOLO v2开始引入基于K-means均值聚类的锚框。本文引入其改进版K-means+来获得锚框。与前者不同,该算法在已选取n个聚类点后,在选取第n+1个聚类点时,距离当前n个聚类点越远的点越有可能被选为第n+1个聚类点。在本文的数据集中,获得的K-means+聚类获得锚框的acc值(准确率)约为82.27%,9个锚框分别为(137,480)、(219,307)、(242,119)、(269,526)、(373,415)、(448,538)、(489,251)、(556,393)、(589,584)。2.2改进损失函数本文引入改进版的CIoU算法11进行改进。CIoU算法全称Complete-IoU,该算法把距离、重叠率等考虑进去,重要的改进是考虑了长和宽,加入长宽的惩罚项。CIoU的公式如下:CIoU=1-IoU+2(b,bgt)c2+v;=v(1-IoU)+v;v=42(arctanwgthgt-arctanwh)2;IoU=|AB|AB|。(1)式中:A、B分别为目标框和预测框;wgt和hgt分别为目标框的宽、高;w和h为预测框的宽、高;c为最小闭包对角线长度;b和bgt分别为预测框和目标框的中心点坐标。与原版采用的GIoU损失函数相比,CIoU损失函数考虑了更多的因素,能让预测框更符合真实框并让训练过程更稳定。2.3融合SPPF模块YOLO系列从v4开始使用的空间金字塔池化(SPP)能实现不同尺度特征的融合,提升检测性能。本文算法融合了SPPF模块(SPP-Fast),既保留了SPP模块的不同尺度特征融合功能,同时能以更快的速度进行检测,实现提速的目标。因为SPPF模块不像SPP模块那样分成4个分支来进行并行的分别处理,而是获取一个分支输出的4次结果,因此速度更快,同时二者的功能是等效的。SPP和SPPF模块可以选择Maxpool、Avgpool等池化操作,本文选择采用Maxpool,以突出物体的特征。SPPF模块的结构如图2所示。2.4融合注意力机制为提高模型的检测性能,本文为基于YOLO v5s的改图1部分数据集图片图2SPPF模块结构输出