yolov8 OpenCV DNN 部署 推理报错

这篇具有很好参考价值的文章主要介绍了yolov8 OpenCV DNN 部署 推理报错。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

yolov8是yolov5作者发布的新作品

目录

1、下载源码

2、下载权重

3、配置环境

4、导出onnx格式

 5、OpenCV DNN 推理


1、下载源码

git clone https://github.com/ultralytics/ultralytics.git

2、下载权重

git clone https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt

3、配置环境

 pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

4、导出onnx格式

项目下models/export.md有说明:

yolov8 OpenCV DNN 部署 推理报错

 我在目录下用命令行没有反应,所以在项目目录下新建一个python文件【my_export.py】,输入:

from ultralytics import YOLO

# Load a model
model = YOLO('yolov8n.pt')  # load an official model
# model = YOLO('path/to/best.pt')  # load a custom trained

# Export the model
model.export(format='onnx')

然后执行:

 python my_export.py

输出如下:

yolov8 OpenCV DNN 部署 推理报错

 5、OpenCV DNN 推理

用之前博客写的代码进行推理,发现有报错: yolov8 OpenCV DNN 部署 推理报错

 用netron查看onnx格式模型:

yolov8 OpenCV DNN 部署 推理报错
yolov8n.onnx

再查看之前成功部署过的yolov5n.onnx:

yolov8 OpenCV DNN 部署 推理报错
yolov5n.onnx

 所以部署代码可能不通用。

又在项目下examples/YOLOv8-CPP-Inference找到部署代码,运行一下依然报错:

yolov8 OpenCV DNN 部署 推理报错

 看一下Cmakelist.txt:

yolov8 OpenCV DNN 部署 推理报错

 项目里面的C++推理代码应该也是基于OpenCV DNN的。

然后我就在网上找原因,发现是OpenCV版本低了,yolov8  opencv-dnn部署需要4.7以上的版本,我现在用的是OpenCV 4.5.5。

如果是onnxruntime的话就不需要,应该4.0以上的版本都可以,但是之前博客写的yolov5 的onnxruntime C++推理代码还是用不了,因为yolov8的输出与yolov5的输出不一样:

1、输出维度顺序已经变了(可以从上面的netron展示图看到)

2、另外yolov8输出中的84维度是少了一个yolov5的置信度(yolov5是85维度)

写到这里头有点大,思考后选择用onnxruntime推理。因为不想再装opencv4.7了,opencv-C++编译安装起来确实有点麻烦。文章来源地址https://www.toymoban.com/news/detail-463096.html

到了这里,关于yolov8 OpenCV DNN 部署 推理报错的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • YOLOV8 Onnxruntime Opencv DNN C++部署

          OpenCV由各种不同组件组成。OpenCV源代码主要由OpenCV core(核心库)、opencv_contrib和opencv_extra等子仓库组成。近些年,OpenCV的主仓库增加了深度学习相关的子仓库:OpenVINO(即DLDT, Deep Learning Deployment Toolkit)、open_model_zoo,以及标注工具CVAT等。         OpenCV深度学习模块只

    2024年02月16日
    浏览(45)
  • yolov5 opencv dnn部署 github代码

    源码地址 yolov5官网还提供的dnn、tensorrt推理链接 本人使用的opencv c++ github代码,代码作者非本人,也是上面作者推荐的链接之一 实现推理源码中作者的yolov5s.onnx 推理条件 实现推理code中作者的yolov5s.onnx windows 10 Visual Studio 2019 Nvidia GeForce GTX 1070 opencv 4.5.5、opencv4.7.0 (注意 4.7.0代码

    2024年01月23日
    浏览(52)
  • yolov5 opencv dnn部署自己的模型

    github开源代码地址 yolov5官网还提供的dnn、tensorrt推理链接 本人使用的opencv c++ github代码,代码作者非本人,也是上面作者推荐的链接之一 如果想要尝试直接运行源码中的yolo.cpp文件和yolov5s.pt推理sample.mp4,请参考这个链接的介绍 使用github源码结合自己导出的onnx模型推理自己的

    2024年01月23日
    浏览(44)
  • YOLOv5 实例分割 用 OPenCV DNN C++ 部署

    如果之前从没接触过实例分割,建议先了解一下实例分割的输出是什么。 实例分割两个关键输出是:mask系数、mask原型 本文参考自该项目(这么优秀的代码当然要给star!):GitHub - UNeedCryDear/yolov5-seg-opencv-onnxruntime-cpp: yolov5 segmentation with onnxruntime and opencv 目录 Pre: 一、代码总结

    2024年02月12日
    浏览(32)
  • 模型实战(11)之win10下Opencv+CUDA部署yolov5、yolov8算法

    测试环境:AMDRH7000+RTX3050+win10+vs2-10+opencv455+cuda11.7 关于opencv470+contrib+cuda的编译,可以详见:Win10下Opencv+CUDA联合编译详细教程 本文代码同时支持 yolov5 、 yolov8 两个模型,详细过程将在文中给出, 完整代码仓库最后给出 其中,yolov8在opencv-DNN + CUDA下的效果如下: 新建VS项目,名

    2024年02月16日
    浏览(40)
  • 基于树莓派Qt+opencv+yolov5-Lite+C++部署深度学习推理

            本文是基于 qt和opencv的dnn 深度学习推理模块,在树莓派上部署YOLO系列推理,适用于yolov5-6.1以及yolov5-Lite,相比直接用python的onnxruntime,用基于opencv的dnn模块,利用训练生成的onnx模型,即可快速部署,不需要在树莓派上额外安装深度学习的一系列环境,因为我们知道

    2024年04月16日
    浏览(62)
  • YOLOv6 4.0 使用记录: OpenCV DNN C++推理

    目录 1、下载源码  2、下载权重文件  3、配置环境 4、推理 6、ONNX格式导出 权重文件为yolov6list_s.pt 权重为yolov6.pt  7、opencv DNN推理 8、个人总结 下载最新的4.0版本的 我下的是YOLOv6Lite-S cd到项目目录,运行 图片推理没问题,但是输入为摄像头的时候不会弹出显示窗口 权重文件

    2024年02月02日
    浏览(34)
  • OnnxRuntime TensorRT OpenCV::DNN性能对比(YoloV8)实测

    之前把ORT的一套推理环境框架搭好了,在项目中也运行得非常愉快,实现了cpu/gpu,fp32/fp16的推理运算,同onnx通用模型在不同推理框架下的性能差异对比贴一下,记录一下自己对各种推理框架的学习状况 YoloV8模型大小 模型名称 参数量 NANO 3.2M ... ... CPU推理框架性能比较 框架 推理耗时

    2024年02月14日
    浏览(41)
  • 用opencv的DNN模块做Yolov5目标检测(纯干货,源码已上传Github)

    最近在微信公众号里看到多篇讲解yolov5在openvino部署做目标检测文章,但是没看到过用opencv的dnn模块做yolov5目标检测的。于是,我就想着编写一套用opencv的dnn模块做yolov5目标检测的程序。在编写这套程序时,遇到的bug和解决办法,在这篇文章里讲述一下。 在yolov5之前的yolov3和

    2024年02月02日
    浏览(47)
  • 【模型部署 01】C++实现GoogLeNet在OpenCV DNN、ONNXRuntime、TensorRT、OpenVINO上的推理部署

    深度学习领域常用的基于CPU/GPU的推理方式有OpenCV DNN、ONNXRuntime、TensorRT以及OpenVINO。这几种方式的推理过程可以统一用下图来概述。整体可分为模型初始化部分和推理部分,后者包括步骤2-5。 以GoogLeNet模型为例,测得几种推理方式在推理部分的耗时如下: 结论: GPU加速首选

    2024年02月06日
    浏览(54)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包