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