1. 模型介绍

1.1 退化模型

首先训练数据使用了2个first-order:

最后一步加入了振铃和过冲现象:

1.2 SRCNN

将CNN用到超分领域的第一篇文章:

论文中卷积核和通道数的实验设置为:

1.3 SRGAN

SRGAN将GAN引入超分领域,用于解决如下问题:
1)高频细节(high-frequency details) 的丢失,整体图像过于平滑/模糊;
2)与人的视觉感知不一致,超分图像的精确性与人的期望不匹配(人可能更关注前景,而对背景清晰度要求不高)。

提出如下改进:

  • 新的backbone:SRResNet;
  • GAN-based network 及 新的损失函数:
  • adversarial loss:提升真实感(photo-realistic natural images);
  • content loss:获取HR image和生成图像的感知相似性(perceptual similarity),而不只是像素级相似性(pixel similarity);或者说特征空间的相似性而不是像素空间的相似性。
  • 使用主观评估手段,更加强调人的感知。

模型结构如下,Generator网络是SRResNet,论文使用了16个residual blocks;Discriminator网络为8次卷积操作(4次步长为2)+2次全连接层的VGG网络。

1.4 ESRGAN

enhanced SRGAN,主要解决细节模糊和伪影问题。

  • SRResNet网络结构的改进:
    1)移除BN,有利于去除伪影,提升泛化能力;
    2)使用Residual-in-Residual Dense Block (RRDB)作为基本构建模块,更强更易训练;
  • GAN-based Network的损失函数的改进:使用RaGAN (Relativistic average GAN)中的相对损失函数,提升图像的相对真实性从而恢复更多的纹理细节;
  • 感知损失函数的改进:使用VGG激活层前的特征值计算重构损失,提升了亮度的一致性和纹理恢复程度。

2. 快速上手

2.1 各种资源

绿色版的exe文件参见github,支持windows,linux,mac和NCNN
在线版本:https://huggingface.co/spaces/akhaliq/Real-ESRGAN
使用方法:./realesrgan-ncnn-vulkan.exe -i 二次元图片.jpg -o 二刺螈图片.png -n realesrgan-x4plus-anime
参数如下:

Usage: realesrgan-ncnn-vulkan.exe -i infile -o outfile [options]...-h                   show this help-i input-path        input image path (jpg/png/webp) or directory-o output-path       output image path (jpg/png/webp) or directory-s scale             upscale ratio (can be 2, 3, 4. default=4)-t tile-size         tile size (>=32/0=auto, default=0) can be 0,0,0 for multi-gpu-m model-path        folder path to the pre-trained models. default=models-n model-name        model name (default=realesr-animevideov3, can be realesr-animevideov3 | realesrgan-x4plus | realesrgan-x4plus-anime | realesrnet-x4plus)-g gpu-id            gpu device to use (default=auto) can be 0,1,2 for multi-gpu-j load:proc:save    thread count for load/proc/save (default=1:2:2) can be 1:2,2,2:2 for multi-gpu-x                   enable tta mode"-f format            output image format (jpg/png/webp, default=ext/png)-v                   verbose output

目前已有的模型:
realesrgan-x4plus(默认)效果清晰,偏向于脑补;
reaesrnet-x4plus(效果模糊,偏向于涂抹)
realesrgan-x4plus-anime(针对动漫插画图像优化,有更小的体积)
realesr-animevideov3 (针对动漫视频)
这个是未来的计划:

2.2 github上原代码

git clone https://github.com/xinntao/Real-ESRGAN.git
cd Real-ESRGAN
# 安装 basicsr - https://github.com/xinntao/BasicSR
# 我们使用BasicSR来训练以及推断
pip install basicsr
# facexlib和gfpgan是用来增强人脸的
pip install facexlib
pip install gfpgan
pip install -r requirements.txt
python setup.py develop
wget https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth -P experiments/pretrained_models

然后执行:

python inference_realesrgan.py -n RealESRGAN_x4plus -i inputs --face_enhance

2.3 训练和微调

参考https://github.com/xinntao/Real-ESRGAN/blob/master/docs/Training_CN.md
微调时,可以使用程序自带的降级模型,也可以自备数据对。

深度学习系列48:超分模型Real-ESRGAN相关推荐

  1. 《深度学习》图像超分初识

    一:简介 图像超分(super-Resolution)是将低分辨率的图像或者视频序列恢复出高分辨率图像. 可以用在视频数字高清播放,视频监控,视频编码,图像还原和医学影像等领域,按照类别可分为单个图像 ...

  2. 深度学习磁共振图像超分与重建论文阅读

    深度学习磁共振图像超分与重建算法研究 Super-resolution reconstruction of MR image with a novel residual learning networ ...

  3. 深度学习系列--1.入坑模型: 线性回归,logistic 回归,softmax分类器

    惭愧啊,读研的时候学得正是模式识别:当看着书本上都是公式推导.博士师兄们也都在公式推导研究新算法的时候,排斥心理到了顶点,从此弃疗. 工作三年,重新捡起,因为更关注实际操作,所以选择了<pyth ...

  4. SRCNN-基于深度学习的图像超分入门

    图像超分 图像超分辨率问题定义: 输入一张低分辨率图像时(low resolution,LR),通过算法,输出一张高分辨率图像(high resolution,HR) 传统的图像插值算法可以在某种程度 ...

  5. 深度学习系列37:CLIP模型

    1 模型说明 含义:CLIP(Contrastive Language-Image Pre-training) git地址:https://github.com/openai/CLIP paper:h ...

  6. 深度学习图像融合_基于深度学习的图像超分辨率最新进展与趋势【附PDF】

    因PDF资源在微信公众号关注公众号:人工智能前沿讲习回复"超分辨"获取文章PDF 1.主题简介 图像超分辨率是计算机视觉和图像处理领域一个非常重要的研究问题,在医疗图像分析.生物特 ...

  7. 深度学习系列笔记——贰 (基于Tensorflow2 Keras搭建的猫狗大战模型 三)

    深度学习系列笔记--贰 (基于Tensorflow Keras搭建的猫狗大战模型 一) 深度学习系列笔记--贰 (基于Tensorflow Keras搭建的猫狗大战模型 二) 前面两篇博文已经介绍了如 ...

  8. 吴恩达.深度学习系列-C4卷积神经网络-W2深度卷积模型案例

    吴恩达.深度学习系列-C4卷积神经网络-W2深度卷积模型案例 (本笔记部分内容直接引用redstone的笔记http://redstonewill.com/1240/.原文整理的非常好,引入并添加我自 ...

  9. 深度学习系列笔记——贰 (基于Tensorflow Keras搭建的猫狗大战模型 一)

    猫狗大战是著名的竞赛网站kaggle几年前的一个比赛,参赛者得到猫狗各12500张图片,作为训练集,另外还会得到12500张猫和狗的图片,作为验证.最后提交结果至kaggle平台,获得评测分数. 本篇 ...

最新文章

  1. Linux下高并发socket最大连接数所受的各种限制
  2. 如何在超大分辨率的图片中检测目标?
  3. R数据可视化--ggplot2定位之坐标系详解
  4. 小议看板列与职能筒仓
  5. LeetCode 1626. 无矛盾的最佳球队(最大上升子序DP)
  6. java开发中spring常用的工具类
  7. 美国“四院院士”特伦斯谈人工智能“瓶颈”:远未达极限,数学家已经有了实现AI可解释性的理论工具...
  8. java复习系列[6] - Java集合
  9. MVVM框架从WPF移植到UWP遇到的问题和解决方法
  10. Java的jdk1.6与jre1.8中存在的差异
  11. 0505.Net基础班第二十天(基础加强总复习)
  12. java 封装dll_java调用C#封装的DLL文件
  13. LOJ#2343. 「JOI 2016 Final」集邮比赛 2
  14. c++ 0x3f 0x3f3f 0x3f3f3f 0x3f3f3f3f的具体值
  15. 百宝,神烦云免费网络验证autojs实例代码
  16. 何为裂变?上百个裂变营销活动让我揭开了其神秘面目!
  17. 韩天峰 - Swoole4-全新的PHP编程模式
  18. Windows进行Java Web开发,电脑上安装什么?
  19. Netty学习笔记(一)--- 初识Netty
  20. 如何用nginx部署静态网站

热门文章

  1. 英利启动资产债务重组 否认退出光伏行业
  2. string字符串去掉引号
  3. oracle索引与序列
  4. 江苏省2021年新高考适应考试成绩查询,2021年江苏省新高考适应性考试成绩查询时间...
  5. JAVA 修饰符笔记
  6. Vue笔记(五)—— Vue render渲染/组件嵌套之iView官网案例改写Table表格组件及Modal弹窗/对话框/模态框组件内容自定义详解
  7. goto+双指针运用示例
  8. H3C交换机Console密码忘记处理方法
  9. 4-4 jitsi meet sdk android 编译总结
  10. Siamese Network (应用篇3) :孪生网络用于图像块匹配 ACCV2016