テニスの試合動画のシーン分割を自動化
公開日:
テニスの映像分析ツールを開発しており、スコアやスタッツの記録に加え、ボールの着地点、選手の位置情報などを記録分析できるようにしています。データ記録に多くの時間を要すため、AI技術や画像認識技術を活用し、作業の自動化に取り組んでいます。
今回はある1つの作業を自動化したので、その内容について共有したいと思います。
これまでのシーン分割方法
ある作業とは各ポイントのシーン分割です。これは、サーブなどポイントが開始されたフレームを開始位置として各ポイントを1つ1つのシーンとして分割する作業です。シーン毎にスコアやボールや選手の着地点情報を記録していくために必要な作業となります。
作業動画は↓になります。
次のポイントに切り替わるサーブのタイミングで「終了フレーム」というボタンを押すとシーン分割されます。
単純な作業ではあるのですが、これを全ポイントでやるとなるとけっこうなボリュームで。少しでも作業を楽にしたく、シーン分割の自動化にトライしてみました。
シーン分割を自動化
↓のような感じで、前処理したdbファイルを読み込むと、各ポイント毎にシーンが分割された状態になります。
開発中の映像分析ツールはシーン行をクリックすると各シーンのフレーム位置の画像に切り替わるようにしていますが、ちゃんとサーブを打つタイミングがシーン開始になっていることがわかります。
画像色情報の変化を検出してシーン分割を自動化
どうやってシーン分割を自動化したかを説明します。
一般的にテニスの試合放映は、サーブをヒットする直前に選手をズームした映像が映され、そのあとコート全体を映した画面に移り変わります。この画面変化の特徴を活かしてシーン分割します。画像の各フレームのRGBの輝度平均をグラフ化すると下図のようになります。
サーブ動作の拡大画像②からコート全体を映した画像③の間でRGB輝度平均の数値が大きく変化しています。特に青色(blue)の変化が大きいです。テニスコートが青色のハードですので、画面に占める青色の比率が上がりこうした変化となっています。こうした変化を検出してシーン分割を自動化した結果が上の動画となります。
今後やりたいこと
次はスコア記録の自動化も進めたいなと。具体的にはシーンが切り替わるタイミングで左下のスコアの数値をOCRなどで読み取り、各シーン毎のスコアを検出できるようにしたいなと。
関連記事
テニスのトラッキングデータを使って、各ショット時点の優勢・劣勢を示す指標をつくりたい
西岡良仁選手のテニスの試合データ(ボール着地点、選手位置データ)を公開します