YOLOv11 C++ TensorRT项目使用

文摘   2024-10-21 07:45   重庆  

点击下方卡片,关注“OpenCV与AI深度学习

视觉/图像重干货,第一时间送达!

    YOLOv11 C++ TensorRT 项目是一个用 C++ 实现并使用 NVIDIA TensorRT 进行优化的高性能对象检测解决方案。该项目利用 YOLOv11 模型提供快速准确的对象检测,并利用 TensorRT 最大限度地提高推理效率和性能。

    项目地址:
https://github.com/hamdiboukamcha/Yolo-V11-cpp-TensorRT
主要特点:
    • 模型转换:将 ONNX 模型转换为 TensorRT 引擎文件以加速推理。
    • 视频推理:有效地对视频文件进行对象检测。
    • 图像推理:对单个图像执行对象检测。
    • 高效率:针对使用 NVIDIA GPU 的实时物体检测进行了优化。
    • 使用 CUDA 进行预处理:支持 CUDA 的预处理可实现更快的输入处理。

项目结构
YOLOv11-TensorRT/├── CMakeLists.txt          # Build configuration for the project├── include/                # Header files├── src/│   ├── main.cpp            # Main entry point for the application│   ├── yolov11.cpp         # YOLOv11 implementation│   └── preprocess.cu       # CUDA preprocessing code├── assets/                 # Images and benchmarks for README└── build/                  # Compiled binaries
设置(先决条件)
    • CMake(版本 3.18 或更高版本)
    • TensorRT(V8.6.1.6:用于使用 YOLOv11 进行优化推理。)
    • CUDA 工具包(V11.7:用于 GPU 加速)
    • OpenCV(V4.10.0:用于图像和视频处理)
    • NVIDIA GPU(计算能力 7.5 或更高)

安装配置

    1. 克隆存储库:
git clone https://github.com/hamdiboukamcha/Yolo-V11-cpp-TensorRT.gitcd YOLOv11-TensorRT
    2.更新CMakeLists.txt中的TensorRT和OpenCV路径:
set(TENSORRT_PATH "F:/Program Files/TensorRT-8.6.1.6")  # Adjust this to your path

    3. 构建项目

mkdir buildcd buildcmake ..make -j$(nproc)
🚀 使用方法
    将 Yolov11 转换为 ONNX 模型
from ultralytics import YOLOLoad the YOLO modelmodel = YOLO("yolo11s.pt")#Export the model to ONNX formatexport_path = model.export(format="onnx")
    将 ONNX 模型转换为 TensorRT 引擎
    要将 ONNX 模型转换为 TensorRT 引擎文件,请使用以下命令:
./YOLOv11TRT convert path_to_your_model.onnx path_to_your_engine.engine.
    path_to_your_model.onnx:ONNX 模型文件的路径。
    path_to_your_engine.engine:TensorRT 引擎文件的保存路径。
对视频进行推理
    要对视频运行推理,请使用以下命令:
./YOLOv11TRT infer_video path_to_your_video.mp4 path_to_your_engine.engine
    path_to_your_video.mp4:输入视频文件的路径。
    path_to_your_engine.engine:TensorRT 引擎文件的路径。
对图片进行推理
    要对图片运行推理,请使用以下命令:
./YOLOv11TRT infer_image path_to_your_image.jpg path_to_your_engine.engine
    path_to_your_image.jpg:输入图像文件的路径。
    path_to_your_engine.engine:TensorRT 引擎文件的路径。
⚙️ 配置
    CMake 配置
    在 CMakeLists.txt 中,如果 TensorRT 和 OpenCV 安装在非默认位置,请更新它们的路径:
    设置TensorRT安装路径:
#Define the path to TensorRT installationset(TENSORRT_PATH "F:/Program Files/TensorRT-8.6.1.6")  # Update this to the actual path for TensorRT
    确保该路径指向安装 TensorRT 的目录。
异常解决
    找不到 nvinfer.lib:确保 TensorRT 已正确安装且 nvinfer.lib 位于指定路径中。更新 CMakeLists.txt 以包含 TensorRT 库的正确路径。
    链接器错误:验证所有依赖项(OpenCV、CUDA、TensorRT)是否正确安装,以及它们的路径是否在 CMakeLists.txt 中正确设置。
    运行时错误:确保您的系统具有正确的 CUDA 驱动程序,并且 TensorRT 运行时库可访问。将 TensorRT 的 bin 目录添加到您的系统 PATH。

—THE END—

下载1:Pytorch常用函数手册

在「OpenCV与AI深度学习公众号后台回复:Pytorch函数手册即可下载学习全网第一份Pytorch函数常用手册,包括Tensors介绍、基础函数介绍、数据处理函数、优化函数、CUDA编程、多处理等十四章内容。

下载2:145个OpenCV实例应用代码
在「OpenCV与AI深度学习」公众号后台回复:OpenCV145即可下载学习145个OpenCV实例应用代码(Python和C++双语言实现)。

欢迎加入CV学习交流微信

觉得有用,记得点个赞和在看 

OpenCV与AI深度学习
专注计算机视觉、深度学习和人工智能领域干货、应用、行业资讯的分享交流!
 最新文章