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

论文学习D2UNet:用于地震图像超分辨率重建的双解码器U-Net

标题:D^{2}UNet:Dual Decoder U-Net for Seismic Image Super-Resolution Reconstruction

——D2UNet:用于地震图像超分辨率重建的双解码器U-Net

期刊:IEEE Transactions on Geoscience and Remote Sensing

摘要:从U-Net派生的流行深度网络缺乏恢复详细边缘特征和弱信号的能力。在本文中,提出了一种双解码器U-Net(D2UNet)来探索数据的细节信息和边缘信息

  • 编码器输入通过Canny算法获得的低分辨率图像和边缘图像。
  • 双解码器由用于高分辨率恢复的主解码器和用于边缘轮廓检测的边缘解码器组成。这两个解码器与具有可变形卷积的纹理扭曲模块(TWM)相互作用。TWM旨在扭曲真实的边缘细节,以匹配低分辨率输入的保真度,尤其是边缘和弱信号的位置。
  • 损失函数是L1损失和多尺度结构相似性损失(MS-SSIM)的组合,以确保感知质量。
  • 在合成和野外地震图像上的结果表明,D2UNet不仅提高了噪声地震图像的分辨率,而且保持了图像的保真度。

一、Introduction—介绍

        野外勘探资料由于不可避免地受到环境条件和仪器性能的影响,往往存在分辨率低、噪声干扰等问题。我们可以从高质量的地震数据中观察到重要信息,如地层、储集层分布和断层信息。因此,提高分辨率和去噪是解决上述问题的两种流行技术。

        地震资料的分辨率是对地下结构空间测量的精度描述,它包括垂直和水平分辨率。高分辨率处理技术旨在拓宽频带,提高主频率。其本质是恢复微弱信号的真实振幅。常见的方法可分为三类:反褶积、吸收补偿和基于时间-频谱的频率扩展。

        随着地震数据规模的指数级增长,传统方法在高分辨率恢复、去噪和效率方面都表现不佳,这使得他们很难恢复详细的地质信息。图形处理单元(GPU)的支持提升了深度学习方法在高分辨率和降噪任务中的成功率。特别是,深度卷积神经网络(CNN)作为许多方法的衍生,可以很容易地利用GPU加速训练。

  • U-Net是一种编码器-解码器结构的网络,广泛用于高分辨率和去噪任务。然而,上述大多数方法仅用于分辨率或去噪任务。
  • 基于U-Net的SRDUNet可以同时处理这两个任务。它可以显著增强地震图像的详细结构和地层特征。但结果存在伪影、边缘过于平滑以及对弱信号的恢复效果较差。
  • 多任务学习(MTL)已成功应用于地震勘探领域。超分辨率多任务残差U-Net(M-RUSR)将地震速度模型的边缘图像作为速度模型高分辨率任务的辅助任务。结果表明,边缘图像学习提高了速度模型的高分辨率效果,具有更好的细节。

在本文中提出了一种新的方法,从以下三个方面:

  • 网络:提出了一种新的多任务网络D^{2}UNet,具有一个编码器和两个解码器。
    1. 编码器以Canny算法获得的低分辨率和边缘图像作为输入。
    2. 这两个解码器用于并行学习两个不同的任务。地震数据的高分辨率恢复是主要任务,边缘检测是辅助任务。辅助任务可以提供丰富的形状和边界信息,有助于生成更准确、更高质量的数据。它们通过具有可变形卷积的纹理扭曲模块(TWM)相互作用。它可以扭曲真实的边缘细节,以匹配低分辨率输入的保真度,尤其是边缘和弱信号的位置。
  • 训练数据:为了解决训练数据不足的问题,分别生成干净的高频有噪声的低频3D地震体成对数据。然后,使用Canny算法来提取相应的边缘图像。
    1. 最后,将有噪声的低分辨率地震图像和边缘图像作为输入,
    2. 将干净的高分辨率地震图像和边缘图像作为真实标签。
  • 损失函数:引入了联合损失函数。每个任务包括L1损失和多尺度结构相似性损失(MS-SSIM)。它们可以提高图像的感知质量。 

对合成地震资料和野外地震资料进行了大量的实验研究。结果表明,所提出的D^{2}UNet网络不仅可以提高噪声地震图像的分辨率,而且可以保持图像的保真度。

本文的其余部分组织如下。第二节介绍了地震数据超分辨率恢复的问题定义。第三节详细描述了所提出方法的网络结构和损失函数。第四节描述了训练数据集的生成方法和网络的训练细节。第五节讨论了我们的方法在合成数据和现场数据上的实验结果。最后,第六节结束。 

二、Problem Definition—问题定义

        根据传统的卷积模型,地震记录可以建模如下:

\hat{\textbf{y}} = \textbf{W}\hat{r} + \textbf{n}        (1)

其中,\hat{\textbf{y}}表示宽带子波w_{h}(t )滤波后的观测数据,\textbf{W}是地震子波w_{h}(t )形成的卷积矩阵,\hat{r}是通过\textbf{W}滤波后的全频带反射系数或带限制反射系数,\textbf{n}表示随机噪音。

        通过超分辨率反演方法建立的目标函数表示如下:

J_{\hat{r}} =_{\; \; \hat{r}}^{min} \! \frac{1}{2}\left \| \hat{\textbf{y}} - \textbf{W} \hat{r}\right \|_{2}^{2} + \mu Q(\hat{r})        (2)

其中,\mu是正则化系数,Q(\cdot )是约束函数。
  在图像处理中,地震图像的超分辨率重建被认为是一个低层次的视觉任务,可以建模如下:

\textbf{S}_{L} = D(\textbf{S}_{H}) \dotplus \textbf{n}        (3)

其中,\textbf{S}_{L}\textbf{S}_{H}分别表示低分辨率和高分辨率的地震图像。D(\cdot )表示退化映射函数。 

        在这项工作中,分别使用有噪声的低分辨率和无噪声的高分辨率图像作为输入和地面实况。它们由一对 \textbf{S}_{in} = (\textbf{S}_{L},\textbf{S}_{H}) 表示。我们的目标是从去除噪声的低分辨率图像\textbf{S}_{L}重建高分辨率图像\textbf{S}_{H},由以下方程表示:

\hat{\textbf{S}}_{H} = \textup{Net}(\textbf{S}_{L},\Theta )        (4)

其中,Net(\cdot ) 表示我们的模型,\Theta 表示网络的参数。

三、Method—方法

3.1 体系架构

图1:网络架构  

图2:输入:(a)噪声低分辨率地震图像,(b)对应(a)的边缘图像,(c)干净高分辨率地震图像,(d)对应(c)的边缘图像。 

        图1说明了所提出的D^{2}UNet网络架构。输入\textbf{x}^{d}包括两个部分,即原始地震图像和边缘图像,示例如图2(a)和(b)所示。将相应的高分辨率图像和边缘图像作为地面实况,示例如图2(c)和(d)所示。Canny边缘检测算子用于从原始地震图像中获得边缘图像。

        D^{2}UNet网络由一个编码器和两个并行解码器组成。

  • 编码器由四个下采样块组成,每个下采样块由“最大池化层+ [卷积层+批归一化层+ReLU] × 2”组成。最大池化使用步长为2的2×2内核。卷积层使用3×3卷积核。对于四个下采样块,特征通道分别为64、128、256、512和1024。
  • D^{2}UNet包含两个并行解码器,分别称为边缘解码器和主解码器,它们都包含四个上采样块。上采样块通过转置卷积来扩大特征图的大小。此外,转置卷积的输出通过跳过连接与来自相同级别的下采样块的特征图连接。虽然跳跃连接可以包含更多的保真度信息,但这些中间特征在很大程度上受到输入特征的影响,并且丢失了一些高质量的图像细节。为了克服保留真实的细节和提高保真度的问题,两个解码器使用具有可变形卷积的TWM来交互。 

        假设含噪声的低分辨率地震图像和边缘图像为\textbf{x}^{d} = (\textbf{x}^{s},\textbf{x}^{e}) \in R^{H\times W\times 2}。输入\textbf{x}^{s}通过编码器得到潜在向量F_{5,3}^{E} = E(\textbf{x}^{s})。为了保持其真实的图像边缘,我们使用边缘解码器D_{edge}将其解码回图像空间,表示如下: 

F_{4}^{e} = D_{edge}(F_{5,3}^{E})        (5)

其中,边缘解码器的多级特征分别表示为F_{i}^{e}i\in \left \{ 1,2,3,4 \right \}

        主解码器D_{main}用于生成高分辨率地震图像\textbf{x}^{m},而边缘解码器D_{edge}用于获取边缘信息和细节。D_{main}通过在多个空间级别从退化输入中提取输入特征来扭曲边缘特征F_{i}^{e}。在TWM中,我们使用最大空间分辨率的输入特征\textbf{x}^{e}作为输入,它可以保持低分辨率图像信息和边缘信息的最丰富的保真度。

        对于第 i 分辨率级别,F_{i}^{e}和高质量特征\textbf{x}^{e}被用作TWM的输入,表示如下:

F_{i}^{t} = \textup{TWM}(F_{i}^{e} , \textup{Conv}(\textbf{x}^{e}))        (6)

其中TWM是纹理扭曲模块。如图3所示,我们首先连接两个输入特征以生成偏移量。然后,将偏移量应用于可变形卷积以扭曲边缘特征以匹配输入的保真度,如下所示: 

\textup{offset} = \textup{Conv}(\textup{Concat}(F_{i}^{e},\textup{Conv}(\textbf{x}^{e})))

                F_{i}^{t} =\textup{ DeformConv}(F_{i}^{e},\textup{offset})        (7)

其中,DeformConv表示可变形卷积。 

 图三:纹理扭曲模块(TWM)

        然后,主解码器的特征 F_{i,1}^{m} 由三个特征级联而成,包括扭曲特征F_{i}^{t}、编码器中下采样块的特征F_{i,3}^{E} 以及主解码器中的转置卷积特征。该过程可表述如下:

F_{1,1}^{m} = \textup{Concat}(F_{1}^{t}, F_{4,3}^{E}, \textup{Deconv}(F_{5,3}^{E}))

                             F_{i,1}^{m} = \textup{Concat}(F_{i}^{t}, F_{(5-i),3}^{E}, \textup{Deconv}(F_{(i-1),3}^{m}))        (8)

其中 i\geq 2,Deconv表示转置卷积。边缘解码器的特征被用作包含丰富边缘信息的参考特征。 

        主解码器共同学习地震资料的主要特征和“参考特征”。

        此外,我们在主解码器的四个上采样块中添加了一个子像素卷积层,然后连接三个残差块。子像素卷积在图像超分辨率重建精度和计算性能方面都取得了重要的成功。我们使用子像素卷积层进行上采样。 它不仅能减少训练时间,节省 GPU 内存,还能提供更多上下文信息,进一步提高图像质量。子像素卷积层之后连接有三个残差块,能够学习到更多的高频信息和细节。每个残差块由两个 "卷积+批量归一化+ReLU "模块组成。跳跃连接涵盖了两个卷积层。最后,我们使用 1 × 1 卷积层来减少特征通道的数量,以符合地面实况。

3.2 损失函数

        论文中的损失函数定义如下:

L =\mathbb{W} (L_{d},\sigma _{d}) + \mathbb{W} (L_{e},\sigma _{e})        (9)

其中加权算子 \mathbb{W} 和可训练参数 \sigma_{i} 平衡两个任务之间的训练。L_{d}L_{e}分别表示主解码器分支和边解码器分支的损耗。 

        定义权重参数 \mathbb{W} 如下:

\mathbb{W}(L_{i},\sigma _{i}) = \frac{1}{2\sigma _{i}}L_{i} + log\sigma _{i}, \; \; \; \; i\in \left \{ d,e \right \}        (10)

其中,\sigma _{i} 的值用来度量与预测相关联的不确定性,对数项的作用是防止 \sigma _{i} 过度增加。通过动态调整多个损失项的贡献,可以自动平衡损失。

        损失项L_{d}L_{e}包括L_{1}\textup{MS-SSIM},表示如下:

L_{d} = \lambda L_{1}(\hat{x}^{d},\textbf{x}^{d}) + (1-\lambda ) L_{\textup{MS-SSIM}}(\hat{x}^{d},\textbf{x}^{d})

                   L_{e} = \lambda L_{1}(\hat{x}^{e},\textbf{x}^{e}) + (1-\lambda ) L_{\textup{MS-SSIM}}(\hat{x}^{e},\textbf{x}^{e})        (11)

其中,L_{1}被广泛用于图像超分辨率。\textup{MS-SSIM}是一种多尺度图像质量评价方法。\hat{x}^{d}\textbf{x}^{d}分别表示恢复的高分辨率地震图像和地面真实情况。\hat{x}^{e}\textbf{x}^{e}分别表示恢复的高分辨率边缘图像和地面真实情况。\lambdaL_{1}函数的权重参数,被设置为0.4。

        L_{1}损失定义如下:

L_{1} = \frac{1}{N} \: _{i,j}^{\sum }\left | \hat{x}(i,j) - \textbf{x}(i,j) \right |        (12)

其中 N 表示像素的总数。\textup{MS-SSIM}是一种多尺度图像质量评价方法,是\textup{SSIM}的改进版本。

        \textup{SSIM}的定义如下:

L_{\textup{SSIM}} (\mathbf{\hat{x},}\textbf{x}) = \left [ l(\mathbf{\hat{x}},\textbf{x}) \right ]^{\alpha } \cdot \left [ c(\mathbf{\hat{x}},\textbf{x}) \right ]^{\beta } \cdot \left [ s(\mathbf{\hat{x}},\textbf{x}) \right ]^{\gamma }        (13)

其中,

 l(\mathbf{\hat{x}},\textbf{x}) = \frac{2\mu _{\mathbf{\hat{x}}} \mu_{\textbf{x}} +c_{1} }{\mu _{\mathbf{\hat{x}}}^{2} + \mu _{\textbf{x}}^{2} + c_{1}}

 c(\mathbf{\hat{x}},\textbf{x}) = \frac{ 2 \sigma _{\mathbf{\hat{x}} \textbf{x}} +c_{2} }{\sigma_{\mathbf{\hat{x}}}^{2} + \sigma _{\textbf{x}}^{2} + c_{2}}

                  s(\mathbf{\hat{x}},\textbf{x}) = \frac{ \sigma _{\mathbf{\hat{x}} \textbf{x}} +c_{3} }{\sigma_{\mathbf{\hat{x}}} \sigma _{\textbf{x}} + c_{3}}        (14)

其中 \mathbf{\hat{x}} 和 \textbf{x} 分别表示恢复的高分辨率图像和地面真实情况。\mu 和 \sigma 分别表示图像的平均值和标准差。例如,\sigma _{\mathbf{\hat{x}} \textbf{x}} 表示图像\mathbf{\hat{x}}\textbf{x}之间的协方差。c_{1}c_{2}c_{3}表示三个常量,以避免分母太小而达不到最佳值。l(\cdot )c(\cdot )s(\cdot )分别表示计算亮度或幅度、对比度和结构的函数。\alpha\beta\gamma表示三个函数的相应权重。 

        MS-SSIM的定义如下:

L_{\textup{MS-SSIM}} (\mathbf{\hat{x}},\textbf{x}) = \left [ l_{M}(\mathbf{\hat{x}},\textbf{x}) \right ]^{\alpha_{M}} \cdot \prod_{j=1}^{M}\left [ c_{j}(\mathbf{\hat{x}},\textbf{x}) \right ]^{\beta _{j}} \left [ s_{j}(\mathbf{\hat{x}},\textbf{x}) \right ]^{\gamma _{j}}        (15)

其中,M=5表示从五个尺度测量SSIM。\alpha = \beta = \gamma = \left [0.0448, 0.2856, 0.3001, 0.2363, 0.1333 \right ]

四、Training Datasets—训练数据集 

        该方法是有监督的,需要大量无噪声的高分辨率图像作为地面真实图像。然而,这样的野外数据集在实践中却很少见。有许多文献证实了,仅对合成地震数据进行训练的网络处理与地震有关的任务的有效性和准确性。因此,我们通过构建真实的复杂结构模型来提取大量的高分辨率图像。

4.1 生成训练数据

相关文章:

  • pinia数据持久化
  • 【ControlNet v3版本论文阅读】
  • 发挥自定义表单开源优势,助力实现流程化办公!
  • Android输入框架
  • vue vue3 手写 动态加载组件
  • SQL注入sqli_labs靶场第五、六题
  • 嵌入式:第一天(c语言入门)
  • 基于Java+SpringBoot+Vue实验室安全考试系统(源码+文档+部署+讲解)
  • Linux函数学习 fork
  • RabbitMQ3.13.x之六_RabbitMQ使用场景
  • 【算法-数组】二分查找法
  • (27)4.8 习题课
  • 深入浅出 -- 系统架构之微服务架构选型参考图
  • 数字化智慧养老:引领老年人融入科技时代新生活
  • Ant Design Vue 表单验证手机号的正则
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • (三)从jvm层面了解线程的启动和停止
  • Android交互
  • ERLANG 网工修炼笔记 ---- UDP
  • java2019面试题北京
  • Js基础知识(一) - 变量
  • Rancher-k8s加速安装文档
  • React Native移动开发实战-3-实现页面间的数据传递
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • 构建二叉树进行数值数组的去重及优化
  • 来,膜拜下android roadmap,强大的执行力
  • 如何胜任知名企业的商业数据分析师?
  • 微信小程序实战练习(仿五洲到家微信版)
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 阿里云服务器购买完整流程
  • ###C语言程序设计-----C语言学习(6)#
  • #if和#ifdef区别
  • #vue3 实现前端下载excel文件模板功能
  • $ git push -u origin master 推送到远程库出错
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (八)c52学习之旅-中断实验
  • (附源码)springboot炼糖厂地磅全自动控制系统 毕业设计 341357
  • (附源码)ssm高校实验室 毕业设计 800008
  • (转)shell调试方法
  • (转)使用VMware vSphere标准交换机设置网络连接
  • .gitignore文件_Git:.gitignore
  • .net 8 发布了,试下微软最近强推的MAUI
  • .Net Core 中间件验签
  • .NET/C# 避免调试器不小心提前计算本应延迟计算的值
  • .NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2
  • .NET命令行(CLI)常用命令
  • .NET实现之(自动更新)
  • /etc/motd and /etc/issue
  • /etc/X11/xorg.conf 文件被误改后进不了图形化界面
  • @AliasFor注解
  • [ C++ ] STL---string类的使用指南
  • []常用AT命令解释()
  • []指针
  • [100天算法】-x 的平方根(day 61)
  • [④ADRV902x]: Digital Filter Configuration(发射端)