「いつ何が起きたか」を逃さない。Action Spottingの最前線とPlayboxが得た実践的Tips
こんにちは!Playbox にインターンで参加しています 中谷 千洋 です。普段は博士課程で人の行動認識に関する研究(CVIU2026・CVPR2024・ICCV2023)に取り組んでいます。
今回は、近年スポーツ解析の分野で熱い注目を浴びている「Action Spotting(アクションスポッティング)」について、技術的な背景から実用化のポイントまでをギュッと凝縮して解説します。
目次
- Action Spotting とは?
- SoccerNet at CVSports
- Playbox での Action Spotting の活用
- まとめと今後の展望
1. Action Spotting とは?
通常の Video Classification が「この動画全体で何が起きているか」を当てるのに対し、Action Spotting は、「長い動画の『いつ』『どのアクション』が起きたか」をピンポイントで検出するタスクです。スポーツ映像では、シュートのようなアクション(イベント)は、ほんの一瞬の出来事です。この「瞬間のイベント」を時間軸に沿って高い精度で検出し、タイムスタンプを特定することが Action Spotting のゴールです。
SoccerNet 動画での Action Spotting 例
Action Spotting はハイライト映像作成・戦術解析・スカウティングのための選手評価・ファンエンゲージメントなど様々な領域に応用可能です。
2. Action Spotting at CVSports
スポーツ解析を語る上で避けて通れないのが、SoccerNet というデータセットとベンチマークです。コンピュータービジョン分野で最高峰の国際会議の一つであるCVPRのワークショップ「CVSports」では、このデータセットを使った様々なコンペティションが開催されています。なお、今年6月に開催される CVSports (CVPR2026) では、Playbox CEO の Atom Scott 氏による招待講演も行われます。ご期待ください!
2.1 SoccerNet dataset
ヨーロッパの主要リーグから収集された500試合を超える映像で構成されています。近年では、Action Spotting 以外にも各人物の役割(フィールドプレイヤー、ゴールキーパー、審判など)や位置情報などを把握する状態認識(GSR)も、戦術分析やプレー評価において非常に重要な技術として取り組まれています。Playbox も CVSports (CVPR2025) の GSR のコンペティションに参加しております。
2.2 Annotations for Action Spotting
SoccerNet では Action Spotting のために 17種類のアクションクラス が検出対象として定義されています。それら17種類のアクションクラスが発生したタイムスタンプが、各動画にアノテーションされています。17クラスをアクションの種類と検出に必要な特徴に注目して分類すると以下のようになります。
[シュート系アクション]
- ゴール(Goal)・枠内シュート(Shots on target)・枠外シュート(Shots off target)
- 重要特徴:「ボールの軌道」や「ゴールネットの動き」
[キック系アクション]
- 間接フリーキック(Indirect free-kick)・直接フリーキック(Direct free-kick)・キックオフ(Kick-off)・コーナーキック(Corner)・クリア(Clearance)・スローイン(Throw-in)
- 重要特徴:「ボールの位置」や「選手群の陣形」
[ジャッジ系・その他]
- オフサイド(Offside)・ペナルティ(Penalty)・ファウル(Foul)・イエローカード(Yellow card)・レッドカード(Red card)・イエロー→レッドカード(Yellow->red card)・選手交代(Substitution)・ボールアウト(Ball out of play)
- 重要特徴:「審判のジェスチャー」・「特定選手の詳細な動き情報」
2.3 Evaluation metrics
Action Spotting では mAP(mean Average Precision)によって、対象アクションを「いつ(タイムスタンプ)」発生したかをどれだけ正確に予測できたかを評価します。予測されたタイムスタンプが正解(Ground Truth)から一定の時間内(δ秒以内)にあれば正解とみなされ、各クラスごとに適合率と再現率からAP(Average Precision)が計算されます。
Action Spotting における検出結果の成否判定
2.4 ベースラインモデル
Action Spottingで非常に強力なパフォーマンスを発揮しているのが T-DEED: Temporal-Discriminability Enhancer Encoder-Decoder for Precise Event Spotting in Sports Videos です。CVsports '24 で発表された手法で、L frames から構成される動画から時系列特徴を獲得しながら各フレームに対して「アクションが起きているか否か」・「どのアクションが起きているか」を検出します。以下の図からもわかるように「アクションが起きていない」フレームが膨大にあることは学習における難しさの1つになります。
T-DEED の概要図(https://arturxe2.github.io/projects/T-DEED/)
実際にこの T-DEED で SoccerNet の Action Spotting を学習した結果を見ると、mAP が 60-80 付近であり、比較的高い性能で検出が成功していることがわかります。
SoccerNet dataset での mAP (https://arturxe2.github.io/projects/T-DEED/)
ただし、SoccerNet の動画は放送用映像であることから各動画間の撮影環境が類似し、少ないデータでも学習が比較的容易であると考えられます。そこで次のセクションでは、SoccerNet とは異なる様々な環境での撮影が想定される Playbox camera での実際の学習事例を紹介します。
3. Playbox camera での Action Spotting
Playbox Camera は、様々な環境での撮影を想定しており、SoccerNet と比べて動画間の撮影環境の違いは大きいです。今回は、このように多様な撮影環境で撮影された動画で Action Spotting をするために必要なデータ量などの調査を実施しました。
3.1 データセットの概要
今回使用したデータセットの具体的な中身についてご紹介します。
3.1.1 Playbox Camera の映像データ
Playbox Camera で撮影された映像は、実際の試合の臨場感をそのままに、ピッチ全体や特定のプレーを捉えています。以下に実際の動画を示します。
Playbox camera 撮影動画例
3.1.2 アクションクラス
今回は、サッカーの試合における以下の6つのクラスを対象としています。
| クラス名 | 内容 |
| ck | コーナーキック |
| kick off | キックオフ |
| goal | ゴールシーン |
| shot | シュート |
| fk | フリーキック |
| pk | ペナルティキック |
3.1.3 アノテーション手法
人の手による手動アノテーションを実施しました。各動画をフレーム単位で確認し、特定のアクション(例:ボールを蹴った瞬間、ゴールラインを割った瞬間)が発生したタイムスタンプを記録しています。
3.1.4 データの規模
解析に使用したデータの総量は以下の通りです。
-
総動画数: 345本
-
アノテーション単位: 各動画内における上記6クラスの発生ポイント
これらのデータセットを用いることで、Playbox Camera の映像から自動的に試合のハイライトを抽出したり、統計データを作成したりするための基礎を構築しています。
3.2 結果
345本の動画を用いて学習を行うと「特定のパターンを持つプレーには非常に強く、突発的な動きには改善の余地あり」という結果が得られました。特に開始合図やセットプレーは比較的高い精度で検出できています。
3.2.1 mAP の結果
まずは、各クラスの mAP を確認します。
| クラス | mAP |
| 全体平均 | 0.43 |
| kick off | 0.71 |
| shot | 0.59 |
| ck (Corner Kick) | 0.51 |
| fk (Free Kick) | 0.39 |
| goal | 0.38 |
| pk (Penalty Kick) | 0.00 |
3.2.2 結果から見える考察
-
「セットプレー」は高精度
kick off(0.71) やck(0.51) の mAP が高く出ました。これらは「選手が静止した状態から始まる」という明確なパターンがあるため、学習が容易だったと考えられます。 -
「goal」の判定の難しさ
goal(0.38) は、「シュートをした」かつ「それが得点となった」という二つの事象が絡み合った複雑なアクションであり学習が難化したと考えられます。
3.2.3 推論結果の可視化(動画)
実際の shot と ck の検出例を動画でご覧ください。
Playbox camera 撮影動画における shot 検出結果
Playbox camera 撮影動画における ck 検出結果
3.3 詳細解析
3.3.1 データ量(アノテーション数)と mAP
「どれくらいアノテーションをすれば精度が出るのか?」は最も多い質問の一つです。 結論から言うと、動画数(アノテーション数)を増やすほど mAP は向上しますが、ある地点から飽和が始まります。以下に実際の動画数と shot クラスでの mAP を示していますが、動画数が増えるにつれて精度の向上効率が鈍化しているとわかります。
学習動画数と mAP (shot) の関係性
3.3.2 フレーム数(FPS)と mAP
Action Spotting では何フレームで構成される動画を用いるか、は検出に重要なシーンコンテキストを理解するために重要です。例えば、ゴールの検出のためにはボールがゴールネットを揺らす見た目だけでなく、得点チームが喜んだり失点チームが悔しがったりするシーンコンテキストも補助的に活用した検出が期待できます。
1動画のフレーム数と mAP (shot) の関係性
では「1動画のフレーム数を増やすだけでよい」……という結論になりそうですが 、必ずしもそうではありません。例えば、上記のグラフのように1動画のフレーム数を増やしていくとある段階で mAP が飽和し、以降は mAP が低下することがあります。このような結果は T-DEED の論文でも類似結果が記載されています(Table 6 (d))。この原因は様々考えられますが、フレーム数を増やすほど得られる情報は多い一方で学習が難化することが原因の一つとして考えられます。
1動画のフレーム数を増やすと推論に必要な計算量も増加するため、要求される性能や推論速度・対象とするアクションの種類に応じて1動画のフレーム数を調整することは性能向上に寄与すると考えられます。
3.4 Playbox の試行錯誤
3.4.1 T-DEED の固定FPS設定
まずは「特定の1動画に対してオーバーフィット(過学習)できるか」を検証しました。通常、モデルが正しく組まれていれば、少量のデータに対しては完璧に適合できるはずです。しかし、結果は失敗。1つの動画に絞っても精度が全く上がらなかったのです。調査の結果、意外な盲点が判明しました。
原因は TDEED内部で動画の FPS(フレームレート)が固定されており、Playboxの動画が持つ本来のFPSと乖離していました。時系列のアクション認識において、時間の流れ(FPS)の不一致は致命的です。この仕様に気づき、Playboxの動画形式に合わせてFPS設定を適切に調整したところ、うまく学習が進むようになりました。「まずは最小単位でのオーバーフィットを確認する」というデバッグの基本が、結果として根本的な仕様ミスに気づく近道となりました。
3.4.2 事前学習モデルとデータ拡張の効果
知見として、精度向上のために試したが効果がなかったものも記載します。
-
SoccerNet事前学習モデルのFine-tuning: Soccernet で学習済みのモデルを fine-tune しましたが、今回のPlaybox動画に対しては目立った精度の向上は見られませんでした。
-
データ拡張(Data Augmentation)の適用: TDEEDで設定可能なデータ拡張を一通り試してみたものの、これも結果にはほとんど影響しませんでした。
4. まとめと今後の展望
ここまでご覧いただきありがとうございました!
今回のポイント
- Action Spotting は「いつ」・「何が」・起きたかを検出する技術。
- SoccerNet が著名な放送映像データセットであり、T-DEED など様々な手法が提案。
- Playbox camera で撮影した映像での Action Spotting の性能を検証。
今後の展望
今後は、映像だけでなく音声(歓声の大きさ)やテキスト(実況データ)などを組み合わせた multi-modal な Action Spotting により、さらなる高性能化が期待されます。
