人体动作识别

人体动作识别

人体动作识别

样例准备

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

    • 命令行方式下载(下载时间较长,但步骤简单)。
      # 开发环境,非root用户命令行中执行以下命令下载源码仓。    
      cd ${HOME}     
      git clone https://gitee.com/ascend/samples.git
       
      注:如果需要切换到其它tag版本,以v0.5.0为例,可执行以下命令。
      git checkout v0.5.0
       
    • 压缩包方式下载(下载时间较短,但步骤稍微复杂)。
      注:如果需要下载其它版本代码,请先请根据前置条件说明进行samples仓分支切换。
       # 1. samples仓右上角选择 【克隆/下载】 下拉框并选择 【下载ZIP】。    
       # 2. 将ZIP包上传到开发环境中的普通用户家目录中,【例如:${HOME}/ascend-samples-master.zip】。     
       # 3. 开发环境中,执行以下命令,解压zip包。     
       cd ${HOME}    
       unzip ascend-samples-master.zip
       
  2. 模型转换。

    模型名称 模型说明 模型下载路径
    openpose 人体骨骼关键点检测模型。 https://gitee.com/ascend/modelzoo/blob
    /9bf8402aca694dd602be536b5d7ff782c5e8c4e4
    /contrib/TensorFlow/Research/cv
    /%20gesturedetection/ATC_OpenPose_caffe_AE
    STGCN 人体动作识别模型。 https://gitee.com/ascend/modelzoo/tree
    /9bf8402aca694dd602be536b5d7ff782c5e8c4e4
    /contrib/TensorFlow/Research/cv
    /%20gesturedetection/ATC_STGCN_tf_AE
    # 为了方便下载,在这里直接给出原始模型下载及模型转换命令,可以直接拷贝执行。也可以参照上表在modelzoo中下载并手工转换,以了解更多细节。     
    
    cd $HOME/samples/cplusplus/contrib/gesturedetection/model    
    wget https://modelzoo-train-atc.obs.cn-north-4.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/gesturedetection/pose_iter_440000.caffemodel 
    wget https://modelzoo-train-atc.obs.cn-north-4.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/gesturedetection/pose_deploy.prototxt
    wget https://modelzoo-train-atc.obs.cn-north-4.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/gesturedetection/insert_op.cfg
    wget https://modelzoo-train-atc.obs.cn-north-4.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/gesturedetection/stgcn_fps30_sta_ho_ki4.pb
    atc --input_shape="input_features:1,2,30,14" --input_format=NCHW --output="./stgcn_fps30_sta_ho_ki4" --soc_version=Ascend310 --framework=3 --model=./stgcn_fps30_sta_ho_ki4.pb
    atc --input_shape="data:1,3,128,128" --weight="./pose_iter_440000.caffemodel" --input_format=NCHW --output="./pose_deploy" --soc_version=Ascend310 --insert_op_conf=./insert_op.cfg --framework=0 --model=./pose_deploy.prototxt 
    
     

样例部署

执行以下命令,执行编译脚本,开始样例编译。

cd  $HOME/samples/cplusplus/contrib/gesturedetection/scripts    
bash sample_build.sh
 

样例运行

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

    # 【xxx.xxx.xxx.xxx】为运行环境ip,200DK在USB连接时一般为192.168.1.2,300(ai1s)为对应的公网ip。
    scp -r $HOME/samples/cplusplus/contrib/gesturedetection/ HwHiAiUser@xxx.xxx.xxx.xxx:/home/HwHiAiUser    
    ssh HwHiAiUser@xxx.xxx.xxx.xxx     
    cd $HOME/samples/cplusplus/contrib/gesturedetection/scripts
     
  2. 执行运行脚本,开始样例运行。

    bash sample_run.sh
     

查看结果

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

常见错误

请参考常见问题定位对遇到的错误进行排查。如果wiki中不包含,请在samples仓提issue反馈。

 
 

订阅快讯

通过快讯订阅,您将及时收到我们的信息更新通知。