当前位置: 首页 > 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图像在深度信息上的局限,为黏土矿物对储层孔隙结构和流体流动的影响研究提供了有力支持。未来可以结合更高分辨率的图像和更复杂的图像处理算法,进一步提升三维重构的精度和应用范围。

http://www.lryc.cn/news/483561.html

相关文章:

  • 可靠UDP协议(KCP)使用说明
  • ffmpeg+D3D实现的MFC音视频播放器,支持录像、截图、音视频播放、码流信息显示等功能
  • 【Flink】-- flink新版本发布:v2.0-preview1
  • Node.js 版本管理的最终答案 Volta
  • 蓝桥杯每日真题 - 第11天
  • Vue vs React:两大前端框架的区别解析
  • 【树莓派raspberrypi烧录Ubuntu远程桌面登入树莓派】
  • c# 调用c++ 的dll 出现找不到函数入口点
  • LInux——环境基础开发工具使用(正在更新中...)
  • linux 内核asmlinkage关键字总结
  • ⚡️如何在 React 和 Next.js 项目里优雅的使用 Zustand
  • Pinpoint(APM)进阶--Pinot指标采集(System Metric/Inspector)
  • Mysql:使用binlog的一些常用技巧
  • Electron 项目启动外部可执行文件的几种方式
  • 前端开发中常用的包管理器(npm、yarn、pnpm、bower、parcel)
  • Linux入门:环境变量与进程地址空间
  • 【Jenkins实战】Windows安装服务启动失败
  • web实操5——http数据详解,request对象功能
  • C# 如何动态加载程序集
  • 前端基础的讲解-JS(10)
  • JNI整理总结
  • aws中AcmClient.describeCertificate返回值中没有ResourceRecord
  • Spring Task详细讲解
  • C++初阶 --- 类和对象(1)
  • 《TCP/IP网络编程》学习笔记 | Chapter 7:优雅地断开套接字连接
  • Anaconda 和 conda 是什么关系?就像 pip 和 python 一样吗
  • 「数据治理」核心专业术语解释!
  • Mac Nginx 前端打包部署
  • 乳腺癌诊断分析——基于聚类分析实现
  • Ubuntu 22.04 安装配置opencv