【実施例】
【0016】
図1〜
図8に、実施例の3次元計測装置2と3次元計測方法とを示す。
図1において、4は格子の投影と撮影用のユニットで、例えば計測対象の物体(以下計測物体)1の周囲に4台配置する。なお計測物体1は例えば人体、家具、機械、自動車、電子機器、建物等で、4台のユニット4を設けるのは計測物体1の全周を3次元計測するためである。全周を計測するには例えば3台以上6台以下のユニット4を設け、1面のみを計測するのであれば1ユニットでも良い。6はコントローラで、ユニット4での格子のシフト及びプロジェクタの発光とカメラによる撮影を制御し、LAN7を介してこれらに関する指令をユニット4へ送出する。またユニット4は撮影した画像をLAN7を介してコントローラ6へ送出し、コントローラ6は画像を計測用パーソナルコンピュータ8へ転送する。パーソナルコンピュータ8はコントローラ6と一体、あるいはユニット4と一体でも良く、パーソナルコンピュータではなく他の種類のコンピュータを用いても良い。10はモニタで、ユーザの入力と計測結果の表示等に用いる。
【0017】
図2に示すように、ユニット4は上下2台のカメラC1,C2と上下2台のプロジェクタP1,P2を備え、添字1は上側を、2は下側を表す。プロジェクタP1,P2は例えばLEDパネルを光源とし、矩形波、正弦波等の格子がガラス板等に周期的にプリントされているサブストレートを、光を投光する側に備えている。位相シフト法では同じ場面を、格子の位置をシフトさせて3回以上撮影し、プロジェクタP1,P2は格子をシフトさせるシフト機構9を備えている。実施例では、位相の算出を容易にするため、同じ場面を4回撮影するが、3回でも良い。実施例では、上下のプロジェクタP1,P2を組み合わせるので、格子は横縞でシフト方向は上下で、カメラC1を基準とすると、プロジェクタP1が相対的に近い位置のプロジェクタ,プロジェクタP2が相対的に遠い位置のプロジェクタである。カメラC2を基準とすると、プロジェクタP2が相対的に近い位置のプロジェクタ,プロジェクタP1が相対的に遠い位置のプロジェクタである。また他のユニットの同じ高さのプロジェクタを組み合わせる場合、格子は縦縞で、シフト方向は水平とする。またカメラC1,C2はデジタルカメラである。
【0018】
図3にパーソナルコンピュータ8の構成を示し、入出力12はコントローラ6を介してユニット4と接続されている。ユーザ入力14はユーザの指示を受け付け、表示制御16はモニタ10を制御する。出力部18は3次元計測データを出力する。位相解析部20は位相シフト法により位相を解析し、実施例では、カメラC1,C2とプロジェクタP1,P2との組み合わせにより粗な位相と精密な位相とを求め、カメラを近接したプロジェクタと組み合わせると粗な位相が、離れたプロジェクタと組み合わせると精密な位相が得られる。例えば同じプロジェクタの発光により、格子を1/4ピッチずつシフトさせて4枚の画像を撮影し、その輝度をI0〜I3とする。なおピッチは格子の周期である。すると(I1−I3)/(I0−I2)はtan
−1θを表し、これから位相θが求まる。
【0019】
位相接続部22では、0〜2πの精密な位相θを2nπ+θ(nは整数)の完全な位相に変換し、nは格子の基準点からのピッチの数である。位相接続の詳細は
図4〜
図8に示す。計測物体1には、2台のカメラC1,C2の一方が他方よりも正確に計測できるエリアがある。例えば一方のカメラに対して影になっているエリア、一方のカメラでは暗い画像しか得られないエリアでは、他方のカメラの画像に基づいて3次元形状を測定した方が精度が高い。選択部24は、2台のカメラC1,C2から求めた3次元座標に対して、計測物体のエリア毎に、計測精度の高い側を選択する。座標変換部26はカメラC1,C2を基準とする座標系での3次元座標を、基準座標系での3次元座標に変換する。合成部28は、複数のユニット4から得られた計測物体表面の3次元座標を、例えば信頼度を重みとする加算平均により合成する。
【0020】
背景除去部30は計測物体と背景とを分離し、例えば計測物体がない状態での画像から作成した振幅画像と位相画像とを記憶している。振幅画像は4枚の画像から算出される正弦波状の格子のコントラストの画像で、輝度の最大値の画像等でも良い。また位相画像は例えば位相解析部20で抽出した位相の画像で、値は0〜2πで、精密な位相の画像でも粗な位相の画像でも良い。位相画像は位相解析部20で位相を解析する間に得られる。ある画素での位相をαとすると、Asinα等のデータが得られているので、例えば位相解析部20により位相αが求まると、振幅Aが得られる。あるいはAsinαとAcosαのデータが得られているので、A
2sin
2αとA
2cos
2αから振幅Aの2乗が分かる。計測物体を撮影した際に、同様に振幅画像と位相画像とを求める。計測物体を含む画像中で、位相も振幅も背景画像から変化していない画素は背景に属する。位相と振幅の少なくとも一方が変化している画素は計測物体に属する可能性があるので、3次元計測の対象とする。
【0021】
図4に実施例での3次元計測アルゴリズムを示す。ここでは1台のユニットの上下のカメラC1,C2とプロジェクタP1,P2を組み合わせる場合を想定し、格子をシフトさせるのに時間が必要なため、プロジェクタP1から発光してカメラC1,C2で撮影している間に、プロジェクタP2の格子をシフトさせる(ステップ1,2)。逆にプロジェクタP1の格子をシフトさせている間に、プロジェクタP2から発光してカメラC1,C2で撮影する(ステップ3,4)。一方のプロジェクタでの格子のシフトと、他のプロジェクタでの発光と撮影とを並行して行うことにより、合計の撮影時間を延ばさずに、複数のプロジェクタを用いて撮影することができる。以上の処理を、格子のシフトを完了するまで繰り返す(ステップ5)。
【0022】
実施例では4台のユニットを用いるので、プロジェクタの発光とカメラの撮影のパターンを
図5のようにし、上は上側のプロジェクタ、下は下側のプロジェクタを表す。このようにすると、例えば1秒間で8台のプロジェクタを各4回発光させ、各発光毎に最大8台のカメラで撮影するので、計測物体に格子を投影した画像が最大で256枚得られる。しかし撮影に必要な合計の時間は、1台のプロジェクタを用いる場合に比べ、例えば1/3〜1/6程度しか増加しない。
【0023】
粗な位相が計測物体が存在する範囲で最大2π程度変化するようにすると、粗な位相に対しては位相接続が不要になる。そして粗な位相から計測物体表面の位置を低精度ではあるが一意に決定できる。しかし背景か計測物体かは粗な位相からは判別できないので、背景を除去する。そして計測物体の表面に対して粗な位相と精密な位相とを求める(ステップ6,7)。さらに粗な位相を参照して、0〜2πの範囲の精密な位相を、2nπ+θの完全な位相に変換する(ステップ8)。位相接続により完全な位相が求まると、計測物体表面の3次元座標が正確に求まる。またステップ9で、カメラC1、C2の画像の明るさ等に応じて、カメラC1,C2のいずれから求めた座標を用いるかを、計測物体表面のエリア毎に決定する。ステップ11で基準座標系へ座標を変換し、ステップ12で複数のユニットからの座標を合成して出力する。合成では例えば各ユニットからの座標を、信頼度を重みとして、加算平均する。また前記の選択の代わりに、座標系を統一した後に、カメラC1,C2から求めた座標を信頼度を重みとして加算平均しても良い。
【0024】
図6に、カメラC1から見た粗な位相と精密な位相とを示す。プロジェクタP1,P2からの線は格子の1ピッチを表す。カメラC1から見た位相は、プロジェクタP2からの格子に対し、視線方向に沿って大きく変化し、同じ視線上に同じ位相を与える複数の点θ1〜θ4等が存在し、計測物体表面の位置は一意には定まらない。プロジェクタP1からの格子をカメラC1から見た位相は緩やかにしか変化せず、例えば計測範囲内では同じ位相を与える点が他になく、計測物体表面の位置を低精度ではあるが一意に決定できる。
【0025】
この状況を
図7に示し、横軸は視線方向に沿った位置である。プロジェクタP1からの発光を利用する粗な位相をθP1、プロジェクタP2からの発光を利用する精密な位相をθP2とする。粗な位相θP1は低精度であるが広い奥行きの範囲をカバーし、精密な位相θP2は高精度であるが狭い範囲しかカバーせず、同じ位相を与える点が計測範囲内に複数ある。そこで粗な位相θP1を用いて精密な位相θP2を接続すると、完全な位相φが得られる。具体的な手法としては、例えば粗な位相θP1により完全な位相φの範囲を画素毎に定め(即ち、nが取りうる値の範囲を定め)、位相θP2を完全な位相φに変換する。あるいは一部の画素に対して上記のようにして完全な位相φを求め、他の画素に対して、画素間での粗な位相θP1の変化分から、完全な位相φの変化分の範囲を定めることにより、精密な位相θP2を完全な位相φに変換する。
【0026】
図8は、上側のプロジェクタP1の発光による粗な位相から求めた3次元の点群データと、下側のプロジェクタP2の発光により精密な位相から求めた3次元の点群データ、及び実施例に従って求めた3次元の点群データを示す。いずれもカメラは上側のカメラC1を用いた。
図8での明度のバラツキは計測の精度を表し、上側のプロジェクタP1での計測ではデータのバラツキが著しい。また下側のプロジェクタP2での計測では、データが不連続である。これに対して実施例では、データのバラツキがすくなく、かつデータは基本的に連続している。これは、広い範囲に対し高精度に計測物体の形状を求めることができることを示している。
【0027】
実施例では以下の効果が得られる。
1) 1台のカメラに対し、2台以上のプロジェクタを用いて、粗な位相と精密な位相とを求めることにより、3次元形状を正確に測定できる。
2) 1台のプロジェクタからの発光及びカメラによる撮影と、他のプロジェクタでの格子のシフトを並行して行うと、測定時間が実質的に延びない。
3) 2台以上のプロジェクタと2台以上のカメラとを組み合わせると、より正確に3次元形状を測定でき、しかも測定時間が延びない。