周 晓,焦 晨,朱开瑄
(武汉理工大学 机电工程学院,湖北 武汉 430070)
随着人们消费水平的提高,塑料瓶使用量急剧增加,而塑料瓶的回收处理手段大部分是填埋和焚烧,造成了资源浪费以及环境的极大污染[1],因此有效分拣各类塑料瓶,提高其回收利用率,对环境保护和资源重复利用具有重要意义。
目前我国塑料瓶的回收分类产业在自动化程度上有了一定进步,但分拣工作仍主要依靠人工操作完成[2],工人工作环境恶劣,检测效率低下,不合适长时间工作。与人工分拣相比,利用机器视觉技术进行分拣具有可长时间连续工作、准确率高、稳定性强,能作业于恶劣工况条件等优点。因此,有学者提出了基于机器视觉的塑料瓶分类方法,通过提取塑料瓶图像包含的典型特征来达到对不同颜色的塑料瓶进行分类的目的。
王洪[3]提出了一种基于计算机视觉的塑料瓶分类方法,首先对采集的图像进行灰度和边缘检测等一系列的处理,然后在二值化的图像上就塑料瓶的面积和周长进行了形状特征的提取,再根据这些形状获得塑料瓶所在区域的像素点的R(red)、G(green)、B(blue)值,以此作为颜色特征来对塑料瓶颜色进行分类识别。贺向宇[4]针对塑料瓶瓶身重叠和表面不平整对颜色分选造成干扰的问题,设计了基于形状匹配的瓶身重叠识别方法和基于K-means聚类的颜色分选方法,从而有效提高了塑料瓶回收的颜色分类准确率。刘政林等[5]设计了一种基于计算机视觉的塑料瓶颜色识别与分拣系统,在图像处理部分利用边缘检测算法提取塑料瓶的轮廓。在确定瓶子坐标后,取出每个瓶子所在区域的RGB值,将RGB通道的均值与提前设置好的阈值进行比较来判断塑料瓶的颜色。Tachwali等[6]从塑料瓶的化学成分和颜色两方面进行分类识别。以近红外反射率的测量方法来识别瓶子的化学成分。颜色分类方面,使用基于灰度直方图的阈值分割对图像进行分割,在HSI(hue、saturation、intensity)颜色空间分别获取瓶身上10个感兴趣区域的H和S分量像素的均值和标准差,作为对塑料瓶分类的依据。
上述方法都是基于手工设计的低层视觉特征,其缺点在于:塑料瓶分类方法依赖于研究者的经验知识,针对不同的识别问题进行特定设计;提取到的特征不具有或具有较弱的语义信息;特征表达能力弱,难以描述塑料瓶的复杂变化,因此它们都有其局限性。而基于数据驱动的方法,如卷积神经网络(convolutional neural network, CNN)以其强大的特征提取能力,能对物体的复杂变化模式有效建模[7]。笔者将卷积神经网络用于不同颜色的塑料瓶的分类中,构建具有残差连接的卷积网络并加以训练。为增强模型的泛化能力和避免过拟合,训练过程中采取一系列正则化措施:使用数据增广[8]技术增强训练集数据多样性;在全连接层引入具有自归一化性质的SeLU函数[9];对真实标签进行平滑处理[10],从而对塑料瓶分类网络进行有效训练,实现4种颜色塑料瓶的分类识别。
基于计算机视觉的PET(polyethylene terephthalate)废旧塑料瓶颜色分拣系统由工业相机、背光板和工控机组成,再配合机械传送和气选装置,能够完成废旧塑料瓶成像、识别和分类全流程。废旧塑料瓶智能颜色分拣系统的实物图和各部件相对位置关系图分别如图1和图2所示。
图1 塑料瓶颜色分拣系统实物图
图2 塑料瓶颜色分拣系统各部件位置关系图
当传送带将不同颜色的PET废旧塑料瓶运输至工业相机的视野范围时,相机对其成像并将图像传输至工控机中,工控机上运行的图像处理算法对塑料瓶图像进行实时处理识别,进一步根据识别结果来控制气选装置,从而达到对不同颜色塑料瓶分拣的目的。
根据回收的废旧塑料瓶数量统计情况,对采集到的图像选取最主要的4大类进行人工标注,这些塑料瓶包含了4种不同的颜色,如图 3所示,包括PET_Blue、PET_Brown、PET_Green和PET_Transparent瓶子。利用标注信息,将塑料瓶所在区域裁剪下来分类存储,每种类别的塑料图像数量如表1所示。
表1 4类塑料瓶图像数量
图3 PET塑料瓶的4种类别
塑料瓶的颜色分类往往存在各种干扰信息,如图4所示。这些干扰信息有来自塑料瓶本身的干扰,如在脱标签阶段瓶身上未能撕扯下来的不同颜色的标签,以及各式各样的瓶盖部分,如图4(a)所示;有的则来自周围环境的干扰,如瓶子周围区域存在其他种类的塑料瓶,并且这些干扰相互混杂,如图4(b)所示。在实际分拣环境中这些干扰因素难以避免,这就对分类方法提出了较高的鲁棒性要求。
图4 塑料瓶识别时存在的干扰因素示意图
利用卷积神经网络强大的特征提取能力,可以对具有复杂变化的各种颜色的PET塑料瓶图像进行建模。针对现有研究中普遍存在塑料瓶种类较为单一、图像数量少、塑料瓶分类鲁棒性不强、依赖于经验设计的特征提取和分类效果一般等问题,笔者设计了一种基于卷积神经网络的准确率高、鲁棒性强的塑料瓶颜色分类方法,其流程如图 5所示。首先通过采集图像及人工标注制作了塑料瓶图像分类样本并对数据进行预处理,然后设计具有残差连接的卷积神经网络并加以训练。塑料瓶分类网络以塑料瓶图像为输入,其输出为每个塑料瓶对应颜色类别的概率。
图5 基于CNN的塑料瓶分类方法流程图
笔者提出的塑料瓶分类网络的残差连接主要基于Pre-activation Bottleneck[11]进行设计,其基本结构如图6所示。采用具有残差连接的卷积模块是因为残差网络能够解决网络退化和梯度消失的问题。普通卷积神经网络可以看作是学习一个从输入x到输出y的映射,即y=H(x),函数H(x)即堆叠的隐藏层,代表网络从输入x学习到的特征。而采用残差网络模型,输出y=F(x)+x,即H(x)=F(x)+x,F(x)代表网络学习的残差映射,而x则代表从输入到输出的恒等映射。大量实验证明学习残差映射要比直接学习从输入到输出的映射容易得多,而且即使网络层数较多也能进行有效的训练。一般Bottleneck层由三层核尺寸分别为(1×1)-(3×3)-(1×1)的卷积层堆叠而成,随着网络的加深,每个Bottleneck层的卷积核通道数以2的倍数递增,特征图尺寸以2的倍数递减,网络总体结构如表2所示。
表2 塑料瓶分类网络总体结构表
图6 Pre-activations残差模块
网络输入为256×256×3的塑料瓶图像,在第一层隐藏层输入图像采用尺寸较大的卷积核进行运算是因为一方面可以尽可能多地将原始图像映射到高维空间中,另一方面是因为如果一开始就使用过多的小尺寸卷积核,会使之后的隐藏层卷积核数剧增,导致网络训练困难。在堆叠多层Bottleneck之后,在卷积层的顶端使用尺寸为(8×8)的全局池化层,再接入3层全连接最终得到网络的输出,即4种颜色的概率得分。为了避免在全连接层中使用ReLU激活函数可能造成某些神经元节点的激活值总是小于0,进而梯度总是为0,网络无法进行有效训练的问题,笔者使用具有自归一化性质的SeLU作为全连接层的激活函数SeLU,如式(1)所示。在输入样本通过前向传播到达该激励函数时能够使样本分布满足0均值和单位方差,既解决了梯度消失,又保留了负值特征,使得网络可以更好地收敛。其中α和λ为常数,分别取1.673 26和1.050 72。
(1)
塑料瓶从图像上截取下来后,其大小、形态、位置都不是固定的,而网络要求输入维度是统一大小的,为了维持原图像中塑料瓶的纵横比,不让其特征信息丢失,对纵横比过大的塑料瓶图像进行边缘0值填充。首先计算该图像的纵横比,若纵横比大于1.3,则对长与宽中较大的值调整至256个像素,较小的值则随图像原有的纵横比自行调整,然后沿着较小值的边进行0值填充,其效果图如图 7所示。
图7 塑料瓶图像0值填充效果图
为了避免模型过拟合,同时增强模型在测试数据上的泛化能力,需要在模型训练期间,动态地对输入图像进行一系列的图形变换,每次训练时随机的变化组合并不会改变图像原本的属性类别,反而增加了训练数据的丰富性,起到数据增广的作用。这些变换包括随机位置裁剪,随机角度旋转,随机水平翻转,大小变换等操作。以任意一张蓝色塑料瓶图像为例,它的原图如图 8(a)所示,数据扩充的结果如图8(b)所示。
图8 数据增广效果图
在塑料瓶颜色分类任务中,图像经过网络前向传播到达输出层,通过Softmax函数将其映射到所属类别的概率分布,用以计算损失的真实标签往往是One-hot稀疏编码。但是采用这种编码方式的真实标签,存在两个问题:①使用0和1的标签编码方式会增大模型对不同类别的输出分数的差别,对某些类别的置信度分数过高,容易导致过拟合,降低模型的泛化能力。②在实际中,总会有一些对模型来说模糊不清的困难样本,如瓶身带有绿色包装的透明塑料瓶、带有红色包装的透明塑料瓶以及本身就是绿色的塑料瓶。
基于上述描述,采用标签平滑处理来解决以上两个问题。标签平滑处理(label smoothing)作为正则化的一种手段,其核心思想是降低模型对标签的信任,可以将某些类别的概率从0提高到0.1,将某些类别的概率从1.0降低到0.9,进而将使用这些平滑后的标签参与Softmax损失函数的计算。利用式(2)进行标签平滑处理。
(2)
式中:qi为第i类的概率;ε为小于1的常数;y为真实标签;K为分类类别总数。
如果使用One-hot编码表示PET_Transparent塑料瓶类别,其真实标签为[0.0,0.0,0.0,1.0],除了最后一个维度是1.0之外,其他维度都是0,对其做平滑处理后其标签为[0.02,0.02,0.02,0.94]。
通过实验对基于CNN的塑料瓶分类方法与基于HSV-SVM(hue,saturation,value-support vector machine)的分类方法的实验结果进行对比。
作为对比,笔者设计了基于HSV-SVM方法的塑料瓶颜色分类算法。考虑到不同塑料瓶在明暗、颜色等方面具有一定的差异,这些差异可以作为区分不同种类塑料的依据。HSV颜色空间以人类感知颜色的方式对色彩加以描述,如颜色的种类、颜色的深浅、颜色的明暗。通过将RGB模型转换至HSV模型,计算得出每张图像的HSV通道数值,然后求取每个通道的均值,组成3维向量。总共1 087张处理图像,其特征矩阵的维度是(1 087,3),以4:1的比例对其划分训练集和测试集。分别将各个通道及它们的组合作为特征值,使用SVM作为分类器进行了一系列实验,实验结果如表3所示。
表3 基于HSV-SVM方法的实验结果
从表3可知,H通道相比其他通道对颜色有更好的区分度,仅使用H通道特征向量的分类准确率为85.6%,远高于S通道的65.3%和V通道的53.2%。但是,如果将特征向量扩展到更高维度的空间,特征向量包含的信息更丰富,用分类器训练后其判别力也更突出。同样是SVM分类模型,当综合评估三通道的特征向量时,其颜色分类准确率相比之前的结果大大提高,达到了89.7%。虽然使用多个通道的特征值能使分类效果有所提升,但是其分类效果的好坏程度依然取决于前期特征工程设计的好坏,这也证明了基于手工设计特征的方法有其天然的局限性。
实验中使用的数据集同样包含1 087张图像,以4∶1的比例对其划分训练集和测试集。采用批量随机梯度下降算法进行优化,学习速率为0.001,塑料瓶分类模型在训练集上迭代40次。
模型在训练过程中的损失值曲线和准确率曲线如图9所示。从图9可知,在训练至第15轮之前,无论是损失值曲线还是准确率曲线,塑料瓶分类模型在训练集上的表现都要优于测试集,即训练集的损失值更低,准确率更高。随着训练进一步推进,由于采用了数据增广技术,增添了训练图像的多样性,以及采取了一系列正则化措施,虽然在一定程度上以牺牲模型在训练集上的效果为代价,但是却提高了模型的泛化能力。如图9所示,在第20轮后,模型在测试集上的表现超出了训练集,出现这种现象的原因,一方面是由于所采取的正则化措施仅针对训练集的图像进行处理,如训练时人为地在真实标签中加入噪声,让模型不对某一类别的塑料瓶图像有过高的置信度;另一方面是由于在训练过程中使用了数据增广技术,模型已经学习到了比原有图像更加复杂的变换。
图9 网络训练过程
在结束训练时,网络在测试集的准确率为99.2%,两种分类算法的比较结果如表4所示。从表4可知,与基于手工特征设计的HSV-SVM分类方法相比,笔者提出的基于卷积神经网络的塑料瓶颜色分类方法的分类效果更佳,准确率更高。
表4 两种分类算法比较结果
此外,笔者还对所提出的算法的速度性能进行了分析,从而证明了笔者设计的算法能够满足废旧塑料瓶颜色分拣系统的实际需求。长度为15~30 cm的塑料瓶在传送带上以2.5 m/s的速度运动,当塑料瓶经过工业相机(采集速率100~120 FPS)视野区域时,瓶身位于相机视野的时间为160~220 ms,然后相机采集图像并将其传输至工控机,塑料瓶颜色分类模型以99%的准确率处理单张图像需24 ms左右(通过计算模型在测试集图像上推断的总时间对测试集的图像数量取均值求得),因此满足实时性需求,从而能够实现4种不同颜色的废旧PET塑料瓶的精准快速分拣。
笔者围绕废旧塑料瓶的颜色分类问题,设计了具有残差连接的卷积神经网络并加以训练,为了增强模型的泛化能力,在训练过程中采取了一系列正则化措施,利用数据增广技术增加训练集数据的多样性,在全连接层中引入具有自归一化性质的SeLU激励函数,在真实标签中添加噪声对其平滑处理,从而使网络得以有效的训练。实验结果表明,与基于HSV-SVM的塑料瓶分类方法相比,笔者提出的基于卷积神经网络的塑料瓶颜色分类方法对包含复杂变化的塑料瓶建模能力更强,识别准确率更高,鲁棒性更强,且能满足实时性要求。