中文|英文
本Application支持运行在Atlas 200 DK实现了对faster-rcnn目标检测网络的实时推理功能。
部署此Sample前,需要准备好以下环境:
- 已完成Mind Studio的安装。
- 已完成Atlas 200 DK开发者板与Mind Studio的连接,交叉编译器的安装,SD卡的制作及基本信息的配置等。
运行此Sample前,需要按照此章节获取源码包,并进行相关的环境配置。
-
获取源码包。
将https://github.com/Ascend/objDetection仓中的代码以Mind Studio安装用户下载至Mind Studio所在Ubuntu服务器的任意目录,例如代码存放路径为:/home/ascend/objDetection。
-
参考表1获取此应用中所用到的原始网络模型及其对应的权重文件,并将其存放到Mind Studio所在Ubuntu服务器的任意目录,例如$HOME/ascend/models/faster_rcnn。
表 1 检测网络应用使用模型
请参考https://github.com/Ascend/models/tree/master/computer_vision/object_detect/faster_rcnn目录中README.md下载原始网络模型文件及其对应的权重文件。
-
将原始网络模型转换为Davinci模型。
-
以Mind Studio安装用户登录Mind Studio所在Ubuntu服务器,并设置环境变量DDK_HOME。
vim ~/.bashrc
执行如下命令在最后一行添加DDK_HOME及LD_LIBRARY_PATH的环境变量。
export DDK_HOME=/home/XXX/tools/che/ddk/ddk
export LD_LIBRARY_PATH=$DDK_HOME/uihost/lib
说明:
- XXX为Mind Studio安装用户,/home/XXX/tools为DDK默认安装路径。
- 如果此环境变量已经添加,则此步骤可跳过。
输入:wq!保存退出。
执行如下命令使环境变量生效。
**source \~/.bashrc**
-
以Mind Studio安装用户进入目标检测网络应用代码所在根目录,如_/home/ascend/objDetection_。
-
执行部署脚本,进行工程环境准备,包括公共库的编译与部署、应用的编译与部署等操作。
bash deploy.sh host_ip model_mode
- host_ip:对于Atlas 200 DK开发者板,即为开发者板的IP地址。对于AI加速云服务器,即为Host的IP地址。
- local:若Mind Studio所在Ubuntu系统未连接网络,请使用local模式,执行此命令前,需要参考公共代码库下载将依赖的公共代码库ezdvpp下载到“sample-objectdetection/script“目录下。
- internet:若Mind Studio所在Ubuntu系统已连接网络,请使用internet模式,在线下载依赖代码库ezdvpp。
命令示例:
bash deploy.sh 192.168.1.2 internet
-
将需要使用的已经转换好的Davinci离线模型文件上传至Host侧_~/HIAI_PROJECTS/ascend_workspace/objDetection/out_目录下。
scp faster_rcnn.om HwHiAiUser@host_ip:/home/HwHiAiUser/HIAI_PROJECTS/ascend_workspace/objDetection/out/faster_rcnn.om ```
对于Atlas 200 DK,host\_ip默认为192.168.1.2(USB连接)或者192.168.0.2(NIC连接)。
-
在Mind Studio所在Ubuntu服务器中,执行
python3 run_server.py ```
-
在Mind Studio所在Ubuntu服务器中,以HwHiAiUser用户SSH登录到Host侧。
ssh HwHiAiUser@host_ip
对于Atlas 200 DK,host_ip默认为192.168.1.2(USB连接)或者192.168.0.2(NIC连接)。
-
进入路面分割网络应用的可执行文件所在路径。
cd ~/HIAI_PROJECTS/ascend_workspace/segmentation/out
-
执行应用程序
使用相机获取图片
./ascend_segmentation
使用测试图片
./ascend_segmentation 1
将依赖的软件库下载到“objDetection/script“目录下。
表 2 依赖代码库下载