(57)【要約】【課題】撮像対象物体の正確な３次元座標位置を用いずに校正を行うと共に、各撮像装置間の誤差を均一に校正する撮像装置校正方法を提供する。【解決手段】カメラ１〜４が全周を分割して撮像し、特徴点設定部１０４が隣接するカメラ間の画像データに共通の特徴点を設定し、カメラ初期位置設定部１０６がカメラ１の位置を基準にしてカメラ２〜４の相対位置を回転移動及び平行移動を用いて設定し、カメラ位置補正部１０７が回転移動及び平行移動から基本行列を求め、特徴点の画像上の座標値を用いて隣接するカメラ間の画像のエピポーラ線と特徴点の座標位置との距離を算出し、回転移動及び平行移動を変数にして距離を最小化し、距離を最小化したときの回転移動及び平行移動の値を補正後のカメラ１〜４の実際位置とする。【選択図】図１
2011086111.tif 000002
【特許請求の範囲】
【請求項１】
複数の撮像装置が撮像した複数の画像データを、前記各撮像装置の位置関係に基づいて投影面上に合成するために、前記各撮像装置の位置関係を求める撮像装置校正方法であって、
隣接する前記撮像装置の各画像データから、当該隣接する撮像装置間で共通に撮像された物体をそれぞれ抽出して特徴点に設定する特徴点設定ステップと、
前記各撮像装置の既知の位置関係に基づいて、前記複数の撮像装置のうちの特定の撮像装置の位置を基準にしてその他の撮像装置の相対位置を回転移動量及び平行移動量を用いて設定する初期位置設定ステップと、
前記初期位置設定ステップで設定した回転移動量及び平行移動量と、前記特徴点設定ステップで設定した特徴点の画像上の座標値とを用いて、前記各撮像装置の位置関係の実際の位置からの誤差を補正する撮像装置位置補正ステップとを備えることを特徴とする撮像装置校正方法。
【請求項２】
撮像装置位置補正ステップは、
回転移動量及び平行移動量から撮像装置間の基本行列を求め、特徴点設定ステップで設定した特徴点の画像上の座標値を用いて当該基本行列の誤差を算出する誤差評価ステップと、
前記回転移動量及び前記平行移動量を変数にして前記誤差を最小化し、前記誤差を最小化したときの回転移動量及び平行移動量に基づいて前記各撮像画像の位置関係の実際の位置からの誤差を補正する誤差最小化ステップとを有することを特徴とする請求項１記載の撮像装置校正方法。
【請求項３】
撮像装置位置補正ステップは、
回転移動量及び平行移動量から撮像装置間の基本行列を求め、特徴点設定ステップで設定した特徴点の画像上の座標値を用いて当該基本行列の誤差を算出する誤差評価ステップと、
前記回転移動量を変数にして前記誤差を最小化し、前記誤差を最小化したときの回転移動量に基づいて前記各撮像画像の位置関係の実際の位置からの誤差を補正する誤差最小化ステップとを有することを特徴とする請求項１記載の撮像装置校正方法。
【請求項４】
撮像装置位置補正ステップでは、基本行列の誤差として、隣接する撮像装置間で撮像された２つの画像データにおけるエピポーラ線と特徴点設定部が設定した当該２つの画像データに共通する特徴点の座標位置との距離を算出することを特徴とする請求項１から請求項３のうちのいずれか１項記載の撮像装置校正方法。
【請求項５】
全周を分割して撮像する複数の撮像装置と、
前記複数の撮像装置が撮像した複数の画像データを取得する画像取得部と、
隣接する前記撮像装置の各画像データから、当該隣接する撮像装置間で共通に撮像された物体をそれぞれ抽出して特徴点に設定する特徴点設定部と、
前記各撮像装置の既知の位置関係に基づいて、前記複数の撮像装置のうちの特定の撮像装置の位置を基準にしてその他の撮像装置の相対位置を回転移動量及び平行移動量を用いて設定する初期位置設定部と、
前記初期位置設定部が設定した回転移動量及び平行移動量と、前記特徴点設定部で設定した特徴点の画像上の座標値とを用いて、前記各撮像装置の位置関係の実際の位置からの誤差を補正する撮像装置位置補正部と、
前記撮像装置位置補正部が補正した位置関係に基づいて、前記複数の画像データを投影面上に合成し、全周画像を生成する画像合成部とを備えることを特徴とする画像合成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数の撮像装置が撮像した複数の画像データを、各撮像装置の位置関係に基づいて投影面上に合成するために、各撮像装置の位置関係を求める撮像装置校正方法、及び校正した撮像装置間の位置関係に基づいて全周画像を生成する画像合成装置に関するものである。
【背景技術】
【０００２】
複数のカメラ（撮像装置）が撮像した画像を合成して全周画像を生成するためには、各カメラの画像間の関係を求める必要がある。
従来、各カメラ画像間の関係を求めるカメラ校正手法として、平面射影変換に基づく手法がある。この平面射影変換は、各カメラの撮像対象が同一平面上にある場合にカメラ画像間に成り立つ変換であり、カメラ画像座標間の関係を記述した変換行列である。例えば、特許文献１のカメラ校正方法では、車両の前後左右に取り付けた４つのカメラについて、隣接する前−右カメラ間、前−左カメラ間、後−右カメラ間、後−左カメラ間のそれぞれの共通撮像領域に特徴点を配置し、隣接するカメラ画像上の特徴点の座標値対応関係に基づき、合成画像座標への変換パラメータを平面射影変換によって求める。各カメラで撮像した画像を地面上に投影して合成する際には、これらの変換パラメータを用いて撮像画像における各点の座標を地面上の座標に変換する。
【０００３】
また、撮像対象の３次元位置から各カメラの３次元位置姿勢を求め、求めた各カメラの位置姿勢からカメラ画像間の関係を求めるカメラ校正手法もある。例えば、非特許文献１の方法では、先ず、１番目のカメラで撮像された３次元物体の座標からこの１番目のカメラの位置を決定し、次に、位置が決定された１番目のカメラとこれから位置を決定する２番目のカメラに共通して撮像された物体の３次元位置を１番目のカメラのカメラ座標から求め、その３次元位置から２番目のカメラの位置を決定するようにして、複数のカメラのカメラ位置の校正を順番に行っていた。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１８７５６４号公報
【非特許文献】
【０００５】
【非特許文献１】三嶋、羽石、味戸、山崎、「被写体方向を保存したドーム投影のための複数枚画像の合成方法」、２００６年度日本写真学会年次大会、１Ａ−０６Ｋ、ｐｐ．１２〜１３
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来のカメラ校正方法は以上のように構成されているので、特許文献１のように平面射影変換を用いる場合には、撮像対象が同一平面上に存在しなければならないという課題があった。そのため、３６０度の全周画像を合成する場合には、全てのカメラが撮像できる平面が存在し得ないので、平面射影変換では合成できない。全周を複数の平面に分割する方法もあるが、平面間の接合部分で不自然な画像となってしまうという問題が発生する。
【０００７】
また、非特許文献１のように撮像対象となる物体の３次元座標を用いる場合には、物体の３次元位置を測定する手法が必要であり、特に物体が遠距離にある場合には、物体の位置を正確に測定することが困難であるという課題があった。また、前のカメラ位置から順に次のカメラ位置を校正すると、校正の際の誤差が順に蓄積し、最後に校正したカメラでは１番目に構成したカメラと比較して相対的に誤差が大きくなってしまう。このように、誤差の蓄積が発生する手法を用いると、最初に校正されたカメラの撮像画像と最後に校正されたカメラの撮像画像が合成された全周画像において、最初に校正されたカメラの撮像画像と最後に校正されたカメラの撮像画像の合成部分の誤差が他の合成部分の誤差より大きくなってしまい、均一な全周画像が得られないという課題があった。
【０００８】
この発明は、上記のような課題を解決するためになされたもので、複数の撮像装置の撮像画像を合成して全周画像を生成する画像合成装置に対して、撮像対象物体の正確な３次元座標位置が分からなくとも各撮像装置の校正を行うと共に、各撮像装置間の誤差を均一に校正する撮像装置校正方法を提供することを目的とする。また、この撮像装置校正方法により校正した撮像装置の位置関係を用いて、合成誤差を全周画像全体で均一にする画像合成装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
この発明に係る撮像装置校正方法は、隣接する撮像装置の各画像データから、当該隣接する撮像装置間で共通に撮像された物体をそれぞれ抽出して特徴点に設定する特徴点設定ステップと、各撮像装置の既知の位置関係に基づいて、複数の撮像装置のうちの特定の撮像装置の位置を基準にしてその他の撮像装置の相対位置を回転移動量及び平行移動量を用いて設定する初期位置設定ステップと、初期位置設定ステップで設定した回転移動量及び平行移動量と、特徴点設定ステップで設定した特徴点の画像上の座標値とを用いて、各撮像装置の位置関係の実際の位置からの誤差を補正する撮像装置位置補正ステップとを備えるものである。
【００１０】
また、この発明に係る画像合成装置は、全周を分割して撮像する複数の撮像装置と、複数の撮像装置が撮像した複数の画像データを取得する画像取得部と、隣接する撮像装置の各画像データから、当該隣接する撮像装置間で共通に撮像された物体をそれぞれ抽出して特徴点に設定する特徴点設定部と、各撮像装置の既知の位置関係に基づいて、複数の撮像装置のうちの特定の撮像装置の位置を基準にしてその他の撮像装置の相対位置を回転移動量及び平行移動量を用いて設定する初期位置設定部と、初期位置設定部が設定した回転移動量及び平行移動量と、特徴点設定部で設定した特徴点の画像上の座標値とを用いて、各撮像装置の位置関係の実際の位置からの誤差を補正する撮像装置位置補正部と、撮像装置位置補正部が補正した位置関係に基づいて、複数の画像データを投影面上に合成し、全周画像を生成する画像合成部とを備えるものである。
【発明の効果】
【００１１】
この発明によれば、各撮像装置の位置関係として設定された回転移動量及び平行移動量と、特徴点の画像上の座標値とを用いて、各撮像装置の位置関係の実際の位置からの誤差を補正するようにしたので、特徴点である撮像対象物体の３次元座標位置を用いることなく各撮像装置の校正を行うことができると共に、各撮像装置間の誤差を均一に校正することのできる撮像装置校正方法を提供することができる。
【００１２】
また、この発明によれば、各撮像装置の位置関係として設定された回転移動量及び平行移動量と、特徴点の画像上の座標値とを用いて、各撮像装置の位置関係の実際の位置からの誤差を補正し、補正した位置関係に基づいて複数の画像データを投影面上に合成し、全周画像を生成するようにしたので、特徴点である撮像対象物体の３次元座標位置を用いることなく各撮像装置の校正を行うことができると共に、各撮像装置間の誤差を均一に校正することができ、さらに、画像の合成誤差を全周画像全体で均一にすることのできる画像合成装置を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】この発明の実施の形態１に係る画像合成装置の構成を示すブロック図である。
【図２】図１に示す画像合成装置の動作を示すフローチャートである。
【図３】図１に示すカメラ部１０１の各カメラ１〜４の配置例を示すカメラ配置図である。
【図４】３次元座標の設定された空間において、２つの透視カメラＡ，Ｂから撮像対象３０５を見たときの位置関係を示す図である。
【図５】透視カメラＡを例にして、カメラ座標系を説明する図である。
【図６】カメラ初期位置とカメラ相対位置との誤差の評価法を説明する図である。
【図７】図１に示すカメラ位置補正部１０７の動作を示すフローチャートである。
【図８】図１に示す画像合成部１１０の画像合成方法を説明する図である。
【図９】カメラの平行移動により発生したずれと回転移動により発生したずれを説明する図である。
【発明を実施するための形態】
【００１４】
実施の形態１．
図１は、この発明の実施の形態１に係る画像合成装置の構成を示すブロック図である。この画像合成装置は、カメラ部１０１、画像取得部１０２、画像データ記憶部１０３、特徴点設定部１０４、特徴点位置補正部１０５、カメラ初期位置設定部１０６、カメラ位置補正部１０７、画像補正データ記憶部１０８、カメラ位置データ記憶部１０９、画像合成部１１０を備える。
【００１５】
カメラ部１０１は、カメラ（撮像装置）１〜４の４台を備え、全周を４分割して両端が重複するように撮像し、各画像を出力する。なお、本実施の形態１ではカメラが４台の場合を例に説明するが、これに限定されるものではなく、全周を何台のカメラで分割して撮像してもよい。画像取得部１０２は、カメラ部１０１から画像データを取得し、画像データ記憶部１０３に保存する。なお、画像データ記憶部１０３、画像補正データ記憶部１０８及びカメラ位置データ記憶部１０９は、メモリ等の記憶媒体から構成される。
【００１６】
特徴点設定部１０４は、画像データ記憶部１０３に保存された画像データ上に、校正に必要な特徴点を設定する。特徴点位置補正部１０５は、画像補正データ記憶部１０８に保存された画像補正データを用いて、画像データ上に設定された特徴点の位置を透視カメラで撮像した場合の位置に変換する。カメラ初期位置設定部１０６は、カメラ位置データ記憶部１０９に保存されたカメラ１〜４の初期位置データを取得して、カメラ位置に設定する。カメラ位置補正部１０７は、特徴点位置補正部１０５により補正された特徴点を用いて、カメラ１〜４のカメラ初期位置を現実に配置固定された正しいカメラ位置に補正すると共に、補正したカメラ位置を実際位置データとしてカメラ位置データ記憶部１０９に記憶させる。
【００１７】
画像合成部１１０は、カメラ位置データ記憶部１０９に記憶されたカメラ１〜４の実際位置データを用いて、カメラ１〜４が撮像した画像を合成し、全周画像を生成する。
【００１８】
次に、画像合成装置の動作を説明する。図２は、実施の形態１に係る画像合成装置の動作を示すフローチャートである。
先ず、画像取得部１０２がカメラ部１０１に撮像を指示すると、カメラ部１０１がカメラ１〜４を制御して同時に撮像を行う。そして、画像取得部１０２は撮像された画像データをカメラ部１０１より取得し、画像データ記憶部１０３に保存させる（ステップＳＴ１）。
【００１９】
図３は、図１に示すカメラ部１０１の各カメラ１〜４の配置例を示すカメラ配置図である。図３において、カメラ部１０１は、カメラ１、カメラ２、カメラ３及びカメラ４の４台からなり、全周を撮像するように隣同士を略９０度の角度を持って配置固定されている。各カメラ１〜４を配置した空間に、カメラ１の配置位置を基準にした仮想の３次元座標軸を設定し、この３次元座標軸をカメラ１のカメラ座標系と称す。
【００２０】
また、カメラ２〜４の配置位置は、カメラ１の配置位置を基準とした相対位置として規定される。この相対位置は、カメラの回転移動Ｒ及び平行移動Ｔからなる移動量で表現することとし、回転移動Ｒは３×３の行列、平行移動Ｔは１×３の行列（ベクトル）とする。図３では、カメラ１に対するカメラ２の相対位置を回転移動Ｒ2及び平行移動Ｔ2で表現し、カメラ１に対するカメラ３の相対位置を回転移動Ｒ3及び平行移動Ｔ3で表現し、カメラ１に対するカメラ４の相対位置を回転移動Ｒ4及び平行移動Ｔ4で表現する。
なお、カメラ２〜４の配置位置を、カメラ座標系の絶対座標としての座標値と回転角で表現してもよい。この表現方法であっても、平行移動Ｔ及び回転移動Ｒで表現する相対位置に簡単に変換できる。
【００２１】
続いて、特徴点設定部１０４が、画像データ記憶部１０３に保存された画像データ上に特徴点を設定する（ステップＳＴ２、特徴点設定ステップ）。特徴点とは、２つのカメラに共通する撮像領域にあって、２つのカメラから共通に撮像できる物体の画像上の点である。図３の例では、カメラ１の撮像視野２０１とカメラ２の撮像視野２０２が重なる共通撮像領域から、複数の特徴点２１１，２１２が抽出される。また、カメラ２の撮像視野２０２とカメラ３の撮像視野２０３が重なる共通撮像領域から複数の特徴点２１３，２１４が抽出され、カメラ３の撮像視野２０３とカメラ４の撮像視野２０４が重なる共通撮像領域から複数の特徴点２１５，２１６が抽出され、カメラ４の撮像視野２０４とカメラ１の撮像視野２０１が重なる共通撮像領域から複数の特徴点２１７，２１８が抽出される。
【００２２】
特徴点設定部１０４は、各カメラ１〜４が撮像した画像それぞれに２次元座標軸を設定し、ある特徴点について、一方の画像データに設定した２次元座標で表す座標値と、他方の画像データに設定した２次元座標で表す座標値をペアにして保存する。この２次元座標軸を、画像座標系と称す。例えば、カメラ１の画像データの横ｉ1番目、縦ｊ1番目のピクセルに特徴点があり、同一の特徴点がカメラ２の画像データの横ｉ2番目、縦ｊ2番目のピクセルにある場合には、カメラ１の画像座標系で表す座標値（ｉ1，ｊ1）とカメラ２の画像座標系で表す座標値（ｉ2，ｊ2）がペアで保存される。
【００２３】
本実施の形態１では、特徴点を設定する方法として、例えば、ユーザが画像を比較して画像データ上の座標値を入力して設定する方法、又は、ＳＩＦＴ（Ｓｃａｌｅ−Ｉｎｖａｒｉａｎｔ  Ｆｅａｔｕｒｅ  Ｔｒａｎｓｆｏｒｍ）のような画像処理を利用して特徴点を自動抽出してその座標値を設定する方法を用いる。画像処理を利用して特徴点を抽出する場合には、特徴点の座標値が（５．５，１０．３）というように小数点の値になってもよい。
【００２４】
続いて、特徴点位置補正部１０５は、画像補正データ記憶部１０８に予め設定されている画像補正データ（カメラ１〜４それぞれの内部パラメータ及びレンズ歪補正パラメータ等）により、特徴点設定部１０４が抽出した特徴点の位置を補正して、透視カメラで撮像した場合の位置に変換する（ステップＳＴ３）。一般にカメラは内部パラメータ及びレンズ歪により、透視カメラとはみなせない。そのため、カメラ１〜４も透視カメラとみなせない場合には、カメラ１〜４の画像データ上の特徴点の位置を、透視カメラで撮像した場合の位置に変換する必要がある。これは、ステップＳＴ４以降の各処理が、カメラ１〜４が透視カメラとみなせることを前提にして行う処理だからである。
なお、カメラ１〜４が透視カメラとみなせるのであればステップＳＴ３の処理は不要である。
【００２５】
本実施の形態１では、特徴点の位置を補正する方法として、例えば「Ｚ．Ｚｈａｎｇ、Ａ  Ｆｌｅｘｉｂｌｅ  Ｎｅｗ  Ｔｅｃｈｎｉｑｕｅ  ｆｏｒ  Ｃａｍｅｒａ  Ｃａｌｉｂｒａｔｉｏｎ、Ｍｉｃｒｏｓｏｆｔ  Ｒｅｓｅａｒｃｈ  Ｔｅｃｈｎｉｃａｌ  Ｒｅｐｏｒｔ  ＭＳＲ−ＴＲ−９８−７１、１９９９」に記載された手法により、予め画像補正データをカメラ毎に取得し、その画像補正データを用いて補正式により画像データ上の特徴点の位置を補正する方法を用いる。
【００２６】
続いて、カメラ初期位置設定部１０６は、カメラ位置データ記憶部１０９に保存されているカメラ１〜４の初期位置データを取得して、カメラ位置に設定する（ステップＳＴ４、初期位置設定ステップ）。上述のように、カメラ２〜４の初期位置は、カメラ１のカメラ座標系においてカメラ１の配置位置を基準とした回転移動Ｒ及び平行移動Ｔで表現する相対位置である。この初期位置データとしては、例えば、カメラ１〜４を固定するためのジグの設計値、又は、実際に配置固定したカメラ１〜４間の距離及び角度の測定値を用いる。いずれの場合にも、ジグの精度、カメラ配置固定時の誤差、測定時の誤差等に起因して、初期位置はカメラ１〜４の実際の配置固定位置（実際位置）に対して誤差を持つと考えられ、この誤差が合成画像生成時のずれとして表示されてしまう。そこで、この誤差を補正して、合成画像生成時に誤差が小さくなるようなカメラ１〜４の実際位置を求めることが必要となる。この誤差の補正をカメラ位置補正部１０７が行う。
【００２７】
続いて、カメラ位置補正部１０７は、カメラ１〜４の初期位置を補正して実際位置を求める（ステップＳＴ５、撮像装置位置補正ステップ）。この補正処理では、カメラ位置補正部１０７が基本行列を用いてカメラ位置の補正を行うため、先ず、この基本行列について以下に説明する。なお、基本行列についてのより詳細な説明は「佐藤淳、コンピュータビジョン―視覚の幾何学―、コロナ社、ｐｐ．８３〜８５，８９」に記載されている。
【００２８】
図４は、３次元座標軸が設定された空間内に配置された２つの透視カメラＡ，Ｂから撮像対象３０５を見たときの関係を示す図である。図４において、透視カメラＡは、その光学中心である視点３０１の位置に配置され、撮像面３０３の方向を向いている。他方、透視カメラＢは、その視点３０２の位置に配置され、撮像面３０４の方向を向いている。撮像対象３０５は特徴点として撮像面３０３，３０４上に抽出・設定される物体であり、透視カメラＡ，Ｂと同じ空間に配置されている。また、透視カメラＡの視点３０１から撮像対象３０５へ延びる直線と撮像面３０３とが交わる点を交点３０６とし、透視カメラＢの視点３０２から撮像対象３０５へ延びる直線と撮像面３０４とが交わる点を交点３０７とする。この交点３０６は、透視カメラＡが撮像した画像である撮像面３０３上に設定される特徴点であり、交点３０７は、透視カメラＢが撮像した画像である撮像面３０４上に設定される特徴点である。また、透視カメラＡの視点３０１と透視カメラＢの視点３０２とを結ぶ直線が、撮像面３０３と交わる点を交点３０８とし、撮像面３０４と交わる点を交点３０９とする。また、交点３０６と交点３０８を結ぶ線を直線３１０とし、交点３０７と交点３０９を結ぶ線を直線３１１とする。なお、撮像面３０３，３０４上の交点３０６〜３０９は２次元の画像座標系の座標値で表される。
【００２９】
一般に、交点３０８，３０９はエピポールと呼ばれ、直線３１０，３１１はエピポーラ線と呼ばれる。また、視点３０１と視点３０２の相対位置は回転移動Ｒ及び平行移動Ｔで表現し、透視カメラＡの座標系での視点３０１から交点３０６へ向かうベクトルをｘ’とし、透視カメラＢの座標系での視点３０２から交点３０７へ向かうベクトルをｘとする。
ここで、透視カメラＡ，Ｂの座標系を説明する。図５は、透視カメラＡを例にして、カメラ座標系を説明する図である。透視カメラＡの座標系とは、視点３０１から伸びる視線方向に平行なＺ軸と、Ｚ軸に対して鉛直方向に伸び、撮像面３０３上に射影したＹ軸と、Ｚ軸及びＹ軸に直交するＸ軸とから定義される座標系である。
【００３０】
図４に示すベクトルｘ’，ｘ間には以下の関係式（１）が成り立つ。
ただし、［Ｔ］×は、Ｔと任意のベクトルＶとの外積を［Ｔ］×Ｖ＝Ｔ×Ｖと表せる行列である。下式（１）においてＥは基本行列と呼ばれ、式（２）で定義するように、２つの透視カメラＡ，Ｂの画像座標間に成り立つ一般的な関係を表す行列である。この関係は、視点３０１，３０２から撮像面３０３，３０４上の座標に対するベクトル表現で記述されており、実際の撮像対象３０５までの距離に係わらず成り立つ。従って、基本行列Ｅを用いる本補正処理では、撮像対象３０５の３次元座標を用いることなく、透視カメラＡ，Ｂの画像データから求めたベクトルｘ’，ｘから実際のカメラ位置を求めることが可能である。
2011086111.tif 000003
【００３１】
しかし、カメラ１〜４の初期位置データのように、実際位置に対して位置データに誤差がある場合には、上式（１）が成り立たない。そこで、カメラ位置補正部１０７による補正処理では、後述する誤差評価法に基づいて、カメラ１〜４の初期位置と実際位置の誤差を、上式（１）に基づいて評価し、全体の誤差を最小化するカメラ２〜４の相対位置を求めることにより、実際にカメラが配置固定されている正確な位置を求める。
【００３２】
ここで、誤差の評価法を説明する。
上式（１）において、Ｅｘ＝ｌとすると、上式（１）は下式（３）となり、この式（３）のｌは、ベクトルｘ’の通る直線とみなすことができる。この直線を一般的にエピポーラ線と呼ぶ（詳細は上記文献を参照）。
2011086111.tif 000004
【００３３】
図６は、カメラ初期位置と実際のカメラ相対位置の誤差を評価する方法を説明する図である。図６において、直線４０１が上式（３）のエピポーラ線ｌに対応する直線である。透視カメラＡを基準にした透視カメラＢの回転移動Ｒ及び平行移動Ｔが実際位置に等しければ、エピポーラ線ｌに対応する直線は、直線３１０のように特徴点である交点３０６を通過する直線となる。しかし、回転移動Ｒ及び平行移動Ｔに実際位置との誤差がある場合には交点３０６が直線４０１上に乗らないため、交点３０６と直線４０１の距離４０２を、この回転移動Ｒ及び平行移動Ｔに含まれる誤差として評価する。
【００３４】
次に、上記誤差評価法に基づくカメラ位置補正部１０７の動作、即ち図２に示すステップＳＴ５の詳細を説明する。図７は、カメラ位置補正部１０７の動作を示すフローチャートである。カメラ位置補正部１０７の補正処理開始時、カメラ１〜４のカメラ位置は、カメラ初期位置設定部１０６によって設定された初期位置である。
【００３５】
カメラ位置補正部１０７は、先ず、カメラ１を基準とするカメラ座標系で記述されたカメラ１のカメラ位置から、隣接するカメラ２〜４のカメラ座標系の変換式を求める（ステップＳＴ１１）。これは、特徴点は隣接するカメラに共通して撮像されるため、上式（１）を適応するためには、隣接するカメラ間の回転移動Ｒ及び平行移動Ｔを求めることが必要であるからである。
具体的には、カメラ位置補正部１０７が、カメラ１の３次元座標値（ｘ，ｙ，ｚ）＝Ｘ1からカメラ１に隣接するカメラ２の３次元座標値Ｘ2、カメラ４の３次元座標値Ｘ4への座標系変換を、相対位置Ｒ2，Ｔ2，Ｒ4，Ｔ4を用いて下式（４），（５）により行う。
Ｘ2＝Ｒ2Ｘ1＋Ｔ2      （４）
Ｘ4＝Ｒ4Ｘ1＋Ｔ4      （５）
【００３６】
同様に、カメラ位置補正部１０７はカメラ１からカメラ３への座標系変換を、相対位置Ｒ3，Ｔ3を用いて下式（６）により行う。
Ｘ3＝Ｒ3Ｘ1＋Ｔ3      （６）
【００３７】
また、残る隣接関係であるカメラ２とカメラ３、カメラ３とカメラ４の関係は、それぞれ式（４）と式（６）、式（５）と式（６）を変形させることにより、下式（７），（８）と表せる。従って、カメラ位置補正部１０７は、下式（７），（８）を用いて、カメラ３からカメラ２、カメラ３からカメラ４への座標系変換を行う。これにより、カメラ位置補正部１０７は、全ての隣接カメラ間の座標系変換式を得る。
Ｘ2＝Ｒ2Ｒ3-1（Ｘ3−Ｔ3）＋Ｔ2      （７）
Ｘ4＝Ｒ4Ｒ3-1（Ｘ3−Ｔ3）＋Ｔ4      （８）
【００３８】
続いて、カメラ位置補正部１０７は、ステップＳＴ１１で求めた隣接カメラ間の座標系変換式（４）〜（８）を上式（２）に適用して、隣接するカメラ間の基本行列Ｅを求める（ステップＳＴ１２）。
【００３９】
続いて、カメラ位置補正部１０７は、実際に撮像された画像上に設定された各特徴点２１１〜２１８の誤差、即ち交点とエピポーラ線との距離を、対応するカメラ間の基本行列Ｅを用いて上式（１）によりそれぞれ計算し、各特徴点２１１〜２１８の誤差の合計値を求める（ステップＳＴ１３）。
以上、ステップＳＴ１１〜ＳＴ１３が誤差評価ステップである。
【００４０】
続いて、カメラ位置補正部１０７は、ステップＳＴ１３で求めた誤差の合計値が予め設定された指定値より大きい場合には（ステップＳＴ１４“ＮＯ”）、続くステップＳＴ１５にて現在のカメラ位置（即ち相対位置Ｒ2，Ｔ2，Ｒ3，Ｔ3，Ｒ4，Ｔ4）を変数として修正する。ステップＳＴ１５で用いる修正方法としては、例えば、シンプレックス法、パウエル法等の一般的な関数最小化手法に基づいて修正する方法がある。
【００４１】
続いて、カメラ位置補正部１０７は、ステップＳＴ１５で修正した新たなカメラ位置を用いてステップＳＴ１１〜ＳＴ１４の各処理を行い、新たなカメラ位置に基づく誤差の合計値が指定値以下になれば（ステップＳＴ１４“ＹＥＳ”）、この新たなカメラ位置を実際位置データとしてカメラ位置データ記憶部１０９に出力する（ステップＳＴ１６）。
以上、ステップＳＴ１４〜ＳＴ１６が誤差最小化ステップである。
【００４２】
説明を図２のフローチャートに戻す。画像合成部１１０は、ステップＳＴ５で求めた実際位置データを用いて、３次元空間上にある連続した面にカメラ１〜４が撮像した画像を投影することにより、合成画像を生成する（ステップＳＴ６）。
【００４３】
図８は、画像合成部１１０の画像合成方法を説明する図である。図８では画像投影のための連続した投影面として円柱面５００を用いた例を示すが、これに限定されるものではなく、一般的には連続面として円柱の他に球又は立方体が用いられる。ステップＳＴ５の補正処理によりカメラ１〜４の実際位置データが得られたので、画像合成部１１０はこの実際の配置位置及び姿勢に基づいて、各カメラ１〜４の画像を円柱面５００にそれぞれ投影する。画像合成部１１０は、例えばカメラ１であれば、カメラ１の視点とカメラ画像１ａ上の各点（例えばピクセル）を結ぶ各直線を円柱面５００まで延長し、各直線と円柱面５００との各交点位置にカメラ画像１ａ上の各点の色を設定する。カメラ画像１ａ上の特徴点２１７も円柱面５００に投影される。これにより、カメラ画像１ａが円柱面５００に投影され、投影画像１ｂが得られる。画像合成部１１０がこの処理を他のカメラ２〜４に対して行うことにより、連続した全周画像が生成される。
【００４４】
ここで、カメラ１とカメラ４に共通して設定された特徴点２１７を考える。特徴点２１７は、同一の撮像対象をカメラ１，４で撮像したものであるため、円柱面５００の同じ位置に投影されなければならない。しかし、例えばカメラ４の位置がずれていると、カメラ４のカメラ画像４ａ上の特徴点２１７も円柱面５００上のずれた位置（特徴点２１７’）に投影されてしまう。そのため、合成後の全周画像にもずれが生じてしまう。このようなずれを防止するために、本実施の形態１では、カメラ位置補正部１０７により初期位置データを補正して実際位置データを求める。この際、カメラ位置補正部１０７は全てのカメラ１〜４間の誤差を一括して最小化するので、特定のカメラ間の誤差の蓄積が発生しない。この結果、画像合成部１１０において合成誤差が均一な全周画像を合成することができる。
【００４５】
以上より、実施の形態１によれば、複数のカメラ１〜４が全周を分割して撮像し、画像取得部１０２がカメラ１〜４の撮像した複数の画像データを取得し、特徴点設定部１０４が隣接するカメラ間の各画像データから共通に撮像された撮影対象物体をそれぞれ抽出して特徴点に設定し、カメラ初期位置設定部１０６がカメラ位置データ記憶部１０９に記憶された初期位置データに基づいてカメラ１の位置を基準にしてカメラ２〜４の相対位置を回転移動Ｒ2，Ｒ3，Ｒ4及び平行移動Ｔ2，Ｔ3，Ｔ4を用いて設定し、カメラ位置補正部１０７が回転移動Ｒ2，Ｒ3，Ｒ4及び平行移動Ｔ2，Ｔ3，Ｔ4から基本行列を求め、特徴点の画像上の座標値を用いて基本行列の誤差、即ち隣接するカメラ間で撮像された２つの画像データにおけるエピポーラ線と当該２つの画像データに共通する特徴点の座標位置との距離、を算出し、回転移動Ｒ2，Ｒ3，Ｒ4及び平行移動Ｔ2，Ｔ3，Ｔ4を変数にして誤差を最小化し、誤差を最小化したときの回転移動Ｒ2，Ｒ3，Ｒ4及び平行移動Ｔ2，Ｔ3，Ｔ4の値を補正後のカメラ１〜４の実際位置にするように構成した。このため、特徴点の３次元座標値を用いることなく、画像上の特徴点の座標値から求める基本行列をもとにカメラ１〜４の相対位置を求めるため、特徴点の３次元座標値を測定する必要がない。また、従来のようなカメラ間の位置関係を順に決定している手法と異なり、全てのカメラ間の誤差を一括して最小化するため、特定のカメラ位置への誤差の蓄積が発生せず、全てのカメラ間の誤差を均一に補正することができる。
【００４６】
また、画像合成部１１０が、カメラ位置補正部１０７が補正したカメラ１〜４の相対位置に基づいて、カメラ１〜４の画像データを円柱面５００上に合成し、全周画像を生成するように構成した。カメラ位置補正部１０７は全てのカメラ間の誤差を一括して最小化しているので、この値を用いて合成した全周画像の画像間の合成誤差も均一にすることができる。
【００４７】
実施の形態２．
上記実施の形態１では、カメラ１を基準にした各カメラ２〜４の平行移動Ｔ2，Ｔ3，Ｔ4及び回転移動Ｒ2，Ｒ3，Ｒ4を変数として用い、カメラ１〜４の初期位置と実際位置との誤差を最小化したが、回転移動Ｒ2，Ｒ3，Ｒ4のみを変数として用いてもよい。本実施の形態２では、回転移動Ｒ2，Ｒ3，Ｒ4のみを変数として用いる構成の画像合成装置を説明する。なお、本実施の形態２の画像合成装置は、図１に示す画像合成装置と図面上では同様の構成であるため、以下では図１を援用して説明する。
【００４８】
一般に、撮像対象が遠距離にある場合、カメラ１〜４の平行移動の誤差より回転移動の誤差の方が投影画像に与える影響が大きい。図９は、カメラの平行移動により発生したずれと回転移動により発生したずれを説明する図である。図９において、不図示のカメラは、真の視点６０１に位置し、撮像面６０２の方向を向いて撮像対象６０３を撮像する。視点６０１から撮像対象６０３へ延びる直線と撮像面６０２とが交わる２次元座標位置を交点６０４とする。
【００４９】
ここで、カメラ校正の結果、カメラ位置に誤差があり、実際に撮像された撮像面６０２上には、交点６０５の２次元座標位置に撮像対象６０３があるとする。このカメラ位置の誤差が平行移動によるものである場合には、カメラ位置は視点６０６の３次元座標位置として求められる。この場合、視点６０６と交点６０５から求められる撮像対象６０３の位置は、撮像対象６０７の３次元座標位置となる。つまり、撮像対象６０３，６０７の位置のずれが平行移動によるずれとなる。
他方、ずれが回転方向により生ずる場合には、真の視点６０１と交点６０５から求められる撮像対象６０３の位置は、撮像対象６０８の３次元座標位置となり、撮像対象６０３，６０８の位置のずれが回転移動によるずれとなる。
【００５０】
平行移動によるずれは、真の視点６０１と撮像対象６０３の距離にかかわらず一定になるのに対し、回転移動によるずれは、真の視点６０１と撮像対象６０３の距離が大きくなるほど増加する。従って、撮像対象が遠距離であるほど、画像合成時に平行移動の合成ずれの割合が小さくなり、回転移動の合成ずれが支配的となる。
【００５１】
そこで、本実施の形態２に係る画像合成装置では、カメラ位置補正部１０７が図７に示すステップＳＴ１５において、合成ずれに影響しやすい回転移動Ｒ2，Ｒ3，Ｒ4のみを変数として修正して、誤差の合計値を最小化する。なお、平行移動Ｔ2，Ｔ3，Ｔ4については、カメラ初期位置設定部１０６が補正処理開始前にカメラ位置として設定した初期位置データの値で固定すればよい。変数の数を少なくできることにより、誤差の合計値収束までの繰り返し処理の回数を減らし、高速にカメラ１〜４の実際位置を求めることができる。
【００５２】
以上より、実施の形態２によれば、カメラ位置補正部１０７が、回転移動Ｒ2，Ｒ3，Ｒ4及び平行移動Ｔ2，Ｔ3，Ｔ4から基本行列を求め、特徴点の画像上の座標値を用いて基本行列の誤差、即ち隣接するカメラ間で撮像された２つの画像データにおけるエピポーラ線と当該２つの画像データに共通する特徴点の座標位置との距離、を算出し、回転移動Ｒ2，Ｒ3，Ｒ4を変数にして誤差を最小化し、誤差を最小化したときの回転移動Ｒ2，Ｒ3，Ｒ4及びカメラ初期位置設定部１０６が設定した平行移動Ｔ2，Ｔ3，Ｔ4の値を補正後のカメラ１〜４の実際位置にするように構成した。このため、上記実施の形態１の効果に加えて、回転移動Ｒのみを変数として誤差を最小化したことにより、収束までの繰り返し処理の回数を減らし、高速にカメラ位置を校正することができる効果がある。
【符号の説明】
【００５３】
１，２，３，４  カメラ（撮像装置）、１０１  カメラ部、１０２  画像取得部、１０３  画像データ記憶部、１０４  特徴点設定部、１０５  特徴点位置補正部、１０６  カメラ初期位置設定部、１０７  カメラ位置補正部、１０８  画像補正データ記憶部、１０９  カメラ位置データ記憶部、１１０  画像合成部、２０１〜２０４  撮像視野、２１１〜２１８  特徴点、３０１  透視カメラＡの視点、３０２  透視カメラＢの視点、３０３  透視カメラＡの撮像面、３０４  透視カメラＢの撮像面、３０５  撮像対象、３０６，３０７  交点、３０８，３０９  交点（エピポール）、３１０，３１１  直線（エピポーラ線）、４０１  直線（エピポーラ線）、４０２  距離（誤差）、５００  円柱面、６０１  真の視点、６０２  撮像面、６０３，６０７，６０８  撮像対象、６０４，６０５  交点、６０６  視点、Ａ，Ｂ  透視カメラ。
【図１】
2011086111.tif 000005
【図２】
2011086111.tif 000006
【図３】
2011086111.tif 000007
【図４】
2011086111.tif 000008
【図５】
2011086111.tif 000009
【図６】
2011086111.tif 000010
【図７】
2011086111.tif 000011
【図８】
2011086111.tif 000012
【図９】
2011086111.tif 000013