一种利用深度学习算法实现垃圾分类的方法与流程

文档序号:24238394发布日期:2021-03-12 13:12阅读:709来源:国知局
一种利用深度学习算法实现垃圾分类的方法与流程

本发明涉及利用神经网络算法应用技术领域,尤其是方便垃圾分类技术在嵌入式平台的移植应用。



背景技术:

垃圾分类是对垃圾收集处置传统方式的一大变革,能够减少垃圾处置量,改善生存环境质量,解决当下垃圾产量日益增长,环境情况不断恶化的问题。在上海等一线城市,垃圾分类已经逐渐深入百姓生活,然而由于垃圾分类繁琐实际参与率并不可观。本发明利用轻量级的神经网络算法对垃圾进行准确分类,从而方便垃圾分类技术在嵌入式平台的移植。

卷积神经网络(cnn)近年来普遍应用于图像处理领域,相比于之前的神经网络算法,其具有权值共享层间连接稀疏等特性,利于大量数据的处理。alexnet模型是2012年图像处理领域竞赛imagenet的冠军,其利用cnn的特性,大大拓展了神经网络的深度,并首度使用gpu进行神经网络的运算加速。2017年发表的squeezenet是一种轻量级的卷积神经网络算法,精度与alexnet相当,但在压缩后参数量能够减少50倍。

现有算法实现垃圾分类的方法技术方案:

步骤1、采用inception-v3模型在大型图像分类数据集imagenet训练的参数模型进行预训练。

步骤2、采用预训练模型的网格结构和参数,通过输入并处理一张垃圾图像,提取图像2048维向量特征,从而实现特征提取。

步骤3、使用softmax回归完成垃圾图像分类。

现有技术:现有的利用深度学习算法进行垃圾分类的方法,计算量较大、使用的参数比较多,不利于嵌入式的应用。而且现有的方法精度也不是很高,容易出现识别错误的情况。本发明旨在提供计算量更小、参数更少、更适合嵌入式开发同时精度更高的深度学习垃圾分类算法。

由于使用inception-v3模型,是移出了网络的最终分类层,只训练cnn的倒数第二层——瓶颈层,模型准确度会相对比较低,分类正确率只达到了95%;并且,使用inception-v3模型会导致在图片数量较少的情况下,容易出现欠拟合的现象。



技术实现要素:

本发明目的是:提出一种利用深度学习算法实现垃圾分类的方法,尤其是利用轻量级的cnn模型squeezenet,对垃圾图片实现准确分类,方便垃圾分类政策的推广,并为日后将本发明方法(算法)植入嵌入式设备或移动设备打下基础,以期实现垃圾分类的自动化。

本发明的技术方案是,一种利用深度学习算法实现垃圾分类的方法,其特征是,1)将轻量级卷积神经网络模型squeezenet用于垃圾分类:将单张经预处理的垃圾图片输入训练完成的squeezenet模型,最终得到4种输出中的一种,即为该图片中垃圾的种类;2)用卷积核提取垃圾图片特征:在cnn中用卷积核对图像进行卷积操作,能够提取图像特征,经由训练得到最优参数的卷积核,得以准确识别垃圾图片;3)用adam算法对神经网络进行训练优化;

步骤1)中,对垃圾图片进行归一化与随机裁剪、采用squeezenet进行分类任务;步骤2)中,用卷积核提取图像特征进而用cnn识别垃圾图片;步骤3)中,使用adam算法优化模型训练,这是一种在梯度下降的训练的过程中不断改变学习率,从而提高迭代收敛速度,提高收敛程度的优化算法。

squeezenet的整体流程中,图像先经过一层卷积层,再通过多层的fire层以提取特征并逐渐增大通道数,卷积层采用线性整流函数(relu函数)作为激活函数;数据接着通过平均池化层产生分类值,进而进入采用归一化指数函数(softmax函数)的分类层进行分类操作。

如图2表示了squeezenet的整体流程,图像先经过一层卷积层,再通过多层的fire层以提取特征并逐渐增大通道数,卷积层采用线性整流函数(relu函数)作为激活函数。数据接着通过平均池化层产生分类值,进而进入采用归一化指数函数(softmax函数)的分类层进行分类操作。

如图3表示了squeezenet的fire层设置,其中squeeze层作为瓶颈层,采用1*1的卷积核减小输入图片的通道数,以减少expand层3*3卷积的计算量。expand层在此之基础上将部分3*3卷积核替代为1*1的卷积核,进一步减少计算量。图3中expand层的卷积核数量要大于squeezenet中卷积核的数量,保证图像通过fire层后通道数增加。

本发明方案可用传统机器学习算法(svm、集成学习等)结合或代替,但这些方法需要手工提取特征、计算量大且精度比较低。

有益效果:由于本方法采用卷积核对图片进行特征提取,提高了方法的泛化性能;由于本方法采用轻量级的神经网络模型squeezenet,精度高,计算量小,运算快。方便模型于嵌入式或移动设备的实施;由于本方法采用深度卷积神经网络对图片集进行训练,使得准确率优于目前其他垃圾分类的算法,可以大大提高垃圾分类的效率。

本发明采用squeezenet方法:这是一种轻量级的卷积神经网络算法,相对于经典的alexnet,在精度基本持平的情况下其压缩后参数量减少了50倍,利于在嵌入式与移动设备上执行。其中设计的squeeze卷积层将n*n卷积替换成1*1卷积并降低了输入图像的通道数,故得以减少参数量。本发明克服了用inception-v3模型准确度会相对比较低,分类正确率只达到了95%;并且,使用inception-v3模型会导致在图片数量较少的情况下,容易出现过拟合的现象。

附图说明

图1为本方法过程框图;从原始数据集预处理、模型训练到模型测试;

图2为本发明神经网络squeezenet的整体流程图;

图3为本发明神经网络squeezenet的fire层设置示意图。

具体实施方式

如图1,本方法由数据集预处理、模型训练、模型测试三部分组成。

1数据预处理

1.1原始数据集共3000张图片,分为六类(carboard,glass,matal,paper,plastic,trash)。

1.2对原始数据集进行归一化。在单张图中随机裁剪出224*224大小的图像,。然后在原始的图像四周各填充4个0像素,随机裁剪为原始图像的大小,以之作为训练与测试模型的数据集。

预处理方法:即在将数据输入模型前对数据的处理。我们将原始大小为400*400的彩色图像重新调整大小为224*224,并进行均值向量为(0.4914,0.4822,0.4465),方差向量为(0.2023,0.1994,0.2010)的归一化处理,归一化处理能有效减小计算量并稳定模型收敛。然后在原始的图像四周各填充4个0像素,然后随机裁剪为原始图像的大小(随机裁剪,即在图像上随机选取指定大小的区域),这种数据增强的方法能够提高模型对未知数据的鲁棒性,增强模型的泛化能力。接着将处理过的数据输入squeezenet模型进行训练。

2模型训练

2.1squeezenet模型的应用:

如图2表示了squeezenet的整体流程,图像先经过一层卷积层,再通过多层的fire层以提取特征并逐渐增大通道数,卷积层采用线性整流函数(relu函数)作为激活函数。数据接着通过平均池化层产生分类值,进而进入采用归一化指数函数(softmax函数)的分类层进行分类操作。

relu函数表达式:

f(x)=max(0,x)

如图3表示了squeezenet的fire层设置,其中squeeze层作为瓶颈层,采用1*1的卷积核减小输入图片的通道数,以减少expand层3*3卷积的计算量。expand层在此之基础上将部分3*3卷积核替代为1*1的卷积核,进一步减少计算量。图3中expand层的卷积核数量要大于squeezenet中卷积核的数量,保证图像通过fire层后通道数增加。

2.2按照7:3划分数据集为训练集与测试集,以0.001的学习率与10^(-5)的权重衰减率迭代50轮,并用adam算法优化。

3模型测试

在测试集上检验准确率,得到99.68%的高精度模型。

本发明对垃圾图片进行归一化与随机裁剪、采用squeezenet进行分类任务、使用adam算法优化模型训练。将轻量级卷积神经网络模型squeezenet用于垃圾分类。用卷积核提取图像特征进而用cnn识别垃圾图片的方法。用adam算法对神经网络进行训练优化。

采用squeezenet进行分类:将图像数据输入训练好的squeezenet模型,squeezenet对输入图像进行特征提取,得到特征向量,并通过softmax函数得到最终属于各类别的概率。最大概率的类别为输入图像的所属类别。

softmax函数表达式:

设有一数组e={e1,e2,···,en}

则ei的softmax值为:

softmax函数意义:可以看为输出各类别的概率。

训练过程:将训练集图像数据输入squeezenet模型,进行梯度下降和迭代训练。这就是模型的训练过程。训练后如何验证得到良好的结果:由于对原始数据划分了测试集,测试集不参与模型训练,所以对于模型来说是未知的。我们将模型在测试集上进行准确率的测试,得到测试准确率。此即为验证是否得到良好的结果。

算式及符号的意义描述1.fire层,squeeze层,expand层均为squeezenet的模块名称,1*1,3*3为卷积核的大小。

adam算法优化:这是一种在梯度下降的训练的过程中通过使用梯度的一阶矩和二阶矩估计动态调整每个参数的学习率。从而提高迭代收敛速度,提高收敛程度的优化算法。得到的结果:在精心挑选的测试集上取得99.68%的高准确率。

本发明的最终训练好的模型在精心挑选的测试集上取得99.68%的高准确率,说明本发明有很强的泛化性能,(泛化能力,即模型对于未知的样本的预测和识别能力)能够很好的应用在一些实际场景。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1