一、海康威视开源工具下载使用
首先在海康威视官网下载MVS(Linux),里面有x64和aarch64处理器的,先用了x64软件的在自己的虚拟机上跑通了之后。
再在arm下跑aarch64版的,注意里面的驱动(.so)要放在usr/lib下,然后再在.pro下写清楚路径。
在这里插入图片描述
在Linux里跑qt的时候会报以下这个错误:
error: cannot find -lGL: No such file or directory
在网上搜索解决方法,找到的方案:执行apt-get install libglu1-mesa-dev
即可。
二、paddleseg模型的训练与部署
1.首先在github上下载paddleseg的源码,然后根据paddlepaddle的官网训练自己的训练集。
2.训练完以后根据官网的提示用export.py这个脚本导出推理模型
3.根据导出的推理模型的参数等转成onnx模型
4.将onnx模型转成rknn模型:注意,rknn模型不支持动态输入。且rknn_toolkit2截至目前为止仅支持ubuntu,而笔者没有linux操作系统的电脑,故需要x86-64的操作系统的话只能在虚拟机里跑了。
4.1笔者先在RK3588上安装了rknn_toolkit_lite2,但是发现rknnlite.api这个接口里的RKNNLite包,没有config函数,故只能在虚拟机上安装rknn_toolkit2,并在其上转模型。
在虚拟机上装rknn_toolkit2遇到了很多问题:
1我准备用的是以下选中的这个轮子,于是要先装python3.8,这里cp38对应的就是python的版本3.8。然后在pip install这个轮子的时候,装着依赖发现虚拟机内存不足了,于是打算扩容,用下面链接的方法:先在虚拟机的设置里加大存储空间,然后再生成/dev/sda2,然后再挂载…但失败了->整个系统登不上去了。
https://blog.csdn.net/fuchen58/article/details/81172009
在这里插入图片描述
2
于是乎只能重新装一个Ubuntu,要重装python,装python的时候会遇到python映射问题,多版本python设置默认python的问题,参照下列博客可解决,装sudo的时候,遇到sudo: /etc/sudoers.d is world writable的报错,想su root也不行,需要先设置root密码:sudo passwd root。
https://blog.csdn.net/weixin_39278265/article/details/87659130
3*装好以上内容后,就能装toolkit啦。

4.2根据rknn给出的test.py写出自己的onnx2rknn的脚本。
附上代码:

4.3运行,生成rknn。上文提到的rknn_toolkit_lite2是给在板子上推理提供接口的->用代码部署成功。推理时间仅仅在0.2s。比cpu推理的3s快了好多。

5.在arm上编译opencv与qt,这一步是重难点。注意 qt creator可以用sudo apt install 的方式安装,但是编译器的话要编译qtbase,这个东西就是qt!!!。
编译qt的时候要注意要改配置文件,这里的qmake.conf文件要改,比如把aarch64-linux-gnu-gcc改为当前环境变量的编译器的路径!!!!!
然后要指定编译平台,输入./configure -xplatform aarch64-linux-gnu-g++(取决于mkspecs里的文件夹的名字)。
在这里插入图片描述
在这里插入图片描述

根据下文编译QT:(注意在configue后的每一个包都要安装好)
https://blog.csdn.net/Mintary/article/details/130007551
根据下文交叉编译opencv
https://blog.csdn.net/tajon1226/article/details/100606316
https://blog.csdn.net/wjpwjpwjp0831/article/details/128269371

为什么量化后的rknn不准 ---->因为rknn模型原本是fp16,量化后变成Uint8了。

更多推荐