OpenPose と OpenCap の使い方(無料マーカーレス・モーションキャプチャ)

今日から始められる、2つの無料マーカーレス・モーションキャプチャの実践ガイドです: 2D姿勢推定の OpenPose と、スマホ数台だけで3D計測ができる OpenCap。この2つがあれば、特別な機材なしにアスリートや学生のキネマティクス解析を始められます。それぞれの使い方を見ていきましょう。

OpenPose

OpenPose は、動画や画像から人の関節位置を検出するオープンソースのAI姿勢推定モデルです。最も研究されている姿勢推定器の一つで、出力は 2D(ピクセル座標)、既定で 25キーポイント(顔・手・足も追加可能)。開発者フレンドリー(Unity 連携など)で、やや遅め——GPU があれば大きく高速化します。

OpenPose概要: 2D、25キーポイント、開発者フレンドリー、遅い。アスリートに検出したスケルトン
OpenPose は画像・動画から2Dの関節位置(既定25点)を検出。

ポータブル版をインストール

「OpenPose release」(またはポータブル版)で検索し、最新版 v1.7.0 を GitHub のリリースページからダウンロードします。Windows専用です(Mac はコンパイルが必要)。NVIDIA GPU があれば GPU版、なければ CPU版を取得し、解凍して好きな場所に置きます。

OpenPose v1.7.0 の GitHub リリースページ(CPU版・GPU版のポータブルデモ)
OpenPose v1.7.0 のリリースからポータブル版(GPU or CPU)をダウンロード。

モデルを入手(.bat は壊れている)

手順書では models/getBaseModels.bat をダブルクリックして body/face/hand モデルを取得、とありますが、これはもう動きません(クラウドのリンクが切れている)。代わりに、OpenPose の models 用 Google Drive からモデルをダウンロードし、models3rdparty フォルダを置き換えます。元のフォルダから残すべきは、face・hand・pose それぞれの中の .prototxt ファイルだけです。

実行する

OpenPose フォルダでコマンドプロンプトを開き(アドレスバーに cmd)、bin フォルダのデモを実行します。

bin\OpenPoseDemo.exe --video PATH\TO\video.mp4
  • 画像フォルダを使う場合: --image_dir PATH\TO\images
  • 高速化(特にCPUのみ): --render_pose 0--display 0--net_resolution を下げる(例 -1x368-1 はアスペクト比を保持)
  • 出力を保存: --write_video--write_images、そして解析に最重要な --write_json PATH(2DキーポイントをJSON保存)

手・足・顔など、他にも多くのオプションが OpenPose の公式サイトに載っています。より深く知りたい方は OpenPose と3D再構成シリーズの Part 1 をどうぞ。

OpenCap

OpenCap は、複数のスマホカメラで動きを 3D 計測し、処理・キネマティクス解析、さらには(OpenSim を使った)キネティクスシミュレーションまで行えます——しかも可視化が非常に美しく、すべて無料です。従来のラボ機材(Vicon など)に比べて、格段に手軽です。OpenPose はカメラごとに2Dしか出さないので、OpenCap は複数カメラの2Dを融合して3Dにするのが肝です。

1. アプリを入れてカメラを同期

必要なのは 2018年以降の iOS 端末(iPhone/iPad)です。OpenCap アプリを入れ、QRコードを読み取って端末を同期します。チェッカーボードも印刷しておきます。基本構成ではカメラ2台を使います(各カメラがチェッカーボードと動き全体の両方を見える必要があります)。

2. カメラを配置してキャリブレーション

スマホを(向きをロックして)計測空間に対しておよそ 45° にマウントします。チェッカーボードは全カメラから見える位置に——壁に貼る場合は地面に対して90°に。次にチェッカーボードの行・列・マスのサイズ(mm)と向き(壁/垂直 or 床)を入力し、Calibrate を押します。

OpenCapのカメラキャリブレーション: 地面に90度で設置したチェッカーボードに対し、2台のカメラを45度に
2台のカメラを約45°に、チェッカーボードは地面に90°で両カメラから見えるように。

3. 被験者データを入力

アスリート/試技名、体重(kg)、身長を入力し、データ共有規約に同意し、姿勢モデルを選びます: OpenPoseHRNet。研究用途なら OpenPose で十分。商用なら通常 HRNet のほうがライセンス的に無難です(最新の規約は要確認)。2モデルは精度と速度が異なるので、用途に応じて試してください。

OpenCapのデータ入力: 名前・体重・身長・データ共有規約・モデル選択(OpenPose か HRNet)
名前・体重・身長を入力し、姿勢モデル(OpenPose か HRNet)を選択。

4. 静止キャリブレーション、そして記録

静止キャリブレーションでは、被験者が Aポーズ(腕を約45°に開き、足は肩幅よりやや狭く)で立ち、記録します。数分の処理の後、きれいな3Dスケルトンが得られます(OpenCap が2D視点を融合して3D化)。続いて試技名を入力し、開始/停止で実際の動きを記録します。

チェッカーボード床の上に再構成された3DスケルトンがあるOpenCapの記録画面
試技を記録すると、OpenCap が3Dスケルトンとして再構成——回転・プロット・データDLが可能。

各記録は処理中は黄色の丸が付きます——アプリを開いたまま、ネット接続も維持——完了するとになります。あとは3Dスケルトンを回転させたり、同期した動画を見たり、関節キネマティクスを時間でプロットしたり、データをダウンロードできます。

まとめ

2つの無料ツール、2段階の解析: 任意の動画から2Dキーポイントを得る OpenPose と、スマホ2台から3D計測できる OpenCap——キネマティクスからキネティクスまで一気通貫です。校正・3D再構成・シミュレーションを一から自作する、より深い手順は OpenPose と3D再構成シリーズをどうぞ。


著者について

Takashi Fukushima — スポーツ・運動科学 × Human Pose Estimation × Computer Vision × XR を横断して研究・開発しています。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール