LoginSignup
13
11

More than 5 years have passed since last update.

OpenPoseをコンテナ実行するDockerfile

Posted at

TL;DR

  • 姿勢解析システムOpenposeを,コンテナ実行するDockerfileを作成します
    • 作成済みのDockerfile をGithubで公開しています
    • nvidiaのGPUを持っていないので,Amazon AWSのg3インスタンスを使って動作検証を行いました

準備

  • nvidiaのGPUを搭載したDockerホスト(Dockerを動かすマシン)
  • nvidia-docker2がインストールされたDocker環境
    • docker-cenvidia-docker2をインストールしておく
    • AWS EC2 g3s.xlargeで動作テストをしています

使い方

Dockerイメージのビルド

git clone https://github.com/myoshimi/openpose-docker
cd openpose-docker
sudo docker build -t openpose .

Openposeで動画処理コマンド

openpose.binのオプションは以下の通り OpenPose - コマンド一覧(Qiita)が詳しいので,参照してください.

docker run --rm --runtime=nvidia \
    -v ${PWD}:/tmp/ openpose:latest \
    --face --hand --part_candidates \
    --display 0 \
    --model_folder /usr/local/openpose/models \
    --video       /tmp/input.avi \
    --write_json  /tmp/outputJSON \
    --write_video /tmp/output.avi
  • --write_json : 時刻ごとの姿勢情報(JSON形式)が出力されるディレクトリ
  • --display 0 : 姿勢推定結果を表示しない( AWSのVMなので途中結果の表示は不要 )
  • --model_folder : 使用する学習モデルも格納位置の指定
  • --video : 解析対象となる動画ファイル
  • --write_video : 解析結果を含んだ動画のファイル

静止画処理コマンド

動画と同様に,静止画も解析対象にできます.下記のように,動画ファイルを
指定する代わりに,画像ファイルを格納したディレクトリを指定するだけです.
ディレクトリ内の全ての画像が解析対象になります.

docker run --rm --runtime=nvidia \
    -v ${PWD}:/tmp/ openpose:latest \
    --face --hand --part_candidates \
    --display 0 \
    --model_folder /usr/local/openpose/models \
    --image_dir    ./image \
    --write_json   ./outputJSON \
    --write_images ./output_image \

Dockerにまとめてしまえば,アプリケーションインストールでホストPCの環境を汚さないので,とても便利です.

参考

13
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
11