一、前言
在上上周寻找改进网络框架与超参数的灵感,并跑代码查看了效果。
最近两周,继续修改网络框架结构,并阅读了师姐的论文 D 2 UNet \textrm{D}^{2}\textrm{UNet} D2UNet。另外,完成了本科毕业设计的开题答辩任务,开题报告还需要进一步修改。
二、 D 2 UNet \textrm{D}^{2}\textrm{UNet} D2UNet 阅读情况
标题: D2UNet: Dual Decoder U-Net for Seismic Image Super-Resolution Reconstruction(D2 UNet:用于地震图像超分辨率重建的双解码器U-Net)
期刊: IEEE Transactions on Geoscience and Remote Sensing
创新点:在文章中提出了一个新的方法,包括三个方面:
- 1)网络: 文章提出了一个新的多任务网络 D 2 UNet \textrm{D}^{2}\textrm{UNet} D2UNet,包含一个编码器和两个解码器。编码器接收由 Canny 算法获得的边缘图像和低分辨率图像作为输入。两个解码器并行学习两个不同的任务。其中主要任务是恢复高分辨率地震数据,而边缘检测则是辅助任务。辅助任务可以提供丰富的形状和边界信息,从而帮助生成更准确、高质量的数据。这两个任务之间通过带有可变卷积的纹理变换模块(TWM)[25] 进行交互。TWM可以扭曲真实的边缘细节,以使其与低分辨率输入匹配,并特别适用于处理边缘和弱信号的位置。
- 2)训练数据: 为了解决训练数据不足的问题,参考[26]和[27]参考文献中提出的方法,分别生成干净的高频率和有噪声的低频率 3D 地震体成对数据。然后,使用 Canny 算法提取相应的边缘图像。最后,将有噪声的低分辨率地震图像和边缘图像作为输入,将干净的高分辨率地震图像和边缘图像作为真实标签。
- 3)损失函数: 文章使用联合损失函数,每个任务包括L1损失和多尺度结构相似性损失(MS-SSIM),这有助于提高图像的感知质量。
2.1 体系结构
图1显示了所提出的 D 2 UNet \textrm{D}^{2}\textrm{UNet} D2UNet 网络架构。输入 x d \mathbf{x}^{d} xd 包括两部分:原始地震图像和边缘图像。示例如图2(a)和(b)所示。Canny边缘检测算子[28]用于从原始地震图像获得边缘图像。 D 2 UNet \textrm{D}^{2}\textrm{UNet} D2UNet 网络由一个编码器和两个并行解码器组成。编码器由四个下采样块组成,每个下采样块由“最大池化层+ [卷积层+批归一化层+整流线性单元(ReLU)] × 2”组成。最大池化层使用步长为2的2 × 2内核。卷积层使用3 × 3卷积核。对于四个下采样块,特征通道分别为64、128、256、512和1024。
D 2 UNet \textrm{D}^{2}\textrm{UNet} D2UNet 包含两个并行解码器,分别称为边缘解码器和主解码器。它们都包含四个上采样块,这些块与下采样块完成相反操作。不同之处在于,上采样块通过转置卷积来扩大特征图的大小。此外,转置卷积的输出通过跳过连接与来自相同级别的下采样块的特征图连接。虽然跳跃连接可以包含更多的保真度信息,但这些中间特征在很大程度上受到输入特征的影响,并且丢失了一些高质量的图像细节。为了克服保留真实的细节和提高保真度的问题,两个解码器使用具有可变形卷积的TWM来交互。
假设含噪声的低分辨率图像和变量图像为
x
d
=
(
x
s
,
x
e
)
∈
R
H
×
W
×
2
\mathbf{x}^{d} = (\mathbf{x}^{s},\mathbf{x}^{e}) \in \mathbb{R}^{H \times W \times 2}
xd=(xs,xe)∈RH×W×2。输入
x
s
\mathbf{x}^{s}
xs 通过编码器得到潜在向量
F
5
,
3
E
=
E
(
x
s
)
F_{5,3}^{E} = E(\mathbf{x}^{s})
F5,3E=E(xs)。为了保持真实的图像边缘,我们使用边缘解码器
D
e
d
g
e
D_{edge}
Dedge 将其解码回图像空间,表示如下:
F
4
e
=
D
e
d
g
e
(
F
5
,
3
E
)
(1)
F_{4}^{e} = D_{edge}(F_{5,3}^{E}) \tag{1}
F4e=Dedge(F5,3E)(1)
其中,边缘解码器的多级特征分别表示为:
F
i
e
,
i
∈
{
1
,
2
,
3
,
4
}
F_{i}^{e} ,i \in \{1,2,3,4\}
Fie,i∈{1,2,3,4}。
主解码器 D m a i n D_{main} Dmain 用于生成高分辨率地震图像 x m \mathbf{x}^{m} xm ,而边缘解码器 D e d g e D_{edge} Dedge 用于获取边缘信息和细节。 D m a i n D_{main} Dmain 通过在多个空间层次从退化输入中提取输入特征来扭曲边缘特征 F i e F_{i}^{e} Fie 。在TWM中,使用具有最大空间分辨率的输入特征 x e \mathbf{x}^{e} xe 作为输入,可以保持低分辨率图像信息和边缘信息的最丰富的保真度。
对于第
i
i
i 分辨率级别,
F
i
e
F_{i}^{e}
Fie 和高质量特征
x
e
\mathbf{x}^{e}
xe 特征被用作 TWM 的输入,表示如下:
F
i
t
=
TWM
(
F
i
e
,
Conv
(
x
e
)
)
(2)
F_{i}^{t} = \textrm{TWM}(F_{i}^{e},\textrm{Conv}(\mathbf{x}^{e})) \tag{2}
Fit=TWM(Fie,Conv(xe))(2)
其中,TWM 是纹理扭曲模块。如图 3 所示,首先连接这两个输入特征以生成偏移量。然后,将偏移量应用与可变形卷积以扭曲边缘特征以匹配输入的保真度,表示如下:
o
f
f
s
e
t
=
Conv
(
Concat
(
F
i
e
,
Conv
(
x
e
)
)
F
i
t
=
DeformConv
(
F
i
e
,
offset
)
(3)
\begin{align*} offset &= \textrm{Conv}(\textrm{Concat}(F_{i}^{e},\textrm{Conv}(\mathbf{x}^{e})) \\ F_{i}^{t} &= \textrm{DeformConv}(F_{i}^{e},\textrm{offset}) \end{align*} \tag{3}
offsetFit=Conv(Concat(Fie,Conv(xe))=DeformConv(Fie,offset)(3)
其中,DeformConv表示可变形卷积。
然后,主解码器的特征
F
i
,
l
m
F_{i,l}^{m}
Fi,lm 由三个特征级联而成,包括扭曲特征
F
i
t
F_{i}^{t}
Fit ,解码器中下采样块的特征
F
i
t
F_{i}^{t}
Fit,以及主解码器中的转置卷积特征。这个过程可以表示如下:
F
1
,
1
m
=
Concat
(
F
1
t
,
F
4
,
3
E
,
Deconv
(
F
5
,
3
E
)
)
F
i
,
1
m
=
Concat
(
F
i
t
,
F
(
5
−
i
)
,
3
E
,
Deconv
(
F
(
i
−
1
)
,
3
m
)
)
(4)
\begin{align*} F_{1,1}^{m} &= \textrm{Concat}(F_{1}^{t},F_{4,3}^{E},\textrm{Deconv}(F_{5,3}^{E})) \\ F_{i,1}^{m} &= \textrm{Concat}(F_{i}^{t},F_{(5-i),3}^{E},\textrm{Deconv}(F_{(i-1),3}^{m})) \end{align*} \tag{4}
F1,1mFi,1m=Concat(F1t,F4,3E,Deconv(F5,3E))=Concat(Fit,F(5−i),3E,Deconv(F(i−1),3m))(4)
其中,
i
≥
2
i \geq 2
i≥2,Deconv表示转置卷积。边缘解码器的特征被用作包含丰富边缘信息的参考特征。
主解码器共同学习地震数据的主要特征和“参考特征”。
此外,在主解码器的四个上采样块中添加了一个次像素卷积层,然后连接三个残差块。次像素卷积在图像超分辨率重建精度和计算性能方面取得了重要成功[29]。因此使用次像素卷积层进行上采样。它不仅可以减少训练时间和节省GPU内存,还可以提供更多上下文信息以进一步提高图像质量[30]。在次像素卷积层之后连接了三个残差块,这有助于学习更多高频信息和细节。每个残差块由两个“卷积 + 批量归一化 + ReLU”模块组成。跳跃连接涵盖了两个卷积层。最后,使用一个1×1卷积层来减少特征通道数量,以与地面真值匹配。
2.2 损失函数
文章的损失函数定义如下:
L
=
W
(
L
d
,
σ
d
)
+
W
(
L
e
,
σ
e
)
(5)
L = \mathbb{W}(L_{d},\sigma_{d}) + \mathbb{W}(L_{e},\sigma_{e}) \tag{5}
L=W(Ld,σd)+W(Le,σe)(5)
其中,加权算子
W
\mathbb{W}
W 和可训练参数
σ
i
\sigma_{i}
σi 平衡两个任务之间的训练。
L
d
L_{d}
Ld 和
L
e
L_{e}
Le 分别表示主解码器分支和边缘解码器分支的损失。
在[31]之后,文章定义权重参数
W
\mathbb{W}
W 如下:
W
(
L
i
,
σ
i
)
=
1
2
σ
i
L
i
+
log
σ
i
,
i
∈
{
d
,
e
}
(6)
\mathbb{W}(L_{i},\sigma_{i}) = \frac{1}{2 \sigma_{i}}L_{i} + \log \sigma_{i},i \in \{ d,e \} \tag{6}
W(Li,σi)=2σi1Li+logσi,i∈{d,e}(6)
其中,
σ
i
\sigma_{i}
σi 的值用来度量与预测相关联的不确定性,对数项的作用是防止
σ
i
\sigma_{i}
σi 过度增加。通过动态调整多个损失项的贡献,可以自动平衡损失。
损失项
L
d
L_{d}
Ld 和
L
e
L_{e}
Le 包括
L
1
L_{1}
L1 和
MS-SSIM
\textrm{MS-SSIM}
MS-SSIM,表示如下:
L
d
=
λ
L
1
(
x
^
d
,
x
d
)
+
(
1
−
λ
)
L
MS-SSIM
(
x
^
d
,
x
d
)
L
e
=
λ
L
1
(
x
^
e
,
x
e
)
+
(
1
−
λ
)
L
MS-SSIM
(
x
^
e
,
x
e
)
(7)
\begin{align*} L_{d} &= \lambda L_{1}(\hat{x}^{d},\mathbf{x}^{d}) + (1-\lambda) L_{\textrm{MS-SSIM}}(\hat{x}^{d},\mathbf{x}^{d}) \\ L_{e} &= \lambda L_{1}(\hat{x}^{e},\mathbf{x}^{e}) + (1-\lambda) L_{\textrm{MS-SSIM}}(\hat{x}^{e},\mathbf{x}^{e}) \end{align*} \tag{7}
LdLe=λL1(x^d,xd)+(1−λ)LMS-SSIM(x^d,xd)=λL1(x^e,xe)+(1−λ)LMS-SSIM(x^e,xe)(7)
其中,
L
1
L_{1}
L1 被广泛用于图像超分辨率。
MS-SSIM
\textrm{MS-SSIM}
MS-SSIM 是一种多尺度图像质量评价方法。
x
^
d
\hat{\mathbf{x}}^{d}
x^d 和
x
d
\mathbf{x}^{d}
xd 分别表示低分辨率地震图像和地面真实情况。
x
^
e
\hat{\mathbf{x}}^{e}
x^e 和
x
e
\mathbf{x}^{e}
xe 分别表示恢复的高分辨率图像和地面真实情况。
λ
\lambda
λ 是
L
1
L_{1}
L1 函数的权重参数,根据[23],
λ
\lambda
λ 被设置为0.4。
L
1
L_{1}
L1 损失定义如下:
L
1
=
1
N
∑
i
,
j
∣
x
^
(
i
,
j
)
−
x
(
i
,
j
)
∣
(8)
L_{1} = \frac{1}{N} \sum_{i,j} \vert \hat{x}(i,j) - \mathbf{x}(i,j) \vert \tag{8}
L1=N1i,j∑∣x^(i,j)−x(i,j)∣(8)
其中,
N
N
N表示像素的总数。
MS-SSIM
\textrm{MS-SSIM}
MS-SSIM 是一种多尺度图像质量评价方法,是
SSIM
\textrm{SSIM}
SSIM 的改进版本。
SSIM
\textrm{SSIM}
SSIM 的定义如下:
L
SSIM
(
x
^
,
x
)
=
[
l
(
x
^
,
x
)
]
α
⋅
[
c
(
x
^
,
x
)
]
β
⋅
[
s
(
x
^
,
x
)
]
γ
(9)
L_{\textrm{SSIM}}(\hat{\mathbf{x}},\mathbf{x}) = [l(\hat{\mathbf{x}},\mathbf{x})]^{\alpha}·[c(\hat{\mathbf{x}},\mathbf{x})]^{\beta}·[s(\hat{\mathbf{x}},\mathbf{x})]^{\gamma}\tag{9}
LSSIM(x^,x)=[l(x^,x)]α⋅[c(x^,x)]β⋅[s(x^,x)]γ(9)
其中,
l
(
x
^
,
x
)
=
2
μ
x
^
μ
x
+
c
1
μ
x
^
2
+
μ
x
2
+
c
1
c
(
x
^
,
x
)
=
2
σ
x
^
x
+
c
2
σ
x
^
2
+
σ
x
2
+
c
2
s
(
x
^
,
x
)
=
σ
x
^
x
+
c
3
σ
x
^
σ
x
+
c
3
(10)
\begin{align*} l(\hat{\mathbf{x}},\mathbf{x}) &= \frac{2\mu_{\hat{\mathbf{x}}}\mu_{\mathbf{x}}+c_{1}}{\mu^{2}_{\hat{\mathbf{x}}}+\mu^{2}_{\mathbf{x}}+c_{1}} \\ c(\hat{\mathbf{x}},\mathbf{x}) &= \frac{2\sigma_{\hat{\mathbf{x}}\mathbf{x}}+c_{2}}{\sigma^{2}_{\hat{\mathbf{x}}}+\sigma^{2}_{\mathbf{x}}+c_{2}} \\ s(\hat{\mathbf{x}},\mathbf{x}) &= \frac{\sigma_{\hat{\mathbf{x}}\mathbf{x}}+c_{3}}{\sigma_{\hat{\mathbf{x}}}\sigma_{\mathbf{x}}+c_{3}} \end{align*} \tag{10}
l(x^,x)c(x^,x)s(x^,x)=μx^2+μx2+c12μx^μx+c1=σx^2+σx2+c22σx^x+c2=σx^σx+c3σx^x+c3(10)
其中,
x
^
\hat{\mathbf{x}}
x^ 和
x
\mathbf{x}
x分别表示恢复的高分辨率图像和地面真实情况。
μ
\mu
μ 和
σ
\sigma
σ 分别表示图像的平均值和标准差。例如:
σ
x
^
x
\sigma_{\hat{\mathbf{x}}\mathbf{x}}
σx^x 表示图像
x
^
\hat{\mathbf{x}}
x^ 和
x
\mathbf{x}
x 之间的协方差。
c
1
,
c
2
c_1,c_2
c1,c2 和
c
3
c_3
c3 表示三个常数,以避免分母过小而达不到最佳值。
l
(
⋅
)
,
c
(
⋅
)
l(·),c(·)
l(⋅),c(⋅) 和
s
(
⋅
)
s(·)
s(⋅) 分别表示计算亮度或振幅、对比度和结构的函数。
α
,
β
\alpha,\beta
α,β 和
γ
\gamma
γ 表示这三个函数相应的权重。
MS-SSIM
\textrm{MS-SSIM}
MS-SSIM定义如下:
L
MS-SSIM
(
x
^
,
x
)
=
[
l
M
(
x
^
,
x
)
]
α
M
⋅
∏
j
=
1
M
[
c
j
(
x
^
,
x
)
]
β
j
[
s
j
(
x
^
,
x
)
]
γ
j
(11)
L_{\textrm{MS-SSIM}}(\hat{\mathbf{x}},\mathbf{x}) = [l_{M}(\hat{\mathbf{x}},\mathbf{x})]^{\alpha_{M}}·\prod_{j=1}^{M}[c_{j}(\hat{\mathbf{x}},\mathbf{x})]^{\beta_{j}}[s_{j}(\hat{\mathbf{x}},\mathbf{x})]^{\gamma_{j}} \tag{11}
LMS-SSIM(x^,x)=[lM(x^,x)]αM⋅j=1∏M[cj(x^,x)]βj[sj(x^,x)]γj(11)
其中, M = 5 M = 5 M=5 表示我们从五个尺度测量 SSIM \textrm{SSIM} SSIM。 α = β = γ = [ 0.0448 , 0.2856 , 0.3001 , 0.2363 , 0.1333 ] \alpha = \beta = \gamma = [0.0448,0.2856,0.3001,0.2363,0.1333] α=β=γ=[0.0448,0.2856,0.3001,0.2363,0.1333]。
三、遇到的问题及解决
- 1. 工作站文件夹突然消失—未解决
后续:安装了火绒杀毒软件,但没有发现病毒。
- 2. Matlab编辑器不显示代码(远程连接)—已解决
在使用远程连接软件(如向日葵)连接到远程windows主机后,打开该主机上的matlab(这里测试的是R2023a版本)会出现编辑器无法显示代码的问题,这时候需要在命令行中以如下命令打开matlab(默认已将matlab加入到系统路径中):
matlab -cefdisablegpu
注意:每次使用都需要使用该命令。
参考:https://blog.csdn.net/weixin_44759449/article/details/131933294
- 3. Matlab附加资源管理器无显示—未解决
工作站上文件夹突然消失,之前生成的盐数据也不见了。在Matlab中运行文件时,提示缺少工具包—Image Processing Toolbox,下载时无法完成。
Matlab软件本身有限制,所以无法显示内容。尝试破解方法时,没找到相关文件。
四、小结
- 1.学习可变形卷积;
- 2.下周阅读参考文献中提到可变形卷积的TWM的论文,