材料空间「填空解谜」: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 超神经微信公众平台~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/109732.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

certbot-https证书自动续期

certbot是一个免费的开源项目是EFF的一部分,自动化的工具,用于帮助管理和续期SSL/TLS证书。它可以安装、配置和自动续期证书。 1、安装 snapd 将 EPEL 存储库添加到您的 CentOS 安装中。输入y回车继续安装 sudo yum install snapd; sudo systemctl en…

无人机巡检输电线路是什么,怎么巡?

在今日科技迅速发展的时代,无人机为输电线路巡检提供了一种高效、安全且准确的解决方案。那么,为什么无人机巡检输电线路如此关键呢?以下是对这一问题的深入剖析。 1. 提高工作效率 传统的巡检模式与现实挑战:在过去,输…

6. 激活层

6.1 非线性激活 ① inplace为原地替换,若为True,则变量的值被替换。若为False,则会创建一个新变量,将函数处理后的值赋值给新变量,原始变量的值没有修改。 import torch from torch import nn from torch.nn import …

专访 Hyper Oracle:可编程的 zkOracle 打造未来世界的超算

许多 Web3 应用在实现的过程中,常常会遇到基础设施方面的限制,包括去中心化自动化、预言机、链上信息搜索等问题。绝大部分区块链的中间件网络都是依赖于节点质押来保证节点执行的诚实性,这样的模式会产生诸多衍生问题,例如安全性…

VScode使用SSH连接linux

1、官网下载和安装软件 https://code.visualstudio.com/Download 2、安装插件 单击左侧扩展选项,搜索插件安装 总共需要安装的插件如下所示 3、配置连接服务器的账号 安装完后会在左侧生成了远程连接的图标,单击此图标,然后选择设置图标…

卷积神经网络——中篇【深度学习】【PyTorch】【d2l】

文章目录 5、卷积神经网络5.5、经典卷积神经网络(LeNet)5.5.1、理论部分5.5.2、代码实现 5.6、深度卷积神经网络(AlexNet)5.6.1、理论部分5.6.2、代码实现 5.7、使用块的网络(VGG)5.7.1、理论部分5.7.2、代…

LNMT与动静分离

目录 一、LNMT 一、部署tomcat 二、部署nginx 三、部署mariadb 四、配置nginx 二、操作流程及步骤 一、在第一台机器上进入 vim /etc/nginx/nginx.conf 更改配置文件 二、并查看端口是否成功启动 三、验证 四、再次来到网页验证 五、动静分离(修改配置…

基于Python3 的 简单股票 可转债 提醒逻辑

概述 通过本地的定时轮训,结合本地建议数据库。检查股票可转债价格的同事,进行策略化提醒 详细 前言 为什么会有这么个东西出来呢,主要是因为炒股软件虽然有推送,但是设置了价格之后,看到推送也未必那么及时&#…

【滑动窗口】leetcode1658:将x减到0的最小操作数

目录 一.题目描述 二.思路分析 三.代码编写 一.题目描述 将x减到0的最小操作数 题目要求我们在数组的两端不断地取值,使得取出的数之和等于x,问我们最少需要取几次。 也就是说,在两边取两个区间,使得这两个区间的之和等于x&a…

Microsoft Excel整合Python:数据分析的新纪元

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

⏰⏰⏰⏰⏰⏰⏰⏰K8s常用指令集锦

1、常用基础命令 kubectl top pod -n wsmp kubectl get pod # 获取namespace下的所有podkubectl get pods -o wide # 获取 pod 详细信息 kubectl describe po ${podName} # 获得pod的状态kubectl get po ${podName} -o yaml # yaml 看不惯的话,也可以…

opencv 车牌号的定位和识别+UI界面识别系统

目录 一、实现和完整UI视频效果展示 主界面: 识别结果界面:(识别车牌颜色和车牌号) 查看历史记录界面: 二、原理介绍: 车牌检测->图像灰度化->Canny边缘检测->膨胀与腐蚀 边缘检测及预处理…

低代码与低代码平台的概念解析

随着数字化转型和软件需求的不断增长,传统的手写代码开发方式已经无法满足迅速推出应用程序的需求。为了加快软件开发的速度并降低技术门槛,低代码开发模式应运而生。本文将介绍低代码的概念,探讨什么是低代码什么是低代码平台? 一…

无涯教程-聚类算法 - K-Means

K-均值聚类算法计算质心并进行迭代,直到找到最佳质心为止,它假定群集的数目是已知的,它也称为扁平聚类算法。通过算法从数据中识别出的簇数以K均值中的" K"表示。 在该算法中,将数据点分配给群集,以使数据点…

离线竞价功能说明及设置

为了更加方便广大用户不再熬夜竞价,西部数码推出了离线竞价功能,现已正式上线,欢迎大家使用反馈。 1、离线竟价功能说明 当您拥有域名的出价权限时,您可在 【我参与的竞价】或【我出价的域名】列表选中域名开启离线竟价。 设置…

【docker】运行registry

registry简介 Docker registry是docker镜像仓库的服务,用于存储和分发docker镜像。 Docker registry主要特点和功能: 存储docker镜像:提供持久化存储docker镜像的功能,存储镜像的各个layer。 分发镜像:拉取和推送镜像的去中心化存储和分发服务。 支持版本管理:给镜像打标签…

pycharm添加虚拟环境以及虚拟环境安装pytorch

file、settings、interpreter、add interpreter、add local interpreter 记住不要勾选inherit,不然会把主环境的东西继承到虚拟环境。 创建前可以先点existing看看有没有已经建好的虚拟环境 有的时候pycharm有问题,创建了虚拟环境没有显示。找一个.py文…

linux搭建minIO对象存储服务,springBoot整合

minIO 服务搭建 1. 创建安装目录 mkdir -p /usr/local/minio2. 进入安装目录 cd /usr/local/minio3.下载安装包 (wget 如果下载太慢,可以手动下载并上传安装包) wget https://dl.minio.io/server/minio/release/linux-amd64/minio4.创建数据存储文件夹 mkdir -p /usr/loca…

如何基于自己训练的Yolov5权重,结合DeepSort实现目标跟踪

网上有很多相关不错的操作demo,但自己在训练过程仍然遇到不少疑惑。因此,我这总结一下操作过程中所解决的问题。 1、deepsort的训练集是否必须基于逐帧视频? 我经过尝试,发现非连续性的图像仍可以作为训练集。一个实例&#xff0…

【C++】详解声明和定义

2023年8月28日,周一下午 研究了一个下午才彻底弄明白... 写到晚上才写完这篇博客。 目录 声明和定义的根本区别结构体的声明和定义声明结构体 定义结构体类的声明和定义函数的定义和声明声明函数 定义函数变量声明和定义声明变量定义变量 声明和定义的根本区别 …