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