カテゴリー
データ可視化

バスケットボール中継のハイライト動画をPythonで作る

Python で NBAハイライト動画を自動生成するという記事が面白かったのでご紹介。

ゲームをまるごと観戦する暇がない時、ハイライト動画を見て済ますスポーツファンは多いでしょう。ハイライト動画は球団やテレビ局などが編集して出してきますが、必ず見られるわけでも、自分が見たい粒度のハイライト動画が必ずあるわけでもないかもしれません。

ノーム・エフラットさん(Noam Ephrat)が自分だけのハイライト動画を自動で作るために使ったのは、Python、NBA公式のAPI、録画したゲーム動画、OCRライブラリ。

NBAのAPI(参考) では何分何秒にどちらのチームの誰がどういうプレイをして、シュートが入ったとか外れたとかいうプレイバイプレイ(play-by-play, PBP)の情報が公開されています。日付、ゲームID、ピリオド(クオーター)を指定するとJSONが返ってきます。これが一つ目の要素。

https://data.nba.net/data/10s/prod/v1/20220201/0022100784_pbp_1.json

そして、録画した動画をフレームごとに切り出して、中継中に表示されたゲーム時計の部分を OCR ライブラリの Tesseract でピリオドやゲーム時間を抽出します。これが二つ目の要素

あとは、プレイバイプレイの重要シーンの発生した時刻に合わせて、動画のフレームを切り出し、切り出したところをつなげていくと、ゲームが動いたところだけがまとまったハイライト動画を作ることができたということ。

ざっと見てみて、プレイバイプレイのデータにあるところだけだと、どうしても点が増えたシュート成功の場面が多くなるのかな、とも思いましたが、人間が編集したハイライト動画でも成功シーンが多いので気のせいかもしれません。

作ったハイライト動画を公開するのは著作権的にだめだと思いますが、個人でハイライトを作って観るのは問題なさそうでは。

自分の基準で抜き出すところを選べるからには、

  • ひいきチームの得点シーンばかりを集めたり
  • 応援する特定の選手の絡むシーンだけを集めたり
  • 点差や時間を考えて、より劇的にゲームが動いたシーンだけを集めたり(これは人が編集する時と似た結果になるかも)
  • 自分の使える時間に応じてハイライト動画の長さを指定して変えたり

など、よりパーソナライズされたハイライト動画を作れる可能性もありますね。

バスケットボールという競技が特に時計が重要で、常時正確な時刻が中継に表示されていることや、APIで提供されるゲームログにも時刻情報がふんだんに含まれているという点も、うまく自動生成にマッチしているというのもありそうですね。

カテゴリー
ネットのサービス

HomeCourt – バスケットボールのシュート結果を画像認識で自動記録するアプリ

HomeCourtは、スマートフォンのカメラを使ったバスケットボールの練習支援アプリケーションです。打ったシュートをリアルタイムで追跡し、結果をまとめてくれます。

シュート練習が映っているアプリの画面の右上に、シュートの企図回数や成功数、コート内でのシュート位置がリアルタイムで更新されていますね。

このアプリ、コートの外側に三脚でスマートフォンを固定設置して、3ポイントラインやゴールなどを認識させると、その後に打ったシュートの位置や結果が判定されます。また、シュート時の動画をスローモーションで見返したり、それをコーチと共有する機能もあるそう。

こちらが統計結果の表示画面例。コートのどの地点からシュートを試みて、その結果がどうだったかがわかりやすく表示されていますね。距離や角度ごとの成功率や、成功率が経時でどう変化してきたかも出てくるので、得意・苦手の把握や自分の成長の度合いの確認に使えそうです。

ラインの線の色、背景に木などが無い屋内コートが良い、ボールは標準的な色、十分な明るさ、など、より良い認識のための条件はいくつもあるものの、こういった結果が画像/動画認識技術の進歩によってスマートフォンレベルで動くようになったのはすごいですね。

ウェブサイトには利用者として大学チームのロゴも多数表示されていて、実際の練習に使われているようです。効率よく上達を目指すために、こういった支援ツールが中高生の部活などにもどんどん普及していくかもしれないですね。

HomeCourt: Basketball Training

カテゴリ: Sports, Health & Fitness
言語: 英語, フランス語, イタリア語
価格: 無料
バージョン: 3.34

開発者: Nex
公開日: 2018-01-16
評価(全バージョン):
(11010人のレビュー)
評価(現バージョン):
(11010人のレビュー)

スクリーンショット

screenshot 0screenshot 1screenshot 2screenshot 3screenshot 4screenshot 5screenshot 0screenshot 1screenshot 2screenshot 3screenshot 4screenshot 5

via VentureBeat

カテゴリー
データ可視化

もし地球がバスケットボール大だったら? 地図上で太陽との距離を確認できるwebサービス

太陽系の大きさを、身近な地図上で実感するためのサイト Soalar System Maps

もし地球がバスケットボールの大きさだったとして、東京日本橋のサイボウズ本社に太陽があったとしたら、

太陽の大きさがこんなで、

バスケットボール大の地球は、国会議事堂あたりを回っているかもしれない、と。

サイトでは、他の惑星を選ぶこともでき、またバスケットボールだけでなく「もしテニスボール大だったら」も選択することができます。

天文学的な距離や大きな量を卑近な例に縮小することで感じる、という教材はよくありますが、自分の家や良く知っている場所を太陽にできることで、さらに理科への興味を持ってもらったりすることもできそうですね。

Angular で書かれたソースコードはこちらで公開されています

サイトの作者が「この動画からインスピレーションを得ました」と紹介している、もし太陽がサッカーボールだったら各惑星(存在の可能性が言われる第9惑星も)はどこ? も面白いです