以下、本発明の一側面に係る画像処理装置、制御方法及び制御プログラムについて図を参照しつつ説明する。但し、本発明の技術的範囲はそれらの実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶ点に留意されたい。
図1は、実施形態に従った画像処理システム1の概略構成を示す図である。
図1に示すように、画像処理システム1は、一又は複数の画像処理装置100と、複数の撮像装置200と、一又は複数の端末装置300と、を有する。画像処理装置100は、ネットワークを介して、撮像装置200及び端末装置300に接続されている。
複数の撮像装置200は、第1撮像装置及び第2撮像装置の一例であり、例えばネットワークカメラ等である。撮像装置200は、タブレットPC(Personal Computer)、多機能携帯電話(いわゆるスマートフォン)等でもよい。各撮像装置200は、所定イベントが実施されるイベント空間を、それぞれ異なる位置から又はそれぞれ異なる角度で撮像するように配置される。所定イベントは、複数のプレイヤにより実施されるスポーツの試合又は練習等である。所定イベントは、複数の人物により実行されるものであればどのようなものでもよく、例えば複数の奏者により演奏される音楽コンサート又は複数のプレイヤにより実施されるダンス等でもよい。スポーツは、ボールを使用して実行されるバレーボール等である。スポーツは、サッカー、ラグビー、アメリカンフットボール、陸上競技又は水泳等でもよい。イベント空間は、バレーボールのコート等である。イベント空間は、スポーツが実施されるグラウンドもしくはプール、又は、音楽コンサートもしくはダンスが実施されるホール等でもよい。
所定イベントは、それぞれ種別が異なる複数のイベントを含む。所定イベントがバレーボールの練習である場合、複数のイベントの内の第1イベントは、例えば試合形式練習であり、複数のイベントの内の第2イベントは、例えばスパイク練習である。複数のイベントは3つ以上でもよい。イベント空間は、一又は複数の空間(例えば、第1空間及び第2空間)を含む。イベント空間に含まれる各空間は、所定イベントに含まれる各イベントが実施される空間であり、相互に重なっていてもよい。即ち、複数の空間の内の第1空間は、第1イベントが実施される空間であり、複数の空間の内の第2空間は、第2イベントが実施される空間である。また、イベント空間がバレーボールのコートである場合、イベント空間は、画像を解析する対象のコートである対象コート及び相手コートを含む。以下では、イベント空間内の対象コートに対応する領域を所定空間と称する場合がある。
複数の撮像装置200は、各撮像装置200により撮像されないイベント空間内の死角が、他の何れかの撮像装置200によって撮像されるように配置されることが好ましい。イベント空間がバレーボールのコートである場合、少なくとも一つの撮像装置200は、撮像方向がネットの延伸方向と直交する方向となるように配置され、少なくとも一つの撮像装置200は、撮像方向がネットの延伸方向となるように配置されることが好ましい。
撮像装置200は、2次元に配列されたCCD(Charge Coupled Device)からなる撮像素子を備える縮小光学系タイプの撮像センサと、A/D変換器とを有する。縮小光学系タイプの撮像センサに代えて、CMOS(Complementary Metal Oxide Semiconductor)からなる撮像素子を備える等倍光学系タイプのCIS(Contact Image Sensor)が用いられてもよい。また、撮像装置200は、後述する、画像処理装置100の通信装置、記憶装置及びCPU(Central Processing Unit)と同様の通信装置、記憶装置及びCPUを有する。撮像装置200の撮像センサは、一定周期(例えば33msec)毎にイベント空間を撮影してアナログの画像信号を生成し、A/D変換器に出力する。A/D変換器は、出力されたアナログの画像信号をアナログデジタル変換してデジタルの画像データを順次生成し、記憶装置に記憶する。CPUは、記憶装置に記憶された画像データを、通信インタフェース回路を介して画像処理装置100に送信する。
なお、各撮像装置200は、画像処理装置100から撮影タイミングを同期させるための同期信号を定期的に受信し、受信した同期信号に従って同一のタイミングにイベント空間を撮像して入力画像を生成する。
端末装置300は、パーソナルコンピュータ、ノートPC、タブレットPC、多機能携帯電話等の情報処理装置である。各端末装置300は、スポーツのプレイヤ又はマネージャ等の利用者により、撮像装置200で撮影された画像を閲覧するために使用される。
端末装置300は、後述する、画像処理装置100の通信装置、操作装置、表示装置、記憶装置及びCPUと同様の通信装置、操作装置、表示装置、記憶装置及びCPU等を有する。CPUは、操作装置を用いた利用者による指示を受け付け、受け付けた指示に従って、通信装置を介して画像処理装置100に、画像を表示するための表示データの取得要求信号を送信する。また、CPUは、通信装置を介して画像処理装置100から受信した表示データに応じた画像を記憶装置に記憶しつつ表示装置に表示する。
画像処理装置100は、サーバ、パーソナルコンピュータ、ノートPC等の情報処理装置である。画像処理装置100は、通信装置101と、操作装置102と、表示装置103と、記憶装置120と、CPU(Control Processing Unit)140と、制御回路160とを有する。
通信装置101は、出力部の一例である。通信装置101は、TCP/IP(Transmission Control Protocol/Internet Protocol)等に準拠した通信インタフェース回路を有し、イントラネット又はインターネット等の通信ネットワークに接続する。通信装置101は、IEEE(Institute of Electrical and Electronic Engineers)802.11規格等に準拠した通信インタフェース回路を有してもよい。その場合、通信装置101は、アクセスポイントを介して無線通信ネットワークに接続する。なお、通信装置101は、USB(Universal Serial Bus)等のシリアルバスに準じるインタフェース回路を有し、撮像装置200及び端末装置300と電気的に接続してもよい。通信装置101は、撮像装置200及び端末装置300と接続して画像及び各種の情報を送受信する。
操作装置102は、キーボード、マウス、タッチパッド等の入力装置及び入力装置から信号を取得するインタフェース回路を有し、利用者の操作に応じた信号をCPU140に出力する。
表示装置103は、出力部の他の例である。表示装置103は、液晶、有機EL等から構成されるディスプレイ及びディスプレイに画像データを出力するインタフェース回路を有し、CPU140からの指示に従って、記憶装置120に保存されている画像データをディスプレイに表示する。
記憶装置120は、記憶部の一例である。記憶装置120は、RAM(Random Access Memory)、ROM(Read Only Memory)等のメモリ装置、ハードディスク等の固定ディスク装置、又はフレキシブルディスク、光ディスク等の可搬用の記憶装置等を有する。また、記憶装置120には、画像処理装置100の各種処理に用いられるコンピュータプログラム、データベース、テーブル等が格納される。コンピュータプログラムは、コンピュータ読み取り可能な可搬型記録媒体から公知のセットアッププログラム等を用いて記憶装置120にインストールされてもよい。可搬型記録媒体は、例えばCD−ROM(compact disk read only memory)、DVD−ROM(digital versatile disk read only memory)等である。
また、記憶装置120は、データとして、各イベントが実施されるイベント空間における人物配置に関する特徴情報を管理する特徴情報テーブルを予め記憶する。特徴情報テーブルの詳細については後述する。また、記憶装置120は、複数の撮像装置200毎に、各撮像装置200の配置位置(撮像素子の位置)、撮像方向(光学系の光軸方向)、画角及び撮像範囲等を予め記憶する。また、記憶装置120は、複数の撮像装置200毎に、各撮像装置200により人物等の物体が存在しないイベント空間が撮像された背景画像を予め記憶する。また、記憶装置120は、イベント空間内の各空間(第1空間、第2空間、対象コート、相手コート等)の範囲を示す情報を予め記憶する。また、記憶装置120は、撮像装置200から取得した入力画像等を記憶するとともに、各入力画像を管理するための管理テーブルを記憶する。管理テーブルの詳細については後述する。
CPU140は、予め記憶装置120に記憶されているプログラムに基づいて動作する。なお、CPU140に代えて、DSP(digital signal processor)、LSI(large scale integration)等が用いられてよい。また、CPU140に代えて、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programming Gate Array)等が用いられてもよい。
CPU140は、通信装置101、操作装置102、表示装置103、記憶装置120及び制御回路160等と接続され、これらの各部を制御する。CPU140は、通信装置101を介した撮像装置200及び端末装置300とのデータ送受信制御、撮像装置200から取得した画像の解析処理等を行う。
制御回路160は、入力画像に対して所定の画像処理を実行する。制御回路160は、CPU、DSP、LSI、ASIC又はFPGA等で構成される。
図2は、記憶装置120及びCPU140の概略構成を示す図である。
図2に示すように、記憶装置120には、取得プログラム121、判定プログラム122、選択プログラム123、第1処理プログラム124、第2処理プログラム129、終了判定プログラム130及び出力制御プログラム131等の各プログラムが記憶される。第1処理プログラム124には、検出位置特定プログラム125、予測位置推定プログラム126、接触判定プログラム127及び記憶制御プログラム128等が含まれる。これらの各プログラムは、プロセッサ上で動作するソフトウェアにより実装される機能モジュールである。CPU140は、記憶装置120に記憶された各プログラムを読み取り、読み取った各プログラムに従って動作する。これにより、CPU140は、取得部141、判定部142、選択部143、第1処理部144、第2処理部149、終了判定部150及び出力制御部151として機能する。第1処理部144には、検出位置特定部145、予測位置推定部146、接触判定部147及び記憶制御部148等が含まれる。
図3は、特徴情報テーブルのデータ構造の一例を示す模式図である。
図3に示すように、特徴情報テーブルには、複数のイベントの識別情報(イベントID)、複数の撮像装置200の識別情報(撮像装置ID)、領域情報、特徴情報及び終了条件等が相互に関連付けて記憶される。
領域情報は、各撮像装置200により生成された入力画像内で各イベントが実施される各空間に対応する領域、即ち各空間が撮像された領域を示す情報であり、各領域に含まれる各画素の座標の集合である。なお、相互に異なる複数の撮像装置200により生成された各入力画像において、同一の空間に対応する各領域は、各領域に少なくともその空間の一部が含まれるように設定されていればよく、必ずしもその空間の全部が含まれるように設定されていなくてもよい。
特徴情報は、所定イベントに含まれる複数のイベント毎に且つ複数の撮像装置200毎に設定され、各撮像装置200が撮像した入力画像内の、各イベントが実施される各空間における人物配置に係る特徴を示す。人物配置は、複数の人物の位置(フォーメーション)又は動き(連携動作)等である。特徴情報は、入力画像内の各空間が撮像された領域における人物数(人物領域の数)又は人物領域の偏り(標準偏差)に関する条件等である。特徴情報は、例えば、人物数が所定数以上であること、及び/又は、人物領域の偏りが所定範囲内であること等である。複数の特徴情報の内の第1特徴情報は、第1イベントが実施される第1空間における人物配置に関する特徴を示し、複数の特徴情報の内の第2特徴情報は、第2イベントが実施される第2空間における人物配置に関する特徴を示す。
終了条件は、その特徴情報に対応するイベントの終了条件である。終了条件は、入力画像内の各空間が撮像された領域における人物数又は人物領域の偏りに関する条件等である。終了条件は、例えば、人物数と基準数との差が所定差以上であること、又は、人物領域の標準偏差と基準標準偏差との差が所定差以上であること等である。なお、終了条件は、人物数がイベント開始時の人物数から所定数以上減少すること、又は、人物領域の位置がイベント開始時の位置から所定距離以上変化すること等でもよい。
図4は、画像処理装置100による解析処理の動作を示すフローチャートである。以下、図4に示したフローチャートを参照しつつ、解析処理の動作を説明する。なお、以下に説明する動作のフローは、予め記憶装置120に記憶されているプログラムに基づき主にCPU140により画像処理装置100の各要素と協働して実行される。
最初に、取得部141は、通信装置101を介して複数の撮像装置200から、各撮像装置200によりイベント空間が撮影された複数の入力画像を含む入力画像群を取得し、記憶装置120に保存する(ステップS101)。各撮像装置200は一定周期毎に入力画像を撮影し、取得部141は一定周期毎に、各撮像装置200により撮像された入力画像群を取得する。即ち、入力画像群には、各撮像装置200により同一タイミングで撮影された入力画像が含まれる。複数の撮像装置200の内の第1撮像装置200によってイベント空間、即ち第1空間及び第2空間が撮影された入力画像は、第1入力画像の一例である。複数の撮像装置200の内の第1撮像装置200と異なる第2撮像装置200によってイベント空間、即ち第1空間及び第2空間が撮影された入力画像は、第2入力画像の一例である。取得部141は、一定周期毎に第1入力画像及び第2入力画像を取得することにより、複数の第1入力画像及び複数の第2入力画像を取得する。さらに、取得部141は、取得した各入力画像に関する情報を管理テーブルに記憶する。
図5は、管理テーブルのデータ構造の一例を示す模式図である。
図5に示すように、管理テーブルには、取得した入力画像毎に、各入力画像の識別情報(画像ID)、撮像装置ID、格納アドレス、撮影時刻、物体領域、検出位置、ターンの識別情報(ターンID)及び状態等が相互に関連付けて記憶される。撮像装置IDは、各入力画像を生成した撮像装置200の撮像装置IDである。格納アドレスは、各入力画像を格納している記憶装置120内のアドレスである。撮影時刻は、各入力画像が生成された時刻である。物体領域は、各入力画像内でボールと推定される物体が存在する領域として検出された二次元領域である。検出位置は、その物体の所定空間内の三次元位置である。ターンIDは、ボールが対象コートに移動してきてから相手コート又はコート外に移動するまでのターン毎に割り当てられた識別情報である。状態は、対応する入力画像におけるイベント又は物体等の状態である。
取得部141は、管理テーブルにおいて、取得した入力画像毎に、各入力画像の画像ID、撮像装置ID、格納アドレス、撮影時刻及び最新のターンIDを関連付けて記憶する。ターンIDは、処理開始時、初期値に設定され、後述するステップS206の処理において更新される。
図6A及び図6Bは、入力画像の一例を示す模式図である。
図6Aは、サイドラインの延伸方向においてコートの略中央に且つセンターラインの延伸方向においてコートの外側に配置された第1撮像装置200から、コートの一方のサイドを撮像した第1入力画像600の一例を示す。図6Bは、サイドラインの延伸方向においてコートの外側に且つセンターラインの延伸方向においてコートの略中央に配置された第2撮像装置200から、コートを撮像した第2入力画像610の一例を示す。第1入力画像600及び第2入力画像610には、それぞれ、イベント空間として同一のコートが含まれている。
次に、判定部142は、取得した入力画像群に含まれる入力画像毎に、各入力画像から、人物が含まれる人物領域を検出する(ステップS102)。
判定部142は、まず、各入力画像から、イベント空間内の各イベントが実施される空間に対応する領域、即ち各空間が撮像された領域を抽出する。判定部142は、特徴情報テーブルから、各入力画像を撮像した撮像装置200と関連付けられた領域情報を読み出し、各入力画像から、読み出した領域情報に示される領域を抽出する。
判定部142は、各撮像装置200により撮像された入力画像において、抽出した領域内の各画素の輝度値と、その撮像装置200により撮像された背景画像の対応する各画素の輝度値との差の絶対値を算出する。判定部142は、算出した差の絶対値が所定値以上となる画素の領域を差分領域として抽出し、相互に隣接(8連結)する差分領域をラベリングによりグループ化して変化領域として検出する。判定部142は、検出した変化領域の内、大きさ及び/又は縦横比等の特徴量が予め設定された範囲内である変化領域を人物領域として検出する。なお、各変化領域は、入力画像内の位置及び撮像装置200の設置情報(設置高さ、俯角、画角等)等を用いて、実際の大きさに合うように変換されてもよい。また、判定部142は、フレーム間差分又は機械学習等の他の公知の技術を用いて、人物領域を検出してもよい。また、判定部142は、入力画像内の各画素の輝度値が二値化閾値以上であるか否かによって入力画像を二値化し、輝度値が二値化閾値未満である画素をラベリングによりグループ化して変化領域として検出してもよい。
図6A及び図6Bにおいて、第1イベントが実施される第1空間は、一方のコートの中央位置の周辺空間601、611であり、第2イベントが実施される第2空間は、第1空間と同一の空間であるものとする。なお、第2空間は、第1空間と異なる領域でもよい。第1入力画像600では、領域602が、第1空間601が撮像された領域として抽出されるとともに、第2空間が撮像された領域としても抽出される。また、第2入力画像610では、領域612が、第1空間611が撮像された領域として抽出されるとともに、第2空間が撮像された領域として抽出される。また、この例では、第2撮像装置200に対応する領域情報として、一方のコートの中央位置の周辺空間に加えて、他方のコートの中央位置の周辺空間が設定されているものとする。そのため、第2入力画像610では、領域612とは別に、他方のコートの中央位置の周辺空間613が撮像された領域614も抽出されている。判定部142は、抽出した領域602、領域612及び領域614内で人物領域を検出する。
次に、判定部142は、入力画像群に含まれる入力画像毎に、イベント空間内の各空間に対応する領域と各領域に対応する特徴情報との適合度合いを算出する(ステップS103)。適合度合いは、各領域に含まれる人物領域の状態と、各特徴情報とが合致している度合いである。
判定部142は、特徴情報テーブルから、各イベント、各入力画像を撮像した撮像装置200及び各空間に対応する領域情報と関連付けられた特徴情報を読み出し、検出した人物領域と、読み出した特徴情報との適合度合いを算出する。判定部142は、人物領域が、特徴情報に示される条件を満たす数又は割合が高いほど高くなるように、適合度合いを算出する。なお、判定部142は、人物領域が、特徴情報に示される全ての条件を満たすことを示す値と、人物領域が、何れかの条件を満たさないことを示す値との二値を有するように適合度合いを算出してもよい。
また、判定部142は、機械学習等の他の公知の技術を用いて、適合度合いを算出してもよい。その場合、判定部142は、画像が入力された場合に、その画像において各イベントが実施されている確度を出力するように事前学習された識別器により、適合度合いを算出する。識別器は、ディープラーニング等により、各イベントが実施されている空間を撮影した複数の学習用画像と、各イベントが実施されていない空間を撮影した複数の学習用画像とを用いて事前学習され、特徴情報として予め記憶装置120に記憶される。判定部142は、入力画像から抽出した各領域を含む画像を識別器に入力し、識別器から出力された確度を適合度合いとして取得する。
このように、判定部142は、第1入力画像及び第2入力画像の両方において、第1空間に対応する領域と第1特徴情報との適合度合い、及び、第2空間に対応する領域と第2特徴情報との適合度合いを算出する。
次に、判定部142は、算出した何れかの適合度合いが所定数以上連続して閾値以上であるか否かを判定する(ステップS104)。判定部142は、特定の撮像装置200により撮像された入力画像の特定の領域において特定のイベントに対応する特徴情報との適合度合いが所定数以上連続して閾値以上である場合に、適合度合いが所定数以上連続して閾値以上であると判定する。所定数及び閾値は、事前の実験により、各イベントが実施されている状態と、実施されていない状態とを区別可能な値に設定される。所定数は1以上の自然数である。
何れの適合度合いも所定数以上連続して閾値以上でない場合、判定部142は、処理をステップS101に戻し、ステップS101〜S104の処理を繰り返す。一方、何れかの適合度合いが所定数以上連続して閾値以上である場合、判定部142は、その適合度合いに対応するイベントを、イベント空間において実施されているイベントとして特定する(ステップS105)。なお、複数のイベントに係る適合度合いが所定数以上連続して閾値以上である場合、判定部142は、適合度合いが最も高いイベントを、イベント空間において実施されているイベントとして特定する。
このように、判定部142は、複数の第1入力画像及び複数の第2入力画像において、算出した各適合度合いに基づいて、第1イベント又は第2イベントが実施されたか否かを判定する。特に、判定部142は、連続して撮影された所定数の第1入力画像又は第2入力画像における、第1特徴情報との適合度合い又は第2特徴情報との適合度合いが全て閾値以上である場合に、第1イベント又は第2イベントが実施されたと判定する。
さらに、判定部142は、管理テーブルにおいて、適合度合いが所定数以上連続して閾値以上となった入力画像及びその入力画像と同じタイミングで撮影された各入力画像の状態に、特定したイベント及びイベント開始を設定する。
図7A、図7B、図8、図9A、図9B及び図10は、イベントの特定について説明するための模式図である。
図7Aは、第1撮像装置200によりスパイク練習を開始しようとしている状態のコートが撮像された第1入力画像700を示し、図7Bは、第1撮像装置200によりスパイク練習の開始直前のコートが撮像された第1入力画像710を示す。図7Aに示すように、第1入力画像700では、選手がコート内に集まり始めており、領域602内で3つの人物領域701〜703がばらばらに検出されている。一方、図7Bに示すように、第1入力画像710では、5人の選手がコート内に集まっており、領域602内で5つの人物領域711〜715が一列に並んだ状態で検出されている。仮にスパイク練習及び第1撮像装置200に関連付けられた特徴情報として「人物領域が4つ以上であること」及び「各人物領域の水平及び垂直方向の重心位置の標準偏差がそれぞれ一列に対応する設定範囲内であること」が設定されているものとする。その場合、第1入力画像700に対するスパイク練習の適合度合いは低くなり、第1入力画像700からはイベントとしてスパイク練習が特定されない。一方、第1入力画像710に対するスパイク練習の適合度合いは高くなり、第1入力画像710からイベントとしてスパイク練習が特定される。
図8は、第2撮像装置200によりスパイク練習の開始直前のコートが撮像された第2入力画像800を示す。図8に示すように、第2入力画像800では、5人の選手が手前側のコート内に集まっており、領域612内で5つの人物領域801〜805が検出されている。さらに、第2入力画像800では、4人の選手が奥側のコート内に集まっており、領域614内で4つの人物領域806〜809が検出されている。仮にスパイク練習、第2撮像装置200及び手前側のコート領域に関連付けられた特徴情報として「人物領域が4つ以上であること」及び「各人物領域の水平及び垂直方向の重心位置の標準偏差がそれぞれ一列に対応する設定範囲内であること」が設定されているものとする。また、スパイク練習、第2撮像装置200及び奥側のコート領域に関連付けられた特徴情報として「人物領域が2つ以上であること」が設定されているものとする。その場合、第2入力画像800に対するスパイク練習の適合度合いは高くなり、第2入力画像800からイベントとしてスパイク練習が特定される。
図9Aは、第2撮像装置200により試合形式練習を開始しようとしている状態のコートが撮像された第2入力画像900を示し、図9Bは、第2撮像装置200により試合形式練習の開始直前のコートが撮像された第2入力画像910を示す。図9Aに示すように、第2入力画像900では、選手が手前側のコート内に集まり始めており、領域612内で5つの人物領域901〜905がばらばらに検出されている。一方、図9Bに示すように、第2入力画像910では、8人の選手が手前側のコート内に集まっており、領域612内で6つの人物領域911〜916が円状に並んだ状態で検出されている。仮に試合形式練習、第2撮像装置200及び手前側のコート領域に関連付けられた特徴情報として「人物領域が5つ以上であること」及び「各人物領域の水平及び垂直方向の重心位置の標準偏差がそれぞれ円状に対応する設定範囲内であること」が設定されているものとする。また、試合形式練習、第2撮像装置200及び奥側のコート領域に関連付けられた特徴情報として「人物領域が0であること」が設定されているものとする。その場合、第2入力画像900に対する試合形式練習の適合度合いは低くなり、第2入力画像900からはイベントとして試合形式練習が特定されない。一方、第2入力画像910に対する試合形式練習の適合度合いは高くなり、第2入力画像910からイベントとして試合形式練習が特定される。
図10は、第1撮像装置200により試合形式練習の開始直前のコートが撮像された第1入力画像1000を示す。図10に示すように、第1入力画像1000では、9人の選手がコート内に集まっており、領域602内で5つの人物領域1001〜1005が円状に並んだ状態で検出されている。仮に試合形式練習及び第1撮像装置200に関連付けられた特徴情報として「人物領域が5つ以上であること」及び「各人物領域の水平及び垂直方向の重心位置の標準偏差がそれぞれ円状に対応する設定範囲内であること」が設定されているものとする。その場合、第1入力画像1000に対する試合形式練習の適合度合いは高くなり、第1入力画像1000からイベントとして試合形式練習が特定される。
次に、選択部143は、最新の入力画像群に含まれる入力画像毎に、特定されたイベントに対応する空間内の人物密集度合いを算出する(ステップS106)。
選択部143は、各人物領域間の距離が短いほど、又は、各人物領域の重なり度合いが大きいほど、大きくなるように人物密集度合いを算出する。選択部143は、まず、検出された各人物領域の外接矩形を特定する。選択部143は、特定した各外接矩形と他の全ての外接矩形との距離の逆数の平均値を人物密集度合いとして算出する。なお、選択部143は、特定した各外接矩形と、その外接矩形の最も近くに位置する外接矩形との距離の逆数の平均値を人物密集度合いとして算出してもよい。また、選択部143は、特定した各外接矩形が重なっている他の外接矩形の数の平均値を人物密集度合いとして算出してもよい。また、選択部143は、特定した各外接矩形が他の外接矩形と重なっている領域の面積又は面積割合の平均値を人物密集度合いとして算出してもよい。
このように、選択部143は、判定部142によりイベントが実施されたと判定された判定の基礎とされた入力画像において、実施されると判定されたイベントに対応する空間内の第1人物密集度合いを算出する。また、選択部143は、その判定の基礎とされた入力画像を撮影した撮像装置200と異なる各撮像装置200が同じタイミングで撮影した他の入力画像において、同じイベントに対応する空間内の第2人物密集度合いを算出する。
次に、選択部143は、入力画像毎に算出した人物密集度合いを比較することにより、複数の撮像装置200の中から、人物密集度合いが最も小さい入力画像を撮像した撮像装置200を選択する(ステップS107)。
このように、選択部143は、判定部142によって複数のイベントの内の何れかが実施されたと判定された場合、第1人物密集度合いと、第2人物密集度合いとの比較に基づいて、撮像装置200の選択を行う。
さらに、選択部143は、管理テーブルにおいて、ステップS105で状態にイベント開始が設定された入力画像の内、選択した撮像装置200に関連付けられた入力画像の状態に、撮像装置200が選択された旨をさらに設定する。
次に、取得部141は、最新の入力画像群を取得する(ステップS108)。なお、既にステップS101で最新の入力画像群を取得済みである場合、取得部141は、ステップS108の処理を省略してもよい。
次に、第1処理部144又は第2処理部149は、最新の入力画像群に対して、特定したイベントに応じたイベント処理を実行する(ステップS109)。イベント処理の詳細については後述する。
次に、終了判定部150は、ステップS102の処理と同様にして、最新の入力画像群に含まれる入力画像の内、選択部143によって選択された撮像装置200が撮影した入力画像から、人物が含まれる人物領域を検出する(ステップS110)。
次に、終了判定部150は、検出した人物領域が、判定部142によって特定されたイベントの終了条件を満たすか否かを判定する(ステップS111)。
検出した人物領域がイベントの終了条件を満たさない場合、終了判定部150は、特に処理を実行せず、処理をステップS108へ戻し、ステップS108〜S111の処理を繰り返す。一方、検出した人物領域がイベントの終了条件を満たす場合、終了判定部150は、特定したイベントが終了したと判定し(ステップS112)、処理をステップS101へ戻す。
このように、終了判定部150は、選択された撮像装置200が、判定部142による判定の基礎とされた入力画像より後に撮影した入力画像が、判定部142により実施されると判定されたイベントの終了条件を満たす場合に、そのイベントが終了したと判定する。これにより、終了判定部150は、個々の人物を良好に検出しやすい入力画像を用いて、イベントが終了したか否かをより高精度に判定することができる。
さらに、終了判定部150は、管理テーブルにおいて、人物領域がイベントの終了条件を満たす入力画像及びその入力画像と同じタイミングで撮影された各入力画像の状態に、対応するイベント及びイベント終了を設定する。
図11A及び図11Bは、イベントの終了について説明するための模式図である。
図11Aは、第1撮像装置200によりスパイク練習の終了直後のコートが撮像された第1入力画像1100を示す。図11Aに示すように、第1入力画像1100では、選手がコートから去り始めており、領域602内で3つの人物領域1101〜1103のみが検出されている。仮にスパイク練習及び第1撮像装置200に関連付けられた終了条件として「人物領域が4つ以上から3つ以下に変化したこと」が設定されている場合、スパイク練習が終了したと判定される。
図11Bは、第2撮像装置200により試合形式練習の終了直後のコートが撮像された第2入力画像1110を示す。図11Bに示すように、第2入力画像1110では、選手がコートから去り始めており、領域612内で3つの人物領域1111〜1113のみが検出されている。仮に試合形式練習及び第2撮像装置200に関連付けられた終了条件として「人物領域が5つ以上から3つ以下に変化したこと」が設定されている場合、試合形式練習が終了したと判定される。
終了判定部150は、選択部143により選択された撮像装置200が撮影した、人物密集度合いが小さい入力画像を用いてイベントが終了したか否かを判定するため、イベントの終了の検出誤りを抑制し、イベントの終了を高精度に検出することができる。
図12及び図13は、画像処理装置100による第1イベント処理の動作を示すフローチャートである。第1イベント処理は、図4の解析処理のステップS105においてバレーボールの試合形式練習がイベントとして特定された場合に、ステップS109のイベント処理として実行される。
最初に、検出位置特定部145は、図4のステップS108で取得された入力画像群から、ボールと推定される物体(以下、対象物体と称する場合がある)を検出する(ステップS201)。第1イベント処理は、図4のステップS108で最新の入力画像群毎が取得されるたびに実行される。そのため、検出位置特定部145は、各撮影タイミングに撮影された入力画像群から対象物体を検出する。
検出位置特定部145は、ステップS102の処理と同様にして、各撮像装置200により撮像された入力画像において、変化領域を検出する。検出位置特定部145は、検出した変化領域の内、形状、大きさ及び/又は縦横比等の特徴量が予め設定された特徴量に最も近似する変化領域を対象物体の物体領域として検出する。即ち、検出位置特定部145は、各入力画像において形状、大きさ及び/又は縦横比が最もボールに近い対象物体を一つ検出する。なお、検出位置特定部145は、フレーム間差分又は機械学習等の他の公知の技術を用いて、物体領域を検出してもよい。
さらに、検出位置特定部145は、管理テーブルにおいて、取得した入力画像毎に、各入力画像から検出された物体領域の位置を示す情報を記憶する。
次に、検出位置特定部145は、現在の追跡状態が追跡中であるか否かを判定する。追跡状態は、初期状態として非追跡中に設定され、ボールが対象コート内に入ったとみなされた時に追跡中に設定され、ボールが対象コート外に出たとみなされた時に非追跡中に設定される。さらに、検出位置特定部145は、前回までの第1イベント処理においてボールが撮像装置200の撮影範囲外に存在すると判定されていたか否かと、今回、対象物体が入力画像の所定範囲内に検出されたか否かと、を判定する(ステップS202)。
検出位置特定部145は、過去にボールが撮影範囲外に移動していると判定され、且つ、その後、対象物体が入力画像の所定範囲内に検出されていない場合、前回までの第1イベント処理においてボールが撮影範囲外に存在すると判定されていたとみなす。所定範囲は、入力画像群に含まれる各入力画像の、ボールが撮影範囲外に移動していると判定された判定の基礎となった予測位置側の端部周辺に設定される。所定範囲は、人物等の他の物体が存在せず、撮影範囲外に移動したボールが戻ってくる領域であり、且つ、戻ってきたボールが確実に撮像される範囲に設定されることが好ましい。
例えば、ボールが撮影範囲外に移動していると判定されたときの予測位置が撮影範囲の上方である場合、所定範囲は、その入力画像の上端部から所定距離(例えばボールの直径の3倍に相当する画素数)の範囲に設定される。一方、ボールが撮影範囲外に移動していると判定されたときの予測位置が撮影範囲の右方である場合、所定範囲は、その入力画像の右端部から所定距離の範囲に設定される。また、検出位置特定部145は、撮影範囲外に移動する直前のボールの軌道に基づいてボールの戻り位置を推定し、推定した戻り位置から所定距離内の領域に所定範囲を設定してもよい。検出位置特定部145は、入力画像群に含まれる入力画像の内の所定数(例えば1)以上の入力画像において対象物体が所定範囲内に検出された場合、対象物体が入力画像の所定範囲内に検出されたと判定する。
追跡状態が追跡中であり、前回までの第1イベント処理においてボールが撮影範囲外に存在すると判定されており、且つ、今回、対象物体が入力画像の所定範囲内に検出されなかった場合、検出位置特定部145は、特に処理を実行せず、一連のステップを終了する。このように、検出位置特定部145は、接触判定部147によりボールが撮影範囲外に移動したと判定された場合、入力画像群のその判定の基礎となった予測位置側の端部周辺において物体が新たに検出されるまで、検出位置を新たに特定しない。これにより、検出位置特定部145は、一端、撮影範囲外に移動したボールを誤った位置で検出することを抑制できる。また、画像処理装置100は、ボールが撮影範囲外に移動した場合には、ボールの予測位置を推定する処理を省略するため、第1イベント処理における処理負荷を軽減させることができる。
なお、検出位置特定部145は、ボールが撮影範囲外に移動していると判定されてから所定時間経過しても、対象物体が入力画像の所定範囲内に検出されなかった場合、ボールがコートに戻ってこなかったとみなして、追跡状態を非追跡中に設定してもよい。
一方、追跡状態が非追跡中である場合、ボールが撮影範囲外に存在すると判定されていない場合、又は、対象物体が入力画像の所定範囲内に検出された場合、検出位置特定部145は、イベント空間内の対象物体の検出位置を特定する(ステップS203)。画像処理装置100は、各撮像装置200により生成される入力画像内の画素毎に、撮像方向に対する、撮像素子から各画素に対応するイベント空間内の位置に向かう方向の水平面上の角度を記憶装置120に事前に設定しておく。検出位置特定部145は、複数の撮像装置200の内の任意の二つの撮像装置200により生成された入力画像において、対象物体の各重心位置に対応する角度を特定する。検出位置特定部145は、各撮像装置200の配置位置及び特定した角度に基づいて、公知のステレオカメラの原理(三角測量の技術)を用いて、イベント空間内の対象物体の検出位置を特定する。なお、画像処理装置100は、測距センサを有し、検出位置特定部145は、測距センサにより測定された対象物体までの距離に基づいて、公知の三辺測量の技術を用いて、イベント空間内の対象物体の検出位置を特定してもよい。
これにより、検出位置特定部145は、ボールが所定空間(対象コート)内に位置する場合、所定空間内の対象物体の検出位置を特定する。
さらに、検出位置特定部145は、管理テーブルにおいて、特定した検出位置を各入力画像と関連付けて記憶する。
次に、検出位置特定部145は、現在の追跡状態が追跡中であるか否かを判定する(ステップS204)。現在の追跡状態が追跡中である場合、検出位置特定部145は、処理をステップS207へ移行する。
一方、現在の追跡状態が非追跡中である場合、検出位置特定部145は、対象物体の検出位置が所定空間(対象コート)内であるか否かを判定する(ステップS205)。対象物体の検出位置が所定空間外である場合、検出位置特定部145は、特に処理を実行せず、一連のステップを終了する。
一方、対象物体の検出位置が所定空間内である場合、検出位置特定部145は、追跡状態を追跡中に設定するとともに、ボールが人物に接触した回数を示す接触回数を0にリセットする(ステップS206)。さらに、検出位置特定部145は、新たなターンIDを生成し、管理テーブルにおいて、今回の入力画像群に含まれる各入力画像に関連付けられたターンIDを新たに生成したターンIDに更新する。以降、第1イベント処理のステップS101で新たに取得した入力画像には、この新たに生成されたターンIDが関連付けて記憶される。
次に、予測位置推定部146は、前回までの第1イベント処理において特定された各検出位置に基づいて、今回の第1イベント処理における所定空間内のボールの予測位置を推定する(ステップS207)。
予測位置推定部146は、直前の所定数分の検出位置毎に、その直前の検出位置からその検出位置に向かう移動ベクトルを算出する。予測位置推定部146は、最新の検出位置ほど重みが大きくなるように重み付けした、各移動ベクトルの重み付き平均を算出し、直前の検出位置から、算出した重み付き平均の分だけ移動した位置を予測位置として推定する。このように、予測位置推定部146は、各撮影タイミングにおける所定空間内のボールの予測位置を、その撮影タイミングより前に撮影された入力画像群から特定された検出位置に基づいて推定する。
次に、接触判定部147は、予測位置と今回の検出位置との間の距離が閾値以上であるか否かを判定する(ステップS208)。閾値は、例えば、ボールの直径サイズに設定される。なお、閾値は、撮影間隔の間にボールが移動し得る距離の最大値等に設定されてもよい。予測位置と今回の検出位置との間の距離が閾値未満である場合、接触判定部147は、今回の対象物体の検出位置が妥当であるとみなし、特に処理を実行せず、一連のステップを終了する。この場合、以降の第1イベント処理では、今回の検出位置を用いて、ボールの追跡が行われる。
一方、予測位置と今回の検出位置との間の距離が閾値以上である場合、接触判定部147は、その予測位置が入力画像群に含まれる入力画像の撮影範囲内であるか否かを判定する(ステップS209)。
予測位置が入力画像群に含まれる全ての入力画像の撮影範囲外である場合、接触判定部147は、所定空間内でボールが撮影範囲外に移動したと判定し(ステップS210)、一連のステップを終了する。上記したように、検出位置特定部145は、各入力画像において形状が最もボールに近い物体を対象物体として検出する。ボールが撮影範囲外に移動した場合、入力画像内にボールが含まれないため、検出位置特定部145は、ボールでない物体を対象物体として検出してしまう。接触判定部147は、予測位置に基づいて、ボールが撮影範囲外に移動したことを検出することにより、ボールでない物体をボールと誤って追跡することを抑制できる。
一方、予測位置が入力画像群に含まれる何れかの入力画像の撮影範囲内である場合、接触判定部147は、所定空間内でボールが人物に接触したと判定する(ステップS211)。接触判定部147は、直前の第1イベント処理において、ボールが人物に接触していないと判定されていた場合、即ち予測位置と検出位置との間の距離が閾値未満であった場合又は予測位置が撮影範囲外であった場合、接触回数をインクリメント(+1)する。
なお、接触判定部147は、予測位置が、入力画像群に含まれる一以上の所定数の入力画像の撮影範囲外である場合に、ボールが撮影範囲外に移動したと判定し、それ以外の場合に、ボールが人物に接触したと判定してもよい。
図14A、図14B、図15A及び図15Bは、ボールと人物の接触について説明するための模式図である。
図14Aは、ボールが人物から離間している時に生成された入力画像1400であり、図14Bは、入力画像1400から検出された差分領域の一部を示す画像1410である。図14Bにおいて、差分領域は白色で示され、差分領域以外の領域は黒色で示されている。入力画像1400内のボール1401及び人物1402は背景画像に存在しないため、画像1410においてボール1401及び人物1402にそれぞれ対応する領域1411及び領域1412は差分領域として検出され、物体領域として適切に検出される。
図15Aは、ボールが人物に接触している時に生成された入力画像1500であり、図15Bは、入力画像1500から検出された差分領域の一部を示す画像1510である。入力画像1500内のボール1501及び人物1502は背景画像に存在しないため、画像1510においてボール1501及び人物1502にそれぞれ対応する領域1511及び領域1512は差分領域として検出される。但し、ボール1501及び人物1502が接触していることにより、領域1511及び領域1512は連結して検出される。そのため、領域1511及び1512の大きさ及び/又は縦横比等の特徴量は、ボールの特徴量と大きく異なり、物体領域として検出されない可能性がある。図15Bに示す例では、ボール1501に対応する領域1511でなく、特定の人物の頭部1503に対応する領域1513が物体領域として検出されている。
接触判定部147は、物体領域が不適切な位置に検出されたとき、予測位置に基づいてボールが人物に接触したか撮影範囲外に移動したかを判定することにより、ボールが人物に接触した場合又はボールが撮影範囲外に移動した場合でも良好にボールを追跡できる。
次に、予測位置推定部146は、管理テーブルにおいて、今回の検出位置を予測位置に置換する(ステップS212)。即ち、予測位置推定部146は、接触判定部147によりボールが人物に接触したと判定された撮影タイミングに撮影された入力画像群から特定された検出位置を、その撮影タイミングにおける予測位置に置換する。予測位置推定部146は、置換した予測位置を用いて、今回の撮影タイミングより後の撮影タイミングにおける予測位置を推定する。これにより、予測位置推定部146は、以降の第1イベント処理のステップS207において、ボールが予測位置(即ち人物と接触している位置)に存在するとみなしてボールを追跡するため、より高精度にボールを追跡できる。
次に、記憶制御部148は、接触回数が0回から1回に変化したか否かを判定する(ステップS213)。
接触回数が0回から1回に変化した場合、記憶制御部148は、管理テーブルにおいて、現在処理中の(最新の)入力画像群に含まれる各入力画像の状態に、レシーブを示す情報を設定することにより、予測位置をレシーブ位置として記憶する(ステップS214)。そして、記憶制御部148は、一連のステップを終了する。このように、記憶制御部148は、検出位置特定部145により所定空間内に対象物体が検出されてから、接触判定部147によりボールが人物に1回目に接触したと判定された撮影タイミングにおける予測位置をレシーブ位置として記憶する。
一方、接触回数が0回から1回に変化していない場合、記憶制御部148は、接触回数が1回から2回に変化したか否かを判定する(ステップS215)。
接触回数が1回から2回に変化した場合、記憶制御部148は、管理テーブルにおいて、現在処理中の(最新の)入力画像群に含まれる各入力画像の状態に、トスを示す情報を設定することにより、予測位置をトス位置として記憶する(ステップS216)。そして、記憶制御部148は、一連のステップを終了する。このように、記憶制御部148は、検出位置特定部145により所定空間内に対象物体が検出されてから、接触判定部147によりボールが人物に2回目に接触したと判定された撮影タイミングにおける予測位置をトス位置として記憶する。
一方、接触回数が1回から2回に変化していない場合、記憶制御部148は、接触回数が2回から3回に変化したか否かを判定する(ステップS217)。
接触回数が2回から3回に変化した場合、記憶制御部148は、管理テーブルにおいて、現在処理中の(最新の)入力画像群に含まれる各入力画像の状態に、スパイクを示す情報を設定することにより、予測位置をスパイク位置として記憶する(ステップS218)。このように、記憶制御部148は、検出位置特定部145により所定空間内に対象物体が検出されてから、接触判定部147によりボールが人物に3回目に接触したと判定された撮影タイミングにおける予測位置をスパイク位置として記憶する。さらに、記憶制御部148は、追跡状態を非追跡中に設定し、一連のステップを終了する。追跡状態を非追跡状態に設定した後は、以降の第1イベント処理のステップS205において、対象物体の検出位置が所定空間内であると判定されるまで、ボールは相手コート又はコート外に位置するとみなされ、ボールの追跡は実行されない。
一方、2回から3回に変化していない場合、記憶制御部148は、特に処理を実行せず、一連のステップを終了する。
第1処理部144は、第1イベント処理を実行することにより、試合形式の練習においてレシーブ、トス、スパイクが行われた画像及びレシーブ位置、トス位置、スパイク位置を適切に記憶しておくことができる。
図16は、画像処理装置100による第2イベント処理の動作を示すフローチャートである。第2イベント処理は、図4の解析処理のステップS105においてバレーボールのスパイク練習がイベントとして特定された場合に、ステップS109のイベント処理として実行される。
第2処理部149は、図12のステップS201、S203、S207の処理と同様にして、対象物体を検出し(ステップS301)、対象物体の検出位置を特定し(ステップS302)、ボールの予測位置を推定する(ステップS303)。また、第2処理部149は、図12のステップS208の処理と同様にして、予測位置と検出位置との間の距離が閾値以上であるか否かを判定する(ステップS304)。第2処理部149は、予測位置と検出位置との間の距離が閾値未満である場合、特に処理を実行せずに、一連のステップを終了し、予測位置と検出位置との間の距離が閾値以上である場合、所定空間内でボールが人物に接触したと判定する(ステップS305)。次に、第2処理部149は、ステップS212、S214の処理と同様にして、検出位置を予測位置に置換し(ステップS306)、予測位置をスパイク位置として記憶し(ステップS307)、一連のステップを終了する。
第2処理部149は、第2イベント処理を実行することにより、特定の人物から順次提供されるトスに対して各選手がスパイクを行う練習においてスパイクが行われた画像及びスパイク位置を適切に記憶することができる。
図17は、画像処理装置100による出力処理の動作を示すフローチャートである。以下、図17に示したフローチャートを参照しつつ、出力処理の動作を説明する。なお、以下に説明する動作のフローは、予め記憶装置120に記憶されているプログラムに基づき主にCPU140により画像処理装置100の各要素と協働して実行される。
最初に、出力制御部151は、通信装置101を介して端末装置300から第1表示データの取得要求信号を受信した場合、第1表示データを生成し、通信装置101を介して端末装置300に送信することにより出力する(ステップS401)。第1表示データは、端末装置300の利用者が、画像処理装置100に記憶された画像の中から所望の画像を指定するための表示データである。端末装置300は、第1表示データを受信した場合、受信した第1表示データに基づいて、閲覧画面を表示する。
図18は、端末装置300に表示される閲覧画面1800の一例を示す模式図である。
図18に示すように、閲覧画面1800には、第1指定領域1810、第2指定領域1820及び画像領域1830が含まれる。但し、第1表示データには第1指定領域1810を表示するためのデータのみが含まれ、第1表示データの受信時に表示される閲覧画面には、第2指定領域1820及び画像領域1830は表示されない。第1指定領域1810には、期間指定ボックス1811、練習選択ボタン1812、動作選択ボタン1813、トス領域選択ボタン1814、カメラ選択ボタン1815及び絞り込みボタン1816等が表示される。
期間指定ボックス1811は、絞り込み条件として、生成(撮影)された期間を指定するためのボックスである。練習選択ボタン1812は、絞り込み条件として練習内容を指定するためのボタンであり、練習内容として試合形式練習、スパイク練習、レシーブ練習又は指定なし等が選択可能に表示される。動作選択ボタン1813は、絞り込み条件としてプレイヤの動作を指定するためのボタンであり、動作としてレシーブ、トス、スパイク又は指定なし等が選択可能に表示される。
トス領域選択ボタン1814は、動作選択ボタン1813でトス又はスパイクが選択された場合に、絞り込み条件として、さらに所定空間(対象コート)内のトス位置の領域(以下、トス領域と称する場合がある)を指定するためのボタンである。画像1817に表示されているように、所定空間は、複数の領域に分類される。特に、所定空間は、コート内のネットの延伸方向において複数の領域(スロット)に分類される。図18に示す例では、所定空間は、5、4、3、2、1、0、A、B、Cの9つの領域に分類されており、選択されたトス領域には色が塗られている。
カメラ選択ボタン1815は、絞り込み条件として、撮像装置200を指定するためのボタンである。カメラ選択ボタン1815の隣には、各撮像装置200の配置位置及び撮像方向を表す画像1818が表示されており、利用者は、画像1818を参照して所望の撮像装置200又は指定なしを選択することができる。絞り込みボタン1816が押下されると、端末装置300は、利用者による絞り込み条件の指定を受け付ける。
利用者により、動作としてスパイクが指定され、絞り込みボタン1816が押下された場合、端末装置300は、第2表示データの取得要求信号を画像処理装置100に送信する。この取得要求信号には、利用者により指定された各絞り込み条件が含まれる。出力制御部151は、通信装置101を介して端末装置300から第2表示データの取得要求信号を受信した場合、受信した取得要求信号に含まれる絞り込み条件の指定を受け付ける(ステップS402)。これにより、出力制御部151は、絞り込み条件に含まれる、利用者による所定空間内の複数の領域の内の何れかのトス領域の指定を受け付ける。トス領域は、第1領域の一例である。
次に、出力制御部151は、利用者に指定された絞り込み条件に対応し且つスパイクが実施されている入力画像を抽出する(ステップS403)。出力制御部151は、管理テーブルを参照して、利用者に指定された期間に、利用者に指定された撮像装置200により生成され、且つ、利用者に指定された練習が実施されている入力画像を抽出する。なお、利用者によって撮像装置200が指定されていない場合、出力制御部151は、選択部143によって選択された撮像装置200が撮影した入力画像を抽出する。その場合、出力制御部151は、管理テーブルにおいて、状態に、指定された練習の開始が設定された入力画像の内、撮像装置200が選択された旨が設定された入力画像に関連付けられた撮像装置200を、選択された撮像装置200として特定する。さらに、出力制御部151は、抽出した入力画像の内、利用者に指定された領域でトスが実施された入力画像、即ち状態としてトスを示す情報が設定され、且つ、対象物体の検出位置が、利用者に指定されたトス領域に対応する入力画像を抽出する。そして、出力制御部151は、抽出した各入力画像と同一の撮像装置200により撮像され、同一のターンに含まれ且つ状態としてスパイクを示す情報が設定された入力画像を抽出する。
次に、出力制御部151は、第2表示データを生成し、通信装置101を介して端末装置300に送信することにより出力する(ステップS404)。第2表示データは、利用者が絞り込み条件として、さらに所望のスパイク位置又はスパイク位置の領域(以降、スパイク領域と称する場合がある)を指定するための表示データである。出力制御部151は、ステップS403で抽出した各入力画像における対象物体の検出位置を一覧表示するとともに、各入力画像の第1詳細情報を表示するように第2表示データを生成する。第1詳細情報には、各入力画像の撮影時刻、各検出位置の水平面上の位置(コート内の位置)、鉛直方向の位置(打点の高さ)、トスの時間(トスからスパイクまでの時間)等が含まれる。第1詳細情報は、スパイク位置に関する情報の一例であり、接触判定部147によりボールが人物に接触したと判定された撮影タイミングに撮影された入力画像に関する情報の一例である。
このように、出力制御部151は、利用者により指定された領域に含まれる各トス位置に関連付けられた各スパイク位置を一覧表示する第2表示データを生成して通信装置101から出力する。また、出力制御部151は、一覧表示されたスパイク位置の内、利用者により指定されたスパイク位置に関する情報を表示するように、第2表示データを生成する。端末装置300は、第2表示データを受信した場合、受信した第2表示データに基づいて、表示している閲覧画面を更新する。
図18に示す例では、更新される閲覧画面1800には、第1指定領域1810に加えて、第2指定領域1820が含まれる。第2指定領域1820には、スパイク領域選択ボタン1821及び絞り込みボタン1822等が表示される。スパイク領域選択ボタン1821は、絞り込み条件として、さらに所定空間内のスパイク領域を指定するためのボタンである。
スパイク領域選択ボタン1821の下には、複数の領域に分類された対象コートを表す画像1823が表示される。画像1823では、トス領域選択ボタン1814で選択された領域でトスが実施された各入力画像に対応する記号1824が、スパイクが実施された位置に分布される。各記号1824は、利用者により複数の方法で指定可能に表示される。例えば、利用者により各記号1824に対してシングルタップがなされた場合、シングルタップされた記号1824に対応する入力画像の第1詳細情報1825がさらに表示される。一方、利用者により各記号1824に対してダブルタップがなされた場合、ダブルタップされた記号1824に対応するスパイク位置の指定が受け付けられる。また、画像1823では、スパイク領域選択ボタン1821で指定されたスパイク領域には色が塗られている。利用者は、画像1823を参照して、所望の領域を選択することができる。
絞り込みボタン1822が押下されると、端末装置300は、利用者によるスパイク位置又はスパイク領域の指定を受け付ける。
端末装置300は、利用者によるスパイク位置又はスパイク領域の指定を受け付けると、第3表示データの取得要求信号を画像処理装置100に送信する。この取得要求信号には、利用者により指定されたスパイク位置又はスパイク領域が含まれる。出力制御部151は、通信装置101を介して端末装置300から第3表示データの取得要求信号を受信した場合、受信した取得要求信号に含まれるスパイク位置又はスパイク領域の指定を受け付ける(ステップS405)。これにより、出力制御部151は、利用者による、第2表示データに従って一覧表示されたスパイク位置の内の何れかのスパイク位置の指定、又は、複数の領域の内の何れかのスパイク領域の指定を受け付ける。スパイク領域は、第2領域の一例である。
次に、出力制御部151は、管理テーブルを参照して、利用者に指定されたスパイク位置又はスパイク領域に対応する入力画像を抽出する(ステップS406)。出力制御部151は、管理テーブルを参照して、ステップS402で受け付けた、利用者に指定された期間に、利用者に指定された撮像装置200により生成された入力画像を抽出する。なお、利用者によって撮像装置200が指定されていない場合、出力制御部151は、選択部143によって選択された撮像装置200が撮影した入力画像を抽出する。さらに、出力制御部151は、抽出した入力画像の内、トスを示す情報が設定された時の対象物体の検出位置が利用者に指定されたトス領域に対応する入力画像を抽出する。出力制御部151は、抽出した入力画像の内、スパイクを示す情報が設定された時の対象物体の検出位置が、指定されたスパイク位置又はスパイク領域に対応する入力画像を抽出する。
次に、出力制御部151は、第3表示データを生成し、通信装置101を介して端末装置300に送信することにより出力し(ステップS407)、一連のステップを終了する。第3表示データは、利用者により指定された絞り込み条件を満たす入力画像を表示する表示データである。即ち、第3表示データは、利用者に指定されたトス領域に含まれる各トス位置及び利用者に指定されたスパイク位置又はスパイク領域に含まれる各スパイク位置に対応する入力画像を表示する表示データである。出力制御部151は、ステップS406で抽出した各入力画像の前後の所定期間(例えば10秒間)分の入力画像を連続して表示するとともに、各入力画像の第2詳細情報を各入力画像に重畳して表示するように第3表示データを生成する。
第2詳細情報には、各入力画像に対応するイベント(練習内容)、時刻、各入力画像における各検出位置の水平面上の位置、鉛直方向の位置、トスの時間等が含まれる。第2詳細情報は、接触判定部147によりボールが人物に接触したと判定された撮影タイミングに撮影された入力画像に関する情報の一例である。また、第2詳細情報は、利用者により指定されたスパイク位置又はスパイク領域に含まれる各スパイク位置に関する情報の一例である。端末装置300は、第3表示データを受信した場合、受信した第3表示データに基づいて、表示している閲覧画面を更新する。
図18に示す例では、更新される閲覧画面1800には、第1指定領域1810及び第2指定領域1820に加えて、画像領域1830が含まれる。画像領域1830には、第1指定領域1810及び第2指定領域1820で指定された絞り込み条件を満たす入力画像1831が表示される。入力画像1831には、第2詳細情報が重畳して表示される。なお、入力画像1831は、利用者からの指示に応じて、任意のタイミングで一時停止又はスロー再生等を行うように表示される。利用者は、閲覧画面1800により、膨大な量の入力画像の中から、所望のトス位置及びスパイク位置に対応する入力画像を、効率良く閲覧することができる。また、利用者は、各トス位置及びスパイク位置に関する数値情報を把握することができ、適切にプレーにフィードバックすることができる。したがって、画像処理装置100は、利用者の利便性を向上させることができる。
また、ステップS402において利用者により動作としてトスが指定された場合、端末装置300は、第3表示データの取得要求信号を画像処理装置100に送信する。出力制御部151は、通信装置101を介して端末装置300から第3表示データの取得要求信号を受信した場合、受信した取得要求信号に含まれる絞り込み条件の指定を受け付ける。出力制御部151は、動作としてスパイクが指定された場合と同様にして、利用者に指定された期間、撮像装置200及び練習に対応する入力画像の内、利用者に指定された領域でトスが実施された入力画像を抽出する。出力制御部151は、抽出した各入力画像の前後の所定期間分の入力画像を連続して表示するとともに、各入力画像の第2詳細情報を各入力画像に重畳して表示するように第3表示データを生成して送信する。
同様に、ステップS402において利用者により動作としてレシーブが指定された場合、端末装置300は、第3表示データの取得要求信号を画像処理装置100に送信する。出力制御部151は、動作としてスパイクが指定された場合と同様にして、利用者に指定された期間、撮像装置200及び練習に対応する入力画像の内、レシーブが実施された入力画像を抽出する。出力制御部151は、抽出した各入力画像の前後の所定期間分の入力画像を連続して表示するとともに、各入力画像の第2詳細情報を各入力画像に重畳して表示するように第3表示データを生成して送信する。
同様に、ステップS402において動作が指定されていなかった場合、端末装置300は、第3表示データの取得要求信号を画像処理装置100に送信する。出力制御部151は、動作としてスパイクが指定された場合と同様にして、利用者に指定された期間、撮像装置200及び練習に対応する入力画像を抽出する。出力制御部151は、状態に利用者に指定された練習の開始が設定された入力画像から、その練習の終了が設定された入力画像までを、利用者に指定された練習に対応する入力画像として抽出する。なお、利用者によって撮像装置200が指定されていない場合、出力制御部151は、選択部143によって選択された撮像装置200が撮影した入力画像を抽出する。出力制御部151は、抽出した各入力画像を連続して表示するとともに、各入力画像の第2詳細情報を各入力画像に重畳して表示するように第3表示データを生成して送信する。
このように、出力制御部151は、選択部143によって選択された撮像装置200が撮影した複数の入力画像において、判定部142による判定の基礎とされた入力画像又はその入力画像と同じタイミングで撮影された入力画像を抽出する。そして、出力制御部151は、抽出した各入力画像を、判定部142により実施されると判定された各イベントのイベント名、時刻等を含む第2詳細情報と結び付けて表示するように第3表示データを生成する。
以上詳述したように、画像処理装置100は、複数の撮像装置200によりイベント空間が撮影された複数の入力画像からイベントを検出するとともに、人物密集度合いに基づいて撮像装置200を選択する。画像処理装置100は、人物密集度合いが最も小さい入力画像を撮像した撮像装置200を選択することにより、利用者が判別しやすい入力画像を抽出することができ、複数の入力画像の中からイベントに対応する入力画像を良好に抽出することが可能となった。
例えば、イベントがバレーボールの練習である場合、ウィングスパイカーは特にゲーム形式練習とスパイク練習を中心にチェックすることを希望し、リベロはゲーム形式練習とレシーブ練習を中心にチェックすることを希望する。即ち、練習を実施したプレイヤが画像を閲覧する場合、プレイヤのポジションに応じて、各プレイヤがチェックしたいシーンは異なる。利用者は閲覧を希望する練習が撮影された画像を全ての画像の中から手動で探し出す必要がなくなり、画像処理装置100は、利用者の利便性を向上させることが可能となる。
また、バレーボールでは、個々の人物又はボールが、それぞれ異なる練習において同一の位置にある場合又は同一の動きをする場合があり、個々の人物又はボールの位置又は動きに基づいて、練習内容を特定することが困難である。また、練習内容によっては、個々の人物又はボールが、互いに重なってしまい、適切に抽出されない可能性がある。一方、コート内の複数のプレイヤの位置(フォーメーション)又は動き(連携動作)は、練習毎に異なる。画像処理装置100は、空間内の人物配置に関する特徴情報に基づいてイベントを特定するため、個々の人物又は物体の位置又は動きに基づいて練習内容を特定する場合と比較して、高精度に練習内容を特定できる。
また、画像処理装置100は、直前の対象物体の検出位置に基づくボールの予測位置と対象物体の検出位置との間の距離が閾値以上であり且つその予測位置が入力画像群の撮影範囲内である場合、ボールが人物に接触したと判定する。これにより、画像処理装置100は、ボールが人物に接触したタイミングに撮影された入力画像を良好に抽出することが可能となった。
特に、バレーボールでは、セッターがトスアップする際のボールの位置、又は、アタッカーがスパイクを打つ際のボールの位置等、ボールがプレイヤに接触した瞬間のボールの位置は、プレイヤの各動作の良否を判断するための重要な要素となる。プレイヤは、ボールがプレイヤに接触したタイミングに撮影された入力画像を効率良く閲覧することが可能となり、画像処理装置100は、利用者の利便性を向上させることが可能となる。
また、画像処理装置100は、複数の撮像装置200により生成された入力画像を用いて、ボールを追跡する。特定の撮像装置200の死角にボールが存在する場合でも、そのボールは他の撮像装置200によって撮影されるため、画像処理装置100は、ボールを良好に追跡し続けることができる。
図19は、他の実施形態に係る画像処理装置100による解析処理の動作を示すフローチャートである。以下、図19に示したフローチャートを参照しつつ、他の実施形態に係る解析処理の動作を説明する。なお、以下に説明する動作のフローは、予め記憶装置120に記憶されているプログラムに基づき主にCPU140により画像処理装置100の各要素と協働して実行される。
図4に示した解析処理では、画像処理装置100は、複数の入力画像からイベントを特定してから、人物密集度合いに基づいて撮像装置200を選択する。一方、図19に示す解析処理では、画像処理装置100は、人物密集度合いに基づいて撮像装置200を選択してから、選択した撮像装置200により生成された入力画像からイベントを特定する。
最初に、取得部141は、図4のステップS101の処理と同様にして、入力画像群を取得し(ステップS501)、選択部143は、図4のステップS102の処理と同様にして、入力画像群に含まれる各入力画像から人物領域を検出する(ステップS502)。
次に、選択部143は、入力画像群に含まれる何れかの入力画像において、所定数以上の人物領域が検出されたか否かを判定する(ステップS503)。所定数は、2以上の自然数、例えば3に設定される。
次に、選択部143は、図4のステップS106の処理と同様にして、入力画像群に含まれる入力画像毎に、人物密集度合いを算出する(ステップS504)。但し、選択部143は、複数のイベントのそれぞれに対応する空間毎に、各空間内の人物密集度合いを算出する。即ち、選択部143は、所定のタイミングで第1撮像装置200が撮影した第1入力画像の第1空間及び第2空間内の第1人物密集度合いを算出する。また、選択部143は、その所定のタイミングで第2撮像装置200が撮影した第2入力画像の第1空間及び第2空間内の第2人物密集度合いを算出する。
次に、選択部143は、図4のステップS107の処理と同様にして、人物密集度合いに基づいて撮像装置200を選択する(ステップS505)。但し、選択部143は、複数のイベントのそれぞれに対応する空間毎に、人物密集度合いが最も小さい入力画像を撮像した撮像装置200を選択する。即ち、選択部143は、第1人物密集度合いと、第2人物密集度合いとの比較に基づいて、撮像装置200の選択を行う。
次に、取得部141は、ステップS501の処理と同様にして、入力画像群を取得し(ステップS506)、判定部142は、ステップS502の処理と同様にして、入力画像群に含まれる各入力画像から人物領域を検出する(ステップS507)。なお、既にステップS101で最新の入力画像群を取得済みであり人物領域を検出済みである場合、取得部141及び判定部142は、ステップS506及びS507の処理を省略してもよい。
次に、判定部142は、図4のステップS103の処理と同様にして、イベント空間内の各空間に対応する領域と各領域に対応する特徴情報との適合度合いを算出する(ステップS508)。但し、判定部142は、選択部143によって選択された撮像装置200が撮影した各入力画像について適合度合いを算出する。即ち、判定部142は、選択部143によって選択された撮像装置200が撮影した各入力画像について、第1空間内の画像と第1特徴情報との第1適合度合い、及び、第2空間内の画像と第2特徴情報との第2適合度合いを算出する。
次に、判定部142は、図4のステップS104の処理と同様にして、算出した何れかの適合度合いが所定数以上連続して閾値以上であるか否かを判定する(ステップS509)。但し、判定部142は、選択された撮像装置200により撮像された入力画像の特定の領域において特定のイベントに対応する特徴情報が所定数以上連続して閾値以上である場合に、何れかの適合度合いが所定数以上連続して閾値以上であると判定する。
何れの適合度合いも所定数以上連続して閾値以上でない場合、判定部142は、処理をステップS506に戻し、ステップS506〜S509の処理を繰り返す。一方、何れかの適合度合いが所定数以上連続して閾値以上である場合、判定部142は、その適合度合いに対応するイベントを、イベント空間において実施されているイベントとして特定する(ステップS510)。即ち、判定部142は、選択部143によって選択された撮像装置200が撮影した各入力画像において、第1適合度合い及び第2適合度合いに基づいて、第1イベント又は第2イベントが実施されたか否かを判定する。特に、判定部142は、選択部143によって選択された撮像装置200が連続して撮影した所定数の入力画像における第1適合度合い又は第2適合度合いが全て閾値以上である場合に、第1イベント又は第2イベントが実施されたと判定する。
判定部142は、管理テーブルにおいて、適合度合いが所定数以上連続して閾値以上となった入力画像及びその入力画像と同じタイミングで撮影された各入力画像の状態に、特定したイベント及びイベント開始を設定する。また、選択部143は、イベント開始が設定された入力画像の内、ステップS505で選択した撮像装置200に関連付けられた入力画像の状態に、撮像装置200が選択された旨をさらに設定する。
次に、取得部141は、最新の入力画像群を取得する(ステップS511)。なお、既にステップS506で最新の入力画像群を取得済みである場合、取得部141は、ステップS511の処理を省略してもよい。
次に、第1処理部144又は第2処理部149は、図4のステップS109の処理と同様にして、最新の入力画像群に対して、特定したイベントに応じたイベント処理を実行する(ステップS512)。
次に、終了判定部150は、ステップS502の処理と同様にして、最新の入力画像群に含まれる各入力画像から人物領域を検出する(ステップS513)。
次に、終了判定部150は、図4のステップS111の処理と同様にして、検出した人物領域が、判定部142によって特定されたイベントの終了条件を満たすか否かを判定する(ステップS514)。
検出した人物領域がイベントの終了条件を満たさない場合、終了判定部150は、特に処理を実行せず、処理をステップS511へ戻し、ステップS511〜S514の処理を繰り返す。一方、検出した人物領域がイベントの終了条件を満たす場合、終了判定部150は、特定したイベントが終了したと判定し(ステップS515)、処理をステップS501へ戻す。このように、終了判定部150は、判定部142による判定の基礎とされた入力画像より後に撮影された入力画像が、判定部142により実施されると判定されたイベントの終了条件を満たす場合に、そのイベントが終了したと判定する。終了判定部150は、管理テーブルにおいて、人物領域がイベントの終了条件を満たす入力画像及びその入力画像と同じタイミングで撮影された各入力画像の状態に、対応するイベント及びイベント終了を設定する。
なお、図4に示す解析処理の代わりに、図19に示す解析処理が実行される場合も、図17に示す表示処理が実行される。この場合、出力制御部151は、選択部143によって選択された撮像装置200が撮影した複数の入力画像において判定部142による判定の基礎とされた入力画像を、判定部142により実施されると判定されたイベントと結び付けて出力する。
以上詳述したように、画像処理装置100は、人物密集度合いに基づいて撮像装置200を選択し、選択した撮像装置200により生成された入力画像からイベントを特定する。これにより、画像処理装置100は、個々の人物を良好に検出しやすい入力画像を用いて、より高精度にイベントを特定することが可能となり、複数の入力画像の中からイベントに対応する入力画像を良好に抽出することが可能となった。
図20は、他の実施形態に係る画像処理装置における制御回路260の概略構成を示すブロック図である。
制御回路260は、制御回路160の代わりに使用され、CPU140の代わりに、解析処理及び表示処理を実行する。制御回路260は、取得回路261、判定回路262、選択回路263、第1処理回路264、第2処理回路269、終了判定回路270及び出力制御回路271等を有する。第1処理回路264には、検出位置特定回路265、予測位置推定回路266、接触判定回路267及び記憶制御回路268等が含まれる。
取得回路261は、取得部の一例であり、取得部141と同様の機能を有する。取得回路261は、通信装置101を介して各撮像装置200から入力画像を取得し、記憶装置120に保存する。
判定回路262は、判定部の一例であり、判定部142と同様の機能を有する。判定回路262は、記憶装置120から入力画像を読み出し、入力画像からイベント空間において実施されているイベントを特定し、記憶装置120に記憶された管理テーブルを更新する。
選択回路263は、選択部の一例であり、選択部143と同様の機能を有する。選択回路263は、記憶装置120から各入力画像を読み出し、入力画像における人物密集度合いに基づいて撮像装置200を選択し、記憶装置120に記憶された管理テーブルを更新する。
第1処理回路264は、第1処理部の一例であり、第1処理部144と同様の機能を有する。第1処理回路264は、記憶装置120から入力画像を読み出し、入力画像群に対して第1イベント処理を実行し、記憶装置120に記憶された管理テーブルを更新する。
検出位置特定回路265は、検出位置特定部の一例であり、検出位置特定部145と同様の機能を有する。検出位置特定回路265は、記憶装置120から入力画像を読み出し、入力画像において対象物体の検出位置を特定し、検出位置を記憶装置120に記憶する。
予測位置推定回路266は、予測位置推定部の一例であり、予測位置推定部146と同様の機能を有する。予測位置推定回路266は、記憶装置120から対象物体の検出位置を読み出し、ボールの予測位置を推定し、予測位置を記憶装置120に記憶する。
接触判定回路267は、接触判定部の一例であり、接触判定部147と同様の機能を有する。接触判定回路267は、記憶装置120から対象物体の検出位置及びボールの予測位置を読み出し、ボールが人物に接触したか否かを判定し、判定結果を記憶装置120に記憶する。
記憶制御回路268は、記憶制御部の一例であり、記憶制御部148と同様の機能を有する。記憶制御回路268は、記憶装置120からボールと人物の接触の判定結果を読み出し、レシーブ位置、トス位置及びスパイク位置を特定し、記憶装置120に記憶する。
第2処理回路269は、第2処理部の一例であり、第2処理部149と同様の機能を有する。第2処理回路269は、記憶装置120から入力画像を読み出し、入力画像群に対して第2イベント処理を実行し、記憶装置120に記憶された管理テーブルを更新する。
終了判定回路270は、終了判定部の一例であり、終了判定部150と同様の機能を有する。終了判定回路270は、記憶装置120から入力画像を読み出し、入力画像においてイベントが終了したか否かを判定し、記憶装置120に記憶された管理テーブルを更新する。
出力制御回路271は、出力制御部の一例であり、出力制御部151と同様の機能を有する。出力制御回路271は、通信装置101を介して端末装置300から、又は、操作装置102から利用者による指示を受け付ける。出力制御回路271は、受け付けた指示に従って、記憶装置120から入力画像及び管理テーブルを読み出し、表示データを生成して通信装置101を介して端末装置300に、又は、表示装置103に出力する。
以上詳述したように、画像処理装置は、制御回路260を用いる場合も、複数の入力画像の中からイベントに対応する入力画像を良好に抽出すること、及び、ボールが人物に接触したタイミングに撮影された入力画像を良好に抽出することが可能となった。
以上、好適な実施形態について説明してきたが、実施形態はこれらに限定されない。例えば、画像処理装置100は、各撮像装置200が入力画像を生成したタイミングでリアルタイムに解析処理を実行しなくてもよい。画像処理装置100は、過去に撮像装置200が生成した入力画像をまとめて記憶装置120に記憶しておき、記憶装置120に記憶された入力画像を順次取得しながら解析処理を実行してもよい。
また、画像処理装置100は、各表示データを端末装置300に送信して端末装置300に閲覧画面を表示するのでなく、表示装置103に閲覧画面を表示してもよい。その場合、画像処理装置100は、操作装置102から利用者による閲覧画面の表示指示及び各絞り込み条件の指定を受け付け、受け付けた指示又は指定に応じて、各表示データに従った閲覧画面を生成し、表示装置103に表示する。
また、画像処理システム1において、クラウドコンピューティングの形態でサービスを提供できるように、ネットワーク上に複数の画像処理装置を分散して配置し、各画像処理装置に協働させて、各入力画像の解析処理等を分担させてもよい。これにより、画像処理システム1は、複数の撮像装置200が生成した入力画像について、効率よく解析処理を実行できる。