(57)【特許請求の範囲】
【請求項１】
仮想位置に配された第１の撮像手段により撮像対象物を撮像して得られた基準画像データが記憶されている第１の記憶手段と、
上記撮像対象物を撮像して検出画像データを生成し、それぞれが上記仮想位置と異なる位置に配された２以上の第２の撮像手段と、
上記第１の記憶手段に記憶される基準画像データの各座標と、上記第２の撮像手段により生成された検出画像データとの対応関係から求められ、上記基準画像の各座標で観察される上記仮想位置から上記撮像対象物への視線が、上記各第２の撮像手段の撮像面に射影されることで決定されるエピポーララインが記憶されている第２の記憶手段と、
上記第２の記憶手段に記憶され、上記仮想位置上の同一視線に対応するエピポーラライン上に位置する複数の画素データからなる小領域毎に、上記第２の撮像手段により生成された各検出画像データ同士を比較して相関を検出する相関検出手段と、
上記相関検出手段により検出された相関関係に基づいて上記仮想位置と上記撮像対象物との距離を示す距離画像を生成する距離画像生成手段とを備える画像生成装置。
【請求項２】
上記第２の撮像手段により生成された各検出画像データに基づいて上記仮想位置から上記撮像対象物を撮像したときの濃淡画像を生成する濃淡画像生成手段を更に備え、
上記濃淡画像生成手段は、上記第２の撮像手段により生成された検出画像データの輝度情報を用いて濃淡画像を生成する請求の範囲第１項に記載の画像生成装置。
【請求項３】
上記仮想位置に配置された第１の撮像手段を備え、
上記第１の撮像手段は、上記撮像対象物の濃淡画像を生成し、
上記距離画像生成手段は、上記第２の撮像手段により生成された上記検出画像データに基づいて上記第１の撮像手段と上記撮像対象物との距離を示す距離画像を生成する請求の範囲第１項に記載の画像生成装置。
【請求項４】
上記撮像対象物に所定領域のパターン光を照射する発光手段と、
上記第１の撮像手段に入射される上記所定領域のパターン光を遮断するフイルタ手段とを備え、
上記第１の撮像手段は、上記撮像対象物の濃淡画像を生成し、
上記距離画像生成手段は、上記パターン光が照射された撮像対象物から反射する光を用いて上記第２の撮像手段が生成した各検出画像データに基づいて上記第１の撮像手段と上記撮像対象物との距離を示す距離画像を生成する請求の範囲第３項に記載の画像生成装置。
【請求項５】
上記相関検出手段は、上記第２の記憶手段に記憶されている各エピポーラライン上に位置する複数の画素データからなる小領域毎に、上記第２の撮像手段により生成された検出画像データ同士を比較して、距離画像を構成する少なくとも一画素からなる各画素ブロックについて各距離毎の相関を検出し、
上記距離画像生成手段は、上記相関検出手段で検出された各距離毎の相関のうち、最も相関が高い各画像データにおける距離を距離画像の画素ブロックの撮像対象物との距離とする請求の範囲第１項に記載の画像生成装置。
【請求項６】
上記最も相関が高い距離に対応するエピポーラライン上の上記各第２の撮像手段で撮像した複数の検出画像データを用いて、上記仮想位置から上記撮像対象物を撮像したときの画像データを生成する濃淡画像生成手段を備える請求の範囲第５項に記載の画像生成装置。
【請求項７】
上記相関検出手段は、上記仮想位置と上記撮像対象物との距離に対応する上記各エピポーラライン上の複数の上記検出画像データのうち、所定の距離を示す画像データ同士を比較して上記所定の距離についての相関を上記距離画像全体について検出する処理を全距離について行い、
上記距離画像生成手段は、各距離画像を構成する少なくとも一画素からなる各画素ブロック毎に、各距離毎の相関のうち、最も相関が高い各画像データにおける距離を各画素ブロックについての撮像対象物との距離とする請求の範囲第１項に記載の画像生成装置。
【請求項８】
上記最も相関が高い距離に対応するエピポーラライン上の上記各第２の撮像手段で撮像した複数の検出画像データを用いて、上記仮想位置から上記撮像対象物を撮像したときの画像データを生成する濃淡画像生成手段を備える請求の範囲第７項に記載の画像生成装置。
【請求項９】
それぞれが仮想位置と異なる位置に配された２以上の検出用撮像手段で撮像対象物を撮像して検出画像データを生成し、
仮想位置に配された撮像手段により撮像対象物を撮像して得られた基準画像データの各座標と、上記検出用撮像手段により生成された検出画像データとの対応関係から求められ、上記基準画像の各座標で観察される上記仮想位置から上記撮像対象物への視線が、上記各検出用撮像手段の撮像面に射影されることで決定されるエピポーララインを記憶する記憶手段を参照して、上記仮想位置上の同一視線に対応するエピポーラライン上に位置する複数の画素データからなる小領域毎に、上記各第２の撮像手段により生成された各検出画像データ同士を比較して相関を検出し、
検出された相関関係に基づいて上記仮想位置と上記撮像対象物との距離を示す距離画像を生成する画像生成方法。
【請求項１０】
上記検出用撮像手段により生成された各検出画像データの輝度パターンを用いて濃淡画像を生成する請求の範囲第９項に記載の画像生成方法。
【請求項１１】
上記検出用撮像手段で撮像した各検出画像データ同士を比較して画像全体の相関を検出し、
画像全体の相関関係に基づいて上記仮想位置と上記撮像対象物との距離を示す距離画像を生成する請求の範囲第９項に記載の画像生成方法。
【請求項１２】
上記仮想位置と上記撮像対象物との距離に対応する上記各エピポーラライン上の画像データ同士を比較し、
上記距離画像を構成する少なくとも一画素からなる各画素ブロックについて各距離毎の相関を検出し、
各距離毎の相関のうち、最も相関が高い各画像データにおける距離を上記仮想位置と上記撮像対象物との距離とする請求の範囲第９項に記載の画像生成方法。
【請求項１３】
上記最も相関が高い各画像データにおける距離に対応するエピポーラライン上の上記各検出用撮像手段で撮像した複数の検出画像データを用いて、上記仮想位置から上記撮像対象物を撮像したときの画像データを生成する請求の範囲第１２項に記載の画像生成方法。
【請求項１４】
上記仮想位置と上記撮像対象物との距離に対応する上記各エピポーラライン上の複数の検出画像データのうち、所定の距離を示す画像データ同士を比較して上記所定の距離についての相関を上記距離画像全体について検出する処理を全距離について行い、
各距離画像を構成する少なくとも一画素からなる各画素ブロック毎に、各距離毎の相関のうち、最も相関が高い各画像データにおける距離を各画素ブロックについての撮像対象物との距離とする請求の範囲第９項に記載の画像生成方法。
【請求項１５】
上記最も相関が高い各画像データにおける距離に対応するエピポーラライン上の上記各検出用撮像手段で撮像した複数の検出画像データを用いて、上記仮想位置から上記撮像対象物を撮像したときの画像データを生成する請求の範囲第１４項に記載の画像生成方法。
【発明の詳細な説明】
技術分野
本発明は、ステレオ法を採用して距離画像及び濃淡画像を生成する画像生成装置及び方法に関し、２台以上のカメラを用いて仮想位置と撮像対象物との距離を示す距離画像及び仮想位置から撮像対象物を撮像したときの濃淡画像を生成する画像生成装置及び方法に関する。
背景技術
一般的にステレオ法と称されている手法を用いたものとしては、例えばカメラ装置から撮像対象物までの距離情報を生成する距離計測装置が知られている。この距離計測装置は、撮像対象物の表面の三次元座標位置すなわち三次元形状を計測するために、視点の異なる複数台のカメラ装置で同一の撮像対象物を同時に撮像した画像を用い、その画像間での各画素毎に対応する対応点を求め、その視差によって距離計測装置から撮像対象物までの距離情報を得る。
従来において、仮想的な位置・向きに配置したカメラ装置で距離情報からなる距離画像と輝度情報等からなる濃淡画像とを生成する代表的な第１の手法を説明する。距離画像及び濃淡画像を生成するときには、先ず、撮像対象物を複数のカメラ装置で撮像することにより三次元計測を行う。次に、撮像対象物の空間的な座標（形状）を求める。次に、その空間内にカメラ装置を仮想的に配設し、撮像対象物の空間的な座標（形状）を用いて仮想的に配設したカメラ装置で観察されるべき距離画像を生成するとともに、濃淡画像を生成する。
つぎに、ステレオ法を採用して、一般的に撮像対象物についての距離画像を求める第２の手法ついて説明する。ここでは、説明の簡単のため、基準カメラと当該基準カメラと撮像対象物との距離を検出する検出カメラとを用い、対応点を求めて距離画像を生成する一例について説明する。
先ず、それぞれ異なる位置に配設された基準カメラ及び検出カメラで撮像対象物を撮像し、基準カメラにより得た画像データから所定領域を切り出し、当該切り出した所定領域の画像データを検出カメラの画像上で順次変移させる。このとき、検出カメラの内部パラメータや位置関係から求められるエピポーララインと称される直線上で所定領域の画像を変移させる。このように検出カメラの画像上を順次変移させることにより、基準カメラで撮像した所定領域の画像と、検出カメラで撮像した画像とを比較して一致度を求める。そして、最も一致度の高い変移位置における変移量を、切り出した所定領域の画像の中心画素における視差に設定する。そして、基準カメラの画像の各画素についてこれらの処理を繰り返すことにより、距離画像を生成する。
すなわち、図１に示すように基準カメラと検出カメラとで撮像対象物を観察し、３次元画像中の点Ｐが基準カメラによって撮像点ｎbに観察され、検出カメラによって撮像点ｎdに観察されたことがわかれば、点Ｐの３次元位置を求めることができる。ここで、基準カメラの撮像点ｎbに対応する検出カメラの撮像点ｎdであることを判断するのは容易ではなく、これをステレオ視における対応点問題と呼んでいる。
現在一般に行われている対応点を検索するときには、図１を参照して明らかなように、撮像点ｎdが基準カメラ及び検出カメラの光学中心と基準カメラの撮像点ｎbで決定される平面と検出カメラの撮像面が交わる直線上に存在している。この直線は、エピポーララインと称される。そして、基準カメラと検出カメラとの位置関係及び各カメラの固有のパラメータ（焦点距離等）が既知であれば、基準カメラの各撮像点ｎb毎に検出カメラの画像面上のエピポーララインを求めることができ、このエピポーラライン上で対応点の検索を行えばよいことになる。
ここで、基準カメラにより撮像された画像上の撮像点ｎbの対応点を検出カメラで撮像した画像上で検出する一例について述べる。このとき、図２に示すように、基準カメラの撮像点ｎb周辺の小領域１００をテンプレートとして、検出カメラの画像のエピポーラライン上の数点で相関値を求める。ここでは、エピポーララインの分解能、すなわち距離の分解能は撮像点ｎd1〜撮像点ｎd6までの６点で、これら撮像点ｎd1〜撮像点ｎd6までが基準カメラからの距離に対応する距離番号１〜６に相当する。そして、この距離番号１〜６は、基準カメラからの視線上距離に相当する。相関は、Ｉ（ｘ）を基準カメラで撮像した画像の輝度値とし、Ｉ’（ｘ’）を検出カメラで撮像した画像の輝度値とすると、以下の式１で算出される。
0004374625.tif 000002
この式１によれば、相関が大きくなるほど基準カメラで撮像した画像と検出カメラで撮像した画像との一致度が高く、相関が小さいほど一致度は低くなる。そして、この一致度に対応したパラメータを評価値とし、当該評価値とエピポーラライン上の各撮像点ｎd1〜撮像点ｎd6との関係を図３に示す。ここで評価値は、相関が小さいほど大きくなり、相関が大きいほど小さくなる値である。
この図３によれば、式１で算出される相関に基づく評価値が最も低いところに対応する撮像点ｎdを対応点とし、この場合では距離番号が「３」となる。または、前述のように各撮像点ｎdから評価値が最低点に相当する距離を決定しても良いが、評価値が最低となるところの周辺の値から、サンプリングしたデータ間を補間して最低値を求める場合もある。このように基準カメラと検出カメラとから基準カメラが撮像した画像の距離を求めることにより、輝度情報を有する濃淡画像とともに距離画像を生成している。
しかし、上述の仮想的な位置・向きに配置したカメラ装置で距離情報からなる距離画像と輝度情報等からなる濃淡画像とを生成する第１の手法では、撮像対象物を３次元の画像に展開し、この３次元に展開することにより得た３次元画像を用いて距離画像を生成するので、多大な計算量を必要とする。また、この第１の手法では、複数のカメラ装置で撮像した撮像対象物に対して３次元計測を行うときに仮想的なカメラ装置から観察することができる座標を全て撮像する必要があり、多くの視点から３次元計測を行わなければならない。さらに、第１の手法では、３次元画像を生成するときに各カメラ装置で撮像した画像を張り合わせる必要もある。
また、図１〜図３を参照して説明した第２の手法では、基準カメラで撮像した画像をテンプレートとして検出カメラで撮像した画像を変移させて検索することで距離画像を生成するので、基準カメラの存在が不可欠となる。
発明の開示
本発明の目的は、上述したような実情に鑑みて提案されたものであり、基準カメラを用いないで、検出カメラのみで本来基準カメラが配される位置から撮像対象物までの距離を示す距離画像及び基準カメラから撮像対象物を撮像したときの濃淡画像を生成することができる画像生成装置及び方法を提供することにある。
上述したような目的を達成するため、本発明に係る画像生成装置は、仮想位置に配された第１の撮像手段により撮像対象物を撮像して得られた基準画像データが記憶されている第１の記憶手段と、撮像対象物を撮像して検出画像データを生成し、それぞれが仮想位置と異なる位置に配された２以上の第２の撮像手段と、第１の記憶手段に記憶される基準画像データの各座標と、第２の撮像手段により生成された検出画像データとの対応関係から求められ、基準画像の各座標で観察される仮想位置から撮像対象物への視線が、各第２の撮像手段の撮像面に射影されることで決定されるエピポーララインが記憶されている第２の記憶手段と、第２の記憶手段に記憶され、仮想位置上の同一視線に対応するエピポーラライン上に位置する複数の画素データからなる小領域毎に、第２の撮像手段により生成された各検出画像データ同士を比較して相関を検出する相関検出手段と、相関検出手段により検出された相関関係に基づいて仮想位置と撮像対象物との距離を示す距離画像を生成する距離画像生成手段とを備えることを特徴とするものである。
このような画像生成装置によれば、２以上の撮像手段で生成した画像データを用いて、相関検出手段で各撮像手段で生成した画像データを比較し、距離画像生成手段で仮想位置と撮像対象物との距離を示す距離画像を生成する。
本発明に係る画像生成方法は、それぞれが仮想位置と異なる位置に配された２以上の検出用撮像手段で撮像対象物を撮像して検出画像データを生成し、仮想位置に配された撮像手段により撮像対象物を撮像して得られた基準画像データの各座標と、検出用撮像手段により生成された検出画像データとの対応関係から求められ、基準画像の各座標で観察される仮想位置から撮像対象物への視線が、各検出用撮像手段の撮像面に射影されることで決定されるエピポーララインを記憶する記憶手段を参照して、仮想位置上の同一視線に対応するエピポーラライン上に位置する複数の画素データからなる小領域毎に、各第２の撮像手段により生成された各検出画像データ同士を比較して相関を検出し、検出された相関関係に基づいて仮想位置と撮像対象物との距離を示す距離画像を生成することを特徴とする。
このような画像生成方法によれば、２以上の検出用撮像手段で生成した画像データを比較して相関を検出し、相関関係に基づいて仮想位置と撮像対象物との距離を示す距離画像を生成する。
本発明の更に他の目的、本発明によって得られる具体的な利点は、以下に説明される実施例の説明から一層明らかにされるであろう。
【図面の簡単な説明】
図１は、従来の手法で基準カメラ及び検出カメラを用いて基準カメラと撮像対象物との距離を示す距離情報を生成することを説明するための図である。
図２Ａは基準カメラの撮像点周辺の小領域をテンプレートすることを説明するための図であり、図２Ｂは検出カメラの画像上に設定されるエピポーラライン上の数点で相関値を求めることを説明するための図である。
図３は、評価値とエピポーラライン上の数点での位置との関係を示す図である。
図４は、本発明に係る画像生成装置の一例を示すブロック図である。
図５は、仮想点Ａにおける距離画像及び濃淡画像を生成する前提として行うキャリブレーションを行うキャリブレーション装置の一例を示すブロック図である。
図６は、基準画像の各座標に対応した各検出画像上のエピポーララインを求める一例について説明するための図である。
図７は、撮像対象物が距離Ｚ1と距離Ｚ2に存在する場合に検出カメラの画像面に観察される観察点ｎd1とｎd2とを示す図である。
図８は、本発明に係る距離画像生成部で距離画像及び濃淡画像を生成するときの前提として行うキャリブレーションの一例を説明するための図である。
図９は、キャリブレーション装置により生成されるルックアップテーブルの一例について説明するための図である。
図１０は、本発明に係る画像生成装置に備えられる距離画像生成部で距離画像及び濃淡画像を生成するときの処理の一例を示すフローチャートである。
図１１は、仮想カメラが撮像すべき画像上の座標ｎｂに対応する検出画像のエピポーラライン上の距離番号ごとの画素（ｎｄ１〜ｎｄ６）を導出することを説明するための図である。
図１２は、評価値と距離番号との関係を示す図である。
図１３は、本発明に係る画像生成装置に備えられる距離画像生成部で距離画像及び濃淡画像を生成するときの処理の他の一例を示すフローチャートである。
図１４は、本発明に係る画像生成装置に備えられる距離画像生成部で評価値画像を生成するときの処理の一例を示すフローチャートである。
発明を実施するための最良の形態
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
本発明は、例えば図４に示すように構成され、距離を測定して距離画像を生成するときに用いる画像生成装置１に適用される。この画像生成装置１は、撮像対象物２を撮像する複数の検出カメラ３（３ａ、３ｂ）と、複数の検出カメラ３で撮像した画像データが格納されるフレームメモリ４ａ、４ｂと、フレームメモリ４ａ、４ｂに格納された画像データを用いて距離画像及び濃淡画像を生成する距離画像生成部５とからなる。画像生成装置１は、検出カメラ３ａ、３ｂで撮像対象物２を撮像することにより、仮想点Ａに仮想的に配設し実在しない仮想カメラ３ｃで撮像するべき距離画像及び濃淡画像（以下、「仮想画像」と称する。）を生成するものである。
検出カメラ３ａ、３ｂは、例えばＣＣＤイメージセンサ等を備え、撮像対象物２を撮像することにより輝度情報等からなる画像（以下、「検出画像」と略す。）を生成し、当該画像データをフレームメモリ４ａ、４ｂに格納する。このとき、検出カメラ３ａ、３ｂは、生成した画像データをフレーム毎にフレームメモリ４ａ、４ｂに格納する。
検出カメラ３ａ、３ｂは、図４中の仮想点Ａとは異なる位置に複数台配設されている。本例では、検出カメラ３を検出カメラ３ａ、検出カメラ３ｂとしてそれぞれ異なる位置に配設している。なお、これらの検出カメラ３ａ、３ｂが配設される位置、台数はこれに限定されず任意に設定可能である。
フレームメモリ４は、検出カメラ３ａ、３ｂからの画像データをそれぞれフレームメモリ４ａ、４ｂに格納し、距離画像生成部５に出力する。
距離画像生成部５は、フレームメモリ４ａ、４ｂからの画像データを処理することにより、仮想カメラ３ｃで生成される仮想画像を生成する。
つぎに、上述の図４に示した画像生成装置１に備えられた距離画像生成部５で仮想点Ａにおける距離画像及び濃淡画像を生成する前提として行うキャリブレーションについて図５のキャリブレーション装置１０を参照して説明する。なお、キャリブレーション装置１０の説明において、上述の画像生成装置１と同様の部分については同一符号を付することによりその詳細な説明を省略する。
図５に示したキャリブレーション装置１０は、上述の仮想点Ａに配設された基準カメラ１１と、この基準カメラ１１で撮像した画像データが格納されるフレームメモリ１２とを備え、キャリブレーション部１３により撮像対象物２を撮像した基準カメラ１１で撮像した画像（以下、「基準画像」と称する。）及び検出カメラ３ａ、３ｂで撮像した画像（以下、「検出画像」と称する。）を用いてキャリブレーションを行う。
キャリブレーション部１３は、検出カメラ３ａ、３ｂ及び基準カメラ１１を位置決めして、検出画像上にエピポーララインを決定し、基準画像の座標と検出画像との対応関係を予め求めておき、例えば上述の距離画像生成部５にルックアップテーブルとして格納する処理を行う。
このエピポーララインは、基準カメラ１１及び検出カメラ３ａ、３ｂの光学中心（光軸）と基準カメラ１１の観察点ｎbによって決まる平面と、検出カメラ３ａ、３ｂの画像面が交わる直線である。ここで、基準画像の各座標に対応した各検出画像上のエピポーララインを求める一例について説明する。例えば図６に示すように、３次元空間に置かれた平面上の点Ｐが基準カメラ１１の基準画像で点ｎbに観察され、検出カメラ３の検出画像で点ｎdに観察されたとする。このような関係にある場合、検出画像の点ｎdは、点ｎbから点ｎdへ変換を行う３×３の射影変換行列をＨとすると、
0004374625.tif 000003
と表現される。そして、この距離画像生成部５は、この射影変換行列Ｈのパラメータを変化させながら基準カメラ１１で撮像された基準画像に対して所定の射影変換を施し、検出画像と基準画像間の輝度の誤差が最小となるように射影変換行列Ｈのパラメータを決定する。射影変換行列Ｈを求めることにより、キャリブレーション部１３は、基準画像の任意の点に対応する対応点を検出画像上から検索することが可能となる。なお、本例では、変換後の検出画像と基準画像とが正確に一致する射影変換行列Ｈを求める方法（画像合わせ込み方法）としては、Levenberg-Marquardt最小法（Ｌ−Ｍ法）を用いている。このキャリブレーション部１３は、このような手法を用いて射影変換行列Ｈを各距離毎に求め、当該射影変換行列Ｈを用いてエピポーララインを求める。
すなわち、このキャリブレーション部１３は、例えば図７に示すように、上述のＬ−Ｍ法を用いて基準位置からの距離Ｚ1についての射影変換行列Ｈ1を求めると、基準位置からの距離Ｚ1における基準画像上の点ｎbに対応する検出画像上の点ｎd1が決定できる。ここで、基準画像上の点ｎbは任意であるので、キャリブレーション部１３は、距離Ｚ1における射影変換行列Ｈ1を用いて、基準画像上の全ての点ｎbに対応する対応点を検出画像上の点ｎdとして算出することができる。キャリブレーション部１３は、同様にして、観察する平面を距離Ｚ2に、距離Ｚ1の位置に置かれていた平面と平行となるように置いた場合の射影変換行列Ｈ2を求める。
そして、キャリブレーション部１３は、距離Ｚ1及び距離Ｚ2に対応した射影変換行列Ｈ1及び射影変換行列Ｈ2により、基準画像上の点ｎbが距離Ｚ1又は距離Ｚ2にある場合には、検出画像上の点ｎd1又は点ｎd2にそれぞれ射影されることを算出する。このようにキャリブレーション部１３は、検出画像上の点ｎd1と点ｎd2との２点を補間してエピポーララインを算出することにより、基準画像上の点ｎb、距離Ｚ及び検出画像上の点ｎdとの関係を求めることができる。この射影変換行列Ｈを距離Ｚ毎に記憶しておくことにより、後述の方法を用い、画像生成装置１に備えられた仮想カメラ３ｃで生成すべき仮想画像の距離情報を得ることができる。ただし、このように補間を行うときには、距離Ｚ1と距離Ｚ2との間に位置する距離に置いた平面を設定することが必要となる。なお、上述のキャリブレーション部１３が行うキャリブレーションの例に関する詳細は、特願平９−２０７９５１号に記載されている。
つぎに、基準画像上の点ｎbと検出画像上の点ｎdとから距離Ｚを求めるには、次のようにしても良い。キャリブレーション部１３は、算出したエピポーラライン上において図６及び図７に示すキャリブレーションを行うことにより、基準画像上の点ｎbと、検出画像上の点ｎdとの関係を求め、この関係を、例えばルックアップテーブルに格納する。
このキャリブレーションは、例えば図８に示すように検出画像のエピポーラライン上における点ｎd1と光学中心とを結ぶ視線と、基準画像上の点ｎbと基準カメラ１１の光学中心とを結ぶ視線との交わる点が基準カメラ１１から撮像対象物までの距離Ｚ1に対応することを用いて行い、距離Ｚ1を距離番号「１」とする。このエピポーララインは、上述の射影変換行列Ｈを用いて算出される。また、検出画像のエピポーラライン上における点ｎd2と光学中心とを結ぶ視線と、基準画像上の点ｎbと基準カメラ１１の光学中心とを結ぶ視線との交わる点が基準カメラ１１から撮像対象物までの距離Ｚ2に対応する。このとき、距離Ｚ2を距離番号「２」とする。
このように、キャリブレーション部１３は、検出画像の点ｎd1〜ｎd6に対して順次、検出画像のエピポーラライン上における点ｎd1〜ｎd6と光学中心とを結ぶ視線と、基準画像上の点ｎbと基準カメラ１１の光学中心とを結ぶ視線との交わる点に対応する距離Ｚ1〜Ｚ6を距離番号１〜６として検出することにより、上述の画像生成装置１で行う距離画像生成の前にキャリブレーションを行う。そして、キャリブレーション部１３は、基準画像上の点ｎbと検出画像上の点ｎdとの関係から、基準画像上の点ｎbが撮像すべき画像の距離番号１〜６を得ることができる。
また、キャリブレーション部１３は、各距離Ｚ1〜距離Ｚ6について各平面を設定して基準画像上の点ｎbと検出画像上の点ｎdとの対応関係を示す各射影変換行列を生成しても良く、例えば距離Ｚ1、距離Ｚ3、距離Ｚ6の３つの距離についてのみ平面を設定して検出画像上の点ｎbと検出画像上の点ｎdとの対応関係を示す射影変換行列を求めてから、距離Ｚ1，Ｚ3，Ｚ6の間に位置する距離Ｚ2，Ｚ4についての射影変換行列を補間して求めても良い。
すなわち、このキャリブレーション部１３は、光学中心（光軸）から基準画像上の点ｎbに対応する検出画像上の点ｎdをエピポーラライン上で順次キャリブレーションすることにより、エピポーラライン上で対応点ｎd1〜ｎd6を決定することにより距離Ｚ1〜Ｚ6を決定し、対応点ｎd1〜ｎd6と距離番号１〜６との対応付けを行い、基準画像上の点ｎbと、検出画像上の点ｎdとの関係を求め、例えば図９に示すようなルックアップテーブルを作成する。
この図９においては、例えば基準画像上のある点ｎbに対応する距離（Ｚ１，Ｚ２，Ｚ３，・・・）の検出カメラ３ａが撮像した検出画像上の点（ｎｄ１，ｎｄ２，ｎｄ３，・・・）及び検出カメラ３ｂが撮像した検出画像上の点（ｎｄ１，ｎｄ２，ｎｄ３，・・・）が格納されてなる。そして、このルックアップテーブルは、例えば基準画像上の各画素毎に生成され、画像生成装置１で距離画像を生成するときに、キャリブレーション部１３における基準画像上の画素が仮想画像上の画素として参照される。
つぎに、画像生成装置１に備えられた距離画像生成部５で検出カメラ３ａ、３ｂで生成された画像データを用い、上述のキャリブレーション装置１０で生成したルックアップテーブルを参照して距離画像及び濃淡画像を生成するときの一例について図１０のフローチャートを用いて説明する。
図１０に示したフローチャートによれば、先ず、ステップＳＴ１において距離画像生成部５は、仮想カメラ３ｃの仮想画像の画像データ上の画素の座標ｉを初期化することでｉ＝０とする。
次に、ステップＳＴ２において距離画像生成部５は、キャリブレーションを行ったときの距離方向の分解能に応じた距離番号ｊを初期化することでｊ＝０としてステップＳＴ３及びステップＳＴ４に進む。
ステップＳＴ３において距離画像生成部５は、図１１に示すように、仮想カメラ３ｃが撮像すべき画像上の座標ｉ（ｎｂ）に対応する検出画像のエピポーラライン上の距離番号ｊでの画素ｎda（ｉ，ｊ）（ｎｄ１〜ｎｄ６）を導出する。すなわち、距離画像生成部５は、ステップＳＴ１で仮想カメラ３ｃが撮像すべき仮想画像上の座標ｉが決定すると、上述の処理により決定された検出カメラ３ａのエピポーラライン上の画素ｎda（ｉ，ｊ）をルックアップテーブルから検出してステップＳＴ５に進む。なお、決定された検出画像の画素ｎda（ｉ，ｊ）の位置は、整数値のみならず、サブピクセルで表現しても良い。
ステップＳＴ５において距離画像生成部５は、上述のステップＳＴ３で決定した距離番号ｊにおける画素ｎda（ｉ，ｊ）の近傍を当該画素ｎda（ｉ，ｊ）を中心に小領域ＷＡ（ｉ，ｊ）として切り出す。
一方、距離画像生成部５は、ステップＳＴ４において上述のステップＳＴ３で説明した処理を検出カメラ３ｂについても行う。すなわち、この距離画像生成部５は、仮想カメラ３ｃが撮像すべき画像上の座標ｉに対応する検出カメラ３ｂが撮像した検出画像上のエピポーラライン上の距離番号ｊでの画素ｎdb（ｉ，ｊ）をルックアップテーブルから検出してステップＳＴ６に進む。
距離画像生成部５は、ステップＳＴ６においても、上述のステップＳＴ５と同様の処理を検出カメラ３ｂについて行う。すなわち、距離画像生成部５は、上述のステップＳＴ４で決定した距離番号ｊにおける画素ｎdb（ｉ，ｊ）の近傍を当該画素ｎdb（ｉ，ｊ）を中心に小領域ＷＢ（ｉ，ｊ）として切り出す。
次に、ステップＳＴ７において距離画像生成部５は、上述のステップＳＴ５で切り出した小領域ＷＡ（ｉ，ｊ）と、ステップＳＴ６で切り出した小領域ＷＢ（ｉ，ｊ）とを比較することにより、相関を計算し、評価値ｓ（ｊ）を得る。ここで、評価値ｓ（ｊ）は、距離番号ｊにおける相関を示しており、例えば下式により算出される。
0004374625.tif 000004
相関は大きいほど小領域ＷＡ（ｉ，ｊ）と小領域ＷＢ（ｉ，ｊ）との類似度が高いことを示している。また、評価値ｓ（ｊ）は、距離画像生成部５で相関に対応して上記式２で算出されることにより、相関が大きいほど評価値は小さい値を有する。すなわち、この距離画像生成部５は、検出カメラ３ａにより生成した検出画像の小領域ＷＡ（ｉ，ｊ）と、検出カメラ３ｂにより生成した検出画像の小領域ＷＢ（ｉ，ｊ）との輝度パターンを比較することで類似度を評価値ｓ（ｊ）として生成する。
次に、ステップＳＴ８において距離画像生成部５は、距離番号ｊを認識することにより全距離番号について評価値ｓ（ｊ）を算出したか否かを判断し、全距離番号ｊについて処理をしたときにはステップＳＴ１０に進む。一方、全距離番号ｊについて処理をしていないときにはステップＳＴ９に進み、距離番号ｊをインクリメントして再びステップＳＴ３及びステップＳＴ４に進む。すなわち、距離画像生成部５は、仮想カメラ３ｃの仮想画像の画素の座標ｉに対して全距離番号ｊについて上述のステップＳＴ３〜ステップＳＴ７で説明した処理を行う。
次に、ステップＳＴ１０において距離画像生成部５は、仮想画像の座標ｉに対する全距離番号ｊについての各評価値ｓ（ｊ）のうち、最小の値を有する評価値ｓ（ｊmin）を選択する。例えば図１２に示すように距離番号１〜６に対応する評価値ｓ（ｊ）を距離画像生成部５で得たとき、距離番号が「３」が最小の値を有する評価値ｓ（ｊmin）となる。このとき、距離画像生成部５は、ステップＳＴ７で得た各評価値ｓ（ｊ）間を補間して最小の評価値ｓ（ｊmin）を求めても良い。距離画像生成部５は、補間して最小の評価値ｓ（ｊmin）を得るときには距離番号ｎdmが「３．３」を最小の評価値ｓ（ｊmin）として得る。従って、この距離画像生成部５は、補間して評価値ｓ（ｊmin）を得ることにより評価値の精度を高くすることができる。
次に、ステップＳＴ１１において距離画像生成部５は、上述のステップＳＴ１０において得た最小の値を有する評価値ｓ（ｊmin）が示す距離番号ｊに対応する距離Ｚを仮想カメラ３ｃで撮像した距離画像の座標ｉの距離情報として記憶する。
次に、ステップＳＴ１２において距離画像生成部５は、上述のステップＳＴ１０において得た最小の値を有する評価値ｓ（ｊmin）が示す距離番号ｊに対応する検出カメラ３ａで撮像した検出画像と検出カメラ３ｂで撮像した検出画像の画素の例えば片方の値又は双方の値を仮想画像の座標ｉにおける輝度情報として記憶する。
次に、ステップＳＴ１３において距離画像生成部５は、上述のステップＳＴ３〜ステップＳＴ１２までの処理を仮想カメラ３ｃ上の各座標ｉについて行うことで、仮想画像の全ての座標ｉについて距離情報及び輝度情報を求める処理がなされたかを判断する。そして、距離画像生成部５は、全ての座標ｉについて距離情報及び輝度情報が求められたと判断したときには処理を終了し、全ての座標ｉについて距離情報及び輝度情報が求められていないと判断したときには座標ｉの値をステップＳＴ１４でインクリメントしてステップＳＴ２に戻り、インクリメントした座標ｉ＋１についてステップＳＴ２〜ステップＳＴ１２までの処理を行い、全ての座標ｉについて距離情報及び輝度情報を求めるまで繰り返す。
このような距離画像生成部５を備えた画像生成装置１は、仮想カメラ３ｃで生成すべき仮想画像について、仮想位置にカメラを配置しないで、検出カメラ３ａ、３ｂのみで本来カメラが配される仮想点Ａから撮像対象物２までの距離を示す距離画像及び仮想点Ａから撮像対象物２を撮像したときの濃淡画像を生成することができる。したがって、この画像生成装置１によれば、仮想カメラ３ｃのみでは電子的に画像として生成することができない、各画素についての距離情報を有してなる距離画像を生成することができる。
また、画像生成装置１によれば、仮想的な位置に配された仮想カメラからの距離画像及び濃淡画像を生成するときに、仮想カメラからの位置に実際にカメラを位置させてキャリブレーションを行うことにより、従来のように撮像対象物の三次元空間の座標系に展開するという煩雑な処理を行う必要がなく仮想カメラで生成すべき距離画像及び濃淡画像を生成することができる。
更に、この画像生成装置１によれば、例えばユーザの正面に画像を表示するスクリーンが存在している場合であって、ユーザの正面にカメラを配置することができない状態であっても、ユーザの周囲に複数台の検出カメラ３を配置することにより、ユーザの正面から撮像して生成すべき距離画像及び濃淡画像を生成することができる。
更にまた、この画像生成装置１によれば、仮想カメラ３ｃの位置に高精細な撮像カメラ若しくは、フィルムを使用するカメラ等のように検出カメラ３ａ、３ｂとは異なるタイプのカメラを配設しても良い。このような画像生成装置１は、仮想的な位置に配された仮想カメラ３ｃと撮像対象物２との距離を測定する処理とは独立に輝度情報及び色情報からなる濃淡画像を撮像することが可能となるとともに、仮想カメラ３ｃが配設される仮想的な位置に配置された通常のカメラで撮像されている撮像対象物２の距離を測定することも可能となる。
つぎに、距離画像生成部５が検出カメラ３ａ、３ｂで生成された画像データを用いて、距離画像及び濃淡画像を生成するときの他の一例について図１３に示すフローチャートを参照して説明する。
この距離画像生成部５は、先ず、ステップＳＴ２１において、キャリブレーションを行ったときの距離方向の分解能に応じた距離番号ｊを初期化することでｊ＝０とする。
次に、ステップＳＴ２２において距離画像生成部５は、仮想カメラ３ｃの仮想画像上の各画素の座標ｉを初期化することでｉ＝０としてステップＳＴ２３及びステップＳＴ２４に進む。
ステップＳＴ２３において距離画像生成部５は、上述のステップＳＴ３と同様に仮想カメラ３ｃが撮像すべき仮想画像上の座標ｉに対応する検出カメラ３ａが撮像した検出画像上のエピポーラライン上の距離番号ｊでの画素ｎda（ｉ，ｊ）を導出してステップＳＴ２５に進む。
ステップＳＴ２５において距離画像生成部５は、上述のステップＳＴ２３において導出した画素ｎda（ｉ，ｊ）の輝度値を、視差画像Ｄａの画素Ｄａ（ｉ）として記憶する。
一方、ステップＳＴ２４において距離画像生成部５は、上述のステップＳＴ４と同様に、仮想カメラ３ｃが撮像すべき仮想画像上の座標ｉに対応する検出画像上のエピポーラライン上の距離番号ｊでの画素ｎdb（ｉ，ｊ）を導出してステップＳＴ２６に進む。
そして、距離画像生成部５は、ステップＳＴ２６において上述のステップＳＴ２４において導出した画素ｎdb（ｉ，ｊ）の輝度値を、視差画像Ｄｂの画素Ｄｂ（ｉ）として記憶する。
このように、距離画像生成部５は、ステップＳＴ２５及びステップＳＴ２６で示す処理を行うことにより、仮想画像の座標ｉ＝０において各検出カメラ３ａ、３ｂの距離番号ｊでの視差画像Ｄａ、Ｄｂの画素Ｄａ（ｉ）、Ｄｂ（ｉ）を記憶する。このとき、距離画像生成部５は、各検出画像のエピポーラライン上をキャリブレーション装置１０でキャリブレーションしたときの距離番号ｊに対応する画素Ｄａ（ｉ）、Ｄｂ（ｉ）をルックアップテーブルを参照して導出する。
次に、ステップＳＴ２７において距離画像生成部５は、距離番号ｊにおいて仮想画像の全ての座標ｉについて視差画像Ｄａ、Ｄｂの画素Ｄａ（ｉ）、Ｄｂ（ｉ）を記憶したか否かを判断する。そして、この距離画像生成部５は、全ての座標ｉについて視差画像Ｄａ、Ｄｂの画素Ｄａ（ｉ）、Ｄｂ（ｉ）と記憶したと判断したらステップＳＴ２９に進み、全ての座標ｉについて記憶していないと判断したときにはステップＳＴ２８において座標ｉをインクリメントすることにより座標ｉ＋１として再びステップＳＴ２３及びステップＳＴ２４に戻る。すなわち、距離画像生成部５は、距離番号ｊにおける全ての座標ｉについて視差画像Ｄａ、Ｄｂの画素Ｄａ（ｉ）、Ｄｂ（ｉ）を記憶するまでステップＳＴ２３〜ステップＳＴ２８までの処理を繰り返す。
ステップＳＴ２９において距離画像生成部５は、上述のステップＳＴ２３〜ステップＳＴ２８までの処理を行うことにより得た視差画像Ｄａに含まれる画素Ｄａ（ｉ、ｊ）と、視差画像Ｄｂに含まれるＤｂ（ｉ，ｊ）とを式１を用いて比較することにより、検出カメラ３ａで撮像した検出画像と検出カメラ３ｂで撮像した検出画像との相関を求め、各画素について相関に応じた評価値ｓ（ｉ，ｊ）を求める。そして、距離画像生成部５は、距離ｊにおける座標ｉの評価値ｓ（ｉ，ｊ）からなる評価値画像ｓ（ｉ，ｊ）を生成する。なお、この評価値画像Ｓ（ｉ，ｊ）を生成する処理についての詳細は後述する。
次に、ステップＳＴ３０において距離画像生成部５は、距離番号ｊを認識することにより全距離番号ｊについて評価値画像Ｓ（ｉ，ｊ）を生成したか否かを判断し、全距離番号ｊについて処理をしたときにはステップＳＴ３２に進む。一方、全距離番号ｊについて処理をしていないときにはステップＳＴ３１に進み、距離番号ｊをインクリメントして距離番号ｊ＋１とし再びステップＳＴ２３〜ステップＳＴ３１までの処理を繰り返す。
ステップＳＴ３２では、仮想カメラ３ｃの仮想画像上の各画素の座標ｉを初期化することで座標ｉ＝０とする。
次に、ステップＳＴ３３で距離画像生成部５は、上述の処理により得た座標ｉにおける各距離番号ｊ毎の評価値画像Ｓ（ｉ，ｊ）の値である評価値ｓ（ｊ）が最小となる値を検索し、最小の評価値を有する画素ｓ（ｉ，ｊmin）に対応する距離番号ｊminを導出する。また、この距離画像生成部５は、各距離番号ｊ毎の各評価値ｓ（ｊ）を補間して最小の評価値ｓ（ｊmin）を求めても良い。このように、距離画像生成部５は、補間して最小の評価値ｓ（ｊmin）を求めることにより、評価値ｓ（ｊ）の精度をより高くすることができる。
次に、ステップＳＴ３４において距離画像生成部５は、上述のステップＳＴ３３において得た最小の評価値ｓ（ｉ，ｊmin）が示す距離番号ｊminに対応する距離Ｚを仮想カメラ３ｃで撮像する距離画像の座標ｉの距離情報として記憶する。
次に、ステップＳＴ３５において距離画像生成部５は、上述のステップＳＴ３３において得た最小の評価値ｓ（ｉ，ｊmin）が示す距離番号ｊminに対応する検出カメラ３ａで撮像した検出画像と検出カメラ３ｂで撮像した検出画像の画素の輝度情報の例えば片方の値又は双方の値の平均の値を仮想画像の位置ｉにおける輝度情報として記憶する。
次に、ステップＳＴ３６において距離画像生成部５は、上述のステップＳＴ３３〜ステップＳＴ３５までの処理が仮想カメラ３ｃ上の画素の各位置ｉについて行うことで、仮想画像の全ての座標ｉについて距離情報及び輝度情報を求める処理がなされたか否かを判断する。そして、距離画像生成部５は、全ての座標ｉについて距離情報及び輝度情報が求められたと判断したときには処理を終了し、全ての座標ｉについて距離情報及び輝度情報が求められていないと判断したときには座標ｉをステップＳＴ３７でインクリメントしてステップＳＴ３３に戻り、インクリメントした座標ｉ＋１についてステップＳＴ３３〜ステップＳＴ３６までの処理を行い、全ての座標ｉについて距離情報及び輝度情報を求めるまでステップＳＴ３３〜ステップＳＴ３７の処理を繰り返す。
つぎに、上述のステップＳＴ２９で視差画像Ｄａと視差画像Ｄｂとから評価値画像Ｓ（ｉ，ｊ）を生成する一例について図１４を参照して説明する。
評価値画像Ｓ（ｉ，ｊ）を生成するときには、先ず、ステップＳＴ４１において距離画像生成部５は、評価値画像Ｓ（ｉ，ｊ）の画像の座標ｉを「０」に初期化する。
次に、ステップＳＴ４２において距離画像生成部５は、視差画像Ｄａ（ｉ）の近傍の小領域と、視差画像Ｄｂ（ｉ）の近傍の小領域との輝度パターンを比較することにより、小領域毎に評価値ｓ（ｊ）を計算する。この結果、各画素の情報としては、距離番号ｊに対応した評価値ｓ（ｊ）が存在することになる。このとき、距離画像生成部５は、上述の式１を用いて評価値ｓ（ｊ）を計算しても良い。
次に、ステップＳＴ４３において距離画像生成部５は、上述のステップＳＴ４２で計算して得た評価値を評価値画像Ｓ（ｉ，ｊ）の画素として記憶する。
次に、ステップＳＴ４４において距離画像生成部５は、画面全体について評価値画像Ｓ（ｉ，ｊ）の画素を生成したか否かを判断し、仮想画像の座標ｉより全ての画素について評価値画像Ｓ（ｉ，ｊ）の画素として記憶したら処理を終了し、座標ｉより全ての画素について評価値画像Ｓ（ｉ，ｊ）の画素として記憶していないと判断したときには座標ｉをインクリメントして座標ｉ＋１として再びステップＳＴ４２〜ステップＳＴ４３の処理を行い、結果的に全ての座標ｉについて評価値画像Ｓ（ｉ，ｊ）の画素を記憶するまで繰り返すこととなる。
このように、画像生成装置１は、仮想カメラ３ｃで生成すべき仮想画像について、仮想位置にカメラを配置しないで、検出カメラ３ａ、３ｂのみで本来カメラが配される位置から撮像対象物２までの距離を示す距離画像及び仮想カメラ３ｃから撮像対象物２を撮像したときの濃淡画像を生成することができる。
更に、この画像生成装置１は、視差画像Ｄａ（ｉ）の近傍の小領域と、視差画像Ｄｂ（ｉ）の近傍の小領域との輝度パターンを比較することにより、小領域毎に評価値ｓ（ｊ）を計算して仮想画像の座標を順次インクリメントしながら計算することにより、各距離番号毎の評価値画像Ｓ（ｉ，ｊ）を生成して最小の評価値ｓ（ｊmin）を選択して距離情報からなる距離画像及び輝度情報からなる濃淡画像を生成するので、上述の図１０若しくは図１２で示した処理よりも計算量を減らすことができる。
なお、上述のフローチャートを参照して説明した距離画像生成部５の処理においては、仮想画像の全体の座標ｉについて距離情報及び輝度情報を求める一例について説明したが、仮想画像の一部の座標ｉについて距離情報及び輝度情報を求めても良い。
また、上述のフローチャートを参照して説明した距離画像生成部５の処理の前提として行うキャリブレーション時に、例えば撮像対象の平面にパターン光を投光することにより、撮像対象物にテクスチャを貼り付けても良い。このように画像生成装置１は、キャリブレーション時に撮像対象物にテクスチャを貼り付けることにより、キャリブレーションの精度を向上させることができ、距離計測の精度を向上させることができる。
更に、この画像生成装置１は、距離計測の精度を上げるために、例えば赤外線領域のパターン光を撮像対象物に投光し、仮想カメラ３ｃを配する位置に配され赤外線遮断フィルタを備えたカメラと、その周囲に位置する検出カメラ３とから構成しても良い。このとき、キャリブレーションを行ったカメラを仮想カメラとしてそのまま用いることとなる。これにより、この画像生成装置１は、周囲の検出カメラにより赤外線領域のパターン光を受像して距離画像を生成し、仮想カメラ３ｃを配する位置に配されたカメラで濃淡画像を生成する。このとき、仮想カメラ３ｃを配する位置に配されたカメラで生成した画像をそのまま濃淡画像として利用する。
産業上の利用可能性
以上詳細に説明したように、本発明によれば、仮想位置に配された撮像手段により撮像対象物を撮像して得られた基準画像データの各座標と、検出用撮像手段により生成された検出画像データとの対応関係から求められ、基準画像の各座標で観察される仮想位置から撮像対象物への視線が、各検出用撮像手段の撮像面に射影されることで決定されるエピポーララインを記憶する記憶手段を参照して、仮想位置上の同一視線に対応するエピポーララインに位置する複数の画素データからなる小領域毎に、各第２の撮像手段により生成された各検出画像データ同士を比較して相関を検出するので、検出時においては仮想位置にカメラを配置しないで、仮想位置から撮像対象物までの距離を示す距離画像及び仮想位置から撮像対象物を撮像したときの濃淡画像を検出された相関関係に基づいて生成することができる。
【図１】
0004374625.tif 000005
【図２Ａ】
0004374625.tif 000006
【図２Ｂ】
0004374625.tif 000007
【図３】
0004374625.tif 000008
【図４】
0004374625.tif 000009
【図５】
0004374625.tif 000010
【図６】
0004374625.tif 000011
【図７】
0004374625.tif 000012
【図８】
0004374625.tif 000013
【図９】
0004374625.tif 000014
【図１０】
0004374625.tif 000015
【図１１】
0004374625.tif 000016
【図１２】
0004374625.tif 000017
【図１３】
0004374625.tif 000018
【図１４】
0004374625.tif 000019