目录
课程主要内容
1. 图像超分辨率 Super Resolution
图像超分的解决思路:
1.1 经典方法:稀疏编码
深度学习时代的超分辨率算法
1.2 基于卷积网络SRCNN和FSRCNN
1.2.1 SRCNN
性能评价
1.2.2 FSRCNN Fast SRCNN 2016 <--fast rcnn:
1.2.3 SRResnet 2016
1.3 损失函数与模型评估in super res
感知损失 VS 均方误差
感知损失函数:特征重构损失函数
模型评估:PSNR
1.4 对抗生成网络GAN简介
应用
什么对抗生成网络
GAN原理
图像数据在高维空间中的分布
GAN应用
1.5 超分辨率模型中的GAN: SRGAN 2017、ESRGAN 2018
1.5.1 SRGAN
1.5.2 ESRGAN 2018
1.6 视频超分辨率介绍
视频还原的典型流程
1.6.1 EDVR 2019
可变形卷积
参考资料
图像超分辨率的目标:
以往未使用AI技术时通过双线性或双立方插值来提高图像的分辨率,但是只能简单地提高分辨率并不能生成真实的内容,不能恢复图像的高频细节恢复图像的细节
图像超分辨率的应用:
通过无监督学习从图像中获取一组图像基块,使得图像中任意一个区域可以由数个基块图像线性组合而成
训练过程中通过低分辨率的学习高分辨率的稀疏矩阵
推理过程中通过低分辨率转化为高分辨率的基块图像,然后再组成高分辨率的图像
缺点:即便已经学习出稀疏矩阵,对低分辨率和高分辨率的权重和系数的学习仍然是一个相对复杂的优化问题难以收敛,训练和推理都十分耗时
改进:香港中文CNN
基于卷积网络和普通损失函数
使用卷积神经网络,端到端从低分辨率图像恢复高分辨率图像
代表算法 : SRCNN 与 FSRCNN
使用生成对抗网络
采用生成对抗网络的策略,鼓励产生细节更为真实的高分辨率图像
代表算法: SRGAN 与 ESRGAN
SRCNN先对低分辨率的图像进行双线性插值使其大小和高分辨率一致,再输入到卷积网络
SRCNN 的单个卷积层有明确的物理意义
第一层: 图像块特征提取和表示:提取图像块的低层次局部特征,在ImageNet数据集上训练的SRCNN可以学习到不同的低层次特征所对应的卷积核。
第二层: 非线性映射:对低层次局部特征进行非线性变换,得到高层次特征。非线性映射可以有很多层,但实验表明只应用单层卷积层就可以达到较好的效果。
第三层: 高分辨率图像重构:组合邻域内的高层次特征,恢复高清图像。输入是第二层的特征图,第三层的卷积核对应高分辨率基底,用F2(Y)中的系数对高分基底加权求和即可得到高分图像块。第三层卷积完成这个过程。
峰值信噪比(peak signal to noise ratio, PSNR)
最大信号能量与平均噪声能量的比值,值越大,表明恢复效果越好。
SRCNN缺点
SRCNN先在低分图像上进行插值,然后再高分下进行卷积。
由于进行插值时不产生额外的信息,因此产生了一定的冗余计算,所以SRCNN的速度非常慢,达不到实时的标准
在SRCNN的基础上做了改进
优点:
(1)仅用CPU便可达到实时推理的标准
(2)训练方便,处理不同的上采样倍数时,只需微调转置卷积的权重即可
缺点:
其实是转置卷积的缺点,当卷积核的size和步长stride不等时,便会在不同的位置叠加不同次数的合成,造成不均匀的重叠现象,称为棋盘格效应,降低生成高分辨率图像的质量。
棋盘格效应往往出现在图像上比较强烈的地方。
棋盘效应优化:有两种方法可以处理
(1)先对特征图进行最近邻插值或者线性插值等上采样操作,放大特征图,在进行卷积,缩小到原来的输出尺寸
(2)次像素卷积提供了另一种上采样方案,先将原图卷积成 rxr 通道的特征图,再把每个位置的所有通道的特征图摊平成rxr面积的图像,这样便把原图放大r倍
随着残差网络的发布,一些旧的模型也得到升级
将原来SRCNN的主干网络替换成残差模块便是SRResnet
MSE(Mean Square Error)逐像素计算恢复图像和原高分图像的平方误差
最小化算是函数即可鼓励网络完美恢复高分辨率图像
比较恢复图像与原始高分图像的语义特征,并计算损失
常见做法
是用一个在imagenet上训练好的vgg网络去获取恢复图像和原始高分图像的特征,然后计算损失
减少特征重构损失:输出图像在感知上与目标图像相匹配,不要求两者完全一致
峰值信噪比(Peak signal-to-noise ratio,PSNR)为最大信号能量与平均噪声能量的比值,值越大恢复效果越好
之前介绍的都是监督学习,学习数据对之前的关系
而gan是一种无监督学习,学习的是数据结构的概率分布
(1)gan生成逼真人脸
(2)使用gan转译图像
(3)使用gan进行超分辨率任务
对抗生成网络是一种基于神经网络的无监督学习模型,可以建模数据的分布,并通过采样生成新数据。
通过数据集训练出一个符合训练数据结构的概率分布G
然后通过任意的输入z从概率分布G上采集数据
在训练时,在引入一个判别网络来判断生成数据的真假
图像在高维空间是一个数据点。通过数学函数,可以将高维数据点映射到低维空间上,也可以从低维空间映射到高维空间。
映射函数G由神经网络构成。
GAN的优化
生成器希望样本输出都是真的
判别器则是希望生成器的输出都是假的,训练的样本都是真的
前面介绍的SRCNN产生的图像过于平滑,而gan则是能生成细节更为丰富,更为真实的高清图像
在SRResNet的基础上改成gan的结构,便是SRGAN
和SRResNet是同一篇论文里提出来的,E-->Enhanced
SRGAN在训练时,同时优化三个损失
改进方案:
(0)使用RRDB(Residual in Residual Dense Block)替换原来时残差模块(RB,residual block)
因为RB的BN层在超分辨网络中会产生一些负面效果
引入三个dense block,block之间用一个衰减因子β链接,使得三个模块的输出都乘以β在输出到下一层,提高训练稳定性
(1)使用Ragan结构替换gan结构
ragan的判别器会判断真是图像是否比生成图像更真实,生成图像是否比真是图像更虚假
(2)使用非线性激活前的响应计算感知损失
ESRGAN 评价
Enhanced Deformable networks, termed EDVR
https://xinntao.github.io/projects/EDVR
EDVR: Video Restoration with Enhanced Deformable Convolutional Networks
该卷积核中具备增加的偏移量,使得采样位置能够灵活变化
将参考帧与相邻帧拼在一起在送入卷积网络中得到这一帧的可学习的偏移量,再将偏移量送入可变形卷积网络中对相邻帧进行卷积,便可获得对齐后的帧
BasicVSR
https://bbs.csdn.net/topics/616053009
https://bbs.csdn.net/topics/616004918
https://bbs.csdn.net/topics/616004222
https://bbs.csdn.net/topics/615984763