はじめに
こんにちは、株式会社Playboxでインターンとして働いております筑波大学情報学群情報科学類3年の中村です。普段は画像処理やデータの可視化などのタスクに取り組んでおります。 また、スコットさんや内田さんがOBである蹴球部に所属し、TOPチームのアナリストとして対戦相手の分析などを担当しています。
今回は、バドミントンのショットトラッキングにおいて、高精度かつ効率的なトラッキングを実現しているTrackNetV3の特徴や構造、そしてその性能について解説したのち、サッカーやバスケなどの他スポーツデータセットでの実験結果までまとめていきます。
TrackNetV3の誕生背景
TrackNetV2はショットトラッキングにおいて、高い精度を誇っていましたが、以下のような課題が存在していました。
- 大量データへの依存:高い精度を得るには多くのサンプルデータが必要
- 大きい変化への精度低下:シャトルの位置や形状が大きく変化する場合に精度が低下
TrackNetV3はこれらの課題を克服したもので、少量データでの高精度を実現しています。
TrackNetV3とTrackNetV2の主な違い
TrackNetV3とTrackNetV2はどちらもスキップコネクションを用いたU-netの構造をベースにしています。以下に主な違いをまとめます。
特徴 | TrackNetV2 | TrackNetV3 |
エンコーダー | VGG16に似た構造+Max Pooling | Multiple Convolution Concatenation (MCC) |
デコーダー | アップサンプリング | CBAM (Channel Attention) を活用 |
スキップコネクション | - | Channel Attention による汎化性能の強化 |
入力画像解像度 | 512×288, チャンネル9 | V2と同じ |
出力ヒートマップ解像度 | 512×288, チャンネル3 | V2と同じ |
入力画像のデータは、計算量を減らすために、1280×720の画像をリサイズして入力しています。 TrackNetV3はTrackNetモデルの中で初めてAttention構造を使用しているものです。デコーダー・スキップコネクションにChannnel Attentionを組み込むことでモデルの汎化能力を強化し、少量のデータセットでも高精度な学習結果を得ることを可能にしています。
TrackNetV3の構造詳細
1. エンコーダー: Multiple Convolution Concatenation (MCC)
TrackNetV3のエンコーダーにはMultiple Convolution Concatenation(MCC)とMax Poolingを使用しています。 MCCは、異なるサイズの複数のカーネルを使用して特徴を抽出するものとなっています。 この手法はInception V1のコンセプトを拡張したもので、入力された画像は以下のルートを通るような構造を持っています。
- 1×1 → 3×3
- 3×3 → 3×3
- 5×5 → 3×3
- 3×3 のみ
上3つのルートを通った出力を結合したものを、3x3のみを通った出力と組み合わせます。 これにより、シャトルの形状やスケールの変化に強いモデルを実現しています。 また、Res-Netのスキップコネクションに似た方法を用いることで、元の特徴を部分的に保持しつつ、抽出精度を向上させています。
MCCの利点
同じ深さの層の入力に対して、異なる大きさのカーネルを用いて畳み込みを行うことで以下の利点があります。
- 同じシーンに対して異なるサイズの情報を抽出可能 →小さいカーネルほど細かい情報を抽出でき、大きいカーネルほど抽象的な特徴を抽出できる
- シャトルの形状やサイズの大きな変化に対応可能
- ノイズに強い特徴抽出が可能(外れ値に左右されにくい)
また、MCCに限らず畳み込みモデルでは、異なる層の深さで抽出される特徴にも違いがあります。
- 浅い層:解像度が高く、入力画像にサイズが近いため、エッジやテクスチャなどの細かい低レベルな特徴を捉えることができる
- 中間層:層が深くなるにつれて受容野が大きくなり、各ニューロンがカバーする範囲が広がるため、形状やパターンなどの少し抽象的な特徴を捉えることができる
- 深い層:解像度が低く、受容野が大きいため、物体のカテゴリや全体的な構造などの高レベルな特徴を捉えることができる
2. デコーダー: CBAM (Channel Attention)
TrackNetV3のデコーダーには、CBAM (Convolutional Block Attention Module) のChannel Attentionを採用しています。 CBAMは入力された特徴マップに対して、Channelと空間の2つの別の次元に沿ってAttentionマップを推定し、入力特徴マップとAttentionマップを乗算して新しい特徴マップを作っていくもので、軽量であるため色々なCNNモデルに組み込むことが可能になっています。 TrackNetV3ではChannel Attention Module(CBAMのChannel AttentionとSpatial Attention)のうち、Spatial ModuleがむしろCNNの特徴を損なうことが実験で判明したため、Channel Attentionのみを使用しているようです。
Channel Attentionの仕組み
- 入力特徴マップに対して、Average PoolingとMax Poolingを行う
- それぞれの出力をShared MLPに通して重み付け →Shared MLP:同じMLP(多層パーセプトロン)を複数の入力に対して繰り返し適用する手法。 異なるデータの入力に対して、同じ重みを持つMLPが使用されることにより、同じ変換や特徴抽出が行われ、重みの共有がされることで全体のパラメータ数を削減できる。
- シグモイド関数で重みマップを生成し、元の入力と乗算する →重みマップの値が1に近いほど重要、0に近いほどあまり重要でなく抑制されるべき情報。
これにより、重要な特徴が強調されるような形になるため、少量のデータセットでも高精度な学習が可能になっています。
3. スキップコネクション
デコーダーに使用されているChannel Attentionは、スキップコネクションの部分にも用いられています。
深い層を持つモデルは複雑な関数を表現できますが、過学習が起きる可能性があります。スキップコネクションは、この問題を解決するために浅い層での特徴を深い層に渡す仕組みになっています。
具体的には、スキップコネクションは入力特徴(認識前の特徴)と、モデル内部で生成された出力特徴(認識後の特徴)を足し合わせます。これによって、浅い層で抽出された特徴が失われにくく、深いネットワークでも勾配を伝達でき、モデルの学習を安定化させます。
スキップコネクションは、元の入力特徴を部分的に保持しつつ、最終出力に必要な高次特徴を効果的に統合する重要な役割を果たしています。
実験と結果
TrackNetV3の性能評価のため、Badminton World Federationが2022年に開催したシングルスの大会の試合映像から作成された映像データセットを用いて実験を行っています。 エンコーダー・デコーダーそれぞれに対して、TrackNetV2に用いられているモデルと比較したようです。
データセット
- 訓練データ: 32,421枚の画像
- テストデータ: 3,717枚の画像
- 解像度: 1280×720 (512×288にリサイズ)
- 各フレームに対するシャトルの座標データ
エンコーダーの比較
TrackNetV2で使用されていたVGG16では基本的に精度は高いですが、2フレーム間で大きな距離やシャトルのサイズ・形状の変化があるときは識別精度が低下してしまうようです。 MCCを用いると、TP (True Positive / 予測した場所に実際にシャトルがある回数) が向上し、特徴抽出の効果が高くなっています。
デコーダーの比較
CBAMをどこに配置することが最も効果的なのかを試して行っており、V2デコーダーにおいてConcat後と特徴適合後にCBAMを配置した場合が最も精度が高いモデルとなっています。
その後、スキップコネクションにもCBAMを使用する手法が提案され、こちらも少しではあるが全体的に性能が向上している。
ここでCBAMのChannnel AttentionとSpatial Attentionを個別にテストするアイデアを試したら、Spatial AttentionはCNN+TrackNetの特徴を損ない、精度を低下させることが判明したそうです。 最終的にはCBAMをChannel Attentionに置き換えたものが採用されています。
TrackNetV3モデルのまとめ
TrackNetV3はTrackNetV2と比較して、Accuracy: +2.04%・Dice係数: +1.35%などの指標で精度が向上しています。 エンコーダーのMCCによってシャトルの大きさや形状の変化に強くなり、デコーダーのCBAM(Channel Attention)によって重要な特徴を強調したことが、全体的な精度向上に貢献していると言えます。
サッカーなどの他スポーツデータセットでの実験結果
TrackNetV3モデルを他スポーツ(サッカー・テニス・バレーボール・バスケットボール)のデータセットで学習・予測させた結果をまとめます。 テニス・バレーボール・バスケットボールはこちらの論文で使用されているデータセットで実験を進めました。
サッカーのデータセットにはSoccerTrackを用いました。
テニス
かなり精度高くボールをトラッキングできています! TrackNetV3論文内のバドミントンのショットトラッキングでのAccuracyよりも高い数値が出ていました。 バドミントンよりもボールが大きい分検出しやすいのだと思います。
バレーボール
ボールも認識できていますが、選手の背番号もボールとして検出してしまっています。
バスケ
ボール以外の物(広告の文字・選手のシューズなど)を多く検出してしまっています。 バレー・バスケのテストデータの背景が動く(定点撮影でない)ことが原因だと思われます。 バレーよりもバスケの映像の方が背景が大きく動いているため、検出精度も落ちてしまっているのでしょう。
サッカー
ボールを検出できているときもありますが、ボール以外の物(選手のスパイク・手など)を検出してしまうときもあったり、ボールが画面奥側にあるときは検出できていなかったりと、安定して検出できてはいなかったです。 やはり映像に対してボールがかなり小さいと検出が難しくなってしまいます。
YOLOとの性能比較
同じ条件・データ(SoccerTrackの一部)で学習させたTrackNetV3とYOLOのサッカー映像におけるボール検出性能を比較します。
訓練データの数を950・500・100セットにした場合の、それぞれの性能を比べていきます。 検証データ・テストデータは25セットずつ用意しました。
評価指標について
TrackNetV3はボールのある一点の座標を予測する一方、YOLOはバウンディングボックスでボールの位置を予測するため、正解データと予測データの中心点の距離を元に以下の指標を計算します。 ・ユークリッド距離/平均二乗誤差 →正解データと予測データの中心点のユークリッド距離から計算 ・Precision/Recall →正解データのボックス内(TrackNetの場合は8*8の正方形を仮定)に予測データの中心点が含ま れているとき、検出成功(TP)としてカウント ・mAP@5px/mAP@20px →中心点の距離が各閾値(5px, 20px)以下なら予測成功とみなしたときのPrecision ・mAP@5~1px/mAP@20~1px →それぞれ[5, 4, 3, 2, 1]、[20, 10, 5, 2, 1]を閾値としたときのmAPを平均した値
結果
訓練データ:100セット、100エポック
評価指標 | TrackNetV3 | YOLO |
平均ユークリッド距離 | 1427.06 | 0.83 |
平均二乗誤差 | 2125252.66 | 0.75 |
Precision | 0 | 0.8000 |
Recall | 0 | 0.1600 |
mAP@5px | 0 | 0.8000 |
mAP@5~1px | 0 | 0.7600 |
mAP@20px | 0 | 0.8000 |
mAP@20~1px | 0 | 0.7600 |
TrackNetV3 25フレーム全てでボールと関係ないところを誤検出(画面の隅など)。 YOLO 25フレーム中5フレームでボールを検出し、そのうち4フレームで検出成功。
- どちらのモデルも学習データが不足している印象です。
- YOLOは、検出できる回数は少ないものの、検出できたときの精度は高い傾向があります。
訓練データ:500セット、100エポック
評価指標 | TrackNetV3 | YOLO |
平均ユークリッド距離 | 123.56 | 1.47 |
平均二乗誤差 | 95600.63 | 3.47 |
Precision | 0.7600 | 0.5333 |
Recall | 1.0000 | 0.3200 |
mAP@5px | 0.7600 | 0.5333 |
mAP@5~1px | 0.6640 | 0.4133 |
mAP@20px | 0.8000 | 0.5333 |
mAP@20~1px | 0.6800 | 0.4267 |
- TrackNetV3:25フレーム中、20フレームで正解。 ・すべてのフレームでボール位置を出力するモデルのため、Recallは1.0000となっています。 ・誤検出が起きた時の誤差が大きく、平均ユークリッド距離が増加。
- YOLO:25フレーム中、8フレームで正解。 ・画面奥にあるボールや、ボールが足に重なっているような場合に検出ができないことが多い。
訓練データ:950セット、50エポック
評価指標 | TrackNetV3 | YOLO |
平均ユークリッド距離 | 145.52 | 1.04 |
平均二乗誤差 | 130592.68 | 1.58 |
Precision | 0.6800 | 0.7273 |
Recall | 1.0000 | 0.6400 |
mAP@5px | 0.6800 | 0.8636 |
mAP@5~1px | 0.6000 | 0.7818 |
mAP@20px | 0.6800 | 0.8636 |
mAP@20~1px | 0.6080 | 0.7818 |
25フレームに対しての正解数(TP)
- TrackNetV3:25フレーム中、17フレームで正解。
- YOLO:25フレーム中、16フレームで正解。 ・mAPやユークリッド距離の成績はYOLOの方が良いが、やはり画面奥側にあるボールなどは検出できていないときがあります。
考察
TrackNetV3はすべてのフレームでボール位置を必ず出力することから、距離ベースのmAPやユークリッド距離の指標ではYOLOより劣る結果となりました。しかし、学習データを500セットや950セットに増やした場合、画面奥側のボールを含む多くのフレームを正しく捉えられる傾向が見られます。 また、950セットよりも500セットで学習させたときに性能が向上している点から、少量のデータセットにおいても有用なモデルを得られることが期待されます。
一方、YOLOは検出頻度こそ低いものの、検出できたフレームにおいてはPrecisionやmAPが高く、高精度でボールを捉えられるモデルと言えます。
総合的に見ると、TrackNetV3はYOLOに比べて検出精度が劣る一方、検出頻度や少ないデータセットでの学習において優位性のあるモデルと評価できます。
まとめ
TrackNetV3はカメラのアングルが動かない(背景が固定されている)、かつ、ボールが大きいほど高い性能を発揮する傾向があります。 サッカーのようなスポーツでTrackNetV3を活用してボールトラッキングを行うには、ボール以外の動的で小さい物体を検出しないようにする工夫が必要になってきます。 動的な背景を除去するための前処理や、連続フレーム間のボール位置情報を利用したトラッキング手法と組み合わせることができれば、より精度の高いモデルが実現可能になってくるでしょう。
参考文献
- TrackNetV3 : Beyond TrackNetV2 and First TrackNet using Attention
- Woo, S., Park, J., Lee, J. Y., & Kweon, I. S. (2018). "CBAM: Convolutional Block Attention Module."
- CBAM:Convolutional Block Attention Moduleを読んだ by _NiMA_
- He, K., Zhang, X., Ren, S., & Sun, J. (2015). "Deep Residual Learning for Image Recognition."
- スキップ接続でさらに深層モデルを実現!【ResNet】 by wakayama_90b
- WASB: Widely Applicable Strong Baseline for Sports Ball Detection and Tracking
- SoccerTrack: A Dataset and Tracking Algorithm for Soccer with Fish-eye and Drone Videos.
GitHub Repository. URL: https://github.com/alenzenx/TrackNetV3?tab=readme-ov-file
Proceedings of the European Conference on Computer Vision (ECCV), pp. 3-19. URL: https://openaccess.thecvf.com/content_ECCV_2018/papers/Sanghyun_Woo_Convolutional_Block_Attention_ECCV_2018_paper.pdf
Qiita. URL: https://qiita.com/NiMA/items/20ec1b7a414668c1ece6
arXiv:1512.03385. URL: https://arxiv.org/abs/1512.03385
Qiita. URL: https://qiita.com/wakayama_90b/items/7bc4ebc2b3790fea90b9
GitHub Repository. URL: https://github.com/nttcom/WASB-SBDT
IEEE Explore. URL: https://ieeexplore.ieee.org/document/9857262