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

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下降的趋势
因此得出结论:复杂的速度图更难从地震数据中反演。

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 如何用qq邮箱注册outlook邮箱
  • 若依 / ruoyi-ui:执行yarn dev 报错 esnext.set.difference.v2.js in ./src/utils/index.js
  • 使用redis进行短信登录验证(验证码打印在控制台)
  • STM32的SPI接口详解
  • 【算法】代码随想录之数组(更新中)
  • Python学习笔记33:进阶篇(二十二)pygame的使用之image模块
  • 【笔记】在window上连接虚拟机中的redis
  • PTA - 编写函数计算圆面积
  • 垃圾回收器详解
  • mybatis-plus中的方法的作用
  • 【网络安全的神秘世界】XSS基本概念和原理介绍
  • FFmpeg引用计数数据缓冲区相关的结构体:AVBuffer、AVBufferRef简介
  • 3款ui设计师必备的高效软件,一定要收藏!
  • 谷粒商城 - 编写一个自定义校验注解
  • k8s-第一节-minikube
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • 2017-09-12 前端日报
  • 3.7、@ResponseBody 和 @RestController
  • Android框架之Volley
  • co.js - 让异步代码同步化
  • echarts花样作死的坑
  • Go 语言编译器的 //go: 详解
  • gops —— Go 程序诊断分析工具
  • Gradle 5.0 正式版发布
  • JavaScript-Array类型
  • JS+CSS实现数字滚动
  • SpiderData 2019年2月25日 DApp数据排行榜
  • vue--为什么data属性必须是一个函数
  • webpack4 一点通
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 初识 webpack
  • 从零搭建Koa2 Server
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 简单易用的leetcode开发测试工具(npm)
  • 类orAPI - 收藏集 - 掘金
  • 目录与文件属性:编写ls
  • 使用agvtool更改app version/build
  • -- 数据结构 顺序表 --Java
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • mysql面试题分组并合并列
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • #C++ 智能指针 std::unique_ptr 、std::shared_ptr 和 std::weak_ptr
  • ${factoryList }后面有空格不影响
  • (C语言)fread与fwrite详解
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (Oracle)SQL优化基础(三):看懂执行计划顺序
  • (定时器/计数器)中断系统(详解与使用)
  • (转)linux自定义开机启动服务和chkconfig使用方法
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .NET 分布式技术比较
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .NET/C# 项目如何优雅地设置条件编译符号?
  • .NET企业级应用架构设计系列之技术选型
  • .NET中分布式服务
  • /bin、/sbin、/usr/bin、/usr/sbin