Jetson AGX Xavier 安装配置深度学习环境并部署 yolo 进行检测识别
@
一. Jetson 开发板系统相关
1. jetson AGX Xavier 系统烧录
相关步骤:
https://blog.csdn.net/tracy_baker/article/details/113741443
注意事项:
虚拟机
必须
为 ubuntu16.04 或 ubuntu18.04
虚拟机分配的空间必须大于100G
使用虚拟机安装 jetson SdkManager 时必须按照步骤进行换源,否则会有安装失败可能
Jetson 开发板及后续使用的 python 版本
必须
为 python3.6
jetson 系统中 python 虚拟环境
不能使用
anaconda 进行管理,anaconda 会有无法安装 python3.6 虚拟环境的情况
SdkManager 默认安装的 CUDA 的版本为 10.2
jetson 中 CPU 为 ARMv8 架构,安装软件时
必须
选择 带有 ARMv8 或 aarch64 的安装包,一般的安装包无法安装
2. jetson AGX Xavier 系统信息查看
使用 jtop 命令查看系统 CPU、GPU、内存等的占用
安装:
sudo pip install jetson-stats
使用:
jtop
或
sudo jtop
jinru
介绍: 使用
jtop
可以图形化查看系统相关资源占用情况,并修改相关系统参数(具体可自行搜索)
二、jetson 安装深度学习环境
1. CUDA 与 opencv
CUDA10.2 与 opencv 4.1 在系统刷入中会被自动安装
2. pytorch 与 torchvision
pytorch for Jetson 安装教程:
Nvidia 官方教程
注意事项:
python (虚拟)环境
必须
为 python3.6,Nvidai 提供的所有安装包都是基于 python3.6 版本的
pytorch 选择 PyTorch v1.10.0 (根据需要执行选择)
torchVision 选择与 torch 相对应版本(torch v1.10.0对应 torchVision v0.11.1)
Nvidia Jetson 开源插件包与框架合集:
https://elinux.org/Jetson_Zoo
三、jetson 运行 yolo 相关程序
执行
pip install -r requirements.txt
安装 yolov5 需要的环境
默认下载的是 yolov5_t6 版,运行
python detect.py --weights yolov5s.py --source 0 --img 640
调用本地摄像头实时进行检测
2. 选择下载
yolov5_t5
第五版程序,因为本实验室的相关权重训练都是在 yolov5 第五版中进行的
执行
pip install -r requirements.txt
安装 yolov5 需要的环境
运行
python detect.py --weights yolov5s.py --source 0 --img 640
调用本地摄像头实时进行检测时会报错
注意事项;
默认下载的 yolov5 为第六版程序,本实验需要第五版,需要进行调整
yolov5_t5 默认使用
--source 0
调用本地摄像头会出错,解决方法在
Issues 2875
yolov5_t5 使用本地视频进行检测时,默认不会 imshow,需要修改代码
四、jetson 运行 yolov5 猪脸相关程序
1. 本地运行yolov5原版并实时展示
# --weights 相关权重
# --source 0:表示使用本地摄像头 rtmp://xxx 表示使用网络直播源 xxx.mp4 表示使用本地视频
# --img-size 表示识别的图片大小
python detect.py --weights yolov5s.pt --source 0 --img-size 640
2. 本地运行猪脸识别并实时展示
# --weights 相关权重
# --source 0:表示使用本地摄像头 rtmp://xxx 表示使用网络直播源 xxx.mp4 表示使用本地视频
# --img-size 表示识别的图片大小
# 使用一头猪的权重实时检测一头猪的视频
python detect001.py --weights try/pig_1/best.pt --source try/pig_1/pig_1.mp4 --img-size 640
3. 本地运行猪脸识别并使用RTMP协议推流到 jetlinks-big-screen 页面进行实时展示
# --weights 相关权重
# --source 0:表示使用本地摄像头 rtmp://xxx 表示使用网络直播源 xxx.mp4 表示使用本地视频
# --img-size 表示识别的图片大小
# 使用一头猪的权重实时检测一头猪的视频
# detect002.py 中修改增加了RTMP推流的部分代码
python detect002.py --weights try/pig_1/best.pt --source try/pig_1/pig_1.mp4 --img-size 640
4. 程序接受 nanopc-T4 开发板采集 RTMP 视频流并调用猪脸识别再使用 RTMP协 议推流到 jetlinks-big-screen 页面进行实时展示
# --weights 相关权重
# --source 0:表示使用本地摄像头 rtmp://xxx 表示使用网络直播源 xxx.mp4 表示使用本地视频
# --img-size 表示识别的图片大小
# 使用一头猪的权重实时检测一头猪的视频
# detect004_rtmp2rtmp.py 中修改增加了RTMP推流的部分代码
# 运行本代码前需要先在 nanopc-T4 开发板中运行实时视频采集与推流程序,之后本程序才能接收到 RTMP 视频流
# nanopc-T4中程序:https://gitee.com/qiaoyukeji/nanopc2jetlinks4mqtt/blob/master/test_007_rtmp2jetson/rtmp001.py
python detect004_rtmp2rtmp.py --weights try/pig_1/best.pt --source rtmp://42.192.123.52/live/jetson --img-size 640
本文首发于本人博客:https://blog.gitnote.cn/post/jetson-yolov5-pig-detect/
版权信息: CC BY-NC-SA 4.0 (自由转载-非商用-相同方式共享-保持署名)