文献速递:机器学习在超声非破坏性评估中的合成和增强训练数据综述(第二部分)— 合成数据生成方法用于超声波测试

本文主要是介绍文献速递:机器学习在超声非破坏性评估中的合成和增强训练数据综述(第二部分)— 合成数据生成方法用于超声波测试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Title
题目

A review of synthetic and augmented training data for machine learning in ultrasonic non-destructive evaluation

机器学习在超声无损检测中合成与增强训练数据的综述

01
文献速递介绍

 注:原文篇幅较长,这里分多次进行分享。

近年来,超声波检测(UT)在机器学习(ML)的应用不断增加,推动了缺陷检测和分类中更高级别的自动化和决策制定。在非破坏性评估(NDE)中,特别是在UT中应用ML,构建一个通用的训练数据集极其困难,因为需要原始和具有代表性的有缺陷样本的数据。然而,在大多数UT测试案例中,有缺陷的样本数据本质上很少,使得数据覆盖成为应用ML时的主要问题。常见的数据增强(DA)策略提供的解决方案有限,因为它们不增加数据集的变异性,可能导致对训练数据的过拟合。虚拟缺陷方法和最近在UT中应用的生成对抗神经网络(GANs)是旨在解决这一问题的复杂DA方法。另一方面,超声波波动传播建模方面的成熟研究允许生成合成UT训练数据。在这一背景下,我们提出了第一个主题综述,总结了过去几十年在NDE中合成和增强UT训练数据的进展。此外,还介绍了合成UT数据生成和增强的方法概述。介绍并讨论了有限元、有限差分和弹性动力有限积分等数值方法,以及广义点源合成、高斯束叠加和铅笔法等半解析方法以及其他UT建模软件。同样,介绍并讨论了现有的一维和多维UT数据、特征空间增强和用于增强的GANs的DA方法。文章最后详细讨论了现有方法在合成UT训练数据生成和UT数据DA方面的优势和局限性,以帮助读者决定应用于特定测试案例。

Synthetic data generation methods for ultrasonic testing
超声检测的合成数据生成方法(原文第三部分)

数据增强方法

这一部分详细介绍了数据增强方法(Data Augmentation, DA)在超声波检测(Ultrasonic Testing, UT)数据处理中的应用。数据增强是通过对现有数据进行变换,增加数据集的多样性,以防止机器学习模型的过拟合。这些方法可以应用于模型的输入空间或特征空间。

对A扫描(一维数据)进行输入空间数据增强的方法

包括时间位移、添加噪声、噪声减少、信号拉伸或压缩等。这些方法的目的是保持合成A扫描数据与真实数据在信号特性上的一致性。

时间位移技术 通过对A扫描信号进行正负时间位移,模拟换能器与缺陷位置之间距离的变化。

添加噪声的方法 例如添加白噪声或高斯噪声,以模拟超声波换能器和测量系统中的随机过程。

噪声减少技术 如使用滤波器或小波分解等方法去除信号中的噪声。

信号拉伸/压缩技术 改变信号的频谱特性和事件之间的绝对时间。

虚拟缺陷方法 通过将已分离的缺陷信号组件逐点植入另一个有缺陷或无缺陷的信号中,生成包含缺陷的新数据。

节讨论了互易原理在数据增强中的应用 通过模拟线性系统中换能器和传感器位置之间的互易关系,以减少模拟所需的工作量。

对B扫描和C扫描(二维数据)进行输入空间数据增强的方法

这些方法主要借鉴了深度学习中的图像数据增强技术。包括几何变换、噪声注入、颜色空间转换、内核滤波器处理等。

节介绍了特征空间增强技术

这种技术不直接处理输入数据,而是处理模型学习到的特征空间。常见的特征空间增强方法包括添加噪声、外推或内插。

生成对抗神经网络(Generative Adversarial Neural Networks, GANs)在数据增强中的应用

GANs由两个竞争的深度神经网络组成,一个生成器网络生成新数据,另一个鉴别器网络区分真实数据和生成数据。GANs在数据增强中的应用,特别是在提高图像分辨率方面显示出优越性。

本文详细介绍了用于非破坏性检测(NDE)中超声波测试(UT)模拟的各种方法。这些方法包括半解析建模、数值建模和特定的UT建模软件。

模拟方法

与数据增强(DA)不同,模拟方法基于物理和/或统计模型生成新的合成数据集。这些模型旨在量化样品中的波传播和对预期缺陷的响应,以及比较不同测试策略在检测和尺寸能力方面的差异。模拟方法包括数学建模超声波传播和与缺陷的相互作用。为了生成足够多样化的合成UT训练数据,通常需要数千到数十万条数据。这要求脚本自动化来搜索参数空间,例如缺陷或换能器参数,以生成这些数据集。数据集的条目可以从单个A扫描到完整的多通道数据集不等。

半解析建模

半解析方法处理更多现实的检查场景,是纯解析和数值计算方法的混合。例如,它们结合了简化条件下的解析基本解决方案与这些基本解决方案的数值积分或求和。计算时间方面,半解析叠加方法具有优势,因为它通常只涉及模型中的特征表面的波场计算。

本文重点讨论了三种主要的半解析UT模拟方法:广义点源合成(GPSS)、高斯束(GB)叠加和铅笔法(PM),后者是商业CIVA-UT软件的基础。

数值建模

为了在复杂和现实条件下计算波传播,开发了如有限元方法(FEM)、有限差分方法(FDM)或弹性动力有限积分技术(EFIT)等数值计算方法。这些方法通过将空间和时间分解为元素和步骤来离散化和求解基本物理方程,例如波动方程。数值建模技术能够覆盖完整的波物理,包括干涉效应、模式转换、界面波、引导波、多重散射以及振动和驻波等。

UT建模软件

市场上提供了多种UT建模软件,包括CIVA、Pogo、UTman、k-Wave和simSUNDT等。这些软件基于上述基本模拟方法之一。例如,CIVA是基于铅笔法开发的商业软件,用于模拟UT、涡流(ET)、X射线检查。simSUNDT是基于半解析数学核心的Windows前后处理器。Pogo是一种基于GPU的有限元求解器,主要用于非破坏性评估。k-Wave是一个用于模拟和重建光声波场的MATLAB工具箱。UTman主要用于快速UT培训,特别是焊接检查的模拟。

这篇关于文献速递:机器学习在超声非破坏性评估中的合成和增强训练数据综述(第二部分)— 合成数据生成方法用于超声波测试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/455562

相关文章

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

Java中的String.valueOf()和toString()方法区别小结

《Java中的String.valueOf()和toString()方法区别小结》字符串操作是开发者日常编程任务中不可或缺的一部分,转换为字符串是一种常见需求,其中最常见的就是String.value... 目录String.valueOf()方法方法定义方法实现使用示例使用场景toString()方法方法

Java中List的contains()方法的使用小结

《Java中List的contains()方法的使用小结》List的contains()方法用于检查列表中是否包含指定的元素,借助equals()方法进行判断,下面就来介绍Java中List的c... 目录详细展开1. 方法签名2. 工作原理3. 使用示例4. 注意事项总结结论:List 的 contain

macOS无效Launchpad图标轻松删除的4 种实用方法

《macOS无效Launchpad图标轻松删除的4种实用方法》mac中不在appstore上下载的应用经常在删除后它的图标还残留在launchpad中,并且长按图标也不会出现删除符号,下面解决这个问... 在 MACOS 上,Launchpad(也就是「启动台」)是一个便捷的 App 启动工具。但有时候,应

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

SpringBoot日志配置SLF4J和Logback的方法实现

《SpringBoot日志配置SLF4J和Logback的方法实现》日志记录是不可或缺的一部分,本文主要介绍了SpringBoot日志配置SLF4J和Logback的方法实现,文中通过示例代码介绍的非... 目录一、前言二、案例一:初识日志三、案例二:使用Lombok输出日志四、案例三:配置Logback一

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很