基于YOLOv5图像识别的垃圾自动分类系统的设计

2024-05-18 17:19田建杰尚玉龙
电脑知识与技术 2024年8期
关键词:目标识别垃圾分类深度学习

田建杰 尚玉龙

摘要:垃圾分类已成为城市环境管理的重要议题。然而,传统垃圾分类方法需要人工介入,效率较低且易出错。近年来,深度学习技术的发展为自动垃圾分类提供了新的解决方案。文章设计了一种基于YOLOv5模型的垃圾自动分类系统。该系统可以通过电脑摄像头实时采集图像,使用基于YOLOv5的深度学习模型进行4种垃圾品种的识别,并将识别结果通过串口发送至单片机上来控制安装于垃圾桶模型上的舵机实现对应垃圾桶的开盖,从而完成垃圾识别和自动分类。

关键词: 垃圾分类;YOLOv5;目标识别;深度学习

中图分类号:TP311        文献标识码:A

文章编号:1009-3044(2024)08-0005-03

开放科学(资源服务)标识码(OSID)

0 引言

随着全球人口的不断增长和城市化的加速发展,垃圾问题日益成为全球面临的重要挑战[1]。传统的垃圾处理方式,如填埋和焚烧,不仅浪费资源,还产生大量的有害气体和污染物,对环境和人类健康造成严重威胁[2]。面对这一现实,垃圾分类作为一种环保措施被广泛提倡和实施。垃圾分类不仅有助于实现资源的可持续利用,还为循环经济的发展提供了基础。基于YOLOv5的垃圾分类系统能够利用计算机视觉技术自动识别和分类不同类型的垃圾,为垃圾处理和资源回收提供有效的支持。通过结合深度学习和图像处理技术,该系统可以在较短的时间内实现大规模垃圾分类,提高分类的准确性和效率。此外,该系统还可以降低人工劳动成本,减少人为错误,并提高用户参与度和推广普及度。

1 研究现状

目前研究垃圾检测主要集中在计算机视觉领域的目标检测任务。传统的垃圾检测方法包括HOG(Histogram of Oriented Gradients) [3] 检测器、基于滑动窗口的VJ(Viola-Jones) 检测器和DPM(Deformable Part Model) 检测器。然而,随着深度学习的兴起,卷积神经网络(CNN) 成为研究的热门方向。

YOLO算法是一种端到端的目标检测算法,可以实现实时目标检测。YOLO将输入图像分成网格,并对每个网格预测目标的类别和位置,然后使用非最大抑制(NMS) 算法将重叠的预测框合并成一个框[4]。类似的还有RetinaNet。RetinaNet算法是一种基于Focal Loss的目标检测算法,旨在解决目标检测中正負样本不平衡问题[5]。当前的研究现状表明基于深度学习的目标检测算法在垃圾检测任务中表现出很大的潜力。随着技术的不断发展和研究的深入,使用基于YOLO的垃圾分类系统有望实现更高的准确性、更快的处理速度和更广泛的应用[6]。进一步的研究将关注于改进数据集的质量和多样性、提升算法对复杂场景和小尺寸物品的检测能力,以及优化模型的鲁棒性和泛化能力,从而实现更智能、高效的自动垃圾分类系统的开发和应用。

2 系统总体设计

2.1 整体设计方案

整体系统的框架图如图1所示,系统由PC机和ESP32组成。首先在互联网上收集下载数据集,并对数据集进行预处理和格式转换。然后将数据集按一定比例划分为训练集、测试集和验证集。训练使用YOLOv5模型,得到权重文件并进行分析。

图2阐述了整个分类系统的识别与控制流程:垃圾桶由4个小垃圾箱并排放置,每个垃圾箱内配有旋转舵机,可实现90度旋转。当摄像头完成垃圾识别后,对应舵机带动垃圾桶盖进行开启或关闭操作。垃圾桶分为四类,厨余垃圾、可回收垃圾、有害垃圾和其他垃圾。并对其进行标号为1、2、3、4号垃圾桶。当串口接受到垃圾为1号时,表示垃圾为厨余垃圾,控制1号垃圾桶的舵机旋转,其余垃圾桶保持关闭状态。当串口接受到垃圾为2号时,表示垃圾为可回收垃圾,控制2号垃圾桶的舵机旋转,其余垃圾桶保持关闭状态,以此类推。完成垃圾桶的开关盖。

2.2 数据集的收集和处理

为了实现高效、准确的垃圾分类,数据集的优劣至关重要。为确保数据集的质量和可靠性,并查找了多个可靠的数据源,最终选择了一个垃圾分类公共数据集:IAS.Trabe垃圾分类数据集。该数据集由专业的机构和团体提供,具有较高的数据质量和可靠性,可以满足垃圾分类需求。该垃圾分类数据集的样本数量分布情况如表1所示,项目数据集部分图片如图3所示。

3 YOLOv5算法模型的训练

3.1 YOLOv5算法原理

YOLO算法的基本思路可以总结如下: YOLO算法通过将输入的特定图像划分为[S×S]的网格,然后每个网格需要预测一定数量的边界框和对应的指标(即置信度以及类别概率)。YOLOv5是Alexey Bochkovskiy等人在YOLOv4的基础上进行了改进,其目标是提高YOLOv4的检测精度和速度。具体来说,YOLOv5从输入端、backbone层、neck层、YOLOhead这4个方面进行了改进。YOLOv5的整体网络结构由输入端、backbone层、neck层、Output这4个部分组成。

3.2 YOLOv5训练和配置

该系统采用了Pytorch框架进行模型训练,这是一种常用的深度学习框架,具有易用性和灵活性等优点[7]。为了加快模型的训练,获得更好的检测效果,同时采用了迁移学习技术,训练时采用官方的yolov5s预训练权重进行训练。

训练指标是评估训练模型性能的重要指标。在本系统设计过程中,图4展示了训练指标随训练次数增加的变化趋势,总训练次数为400轮。

由图4可得:当训练迭代次数逐渐增加,相对应的训练指标也不断优化,最后基本可以到达100%。这表明我们的模型在训练过程中逐渐学习到了更准确的目标检测能力,能够更好地识别和定位目标,并且能够减少误判和漏检的情况。同时,我们还观察到Objectness和Classification损失函数的均值也在不断下降,这进一步证明了模型训练的有效性和准确性。

3.3  系统测试结果和分析

系统硬件整体实物图如图5所示。由PC机、ESP32和垃圾桶模型组成。

该分类系统测试运行的部分结果如图6所示。

从图中不难发现识别的垃圾种类包括厨余垃圾、可回收垃圾以及其他垃圾等类别,对应的数字则代表了识别结果的置信度,并且识别结果的置信度均高于0.5,表明该系统的测试运行基本达到设计指标。

另外,将本次采用的基于YOLOv5的识别算法和其他常用的算法进行比较,结果如表2所示。3种识别算法中,YOLOv5算法的识别精度最高,可以达到91%;而基于HOG+SVM的传统机器学习识别精度最差,仅有63%。该比较结果表明在数据集丰富的情况下,本研究使用的YOLOv5算法检测结果准确,具备实际应用的可能性。

4 结束语

本文提出了一种基于YOLOv5模型的垃圾自动识别及分类系统,详细描述了数据集构建、网络调整和模型训练等步骤;并通过模拟测试验证了该方法的有效性和性能,获取了较理想的测试结果。从系统测试结果不难看出:本文所设计的系统可以有效地幫助解决城市生活垃圾自动分类、分拣的问题。该系统在运行的稳定性、易用性以及分类识别的精度等方面均表现良好,有着广阔的应用前景。

参考文献:

[1] 王泗通.城市生活垃圾分类的实践困境及其优化路径[J].南华大学学报(社会科学版),2023,24(5):80-85.

[2] 吕崇宾.城市生活垃圾分类现状与优化对策思考[J].清洗世界,2023,39(6):154-156.

[3] 李金玉,陈晓雷,张爱华,等.基于深度学习的垃圾分类方法综述[J].计算机工程,2022,48(2):1-9.

[4] 李鑫,任琪轩,朱宇.基于STM32单片机的智能化垃圾桶设计与实现[J].工业控制计算机,2023,36(6):147-148.

[5] LIN T Y,GOYAL P,GIRSHICK R,et al.Focal loss for dense object detection[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2020,42(2):318-327.

[6] 王莉,何牧天,徐硕,等.基于YOLOv5s网络的垃圾分类和检测[J].包装工程,2021,42(8):50-56.

[7] 袁建野,南新元,蔡鑫,等.基于轻量级残差网路的垃圾图片分类方法[J].环境工程,2021,39(2):110-115.

【通联编辑:闻翔军】

猜你喜欢
目标识别垃圾分类深度学习
小学校本课程《垃圾分类》智慧教育案例研究
浅析我国农村垃圾处理难题
日本城市垃圾分类的做法
全自动模拟目标搜救系统的设计与实现
动态场景中的视觉目标识别方法分析
基于PC的视觉解决方案在 Delta机器人抓放中的应用
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
高校环境教育非课堂教学模式的探索
深度学习算法应用于岩石图像处理的可行性研究