本发明涉及生活垃圾分类技术领域,尤其涉及一种生活垃圾塑料瓶分类中的数据均衡方法。
背景技术:
伴随城市化的裂变与发展,生活垃圾也巨幅增长,多数城市出现严重的垃圾围城问题,塑料瓶是常见的生活垃圾之一。对塑料瓶采取填埋堆放不仅没有足够土地,而且对生态污染严重。更糟的是,塑料瓶垃圾数量持续增长,城市垃圾堆积对周边居民健康造成极大危害。
通过塑料瓶分类解决塑料瓶回收问题,实现垃圾的缩量化、资源化、无毒化。回收的废弃塑料瓶可以作为原材料再加工,创造新价值。
不同材质的塑料在物理、化学等特性上存在较大差异,需要对塑料按材质分类。针对目前塑料瓶成分较单一,但颜色千差万别的实际场景,可以对塑料瓶按颜色来分类,从而得到成分单一、颜色单一的塑料瓶,最后得到品质优良的再生塑料。
传统分类主要靠人工分拣,效率低,无法对塑料瓶垃圾大规模分类,人工智能为大规模塑料瓶颜色分类提供了可能。分析输入图像,训练卷积神经网络,得到塑料瓶颜色、尺寸、坐标等信息,实现快速、准确地对塑料瓶的检测。
数据类别严重不均衡是神经网络在实际生活中应用的一大阻碍。类不均衡影响训练阶段的收敛性,导致训练模型侧重样本数目较多的类别,而轻视样本数目较少的类别。模型在测试数据上的泛化能力会受影响。实际生活所获得的数据集里,瓶子颜色类别存在严重倾斜,透明塑料瓶数量最多,棕色、蓝色塑料瓶次之,紫色、黄色、红色塑料瓶数量很少,透明塑料瓶的数量是紫色等类别数量的十万多倍,所以解决数据不平衡至关重要。
一般解决数据不平衡问题可从数据层面和算法层面上入手。在数据层面可以借助数据重采样使得训练集样本趋于平衡。对于样本较少的类别,使用上采样,即复制该类图像直至与样本最多类的样本数一致。对于样本较多类别,使用下采样,在批处理训练时对每批随机抽取的图像严格控制其样本较多类别的图像数量。塑料瓶颜色分类项目中,紫色类瓶子数据仅有十几张,而透明瓶子数量高达十万数量级,若仅靠复制紫色瓶数量也许会引起模型的过拟合。
若从算法层面解决数据不平衡,可以增加小样本错分的惩罚代价,并将此惩罚代价直接体现在目标函数中,即代价敏感法。由于瓶子颜色分类项目中,类别数量存在多个数量级上的偏差,所以在调试惩罚参数时很难调整到一个恰当的值。
因此,现有技术需要进一步改进和完善。
技术实现要素:
本发明的目的在于克服现有技术的不足,提供一种解决垃圾塑料瓶颜色分类中严重类不平衡问题的数据均衡方法。
本发明的目的通过下述技术方案实现:
一种生活垃圾塑料瓶分类中的数据均衡方法,该数据均衡方法主要包括如下具体步骤:
步骤s1:采集、整理并分类数据集。
具体的,所述步骤s1对数据预处理的过程中需要设定好具体且明晰的分类规则,不可模糊分类界限;若一张图像中出现多个塑料瓶,首先需对图像分割,切分成只含有一个塑料瓶的样本图。
步骤s2:设计编码器,包括下采样和残差块,得到编码后的特征图。
具体的,所述步骤s2的编码器输出特征图的不同通道组合了图像的不同特征,根据这些特征将图像的特征向量即编码从源域转换到目标域。
步骤s3:设计注意力模块,包括全连接层和辅助分类器。
具体的,所述步骤s3的注意力模块用于指导图像生成模型并把注意力集中在一些重要区域,注意力模块中的辅助分类器获得注意力图,并区分源域和目标域,使系统在生成时能够针对性地对特定区域转换。
步骤s4:设计解码器,包括自适应残差块和上采样。
具体的,所述步骤s4中,注意力模块的输出作为归一化模块的输入,经过残差块和上采样得到转换后的生成图像;自适应归一化模块联合注意力模块,引导模型借助训练学到的超参数值,灵活控制图像形状与纹理的变化量。
步骤s5:设计判别器,判别器和生成器具有类似结构。
具体的,所述步骤s5中,判别器将解码结果转换为判别输出,由全局判别器和局部判别器构成,全局判别器相较于局部判别器,对输入图像进行了更深层次的特征压缩。
步骤s6:设计损失函数。
具体的,所述步骤s6中,损失函数由四部分组成,训练两对生成器—判别器网络,将图形从一个领域转换到另一个领域,转换过程要求满足循环一致性。
步骤s7:准备训练集用于模型训练。
具体的,所述步骤s7中,训练时,无需成对数据集条件,两个镜像对称的对抗生成网络gan,构成一个环形网络;由一个a域到b域的单向gan和一个b域到a域的单向gan构成,两个gan共享两个生成器,各自带有一个判别器。
步骤s8:将得到的权重文件用于测试集,合成需要扩增的类别样本。
具体的,所述步骤s8中,在生成器损失与判别器损失值趋向于平衡的稳定状态时停止训练,分析损失值的变化情况,挑选最优迭代次数下的权重文件用于测试,得到逼真的合成图像。
本发明的工作过程和原理是:
与现有技术相比,本发明还具有以下优点:
(1)本发明所提供的生活垃圾塑料瓶分类中的数据均衡方法具有鲁棒性强、合成效果优越的优点。
(2)本发明所提供的生活垃圾塑料瓶分类中的数据均衡方法基于注意力机制,能够有针对性地生成关键区域的图像,妥善处理区域之间的几何变化,且在一定程度上灵活控制合成图像形状与纹理的生成效果。
附图说明
图1是本发明所提供的生活垃圾塑料瓶分类中的数据均衡方法的流程示意图。
图2是本发明数据均衡法的图像生成网络的注意力模块结构图;
图3是本发明数据均衡法的图像生成网络的自适应图层实例归一化残差块结构图;
图4是本发明数据均衡法的图像生成网络的归一化模块结构图;
图5是本发明数据均衡法的图像生成网络的合成结果(源域是透明塑料瓶,目标域是绿色塑料瓶);
图6是本发明数据均衡法的图像生成网络的合成结果(源域是透明塑料瓶,目标域是蓝色塑料瓶)。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明作进一步说明。
以下就本发明的技术术语进行解释与说明:
全局最大池化:最大池化保留纹理特征,池化的作用体现在降采样,保留显著特征、降低特征维度以及增大kernel的感受野。网络越往后越能捕捉到物体的语义信息,这种语义信息是建立在较大感受野基础上的。最大池化要满足梯度之和不变的原则,全局最大池化的前向传播把整个特征图中的最大值传递给后一层,其他像素的值直接舍弃。反向传播把梯度直接传给前一层某一个像素,其他像素不接受梯度,即为0。所以全局最大池化和全局平均池化不同点在于记录的是池化时的最大像素值。
全局平均池化:平均池化保留整体的数据特征,对每一张特征图计算所有像素点的均值,输出一个数据值,若batchsize个特征图就输出batchsize个数据点,这些数据点组成一个1*batchsize向量,即一个特征向量,送入到softmax层等进行分类。全连接层参数多,训练慢,易过拟合,用全局平均池化代替全连接层,直接剔除全连接层中的黑箱特征,直接赋予每个通道实际的类别意义,对整个网络在结构上正则化,防止过拟合。
上采样:即扩大特征图,上采样有多种方法,比如常用的双线性插值,把特征图根据上采样率插值出更大的特征图,特征图间的上采样相互独立,所以通道数不变。
下采样:即缩小特征图,卷积过程中的下采样层是为了缩小图像后提取特征,而池化下采样是为了降低图像维度。
实例归一化:将归一化作用于具体的某个图像实例,在h和w维度进行归一化。
层归一化:层归一化不对mini-batch中的所有特征计算均值和方差,而是沿着batch维度对c、h、w三个维度归一化,克服batchnormalization对于batchsize大小敏感的缺点。
全连接层:全连接层在整个卷积神经网络中起到“分类器”的作用。卷积层、池化层和激活函数层等是将原始数据映射到隐层特征空间,全连接层是将学到的“分布式特征表示”映射到样本标记空间。一般在全连接后会有激活函数做分类,若激活函数是多分类的softmax,全连接层将最后一层卷积得到的特征图延展成向量,对向量做乘法,最终降低其维度,然后输入到softmax层中得到每个类别的得分。
1*1卷积:实现不同通道同一位置的信息融合以及通道数的降维或升维,可以用较低运算成本通过改变通道维度为网络增加复杂度,加入非线性提高网络的表达能力。
辅助分类器:由于网络较深,梯度传到前面几层时可能就消失了,所以定义辅助分类器。辅助分类器将中间某一层的输出用作分类,并按一个较小的权重加到最终分类结果中,这样相当于做了模型融合,同时给网络增加了反向传播的梯度信号,也提供了额外的正则化,对于整个网络的训练很有裨益。
实施例1:
如图1至图6所示,本实施例公开了一种基于对抗生成网络的垃圾物品分类中的数据均衡方法,该方法包括如下步骤:
步骤1)采集垃圾塑料瓶的图像数据集,整理数据集,按照颜色分类。
步骤2)设计用于图像类均衡法的生成对抗网络模型。设想的方法是无监督图像到图像的翻译,旨在设计一个基于生成对抗网络,并且结合注意力模块与归一化模块的网络结构。
步骤3)模型分为生成器和判别器。首先进行生成器模块的设计。生成器包括编码器、注意力模块和解码器(包括了自适应图层实例归一化模块)。
步骤4)编码器的设计。输入图像首先经过一个下采样模块,然后经过一个残差块,增强图像特征的提取,最后得到编码后的特征图(batchsize,h,w)。
步骤5)生成器中包含了一个注意力模块。接着是注意力模块的设计。
步骤6)输入图像经过下采样和残差块得到编码特征图,经过全局平均池化和全局最大池化,得到与通道数对应的特征向量。得到超参数权重值,权重值的大小代表通道对应特征的重要程度,经过全连接层压缩到batchsize*1维。
步骤7)把注意力模块得到的输出作为归一化模块的输入,经过多层感知机得到两个超参数值。再经过残差块和上采样就可以得到转换后的生成图像。
步骤8)接着是判别器模块的设计。判别器模块的结构大致与生成器结构类似。
步骤9)判别器的结构由一个全局判别器和局部判别器组成。
步骤10)将全局判别器和局部判别器的输出结果进行连接。
步骤11)设计损失函数。损失函数由四部分组成:对抗损失、循环损失、身份损失、cam损失。
步骤12)将样本数目最多的透明塑料瓶放入到训练集a,将需要进行扩增的样本(例如紫色塑料瓶)放入到训练集b。
步骤13)设置好学习率、迭代次数等参数以及保存权重文件的路径后,开始训练。
步骤14)训练过程中,随着迭代次数的增加,生成器损失和判别器损失值趋向于平衡状态。
步骤15)准备测试集,测试的目的是为得到由透明塑料瓶转换而来的紫色塑料瓶图像。
步骤16)最后得到逼真的生成结果。按照相同的步骤得到合成的黄色、红色、黑色、棕色等类别的塑料瓶。
步骤2)中构建网络模型需要借鉴gan结构的原因是:图像翻译是gan的主要应用场景之一,图像修复、图像风格转化都是属于图像到图像转化的范畴。
gan虽具有很多优势,但是图像翻译仍是具挑战性的工作。因为大多数的实现仍局限在局部纹理的转换。若是应用在图像差异明显的情况,gan的效果则不够理想。为了能生成更加真实的少样本类别的塑料瓶数据,需要设计一个具有强鲁棒性的图像转化模型。
步骤5)中注意力模块的作用是指导图像生成模型把注意力集中在一些重要区域,为了让系统在生成时更具针对性地对特定区域转换,注意力模块中的辅助分类器获得注意力图,区分源域和目标域,期望源域与目标域尽可能分开,重要区域是模型需知道的待密集转化的位置,是一张图像的真假最重要的辨别区域,生成器可以对此区域具有针对性地生成。
以前的一些基于注意力的方法无法妥善处理域之间的几何变化,本发明的注意力模块在一定程度上缓解了这个问题。其与传统注意力模块的区别之一在于:并不再仅仅关注计算图的权重值。
步骤7)中自适应图层实例归一化模块可以与注意力模块相结合,引导模型利用训练所学习到的超参数,从而灵活控制图像形状与纹理的变化量。这步操作增强了模型的鲁棒性。
自适应归一化模块是实例归一化和层归一化的结合。在生成器中的编码器部分采用实例归一化,生成器的解码器部分采用层归一化。
步骤8)中判别器的作用相对于生成器,就是将解码过程转换为判别输出。由于在判别器中不需要做源域和目标域的分类,所以在判别器中未加入注意力模块。
步骤9)中全局判别器相较于局部判别器,对输入图像进行了更深层次的特征压缩,感受野是作用在全局的,超过了图像的原本尺寸。而局部判别器的感受野是不及图像尺寸大小的。
步骤14)中在训练时不需要成对的数据集,两个镜像对称的gan,构成了一个环形网络。由一个a域到b域的单向gan和一个b域到a域的单向gan组成,两个gan共享两个生成器,各自带有一个判别器,所以加起来共有两个生成器和两个判别器。
本发明所提供的一种生活垃圾塑料瓶分类中的数据均衡方法,其具有鲁棒性强、合成效果优越的优点,具有广泛的市场应用前景。
实施例2:
结合图1至图6,本实施例公开了一种生活垃圾塑料瓶分类中的数据均衡方法,包括如下具体实施步骤:
步骤1)采集垃圾塑料瓶的图像数据集,并对数据集进行整理,按照颜色分成多个文件夹。
步骤2)设计用于图像类均衡法的生成对抗网络模型。设想的方法是无监督图像到图像的翻译,基于生成对抗网络,旨在设计一个端到端(从一个分布向另一个分布转化)方式,并且结合注意力模块与归一化模块的网络结构。
步骤3)模型分为生成器和判别器。首先进行生成器模块的设计。生成器包括编码器、辅助分类器和解码器。
步骤4)编码器的设计。输入图像首先经过一个下采样模块,然后经过一个残差块,增强图像特征的提取,最后得到编码后的特征图(batchsize,h,w)。
步骤5)生成器中包含了一个注意力模块。接着是注意力模块的设计。
步骤6)编码器输出的特征图分为两路,对一路特征图全局最大池化得到(batchsize,1,1)输出,经过全连接层得到一个节点的预测logits,将这个全连接层的参数即batchsize个权重值与编码特征图对应位相乘,给编码特征图的每一个通道,赋予一个权重,得到最大池化下有注意力的特征图。权重值的大小代表了通道对应的特征的重要程度。对另一路特征图全局平均池化,然后同样的操作得到全局平均池化下有注意力的特征图。
步骤7)将得到的两个注意力特征图相连接,得到batchsize*2维通道的h*w特征图。同样将得到的新特征图也分成两路,一路经过1*1卷积层,将通道变成batchsize维送入到解码器。另一路经过全连接层,得到batchsize维通道的两个超参数值,作为自适应归一化模块的参数。
步骤8)将batchsize*2维特征向量送到辅助分类器中进行分类,这个分类过程是一个无监督学习过程,将源域与目标域进行分类判断,帮助模型知道在哪个位置进行集中转换。
步骤9)生成器中还包括一个自适应归一化模块,将通道数还原为输入通道数,送入到归一化模块进行自适应归一化。
步骤10)把注意力模块得到的输出作为归一化模块的输入,经过多层感知机得到两个超参数值。再经过下残差块和上采样(解码阶段)就可以得到转换后的生成图像。
步骤11)接着是判别器模块的设计。判别器模块的结构大致与生成器结构类似。
步骤12)判别器的结构由一个全局判别器和局部判别器组成。
步骤13)将全局判别器和局部判别器的输出结果进行连接。
步骤14)设计损失函数。损失函数由四部分组成:一是对抗损失;二是循环损失,为了避免生成器和判别器找到某种平衡后,相互和解,停滞不前,要保证为目标领域生成的图像还要能回到源领域中被认识,所以给生成器添加一个循环一致性的约束条件。三是身份损失,为了保证输入图像和输出图像的色彩分布类似,给生成器添加身份一致性约束条件。即是为保证若从目标领域挑选一张图像,给它做一个从源领域到目标领域的翻译,它理论上不应该发生任何变化;四是cam损失,给一张激活图,生成器要能知道需要提升哪个位置,即是说生成器需要知道在源域和目标域之间,当前最大区别位于哪个位置。
步骤15)将样本数目最多的透明塑料瓶放入到训练集a,将需要进行扩增的样本(例如紫色塑料瓶)放入到训练集b,在训练之前,先将原来的紫色塑料瓶复制到具有和训练集a一样的数据量。
步骤16)设置好学习率、迭代次数等参数以及保存权重文件的路径后,开始训练。
步骤17)训练过程中,随着迭代次数的增加,生成器损失和判别器损失值趋向于平衡状态。
步骤18)将所有透明塑料瓶放入到测试集a,在测试集b中任意放置几张紫色塑料瓶图像。测试的目的是为得到由透明塑料瓶转换而来的紫色塑料瓶图像。
步骤19)最后得到逼真的生成结果。按照相同的步骤得到合成的紫色、红色、绿色等类别的塑料瓶。
步骤4)中由编码器输出图像的不同通道组合了图像的不同特征,根据这些特征将图像的特征向量即编码从源域转换到目标域。
步骤9)中实例归一化比层归一化更容易保持原图像的语义信息,但是风格转换不彻底。层归一化风格转换更彻底,但是考虑的是全局统计信息,语义信息保存不足。自适应归一化模块可以控制实例归一化和层归一化的比例,达到两种归一化综合的最好效果,通过注意力引导模型在不修改模型架构和超参数的情况下灵活控制形状和纹理的变化量。
步骤14)中生成器和判别器是一起训练的。训练两对生成器—判别器网络,将图形从一个领域转换到另一个领域。这个转换过程中要求满足循环一致性,即在序列地应用生成器后,应该得到一个相似于原始l1损失的图像。所以需要循环损失函数,它确保生成器不会将一个领域的图像转换到另一个和原始图像完全不相关的领域。使用两个循环损失函数,确保转换后的风格在反转换后还可以回到处理之前的状态。
步骤19)中以透明塑料瓶合成绿色塑料瓶举例,源域是透明塑料瓶,目标域是绿色塑料瓶,最后测试完成的合成结果中第一行是原图即源域的真透明塑料瓶,第二行是合成的源域透明塑料瓶的热力图,第三行是生成的假透明塑料瓶,第四行是合成的绿色塑料瓶的热力图,第五行是合成的假绿色塑料瓶,第六行是由源域到目标域再到源域的合成热力图,第七行是由源域到目标域再到源域的合成图像。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。