首页 > 其他分享 >在树莓派上部署yolo模型推理并使用onnx加速

在树莓派上部署yolo模型推理并使用onnx加速

时间:2024-10-03 09:44:10浏览次数:6  
标签:树莓 onnx 模型 yolo 哔哩 data 对应

首先在这里感谢一下这位大佬:学不会电磁场的个人空间-学不会电磁场个人主页-哔哩哔哩视频 (bilibili.com)

这里使用的代码是从手把手教你使用c++部署yolov5模型,opencv推理onnx模型_哔哩哔哩_bilibili处来的我这里只记录下更换成自己的模型的应用以及提供一份全注释的版本

这里是链接https://wwrh.lanzoul.com/is5BV2bgf33g

 

树莓派搭建opencv和c++环境请看我的其他博客

 首先我们需要得到训练模型的权重文件(.pt后缀)转换为onnx格式

yolo5自带这个功能,在export.py中的parse_opt函数里

arse_opt里我们需要修改data,weights,imgsz和--include,其中data要和你的weights对应data对应你的训练数据(当然这里不训练,只是拿到每个分类对应的序列号),imgsz对应你的识别图像大小,
--include对应你转出的模型格式(包括torchscript, onnx, openvino... )

 

 

导出后拿着我们得到的onnx文件到树莓派里

在这之前你需要登入Netron导入你的onnx模型来查看输出层名字(名字不对识别报错)我这里是output0

 

 

然后让我们进入到cpp程序里主函数部分修改输出层名称以及导入你的模型

 

然后是最后一步:在static const中将里面的分类替换成你模型的(按照顺序排好)

 

然后编译运行既可(这里出现一堆数字可以在程序里改掉,可以看我的注释或者置顶视频)

 

 

 

标签:树莓,onnx,模型,yolo,哔哩,data,对应
From: https://www.cnblogs.com/CD13R/p/18445381

相关文章

  • 在树莓派上安装c++版本的opencv并运行
     这里默认你用的是树莓派的镜像(因为ubantu对树莓派的性能占用有点大)树莓派安装使用opencvc++版本首先我们安装依赖sudoapt-getinstallbuild-essentialsudoapt-getinstallcmakelibgtk2.0-devpkg-configlibswscale-devsudoapt-getinstalllibjpeg-devlibpng......
  • 04-连接树莓派
    课堂目标掌握连接树莓派的三种方式。掌握调节屏幕分辨率的方法。1.外设接口连接准备micro-HDMI转接头HDMI线网线鼠标键盘连接外部设备依次插入网线、键盘、鼠标、显示器,最后插入电源。接通电源,树莓派会自动开机。设置屏幕分辨率如果启动后发现......
  • 手把手教你使用YOLOv11训练自己数据集(含环境搭建 、数据集查找、模型训练)
     一、前言本文内含YOLOv11网络结构图+ 训练教程+推理教程+数据集获取等有关YOLOv11的内容!官方代码地址:https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/models/11二、整体网络结构图 三、环境搭建 项目环境如下:      解释......
  • YOLOv11改进 | 注意力篇 | YOLOv11引入CBAM注意力机制
    1.CBAM介绍摘要:我们提出了卷积块注意力模块(CBAM),这是一种用于前馈卷积神经网络的简单而有效的注意力模块。给定中间特征图,我们的模块沿着两个独立的维度(通道和空间)顺序推断注意力图,然后将注意力图乘以输入特征图以进行自适应特征细化。由于CBAM是一个轻量级通用模块,因此它......
  • 基于深度学习的跌倒检测系统:YOLOv5/v6/v7/v8/v10模型实现与UI界面集成、数据集
    1.引言跌倒检测是一个重要的研究领域,尤其在老年人和病人监护中,及时检测并响应跌倒事件可以大大减少伤害和死亡的风险。本博客将介绍如何构建一个基于深度学习的跌倒检测系统,使用YOLOv5进行目标检测,并设计一个用户界面(UI)来实时监控和反馈。本文将详细描述系统的各个组成部分......
  • YOLOv8改进 | 主干篇,YOLOv8改进主干网络为华为的轻量化架构GhostNetV1
    摘要摘要:将卷积神经网络(CNN)部署在嵌入式设备上是困难的,因为嵌入式设备的内存和计算资源有限。特征图的冗余是成功的CNN的一个重要特征,但在神经网络架构设计中很少被研究。作者提出了一种新颖的Ghost模块,用于通过廉价操作生成更多的特征图。基于一组内在特征图,我们......
  • YOLOv8改进 - 注意力篇 - 引入SCAM注意力机制
    一、本文介绍作为入门性篇章,这里介绍了SCAM注意力在YOLOv8中的使用。包含SCAM原理分析,SCAM的代码、SCAM的使用方法、以及添加以后的yaml文件及运行记录。二、SCAM原理分析SCAM官方论文地址:SCAM文章SCAM官方代码地址:SCAM代码​SCAM注意力机制(空间上下文感知模块):空间上下......
  • 即插即用篇 | DenseNet卷土重来! YOLOv10 引入全新密集连接卷积网络 | ECCV 2024
    本改进已同步到YOLO-Magic框架!本文重新审视了密集连接卷积网络(DenseNets),并揭示了其在主流的ResNet风格架构中被低估的有效性。我们认为,由于未触及的训练方法和传统设计元素没有完全展现其能力,DenseNets的潜力被忽视了。我们的初步研究表明,通过连接实现的密集连接非常......
  • 即插即用篇 | YOLOv10 引入单头视觉Transformer模块 | CVPR 2024
    本改进已同步到YOLO-Magic框架!最近,高效的视觉Transformer在资源受限的设备上以低延迟表现出了出色的性能。传统上,它们在宏观层面上采用4×4的Patch嵌入和四阶段结构,而在微观层面上使用多头配置的复杂注意力机制。本文旨在通过内存高效的方式解决各个设计层面的计算冗余......
  • 02-树莓派4B的构造
    课堂目标了解计算机的硬件组成。了解树莓派版有哪些外设接口和各个接口的用途。概览树莓派4B主板接口排布紧凑,只有信用卡大小,各个部件一目了然,我们可以通过它了解计算机各个部分的功能。通用计算机结构包含5大部件:运算器、控制器、储存器、输入设备、输出设备。......