项目简介
本项目借助YoloV5s-V5.0版本达成工地上安全帽佩戴情况的检测。该项目不仅能够部署在Jetson Nano等边缘硬件平台,也可在Windows和Linux系统中运行。同时,通过运用TensorRT加速技术,实现模型在边缘硬件上更快且实时地处理数据。
项目的主要特性和功能
- 轻量级模型:采用YoloV5s-V5.0网络,此为YoloV5中模型最小的版本,推理速度快且准确性高。
- 加速处理:集成TensorRT加速,提高边缘硬件平台的数据处理效率。
- 多环境适配:支持在Jetson Nano、Windows、Linux等不同环境下运行。
- 多格式数据集支持:支持安全帽VOC格式和Yolo格式数据集,两种格式可相互转换。
- 训练灵活:既可以使用已有数据集训练,也能自制数据集进行训练。
安装使用步骤
环境配置与项目复制
配置好对应环境后,复制项目到本地:
$ cd HelmetDetection
TensorRT加速下YoloV5s推理
``` $ cd helmet_yolov5 $ python detect.py --source 0 # webcam file.jpg # image file.mp4 # video path/ # directory path/*.jpg # glob rtsp://170.93.143.139/rtplive/470011e600ef003a004ee33696235daa # rtsp stream http://112.50.243.8/PLTV/88888888/224/3221225900/1.m3u8 # http stream
$ python detect.py --source test.jpg --weights helmet.pt ```
模型训练步骤
- 准备数据集和权重文件:准备好安全帽的yolo格式数据集(百度网盘链接:https://pan.baidu.com/s/1CceCFIYzpBjjPcCe4_dr7g ,提取码:gyre)和官方YoloV5s权重文件(百度网盘链接:https://pan.baidu.com/s/1PPEDV2UZsPLpugEAEW2wGg ,提取码:6pfy)。
- (可选)制作自己的数据集:收集图像并使用标注工具标注生成xml文件,文件格式参照VOC数据集格式,Main文件的txt文件可通过
../utils/generate_txt.py
生成。 - (可选)转换数据集格式:使用
../utils/gen_yolo_format.py
将VOC格式数据集转换为yolo格式数据集。 - 复制YoloV5官方代码。
- 准备环境:
$ cd yolov5 $ pip install -r requirements.txt
- 创建配置文件:修改
data/custom_data.yaml
文件,设置数据集路径、分类数量和类别名称。 - 选择训练模型:在models文件夹中选择yoloV5s训练并修改配置存放为
yolov5s.yaml
,仅需修改类别数量。 - 执行训练文件:
$ python train.py --epochs 200 --data custom_data.yaml --cfg yolov5s.yaml --weights yolov5s.pt --device 0
训练好的权重在生成的runs文件夹里的weights中的best.pt。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】