在当今的技术领域,能够将计算机视觉模型部署到经济实惠的边缘设备上,并实现实时推理,是一项至关重要的技能。本文将介绍如何使用Roboflow Deploy简化将目标检测模型部署到NVIDIA Jetson的过程。
如果更喜欢视频教程,可以订阅YouTube频道。在本文中,将使用YOLOv5s作为边缘AI模型,并选择Jetson NX作为硬件平台。让开始吧。
在本文中,将省略大部分模型训练步骤。幸运的是,Roboflow博客上有关于如何训练YOLOv5以识别自定义对象的优秀文档。如果还没有训练好的模型,建议先查看那篇博客文章。
在训练好自定义的yolov5模型后,就可以准备将其部署到Jetson Xavier NX上了。将.pt文件存储在云端或USB设备上,以便从NVIDIA设备访问。
NVIDIA提供了一个简单的启动Jetson NX的方法,即NVIDIA Jetpack安装指南。需要自己的microSD卡来将NVIDIA Jetpack和ubuntu安装到设备上。一旦设置完成,就可以继续部署YOLOv5了。
将在PyTorch的原生运行环境中部署YOLOv5,这意味着需要在NVIDIA Jetson Xavier NX上安装PyTorch。正确安装可能需要花费一周的时间。幸运的是,NVIDIA Jetpack 4.4 PyTorch Docker容器可供使用。Docker简化了安装过程,因此无需在自己的机器上进行安装。
# 执行以下命令进入PyTorch容器并克隆YOLOv5仓库
docker run --gpus all --rm -it -v "$(pwd)"/YOLOv5:/YOLOv5 nvcr.io/nvidia/pytorch:21.08-py3 bash
git clone https://github.com/ultralytics/yolov5.git
在PyTorch容器中执行上述命令后,可以克隆YOLOv5仓库。在requirements.txt中有一些安装项需要执行。可能还需要单独安装OpenCV 4.4.0(就像使用这个链接所做的那样)。
一旦在NVIDIA JetsonNX上配置了YOLOv5环境,就可以开始进行推理了。下载一张图片、一个视频,或者将摄像头端口暴露给模型,并使用以下命令启动一个推理会话:
python detect.py --source ./inference/images/ --weights yolov5s.pt --conf 0.4
将模型替换为默认的"yolov5s.pt"。以下是自定义YOLOv5s模型在30FPS下推理的一些打印输出!
当然,并没有在本文中透露所有的秘密。可能想要探索如何使YOLOv5s模型更小,以加快推理速度。同样值得一看的是TensorRT解决方案,以进一步加速事情。
如果正在寻找最简单的方法将模型部署到NVIDIA Jetson,并不想经历所有这些步骤,可能想要考虑Roboflow Deploy,它为自定义目标检测模型提供了无缝部署到边缘设备如NVIDIA Jetson的功能。阅读Roboflow Deploy for NVIDIA Jetson文档。
恭喜!已经学会了如何将YOLOv5部署到边缘设备Jetson Xavier NX上,实现实时推理,速度达到30 FPS。鉴于YOLO模型的灵活性,能够学习自定义对象检测问题,这是一项非常有价值的技能。希望喜欢本文,并且一如既往地,祝检测愉快。
使用Roboflow免费构建和部署。使用Roboflow管理数据集,一键训练模型,并部署到网络、移动设备或边缘。用几张图片,可以在一个下午训练出一个工作的计算机视觉模型。尝试Roboflow。