本周文件交换精选

我们最好的用户提交

深度学习的11行MATLAB代码

Avi格式的本周最佳深度学习的11行MATLAB代码MathWorks深度学习工具箱团队.这篇文章是后续这篇文章并提供了更详细的解释。

如果你有兴趣学习更多关于深度学习或尝试MATLAB中一些最新的深度学习研究,这篇博客文章将引导你通过开始的第一步。File Exchange上的条目提供了你需要的一切,你可以下载最流行的深度神经网络之一,并使用来自网络摄像头的实时视频对图像进行分类。在你阅读这篇文章的剩余部分之前,我强烈建议你看一下这个视频乔·希克林(Joe Hicklin,见下图)的文章,我将对此进行更详细的解释。

这篇文章介绍了如何下载预先训练的深度卷积神经网络,并使用它在直播视频流中对图像进行分类。

负载Pre-Trained网络

我将在这篇文章中使用的预训练模型称为AlexNet。该模型经过训练,可以识别图像中1000种不同类别的物体,并使用了100多万张图像进行训练。的AlexNet模型可以作为MATLAB中的支持包,您可金宝app以从这篇博客.现在让我们将预先训练好的网络加载到MATLAB中。

nnet = alexnet;%将提示安装支持包,如果不可金宝app用

查看网络结构

现在让我们来看看AlexNet模型的结构。注意,第一层需要227×227 RGB图像,最后一层分类了1000个不同的对象。

nnet。层s
ans = 25x1 Layer array with layers:227 x227x3数据的图像输入图像的zerocenter正常化2 conv1卷积96年11 x11x3旋转步[4 4]和填充[0 0]3‘relu1 ReLU ReLU 4 norm1的横通道正常化横通道正常化与5频道/元素5“pool1”马克斯池3 x3马克斯池步(2 - 2)和填充[0 0]6“conv2”卷积256 5 x5x48旋转步[1]和填充(2 2]7‘relu2 ReLU ReLU 8 norm2的横通道正常化横通道正常化与5频道/元素9“pool2”马克斯池3 x3马克斯池步(2 - 2)和填充[0 0]384 3 x3x256 conv3的卷积运算与步幅[1]和填充[1]11‘relu3 ReLU ReLU 12 conv4卷积384 3 x3x192旋转步[1]和填充[1]13的relu4 ReLU ReLU 14 conv5卷积256 3 x3x192旋转步[1]和填充[1]15 ' relu5 ReLU ReLU 16“pool5”马克斯池3 x3 Max池步(2 - 2)和填充[0 0]17 fc6完全连接4096完全连接18层的relu6 ReLU ReLU 19“drop6”辍学50%辍学20“fc7”完全连接4096完全连接层21 ' relu7 ReLU ReLU 22“drop7”辍学50%辍学23 fc8完全连接1000完全连接层24“概率”Softmax Softmax 25“输出”分类输出crossentropyex“鲤鱼”,“金鱼”,998其他的类

测试图像进行分类

在我们连接网络摄像头并尝试对直播流中的图像进行分类之前,让我们先尝试对单个测试图像进行分类。

我= imread (“peppers.png”);imshow (I)标题(输入图像的

为了对输入图像进行分类,我们使用' classify '函数。由于AlexNet期望输入图像为227×227,让我们调整输入图像。

Iin = imresize(I,[227 227]);figure label =分类(net, Iin);%分类图片imshow(含)%显示图片标题(char(标签)%显示标签


你会看到网络准确地将图像分类为一个钟胡椒。你也可以看到预测得分或信心通过输出分数来预测1000个类中的每一个分类方法。

尝试现场视频

现在我们已经在单个图像上尝试了深度学习图像分类器,让我们尝试在直播视频流上做同样的事情。我们使用MATLAB中的webcam对象连接到一个webcam。

相机=摄像头;连接到摄像机照片=快照(相机);%合影留念imshow(图)%显示图片%在循环中运行实时视频捕获和分类N = 1:100图片=快照(相机);%合影留念照片= imresize(图片,[227227]);%调整图片Label =分类(net,图片);%分类图imshow(图);%显示图片标题(char(标签)%显示标签drawnow结束

|
  • 打印
  • 发送电子邮件

评论

要留下评论,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。