基于机器视觉的智能垃圾分类实验平台设计

您所在的位置:网站首页 cm4树莓派性能 基于机器视觉的智能垃圾分类实验平台设计

基于机器视觉的智能垃圾分类实验平台设计

#基于机器视觉的智能垃圾分类实验平台设计| 来源: 网络整理| 查看: 265

李 祺, 曾 明, 卢向哲, 聂为之

(天津大学a.电气自动化与信息工程学院;b.电气工程与自动化国家级虚拟仿真实验教学中心,天津 300072)

0 引 言

由于垃圾物品的种类繁多垃圾分类处理势在必行[1-3],不同国家和地区的分类标准也存在一定的差异,这给民众掌握全面、细节的垃圾分类知识带来了极大的挑战。目前针对垃圾的前端收集,国内外已有一些公司研制出了具有分类功能的智能垃圾桶。例如,中国阿尔飞思公司研发的人工智能垃圾桶[4],在用户投入垃圾后,桶内顶端的摄像头拍摄照片自动识别垃圾类别,然后将垃圾投放至相应类别的垃圾桶。美国Clean Robotics公司研发的一款自动垃圾分类机器人TrashBot[5],其先通过摄像头识别投入垃圾桶的垃圾,再通过智能算法将物品按类别归到各自属于废物还是可回收类垃圾桶中。这两款先进的垃圾桶虽然都可以通过桶内的视觉系统识别垃圾种类,并进行垃圾分类投放,但这类一体化“封闭式”设计的智能垃圾桶存在诸多问题:①分类种类限制太大,一般只能实现二分类;②由于受内部视觉检测空间的限制,只允许投放小尺寸的垃圾物品;③视觉检测装置占用了很多的空间,垃圾桶的容量受到一定的限制,增加收集的频次;④垃圾溢满时,很难实现垃圾自动的转运,需要人工打开垃圾箱取出溢满的垃圾;⑤被智能垃圾桶所取代的传统垃圾桶得不到充分利用。此外,在算法方面,目前基于深度学习的方法已被应用于垃圾分类中[6-9],但这些方法中所用到的网络层数较浅,提取图像高维特征的能力有限[10],同时在训练网络中使用单一的损失函数难以获得更优的模型[11]。

本文提出采用可分离式的机构设计方案和云边协同的电控系统设计方案,扩展了垃圾分类种数和垃圾桶的容量,且便于垃圾转运。在此基础上,应用基于迁移学习的垃圾分类方法,提升了系统对图像高维特征的提取能力。依托该平台开展实验教学,推动了教育技术的革新,更好地培养了学生工程实践能力与创新意识。

1 智能垃圾分类实验平台整体结构1.1 可分离式的机构设计

智能垃圾分类实验平台(以下简称为“实验平台”)主要由视觉检测分类模块和多个桶盖分离的智能垃圾桶模块构成,如图1 所示。针对目前国内外一体化智能垃圾桶存在的问题,实验平台采用可分离式的设计方案,即“视觉检测与智能桶分离”“桶盖与桶身分离”。

(1)视觉检测与智能桶分离。视觉检测分类模块主体结构包含支架部分、检测部分和控制箱,如图2 所示。其中,支架部分由载物台和支撑立柱组成,载物台用于盛放被测物品,通过调节支撑立柱可确保检测部分的识别范围覆盖整个载物台;检测部分由超声传感器和视觉摄像头组成,超声传感器用于检测视觉摄像头与载物台之间是否有待检测的垃圾,摄像头用于采集垃圾的图像信息;控制箱内部署实验平台的电气控制系统。

图1 智能垃圾分类实验平台

图2 视觉检测分类模块结构

通过具有独立的支架部分的结构设计,实现视觉检测分类模块与智能垃圾桶模块分离,可使实验平台具备以下优点:①分类垃圾种类数不受限制,可以是2分类、4 分类,甚至更多类;②方便检测和投放尺寸较大的垃圾物品;③不含视觉检测的智能桶的垃圾容量增大,减少了收运频次;④垃圾分类过程可以实现可视化,有很好的引导和教育效果。

(2)桶盖与桶身分离。智能垃圾桶模块由分离的智能桶盖结构、伸缩支撑结构及移动垃圾桶3 部分组成,如图3 所示。智能桶盖结构包含活动盖板、固定盖板、红外探测器和料位高度超声探测器;伸缩支撑结构包含伸缩立柱、开盖电动推杆、伸缩立柱顶推电动推杆和T型立柱;移动垃圾桶选用普通公共垃圾桶即可。

分离的智能桶盖采用小盖套大盖的双桶盖设计,活动盖板的开盖动力由开盖电动推杆提供,开盖电动推杆上下运动时带动活动盖板绕转轴翻转,实现智能桶的自动开、关盖功能;固定盖板通过连接伸缩立柱顶推电动推杆进行上下运动,实现自动封盖不同高度尺寸的垃圾桶。智能桶盖内侧的料位高度超声探测器用于实时监测垃圾桶的剩余容量,红外探测器则用于方便熟知垃圾类别用户直接扫描开盖投放垃圾。

图3 智能垃圾桶模块结构

“桶盖与桶身分离”设计的优点体现在:①由于桶盖是分离的,使得垃圾桶溢满后可以很方便的转运;②可伸缩悬空智能桶盖可以将容量为60 ~240 L的普通垃圾桶快速升级为智能垃圾桶,充分利用现有资源。

1.2 电控系统设计

实验平台的电控系统采用“上位机+下位机”的硬件结构[12]。其中,上位机选用树莓派CM4,用于读取并处理摄像头采集的图像信息和下位机上传的数据信息;下位机基于STM32F103 芯片构建控制器,用于采集传感器的数据信息、执行上位机回传的策略指令,并控制机构执行相应动作。

在此基础上,将每个垃圾分类实验平台视作一个智能终端,依据物联网架构,开发云端服务平台用于搭建卷积神经网络、训练垃圾分类模型;与此同时,树莓派CM4 成为系统中的边缘计算节点,运行优化后的垃圾分类模型,并将新采集的垃圾图像信息上传云平台,以供扩展垃圾图像数据集。从而形成云边协同的智能垃圾分类系统架构,如图4 所示。

图4 云边协同的智能垃圾分类系统架构

当用户将待检测的物品放置在载物台上,超声传感器会检测到位置信息的变化从而触发视觉检测装置工作:电气控制柜内的树莓派主控板调用视觉摄像头对待检测的垃圾物品进行拍照,并运行分类模型进行预测,从而完成垃圾物品的检测和识别任务,预测的垃圾分类结果及图像信息最终会上传云平台。在此基础上,通过下位机控制打开相应类别的智能垃圾桶的活动盖板,并点亮该桶盖的LED 灯带,引导用户进行垃圾投放。此外,考虑到部分常见垃圾(例如矿泉水瓶、金属易拉罐等)的类别归属为大众所熟知,用户可通过直接扫描每个智能桶盖前端设置的红外探测装置,进行开盖投放。每次投放结束后,桶盖下方的超声传感器回传距离信息并计算桶内剩余空间发送到上位机;当垃圾桶接近溢满时,上位机会将溢满信息发送至管理中心或保洁员提醒及时清运处理。

2 结合迁移学习的垃圾分类方法2.1 构建大规模垃圾图像数据集

大数据是深度学习的基础[13]。研究表明,深度学习计算的性能随着训练数据的数量级呈线性增加的趋势,数据量的大小直接影响深度学习的性能,数据量太小会导致训练出的模型泛化能力弱、容易过拟合,无法应用到现实生活。许多图像领域任务(如图像分类、目标检测、图像分割等)的完成,都离不开巨大的数据集。Razali等[14]自行采集的200 张垃圾图像数据集(未公开);Sakr等[15]自行采集的2 000 张垃圾图像数据集(未公开);Chu等[16]构建的总数为2 527 张垃圾图像数据集TrashNet(公开)。由此可见,目前公开的垃圾图像数据集数据量少,无法满足深度学习模型的训练要求,大规模生活垃圾目标检测图像数据集成为应用深度学习进行垃圾分类的重大挑战。

本课题组于2018 年开始进行人工构建垃圾图像数据的工作,用于分类算法的研究。首先对课题组自行采集的真实垃圾图片和从网上获取的垃圾图像数据集进行整合,共得到33 万张单物品垃圾图像;然后组员们对其进行人工清洗与分类,去除图像模糊、类型重复及信息残缺的数据;最终,经人工数据清洗与分类,共筛选得到19 万张的高质量大规模单物品垃圾图像数据集GarbageNet,包含10 个大类(厨余垃圾、可回收塑料、不可回收塑料、可回收纸、不可回收纸、金属、电子产品、玻璃、纺织物、危险有害垃圾)、34 个超类(见图5)、767 个小类。

2.2 深度跨连接网络的垃圾分类算法设计

为使实验平台克服现有浅层卷积神经网络(CNN)垃圾分类方法存在的高维特征提取能力有限等问题,应用基于深度跨连接网络的垃圾分类算法,实现更深层次的特征提取;同时通过设计新的损失函数,进一步提升垃圾分类的准确率。

基于深度跨连接网络的垃圾分类算法首先应用深度跨连接网络DenseNet[17]在大型数据集ImageNet 上预训练提高网络的特征提取能力;然后在自行构建的垃圾图像数据集GarbageNet 上对网络部分参数进行微调,实现将网络前期在ImageNet 上学习到的特征提取能力迁移到GarbageNet 上;在此基础上,训练网络的垃圾分类能力,在这部分训练中引入新的损失函数。具体步骤如下:

(1)搭建深度跨连接网络DenseNet(配置见表1),初始化网络模型参数,并在数据集ImageNet 训练全部网络参数,直到网络的特征提取能力达到最优。

(2)将步骤(1)中训练好的网络替换最后的全连接分类器,分类数由ImageNet 的1000 类变成GarbageNet的10 类;固定低层网络参数,只允许训练高层的网络参数,设经过改进的深度跨连接网络为A。

图5 34个超类包含的小类个数

表1 深度跨连接网络的配置说明

(3)对图片数据进行预处理。根据DenseNet 的网络配置,设置参数batch size =64,读取64 个图片数据和对应的标签,通过随机左右翻转、随机上下翻转、随机亮度和随机饱和度,对图片做数据增强;在此基础上,将每个图片的RGB 像素值进行归一化处理(在0 ~1 的范围内),之后将数据减去0.5、乘以2 使数据处于(-1,1)之间,以满足激活函数要求。

(4)将步骤(3)中处理后的图片数据输入网络A,通过网络A前向传播后得到维度为(64,10)的概率矩阵,每一行代表该图片属于10 个类别的概率。

(5)根据类别标签y和概率矩阵y^(网络输出)之间的交叉熵损失函数L(y,y^)= -∑ylgy^,计算总的损失函数[18]

式中:L(ymat,y^mat)是材质交叉熵损失函数;ymat是材质标签;y^mat是材质概率;L(yrec,y^rec)是回收交叉熵损失函数;R为可回收类别集;U 为不可回收类别集;m为可回收类别数量;n为不可回收类别数量;yrec是回收标签;yR是可回收标签;yU是不可回收标签;y^rec是回收概率;pR是可回收概率;pU是不可回收概率;α是权重因子(用来分配两个交叉熵损失的重要性),量纲为1。

通过反向传播计算损失对每个参数的导数,进而更新参数。其中,优化器选择带动量的SGD,动量参数设置为0.9,初始学习率为0.01,每训练10 epoch下降为原来的0.1,weighted decay设置为0.000 04。

(6)重复步骤(1)~(5),直到网络A在测试集上的性能不再提高为止。

基于深度跨连接网络的垃圾分类算法在测试集中取得了97.2%的准确率;与采用单一损失函数相比,双交叉损失函数设计对准确率提高了0.7%,如图6所示。该算法的高准确性是智能垃圾分类实验平台可靠运行的重要保障。

图6 两种算法准确率对比图

3 实验教学应用3.1 开发通用图像分类模型实验架构

为将最新的人工智能科研成果转化为教学应用,保证教学内容与时俱进,课题组依据“图像处理”课程大纲,在实践教学环节中引入智能垃圾分类实验平台,使学生在了解深度学习理论知识的基础上,通过设计垃圾分类程序,理解CNN 的网络结构和模型训练过程,并且有能力进行实际工程应用。

面向实验教学需求,课题组基于Python3.7&PyTorch1.1&TorchVision0.3. 0 环境,开发了一个通用图像分类模型框架。该架构集成了包含ResNet[19]、 DenseNet、 ResNeXt[20]、 MobileNet[21]、EfficientNet[22]5 种图像分类常用网络,同时可以根据需要利用TorchVision扩展其他的分类算法。此外,该框架包含SVM、RF、MLP、KNN 4 种经典分类器供学生实验使用,从而使学生掌握不同分类算法的特点及使用方法。

在此基础上,为解决实验平台数量有限、多组学生在1 套上位机运行模型影响教学进程的问题,课题组采用云计算的方式,将分类模型部署到云端,并基于Flask 框架将模型的推理过程封装为1 个可调用的API(应用程序接口)。具体步骤如下:

(1)云端配置模型运行所需的运行环境;

(2)采用Flask 框架构建应用实例(所有的云端API的响应服务均由这个示例对象进行处理);

(3)将整个函数的操作封装为一个类,模型的读取过程作为类对象的私有化初始函数,算法的推理过程作为类成员函数;

(4)基于gunicorn 服务器和gevent 库,构建多线程的可调用服务API。

实验过程中,每组学生分配有特定的IP 地址,系统首先依据IP 地址调用API,将图像上传至云服务器;然后,云端调用相应的分类模型进行数据处理;最终,系统将处理得到的类别结果回传到实验平台上位机,即设备接收到云端返回的垃圾类别并执行相应控制指令,实验流程如图7 所示。在此基础上,以垃圾运输为主题,引导学生设计与实验平台协作的垃圾转运机器人,从而拓展实验教学内容,激发学生的创新意识。

3.2 基于迁移学习的实验内容设计

实验内容围绕垃圾分类的主题开展。学生需掌握智能垃圾分类实验平台的系统结构以及“通用图像分类模型实验架构”的使用方法,并结合PyTorch图像分类器例程,研习“基于深度跨连接网络的垃圾分类算法”。在此基础上,以组为单位,开发智能垃圾分类实验平台的控制程序;同时,应用迁移学习的方法,在云端构建基于CNN的垃圾分类模型,并与经典分类器的分类效果进行对比。具体步骤如下:

图7 实验流程示意图

(1)准备实验数据集。了解垃圾图像数据集GarbageNet的数据结构,并按照2∶1∶1的比例,将其划分为训练数据集、验证数据集和测试数据集。

(2)对3 个数据集的图像进行裁剪,将大小调整为224 ×224,并对图像进行标准化处理,使其符合输入神经网络所需的特定格式。

(3)应用ImageFolder(加载图像函数)和DataLoader(批量传递图像函数)为每个数据集创建加载器。

(4)分析ResNet、DenseNet、ResNeXt、MobileNet、EfficientNet 各自的特点,从中自行选取一个基于ImageNet的预训练网络B,并应用TorchVision 完成加载。

(5)冻结B的部分卷积层,利用垃圾图像训练数据集和验证数据集对其进行训练,得到基于CNN的垃圾分类模型M。

(6)利用垃圾测试数据集检验M 的图像分类的准确性。

(7)去掉M的全连接层,将提取到的特征保存为“.pkl”文件,并利用这些特征训练经典分类器(SVM、RF、MLP、KNN),得到模型N。

(8)利用垃圾测试数据集检验N 的图像分类的准确性。

(9)对比M和N的垃圾图像分类准确率,分析2种分类算法的特点。

(10)在云端部署相应的分类模型,并设计垃圾分类实验平台的控制策略。

此外,指导教师鼓励学生研习“基于深度跨连接网络的垃圾分类算法”的设计思路,从网络结构、模型参数、损失函数设计以及数据集选取等方面进一步完善垃圾分类模型,提升分类准确率。

4 结 语

基于机器视觉的智能垃圾分类实验平台源于实际工程问题。通过可分离式的结构设计,解决了分类垃圾种类数受限、垃圾桶溢满后不易转运等问题;同时,依托实验平台的云边协同的控制系统架构,开展了基于迁移学习的垃圾分类研究,取得良好的分类效果,10大类识别率达97.2%。在此基础上,课程团队将科研成果转化为教学应用,保证实践教学内容与时俱进,加深学生对专业知识的理解,激发学生的科研热情,进而探索工程引领人才培养的方法和路径。

猜你喜欢 垃圾桶垃圾分类 垃圾去哪了科普童话·学霸日记(2021年2期)2021-09-05分类算一算数学小灵通(1-2年级)(2021年4期)2021-06-09垃圾桶等好孩子画报(2021年2期)2021-03-15投进垃圾桶的信趣味(作文与阅读)(2021年11期)2021-03-09投进垃圾桶的信趣味(语文)(2021年11期)2021-03-09飞进垃圾桶作文与考试·小学高年级版(2020年19期)2020-11-16那一双“分拣垃圾”的手当代陕西(2019年24期)2020-01-18分类讨论求坐标中学生数理化·七年级数学人教版(2019年4期)2019-05-20数据分析中的分类讨论中学生数理化·七年级数学人教版(2018年6期)2018-06-26倒垃圾小太阳画报(2018年10期)2018-05-14

实验室研究与探索2022年4期

实验室研究与探索的其它文章基于分子动力学模拟的光刻胶转移机理分析基于变种群模因算法的大规模配电网重构结合Faster-RCNN和局部最大值法的森林单木信息提取两亲SiO2 纳米颗粒的制备及提升聚合物性能天然与饱水状态下煤样动静力学特性一种无线组网智能家居系统的安全通信方法


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3