整理了下FSRCNN
https://github.com/66wangxuewen99/Super-Resolution/tree/master/FSRCNN
FSRCNN 是在2016年在CVPR上发表的一片论文
Accelerating the Super-Resolution Convolutional Neural Network
中提出的一种加速的基于卷积神经网络的图像超分辨率方法。
本项目使用caffe+matlab实现了FSRCNN的训练以及应用过程,提供了样本产生和一些如PSNR曲线绘制的工具。
训练网络:FSRCNN_net.prototxt 应用网络: FSRCNN_mat.prototxt
###网络训练###
- 样本准备 从91张训练图片中提取图像块作为样本并写入hdf5文件。使用generate_fsrcnn_train.m & generate_fsrcnn_test.m 根据自己的网络参数设定更改settings,运行得到fsrcnn_train.h5 & fsrcnn_test.h5两个文件。
- 开始训练 运行start.bat开始训练。
- 恢复训练 编辑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
效果
###其他### draw_psnr.m: 绘制指定测试图像的PSNR随迭代次数变化的曲线
注:本项目中训练得到的网络不可直接使用opencv或者使用c++接口来做应用,因为matlab中图像是列序优先,而opencv或c++中通常为行序优先,直接应用会得到一个效果比较差的结果。