SRCNN论文与应用简介:基于深度学习的图像超分辨率方法

时间:2024-03-31 07:55:09

版权声明: 未经同意,禁止转载。(更新时间:2020-10-08) |  个人笔记,仅供参考。

本文属于:动漫线稿自动上色-系列论文解读


目录

1. 论文基本信息

2. 线稿自动上色与超分辨率

3. 超分辨率网络的其他典型应用

3.1 放大图像(同时也可为图像降噪)

3.2 加速3D游戏渲染,助力“光线追踪”


1. 论文基本信息

研究领域: 数字图像处理/计算机视觉,计算摄影学(Computational Photography),图像超分辨率(Image Super-Resolution, SR),深度学习

 

1)会议版本:

会议论文标题:Learning a Deep Convolutional Network for Image Super-Resolution

                         基于深度卷积神经网络的图像超分辨率模型(SRCNN

发表会议:Proceedings of European Conference on Computer Vision (ECCV), 2014 (CCF B类会议)

引用次数:2557次 (截至2020.10)

作者:Chao Dong, Chen Change Loy, Kaiming He, Xiaoou Tang

论文链接:(1) CUHK

论文主页:链接

 

2)期刊改进版本:

论文标题:Image Super-Resolution Using Deep Convolutional Networks

                  基于深度卷积神经网络的图像超分辨率模型(SRCNN改进版本)

发表期刊:IEEE Transactions on Pattern Analysis and Machine Intelligence (TPAMI) ( Volume: 38 , Issue: 2 , Feb. 1 2016 )(CCF A类期刊)

引用次数:3620次 (截至2020.10)

论文链接:(1) ArXiv  (2) IEEE Xplore

研究意义

SRCNN是图像超分辨率的标志性工作,对后续研究产生了重要影响。相关论文被*国际期刊TPAMI评选为20163月至今最受欢迎文章之一 [ref-3]

2. 线稿自动上色与超分辨率

问题:基于深度学习的线稿自动上色软件中,为什么要使用图像超分辨率网络?

笔者认为主要原因在于,训练高分辨率的自动上色网络,所需的显存要大得多,训练时间会长得多,而且网络收敛的调参难度应该也会随之增大。所以,很多线稿自动上色软件(如:Style2PaintsPaintsTensorflow)采用的方案为:先由上色网络生成一个较低分辨率的上色结果,然后再将其放大为高分辨率图像。为了尽量减少放大图像带来的模糊问题,放大时使用“图像超分辨率网络”代替传统的插值算法。

下图为PaintsTensorflow的网络架构图。(PaintsTensorflow模仿了Style2Paints的网络架构。)它先生成分辨率为512×512px的上色结果,再将其放大为原来的2倍。

SRCNN论文与应用简介:基于深度学习的图像超分辨率方法
PaintsTensorFlow网络架构:(a) 草图模型 + (b) 精修模型 + (c) 图像超分辨率模型

3. 超分辨率网络的其他典型应用

3.1 放大图像(同时也可为图像降噪)

目前已有很多用于图像、视频的超分辨率软件。(注:“视频超分辨率”为离线处理视频文件,即需要转换视频文件后才能观看,无法实时超分辨率。)

例如:

(1)waifu2x 用于动漫图像的超分辨率的软件(基于SRCNN网络)

GitHub仓库:nagadomi/waifu2x

在线演示链接

 

(2)Waifu2x-Extension-GUI (整合了多种超分辨率网络,开箱即用,支持GPU加速)

GitHub仓库:AaronFeng753/Waifu2x-Extension-GUI


另外,Apple 2020年秋季发布会上,展示了照片处理应用Pixelmator Photo App中的ML Super Resolution技术。演示时展示了一个非常实用的应用场景:提升剪裁后图像的分辨率,使剪裁后的照片更清晰

SRCNN论文与应用简介:基于深度学习的图像超分辨率方法
【GIF】 Pixelmator Photo App中的ML Super Resolution技术 [ref-1]

 

3.2 加速3D游戏渲染,助力“光线追踪”

受限于造价、发热量等因素,个人电脑上显卡的计算能力是非常有限的。而交互式3D游戏要求显卡进行实时渲染运算(无法使用预先计算的方法进行加速)。包含光线追踪、高清画质的3D游戏虽然能带来更好的游戏体验,但对显卡的计算能力提出了更高的要求。(附:RTX 2070显卡“实时光线追踪”效果演示:NVIDIA官方演示。)

自2018年开始流行的“实时光线追踪”(Realtime Ray Tracing)的计算量非常大,使得很多显卡出现渲染时帧数显著下降等问题。那么,如何解决计算量大的3D渲染算法与有限的GPU算力之间的矛盾?

为解决这一问题,NVIDIA提出了DLSS(deep learning super-sampling,深度学习超级采样)技术。该技术可在GPU仅渲染四分之一半数像素的前提下,提供与原始分辨率相媲美的画质

使用DLSS后,能够显著提升游戏帧率,帧率对比如下图所示。另外,DLSS甚至还能增强游戏画质。这是因为:光线追踪一般为可配置为不同的级别,级别越高,效果越逼真,但运算量越大。使用DLSS后GPU只需渲染较低分辨率的画面,所以用户可把多余的GPU算力用于调高光线追踪设置。

SRCNN论文与应用简介:基于深度学习的图像超分辨率方法
开启/关闭DLSS,游戏帧率对比 [ref-2]

 

 从整体上看,该技术分为软件和硬件两部分,软件(算法)部分使用基于深度学习的超分辨率网络;硬件部分使用专用芯片(Tensor Core)加速超分辨率网络的运算(需要使用指定型号的GPU),以实现每秒60帧以上的“实时超分辨率运算”。(笔者推测,为显卡增加专用神经网络加速芯片的成本,要远低于增加GPU渲染处理单元的成本。)

关于DLSS技术的详细介绍与视频演示,请参阅:

(1)深度学习超级采样(DLSS)技术 | NVIDIA

(2)NVIDIA DLSS 2.0:AI 渲染领域的一大步


参考与引用资料:

[ref-1] Apple 2020年9月16日秋季发布会

[ref-2] 深度学习超级采样(DLSS)技术 | NVIDIA

[ref-3] Chen Change Loy - Profile