Tac-Valuer: Knowledge-based Stroke Evaluation in Table Tennis
Tac-Valuer: Knowledge-based Stroke Evaluation in Table Tennis(KDD2021)を読んでまとめました。
解釈間違い等ある時がありますので、その場合指摘いただけると助かります。
目次
背景と概要
背景
課題
- コーチが卓球の試合で選手のパフォーマンスを見る上で、ストロークの評価は非常に重要。
- ストローク:打法、スイング
- ただし、現在の方法では熟練した知識が要求される上に時間もかかる。
- 卓球の評価方法は以下の2つに分けられている
考えられる施策
ナショナルチームとの共同研究
概要
- 卓球のアナリストのための自動ストローク評価フレームワークTac-Valureを提案。
- 今回のようなタスクの場合、アナリストの知識と機械学習モデルの組み合わせ方が課題となる。
- アナリストの知識を機械学習モデルに統合するために、abductive learning(ABL)に基づいた方法(computer visionアルゴリズムと知識に基づいたルールベースのロジックを組み合わせ)ストロークに関する特徴量の埋め込みをおこなった。
- 使用データ:卓球中国代表選手のもの
Tac-Valueのステップ
- 以下3ステップで構成
- video formalizing(VF):動画の形式化
- stroke embedding (SE):stroke埋め込み
- ここで属性を学習strokeし、中間層の特徴量を抽出しstroke embeddingとする。
- component
- 属性認識component:ニューラルネットワークを利用
- 論理的推論component:ルールベースを利用
- ラベルの無いデータに対しても、上記componentを利用し学習を行う。
- performance rating (PR):性能評価
- SEを入力として、strokeのパフォーマンスをDeep forestで予測
活用の仕方
各試合におけるstrokeテクニック毎のパフォーマンスやラリー毎のパフォーマンスを定量化する事で、なぜ試合に勝った(or負けた)のかを考察しやすくする。
[以下長い詳細]
Data
必要なデータ
- Tac-Valuerでは学習のために4つのデータが必要となる。
- stroke videos:Tac-Valuerの入力
- stroke属性:SE(stroke embedding)用学習ラベル
- 推論ルール:アナリストの知識の定量化
- パフォーマンススコア:PR(Performance Rating)で利用
stroke videos
- 各stroke videoは、8つのフレームシーケンスで構成
- プレイヤーがボールに触れた時の中央のフレーム
- その前の4フレーム
- 中央の後の3フレーム
ラベリングに熟練の知識はいらないので、クラウドソーシングで、21試合から9,522本のストロークを収集。
stroke属性
このデータは、SEのモデルを学習するトレーニングラベルとして使用。
stroke属性のラベリングには卓球の知識が必要となるため、アナリストがデータ収集を行っている。
- 以下図にstroke属性のデータ例が示されている。
- 最初の3属性:試合の中のstrokeの時間的な位置を特定する
- 続く3属性:strokeの技術的特徴
- stroke technique
- stroke position:ボールを打つ時のプレイヤーのポジション
- stroke placement:打つ前のボールの位置
- 最後の属性:Striker, strike time()
推論ルール(ルールベース)
データ収集時のアナリストの知識をまとめ、以下の形で定量化。 以下の例では、前のstrokeが「Block」の場合、現在のstrokeが「Push」「Short」「Slide」「Block」になる事が出来ない事を意味している。 今回は28個のルールを作っている。
パフォーマンススコア
このスコアはPR(Performance Rating)モデルの学習用ラベルとして使われる。
- プロのアナリストが手動で評価した
- 有利なstroke:1、不利なstroke:-1
アノテーションの仕方
- 全部で7人が評価
- 各strokeは3人のアナリストで評価し、多数決
- 3人のアナリストの評価が異なる場合→別のシニアアナリストが再評価
Tac-Valuerのフレームワーク
問題定義
卓球では、双方のプレイヤーが交互にストロークをやりとりする。
今回はFを構築する際に、アナリストの評価プロセスを模倣している。
- 一般にアナリストはstroke属性に加えその動きも考慮する必要がある。
- 以下画像のような場合、これらのstrokeの効果は明らかに異なるが、属性だけ見ると似たようなstrokeになる。
- そのため、動きまで含めると十分な情報を得られる事となる。
Tac-Valuer構築時の課題
- いかにして映像のノイズを減らすか
- stroke映像では、以下のように主にコート上の審判等の選手以外の人物がノイズとなり、アルゴリズムの精度を下げる要因となる。
限られたラベル付きデータでstrokeの特徴を効果的に抽出・埋め込みを行うには
- ラベル付きデータを作るには熟練したドメイン知識が必要となるため、作れる量に限界がある。
- strokeの動きをどう評価するかはまだあまり研究されていない。
strokeのパフォーマンスをどう定量化するか
Tac-Valuerのフレームワーク構成
以下図のような3ステップの構成となる。
- video formalizing (VF):ビデオフレーム内の無関係な人物の削除
- object detection algorithmでプレイヤーを検出、無関係な人物をマスクする
- stroke embedding (SE):ABLを活用し、stroke属性を抽出し動きと合わせて埋め込み。
- 属性を認識するcomponentを使用し、strokeを特徴ベクトルに埋め込み。
- 推論component(ルールベース)を使ってラベル無しデータの疑似ラベルを改善。
- 上記を繰り返す。
- performance rating (PR):分類器により評価結果を取得
- ステップ2の埋め込みベクトルを用いて、各strokeのレベルを分類するモデルを学習。
video formalizing (VF):上図A
- VFは以下の流れとなっている
- Faster-RCNNで各フレームのテーブルと全人物のbounding boxを検出。
- テーブルのboxと人物のboxの位置関係から2人のプレイヤーを特定。
- 他の人物はマスクする。
Stroke embedding(SE):上図B
ここでは動画フレームから特徴ベクトルへの埋め込みを行う。
- ステップは以下画像のように2つに分けられる
- 属性認識component(A)
- 論理的abduction component(B)
属性認識component
- 本componentでは、以下の構成となる。
本componentはラベル付きstroke動画で事前学習されるので、ラベル無しの動画では誤った疑似ラベルを生成し得る。
論理的abduction component
- 本componentは以下のプロセスとなる
- 疑似ラベルがルールと一致するかをチェック。
- 一致していればそのまま返し、そうでなければ推論ルールを用いて疑似ラベルを修正する。
最後に、修正された疑似ラベルはground-truthラベルとして扱われ、属性認識componentに戻り学習される。 このサイクルを繰り返す。
Performance rating(PR)
Stroke embeddingで生成した特徴ベクトルをDF21(Deep Forest)で学習させる。
Evaluation
SE部分の検証
- 3パターンの手法でテクニック(tec)・位置(pla)・配置(pos)・ストライカー(striker)がどちらかを検証
- 配置に関しては提案手法が最もパフォーマンスが高く、他の指標は50%教師ありを超えたと主張。
PR部分の検証
Deep Forest以外にGBDT系、ランダムフォレスト等で検証しDeep Forestが最も精度が良かったと述べている。
実際のUse Cases
中国の卓球選手に対して強敵である伊藤美誠選手の分析がされている。
Ito should reduce errors in matches
以下の図が、2019年ITTFワールドツアーの女子シングルス決勝、準決勝、準々決勝で伊藤選手(紫)とChen Meng選手、Sun Yingsha選手、Wang Manyu選手(それぞれのオレンジ)が対戦したもの。
A:それぞれのstrokeテクニック毎のパフォーマンスを表したもの(積算)。プラスに振れている方が良いパフォーマンスとなる。
- Sun選手とWang選手と対戦した際に、伊藤選手のパフォーマンスが優れている。
- Wang選手との場合には、特にPush,Shortが相対的に優れている。
- ただChen選手と試合した際には、あまり優位性を発揮できていなかった。
- Sun選手とWang選手と対戦した際に、伊藤選手のパフォーマンスが優れている。
B:Chen選手と試合した際のラリー毎のstrokeパフォーマンスを更に検証したもの。
- 棒グラフの高さ:パフォーマンスの差の絶対値
- オレンジが上に伸びていれば、Chen選手の当該ラリーのstrokeのパフォーマンスが高い事を示す。
- 中心の点:各ラリーでどちらが点を取ったかを示す。
- 棒グラフの高さ:パフォーマンスの差の絶対値
本論文では、Cで囲ってある領域のように伊藤選手が非常に高いパフォーマンスを発揮したラリーで得点を落とさない事が必要だと述べていた。
[感想]全体的にパフォーマンスを見ると、安定して相対的に高いパフォーマンスのラリーを行う事が勝つ事に繋がってそうに見えた。
参考文献
https://dl.acm.org/doi/10.1145/3447548.3467104 http://129.211.169.156/publication/kdd21Tac_Valuer.pdf