APP下载

基于ResNet-ECA 模型的垃圾图像分类方法*

2023-08-02加云岗王志晓

计算机与数字工程 2023年4期
关键词:残差注意力准确率

李 康 加云岗 王志晓

(1.西安工程大学计算机科学学院 西安 710048)

(2.西安理工大学计算机科学与工程学院 西安 710048)

1 引言

如今,垃圾分类已成为社会热门话题,同时全国各个地级市也已将垃圾分类工作纳入了工作规划。但是面对海量的垃圾,仅仅依靠传统的人工分类往往力不从心,而且存在劳动强度大和分类效率低等问题[1]。尽管如此,人工分拣也只能分拣出极少部分可回收垃圾和有害垃圾,大部分垃圾只能就地填埋,带来环境污染的同时又造成了资源浪费。随着人工智能技术的发展和应用,利用其来实现垃圾的自动分类也逐步变为了现实。

卷积神经网络(Convolutional Neural Networks,CNN)自1989年被Lecun[2]提出以来,一直广受关注,其优异的特征提取能力和学习能力助推深度学习[3]在目标分类[4]、检测[5]和分割[6]等领域取得辉煌的成果。常用的模型有AlexNet[7]、Vgg[8]、GoogleNet[9]、ResNet[10]等,这其中ResNet以其创造性地加入跳跃连接解决了模型训练中的梯度弥散和网络退化问题而更加引人注目,应用范围更广。

注意力机制(Attention Mechanism)源自于对人类视觉的研究,在自然语言处理领域取得成功后人们将其应用于计算机视觉领域,并取得了很好的效果。注意力机制通过聚焦图像的特定区域从而使机器可以采集到更加有用的信息。在实际应用中可分为空间注意力机制[11]、通道注意力机制[12]和混合注意力机制[13],代表性的注意力机制有SENet[14]、CBAM[15]和DANet[16]等,但此类方法为达到更优的性能通常以牺牲计算效率为代价。于是,WANG[17]等提出了ECANet(Efficient Channel Attention)注意力机制,这个注意力机制更关注跨通道的交互,并通过可控内核大小的一维卷积来实现跨通道的信息交互,克服了性能和复杂度之间的矛盾。

本文针对实现垃圾自动分类这一应用需求和当前分类算法在垃圾图像处理领域准确率不高和效率低下等缺点,将残差网络模型ResNet101 与注意力机制ECANet 相结合,提出了一种新的残差网络模型(本文称之为ResNet-ECA),实验表明ResNet-ECA模型可以兼顾准确性和高效率的要求。

2 网络模型设计

2.1 ResNet-ECA模型

本文构建的ResNet-ECA 模型以ResNet101 网络模型为基础,由特征提取和分类这两部分组成,整体架构如图1所示。

图1 ResNet-ECA的整体模型架构

特征提取部分由5 个卷积残差块组成,即conv1 ~conv5_x。而每个卷积残差块由数量不同的Bottleneck_eca(其结构如图2所示)组成,同一个卷积残差块中的Bottleneck_eca 完全相同,不同卷积残差块中的Bottleneck_eca 区别在于输入通道的维度不同。垃圾图像每经过一个卷积残差块图像尺寸缩小1倍,深度则增大1倍,这样以来对垃圾图像的特征提取更加充分。

图2 Bottleneck_eca模块

分类器部分则由全连接层FC 构成,它把模型提取到的特征信息进行分类,以得到每个垃圾图像的预测标签。这里把垃圾图像分为纸箱板、玻璃杯、饮料瓶、易拉罐、塑料玩具和毛绒玩具这六个类别。

2.2 Bottleneck结构

ResNet 模型可以很好地解决因网络模型层数加深而出现的梯度弥散问题,主要在于它引入了恒等跳跃连接,其结构如图3所示。

图3 残差网络的Bottleneck结构

在这个结构中,若残差块的输入为x,期望得到的输出是H(x) 。由于跳跃连接的存在,则H(x)=F(x)+x,真正的学习部分F(x)=H(x)-x。若在卷积层没有学到新信息,即F(x)=0,由于恒等映射的存在,那么H(x)=x,网络的性能也并未受到影响,实际上F(x)也不可能是0,所以经过残差块可以学到新的特征信息。

2.3 ECANet

ECANet 不同于SENet 和CBAM 对通道进行降维的策略,实验证明降低通道维度会对注意力机制的学习策略产生影响,因此ECANet 使用一维卷积来实现跨通道的维度交互,避免了降维;它在保证性能不下降的同时又降低了复杂度,其结构如图4所示。

图4 ECANet模块

假设输入特征F∈RH×W×C,首先它会通过一个平均池化层,在空间维度对输入特征进行压缩得到Favg∈R1×1×C;然后通过一维卷积来实现每个通道及其k 个近邻通道的交互,这里的k 表示跨通道交互的覆盖范围,也是卷积核的尺寸,可以自定义k值,图中是以k=3 为例,得到特征图Fconv∈R1×1×C;其次利用Sigmoid 函数对Fconv进行激活操作,得到权重系数Mc(F)∈R1×1×C。将权重系数Mc(F) 与输入特征F逐元素相乘,这样可得到新的输出特征F′,整个过程可以用式(1)和式(2)表示:

其中,σ表示Sigmoid 激活函数,fk表示卷积核大小为k的一维卷积操作。

其中,⊗表示权重系数Mc(F) 与输入特征F相乘。

3 实验结果与分析

3.1 数据集

本文的数据集来源于网络爬虫和个人生活中所收集的2450 张彩色图像,分为纸箱板、玻璃杯、饮料瓶、易拉罐、塑料玩具和毛绒玩具六个类别,如图5所示。

图5 垃圾图像数据集的六个类别

由于原始数据集的图像大小不一,在进行网络训练时把原始垃圾图像统一缩放到256*256 像素,以保持输入的统一。此外,由于原始数据量不多,在训练时需要对原始数据集进行数据增强处理,采用的方法有左右翻转、上下翻转、旋转45°等。示例图像如图6所示。

图6 数据增强示意图

原始数据集经过数据增强后得到9800 张彩色图像,按4∶1 的比例划分训练集和测试集,从而可得到训练集7840张,测试集1960张。

3.2 实验设置

实验采用的系统是Ubuntu 16.04,使用Python 3.5 和Pytorch 0.4.1 学 习 框 架,CPU 是Intel Xeon E5-2630 @2.20GHz,内存32GB。GPU 是NVIDIA 1080Ti。

实验选用SGD算法去优化模型,初始学习率是0.01,每隔20 个训练周期学习率衰减10%,动量系数为0.9,设置训练集和测试集的批次大小均为16,迭代训练100次,设置Dropout的丢弃率为0.5。

3.3 结果分析

为了测试文中提出的ResNet-ECA 模型的性能,用ResNet-ECA 模型与未添加注意力机制ECA的ResNet101 模型相对比,从损失函数Loss 和准确率Acc 两方面做比较。其训练损失函数和测试损失函数随迭代次数的变化曲线分别如图7(a)和图7(b)所示;其训练集准确率和测试集准确率与随迭代次数的变化分别如图8(a)和图8(b)所示。

图7 损失函数对比图

图8 准确率对比图

由图7 和图8 可以看出,加入注意力机制的模型ResNet-ECA 收敛速度更快,曲线波动的幅度也更小,损失函数更小,准确率也更高。

通过实验进一步验证模型对各个类别的分类能力,可以看到加入注意力机制的ResNet-ECA 可以取得97.85%的平均准确率,同时在各个子类上也表现优异,说明ResNet-ECA 模型的分类能力比较好,测试结果如表1所示。

表1 ResNet101与ResNet-ECA在各类别准确率对比(单位:%)

结合图7、图8 和表1 可以看出,加入注意力机制的ResNet-ECA 模型明显优于原始的ResNet101模型,而且在各个类别上均表现优异,说明加入注意力机制是有效的。

4 结语

本文提出了一种基于注意力机制的改进残差网络模型ResNet-ECA,增强了对垃圾图像局部细节的提取能力。构建了垃圾图像数据集,训练了模型权重,实验证明本文提出的方法可以有效提高垃圾图像的分类准确率,具有良好的竞争优势。不过实际的垃圾分类本身具有诸多复杂性,下一步我们将尝试通过多特征融合等方法进一步提高卷积神经网络的特征表达能力,从而让垃圾分类更加精准,满足实际应用需求。

猜你喜欢

残差注意力准确率
基于双向GRU与残差拟合的车辆跟驰建模
让注意力“飞”回来
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
基于残差学习的自适应无人机目标跟踪算法
基于递归残差网络的图像超分辨率重建
高速公路车牌识别标识站准确率验证法
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things