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