Automated Weld Defect Detection in Industrial Ultrasonic B-Scan Images Using Deep Learning
Abstract:
自动超声波检测(AUT)是一种无损检测(NDT)方法,广泛应用于具有重要经济意义的行业。为了确保对独有的 AUT 数据进行准确检测,专家操作员需要投入大量的精力和时间。人工智能(AI)辅助工具利用在大量实验室内 B 扫描图像(无论是增强图像还是合成图像)上训练的深度学习模型,在自动超声波判读方面表现出良好的性能,但仍需不断努力提高其准确性和适用性。要做到这一点,就必须利用超声波实验数据对其性能进行评估。在本研究中,我们介绍了一个真实世界的超声波 B 扫描图像数据集,该数据集是在石油和天然气管道的工业环缝自动检测过程中,从专有的 AUT 记录数据中生成的。我们数据集中的检测目标是检测一种常见的缺陷类型,即熔合不足(LOF)。我们使用该数据集对用于自动焊接缺陷检测的深度学习模型进行了实验性评估。我们的评估涵盖了最先进(SOTA)模型的基准性能,包括基于变压器的模型(DETR 和可变形 DETR)和 YOLOv8。它们在超声波 B-scan 图像中的探伤性能以前从未报道过。结果表明,在没有大量增强或架构定制的情况下,YOLOv8 在测试集上的 F1 得分为 0.814,优于其他模型。
Introduction:
为了提高检测过程的整体可信度和效率,研究人员越来越多地探索新技术,如优化缺陷检测激光诱导阵列[1]、在激光焊接坯件中实施计算机辅助自动检测以进行实时缺陷检测[2]等。与其他无损检测方法相比,UT 在有效检测次表层 [3] 和微小缺陷 [4] 方面具有悠久的历史。在 UT 中,放置在表面的传感器通过材料发射超声波。通过分析反射回传感器的超声波,可以检测和评估在制造、焊接或其他过程中出现的腐蚀和缺陷。;
自动超声波检测(AUT)利用安装在结构周围的自动系统,通过相控阵探头进行精确快速的检测。在相控阵技术中,阵列中的每个元件都是独立脉冲和延迟的,从而产生不同的光束角度和焦点范围可对材料进行全面检测。目前,自动光学检测需要人工操作员对获取的大量数据进行分析。自动光学检测期间,操作员的职责包括一系列任务。这些任务包括在结构周围定位检测头、进行检测、解释数据、记录结果以及决定是否接受或拒绝扫描剖面。这些错综复杂的顺序任务,再加上需要检测的大量扫描,可能会影响准确性并延长 UT 解释所需的时间。
在UT中,数据通常以A扫描、B扫描和C扫描的形式记录。B 扫描能直观显示被检测材料的更详细信息,在UT 领域引起了广泛关注。在计算机视觉领域引入 ImageNet [5] 之后,人们开始致力于利用基于深度学习的算法来应对下游任务中的挑战,尤其是在超声波 B 扫描图像的解读方面。
在[6]中,作者使用传统算法(如基于手工创建特征和统计技术的缺陷分类器)和基于机器学习的方法(包括卷积神经网络 (CNN))进行了实验,以对从激光生成的不锈钢板超声波传播成像[7,8]中获得的图像中的缺陷进行分类。在随后的工作[9]中,他们首先发布了首个公开可用的超声波检测数据集 USimgAIST [10],该数据集包含 18 块不锈钢板上的 7004 幅正常和缺陷图像,包括钻孔和狭缝缺陷。其次,他们在数据集上训练了多个 SOTA 深度 CNN,为超声波图像自动判读的深度学习模型提供基准。在 [11] 中,利用基于强化学习的神经架构搜索神经网络(RL-NAS NN)自动实现了基于 CNN 的最佳架构,用于对 USimgAIST 数据集上的缺陷进行分类。之前的所有方法尽管都提出了超声波图像判读的新理念,但都存在无法检测缺陷大小和位置的问题。
基于 SOTA CNN 的 AUT 物体检测器的首次应用是在 [12] 中实现的。他们在包含 490 幅灰度 B-scan 图像和 1562 个注释的数据集上使用重增强方法对 YOLOv3 [13] 和 SSD [14] 进行了微调。文献[16]利用另一种 SOTA 一阶段物体检测器 EfficientDet-D0 [15],使用自定义计算的锚点,在其内部数据集(包含 4147 幅人为缺陷的 B-scan 图像)上检测出了缺陷。DefectDet [17]是一种新颖的深度学习架构,它将 EfficientDet 的默认骨干替换为基于特征提取器的轻量级编码器-解码器和自定义检测头,通过将输入转移到架构中的 biFPN 块来检测具有极端长宽比的物体。尽管自动缺陷检测技术不断进步,但这些深度学习模型的可靠性在很大程度上依赖于庞大且分布合理的数据集。
生成大量超声波 B-scan 数据既耗时又昂贵。因此,许多关于超声波 B-scan 图像中缺陷分类和定位的研究通常依赖于实验室中在受控条件下检测测试样本的图像,或利用图像增强或合成数据生成等技术将有限数量的真实世界 UT 图像数据成倍增加,以提供数据需求量巨大的深度神经网络 (DNN) 进行训练。此外,为了建立一个包含各种缺陷的数据集,研究人员通常会在图像中引入人工缺陷,或故意在测试样本上制造缺陷。
在文献[18]中,作者对其几乎存在缺陷的超声波数据[19]进行了大量的数据扩增,用不同的背景创建了 10,000 大小的图像数据集。随着人工智能时代的到来,人们不再仅仅依赖于扩增,而是出现了更可靠的方法来扩展训练输入的数量。在文献[20]中,作者提出了两种基于生成-对抗的网络--DetectionGAN[21]和改进的 SPADE GAN[22],用于生成合成的 B-scan 图像,对于 UT 操作员来说,这些图像与真实图像几乎没有区别。
显然,从实验室实验中获得的数据分布可能与陆上检测的数据分布不同。对于基于深度学习的模型在超声波判读决策过程中发挥作用的应用来说,这种差异可能会带来严重的问题。在本文中,我们介绍了一个专有的 B-scan 图像数据集,该数据集是从UT 专家获取的极端条件下陆上油气管道环缝自动检测记录报告中生成的。此外,我们数据集中的缺陷类型是熔合不足(LOF),这是自动环缝焊接中常见的缺陷。我们认为,这是文献中首次利用从工业环境中捕获的具有真实缺陷(特别是 LOF)的超声波 B 扫描图像来微调深度学习算法。我们旨在研究基于 SOTA 深度学习的模型的性能,而不需要任何额外的合成数据或修改架构,以了解其在工业 B-scan 图像上的基线性能。我们在图 1 中说明了我们的工作,在图中,人类专家操作员在陆上执行自动超声波检测。检测完成后,使用采集软件采集并存储数据。随后,对检测数据进行处理,并输入基于神经网络的探伤仪,该探伤仪对数据进行分析,以识别潜在的缺陷。最后,由专业的人工操作员对结果进行审查和验证,为纠正任何遗漏或错误的检测提供关键的检查。
我们介绍了一个专有的工业超声波 B-scan 图像数据集,该数据集由人工检测人员在陆上石油和天然气环缝检测过程中进行的 AUT 检测记录生成。
除了 B 扫描数据集之外,还引入并研究了自动环缝焊接过程中通常会出现的真正缺陷,如 LOF。
我们在工业超声波 B 扫描图像上微调并评估了 SOTA 模型,如基于变压器的架构(DETR 和可变形 DETR)和 YOLOv8。
Dataset :
Dataset Description:
我们创建了一个超声波 B 扫描图像数据集,该数据集来自UT 专家利用相控阵技术的自动环缝焊缝检测系统获取的焊缝检测数据,用于检测石油和天然气管道。检测系统利用区域判别技术进行焊缝检测。在这种方法中,每个焊缝被分为几个垂直区域,每个区域都有一个特定的光束进行检测。多个光束围绕管道作单线运动。区域判别将焊缝分为三个主要区域:管帽区、管身区和管根区。管帽区和管身区分别包括填充 1 区和填充 2 区。根部区域包括热通道 2、热通道 1、LCP 和根部。图 2 表示区域判别技术中的三个区域。在我们的数据集中,焊接类型为 J 坡口,焊接缺陷类别为熔合不足(LOF),这是自动环缝焊接中最常见的缺陷。
Dataset Preparation:
我们利用UT 专家在陆上石油和天然气管道环缝焊缝检测过程中使用检测系统记录的 87 条专有焊缝检测记录创建了数据集。我们没有参与检测过程;我们只是从UT 专家提供给我们的专有焊缝检测数据中收集 B-scan 图像。每个记录的焊缝基准都包括一张 1920 × 1080 的图像,其中包含多个条形图,代表了用于 AUT 的相控阵探头的通道输出。条形图还提供了下游和上游相控阵探头的视图,以及每个通道所代表的每个焊缝区域。此外,每个记录的焊接基准都包含一个由人工操作员填写的表格,其中包括每个带状图图像上检测到的缺陷的类型、大小和位置。人工操作员还在每个相关的带状图中用边框标注了每个缺陷的确切位置。记录的数据包括原始的检测焊缝数据和解释焊缝数据。我们从焊缝检测数据集中收集了 359 张 B-scan 带状图图像。我们的 B-scan 数据集的分布包括填充 1 区、热通道 1 区和热通道 2 区。图 3 是其中一个记录的焊接数据文件中的 1920 × 1080 图像。
每个 1920 × 1080 图像包含 23 或 27 个条形图。这些条形图可以显示 A 扫描、B 扫描和 TOFD 超声波图像。在本研究中,我们主要关注条形图中的 B 扫描图像。从主图像中手动裁剪每个条形图既费时又容易造成误差。为此,我们开发了一个 Python 自动脚本。该脚本可自动从主图像中裁剪条带图。我们从主图像中收集了 359 幅 B-scan 图像。我们使用 DarkMark(https://github.com/stephanecharette/DarkMark,访问日期:2023 年 8 月 15 日,v1.8.11-1,Stéphane Charette,West Kelowna,BC,Canada)软件,根据人类操作员的解释在原始 B-scan 图像上标注缺陷。为了训练和评估深度学习模型,我们将数据集分为训练集、验证集和测试集。在表 1 中,我们详细介绍了每个集的图像数量、注释和负样本。我们的数据集共包含 229 张 B-scan 图像的 LOF 注释。图 4 展示了训练集中的 7 幅 B-scan 图像和 10 个 LOF 注释。
Dataset Properties:
本节研究的主要灵感来自 https://deci.ai/ course/profiling-computer-vision-datasets-overview(2023 年 11 月 17 日访问)。我们只使用了他们对图像分析的描述,以便根据我们的 B-scan 数据集实施这些描述。我们没有使用他们的 Python 软件包生成本文中的数据。
Image Dataset Analysis:
在本研究的这一部分,我们的目标是分析图像本身,而不考虑用于缺陷注释的边界框。我们根据图像中像素的亮度分布、宽度和高度分布以及平均值和标准偏差 (STD) 分析这些图像。首先,我们重点分析亮度分布。为了进行亮度分析,我们将每张图像从 RGB 转换到 LAB 色彩空间,并计算亮度 (L) 分量的平均值。图 5 中的核密度(KDE)图显示了三组图像的亮度分布,验证集和测试集的亮度分布与训练集图像的亮度分布基本一致。
接下来,我们检查了所有图像的尺寸分布。图 6 显示了三组图像中具有特定宽度或高度尺寸的图像数量,表明验证集和测试集中的图像分辨率都包含在测试集中。
我们为数据集计算的其他属性包括平均值(使用 https://github.com/iDataVisualizationLab/ roaddamagedetector(访问日期:2024 年 1 月 26 日)中的 "Mean pixels for normaliztion.ipynb "脚本进行像素平均值计算)和红、绿、蓝三个图像通道的像素 STD。这些属性有助于对基于深度学习的物体检测器模型进行更多定制,该模型已在 ImageNet [23] 和 COCO [24] 数据集上进行了预训练。表 2 列出了数据集中每组图像的像素平均值和 STD。
Bounding Box Analysis:
在对已实施的注释边界框进行分析时,我们根据每个缺陷的面积占整个 B 扫描图像的百分比、缺陷在每幅图像中的数量以及缺陷在数据集中的空间分布来讨论边界框的绘制。我们对训练集、验证集和测试集进行了这些分析。
为了分析每组图像中每张图像的边界框面积分布,我们计算了每张边界框的面积占 B 扫描图像总面积的百分比。图 7 显示了 LOF 缺陷在数据集中的面积分布。从图中可以看出,我们在 B-scan 图像数据集中面临着检测小缺陷的挑战。在我们的训练集中,边界框面积(锚框大小)的最小平方根和最大平方根分别接近 16 和 32。
边界框的高宽比分布(锚框比率)如图 8 所示。这表明训练集的锚框比率主要集中在分布图的中间,包括 1.2、1.4 和 1.7。
此外,我们还根据边界框在每张图像中的位置对其进行了分析。在图 9 中,缺陷分布在每组图像中的各个位置。
最后,图 10 显示了每组图像中出现的边界框数量。通过以上分析,我们了解到基于数据集,模型应在图像中检测到的最大缺陷数量。
Experimental Results:
我们选择了五个 SOTA 物体检测器,以便在我们的任务中对它们进行微调。我们的实验模型包括 RetinaNet [25]、DETR [26]、Deformable DETR [27]、YOLOv5u [28] 和 YOLOv8 [29]。这些模型主要包括基于 CNN 的物体检测器(RetinaNet、YOLOv5u 和 YOLOv8)和基于变换器的物体检测器(DETR 和 Deformable DETR)。选择这些模型的理由是:首先,我们包括了 RetinaNet 和 YOLOv5,这两个模型在在 B 扫描图像上以前的工作中已经研究过[16,17]。 此外,基于端到端变换器的物体检测器(DETR 和 Deformable DETR)以及最近基于 CNN 的架构(YOLOv8)的性能,此前研究界尚未在 B-scan 图像上进行过研究。因此,选择这些不同架构的目的是为了拓宽我们对基于深度学习的不同类型物体检测器在 UT 缺陷检测任务中的性能和影响的理解。
下面,我们将详细介绍我们在训练和评估阶段为每个模型手动设置的配置和超参数。我们手动设置的主要超参数包括学习率、网络输入图像大小以及迭代次数和历时次数。选择这些参数的理由是根据我们的图像数据集的特性进行设置。任何未明确提及的配置和超参数都与模型开发人员在预训练阶段所做的选择保持一致。我们在这一步骤中的目标是保持预训练模型时使用的大部分设置,目的是将这些模型在我们的数据集上的初步结果作为基准。所有模型都是在配备 Cuda 11.8、torrent 2.1.2 和 torchvision 0.16.2 [30] 的 Nvidia A100 40 GB GPU 上进行微调和评估的。为了提高不同超参数下结果的可重复性,我们将随机种子设置为 42,以实现更确定的随机初始化。值得注意的是,我们选择不从头开始训练这些模型,如文献[31]所讨论的那样,以避免不必要地延长训练过程而模型性能却没有显著提高,同时也因为没有足够大的数据集进行预训练。图 11 表示 B 扫描经过的流水线,用于分析潜在的缺陷。