刘晏铭 丛子健 王 通 黄子悦
(长春大学机械与车辆工程学院,吉林长春 130000)
随着城市发展,垃圾回收和再处理成为现代城市需要提供的基本服务。国内垃圾分类方式主要包括人工分拣和大型垃圾场分类,大型垃圾场的垃圾分类措施依然采取大量人工进行分拣。张河等[1]设计基于51单片机的智能垃圾桶系统,具有自动检测开盖以及超重预警功能。许韩睿等[2]设计基于STM32的智能垃圾桶系统,具有可旋转开盖、防火报警和显示垃圾余量等功能。随着深度学习技术在视觉领域的应用和发展,利用最新的人工智能技术实现垃圾分类成为可能,利用摄像头拍摄垃圾图片,检测垃圾类别,使机器实现自动垃圾分拣,极大地提高垃圾分拣效率。卷积神经网络的提出增加了分类的效率。Butt等[3]采用VGG19网络模型对视频图像进行监控。文章提出基于VGG16网络模型,采用树莓派4B和STM32单片机设计垃圾分类系统。
装置主体上层为控制部分电路盒,中层为垃圾分类机械结构,下层为4个独立的垃圾桶。采用SOILDWORKS软件对分类装置进行建模,垃圾桶高850 mm,长、宽各450 mm。电路盒放置系统需要的电子硬件和连接的杜邦线,盒子上方放置7寸的高亮显示屏;垃圾分类机械结构包括两个轴承、两个舵机,轴承保证二自由度的机械结构进行垃圾分类时减少摩擦;4个独立的垃圾桶长宽各200 mm,高500 mm,分别放置厨余垃圾、可回收垃圾、有害垃圾、其他垃圾。装置上方为20 cm×20 cm的垃圾投放口,垃圾通过投放口投放至装置内。
垃圾桶结构建模如图1所示。
图1 垃圾桶结构建模
整体框架使用铝材制作,电路盒和分类机构使用3D打印机器加工,垃圾桶使用亚克力板制作。
(1)控制电路设计。本装置选择树莓派4B作为上位机,选择32系列单片机作为下位机。上位机与下位机进行信息传递,连接光电传感器1、摄像头和LED灯。光电传感器1连接树莓派的GPIO18口,末端固定在分类机构的分类槽中。垃圾投放至分类槽时,光电传感器的光线被阻挡,反馈上位机信号;上位机接收到信号,运行相应程序并发送对应指令给下位机。下位机接收到上位机的指令,通过PWM控制电机旋转角度,完成对应的动作,将垃圾投放至相应的垃圾桶内,完成分类。桶内垃圾超过容积的80%时,光电传感器会给下位机反馈,下位机控制无源蜂鸣器报警。
硬件电路连接如图2所示。
图2 硬件电路连接
(2)程序设计。
程序设计流程如图3所示。
图3 程序设计流程
数据集包括训练集和测试集,约50%数据来自公共数据集,采集不同状态下的垃圾,保证整体的泛化性,其余50%为课题组拍摄的图片(3 854张)。为了增加样本的多样性,降低训练过程中的过拟合,需要增加样本量,对每一个样本进行水平竖直翻转,将验证集的图像尺寸调整为150×150像素。扩充样本后,数据集图片共8 800张,按照7∶3的比例随机分割为训练集、检验集。其中,6 160张作为训练集,2 640张作为验证集。每批训练图片数量为24,迭代次数为20次。课题组图像像素为640×480,为3通道RGB图像。
数据集分类如表1所示。
表1 数据集分类
本设计以卷积神经网络VGG16为特征提取网络。VGG16的结构简洁,网络使用相同尺寸的卷积核(3×3)和最大池化尺寸(2×2);通过加深网络结构提升网络性能;多个小滤波器(3×3)卷积层的组合效果比1个大滤波器(5×5或7×7)卷积层好;在网络测试阶段将训练阶段的3个全连接替换为3个卷积,使测试得到的全卷积网络无全连接的限制,可以接收任意宽或高的输入。为了增加网络的泛化能力,对VGG16网络进行优化。在原有数据的基础上,扩充不同的垃圾图片共3 000张;在原有VGG16网络基础上,添加归一化处理,进一步提高网络的泛化能力;添加全连接层和dropout处理。
试验平台电脑配置:i5-8300H CPU,8G RAM,64位window 10操作系统,GPU为NVIDIA GeForce GTX 1050 Ti。为了评估垃圾种类识别特征提取模型的性能,采取对比试验。利用自定的训练集进行验证,将优化VGG16模型与VGG16和AlexNet模型进行对比,进行20次迭代训练。
模型迭代准确率与损失率如图4、图5所示。
图4 模型迭代准确率
图5 模型迭代损失率
由图4、图5可知,优化VGG16的识别准确率比VGG16和AlexNet高,损失值较低。将5次训练的准确率和损失值分为5组,取平均值。
分析不同方法5次训练的准确率,优化VGG16的识别效果优于其他两个模型,准确率最高为0.98;分析损失率,AlexNet模型训练损失率最高,最高为0.204,最低为0.186,优化VGG16的模型损失率整体最低,最低为0.019,平均约0.05。训练后的VGG16模型准确率维持在0.96以上,损失值低至0.05,精度能够达到垃圾识别分类的要求。
不同方法的准确率如表2所示。
表2 不同方法的准确率 单位:%
在完成模型的选择与优化,将模型移植到树莓派中,进行系统的实物搭建,在实际环境中对系统的分类功能和识别速度进行测试,共测试100次。
实际测试结果如表3所示。
表3 实际测试结果
由表3可知,系统能够很好地识别对应的垃圾种类;对驱动装置进行测试,舵机能够准确地执行分类动作,实现垃圾的正确分类。整体运行结果显示,模型能够通过摄像头传输的图片准确识别垃圾种类,机械结构能够正确地将对应垃圾分类到对应的垃圾箱内。测试的4种垃圾都能够精确识别,准确可靠。
测试识别时间如图7所示。
图7 测试识别时间
由图7可知,系统稳定运行,完成1次垃圾分类识别时间约0.95 s,模型在实际系统中具有良好的识别速度。
本研究提出依据优化VGG16网络模型与迁移学习结合的垃圾分类系统方法,通过识别垃圾图像对投掷的垃圾进行分类并投放到对应的垃圾桶。分类系统完成1次分类回收的时间为0.95 s,平均识别精度超过95%。研究发现,一些深层次问题仍需解决,应改进算法以提高对小型垃圾的识别精度;研发多仓或其他垃圾收集工具,以满足多类别的需求。