Ram Cherukuri,Mathworks
在Matlab中使用YOLO V2进行实时对象检测的示例®。我们从Matlab中的一个发布示例开始,解释了如何培训Yolo V2对象检测器,并使用GPU编码器™,我们生成优化的CUDA代码。
我们通过使用NVCC将其编译到MEX文件中,我们发现生成的代码,并在测试视频文件上找到生成的MEX在每秒大约80帧中运行。
使用NVIDIA的硬件支持包金宝app®GPU,我们将生成的代码部署到Jetson Xavier板作为独立应用程序。
嗨,我是Mathworks的产品经理Ram Cherukuri,在此视频中,我将在Matlab中使用Yolo V2来浏览实时对象检测的示例。
什么是yolo?
YOLO代表“你只看一次”,它是一种流行的对象检测方法。
对象检测的常见方法是将CLASTIS FIERSTES进行重新回收进行检测。
因此,例如,RCNN使用区域提议方法在图像中生成潜在边界框,然后在这些提议的框中运行分类,然后优化预测。正如您所看到的,这需要多种评估。
另一方面,YOLO,帧检测作为回归问题,并将对象检测的单独组件统一到单个神经网络中。
它将输入图像划分为网格,并且每个网格小区预测一定数量的边界框以及盒子的配置得分。该分数反映了模型是如何配置的,该盒子包含一个对象,并且它对它预测的盒子的思考有多准确。每个网格单元还预测条件类概率。
这是一个过程很多,我建议提到几篇论文和文章来了解这种独特方法的细微差别,因为它不可能涵盖这段短片中的所有这些方法。
YOLO已经变得非常受欢迎和重要,因为它被认为是最先进的技术,因为它使用单个网络并且非常快速地进行实时对象检测。
即使您不熟悉,您也可以在Matlab中使用yolo v2开始使用yolo v2®这解释了如何在数据上培训Yolov2对象检测器。
然后,使用GPU编码器™,您可以生成优化的CUDA代码,以直接从MATLAB瞄准Jetson Xavier等NVIDIA®板。
硬件支持包使您可以将生成的金宝app代码部署到Jetson和Drive平台,因为我们将在下面的演示中看到。
在MATLAB中,我从示例中拍摄了训练有素的对象探测器作为我的起点,我将在这里对测试图像进行推断。
事实上,我们用yolo v2进行了一个简单的测试比较了更快的rcnn模型,并且您可以看到在这里的本地计算机上的速度速度大约25倍。
现在,使用GPU编码器,我们将从此函数生成CUDA代码,并将其使用NVCC编译为MEX文件,以便我们可以验证桌面机器上生成的代码。
您可以看到生成的MEX在我的桌面上每秒的大约80帧运行,在我的桌面上有Titan XP GPU。
请注意,这些不是官方基准编号,因为我还有一些其他程序在后台运行,但这应该让您了解YOLO V2网络的性能。
现在,使用用于NVIDIA GPU的硬件支持包,金宝app我可以从连接到我Jetson Xavier板的相机中获取实时数据,我们可以使用相同的生成MEX文件运行推断。
在这里,我正在使用窗口外的实时数据,俯瞰线路9上的流量。
最后,我可以从这里生成代码,从此处占用网络摄像头的输入,使用YOLO V2进行对象检测,并显示输出。
NVIDIA硬件支持包支持这些接口的代码金宝app生成,一旦生成并构建了代码,我们就可以在Jetson Xavier板上运行可执行文件作为独立应用程序。
因此,我们在此处使用jetson Xavier上的yolo v2运行独立的实时对象检测,从连接到它的网络摄像头中获取实时输入。
此示例的几个外卖总结在这里。您可以像Jetson Xavier一样瞄准NVIDIA板,并直接从Matlab使用简单的API驱动PX,而无需编写任何CUDA代码。
请参阅视频下方的链接以了解有关硬件支持包的更多信息,并在MATLAB中查找更多对象检测示例。金宝app
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。