(57)【要約】【課題】簡易な構成で、より容易にカメラの位置や姿勢を推定する。【解決手段】合成画像生成部１０３は、推定の基準となる基準画像を構成する画素の位置を、基準画像を構成する画素に対応する撮像画像上の画素の位置に射影する射影パラメータに基づいて、射影パラメータにより射影される撮像画像上の位置に存在する各画素により構成される合成画像を生成し、評価部１０４は、合成画像と基準画像との相関を表す評価関数を生成し、パラメータ更新部１０６は、評価関数に基づいて、射影パラメータを更新し、更新後の射影パラメータに基づいて、撮像部の位置又は姿勢の少なくとも一方を推定する。本発明は、例えば、カメラの位置や姿勢を推定し、その推定結果に基づく処理を行なうコンピュータ等に適用できる。【選択図】図３
2011242134.tif 000002
【特許請求の範囲】
【請求項１】
撮像部の撮像により得られる撮像画像に基づいて、前記撮像部の位置又は姿勢の少なくとも一方を推定する画像処理装置において、
推定の基準となる基準画像を構成する画素の位置を、前記基準画像を構成する画素に対応する前記撮像画像上の画素の位置に射影する射影パラメータに基づいて、前記射影パラメータにより射影される前記撮像画像上の位置に存在する各画素により構成される合成画像を生成する合成画像生成手段と、
前記合成画像と前記基準画像との相関を表す評価関数を生成する評価生成手段と、
前記評価関数に基づいて、前記射影パラメータを更新する更新手段と、
更新後の前記射影パラメータに基づいて、前記撮像部の位置又は姿勢の少なくとも一方を推定する推定手段と
を含む画像処理装置。
【請求項２】
前記評価生成手段は、２次多項式により表される前記評価関数を生成し、
前記更新手段は、前記評価関数を用いた最急降下法により算出した射影パラメータを新たな射影パラメータとして更新する
請求項１に記載の画像処理装置。
【請求項３】
前記評価生成手段は、更新後の前記射影パラメータの候補を表す候補射影パラメータを変数として有する前記評価関数を生成し、
前記更新手段は、前記評価関数が最小となるときの前記候補射影パラメータを新たな射影パラメータとして更新する
請求項２に記載の画像処理装置。
【請求項４】
前記基準画像を構成する各画素の位置と、対応する前記撮像画像上の位置に基づいて、前記射影パラメータを生成する初期パラメータ生成手段をさらに含み、
前記合成画像生成手段は、
前記初期パラメータ生成手段により前記射影パラメータが生成されたことに対応して、前記射影パラメータに基づいて、前記合成画像を生成し、
前記更新手段により前記射影パラメータが更新されたことに対応して、更新後の前記射影パラメータに基づいて、前記合成画像を生成する
請求項１に記載の画像処理装置。
【請求項５】
前記基準画像は、前記撮像部とは異なる、位置及び姿勢が既知である他の撮像部の撮像により得られたものであり、
前記推定手段は、前記他の撮像部に対する前記撮像部の位置及び姿勢の違いを表す前記射影パラメータに基づいて、前記撮像部の位置又は姿勢の少なくとも一方を推定する
請求項１に記載の画像処理装置。
【請求項６】
撮像部の撮像により得られる撮像画像に基づいて、前記撮像部の位置又は姿勢の少なくとも一方を推定する画像処理装置の画像処理方法において、
前記画像処理装置は、
合成画像生成手段と、
評価生成手段と、
更新手段と、
推定手段と
を含み、
前記画像合成手段が、推定の基準となる基準画像を構成する画素の位置を、前記基準画像を構成する画素に対応する前記撮像画像上の画素の位置に射影する射影パラメータに基づいて、前記射影パラメータにより射影される前記撮像画像上の位置に存在する各画素により構成される合成画像を生成し、
前記評価生成手段が、前記合成画像と前記基準画像との相関を表す評価関数を生成し、
前記更新手段が、前記評価関数に基づいて、前記射影パラメータを更新し、
前記推定手段が、更新後の前記射影パラメータに基づいて、前記撮像部の位置又は姿勢の少なくとも一方を推定する
ステップを含む画像処理方法。
【請求項７】
撮像部の撮像により得られる撮像画像に基づいて、前記撮像部の位置又は姿勢の少なくとも一方を推定する画像処理装置のコンピュータを、
推定の基準となる基準画像を構成する画素の位置を、前記基準画像を構成する画素に対応する前記撮像画像上の画素の位置に射影する射影パラメータに基づいて、前記射影パラメータにより射影される前記撮像画像上の位置に存在する各画素により構成される合成画像を生成する合成画像生成手段と、
前記合成画像と前記基準画像との相関を表す評価関数を生成する評価生成手段と、
前記評価関数に基づいて、前記射影パラメータを更新する更新手段と、
更新後の前記射影パラメータに基づいて、前記撮像部の位置又は姿勢の少なくとも一方を推定する推定手段と
して機能させるためのプログラム。
【請求項８】
撮像部の撮像により得られる撮像画像に基づいて、前記撮像部の位置又は姿勢の少なくとも一方を推定する電子装置において、
推定の基準となる基準画像を構成する画素の位置を、前記基準画像を構成する画素に対応する前記撮像画像上の画素の位置に射影する射影パラメータに基づいて、前記射影パラメータにより射影される前記撮像画像上の位置に存在する各画素により構成される合成画像を生成する合成画像生成手段と、
前記合成画像と前記基準画像との相関を表す評価関数を生成する評価生成手段と、
前記評価関数に基づいて、前記射影パラメータを更新する更新手段と、
更新後の前記射影パラメータに基づいて、前記撮像部の位置又は姿勢の少なくとも一方を推定する推定手段と、
前記推定手段により推定された推定結果に基づいて、所定の処理を実行する実行手段と
を含む電子装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、プログラム、及び電子装置に関し、特に、例えば、カメラの撮像により得られる撮像画像に基づいて、カメラの位置や姿勢を推定する場合に用いて好適な画像処理装置、画像処理方法、プログラム、及び電子装置に関する。
【背景技術】
【０００２】
カメラの撮像により得られる撮像画像に基づいて、カメラの位置や姿勢を推定するキャリブレーションを行なう推定方法として、例えば、以下の第１及び第２の推定方法が存在する。
【０００３】
第１の推定方法では、カメラが、特定の模様（例えば市松模様等）の壁紙等を撮像する。そして、予め用意された基準画像と撮像された撮像画像との、対応する画素どうしの差分自乗和を算出し、算出した差分自乗和を、カメラの位置や姿勢を推定するための評価関数として用いて、カメラの位置や姿勢を推定する（例えば、特許文献１を参照）。
【０００４】
なお、基準画像とは、位置や姿勢が既知であるカメラにより、特定の模様の壁紙等を撮像したときに得られる画像を表す。
【０００５】
また、第２の推定方法では、例えば、８ビットの画素値を有する画素により構成される８ビット画像から、８ビットのビット列を構成する各ビットのうち、異なる８つの位置に存在するビットをそれぞれ画素値とする８枚の１ビット画像を生成する。
【０００６】
そして、８枚の１ビット画像を、順次、LCD(Liquid Crystal Display)に表示させるようにして、LCDに表示される８枚の１ビット画像を、カメラにより撮像して得られる撮像画像に基づいて、カメラの位置や姿勢を推定する（例えば、非特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００２−２７５０７号公報
【非特許文献】
【０００８】
【非特許文献１】中村泰敏，渡部斉：画像の差分による高精度ステレオカメラキャリブレーション，画像センシングシンポジウムSSII09,IS1-10,2009.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述した第１の推定方法では、評価関数を算出する際に、撮像画像と基準画像との間に生じる画素値（輝度値）のレベル差による悪影響を軽減するために、特定の模様の壁紙等を対象として撮像を行なうとともに、基準画像及び撮像画像それぞれを構成する各画素の画素値を、所定の値で正規化（除算）して２値化する必要があった。
【００１０】
また、上述した第２の推定方法では、LCDが表示可能な総画素数に応じて、LCDに表示させる１ビット画像の画素数に制限が加わってしまう。さらに、第２の推定方法では、LCDに表示される８枚の１ビット画像を撮像するために、カメラにより、少なくとも８回の撮像を行なわなければならなかった。
【００１１】
また、第２の推定方法では、キャリブレーションにおいて、LCDを使用するため、例えば、LCDを使用せずにキャリブレーションを行なう場合と比較して、大掛かりな構成となっていた。
【００１２】
本発明は、このような状況に鑑みてなされたものであり、簡易な構成で、より容易にカメラの位置や姿勢を推定できるようにするものである。
【課題を解決するための手段】
【００１３】
本発明の第１の側面の画像処理装置は、撮像部の撮像により得られる撮像画像に基づいて、前記撮像部の位置又は姿勢の少なくとも一方を推定する画像処理装置であって、推定の基準となる基準画像を構成する画素の位置を、前記基準画像を構成する画素に対応する前記撮像画像上の画素の位置に射影する射影パラメータに基づいて、前記射影パラメータにより射影される前記撮像画像上の位置に存在する各画素により構成される合成画像を生成する合成画像生成手段と、前記合成画像と前記基準画像との相関を表す評価関数を生成する評価生成手段と、前記評価関数に基づいて、前記射影パラメータを更新する更新手段と、更新後の前記射影パラメータに基づいて、前記撮像部の位置又は姿勢の少なくとも一方を推定する推定手段とを含む画像処理装置である。
【００１４】
前記評価生成手段では、２次多項式により表される前記評価関数を生成し、前記更新手段では、前記評価関数を用いた最急降下法により算出した射影パラメータを新たな射影パラメータとして更新するようにすることができる。
【００１５】
前記評価生成手段では、更新後の前記射影パラメータの候補を表す候補射影パラメータを変数として有する前記評価関数を生成し、前記更新手段では、前記評価関数が最小となるときの前記候補射影パラメータを新たな射影パラメータとして更新するようにすることができる。
【００１６】
前記基準画像を構成する各画素の位置と、対応する前記撮像画像上の位置に基づいて、前記射影パラメータを生成する初期パラメータ生成手段をさらに設けることができ、前記合成画像生成手段では、前記初期パラメータ生成手段により前記射影パラメータが生成されたことに対応して、前記射影パラメータに基づいて、前記合成画像を生成し、前記更新手段により前記射影パラメータが更新されたことに対応して、更新後の前記射影パラメータに基づいて、前記合成画像を生成するようにすることができる。
【００１７】
前記基準画像は、前記撮像部とは異なる、位置及び姿勢が既知である他の撮像部の撮像により得られたものであり、前記推定手段では、前記他の撮像部に対する前記撮像部の位置及び姿勢の違いを表す前記射影パラメータに基づいて、前記撮像部の位置又は姿勢の少なくとも一方を推定するようにすることができる。
【００１８】
本発明の第１の側面の画像処理方法は、撮像部の撮像により得られる撮像画像に基づいて、前記撮像部の位置又は姿勢の少なくとも一方を推定する画像処理装置の画像処理方法であって、前記画像処理装置は、合成画像生成手段と、評価生成手段と、更新手段と、推定手段とを含み、前記画像合成手段が、推定の基準となる基準画像を構成する画素の位置を、前記基準画像を構成する画素に対応する前記撮像画像上の画素の位置に射影する射影パラメータに基づいて、前記射影パラメータにより射影される前記撮像画像上の位置に存在する各画素により構成される合成画像を生成し、前記評価生成手段が、前記合成画像と前記基準画像との相関を表す評価関数を生成し、前記更新手段が、前記評価関数に基づいて、前記射影パラメータを更新し、前記推定手段が、更新後の前記射影パラメータに基づいて、前記撮像部の位置又は姿勢の少なくとも一方を推定するステップを含む画像処理方法である。
【００１９】
本発明の第１の側面のプログラムは、撮像部の撮像により得られる撮像画像に基づいて、前記撮像部の位置又は姿勢の少なくとも一方を推定する画像処理装置のコンピュータを、推定の基準となる基準画像を構成する画素の位置を、前記基準画像を構成する画素に対応する前記撮像画像上の画素の位置に射影する射影パラメータに基づいて、前記射影パラメータにより射影される前記撮像画像上の位置に存在する各画素により構成される合成画像を生成する合成画像生成手段と、前記合成画像と前記基準画像との相関を表す評価関数を生成する評価生成手段と、前記評価関数に基づいて、前記射影パラメータを更新する更新手段と、更新後の前記射影パラメータに基づいて、前記撮像部の位置又は姿勢の少なくとも一方を推定する推定手段として機能させるためのプログラムである。
【００２０】
本発明の第１の側面によれば、推定の基準となる基準画像を構成する画素の位置を、基準画像を構成する画素に対応する撮像画像上の画素の位置に射影する射影パラメータに基づいて、射影パラメータにより射影される撮像画像上の位置に存在する各画素により構成される合成画像が生成され、合成画像と基準画像との相関を表す評価関数が生成され、評価関数に基づいて、射影パラメータが更新され、更新後の射影パラメータに基づいて、撮像部の位置又は姿勢の少なくとも一方が推定される。
【００２１】
本発明の第２の側面の電子装置は、撮像部の撮像により得られる撮像画像に基づいて、前記撮像部の位置又は姿勢の少なくとも一方を推定する電子装置であって、推定の基準となる基準画像を構成する画素の位置を、前記基準画像を構成する画素に対応する前記撮像画像上の画素の位置に射影する射影パラメータに基づいて、前記射影パラメータにより射影される前記撮像画像上の位置に存在する各画素により構成される合成画像を生成する合成画像生成手段と、前記合成画像と前記基準画像との相関を表す評価関数を生成する評価生成手段と、前記評価関数に基づいて、前記射影パラメータを更新する更新手段と、更新後の前記射影パラメータに基づいて、前記撮像部の位置又は姿勢の少なくとも一方を推定する推定手段と、前記推定手段により推定された推定結果に基づいて、所定の処理を実行する実行手段とを含む電子装置である。
【００２２】
本発明の第２の側面によれば、推定の基準となる基準画像を構成する画素の位置を、基準画像を構成する画素に対応する撮像画像上の画素の位置に射影する射影パラメータに基づいて、射影パラメータにより射影される撮像画像上の位置に存在する各画素により構成される合成画像が生成され、合成画像と基準画像との相関を表す評価関数が生成され、評価関数に基づいて、射影パラメータが更新され、更新後の射影パラメータに基づいて、撮像部の位置又は姿勢の少なくとも一方が推定され、その推定結果に基づいて、所定の処理が実行される。
【発明の効果】
【００２３】
本発明によれば、簡易な構成で、より容易にカメラの位置や姿勢を推定することが可能となる。
【図面の簡単な説明】
【００２４】
【図１】本発明の概要を説明するための第１の図である。
【図２】本発明の概要を説明するための第２の図である。
【図３】本実施の形態である画像処理装置の構成例を示すブロック図である。
【図４】画像処理装置が行なうパラメータ更新処理を説明するためのフローチャートである。
【図５】合成画像生成部が行なう第１の初期行列算出処理を説明するためのフローチャートである。
【図６】合成画像生成部が行なう第２の初期行列算出処理を説明するためのフローチャートである。
【図７】合成画像生成部が行なう合成画像生成処理を説明するためのフローチャートである。
【図８】第１及び第２の初期行列算出処理により得られる射影行列P0による推定結果の一例を示す図である。
【図９】ノイズに応じて変化する推定結果の一例を示す第１の図である。
【図１０】ピッチ角に応じて変化する推定結果の一例を示す第１の図である。
【図１１】ヨー角に応じて変化する推定結果の一例を示す第１の図である。
【図１２】ロール角に応じて変化する推定結果の一例を示す第１の図である。
【図１３】撮像画像内の部分領域に応じて変化する推定結果の一例を示す第１の図である。
【図１４】領域マッチング処理を説明するための第１の図である。
【図１５】領域マッチング処理を説明するための第２の図である。
【図１６】ノイズに応じて変化する推定結果の一例を示す第２の図である。
【図１７】ピッチ角に応じて変化する推定結果の一例を示す第２の図である。
【図１８】ヨー角に応じて変化する推定結果の一例を示す第２の図である。
【図１９】ロール角に応じて変化する推定結果の一例を示す第２の図である。
【図２０】撮像画像内の部分領域に応じて変化する推定結果の一例を示す第２の図である。
【図２１】コンピュータの構成例を示すブロック図である。
【発明を実施するための形態】
【００２５】
以下、発明を実施するための形態（以下、本実施の形態という）について説明する。なお、説明は以下の順序で行う。
本実施の形態（合成画像と基準画像との相互相関に基づいて射影行列を更新する場合の一例）
変形例
【００２６】
[本発明の概要]
図１は、本発明の概要を示している。
【００２７】
図１Aには、３次元位置（x,y,z）が既知である３次元物体が示されている。なお、図１Aにおいて、３次元物体は、X軸、Y軸、及びZ軸により定義されるXYZ座標軸上に配置されている。
【００２８】
図１B上側には、カメラ２１により、３次元物体を撮像した場合に得られる基準画像４１を示している。なお、カメラ２１の３次元位置（x,y,z）及び姿勢は既知であるものとする。
【００２９】
ここで、カメラ２１の姿勢は、例えば、カメラ２１の回転角度（θr,θp,θy）により表される。なお、回転角度（θr,θp,θy）とは、カメラ２１の中心を原点とし、その原点において互いに直交するロール軸、ピッチ軸、及びヨー軸を定義した場合、カメラ２１の撮像方向に対して、ロール軸との成す角度を表すロール角θr、ピッチ軸との成す角度を表すピッチ角θp、及びヨー軸との成す角度を表すヨー角θyを表す。このことは、カメラ２２についても同様である。
【００３０】
また、図１B下側には、カメラ２２により、３次元物体を撮像した場合に得られる撮像画像４２を示している。なお、カメラ２２の３次元位置（x,y,z）及び姿勢は未知であるものとする。
【００３１】
本発明では、カメラ２１の撮像により得られる基準画像４１、及びカメラ２２の撮像により得られる撮像画像４２に基づいて、カメラ２２の３次元位置（x,y,z）及び姿勢を推定する。
【００３２】
すなわち、例えば、本発明では、カメラ２１の撮像により得られる基準画像４１、及びカメラ２２の撮像により得られる撮像画像４２に基づいて、撮像画像４２に生じている、基準画像４１との位置ずれを補正するための補正パラメータとして、例えば、射影行列P0を算出する。
【００３３】
そして、本発明では、算出した射影行列P0に基づき生成される評価関数に対して、Levenberg-Marquardt法等の最急降下法を適用して射影行列P1を算出する。さらに、本発明では、算出した射影行列P1に基づき生成される評価関数に対して、最急降下法を適用して射影行列P2を算出する。
【００３４】
このようにして、本発明では、射影行列Piに基づいて新たな射影行列Pi+1を算出するようにして、射影行列Piを新たな射影行列Pi+1に更新する。そして、最終的に得られる射影行列Piに基づいて、カメラ２２の３次元位置（x,y,z）及び姿勢を推定する。なお、射影行列Piは、i+1番目（iは自然数を示す）に算出された射影行列を表す。
【００３５】
次に、図２は、最急降下法を用いて、射影行列Piを更新する様子の一例を示している。
【００３６】
本発明では、図２に示されるように、カメラ２２の撮像により得られる撮像画像４２内の部分領域４２a（基準画像４１上に存在する３次元物体（被写体）と同一の３次元物体が存在する領域）に生じている位置ずれを、基準画像４１の位置に補正するための射影行列P0を算出する。そして、本発明では、算出した射影行列P0に基づいて、撮像画像４２内の部分領域４２aに生じている位置ずれを、基準画像４１の位置に補正して合成画像６１を生成する。
【００３７】
さらに、本発明では、射影行列P0に基づいて生成された合成画像６１と、基準画像４１との相関の程度を表す評価関数を算出する。
【００３８】
そして、本発明は、算出した評価関数に対して、最急降下法を適用して、評価関数が最小となるときの射影行列P1を算出する。これにより、射影行列P0は、撮像画像４２に生じている位置ずれを、基準画像４１の位置に補正する精度がより高い射影行列P1に更新される。
【００３９】
また、本発明は、射影行列P1に基づいて、新たに合成画像６１を生成し、生成した合成画像６１と基準画像４１との相関の程度を表す評価関数を算出する。そして、算出した評価関数に対して、最急降下法を適用して、評価関数が最小となるときの射影行列P2を算出して、射影行列P1を新たな射影行列P2に更新する。それ以降、同様にして、射影行列Piを、最急降下法を用いて更新する。
【００４０】
本発明では、例えば、更新により得られる射影行列Piが収束した場合、すなわち、射影行列Pi-1と殆ど変わらない射影行列Piが更新により得られた場合、射影行列Piに基づいて、カメラ２２の３次元位置（x,y,z）及び姿勢を推定する。
【００４１】
なお、射影行列Piは、上述のように、撮像画像４２内の部分領域４２aに生じている、基準画像４１との位置ずれを補正するためのものである。したがって、射影行列Piは、撮像画像４２内の部分領域４２aと基準画像４１との間に生じている位置ずれを表している。
【００４２】
また、撮像画像４２内の部分領域４２aと基準画像４１との間に生じる位置ずれは、カメラ２２の３次元位置（x,y,z）、及びカメラ２２の姿勢を表す回転角度（θr,θp,θy）に応じて変化する。
【００４３】
すなわち、射影行列Piは、カメラ２２の３次元位置（x,y,z）及び回転角度（θr,θp,θy）に応じて変化するものであり、カメラ２１とカメラ２２との３次元位置（x,y,z）及び回転角度（θr,θp,θy）の違いを表すものである。
【００４４】
このため、本発明では、カメラ２２の３次元位置（x,y,z）及び回転角度（θr,θp,θy）に応じて変化する射影行列Piに基づいて、カメラ２２の３次元位置（x,y,z）、及び回転角度（θr,θp,θy）により表される姿勢を推定できる。
【００４５】
[画像処理装置８１の構成例]
図３は、本実施の形態である画像処理装置８１の構成例を示している。
【００４６】
この画像処理装置８１は、３次元情報保持部１０１、基準画像保持部１０２、合成画像生成部１０３、評価部１０４、最適化演算部１０５、及びパラメータ更新部１０６により構成される。
【００４７】
３次元情報保持部１０１は、基準画像４１上に存在する３次元物体の３次元位置（x,y,z）Tを、予め保持している。なお、説明の便宜のため、３次元位置（x,y,z）を行列により表すようにしている。すなわち、Tは転置を表しており、したがって、３次元位置（x,y,z）Tは、３行１列の行列を表す。
【００４８】
具体的には、例えば、３次元情報保持部１０１は、基準画像４１を構成する画素毎に、その画素に表示される３次元物体の３次元位置（x,y,z）Tが対応付けられて保持されている。
【００４９】
なお、基準画像４１を構成する画素の２次元位置（x,y）は、基準画像４１を構成する各画素のうち、最も左下に存在する画素の位置を原点（0,0）とし、撮像画像４２の水平方向にX軸を、垂直方向にY軸を定義したXY座標により表される。
【００５０】
すなわち、本実施の形態では、基準画像４１を構成する画素の２次元位置（x,y）を表すXY座標と、３次元物体の３次元位置（x,y,z）のうちの(x,y)を表すXY座標とは一致しているものとする。
【００５１】
３次元情報保持部１０１は、基準画像４１を構成する各画素の２次元位置(xj,yj)を特徴点mjとして、特徴点mj毎に、特徴点mjの特徴を表す特徴量を予め保持している。なお、特徴点mj毎の特徴量は、基準画像４１に基づいて予め生成される。
【００５２】
なお、本実施の形態では、説明を簡単にするため、基準画像４１を構成する各画素の２次元位置（xj,yj）を特徴点mjとすることとしているが、特徴点mjとして採用される位置はこれに限定されない。
【００５３】
すなわち、例えば、特徴点mjは、基準画像４１を構成する各画素において、横方向及び縦方向にそれぞれ所定の画素（例えば、５画素や２５画素）だけ離れて存在する画素それぞれが存在する２次元位置（xj,yj）のみを特徴点mjとして採用するようにしてもよい。
【００５４】
基準画像保持部１０２は、カメラ２１により、３次元物体を撮像して得られた基準画像４１が予め保持されている。
【００５５】
合成画像生成部１０３には、カメラ２２から撮像画像４２が供給される。合成画像生成部１０３は、射影行列Piに基づいて、カメラ２２からの撮像画像４２における、基準画像４１との位置ずれを補正することにより、撮像画像４２から合成画像６１を生成する。
【００５６】
すなわち、例えば、合成画像生成部１０３は、３次元情報保持部１０１から、３次元情報保持部１０１に保持されている基準画像４１上の特徴点mj、及び特徴点mj毎の特徴量を読み出す。
【００５７】
そして、合成画像生成部１０３は、読み出した特徴点mj毎の特徴量に基づいて、カメラ２２からの撮像画像４２から、特徴点mjに対応する撮像画像４２上の特徴点nj（撮像画像４２を構成する画素の位置（uj,vj））を抽出する。
【００５８】
なお、撮像画像４２を構成する画素の位置（u,v）は、撮像画像４２を構成する各画素のうち、最も左下に存在する画素の位置を原点（0,0）とし、撮像画像４２の水平方向にU軸を、垂直方向にV軸を定義したUV座標により表される。
【００５９】
合成画像生成部１０３は、読み出した基準画像４１上の特徴点mjと、対応する撮像画像４２上の特徴点njとにおいて、特徴点mjに対応する３次元位置（xj,yj,zj）Tと特徴点njとしての２次元位置（uj,vj）Tを用いて、最小自乗法等により、３次元位置（xj,yj,zj）Tを２次元位置（uj,vj）Tに変換（射影）するための射影行列P0を算出する。
【００６０】
合成画像生成部１０３は、算出した射影行列P0に基づいて、読み出した特徴点njに対応する３次元位置（xj,yj,zj）Tを、撮像画像４２上の２次元位置（uj,vj）Tに変換する。
【００６１】
合成画像生成部１０３は、カメラ２２からの撮像画像４２を構成する各画素のうち、変換により得られた２次元位置（uj,vj）Tに存在する画素を抽出し、抽出した画素により構成される合成画像６１を生成する。そして、合成画像生成部１０３は、生成した合成画像６１及び射影行列P0を、評価部１０４に供給する。
【００６２】
また、合成画像生成部１０３は、３次元情報保持部１０１に予め保持されている、基準画像４１を構成する各画素に対応付けられている３次元位置（x,y,z）Tを読み出す。さらに、合成画像生成部１０３は、パラメータ更新部１０６からの射影行列Pi（≠P0）に基づいて、読み出した３次元位置（x,y,z）Tを、撮像画像４２上の２次元位置（u,v）Tに変換する。
【００６３】
合成画像生成部１０３は、カメラ２２からの撮像画像４２を構成する各画素のうち、変換により得られた２次元位置（uj,vj）Tに存在する画素を抽出し、抽出した画素により構成される合成画像６１を生成する。そして、合成画像生成部１０３は、生成した合成画像６１、及びパラメータ更新部１０６からの射影行列Piを、評価部１０４に供給する。
【００６４】
評価部１０４は、基準画像保持部１０２に保持されている基準画像４１を、基準画像保持部１０２から読み出す。
【００６５】
評価部１０４は、読み出した基準画像４１、並びに合成画像生成部１０３からの合成画像６１及び射影行列Piに基づいて、次式（１）に示されるように、基準画像４１と合成画像６１との相関を表す評価関数f(xn)を算出する。
【００６６】
【数１】
2011242134.tif 000003
・・・（１）
【００６７】
ここで、式（１）において、画素値ai及びajは、基準画像４１を構成する各画素の画素値を表し、画素値bi及びbkは、合成画像６１を構成する各画素の画素値を表す。また、i,j,kは、それぞれ、１から基準画像４１（又は合成画像６１）を構成する各画素の総数までの値をとる。なお、基準画像４１と合成画像６１は、同一の画素数により構成されている。
【００６８】
また、式（１）において、候補行列xnは、新たな射影行列Pi+1の候補を表しており、xn=Pi+dnである。なお、dnは射影行列Piと同一の行と列により表される行列であり、それぞれ異なる行列を表す。
【００６９】
ところで、基準画像４１を構成する各画素の画素値ai及びakは定数であり、合成画像６１を構成する各画素の画素値bi及びbkは、候補行列xnに応じて変化する変数である。したがって、評価関数f(xn)は、画素値bi及びbkを変数として有する関数となる。
【００７０】
評価部１０４は、算出した評価関数f(xn)を最適化演算部１０５に供給する。
【００７１】
最適化演算部１０５は、評価部１０４からの評価関数f(xn)に対して、最急降下法を適用して、評価関数f(xn)が最小となるときの候補行列xn（=Pi+dn）を、新たな射影行列Pi+1として算出し、パラメータ更新部１０６に供給する。
【００７２】
パラメータ更新部１０６は、最適化演算部１０５からの射影行列Pi+1を、合成画像生成部１０３に供給する。この場合、合成画像生成部１０３は、パラメータ更新部１０６からの射影行列Pi+1に基づいて、合成画像６１を生成する。
【００７３】
また、パラメータ更新部１０６は、例えば、最適化演算部１０５からの射影行列Pi+1が収束したと判定した場合、最適化演算部１０５からの射影行列Pi+1に基づいて、カメラ２２の３次元位置（x,y,z）及び姿勢を表す回転角度（θr,θp,θy）を推定し、後段に出力する。
【００７４】
ところで、最適化演算部１０５において行われる最急降下法によれば、評価関数f(xn)が２次多項式により表されている場合、２次多項式により表されていない場合と比較して、容易に解を算出することができる。
【００７５】
したがって、評価関数f(xn)は２次多項式により表されていることが望ましい。そこで、式（１）に示された評価関数f(xn)を２次多項式により表すことを考える。
【００７６】
まず、式（１）の右辺を２乗して逆数をとり、次式（２）に示されるような評価関数に変更する。
【００７７】
【数２】
2011242134.tif 000004
・・・（２）
【００７８】
式（２）において、Σaj2は定数であり、候補行列xnによって変化する値ではないため、候補行列xnに応じて変化する評価関数f(xn)から、Σaj2を除外し、式（３）を導出する。
【００７９】
【数３】
2011242134.tif 000005
・・・（３）
【００８０】
式（３）において、変数kについてのΣ（サメーション）を外部に移動させて、式（４）に変換する。
【００８１】
【数４】
2011242134.tif 000006
・・・（４）
【００８２】
ここで、式（４）に示される評価関数f(xn)は、変数bi及びbkについての２次多項式となっている。
【００８３】
したがって、式（４）に示される評価関数f(xn)に対して、最急降下法を適用する場合には、評価関数f(xn)が２次多項式により表されていない場合と比較して、最急降下法の解としての射影行列Pi+1を容易に算出できるので、より迅速に射影行列Pi+1を算出することが可能となる。
【００８４】
なお、式（４）において、f(Bk)は（bk/Σaibi）を表している。
【００８５】
以下、評価部１０４は、式（１）に示される評価関数f(xn)ではなく、式（４）に示された評価関数f(xn)を算出して、最適化演算部１０５に供給し、最適化演算部１０５は、評価部１０４からの、式（４）に示された評価関数f(xn)に基づいて、最急降下法により、新たな射影行列Pi+1を算出して、合成画像生成部１０３に供給するものとして説明する。
【００８６】
[画像処理装置８１の動作説明]
次に、図４のフローチャートを参照して、画像処理装置８１が行うパラメータ更新処理について説明する。
【００８７】
このパラメータ更新処理は、例えば、カメラ２２から画像処理装置８１の合成画像生成部１０３に撮像画像４２が供給されたときに開始される。
【００８８】
ステップＳ１において、合成画像生成部１０３は、３次元画像保持部１０１に記憶されている基準画像４１上の特徴点mj、及びカメラ２２からの撮像画像４２上の特徴点njに基づいて、射影行列Pi(=P0)を算出する初期行列算出処理を行う。なお、初期行列算出処理については、図５及び図６を参照して後述する。
【００８９】
ステップＳ２において、合成画像生成部１０３は、３次元情報保持部１０１に予め保持されている、基準画像４１を構成する各画素に対応付けられている３次元位置（x,y,z）T、及びステップＳ１の処理で算出された射影行列Piに基づいて、撮像画像４２から合成画像６１を生成する合成画像生成処理を行なう。なお、合成画像生成処理の詳細は、図７を参照して後述する。
【００９０】
合成画像生成部１０３は、合成画像生成処理で生成した合成画像６１を、評価部１０４に供給する。
【００９１】
ステップＳ３において、評価部１０４は、基準画像保持部１０２に予め保持されている基準画像４１を、基準画像保持部１０２から読み出す。そして、評価部１０４は、読み出した基準画像４１、並びに合成画像生成部１０３からの合成画像６１及び射影行列Piに基づいて、式（４）に示されたような評価関数f(xn)を算出し、最適化演算部１０５に供給する。
【００９２】
ステップＳ４において、最適化演算部１０５は、評価部１０５からの評価関数f(xn)に基づいて、最急降下法を適用し、評価関数f(xn)が最小となるときの候補行列xnを新たな射影行列Pi+1として算出し、パラメータ更新部１０６に供給する。
【００９３】
ステップＳ５において、パラメータ更新部１０６は、最適化演算部１０５からの射影行列Pi+1を、合成画像生成部１０３に供給して、処理をステップＳ２に戻す。
【００９４】
そして、ステップＳ２では、合成画像生成部１０３は、３次元情報保持部１０１に予め保持されている、基準画像４１を構成する各画素に対応付けられている３次元位置（x,y,z）T、及び直前のステップＳ５の処理で更新された新たな射影行列Pi+1に基づいて、撮像画像４２から合成画像６１を生成する合成画像生成処理を行ない、それ以降、同様の処理が行なわれる。
【００９５】
なお、ステップＳ５において、パラメータ更新部１０６は、例えば、最適化演算部１０５からの射影行列Pi+1が収束したと判定した場合、最適化演算部１０５からの射影行列Pi+1に基づいて、カメラ２２の３次元位置（x,y,z）及び姿勢を推定し、後段に出力して、パラメータ更新処理は終了される。
【００９６】
[初期行列算出処理の詳細]
次に、図５のフローチャートを参照して、パラメータ更新処理のステップＳ１において、合成画像生成部１０３が行なう初期行列算出処理としての第１の初期行列算出処理について説明する。
【００９７】
ステップＳ２１において、合成画像生成部１０３は、３次元情報保持部１０１から、基準画像４１上の特徴点mj及び特徴点mjの特徴量を読み出す。なお、変数jは、１からJまでの自然数を表す。
【００９８】
ステップＳ２２において、合成画像生成部１０３は、読み出した特徴点mj（=(xj,yj)T）の特徴量と同様の特徴量を有する特徴点として、カメラ２２から供給される撮像画像４２上の特徴点nj(=(uj,vj)T)を抽出する。
【００９９】
これにより、合成画像生成部１０３は、基準画像４１上の特徴点mjと、特徴点mjに対応する、撮像画像４２上の特徴点njとのJ個の組合せ（mj,nj）を、組合せ対応点（mj,nj）として取得する。
【０１００】
ステップＳ２３において、合成画像生成部１０３は、J個の組合せ対応点（mj,nj）から、それぞれ異なるQ(<J)個の組合せ対応点（mj,nj）を抽出し、抽出したQ個の組合せ対応点（mj,nj）により構成される集合Ukを生成する。
【０１０１】
すなわち、合成画像生成部１０３は、J個の組合せ対応点（mj,nj）の中から、JCQ通りの組合せにより、Q個の組合せ対応点（mj,nj）を抽出し、抽出したQ個の組合せ対応点（mj,nj）それぞれの集合を、JCQ個の集合Ukとして生成する。なお、kは１からJCQまでの自然数の値をとる。
【０１０２】
ステップＳ２４において、合成画像生成部１０３は、生成した集合Uk毎に、集合Ukを構成するQ個の組合せ対応点（mj,nj）に基づいて得られる射影行列Pkを算出する。
【０１０３】
具体的には、例えば、合成画像生成部１０３は、集合Ukを構成するQ個の組合せ対応点（mj,nj）において、特徴点mjに対応する３次元位置（xj,yj,zj）Tと、特徴点njとしての２次元位置（uj,vj）Tとを用いて、最小自乗法等により、誤差Err1=Σj=1J{（uj,vj）T-Pk(xj,yj,zj)T}が最小となるような射影行列Pkを算出する。
【０１０４】
ステップＳ２５において、合成画像生成部１０３は、算出した複数の射影行列Pkのうち、算出した誤差Err1=Σj=1J{（uj,vj）T-Pk(xj,yj,zj)T}が最小となるときの射影行列Pkを、射影行列Pminとする。
【０１０５】
ステップＳ２６において、合成画像生成部１０３は、J個の組合せ対応点（mj,nj）において、特徴点mjに対応する３次元位置（xj,yj,zj）Tと、特徴点njとしての２次元位置（uj,vj）Tとを用いて、誤差En=Σj=1J（uj,vj）T-Pn(xj,yj,zj)T=Σj=1J（uj,vj）T-(Pmin+dn)(xj,yj,zj)Tを算出する。
【０１０６】
そして、合成画像生成部１０３は、算出した値Enに基づいて、関数g(En)=αEn2/(1+αEn2)を算出する。なお、αは定数であり、例えば、０以上であって１以下の値とされる。
【０１０７】
ステップＳ２７において、合成画像生成部１０３は、最急降下法により、関数g(En)を最小化するときのEnを算出し、算出したEnに対応するPn=(Pmin+dn)を、射影行列P0とする。そして、ステップＳ２７の処理の終了後、処理を図４のステップＳ１にリターンさせ、処理をステップＳ２に進め、それ以降の処理が行なわれる。
【０１０８】
なお、合成画像生成部１０３は、上述した第１の初期行列算出処理により射影行列P0を算出するようにしたが、図６のフローチャートに示される第２の初期行列算出処理により、射影行列P0を算出するようにしてもよい。
【０１０９】
[第２の初期行列算出処理の詳細]
次に、図６のフローチャートを参照して、パラメータ更新処理のステップＳ１において、合成画像生成部１０３が行う初期行列算出処理として行なう第２の初期行列算出処理について説明する。
【０１１０】
ステップＳ４１乃至ステップＳ４５において、図５のステップＳ２１乃至ステップＳ２５と同様の処理が行なわれる。
【０１１１】
ステップＳ４６において、合成画像生成部１０３は、J個の組合せ対応点（mj,nj）毎に、特徴点mjに対応する３次元位置（xj,yj,zj）T、及び特徴点njとしての２次元位置（uj,vj）Tに基づいて、誤差Err2=（uj,vj）T-Pmin(xj,yj,zj)Tを算出する。そして、合成画像生成部１０３は、J個の組合せ対応点（mj,nj）のうち、対応する誤差Err2が予め決めた閾値未満となる組合せ対応点（mj,nj）を選択する。
【０１１２】
ステップＳ４７において、合成画像生成部１０３は、選択した組合せ対応点（mj,nj）において、特徴点mjに対応する３次元位置（xj,yj,zj）Tと、特徴点njとしての２次元位置（uj,vj）Tとを用いて、最小自乗法等により、（uj,vj）T-P0（xj,yj,zj）Tが最小となるときの射影行列P0を算出し、処理を図４のステップＳ１にリターンさせ、処理をステップＳ２に進め、それ以降の処理が行なわれる。
【０１１３】
[合成画像生成処理の詳細]
次に、図７のフローチャートを参照して、パラメータ更新処理のステップＳ２において、合成画像生成部１０３が行なう合成画像生成処理について説明する。
【０１１４】
ステップＳ６１において、合成画像生成部１０３は、３次元情報保持部１０１から、基準画像４１を構成する各画素に対応付けられている３次元位置(x,y,z)Tを読み出す。
【０１１５】
そして、ステップＳ６２において、合成画像生成部１０３は、ステップＳ１の処理で射影行列P0が生成され、ステップＳ２に進められた場合には、生成した射影行列P0に基づいて、読み出した基準画像４１上の３次元位置(x,y,z)Tを、撮像画像４２上の２次元位置（u,v）Tに変換する。
【０１１６】
また、ステップＳ６２において、合成画像生成部１０３は、パラメータ更新部１０６から新たな射影行列Pi+1が供給され、ステップＳ５からステップＳ２に進められた場合には、パラメータ更新部１０６からの新たな射影行列Pi+1に基づいて、３次元情報保持部１０１から読み出した３次元位置(x,y,z)Tを、撮像画像４２上の２次元位置（u,v）Tに変換する。
【０１１７】
ステップＳ６３において、合成画像生成部１０３は、カメラ２２からの撮像画像４２を構成する各画素のうち、ステップＳ６２の処理で得られた撮像画像４２上の２次元位置（u,v）Tに存在する画素を抽出する。
【０１１８】
そして、合成画像生成部１０３は、抽出した画素により構成される画像を、合成画像６１として生成し、処理を図４のステップＳ２にリターンさせ、生成した合成画像６１を、評価部１０４に供給して、それ以降の処理が行なわれる。
【０１１９】
以上説明したように、パラメータ更新処理によれば、ステップＳ３において、カメラ２１とカメラ２２との性能の違いや、撮像条件の違いに応じて、撮像画像４２（合成画像６１）と基準画像４１との画素値に生じるレベル差による影響を受けにくい評価関数として、合成画像６１と基準画像４１との相関を表す評価関数P(xn)を算出するようにしている。
【０１２０】
したがって、例えば、パラメータ更新処理では、合成画像６１と基準画像４１との、対応する各画素の画素値についての差分自乗和Σ（ai-bi）2を評価関数P(xn)として用いる場合のように、特定の模様（パターン）が表示された壁紙等を被写体として撮像したり、合成画像６１と基準画像４１とを正規化して２値化画像に変換する必要がなくなる。
【０１２１】
すなわち、パラメータ更新処理によれば、カメラ２１及び２２で撮像する被写体は、特定の模様が表示された壁紙等に限定されず、どのような物体を被写体として撮像するようにしてもよいし、合成画像６１及び基準画像４１は、２値化画像とされる必要がなく、グレースケールの他、RGB(Red,Green,Blue)値により表される画像として用いることが可能となる。
【０１２２】
また、パラメータ更新処理では、式（４）に示されるように、２次多項式により表される評価関数P(xn)を用いるようにしたので、評価関数P(xn)が２次多項式ではない場合と比較して、より迅速に、最急降下法の解としての新たな射影行列Pi+1を算出することが可能となる。
【０１２３】
さらに、例えば、パラメータ更新処理では、式（４）に示されたように、２次多項式により表される評価関数P(xn)を用いるようにしたので、式（４）の評価関数P(xn)において、評価関数P(xn)の計算速度を速めるために、評価関数P(xn)に用いられる画素値ai,aj,bi及びbkを少なくしたとしても、比較的、精度の高い射影行列Pi+1を算出することが可能となる。
【０１２４】
なお、評価関数P(xn)に用いられる画素値ai,aj,bi及びbkを少なくしたとしても、比較的、精度の高い射影行列Pi+1を算出できる点は、本出願人が行なった実験により確認されている。本出願人が行なった実験と、その実験により確認された事項については、後述する図１６乃至図２０を参照して説明する。
【０１２５】
また、例えば、パラメータ更新処理において、撮像画像６１にノイズが生じていたとしても、式（４）に示されたような評価関数(xn)を用いるときには、例えば、自乗和Σ（ai-bi）2を評価関数P(xn)として用いるときと比較して、より精度の高い射影行列Pi+1を算出することができる。
【０１２６】
なお、撮像画像４２にノイズが生じていたとしても、比較的、精度の高い射影行列Pi+1が算出可能な点については、後述する図１６を参照して説明する。
【０１２７】
[第１及び第２の初期行列算出処理により得られる射影行列P0による推定結果]
次に、図８は、１２１個の組合せ対応点（mj,nj）を、それぞれ異なる１５パターンだけ用意し、用意した１５パターンそれぞれに基づいて、第１及び第２の初期行列算出処理を行った場合に得られる射影行列P0から推定される推定結果を示している。
【０１２８】
図８A及び図８Bにおいて、黒色で示される棒グラフは、それぞれ異なる１５パターンの、１２１個の組合せ対応点（mj,nj）に基づいて、第１の初期行列算出処理を行った場合に得られる射影行列P0に基づく推定結果の誤差についての平均を示している。
【０１２９】
また、図８A及び図８Bにおいて、白色で示される棒グラフは、それぞれ異なる１５パターンの、１２１個の組合せ対応点（mj,nj）に基づいて、第２の初期行列算出処理を行った場合に得られる射影行列P0に基づく推定結果の誤差についての平均を示している。
【０１３０】
具体的には、図８A中央では、撮像画像４２に対するノイズが0である場合（撮像画像４２に対してノイズが生じていない場合）における３次元位置の平均誤差として、白色で示される棒グラフが誤差0.00011633を表しており、黒色で示される棒グラフが誤差0.000145667を表している。
【０１３１】
なお、３次元位置の平均誤差とは、それぞれ異なる１５パターンについて得られる推定結果として推定されたカメラ２２の３次元位置（x,y,z）と、実際の３次元位置（x',y',z'）との誤差|x-x'|+|y-y'|+|z-z'|の平均を表している。
【０１３２】
また、図８A右側では、撮像画像４２に対するノイズが0である場合における回転角度の平均誤差として、白色で示される棒グラフが誤差0.000123333を表しており、黒色で示される棒グラフが誤差0.000142667を表している。
【０１３３】
なお、回転角度の平均誤差とは、それぞれ異なる１５パターンについて得られる推定結果として推定されたカメラ２２の姿勢を表す回転角度（θr,θp,θy）と、実際の回転角度（θr',θp',θy'）との誤差|θr-θr'|+|θp-θp'|+|θy-θy'|の平均を表している。
【０１３４】
また、図８A左側では、撮像画像４２に対するノイズが0である場合において、パラメータ更新処理により、射影行列P0に基づいて、新たに生成した射影行列P1から推定される３次元位置及び回転角度それぞれの平均誤差を加算した平均誤差加算値を表している。図８A左側において、射影行列P1に基づく平均誤差加算値として、白色及び黒色で示されるいずれの棒グラフについても、平均誤差加算値0を表している。
【０１３５】
さらに、図８B中央では、撮像画像４２に対するノイズが3.0である場合（本来、得られるノイズのない撮像画像４２の各画素の画素値に画素値３を加算した場合）における３次元位置の平均誤差として、白色で示される棒グラフが誤差1.58628を表しており、黒色で示される棒グラフが誤差1.067658667を表している。
【０１３６】
また、図８B右側では、撮像画像４２に対するノイズが3.0である場合における回転角度の平均誤差として、白色で示される棒グラフが誤差6.623128333を表しており、黒色で示される棒グラフが誤差1.421813333を表している。
【０１３７】
なお、図８B左側では、撮像画像４２に対するノイズが3.0である場合において、パラメータ更新処理により、射影行列P0に基づいて、新たに生成した射影行列P1から推定される３次元位置及び回転角度それぞれの平均誤差を加算した平均誤差加算値を表している。図８B左側において、射影行列P1に基づく平均誤差加算値として、白色で示される棒グラフが平均誤差加算値0.032973を表しており、黒色で示される棒グラフが平均誤差加算値0.333367333を表している。
【０１３８】
図８A中央及び右側、並びに図８B中央及び右側に示されるように、撮像画像４２にノイズが生じていない（ノイズが0である）場合には、第１及び第２の初期行列算出処理により生成された射影行列P0について、推定結果の誤差に大きな差はない。
【０１３９】
しかしながら、図８A中央及び右側、並びに図８B中央及び右側に示されるように、撮像画像４２にノイズが生じている（ノイズが3.0である）場合には、第１の初期行列算出処理により生成された射影行列P0についての推定結果の方が、第２の初期行列算出処理により生成された射影行列P0についての推定結果と比較して、推定結果の誤差は非常に小さくなる。
【０１４０】
次に、図９乃至図１３を参照して、第１の初期行列算出処理を用いて算出した射影行列P0に基づいて推定されるカメラ２２の３次元位置(x,y,z)及び回転角度（θr,θp,θy）、並びに第２の初期行列算出処理を用いて算出した射影行列P0に基づいて推定される３次元位置(x,y,z)及び回転角度（θr,θp,θy）について説明する。
【０１４１】
[撮像画像４２上に生じるノイズに応じて変化する推定結果の様子]
図９は、撮像画像４２を構成する各画素に生じるノイズに応じて、推定される３次元位置(x,y,z)及び回転角度（θr,θp,θy）が変化する様子の一例を示している。
【０１４２】
なお、図９A及び図９Bの横軸は、各画素に生じるノイズとして加算される画素値を表す。
【０１４３】
また、図９Aにおける縦軸は、推定された３次元位置（x,y,z）と、実際の３次元位置（x',y',z'）との誤差|x-x'|+|y-y'|+|z-z'|を表している。このことは、図１０A、図１１A、図１２A、及び図１３Aにおける縦軸においても同様である。
【０１４４】
さらに、図９Bにおける縦軸は、推定された回転角度（θr,θp,θy）と、実際の回転角度（θr',θp',θy'）との誤差|θr-θr'|+|θp-θp'|+|θy-θy'|を表している。このことは、図１０B、図１１B、図１２B、及び図１３Bにおける縦軸においても同様である。
【０１４５】
また、図９において、グラフ１２１乃至１２３は、第２の初期行列算出処理を用いて算出した射影行列P0に基づいて推定された推定結果についてのグラフを表している。
【０１４６】
さらに、図９において、グラフ１４１乃至１４３は、第１の初期行列算出処理を用いて算出した射影行列P0に基づいて推定された推定結果についてのグラフを表している。
【０１４７】
なお、グラフ１２１及び１４１の組合せ，グラフ１２２及び１４２の組合せ，並びにグラフ１２３及び１４３の組合せにおいて、それぞれ異なる組合せ毎に、基準画像４１上の特徴点mjとして異なる特徴点mjを採用した場合に得られるグラフの組合せを示している。
【０１４８】
グラフ１２１乃至１２３、及びグラフ１４１乃至１４３については、後述する図１０乃至図１３についても同様である。
【０１４９】
[カメラ２２のピッチ角θpに応じて変化する推定結果の様子]
図１０は、カメラ２２のピッチ角θpの変化に応じて、推定される３次元位置(x,y,z)及び回転角度（θr,θp,θy）が変化する様子の一例を示している。なお、図１０A及び図１０Bの横軸は、カメラ２２のピッチ角θpを表しており、カメラ２２のロール角θr及びヨー角θyは、カメラ２１と同様に設定されている。
【０１５０】
[カメラ２２のヨー角θyに応じて変化する推定結果の様子]
図１１は、カメラ２２のヨー角θyの変化に応じて、推定される３次元位置(x,y,z)及び回転角度（θr,θp,θy）が変化する様子の一例を示している。なお、図１１A及び図１１Bの横軸は、カメラ２２のヨー角θyを表しており、カメラ２２のロール角θr及びピッチ角θpは、カメラ２１と同様に設定されている。
【０１５１】
[カメラ２２のロール角θrに応じて変化する推定結果の様子]
図１２は、カメラ２２のロール角θrの変化に応じて、推定される３次元位置(x,y,z)及び回転角度（θr,θp,θy）が変化する様子の一例を示している。なお、図１２A及び図１２Bの横軸は、カメラ２２のロール角θrを表しており、カメラ２２のピッチ角θp及びヨー角θyは、カメラ２１と同様に設定されている。
【０１５２】
[撮像画像４２内の部分領域４２aの面積に応じて変化する推定結果の様子]
図１３は、撮像画像４２内の部分領域４２aの面積に応じて、推定される３次元位置(x,y,z)及び回転角度（θr,θp,θy）が変化する様子の一例を示している。なお、図１３A及び図１３Bの横軸は、撮像画像４２上の全領域の面積を１００とした場合における、部分領域４２aの面積の割合を表す。
【０１５３】
第１の初期行列算出処理を用いて算出した射影行列P0から推定される３次元位置（x',y',z'）及び回転角度（θr',θp',θy'）の方が、図９乃至図１３に示されるいずれの場合も、第２の初期行列算出処理を用いて算出した射影行列P0から推定された３次元位置（x',y',z'）及び回転角度（θr',θp',θy'）と比較して、より正確に推定されていることがわかる。
【０１５４】
次に、図１４及び図１５を参照して、領域マッチング処理により、基準画像４１と合成画像６１との組合せ対応点（mj,nj）を抽出し、抽出した組合せ対応点（mj,nj）に基づいて、射影行列P1を生成する場合について説明する。
【０１５５】
なお、図１４及び図１５を参照して説明する領域マッチング処理は、後述する図１６乃至２０において、本発明との対比のために用いられる。
【０１５６】
図１４は、領域マッチング処理により組合せ対応点（mj,nj）を抽出する様子を示している。
【０１５７】
なお、合成画像６１は、本発明におけるパラメータ更新処理の場合と同様にして、射影行列P0が算出され、算出された射影行列P0に基づいて生成されたものとして説明する。
【０１５８】
領域マッチング処理では、基準画像４１上の特徴点mjを順次、注目特徴点とし、注目特徴点に存在する画素を含む、注目特徴点の周囲に存在する複数の画素により構成される矩形領域４１aを設定する。また、領域マッチング処理では、合成画像６１上の全領域のうち、矩形領域４１aと最も類似する領域を検出し、検出した領域の中心に存在する画素が存在する位置を、特徴点mjに対応する合成画像６１上の特徴点njとして抽出する。
【０１５９】
そして、領域マッチング処理は、基準画像４１上の特徴点mjと、対応する合成画像６１上の特徴点njとの組合せを表す組合せ対応点（mj,nj）に基づいて、最小自乗法等により射影行列P1を算出する。
【０１６０】
これにより、領域マッチング処理では、図１５に示されるように、基準画像４１上の特徴点mjに対応する３次元位置（x,y,z）を、対応する撮像画像４２上の２次元位置（u,v）に変換するための射影行列P1が算出される。
【０１６１】
次に、図１６乃至図２０を参照して、領域マッチング処理により算出した射影行列P1に基づいて推定されるカメラ２２の３次元位置(x,y,z)及び回転角度（θr,θp,θy）、並びにパラメータ更新処理により算出した射影行列P1に基づいて推定される３次元位置(x,y,z)及び回転角度（θr,θp,θy）について説明する。
【０１６２】
[撮像画像４２上に生じるノイズに応じて変化する推定結果の様子]
図１６は、撮像画像４２を構成する各画素に生じるノイズに応じて、推定される３次元位置(x,y,z)及び回転角度（θr,θp,θy）が変化する様子の一例を示している。
【０１６３】
なお、図１６A及び図１６Bの横軸は、各画素に生じるノイズとして加算される画素値を表す。
【０１６４】
また、図１６Aにおける縦軸は、推定された３次元位置（x,y,z）と、実際の３次元位置（x',y',z'）との誤差|x-x'|+|y-y'|+|z-z'|を表している。このことは、図１７A、図１８A、図１９A、及び図２０Aにおける縦軸においても同様である。
【０１６５】
さらに、図１６Bにおける縦軸は、推定された回転角度（θr,θp,θy）と、実際の回転角度（θr',θp',θy'）との誤差|θr-θr'|+|θp-θp'|+|θy-θy'|を表している。このことは、図１７B、図１８B、図１９B、及び図２０Bにおける縦軸においても同様である。
【０１６６】
また、図１６において、グラフ１６１乃至１６３は、パラメータ更新処理により算出した射影行列P1に基づいて推定された推定結果についてのグラフを表している。
【０１６７】
さらに、図１６において、グラフ１８１乃至１８３は、領域マッチング処理により算出した射影行列P1に基づいて推定された推定結果についてのグラフを表している。
【０１６８】
なお、グラフ１６１及び１８１は、基準画像４１を構成する各画素のうち、縦方向及び横方向に１画素だけ離れて存在する画素それぞれの２次元位置（x,y）を、基準画像４１の特徴点mjとした場合についてのグラフを示している。
【０１６９】
また、グラフ１６２及び１８２は、基準画像４１を構成する各画素のうち、縦方向及び横方向に５画素だけ離れて存在する画素それぞれの２次元位置（x,y）を、基準画像４１の特徴点mjとした場合についてのグラフを示している。
【０１７０】
さらに、グラフ１６３及び１８３は、基準画像４１を構成する各画素のうち、縦方向及び横方向に２５画素だけ離れて存在する画素それぞれの２次元位置（x,y）を、基準画像４１の特徴点mjとした場合についてのグラフを示している。
【０１７１】
グラフ１６１乃至１６３、及びグラフ１８１乃至１８３については、後述する図１７乃至図２０についても同様である。
【０１７２】
[カメラ２２のピッチ角θpに応じて変化する推定結果の様子]
図１７は、カメラ２２のピッチ角θpの変化に応じて、推定される３次元位置(x,y,z)及び回転角度（θr,θp,θy）が変化する様子の一例を示している。なお、図１７A及び図１７Bの横軸は、カメラ２２のピッチ角θpを表しており、カメラ２２のロール角θr及びヨー角θyは、カメラ２１と同様に設定されている。
【０１７３】
[カメラ２２のヨー角θyに応じて変化する推定結果の様子]
図１８は、カメラ２２のヨー角θyの変化に応じて、推定される３次元位置(x,y,z)及び回転角度（θr,θp,θy）が変化する様子の一例を示している。なお、図１８A及び図１８Bの横軸は、カメラ２２のヨー角θyを表しており、カメラ２２のロール角θr及びピッチ角θpは、カメラ２１と同様に設定されている。
【０１７４】
[カメラ２２のロール角θrに応じて変化する推定結果の様子]
図１９は、カメラ２２のロール角θrの変化に応じて、推定される３次元位置(x,y,z)及び回転角度（θr,θp,θy）が変化する様子の一例を示している。なお、図１９A及び図１９Bの横軸は、カメラ２２のロール角θrを表しており、カメラ２２のピッチ角θp及びヨー角θyは、カメラ２１と同様に設定されている。
【０１７５】
[撮像画像４２内の部分領域４２aの面積に応じて変化する推定結果の様子]
図２０は、撮像画像４２内の部分領域４２aの面積に応じて、推定される３次元位置(x,y,z)及び回転角度（θr,θp,θy）が変化する様子の一例を示している。なお、図２０A及び図２０Bの横軸は、撮像画像４２上の全領域の面積を１００とした場合における、部分領域４２aの面積の割合を表す。
【０１７６】
パラメータ更新処理により算出した射影行列P1から推定される３次元位置（x',y',z'）及び回転角度（θr',θp',θy'）の方が、図１６乃至図２０に示されるいずれの場合も、領域マッチング処理により算出した射影行列P1から推定された３次元位置（x',y',z'）及び回転角度（θr',θp',θy'）と比較して、より正確に推定されていることがわかる。
【０１７７】
また、パラメータ更新処理により算出した射影行列P1から推定された３次元位置（x',y',z'）及び回転角度（θr',θp',θy'）においては、基準画像４１の特徴点が、２５画素おきに存在するようにしても、領域マッチング処理の場合と比較して、精度良く推定することができる。
【０１７８】
したがって、本発明におけるパラメータ更新処理によれば、パラメータ更新処理において、射影行列P1を生成する際に、評価関数f(xn)に用いられる基準画像４１の特徴点が疎であったとしても、比較的精度良く、カメラ２２の３次元位置（x',y',z'）及び回転角度（θr',θp',θy'）を推定することが可能となる。
＜２．変形例＞
本実施の形態では、３次元情報保持部１０１には、基準画像４１を構成する各画素の３次元位置（x,y,z）Tを予め保持するようにしたが、例えば、３次元位置（x,y,z）Tに代えて、２次元位置（x,y）Tを保持するようにしてもよい。
【０１７９】
この場合、２次元位置（x,y）Tを、３次元位置（x,y,c）Tとして表すようにすれば、本実施の形態において説明した場合と同様にして、パラメータ更新処理を行うことができる。なお、３次元位置（x,y,c）Tにおけるcは定数を表しており、例えばc=0とされる。
【０１８０】
また、本実施の形態における画像処理装置８１には、カメラ２２が含まれないように構成したが、その他、例えば、カメラ２２を含めるように構成してもよい。
【０１８１】
さらに、本実施の形態では、射影行列Piに基づいて、カメラ２２の３次元位置（x,y,z）及び姿勢を推定するようにしたが、その他、例えば、カメラ２２の３次元位置（x,y,z）又は姿勢のいずれか一方を推定するようにしてもよい。
【０１８２】
なお、画像処理装置８１としては、例えば、カメラ２２の位置や姿勢に基づいて、所定の処理を行なうカメラ付き携帯端末や、HMD(head mount display、ヘッドマウントディスプレイ)等の電子装置を採用することができる。すなわち、例えば、画像処理装置８１としては、AR（Augmented Reality）技術を用いて、カメラ２２により撮像されて図示せぬモニタ等に表示される撮像画像上に、カメラ２２の位置や姿勢に応じた物体を表示させる処理等を行なう電子装置を採用できる。
【０１８３】
この電子装置は、カメラ２２の撮像により得られる撮像画像上に存在する物体に関連した関連情報を、ネットワークに接続されたサーバから取得する。
【０１８４】
例えば、撮像画像上に存在する物体についての特徴点のパターンを表す各特徴点パターン（例えば、物体としての四角い紙が存在する場合、その紙の４つの角をそれぞれ表す４つの特徴点を、１つの特徴点パターンとする）毎に、対応する物体の関連情報を対応付けて保持するようにサーバを構成した場合、電子装置は、カメラ２２の撮像により得られる撮像画像から、特徴点を抽出し、抽出した特徴点についての特徴点パターンに対応付けられている関連情報をサーバから取得する。
【０１８５】
また、電子装置の位置及び方向（例えば、電子装置に内蔵されるカメラ２２の撮像方向）の組合せ毎に、対応する関連情報を対応付けて保持するようにサーバを構成した場合、電子装置は、GPS(global positioning system)等により、電子装置の位置を測定するとともに、加速度センサやジャイロセンサ等を用いて、電子装置の方向を測定する。
【０１８６】
そして、電子装置は、測定した位置及び方向の組合せに対応付けられている関連情報を、サーバから取得するものとなる。
【０１８７】
なお、電子装置の位置毎に、対応する関連情報を対応付けて保持するようにサーバを構成した場合、電子装置は、測定した位置に対応付けられている関連情報を取得し、電子装置の方向毎に、対応する関連情報を対応付けて保持するようにサーバを構成した場合、電子装置は、測定した方向に対応付けられている関連情報を取得するものとなる。
【０１８８】
電子装置は、取得した関連情報に基づいて、撮像画像上に合成（重畳）して表示させる合成用画像を生成する。そして、電子装置は、本実施の形態において上述したようにして、カメラ２２の位置や姿勢を推定し、その結果得られる推定結果を考慮して、合成用画像を、撮像画像に合成して表示させる。
【０１８９】
電子装置は、ネットワークに接続されたサーバから、関連情報を取得するようにしたが、その他、例えば、電子装置が、関連情報を予め保持する記憶部を有している場合には、サーバに代えて、記憶部から関連情報を取得することができる。
【０１９０】
この場合、電子装置は、ネットワークに接続することなく、記憶部から関連情報を取得できるので、ネットワークに接続できない環境下においても、撮像画像上に、関連情報に対応する合成用画像を合成して表示することが可能となる。
【０１９１】
次に、上述した一連の処理は、専用のハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、いわゆる組み込み型のコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０１９２】
[コンピュータの構成例]
図２１は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータの構成例を示している。
【０１９３】
CPU（Central Processing Unit）２０１は、ROM（Read Only Memory）２０２、または記憶部２０８に記憶されているプログラムに従って各種の処理を実行する。RAM（Random Access Memory）２０３には、CPU２０１が実行するプログラムやデータなどが適宜記憶される。これらのCPU２０１、ROM２０２、およびRAM２０３は、バス２０４により相互に接続されている。
【０１９４】
CPU２０１にはまた、バス２０４を介して入出力インタフェース２０５が接続されている。入出力インタフェース２０５には、キーボード、マウス、マイクロホンなどよりなる入力部２０６、ディスプレイ、スピーカなどよりなる出力部２０７が接続されている。CPU２０１は、入力部２０６から入力される指令に対応して各種の処理を実行する。そして、CPU２０１は、処理の結果を出力部２０７に出力する。
【０１９５】
入出力インタフェース２０５に接続されている記憶部２０８は、例えばハードディスクからなり、CPU２０１が実行するプログラムや各種のデータを記憶する。通信部２０９は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
【０１９６】
また、通信部２０９を介してプログラムを取得し、記憶部２０８に記憶してもよい。
【０１９７】
入出力インタフェース２０５に接続されているドライブ２１０は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア２１１が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部２０８に転送され、記憶される。
【０１９８】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを記録する記録媒体は、図２１に示されるように、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(compact disc-read only memory),DVD(digital versatile disc)を含む）、光磁気ディスク（ＭＤ（mini-disc）を含む）、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア２１１、または、プログラムが一時的もしくは永続的に記録されるROM２０２や、記憶部２０８を構成するハードディスクなどにより構成される。記録媒体へのプログラムの記録は、必要に応じてルータ、モデムなどのインタフェースである通信部２０９を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【０１９９】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２００】
さらに、本実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０２０１】
８１  画像処理装置，  １０１  ３次元情報保持部，  １０２  基準画像保持部，  １０３  合成画像生成部，  １０４  評価部，  １０５  最適化演算部，  １０６  パラメータ更新部
【図１】
2011242134.tif 000007
【図２】
2011242134.tif 000008
【図３】
2011242134.tif 000009
【図４】
2011242134.tif 000010
【図５】
2011242134.tif 000011
【図６】
2011242134.tif 000012
【図７】
2011242134.tif 000013
【図８】
2011242134.tif 000014
【図９】
2011242134.tif 000015
【図１０】
2011242134.tif 000016
【図１１】
2011242134.tif 000017
【図１２】
2011242134.tif 000018
【図１３】
2011242134.tif 000019
【図１４】
2011242134.tif 000020
【図１５】
2011242134.tif 000021
【図１６】
2011242134.tif 000022
【図１７】
2011242134.tif 000023
【図１８】
2011242134.tif 000024
【図１９】
2011242134.tif 000025
【図２０】
2011242134.tif 000026
【図２１】
2011242134.tif 000027