底层视觉
视频学习地址:https://www.bilibili.com/video/BV1hu4y1o7jU
概念
图像超分辨率:根据从低分辨率图像重构高分辨率图像
目标
-
提高图像的分辨率
-
高分图像符合低分图像的内容
-
恢复图像的细节、产生真实内容
应用
-
经典游戏高清重制
-
动画高清重制
-
照片修复
-
节约传输高清图像的带宽
-
民生领域
类型
- 多图超分
- 单图超分
解决思路:
- 给予已知数据学习高低分辨率图像之间的关系
- 在符合先验知识的条件下恢复高清图像
目标:内容更真实,细节更丰富
经典方法
稀疏编码:
通过无监督学习方法:构建一组“基图像块” ,使得图像中的任意一块区域可以由少数基图像块线性组合而成
缺点:
即便已经学习出字典,对低分辨率图像块进行系数分解,得到系数仍然是一个相对复杂的优化问题
深度学习时代的超分辨率算法
基于卷积网络和普通损失函数
使用卷积神经网络,端到端从低分辨率图像恢复高分辨率图像
代表算法:SRCNN与FSRCNN
使用生成对抗网络
采用生成对抗网络的策略,鼓励产生细节更为真实的高分辨率图像
代表算法:SRGAN与ESRGAN
SRCNN
SRCNN是首个基于深度学习的超分辨率算法,证明了深度学习在底层视觉的可行性。
模型仅由三层卷积层构成组成,可以端到端学习,不需要额外的前后处理步骤
SRCNN的单个卷积层有明确的物理意义&
第一层:提取图像块的低层次局部特征
第二层:对低层次局部特征进行非线性变换,得到高层次特征
第三层:组合领域内的高层次特征,恢复高清图像
SRCNN的速度问题
SRCNN先对低分图像进行插值,再在高分辨率下进行卷积运算;然而插值不产生额外信息,因而产生一定的冗余计算;
在学术数据集上,SRCNN的速度在1-10FPS,达不到实时的标准
Fast SRCNN
FSRCNN在SRCNN的基础上针对速度进行两个改进
- 不适用差值,直接在低分辨率图像上完成卷积运算,降低运算量
- 使用1*1的卷积层对特征图通道进行压缩,进一步降低卷积的运算量
- 若干卷积层后再通过转置卷积层提高图像分辨率