OpenFWI代码

重点关注文章第4部分

一、代码模块概览

这一部分了解代码主要实现的功能有哪些。

二、运行

这一部分关注如何跑通。

三、数据集

12个数据集(11个2D+1个3D)
在这里插入图片描述
对计算机而言,上述输入、输出维度大小是按次数定义的。
在这里插入图片描述
以“Vel,Fault和Style”系列为例,观测系统设置是:
网格间距10m(Q:网格的作用是什么 A:一是建立数据和实际地球空间位置上的对应;二是方便数据处理。在实际勘探中,观测点分布可能不均匀,对没观测到的地方通过插值填充,此外网格化有助于标准化地震数据处理流程,确保不同数据集之间的一致性和可比性。)
每条炮线的长度是700m,炮间距是140m——共5次放炮
每条接收线的长度是700m,由于检波器间距是10m——共70个检波点
总共的记录时长是1s,每0.001s采样一次,一共采样1000次。

3.0数据加载

对于 Vel、Fault、Style 系列中的任何数据集,地震数据都保存为 .npy 文件,每个文件包含一批 500 个样本。
datai.npy 指地震数据的 i-th 样本,包含500个样本。
注意:并不是i取值从1-500,而是每份第i个.npy文件都包含500个样本。

import numpy as np
# load seismic data
seismic_data = np.load('data1.npy')
print(seismic_data.shape) #(500,5,1000,70)
# load velocity map
velocity_map = np.load('model1.npy')
print(velocity_map.shape) #(500,1,70,70)

Q:为什么加载的是data1.npy,地震数据的第1个样本,注释里print出来的却是500个样本?
A:歧义出现“地震数据的第1个样本”,实际上是地震数据的第1个.npy文件,每个.npy文件都包含500个样本。

the data is saved as .npy files, each file contains a batch of 500 samples. datai.npy refers to the i-th sample of seismic data

方式一:加载.npy文件的方法之一是可以通过.txt文件找位置。

3.1 与现有数据集特征的对比——文章第3部分

  • Wenlong Wang and Jianwei Ma. Velocity model building in a crosswell acquisition geometry with image-trained artificial neural networks. Geophysics, 85(2):U31–U46, 2020.
  • Bin Liu, Senlin Yang, Yuxiao Ren, Xinji Xu, Peng Jiang, and Yangkang Chen. Deep-learning seismic full-waveform inversion for realistic structural modelsdl seismic fwi. Geophysics, 86(1):R31–R44, 2021.
  • Mauricio Araya-Polo, Joseph Jennings, Amir Adler, and Taylor Dahlke. Deep-learning tomography. The Leading Edge, 37(1):58–66, 2018.
  • Fangshu Yang and Jianwei Ma. Deep-learning inversion: A next-generation seismic velocity model building method. Geophysics, 84(4):R583–R599, 2019.
  • Yuxiao Ren, Lichao Nie, Senlin Yang, Peng Jiang, and Yangkang Chen. Building complex seismic velocity models for deep learning inversion. IEEE Access, 9:63767–63778, 2021.
  • Zhicheng Geng, Zeyu Zhao, Yunzhi Shi, Xinming Wu, Sergey Fomel, and Mrinal Sen. Deep learning for velocity model building with common-image gather volumes. Geophysical Journal International, 228(2):1054–1070, 2022.
    在这里插入图片描述

地质结构

  • 界面 Mrinal K Sen. Seismic inversion. Society of Petroleum Engineers Richardson, TX, 2006.
  • 断层 Mauricio Araya-Polo, Taylor Dahlke, Charlie Frogner, Chiyuan Zhang, Tomaso Poggio, and Detlef Hohl. Automated fault detection without seismic processing. The Leading Edge, 36(3):208–214, 2017.
  • 多样性 Hui Li, Jing Lin, Baohai Wu, Jinghuai Gao, and Naihao Liu. Elastic properties estimation from prestack seismic data using ggcnns and application on tight sandstone reservoir characterization. IEEE Transactions on Geoscience and Remote Sensing, 60:1–21, 2021.

速度图是从三个来源生成的:数学函数、自然图像和地质储层。
这一特性显著增强了速度图的多样性和通用性。
数据生成流程在这里插入图片描述

  • 生成速度图的数学公式:
    在这里插入图片描述
    (f是用于模拟断层的随机线性函数)

  • 风格迁移的数学公式:
    在这里插入图片描述

3.2 基准方法对比——文章第4部分

  • InversionNet:
    Yue Wu and Youzuo Lin. InversionNet: An efficient and accurate data-driven full waveform inversion. IEEE Transactions on Computational Imaging, 6:419–433, 2019.
  • VelocityGAN:
    Zhongping Zhang and Youzuo Lin. Data-driven seismic waveform inversion: A study on the robustness and generalization. IEEE Transactions on Geoscience and Remote sensing,
    58(10):6900–6913, 2020.
  • UPFWI:
    Peng Jin, Xitong Zhang, Yinpeng Chen, Sharon Huang, Zicheng Liu, and Youzuo Lin. Unsurpervised learning of full-waveform inversion: Connecting CNN and partial differential equation in a loop. In Proc. Tenth International Conference on Learning Representations (ICLR), 2022.
  • InversionNet3D:
    Qili Zeng, Shihang Feng, Brendt Wohlberg, and Youzuo Lin. InversionNet3D: Efficient and scalable learning for 3-D full-waveform inversion. IEEE Transactions on Geoscience and Remote Sensing, 60:1–16, 2022.

3.3 OpenFWI数据集(对于Vel和Fault系列)的复杂性度量——文章第5部分

  • 复杂度指标1:熵
  • 复杂度指标2:空间信息度
  • 复杂度指标3:梯度稀疏指数

以上3个指标都是指标越大,越复杂。

四、效果展现

图5:复杂度指标(横轴——实际的速度图模型复杂度)和SSIM(纵轴——反演预测出来的速度图图像质量)之间的关系(映射)
(为什么要把模型复杂度评价指标和图像质量评价指标SSIM进行比较?)
观察随着目标反演的数据集变化,即速度图复杂度的变化,反演输出图像(速度图)质量的变化。
左图:以复杂度指标2为横轴,把Vel和Fault系列的8个数据集定量刻画在横轴上,经网络反演后的结果分别用SSIM度量。发现随着标签的复杂度增大,反演预测的图像质量也在下降。

M思考:3张图分别从不同的方面定量刻画标签复杂度:发现数据集的反演效果随熵(整体复杂度)增加变化不大,若是局部指标(像空间信息或梯度稀疏指数)变化,则对反演效果影响较大。说明描述数据集的重要属性是梯度稀疏指数。

不论哪个指标描述标签复杂度的变化,3张图像都反映了SSIM下降的趋势
因此得出结论:复杂的速度图更难从地震数据中反演。

下一步工作:
结合代码,加深对网络参数的理解,完善一、二的学习内容

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

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

相关文章

线程池【开发实践】

文章目录 一、为什么要用线程池1.1 单线程的问题1.2 手动创建多线程的问题1.3 线程池的作用(优点)1.4 线程池的使用场景 二、线程池的基础知识2.1 线程池的核心组件2.2 JUC中的线程池架构2.3 线程池的配置参数2.4 线程池常见的拒绝策略(可自定…

昇思25天学习打卡营第21天|LSTM+CRF序列标注

1. 学习内容复盘 概述 序列标注指给定输入序列,给序列中每个Token进行标注标签的过程。序列标注问题通常用于从文本中进行信息抽取,包括分词(Word Segmentation)、词性标注(Position Tagging)、命名实体识别(Named Entity Recognition, NER)等。以命名…

汇川伺服 (4)FFT、机械特性、闭环、惯量、刚性、抑制振动

一、参数解释 二、FFT 三、机械特性分析 四、多级配方与对象字典 对机组网配方 对象字典 五、InoServoShop 主要是用于调试620P620N将压缩报解压后不需要安装就可以直接使用 六、InoDriveWorkShop 主要是调试660 670 810 520 等系列 惯量识别 Etune Stune 惯量比调试 大惯…

Error:sql: expected 1 arguments, got 2

一 背景 在测试一个API接口时,看到日志里面突然抛出一个错误:Error:sql: expected 1 arguments, got 2 看了下,对应的表里面是有相关数据的,sql语句放在mysql里面执行也是没问题!那奇了怪了,为啥会产生这样…

git只列出本地分支

git只列出本地分支 git branch --list git强制删除本地分支 git branch -D_error: the branch dlx-test is not fully merged. -CSDN博客文章浏览阅读648次。git branch -d 可以通过: git branch 查看所有本地分支及其名字,然后删除特定分支。git删除远程remote分支…

算法之工程化内容(2)—— Git常用命令

目录 1. git初始化配置 2. 新建仓库 3. 工作区——>暂存区——>本地仓库 4. git reset回退版本 5. 查看差异 git diff 6. 删除文件git rm 7. .gitignore 8. vscode操作git 9. git分支、合并和删除 10. 解决合并冲突 11. 回退和rebase 12. 添加远程仓库 参考链接&#xff…

Linux 网络--TCP协议收包流程(NAPI机制)

Linux 网络--TCP协议收包流程(NAPI机制) 平台环境简介:宿主机: ubuntu18.04Linux内核源码版本: Linux-4.15网卡驱动: Intel e1000 (ubuntu 虚拟机默认网卡驱动)协议:TCP协议,本文分析收包过程 本…

【线程状态-2】

1、线程礼让 (1)礼让线程,让当前正在执行的线程暂停,但不阻塞 (2)将线程从运行状态转为就绪状态 (3)让cpu重新调度,礼让不一定成功!看cpu心情 package st…

单对以太网:工业4.0时代的通信革命

单对以太网连接器概述 单对以太网(Single Pair Ethernet,简称SPE)是一种新兴的以太网技术,它通过一对双绞线实现数据传输,支持PoDL(Power over Data Line)技术,为终端设备提供电力供…

windows JDK11 与JDK1.8自动切换,以及切换后失效的问题

1.windows安装不同环境的jdk 2.切换jdk 3.切换失败 原因:这是因为当我们安装并配置好JDK11之后它会自动生成一个环境变量(此变量我们看不到),此环境变量优先级较高,导致我们在切换回JDK8后系统会先读取到JDK11生成的…

Java项目:基于SSM框架实现的中小型企业财务管理系统【ssm+B/S架构+源码+数据库+答辩PPT+开题报告+毕业论文】

一、项目简介 本项目是一套基于SSM框架实现的中小型企业财务管理系统 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美观、操作简单…

Spark实现电商消费者画像案例

作者/朱季谦 故事得从这一张图开始说起—— 可怜的打工人准备下班时,突然收到领导发来的一份电商消费者样本数据,数据内容是这样的—— 消费者姓名|年龄|性别|薪资|消费偏好|消费领域&#x…

CentOS 7:停止更新后如何下载软件?

引言 CentOS 7 是一个广受欢迎的 Linux 发行版,它为企业和开发者提供了一个稳定、安全、且免费的操作系统环境。然而,随着时间的推移,CentOS 7 的官方支持已经进入了维护阶段,这意味着它将不再收到常规的更新和新功能,…

2024建博会|博联AI大模型全屋智能引领智能体验新纪元

7月8日,2024中国建博会(广州)在广交会展馆及保利世贸博览馆盛大启幕。BroadLink博联智能携AI大模型全屋智能以及AI商业照明解决方案惊喜亮相,全方位展示AI大模型在智能家居领域的前沿应用成果。 本次建博会,博联智能带…

NPDP含金量高吗?什么人适合学习NPDP?

PMP考完了,最近在考NPDP,这也是一个有意思的证书,含金量还不错,非常适合想转型和升级的人来考。 一、NPDP是什么 NPDP其实就是产品经理国际资格认证(New Product Development Professional),是…

嵌入式c语言——指针加修饰符

指针变量可以用修饰符来修饰

Redis部署和基础命令

一、Redis基本概念 1.1 Redis简介 Redis(远程字典服务器) 是一个开源的、使用 C 语言编写的 NoSQL 数据库。 Redis 基于内存运行并支持持久化,采用key-value(键值对)的存储形式,是目前分布式架构中不可或…

python爬虫之scrapy基于管道持久化存储操作

python爬虫之scrapy基于管道持久化存储操作 本文基于python爬虫之基于终端指令的持久化存储和python爬虫之数据解析操作而写 scrapy持久化存储 基于管道: 编码流程: 1、数据解析 2、在item类中定义相关属性 3、将解析的数据封装存储到item类型的对象 4、…

【问题记录】VsCode中以管理员权限运行Powershell

问题展示 今天在尝试运行nodemon命令的时候出问题,显示没法识别,经过分析发现是管理员权限的问题,由于是在vscode里面进行开发,因此特此进行配置。 方法一 直接在vscode命令行中输入如下命令: Start-Process powers…

IDEA如何创建原生maven子模块

文件 -> 新建 -> 新模块 -> Maven ArcheTypeMaven ArcheType界面中的输入框介绍 名称:子模块的名称位置:子模块存放的路径名创建Git仓库:子模块不单独作为一个git仓库,无需勾选JDK:JDK版本号父项:…