SRCNN:Image Super-Resolution Using Deep Convolutional Networks

news2025/3/13 15:41:55

Some words: 这里是一些阅读文章的笔记,这篇文章是第一篇将深度学习应用于超分领域的文章,具有较为重要的意义。

link: https://arxiv.org/pdf/1501.00092.pdf


(一)Abstract:

我们提出一个对于单图像超分的深度学习方法,端到端地学习高低分辨率图像,我们也可知道传统的稀疏编码也可以作为一个深度卷积网络。与传统的方法相对独立的组件相比,我们的方法是端到端,并且处理了图像的三个通道,并且在线使用实现了不错的速度。我们也尝试在速度和参数之间得到一个权衡


(二)Introduction:

        单图像的超分是一个欠定的逆问题,本身具有多解。以往的方法一般是基于示例的,即从现有的样本来去学习。基于稀疏编码的是一个较为典型的基于实例学习的例子。

        在这篇文章,主要提出了一个卷积的网络,整个网络的pipleline除了一些简单的预先预后处理,基本上整个学习都是通过网络来获得。->END-TO-END

        该网络与传统方法的几点区别:1.不需要patch空间学习字典或者流形,这些通过隐藏层来进行学习;2.块的抽取和聚合也表示为卷积层,参与优化;3.设计较为简单,但是相较于先进的方法取得了很好的表现;4.有着适中的卷积核和层,相较于别的方法有着不错的速度;5.实验的结果也展示了效果可能会因数据集的大和多样以及模型的大和深来得到提高;6.这个网络可以处理3通道的图像。

如下图,可以看到SRCNN的性能,在第一个epoch就能得到明显的提高;

 2.1 Contributions:

        1.提出一个全卷积的神经网络,端到端学习,除了优化,只有很少的预先预后处理;

        2.在深度学习网络和传统的超分网络中建立一个联系;

        3.证实了深度学习在计算机视觉实现了不错的表现和速度;


(三)Related Work:

3.1 Image Super-Resolution

这部分主要分析了传统的超分方法,以及大多数方法并非在三个通道上计算,一般在灰度或者单通道的图像上

3.2 Convolutional Neural Networks

这部分主要是讲了CNN 影响较大并且已经广泛应用于各个领域,它的成功得益于GPU、ReLu、较大的数据集...

3.3 Deep Learning for Image Restoration

这部分主要是讲前人在超分领域应用深度学习技术,但是相比之下,SRCNN是端到端并且实用等优点更甚。


(四)CONVOLUTIONAL NEURAL NETWORKS FOR SUPER-RESOLUTION

4.1 Formulation

3个过程:Patch抽取和表示、非线性映射和表示,均可以表示为卷积的形式,形成一个卷积网络;(文中详细介绍三个过程)

4.2 Relationship to Sparse-Coding-Based Methods

 我们可以将基于稀疏编码的超分表示为卷积,如上图

4.3 Training

MSE 作为损失函数与,PSNR 作为评价指标,使用随机梯度下降...


(五)EXPERIMENTS

我们首先研究了使用不同的数据集对模型性能的影响。接下来,我们将检查通过我们的方法学习到的过滤器。然后,我们探索了网络的不同架构设计,并研究了超分辨率性能与深度、滤波器数量和滤波器大小等因素之间的关系。随后,我们将我们的方法与最近的技术现状进行了定量和定性的比较。在[42]之后,在第4.1- 4.4节中,只对亮度通道(YCbCr颜色空间中的Y通道)应用超分辨率,因此在第一/最后一层使用c = 1,并在Y通道上评估性能(如PSNR和SSIM)。最后,我们将网络扩展到处理彩色图像,并评估其在不同通道上的性能。

5.1 Training data

         可知,我们在较大的数据集上进行训练,发现结果会比较好但是没有特别像高级视觉产生的效果更明显。这可能是次数较少,对小数据的数据没有完全的拟合。因而,之后的网络主要就在ImageNet上进行训练。

5.2 Learned Filters for Super-Resolution

 由图可知,我们发现每一个卷积核都在抽取不同的特征;第一张和第二张特征图有明显的强度不同;

5.3 Model and Performance Trade-offs

 我们可以由上表得知,随着网络宽度的增加,速度会变慢,但是效果也会变好;

卷积核的尺寸更大,往往也会得到更好的效果;

但是,随着其增大,参数量也在增大的同时性能反而不太明显。因此,网络性能是表现和速度的权衡;

影响因素有: Filter number Filter size,Number of layers

 由上图我们可知,不一定是层数越多,效果越好;

5.4 Comparisons to State-of-the-Arts

 由上图可知,SRCNN相比于其他方法,在PSNR上取得了不错的成绩。并且随着训练时间的增长,它的效果越好;

         由上图,其中DNC也是一种深度学习的网络,但是SRCNN仍然超过了;

由上图,分别是运行时间和模型的表现,我们发现SRCNN还是具有一定的优势;

 5.5 Experiments on Color Channels

将图像转化为 the YCbCr space,并对Y通道进行处理(因为人眼对于图像的亮度变化更加敏感),但是有时也会对其他通道进行插值来保证整体的协调性。


(六)CONCLUSION

我们提出一个新奇的深度学习用于单图像超分的方法,基于稀疏编码可以表示为卷积,从高低分辨率图像直接端到端学习除了少量预先预后的图像处理,用着较为轻量的框架取得了超过目前最先进方法的表现。并且,该方法通过增加过滤器或者其他的训练技巧能够不断发展,同时也能够用于其他的计算机任务。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/883949.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

智慧工地一体化云平台源码:监管端、工地端、危大工程、智慧大屏、物联网、塔机、吊钩、升降机

智慧工地解决方案依托计算机技术、物联网、云计算、大数据、人工智能、VR&AR等技术相结合,为工程项目管理提供先进技术手段,构建工地现场智能监控和控制体系,弥补传统方法在监管中的缺陷,最终实现项目对人、机、料、法、环的全…

SDXL1.0大模型安装与使用

个人网站: 文章目录 前言一、模型下载使用(简单体验)二、模型下载使用(繁琐版)三、ComfyUI 前言 使用 Stable Diffusion XL,您可以使用较短的提示创建描述性图像,并在图像中生成文字。该模型在…

【5款登录验证校验】基于jquery实现的5款登录验证码组件(附完整源码)

文章目录 写在前面涉及知识点1、随机字母验证码1.1 效果1.2 实现源码 2、数字运算验证码2.1 效果2.2 实现源码 3、滑块验证码3.1 效果3.2 实现源码 4、图片补全验证码4.1 效果4.2 实现源码 5、顺序点选验证码5.1 效果5.2 实现源码 6、源码分享6.1 百度网盘6.2 123网盘6.3 邮箱留…

cs231n assignment3 q1Network Visualization

文章目录 嫌啰嗦直接看代码Q1 :Network Visualizationcompute_saliency_maps题面解析代码输出 make_fooling_image题面解析代码输出 class_visualization_update_step题面解析代码输出 结语 嫌啰嗦直接看代码 Q1 :Network Visualization compute_saliency_maps 题面 这部分的…

【校招VIP】java语言考点之ConcurrentHashMap1.7和1.8

考点介绍: ConcurrentHashMap是JAVA校招面试的热门考点,主要集中在1.7和1.8的底层结构和相关的性能提高。 理解这个考点要从map本身的并发问题出发,再到hashTable的低性能并发安全,引申到ConcurrentHashMap的分块处理。同时要理解…

2023牛客暑期多校训练营9-B Semi-Puzzle: Brain Storm

2023牛客暑期多校训练营9-B Semi-Puzzle: Brain Storm https://ac.nowcoder.com/acm/contest/57363/B 文章目录 2023牛客暑期多校训练营9-B Semi-Puzzle: Brain Storm题意解题思路代码 题意 解题思路 欧拉定理 a b ≡ { a b % φ ( p ) g c d ( a , p ) 1 a b g c d ( a ,…

认识excel篇3之数据的有效性(数据验证)

数据有效性不仅能够对单元格的输入数据进行条件限制,还可以在单元格中创建下拉列表菜单方便用户选择输入。如果没有做数据验证,单元格内默认可以输入任意类型的数据。数据验证就是限制单元格输入数据(必须输入符合要求的才能输入)…

OpenCV-Python中的图像处理-视频分析

OpenCV-Python中的图像处理-视频分析 视频分析Meanshift算法Camshift算法光流Lucas-Kanade Optical FlowDense Optical Flow 视频分析 学习使用 Meanshift 和 Camshift 算法在视频中找到并跟踪目标对象: Meanshift算法 Meanshift 算法的基本原理是和很简单的。假设我们有一堆…

使用Logstash将数据从MySQL同步至Elasticsearch(有坑)

文章目录 一、准备工作1、安装elasticSearchkibana2、安装MySQL3、安装Logstash 二、全量同步1、准备MySQL数据与表2、上传mysql-connector-java.jar3、启动Logstash4、修改logstash.conf文件5、修改full_jdbc.sql文件6、打开Kibana创建索引和映射7、重启logstash进行全量同步8…

linux 系统中vi 编辑器和库的制作和使用

目录 1 vim 1.1 vim简单介绍 1.2 vim的三种模式 1.3 vim基本操作 1.3.1命令模式下的操作 1.3.2 切换到文本输入模式 1.3.3 末行模式下的操作 2 gcc编译器 2.1 gcc的工作流程 2.2 gcc常用参数 3 静态库和共享(动态)库 3.1库的介绍 3.2静态…

Dockerfile自定义镜像

文章目录 Dockerfile自定义镜像镜像结构Dockerfile语法构建java项目 小结 Dockerfile自定义镜像 常见的镜像在DockerHub就能找到,但是我们自己写的项目就必须自己构建镜像了。 而要自定义镜像,就必须先了解镜像的结构才行。 镜像结构 镜像是将应用程序及…

PyTorch基础(16)-- torch.gather()方法

一、前言 在实现DQN的过程中,torch.gather()这个方法引起了我的注意,原因有二:1)这个函数在我硕士期间很少遇见,用到的次数更是少之又少;2)torch.gather()这个方法是如何使用的呢,以…

[HZNUCTF 2023 preliminary] 2023杭师大校赛(初赛) web方向题解wp 全

ezflask 先看题目,应该是模板注入(SSTI),输入{{7*‘7’}}直接报错误。 发现模板是反序输出的,怪不得不能直接输入{{}}。 输入}}‘7’*7{{返回777777,是jinja2 //直接手打,无所谓我是怨种 ?nam…

Mysql中使用存储过程插入decimal和时间数据递增的模拟数据

场景 Mysql插入数据从指定选项中随机选择、插入时间从指定范围随机生成、Navicat使用存储过程模拟插入测试数据: Mysql插入数据从指定选项中随机选择、插入时间从指定范围随机生成、Navicat使用存储过程模拟插入测试数据_mysql循环插入随机数据_霸道流氓气质的博客…

【第三阶段】kotlin语言中的先决条件函数

用于函数内部判断异常,节省开发 1.checkNotNull()如果传入为null则抛出异常 fun main() {var name:String?nullcheckNotNull(name) }执行结果 2.requireNotNull ()如果传入为null则抛出异常 fun main() {var name:String?nullrequireNot…

基于PSO-KELM的时间序列数据预测(含对比实验)

前段时间有粉丝私信想让我出一期对时间序列预测的文章,所以今天它来了。 时间序列数据,如股指价格,具有波动性、非线性和突变的特点,对于这类数据的预测往往需要可靠强健的预测模型,而传统的机器学习算法如SVM、BP等…

详解RFC 793文档-3

3.4 建立连接 三次握手用来建立连接,这个过程通常由一个TCP发起,并由另一个TCP响应。如果两个TCP同时启动该过程,该过程也可以工作。这说明客户端和服务器可以同时发起连接请求,且能够连接成功。当同时尝试连接时,每个TCP在发送自己的SYN后接收到一个不携带任何ACK确认的…

分布式 - 服务器Nginx:一小时入门系列之代理缓冲与缓存

官方文档:https://nginx.org/en/docs/http/ngx_http_proxy_module.html 1. 代理缓冲 proxy_buffer 代理缓冲用于临时存储从后端服务器返回的响应数据。通过使用代理缓冲,Nginx可以在接收完整的响应后再将其发送给客户端,从而提高性能和效率…

从零实现kv存储V2.0

在V1.0版本,我们实现了基于array的kv存储引擎。本文继续完善,增加rbtree、hash、skiptable引擎。 实际上,在框架确定的基础上,其他的引擎只需要添加接口即可。 一、架构设计 二、具体实现 2.1 引擎层 //---------------------…

第14集丨Vue2 基础 —— 生命周期

目录 一、引子1.1 实现一1.2 一个死循环的写法1.3 mounted实现 二、生命周期2.1 概念2.2 常用的生命周期钩子2.3 关于销毁Vue实例注意点2.4 vm的一生(vm的生命周期)2.5 生命周期图示 每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听、…