基于飞桨实现高精度岩相自动分析,助力油气田勘探开发设计

本文介绍了如何使用飞桨深度学习框架解决岩相分析问题,通过数据增强和定制网络结构,实现了高精度的岩相自动识别,有效减轻地质学家的重复劳动,并能处理跨源识别挑战。
摘要由CSDN通过智能技术生成

1. 概述

1.1 行业背景与痛点

岩相分析是以岩石薄片的微观描述和分类为基础的研究工作,也是沉积和成岩研究的一项重要技术,对于油气勘探开发的工程实践具有基础性指导地位。通过薄片分析矿物的比例、分布、质地、孔隙空间、胶结成分等因素,给后续的油气田开发方案设计作为保障提供了更好、更准确的手段。 工程实践中,大多数岩相分析依赖大量的地质学家使用显微镜,进行岩石薄片的目视检查,标准规范和时间紧迫之间的矛盾日益突出。总体来说,存在三个核心痛点:第一,人类专家面临大量繁重的重复性劳动,精力与效率的平衡问题无法忽视。同时,多位岩石学家共同工作,可能会出现分析不一致的情况。第二,由于分布在世界各地的油田,其地质特征、发育机理等因素存在差异,因此还需要充分考虑跨源识别这一重要因素。第三,现有自动化识别方法对于岩相覆盖范围仅针对若干个特定区块的几种类型;同时也不具备迁移能力。

1.2 项目价值

为了解决上述问题,我们采用专业的深度学习框架——飞桨,自动识别单张薄片的耗时约为0.03秒,并且面对大规模的工区数据时,不存在精力不足的问题。不同地区的薄片跨源分布问题,也可以通过基于大规模训练的模型进行优化,最终得到高精度的预测模型,精确预测不同地层、不同区块的分布差异。针对现有自动化方法覆盖范围小的问题,我们采取了大规模的模型训练,将岩相的类型覆盖到90%以上的常见岩相类型,并且覆盖到95%以上地质专业要求掌握的范围。未覆盖的岩相由于样本稀缺的因素未被纳入分析,但在后续的研究过程中也可以通过迁移的方法来优化。应用本方法不仅可以完成跨源大规模层级岩相分析工作,还可以加速和量化各类地质任务,提供基础性迁移基础。

2.实验过程

2.1 数据准备与分析

南京大学[1] 数据集,囊括了三大类岩石中的90%以上的常见岩石类型,共105种岩石类型进行分析。数据集一共由2634张图片组成,实验以8:2的比例将数据集随机划分成训练集与测试集。

# 代码以仓库为准
# 数据加载
import paddle 
import paddle.vision.transforms as T
def get_transforms():
    return T.Compose([
        T.Resize((224, 224)),
        T.ToTensor(),
        T.Normalize(mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225))
    ])

def get_transforms_single():
    return T.Compose([
        T.Resize((224, 224)),
        T.ToTensor()
    ])


# 基本参数配置
train_parameters = {  
    "data_dir": "data/data57425",  # 训练数据存储地址  
    "num_epochs": 10,  
    "train_batch_size": 64, 
    "infer_img": 'data/data57425/sunflowers/14646283472_50a3ae1395.jpg',


    "mean_rgb": [85, 96, 102],  # 常用图片的三通道均值,通常来说需要先对训练数据做统计,此处仅取中间值  
    
    "input_size": [3, 224, 224],  
    "class_dim": -1,  # 分类数,会在初始化自定义 reader 的时候获得  
    "image_count": -1,  # 训练图片数量,会在初始化自定义 reader 的时候获得  
    "label_dict": {},  
    "train_file_list": "train.txt",  
    "eval_file_list": "eval.txt",
    "label_file": "label_list.txt",  
    "save_model_dir": "./save_dir/model",  
    "continue_train": True,        # 是否接着上一次保存的参数接着训练,优先级高于预训练模型  
    "image_enhance_strategy": {  # 图像增强相关策略  
        "need_distort": True,  # 是否启用图像颜色增强  
        "need_rotate": True,   # 是否需要增加随机角度  
        "need_crop": True,      # 是否要增加裁剪  
        "need_flip": True,      # 是否要增加水平随机翻转  
        "hue_prob": 0.5,  }
    }

2.2 数据增强预处理模块

原始数据集的单张样本存储空间约为1M,在保证图像信息的条件下进行压缩,既能让图片不损失特征信息,也能充分提高每个批次所能加载的样本数量减小模型的训练开销。采用数据增强技术以增加模型的鲁棒性。图1说明了数据增强的几种方式:首先将图片缩放成指定尺寸以供网络进行加载;进行随机裁剪策略使得样本的各个局部都可以在训练过程中呈现,增强模型对于图片局部的识别能力;以概率触发模式进

 

行旋转、亮度、对比度、饱和度的调整来模拟实验图片在不同情况下都可以进行识别。

 

2.3 网络模块设计

为了提升模型的通道间特征信息能够在网络模型中充分的利用,MaSE-ResNext网络结构采用多模块嵌套设计ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

python代码驿站

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值