NTIRE2020感知极限超分竞赛PI指标冠军方案
2020/6/27 6:26:25
本文主要是介绍NTIRE2020感知极限超分竞赛PI指标冠军方案,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
【Happy导语】这是今年CVPR2020中关于图像超分的文章,不同于其他方法在网络架构或者数据增广方面进行改进,该文另辟蹊径从“损失函数”入手,针对已有GAN系列的损失函数展开并未并提出了改进点。所提方法取得了NTIRE2020感知极限超分竞赛LPIPS指标亚军、PI指标冠军。所以Happy非常建议各位图像复原领域的小伙们仔细研究一下这篇文章。另,文末附论文与code下载方式。
Abstract
深度学习技术极大的提升图像超分的性能(无论是主观指标还是客观指标)。然而,已有方法最多进行x4超分问题,鲜少有进行x16超分问题研究。已有的x4超分往往采用GAN+VGG感知损失进行模型训练,然而,作者发现:这种训练机制在x16超分中会导致细节不对齐问题。
为解决上述问题,作者对损失函数问题进行了系统的分析并提出采用GAN+LPIPS进行感知极限超分训练。此外,作者还提出采用UNet架构的判别器同时考虑图像的全局与局部上下文信息。
最后,作者通过实验验证了所提方法的有效性,并取得了NTIRE2020感知极限超分LPIPS指标第二,PI指标第一的好成绩。
Method
对于x16超分而言,采用MSE几乎难以恢复图像的高频信息。因此,大多采用GAN框架进行高倍率图像超分模型训练,它包含一个生成器与一个判别器。而这篇文章则关注于模型训练过程中的损失函数设计问题。下面将从生成器、判别器以及损失函数三个方面对这篇论文进行简单的介绍。
Generator
其实对图像超分领域有所了解的朋友都应该知道:高倍率(x8,x16)超分的研究非常少,大多聚焦于(x2,x3,x4)低倍率超分研究。那么如何进行高倍率超分网络架构设计呢?
目前常用的方法是低倍率超分级联,比如要进行x16超分的话,那么采用两个x4超分级联达到x16超分的目的。而之前最知名的x4超分当属ESRGAN了,所以最近两年的超分竞赛中很多方法是在ESRGAN的基础上进行调整,比如AIM2019的几种超分方案,NTIRE2020的多种超分方案(可参考文末的推荐阅读中的其他冠军方案)。
所以,这篇论文的网络架构则是采用了相同的思路:级联x4超分ESRGAN。如上图所示,先采用ESRGAN进行4倍超分,然后进行4倍超分,从而达到16倍超分的目的。关于ESRGAN的详细描述建议感兴趣的小伙伴去看一下ESRGAN原文,因其并非本文重点,故而略过。
Discriminator
之前大多基于GAN的超分方法中的判别器往往采用编码架构,这种源自判别器的紧致表达方式用来判别图像的真假(图像级的信息反馈)。
近来,GAN领域有学者提出采用UNet的判别器架构用于提升生成器的性能。它在常规的编码架构的基础上添加解码架构,它有助于提供像素级的信息反馈,同时保持全局上下文信息。新的判别器架构如上图所示,作者发现:这种编解码判别器架构可以使得最终的生成器生成更好的纹理细节。
在实际训练过程中,判别器的损失包含两个部分:编码器部分损失于解码器部分损失。它们分别定义如下:
那么,对于生成器而言,其损失函数定义如下:
于此同时,为确保判别器聚焦于语义与结构信息,作者还额外添加了一种一致性正则项。因此,总体判别器损失定义如下:
Loss Functions
感知超分模型中损失函数的常见选择为:对抗损失与基于VGG的感知损失。这种损失组合对于x4超分表现较好,但是,作者发现:对于x16超分而言,它不能输出令人满意的结果(高频纹理细节信息较少,同时存在假性噪声)。可能这与VGG是在图像分类任务上训练的,对于超分任务并非最佳选择有关。
为解决上述问题,作者提出采用LPIPS作为感知损失,定义如下:
其中,表示特征提取函数,用于将特征差异变换到LPIPS得分。该损失的计算过程如下图所示。
除此之外,作者还采用判别器特征匹配损失消除对抗损失引入的假性噪声问题,该损失定义如下:
其中表示判别器D的第l层激活输出,表示Huber损失(即SmoothL1损失)。与此同时,作者还是会用与像素损失以避免色彩异常:
最终,得到了生成器的整体损失函数:
Experiments
训练数据采用了DIV8K(包含1500张8K分辨率训练数据,场景内容丰富)。随机裁剪了大小的图像块,并采用双三次下采样为。训练过程中选择了随机镜像、随机旋转等增广策略。验证数据则是从训练数据集中均匀选择10张。
训练细节:生成器中的leaky-relu参数为0.2,判别器的为0.1。首先采用训练50K迭代,batch=3,大概花费12小时(此时所得模型称之为Pretrained)。然后再采用前述整体损失()进行微调60K迭代,batch=2,大概花费15小时(此时所得模型称之为Ours)。优化器选择Adam,初始学习率0.00001。生成器与判别器的参数量分别为33M和13M。
首先,来对比一下Bicubic、Pretrained、常规ESRGAN寻来呢结果以及本文所提方法效果,指标对比与视觉效果对比。可以看到:(1) 更高的PSNR与SSIM并不意味着更好的视觉感知效果;而LPIPS则更好的符合人类视觉感知系统,所提方法具有最佳的LPIPS指标。(2) Adv+VGG方式训练的模型明显优于Pretrained的视觉效果,但会存在颜色失真与假性噪声问题;而本文所提方法可以很大程度上缓解上述问题,具有更自然的视觉效果。
然后,给出常规验证集(Set5, Set14, BSD100, Urban100等)上的性能与效果对比。所提方法具有更好的锐利度、细节一致性,同时具有更低的LPIPS指标。
最后,给出了所提方法在DI8K验证集上的性能与效果对比。
Conclusion
总而言之,该文从损失函数角度对x16超分问题进行了研究与分析,并针对性的提出了损失函数改进方案(LPIPS损失比VGG感知损失更适合感知极限超分)。所提方法取得了NTIRE2020感知极限超分竞赛的亚军,作者通过调整损失函数的权值取得了更进一步的性能提升。作者最后还提到:所提损失函数组合方案配合更好的生成器架构可能会得到更好的性能。
推荐阅读
CVPR2020 | 高低频分离超分方案 NTIRE2020真实世界超分竞赛冠军方案 超越RCAN,图像超分又一峰:RFANet NTIRE2020冠军方案RFB-ESRGAN:带感受野模块的超分网络 NTIRE2020图像去模糊冠军方案分享,首次解决跨设备部署问题
论文与代码下载方式
AIWalker公众号后台留言“CIPLab”,即可获得下载链接。
这篇关于NTIRE2020感知极限超分竞赛PI指标冠军方案的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-27揭秘Fluss 与 Kafka、Paimon 的区别与联系
- 2024-12-27顶级情感分析接口:7个高效API推荐
- 2024-12-26从零开始学习贪心算法
- 2024-12-26线性模型入门教程:基础概念与实践指南
- 2024-12-25探索随机贪心算法:从入门到初级应用
- 2024-12-25树形模型进阶:从入门到初级应用教程
- 2024-12-25搜索算法进阶:新手入门教程
- 2024-12-25算法高级进阶:新手与初级用户指南
- 2024-12-25随机贪心算法进阶:初学者的详细指南
- 2024-12-25贪心算法进阶:从入门到实践