基于TensorFlow的垃圾图像分类研究

known 发布于 2025-08-24 阅读(412)

收稿日期:2023-08-22

DOI:10.19850/j.cnki.2096-4706.2024.05.025

摘" 要:研究如何利用TensorFlow对垃圾图像进行分类。采用卷积神经网络(CNN)作为主要方法,通过在大型数据集上进行训练和微调,实现了对不同类型垃圾图像的准确分类。研究结果表明,提出的模型在测试集上表现卓越,整体分类准确率超过90%。此外,通过对模型进行可视化分析,揭示了其对图像特征的学习方式,进一步深化了对分类过程的理解。总而言之,基于TensorFlow的深度学习方法在垃圾图像分类领域具有广泛的应用前景。

关键词:TensorFlow;垃圾分类;Python;卷积神经网络;注意力机制

中图分类号:TP391.4" 文献标识码:A" 文章编号:2096-4706(2024)05-0115-05

Research on Garbage Image Classification Based on TensorFlow

QU Mingyang, ZHANG Yue

(Shandong Youth University of Political Science, Jinan" 250103, China)

Abstract: This paper explores how to use TensorFlow to classify garbage images. Using Convolutional Neural Networks (CNN) as the main method, accurate classification of different types of garbage images is achieved through training and fine-tuning on large datasets. The research results indicate that the proposed model performs excellently on the test set, with an overall classification accuracy of over 90%. In addition, through visual analysis of the model, its learning method for image features is revealed, further deepening the understanding of the classification process. In summary, deep learning methods based on TensorFlow have broad application prospects in the field of garbage image classification.

Keywords: TensorFlow; garbage classification; Python; Convolutional Neural Networks; Attention Mechanism

0" 引" 言

为促进中国各级公共机构更为有效地履行生活垃圾分类职责,并在该领域发挥其先导示范作用,2019年国管局发布《公共机构生活垃圾分类工作评价参考标准》,目的在于进一步强化生活垃圾分类相关工作。垃圾分类在我国众多城市已经积极推行并将持续深化,其潜在效益在于提升垃圾资源与经济的价值,追求资源最大程度的利用,减少垃圾处理量以及处理设施的负荷,从而削减处理成本,减缓土地资源的枯竭,兼具社会、经济和生态等多方面的收益。然而,随着中国人民的生活水准的不断加强,各个城市垃圾的总量也在逐年增加。智慧城市建设的重点领域之一是垃圾的智能分类和回收利用。目前,垃圾分类主要依靠物理分选技术,但这种方法存在几个问题,包括使用大量土地资源和二次污染的潜在风险。这些挑战限制了对自动化、无害和智能垃圾分类的关键要求。因此,本研究的主要目标是构建基于TensorFlow算法的废物分类系统,该系统依靠图像识别和人工智能分析等先进技术来实现全自动工作流程,从而有效减少人工干预的依赖,进一步显著提升废物回收效率。

1" 基本概况

尽管我国到目前为止在垃圾分类领域已经进行了广泛的实践,然而从参与率、正确投放度以及资源化程度等方面来看,与国外先进城市仍存在较大差距。此外,我国在垃圾分类工作的推进方面进展缓慢,收效不显著。有研究者指出,我国各大城市在实施垃圾分类方面普遍面临着一系列挑战。因此,开发一款智能垃圾识别系统的紧迫性备受关注,其旨在借助图像识别和智能分析技术,实现对各类废物的自动分类辨识,并进一步实现垃圾自动分拣的控制,以满足日常废物处理的要求,这已成为刻不容缓的课题。

在此背景下,探索智能垃圾识别处理系统的研发势在必行。该系统将借助图像通过利用识别和智能分析技术,迅速辨识多类废物并自动实现分拣,以应对日常废物处理的需求,还有助于提高参与度和正确投放度,促进垃圾资源化的进程。总之,智能垃圾识别处理系统的研发将在我国垃圾分类工作的推进中发挥关键作用[1]。

2" TensorFlow算法设计的相关知识

本研究的核心关注点集中在TensorFlow平台的应用,该平台被用于数据集模型的训练,以提升图像识别的准确性和细粒度分类。TensorFlow是一款高性能的开源计算框架,具备在各种服务器、个人计算机终端和网络应用中部署的能力,同时支持GPU和TPU等高性能数值计算设备。该框架广泛应用于谷歌内部产品开发和多领域科学研究[2]。

TensorFlow的核心概念基于Data Flow Graphs计算模型,其中图中的节点代表数学操作,边代表节点之间的多维数据数组关系,即张量(Tensor)。这种图计算结构赋予了TensorFlow出色的灵活性,使其能够适用于各种平台,包括台式计算机、服务器和移动设备等。卷积神经网络(CNN)是深度学习中主要用于图像分类的算法,其卷积过程如图1所示。CNN将输入图像视为激活量,并将其输出作为相应的激活量。与传统的人工神经网络不同,CNN的中间层具有空间维度,包括高度、宽度和深度。该算法通常由卷积层、最大池化层和全连接层组成[3]。

因此,本研究集中于TensorFlow平台的运用,以支持数据集模型的训练,从而提高图像识别准确性,并借助卷积神经网络作为核心方法,实现对图像的分类。这一方法有望显著提升分类效果并在各个领域产生积极影响[4,5]。

卷积层在深度学习网络和学习中起着至关重要的作用。这个图层用于接收输入数据,然后将具有特定的图像高度、宽度和深度,一系列滤波器被引入卷积层,通常以随机初始化矩阵的形式。卷积操作通过使用过滤器Filter(也称作卷积核),将当前层神经网络上的子节点矩阵转化为下一层神经网络上的一个节点矩阵,得到的矩阵称之为特征图(Feature Map)。依此类推。这些过滤器通过卷积操作处理输入数据,这些操作在输入图像上空间滚动,并对整个图像执行准时乘积计算,获得激活卡。点积计算如下:

其中W表示过滤器、x表示输入图像,b表示偏差,在每个卷积层的末端,CNN卷积最终会获得滤波器的激活图示。激活函数为ReLU:

此激活功能的一个特征是,通过将最小阈值设置为零,它最终将值减少到零以下。最大池级别用作激活卡的下采样级别,通常使用筛选器将输入激活卡的空间大小减少一半。另一种池化方法是中等池化。完全连接的最后一层将输入作为体积作为输入,并与整个输入总和建立完全耦合的关系,并通过执行数组乘法运算来计算输出。ReLU具有非线性:ReLU是一种非线性激活函数,能够引入非线性特性到神经网络中。这使得神经网络能够更好地拟合复杂的数据和学习复杂的函数。稀疏激活性:在训练过程中,ReLU激活函数会使一部分神经元处于非激活状态(输出为零),而只有部分神经元会被激活。这种稀疏激活性有助于网络的泛化能力,减少过拟合风险。

卷积操作是通过卷积核对每个通道的矩阵从左到右、从上至下进行互相关运算,就像一个小的窗口一样,从左上角一步步滑动到右下角,滑动的步长是个超参数,互相关运算的意思就是对应位置相乘再相加,最后把三个通道的值也对应加起来得到一个值卷积层采用卷积过程,其中包括线性数学过程,如式(1)所示[6]:

(1)

当式(1)被用于连续域时,可以得到式(2)的情况:

(2)

相比而言,x[k - j]在这种方程里面也可以换作x[k + j],例如下面这个方程:

(3)

在卷积过程中,滤波器w表示卷积层的权重参数,输入x表示该层的输入数据,激活函数f (·)用于对输出结果进行非线性处理。卷积操作指的是对输入的变量x与卷积层内的神经元的权重向量(w)进行的点积运算的数学过程。步幅(ζ)是其中的一个小参数,可以表示为在卷积过程中过滤器输入窗口上的偏移量,也可在下面方程中计算出来:

(4)

卷积神经网络算法包含正向传播和反向传播这两个最为关键阶段。在正向传播中,图像逐层经过网络,生成输出并与期望输出进行比较,从而计算误差。接着,在反向传播中,通过优化技术(如梯度下降)来调整滤波器的权重,从而调整出最小化的误差。所有的垃圾数据集中的图像都被调整为256×360像素的尺寸,作为网络图片的输入。误差计算采用了二进制交叉熵方法,并采用RMSprop作为优化器。在GTX 750Ti图形处理器上,CNN的训练过程约耗时3~3.5小时[7]。

尽管数据集经过扩充,但由于样本之间高度相关,存在过拟合的潜在风险。为应对这个问题,研究通过调整模型的熵容量,采用较小的CNN架构,减少网络层数以及每层滤波器的数量。此外,数据增强和0.5的丢失率有助于减轻过拟合问题[8]。

为了评估本研究所用模型是否会出现过拟合的现象,我们设置了验证集来检测模型训练的准确性。通过在训练过程中周期性地验证模型性能,以决定是否继续训练。最终的实验结果如图2所示。这一深入研究在CNN模型设计和训练过程中充分考虑了数据特性、过拟合问题以及模型性能评估等关键因素,为垃圾分类问题的解决提供了有益参考。

图2" 通过训练的模型预测准确度

3" 数据的收集和数据的相关处理

本文主要研究不同类垃圾回收分类的问题,该研究的主要方向是准确无误地识别居民生活中最常见的不同种类的垃圾类型,在这其中包括碎玻璃、废纸、破纸板、白色塑料、废物金属,等等。然而,由于目前城市居民的垃圾回收数据集的限制,研究领域普遍存在数据不足的挑战。为解决这一问题,本研究采用了自主构建图像数据集的方法。

我们构建的数据集遵循的是传统的正向图像数据集构建方法。然而,鉴于各种可回收材料的样品数量相对较少,在数据处理过程中使用了必要的图像增强方法,包括进行不规则旋转、调整图片的亮度、改变垃圾图片的位置、对垃圾图片进行不同比例改变和裁剪。不仅如此,本研究还对图片数据进行了预处理,例如图片归一化处理。

本研究所用的数据集包含6种不同的城市常见垃圾样本,拍取的时候每张照片的角度和曝光设置不同。图3显示了从自建数据集中选择的一些示例图像,以说明数据集内容的特征[9]。

图3" 数据集部分样本

4" 实验方法

两个模型训练的代码分别对应CNN模型和Mobilenet模型,CNN模型训练部分通过TensorFlow构建了一个简单的卷积神经网络,这个神经网络由两层卷积和两层池化所构成,之后将特征拉直之后送入到两个全连接层进行分类,Mobilenet模型采用了深度可分离卷积的技术,提高了网络的层次,提升了准确率,而且模型非常轻量,训练好的Mobilenet模型不到20M,在CPU的条件下或者是在手机的条件下都有不错的性能,这里的训练方式我们采用的是迁移学习,即只使用Mobilenet的特征提取层,特征提取层的参数已经在大型数据集Imagenet上训练好,不需要再进行训练,我们只需要添加全连接层,对应到具体的分类数据即可。其次就是通道注意力,在卷积处理的多个层次之后,图像经过转换生成了一个特征矩阵,其通道数等于卷积层所使用的卷积核的数量。然而,一般情况下,卷积核的数量可能高达1 024或2 048,但并非每个通道都携带着关键信息。因此,为了提高计算效率,需要对这些通道进行筛选或过滤,以减少不必要的冗余信息,也就是注意力通道,来得到优化后的特征,如图4所示。主要思路就是:增大有效通道权重,减少无效通道的权重,算式表示如下[10]:

(5)

其中,Fmax和Favg表示对Feature Map在这个空间维度上使用的最大池化和平均池化。WO ∈ RC / rxc,W1 ∈ RCC / r,Wo后使用了ReLU作为激活函数,O表示Sigmoid函数[11]。

5" 实验结果

通过进一步的统计分析,第一次测试的结果表明存在很大的误差,但通过对模型的深入研究,准确性得到了提高。该系统在纸制品识别方面实现了75%的准确率,在识别金属废料方面的准确率达到90%,在塑料废料的识别中实现了87%的准确率,在玻璃废料的识别中达到了97%的准确率。这些结果表明,该系统在满足实际应用需求的同时,具有优异的检测性能。废纸检测性能仍有改进的余地,需要额外的培训来提高准确性。

经过无数次的测验和分析数据集,我们最终得到了该模型的结果。这样的模型成果使得垃圾分类得以简便实现,从而为环境保护和资源回收做出积极贡献,相关结果如图5所示。这一研究不仅有望为垃圾分类领域提供有力支持,还可为智能系统在其他领域的应用提供借鉴与启发。关键代码如下:

test_x, test_y = validation_generator.__getitem__(1)

preds = model.predict(test_x)

plt.figure(figsize=(16, 16))

for i in range(16):

plt.subplot(4, 4, i+1)

plt.title(pred:%s / truth:%s % (labels[np.argmax(preds[i])], labels[np.argmax(test_y[i])]))

plt.imshow(test_x[i])

图5" 垃圾分类结果展示

6" 缺点及改进

从图中的数据分析可得,测试集的分类准确率表现并不令人满意。这可能是因为训练模型的不够完善以及训练集数据量较为有限。为了进一步提升垃圾分类模型的准确性和有效性,本研究将通过以下两个方向来改进神经网络模型:

1)在训练集方面,计划通过增加各类垃圾的图片数据来弥补数据不足的问题。通过丰富训练数据,模型将能够更好地理解和区分各个类别,从而提升分类准确率。

2)对于已建立的神经网络模型,本研究将进一步引入通道注意力机制,以进一步提升模型的分类准确性。通过优化卷积神经网络中的通道权重分布,有效减少无益通道的影响,从而使模型能够更加集中地关注有益的特征信息,进一步提高分类性能。

综上所述,本文将通过增加训练数据量以及引入通道注意力机制两个方面,着手改进现有的神经网络模型。这一努力有望在垃圾图像分类问题中取得更加令人满意的结果,同时也能够为类似的图像分类任务提供一定的指导与启示。

7" 结" 论

当前城市的迅速发展导致垃圾产生量的不容忽视,因此,基于TensorFlow的生活垃圾分类与回收处理系统的应用显得尤为重要。该系统能够以高效迅速的方式进行垃圾分类,从而有效减轻城市垃圾处理所面临的压力。本研究所提出的软件的解决方案是建立在TensorFlow基础框架之上的,通过本研究模型的不断训练和循序渐进的推理过程,成功实现了对垃圾种类的高效识别。这一系统的应用可提高可回收垃圾的有效回收率,从而在促进资源再利用的同时,也为社会创造更多就业机会,减少资源的浪费,达到了环保的绿色目标。此外,这一系统的推广还能加快我国生态文明建设的进程,为垃圾回收领域的智能化发展提供新的思考方向,降低垃圾分类工作的难度,为实现可持续发展贡献一份力量。综合而言,该系统在垃圾分类与资源回收领域拥有良好的市场应用前景,将为城市的可持续发展提供有益支持。

参考文献:

[1] 王子彦,丁旭,周丹.中国城市生活垃圾分类回收问题研究——对日本城市垃圾分类经验的借鉴 [J].东北大学学报:社会科学版,2008(6):501-504.

[2] 陈春煌.基于TensorFlow的新型智能垃圾分类系统研发 [J].现代工业经济和信息化,2021,11(12):45-46+49.

[3] 韩山杰,谈世哲.基于TensorFlow进行股票预测的深度学习模型的设计与实现 [J].计算机应用与软件,2018,35(6):267-271+291.

[4] 应毅,刘亚军,任凯.基于容器云的分布式深度学习实验平台构建 [J].实验技术与管理,2022,39(3):147-152.

[5] 王马成,黎海涛.基于深度卷积神经网络的停车位检测 [J].电子测量技术,2019,42(21):105-108.

[6] 祝朝坤,魏伦胜.基于TensorFlow的智能垃圾分类系统的研究与设计 [J].电子产品世界,2020,27(6):71-75.

[7] 刘俊奇,涂文轩,祝恩.图卷积神经网络综述 [J].计算机工程与科学,2023,45(8):1472-1481.

[8] 李波燕,张勇,袁德荣,等.基于注意力机制的手写体数字识别 [J].计算机科学,2022,49(S2):626-630.

[9] 刘昱.基于深度生成模型的图像修复研究 [D].徐州:中国矿业大学,2019.

[10] 李丽双,郭元凯.基于CNN-BLSTM-CRF模型的生物医学命名实体识别 [J].中文信息学报,2018,32(1):116-122.

[11] 李继洲,林欣.基于递归结构的神经网络架构搜索算法 [J].华东师范大学学报:自然科学版,2022(4):31-42.

作者简介:曲明阳(2001—),男,汉族,山东青岛人,本科在读,研究方向:大数据、数据挖掘。

标签:  卷积 

免责声明

本文来自网络,不代表本站立场。如有不愿意被转载的情况,请联系我们。

iidomino cuppor