高性能图像放大算法——waifu2x方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m_buddy/article/details/80570835

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 图像区块提取与表达

这一步就是使用 n 1 个卷积核( c f 1 f 1 )和去卷积图像,卷积核的大小 f 1 通常设置为9,c是图像通道。
则该步输出的结果为:

F 1 = m a x ( 0 , W 1 Y + B 1 )

2.3 非线性映射

这里使用的是 n 2 个卷积核( n 1 f 2 f 2 ),通常 f 2 的大小设置为1。
该步输出的结果为:

F 2 ( Y ) = m a x ( 0 , W 2 F 1 ( Y ) + B 2 )

2.4 重建

这里卷积核的大小通常为5

F ( Y ) = W 3 F 2 ( Y ) + B 3

4. Reference

  1. 论文:[1] Chao Dong, Chen Change Loy, Kaiming He, Xiaoou Tang, “Image Super-Resolution Using Deep Convolutional Networks”, http://arxiv.org/abs/1501.00092
  2. 在线演示网址:http://waifu2x.udp.jp/
  3. 本文vs2013、opencv3演示封装代码:链接

猜你喜欢

转载自blog.csdn.net/m_buddy/article/details/80570835