APP下载

基于多任务特征层共享的表面缺陷检测*

2021-03-26钟展祺陈新度

组合机床与自动化加工技术 2021年3期
关键词:多任务卷积准确率

钟展祺,陈新度,吴 磊

(广东工业大学机电工程学院,广州 510006)

0 引言

表面缺陷检测一直以来是工业生产中的重要一环。传统的缺陷检测方法大多依靠人工设计并提取特征,再通过定义一系列规则来完成检测任务。不仅浪费人力成本,影响生产效率,而且在工况复杂的生产线上,难以完成模型的迁移和复用[1]。

随着卷积神经网络(Convolutional Neural Network, CNN)的成熟和发展,越来越多研究人员提出基于卷积神经网络的缺陷检测方法。Krizhevsky A等[2]提出的AlexNet在ImageNet大型视觉挑战赛(ILSVRC)中以远超第二名的成绩获得冠军,使得卷积神经网络再次受到业界广泛关注。甘露等[3]构建了6层的卷积神经网络,实现了对工件的端对端分类识别,证明基于卷积神经网络的模型在识别时间和识别准确率均优于传统模型。蓝宏宇等[4]提出一种基于卷积神经网络多特征融合的工件检测网络,通过融合结构将图像底层特征与高层特征结合,提高网络的检测精度,基本符合工业检测的实时性要求。

但在复杂的表面缺陷检测任务中,单任务学习往往难以获得令人满意的效果。多任务学习通过进一步发掘多个任务之间的相关性,提取不同数据源间的关联,从而提高网络的综合性能。现阶段有大量的研究表明,基于多任务学习的网络性能要优于单任务学习[5-7]。Kendall Alex等[8]提出一种多任务学习损失函数权重的设置方法,即分析每个任务之间的同方差不确定性(homoscedastic uncertainty),并用于回归,语义分析和实例分割等任务,实验表明采用同方差不确定损失函数的网络要优于单任务学习网络。 Misra Ishan等[9]提出一种Cross-stitch共享结构,实现了网络间特定层级的特征共享,对两个结构相同且任务目标关联的网络进行联合学习,最后实验表明两个关联任务均获得了不同程度的提升。许栋武[10]提出一种基于排序优化算法和多任务学习框架的网络,建立一个融合排名的相似度关系来优化输出结果,有效地提高了车辆再识别的准确率。贾立丽等[11]提出了基于多任务学习和稀疏表示的分类算法,通过交叉分组策略充分提取了高光谱图像间的丰富信息,获得了较高的准确率。

鉴于现阶段的工业表面缺陷检测任务,往往将检测任务作为单任务进行学习,存在数据来源单一,样本量缺乏的问题。多任务学习的研究也大多基于已有的多个任务,缺少由单任务生成多任务策略的探讨。因此本文提出了一种关联任务的生成策略,并设计了一种基于多任务特征层共享的表面缺陷检测方法。实验表明,方法充分挖掘了关联任务间的潜在信息,验证了多任务学习在工业缺陷检测中的可行性和有效性。

1 基于FSMTNet的缺陷检测

1.1 关联任务的生成策略

图3 FSMTNet网络结构

多任务学习的一个关键点是如何获得相关联的多个任务。本文方法从灰度图像易受光照影响及纹理特征占比重的特性[12]入手,将原始图像分别进行高斯滤波[13]和canny算子边缘提取[14],处理后的图像如图1所示。采用高斯滤波的目的是一定程度上能够补偿光照强度等不可控因素对图片的影响,而Canny算子则是为了提取灰度图像中的纹理特征。这样的任务生成策略,既能满足多任务学习中的相似性约束,也起到了提高样本多样性的效果,增强了网络的特征提取能力和泛化能力。

图1 多任务生成策略

1.2 共享单元(Shared unit)

引言部分提到的Misra Ishan等的大量研究证明了在同构网络的多任务学习中,引入网络间的特征共享结构能够有效提高网络的性能。因此本文在前人的基础上,设计了一种共享单元(Shared unit),具体结构如图2所示。并通过引入一系列可供模型学习的权重参数[αi1,αi2,αi3,αi4],将任务间特定层的feature map通过式(1)~式(3)的线性组合方式进行特征共享,即Task A同时与Task B及Task C特征共享,Task B和Task C则只单独与Task A特征共享,共享后的feature map再正常输入各自的主干网络,完成后续的学习训练。其中各参数在网络初始化时应满足式(4)的约束关系,但在训练过程中则不对参数的学习进行约束,目的在于通过自主学习获得最有效的线性组合权重。

图2 Shared unit共享单元

(1)

(2)

(3)

(4)

1.3 FSMTNet网络结构

本文提出了一种基于多任务特征层共享的网络,来完成3个相关联任务的联合学习,网络层级如图3所示。3个任务均以Krizhevsky Alex等提出的AlexNet作为训练主干,该网络具有3个卷积层(conv1,conv2,conv3)、3个最大池化层(pool1,pool2,pool3)及3个全连接层(fc1,fc2,fc3)。本文在此基础上,在每个最大池化层后及全连接层间追加了共享单元。共享单元内完成3个任务的线性特征共享,并确保输入下个卷积层的数据维度不发生变化。

2 实验设计及结果分析

2.1 NEU缺陷数据集

本文实验选用一个公开的表面缺陷数据集NEU[15],该数据集收集了6种典型的钢材表面缺陷,具体如图所示,分为开裂(Cr),夹渣(In),斑块(Pa),点蚀(Ps),氧化压入(Rs),划痕(Sc)。图像数据均为灰度图,原始像素为200×200,每类缺陷具有300个样本。

图4 NEU数据集的缺陷类型

2.2 实验设计

为了验证多学习框架的有效性,本文设置了如表1所示的多组对比实验,分别为:

(1)将6类缺陷共1800个样本随机分层取样,选取其中的70%作为训练集,剩余的30%作为测试集,输入AlexNet进行单任务学习,称为Task A;

(2)将原图像数据集进行高斯滤波,输入AlexNet进行单任务学习,称为Task B。其中高斯滤波采用的标准差为2;

(3)将原图像数据集图像进行Canny算子边缘提取,输入AlexNet进行单任务学习,称为Task C。其中Canny算子的阈值上下界阈值分别为50和100;

(4)前3个任务的训练集均为单通道灰度图像,为了与多任务学习进行对比,将3个任务的图像拼接成一个三通道图像数据集,输入AlexNet进行单任务学习,称为Merge Task;

(5)将前3个相关联的任务,输入本文提出的FSMTnet进行多任务学习。

表1 实验内容与实验数据的对应关系

2.3 各网络层级参数设置

为了突出体现本文方法的有效性,数据集除上文提到的处理外,不进行任何形式的数据增强。学习率(Learning rate)设置为0.001,批数据大小(Batch size)设置为32,数据量遍历次数(epoch)设置为80,迭代次数(Iteration)最大约为3000次。

共享单元的可学习参数均初始化为0.5,初始化满足式(4)的约束关系,训练过程中则不再对α参数进行约束设置。

2.4 评价指标

评价指标是反映网络有效性和鲁棒性的重要依据。针对缺陷检测结果进行分析,可以分为四种情况,即正样本被划分为正例(True positives, TP)、负样本被划分为负例(True negatives, TN) 、负样本被划分为正例(False positives, FP) 及正样本被划分为负例(False negatives, TN),并由此建立起如表2的混淆矩阵。在此基础上,本文选择准确率(Accuraccy)作为实验的评价指标,准确率的计算方式如式(5)所示。

表2 分类混淆矩阵

(5)

2.5 结果分析

图5、图6为各实验训练过程中的平均准确率曲线和损失下降曲线。从图中可以看出,随着迭代次数的增加,准确率不断上升,损失不断下降,模型趋于收敛。Merge Task和Multitask两组实验,由于融入了多个任务的特征信息,收敛速度明显快于其他三组单任务的实验,最终经过1700次左右的迭代完成模型的收敛。

图5 平均准确率曲线 图6 损失下降曲线

表3展示了5组实验在测试集上的平均检测准确率和各子类准确率。由前3组实验对比可以看出,划痕(Sc)在6类缺陷中的检测难度相对较高,准确率明显低于其他5类。而Task C在对原图进行Canny算子边缘提取后,划痕的检测准确率得到了较大幅度的提升,但开裂(Cr)、夹渣(In)、斑块(Pa)等类别相应地小幅度下降,最终平均准确率也略低于Task A。

在Merge Task和Multitask两组实验中,由于均以某种方式对前3个任务的特征信息进行融合,综合了前3个任务的优劣,因此准确率得到了一定程度地提升。但Merge Task只是简单地对3个任务的输入从图像通道的角度上进行拼接,没有更好地考虑融合的方式,本质上也还是单任务学习。

Multitask实验中使用了本文提出的FSMTNet,在一系列可学习权重和共享单元的共同作用下,自主学习了最佳的线性组合方式,最终取得了5组实验中的最优准确率。在不进行任何数据增强的前提下,达到了96.111%的平均准确率,对比Task A的原图输入,平均准确率提升了约6%,Sc子类准确率提升约27%,充分证明了基于多任务特征层共享网络的有效性和鲁棒性。

表3 各实验子类及平均准确率对比 (%)

3 结论

针对单任务学习数据来源单一、样本量缺乏的问题,本文提出了一种基于多任务特征层共享的表面缺陷检测方法。方法中利用高斯滤波和Canny算子边缘提取分别生成两个与原任务具有关联性的任务,并通过共享单元(Shared unit)进行任务间的特征共享,最终在一系列可学习参数的作用下自主学习出最佳的线性组合。在NEU缺陷数据集上的实验表明,本文提出的FSMTNet充分挖掘了关联任务间的潜在信息,一定程度地缓解了表面缺陷检测任务中数据来源单一、样本量缺乏的问题,同时也验证了多任务学习网络的可行性和优越性。但在特征层共享的过程中,也引入了大量的可学习参数,增大了网络的计算规模,因此在后续的研究中应进一步对共享单元的结构进行优化。

猜你喜欢

多任务卷积准确率
基于3D-Winograd的快速卷积算法设计及FPGA实现
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
基于中心化自动加权多任务学习的早期轻度认知障碍诊断
从滤波器理解卷积
高速公路车牌识别标识站准确率验证法
基于傅里叶域卷积表示的目标跟踪算法
基于判别性局部联合稀疏模型的多任务跟踪
基于多任务异步处理的电力系统序网络拓扑分析