ICCV2019 oral:Wavelet Domain Style Transfer for an Effective Perception-distortion Tradeoff in Single Image Super-Resolution
引言
基于低分辨率的图像恢复高分辨图像具有重要意义,近年来,利用深度学习做单张图像超分辨主要有两个大方向:1、减小失真度(distortion, 意味着高PSNR)的图像超分辨,这类方法主要最小化均方误差;2、提高感知质量(perception)的图像。这类方法主要利用GAN来做约束,使得生成的图像和真实的高分辨率图像尽可能符合相同分布。这两大方向存在一种tradeoff,因为通常低失真度(高PSNR)的图像往往感知质量不高,不符合人眼认知,而高感知质量(本文用NRQM指标度量,高NRQM)的图像,用PNSR指标衡量较低。如下图:
当前有工作考虑分别用两个网络训练生成低失真度和高感知质量的图像,再进行插值融合。然而图像的objective quality和perception quality由图像的不同部分影响,如果将目标图像作为整体优化,提高objective quality时,perception quality会下降,反之亦然。因此本文提出一种新的两图像(低失真度和高感知图像)融合策略。本文利用小波变换将图像分解成低频部分和高频部分,低频部分影响objective quality,高频部分影响perception quality.
Motivation(动机)
论文将利用CX算法得到的高分辨图像$A_p$(high perception quality)、EDSR算法得到的高分辨图像$A_o$(high objective quality)、GroundTruth进行Haar小波分解,得到一个低频子带和三个高频自带,并展示它们的直方图,发现$A_o$图像低频部分和GroundTruth对应的低频部分分布很接近,而$A_p$的三个高频子带的分布和GroundTruth对应的高频子带分布很接近。
算法:
将$A_o$分解为 $LL^{o}, LH^{o}, HL^{o}, HH^{o}$, $A_p$分解为$LL^{p}, LH^{p}, HL^{p}, HH^{p}$, 融合后的图像子带$LL^{r}$, $LH^{r}$, $HL^{r}$, $HH^{r}$.算法总体框架如下:
利用LSE网络,以$LL^{o}$作为输入恢复$LL^{r}$,利用WDST网络,以$LH^{o}$,$LH^{p}$,$LH^{r}$作为网络输入,其中$LH^{r}$作为可训练参数(具体细节后面再说)。$HL^{r}$,$HH^{r}$同理可得。
LSE网络如下:
WDST网络如下:
第一部分:重构$LL^{r}$
考虑GroundTruth的$LL^{gt}$子带和$LL^{o}$最相似,直接用$LL^{o}$恢复。利用VDSR网络思想,网络学习$LL^{gt}$和$LL^{o}$的残差。损失函数如下:
其中$LL^{r}$为$LL^{o}$和网络的输出。重构网络为LSE网络。
训练细节:
网络的训练以学习率1e-3,SGD优化算法(动量为0.9,衰减因子1e-4),梯度裁剪完成。
第二部分:重构$LH^{r}$, $HL^{r}$, $HH^{r}$
拿$LH^{r}$举例,用$LH^{o}$和$LH^{p}$融合得到$LH^{r}$.考虑到$LH^{p}$中的小波系数内容比$LH^{o}$的丰富,非0系数更多,期望将$LH^{p}$中的细节小波系数变换到$LH^{o}$中,因此将$LH^{p}$作为风格输入(style input),$LH^{o}$作为内容输入(content input)。不同于传统的风格迁移算法——输入是像素值,这里的输入小波系数,因此首先将小波系数归一化到0-1(值减去最小值,再除以最大值)
损失函数有三个:content loss($L_c$), style loss($L_s$)和$L_1$范数损失(保持重构小波系数的稀疏性)。如下:
其中
这里实际上是基于预训练的VGG作为WDST网络,只有一个参数是可训练的,那就是$LH^{r}$.
训练细节:用的L-BFGS优化算法.$\alpha=1e-3, \omega=0.2, \beta=1, \gamma=1e-5$
实验结果
定量结果(PSNR/NRQM):
定性结果:
对比实验:
1、考虑不同小波分解产生的影响:
根据实验可以看出,用不同小波分解对实验结果影响不大。
2、不同高频子带重构,对最终的影响
可以看出三个高频子带都有贡献,相比于$LH, HL$,$HH$的贡献最小,因为$HH$为对角方向信息,不如$LH, HL$他们携带的信息多。
相关链接
ICCV2019 oral:Wavelet Domain Style Transfer for an Effective Perception-distortion Tradeoff in Single Image Super-Resolution的更多相关文章
- Image Style Transfer:多风格 TensorFlow 实现
·其实这是一个选修课的present,整理一下作为一篇博客,希望对你有用.讲解风格迁移的博客蛮多的,我就不过多的赘述了.讲一点几个关键的地方吧,当然最后的代码和ppt也希望对你有用. 1.引入: 风格 ...
- 项目总结四:神经风格迁移项目(Art generation with Neural Style Transfer)
1.项目介绍 神经风格转换 (NST) 是深部学习中最有趣的技术之一.它合并两个图像, 即 内容图像 C(content image) 和 样式图像S(style image), 以生成图像 G(ge ...
- 课程四(Convolutional Neural Networks),第四 周(Special applications: Face recognition & Neural style transfer) —— 2.Programming assignments:Art generation with Neural Style Transfer
Deep Learning & Art: Neural Style Transfer Welcome to the second assignment of this week. In thi ...
- pytorch实现style transfer
说是实现,其实并不是我自己实现的 亮出代码:https://github.com/yunjey/pytorch-tutorial/tree/master/tutorials/03-advanced/n ...
- DeepLearning.ai-Week4-Deep Learning & Art: Neural Style Transfer
1 - Task Implement the neural style transfer algorithm Generate novel artistic images using your alg ...
- Perceptual Losses for Real-Time Style Transfer and Super-Resolution and Super-Resolution 论文笔记
Perceptual Losses for Real-Time Style Transfer and Super-Resolution and Super-Resolution 论文笔记 ECCV 2 ...
- fast neural style transfer图像风格迁移基于tensorflow实现
引自:深度学习实践:使用Tensorflow实现快速风格迁移 一.风格迁移简介 风格迁移(Style Transfer)是深度学习众多应用中非常有趣的一种,如图,我们可以使用这种方法把一张图片的风格“ ...
- 《Perceptual Losses for Real-Time Style Transfer and Super-Resolution》论文笔记
参考 http://blog.csdn.net/u011534057/article/details/55052304 代码 https://github.com/yusuketomoto/chain ...
- [C4W4] Convolutional Neural Networks - Special applications: Face recognition & Neural style transfer
第四周:Special applications: Face recognition & Neural style transfer 什么是人脸识别?(What is face recogni ...
随机推荐
- 使用imread()函数读取图片的六种正确姿势
OpenCV实践之路——使用imread()函数读取图片的六种正确姿势 opencv里的argv[1]指向的文件在哪里 测试 #include "opencv2/highgui/highgu ...
- Redis Distributed lock
using StackExchange.Redis; using System; using System.Collections.Generic; using System.Linq; using ...
- Apache Kafka(十二)Log Cleanup 策略
Log Cleanup 策略 在Kafka中,存在数据过期的机制,称为data expire.如何处理过期数据是根据指定的policy(策略)决定的,而处理过期数据的行为,即为log cleanup. ...
- java_基础_注解
注解(annotation),不是注释(comment) 注解可以对程序做说明,这一点和注释一样但是,注解还可以被其他程序读取,这是注释所不具备的 内置注解:@Override(表示重写父类方法)—— ...
- 解决Macbook Pro蓝牙不可用问题
谷歌搜索了下,在威锋网看到一个帖子,需要关机重置电源管理单元和系统NVRAM恢复出厂设置,具体操作如下:1.关机2.同时按下shift+control+option+power,保持5秒左右3.先按下 ...
- party lamps(dfs优化+规律枚举)
Problem description: To brighten up the gala dinner of the IOI'98 we have a set of N coloured lamps ...
- Nearest Interesting Number
Polycarp knows that if the sum of the digits of a number is divisible by 33, then the number itself ...
- 【转载】C++面试题(51-100)
转自:http://www.jobui.com/mianshiti/it/cpp/5018/ 51. 引用与指针有什么区别? 答 .1) 引用必须被初始化,指针不必. 2) 引用初始化以后不能被改变 ...
- 闲来无事.gif
- AcWing 853. 有边数限制的最短路 bellman-ford 结构体
//存在负权值 处理负环 //如果能求出来 一般是不存在负权回路 //如果有负回路 那最小距离可能是负无穷 #include <cstring> #include <iostream ...