一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于对偶注意力网络的高效图像超分辨率重建方法

2023-09-15 07:30:18 来源:中国专利 TAG:


1.本发明属于图像超分辨率领域,尤其涉及基于对偶注意力网络的高效图像超分辨率重建方法。


背景技术:

2.图像超分辨率(sr)是一种从低分辨率(lr)图像中恢复高分辨率(hr)图像的技术,在安防监控图像、医学图像重建、视频增强、图像分割等领域有着广泛的应用。然而,图像sr本质上是一个病态约束问题,因为对于单个lr输入,存在着多个与之对应的解。为了解决这一挑战,学者提出了各种图像sr方法。
3.最近,基于transformer的方法在图像sr任务上表现出了惊人的性能。这些方法借助于自注意(sa)机制强大的表示能力,根据每个图像内容生成动态权重,可充分捕捉像素之间的远距离依赖关系。与此同时,wenbo li等人则提出,对于一个理想的sr任务,除捕捉远距离依赖关系外,邻近像素的依赖关系也是需要被模型充分考虑的。然而,现有方法大多忽视了这种邻近像素的依赖关系,这会影响模型的表示能力。此外,sa的计算开销与图像大小的二次方成正比,而在sr任务中,需要输出高分辨率图像,因此现有的方法中sa的使用也大大加重了计算负担。


技术实现要素:

4.发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供基于对偶注意力网络的高效图像超分辨率重建方法,从而有效解决了超分辨率模型不能有效捕捉邻近像素之间关系的问题,使生成的高分辨率图像更逼真,且生成过程更迅速。
5.

技术实现要素:
本发明公开了一种基于对偶注意力网络的高效图像超分辨率方法,包含如下步骤:
6.对训练图像数据集中所有图像进行步骤1~步骤7的处理,对需要进行超分辨率的图像执行步骤8;
7.步骤1,搭建浅层特征提取模块;
8.步骤2,将高维特征均匀分成两部分,分别用于提取相邻像素信息和远距离像素信息;
9.步骤3,搭建相邻像素信息捕捉模块;
10.步骤4,搭建远距离像素信息捕捉模块;
11.步骤5,搭建通道混合注意力模块;
12.步骤6,结合步骤2~步骤5形成对偶注意力模块,堆叠对偶注意力模块并加上残差操作和上采样操作结构形成一个神经网络;
13.步骤7,使用训练图像数据集,对步骤1~步骤6得到的神经网络进行训练;
14.步骤8,将需要进行超分辨率的图像送入步骤7中训练完成的神经网络,网络的输出即为图像的超分辨率结果。
15.其中,步骤1包括:
16.所述浅层特征提取模块使用一个卷积核大小为3、步长为1、带填充的卷积操作,将输入图像映射到高维特征空间上;
17.对于一个尺寸为h
×w×
3的输入图像张量i,其中h表示图像长度,w表示图像宽度,首先进行填充操作,在第1维和第2维的边界处填充一组值为0的元素,对于填充后的张量,仍记为i,此时i的尺寸是(h 2)
×
(w 2)
×
3且第1维和第2维的下标均从0开始;
18.计算3
×
3卷积操作的输出f:定义一个尺寸为3
×c×3×
3的可优化张量w
shallow
和尺寸为c的可优化张量b
shallow
,分别作为3
×
3卷积操作的权重和偏置,其中c是偶数,f是一个尺寸为h
×w×
c的张量。
19.步骤2包括:
20.对于步骤1中得到的尺寸为h
×w×
c的张量f,将张量f在第3维(即c对应的维度)上划分为尺寸相等的两部分,分别记为fc和f
t
,尺寸均为其中步骤1中指定的c为偶数保证了这种划分方式的合理性。在后续操作中,fc将使用卷积操作提取邻近像素之间的依赖关系,f
t
将使用transformer操作提取远距离像素之间的依赖关系。
21.步骤3中,使用一系列卷积操作完成邻近像素之间的依赖关系提取,具体包括:
22.对于步骤2中得到的fc,依次通过point-wise像素分离卷积层、depth-wise深度分离卷积层、gelu激活函数层和point-wise像素分离卷积层,再把point-wise像素分离卷积层、depth-wise深度分离卷积层、gelu激活函数层和point-wise像素分离卷积层装进一个残差结构中;将一个常规卷积层拆成point-wise卷积层和depth-wise卷积层,既可以达到常规卷积的效果,又可以减小计算开销。
23.首先,将fc通过像素分离卷积层p1,像素分离卷积看成一个1
×
1的常规卷积,定义一个尺寸为的可优化张量w
p-conv1
和尺寸为的可优化张量b
p-conv1
,分别作为卷积操作的权重和偏置;p1的输出p1(fc)是一个尺寸为的张量;
24.其次,将p1(fc)通过深度分离卷积层d,深度分离卷积是使用个输入输出通道数均为1的卷积核独立处理特征图的各个通道,卷积核大小为3,步长为1,带填充,首先在p1(fc)中新增元素i
i,j,:
=0,使p1(fc)成为一个尺寸是且第1维和第2维的下标均从0开始的张量;然后定义一个尺寸为的可优化张量w
d-conv
和尺寸为的可优化张量b
d-conv
,分别作为卷积操作的权重和偏置;d的输出d(p1(fc))是一个尺寸为的张量;
25.然后,将d(p1(fc))通过gelu操作,增强模型的非线性表达能力:对d(p1(fc))中的每个元素x,gelu操作后的对应元素gelu(x)=xφ(x),其中是φ(x)是标准正态分布的概率质量函数;gelu操作是逐元素进行的,不改变输入张量的尺寸,gelu操作输出的张量
记为gelu(d(p1(fc)));
26.最后,将gelu(d(p1(fc)))再次通过像素分离卷积层p2,输出的张量记为p2(gelu(d(p1(fc))));
27.所述残差结构的输出为p2(gelu(d(p1(fc)))) fc,表示邻近像素依赖关系的最终提取结果,记为
28.步骤4中,使用transformer计算模块提取远距离像素之间的依赖关系,transformer计算模块包括一个多头注意力层和一个用残差结构包装的线性连接层,具体包括如下步骤:
29.步骤4-1,对于步骤2中得到的f
t
,计算所有元素的均值μ和标准差σ,并对f
t
中的每个元素x进行归一化,获得对应的值(x-μ)/σ,定义尺寸均为的两个可优化张量μ
ln1
和σ
ln1
,调整输出张量的均值和标准差;
30.步骤4-2,将ln(f
t
)通过多头注意力层msa,在多头注意力层中,首先在ln(f
t
)的第1维和第2维方向上进行填充操作,将尺寸变为8的倍数,然后在第1维和第2维方向上进行划分,将ln(f
t
)划分为若干个长和宽均为8的特征块,填充操作后ln(f
t
)的高ln(f
t
)的宽填充操作后的ln(f
t
)满足从而得到划分后的张量x,张量x的尺寸为h
pwp
/64
×
32c;
31.步骤4-3,进行注意力的计算,选择32c的一个因数h作为注意力头的数量,定义3h个尺寸均为32c
×
32c/h的可优化张量w
h,q
、w
h,k
和w
h,v
,3h个尺寸均为32c/h的可优化张量b
h,q
、b
h,k
和b
h,v
,其中w
h,q
、w
h,k
和w
h,v
分别作为第h个头查询映射的权重、键映射的权重和值映射的权重,b
h,q
、b
h,k
和b
h,v
分别作为第h个头查询映射的偏置、键映射的偏置和值映射的偏置,1≤h≤h;计算各个特征块的查询qh=xw
h,q
b
h,q
、键kh=xw
h,k
b
h,k
、值vh=xw
h,v
b
h,v
,在进行加法运算前对b
h,q
、b
h,k
和b
h,v
进行广播,将b
h,q
、b
h,k
和b
h,v
构造成尺寸为h
pwp
/64
×
32c/h的矩阵,其中第j列的所有元素均来自于对应向量的第j个元素,1≤j≤32c/h;计算注意力映射并对mh在行方向上用softmax方法进行归一化,记归一化的结果为为其中为第i行第j列元素的注意力映射值;为第i行第j列元素的归一化的结果;
32.步骤4-4,计算第h个头的输出,然后将各个头上的输出在第2维上进行拼接,得到尺寸为h
pwp
/64
×
32c的多头注意力操作的总输出y;
33.步骤4-5,将y重新组装、裁剪成尺寸为的张量,得到多头注意力操作的最终结果msa(ln(f
t
)),其中重新组装过程是4-2步骤中特征块划分的逆过程,得到尺寸为的张量然后再将裁剪成尺寸为的张量,得到输出结果msa(ln
(f
t
)),最后正则化层ln1和多头注意力层msa需要装入残差结构中,将输入f
t
和对应的输出结果相加,计算最终的输出
34.步骤4-6,将再次通过层正则化层ln2,得到然后通过全连接层mlp,定义一个尺寸为的可优化张量w
mlp
和尺寸为的可优化张量b
mlp
,分别作为全连接层mlp的权重和偏置;接下来,将正则化层ln2和全连接层mlp也会装入另一个残差结构中,计算另一个残差结构中,计算即为远距离像素依赖关系的最终提取结果。
35.步骤5中,使用一种轻量级的方法计算注意力,使得不同类型的信息在通道维度进行混合,完成信息交互,具体包括:
36.对于步骤3得到的和步骤4得到的将和拼接后在除通道以外的维度上使用全局池化操作,将每个通道的信息压缩成一个标量,再使用全连接层对各个通道的信息进行融合,最后把信息融合后的标量作为权重系数作用到和的各个通道上,形成和的最终融合结果;
37.首先,进行拼接操作concat,将和在通道方向上拼接,形成一个尺寸为h
×w×
c的张量
38.其次,将在除通道以外的维度上(即第1维和第2维)进行全局池化操作gap,形成一个尺寸为尺寸为c的向量s;
39.然后,将s通过全连接层linear,定义一个尺寸为c
×
c的可优化张量w
linear
和尺寸为c的可优化张量b
linear
,分别作为全连接层linear的权重和偏置;将全连接层linear的输出记为z,z是一个尺寸为c的向量;
40.最后,将z作为权重系数作用到的各个通道上即z和进行逐元素相乘,得到的计算结果记为f
out1
;在进行逐元素相乘运算前,需要对z进行广播,将z构造成尺寸为h
×w×
c的张量,在广播后的z中,下标为i,j,k的元素均来自于广播前的zk,1≤k≤c;f
out1
为和进行融合的最终结果,f
out1
集成了邻近像素依赖关系信息和远距离像素依赖关系信息。
41.步骤6包括:
42.步骤2的输入是尺寸为h
×w×
c的张量f,张量f经过步骤2~步骤5中一系列的操作后得到输出f
out1
,由于该过程将相邻像素信息捕捉模块和远距离像素信息捕捉模块并行使用,然后引入注意力交互不同类型信息,因此将步骤2~步骤5的整个变换过程记为dab(dual attention block)对偶注意力模块,对步骤5的输出f
out1
继续进行多轮dab操作,得到结果x1;
43.然后,对x1采用3
×
3卷积,记为final-conv,首先进行填充操作,填充完成后张量的尺寸变为(h 2)
×
(w 2)
×
c且下标且第1维和第2维的下标均从0开始,定义一个尺寸为c
×c×3×
3的可优化张量w
final-conv
和尺寸为c的可优化张量b
final-conv
,分别作为3
×
3卷积操
作的权重和偏置,计算结果表示为f
final-conv

44.接下来将所有的dab对偶注意力块操作和final-conv装入残差结构中,残差结构的输出记为f
res
,f
res
尺寸为h
×w×
c,f
res
=f
final-conv
f;
45.然后,使用亚像素卷积操作对特征图进行上采样操作upsample:设上采样的倍数(即每边放大的倍数,也就是最终图像分辨率提高的倍数)为r,定义一个尺寸为c
×
cr2×3×
3的可优化张量w
upsample
和尺寸为cr2的可优化张量b
upsample
,分别作为3
×
3卷积操作的权重和偏置;卷积前先将f
res
填充成尺寸为(h 2)
×
(w 2)
×
c的张量,卷积的结果f
upsample-conv
是一个尺寸为h
×w×
cr2的张量,其中元素再对张量元素重新排列,得到尺寸为hr
×
wr
×
c的张量f
upsample-out
,其中元素
46.最后,使用一个3
×
3卷积操作output将特征图的通道数变为3,得到最终的超分辨率输出结果:定义一个尺寸为c
×3×3×
3的可优化张量w
out
和尺寸为3的可优化张量b
out
,分别作为3
×
3卷积操作output的权重和偏置,先将f
upsample-out
填充成尺寸为(hr 2)
×
(wr 2)
×
c的张量,然后进行卷积计算,获得f
final
做为最终输出。
47.步骤7包括:
48.将步骤1~步骤6的计算过程组装成一个神经网络danet:收集一组训练图像数据集其中包括n对低分辨率图像和高分辨率图像,(x
l
)i,(xh)i分别表示第i个低分辨率图像和高分辨率图像,然后对danet进行训练,训练过程中的每次迭代将随机从训练图像数据集中采样b个样本分别表示从训练图像数据集中采样的第b个样本中的低分辨率图像和高分辨率图像,借助损失函数计算重建结果和高分辨率图像之间的差异,再使用adam优化器对神经网络中的所有可优化参数进行优化。一般adam的超参数设置为β1=0.9,β2=0.99。建议迭代轮数为500 000,初始学习率为2
×
10-4
,在第250 000轮、第400 000轮、第450 000轮、第475 000轮分别将该学习率调整为1
×
10-4
、5
×
10-5
、2.5
×
10-5
、1.25
×
10-5

49.步骤8包括:
50.对需要进行超分辨率的图像i
new
,送入到步骤7中训练完成的神经网络danet,获得i
new
的超分辨率结果。
51.本发明还提供了一种存储介质,存储有计算机程序或指令,当所述计算机程序或指令被运行时,实现所述基于对偶注意力网络的高效图像超分辨率重建方法。
52.有益效果:本发明能够对任意分辨率的图像进行任意放大倍数的超分辨率操作,且超分辨结果能同时考虑到图像的邻近像素依赖关系和远距离像素依赖关系。此外,由于神经网络的设计中选用了轻量级的操作,模型训练时的计算、存储开销和使用时的推导时
延都在可控范围之内。因此本发明提出的基于对偶注意力网络的高效图像超分辨率方法具有较高的实用价值。
附图说明
53.下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
54.图1为本发明流程图。
55.图2为相邻像素信息捕捉模块流程图。
56.图3为远距离像素信息捕捉模块流程图。
57.图4为通道混合注意力模块流程图。
58.图5为神经网络在应用时的图像超分辨率效果展示。
具体实施方式
59.如图1所示,本发明公开了一种基于对偶注意力网络的高效图像超分辨率方法,包含如下步骤:对训练图像数据集中所有图像进行步骤1~步骤7的处理,对待超分辨率的图像执行步骤8;
60.步骤1,搭建浅层特征提取模块;
61.步骤2,将高维特征均匀分成两部分,分别用于提取相邻像素信息和远距离像素信息;
62.步骤3,搭建相邻像素信息捕捉模块;
63.步骤4,搭建远距离像素信息捕捉模块;
64.步骤5,搭建通道混合注意力模块;
65.步骤6,结合步骤2~步骤5形成对偶注意力模块,堆叠对偶注意力模块并加上残差操作和上采样操作结构形成一个神经网络;
66.步骤7,使用训练图像数据集,对步骤1~步骤6得到的神经网络进行训练;
67.步骤8,将需要进行超分辨率的图像送入步骤7中训练完成的神经网络,网络的输出即为图像的超分辨率结果。
68.步骤1具体包括如下步骤:
69.浅层特征提取模块使用一个卷积核大小为3、步长为1、带填充的卷积操作,将输入图像映射到高维特征空间上。
70.对于一个尺寸为h
×w×
3的输入图像张量i,首先对其进行填充操作,在第1维和第2维的边界处填充一组值为0的元素,即在i中新增元素i
i,j,:
=0,其中i、j满足i=0,0≤j≤w 1或i=h 1,0≤j≤w 1或j=0,0≤i≤h 1或j=w 1,0≤i≤h 1。对于填充后的张量,仍记为i,但是此时i的尺寸是(h 2)
×
(w 2)
×
3且第1维和第2维的下标均从0开始。
71.然后即可计算3
×
3卷积操作的输出f。具体来说,需要定义一个尺寸为3
×c×3×
3的可优化张量w
shallow
和尺寸为c的可优化张量b
shallow
,其中c是偶数,分别作为3
×
3卷积操作的权重和偏置。f是一个尺寸为h
×w×
c的张量,其中元素
72.步骤2具体包括如下步骤:
73.对于步骤1中得到的尺寸为h
×w×
c的张量f,将其在第3维(即c对应的维度)上划分为尺寸相等的两部分,记为fc和f
t
,即fc=i
:,:,1:c/2
,f
t
=i
:,:,1:c/2 1
,其中步骤1中指定的c为偶数保证了这种划分方式的合理性。此时它们的尺寸均为在后续操作中,fc将使用卷积操作提取邻近像素之间的依赖关系,f
t
将使用transformer操作提取远距离像素之间的依赖关系。
74.步骤3具体包括如下步骤:
75.对于步骤2中得到的fc,使用一系列卷积操作提取邻近像素之间的依赖关系。具体来说,将fc依次通过point-wise卷积层、depth-wise卷积层、gelu层、point-wise卷积层,再把这些操作装进一个残差结构中。将一个常规卷积层拆成point-wise卷积层和depth-wise卷积层,既可以达到常规卷积的效果,又可以减小计算开销。该步骤搭建的神经网络结构如图2所示。
76.首先,将fc通过像素分离卷积层,该层记为p1。像素分离卷积可以看成一个1
×
1的常规卷积。具体来说,需要定义一个尺寸为的可优化张量w
p-conv1
和尺寸为的可优化张量b
p-conv1
,分别作为该卷积操作的权重和偏置。p1的输出p1(fc)同样是一个尺寸为的张量,其中
77.其次,将p1(fc)通过深度分离卷积层,该层记为d。深度分离卷积可以认为是使用个输入输出通道数均为1的卷积核独立处理特征图的各个通道。此处卷积核大小为3,步长为1,带填充。具体来说,首先进行与步骤1类似的填充操作,在p1(fc)中新增元素i
i,j,:
=0,其中i、j满足i=0,0≤j≤w 1或i=h 1,0≤j≤w 1或j=0,0≤i≤h 1或j=w 1,0≤i≤h 1,使p1(fc)成为一个尺寸是且第1维和第2维的下标均从0开始的张量。然后需要定义一个尺寸为的可优化张量w
d-conv
和尺寸为的可优化张量b
d-conv
,分别作为该卷积操作的权重和偏置。d的输出d(p1(fc))同样是一个尺寸为的张量,其中
78.然后,将d(p1(fc))通过gelu操作,增强模型的非线性表达能力。具体来说,对d(p1(fc))中的每个元素x,gelu操作后的对应元素gelu(x)=xφ(x),其中是φ(x)是标准正态分布的概率质量函数。在实际使用时,可以使用近似计算方法gelu操作是逐元素进行的,不改变输入张量的尺寸,其输出的张量记为gelu(d(p1(fc)))。
79.最后,将gelu(d(p1(fc)))再次通过像素分离卷积层,该层记为p2。p2与上述p1操作完全一致,也引入两个可优化张量w
p-conv2
和b
p-conv2
,计算过程此处不再赘述。其输出的张量
记为p2(gelu(d(p1(fc))))。
80.为防止在后续的网络训练过程中出现梯度消失和梯度爆炸,以上所有操作需要装进一个残差结构中。对于输入x和作用在x上的操作f,残差结构的输出为x f(x),也就是说在对x进行完操作f后,再加上x本身。因此,此处残差结构的输出为p2(gelu(d(p1(fc)))) fc,此即为邻近像素依赖关系的最终提取结果,将其记为
81.步骤4具体包括如下步骤:
82.对于步骤2中得到的f
t
,使用transformer操作提取远距离像素之间的依赖关系。具体来说,将f
t
依次通过一个用残差结构包装的多头注意力层和一个用残差结构包装的线性连接层,且进行多头注意力层和线性连接层操作前均使用层正则化操作。该步骤搭建的神经网络结构如图3所示。
83.首先,将f
t
通过层正则化层,该层记为ln1。具体来说,需要定义尺寸均为的两个可优化张量μ
ln1
和σ
ln1
,分别作为输出张量的均值和标准差。在层正则化层中,需要先对f
t
中的所有元素进行归一化,即计算元素进行归一化,即计算并对f
t
中的每个元素x,计算其归一化后的值(x-μ)/σ。然后即可计算层正则化的输出值ln(f
t
),有ln(f
t
)
i,j,k
=(σ
ln1
)
i,j,k
[((f
t
)
i,j,k-μ)/σ] (μ
ln1
)
i,j,k

[0084]
其次,将ln(f
t
)通过多头注意力层,该层记为msa。它是捕捉远距离像素之间依赖关系的核心部件。在多头注意力层中,首先需要在ln(f
t
)的第1维和第2维方向上进行填充操作,将它们的尺寸变为8的倍数,然后在第1维和第2维方向上进行划分,将ln(f
t
)划分为若干个长和宽均为8的特征块。具体来说,填充操作后ln(f
t
)的高ln(f
t
)的宽填充操作后的ln(f
t
)满足在此基础上得到划分后的张量x,它的尺寸为h
pwp
/64
×
32c,其中的元素接下来即可进行注意力的计算,具体来说,选择32c的一个因数h作为注意力头的数量,需要定义3h个尺寸均为32c
×
32c/h的可优化张量w
h,q
、w
h,k
和w
h,v
,3h个尺寸均为32c/h的可优化张量b
h,q
、b
h,k
和b
h,v
,其中w
h,q
、w
h,k
和w
h,v
分别作为第h个头查询映射、键映射和值映射的权重,b
h,q
、b
h,k
和b
h,v
分别作为第h个头查询映射、键映射和值映射的偏置(1≤h≤h)。计算各个特征块的查询qh=xw
h,q
b
h,q
、键kh=xw
h,k
b
h,k
、值vh=xw
h,v
b
h,v
,此处需要注意的是在进行加法运算前需要对b
h,q
、b
h,k
和b
h,v
进行广播,将它们构造成尺寸为h
pwp
/64
×
32c/h的矩阵,其中第j列的所有元素均来自于对应向量的第j个元素(1≤j≤32c/h)。再计算注意力映射并对mh在行方向上用softmax方法进行归一化,记归一化的结果为有在此基础上,即可计算第h个头的输出然后将各个头上的输出在第2维(即特征方
向)上进行拼接,得到尺寸为h
pwp
/64
×
32c的多头注意力操作的总输出y,即为了保证下文所述的残差结构能正常计算,需要将y重新组装、裁剪成尺寸为的张量,得到多头注意力操作的最终结果msa(ln(f
t
)),其中重新组装过程是上述划分特征块的逆过程,得到尺寸为的张量计算方法为然后,再将裁剪成尺寸为的张量,得到最终结果msa(ln(f
t
)),即1≤i≤h,1≤j≤w,
[0085]
以上层正则化层ln1和多头注意力层msa需要装入残差结构中,即计算
[0086]
然后,将再次通过层正则化层,该层记为ln2。具体计算方法与ln1类似,此处不再赘述。
[0087]
最后,将通过全连接层,该层记为mlp。需要定义一个尺寸为的可优化张量w
mlp
和尺寸为的可优化张量b
mlp
,分别作为该全连接层的权重和偏置。计算方法为
[0088]
与ln1和msa类似,以上层正则化层ln2和全连接层mlp也需要装入另一个残差结构中,即计算此处即为远距离像素依赖关系的最终提取结果。
[0089]
步骤5具体包括如下步骤:
[0090]
对于步骤3得到的和步骤4得到的使用一种轻量级的方法进行数据的融合,使模型能同时感知邻近像素依赖关系和远距离像素依赖关系。具体来说,将和拼接后在除通道以外的维度上使用全局池化操作,将每个通道的信息压缩成一个标量,再使用全连接层对各个通道的信息进行融合,最后把信息融合后的标量作为权重系数作用到和的各个通道上,形成和的最终融合结果。该步骤搭建的神经网络结构如图4所示。
[0091]
首先,将和在通道方向上进行拼接,该操作记为concat。拼接后形成一个尺寸为h
×w×
c的张量即
[0092]
其次,将在除通道以外的维度(即第1维和第2维)上进行全局池化操作,该操作记为gap。该操作形成一个尺寸为尺寸为c的向量s,即
[0093]
然后,将s通过全连接层,该层记为linear。需要定义一个尺寸为c
×
c的可优化张量w
linear
和尺寸为c的可优化张量b
linear
,分别作为该全连接层的权重和偏置。将linear的输出记为z,则z也是一个尺寸为c的向量,计算方法为
[0094]
最后,将z作为权重系数作用到的各个通道上,即z和进行逐元素相乘,得到的计算结果记为f
out1
,即需要注意的是,在进行逐元素相乘运算前,需要对z进行广播,将它构造成尺寸为h
×w×
c的张量,在广播后的z中,其下标为i,j,k的元素均来自于广播前的zk(1≤k≤c)。f
out1
即为和进行融合的最终结果,它集成了邻近像素依赖关系信息和远距离像素依赖关系信息。
[0095]
步骤6具体包括如下步骤:
[0096]
步骤2的输入是尺寸为h
×w×
c的张量f,它经过步骤2~5中一系列的操作后,得到输出f
out1
,将整个变换过程记为dab(对偶注意力块,dual attention block)。由于dab的输入张量和输出张量的尺寸一致,因此可以对步骤5的输出f
out1
继续进行多轮dab操作。此处将对f
out1
继续进行23轮dab变换,每轮变换依次得到f
out2
,f
out3

……
,最终得到f
out24

[0097]
然后,对f
out24
采用与步骤1类似的3
×
3卷积,记为final-conv。首先进行填充操作,方法与步骤1中所述一致,只不过张量的尺寸由h
×w×
3变成了h
×w×
c,此处不再赘述,填充完成后张量的尺寸变为(h 2)
×
(w 2)
×
c且下标且第1维和第2维的下标均从0开始。为计算卷积,需要定义一个尺寸为c
×c×3×
3的可优化张量w
final-conv
和尺寸为c的可优化张量b
final-conv
,分别作为3
×
3卷积操作的权重和偏置。计算结果表示为f
final-conv
,其中元素
[0098]
接下来将所有的dab操作和final-conv装入残差结构中,该结构可以使模型更关注图像中信息量更大的特征。残差结构的输出记为f
res
,其尺寸仍为h
×w×
c,有f
res
=f
final-conv
f。
[0099]
然后,使用亚像素卷积操作对特征图进行上采样,该操作记为upsample,它本质上是先进行3
×
3卷积,再进行张量元素的重新排列。具体来说,设上采样的倍数(即每边放大的倍数,也就是最终图像分辨率提高的倍数)为r,需要定义一个尺寸为c
×
cr2×3×
3的可优化张量w
upsample
和尺寸为cr2的可优化张量b
upsample
,分别作为3
×
3卷积操作的权重和偏置。卷积前先将f
res
使用与步骤1中相同的填充方法填充成尺寸为(h 2)
×
(w 2)
×
c的张量,卷积的结果f
upsample-co
nv
是一个尺寸为h
×w×
cr2的张量,其中元素再对张量元素重新排列,得到尺寸为hr
×
wr
×
c的张量f
upsample-out
,其中元素
[0100]
最后,使用一个3
×
3卷积将特征图的通道数变为3,得到最终的超分辨率输出结果,该操作记为output。具体来说,需要定义一个尺寸为c
×3×3×
3的可优化张量w
out
和尺寸为3的可优化张量b
out
,分别作为3
×
3卷积操作的权重和偏置。与上述卷积操作类似,仍然
先将f
upsample-out
填充成尺寸为(hr 2)
×
(wr 2)
×
c的张量,然后进行卷积计算,记结果为f
final
,有这里f
final
即为整个超分辨率模型的最终输出。
[0101]
步骤7具体包括如下步骤:
[0102]
将以上步骤1~6的计算过程组装成一个神经网络,记为danet。收集一组训练图像数据集其中包括n对低分辨率图像和高分辨率图像。然后即可对danet进行训练,训练过程中的每次迭代将随机从中采样b个样本计算损失函数再使用adam优化器对网络中的所有可优化参数进行优化,建议adam的超参数设置为β1=0.9,β2=0.99。建议迭代轮数为500 000,初始学习率为2
×
10-4
,在第250 000轮、第400 000轮、第450 000轮、第475 000轮分别将该学习率调整为1
×
10-4
、5
×
10-5
、2.5
×
10-5
、1.25
×
10-5

[0103]
步骤8具体包括如下步骤:
[0104]
对需要进行超分辨率的图像i
new
,利用步骤7中训练完成的神经网络danet,计算danet(i
new
),即为i
new
的超分辨率结果。图5展示了两张低分辨率图像使用danet进行超分辨率的结果。
[0105]
实施例
[0106]
本实施例包括以下部分:
[0107]
步骤1,搭建浅层特征提取模块。
[0108]
浅层特征提取模块使用一个卷积核大小为3、步长为1、带填充的卷积操作,将输入图像映射到高维特征空间上。
[0109]
对于一个尺寸为h
×w×
3的输入图像张量i,首先对其进行填充操作,在第1维和第2维的边界处填充一组值为0的元素,即在i中新增元素i
i,j,:
=0,其中i、j满足i=0,0≤j≤w 1或i=h 1,0≤j≤w 1或j=0,0≤i≤h 1或j=w 1,0≤i≤h 1。对于填充后的张量,仍记为i,但是此时i的尺寸是(h 2)
×
(w 2)
×
3且第1维和第2维的下标均从0开始。
[0110]
然后即可计算3
×
3卷积操作的输出f。具体来说,需要定义一个尺寸为3
×c×3×
3的可优化张量w
shallow
和尺寸为c的可优化张量b
shallow
,其中c是偶数,分别作为3
×
3卷积操作的权重和偏置。f是一个尺寸为h
×w×
c的张量,其中元素
[0111]
步骤2,将高维特征均匀分成两部分。
[0112]
对于步骤1中得到的尺寸为h
×w×
c的张量f,将其在第3维(即c对应的维度)上划分为尺寸相等的两部分,记为fc和f
t
,即fc=i
:,:,1:c/2
,f
t
=i
:,:,1:c/2 1
,其中步骤1中指定的c为偶数保证了这种划分方式的合理性。此时它们的尺寸均为在后续操作中,fc将使用卷积操作提取邻近像素之间的依赖关系,f
t
将使用transformer操作提取远距离像素
之间的依赖关系。
[0113]
步骤3,搭建相邻像素信息捕捉模块。
[0114]
对于步骤2中得到的fc,使用一系列卷积操作提取邻近像素之间的依赖关系。具体来说,将fc依次通过point-wise卷积层、depth-wise卷积层、gelu层、point-wise卷积层,再把这些操作装进一个残差结构中。将一个常规卷积层拆成point-wise卷积层和depth-wise卷积层,既可以达到常规卷积的效果,又可以减小计算开销。
[0115]
首先,将fc通过像素分离卷积层,该层记为p1。像素分离卷积可以看成一个1
×
1的常规卷积。具体来说,需要定义一个尺寸为的可优化张量w
p-conv1
和尺寸为的可优化张量b
p-conv1
,分别作为该卷积操作的权重和偏置。p1的输出p1(fc)同样是一个尺寸为的张量,其中
[0116]
其次,将p1(fc)通过深度分离卷积层,该层记为d。深度分离卷积可以认为是使用个输入输出通道数均为1的卷积核独立处理特征图的各个通道。此处卷积核大小为3,步长为1,带填充。具体来说,首先进行与步骤1类似的填充操作,在p1(fc)中新增元素i
i,j,:
=0,其中i、j满足i=0,0≤j≤w 1或i=h 1,0≤j≤w 1或j=0,0≤i≤h 1或j=w 1,0≤i≤h 1,使p1(fc)成为一个尺寸是且第1维和第2维的下标均从0开始的张量。然后需要定义一个尺寸为的可优化张量w
d-conv
和尺寸为的可优化张量b
d-conv
,分别作为该卷积操作的权重和偏置。d的输出d(p1(fc))同样是一个尺寸为的张量,其中
[0117]
然后,将d(p1(fc))通过gelu操作,增强模型的非线性表达能力。具体来说,对d(p1(fc))中的每个元素x,gelu操作后的对应元素gelu(x)=xφ(x),其中是φ(x)是标准正态分布的概率质量函数。在实际使用时,可以使用近似计算方法gelu操作是逐元素进行的,不改变输入张量的尺寸,其输出的张量记为gelu(d(p1(fc)))。
[0118]
最后,将gelu(d(p1(fc)))再次通过像素分离卷积层,该层记为p2。p2与上述p1操作完全一致,也引入两个可优化张量w
p-conv2
和b
p-conv2
,计算过程此处不再赘述。其输出的张量记为p2(gelu(d(p1(fc))))。
[0119]
为防止在后续的网络训练过程中出现梯度消失和梯度爆炸,以上所有操作需要装进一个残差结构中。对于输入x和作用在x上的操作f,残差结构的输出为x f(x),也就是说在对x进行完操作f后,再加上x本身。因此,此处残差结构的输出为p2(gelu(d(p1(fc)))) fc,此即为邻近像素依赖关系的最终提取结果,将其记为
[0120]
步骤4,搭建远距离像素信息捕捉模块。
[0121]
对于步骤2中得到的f
t
,使用transformer操作提取远距离像素之间的依赖关系。具体来说,将f
t
依次通过一个用残差结构包装的多头注意力层和一个用残差结构包装的线性连接层,且进行多头注意力层和线性连接层操作前均使用层正则化操作。
[0122]
首先,将f
t
通过层正则化层,该层记为ln1。具体来说,需要定义尺寸均为的两个可优化张量μ
ln1
和σ
ln1
,分别作为输出张量的均值和标准差。在层正则化层中,需要先对f
t
中的所有元素进行归一化,即计算行归一化,即计算并对f
t
中的每个元素x,计算其归一化后的值(x-μ)/σ。然后即可计算层正则化的输出值ln(f
t
),有ln(f
t
)
i,j,k
=(σ
ln1
)
i,j,k
[((f
t
)
i,j,k-μ)/σ] (μ
ln1
)
i,j,k

[0123]
其次,将ln(f
t
)通过多头注意力层,该层记为msa。它是捕捉远距离像素之间依赖关系的核心部件。在多头注意力层中,首先需要在ln(f
t
)的第1维和第2维方向上进行填充操作,将它们的尺寸变为8的倍数,然后在第1维和第2维方向上进行划分,将ln(f
t
)划分为若干个长和宽均为8的特征块。具体来说,填充操作后ln(f
t
)的高ln(f
t
)的宽填充操作后的ln(f
t
)满足在此基础上得到划分后的张量x,它的尺寸为h
pwp
/64
×
32c,其中的元素接下来即可进行注意力的计算,具体来说,选择32c的一个因数h作为注意力头的数量,需要定义3h个尺寸均为32c
×
32c/h的可优化张量w
h,q
、w
h,k
和w
h,v
,3h个尺寸均为32c/h的可优化张量b
h,q
、b
h,k
和b
h,v
,其中w
h,q
、w
h,k
和w
h,v
分别作为第h个头查询映射、键映射和值映射的权重,b
h,q
、b
h,k
和b
h,v
分别作为第h个头查询映射、键映射和值映射的偏置(1≤h≤h)。计算各个特征块的查询qh=xw
h,q
b
h,q
、键kh=xw
h,k
b
h,k
、值vh=xw
h,v
b
h,v
,此处需要注意的是在进行加法运算前需要对b
h,q
、b
h,k
和b
h,v
进行广播,将它们构造成尺寸为h
pwp
/64
×
32c/h的矩阵,其中第j列的所有元素均来自于对应向量的第j个元素(1≤j≤32c/h)。再计算注意力映射并对mh在行方向上用softmax方法进行归一化,记归一化的结果为有在此基础上,即可计算第h个头的输出然后将各个头上的输出在第2维(即特征方向)上进行拼接,得到尺寸为h
pwp
/64
×
32c的多头注意力操作的总输出y,即为了保证下文所述的残差结构能正常计算,需要将y重新组装、裁剪成尺寸为的张量,得到多头注意力操作的最终结果msa(ln(f
t
)),其中重新组装过程是上述划分特征块的逆过程,得到尺寸为的张量计算方法为
然后,再将裁剪成尺寸为的张量,得到最终结果msa(ln(f
t
)),即)),即
[0124]
以上层正则化层ln1和多头注意力层msa需要装入残差结构中,即计算
[0125]
然后,将再次通过层正则化层,该层记为ln2。具体计算方法与ln1类似,此处不再赘述。
[0126]
最后,将通过全连接层,该层记为mlp。需要定义一个尺寸为的可优化张量w
mlp
和尺寸为的可优化张量b
mlp
,分别作为该全连接层的权重和偏置。计算方法为
[0127]
与ln1和msa类似,以上层正则化层ln2和全连接层mlp也需要装入另一个残差结构中,即计算此处即为远距离像素依赖关系的最终提取结果。
[0128]
步骤5,搭建通道混合注意力模块。
[0129]
对于步骤3得到的和步骤4得到的使用一种轻量级的方法进行数据的融合,使模型能同时感知邻近像素依赖关系和远距离像素依赖关系。具体来说,将和拼接后在除通道以外的维度上使用全局池化操作,将每个通道的信息压缩成一个标量,再使用全连接层对各个通道的信息进行融合,最后把信息融合后的标量作为权重系数作用到和的各个通道上,形成和的最终融合结果。
[0130]
首先,将和在通道方向上进行拼接,该操作记为concat。拼接后形成一个尺寸为h
×w×
c的张量即
[0131]
其次,将在除通道以外的维度(即第1维和第2维)上进行全局池化操作,该操作记为gap。该操作形成一个尺寸为尺寸为c的向量s,即
[0132]
然后,将s通过全连接层,该层记为linear。需要定义一个尺寸为c
×
c的可优化张量w
linear
和尺寸为c的可优化张量b
linear
,分别作为该全连接层的权重和偏置。将linear的输出记为z,则z也是一个尺寸为c的向量,计算方法为
[0133]
最后,将z作为权重系数作用到的各个通道上,即z和进行逐元素相乘,得到的计算结果记为f
out1
,即需要注意的是,在进行逐元素相乘运算前,需要对z进
行广播,将它构造成尺寸为h
×w×
c的张量,在广播后的z中,其下标为i,j,k的元素均来自于广播前的zk(1≤k≤c)。f
out1
即为和进行融合的最终结果,它集成了邻近像素依赖关系信息和远距离像素依赖关系信息。
[0134]
步骤6,将对偶注意力模块堆叠成完整的神经网络。
[0135]
步骤2的输入是尺寸为h
×w×
c的张量f,它经过步骤2~5中一系列的操作后,得到输出f
out1
,将整个变换过程记为dab(对偶注意力块,dual attention block)。由于dab的输入张量和输出张量的尺寸一致,因此可以对步骤5的输出f
out1
继续进行多轮dab操作。此处将对f
out1
继续进行23轮dab变换,每轮变换依次得到f
out2
,f
out3

……
,最终得到f
out24

[0136]
然后,对f
out24
采用与步骤1类似的3
×
3卷积,记为final-conv。首先进行填充操作,方法与步骤1中所述一致,只不过张量的尺寸由h
×w×
3变成了h
×w×
c,此处不再赘述,填充完成后张量的尺寸变为(h 2)
×
(w 2)
×
c且下标且第1维和第2维的下标均从0开始。为计算卷积,需要定义一个尺寸为c
×c×3×
3的可优化张量w
final-conv
和尺寸为c的可优化张量b
final-conv
,分别作为3
×
3卷积操作的权重和偏置。计算结果表示为f
final-conv
,其中元素
[0137]
接下来将所有的dab操作和final-conv装入残差结构中,该结构可以使模型更关注图像中信息量更大的特征。残差结构的输出记为f
res
,其尺寸仍为h
×w×
c,有f
res
=f
final-conv
f。
[0138]
然后,使用亚像素卷积操作对特征图进行上采样,该操作记为upsample,它本质上是先进行3
×
3卷积,再进行张量元素的重新排列。具体来说,设上采样的倍数(即每边放大的倍数,也就是最终图像分辨率提高的倍数)为r,需要定义一个尺寸为c
×
cr2×3×
3的可优化张量w
upsample
和尺寸为cr2的可优化张量b
upsample
,分别作为3
×
3卷积操作的权重和偏置。卷积前先将f
res
使用与步骤1中相同的填充方法填充成尺寸为(h 2)
×
(w 2)
×
c的张量,卷积的结果f
upsample-co
nv
是一个尺寸为h
×w×
cr2的张量,其中元素再对张量元素重新排列,得到尺寸为hr
×
wr
×
c的张量f
upsample-out
,其中元素
[0139]
最后,使用一个3
×
3卷积将特征图的通道数变为3,得到最终的超分辨率输出结果,该操作记为output。具体来说,需要定义一个尺寸为c
×3×3×
3的可优化张量w
out
和尺寸为3的可优化张量b
out
,分别作为3
×
3卷积操作的权重和偏置。与上述卷积操作类似,仍然先将f
upsample-out
填充成尺寸为(hr 2)
×
(wr 2)
×
c的张量,然后进行卷积计算,记结果为f
final
,有这里f
final
即为整个超分辨率模型的最终输出。
[0140]
步骤7,使用包含低分辨率图像和高分辨率图像对的数据集对神经网络进行训练。
[0141]
将以上步骤1~6的计算过程组装成一个神经网络,记为danet。收集一组训练图像数据集其中包括n对低分辨率图像和高分辨率图像。
然后即可对danet进行训练,训练过程中的每次迭代将随机从中采样b个样本计算损失函数再使用adam优化器对网络中的所有可优化参数进行优化,建议adam的超参数设置为β1=0.9,β2=0.99。建议迭代轮数为500 000,初始学习率为2
×
10-4
,在第250 000轮、第400 000轮、第450 000轮、第475 000轮分别将该学习率调整为1
×
10-4
、5
×
10-5
、2.5
×
10-5
、1.25
×
10-5

[0142]
步骤8,将训练完成的神经网络运用到实际图像的超分辨率任务上。
[0143]
对需要进行超分辨率的图像i
new
,利用步骤7中训练完成的神经网络danet,计算danet(i
new
),即为i
new
的超分辨率结果。
[0144]
具体实现中,本技术提供计算机存储介质以及对应的数据处理单元,其中,该计算机存储介质能够存储计算机程序,所述计算机程序通过数据处理单元执行时可运行本发明提供的基于对偶注意力网络的高效图像超分辨率重建方法的发明内容以及各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random access memory,ram)等。
[0145]
本领域的技术人员可以清楚地了解到本发明实施例中的技术方案可借助计算机程序以及其对应的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机程序即软件产品的形式体现出来,该计算机程序软件产品可以存储在存储介质中,包括若干指令用以使得一台包含数据处理单元的设备(可以是个人计算机,服务器,单片机,muu或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0146]
本发明提供了基于对偶注意力网络的高效图像超分辨率重建方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表