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