基于卷积神经网络的工业缺陷检测研究进展

2024-01-11 08:33田伟倩朱华兵
中国特种设备安全 2023年12期
关键词:卷积焊缝神经网络

田伟倩 朱华兵 张 淋 胡 斌

(中国特种设备检测研究院 北京 100029)

工业产品生产和使用是一个非常复杂的过程,由于产品线设计不合理或者设备工况条件差,生产过程中往往会产生一些包含问题的产品:如产品表面的瑕疵,铸造产品中的空洞,运输过程中产生的擦伤和刮痕等,如图1 所示。同时由于产品存储条件恶劣,也会产生如腐蚀的缺陷。产品上的缺陷会影响产品的使用,减少产品的使用年限,同时也会增加厂商的成本,影响产品的品牌。因此,缺陷检测是企业提高产品质量和服务所必须具备的核心能力。相比人工检测,自动缺陷检测技术在环境适应性、工作时长、精度以及效率上有明显的优势。对缺陷检测技术的研究可以降低生产成本,提高生产效率和产品质量,为制造业的智能转型奠定坚实的基础。

图1 不同物品缺陷

缺陷检测通常分为2 类:一类是破坏性检测,另一类是非破坏性检测。非破坏性检测是利用成像技术,如X 光、超声、红外、涡流、染色等方式探查产品,生成产品的不同图像进行检测。非破坏性检测不对产品进行破坏,是目前应用很广的检测方法。本文所描述的检测方法,就是针对非破坏性检测。由于产品中缺陷的种类繁多,所以不同的缺陷所用的技术也不尽相同。如Aldave 等[1]利用热红外图像对缺陷进行检测,Xie 等[2]使用计算机视觉技术对缺陷进行检测,其他的如超频、震动光谱也广泛应用在产品缺陷检测中。目前,在非破坏性检测的方法中,基于数字图像的方法应用最广,基本涉及日常工业产品的方方面面。本文将从基于数字图像的缺陷检测角度出发,对该类缺陷检测技术进行总结。

1 数字图像技术

图像(image)[3]指的是应用各种观测系统,以不同形式和手段观测客观世界而获得的,可以直接或间接作用于人眼而产生视觉的实体。数字图像的处理主要包括几何处理、算术处理、图像增强、图像复原、图像重建、图像编码、图像识别等。

计算机视觉指的是计算机代替人眼对图像中的目标进行识别、跟踪以及测量等,通过图像处理操作,使其成为更适合人眼观察的图像。计算机视觉作为综合型技术,集成了模拟与数字视频技术、光学成像、图像处理技术等,将图像信号结合特定需求,转变为数字化信号。在计算机中,图像以数字矩阵的方式存储,基本所有的颜色都可以通过三原色(红色、绿色、蓝色)生成,所以在计算机中,彩色图像由三通道矩阵(红色通道、绿色通道、蓝色通道)构成,三个通道叠加,在计算机中的存储形式为N×M×3,其中N 为高度像素数,M 为宽度像素数,3 为通道数。有些图像为灰白图像,如X 光图像,图像则是由单通道矩阵存储,计算中表示为N×M。

随着计算机技术的发展,数字成像技术逐渐被应用到无损检测领域。机器视觉检测由于其快速、准确、无损和低成本的特点,被广泛应用在缺陷检测领域。

2 基于传统数字图像技术的缺陷检测

传统的基于数字图像处理检测缺陷的研究工作主要侧重在图像中缺陷的定位、提取和分割。识别缺陷主要包括2 个模块:图像的预处理和缺陷检测。图2展示了一般传统数字图像处理技术进行缺陷检测的流程。

图2 传统的基于数字图像技术进行缺陷识别流程

2.1 图像预处理

与正常部位相比,缺陷图像通常表现为与正常部位对比度相似,缺陷周围存在大量噪点。这些问题对图像缺陷的识别有非常大的影响。图像的预处理就是为了减少噪声,增强缺陷部位和正常部位的对比度,使后续步骤能更好地进行识别分类。

1)噪声处理。噪声点通常不规则地分布在图像上,一般会和周围像素值有明显的区别,表现出来就是高频像素值。所以,高频滤波是最常用的噪声处理方法。Zscherpel 等[4]使用一种图像宽度方向的快速傅里叶变化(FFT)的Bessel 操作对X 光图像进行滤波,取得了非常好的减噪效果。小波变换(wavelet filter)也是一种常用的X 光图像高频滤波器。通常,滤波器的表现和滤波器的核大小有很大的关系。过小,噪声滤不掉,过大,容易造成背景模糊。

2)对比度增强。很多情况下,缺陷部位和背景像素的对比度非常不明显,尤其是对于使用X 光图像进行缺陷识别的图像。这种图像灰度值通常分布在很小的区间内,给缺陷检测造成很大的障碍。通常用对直方图进行操作的方式进行对比度增强。直方图反映了图像中像素值的分布情况。比如直方图太窄,说明图像使用的灰度值范围太窄。比如直方图有一个很强烈的峰值,说明图像部分灰度值频率比其他值要高得多。Shafeek 等[5]采用直方图拉伸增加缺陷和周围像素之间对比度,采用直方图均衡对图像背景进行增亮。

2.2 缺陷检测

图像通常不仅仅包括产品缺陷部分,还包括与产品不相关的背景部分。所以,通常在缺陷检测时,需要进行背景删除处理。背景删除可以采用与没有产品的图片相减得到,如Hyatt 等[6]采用多尺度的方法对背景进行移除。在很多基于X 光图像的缺陷检测中,有别于基体散射,缺陷散射具有独特的图像特征[7]。所以很多方法都是根据这个特性进行背景删除。如Liao 等[8]通过比较发现,好的焊缝表现为钟形,而缺陷不是。所以基于此设计了背景删除策略,取得了很好的效果。

进行完背景处理操作后,生成的图像就可以进行缺陷检测识别处理。张晓光等[9]先对图像进行预处理,应用直方图均衡法对图像进行处理,增强焊缝中的缺陷与图像背景之间的对比度,以便于提高后续缺陷检测的准确率。下一步应用边缘检测算法对图像进行分割,分割后的图像中含有缺陷信息。最后对缺陷进行识别,将其分类为气孔、夹渣等。赵永珠[10]首先应用不变矩的方法提取图像中缺陷的特征参数,进而应用神经网络的方法对缺陷进行分类。林邓伟[11]应用基于计算机视觉的方法,对焊缝进行缺陷识别,最后应用形态学方法,消除图像中的伪信息,进行缺陷分类。刘涵等[12]先是研究了焊缝中各类缺陷的特征,根据缺陷的特征对其进行分类,作为缺陷识别的依据。通过拟合获取焊缝边界,再通过分割、边缘检测,提取焊缝边界信息,最终将缺陷从焊缝图像中分割出来。最后通过对卷积神经网络的训练,实现对缺陷的识别。栗芝[13]针对小样本对象,提出了一种准确率高、实时性好、鲁棒性高的缺陷识别方法。应用sin 函数增强,OSTU 分割,以及边缘检测等方法进行图像预处理,并使用Hough 变换提取边界直线信息,最终使用SVM分类器进行分类。李清格[14]应用边缘检测算子提取感兴趣区域,进而应用卷积神经网络进行图像分类。王睿等[15]在卷积神经网络中加入倒残差结构,降低了缺陷检测的成本,同时具有较高的检测准确度。

3 基于卷积网络的缺陷检测

传统的检测方法需要针对不同的任务,手动设计图像特征对缺陷进行检测识别。这种方法对特定问题是较好的解决方案,但鲁棒性差。例如对X 光图像的处理方法,很难直接移植到红外图像的缺陷检测中。近年来,深度学习在目标检测领域取得了突破性进展,其特点是效率高、鲁棒性强。深度学习模型可以自动学习图像的特征,利用其强大的特征表达能力和建模能力,对缺陷进行识别。通过监督、半监督及无监督的方式,对输入图像经过一系列非线性变换,生成高维抽象表达,避免了手工设计特征的烦琐低效。

3.1 卷积神经网络的基本原理

卷积网络由最初的多层感知机逐步向多层化、复杂化发展。比如卷积神经网络(CNN,Convolutional Neural Network)、递归神经网络(Recursive Neural Network,RNN)、生成式对抗网络(Generative Adversarial Networks,GAN)等。卷积神经网络指的是内含卷积结构的深层神经网络,由多层神经网络构成。

数字图像中部分区域与其他区域的图像特征可能具有相似性,表明在某些区域学习到的图像特征同样适用于其他区域。卷积神经网络中,卷积操作主要是卷积核在特征图上滑动,并对其进行计算,填充可以实现卷积前后图像大小保持不变。卷积在网络中通过以卷积单元的形式对数据进行特征提取,在神经网络的组成部分中至关重要。卷积层由若干卷积单元组成,用于对输入特征进行卷积。卷积层中的参数主要有卷积核尺寸、步长、卷积核以及填充的数量。步长指的是滤波器每次移动的步幅。填充是为了消除卷积层对特征图尺寸的影响,最常见的做法是在特征图的边缘填充零,使经过卷积层的特征图尺寸保持一致。在训练过程中,应用反向传播算法(Backpropagation)来训练卷积神经网络,计算卷积神经网络的输出与实际值之间的误差,并将其误差反向传播回隐藏层,直到输入层。训练过程中,通过调整训练参数,使损失函数最小,最后得到相对满意的训练结果。

3.2 数据集

深度学习需要从数据集中学习并查找图像中的特征,生成带有概率的向量输出。数据集一般由数据、标注和元数据组成,其内容依据所研究的领域确定,例如医学图像以患者所拍MRI 图像、X 图像等为主。

数据集的标注是指通过人工辅助的方式,应用Labelme 等图像标注工具对深度学习网络需要学习的数据进行加工,使其适合机器学习的过程。数据集标注主要类型有图像标注、语音标注、文本标注、视频标注等。标记的形式主要有标注画框、3D 画框、目标物体轮廓、图像打点、文本转录等。元数据(中介数据、中继数据)是关于数据域、数据的组织及其关系的信息,本质上讲,元数据是关于数据的数据。

3.3 卷积神经网络在通用目标检测的发展现状

目前,卷积神经网络在目标检测应用中精度的主要问题是数据集中图像的数量还相对较小,一般为万余张。事实上,较小数量的图像数据集的缺点已经被广泛认知。近几年,随着数字图像技术的发展,人们获取图像的途径变得多种多样,获取方式也更加便捷,这就使得获取大容量数据集逐渐成为可能。比如Labelme,它由数十万张完全分割的图像组成,以及ImageNet,它由超过2 万个类别的,超过1 400 万张已经被标记的图像组成。要想从如此庞大的数据集中学习到想要的目标,这对模型的学习能力是很高的挑战。在任务如此困难复杂的情况下,训练学习能力较强的模型显得尤为困难,因此我们的模型还应该具备大量的先验知识,以此来弥补数据集数量不足的问题。卷积神经网络的出现,可以很好地解决上述问题[9]。网络的学习能力可以通过改变网络结构的形状、深度和宽度来控制。因此,与具有相似层数的标准前馈神经网络相比,CNN 网络的连接层和参数要少得多,因此更容易训练。

目标检测(Target Detection)是计算机视觉领域中的核心问题之一,其主要任务是找出图像中所有感兴趣的目标(物体),确定其大小和位置。在深度学习算法成熟之前,目标检测算法应用sift 算法、DPM(Deformable Parts Model)算法等传统算法,基于人工设计的特征进行构建,由于计算资源有限,只能通过提高特征复杂度来提高检测精度。

目前基于深度学习的目标检测方法有2 类:一阶段(one-stage)和两阶段(two-stage)。衡量目标检测方法性能的指标一般是模型的检测准确度和速度。一般情况下,one-stage 模型具有较快的检测速度,而two-stage 方法具有较高的检测准确度。表1 介绍了2 种方法的优缺点。其中,one-stage 和two-stage方法的主要区别是,two-stage 方法需要先生成候选框(region proposal)。候选框为可能包含物体的区域,然后对每个区域进行预测回归。而one-stage 的方法不需要进行候选框的生成,直接根据图像的特征进行预测回归。one-stage 主要算法有YOLOv1、SSD、YOLOv2、RetinaNet、YOLOv3。two-stage 则有Fast RCNN、Faster RCNN。通常在进行目标检测的时候,尤其是多目标检测任务中,不仅需要检测出物体,还需要知道这个物体是什么。所以,在检测任务中,通常会进行多任务(multi-task)预测。例如,在Fast RCNN 中,将位置预测(location regressor)和目标分类(classification)整合到一个框架中,实现了将这个task 同时进行训练。在早期的检测算法比如RCNN、SPPNet 等,都属于multi-task 类。

表1 one-stage 和two-stage 目标检测方法比对

2012 年Krizhevsky 等[16]应用深度卷积神经网络(DCCN)进行ImageNet 分类,如图3 所示,在测试数据集中,文章实现了top-1 和top-5 错误率分别为37.5%和17.0%,大大优于当时技术水平。DCCN 网络有6 000 万个参数和65 万个神经元,由5 个卷积层(其中一些层后连接最大池化层)和3 个全连接层(最后有1 000 路softmax)组成。

图3 DCCN(AlexNet)[16]

Faster RCNN 为典型两阶段目标检测算法[17],如图4 所示,一阶段为region proposal,二阶段为bounding box 回归和分类。模型使用CNN 提取图像特征,进而应用region proposal network(RPN)提取ROI(region of interest),用ROI pooling 将提取出的ROI 转换成固定尺寸,再送入全连接层进行bounding box 回归和分类预测。

图4 结构图[17]

Mask RCNN 由He 等[18]提出,其原理为在 Faster RCNN 的框架中添加一个分支网络,在实现目标检测任务的同时,分割出目标像素。Cascade Mask RCNN在Faster RCNN 的基础上,将几个不同IOU 阈值的检测网络级联,形成了基于深度学习的目标检测算法[19]。

3.4 基于卷积神经网络的缺陷检测方法

目前有多种深度学习方法应用于缺陷检测,常用的识别与分类方法主要有BP(Back Propagation)神经网络、模糊神经网络、卷积神经网络、支持向量机(Supportvector Machine,SVM)以及各种分类器的集成模型等。表2 总结了产品缺陷检测中常用的深度学习方法的优缺点,主要包括卷积神经网络、生成对抗神经网络、深度残差神经网络、全卷积神经网络等。

表2 基于深度学习的缺陷检测方法

在缺陷检测技术的研究工作中,随着深度学习方法的快速发展,基于卷积神经网络的深度学习方法已经广泛应用于产品缺陷检测的各个领域。深度学习图像处理技术学习图像中的特征,对图像中的产品缺陷进行分类和定位,比如裂纹、气孔、夹渣、条缺等,这种缺陷通过射线检测尤为快捷方便,通过卷积神经网络学习焊缝图像中缺陷的特征,可使网络自行判断缺陷的位置与类别。表3 为目前基于深度学习的缺陷检测方法中的深度学习方法取得的实验结果的比较。这些算法的识别最高精度可以达到99.52%。

表3 基于机器学习的缺陷检测技术

4 结论

本文对工业过程中产品缺陷检测技术的研究现状进行了综述。对传统的缺陷检测方法和深度学习缺陷检测技术进行了比较分析,并对缺陷检测技术的实验结果进行了综合性总结。本文主要针对卷积神经网络在焊缝缺陷检测中的应用进行论述,文章首先介绍了无损检测技术的发展现状以及焊缝缺陷检测技术的重要性。文章对数字图像处理技术的发展进行介绍,针对卷积神经网络在数字图像处理中的应用与发展进行进一步介绍,结论如下:

1)目前深度学习在工件缺陷检测中已进行应用,并取得了较高的识别准确率,但是识别速度与精度仍有一定程度的提高空间;

2)目前深度学习主要应用于焊缝缺陷检测与物体表面缺陷检测,如何将卷积神经网络算法应用到涡流、超声等检测方法中,未来或成研究热点;

3)在线产品缺陷检测、三维缺陷检测等,是未来工业产品缺陷检测领域的发展趋势。

近年来,随着计算机技术的发展以及成像技术的数字化,越来越多的计算方法被应用到图像中缺陷的智能识别,比如Cascade Mask RCNN 等。但是目前受限于数据集样本的数量,以及不同模型对不同数据集的泛化性能的不同,导致目前焊缝缺陷的识别精度提升存在一定的难度,同时也是未来深度学习在缺陷智能识别应用中准确率提升的研究热点与难点。

猜你喜欢
卷积焊缝神经网络
基于3D-Winograd的快速卷积算法设计及FPGA实现
基于焊缝余高对超声波探伤的影响分析
TP347制氢转油线焊缝裂纹返修
神经网络抑制无线通信干扰探究
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
机器人在轮辋焊缝打磨工艺中的应用
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
光谱分析在检验焊缝缺陷中的应用