Zhifei Zhang,Zhaowen Wang,Zhe Lin,Hairong Qi
CVPR2019
之前提出的RefSR的方法虽然很有潜力,但是存在一些问题,一旦RefSR与LR不够相似的时候超分辨率的结果就很差。论文为了充分发挥RefSR的作用。不仅只学习RefSR的像素级的文本信息还同时学习多个层次的信息。
SISR工作存在的问题:
基于Ref的SR存在的问题:
为了得到更真实纹理的高分辨率图像,论文提出了SRNTT。
网络结构如上图。
特征交换这一部的主要工作就是在Ref中找到与LR最接近的块,然后替换掉LR中的块。这就涉及两个步骤(1)如何计算相似度(2)如何交换对应块。
(1)如何计算相似度
论文提出的方法不是计算整个图的相似度,而是分块计算。这里因为LR和Ref的大小不同,先对LR用bicubic进行上采样使LR和Ref具有相同的大小,而同时考虑到二者的分辨率不同,对Ref用bicubic进行下采样再上采样,使得的模糊程度跟接近。
考虑到和的块在颜色和光照上面可能有些不同,于是论文不直接对Patch的像素进行计算相似度,而在高层次的特征图上计算,即,来突出结构和纹理信息。
论文采用内积方法来计算相似度:
表示第i块,而从公式中可以看出的块被规范化了。
而对于整个计算相似度的操作也就相当于是将的j块当做卷积核的卷积操作。
即第j个块得到的相似度map。
定义表示以(x,y)为中心的块和的第j块得到的相似度图。
(2)交换操作
指的是索引,即以(x,y)为中心的块的索引,M是交换后得到的特征图,这个公式的意思先找到与相似度最大的那个块,找到中对应的块的特征图来做M的块。
如果有重叠的部分,就取均值。
这一结果的主要功能就是将这些不同规模和大小的M和深度学习结合起来。
论文采用残差块和跳跃连接来建立基本的生成网络。记是第l层的输出,可以定义为:
即2倍上采样。表示通道连接。
上图是纹理迁移的结构。
假设有L层,那最终SR:
不同于SISR只考虑和的不同,SRNTT还考虑了和的纹理差异。于是论文定义了一个纹理损失:
其中GR表示Gram矩阵,表示全部LR块对应的最匹配的相似度的评分。就是正则化系数。
为了保留LR的空间结构、改善SR的视觉效果,并充分利用Ref的纹理信息。损失函数包括重构损失、感知损失、对抗损失、纹理损失。
重构损失:
采用1范数是为了产生更尖锐的细节。
感知损失:
V表示长乘宽,C表示通道数。感知损失取得是VGG19中relu5_1的特征图。
对抗损失:
前面的特征提取层来自于不同的VGG层,relu1_1,relu2_1,relu3_1。
的权值分别为1,1e-4,1e-6,1e-4.
学习率设置为1e-4.优化器为adam.
网络先只用重构损失训练2epochs,再用全部的损失训练20epochs。
论文还对做数据增强,获取其对应的放缩和旋转。
论文通过捕获日常生活中的场景,建立了1863个目录,每个目录包含30到100张图片。每个目录内都包含相似程度不同的图像对。
论文的方法在训练时,随机裁剪的图像块,作为HR,,其对应的作为Ref,对HR用bicubic下采样4倍得到LR.
用13761对patch作为训练集。用120组图像作为测试集,每组都包括四个相似度等级的ref图像。
论文还采用了Sun80,Urban100作为测试图像,Sunn80中的80个图像没有ref,论文在网上为其搜集了对应的ref。而Urban100没有ref。
结果可以证明SRNTT的纹理损失的作用。
论文还对比了cross-net的optic flow的方法。证明了块匹配的效果。
论文还对比了使用不同VGG层和在不同参考等级下的psnr。
最后论文对比了有纹理损失和没有纹理损失的SR结果,证明了纹理损失的意义。