基于多尺度特征融合注意力机制的纸病分类方法研究

2021-08-12 08:17张开生
中国造纸 2021年4期
关键词:微分纸张注意力

张开生 宋 帆

(1.陕西科技大学电气与控制工程学院,陕西西安,710021;2.陕西科技大学电子信息与人工智能学院,陕西西安,710021)

在纸张生产过程中,机器突然偏离正确轨迹等意外情况在所难免,这会使生产的纸张产生折叠、孔洞、划痕等缺陷,不仅影响纸张质量,还会降低经济效益,给造纸企业造成一定损失。因此,对纸张的缺陷检测是造纸过程中不可或缺的环节。一直以来,这种缺陷检测以人工排查为主,其原因主要有2方面,一是人工成本低廉;二是以前的计算机技术还不成熟,纸张缺陷检测效果差[1]。随着社会的发展,人力成本越来越昂贵,加之计算机技术飞速发展,越来越多的造纸企业开始用机器代替人工[2],纸张缺陷检测的算法研究越来越多。袁浩等人[3]通过对纸病图像进行特征选择,再利用支持向量机对提取到的特征进行分类。但这种方法只对特定种类的纸张缺陷有较好效果,并不适用于所有纸病缺陷,且其检测效果受光照影响明显,泛化性差。为了改善这个问题,张学兰等人[4]提出了Prewitt算子检测孔洞、脏点和褶皱。陈珺等人[5]在背景与目标缺陷对比不明显的情况下,提出了一种将边缘检测和小波融合结合起来的方法,此方法定位准确且有一定的抗噪性;但由于算法本身过于复杂,计算成本高,无法满足现实造纸工厂检测的实时性要求。殷燕屏等人[6]根据不同纸张缺陷图像的灰度特征,利用动态双阈值分割纸张缺陷区域,提取缺陷特征并进行识别分类;然而此方法需要对不同的纸张缺陷设置不同的阈值,导致参数设置困难。为了降低参数设置的复杂度,段茵等人[7]采用BP神经网络进行纸张缺陷检测的识别与研究;首先将图像进行中值滤波,然后用全局Otsu算法根据阈值将图像分为目标和背景2个部分,对缺陷纸张进行形态学处理后,输入BP神经网络进行缺陷分类。李光明等人[8]先利用Canny算子、Sobel算子等对纸病进行梯度图像增强,然后用MSMG进行多尺度图像增强,最后将增强后的图像放进卷积神经网络进行缺陷分类。针对传统纸病识别方法只对某些种类纸病分类效果好、特征计算复杂、实时性差等问题,本课题提出一种多尺度特征融合注意力机制的纸病分类方法,通过融合多种图像增强方式进行多尺度特征提取,以应对不同的纸病缺陷,将这些特征输入到带有注意力机制的卷积神经网络,让网络更加关注纸张缺陷部分,从而达到更好的分类效果。

1 多尺度特征融合注意力机制的纸病分类方法

本课题采用的多尺度特征融合注意力机制的纸病分类方法如图1所示。将待检测的缺陷图片进行亮度增强、锐化滤波与对比度增强、Sobel边缘检测等图像增强算法后,分别输入到3个共享权重的Resnet进行浅层特征提取得到局部特征;随后将3个特征图进行concate融合得到全局特征。此时融合得到的特征图包含待检测缺陷图片的直线信息、边缘信息等多尺度信息。最后将包含多尺度信息的全局特征图输入带有attention机制的Resnet,让网络更多关注能区别缺陷类别的特征,从而更好地进行分类。

图1 多尺度特征融合结合注意力机制方法Fig.1 Multi-scale feature fusion combined with attention mechanism method

1.1 亮度增强

亮度增强就是改变图像的亮度和对比度,实际是对图像的每个像素点进行相应操作。具体过程可由式(1)表示。

式中,g(i,j)及f(i,j)代表图像在(i,j)这个点亮度增强前后的像素值;参数α代表使图像像素增长或降低的倍率,该参数必须大于0;参数β代表向白色或黑色靠近的程度,该值可正可负。

该算法对纸张中的污点、边裂、孔洞响应特别强烈,具体效果如图2~图4所示,其中左图为原图,右图为亮度增强后的图像。

图2 污点图像亮度增强前后的效果示意图Fig.2 Effect of enhanced brightness of stain image

图3 边裂图像亮度增强前后的效果示意图Fig.3 Schematic diagram of the effect of edge crack image before and after brightness enhancement

图4 孔洞图像亮度增强前后的效果示意图Fig.4 Schematic diagram of the effect of hole image before and after brightness enhancement

1.2 锐化滤波

锐化空间滤波器主要用来增强图像的突变信息,图像细节信息和边缘信息。使用邻域的微分作为算子,增大邻域间像素的差值,使图像的突变部分变得更加明显。从图像灰度的一阶微分和二阶微分的性质可知,在灰度值变化的地方,一阶微分和二阶微分的值均不为0,在灰度恒定的地方,微分值均为0。因此,使用一阶微分和二阶微分都可以得到图像灰度的变化值。本课题中使用二阶算子,纸病图片可以看作二维离散函数,对于二阶微分的x方向和y方向如式(2)和式(3)所示。

二阶微分在斜坡处的值为0,但在斜坡两端值不为0,且符号不同,这样二阶微分得到的是由0分开的1个像素宽的双边缘。也就是说,与一阶微分相比,二阶微分在增强图像细节方面更好,且计算更方便。

二阶微分算子的代表为拉普拉斯算子(▽),定义如式(4)~式(6)所示。

该算法对纸张中的折痕、划痕等直线部分响应特别强烈,具体效果如图5和图6所示,其中左图为原图,右图为锐化后的图像。

图5 折痕图像锐化滤波前后的效果示意图Fig.5 Effect of crease image sharpening and filtering

图6 划痕图像锐化滤波前后的效果示意图Fig.6 Schematic diagram of the effect of scratch image sharpening and filtering

1.3 Sobel边缘检测

Sobel算子包含2组3×3的矩阵,分别为横向及纵向,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。A代表原始图像,Gx及Gy分别代表经横向及纵向边缘检测的图像灰度值,如式(7)和式(8)所示。

图像的每个像素的横向及纵向灰度值通过式(9)计算,以计算该点灰度的大小。

如果梯度G大于某一阀值,则认为点(x,y)为边缘点,可通过式(10)计算梯度方向(Θ)。

Sobel算子根据像素点上下、左右邻点灰度加权差在边缘处达到极值这一现象检测边缘;同时,对噪声具有平滑作用,可提供较为精确的边缘方向信息。该算法几乎对所有纸病响应都特别强烈,具体效果如图7和图8所示,其中左图为原图,右图为锐化后的图像。

图7 白点图像经Sobel边缘检测前后的效果示意图Fig.7 Effect of Sobel edge detection on white point image

图8 折痕图像经Sobel边缘检测前后的效果示意图Fig.8 Effect diagram of crease image before and after Sobel edge detection

1.4 Resnet特征提取器与分类器

Resnet是由He等人[9]提出的一种基于CNN的特征提取框架,主要解决了深度神经网络的“退化”问题。

1.4.1 批量归一化

神经网络学习过程的本质一方面是为了学习数据分布,如果训练数据与测试数据的分布不同,则网络的泛化能力会大大降低;另一方面,如果每批训练数据的分布各不相同,则每次迭代都需学习适应不同的分布,会大大降低网络的训练速度,因此需要对数据做归一化预处理。

首先计算每个批次的均值(μB)与方差(σB),计算公式如式(11)和式(12)所示。

然后根据上面计算得到的结果进行正则化,如式(13)所示。

为了让学习到的特征分布不被破坏,需对其进行变换重构,如式(14)所示。

其中,γ、β是可学习参数。

1.4.2 池化层

由于Resnet使网络加入了更多的单元,导致整个网络隐藏层参数增多,训练时易造成过拟合的状况。为了减少参数的复杂度,采用最大池化,使其不再严格要求相邻块聚合到1个上层块,第l+1层的特征图如式(15)所示。

图9为未经池化的网络结构,图10为经过池化后的网络结构。如图9和图10所示,2者对比可以直观看出池化层对于降低特征分辨率的作用。

图10 经过池化后的网络结构Fig.10 Network structure after pooling

1.4.3 注意力机制

卷积注意力模块(CBAM)是Woo等人[10]提出的一种用于前馈卷积神经网络的注意力模块。给定1个中间特征图,CBAM会沿着2个独立的维度(通道和空间)依次推断注意力图,然后将注意力图与输入特征图相乘以进行自适应特征优化。

通道注意力模块将特征图在空间维度上进行压缩,得到1个一维矢量后再进行操作。在空间维度上进行压缩时,不仅考虑了平均值池化还考虑了最大值池化,如式(16)所示。

空间注意力模块对通道进行压缩,在通道维度分别进行了平均值池化和最大值池化,接着将前面提取到的特征图(通道数都为1)合并得到1个2通道的特征图,如式(17)所示。

1.5 算法描述

本课题采用多尺度特征融合结合注意力机制的纸病分类方法,利用不同图像增强算法对不同纸张缺陷类型的响应程度不同,将这些特征拼接后输入至Resnet进行特征提取,然后利用融合注意力机制的Resnet模型将网络关注的重点集中到纸张缺陷区域,进而实现纸张缺陷分类。

多尺度特征融合结合注意力机制的纸病分类算法具体步骤如下。

(1)准备纸病图像数据,采用旋转、平移、拼接等操作进行数据扩充;

(2)将扩充后的数据随机划分为训练集合测试集;

(3)利用亮度增强、锐化滤波、Sobel边缘检测3种算法分别对训练集图像进行处理,得到3张增强后的图像;

(4)将这3张图像分别送入3个共享参数的Resnet中进行特征提取得到局部特征;

(5)将步骤4得到的3个局部特征图进行拼接融合得到全局特征图;

(6)将全局特征图送入融合CBAM的Resnet中进行分类;

(7)重复步骤4~6直至网络收敛;

(8)将测试数据进行数据增强后,送至训练好的网络进行分类,得到测试集数据对应的预测标签;

(9)将测试集的预测标签与实际标签对比,计算纸病识别分类正确率。

算法流程图如图11所示。

图11 算法流程图Fig.11 Flow chart of the algorithm

2 实验与分析

2.1 实验条件

实验硬件环境如下:64位Microsoft Windows 10操作系统,Intel(R)Core(TM)CPU i5-4590 CPU@3.3 GHz四核处理器,8G运行内存,GPU采用GTX 1080Ti。实验软件环境:IDE为Pycharm,深度学习框架为开源的Pytorch。

2.2 实验数据准备

实验通过实际纸病图像分类,验证本课题算法的可行性。实验选择的各纸病类别及其数量如表1所示。

表1 实验选择的纸病类别及其数量Table 1 Types and quantity of paper defects selected in the experiment

首先对每个类别的数据进行逆时针旋转90°、180°、270°等操作以进行数据扩充,扩充后的图像总计2097个,每张图像的尺寸为116×116×3 dpi。随后按8∶2比例将总数据集随机划分成训练集和测试集。对比纸病类别标签与实际类别标签,对实验结果进行评价。

2.3 深度网络训练过程及结果

在对样本进行多次训练,不断调整参数后,最终设定训练集的batch size为32,测试集的batch size为64,优化器采用SDG,设置基础学习率base_lr为0.01,且每迭代50次衰减1次,衰减系数为0.1,设置权重衰减系数weight_decay为0.0001,训练的最大迭代次数max_iter为500,为了防止过拟合,设置Drop out为0.5。

训练后,模型在收敛过程中的训练集和测试集的acc变化如图12所示。在上述设置的参数下,模型在训练集的最终准确率为99.43%,在测试集的最终准确率为96.63%。由此可知,本课题所设计的算法在纸病样本上得到了较好的收敛。

图12 训练过程中测试集和验证集的准确率Fig.12 Accuracy of test set and verification set during training

2.4 不同方法结果对比

为了验证本课题提出方法的有效性,将不同方法应用在自建数据集上比较结果,如表2所示。

从表2可以看出,本课题提出的方法在损失较小实时性的同时,在纸病识别准确率上获得较大的提升,证明性能十分优异。

表2 不同方法实验结果对比Table 2 Comparison of experimental results of different methods

3 结论

针对不同纸病类别对不同数据增强算法响应差别较大的问题,本课题提出了一种多尺度特征融合结合注意力机制的纸病分类方法。该方法先利用亮度增强、锐化器、Sobel边缘检测的方法分别对纸病进行图像增强,不同纸病类别虽不能对每种图像增强方法都响应强烈,但会对其中至少1种或2种方法有较好响应。本方法将这些响应进行特征融合后送入带有注意力机制的卷积神经网络中,让其重点关注那些响应强烈的特征,以此进行分类。本分类算法在测试集上的分类准确率达到了96.63%,同时耗时少于一般传统方法,证明了本方法的优越性和实用性。

猜你喜欢
微分纸张注意力
薄如纸张的扬声器
让注意力“飞”回来
拟微分算子在Hp(ω)上的有界性
近期国内市场纸张价格(2020年3月)
上下解反向的脉冲微分包含解的存在性
撕纸张
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
借助微分探求连续函数的极值点
不用一张纸,NENDO就描述出了纸张形态的千变万化