使用matconvnet
实现Globally and locally consistent image completion
-
运行前需要先安装
matconvnet
,matconvnet
主页在这里(本项目在matconvnet 1.0-beta25
上搭建),matconvnet
安装在matlab
的toolbox
文件夹下; -
安装好
matconvnet
之后,将本项目中的文件复制到matconvnet
的examples
文件夹下(可以先在example
文件夹中创建一个新文件夹,再将文件复制到其中) -
项目文件的训练的入口函数是
glcic_train()
,直接运行glcic_train.m
开始训练; -
在训练过程中会保存当前训练的部分修复结果,即网络对训练数据的修复结果,作为参考使用,这部分的代码在
process_epoch
函数中
- 先要运行
vl_setupnn.m
,也就是把下面这些路径添加到matlab path中,然后重启matlab
root = vl_rootnn() ;
addpath(fullfile(root, 'matlab')) ;
addpath(fullfile(root, 'matlab', 'mex')) ;
addpath(fullfile(root, 'matlab', 'simplenn')) ;
addpath(fullfile(root, 'matlab', 'xtest')) ;
addpath(fullfile(root, 'examples')) ;
- 不要将
compatibility
这个文件夹的内容添加到path
中,文件夹中的labindex.m
和numlabs.m
会使程序无法正常获取到多个core
- 如果运行程序的时候出现下面类似的错误,可以将涉及到的函数移动到一个临时文件夹中。
Attempt to execute SCRIPT vl_imreadjpeg as a function:
/home/liyanran/Desktop/MATLAB/R2017a/toolbox/matconvnet-1.0-beta25/matlab/vl_imreadjpeg.m
这些影响到程序运行的文件都只是脚本,其完整的功能在mex
文件夹对应的程序文件中,所以移动这些.m
文件不会影响到程序的运行。移动之后再次将matlab
文件夹进行addpath
,再重启matlab
。
root = vl_rootnn() ;
addpath(fullfile(root, 'matlab')) ;
Ishikawa H, Ishikawa H, Ishikawa H. Globally and locally consistent image completion[M]. ACM, 2017.
"MatConvNet - Convolutional Neural Networks for MATLAB", A. Vedaldi and K. Lenc, Proc. of the ACM Int. Conf. on Multimedia, 2015.
https://github.com/hbilen/mcnDCGAN