手の検出結果(背景を人と誤検出) |
はじめに
昨日に、予定されていたOpenPose 1.0が正式にリリースされ、顔特徴点検出機能に加えて、手の検出機能が追加された。1.0.0のリリースノートは、こちらプログラムは、github から master を一式ダウンロードして、展開する。
ビルドに仕方の基本的な作業は、こことここに書いたものと同じであり、今回は手関連に関して記載する。
モデルデータの取得
models ディレクトリに移動し、getModels.sh を実行し、モデルを取得する。今回 modelの下には、poseとfaceのフォルダーに加えてhandが追加されている。hand フォルダーには、getModels.shにより、
wget http://posefs1.perception.cs.cmu.edu/OpenPose/models/hand/pose_iter_102000.caffemodel
のコマンドが実行され、約141Mモデルデータが取得される。
サンプルプログラムの修正
手特徴点検出に対応しているのは、exsamples/openpose/openpose.cpp
だけのようである。
このファイルをエディタで開き、100行目をfalseからtrueに変更する
// OpenPose Hand
DEFINE_bool(hand, true,
また、検出結果の画像を保存するフォルダーを149行に追加しておく
DEFINE_string(write_images, "../work/test"
保存ディレクトリは、たまたまテスト対象の画像を保存しているフォルダーと同じにしているが、ここは、何でもよい
ファイルを保存後makeを行う。
デモプログラムの実行
./build/examples/openpose/openpose.bin --image_dir ../work/test/これにより、../work/testに保存されている画像すべて検出対象となる。
結果は一瞬画面に表示され、上記フォルダーに保存されている。
停止させるには、スペースキーを押す。helpは、hキーを押せばよい
この画像では、残念ながら未検出 |
補足
cudaコード
NVCC src/openpose/face/renderFace.cu
NVCC src/openpose/pose/renderPose.cu
NVCC src/openpose/pose/bodyPartConnectorBase.cu
NVCC src/openpose/hand/renderHand.cu
NVCC src/openpose/core/nmsBase.cu
NVCC src/openpose/core/maximumBase.cu
NVCC src/openpose/core/resizeAndMergeBase.cu
以上
0 件のコメント:
コメントを投稿