材料空间「填空解谜」:MIT 利用深度学习解决无损检测难题

2023-10-15 12:40

本文主要是介绍材料空间「填空解谜」:MIT 利用深度学习解决无损检测难题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

内容一览:材料检测在工程、科学及制造业中扮演着至关重要的角色。传统的材料检测方法,例如切割和化学试剂检测具有破坏性,同时较为耗费时间和资源。近期,MIT 科学家利用深度学习开发了一种技术,能够填补缺失信息,并进一步通过表面观察确定材料的内部结构。
关键词:深度学习 材料检测 CNN

作者|daserney

编辑|三羊

本文首发于 HyperAI 超神经微信公众平台~

在数据处理时,经常遇到一种挑战,即从模糊的图像或部分信息中复原完整的图像。这种挑战被称为「逆问题」(inverse problem),它不仅在医学诊断中普遍存在,也在材料科学中频繁出现。如果我们能够有效地填补这些缺失的信息,就有可能更全面、更准确地理解生物组织或材料的性质,从而做出更精确的决策。

如何无损检测材料内部的组织结构困扰着许多相关从业人员。无损检测指利用现代化技术和设备,在不损害或影响材料内部组织和使用性能的前提下,检测材料内部结构。虽然可以通过使用 X 射线等技术进行检测,但这些方法通常较为昂贵,并且需要庞大的设备。

为此,MIT (麻省理工学院) 的中国博士生杨镇泽及 Markus Buehler 教授结合多种深度学习架构,在 2D 和 3D 的情况下,分别通过有限的信息恢复材料中的缺失部分,并进一步表征微观结构。

目前,该研究成果已发表在《Advanced Materials》期刊上,标题为「Fill in the Blank: Transferrable Deep Learning Approaches to Recover Missing Physical Field Information」。

该研究成果已发表在《Advanced Materials》

论文地址:

https://onlinelibrary.wiley.com/doi/full/10.1002/adma.202301449

实验概述:模型组合进行「填空解谜」

下图展示了该研究的总体示意图。在左边的图中,灰色立方体为缺失的部分。在 2D 和 3D 情况下,分别有两个 AI 模型组合执行任务。研究人员训练第一个 AI 模型「填补空白」,从 masked field 中恢复 complete field,训练第二个 AI 模型「解谜」,将恢复的 complete field 作为输入,反向获得复合材料对应的微观结构 (Microstructure)。

图 1: 总体示意图

研究人员使用有限元分析 (Finite Element Analysis, FEA) 来计算特定条件下 2D 和 3D 复合材料的应变和应力场 (strain and stress fields)。

在 2D 情况下,研究人员创建了对称的 8×8 网格,用于构建复合材料的几何形状(共 232 种可能的几何形状)。随后,随机生成了 1,000 种不同的复合材料微观结构用于单轴拉伸测试 (uniaxial tensile test)。

在 3D 情况下,研究人员利用 2×4×4 网格创建了两层微观结构(共 232 种可能的几何形状),并使用 4×4×4 网格构建了 4 层复合材料(共 264 种可能的几何形状)。为了使可能几何形状的数量与 2D 情况相同,研究人员选择了 2×4×4 网格作为基准,并随机生成了 2,000 种不同的几何形状用于 FEA 计算。

数据的可视化及预处理

在 2D 情况下,通过使用 Abaqus 可视化工具,研究人员生成了从 FEA 中得到的应变和应力场图像,并使用白色和红色的条块进行表示。接着,通过 Python 预处理,进行剪切、调整大小和重新着色。预处理后的图像尺寸为 256×256。在复合材料几何图或微观结构中,红色块代表柔软材料,而白色块代表刚性材料。研究人员引入了规则和不规则形状的掩码,规则掩码是方形形状,大小从 96-128 不等。

在 3D 情况下,研究人员收集了每个单元的应变和应力值 (strain and stress values),然后对其进行了归一化,形成一个 16×32×32×1 的矩阵。与 2D 情况类似,使用 Python 代码可视化应变和应力场的等值线。将一系列 field 图像存储在一个 16×32×32×3 的矩阵中,用作训练和测试深度学习模型的数据表示形式。相应的 3D 复合材料微观结构可视化通过 Matplotlib 库进行体积绘制。

模型选择:GAN + ViViT + CNN

本研究采用了多种深度学习模型,包括生成对抗网络 (GAN)、基于 Transformer 的 ViViT 模型及卷积神经网络 (CNN)。

  • GAN: 在填补 2D 图像阶段,研究人员使用了 GAN 模型,该模型被称为 DeepFill 模型的第二版本,可以进行自由形式的图像修复。
  • ViViT: 在 3D 情况下,研究人员使用基于 Transformer 架构的 ViViT 模型进行填补空白。
  • CNN: 在获得 complete field 后,2D 和 3D 情况下皆采用了 CNN 模型,以建立从力学行为到复合材料微观结构的逆向链接。

实验结果:ViViT + CNN 实现完美预测

2D 情况

为了获得预测误差,研究人员绘制了预测应力平均值与掩码区域内实际值的散点图。掩码的形状随机生成。如下图 c 所示,给定 200 个测试数据的 R2 指标达到 0.998,表明 GAN 模型性能出色。

图 2: 2D 情况下模型表现

c: GAN 模型在填补图像上的表现。Ground truth 与预测值显示出很高的一致性 (R2 = 0.998)。

d: CNN 模型进行几何识别的性能。图中显示了 ground truth 与预测结果之间的 geometry difference 分布。

此外,研究人员通过计算 geometry difference 来评估 CNN 模型在几何识别方面的性能。geometry difference 是真实序列和预测序列之间不同材料块的数量。如图 2d 所示,大多数预测序列与实际序列相同,所有 200 个测试数据中的最大 geometry difference 为 0.0625,32 个块 (block) 中有两个不同。如果恢复的 field 图像不准确,几何误差会增加。因此,CNN 模型的精确预测进一步验证了 GAN 模型的高性能。

3D 情况

在实际工程实践中,3D 复合材料微观结构通常比 2D 情况更加复杂。下图展示了 8 个预测的 field frames 与 ground truth 的对比。结果显示,改进后的 ViViT 模型能够利用复合材料中的一层(第 1 至第 8 帧)的 mechanical fields,对另一层(第 9 至第 16 帧)的 field 进行准确预测。

图 3: 两例双层复合材料的 field frame 预测。

前 8 个帧作为输入,其余 8 个帧由深度学习模型预测。

图 4 显示了所有 200 个测试数据的第 9 至第 16 帧的均方误差 (MSE)。每个数据点的 MSE 是通过计算预测的 field maps 和真实值之间像素值平方差的平均值得到的。8 个预测帧的整体 MSE 都很低,全部帧的平均 MSE 都低于 0.001,显示了 ViViT 模型的出色性能。

均方误差 (Mean Squared Error, MSE) 是一种常用的评估预测模型准确性的指标。在预测过程中, MSE 用于度量预测值与真实值之间的差异程度。MSE 值越小,表示预测模型的准确性越高。

图 4: 误差分布

通过预测的 field frame,可以利用完整的 3D mechanical fields 来确定复合材料的微观结构。与 2D 情况类似,研究人员使用 CNN 模型来进行预测。如图 4 右上方小图所示,geometry difference 为 0,通过将改进后的 ViViT 模型与 CNN 模型相结合,能够实现对内部 3D 微观结构的精确识别,其中大多数几何形状得到了完美预测。

LAMM 实验室:链接材料结构与功能

该研究为 MIT 的中国博士生杨镇泽及 Markus Buehler 教授共同完成。杨镇泽是 MIT 的博士生,在 MIT 原子和分子力学实验室 (LAMM) 工作。研究兴趣包括将机器学习和深度学习技术与多尺度模拟方法相结合,以加速复合材料、纳米材料和生物材料等各种材料的性能计算和设计。在此之前,杨镇泽获得了中国科学院大学的物理学学士学位。

杨镇泽与 Markus Buehler 教授

杨镇泽个人网站:

https://www.zhenzeyang.com/

实验室地址:

http://lamm.mit.edu/

通讯作者 Markus Buehler 是 LAMM 的主要研究员。Markus Buehler 学术研究引用率很高,在计算材料科学、生物材料和纳米技术等方面发表了 450 多篇文章。他的目标之一是利用音乐和声音设计,结合人工智能,以一种抽象的方式从底层开始模拟、优化和创造新形式的自治物质 (autonomous matter),跨越尺度(例如从纳米到宏观)和物种(例如从人类到蜘蛛)。

LAMM 致力于开发一种新范式,从分子尺度开始设计材料。结合结构工程、材料科学和生物学的概念,LAMM 将基本的原子尺度化学结构与功能尺度相连接,通过理解生物材料如何形成层次结构,实现优越的力学性能,将结构和功能的概念融合在一起。

参考链接:

[1]MIT中国博士生研发深度学习模型,可用于解决材料研究中的逆问题 - 知乎

[2]MIT’s AI System Reveals Internal Structure of Materials From Surface Observations

[3]https://professional.mit.edu/programs/faculty-profiles/markus-j-buehler

本文首发于 HyperAI 超神经微信公众平台~

这篇关于材料空间「填空解谜」:MIT 利用深度学习解决无损检测难题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

linux报错INFO:task xxxxxx:634 blocked for more than 120 seconds.三种解决方式

《linux报错INFO:taskxxxxxx:634blockedformorethan120seconds.三种解决方式》文章描述了一个Linux最小系统运行时出现的“hung_ta... 目录1.问题描述2.解决办法2.1 缩小文件系统缓存大小2.2 修改系统IO调度策略2.3 取消120秒时间限制3

C#使用HttpClient进行Post请求出现超时问题的解决及优化

《C#使用HttpClient进行Post请求出现超时问题的解决及优化》最近我的控制台程序发现有时候总是出现请求超时等问题,通常好几分钟最多只有3-4个请求,在使用apipost发现并发10个5分钟也... 目录优化结论单例HttpClient连接池耗尽和并发并发异步最终优化后优化结论我直接上优化结论吧,

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学

解决systemctl reload nginx重启Nginx服务报错:Job for nginx.service invalid问题

《解决systemctlreloadnginx重启Nginx服务报错:Jobfornginx.serviceinvalid问题》文章描述了通过`systemctlstatusnginx.se... 目录systemctl reload nginx重启Nginx服务报错:Job for nginx.javas

Mysql DATETIME 毫秒坑的解决

《MysqlDATETIME毫秒坑的解决》本文主要介绍了MysqlDATETIME毫秒坑的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 今天写代码突发一个诡异的 bug,代码逻辑大概如下。1. 新增退款单记录boolean save = s

五大特性引领创新! 深度操作系统 deepin 25 Preview预览版发布

《五大特性引领创新!深度操作系统deepin25Preview预览版发布》今日,深度操作系统正式推出deepin25Preview版本,该版本集成了五大核心特性:磐石系统、全新DDE、Tr... 深度操作系统今日发布了 deepin 25 Preview,新版本囊括五大特性:磐石系统、全新 DDE、Tree

vue解决子组件样式覆盖问题scoped deep

《vue解决子组件样式覆盖问题scopeddeep》文章主要介绍了在Vue项目中处理全局样式和局部样式的方法,包括使用scoped属性和深度选择器(/deep/)来覆盖子组件的样式,作者建议所有组件... 目录前言scoped分析deep分析使用总结所有组件必须加scoped父组件覆盖子组件使用deep前言

解决Cron定时任务中Pytest脚本无法发送邮件的问题

《解决Cron定时任务中Pytest脚本无法发送邮件的问题》文章探讨解决在Cron定时任务中运行Pytest脚本时邮件发送失败的问题,先优化环境变量,再检查Pytest邮件配置,接着配置文件确保SMT... 目录引言1. 环境变量优化:确保Cron任务可以正确执行解决方案:1.1. 创建一个脚本1.2. 修

Mysql8.0修改配置文件my.ini的坑及解决

《Mysql8.0修改配置文件my.ini的坑及解决》使用记事本直接编辑my.ini文件保存后,可能会导致MySQL无法启动,因为MySQL会以ANSI编码读取该文件,解决方法是使用Notepad++... 目录Myhttp://www.chinasem.cnsql8.0修改配置文件my.ini的坑出现的问题

SpringBoot项目删除Bean或者不加载Bean的问题解决

《SpringBoot项目删除Bean或者不加载Bean的问题解决》文章介绍了在SpringBoot项目中如何使用@ComponentScan注解和自定义过滤器实现不加载某些Bean的方法,本文通过实... 使用@ComponentScan注解中的@ComponentScan.Filter标记不加载。@C