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