プロのモーションキャプチャは高価な専用機材が必要——そう思っていませんか。

FreeMoCap を使えば、手元にある普通のウェブカメラだけで、研究論文に使えるレベルの3Dモーションデータを取得できます。

この記事でわかること:

  • FreeMoCap の概要と従来ツールとの価格差
  • 内部でどんな技術が動いているか
  • v1.8 で追加された精度改善機能
  • インストールから起動までの手順
  • どんな用途に向いているか

モーションキャプチャの価格問題

従来の業務用モーションキャプチャシステムは、エントリーレベルでも数百万円が相場です。Vicon の基本構成は 500 万円以上、OptiTrack でも 100 万円超から始まります。マーカースーツ、赤外線カメラ、専用ソフトをすべて揃えると、研究室や大手スタジオでなければ手が届きません。

その結果、学術研究者・インディーゲーム開発者・スポーツコーチ・理学療法士の多くは、モーションデータを使いたくても使えない状況が続いていました。

FreeMoCap はこの問題に正面から取り組んだ OSS です。

FreeMoCap とは

https://github.com/freemocap/freemocap

GitHub スター 8,200 超(2026年5月時点)、Python 製のマーカーレスモーションキャプチャシステムです。複数の普通カメラで人物を撮影し、3D スケルトンデータに変換するパイプライン全体を無料で提供します。

出力データの精度は学術論文への掲載基準を満たすレベルとされており、バイオメカニクス研究・スポーツ動作分析・アニメーション制作・リハビリ評価など幅広い用途で活用されています。

ライセンスは AGPL-3.0。商用利用が必要な場合はメンテナーとの個別交渉も可能です。

技術スタック

FreeMoCap は複数の実績あるライブラリを組み合わせたパイプラインで動いています。

2D ポーズ推定: MediaPipe BlazePose

1フレームあたり 33 個の骨格ランドマークを検出します。Google が開発・メンテナンスしており、GPU 不要で CPU 上で動作するため、一般的なノートPCでも利用可能です。

カメラキャリブレーション: CharuCo + Anipose

複数カメラの位置関係を特定するため、CharuCo ボード(チェスボードと ArUco マーカーを組み合わせたもの)を全カメラの前で動かします。キャリブレーション処理には Anipose ライブラリを使用。動物行動研究向けに開発された実績あるライブラリで、レンズ歪み補正から各カメラの相対位置算出まで対応します。

3D トライアングレーション

2台以上のカメラで同じランドマークが映っている場合、各カメラからの視線を幾何学的に交差させて3D座標を算出します。ノイズ除去とスムージングも Anipose が処理します。

パイプラインの流れは「録画 → キャリブレーション → 2D ポーズ検出 → 3D トライアングレーション → フィルタリング → エクスポート」の順です。

v1.8 の新機能

2026年4月に公開された v1.8.0(現在の最新は v1.8.2)では、精度向上に関わる重要な機能が追加されました。

アウトライヤー除去(Reprojection Outlier Rejection)

4台以上のカメラを使うリグで特に有効な機能です。従来は台数を増やすほど「1台が誤検出した場合に全体の精度が下がる」問題(いわゆる poison pill 問題)がありました。新機能はランドマークごとに不正なビューを特定・除外するため、多カメラ環境での再構成品質が大幅に改善されます。

デフォルトはオフになっており、「Process Data > 3D Triangulation > Use Outlier Rejection Method?」から有効化できます。

最小トライアングレーションカメラ数の設定

3D 座標の算出に使用するカメラ台数の下限を設定できるようになりました。デフォルト値は 3。この数を下回る2D検出しかないランドマークは出力から除外されるため、信頼性の低いデータが混入しにくくなります。

インストールと起動

Python 3.10〜3.12 環境(3.12 推奨)が必要です。

pip install freemocap
freemocap

この2行だけで GUI が起動します。カメラの設定・録画・データ処理・エクスポートまですべてグラフィカルインターフェース上で行えます。

ソースからインストールする場合は GitHub リポジトリをクローンして pip install -e . で実行環境を構築できます。

出力フォーマット

BVH、CSV、Blender 互換フォーマットに対応しています。BVH は Blender・Maya・Unity でそのまま読み込め、CSV は Python・MATLAB・R で解析に使えます。特定ツールへのベンダーロックインがない点も研究・開発用途で重宝されています。

Blender 連携は長年のコントリビューターが担当しており、出力パイプラインの完成度が高いと評価されています。

向いている用途

カメラ数は2台から動作しますが、3〜4台で精度が大きく向上します。以下の用途で活用されています。

  • 研究: バイオメカニクス・運動科学・ジェスチャー研究。データ品質は学術掲載基準に対応
  • 教育: 解剖学・キネシオロジー・コンピュータビジョンの実習で実際の動作データを扱える
  • スポーツ・リハビリ: 動作の定量評価にカメラだけで対応可能
  • アニメーション: インディー開発者がスタジオを借りずにモーションデータを取得できる

注意点

精度面では、マーカーベースの業務用システム(Vicon 等)には及びません。リアルタイム処理には対応しておらず、録画後にデータを処理する方式です。また、身体の一部が隠れる場面(オクルージョン)では推定精度が落ちます。

カメラのキャリブレーションにはある程度の習熟が必要なため、初回セットアップに時間がかかる場合があります。

これらの制約が問題にならない用途であれば、コスト面で既存ツールと比較にならない優位性があります。

まとめ

FreeMoCap は、高額な専用機材なしに研究レベルのモーションキャプチャを実現する OSS です。v1.8 のアウトライヤー除去機能により、多カメラ環境での精度も実用的な水準に達しています。pip install freemocap の1行から始められるので、興味があればまずローカルで試してみる価値があります。