当前位置: 首页 > news >正文

【推理加速】TensorRT C++ 部署YOLO11全系模型

YOLO11

YOLO11 C++推理YOLO11是Ultralytics最新发布的 目标检测、实例分割、姿态评估的系列模型视觉轻量化框架,基于前代YOLO8版本进行了多项改进和优化。YOLO11在特征提取、效率和速度、准确性以及环境适应性方面都有显著提升,达到SOTA。

TensorRT C++ SDK

最新版本的TensorRT10.x版本已经修改了推理的接口函数与查询输入输出层的函数,其中以YOLO11对象检测为例,获取输入与输出层维度查询代码如下:

// 获取输入与输出维度
auto inputDims = this->engine->getTensorShape("images");
auto outDims = this->engine->getTensorShape("output0");// 获取输入维度信息
this->input_h = inputDims.d[2];
this->input_w = inputDims.d[3];
printf("inputH : %d, inputW: %d \n", this->input_h, this->input_w);// 获取输出维度信息
this->output_h = outDims.d[1];
this->output_w = outDims.d[2];
std::cout << "out data format: " << this->output_h << "x" << this->output_w << std::endl;

推理的API函数已经更新直接输入GPU缓存数据,代码如下:

cv::Mat blob = cv::dnn::blobFromImage(image, 1 / 255.0, cv::Size(this->input_w, this->input_h), cv::Scalar(0, 0, 0), true, false);
cudaMemcpyAsync(buffers[0], blob.ptr<float>(), 3 * this->input_h * this->input_w * sizeof(float), cudaMemcpyHostToDevice, stream);
// 推理
context->executeV2(buffers);

其中buffers为GPU数据缓存。

YOLO11对象检测 + TensorRT10.8推理演示:
在这里插入图片描述

YOLO11实例分割 + TensorRT10.8推理演示:
在这里插入图片描述

YOLO11姿态评估 + TensorRT10.8推理演示:
在这里插入图片描述
上述代码我均已经完成C++的封装,SDK 三行代码即可客户端调用,调用演示的代码如下:

# include <tensorrt_yolo11_pose.h>
#include <iostream>
#include <fstream>int main(int argc, char** argv) {std::shared_ptr<YOLO11TRTPose> detector(new YOLO11TRTPose());detector->initConfig("D:/python/yolov5-7.0/yolo11n-pose.engine", 0.25f);//cv::Mat frame = cv::imread("D:/boogup.jpg");//detector->detect(frame);//cv::imshow("YOLO11姿态评估 + TensorRT10.8 - OpenCV学堂", frame);//cv::waitKey(0);//cv::destroyAllWindows();cv::VideoCapture capture("D:/images/video/dance.mp4");cv::Mat frame;std::vector<DetectResult> results;while (true) {bool ret = capture.read(frame);if (frame.empty()) {break;}detector->detect(frame);cv::imshow("YOLO12姿态评估 + TensorRT10.8 - OpenCV学堂", frame);char c = cv::waitKey(1);if (c == 27) { // ESC 退出break;}}cv::waitKey(0);cv::destroyAllWindows();return 0;
}

源码获取

掌握TensorRT10.8 C++如何部署图像分类,对象检测,实例分割,语义分割主流模型,自定义脚本一键INT8量化模型,使用OpenCV CUDA加速图像预处理等各种工程化部署推理技巧,实现推理部署的工程化封装支持,客户端三行代码即可调用,支持YOLOv5~YOLO12系列模型一键集成部署与量化!全部解锁上述技能与源码获取,点击这里

相关文章:

  • 车载网关设计原则 ---- 透明性与诊断可追溯性
  • 分贝计如何帮助改善睡眠环境
  • 常见排序算法详解及其复杂度分析
  • Linux 线程(中)
  • OptiStruct结构分析与工程应用:结构激励
  • (Java基础笔记vlog)Java中常见的几种设计模式详解
  • Axure系统原型设计列表版方案
  • 构建基于全面业务数据的大数据与大模型企业护城河战略
  • 安装部署配置jenkins
  • 48页 @《人工智能生命体 新启点》中國龍 原创连载
  • HJ101 输入整型数组和排序标识【牛客网】
  • JAVA8怎么使用9的List.of
  • 芯片数据手册下载网站整理
  • Go File多终端数据同步技术全解:跨设备数据管理实战指南与复杂场景处理过程
  • HTA8111 18W内置升压单声道D类音频功放
  • 博奥龙Nanoantibody系列IP专用抗体
  • 投票合约1
  • Athena 执行引擎:在线服务计算的效率王者
  • 机器学习实战:犯罪率预测模型
  • C# Unity容器详解
  • 关于做网站的策划书/潍坊快速网站排名
  • 陕西省建设厅人力资源网站/网店代运营收费
  • 温州网站建设推广服务/流量精灵
  • 动态h5网站开发/seo服务内容
  • 网站建设公司主营业务/百度怎么推广
  • 如何做网站的教程视频/收录入口在线提交