Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

README.md

本样例为大家学习昇腾软件栈提供参考,非商业目的!

本样例适配3.0.0及以上版本,支持产品为Atlas200DK、Atlas300(ai1s)。

本README只提供命令行方式运行样例的指导,如需在Mindstudio下运行样例,请参考Mindstudio运行图片样例wiki

crowdCount 样例

功能:使用count_person.caffe模型对密集人群进行计数。

样例输入:密集人群图像

样例输出:标记出人数的图像。

前提条件

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

软件准备

1. 获取源码包。

可以使用以下两种方式下载,请选择其中一种进行源码准备。

  • 命令行方式下载(下载时间较长,但步骤简单)。

    开发环境,非root用户命令行中执行以下命令下载源码仓。

    cd $HOME
    git clone https://github.com/Ascend/samples.git
    
  • 压缩包方式下载(下载时间较短,但步骤稍微复杂)。

    1. samples仓右上角选择 克隆/下载 下拉框并选择 下载ZIP

    2. 将ZIP包上传到开发环境中的普通用户家目录中,例如 $HOME/ascend-samples-master.zip

    3. 开发环境中,执行以下命令,解压zip包。

    cd $HOME
    unzip ascend-samples-master.zipt
    

2. 获取此应用中所需要的模型

参考下表获取此应用中所用到的模型,并将其存放到开发环境普通用户下的工程目录:

cd $HOME/samples/python/contrib/crowdCount/model
模型名称 模型说明 模型下载路径
count_person.caffe 基于caffe的密集人群计数处理。 请参考https://github.com/Ascend/modelzoo/tree/master/contrib/TensorFlow/Research/cv/crowdCount/ATC_count_person_caffe_AE 原始模型章节,下载原始模型对应的cfg文件

3. 将原始模型转换为Davinci模型

注:请确认环境变量已经在环境准备和依赖安装中配置完成

  1. 设置LD_LIBRARY_PATH环境变量。

    由于LD_LIBRARY_PATH环境变量在使用atc工具和运行样例时会产生冲突,所以需要在命令行单独设置此环境变量,方便修改。

    export LD_LIBRARY_PATH=${install_path}/atc/lib64
    
  2. 执行以下命令使用atc命令进行模型转换。

    atc --input_shape="blob1:1,3,800,1408" --weight="count_person.caffe.caffemodel" --input_format=NCHW --output="count_person.caffe" --soc_version=Ascend310 --insert_op_conf=insert_op.cfg --framework=0 --model="count_person.caffe.prototxt" 
    

4. 获取样例需要的测试图片

执行以下命令,进入样例的data文件夹中,下载对应的测试图片。

cd $HOME/samples/python/contrib/crowdCount/data
wget https://c7xcode.obs.cn-north-4.myhuaweicloud.com/models/crowdCount/crowd.jpg

样例运行

注:开发环境与运行环境合一部署,请跳过步骤1,直接执行步骤2即可。

  1. 执行以下命令,将开发环境的crowdCount目录上传到运行环境中,例如 /home/HwHiAiUser,并以HwHiAiUser(运行用户)登录运行环境(Host)。

    scp -r $HOME/samples/python/contrib/crowdCount/  HwHiAiUser@xxx.xxx.xxx.xxx:/home/HwHiAiUser
    scp -r $HOME/samples/python/common/atlas_utils/   HwHiAiUser@xxx.xxx.xxx.xxx:/home/HwHiAiUser
    ssh HwHiAiUser@xxx.xxx.xxx.xxx
    

    icon-note.gif 说明:

    • xxx.xxx.xxx.xxx为运行环境ip,200DK在USB连接时一般为192.168.1.2,300(ai1s)为对应的公网ip。
  2. 运行可执行文件。

    • 如果是开发环境与运行环境合一部署,执行以下命令,设置运行环境变量,并切换目录。
     export LD_LIBRARY_PATH=
     source ~/.bashrc
     cd $HOME/samples/python/contrib/crowdCount/src
     python3 main.py ../data/
    
    • 如果是开发环境与运行环境分离部署,执行以下命令切换目录。
     cd $HOME/crowdCount/src
    

    切换目录后,执行以下命令运行样例。

     python3.6 main.py ../data/
    

查看结果

运行完成后,会在运行环境的命令行中打印出推理结果。