该节简单介绍一下如何使用Matconvnet的现有的模型进行图像分类实验以及提取图像对应层的特征。
先来看看如何用训练好的imagenet网络模型进行图像的预测,英文版的官网教程就在这里:
http://www.vlfeat.org/matconvnet/quick/
检测图像分类之前,首先需要训练好的模型,官网也提供了各式各样的网络模型,下载如下:
http://www.vlfeat.org/matconvnet/pretrained/
这里可以看到一堆的模型,我们先下载一个“imagenet-vgg-f ”试一下,
就放在安装包文件夹外面
好了,将matconvnet整个文件夹添加到路径(假设已经编译好了)。
在这个目录下建一个m函数,输入下面代码,运行就可以了:
% Load a model and upgrade it to MatConvNet current version.
% 导入下载的模型
net = load('imagenet-vgg-f.mat') ;
%将其变为simplenn的网络
%matconvnet有两种网络:还有一种为DAG 模型,
% 两个网络的不同之处在于将网络以不同的形式显示出来,后者DAG 会更直观
net = vl_simplenn_tidy(net) ;
% Obtain and preprocess an image.
%读一张图,matlab自带
im = imread('peppers.png') ;
im_ = single(im) ; % note: 255 range
%归一化大小
im_ = imresize(im_, net.meta.normalization.imageSize(