0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

TensorRT 8.6 C++开发环境配置与YOLOv8实例分割推理演示

OpenCV学堂 来源:OpenCV开发者联盟 2023-04-25 10:49 次阅读

硬件与软件版本信息

GPU3050ti Windows10 64 VS2017 Python3.8.5 CUDA11.3 + cuDNN8.3

TensorRT8.6版本下载

https://developer.nvidia.com/tensorrt

VS2017+TensorRT8.6开发环境配置

下载好TensorRT8.6之后解压缩到D盘D:TensorRT-8.6.0.12,目录结构如下:

bf0c0b40-ddad-11ed-bfe3-dac502259ad0.png

打开VS2017,新建一个C++控制台空项目如下图:

bf1b465a-ddad-11ed-bfe3-dac502259ad0.png

bf2f744a-ddad-11ed-bfe3-dac502259ad0.png

点击【确定】会生成一个C++控制台项目。右键源文件添加cpp文件 main.cpp

bf4db482-ddad-11ed-bfe3-dac502259ad0.png

修改项目为:

bf7260ac-ddad-11ed-bfe3-dac502259ad0.png

然后右键项目名称test_trt86, 从弹出菜单中选择属性,显示如下:

bf841838-ddad-11ed-bfe3-dac502259ad0.png

在包含目录中添加TensorRT的include目录与CUDA的include目录:

bf95e2de-ddad-11ed-bfe3-dac502259ad0.png

在库目录中添加TensorRT的lib目录与CUDA的lib目录:

bfb321d2-ddad-11ed-bfe3-dac502259ad0.png

从链接器-》输入中添加库目录下面所有包含的的*.lib文件依赖。

bfcf24cc-ddad-11ed-bfe3-dac502259ad0.png

最后配置环境变量:

bfdfd6aa-ddad-11ed-bfe3-dac502259ad0.png

3跟4安装好CUDA会自动添加,不用管!添加好2即可。然后重启VS2017即完成开发环境搭建。

YOLOv8实例分割C++推理演示

对YOLOv8实例分割TensorRT 推理代码已经完成C++类封装,三行代码即可实现YOLOv8对象检测与实例分割模型推理,不需要改任何代码即可支持自定义数据训练部署推理,演示代码如下:

1intmain(intargc,char**argv){ 2std::vectorlabels=readClassNames(); 3std::stringenginefile="D:/TensorRT-8.6.0.12/bin/yolov8n-seg.engine"; 4cv::VideoCapturecap("D:/bird_test/hongyegu.mp4"); 5cv::Matframe; 6autodetector=std::make_shared(); 7detector->initConfig(enginefile,0.25,0.25); 8std::vectorresults; 9while(true){ 10boolret=cap.read(frame); 11if(frame.empty()){ 12break; 13} 14detector->detect(frame,results); 15for(DetectResultdr:results){ 16cv::Rectbox=dr.box; 17cv::putText(frame,labels[dr.classId],cv::Point(box.tl().x,box.tl().y-10),cv::FONT_HERSHEY_SIMPLEX,.5,cv::Scalar(0,0,0)); 18} 19cv::imshow("YOLOv8+TensorRT8.6实例分割演示",frame); 20charc=cv::waitKey(1); 21if(c==27){//ESC退出 22break; 23} 24//resetfornextframe 25results.clear(); 26} 27return0; 28} 运行结果如下:

c005a6c8-ddad-11ed-bfe3-dac502259ad0.png

YOLOv5与YOLOv8自定义对象检测 INT8量化推理运行结果:

c02760ec-ddad-11ed-bfe3-dac502259ad0.png

c06e5150-ddad-11ed-bfe3-dac502259ad0.png

c08bfdae-ddad-11ed-bfe3-dac502259ad0.png

视频课程最后一课时获取源码:

https://ke.qq.com/course/6011334

掌握TensorRT8.6 C++如何部署图像分类,对象检测,实例分割,语义分割主流模型,自定义脚本一键INT8量化模型,使用OpenCV CUDA加速图像预处理等各种工程化部署推理技巧,实现推理部署的工程化封装支持,客户端三行代码即可调用!全部解锁上述技能与源码获取,扫码下面视频课程加入即可获取:

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C++
    C++
    +关注

    关注

    21

    文章

    2066

    浏览量

    72901
  • 变量
    +关注

    关注

    0

    文章

    596

    浏览量

    28112
  • OpenCV
    +关注

    关注

    29

    文章

    611

    浏览量

    40790

原文标题:TensorRT 8.6 C++开发环境配置与YOLOv8实例分割推理演示

文章出处:【微信号:CVSCHOOL,微信公众号:OpenCV学堂】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    C++演示中的推理速度比Python演示中的推理速度更快是为什么?

    在同一主机机上采用相同型号的 Ran Object Detection C++ 演示 和 对象检测 Python 演示C++ 演示
    发表于 08-15 06:52

    【爱芯派 Pro 开发板试用体验】yolov8模型转换

    尝试将最新的yolov8模型转换为爱芯派的模型。 环境准备 准备Docker环境 首先自己在任意机器上准备好docker环境,详细步骤见官网。 Docker 镜像文件 准备 yolo
    发表于 11-20 12:19

    使用YOLOv8做目标检测和实例分割演示

    YOLOv8是来自Ultralytics的最新的基于YOLO的对象检测模型系列,提供最先进的性能。
    的头像 发表于 02-06 10:11 5988次阅读

    YOLOv8自定义数据集训练到模型部署推理简析

    如果你只是想使用而不是开发,强烈推荐通过pip安装方式获取YOLOv8包!YOLOv8安装命令行
    的头像 发表于 03-24 09:27 3754次阅读

    在AI爱克斯开发板上用OpenVINO™加速YOLOv8分类模型

    本系列文章将在 AI 爱克斯开发板上使用 OpenVINO 开发套件依次部署并测评 YOLOv8 的分类模型、目标检测模型、实例分割模型和人
    的头像 发表于 05-05 11:47 600次阅读
    在AI爱克斯<b class='flag-5'>开发</b>板上用OpenVINO™加速<b class='flag-5'>YOLOv8</b>分类模型

    如何实现YOLOv8 + ONNRUNTIME推理界面化与多线程支持

    2023年一月份跟二月份创建了一个PyQT5人工智能软件开发系列的文章系列,过去的两个月都没怎么更新,心里一直想有时间继续更新下去,今天又更新了一篇,基于PyQT5实现多线程、界面化、YOLOv8对象检测、实例
    的头像 发表于 05-22 09:26 1475次阅读
    如何实现<b class='flag-5'>YOLOv8</b> + ONNRUNTIME<b class='flag-5'>推理</b>界面化与多线程支持

    在AI爱克斯开发板上用OpenVINO™加速YOLOv8-seg实例分割模型

    《在 AI 爱克斯开发板上用 OpenVINO 加速 YOLOv8 目标检测模型》介绍了在 AI 爱克斯开发板上使用 OpenVINO 开发套件部署并测评
    的头像 发表于 06-05 11:52 606次阅读
    在AI爱克斯<b class='flag-5'>开发</b>板上用OpenVINO™加速<b class='flag-5'>YOLOv</b>8-seg<b class='flag-5'>实例</b><b class='flag-5'>分割</b>模型

    教你如何用两行代码搞定YOLOv8各种模型推理

    大家好,YOLOv8 框架本身提供的API函数是可以两行代码实现 YOLOv8 模型推理,这次我把这段代码封装成了一个类,只有40行代码左右,可以同时支持YOLOv8对象检测、
    的头像 发表于 06-18 11:50 2088次阅读
    教你如何用两行代码搞定<b class='flag-5'>YOLOv8</b>各种模型<b class='flag-5'>推理</b>

    用OpenVINO™ C++ API编写YOLOv8-Seg实例分割模型推理程序

    本文章将介绍使用 OpenVINO 2023.0 C++ API 开发YOLOv8-Seg 实例分割(Instance Segmentati
    的头像 发表于 06-25 16:09 747次阅读
    用OpenVINO™ <b class='flag-5'>C++</b> API编写<b class='flag-5'>YOLOv</b>8-Seg<b class='flag-5'>实例</b><b class='flag-5'>分割</b>模型<b class='flag-5'>推理</b>程序

    在AI爱克斯开发板上用OpenVINO™加速YOLOv8-seg实例分割模型

    《在 AI 爱克斯开发板上用 OpenVINO 加速 YOLOv8 目标检测模型》介绍了在 AI 爱克斯开发板上使用 OpenVINO 开发套件部署并测评
    的头像 发表于 06-30 10:43 451次阅读
    在AI爱克斯<b class='flag-5'>开发</b>板上用OpenVINO™加速<b class='flag-5'>YOLOv</b>8-seg<b class='flag-5'>实例</b><b class='flag-5'>分割</b>模型

    三种主流模型部署框架YOLOv8推理演示

    部署。这里以YOLOv8为例,演示YOLOv8对象检测模型在OpenVINO、ONNXRUNTIME、TensorRT三个主流框架上C++
    的头像 发表于 08-06 11:39 1848次阅读

    OpenCV4.8+YOLOv8对象检测C++推理演示

    自从YOLOv5更新成7.0版本,YOLOv8推出以后,OpenCV4.6以前的版本都无法再加载导出ONNX格式模型了,只有OpenCV4.7以上版本才可以支持最新版本YOLOv5与YOLOv
    的头像 发表于 09-27 11:07 708次阅读
    OpenCV4.8+<b class='flag-5'>YOLOv</b>8对象检测<b class='flag-5'>C++</b><b class='flag-5'>推理</b><b class='flag-5'>演示</b>

    用自己的数据集训练YOLOv8实例分割模型

    YOLOv8 于 2023 年 1 月 10 日推出。截至目前,这是计算机视觉领域分类、检测和分割任务的最先进模型。该模型在准确性和执行时间方面都优于所有已知模型。
    的头像 发表于 11-10 16:44 1426次阅读
    用自己的数据集训练<b class='flag-5'>YOLOv8</b><b class='flag-5'>实例</b><b class='flag-5'>分割</b>模型

    基于YOLOv8的自定义医学图像分割

    YOLOv8是一种令人惊叹的分割模型;它易于训练、测试和部署。在本教程中,我们将学习如何在自定义数据集上使用YOLOv8。但在此之前,我想告诉你为什么在存在其他优秀的分割模型时应该使用
    的头像 发表于 12-20 10:51 411次阅读
    基于<b class='flag-5'>YOLOv8</b>的自定义医学图像<b class='flag-5'>分割</b>

    基于OpenCV DNN实现YOLOv8的模型部署与推理演示

    基于OpenCV DNN实现YOLOv8推理的好处就是一套代码就可以部署在Windows10系统、乌班图系统、Jetson的Jetpack系统
    的头像 发表于 03-01 15:52 447次阅读
    基于OpenCV DNN实现<b class='flag-5'>YOLOv8</b>的模型部署与<b class='flag-5'>推理</b><b class='flag-5'>演示</b>