项目简介
本项目是基于YOLOv5模型的深度学习目标检测项目,借助NVIDIA的TensorRT工具对模型推理进行优化。把YOLOv5模型转换为TensorRT格式后,可在边缘设备上实现高效推理,适用于图像和视频的实时目标检测任务,为开发者提供了快速上手的高效目标检测解决方案,尤其适合高性能推理场景。
项目的主要特性和功能
- 支持YOLOv5模型的训练和推理,可处理多种目标检测任务。
- 通过TensorRT对YOLOv5模型优化,支持FP16推理模式,显著提升推理速度。
- 支持从模型导出到推理的完整流程,简化部署过程。
- 集成非极大值抑制(NMS)后处理功能,保证检测结果准确。
- 提供命令行参数配置,支持自定义输入图像、模型路径和类别名称等。
- 支持TensorRT 7和TensorRT 8,开发者可按需选择版本。
安装使用步骤
步骤一:环境配置
- 确保系统已安装CUDA和TensorRT,并正确配置环境变量。
- 安装CMake和GCC编译器(或其他C++编译器)。
步骤二:模型导出
使用提供的Python脚本将YOLOv5模型导出为TensorRT格式:
bash
python tools/converter.py -f configs/damoyolo_tinynasL25_S.py -c damoyolo_tinynasL25_S.pth --batch_size 1 --img_size 640 --trt --end2end --half
注意:若需使用TensorRT 8的EfficientNMS,导出时要指定TensorRT版本。
步骤三:项目构建
- 创建构建目录并执行CMake命令:
bash mkdir build cmake -DCMAKE_CUDA_COMPILER=/usr/local/cuda-11.1/bin/nvcc .. make -j8
确保在CMakeLists.txt
中正确填写CUDA和TensorRT的路径。
步骤四:运行推理
- 构建成功后,在
build
目录下会生成可执行文件yolort_trt
。 - 使用以下命令运行目标检测:
bash ./yolort_trt --image ../samples/0126.jpg --model_path ../damoyolo_tinynasL25_S_end2end_fp16_bs1.trt --class_names ../coco.names
其中,--image
指定输入图像路径,--model_path
指定TensorRT模型路径,--class_names
指定类别名称文件。
步骤五:参数调整
- 根据需要调整检测阈值、输入图像大小等参数,以获得最佳检测效果。
- 若使用TensorRT 8的EfficientNMS,要在代码中正确设置
box_coding
参数。
注意事项
- 使用TensorRT 8时,导出模型需指定版本,并在代码中正确配置相关参数。
- 项目中的预处理和后处理部分可能需根据具体需求调整。
- 确保所有依赖库(如CUDA、TensorRT、OpenCV等)已正确安装并配置环境变量。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】