基于改进残差网络的热轧带钢表面缺陷研究

2022-08-22 15:37袁思邈孙福振
计算机仿真 2022年7期
关键词:残差梯度卷积

袁思邈,方 春,孙福振

(山东理工大学计算机科学与技术学院,山东 淄博 255049)

1 引言

热轧带钢[1-2]是指通过热轧方式生产的带材和板材。它不仅可以应用于医疗器械、化工、船舶、航天等工业领域,还可以作为冷钢的坯料。由于其应用领域的特殊性,对于热轧带钢的表面质量通常非常严格,因为热轧带钢应用于工业领域时常作为外围构件直接使用,而表面缺陷的热轧带钢不仅仅影响制板的外观[3],还容易成为腐蚀与破裂的策源地。

传统的热轧带钢的缺陷分类方式多为人工识别[4],通常由有经验的工人通过判断带钢的纹理特征从而进行分类。该方法主观性强且分类成本较高,已不适用于当下大规模机械流水化作业的环境。

随着计算机视觉领域近年来的飞速发展,已经开始广泛的应用于工业界的各类缺陷问题检测分类[5-6]。而卷积神经网络(CNN)更是跃居图像分类问题的主流地位,更多的研究者开始将深度学习与缺陷检测问题结合处理。

周颖等人[7]通过改进损失函数、引入平衡因子、输出层结合随机森林分类器等等方式来改进CNN模型,提高网络模型准确率与泛化能力,满足了工业过程中对于太阳能电池板的表面缺陷检测的基本需求。陶显等人[8]对近年来深度学习与表面缺陷检测问题的结合方法进行了梳理,总结了每种方法的使用场景与优劣性。Zhang等人[9]为了应对焊缝缺陷难以检测的问题,构建了一个11层的CNN分类模型,用于焊缝缺陷的识别,并引入了图像增强和注意力机制来提高模型的鲁棒性。Fusaomo Nenta等人[10]用DCNN的特征向量作为SVM的输入搭建了一种深度模型,在大量数据的训练下对于树脂膜制品的表面缺陷分类问题得到了良好的分类效果。综上可知,通过深度学习的方式在表面缺陷检测与分类问题上能够取得不错的效果。

上述研究往往都是通过改变卷积网络基本结构与调整参数来进行缺陷分类。一旦当对于分类准确度有更高的要求时,如想要通过叠加卷积层数来提高模型分类精确度就通常会出现梯度消失与梯度爆炸等问题,并且通常单纯依靠层数堆叠对于模型精度提高效果并不理想,甚至有时会出现负优化现象。由此,本文提出了一种基于改进残差网络结构的模型,通过改进残差块结构与引入swish激活函数,使得该模型能够在满足深层卷积的同时提升模型精度与鲁棒性,并加快收敛速度。

2 改进残差网络模型

2.1 残差网络

为了解决深层神经网络难以训练的问题,2015年由He K,Zhang X等人提出了一种全新的深度神经网络框架:残差网络[11-13](Residual Neural Network,Resnet)。残差网络通过在浅层网络和深层网络之间添加映射(Identity Mapping),使得深层网络能够直接从浅层网络获得特征,从而解决了网络退化的问题。残差网络由残差块构成,分为直接映射残差块与恒等映射残差块。每个残差块可表示为

xl+1=f[h(xl)+F(xl,Wl)]

(1)

xl+1=f[xl+F(xl,Wl)]

(2)

通过迭代式(2)可知对于更深的L层与浅层l的关系课表能可表示为

(3)

由式(3)可知,对于残差网络中的某一层L,均可由任意比它浅层的l与它们之间的残差部分之和表示。残差块的基本结构如图1所示。

图1 残差块结构

根据反向传播的链式法则,有

(4)

2.2 引入swish激活函数

激活函数神经网络种常用于添加非线性因素,由于反向传播的计算机制,容易导致常见的一些激活函数(如sigmoid)出现饱和现象,从而导致神经网络性能下降,出现梯度消失等问题。

传统残差网络使用的ReLu作为激活函数,虽然在梯度反向传播时有效的解决了梯度弥散现象,但由于其自变量的非负性导致依然存在硬饱和性。一旦自变量x<0,则会出现神经元梯度归0而导致的神经元死亡现象。研究表明激活函数swish相较于ReLu可以有效的提升神经网络精度[14],且由于其输入值的可负性与函数的非单调性,意味着swish在非负半轴也不具备硬饱和现象。swish函数表达式如式(5)所示,其中sigmoid(x)=1/(1+exp(-x))

f(x)=x*sigmoid(x)

(5)

令σ(x)=sigmoid(x),则swish函数的一阶导数为

f′(x)=σ(x)+x·σ(x)(1-σ(x))

=f(x)+σ(x)(1-f(x))

(6)

Swish原函数与导数图像如图2所示。

图2 swish函数示意图

由图可知,与传统残差网络中的ReLu相比,swish同样具有无上限,有下限的特点,因而不会带来梯度消失等问题;不同的是swish原函数及其导数均具有平滑的特点,且其函数在定义域内有非单调特性。这使得swish作为激活函数可以在提高残差块中的参数利用率、避免函数在负半轴的饱和的同时能够提升残差模型的整体精度。

本文将残差网络中的ReLu激活函数替换为swish,变更后的残差块结构如图3所示。

图3 swish型改进残差块

2.3 改进残差快结构

对于传统残差网络而言,其残差块中主路径的结构通常为权重层与激活层交替,之后与捷径输出相接将所得结果再进行非线性激活操作后得到输出。

根据He K等人的研究,对于残差网络中残差块捷径采取直接映射的方式效果最佳,且提前批量归一化可提升残差网络性能[15]。由此,区别于传统残块块结构,提出一种改进残差块结构,简称为Y-ResNet。Y-ResNet型残差块在捷径直接映射与引入swish激活函数前提下,将主路径上的批量归一化与非线性激活操作提前至卷积操作之前。与此同时将原本位于路径交汇点,即xl+F(xl,Wl)之后的激活操作提前到主路径中并前置于最后一个卷积层之前。这样做的目的是可以使卷积层可以充分利用批量归一化处理后的数据,并且可以使最后一层的非线性激活函数直接接收处理批量归一化的结果,提高卷积效果,从而使得残差网络的整体性能得到提升。传统残差快与Y-ResNet型残差块结构如图4所示。

图4 传统残差块(左)与Y-ResNet型改进残差块(右)

3 实验及结果分析

3.1 实验数据

本实验数据集来自于东北大学(NEU)的表面缺陷数据库,共包含了六种典型的热轧带钢表面缺陷类型,分别为:氧化皮(Rs)、斑块(Pa)、裂纹(Cr)、凹坑表面(Ps)、内含物(In)和划痕(Sc)[16]。其中六种不同的典型表面缺陷特征各自有300个灰度图像样本,分辨率为200*200像素。原始样本总量共计1800个。图像具有不同类之间存在较大差异、类内相似的特点。热轧带钢表面缺陷原始图像示例如图5所示。

图5 热轧带钢的六种表面缺陷

图像增强[17-18]是一种能有效的增加噪声数据和数据量的方法,可以明显提升神经网络模型的泛化能力与鲁棒性。为了更好的适应残差网络模型,将原始图像的尺寸调整为224*224,然后通过图像增强技术来进行数据扩充。考虑到尽可能保留热轧带钢的表面缺陷特征与空间信息特征,本文采取随机平移、旋转,局部随机缩放3种增强方式来扩充数据。图像增强效果如图6所示。其中(a)为原始图像,(b)~(e)为增强图像。

图6 图像增强

3.2 实验环境

本实验使用的硬软件环境如表1所示:

表1 实验环境

3.3 实验过程及分析

3.3.1 基于ResNet18的改进残差网络性能对比

为了验证本文中改进残差块结构的性能,在ResNet18模型基础上分别设置四组对照试验:

A. 第一组实验保持原ResNet18模型不变,简称Res18;

B. 第二组实验将原ResNet模型中的激活函数Relu全部用swish替代,其它条件不变,简称Res18+swish;

C. 第三组实验将原ResNet模型残差块中的BN+Relu层前置于卷积层前,其它条件不变,简称ReLu+res18;

D. 第四组实验使用Y-ResNet改进残差模型,简称Y-ResNet18。

选用SGD梯度优化算法,学习率统一设置为0.001,momentum=0.9,epochs=300,batch_size=80。用模型总分类精度、损失与Kappa系数作为模型评价标准。为了避免随机变量的影响,共进行了十次实验,模型精度、损失与Kappa系数均采用十次实验结果的中位数。实验训练过程中的精确度与损失率变化分别如图7、图8所示,四组实验间的详细数据对比如表2所示。

表2 ResNet18的四组实验结果对比

图7 基于ResNet18的改进模型的分类准确率曲线

图8 基于ResNet18的改进模型的损失函数曲线

实验结果显示,前置BN+ReLu层与引入swish激活函数均可以提升模型性能。其中,相对于原始ResNet18网络,ReLu+res18残差模型可以使模型精确度提高0.46%,Res18+swish残差模型可以提升精度约1.3%,并且该方法可以有效提升模型的收敛速度与鲁棒性。而本文提出的Y-ResNet18模型相对传统残差模型可将精度提升约1.5%。相较于Res18+swish残差模型,Y-ResNet模型在兼备swish函数带来的快速收敛与较高的鲁棒性的同时可以略微提升模型精确度约0.2%。通过混淆矩阵求得本文方法具有更高的Kappa系数,混淆矩阵如图9所示。由此可知,本文提出的Y-ResNet残差模型可有效提升残差网络的性能。

图9 Y-ResNet18模型混淆矩阵

2.3.2 不同卷积神经网络模型性能对比

为能够更科学的验证本文提出的改进残差网络算法的性能,分别与迁移学习方法下的InceptionV3、VGG16、ResNet50三种模型进行了对比。为了避免不同模型中全连接层参数不相同的影响,在所有上述迁移模型的冻结层后统一使用与ResNet18模型中相同的全局平均池化层(GlobalAveragePooling2D),且全连接层参数均相同,迭代次数统一设置为300次,具体实验结果如表3所示。

表3 不同卷积模型性能对比

由表3可知,在相同条件下,Y-ResNet18与ResNet50模型性能效果明显优于VGG16与InceptionV3.其中Y-ResNet18型残差网络在未增加深度的前提下精确度上较传统ResNet50高出约0.89%的同时具有更高的Kappa值。说明Y-ResNet18型改进残差网络在对于热轧带钢的表面缺陷分类问题上相较于其它经典卷积模型具有更好的效果。

4 结论

相比较于传统的残差神经网络,本文通过引入swish激活函数并前置残差块中BN层和线性激活层的方法搭建了一种改进的残差网络模型Y-ResNet。实验结果证明,残差网络的捷径机制能够有效地避免深层网络训练时的梯度弥散等问题,且Y-ResNet型残差模型应用于ResNet18时可以在热轧带钢的表面缺陷分类问题上得到更优的精确度且提升效果较为明显。在后续的研究中,可继续在不同的残差网络模型(如ResNet50、ResNet101)上继续探究改进型残差块模型在不同深度的残差模型的性能的上的表现。

猜你喜欢
残差梯度卷积
基于全卷积神经网络的猪背膘厚快速准确测定
多级计分测验中基于残差统计量的被试拟合研究*
基于图像处理与卷积神经网络的零件识别
用于处理不努力作答的标准化残差系列方法和混合多层模型法的比较*
基于深度卷积网络与空洞卷积融合的人群计数
一个具梯度项的p-Laplace 方程弱解的存在性
内容、形式与表达——有梯度的语言教学策略研究
航磁梯度数据实测与计算对比研究
卷积神经网络概述
组合常见模型梯度设置问题