1.模型训练好后,不能直接导出onnx,需要下载安装瑞芯微修改过的库https://github.com/airockchip/ultralytics_yolo11,然后修改里面的默认模型位置,再调用python ./ultralytics/engine/exporter.py导出的才能匹配器示例库的代码;对应的python环境最好选3.8、3.9,如果太新了容易导致不兼容;
2.c++部署
示例来自于https://github.com/airockchip/rknn_model_zoo
有一堆的依赖库,不过还好都是编译好的,然后需要使用上面特定版本导出的,不然示例不认识输出,且瑞芯微库的说明是,后面很大一部分后处理的层,直接在npu上面跑会很慢,故而放到后处理在cpu上面跑;如果不是标准的检测,比如要使用姿态和obb等,可能后续的一些处理需要自己去手写了;
3.c++的代码明明是依赖了opencv库这些,但还是比较偏硬件的方法写的,一大堆裸指针,也并没有怎么使用opencv等进行图像读写,字符串都全是char指针,再加上文件输入主要靠一堆完全固定位置的宏,整体要想重新弄精简封装还是要费一点力。
3.一点更新,配置RKNN-Toolkit2环境时一定要忽略他的依赖项
使用
pip install rknn_toolkit2-2.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl --no-deps
#或者
pip install rknn_toolkit2 --no-deps
不然有个库在特定的版本死活安装不上;这样基本依赖库都可以清单直接装最新的。