EnhanceNet: Single Image Super-Resolution Through Automated Texture Synthesis
Abstract
最大化PSNR 与 图像质量的人类感知相关性太弱,PSNR过小会造成图像过于平滑缺少纹理看上去不够自然。
我们提出了一种结合纹理损失的自动纹理合成的新颖应用,该损失专注于创建逼真的纹理,而不是针对训练过程中像素精度的地面真实图像再现进行优化。 通过在对抗训练环境中使用前馈全卷积神经网络,我们可以在高放大倍率下显着提高图像质量。 在大量数据集上进行的广泛实验证明了我们方法的有效性,在定量和定性基准方面都产生了最新的结果。
1.Introduction
对HR图像进行降采样时,大量不同的HR图像会产生相同的LR图像。对于高放大倍率,此一对多映射问题变得更糟,从而使SISR成为高度复杂的问题。一个关键问题是大量降采样因子导致高频信息丢失,从而使超分辨图像中的纹理区域变得模糊,过分平滑且外观不自然(参见图1,左,PSNR,ENet-E的最新技术进展) 。
原因是,选择了当前最先进的方法所采用的目标函数:大多数系统将HR Ground Truth 图像与其从HR真实图像重建之间的像素平均均方误差(MSE)降至最低。 然而,LR观察与人类对图像质量的感知之间的相关性很差。 虽然易于最小化,但最佳的MSE估计器返回许多可能解的平均值,这使得SISR结果看起来不自然且难以置信(参见图2)。 在超分辨率的背景下,这种均值回归问题是众所周知的事实,但是,对自然图像的高维多峰分布进行建模仍然是一个具有挑战性的问题。
3. Single image super-resolution
一张高分辨率图片 I H R ∈ [ 0 , 1 ] α w × α h × c I_{HR} \in [0,1]^{\alpha w\times \alpha h\times c } IHR∈[0,1]αw×αh×c 下采样为低分辨率图像:
I L R = d α ( I H R ) ∈ [ 0 , 1 ] w × h × c I_{LR} = d_\alpha(I_{HR})\in[0,1]^{w\times h\times c} ILR=dα(IHR)∈[0,1]w×h×c
使用下采样操作表示为:
d α : [ 0 , 1 ] α w × α h × c → [ 0 , 1 ] w × h × c d_\alpha:[0,1]^{\alpha w\times\alpha h \times c}\rightarrow[0,1]^{w\times h\times c} dα:[0,1]αw×αh×c→[0,1]w×h×c
固定比例因子 α > 1 \alpha>1 α>1,图像宽度 w w w,高度 h h h和颜色通道 c c c。 SISR的任务是提供一个从 I L R I_{LR} ILR估计 I H R I_{HR} IHR的近似逆 f ≈ d − 1 f \approx d^{-1} f≈d−1:
f ( I L R ) = I e s t ≈ I H R . f(I_{LR}) = I_{est} \approx I_{HR}. f(ILR)=Iest≈IHR.
由于下采样操作d是non-injective 的,并且存在大量可能的图像
I
e
s
t
I_{est}
Iest,而
d
(
I
e
s
t
)
=
I
L
R
d(I_{est})= I_{LR}
d(Iest)=ILR保持不变,因此该问题的处境很严重。
最近的学习方法旨在通过使当前估计和ground truth图像之间的欧几里得损失
∣
∣
I
e
s
t
−
I
H
R
∣
∣
2
2
|| I_{est}-I_{HR} || {^2_2}
∣∣Iest−IHR∣∣22最小化,通过多层神经网络来近似
f
f
f。 尽管这些模型通过PSNR可以得出出色的结果,但所得图像往往看起来模糊并且缺少原始图像中存在的高频纹理。 这是SISR模棱两可的直接结果:由于下采样会从输入图像中去除高频信息,因此没有方法希望以像素为单位重现所有精细的细节。 因此,即使是最先进的模型也要学习在那些区域中生成所有可能纹理的均值,以使输出图像的欧几里得损失最小化。
关于欧几里得损失的最佳解决方案只是所有可能图像的平均值,而更高级的损失函数会导致更逼真(尽管不是像素完美的再现)。(见图2)
4.Method
4.1. Architecture
结构如表1所示,全卷积网络可以在给定的缩放因子α下针对任意大小的输入图像训练单个模型,而前馈体系结构则可以在推理时生成有效的模型,因为LR图像只需要通过 网络一次即可获得结果。
由于LR输入小于输出图像,因此需要在某个点进行升采样以产生高分辨率图像估计。 简单地将LR图像的三次三次插值馈入网络似乎很自然。 但是,这给输入图像带来了冗余,并导致更高的计算成本。 对于卷积神经网络,使用卷积转置图层1,对网络内部的特征激活进行上采样。 这避免了必须将具有多余冗余的大图像馈入CNN的麻烦,并允许大部分计算在LR图像空间中完成,从而导致相对于输出图像而言,较小的网络和较大的滤镜接收场。
为了进一步减少伪像,我们在HR图像空间中的所有上采样块之后添加了卷积层,因为这有助于避免输出中出现规则模式。
训练深度网络,我们发现残差块与堆叠的卷积层相比,对于更快的收敛是有好处的。
4.2. Training and loss functions
本节介绍Loss函数及其组合。
4.2.1 Pixel-wise loss in the image-space
我们使用像素级MSE训练模型
L E = ∣ ∣ I e s t − I H R ∣ ∣ 2 2 , L_E=||I_{est}-I_{HR}||{^2_2}, LE=∣∣Iest−IHR∣∣22,
其中
∣
∣
I
∣
∣
2
2
=
1
w
h
c
∑
w
,
h
,
c
(
I
w
,
h
,
c
)
2
.
||I||{^2_2} = \frac{1}{whc}\displaystyle \sum_{w,h,c}(I_{w,h,c})^2.
∣∣I∣∣22=whc1w,h,c∑(Iw,h,c)2.
4.2.2 Perceptual loss in feature space
感知相似性度量 在计算距离之前,
I
e
s
t
I_{est}
Iest和
I
H
R
I_{HR}
IHR都首先通过可微函数
ϕ
\phi
ϕ映射到特征空间中,而不是在图像空间中计算距离。
L
P
=
∣
∣
ϕ
(
I
e
s
t
)
−
ϕ
(
I
H
R
)
∣
∣
2
2
L_P = ||\phi(I_{est})- \phi(I_{HR})||{^2_2}
LP=∣∣ϕ(Iest)−ϕ(IHR)∣∣22
使网络的输出或许并不匹配groud truth而是鼓励网络来产生相似特征表现的图片。
对于特征图
ϕ
\phi
ϕ,我们使用流行的VGG-19网络的预训练实现。 它由堆叠的卷积和池化层组成,以逐渐减小图像的空间尺寸并提取更高层的更高层特征。 为了同时捕获低级和高级功能,我们结合使用第二个和第五个池化层并在其功能激活时计算MSE。
4.2.3 Texture matching loss
给定目标纹理图像,通过将从预训练网络中提取的统计信息与目标纹理进行匹配,来迭代生成输出图像。 作为统计数据,使用给定长度为m的n个特征的VGG层上的特征激活
ϕ
(
I
)
∈
R
n
×
m
\phi(I)\in R^{n×m}
ϕ(I)∈Rn×m之间的相关性:
L
T
=
∣
∣
G
(
ϕ
(
I
e
s
t
)
)
−
G
(
ϕ
(
I
H
R
)
)
∣
∣
2
2
L_T=||G(\phi(I_{est}))-G(\phi(I_{HR}))||{^2_2}
LT=∣∣G(ϕ(Iest))−G(ϕ(IHR))∣∣22
矩阵
G
(
F
)
=
F
F
T
∈
R
n
×
n
G(F)= FF^T\in R^{n×n}
G(F)=FFT∈Rn×n。 由于该方法基于迭代优化,因此速度较慢,并且仅当在测试时提供目标纹理时才有效。 随后的工作训练了一个前馈网络,该网络能够将全局纹理(例如,给定的绘画样式)合成到其他图像上,但是单个网络再次仅生成单个纹理,并且所有输入图像中的纹理 替换为训练网络的单一样式。
我们建议对SISR使用transfer loss:我们不是在推理时为网络提供匹配的高分辨率纹理,而是在训练过程中逐块计算纹理损失
L
T
L_T
LT,以在
I
e
s
t
I_{est}
Iest和
I
H
R
I_{HR}
IHR之间实施局部相似的纹理。 因此,网络会在训练过程中学习生成与高分辨率图像具有相同局部纹理的图像。 尽管生成任意纹理的任务比单纹理合成的要求更高,但LR图像和高级上下文提示为我们的网络提供了更多可使用的信息,从而使其能够生成变化的高分辨率纹理。
4.2.4 Adversarial training
对抗训练是一种最新技术,已被证明是产生逼真的图像的有用机制。 在原始设置中,对生成网络G进行了训练, 同时,判别网络D被训练以区分来自数据集的真实图像x和生成的样本G(z)。这种方法导致了minimax游戏,其中训练了生成器以使其loss最小化
L
A
=
−
l
o
g
(
D
(
G
(
z
)
)
)
L_A=-log(D(G(z)))
LA=−log(D(G(z)))
鉴别器loss最小化
L
D
=
−
l
o
g
(
D
(
x
)
)
−
l
o
g
(
1
−
D
(
G
(
z
)
)
)
.
L_D = -log(D(x))-log(1-D(G(z))).
LD=−log(D(x))−log(1−D(G(z))).
在SISR设置中,G是我们的生成网络,如图1所示,即G的输入现在是LR图像
I
L
R
I_{LR}
ILR而不是噪声矢量z,并且其所需的输出是合适的现实高分辨率图像
I
e
s
t
I_{est}
Iest。
以下学习策略会产生更好的结果和更稳定的训练:我们在预训练批次中跟踪鉴别器在真实图像和生成图像上的平均性能,并且仅在随后的步骤中训练鉴别器,如果其在任一这两个样本低于阈值。 完整的体系结构和更多详细信息在补充中指定。
5.Evaluation
在 5.1,我们研究了使用先前介绍的损失函数的不同组合训练的体系结构的性能。 确定最佳性能模型后,5.2对我们的方法进行了全面的定性和定量评估。 补充中给出了各种比例因子下的其他实验,比较和结果
5.1. Effect of different losses
我们使用表2中列举的Loss组合进行训练,并将结果展示在图4和表3中。更多的结果在补充中。
5.2.3 Evaluation of perceptual quality
在ImgeNet数据集上对用户进行问卷调查,其中91.0%选择由ENet-PAT产生的图像
6. Discussion, limitations and future work
我们提出了一种体系结构,该体系结构能够通过欧几里得损失训练或对抗性训练,感知损失和新提出的用于超分辨率的纹理转移损失的新颖组合,通过定量和定性测量产生最新结果 。 训练后,该模型便以具有竞争力的速度在单次前向内插中全彩色图像。
由于SISR是一个严重的问题,因此仍然存在一些局限性。 虽然由ENet-PAT生成的图像看上去逼真,但它们与像素像素的真实图像不匹配。 此外,对抗训练有时会在输出中产生伪影,这些伪影会大大减少,但不会增加纹理损失,因此无法完全消除。
我们注意到在图7所示的BSD100数据集中的图像上发生了有趣的故障,其中模型将LR图像中可见的图案延续到平滑区域。 这是模型学习将在LR和HR图像对之间频繁出现的纹理幻化的结果,例如重复的条纹随着LR图像尺寸的缩小而逐渐消失。
尽管该模型在运行时间方面已经具有竞争力,但未来的工作可能会减少网络深度,并采用缩小方法来加快模型在高分辨率数据上的实时性能:添加时间一致性项可以实现 用于视频超分辨率的模型。 我们为读者提供补充材料,以获取更多结果,更多详细信息和其他比较。 ENet-PAT的参考实现可以在项目网站上找到,网址为http://webdav.tue.mpg.de/pixel/enhancenet。