(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-07
(45)【発行日】2024-10-16
(54)【発明の名称】情報処理プログラム、装置、及び方法
(51)【国際特許分類】
H04N 7/18 20060101AFI20241008BHJP
G06T 7/73 20170101ALI20241008BHJP
【FI】
H04N7/18 K
G06T7/73
(21)【出願番号】P 2023512507
(86)(22)【出願日】2021-04-05
(86)【国際出願番号】 JP2021014499
(87)【国際公開番号】W WO2022215116
(87)【国際公開日】2022-10-13
【審査請求日】2023-10-02
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】中村 公治
【審査官】秦野 孝一郎
(56)【参考文献】
【文献】国際公開第2016/092933(WO,A1)
【文献】国際公開第2016/098415(WO,A1)
【文献】特開2020-30190(JP,A)
【文献】特開2020-31406(JP,A)
【文献】国際公開第2019/229818(WO,A1)
【文献】特開2018-142815(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 7/18
G06T 7/00-7/90
(57)【特許請求の範囲】
【請求項1】
スケートリンク上の競技者を、交差する2方向から撮影する複数のカメラの各々で撮影された映像を取得し、
前記映像に含まれる複数のフレームの各々における、前記競技者及び前記競技者が装着する装着物の少なくとも一部の部位の高さを特定し、
前記高さの変化に基づいて、前記競技者が行ったジャンプの離氷時に対応するフレーム及び着氷時に対応するフレームから、前記ジャンプの離氷時刻及び着氷時刻を推定する
ことを含む処理をコンピュータに実行させるための情報処理プログラム。
【請求項2】
前記映像を取得する処理は、撮影方向が前記スケートリンクの長軸方向と平行な複数の第1カメラ、及び撮影方向が前記スケートリンクの短軸方向と平行な複数の第2カメラのうち、前記第1カメラの撮影方向と前記第2カメラの撮影方向とが交差する位置が、前記競技者の位置に最も近い前記第1カメラ及び前記第2カメラの各々で撮影された映像を取得することを含む請求項1に記載の情報処理プログラム。
【請求項3】
前記離氷時刻及び前記着氷時刻を推定する処理は、前記部位の高さが、着氷時の高さを示す基準値を超えたフレーム又は前記基準値を超える1つ前のフレームの時刻情報を、前記離氷時刻として推定し、前記部位の高さが、前記基準値を超えた状態から前記基準値に戻ったフレーム又は前記基準値に戻る1つ前のフレームの時刻情報を、前記着氷時刻として推定することを含む請求項1又は請求項2に記載の情報処理プログラム。
【請求項4】
前記部位を、前記競技者が装着するスケートシューズのブレードとする請求項1~請求項3のいずれか1項に記載の情報処理プログラム。
【請求項5】
スケートリンク上の競技者を撮影するカメラで撮影された映像を取得し、
前記映像に含まれる複数のフレームの各々における、前記競技者が装着するスケートシューズのブレードの高さを特定し、
前記高さの変化、及び前記複数のフレームの各々の時刻情報に基づいて、前記競技者が行ったジャンプの離氷時刻及び着氷時刻を推定する
ことを含む処理をコンピュータに実行させるための情報処理プログラム。
【請求項6】
前記離氷時刻を推定する処理は、前記複数のフレームの各々の時刻情報に対する前記高さの変化の度合いが、所定値以内の状態から前記所定値を超える状態に変化した変化点に対応する時刻を離氷時刻として推定し、前記着氷時刻を推定する処理は、前記高さの変化の度合いが、前記所定値を超える状態から前記所定値以内の状態に変化した変化点に対応する時刻を着氷時刻として推定することを含む請求項5に記載の情報処理プログラム。
【請求項7】
前記映像を取得する処理は、前記競技者を、交差する2方向から撮影する複数のカメラの各々で撮影された映像を取得することを含む請求項5又は請求項6に記載の情報処理プログラム。
【請求項8】
前記映像を取得する処理は、撮影方向が前記スケートリンクの長軸方向と平行な複数の第1カメラ、及び撮影方向が前記スケートリンクの短軸方向と平行な複数の第2カメラのうち、前記第1カメラの撮影方向と前記第2カメラの撮影方向とが交差する位置が、前記競技者の位置に最も近い前記第1カメラ及び前記第2カメラの各々で撮影された映像を取得することを含む請求項7に記載の情報処理プログラム。
【請求項9】
前記離氷時刻及び前記着氷時刻の各々における、前記ブレードの向きに基づく基準線に対する前記ブレードの角度を算出することをさらに含む処理を前記コンピュータに実行させる請求項4~請求項8のいずれか1項に記載の情報処理プログラム。
【請求項10】
前記着氷時刻の前後のフレームから算出された前記角度に基づいて、前記着氷時刻における前記ブレードの角度を算出する請求項9に記載の情報処理プログラム。
【請求項11】
前記離氷時刻に対応するフレームの所定数前のフレームから、前記着氷時刻に対応するフレームの所定数後のフレームまでの各フレームにおける前記競技者及び前記競技者が装着する装着物の少なくとも一部の部位の3次元位置に基づいて、踏切速度、ジャンプの高さ、飛距離、及び回転速度の少なくとも1つを算出する請求項1~請求項10のいずれか1項に記載の情報処理プログラム。
【請求項12】
スケートリンク上の競技者を、交差する2方向から撮影する複数のカメラの各々で撮影された映像を取得する取得部と、
前記映像に含まれる複数のフレームの各々における、前記競技者及び前記競技者が装着する装着物の少なくとも一部の部位の高さを特定する特定部と、
前記高さの変化に基づいて、前記競技者が行ったジャンプの離氷時に対応するフレーム及び着氷時に対応するフレームから、前記ジャンプの離氷時刻及び着氷時刻を推定する推定部と、
を含む情報処理装置。
【請求項13】
スケートリンク上の競技者を撮影するカメラで撮影された映像を取得する取得部と、
前記映像に含まれる複数のフレームの各々における、前記競技者が装着するスケートシューズのブレードの高さを特定する特定部と、
前記高さの変化、及び前記複数のフレームの各々の時刻情報に基づいて、前記競技者が行ったジャンプの離氷時刻及び着氷時刻を推定する推定部と、
を含む情報処理装置。
【請求項14】
スケートリンク上の競技者を、交差する2方向から撮影する複数のカメラの各々で撮影された映像を取得し、
前記映像に含まれる複数のフレームの各々における、前記競技者及び前記競技者が装着する装着物の少なくとも一部の部位の高さを特定し、
前記高さの変化に基づいて、前記競技者が行ったジャンプの離氷時に対応するフレーム及び着氷時に対応するフレームから、前記ジャンプの離氷時刻及び着氷時刻を推定する
ことを含む処理をコンピュータが実行する情報処理方法。
【請求項15】
スケートリンク上の競技者を撮影するカメラで撮影された映像を取得し、
前記映像に含まれる複数のフレームの各々における、前記競技者が装着するスケートシューズのブレードの高さを特定し、
前記高さの変化、及び前記複数のフレームの各々の時刻情報に基づいて、前記競技者が行ったジャンプの離氷時刻及び着氷時刻を推定する
ことを含む処理をコンピュータが実行する情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
開示の技術は、情報処理プログラム、情報処理装置、及び情報処理方法に関する。
【背景技術】
【0002】
従来、スポーツの競技中の映像から、所定のシーンを切り出すことが行われている。所定のシーンは、例えば、ゴルフ、野球、テニス等におけるボールに対するインパクトの瞬間を含むシーン、体操競技等における跳躍や着地を含むシーン等である。
【0003】
上記のようなシーン切り出しに関する技術として、例えば、被写体の連続するモーションの中から決定的瞬間を特定して画像として抽出する情報処理装置が提案されている。この装置は、ユーザ又はユーザに接触するオブジェクトに装着されたセンサからのセンサデータ、及びセンサデータに対応する時刻情報を受信する。また、この装置は、センサデータ及び時刻情報に基づいて、ユーザ又はオブジェクトに所定のモーションパターンが発生した時刻を特定する。そして、この装置は、特定した時刻に応じて、所定の時間間隔で撮影されたユーザ又はオブジェクトを含む一連の画像から1又は複数の画像を選択する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
フィギュアスケートのジャンプのシーンについて、ジャンプの離氷時刻及び着氷時刻を推定することを考える。フィギュアスケートにおいては、競技者、又は競技者が装着するウェアやシューズにセンサを取り付ける等の少しの変化が、ジャンプ等の精度に影響を与えてしまう場合がある。そのため、従来技術を適用して、フィギュアスケートにおけるジャンプの離氷時刻及び着氷時刻を推定することは困難である。
【0006】
一つの側面として、開示の技術は、フィギュアスケートにおけるジャンプの離氷時刻及び着氷時刻を推定することを目的とする。
【課題を解決するための手段】
【0007】
一つの態様として、開示の技術は、スケートリンク上の競技者を、交差する2方向から撮影する複数のカメラの各々で撮影された映像を取得する。また、開示の技術は、前記映像に含まれる複数のフレームの各々における、前記競技者及び前記競技者が装着する装着物の少なくとも一部の部位の高さを特定する。そして、開示の技術は、前記高さの変化に基づいて、前記競技者が行ったジャンプの離氷時に対応するフレーム及び着氷時に対応するフレームから、前記ジャンプの離氷時刻及び着氷時刻を推定する。
【発明の効果】
【0008】
一つの側面として、フィギュアスケートにおけるジャンプの離氷時刻及び着氷時刻を推定することができる、という効果を有する。
【図面の簡単な説明】
【0009】
【
図1】第1及び第3実施形態に係る情報処理システムの概略図である。
【
図2】第1及び第3実施形態に係る情報処理装置の機能ブロック図である。
【
図3】最適な特定用カメラの選択を説明するための図である。
【
図4】所定部位としてブレードの先端及び終端の位置を算出することを説明するための図である。
【
図5】第1実施形態における離氷時刻及び着氷時刻の推定を説明するための図である。
【
図7】情報処理装置として機能するコンピュータの概略構成を示すブロック図である。
【
図8】第1実施形態における情報処理ルーチンの一例を示すフローチャートである。
【
図9】第2実施形態に係る情報処理装置の機能ブロック図である。
【
図10】第2実施形態における離氷時刻の推定を説明するための図である。
【
図11】第2実施形態における着氷時刻の推定を説明するための図である。
【
図12】離氷点及び着氷点の特定を説明するための図である。
【
図13】離氷点の特定の詳細を説明するための図である。
【
図14】ジャンプの区間に含まれるフレームの各々から算出された回転角度θを示す図である。
【
図16】第2実施形態における情報処理ルーチンの一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、図面を参照して、開示の技術に係る実施形態の一例を説明する。
【0011】
<第1実施形態>
図1及び
図2に示すように、第1実施形態に係る情報処理システム100は、情報処理装置10と、トラッキング用カメラ20と、特定用カメラ22とを含む。
【0012】
トラッキング用カメラ20は、スケートリンク30上の競技者32の位置を特定可能な映像を撮影する、例えばモーショントラッキング用の撮影装置である。例えば、トラッキング用カメラ20は、会場の天井、側壁等に複数台(例えば、2台)設置される。
【0013】
特定用カメラ22は、スケートリンク30上の競技者32を、交差する2方向から撮影する撮影装置である。例えば、特定用カメラ22は、撮影方向がスケートリンク30の長軸方向と平行になるように、スケートリンク30の短辺側に沿って設置される複数の第1カメラ22Aを含む。また、特定用カメラ22は、撮影方向がスケートリンクの短軸方向と平行になるように、スケートリンク30の長辺側に沿って設置される複数の第2カメラ22Bを含む。以下、第1カメラ22Aと第2カメラ22Bとを区別なく説明する場合には、「特定用カメラ22」という。特定用カメラ22の各々の設置位置及び撮影方向に基づいて、スケートリンク30を平面視したxy平面における、第1カメラ22Aの撮影方向と第2カメラ22Bの撮影方向とが交差する位置の位置座標がそれぞれ特定されている。以下では、i番目の第1カメラ22Aの撮影方向と、j番目の第2カメラ22Bの撮影方向とが交差する位置の位置座標を(xc_ij,yc_ij)とする。
【0014】
トラッキング用カメラ20及び特定用カメラ22の各々は、所定のフレームレート(例えば、120fps)で撮影した映像を出力する。出力される映像は、複数のフレームを含んでおり、各フレームには時刻情報が対応付いている。時刻情報に基づいて、各映像は時間的に同期している。なお、トラッキング用カメラ20及び特定用カメラ22の各々の台数は、
図1及び
図2の例に限定されない
【0015】
情報処理装置10は、機能的には、
図2に示すように、取得部12と、特定部14と、推定部16と、算出部18とを含む。
【0016】
取得部12は、トラッキング用カメラ20から出力された映像を取得する。取得部12は、取得した映像から、モーショントラッキングによりスケートリンク30上での競技者32の位置を取得する。例えば、取得部12は、各トラッキング用カメラ20で撮影された映像のフレーム毎に、モーショントラッキングの対象である競技者32を認識する。例えば、取得部12は、競技者32又は競技者32が装着する装着物の色、形状等の特徴に基づいて、各フレームから競技者32を認識する。また、取得部12は、フレーム間の差分が示す移動する物体を競技者32として認識してもよい。そして、取得部12は、各フレームにおいて認識された競技者32の位置を、フレーム毎に算出する。そして、取得部12は、各フレームにおける競技者32の位置を追跡することで、軌跡情報を生成する。なお、競技者32の位置は3次元で算出されてもよいし、2次元で算出されてもよい。本実施形態では、スケートリンク30を平面視したxy平面における、認識した競技者32の位置座標(xp,yp)を算出する場合について説明する。
【0017】
取得部12は、特定用カメラ22のうち、競技者32の位置に対して最適な特定用カメラ22を選択し、選択した特定用カメラ22で撮影された映像を取得する。具体的には、取得部12は、第1カメラ22Aの撮影方向と第2カメラ22Bの撮影方向とが交差する位置が、競技者の位置に最も近い第1カメラ22A及び第2カメラ22Bの各々で撮影された映像を取得する。
【0018】
より具体的には、取得部12は、予め特定されている位置座標(x
c_ij,y
c_ij)から、トラッキング用カメラ20で撮影された映像のフレームnから算出した競技者32の位置座標(x
p,y
p)に最も近い位置座標(x
c_ij,y
c_ij)を特定する。そして、取得部12は、特定した(x
c_ij,y
c_ij)に対応する、i番目の第1カメラ22A及びj番目の第2カメラBの各々で撮影された映像の、フレームnと時刻情報が同期するフレームを取得する。例えば、
図3に示すように、競技者32の位置座標(x
p,y
p)に最も近い位置座標が(x
c_24,y
c_24)であるとする。この場合、取得部12は、2番目の第1カメラ22A及び4番目の第2カメラ22B(
図3中の網掛で示すカメラ)の各々で撮影された映像のフレームを取得する。
【0019】
取得部12は、取得したフレームを特定部14へ受け渡し、生成した軌跡情報を算出部18へ受け渡す。
【0020】
特定部14は、取得部12から受け渡されたフレームの各々における、競技者32及び競技者32が装着する装着物の少なくとも一部の所定部位の高さを特定する。具体的には、特定部14は、取得部12から受け渡されたフレームの各々を3次元解析し、競技者32及び競技者32が装着する装着物の所定部位の3次元位置(x,y,z)を算出する。zが所定部位の高さである。所定部位は、
図4に示すように、競技者32が装着するスケートシューズのブレードの先端34及び終端36を含む。また、所定部位は、競技者32の各関節、頭部、及び目、鼻、口等の顔の部位を含んでもよい。なお、各フレームから、これらの所定部位を認識する手法は、所定部位の形状を用いた認識方法や、人体骨格モデルを用いた認識方法等、既存の手法を用いてよい。特定部14は、フレーム毎に算出した所定部位の高さzを推定部16へ受け渡すと共に、所定部位の3次元位置(x,y,z)を算出部18へ受け渡す。
【0021】
推定部16は、フレーム毎に特定された所定部位の高さの変化に基づいて、競技者32が行ったジャンプの離氷時に対応するフレーム及び着氷時に対応するフレームから、ジャンプの離氷時刻及び着氷時刻を推定する。具体的には、
図5に示すように、推定部16は、所定部位の高さが、着氷時の高さを示す基準値を超えたフレーム又は基準値を超える1つ前のフレームの時刻情報を、離氷時刻として推定する。また、推定部16は、所定部位の高さが、基準値を超えた状態から基準値に戻ったフレーム又は基準値に戻る1つ前のフレームの時刻情報を、着氷時刻として推定する。基準値は、予め競技者32が着氷中であることが既知の映像から特定された所定部位の高さの平均にマージンを加えた値等としてよい。
【0022】
図5の例では、フレームF
T1から特定された所定部位の高さzが基準値以下で、次のフレームF
T2から特定された所定部位の高さzが基準値を超えている。したがって、フレームF
T1の時刻情報t
T1又はフレームF
T2の時刻情報t
T2が離氷時刻として推定される。また、フレームF
L2から特定された所定部位の高さzが基準値を超えており、次のフレームF
L1から特定された所定部位の高さzが基準値以下となっている。したがって、フレームF
L1の時刻情報t
L1又はフレームF
L2の時刻情報t
L2が着氷時刻として推定される。推定部16は、推定した離氷時刻及び着氷時刻を算出部18へ受け渡す。
【0023】
算出部18は、離氷時刻及び着氷時刻のフレームの各々から特定されたブレードの先端34及び終端36の位置を用いて、特定用カメラ22の撮影方向を基準としたブレードの絶対角度を算出する。例えば、算出部18は、特定用カメラ22の撮影方向、又は撮影方向に垂直な線と、ブレードの先端34と終端36とを結ぶ線、すなわちブレードの向きとのなす角度を、ブレードの絶対角度として算出してよい。なお、ブレードの先端34及び終端36を特定するために、特定用カメラ22として第1カメラ22A及び第2カメラ22Bの各々で撮影されたフレームが用いられている。したがって、算出部18は、第1カメラ22A及び第2カメラ22Bのうち、いずれかをメインの特定用カメラ22として定めておき、メインの特定用カメラ22の撮影方向を基準に、ブレードの絶対角度を算出すればよい。
【0024】
また、算出部18は、ブレードの絶対角度を、ジャンプの回転不足を判定するための基準線に対する角度(以下、「回転角度θ」という)に変換する。具体的には、算出部18は、取得部12から受け渡された軌跡情報と、推定部16から受け渡された離氷時刻及び着氷時刻の各々とに基づいて、離氷点A及び着氷点Bの各々の位置を特定する。より具体的には、算出部18は、軌跡情報において、離氷時刻を時刻情報とするフレームから特定された競技者32の位置座標を離氷点Aとして特定し、着氷時刻を時刻情報とするフレームから特定された競技者32の位置座標を着氷点Bとして特定する。
【0025】
そして、算出部18は、
図6に示すように、離氷点Aと着氷点Bとを通る直線を、ジャンプの回転を判定するための基準線(A-B)として特定する。算出部18は、メインの特定用カメラ22の撮影方向を基準とした線と、特定した基準線(A-B)との角度差を、ブレードの絶対角度から差し引いて、ブレードの回転角度θを算出する。算出部18は、着氷時刻のフレームから算出されたブレードの回転角度θを、着氷時のブレードの回転角度θとして出力する。
【0026】
また、算出部18は、離氷時刻から着氷時刻までの区間(以下、「ジャンプの区間」ともいう)に含まれるフレームと、その区間の前後所定数分のフレームとの各々から特定された所定部位の3次元位置に基づいて、回転角度以外の情報を算出してもよい。例えば、算出部18は、所定部位として腰の位置を算出し、ジャンプの区間に含まれる各フレームから算出された腰の位置の最小値と最大値との差をジャンプの高さとして算出してもよい。また、算出部18は、特定した離氷点Aから着氷点Bまでの距離をジャンプの飛距離として算出してもよい。また、算出部18は、離氷時刻から着氷時刻までの時間と、ジャンプの区間における回転角度の変化とから、回転速度を算出してもよい。また、算出部18は、離氷時刻に対応するフレームから所定フレーム前までの時間と、その間における所定部位の位置の変化量とから、踏切速度を算出してもよい。
【0027】
算出部18は、算出した、着氷時の回転角度θ、及びその他算出した情報を含む算出結果を出力する。出力された着氷時の回転角度θは、ジャンプの回転不足等の判定に用いることができる。また、出力された算出結果を、テレビ放送等の画面に表示するスタッツとして用いてもよい。また、例えば、算出部18は、軌跡情報が示す軌跡上にジャンプの区間を示す画像38(
図1参照)の画像データを生成し、出力してもよい。
【0028】
情報処理装置10は、例えば
図7に示すコンピュータ40で実現することができる。コンピュータ40は、CPU(Central Processing Unit)41と、一時記憶領域としてのメモリ42と、不揮発性の記憶部43とを備える。また、コンピュータ40は、入力部、表示部等の入出力装置44と、記憶媒体49に対するデータの読み込み及び書き込みを制御するR/W(Read/Write)部45とを備える。また、コンピュータ40は、インターネット等のネットワークに接続される通信I/F(Interface)46を備える。CPU41、メモリ42、記憶部43、入出力装置44、R/W部45、及び通信I/F46は、バス47を介して互いに接続される。
【0029】
記憶部43は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部43には、コンピュータ40を、情報処理装置10として機能させるための情報処理プログラム50が記憶される。情報処理プログラム50は、取得プロセス52と、特定プロセス54と、推定プロセス56と、算出プロセス58とを有する。
【0030】
CPU41は、情報処理プログラム50を記憶部43から読み出してメモリ42に展開し、情報処理プログラム50が有するプロセスを順次実行する。CPU41は、取得プロセス52を実行することで、
図2に示す取得部12として動作する。また、CPU41は、特定プロセス54を実行することで、
図2に示す特定部14として動作する。また、CPU41は、推定プロセス56を実行することで、
図2に示す推定部16として動作する。また、CPU41は、算出プロセス58を実行することで、
図2に示す算出部18として動作する。これにより、情報処理プログラム50を実行したコンピュータ40が、情報処理装置10として機能することになる。なお、プログラムを実行するCPU41はハードウェアである。
【0031】
なお、情報処理プログラム50により実現される機能は、例えば半導体集積回路、より詳しくはASIC(Application Specific Integrated Circuit)等で実現することも可能である。
【0032】
次に、第1実施形態に係る情報処理システム100の作用について説明する。情報処理装置10に、トラッキング用カメラ20及び特定用カメラ22の各々で撮影された映像が入力されると、情報処理装置10において、
図8に示す情報処理ルーチンが実行される。なお、情報処理ルーチンは、開示の技術の情報処理方法の一例である。
【0033】
ステップS10で、取得部12が、トラッキング用カメラ20から出力された映像を取得する。そして、取得部12が、取得した映像から、モーショントラッキングにより、スケートリンク30を平面視したxy平面における競技者32の位置座標を算出する。
【0034】
次に、ステップS12で、取得部12が、第1カメラ22Aの撮影方向と第2カメラ22Bの撮影方向とが交差する位置が、競技者の位置に最も近い第1カメラ22A及び第2カメラ22Bの各々で撮影された映像のフレームを取得する。
【0035】
次に、ステップS14で、特定部14が、上記ステップS12で取得されたフレームの各々を3次元解析し、競技者32及び競技者32が装着する装着物の所定部位の3次元位置を算出する。これにより、所定部位の高さが特定される。
【0036】
次に、ステップS16で、推定部16が、上記ステップS14で特定された所定部位の高さが、着氷時の高さを示す基準値を超えたフレーム又は基準値を超える1つ前のフレームの時刻情報を、離氷時刻として推定する。また、推定部16が、所定部位の高さが、基準値を超えた状態から基準値に戻ったフレーム又は基準値に戻る1つ前のフレームの時刻情報を、着氷時刻として推定する。
【0037】
次に、ステップS18で、算出部18が、離氷時刻及び着氷時刻のフレームの各々から特定されたブレードの先端34及び終端36の位置を用いて、特定用カメラ22の撮影方向を基準としたブレードの絶対角度を算出する。また、算出部18が、取得部12から受け渡された軌跡情報と、推定部16から受け渡された離氷時刻及び着氷時刻の各々とに基づいて、離氷点A及び着氷点Bの各々の位置を特定する。そして、算出部18が、離氷点Aと着氷点Bとを通る直線を基準線(A-B)として特定し、メインの特定用カメラ22の撮影方向を基準とした線と、特定した基準線(A-B)との角度差を、ブレードの絶対角度から差し引いて、ブレードの回転角度θを算出する。さらに、算出部18が、ジャンプの区間及びその区間の前後所定数分のフレームの各々から特定された所定部位の3次元位置に基づいて、ジャンプの高さ、飛距離、踏切速度等の情報を算出する。そして、算出部18が、回転角度θ及び他の情報の算出結果を出力し、情報処理ルーチンは終了する。
【0038】
以上説明したように、第1実施形態に係る情報処理システムによれば、情報処理装置が、スケートリンク上の競技者を、交差する2方向から撮影する複数のカメラの各々で撮影された映像を取得する。また、情報処理装置が、取得した映像に含まれる複数のフレームの各々における、競技者及び競技者が装着する装着物の少なくとも一部の所定部位の高さを特定する。そして、情報処理装置が、所定部位の高さの変化に基づいて、競技者が行ったジャンプの離氷時に対応するフレーム及び着氷時に対応するフレームから、ジャンプの離氷時刻及び着氷時刻を推定する。これにより、競技者及び競技者が装着する装着物にセンサ等を取り付けることなく、フィギュアスケートにおけるジャンプの離氷時刻及び着氷時刻を推定することができる。
【0039】
また、情報処理装置は、競技者を、交差する2方向から撮影する複数のカメラの各々で撮影された映像に基づいて、ジャンプの離氷時刻及び着氷時刻を推定するため、精度良く離氷時刻及び着氷時刻を推定することができる。さらに、精度良く推定された離氷時刻及び着氷時刻に基づいて、ジャンプの着氷時の回転角度等の情報も精度良く算出することができる。
【0040】
<第2実施形態>
次に、第2実施形態について説明する。なお、第2実施形態に係る情報処理システムにおいて、第1実施形態に係る情報処理システム100と同様の構成については、同一符号を付して詳細な説明を省略する。また、第2実施形態において、第1実施形態の機能部と符号の下2桁が共通する機能部について、第1実施形態の機能部と共通する機能については、詳細な説明を省略する。
【0041】
図9に示すように、第2実施形態に係る情報処理システム200は、情報処理装置210と、カメラ222とを含む。
【0042】
カメラ222は、第1実施形態における特定用カメラ22と同様に、スケートリンク30上の競技者32及び競技者32が装着する装着物の所定部位の3次元位置を特定可能に撮影する撮影装置でもある。カメラ222は、上記の所定部位の3次元位置をステレオカメラ方式により計測可能な位置に複数台(例えば、2台)設置される。カメラ222は、所定のフレームレート(例えば、120fps)で撮影した映像を出力する。出力される映像は、複数のフレームを含んでおり、各フレームには時刻情報が対応付いている。なお、カメラ222として、ToF(Time-of-Flight)方式の1台のカメラを用いてもよい。また、カメラ222は、第1実施形態におけるトラッキング用カメラ20と同様に、スケートリンク30上の競技者32の位置を特定可能な映像を撮影する、例えばモーショントラッキング用の撮影装置としても機能する。
【0043】
情報処理装置210は、機能的には、
図9に示すように、取得部212と、特定部214と、推定部216と、算出部218とを含む。
【0044】
取得部212は、カメラ222から出力された映像を取得する。取得部212は、取得した映像を特定部214へ受け渡す。
【0045】
特定部214は、取得部212から受け渡された映像に含まれる複数のフレームの各々における、競技者32が装着するスケートシューズのブレードの高さを特定する。具体的には、特定部214は、第1実施形態における特定部14と同様に、
図4に示すような、ブレードの先端34及び終端36の3次元位置(x,y,z)を算出する。3次元位置の(x,y)により、第1実施形態の取得部12により算出した競技者32の軌跡情報と同様の軌跡情報が算出される。また、3次元位置のzが、ブレードの先端34又は終端36(以下、単に「ブレード」ともいう)の高さに相当する。また、特定部214は、第1実施形態における特定部14と同様に、ブレード以外の他の所定部位についても、3次元位置(x,y,z)を算出してよい。特定部214は、ブレードの高さzを推定部216に受け渡すと共に、ブレード、他の所定部位の3次元位置(x,y,z)、及び軌跡情報を算出部218へ受け渡す。
【0046】
推定部216は、特定部214から受け渡された、ブレードの高さの変化、及び複数のフレームの各々の時刻情報に基づいて、ジャンプの離氷時刻及び着氷時刻を推定する。具体的には、
図10に示すように、推定部216は、複数のフレームの各々の時刻情報に対するブレードの高さの変化の度合いが、所定値以内の状態から所定値を超える状態に変化した変化点に対応する時刻を離氷時刻として推定する。所定値は、ブレードの高さにほぼ変化がないことを表す値、すなわち、競技者32が着氷状態であると判定可能な値を予め定めておけばよい。
【0047】
図10の例を用いて、より具体的に説明する。
図10の例では、時刻情報t
T1までは、ブレードの高さzの変化が所定値以内の状態、時刻情報t
T2以降は、高さzの変化が所定値を超えた状態である。推定部216は、ブレードの高さzの変化が所定値以内である時刻情報t
T1まで高さzを直線近似した直線と、高さzの変化が所定値を超えている時刻情報t
T2以降の高さzを曲線近似した上に凸の曲線との交点を変化点として検出する。そして、推定部216は、変化点に対応する時刻情報t
Tを、離氷時刻として推定する。
【0048】
また、推定部216は、
図11に示すように、着氷時刻についても同様に、ブレードの高さの変化の度合いが、所定値を超える状態から所定値以内の状態に変化した変化点に対応する時刻を着氷時刻として推定する。
【0049】
図11の例を用いて、より具体的に説明する。
図11の例では、時刻情報t
L2までは、ブレードの高さzの変化が所定値を超えている状態、時刻情報t
L1以降は、高さzの変化が所定値以内の状態である。推定部216は、ブレードの高さzの変化が所定値を超えている時刻情報t
L2までの高さzを曲線近似した上に凸の曲線と、高さzの変化が所定値以内である時刻情報t
L1以降の高さzを直線近似した直線との交点を変化点として検出する。そして、推定部216は、変化点に対応する時刻情報t
Lを、着氷時刻として推定する。
【0050】
第1実施形態のように、フレームの時刻情報を離氷時刻として推定する場合には、実際の離氷のタイミングがフレーム間にあったとしても、そのタイミングの前又は後のフレームの時刻情報が離氷時刻として推定されてしまう。着氷時刻についても同様である。上記のように、ブレードの高さの変化の変化点を検出することで、フレーム間の時間間隔よりも詳細な離氷時刻及び着氷時刻を推定することができる。推定部216は、推定した離氷時刻及び着氷時刻を算出部218へ受け渡す。
【0051】
算出部218は、第1実施形態における算出部18と同様に、フレーム毎に回転角度θを算出する。この際、算出部218は、
図12に示すように、特定部214により生成された競技者32の軌跡情報に基づいて、推定部216により推定された離氷時刻t
Tの直前及び直後の時刻情報に対応するフレームの各々から算出された競技者32の位置を特定する。そして、算出部218は、特定した両位置の間で、離氷時刻t
Tに対応する位置を、離氷点Aとして特定する。なお、
図12では、説明の都合上、競技者32の位置の軌跡を時間軸に対応させた直線で表している。
【0052】
より具体的には、算出部218は、
図13に示すように、離氷時刻t
Tの直前の時刻情報t
T1に対応するフレームをF
T1、離氷時刻t
Tの直後の時刻情報t
T2に対応するフレームをF
T2とする。また、算出部218は、フレームF
T1から算出された競技者32の位置をP
T1、フレームF
T2から算出された競技者32の位置をP
T2とし、P
T1とP
T2との間では、競技者32の位置は直線的に変化するものと仮定する。この場合、算出部218は、P
T1とP
T2との間の位置であって、1フレーム分の時間(t
T2-t
T1)に対するt
Tの割合に対応する位置を、離氷点Aと特定する。すなわち、算出部218は、A=P
T1+(P
T2-P
T1)×(t
T-t
T1)/(t
T2-t
T1)により、離氷点Aを特定する。算出部218は、着氷時刻t
Lに対応する位置である着氷点Bについても、上記の離氷点Aと同様に特定する。これにより、第1実施形態の場合よりも、精度良く離氷点A及び着氷点Bを特定することができる。
【0053】
算出部218は、特定した離氷点Aと着氷点Bとを通る直線を、ジャンプの回転を判定するための基準線(A-B)として特定し、第1実施形態と同様に、ジャンプの区間に含まれるフレームの各々から回転角度θを算出する。
図14に、ジャンプの区間に含まれるフレームの各々から算出された回転角度θの一例を示す。さらに、算出部218は、推定部216により推定された着氷時刻の前後のフレームから算出された回転角度θに基づいて、着氷時刻における回転角度θを算出する。
【0054】
図15を参照して、具体的に説明する。
図15は、
図14の破線枠で示す部分の拡大図である。推定部216により推定された着氷時刻t
Lの直前の時刻情報t
L2に対応するフレームをF
L2、着氷時刻t
Lの直後の時刻情報t
L1に対応するフレームをF
L1とする。また、算出部218は、フレームF
L1から算出されたブレードの回転角度をθ
L1、フレームF
L2から算出された回転角度をθ
L2とし、ジャンプ中の回転速度はほぼ一定であると仮定する。そして、算出部218は、θ
L1とθ
L2との間の回転角度であって、1フレーム分の時間(t
L1-t
L2)に対するt
Lの割合に対応する回転角度を、着氷時刻t
Lにおける回転角度θ
Lとして算出する。すなわち、算出部218は、θ
L=θ
L2+(θ
L1-θ
L2)×(t
L-t
L2)/(t
L1-t
L2)により、回転角度θ
Lを算出する。これにより、第1実施形態の場合よりも、精度良く回転角度を算出することができる。
【0055】
算出部218は、第1実施形態における算出部18と同様に、回転角度以外の情報も算出し、算出結果を出力する。
【0056】
情報処理装置210は、例えば
図7に示すコンピュータ40で実現することができる。コンピュータ40の記憶部43には、コンピュータ40を、情報処理装置210として機能させるための情報処理プログラム250が記憶される。情報処理プログラム250は、取得プロセス252と、特定プロセス254と、推定プロセス256と、算出プロセス258とを有する。
【0057】
CPU41は、情報処理プログラム250を記憶部43から読み出してメモリ42に展開し、情報処理プログラム250が有するプロセスを順次実行する。CPU41は、取得プロセス252を実行することで、
図9に示す取得部212として動作する。また、CPU41は、特定プロセス254を実行することで、
図9に示す特定部214として動作する。また、CPU41は、推定プロセス256を実行することで、
図9に示す推定部216として動作する。また、CPU41は、算出プロセス258を実行することで、
図9に示す算出部218として動作する。これにより、情報処理プログラム250を実行したコンピュータ40が、情報処理装置210として機能することになる。
【0058】
なお、情報処理プログラム250により実現される機能は、例えば半導体集積回路、より詳しくはASIC等で実現することも可能である。
【0059】
次に、第2実施形態に係る情報処理システム200の作用について説明する。第2実施形態では、情報処理装置210において、
図16に示す情報処理ルーチンが実行される。なお、情報処理ルーチンは、開示の技術の情報処理方法の一例である。
【0060】
ステップS210で、取得部212が、カメラ222から出力された映像を取得し、特定部214へ受け渡す。そして、特定部214が、取得部212から受け渡された映像に含まれる複数のフレームの各々における、競技者32が装着するスケートシューズのブレードを含む所定部位の3次元位置(x,y,z)を算出する。この3次元位置(x,y,z)には、競技者32の軌跡情報及びブレードの高さが含まれる。
【0061】
次に、ステップS212で、推定部216が、複数のフレームの各々の時刻情報に対するブレードの高さの変化の度合いが、所定値以内の状態から所定値を超える状態に変化した変化点に対応する時刻を離氷時刻として推定する。また、推定部216が、着氷時刻についても同様に、ブレードの高さzの変化の度合いが、所定値を超える状態から所定値以内の状態に変化した変化点に対応する時刻を着氷時刻として推定する。
【0062】
次に、ステップS214で、算出部218が、競技者32の軌跡情報に基づいて、推定された離氷時刻の直前及び直後の時刻情報に対応するフレームの各々から算出された競技者32の位置を特定する。そして、算出部218が、特定した両位置の間で、離氷時刻に対応する位置を、離氷点Aとして特定する。同様に、算出部218が、推定された着氷時刻の直前及び直後の時刻情報に対応するフレームの各々から算出された競技者32の位置を特定する。そして、算出部218が、特定した両位置の間で、着氷時刻に対応する位置を、着氷点Bとして特定する。さらに、算出部218が、特定した離氷点Aと着氷点Bとを通る直線を、ジャンプの回転を判定するための基準線(A-B)として特定する。
【0063】
次に、ステップS216で、算出部218が、特定した基準線(A-B)を用いて、ジャンプの区間に含まれるフレームの各々から回転角度θを算出する。そして、算出部218が、推定された着氷時刻の直前及び直後の時刻情報に対応するフレームの各々から算出された回転角度の間で、着氷時刻に対応する回転角度を算出する。
【0064】
次に、ステップS218で、算出部218が、回転角度以外の情報も算出し、上記ステップS216で算出した回転角度も合わせ、算出結果を出力し、情報処理ルーチンは終了する。
【0065】
以上説明したように、第2実施形態に係る情報処理システムによれば、情報処理装置が、スケートリンク上の競技者を撮影するカメラで撮影された映像を取得する。また、情報処理装置が、取得した映像に含まれる複数のフレームの各々における、競技者が装着するスケートシューズのブレードの高さを特定する。そして、情報処理装置が、ブレードの高さの変化、及び複数のフレームの各々の時刻情報に基づいて、ジャンプの離氷時刻及び着氷時刻を推定する。これにより、競技者及び競技者が装着する装着物にセンサ等を取り付けることなく、フィギュアスケートにおけるジャンプの離氷時刻及び着氷時刻を推定することができる。
【0066】
また、情報処理装置は、ブレードの高さの変化の変化点を検出し、その変化点に対応する時刻情報を離氷時刻及び着氷時刻として推定することで、フレーム間の時間間隔よりも詳細な離氷時刻及び着氷時刻を推定することができる。さらに、詳細に推定された離氷時刻及び着氷時刻に基づいて、ジャンプの着氷時の回転角度等の情報を精度良く算出することができる。
【0067】
<第3実施形態>
次に、第3実施形態について説明する。なお、第3実施形態に係る情報処理システムにおいて、第1実施形態に係る情報処理システム100、及び第2実施形態に係る情報処理システム100と同様の構成については、同一符号を付して詳細な説明を省略する。
【0068】
図1及び
図2に示すように、第3実施形態に係る情報処理システム300は、情報処理装置310と、トラッキング用カメラ20と、特定用カメラ22とを含む。情報処理装置310は、機能的には、
図2に示すように、取得部12と、特定部14と、推定部216と、算出部218とを含む。すなわち、第3実施形態に係る情報処理装置310は、第1実施形態に係る情報処理装置10と、第2実施形態に係る情報処理装置210とを組み合わせた構成である。
【0069】
具体的には、情報処理装置310は、第1実施形態と同様に、トラッキング用カメラ20で撮影された映像から取得した競技者32の位置に基づいて、複数の特定用カメラ22から最適な特定用カメラ22を選択する。そして、情報処理装置310は、選択した特定用カメラ22で撮影された映像から、ブレードを含む所定部位の3次元位置を算出する。これにより、ブレードの高さも特定される。さらに、情報処理装置310は、ブレードの高さの変化の変化点を検出し、変化点に対応する時刻情報を離氷時刻及び着氷時刻として推定する。
【0070】
情報処理装置310は、例えば
図7に示すコンピュータ40で実現することができる。コンピュータ40の記憶部43には、コンピュータ40を、情報処理装置310として機能させるための情報処理プログラム350が記憶される。情報処理プログラム350は、取得プロセス52と、特定プロセス54と、推定プロセス256と、算出プロセス258とを有する。
【0071】
CPU41は、情報処理プログラム350を記憶部43から読み出してメモリ42に展開し、情報処理プログラム350が有するプロセスを順次実行する。CPU41は、取得プロセス52を実行することで、
図2に示す取得部12として動作する。また、CPU41は、特定プロセス54を実行することで、
図2に示す特定部14として動作する。また、CPU41は、推定プロセス256を実行することで、
図2に示す推定部216として動作する。また、CPU41は、算出プロセス258を実行することで、
図2に示す算出部218として動作する。これにより、情報処理プログラム350を実行したコンピュータ40が、情報処理装置310として機能することになる。
【0072】
なお、情報処理プログラム350により実現される機能は、例えば半導体集積回路、より詳しくはASIC等で実現することも可能である。
【0073】
次に、第3実施形態に係る情報処理システム200の作用について説明する。第3実施形態では、情報処理装置210において、
図8に示す情報処理ルーチンのステップS10~S14、及び
図16に示す情報処理ルーチンのステップS212~S218が実行される。
【0074】
以上説明したように、第3実施形態に係る情報処理システムによれば、第1実施形態と第2実施形態値を組み合わせた構成により、フィギュアスケートにおけるジャンプの離氷時刻及び着氷時刻を、より精度良く推定することができる。
【0075】
なお、第1及び第3実施形態では、フレーム毎に、トラッキング用カメラ20で撮影された映像から取得した競技者32の位置に基づいて、複数の特定用カメラ22から最適な特定用カメラ22を選択する場合について説明したが、これに限定されない。トラッキング用カメラ20で撮影された映像から、大まかな離氷時刻及び着氷時刻を取得し、その離氷時刻及び着氷時刻に対応するフレームについて、最適な特定用カメラ22を選択するようにしてもよい。
【0076】
具体的には、情報処理装置は、トラッキング用カメラ20で撮影された映像の各フレームから、競技者32の所定部位の高さ方向の位置も含む3次元位置を取得する。そして、情報処理装置は、所定部位の高さが、着氷時の高さを示す基準値を超えたフレーム又は基準値を超える1つ前のフレームの時刻情報を、大まかな離氷時刻として取得する。また、情報処理装置は、所定部位の高さが、基準値を超えた状態から基準値に戻ったフレーム又は基準値に戻る1つ前のフレームの時刻情報を、大まかな着氷時刻として取得する。そして、情報処理装置は、大まかな離氷時刻に対応するフレームの所定数前のフレームから、大まかな着氷時刻に対応するフレームの所定数後のフレームまでの区間を特定する。そして、情報処理装置は、特定した区間に含まれる各フレームから取得されている競技者32のスケートリンク30上での位置に基づいて、その区間に含まれる各フレームについて、
図3を用いて説明したように、適切な特定用カメラ22を選択する。これにより、最適な特定用カメラ22の選択、及び特定用カメラ22で撮影された映像に対する処理の実行を、ジャンプの区間に限定することができ、処理量を削減することができる。
【0077】
また、上記各実施形態では、情報処理プログラムが記憶部に予め記憶(インストール)されている態様を説明したが、これに限定されない。開示の技術に係るプログラムは、CD-ROM、DVD-ROM、USBメモリ等の記憶媒体に記憶された形態で提供することも可能である。
【符号の説明】
【0078】
100、200 情報処理システム
10、210、310 情報処理装置
12、212 取得部
14、214 特定部
16、216 推定部
18、218 算出部
20 トラッキング用カメラ
22 特定用カメラ
22A 第1カメラ
22B 第2カメラ
222 カメラ
30 スケートリンク
32 競技者
34 ブレードの先端
36 ブレードの終端
40 コンピュータ
41 CPU
42 メモリ
43 記憶部
49 記憶媒体
50、250、350 情報処理プログラム