APP下载

基于ResNet50的列车常见垃圾自动分类算法

2021-07-28张丽艳赵艺璇牟钰鹏李林

大连交通大学学报 2021年4期
关键词:分类器列车垃圾

张丽艳,赵艺璇,牟钰鹏,李林

(大连交通大学 电气信息工程学院,辽宁 大连 116028) *

党的十八大以来,党和国家对生态文明日益重视,将生态文明列入“五位一体”的总体布局,而垃圾分类则是生态文明建设的重要环节和关键领域.目前垃圾分类设施过于简单,为了提高分类效率,避免发生错分、误分的现象,智能垃圾分类产品成为当今研究重点[1].美国CleanRobotics公司研制了一款名为Transhbot的全自动分类垃圾桶.Trashbot操纵摄像头、传感器、金属探测器和马达,把垃圾放在精确的位置.法国Uzer公司研发了一款名为Eugene的智能垃圾箱,只需把丢弃的垃圾上的条形码对准扫描仪就可识别出垃圾是何种类.吴凡[2]等研究人员发明的智能垃圾桶只需扫描垃圾袋上的二维码,所属类别垃圾桶的盖子会自动打开,指引投放.但以上研究对于列车上常见垃圾的分类并不适用,为此本文基于ResNet50神经网络模型提出一种列车垃圾分类器,实现垃圾智能分类.

1 垃圾自动分类算法模型设计

深度学习是机器学习领域中最重要的研究方向之一,是机器模拟人脑对文字、图像、声音等数据进行一系列分析,从而解决模式识别中的困难问题[3].通常情况下,具有良好分类能力的模型需要经过大量数据集训练,消耗巨大的时间资源和计算资源,因此研究者提出迁移学习方法来解决此类问题[4-5].本文使用在ImageNet上进行过预训练的ResNet50模型对列车常见12种垃圾进行分类识别.

1.1 迁移学习

迁移学习(Transfer Learning)是一种机器学习方法,是将源领域的标注数据或者知识结构迁移到结构相似的目标领域中,使得目标领域能够取得更好的学习效果.在目标域数据很难获取或者数据量较少且分类识别模型较复杂的情况下可以通过迁移学习来防止结果过拟合或者欠拟合,提高分类识别效果;其次,建立完整模型较复杂且对硬件要求高,通过迁移学习可大大减少耗时,提高学学习效率.

迁移学习一般过程为将模型在数据量充足的源域中进行预训练,随后在数据量稀少的目标域中进行参数微调,达到减少训练数据、增强模型的泛化能力、便于进行深度学习的目的[6-7].在进行迁移学习时要考虑到两个关键因素,分别是新数据集的大小和与原数据集的相似性.当新数据集较小且与原数据集相似时,为了防止过拟合不建议进行微调,只训练线性分类器是较好的选择;当新数据集较大且相似时,有足够的数据的条件下可以对整个网络进行微调.本实验选用包含2万多个图像类别且已手动注释完成的ImageNet数据集作为迁移学习的源域,自行采集的列车常见12种垃圾图片作为目标域,采用迁移学习方法,将其他层参数结构冻结,只改变全连接层的结构参数对模型进行训练.

1.2 ResNet50

ResNet又名残差神经网络[8],即在传统卷积神经网络中加入残差学习(Residual Learning)的思想,避免了随着网络模型层数的加深出现学习退化现象.在本质上可以将残差学习的思想理解为一个块(Block),可用公式(1)定义.其中y表示输出,F(x,{Wi})表示残差部分,x表示样本.

y=F(x,{Wi})+x

(1)

表1所示为本实验所用的ResNet50模型的网络结构,由49个卷积层和1个全连接层组成[9].将49个卷积层分为五组,卷积核的大小有三种,分别为7×7、1×1、3×3,用于对输入图像进行特征的提取,卷积层的激活函数为非线性Relu激活函数.使用一个7×7的平均池化和一个3×3的最大池化,步长均设定为2,每一次的池化操作都会使其维度降为原来的1/2.全连接层的维度设置为类别数12.

表1 ResNet50网络结构

1.3 Softmax分类器

在建立本文分类模型时使用Softmax分类器.Softmax函数可用公式(2)表示.

(2)

计算机应用的二进制计算方法在计算时容易出现溢出现象,应用公式(3)可有效避免溢出现象,其中M表示输入xi的最大值.本文在对分类模型训练时使用防止溢出的Softmax分类器.

(3)

2 算法模型训练及结果

2.1 数据集建立

本文采集列车常见12种垃圾图像,并按其类别制作数据集.为提高模型的鲁棒性,每类垃圾图像数据集均含有正面、背面及不同形状.将采集的数据集分为两组,其中第一组为11 187张列车常见12种垃圾图像,每种垃圾图像的70%作为训练集,30%作为验证集;第二组为模型测试集,在不同光线、不同角度、不同背景、不同距离对12种相

同列车常见垃圾进行拍摄,每种100张.

第一组数据集的垃圾所属类别、垃圾中文名称以及每类垃圾数据集的图片数量如表2所示.为了提高数据集的鲁棒性和识别准确性,对一些可识别特征较少的垃圾合理增加了图像数量.

表2 列车常见12种垃圾 张

2.2 实验环境设置

网络模型训练在Windows10操作系统下进行,使用Pycharm集成开发环境对代码进行编写与调试.实验主要依赖Tensorflow深度学习框架进行,并使用GPU加速提高网络模型训练效率.实验环境及超参数选择采用表3策略.

表3 实验环境配置

2.3 训练模型构建及结果

本文对基于ImageNet的ResNet50模型进行迁移学习训练. 预训练模型的源域是ImageNet中的1000类物体,目标域是列车常见12种垃圾,实验使用本文建立的数据集进行训练,将其他层参数结构冻结,只改变全连接层的结构参数,将全连接层维度设置为12维并通过Softmax分类器实现分类,选择交叉熵(Cross Entropy)损失函数和Adam梯度优化方法训练模型.在实验过程中,通过观察损失函数图像将学习率设置为0.003,批次设置为100,迭代次数设置为500,最终使模型达到收敛.训练模型准确率和损失函数图像如图1所示,图1(a)中横坐标表示迭代次数,纵坐标表示准确率,其中实线与点划线分别表示训练模型与验证模型的准确率随迭代次数的增加而增加,最终模型准确率接近100%.图1(b)中横坐标表示迭代次数,纵坐标表示损失函数,实线与点划线分别表示训练模型与验证模型的损失函数随迭代次数的增加而逐渐减小并逐渐收敛至趋于稳定,表示本文训练的模型对列车常见12种垃圾可以达到一个较理想的分类识别效果.

(a) ResNet50准确率 (b) ResNet50损失函数

3 测试算法及结果

将测试集图像尺度处理为224×224×3,输入至训练完成后的网络模型中进行12种列车常见垃圾类别的预测,根据得到的预测结果判别预测概率最高的即为所识别的垃圾种类.在每类100张的测试集图像中,采用公式(4)、公式(5)和公式(6)分别计算每类垃圾的分类精确率(Precision)、召回率(Recall) 和F-度量值(F-Measure, F1),测试结果如表4所示.

(4)

(5)

(6)

使用ResNet50与Inception-V3两种分类算法对测试集中12种列车常见垃圾进行分类识别,对比两种算法的精确率、召回率以及F-度量值,如表4所示.

表4 两种算法对12种列车常见垃圾测试的精确率、召回率、F-度量值 %

表4 两种算法对12种列车常见垃圾测试的精确率、召回率、F-度量值(续) %

通过测试,得到ResNet50模型的平均精确率为97.4%,Inception-V3模型的平均精确率为96.5%;ResNet50模型的平均召回率为97.4%,Inception-V3模型的平均召回率为96.6%; ResNet50模型的平均F-度量值为97.5%,Inception-V3模型的平均F-度量值为96.5%.综合可见ResNet50模型的分类识别效果较Inception-V3优秀.

通过PyQt5编写GUI仿真系统,实现了基本的拍照与分类识别功能,图2展示了“纸巾”的识别界面.

图2 “纸巾”识别界面

4 结论

在对模型的测试过程中,相比Inception-V3分类模型,ResNet50模型对12种列车常见垃圾具有较好的分类识别效果,在精确率和召回率上均有提升,具有更好应用价值. ResNet50分类模型对于可回收垃圾中的塑料瓶、干垃圾中的塑料袋、有害垃圾中的药品等的分类精确率表现较好,对干垃圾中打火机的分类识别精确率达到100%;对于可回收垃圾中的废报纸、干垃圾中的坚果壳、湿垃圾中的食物残渣等的分类模型召回率表现较佳,对有害垃圾中指甲油的分类识别召回率达到100%.但本文数据集中图片种类及数量有限,在实际应用中可以按需要增加数据集种类及数量并继续训练模型,提高分类识别精度.

猜你喜欢

分类器列车垃圾
垃圾去哪了
登上末日列车
关爱向列车下延伸
那一双“分拣垃圾”的手
穿越时空的列车
倒垃圾
基于实例的强分类器快速集成方法
加权空-谱与最近邻分类器相结合的高光谱图像分类
结合模糊(C+P)均值聚类和SP-V-支持向量机的TSK分类器
西去的列车