APP下载

基于机器视觉的垃圾分拣系统设计

2023-06-25陈美玲朱温涵刘佳成郑阳

现代信息科技 2023年4期
关键词:树莓派机器视觉卷积神经网络

陈美玲 朱温涵 刘佳成 郑阳

摘  要:由于人们生活水平的不断提高,随之产生的生活垃圾也不断增多。为解决靠人力进行垃圾分类效率低下的问题,对自动垃圾分拣系统进行研究,并设计一种基于机器视觉的垃圾分拣系统。使用搭载有摄像头的树莓派作为主控单片机,利用卷积神经网络来分辨摄像头所拍摄垃圾的类型,借助Arduino控制舵机自动开合垃圾桶,实现垃圾分类。经过测试分析,系统的准确精度均能达到70%以上,准确精度较好,籍此人们能够轻松处理生活垃圾。

关键词:机器视觉;树莓派;卷积神经网络;Arduino

中图分类号:TP311  文献标识码:A  文章编号:2096-4706(2023)04-0018-05

Design of Garbage Sorting System Based on Machine Vision

CHEN Meiling1, ZHU Wenhan2, LIU Jiacheng1, ZHENG Yang3

(1.Nanjing Tech University Pujiang Institute, Nanjing  211200, China; 2.Graduate School Qinhuangdao Branch, Northeastern University, Qinhuangdao  066004, China; 3.Jiamusi University, Jiamusi  154007, China)

Abstract: With the continuous improvement of people's living standards, the amount of domestic garbage generated is also increasing. In order to solve the problem of inefficient waste sorting by manpower, the automatic waste sorting system is studied and a waste sorting system based on machine vision is designed. The Raspberry pie equipped with a camera is used as the main control MCU, and the Convolution Neural Network is used to distinguish the type of garbage captured by the camera. The steering gear is controlled by Arduino to automatically open and close the garbage can, realizing garbage classification. After testing and analysis, the accuracy of the system can reach more than 70%, and the accuracy is good, so people can easily handle domestic garbage.

Keywords: machine vision; Raspberry pie; Convolution Neural Network; Arduino

0  引  言

截至目前,全國每天的生活垃圾生产量已经超过4.5亿吨,而全国生活垃圾清运量仅为2.29亿吨。合理地进行垃圾分类是有效进行垃圾处理、减少环境污染的关键举措,也是最有效的垃圾科学管理方式[1]。

在国内,北京领邦仪器公司研发出了一款采用机器视觉技术和光学检测技术的工业零件检测机器人,该机器人可实现对高精度零件进行检测分拣[2];在国外,ABB公司于2020年上海举办的进博会上,展示了最新研发产品——YuMi智能垃圾分类机器人[3]。该机器人能够实现垃圾的初步化过滤,对垃圾迅速准确地进行识别,多自由度机械臂灵活分拣,垃圾分类分拣完成后的数据传递等功能。目前,随着深度学习技术的不断进步,借助高速的计算机视觉技术实现自动分拣垃圾有现实的可能性[4]。

1  理论基础

在20世纪40年代,人工神经网络由于无法完成非线性分类、反向传播训练速度慢的发展进入了一段很长的低迷期。2006年,深度信念网络的概念被提出,由于该方法对手写字体识别的效果好,使得更多人投身于此。深度神经网络的快速发展,使得神经网络训练的速度大大提高。

1.1  卷积神经网络

与常规神经网络不同,卷积神经网络能够解决处理大尺寸图像的三个明显缺点:一是图像向量化造成空间信息丢失,二是参数过于庞大而导致的训练困难,三是大量的参数会导致网络的过拟合。在本设计中,垃圾分类的图片数据良莠不济,使用卷积神经网络可以很好地解决这个问题。

1.2  卷积层

在机器视觉中运用卷积神经网络,卷积层是它的核心。不同的卷积核可以提取例如角、水平、线性等特征。每一层图片经过卷积后得到的计算公式为:

其中, 表示第i层的数据宽度, 表示第i-1层的输入数据宽度,p[i]是对第i层数据进行0填充的大小,f [i]是第i层过滤器的维度,s[i]是第i层过滤器的步长。以上公式同样适用于输入图片的高度。

1.3  池化层

池化层通常按一定周期规律插入到连续的卷积层之间。所谓池化即为压缩网络中原有数据参数的大小,以此来达到简化卷积神经网络计算,减少卷积层中的相互联系单元,同时控制过拟合这一目的。

通常有三种大值池化的操作方法:最大值池化(Max Pooling)、平均池化(Mean Pooling)和随机池化(Stochastic Pooling)。实践证明,最大池化的效果比其余二者的都好。

1.4  全连接层

在卷积神经网络中,全连接层多位于网络末端后两层。全连接层的作用则是将这些图形数据进行整合,然后进行归一化处理。图1是一个简化的全连接层设计流程图。

全连接层的计算相对于前面的卷积运算来讲容易得多,当使用多次卷积和最大池化操作对原始图像像素特征提取之后,再乘以提前在全连接层中定义好的权重参数,接下来通过Softmax函数激活,得到的结果是对应输入图像所对应的类别的概率大小,最后通过概率判断输入图像的类别。

2  总体设计

首先在模型训练及预测方面,本文使用个人PC机自带的GPU,使用卷积神经网络模型ResNet对预處理过的数据集进行训练及预测。由于树莓派的体积小,可布置在多个复杂环境。若预测效果较为满意,则将该模型重新部署到树莓派端使用。

在树莓派端的垃圾分拣系统包括Arduino Mega 2560、树莓派4B、树莓派专用摄像头,设计结构如图2所示。

本设计以两类主控板分别对整个垃圾分拣系统进行联合控制。首先通过在树莓派端训练预测模型,再使用其专用摄像头来获取需要分拣的垃圾数据,图片经过卷积、池化、激活等一系列深度学习处理,最后进行归类并显示在其连接的显示器上[5]。同时,树莓派会将归类结果通过串口发送给Arduino,Arduino将根据结果控制相应舵机的启停,并根据当前视野内是否出现垃圾为依据控制传送带上电机的移动,进而实现塑料、金属、纸张、纸板四类生活垃圾分类分拣的效果。

3  硬件系统

首先在PC端上使用GPU进行模型训练及预测,接着在准确性、快速性达标的情况下,将该模型网络部署到树莓派端,进而实现实时垃圾分类。在本章中,将介绍本设计所用到的硬件环境。

3.1  CPU与GPU

GPU,又称视觉处理器,是一种专门在私人PC机、移动设施上对图像和图形做相应计算和处理的单元。GPU的存在使得其可以为CPU分担大部分冗长复杂的图像处理工作,使得显卡减少了对CPU的依赖;CPU,又称中央处理器,是计算机控制系统中的核心器件,它能够通过各类逻辑运算电路完成信息处理、程序运行等功能。CPU主要包括控制器及运算器两大部分[6]。

该设计所使用的硬件环境如表1所示。在GPU产生之前,传统处理二三维图像的方法都是使用CPU,然而由于CPU不只对图像进行处理,还有其他繁多的任务。随着机器视觉技术的发展需求,GPU作为专门处理图像的单元而产生。CPU和GPU的合作运行,最大程度上发挥了电脑的性能。然而由于图片数据大,CPU处理图像速度缓慢等因素,故选择单独配置使用GPU来对模型进行训练。

3.2  树莓派与图像识别模块

本设计采用树莓派(Raspberry Pi)4B开发板作为主控模块,是一片仅有身份证大小的微型计算机,也是单片机的一种。树莓派4B开发板在同价位的开发板中,性价比较高,其拥有多种不同规格的外设接口,可以连接显示屏、鼠标、键盘等外设,其中的GPIO接口扩展模块也能够各种各样识别的传感器。主板上有提前预留好的接口,可以与树莓派专用的500万像素摄像头完美连接。树莓派专用摄像头实物图如图3所示。

可以看到摄像头与树莓派连接方便,使主控板和图像提取模块集成在一个区域,为垃圾分拣系统的实物设计留足了空间。Python为其主要的编程语言,同时也可以使用基于ARM框架的其他编译语言。在本设计中主要在树莓派中运用机器视觉中的TensorFlow+keras算法框架。

3.3  Arduino与数字舵机模块

Arduino是一个既有硬件又有软件的开源电子平台:硬件部分是集成各个模块功能、能够与外设连接的Arduino电路板,软件部分则是Arduio IDE,与keil4类似,用作个人计算机端的程序开发环境。由于其编程语言的简单及人性化,故使用者可以将一些常用的语句组合函数化,这使得使用者能够快速入门。

该设计使用Arduino Mega2560作为舵机控制的控制板,其实物图如图4所示。它是采用USB接口的核心电路板,具有54个数字I/O口,针对本项目垃圾归类类别多这一难点,可以同时控制多个舵机。

在舵机方面,本文使用20KG舵机,根据实际情况,既可组装成多自由度的机械臂,又可与垃圾桶盖结合,组装成智能垃圾桶。在电压保持恒定输入的情况下,由PID位置式算法控制舵机可以精准迅速地达到所要求的角度。故针对各种复杂的垃圾,该舵机能很好地胜任分拣的任务。

4  垃圾分拣系统的实现

在本节中,将实现垃圾分拣系统所用到的AlexNet模型在PC端、树莓派端上有效的运行,并对结果进行分析。

4.1  模型框架选取

TensorFlow是一个端到端的开源符号式数学系统,被广泛应用于先进机器学习技术,可以随时随地在云端、本地甚至是浏览器中训练部署模型;PyTorch是由Facebook人工智能研究院于2017年提出的,在机器视觉领域,它具有相当简洁高效快速的框架,入门容易,设计理念是追求最少的封装,使初学者能够迅速入门。

TenorFlow与Pytorch的区别如表2所示。虽然TensorFlow入门难度大,编程难度也更大,但对于大数据的数量显然较Pytorch要高,另外其社区学习资源、代码更丰富,当代卷积神经网络框架TensorFlow较为成熟,程序代码已可以运用在Windows、Linux系统上。本文通过网络上预先获取到的图片数据集,在Windows系统下,使用PC端中的GPU来对AlexNet卷积神经网络模型进行训练。为使得本设计能更符合工业化生产要求及更贴近实际生活,故采用TensorFlow作为框架[7]。

4.2  PC端模型预测

将数据集输入提前布置好的AlexNet网络模型代码当中,使用PC端进行模型训练和预测,预测脚本的代码编写思路是:首先载入训练好的模型,接下来读入图片信息进行预测,最后展示预测的效果。使用数据爬取技术对三个数据集分别进行预测,测试结果如表3所示。

由表3可知,对三个大小差别不大的图片数据集进行预测,其准确精度均能达到70%以上,准确精度较好;另外其分析图片的实际时间差别不大,使用PC端GPU基本能符合快速性要求。以上,垃圾分类在PC端预测能够得到较好的结果,可以将模型重新部署到树莓派端。

4.3  树莓派端模型预测

將代码和图片集拷贝到树莓派上,使用树莓派摄像头进行垃圾分类:激活虚拟环境后,克隆代码并进入代码目录,测试好视频接口后,打开摄像头运行代码开始垃圾分类。在摄像头视野内手动放入一个矿泉水瓶,树莓派检测结果如图5所示。

可以看到,树莓派在多个时间段内判断矿泉水瓶均属于plastic(塑料),该图片分类效果较好。接下来,再放入形状与矿泉水瓶类似的罐装可乐瓶,树莓派检测结果如图6所示。

可以看到,树莓派在多个时间段内判断罐装可乐瓶均属于metal(金属),该图片分类效果较好。接下来,再放入不规则形状的卫生纸,树莓派检测结果如图7所示。

不断翻转手中的卫生纸,检测结果均为paper(纸),该图片分类效果较好。最后,再放入与纸材料类似的平面纸板,树莓派检测结果如图8所示。

以上,可以看到四种垃圾在30秒内失误数都较少,整体准确率均达到80%以上,故部署在树莓派端的模型分类可以达到预期效果。

4.4  Arduino端分拣实验

将Arduino与树莓派串行连接,摄像头实时拍摄需要分拣的生活垃圾,显示屏则用作显示当前分类的结果;Arduino控制4个舵机进而带动垃圾桶进行开合,基于机器视觉的垃圾分拣系统图如图9所示。

当树莓派检测结果为plastic时,舵机1转动45度;当检测结果为metal时,舵机2转动;当检测结果为paper时,舵机3转动;当检测结果为carboard时,舵机4转动。舵机是由信号线输入一个PWM信号进而控制一定的角度并锁死,现场图片分类时,其中一个分类情况下,舵机转动如图10所示。

可以看到,当垃圾分类结果出现时,其中一个舵机转动,由上述实验结果可以得到结论:PC端内GPU可以较好地使用训练好的模型进行预测,将模型部署到树莓派端后,树莓派也能在快速性的基础上对垃圾图片进行准确分类,同时与树莓派进行串口通信的Arduino也能够控制相应的舵机转动,进而能够将计算机有效代替人力实现垃圾分类分拣。

5  结  论

本设计在PC端和树莓派端分别进行模型训练,在GPU端使用训练好的模型预测数据进行汇总分析后,将AlexNet网络模型部署到树莓派端使用,得到了多个准确的分类实验结果,与此同时Arduino上的相应舵机角度转动也较为精确。以上,实现了基于机器视觉的垃圾分拣系统所要求的准确性及稳定性,实验结果较好,成本在可控范围内;相较人力分拣而言,可代替大量重复工作,达到快速性的效果,在硬件和算法进一步完善更新的基础上,有较好的市场前景。

参考文献:

[1] 王蓉蓉.基于机器学习的垃圾识别与分类研究 [D].兰州:兰州理工大学,2021.

[2] 李健凯.基于深度学习的视觉机器人垃圾分拣系统设计 [D].天津:天津工业大学,2021.

[3] 肖扬.基于机器视觉的废纸箱分类识别技术研究 [D].郑州:河南大学,2020.

[4] 王喆.基于机器视觉的医疗垃圾桶识别抓取方法研究 [D].济南:齐鲁工业大学,2020.

[5] 张凤.智能垃圾分拣系统关键技术研究 [D].成都:成都理工大学,2020.

[6] 黄帅.基于机器视觉的大型生活垃圾焚烧过程诊断方法研究 [D].杭州:浙江大学,2020.

[7] 段昆昕,江秋仪,陈锋楠,等.基于树莓派下智能分类垃圾桶设计 [J].中国新技术新产品,2022(1):37-39.

作者简介:陈美玲(1984—),女,满族,吉林四平人,副教授,硕士,研究方向:智能控制、图像处理。

收稿日期:2022-09-23

基金项目:校一般科研课题(njpj2021-2-04)

猜你喜欢

树莓派机器视觉卷积神经网络
基于深度卷积神经网络的物体识别算法
智能安全防盗探测小车
大场景三维激光扫描仪在研究生实践教学培养中的应用
深度学习算法应用于岩石图像处理的可行性研究
基于机器视觉的工件锯片缺陷检测系统设计
基于深度卷积网络的人脸年龄分析算法与实现
基于机器视觉技术的动态“白带”常规检测系统的开发
基于卷积神经网络的树叶识别的算法的研究
机器视觉技术在烟支钢印检测中的应用
基于嵌入式技术的农村医疗系统设计