(57)【特許請求の範囲】
【請求項１】
ステレオ法におけるステレオ対応づけのために計測対象に対して投光するパターンの画像データを生成するパターン生成装置において、
Ｍ値（Ｍは２以上の整数）の数値を項とする数列を生成する数列生成手段と、
前記数列生成手段によって生成された数列の各数値を、当該各数値に応じた階調値に変換することにより前記画像データを生成する画像データ生成手段とを備え、
前記数列生成手段は、生成する数列を構成する所定長の部分数列について、当該各部分数列によって表されるベクトルが互いに方向の異なるベクトルとなるように、前記数列を生成することを特徴とするパターン生成装置。
【請求項２】
前記画像データ生成手段は、前記数列生成手段によって生成された数列を行とし、この行を列方向に複数並べることにより行列状の画像データを生成することを特徴とする請求項１に記載のパターン生成装置。
【請求項３】
前記画像データ生成手段は、前記数列生成手段によって生成された数列を行とし、この行を前記所定長分行方向にずらしながら列方向に複数並べることにより行列状の画像データを生成することを特徴とする請求項１に記載のパターン生成装置。
【請求項４】
前記Ｍ値の数値はＮビットの数値であり、この数値を前記所定長分並べたものを２進数の候補値とみなすと、
前記数列生成手段は、前記候補値を２Ｎ倍するとともに２Ｎ−１回を超えない範囲で１加えることによって新たな候補値を得る演算を繰り返し行うとともに、新たな候補値が得られるとその候補値によって表されるベクトルが以前に得られた候補値によって表されるベクトルとは方向の異なるベクトルであるか否かを確認し、方向の異なるベクトルであった場合にその候補値を採用し、採用された候補値の下位Ｎビットを順に並べることによって前記数列を生成することを特徴とする請求項１から３の何れか１項に記載のパターン生成装置。
【請求項５】
請求項１から４の何れか１項に記載のパターン生成装置と、
前記パターン生成装置によって生成されたパターンを計測対象に対して投光する投光装置とを備えることを特徴とするパターン投光装置。
【請求項６】
請求項５に記載のパターン投光装置と、
前記パターン投光装置によってパターンが投光された計測対象を撮影するステレオ撮影装置とを備えることを特徴とする距離計測装置。
【請求項７】
請求項５に記載のパターン投光装置と、
前記パターン投光装置によってパターンが投光された計測対象を撮影するステレオ撮影装置とを備えることを特徴とする３次元形状計測装置。
【請求項８】
請求項１から４の何れか１項に記載のパターン生成装置と、
前記パターン生成装置によって生成されたパターンに応じた露光を行う露光装置とを備えることを特徴とするパターン形成装置。
【請求項９】
ステレオ法におけるステレオ対応づけのために計測対象に対して投光するパターンの画像データを生成するパターン生成方法において、
Ｍ値（Ｍは２以上の整数）の数値を項とする数列を生成する数列生成処理と、
前記数列生成処理によって生成された数列の各数値を、当該各数値に応じた階調値に変換することにより前記画像データを生成する画像データ生成処理とを含み、
前記数列生成処理では、生成する数列を構成する所定長の部分数列について、当該各部分数列によって表されるベクトルが互いに方向の異なるベクトルとなるように、前記数列を生成することを特徴とするパターン生成方法。
【請求項１０】
請求項９に記載のパターン生成方法によるパターン生成工程と、
前記パターン生成工程により生成されたパターンを光学フィルタに形成するパターン形成工程とを含むことを特徴とする光学フィルタ製造方法。
【請求項１１】
請求項９に記載のパターン生成方法により生成されたパターンを有することを特徴とする光学フィルタ。
【請求項１２】
請求項１から４の何れか１項に記載のパターン生成装置としてコンピュータを動作させるパターン生成プログラムであって、コンピュータを前記各手段として機能させることを特徴とするパターン生成プログラム。
【請求項１３】
請求項１２のパターン生成プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ステレオ法におけるステレオ対応づけのために計測対象に対して投光するパターンの画像データの生成に関するものである。
【背景技術】
【０００２】
従来、互いに異なる２つの位置から計測対象を撮影することにより得られた２つの撮影画像を用いて計測対象の３次元形状情報や計測対象までの距離情報を得る「ステレオ法」が知られている。このステレオ法では、２つの撮影画像間において生じる計測対象の結像位置ずれ（視差）を利用して、三角測量の原理に基づくことにより奥行き距離を算出する。
【０００３】
ステレオ法において視差を求めるためには、各撮影画像において互いに対応する点（対応点）を探索する必要がある。この探索を「ステレオ対応づけ」と呼ぶ。ステレオ対応づけの方法としては、ウィンドウマッチングが知られている。
【０００４】
図１２に基づいてウィンドウマッチングの処理内容を説明すれば次のとおりである。
【０００５】
まず、一方の撮影画像を第１画像Ｇ１とし、この第１画像Ｇ１において基準画素Ｐ１を設定し、その基準画素Ｐ１に対応するウィンドウＷ１を認識する。ウィンドウＷ１は、基準画素Ｐ１と、基準画素Ｐ１に対して予め定められた位置関係にある画素の集合とからなる画素領域であり、図１２の例では基準画素Ｐ１を中心とする３×３画素からなる画素領域である。
【０００６】
次に、他方の撮影画像を第２画像Ｇ２とし、この第２画像Ｇ２におけるある画素を対象画素Ｐ２としてこの対象画素Ｐ２に対応するウィンドウＷ２を認識する。ウィンドウＷ２は、基準画素Ｐ２と、基準画素Ｐ２に対して上記ウィンドウＷ１と同じように定められた位置関係にある画素の集合とからなる画素領域である。
【０００７】
そして、上記ウィンドウＷ１を構成する各画素の輝度値Ｉ１（ｉ）と、上記ウィンドウＷ２を構成する各画素の輝度値Ｉ２（ｉ）とを用いて次式（式（１））で表される正規化相関関数Ｃを算出する。
【０００８】
【数１】
0004577126.tif 000002
式（１）における「ｉ」は、ウィンドウＷ１及びウィンドウＷ２を構成する各画素をその位置によって識別するための識別番号であり、この識別番号はウィンドウＷ１とウィンドウＷ２との間において、同じルールに基づいて設定されたものである。つまり、ウィンドウＷ１とウィンドウＷ２との間において同一識別番号の２つ画素は、ウィンドウＷ１における位置とウィンドウＷ２における位置とが一致している。
【０００９】
また、式（１）における「Ｗ」は、各ウィンドウＷ１・Ｗ２を構成する画素数（ウィンドウサイズ）であり、図１２の例では３×３＝９である。
【００１０】
式（１）により算出される正規化相関関数Ｃは、上記基準画素Ｐ１に対する上記対象画素Ｐ２の類似度を示す値（−１から１の値をとる）であり、この値が大きいほど（１に近いほど）これら画素に対応関係がある可能性が高くなる。
【００１１】
そこで、第２画像Ｇ２の各画素を順次対象画素Ｐ２に設定し、上記と同じ処理によりその画素に関する正規化相関関数Ｃを算出し、正規化相関関数Ｃが最も大きくなる画素を上記基準画素Ｐ１に対応する画素とみなし、これらを対応点とする。
【００１２】
式（１）を用いる手法は正規化相関法と呼ばれており、ステレオ対応づけのための代表的手法の１つである。
【００１３】
この手法では、輝度値Ｉ１（ｉ）（ｉ＝１〜Ｗ）がＩ１’（ｉ）＝αＩ１（ｉ）＋β（α、βは実数）に変化した場合であっても同じ結果を得ることができる。つまり、輝度値Ｉ１（ｉ），Ｉ２（ｉ）（ｉ＝１〜Ｗ）により算出される正規化相関関数Ｃと、輝度値Ｉ１’（ｉ），Ｉ２（ｉ）により算出される正規化相関関数Ｃ’とは同じ値になる。
【００１４】
このことから、第１画像Ｇ１を撮影するカメラ１と、第２画像Ｇ２を撮影するカメラ２との間の出力特性の相違などにより、各画像における輝度値の間に線形的なずれが生じたとしても、このずれを吸収することにより適切な対応づけを行うことができるようになる。
【００１５】
上記ウィンドウマッチングは画素の輝度値の分布特性に基づいて対応関係を判別する手法であるため、例えば計測対象が単一色の表面をもつ物体である場合のように、計測対象の表面の輝度分布が一様であり、撮影画像において輝度値に変化の生じ難い場合には、ステレオ対応づけを行うことが困難になる。
【００１６】
これに対して、特許文献１、２及び非特許文献１には、計測対象の表面に対して所定の投光パターンを投光して計測対象の表面に模様を付すことにより、上記の問題を解消する技術が開示されている。
【００１７】
より具体的には、特許文献１には、所定の輝度階調を有する輝度ブロックをランダムに（すなわち、輝度変化に規則性がないように）配置したランダムパターンを用いることが開示されている。
【００１８】
また、特許文献２には、一様乱数や正規乱数に基づき、ドットのサイズ、線の長さ、太さ、位置、濃度等に周期性を持たない非周期的投光パターンを用いることが開示されている。また、特許文献２には、生成した投光パターンに対してパターン変化率、特徴量、分散値、パターンマッチング等による評価を行うことにより、その投光パターンの適性を判定することが開示されている。
【００１９】
また、非特許文献１には、Ｍ系列擬似乱数列に基づく投光パターン、白及び黒からなるバイナリーコードパターン、グレースケールやカラーによって表される投光パターンなどの種々の投光パターンが開示されている。
【００２０】
なお、図１２において、測定点ＭＰとカメラ１の結像点ＩＰ１とカメラ２の結像点ＩＰ２とによって形成される平面はエピポーラ平面と呼ばれ、測定点ＭＰと結像点ＩＰ１・ＩＰ２それぞれとを結ぶ直線はエピポーララインと呼ばれる。カメラ１とカメラ２との位置関係が既知であれば、対象画像Ｇ２上において、測定点ＭＰと結像点ＩＰ１とを結ぶエピポーララインの方向も分かることになるので、エピポーラライン上でのみ対応づけを行えばよいことは周知のとおりである。
【特許文献１】特開２００１−９１２４７公報（公開日２００１年４月６日）
【特許文献２】特開２００１−１４７１１０公報（公開日２００１年５月２９日）
【非特許文献１】Jordi Pages、外３名、“Overview of coded light projection techniques for automatic 3D profiling”IEEE International Conference on Robotics and Automation, ICRA 2003, pp. 133-138, Taipei, Taiwan, 14-19th September 2003
【非特許文献２】金子俊一、外３名、「増分符号相関による孔壁３次元形状のステレオ画像計測」精密工学会誌，vol.67, no.1, pp.81-85, 2001
【発明の開示】
【発明が解決しようとする課題】
【００２１】
しかしながら、上記特許文献１、２及び非特許文献１に開示されている何れの投光パターンを用いた場合でも、ウィンドウを構成する画素の輝度値を一列に並べてベクトルとみなすと、同一撮影画像における互いに異なるウィンドウに関し、それぞれに対応するベクトルが互いにスカラー倍の関係（つまり大きさは異なるが方向が同一となる関係）になる可能性がある。
【００２２】
例えば、１×３画素の画素領域からなるウィンドウを想定すると、撮影画像において、あるウィンドウに対応するベクトルが（５０，４３，２３）であり、他のウィンドウに対応するベクトルが（１００，８６，４６）となる場合がある。
【００２３】
上述したように、正規化相関関数Ｃ（式（１））を用いることにより、各撮影画像における輝度値の間に線形的なずれが生じたとしてもこのずれを吸収することができる。その反面、正規化相関関数Ｃでは、従来の投光パターンを用いることにより上記のように互いにスカラー倍の関係が生じた場合には、これらの間で誤って対応づけされる危険性がある。
【００２４】
このことは、正規化相関関数Ｃ（式（１））を用いた場合に限らず、例えば非特許文献２に示されている増分符号相関を行う場合にも該当する。
【００２５】
したがって、従来の投光パターンでは、対応点を一意に決定することができずに誤った対応づけを行う危険性があるという問題があった。
【００２６】
なお、上記特許文献２には、投光パターンの適性を判定することにより誤った対応づけがなされる危険性を低減しようとしているが、この技術では、パターンを投光してそれを撮影した後に、撮影された画像を評価し、基準に合致しなかった場合は別のパターンを作成して再度投光、撮影、評価を行うものであるので、誤った対応づけを引き起こさないようなパターンを最初から生成できるとは限らない。
【００２７】
本発明は、上記の課題を解決するためになされたものであり、その目的は、ステレオ法におけるステレオ対応づけのために計測対象に対して投光するパターンとして、より適切なパターンの生成を実現することにある。
【課題を解決するための手段】
【００２８】
本発明に係るパターン生成装置は、ステレオ法におけるステレオ対応づけのために計測対象に対して投光するパターンの画像データを生成するパターン生成装置であって、Ｍ値（Ｍは２以上の整数）の数値を項とする数列を生成する数列生成手段と、前記数列生成手段によって生成された数列の各数値を、当該各数値に応じた階調値に変換することにより前記画像データを生成する画像データ生成手段とを備え、前記数列生成手段は、生成する数列を構成する所定長の部分数列について、当該各部分数列によって表されるベクトルが互いに方向の異なるベクトルとなるように、前記数列を生成することを特徴としている。
【００２９】
上記構成では、数列生成手段によってＭ値の数値を項とする数列を生成する。ここで、Ｍ値の数値は、例えば、Ｍ＝２の場合は「０」及び「１」（２進数表示）の２値の数値となり、Ｍ＝４の場合は「００」、「０１」、「１０」及び「１１」（２進数表示）の４値の数値となる。
【００３０】
また、上記構成では、数列生成手段によって生成される数列は、生成する数列を構成する所定長の部分数列について、当該各部分数列によって表されるベクトルが互いに方向の異なるベクトル（このようにベクトルの集合においてあるベクトルが他のベクトルとは方向が異なっていることをベクトルの方向の「一意性」と称する。）となるような数列である。ここで、「所定長の部分数列」とは、数列生成手段によって生成される数列の一部をなす、連続する所定長の数列を意味する。
【００３１】
そして、上記構成では、画像データ生成手段によって上記数列の各数値を、当該各数値に応じた階調値に変換することにより画像データを生成する。
【００３２】
このようにして得られた画像データでは、上記所定長に対応する画素列の階調値によって表されるベクトルの方向は一意性を有しており互いにスカラー倍の関係にはないことから、正規化相関関数や増分符号相関関数などの評価関数（ステレオ画像間の輝度の線形的なずれを吸収する評価関数）を用いた場合に誤った対応づけがなされる危険性を低減し、的確な対応づけを行うことができる。
【００３３】
本発明に係るパターン生成装置は、上記パターン生成装置において、前記画像データ生成手段は、前記数列生成手段によって生成された数列を行とし、この行を列方向に複数並べることにより行列状の画像データを生成してもよい。
【００３４】
ステレオ法では、観測点とステレオカメラの各結像点とは三角形（エピポーラ平面）を形成するので、対応づけは三角形の１辺（エピポーラライン）上で行えばよいことになる。したがって、予めステレオカメラにおける各カメラ間の位置関係を確定しておくことによってエピポーララインの方向も知ることができるので、その方向においてステレオ対応づけを行えばよいことになる。
【００３５】
上記構成では、画像データの行方向ではベクトルの方向の一意性が確保されるので、この方向において的確な対応づけを行うことができる。したがって、この方向を上記エピポーララインの方向にあわせることによって、全体としても的確な対応づけを行うことができる。
【００３６】
本発明に係るパターン生成装置は、上記パターン生成装置において、前記画像データ生成手段は、前記数列生成手段によって生成された数列を行とし、この行を前記所定長分行方向にずらしながら列方向に複数並べることにより行列状の画像データを生成してもよい。
【００３７】
上記構成では、上記所定長分に対応する行数及び列数からなる正方行列を考えたときに、得られる画像データにおける任意の正方行列は互いにスカラー倍の関係にはないことになる。したがって、２次元的な対応づけを行うことができるようになるため、上記のようにエピポーララインを考慮しなくとも、あるいはエピポーララインに対してある程度の誤差を考慮に入れても的確な対応づけを行うことができる。
【００３８】
本発明に係るパターン生成装置は、上記パターン生成装置において、上記数列を求めるためには、例えば次のようにすればよい。すなわち、前記Ｍ値の数値はＮビットの数値であり、この数値を前記所定長分並べたものを２進数の候補値とみなすと、前記数列生成手段は、前記候補値を２Ｎ倍するとともに２Ｎ−１回を超えない範囲で１加えることによって新たな候補値を得る演算を繰り返し行うとともに、新たな候補値が得られるとその候補値によって表されるベクトルが以前に得られた候補値によって表されるベクトルとは方向の異なるベクトルであるか否かを確認し、方向の異なるベクトルであった場合にその候補値を採用し、採用された候補値の下位Ｎビットを順に並べることによって前記数列を生成することができる。
【００３９】
上記何れかのパターン生成装置と、前記パターン生成装置によって生成されたパターンを計測対象に対して投光する投光装置とを備えることにより、本発明に係るパターン投光装置を構成することができる。
【００４０】
また、前記パターン投光装置と、前記パターン投光装置によってパターンが投光された計測対象を撮影するステレオ撮影装置とを備えることによって距離計測装置を構成することもできる。
【００４１】
あるいは、前記パターン投光装置と、前記パターン投光装置によってパターンが投光された計測対象を撮影するステレオ撮影装置とを備えることによって３次元形状計測装置を構成することもできる。
【００４２】
さらに、上記何れかのパターン生成装置と、前記パターン生成装置によって生成されたパターンに応じた露光を行う露光装置とを備えることにより、本発明に係るパターン形成装置を構成することができる。
【００４３】
本発明に係るパターン生成方法は、ステレオ法におけるステレオ対応づけのために計測対象に対して投光するパターンの画像データを生成するパターン生成方法であって、Ｍ値（Ｍは２以上の整数）の数値を項とする数列を生成する数列生成処理と、前記数列生成処理によって生成された数列の各数値を、当該各数値に応じた階調値に変換することにより前記画像データを生成する画像データ生成処理とを含み、前記数列生成処理では、生成する数列を構成する所定長の部分数列について、当該各部分数列によって表されるベクトルが互いに方向の異なるベクトルとなるように、前記数列を生成することを特徴としている。
【００４４】
上記方法により得られた画像データでは、上記パターン生成装置に関して説明したように、上記所定長に対応する画素列の階調値によって表されるベクトルの方向は一意性を有しており互いにスカラー倍の関係にはないことから、正規化相関関数や増分符号相関関数などの評価関数（ステレオ画像間の輝度の線形的なずれを吸収する評価関数）を用いた場合に誤った対応づけがなされる危険性を低減し、的確な対応づけを行うことができる。
【００４５】
上記パターン生成方法によるパターン生成工程と、このパターン生成工程により生成されたパターンを光学フィルタに形成するパターン形成工程とを含むことにより、本発明に係る光学フィルタ製造方法を構成することができる。
【００４６】
また、本発明に係る光学フィルタは、上記パターン生成方法により生成されたパターンを有する光学フィルタである。
【００４７】
なお、上記何れかのパターン生成装置としてコンピュータを動作させるパターン生成プログラムであって、コンピュータを前記各手段として機能させることを特徴とするパターン生成プログラム、及びこのパターン生成プログラムを記録したコンピュータ読み取り可能な記録媒体も本発明の範疇に属する。
【発明の効果】
【００４８】
本発明に係るパターン生成装置は、Ｍ値（Ｍは２以上の整数）の数値を項とする数列を生成する数列生成手段と、数列生成手段によって生成された数列の各数値を、当該各数値に応じた階調値に変換することにより画像データを生成する画像データ生成手段とを備え、数列生成手段は、生成する数列を構成する所定長の部分数列について、当該各部分数列によって表されるベクトルが互いに方向の異なるベクトルとなるように、前記数列を生成する構成である。
【００４９】
また、本発明に係るパターン生成方法は、Ｍ値（Ｍは２以上の整数）の数値を項とする数列を生成する数列生成処理と、数列生成処理によって生成された数列の各数値を、当該各数値に応じた階調値に変換することにより画像データを生成する画像データ生成処理とを含み、数列生成処理では、生成する数列を構成する所定長の部分数列について、当該各部分数列によって表されるベクトルが互いに方向の異なるベクトルとなるように、数列を生成する方法である。
【００５０】
上記構成及び方法により得られた画像データでは、上記所定長に対応する画素列の階調値によって表されるベクトルの方向は一意性を有しており互いにスカラー倍の関係にはないことから、正規化相関関数などを用いた場合に誤った対応づけがなされる危険性を低減し、的確な対応づけを行うことができる。
【発明を実施するための最良の形態】
【００５１】
〔実施形態１〕
本発明の第１の実施形態について図１から図８に基づいて説明すると以下の通りである。
【００５２】
本実施形態の３次元形状計測装置１の構成を図１のブロック図に基づいて説明する。３次元形状計測装置１は、ステレオ法を用いて計測対象ＭＯの３次元形状を計測する装置である。
【００５３】
３次元形状計測装置１は、ステレオカメラ１１と、ステレオ画像処理装置１２と、プロジェクタ２１と、パターン生成装置２２とを備えている。
【００５４】
ステレオカメラ１１は、第１カメラ１１ａと第２カメラ１１ｂとを備えたステレオカメラであり、互いに異なる位置から計測対象ＭＯを撮影することにより、撮影画像データをそれぞれ生成するものである。
【００５５】
ステレオ画像処理装置１２は、第１及び第２カメラ１１ａ・１１ｂによって生成された各撮影画像データを用いたステレオ法によって計測対象ＭＯの３次元形状を算出するものである。より具体的には、ステレオ画像処理装置１２は、上記各撮影画像データを用いることにより、２つの撮影画像間において生じる計測対象の結像位置ずれ（視差）を利用して、三角測量の原理に基づくことにより奥行き距離を算出し、この奥行き距離から計測対象ＭＯの３次元形状を算出する。そして、ステレオ画像処理装置１２は、上記視差を求めるために、背景技術欄において説明したウィンドウマッチングによるステレオ対応づけを行う。
【００５６】
なお、ステレオカメラ１１及びステレオ画像処理装置１２は、従来より周知であるので、その詳細な構成や処理内容については説明を省略する。
【００５７】
プロジェクタ２１は、例えば液晶プロジェクタなどからなっており、パターン生成装置２２によって生成されたパターンの画像データを、そのパターンに応じた輝度の光に変換して計測対象ＭＯに対して投光する投光装置として機能するものである。
【００５８】
上記パターンは、上記ステレオ画像処理装置１２においてウィンドウマッチングによるステレオ対応づけをより的確に行えるよう、計測対象ＭＯの表面に所定の輝度分布をもたせる（計測対象ＭＯの表面をコード化する）ために投光するパターンである。
【００５９】
すなわち、ウィンドウマッチングは画素の輝度値の分布特性に基づいて２つの撮影画像間での対応関係を判別する手法であるため、計測対象ＭＯが単一色の表面をもつ場合のように、計測対象ＭＯの表面の輝度分布が一様であり、撮影画像において輝度値に変化の生じ難い場合には、ウィンドウマッチングを行うことが困難になる。このような場合であっても的確なウィンドウマッチングを行えるよう、計測対象ＭＯの表面に所定の輝度分布をもたせるために上記パターンを計測対象ＭＯの表面に投光する。
【００６０】
パターン生成装置２２は、上記パターンの画像データを生成し、プロジェクタ２１に供給するための装置である。パターン生成装置２２は、Ｍ値（Ｍは２以上の整数）の数値を項とする数列｛ａｎ｝を生成する数列生成部２２ａと、数列生成部２２ａによって生成された数列｛ａｎ｝の各数値（各項、「コード」ともいう）ａｎを、当該各数値に応じた階調値に変換することにより上記パターンの画像データを生成する画像データ生成部２２ｂと、画像データ生成部２２ｂによって生成された画像データを記憶する記憶部２２ｃと、記憶部２２ｃに記憶された画像データをプロジェクタ２１に対して出力する出力部２２ｄとを備えている。
【００６１】
なお、以下では各数値ａｎは２進数の数値であるものとして説明する。上記Ｍ値の数値は、例えば、Ｍ＝２の場合は「０」及び「１」の２値の数値となり、Ｍ＝４の場合は「００」、「０１」、「１０」及び「１１」の４値の数値となる。
【００６２】
上記数列生成部２２ａ及び画像データ生成部２２ｂにおいて行われる処理内容を図２のフローチャートに基づいて説明する。
【００６３】
まず、数列生成部２２ａはパラメータの初期設定を行い（ステップＳ１）、演算において使用するカウンタｉ，ｊ，ｎを初期値１に設定する（ステップＳ２）。
【００６４】
上記ステップＳ１の初期設定では、数列｛ａｎ｝を生成するために使用するパラメータの初期設定を行う。初期設定を行うパラメータは、階調ビットＮ、ウィンドウ幅Ｗ、候補値の初期値Ｃ１、及び所望コード長Ｌである。
【００６５】
階調ビットＮは、パターンを構成する階調数に対応したビット数であり、例えばＮ＝１ビットの場合は２１＝２階調、Ｎ＝２ビットの場合は２２＝４階調となる。ウィンドウ幅Ｗは、ウィンドウマッチングを行う際に想定するウィンドウの幅（行方向の画素数）である。所望コード長Ｌは、生成する数列｛ａｎ｝の必要項数であり、パターンの幅（行方向の画素数）に対応する。
【００６６】
数列生成部２２ａでは、これらを設定する際に、Ｌ＜＜２Ｗ×Ｎとなるように設定する。例えば、ウィンドウ幅Ｗ及び所望コード長Ｌは、実際にステレオ対応づけを行う際の状況（計測対象の大きさや計測対象とカメラとの間の距離など）に併せて設定され、数列生成部２２ａに入力される。これらの値を用いて、Ｌ＜＜２Ｗ×Ｎとなるようにビット数Ｎを設定すればよい。このとき、２Ｗ×ＮをＬよりもどの程度大きくとるべきかは経験によって設定することになるが、Ｌ＜＜２Ｗ×Ｎを一応の目安とすることにより、階調ビットＮのビット数を必要以上に大きくとってしまうことによる演算量の増大を回避することができる。
【００６７】
候補値Ｃｉは、数列｛ａｎ｝を生成する過程において用いる数値であり、Ｎビットの数値をＷ個分並べてこれを２進数の数値とみなした、（Ｎ×Ｗ）桁の２進数の数値である。例えば、Ｎ＝１、Ｗ＝３の場合は「ｘｘｘ」（ｘは０又は１）であり、Ｎ＝２、Ｗ＝３の場合は「ｘｘｘｘｘｘ」である。この候補値Ｃｉは、Ｎビットの数値を要素とするＷ次元のベクトルとみなすこともできる。例えば、Ｎ＝１、Ｗ＝３の場合はベクトル（ｘ，ｘ，ｘ）とみなすことができ、Ｎ＝２、Ｗ＝３の場合はベクトル（ｘｘ，ｘｘ，ｘｘ）とみなすことができる。
【００６８】
そして、候補値の初期値Ｃ１は、演算の開始時に設定される任意の候補値Ｃｉである。また、採用値Ｅｎは、所定の条件を満たすことにより採用された候補値Ｃｉである。
【００６９】
また、数列生成部２２ａには、フラグＦｋの数列｛Ｆｋ｝（ｋは０〜２ＮＷ−１）が予め準備されている。このフラグＦｋは、候補値Ｃｉに対応するものであり（ｋ＝ＣｉのときのＦｋとＣｉとが対応）、対応する候補値Ｃｉに関して後述するステップＳ５の処理を既に行った（Ｆｋ＝１）か否か（Ｆｋ＝０）を示すものである。
【００７０】
上記パラメータの初期設定（ステップＳ１）及びカウンタの初期化（ステップＳ２）の実行後、まず、フラグＦＣｉが０か否かを判定し（ステップＳ３）、０である場合（ステップＳ３、ＹＥＳ）にはフラグＦＣｉに１を設定（ステップＳ４）した後、後述するステップＳ５に移り、０ではない場合（ステップＳ３、ＮＯ）にはステップＳ４・Ｓ５を省略して後述するステップＳ６に移る。
【００７１】
ステップＳ５では、候補値Ｃｉをベクトルとみなしたときに、そのベクトルの方向が既に得られた採用値Ｅｎに対して一意性を有しているか否かを判定する。ベクトルの方向が一意性を有しているとは、当該ベクトルが所定のベクトルの集合における他のベクトルとは方向が異なっていることを意味する。したがって、上記ステップＳ５では、候補値Ｃｉのベクトルが、既に得られた採用値Ｅｎそれぞれに対応するベクトルとは方向が異なっているか否かを判定することになる。
【００７２】
候補値Ｃｉのベクトルの方向が一意性を有していない場合には（ステップＳ５、ＮＯ）、ステップＳ６に移り、未だ０に設定されているフラグＦｋが存在するか否かを判定する（ステップＳ６）。
【００７３】
未だ０に設定されているフラグＦｋが存在する場合には（ステップＳ６、ＹＥＳ）、候補値Ｃｉに対して１を加算することにより候補値Ｃｉを更新して（ステップＳ８・Ｓ９）上記ステップＳ３からの処理を繰り返すのであるが、この繰り返しが（２Ｎ−１）回を超えないようにする（ステップＳ７・Ｓ１０）。
【００７４】
なお、上記候補値Ｃｉはその桁数が（Ｎ×Ｗ）桁に定められているので、上記更新において桁あふれが生じる場合がある。その場合には更新後の下（Ｎ×Ｗ）桁を新たな候補値Ｃｉとすればよい。換言すると、候補値Ｃｉに対して１を加算した結果を２ＷＮで除し、その余りを新たな候補値Ｃｉとすればよい。
【００７５】
上記ステップＳ３〜Ｓ１０の処理において、ベクトルの方向が一意性を有する候補値Ｃｉが得られた場合には（ステップＳ５、ＹＥＳ）、その候補Ｃｉを採用値Ｅｎとして採用する（ステップＳ１１）。そして、採用値Ｅｎの数ｎがＬ個に達しているか否かを判定し（ステップＳ１２）、達していない場合には（ステップＳ１２、ＮＯ）、未だ０に設定されているフラグＦｋが存在するか否かを判定し（ステップＳ１３）、未だ０に設定されているフラグＦｋが存在する場合には（ステップＳ１３、ＹＥＳ）、カウンタｎをインクリメントするとともに（ステップＳ１４）、候補値Ｃｉに対して２Ｎを乗算することにより候補値Ｃｉを更新し（ステップＳ１５・Ｓ１６）、カウンタｊを１に初期化して（ステップＳ１７）、再度上記ステップＳ３からの処理を繰り返す。
【００７６】
なお、上記候補値Ｃｉの更新についても、上記ステップＳ９の場合と同じく、桁あふれが生じた場合には更新後の下（Ｎ×Ｗ）桁を新たな候補値Ｃｉとすればよい。換言すると、候補値Ｃｉに対して２Ｎを乗算した結果を２ＷＮで除し、その余りを新たな候補値Ｃｉとすればよい。
【００７７】
一方、上記ステップＳ９の更新を（２Ｎ−１）回繰り返してもなお候補値Ｃｉが一意性を有さない場合には（ステップＳ７、ＮＯ）、上記ステップＳ１５へ移ってそこからの処理を行う。
【００７８】
このようにして候補値Ｃｉを更新しつつ一意性を有する候補値Ｃｉを採用値Ｅｎとして採用していくことにより、採用値Ｅｎの数ｎがＬ個に達すると、各採用値Ｅｎの下位Ｎビットをそれぞれ数列｛ａｎ｝の各項ａｎとすることにより、数列｛ａｎ｝を生成する（ステップＳ１８）。
【００７９】
また、採用値Ｅｎの数ｎがＬ個に達することなく、０に設定されているフラグＦｋが存在しなくなった場合には（ステップＳ６・Ｓ１３、ＮＯ）、これ以上処理を続けても新たな採用値が得られる見込みはないので、無限ループに陥ることを回避するために、上記ステップＳ１８に移る。このとき、生成される数列｛ａｎ｝は必要項数を満たさないことになる。これは、上述したＬ＜＜２Ｗ×Ｎの関係においてＬに対して十分大きな２Ｗ×Ｎが設定されなかったことに起因するので、階調ビットＮ及び／又はウィンドウ幅Ｗをより大きな値に再設定して再度最初から処理を行えばよい。
【００８０】
以上のステップＳ１〜Ｓ１８の処理は数列生成部２２ａによって実行される。
【００８１】
次に、画像データ生成部２２ｂにより、上記数列｛ａｎ｝の各項ａｎの値を、それぞれの値に応じた階調値へ変換する（ステップＳ１９）。この変換は、異なる値が同一階調値に変換されてしまうことさえ避ければどのような変換であってもよい。なお、２つの階調値があまりにも近い値に設定されると、それらを撮影画像において区別する処理（しきい値処理）が困難になるので、ある程度分散するように階調値を設定することが望ましい。
【００８２】
上記のようにして得られた数列｛ａｎ｝において、この数列｛ａｎ｝を構成し、かつ、連続するＷ個分の部分数列を考えたときに、任意の部分数列によって表されるベクトルの方向は、他の任意の部分数列によって表されるベクトルの方向と異なる、すなわち一意性を有するものになることが分かっている。
【００８３】
したがって、数列｛ａｎ｝の各項ａｎの値をそれぞれの値に応じた階調値へ変換して得られた画像データでは、ウィンドウ幅Ｗに対応する画素列の階調値によって表されるベクトルの方向は一意性を有しており互いにスカラー倍の関係にはないことから、ステレオ画像処理装置１２において正規化相関関数を用いたウィンドウマッチングを行う際に誤った対応づけがなされる危険性が低減され、的確な対応づけが実現される。
【００８４】
なお、このことは、正規化相関関数を用いた場合に限らず、増分符号相関関数などの他の評価関数（ステレオ画像間の輝度の線形的なずれを吸収する評価関数）を用いた場合にも該当する。
【００８５】
また、画像データ生成部２２ｂは、上記のようにして得られた１行分の画像データを用いて、行列状の画像データを生成する（ステップＳ２０）。
【００８６】
行列状の画像データを生成するための１つの手法として、上記１行分の画像データをそのまま列方向に複数並べるようにすることができる。これにより得られた画像データは、エピポーララインを考慮した対応づけにおいて利用することができる。
【００８７】
すなわち、ステレオ法では、観測点とステレオカメラ１１の各結像点とは三角形（エピポーラ平面）を形成するので、対応づけは三角形の１辺（エピポーラライン）上で行えばよいことになる。したがって、予めステレオカメラ１１における第１及び第２カメラ１１ａ・１１ｂ間の位置関係を確定しておくことによってエピポーララインの方向も知ることができるので、その方向においてステレオ対応づけを行えばよいことになる。
【００８８】
上記画像データの行方向ではベクトルの方向の一意性が確保されるので、この方向において的確な対応づけを行うことができる。したがって、この方向を上記エピポーララインの方向にあわせることによって、全体としても的確な対応づけを行うことができる。
【００８９】
なお、この場合、上記１行分の画像データを列方向に複数並べることなく、１行分の画像データをそのまま用いてもよい。
【００９０】
また、行列状の画像データを生成するための他の手法として、上記１行分の画像データをウィンドウ幅Ｗ分行方向にずらしながら列方向に複数並べるようにすることができる（なお、ずらすことによって一方の端部側にはみ出る部分は、他方の端部側に付け足す）。これにより得られた画像データは、当該画像データにおいてウィンドウ幅Ｗ分に対応する行数及び列数からなる正方行列を考えたときに、任意の正方行列は互いにスカラー倍の関係にはないことになる。したがって、２次元的な対応づけを行うことができるようになるため、上記のようにエピポーララインを考慮しなくとも、あるいはエピポーララインに対してある程度の誤差を考慮に入れても的確な対応づけを行うことができる。
【００９１】
なお、本明細書における「行方向」及び「列方向」は、行列状の配列において互いに直行する方向を意味しているに過ぎない。つまり、行方向及び列方向は、画像の横方向及び縦方向にそれぞれ対応していてもよく、画像の縦方向及び横方向にそれぞれ対応していてもよい。
【００９２】
上記処理内容を具体的数値を用いて示すと図３のようになる。図３の例では、階調ビットＮ＝１、ウィンドウ幅Ｗ＝３、及び候補値の初期値Ｃ１＝０００としている。以下では、図２のフローチャートを参照しつつ、図３の処理内容について説明する。
【００９３】
図３の例において、候補値Ｃ１＝０００はベクトル（０，０，０）とみなされ、このベクトルは任意のベクトルと同一方向と考えることができるので、一意性を有さないものとして採用値とはしない（ステップＳ５、ＮＯ）。ステップＳ７・Ｓ８を経てステップＳ９において得られた候補値Ｃ２＝００１はベクトル（０，０，１）とみなされ、このベクトルと同一方向のベクトルは未だ採用値として採用されていないので（ステップＳ５、ＹＥＳ）、この候補値Ｃ２＝００１を採用値Ｅ１として採用する（ステップＳ１１）。その後、ステップＳ１２〜Ｓ１５を経てステップＳ１６において得られた候補値Ｃ３＝０１０はベクトル（０，１，０）とみなされ、このベクトルと同一方向のベクトルは未だ採用値として採用されていないので（ステップＳ５、ＹＥＳ）、この候補値Ｃ３＝０１０を採用値Ｅ２として採用する（ステップＳ１１）。候補値Ｃ４＝１００についても同様にステップＳ８において採用値Ｅ３として採用する。その後ステップＳ１２〜Ｓ１５を経てステップＳ１６において得られた候補値Ｃ６＝００１はベクトル（０，０，１）とみなされ、既に採用された採用値Ｅ１と同一方向のベクトルとなるので、一意性を有さないものとして採用値とはしない（ステップＳ５、ＮＯ）。
【００９４】
以上のような判断を行うことにより、候補値Ｃ２・Ｃ３・Ｃ４・Ｃ８・Ｃ９・Ｃ１１・Ｃ１５は、それぞれ採用値Ｅ１〜Ｅ７として採用される。
【００９５】
なお、上記ステップＳ５における判定（ベクトルの方向の一意性の判定）に関し、Ｎ＝１の場合には、採用値Ｅｎとして得られる数値を１０進表記してその数値が既に表れたか否かによって判定することができる。
【００９６】
このようにして採用された採用値Ｅ１〜Ｅ７それぞれの下位Ｎ（＝１）ビットを順に数列｛ａｎ｝の各項ａｎとすることにより、数列｛ａｎ｝＝｛１，０，０，１，０，１，１｝が得られる。
【００９７】
このようにして得られた数列｛ａｎ｝＝｛１，０，０，１，０，１，１｝の各項ａｎの値「１」及び「０」を、例えばそれぞれ階調値「１５０」及び「５０」へ変換することにより、画像データ｛１５０，５０，５０，１５０，５０，１５０，１５０｝を得ることができる。この画像データでは、ウィンドウ幅Ｗ＝３の部分数列に対応する任意の画素列の階調値によって表されるベクトル（１５０，５０，５０）、（５０，５０，１５０）、（５０，１５０，５０）、（１５０，５０，１５０）、（５０，１５０，１５０）はそれぞれその方向の一意性を有していることになる。
【００９８】
なお、数列｛ａｎ｝＝｛１，０，０，１，０，１，１｝を繰り返し並べることにより、｛１，０，０，１，０，１，１，１，０，０，１，０，１，１｝という数列を得ることができ、この数列から、最初の部分数列（ウィンドウ幅Ｗ＝３の部分数列）である｛１，０，０｝と同一の部分数列が再び表れないように後ろの５つの項を削除すると、｛１，０，０，１，０，１，１，１，０｝という数列を得ることができる。この数列の各項の値「１」及び「０」を、それぞれ階調値「１５０」及び「５０」へ変換することにより、画像データ｛１５０，５０，５０，１５０，５０，１５０，１５０，１５０，５０｝を得ることができ、この画像データに関しても、ウィンドウ幅Ｗ＝３の部分数列に対応する任意の画素列の階調値によって表されるベクトル（１５０，５０，５０）、（５０，５０，１５０）、（５０，１５０，５０）、（１５０，５０，１５０）、（５０，１５０，１５０）、（１５０，１５０，１５０）、（１５０，１５０，５０）はそれぞれその方向の一意性を有していることになる。したがって、このようにして得られた画像データを用いてもよい。
【００９９】
このようにして得られた１行分の画像データを、上記のようにそのまま列方向に複数並べることにより図４に示す画像データを得ることができ、ウィンドウ幅Ｗ分、つまり３画素ずつ行方向にずらしながら列方向に複数並べることにより図５に示す画像データを得ることができる。図５の画像データでは、ウィンドウ幅Ｗ分に対応する行数及び列数からなる正方行列、つまり３行３列からなる正方行列（例えば図５中太線で囲んだ行列）を考えたときに、任意の正方行列は互いにスカラー倍の関係にはないことになる。
【０１００】
以上では、説明の簡単のために階調ビットＮ＝１、つまりパターンの階調が２値（２階調）の場合について説明しているので、同一方向のベクトルは長さも同一のベクトルとなるが、より多階調の場合には、例えばベクトル（５０，１００，１５０）とベクトル（１０，２０，３０）のように、互いに長さは異なっていても同一方向となる２つのベクトルも考えられる（このようなベクトルは、正規化相関法のもとではともに平均が０であり分散が１となる（−１，０，１）という値に正規化されてしまい、区別できない）。
【０１０１】
従来のように一様乱数や正規乱数を用いてランダムパターンを生成する方法では、上記のように互いに長さは異なっていても同一方向となる２つのベクトルの発生を避けることはできないが、上記処理を行うパターン生成装置２２では、互いに長さは異なっていても同一方向となる２つのベクトルの発生を排除することができる。
【０１０２】
上記図２の処理によって生成される数列｛ａｎ｝は、上述したベクトルの方向の一意性という制約のもとで最大周期をもつことになり、このため、より少ない情報量で必要な数列｛ａｎ｝を生成することが可能である。
【０１０３】
なお、上記図２の処理において、候補値の初期値Ｃ１を０００とすることによって生成される数列｛ａｎ｝の、最初のＷ項分を２進数の数値とみなしたとき、この数値は必ず２（ＮＷ−１）によって算出される値（２進数の値）となるのが特徴である（例えば、図３の具体例の場合は、Ｎ＝１、Ｗ＝３であり、２（ＮＷ−１）＝４、つまり２進数表示では１００）。
【０１０４】
図６に、３次元形状計測装置１を用いて行った計測結果を示す。図６には、比較のため、パターンの投光を行わない場合、及び縞状のパターンを投光した場合の計測結果も併せて示す。計測対象として、一様な色の表面（Non-texture表面）を有する球体を用いている。本実施形態のパターンとしては、階調ビットＮ＝１、ウィンドウ幅Ｗ＝１０のものを用いている。
【０１０５】
図６の計測結果から分かるように、パターン投光なしの場合、及び縞状パターンを用いた場合には的確な対応づけが行われていない結果正しい計測結果が得られないのに対し、本実施形態のパターンを用いた場合には的確な対応づけにより結果正しい計測結果を得ることができた。
【０１０６】
これは、図７に示すように、パターン投光なしの場合は偽の対応づけ候補が多数存在する結果、正しい計測結果を得ることが困難であり、縞状パターンを用いた場合は偽の対応づけ候補が存在し得ることから誤った計測結果を得る危険性があるのに対し、本実施形態のパターンを用いた場合には、対応づけ候補を一意に絞ることができるので、計測誤りを回避することができるためである。
【０１０７】
なお、パターン生成装置２２において数列｛ａｎ｝を生成する処理は上述した処理には限られない。他の処理としては例えば、Ｍ系列などの擬似乱数列を発生させておき、その擬似乱数列をその先頭から１項ずつずらしながらウィンドウ幅Ｗで区切っていき、区切られた数列によって形成されるベクトルの方向が一意性を有しているか否かを順に確認し、一意性を有しているベクトルを残し、一意性を有していないベクトルを排除していくことにより数列｛ａｎ｝を生成してもよい。
【０１０８】
パターン生成装置２２の上記各ブロックは、ハードウェアによって構成してもよく、パーソナルコンピュータなどのコンピュータにおいてパターン生成プログラムを実行することによってソフトウェアによって実現してもよい。
【０１０９】
すなわち、パターン生成装置２２は、この装置の各機能を実現するパターン生成プログラムの命令を実行するＣＰＵ（central processing unit）、上記プログラムを格納したＲＯＭ（read only memory）、上記プログラムを展開するＲＡＭ（random access memory）、上記プログラムおよび各種データを格納するメモリ等の記憶装置などを備えたコンピュータによって実現することもできる。
【０１１０】
つまり、本発明の目的は、上述した機能を実現するソフトウェアであるパターン生成プログラムのプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）をコンピュータで読み取り可能に記録した記録媒体を、コンピュータに供給し、そのコンピュータが記録媒体に記録されているプログラムコードを読み出し実行することによっても達成可能である。
【０１１１】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー（登録商標）ディスク／ハードディスク等の磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ／ＣＤ−Ｒ等の光ディスクを含むディスク系、ＩＣカード（メモリカードを含む）／光カード等のカード系、あるいはマスクＲＯＭ／ＥＰＲＯＭ／ＥＥＰＲＯＭ／フラッシュＲＯＭ等の半導体メモリ系などを用いることができる。
【０１１２】
また、パターン生成装置２２を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、ＬＡＮ、ＩＳＤＮ、ＶＡＮ、ＣＡＴＶ通信網、仮想専用網（virtual private network）、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、ＩＥＥＥ１３９４、ＵＳＢ、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ回線等の有線でも、ＩｒＤＡやリモコンのような赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、８０２．１１無線、ＨＤＲ、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【０１１３】
本実施形態ではパターン生成装置２２とステレオ画像処理装置１２とを別々の装置によって構成するものとして説明しているが、同一装置にパターン生成装置２２の機能とステレオ画像処理装置１２の機能とをもたせてもよい。例えば、１つのコンピュータにおいてパターン生成装置２２の機能と、ステレオ画像処理装置１２の機能とをソフトウェアによって実現してもよい。
【０１１４】
３次元形状計測装置１では、ステレオカメラ１１における第１及び第２カメラ１１ａ・１１ｂの位置関係が既知である場合には、その位置関係に基づいてエピポーララインを求めることができる。一方、第１及び第２カメラ１１ａ・１１ｂの位置関係が未知の場合には、計測を実行する前に予め３次元形状が既知の物体（例えば平板）を計測対象として計測を行い、その計測結果から第１及び第２カメラ１１ａ・１１ｂの位置関係を逆算するというキャリブレーションを行っておけばよい。
【０１１５】
なお、通常のキャリブレーションにおいては、キャリブレーションターゲットと呼ばれるパターン（必ずしも既知のパターンではなくてもよい）の描かれた道具を用い、このキャリブレーションターゲットを撮影することによりカメラ間の位置関係を求める。
【０１１６】
これに対し、３次元形状計測装置１では、キャリブレーション時に第１及び第２カメラ１１ａ・１１ｂによって撮影する物体の表面が一様な色の表面であっても、その物体の形状（例えば平板）がわかっておれば、パターン生成装置２２によって生成したパターンを上記物体に投光することによりステレオ対応づけを行い、第１及び第２カメラ１１ａ・１１ｂの位置関係を逆算することができる。すなわち、３次元形状計測装置１では、パターン生成装置２２によって生成したパターンをキャリブレーションターゲットとして使用することもできる。
【０１１７】
また、図８に示すように、３次元形状計測装置１を構成するステレオカメラ１１、ステレオ画像処理装置１２、プロジェクタ２１、パターン生成装置２２を用いて距離計測装置２を実現することもできる。この距離計測装置２は、自律走行型ロボットに搭載することにより、壁や床面などが一様な色の表面を有している場合でも適切な距離判断が可能になるので、ロボットの自律走行に対して適切な距離情報を提供することにより自律走行を支援することができる。
【０１１８】
〔実施形態２〕
本発明の第２の実施形態について図９から図１１に基づいて説明すると以下の通りである。本実施形態では、実施形態１のパターン生成装置２２（図１参照）によって生成されたパターンを光学フィルタに形成し、この光学フィルタを用いてパターンの投光を行う構成について説明する。
【０１１９】
なお、実施形態１において説明した装置、機能ブロック、部材と同等の機能を有する装置、機能ブロック、部材については、本実施形態においても実施形態１と同一の符号を用いることとし、本実施形態ではその説明を省略する。
【０１２０】
本実施形態のパターン形成装置３の構成を図９のブロック図に基づいて説明する。パターン形成装置３は、パターン生成装置２２によってパターンを生成し、生成されたパターンを光学フィルタに形成するための装置であり、パターン生成装置２２と、露光装置３１とを備えている。
【０１２１】
露光装置３１は、パターン生成装置２２によって生成された画像データに応じた露光パターンを出射する装置であり、例えば液晶プロジェクタによって構成されている。
【０１２２】
この露光装置３１から出射される露光パターンにより、表面に感光剤を塗布した透明基材ＴＰ（フィルムやガラス基板など）を露光し、その後これを現像することにより、光学フィルタを製造することができる。
【０１２３】
図１０に、上記光学フィルタＦＴを用いた３次元形状計測装置１’の構成を示す。３次元形状計測装置１’は、ステレオカメラ１１とステレオ画像処理装置１２とを備えるとともに、３次元形状計測装置１（図１参照）のプロジェクタ２１及びパターン生成装置２２の代わりに、光源２３及び光学フィルタＦＴを備えている。そして、光源２３から出射される光を、上記パターンの形成された光学フィルタＦＴによって調光することにより、３次元形状計測装置１と同等のパターンを計測対象ＭＯに投光するようになっている。
【０１２４】
なお、パターン形成装置３を構成する露光装置としては、図１１に示すように、走査型の露光装置３１’であってもよい。露光装置３１’は、レーザ光を走査することにより透明基材ＴＰを走査露光しつつ、パターン生成装置２２によって生成された画像データに基づいて走査露光用のレーザ光強度を変調させることにより、上記画像データに応じたパターンの露光を行う装置である。
【０１２５】
このように、パターン生成装置２２によって生成される画像データは、必ずしもプロジェクタ２１や露光装置３１に供給される場合のように画像として出力されるものとは限らず、走査型の露光装置３１’に供給される場合のように結果的に画像が再現できるようなデータであればよい。
【０１２６】
本実施形態のように、パターン生成装置２２によって生成したパターンを光学フィルタＦＴ上に再現しておくことにより、パターン生成装置２２自体を省いて３次元形状計測装置１’を構成することができ、３次元形状計測装置１’の装置構成の簡略化を図ることができる。
【産業上の利用可能性】
【０１２７】
本発明は、３次元形状計測装置や距離計測装置２に特に好適に適用できる。
【図面の簡単な説明】
【０１２８】
【図１】本発明の第１の実施形態に係る３次元形状計測装置の構成を示すブロック図である。
【図２】図１の３次元形状計測装置におけるパターン生成装置の数列生成部及び画像データ生成部が実行する処理の流れを示すフローチャートである。
【図３】図２のフローチャートに示す処理内容の具体例を説明するための図面である。
【図４】図２のフローチャートに示す処理によって生成される画像データの一例を示す図面である。
【図５】図２のフローチャートに示す処理によって生成される画像データの他の例を示す図面である。
【図６】図１の３次元形状計測装置による計測結果を示す図面である。
【図７】図６の計測結果に対する考察を説明するための図面である。
【図８】本発明の第１の実施形態に係る距離計測装置の構成を示すブロック図である。
【図９】本発明の第２の実施形態に係るパターン形成装置の構成を示すブロック図である。
【図１０】本発明の第２の実施形態に係る３次元形状計測装置の構成を示すブロック図である。
【図１１】本発明の第２の実施形態に係る他のパターン形成装置の構成を示すブロック図である。
【図１２】ステレオ対応づけの概念を説明するための図面である。
【符号の説明】
【０１２９】
１    ３次元形状計測装置
１’  ３次元形状計測装置
２    距離計測装置
３    パターン形成装置
３’  パターン形成装置
１１    ステレオカメラ
１１ａ  第１カメラ
１１ｂ  第２カメラ
２１    プロジェクタ
２２    パターン生成装置
２２ａ  数列生成部
２２ｂ  画像データ生成部
２２ｃ  記憶部
２２ｄ  出力部
２３    光源
３１    露光装置
３１’  露光装置
ＭＯ    計測対象
ＦＴ    光学フィルタ
【図１】
0004577126.tif 000003
【図２】
0004577126.tif 000004
【図３】
0004577126.tif 000005
【図４】
0004577126.tif 000006
【図５】
0004577126.tif 000007
【図７】
0004577126.tif 000008
【図８】
0004577126.tif 000009
【図９】
0004577126.tif 000010
【図１０】
0004577126.tif 000011
【図１１】
0004577126.tif 000012
【図１２】
0004577126.tif 000013
【図６】
0004577126.tif 000014