OpenPoseを試してみた
Alternative Kinect
OpenPoseはweb cameraだけで人体の骨格や表情を認識することができる技術だ。今後注目すべき技術になると思う。今はマシンパワーが少し必要であるが、2015年モデルのMac book Proでビルドして試してみても、まぁまぁな速度で動作する。でも実際に仕事の案件などで使用するなら、少し物足りない気がした。また、オープンソースであるが、商用利用にはライセンス費を支払う必要がある。1年で$2,5000とかなりお高め。ただし、オリジナルのOpenPoseから派生したプロジェクトもいくつかあり、こちらはApache 2.0ライセンスなので、商用利用できるようだ。
インストール方法
本家のOpenPoseのインストール方法を記載する。本家のOpenPoseはMacのインストールはCPUビルドのみサポートしているようだ。また、CPUバージョンは8GBのRAMと少なくても最新のCPU8コアが強く推奨されている。 ちなみに私の環境はMacbook Pro 15 inchの2015年モデルで、4コアでRAMは16GBだ。
- OpenPoseのリポジトリをクローン
$git clone https://github.com/CMU-Perceptual-Computing-Lab/openpose
- ディレクトリに移動
$cd openpose
- cmakeをインストール (cmake guiも同時にインストールされる)
$brew cask install cmake
$bash 3rdparty/osx/install_deps.sh
- cmake経由でインストールされたcaffeを削除して、再インストールする
$brew uninstall caffe $brew install caffe
$cmake-gui
- ソースコードパスとbuildフォルダパスを指定する
buildフォルダは空のフォルダを生成しておく
Where is the source code: /path/to/openpose Where to the binaries: /path/to/build
* Add Entryボタンを押して、以下の追加情報を設定する
Name : BUILD_CAFFE Type : bool Value : false (チェックボックスのチェックを外す)
Name : Caffe_INCLUDE_DIRS Type : PATH Value : /usr/local/include/caffe
Name : Caffe_LIBS Type : PATH Value : /usr/local/lib/libcaffe.dylib
- Configureボタンで設定を反映
ここでエラーとして赤いラインが表示されても、問題なかった - Generateボタンでバイナリを生成
buildフォルダにexampleなどのフォルダが生成されていれば成功 - buildフォルダに移動して、makeする
(このステップは必要ないかもしれない)
$cd build/ $make -j`nproc` $sudo make install
Quick Start
exampleフォルダにあるvideoファイルから、人物認識をするデモが実行できる。
$./build/examples/openpose/openpose.bin --video examples/media/video.avi
webカメラを使う場合は、--videoオプションではなく--cameraオプションを使えば良い
$./build/examples/openpose/openpose.bin --camera 0
また、fpsの調整で一番簡単な方法が、--net_resolustionのサイズを小さくすることらしい。ただし、サイズを小さくするとその分認識精度は落ちる。
--net_resolutionは16の倍数で設定する必要がある。net__resolutionはTensorflowによって作られた学習モデルに渡す画像サイズのようだ。
$./build/examples/openpose/openpose.bin --net_resolution 656x368 --camera 0