EurekaMoments

新米エンジニアが一人前を目指す修行の日々を記していくブログです。

東大生マラソンランナーに習って卓球とプログラミングの両立方法を考えてみた

背景

自分は中学校入学時から卓球を始め、今でも趣味として週1くらいのペースで楽しんでいます。地元のクラブチームにも所属してたまに試合にも出場しているので、できればもう少し練習する機会を増やして実力アップを図りたいのですが、プログラマとしての勉強時間も確保したいのでこれ以上練習時間を増やすのは難しいのが現状です。
どうしたものかと悩んでいたところ、以下の記事を読んだことで「そういう考え方があったか」と非常にスッキリしました。
president.jp

ラソン東京オリンピックを目指す程のアスリートでありながら、東京大学大学院の博士課程で研究にも取り組む近藤秀一選手の考え方は、スポーツと学業との間に壁を作らない「文武一道」というものです。好きなものが2つあるなら、それらをどうやって結び付けられるのかを考える事が大事だという近藤選手の言葉を聞いて、自分も卓球とプログラミングを結びつけて同時に取り組んでいける方法を考えてみる事にしました。

目的

卓球とプログラミングを結びつける方法として、自分が出場した卓球の試合動画を分析して自分や相手のプレーの特徴を抽出したり、次の相手のプレーを予測して自分が取るべき戦術を考えることが出来るツールの開発に取り組んでみることに決めました。

データを武器にする――勝つための統計学

データを武器にする――勝つための統計学

スポーツを10倍楽しむ統計学 (DOJIN選書)

スポーツを10倍楽しむ統計学 (DOJIN選書)


上記のような書籍が沢山あるように、今はスポーツも大量のデータを駆使して戦う時代です。ただし、こういうのはあくまで国の代表選手くらいのレベルの話であり、自分のような一般ピープルが個人の趣味で同じやり方を実践するのは難しい事です。なのでまずは、自分のような一般プレーヤーが抱える制約、そして卓球に関するデータ分析の先行技術を調べて、これから自分が取り組んでいく事の全体的な方針を検討してみようと思います。

一般の卓球プレーヤーが抱える制約

国を代表するナショナルチームでは、沢山のデータアナリストがいて、様々な選手の試合データを集める手段があって、特殊な機材を持っていて、何よりお金もあります。そういった点において、我々一般プレーヤーはどうなのかを考えてみると以下のようになります。

  • 制約①: 基本的には全て一人でやらなければならない。
  • 制約②: 使える機材は、一般的で安価なPCやデジカメ、スマホなど。
  • 制約③: カメラを設置できるのは、プレーする選手の後方のみ。

先行技術

卓球のデータ分析に関する技術論文を調べていたところ、以下の論文を見つけました。
「確率モデルを用いた卓球の試合分析と選手の強さの評価」
http://www.ise.chuo-u.ac.jp/ise-labs/taguchi-lab/pdf/bachelor/2013/r2013_yasuda.pdf
この研究は、卓球の試合映像から各種打法の本数を抽出し、試合構成、攻撃パターン、勝敗の要因を分析するというものであり、まさに自分が取り組もうとしている事に似ています。分析の対象になる選手の強さというものを定量的に評価して、各選手間の強さの比較を行うというのが面白いです。

また、既に世界選手権のような公式大会で実用化されているものとして、以下のようなものがあります。
www.hakuhodo.co.jp
www.youtube.com
卓球台全体を2台の単眼カメラで捉え、ラリーで飛び交うボールをトラッキングし、どういう球種のボールが台上のどこに落ちたかを分析して、両選手のプレーの傾向を定量的に可視化するというシステムです。試合の流れをリアルタイムでこのクオリティで示せるのは凄いですね。

今後の取り組み①: 試合動画内の選手のトラッキングと打法の自動分析

上記の論文では、対象とする一選手がプレーした2試合中のデータから、その選手が実行した打法を以下のように分類し、それらの本数を手作業で集計しています。 f:id:sy4310:20181008080600p:plain
本取り組みでは、こういった試合動画からのデータ分析を自動で行えるツール開発を行い、そこからの試合の流れの把握や戦術予測に繋げることを目指します。

今後の取り組み②: 選手の動作情報から試合の流れを把握し、自分がとるべき戦術を提案してくれるシステムの開発

上記の先行技術にあるトラッキングシステムは、卓球ボールの軌跡をトラッキングしてそこから選手のプレーの傾向を定量的に示しています。しかしながら、そのように卓球台全体を捉えられるような位置にカメラを設置することは一般の試合では不可能であり、現実的な設置位置といえば選手の後方に距離を取ったところくらいです。そのため、卓球ボールの動きを正確にトラッキングすることは選手の遮蔽により難しく、逆にはっきりと捉えやすいのは手前側選手の後姿全体と、奥でプレーする選手の上半身になります。
そこで本取り組みでは、台に対する選手の位置や打法といった動き情報に基づいて、試合全体がどういう流れで進んでいるかを把握し、そこから相手の戦術を予測 + 次に自分がとるべき戦術の提案を自動で行うシステムの開発を行います。

参考: テニスにおけるデータ分析

競技は異なりますが、テニスとテクノロジーを組み合わせるというコンセプトでテニスのデータ分析やツール作成を個人的に行っている人もいます。自分以外にも同じような事を考えている人がいて、むしろ自分よりもかなり先を進んでいる人がいるというのは、自分にとっていいモチベーションになりますね。
データテニス ドットネット – DataTennis. NET