论文学习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 生成训练数据

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/530785.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python实现滑块验证码识别,最简单的一种,没有任何加密

网址链接:衣丰 & 2010-聚衣网(juyi5.cn) - 常熟市聚衣网,聚衣网女装,江苏省女装批发,苏州市女装批发,常熟市女装批发,网销女装一件代发,全国最低价 平时采集数据,频率过快&…

2024年租用阿里云服务器一年多少钱?免费版不要钱,收费版61元起

2024年阿里云服务器一年多少钱?如果是申请试用版云服务器就不需要钱,如果是购买收费版目前最低仅需61元,不同阶段,阿里云所推出的最低价格的云服务器不同,2024年4月份,阿里云服务器的活动价格在再次更新了&…

Ubuntu 20.04.06 PCL C++学习记录(二十一)【切记使用rm * -rf前先确认是否是对应文件夹】

[TOC]PCL中点云分割模块的学习 学习背景 参考书籍:《点云库PCL从入门到精通》以及官方代码PCL官方代码链接,,PCL版本为1.10.0,CMake版本为3.16,测试点云下载地址 学习内容 根据欧几里得距离和需要保持的用户可自定义条件对点进…

8. 托盘图标与菜单

内容概要: 托盘图标的设置与事件 右键菜单的相关操作 窗口组件: 1.组件的属性 组件属性:位置 组件属性:可视 2.组件的事件 窗口_托盘事件-带有参数的事件的使用方法 3.组件的方法 置托盘图标 菜单的操作 1.创建菜单 …

大话设计模式——20.解释器模式(Interpreter Pattern)

简介 给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子 UML图 应用场景 某种特定类型的问题发生的频率足够多,就可能值得将该问题的各个实例表述为一个简单语言中的句子&#xff0…

关于pandas 无法读取 csv 文件数据的解决方式

你好,我是 shengjk1,多年大厂经验,努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注!你会有如下收益: 了解大厂经验拥有和大厂相匹配的技术等 希望看什么,评论或者私信告诉我! 文章目录 …

词频统计程序

使用Hadoop MapReduce处理文本文件,Mapper负责将文本分割为单词,然后Reducer对每个单词进行计数,最后将结果写入输出文件。 // 定义WordCount公共类 public class WordCount {// 主入口方法,处理命令行参数public static void m…

C++实现幻方实验

我们这个实验目的是实现大于2的奇数的n阶幻方 根据上述的例子我们可以看到一些规律,显示1放在最上方中间的位置,然后向右上方延申,在达到n这个数字时,停止延申,然后在n的下方开始n1的新一轮延申。明白了原理之后就很容…

羊大师说:“羊奶”,每一滴都值得珍惜

亲爱的读者们,我是羊大师。在无数次探索自然的奥秘和追求健康生活的旅途中,我发现了一种珍贵的液体——羊奶。今天,我要带大家深入了解羊奶,看看它是如何成为餐桌上的超级食品。 1. 羊奶的营养价值 首先,羊奶含有丰富…

财富池指标公式--实用多空博弈买点提示通达信副图指标公式源码

实用多空博弈买点提示通达信副图指标,不含未来函数,信号简单。 当白色多头能量线金叉黄色空方能量线,且出现紫色向上的信号后参考买入是一个较为稳健的买点,也可在白色多头能量线金叉黄色空方能量线时就介入。 配合其它选股指标…

向新而行,企商在线做好“AI+”大文章

文:中国高新技术产业导报 记者 张伟 作为人工智能典型服务商屡获认可,入选第二批北京市通用人工智能产业创新伙伴计划成员;作为唯一上榜的AI算力企业,实力入选中国信通院《2023高质量数字化转型产品及服务全景图(9月…

ubuntu20挂载webdav

WebDAV 是个好东西,尤其是配个自己的 NAS 使用,熟悉以后就再也离不开它啦 sudo apt-get update sudo apt-get install davfs2 上下左右键可以切换到“是”选项 2.创建目录挂载点 sudo mkdir /mnt/webdav 3.配置 davfs2 编辑 davfs2.conf 文件以配置 da…

系统监测工具-tcpdump的使用

一个简单的tcpdump抓包过程。主要抓包观察三次握手,四次挥手的数据包 有两个程序:客户端和服务器两个程序 服务器端的ip地址使用的是回环地址127.0.0.1 端口号使用的是6000 tcpdump -i 指定用哪个网卡等,dstip地址端口指定抓取目的地址…

Linux:gcc

Linux:gcc gcc概述语言发展史gcc的编译过程预处理编译汇编 gcc的链接过程动态库与静态库 gcc概述 GCC(英文全拼:GNU Compiler Collection)是 GNU 工具链的主要组成部分,是一套以 GPL 和 LGPL 许可证发布的程序语言编译…

自定义类型—结构体

目录 1 . 结构体类型的声明 1.1 结构的声明 1.2 结构体变量的创建与初始化 1.3 结构体的特殊声明 1.4 结构体的自引用 2. 结构体内存对齐 2.1 对齐规则 2.2 为什么存在内存对齐 2.3 修改默认对齐数 3. 结构体传参 4.结构体实现位段 4.1 位段的内存分配 1 . 结构体类…

12.C++常用的算法_遍历算法

文章目录 遍历算法1. for_each()代码工程运行结果 2. transform()代码工程运行结果 3. find()代码工程运行结果 遍历算法 1. for_each() 有两种方式&#xff1a; 1.普通函数 2.仿函数 代码工程 #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<vect…

数据结构之树的性质总结

节点的度&#xff1a;该节点拥有的孩子个数 叶子节点&#xff1a;度为0的节点 层数&#xff1a;根节点为第一层&#xff0c;根的子节点为第二层&#xff0c;以此类推 所有树的性质&#xff1a;所有节点的总度数等于节点数减一 完全m叉树性质 完全m 叉树&#xff0c;节点的…

【Canvas与艺术】绘制磨砂黄铜材质Premium Quality徽章

【关键点】 渐变色的使用、斜纹的实现、底图的寻觅 【成果图】 ​​​​​​​ 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><tit…

若依Vue3:新一代前后端分离权限管理系统

随着技术的不断进步&#xff0c;前后端分离的开发模式逐渐成为主流&#xff0c;特别是在构建权限管理系统时。在这样的背景下&#xff0c;若依Vue3应运而生&#xff0c;作为基于Spring Boot、Spring Security、JWT、Vue3、Vite和Element Plus的全新解决方案&#xff0c;它在技术…

Ubuntu20.04安装ROS过程记录以及常见报错处理

sudo sh -c ‘echo “deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main” > /etc/apt/sources.list.d/ros-latest.list’ sudo apt-key adv --keyserver ‘hkp://keyserver.ubuntu.com:80’ --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 sudo apt-…