利用预训练网络对图像进行分类
这个例子展示了如何使用预先训练好的深度卷积神经网络GoogLeNet对图像进行分类。
GoogLeNet已经在超过100万张图像上进行了训练,可以将图像分为1000个对象类别(例如键盘、咖啡杯、铅笔和许多动物)。该网络已经为广泛的图像学习了丰富的特征表示。该网络将图像作为输入,然后输出图像中对象的标签以及每个对象类别的概率。
负荷预训练网络
加载预先训练好的GoogLeNet网络。你也可以选择加载不同的预训练网络进行图像分类。这一步需要深度学习工具箱™模型为GoogLeNet网络金宝app支持包。如果您没有安装所需的支持包,则该软件提供下载链接。金宝app
Net = googlenet;
读取和调整图像大小
要分类的图像必须与网络的输入大小相同。对于GoogLeNet,网络输入大小为InputSize
属性的图像输入层。
读取要分类的图像,并将其调整为网络的输入大小。这种调整会略微改变图像的纵横比。
I = imread(“peppers.png”);inputSize = net.Layers(1).InputSize;I = imresize(I,inputSize(1:2));
图像分类与显示
用预测的标签对图像进行分类和显示。
标签=分类(net,I);title(string(label))
有关如何显示顶部预测及其相关概率的更详细示例,请参见使用GoogLeNet分类图像.
对于深度学习的下一步,您可以将预先训练好的网络用于其他任务。通过迁移学习或特征提取解决图像数据上的新分类问题。有关示例,请参见使用迁移学习更快地开始深度学习而且使用从预训练网络中提取的特征的训练分类器.要尝试其他预训练的网络,请参见预训练的深度神经网络.
参考文献
塞格迪,克里斯蒂安,刘伟,贾扬青,皮埃尔·塞尔曼内,斯科特·里德,德拉戈米尔·安格洛夫,杜米特鲁·埃尔汉,文森特·范豪克和安德鲁·拉宾诺维奇。“更深入地研究卷积。”在IEEE计算机视觉和模式识别会议论文集,第1-9页。2015.
BVLC GoogLeNet模型.https://github.com/BVLC/caffe/tree/master/models/bvlc_googlenet