サンプル画像の検出結果 |
はじめに
OpenPoseは今月の初め普通のWebカメラの画像からボーンが取得できると、一部の界隈で話題になったので、試してみようとした。当初、処理時間がかかってもCPUで何とかなるだろうと考え試してみたが、残念ながらこの試みは無駄に終わった。(後日簡単ないきさつをまとめる予定)
しかたがないのでGPUボードを新規に購入し、CUDA環境を整え、こちらも新規にGPU版のCaffeをビルドし、その環境の上に再度OpenPoseのビルドを試みた。
インストールの仕方は、ここを参考にした。それによれば、 install_openpose.sh を実行すればよいとのことだが、試してみるといくつか問題あった。結局、 install_openpose.sh の中の処理を手動で実行することで回避した。スクリプトの内部は以下手順がかかれている。
1 ubuntuのバージョンチェック
14.04 と 15以降を別扱いに
2 CPUのコア数をチェック
3 Makefile.config.Ubuntu16.exampleをMakefile.configにコピーする。
CUDA8が前提となっている。
CUDA7の場合は、Makefile.config.Ubuntu16.cuda_7.example を使用することになる
4 コア数を指定し make allを実行
5 models ディレクトリに移動し、getModels.sh を実行し、モデルを取得する
coco ディレクトリには、
wget http://posefs1.perception.cs.cmu.edu/Users/tsimon/Projects/coco/data/models/coco/pose_iter_440000.caffemodel
mpi ディレクトリには
wget http://posefs1.perception.cs.cmu.edu/Users/tsimon/Projects/coco/data/models/mpi/pose_iter_160000.caffemodel
によりモデルデータが取得される。
モデルデータは、約200Mbyteぐらいあり、サーバが遅いのでそれぞれの取得に1時間以上かかる。
つまづいたポイント
オリジナルのMakefile.configでmakeを行うと./include/openpose/core/netCaffe.hpp:8:25: fatal error: caffe/net.hpp: No such file or directory
や
/usr/bin/ld: cannot find -lcaffe
などのエラーが生じmakeに失敗する。
対策としてMakefile.configにCaffeのパスを追加すれば解決する。
INCLUDE_DIRS := /usr/local/include /usr/include/hdf5/serial /opt/caffe/build/include
LIBRARY_DIRS := /usr/local/lib /usr/lib /opt/caffe/build/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial
サンプルのプログラムに関しては次回に続く
環境
ubuntu 16.04 GPUボード GTX 1050TiCUDA 8.0 cuDNN 6
以上
0 件のコメント:
コメントを投稿