测试环境说明:
(1)由于模型转换工具需要onnx版本和rknn的tool工具需要的版本相互矛盾需要创建量开发环境,当前测试转换的模型是yolov5_v5.0的模型
(2)由于在搭建开发环境时还存在部分小问题没有记录,如有和一下说明对应不上的问题请自行百度解决,如不想在搭建测试环境上浪费时间的可以下载本人的虚拟机直接进行测试链接:https://pan.baidu.com/s/1LPjzbNl7jpb6sceUDjho3A?pwd=46ka 提取码:46ka 。
(3)模型转换工具参考git:链接:https://pan.baidu.com/s/1BBr_jo0wx7zF-nD1-HRM3A?pwd=mt96 提取码:mt96
(4)使用本测试工具测试当前所有的yolov5版本测试汇总见小表
![](https://jinshushijie.com/wp-content/uploads/2023/09/1-4-331x1024.png)
1、conda搭建测试环境
1、使用conda创建虚拟环境
conda create -n yolov5 python=3.8//pt模型转成onnx模型需要的虚拟环境
conda create -n yolov5 python=3.6//onnx模型转成rknn模型需要的虚拟环境
使用虚拟环境时使用一下指令激活
conda activate yolov5//pt模型转成onnx模型需要的虚拟环境
conda activate rv1126//onnx模型转成rknn模型需要的虚拟环境
需要切换其他的虚拟环境或者是退出当前环境时
conda deactivate
查看可用的虚拟环境指令
conda info --envs
2、模型转换
1、转rknn前需要配置参数:
1、配置转换参数(文件路径:/home/wyj/wyj/yolov5/yolov5-master/rknn_convert_tools/config.yaml
)
![](https://jinshushijie.com/wp-content/uploads/2023/09/f8cec60fc0a44df1b18552da639e686a-1024x573.png)
2、转onnx模型使用说明:
1、激活虚拟环境:conda activate yolov5
2、进入到指定的路径:cd /home/wyj/wyj/yolov5/yolov5-master
![](https://jinshushijie.com/wp-content/uploads/2023/09/12ba757e3e364a69aaa954d135e9e69c.png)
3、输入转换指令:python models/export.py --rknn_mode --ignore_output_permute
![](https://jinshushijie.com/wp-content/uploads/2023/09/1-5-1024x257.png)
4、完成模型转换:模型输出路径/home/wyj/wyj/yolov5/yolov5-master/yolov5s.onnx
3、转rknn模型使用说明:
1、需要激活转换模型环境:conda activate rv1126
2、进入到制定的路径:/home/wyj/wyj/yolov5/yolov5-master/rknn_convert_tools
![](https://jinshushijie.com/wp-content/uploads/2023/09/1-6.png)
3、输入转换指令:python rknn_convert.py(需要在当前路径下放置best.onnx模型就是上一步转换出来的yolov5s.onnx的模型)
![](https://jinshushijie.com/wp-content/uploads/2023/09/1-7.png)
4、完成模型的转换:模型输出路径/home/wyj/wyj/yolov5/yolov5-master/rknn_convert_tools/best.rknn
4、模型网络结构
1、pt模型()
![](https://jinshushijie.com/wp-content/uploads/2023/09/1-8-1024x568.png)
2、onnx模型
![](https://jinshushijie.com/wp-content/uploads/2023/09/1-9-1024x532.png)
3、rknn模型结构显示如下:(由于当前使用查看模型的工具不能显示模型的详细信息、只能看见输出和输出的数据)
![](https://jinshushijie.com/wp-content/uploads/2023/09/1-10.png)
3、板端验证测试
(1)将复制到板端:adb push .\install /userdata/(复制整个文件夹)
![](https://jinshushijie.com/wp-content/uploads/2023/09/1-11.png)
2)adb push .\install\rknn_yolov5_demo\model\rv1109_rv1126\yolov5s_relu_rv1109_rv1126_out_opt.rknn /userdata/install/rknn_yolov5_demo/model/rv1109_rv1126/(单独复制模型)
![](https://jinshushijie.com/wp-content/uploads/2023/09/1-12-1024x52.png)
(3)进入板端:adb shell(打开adb的窗体需要在adb.exe的目录下面)
![](https://jinshushijie.com/wp-content/uploads/2023/09/1-13.png)
(4)进入到制定的目录:cd userdata/install/rknn_yolov5_demo/
![](https://jinshushijie.com/wp-content/uploads/2023/09/1-14.png)
5)修改权限:chmod 777 *
![](https://jinshushijie.com/wp-content/uploads/2023/09/1-15.png)
(6)执行脚本:./run_rv1109_rv1126.sh
![](https://jinshushijie.com/wp-content/uploads/2023/09/1-16-1024x500.png)
(7)退出板端:exit
![](https://jinshushijie.com/wp-content/uploads/2023/09/1-17.png)
(8)将测试结果复制到本地:adb pull /userdata/install/rknn_yolov5_demo/out.bmp
![](https://jinshushijie.com/wp-content/uploads/2023/09/1-18.png)
(9)测试结果如下所示:
![](https://jinshushijie.com/wp-content/uploads/2023/09/bd6890c7559140618702aeb739ea9813-1024x576.jpg)