魏秋彦
(铜仁职业技术学院 贵州 铜仁 554300)
近年来,随着计算机视觉和深度学习领域的快速发展,图像识别与分类在人工智能研究中扮演着重要的角色[1-2]。图像识别与分类技术的应用范围广泛,其中之一是垃圾图像分类领域[3-4]。垃圾图像分类是一项关键的环境保护任务,其旨在将废弃物按照可回收、不可回收和有害等不同类别进行准确分类,以促进可持续发展和资源回收利用。然而,传统的垃圾图像分类方法通常依赖于人工设计的特征和规则,其识别准确度和鲁棒性有限。为了克服传统方法的局限性,深度学习技术逐渐成为垃圾图像分类领域的研究热点。深度学习通过学习从原始图像数据中提取高级特征的能力,可以更好地处理图像分类任务。在深度学习模型中,卷积神经网络无连接节点网络服务(connectionless node network service,CNNs)由于出色的特征提取能力而受到广泛关注[5-6]。
为了推动技术的发展,本文提出了一种基于稠密卷积网络(dense convolutional network,DenseNet)深度学习网络[7-8]的垃圾图像分类模型。相较于传统的卷积神经网络结构,DenseNet能够充分利用特征的信息,提高模型的识别性能。为了验证基于DenseNet的垃圾图像分类模型的有效性,本研究选择了NWNU-TRASH数据集作为训练和测试数据。通过在该数据集上进行实验和评估,对比了所提出模型的性能。实验结果显示,基于DenseNet的垃圾图像分类模型在NWNU-TRASH数据集上取得了显著的效果。
DenseNet是一种深度学习架构,被广泛应用于计算机视觉任务,如图像分类和目标检测。DenseNet的设计思想是通过最大程度地促进特征重用来提高网络性能。它的主要创新是密集连接机制,使得网络中每一层都直接与其他层相连。在传统的卷积神经网络中,特征从底层传递到顶层,需要经过多个非线性层。而在DenseNet中,每一层不仅接收前一层的输出,还接收来自所有前面层的连接。这种密集连接的方式有效地提高了特征的流动和信息传递,使得网络更容易学习到复杂的特征,如图1所示。其中,H表示批标准化-激活函数-卷积层。
图1 本实验采用的五层DenseNet深度学习网络
密集连接的方式使网络中的每一层都可以直接访问之前所有层的特征图,从而增强了信息流动和特征传递的能力。密集连接可表示为式(1):
xk=Hk({x0,x1,…,xk-1})
(1)
式(1)中,xk表示第k层的输出,Hk表示第k层的非线性变换函数,{x0,x1,…,xk-1}表示前面所有层的输出。
DenseNet由多个密集块和过渡层交替组成。每个密集块由多个卷积层组成,且每个卷积层的输入都是前面所有层的输出的串联。过渡层用于控制网络的维度,减少特征图的大小和数量,从而降低计算复杂度。
密集块由多个卷积层组成,可以表示为式(2)、式(3):
x0=inputfeature
(2)
xk=Hk({x0,x1,…,xk-1}),for1≤k≤L
(3)
式(2)、式(3)中,L是密集块中的卷积层数量。过渡层可以表示为式(4)、式(5):
x'=transition(x,Θ)=BN(Conv(1×1)(x))
(4)
x''=avgpool(x'),fork≤L
(5)
式(4)、式(5)中,x是输入特征图,x'是经过过渡层的输出,x''是经过平均池化的输出,Conv(1×1)表示1×1卷积操作,avgpool表示平均池化操作,BN表示批归一化操作。
该模型通过预训练和参数微调的方式实现了对垃圾图片分类任务的高效解决,如图2所示。首先利用ImageNet对模型进行预训练;其次将预训练的参数迁移至DenseNet模型中,以利用其密集连接和多个密集块的优势;再次通过NWNU-TRASH数据集对模型进行参数微调,以适应具体的垃圾图像分类任务;最后,模型根据输入图像的特征进行垃圾类别的预测输出。具体为:
图2 基于DenseNet深度学习网络的迁移学习框架
(1)预训练
在模型的第一阶段,使用ImageNet数据集[9-10]对网络进行预训练。通过在ImageNet数据集上进行预训练,模型可以学习到丰富的图像特征。
(2)模型迁移
在预训练完成后,将预训练的参数迁移至DenseNet模型中。DenseNet深度学习网络结构具有密集连接和多个密集块的特点,可以充分利用图像特征的信息。通过迁移预训练参数,模型可以快速适应垃圾图像分类任务,并具备较好的初始性能。
(3)参数微调
在模型迁移后,使用NWNU-TRASH数据集对模型进行参数微调。NWNU-TRASH数据集是用于垃圾图像分类任务的数据集,其中包含了多个垃圾类别的图像样本。通过将该数据集输入模型进行训练,可以进一步调整模型参数以适应特定的垃圾图像分类任务。
(4)垃圾图像分类输出
经过参数微调后,模型可以根据输入的图像样本预测其所属的垃圾类别。通过对模型最后一层的输出进行softmax激活。根据最高概率值所对应的类别,即可确定图像样本所属的垃圾类别。对于给定的向量x=(x1,x2,…,xk),softmax函数将每个元素映射到[0, 1]区间内,并使得所有元素的和等于1,其定义为式(6)所示:
(6)
式(6)中,e是自然对数的底数,约等于2.718 28。
NWNU-TRASH图像数据集是用于垃圾图像分类任务的一个常用数据集,旨在提供一个丰富多样的垃圾图像样本集合,以用于垃圾图像分类算法的评估和性能测试,部分图像如图3所示。该数据集包含了共计42 580张图像样本,涵盖了40个不同的垃圾类别。每个垃圾类别都有一定数量的图像样本,使得数据集具有较为均衡的类别分布。其图像样本涵盖了多种类型的垃圾,包括纸类、塑料类、玻璃类、金属类、电子废物等,每个图像样本都配有详细的标注信息,包括图像所属的垃圾类别。这些标注信息可以用于训练和评估垃圾图像分类算法的准确性和效果。
使用NWNU-TRASH数据集训练和测试基于DenseNet的垃圾图像分类网络的方法包括数据预处理、模型初始化和参数迁移、参数微调、模型评估和测试。
(1)数据预处理。首先对NWNU-TRASH数据集进行预处理(部分数据示例如表1所示)。其次包括图像的加载和调整大小,以使其适应网络的输入要求。本实验将图像调整为统一的尺寸,224×224像素。
表1 评估结果
(2)模型初始化和参数迁移。将DenseNet模型的参数进行初始化,并从预训练的ImageNet模型中迁移参数。通过这种方式,模型从ImageNet数据集中学习到的通用图像特征可以在垃圾图像分类任务中得到重用,从而加快模型的训练收敛和提高初始性能。
(3)参数微调。在模型初始化和参数迁移后,使用NWNU-TRASH数据集对模型进行参数微调。
(4)模型评估和测试。使用NWNU-TRASH数据集中的测试集对模型进行评估和测试,并用准确率、精确度、召回率、F1值等指标来量化模型性能。这些指标可以衡量模型在垃圾图像分类任务中的分类准确性和效果。
本实验使用准确率、精确度和F1值对模型进行测试评估,并对比了所提架构与CNNs的实验结果,如表1所示。
表1显示了基于准确率、精确度和F1值评估CNNs和DenseNet架构在不同类别以及整体平均值上的测试结果。
在该数据集上,CNNs和本模型的平均准确率分别为0.84和0.86;平均精确度分别为0.86和0.87,表示模型在预测为正确类别的样本中有将近90%是真正的正类别。在F1值方面,CNNs和本模型的平均值分别达到了0.83和0.86。总之,基于准确率、精确度、召回率和F1值的评估结果表明,CNNs和该基于DenseNet的垃圾图像分类模型在NWNU-TRASH数据集上取得了较好的分类效果,并且所提模型的综合性能显著优于卷积神经网络,如图4所示。
图4 CNNs和DenseNet架构在准确率、精确度和F1值的平均值对比
综上所述,本文基于DenseNet深度学习网络结构设计了一种垃圾图像分类模型,并用NWPU-TRASH图像数据集进行了验证。在该过程中,预训练和参数迁移提高了模型的初始性能和训练收敛速度。参数微调过程进一步优化了模型,使其在NWPU-TRASH图像数据集上取得了较高的准确率、精确度和召回率。这表明所提出的垃圾图像分类模型在实际应用中具有潜力,并为垃圾图像分类领域的研究和实践提供了有价值的参考。本文提出的基于DenseNet的垃圾图像分类模型在NWPU-TRASH图像数据集上取得了良好效果。未来,可以从探索其他网络结构或优化算法等方面进行研究,以提高垃圾图像分类模型的性能和泛化能力。此外,可以考虑将该模型应用于实际垃圾图像分类场景,并对其在不同环境和数据集上的适应性进行进一步研究。