[转载]深度学习应用到图像超分辨率重建1_vbskj的博客-程序员秘密

技术标签: Deep Learning继续学习  

超分辨率技术(Super-Resolution)是指从观测到的低分辨率图像重建出相应的高分辨率图像,在监控设备、卫星图像和医学影像等领域都有重要的应用价值。SR可分为两类:从多张低分辨率图像重建出高分辨率图像和从单张低分辨率图像重建出高分辨率图像。基于深度学习的SR,主要是基于单张低分辨率的重建方法,即Single Image Super-Resolution (SISR)。


--------------------- 
作者:alxe_made 
来源:CSDN 
原文:https://blog.csdn.net/alxe_made/article/details/80684337 
版权声明:本文为博主原创文章,转载请附上博文链接!

1. 单张图像超分辨率重建(SISR)的数学描述
SISR的数学描述可以用一下数学公式进行描述: 
Y=HX+N=D↓BX+N
Y=HX+N=D↓BX+N

其中Y∈RnY∈Rn 表示低分辨率图像LR,X∈RmX∈Rm 表示的是高分辨率图像HR, Y∈Rm×nY∈Rm×n 表示的是观测矩阵,一般情况下m> n,N是额外的噪声。图像超分辨率(SR)重建目的就是从LR中获取HR图像,一般使用最小均方误差进行重建。 
X^=argminX∥Y−HX∥22
X^=argminX‖Y−HX‖22

在一个无监督的情况下,上述方程可能具有不稳定的解,所以往往需要加入一些正则化项。但是在有监督的情况下,上述方程可以变成: 
X^=argminX∥∥X−H−1Y∥∥22
X^=argminX‖X−H−1Y‖22

在这种情况之下H−1H−1 可以看作是一个上采样操作,S↑:Rn→RmS↑:Rn→Rm 。给一个训练集合XiXi 为HR图像,所对应的YiYi 为LR图像,总共有K个样本。重建操作算子可以用以下公式进行表达: 
F^=argminF∑i=1K∥∥Xi−F(S↑Yi)∥∥22=argminF∑i=1K∥Xi−F(Zi)∥22
F^=argminF∑i=1K‖Xi−F(S↑Yi)‖22=argminF∑i=1K‖Xi−F(Zi)‖22

这里Z∈RmZ∈Rm表示对Y进行内插生成的LR图像(ILR),F是生成的ILR图像域到HR域的一个映射算子。 
由于ILR图像和HR图像在很多区域具有很强的相似性,所以在这里我们利用残差的思想,学习ILR图像到HR-ILR差异之间的映射关系,最后的方程描述如下: 
F^=argminF∑i=1K∥(Xi−F(Zi))−Zi∥22
F^=argminF∑i=1K‖(Xi−F(Zi))−Zi‖22

下图是重建的一般方法: 

è¿éåå¾çæè¿°

2. SISR常见的一些算法
因为本文针对的是利用深度学习进行图像超分辨率重建,所以一些传统的方法这里也就不介绍了,这里着重介绍一些深度学习方法。SRCNN算是将深度学习运用到超分辨重建的开山之作,后面自己也看了FSRCNN、ESPCN、VDSR、DRCN、 DRRN、 LapSRN、SRDenseNet、SRGAN(SRResNet)、EnhanceNet、EDSR等方法,这里这些方法读者可以去参考这篇博客《从SRCNN到EDSR,总结深度学习端到端超分辨率方法发展历程》[1],上面这些SR方法一部分是利用新的网络进行改进,比如利用了ResNet、GAN、Recursion、DenseNet;或者是提出或者改进一些新的损失函数,比如L2损失、L1损失、Charbonnier损失(一种L1损失的变种)、感受损失、对抗损失、纹理损失等等。这篇文章是作者2017.12提出来的,但是深度学习网络发展层出不穷,往往这个月的state-of-art的效果到了下个月甚至是下周就会被超越,下面可以提供了一个github[2]网站,上面会更新一些最新的图像超分辨率文章和代码。另外也提供一个比较新的图像超分辨率重建综述性文章《Super-Resolution via Deep Learning》[3]

3. 展望
上面的一些图像超分辨率重建仅仅是2017年或者之前的文章,而不是最新的文章,之后的打算是会对CVPR2018[4]、ICLR2018[5]以及Arxiv Sanity Preserver[6]上面一些应用到图像超分辨率重建的文章进行解读,因为做科研实时需要跟进一些新的进展。

参考文献
从SRCNN到EDSR,总结深度学习端到端超分辨率方法发展历程https://blog.csdn.net/aBlueMouse/article/details/78710553

Single-Image-Super-Resolution https://github.com/YapengTian/Single-Image-Super-Resolution
Super-Resolution via Deep Learninghttps://arxiv.org/abs/1706.09077
CVPR 2018 open accesshttp://openaccess.thecvf.com/CVPR2018.py
ICLR 2018 Conference Trackhttps://openreview.net/group?id=ICLR.cc/2018/Conference
Arxiv Sanity Preserverhttp://www.arxiv-sanity.com/

--------------------- 
作者:alxe_made 
来源:CSDN 
原文:https://blog.csdn.net/alxe_made/article/details/80684337 
版权声明:本文为博主原创文章,转载请附上博文链接!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/vbskj/article/details/84590512

智能推荐

Keepalived单双主模型配置_weixin_34326429的博客-程序员秘密

Keepalived单双主模型配置Keepalived单主配置实例:一、安装keepalived包[[email protected] ~]# hostnamectl set-hostname keepalived-1[[email protected] ~]# yum install keepalived.x86_64主配置文件:/etc/keepalived/keepalived.c...

MergeTree原理详解之数据存储_喜讯XiCent的博客-程序员秘密_merge tree

前面我们讲解了MergeTree引擎索引的原理,但是仅仅依靠索引,并不能支撑ClickHouse如此强悍的性能。这篇文章将为你解决以下问题,数据在底层具体是如何存储,怎么根据索引编号找到对应的数据。列独立存储说到存储,大部分MPP数据库都是用的同一种思想,即列式存储。ClickHouse也不例外。在MergeTree中,数据按照列存储,注意哦,是完全列式存储,每个列字段都拥有一个与之对应的.bin文件,这些文件承载着数据的物理存储。数据文件以分区目录的形式被组织存储,在bin文件中只会保存当前分区.

CityMaker学习教程02 软件的授权_海洪博客的博客-程序员秘密

CityMaker 学习教程第二节课 软件的授权和模块说明软件授权: 打开任意一款款软件,会提示:未检测到单机锁或网络授权失败,请插单机锁或设置网络授权信息后,重启程序。 这时候你如果申请过软授权了,那点击“设置验证”按钮,然后输入: 授权服务器ip:C:\test.lic 这里就是如痴此写,可以写网络授权地址,也可以写本机软授权地址。 端口号:8543(或者任意的可用端口); 密码:最

MergeTree 原理_优化搬运工的博客-程序员秘密_mergetree

MergeTree 原理文章目录MergeTree 原理1. MergeTree的创建方式与存储方式1.1 创建方式1.2 存储结构2. 数据分区2.1 数据分区规则2.2 分区命名规则2.3 一级索引(常驻内存)2.3.1 索引粒度2.3.2 生成规则以及查询过程3. 数据存储(.bin)4.数据标记5.总结Clickhouse最大的特点之一是拥有比较多的表引擎。所有表引擎中最强大的引擎是合并树结构(*MergeTree)。1. MergeTree的创建方式与存储方式如果你现在就有一张clickh

ClickHouse入门实践--MergeTree原理解析_木鱼-的博客-程序员秘密_click merge tree

MergeTree原理解析表引擎是ClickHouse设计实现中的一大特色。可以说,是表引擎决定了一张数据表最终的“性格”,比如数据表拥有何种特性、数据以何种形式被存储以及如何被加载。ClickHouse拥有非常庞大的表引擎体系,截至本书完成时,其共拥有合并树、外部存储、内存、文件、接口和其他6大类20多种表引擎。而在这众多的表引擎中,又属合并树(MergeTree)表引擎及其家族系列(*MergeTree)最为强大,在生产环境的绝大部分场景中,都会使用此系列的表引擎。因为只有合并树系列的表引擎才支持主

mysql.user表中user为root的host为%的含义_earthchinagl的博客-程序员秘密

host列指定了允许用户登录所使用的IP,比如user=root,Host=192.168.1.1。意思就是说root用户只能通过客户端IP地址为192.168.1.1的的地址去访问。而%是个通配符,如果Host=192.168.1.%,那么就表示只要是IP地址前缀为“192.168.1.”的客户端都可以连接。如果Host=%,表示所有IP都有连接权限。这也就是为什么在开启远程连接的时候,大部...

随便推点

你还在用if else吗?_上漂的程序猫狗的博客-程序员秘密

面向过程设计和面向对象设计的主要区别是:是否在业务逻辑层使用冗长的if else判断。如果你还在大量使用if else,当然,界面表现层除外,即使你使用Java/C#这样完全面向对象的语言,也只能说明你的思维停留在传统的面向过程语言上。传统思维习惯分析  为什么会业务逻辑层使用if else,其实使用者的目的也是为了重用,但是这是面向过程编程的重用,程序员只看到代码重用,因为他看到if e

Android OpenGL ES纹理总结、纹理坐标系说明、使用代码示例_丞恤猿的博客-程序员秘密_android 纹理

#.纹理介绍: 可以简单想象成一张皮,可以贴在OpenGL空间中自己指定的区域之上,从而实现需要的视觉效果。##.使用纹理的好处: 如果想让图形看起来更真实,就必须有足够多的顶点,还要设置相应的颜色属性,会产生很多性能开销。 而如果是使用在指定的位置贴上一层纹理的方式,不需要非常多顶点,只需要纹理绘制满足需要,OpenGl中顶点位置与纹理对应位置关联正确。就可以达到需要的细节显示效果。##."需要蒙皮"位置与纹理的对应关系 纹理有自己内部的坐标系,纹...

HTML 与 CSS_二代咸鱼的博客-程序员秘密

HTML 与 CSS1. 基础语法1.1. 标签1.1.1. 单标签单标签,不设置属性值。如:<br/>、<hr/>1.1.2. 单标签属性单标签(也叫空元素),设置属性值。如:<hr width="800" />1.1.3. 双标签双标签,不设置属性值。如:<title>…</title>1.1.4. 双标签属性双标签,设置属性值。如:<body bgcolor="red">…</body&g

XXE漏洞笔记_caiqiiqi的博客-程序员秘密

参考: http://wooyun.jozxing.cc/static/bugs/wooyun-2014-059911.html http://bobao.360.cn/learning/detail/3841.html http://blog.csdn.net/u011721501/article/details/43775691 http://thief.one/2017/06/20/1

Grafana-zabbix配置模板_Linux????? Mr.Liyz的博客-程序员秘密

官方文档: http://docs.grafana.org/reference/templating/ Grafana展示Zabbix主机监控图形时,一个一个主机添加过于麻烦。想要查看多台主机的监控图形,通过使用配置模板,调用多台主机数据展示!! 1、配置变量 其中query的匹配原则 * ...

为什么OpenCV使用BGR而不是RGB?_MrCharles的博客-程序员秘密_opencv是rgb还是bgr

https://learnopencv.com/why-does-opencv-use-bgr-color-format/Satya Mallick早期的开发者选择了BGR,为啥选择BGR呢?那时候流行的相机制造商和软件商都是用这个模式,例如微软使用的是BGR,微软的软件里面COLORREF的值的格式为0x00bbggrr。所以从那时候起,opencv就一直使用BGR。现在我们也还是使用BGR,这种反人类的设计,只能去习惯它(当然,早期它并不绝对反人类)。“Why not use RGB when e

推荐文章

热门文章

相关标签