OpenPoseのチュートリアルやってみたまとめです。
https://github.com/ildoonet/tf-pose-estimation
人物の骨格などを、モーションキャプチャなしで簡単に表示できるツールです。内蔵カメラがあれば、リアルタイム動画描写もできます。
OpenPose
※本家本元は、https://github.com/CMU-Perceptual-Computing-Lab/openpose ですが、 今回はそれをTensorで動くようカスタマイズされたものを使用します。 ※Chainerで試したい方は [こちら](https://github.com/DeNA/Chainer_Realtime_Multi-Person_Pose_Estimation/blob/master/README_JP.md#caffemodel%E3%82%92chainer%E7%94%A8%E3%81%AB%E5%A4%89%E6%8F%9B) です。 尚、Chainerは、手の描写に特化したものも入っており幅が広いですが、Tensorよりも動画のモーキャプが遅くCPUではカクカクでした。動作環境は、macOS Sierraです。
1.仮想環境を作る
homebrewでpython3をインストールしたあと、
virtualenvでopenposeの仮想環境作り、その中に入って作業します。
不要な方はスキップしてください。
- 仮想環境作り
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install python3
pip install --upgrade virtualenv
virtualenv --system-site-packages -p python3 hoge
- 仮想環境に入る
source hoge/bin/activate
で、ターミナル左に(hoge)が出てればOK
2.必要なものをインストールする
git clone https://github.com/ildoonet/tf-pose-estimation
cd tf-openpose
で、ダウンロードされたファイルに移動して
pip3 install -r requirements.txt
pip3 install tensorflow
pip3 install matplotlib
cd models/graph/cmu
でさらにcmuという階層に移動して
bash download.sh
3.実行する
1行ずつ実行
cd ../../..
cd tf-openpose/src
- 静止画の検証
python3 run.py --model=mobilenet_thin --resolution=432x368 --image=(検証したい画像のPATH)
いい感じです。
- 内臓カメラでの検証
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