论文笔记SR——SRNTT

Image Super-Resolution by Neural Texture Transfer

1 简介

经典的单图超分辨技术(SISR)因为低分辨图片固有的信息丢失而变得极具挑战,基于参考图片Red的超分辨技术(RefSR)可以在参考图片的帮助下恢复出高分辨图片的更多细节。然而现有的RefSR方法要求参考图片与低分辨图片有较高的相似性,当参考图片与低分辨图片差别较大时超分辨恢复的效果会严重下降,甚至不如无参考的SISR方法。

本文旨在通过利用来自Ref图像的更多纹理细节来释放RefSR的潜力,即使在提供不相关的Ref图像时也具有更强的鲁棒性。作者将RefSR表述为神经纹理迁移问题并设计了一个端到端的深度模型SRNTT,该模型可以根据纹理相似性自适应地从参考图片迁移纹理来丰富高分辨图像的细节。SRNTT的一大重要贡献是其纹理相似度计算不再基于原始的像素点,而是基于多层级的图像特征。

 

2 方法介绍

现有方法局限性:①SISR生成的纹理不够真实 ② RefSR要求Ref与LR之间尽可能的对齐。

作者提出SRNTT结构

主要分为两部分,特征匹配部分在特征空间中搜索I(Ref)的特征纹理,然后通过多层级方式与I(LR)进行比对,根据两者之间的相似程度进行特征块的替换,并将最终特征结果输入到纹理转换结构中。纹理转换部分将得到的特征结果整合到LR中。

2.1 特征替换 Feature Swapping

① 采样

首先对I(LR)应用双三次上采样,以获得与IHR具有相同空间大小的放大LR图像ILR↑,然后通过bicubic上或下采样来使Ref也resize到HR的尺寸。

 

② 特征

由于LR和Ref在颜色和光照方面也可能不同,作者使用神经网络特征进行相似度对比。例如VGG特征。还有一个原因就是,即使在RGB或者其他图像空间下Ref和LR没有相似的地方,在low-level或者high-level的feature空间下也可能会有相似的patch存在。例如论文最开始的钟楼的边缘和Ref中桥的边缘就在feature空间上可能会有类似的地方。

③ 相似度

使用内积来衡量神经特征之间的相似程度:

相似度计算可以作为一组卷积操作有效地实现在所有LR特征块上,即分别以每个Ref特征块作为卷积核对所有LR特征块进行卷积。多个核得到的结果进行比较,最终每一个LR像素块都会有一个与其对应的相似度最大Ref块。

④ 替换

根据相似性得分,假设M为最终增强结果图像,则

即,对于每一个低分辨图像块,都将其对应的相似度最大的Ref特征块替换到LR中,替换图像块之间的重叠部分取各块的平均值作为最终值。需要注意的是, IRef↓↑用于计算相似度,但原始Ref IRef用于替换,以便保留原始参考的HR信息。

PS:实际操作中,每个patch都是3*3的大小,上面公式中的x,y是中间像素的坐标,就是,整体是以x,y为中心的3*3patch做拼接的 所以会有重叠部分。这种patch match任务中,patch的大小有时候会对最终的效果有不小的影响。

2.2 纹理转换

纹理转换通过将多个替换得到的纹理特征图合并到对应于不同尺度的不同特征词的深度网络中。纹理迁移网络利用原始的低分辨图像和交换特征图M从高级别到低级别逐步恢复超分辨图像,每个纹理级别的迁移过程都是相同的,但是输出的图像尺寸会越来越大,单个级别的纹理迁移网络结构:

首先将特征替换部分得到的特征图M与该级别的输入图像进行拼接,然后通过残差网络块学习纹理特征,将学到的纹理特征合并到输入图像,使用子像素卷积(sub-pixel conv)将合并后的图像放大两倍并将其输出至下一层。

PS: sub-pixel conv

Sub-pixel结构在pytorch中,实际是[conv,pixel-shuffle]的过程,前一个conv是扩张channel,例如,2x的upsample的话 就需要用conv将channel扩大到原来的4倍。另外就是,pixel-shuffle不一定比bicubic upsample效果好,需要看具体情况。

当所有纹理级别都迁移完毕,在最后一层获取超分辨图像时将直接输出合并图像,不再使用子像素卷积进行2倍放大。

2.3 损失函数

为了1)保留LR图像的空间结构,2)提高SR图像的视觉质量,3)利用Ref图像的丰富纹理,目标函数使用重建损失reconstruction loss L(rec)、感知损失perceptual loss L(per),对抗性损失adversarial loss L(adv),纹理损失texture loss L(tex)。其中重构损失被绝大部分SR方法采用,感知损失和对抗损失被其他研究证明能够提高视觉质量,而纹理损失是作者专门针对RefSr方法定义的损失,目的是使超分辨图片的纹理与交换特征图的原理尽量相似。

reconstruction loss

旨在实现更高的PSNR,通常以均方误差(MSE)来衡量。 在本文中,采用1范数

perceptual loss

其中V和C分别表示特征图的体积和通道数,而φi表示从VGG19模型的隐藏层提取的特征图的第i个通道。 F表示弗罗贝尼乌斯范数

Adversarial loss

对抗性损失可以显着提高合成图像的清晰度/视觉质量。这里使用WGAN-GP loss,其中D是1-Lipschitz函数,Pr和Pg分别是模型分布和实际分布。

texture loss

其中Gr为计算Gram矩阵,lambda是对应层l的特征尺寸的归一化因子,S*l 是包含每一个LR块对应的最高的Ref块的相似度。该loss使得与ILR不同的纹理将具有较低的权重,因此在纹理转移中受到较低的惩罚。

posted @ 2019-07-23 18:02  浩小浩  阅读(2878)  评论(0编辑  收藏  举报