TensorRT 部署 YOLOv8 目标检测、关键点检测、实例分割、目标跟踪

一. 项目简介

  • 基于 TensorRT-v8 ,部署YOLOv8 目标检测、关键点检测、实例分割、目标跟踪;

  • 支持嵌入式设备 Jetson 系列上部署,也可以在 Linux x86_64 的服务器上部署;

  • 本项目无需编译安装支持cudaOpenCV,前后处理相关的张量操作都是作者通过cuda编程实现;

  • 模型转换方式:.pth -> .onnx -> .plan(.engine)

  • 作者使用 PythonC++ 2 种 api 分别做了实现;

  • 均采用了面向对象的方式,便于结合到其他项目当中;

  • C++ 版本的还会编译为动态链接库,便于在其他项目种作为接口调用;

二. 项目效果

  • 原图
    在这里插入图片描述

  • 目标检测
    在这里插入图片描述

  • 关键点检测
    在这里插入图片描述

  • 实例分割
    在这里插入图片描述

三. 推理速度

detectposesegment
C++4 ms5 ms8 ms
python15 ms15 ms27 ms
  • 这里的推理时间包含前处理、模型推理、后处理
  • 这里基于 x86_64 Linux 服务器,Ubuntu系统,显卡为GeForce RTX 2080 Ti

四. 环境配置

  1. 基本要求:
  • TensorRT 8.0+
  • OpenCV 3.4.0+

如果基本要求已满足,可直接进入各目录下运行各任务

环境构建可以参考下面内容:

  1. 如果是 Linux x86_64 服务器上,建议使用 docker
  • 具体环境构建,可参考这个链接 构建TensorRT环境 的环境构建部分,也是作者的项目
  1. 如果是边缘设备,如:Jetson Nano
  • 烧录 Jetpack 4.6.1 系统镜像,网上烧录镜像资料还是很多的,这里就不赘述了
  • Jetpack 4.6.1 系统镜像原装环境如下:
CUDAcuDNNTensorRTOpenCV
10.28.28.2.14.1.1

五. 项目地址

六. 项目运行

  • 本项目PythonC++目录下均包含detectposesegment
  • 按照各自目录下的 README 分别实现目标检测、关键点检测、实例分割 3 种任务。
  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Yolov8是一种基于深度学习的目标检测算法,使用TensorRT进行部署可以提高模型的推理速度和性能。以下是用于TensorRT部署Yolov8的基本步骤: 首先,需要将Yolov8模型转换为TensorRT的可用格式。这可以通过使用TensorRT Python API中的工具函数来实现。首先,加载原始Yolov8模型,并将其转换为TensorRT可用的中间表示。然后,进行网络层的优化,例如融合卷积和批量归一化操作等,以提高推理性能。最后,将优化后的模型序列化为TensorRT引擎文件。 接下来,可以使用TensorRT引擎文件进行推理。首先,创建一个TensorRT运行时对象,并加载之前生成的TensorRT引擎。然后,为输入和输出数据创建CUDA内存,并将数据传递给TensorRT引擎。最后,运行推理过程,获取输出结果并进行后处理。 在进行Yolov8模型的TensorRT部署时,还可以通过一些技巧和优化来进一步提高性能。例如,使用TensorRT提供的FP16精度推理可以在性能和模型准确性之间取得平衡。此外,可以对输入数据进行预处理,例如通过缩放、归一化和裁剪等方式来优化输入数据的质量。 以上就是使用TensorRT部署Yolov8的基本步骤。通过将Yolov8模型转换为TensorRT引擎,并使用TensorRT运行时对象进行推理,可以加快模型的推理速度,并且具有更高的性能。这种部署方法可以在嵌入式设备和边缘计算环境中广泛使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值