Ram Cherukuri MathWorks
使用MATLAB中的Raspberry Pi™进行深度学习进行图像分类的演示®使用树莓派支持包。万博1manbetxMATLAB为工程师和科学家提供了一个完整的集成工作流,可以在熟悉的开发环境中使用内置的高级应用程序和库探索、原型化和部署深度学习算法。
使用MATLAB Coder™,您可以围绕一个经过训练的网络,通过图像采集、预处理和后处理,为完整的推理管道生成c++代码,并部署到任何ARM®基于Cortex-A的平台,如Raspberry Pi或NXP™i。MX系列处理器。
大家好,我是Ram Cherukuri, MathWorks的产品经理,欢迎来到树莓派的另一个版本的深度学习,这次使用它来使用squeezenet进行图像分类。
在这个视频中,我希望你可以轻易地把MATLAB算法和使用动态I / O测试和验证它在MATLAB中,测试它在目标树莓π在部署之前使用processor-in-loop模拟作为一个独立的应用程序,而不需要编写额外的代码用C或c++。
我决定选择图像分类作为机器学习和深度学习应用的一个例子,有以下几个原因:
你可以在mathworks.com的MATLAB中找到更多关于机器学习和深度学习的资源。
说到嵌入式处理器,我选择树莓派还有另外一个原因,而不是因为它好玩和易于使用。它是基于手臂皮层A,类似于大多数其他基于视觉的处理器。
MATLAB编码器使您能够生成代码并将您的应用程序部署到任何基于Arm Cortex的处理器上,该处理器支持Neon指令。万博1manbetx
您可以获得最佳的性能,因为生成的代码会调用Arm的计算库,该库提供了为Arm的CPU和GPU平台优化的底层函数。
请参考下面了解更多关于计算库的链接。
在前面的视频中,我们用行人检测等例子介绍了部署方面,在本视频中,我们将重点介绍硬件在循环中的测试和验证。
这里是我们的MATLAB算法,它接收一个输入图像,进行一些调整大小作为预处理步骤,使用训练过的squeezenet进行推理,然后执行后处理来识别和显示前5个分类。
下面是我的测试脚本,我将用它来运行这个例子。
让我们首先运行这段代码,看看算法所作内MATLAB对输入图像内容。你可以看到,它给我们的五大分类在我们的输入图像的东西。
现在,我想测试和验证我的算法与一些实时数据。在这里,我设置了一个树莓派的连接,我可以用它相连的网络摄像头,以摆脱它在MATLAB相机和运行推断活饲料 - 非常简单。
请记下载免费的树莓派支持包尝试了这一点。万博1manbetx
此外,如果你有MATLAB编码器,还可以生成代码,并在树莓派部署。
怎么样,我们验证与处理器在循环生成的代码,所以我们可以使用MATLAB作为我们的测试平台的输入传递给应用程序的目标,并得到结果返回到MATLAB进行比较?
这里我们定义代码生成配置,并指定Arm计算库版本,PIL模式。生成PIL接口。[JS1] (RC2)
一旦代码生成完成后,我们得到这个MEX文件,我可以使用运行在树莓派的应用。使用相同的测试输入,我们正在运行的树莓派图像分类,我们得到的分类结果。您可以通过比较输出等做更详细的验证,但你明白了吧。
纵观例子中,我们并没有写任何C或C ++代码。然而,如果你喜欢使用的任何自定义库,如OpenCV的,你可以随时手动将生成的代码,写一个自定义的主文件编译成一个更大的应用程序。
请参考以下链接尝试这个例子中为自己和下载必要的支持包。万博1manbetx
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站表现。其他MathWorks国家站点不适合来自您所在位置的访问。