ESPCN网络结构和应用

ESPCN一种实时的图像超分辨率方法


转:https://blog.csdn.net/zuolunqiang/article/details/52401802

整理了下ESPCN

https://github.com/66wangxuewen99/Super-Resolution/tree/master/ESPCN

ESPCN 是在2016年在CVPR上发表的一片论文

Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network

中提出的一种实时的基于卷积神经网络的图像超分辨率方法。


本项目使用caffe+matlab实现了ESPCN的训练以及应用过程,提供了样本一些如PSNR曲线绘制的工具。

网络结构

训练网络: ESPCN_net.prototxt
这里写图片描述
应用网络: ESPCN_mat.prototxt
这里写图片描述

网络训练

  1. 样本准备
    从91张训练图片中提取图像块作为样本并写入hdf5文件。使用generate_espcn_train.m & generate_espcn_test.m 根据自己的网络参数设定更改settings,运行得到espcn_train.h5 & espcn_test.h5两个文件。
  2. 开始训练
    运行start.bat开始训练。
  3. 恢复训练
    编辑restore.bat中–snapshot= ?.solverstate后的文件名,运行restore.bat该次迭代状态中恢复训练。

应用

本项目中sr_demo.m实现了使用caffe的matlab接口来实现图片超分辨率。
基本流程如下:
这里写图片描述

caffe matlab接口的使用可以参考http://christopher5106.github.io/deep/learning/2015/09/04/Deep-learning-tutorial-on-Caffe-Technology.html

效果

low resolution

bicubic

espcn

其他

draw_psnr.m: 绘制指定测试图像的PSNR随迭代次数变化的曲线

psnr曲线

注:本项目中训练得到的网络不可直接使用opencv或者使用c++接口来做应用,因为matlab中图像是列序优先,而opencv或c++中通常为行序优先,直接应用会得到一个效果比较差的结果。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值