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