基于.Net6使用YoloV8的分割模型

这篇具有很好参考价值的文章主要介绍了基于.Net6使用YoloV8的分割模型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

在目标检测一文中,我们学习了如何处理Onnx模型,并的到目标检测结果,在此基础上,本文实现基于.Net平台的实例分割任务。
执行YoloV8的分割任务后可以得到分割.pt模型。由于Python基本不用于工业软件的部署,最终还是希望能在.Net平台使用训练好的模型进行预测。我们可以将.pt文件转换成.onnx格式的网络模型,然后使用Microsoft.ML.OnnxRuntime读取、运行模型进行预测。

预测结果

基于.Net6使用YoloV8的分割模型
基于.Net6使用YoloV8的分割模型
基于.Net6使用YoloV8的分割模型
基于.Net6使用YoloV8的分割模型

使用环境

NETFramework

  • .Net6.0

Nuget

  • Microsoft.ML.OnnxRuntime.Gpu (1.15.1)
  • OpenCvSharp4(4.7.0.20230115)
  • OpenCvSharp4.Extensions (4.7.0.20230115)
  • OpenCvSharpExtension (2.0.0.2)

model

测试使用coco128数据集训练生成的模型:
yolov8n-seg.onnx
模型下载地址:yolov8n-seg.onnx

解决方案

基于.Net6使用YoloV8的分割模型

预测结果类

/// <summary>
    /// segment result
    /// </summary>
    public class SegPrediction
    {
        /// <summary>
        /// label
        /// </summary>
        public SegClass? Label { get; init; }

        /// <summary>
        /// Box
        /// </summary>
        public Rect Rectangle { get; init; }

        /// <summary>
        /// score
        /// </summary>
        public float Score { get; set; }

        /// <summary>
        /// orginal mask 32
        /// </summary>
        public Mat Mask { get; set; }

        /// <summary>
        /// rgb mask
        /// </summary>
        public Mat RgbMask { get; set; }
    }

实例分割类

基于.Net6使用YoloV8的分割模型
与Detect任务不同的是,Segment任务的模型会输出两个张量,一个是detect的检测结果,另一个是分割Mask的概率。如下图所示:
基于.Net6使用YoloV8的分割模型
ParseOutput方法主要是解析这两个输出结果。
其中:

output0

张量大小:[1,116,8400],1表示batch,116 = 4 + 80 + 32;4表示预测Box的[x,y,cx,cy],80是80类的预测置信度,32是mask的大小。

output1

张量大小:[1,32,160,160],输出的是32张160*160的Mat。

将两个输出结果糅合在一起,即得到了预测结果。

注意

第一次使用需加载模型至Device,所以推理时间较长,之后运行效率大大提高,建议部署在自己项目中时,可在项目初始化时先推理一张demo图片。文章来源地址https://www.toymoban.com/news/detail-493246.html

到了这里,关于基于.Net6使用YoloV8的分割模型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 2023.01更新 c++下面部署yolov8检测和实例分割模型(七)

    2023.12.05 更新: 新增yolov8的RT-DETR部署 先开贴占个坑。 yolov8:https://github.com/ultralytics/ultralytics 这次的v8更新的是一个框架,里面也可以用v5和v3。 但是这次更新来说,目前模型的检测效果和之前的yolov7刚出来一样,会多出很多误检,在某些情况下这些误检反而效果不好。另外最

    2024年02月11日
    浏览(32)
  • YOLOv8的目标对象的分类,分割,跟踪和姿态估计的多任务检测实践(Netron模型可视化)

    YOLOv8是目前最新版本,在以前YOLO版本基础上建立并加入了一些新的功能,以进一步提高性能和灵活性,是目前最先进的模型。YOLOv8旨在快速,准确,易于使用,使其成为广泛的 目标检测和跟踪,实例分割,图像分类和姿态估计任务 的绝佳选择。 YOLOv8的安装条件 Python=3.8 Py

    2024年02月11日
    浏览(39)
  • 基于YOLOV8模型的海上船只目标检测系统(PyTorch+Pyside6+YOLOv8模型)

    摘要:基于YOLOV8模型的海上船只目标检测系统用于日常生活中检测与定位海上船只目标(散装货船(bulk cargo carrier)、集装箱船(container ship)、渔船(fishing boat)、普通货船(general cargo ship)、矿石船(ore carrier)和客轮(passenger ship)),利用深度学习算法可实现图片、视

    2024年02月09日
    浏览(55)
  • 【Yolov8】基于C#和TensorRT部署Yolov8全系列模型

      该项目主要基于TensorRT模型部署套件,在C#平台部署Yolov8模型,包括Yolov8系列的对象检测、图像分割、姿态识别和图像分类模型,实现C#平台推理加速Yolov8模型。 完整范例代码: ​ GitHub平台:guojin-yan/Csharp_deploy_Yolov8 (github.com) ​ Gitee平台:Guojin Yan/基于Csharp部署Yolov8系列模

    2024年02月06日
    浏览(50)
  • 基于YOLOv8模型的深海鱼目标检测系统(PyTorch+Pyside6+YOLOv8模型)

    摘要:基于YOLOv8模型和BDD数据集的自动驾驶目标检测系统可用于日常生活与海洋中检测与定位深海鱼目标,利用深度学习算法可实现图片、视频、摄像头等方式的目标检测,另外本系统还支持图片、视频等格式的结果可视化与结果导出。本系统采用YOLOv8目标检测算法训练数据

    2024年02月07日
    浏览(41)
  • 基于YOLOV8模型的西红柿目标检测系统(PyTorch+Pyside6+YOLOv8模型)

    摘要:基于YOLOV8模型的西红柿目标检测系统可用于日常生活中检测与定位西红柿目标,利用深度学习算法可实现图片、视频、摄像头等方式的目标检测,另外本系统还支持图片、视频等格式的结果可视化与结果导出。本系统采用YOLOv8目标检测算法训练数据集,使用Pysdie6库来搭

    2024年02月11日
    浏览(44)
  • 基于YOLOV8模型的农作机器和行人目标检测系统(PyTorch+Pyside6+YOLOv8模型)

    摘要:基于YOLOV8模型的农作机器和行人目标检测系统可用于日常生活中检测与定位农作机和行人目标,利用深度学习算法可实现图片、视频、摄像头等方式的目标检测,另外本系统还支持图片、视频等格式的结果可视化与结果导出。本系统采用YOLOv8目标检测算法训练数据集,

    2024年02月10日
    浏览(55)
  • 基于YOLOv8模型的五类动物目标检测系统(PyTorch+Pyside6+YOLOv8模型)

    摘要:基于YOLOv8模型的五类动物目标检测系统可用于日常生活中检测与定位动物目标(狼、鹿、猪、兔和浣熊),利用深度学习算法可实现图片、视频、摄像头等方式的目标检测,另外本系统还支持图片、视频等格式的结果可视化与结果导出。本系统采用YOLOv8目标检测算法训

    2024年02月12日
    浏览(40)
  • 基于YOLOv8模型和DarkFace数据集的黑夜人脸检测系统(PyTorch+Pyside6+YOLOv8模型)

    摘要:基于YOLOv8模型和DarkFace数据集的黑夜人脸检测系统可用于日常生活中检测与定位黑夜下的人脸,利用深度学习算法可实现图片、视频、摄像头等方式的目标检测,另外本系统还支持图片、视频等格式的结果可视化与结果导出。本系统采用YOLOv8目标检测算法训练数据集,

    2024年02月11日
    浏览(39)
  • 基于YOLOV8模型和CCPD数据集的车牌目标检测系统(PyTorch+Pyside6+YOLOv8模型)

    摘要:基于YOLOV8模型和CCPD数据集的车牌目标检测系统可用于日常生活中检测与定位车牌目标,利用深度学习算法可实现图片、视频、摄像头等方式的目标检测,另外本系统还支持图片、视频等格式的结果可视化与结果导出。本系统采用YOLOv8目标检测算法训练数据集,使用Py

    2024年02月10日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包