用 yolov5s 训练口罩检测模型,并在 jetson nano 下部署测试

一 训练环境:

ubuntu 20.04  + pytorch 1.7 + torchvison 0.8 

gpu: gtx1080 8GB 

 

二 下载 yolov5 模型及权重:

https://github.com/ultralytics/yolov5

利用 weigths/download_weights.sh 来下载 yolov5s.pt , 必要的时候 科鞋上网

 

三 组织 训练数据 

3.1 数据集下载 (感谢学长):

https://pan.baidu.com/s/1ZJbzf5qF9GKEqyo0RskWiQ

密码:  53hn

3.2 准备 yolo 训练使用的数据集格式

把第一个 红框的数据集拿来训练 , 我整理好了 yolo系列需要的数据格式,分享一下:

https://github.com/walletiger/facemask_annotations

 

一图来了解  ultralytics/yolovXX 系列模型需要的数据集格式:

把网上下载的 口罩数据集 train 和 val 数据解压 到 images/train , images/val

3.3 准备 facemask.yaml 文件

放到 yolov5/data目录下, 格式如下:

train: /workspace/data/facemark/facemask_annotations/facemask_labels_yolov5/dataset/images/train  # 128 images
val: /workspace/data/facemark/facemask_annotations/facemask_labels_yolov5/dataset/images/val   # 128 images

# number of classes
nc: 2

# class names
names: ['face', 'facemark']

四 训练 过程

python3 train.py --img 640 --batch 16 --epochs 160 --data facemask.yaml --weights yolov5s.pt  --cache-images

在 runs/train/expX 下可以看到 训练 收敛过程和 验证结果

 

results.txt 记录了每个 epoch 训练的 精度 、召回率、mAP等数据,

train_batchx.jpg 是阶段性验证结果 ,如下示例:

 

五 在jetson nano 下验证模型

5.1 下载 yolov5 代码

git clone https://github.com/ultralytics/yolov5

5.2 上传训练 好的模型:

我的在训练 主机 runs/exp3/weights/best.pt , 放到  jetson nano yolov5/

5.3 测试一把 video 检测

 python3 detect.py --source /workspace/data/360p1.mp4 --weights best.pt --conf 0.3

准确率还可以, 速度不快 110~120 ms 一帧

据说 可以通过 转 onnx -> tensortRT 获得开挂般的性能。。 后续 再研究。

转 tensorRT :

https://blog.csdn.net/walletiger/article/details/111027113

 

 

 

### Jetson 嵌入式系统的部署教程 #### 选择合适的硬件和软件环境 为了成功在Jetson平台上部署嵌入式应用,首先需要确认所使用的硬件型号以及配套的JetPack版本。对于不同的Jetson设备(如Nano, Xavier NX等),NVIDIA提供了对应的JetPack SDK支持包,其中包含了Linux操作系统、CUDA工具链以及其他必要的库文件[^1]。 #### 准备开发环境 确保主机能够连接到互联网以便获取最新的依赖项更新。接着按照官方指南设置好Ubuntu系统下的Python解释器及其pip管理工具: ```bash $ sudo apt update && sudo apt upgrade -y $ sudo apt install python-pip python3-pip $ pip3 install --upgrade pip $ pip install --upgrade pip ``` 上述命令不仅会安装Python的相关组件还会将其升级至最新稳定版[^3]。 #### 获取目标检测模型 本案例采用YOLOv5作为基础框架进行口罩佩戴情况监测的任务实现。考虑到性能优化的需求,在实际部署前已经预先训练好了特定场景下表现良好的`yolov5s-6.0`权重参数集,且针对两类标签进行了定制化调整——即戴口罩与否两种状态[^2]。 #### 转换模型格式适配TensorRT 由于直接运行PyTorch原生导出的.pt格式效率较低,因此推荐转换成通用性强且易于加速推理过程的ONNX形式。之后借助于TensorRT内置的支持功能进一步简化加载流程提升执行速度。具体来说就是利用tensorRT_Pro这个开源项目所提供的脚本来完成整个迁移工作流。 #### 编译与测试 当一切准备就绪后就可以着手编译工程了。这一步骤涉及到将高层级API定义转化为底层指令序列的过程,期间可能会遇到各种兼容性问题或是配置错误提示。务必仔细阅读文档说明参照给出的例子逐步排查直至顺利产出可执行文件。最后不要忘了验证最终成果是否符合预期效果,比如观察输出图像中标记物体位置是否准确无误。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

walletiger

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值