open-amv
open-amv视觉AI开发板是基于瑞芯微rv1103的主控芯片,外围设备丰富,上手简单,有0.5T的算力,轻松上手yolov5s,做目标检测非常适合。
rknn推理
rknn格式类似于pt,onnx,是由瑞芯微推出正对主控芯片的npu做推理的框架。我们需要把训练的模型用RKNN-Toolkit转为rknn格式,然后用rknn的提供API接口加载模型,设置模型参数,推理。
步骤
- 首先下载rknn转化工具: https://github.com/airockchip/rknn-toolkit2
使用里面的docker安装很方便,选准平台。 - https://github.com/airockchip/yolov5 使用瑞芯微官网的yolov5训练模型,生成PT文件,python export.py --rknpu --weight yolov5s.pt导出onnx模型,然后用rknn-toolkit转化工具python3 convert.py …/model/yolov5s.onnx rv1106 转成rv1103 的rknn模型。
- 注意要rknn要量化8int,因为rv1103只支持量化的rknn模型
- 使用rknn的推理框架API调用进行推理
部署c++
从摄像头读取数据,图片处理转化模型需要的图片格式输入,推理获取结果做nms获取目标像素坐标,画框。
采用32bit的opencv读取摄像头和图片处理格式nchw,用mpp加速做图片预处理等比缩放,扔进去模型做推理,获取结果后用opencv画框。
具体参考链接: https://pan.baidu.com/s/12UqXwZjxkcyuPuulcjLHig?pwd=rcay 提取码: rcay 里面的npu测试例子。