​图像超分辨率是指由一幅低分辨率图像或图像序列恢复出高分辨率图像。图像超分辨率技术分为超分辨率复原和超分辨率重建。一位 Reddit 网友贴出了自己基于 Keras 的图像超分辨率项目,可以让照片放大后依然清晰。

该项目包含不同残差密集网络的 Keras 实现,它们可用于高效的单图像超分辨率(Image Super Resolution,ISR)。同时作者还提供了各种文档资料以帮助训练模型,包括如何使用对抗损失组件训练这些网络。

作者表示,该项目旨在改善低分辨率图像的质量,使其焕然一新。使用该工具可以对图像进行超级放缩,还能很容易地在 RDN 和 GAN上进行实验。

下图示例使用的放大因子(upscaling factor)为 2,即像素数扩大两倍。

左图为原始的低分辨率图像,中间图为该网络的输出结果,右图为使用 GIMP bicubic scaling 得到的基线模型放大结果。

超分辨率项目使用

前面展示的超分辨率效果都是根据该项目实现的不同模型做出来的。超分辨率希望根据已有的图像信息重构出缺失的图像细节,它通常借助卷积神经网络抽取图像信息,再通过转置卷积将这些信息扩展到希望获得的图像分辨率。

在这个项目中,作者新增了很多模块与特征,例如使用 VGG 与 GAN 实现真实的放大图像。该项目主要实现的是 RDN 与 RRDN 网络,且同时还提供了预训练权重和 Colab 教程。不论是训练还是推断,根据这些资料我们都可以快速上手。

文档:https://idealo.github.io/image-super-resolution/

代码:https://github.com/idealo/image-super-resolution/

Colab 推断代码:https://colab.research.google.com/github/idealo/image-super-resolution/blob/master/notebooks/ISR_Prediction_Tutorial.ipynb

Colab 训练代码:https://colab.research.google.com/github/idealo/image-super-resolution/blob/master/notebooks/ISR_Traininig_Tutorial.ipynb

安装:pip install ISR

如果我们需要扩展低像素图像,简单两步就能借助 ISR 执行超分辨率。首先加载图像并做一定的预处理:

import numpy as np
from PIL import Image
​
img=Image.open('test.jpg')
lr_img=np.array(img)/255
print(lr_img.shape)
lr_img=np.expand_dims(lr_img,axis=0)
print(lr_img.shape)
​
#加载模型并执行预测
from ISR.models import RDN
​
rdn=RDN(arch_params={'C':6,'D':20,'G':64,'G0':64,'x':2})
rdn.model.load_weights('weights/rdn-C6-D20-G64-G064-x2_enhanced-e219.hdf5')
​
sr_img=rdn.model.predict(lr_img)[0]
print(sr_img.shape)
​
sr_img=sr_img.clip(0,1)*255
sr_img=np.uint8(sr_img)
img_new=Image.fromarray(sr_img)
img_new.show()
img_new.save('img_new.jpg'

网络架构与超参数

实际上,如果我们需要重新训练,那么还需要了解具体的参数都表示什么。这一部分介绍了各超分辨率网络的架构与对应超参数。

RDN Network architecture

论文地址:https://arxiv.org/abs/1802.08797

RDN 架构的主要参数如下:

D:残差密集块(Residual Dense Blocks ,RDB)数量

C:一个RDB内部堆叠的卷积层数量

G:RDB 内部每一卷积层的特征图数量

G0:每一个RDB 的卷积层的特征图数量

RRDN Network architecture

论文地址:https://arxiv.org/abs/1809.00219

RRDN 架构的主要参数如下:

T:残差密集块内的残差数量

D:一个RRDB 内部的残差密集块(RDB)的数量

C:一个RDB 内部堆叠的卷积层数量

G:RDB 内部每一卷积层的特征图数量

超像素分割算法matlab_像素不够,算法来凑。这个图像超分辨率项目帮你「拍」出高清照片...相关推荐

  1. B站开源自研动漫超分辨率模型,助力动漫UGC视频高清化

    点击上方"LiveVideoStack"关注我们 人类对于视频画质的升级是一个永无止尽的过程.从马赛克到高清画质,从720P到4K,视频平台正在不断提升画质,但目前各大视频平台的超 ...

  2. 图像超分算法SRLUT: Practical Single-Image Super-Resolution Using Look-Up Table图像超分辨率重建

    这篇文章是首次将查表法引入SR领域.将SR网络训练好的缩放像素值存在表中,在测试阶段只需要在表中查找对应值,就能完成图像重建任务.由于该方法不需要大量的浮点运算,因此可以非常快速地执行. 原文链接:S ...

  3. 电脑做照片视频的软件用哪个?3步制作高清照片视频,超多酷炫转场效果

    电脑做照片视频的软件用哪个?在电脑上用什么软件做照片视频?如何快速做一个效果精美的高清照片视频? 今天直接教大家我一直在用的数码大师,做一个高清的精美照片视频吧,这里分享我的制作教程和效果截图: 在电 ...

  4. 论文解读:《自适应非局部随机游动用于图像超像素分割》

    论文解读:<Adaptive Nonlocal Random Walks for Image Superpixel Segmentation> 1.文章概述 2.背景 2.1 现有的超像素 ...

  5. 一文掌握图像超分辨率重建(算法原理、Pytorch实现)——含完整代码和数据

    目录 一.  图像超分辨率重建概述 1. 概念 2. 应用领域 3. 研究进展 3.1 传统超分辨率重建算法 3.2 基于深度学习的超分辨率重建算法 二.  SRResNet算法原理和Pytorch实 ...

  6. 图像超分辨率重建算法,让模糊图像变清晰(附数据和代码)

    一.  图像超分辨率重建概述 1. 概念 图像分辨率是一组用于评估图像中蕴含细节信息丰富程度的性能参数,包括时间分辨率.空间分辨率及色阶分辨率等,体现了成像系统实际所能反映物体细节信息的能力.相较于低 ...

  7. 杜克大学提出 AI 算法,拯救渣画质马赛克秒变高清

    来源:HyperAI超神经 本文约1900字,建议阅读7+分钟 高清无码不是梦. 场景描述:将"马赛克"像素级别的大头照转换成高清照片,是一种怎样的体验?杜克大学提出的 AI 算法 ...

  8. 拯救渣画质,马赛克图秒变高清,杜克大学提出AI新算法

    作者 | 神经小兮 来源 | HyperAI超神经(ID: HyperAI) 导语:将「马赛克」像素级别的大头照转换成高清照片,是一种怎样的体验?杜克大学提出的 AI 算法,不仅可以「去掉马赛克」,还 ...

  9. 不同分辨率图片匹配_杜克大学开源 AI 算法,让马赛克图片秒变高清!

    公众号关注 "GitHubDaily" 设为 "星标",每天带你逛 GitHub! 大家好,我是小 G.在这个追求高清画质的时代,我们对渣画质的容忍度越来越低. ...

最新文章

  1. python冒泡排序
  2. 福建2020年3月计算机二级报名时间,福建2020年3月计算机二级考试报名时间安排...
  3. python自动下载app_APP自动化之安装Python(类库)环境
  4. ASP.NET数据库访问系列教程01-概述篇 创建数据访问层(中)
  5. 算法训练营 重编码_参加编码训练营之前要考虑的7件事
  6. 4025-数组的正负排序(C++,双指针法,附思路)
  7. 华为发布最强 AI 处理器昇腾 910,全场景 AI 框架 MindSpore 将开源
  8. 数学归纳法的相关证明
  9. 2 java内存模型是什么_java中内存模型是什么?有什么用?
  10. GeoPandas入门 | 03-空间关系和操作
  11. PTA 基础编程题目集 7-15 计算圆周率 C语言
  12. Java 18 新特性
  13. matlab 动平衡,运用labview和matlab混合编程实现转子动平衡的测试与控制
  14. 静态代理和动态代理区别(是否有实现类)
  15. 电脑蓝屏提示unexpected store exception的解决方法
  16. 《自然语言处理入门》何晗阅读笔记—第1章:自然语言处理基础概念
  17. Luogu5234[JSOI2012]越狱老虎桥
  18. Chrome常见黑客插件及用法
  19. 日记侠:朋友圈未死,从今天起,你要开始赋能朋友圈
  20. 浅谈5G网络及其应用

热门文章

  1. 计算机编程英语怎么写,计算机编程英语词汇大全.pdf
  2. 用python实现一个密码生成程序_Python实现密码生成器
  3. java撤销上一步_CAD快速入门技巧:CAD软件中撤销操作的方法汇总
  4. php开发大型网站如何优化,PHP编写大型网站问题
  5. OpenShift 4 之通过ImageTrigger自动构建变化级联镜像
  6. VSCode 1.35 发布,新的图标,支持远程开发
  7. list redis 怎样做排行_list类型的应用场景 —— Redis实战经验
  8. chk mysql.sh_zabbix监控mysql_MySQL
  9. 金蝶kis云+sqlserver报表分析
  10. vba put 语名 delphi 用什么语句_将VBA数组写入工作表时转置(Transpose)的利用