-
专栏链接如下:
Hi3516/Hi3519DV500移植YOLOV5、YOLOV6、YOLOV7、YOLOV8开发环境搭建--安装Ubuntu18.04--(1)
Hi3516/Hi3519DV500移植YOLOV5、YOLOV6、YOLOV7、YOLOV8开发环境搭建--安装开发环境AMCT、依赖包等--(2)
Hi3516/Hi3519DV500移植YOLOV5、YOLOV6、YOLOV7、YOLOV8开发环境搭建--安装交叉编译工具链--(3)
Hi3516/Hi3519DV500移植YOLOV5、YOLOV6、YOLOV7、YOLOV8开发环境搭建--安装ATC&MindStudio--(4)
Hi3516/Hi3519DV500移植YOLOV5、YOLOV6、YOLOV7、YOLOV8开发环境搭建--YOLOV5工程编译移植到开发板测试--(5)
一、开发环境准备
1.1、VMware Workstation15 Pro,本专栏采用vmware虚拟机搭建开发环境,若采用物理机原理大同小异。
1.2、Ubuntu18.04镜像,下载地址ubuntu-releases-18.04安装包下载_开源镜像站-阿里云,使用阿里镜像下载速度超级快。
二、MindStudio编译YOLOV5的范例
2.1、复制MindStudio的Samples
打开海思官方的CNN SDK目录,复制samples.tar.gz到/home/huawei/MindStudio-Samples目录内,如下图所示:
解压 ,如下图所示:
2.2、启动MindStudio加载测试工程
启动MindStudio,运行如下脚本,任意目录:
MindStudio.sh
点击open,打开工程,如下图:
选择如下目录内的工程,如下图所示:
点击 Trust project ,如下图:
加载成功,弹窗设置CANN:
配置编译选项,如下图:
编译,如下图:
如下图,已经成功编译了yolo的工程:
三、加载到板端试运行
3.1、 转换yolov5模型为om
打开如下目录:
运行如下脚本:
atc --dump_data=0 --input_shape="images:1,3,640,640" --input_type="images:UINT8" --log_level=0 --online_model_type=0 --batch_num=1 --input_format=NCHW --output="./model/yolov5" --soc_version=Hi3519DV500 --insert_op_conf=./insert_op.cfg --framework=5 --compile_mode=0 --save_original_model=true --model="./onnx_model/yolov5s.onnx" --image_list="images:./data/image_ref_list.txt"
若提示atc未安装,修改环境变量,如下命令:
vim ~/.bashrc
在文件末尾添加如下内容:
使环境变量生效
source ~/.bashrc
再次运行
atc --dump_data=0 --input_shape="images:1,3,640,640" --input_type="images:UINT8" --log_level=0 --online_model_type=0 --batch_num=1 --input_format=NCHW --output="./model/yolov5" --soc_version=Hi3519DV500 --insert_op_conf=./insert_op.cfg --framework=5 --compile_mode=0 --save_original_model=true --model="./onnx_model/yolov5s.onnx" --image_list="images:./data/image_ref_list.txt"
此时可能会有如下报错,未找到依赖的动态库 ,如下图:
继续修改环境变量,增加如下内容,并保存退出,使环境变量生效:
再次运行转换脚本,则转换成功如下图所示:
打开如下目录找到这个文件,说明模型已经转换成功:
3.2、转换测试图片为bin文件
转换测试图片为bin文件,进入如下目录,运行转换脚本:
在此目录打开控制台,其实该目录内已经生成了测试图片的bin文件,此处为了熟悉开发流程
python3.7.5 ../script/transferPic.py 5
成功转换如下图所示:
3.3、拷贝测试文件到开发板端运行
需要src、model、data目录的内容拷贝到开发板内,如下图所示:
板端的内容如下:
拷贝板端运行的依赖库到/usr/lib目录内,如下图所示:
同时拷贝opencv库到板子端,如下图:
在板子端src、model、data同级目录新建一个yolov5_test文件夹,将下图内的main文件拷贝至yolov5_test目录内
在开发板端将main更改为可执行权限,chmod +x main,然后运行如下命令:
./main 5
运行成功,如下显示:
下载推理后的输出文件看看效果,如下图所示:
效果如下:
至此,yolov5移植验证已经成功,接下来会陆续尝试yolov7、yolov8等模式。