yolov10 orangepi5plus rknn3588 零基础到视频实时推理

部署运行你感兴趣的模型镜像

引言

继上次开发yolov10穿插了其它项目,过了好几个月后才继续开发,且更新了硬件
前面的开发流程可参考前一篇文章,本文章主要介绍yolo模型训练好的后续环节

参考大纲

请添加图片描述
以上为之前整理的大纲,可以参考实现,以下记录一些坑

参考连接

yolov10模型训练

yolov10模型训练项目文件
- 具体使用可参考之前的文件介绍
-

pt转onnx

瑞芯微仓库pt转onnx项目文件

  • 与第一个项目文件同名,重命名项目名 yolov10pt2onnx
  • main分支
  • 项目环境与第一个相同
  • 将训练得到的*.pt(best.pt)文件,放入 yolov10pt2onnx 文件夹下,无需其它修改
  • 执行命令得到best.onnx模型 yolo export model=best.pt format=rknn opset=13 simplify
    • 可参考项目文件夹下的RKNN_README_CN.md
    • 使用 在线模型查看工具Netron查看模型输出
    • 1×3×640×640(三种类别,训练模型图像输入640×640,OUTPUST 6个成功,否则失败)在这里插入图片描述

onnx转rknn

rknn-toolkit2 v2.3.0项目文件

  • vm虚拟机 安装miniconda 创建toolkit2环境conda create -n toolkit2 python=3.8
  • 激活toolkit2环境conda activate toolkit2
  • 进入文件夹cd ./rknn-toolkit2/packages/x86_64(若直接部署到板端arm,则进rknn-toolkit2/packages/arm64下)
  • 终端配置环境
    • pip install -r requirements_cp38-2.3.0.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
    • pip install rknn_toolkit2-2.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • rknn_model_zoo v2.3.0下载
  • 进入rknn_model_zoo/examples 拷贝文件夹yolov10,重命名为yolov10_my
  • 将转换好的*.onnx模型放入examples/yolov10_my/model文件夹下
  • 阅读文件夹下 R E A D M E . m d README.md README.md
    •   cd python
        python convert.py <onnx_model> <TARGET_PLATFORM> <dtype(optional)> <output_rknn_path(optional)>
        # such as: 
        python convert.py ../model/yolov10n.onnx rk3588
        # output model will be saved as ../model/yolov10.rknn
      
    • cd python
    • python convert.py best.onnx rk3588
    • 同级目录下查看输出的模型文件best.rknn

rknn模型使用

使用虚拟机adb连接板端,推送生成的文件,可节省板端空间,比起直接板端部署复杂,各有优劣

板端直接布署

  1. 文件修改
  • 修改标签或自定义标签在这里插入图片描述

  • 修改标签数量、可修改阈值在这里插入图片描述

  • 修改标签地址在这里插入图片描述

  • 修改生成文件附加文件在这里插入图片描述

  • 🆗

  • 进入rknn_model_zoo目录

  • # 编译yolov10_my
    sudo bash ./build-linux.sh -t rk3588 -a aarch64 -d yolov10_my
    # 进入目录
    cd install/rk3588_linux_aarch64/rknn_yolov10_my_demo
    # 使用模型推理图片
    cd .. && cd rknn_yolov10_my_demo && export LD_LIBRARY_PATH=./lib && ./rknn_yolov10_demo model/trybest.rknn bus.jpg
    
  • 查看out.png

  • 以上已可以实现图片推理

adb部署

  • 基本流程同板端直接布署一至
  • vm ubuntu 下载rknn_model_zoo v2.3.0
  • usb接板端连接到vm ubuntu
  • 安装使用adb,登录orangepi5plus
    # 具体使用就不详细说明了,可自行搜索
    # 安装adb 
    sudo apt update
    sudo apt -y install adb
    # 查看 abd设备及服务
    adb devices
    lsusb
    # 推送生成的模型到板端
    adb push install/rk3588_linux_aarch64/rknn_yolov10_my_demo /rknn/rknn_yolov10_my_demo
    # 可通过adb shell登录板端ubuntu系统
    adb shell
    # 使用模型推理图片
    cd /rknn/rknn_yolov10_my_demo
    cd .. && cd rknn_yolov10_my_demo && export LD_LIBRARY_PATH=./lib && ./rknn_yolov10_demo model/trybest.rknn bus.jpg	
    # 剩余步骤相同
    

opencv视频推理

  • orangpei5plus 镜像包含opencv4.5

板端直接编译推理

  • 下载鲁班猫 git clone https://gitee.com/LubanCat/lubancat_ai_manual_code.git
  • 具体使用可参考野火官方的文档
  • 修改yolov10 main文件
  • 移除yolov10 项目中的DMA相关代码(orangepi5plus不支持–官方文档无DMA)
  • 同之前一样修改 标签、数量、cmakelists.txt等文件
  • 编译处理
  • 使用模型视频推理

vm ubuntu 编译推理

PS

  • 板载编译opencv直接使用rknn_model_zoo 下修改编译,可能会有rga与芯片兼容问题,据rknn群里大佬说有一成左右,所以直接使用野火的修改,没有这个问题。或许是版本问题导致的。
  • 下班回老家过年了,来年再写,相信到这里,基本差不多了。
  • 提前祝大家新年快乐

您可能感兴趣的与本文相关的镜像

Yolo-v5

Yolo-v5

Yolo

YOLO(You Only Look Once)是一种流行的物体检测和图像分割模型,由华盛顿大学的Joseph Redmon 和Ali Farhadi 开发。 YOLO 于2015 年推出,因其高速和高精度而广受欢迎

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值