(57)【特許請求の範囲】
【請求項１】
複数のカメラで構成されたカメラアレイで撮像された画像を処理する画像処理装置において、
上記カメラアレイを構成する各カメラの相対的な位置関係を示す相対位置情報を含む情報を保持するカメラアレイ情報保持手段と、
上記カメラアレイ情報保持手段が保持している各カメラの情報を利用して、各カメラで撮像された画像の補正に必要な補正パラメータを算出する補正パラメータ算出手段と、
上記補正パラメータ算出手段が算出した補正パラメータを用いて、上記カメラアレイを構成する各カメラが撮像した画像を補正する画像補正手段とを有し、
上記カメラアレイは、複数のカメラで構成された単位カメラアレイを複数備えており、
上記補正パラメータ算出手段は、
各単位カメラアレイ内の補正パラメータを計算する第１の補正パラメータ計算部と、
上記第１の補正パラメータ計算部が計算した補正パラメータ、及び上記第１の補正パラメータ計算部が補正パラメータを計算する過程で算出した各カメラに係るカメラパラメータ利用して、複数の単位カメラアレイを結合した際の補正パラメータを計算する第２の補正パラメータ計算部とを有し、
上記第１の補正パラメータ計算部は、補正パラメータの計算を行う際に必要となる平面パターンを撮像すべき単位カメラアレイを特定し、特定した単位カメラアレイのカメラに対して平面パターンの設置が必要である旨を出力し、単位カメラアレイの各カメラから平面パターンを撮像した画像を取得し、取得した画像を用いて単位カメラアレイ内の平行化のための補正パラメータを計算し、
上記第２の補正パラメータ計算部は、単位カメラアレイ間で組となるカメラペアを選択し、選択したカメラペアの各カメラに対して平面パターンの設置が必要である旨を出力し、選択したカメラペアの各カメラから平面パターンを撮像した画像を取得し、取得した画像を用いて、複数の単位カメラアレイを結合した際の補正パラメータを計算する
ことを特徴とする画像処理装置。
【請求項２】
上記単位カメラアレイは、それぞれ３つ以上のカメラを備えていることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
上記第２の補正パラメータ計算部は、選択したカメラペアの各カメラから、平面パターンを撮像した画像を取得し、取得した画像に基づいて、単位カメラアレイ間の相対位置及び相対姿勢を計算し、単位カメラアレイ間の相対位置及び相対姿勢を用いて、上記カメラアレイを構成する全てのカメラの位置及び姿勢を共通の座標系に変換し、上記共通の座標系を用いて、複数の単位カメラアレイを結合した際の補正パラメータを計算することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
上記第２の補正パラメータ計算部は、上記第１の補正パラメータ計算部が補正パラメータを計算する過程で算出した各カメラに係る内部パラメータ及び外部パラメータを用いて、上記共通の座標系で、上記カメラアレイを構成する各カメラを理想的な状態に配置した場合のカメラパラメータを計算し、計算したカメラパラメータについて疑似逆行列を計算することにより、上記カメラアレイを構成する各カメラで撮像される画像を、上記カメラアレイを構成する各カメラを理想的な状態に配置して撮像した画像へ補正するためのホモグラフィ行列を計算し、計算したホモグラフィティ行列を補正パラメータとして出力することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
複数のカメラで構成されたカメラアレイで撮像された画像を処理する画像処理装置に搭載されたコンピュータを、
上記カメラアレイを構成する各カメラの相対的な位置関係を示す相対位置情報を含む情報を保持するカメラアレイ情報保持手段と、
上記カメラアレイ情報保持手段が保持している各カメラの情報を利用して、各カメラで撮像された画像の補正に必要な補正パラメータを算出する補正パラメータ算出手段と、
上記補正パラメータ算出手段が算出した補正パラメータを用いて、上記カメラアレイを構成する各カメラが撮像した画像を補正する画像補正手段として機能させ、
上記カメラアレイは、複数のカメラで構成された単位カメラアレイを複数備えており、
上記補正パラメータ算出手段は、
各単位カメラアレイ内の補正パラメータを計算する第１の補正パラメータ計算部と、
上記第１の補正パラメータ計算部が計算した補正パラメータ、及び上記第１の補正パラメータ計算部が補正パラメータを計算する過程で算出した各カメラに係るカメラパラメータ利用して、複数の単位カメラアレイを結合した際の補正パラメータを計算する第２の補正パラメータ計算部とを有し、
上記第１の補正パラメータ計算部は、補正パラメータの計算を行う際に必要となる平面パターンを撮像すべき単位カメラアレイを特定し、特定した単位カメラアレイのカメラに対して平面パターンの設置が必要である旨を出力し、単位カメラアレイの各カメラから平面パターンを撮像した画像を取得し、取得した画像を用いて単位カメラアレイ内の平行化のための補正パラメータを計算し、
上記第２の補正パラメータ計算部は、単位カメラアレイ間で組となるカメラペアを選択し、選択したカメラペアの各カメラに対して平面パターンの設置が必要である旨を出力し、選択したカメラペアの各カメラから平面パターンを撮像した画像を取得し、取得した画像を用いて、複数の単位カメラアレイを結合した際の補正パラメータを計算する
ことを特徴とする画像処理プログラム。
【請求項６】
複数のカメラで構成されたカメラアレイで撮像された画像を処理する画像処理装置が行う画像処理方法において、
カメラアレイ情報保持手段、補正パラメータ算出手段、及び画像補正手段を有し、上記補正パラメータ算出手段は、第１の補正パラメータ計算部及び第２の補正パラメータ計算部を有し、
上記カメラアレイ情報保持手段は、上記カメラアレイを構成する各カメラの相対的な位置関係を示す相対位置情報を含む情報を保持し、
上記補正パラメータ算出手段は、上記カメラアレイ情報保持手段が保持している各カメラの情報を利用して、各カメラで撮像された画像の補正に必要な補正パラメータを算出し、
上記画像補正手段は、上記補正パラメータ算出手段が算出した補正パラメータを用いて、上記カメラアレイを構成する各カメラが撮像した画像を補正し、
上記カメラアレイは、複数のカメラで構成された単位カメラアレイを複数備えており、
上記第１の補正パラメータ計算部は、各単位カメラアレイ内の補正パラメータを計算し、
上記第２の補正パラメータ計算部は、上記第１の補正パラメータ計算部が計算した補正パラメータ、及び上記第１の補正パラメータ計算部が補正パラメータを計算する過程で算出した各カメラに係るカメラパラメータ利用して、複数の単位カメラアレイを結合した際の補正パラメータを計算し、
上記第１の補正パラメータ計算部は、補正パラメータの計算を行う際に必要となる平面パターンを撮像すべき単位カメラアレイを特定し、特定した単位カメラアレイのカメラに対して平面パターンの設置が必要である旨を出力し、単位カメラアレイの各カメラから平面パターンを撮像した画像を取得し、取得した画像を用いて単位カメラアレイ内の平行化のための補正パラメータを計算し、
上記第２の補正パラメータ計算部は、単位カメラアレイ間で組となるカメラペアを選択し、選択したカメラペアの各カメラに対して平面パターンの設置が必要である旨を出力し、選択したカメラペアの各カメラから平面パターンを撮像した画像を取得し、取得した画像を用いて、複数の単位カメラアレイを結合した際の補正パラメータを計算する
ことを特徴とする画像処理方法。
【請求項７】
複数のカメラで構成されたカメラアレイと、上記カメラアレイで撮像された画像を処理する画像処理装置とを備える画像処理システムにおいて、上記画像処理装置として請求項１〜４のいずれかに記載の画像処理装置を適用したことを特徴とする画像処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像処理装置、方法及びプログラム、並びに画像処理システムに関し、例えば、複数のカメラから構成されるカメラアレイから取得される画像を処理する画像処理システムに適用し得る。
【背景技術】
【０００２】
従来、立体表示デバイスへの入力画像の撮影や、３次元形状復元などの用途に、複数のカメラを並べたカメラアレイが利用されている。カメラを横一直線上に配置するようなカメラアレイの場合、撮影対象のオブジェクトの高さ方向の位置は、各カメラから得られたそれぞれの画像で同一であることが求められる。しかし、実際には、各カメラの個体差や設置精度により、得られた画像間には差が生じてしまう。
【０００３】
例えば、図１０に示すように、２つのカメラＣ１、Ｃ２を用いて撮影対象オブジェクトＯＢＪを撮影した際の理想的な配置の場合に得られる映像と、実際の配置で撮影した場合に得られる映像を想定する。
【０００４】
図１０（ａ−１）は、２つのカメラＣ１、Ｃ２を理想的な位置に配置（横一直線上に配置）した状態について示した図である。また図１０（ｂ−１）は、２つのカメラＣ１、Ｃ２の実際の配置状態（理想的な位置を意図して実際に配置した状態）について示した図である。図１０のカメラＣ１、Ｃ２に付された矢印は、当該カメラの撮像する方向（光軸方向）について示している。図１０（ａ−２）、図１０（ａ−３）は、それぞれ、図１０（ａ−１）に示す位置に配置（理想的なカメラ配置）されたカメラＣ１、Ｃ２で撮像された画像について示した図である。図１０（ｂ−２）、図１０（ｂ−３）は、それぞれ、図１０（ｂ−１）に示す位置に配置（実際のカメラ配置）されたカメラＣ１、Ｃ２で撮像された画像について示した図である。この場合、図１０（ａ−２）、（ａ−３）に示すように、撮影対象オブジェクトＯＢＪの対応する位置の上下方向の位置は揃う状態が理想的なカメラＣ１、Ｃ２の配置となるが、図１０（ｂ−２）、（ｂ−３）に示すように、実際のカメラＣ１、Ｃ２の配置で得られる映像では異なる。
【０００５】
例えば、直線配置のカメラアレイから得られる映像を、理想のカメラ配置で得られたように補正する従来技術として、平行化（ｒｅｃｔｉｆｉｃａｔｉｏｎ）とよばれる手法（非特許文献１参照）がある。
【０００６】
図１１は、平行化の手法の手法を適用したカメラモデルについて示した説明図である。
【０００７】
まず、従来の平行化の手法の手法を適用したカメラモデルについて説明する。例えば、世界座標での三次元空間の点Ｍ＝（Ｘ，Ｙ，Ｚ，１）をカメラで得られる画像平面上の点ｍ＝（ｘ，ｙ，ｚ，１）へ射影する投影変換Ｐは以下の（１）式のように表される。
ｍ＝ＰＭ  …（１）
【０００８】
また、この投影変換Ｐは、以下の（２）式のようにも表現できる。（２）式において、Ｋは内部パラメータと呼ばれる以下の（３）式の行列式で表されるものである。以下の（３）式において、ｆはカメラの焦点距離、（ｕ，ｖ）は画像中心を表す主点座標を表している。また、以下の（２）式において、Ｔ、Ｒは外部パラメータと呼ばれるものである。以下の（２）式において、Ｔはカメラ中心の位置を示すベクトルであり、Ｒはカメラの姿勢を表す回転行列である。図１１に、平行化の手法を適用したカメラモデルにおける世界座標系とカメラ座標系の対応関係を示す。図１１（ａ）は、世界座標系に係る各パラメータを示している。図１１（ｂ）は、図１１（ａ）の世界座標系に対応するカメラ座標系の各パラメータを示している。
Ｐ＝Ｋ［Ｒ｜Ｔ］  …（２）
【数１】
0006540155.tif 000002
【０００９】
次に、非特許文献１に記載された平行化の手法について説明する。以下では、あるカメラから実際に得られた画像をｍｒｅａｌと表し、このカメラが理想的な位置、方向に設置されている場合に得られる理想的な画像をｍｉｄｅａｌと表す。そうすると、以下の（４）式で表されるｍｒｅａｌからｍｉｄｅａｌへの変換式が、平行化のための補正に相当する。
ｍｉｄｅａｌ＝Ｈｍｒｅａｌ…（４）
【００１０】
上記の（４）式におけるＨは、ホモグラフィ行列である。ホモグラフィ行列Ｈは、ｍｒｅａｌとｍｉｄｅａｌで対応する４点に基づいて、計算により求めることができる。非特許文献１では実際にカメラで得られた画像ｍｒｅａｌ上の点に対応する理想カメラ画像ｍｉｄｅａｌの対応点を求めるために、大小２種類の平面パターンを用いている。平面パターンとは、大きさが既知の格子模様の二次元パターンを指す。
【００１１】
図１２は、平行化の処理に用いられる平面パターンＰＴの例（格子模様の二次元パターンの例）について示した説明図である。
【００１２】
非特許文献１の手法では、図１２に示すような大きな平面パターンＰＴ上の格子点を対応点として用い、ホモグラフィ行列Ｈを求める。
【００１３】
次に、非特許文献１の手法におけるホモグラフィ行列Ｈの求め方の例について説明する。
【００１４】
まず、非特許文献１の手法では、実カメラの内部パラメータＫｒｅａｌは、カメラ固有のパラメータのため、各カメラ個別に計算される。実カメラの内部パラメータＫｒｅａｌは、Ｚｈａｎｇの手法（非特許文献２参照）に従い、複数回平面パターンを撮影することにより計算できる。次に、非特許文献１の手法では、外部パラメータＴｒｅａｌ，Ｒｒｅａｌの推定が行われる。外部パラメータは、カメラの位置関係を表すため、同一の座標系で表す必要がある。そのため、非特許文献１の手法では、すべてのカメラに共通する画角内に大きなパターンを設置し、これを用いている。この際、大きな平面パターンの左下の座標を世界座標の原点とすると、得られた各カメラの外部パラメータ（位置、姿勢）はこの座標系で表すことができる。また、実カメラで撮影した画像ｍｒｅａｌ内での平面パターンの格子点の座標も得られる。
【００１５】
次に、非特許文献１の手法では、推定した内部、外部パラメータから、理想カメラの内部パラメータＫｉｄｅａｌ、外部パラメータＴｉｄｅａｌが求められる。理想のカメラパラメータとは、カメラアレイを構成するすべての内部パラメータが同じで、各カメラは一直線に等間隔に並び、かつ全て同じ姿勢（光軸方向が平行）であるものを指す。非特許文献１の手法では、理想的な内部パラメータとして、実カメラの内部パラメータの平均を用い、位置・方向については実カメラの位置を主成分分析することにより、理想カメラの並ぶ直線方向及び姿勢を決定する。これにより、非特許文献１の手法では、理想カメラ投射のパラメータが得られるため、理想カメラ画像ｍｉｄｅａｌ上に現れる平面パターンの格子点の座標が得られる。以上により、非特許文献１の手法では、大きな平面パターン上の格子点を対応する点とすることで、ホモグラフィ行列Ｈを算出することができる。なお、以下では、ホモグラフィ行列を「補正パラメータ」とも呼ぶものとする。
【先行技術文献】
【非特許文献】
【００１６】
【非特許文献１】ＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１  Ｍ１５３７９“Ａｄｊｕｓｔｉｎｇ  ｍｅｔｈｏｄ  ｆｏｒ  ｍｕｌｔｉ  ｖｉｅｗ  ｉｍａｇｅ；ｃｏｌｏｒ  ａｎｄ  ｇｅｏｍｅｔｒｙ  ｃｏｒｒｅｃｔｉｏｎ  ｆｏｒ  ＭＰＥＧ−ＦＴＶ  ｔｅｓｔ  ｓｅｑｕｅｎｃｅｓ，”Ａｐｒ．２００８
【非特許文献２】Ｚ．Ｚｈａｎｇ，“Ａ  Ｆｌｅｘｉｂｌｅ  Ｎｅｗ  Ｔｅｃｈｎｉｑｕｅ  ｆｏｒ  Ｃａｍｅｒａ  Ｃａｌｉｂｒａｔｉｏｎ”，  ＩＥＥＥ  Ｔｒａｎｓ．  ＰＡＭＩ，  Ｖｏｌ．２２，Ｎｏ．１１，  ＰＰ．１３３０−１３３４，  ２０００
【発明の概要】
【発明が解決しようとする課題】
【００１７】
しかしながら、従来の平行化手法では、対応点の取得と、カメラの位置・姿勢を得るために、すべてのカメラから映る位置に、大きさが既知の平面パターンを設置する必要があった。そのため、大きなカメラアレイを構築する場合には、すべてのカメラに映る位置に平面パターンを設置する必要があった。この場合、平面パターンを配置するのに十分なスペースが必要となるため、十分に平面パターンの設置スペースが確保できない場所では、構成するカメラアレイの規模に制限があった。
【００１８】
また、従来の平行化手法では、平面パターンの設置スペースが確保されていた場合でも、距離が離れた位置に平面パターンを配置して撮影を行う場合、巨大な平面パターンを用意する必要がある。このような巨大なパターンの場合、平面パターンの平面性（例えば平面パターンが印刷された板の平面性）を維持するように作成するには、コストがかかるという問題もある。さらに、従来の平行化手法では、カメラアレイに使用するカメラの数を増やした場合には、大きな平面パターンと撮影に必要な空間が必要になるため、拡張性にも劣る。大きなカメラアレイを構築した際には、カメラアレイ自体のサイズも大きなものとなってしまうため、カメラアレイを移動することが困難であり、移動を行うためにカメラアレイを分解することになってしまう。この場合、カメラアレイ再構成後には、カメラの位置関係が変わっているため、全てのカメラについて外部パラメータの推定と補正パラメータの推定を行う必要がある。このように、従来の平行化手法では、カメラアレイの移動によるパラメータ推定のための手間がかかるという問題があった。
【００１９】
以上のような問題に鑑みて、少ない作業量、かつ低コストで複数のカメラにより構成されるカメラアレイで撮像された画像を補正する画像処理装置、方法及びプログラム、並びに画像処理システムが望まれている。
【課題を解決するための手段】
【００２０】
第１の本発明は、複数のカメラで構成されたカメラアレイで撮像された画像を処理する画像処理装置において、（１）上記カメラアレイを構成する各カメラの相対的な位置関係を示す相対位置情報を含む情報を保持するカメラアレイ情報保持手段と、（２）上記カメラアレイ情報保持手段が保持している各カメラの情報を利用して、各カメラで撮像された画像の補正に必要な補正パラメータを算出する補正パラメータ算出手段と、（３）上記補正パラメータ算出手段が算出した補正パラメータを用いて、上記カメラアレイを構成する各カメラが撮像した画像を補正する画像補正手段とを有し、（４）上記カメラアレイは、複数のカメラで構成された単位カメラアレイを複数備えており、（５）上記補正パラメータ算出手段は、(５−１)各単位カメラアレイ内の補正パラメータを計算する第１の補正パラメータ計算部と、（５−２）上記第１の補正パラメータ計算部が計算した補正パラメータ、及び上記第１の補正パラメータ計算部が補正パラメータを計算する過程で算出した各カメラに係るカメラパラメータ利用して、複数の単位カメラアレイを結合した際の補正パラメータを計算する第２の補正パラメータ計算部とを有し、（６）上記第１の補正パラメータ計算部は、補正パラメータの計算を行う際に必要となる平面パターンを撮像すべき単位カメラアレイを特定し、特定した単位カメラアレイのカメラに対して平面パターンの設置が必要である旨を出力し、単位カメラアレイの各カメラから平面パターンを撮像した画像を取得し、取得した画像を用いて単位カメラアレイ内の平行化のための補正パラメータを計算し、（７）上記第２の補正パラメータ計算部は、単位カメラアレイ間で組となるカメラペアを選択し、選択したカメラペアの各カメラに対して平面パターンの設置が必要である旨を出力し、選択したカメラペアの各カメラから平面パターンを撮像した画像を取得し、取得した画像を用いて、複数の単位カメラアレイを結合した際の補正パラメータを計算することを特徴とする。
【００２１】
第２の本発明の画像処理プログラムは、複数のカメラで構成されたカメラアレイで撮像された画像を処理する画像処理装置に搭載されたコンピュータを、（１）上記カメラアレイを構成する各カメラの相対的な位置関係を示す相対位置情報を含む情報を保持するカメラアレイ情報保持手段と、（２）上記カメラアレイ情報保持手段が保持している各カメラの情報を利用して、各カメラで撮像された画像の補正に必要な補正パラメータを算出する補正パラメータ算出手段と、（３）上記補正パラメータ算出手段が算出した補正パラメータを用いて、上記カメラアレイを構成する各カメラが撮像した画像を補正する画像補正手段として機能させ、（４）上記カメラアレイは、複数のカメラで構成された単位カメラアレイを複数備えており、（５）上記補正パラメータ算出手段は、（５−１）各単位カメラアレイ内の補正パラメータを計算する第１の補正パラメータ計算部と、（５−２）上記第１の補正パラメータ計算部が計算した補正パラメータ、及び上記第１の補正パラメータ計算部が補正パラメータを計算する過程で算出した各カメラに係るカメラパラメータ利用して、複数の単位カメラアレイを結合した際の補正パラメータを計算する第２の補正パラメータ計算部とを有し、（６）上記第１の補正パラメータ計算部は、補正パラメータの計算を行う際に必要となる平面パターンを撮像すべき単位カメラアレイを特定し、特定した単位カメラアレイのカメラに対して平面パターンの設置が必要である旨を出力し、単位カメラアレイの各カメラから平面パターンを撮像した画像を取得し、取得した画像を用いて単位カメラアレイ内の平行化のための補正パラメータを計算し、（７）上記第２の補正パラメータ計算部は、単位カメラアレイ間で組となるカメラペアを選択し、選択したカメラペアの各カメラに対して平面パターンの設置が必要である旨を出力し、選択したカメラペアの各カメラから平面パターンを撮像した画像を取得し、取得した画像を用いて、複数の単位カメラアレイを結合した際の補正パラメータを計算する
ることを特徴とする。
【００２２】
第３の本発明は、複数のカメラで構成されたカメラアレイで撮像された画像を処理する画像処理装置が行う画像処理方法において、（１）カメラアレイ情報保持手段、補正パラメータ算出手段、及び画像補正手段を有し、上記補正パラメータ算出手段は、第１の補正パラメータ計算部及び第２の補正パラメータ計算部を有し、（２）上記カメラアレイ情報保持手段は、上記カメラアレイを構成する各カメラの相対的な位置関係を示す相対位置情報を含む情報を保持し、（３）上記補正パラメータ算出手段は、上記カメラアレイ情報保持手段が保持している各カメラの情報を利用して、各カメラで撮像された画像の補正に必要な補正パラメータを算出し、（４）上記画像補正手段は、上記補正パラメータ算出手段が算出した補正パラメータを用いて、上記カメラアレイを構成する各カメラが撮像した画像を補正し、上記カメラアレイは、複数のカメラで構成された単位カメラアレイを複数備えており、（５）上記第１の補正パラメータ計算部は、各単位カメラアレイ内の補正パラメータを計算し、（６）上記第２の補正パラメータ計算部は、上記第１の補正パラメータ計算部が計算した補正パラメータ、及び上記第１の補正パラメータ計算部が補正パラメータを計算する過程で算出した各カメラに係るカメラパラメータ利用して、複数の単位カメラアレイを結合した際の補正パラメータを計算し、（７）上記第１の補正パラメータ計算部は、補正パラメータの計算を行う際に必要となる平面パターンを撮像すべき単位カメラアレイを特定し、特定した単位カメラアレイのカメラに対して平面パターンの設置が必要である旨を出力し、単位カメラアレイの各カメラから平面パターンを撮像した画像を取得し、取得した画像を用いて単位カメラアレイ内の平行化のための補正パラメータを計算し、（８）上記第２の補正パラメータ計算部は、単位カメラアレイ間で組となるカメラペアを選択し、選択したカメラペアの各カメラに対して平面パターンの設置が必要である旨を出力し、選択したカメラペアの各カメラから平面パターンを撮像した画像を取得し、取得した画像を用いて、複数の単位カメラアレイを結合した際の補正パラメータを計算することを特徴とする。
【００２３】
第４の本発明は、複数のカメラで構成されたカメラアレイと、上記カメラアレイで撮像された画像を処理する画像処理装置とを備える画像処理システムにおいて、上記画像処理装置として第１の本発明の画像処理装置を適用したことを特徴とする。
【発明の効果】
【００２４】
本発明によれば、少ない作業量、かつ低コストで複数のカメラにより構成されるカメラアレイで撮像された画像を補正することができる。
【図面の簡単な説明】
【００２５】
【図１】実施形態に係る画像処理システムの全体構成について示した説明図である。
【図２】実施形態に係る画像処理装置が、単位カメラアレイ内の補正パラメータを算出する際の動作について示したフローチャート（その１）である。
【図３】実施形態に係る画像処理装置が、単位カメラアレイ内の補正パラメータを算出する際の動作について示したフローチャート（その２）である。
【図４】実施形態に係る画像処理装置が、単位カメラアレイ内の補正パラメータを算出する際の動作について示したフローチャート（その３）である。
【図５】実施形態に係る画像処理装置で入力を受付ける情報の構成例について示した説明図である。
【図６】実施形態に係る画像処理装置が、結合カメラアレイの補正パラメータを算出し、画像処理を行う際の動作について示したフローチャート（その１）である。
【図７】実施形態に係る画像処理装置が、結合カメラアレイの補正パラメータを算出し、画像処理を行う際の動作について示したフローチャート（その２）である。
【図８】実施形態に係る画像処理装置が、結合カメラアレイの補正パラメータを算出し、画像処理を行う際の動作について示したフローチャート（その３）である。
【図９】実施形態に係る結合カメラアレイの構成例について示したブロック図である。
【図１０】従来のカメラアレイにおけるカメラの配置と撮像される画像の例について示した説明図である。
【図１１】従来の平行化の手法における座標系について示した説明図である。
【図１２】従来の平行化の手法で用いられる平行パターンの例について示した説明図である。
【発明を実施するための形態】
【００２６】
（Ａ）主たる実施形態
以下、本発明による画像処理装置、方法及びプログラム、並びに画像処理システムの一実施形態を、図面を参照しながら詳述する。
【００２７】
（Ａ−１）実施形態の構成
図１は、この実施形態の画像処理システム１の全体構成を示すブロック図である。
【００２８】
画像処理システム１は、撮影対象オブジェクトＯＢＪを撮像するカメラ４００を複数備える結合カメラアレイ２００と、結合カメラアレイ２００で撮像された画像を処理する画像処理装置１００を有している。
【００２９】
結合カメラアレイ２００は、１又は複数の単位カメラアレイ３００を有している。そして、この実施形態の各単位カメラアレイ３００は、３つ以上のカメラ４００を有している。結合カメラアレイ２００において配置される単位カメラアレイ３００の数、及び各単位カメラアレイ３００を構成するカメラ４００の数は限定されないものである。また、各単位カメラアレイ３００を構成するカメラ４００の数は、比較的少数（例えば、３〜６台程度）であることが望ましい。各単位カメラアレイ３００では、可能な限り各カメラ４００の中心が一直線に並び、各カメラ４００の光軸方向が平行となるように配置されているものとする。
【００３０】
そして、実施形態の例では、画像処理システム１には、３つの単位カメラアレイ３００（３００−１〜３００−３）が配置されているものとする。また、この実施形態の例では、各単位カメラアレイ３００には、それぞれ３つのカメラ４００（４００−１〜４００−３）が配置されているものとする。
【００３１】
各カメラ４００にはそれぞれ、各単位カメラアレイ３００内で識別するＩＤ（以下、「カメラＩＤ」と呼ぶ）が付与されているものとする。また、各単位カメラアレイ３００にもそれぞれを識別するＩＤ（以下、「カメラアレイＩＤ」と呼ぶ）が付与されているものとする。以下では、単位カメラアレイ３００−１〜３００−３に対して１〜３のカメラアレイＩＤが付与されているものとする。また、以下では、各単位カメラアレイ３００において、各カメラ４００−１〜４００−３に対してそれぞれカメラＩＤとして１〜３のカメラＩＤが付与されているものとする。
【００３２】
なお、各単位カメラアレイ３００内の各カメラ４００は、単位カメラアレイ３００を移動させた場合（例えば、ユーザが持ち運んだ場合）でも、単位カメラアレイ３００内のカメラ間の相対的な位置関係は変化しないように固定されているものとする。また、結合カメラアレイ２００が複数の単位カメラアレイ３００を有する場合、各結合カメラアレイ２００間の位置関係を保った状態で固定可能な構成となっているものとする。なお、結合カメラアレイ２００において、各単位カメラアレイ３００内での各カメラ４００間の位置関係を保つ固定方式（固定する構成）や、各単位カメラアレイ３００間の位置関係を保つ固定方式（固定する構成）については限定されないものであり、種々の構成を適用することができる。
【００３３】
次に、画像処理装置１００の内部構成について説明する。
【００３４】
画像処理装置１００は、制御部１０１、補正パラメータ計算部１０２、単位カメラアレイ補正パラメータ計算部１０３、結合カメラアレイ補正パラメータ計算部１０４、カメラパラメータ記憶部１０５、単位カメラアレイ補正パラメータ記憶部１０６、画像補正部１０７、画像出力部１０８、及び入出力部１０９を有している。
【００３５】
画像処理装置１００は、例えば、プロセッサやメモリを有するプログラムの実施構成（コンピュータ）にプログラム（実施形態に係る画像処理プログラム）をインストールすることにより構成するようにしてもよい。なお、画像処理装置１００では、一部又は全部の処理（構成要素）について専用のハードウェア（例えば、専用のチップ等）を用いて実現するようにしてもよい。
【００３６】
制御部１０１は、画像処理装置１００内の各装置を制御するものである。
【００３７】
入出力部１０９は、ユーザインタフェースの機能を担っており、ユーザへの情報出力やユーザからの情報入力を行う。入出力部１０９としては、例えば、ディスプレイ、マウス、キーボードや、種々のデータ記録媒体（例えば、ＵＳＢメモリ等）を収容してデータの読み書きが可能なインタフェース等を用いて構成することができる。
【００３８】
制御部１０１は、結合カメラアレイ２００の構成情報を保持し、補正パラメータ計算部１０２へ入力することで、結合カメラアレイ２００を構成する各カメラ４００の補正の指示を行う。制御部１０１が、結合カメラアレイ２００の構成情報を保持する方式については限定されないものであり、例えば、入出力部１０９を用いた操作入力（ユーザからの操作入力）や、外部の装置から通信（例えば、図示しないシリアルインタフェースやネットワーク等を用いた通信）により保持するようにしてもよい。また、制御部１０１は、補正パラメータ計算部１０２から、補正パラメータの計算に必要となる平面パターンを設置すべきカメラ４００の情報（カメラアレイＩＤ及びカメラＩＤ）等を受け、これをユーザへ通知（入出力部１０９を用いて通知）する。
【００３９】
補正パラメータ計算部１０２は、制御部１０１から入力される結合カメラアレイ２００の構成情報に応じて、単位カメラアレイ補正パラメータ計算部１０３または結合カメラアレイ補正パラメータ計算部１０４で、補正パラメータ計算を行う。また、補正パラメータ計算部１０２は、計算後の補正パラメータと、各カメラ４００から取得したカメラ画像を画像補正部１０７へ供給する。
【００４０】
補正パラメータ計算部１０２は、単位カメラアレイ補正パラメータ計算部１０３と結合カメラアレイ補正パラメータ計算部１０４を有している。
【００４１】
単位カメラアレイ補正パラメータ計算部１０３は、単位カメラアレイ１０１内の平行化のための補正パラメータを計算し、得られた補正パラメータを単位カメラアレイ補正パラメータ記憶部１０６へ記録する。また、単位カメラアレイ補正パラメータ計算部１０３は、補正パラメータ計算時に得られた、各カメラ４００のカメラパラメータ（内部パラメータ、及び外部パラメータ）をカメラパラメータ記憶部１０５へ記録する。
【００４２】
結合カメラアレイ補正パラメータ計算部１０４は、複数の単位カメラアレイ３００を結合して構成された結合カメラアレイ２００の平行化のための補正パラメータを計算する。
【００４３】
カメラパラメータ記憶部１０５は、単位カメラアレイ３００内の各カメラ４００のカメラパラメータ（内部パラメータ、外部パラメータ）を記憶する。カメラパラメータ記憶部１０５で記憶される外部パラメータは、単位カメラアレイ補正パラメータ計算部１０３で補正パラメータを計算する過程で取得（推定）される。カメラパラメータ記憶部１０５で記憶される外部パラメータは、基準となるカメラ４００に対する相対位置、及び相対姿勢に関する情報を含む。
【００４４】
カメラパラメータ記憶部１０５において、カメラパラメータは、カメラアレイＩＤ、カメラＩＤ、基準となるカメラ４００のカメラＩＤとともに記録される。
【００４５】
なお、画像処理システム１では、各単位カメラアレイ３００内での各カメラ４００の位置は、基準となるカメラ４００（以下、「基準カメラ」と呼ぶ）との相対的な位置関係に基づいて管理されるものとする。以下では、各単位カメラアレイ３００内の基準カメラは、カメラ４００−１であるものとして説明する。すなわち、各単位カメラアレイ３００で基準カメラＩＤは「１」となるものとする。
【００４６】
画像補正部１０７は、結合カメラアレイ補正パラメータ計算部１０４から供給される補正パラメータとカメラ画像とを用いて、カメラ画像を補正処理する。
【００４７】
画像出力部１０８は画像補正部１０７で補正された画像を出力する。画像出力部１０８による出力形式は限定されないものであり、例えば、ディスプレイを用いて表示出力するようにしてもよいし、データ記録媒体にデータ記録（画像データを記録）するようにしてもよいし、通信により外部装置に送信（画像データを送信）するようにしてもよい。また、画像出力部１０８が、画像データを出力する場合には、所定の符号化方式により符号化した画像データを出力するようにしてもよい。
【００４８】
（Ａ−２）実施形態の動作
次に、以上のような構成を有する画像処理システム１の動作を説明する。
【００４９】
上述のように、画像処理システム１では、比較的小規模なカメラアレイ（３台程度のカメラ４００）である単位カメラアレイ３００を組み合わせ、大規模なカメラアレイとなる結合カメラアレイ２００を構成している。画像処理装置１００では、結合カメラアレイ２００内の各カメラ４００から取得される画像が平行化されるような補正パラメータを算出し、その結果を用いて補正を行う。
【００５０】
以下では、まず、画像処理装置１００において、各単位カメラアレイ３００内の補正パラメータを計算する際の動作について説明する。その後、画像処理装置１００において各単位カメラアレイ３００を組み合わせて結合カメラアレイ２００を構成した際の補正パラメータの計算および、補正の動作について説明する。
【００５１】
画像処理装置１００は、単位カメラアレイ３００内の補正パラメータを算出する際に、まず、各カメラ４００の内部パラメータ、及び外部パラメータを推定する。この実施形態の画像処理装置１００（補正パラメータ計算部１０２）は、Ｚｈａｎｇの手法（非特許文献２参照）に従い、各カメラ４００の内部パラメータ、及び外部パラメータを推定するものとする。具体的には、画像処理装置１００は、平面パターンを異なる角度から複数回（少なくとも２回）撮影することによって、実際に配置されたカメラ４００のカメラパラメータを推定する。また、画像処理装置１００は、その後、得られたカメラパラメータを用いて、理想的なカメラパラメータを算出し、実際にカメラ４００で取得された映像を理想の配置で取得した画像に補正するホモグラフィ行列（補正パラメータ）を計算する。
【００５２】
図２〜図４は、画像処理装置１００が、各単位カメラアレイ３００内の各カメラの補正パラメータを算出する動作の例について示したフローチャートである。
【００５３】
まず、制御部１０１が、ユーザから入出力部１０９を介して、結合カメラアレイ２００の構成情報の入力を受付ける（Ｓ５０１）。制御部１０１は、各単位カメラアレイ３００の構成情報（各カメラ４００の位置関係の情報を含む情報）を結合カメラアレイ２００の構成情報として入力受付する。
【００５４】
例えば、制御部１０１は、ユーザから、図５に示すような内容の入力情報を受付ける。図５に示す入力情報には、単位カメラアレイ３００−１を構成する各カメラ４００に係る、カメラアレイＩＤ、カメラＩＤ、基準カメラＩＤ、基準カメラアレイＩＤ、基準カメラからの相対位置の情報（以下、「相対位置情報」とも呼ぶ）の項目の情報が含まれている。相対位置情報とは、当該カメラ４００と、基準カメラ（基準カメラアレイＩＤ及び基準カメラＩＤに対応するカメラ４００）との理想的な位置関係を示す情報である。図５に示すように、この実施形態では、相対位置情報は、基準カメラの位置を、Ｘ方向の相対位置と、Ｙ方向の相対位置とで示している。
【００５５】
次に、制御部１０１は、単位カメラアレイ補正パラメータ計算部１０３に、取得した結合カメラアレイ２００の構成情報を供給する（Ｓ５０２）。
【００５６】
次に、制御部１０１は、平面パターンを映すべき単位カメラアレイ３００のＩＤをユーザへ通知する（Ｓ５０３）。制御部１０１は、例えば、入出力部１０９を用いて、ユーザに対して、平面パターンの設置が必要となる単位カメラアレイ３００のカメラアレイＩＤを通知するようにしてもよい。
【００５７】
次に、制御部１０１は、ユーザから、平面パターンの設置が完了した旨（通知したカメラアレイＩＤのすべてのカメラ４００に共通する画角内に、平面パターンを設置した旨）を受付ける（Ｓ５０４）。制御部１０１は、例えば、入出力部１０９を用いて、ユーザから平面パターンの設置が完了した旨を受付けるようにしてもよい。このとき用いられる平面パターンは、単位カメラアレイ３００内の各カメラ４００の共通する画角内に収まる大きさのもので良い。なお、ここで用いられる平面パターンは、従来技術と同様の平面パターン（例えば、図１２に示す平面パターン）を用いることができる。
【００５８】
次に、制御部１０１は単位カメラアレイ補正パラメータ計算部１０３に対して、平面パターンの設置が完了したことを通知する（Ｓ５０５）。
【００５９】
次に、単位カメラアレイ補正パラメータ計算部１０３は、対象の単位カメラアレイ３００を構成するカメラ４００から平面パターンが撮影された画像を取得し、一時的に保持しておく（Ｓ５０６）。
【００６０】
次に、単位カメラアレイ補正パラメータ計算部１０３は、１枚の画像取得（各カメラ４００について１枚の画像取得）が完了したことを制御部１０１へ通知する（Ｓ５０７）。
【００６１】
次に、制御部１０１は、ユーザへ１枚の画像取得が完了したことを通知する（Ｓ５０８）。
【００６２】
次に、画像処理装置１００（制御部１０１）は、上述のステップＳ５０４〜Ｓ５０８の処理（平面パターン画像の撮影処理の）を、少なくとも２回以上繰り返したか否かを確認する（Ｓ５０９）。画像処理装置１００（制御部１０１）は、平面パターン画像の撮影処理について所定回数以上完了した場合、後述するステップＳ５１０から動作し、所定回数より少ない回数しか完了していない場合には上述のステップＳ５０４の処理から動作する。なお、上述のステップＳ５０４〜Ｓ５０８の処理については、カメラパラメータの推定精度を向上させるために、２回より多い回数実行するようにしてもよい。以上の処理により、画像処理装置１００（制御部１０１）は、異なる角度から撮影した複数枚の平面パターン画像を得ることができる。
【００６３】
次に、単位カメラアレイ補正パラメータ計算部１０３は、取得した画像（上述のステップＳ５０４〜Ｓ５０８の処理で取得した画像）を用いて、単位カメラアレイ３００内の各カメラの内部パラメータ、及び外部パラメータを推定する（Ｓ５１０）。
【００６４】
以下では、単位カメラアレイ３００−ｉ（カメラアレイＩＤ＝ｉ）内のカメラ４００−ｊ（カメラＩＤ＝ｊ）の内部パラメータＫを以下の（５）式のように表記し、外部パラメータＴ、Ｒをそれぞれ以下の（６−１）式、（６−２）式のように表す。
【数２】
0006540155.tif 000003
【００６５】
次に、単位カメラアレイ補正パラメータ計算部１０３は、推定した外部パラメータの値を単位カメラアレイ内の基準カメラからの相対位置、相対姿勢へ変換する（Ｓ５１１）。
【００６６】
この実施形態の例では、単位カメラアレイ３００−１内の基準カメラのカメラＩＤは１である。したがって、カメラ４００−２（カメラＩＤ＝２）の相対位置ベクトル（以下の（７−１）参照）は、以下の（７−２）式のように計算でき、相対姿勢は以下の（７−３）式のように計算できる。以下では、カメラアレイＩＤ＝ｉ，カメラＩＤ＝ｊの基準カメラからの「相対位置、相対姿勢」を以下の（７−４）式のように表記するものとする。
【数３】
0006540155.tif 000004
【００６７】
次に、単位カメラアレイ補正パラメータ計算部１０３は全てのカメラ４００に対応する、内部パラメータ及び外部パラメータ（基準カメラからの相対位置及び相対姿勢）をカメラパラメータ記憶部１０５へ記録する。このとき、単位カメラアレイ補正パラメータ計算部１０３は、内部パラメータ及び外部パラメータについて、カメラ４００に係る情報（カメラアレイＩＤ、カメラＩＤ、及び単位カメラアレイ３００内の基準カメラＩＤ）とともに記録する（Ｓ５１２）。
【００６８】
ここまでの処理で、単位カメラアレイ補正パラメータ計算部１０３では、単位カメラアレイ３００内のすべてのカメラ４００のカメラパラメータが推定されたことになる。
【００６９】
画像処理装置１００では、以後の処理（Ｓ５１３〜Ｓ５２４）で、平行化のための補正パラメータを計算する。
【００７０】
次に、単位カメラアレイ補正パラメータ計算部１０３は理想的なカメラ配置（各単位カメラアレイ３００におけるカメラ４００の配置）におけるカメラ中心を通る軸を推定する（Ｓ５１３）。
【００７１】
単位カメラアレイ３００内のカメラ４００の数が３以上の場合、単位カメラアレイ補正パラメータ計算部１０３は、各カメラ４００の中心位置の設置誤差などから、推定されたカメラ位置の誤差が最少になるような直線を選ぶ。単位カメラアレイ補正パラメータ計算部１０３は、例えば、各カメラ４００の中心位置の共分散行列を固有値分解して得られる固有ベクトルに基づいて、推定されたカメラ位置の誤差が最少になるような直線（ベクトル）を求めることができる。単位カメラアレイ補正パラメータ計算部１０３は、任意の単位カメラアレイ３００について求めた直線のベクトルを、当該単位カメラアレイ３００における理想カメラ配置のＸ軸として取り扱うものとする。
【００７２】
次に、単位カメラアレイ補正パラメータ計算部１０３は理想カメラ配置の光軸方向を推定する（Ｓ５１４）。
【００７３】
各カメラの回転行列の各カメラ４００の行列（上記の（６−２）に示す外部パラメータＲに係る行列）の第３行ベクトル（第３行に係る平均ベクトル）が光軸ベクトルとなる。そこで、単位カメラアレイ補正パラメータ計算部１０３は、上述の光軸ベクトルを算出することで、光軸方向を推定することができる。以下では、光軸ベクトル（平均ベクトル）をｐと表すものとする。
【００７４】
次に、単位カメラアレイ補正パラメータ計算部１０３は、理想カメラ配置における、Ｙ軸を計算する（Ｓ５１５）。理想カメラ配置におけるＹ軸は、Ｘ軸方向の長さ１のベクトルｅ１とステップＳ５１４で得られた光軸ベクトルｐの外積によって得られる。以下では、Ｙ軸方向の単位ベクトルをｅ２と表す。
【００７５】
次に、単位カメラアレイ補正パラメータ計算部１０３は、理想カメラ配置における、Ｚ軸を計算する（Ｓ５１６）。理想カメラ配置におけるＺ軸は、Ｘ軸方向の単位ベクトルｅ１とＹ軸方向の単位ベクトルｅ２の外積によって得ることができる。以下では、Ｚ軸方向の単位ベクトルをｅ３と表す。
【００７６】
次に、単位カメラアレイ補正パラメータ計算部１０３は、理想カメラ配置の単位ベクトルＥを算出する（Ｓ５１７）。理想カメラ配置の単位ベクトルＥは、各軸（Ｘ軸、Ｙ軸、及びＺ軸）の単位ベクトルｅ１、ｅ２、ｅ３によってＥ＝［ｅ１｜ｅ２｜ｅ３］と表現できる。
【００７７】
次に、単位カメラアレイ補正パラメータ計算部１０３は、単位カメラアレイ３００内のすべてのカメラ４００について、実際の位置（上述の（６−１）で示される外部パラメータ）、及び実際の姿勢（上述の（６−２）で示される外部パラメータ）を理想カメラ配置での座標系に変換する（Ｓ５１８）。
【００７８】
各単位カメラアレイ３００において、理想カメラ配置の座標系の原点は基準カメラの位置となり、各軸の方向は上述のステップＳ５１３〜Ｓ５１７で求められている。したがって、単位カメラアレイ補正パラメータ計算部１０３は、実カメラ位置（上述の（６−１）で示される外部パラメータ）及び姿勢（上述の（６−２）で示される外部パラメータ）のそれぞれにＥＴをかけることで、理想カメラ配置での座標系に変換された各カメラ４００の位置（以下の（８）式に示す座標）を取得できる。
【数４】
0006540155.tif 000005
【００７９】
次に、単位カメラアレイ補正パラメータ計算部１０３は、理想カメラの内部パラメータＫｉｄｅａｌを計算する（Ｓ５１９）。Ｋｉｄｅａｌとしては、各単位カメラアレイ３００内のすべての内部パラメータの平均をとったものを適用することができる。理想的にカメラ４００が配置された単位カメラアレイ３００では、内部パラメータが全て同じであるため、補正パラメータの推定にはどのカメラ４００に対してもＫｉｄｅａｌを用いることができる。
【００８０】
次に、単位カメラアレイ補正パラメータ計算部１０３は、単位カメラアレイ３００の各カメラ４００について理想的なカメラ配置の座標系における位置及び姿勢を計算する（Ｓ５２０）。以下では、カメラアレイＩＤ＝ｉ、カメラＩＤ＝ｊのカメラ４００に係る理想的なカメラ配置の座標系で表した場合の位置、姿勢を以下の（９−１）、（９−２）式のように表すものとする。各カメラ４００の姿勢に関しては、すべてのカメラ４００が同じ方向を向くため、単位行列（以下、「Ｉ」と呼ぶ）とすることができる。また、各カメラ４００の位置は、ユーザから入力された構成情報（基準カメラからの相対位置情報）を適用することができる。
【数５】
0006540155.tif 000006
【００８１】
次に、単位カメラアレイ補正パラメータ計算部１０３は、単位カメラアレイ３００から任意のカメラ４００（カメラアレイＩＤ＝ｉ、カメラＩＤ＝ｊのカメラ４００）を選択して、理想カメラの内部パラメータ、外部パラメータ、実測した内部パラメータ及び外部パラメータに基づいて、ホモグラフィ行列Ｈijを計算する（Ｓ５２１）。単位カメラアレイ補正パラメータ計算部１０３は、例えば、理想カメラの投射行列Ｐｉｄｅａｌと、実カメラの投射行列Ｐｒｅａｌに基づいて、以下の（１０）式及び（１１）式を用いて各パラメータを求める。なお、以下の（１１）式において、Ｐ−１は疑似逆行列を示す。
Ｐｉｄｅａｌ＝ＨＰｒｅａｌ  …（１０）
Ｈ＝Ｐｉｄｅａｌ（Ｐｒｅａｌ）−１  …（１１）
【００８２】
そして、射影行列Ｐと、内部パラメータ・外部パラメータの関係は、上記の（２）式の関係となる。つまり、理想カメラの射影行列Ｐｉｄｅａｌは、既に求めたパラメータ（以下の（１２）式に示すパラメータ）から求められる。また、実カメラの射影行列も、実カメラのパラメータ（以下の（１３）式に示すパラメータ）から求めることができる。したがって、単位カメラアレイ補正パラメータ計算部１０３は、上記の（１１）式のような疑似逆列を計算することでホモグラフィ行列Ｈijを計算することができる。
【数６】
0006540155.tif 000007
【００８３】
次に、単位カメラアレイ補正パラメータ計算部１０３は、得られたホモグラフィ行列Ｈｉｊを、単位カメラアレイ補正パラメータ記憶部１０６へ記録（カメラアレイＩＤ、カメラＩＤとともに記録）する（Ｓ５２２）。
【００８４】
次に、単位カメラアレイ補正パラメータ計算部１０３は、全てのカメラ４００についてホモグラフィ行列Ｈを推定（取得）したか否かを確認する（Ｓ５２３）。単位カメラアレイ補正パラメータ計算部１０３は、ホモグラフィ行列Ｈを推定（取得）していないカメラ４００があった場合には、当該カメラ４００を選択して上述のステップＳ５２１の処理から動作し、全てのカメラ４００についてホモグラフィ行列Ｈを推定（取得）した場合には後述するステップＳ５２４から動作する。
【００８５】
次に、単位カメラアレイ補正パラメータ計算部１０３は、パラメータの推定が終了したことを制御部１０１へ通知する（Ｓ５２４）。
【００８６】
次に、制御部１０１は、入出力部１０９を用いてユーザへ補正パラメータの計算が終了したことを通知する（Ｓ５２５）。
【００８７】
画像処理装置１００では、以上のように単位カメラアレイ３００内の補正パラメータが計算される。
【００８８】
次に、画像処理装置１００が、１または複数の単位カメラアレイ３００を用いて、結合カメラアレイ２００を構成する際の補正パラメータの算出、及び補正画像の取得の動作について図６〜図８を用いて説明する。
【００８９】
まず、制御部１０１が、ユーザから結合カメラアレイ２００の構成情報の入力を受付けたものとする（Ｓ７０１）。制御部１０１は、例えば、単位カメラアレイ３００ごとに、図５に示すような構成情報の入力を受付ける。なお、画像処理装置１００において、既に、全ての単位カメラアレイ３００について構成情報の入力が行われている場合には、ステップＳ７０１の処理は省略することができる。
【００９０】
次に、制御部１０１は、結合カメラアレイ２００を構成する任意の単位カメラアレイ３００を選択し、当該単位カメラアレイ３００の構成を結合カメラアレイ補正パラメータ計算部１０４へ通知する（Ｓ７０２）。
【００９１】
次に、結合カメラアレイ補正パラメータ計算部１０４は、当該単位カメラアレイ３００の補正パラメータが計算済みかを、単位カメラアレイ補正パラメータ記憶部１０６を参照することで確認し、制御部１０１に結果を報告する（Ｓ７０３）。なお、結合カメラアレイ２００を構成する単位カメラアレイ３００の補正パラメータが計算済みでない場合、制御部１０１の制御により、単位カメラアレイ補正パラメータ計算部１０３が、当該単位カメラアレイ３００に係る補正パラメータを算出する処理（上述の図２〜図４のフローチャートの処理）を行うことになる。
【００９２】
次に、結合カメラアレイ補正パラメータ計算部１０４は、結合カメラアレイ２００を構成する単位カメラアレイ３００の数を確認する（Ｓ７０４）。結合カメラアレイ補正パラメータ計算部１０４は、結合カメラアレイ２００を構成する単位カメラアレイ３００の数が１つの場合にのみ、結合カメラアレイ２００（１つの単位カメラアレイ３００）の補正パラメータとして、単位カメラアレイ補正パラメータ記憶部１０６の補正パラメータを取得する（Ｓ７０５）。なお、結合カメラアレイ２００を構成する単位カメラアレイ３００の数が複数の場合、画像処理装置１００は後述するステップＳ７０５の処理は行わずに後述するステップＳ７０６の処理に移行する。
【００９３】
次に、結合カメラアレイ補正パラメータ計算部１０４は、結合カメラアレイ２００内のすべてのカメラ４００の補正パラメータ（結合カメラアレイ２００における補正パラメータ）が計算済みかを確認する（Ｓ７０６）。画像処理装置１００は、結合カメラアレイ２００内のすべてのカメラ４００の補正パラメータが計算済みの場合後述するステップＳ７１９から動作し、そうでない場合には後述するステップＳ７０７から動作する。なお、結合カメラアレイ２００を構成する単位カメラアレイ３００の数が１つの場合、結合カメラアレイ補正パラメータ計算部１０４は、ステップＳ７０５の処理により、結合カメラアレイ２００内のすべてのカメラ４００の補正パラメータが計算済みとなったものとして取り扱う。
【００９４】
一方、補正パラメータ（結合カメラアレイ２００における補正パラメータ）が未計算のカメラ４００があった場合、結合カメラアレイ補正パラメータ計算部１０４は、以後の処理により、結合カメラアレイ２００を構成するすべてのカメラ４００に対応する補正パラメータを計算する。このとき、結合カメラアレイの中で基準とするカメラ４００をカメラアレイＩＤ＝１，カメラＩＤ＝１のカメラ４００とする。このときの結合カメラアレイ２００の構成を図９に示す。図９に示すように、結合カメラアレイ２００では、左から順に、単位カメラアレイ３００−２、３００−１、３００−３の順（カメラアレイＩＤが２、１、３の順）に並んでいる。また、図９に示すように、各単位カメラアレイ３００内では、左から順にカメラ４００−１、４００−２、４００−３の順（カメラＩＤが、１，２，３の順）で並んでいるものとする。以降では、カメラアレイＩＤ＝ｉ，カメラＩＤ＝ｊのカメラをＣｉｊとも表記することとする。
【００９５】
次に、結合カメラアレイ補正パラメータ計算部１０４は、カメラパラメータ記憶部１０５から、結合カメラアレイ２００に含まれるすべてのカメラ４００のカメラパラメータを取得する（Ｓ７０７）。この際、結合カメラアレイ補正パラメータ計算部１０４は、単位カメラアレイ３００内の基準カメラの情報も取得する。
【００９６】
次に、結合カメラアレイ補正パラメータ計算部１０４は、単位カメラアレイ３００の間で、相対的な位置（以下、「相対位置」と呼ぶ）及び、相対的な姿勢（以下「相対姿勢」と呼ぶ）のパラメータを計測するための組となるカメラ４００（以下、「カメラペア」と呼ぶ）を選び出す（Ｓ７０８）。結合カメラアレイ補正パラメータ計算部１０４は、単位カメラアレイ３００をまたいでカメラペアを選択する。すなわち、結合カメラアレイ補正パラメータ計算部１０４は、単位カメラアレイ３００−１と単位カメラアレイ３００−２との間のカメラペア、及び単位カメラアレイ３００−１と単位カメラアレイ３００−３との間のカメラペアを選択する。なお、結合カメラアレイ２００を構成する複数の単位カメラアレイ３００は、カメラペアにより全てが直列的に連結されていれば良い。この実施形態の例では、結合カメラアレイ２００は、単位カメラアレイ３００−１〜３００−３で構成されている。したがって、単位カメラアレイ３００−１と単位カメラアレイ３００−２との間のカメラペア、及び単位カメラアレイ３００−１と単位カメラアレイ３００−３との間のカメラペアが選択されていれば、単位カメラアレイ３００−２と単位カメラアレイ３００−３との間のカメラペアの選択は省略するようにしてもよい。これは、単位カメラアレイ３００−１と単位カメラアレイ３００−２との間のカメラペア、及び単位カメラアレイ３００−１と単位カメラアレイ３００−３との間のカメラペアに基づいて相対的な関係が定まれば、単位カメラアレイ３００−２と単位カメラアレイ３００−３との間の相対的な関係も定まるためである。なお、カメラペアは配置位置が隣接する単位カメラアレイ３００同士で選択することが望ましい。また、２つの単位カメラアレイ３００間で、カメラペアを選択する際には、可能な限り距離が近いカメラ４００同士を選択することが望ましい。
【００９７】
上述の通り、結合カメラアレイ補正パラメータ計算部１０４は、計測すべきカメラペアとして、単位カメラアレイ３０をまたがるカメラペアを選択する。この実施形態の例では、結合カメラアレイ補正パラメータ計算部１０４は、計測すべきカメラペアとして（Ｃ１１，Ｃ２３）と（Ｃ１２，Ｃ３１）の２組のカメラペアを選択したものとする。以下では、選択したカメラペアのうち、基準となる側のカメラ４００を「ペア基準カメラ」と呼び、もう一方を「ペア対象カメラ」と呼ぶものとする。また、以下では、ペア対象カメラを含む単位カメラアレイ３００を「対象カメラアレイ」と呼ぶものとする。
【００９８】
次に、結合カメラアレイ補正パラメータ計算部１０４は、制御部１０１に対して、カメラペアのうち１組を選択して当該カメラペアの情報（カメラペアに係るカメラ４００のカメラアレイＩＤ及びカメラＩＤを含む情報を通知）する（Ｓ７０９）
次に、制御部１０１は、入出力部１０９を用いて、ユーザに対し、平面パターンを設置すべきカメラペア（結合カメラアレイ補正パラメータ計算部１０４から通知されたカメラペア）を通知（カメラペアの情報を通知）する（Ｓ７１０）。
【００９９】
次に、制御部１０１は、ユーザから、指定したカメラペアの両方のカメラ４００に共通する画角の位置に平面パターンを設置したことの通知を受付ける（Ｓ７１１）。
【０１００】
このとき用いられる平面パターンは、単位カメラアレイ３００の結合ペアの相対位置を計算するのに必要な平面パターンでよいため、単位カメラアレイ３００内の補正パラメータを算出する際に用いた小さな平面パターンを利用することできる。
【０１０１】
次に、制御部１０１は、結合カメラアレイ補正パラメータ計算部１０４に対して、平面パターンが設置されたことを通知する（Ｓ７１２）。
【０１０２】
次に、結合カメラアレイ補正パラメータ計算部１０４は、選択したカメラペアの画像をそれぞれ取得する（Ｓ７１３）。
【０１０３】
次に、結合カメラアレイ補正パラメータ計算部１０４は、取得したカメラペアの画像を用いて、当該カメラペアの相対位置、相対姿勢を計算する（Ｓ７１４）。
【０１０４】
結合カメラアレイ補正パラメータ計算部１０４は、カメラペアを構成するカメラ４００間のホモグラフィ行列を求め、求めたホモグラフィ行列と各カメラ４００の内部パラメータとを用いて、カメラペアの相対位置、相対姿勢を計算することができる。
【０１０５】
カメラペアを構成する各カメラ４００間のホモグラフィ行列は、取得した平面パターンの格子点を対応点とすることで求められる。（Ｃ１１，Ｃ２３）のカメラペアの例では、Ｃ１１をペア基準カメラとした場合、Ｃ１１からＣ２３のホモグラフィ行列は、内部パラメータと相対位置、相対姿勢で表すことができる。また、各カメラ４００の内部パラメータは既知であるため、計算により相対位置と相対姿勢が求まる。
【０１０６】
次に、結合カメラアレイ補正パラメータ計算部１０４は、全てのカメラペアについて、相対位置及び相対姿勢を計算したか否かを確認する（Ｓ７１５）。結合カメラアレイ補正パラメータ計算部１０４は、全てのカメラペアについて相対位置及び相対姿勢を計算した場合には、後述するステップＳ７１６から動作し、そうでない場合には未計算のカメラペアを選択して、上述のステップＳ７０８の処理から動作する。
【０１０７】
次に、結合カメラアレイ補正パラメータ計算部１０４は、得られたカメラペアの相対位置、相対姿勢の情報と、カメラパラメータ記憶部１０５から得た外部パラメータを用いて、すべてのカメラ４００の位置・姿勢の情報を、基準カメラに対する相対姿勢に変換する（Ｓ７１６）。結合カメラアレイ補正パラメータ計算部１０４は、ステップＳ７１６の処理を、結合カメラアレイ２００の基準となるカメラ４００からの距離が近いものから順に行う。
【０１０８】
なお、単位カメラアレイ３００−１（カメラアレイＩＤ＝１）内の外部パラメータは、基準カメラに対する相対位置、相対姿勢で表されているため、変換の必要はない。ここでは、基準カメラに最も近いカメラである「Ｃ２３」の補正パラメータの計算の例を示す。単位カメラアレイ３００−２（カメラアレイＩＤ＝２）内のカメラ４００に関しては、位置パラメータＴ２ｊに対して、ペア対象カメラであるカメラＣ２３の位置Ｔ２３を引くことで、Ｃ２３を基準とした相対位置を得ることができる。さらに、ステップＳ７０７で得られたカメラペアの相対位置Ｔ１１→２３を引くことでＴ１１に対する相対位置が得られる。相対姿勢についても、姿勢パラメータＲ２ｊに対して、以下の（１４−１）式に示すパラメータと、以下の（１４−２）式に示すパラメータとをかけることで得られる。
【数７】
0006540155.tif 000008
【０１０９】
以上の動作により、画像処理装置１００では、結合カメラアレイ２００に含まれるすべてのカメラ４００の位置及び姿勢が、基準カメラを原点とした相対位置、相対姿勢として表現できたこととなる。
【０１１０】
次に、画像処理装置１００は、単位カメラアレイ３００内の補正パラメータ計算における処理（上述のステップＳ５１３〜Ｓ５２１）に相当する動作を行い、結合カメラアレイ２００構成時の補正パラメータをすべてのカメラ４００について計算する（Ｓ７１７）。この動作については、適用するパラメータが基準カメラを原点とした相対位置、相対姿勢となるだけで、上述のステップＳ５１３〜Ｓ５２１と同様の処理で実現できるため、詳しい説明については省略する。
【０１１１】
以上の動作により、画像処理装置１００では、すべてのカメラ４００に対応する補正パラメータが計算されていることとなる。
【０１１２】
以後、画像処理装置１００は、補正パラメータを用いて、各カメラ４００から取得した画像を補正する動作に移行することになる。
【０１１３】
まず、結合カメラアレイ補正パラメータ計算部１０４は、各カメラ４００から画像を取得し、画像に対応する補正パラメータとともに、画像補正部１０７へ供給する（Ｓ７１８）。
【０１１４】
次に、画像補正部１０７は、得られた画像に対し、ホモグラフィ変換を行うことで、補正後の画像を得る（Ｓ７１９）。
【０１１５】
次に、画像補正部１０７は、変換後の画像を画像出力部１０８に供給して出力させる（Ｓ７２０）。
【０１１６】
次に、結合カメラアレイ補正パラメータ計算部１０４は、制御部１０１からの終了の指示（例えば、ユーザ操作に伴う終了指示）を確認する（Ｓ７２１）。画像処理装置１００は、上述の終了指示が発生するまで、上述のステップＳ７１８〜Ｓ７２１の処理を繰り返し行うことになる。
【０１１７】
以上の動作により、画像処理装置１００では、１または複数の単位カメラアレイ３００から構成される結合カメラアレイ２００の補正パラメータの計算および、補正後の映像出力の動作が可能となる。
【０１１８】
以上のように、画像処理システム１では、比較的少数の（３〜５程度）複数のカメラ４００から構成される単位カメラアレイ３００を複数用いて、大規模なカメラアレイ（結合カメラアレイ２００）を構成している。画像処理装置１００は、各単位カメラアレイ３００について、それ単体でカメラアレイとして使用できるよう、補正パラメータを計算する。画像処理装置１００は、補正パラメータの計算時に求められる各カメラ４００のカメラパラメータをカメラパラメータ記憶部１０５に記憶している。また、画像処理装置１００の結合カメラアレイ補正パラメータ計算部１０４は、結合カメラアレイ２００を構成する際の平行化のための補正パラメータを算出する。具体的には、結合カメラアレイ補正パラメータ計算部１０４は、単位カメラアレイ３００間の相対位置と相対姿勢を平面パターンに基づいて算出する。また、結合カメラアレイ補正パラメータ計算部１０４は、単位カメラアレイ３００間の相対位置・相対姿勢と、記憶しておいたカメラパラメータと併せることで、すべてのカメラ４００の位置・姿勢を同座標系で認識する。さらに、結合カメラアレイ補正パラメータ計算部１０４は、同座標系で認識されたすべてのカメラ４００の位置・姿勢に基づいて、各カメラ４００の補正パラメータを算出する。
【０１１９】
（Ａ−３）実施形態の効果
この実施形態によれば、以下のような効果を奏することができる。
【０１２０】
単位カメラアレイ３００の補正パラメータの計算を行う際に、各カメラ４００の位置・姿勢を得るために用いる平面パターンは、単位カメラアレイ３００内のカメラの共通する画角内に収まるようなものを用意すればよい。また、単位カメラアレイ３００を組み合わせて大規模なカメラアレイである結合カメラアレイ２００を構成する際には、単位カメラアレイ３００のカメラペアの相対位置を計算するのに必要な平面パターンでよいため、単位カメラアレイ３００の補正パラメータを算出する際に用いた小さな平面パターンを利用することできる。そのため、画像処理システム１では、巨大なカメラアレイを構成する際にも、大きな平面パターンや、パラメータ計算のための巨大な空間が不要となる。
【０１２１】
また、画像処理システム１では、単位カメラアレイ３００を追加することで容易にカメラアレイの構成の拡張（視点の追加）を行うことができる。また、画像処理装置１００では、単位カメラアレイ３００単体での平行化のための補正パラメータを記憶しているため、単位カメラアレイ３００自体も可搬型の小規模なカメラアレイとして使用できる。
【０１２２】
（Ｂ）他の実施形態
本発明は、上記の実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
【０１２３】
（Ｂ−１）上記の実施形態の画像処理装置１００では、内部パラメータとして焦点距離、主点の位置のみを用いたが、レンズの歪みを推定し、その歪み係数をカメラパラメータ記憶部１０５に記録し、補正する構成としてもよい。
【０１２４】
（Ｂ−２）上記の実施形態では、単位カメラアレイ３００を横（Ｘ方向）につなげることにより、直線状に配置したカメラアレイとすることとしているが、縦（Ｙ方向）につなげることで格子状の結合カメラアレイとするようにしてもよい。
【符号の説明】
【０１２５】
１…画像処理システム、２００…結合カメラアレイ、３００、３００−１〜３００−３…単位カメラアレイ、４００、４００−１〜４００−３…カメラ、１００…画像処理装置、１０１…制御部、１０２…補正パラメータ計算部、１０３…単位カメラアレイ補正パラメータ計算部、１０４…結合カメラアレイ補正パラメータ計算部、１０５…カメラパラメータ記憶部、１０６…単位カメラアレイ補正パラメータ記憶部、１０７…画像補正部、１０８…画像出力部、１０９…入出力部。
【図１】
0006540155.tif 000009
【図２】
0006540155.tif 000010
【図３】
0006540155.tif 000011
【図４】
0006540155.tif 000012
【図５】
0006540155.tif 000013
【図６】
0006540155.tif 000014
【図７】
0006540155.tif 000015
【図８】
0006540155.tif 000016
【図９】
0006540155.tif 000017
【図１０】
0006540155.tif 000018
【図１１】
0006540155.tif 000019
【図１２】
0006540155.tif 000020