"BOKU"のITな日常

還暦越えの文系システムエンジニアの”BOKU”は新しいことが大好きです。

ラグビーのゲーム分析に使われる「スポーツコード」というアプリの話など

テレビでスポーツ観戦をしていて、スタッフが使っていて気になったPCの正体を調べていたら、SportCodeというデファクトスタンダードなソフトの存在を知りました。

f:id:arakan_no_boku:20191124171859p:plain

 

はじめに

 

テレビでスポーツ中継を見ていると、時折、コーチスタッフらしき人がパソコンを広げて何かをやっている場面が映り込むことがあります。

PCに何かを入力したり、のぞきこんだりしてます。

たぶん。

試合のデータを後で分析するために入力したり、以前のデータを見て、監督・コーチに情報として提供できるよう分析というか、レポーティングをしているんだろう・・ということくらいは想像できます。

ですが。

そもそもスポーツで入力するデータってどんなものなのか?

どういうソフトを使っているのか?

などなど、気になる点は多々あります。

なので、調べてみることにしました。

 

どんなソフト使ってるんだろう

 

調べるにあたって、競技をしぼることにしました。

今回は、「ラグビー」にします。

先日のワールドカップで滅茶苦茶盛り上がってますし、自分も大好きな競技なので。

そのキーワードで探すと、「スポーツコード」というソフトに行き当たりました。

sportscode.jp

もちろん、ラグビー専用ってわけではなく、様々な競技で使われる汎用性のあるソフトではありますが、利用ユーザ欄を見て驚愕しました。

ラグビーのW杯にでていた代表チームがズラリ・・。

主だった代表チームを列挙してみると

です。

オーストラリア代表(ワラビーズ)、サモア代表(マヌ・サモア)、トンガ代表(イカレ・タヒ)、ナミビア代表(ウェルウィッチアス)の4ケ国を除く代表チームが勢ぞろい・・すごいシェアですよね!

ほぼデファクトスタンダードと言って良いくらいじゃないでしょうか。

だから、テレビで見かけた人達のPCには、高確率で、これがはいっていただろうと考えて、間違いはない気がします。

 

何につかっているんだろう?

 

さて。

スポーツコードというのは、何ができるソフトなのでしょうか。 

サイトを見る限り「動画の各シーンに分類用のコード(タグみたいなものかな)を付けて、効率的にビデオ分析をすることができる」ようです。 

sportscode.jp

引用すると。

インスタンスを選択してクリックするだけで、[オーストラリアのラインアウト]など、見たいプレーだけを編集、再生して見ることができます。

 とか

個々のプレーに、さらに細かい情報を追加できます。

例えば[ラインアウト]に[人数][位置][獲得]か[ターンオーバー]かなどの情報を追加できます。

 とか

プレーの数やそこに記録されているラベルの情報は、コードマトリックス(集計表)上で一目で確認できます。

単に回数の集計ができるだけでなく、ラベルを組み合わせての絞り込み検索、さらに数値をクリックすると該当するシーンを即座に再生してくれます。

 とか

複数の試合から、ミーティングで説明するシーンだけを選んで準備しておきたいとき、ムービーオーガナイザーにドラッグ&ドロップで登録して長さを調節しておけば、ミーティングでいちいち各試合のデータを開かなくとも、プレゼン用ムービーが作れます。

とか・・。

確かに、試合の動画のポイントとなるシーンにタグをつけて、検索したり、抜き出しておけると、監督・コーチがゲームの分析をして作戦をたてたり、ミーティング等で選手に説明・指示する場合に、ものすごく便利だというのは、よーくわかります。

なるほどねえ。

こういうアプローチは、確かにありですね。

 

何をしているんだろう

 

機能がわかれば、何をしているか?は簡単に推測できます。

あの人たちは

  • ビデオデータをスポーツコードに取り込む
  • ビデオデータに分析に必要なコード(タグ)付けとラベルの入力

をしているのに間違いありません。

とはいえ。

どういうコード(タグ)やラベルをつけるかは、事前に監督やコーチと決めておくとしても、ラグビーだと、各局面局面での「スクラム」「ラインアウト」「タックル」「成功」・・などなど多岐にわたるのは間違いないです。

それを試合映像をタイムラインで追いながら、手作業でポチポチつけていくとしたら、いやあ・・想像するに大変ですね。

相当な根気が必要なこともありますし、ラグビーは密集戦も多いですし、ゲームの映像を見て瞬時に何のプレーかを判断するには、かなりの知識や経験と集中力が必要です。

しかも。

スピードも求められるはずです。

W杯みたいな連戦が続く場合だと、とりあえずビデオだけとっておいて、試合映像のコード(タグ)やラベル付けは後でのんびりやろうってわけにはいきません。

試合中にでも、必死にデータを取り込み、コード(タグ)やラベル付けをやってたのだろうなと思うと・・しんどいだろうなあ・・ってのが正直な気持ちです。

 

だからビデオからの自動タグ付けを研究している人がいるのか

 

スポーツコードを有効に使うために、人手でコード(タグ)やラベル付けを「人手」でやるというのは、やっぱ、ちょっとしんどいな。

画像認識技術も進んでいるわけなので、試合中に動画を撮影したら、各シーンに対するコード(タグ)付けやラベル付けを自動でやるような仕掛けくらい、ないのかな。

なんて考えていると、やっぱり同じように考えて、研究されている方がいました。

別にスポーツコードとは関係なく・・ではありますが、こちらの記事です。

www.st.keio.ac.jp

図を引用すると。

f:id:arakan_no_boku:20191124180345p:plain

この説明には。

一台のカメラで撮影したラグビー試合映像を対象に、画像処理と深層学習を用いて選手やボールの位置を取得しながら、ラグビーの戦術分析に必要な主要プレーの自動分類を行うシステムを東芝と共同で開発しています(図1)

とあります。

おーー。

まさにこれですよ。

今のところ、「スポーツコード」的な検索とかシーン識別などの機能も、自前で実装しようとされているように見えます。

でも、インタフェースとして「スポーツコード」互換のコード・ラベル付きデータなどを出力・取込みできたりするようになれば、世界中のスポーツコードユーザが欲しがるでしょうし、ビジネスにもなるよな・・なんてことを勝手に夢想してしまいました。

 

どういうアプローチでプレーを分類・識別するのかな?

 

それにしても。

上記の「ラグビーの戦術分析に必要な主要プレーの自動分類を行うシステム」なんてキーワードを聞くと、当然、どんなアプローチで実現しようとされているのかな?・・と興味がわきます。

もう少し調べてみました。

まず、タグ付けをする前提として、動画から「選手」とか「密集領域(スクラムとかモールとか)」を検出する必要があるようなのですが、それには、Faster R-CNNという手法を使っているそうです。

news.mynavi.jp

Faster R-CNNってのは、2015年にMicrosoftが発明した物体検出アルゴリズムです。

それをそのまま使っているのですね。

かつ。

最初にVOC2012で公開されているデータセットで学習したものをベースにして、入手したラグビー画像を転移学習して性能向上を試みたとのこと。

pjreddie.com

で。

物体検出した後の「プレイ推定」には、CNNとLSTNを使っている・・と。

arakan-pgm-ai.hatenablog.com

www.hellocybernetics.tech

どうも。

  1. 動画を1枚ずつ画像データとして切り出す。
  2. CNNにかけて特徴量に変換したものを512ノードにそろえる。
  3. 上記をLSTNのインプットにする

みたいな感じで学習・推論して、適切なタグ・ラベルを自動分類させようという感じ。

なんとなく、ディープラーニングでなじみのある手順がでてきます。

今のところ(2019年7月)、80%程度の正答率ということです。

ということは、まだ試している感じの段階なのかな・・と思っていたら、実際、資料を読むと、これから様々な手法を組み合わせてチューニングしながら、実用化を目指していくとのことでした。

 

まとめ

 

スポーツの世界も、今はコンピュータを使ったデータ処理や分析能力なんかが、とても重要になっているみたいですし、自分が知らないだけで、いろんなソフトや技術が裏では活躍してるんでしょうね。

そういうのを調べてみるのも興味深い。

そう思えるきっかけになりましたし、実際、調べてて面白かったです。

ということで・・ではでは。