当前位置: 首页 > news >正文

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

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培训,特别是焊接检查的模拟。

相关文章:

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

Title 题目 A review of synthetic and augmented training data for machine learning in ultrasonic non-destructive evaluation 机器学习在超声无损检测中合成与增强训练数据的综述 01 文献速递介绍 注:原文篇幅较长,这里分多次进行分享。近年来&…...

gitlab高级功能之mirroring - push mirroring(一)

今天给大家介绍一个gitlab很高级也是非常有用的功能 - gitlab的mirroring,你可以将仓库镜像到外部或从外部镜像仓库过来,从而可以实现分支、标签和提交的自动同步。 文章目录 1. mirroring的实现方式2. push mirroring2.1 简介2.2 说明 3. 配置推送镜像3…...

【PUSDN】WebStorm中报错Switch language version to React JSX

简述 WebStorm中报错Switch language version to React JSX 可能本页面的写法是其他语法。所以可以不用管。 测试项目:ant design vue pro 前情提示 系统: 一说 同步更新最新版、完整版请移步PUSDN Powered By PUSDN - 平行宇宙软件开发者网www.pusdn…...

【算法思考记录】力扣1094.拼车 C++【树状数组】

拼车问题(LeetCode 1094)的解析与C实现 Problem: 1094. 拼车 题目背景 在本题中,我们需要处理一个拼车的问题。假设一辆车有固定的座位容量,我们需要根据乘客的上车和下车地点,判断车辆是否能够在整个行程中满足不超过…...

业务场景中Hive解析Json常用案例

业务场景中Hive解析Json常用案例 json在线工具 json格式转换在线工具 https://tool.lu/json/format格式互转: // 格式化可以合并整行显示 {"name":"John Doe","age":35,"email":"johnexample.com"}// 格式化…...

垃圾回收与内存泄漏

前端面试大全JavaScript垃圾回收与内存泄漏 🌟经典真题 🌟什么是内存泄露 🌟JavaScript 中的垃圾回收 🌟标记清除 🌟引用计数 🌟真题解答 🌟总结 🌟经典真题 请介绍一下 Jav…...

SQL Server 2016(创建数据表)

1、需求描述。 在名为“class”的数据库中创建表,表名称为“course”,其中要包含序号、课程、课程编号、学分、任课教师、上课地点、开始时间、结束时间、备注等列。 设置各个字段的数据类型。其中,"序号"列为标识列,从…...

mysql配置文件低于8.0版本慎用(头部声明的路径请自行替换或删减)(干货)

[mysqld] character-set-server utf8mb4 collation-server utf8mb4_general_ci init_connectSET NAMES utf8mb4datadir/data/mysql/data socket/data/mysql/mysql.socklog-error/data/mysql/log/mysql_error.log pid-file/data/mysql/mysqld.pidserver_id1 #如果做集群不同my…...

给WordPress文章添加广告位

/* * WordPress 在文章内容中间插入广告//由www.wwttl.com提供学习 */ //在文章内容的第二段后面插入广告 add_filter( the_content, prefix_insert_post_ads ); function prefix_insert_post_ads( $content ) { $ad_code <div>广告代码放这里</div>;if ( is_sing…...

[GPT-1]论文实现:Improving Language Understanding by Generative Pre-Training

Efficient Graph-Based Image Segmentation 一、完整代码二、论文解读2.1 GPT架构2.2 GPT的训练方式Unsupervised pre_trainingSupervised fine_training 三、过程实现3.1 导包3.2 数据处理3.3 模型构建3.4 模型配置 四、整体总结 论文&#xff1a;Improving Language Understa…...

23种设计模式之C++实践(一)

23种设计模式之C++实践 1. 简介2. 基础知识3. 设计模式(一)创建型模式1. 单例模式——确保对象的唯一性1.2 饿汉式单例模式1.3 懒汉式单例模式比较IoDH单例模式总结2. 简单工厂模式——集中式工厂的实现简单工厂模式总结3. 工厂方法模式——多态工厂的实现工厂方法模式总结4.…...

华为OD机试 - 园区参观路径(Java JS Python C)

题目描述 园区某部门举办了Family Day,邀请员工及其家属参加; 将公司园区视为一个矩形,起始园区设置在左上角,终点园区设置在右下角; 家属参观园区时,只能向右和向下园区前进,求从起始园区到终点园区会有多少条不同的参观路径。 输入描述 第一行为园区的长和宽; 后…...

【ARM Trace32(劳特巴赫) 使用介绍 12 -- Trace32 常用命令之 d.dump | data.dump 介绍】

文章目录 Trace32 常用命令之 d.dump | data.dump 介绍1 字节显示 (Byte)4 字节显示&#xff08;word&#xff09;8 字节显示&#xff08;通常long&#xff09;十进制显示显示指定列数显示地址范围内的值 Trace32 常用命令之 d.dump | data.dump 介绍 在 TRACE32 调试环境中&a…...

【Git】Git撤销操作

记录一下&#xff0c;方便后续查找&#xff0c;不全&#xff0c;后续再做补充。 丢弃当前工作区未提交的修改 # 丢弃所有修改 git checkout .# 丢弃某个文件修改 git checkout 文件名丢弃本地已经提交的代码 &#xff08;1&#xff09;撤销最近一次提交 如果我们在最近一次提…...

改造python3中的http.server为简单的文件上传下载服务

改造 修改python3中的http.server.SimpleHTTPRequestHandler&#xff0c;实现简单的文件上传下载服务 simple_http_file_server.py&#xff1a; # !/usr/bin/env python3import datetime import email import html import http.server import io import mimetypes import os …...

Fiddler抓包工具之fiddler的composer可以简单发送http协议的请求

一&#xff0c;composer的详解 右侧Composer区域&#xff0c;是测试接口的界面&#xff1a; 相关说明&#xff1a; 1.请求方式&#xff1a;点开可以勾选请求协议是get、post等 2.url地址栏&#xff1a;输入请求的url地址 3.请求头&#xff1a;第三块区域可以输入请求头信息…...

14、pytest像用参数一样使用fixture

官方实例 # content of test_fruit.py import pytestclass Fruit:def __init__(self, name):self.name nameself.cubed Falsedef cube(self):self.cubed Trueclass FruitSalad:def __init__(self, *fruit_bowl):self.fruit fruit_bowlself._cube_fruit()def _cube_fruit(s…...

C++ Primer Plus第十三章笔记

目录 基类 构造函数&#xff1a;访问权限的考虑 1.2 派生类和基类之间的特殊关系 继承&#xff1a;is-a关系 多态公有继承 静态联编和动态联编 指针和引用类型的兼容性 虚成员函数和动态联编 虚函数的注意事项 构造函数 析构函数 友元 没有重新定义 重新定义将隐…...

【JavaEE】单例模式

作者主页&#xff1a;paper jie_博客 本文作者&#xff1a;大家好&#xff0c;我是paper jie&#xff0c;感谢你阅读本文&#xff0c;欢迎一建三连哦。 本文于《JavaEE》专栏&#xff0c;本专栏是针对于大学生&#xff0c;编程小白精心打造的。笔者用重金(时间和精力)打造&…...

第十五届蓝桥杯模拟赛(第二期 C++)

俺自己做的噢&#xff0c;还未核实答案&#xff0c;若有差错&#xff0c;望斧正。 第一题 小蓝要在屏幕上放置一行文字&#xff0c;每个字的宽度相同。小蓝发现&#xff0c;如果每个字的宽为 36 像素&#xff0c;一行正好放下 30 个字&#xff0c;字符之间和前后都没有任何空隙…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者

抖音增长新引擎&#xff1a;品融电商&#xff0c;一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中&#xff0c;品牌如何破浪前行&#xff1f;自建团队成本高、效果难控&#xff1b;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

前端开发面试题总结-JavaScript篇(一)

文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包&#xff08;Closure&#xff09;&#xff1f;闭包有什么应用场景和潜在问题&#xff1f;2.解释 JavaScript 的作用域链&#xff08;Scope Chain&#xff09; 二、原型与继承3.原型链是什么&#xff1f;如何实现继承&a…...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

ip子接口配置及删除

配置永久生效的子接口&#xff0c;2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...

Java + Spring Boot + Mybatis 实现批量插入

在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法&#xff1a;使用 MyBatis 的 <foreach> 标签和批处理模式&#xff08;ExecutorType.BATCH&#xff09;。 方法一&#xff1a;使用 XML 的 <foreach> 标签&#xff…...

R语言速释制剂QBD解决方案之三

本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...