OpenPoseとは
OpenPoseはDeep Learningを使って単眼カメラから人体姿勢を推定するライブラリで,CVPR2017でRealtime Multi-Person 2D Pose Estimation using Part Affinity Fieldsというタイトルで発表されたもの.
OpenPose
公式ページの情報を要約すると,画像,ビデオ,webcam,IPカメラから18点のキーポイントが検出可能.各種フォーマットで結果を保存可能.
他にも,左右の手から21点,顔から70点のキーポイントを検出するオプションもある.
これらはUbuntu,Windows,Nvidia TX2で動作する.
というわけで,色々な用途に使えるので,よく使うオプションのメモ.
実行方法
例えば,USBカメラを使う場合は以下の通り.
./build/examples/openpose/openpose.bin
ディレクトリ内の画像を一括で処理する場合
./build/examples/openpose/openpose.bin -image_dir /path/to/image
ビデオに対して処理する場合
./build/examples/openpose/openpose.bin -video /path/to/vieo
IPカメラの場合
./build/examples/openpose/openpose.bin -ip_camera (RTSPかHTTPでURLを指定)
姿勢推定結果の画像を保存したい
以下のオプションを追加
-write_images /path/to/directory
元画像を保存したい
以下のオプションを追加
-render_pose 0 -write_images /path/to/output_directory
ちなみに,-render_pose 1 でCPUを使った描画になり,デフォルトの -render_pose 2 よりも高速.
姿勢推定結果の座標値を保存したい
以下のオプションを追加
-write_keypoint /path/to/output_directory
デフォルトではyml形式で保存される.ファイルは,-write_imageをした時の画像と同じ番号が割り振られるので,画像とほぼ同じファイル名で1画像1ファイルで保存されていく.