李金玉,陈晓雷,张爱华,李 策,林冬梅
(1.兰州理工大学电气工程与信息工程学院,兰州 730050;2.兰州理工大学 甘肃省工业过程先进控制重点实验室,兰州 730050;3.兰州理工大学电气与控制工程国家级实验教学示范中心,兰州 730050)
随着我国经济的高速发展,城镇人口日益增多,城市生活垃圾迅猛增长。逐年增长的城市生活垃圾,不仅对城市发展带来阻力,而且对生态环境的破坏带来不可估量的影响。因此,2018 年由国务院发布的《关于全面加强生态环境保护坚决打好污染防治攻坚战的意见》中要求加快推进垃圾分类实施,到2020 年实现所有城市生活垃圾分类处理全覆盖。垃圾分类已成为国家生态环境保护、促进经济发展的重要举措。
由于城市生活垃圾多数为多种废弃物的混合体,无论是采取卫生填埋、堆肥,还是焚烧的处理方式,都不能有效地解决生活垃圾所带来的问题。通过分类改变垃圾的混杂性是实现垃圾处理资源化、减量化、无害化的重要前提。传统的生活垃圾分类方法主要有筛分、重力分选、风力分选、浮力分选、磁力分选以及光点分选等,以上无论是哪种分选方法,人工分选都是不可或缺的一个环节,用于挑选这些传统分类方法无法识别的目标物,以及传统方法分类之后的进一步质量控制。然而,人工垃圾分选存在劳动强度大、监督任务重、分选效率低和工作环境差等问题,急需智能化、自动化的分类方法取代传统分类方法。
近年来,深度学习已渗透到各行各业,如何利用深度学习高效地进行垃圾分类已成为当前的研究热点。但是,目前还缺乏针对这一研究领域的综述性研究,本文主要对目前已有的深度学习垃圾分类方法进行综述,分析近年来深度学习相关方法在垃圾分类中的应用,将其归纳整合为基于ResNet 的方法、基于DenseNet 的方法、基于单阶段目标检测的方法和基于卷积神经网络与迁移学习相结合的方法,在此基础上总结各个方法的分类效果及优缺点,分析并探讨基于深度学习的垃圾分类研究面临的挑战和未来发展方向。
深度学习能够有效地解决传统机器学习中手工特征提取不全和选择繁琐的问题,挖掘样本数据的内在规律,并带来性能的改善,广泛应用于计算机视觉[1]、自然语言处理[2]、数据挖掘[3]等领域。因此,基于深度学习的垃圾分类方法为垃圾分类指出了一条新的道路,本节根据不同深度学习模型对现有深度学习垃圾分类方法进行阐述,并给出各种方法在垃圾分类领域的算法及模型的总结对比。
ResNet[4]基本框架如图1 所示,其最大的特点是在进行特征提取时,直接将输入信息绕道传到输出端,极大增加网络深度,从最初的十几层增加到后来的150 多层,并且不会产生过拟合现象。
图1 ResNet 基本框架Fig.1 ResNet basic framework
文献[5]提出一种基于ResNet50 和支持向量机(SVM)[6]的智能废料分类系统,该系统采用ResNet50进行特征提取,通过SVM 对所提取到的特征进行分类,在TrashNet 数据集上的准确率达到87%。然而,SVM只对小样本数据具有较好的分类效果,故该方法不具有通用性。
文献[7]提出基于ResNet 和Inceptionv-4[8]的垃圾自动分类DSCR 网络,该网络构建一个IR-Block使得模型在多尺度上获得更多的特征,解决了由于使用缩减模块(reduction module)导致模型过于敏感的问题,准确率达到94.38%。文献[9]提出一种注意力机制模型,该模型通过完成局部、全局的特征提取和特征融合机制等手段建立了垃圾图像分类模型GCNet,能获取更加有效完善特征信息,通过有效利用特征信息进而避免梯度消失的现象。
文献[10]提出的自动垃圾检测系统使用ResNet网络作为卷积层,输入数据集图像后通过ResNet 的共享卷积层生成特征图,再通过RPN(区域提议网络)层得到输出,生成大量的区域建议,该方法很好地克服了区域误检问题。文献[11]修改了原始ResNext 模型,在全局平均池化层之后添加了两个全连接层以提高网络的分类性能,能够快速实现分类模型的稳定和泛化,相比于ResNet-101,该方法对金属、纸张和塑料的分类性能表现较差,如何利用这些样本的独有特征提高分类精度值得深入探索。
文献[12]从输入图像的多特征融合、残差单元的特征重用和新激活函数的设计3个方面对ResNet-34算法进行优化,该方法改进的ResNet-34 对小目标物体检测结果较好,但对嵌入式等移动设备而言,由于该方法运算量太大,无法保证垃圾分类的实时性。针对此问题,研究人员通过减少ResNet 模型的参数量实现轻量级的垃圾分类,以促使分类任务能够在移动手机端、嵌入式等设备上执行。文献[13]提出一种基于轻量级残差网络MAPMobileNet-18,通过使用最大平均组合池化代替Bottleneck 中的最大池化与平均池化,深度可分离卷积替换Bottleneck 中的3×3 卷积核,模型参数量在理论上减少为原来的1/8,在保持模型精度不变的同时提高了模型的运算效率。在ResNet-18 中的BasicBlock后串联添加通道注意力机制[14]和空间注意力机制[15],用残差块替换了BasicBlock 中的3×3 卷积核,使网络模型更适合使用移动手机端等计算能力较差的设备进行垃圾分类。
文献[16]基于ResNet50设计一种轻量级垃圾分类模型GA_MobileNet,利用深度卷积和分组卷积减少计算量和参数,通过通道注意力机制提高模型的准确性。相对于原始模型,该模型分类精度更高,占用内存更少,能够解决垃圾分类在嵌入式设备上的应用问题。
DenseNet[17]为确保网络中最大的信息流通,使每层都与该层之前的所有层相连,即每层的输入是前面所有层的输出,从而可以有效减轻梯度弥散,加强特征的传播和复用,减少模型参数量。
文 献[18]将AlexNet[19]、VGG16、ResNet50、DesneNet169 在数据集TrashNet 上进行验证,结果表明,DenseNet169 性能更好,检测精度达到94.9 %。文献[20]提出一种新的密集连接模式构建了智能垃圾分类网络RecycleNet,该网络改变了原始Densenet121密集块内跳跃连接的连接模式,可以将Densenet121 网络中的参数数量从700 万减少到大约300 万,很大程度上缩短了检测时间。
Densenet121 全连接层的分类能力是非常明显的,但全连接层的参数占整个网络参数的80%。为了在提高分类性能和减少网络参数之间获得平衡,文献[21]利用遗传算法优化了DenseNet121 全连接层的超参数以提高精度,实验结果表明,使用两个全连接层作为DenseNet121 的分类器,相比配备有全局平均池化和softmax 分类器的原始DenseNet121,在垃圾分类任务上表现更好。
单阶段目标检测方法以结构简单、计算高效,同时具备较高检测精度的优势,在实时目标检测领域中具有广泛的研究和应用价值[22]。文献[23]采用改进的YOLOv2 网络模型进行装修垃圾检测和识别,并通过目标盒维数聚类和分类网络预训练来提高YOLOv2 模型的性能,使 用MobileNet[24]代 替YOLOv2 原来的Darknet-19 进行垃圾检测,将整个改进的模型移植到嵌入式模块中得到较好的分类效果。
文献[25]提出一种YOLOv2-dense 网络,该网络能够有效解决随着深度卷积深度增加而带来的梯度消失问题,并且还能够很好地复用与融合图像浅层特征和深层特征。改进后的YOLOv2-Dense 算法可以保留更多的浅层图像信息,提取目标特征的能力显著提高,可在不同光照、背景、视角与分辨率情况下进行精确实时的垃圾定位和检测。
文献[26]研究YOLOv3 算法在垃圾分类中的应用,在自制数据集上的mAP 值达到94.99%。文献[27]构建了面向瓶罐识别分类的网络模型并进行实验验证,针对YOLOv3 对小目标不敏感的问题,用GIOU 替代传统的IOU,通过K-means 聚类算法来优化锚框尺寸。实验结果表明,改进后的YOLOv3 算法识别精确率比原始算法提高约4%。文献[28]提出一种新的基于YOLO 的变分自动编码器神经网络模型,该模型由卷积特征提取器、卷积预测器和解码器组成。经过训练过程,该模型以3 210 万个参数和60 frame/s 的处理速度达到69.70%的准确率,使其可应用于现实生活的垃圾回收场景。
文献[29]介绍一种LSSD 算法,该算法克服SSD[30]算法存在小目标丢失和用不同大小框同时检测同一目标的缺点,建立一个在所有类型的尺度上都具有更强语义的新特征金字塔,将Focal Loss[31]函数代替传统损失函数解决了单阶段目标检测方法正负样本比例严重失衡的问题。
深度学习的性能提高主要依赖于大量的训练数据集,与其他领域的大规模数据集(如ImageNet 数据集)等相比,当前公开的垃圾数据集数量和种类很少,有限地标注垃圾数据集已成为深度学习方法在垃圾图像分类中的应用瓶颈。因此,研究人员利用迁移学习来解决垃圾分类的小样本数据集问题。
文献[32]提出一种基于迁移学习和Inceptionv3[33]的垃圾图像分类方法,该方法保留了Inceptionv3 模型出色的特征提取能力,可以提供有效的计算机辅助检测,在图像数据不足时具有较高的识别精度。文献[34]在“华为云人工智能大赛·垃圾分类挑战杯”上,发挥深度迁移学习的优势,构建一种端到端面向细粒度垃圾图像分类的迁移模型GANet。实验结果表明,该方法能较好地应对多分辨率、多尺度、多粒度垃圾图像的特征提取,有效缓解过拟合,提高收敛速度,减少训练参数。
文献[35]提出基于Inception-v3 网络特征提取模型和迁移学习相结合的垃圾分类方法,该方法使用2 个1×n和n×1 的卷积核取代n×n的卷积核以减小计算量,RMSprop(Root Mean Square prop)替代SGD(Stochastic Gradient Descent)对模型进行优化以提取更多特征,利用LSR(Label Smoothing Regularization)方法降低过拟合。文献[36]提出一种扩展特定网络层分支的新方法来拓宽Xception[37]网络结构,将网络底层的信息映射到网络高层,传输梯度可以无损,从而解决了反向传播的负面效应。实验结果表明,该方法对遮挡环境下的垃圾分类效果较好。
文献[38]在Inception-v3 模型的基础上,使用迁移学习来训练一个专门识别垃圾类别的模型,通过对算法的研究和模型的修改,在实际效果下的识别率较高。文献[39]开源一个基于TACO 数据集的数据集AquaTrash,在此数据集上应用了基于深度学习的对象检测模型AquaVision,该模型可以检测和分类漂浮在海洋和海岸上的不同污染物和有害废物,平均精度达到81.48%。
文献[40]设计一个新的增量学习框架GarbageNet,以解决垃圾分类面临的缺乏足够数据、高成本的类别增量和噪声标签等问题,使用增量学习方法使模型不断从新样本中学习和更新,通过AFM(Attentive Feature Mixup)消除噪声标签的影响,在华为云垃圾数据集上以可接受的推理速度达到了96.96%的最佳性能。
表1对以上基于深度学习的垃圾分类方法从所使用的基础网络、数据集、是否进行数据增强、使用场景、测试精度、优缺点等方面进行了详细总结,其中使用场景“单”表示单目标,“多”表示多目标,背景单一指图像背景是固定的,背景复杂则指图像的背景处于不同环境下,(1)表示引用Trash垃圾数据集[42],(2)表示引用华为云人工智能大赛,见https://competition.huaweicloud.com/information/1000007620/introduction?track=107。
表1 基于深度学习的垃圾分类方法对比Table 1 Comparison of garbage classification methods based on deep learning
续表
由于开源的垃圾数据集较少,研究人员一般采用自行拍摄和互联网查找的方式建立数据集。
TrashNet 数据集[41]由斯坦福大学的YANG 等创建,通过将物体放置在白色海报板上并使用自然光或室内照明来采集图像,所有图像均调整为512×384 的空间分辨率。该数据集包含6 类垃圾的RGB图像,其中每个图像仅包含一种类型的垃圾,分别是:玻璃、纸张、纸板、塑料、金属和普通垃圾。当前,该数据集由2 527 张图像组成,每类包含的图像数量具体为:玻璃501 张,纸张594 张,纸板403 张,塑料482 张,金 属410张和普通垃 圾137 张。
GINI[42]数据集包 含2 561 张垃圾图像,其中956 张图像通过在互联网上查询“路边垃圾”、“市场垃圾”等垃圾相关的关键词获得。该数据集的每个图像还标注了其严重程度和可生物降解性的水平。
2020 年深圳举办“华为云人工智能大赛-垃圾分类挑战杯”数据应用创新大赛发布了一组生活垃圾图像数据集,该数据集有4个大类和44个小类,总计14 964张图像,数据集的数据结构是标准的VOC格式,见https://modelarts-competitions.obs.cn-north-1.myhua weicloud.com/garbage_classify/dataset/garbage_classify.zip。
TACO[43]是一个用于垃圾分类和检测的数据集,包括1 500 张图像和4 784 个标注,尽管该数据集非常小,但是在此数据集上可以进行垃圾分类和垃圾的边缘检测。
AquaTrash[39]数据集通过对TrashNet 数据集和TACO 数据集进行比较研究后,发现两个数据集都有一些缺点,例如TrashNet 数据集没有注释,TACO数据集的注释不可靠等,因此提出AquaTrash 数据集,该数据集包含来自与各种垃圾物品相关的4 个不同类别的369 张图像。其中所有图像都经过手动注释以获得结果的准确性。
垃圾分类公开数据集如表2 所示。
表2 现有垃圾分类公开数据集Table 2 Existing garbage classification public dataset
深度学习以精度高、速度快、稳定性强、特征可重用性高等优势在垃圾图像分类任务领域中表现优异,但深度学习在垃圾图像分类应用中还存在着一些无法规避的问题亟待解决:1)可用数据集少,对数据依赖性高;2)现有的模型训练与预测耗费大量时间和成本,需设计轻量级网络;3)现有方法关注单目标和少目标数据且背景简单,难以适应现实生活中垃圾种类多、数量大、背景复杂的特点,需设计复杂情况下鲁棒性好的多目标检测网络。
目前,垃圾分类领域公开的数据集较少,构建数量庞大、内容丰富的垃圾数据集需要耗费大量的资源和成本。而主动学习(Active Learning)[44]、零样本学习[45]、迁移学习[46]等方法放宽了对数据集的要求和依赖性。将深度学习与主动学习、零样本学习和迁移学习相结合很可能成为消除或减少数据依赖的突破口。
主动学习能通过自适应查询策略选择大量未标注的数据交由专门人员进行标记,用尽可能少的高质量标注数据训练高性能的模型,主要有基于预设计策略和基于学习损失的主动学习方法,但目前的多数主动学习方法主要是针对特定任务而预设计采样策略,如何在垃圾图像分类领域设计采样策略是主动学习应用的难点。
零样本学习框架如图2 所示,零样本学习在图像分类中主要包括基于空间嵌入和基于生成模型两种方法,能将可见类学习到的属性迁移到不可见类上,建立可见类与不可见类的耦合关系,实现在没有学习不可见类标签样本的前提下对不可见类的分类,对垃圾分类模型的长久可用性具有重要意义,如何消除零样本学习在垃圾分类领域中出现的领域漂移、枢纽点和语义鸿沟等问题有着巨大的研究前景。
图2 零样本学习框架Fig.2 Framework of zero-shot learing
深度学习与迁移学习结合的方法已经有了一些成果[47],可以通过迁移对所传输的子网络进行微调以适应新的数据,再进行深度特征的挖掘,能有效解决垃圾图像小规模数据集的问题。随着深度学习在各个领域的广泛应用,大量的深度迁移学习方法被提出,利用深度学习在无监督或半监督学习中进行知识的迁移将会受到越来越多的关注。预计未来的研究将集中在使用很少的标注数据以获得更好的结果。
尽管目前提出的轻量级网络方法很多,但这些模型通常只针对通用物体检测,当前较少有专注于垃圾检测和分类的轻量级模型,深度学习在垃圾分类领域依旧面临运算复杂、时效性差、成本高等问题。
目前主流的网络轻量化方法主要有:
1)首先通过逐点卷积(Pointwise Convolution,PW)对数据进行降维,然后进行常规卷积核的卷积,最后根据PW 对数据进行升维;
2)多尺度卷积和多个小卷积代替大卷积;
3)权值量化;
4)使用depth-wise 卷积等操作,起到减少网络计算量的作用。
因此,针对垃圾图像特性设计提出轻量级模型,降低运算成本和复杂度,使其能够在实时垃圾检测和分类领域上带来新的突破。主流轻量化方法的优缺点对比如表3 所示。
表3 主流轻量化方法的优缺点对比Table 3 Comparison of advantages and disadvantages of mainstream lightweight methods
多目标检测和多目标跟踪在交通监控、自动驾驶以及虚拟现实等领域已有广泛应用[48]。为适应我国垃圾复杂度高、数量大的特点,多目标垃圾检测和分类在垃圾焚烧发电厂等垃圾处理的末端有很大的应用前景,可采用在算法中增加更精细的特征提取层和大尺度特征层上的检测输出,改进现有的深度学习模型。
值得注意的是如纽扣电池等小体积垃圾的正确分类非常重要,此类小目标垃圾像素少,图像模糊,难以提取有效的特征,一直是目标检测领域中的热点和难点,常用的方法是用不同分辨率的分类器确定小目标物体的关键点,利用空洞卷积、特征金字塔[49](FPN)、极端尺寸检测[50](SNIP)等进行多尺度方法处理和利用生成对抗网络、提高小物体检测率将是更具挑战和发展前景的研究方向。
本文总结垃圾分类领域中深度学习应用的研究现状,从算法特点及模型方面介绍经典的垃圾分类方法并进行分类、评估、对比不同方法和模型在数据集上的分类效果。通过分析深度学习在垃圾分类应用中的有效性,指出基于深度学习的垃圾分类方法是未来发展的重要方向,但面对准确度高、实时性强的应用需求,垃圾分类的发展仍面临较多的挑战。因此,研究人员应针对减少对标注数据集的依赖、轻量级网络模型设计和适应多目标网络模型进行研究,提升深度学习技术在垃圾分类领域内的应用能力。