(57)【要約】【課題】撮像領域内におけるキャリブレーション用のマーカの撮像位置の粗密の適切な決定に寄与することを目的とする。【解決手段】複数の撮像部それぞれが、複数の撮像部のキャリブレーションに用いられるマーカの撮像領域内におけるどの部分をどの程度の精細さで撮像するかを示す情報である精細度情報を、複数の撮像部ごとに対応して取得し、取得された複数の撮像部ごとに対応する精細度情報に基づいて、撮像領域におけるどの部分がどの程度の精細さで撮像されるかを示す統合精細度情報を生成する。【選択図】図３
2020188361.tif 000002
【特許請求の範囲】
【請求項１】
複数の撮像部それぞれが、前記複数の撮像部のキャリブレーションに用いられるマーカの撮像領域内におけるどの部分をどの程度の精細さで撮像するかを示す情報である精細度情報を、前記複数の撮像部ごとに対応して取得する取得手段と、
前記取得手段により取得された前記複数の撮像部ごとに対応する精細度情報に基づいて、前記撮像領域におけるどの部分がどの程度の精細さで撮像されるかを示す統合精細度情報を生成する生成手段と、
を有する情報処理装置。
【請求項２】
前記取得手段は、前記複数の撮像部それぞれの位置姿勢と焦点距離とに基づいて、前記前記精細度情報を取得する請求項１に記載の情報処理装置。
【請求項３】
前記取得手段は、前記複数の撮像部それぞれが、前記撮像領域におけるどの部分をどの程度の画素を用いて撮像するかを示す情報を、前記精細度情報として取得する請求項１又は２に記載の情報処理装置。
【請求項４】
前記生成手段は、前記取得手段により取得された前記精細度情報に基づいて、前記撮像領域におけるどの部分がどの程度の画素を用いて撮像されるかを示す情報を、前記統合精細度情報として生成する請求項３に記載の情報処理装置。
【請求項５】
前記生成手段により生成された前記統合精細度情報を出力する第１の出力手段を更に有する請求項１乃至４の何れか１項に記載の情報処理装置。
【請求項６】
前記生成手段により生成された前記統合精細度情報に基づいて、前記マーカを前記撮像領域でどのように移動させるかを決定する決定手段を更に有する請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項７】
前記決定手段は、前記生成手段により生成された前記統合精細度情報に基づいて、複数の前記マーカそれぞれを前記撮像領域でどのように移動させるかを決定する請求項６に記載の情報処理装置。
【請求項８】
前記決定手段は、前記決定手段により決定された前記統合精細度情報と、前記撮像領域に含まれる複数の部分領域と、前記複数の部分領域それぞれについて前記マーカが移動可能な制限時間と、に基づいて、前記複数の部分領域それぞれについて、前記マーカを、いつ、どのように移動させるかを決定する請求項６又は７に記載の情報処理装置。
【請求項９】
前記生成手段は、前記取得手段により取得された前記精細度情報と、前記複数の撮像部が前記マーカを認識可能な角度と、に基づいて、前記マーカの設置角度ごとに、前記統合精細度情報を生成し、
前記決定手段は、前記マーカの設置角度ごとに前記生成手段により生成された前記統合精細度情報ごとに、前記マーカを前記撮像領域でどのように移動させるかを決定する請求項６乃至８の何れか１項に記載の情報処理装置。
【請求項１０】
前記決定手段により決定された前記マーカを前記撮像領域でどのように移動させるかを示す情報を出力する第２の出力手段を更に有する請求項６乃至９の何れか１項に記載の情報処理装置。
【請求項１１】
前記第２の出力手段は、前記決定手段により決定された複数の前記マーカを前記撮像領域でどのように移動させるかを示す情報を、前記マーカのサイズの情報と併せて出力する請求項１０に記載の情報処理装置。
【請求項１２】
前記生成手段により生成された前記統合精細度情報と、前記複数の撮像部により撮像された前記マーカの位置と、に基づいて、前記複数の撮像部のうちのどの撮像部がどの程度の頻度で前記マーカの画像を取得するかを決定する第３の決定手段を更に有する請求項１乃至１１の何れか１項に記載の情報処理装置。
【請求項１３】
情報処理装置が実行する情報処理方法であって、
複数の撮像部それぞれが、前記複数の撮像部のキャリブレーションに用いられるマーカの撮像領域内におけるどの部分をどの程度の精細さで撮像するかを示す情報である精細度情報を、前記複数の撮像部ごとに対応して取得する取得ステップと、
前記取得ステップで取得された前記複数の撮像部ごとに対応する精細度情報に基づいて、前記撮像領域におけるどの部分がどの程度の精細さで撮像されるかを示す統合精細度情報を生成する生成ステップと、
を含む情報処理方法。
【請求項１４】
コンピュータを、請求項１乃至１２の何れか１項に記載の情報処理装置の各手段として、機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
被写体を複数の視点で撮像した画像群から、撮像視点とは異なる任意の視点の画像を生成する自由視点画像生成技術や、被写体の３次元形状を算出する形状取得技術が知られている。これらの技術を実現するためには、複数の視点に配置されたカメラ等の撮像部の位置姿勢が高精度に求まっていることが重要であり、撮像部設置の際に既知のマーカ等を動かしてキャリブレーションを実施し、撮像部の位置姿勢を求めることが行われている。
特許文献１には、既知の直径の球体をカメラで撮像し、複数のカメラの共通視野内で球体を移動させて認識することでカメラを高精度にキャリブレーションする技術が開示されている。
このような技術を用いれば、競技場のような広い空間でキャリブレーションを行う場合でも、対向するカメラから被写体がほぼ同じ大きさに映る領域でマーカを移動させることで高精度なキャリブレーションを行うことが可能となる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−０２６７２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、競技場等の空間では、フィールドの保全等の理由で、複数の撮像部の共通視野領域への立ち入り人数や立ち入り時間が制限される場合がある。そのような人数と時間の制約の中で、高精度なキャリブレーションに必要な密度でマーカを満遍なく動かすことは困難である。また、特許文献１では制限時間が考慮されていないため、制限時間内で全てのカメラを十分に高精度にキャリブレーションできない場合がある。
そこで、制約がある状況であっても、マーカをどのように移動させるかを適切に決定したいという要望がある。
そこで、本発明は、撮像領域内におけるキャリブレーション用のマーカの撮像位置の粗密の適切な決定に寄与することを目的としている。
【課題を解決するための手段】
【０００５】
本発明の情報処理装置は、複数の撮像部それぞれが、前記複数の撮像部のキャリブレーションに用いられるマーカの撮像領域内におけるどの部分をどの程度の精細さで撮像するかを示す情報である精細度情報を、前記複数の撮像部ごとに対応して取得する取得手段と、前記取得手段により取得された前記複数の撮像部ごとに対応する精細度情報に基づいて、前記撮像領域におけるどの部分がどの程度の精細さで撮像されるかを示す統合精細度情報を生成する生成手段と、を有する。
【発明の効果】
【０００６】
本発明によれば、撮像領域内におけるキャリブレーション用のマーカの撮像位置の粗密の適切な決定に寄与することができる。
【図面の簡単な説明】
【０００７】
【図１】画像処理装置のハードウェア構成の一例を示す図である。
【図２】画像処理装置の機能構成の一例を示す図である。
【図３】画像処理装置の処理の一例を示すフローチャートである。
【図４】画像処理装置の処理の一例を説明する図である。
【図５】画像処理装置の機能構成の一例を示す図である。
【図６】画像処理装置の処理の一例を示すフローチャートである。
【図７】画像処理装置の処理の一例を説明する図である。
【図８】画像処理装置の機能構成の一例を示す図である。
【図９】画像処理装置の処理の一例を示すフローチャートである。
【図１０】画像処理装置の処理の一例を説明する図である。
【図１１】画像処理装置の機能構成の一例を示す図である。
【図１２】画像処理装置の処理の一例を示すフローチャートである。
【図１３】画像処理装置の処理の一例を説明する図である。
【発明を実施するための形態】
【０００８】
以下に、本発明の実施の形態の一例を、図面に基づいて詳細に説明する。
【０００９】
＜実施形態１＞
本実施形態の画像処理装置１００は、マーカの撮像領域内の各地点が各カメラによりどの程度の画素を用いて撮像されているかに従って、マーカが可動可能な領域上でマーカをどのように移動させるかを決定する。
以下では、マーカが可動可能な領域上でマーカをどのように移動させるかを示す情報を、マーカ移動マップとする。
【００１０】
図１は、画像処理装置１００のハードウェア構成の一例を示す図である。本実施形態では、画像処理装置１００は、パーソナルコンピュータ（ＰＣ）であるとするが、サーバ装置、タブレット装置等の他の装置であってもよい。画像処理装置１００は、情報処理装置の一例である。画像処理装置１００は、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）１０１と、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）１０２と、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）１０３と、を含む。また、画像処理装置１００は、記憶部１０４と、入力インターフェース１０５と、出力インターフェース１０６と、システムバス１０７と、を含む。ＣＰＵ１０１とＲＡＭ１０２とＲＯＭ１０３と記憶部１０４と入力インターフェース１０５と出力インターフェース１０６とは、システムバス１０７を介して相互に通信可能に接続されている。
入力インターフェース１０５には、外部メモリ１０８が接続されている。また、出力インターフェース１０６には表示装置１０９が接続されている。
【００１１】
ＣＰＵ１０１は、画像処理装置１００の各構成要素を統括的に制御するプロセッサである。ＲＡＭ１０２は、ＣＰＵ１０１の主メモリ及びワークエリアとして機能する記憶装置である。ＲＯＭ１０３は、画像処理装置１００における処理に用いられるプログラム等を格納する記憶装置である。
記憶部１０４は、画像処理装置１００での処理に用いられる画像データや、処理のためのパラメータ（設定値）等の情報を記憶する記憶装置ある。本実施形態では、記憶部１０４は、ハードディスクドライブ（ＨＤＤ）であるとするが、光ディスクドライブ、フラッシュメモリ等の他の記憶装置であってもよい。
【００１２】
入力インターフェース１０５は、シリアルバスインターフェース（例えば、ＵＳＢやＩＥＥＥ１３９４等）である。画像処理装置１００は、入力インターフェース１０５を介して、外部メモリ１０８から処理対象の画像データ等を取得することができる。
出力インターフェース１０６は、映像出力端子（例えば、ＤＶＩやＨＤＭＩ（登録商標）等）である。画像処理装置１００は、出力インターフェース１０６を介して、表示装置１０９に、画像処理装置１００で処理が施された画像データを出力することができる。
【００１３】
外部メモリ１０８は、入力インターフェース１０５に接続可能な記憶装置（例えば、ＨＤＤ、メモリカード、ＣＦカード、ＳＤカード、ＵＳＢメモリ等）である。また、表示装置１０９は、各種情報が表示される表示装置（液晶ディスプレイなどの画像表示デバイス）である。
画像処理装置１００は、ハードウェア構成要素として図１に示されている要素以外の要素を含んでいてもよい。
ＣＰＵ１０１がＲＯＭ１０３、記憶部１０４等に記憶されたプログラムにしたがって処理を実行することで、図２、５、８、１１で後述する画像処理装置１００の機能、図３、６、９、１２で後述するフローチャートの処理等が実現される。
【００１４】
本実施形態では、画像処理装置１００は、予め定められた撮像対象であるフィールドを囲むように配置された複数のカメラのカメラキャリブレーションに用いられるマーカをフィールド上でどのように移動させるかを決定する処理を行う。撮像対象を囲むように配置された複数のカメラそれぞれは、撮像部の一例である。
また、本実施形態では、外部メモリ１０８には、複数のカメラそれぞれのカメラパラメータ、フィールドの３次元形状を示すモデルデータ、マーカが移動可能な領域であるマーカ可動領域の座標であるマーカ可動領域座標、マーカの数等を記憶する。カメラパラメータとは、カメラに関するパラメータであり、内部パラメータと外部パラメータとを含む。内部パラメータとは、カメラの内部設定に関するパラメータであり、本実施形態では、ズームの設定（レンズの焦点距離）を含む。また、内部パラメータには、レンズの歪曲の度合等を含むこととしてもよい。外部パラメータとは、カメラの位置姿勢に関するパラメータであり、本実施形態では、カメラの設置場所と注視点とを含む。
【００１５】
図２は、画像処理装置１００の機能構成の一例を示す図である。
画像処理装置１００は、パラメータ設定部２０１、モデル設定部２０２、可動領域設定部２０３、画素密度マップ算出部２０４、統合画素密度マップ算出部２０５、移動マーカ設定部２０６、マーカ移動マップ算出部２０７を含む。
パラメータ設定部２０１は、複数のカメラそれぞれに設定されたパラメータを取得する。モデル設定部２０２は、フィールドモデルを取得する。可動領域設定部２０３は、マーカ可動領域座標を取得する。画素密度マップ算出部２０４は、各カメラについて、カメラがマーカ可動領域内のどの部分をどの程度の画素を用いて撮像するかを示す情報（以下では、画素密度マップ）を取得する。統合画素密度マップ算出部２０５は、画素密度マップ算出部２０４により取得された複数の画素密度マップを統合する。移動マーカ設定部２０６は、用いられるマーカの数を取得する。マーカ移動マップ算出部２０７は、マーカ可動領域でマーカをどのように移動させるかを決定し、マーカ移動マップを生成する。
【００１６】
図３は、画像処理装置１００の処理の一例を示すフローチャートである。図４は、画像処理装置１００の処理の一例を説明する図である。
Ｓ３０１において、パラメータ設定部２０１は、入力インターフェース１０５を介して外部メモリ１０８から、各カメラの設置の際の外部パラメータと内部パラメータとの情報を取得し、ＲＡＭ１０２に記憶する。
【００１７】
Ｓ３０２において、モデル設定部２０２は、入力インターフェース１０５を介して外部メモリ１０８から、フィールドのモデルデータを取得し、ＲＡＭ１０２に記憶する。本実施形態では、Ｓ３０２で取得されたフィールドモデルは、図４のモデル４０１であるとする。モデル４０１は、スタジアムのフィールドと、フィールド内のラグビーのコートと、を示している。
Ｓ３０３において、可動領域設定部２０３は、入力インターフェース１０５を介して外部メモリ１０８から、マーカ可動領域の情報であるマーカ可動領域座標を取得し、ＲＡＭ１０２に記憶する。本実施形態では、Ｓ３０３で取得されたマーカ可動領域座標が示すマーカ可動領域は、図４の領域４０２であるとする。領域４０２は、フィールド内の領域を示している。即ち、マーカ可動領域は、フィールド内の領域となる。可動領域設定部２０３は、複数の領域を、マーカ可動領域として取得することとしてもよい。その場合、可動領域設定部２０３は、Ｓ３０３で、この複数の領域を統合した領域（領域のＯＲ結合）を、マーカ可動領域として扱う。
【００１８】
Ｓ３０４において、画素密度マップ算出部２０４は、ＲＡＭ１０２に格納された各カメラのカメラパラメータと、マーカ可動領域と、に基づいて、各カメラについての画素密度マップを算出し、ＲＡＭ１０２に記憶する。
本実施形態では、画素密度マップ算出部２０４は、対応するカメラがどの程度の画素を用いて撮像した部分であるかを示す情報が重畳されたマーカ可動領域を示すマップの情報を、画素密度マップとして取得する。以下では、カメラがどの程度の画素を用いて撮像した部分であるかを示す情報を、画素密度情報とする。本実施形態では、画素密度情報は、マーカ可動領域のマップ上における色の濃淡の情報であり、色が白に近い程、より多くの画素を用いて撮像された部分であることを示し、色が黒に近いほど、より少ない画素を用いて撮像された部分であることを示す。
【００１９】
本実施形態では、撮像対象のフィールドを撮像するカメラには、広角撮像するように焦点距離が設定されているカメラ４０３Ａが含まれる。また、広角撮像でもなく、望遠撮像でもない撮像（標準撮像）を行うよう焦点距離が設定されているカメラ４０３Ｂ、望遠撮像するように焦点距離が設定されているカメラ４０３Ｃも含まれる。
カメラ４０３Ａ、カメラ４０３Ｂ、カメラ４０３Ｃの撮像範囲は、それぞれ領域４０４Ａ、領域４０４Ｂ、領域４０４Ｃのようになる。
【００２０】
画素密度マップ算出部２０４は、カメラの撮像範囲に基づいて、カメラがマーカ可動領域のどの部分をどの程度の画素を用いて撮像しているかを特定し、カメラについての画素密度マップを取得する。
本実施形態では、画素密度マップ算出部２０４は、以下のようにして、カメラについての画素密度マップを求める。本実施形態では、マーカ可動領域上に設定された画素の密度を求める対象の領域（例えば、三角形、四角形等の多角形のポリゴン等）が複数、設定されている。本実施形態では、この領域は、三角形のポリゴンであるとするが、四角形等の他の形状のポリゴンでもよい。
【００２１】
画素密度マップ算出部２０４は、マーカ可動領域上に設定されている領域それぞれについて、領域の頂点の３点について、実空間に設定された世界座標系における座標を求める。そして、画素密度マップ算出部２０４は、これらの３点それぞれについて、以下の式１を用いて、これらの３点それぞれのカメラ座標系における座標を求める。
【００２２】
【数１】
2020188361.tif 000003
【００２３】
式１のｓは、地点を示す。ｕは、カメラ座標系におけるｓのｘ座標値を示す。ｖは、カメラ座標系におけるｓのｙ座標値を示す。また、ｆｘは、カメラの焦点距離を、カメラ座標系におけるｘ軸上の画素ピッチ（画素と画素との距離）で割った値を示す。また、ｆｙは、カメラの焦点距離を、カメラ座標系におけるｙ軸上の画素ピッチ（画素と画素との距離）で割った値を示す。また、ｃｘ、ｃｙは、カメラの光学中心（レンズの中心）のカメラ座標系における座標を示す。また、Ａは、１行１列目の要素がｆｘ、２行２列目の要素がｆｙ、３行３列目の要素が１、１行３列目の要素がｃｘ、２行３列目の要素がｃｙ、他の要素が０の３×３行列を示す。
また、Ｒは、カメラの姿勢行列を示す。また、ｒijは、Ｒのｉ行ｊ列の要素を示す。また、ｔは、カメラのシフトを示す。世界座標系におけるカメラの位置を、Ｒ-1ｔとする。カメラｔiは、ｔのｉ行目の要素を示す。また、Ｘは、世界座標系における地点ｓのｘ座標値を示す。また、Ｙは、世界座標系における地点ｓのｙ座標値を示す。また、Ｚは、世界座標系における地点ｓのｚ座標値を示す。
【００２４】
そして、画素密度マップ算出部２０４は、画素の密度を求める対象の領域の３点それぞれについてのカメラ座標系における座標を頂点とするカメラ座標系における三角形の領域を求める。そして、画素密度マップ算出部２０４は、求めた三角形の領域に含まれる画素の数の逆数を、その領域の画素の密度として求める。また、画素密度マップ算出部２０４は、画素の密度を求める対象の領域の頂点のカメラ座標系における座標がカメラの撮像範囲外となる場合、計算に含めなくてよい。
画素密度マップ算出部２０４は、以上の処理をマーカ可動領域に設定された全ての領域について行うことで、カメラがマーカ可動領域のどの部分をどの程度の画素を用いて撮像しているかを特定し、そのカメラについての画素密度マップを取得する。
本実施形態では、画素密度マップ算出部２０４により取得されたカメラ４０３Ａについての画素密度マップは、マップ４０５Ａとなる。また、カメラ４０３Ｂについての画素密度マップは、マップ４０５Ｂとなる。また、カメラ４０３Ｃについての画素密度マップは、マップ４０５Ｃとなる。各カメラについての画素密度マップは、各カメラがマーカ可動領域におけるどの部分をどの程度の精細さで撮像するかを示す情報である精細度情報の一例である。
【００２５】
Ｓ３０５において、統合画素密度マップ算出部２０５は、各カメラについてＳ３０４で求められた画素密度マップを統合することで、統合された１枚の画素密度マップを生成し、ＲＡＭ１０２に記憶する。以下では、各カメラについての画素密度マップが統合された１枚の画素密度マップを、統合画素密度マップとする。統合画素密度マップは、マーカ可動領域における各地点がどの程度の精細さで撮像されるかを示す情報である統合精細度情報の一例である。より具体的には、統合画素密度マップ算出部２０５は、マーカ可動領域全体のマップに、各カメラについての画素密度マップを重畳させる。
その際に、統合画素密度マップ算出部２０５は、マーカ可動領域における同じ領域に複数の画素密度情報が存在する場合、複数の画素密度情報のうち、最も画素の密度が大きいものをその領域に対応する画素密度情報として選択する。ただし、他の例として、統合画素密度マップ算出部２０５は、マーカ可動領域における同じ領域に複数の画素密度情報が存在する場合、複数の画素密度情報の合計をその領域に対応する画素密度情報としてもよい。また、統合画素密度マップ算出部２０５は、マーカ可動領域における同じ領域に複数の画素密度情報が存在する場合、画素密度情報の個数が多いほど、その領域に対応する画素の密度が高くなるように、その領域に対応する画素密度情報を調整してもよい。
【００２６】
マップ４０５Ａ、４０５Ｂ、４０５Ｃが統合された統合画素密度マップは、マップ４０６になる。また、統合画素密度マップ算出部２０５は、図４の例ではマーカ可動領域内が他のカメラから見えているものとして、カメラ４０３Ａからしか見えていない場所（カメラ４０３Ｂ、４０３Ｃから見えない場所）も統合画素密度マップに含めている。
ただし、統合画素密度マップ算出部２０５は、マーカの３次元位置を画像上の座標とカメラパラメータから算出するには最低２視点分の座標が必要なので、２つ以上のカメラから撮像されない領域については、画素密度マップを統合しないこととしてもよい。
【００２７】
また、統合画素密度マップ算出部２０５は、取得した統合画素密度マップを出力してもよい。例えば、統合画素密度マップ算出部２０５は、取得した統合画素密度マップを表示装置１０９に表示することで出力してもよい。これにより、統合画素密度マップ算出部２０５は、取得した統合画素密度マップをユーザに提示できる。ユーザは、統合画素密度マップを確認することで、マーカ可動領域におけるどの部分がどの程度精細に撮像されるかを把握することができる。より精細に撮像される領域内でマーカを用いたカメラキャリブレーションを行うことが望ましい。そのため、ユーザは、マーカ可動領域におけるどの部分がどの程度精細に撮像されるかを把握することで、マーカをどのように移動させるかをより適切に決定できるようになる。つまり、ユーザは、提示された統合画素密度マップに基づいて、マーカの移動経路等を決定することができる。このように、画像処理装置１００は、統合画素密度マップを生成することで、マーカをどのように移動させるかの適切な決定に寄与することができる。
【００２８】
また、統合画素密度マップ算出部２０５は、ユーザの利用する端末等の予め定められた送信先に統合画素密度マップを送信することで出力してもよい。また、統合画素密度マップ算出部２０５は、印刷機等を介して統合画素密度マップを印刷媒体（例えば、紙、フィルム等）に印刷することで出力してもよい。また、統合画素密度マップ算出部２０５は、統合画素密度マップを記憶部１０４、外部メモリ１０８等に記憶することで出力してもよい。
【００２９】
Ｓ３０６において、移動マーカ設定部２０６は、入力インターフェース１０５を介して外部メモリ１０８から、マーカ可動領域ごとに移動させるマーカの数を取得し、移動マーカ数としてＲＡＭ１０２に記憶する。
例えば、４人がマーカをもってフィールド内を歩く場合、移動マーカ数は、４となる。ここで、マーカは、人が動かすマーカであるとするが、ドローンが動かすマーカ、レーザの照射により描画されるマーカ等の他のマーカであってもよい。
【００３０】
Ｓ３０７において、マーカ移動マップ算出部２０７は、ＲＡＭ１０２に記憶された移動マーカ数と統合画素密度マップとに基づいて、マーカ移動マップを取得する。マーカ移動マップ算出部２０７は、マーカ可動領域のうち統合画素密度マップに示される画素の密度が高い領域程、より密にマーカを移動させ、画素の密度が低い領域程、より粗にマーカを移動させるように決定することで、マーカ移動マップを取得する。本実施形態では、マーカ移動マップ算出部２０７は、決定したマーカの移動経路を示す矢印を含むマーカ移動マップを取得する。
本実施形態では、マーカ移動マップ算出部２０７は、統合画素密度マップに基づいて、内部の画素の密度の合計が等しくなるように、マーカ可動領域を移動マーカ数の個数の領域（例えば、矩形領域等）に分割する。また、マーカ移動マップ算出部２０７は、最も画素密度の高い領域から優先的に矩形を割り当て、残りを画素密度が高い領域から優先して分割していくようにしてもよい。
【００３１】
そして、マーカ移動マップ算出部２０７は、分割した各領域について、マーカをどのように移動させるかを決定することで、マーカ移動マップを取得する。
図４の例では、移動マーカ数４である場合、移動マーカ数と統合画素密度マップとから、マーカ移動マップ４０７が作成される。
【００３２】
マーカ移動マップ算出部２０７は、取得したマーカ移動マップを出力する。本実施形態では、マーカ移動マップ算出部２０７は、取得したマーカ移動マップを表示装置１０９に表示することで出力する。これにより、マーカ移動マップ算出部２０７は、マーカをどのように移動させればよいかをユーザに提示できる。ユーザは、マーカ移動マップを確認することで、マーカをどのように移動させるかより適切に決定できる。即ち、画像処理装置１００は、マーカをどのように移動させるかの適切な決定に寄与することができる。
また、マーカ移動マップ算出部２０７は、ユーザの利用する端末等の予め定められた送信先にマーカ移動マップを送信することで出力してもよい。また、マーカ移動マップ算出部２０７は、印刷機等を介してマーカ移動マップを印刷媒体（例えば、紙、フィルム等）に印刷することで出力してもよい。また、マーカ移動マップ算出部２０７は、マーカ移動マップを記憶部１０４、外部メモリ１０８等に記憶することで出力してもよい。
【００３３】
以上、本実施形態の処理により、画像処理装置１００は、マーカ可動領域内で、マーカをどのように移動させるかを決定し、マーカ移動マップを生成できる。
【００３４】
＜実施形態２＞
本実施形態では、マーカが可動できる範囲ごとにマーカが動ける制限時間が異なる場合の処理について説明する。
スタジアムでは天然芝の保護のため等の理由でコート内の立ち入り制限時間が短かったり禁止されたりする場合がある。一方で、コート外のフィールドや観客席にはより長い時間立ち入ることができる場合がある。本実施形態の処理は、そのような場合に対応する処理である。
本実施形態の画像処理装置１００のハードウェア構成は、実施形態１と同様である。
【００３５】
図５は、本実施形態の画像処理装置１００の機能構成の一例を示す図である。本実施形態の画像処理装置１００は、パラメータ設定部５０１、モデル設定部５０２、可動領域設定部５０３、画素密度マップ算出部５０４、統合画素密度マップ算出部５０５、移動マーカ設定部５０６、マーカ移動マップ算出部５０７を含む。機能構成要素５０１〜５０２、５０４〜５０６それぞれは、図２の機能構成要素２０１〜２０２、２０４〜２０６それぞれと同様である。
可動領域設定部５０３は、可動領域設定部２０３と比較して、マーカが可動できる制限時間を取得する点で異なる。また、マーカ移動マップ算出部５０７は、マーカ移動マップ算出部２０７と比較して、マーカの制限時間の設定に基づいて時間ごとの移動マップを取得する点で異なる。
【００３６】
図６は、本実施形態の画像処理装置１００の処理の一例を示すフローチャートである。図７は、本実施形態の画像処理装置１００の処理の一例を説明する図である。
Ｓ６０１〜Ｓ６０２、Ｓ６０４〜Ｓ６０６の処理は、それぞれＳ３０１〜Ｓ３０２、Ｓ３０４〜Ｓ３０６の処理と同様である。
【００３７】
Ｓ６０３において、可動領域設定部５０３は、入力インターフェース１０５を介して外部メモリ１０８から、マーカ可動領域座標と、マーカ可動領域座標ごとの制限時間と、を取得し、ＲＡＭ１０２に記憶する。
本実施形態では、可動領域設定部５０３は、図７の領域７０１Ａ（フィールド外の領域）、７０１Ｂ（フィールド内コート外の領域）、７０１Ｃ（コート内の領域）の情報を、マーカ可動領域座標として取得する。即ち、マーカ可動領域には、領域７０１Ａ、７０１Ｂ、７０１Ｃが含まれる。領域７０１Ａ、７０１Ｂ、７０１Ｃそれぞれは、マーカ可動領域の部分の領域である部分領域の一例である。可動領域設定部５０３は、制限時間７０２Ａ、制限時間７０２Ｂ、制限時間７０２Ｃを、領域７０１Ａ、７０１Ｂ、７０１Ｃそれぞれについての制限時間として取得する。制限時間７０２Ａは、所定の時刻から４５分である。制限時間７０２Ｂは、所定の時刻から３０分である。制限時間７０２Ｃは、所定の時刻から１０分である。
【００３８】
Ｓ６０７において、マーカ移動マップ算出部５０７は、ＲＡＭ１０２に格納された移動マーカ数と制限時間とマーカ統合画素密度マップとからマーカ移動マップを取得する。より具体的には、マーカ移動マップ算出部５０７は、制限時間の情報から、領域７０１Ｃでマーカを移動させる期間を、制限時間７０２Ｃが示すように、所定の時刻から１０分間に決定する。また、マーカ移動マップ算出部５０７は、領域７０１Ｂでマーカを移動させる期間を、制限時間７０２Ｂのうち、制限時間７０２Ｃが完了した後の時間である２０分間に決定する。また、マーカ移動マップ算出部５０７は、領域７０１Ａでマーカを移動させる期間を、制限時間７０２Ａのうち、制限時間７０２Ｂが完了した後の時間である１５分間に決定する。
そして、マーカ移動マップ算出部５０７は、制限時間７０２Ｃが示す所定の時刻から１０分間において、領域７０１Ｃで、移動マーカ数（本実施形態では、４個）のマーカをどのように移動させるかを決定する。この場合、マーカ移動マップ算出部５０７は、画素密度が高い程より密に移動させるように、画素密度が低い程より粗に移動させるように、マーカをどのように移動させるかを決定する。
【００３９】
同様に、マーカ移動マップ算出部５０７は、領域７０１Ｂで、移動マーカ数のマーカをどのように移動させるかを決定する。また、同様に、マーカ移動マップ算出部５０７は、領域７０１Ａで、移動マーカ数のマーカをどのように移動させるかを決定する。
本実施形態では、領域７０１Ａ、７０１Ｂ、７０１Ｃそれぞれに対して、移動マップ７０４Ａ、７０４Ｂ、７０４Ｃが決定される。
【００４０】
以上、本実施形態の処理により、画像処理装置１００は、マーカ可動領域においてマーカ設置の制限時間の異なる領域が複数ある場合でも、マーカをどのように移動させるかを決定し、マーカ移動マップを生成できる。
【００４１】
＜実施形態３＞
本実施形態の画像処理装置１００は、マーカ設置角度ごとにマーカの移動マップを取得する。カメラにより撮像された画像内で認識可能なマーカの最小サイズが存在する。例えば、画像上に１ｘ１（ｐｉｘｅｌ）で写ったマーカは、小さすぎて認識できない。
また、カメラにより撮像された画像内で認識可能なマーカの向き（認識可能なマーカの角度）が存在する。ボード状のマーカを用いる場合には、ボードの真横から撮像されたマーカは認識できない。
本実施形態では、このような場合に対応する処理を説明する。
本実施形態の画像処理装置１００のハードウェア構成は、実施形態１と同様である。
【００４２】
図８は、本実施形態の画像処理装置１００の機能構成の一例を示す図である。
本実施形態の画像処理装置１００は、パラメータ設定部８０１、モデル設定部８０２、可動領域設定部８０３、画素密度マップ算出部８０４、統合画素密度マップ算出部８０５、角度・サイズ設定部８０６、マーカ移動マップ算出部８０７を含む。機能構成要素８０１〜８０４は、それぞれ図２の機能構成要素２０１〜２０４と同様である。
【００４３】
統合画素密度マップ算出部８０５は、統合画素密度マップ算出部２０５と比較して、マーカの設置角度ごとに複数の統合画素密度マップを出力する点で異なる。
角度・サイズ設定部８０６は、各カメラがマーカを認識できる角度（以下では、マーカ認識可能角度）と、各カメラの画像内で認識可能なマーカのサイズ（以下では、マーカ認識可能サイズ）と実際のマーカのサイズと移動マーカ数とを取得する。本実施形態では、移動マーカ数は、４であるとする。実際のマーカのサイズは、利用可能なマーカそれぞれのサイズであり、本実施形態では、それぞれ異なる２つのサイズが取得されたとする。
また、マーカ移動マップ算出部８０７は、マーカ移動マップ算出部２０７と比較して、複数の統合画素密度マップそれぞれに対して、マーカ移動マップを算出する点で異なる。
【００４４】
本実施形態では、各カメラがマーカを認識できる角度と、各カメラがマーカを認識できるサイズと、を考慮して、マーカ設置角度ごとに、実際のマーカのサイズの情報が付与されたマーカ移動マップを作成する。
図９は、本実施形態の画像処理装置１００の処理の一例を示すフローチャートである。
Ｓ９０１〜Ｓ９０４の処理は、それぞれＳ３０１〜Ｓ３０４の処理と同様である。
Ｓ９０５において、角度・サイズ設定部８０６は、入力インターフェース１０５を介して外部メモリ１０８から、マーカ認識可能角度とマーカ認識可能サイズと実マーカサイズと移動マーカ数とを取得し、ＲＡＭ１０２に記憶する。
【００４５】
Ｓ９０６において、統合画素密度マップ算出部８０５は、ＲＡＭ１０２に格納されたマーカ認識可能角度と各カメラの画素密度マップとに基づいて、予め定められたマーカ設置角度ごとの統合画素密度マップを取得し、ＲＡＭ１０２に記憶する。マーカ設置角度とは、マーカがどの向き（角度）で設置されるかを示す角度である。
Ｓ９０６のより具体的な処理について図１０を用いて説明する。本実施形態では、フィールドモデル１００１、マーカ可動領域１００２に対して、カメラ１００３Ａ〜Ｆが、図１０に示すように設置されている。Ｓ９０４で取得される各カメラの画素密度マップは、マップ１００４Ａ〜Ｆのようになる。
【００４６】
本実施形態では、マーカは、ボード上のマーカである。また、本実施形態では、マーカ認識可能角度は、マーカの表面に対して１２０度である。
また、本実施形態では、マーカは、以下のような２つの設置角度で配置されるとする。１つ目は、マーカの表面が、フィールド上に設定されたＸＹ座標系におけるＸ軸方向に垂直となるような設置角度（以下では、Ｘ方向角度とする）である。また、２つ目は、マーカの表面が、フィールド上に設定されたＸＹ座標系におけるＹ軸方向に垂直となるような設置角度（以下ではＹ方向角度とする）である。
Ｘ方向角度のマーカを認識できるカメラは、１００３Ａ〜１００３Ｃの３台である。Ｙ方向角度のマーカを認識できるカメラは、１００３Ｄ〜１００３Ｆの３台である。また、１００３Ａ〜１００３Ｆについての画素密度マップは、それぞれマップ１００４Ａ〜１００４Ｆとなる。
この場合、統合画素密度マップ算出部８０５は、マップ１００４Ａ〜１００４Ｃを統合したマップ１００５Ｘを、Ｘ方向角度のマーカについての統合画素密度マップとして生成する。また、統合画素密度マップ算出部８０５は、マップ１００４Ｄ〜１００４Ｆを統合したマップ１００５Ｙを、Ｙ方向角度のマーカについての統合画素密度マップとして生成する。
【００４７】
Ｓ９０７において、マーカ移動マップ算出部８０７は、ＲＡＭ１０２に記憶されたマーカ認識可能サイズと実際のマーカのサイズと移動マーカ数とマーカ統合画素密度マップとに基づいて、マーカ移動マップを取得する。
より具体的には、マーカ移動マップ算出部８０７は、統合画素密度マップがマップ１００５Ｘとマップ１００５Ｙとの２つあるため、移動マーカ数である４を２で割り、各統合画素密度マップに対応するマーカの個数を２つに決定する。
【００４８】
そして、マーカ移動マップ算出部８０７は、マップ１００５ｘを、含まれる画素が等しくなるように、利用可能なマーカの数である２つに分割する。マーカ移動マップ算出部８０７は、分割した領域ごとに、マップ１００５Ｘについて、Ｘ方向角度に設置された２つのマーカを、画素密度が高い場所程を高密度に、画素密度が低い場所程を粗（低密度）に移動させるようにマーカ移動マップを作成する。
マーカ移動マップ算出部８０７は、カメラ１００３Ａ〜１００３Ｃそれぞれの画像内で認識可能なマーカのサイズと、実際のマーカのサイズと、に基づいて、マップ１００５ｘが分割された領域それぞれにおいてどのサイズのマーカを利用するかを決定する。
【００４９】
本実施形態では、マーカ移動マップ算出部８０７は、マップ１００５Ｘを分割した領域のうち、カメラ１００３Ａ〜１００３Ｃから遠い領域については、カメラ１００３Ａ〜１００３Ｃから近い領域についてよりも、大きなサイズのマーカを利用することを決定する。そして、マーカ移動マップ算出部８０７は、マーカ移動マップにおけるマーカの移動経路を示す矢印を、対応するマーカのサイズに応じた態様にする。
図１０の例では、マーカ移動マップ算出部８０７は、対応するマーカのサイズが大きいほど、空白がより粗な破線の矢印となるようにしている。即ち、マーカの移動経路を示す矢印の形式は、対応するマーカのサイズを示す情報の一例である。
【００５０】
マーカ移動マップ算出部８０７は、マップ１００５ｙについても同様の処理を行う。
本実施形態では、Ｓ９０７で、統合画素密度マップであるマップ１００５Ｘについては、マーカ移動マップとして、マップ１００６Ｘが取得される。統合画素密度であるマップ１００５Ｙについては、マーカ移動マップとして、マップ１００６Ｙが取得される。
【００５１】
以上、本実施形態の処理により、画像処理装置１００は、マーカに認識可能角度と認識可能サイズの制約がある場合でも、マーカ設置角度ごとにマーカ移動マップを生成できる。
【００５２】
＜実施形態４＞
本実施形態の画像処理装置１００は、統合画素密度マップを使ってマーカの画像を取得する頻度を決定する。
自由視点画像の生成等の場合、多くのカメラの画像を用いるため、画像の転送速度や現像速度に制約がある場合がある。そのため、できるかぎり少ない画像で高精度なカメラキャリブレーションをすることが求められる。本実施形態では、画像処理装置１００は、実施形態１〜３で説明した統合画素密度マップを用いて、画像の転送や現像を時間間隔の粗密を設定する。
本実施形態の画像処理装置１００のハードウェア構成は、実施形態１と同様である。
【００５３】
図１１は、本実施形態の画像処理装置１００の機能構成の一例を示す図である。
本実施形態の画像処理装置１００は、パラメータ設定部１１０１、モデル設定部１１０２、可動領域設定部１１０３、画素密度マップ算出部１１０４、統合画素密度マップ算出部１１０５、３次元座標取得部１１０６、画像取得設定算出部１１０７を含む。
図１１の機能構成要素１１０１〜１１０５は、それぞれ図２の機能構成要素２０１〜２０５と同様である。
３次元座標取得部１１０６は、カメラにより取得された画像上で認識されたマーカの３次元座標を取得する。画像取得設定算出部１１０７は、統合画素密度マップとマーカの３次元座標から、各カメラが、マーカの画像を取得する頻度（１秒に何枚取得するか）を取得する。
【００５４】
図１２は、本実施形態の画像処理装置１００の処理の一例を示すフローチャートである。
Ｓ１２０１〜Ｓ１２０５の処理は、それぞれＳ３０１〜Ｓ３０５の処理と同様である。
Ｓ１２０６において、３次元座標取得部１１０６は、入力インターフェース１０５を介して外部メモリ１０８から、所定の時点で各カメラにより撮像されたマーカの実空間に設定された世界座標系における３次元座標を取得し、ＲＡＭ１０２に記憶する。
【００５５】
本実施形態では、図１３に示すように、撮像対象のフィールドをカメラ１３０３Ａ、１３０３Ｂ、１３０３Ｃが撮像している。本実施形態では、外部メモリ１０８内のマーカの３次元座標の情報は、カメラ１３０３Ａ、１３０３Ｂ、１３０３Ｃの何れかによるマーカの撮像が行われる度に更新されるとする。
本実施形態では、Ｓ１２０５で取得された統合画素密度マップは、図１３に示すマップ１３０４となる。
【００５６】
Ｓ１２０７において、画像取得設定算出部１１０７は、ＲＡＭ１０２に記憶されたマーカの３次元座標と統合画素密度マップとに基づいて、各カメラについてのマーカの画像の取得の頻度を決定し、ＲＡＭ１０２に記憶する。より具体的には、画像取得設定算出部１１０７は、統合画素密度マップであるマップ１３０４におけるマーカの位置に対応する画素の密度の値に基づいて、マーカの画像の取得の頻度を決定する。
画像取得設定算出部１１０７は、マーカの位置に対応する画素の密度の値が高い程、画像取得の頻度をより高くするように、マーカの位置に対応する画素の密度の値が低い程、画像取得の頻度をより低くするようにする。
【００５７】
本実施形態では、マーカが位置１３０５に存在する場合、画像取得設定算出部１１０７は、画角内にマーカを含むカメラ１３０３Ａについて、０．２ｆｒａｍｅ／ｓｅｃの頻度でマーカの画像を取得するように設定する。また、マーカが位置１３０５よりも画素密度が高い位置１３０６に存在する場合、画像取得設定算出部１１０７は、画角内にマーカを含むカメラ１３０３Ａ、１３０３Ｂについて、０．４ｆｒａｍｅ／ｓｅｃの頻度でマーカの画像を取得するように設定する。また、マーカが位置１３０６よりも画素密度が高い位置１３０７に存在する場合、画像取得設定算出部１１０７は、画角内にマーカを含むカメラ１３０３Ａ、１３０３Ｂ、１３０３Ｃについて、２ｆｒａｍｅ／ｓｅｃの頻度でマーカの画像を取得するように設定する。
Ｓ１２０８において、画像取得設定算出部１１０７は、マーカの３次元座標の取得が終了したか否かを判定し、終了したと判定した場合、図１２の処理を終了し、終了していないと判定した場合、処理をＳ１２０６に進める。
【００５８】
以上、本実施形態の処理により、画像処理装置１００は、各カメラがマーカの画像を取得する適切な頻度を決定できる。
【００５９】
＜その他の実施形態＞
以上の実施形態ではマーカを移動させるものとしたが、マーカを移動させるのに代え、多数のマーカを用意し、それらの粗密を変えて置くなどすることにより移動を伴わないようにしてもよい。
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００６０】
例えば、上述した画像処理装置１００の機能構成の一部又は全てをハードウェアとして画像処理装置１００に実装してもよい。以上、本発明の実施形態の一例について詳述したが、本発明は係る特定の実施形態に限定されるものではない。例えば、上述した各実施形態を任意に組み合わせる等してもよい。
【符号の説明】
【００６１】
１００  画像処理装置
１０１  ＣＰＵ
【図１】
2020188361.tif 000004
【図２】
2020188361.tif 000005
【図３】
2020188361.tif 000006
【図４】
2020188361.tif 000007
【図５】
2020188361.tif 000008
【図６】
2020188361.tif 000009
【図７】
2020188361.tif 000010
【図８】
2020188361.tif 000011
【図９】
2020188361.tif 000012
【図１０】
2020188361.tif 000013
【図１１】
2020188361.tif 000014
【図１２】
2020188361.tif 000015
【図１３】
2020188361.tif 000016