以上解读为李文杰( 社区昵称:@月本诚 )在 AI研习社CVPR小组 原创首发,我已经努力保证解读的观点正确、精准,但本人毕竟才学疏浅,文中若有不足之处欢迎大家批评指正。所有方法的解释权归原始论文作者所有。
超分辨(Super-Resolution)图像恢复旨在从低分辨模糊图像中恢复出高分辨的清晰图像,是计算机视觉中的一个重要任务,在工业界有非常强的应用前景。CVPR是图像超分辨研究的集中地之一,光今年录用的超分辨及相关研究方向的论文就不下10篇。本文解读其中一篇由Adobe研究院为一作发表的超分辨研究方向的论文。可通过:1).原文arXiv链接 2).项目主页 3).代码github仓库 获取论文相关资源。
经典的单图超分辨技术(SISR)的发展因为低分辨图片固有的信息丢失特点而变得极具挑战,新兴的基于参考图片的超分辨技术(RefSR)可以在参考图片的帮助下恢复出高分辨图片的更多细节,为超分辨恢复技术的研究打开了一扇新的大门。然而现有的RefSR方法要求参考图片与低分辨图片有较高的相似性,当参考图片与低分辨图片差别较大时超分辨恢复的效果会严重下降,甚至不如无参考的SISR方法。 该文旨在通过放宽对参考图片的相似性限制来释放RefSR技术的潜力,用一种更加鲁棒的方式更有效地利用参考图片的纹理细节。受近期图像风格化工作的启发,作者将RefSR表述为神经纹理迁移问题并设计了一个端到端的深度模型SRNTT,该模型可以根据纹理相似性自适应地从参考图片迁移纹理来丰富高分辨图像的细节。相较于之前的工作,SRNTT的一大重要贡献是其纹理相似度计算不再基于原始的像素点,而是基于多层级的图像特征。这种从像素级匹配到多语义层级匹配的升级使模型变得鲁棒,以致于在参考图片与输入图片完全不相关的情况下,有参考的超分辨技术RefSR也能至少发挥出无参考的超分辨技术SISR的一般水平,而不是更差。 为了促进RefSR的研究,作者建立了一个新的基准数据集CUFED5,数据集中的每张图片都配备了不同相似度级别的参考图片。作者在包括CUFED5在内的3个数据集上对SRNTT和众多先进的超分辨方法进行了相同的定量评估和定性评估实验,实验结果显示无论是PSNR/SSIM指标还是人类视觉观感调查,SRNTT都表现出了超越其他模型的优越性,尤其是在人类视觉观感调查上,SRNTT以超过90%调查者的认可度碾压所有对比方法。
图1. 一种SISR方法(SRGAN)与两种RefSR方法(CrossNet与SRNTT)的超分辨恢复效果对比。其中最左侧的图片由2张参考图片组成,标有(U)的RefSR方法表示使用上侧的图片作为参考,标有(L)表示使用下册的图片作为参考。
先通过一组图片直观地感受一下不同模型的区别,图1将SRNTT与一种先进的单图超分辨方法SRGAN和一种先进的有参考超分辨方法CrossNet进行了对比。当使用内容相似的大本钟图像作为参考时CrossNet的效果还可以,但是使用内容差别很大的金门大桥时效果极差,基本上是把桥索的纹理重叠在原始图像上了。反观SRNTT,即使以不太相关的金门大桥作为参考,它得到的超分辨图像也要比使用相关图片的CrossNet的效果还要好。使用大本钟作为参考的SRNTT的效果十分逼真,图像清晰度明显提高而且纹理细节非常丰富(注意表盘的细节),在这张图的视觉观感上,可以说SRNTT的效果秒杀SRGAN和CrossNet。
针对现有方法的两种局限:①SISR生成的纹理不够逼真,像人工伪造 ②RefSR要求参考图片尽量相似且对齐,作者提出了端到端的超分辨纹理迁移网络SRNTT,其整体架构如图2:
图2. SRNTT网络整体架构
网络由特征匹配和纹理迁移两部分组成,特征匹配部分负责计算输入图片块与参考图片块之间的相似度并进行替换,最终将生成的新特征图输入到纹理迁移部分,而纹理迁移部分负责把新特征图迁移整合到最终生成的超分辨图像中。因为匹配部分和迁移部分都有多个层级,所以作者将这种结构称为多级神经纹理迁移。以下对各组件进行详细介绍。
特征替换部分可分为以下5个步骤: ① 缩放:为了方便做特征匹配,首先对低分辨图像和参考图像进行缩放预处理使它们的尺寸与目标高分辨图像相同。对低分辨图像,我们用上采样将其放大。对参考图像,我们先使用下采样将其缩小至低分辨图片的尺寸,然后再上采样放大,先进行下采样缩放可以使参考图片变得模糊从而具备低分辨图像的特征,这样便能更好的与输入低分辨图像进行特征匹配。 ② 纹理特征提取:为了在衡量图片相似度时弱化颜色和光亮的影响但强化结构信息和纹理信息的影响,作者选择在神经特征空间中进行相似度对比,也就是使用神经网络提取的图像特征进行匹配而不是原始像素点。例如作者就在实现时使用预训练的VGG19网络的前三层作为特征提取器,因为VGG19网络的纹理表征能力十分强大。 ③ 块切分:将低分辨图像和参考图像都密集的切分成数个大小相同的图像块,作者在代码实现中默认使用3x3大小的块,采集的步长为1,所以块与块之间是有重叠的。 ④ 相似度计算:以内积作为相似性度量指标,计算所有输入块与参考块的相似度。以内积为相似度计算指标的好处是可以将上述计算过程转换成一组卷积(或者互相关)运算,比如分别以每个参考块作为卷积核对整个低分辨图像进行卷积即可完成所有的相似度计算。计算完成后,每一个低分辨像素块都会有一个与其对应的相似度最大参考图像块。 ⑤ 块替换:对于每一个低分辨图像块,都将其对应的相似度最大的原始参考图像的特征块替换到低分辨图片中,替换图像块之间的重叠部分取各块的平均值作为最终值。替换完成后每一层级的低分辨图像都将得到一个与其对应的交换特征图M。 可以发现,整个特征替换过程不涉及任何训练参数也无需训练,完全可以将其视为数据预处理过程。虽然替换过程步骤繁琐,但是其实整个过程只是使用参考图片中高相关的、高质量的纹理特征替换掉了低分辨空间中粗糙的纹理特征,用外部信息填补了低分辨图像的信息空缺。
图3. SRNTT纹理迁移部分的网络结构
经过特征替换预处理后,我们得到了每一级纹理特征的交换特征图M。纹理迁移网络利用原始的低分辨图像和交换特征图M从高级别到低级别逐步恢复超分辨图像,每个纹理级别的迁移过程都是相同的,但是输出的图像尺寸会越来越大,单个级别的纹理迁移网络结构如图3所示。首先将该级别的输入图像与交换特征图按通道拼接,接着使用残差卷积块学习交换特征块中与输入图像相关的纹理(残差),然后将学到的相关纹理合并到输入图像,最后使用子像素卷积(sub-pixel conv)将合并后的图像放大两倍并将其输出至下一层。当所有纹理级别都迁移完毕,在最后一层获取超分辨图像时将直接输出合并图像,不再使用子像素卷积进行2倍放大。
为了1) 保留低分辨图片的空间结构 2) 提高超分辨图片的视觉质量 3) 利用参考图像的丰富纹理,SRNTT模型综合使用了重构损失、感知损失、对抗损失和纹理损失这4种损失函数。其中重构损失被绝大部分SR方法采用,感知损失和对抗损失被其他研究证明能够提高视觉质量,而纹理损失是作者专门针对RefSR方法定义的损失,目的是使超分辨图片的纹理与交换特征图的原理尽量相似。各损失函数的定义与解释如图4所示。其中,作者在使用对抗损失时使用了WGAN-GP。因为重构损失的目的是为了降低PSNR值,所以在训练时重构损失的权重为1,感知损失和纹理损失的权重为1e-4,对抗损失的权重为1e-6。
图4.SRNTT使用的4种损失函数
作者将SRNTT与多个State-of-the-art的方法进行了对比,所有的低分辨图片均通过4倍bicubic缩放得到。定量分析实验以PSNR和SSIM指标,其结果如表1,模型的排列按照有/无参考进行组织。表中SRNTT-l2表示模型只使用MSE损失训练,而SRNTT-l2(SISR)表示模型以低分辨图片本身作为参考图片,这等价于无参考,所以也将其一并放入SISR组作为对照。整体来看,虽然有参考的SRNTT-l2变种模型在3个数据集上的的整体表现最好,但是与无参考的MDSR模型相比并没有很大的提升。
表1.各模型的PSNR/SSIM指标定量对比
(下图)图5选取了CUFED5数据集中的3个样本展示不同模型的超分辨恢复效果,每两行图片展示一个样本。注意看红色标注框内的纹理,经过对比可以发现SRNTT模型的视觉质量明显优于其他所有方法(包括自己的l2变种),纹理的细致程度很高。可见PSNR指标并不能完全反映视觉质量的好坏,从视觉质量来看,SRNTT较其他模型的提升十分明显。
图5.各模型在CFUED5数据集上的效果
为了使定性分析更有说服力,作者在2400民调查者中做了1对1的偏好调查,即从SRNTT模型和另一对比模型中选择一个进行投票。图6展示了SRNTT相比于其它各模型的投票率,可以看到SRNTT以大于90%的投票率差距轻松的打败了所有对比模型,这说明模型的视觉质量被普遍认可。
图6.2400人的视觉观感调查结果
为了验证模型对不同相似度级别的参考图片的适用性,作者对比了CrossNet和SRNTT在6种相似度级别下的表现,实验结果表2。其中PM表示是否使用块匹配(Patch-based Matching),GAN表示模型训练时有没有使用GAN和其他感知损失。表2中参考图片的相似度级别从左往右依次降低,其中HR(warp)表示对HR进行随机变换(缩小、放大、翻转),LR表示以低分辨图片本身作为参考。而SRNTT-flow是将SRNTT的特征交换部分替换成CrossNet中使用的optical-flow的变种,目的是比较两个模型之间的差距。实验结果显示SRNTT-l2对参考图片的适应性较高。
表2.不同相似度级别下PSNR/SSIM表现
SRNTT的特征替换部分是多级别的,为了研究级别数量对性能的影响,作者对比了模型在1~3级情况下的PSNR表现,且每一级都使用了不同相似度级别参考图片,实验结果如表3所示。可以发现,在参考图片的相似度相同时,PSNR值随级别数的增长而增长;在级别数量相同时,除了relu3层外,其他列的PSNR值均随参考图片相似度的降低而降低,实验结果与理论预期相符。
表3.使用不同VGG层进行特征变换对性能的影响
为了验证使用纹理损失的好处,作者也做了对比实验,实验结果同样验证了它的有效性。图7展示了不使用纹理损失的SRNTT模型生成的超分辨图片,与图5中同样的样本进行对照可发现视觉质量确实明显下降(城堡窗户的细节和国旗中星星的纹理细节都变得模糊了)。
图7.SRNTT不使用纹理损失时的效果
文章的贡献可以总结为以下三点: ① 探索了更具一般性的基于参考图片的超分辨恢复问题,破除了SISR的性能障碍并放宽了现有RefSR技术对参考图片的相似度约束和对齐约束。 ② 提出端到端的深度超分辨恢复模型SRNTT,能从任意的参考图片中迁移纹理并增强输出图像的纹理细节表现。 ③ 建立用于RefSR研究的基准数据集CUFED5,促进后续研究对不同相似度级别参考图片的处理。