APP下载

基于改进Mask R-CNN的生活垃圾检测*

2022-11-17张睿萍雷印杰陈炳才

计算机工程与科学 2022年11期
关键词:掩码特征提取卷积

张睿萍,宁 芊,2,雷印杰,陈炳才

(1.四川大学电子信息学院,四川 成都 610065;2.新疆师范大学物理与电子工程学院,新疆 乌鲁木齐 830054;3.大连理工大学计算机科学与技术学院,辽宁 大连 116024)

1 引言

近年来,随着我国经济水平的高速发展,人们的消费水平不断提高,相应地,垃圾的大量产出、垃圾的随意丢弃、垃圾的简单堆放与处理,也导致很多问题产生[1]。比如破坏良好的生活环境,污染水源、土壤、空气等环境,导致蚊虫、细菌大量孳生,增加传染病发生的概率等。实行垃圾分类,可以改善人们的生活环境,减少垃圾对环境的污染,从而有利于保障人们的健康、经济的可持续发展。推行垃圾分类势在必行,智能化的垃圾分类可以帮助人们有效地进行垃圾分类和回收利用,提高垃圾回收的效率[2]。

本文基于深度学习技术和图像检测技术,对生活垃圾的检测与分类进行了研究,本文主要工作包括:(1) 针对垃圾分类的人工预处理难题,提高生活垃圾检测的有效性和准确性,提出了改进的基于掩码的区域卷积神经网络Mask R-CNN(Mask Region-based Convolutional Neural Network)算法[3];(2) 为了解决垃圾图像特征提取的难题,提出了基于ResNeXt101[4]的垃圾图像特征提取方法;(3) 与传统Faster R-CNN 算法[5]和YOLOv3算法[6]进行实验对比,分析相关目标检测算法应用于生活垃圾的检测性能。

2 相关模型

物体检测作为计算机视觉中目标检测的一个重要分支,许多的研究者以此为研究方向,应用了大量优秀算法和网络模型结构,解决了目标识别[7]和图像分类等[8]现实问题。相比于单纯的目标识别或图像分类,实例分割综合了目标检测和语义分割,更接近人眼对物体的观察,更适用于垃圾检测。2012年,AlexNet凭借卷积神经网络CNN(Convolutional Neural Network)[9]结构摘得ImageNet视觉识别挑战赛的桂冠。至此,基于滑动窗口或特征点匹配等的传统方法被淘汰,开创了基于深度神经网络的图像检测的新时代[10]。

近年来,随着卷积神经网络CNN的发展,物体分类和检测方法也得到飞速发展。2014年,Girshick等[11]提出的基于区域的卷积神经网络算法R-CNN(Regions with CNN features)[11],极大地提高了物体分类和检测的精度。R-CNN首先产生候选窗口,进行特征提取后利用支持向量机完成分类,最后进行窗口回归。然而,R-CNN算法检测效率低下,且占用内存大。因此,快速区域卷积神经网络Fast R-CNN(Fast Regions with CNN features)[12]应运而生。Fast R-CNN将图像输入网络后,一方面对候选窗口进行映射,提高了物体检测的速度,另一方面通过自适应池化对网络进行优化来提升检测的准确率。但由于Fast R-CNN对于候选框的特征提取采用的是选择性搜索,导致其实时性不强。2016年,Ren等[5]提出了新的更快速的区域卷积神经网络Faster R-CNN(Faster Regions with CNN features)。在结构上,Faster R-CNN将特征提取、边框回归和生成掩码整合在一个网络中,使得综合性能有较大提高,在检测速度方面尤为明显。

经过R-CNN、Fast R-CNN和Faster R-CNN的积淀,基于掩码的区域卷积神经网络Mask R-CNN不仅能够找到图像中的目标物体,还能对其进行精确的分割。Mask R-CNN具有如下特点:(1)Faster R-CNN中每个候选框使用全卷积网络FCN(Fully Convolutional Network)[13]进行语义分割。Mask R-CNN具有强大的语义分割分支,实现了掩码和类别预测关系的解耦,掩码分支只进行语义分割,类别预测的任务交给另一个分支。(2)引入了新的区域特征聚集方式RoIAlign代替Faster R-CNN中的RoIPooling,尽管对于边框的影响不大,但极大地提升了掩码的精度,使用RoIAlign后掩码的精度从10%提高到了50%[5]。

基于众多可应用于生活垃圾检测的算法,Mask R-CNN超过了当时所有的端对端的网络模型,实现了像素级别的检测,可以精确识别出复杂物体的轮廓。本文的实际应用场景中包含仅具有局部特征的物体,不同形变的物体等,而Mask R-CNN相比较于其他算法具有更好的检测效果。所以,选择Mask R-CNN作为本文的算法。

3 垃圾检测算法设计

3.1 垃圾检测算法

语义分割和目标检测是计算机视觉领域2个非常经典的应用。FCN是语义分割的代表性算法,Faster R-CNN是目标检测的代表性算法。Mask R-CNN结合FCN和Faster R-CNN,使其兼备语义分割和目标检测2个功能并提高了模型的精度。

本文将ResNeXt101作为特征提取网络,利用Mask R-CNN提取全局和局部特征,并分析了Mask R-CNN应用于垃圾检测任务的适用性和有效性。Mask R-CNN算法框架如图 1所示,对预处理后的图像进行特征提取,生成对应的特征图(Feature Map),从特征图中获取的多个候选框感兴趣区域ROI(Region of Interest)并经区域建议网络RPN(Region Proposal Network)[5]进行二值分类和边框回归,对过滤掉的部分候选框进行RoIAlign操作,最后将多个候选框进行N分类、边框回归和掩码生成。

Figure 1 Framework of Mask R-CNN algorithm图1 Mask R-CNN算法框架图

3.2 网络模型设计

3.2.1 特征提取网络

目前Mask R-CNN算法所采用的特征提取主干网络为深度残差网络ResNet(deep Residual Network)[14]。尽管残差学习解决了深度网络的退化问题,但是由于ResNet使用了太多的超参数和计算过程,难以将其直接应用到新的数据集上。

本文以ResNeXt101作为主干网络进行特征提取。ResNeXt利用ResNet规则的残差块,引入变量基数来控制分组的数量[4],即通过改变每个分支产生特征图的通道数n(n>1),以达到2种不同卷积方式的平衡,并结合分组卷积压缩模型参数,在不增加模型复杂度和参数数量的情况下提高了模型的性能。

Figure 2 Comparison of ResNet and ResNeXt infrastructures图2 ResNet与ResNeXt基础结构对比图

相比于图2a中传统的ResNet结构,图2b中的ResNeXt结合了ResNet和Inception[15]的优势,引入分解-变换-合并的结构,每一个分组采用相同的拓扑结构,此时Inception表示如式(1)所示:

(1)

其中,x为输入特征;C为Inception的基数(Cardinality);Ti(·)是任意变换,一般由连续的卷积组成。ResNeXt提出介于普通卷积和深度可分离卷积的策略,不需要确定ResNet中较多超参数和人工设计复杂的Inception结构细节,完整的ResNeXt表示如式(2)所示:

(2)

以ResNeXt101作为主干网络进行特征提取避免了设置太多的超参数。ResNeXt101中每一组C个不同的分支可进行相同的简单变换[16,17],本文采用分组数量为32、每一组的通道数为8的分组结构,其具体配置如表1所示。由表1中FLOPs项可知,ResNeXt101(32×8d)的计算力为16.54×109,与ResNet101(7.87×109)相比提升了2.1倍。

在卷积神经网络中,经过多次卷积操作之后,获取到的特征通常拥有较大的感受野[10],比较适合检测大目标,检测小目标的能力较差。因此,为了克服该困难,本文将ResNeXt模型与特征金字塔模型FPN(Feature Pyramid Network)[18]融合。FPN网络模型合并了卷积过程中深层的强语义特征和低层的大量几何信息,使其兼备强空间信息和语义信息,满足更严格的检测需求,在检测时间几乎不变的情况下可以提升检测的精度。

FPN通过自底向上、自顶向下和横向连接将各个层级的特征进行融合。自底向上是简单的特征提取过程;自顶向下是从最高层开始进行上采样。FPN使用最近邻上采样以减少训练参数,减少计算量。如图3所示,基于上述思想,为了保证多尺度信息的融合,FPN将从ResNeXt网络自底向上生成的特征图(Conv1~Conv5)输出为尺寸不同但深度相同的4种特征图(M2~M5),这些新的特征融合了ResNeXt中不同卷积层的结果,最终采用3×3的卷积核来消除不同层之间的混叠效应,并输出一组新的用于预测物体边缘、类别和掩码的特征P2,P3,P4和P5。

Table 1 ResNeXt101(32×8d) configuration表1 ResNeXt101(32×8d)配置

Figure 3 Connection diagram of FPN and ResNeXt图3 FPN与ResNeXt连接示意图

3.2.2 训练网络

本文使用labelme图像标注工具对每一幅待训练图像中的目标进行标注,以获取图像中目标的信息,包含每个目标的分类标签、边框和掩码。

根据区域建议框和真实样本的边框重叠比例判断样本的正负。计算的区域建议框与真实样本的IoU[19],当IoU大于0.5时为正样本(即前景),当IoU小于0.5时为负样本(即背景)。最后输出目标候选框和对应的类别、边框和掩码。

训练时,对输入图像通过卷积操作进行特征融合,如图4b所示。FPN生成的各层特征图输入区域建议网络。由RPN获取类别、边框和后续用于修正位置和大小的分类得分。此时生成的锚框数量巨大,会造成大量的重叠,导致同一目标具有多个检测结果。为了节约资源,提高训练效率,本文对RPN中每个锚框的前景得分进行排序和筛选,保存指定数量的得分较高的锚框,并进行非极大值抑制NMS(Non-Maximum Suppression)[20],对每个目标只保留一个最合适的锚框进行输出。

Figure 4 Comparison of the improved Mask R-CNN with Mask R-CNN图4 Mask R-CNN算法结构改进对比图

利用筛选所得的锚框在特征图中将相应区域池化为固定尺寸,以便进行后续的分类和边框回归操作。由于预选框的位置通常是由模型回归得到的,一般为浮点数,RoIAlign采用双线性内插法克服了原始的RoIPooling中取整和边界量化操作带来的区域不匹配问题,保证映射的特征图大小与原始图像对应区域的大小相同。

在训练过程中,生成掩码分支和分类分支是同时工作的,目标检测层根据分类分支获取到的多个候选框所预测的类别标签来选择输出对应的掩码。

损失函数的定义基于Mask R-CNN模型在生活垃圾检测上应用的任务,即垃圾的检测定位框、垃圾的分类和垃圾的分割,因此损失函数由定位损失、分类损失、区域建议网络损失和分割损失4部分组成,其定义如式(3)所示:

L=Lbox+Lclc+Lmask+Lrpn

(3)

其中,Lbox为定位损失,Lclc为分类损失,Lmask为分割损失,Lrpn则为区域建议网络损失。

(1)定位损失函数。

RPN输出的特征图中,每一个点经过卷积操作生成的锚框均对应一个前景分数和背景分数,以及每个锚框对应的坐标修正值。为了得到更加精确的锚框位置,本文采用SmoothL1Loss进行训练,每一个检测目标在候选区域中的定位损失函数的具体描述如式(4)所示:

(4)

(5)

(2)分类损失函数。

在RoIAlign 层之后,分类损失函数主要用于对提取的候选框的类别进行修正。候选框边框修正针对非背景的候选框进行,对于类别标签为背景的候选框,则不进行候选框边框修正的参数训练。对于分类器和候选框边框修正的训练,每一个检测目标在候选区域中的分类损失函数的具体描述如式(6)所示:

(6)

(3)区域建议网络损失函数。

在进行RPN训练时,区域建议损失函数对128个随机抽取的正样本进行训练。区域建议网络损失定义如式(7)所示:

L({pi},{ti})=

(7)

其中,Lreg等同于式(4)中的Lbox;参数λ,Ncls,Nreg用于保证RPN在训练过程中平衡分类与定位2种损失。

(4)分割损失函数。

分割损失函数Lmask对于每一个感兴趣区域中的每一个类别,掩码分支都定义一个K×m×m维度的输出,表示K个不同的分类在m×m的区域上可生成一个掩码。如果检测得到感兴趣区域属于某一个分类,则将该类的相对熵误差作为误差值进行后续计算,使得网络只需要区别在这个类当中的不同小类。最后可以通过与阈值0.5比较输出二值掩码,避免了类间的竞争。分割损失函数的具体描述如式(8)所示:

(1-yi)*log(1-sigmoid(xi))]

(8)

其中,1k表示当第k个通道对应目标的真实类别时为1,否则为0;yi表示当前位置的掩码的标签值;sigmoid(xi)表示当前位置的输出值xi经过sigmoid函数变换后的结果。

3.2.3 预测模型

预测网络与训练网络不同的是,训练网络的掩码分支和分类分支是并行的,而预测模型是对输入图像进行分类后再进行掩码预测。

预测网络同样以ResNeXt101为主干网络,在经过一次特征融合后,FPN 生成的各层特征输入RPN后对生成的每个锚框进行二分类,判断其为前景或背景,并对其位置进行回归。由于生成的锚框数量大,重叠部分多,因此需要通过建议区域进行筛选,选择合适的锚框进行后续检测:首先对RPN 中每个锚框的前景得分进行排序筛选,然后进行非极大值抑制。对筛选出来的锚框,先进行RoIAlign,映射成与原始图像对应区域大小相同的特征图,再对每一个感兴趣区域进行分类、回归和掩码分割[21]。

3.3 实验结果分析

3.3.1 数据集

目前,垃圾分类研究还没有公共的数据集可用,为了对所提模型的有效性进行验证,本文构建了自有数据集。在长达30天的时间内,观察15位志愿者的生活垃圾情况,记录和统计垃圾数量和类别,选取统计结果最高的5类生活垃圾相关信息作为本次实验的垃圾检测与分类标准,5个类别依次为:纸、塑料、纸板、玻璃和金属。通过网络采集获取总数据集的90%,并自制10%的数据集作为补充。数据集中包含图像2 000幅,尺寸为512×384,格式为JPG。

使用labelme图像转换工具对所有图像进行人工标注并生成独立的JSON结构体类型文件。依据COCO数据集的格式,将所有独立的JSON文件合并为一个JSON文件,由images、categories和annotations共3部分组成,包含所有的图像信息[22]。

由于实验数据有限,如果将所有的数据都用于训练模型将会导致模型过拟合。本文采用10折交叉验证以有效地减小模型方差,提升有限数据下训练和评估模型的能力。本文将2 000幅垃圾图像分为10份,每次取其中9份组成训练集,1份用作测试集,最终将循环后的所有评估结果取平均。

3.3.2 不同模型性能对比

本文实验选取ResNeXt101作为特征提取网络,学习率设置为0.000 1,对比了基于ResNet101进行特征提取主干网络的Mask R-CNN在垃圾检测应用上的不同表现。

为了量化实验结果,本文采用均值平均精度mAP(mean Average Precision)[23]作为垃圾检测性能的评价指标。为了能更好地对本文模型的性能进行评估,本文选取的生活垃圾图像不仅包含完整目标的图像(实验1),也选取了具有局部特征和剧烈形变的生活垃圾图像(实验2)作为训练和测试样本。

实验结果如表2所示,表2数据显示:基于改进的Mask R-CNN算法的所有类别的平均分类精度高达91.1%。

Table 2 Classification accuracy of garbage categories from different perspectives

在光线良好的情况下,如表2中实验1结果所示,完整而清晰的目标检测效果最好,平均分类精度高达94.02%;在实验2只具有局部特征的情况下,平均分类精度可达88.17%。由于玻璃和塑料在只有局部特征下大多形状与颜色相似,容易将白色玻璃瓶分类为塑料,效果较差,但对于其他3类垃圾(纸、硬纸板和金属),尽管拍摄物体在不同程度上发生形变,但分类效果依旧良好。表2结果说明本文算法可以出色地完成垃圾检测任务。改进后的Mask R-CNN应用于生活垃圾多分类检测的结果如图5所示。从图5中可以看出,对于多分类场景该模型依然可以取得很好的识别效果。

Figure 5 Detection results of domestic garbage multi-classification图5 生活垃圾多分类检测结果

本实验使用ResNeXt,采用32×8d分组卷积结构作为特征提取主干网络的Mask R-CNN,与传统ResNet主干网络相比,算法平均分类精度提升了2.35%,由原来的88.75%提升至91.10%。同时,本文实验对比了其他目标检测算法应用于生活垃圾检测的效果,不同模型下的性能比较如表3所示。从表3可以看出,Faster R-CNN算法识别精度较低,为81.73%;YOLOv3算法尽管在时间上远小于其他算法,但其检测精度最低,仅为74.13%;基于改进Mask R-CNN的算法相较于传统Faster R-CNN算法与YOLOv3算法,分类精度分别提升了9.37%和16.97%。这表明了本文所提模型在垃圾检测任务中的可行性与有效性,尤其是检测目标与背景边界线较为模糊时,分类精度和分割精确度均表现优异。

Table 3 Performance comparison among different models

4 结束语

本文针对人工分拣垃圾效率低下的问题,提出了一种基于改进Mask R-CNN的算法。对比了ResNeXt101与ResNet对生活垃圾检测模型性能的影响,选取经过优化的ResNeXt101模型进行特征提取,进一步提高了分类的准确性。实验结果显示,与传统的Mask R-CNN模型相比,本文模型的mAP提升了2.35%;相较于传统Faster R-CNN算法与YOLOv3算法,mAP分别提升了9.37%和16.97%。这表明了所提模型在垃圾检测任务中的可行性与有效性。

本文模型仍存在一些需要进一步改进的问题,如检测时间较长;在光线充足的情况下,对于图像中特征相似的不同类别的目标分类结果较差,且实际垃圾分类中垃圾之间堆叠情况严重。在未来的工作中,将创建类别更丰富、规模更大的数据集进行训练,以满足实际应用场景的需求;对于严重遮挡的对象后续采用具有双层卷积网络的BCNet[24]实现遮挡物之间的解耦;探索并结合传送带和机械臂等硬件系统,创建一个完整可用的垃圾分类与分拣系统。

猜你喜欢

掩码特征提取卷积
AES高阶掩码方案抗功耗攻击
基于3D-Winograd的快速卷积算法设计及FPGA实现
旁路功耗分析中不同平台的差异化研究*
卷积神经网络的分析与设计
什么是IPv6的前缀长度
空间目标的ISAR成像及轮廓特征提取
基于Gazebo仿真环境的ORB特征提取与比对的研究
基于特征提取的绘本阅读机器人设计方案
从滤波器理解卷积
基于Daubechies(dbN)的飞行器音频特征提取