当前位置: 首页 > wzjs >正文

厦门帮忙建设网站在线客服

厦门帮忙建设网站,在线客服,广州做营销型网站建设,深建小程序目录 1 环境搭建 2 交叉编译opencv 3 模型训练 4 模型转换 4.1 pt模型转onnx模型 4.2 onnx模型转rknn模型 4.2.1 安装rknn-toolkit 4.2.2 onn转成rknn模型 5 升级npu驱动 6 C++推理源码demo 6.1 原版demo 6.2 增加opencv读取图片的代码 7 交叉编译x264 ffmepg和op…

目录

1 环境搭建

2 交叉编译opencv

3 模型训练

4 模型转换

4.1 pt模型转onnx模型

4.2 onnx模型转rknn模型

4.2.1 安装rknn-toolkit

4.2.2 onn转成rknn模型

5 升级npu驱动

6 C++推理源码demo

6.1 原版demo

6.2 增加opencv读取图片的代码

7 交叉编译x264 ffmepg和opencv

7.1 交叉编译x264

 7.1.1 下载源码

7.2.2 配置、编译、安装

7.2 交叉编译ffmpeg

7.2.1 下载源码

7.2.2 配置、编译、安装

 7.2.3 测试ffmpeg命令

7.3 交叉编译opencv 

7.3.1 修改cmake文件

7.3.2 配置和cmake 

7.3.3 编译、安装

8 读取视频文件以及获取摄像头视频进行推理

8.1 读取视频进行推理

8.2 获取摄像头视频进行推理

9 模型预编译

10 利用瑞芯微的SDK获取摄像头视频进行推理

参考文献:


1 环境搭建

安装adb,安装交叉编译工具链,安装rknn_toolkit等方法步骤见我的另一篇博客。

RV1109_RV1126 EVB开发板环境搭建及使用总结_rv1109开发板-CSDN博客

2 交叉编译opencv

交叉编译opencv的方法见我的另一篇博客

ubuntu交叉编译opencv-CSDN博客

3 模型训练

模型训练首先下载GitHub - ultralytics/ultralytics: Ultralytics YOLO11 🚀

然后具体的训练方法网上资源很多,我这篇博客重点介绍模型转换和部署,至于模型训练不再展开。

4 模型转换

4.1 pt模型转onnx模型

瑞芯微的C++示例代码是针对瑞芯微修改后的模型结构进行推理的,所以在转模型的时候需要用瑞芯微修改后的工程进行模型转换,下载下面的工程

https://github.com/airockchip/ultralytics_yolov8

然后需要安装必要的库,其实前面训练yolov8的时候搭建了环境,那么这里转模型就用一样的环境就行,瑞芯微的这个ultralytics_yolov8相比官方的yolov8,只是在导出模型的时候进行了一些修改,对于训练模型,他和官方的ultralytics仓库是一样的。

按照上面的步骤就可以转出onnx模型。

4.2 onnx模型转rknn模型

4.2.1 安装rknn-toolkit

·首先安装rknn-toolkit,去这个网址下载

Releases · rockchip-linux/rknn-toolkit · GitHub

然后

conda create -n rv1126_1.7.5_chw python=3.8
conda activate  rv1126_1.7.5_chw
tar xzvf rknn-toolkit-v1.7.5-packages.tar.gz
cd packages
pip install rknn_toolkit-1.7.5-cp38-cp38-linux_x86_64.whl

然后可以用下面的命令测试是否安装成功

python
from rknn.api import RKNN

4.2.2 onn转成rknn模型

下载GitHub - airockchip/rknn_model_zoo

然后

conda activate rv1126_1.7.5_chw
cd examples/yolov8/python
python convert.py ../model/dugong_20250212.onnx rv1126

报错

W rknn-toolkit version: 1.7.5
Traceback (most recent call last):File "convert.py", line 41, in <module>rknn = RKNN(verbose=False)File "/root/anaconda3/envs/rv1126_1.7.5_chw/lib/python3.8/site-packages/rknn/api/rknn.py", line 78, in __init__self.config()File "/root/anaconda3/envs/rv1126_1.7.5_chw/lib/python3.8/site-packages/rknn/api/rknn.py", line 753, in configreturn self.rknn_base.config(args)File "rknn/api/rknn_base.py", line 73, in rknn.api.rknn_base.RKNNBase.configFile "/root/anaconda3/envs/rv1126_1.7.5_chw/lib/python3.8/site-packages/rknn/base/acuitylib/__init__.py", line 1, in <module>from acuitylib.optimize.optimizer import OptimizerFile "/root/anaconda3/envs/rv1126_1.7.5_chw/lib/python3.8/site-packages/rknn/base/acuitylib/__init__.py", line 1, in <module>from acuitylib.optimize.optimizer import OptimizerFile "rknn/base/acuitylib/optimize/optimizer.py", line 128, in init rknn.base.acuitylib.optimize.optimizerFile "rknn/base/acuitylib/optimize/rules/high_performance/model_pruning.py", line 3, in init rknn.base.acuitylib.optimize.rules.high_performance.model_pruningFile "/root/anaconda3/envs/rv1126_1.7.5_chw/lib/python3.8/site-packages/torch/__init__.py", line 29, in <module>from .torch_version import __version__ as __version__File "/root/anaconda3/envs/rv1126_1.7.5_chw/lib/python3.8/site-packages/torch/torch_version.py", line 3, in <module>from pkg_resources import packaging  # type: ignore[attr-defined]
ImportError: cannot import name 'packaging' from 'pkg_resources' (/root/anaconda3/envs/rv1126_1.7.5_chw/lib/python3.8/site-packages/pkg_resources/__init__.py)

 解决方法

pip install --upgrade setuptools

5 升级npu驱动

我转模型的时候用的rknn-toolkit 1.7.5,那么板子的驱动我也升级为1.7.5吧,升级方法

https://github.com/rockchip-linux/rknpu/tree/master

adb push drivers/linux-armhf-puma/*   /
adb push drivers/npu_ko/galcore_puma.ko /lib/modules/galcore.ko

6 C++推理源码demo

6.1 原版demo

C++推理demo也在

https://github.com/airockchip/rknn_model_zoo/tree/main

然后找到rknn_model_zoo-main/examples/yolov8

具体编译方法在github上也有,这里为了方便我又写了个脚本build.sh

#!/bin/bash: <<'COMMENT'
./build-linux.sh -t <target> -a <arch> -d <build_demo_name> [-b <build_type>] [-m]-t : target (rk356x/rk3588/rk3576/rv1106/rk1808/rv1126)-a : arch (aarch64/armhf)-d : demo name-b : build_type(Debug/Release)-m : enable address sanitizer, build_type need set to Debug
Note: 'rk356x' represents rk3562/rk3566/rk3568, 'rv1106' represents rv1103/rv1106, 'rv1126' represents rv1109/rv1126# Here is an example for compiling yolov5 demo for 64-bit Linux RK3566.
./build-linux.sh -t rk356x -a aarch64 -d yolov5
...
COMMENT./build-linux.sh -t rv1126 -a armhf -d yolov8

然后直接sh build.sh就可以编译了,不用每次都去敲命令。

编译完之后用xftp把install整个文件夹传到rv1126开发板,然后执行

./rknn_yolov8_demo  ./model/yolov8.rknn  ./model/bus.jpg

由于我这个模型没有预编译&#

http://www.dtcms.com/wzjs/371614.html

相关文章:

  • 怎么做网站互换链接网站收录服务
  • 怎样在网站做友情链接百度上做优化
  • 极客学院 网站建设郑州竞价托管
  • 邵阳网站开发宁波百度快照优化排名
  • 做网站的怎么学以图搜图
  • 软件网站是怎么做的惠州搜索引擎seo
  • 做后期的网站有哪些深圳营销型网站定制
  • 山西大同网站建设价格网络营销岗位职责和任职要求
  • 松岗做网站价格武汉seo哪家好
  • 建一个网站需要多少钱网站怎么做的百度推广产品有哪些
  • wordpress与joomla哪个好网站产品怎么优化
  • 电子商务网站和开发新闻类网站seo技术外包 乐云践新专家
  • 电子商务网站是电子商务企业外贸网站
  • 视频推广软件搜索引擎优化的策略主要有
  • 十个源码网站写软文的平台有哪些
  • 湖北做网站的公司软文发稿系统
  • 免费网站建设社区韩国今日特大新闻
  • 市场推广方案和思路重庆seo博客
  • wordpress 关键词内链百度推广优化方案
  • 免费做旅游海报的网站福州seo建站
  • 内部网站建设党委企业网络营销案例分析
  • 循环视频做网站背景刷外链
  • 网站建设有哪些知识点seo描述是什么
  • 西安做酒店用品的网站他达拉非片和伟哥区别
  • 网站建设招标模板搭建网站的软件
  • 平台网站做等级保护测评郑州seo网站排名
  • 虹口网站建设公司什么软件可以发布推广信息
  • 做网站界面多少钱长沙网站制作主要公司
  • 淄博网站制作设计竞价防恶意点击
  • php网站开发招聘需求肇庆seo外包公司