高性能图像放大算法——waifu2x方法
1. 前言
在前面的博客中介绍了hqx图像放大算法,其图像放大的效果是好于传统的双线性插值、三次插值算法的。但是在图像放大倍数较高的时候图像中的边缘还是存在锯齿的现象。但是其也有很明显的优点,那就是速度快。
在本文中主要讨论的是waifu2x方法。该方法的思想:即是训练一个端到端的网络,使用低分辨率的图像作为输入得到对应的高分辨率结果图像,最后得到的结果在图像的锯齿与模糊程度有较好表现,其训练的原理类似于FCN模型。该方法支持三通道的彩色图像作为输入,输出其经过放大的结果。下面是论文中的结果图:
SRCNN(Super-Resolution Convolutional Neural Network)在PSNR性能评价指标上是好于双三次插值算法与基于稀疏编码的方法的。
2. 具体实现思路
2.1 构想
将一幅低分辨率的图像使用双三次插值进行放大得到图像Y,使其与对应分辨率的ground truth图像X有相同的大小尺寸,现在就是要寻找到F(Y)变换关系使得其与X尽可能的相似。因而可以将其分为三步走:
1. 图像区块提取与表示:这一步就是使用一个窗在图像中进行截取,之后通过运算之后得到一个高维的特征向量。
2. 非线性映射:将高维的特征向量映射到另外一个高维的特征向量
3. 重建:产生与ground truth近似的结果
其构想为:
2.2 图像区块提取与表达
这一步就是使用个卷积核()和去卷积图像,卷积核的大小通常设置为9,c是图像通道。
则该步输出的结果为:
2.3 非线性映射
这里使用的是个卷积核(),通常的大小设置为1。
该步输出的结果为:
2.4 重建
这里卷积核的大小通常为5
4. Reference
- 论文:[1] Chao Dong, Chen Change Loy, Kaiming He, Xiaoou Tang, “Image Super-Resolution Using Deep Convolutional Networks”, http://arxiv.org/abs/1501.00092
- 在线演示网址:http://waifu2x.udp.jp/
- 本文vs2013、opencv3演示封装代码:链接