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

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue2实现wangEditor富文本便捷器的封装使用--真实项目

基于wangEditor 5实现一个简单的富文本编辑器组件,实现自定义上传图片。 官网地址:https://www.wangeditor.com/v5/for-frame.html#%E9%85%8D%E7%BD%AE 1. 安装依赖包: npm i wangeditor/editor --save npm i wangeditor/editor-for-vue --…

【Entity Framework】聊聊EF中键

【Entity Framework】聊聊EF中键 文章目录 【Entity Framework】聊聊EF中键一、概述二、配置主键2.1 约定配置主键2.2 单个属性配置为实体主键2.3 组合主键 三、主键名称四、键类型和值五、备用键 一、概述 键用作每个实体实例的唯一标识符。EF中的大多数实体都有一个键&#…

图片管理系统:原理、设计与实践

title: 图片管理系统:原理、设计与实践 date: 2024/4/9 20:04:25 updated: 2024/4/9 20:04:25 tags: 图片管理存储组织上传采集处理编辑搜索检索展示分享AI应用 第一章:图片管理系统概述 1.1 图片管理系统简介 图片管理系统是一种用于存储、组织、处理…

Linux--进程的概念(一)

目录 一、冯诺依曼体系结构二、操作系统2.1 什么是操作系统2.2 操作系统的意义 三、进程3.1 进程的基本概念3.2 描述进程——PCB3.3 进程和程序的区别3.4 task_struct-PCB的一种3.5 task_struct的内容分类 四、如何查看进程4.1 通过系统文件查看进程4.2 通过ps指令查看进程 五、…

目标检测——车牌图像数据集

一、重要性及意义 车牌图像识别的重要性及意义主要体现在以下几个方面: 智能交通管理:车牌图像识别技术是智能交通系统(ITS)的核心组成部分。通过自动识别车辆车牌,可以实现对交通违章行为的自动记录和处理&#xff…

langchain 使用本地通义千问

langchian 使用已经下载到本地的模型,我们使用通义千问 显存:24G 模型:qwen1.5-7B-Chat,qwen-7B-Chat 先使用 qwen-7B-Chat,会报错用不了: 看了下是不支持这中模型,但看列表中有一个 Qwen 字样…

VPP 负载均衡测试代码

1. 均衡的测试思想和流程说明。 先说一下理论, 然后后边才知道 代码逻辑。 调试了两天,这个代码终于通了。 由于时间关系, 画了一个粗略的图。另外这个代码只是流程通了,不过要帮助理解负载均衡我认为已经足够了。 下面是windo…

7B超越百亿级,北大开源aiXcoder-7B最强代码大模型,企业部署最佳选择

ChatGPT狂飙160天,世界已经不是之前的样子。 新建了免费的人工智能中文站https://ai.weoknow.com 新建了收费的人工智能中文站https://ai.hzytsoft.cn/ 更多资源欢迎关注 ​ 对代码大模型而言,比能做编程题更重要的,是看是能不能适用于企业…

SQL注入的其他攻击思路方法与Python脚本设计思路

SQL注入的其他攻击思路方法与Python脚本设计思路 也是很早就写了,也备个份吧 注意:在接下来的攻击方式中,由于实现的条件较为苛刻,并且需要较高权限,有的师傅又称之为高权限攻击 利用文件读取进行SQL注入 上一篇文章提…

Go第三方框架--ants协程池框架

1. 背景介绍 1.1 goroutine ants是站在巨人的肩膀上开发出来的,这个巨人是goroutine,这是连小学生都知道的事儿,那么为什么不继续使用goroutine(以下简称go协程)呢。这是个思考题,希望讲完本文大家可以有个答案。 go协程只涉及用…

【C语言】编译和链接

1. 翻译环境和运行环境 在ANSI C的任何⼀种实现中,存在两个不同的环境。 第1种是翻译环境,在这个环境中源代码被转换为可执⾏的机器指令(⼆进制指令)。 第2种是执⾏环境,它⽤于实际执⾏代码。 2. 编译环境 那翻译环境…

2024年腾讯云优惠券领取步骤使用教程详解

随着云计算技术的快速发展,越来越多的企业和个人开始选择使用云服务来提升自己的业务能力和工作效率。腾讯云作为国内领先的云服务提供商,其优质的服务和丰富的资源吸引了大量的用户。为了回馈广大用户,腾讯云经常会推出各种优惠活动&#xf…

Apache Log4j2 Jndi RCE CVE-2021-44228漏洞原理讲解

Apache Log4j2 Jndi RCE CVE-2021-44228漏洞原理讲解 一、什么是Log4j2二、环境搭建三、简单使用Log4j2四、JDNI和RMI4.1、启动一个RMI服务端4.2、启动一个RMI客户端4.3、ldap 五、漏洞复现六、Python批量检测 参考视频:https://www.bilibili.com/video/BV1mZ4y1D7K…

SQL注入---字符绕过

文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 一.注释符绕过 当网页源代码中出现如下代码后,常见的注释符号将无效,因此需要通过特殊手段进行绕过 $reg "/#/"; $reg1 "/--/"; $replace &quo…

数据安全产品之认识数据脱敏系统

文章目录 一、什么是数据脱敏二、为什么要做数据脱敏三、数据脱敏系统的工作原理四、常见的数据脱敏方法五、数据脱敏系统的主要功能六、数据脱敏系统的部署方式七、数据脱敏与去标识化的关系与区别 随着业务的快速发展,特别是在银行、电信、医疗等行业中&#xff0…

第一个Swift程序

要创建第一个Swift项目,请按照以下步骤操作: 打开Xcode。如果您没有安装Xcode,可以在App Store中下载并安装它。在Xcode的欢迎界面上,选择“Create a new Xcode project”(创建新Xcode项目)。在模板选择界面上,选择“App”(应用程序)。在应用模板选择界面上,选择“Si…

PostgreSQL入门到实战-第九弹

PostgreSQL入门到实战 PostgreSQL数据过滤(二)官网地址PostgreSQL概述PostgreSQL中and操作理论PostgreSQL中and操作实操更新计划 PostgreSQL数据过滤(二) 了解PostgreSQL AND逻辑运算符以及如何使用它来组合多个布尔表达式。 官网地址 声明: 由于操作系统, 版本更新等原因, …

接口自动化测试(python+pytest+requests)

一、选取自动化测试用例 优先级高:先实现业务流程用例、后实现单接口用例功能较稳定的接口优先开展测试用例脚本的实现二、搭建自动化测试环境 核心技术:编程语言:python;测试框架:pytest;接口请求:requests安装/验证requests:命令行终端分别输入 pip install requests / p…

【LAMMPS学习】八、基础知识(1.6) LAMMPS 与其他代码耦合

8. 基础知识 此部分描述了如何使用 LAMMPS 为用户和开发人员执行各种任务。术语表页面还列出了 MD 术语,以及相应 LAMMPS 手册页的链接。 LAMMPS 源代码分发的 examples 目录中包含的示例输入脚本以及示例脚本页面上突出显示的示例输入脚本还展示了如何设置和运行各…

理解 Golang 变量在内存分配中的规则

为什么有些变量在堆中分配、有些却在栈中分配? 我们先看来栈和堆的特点: 简单总结就是: 栈:函数局部变量,小数据 堆:大的局部变量,函数内部产生逃逸的变量,动态分配的数据&#x…