Skip to content

Latest commit

 

History

History
186 lines (124 loc) · 9.8 KB

README_cn.md

File metadata and controls

186 lines (124 loc) · 9.8 KB

中文|英文

ObjDetection

本Application支持运行在Atlas 200 DK实现了对faster-rcnn目标检测网络的实时推理功能。

前提条件

部署此Sample前,需要准备好以下环境:

  • 已完成Mind Studio的安装。
  • 已完成Atlas 200 DK开发者板与Mind Studio的连接,交叉编译器的安装,SD卡的制作及基本信息的配置等。

软件准备

运行此Sample前,需要按照此章节获取源码包,并进行相关的环境配置。

  1. 获取源码包。

    https://github.com/Ascend/objDetection仓中的代码以Mind Studio安装用户下载至Mind Studio所在Ubuntu服务器的任意目录,例如代码存放路径为:/home/ascend/objDetection

  2. 获取此应用中所需要的原始网络模型。

    参考表1获取此应用中所用到的原始网络模型及其对应的权重文件,并将其存放到Mind Studio所在Ubuntu服务器的任意目录,例如$HOME/ascend/models/faster_rcnn。

    表 1 检测网络应用使用模型

    模型名称

    模型说明

    模型下载路径

    faster_rcnn

    目标检测网络模型。

    是基于Caffe的Faster RCNN模型。

    请参考https://github.com/Ascend/models/tree/master/computer_vision/object_detect/faster_rcnn目录中README.md下载原始网络模型文件及其对应的权重文件。

  3. 将原始网络模型转换为Davinci模型。

    1. 在Mind Studio操作界面的顶部菜单栏中选择“Tool > Convert Model”,进入模型转换界面。

    2. 在弹出的Convert Model操作界面中,Model File与Weight File分别选择2中下载的模型文件和权重文件。

      • Model Name填写为表1对应的模型名称:faster_rcnn。

      • 其他保持默认值。

        图 1 faster_rcnn模型转换配置

    3. 单击OK开始转换模型。

      模型转换成功后,后缀为.om的Davinci模型存放地址为$HOME/tools/che/model-zoo/my-model/fast_rcnn。

  4. 以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**

部署

  1. 以Mind Studio安装用户进入目标检测网络应用代码所在根目录,如_/home/ascend/objDetection_。

  2. 执行部署脚本,进行工程环境准备,包括公共库的编译与部署、应用的编译与部署等操作。

    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

  3. 将需要使用的已经转换好的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连接)。

运行

  1. 在Mind Studio所在Ubuntu服务器中,执行

python3 run_server.py ```

  1. 在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连接)。

  2. 进入路面分割网络应用的可执行文件所在路径。

    cd ~/HIAI_PROJECTS/ascend_workspace/segmentation/out
  3. 执行应用程序

    使用相机获取图片

    ./ascend_segmentation

    image2

    使用测试图片

    ./ascend_segmentation 1

    pic

公共代码库下载

将依赖的软件库下载到“objDetection/script“目录下。

表 2 依赖代码库下载

模块名称

模块描述

下载地址

EZDVPP

对DVPP接口进行了封装,提供对图片/视频的处理能力。

https://github.com/Ascend/sdk-ezdvpp

下载后请保持文件夹名称为ezdvpp。