テニスの動画分析ツールにAI技術を取り入れ一部作業を自動化
公開日:
最終更新日:2020/02/12
2020/02/12
試合動画を確認しながら、手動でデータを記録していく動画分析ツールを開発しています。
ボールの着地点の記録作業が大変だったので、AI技術を導入し、一部作業を自動化しました。
動画分析ツールは記録作業が大変だった
まずは自作した動画分析ツールの紹介から。ツールを使って記録していくことで、サーブの着地点からコースの傾向や精度だったり、ポイントの内容、Statsなどがわかるようになります。
自作したテニスのビデオ分析ツールで錦織・デルポトロ戦を分析してみました
↓は錦織とデルポトロが対戦したときのサーブ着地点で、デルポトロはライン際に打っているのに対して、錦織はばらつきが大きいことがわかります。
詳細なデータを可視化できるようになったのはいいのですが、記録作業が大変という難点がありました。
↓はボール着地点の記録作業の操作デモです。
テスト
Pythonで自作したテニスのビデオ分析の操作イメージです。ボールの着弾点はまずコート4隅の点をマウスクリックで指定することでコート領域を形成し、ボールの着弾点をクリック。全ポイントやっているとけっこう面倒なのでもう少し自動化取り入れたい #テニスの動画解析 pic.twitter.com/yKAz5DshtZ
— おたこ (@otakoma) 2018年8月14日
記録操作の手順は、
①コートの4隅をマウスでクリックしてテニスコートの位置を検出
②ボールの位置をマウスクリック
となっており、数回この作業をやるだけならいいのですが、試合の全ポイントでこの作業をやるとなるとかなり辛い作業となります。これでは分析する前の記録作業で力尽きてしまいます。
そこで、AI技術の導入を試みました。今の段階では、①のコート4隅の座標をクリックする作業を自動化することができています。
AI技術を導入し、テニスコート検出を自動化
ボールの着地点をマウスクリックすると、画像解析によりコート4隅を検出し、サーブの着地点を真上からみた位置として補正し、右側にあるテニスコート画像にプロットします。
ついでに選手の位置も自動検出し、これも合わせてテニスコート画像にプロットしています。
コートの検出は、深層学習ベースの特徴点検出モデルで自作したもの、選手の位置検出は、深層学習ベースの物体検出モデルSSD(Single ShotMultiDetection)を用いてます。
技術概要はこちらの記事に書いてます。
ディープラーニング(深層学習)を活用してテニスのトラッキングシステムを作りたい
深層学習の計算は重く、その重い処理2つ実行してるので、クリックしてからプロット表示されるまで数秒の時間を要してます。時間短縮のためには、計算モデルを軽くするか、1つのモデルに統合するか、など工夫が必要ですね。
記録したデータはデータベースとして保存できるので、データがたまったら統計的なデータとして分析に活用することができるはず。
引き続き開発を進めていきます
ボールや選手の位置がわかることで、相手やボールの位置に対するポジショニング、ボールやショットの傾向など詳細な分析ができるんじゃないかなあと。
あとは、フォアバックの分類も自動でできるんじゃないかと。ヒット時にボールが選手の位置に対して右か左かで簡易に判別できるはずだと考えています。
他にもやりたいことはたくさんあります。引き続き開発を進めていきます。