首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >TensorRT10.8 C++部署YOLO11全系模型

TensorRT10.8 C++部署YOLO11全系模型

作者头像
OpenCV学堂
发布2026-04-02 19:47:14
发布2026-04-02 19:47:14
1291
举报
YOLO11模型下载与转换

下载YOLO11对象检测预训练模型,直接从下面链接下载即可:

代码语言:javascript
复制
https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11n.pt

下载YOLO11实例分割预训练模型,直接从下面链接下载即可:

代码语言:javascript
复制
https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11n-seg.pt

下载YOLO11实例分割预训练模型,直接从下面链接下载即可:

代码语言:javascript
复制
https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11n-pose.pt

先通过下面的命令行转为ONNX格式模型

代码语言:javascript
复制
yolo export model=yolo11.pt format=onnx

然后再通过TensorRT的命令行转换为engine文件:

代码语言:javascript
复制
trtexec.exe --onnx=yolo11n.onnx --saveEngine=yolo11n.engine

通过Netron可以查看YOLO11模型的输入与输出格式,截图如是:

可见跟YOLOv8系列模型的输入与输出格式保持一致,没有改动!

TensorRT推理

直接使用我们之前的YOLOv8对象检测代码测试,加载YOLO11n对象检测模型,推理运行如下:

图片
图片

加载YOLO11n实例分割模型,推理运行如下:

加载YOLO11n姿态评估模型,推理运行如下:

测试代码如下(已经封装为一个C++的类,只需三行代码即可调用,支持YOLOv8~YOLO13对象检测模型部署推理):

代码语言:javascript
复制
std::shared_ptr<YOLOv81112TRTDetector> detector(new YOLOv81112TRTDetector());
detector->initConfig("D:/python/yolov5-7.0/yolo11n.engine", 0.4, 0.25f);
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, results);
for (DetectResult dr : results) {
		cv::Rect box = dr.box;
		cv::putText(frame, classNames[dr.classId], cv::Point(box.tl().x, box.tl().y - 10), cv::FONT_HERSHEY_SIMPLEX, .5, cv::Scalar(0, 0, 0));
	}
	cv::imshow("YOLO11对象检测 + TensorRT10.8 - OpenCV学堂", frame);
char c = cv::waitKey(1);
if (c == 27) { // ESC 退出
break;
	}
// reset for next frame
	results.clear();
}
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-07-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 OpenCV学堂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档