MacBook Proで機械学習、Deep Leaning系の記事を調べていた際、Macで姿勢検出ができるという記事を
いくつか見つけて色々試してみたところ動作したので、備忘録的に書いておきます。
#環境
- MacBook Pro 15in 2018 2.2 GHz Core i7 32GB Memory
- Mojave 10.14.6
- python 3.7.5
- homebrew でpythonとvirtualenv、wgetをインストール
設定手順
準備
準備としては、Pythonの仮想環境を設定します。
python仮想環境を作成します。
$ virtualenv mppose
python仮想環境に入ります。
$ source mppose/bin/activate
OpenPose設定
OpenPoseを設定していきます。
動作させるために必要なパッケージをインストールします。
$ pip3 install tensorflow ipython configobj keras pillow opencv-python
Kerasバックエンド版のOpenPoseのリポジトリをクローンして移動します。
$ git clone https://github.com/michalfaber/keras_Realtime_Multi-Person_Pose_Estimation.git
$ cd keras_Realtime_Multi-Person_Pose_Estimation/
リポジトリ内のmodelディレクトリに移動してcaffeとkerasの学習モデルをダウンロードします。
$ cd model
$ sh get_caffe_model.sh
$ sh get_keras_model.sh
空のinit.pyを作成します。(私の環境では、これを作成しないと後のpythonスクリプトを動作させる際にmodelディレクトリ配下のpythonモジュールが読みこめず、エラーになりました)
$ touch __init.py__
リポジトリのトップへ戻り、caffeのnumpy学習モデルレイヤをダンプします。
$ cd ../
$ docker run -v `pwd`:/workspace -it bvlc/caffe:cpu python dump_caffe_layers.py
caffeの学習モデルレイヤをkeras用に変換します。
$ python caffe_to_keras.py
以上で設定は完了です。
動作確認
サンプル写真の姿勢検出をしてみる。
$ python demo_image.py --image sample_images/ski.jpg
カメラを起動して姿勢検出をしてみる。
$ python demo_camera.py
カメラで姿勢検出をしてみたところ、大体processing time 0.07sec程度で検出ができているようで、CPUのみでもそこそこ動くものだなといったところです。姿勢検出系は他にもあるようなので、何かできるようなものがあればまた試してみようかと思います。