瑞芯微RV1126B开发板(EASY-EAI-PI2) yolov8训练部署教程
Yolov8简介YOLOv8 是 ultralytics 公司在 2023 年 1月 10 号开源的基于YOLOV5进行更新的 下一个重大更新版本目前支持图像分类、物体检测和实例分割任务鉴于Yolov5的良好表现Yolov8在还没有开源时就收到了用户的广泛关注。其主要结构如下图所示本教程针对目标检测算法yolov8的训练和部署到EASY-EAI-PI2(RV1126B)进行说明而数据标注方法可以参考我们往期的文章。. 资料下载进行后续操作前必须先下载完整资料包资料名称链接训练代码githubhttps://github.com/airockchip/ultralytics_yolov8算法教程完整源码包百度网盘提取码: 1234. Yolov8目标检测算法训练通过git工具在PC端克隆远程仓库注此处可能会因网络原因造成卡顿请耐心等待修改过算子后的yolov8仓库: https://github.com/airockchip/ultralytics_yolov8同时也可以打开目录《1.AI模型训练》解压训练代码ultralytics_yolov8-main.zip解压后可得到下图文件. rknn-toolkit模型转换.1 rknn-toolkit模型转换环境搭建onnx模型需要转换为rknn模型才能在EASY-EAI-PI2运行所以需要先搭建rknn-toolkit模型转换工具的环境。当然tensorflow、tensroflow lite、caffe、darknet等也是通过类似的方法进行模型转换只是本教程onnx为例。.1.1 概述模型转换环境搭建流程如下所示下载模型转换工具为了保证模型转换工具顺利运行请在官网产品简介下载网盘里“06.AI算法开发/01.rknn-toolkit2模型转换工具/rknn-toolkit2-v2.3.2/rknn-toolkit2/docker/docker_image/rknn-toolkit2-v2.3.2-cp38-docker.tar.gz”。链接: 百度网盘 提取码: 1234把工具移到ubuntu20.04把下载完成的docker镜像移到我司的虚拟机ubuntu20.04的rknn-toolkit2目录,如下图所示运行模型转换工具环境在该目录打开终端执行以下指令加载模型转换工具docker镜像:docker load --input rknn-toolkit2-v2.3.2-cp38-docker.tar.gz执行以下指令进入镜像bash环境:docker run -t -i --privileged -v /dev/bus/usb:/dev/bus/usb -v /home/developer/rknn-toolkit2/model_convert_test:/test rknn-toolkit2:2.3.2-cp38 /bin/bash现象如下图所示:输入“python”加载python相关库尝试加载rknn库如下图环境测试成功:至此模型转换工具环境搭建完成。. 在模型转换为RKNNEASY-EAI-PI2支持.rknn后缀的模型的评估及运行对于常见的tensorflow、tensroflow lite、caffe、darknet、onnx和Pytorch模型都可以通过我们提供的 toolkit 工具将其转换至 rknn 模型而对于其他框架训练出来的模型也可以先将其转至 onnx 模型再转换为 rknn 模型。 模型转换操作流程入下图所示模型转换Demo下载打开目录《2.AI模型转换》把yolov8_model_convert.tar.bz2和quant_dataset.zip解压到虚拟机如下图所示:进入模型转换工具docker环境执行以下指令把工作区域映射进docker镜像其中/home/developer/rknn-toolkit2/model_convert为工作区域/test为映射到docker镜像/dev/bus/usb:/dev/bus/usb为映射usb到docker镜像docker run -t -i --privileged -v /dev/bus/usb:/dev/bus/usb -v /home/developer/rknn-toolkit2/model_convert:/test rknn-toolkit2:2.3.2-cp38 /bin/bash执行成功如下图所示:模型转换操作说明.1 模型转换Demo目录结构模型转换测试Demo由yolov8_model_convert和quant_dataset组成。Yolov8_model_convert存放软件脚本quant_dataset存放量化模型所需的数据。如下图所示:Yolov8_model_convert文件夹存放以下内容如下图所示生成量化图片列表在docker环境切换到模型转换工作目录:cd /test/yolov8_model_convert如下图所示:执行gen_list.py生成量化图片列表:python gen_list.py命令行现象如下图所示:生成“量化图片列表”如下文件夹所示:onnx模型转换为rknn模型rknn_convert.py脚本默认进行int8量化操作脚本代码清单如下所示import sys from rknn.api import RKNN ONNX_MODEL yolov8m.onnx DATASET ./pic_path.txt RKNN_MODEL ./yolov8m_PI2.rknn QUANTIZE_ON True if __name__ __main__: # Create RKNN object rknn RKNN(verboseFalse) # Pre-process config print(-- Config model) rknn.config(mean_values[[0, 0, 0]], std_values[ [255, 255, 255]], target_platformrv1126b) print(done) # Load model print(-- Loading model) ret rknn.load_onnx(modelONNX_MODEL) if ret ! 0: print(Load model failed!) exit(ret) print(done) # Build model print(-- Building model) ret rknn.build(do_quantizationQUANTIZE_ON, datasetDATASET) if ret ! 0: print(Build model failed!) exit(ret) print(done) # Export rknn model print(-- Export rknn model) ret rknn.export_rknn(RKNN_MODEL) if ret ! 0: print(Export rknn model failed!) exit(ret) print(done) # Release rknn.release()把onnx模型yolov8m.onnx放到yolov8_model_convert目录(后续用户使用自己的模型的时候替换掉对应的onnx即可)并执行rknn_convert.py脚本进行模型转换python rknn_convert.py生成模型如下图所示此模型可以在rknn环境和EASY EAI PI2环境运行. 模型部署示例.1 模型部署示例介绍本小节展示yolov8模型的在EASY-EAI-PI2的部署过程该模型仅经过简单训练供示例使用不保证模型精度。.2 准备工作.2.1 硬件准备需准备EASY-EAI-PI2开发板Type-C数据线、网线。可以基于MobaXterm的ssh远程桌面登录调试。首先使用网线把EASY-EAI-PI2的千兆以太网接口与连着路由LAN口的交换机或者路由器的LAN口连接如下图所示。以及串口连接。开发环境准备如果您初次阅读此文档请阅读《入门指南/开发环境准备/Easy-Eai编译环境准备与更新》并按照其相关的操作进行编译环境的部署。在PC端Ubuntu系统中执行run脚本进入EASY-EAI编译环境具体如下所示。cd ~/develop_environment ./run.sh 2204源码下载以及例程编译打开目录《3.AI算法部署》找到yolov8 C Demo示例文件。把程序包移至ubuntu环境后执行以下指令解压tar -xvf yolov8_detect_C_demo.tar.bz2下载解压后如下图所示:在EASY-EAI 编译环境下进入到对应的例程目录执行编译操作具体命令如下所示cd /opt/data/rknn_toolkit2/model_convert_PI2/yolov8/yolov8_detect_C_demo ./build.sh同时把可执行程序目录yolov8_detect_demo_release/复制到开发板/userdata目录上cp yolov8_detect_demo_release/ /mnt/userdata/ -rf在开发板执行yolov8目标检测算法通过串口调试或ssh调试进入板卡后台定位到例程部署的位置如下所示cd /userdata/yolov8_detect_demo_release/运行例程命令如下所示chmod 777 yolov8_detect_demo sudo ./yolov8_detect_demo yolov8m_rk3562.rknn test.jpg执行结果如下图所示,算法执行时间为88.407ms在EASY-EAI编译环境可以取回测试图片:cp /mnt/userdata/yolov8_detect_demo_release/result.jpg .测试结果如下图所示:至此yolov8目标检测例程已成功在板卡运行。

相关新闻

Cortex-M 与 RTOS:先拆中断、任务还是驱动边界

Cortex-M 与 RTOS:先拆中断、任务还是驱动边界

Cortex-M 与 RTOS:先拆中断、任务还是驱动边界 拆 RTOS 功能时,先从数据如何进入、在哪里处理、怎样输出开始,而不是先按“一个模块一个任务”分工。任务拆得太早,往往只会增加队列、锁和排障难度。 找到不可阻塞的路径 先标出中断…

2026/10/28 15:41:31 阅读更多 →
Windows系统Spark 3.3.1环境搭建与配置指南

Windows系统Spark 3.3.1环境搭建与配置指南

1. Windows本地搭建Spark环境全指南 作为大数据处理领域的明星框架,Spark凭借其内存计算优势和丰富的API支持,已经成为数据分析师和开发者的必备工具。但在Windows系统上搭建Spark环境,往往会遇到各种"坑"——从Java版本冲突到Had…

2026/11/7 8:42:31 阅读更多 →
【在HTML中实现点击新增table】

【在HTML中实现点击新增table】

使用的是若依框架&#xff0c;在前端页面中直接进行设置实现新增table功能&#xff0c;效果尚可。 展示文字可点击类型 formatter: function(value, item, index) {return <a href"javascript:void(0);"onclick"showDeptDetail(\ item.deptId \,\item.de…

2026/11/5 11:52:53 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年&#xff0c;我大部分时间都在跟浏览器标签页打交道&#xff0c;直到第一次把桌面应用跑起来&#xff0c;才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词&#xff0c;最开始是在某段时间频繁出现在同事的讨论里&#xff0c;一个用HTML…

2026/11/8 1:19:03 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介&#xff1a;亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档&#xff0c;主要面向智能锁安装人员、终端用户及售后维护者&#xff0c;帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件&#xff0c;大小4.37MB&#xff0c;内容结构清晰&#xff…

2026/11/7 12:08:40 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统&#xff0c;整车要求空载跑到8m/s&#xff0c;电机转速已经拉到额定点&#xff0c;驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令&#xff0c;转速纹丝不动&#xff0c;三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/8 1:35:05 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年&#xff0c;用它写过嵌入式驱动、做过游戏服务端&#xff0c;也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词&#xff0c;我其实挺感慨的——这门语言的难点从来不是语法多&#xff0c;而是知识点之间的耦合太深…

2026/11/8 1:38:41 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介&#xff1a;亚太天能T109滑盖智能锁产品说明书以PDF格式发布&#xff0c;适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开&#xff0c;先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能&#xff0c;再给出完整安装步骤&…

2026/11/7 12:08:40 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历&#xff1a;翻开源码注释、论文摘要或者一份专业报告&#xff0c;每个字都认识&#xff0c;连在一起却像天书。想找人聊聊&#xff0c;身边要么没人懂&#xff0c;要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型&#xff0c;几秒钟之后&a…

2026/11/8 1:23:14 阅读更多 →

日新闻

周新闻

月新闻