(57)【要約】    【課題】  測定点密度を増加させながらコード探索エラーを減少させる。    【解決手段】  ２つのストライプパターンがフレームメモリ１１０に記憶される。パターン切替部１９０によりストライプパターンが切り替えられ、２つのストライプパターンを連続して投射し、それぞれのストライプパターンの投影像を撮像して２つの撮像画像を得る。それぞれの撮像画像にエッジ抽出処理とコード付与処理を行い、２組のコード化エッジ画像を獲得する。得られた２組のコード化エッジ画像を重畳して、エッジ密度が高く、コード分布の良好なひとつの統合コード化エッジ画像を獲得する。求められた統合コード化エッジ画像に対して距離計測の計算を実施することで、複数のコード化エッジ画像に対して各々に距離算出を行う場合に比べて、距離算出時のアルゴリズムに起因するエラーの発生をより少なくすることが出来る。【選択図】  図５
2006010416.tif 000002
【特許請求の範囲】
【請求項１】
所定の輝度範囲で予め設定された複数レベルの輝度でコード化されたストライプパターンを被写体に投影する投光器と、この投光器の光軸からずれて配置され前記被写体を撮影するカメラと、前記ストライプパターンと前記カメラの撮影画像とを対応させて前記被写体までの距離を算出する算出部とを具備して前記被写体の３次元画像を得る３次元形状測定装置において、隣接する２つのストライプの輝度レベル差がＮ（Ｎは２以上の正数）レベル以上となるようにストライプを配列したストライプパターンであって相互にストライプ間のエッジ位置がずれており、パターン周期中に含まれる隣接する２つのストライプの輝度レベルの並びの種類が相互の間で重複しないものを複数用意し、それぞれのストライプパターンを前記被写体に別々に投影して前記被写体を撮影し、前記ストライプパターンのそれぞれで取得したエッジ画像を別々にコード化した後に統合処理することを特徴とする３次元形状測定装置。
【請求項２】
前記複数の輝度レベルは前記投影器および前記カメラの階調再現特性を鑑みてレベル設定される請求項１記載の３次元形状測定装置。
【請求項３】
前記所定の輝度範囲は全白から全黒までの範囲である請求項１または２記載の３次元形状測定装置。
【請求項４】
前記複数の輝度レベルは前記所定の輝度範囲において実質的に等間隔に配置される請求項１、２または３記載の３次元形状測定装置。
【請求項５】
前記投光器と実質的に光軸が同一の補助カメラを配置し、前記補助カメラのカメラ画像の輝度分布に応じて前記ストライプパターンのストライプ中の輝度レベルの分布を再調整する請求項１、２、３または４記載の３次元形状測定装置。
【請求項６】
所定の輝度範囲で予め設定された複数レベルの輝度でコード化されたストライプパターンを投光器により被写体に投影し、この投光器の光軸からずれて配置されるカメラで前記被写体を撮影することにより、前記被写体の３次元画像を得る３次元形状測定方法において、隣接する２つのストライプの輝度レベル差が２レベル以上となるようにストライプを配列したストライプパターンであって相互にストライプ間のエッジ位置がずれており、パターン周期中に含まれる隣接する２つのストライプの輝度レベルの並びの種類が相互の間で重複しないものものを複数用意し、それぞれのストライプパターンを前記被写体に別々に投影して前記被写体を撮影し、前記ストライプパターンのそれぞれで取得したエッジ画像を別々にコード化した後に統合処理することを特徴とする３次元形状測定方法。
【請求項７】
所定の輝度範囲で予め設定された複数レベルの輝度でコード化されたストライプパターンを被写体に投影する投光器と、この投光器の光軸からずれて配置され前記被写体を撮影するカメラと、前記ストライプパターンと前記カメラの撮影画像とを対応させて前記被写体までの距離を算出する算出部とを具備して前記被写体の３次元画像を得る３次元形状測定装置において、基礎となるストライプパターンから異なる繰り返し位相でＮ（Ｎは２以上の正数）個置きにストライプを取り出すことにより前記基礎となるストライプパターンを分割して複数のストライプパターンを準備し、前記複数のストライプパターンのそれぞれを前記被写体に別々に投影して前記被写体を撮影し、前記ストライプパターンのそれぞれで取得したエッジ画像を別々にコード化した後に統合処理することを特徴とする３次元形状測定装置。
【請求項８】
所定の輝度範囲で予め設定された複数レベルの輝度でコード化されたストライプパターンを投光器により被写体に投影し、この投光器の光軸からずれて配置されるカメラで前記被写体を撮影することにより、前記被写体の３次元画像を得る３次元形状測定方法において、基礎となるストライプパターンから異なる繰り返し位相でＮ（Ｎは２以上の正数）個置きにストライプを取り出すことにより前記基礎となるストライプパターンを分割して複数のストライプパターンを準備し、前記複数のストライプパターンのそれぞれを前記被写体に別々に投影して前記被写体を撮影し、前記ストライプパターンのそれぞれで取得したエッジ画像を別々にコード化した後に統合処理することを特徴とする３次元形状測定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パターン投影法を用いて対象物体までの距離情報を取得する３次元形状測定技術に関する。
【背景技術】
【０００２】
対象物の形状を計測する手法として、対象物に基準となるパターンを投影してこの基準となるパターン光が投影された方向とは異なる方向からＣＣＤカメラなどで撮影を行うパターン投影法と呼ばれる手法がある。この手法では、撮影されたパターンは物体の形状によって変形を受けたものとなる。この撮影された変形パターンと投影したパターンとの対応づけを行うことで、物体の３次元計測を行うことができる。パターン投影法では変形パターンと投影したパターンとの対応づけをいかに誤対応を少なく、かつ簡便に行うかが課題となっている。そこで様々なパターン投影法が従来提案されている。
【０００３】
例えば特許文献１（特開２０００−６５５４２号公報）に開示される手法においては、コード化されたパターンを投影する投光器と、投光器の光軸方向から投影パターンを撮影する第１のカメラと、投光器の光軸方向と異なる方向から投影パターンを撮影する第２のカメラとを準備し、投影パターンに対する第１のカメラによる撮影パターンの変化量が所定値以上の領域について新たなコードを割り付け、割り付けたコードを用いて第２のカメラによる撮影パターンから第１の距離情報を生成し、第１の距離情報および第１のカメラより得られた輝度情報に基づいて３次元画像を得るように３次元画像撮影装置を構成する。一例として強度が３レベルのストライプパターンを投影パターンとして用いている。投影パターンを同じ光軸に置いた第１のカメラで撮影したパターンを用いて再コード化することにより精度よく３次元計測を行うことができる。
【０００４】
また特許文献２（特開２００２−１３１０３１号公報）ではストライプ光の露光量を決める複数のマスクパターンを用意し、カメラの１フレーム露光時間中にマスクパターンを順次切り換えることにより複数階調のコード化パターンを投射している。
【特許文献１】特開２０００−６５５４２号公報
【特許文献２】特開２００２−１３１０３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら上記のような複数レベルのパターンを投影する場合、前者の例の３レベルのパターンでは６本のストライプが１セットとなり、後者の例では４マスクで１６本のストライプが１セットとなり、これの繰り返しパターンを投影することになる。このように繰り返しの周期が小さいと、コードの探索処理の際誤ってマッチングする確率が増大するという問題が生じる。この問題を回避するために前者の例では、レベル数を増やせばよく、後者の例ではカメラの１フレーム内でマスクの種類を増やすことになる。
【０００６】
しかしこのようにパターンのレベル数を増やしていくと、投影系および撮像系のＭＴＦやＣＣＤカメラのＳ／Ｎなどの信号劣化要因から隣接するパターン領域が相互に影響しあい、誤った値を検出する可能性が高くなるという新たな問題が発生する。また表面色が暗い物体を測定する場合には、反射率が小さくなるのでカメラに取り込む画像上ではパターンのダイナミックレンジが小さくなり、ストライプごとの階調段差が縮小してコード処理で誤った値を算出するなどの問題もある。
【０００７】
さらに、これらの形状計測方式において獲得される形状データ点は、投影されるパターンによってマーキングされる箇所に限定され、実際上はストライプ間のエッジ位置に対応した点のみとなる。これら形状計測可能な点の密度をより高くする要求も一方ではあり、パターンの細密化が求められることになる。パターンを細密にしつつ前記の繰り返し周期を確保するためには、階調レベル数を増やす必要があり、これは上記のストライプ毎の階調段差縮小の誤差問題と関連した別の誤差問題を発生させることにつながり、これらの要求がトレードオフ関係になっていて、同時に満たすことが出来ないという課題がある。
【０００８】
本発明はこのような課題に鑑みなされたもので、複数レベルの投影パターンを用いた３次元形状測定手法において、正確で稠密なパターン検出を可能にすることを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、所定の輝度範囲、例えば、全白から全黒までを等間隔に区切った複数レベルの輝度（色相でもよい。以下同様である）でコード化されたストライプパターンを被写体に投影する投光器と、この投光器の光軸からずれて配置されて前記被写体を撮影するカメラとを用いて前記被写体の３次元画像を得る３次元形状測定装置において、隣接する２つのストライプの輝度レベル差がＮ（Ｎは１より大きな正数。例えばＮ＝２）レベル以上となる複数の異なるストライプパターンを使用する。当該複数のストライプパターンは、例えば、当該複数レベルのストライプからなる基礎となるストライプパターンから順番にストライプを取りだして構成することができるが、これに限定されない。例えば、２つのストライプパターンを用いる場合には、基礎となるストライプパターンの奇数番目のストライプから一方のストライプパターンを構成し、偶数番目のストライプから他方のストライプパターンを構成する。基礎となるストライプパターンからストライプを順次にストライプを取りだして分割した複数のストライプパターンの各々は、その繰り返し周期中では、２つの隣接ストライプの並び（順列）が同一にならないようにする。また、上述のように基礎となるストライプパターンから複数のストライプパターンを分割する場合には、分割後のストライプパターンの隣接ストライプのレベル差がＮ（Ｎは１より大きな正数）以上になるように基礎となるストライプパターンを選択する。
【００１０】
複数のストライプパターンの各々に対応する撮像画像に対して、ストライプ間のエッジに対応したエッジ抽出およびコード付与の処理を行ってコード化エッジ画像群を獲得した後に、複数のストライプパターンに対応したコード化エッジ画像群を重畳したのちに距離算出処理を行う。ストライプパターンの投影および撮像はストライプパターンごとに行なうので複数回であるが、距離算出処理は１回である。各ストライプパターンに対応する各コード化エッジ画像ごとに距離算出処理を行なって算出結果を統合しても良い。
【００１１】
この３次元形状測定装置において、色分布が一様な被写体に投影されたストライプパターン群が、前記カメラによる色分布が一様な被写体の撮影画像上で全白から全黒までを等間隔に区切った複数レベルの輝度となるように、前記投光器および前記カメラのガンマ特性を鑑みた入力データとすることが好ましい。
【００１２】
さらに本発明を説明する。
【００１３】
本発明によれば、所定の輝度範囲で予め設定された複数レベルの輝度でコード化されたストライプパターンを被写体に投影する投光器と、この投光器の光軸からずれて配置され前記被写体を撮影するカメラと、前記ストライプパターンと前記カメラの投影画像とを対応づけて前記被写体までの距離を算出する算出部とを具備して前記被写体の３次元画像を得る３次元形状測定装置において、隣接する２つのストライプの輝度レベル差がＮ（２以上の正数）レベル以上となるようにストライプを配列したストライプパターンであって相互にストライプ間のエッジ位置がずれており、パターン周期中に含まれる隣接する２つのストライプの輝度レベルの並びの種類（順列）が相互の間で重複しないものを複数用意し、それぞれのストライプパターンを前記被写体に別々に投影して前記被写体を撮影し、前記ストライプパターンのそれぞれで取得したエッジ画像を別々にコード化した後に統合処理するようにしている。
【００１４】
この構成においては、複数の異なるストライプパターンを採用し、そのエッジ位置をすらずことにより、エッジ密度が大きくなり、また、隣接ストライプのレベル差を２以上にすることが容易となる。したがって、正確で稠密なパターン検出が可能になる。
【００１５】
また、この構成において、前記複数の輝度レベルは前記投影器および前記カメラの階調再現特性を鑑みてレベル設定されることが好ましい。
【００１６】
前記所定の輝度範囲は、例えば、全白から全黒までの範囲である。
【００１７】
前記複数の輝度レベルは前記所定の輝度範囲において実質的に等間隔に配置されることが好ましい。
【００１８】
前記投光器と実質的に光軸が同一の第２のカメラを配置し、前記第２のカメラのカメラ画像の輝度分布に応じて前記ストライプパターンのストライプ中の輝度レベルの分布を再調整することが好ましい。第２のカメラは、ブームスプリッタを用いて前記投光器と光軸が同一となるように配置しても良いし、前記投光器と第２のカメラとを相対的にわずかにずらして配置し、実質的に両者の光軸が同一になるようにしても良い。
【００１９】
本発明の上述の側面および他の側面は特許請求の範囲に記載され以下実施例を用いて詳述される。
【発明の効果】
【００２０】
本発明によれば、輝度レベル差を大きくとった、エッジ位置がずれている複数のストライプパターンを用いることにより、コード探索エラーの確率を小さくするとともに、高い距離計測点群密度を実現することができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明に係る３次元形状測定装置の実施例を説明する。
【００２２】
図１は、本発明の実施例の３次元画像測定装置の構成図であり、図１において、３次元画像測定装置は、３次元計測用にパターンを投影するパターン投影装置（たとえば液晶プロジェクタ）１０、同光軸でパターンをモニタする撮像装置（たとえばＣＣＤカメラ。第１カメラとも呼ぶ）２０、三角測量用撮像装置（たとえばＣＣＤカメラ。第２カメラとも呼ぶ）３０、計算処理装置６０（距離算出部。例えばパーソナルコンピュータや専用の処理装置）等で構成される。４０はハーフミラーであり、５０は対象物である。この３次元測定装置の基本的な構成は、特許文献１（特開２０００−６５５４２号公報）に開示される構成と同様である。パターン投影装置１０は、液晶プロジェクタもしくはＤＬＰ（商標）プロジェクタ、またはスライドプロジェクタを用いる。パターン投影装置１０は、複数のストライプパターンを採用して順次にストライプパターンを投影し、撮像装置２０、３０で撮像していく。この実施例では、後述するようにストライプパターンは２つ用いるが（図１９、図２０のストライプパターンの具体例参照）、これに限定されず、３つ以上としても良い。パターン投影装置１０、たとえば液晶プロジェクタへ入力する投影パターンは、模式的には、図２に示すような濃淡のあるストライプパターンを用い、例えば、図２の右側に図示されている対象物（物体）にパターン投影する。実際には図１９および図２０に示す２つのストライプパターンを個別に投影する。スライドプロジェクタを用いる場合、投影パターン（２種類）はスライドフィルム上へ形成するか、ガラスパターンに金属膜などを蒸着し膜厚や網膜点パターンなどによって透過率をコントロールする。
【００２３】
図３に、たとえば液晶プロジェクタへ入力するパターンデータの水平方向の輝度プロファイルを模式的に示す。図３では、説明の便宜上、投影パターン（パターンデータ）は２５６階調を６段階に分けた７種類の輝度ストライプの組み合わせたものとするが、これに限定されない。後述の具体的なストライプパターンでは、１４種類の輝度ストライプを組み合わせたものとしている（図１９、図２０参照）。図３のストライプパターンでは、隣り合うストライプ同士が１段階のレベル差にならないように配置している。これは隣り合うストライプ同士のレベル差に限っては２５６階調を３段階（０、８５、１７０、２５５の４レベル）に分けたことと同等である。通常の４レベルのストライプを繰り返して１セットとする場合では、隣り合うストライプの各組み合わせが１セット中に重複して現れないようするには１セットを１２ストライプとするのが限界であり、このセットを繰り返して、多数のストライプを含むストライプパターンを構成していくことになる。隣り合うストライプの同じ組み合わせが、近くで重複して存在すると、コード探索のエラーの原因となる。これに対し、本実施例のように、７レベルのストライプを用い、しかも、隣り合うストライプ同士が１段階のレベル差にならないように配置すると、１セット中で、隣り合うストライプの同じ組み合わせが出現しないようにするのに、１セットのストライプ数を２８程度にすることができ、少なくとも２８ストライプの範囲では同一の隣り合うストライプの組み合わせが重複することはなく、コード探索エラーの確率も減少する。
【００２４】
図４にパターン投影の模様を示す。パターン投影は２つのストライプパターンごとに行なう。撮像装置（第１カメラ２０）と投影装置（パターン投影装置１０）をハーフミラー４０などで同光軸に配置し、三角計測用に撮像装置を用意し、図２に示すようなストライプパターンを投影する。同光軸の撮像素子（第１カメラ２０）で観測された画像（第１カメラ・イメージ）から再符号化を実施し、測定用撮像素子（第２カメラ３０）で観測された画像（第２カメラ・イメージ）とで３次元距離画像（距離）を算出する。
【００２５】
図５は、距離画像を算出する構成例を示しており、この図において図１と対応する箇所には対応する符号を付した。パターン投影装置１０、第１カメラ２０、第２カメラ３０以外の構成要素は例えば先の計算処理装置６０により実現される。図５において、パターン投影装置１０が２つのコード化されたストライプパターンを対象物５０に投影する。これら２つのストライプパターンはフレームメモリ１１０に記憶される。パターン切替部１９０によりストライプパターンが切り替えられる。モニタ用の第１カメラ２０および三角測量用の第２カメラ３０により、対象物５０上の投影パターンを撮像しそれぞれパターン画像メモリ１２０、１５０に記憶する。
【００２６】
領域分割部１３０はパターン画像メモリ１２０のパターン画像を、パターン投影装置１０からの投影パターン（光）が十分に届いている領域（領域２ともいう）と届いていない領域（領域１ともいう）に分割する。たとえば、隣り合うストライプ間の強度差が閾値以下である領域については、投影パターンが十分に届いてないと判別し、ストライプ間の強度差が閾値以上である領域を投影パターンが十分に届いている領域と判別する。投影パターンが十分に届いている領域に関し、以下に述べるように、境界線となるエッジ画素算出を行い、距離計算を行う。投影パターンが十分に届いてない領域については、別途、視差に基づく距離計算を行う。ここではとくに説明しないが、詳細は特許文献１を参照されたい。
【００２７】
再コード化部１６０は、抽出された領域２についてストライプを抽出し、各ストライプをストライプ幅毎に縦方向に分割し、正方形のセルを生成し、セルの再コード化を行う。これについては後に詳述する。
【００２８】
コード復号部１７０は、パターン画像メモリ１５０に記憶されている、三角測量用の第２カメラ３０からのパターン画像の各セル（エッジ）のコードを再コード化部１６０からのコードを用いて判別する。これにより、パターン画像メモリ１５０のパターン画像における測定点ｐ（エッジ）の画素のｘ座標および光源からの照射方向（スリット角）θが決定され、後述する式（１）により距離Ｚが測定される（図１４参照）。３次元画像メモリ１８０は、この距離と、第１カメラ２０から取得した対象物の輝度値（輝度値メモリ１４０に記憶される）とを三次元画像データとして記憶する。
【００２９】
この実施例では、２つのストライプパターンを連続して投射し、それぞれのストライプパターンの投影像を撮像して２つの撮像画像を得る。それぞれの撮像画像にエッジ抽出処理とコード付与処理を行い、２組のコード化エッジ画像を獲得する。得られた２組のコード化エッジ画像を重畳して、エッジ密度が高く、コード分布の良好なひとつの統合コード化エッジ画像を獲得する。求められた統合コード化エッジ画像に対して距離計測の計算を実施することで、複数のコード化エッジ画像に対して各々に距離算出を行う場合に比べて、距離算出時のアルゴリズムに起因するエラーの発生をより少なくすることが出来る。コード化エッジ画像ごとに個別のメモリを用意しても良いし、１つのメモリで処理するようにしても良い。なお、個々のコード化エッジ画像から個別に距離計算を行い、ストライプパターンごとに得た距離情報を統合して総合的な距離情報としてもよい。
【００３０】
この例ではコード化エッジ画像が２つできるので、例えばパターン画像メモリ１２０を２つ用意し、それぞれの画像を統合し、この後、統合処理したコード化エッジ画像をその一方または別に用意したメモリに保持するようにしてもよいし、１つのパターン画像メモリ１２０を各ストライプパターン投影毎に利用し、これに統合したコード化エッジ画像を保持するようにしても良い。パターン画像メモリ１５０についても同様である。
【００３１】
この構成例における３次元形状の算出の詳細についてさらに説明する。
【００３２】
同光軸のモニタ用の第１カメラ２０によって撮影されたパターン画像と投光に用いられたパターン画像を用いて図７に示すフローチャートに従って再コード化を行う。最初に第１カメラ２０で撮影されたパターン画像の領域分割を行う。隣り合うストライプ間の強度差が閾値以下である領域については、パターン投影装置１０からの投影パターンが届いてない領域１として抽出し、ストライプ間の強度差が閾値以上である領域を領域２として抽出し（Ｓ１０）、領域２について境界線となるエッジ画素算出を行う。
【００３３】
抽出された領域２についてストライプを抽出し、各ストライプをストライプ幅毎に縦方向に分割し、正方形のセルを生成する。生成された各セルについて強度の平均値をとり、平均値を各セルの強度とする（Ｓ１１）。画像の中心から順に対応する各セル間の強度を比較し、対象物の反射率、対象物までの距離などの要因によってパターンが変化したためにセル間の強度が閾値以上異なった場合には新たなコードの生成、割り付けを行う（Ｓ１２〜Ｓ１６）。
【００３４】
図８は簡単のため単純化した例であるが、図８の左側のストライプ列がストライプの並びによってコード化された投光パターンであり、それぞれの強度に３（強）、２（中）、１（弱）が割り当てられている。図８の右側がそれぞれ同軸上の第１カメラ２０で撮影されたストライプをセルの幅でストライプと垂直方向に抽出したものである。図８の右上の例では、左から３つめのセルで強度が変化して新たなコードが出現したので、新たに０というコードを割り当てる。図８の右下の例では、左から３つめ上から２つめのセルで、既存のコードが出現しているので、セルの並びから新たなコードとして（２３２、１３１）という具合に（縦の並び、横の並び）によってコードを表現する。この再コード化は、対象の形状が変化に富む部位には２次元パターンなどの複雑なパターンを投光し、変化の少ない部位には簡単なパターンを投光しているのに等しい。この過程を繰り返し、全てのセルに対して一意なコードを割り付けることで再コード化を行う。
【００３５】
例として、図９の対象物に、図１０のパターンを投光した場合に第１カメラ２０、第２カメラ３０で得られる画像を簡単化したものをそれぞれ図１１、図１２に示す。この例では、板の表面には新たなコード化されたパターンとして図１３が得られる。
【００３６】
次に第２カメラ３０で得られたストライプ画像からストライプを抽出し、先ほどと同じようにセルに分割する。各セルについて、再コード化されたコードを用いて各セルのコードを検出し、検出されたコードに基づいて光源からの照射方向θを算出する。各画素の属するセルのθとカメラ２で撮影された画像上のｘ座標とカメラパラメータである焦点距離Ｆと基線長Ｌを用いて式（１）によって距離Ｚを算出する。なお、測定点ｐと、光源からの照射方向θと、第２カメラ３０で撮影された画像上のｘ座標と、カメラパラメータである焦点距離Ｆと、基線長Ｌとの関係を図１４に示す。
【００３７】
Ｚ＝ＦＬ／（ｘ＋Ｆｔａｎθ）          −−−式（１）
【００３８】
この計算は実際にはセルの境界のｘ座標を利用して行うが、このときのｘ座標はカメラの画素解像度よりも細かい単位で計算することで計測精度を向上させている。ｘ座標値は、先に算出したエッジ画素の両側のセルの適当な数画素の輝度平均値ｄ１、ｄ２とエッジ画素の輝度ｄｅから求める。エッジ画素の両隣の画素位置ｐ１とｐ２と輝度平均値ｄ１とｄ２から一次補間した直線から輝度ｄｅに相当する画素位置ｄｅ’（図では便宜上ｘで示す）が求められ、これがｘ座標値となる。（図１５参照）
【００３９】
図３に模式的に示した例では投影パターンは２５６階調を６段階に分けた各４２階調または４３階調ごとの輝度ストライプの組み合わせとしているが、隣り合うストライプ同士が１段階のレベル差にならないように配置しているので、単純に６段階に分けた輝度ストライプを組み合わせたパターンに比べストライプ間の強度差が大きくｘ座標値の算出が行いやすくなっている。ストライプ間の強度差が大きい場合と小さい場合のカメラの画素単位の輝度分布を図１６に示す。エッジ画素の両側の数画素の輝度平均値は各画素のノイズの影響により、グレーの横線の太さで示したような範囲を取りうる。図１６の左に示すように、強度差が大きい場合は、図１５の計算方法を適用するとエッジ画素の両側の数画素の輝度平均値のノイズの影響はグレーの各線の太さで表され、結果としてｘ座標値がａの範囲に決められる。しかし強度差が小さい場合はエッジ画素の両側の数画素の輝度平均値のノイズ成分の割合が強度差に対して相対的に大きくなり、ｘ座標値の算出に曖昧さが発生する、すなわち取りうる範囲がｂの範囲となって、結果として計測の精度を落とすことになる。このためストライプ間の強度差は大きいほうが望ましい。
【００４０】
図６はｘ座標を求める構成例を示している。図６においては、エッジ右近傍画素位置入力部２１０、エッジ右セル輝度平均値入力部２２０、エッジ左近傍画素位置入力部２３０、エッジ左セル輝度平均値入力部２４０、エッジ輝度入力部２５０からそれぞれｄ１、ｐ１、ｄ２、ｐ２、ｄｅを補間計算部２００に供給して上述のとおりｘ座標を計算する。
【００４１】
この実施例では、ストライプ間の強度差が２レベル以上になるようにパターンを制約しているので、ｘ座標値を高精度に計測できる。
【００４２】
つぎに投光器やカメラのガンマ特性の補正について説明する。
【００４３】
液晶プロジェクタをパターン投影装置（投光器）１０として用いると、液晶プロジェクタの入力画像に対して投影される出力画像はガンマ特性を有することが一般的である。そのため入力画像で２５６階調を６等分割しても、投影されたパターンの輝度は均等に７レベルとはなっていない。従って入力画像を作成する際にガンマ特性を考慮しなければならない。図１７のような横軸の入力レベルに対する縦軸の出力レベルというガンマ特性をもったプロジェクタでは、グラフから入力画像は０、１４８、１８５、２０３、２２２、２３７、２５５という各輝度階調値を有するストライプパターンとすることが望ましい。パターン投影装置（投光器）１０がＤＬＰプロジェクタの場合も同様であり、パターン投影装置（投光器）１０がスライドプロジェクタの場合は、スライドフィルムのガンマ特性を考慮したデータをフィルム作成時に用意する必要がある。
【００４４】
またＣＣＤカメラにも同様にガンマ特性が存在するので、カメラ画像上で均等な輝度間隔のストライプパターンを得たい場合には、さらにＣＣＤカメラのガンマ特性をも考慮した入力画像が必要となる。
【００４５】
つぎにこの実施例の２つのストライプパターンの具体例を説明する。
【００４６】
ここでは、まず、距離計測点の密度を上げるために、使用するストライプパターンが図１８に示す多数の階調レベルと狭いストライプ幅に対応したものである場合を考える。この場合、前述のように階調の分割数が多すぎるためのエラーが発生しやすい。また、ストライプ幅が狭いことにより、階調レベルの検出誤差も増えるため、所望の結果は得られない。そこで、図１８に示すストライプパターンを図１９、図２０に示すように分割して、複数（ここでは２枚）のストライプパターンを作成してこの実施例で用いるストライプパターン（便宜上、分割ストライプパターンと呼ぶこともある）とする。この実施例では、分割ストライプパターンを連続して投射し、それぞれの分割ストライプパターンに対応して撮像を行って複数の撮像画像を得る。それぞれの撮像画像にエッジ抽出処理とコード付与処理を行い、複数のコード化エッジ画像を獲得する。得られた複数のコード化エッジ画像を重畳して、エッジ密度が高く、コード分布の良好なひとつの統合コード化エッジ画像を獲得する。求められた統合コード化エッジ画像に対して距離計測の計算を実施することで、複数のコード化エッジ画像に対して各々に距離算出を行う場合に比べて、距離算出時のアルゴリズムに起因するエラーの発生をより少なくすることが出来る。
【００４７】
ここでは、図１８のストライプパターンとの比較で分割ストライプパターンを用いて説明したが、この実施例では基礎となる図１８のストライプパターンが必須なわけではなく、要するに、複数例えば２つのストライプパターンのエッジがずれており、かつ一方のストライプパターンに含まれる隣接ストライプの並びの種類（２つのストライプの順列）のいずれもが他のストライプパターンに含まれないようにすれば良い。すなわち、測定密度（エッジ密度）を増加させ、また、複数のストライプパターン間でエッジの区別ができるようにすればよい。
【００４８】
なお、本発明は上述の実施例に限定されるものではなくその趣旨を逸脱しない範囲で種々変更が可能である。例えば、以上の実施例においては７レベルまたは１４レベルに均等分割する例を述べたが、これ以外のレベル数を設定しても良いことはいうまでもない。また２５６階調を７レベルや１４レベルに均等分割する場合、２５５は６または１３で割り切れないので各レベルの間隔を４２階調または４３階調あるいは１９階調または２０階調に丸め込むことは本発明の技術的な範囲に含まれる。
【００４９】
また本発明は、可視領域波長のほか、近赤外などの不可視波長の投射光に関しても有効であることはいうまでもない。輝度のパターンでなく色相のパターンを用いても良い。
【００５０】
なお、また、例えば、上述実施例では，ハーフミラー２０を用いて投影装置１０とモニタ用の撮像装置２０とを同一の光軸（同主点）に配置したが、図２１に示すように，投影装置１０および撮像装置０を，パターンのストライプ（エッジ）の方向に無視できる程度に離間して配置し，実質的に同一の光軸上（同主点）に配置しても良い。この場合ハーフミラーによるパターン光のロスや配分に伴うパワーの低下やバラツキを回避できる。
【図面の簡単な説明】
【００５１】
【図１】本発明の実施例の装置構成を示す図である。
【図２】上述実施例を説明するためのパターンと被写体の一例を示す図である。
【図３】上述実施例のストライプパターン例を示す図である。
【図４】上述実施例の動作を説明する概要図である。
【図５】上述実施例の構成例を説明するブロック図である。
【図６】上述構成例の測定点の第２カメラの画像上の座標ｘの補間計算を行う回路構成例を説明する図である。
【図７】上述実施例の動作を説明するフローチャートである。
【図８】上述実施例のコード化を説明する図である。
【図９】上述実施例のコード化を説明するためのカメラと被写体の配置図である。
【図１０】上述実施例のコード化を説明するためのパターン図である。
【図１１】上述実施例の第１カメラのモニタ画像の例を示す図である。
【図１２】上述実施例の第２カメラ２のモニタ画像の例を示す図である。
【図１３】上述実施例において被写体にあたって輝度が変化した部分を説明する図である。
【図１４】上述実施例における距離計算を説明する図である。
【図１５】上述実施例のエッジ座標の算出説明図である。
【図１６】上述実施例における階調差によるエッジ座標算出の差を説明する図である。
【図１７】上述実施例の投光器（プロジェクタ）のガンマ特性とパターンの入力値算出説明図である。
【図１８】分割ストライプパターンの元になるストライプパタンの例を説明する図である。
【図１９】分割ストライプパターンの一方の例を説明する図である。
【図２０】分割ストライプパターンの他方の例を説明する図である。
【図２１】上述実施例の変形例を説明する図である。
【符号の説明】
【００５２】
１０      パターン投影装置
２０      モニタ用の第１カメラ
３０      三角測量用の第２カメラ
４０      ハーフミラー
５０      対象物
１１０      フレームメモリ
１２０      パターン画像メモリ
１３０      領域分割部
１４０      輝度値メモリ
１５０      パターン画像メモリ
１６０      再コード化部
１７０      コード復号部
１８０      ３次元画像メモリ
１９０      パターン切替部
２００      補間計算部
２１０      エッジ右近傍画素位置入力部
２２０      エッジ右セル輝度平均値入力部
２３０      エッジ左近傍画素位置入力部
２４０      エッジ左セル輝度平均値入力部
２５０      エッジ輝度入力部
【図５】
2006010416.tif 000003
【図６】
2006010416.tif 000004
【図７】
2006010416.tif 000005
【図１４】
2006010416.tif 000006
【図１５】
2006010416.tif 000007
【図１７】
2006010416.tif 000008
【図２１】
2006010416.tif 000009
【図１】
2006010416.tif 000010
【図２】
2006010416.tif 000011
【図３】
2006010416.tif 000012
【図４】
2006010416.tif 000013
【図８】
2006010416.tif 000014
【図９】
2006010416.tif 000015
【図１０】
2006010416.tif 000016
【図１１】
2006010416.tif 000017
【図１２】
2006010416.tif 000018
【図１３】
2006010416.tif 000019
【図１６】
2006010416.tif 000020
【図１８】
2006010416.tif 000021
【図１９】
2006010416.tif 000022
【図２０】
2006010416.tif 000023