SRCNN(超分辨率卷积神经网络

网络结构

  • l  Conv1: f1 = 9 *9 activation = ‘relu’
  • l  Conv2: f2 = 1 *1 activation = ‘relu’  #为了非线性映射 增强非线性
  • l  Conv3: f3 = 5 * 5 activation = ‘lienar’

SRCNN训练流程

  • l  设X为按stride=14 从91张图片训练数据中裁剪得33 x 33 大小的图片裁剪得24800张, 则X为 High Resolution Image 即Label,使用set5作为验证集(若用ImageNet的训练数据则stride = 33)
  • l  对X进行高斯内核平滑,再通过缩放因子下采样 再通过同样的缩放因子进行双三次线性插值上采样得到的图片为Y 我们称为Low-Resolution Samples 即训练集
  • l  作者只考虑YCrCb颜色通道中的明亮度通道Y进行训练,其他色度通道进行双三次上采样处理,这样做的目的是与传统的方法进行对比,其他通道仅用于展示不用于训练与测试
  • l  训练过程中为了避免边缘效应,所有卷积层都没padding所以SRCNN的网络output为20 x 20 图片
  • l  使用MSE损失函数,方便峰值信噪比,只用X的中心 21 x 21 部分来做真正的label
  • l  测试的时候并不需要进行裁剪处理,只需对测试图片进行padding剪切,取padding=(fsub-f1-f2-f3+3)/2 ,直接取中心图片进行测试,这与只用X的中心 21 x 21 部分来做真正的label是同样的道理

复现参考代码: https://github.com/tegg89/SRCNN-Tensorflow

SRCNN的更多相关文章

  1. 『超分辨率重建』从SRCNN到WDSR

    超分辨率重建技术(Super-Resolution)是指从观测到的低分辨率图像重建出相应的高分辨率图像.SR可分为两类:    1. 从多张低分辨率图像重建出高分辨率图像    2. 从单张低分辨率图 ...

  2. SRcnn:神经网络重建图片的开山之作

    % ========================================================================= % Test code for Super-Re ...

  3. SRCNN之后的深度学习超分辨率

    SRCNN开山之作 IDN 信息蒸馏网络information distillation network(IDN) Fast and Accurate Single Image Super-Resol ...

  4. SRCNN(一)

    SRCNN学习(一):demo_SR.m 一.demo_SR.m 使用方法 1.Place the "SRCNN" folder into "($Caffe_Dir)/e ...

  5. SRCNN代码分析

    代码是作者页面上下载的matlab版.香港中文大学汤晓鸥教授.Learning a Deep Convolutional Network for Image Super-Resolution. htt ...

  6. 体验SRCNN和FSRCNN两种图像超分网络应用

    摘要:图像超分即超分辨率,将图像从模糊的状态变清晰. 本文分享自华为云社区<图像超分实验:SRCNN/FSRCNN>,作者:zstar. 图像超分即超分辨率,将图像从模糊的状态变清晰.本文 ...

  7. 比SRCNN效果好的传统超分辨率算法汇总

    1.基于深度协作表达的人脸图像超分辨率算法研究与应用_百度学术 采用一种深度协作表达算法框架,构造深度的多线性模型 分段拟合高低分辨率图像块之间的非线性关系,本文算法简洁高效,提供了一种新的深度学习模 ...

  8. SRCNN 卷积神经网络

    2019-05-19 从GitHub下载了代码(这里) 代码量虽然不多,但是第一次学,花了时间还是挺多的.根据代码有跑出结果(基本没有改),但是对于数据集的处理还是看的很懵逼,主要是作者的实现都是用类 ...

  9. DL论文

    题目:Accurate Image Super-Resolution Using Very Deep Convolutional Networks(2016CVPR) 摘要:文中提出了一种高精度处理单 ...

随机推荐

  1. docker 的使用

    docker 学习 1. Docker 允许你在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序. 输出Hello world docker run ubuntu:15 ...

  2. springboot2.x版本整合redis(单机/集群)(使用lettuce)

    在springboot1.x系列中,其中使用的是jedis,但是到了springboot2.x其中使用的是Lettuce. 此处springboot2.x,所以使用的是Lettuce.关于jedis跟 ...

  3. HBuilder打包React单页面,Android返回功能

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  4. Flask学习笔记(3)--路由

    0x01 参数传递 传递参数的语法是: /<参数名>/,然后在视图函数中,也要定义同名的参数. 参数的数据类型: 1.如果没有指定具体的数据类型,那么默认就是使用string 数据类型. ...

  5. browser-sync events.js:85 throw er; // Unhandled 'error' event

    browser-sync运行的时候提示如下错误,这个是因为browser-sync 配置的端口被占用的原因. events.js:85 throw er; // Unhandled 'error' e ...

  6. Dynamic seq2seq in tensorflow

    v1.0中 tensorflow渐渐废弃了老的非dynamic的seq2seq接口,已经放到 tf.contrib.legacy_seq2seq目录下面. tf.contrib.seq2seq下面的实 ...

  7. array_walk 与 array_map的 区别

    1.array_walk是用于用户自定义的函数,所以想用array_walk($aIds, "trim");去掉数据元素中的空格是达不到目的的只能用array_walk($aIds ...

  8. (二)区块链的共识算法:PoS 及其 例子 代码 实现

    作者:林冠宏 / 指尖下的幽灵 掘金:https://juejin.im/user/587f0dfe128fe100570ce2d8 博客:http://www.cnblogs.com/linguan ...

  9. Go学习笔记(五)Go命令工具

    上篇Go学习笔记(四)Go自动化测试框架 1.go build 这个命令可以直接使用,也可以带上代码包或源码文件使用. 如果是直接使用,表示试图编译当前目录所对应的代码包,如果当前目录不是一个有效的代 ...

  10. 浏览器调起Hbuilder的APP

           最近用Hbuilder来开发APP,测试各种功能,其中,最近测试到,要用这个浏览器调起APP的功能,我看官网有教程,但是有些可能刚工作没多久,所以,有些地方看不大明白,官方也没细说,所以 ...