1. 磐创AI-开放猫官方网站首页
  2. Medium

NVIDIA Jetson Nano上的Yolov5目标检测


本文介绍了JetsonYolo,这是在NVIDIA Jetson Nano上使用Yolov5和OpenCV进行CSI摄像机安装、软件和硬件设置以及物体检测的简单而简单的过程。该项目使用CSI-Camera创建管道并捕获帧,使用Yolov5检测对象,在Jetson开发工具包上实现了完整的可执行代码。查看Codeplay Jetson Nano YouTube播放列表,查看视频说明和JetsonYolo Github。JetsonYolo CSI-Camera Yolov5 CodePlay jetson nano youtube playlist JetsonYolo Github

要求

Jetson Nano最常用的相机之一是树莓PI相机模块V2,但如果你需要更高的分辨率怎么办?最近,我尝试使用Waveshare IMX477 CSI相机进行一个项目,但在将其连接到电路板时遇到了问题。最后,在尝试了几种不同的方法后,我想出了一个简单的过程,并决定与其他人分享。本文由几部分组成,包括硬件、驱动程序和Python库安装,最后是Yolov5。这些步骤对于使用Jetson Nano板上的摄像头进行物体检测都是必不可少的。

摄像机设置

将摄像机安装在载板上的MIPI-CSI摄像机接头中。拉起相机端口的塑料边缘。推入相机色带,确保相机色带上的针脚面向Jetson Nano模块。将塑料接头向下推。您可以使用Arducam相机设置指南了解更多信息。Arducam camera setup

摄像头驱动程序

默认情况下,NVIDIA Jetpack支持多个不同传感器的摄像头,其中最著名的是Raspberry Pi Camera v2。但如果您使用的是其他类型的相机,则需要安装传感器驱动程序。本项目使用的是带有IMX477-160传感器的1230万像素摄像头,需要额外的驱动程序才能连接。Arducam为配备IMX477传感器的相机提供轻松绝缘的IMX477驱动程序。IMX477 driver

下载自动安装脚本:

cd ~

安装驱动程序:

chmod +x install_full.sh

最后,输入y重新启动主板。

使用以下命令检查摄像机是否被正确识别。

ls /dev/video0

您可以使用JetsonHacks python代码通过OpenCV从相机捕捉帧。JetsonHacks

PyTorch&Torchvision

Yolov5模型在Pytorch框架中实现。PyTorch是一个基于Torch库的开源机器学习库,用于计算机视觉和自然语言处理应用程序。以下是在Jetson开发工具包上安装PyTorch&Torchvision的完整指南。installing PyTorch & torchvision

推理

在Jetson Nano上克隆JetsonYolo存储库。

git clone https://github.com/amirhosseinh77/JetsonYolo.git

下载Yolov5型号

根据模型大小、所需速度和精度选择所需的模型。您可以在资产部分找到可用的型号。使用下面的命令下载模型,并将其移动到权重文件夹。here

cd weights

运行JetsonYolo.py以使用摄影机检测对象。

python3 JetsonYolo.py

结论

本文重点介绍如何使用IMX477摄像机捕获帧并执行对象检测。设置这种类型的相机需要额外的驱动程序安装步骤,而Arducam已经为Jetson Linux Driver(L4T)提供了驱动程序。在安装了必要的驱动程序和Python库之后,JetsonYolo作为JetsonYolo在Jetson Nano上实现,并以每秒12帧的速度获得了令人满意的结果。

原创文章,作者:fendouai,如若转载,请注明出处:https://panchuang.net/2021/08/01/nvidia-jetson-nano%e4%b8%8a%e7%9a%84yolov5%e7%9b%ae%e6%a0%87%e6%a3%80%e6%b5%8b/

联系我们

400-800-8888

在线咨询:点击这里给我发消息

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息