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

    科技2025-04-26  9

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

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


    目录

    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)

    论文链接:(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. 线稿自动上色与超分辨率

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

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

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

    PaintsTensorFlow网络架构:(a) 草图模型 + (b) 精修模型 + (c) 图像超分辨率模型

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

    (包含SRCNN及其他超分辨率网络)

    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技术。演示时展示了一个非常实用的应用场景:提升剪裁后图像的分辨率,使剪裁后的照片更清晰。

    【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算力用于调高光线追踪设置。

    开启/关闭DLSS,游戏帧率对比 [ref-2]

     

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

     

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

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

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

    (3)DLSS 2.0技术细节介绍(NVIDIA研究员)-知乎专栏

     

    DLSS目前已集成到部分商业游戏中。如果开发者想将DLSS集成到自己的程序中,目前需要申请NVIDIA的内测资格。


    参考与引用资料:

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

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

    [ref-3] Chen Change Loy - Profile

    Processed: 0.009, SQL: 8