2017/01/15最終更新日:2020/02/15ツイートサイト名にあるように、「データ」×「テニス」をキーワードにブログ記事を書いたり、データ分析用のツールを開発してます。スコアを記録するスマホアプリや、統計データから試合の勝率を予測するツール、試合の動画解析ツールなどをつくっています。残像モーション生成システムデータビシュアライズ(データ視覚化)動画の撮影について管理人についてスマホアプリ(データテニス)スコアを記録するAndroidアプリをつくって公開してます。タップ数を少なくして操作性をよくすること、Statsデータをみやすくすることを意識してつくりました。追加機能開発は継続してやってます。バグの修正はもちろん、スタッツデータを増やしたりクラウドバックアップ機能など。アプリのダウンロード数は5000を超えました(2019/8時点)記録することがデータ分析の第一歩!使ってもらえたら嬉しいです。Scores↓のGooglePlayリンクからデータテニスをダウンロードできます。今、開発中の段階ですが、テニスの試合の動画を画像解析して、選手の移動やテニスボールの軌道をトラッキングできるようにしようとしてます。選手の総移動量を計測したり、ポイントの内容を自動判別できるようにしたいと思ってます。スポーツ画像解析というテーマで開発メモみたいな形で記事を公開してます。↓は選手の動きをトラッキングした動画になります。(動画素材は、shutterstockで購入した動画を用いています)↓はサーブ時のボールの軌道をトラッキングした動画になります。機械学習(非線形SVM)を用いてサーブの着弾点を予測する、なんてこともやってます。サーブの着弾点を機械学習(SVM)で予測してます。ボールはフレーム間差分で検出。着弾点はSVMで確率が一番高い箇所を予測していて精度はまだ8割ぐらい。説明変数は、ボール間ベクトルの長さや角度変化など。1つ前と次のボール情報を使用してます。・【OpenCVを使ったスポーツ画像解析6】深層学習(ディープラーニング)を用いてテニス選手とボールをトラッキング動画分析ツール↑の自動化ツールは完成にはまだまだ時間がかかりそうです。手動で動画を分析できるツールが必要だと考え自作の動画分析ツールをつくってみました。スポーツ分析業界では、「スポーツコード」というツールが多く使用されています。試合の映像で、シーン分割しタグ付けしてあとで検索して確認できるようにしたり、細かいデータを記録して分析できるようなツールです。多くの機能がある分、価格は高いし、macしか対応していないんですよね。いうことで、自分でビデオ分析ツールをつくってみました。機能はシンプルで、各ポイント毎にシーン分割できるしスコアを記録できるようにしているのと、サーブの着弾点をマウスでクリックしてXY座標として記録できるようにしています。自作したテニスのビデオ分析ツールで錦織・デルポトロ戦を分析してみました↓は錦織とデルポトロが対戦したときのサーブ着弾点で、デルポトロはライン際に打っているのに対して、錦織はばらつきが大きいことがわかります。Pythonで自作したテニスのビデオ分析の操作イメージです。ボールの着弾点はまずコート4隅の点をマウスクリックで指定することでコート領域を形成し、ボールの着弾点をクリック。2018年8月14日2020/2月時点では、AI技術を取り入れ、コート4隅の検出を自動化してます。ボール位置をマウスクリックすると、選手の位置と、テニスコートの4隅の位置も検出し、ホモグラフィ変換で真上からみた位置情報として右側のテニスコート画像にプロットします。2020年2月11日テニスの試合シミュレータ試合の勝率を予想するシミュレータをつくりました。2016年のトッププロの試合データ(STATS情報など)+乱数シミュレーションで、選手2人をプログラム上で1000試合対戦させて勝ち数と負け数を計算し、どちらの選手がどのぐらいの確率で勝つかを予想することができます。pythonで作成しました。錦織とジョコビッチを2016年のデータで1000回対戦させると、249勝751敗となります。錦織の勝率は24.9%と考えることができます。・テニスの試合シミュレータをつくり、錦織とジョコビッチを1000回対戦させてみました・テニスの試合シミュレータで2016年の1430試合の勝率を計算し、実際の戦績と比較してみました・テニスの試合シミュレータで全米オープンの試合を予想してみました勝率推移シミュレータポイント毎の勝率推移をプロットし、試合の流れを可視化することにトライしてみました。試合の臨場感をより伝えたく、グラフをアニメーション(GIFファイル)にして動きをもたせてみました。【試合の流れの可視化】勝率推移シミュレーション、データ集計から勝率チャート作成まで自動出力できるようにしましたデータ収集スクレイピングなどを使って、テニスの試合情報などを収集してまとめたりしてます。データ記録(サーブコースや速度など)を抽出してまとめてみました収集してまとめたデータはこちらのページで公開してます。錦織選手のサーブデータ(コース・速度など)をダウンロードできるようにしましたフォーム解析(姿勢推定)ディープラーニングを使って人の関節の動きを数値化してフォーム解析に活かせるようにしたいなあ、と思っています。↓は、サーブ時の関節の動きを姿勢推定というやり方で可視化した動画です。OpenPoseというライブラリを使ってます。各関節のXY座標も出力することができます。http://datatennis.net/wordpress/wp-content/uploads/2019/03/output2.mp4こちらの記事でトロフィーポーズの肘と脇の角度を算出してます。残像モーション生成システム↑のフォーム解析(姿勢推定)と同じようにディープラーニングの技術を使って、フォーム動画から残像モーション動画を自動生成するシステムをつくりました。http://datatennis.net/wordpress/wp-content/uploads/2019/08/output2.mp4左上のオリジナル動画から右下にあるような残像モーション動画を生成します。システムの構成は下図のようになっており、クラウドに動画を投げ込むと残像モーション動画を自動生成してくれます。解析をかけるごとに料金発生するため公開はしてませんが、会員制にするとかで公開して使ってもらうなど考え始めてます。Service)を使って構築しました。データビシュアライズ(データ視覚化)最近はデータの視覚化にも興味をもってます。データビジュアライズによく使われてるd3.jsでいくつかコンテンツつくりはじめてます。トッププロの試合をみてると、↓のようにコンピュータグラフィックスを使ってボールの着地点を表示したりしてます。画像出典:スポーツ界を変える「ホークアイ」審判補助システム自分も真似事をしたく、フリーのCGソフトblenderを使ってテニスコート作成中です。完成したら、着地点データをとりこむスクリプトでつないで、着地点データを視覚化するコンテンツをつくりたいなと思ってます。あと昨年、楽天オープンでスタッツやサーブ着地点など、データコンテンツ提供で少し協力させていただきました。いい経験をさせていただきました。動画の撮影について手作り感満載ですが。高い位置からテニスの試合を撮影できるカメラアタッチメントを製作してみました撮影データ募集してます。テニス試合の動画データ募集してます管理人について管理人のotakoと申します。30代後半の2児の父です。テニスは小さい頃にはじめ、社会人になっても実業団の試合にでたりと、テニス歴は長い方かと思います。学生時代は、全国大会に出場したこともあります。実業団(東京)では1部~3部を行き来してました。子供が生まれてからはプレーする機会が激減し、最近はプレーするよりTV観戦がメインになっています。好きな選手は錦織圭で、2008年のデルレイビーチ優勝のときから応援してます。仕事は、とあるメーカでメカ設計をやってます。ものづくり系エンジニアです。製品仕様を考えたり、実験したりCADで図面作成したり、ときには工場@中国などに出張したり。ツール開発をはじめたきっかけ仕事が大変で悩んでるときにこうしたテニスのツール開発をはじめました。仕事での製品開発、自分の思うようなものをつくるってなかなか難しいんですよね。純粋に自分の好きなもの、欲しいものをつくりたいなあ、ということで個人開発を始めた次第です。プログラミングは大学の研究で数値計算やってたんでその延長線上でやってます。本サイトや、アプリやツールに興味をもっていただいた方は、datatennisnet@gmail.comにご連絡ください。あと、twitterやってます。気軽にフォローしてください。@otakomaテニス以外にもスポーツアナリシス関連でもつぶやいたりしているので宜しくお願いします。Qiitaでもいくつか投稿をしています。link購読するサイトについて「データ」×「テニス」をキーワードにブログを書いたり、データを公開したり、データ分析用のツール開発を進めてます。詳細は「サイトについて」にて。ツイッターもやってます。データテニス【DataTennis】サイト管理人がつくったテニスのスコア記録用のアプリです。otakomaサイトリンクテニス・ライブスコア(FlashScore)・男子ATP/女子WTAツアー/チャレンジャーなどほぼ全てのテニストッププロの試合のライブスコアを確認することができます。