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

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

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

相关文章

批量导入txt数据到的redis过程

《批量导入txt数据到的redis过程》用户通过将Redis命令逐行写入txt文件,利用管道模式运行客户端,成功执行批量删除以Product*匹配的Key操作,提高了数据清理效率... 目录批量导入txt数据到Redisjs把redis命令按一条 一行写到txt中管道命令运行redis客户端成功了批量删除k

Python安装Pandas库的两种方法

《Python安装Pandas库的两种方法》本文介绍了三种安装PythonPandas库的方法,通过cmd命令行安装并解决版本冲突,手动下载whl文件安装,更换国内镜像源加速下载,最后建议用pipli... 目录方法一:cmd命令行执行pip install pandas方法二:找到pandas下载库,然后

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

SQL Server安装时候没有中文选项的解决方法

《SQLServer安装时候没有中文选项的解决方法》用户安装SQLServer时界面全英文,无中文选项,通过修改安装设置中的国家或地区为中文中国,重启安装程序后界面恢复中文,解决了问题,对SQLSe... 你是不是在安装SQL Server时候发现安装界面和别人不同,并且无论如何都没有中文选项?这个问题也

Java Thread中join方法使用举例详解

《JavaThread中join方法使用举例详解》JavaThread中join()方法主要是让调用改方法的thread完成run方法里面的东西后,在执行join()方法后面的代码,这篇文章主要介绍... 目录前言1.join()方法的定义和作用2.join()方法的三个重载版本3.join()方法的工作原

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

java如何实现高并发场景下三级缓存的数据一致性

《java如何实现高并发场景下三级缓存的数据一致性》这篇文章主要为大家详细介绍了java如何实现高并发场景下三级缓存的数据一致性,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 下面代码是一个使用Java和Redisson实现的三级缓存服务,主要功能包括:1.缓存结构:本地缓存:使

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分