2024年3月30日~2024年4月7日周报

news2024/11/24 6:17:42

文章目录

  • 一、前言
  • 二、创意收集
    • 2.1 多任务学习
    • 2.1.1 多任务学习的定义与优势
      • 2.1.2 多任务学习的分类
    • 2.2 边缘检测
      • 2.2.1 基础理论
      • 2.2.2 sobel代码介绍
      • 2.2.3 canny代码介绍
  • 三、《地震速度模型超分辨率的多任务学习》
    • 3.1 M-RUDSR架构
    • 3.2 详细介绍
    • 3.3 实验设置
  • 四、实验
  • 五、小结
    • 5.1 存在的疑问
    • 5.2 下周安排

一、前言

  上周对网络进行了修改,并跑了实验。

  本周阅读论文《地震速度模型超分辨率的多任务学习》,继续完成实验,并学习了一些新的概念,如多任务学习、sobel算子。

二、创意收集

2.1 多任务学习

  2017年介绍多任务学习概述的论文:《An Overview of Multi-Task Learning in Deep Neural Networks》,链接为:https://arxiv.org/pdf/1706.05098.pdf。

2.1.1 多任务学习的定义与优势

  多任务学习(Multi-task learning,简称MTL)是一个在机器学习领域中备受关注的领域,它通过使用包含在相关任务的监督信号中的领域知识来改善泛化性能。多任务学习可以被视为一种归纳迁移机制,是迁移学习的一种,主要目标是利用隐含在多个相关任务的训练信号中的特定领域信息来提高泛化能力。它通过共享相关任务之间的表征,使模型能够更好地概括原始任务。多任务学习作为迁移学习的一个分支有着其自己独特的学习背景和应用。在给定几个相关联任务的输入数据和输出数据的情况下,多任务学习能够发挥任务之问的关系,同时学习多个模型。这种方法在图像识别、语音识别、自然语言处理等领域都有广泛的应用。

  传统的机器学习方法主要是基于单任务的学习(Single-task Learning)模式进行学习,对于复杂的学习任务也可将其分解为多个独立的单任务进行学习,然后对学习得到的结果进行组合,得到最终的结果。

  多任务学习的关键在于寻找任务之间的关系,若任务之间的关系衡量恰当,那不同任务之间能相互提供额外的有用信息,利用这些额外信息,可以训练出表现更好、更鲁棒的模型。反之,如果关系衡量不恰当,不仅不会引入额外的信息,反而会给任务本身引来噪声,模型学习效果不升反降。当单个任务的训练数据集不充分的时候,此时多任务学习的效果能够有比较明显的提升,这主要是因为单个任务无法通过自身的训练数据集得到关于数据分布的足够信息。如果有多个任务联合学习,那么这些任务将能从相关联的任务中得到额外的信息,因此学习效果将有显著的提升。

  与单任务学习相比,主要有以下几个方面的优势:

  • A.多任务学习通过挖掘任务之间的关系,能够得到额外的有用信息,大部分情况下都要比单任务学习的效果要好。在有标签样本比较少的情况下,单任务学习模型往往不能够学习得到足够的信息,表现较差,多任务学习能克服当前任务样本较少的缺点,从其他任务里获取有用信息,学习得到效果更好、更鲁棒的机器学习模型。
  • B.多任务学习有更好的模型泛化能力,通过同时学习多个相关的任务,得到的共享模型能够直接应用到将来的某个相关联的任务上。

2.1.2 多任务学习的分类

  深度学习中的两种MTL方法:

  • (1). 基于硬约束的多任务学习方法,如下图所示:表示的是不同任务通过分享一些底部的层学习一些共有的低层次的特征,为了保证任务的独特性,每个任务在顶部拥有自己独特的层学习高层次的特征。这种方法底层共享的参数是完全相同的。
    在这里插入图片描述
  • (2). 基于软约束的多任务学习方法,如下图所示:该方法不要求底部的参数完全一样,而是对不同任务底部的参数进行正则化。相对于硬参数约束的多任务深度学习模型,软约束的多任务学习模型的约束更加宽松,当任务关系不是特别紧密的时候,有可能学习得到更好的结果。多任务深度学习模型需要同时学习一个适合多个任务的网络构架,一般来说模型具有更好的鲁棒性,不容易过拟合。软约束的多任务学习方法是隐藏层参数软共享,不同的任务使用不同的网络,但是不同任务的网络参数,采用正则化作为约束,与硬约束的多任务学习不同的是,底层的参数不一定完全一致,而是鼓励参数相似化。
    在这里插入图片描述

  为什么多任务学习有效:假定有两个相关的任务A和B,它们依赖共享隐藏层。

  • (1).隐式数据扩充(Implicit data augmentation):MTL有效地增加了用于训练模型的样本量。由于所有任务或多或少存在一些噪音,因此在针对某个任务A训练模型时,我们的目标是得到任务A的一个好的表示,忽略与数据相关的噪声。由于不同的任务具有不同的噪声模式,因此同时学习两个任务的模型可以得到一个更为泛化的表示。如果仅学习任务A要承担对任务A过拟合的风险,然而同时学习任务A和任务B则可以对噪声模式进行平均,可以使模型获得更好的表示。

  • (2).注意力机制(Attention focusing):如果一个任务非常嘈杂或数据量有限且维数很高,则模型很难区分相关和不相关特征。MTL可以帮助模型将注意力集中在重要的特征上,因为其他任务将为这些特征的相关性或不相关性提供更多证据。

  • (3).窃听(Eavesdropping):一些特征G很容易被任务B学习,但是对于其他任务A则很难学习。这可能是因为A以更复杂的方式与特征进行交互,或者是因为其他特征阻碍了模型学习G的能力。通过MTL,我们可以允许模型进行”窃听”,即通过任务B学习G。最简单的方法是通过”提示”,即直接训练模型来预测最重要的特征。

  • (4).表征偏置(Representation bias):MTL biases the model to prefer representations that other tasks also prefer。这也将有助于该模型将来泛化到新任务,因为在足够多的训练任务上表现良好的假设空间,只要它们来自相同环境,对于学习新任务也将表现良好。

  • (5).正则化(Regularization):MTL通过引入归纳偏置(inductive bias)作为正则化项。因此,它降低了过拟合的风险以及模型的Rademacher复杂度,即拟合随机噪声的能力。

2.2 边缘检测

2.2.1 基础理论

  边缘检测大幅度减少了数据量,且剔除了不相关的信息,保留了图像重要的结构属性。边缘检测是图像处理和计算机视觉中的基本问题,目的是标识数字图像中亮度变化明显的点。图像属性中的显著变化通常反映了属性的重要事件和变化。

  从边缘检测的实现方式来看,可以分为基于搜索基于零穿越的两大类。这两类边缘检测方法都是基于导数的,基于搜索的方法利用灰度的一阶或二阶导数来寻找边缘,而基于零穿越的方法则是在基于搜索的基础上,进一步求二阶导数来确定边缘的位置。

  • 基于搜索的边缘检测方法:通过寻找图像一阶导数中的最大值和最小值来检测边界。这个过程通常是将边界定位在梯度最大的方向。具体来说,它首先计算边缘强度,通常使用一阶导数来表示,例如梯度模。然后,计算估计边缘的局部方向,通常使用梯度的方向。最后,利用此方向找到梯度模的最大值,从而确定边缘的位置。在实际应用中,代表算法如Sobel算子和Scharr算子,它们结合了高斯平滑和微分操作,因此在抗噪声能力方面表现优秀。尤其是当对效率要求较高,而对细纹理不太关注时,这类方法非常适用。(原理:边缘附近的像素值会有明显突变,即变化最大,也就是一阶导数最大。那么找到最大的一阶导数也就找到了像素变化最大的点,即边缘点。)

  • 基于零穿越的边缘检测方法:通过寻找图像二阶导数的零穿越点来定位边缘。这通常涉及到Laplacian过零点或者非线性差分表示的过零点。这种方法利用二阶导数信息,可以更精确地定位边缘位置。该方法中,Laplacian算子是一个典型的代表。它通过计算图像的二阶导数,并找到其过零点来确定边缘的位置。这种方法对噪声较为敏感,在应用时通常需要结合其他技术来提高鲁棒性。(原理:在一阶导数的基础上再求一次导,那么此时零点就是变化最大的点,即边缘点。)

  一些边缘检测算子优缺点概括如下:

算子优点缺点
Sobel算子对灰度渐变和噪声较多的图像处理效果较好,边缘定位效果不错对噪声敏感,边缘可能不连续且较粗糙,可能会忽略一些细微的边缘
Roberts算子对具有陡峭的低噪声的图像处理效果较好可能在处理复杂图像或噪声较多的图像时表现不佳
Prewitt算子实现简单,对噪声具有一定的抑制作用,能够准确地检测图像中的边缘对边缘定位精度要求较高,如果图像中的边缘较为模糊或复杂,其检测结果可能会存在误差
Laplacian算子对孤立点及线端的检测效果好边缘方向信息丢失,对噪声敏感,易造成不连续的检测边缘
LOG算子(Laplacian of a Gaussian)结合了高斯平滑和拉普拉斯锐化,能在平滑噪声的同时检测边缘对噪声敏感,很少用于检测边缘,用于判断边缘像素位于图像的明区或暗区
Canny算子高准确性、抑制噪声、边缘连接、基于边缘梯度方向的非极大值抑制高低阈值需要手动设定,可能将噪点误判为边界,在处理大规模图像时,可能需要更多的计算资源

2.2.2 sobel代码介绍

  

import cv2  
import numpy as np  
  
img = cv2.imread('test.png', cv2.IMREAD_GRAYSCALE)  
  
# 定义 Sobel 滤波器卷积核  
sobel_x = np.array([[-1, 0, 1],  
                    [-2, 0, 2],  
                    [-1, 0, 1]], dtype=np.float32)  
sobel_y = np.array([[-1, -2, -1],  
                    [0, 0, 0],  
                    [1, 2, 1]], dtype=np.float32)  
  
# 对图像应用 Sobel 滤波器  
edge_x = cv2.filter2D(img, cv2.CV_32F, sobel_x)  
edge_y = cv2.filter2D(img, cv2.CV_32F, sobel_y)  
  
# 计算边缘强度  
edge_strength = cv2.magnitude(edge_x, edge_y)  
  
# 归一化到0-255范围  
# 使用cv2.NORM_MINMAX归一化类型,将最小值映射到0,最大值映射到255  
normalized_strength = cv2.normalize(edge_strength, None, alpha=0, beta=255, norm_type=cv2.NORM_MINMAX, dtype=cv2.CV_8U)  
  
# 显示结果  
cv2.imshow('Original Image', img)  
cv2.imshow('Edge Strength', normalized_strength)  
cv2.waitKey(0)  
cv2.destroyAllWindows()

  图片展示:

在这里插入图片描述

2.2.3 canny代码介绍

import cv2
import numpy as np

image = cv2.imread('test2.png', cv2.IMREAD_GRAYSCALE)

# 应用Canny边缘检测
low_threshold = 9
high_threshold = 15
edges = cv2.Canny(image, low_threshold, high_threshold)

# 显示结果
cv2.imshow('Original Image', image)
cv2.imshow('Edge', edges)
cv2.waitKey(0)
cv2.destroyAllWindows()

  使用canny边缘检测算子与sobel算子对图片进行了测试,结果显示确实canny效果好很多。
在这里插入图片描述

三、《地震速度模型超分辨率的多任务学习》

标题:Multitask Learning for Super-Resolution of Seismic Velocity Model—地震速度模型超分辨率的多任务学习

作者:Yinshuo Li , Jianyong Song , Wenkai Lu , Member, IEEE, Patrice Monkam ,and Yile Ao

期刊:IEEE地球科学与遥感学报,第59卷,第9期,2021年9月

简介:本文提出了一种基于深度学习的超分辨率(SR)方法,用于提高地震速度模型的分辨率。此外,地震速度模型的边缘图像在地震物理学中也有广泛的应用,因此采用具有硬参数共享的多任务学习(MTL)网络,以实现地震速度模型及其边缘图像的超分辨率。提出的多任务学习(MTL)模型被称为M-RUDSR,包括一个全局残差跳跃连接、一个Unet的编码器-解码器结构和一个密集的跳跃连接结构(其中“M”代表多任务,“R”代表残差,“U”代表U-Net,“D”代表密集)。此外,本文还提供了两个用于比较的网络,即RUDSR和M-RUDSR。RUDSR是M-RUDSR的单任务版本,在输入和输出层方面不同,而M-RUSR是M-RUDSR的简化版本,没有密集跳跃结构。与RUDSR和M-RUSR相比,M-RUDSR在各种模糊程度下都产生了最好的结果,并获得了更好的视觉细节。本文提出,FWI后跟随超分辨率可以帮助减少FWI在频谱的高频部分的计算成本,并实现更好的高频细节恢复。实验结果表明,M-RUDSR是一种实用的地震速度模型超分辨率恢复方法,可以有效地应用于真实的数据集。

Index terms-关键词:深度学习-Deep learning、边缘图像-edge image、多任务学习(MTL)-multitask learning、地震速度模型-seismic velocity model、超分辨率(SR)-super-resolution

创新点

  • A. 速度模型及其边缘图像的同步超分辨率:本文提出的M-RUDSR将边缘图像的SR视为地震速度模型SR的辅助任务。值得注意的是,由于地震速度模型和其边缘图像之间的高相关性,M-RUDSR模型采用了硬参数共享。M-RUDSR在每个任务中的性能均优于具有相同结构的单任务网络。
  • B. 带跳跃连接的多类型结构:提出的 M-RUDSR 包括全局残差跳跃连接、编码器-解码器结构和 U-Net 的局部残差跳跃连接,以及密集跳跃连接结构。在这些结构的组合下,M-RUDSR 可以避免梯度消失问题,并快速获得真实的 SR 结果。
  • C. 混合损失函数:M-RUDSR的损失函数由均方误差(MSE; L2-loss)和总变差(TV)组成。M-RUDSR的输入是由地震速度模型及其垂直和水平边缘组成的三通道数据。由于每个通道的输入单位不同,因此在均方误差中添加了能量参数。此外,TV范数函数可以防止噪声和波动的引入。
  • D.提高FWI的效率和精度:提出的SR方法称为M-RUDSR,可以改善FWI后地震速度模型的分辨率,有助于减少FWI的计算成本。具体来说,结果表明,FWI后跟随SR不仅可以帮助减少高频部分FWI的计算成本,还可以实现更好的高频细节恢复。

3.1 M-RUDSR架构

  M-RUDSR的架构如图1所示,其中多任务学习通过硬参数共享实现。网络完全由卷积层组成,使用“SAME”卷积方法,在普通卷积层之后,特征图的大小没有改变。此外,通过“stride”参数,下采样和上采样层调整输出特征图的大小。下采样层由一个卷积层实现,其“stride”参数为2。因此,经过这一层处理的特征图大小从 h × w × c i n h × w × c _{in} h×w×cin变为 h / 2 × w / 2 × c o u t h/2 × w/2 × c_{out} h/2×w/2×cout,其中h和w分别是高度和宽度, c i n c_{in} cin c o u t c_{out} cout是通道数。同样地,上采样层由“stride”参数为2的转置卷积层实现,因此特征图的大小从 h × w × c i n h × w × c _{in} h×w×cin变为 h / 2 × w / 2 × c o u t h/2 × w/2 × c_{out} h/2×w/2×cout。由于降采样和上采样层是对称的,输入图像的大小可以是任意的。此外,网络的输入和输出是尺寸相同的图像 h × w × c h × w × c h×w×c,其中 h h h w w w c c c分别是高度、宽度和通道数。

在这里插入图片描述

图1. (a) M-RUDSR的架构。所有卷积层均以“SAME”模式工作,而密集结构外部的层使用3×3卷积核。Leaky-ReLU广泛应用于每个隐藏层,但密集跳跃连接结构除外。所有隐藏层的参数在任务之间共享,这意味着所有隐藏层都是共享层,而输出层是特定于任务的层。 (b) 密集跳跃连接结构。 (c) 密集块的结构。
  • (1) MTL与硬参数共享:MTL是机器学习中一个有前景的领域,它共享多个学习任务中包含的有用信息,以帮助更准确地预测每个任务的结果。完整的边界信息存储在边缘图像可以辅助原始图像的超分辨率任务。由于地震速度模型及其边缘图像高度相关,因此硬参数共享更有效。边缘图像是原始图像通过Sobel算子进行卷积的结果,因此将共享层的比例扩展到极致,即所有隐藏层都是共享层,而输出层是特定于任务的层。如图1(a)所示,M-RUDSR的输入是一个具有三个通道的特征,包括垂直(y)和水平(x)方向上的初始背景速度模型及其边缘图像。 所有卷积层都以“SAME”模式工作,而稠密结构之外的层使用3×3卷积核。在每个隐藏层中都使用Leaky-ReLU,除了密集部分。由于高度相关,初始背景速度模型及其边缘图像在所有隐藏层中共享参数。因此,输出层是任务特定。
  • (2) 全局残差跳跃结构:残差学习可以通过跳跃连接来实现,该连接将某一层的输入特征绕过到另一层。在SISR-图像超分辨率重建问题中,目标高分辨率(HR)图像和输入低分辨率(LR)图像携带大量相似信息。因此,可以使用全局残差学习来让网络学习HR图像和LR图像之间的差异。
  • (3) 编码-解码和局部残差跳跃连接:编码-解码结构受到一种流行的分割网络U-Net 的启发,它包含两个部分:特征提取和上采样。特征提取是一个降尺度的过程,其中特征的长度和宽度减半,通道的数量通常翻倍。上采样操作与降尺度对称,其中特征图的长度和宽度加倍,通道的数量通常减半。每个上采样操作后都跟随着局部残差跳跃连接。在局部残差跳跃连接中,特征图不是直接相加,而是进行连接(concatenated),以实现特征图的丰富组合。这样的结构使得反向传播信号能够直接传递到底层,可以缓解梯度消失的问题。此外,这种直接连接结构有助于产生清晰的图像。
  • (4) 密集跳跃连接:DenseNet 首次提出了密集跳跃连接,其中特征图被串联起来。密集跳跃连接基于块单元。图1(c)展示了块的结构。每个块包含三个部分,即用于参数减少的1×1卷积层(瓶颈层),用于非线性变换的ReLU激活函数,以及用于特征提取的3×3卷积层。这一部分的所有块都由密集跳跃连接覆盖,如图1(b)所示。

3.2 详细介绍

  • (1) 流程:框架的流程如图2所示。训练过程从给定的高分辨率(HR)地震速度模型开始。利用HR地震速度模型,通过Sobel算子在垂直(y)和水平(x)方向上生成边缘图像。然后,将HR地震速度模型及其边缘图像组合成三个通道的HR数据。低分辨率(LR)地震速度模型是从相应的HR地震速度模型中利用平滑生成的。同样地,将LR地震速度模型及其边缘图像组合成三个通道的LR数据。然后,将LR数据切割成补丁以形成所提出网络的输入,得到的结果是恢复的SR补丁。HR数据也被切割成代表所提出网络目标的补丁。在输出SR补丁和目标HR补丁之间应用均方误差(MSE)以及TV正则化,然后使用Adam优化器。对于测试过程,操作从LR地震速度模型开始,而SR地震速度模型及其边缘图像是通过补丁融合和通道分离获得的。

在这里插入图片描述

图2. 提出框架的流程图。通过Sobel算子生成地震速度模型(图像)在垂直(y)和水平(x)方向上的边缘图像。然后,将地震速度模型(图像)及其边缘图像组合成三个通道的数据。利用平滑从相应的高分辨率(HR)地震速度模型生成低分辨率(LR)地震速度模型。
  • (2) 损失函数与优化器:本文提出的多任务深度网络的损失函数由均方误差(mse)(L2损失)和TV组成,它们的表达式如下:
    l o s s ( Φ ) = m s e ( Φ ) + T V ( Φ ) m s e ( Φ ) = 1 N M ∑ k = 1 3 α k ∑ i = 1 N ∑ j = 1 M ( f ( I L , Φ ) i , j , k − I H i , j , k ) 2 T V ( Φ ) = β 1 1 K 1 ∑ i = 1 N ∑ j = 2 M ∣ f ( I L , Φ ) i , j , 1 − f ( I L , Φ ) i , j − 1 , 1 ∣ + β 2 1 K 2 ∑ i = 2 N ∑ j = 1 M ∣ f ( I L , Φ ) i , j , 1 − f ( I L , Φ ) i − 1 , j , 1 ∣ w h e r e K 1 = N ( M − 1 ) , K 2 = ( N − 1 ) M (1) \begin{aligned} \mathbf{loss}(\Phi) &= \mathbf{mse}(\Phi) + \mathbf{TV}(\Phi) \\ \mathbf{mse}(\Phi) &= \frac{1}{NM} \sum^{3}_{k=1} \alpha_{k} \sum^{N}_{i=1} \sum^{M}_{j=1}\big(f(I_{L},\Phi)^{i,j,k} - I_{H}^{i,j,k}\big)^2 \\ \mathbf{TV}(\Phi) &= \beta_{1} \frac{1}{K_{1}} \sum^{N}_{i=1} \sum^{M}_{j=2} \vert f(I_{L}, \Phi)^{i,j,1} - f(I_{L}, \Phi)^{i,j-1,1} \vert + \beta_{2} \frac{1}{K_{2}} \sum^{N}_{i=2} \sum^{M}_{j=1} \vert f(I_{L}, \Phi)^{i,j,1} - f(I_{L}, \Phi)^{i-1,j,1} \vert \\ where K_1 &= N(M-1), K_2 = (N-1)M \tag{1} \end{aligned} loss(Φ)mse(Φ)TV(Φ)whereK1=mse(Φ)+TV(Φ)=NM1k=13αki=1Nj=1M(f(IL,Φ)i,j,kIHi,j,k)2=β1K11i=1Nj=2Mf(IL,Φ)i,j,1f(IL,Φ)i,j1,1+β2K21i=2Nj=1Mf(IL,Φ)i,j,1f(IL,Φ)i1,j,1=N(M1),K2=(N1)M(1)

  其中, f ( I L , Φ ) f(I_L,\Phi) f(IL,Φ)表示具有参数的模型输出 S R SR SR图像, I H I_H IH表示目标HR图像, i i i j j j是垂直和水平方向采样点的位置, β 1 β_1 β1 β 2 β_2 β2 α k α_k αk是系数。使用 L 2 L_2 L2损失函数,可以在很大程度上规避过拟合,而TV范数函数可以帮助防止噪声和波动的引入。

  值得一提的是,(1)中的αk是能量系数,它们用于在损失函数的层面上协调多任务深度学习过程,满足以下关系:

∑ k = 1 3 α k = 1 α k l 1 ( I H − I L ) ∣ c = k ≡ C , k = 1 , 2 , 3 (2) \begin{aligned} \sum^{3}_{k=1} \alpha_{k} &=1 \\ \alpha_{k}l_{1}(I_H - I_L) \vert_{c=k} & \equiv C ,k=1,2,3 \tag{2} \end{aligned} k=13αkαkl1(IHIL)c=k=1C,k=1,2,3(2)

  其中,1代表L1范数函数,表示图像的能量。

  随后,根据(1)中所示的损失函数的偏导数,采用Adam来更新权重。在训练过程中,采用了学习率衰减方法,其表达式为初始学习率(η0)、衰减周期(T)和衰减率(α)。训练过程中的实际学习率表达为:

η i = α i η 0 (3) \eta_{i} = \alpha^{i} \eta_{0} \tag{3} ηi=αiη0(3)

  其中,i代表学习率的衰减次数。

3.3 实验设置

  本文从他们的研究组织(Easy-Signal Laboratory)的私人数据库中收集了120个尺寸为1000×1000的合成地震速度模型。如图3所示,这些随机生成的合成数据充满了倾斜折叠地层和断层信息,可以帮助深度学习模型适应各种复杂的真实数据。这些数据被随机划分为一个容量为100的训练集和一个容量为20的测试集。然后,根据图2所示的流程进行训练实验。在裁剪过程中,补丁的大小为256×256,而步幅为128,选择峰值信噪比(PSNR)和结构相似性(SSIM)来评估处理结果。
在这里插入图片描述

图3. Easy-Signal实验室生成的合成数据示例。随机生成的合成数据充满了倾伏褶皱地层和断层信息,可以帮助深度学习模型适应各种复杂的真实的数据。

  在训练过程中,通过读取所有训练数据,并将每个LR图像在每个模糊级别下与HR图像绑定,形成一个训练样本。由于在多个尺度上训练的模型在所训练的尺度上表现良好,因此同时训练模型时使用多个模糊级别的数据。根据公式(2),计算了训练数据的l1范数,并将 α 1 ∼ 3 α_{1∼3} α13分别设为0.31、0.21和0.48。此外,将β1和β2设为0.1,并使用衰减学习率,初始学习率为0.0002,衰减周期为0.5个训练周期,衰减率为0.985。损失和学习率曲线如图4所示。在多任务网络中采用混合损失函数,与通常网络中的损失函数不同。因此,在图4(a)中仅比较了M-RUDSR和M-RUSR在相同衰减学习率下的损失曲线,如图4(b)所示。由于每个样本的损失不同,损失曲线每个周期更新一次以获得平滑曲线,而学习率每个周期衰减大约两次。衰减的学习率使得损失曲线迅速下降并最终稳定。M-RUDSR的损失曲线在前20个周期中波动,而M-RUSR始终平滑,表明密集的跳跃连接会增加训练的难度。此外,M-RUDSR的最终训练效果优于M-RUSR,证明了密集的跳跃连接可以帮助提高网络性能。
在这里插入图片描述

图4. M-RUDSR和M-RUSR的损失和学习率曲线。由于每个样本的损失是不同的,因此损失曲线在每个时期更新以获得平滑曲线,而学习率在每个时期衰减大约两次。衰减的学习率迅速减少损失,并最终稳定下来。在相同的训练策略下,M-RUDSR的最终训练效果优于M-RUSR。(a)损失(b)学习率。

  分别使用了平均滤波器大小为17、25、33和41来测试M-RUDSR。如图5所示,M-RUDSR在所有种类的模糊水平下恢复了地震速度模型的断层信息和纹理细节。多任务学习模型可以从不明显的边缘图像中提取清晰的边缘纹理,如图6所示。在相同的颜色范围内,具有高模糊级别的LR边缘图像几乎是不可见的。然而,提出的M-RUDSR可以高效地从这些不可见的图像中恢复完整的边缘信息。

在这里插入图片描述

图5. 平均滤波器大小为17、25、33和41的地震速度模型的SR结果。M-RUDSR恢复了各种模糊程度下的断层信息和地震速度模型的纹理细节。

在这里插入图片描述

图 6. 边缘图像的SR结果,平均滤波器大小为17和41。(a) 垂直方向的边缘图像的SR结果。(b) 水平方向的边缘图像的SR结果。在相同的颜色范围内,具有高模糊级别的LR边缘图像几乎是不可见的。然而,提出的M-RUDSR可以高效地从这些不可见的图像中恢复完整的边缘信息。多任务学习模型可以从不明显的边缘图像中提取清晰的边缘纹理。

  与采样相比,时间滤波是从地震速度模型中获取初始背景速度模型的更合适的方法。因此,在本文中,我们利用时间域中的平均滤波来获得初始背景速度模型。VDSR 是一种经典的采样SR方法,它基于预上采样。由于其输入和输出大小相同,VDSR被用作基准模型。

  表I显示了在模糊级别从17×17到41×41的范围内的平均PSNR/SSIM。这些PSNR/SSIM值的比较表明,M-RUDSR在地震速度模型及其边缘图像(地质模型)的SR中产生了最佳结果。此外,M-RUSR是M-RUDSR的简化版本,没有密集的跳跃连接结构,具有最低的时间成本。因此,密集的跳跃连接结构和多任务学习都可以改善SR的结果,尽管密集的跳跃连接结构会增加时间成本。此外,值得注意的是,M-RUDSR、M-RUSR和RUDSR(M-RUDSR的单任务版本)的计算成本明显低于VDSR。在滤波器大小为41×41时的不同方法性能分析(见图7)表明,M-RUDSR在速度和地质模型中实现了最准确的结果。图8中显示的图像重建误差图表明,M-RUDSR的恢复结果最接近HR。此外,值得注意的是,VDSR和RUDSR是分别针对地震速度模型和边缘图像进行训练的。

表格 I 恢复性能评估。表格中的数字表示在模糊级别从 17 × 17 到 41 × 41 时的 PSNR/SSIM 或时间成本的平均值。 RUDSR 是 M-RUDSR 的单任务版本,而 M-RUSR 是 M-RUDSR 的简化版本,没有密集的跳跃连接结构。最佳结果用红色突出显示。

在这里插入图片描述
在这里插入图片描述

图7. 在41 × 41的过滤器尺寸下进行定性比较。(从左至右)滤器尺寸41 × 41的HR、LR、VDSR [26]、RUDSR、M-RUSR和M-RUDSR。VDSR和RUDSR分别用地震速度模型和垂直边缘图像训练,而M-RUSR和M-RUDSR用合成数据训练一次。M-RUDSR在速度和地质模型方面给出了最准确的结果。

在这里插入图片描述

图 8. 图像重建的误差图。(从左到右)LR 和 HR 之间的差异以及基于 VDSR [26]、RUDSR、M-RUSR 和 M-RUDSR 的图像重建的误差图。 图像重建的误差图证明了 M-RUDSR 的恢复结果最接近 HR。

  另外,提出的 M-RUDSR 在 Marmousi 合成数据集、中国石油西南油气田四川盆地的一条二维地震测线的真实初始速度模型上进行了评估。

四、实验

  本周对上周的一些想法进行了验证,实验基本设置为:data_set = CurveVel A ,train_size = 5000,val_size = 500,test_size = 1000,epoch = 200,batch_size = 20,learning_rate = 0.01。

在这里插入图片描述

  • 存在的问题:
    • 边缘结构不够清晰;
    • 随着地下深度加深,反演效果较差(这一部分数据较少,网络学习不够);

在这里插入图片描述
在这里插入图片描述

  实验结果如下表:

ModelNameMSEMAEUQILPIPS
ABA-FWI0.0060150.0366510.8506460.045692
UNet-200epoch0.0048310.0315350.8650280.029023
UNet-150epoch0.0053440.0342020.8622080.03136
UNet-120epoch0.0048690.0319620.8638480.031504

五、小结

5.1 存在的疑问

    1. 从实验的结果来看,速度图像的边缘信息不够明显,计划选择一种合适的方式更加关注边缘。
    1. loss下降不是特别平滑,有一些波动。看了一些贴子,有些回答使用Adam这个震荡是正常的,后续可以尝试降低学习率(衰减学习率)。
    1. 关于网络的设计:跳跃连接、可变形卷积、UNet架构(是否要降低到1024通道)。

5.2 下周安排

    1. 看一篇论文;
    1. 整理代码文件;

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

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

相关文章

网工内推 | 深信服、宁德时代,最高20K招安全工程师,包吃包住

01 深信服科技 招聘岗位:安全服务工程师 职责描述: 1.负责现场安全服务项目工作内容,包含渗透测试、安全扫描、基线核查、应急响应等; 2.协助用户完成安全测试漏洞整改、复测工作; 3.为用户提供网络、主机、业务系统等…

数据库讲解---(数据查询)【MySQL版本】

零.前言 数据库讲解(MySQL版)(超详细)【第一章】-CSDN博客 数据库-ER图教程_e-r图数据库-CSDN博客 数据库讲解(MySQL版)(超详细)【第二章】【上】-CSDN博客 数据库讲解---(SQL语…

[从0开始AIGC][Transformer相关]:算法的时间和空间复杂度

一、算法的时间和空间复杂度 文章目录 一、算法的时间和空间复杂度1、时间复杂度2、空间复杂度 二、Transformer的时间复杂度分析1、 self-attention 的时间复杂度2、 多头注意力机制的时间复杂度 三、transformer的空间复杂度 算法是指用来操作数据、解决程序问题的一组方法。…

专题十二、字符串

字符串 1. 字符串字面量1.1 字符串字面量中的转义序列1.2 延续字符串字面量1.3 如何存储字符串字面量1.4 字符串字面量的操作1.5 字符串字面量与字符常量 2. 字符串变量2.1 初始化字符串变量2.2 字符数组与字符指针 3. 字符串的读和写3.1 用 printf 函数和 puts 函数写字符串3.…

通俗白话了解资产负债现金利润三张表

看到一本小书不错《财务小白轻松入门》,里面通俗说了三张表之间的关系。贴图摘录下:

SSL证书添加与ICP备案,对于SpringBoot的要求

配置了SSL证书之后,在SpringBoot的resources文件夹里的application.properties会添加以下代码: server.port443 不需要添加server.address。不然会报错。 https类型的请求默认在Postman里面不可请求。 经过SSL证书处理的网页,链接中使默认…

RAG文本加载和分块调研

文本加载和分块 一、文本加载 文本加载是RAG文本增强检索重要环节。文件有不同类型(excel、word、ppt、pdf、png、html、eps、gif、mp4、zip等),衍生出了很多第三方库。使用python处理文件是各种python开发岗位都需要的操作。主要涉及到的标准…

TryHackMe - HTTP Request Smuggling

学完、打完后的复习 HTTP 1 这部分比较简单,直接略过 HTTP2请求走私 首先要了解HTTP2的结构,与HTTP1之间的一些差异 HTTP2中不再使用CRLF来作为字段的边界限定,而是在二进制中直接通过长度、名字、值长度、值,来确认边界 而这…

【C++】用红黑树封装map和set

我们之前学的map和set在stl源码中都是用红黑树封装实现的,当然,我们也可以模拟来实现一下。在实现之前,我们也可以看一下stl源码是如何实现的。我们上篇博客写的红黑树里面只是一个pair对象,这对于set来说显然是不合适的&#xff…

软件可靠性基本概念_1.定义和定量描述

1.软件可靠性定义 软件可靠性(Software Reliability)是软件产品在规定的条件下和规定的时间区间完成规定功能的能力。规定的条件是指直接与软件运行相关的使用该软件的计算机系统的状态和软件的输入条件,或统称为软件运行时的外部输入条件&am…

【MATLAB源码-第183期】基于matlab的图像处理GUI很全面包括滤波,灰度,边缘提取,RGB亮度调节,二值化等。

操作环境: MATLAB 2022a 1、算法描述 1. RGB颜色亮度调整 1.1 RGB颜色模型 RGB颜色模型是一种加色模型,使用红色(R)、绿色(G)、蓝色(B)三种颜色的不同组合来表示各种颜色。每种…

OceanBase V4.2 MySQL模式下,如何通过DBLINK实现跨数据源访问

概述 跨数据源访问可通过 DBLINK(以下简称DBLINK)实现,从而使得业务代码能够像访问本地数据库一样轻松访问远端数据库。原先,DBLINK主要服务于Oracle模式,但由于OceanBase 的MySQL模式租户同样存在访问远端数据库的需…

【二分查找】Leetcode 点名

题目解析 LCR 173. 点名 算法讲解 1. 哈希表 class Solution { public:int takeAttendance(vector<int>& nums) {map<int, int> Hash;for(auto n : nums) Hash[n];for(int i 0; i < nums[nums.size() - 1]; i){if(Hash[i] 0)return i;}return nums.si…

【ZZULIOJ】1053: 正弦函数(Java)

目录 题目描述 输入 输出 样例输入 Copy 样例输出 Copy code 题目描述 输入x&#xff0c;计算上面公式的前10项和。 输入 输入一个实数x。 输出 输出一个实数&#xff0c;即数列的前10项和&#xff0c;结果保留3位小数。 样例输入 Copy 1 样例输出 Copy 0.841 c…

Python学习笔记11 - 列表

1. 列表的创建与删除 2. 列表的查询操作 3. 列表的增、删、改操作 4. 列表元素的排序 5. 列表生成式

PostgreSQL入门到实战-第十弹

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

免费SSL证书跟付费SSL证书有什么区别?

免费SSL证书与付费SSL证书的主要区别如下&#xff1a; 1. 类型与验证级别&#xff1a; - 免费SSL证书通常仅提供域名验证&#xff08;DV&#xff09;&#xff0c;这是一种最基本的验证级别&#xff0c;仅验证域名的所有权&#xff0c;确认申请者对所申请域名的有效控制。 - 付费…

如何在 iOS 项目中集成 MiniApp SDK,快速构建智能小程序?

本文介绍如何在 iOS 项目中&#xff0c;集成 MiniApp SDK&#xff0c;使之能够构建智能生活小程序&#xff0c;运行在你的 IoT App 上。 准备工作 在集成 MiniApp SDK 之前&#xff0c;您需要在 涂鸦 IoT 开发平台 上&#xff1a; 注册开发者账号、创建产品、创建功能点等。…

汇智知了堂:AIGC引领数字营销新革命,你准备好了吗?

ChatGPT火了&#xff0c;带火的还有AIGC。 经过长时间的蓄力&#xff0c;AIGC技术落地的应用场景呈平铺式展开&#xff0c;已经逐渐渗透到各行各业中&#xff0c;AIGC时代已来。 AIGC浪潮来袭&#xff0c;电商行业从业者该如何应对&#xff1f; AIGC技术会给电商行业带来哪些变…

排序算法—快速排序

文章目录 快速排序一、递归实现二、非递归实现总结 快速排序 以下均以排升序为最终目的。 一、递归实现 有一个排序能解决所有问题吗&#xff1f;没有&#xff01;不过&#xff0c;快速排序这种排序适用于大多数情况。 我们前面讨论排序算法一般都是先讨论一趟的情况&#…