来自系列:与matlab深入学习
Joe Hicklin,Mathworks
观看如何使用MATLAB的快速演示®,一个简单的网络摄像头和深度神经网络,用于识别周围环境中的对象。这个演示使用AlexNet.,一个预雨的深渊卷积神经网络(CNN或GROMNET)已培训超过一百万图像。
该示例包括两部分:设置摄影机和执行对象识别。第一部分介绍如何使用摄像头
从相机获取图像的命令。使用drawn
命令,Matlab能够连续更新和显示相机拍摄的图像。
第二部分说明了如何下载一个名为AlexNet的预训练深度神经网络,并使用MATLAB连续处理相机图像。AlexNet将图像作为输入,并为图像中的对象提供标签。你可以在你周围的物体上做实验,看看AlexNet有多精确。
今天,你可以用MATLAB很容易地做到这一点,但就在几年前,它还被认为是科幻小说。
学习更多关于与matlab深入学习或者下载演示代码.
记录:2016年12月6日
你好。我的名字是Joe Hicklin。我是Mathworks的高级开发人员。我一直在尝试与Matlab和神经网络工具箱进行深度学习。我写了一个简单的小程序,做了很酷的事情。我想现在向你展示这一点。
我所做的就是拍摄了一个网络摄像头,并将其连接到一个识别图像的神经网络上。现在,我可以将网络摄像头指向各种物体,它可以识别它。开瓶器,螺丝刀,左轮手枪,口琴,茶壶,铲子,诸如此类的东西。这并不完美,但它做得相当好。
让我们看看实现这一点的代码。这就是整个计划,对吗?只有11行。我们会经历的。但是我们要分三个阶段来做。
我们要清理工作区。我们将要求摄像头连接到网络摄像头,让摄像头拍照,然后在屏幕上显示该图片。所以当我们运行这个程序时,我们应该会看到一个新的画面。这就是我们刚刚拍的照片。
但那是一个静止形象。我们希望这是一个连续的视频。所以我们将添加三行以将其放入循环中。
我们将在播放图片的代码周围循环。我们将添加一个绘制,因此Matlab立即绘制。当我跑这个时,我们会得到同样的事情。但现在,这是一个实时视频。
最后,我们需要加入神经网络。我正在使用一个叫AlexNet的网络。AlexNet是一个大型的深卷积神经网络。他们在超过一百万张图片上训练这个网络。它能识别大约1000个不同的物体。
我下载了它。现在我们已准备好使用它。这条线将要求网络对我们刚采取的图片进行分类。所以我们会将每张照片传递给网络,它将返回该图片的标签。
在此之前,我们必须将图片调整为AlexNet期望的大小。它是根据特定大小的图像进行训练的。最后,我将在我的图片标题中使用该标签。我必须用这个命令把它转换成一个字符串。
我们都准备好了。这些是台词。让我们再运行一次。我们又开始跑步了。
我能认出键盘,或者空格键。认出我的老鼠,或者它是抹刀。我们走了。
我希望这个计划的简单性鼓励您尝试深入学习。下一个自然步骤将是尝试转移学习。转移学习是您使用alexnet的网络以及培训您自己的特定图像上的最后几个图层。这将导致网络甚至比AlexNet更好地为您的特定图像。如果您有兴趣了解如何对您的问题应用深度学习,请查看描述中的链接。
您还可以从以下列表中选择一个网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家/地区网站未针对您所在地的访问进行优化。