本专栏主要是提供一种国产化图像识别的解决方案,专栏中实现了YOLOv5/v8在国产化芯片上的使用部署,并可以实现网页端实时查看。根据自己的具体需求可以直接产品化部署使用。
B站配套视频:https://www.bilibili.com/video/BV1or421T74f
前情提要
我们在上一篇博客我们已经导出了修改后的onnx模型,这篇博客会说明怎么导出RKNN。
模型转换
首先我们需要在我们日常使用的主机上安装docker,此处就不过多说明了,然后安装官方的rknn-toolkit2的docker镜像。
加载离线镜像文件,这个文件可以问卖家要。
docker load -i ./rknn-toolkit2.tar.gz
docker run -it --name rknn_toolkit2 -v $(pwd):/app rknn-toolkit2:xxxx
我们采用vscode使用远程开发进入docker环境,然后执行官方的转换脚本yolov5_convert.py。此处我们重点说一下几个配置。
对于关键参数的说明:
ONNX_MODEL : 模型路径
RKNN_MODEL :模型输出路径
IMG_PATH : 此时图片
DATASET:量化图片集,这是一个txt文件,里面的内容是量化图片集的项目目录,我们可以使用ls ./img/*.jpg | shuf -n 100 > datasets.txt将img中的目录输入到这个文件中。
QUANTIZE_ON : 是否启动量化,对于v5版本必须量化,非量化版本存在问题。
OBJ_THRESH :置信度
NMS_THRESH :极大值抑制
IMG_SIZE :图片大小
CLASSES :识别的类别
我们看一下导出后的rknn,将这个文件放到之前的代码中我们就可以在3588上运行自己的模型了。