RK3568笔记七:yolov5-seg实例分割测试验证

若该文为原创文章,转载请注明原文出处。

记录的目的是想在RK3568上实现实例分割,在github的rknn_mode_zoo仓库里看到了例子,带着疑问测试了一下,结果跑通了,这里记录下全过程。

一、环境

1、硬件:正点原子ATK-DLRK3568板子

2、虚拟:使用正点提供的虚拟机

3、需要安装的工具(参考03【正点原子】ATK-DLRK3568_AI例程测试手册V1.0.pdf):

        安装交叉编译工具链

        anaconda 的安装与环境配置

        更新 NPU 驱动
        安装 rknn-toolkit2

以上自行安装,手册里有详细的説明

二、模型转换

1、下載rknn_model_zoo

https://github.com/airockchip/rknn_model_zoo

本人使用的是git方式,直接在虚拟机下操作的

git clone https://github.com/airockchip/rknn_model_zoo.git

没有VPN很难下载,自行处理。

看下目录,有很多,这里只测试yolov5_seg,也测试了yolov8是正常的。

2、环境及模型下载

转换是在py3.8下转换的,先激活conda環境

conda activate rknn2_env

rknn2_env是根据手册创建的虚拟环境

进入yolov5_seg的model目录

cd /home/alientek/rknn_model_zoo/examples/yolov5_seg/model

下載onnx模型,获取yolov5s-seg.onnx模型,模型訓練和获取会用一篇文章记录。

chmod +x download_model.sh
./download_model.sh

3、rknn模型转换

进入目录/home/alientek/rknn_model_zoo/examples/yolov5_seg/python,里面有个convert.py文件,会把onnx模型转成rknn

这里要注意,rknn-toolkit2一定要安装,py3.8一定要切换。

执行

python convert.py ../model/yolov5s-seg.onnx rk3568 i8

转换成功后的rknn在model目录下。

三、Demo编译

rknn_model_zoo提供了两个测试方法,一个是python, 一个是python, python可以验证onnx模型

cpp直接部署到rk3568上。

这里直接测试cpp

所以编译demo,在readme里也有介绍

即先设置交叉工具链,执行编译。

先执行下面命令,设置交叉工具链:

export GCC_COMPILER=/opt/atk-dlrk356x-toolchain/usr/bin/aarch64-buildroot-linux-gnu

返回rknn_model_zoo目录

执行执行下面命令编译demo

 ./build-linux.sh -t rk356x -a aarch64 -d yolov5_seg

结果保存在install目录下

rknn_yolov5_seg_demo 会有模型和可执行文件

四、Demo测试及验证

通过ADB把rknn_yolov5_seg_demo上传到板子

adb push rknn_yolov5_seg_demo/ /userdata/aidemo

打开开发板终端,

执行

./rknn_yolov5_seg_demo model/yolov5s-seg.rknn model/bus.jpg

执行出错

错误感觉是rga和rknnrt版本过低。

更新一下,直接拷贝lib下的librga.so和librknnrt.so到/usr/lib目录下

#进入lib目录
cd rknn_yolov5_seg_demo/lib
# 拷贝
cp * /usr/lib

重新运行,输出正常,并输出out.png图片

通过adb把out.png图片下载到虚拟机。

在虚拟机执行下面命令,下载图片

adb pull /userdata/aidemo/rknn_yolov5_seg_demo/out.png ./

后续将训练自己的数据集并部署。

如有侵权,或需要完整代码,请及时联系博主。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/311149.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java安装详细教程

文章目录 一、JDK 下载 和 安装1.1 选择 Java版本1.2 下载 JDK 二、 配置环境变量2.1 配置环境变量的原因2.2 配置环境变量2.3 验证配置是否成功 参考资料 一、JDK 下载 和 安装 1.1 选择 Java版本 访问 Oracle 官方网站的 Java 下载页面Java Archive | Oracle。 在 “Java …

vue实现滑动切换:切换选项时滑块有滑动过渡的效果

效果图 思路: 1. 高亮的色块是独立的一个盒子,需要插入当前激活的内容用来撑开色块盒子的宽度,这样色块的宽度就会和当前激活的内容宽度一致,色块的字体颜色设置透明即可 2. 色块滑动的距离是读当前激活元素的offsetLeft&#x…

Redis经典五大类型源码及底层实现(二)

👏作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家📕系列专栏:Spring源码、JUC源码、Kafka原理、分布式技术原理、数据库技术🔥如果感觉博主的文章还不错的…

【数据结构——图】图的最短路径(头歌习题)【合集】

目录 第1关:单源最短路径完整代码 第2关:多源最短路径输入格式:输出格式:完整代码 第1关:单源最短路径 给一个n(1 ≤ n ≤ 2500) 个点 m(1 ≤ m ≤ 6200) 条边的无向图,求 s 到 t 的最短路。 输入格式: 第一行四个由空格隔开的整…

Springboot整合JSP-修订版本(Springboot3.1.6+IDEA2022版本)

1、问题概述? Springboot对Thymeleaf支持的要更好一些,Springboot内嵌的Tomcat默认是没有JSP引擎,不支持直接使用JSP模板引擎。这个时候我们需要自己配置使用。 2、Springboot整合使用JSP过程 现在很多的IDEA版本即使创建的项目类型是WAR工…

ESP32入门九(超声波测距传感器)

一、超声波测距原理 超声波测距模块可提供非接触式距离感测功能;模块包括超声波发射器、接收器和控制电路。其工作原理为当接收到信号后,发射器发出音速的超声波信号,信号在受到物品阻挡时会返回并被接收器检测到,当接收器检测信…

双侧电源系统距离保护MATLAB仿真模型

微❤关注“电气仔推送”获得资料(专享优惠) 系统原始数据 双侧电源系统模型如图所示: 仿真模型搭建 将线路AB分成Line1和Line2,将线路BC分成Line3和Line4,用三相电压电流测量模块作为系统母线,根据系统已…

04 HAL库下使用定时器产生一个中断

目录 一、定时器的相关知识点 1.定时器的定义 2. 查看时钟配置 3. 定时器的分类 二、实验开始 1. 配置一个定时器 2.打开定时器的中断配置 引言 在本文的开头我想给大家分享一下单片机工作的两种工作模式轮询和中断(异步), 中断也叫做…

雨课堂作业整理

第一次作业 1.下列序列是图序列的是( ) A.1,2,2,3,4,4,5 B.1,1,2,2,4,6,6 C.0,0,2&am…

性能测试-jmeter:安装 / 基础使用

一、理解jmeter 官网-Apache JMeter-Apache JMeter™ JMeter是一款开源的性能测试工具,主要用于模拟大量用户并发访问目标服务器,以评估服务器的性能和稳定性。 JMeter可以执行以下任务序号用途描述1性能测试通过模拟多个用户在同一时间对服务器进行请…

PythonTSK Study for first day (paper read)

HTSK model Study AbstractIntroductionII TSK for high-dimentional datasetIII ResultsA DatesetB AlgorithmC性能评估 Abstract The TSK Fuzzy System with Gaussian membership functions can not address high dimentional datasets, if add softmax function to solve i…

使用Android Studio等idea工具开发flutter应用,必备的debug调试技能,非常好用

我们程序员不论开发什么软件,都需要一把锋利的调试工具,这是必不可少的,不然出现问题了,你都不知道问题是啥,出现在哪,就更别说怎么解决了。所以我这里就介绍一下android studio开发flutter必备的调试技能&…