OpenPose で人の動きを取得し、3D再構成につなげるシリーズの第1回です。Part 1 では、Windows に OpenPose をインストールし、コマンドラインから実行して2Dの姿勢推定データ(JSON)を出力するまでを扱います。上の動画で全手順を画面付きで解説しているので、本記事を見ながら一緒に進めてください。

- OpenPose セットアップ(本記事)
- カメラキャリブレーション
- 3D再構成
- キネマティクスシミュレーション
- キネティクスシミュレーション
OpenPose とは
OpenPose は、カーネギーメロン大学 Perceptual Computing Lab が開発した、複数人対応のリアルタイム2D姿勢推定システム(オープンソース)です。動画から body・face・hand のキーポイントを検出し、JSON として書き出します。本シリーズの後半では、複数のカメラ角度から得たこの2Dキーポイントを統合して、動きを3Dで再構成します。
ステップ1 — ポータブル版をダウンロード
「OpenPose release」で検索するか、GitHub の OpenPose リリースページへ直接アクセスします。最新版(収録時点では v1.7.0)を開き、自分の環境に合うポータブル版をダウンロードします。

- GPU版 —
openpose-1.7.0-binaries-win64-gpu-python3.7-flir-3d_recommended.zip(約418MB)。NVIDIA GPU があるならこちら。高速です。 - CPU版 —
openpose-1.7.0-binaries-win64-cpu-python3.7-flir-3d.zip(約146MB)。CPUのみの場合はこちら。動きますが低速です。
解凍すると、bin・models・python などのフォルダと、目を通しておくとよい Instructions(テキスト)が入っています。ただし最重要なのは次のステップです。
ステップ2 — モデルをダウンロード
OpenPose には学習済みモデルが同梱されていないため、最初に一度だけ取得します。models フォルダを開き、同梱のバッチファイルをダブルクリックすると、必要な body・face・hand のモデルが自動でダウンロードされます。

ステップ3 — Visual C++ 再頒布可能パッケージを入れる
ここまでで技術的には実行可能ですが、Visual Studio が入っていない環境では起動時にエラーが出るのが一般的です。対処として、Microsoft Visual C++ 再頒布可能パッケージ(Visual Studio 2015–2022)をインストールします。Microsoft 公式ページからダウンロードできます: 最新の Visual C++ 再頒布可能パッケージ。自分の環境に合うもの(最近のPCはほぼ x64)を選んでください。多くの起動エラーはこれで解決します。

デモを動かすだけなら Python は必須ではありません。別のエラーが出た場合は、OpenPose の公式ドキュメントに多くの解決策が載っています。ただし、よくあるエラーは上記の再頒布パッケージで解決します。
ステップ4 — コマンドラインから実行
OpenPose フォルダ内でコマンドプロンプトを開きます(フォルダのアドレスバーに cmd と入力)。よく使う引数はテキストファイルにまとめておき、コピペするのが便利です。姿勢推定データを取得する代表的なコマンドは次のとおりです。
bin\OpenPoseDemo.exe --video INPUT.avi --write_json OUTPUT_FOLDER --display 0 --render_pose 0 --net_resolution -1x320

各引数の意味:
--video— 姿勢推定したい入力動画のパス(例:.aviファイル)--write_json— JSON キーポイントを保存するフォルダ--display 0— ライブ表示ウィンドウをオフにし、処理時間を大幅に短縮--render_pose 0— 骨格の重畳描画をスキップ(同じく高速化。後から動画+JSONで重畳可能)--net_resolution -1x320— ネットワーク入力解像度
メモリ不足のヒント: 高解像度の動画ではメモリクラッシュが起きることがあります。その場合は --net_resolution の末尾の数値を下げます(例: -1x160)。環境に合うまで調整してください。
デモで使ったデータ
動画内のサンプル映像は、被験者のスクワットを 12台のカメラでほぼ360度から、100fps・2048×1536 で撮影したものです。この同期した12視点が、シリーズ後半の3D再構成に必要になります。
次回
OpenPose をインストールして JSON キーポイントを出力できたら、Part 2 はカメラキャリブレーションです。各カメラ視点を互いに関連づけるための工程を扱います。見逃さないよう、YouTube のチャンネル登録をぜひ。
著者について
Takashi Fukushima — スポーツ・運動科学 × Human Pose Estimation × Computer Vision × XR を横断して研究・開発しています。
- YouTube(登録): Takashi Fukushima|Sports Science & Pose Estimation
- 研究(ORCID): orcid.org/0000-0002-7318-3384
- ウェブサイト: takashifukushima.com
- お問い合わせ: お問い合わせフォーム