在服务器上安装Deep Cut

Deep Cut用于多人姿势辨识。

安装准备

首先确保服务器上安装有caffe和matlab,并且已安装有Deep Cut主页上要求的软件环境:

安装指南

  1. git clone
    git clone https://github.com/eldar/deepcut --recursive
  2. 编译Caffe与Matlab接口
    这一步需要修改external/caffe文件夹下的Makefile.config文件:
  • 添加语句以使用C++11编译:CXXFLAGS += -std=c++11
  • 更改matlab文件位置:MATLAB_DIR := /usr/local/MATLAB/MATLAB_Production_Server/R2015a
  1. 编译liblinear

    1
    2
    3
    $ cd external/liblinear-1.94/matlab
    $ CC=gcc CXX=g++ MATLABDIR=/usr/lib/matlab-8.6/ make
    #修改代码中的Matlab路径
  2. 编译求解器
    这一步比较复杂,需要安装求解器gurobi,gurobib不是开源软件,使用前要申请得到一个license。另外需要注意的是gurobi的最新版本中不支持Academic许可证在Docker container中运行,因此选择6.0.5版本。

    1
    2
    $ wget http://packages.gurobi.com/6.0/gurobi6.0.5_linux64.tar.gz
    $ tar -xvf gurobi6.0.5_linux64.tar.gz

下面参照这个博客中的步骤:

  • 编辑.bashrc文件。
    vim $HOME/.bashrc
  • 在文件中添加以下内容:

    1
    2
    3
    $ export GUROBI_HOME="/FULL/PATH/gurobi605/linux64" #这里改成gurobi所在的路径,在终端中使用pwd命令可查看当前路径
    $ export PATH="${PATH}:${GUROBI_HOME}/bin"
    $ export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${GUROBI_HOME}/lib"
  • 完成修改后在终端中输入source $HOME/.bashrc以更新设置。

  • 在terminal中输入:grbgetkey,然后输入申请到的key,联网完成授权,保存gurobi.lic文件至合适的位置。
  • 编辑.bashrc文件,输入export GRB_LICENSE_FILE="$HOME/gurobi.lic",将这里的值修改为保存gurobi.lic文件的位置,完 成修改后在终端中输入source $HOME/.bashrc以更新设置。
  • 在终端中输入gurobi.sh,如果报错,可以尝试将gurobi.lic文件复制一份到’/root’文件夹下
  • 在终端中输入:
    1
    2
    3
    $ cd external/solver
    $ cmake . -DGUROBI_ROOT_DIR=/path/to/gurobi605/linux64 -DGUROBI_VERSION=60 #这里的l路径改为服务器中gurobi文件夹所在路径
    $ make solver-callback

这一步可能报错找不到glut library,安装glut即可,如果无法安装glut,可无视这一错误。
到这里安装已经基本完成了。

下载模型

1
2
$ cd data
$ ./download_models.sh

运行Demo

1
2
3
4
$ cd <root_dir>
$ ./start_matlab_console.sh
% in MATLAB
>> demo_multiperson

这一步运行出错的,可以直接在命令行中输入matlab打开matlab,然后在matlab中运行demo_multiperson