(58)【調査した分野】(Int.Cl.,DB名)
前記ボール候補の位置を追加する処理は、前記第1画像フレームから検出したボール候補の位置と、前記運動定義情報とを基にして、前記第2画像フレームのボール候補の位置を推定し、推定したボール候補の位置を基準とした所定の範囲にボール候補が存在しない場合に、推定したボール候補の位置を追加することを特徴とする請求項1に記載の画像処理プログラム。
前記ボール候補の位置を追加する処理は、推定したボール候補の位置を基準とした所定の範囲に含まれない前記第2画像フレームのボール候補にロスト情報を付与し、前記複数のボールの軌跡候補を評価する処理は、前記軌跡候補の含まれるロスト情報を基にして、前記ボールの軌跡を決定することを特徴とする請求項2に記載の画像処理プログラム。
前記複数のボールの軌跡を決定する処理は、前記複数の軌跡候補について、前記ロスト情報が付与されたボール候補の数を計数し、計数した数が閾値未満となるボールの軌跡候補から、前記ボールの軌跡を決定することを特徴とする請求項3に記載の画像処理プログラム。
前記ボールの軌跡を決定する処理は、複数の軌跡候補を評価して軌跡を決定し、前記補間する処理は、決定された軌跡と、複数の軌跡候補とを比較して、前記軌跡に前記軌跡候補を接続して、新たな軌跡を生成することを特徴とする請求項1〜4のいずれか一つに記載の画像処理プログラム。
前記ボールの軌跡を決定する処理は、前記人物が競技を行うフィールド上のランドマークの位置情報を更に利用して、前記複数の軌跡候補を評価し、ボールの軌跡を決定することを特徴とする請求項1〜5のいずれか一つに記載の画像処理プログラム。
前記ボールの軌跡を決定する処理は、前記軌跡の始点と、前記軌跡候補の終点との間に人物の軌跡が存在する場合に、前記軌跡と、人物の軌跡と、前記軌跡候補とを接続した軌跡を生成し、生成した軌跡を、前記ボールの軌跡として決定することを特徴とする請求項1〜6のいずれか一つに記載の画像処理プログラム。
前記ボールの軌跡と、前記人物の軌跡とを基にして、前記人物がボールをドリブルした距離、ボールをパスした回数を計算する処理を更にコンピュータに実行させることを特徴とする請求項1〜7のいずれか一つに記載の画像処理プログラム。
時系列の複数の画像フレームからボール候補を検出し、前記複数の画像フレームのうち、第1画像フレームから検出したボール候補の位置と、ボールの運動の特徴を定義した運動定義情報とを基にして、前記第1画像フレームの後の第2画像フレームに、ボール候補を追加するボール検出部と、
異なる時刻の画像フレームから検出された複数のボール候補の位置をそれぞれ組み合わせることで、複数の軌跡候補を生成する生成部と、
前記複数の軌跡候補を評価して、ボールの軌跡を決定し、前記ボールの軌跡が途切れた場合に、途切れの始点と終点との間を、前記始点から前記終点まで移動する人物の軌跡で補間する軌跡決定部と
を有することを特徴とする情報処理装置。
【発明を実施するための形態】
【0012】
以下に、本願の開示する画像処理プログラム、画像処理方法および情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例1】
【0013】
図1は、本実施例1に係るシステムの一例を示す図である。
図1に示すように、このシステムは、カメラ10a,10b,10c,10dと、情報処理装置100とを有する。図示を省略するが、競技エリア5において、複数の選手がボールを用いた競技を行うものとする。たとえば、選手が行う競技は、サッカー、バスケット、ハンドボール、ホッケー、ラグビー、ラクロス等の競技を含む。カメラ10a,10b,10c,10dと、情報処理装置100とは相互に接続される。
【0014】
カメラ10a〜10dは、競技エリア5の映像を撮影するカメラである。本実施例1では、一例として、カメラ10a〜10dを用いて、競技エリア5を分割して撮影する。
図2は、カメラの撮影範囲の一例を示す図である。
図2に示すように、カメラ10aの撮影範囲は撮影範囲11aである。カメラ10bの撮影範囲は撮影範囲11bである。カメラ10cの撮影範囲は撮影範囲11cである。カメラ10dの撮影範囲は撮影範囲11dである。撮影範囲11a〜11dにより、競技エリア5全体を撮影することができる。
【0015】
カメラ10a〜10dは、撮影範囲の映像データを、情報処理装置100に送信する。映像データは、時系列に並んだ複数の画像フレームを含む。画像フレームは、1コマの静止画像のデータである。以下の説明では、カメラ10a〜10dをまとめて、適宜、カメラ10と表記する。なお、映像データには、映像データを撮影したカメラ10を識別する情報が付与される。
【0016】
情報処理装置100は、カメラ10から映像データに含まれる各画像フレームを解析し、競技エリア5上のボールの位置を追跡する装置である。たとえば、情報処理装置100は、各画像フレームから検出したボールの候補の位置を、ボールの運動予測に基づいて追跡する。また、情報処理装置100は、画像フレームからボールの候補を検出しない期間のボールの軌跡を、選手の動きの軌跡を基にして生成する。
【0017】
図3は、本実施例1に係る情報処理装置の構成を示す図である。
図3に示すように、この情報処理装置100は、通信部110と、入力部120と、表示部130と、記憶部140と、制御部150とを有する。
【0018】
通信部110は、ネットワーク等を介して、カメラ10との間でデータ通信を実行する処理部である。たとえば、カメラ10から映像データを受信する。通信部110は、受信した映像データを、制御部150に出力する。通信部110は、通信装置の一例である。
【0019】
入力部120は、情報処理装置100に各種の情報を入力するための入力装置である。入力部120は、たとえば、キーボードやマウス、タッチパネル等に対応する。
【0020】
表示部130は、制御部150から出力される各種の情報を表示するための表示装置である。表示部130は、たとえば、液晶ディスプレイ、タッチパネル等に対応する。
【0021】
記憶部140は、バッファ140a、変換テーブル140b、ボール管理テーブル140c、選手管理テーブル140d、運動定義情報140e、軌跡候補管理テーブル140f、軌跡管理テーブル140g、統計情報140hを有する。記憶部140は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。
【0022】
バッファ140aは、カメラ10から送信される映像データを保持するバッファである。
図4は、本実施例1に係るバッファのデータ構造の一例を示す図である。
図4に示すように、バッファ140aは、複数のテーブル141a,141b,141c,141dを有する。
【0023】
テーブル141aは、カメラ10aが撮影した映像データを格納するテーブルである。テーブル141bは、カメラ10bが撮影した映像データを格納するテーブルである。テーブル141cは、カメラ10cが撮影した映像データを格納するテーブルである。テーブル141dは、カメラ10dが撮影した映像データを格納するテーブルである。
【0024】
テーブル141a〜141dはそれぞれ、カメラ識別情報と、フレーム番号と、時刻と、画像フレームとを対応づける。カメラ識別情報は、カメラ10を一意に識別する情報である。フレーム番号は、画像フレームを一意に識別する情報である。時刻は、画像フレームを撮影した時刻を示す。画像フレームは、フレーム番号に対応する画像フレームである。
【0025】
変換テーブル140bは、カメラ10が撮影した画像フレーム上の座標と、競技エリア5上の座標とを対応づけるテーブルである。
図5は、本実施例1に係る変換テーブルのデータ構造の一例を示す図である。
図5に示すように、変換テーブル140bは、第1変換テーブル142aと、第2変換テーブル142bと、第3変換テーブル142cと、第4変換テーブル142dとを有する。
【0026】
第1変換テーブル142aは、カメラ10aが撮影する画像フレーム上の座標と、競技エリア5上の座標とを対応づけるテーブルである。第2変換テーブル142bは、カメラ10bが撮影する画像フレーム上の座標と、競技エリア5上の座標とを対応づけるテーブルである。第3変換テーブル142cは、カメラ10cが撮影する画像フレーム上の座標と、競技エリア5上の座標とを対応づけるテーブルである。第4変換テーブル142dは、カメラ10dが撮影する画像フレーム上の座標と、競技エリア5上の座標とを対応づけるテーブルである。
【0027】
ここでは一例として、第2変換テーブル142bのデータ構造について説明する。
図6は、第2変換テーブルのデータ構造の一例を示す図である。
図6に示すように、第2変換テーブル142bは、画像フレーム座標と、全体座標とを対応づける。画像フレーム座標は、カメラ10bが撮影した画像フレーム上の座標を示すものである。画像フレーム座標を、ピクセルによって示す。全体座標は、競技エリア5の座標を示すものである。全体座標を、mによって示す。たとえば、画像フレーム座標「0,1」は、全体座標「25.2,13,6」に対応する。
【0028】
図7は、画像フレーム座標系と全体座標系との関係を説明するための図である。
図7において、画像フレーム5bは、ある時刻において、カメラ10bにより撮影された画像フレームに対応する。たとえば、画像フレーム5b上の画像フレーム座標(x
n,y
n)は、競技エリア5上の全体座標(X
n,Y
n)に対応する。
【0029】
ここでは説明を省略するが、第1変換テーブル142a、第3変換テーブル142c、第4変換テーブル142dも同様にして、画像フレーム座標と、全体座標との関係を定義する。
【0030】
図3の説明に戻る。ボール管理テーブル140cは、各画像フレームから検出されたボールの候補に関する情報を保持するテーブルである。
図8は、本実施例1に係るボール管理テーブルのデータ構造の一例を示す図である。
図8に示すように、このボール管理テーブル140cは、テーブル143aとテーブル143bとを有する。
【0031】
図8において、ボール管理テーブル140cのテーブル143aは、各時刻で検出したボール候補の座標に関する情報を保持する。テーブル143aは、時刻と、候補数と、候補識別情報と、座標とを対応づける。このうち、時刻は、ボール候補を検出した時刻を示す。候補数は、同一時刻にカメラ10a〜10dが撮影した各画像フレームに含まれるボール候補の数を示すものである。候補識別情報は、画像フレーム上のボール候補を一意に識別する情報である。座標は、ボールの座標(全体座標)を示す情報である。同一時刻に複数のボール候補が検出された場合には、候補識別情報と座標との組が、同一レコードに複数登録される。
【0032】
図8において、ボール管理テーブル140cのテーブル143bは、各画像フレームで検出されたボール候補にロストフラグが付与されたか否かを区別する情報を保持する。
図8に示すように、テーブル143bは、候補識別情報と、ロストフラグとを対応づける。ロストフラグが「0」である場合には、ロストフラグが付与されていないことを示す。ロストフラグが「1」である場合には、ロストフラグが付与されていることを示す。ロストフラグの初期値を「0」とする。ロストフラグの付与に関する具体的な説明は後述するが、たとえば、ボール候補がボールである可能性が低い場合に、ロストフラグが付与される。また、ボール軌跡の候補に関して、ロストフラグが「1」に設定されたボール候補の総数が閾値以上となるものは、ボール軌跡の候補から除外される。
【0033】
選手管理テーブル140dは、各画像フレームから検出された各選手の位置情報を保持するテーブルである。
図9は、本実施例1に係る選手管理テーブルのデータ構造の一例を示す図である。
図9に示すように、選手管理テーブル140dは、時刻と、各選手識別情報の選手の座標とを対応づける。選手識別情報は、選手を一意に識別する情報である。選手識別情報の選手の座標は、全体座標系の座標である。たとえば、時刻「T1」において、選手識別情報「H101」の選手が座標(xa11,ya11)に位置し、選手識別情報「H102」の選手が座標(xa21,ya21)に位置することが示されている。
【0034】
運動定義情報140eは、ボールの運動に関する情報を保持する。後述するように、情報処理装置100は、運動定義情報140eを利用して、ボールの軌跡を予測する。
図10は、本実施例1に係る運動定義情報のデータ構造の一例を示す図である。
図10に示すように、この運動定義情報は、イベント識別情報と、形状と、速度とを対応づける。イベント識別情報は、選手が行うパスや、シュート、センタリング等のイベントを識別する情報である。形状は、イベントに対応するボールの運動の軌跡を示すものである。速度は、イベントに対応するボールの速度を示すものである。
【0035】
軌跡候補管理テーブル140fは、ボールの軌跡の候補に関する情報を保持するテーブルである。
図11は、本実施例1に係る軌跡候補管理テーブルのデータ構造の一例を示す図である。
図11に示すように、この軌跡候補管理テーブル140fは、軌跡候補識別情報と、総ロスト回数と、候補識別情報と、座標とを対応づける。軌跡候補識別情報は、ボール軌跡の候補を一意に識別する情報である。総ロスト回数は、ボール軌跡の候補に含まれるボール候補のうち、ロストフラグが付与されたボール候補の総数を示すものである。候補識別情報は、ボール軌跡の候補に含まれるボールの候補を一意に識別する情報である。座標は、ボール軌跡の候補に含まれる各ボール候補の座標を示すものである。同一レコードの各座標を辿った軌跡が、ボール軌跡の候補となる。
【0036】
軌跡管理テーブル140gは、確定したボール軌跡に関する情報を保持するテーブルである。本実施例1では、確定したボール軌跡を単に、ボール軌跡と表記する。
図12は、本実施例1に係る軌跡管理テーブルのデータ構造の一例を示す図である。
図12に示すように、軌跡管理テーブル140gは、軌跡識別情報と、候補識別情報と、座標と、対応情報とを対応づける。軌跡識別情報は、ボール軌跡を一意に識別する情報である。候補識別情報は、ボール軌跡を構成する各ボール候補を一意に識別する情報である。座標は、ボール軌跡に含まれる各ボール候補の座標を示すものである。
【0037】
対応情報は、ボール軌跡のうち、選手の移動軌跡に関する情報を示す。たとえば、軌跡識別情報「K101」のボール軌跡には、選手識別情報「H101」の選手が期間Ta1〜Ta10の間に移動した軌跡と、選手識別情報「H102」の選手が期間Tb15〜Tb20の間に移動した軌跡とを含むことが示されている。
【0038】
統計情報140hは、選手に関する統計情報を保持するテーブルである。
図13は、本実施例1に係る統計情報のデータ構造の一例を示す図である。
図13に示すように、この統計情報140hは、選手識別情報と、運動量と、ドリブル距離と、パス回数とを対応づける。選手識別情報は、選手を一意に識別する情報である。運動量は、試合中に選手が移動した距離を示す。ドリブル距離は、試合中に選手がボールをドリブルしつつ移動した距離を示す。パス回数は、試合中に選手がボールをパスした回数を示す。
【0039】
図3の説明に戻る。制御部150は、受信部150aと、ボール検出部150bと、選手検出部150cと、生成部150dと、軌跡決定部150eと、統計情報生成部150fとを有する。また、制御部150は、出力部150gを有する。制御部150は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などによって実現できる。また、制御部150は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによっても実現できる。
【0040】
受信部150aは、カメラ10から映像データを受信する処理部である。受信部150aは、受信した映像データを、バッファ140aに格納する。受信部150aは、カメラ10aから受信した映像データを、バッファ140aのテーブル141aに格納する。受信部150aは、カメラ10bから受信した映像データを、バッファ140aのテーブル141bに格納する。受信部150aは、カメラ10cから受信した映像データを、バッファ140aのテーブル141cに格納する。受信部150aは、カメラ10dから受信した映像データを、バッファ140aのテーブル141dに格納する。
【0041】
ボール検出部150bは、バッファ140aに格納された各画像フレームから、ボール候補の位置を検出する処理部である。ボール検出部150bは、検出部の一例である。たとえば、ボール検出部150bは、ボール候補の位置を検出する処理、ボール候補の位置を追加する処理を実行する。
【0042】
ボール検出部150bが、ボール候補の位置を検出する処理について説明する。ここでは一例として、バッファ140aのテーブル141aに格納されたカメラ10aに撮影された映像データ(画像フレーム)から、ボール候補を検出する処理について説明する。ボール検出部150bは、テーブル141aから、時刻T1の画像フレームと、時刻T2の画像フレームとの差分画像を生成する。ボール検出部150bは、差分画像に残った領域の面積と、ボールの面積を定義したテンプレートとの比較を行い、テンプレートの面積との差が閾値未満となる差分画像上の領域を、ボール候補として検出する。
【0043】
図14は、本実施例1に係るボール検出部の処理を説明するための図(1)である。
図14に示す例では、差分画像15に、領域15a,15b,15c,15d,15eが含まれている。たとえば、テンプレートに定義された面積との差分が閾値未満となる領域を、領域15a,15c,15eとする。この場合には、ボール検出部150bは、領域15a,15c,15eをボール候補として検出する。
【0044】
ボール検出部150bは、差分画像から算出したボール候補の座標(画像フレーム座標)を、変換テーブル140bを基にして、全体座標に変換する。ボール検出部150bは、ボール候補にユニークな候補識別情報を割り当てる。ボール検出部150bは、時刻と、候補識別情報と、座標(全体座標)とを対応づけて、テーブル143aに登録する。
【0045】
たとえば、ボール検出部150bは、差分画像15の領域15aの平均座標と、第1変換テーブル142aとを比較して、ボール候補の全体座標(x11,y11)を得る。たとえば、差分画像15は、時刻T1の画像フレームと、時刻T2の画像フレームとの差分画像とする。ボール検出部150bは、領域15aに対応するボール候補に、候補識別情報「B1001」を割り当てる。この場合には、ボール検出部150bは、時刻T1と、候補識別情報「B1001」と、座標「x11,y11」とを対応づけて、テーブル143aに登録する。ボール検出部150bは、差分画像15の領域15c,15eについても、同様の処理を実行する。
【0046】
ボール検出部150bは、バッファ140aのテーブル141b〜141dに格納された映像データ(画像フレーム)についても、上記と同様の処理を行うことで、差分画像から、ボール候補を抽出し、時刻と、候補識別情報と、座標とを対応づけて、テーブル143aに登録する。なお、ボール検出部150bは、同一時刻において、座標の差が閾値未満となる複数のボール候補を検出した場合には、いずれか一つのボール候補の情報を、ボール管理テーブル140cに登録し、残りのボール候補を削除する処理を実行する。
【0047】
続いて、ボール検出部150bが、ボール候補の位置を追加する処理について説明する。ボール検出部150bは、運動定義情報140eを基にして、ボール候補の位置を予測することで、ボール管理テーブル140cに登録できなかったボール候補に関する情報を補う。なお、ボール検出部150bは、運動定義情報140eを基にして、ボール候補の位置を予測し、予測した位置に既にボール候補が存在している場合には、ボール候補を追加しない。
【0048】
図15は、本実施例1に係るボール検出部の処理を説明するための図(2)である。
図15のステップS10について説明する。ボール候補18は、時刻t−2において検出されたボール候補とする。ボール候補19は、時刻t−1において検出されたボール候補とする。ボール候補20a,20b,20cは、時刻tにおいて検出されたボール候補とする。
【0049】
ボール検出部150bは、ボール候補19を基準とし、運動定義情報140eで定義されたイベント識別情報に対応する形状および速度を基にして、時刻tにおけるボール候補の移動先の領域21を予測する。ここでは一例として、ボール検出部150bには、イベント識別情報が予め設定されているものとする。
【0050】
図15のステップS11について説明する。ボール検出部150bは、時刻tにおいて、領域21にボール候補が存在しない場合には、領域21に、ボール候補20dを追加する。ボール検出部150bは、ボール候補20dに関する情報を、ボール管理テーブル140cに登録する。すなわち、ボール検出部150bは、時刻tに対応づけて、ボール候補20dの候補識別情報、座標を、ボール管理テーブル140cに登録する。
【0051】
ボール検出部150bは、時刻tにおいて、領域21に含まれないボール候補20a,20b,20cを特定する。ボール検出部150bは、ボール管理テーブル140cにおいて、ボール候補20a,20b,20cに対するロストフラグを「1」に設定する。また、ステップS10のように、時刻t−1のボール候補19を基準とした、移動先の領域21に、ボール候補が存在しない場合には、ボール候補19に対するロストフラグを「1」に設定する。
【0052】
図16は、本実施例1に係るボール検出部の処理を説明するための図(3)である。
図16のステップS20について説明する。ボール候補18は、時刻t−2において検出されたボール候補とする。ボール候補19は、時刻t−1において検出されたボール候補とする。ボール候補20a,20b,20c,20fは、時刻tにおいて検出されたボール候補とする。
【0053】
ボール検出部150bは、ボール候補19を基準とし、運動定義情報140eで定義されたイベント識別情報に対応する形状および速度を基にして、時刻tにおけるボール候補の移動先の領域21を予測する。ここでは一例として、ボール検出部150bには、イベント識別情報が予め設定されているものとする。
【0054】
図16のステップS21について説明する。ボール検出部150bは、時刻tにおいて、領域21にボール候補20fが存在しているため、
図15のステップS11で説明したようなボール候補の追加を行わない。ボール検出部150bは、ボール管理テーブル140cにおいて、ボール候補20a,20b,20cに対するロストフラグを「1」に設定する。
【0055】
なお、ボール検出部150bは、前の時刻にボール候補が存在していない場合には、現時刻で検出した各ボール候補のロストフラグを「1」に設定する。
【0056】
図3の説明に戻る。選手検出部150cは、各画像フレームから選手を検出する処理部である。ここでは、選手検出部150cは、バッファ140aのテーブル141aに格納されたカメラ10aに撮影された映像データ(画像フレーム)から、選手を検出する処理について説明する。選手検出部150cは、テーブル141aから、時刻T1の画像フレームと、時刻T2の画像フレームとの差分画像を生成する。選手検出部150cは、差分画像に残った領域の面積と、選手の面積を定義したテンプレートとの比較を行い、テンプレートの面積との差が閾値未満となる差分画像上の領域を、選手として検出する。
【0057】
選手検出部150cは、差分画像から算出したボール候補の座標(画像フレーム座標)を、変換テーブル140bを基にして、全体座標に変換する。選手検出部150cは、選手にユニークな選手識別情報を割り当てる。ボール検出部150bは、時刻と、選手識別情報に対応する座標(全体座標)とを対応づけて、選手管理テーブル140dに登録する。選手検出部150cは、選手の運動予測を行って、異なる時刻から検出される同一の選手を追跡する。
【0058】
選手検出部150cは、バッファ140aのテーブル141b〜141dに格納された映像データ(画像フレーム)についても、上記と同様の処理を行うことで、差分画像から、選手を抽出し、時刻と、選手識別情報に対応する座標とを対応づけて、選手管理テーブル140dに登録する。
【0059】
なお、本実施例1では一例として、選手検出部150cが、選手管理テーブル140dを生成する場合について説明したが、これに限定されるものではない。たとえば、情報処理装置100は、競技エリア5で競技を行う各選手の軌跡を追跡する他の追跡装置から、選手管理テーブル140dを取得してもよい。
【0060】
生成部150dは、ボール管理テーブル140cを基にして、ボール軌跡の候補を生成する処理部である。生成部150dは、生成したボール軌跡の候補の情報を、軌跡候補管理テーブル140fに登録する。
【0061】
図17は、本実施例1に係る生成部の処理を説明するための図である。たとえば、時刻t−2にボール候補18が検出され、時刻t−1にボール候補19が検出された場合には、生成部150dは、ボール候補18の座標とボール候補19の座標とを結ぶボール軌跡の候補を生成する。以下の説明において、ボール軌跡の候補を「軌跡候補」と表記する。
【0062】
時刻tにおいて、ボール候補20a,20b,20c,20dが検出された場合には、生成部150dは、軌跡候補k111,k112,k113,k114を生成する。軌跡候補k111は、ボール候補18,19,20aを含む。軌跡候補k112は、ボール候補18,19,20bを含む。軌跡候補k113は、ボール候補18,19,20cを含む。軌跡候補k114は、ボール候補18,19,20dを含む。
【0063】
生成部150dは、上記のように、各時刻で検出したボール候補をそれぞれ組み合わせることで、軌跡候補を生成する。生成部150dは、生成した軌跡候補の情報を、軌跡候補管理テーブル140fに登録する。たとえば、生成部150dは、軌跡候補識別情報と、総ロスト回数と、候補識別情報と、座標とを対応づけて、軌跡候補管理テーブル140fに登録する。生成部150dは、軌跡候補に含まれるボール候補のうち、ロストフラグが「1」となるボール候補の総数を、総ロスト回数として算出する。
【0064】
図3の説明に戻る。軌跡決定部150eは、軌跡候補管理テーブル140fに含まれる複数の軌跡候補を評価し、ボールの軌跡を決定する処理部である。たとえば、軌跡決定部150eは、軌跡候補を追加する処理と、複数の軌跡候補からボール軌跡を決定する処理を順に実行する。
【0065】
軌跡決定部150eが実行する軌跡候補を追加する処理について説明する。軌跡決定部150eは、各軌跡候補と、選手の移動軌跡とを比較し、選手の移動軌跡と重なる軌跡候補については、選手の移動軌跡を追加した軌跡を、新たな候補軌跡として追加する。
【0066】
図18は、本実施例1に係る軌跡決定部の処理を説明するための図(1)である。
図18のステップS30に示すように、軌跡候補k121,k122,k123が存在する。また、ある選手の移動軌跡を、移動軌跡p101とする。
図18に示す例では、R1において、軌跡候補k121と、移動軌跡p101とが重複している。R2において、軌跡候補k122と、移動軌跡p101とが重複している。ただし、R1に対応するk121のボール候補の時刻と、移動軌跡p101の選手の時刻との差分を閾値未満とする。R2に対応するk122のボール候補の時刻と、移動軌跡p101の選手の時刻との差分を閾値未満とする。
【0067】
図18のステップS31について説明する。軌跡決定部150eは、R1とR2との間の移動軌跡を、軌跡候補として補間することで、軌跡候補k124を新たに追加する。たとえば、R1とR2との移動軌跡における選手の位置を、ボール候補の位置とする。軌跡決定部150eは、追加した軌跡候補の情報を、軌跡管理テーブル140gに登録する。なお、選手の位置に対応するボール候補のロストフラグを「0」とする。
【0068】
また、軌跡決定部150eは、R1とR2との間の移動軌跡を基にして、対応情報を生成する。対応情報は、R1とR2との間の移動軌跡に対応する選手の選手識別情報と、R1からR2までの期間の情報を含む。たとえば、軌跡決定部150eは、軌跡候補k124に、生成した移動軌跡の情報を対応づけておくものとする。
【0069】
続いて、軌跡決定部150eが複数のボール軌跡候補からボール軌跡を決定する処理について説明する。
図19は、本実施例1に係る軌跡決定部の処理を説明するための図(2)である。
図19に示す例では、軌跡候補k122,k123,k124が含まれる。軌跡候補k124は、ある選手から他の選手にボールが渡った場合の軌跡候補と考えられる。軌跡候補k122は、ある選手から他の選手を交差して、その先に進んでいる場合の軌跡候補と考えられる。軌跡候補k123は、ある選手から右方向にボールが移動している場合の軌跡候補と考えられる。
【0070】
軌跡決定部150eは、複数の軌跡候補のうち、総ロスト回数が閾値以上となる軌跡候補が存在する場合には、総ロスト回数が閾値以上となる軌跡候補を削除する。また、軌跡決定部150eは、総ロスト回数が閾値未満となる軌跡候補のうち、選手の移動軌跡と一定時間(予め設定される時間幅)以上重複しない軌跡候補を削除する。軌跡決定部150eは、上記のように、軌跡候補を削除する処理を実行し、最終的に残った軌跡候補を、正しいボールの軌跡として決定する。
【0071】
たとえば、
図19において、軌跡候補k122の総ロスト回数が閾値以上となる場合には、軌跡決定部150eは、軌跡候補k122を削除する。また、軌跡候補k123が、一定時間以上、選手の移動軌跡と重複しないため、軌跡決定部150eは、軌跡候補123を削除する。この場合には、軌跡決定部150eは、残った軌跡候補k124を、ボールの軌跡として決定する。
【0072】
軌跡決定部150eは、ボールの軌跡にユニークな軌跡識別情報を割り当て、ボールの軌跡の情報を、軌跡管理テーブル140gに登録する。たとえば、ボールの軌跡の情報は、
図12で説明したように、軌跡識別情報と、候補識別情報と、座標と、対応情報とが含まれる。
【0073】
図3の説明に戻る。統計情報生成部150fは、選手管理テーブル140dおよび軌跡管理テーブル140gを基にして、統計情報140hを生成する処理部である。たとえば、統計情報生成部150fは、統計情報として、選手の運動量、ドリブル距離、パス回数を算出する。
【0074】
統計情報生成部150fが、選手の運動量を算出する処理の一例について説明する。統計情報生成部150fは、選手管理テーブル140dを参照し、各時刻間の移動距離を積算することで、運動量を算出する。たとえば、時刻tの選手の座標を(x
t,y
t)とすると、時刻tから、時刻t+nまでの、選手の運動量は、式(1)により算出される。式(1)において、時刻tは、試合の開始時刻とし、時刻t+nは、試合の終了時刻とする。
【0075】
【数1】
【0076】
統計情報生成部150fが、選手のドリブル距離を算出する処理の一例について説明する。統計情報生成部150fは、軌跡管理テーブル140gの対応情報を参照し、選手識別情報と、この選手識別情報に対応する選手がボールとともに移動した期間を特定する。統計情報生成部150fは、選手識別情報および選手がボールとともに移動した期間と、選手管理テーブル140dとを比較し、選手がボールとともに移動した各時刻の座標を特定する。統計情報生成部150fは、式(2)により、選手のドリブル距離を算出する。式(2)において、時刻taは、選手がボールとともに移動した期間の開始時刻であり、naは、選手がボールとともに移動した期間の終了時刻である。なお、統計情報生成部150fは、選手が連続してドリブルした期間が複数存在する場合には、各期間のドリブル距離をそれぞれ算出し、算出した各ドリブル距離を合計することで、最終的なドリブル距離を求める。
【0077】
【数2】
【0078】
統計情報生成部150fが、選手のパス回数を算出する処理の一例について説明する。たとえば、統計情報生成部150fは、軌跡管理テーブル140gの対応情報を参照し、選手識別情報の切り替わりを基にして、選手のパス回数を算出する。たとえば、ある軌跡識別情報の対応情報について、選手識別情報「H101」の期間が、期間Ta1〜Ta10であり、他の選手識別情報の期間が期間Tb15から開始されたとする。統計情報生成部150fは、上記の時刻Ta10から時刻Tb15までの期間が、所定期間内に含まれる場合に、選手識別情報「H101」の選手のパス回数に1をインクリメントする。統計情報生成部150fは、上記処理を繰り返し実行することで、選手のパス回数を算出する。
【0079】
統計情報生成部150fは、各選手について、運動量、ドリブル距離、パス回数を算出し、選手の選手識別情報と対応づけて、運動量、ドリブル距離、パス回数を、統計情報140hに登録する。
【0080】
出力部150gは、軌跡管理テーブル140gの情報、統計情報140hの情報を、表示部130に出力して、表示させる処理部である。また、出力部150gは、選手に対応する運動量、パス回数、ドリブル距離をスタッツ情報として、表示部130に表示させる。出力部150gは、選手毎にスタッツ情報を生成し、選手の移動軌跡と対応づけて、スタッツ情報を表示部130に表示させてもよい。
【0081】
なお、出力部150gは、軌跡管理テーブル140gの情報、統計情報140hの情報を、外部のDB(Data base)に格納してもよい。また、出力部150gは、軌跡管理テーブル140gの情報、統計情報140hの情報を圧縮して、DBに格納してもよい。
【0082】
次に、本実施例1に係る情報処理装置100の処理手順の一例について説明する。
図20は、本実施例1に係る情報処理装置の処理手順を示すフローチャートである。
図20に示すように、情報処理装置100の受信部150aは、カメラ10から画像フレームを取得し、バッファ140aに格納する(ステップS101)。
【0083】
情報処理装置100のボール検出部150b(および選手検出部150c)は、バッファ140aから前後の画像フレームを取得し、差分画像を生成する(ステップS102)。ボール検出部150bは、ボール候補を検出し(ステップS103a)、ボール領域の座標を全体座標系へ統合し(ステップS104a)、ステップS105に移行する。
【0084】
選手検出部150cは、選手を検出し(ステップS103b)、選手の座標を全体座標形へ統合し(ステップS104b)、ステップS105に移行する。
【0085】
情報処理装置100の生成部150dは、複数の軌跡候補を生成する(ステップS105)。情報処理装置100の軌跡決定部150eは、複数の軌跡候補から、ボールの軌跡を決定する(ステップS106)。情報処理装置100の統計情報生成部150fは、軌跡管理テーブル140gを基にして、統計情報140hを生成する(ステップS107)。情報処理装置100の出力部150gは、各選手の移動軌跡とスタッツ情報とを対応づけて、表示部130に出力する(ステップS108)。
【0086】
次に、本実施例1に係る情報処理装置100の効果について説明する。情報処理装置100は、差分画像と運動定義情報140eとを基にして検出した各時刻のボール候補を組み合わせることで、複数の軌跡候補を検出し、検出した複数の軌跡候補を評価することで、ボール軌跡を特定する。また、情報処理装置100は、ボール軌跡が途切れる場合に、途切れの始点と終点との間を、かかる始点から終点まで移動する選手の移動軌跡によって補間する。上記のように、ボール軌跡が途絶えた間は、選手がボールとともに移動していると考えられるため、選手の移動軌跡で補間することで、ボールの追跡を途切れなく行うことができる。
【0087】
情報処理装置100は、過去の画像フレームから検出したボール候補の位置と、運動定義情報140eとを基にして現画像フレーム上のボール候補の位置を推定し、推定した位置に、ボール候補が存在しない場合に、ボール候補を追加する処理を行う。これにより、一時的に画像フレームに含まれないボール候補を追加することができる。
【0088】
情報処理装置100は、運動定義情報140eを基にして推定した位置を基準とした所定の範囲に含まれないボール候補に対して、ロストフラグを付与し、ロストフラグに基づく、軌跡候補の総ロスト回数が閾値以上となる軌跡候補を削除する。ロストフラグは、ボールの運動定義にそぐわないボール候補に付与されるため、より、ボールの運動定義に対応したボール軌跡を、軌跡候補から決定することができる。
【実施例2】
【0089】
次に、本実施例2に係る情報処理装置について説明する。図示を省略するが、本実施例2にかかる情報処理装置は、実施例1と同様にして、カメラ10a,10b,10c,10dに接続されているものとする。カメラ10a〜10dに関する説明は、実施例1と同様であるため説明を省略する。
【0090】
図21は、本実施例2に係る情報処理装置の構成を示す図である。
図21に示すように、この情報処理装置200は、通信部210と、入力部220と、表示部230と、記憶部240と、制御部250とを有する。
【0091】
通信部210、入力部220、表示部230に関する説明は、実施例1で説明した、通信部110、入力部120、表示部130に関する説明と同様である。
【0092】
記憶部240は、バッファ240a、変換テーブル240b、ボール管理テーブル240c、選手管理テーブル240d、運動定義情報240e、軌跡候補管理テーブル240f、軌跡管理テーブル240g、統計情報240hを有する。記憶部240は、RAM、ROM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。
【0093】
バッファ240a、変換テーブル240b、ボール管理テーブル240c、選手管理テーブル240d、運動定義情報240eに関する説明は、実施例1で説明した情報140a〜140eに関する説明と同様である。また、軌跡候補管理テーブル240f、軌跡管理テーブル240g、統計情報240hに関する説明は、実施例1で説明した情報140f〜140hに関する説明と同様である。
【0094】
制御部250は、受信部250aと、ボール検出部250bと、選手検出部250cと、生成部250dと、軌跡決定部250eと、統計情報生成部250fと、出力部250gとを有する。制御部250は、CPUやMPUなどによって実現できる。また、制御部250は、ASICやFPGAなどのハードワイヤードロジックによっても実現できる。
【0095】
受信部250a、ボール検出部250b、選手検出部250c、生成部250dに関する説明は、実施例1で説明した、受信部150a、ボール検出部150b、選手検出部150c、生成部150dに関する説明と同様である。また、統計情報生成部250f、出力部250gは、実施例1で説明した、統計情報生成部150f、出力部150gの説明と同様である。
【0096】
軌跡決定部250eは、軌跡候補管理テーブル240fに含まれる複数の軌跡候補を評価し、ボールの軌跡を決定する処理部である。たとえば、軌跡決定部250eは、軌跡候補を追加する処理と、複数の軌跡候補からボール軌跡を決定する処理を順に実行する。ここで、軌跡決定部250eが軌跡候補を追加する処理は、実施例1で説明した、軌跡決定部150eが軌跡候補を追加する処理と同様であるため、説明を省略する。
【0097】
軌跡決定部250eが、複数の軌跡候補からボールの軌跡を決定する処理について説明する。
図22は、本実施例2に係る軌跡決定部の処理を説明するための図である。
図22に示すように、軌跡候補k131,k132,k133が存在する。また、各選手の移動軌跡を、移動軌跡p102,p103,p104とする。
【0098】
軌跡決定部250eは、各軌跡候補k131,k132,k133と、移動軌跡p102、p103,p104とを比較し、軌跡候補と移動軌跡とが重複する部分を特定する。
図22に示す例では、R3,R4,R5において、軌跡候補と移動軌跡とが重複している。ただし、R3,R4,R5に対応するボール候補および選手は、
図18で説明したR1,R2と同様にして、時刻も重複しているものとする。
【0099】
軌跡決定部250eは、複数の軌跡候補のうち、重複する部分に挟まれる軌跡候補を、ボールの軌跡として確定する。たとえば、軌跡決定部250eは、
図22において、重複する部分R4,R5に挟まれる移動軌跡k133を、ボールの軌跡として確定する。なお、軌跡決定部250eは、軌跡候補のうち、挟まれる部分からはみ出る部分については、削除する。
【0100】
軌跡決定部250eは、確定した軌跡候補と、確定していない残りの軌跡候補との比較を行い、確定した軌跡候補と接続する軌跡候補を選択する。ここでは、確定した軌跡候補k133の始点に対応するボール候補を、ボール候補22aとし、次の時刻のボール候補をボール候補22bとする。確定していない軌跡候補k131の終点のボール候補をボール候補23bとし、前の時刻のボール候補をボール候補23aとする。確定していない軌跡候補k132の終点のボール候補をボール候補24bとし、前の時刻のボール候補をボール候補24aとする。
【0101】
軌跡決定部250eは、ボール候補22aとの距離が閾値未満であり、かつ、時刻の差分が閾値未満となるボール候補の終点を有する軌跡候補を選択する。たとえば、ボール候補22aとボール候補23bとの距離が閾値未満であり、かつ、時刻の差分が閾値未満である場合に、軌跡決定部250eは、軌跡候補k131を選択する。一方、ボール候補22aとボール候補24bとの距離が閾値以上または時刻の差分が閾値以上である場合に、軌跡決定部250eは、軌跡候補k132を選択しない。
【0102】
続いて、軌跡決定部250eは、確定した軌跡候補k133のボール候補22aからボール候補22bまでの方向と、選択した軌跡候補k131のボール候補23aからボール候補23bまでの方向とを比較する。軌跡決定部250eは、各方向のなす角が閾値未満である場合には、軌跡候補k131と、軌跡候補133とを接続した軌跡K110を生成し、この軌跡K110を、ボールの軌跡として、軌跡管理テーブル240gに登録する。
【0103】
軌跡決定部250eは、各方向のなす角が閾値以上である場合には、確定した軌跡k133を、軌跡管理テーブル240gに登録する。
【0104】
次に、本実施例2に係る情報処理装置200の効果について説明する。情報処理装置200は、複数の軌跡候補を評価して、ボールの軌跡を確定し、確定した軌跡と、軌跡候補とを比較して、確定した軌跡に軌跡候補を接続することで、軌跡を生成する処理を実行する。これにより、ボールが選手に隠れてボール候補が検出されない場合や、ボールが運動定義情報240eで推定した位置に移動しない場合でも、ボールの軌跡を継続して追跡することができる。
【実施例3】
【0105】
次に、本実施例3に係る情報処理装置について説明する。図示を省略するが、本実施例3に係る情報処理装置は、実施例1と同様にして、カメラ10a,10b,10c,10dに接続されているものとする。カメラ10a〜10dに関する説明は、実施例1と同様であるため説明を省略する。
【0106】
図23は、本実施例3に係る情報処理装置の構成を示す図である。
図23に示すように、この情報処理装置300は、通信部310と、入力部320と、表示部330と、記憶部340と、制御部350とを有する。
【0107】
通信部310、入力部320、表示部330に関する説明は、実施例1で説明した、通信部110、入力部120、表示部130に関する説明と同様である。
【0108】
記憶部340は、バッファ340a、変換テーブル340b、ボール管理テーブル340c、選手管理テーブル340d、運動定義情報340e、軌跡候補管理テーブル340fを有する。記憶部340は、軌跡管理テーブル340g、統計情報340h、ランドマーク情報340iを有する。記憶部340は、RAM、ROM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。
【0109】
バッファ340a、変換テーブル340b、ボール管理テーブル340c、選手管理テーブル340d、運動定義情報340eに関する説明は、実施例1で説明した各情報140a〜140eに関する説明と同様である。また、軌跡候補管理テーブル340f、軌跡管理テーブル340g、統計情報340hに関する説明は、実施例1で説明した各情報140f〜140hに関する説明と同様である。
【0110】
ランドマーク情報340iは、競技エリア5上に存在するランドマークの情報を保持する。ランドマークは、競技エリアの目印となるものであり、たとえば、ランドマークは、競技エリア5の各ラインを示すものである。
【0111】
図24は、ランドマークの一例を説明するための図である。
図24に示すように、競技エリア5には、ランドマークL101,L102,L103,L104が含まれる。ランドマークL101は、点5aと点5bとを結ぶコートのラインである。ランドマークL102は、点5bと点5cとを結ぶコートのラインである。ランドマークL103は、点5cと点5dとを結ぶコートのラインである。ランドマークL104は、点5dと点5aとを結ぶコートのラインである。
【0112】
スポーツにおいて、ボールの移動は、選手から選手への移動のみではない。たとえば、選手は競技中にシュートしたり、外部にボールを蹴り出すプレーを行う場合があり、かかるプレーを行った場合には、ボールの軌跡と各ランドマーク(ライン)L101〜L104が交差する。このため、情報処理装置300は、各ランドマークL101〜L104と交差する軌跡候補を、ボール軌跡として決定する。
【0113】
図25は、ランドマーク情報のデータ構造の一例を示す図である。
図25に示すように、このランドマーク情報340iは、ランドマーク識別情報と、始点座標と、終点座標とを対応づける。ランドマークを一意に識別する情報である。始点座標および終点座標は、ランドマークの始点および終点の座標を示す。
【0114】
図23の説明に戻る。制御部350は、受信部350aと、ボール検出部350bと、選手検出部350cと、生成部350dと、軌跡決定部350eと、統計情報生成部350fと、出力部350gとを有する。制御部350は、CPUやMPUなどによって実現できる。また、制御部350は、ASICやFPGAなどのハードワイヤードロジックによっても実現できる。
【0115】
受信部350a、ボール検出部350b、選手検出部350c、生成部350dに関する説明は、実施例1で説明した、受信部150a、ボール検出部150b、選手検出部150c、生成部150dに関する説明と同様である。また、統計情報生成部350f、出力部350gは、実施例1で説明した、統計情報生成部150f、出力部150gの説明と同様である。
【0116】
軌跡決定部350eは、軌跡候補管理テーブル340fに含まれる複数の軌跡候補を評価し、ボールの軌跡を決定する処理部である。たとえば、軌跡決定部350eは、軌跡候補を追加する処理と、複数の軌跡候補からボール軌跡を決定する処理を順に実行する。ここで、軌跡決定部350eが軌跡候補を追加する処理は、実施例1で説明した、軌跡決定部150eが軌跡候補を追加する処理と同様であるため、説明を省略する。
【0117】
軌跡決定部350eが、複数の軌跡候補からボールの軌跡を決定する処理について説明する。
図26は、本実施例3に係る軌跡決定部の処理を説明するための図である。
図26に示すように、軌跡候補k141,k142,k143が存在する。また、各選手の移動軌跡を、移動軌跡p110,p111とする。また、
図26には、ランドマークL101が含まれる。
【0118】
軌跡決定部350eは、各軌跡候補k141,k142,k143と、移動軌跡p110、p111とを比較し、軌跡候補と移動軌跡とが重複する部分を特定する。
図26に示す例では、R10,R11において、軌跡候補と移動軌跡とが重複している。ただし、R10,R11に対応するボール候補および選手は、
図18で説明したR1,R2と同様にして、時刻も重複しているものとする。
【0119】
また、軌跡決定部350eは、各軌跡候補k141〜k143と、ランドマークL101とを比較し、軌跡候補とランドマークとが重複する部分を特定する。
図26に示す例では、R12において、軌跡候補とランドマークL101とが重複している。
【0120】
軌跡決定部350eは、複数の軌跡候補のうち、軌跡候補および移動軌跡が重複する部分と、軌跡候補およびランドマークが重複する部分とに挟まれる軌跡候補を、ボールの軌跡として確定する。たとえば、軌跡決定部350eは、
図26において、重複する部分R11,R12に挟まれる移動軌跡k143を、ボールの軌跡として確定する。
【0121】
軌跡決定部350eは、確定した軌跡候補と、確定していない残りの軌跡候補との比較を行い、確定した軌跡候補と接続する軌跡候補を選択する。ここでは、確定した軌跡候補k143の始点に対応するボール候補を、ボール候補32aとし、次の時刻のボール候補をボール候補32bとする。確定していない軌跡候補k141の終点のボール候補をボール候補33bとし、前の時刻のボール候補をボール候補33aとする。確定していない軌跡候補k142の終点のボール候補をボール候補34bとし、前の時刻のボール候補をボール候補34aとする。
【0122】
軌跡決定部350eは、ボール候補32aとの距離が閾値未満であり、かつ、時刻の差分が閾値未満となるボール候補の終点を有する軌跡候補を選択する。たとえば、ボール候補32aとボール候補33bとの距離が閾値未満であり、かつ、時刻の差分が閾値未満である場合に、軌跡決定部350eは、軌跡候補k141を選択する。一方、ボール候補32aとボール候補34bとの距離が閾値以上または時刻の差分が閾値以上である場合に、軌跡決定部350eは、軌跡候補k142を選択しない。
【0123】
続いて、軌跡決定部350eは、確定した軌跡候補k143のボール候補32aからボール候補32bまでの方向と、選択した軌跡候補k141のボール候補33aからボール候補33bまでの方向とを比較する。軌跡決定部350eは、各方向のなす角が閾値未満である場合には、軌跡候補k141と、軌跡候補k143とを接続した軌跡K120を生成し、この軌跡K120を、ボールの軌跡として、軌跡管理テーブル340gに登録する。
【0124】
軌跡決定部350eは、各方向のなす角が閾値以上である場合には、確定した軌跡k143を、軌跡管理テーブル340gに登録する。
【0125】
次に、本実施例3に係る情報処理装置300の効果について説明する。情報処理装置300は、ランドマークを利用してボールの軌跡を確定し、確定した軌跡と、軌跡候補とを比較して、確定した軌跡に軌跡候補を接続することで、軌跡を生成する処理を実行する。これにより、ボールが選手に隠れてボール候補が検出されない場合や、ボールが運動定義情報340eで推定した位置に移動しない場合でも、ボールの軌跡を継続して追跡することができる。また、選手間のパスという単純なボールの運動のみではなく、ラインアウトやシュートなどに応じたボールの軌跡を追従でき、統計情報340hをより精度よく生成することができる。
【実施例4】
【0126】
次に、本実施例4に係る情報処理装置について説明する。図示を省略するが、本実施例4にかかる情報処理装置は、実施例1と同様にして、カメラ10a,10b,10c,10dに接続されているものとする。カメラ10a〜10dに関する説明は、実施例1と同様であるため説明を省略する。
【0127】
図27は、本実施例4に係る情報処理装置の構成を示す図である。
図27に示すように、この情報処理装置400は、通信部410と、入力部420と、表示部430と、記憶部440と、制御部450とを有する。
【0128】
通信部410、入力部420、表示部430に関する説明は、実施例1で説明した、通信部110、入力部120、表示部130に関する説明と同様である。
【0129】
記憶部440は、バッファ440a、変換テーブル440b、ボール管理テーブル440c、選手管理テーブル440d、運動定義情報440e、軌跡候補管理テーブル440f、軌跡管理テーブル440g、統計情報440hを有する。記憶部440は、RAM、ROM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。
【0130】
バッファ440a、変換テーブル440b、ボール管理テーブル440c、選手管理テーブル440d、運動定義情報440eに関する説明は、実施例1で説明した情報140a〜140eに関する説明と同様である。また、軌跡候補管理テーブル440f、軌跡管理テーブル440g、統計情報440hに関する説明は、実施例1で説明した情報140f〜140hに関する説明と同様である。
【0131】
制御部450は、受信部450aと、ボール検出部450bと、選手検出部450cと、生成部450dと、軌跡決定部450eと、統計情報生成部450fと、出力部450gを有する。制御部450は、CPUやMPUなどによって実現できる。また、制御部450は、ASICやFPGAなどのハードワイヤードロジックによっても実現できる。
【0132】
受信部450a、ボール検出部450b、選手検出部450c、生成部450dに関する説明は、実施例1で説明した、受信部150a、ボール検出部150b、選手検出部150c、生成部150dに関する説明と同様である。また、統計情報生成部450f、出力部450gは、実施例1で説明した、統計情報生成部150f、150gの説明と同様である。
【0133】
軌跡決定部450eは、軌跡候補管理テーブル440fに含まれる複数の軌跡候補を評価し、ボールの軌跡を決定する処理部である。たとえば、軌跡決定部450eは、軌跡候補を追加する処理と、複数の軌跡候補からボール軌跡を決定する処理、ボール軌跡を決定後、複数の軌跡候補を再評価する処理を順に実行する。ここで、軌跡決定部450eが軌跡候補を追加する処理およびボール軌跡を決定する処理は、実施例1で説明した、軌跡決定部150eが軌跡候補を追加する処理と同様である。
【0134】
また、軌跡決定部450eが、複数の軌跡候補からボール軌跡を決定する処理と同様である。ただし、軌跡決定部450eは、ボール軌跡以外の複数の軌跡候補を、軌跡候補管理テーブル440fから削除することなく、残しておくものとする。
【0135】
軌跡決定部450eが、複数の軌跡候補を再評価する処理について説明する。
図28は、本実施例4に係る軌跡決定部の処理を説明するための図である。
図28に示す例では、軌跡候補k151,152,k153が存在する。各選手の移動軌跡を、移動軌跡p120,p121とする。軌跡K125は、上記の「軌跡候補を追加する処理」と、「複数の軌跡候補からボール軌跡を決定する処理」により決定されたボールの軌跡とする。
【0136】
図28において、軌跡K125に含まれるボールの各位置を41a,41b,41cとする。また、ボールが各位置41a,41b,41cに存在していた時刻を、Tn−2,Tn−1,Tnとする。
【0137】
軌跡候補k151において、ボール候補は位置43a,43b,43cの順に移動したものとし、ボール候補が位置43aに存在していた時刻をTn1とする。軌跡候補k152において、ボール候補は位置44a(43a),44b,44c,44dの順に移動したものとし、ボール候補が位置44aに存在していた時刻をTn1とする。軌跡候補k153において、ボール候補は位置42a,42b,42cの順に移動したものとし、ボール候補が位置42aに存在していた時刻をTn2とする。
【0138】
軌跡決定部450eは、時刻「Tn」から「Tn−m」の間に検出されたボール候補を有する軌跡候補を選択する。mの値は予め設定される。たとえば、時刻「Tn」から「Tn−m」の間に、時刻Tn1が含まれ、時刻Tn2が含まれないとする。この場合には、軌跡決定部450eは、軌跡候補k151,k152を選択する。
【0139】
また、軌跡決定部450eは、時刻「Tn」から「Tn−m」の間に検出された移動軌跡を選択する。たとえば、移動軌跡p121は、選手の位置51a,51b,52cを有し、各位置51a,51b,52cに選手が存在していた時刻が時刻「Tn」から「Tn−m」の間であるとすると、軌跡決定部450eは、移動軌跡p121を選択する。
【0140】
軌跡決定部450eは、選択した移動軌跡p121と、軌跡候補k151との評価値を算出する。また、選択した移動軌跡p121と、軌跡候補k152との評価値を算出する。たとえば、移動軌跡の始点51aと、軌跡候補の終点との距離が小さいほど、評価値が大きくなるものとする。また、移動軌跡の方向と、軌跡候補の方向とのなす角が小さいほど、評価値が大きくなるものとする。軌跡決定部450eは、なす角を、実施例2で説明した軌跡決定部250eと同様にして算出するものとする。
【0141】
軌跡決定部450eは、各評価値を比較し、評価値が大きい方の移動軌跡と、軌跡候補との組を選択する。
図28に示す例では、移動軌跡p121と軌跡候補k151との評価値が、移動軌跡p121と軌跡候補k152との評価値よりも大きいため、移動軌跡p121と軌跡候補k151との組を選択する。
【0142】
軌跡決定部450eは、軌跡候補k151、移動軌跡p121、軌跡K125を接続した軌跡K130を生成し、この軌跡K130を、ボールの軌跡として、軌跡管理テーブル440gに登録する。
【0143】
次に、本実施例4に係る情報処理装置400の処理手順の一例について説明する。
図29は、本実施例4に係る情報処理装置の処理手順を示すフローチャートである。
図29に示すように、情報処理装置400の受信部450aは、カメラ10から画像フレームを取得し、バッファ440aに格納する(ステップS201)。
【0144】
情報処理装置400のボール検出部450b(および選手検出部450c)は、バッファ440aから前後の画像フレームを取得し、差分画像を生成する(ステップS202)。ボール検出部450bは、ボール候補を検出し(ステップS203a)、ボール領域の座標を全体座標系へ統合し(ステップS204a)、ステップS205に移行する。
【0145】
選手検出部450cは、選手を検出し(ステップS203b)、選手の座標を全体座標形へ統合し(ステップS204b)、ステップS205に移行する。
【0146】
情報処理装置400の生成部450dは、複数の軌跡候補を生成する(ステップS205)。情報処理装置400の軌跡決定部450eは、複数の軌跡候補から、ボールの軌跡を決定する(ステップS206)。また、軌跡決定部450eは、決定したボールの軌跡を基にして、軌跡候補を再評価する(ステップS207)。情報処理装置400の統計情報生成部450fは、軌跡管理テーブル440gを基にして、統計情報440hを生成する(ステップS208)。情報処理装置400の出力部450gは、各選手の移動軌跡とスタッツ情報とを対応づけて、表示部430に出力する(ステップS209)。
【0147】
次に、本実施例4に係る情報処理装置400の効果について説明する。情報処理装置400は、軌跡の始点と、軌跡候補の終点との間に選手の移動軌跡が存在する場合に、軌跡と、移動軌跡と、軌跡候補とを接続した軌跡を生成し、生成した軌跡を、ボールの軌跡として決定する。これにより、選手とボールとの対応が取れない場合や、ボールの軌跡が途切れた場合でも、確定した軌跡を基にして、検出できなかった軌跡を新たに生成することができ、追跡の継続性を高めることができる。
【0148】
次に、上記実施例に示した情報処理装置100,200,300,400と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。
図30は、情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【0149】
図30に示すように、コンピュータ500は、各種演算処理を実行するCPU501と、ユーザからのデータの入力を受け付ける入力装置502と、ディスプレイ503とを有する。また、コンピュータ500は、記憶媒体からプログラム等を読み取る読み取り装置504と、有線または無線ネットワークを介して収録機器等との間でデータの授受を行うインタフェース装置505とを有する。また、コンピュータ500は、各種情報を一時記憶するRAM506と、ハードディスク装置507とを有する。そして、各装置501〜507は、バス508に接続される。
【0150】
ハードディスク装置507は、検出プログラム507a、生成プログラム507b、軌跡決定プログラム507c、統計情報生成プログラム507dを有する。CPU501は、各プログラム507a〜507dを読み出してRAM506に展開する。
【0151】
検出プログラム507aは、検出プロセス506aとして機能する。生成プログラム507bは、生成プロセス506bとして機能する。軌跡決定プログラム507cは、軌跡決定プロセス506cとして機能する。統計情報生成プログラム507dは、統計情報生成プロセス506dとして機能する。
【0152】
検出プロセス506aの処理は、ボール検出部150b,250b,350b,450bの処理に対応する。生成プロセス506bの処理は、生成部150d,250d,350d,450dの処理に対応する。軌跡決定プロセス506cの処理は、軌跡決定部150e,250e,350e,450eの処理に対応する。統計情報生成プロセス406dの処理は、統計情報生成部150f,250f,350f,450fの処理に対応する。
【0153】
なお、各プログラム507a〜507dについては、必ずしも最初からハードディスク装置507に記憶させておかなくても良い。例えば、コンピュータ500に挿入されるフレキシブルディスク(FD)、CD−ROM、DVD、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ500が各プログラム507a〜507dを読み出して実行するようにしても良い。
【0154】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0155】
(付記1)コンピュータに、
時系列の複数の画像フレームからボール候補の位置を検出し、
前記複数の画像フレームのうち、第1画像フレームから検出したボール候補の位置と、ボールの運動の特徴を定義した運動定義情報とを基にして、前記第1画像フレームの後の第2画像フレームに、ボール候補の位置を追加し、
異なる時刻の画像フレームから検出された複数のボール候補の位置をそれぞれ組み合わせることで、複数の軌跡候補を生成し、
前記複数の軌跡候補を評価して、ボールの軌跡を決定し、
前記ボールの軌跡が途切れた場合に、途切れの始点と終点との間を、前記始点から前記終点まで移動する人物の軌跡で補間する
処理を実行させることを特徴とする画像処理プログラム。
【0156】
(付記2)前記ボール候補の位置を追加する処理は、前記第1画像フレームから検出したボール候補の位置と、前記運動定義情報とを基にして、前記第2画像フレームのボール候補の位置を推定し、推定したボール候補の位置を基準とした所定の範囲にボール候補が存在しない場合に、推定したボール候補の位置を追加することを特徴とする付記1に記載の画像処理プログラム。
【0157】
(付記3)前記ボール候補の位置を追加する処理は、推定したボール候補の位置を基準とした所定の範囲に含まれない前記第2画像フレームのボール候補にロスト情報を付与し、前記複数のボールの軌跡候補を評価する処理は、前記軌跡候補の含まれるロスト情報を基にして、前記ボールの軌跡を決定することを特徴とする付記2に記載の画像処理プログラム。
【0158】
(付記4)前記複数のボールの軌跡を決定する処理は、前記複数の軌跡候補について、前記ロスト情報が付与されたボール候補の数を計数し、計数した数が閾値未満となるボールの軌跡候補から、前記ボールの軌跡を決定することを特徴とする付記3に記載の画像処理プログラム。
【0159】
(付記5)前記ボールの軌跡を決定する処理は、複数の軌跡候補を評価して軌跡を決定し、前記補間する処理は、決定された軌跡と、複数の軌跡候補とを比較して、前記軌跡に前記軌跡候補を接続して、新たな軌跡を生成することを特徴とする付記1〜4のいずれか一つに記載の画像処理プログラム。
【0160】
(付記6)前記ボールの軌跡を決定する処理は、前記人物が競技を行うフィールド上のランドマークの位置情報を更に利用して、前記複数の軌跡候補を評価し、ボールの軌跡を決定することを特徴とする付記1〜5のいずれか一つに記載の画像処理プログラム。
【0161】
(付記7)前記ボールの軌跡を決定する処理は、前記軌跡の始点と、前記軌跡候補の終点との間に人物の軌跡が存在する場合に、前記軌跡と、人物の軌跡と、前記軌跡候補とを接続した軌跡を生成し、生成した軌跡を、前記ボールの軌跡として決定することを特徴とする付記1〜6のいずれか一つに記載の画像処理プログラム。
【0162】
(付記8)前記ボールの軌跡と、前記人物の軌跡とを基にして、前記人物がボールをドリブルした距離、ボールをパスした回数を計算する処理を更にコンピュータに実行させることを特徴とする付記1〜7のいずれか一つに記載の画像処理プログラム。
【0163】
(付記9)コンピュータが実行する画像処理方法であって、
時系列の複数の画像フレームからボール候補の位置を検出し、
前記複数の画像フレームのうち、第1画像フレームから検出したボール候補の位置と、ボールの運動の特徴を定義した運動定義情報とを基にして、前記第1画像フレームの後の第2画像フレームに、ボール候補の位置を追加し、
異なる時刻の画像フレームから検出された複数のボール候補の位置をそれぞれ組み合わせることで、複数の軌跡候補を生成し、
前記複数の軌跡候補を評価して、ボールの軌跡を決定し、
前記ボールの軌跡が途切れた場合に、途切れの始点と終点との間を、前記始点から前記終点まで移動する人物の軌跡で補間する
処理を実行することを特徴とする画像処理方法。
【0164】
(付記10)前記ボール候補の位置を追加する処理は、前記第1画像フレームから検出したボール候補の位置と、前記運動定義情報とを基にして、前記第2画像フレームのボール候補の位置を推定し、推定したボール候補の位置を基準とした所定の範囲にボール候補が存在しない場合に、推定したボール候補の位置を追加することを特徴とする付記9に記載の画像処理方法。
【0165】
(付記11)前記ボール候補の位置を追加する処理は、推定したボール候補の位置を基準とした所定の範囲に含まれない前記第2画像フレームのボール候補にロスト情報を付与し、前記複数のボールの軌跡候補を評価する処理は、前記軌跡候補の含まれるロスト情報を基にして、前記ボールの軌跡を決定することを特徴とする付記10に記載の画像処理方法。
【0166】
(付記12)前記複数のボールの軌跡を決定する処理は、前記複数の軌跡候補について、前記ロスト情報が付与されたボール候補の数を計数し、計数した数が閾値未満となるボールの軌跡候補から、前記ボールの軌跡を決定することを特徴とする付記11に記載の画像処理方法。
【0167】
(付記13)前記ボールの軌跡を決定する処理は、複数の軌跡候補を評価して軌跡を決定し、前記補間する処理は、決定された軌跡と、複数の軌跡候補とを比較して、前記軌跡に前記軌跡候補を接続して、新たな軌跡を生成することを特徴とする付記9〜12のいずれか一つに記載の画像処理方法。
【0168】
(付記14)前記ボールの軌跡を決定する処理は、前記人物が競技を行うフィールド上のランドマークの位置情報を更に利用して、前記複数の軌跡候補を評価し、ボールの軌跡を決定することを特徴とする付記9〜13のいずれか一つに記載の画像処理方法。
【0169】
(付記15)前記ボールの軌跡を決定する処理は、前記軌跡の始点と、前記軌跡候補の終点との間に人物の軌跡が存在する場合に、前記軌跡と、人物の軌跡と、前記軌跡候補とを接続した軌跡を生成し、生成した軌跡を、前記ボールの軌跡として決定することを特徴とする付記9〜14のいずれか一つに記載の画像処理方法。
【0170】
(付記16)前記ボールの軌跡と、前記人物の軌跡とを基にして、前記人物がボールをドリブルした距離、ボールをパスした回数を計算する処理を更にコンピュータに実行させることを特徴とする付記9〜15のいずれか一つに記載の画像処理方法。
【0171】
(付記17)時系列の複数の画像フレームからボール候補を検出し、前記複数の画像フレームのうち、第1画像フレームから検出したボール候補の位置と、ボールの運動の特徴を定義した運動定義情報とを基にして、前記第1画像フレームの後の第2画像フレームに、ボール候補を追加するボール検出部と、
異なる時刻の画像フレームから検出された複数のボール候補の位置をそれぞれ組み合わせることで、複数の軌跡候補を生成する生成部と、
前記複数の軌跡候補を評価して、ボールの軌跡を決定し、前記ボールの軌跡が途切れた場合に、途切れの始点と終点との間を、前記始点から前記終点まで移動する人物の軌跡で補間する軌跡決定部と
を有することを特徴とする情報処理装置。
【0172】
(付記18)前記ボール検出部は、前記第1画像フレームから検出したボール候補の位置と、前記運動定義情報とを基にして、前記第2画像フレームのボール候補の位置を推定し、推定したボール候補の位置を基準とした所定の範囲にボール候補が存在しない場合に、推定したボール候補の位置を追加することを特徴とする付記17に記載の情報処理装置。
【0173】
(付記19)前記ボール検出部は、推定したボール候補の位置を基準とした所定の範囲に含まれない前記第2画像フレームのボール候補にロスト情報を付与し、前記軌跡決定部は、前記軌跡候補の含まれるロスト情報を基にして、前記ボールの軌跡を決定することを特徴とする付記18に記載の情報処理装置。
【0174】
(付記20)前記軌跡決定部は、前記複数の軌跡候補について、前記ロスト情報が付与されたボール候補の数を計数し、計数した数が閾値未満となるボールの軌跡候補から、前記ボールの軌跡を決定することを特徴とする付記19に記載の情報処理装置。
【0175】
(付記21)前記軌跡決定部は、複数の軌跡候補を評価して軌跡を決定し、前記補間する処理は、決定された軌跡と、複数の軌跡候補とを比較して、前記軌跡に前記軌跡候補を接続して、新たな軌跡を生成することを特徴とする付記17〜20のいずれか一つに記載の情報処理装置。
【0176】
(付記22)前記軌跡決定部は、前記人物が競技を行うフィールド上のランドマークの位置情報を更に利用して、前記複数の軌跡候補を評価し、ボールの軌跡を決定することを特徴とする付記17〜21のいずれか一つに記載の情報処理装置。
【0177】
(付記23)前記軌跡決定部は、前記軌跡の始点と、前記軌跡候補の終点との間に人物の軌跡が存在する場合に、前記軌跡と、人物の軌跡と、前記軌跡候補とを接続した軌跡を生成し、生成した軌跡を、前記ボールの軌跡として決定することを特徴とする付記17〜22のいずれか一つに記載の情報処理装置。
【0178】
(付記24)前記ボールの軌跡と、前記人物の軌跡とを基にして、前記人物がボールをドリブルした距離、ボールをパスした回数を計算する統計情報生成部を更に有することを特徴とする付記17〜23のいずれか一つに記載の情報処理装置。