Skip to content

Human_Activity_Anticipation_cn

gordon edited this page Mar 4, 2018 · 9 revisions

<< 返回主页

EN | 中文

Contents

  1. 概要
  2. 示例视频
  3. 运行
  4. 程序框架
  5. 常见问题

概要


人类感知的一个重要方面是期待, 我们在日常活动中广泛使用, 与其他人类以及周围环境进行互动。预测人类下一步将做什么活动 (以及如何做) 可以使辅助机器人提前计划在人类环境中进行反应性反应。此外, 预期甚至可以提高过去活动的检测准确性。在这项工作中, 我们代表每一个可能的未来使用一个预期的时间条件随机域 (ATCRF), 模型的丰富的时空关系, 通过对象启示。然后, 我们认为每个 ATCRF 作为一个粒子, 并代表在潜在的未来的分布使用一组粒子

这个包已经在Ubuntu14.04系统下成功编译。

示例视频


IMAGE ALT TEXT

运行


在运行这个包之前,你需要安装以下依赖项

  • OpenCV version 2.4 or greater (dev version or install from source)
  • PCL 1.7
  • Boost version 1.50 or greater

以下是安装依赖项的命令行。本项目的代码将运行在CAD-120第三组数据集中。

# 安装 pcl 点云库
sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl 
sudo apt-get update
sudo apt-get install libpcl-all

# 安装 opencv
sudo apt-get install libopencv-dev
#install boost 1.50
wget http://sourceforge.net/projects/boost/files/boost/1.50.0/boost_1_50_0.tar.bz2
tar --bzip2 -xf boost_1_50_0.tar.bz2
#If you prefer to install boost to a specific directory use the following instead
# ./bootstrap.sh --prefix=path/to/installation/prefix
./bootstrap.sh
./b2
sudo ./b2 install

# 下载代码
git clone https://github.com/nathantsoi/human_activity_anticipation

# 编译
cd human_activity_anticipation/build
cmake ..
make
cd ../src/pyobjs
make

#安装机器学习代码的依赖项
cd ../../
sh install_dependencies.sh

# 下载数据集
cd data/
wget http://web3.cs.cornell.edu/pr/CAD-120/data/Subject3_rgbd_rawtext.tar.gz
wget http://pr.cs.cornell.edu/humanactivities/data/Subject3_annotations.tar.gz
tar -xvzf Subject3_annotations.tar.gz
tar -xvzf Subject3_rgbd_rawtext.tar.gz
mv  Subject3_rgbd_rawtext/*/*rgbd.txt  .
mkdir objects
mkdir objects_tracked
cp Subject3_annotations/*/objects/* objects/
cp Subject3_annotations/*/objects_tracked/* objects_tracked/
cp Subject3_annotations/*/*.bag .
cp Subject3_annotations/*/*.txt .
cat Subject3_annotations/*/activityLabel.txt  | grep -v END > activityLabel.txt
cat Subject3_annotations/*/labeling.txt > labeling.txt


# 运行代码
cd ../build/
./predict_seg ../data/ activityLabel.txt 1

程序结构


等待更正

常见问题


问题一. 运行代码时,你可能会遇到以下错误 COULD NOT LOAD MODULE "svmstruct_mrf_act_dyn"! perhaps module is not in module search path?

解答一. 首先,你要确认一下你是否成功运行了脚本文件install_dependencies.sh。若不成功,则需要手动通过源码安装相应版本的库。 然后,你要根据电脑中代码的存放位置,修正脚本里面的环境变量PYTHONPATH

问题二. 关于数据集选用。

解答二.在其官网上,CAD-120共有4组数据集。经过测试,Person 1 的数据集缺失文件,所以建议选用第三组数据。 http://pr.cs.cornell.edu/humanactivities/data.php#cad120

问题三. 运行代码时,你可能会遇到以下错误 feats = concatenate((skel_sel_feats,skel_add_feats),1) numpy.core._internal.AxisError: axis 1 is out of bounds for array of dimension 1

解答三. 在早期版本的numpy中,当你运行Z = np.concatenate((X,Y),1),其中X和Y是一维向量,它会抛出警告

Warning: axis != 0 for ndim == 1; this will raise an error in future versions of numpy.

所以当我们使用比较新版本的numpu时,且当X和Y是一维向量时,我们应该运行Z = np.concatenate((X,Y)).

问题四. 如何读懂这份代码?

解答四.你可以从以下网站下载相应的论文进行阅读,有助于你理解代码。 http://pr.cs.cornell.edu/humanactivities/index.php

http://pr.cs.cornell.edu/anticipation/index.php