Tic商业评论

关注微信公众号【站长自定义模块】,定时推送前沿、专业、深度的商业资讯。

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

  • QQ空间
  • 回复
  • 收藏

NVIDIA Jetson Nano 上运行Yolov5网络

lijingle 目标检测 2021-12-29 21:30 2403人围观

本文介绍了 JetsonYolo,它是 CSI 摄像头安装、软件和硬件设置以及在 NVIDIA Jetson Nano 上使用 Yolov5 和 openCV 进行目标检测的简单可行的教程。 该项目使用 CSI-Camera 创建管道和获取帧,使用 Yolov5 目标检测,在 Jetson Development Kits 上实现完整且可执行的代码。 查看 CodePlay jetson nano  播放列表以获取视频说明和 JetsonYolo Github


要求

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

相机设置

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


相机驱动

默认情况下,NVIDIA JetPack 支持多个具有不同传感器的摄像头,其中最著名的摄像头之一是 Raspberry Pi 摄像头 v2。 但如果您使用其他类型的相机,则需要安装传感器驱动程序。 本项目中使用了带有 IMX477-160 传感器的 12.3 MP 相机,需要额外的驱动程序才能连接。 Arducam 为带有 IMX477 传感器的相机提供易于绝缘的 IMX477 驱动程序。 (确保检查网站并使用最新的命令。)

下载自动安装脚本:

cd ~
wget https://github.com/ArduCAM/MIPI_Camera/releases/download/v0.0.3/install_full.sh
安装驱动程序:
chmod +x install_full.sh
./install_full.sh -m imx477

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

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

ls /dev/video0
你可以使用 JetsonHacks python 代码从使用 OpenCV 的相机获取帧。


PyTorch & torchvision

Yolov5 模型是在 Pytorch 框架中实现的。 PyTorch 是一个基于 Torch 库的开源机器学习库,用于计算机视觉和自然语言处理应用程序。

这是在 Jetson 开发套件上安装 PyTorch 和 torchvision 的完整指南。

推理

在 Jetson nano 上clone JetsonYolo 存储库。

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


下载 Yolov5 模型 根据模型大小、所需速度和精度选择所需模型。 你可以在Assets部分找到可用模型。 使用以下命令下载模型并将其移动到权重文件夹。

cd weights
wget https://github.com/ultralytics/yolov5/releases/download/v5.0/yolov5s.pt
运行 JetsonYolo.py 以使用相机检测对象。
python3 JetsonYolo.py


结论 本文重点介绍使用 IMX477 摄像头捕捉帧和执行对象检测。 设置这种类型的相机需要额外的驱动程序安装步骤,Aducam 已经提

供了 Jetson Linux Driver (L4T) 的驱动程序。 安装必要的驱动程序和 Python 库后,Yolov5 在 Jetson Nano 上实现为 JetsonYolo,

并以每秒 12 帧的速度取得令人满意的结果。


路过

雷人

握手

鲜花

鸡蛋
我有话说......

TA还没有介绍自己。

电话咨询: 135xxxxxxx
关注微信