サッカー放送映像から3D骨格を推定する 〜FIFA Skeletal Tracking Light Competitionへの挑戦〜
目次
はじめに
このたび、FIFA主催の技術コンペティション「FIFA Skeletal Tracking Light Competition」に参加しました。私は東京大学博士1年の福島隆人です。今回は、サッカーに関する研究開発に取り組むElevenXのメンバーとして、王方成、岩井一翔、廣瀬貞雄とともに、4名のチームで本コンペティションに挑戦しました。
ElevenXでは、サッカー領域におけるデータ分析や映像解析など、AI技術の応用に取り組んでいます。サッカーの映像には、選手の位置、身体の向き、動作のタイミング、チーム全体の連動など、多くの情報が含まれています。一方で、それらを定量的に扱うには、人が映像を見て理解するだけでなく、コンピュータで処理できるデータへ変換する必要があります。
今回のプロジェクトでは、FIFA Skeletal Tracking Light Competitionへの参加を通じて、サッカーの映像をより扱いやすい分析データへ変換するための技術検証に取り組みました。
なぜ放送映像から3D骨格を復元するのか
サッカーでは、選手やボールの位置関係だけでなく、身体の向き、姿勢、加速・減速、ジャンプ、接触、キック動作などがプレー理解に大きく関わります。選手評価、怪我予防、トレーニング改善などを考えるうえでも、選手が「どこにいるか」だけでなく、「どのように動いているか」を知ることが重要です。
このような3Dデータ活用の代表例の1つが、半自動オフサイド判定です。FIFAは2022 FIFAワールドカップで半自動オフサイド技術を導入しました。この技術では、スタジアムに設置された12台の専用トラッキングカメラで選手を追跡します。オフサイド判定後には、同じ位置データから3Dアニメーションを生成し、スタジアム内や放送映像を通じて、判定内容を観客にもわかりやすく提示します(出典:FIFA「半自動オフサイド技術、2022 FIFAワールドカップで適用へ」)。
3D化の価値は、判定や分析用途だけにとどまりません。DAZNはFIFAワールドカップ2026の配信において、ピッチを俯瞰する視点、特定選手にフォーカスする視点、選手目線の視点などを切り替えられる3D自由視点映像「イマーシブビュー」を紹介しています(出典:DAZN News「FIFAワールドカップ2026 DAZNの配信の特徴」)。選手やボールの動きを3Dデータとして扱えるようになると、このような新しい観戦体験にもつながります。
一方で、高精度な3Dトラッキングや自由視点映像を実現するには、専用カメラや大規模なスタジアム設備が必要になります。こうしたシステムは有用である一方、導入できる環境は限られます。
そこで重要になるのが、一般的な放送映像から3D情報を取得する技術です。放送映像は多くの試合で記録されており、過去の試合にもアクセスしやすいデータです。もし放送映像だけから選手の3D骨格やピッチ上の位置を復元できれば、専用設備がない環境でも、より高度な試合分析や新しい観戦体験に近づけます。
この技術は、指導者、選手、分析官、ファンがサッカーをより深く理解するための基盤になり得ます。ElevenXとしても、サッカーの現場で使えるAI技術を考えるうえで、放送映像から3D情報を取り出すことは重要なテーマだと考えています。
FIFA Skeletal Tracking Light Competitionとは
FIFA Skeletal Tracking Light Competitionは、サッカーの放送映像から各選手の3D身体姿勢とピッチ上の位置を推定することを目的としたコンペティションです。データはFIFAワールドカップ カタール2022の試合映像をもとに作成されています(出典:FIFA Skeletal Tracking)。
入力として与えられるのは、次の情報です。
| 入力 | 内容 |
|---|---|
| 放送映像 | 試合を撮影した放送映像 |
| 2Dバウンディングボックス | 画像上で各選手を囲む矩形 |
| 選手ID付きトラック | 各フレームにおける選手ごとの追跡結果 |
| カメラ内部パラメータ | レンズや焦点距離など、カメラ固有の情報 |
| 最初のフレームのカメラ外部パラメータ | 初期フレームにおけるカメラの位置・姿勢 |
一方で、残りのフレームのカメラ外部パラメータ、各選手の3D姿勢、ワールド座標上の位置は、システム側で推定しなければなりません。つまり、最初の1フレームだけカメラ情報が与えられた状態から、動き続ける放送カメラを追跡し、その映像に写る選手の3D骨格を復元するタスクです。
今回開発したシステム
今回開発したのは、放送映像と選手トラック情報を入力として、選手ごとの3D骨格とピッチ上の位置を推定するパイプラインです。
システム全体は、大きく「推論時の流れ」と「学習時の流れ」に分けられます。
推論時には、コンペティションで与えられる放送映像、2Dバウンディングボックス、選手ID、カメラ内部パラメータ、最初のフレームのカメラ外部パラメータを使います。まずカメラキャリブレーションを行い、複数の3D姿勢推定モデルから候補となる3D骨格データを作成します。その後、後処理ネットワークで誤差を補正し、最後にアンサンブルによって最終的な3D骨格を出力します。
学習時にはWorldPoseデータセットを使います。WorldPoseは、サッカーの放送映像と、選手の3D姿勢・カメラ情報を対応づけた研究用データセットです。このデータセットには、放送映像、完全なカメラパラメータ、選手姿勢が含まれています。私たちはこのデータをコンペティションの入力形式に整形するため、最初のフレーム以外のカメラ外部パラメータを隠し、実際の推論パイプラインに通しました。
今回のプロジェクトでは、さくらインターネットの高火力 VRTサービスを活用させていただきました。主に、教師データ作成のための複数モデルによる推論、残差補正ネットワークの学習、アンサンブルや会場条件に応じた補正手法の検証など、GPU計算量の大きい実験に利用しました。
こうして得られた推定結果には、実際の推論時と同じように、カメラドリフト、ルート位置のずれ、関節定義の違い、時系列的な失敗が含まれます。これらの出力とWorldPoseの正解データとの差分を学習することで、現実的な誤差を補正するネットワークを構築しました。
放送映像解析の難しさ
サッカー中継を見ると、私たちは選手の位置関係や動きを自然に理解できます。しかしコンピュータにとって、1台のカメラで撮影された映像は、あくまで2D画像の連続です。
ここから選手の3D骨格を復元するには、次のような情報を同時に推定する必要があります。
- 選手の画像上の位置
- 選手ごとのIDと時系列トラック
- 各選手の3D身体姿勢
- 選手がピッチ上のどこにいるか
- カメラが各フレームでどの位置にあり、どの方向を向いているか
特に難しい点は3つあります。
1つ目は、カメラが常に動くことです。サッカーの放送映像では、カメラが試合展開に合わせて左右に動きます。最初のフレームのカメラ外部パラメータだけが与えられているため、それ以降のフレームでは、ピッチのラインや画像上の特徴を手がかりにカメラ姿勢を追跡する必要があります。
2つ目は、選手のルート位置がずれやすいことです。ここでいうルート位置とは、選手の骨格全体を代表する基準点です。2D画像から3D姿勢を復元できても、その骨格をピッチ上のどこに配置すべきかを正確に決めるのは簡単ではありません。
3つ目は、時系列的な不安定さです。放送映像では、選手同士の重なりや急な画角変化が頻繁に発生します。そのため、フレームごとの姿勢推定結果にはノイズや瞬間的な破綻が含まれます。
今回の研究では、これらの誤差が初期推定後にも一定の傾向を持って残ることに注目しました。最初の推定結果をそのまま使うのではなく、推定結果に残った「補正すべき誤差」を学習することで、精度改善を目指しました。
提案手法を支える技術
私たちの主な貢献は、初期推定パイプラインの出力を後処理で改善する残差補正ネットワークです。サッカーの放送映像、選手の動き、モデル誤差の特徴を踏まえて補正を加えることで、精度を大きく改善しました。
WorldPoseを用いた教師データ作成
WorldPoseデータセットには、放送映像、完全なカメラパラメータ、選手姿勢が含まれています。
私たちはWorldPoseのデータをそのまま教師データとして使うのではなく、いったんコンペティションと同じ入力形式に変換しました。具体的には、骨格データを投影して選手の2Dボックスを作成し、最初のフレーム以外のカメラ外部パラメータを隠したうえで、各3D姿勢推定モデルを実行します。
さらに、正解データ側もコンペティションで使われる15関節形式へ変換しました。これにより、初期推定出力と正解姿勢を同じ関節定義で比較し、残差を教師信号として学習できます。
カメラキャリブレーションの改善
ベースラインでは、最初のフレームのカメラ姿勢をもとに、ピッチ上の投影点のオプティカルフローやフィールドライン検出を使い、各フレームのカメラ外部パラメータを推定します。
私たちはこの最適化を改善し、カメラの回転を行列の各成分として直接最適化するのではなく、yaw、pitch、rollの範囲付き最適化として扱いました。加えて、推定したカメラでピッチのラインを画像上に投影したとき、実際のフィールドラインとどれだけずれているかを滑らかに評価するようにしました。さらに、ライン検出の誤りや一時的なノイズに過度に引っ張られない損失関数を使い、カメラが不自然に傾きすぎないようroll方向に制約を加えることで、より安定したカメラ推定を目指しました。
ルート位置とローカル姿勢を分けた残差補正
残差補正ネットワークは、入力された3D骨格データをルート位置とローカル姿勢に分けて処理します。
ルート位置は、選手全体がピッチ上のどこにいるかを表します。一方、ローカル姿勢は、骨盤や胴体を基準とした腕・脚・頭などの相対的な関節配置を表します。この2つは性質が異なるため、1つのネットワークでまとめて補正するのではなく、別々の補正ネットワークで扱いました。
位置補正では、選手全体のピッチ上での移動軌跡を補正します。骨格補正では、関節ごとの姿勢を補正します。各関節の特徴に学習可能な関節埋め込みを結合し、骨格グラフに基づく隣接関節の情報と、時間方向の畳み込みを組み合わせました。
複数モデルのアンサンブル
今回のパイプラインでは、単一の3D姿勢推定モデルに依存せず、複数のモデルを組み合わせました。
| モデル | 役割 |
|---|---|
| SAM3D | ベースラインの3D人体推定モデル |
| 4DHumans | 3D人体メッシュと姿勢を推定するモデル |
| KASportsFormer | スポーツ動作の事前知識を持つ3D骨格推定モデル |
| VideoPose3D | 時系列畳み込みを用いた3D骨格推定モデル |
| MotionBERT | BERTの構造を持つ3D骨格推定モデル |
各モデルの出力をコンペティションの15関節形式に変換し、それぞれに対して個別に残差補正ネットワークを学習します。その後、ルート位置とローカル姿勢に分解し、それぞれ別々に重み付けを最適化してから再結合します。
会場ごとのカメラ条件に合わせた微調整
サッカーの放送映像は、会場やカメラ配置によって見え方が大きく変わります。カメラの高さ、ピッチからの距離、撮影角度が変わると、同じ選手の動きでも画像上の見え方は変化します。
そこで私たちは、各シーケンスのカメラ位置を要約し、カメラ条件が似ているシーケンス同士をグループ化しました。そのうえで、グループごとに小さな補正モデルを選択し、WorldPoseの利用可能なシーケンスで調整し直すことで、会場ごとの見え方の違いに対応しました。
実験結果
評価では、ピッチ上の位置を含む全体的な誤差(Global Error)と、身体姿勢そのものの誤差(Local Error)を用います。最終的な評価指標には、Global ErrorとLocal Errorを組み合わせたFinal Scoreを用います。Final ScoreはGlobal Error + 5 × Local Errorと定義され、いずれの指標も数値が小さいほどよい結果です。
単一モデルの結果
まず、各3D姿勢推定モデルを単独で用いた場合の、公開リーダーボードでの結果を示します。
| モデル | Global Error | Local Error | Final Score |
|---|---|---|---|
| SAM3D | 0.17480 | 0.05404 | 0.44500 |
| 4DHumans | 0.19232 | 0.05383 | 0.46149 |
| VideoPose3D | 0.16535 | 0.05121 | 0.42138 |
| MotionBERT | 0.23449 | 0.04775 | 0.47324 |
| KASportsFormer | 0.21649 | 0.04732 | 0.45310 |
単一モデルでは、VideoPose3Dが最もよいFinal Scoreを示しました。一方で、KASportsFormerやMotionBERTはLocal Errorが低く、局所姿勢の推定に強みがあることがわかります。
アンサンブルの結果
次に、複数モデルを組み合わせた場合の結果です。
| 設定 | Global Error | Local Error | Final Score |
|---|---|---|---|
| 複数モデルの単純な重み付け平均 | 0.18484 | 0.04691 | 0.41941 |
| ルート位置とローカル姿勢を分けた重み再調整 | 0.17020 | 0.04669 | 0.40363 |
| カメラ・会場条件に合わせた補正 | 0.15204 | 0.04674 | 0.38576 |
複数モデルの単純な重み付け平均に比べ、ルート位置とローカル姿勢を分けて重みを再調整することでGlobal Errorが改善しました。さらに、カメラ・会場条件に合わせた補正を加えることで、Final Scoreは0.38576まで改善しました。
取り組みを通じてわかったこと
今回の取り組みから、放送映像における3Dトラッキングの主要な誤差、特にカメラドリフト、ルート位置のバイアス、時系列的な破綻は、初期推定後にも一定の構造を持って残ることがわかりました。そのため、推論パイプラインの出力に対して直接残差補正を学習するアプローチは有効でした。
また、モデルごとに出力される骨格形式や得意・不得意が異なるため、それらを同じ形式にそろえたうえで比較・補正・アンサンブルする必要がありました。関節定義が異なる形式をまたぐ処理では、単純な変換だけでなく、評価指標に合う形で安定した出力を作ることが重要でした。
今後の展開
今後は、より多様な会場・カメラ条件に対して汎化するモデルや、他のトラッキング技術と組み合わせて3D骨格データを取得する手法を検討していきたいと考えています。今回のような3D骨格推定技術は、試合分析、戦術分析、選手の動作理解、怪我予防など、サッカーにおけるさまざまな応用につながる可能性があります。3D骨格データの活用技術についても、引き続き開発に取り組んでいきます。
ElevenXでは、こうしたサッカー映像解析の研究成果を、現場で使える形へ近づける取り組みを続けていきます。テクノロジー × サッカーに興味があるエンジニア、データサイエンティスト、研究者はもちろん、マーケティングや経理など技術職以外のポジションも幅広く募集しています。興味のある方は、ぜひお気軽にご連絡ください。
ElevenX公式サイト:https://elevenx.jp/








