TensorFlowでOpenPose(macでできるモーションキャプチャ)

OpenPoseのチュートリアルやってみたまとめです。
https://github.com/ildoonet/tf-pose-estimation
スクリーンショット 2018-03-27 10.08.32.png
人物の骨格などを、モーションキャプチャなしで簡単に表示できるツールです。内蔵カメラがあれば、リアルタイム動画描写もできます。

OpenPose
※本家本元は、https://github.com/CMU-Perceptual-Computing-Lab/openpose ですが、
 今回はそれをTensorで動くようカスタマイズされたものを使用します。
※Chainerで試したい方は こちら です。
 尚、Chainerは、手の描写に特化したものも入っており幅が広いですが、Tensorよりも動画のモーキャプが遅くCPUではカクカクでした。

動作環境は、macOS Sierraです。

1.仮想環境を作る

homebrewでpython3をインストールしたあと、
virtualenvでopenposeの仮想環境作り、その中に入って作業します。
不要な方はスキップしてください。

- 仮想環境作り

homebrewのインストール
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
homebrewでpython3のインストール
brew install python3
virtualenvのインストール
pip install --upgrade virtualenv
virtualenvで仮想環境を作る hogeは任意の名前でよい
virtualenv --system-site-packages -p python3 hoge

- 仮想環境に入る

source hoge/bin/activate
で、ターミナル左に(hoge)が出てればOK

2.必要なものをインストールする

openposeのパックをダウンロード
git clone https://github.com/ildoonet/tf-pose-estimation

cd tf-openposeで、ダウンロードされたファイルに移動して

必要なモジュールのインストール
pip3 install -r requirements.txt
tensorflowのダウンロード
pip3 install tensorflow
matplotlibのインストール
pip3 install matplotlib

cd models/graph/cmu でさらにcmuという階層に移動して

重みなどなど?インストール
bash download.sh

3.実行する

1行ずつ実行

tf-openpose/srcの階層に移動
cd ../../..
cd tf-openpose/src

- 静止画の検証

python3 run.py --model=mobilenet_thin --resolution=432x368 --image=(検証したい画像のPATH)

Figure_1.png

いい感じです。

- 内臓カメラでの検証

python3 run_webcam.py --model=mobilenet_thin --resolution=432x368 --camera=0

カメラが自動で起動され、リアルタイムで動き始めます。
ウィンドウを閉じても終了しないので、
ターミナルをcontrol+Cで抜けてください。

4. さいごに

■エラー処理
matplotlibがvirtualenvで動かないエラーが結構でます。
https://qiita.com/Kodaira_/items/1a3b801c7a5a41c9ce49
ご参考までに。

■他の環境で実装したい方はこちらみるといいかも、C++とか。
https://github.com/ZheC/Realtime_Multi-Person_Pose_Estimation

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.