基于水平集方法和U-Net网络的地震初至拾取技术

2022-06-15 08:30李阳何登科
矿业科学学报 2022年4期
关键词:卷积水平模型

李阳何登科

1.中国矿业大学(北京)地球科学与测绘工程学院,北京 100083;2.煤炭资源与安全开采国家重点实验室,北京 100083

初至拾取技术是地震资料处理中的一项关键技术。 初至拾取的精度直接决定静校正的精度,并对后续速度分析、偏移成像的质量造成影响。 随着地震勘探技术的不断革新,地震勘探采集的数据体量也变得十分庞大。 使用传统方法如长短时窗平均能量比法[1]、偏振分析法、时频分析法等进行初至拾取,需要耗费大量时间进行人工干预,工作量巨大[2]。 因此,针对如何进行高效的自动拾取初至问题,诸多学者进行了大量的讨论研究。

近年来,得益于人工智能技术的迅猛发展,基于神经网络的深度学习算法被广泛应用到地球物理的各个领域[3-6],并取得了显著成效。 在计算机视觉领域,初至拾取通常作为语义分割任务来处理。 全卷积网络[7](Fully Convolutional Networks,FCN)已经成为图像语义分割的基本框架,分割效果较传统神经网络在精度和速度上有明显提高。后续出现的语义分割网络如SegNet 网络[8]和UNet 网络[9],也都是基于FCN。

针对初至自动拾取的准确性、稳定性和抗噪性等问题,研究者陆续提出了多种基于FCN 及其变体的新拾取方法。 这些方法主要分为两类:一类是通过增加网络深度或替换网络模块提高模型的精度,如刘佳楠等[10]构建了3 种不同深度的FCN 网络进行初至拾取;丁建群等[11]提出通过引入空洞卷积改善拾取结果;杨双瑜等[12]则通过增加Dense Block,利用深层网络强化特征抽取,提高U-Net 在低信噪比环境下的稳定性;陈德武等[13]通过引入残差连接改进U-Net 网络的跳跃连接来提高U-Net的准确率和效率。 另一类方法是通过增加后处理步骤改进处理结果,如David Cova 等[14]提出通过视速度约束提高结果的连续性。 以上两类方法虽然提高了拾取效果,但也增加了模型的复杂度和训练难度。

基于偏微分方程(Partial Different Equation,PDE)的方法也可用于图像分割。 水平集方法是由Osher 和Sethian 于1988年提出的一种将二维闭合曲线演化问题转化为高维曲面演化过程进行处理的方法[15]。 传统的水平集方法往往是利用求解能量方程最小化来分割图像中的目标区域[16],无法直接应用到神经网络。 Kim 等[17]提出了一种水平集损失函数,通过改造水平集方法,使其能应用到卷积神经网络中。 这种基于水平集方法的水平集损失能更好地利用像素间的关系,而网络中常用的损失函数如二元交叉熵损失函数,都是独立计算各像素的损失。 对于初至拾取任务,这也是造成模型拾取结果连续性不好的一个原因。

针对地震初至拾取的主要问题,本文结合水平集方法对语义分割网络U-Net 进行了改进,即在原网络中增加计算水平集损失。 网络能够利用地震道间初至的连续性特征识别地震数据体边界,从而提高拾取结果的精度。 另外,为了克服训练数据不足问题,通过采用人工合成数据和实际数据交叉的方式制作训练数据集,既简化了训练数据构建标签难度,又保证了样本质量。 最后,为了验证该方法的有效性,对比测试了将该方法应用到模拟数据和实际地震数据上的拾取效果,并对结果进行了分析说明。

1 方法原理

1.1 U-Net 网络

U-Net 网络是一种经典的基于FCN 的语义分割网络,其核心设计包括编码器-解码器结构和跳跃连接[9]。 U-Net 网络结构呈U 型对称,左侧为编码器,右侧为解码器。 编码器实现图像空间特征提取并对结果进行下采样,由4 个子模块构成,每个模块包含2 个3×3 卷积操作和1 个2×2 的池化操作;解码器对图像特征进行上采样生成分割结果图,与编码器结构相似,也由4 个子模块构成,每个模块包含2 个3×3 卷积操作和1 个2×2 的反卷积操作。 跳跃连接则将解码器上采样结果与编码器同层的具有相同分辨率的输出进行拼接,实现不同尺度图像特征的融合[18],以提高图像分割的准确度。 网络的最终输出结果,通过1 个1×1 的卷积操作生成最终的分割结果图。

U-Net 网络的卷积块使用修正线性单元(Rectified Linear Unit,ReLU)激活函数,形成如下形式:

式(1)计算简单,不存在梯度消失问题。 但ReLU 激活函数会造成部分神经元失效,使网络变得稀疏。 近年来出现一些ReLU 激活函数的改型,如随机渗漏整流线性单元(Randomized Leaky ReLU,RReLU)、指数线性单元(Exponential Linear Unit,ELU)等,可克服ReLU 的不足。

1.2 水平集方法

使用水平集方法的卷积语义分割网络[17],通过利用学习目标的空间信息提升网络学习性能,从而获得了更加平滑、精确的分割效果。 而David Cova 等[14]设计的对比实验发现,通过优化超参数而不改变U-Net 网络基本架构也能够获得令人满意的结果。 将水平集方法应用到U-Net 网络,可使U-Net 学习到地震道之间初至的连续性特征。

水平集方法通常用于分割前景和背景,多分类问题可以采用通道的方式转换为多个二分类任务处理。 针对地震初至拾取任务,为简化网络,水平集方法处理中将其视作二分类任务。 本文采用的能量方程[17]形式如下:

式中,φ为符号距离函数;G为待分割地震图像的目标区域;L为分割边界集,即初至点集;Cl,1、Cl,2分别为分割边界内部和外部的灰度均值;Hε为阶跃函数的近似表示;ε为常量,ε→0。

式(2)作为损失函数,是可微的,能够应用于网络进行反向传播更新参数。

1.3 改进后的U-Net 网络

应用水平集方法后,改进的U-Net 网络结构如图1 所示。 首先将训练数据分批送入U-Net 网络模型中,经过下采样和上采样步骤提取的融合图像特征信息,经由U-Net 网络输出一个像素分类的概率预测图。 训练数据的标签使用3 种分类标记,即背景、初至波和续至波。 由于采用3 种分类方式,水平集方法通常用于分割目标和背景,因此需要合并计算初至和地震数据,即水平集方法用于分割有效地震数据和噪声数据。 将这些预测的结果代入式(2)中,就可以求出水平集能量泛函的项。 水平集损失通过式(3)获得:

图1 网络结构Fig.1 Network structure diagram

式中,yi为真实值;ei为水平集预测值。

由于训练样本中初至点样点比较少,90% 以上是标签为噪声或地震数据的非初至样点,因此初至拾取存在类别不平衡、难易样本不均衡问题。 针对该问题,损失选用Focal Loss 函数效果更好[20]。Focal Loss 形式如下:

式中,α,γ为权值;yi为真实值;pi为网络预测值。

将U-Net 输出的预测结果值与输入数据的标签数据值代入到式(4)中,计算两者的Focal Loss 损失。引入水平集方法之后,最终的损失函数定义为

式中,β为权值。

将两种损失代入式(5)获得总的损失,最后进行误差反向传播,进一步优化校正网络权重参数。

为了降低网络模型参数,抑制不相关背景区域的特征响应,引入注意力机制模块[19],其结构如图2 所示。 首先将特征矩阵经过1 个2×2 的卷积层、归一化和激活函数Sigmoid,再与初始特征矩阵相乘,计算注意力向量提升特征学习,可以在多尺度采样后进一步细化小像素点初至波的特征结构[3]。

图2 注意力机制模块结构[19]Fig.2 Attention model structure[19]

1.4 训练集制作方法

训练数据集通常采用人工标注制作标签,工作量大,效率不高。 为了解决这个问题,本文在训练数据集的标签构建过程中,先采用人工合成地震记录制作训练数据集,训练模型;再使用训练后的模型处理实际地震数据集,获得初步的初至记录;最后,实际地震数据样本经人工校正后,和合成地震记录混合制作训练数据集。

为了便于获得地震记录的初至,采用褶积模型生成模拟地震数据,同时记录初至到时数据。 地震记录褶积模型的时间域表达式如下:

式中,s(t)为有效波;ω(t)为地震子波;r(t)为反射系数;n(t)为随机环境噪声。

在进行合成前,先根据实际工区地层情况,设置地震波速度和地层数量随机范围,随机生成地层的地震波速度模型。 然后,根据反射系数和波阻抗的对应关系计算得到反射系数,再分别与不同频率的Ricker 子波褶积得到相应的人工合成地震数据。

训练数据集构建标签使用三分类方式,初至上方像素标记为0,将初至上下4 像素标记为初至波值为1,初至下方地震数据体标记为2。 如果采用二值分类,目标区域和背景区域像素数量相差不大,初至位置的细微改变对损失函数的影响不明显。 而U-Net 输出的结果代表着每个像素划分为目标区域或者背景区域的概率,该结果本身存在着一定的误差,最终造成网络灵敏度不够,降低分割算法的准确率。

2 数据准备与模型训练

2.1 制作人工合成地震记录

首先使用褶积模型制作人工合成地震记录。为了使模拟数据更接近实际数据情况,对其添加不同级别的高斯白噪声,生成不同信噪比的模拟地震数据。 所使用信噪比公式可表示为

式中,s(t)为原始信号;n(t)为高斯白噪声。

按照褶积模型合成的地震记录如图3 所示。 图3(a)为不含噪声的地震记录,图3(b)为添加随机噪声的合成地震记录,蓝色标记为初至数据记录。

图3 合成地震数据Fig.3 Synthetic data

2.2 实际地震数据及预处理

实际地震数据为某矿区三维地震资料,包含243 个炮集。 道间距为20 m,最大炮检距为3 200 m,每个炮集包含475 道,采样间隔为2 ms。

为保证网络学习效果,在学习前对实际地震数据进行必要的数据预处理。

(1) 去噪处理。 为了保留图像边缘细节信息,采用中值滤波算法处理地震数据。 中值滤波作为一种非线性滤波技术,在一定条件下可以克服线性滤波带来的信号边界模糊等问题[22]。

(2) 振幅补偿处理。 使用球面扩散补偿和地层吸收能量补偿,对地震振幅进行补偿和校正。

(3) 归一化处理。 为了避免振幅数据值对训练结果的影响,在训练网络之前需要对数据进行归一化。 针对一道地震数据{x1,x2,…,xm},归一化计算公式如下:

式中,xi为该道当前样点的值;xmin为该道所有样点振幅的最小值;xmax为该道所有样点振幅的最大值。

2.3 制作训练数据集

使用人工合成地震记录训练U-Net 网络,生成初始模型。 应用初始模型对预处理后的实际地震数据进行拾取,拾取结果如图4 所示。

图4 初始模型拾取结果Fig.4 The results picked by the initial model

使用地震资料处理软件校正初至记录,并更新到样本对应的道头数据库。 校正完成后,再将样本及其初至数据保存至文件,完成实际地震数据集的初至拾取。 数据及对应标签如图5 所示。

图5 地震数据及对应标签数据Fig.5 Seismic data and labeled data

根据实际地震资料情况,每39 道合成1 个训练数据。 随机选取人工合成地震数据和实际地震数据。 训练数据集共1 000 个训练数据,其中60% 用作训练集,20% 用作测试集,20% 用作验证集。

2.4 训练环境与模型训练

网络模型使用Python 语言基于PyTorch 深度学习框架实现,并在CPU 为Intel Xeon Silver 4114、主频2.2 GHz、内存为64 G 的计算机上训练。 在训练过程中,采用小批量梯度下降方法,即把整个训练数据集随机分为若干个批次,每次迭代仅使用其中的1 个批次的样本参与参数更新。 为了获得该网络最优的结果,分别对激活函数(Activation Function)、优化器(Optimizer)、学习率(Learning Rate)进行超参数优化,所使用方法和值见表1。

表1 超参数优化参数Table 1 Hyperparametric values

采用网络训练的权重(Weight) 系数设为(0.005,0.015,0.98)。 训练的初始学习率设为0.01,epoch 设为500,小批量梯度下降的批次大小(Batch Size)设置为20。 每轮迭代50 步,每轮用验证集验证1 次。 训练过程耗时6 h 29 min,第140次迭代时,网络逐渐收敛。

3 模型应用

3.1 模拟数据拾取

为了检验模型在不同噪声条件下的表现,使用Devito 框架[23]通过二阶交错网格有限差分波动方程正演获得地震模拟数据进行测试。 地层模型和生成的地震数据如图6 所示,震源使用Ricker 子波,采用2 ms 采样,地震记录长度3 s,道间距25 m,共201 道。

图6 地层模型与模拟数据Fig.6 Stratigraphic model and simulated data

应用U-Net 网络模型分别对无噪声和添加了不同信噪比的随机噪声模拟地震数据进行初至拾取测试,拾取结果如图7 所示。 可以看出,改进后的网络在较低信噪比的模拟数据上拾取结果与无噪声数据基本重合,在信噪比较低的情况下,拾取结果出现较大偏差,但在近中炮检距的范围内拾取结果依然准确。

图7 不同信噪比下模拟数据拾取结果Fig.7 First break picking results of simulated data with different SNR noise

3.2 实际地震数据拾取

为了验证改进的网络应用于实际地震数据的适应性,使用未参与训练的一炮地震数据进行初至拾取。 图8 所示为实际地震数据的拾取结果。 为了清楚展示验证效果,单独提取出中间600 ~790道数据的拾取结果。 完整炮集拾取结果见表2。可以看出,本方法应用于实际矿区地震勘探数据时,结果连续性相对较好,并可以获得精度较高的拾取结果。

图8 实际数据拾取结果Fig.8 The picking result using actual data

表2 实际数据拾取结果统计Table 2 The statistical result picked using actual data

为了验证模型在复杂地形条件下的性能,选取地表起伏较大的某矿区实际地震数据进行测试。实际拾取结果如图9 所示,图中蓝色标记为初至拾取结果,中间子图为检波器高程曲线。 检波器最大高差20 m,整体与实际初至基本吻合。

图9 拾取结果与相对高程Fig.9 The picking result and relative elevation

4 结 论

为解决使用U-Net 网络拾取地震初至存在的拾取结果不连续等问题,在不增加网络复杂度的情况下,本文结合U-Net 和水平集方法提出了一种网络模型,利用地震道间初至的连续性特征识别地震数据体边界,并进行了模拟数据与实际地震数据测试。 通过验证有如下结论:

(1) 通过采用水平集方法可以较好地解决UNet 网络拾取结果不连续问题。

(2) 通过采用Focal Loss 损失函数可以改善训练集样本类别不均衡问题。

(3) 当算法不依赖地层信息时,可以通过采用预拾取和混合训练数据的方法,缓解实际数据标签集不易制作和训练集数据不足的问题。

(4) 对于较低信噪比的地震数据,应用结合U-Net 和水平集方法的改进模型,相对于原始UNet 模型能较准确地拾取地震波初至。

猜你喜欢
卷积水平模型
基于全卷积神经网络的猪背膘厚快速准确测定
适用于BDS-3 PPP的随机模型
自制空间站模型
张水平作品
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
作家葛水平
加强上下联动 提升人大履职水平
模型小览(二)