【YOLOv8-Seg】实战三:LabVIEW+TensoRT实现YOLOv8-seg的极速推理(毫秒级)

‍‍博客主页: virobotics的CSDN博客:LabVIEW深度学习、人工智能博主
所属专栏:『LabVIEW深度学习实战』
上期文章: 【YOLOv8-seg】实战一:手把手教你使用YOLOv8实现实例分割
如觉得博主文章写的不错或对你有所帮助的话,还望大家多多支持呀! 欢迎大家✌关注、点赞、✌收藏、订阅专栏

文章目录

  • 前言
  • 一、YOLOv8简介
  • 二、环境搭建
    • 2.1 部署本项目时所用环境
    • 2.2 LabVIEW工具包下载及安装
  • 三、导出YOLOv8-seg 实例分割onnx模型
    • 3.1 安装YOLOv8
    • 3.2 导出模型为onnx
  • 四、项目实践
  • 五、项目源码
  • 总结

前言

Hello,大家好,这里是virobotics。今天我们一起来看一下LabVIEW使用TensoRT工具包实现YOLOv8-Seg的极速推理。
【YOLOv8-Seg】实战三:LabVIEW+TensoRT实现YOLOv8-seg的极速推理(毫秒级)_第1张图片


一、YOLOv8简介

前面我们在给各位读者介绍YOLOv8目标检测的时候介绍过YOLOv8, YOLOv8是由Ultralytics 发布的。与之前的YOLO相比,YOLOv8 模型更快、更准确,同时为训练模型提供统一框架,以执行以下基本任务,包括:目标检测、实例分割、图像分类、人体姿态。

YOLOv8-seg 有 5 个不同模型大小的预训练模型:n、s、m、l 和 x。其中 YOLOv8 Nano Seg(YOLOv8n-seg)是最小的模型,但速度最快;而 YOLOv8 Extra Large Seg (YOLOv8x-seg) 是最准确的模型,但速度最慢。

每个模型的准确率及速度如下:

【YOLOv8-Seg】实战三:LabVIEW+TensoRT实现YOLOv8-seg的极速推理(毫秒级)_第2张图片

  • YOLOv8官方开源地址:https://github.com/ultralytics/ultralytics

二、环境搭建

2.1 部署本项目时所用环境

  • 操作系统:Windows10
  • python:3.6及以上
  • LabVIEW:2018及以上 64位版本
  • AI视觉工具包:techforce_lib_opencv_cpu-1.0.0.98.vip
  • onnx工具包:virobotics_lib_onnx_cuda_tensorrt-1.0.0.16.vip【1.0.0.16及以上版本】或virobotics_lib_onnx_cpu-1.13.1.2.vip

2.2 LabVIEW工具包下载及安装

  • AI视觉工具包下载与安装参考:
    https://blog.csdn.net/virobotics/article/details/123656523
  • onnx工具包下载与安装参考:
    https://blog.csdn.net/virobotics/article/details/124998746

三、导出YOLOv8-seg 实例分割onnx模型

注意:本教程已经为大家提供了YOLOv8-seg的onnx模型,可跳过本步骤,直接进行步骤四-项目实战。若是想要了解YOLOv8-seg的onnx模型如何导出,则可继续阅读本部分内容。

下面我们来介绍onnx模型的导出(以YOLOv8s-seg为例,想要导出其他模型的方式也一样,只需要修改名字即可)

3.1 安装YOLOv8

YOLOv8的安装有两种方式,pip安装和GitHub安装。

  • pip安装
pip install ultralytics -i https://pypi.douban.com/simple/
  • GitHub安装
git clone https://github.com/ultralytics/ultralytics

cd ultralytics

pip install -e '.[dev]'

安装完成后就可以通过yolo命令在命令行进行使用了。

3.2 导出模型为onnx

首先使用命令:

yolo export model=yolov8s-seg.pt format=onnx

完成yolov8s-seg.onnx模型导出,如下图所示。

【YOLOv8-Seg】实战三:LabVIEW+TensoRT实现YOLOv8-seg的极速推理(毫秒级)_第3张图片

YOLOv8-seg模型一共有两个输出:

第一个输出:“output0”;type:float32[1,116,8400]。其中116的前84个列与 YOLOv8目标检测模型输出定义一样,即cx,cy,w,h这4项再加80个类别的分数;后32列用于计算掩膜数据。

第二个输出:“output1”;type:float32[1,32,160,160]。output0后32个字段与output1的数据做矩阵乘法后得到的结果,即为对应目标的掩膜数据。

【YOLOv8-Seg】实战三:LabVIEW+TensoRT实现YOLOv8-seg的极速推理(毫秒级)_第4张图片

如果觉得上面方式不方便,那我们也可以写一个python脚本,快速导出yolov8的onnx模型,程序如下:

from ultralytics import YOLO
 
# Load a model
model = YOLO("\models\yolov8s-seg.pt")  # load an official model
 
# Export the model
model.export(format="onnx")

注:有朋友因为网络问题,会显示下载pt失败,可直接使用本项目中已经下载好的yolov8s-seg.pt,如需其他大小的模型,可在该链接中下载:https://download.csdn.net/download/virobotics/87704235


四、项目实践

实现效果:LabVIEW+TensoRT实现YOLOv8-seg的极速推理(毫秒级)

  • 框架源码;
    【YOLOv8-Seg】实战三:LabVIEW+TensoRT实现YOLOv8-seg的极速推理(毫秒级)_第5张图片

  • 运行效果
    【YOLOv8-Seg】实战三:LabVIEW+TensoRT实现YOLOv8-seg的极速推理(毫秒级)_第6张图片

五、项目源码

如需源码,请在一键三联并订阅本专栏后评论区留下邮箱


总结

以上就是今天要给大家分享的内容,希望对大家有用。我是virobotics,我们下篇文章见~

如果文章对你有帮助,欢迎✌关注、点赞、✌收藏、订阅专栏

推荐阅读

LabVIEW图形化的AI视觉开发平台(非NI Vision),大幅降低人工智能开发门槛
LabVIEW图形化的AI视觉开发平台(非NI Vision)VI简介
LabVIEW AI视觉工具包OpenCV Mat基本用法和属性
手把手教你使用LabVIEW人工智能视觉工具包快速实现图像读取与采集
LabVIEW开放神经网络交互工具包(ONNX)下载与超详细安装教程
手把手教你使用LabVIEW实现Mask R-CNN图像实例分割(含源码)
技术交流 · 一起学习 · 咨询分享,请联系

你可能感兴趣的:(LabVIEW深度学习工具包,深度学习:实例分割,YOLO,labview,人工智能,pytorch,图像分割)