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

news2024/11/25 23:43:01

标题: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 生成训练数据

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux】进程的状态(运行、阻塞、挂起)详解,揭开孤儿进程和僵尸进程的面纱,一篇文章万字讲透!!!!进程的学习②

目录 1.进程排队 时间片 时间片的分配 结构体内存对齐 偏移量补充 对齐规则 为什么会有对齐 2.操作系统学科层面对进程状态的理解 2.1进程的状态理解 ①我们说所谓的状态就是一个整型变量,是task_struct中的一个整型变量 ②.状态决定了接下来的动作 2.2运行状态 2.…

R语言绘图 | 散点小提琴图

原文链接:R语言绘图 | 散点小提琴图 本期教程 写在前面 本期的图形来自发表在Nature期刊中的文章,这样的基础图形在日常分析中使用频率较高。 获得本期教程数据及代码,后台回复关键词:20240405 绘图 设置路径 setwd("You…

【数据结构】顺序表的动态分配(步骤代码详解)

🎈个人主页:豌豆射手^ 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:数据结构 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进…

算法设计与分析实验报告c++java实现(矩阵链连乘、投资问题、完全背包问题、旅行商问题、数字三角形)

一、 实验目的 1.加深学生对算法设计方法的基本思想、基本步骤、基本方法的理解与掌握; 2.提高学生利用课堂所学知识解决实际问题的能力; 3.提高学生综合应用所学知识解决实际问题的能力。 二、实验任务 用动态规…

防火墙操作!

当小编在Linux服务器上部署好程序以后,但是输入URL出现下述情况,原来是防火墙的原因!! 下面是一些防火墙操作! 为保证系统安全,服务器的防火墙不建议关闭!! 但是,我们可…

idea(2023.1.3)配置全局Maven环境

问题来源一: 1、每次在下载依赖时,会遇到这样的报错信息,报错信息如下显示:sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid cert;百度结果是:通常表示IntelliJ IDEA …

第十四届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组A-E题(go、java实现)

第十四届蓝桥杯大赛软件赛省赛C/C 大学 B 组 A题:日期统计B题:01串的熵C题:冶炼金属D题:飞机降落E题:接龙数列 A题:日期统计 直接遍历2023年每一天,看数组中是否有符合的 java的coding如下&…

【Shell】各种条件语句的使用——test语句、if语句、case语句

Shell条件语句的使用 条件语句 Shell条件语句的使用条件测试的语法字符串测试表达式整数二元比较操作符逻辑操作符 if的条件语句的语法if的嵌套case语句语法 条件测试的语法 语法1&#xff1a;test <测试表达式> 利用test命令进行条件测试表达式的方法。test命令与<测…

【操作系统】段描述符、全局描述符表和选择子

一、保护模式的内存寻址过程 与实模式不同的是&#xff0c;保护模式下内存段不再是简单地用段寄存器加载一下段基址然后乘以16位结合偏移地址得出实际要访问的内存地址&#xff0c;而是通过选择子在全局描述符表中找到对应的段描述符&#xff0c;CPU从段描述符中提取段基址&…

vscode 重命名很慢或失败 vscode renames are slow

网上问题&#xff0c; 插件问题&#xff08;我遇见的排除&#xff0c;不是&#xff09;被其他程序占用问题&#xff0c;&#xff08;我这边是这个&#xff09; 解决方案&#xff1a; 打开【资源管理器】&#xff0c;使用火绒 或其他软件&#xff0c;查看文件夹 or 文件 被哪个…

2024.4.9-day12-CSS 常用样式属性和字体图标

个人主页&#xff1a;学习前端的小z 个人专栏&#xff1a;HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结&#xff0c;欢迎大家在评论区交流讨论&#xff01; 文章目录 作业 作业 <!DOCTYPE html> <html lang"zh-CN"><he…

C++进阶之路---何为智能指针?

顾得泉&#xff1a;个人主页 个人专栏&#xff1a;《Linux操作系统》 《C从入门到精通》 《LeedCode刷题》 键盘敲烂&#xff0c;年薪百万&#xff01; 一、为什么需要智能指针&#xff1f; 下面我们先分析一下下面这段程序有没有什么内存方面的问题&#xff1f;提示一下&am…

通过系统防火墙,禁用同网段主机互访

要通过系统防火墙禁止同网段主机之间的互访&#xff0c;您可以在Windows操作系统中使用高级防火墙规则来实现。以下是在Windows环境中创建一条规则以阻止本地同一子网内的计算机互相访问的基本步骤&#xff1a; 对于Windows防火墙&#xff08;适用于Windows 7至Windows 11&…

一文带你全面了解功能安全软件监控方案

引言&#xff1a;功能安全标准&#xff08;ISO26262 Part6&#xff09;提到了用于错误探测的安全机制&#xff0c;其中就有程序流监控&#xff0c;如图1所示&#xff1b;本文主要探讨在AUTOSAR CP以及AP的场景下&#xff0c;怎么实现程序流监控。 图1 ISO26262 Part6 一、CP场…

Android设备使用DS file远程访问群晖NAS管理本地文件

文章目录 1. 群晖安装Cpolar2. 创建TCP公网地址3. 远程访问群晖文件4. 固定TCP公网地址5. 固定TCP地址连接 DS file 是一个由群晖公司开发的文件管理应用程序&#xff0c;主要用于浏览、访问和管理存储在群晖NAS&#xff08;网络附加存储&#xff09;中的文件。这个应用程序具有…

JS--demo实现随机点名

逻辑就是通过点击事件得到数组里面的随机一个值&#xff0c;再把这个值给删除&#xff0c;当数组长度为1的时候&#xff0c;停止点名&#xff0c;用disabled属性让用户不能进行点击。 <!DOCTYPE html> <html lang"en"><head><meta charset&quo…

基于springboot实现校园资料分享平台系统项目【项目源码+论文说明】

基于springboot实现校园资料分享平台系统演示 摘要 随着信息互联网购物的飞速发展&#xff0c;国内放开了自媒体的政策&#xff0c;一般企业都开始开发属于自己内容分发平台的网站。本文介绍了校园资料分享平台的开发全过程。通过分析企业对于校园资料分享平台的需求&#xff…

电脑微信双开,微信微信多开支持多个微信同时登录,快速切换,方便快捷 电脑最简单的微信双开多开方法 电脑上怎么登录两个微信账号?电脑微信怎么能够双开?

支持多个微信账号同时登录&#xff0c;不限微信登录个数&#xff0c;运行快速&#xff0c;稳定不卡顿 集成所有聊天窗口&#xff0c;一键快捷切换&#xff0c;窗口再多也不乱&#xff0c;提高你的工作效率 同时管理多个微信号&#xff0c;且需要分别维护用户关系、粉丝社群 …

Oracle表空间满清理方案汇总分享

目录 前言思考 一、第一种增加表空间的数据文件数量达到总容量的提升 二、第二种解决方案针对system和sysaux的操作 2.1SYSTEM表空间优化 2.2sysaux表空间回收 2.2.1针对sysaux的表空间爆满还有第二套方案维护 三、第三种解决方案使用alter tablespace resize更改表空间的…

HTML转EXE工具(HTML App Build)永久免费版:24.4.9.0

最新版本的HTML2EXE即将发布了。自从去年发布了HTML2EXE之后&#xff0c;我就正式上班了&#xff0c;一直忙于工作&#xff0c;实在没有时间更新&#xff08;上班时间不能做&#xff09;&#xff0c;很多网友下载使用&#xff0c;反应很好&#xff0c;提出了一些改进的建议&…