基于非局部U-Net 模型的汽车零部件缺陷分割算法

2022-09-02 06:25孙繁荣肖楠吴月新
电子设计工程 2022年16期
关键词:网络结构编码局部

孙繁荣,肖楠,吴月新

(工业互联网创新中心(上海)有限公司,上海 201303)

随着卷积神经网络在图像处理领域的发展[1],深度学习算法越来越广泛地应用于缺陷检测分割。现阶段流行的深度学习分割算法分两种,分别是由Long 等提出的基于全卷积神经网络模型的语义分割算法[2]以及Ronneberger 等提出的针对医学图像的U-Net 分割算法[3]。但这些方法都存在两个问题,它们都采用自然图像的语义分割模型,难以满足缺陷分割的特殊性。另外这些模型在处理浅层和高层特征时采用直接连接的方法,缺乏对特征的充分利用。

为解决以上问题,提出了一种新模式的缺陷分割模型,引入针对缺陷图像的规范化非局部模块,可以更好地获取高层特征,保存缺陷图像的空间信息,最终将规范化非局部模块应用在一个编码解码的轴套缺陷分割模型上,并取得良好的检测分割结果。

1 方法

1.1 数据预处理

采用麻省理工的开源软件Labelme 对汽车零部件进行了样本的标记,该软件可以很好地把汽车零部件中的缺陷标记出来。缺陷区域标记的过程如图1 所示。

图1 分割区域提取过程示意图

在理想状态下,用深度学习算法进行汽车零部件缺陷的分割,需要大量带标签的图片。但是在实际情况下往往很难满足这种要求,汽车零部件生产制造过程中缺陷的零件占比较少,带缺陷的图片很难收集到。收集到缺陷零部件的缺陷图片以后,还需要大量的人工进行标记,这种标记方法效率低下,也很难得到大量的数据。因此在模型训练前需要对标注好的汽车零部件数据进行数据增强操作,这其中包括图像裁剪、图像旋转、图像仿射变换以及图像上下镜像翻转。这样不仅可以大大增加训练数据集,同时也缓解了模型在训练过程中出现过拟合的问题,可以增强模型的泛化能力。数据增强后的图片如图2所示。

图2 数据增强

1.2 基于非局部U-Net的深度学习模型构建

针对轴套的缺陷分割检测,郭瑞琦等提出的基于U-Net 的汽车轮毂缺陷自动分割算法[4],柳峰等利用金字塔场景解析网络(PSPNet)进行了导光板缺陷检测[5],Shuang 等提出基于多尺度卷积消噪自编码网络模型的织物疵点自动检测方法[6],以及Tabernik 等提出的在金属表面的缺陷检测[7],都具有较好的引导意义。

Ronneberger 等为了提高语义分割准确度,使用跳跃连接的方法将浅层特征和高层特征连接后得到U-Net 模型[3]。U-Net 最初应用于医学图像分割领域,在医学图像中感兴趣区域和不感兴趣区域差别很大,因此在分割时只要关注感兴趣周围的区域,但是工业产品缺陷分割中由于分割的感兴趣区域需要考虑整个网络的上下文信息。因此为了更好地分割汽车零部件缺陷,文中对U-Net 网络进行了改进。

1.2.1 Non-local 网络模块

在计算机视觉任务中,捕获长距离依赖关系是很重要的。在卷积神经网络中往往通过堆叠多个卷积模块以形成大的感受野来捕获长距离依赖关系。但是这种方法存在3 个不足:

1)捕获长距离依赖关系的效率太低。

2)在网络很深的情况下,训练过程中容易出现梯度爆炸和梯度消失的情况。

3)局部操作很难满足在图片中长距离之间来回传递信息。

Wang Xiaolong 等提出基于图片滤波领域的非局部均值滤波操作思想[8],这是一个简单、高效、即插即用的非局部操作算子,它可以捕获一段时间、空间和时空的长距离依赖关系。相比于不断堆叠卷积核,非局部操作非常高效地直接计算时间与时间位置以及时间与空间位置的关系。顾方霖在非局部信息的图像语义分割研究[9],以及宋小鹏等在结合局部和非局部信息的FCM 图像分割算法[10]的文章中都展示了非局部操作能够有效保证输出尺度不变的优点。

在语义分割任务中使用非局部操作可以提高网络的分割准确度,Zhen zhu 等使用一种非对称的非局部操作来简化,从而提高非局部网络的有效性[11]。非局部网络结构如图3 所示。

图3中F、Q、W表示卷积核为1×1的卷积操作,MU表示矩阵乘法操作,Scale 表示规范化操作。Softmax表示Softmax 激活函数,ADD 表示矩阵加法操作。

图3 非局部网络结构

非局部的函数的数学公式可以定义为:

相比于标准的非局部网络模型,加入了规范化操作,这是因为在工业生产过程中汽车零部件无法保证每一个样品都一模一样,加入规范化操作使得照片的信息特征分布类似,可以更好地加速整个网络的收敛过程。

1.2.2 非局部U-Net网络结构设计

U-Net 网络结构是由Ronneberger 等提出的用于生物医学图像的语义分割网络[3],朱辉等将其用于肺结节检测[12],徐光柱等将其用在视网膜血管检测上[13],袁甜等在肺部CT 图像的研究也都取得了良好的效果[14]。由于其简单易实现的特点,使得U-Net 网络在不同应用领域有着十分重要的作用。

医学图像分割与汽车零部件缺陷图像分割类似,于是将U-Net 结构应用于汽车零部件图像缺陷的分割,但是汽车零部件相比于医学图像存在一些特性,例如汽车零部件图像缺陷往往会存在多个区域,因此为了更好地对汽车零部件缺陷进行分割,在传统的U-Net网络结构中引入了规范化非局部模块,非局部U-Net网络整体结构如图4所示。非局部U-Net网络由三部分组成,其中左边的结构为编码结构,输入图像后进行下采样,再经过上采样生成特征图,然后输出特征图标签,中间使用一个规范化非局部模块进一步提取特征,此外也使用跳跃连接方式将编码与解码结构级联,使得浅层特征可以更好地参与到最后的图像预测中。图4 可以看出非局部U-Net 网络结构可以分成3 个部分,分别是特征编码、特征转化、特征解码。其中特征编码阶段每一个小的模块主要由3 个3×3 的卷积层和一个2×2 的池化层组成,特征编码的目的是收缩网络,主要从高维度空间提取特征信息同时负责进行下采样操作。利用一个规范化非局部(scale non-local)模块进行特征转化,这是因为特征编码阶段通过多层卷积池化堆积获得的特征缺乏捕获长依赖性信息的能力,导致网络的鲁棒性偏差,需要通过非局部网络来提高网络鲁棒性,由于特征编码阶段采用了多次池化操作,特征图分辨率从原来400×400 缩小到了25×25,在特征解码过程中则使用了转置卷积操作,通过逐层解码的方式,将特征还原成原来的分辨率。在上采样时,每个特征解码输出特征图与左边特征编码收缩网络的每个下采样对应,并且采用了跳跃连接的方式联合在一起,这样可以填补高层特征经过多次卷积池化丢失的位置信息。在网络的末尾使用1×1 卷积层,然后接Sigmoid 函数,将得到的特征图映射到每一个像素对应的类别,在这里由于汽车零部件缺陷的分割属于两分类问题,因此最终输出的图像中每个像素点对应的元素为0或1。将该图像作为网络的最终输出概率图,每一个像素点元素值表示该点存在缺陷的概率。

图4 非局部U-Net 网络整体结构

2 实验结果分析

实验的数据来自实际生产过程中获得的汽车零部件图像,分辨率分别为672×672、652×652、664×664。原始样本数据包含156 张包含缺陷的数据,对数据进行增强,选择120 张图像进行扩增,之后汽车零部件缺陷图像增到了2 028 张,将总样本的80%作为训练集,剩下的20%作为验证集。同时利用剩下的36 张缺陷部分构造测试样本,测试算法的分割精度。通过Dice距离来衡量两个集合的相似性,Dice系数定义如下:

A与B表示两个集合,代表两张图片,分子为这两个交集数量的两倍,分母表示两个集合的和。Dice取值范围为0~1,Dice 系数越高代表分割结果越好。

2.1 分割结果

为了验证该文算法的有效性,计算了汽车零部件测试样本缺陷平均分割精度,表1为测试样本Dice系数,图5 为该文算法和其他算法在部分带有缺陷的轴套图像的分割结果。

表1 非局部U-Net网络和其他算法的Dice 系数

图5 非局部U-Net 和其他算法在测试样本的缺陷分割结果

为验证该文算法在汽车零部件缺陷图像上的表现,另外选取其他几种成熟的图像分割算法与该文算法进行对比,这些算法都是基于图像块的卷积神经网络模型,可以发现标准的U-Net 网络结构在汽车零部件缺陷分割上取得的Dice 系数为72.26%,而非局部U-Net 网络达到了81.29%,提升了9.03%。与此同时,表1 中展示了其他深度学习的语义分割算法在测试样本上的Dice 评价指标,其中和效果相对比较差的FCN8s 算法对比,非局部U-Net 网络Dice 系数提升了12.63%,可以看出非局部U-Net 在测试样本上的Dice 系数均高于其他算法,效果比较好[15]。图5 展示了模型训练完成以后在测试数据集上和其他成熟的语义分割算法的对比。通过对比可以发现非局部U-Net 网络结构在汽车零部件缺陷分割细节上要优于其他的成熟的分割网络。

2.2 可视化训练结果

非局部U-Net 网络模型在训练过程中的损失函数值变化图如图6 所示。通过图6 可以发现,虽然在训练过程中损失函数的值在一开始有一小段的波动,但总体处于一个下降收敛状态并在最后趋于稳定不变。说明在当前训练参数及模型参数设置下,汽车零部件缺陷分割网络模型的性能接近最优。

图6 损失函数值变化图

3 结束语

针对汽车零部件缺陷分割自动化的问题,提出了一种基于非局部U-Net 网络模型的汽车零部件自动分割算法。通过引入了规范化非局部网络模块可以更好地捕捉特征的长距离依赖关系,从而提高了分割的准确度。实验验证结果表明,非局部U-Net在汽车零部件缺陷分割任务上比标准的U-Net 网络表现得更优秀,相比于传统的汽车零部件缺陷分割,极大地提升了汽车零部件缺陷分割的自动化性能。在时间开销上相比于传统的分割算法也得以大大降低,基本满足工业生产的检测需求,具有潜在的应用前景。

猜你喜欢
网络结构编码局部
爨体兰亭集序(局部)
生活中的编码
快递网络结构研究进展
《全元诗》未编码疑难字考辨十五则
凡·高《夜晚露天咖啡座》局部[荷兰]
子带编码在图像压缩编码中的应用
基于AutoML的保护区物种识别①
Genome and healthcare
丁学军作品
局部遮光器