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

【论文阅读】利用SEM二维图像表征黏土矿物三维结构

导言

在油气储层研究中,黏土矿物对流体流动的影响需要在微观尺度上理解,但传统的二维SEM图像难以完整地表征三维孔隙结构。常规的三维成像技术如FIB-SEM(聚焦离子束扫描电子显微镜)虽然可以获取高精度的3D图像,但成本高昂且不适用于已有的2D图像。因此,本文开发了基于二维SEM图像的三维重构方法,即“深度分层技术”,以便在现有的2D图像上获得3D信息。该研究通过深度学习和Lattice-Boltzmann模拟,量化了黏土矿物对油气储层流体流动的影响。采用扫描电子显微镜(SEM)图像识别黏土类型,并通过数值模拟评估其对储层孔隙度和渗透率的影响。

论文简介

论文题目:
Characterizing clay textures and their impact on the reservoir using
deep learning and Lattice-Boltzmann simulation applied to SEM
images

研究领域:
Computer Vision and Pattern Recognition; Artificial Intelligence; Clay minerals

论文作者:
Naser Golsanami等,作者单位:山东科技大学、中国海洋大学、中国石油大学等

论文链接:
https://doi.org/10.1016/j.energy.2021.122599

主要方法

深度分层技术

深度分层技术通过将二维图像的不同灰度值映射到不同深度,以生成伪三维的孔隙结构。其具体步骤包括:
在这里插入图片描述
1、灰度密度的提取
对SEM图像进行灰度值分析,提取图像中各像素的灰度密度。
通过灰度值的分布,确定图像中的不同深度。灰度值通常对应于黏土矿物的厚度和深度信息,因此可以用它们来标定物体的深浅层次。
2、像素聚类和分组
利用聚类算法将具有相似灰度值的像素聚类,以区分不同层次的矿物质和孔隙。
聚类完成后,基于灰度值将图像分成前、中、后等多个深度切片,从而在每一层上独立识别矿物分布。
在这里插入图片描述
3、各层的矿物和孔隙特征标注
对每一层的图像切片执行图像处理和分割,区分出矿物质(如黏土、石英)和孔隙空间。
标注矿物的分布位置,并分析矿物如何在三维空间中阻碍孔隙连接。
在这里插入图片描述
4、重构的三维模型
将每层分割出的矿物和孔隙区域组合,形成一个整体的三维孔隙模型。
通过叠加这些深度切片,生成具有三维结构的信息图,从而在2D SEM图像上获得3D孔隙信息。
在这里插入图片描述

5、三维模型的流体模拟
基于上述3D模型,本文进一步采用了Lattice-Boltzmann方法模拟流体在孔隙中的流动情况。分析黏土矿物对流体路径的阻碍作用,并计算不同深度上孔隙的渗透率和孔隙率变化。

在这里插入图片描述

针对的问题

1、黏土矿物的微观结构表征困难
储层中的黏土矿物结构复杂,分布不均,且在微观尺度上难以观察到其对孔隙结构的实际影响。传统实验技术难以在微观层面上准确地再现黏土矿物的行为及其与流体的相互作用。

2、三维结构和流体流动的定量分析缺乏
当前的研究多采用二维图像分析方法,难以从三维角度深入了解黏土矿物在不同深度对储层孔隙结构的影响,缺乏有效的三维重构手段。

3、缺少适用于不同储层的通用表征方法
由于不同储层的黏土矿物种类和分布差异较大,已有研究的结果往往只适用于特定的地质条件,缺乏系统性的量化表征方法,难以在其他储层推广应用。

论文创新点

1、深度学习应用:首次采用深度学习对储层中黏土矿物进行识别和定量。
2、深度分层技术:开发了基于图像灰度的深度分层方法,弥补3D成像设备不足的缺陷。
3、数值模拟:利用Lattice-Boltzmann方法量化黏土对流体流动的影响,展示了不同类型黏土对储层渗透性的不同程度的阻碍。

总结

该方法通过SEM图像的灰度分层实现3D重构,克服了传统2D图像在深度信息上的局限,为黏土矿物对储层孔隙结构和流体流动的影响研究提供了有力支持。未来可以结合更高分辨率的图像和更复杂的图像处理算法,进一步提升三维重构的精度和应用范围。

相关文章:

【论文阅读】利用SEM二维图像表征黏土矿物三维结构

导言 在油气储层研究中,黏土矿物对流体流动的影响需要在微观尺度上理解,但传统的二维SEM图像难以完整地表征三维孔隙结构。常规的三维成像技术如FIB-SEM(聚焦离子束扫描电子显微镜)虽然可以获取高精度的3D图像,但成本…...

可靠UDP协议(KCP)使用说明

希望这篇文章&#xff0c;对学习和使用 KCP 协议的读者&#xff0c;有帮助。 1. KCPUDP 流程图 2. 示例代码&#xff08;待补充&#xff09; #include <iostream>int main() {// TODO: kcp examplereturn 0; }...

ffmpeg+D3D实现的MFC音视频播放器,支持录像、截图、音视频播放、码流信息显示等功能

一、简介 本播放器是在vs2019下开发&#xff0c;通过ffmpeg实现拉流解码功能&#xff0c;通过D3D实现视频的渲染功能。截图功能采用libjpeg实现&#xff0c;可以截取jpg图片&#xff0c;图片的默认保存路径是在C:\MYRecPath中。录像功能采用封装好的类Mp4Record实现&#xff0c…...

【Flink】-- flink新版本发布:v2.0-preview1

目录 1、简介 2、非兼容变更 2.1、API 2.2、连接器适配计划 2.3、配置 2.4、其它 3、重要新特性 3.1、存算分离状态管理 3.2、物化表 3.3、批作业的自适应执行 3.4、流式湖仓 4、附加 4.1、非兼容性的 api 程序变更 4.1.2、Removed Classes # 4.1.3、Modified Cl…...

Node.js 版本管理的最终答案 Volta

文章目录 特点安装Unix系统安装Windows系统安装 常用命令volta fetchvolta installvolta uninstallvolta pinvolta listvolta completionsvolta whichvolta setupvolta runvolta help 建议 目前对于前端项目的node 版本&#xff0c;我们一般会在项目 package.json 的 engines 字…...

蓝桥杯每日真题 - 第11天

题目&#xff1a;&#xff08;合并数列&#xff09; 题目描述&#xff08;14届 C&C B组D题&#xff09; 解题思路&#xff1a; 题意理解&#xff1a;给定两个数组&#xff0c;目标是通过若干次合并操作使两个数组相同。每次合并操作可以将数组中相邻的两个数相加&#xff…...

Vue vs React:两大前端框架的区别解析

在现代前端开发中&#xff0c;Vue.js 和 React.js 是两个最受欢迎的框架和库。我们常常面临选择它们的困惑。虽然这两者在本质上都是为了构建用户界面而设计的&#xff0c;但它们在设计理念、使用方式和生态系统等方面有着显著的区别。今天&#xff0c;我们将通过深入分析这两个…...

【树莓派raspberrypi烧录Ubuntu远程桌面登入树莓派】

提示&#xff1a;本文利用的是Ubuntu主机和树莓派4B开发板&#xff0c;示例仅供参考 文章目录 一、树莓派系统安装下载前准备工作下载安装树莓派的官方烧录软件imagerimager的使用方法 二、主机与树莓SSH连接查看数梅派IP地址建立ssh连接更新树莓派源地址 三、主机端远程桌面配…...

c# 调用c++ 的dll 出现找不到函数入口点

今天在调用一个设备的dll文件时遇到了一点波折&#xff0c;因为多c 不熟悉&#xff0c;调用过程张出现了找不到函数入口点&#xff0c;一般我们使用c# 调用c 文件&#xff0c;还是比较简单。 [DllImport("AtnDll2.dll",CharSet CharSet.Ansi)]public static extern …...

LInux——环境基础开发工具使用(正在更新中...)

1.软件包管理器 Linux下安装软件的方案&#xff1a; 1. 源代码安装 2. rpm包安装 3. 包管理器安装 --- yum/ apt &#xff08;此图片来自于比特就业课课件&#xff09; 1.1 操作生态系统 好的操作系统定义&#xff1a; 生态环境好 不同的操作系统根本是生态不同&#xff08;…...

linux 内核asmlinkage关键字总结

1&#xff0c;看一下asmlinkage的定义 CPP_ASMLINKAGE __attribute__((regparm(0))) GCC中使用__attribute__((regparm(n)))指定最多可以使用n个寄存器&#xff08;eax, edx, ecx&#xff09;传递参数&#xff0c;n的范围是0~3&#xff0c;超过n时则将参数压入栈中&#xff08;…...

⚡️如何在 React 和 Next.js 项目里优雅的使用 Zustand

前言 你是否曾感觉在 React 中管理状态简直是一场噩梦&#xff1f;如果你已经厌倦了不停地处理 props、context 和 hooks&#xff0c;那么现在是时候认识 Zustand 了。Zustand 是一个轻量级的状态管理库&#xff0c;它简化了你处理应用状态的方式。在这篇文章中&#xff0c;我…...

Pinpoint(APM)进阶--Pinot指标采集(System Metric/Inspector)

接上文 Pinpoint使用Pinot进行指标数据存储&#xff0c;Pinot流摄入需要Kafka 本文详解Kafka和Pinot的安装部署&#xff0c;以及Pinpoint的指标采集 Pinot 简介 Apache Pinot是一个实时分布式OLAP数据存储&#xff0c;专为低延迟、高吞吐量分析而构建&#xff0c;非常适合面…...

Mysql:使用binlog的一些常用技巧

1、如何查看binlog的存放路径 show variables like log% 执行结果&#xff1a; 2、如何清除binlog &#xff08;1&#xff09;按时间清除 purge binary logs before ‘2023-06-5 10:12:00’ &#xff08;2&#xff09;按文件文件名清除 purge binary logs to ‘mybinlog.0000…...

Electron 项目启动外部可执行文件的几种方式

Electron 项目启动外部可执行文件的几种方式 序言 在开发 Electron 应用程序时&#xff0c;有时需要启动外部的可执行文件&#xff08;如 .exe 文件&#xff09;。这可能是为了调用系统工具、运行第三方软件或者集成现有的应用程序。 Electron 提供了多种方式来启动外部可执行…...

前端开发中常用的包管理器(npm、yarn、pnpm、bower、parcel)

文章目录 1. npm (Node Package Manager)2. Yarn (Yarn Package Manager)3. pnpm4. Bower5. Parcel总结 前端开发中常用的包管理器主要有以下几个&#xff1a; 1. npm (Node Package Manager) 简介&#xff1a; npm 是 Node.js 的默认包管理器&#xff0c;也是最广泛使用的包…...

Linux入门:环境变量与进程地址空间

一. 环境变量 1. 概念 1️⃣基本概念&#xff1a; 环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数 如&#xff1a;我们在编写C/C代码的时候&#xff0c;在链接的时候&#xff0c;从来不知道我们的所链接的动态静态库在哪里&#x…...

【Jenkins实战】Windows安装服务启动失败

写此篇短文&#xff0c;望告诫后人。 如果你之前装过Jenkins&#xff0c;出于换域账号/本地帐号的原因想重新安装&#xff0c;你大概率会遇上一次Jenkins服务启动失败提示&#xff1a; Jenkins failed to start - Verify that you have sufficient privileges to start system…...

web实操5——http数据详解,request对象功能

http请求数据 现在我们浏览器f12的那些是浏览器给http格式数据整理之后便于我们阅读的。 原始的http格式信息&#xff1a; 就是按照一定格式和符号的字符串&#xff1a; 请求行&#xff1a;格式如下图 请求头&#xff1a;一个个key&#xff0c;value数据&#xff0c;用,分割…...

C# 如何动态加载程序集

程序集的加载&#xff0c;默认是从当前目录下查找&#xff0c;如果当前目录查找不到&#xff0c;然后再去系统目录中查找&#xff0c;依然查找不到就会从环境变量中查找&#xff0c;如果依然找不到&#xff0c;则会抛出一个异常 FileNotFoundException。 托管代码中&#xff0…...

2026年阿里云OpenClaw/Hermes Agent配置Token Plan部署一文读懂

2026年阿里云OpenClaw/Hermes Agent配置Token Plan部署一文读懂。OpenClaw是开源的个人AI助手&#xff0c;Hermes Agent则是一个能自我进化的AI智能体框架。阿里云提供计算巢、轻量服务器及无影云电脑三种部署OpenClaw 与 Hermes Agent的方案、百炼Token Plan兼容主流 AI 工具&…...

React Starter Kit 团队协作:如何建立统一的开发规范

React Starter Kit 团队协作&#xff1a;如何建立统一的开发规范 【免费下载链接】react-starter-kit Start your first React App. By using React, Redux, and React-Router. 项目地址: https://gitcode.com/gh_mirrors/reac/react-starter-kit React Starter Kit 是一…...

原神抽卡数据分析神器:告别盲目抽卡,用数据掌控你的欧皇之路

原神抽卡数据分析神器&#xff1a;告别盲目抽卡&#xff0c;用数据掌控你的欧皇之路 【免费下载链接】genshin-wish-export Easily export the Genshin Impact wish record. 项目地址: https://gitcode.com/GitHub_Trending/ge/genshin-wish-export 你是否曾在原神抽卡时…...

Cardboard XR Plugin实战指南:轻量级Android VR落地方案

1. 这不是“加个插件就能跑”的VR接入——为什么Cardboard XR Plugin在2024年仍值得认真对待 很多人看到“Unity Cardboard Android VR”第一反应是&#xff1a;这不早淘汰了吗&#xff1f;毕竟Google早在2019年就停止了Cardboard官方支持&#xff0c;2021年彻底下架了Cardbo…...

通达信缠论量化插件:自动化技术分析新体验

通达信缠论量化插件&#xff1a;自动化技术分析新体验 【免费下载链接】Indicator 通达信缠论可视化分析插件 项目地址: https://gitcode.com/gh_mirrors/ind/Indicator 通达信缠论量化插件是一款基于缠论理论的智能分析工具&#xff0c;通过算法自动化识别K线走势中的关…...

ChatGPT高质量输出的隐藏开关:基于IEEE写作标准的11项自动校验清单(附可运行Python验证脚本)

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;ChatGPT高质量输出的底层逻辑与认知前提 ChatGPT生成高质量响应并非依赖“魔法”&#xff0c;而是建立在三个核心支柱之上&#xff1a;大规模语言建模的统计涌现能力、人类反馈强化学习&#xff08;RLHF&#…...

智能戒指制造商Oura秘密提交IPO申请,累计融资15亿美元,付费会员有望破500万

5月22日消息&#xff0c;据《华尔街日报》报道&#xff0c;智能戒指制造商Oura已秘密提交首次公开募股&#xff08;IPO&#xff09;申请。该产品获多位名人称赞&#xff0c;销量可观&#xff0c;此次IPO表现值得关注。产品功能与背景Oura智能戒指能追踪心率、皮肤温度等指标&am…...

2026年如何向 GPT-5.5 提问,拿到更高质量的技术解释和方案

摘要&#xff1a; 2026年的工具生态正在从“追大模型”转向“讲效率、讲成本、讲合规”。本文结合当前小模型高效化、国产工具崛起、多模型聚合的趋势&#xff0c;分享一套面向 GPT-5.5 的高质量提问方法&#xff0c;帮助开发者和普通用户更快拿到清晰、可执行、可落地的技术答…...

SQL 模糊查询 + NULL 空值。LIKE 通配符 % 和_、IS NULL

前言学会精准条件查询后&#xff0c;工作中又会遇到新难题&#xff1a;需要按关键词模糊搜索&#xff0c;比如搜姓张、名字带 “明” 的用户&#xff0c;不会写 LIKE&#xff1b;分不清 % 和 _ 两个通配符到底有什么区别&#xff0c;经常用错&#xff1b;数据表有空值 NULL&…...

15万个科技岗位消失的真相

周四早上7点43分&#xff0c;我的手机震动了一下&#xff0c;是一位同行的消息——另一位我认识了五年的数据团队负责人。他管理的团队规模是我的两倍&#xff0c;所在的公司你一定听说过。 消息只有四个字&#xff1a;“你的人安全吗&#xff1f;” 我立刻明白他的意思。Met…...