APP下载

基于认知视觉的钢材表面缺陷识别方法与系统研究

2022-03-12李伯钊徐同明冯焕虎

制造业自动化 2022年2期
关键词:钢材准确率卷积

李伯钊,徐同明,周 力,冯焕虎

(浪潮通用软件有限公司,济南 250101)

0 引言

近年来,我国钢铁行业发展取得重大成就,今年是“十四五”开局之年,作为国民经济的中流砥柱,钢铁行业发展同时面临机遇和挑战,尤其是如何追求高质量的发展。在钢材生产过程中,由于工艺限制,钢材表面难免会出现诸如裂痕、掺杂和斑块等各类缺陷[1]。进行合理的质检措施可尽早识别钢材表面缺陷,及早返工返修,保证钢材总体强度、抗腐蚀性和冲击韧性等性能达标。传统质检措施工作量大,风险高,易出错,而与之相对的智能质检,主要通过机器视觉的方式进行。此过程降低了人力成本和劳动强度,全面优化了钢材表面质检效率。

因此,研究人员基于制造业场景的表面缺陷检测进行了大量研究[2],常用的方法有传统图像识别和机器学习两种方式。二者的共性都是使用机器视觉技术对图像进行采集,不同之处在于前者主要是使用微分,差分和滤波等算子进行一系列的数字图像处理,最终得到识别结果[3,4]。而后者主要洞察大量图像数据规律,通过机器学习训练模型,再调用模型进行识别。传统图像识别方法专注于特征提取,将算法成功应用于表面缺陷识别中,且取得了较大成效,但也面临着识别准确率,速度和抗干扰能力等不足的现状。随着人工智能的蓬勃发展,机器学习逐渐成为表面缺陷识别的主流方法。机器学习是人工智能领域的重要分支,围绕神经网络开展具体计算,而深度学习是以深度神经网络为代表的特征提取方法[5]。深度学习的迭代训练过程受模型结构和训练参数的影响,训练后将模型以权重知识的形式进行存储,完成后续识别任务。与传统机器学习相比,深度学习具备更高的学习表征能力。文献[6]建立了卷积神经网络模型,以进行带钢表面缺陷识别任务,并针对抑制模型过拟合展开研究;文献[7]在InceptionV3的基础上通过迁移学习,进行了热轧钢板表面缺陷识别工作,同时研究了训练批次对识别准确率的影响;文献[8]使用抗噪声的超球体支持向量机分类模型进行钢板表面缺陷识别,具备性能较高的效果;文献[9]针对轮胎缺陷识别工作,建立了一种新型深度卷积稀疏编码网络,采用无监督训练方式,降低了人工标注主观性,提高了识别准确率;文献[10]提出了一种改进的GoogLeNet算法,应用于锌渣识别场景中,并与其他深度神经网络模型进行了对比。以上文献的思路均将深度学习成功应用于制造业表面缺陷识别中,且达到了较高的识别准确率。

综合上述研究现状,本文将基于认知视觉和迁移学习,研究更为准确、高速的端到端钢材表面缺陷识别方法和视觉系统。首先建立钢材表面缺陷识别数据集,并进行一系列预处理措施,其次设计应用迁移学习的钢材表面缺陷识别方法,然后进行钢材表面缺陷识别实验与对比分析,最后设计云边端协同的钢材表面缺陷识别认知视觉系统,以验证本文的研究内容在钢材表面缺陷识别领域中的优势。

1 钢材表面缺陷数据集及预处理

钢材表面缺陷识别数据集的建立是精准识别的前提,本文采用东北大学的NEU surface defect database(以下简称NEU)数据集[11],整套数据集共有1800张图像,涵盖了六种缺陷类别,分别是裂纹(Crazing,Cr),掺杂(Inclusion,In),斑块(Paches,Pa),表面麻点(Pitted Surface,PS),压入氧化铁皮(Rolled-in Scale,RS)和划痕(Scratches,Sc),每种类别有300张图像,图像尺寸均为200×200像素,数据集样本示例如图1所示。本数据集的主要特点是不同类之间的缺陷特征存在相似性,即使是同类别,也有若干差异,因此,需在数据集预处理,深度神经网络模型建立和模型训练等环节进行优化改进,以提高识别效率和准确度。

图1 钢材表面缺陷数据集样本

当在小数据集图像上进行识别任务时,往往会出现过拟合的现象。即所训练模型有较大概率会使用不相关的特征来进行预测。一个模型能否实用,取决于其针对关键特征的学习能力。数据集增强策略等预处理措施对提升模型准确率,泛化能力,降低损失和抑制过拟合等方面具备一定的促进作用。本文采用了剪切强度为0.2的逆时针剪切变换,幅度为0.2的随机缩放,比例为0.2的水平和竖直偏移,随机水平翻转等数据集增强策略。这些数据集增强策略既可对数据集进行衍生扩充,又可弱化不相关的特征,为后续深度神经网络模型训练奠定基础。

2 钢材表面缺陷识别方法

2.1 深度神经网络及迁移学习

深度神经网络(Deep Neural Network,DNN)是多层人工神经网络的有机组合,至少具备一层隐藏神经网络[12]。与浅层次的神经网络相比,其抽象程度更高,特征提取过程无需人工干预,由底层到高层进行表示学习,并在计算机视觉,自然语言处理,缺陷检测和语音识别等深度学习领域具备重要意义。深度神经网络分类广泛,变体众多,而其中的卷积神经网络(Convolutional Neural Networks,CNN)较为典型,广泛应用于图像检测识别任务中[13],即使是在小数据集场合也具备较好的泛化能力,且无需过多的手工特征工程。其卷积过程运算式可简单表示为:

式(1)中,f为激活函数,Ry为特征映射区域,l为层数,vi-1x为前一层的输入,wlxy为卷积过程中的卷积核,x和y分别为卷积核的长度和宽度,bly为偏移量,vly为当前层的特征图输出向量。通常,CNN模型的建立过程遵循如下步骤[14]:1)卷积层(Convolutional Layer)初步提取图像特征。2)池化层(Pooling Layer)进一步提取图像关键特征。3)全连接层(Dense Layer)汇总卷积层和池化层提取到的所有特征。

4)输出分类器以进行识别任务。

虽然CNN可应用于图像识别任务,但是由于制造业领域数据集存在获取困难,特征不明显等自身特殊性,以及训练过程对计算能力需求大等因素,直接使用CNN进行钢材表面缺陷识别将具备一定难度。而迁移学习[15]正适宜解决此类问题,其本质是由参考领域向目标领域的学习表征,在预训练模型的基础之上,再次训练针对新识别场景的模型,训练过程相对较快,模型泛化能力好,尤其适用于目标数据量较小的识别任务,在制造业领域的应用具备实际意义。

2.2 深度神经网络模型建立及优化

常见的深度神经网络模型有AlexNet[16],VGGNet[17],InceptionNet[18]和ResNet[19]等,均可应用迁移学习进行训练。本文使用VGG16卷积神经网络进行优化建模,以完成钢材表面缺陷识别任务。VGG16在ImageNet大型数据集上进行了预训练,在此基础上进行迁移学习将具备较理想的识别效果。

VGG16的原生结构如图2所示,由13个卷积层,5个池化层和3个全连接层组成,图2将卷积层,池化层和全连接层的标号定为Conv,Pool和Dense。

图2共有六部分,前五部分是卷积层和池化层的组合,其中第一部分包括2个卷积层和1个池化层,第二部分包括2个卷积层和1个池化层,第三部分包括3个卷积层和1个池化层,第四部分包括3个卷积层和1个池化层,第五部分包括3个卷积层和1个池化层。最后一部分是3个全连接层外加Softmax输出。VGG16使用维度相同的卷积核进行特征提取,并组成深层次的,多参数的,拟合能力高的网络模型,以达到较好的图像识别效果。

图2 VGG16模型结构图

先前提到全连接层的主要作用是汇总特征,即将输出特征图映射成向量,其计算式如式(2)所示,示意图如图3(a)所示。

图3 全连接层与全局平均池化层对比

由于NEU数据集样本数目较小,为抑制过拟合,本文在全局平均池化处理和Softmax之间加入随机失活(Dropout)。未引入Dropout时的计算式为:

式(4)与式(3)相比,计算原理一致,但起始部分多了一个伯努利函数Bernoulli,作用于概率p,形成概率向量r(l)j,再与原始输入y(l)相乘,得到新输入,后续计算思路与式(3)相同。在不同的网络结构中,Dropout的作用机制也不同,对于VGG16模型,Dropout可将整个特征图的通道进行随机置零。

针对带Softmax的输出,本文选择交叉熵损失函数进行VGG16模型的评估,加快收敛速度,计算式如下:

其中,c为交叉熵损失,n为输出类别,x为输入样本,y为实际输出,a为模型预测输出。

深度神经网络模型训练的实质是采用优化方法得到最小的损失。因此,确定损失函数后,还要进行优化函数的选型。本文使用Adam优化方法,其与传统随机梯度下降法(Stochastic Gradient Descent,SGD)相比,学习率可自适应,优化过程更加灵活。Adam优化方法的运算式可表示为:

其中,u和v为动量因数,lr为学习率,grakt为梯度,mt为对梯度的一阶矩估计,nt为对梯度的二阶矩估计,和为对矩估计的校正,从而形成近似对期望的无偏估计量,再结合式(10)即可对学习率施加一个动态的范围Δθt。

采用Adam优化方法后,训练过程中学习率不再一成不变,而是在约束范围内动态可调的。特别是在迭代后期,过大的学习率易引发损失值振荡发散,此时应采取动态改变学习率的策略进行微调。本文使用余弦退火策略动态改变学习率,计算式如下:

图4 训练早停流程图

在图4中,持续监测验证集上的损失函数值,当连续N个迭代(epoch)未下降时,则停止训练并存储模型,否则将保持当前学习率继续训练。采用此种策略的好处是可及时获取较优模型,减少不必要的epoch,提升训练效率,避免随着epoch的增加而发生过拟合的现象。

3 钢材表面缺陷识别实验与分析

3.1 实验环境建立

为验证所建立深度神经网络模型的实际准确率和性能等,本文通过一系列迁移学习实验进行测试验证。实验在Centos7操作系统进行,基于Google的TensorFlow框架,使用Python语言编码,TensorFlow版本为2.0.0,Python版本为3.6.7。因VGG16参数较多,训练时间长,故使用NVIDIA 的RTX 2080Ti显卡加速训练过程。

3.2 初始实验结果及分析

本文将NEU数据集按照10:3:2的比例划分,即对于每种缺陷类别的300张图像而言,随机选取200张作为训练集,60张作为测试集,40张作为验证集。结合上文所建立VGG16模型进行初始实验,初始参数批尺寸设为32,epochs设为50,学习率设为10-5,Dropout系数设为0.5。由于数据集规模较小,而VGG16模型熵容量较大,直接训练全部网络易导致过拟合,故本文的实验采用冻结部分模型层级和微调的方式完成迁移学习,即在迁移学习的基础上进一步优化网络参数,训练新模型。本文所设计的VGG16模型共有19层,总参数为14717766,首先将冻结层数设为15,训练过程中的趋势如图5所示。

在图5 中,验证集上的损失值初始较高,在1.28~1.29之间,随着epoch的增加,损失快速下降,准确率也不断提升,在第8个epoch后趋势逐渐平稳,最终模型收敛于第19个epoch,验证集上的损失值在0.0933~0.0936之间,准确率为98.06%。

图5 训练过程中的趋势图

为进一步验证初始实验所训练模型对六类钢材表面缺陷的具体识别效果,本文将模型在验证集上的识别结果以混淆矩阵的形式表示,如表1所示。

表1 初始实验结果在NEU数据集上的混淆矩阵

由表1可以看出,裂纹(Cr),掺杂(In),压入氧化铁皮(RS)和划痕(Sc)达到了最佳识别效果,准确率为100%。相对而言,斑块(Pa)和表面麻点(PS)识别效果则不理想,也拉低了总体识别准确率。尤其是表面麻点(PS)受光照影响,类间差异较大,各有两张图像被误判为裂纹(Cr)和掺杂(In)。接下来将采用更丰富的数据集增强策略,并调节模型参数,进行对比实验。

3.3 对比实验结果及分析

为进一步验证冻结层数目对识别结果的影响,本文以初始实验为基础,除依次减少VGG16冻结层数目外,其余参数保持不变,依次将冻结层数目设为13,11,7和4,实验结果如表2所示,不同条件下的训练过程趋势对比如图6所示。

表2 冻结层数目改变后的实验结果

图6 不同条件下的训练过程趋势对比图

为使不同条件下的趋势对比更清晰直观,图6适当缩小了横纵坐标轴的范围。而表2给出了不同冻结层数目下的训练参数,训练参数占总参数的百分比,验证集上的损失值和验证集上的准确率。随着冻结层数目的减少,验证集准确率整体呈现先上升后下降的趋势。在冻结层数目为7的时候,模型识别效果为最优,验证集准确率为99.92%,再增加冻结层数目时,验证集准确率略有下降。在同样使用NEU数据集的同一前提下,文献[6]的识别准确率为99.5%,文献[7]的识别准确率为99.8%,文献[8]的识别准确率为98.52%。通过对比实验,可得出以上文献在NEU数据集上的识别准确率均属于较高的水平,本文所建立的VGG16模型在冻结部分层级后进行微调,也达到了较为理想的识别效果,且避免了训练全部网络参数,在一定程度上提高了训练效率。

4 钢材表面缺陷识别认知视觉系统

4.1 系统云边端协同架构设计

为增强所研究钢材表面缺陷识别方法的实用性,本文设计了钢材表面缺陷识别认知视觉系统,所设计系统基于云边端协同思路,云边端协同主要指云端,边缘端和现场终端协同工作,有机统一,精准闭环。系统云边端协同架构如图7所示。

图7 系统云边端协同架构设计

图7按照“云端管控-边缘智能-多端适配”的思路展现了系统云边端协同架构。云端实时性较低,主要实现管控类功能,包括模型训练,评估,管理和部署,对历史识别结果进行数据分析,以及封装诸如模型调用和数据订阅等对外服务;边缘端的主要任务是对现场图像进行预处理,调用模型完成缺陷识别,根据识别结果进行工序流转,实现智能调度,所调用模型可预先部署到边缘端,当识别结果置信度低于95%时,则将图像传至云端,调用部署在云端的模型进行二次识别,以提高识别准确率,而云端图像库因此不断丰富更新,进而定期训练新模型,以提高模型精度;现场终端以多种设备适配云端和边缘端的不同功能,如云端的数据分析结果可在现场大屏进行可视化呈现,质检人员可通过现场看板完成缺陷检测分析,而数控机床,可编程逻辑控制器(Programmable Logic Controller,PLC),人机界面(Human Machine Interface,HMI)和工业相机等设备组成了系统的视觉采集模块,主要负责拍摄待识别钢材表面图像。

4.2 系统视觉采集模块设计

系统视觉采集模块由PLC,HMI和工业相机等设备组成。PLC作为控制器,对数控机床进行运动控制,机床各轴通过伺服电机驱动。在机床工作台放置待检测钢材,主轴末端安装工业相机,将G指令下发到PLC,拍摄待识别钢材表面的各个部位图像。HMI可以对视觉采集模块进行总体控制,包括参数配置,各轴点动和机床示教等。

4.3 系统缺陷识别功能开发

本文在浪潮智能物联网平台(inIoT)中做了进一步技术验证。inIoT位于浪潮“云+边+端”智能制造总体架构的边缘端,涵盖数据采集、设备建模、仿真监控、预警分析和智能服务等模块,建立设备运维精细化闭环,实现数字化车间管理,广泛应用于大型装备,航空航天,船舶制造,桥梁工程和兵器装备等行业中。而在inIoT中增添部分智能服务,对制造企业实现转型升级具有重要意义。为此,本文基于Angular和Tornado框架在inIoT的生产检验模块中开发了智能检验功能,页面如图8所示。

图8 inIoT智能检验功能页面

图8所示功能主要以图形化的方式实现调用深度神经网络模型进行钢材表面质量检验的过程。页面主要分为两部分,左半区为图像显示区,负责显示待检图像;右半区为结果显示区,负责显示置信度和检验时间等检测结果,还可对钢材表面质量情况进行统计分析。智能检验功能将检验识别过程可视化,易于操作,人机交互性好,识别时间达到了毫秒级,既丰富了inIoT的功能,也将为云边端协同系统在制造业场景表面缺陷识别中的应用提供有效依据。

5 结语

1)针对传统钢材表面缺陷识别方式准确率和效率较低的现状,本文研究了一种高效准确的钢材表面缺陷识别方法,在VGG16的基础上进行迁移学习。在研究过程中,采取了数据增强,引入全局平均池化,Dropout,动态改变学习率和训练早停等策略,以提高模型准确率,降低损失和抑制过拟合现象。

2)通过对比实验和钢材表面缺陷识别认知视觉系统设计的方式对钢材表面缺陷识别过程进行了技术验证。实验采取冻结模型部分层级和微调的方式,测试了不同冻结层数目的识别效果,并与其他文献进行了对比,实验结果较为理想,准确率达到了99.92%,所研究内容也具备一定实用性。卷积神经网络和迁移学习等技术的应用也不仅局限于钢材表面缺陷识别,由于网络对于特征的高效提取能力,其在多种自动化动态识别场景中也可提供一定借鉴。

3)本文的研究是在小数据集上进行的,在准确率和性能等方面仍有较大提升空间。后续将加大数据量,优化改进模型结构和训练策略,并对比多种模型,得到更优结果。

猜你喜欢

钢材准确率卷积
浅谈转变钢材营销理念的新思路
基于“互联网+”的钢材营销平台的设计与应用
基于3D-Winograd的快速卷积算法设计及FPGA实现
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
钢材集中采购管理思考探究
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
卷积神经网络的分析与设计
从滤波器理解卷积