以下、図面を適宜参照して、本開示の実施の形態について、詳細に説明する。ただし、必要以上に詳細な説明は省略する場合がある。例えば、すでによく知られた事項の詳細説明及び実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。なお、添付図面及び以下の説明は、当業者が本開示を十分に理解するために提供されるのであって、これらにより特許請求の記載の主題を限定することは意図されていない。
(実施の形態1)
<球技映像解析システムの構成>
図1は、本実施の形態に係る球技映像解析システムの構成例を示す図である。
球技映像解析システム10は、球技を撮影した映像を解析し、当該球技に用いられる移動体の軌跡を解析するシステムである。本実施の形態では、球技の1つであるバレーボールを例に説明する。ただし、球技映像解析システム10は、バレーボールに限らず、サッカー、野球、卓球、バスケットボール、テニス、ラグビー、アメリカンフットボール、ラクロス、バドミントン、又はアイスホッケー等、様々な球技に適用可能である。また、球技映像解析システム10が対象とする移動体は、典型的にはボールである。ただし、球技映像解析システム10が対象とする移動体は、ボールに限らず、例えばバドミントンのシャトル又はアイスホッケーのパックといった「球」の概念に当てはまらない形状のものであってもよい。
球技映像解析システム10は、第1の携帯端末20A、第2の携帯端末20B、表示端末30、及び、球技映像解析装置100を備える。第1の携帯端末20A、第2の携帯端末20B、表示端末30、及び、球技映像解析装置100は、通信ネットワークNを通じて互いに情報を送受信できる。通信ネットワークNは、例えば、無線通信網(無線LAN(Local Area Network)、4G、5G等)、インターネット網、又は、それらの組み合わせによって構成される。
第1の携帯端末20A及び第2の携帯端末20Bは、カメラを備える無線通信端末である。第1の携帯端末20A及び第2の携帯端末20Bの例は、携帯電話、スマートフォン、タブレット又はモバイルPC等である。
第1の携帯端末20A及び第2の携帯端末20Bは、球技を行う人物(以下「プレイヤー」という)のアクションを撮影する。本実施の形態では、プレイヤーのアクションの1つであるバレーボールのサーブを例に説明する。ただし、プレイヤーのアクションは、バレーボールのサーブに限らず、ディグ、レセプション、トス、アタック、ブロック等であってもよい。あるいは、球技を行う人物のアクションは、バレーボール以外の上記スポーツにおける特定のアクションであってもよい。
第1の携帯端末20A及び第2の携帯端末20Bは、例えば、プレイヤーのサーブの練習を、互いに異なる方向から動画で撮影し、それぞれ、第1の動画201A及び第2の動画201Bを生成する。例えば、図1に示すように、第1の携帯端末20Aはプレイヤーを右後方から撮影し、第2の携帯端末20Bはプレイヤーを左後方から撮影する。
第1の携帯端末20A及び第2の携帯端末20Bは、それぞれ、生成した第1の動画201A及び第2の動画201Bを、通信ネットワークNを通じて、球技映像解析装置100に送信する。
表示端末30は、球技映像解析装置100による解析結果を表示する。なお、解析結果の表示例については後述する(図10参照)。表示端末30の例は、携帯電話、スマートフォン、タブレット又はモバイルPC等である。表示端末30は、第3の携帯端末と読み替えられてもよい。なお、解析結果を表示する表示端末30を別途設ける構成を例示したが、第1の携帯端末20A、第2の携帯端末20Bのいずれかを、解析結果を表示する端末として利用してもよい。
球技映像解析装置100は、第1の携帯端末20A及び第2の携帯端末20Bからそれぞれ受信した第1の動画201A及び第2の動画201Bに基づいて、3次元空間におけるボールの移動軌跡を解析する。3次元空間におけるボールの移動軌跡は、ボールの3次元座標を時系列に並べることで生成できる。
時刻tのボールの3次元座標は、図2に示すように、第1の動画201Aの中の時刻tのフレーム画像F1と、第2の動画201Bの中の時刻tのフレーム画像F2から算出できる。すなわち、図2に示すように、第1の携帯端末20A(のカメラ)の位置U1からフレーム画像F1におけるボールの位置B1へ伸ばしたベクトルV1と、第2の携帯端末20B(のカメラ)の位置U2からフレーム画像F2におけるボールの位置B2へ伸ばしたベクトルV2との交点が、ボールの3次元座標Paとなる。
ここで、第1の携帯端末20Aが第1の動画201Aの各フレーム画像に付与したタイムコード(時刻情報)と、第2の携帯端末20Bが第2の動画201Bの各フレーム画像に付与したタイムコードとが完全に正確な時刻ならば、時刻tのタイムコードが付与されたフレーム画像F1、F2を用いて、上述の方法でボールの3次元座標を正確に特定できる。
しかし、特許文献1に示すような球技映像解析に特化した専用カメラではなく、携帯端末に搭載されたカメラのような汎用的なカメラを用いる場合、第1の携帯端末20A及び第2の携帯端末20Bは、必ずしも正確なタイムコードを付与できるとは限らない。以下、その理由を説明する。
球技に係るスポーツのボールは高速に移動するため、ボールの3次元位置を特定するためには、例えば30fps以上の高フレームレートで撮影し、第1の携帯端末20Aが撮影したフレーム画像と第2の携帯端末20Bが撮影したフレーム画像との間にミリ秒単位の同期精度が求められる。
ここで、NTP(Network Time Protocol)を使用して第1の携帯端末20A及び第2の携帯端末20Bの内部クロックを同期させることが考えられる。しかし、NTPの同期精度は秒単位であるため、第1の携帯端末20Aの内部クロックと第2の携帯端末20Bの内部クロックとの間にミリ秒単位の同期ずれが生じる可能性がある。よって、この方法では、高速に移動するボールの3次元座標を十分な精度で特定できない場合がある。
または、GPS(Global Positioning System)といった衛星測位システムを使用して第1の携帯端末20A及び第2の携帯端末20Bの内部クロックを同期させることが考えられる。しかし、この方法では、GPS機能を搭載していない携帯端末のカメラは使用できなくなってしまう。また、屋内施設等においてGPS信号が受信できない場合に、第1の携帯端末20Aの内部クロックと第2の携帯端末20Bの内部クロックとの間に同期ずれが生じてしまう可能性がある。よって、この方法では、高速に移動するボールの3次元座標を十分な精度で特定できない場合がある。
または、第1の携帯端末20A及び/又は第2の携帯端末20Bがタイムコードを付与する際に、同期ずれが発生してしまう可能性がある。例えば、第1の携帯端末20Aよりも第2の携帯端末20Bの処理性能が低い場合は、携帯端末20Bのタイムコード付与の処理負荷が大きく、全体的に第1の携帯端末20Aよりも少し遅いタイムコードを付与してしまう可能性がある。この場合、フレーム画像F1とフレーム画像F2のタイムコードが同じであっても、フレーム画像F2は、実際にはフレーム画像F1よりも少し以前に撮影されたものになることがある。この少し以前に撮影されたフレーム画像F2では、ボールの位置がB3となり、図2に示すように、ボールの3次元座標もPbにずれてしまう。よって、算出されるボールの移動軌跡もずれてしまう。
そこで、本実施の形態に係る球技映像解析装置100は、第1の携帯端末20Aと第2の携帯端末20Bとの間のフレーム画像の同期ずれを特定する機能を有する。そして、球技映像解析装置100は、その特定した同期ずれを考慮してボールの移動軌跡を算出する。これにより、特許文献1に示すような球技映像解析に特化した専用カメラではなく、携帯端末に搭載されたカメラのような汎用的なカメラを用いても、ボールの移動軌跡を算出できる。以下、詳細に説明する。
<球技映像解析装置の構成>
図3は、本実施の形態に係る球技映像解析装置100の構成例を示すブロック図である。
球技映像解析装置100は、動画受信部101、画像変換部102、基準フレーム特定部103、基準フレーム変更部104、軌跡解析部105、及び、結果表示部106を備える。
動画受信部101は、第1の携帯端末20Aから第1の動画201Aを受信し、第2の携帯端末20Bから第2の動画201Bを受信する。動画のフォーマットの例は、MPEG4、TSファイル、H.264、H.265等である。第1の動画201Aを構成する各フレーム画像には、第1の携帯端末20Aによってタイムコードが付与されている。第2の動画201Bを構成する各フレーム画像には、第2の携帯端末20Bによってタイムコードが付与されている。図1にて説明したとおり、第1の動画201A及び第2の動画201Bには、例えば、プレイヤーがサーブを打つシーンが撮影される。
画像変換部102は、第1の動画201Aの各フレーム画像を静止画に変換し、第1のフレーム画像群202Aを生成する。画像変換部102は、第2の動画201Bの各フレーム画像を静止画に変換し、第2のフレーム画像群202Bを生成する。静止画のフォーマットの例は、JPEG、GIF、TIFF等である。
基準フレーム特定部103は、第1のフレーム画像群202A及び第2のフレーム画像群202Bの中から、それぞれ、フレーム同期のための基準となるフレーム画像(以下「基準フレーム画像」という)を特定する。以下、第1のフレーム画像群202Aの中から特定された基準フレーム画像を第1の基準フレーム画像といい、第2のフレーム画像群202Bの中から特定された基準フレーム画像を第2の基準フレーム画像という。
基準フレーム特定部103は、アクションを構成する特定のサブアクションが撮影されたフレーム画像を、基準フレーム画像として特定する。例えば、基準フレーム特定部103は、サーブ(アクション)の一連の動作が撮影されたフレーム画像群のうち、サーブを打った手がボールに当たった瞬間(サブアクション)が撮影されたフレーム画像を、基準フレーム画像として特定する。次に、図4を参照して、基準フレーム画像を特定する方法の一例を説明する。
図4に示すように、基準フレーム特定部103は、第1のフレーム画像群202Aに対してボールの検出領域211Aを設定する。基準フレーム特定部103は、第2のフレーム画像群202Bに対してボールの検出領域211Bを設定する。これにより、ボールの検出領域が小さくなるので、ボールの検出処理に要する時間を短縮できる。なお、当該ボールの検出領域の設定は行われなくてもよい。
基準フレーム特定部103は、公知の方法によって、第1のフレーム画像群202Aの各フレーム画像からボールを検出する。例えば、基準フレーム特定部103は、パターンマッチングによってフレーム画像からボールを検出する。あるいは、基準フレーム特定部103は、ボール検出用に予め学習されたディープラーニングを用いて、フレーム画像からボールを検出する。基準フレーム特定部103は、同様に、第2のフレーム画像群202Bの各フレーム画像からもボールを検出する。
基準フレーム特定部103は、第1のフレーム画像群202Aの各フレーム画像から検出したボールの位置に基づいて、ボールの2次元の移動軌跡を算出する。そして、基準フレーム特定部103は、そのボールの2次元の移動軌跡の変化に基づいて、第1の基準フレーム画像を特定する。例えば、基準フレーム特定部103は、次のS11〜S13の処理により第1の基準フレーム画像を特定する。
(S11)基準フレーム特定部103は、第1のフレーム画像群202Aから、ボールのX方向の移動量が所定の閾値以上である(つまりボールが横方向に大きく移動した)第1のフレーム画像を抽出する。これにより、サーブを打った手がボールに当たった直後の、ボールがネット方向に飛んでいる第1のフレーム画像を抽出できる。
(S12)基準フレーム特定部103は、S11で抽出した第1のフレーム画像より以前の一定期間に含まれる複数の第1のフレーム画像のうち、ボールのY軸方向の移動量が所定の閾値以上変化し、かつ、S11で抽出した第1のフレーム画像に最も近い第1のフレーム画像を特定する。これにより、サーブのために投げ上げられたボールが上昇中又は落下中である複数の第1のフレーム画像のうち、サーブを打った手がボールに当たった瞬間の第1のフレーム画像を特定できる。
(S13)基準フレーム特定部103は、S12で特定した第1のフレーム画像を、第1の基準フレーム画像とする。
基準フレーム特定部103は、上記と同様の処理により、第2の基準フレーム画像を特定する。そして、基準フレーム特定部103は、第1の基準フレーム画像に対応するタイムコード(以下「第1の基準タイムコード」という)と、第2の基準フレーム画像に対応するタイムコード(以下「第2の基準タイムコード」という)とを、同期ずれ情報203に書き込む。
なお、基準フレーム特定部103は、サーブとは異なるアクション及びサブアクションによって基準フレーム画像を特定してもよい。例えば、基準フレーム特定部103は、プレイヤーのアタック(又はディグ、レセプション、トス、ブロック等)を行った手がボールに当たった瞬間が撮影されているフレーム画像を、基準フレーム画像としてもよい。
また、基準フレーム特定部103は、第1の基準タイムコードから第2の基準タイムコードを差し引いた値(以下「同期時間差」という)を、同期ずれ情報203に書き込んでもよい。この同期ずれ情報203に書き込まれた同期時間差は、第1の携帯端末20Aと第2の携帯端末20Bとの間のフレーム画像の同期ずれの大きさに相当する。例えば、同期時間差がほぼ0の場合、第1の携帯端末20Aが付与するタイムコードと、第2の携帯端末20Bが付与するタイムコードとは、ほとんどずれない傾向にあることを示す。同期時間差が正値の場合、第2の携帯端末20Bが付与するタイムコードは、第1の携帯端末20Aが付与するタイムコードよりも遅れる傾向にあることを示す。同期時間差が負値の場合、第1の携帯端末20Aが付与するタイムコードは、第2の携帯端末20Bが付与するタイムコードよりも遅れる傾向にあることを示す。
図3の説明に戻る。
基準フレーム特定部103が上述した方法によって自動的に特定した基準フレーム画像は、必ずしも正しい基準フレーム画像であるとは限らない。そこで、基準フレーム特定部103は、ユーザが基準フレーム画像を確認するためのUI(User Interface)(以下「基準フレーム確認用UI」という)310を提供する。なお、基準フレーム確認用UI310の詳細については後述する(図8参照)。
基準フレーム変更部104は、ユーザが基準フレーム画像を変更するためのUI(以下「基準フレーム変更用UI」という)320を提供する。なお、基準フレーム変更用UI320の詳細については後述する(図9参照)。基準フレーム変更部104は、基準フレーム変更用UI320を通じて基準フレーム画像が変更された場合、その変更された基準フレーム画像に基づいて、同期ずれ情報203を変更する。
軌跡解析部105は、例えばプレイヤーによるサーブのアクションを撮影した第1の動画201A及び第2の動画201Bから、同期ずれ情報203を用いて、アクションに係るボールの3次元空間における移動軌跡を特定し、そのボールの移動軌跡を示す情報を含む解析結果情報204を生成する。なお、軌跡解析部105が解析対象とする第1の動画201A及び第2の動画201Bは、上述した同期ずれ情報203を生成するために撮影された第1の動画201A及び第2の動画201Bと異なるものであってよい。
例えば、軌跡解析部105は、事前にキャリブレーション処理により求めた第1の携帯端末20A及び第2の携帯端末20Bの各々のカメラパラメータ(世界座標をカメラ画像に変換するための透視投影変換行列による)と、第1のフレーム画像におけるボールの位置と、同期ずれ情報203によって補正された、当該第1のフレーム画像に同期する第2のフレーム画像におけるボールの位置とに基づいて、当該第1のフレーム画像及び第2のフレーム画像が撮影されたタイミングにおけるボールの3次元座標を特定する。軌跡解析部105は、このように特定したボールの3次元座標を時系列に並べることにより、3次元空間におけるボールの移動軌跡を特定する。軌跡解析部105は、その特定したボールの移動軌跡を示す情報を含む解析結果情報204を生成する。これにより、球技映像解析に特化した専用カメラではなく、携帯端末に搭載されたカメラを用いても、十分な精度で3次元空間におけるボールの移動軌跡を解析できる。
結果表示部106は、解析結果情報204を、例えば表示端末30に表示させる。なお、結果表示部106は、第1の携帯端末20A及び/又は第2の携帯端末20Bに解析結果情報204を表示させてもよい。
<事前作業>
図5は、事前作業の一例を示すフローチャートである。事前作業とは、軌跡解析部105によって本番のアクションの解析を行う前に行われる作業であり、例えば、同期ずれ情報203を生成するために行われる作業である。
ユーザは、プレイヤー及びボールを互いに異なる方向から撮影できる位置に第1の携帯端末20A及び第2の携帯端末20Bをそれぞれ設置する(S101)。
ユーザは、第1の携帯端末20A及び第2の携帯端末20Bをペアリングする(S102)。ペアリングの情報は、球技映像解析装置100へ送信されてよい。
ユーザは、第1の携帯端末20A及び第2の携帯端末20Bに対して、事前作業に係る撮影の開始を指示する(S103)。これにより、第1の携帯端末20A及び第2の携帯端末20Bは、撮影を開始する。
プレイヤーはサーブを打つ(S104)。これにより、第1の携帯端末20A及び第2の携帯端末20Bは、それぞれ、プレイヤーがサーブを打ってボールが飛んでいく第1の動画201A及び第2の動画201Bを撮影できる。なお、ユーザとプレイヤーは同一人物であってもよい。
ユーザは、第1の携帯端末20A及び第2の携帯端末20Bに対して、事前作業に係る撮影の停止を指示する(S105)。第1の携帯端末20A及び第2の携帯端末20Bは、それぞれ、撮影の停止の指示を受け、第1の動画201A及び第2の動画201Bを球技映像解析装置100へ送信する。球技映像解析装置100は、第1の動画201Aから第1の基準フレーム画像を、第2の動画201Bから第2の基準フレーム画像を特定し、基準フレーム確認用UI310を表示端末30に表示させる。
ユーザは、表示端末30に表示された基準フレーム確認用UI310から、第1の基準フレーム画像及び第2の基準フレーム画像を確認する(S106)。ユーザは、例えば、基準フレーム画像を変更する場合、基準フレーム確認用UI310を通じて、球技映像解析装置100に対して、基準フレーム画像の変更を指示する。この場合、球技映像解析装置100は、基準フレーム変更用UI320を表示端末30に表示させる。
なお、上記のS103、S105における撮影の開始及び停止の指示は、どちらか一方の携帯端末から行うことができてよい。例えば、第1の携帯端末20Aから撮影の開始及び停止の指示が行われた場合、この撮影の開始及び指示は、球技映像解析装置100を介して、第2の携帯端末20Bに自動で送信されてよい。
ユーザは、表示端末30に表示された基準フレーム変更用UI320を操作して、基準フレーム画像を変更する(S107)。なお、S106及びS107の詳細については後述する(図7、図8参照)。
以上の処理により、球技映像解析装置100は、ユーザによって確認及び修正された第1の基準フレーム画像及び第2の基準フレーム画像に基づいて、同期ずれ情報203を生成できる。
<事前作業に関する処理>
図6は、事前作業に関する処理の一例を示すシーケンスチャートである。図6は、図5におけるS106〜S107の詳細な説明に相当する。
動画受信部101は、第1の携帯端末20Aから第1の動画201Aを受信し(S201)、第2の携帯端末20Bから第2の動画201Bを受信する(S202)。
画像変換部102は、第1の動画201Aから第1のフレーム画像群202Aを生成し、第2の動画201Bから第2のフレーム画像群202Bを生成する(S203)。
基準フレーム特定部103は、第1のフレーム画像群202Aの中から、アクションを構成する特定のサブアクションが撮影された第1の基準フレーム画像を探索する(S204)。例えば、基準フレーム特定部103は、前述のように、ボールの2次元(X方向、Y方向)の移動軌跡の変化に基づいて、プレイヤーのサーブを打った手がボールに当たった瞬間が撮影された第1の基準フレーム画像を探索する。
基準フレーム特定部103は、上記同様、第2のフレーム画像群202Bの中から、第2の基準フレーム画像を探索する(S205)。このとき、基準フレーム特定部103は、第1の基準フレーム画像のタイムコードから所定時間遡ったタイムコード以降の第2のフレーム画像群202Bを、第2の基準フレーム画像の探索範囲としてよい。これにより、第2のフレーム画像群202Bのすべてを探索範囲とする場合と比較して、探索に要する時間を短縮できる。
基準フレーム特定部103は、第1の基準フレーム画像のタイムコード(第1の基準タイムコード)、及び、第2の基準フレーム画像のタイムコード(第2の基準タイムコード)を、同期ずれ情報203に書き込む(S206)。
基準フレーム変更部104は、第1の基準フレーム画像及び第2の基準フレーム画像、並びに、基準フレーム確認用UI310を表示するための情報を、表示端末30に送信する(S207)。
表示端末30は、第1の基準フレーム画像、第2の基準フレーム画像、及び、基準フレーム確認用UI310を表示する(S208)。なお、基準フレーム確認用UI310の詳細については後述する(図8参照)。
S208にて表示された基準フレーム確認用UI310に対して、ユーザが、基準フレーム画像を変更しない旨の操作を行った場合、表示端末30は、変更なしを示す指示情報を球技映像解析装置100に送信する(S209)。
基準フレーム変更部104は、変更なしを示す指示情報を受信した場合、S206にて書き込まれた同期ずれ情報203の内容を確定する(S210)。そして、球技映像解析装置100は本処理を終了する。
図7は、図6において基準フレーム画像を変更する旨の操作が行われた場合の事前作業に関する処理の一例を示すシーケンスチャートである。
S208にて表示された基準フレーム確認用UI310に対して、ユーザが基準フレーム画像を変更する旨の操作を行った場合、表示端末30は、変更ありを示す指示情報を、球技映像解析装置100に送信する(S221)。
基準フレーム変更部104は、変更ありを示す指示情報を受信した場合、次の処理を行う。すなわち、基準フレーム変更部104は、第1のフレーム画像群202Aから、S204で探索した第1の基準フレーム画像の前後に撮影された複数の第1のフレーム画像を抽出し、それら抽出した複数の第1のフレーム画像を、第1の基準フレーム画像の候補とする。
同様に、基準フレーム変更部104は、第2のフレーム画像群202Bから、S205で探索した第2の基準フレーム画像の前後に撮影された複数の第2のフレーム画像を抽出し、それら抽出した複数の第2のフレーム画像を、第2の基準フレーム画像の候補とする。そして、基準フレーム変更部104は、複数の第1の候補フレームの候補とこれらのタイムコード、複数の第2の基準フレーム画像の候補とこれらのタイムコード、及び、基準フレーム変更用UI320を表示するための情報を、表示端末30に送信する(S222)。
表示端末30は、基準フレーム変更用UI320を表示する(S223)。なお、基準フレーム変更用UI320の詳細については後述する(図9参照)。
ユーザは、S223にて表示された基準フレーム変更用UI320を操作して、複数の第1の基準フレーム画像の候補の中から、変更後の第1の基準フレーム画像を選択し、複数の第2の基準フレーム画像の候補の中から、変更後の第2の基準フレーム画像を選択する(S224)。
表示端末30は、S224にて選択された、変更後の第1の基準フレーム画像のタイムコード(以下「変更後の第1の基準タイムコード」という)、及び/又は、変更後の第2の基準フレーム画像のタイムコード(以下「変更後の第2の基準タイムコード」という)を、球技映像解析装置100に送信する(S225)。
基準フレーム変更部104は、表示端末30から受信した、変更後の第1の基準タイムコード、及び/又は、変更後の第2の基準タイムコードを、同期ずれ情報203に上書きし、当該同期ずれ情報203の内容を確定する(S226)。これにより、基準フレーム特定部103によって自動的に生成された同期ずれ情報203の内容が、基準フレーム変更部104を通じてユーザによって変更された基準フレーム画像のタイムコードにて上書きされる。そして、球技映像解析装置100は本処理を終了する。
<基準フレーム確認用UIの詳細>
図8は、基準フレーム確認用UIの詳細例を示す図である。
図8に示すように、基準フレーム確認用UI310は、第1の画像表示領域210A、第2の画像表示領域210B、OKボタン312、変更ボタン313、及び、やり直しボタン314を含む。なお、基準フレーム確認用UI310は、変更ボタン313又はやり直しボタン314の何れか一方を含まなくてもよい。
表示端末30は、第1の画像表示領域210Aに、図6のS207にて球技映像解析装置100から送信された第1の基準フレーム画像を表示する。表示端末30は、第2の画像表示領域210Bに、図6のS207にて球技映像解析装置100から送信された第2の基準フレーム画像を表示する。図8に示すように、第1の画像表示領域210Aと第2の画像表示領域210Bは、左右に並べて配置されてよい。ただし、第1の画像表示領域210Aと第2の画像表示領域210Bの配置態様は、左右に並べられる配置に限られない。例えば、第1の画像表示領域210Aと第2の画像表示領域210Bは、別々のウィンドウとして表示されてもよい。
表示端末30は、OKボタン312が押下された場合、図6のS209における変更なしを示す指示情報を、球技映像解析装置100に送信する。ユーザは、第1の画像表示領域210Aに表示された第1の基準フレーム画像と、第2の画像表示領域210Bに表示された第2の基準フレーム画像とのいずれもが、正しくサブアクションが撮影された画像である場合、OKボタン312を押下してよい。これにより、図6のS210に示すように、同期ずれ情報203の内容が確定される。
表示端末30は、変更ボタン313が押下された場合、図7のS221における変更ありを示す指示情報を、球技映像解析装置100に送信する。ユーザは、第1の画像表示領域210Aに表示された第1の基準フレーム画像と、第2の画像表示領域210Bに表示された第2の基準フレーム画像とのうちの少なくとも一方が、正しくサブアクションが撮影された画像でない場合、変更ボタン313を押下してよい。これにより、図7のS223に示すように、表示端末30には、基準フレーム変更用UI320が表示される。
表示端末30は、やり直しボタン314が押下された場合、事前作業のやり直しを示す指示情報を球技映像解析装置100に送信する。この指示を受信した場合、球技映像解析装置100、第1の携帯端末20A及び第2の携帯端末20Bは、図5のS103から事前作業をやり直す。例えば、S104のサーブに失敗した場合、第1の基準フレーム画像及び/又は第2の基準フレーム画像が明らかにプレイヤーによるサーブのボールとは別のボール(例えば床に転がっているボールや他のプレイヤーが練習中のボール等)を認識したものである場合、ユーザは、やり直しボタン314を押下してよい。
なお、第1の基準フレーム画像には、S204にて探索された第1の基準フレーム画像の直前の3枚の第1のフレーム画像と、当該第1の基準フレームの直後の3枚の第1のフレーム画像とが含まれてよい。この場合、第1の基準フレーム画像は、S204にて探索された第1の基準フレーム画像も含めて、合計7枚となる。同様に、第2の基準フレーム画像には、S205にて探索された第2の基準フレーム画像の直前の3枚の第2のフレーム画像と、当該第2の基準フレーム画像の直後の3枚の第2のフレーム画像とが含まれてよい。この場合、第2の基準フレーム画像は、S205にて探索された第2の基準フレーム画像も含めて、合計7枚となる。
この場合、表示端末30は、第1の画像表示領域210A及び第2の画像表示領域210Bにおいて、それぞれ、7枚の第1の基準フレーム画像、及び、7枚の第2の基準フレーム画像を、同期させて連続的に表示してもよい。
なお、上記の7枚は一例であり、複数の第1及び第2の基準フレーム画像の枚数はいくつであってもよい。また、複数の第1及び第2の基準フレーム画像は、1フレームずつ連続する場合に限られず、所定のフレーム間隔でスキップされたものであってもよい。
これにより、ユーザは、1枚の第1の基準フレーム画像と第2の基準フレーム画像との間の同期を確認するだけでなく、複数枚の第1の基準フレーム画像と第2の基準フレーム画像との間の同期を容易に確認することができる。
なお、図8に示した基準フレーム確認用UI310を表示端末30へ表示する例を示したが、この基準フレーム確認用UI310を、第1の携帯端末20A又は第2の携帯端末20Bのいずれか一方に表示させてもよい。あるいは、第1の基準フレーム画像に対する基準フレーム確認用UI310を第1の携帯端末20Aに表示させ、第2の基準フレーム画像に対する基準フレーム確認用UI310を第2の携帯端末20Bに表示させてもよい。
<基準フレーム変更用UIの詳細>
図9は、基準フレーム変更用UIの詳細例を示す図である。
図9に示すように、基準フレーム変更用UI320は、第1の画像表示領域210A、第2の画像表示領域210B、OKボタン322、及び、戻りボタン323を含む。さらに、基準フレーム変更用UI320は、第1の画像表示領域210Aに対応する、1フレーム戻りボタン324A、Nフレーム戻りボタン325A、1フレーム進みボタン326A、Nフレーム進みボタン327Aを含む。ここで、Nは2以上の予め定められた整数である。さらに、基準フレーム変更用UI320は、第2の画像表示領域210Bに対応する、1フレーム戻りボタン324B、Nフレーム戻りボタン325B、1フレーム進みボタン326B、Nフレーム進みボタン327Bを含む。
表示端末30は、戻りボタン323が押下された場合、図8に示す基準フレーム確認用UI310の表示に戻る。
表示端末30は、1フレーム戻りボタン324Aが押下された場合、第1の画像表示領域210Aに表示中の第1の基準フレーム画像の候補よりも1フレーム以前の第1の基準フレーム画像の候補を、第1の画像表示領域210Aに表示する。なお、第2の画像表示領域210Bに対応する1フレーム戻りボタン324Bについても同様である。
表示端末30は、Nフレーム戻りボタン325Aが押下された場合、第1の画像表示領域210Aに表示中の第1の基準フレーム画像の候補よりもNフレーム以前の第1の基準フレーム画像の候補を、第1の画像表示領域210Aに表示する。なお、第2の画像表示領域210Bに対応するNフレーム戻りボタン325Bについても同様である。
表示端末30は、1フレーム進みボタン326Aが押下された場合、第1の画像表示領域210Aに表示中の第1の基準フレーム画像の候補よりも1フレーム以後の第1の基準フレーム画像の候補を、第1の画像表示領域210Aに表示する。なお、第2の画像表示領域210Bに対応する1フレーム進みボタン326Bについても同様である。
表示端末30は、Nフレーム進みボタン327Aが押下された場合、第1の画像表示領域210Aに表示中の第1の基準フレーム画像の候補よりもNフレーム以後の第1の基準フレーム画像の候補を、第1の画像表示領域210Aに表示する。なお、第2の画像表示領域210Bに対応するNフレーム進みボタン327Bについても同様である。
ユーザは、第1の画像表示領域210A及び第2の画像表示領域210Bのいずれにも、正しくサブアクションが撮影された画像が表示されるように、上述した各ボタン324A〜327A、324B〜327Bを操作してよい。
表示端末30は、OKボタン322が押下された場合、第1の画像表示領域210Aに表示中の第1の基準フレーム画像の候補のタイムコード(変更後の第1の基準タイムコード)、及び、第2の画像表示領域210Bに表示中の第2の基準フレーム画像の候補のタイムコード(変更後の第2の基準タイムコード)を、球技映像解析装置100へ送信する。この処理は、図7のS225に相当する。ユーザは、第1の画像表示領域210A及び第2の画像表示領域210Bのいずれにも正しくサブアクションが撮影された画像が表示されるように操作した後、OKボタン322を押下してよい。
<解析結果画面>
図10は、解析結果の表示例を示す図である。
第1の携帯端末20A及び第2の携帯端末20Bは、プレイヤーのサーブの練習を撮影し、それぞれ、第1の動画201A及び第2の動画201Bを生成及び送信する。なお、この第1の動画201A及び第2の動画201Bは、事前作業のために撮影された第1の動画201A及び第2の動画201Bとは異なるものであってよい。
軌跡解析部105は、サーブの練習が撮影された第1の動画201A及び第2の動画201Bとの間のフレーム画像の同期ずれを同期ずれ情報203に基づいて補正した上で、ボールの移動軌跡を解析し、解析結果情報204を生成する。例えば、同期ずれ情報203において、第2の基準タイムコードが第1の基準タイムコードよりも以後である場合、軌跡解析部105は、第2の基準タイムコードと第1の基準タイムコードとの間の差分時間の分、第1の動画201Aの各フレーム画像を遅らせる補正を行った上で、第1の動画201の各フレーム画像と第2の動画201Bの各フレーム画像とを同期させて、ボールの移動軌跡を解析する。これにより、第2の携帯端末20Bによるタイムコード付与の遅れが補正され、十分な精度のボールの移動軌跡を算出できる。
結果表示部106は、解析結果情報204に基づく解析結果画面330を、表示端末30に表示させる。例えば、解析結果画面330には、図10に示すように、第1の動画201A又は第2の動画201Bの再生に対して、解析結果情報204が示すボールの移動軌跡331が重畳表示されてよい。加えて、解析結果画面330には、手で打たれたボールが手から離れた瞬間のボールの高さ及び速度が表示されてもよい。加えて、解析結果画面330には、ボールがネット上を通過する瞬間のボールの高さ及び速度が表示されてもよい。
これにより、プレイヤーは、解析結果画面330から、サーブのときの体の動きに加えて、そのサーブによるボールの移動軌跡を詳細に確認できる。
なお、上述では、事前作業として、予め同期調整用の動画を撮影し、同期調整及び確認を行ってから、解析処理用の動画を撮影して、ボールの軌跡等が重畳された動画を解析結果として表示させる例を説明した。しかし、本実施の形態は、同期調整用の動画と解析処理用の動画とを区別することなく、例えば、最初に撮影した動画において、連続して同期調整と解析処理とを行う構成であってもよい。さらに、同期ずれの検出を自動化し、順次撮影した動画に対する解析処理を行う中、任意のタイミングで同期調整を実行するようにしてもよい。
<変形例>
上述では、フレーム同期のずれを示す情報として、第1の携帯端末20Aが第1のフレーム画像に付与した第1のタイムコードと、第2の携帯端末20Bが第2のフレーム画像に付与した第2のタイムコードとを用いる例を説明した。しかし、フレーム同期のずれを示す情報は、タイムコードに限られない。
例えば、フレーム同期のずれを示す情報として、第1の携帯端末20Aが生成した第1の動画201Aにおける第1のフレーム画像のフレーム番号(以下「第1のフレーム番号」という)と、第2の携帯端末20Bが生成した第2の動画201Bにおけるフレーム画像(以下「第2のフレーム番号」という)とを用いてもよい。この場合、基準フレーム特定部103は、第1の基準フレーム画像の第1のフレーム番号(以下「第1の基準フレーム番号」という)と、第2の基準フレーム画像の第2のフレーム番号(以下「第2の基準フレーム番号」という)とを、同期ずれ情報203に書き込んでよい。そして、基準フレーム変更部104は、基準フレーム変更用UI320を通じて選択された、変更後の第1の基準フレーム画像のフレーム番号(以下「変更後の第1の基準フレーム番号」という)、及び/又は、変更後の第2の基準フレーム画像のフレーム番号(以下「変更後の第2の基準フレーム番号」という)を、同期ずれ情報203に上書きしてもよい。
(実施の形態2)
実施の形態2では、球技を行う人物(プレイヤー)のアクションを撮影した複数の動画の中から対象動画および比較動画をそれぞれ特定して、アクションの習熟度やフォームの改善点などを把握できる球技映像解析システムについて説明する。なお、実施の形態2では、実施の形態1と共通する構成要素については、同一の参照番号を付し、説明を省略する場合がある。
また、実施の形態2では、プレイヤーによるアクションの練習がバレーボールのサーブの練習である場合を例に説明する。しかし、実施の形態2は、この例に限らず、テニスのサーブ又はボレーの練習、バドミントンのサーブ又はスマッシュの練習、サッカーのヘディングの練習、野球のバッティングの練習、ゴルフのスイングの練習といった様々なアクションの練習に適用可能である。
<球技映像解析システムの構成>
図11は、実施の形態2に係る球技映像解析システム10の構成例を示す図である。
実施の形態2に係る球技映像解析システム10は、図1に示した実施の形態1に係る球技映像解析システム10と同様である。ただし、図11に示すように、第1の携帯端末20A(のカメラ)は、コートの一方のサイドのネットの近くに、サーブを行うプレイヤーに向かって設置されてよい。第2の携帯端末20B(のカメラ)は、コートの他方のサイドのネットの近くに、サーブを行うプレイヤーに向かって設置されてよい。
また、実施の形態2にて説明する球技映像解析システム10は、実施の形態1にて説明した方法によって同期ずれ等が補正されるように構成されてよい。
<球技映像解析装置の構成>
図12は、実施の形態2に係る球技映像解析装置100の構成例を示すブロック図である。
図12に示すように、球技映像解析装置100は、動画受信部101、軌跡解析部105、姿勢解析部131、サブアクション解析部132、記録管理部133、及び、表示制御部134を有する。
動画受信部101は、第1の携帯端末20Aから第1の動画201Aを受信し、第2の携帯端末20Bから第2の動画201Bを受信する。第1の動画201A及び第2の動画201Bには、例えば、プレイヤーがサーブを行うシーンが撮影される。
軌跡解析部105は、例えば特許文献1に開示されている技術を用いて、第1の動画201A及び第2の動画201Bから、ボールの移動軌跡を特定し、軌跡情報220を生成する。軌跡情報220は、動画のある時点のタイムコードと、当該タイムコードのときのボールの3次元位置との対応関係を示す複数の情報を含む。
姿勢解析部131は、第1の動画201A及び第2の動画201Bに基づいて、アクションが行われた期間におけるプレイヤーの姿勢を示す姿勢モデル情報221を生成する。例えば、姿勢解析部131は、第1の動画201A及び第2の動画201Bから、公知の関節推定技術を用いて、プレイヤーの所定の各関節の3次元位置(以下「関節位置」という)と、当該各関節位置の動きとを特定する。姿勢解析部131は、その特定した各関節位置と当該各関節位置の動きとを示す情報を、姿勢モデル情報221として生成する。なお、姿勢モデル情報221の詳細については後述する(図14参照)。
サブアクション解析部132は、軌跡情報220及び/又は姿勢モデル情報221に基づいて、第1の動画201A及び第2の動画201Bに撮影されたアクションを構成する各サブアクションを解析する。そして、サブアクション解析部132は、その解析した各サブアクションの発生タイミングを示すサブアクション情報222を生成する。例えば、バレーボールのアクションの一例であるジャンピングサーブは、「助走」、「トス」、「ジャンプ」、及び、サーブを打った手がボールに当たったことを意味する「ヒット」といった一連のサブアクションにて構成される。なお、サブアクションの詳細については後述する(図15参照)。
記録管理部133は、複数の記録情報200を管理する。記録情報200は、第1の動画201A及び第2の動画201Bの撮影日時と、当該第1の動画201A及び第2の動画201Bと、当該第1の動画201A及び第2の動画201Bから生成された軌跡情報220、姿勢モデル情報221及びサブアクション情報222との対応関係を示す情報である。すなわち、記録情報200は、ある日時にプレイヤーが行ったアクションが撮影された動画と、その動画から生成された軌跡情報220、姿勢モデル情報221及びサブアクション情報222との対応関係を示す情報であるともいえる。
表示制御部134は、記録管理部133において管理される複数の記録情報200の中から軌跡情報220に基づいて記録情報200を選択するためのUIを、表示端末30に表示させる。また、表示制御部134は、当該UIを通じて選択された記録情報200において対応関係にある第1の動画201A又は第2の動画201Bを、表示端末30に表示させる。
また、表示制御部134は、表示端末30に表示されたUIを通じて、記録管理部133にて管理される複数の記録情報200の中から、例えば第1の記録情報200A(図13参照)及び第2の記録情報200B(図13参照)が選択された場合、次の処理を行ってよい。すなわち、表示制御部134は、第1の記録情報200Aにおいて対応関係にある第1の動画201A又は第2の動画201Bと、第2の記録情報200Bにおいて対応関係にある第1の動画201A又は第2の動画201Bとを並べて表示するUI(以下「映像比較用UI」という)400Aを、表示端末30に表示させてよい。なお、映像比較用UI400Aの詳細については後述する(図16及び図17参照)。
また、表示制御部134は、表示端末30に表示された映像比較用UI400Aを通じて、記録管理部133にて管理される複数の記録情報200の中から、例えば第1の記録情報200A及び第2の記録情報200Bが選択された場合、次の処理を行ってよい(図14参照)。すなわち、表示制御部134は、第1の記録情報200Aにおいて対応関係にある姿勢モデル情報221から生成された第1の姿勢モデル231Aと、第2の記録情報200Bにおいて対応関係にある姿勢モデル情報221から生成された第2の姿勢モデル231Bとを、並べて又は重ねて表示するUI(以下「姿勢比較用UI」という)400Cを、表示端末30に表示させてよい。なお、姿勢比較用UI400Cの詳細については後述する(図18〜図21参照)。
また、表示制御部134は、第1の記録情報200Aにおいて対応関係にある軌跡情報220から生成された移動体(ボール)の移動軌跡241Aと、第2の記録情報200Bにおいて対応関係にある軌跡情報220から生成された移動体(ボール)の移動軌跡241Bとを、姿勢比較用UI400Cにおいて、姿勢モデル231A、231Bと共に表示端末30に表示させてよい(図18〜図21参照)。
また、表示制御部134は、複数のサブアクションのうちの1つのサブアクションを選択可能なサブアクション選択UI(447)を表示端末30に表示させてよい。そして、表示制御部134は、サブアクション選択UI(447)を通じて選択された1つのサブアクションの発生タイミングにおける姿勢モデル231A、231Bを、姿勢比較用UI(400D)において、表示端末30に表示させてよい(図20参照)。
<表示端末の構成>
図13は、実施の形態2に係る表示端末30の構成例を示すブロック図である。
表示端末30は、情報送受信部151、及び、UI制御部152を有する。
情報送受信部151は、球技映像解析装置100と、通信ネットワークNを通じて、情報を送受信する。例えば、情報送受信部151は、球技映像解析装置100から、複数の記録情報200(例えば第1の記録情報200A及び第2の記録情報200B)を受信する。
UI制御部152は、球技映像解析装置100の表示制御部134と連携して、映像比較用UI400A及び姿勢比較用UI400C等を、出力装置1002(図23参照)の一例であるディスプレイに表示する。また、UI制御部152は、入力装置1001(図23参照)の一例であるタッチパネルを通じて、当該UIに対するユーザからの入力を検出する。UI制御部152は、UIに対する入力を検出した場合、当該入力内容を、情報送受信部151を通じて、球技映像解析装置100へ送信する。
<姿勢モデルの詳細>
図14は、姿勢モデルの一例を説明するための図である。
姿勢モデル情報221には、プレイヤーの各関節位置と当該各関節位置の動きとを示す情報が含まれる。
例えば、表示制御部134又はUI制御部152は、第1の記録情報200Aにおいて対応関係にある姿勢モデル情報221を参照して、アクション期間のサブアクション「ジャンプ」のタイミングにおける各関節位置(図14の白丸及び黒丸)を特定する。同様に、表示制御部134又はUI制御部152は、第2の記録情報200Bにおいて対応関係にある姿勢モデル情報221を参照して、アクション期間のサブアクション「ジャンプ」のタイミングにおける各関節位置を特定する。そして、表示制御部134は、特定した各関節位置を人体の構造に基づいて線で結ぶことにより、図14に示すようなプレイヤーの姿勢モデル231A、231Bを生成する。姿勢モデル231A、231Bは3次元のモデルであるため、表示制御部134又はUI制御部152は、姿勢モデルを任意に3D回転などの操作により、3D空間上での視点を変えて表示させることができる。
また、表示制御部134又はUI制御部152は、図14に示すように、サブアクション「ジャンプ」のタイミングにおける、第1の姿勢モデル231Aと第2の姿勢モデル231Bとを、首の関節位置232A、232Bを基準に重ねて表示できる。
第1の姿勢モデル231A及び第2の姿勢モデル231Bは、同じプレイヤーが異なる日時に行ったサーブを撮影した動画に基づいて生成されたものであってよい。この場合、ユーザは、重畳表示された第1の姿勢モデル231A及び第2の姿勢モデル231Bから、同じプレイヤーが異なる日時に行ったサブアクション「ジャンプ」時の姿勢の違いを、視覚的に認識できる。よって、ユーザは、例えば、同じプレイヤーのサーブの上達を容易に確認できる。
第1の姿勢モデル231A及び第2の姿勢モデル231Bは、異なるプレイヤーが行ったサーブを撮影した動画に基づいて生成されたものであってよい。この場合、ユーザは、重畳表示された第1の姿勢モデル231A及び第2の姿勢モデル231Bから、異なるプレイヤーが行ったサブアクション「ジャンプ」時の姿勢の違いを、視覚的に認識できる。よって、ユーザは、例えば、手本となるプレイヤーと練習中のプレイヤーとの間のサーブ時の姿勢の違いを容易に確認できる。
また、姿勢モデル情報221を参照することにより、プレイヤーがジャンプしたタイミング、及び、プレイヤーがジャンプした際の最高到達点を特定できる。例えば、サブアクション解析部132は、プレイヤーの両足首の関節位置が地面から一定距離以上離れたタイミングを、プレイヤーがジャンプしたタイミングとして検出してもよい。例えば、サブアクション解析部132は、プレイヤーの首の関節位置232A、232Bが最高地点にあるタイミングを、プレイヤーのジャンプが最高地点に達したタイミングとして検出してもよい。
なお、姿勢モデル231A、231Bは、図14に示すような各関節位置を線で結んだモデルに限られない。例えば、姿勢モデル231A、231Bは、テクスチャマッピングされた3次元のCG(Computer Graphics)モデルであってもよい。
<サブアクションの解析>
図15は、ジャンピングサーブを構成するサブアクションを説明するための図である。
図15に示すように、バレーボールのアクションの一例であるジャンピングサーブは、「助走」、「トス」、「ジャンプ」、及び、サーブを打った手がボールに当たったことを意味する「ヒット」といった一連のサブアクションにて構成される。
サブアクション解析部132は、ボールの軌跡情報220及び/又はプレイヤーの姿勢モデル情報221に基づいて、各サブアクションが発生したタイミングのフレーム画像を特定する。
例えば、サブアクション解析部132は、ボールの軌跡情報220を参照して、ボールの移動軌跡が静止状態から上方への移動に変化したタイミングのフレーム画像を特定する。そして、サブアクション解析部132、その特定したフレーム画像が撮影されたタイミング(例えば時刻情報)を、サブアクション「トス」の発生タイミングとして、サブアクション情報222に書き込む。
例えば、サブアクション解析部132は、プレイヤーの姿勢モデル情報221を参照して、プレイヤーの両足首の関節位置が地面から一定距離以上離れたタイミングのフレーム画像を特定する。そして、サブアクション解析部132は、その特定したフレーム画像が撮影されたタイミングを、サブアクション「ジャンプ」の発生タイミングとして、サブアクション情報222に書き込む。
例えば、サブアクション解析部132は、ボールの軌跡情報220を参照して、ボールのネットに近づく方向の移動量が所定の閾値以上に変化したタイミングのフレーム画像を特定する。そして、サブアクション解析部132は、その特定したフレーム画像が撮影されたタイミングを、サブアクション「ヒット」の発生タイミングとして、サブアクション情報222に書き込む。
これにより、サブアクション情報222には、アクションを構成する各サブアクションが発生したタイミングを示す情報(例えば時刻情報)が書き込まれる。よって、サブアクション情報222を参照することにより、動画の中から、所望のサブアクションの時のフレーム画像を特定できる。また、サブアクション情報222を参照することにより、姿勢モデル情報221の中から、所望のサブアクションの時の姿勢モデルを特定できる。
<映像比較用UIの詳細>
図16は、映像比較用UI400Aの表示例を示す図である。映像比較用UI400Aは、比較用UIの一例であり、互いに異なる複数の記録情報200に係る動画を比較するためのUIである。
図16に示すように、映像比較用UI400Aは、選択リスト401A、401B、表示領域402A、402B、追加ボタン403、シークバー410、再生ボタン411、一時停止ボタン412、スロー再生ボタン413、繰り返しボタン414、並べるボタン415、拡大ボタン416、カメラ切替ボタン417、映像反転ボタン418、及び、3D切替ボタン419を含む。
選択リスト401A、401Bには、記録情報200に係る軌跡情報220から特定される情報が、リスト形式で表示される。軌跡情報220から特定される情報は、例えば、サーブにおける、ネット通過時のボールの高さ、スピード及び角度を示す情報を含む。選択リスト401、401Bの1つの行は、1つの記録情報200に対応してよい。
また、記録情報200には、アクション(例えばサーブ)の評価を示す情報が含まれてもよい。この場合、選択リスト401A、401Bには、図16に示すように、アクションの評価も表示されてよい。アクションの評価は、ユーザが手動で入力したものであってもよい。あるいは、アクションの評価は、ネット通過時におけるボールの高さ、スピード及び角度に基づいて、自動的に決定されたものであってよい。この場合、アクションの評価は、ネット通過時のボールの角度が所定の閾値以上であるか否かに基づいて決定されてもよい。ここで、アクションの評価で参照される閾値は、ユーザが任意に設定できるようにしてもよい。
表示領域402Aには、選択リスト401Aから選択された第1の記録情報200A(例えば図16の点で塗りつぶされた行)に関連する第1の動画201A又は第2の動画201Bが表示される。表示領域402Bには、選択リスト401Bから選択された第2の記録情報200B(例えば図16の点で塗りつぶされた行)に関連する第1の動画201A又は第2の動画201Bが表示される。
図16に示すように、映像比較用UI400Aにおいて、選択リスト401A及び表示領域402Aのセット(以下「第1のセット」という)と、選択リスト401B及び表示領域402Bのセット(以下「第2のセット」という)とは、並べて表示されてよい。これにより、ユーザは、選択リスト401A及び選択リスト401Bから、それぞれ、比較したい行(記録情報200)を選択し、表示領域402A、402Bにそれぞれ表示された、選択した行に関連する動画を、比較しながら視聴できる。
なお、第1のセットに含まれる選択リスト401Aには、第1の携帯端末20A及び第2の携帯端末20Bを用いて当日撮影した第1の動画201A及び第2の動画201Bから生成された記録情報200が、随時表示されてよい。
追加ボタン403が押下された場合、表示制御部134は、新規の選択リスト及び表示領域を含む新規セットを、映像比較用UI400Aに追加する。この場合、UI制御部152は、ユーザに対して、新規の選択リストに表示させる記録情報200の日付を問い合わせてもよい。そして、UI制御部152は、表示制御部134と連携して、ユーザから入力された日付を含む1又は複数の記録情報200を記録管理部133から取得し、その取得した記録情報200に基づいて、追加された新規セットの選択リストを表示してもよい。
シークバー410は、表示領域402A、402Bに表示されている動画の再生中の時間を示すバーである。ユーザがシークバー410のある位置を選択した場合、UI制御部152は、その選択された位置に対応する時間から動画を再生してよい。
再生ボタン411が押下された場合、UI制御部152は、表示領域402A、402Bに表示されている動画の再生を開始する。
一時停止ボタン412が押下された場合、UI制御部152は、表示領域402A、402Bに表示されている動画の再生を一時停止する。
スロー再生ボタン413が押下された場合、UI制御部152は、表示領域402A、402に表示されている動画をスロー再生(例えば1/2の速度で再生)する。
繰り返しボタン414が押下された場合、UI制御部152は、表示領域402A、402Bに表示されている動画を繰り返し再生する。なお、スロー再生ボタン413と繰り返しボタン414とは、併用可能であってよい。
映像比較用UI400A内の複数のセットが選択され、並べるボタン415が押下された場合、UI制御部152は、選択された複数のセットのサブアクションを比較するためのUIであるサブアクション映像比較用UI400B(図17参照)の表示に切り替える。なお、サブアクション映像比較用UI400Bの詳細については後述する(図17参照)。
映像比較用UI400A内の少なくとも1つのセットが選択され、拡大ボタン416が押下された場合、UI制御部152は、選択されたセットの表示領域に表示されている動画の、プレイヤーを含む範囲を拡大表示する。なお、拡大表示させる範囲は、ユーザが任意に指定可能であってよい。また、表示の拡大率は、ユーザが任意に倍率を指定できるものであってもよい。
映像比較用UI400A内の少なくとも1つのセットが選択され、カメラ切替ボタン417が押下された場合、UI制御部152は、その選択されたセットの表示領域に表示されている動画(例えば第1の動画201A)を、別の携帯端末で撮影された動画(例えば第2の動画201B)に切り替える。これにより、例えば、各表示領域402A、402Bに表示される動画を、同じ方向から撮影された動画に揃えることができる。
映像比較用UI400A内の少なくとも1つのセットが選択され、映像反転ボタン418が押下された場合、UI制御部152は、その選択されたセットの表示領域に表示されている動画を左右反転する。これにより、例えば、右利きのプレイヤーのアクションと左利きのプレイヤーのアクションとを容易に比較できる。
映像比較用UI400A内の少なくとも1つのセットが選択され、3D切替ボタン419が押下された場合、UI制御部152は、選択されたセットの姿勢モデルを比較するための姿勢比較用UI400C(図18参照)の表示に切り替える。なお、姿勢比較用UI400Cの詳細については後述する(図18参照)。
図17は、サブアクション映像比較用UI400Bの表示例を示す図である。
例えば、図16に示した映像比較用UI400Aにおいて、第1のセット及び第2のセットが選択され、並べるボタン415が押下された場合、UI制御部152は、図17に示すサブアクション映像比較用UI400Bを表示する。
サブアクション映像比較用UI400Bは、表示領域421A、421B、及び、並べるボタン415から拡張された複数のサブアクション選択ボタン420を含む。なお、サブアクション選択ボタン420は、サブアクション選択UIの一例である。
表示領域421A、421Bは、図17に示すように、並べて配置される。UI制御部152は、第1のセットに表示された動画のプレイヤーを含む範囲を拡大して表示領域421Aに表示する。同様に、UI制御部152は、第2のセットに表示された動画のプレイヤーを含む範囲を拡大して表示領域421Bに表示する。このとき、UI制御部152は、プレイヤーの首の関節位置が表示領域421A、421Bの中央に位置するように、表示領域421A、421Bにおける動画の表示を調整してもよい。
複数のサブアクション選択ボタン420は、サブアクションを選択するためのボタンであり、例えば、「トス」、「ジャンプ」、「ヒット」のサブアクションに対応する。
例えば、ユーザがサブアクション選択ボタン420「ヒット」を選択した場合、UI制御部152は、次の処理を行う。すなわち、UI制御部152は、第1の記録情報200Aに係るサブアクション情報222を参照して、第1のセットに表示された動画の中から、サブアクション「ヒット」が撮影されたタイミングのフレーム画像を特定する。そして、UI制御部152は、その特定したフレーム画像を表示領域421Aに表示する。同様に、UI制御部152は、第2の記録情報200Bに係るサブアクション情報222を参照して、第2のセットに表示された動画の中から、サブアクション「ヒット」が撮影されたタイミングのフレーム画像を特定する。そして、UI制御部152は、その特定したフレーム画像を表示領域421Bに表示する。この状態で再生ボタン411が押下された場合、UI制御部152は、この特定したサブアクション「ヒット」のタイミングのフレーム画像から、動画の再生を開始してよい。これにより、ユーザは、例えば、異なる日時に行われたサーブの、サブアクション「ヒット」の時のプレイヤーの映像を容易に比較できる。なお、サブアクション「ヒット」のフレーム画像のタイミングが揃っていれば、「助走」や「トス」などを含めて動画再生を行うようにしてもよい。
<姿勢比較用UIの詳細>
図18は、姿勢モデルを並べて表示した場合の姿勢比較用UIの一例を示す図である。図19は、姿勢モデルを重ねて表示した場合の姿勢比較用UIの一例を示す図である。姿勢比較用UI400Cは、比較用UIの一例であり、異なる複数の記録情報200に係る姿勢モデル情報221を比較するためのUIである。
例えば、図16に示した映像比較用UI400Aにおいて、第1のセット及び第2のセットが選択され、3D切替ボタン419が押下された場合、UI制御部152は、図18又は図19に示す姿勢比較用UI400Cを表示する。
姿勢比較用UI400Cは、表示領域434、シークバー410、再生ボタン411、一時停止ボタン412、スロー再生ボタン413、繰り返しボタン414、映像切替ボタン441、軌跡表示切替ボタン442、ボール表示切替ボタン443、選手表示切替ボタン444、重畳分離切替ボタン445、及び、並べるボタン446を含む。
UI制御部152は、図18及び図19に示すように、第1のセットに対応する姿勢モデル231A、ボール240A及びボールの移動軌跡241Aと、第2のセットに対応する姿勢モデル231B、ボール240B及びボールの移動軌跡241Bとを、表示領域434に表示する。以下、第1のセットに対応する姿勢モデル231A、ボール240A及びボールの移動軌跡241Aをまとめて、第1の姿勢モデル等という。同様に、第2のセットに対応する姿勢モデル231B、ボール240B及びボールの移動軌跡241Bをまとめて、第2の姿勢モデル等という。
ユーザは、表示領域434に対して所定の操作を行うことにより、表示領域434に表示されている第1及び第2の姿勢モデル等を、任意に3D回転などの操作により、3D空間上での視点を変えて表示させることができる。これにより、ユーザは、異なる日時に行われたサーブ時のプレイヤーの姿勢を、様々な視点から確認及び比較することができる。
シークバー410は、表示領域434に表示されている第1及び第2の姿勢モデル等の再生中の時間を示すバーである。すなわち、表示領域434に表示されている姿勢モデル等は、シークバー410に表示中の再生時間のタイミングにおけるプレイヤーの姿勢等を表す。
再生ボタン411が押下された場合、UI制御部152は、表示領域434に表示されている第1及び第2の姿勢モデル等の動作の再生を開始する。再生中、表示領域434において、第1及び第2の姿勢モデル等は、アニメーション動画のように表示される。なお、この第1及び第2の姿勢モデルのアニメーション動画の再生中、実際の映像である第1の動画201A及び第2の動画201Bを別ウィンドウ(図示せず)にて同期再生させるようにしてもよい。
一時停止ボタン412が押下された場合、UI制御部152は、表示領域434に表示されている第1及び第2の姿勢モデル等の動作を一時停止する。
スロー再生ボタン413が押下された場合、UI制御部152は、表示領域434に表示されている第1及び第2の姿勢モデル等の動作をスロー再生(例えば1/2の速度で再生)する。
繰り返しボタン414が押下された場合、UI制御部152は、表示領域434に表示されている第1及び第2の姿勢モデル等の動作を繰り返し再生する。なお、スロー再生ボタン413と繰り返しボタン414とは、併用可能であってよい。
映像切替ボタン441が押下された場合、UI制御部152は、図16に示した映像比較用UI400Aの表示に切り替える。
軌跡表示切替ボタン442が押下された場合、UI制御部152は、表示領域434における移動軌跡241A、241Bの表示と非表示を切り替える。
ボール表示切替ボタン443が押下された場合、UI制御部152は、表示領域434におけるボール240A、240Bの表示と非表示を切り替える。
選手表示切替ボタン444が押下された場合、UI制御部152は、表示領域434における姿勢モデル231A、231Bの表示と非表示を切り替える。
重畳分離切替ボタン445が押下された場合、UI制御部152は、表示領域434において、図18に示すような第1の姿勢モデル等と第2の姿勢モデル等を分離した表示と、図19に示すような第1の姿勢モデル等及び第2の姿勢モデル等を重ねた表示とを切り替える。UI制御部152は、第1の姿勢モデル231Aと第2の姿勢モデル231Bを重ねて表示する場合、首の関節位置232A、232Bを基準に重ねて表示してよい。また、UI制御部152は、第1の姿勢モデル231Aと第2の姿勢モデル231Bを重ねて表示する場合、図19に示すように、姿勢モデル231A、231Bの位置の移動に合わせて、ボール240A、240B及びボールの移動軌跡241A、241Bの位置も移動させて表示する。
並べるボタン446が押下された場合、UI制御部152は、サブアクション姿勢比較用UI400D(図20参照)を表示する。サブアクション姿勢比較用UI400Dの詳細については後述する(図20参照)。
なお、姿勢比較用UI400Cには、モデル反転ボタン(図示せず)が含まれてもよい。姿勢比較用UI400C内の少なくとも1つの姿勢モデルが選択され、モデル反転ボタンが押下された場合、UI制御部152は、その選択された姿勢モデルを左右反転して表示する。これにより、例えば、右利きのプレイヤーの姿勢と左利きのプレイヤーの姿勢とを容易に比較できる。
図20は、サブアクション姿勢比較用UIの例を示す図である。
例えば、図18及び図19に示した姿勢比較用UI400Cにおいて並べるボタン446が押下された場合、UI制御部152は、図20に示すサブアクション姿勢比較用UI400Dを表示する。
サブアクション姿勢比較用UI400Dは、表示領域451A、451B、及び、並べるボタン446から拡張された複数のサブアクション選択ボタン447を含む。なお、サブアクション選択ボタン447は、サブアクション選択UIの一例である。
表示領域451A、451Bは、図20に示すように、並べて配置される。UI制御部152は、第1の姿勢モデル等(231A、240A、241A)を拡大して表示領域451Aに表示する。同様に、UI制御部152は、第2の姿勢モデル等(231B、240B、241B)を拡大して表示領域451Bに表示する。このとき、UI制御部152は、姿勢モデルの首の関節位置232A、232Bが表示領域451A、451Bの中央に位置するように、姿勢モデル231A、231Bの表示を調整してもよい。
複数のサブアクション選択ボタン447は、サブアクションを選択するためのボタンであり、例えば、「トス」、「ジャンプ」、「ヒット」のサブアクションに対応する。
例えば、ユーザがサブアクション選択ボタン447「ジャンプ」を選択した場合、UI制御部152は、次の処理を行う。すなわち、UI制御部152は、第1の記録情報200Aに係るサブアクション情報222を参照して、サブアクション「ジャンプ」のタイミングの第1の姿勢モデル等を特定する。そして、UI制御部152は、その特定した第1の姿勢モデル等を表示領域451Aに表示する。同様に、UI制御部152は、第2の記録情報200Bに係るサブアクション情報222を参照して、サブアクション「ジャンプ」のタイミングの第2の姿勢モデル等を特定する。そして、UI制御部152は、その特定した第2の姿勢モデル等を表示領域451Bに表示する。この状態で再生ボタン411が押下された場合、UI制御部152は、この特定したサブアクション「ジャンプ」のタイミングの姿勢モデル等から、当該姿勢モデル等の動作の再生を開始してよい。これにより、ユーザは、例えば、異なる日時に行われたサーブの、サブアクション「ジャンプ」の時のプレイヤーの姿勢とその動きを容易に比較できる。なお、サブアクション「ジャンプ」のフレーム画像のタイミングが揃っていれば、「助走」や「トス」などを含めて動画再生を行うようにしてもよい。
図21は、姿勢比較用UI400Cにおいて姿勢モデルを選択する場合の例を説明するための図である。
ユーザが、姿勢比較用UI400Cに含まれる右側のサイドバー430(図18、図19参照)を押下した場合、UI制御部152は、図21に示すような、選択リスト431を表示する。選択リスト431には、図16の場合と同様、記録情報200に係る軌跡情報220から特定される情報が、リスト形式で表示される。
また、選択リスト431の各行には、チェックボックス432が表示される。ユーザは、選択リスト431の中から、比較したい行のチェックボックス432をONに設定する。
UI制御部152は、チェックボックス432がONに設定された記録情報200を特定し、その特定した記録情報200に係る姿勢モデル情報221から生成された姿勢モデル等を、表示領域434に表示する。これにより、ユーザは、所望の姿勢モデル等を表示領域434に表示させて比較することができる。
また、サイドバー430には、ボールフィルタリングボタン433が表示されてよい。ボールフィルタリングボタン433が押下された場合、UI制御部152は、選択リスト431に表示する記録情報200をフィルタリングするため条件ボックス(図示せず)を表示する。条件ボックスには、フィルタリングの閾値となる、ボールの高さ、スピード、角度及び評価のうちの少なくとも1つが入力できてよい。そして、UI制御部152は、条件ボックスに入力された条件に適合する記録情報200を、選択リスト431として表示する。これにより、ユーザは、大量の記録情報200の中から、比較候補とする記録情報200を効率的に抽出できる。
<ハードウェア構成>
以上、本開示に係る実施形態について図面を参照して詳述した。なお、上述した第1の携帯端末20A、第2の携帯端末20B、表示端末30、及び、球技映像解析装置100の機能は、コンピュータプログラムにより実現され得る。
図22は、球技映像解析装置100の機能をプログラムにより実現するコンピュータのハードウェア構成を示す図である。
このコンピュータ1000Aは、キーボード又はマウス、タッチパッドなどの入力装置1001、ディスプレイ又はスピーカーなどの出力装置1002、CPU(Central Processing Unit)1003、GPU(Graphics Processing Unit)1004、ROM(Read Only Memory)1005、RAM(Random Access Memory)1006、HDD(Hard Disk Drive)、SSD(Solid State Drive)又はフラッシュメモリなどの記憶装置1007、DVD−ROM(Digital Versatile Disk Read Only Memory)又はUSB(Universal Serial Bus)メモリなどの記録媒体から情報を読み取る読取装置1008、通信ネットワークNを介して有線又は無線にて通信を行う送受信装置1009を備え、各部は、バス1010により接続される。
そして、読取装置1008は、上記各装置の機能を実現するためのプログラムを記録した記録媒体からそのプログラムを読み取り、記憶装置1007に記憶させる。あるいは、送受信装置1009が、通信ネットワークNに接続されたサーバ装置と通信を行い、サーバ装置からダウンロードした上記各装置の機能を実現するためのプログラムを記憶装置1007に記憶させる。
そして、CPU1003が、記憶装置1007に記憶されたプログラムをRAM1006にコピーし、そのプログラムに含まれる命令をRAM1006から順次読み出して実行することにより、上記各装置の機能が実現される。
図23は、第1の携帯端末20A、第2の携帯端末20B及び表示端末30の機能をプログラムにより実現するコンピュータのハードウェア構成を示す図である。なお、図11にて説明済みの構成要素については、同じ参照符号を付して説明を省略する場合がある。
このコンピュータ1000Bは、入力装置1001、出力装置1002、CPU1003、GPU1004、ROM1005、RAM1006、記憶装置1007、読取装置1008、送受信装置1009、カメラ装置1011を備え、各部は、バス1010により接続される。
カメラ装置1011は、撮像素子を備え、撮像画像(動画及び静止画)を生成する。生成された撮像画像は記憶装置1007に記憶される。記憶装置1007に記憶された撮像画像は、送受信装置1009及び通信ネットワークNを通じて外部のサーバ等に送信されてよい。
上記の実施の形態の説明に用いた各機能ブロックは、典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。
(本開示のまとめ)
本開示に係る球技映像解析装置(100)は、球技に用いられる移動体(例えばボール)に対する人物(例えばプレイヤー)のアクションを互いに異なる位置から撮影した第1の動画(201A)及び第2の動画(201B)に基づいて、移動体の移動軌跡を示す軌跡情報(220)を生成する軌跡解析部(105)と、第1の動画及び第2の動画と軌跡情報との対応関係を示す情報である複数の記録情報(200)を管理する記録管理部(133)と、複数の記録情報の中から軌跡情報に基づいて記録情報を選択させるUI(User Interface)を表示し、UIを通じて選択された記録情報において対応関係にある第1の動画又は第2の動画を表示する表示制御部(134)とを備える。
この構成によれば、記録管理部において管理されている複数の記録情報の中から、軌跡情報に基づいて記録情報が選択され、その選択された記録情報において対応関係にある動画が表示される。当該動画には、球技を行う人物のアクションが撮影されている。よって、ユーザは、人物のアクションが撮影された複数の動画の中から、軌跡情報に基づいて、例えばアクションが成功又は失敗した動画等、球技の練習に役立つ動画を容易に見つけて視聴できる。
また、表示制御部は、複数の記録情報の中から、第1の記録情報及び第2の記録情報が選択された場合、第1の記録情報において対応関係にある第1の動画又は第2の動画と、第2の記録情報において対応関係にある第1の動画又は第2の動画とを、並べて表示してよい。
この構成によれば、選択された第1の記録情報に係る動画と、選択された第2の記録情報に係る動画とが並べて表示される。よって、ユーザは、並べて表示されたアクションが撮影された動画を見て、球技の練習に役立てることができる。
また、球技映像解析装置は、第1の動画及び第2の動画に基づいて、アクションのときの人物の姿勢を示す姿勢モデル情報(221)を生成する姿勢解析部(131)をさらに備えてよい。記録情報は、第1の動画及び第2の動画と、軌跡情報と、姿勢モデル情報との対応関係を示す情報であってよい。表示制御部は、複数の記録情報の中から、第1の記録情報及び第2の記録情報が選択された場合、第1の記録情報において対応関係にある姿勢モデル情報から生成された姿勢モデル(231A)と、第2の記録情報において対応関係にある姿勢モデル情報から生成された姿勢モデル(231B)とを、並べて又は重ねて表示してよい。
この構成によれば、選択された第1の記録情報に係る姿勢モデルと、選択された第2の記録情報に係る姿勢モデルとが並べて又は重ねて表示される。よって、ユーザは、並べて又は重ねて表示されたアクション時の姿勢モデルを見て、球技の練習に役立てることができる。
また、表示制御部は、第1の記録情報において対応関係にある軌跡情報から生成された移動体の移動軌跡(241A)と、第2の記録情報において対応関係にある軌跡情報から生成された移動体の移動軌跡(241B)とを、姿勢モデルと共に表示してよい。
この構成によれば、姿勢モデルと共に、移動体の移動軌跡も表示される。よって、ユーザは、姿勢モデルと共に表示されたアクション時の移動体の動きを見て、球技の練習に役立てることができる。
また、球技映像解析装置は、軌跡情報及び姿勢モデル情報に基づいて、アクションを構成する複数のサブアクションのそれぞれの発生タイミングを示すサブアクション情報(222)を生成するサブアクション解析部(132)をさらに備えてよい。記録情報は、第1の動画及び第2の動画と、軌跡情報と、姿勢モデル情報と、サブアクション情報との対応関係を示す情報であってよい。表示制御部は、複数のサブアクションのうちの1つのサブアクションを選択可能なサブアクション選択UI(420)を表示し、サブアクション選択UIを通じて選択された1つのサブアクションの発生タイミングにおける姿勢モデルを表示してよい。
この構成によれば、サブアクション選択UIを通じて選択された1つのサブアクションの発生タイミングにおける姿勢モデルが表示される。よって、ユーザは、サブアクション選択UIを通じて、所望のサブアクションのときの姿勢モデルを表示させ、球技の練習に役立てることができる。
以上、添付図面を参照しながら実施の形態について説明したが、本開示はかかる例に限定されない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例、修正例、置換例、付加例、削除例、均等例に想到し得ることは明らかであり、それらについても本開示の技術的範囲に属すると了解される。また、発明の趣旨を逸脱しない範囲において、上述した実施の形態における各構成要素を任意に組み合わせてもよい。