1. 引言
随着不同城市垃圾分类政策的实施,人们对智能垃圾分拣的需求日益强烈。尽管前几年有学者利用了单片机开发了分拣系统去缓解垃圾堆积问题,但由于其系统繁杂,传感器对环境要求较高,由此导致垃圾识别率不高 [1] 。近年来,随着机器视觉技术的不断发展,越来越多学者选择使用机器视觉识别对垃圾进行识别分类 [2] [3] [4] 。但垃圾的抓取和分拣一般使用机器人 [5] 或者传送带 [6] ,前者来回移动导致分拣垃圾效率较低;后者其占地面积较大,只适合大规模的集中分类,不适合于家庭和公共场合使用。随着深度学习和人工智能技术的快速进步,图像识别领域已经显著进步,尤其是在智能垃圾桶研究中。例如,如文献 [7] 通过云端同步实时运算,开发了一种智能垃圾识别与分类算法,实现了85%的检测准确率。文献 [8] 基于卷积神经网络(CNN)算法进行机器视觉识别,四种不同垃圾的平均识别率在88.825%,可见垃圾识别率还有待提高。
本文设计一个采用轻量级YOLOv5深度学习模型的新型圆柱形垃圾桶,以树莓派为核心,配置上采用USB摄像头进行拍摄并采用机械臂进行抓取和分拣,其垃圾识别率提升到了95.5%。
2. 总体方案设计
当垃圾桶处于供电激活状态时,在垃圾放置台上方的红外传感器若识别到放置台有物体被放置,则产生一个模拟电压值反馈给STM32单片机,STM32在接收到信号之后,通过ADC将模拟电压值转换成数字电压值,并通过串口通信发送至树莓派。此时摄像头被激活的同时捕捉置物台上的物体图像。一旦图像被抓取,其将被输入到树莓派搭载的训练好的YOLOv5垃圾分拣模型当中进行识别。在识别结果产生之后,根据四种不同种类的垃圾分别有四种预设好的数字指令。在EPS32接受到数字指令之后,控制步进电机去驱动皮带和齿轮从而实现对机械臂四轴的转动从而对垃圾进行抓取和投放。
3. 主要硬件组成
硬件结构主要模块由四个部分组成,分别是:树莓派4B主控模块、图像采集模块、机械臂模块、红外传感器模块。系统结构设计如图1所示。
3.1. 树莓派4B主控模块
系统的核心硬件是树莓派4B型微型计算机,其确保了强大的计算能力和快速的数据处理速度。树莓派通过USB端口和USB摄像头互相连接。在摄像头将实时视频传输给树莓派后,使用OpenCV为依赖库通过编辑好的代码实现对图片的捕捉。
树莓派4B型微型计算机在系统当中起到接受并处理摄像头捕获的图像数据,运行基于YOLOv5的视觉识别软件并进行实时垃圾识别,并基于识别结果生成对机械臂的移动指令和路径。此外,树莓派还负责通过端口通信向机械臂发送控制命令,确保垃圾被准确分拣到指定区域。系统部署在树莓派4B平台上,整体识别与分类流程的平均响应时间为450 ms,充分满足了实时处理的需求。
3.2. 图像采集模块
该设计采用分辨率为1920*1080的外界USB摄像头作为图像采集模块、配置有自动增益、自动白平衡以及自动曝光功能,能够让图像的采集更加精准。
3.3. 机械臂和控制模块
本系统采用ESP32控制模块与3D打印机械臂的组合,如图2。机械臂模仿人手的灵活性,由底座、活动臂段和多自由度抓取器组成,适合执行垃圾拾取和分类任务。它利用步进电机带动皮带和齿轮进行精准控制,确保每个关节的精确运动和定位。机械臂的动力系统由电机、减速器和驱动器组合,确保操作的准确和迅速。电机提供必要的动力,驱动器控制转速和扭矩,而减速器则用于保证动作的平稳。抓取器可替换以适应不同形状和大小的物体,能够以适当的力度安全抓取各种垃圾,避免损害。
树莓派4B负责处理摄像头捕获的图像,通过YOLOv5模型识别垃圾的位置和类型,并据此生成机械臂的控制指令通过串行通信传递给ESP32单片机,ESP32单片机通过控制步进电机来调整其移动路径、角度、速度和抓取动作。
3.4. 红外传感器模块
红外传感器模块分为STM32F103C8T6单片机和夏普GP2Y0A02YK0F光学红外传感器。我们使用光
学红外传感器来判断垃圾是否放置在垃圾桶放置台上,当红外传感器检测到光线变化的时候,它将检测到的距离转换成相应的模拟电压值输出到STM32单片机当中。
STM32的USART引脚和树莓派的GPIO引脚相连接,当检测到物体时,通过UART发送一个特定的字节序列,一旦接收到来自STM32的信号,树莓派上运行的脚本则执行启动摄像头的命令。通过红外传感器模块与机械臂的协同工作,智能垃圾分拣系统能够高效地将垃圾物品分拣至对应的分类箱中,实现了自动化的垃圾分类处理流程。
4. 系统主要软件设计
4.1. YOLOv5模型介绍
YOLOv5是一种流行的目标检测算法,采用了端到端的卷积神经网络(CNN)架构,能够在单个网络中同时进行目标检测和分类。这种方法将图像划分为多个网格,并预测每个网格中对象的边界框和类别概率。YOLOv5的特点是速度快且准确度高,非常适合实时应用场景。
YOLOv5有四个不同大小的模型版本:s (small)、m (medium)、l (large)、x (extra large),这些版本根据网络的深度和宽度进行区分,以满足不同计算能力和精度需求的平衡。YOLOv5s是这四个版本中最小的一个,它在保持较高检测准确率的同时,具有更快的处理速度和较低的计算资源需求,适合资源受限的应用环境。
4.2. 数据集准备
在进行模型训练前,首先收集了包含五类主要生活垃圾(可回收物、厨余垃圾、有害垃圾、不可回收)的数据集。为了增加数据集的多样性,我们将图片进行随机旋转、水平或垂直翻转,得到约10,000张高清图片。
首先将图片进行处理,使用标注工具Labellmg为图片中的每个目标对象绘制边界框并标注类别,生成与每张图片对应的标签文件,通常是在YOLO格式下,其中包含了对象类别和边界框坐标。
由于卷积神经网络(CNN)要求输入的图像具有固定的尺寸,所以我们将图片尺寸统一固定为640*640。并将图像的像素值从[0,255]缩放到[0,1]范围内,有助于模型更快地收敛,较小的数值范围减少了内部参数更新时的不稳定。本次实验将数据集划分成两个部分:80%作为训练集,其余20%作为测试集。并在互联网上搜寻另外500张图片作为验证集。
4.3. 训练环境
为了搭建一个适合生活垃圾识别的实验环境,并对相应的识别模型进行训练,本研究选用了Windows 10 作为操作系统平台,并采用Python语言进行开发实现。具体的硬件配置可以参考表1。
4.4. 数据集训练
为了适应垃圾物体多样性,我们采用了自适应锚框计算方法,通过分析垃圾物体的尺寸分布自动生成最优的锚框尺寸配置,这一步提升了边界框定位的精准度。在损失函数的选择上,结合了交叉熵损失和CIoU损失,前者负责优化分类准确率,而后者则进一步细化了模型对于垃圾物体边界框的预测能力。
在模型训练过程中,经过50个训练周期(Epochs)的优化,我们观察到模型的损失值从初始的高点逐渐下降,最终稳定在较低的水平。这一趋势反映了模型对生活垃圾图像数据集的适应性和学习效率的不断提升。具体来说,训练初期损失值较高,主要因为模型还未能有效识别和分类各类垃圾物体。随着训练的深入,模型逐渐学习到更复杂的特征表示,损失值在第30个Epoch降至0.3以下,如图3所示。
该系统在测试集上达到了93.5%的平均精度(mAP),其中可回收物的识别准确率最高,达到了95.2%。对于较为挑战性的小型垃圾和颜色、形状相近的垃圾物,通过引入自适应图像缩放技术,系统也表现出了良好的识别能力,识别率均超过了90%。
5. 实验最终结果
本次选取200种不同的垃圾进行识别,为了测试模型准确性,将不同照片进行混淆分成四组,识别结果见表2。
Table 2. Model identification results
表2. 模型识别结果
分析测试结果显示,该模型展现出较优秀的识别性能,平均识别率高达95.5%,对垃圾图像都能有效识别。证实了模型可以满足人们在日常生活中对垃圾分类的需求,有效缓解了生活垃圾分类过程中遇到的难题。
6. 智能垃圾桶结构
新型垃圾桶采用了顶部环形轨道的设计,方便机械臂在其上运行并进行垃圾的精准抓取和分类。垃圾桶的入口处设计有一个置物台,使得机械臂能更容易地抓取垃圾。垃圾桶本体被分为四个独立部分,用于分类存放四种不同类型的垃圾。置物台上方安装的摄像头与树莓派相连,能够实时传输图像数据,树莓派则运行YOLOv5模型对垃圾进行识别和分类,如图4所示。采用圆柱形设计使得机械臂能在任意方向上均匀接近垃圾,增加抓取的灵活性和效率。新型垃圾桶使用环保型高密度聚乙烯(HDPE),不仅轻质、耐腐蚀,还易于清洗,同时对环境友好,适合用于处理和回收垃圾的场景。
Figure 4. Structural design of garbage can
图4. 垃圾桶结构设计
7. 结论
本设计将YOLOv5和树莓派相结合,在传统垃圾桶的基础上设计了新型圆形垃圾桶,帮助人们更方便地进行垃圾分类。在垃圾桶上安装树莓派作为整套系统的大脑,机械臂在环形轨道上移动实现对垃圾的抓取和分类。通过YOLOv5深度学习模型来提高智能垃圾桶的垃圾识别率。
基金项目
2023年国家级大学生创新创业训练计划项目。