しかしながら、位相シフト法による3次元形状測定は、測定対象物全体に縞模様が形成された光を照射するため、照射光の照射箇所の反射率に応じて照射光の強度を個々に制御することはできない。このため、測定対象物に反射率の大きい箇所と小さい箇所が混在している場合において、反射率の大きい箇所からの反射光を受光した画素は反射光の極大値付近で受光器が出力する受光データが飽和するおそれがあり、このような場合にはその画素位置(受光位置)にて正常な正弦波形状の光量曲線が得られないおそれがある。また、反射率の小さい箇所からの反射光を受光した画素は受光した光の強度が小さすぎるためにその画素位置(受光位置)にて正確な形の光量曲線が得られないおそれがある。このように、従来の位相シフト法による3次元形状測定では、測定対象物の反射率によって光量曲線の波形形状が位相値を求める上で適切な形状とならない場合があり、この場合は位相値の計算精度が悪くなるという問題がある。測定対象物の形状はこの位相値に基づいて求められるために、位相値の計算精度が悪くなると、3次元形状の測定精度も悪くなる。
本発明は上記問題点に鑑みてなされたもので、その目的は、測定対象物に縞模様を形成し、その縞模様を移動させて縞位相を変化させ、測定対象物の表面にて反射した反射光を受光することで測定対象物の3次元形状を測定する場合、つまり位相シフト法により測定対象物の3次元形状を測定する場合において、測定対象物の反射率が場所によって異なっても精度よく形状測定を行うことが可能な3次元形状測定装置または3次元形状測定方法を提供することにある。
上記目的を達成するため、本発明の特徴は、測定対象物に明部と暗部が周期的に繰り返される縞模様を形成するように、測定対象物に照射光を照射する光照射手段と、測定対象物に形成される前記縞模様のそれぞれの箇所における位相である縞位相が複数の異なる位相となるように前記縞位相を変更する縞走査手段と、前記縞位相が前記複数の異なる各々の位相である場合に測定対象物に照射された照射光の反射光を受光するとともに、受光した反射光の光量に応じた受光信号を出力する受光器と、前記受光器が出力する受光信号に基づいて前記受光器にて受光する光の光量変化を表す光量曲線の位相値を前記受光器における反射光の受光位置ごとに算出し、算出した位相値に基づいて測定対象物の3次元形状データを作成するデータ処理手段と、を備える3次元形状測定装置において、前記縞位相が前記複数の異なる各々の位相である場合に、照射光が所定の複数の異なる強度で測定対象物に照射されるように、照射光の強度を制御する強度制御手段を備え、前記データ処理手段は、前記受光器における前記反射光の前記受光位置ごとに、前記受光器が出力する受光信号から得られる位相値に基づいて測定対象物の3次元形状データを作成した場合における当該3次元形状データの測定精度に関する評価データを、前記受光信号に基づいて前記所定の複数の異なる強度で照射光を測定対象物に照射している各々の場合について算出する評価データ算出手段と、前記評価データ算出手段が前記所定の複数の異なる強度で照射光を測定対象物に照射している各々の場合について算出した評価データの中から、その評価データの算出に用いた受光信号から得られる位相値を用いて測定対象物の3次元形状データを作成した場合における当該3次元形状データの測定精度が良好になる評価データを抽出する評価データ抽出手段と、前記評価データ抽出手段が抽出した評価データの算出に用いた受光信号から得られる位相値に基づいて測定対象物の3次元形状データを作成する形状データ作成手段と、を備え、前記評価データは、前記光量曲線と、前記光量曲線の周波数に等しい正弦曲線とのずれ量に相当するデータを含み、前記ずれ量に相当するデータは、前記光量曲線をフーリエ変換することにより得られる度数分布における全体の度数に対する前記縞模様の周波数を示す度数の比であるものとしたことにある。
上記発明に係る3次元形状測定装置によれば、測定対象物に照射される照射光の強度は、測定対象物に形成される縞模様の縞位相が複数の異なる位相である場合のそれぞれにつき所定の複数の異なる強度に変更される。また、照射光の反射光は上記所定の複数の異なる強度にて照射光が測定対象物に照射されるごとに受光器に受光され、受光器は受光した反射光の光量に応じた受光信号を出力する。この受光信号に基づき、当該受光信号から得られる位相値を基に測定対象物の3次元形状を測定した場合における測定精度に関する評価データが上記所定の複数の異なる強度にて照射光が照射される各々の場合について算出される。算出された評価データの中から、測定対象物の3次元形状データの測定精度が良好になる評価データが抽出される。こうして抽出された評価データの算出に用いた受光信号から得られる位相値に基づいて、測定対象物の3次元形状データが作成される。
このように、本発明の3次元形状測定装置は、複数の強度の光を測定対象物に照射してそれぞれの強度の光ごとに測定対象物上に縞模様を形成する。このため測定対象物の同一箇所には強度の異なる複数の照射光が照射され、各々の強度の照射光が照射された場合についての反射光が受光器によって受光されるとともに、受光器から出力される受光信号から、複数の強度の照射光が照射された各々の場合について、測定対象物の3次元形状データの測定精度に関する評価データが求められる。よって、上記複数の強度の照射光が照射された各々の場合について算出された評価データを評価し、この中から測定対象物の3次元形状データの測定精度が良好になる評価データを抽出することによって、各々の強度の照射光が照射された場合について受光された反射光の受光信号(あるいはそれぞれの受光信号から得られる位相値)の中から、その照射光の照射位置における反射率に最も見合った強度の照射光が照射された場合に受光された反射光の受光信号(あるいはその受光信号から得られる位相値)を選択することができる。したがって、選択した受光信号から算出される位相値(あるいは選択した位相値)を用いて測定対象物の3次元形状を測定することにより、測定対象物の反射率の変化による3次元形状データの測定精度の悪化を防止あるいは抑制することができる。
上記光照射手段は、例えば明部と暗部が周期的に繰り返されている光を測定対象物に照射することにより、測定対象物に明部と暗部が周期的に繰り返される縞模様を形成するものであるとよい。上記光は、例えばレーザー光源から出射して平行光とされたレーザー光を縞模様が描かれた液晶フィルタなどに入射して、その透過光を測定対象物上に投影することにより生成することができる。あるいは、上記光は、レーザー光源から出射して平行光とされたレーザー光を2つのレーザー光に分け、位相をずらした状態で2つのレーザー光を干渉させることにより生成することもできる。
上記縞模様のそれぞれの箇所における位相(縞位相)とは、測定対象物に形成された縞模様の縞のライン方向(縞模様において輝度が連続的に一定となっている方向)に直角な方向に沿って光量を検出した場合における光量を示す曲線のそれぞれの箇所における位相のことである。この曲線は一般に正弦曲線である。また、上記縞走査手段は、上記縞模様のそれぞれの箇所における位相(縞位相)が1周期のうちで異なった複数の位相を採るように変更するものであるとよい。例えば縞走査手段は、縞模様の1周期を2πとして表現した場合、初期の位相に0,π/4,π/2,3π/4,π,5π/4,3/2π、7π/4,2πを追加した位相状態の縞模様に変更可能であるものがよい。位相の変更方法については例えば液晶フィルタにより縞模様を形成する場合には、液晶フィルタに描かれた縞模様の縞位相を変更することにより、それを投影する測定対象物上の縞模様の縞位相を変更する方法が採用され得る。
上記受光器は、測定対象物に照射された照射光の反射光を受光して、その受光した反射光の光量に応じた受光信号を出力する。受光器は、複数の画素(受光素子)が所定の領域に配設されたエリアセンサであり、それぞれの画素が、受光した反射光の光量に応じた受光信号を出力するものであるとよい。また、受光器が出力する受光信号は、位相値や評価データを求める場合に使用する際に増幅したり離散化したりしたものであってもよい。
上記強度制御手段は、測定対象物に形成される縞模様の縞位相が縞走査手段によって複数の異なる位相とされる場合の各々について、所定の複数の強度の照射光が照射できるように照射光の強度を制御するものである。例えば、縞位相が初期の位相に0,π/4,π/2,3π/4,π,5π/4,3π/2,7π/4,2πを追加した位相へと変化する場合に、それぞれの場合について、例えば強度が大、中、小である照射光が測定対象物に照射される。上記所定の複数の異なる強度の数は任意であるが、異なる強度のそれぞれの値は、異なる縞位相間で共通であるとよい。例えば、照射光の強度レベルをレベル0,1,2(レベル0<レベル1<レベル2)で表した場合、縞位相が異なる各々の位相である場合についてレベル0,1,2の3種類の強度の光が測定対象物に照射されるように、照射光の強度が強度制御手段により制御されるのがよい。
また、照射光の強度の制御方法としては、例えば光照射手段にレーザー光源を用いる場合に、このレーザー光源に供給する電流および電圧を変化させることにより照射光の強度を制御する方法が採用され得る。
上記評価データ算出手段は、上記所定の複数の異なる強度で測定対象物に照射光が照射されている各々の場合ごとに評価データを算出する。例えば上記例のように照射光の強度をレベル0,1,2の3種類に変更する場合には、強度がレベル0である場合における評価データ、レベル1である場合における評価データ、レベル2である場合における評価データをそれぞれ算出する。
上記評価データ抽出手段は、例えば上記例のように照射光の強度がレベル0である場合における評価データ、レベル1である場合における評価データ、レベル2である場合における評価データが算出された場合には、これらの中から3次元形状データの測定精度が良好になる受光信号に基づいて算出された評価データを抽出するものである。このような抽出は各強度の照射光ごとに算出された評価データを所定の値と比較したり、あるいは相対的に比較したりして、各評価データを評価することにより行う。また、上記形状データ作成手段は評価データ抽出手段が抽出した評価データの算出の基となる受光信号から求められる位相値に基づいて測定対象物の3次元形状データを作成する。この場合、形状データ作成手段は、上記のようにして求められる位相値が対応する縞模様における縞のラインを検出し、検出した縞のラインと上記位相値を算出した受光器における受光位置とを用いて測定対象物の3次元座標値を計算するものであるとよい。
上記位相値は、受光器が出力する受光信号に基づいて求められる。この位相値は、具体的には、受光器のそれぞれの受光位置(各画素)において、測定対象物に形成される縞模様の縞位相が複数の異なる位相に変更されるごとに受光器が受光した反射光の光量変化を表す光量曲線の初期位相であって、これは光量曲線と基準となる曲線の位相差ともいえる。光量曲線は一般に正弦波とされる。
また、上記発明において、前記データ処理手段は、前記受光器における前記反射光の前記受光位置ごとに、前記受光器が出力する受光信号に基づいて前記所定の複数の異なる強度で照射光を測定対象物に照射している各々の場合について位相値を算出する位相値算出手段と、前記評価データ抽出手段が抽出した評価データの算出に用いた受光信号に基づいて前記位相値算出手段が算出した位相値を選択する位相値選択手段とを備え、前記形状データ作成手段は、前記位相値選択手段が選択した位相値に基づいて測定対象物の3次元形状データを作成するものであるとよい。これによれば、所定の複数の異なる強度で照射光を測定対象物に照射している各々の場合について、評価データとともに位相値が算出される。そして、評価データ抽出手段によって抽出された評価データを算出する基となる受光信号に基づいて算出された位相値を用いて測定対象物の3次元形状データが作成される。
また、上記発明において、前記データ処理手段は、前記評価データ抽出手段が抽出した評価データの算出に用いた受光信号を選択する受光信号選択手段と、前記受光信号選択手段が選択した受光信号に基づいて位相値を算出する選択位相値算出手段と、を備え、前記形状データ作成手段は、前記選択位相値算出手段が算出した位相値に基づいて測定対象物の3次元形状データを作成するものであってもよい。これによれば、全ての評価データに対応する位相値は算出されず、抽出された評価データに対応する位相値のみが算出される。そして、算出した位相値を用いて測定対象物の3次元形状データが作成される。
また、本発明の他の特徴は、測定対象物に明部と暗部が周期的に繰り返される縞模様を形成するように、測定対象物に照射光を照射する光照射手段と、測定対象物に形成される前記縞模様のそれぞれの箇所における位相である縞位相が複数の異なる位相となるように前記縞位相を変更する縞走査手段と、前記縞位相が前記複数の異なる各々の位相である場合に測定対象物に照射された照射光の反射光を受光するとともに、受光した反射光の光量に応じた受光信号を出力する受光器と、前記受光器が出力する受光信号に基づいて前記受光器にて受光する光の光量変化を表す光量曲線の位相値を前記受光器における反射光の受光位置ごとに算出し、算出した位相値に基づいて測定対象物の3次元形状データを作成するデータ処理手段と、を備える3次元形状測定装置において、前記受光器は、前記縞位相が前記複数の異なる各々の位相である場合に所定の複数の異なる受光時間にて反射光を受光し、受光した反射光の光量に応じた受光信号を前記所定の複数の異なる受光時間にて反射光を受光する各々の場合ごとに出力し、前記データ処理手段は、前記受光器における前記反射光の前記受光位置ごとに、前記受光器が出力する受光信号から得られる位相値に基づいて測定対象物の3次元形状データを作成した場合における当該3次元形状データの測定精度に関する評価データを、前記受光信号に基づいて前記所定の複数の異なる受光時間にて前記受光器が反射光を受光する各々の場合ごとに算出する評価データ算出手段と、
前記評価データ算出手段が前記所定の複数の異なる受光時間にて前記受光器が反射光を受光する各々の場合ごとに算出した評価データの中から、その評価データの算出に用いた受光信号から得られる位相値を用いて測定対象物の3次元形状データを作成した場合における当該3次元形状データの測定精度が良好になる評価データを抽出する評価データ抽出手段と、前記評価データ抽出手段が抽出した評価データを算出する受光信号から得られる位相値に基づいて測定対象物の3次元形状データを作成する形状データ作成手段と、を備え、前記評価データは、前記光量曲線と、前記光量曲線の周波数に等しい正弦曲線とのずれ量に相当するデータを含み、前記ずれ量に相当するデータは、前記光量曲線をフーリエ変換することにより得られる度数分布における全体の度数に対する前記縞模様の周波数を示す度数の比であるものとしたことにある。
上記発明に係る3次元形状測定装置によれば、受光器は、測定対象物に照射された照射光の反射光を受光する際に、測定対象物に形成される縞模様の縞位相が複数の異なる位相である場合の各々につき、所定の複数の異なる受光時間にて反射光を受光し、受光した反射光の光量に応じた受光信号を上記所定の複数の異なる受光時間にて反射光を受光する各々の場合について出力する。この受光信号に基づき、当該受光信号から得られる位相値を基に測定対象物の3次元形状を測定した場合における測定精度に関する評価データが上記所定の複数の異なる受光時間にて受光器が反射光を受光したそれぞれの場合について算出される。算出された評価データの中から、測定対象物の3次元形状データの測定精度が良好になる評価データが抽出される。こうして抽出された評価データの算出に用いた受光信号から得られる位相値に基づいて、測定対象物の3次元形状データが作成される。
このように、本発明の3次元形状測定装置は、測定対象物に形成される縞模様の縞位相が各々の位相である場合につき、受光器は複数の異なる受光時間にて反射光を受光する。受光時間は受光器が反射光を受光するときの受光感度を表す。このため受光器は、測定対象物の同一箇所において複数の異なった受光感度で反射光を受光することになる。そして、それぞれの受光感度にて受光した反射光の受光信号から測定対象物の3次元形状データの測定精度に関する評価データが求められる。よって、上記複数の異なる受光時間にて反射光を受光した各々の場合について算出された評価データを評価し、この中から測定対象物の3次元形状データの測定精度が良好になる評価データを抽出することによって、上記複数の受光時間にて反射光を受光した各々の場合について受光された反射光の受光信号(あるいはそれぞれの受光信号から得られる位相値)の中から、その照射光の照射位置における反射率に最も見合った受光感度で反射光を受光しているときの受光信号(あるいはその受光信号から得られる位相値)を選択することができる。したがって、選択した受光信号から算出される位相値(あるいは選択した位相値)を用いて測定対象物の3次元形状データを作成することにより、測定対象物の反射率の変化による3次元形状データの測定精度の悪化を防止あるいは抑制することができる。
上記受光時間とは、受光器が反射光を受光している時間のことである。受光器は、上記受光時間中に受光する反射光の光エネルギーに相当する物理量を蓄積し、蓄積した物理量に相当する強度の信号を出力するものであるとよい。このような受光器として、CCDやCMOSなどの受光素子を用いた受光器を採用することができる。この場合には、上記受光時間は、これらの素子が反射光を受光する時間、より具体的にはこれらの素子に電荷が蓄積される時間(電荷蓄積時間)となる。上記受光時間は、CPU,ROM,RAMなどのマイクロコンピュータからなる制御装置が受光器に指令を出力することにより設定することができる。また、受光器は、測定対象物に形成される縞模様の縞位相が縞走査手段によって複数の異なる位相とされる場合の各々について、所定の複数の受光時間にて反射光を受光する。例えば、縞位相が初期の位相に0,π/4,π/2,3π/4,π,5π/4,3π/2,7π/4,2πを追加した位相へと変化する場合に、それぞれの場合について、例えば受光時間が長、中、短である3通りの受光時間にてそれぞれ反射光を受光する。上記所定の複数の異なる受光時間の数は任意であるが、異なる受光時間のそれぞれの時間の長さは、異なる縞位相間で共通であるとよい。例えば、受光時間をA,B,C(A<B<C)で表した場合、縞位相が異なる各々の位相である場合についてA,B,Cの3通りの受光時間で受光器が反射光を受光するようにするとよい。
上記評価データ算出手段は、受光器が上記所定の複数の異なる受光時間にて反射光を受光している各々の場合ごとに評価データを算出する。例えば上記例のように受光器がA,B,Cの3種類の受光時間にて反射光を受光する場合には、受光時間Aにて反射光を受光した場合の受光信号から得られる評価データ、受光時間Bにて反射光を受光した場合の受光信号から得られる評価データ、受光時間Cにて反射光を受光した場合の受光信号から得られる評価データ、をそれぞれ算出する。
上記評価データ抽出手段は、例えば上記例のように受光時間Aにて反射光を受光した場合の受光信号から得られる評価データ、受光時間Bにて反射光を受光した場合の受光信号から得られる評価データ、受光時間Cにて反射光を受光した場合の受光信号から得られる評価データが算出された場合には、これらの中から3次元形状データの測定精度が良好になる受光信号に基づいて算出された評価データを抽出するものである。このような抽出は各受光時間ごとに算出された評価データを所定の値と比較したり、あるいは相対的に比較したりして、各評価データを評価することにより行う。また、上記形状データ作成手段は評価データ抽出手段が抽出した評価データの算出の基となる受光信号から求められる位相値に基づいて測定対象物の3次元形状データを作成する。この場合、形状データ作成手段は、上記のようにして求められる位相値が対応する縞模様における縞のラインを検出し、検出した縞のラインと上記位相値を算出した受光器における受光位置とを用いて測定対象物の3次元座標値を計算するものであるとよい。
また、上記発明において、前記データ処理手段は、前記受光器における前記反射光の前記受光位置ごとに、前記受光器が出力する受光信号に基づいて前記所定の複数の異なる受光時間にて前記受光器が反射光を受光する各々の場合について位相値を算出する位相値算出手段と、前記評価データ抽出手段が抽出した評価データの算出に用いた受光信号に基づいて前記位相値算出手段が算出した位相値を選択する位相値選択手段を備え、前記形状データ作成手段は、前記位相値選択手段が選択した位相値に基づいて測定対象物の3次元形状データを作成するものであるとよい。これによれば、所定の複数の異なる受光時間にて反射光を受光する各々の場合について、評価データとともに位相値が算出される。そして、評価データ抽出手段によって抽出された評価データが算出された受光信号に基づいて算出された位相値を用いて測定対象物の3次元形状データが作成される。
また、上記発明において、前記データ処理手段は、前記評価データ抽出手段が抽出した評価データの算出に用いた受光信号を選択する受光信号選択手段と、前記受光信号選択手段が選択した受光信号に基づいて位相値を算出する選択位相値算出手段と、を備え、前記形状データ作成手段は、前記選択位相値算出手段が算出した位相値に基づいて測定対象物の3次元形状データを作成するものであるとよい。これによれば、全ての評価データに対応する位相値は算出されず、抽出された評価データに対応する位相値のみが算出される。そして、算出した位相値を用いて測定対象物の3次元形状データが算出される。
本発明における評価データは、その評価データに対応する受光信号、つまりその評価データが算出される基となった受光信号から得られる位相値を用いて測定対象物の3次元形状データを作成した場合に、その3次元形状データの測定精度に関連するデータである。よって、この評価データの良否により3次元形状データの測定精度の良否も決まる。ここで、3次元形状データは位相値を用いて求められるため、3次元形状データの測定精度は位相値の精度の良否に依存する。したがって、この評価データは位相値の精度の良否を判断するものともいえる。評価データは、測定対象物に形成される縞模様の縞位相が複数の異なる位相である場合の各々について受光された受光信号に基づいて算出されるものであるとよい。また、位相値は受光器にて受光する光の光量曲線の位相値であるから、評価値もこの光量曲線から求められて、光量曲線の形状に関連するものであるのがよい。本発明において、上記評価データは、光量曲線とこの光量曲線の周波数に等しい正弦曲線とのずれ量に相当するデータを含む。この場合、上記評価データは、光量曲線の極大値に相当するデータを含むものであるのがよい。評価データをこのような極大値やずれ量とすることにより、より正確に測定精度を評価することができる。また、上記ずれ量に相当するデータは、前記光量曲線をフーリエ変換することにより得られる度数分布における全体の度数に対する前記縞模様の周波数を示す度数の比である。これによれば、より正確にずれ量を求めることができる。さらに上記光量曲線がデジタルデータとして得られる場合は、得られるデジタルデータを離散フーリエ変換することにより得られる度数分布における全体の度数に対する前記縞模様の周波数あるいは周波数範囲を示す度数の比をずれ量とするとよい。
また、本発明の他の特徴は、測定対象物に明部と暗部が周期的に繰り返される縞模様を形成するように、測定対象物に照射光を照射する光照射ステップと、測定対象物に形成される前記縞模様のそれぞれの箇所における位相である縞位相が複数の異なる位相となるように前記縞位相を変更する縞走査ステップと、前記縞位相が前記複数の異なる各々の位相である場合に、照射光が所定の複数の異なる強度で測定対象物に照射されるように、照射光の強度を変更する強度変更ステップと、前記縞位相が前記複数の異なる各々の位相である場合に、照射光が前記所定の複数の異なる強度にて測定対象物に照射される各々の場合ごとに照射光の反射光を受光器が受光し、受光した反射光の光量に応じた受光信号を前記受光器が出力する受光ステップと、前記受光器における反射光の受光位置ごとに、前記受光ステップにて前記受光器が出力する受光信号から得られる位相値に基づいて測定対象物の3次元形状データを作成した場合における当該3次元形状データの測定精度に関する評価データを、前記受光信号に基づいて前記所定の複数の異なる強度の照射光が測定対象物に照射される各々の場合について算出する評価データ算出ステップと、前記評価データ算出ステップにて前記所定の複数の異なる強度で照射光を測定対象物に照射する各々の場合ごとに算出された評価データの中から、その評価データの算出に用いた受光信号に基づいて算出される位相値を用いて測定対象物の3次元形状データを作成した場合における当該3次元形状データの測定精度が良好になる評価データを抽出する評価データ抽出ステップと、前記評価データ抽出ステップにて抽出された評価データを算出する受光信号から得られる位相値に基づいて測定対象物の3次元形状データを作成する形状データ作成ステップと、を含み、前記評価データ算出ステップは、前記評価データが、前記光量曲線と前記光量曲線の周波数に等しい正弦曲線とのずれ量に相当するデータとして、前記光量曲線をフーリエ変換することにより得られる度数分布における全体の度数に対する前記縞模様の周波数を示す度数の比を含むように、前記評価データを算出する、3次元形状測定方法とすることにある。この方法によっても、位相シフト法により測定対象物の3次元形状を測定する場合において、測定対象物の反射率が場所によって大きく異なっても、精度よく形状測定を行うことができる。
この場合、上記方法は、前記受光器における前記反射光の前記受光位置ごとに、前記受光ステップにて前記受光器が出力する受光信号に基づいて前記所定の複数の異なる強度で照射光を測定対象物に照射している各々の場合について位相値を算出する位相値算出ステップと、前記評価データ抽出ステップにて抽出された評価データの算出に用いた受光信号に基づいて前記位相値算出ステップにて算出される位相値を選択する位相値選択ステップとをさらに含んだものとし、前記形状データ作成ステップは、前記位相値選択ステップにて選択された位相値に基づいて測定対象物の3次元形状データを作成するものであるとよい。あるいは、上記方法は、前記評価データ抽出ステップにて抽出された評価データの算出に用いた受光信号を選択する受光信号選択ステップと、前記受光信号選択ステップにて選択された受光信号に基づいて位相値を算出する選択位相値算出ステップと、をさらに含んだものとし、前記形状データ作成ステップは、前記選択位相値算出ステップにて算出された位相値に基づいて測定対象物の3次元形状データを作成するものであってもよい。
また、本発明の更に他の特徴は、測定対象物に明部と暗部が周期的に繰り返される縞模様を形成するように、測定対象物に照射光を照射する光照射ステップと、測定対象物に形成される前記縞模様のそれぞれの箇所における位相である縞位相が複数の異なる位相となるように前記縞位相を変更する縞走査ステップと、前記縞位相が前記複数の異なる各々の位相である場合に、受光器が所定の複数の異なる受光時間にて照射光の反射光を受光し、受光した反射光の光量に応じた受光信号を前記受光器が出力する受光ステップと、前記受光器における反射光の受光位置ごとに、前記受光ステップにて前記受光器が出力する受光信号から得られる位相値に基づいて測定対象物の3次元形状データを作成した場合における当該3次元形状データの測定精度に関する評価データを、前記受光信号に基づいて前記所定の複数の異なる受光時間にて受光した各々の場合について算出する評価データ算出ステップと、前記評価データ算出ステップにて前記所定の複数の異なる受光時間にて前記受光器が反射光を受光する各々の場合ごとに算出された評価データの中から、その評価データの算出に用いた受光信号に基づいて算出される位相値を用いて測定対象物の3次元形状データを作成した場合における当該3次元形状データの測定精度が良好になる評価データを抽出する評価データ抽出ステップと、前記評価データ抽出ステップにて抽出された評価データを算出する受光信号から得られる位相値に基づいて測定対象物の3次元形状データを作成する形状データ作成ステップと、を含み、前記評価データ算出ステップは、前記評価データが、前記光量曲線と前記光量曲線の周波数に等しい正弦曲線とのずれ量に相当するデータとして、前記光量曲線をフーリエ変換することにより得られる度数分布における全体の度数に対する前記縞模様の周波数を示す度数の比を含むように、前記評価データを算出する、3次元形状測定方法とすることにある。この方法によっても、位相シフト法により測定対象物の3次元形状を測定する場合において、測定対象物の反射率が場所によって大きく異なっても、精度よく形状測定を行うことができる。
この場合、上記方法は、前記受光器における前記反射光の前記受光位置ごとに、前記受光ステップにて前記受光器が出力する受光信号に基づいて前記所定の複数の異なる受光時間にて前記受光器が反射光を受光する各々の場合について位相値を算出する位相値算出ステップと、前記評価データ抽出ステップにて抽出された評価データの算出に用いた受光信号に基づいて前記位相値算出ステップにて算出された位相値を選択する位相値選択ステップとをさらに含むものとし、前記形状データ作成ステップは、前記位相値選択ステップにて選択した位相値に基づいて測定対象物の3次元形状データを作成するものであるとよい。あるいは、上記方法は、前記評価データ抽出ステップにて抽出された評価データの算出に用いた受光信号を選択する受光信号選択ステップと、前記受光信号選択ステップにて選択された受光信号に基づいて位相値を算出する選択位相値算出ステップと、をさらに含むものとし、前記形状データ作成ステップは、前記選択位相値算出ステップにて算出された位相値に基づいて測定対象物の3次元形状データを作成するものであってもよい。
(第1実施形態)
以下、本発明の第1実施形態について説明する。図1は本発明を適用した位相シフト法による3次元形状測定装置の全体構成図である。この3次元形状測定装置1は、3次元センサ10と、データ処理装置30と、コントローラ50と、入力装置52と、表示装置54とを備えて構成されている。3次元センサ10は、レーザー光を測定対象物OBに照射するとともに測定対象物OBに照射されたレーザー光の反射光を受光して受光信号を出力するものである。この3次元センサ10は、レーザー光を出射する照射装置11と、測定対象物OBに照射されたレーザー光の反射光を受光する受光装置12と、照射装置11から出射するレーザー光を制御する制御回路13とを備える。
照射装置11は、レーザー光源112と、コリメーティングレンズ114と、液晶フィルタ116と、拡張レンズ118とを備える。レーザー光源112は半導体レーザーなどで構成されており、供給される電流や電圧に応じた強度のレーザー光を出射する。コリメーティングレンズ114はレーザー光源112から出射したレーザー光が入射する位置に配置しており、入射したレーザー光を平行光とする。液晶フィルタ116は、コリメーティングレンズ114で平行光にされたレーザー光が入射する位置に配置しており、液晶により所定の画像を表示している。拡張レンズ118は液晶フィルタ116を通過したレーザー光が入射する位置に配置しており、入射したレーザー光を拡大して測定対象物OBの照射面全体にレーザー光を照射する。上記液晶フィルタ116には、後述する画像データ供給回路132から供給される画像データに基づいて、縞状のラインが等間隔で周期的に繰り返された縞模様が描かれている。照射装置11は、レーザー光源112から出射したレーザー光を上述したような縞模様が描かれた液晶フィルタ116を介して測定対象物OBに照射し、この照射により測定対象物OBに明部と暗部とが周期的に繰り返される縞模様Aを形成するものであって、本発明の光照射手段に相当する。
受光装置12は、集光レンズ122および本発明の受光器としてのフォトセンサ124を備える。集光レンズ122は測定対象物OBに照射されたレーザー光の反射光が入射し得る位置に配置しており、入射する反射光を集光する。フォトセンサ124は測定対象物OBに照射されたレーザー光の反射光を上記集光レンズ122を介して受光し、受光した反射光に応じた受光信号を出力する。本実施形態において、フォトセンサ124はCCDまたはCMOSなどの画素(受光素子)を面状に配置したエリアセンサであり、それぞれの画素が反射光の光量に応じた信号(受光信号)を出力する。
制御回路13は、画像データ供給回路132と、レーザー駆動回路134と、レーザー強度制御回路136とを備える。画像データ供給回路132は、後述するコントローラ50からの指令信号に基づいて、液晶フィルタ116に画像データを供給する。画像データ供給回路132は回路内のメモリに画像データを記憶しており、コントローラ50から指令を受けると液晶フィルタ116を構成するそれぞれの液晶に透過率データである画像データを供給する。この供給によって液晶フィルタ116は縞模様を形成する。液晶フィルタ116に形成される縞模様は縞のライン方向に直角な方向における輝度分布が正弦曲線となっているものである。また画像データ供給回路132のメモリには、基準となる輝度分布を持つ画像データ(基準画像データ)と、この基準画像データから位相をずらした複数の画像データが記憶されており、コントローラ50から位相の指令を受けることにより、基準画像データから指令された位相だけずれた画像データを出力する。このため測定対象物OBに形成された縞模様は、コントローラ50からの位相の指令によって1周期の範囲内で縞模様のそれぞれの箇所における位相である縞位相を変化させることが可能となる。本実施形態では、画像データ供給回路132は、基準画像データと、この基準画像データに対して位相が1/4πずつシフトした8つの画像データを記憶している。したがって、画像データ供給回路132から液晶フィルタ116に供給する画像データを変更することによって、測定対象物OBに形成される縞模様の縞位相も変化する。つまり、画像データ供給回路132は、コントローラ50からの指令に基づいて測定対象物OBに形成される縞模様の縞位相を複数の異なった位相となるように変更することができるものであり、本発明の縞走査手段に相当する。
レーザー駆動回路134は、コントローラ50および後述のレーザー強度制御回路136からの指令に基づいて、レーザー光源112にレーザー光を出射するための電流および電圧を供給する。レーザー強度制御回路136は本発明の強度制御手段に相当し、コントローラ50からレーザー光の強度の制御に関する指令信号を入力するとともに、レーザー光源112から出射するレーザー光の強度が入力した指令信号に応じたレーザー強度となるように、レーザー駆動回路134がレーザー光源112に出力する電流および電圧を制御する。このレーザー強度制御回路136からの指示によって、レーザー光源112からは強度の異なったレーザー光が出射される。また、レーザー強度制御回路136は、コントローラ50からの指令に基づいてレーザー光の強度を変更することによって、測定対象物OBに形成される縞模様の縞位相の一つの状態につき複数の強度の照射光をそれぞれ照射するように、レーザー光の強度を制御する。このため、測定対象物OBに形成される縞模様の縞位相が複数の異なる各々の位相である場合に、複数の異なる強度のレーザー光によって縞模様が形成される。本実施形態において、レーザー強度制御回路136は後述するようにレーザー光の強度レベルを3段階に設定している。
データ処理装置30は本発明のデータ処理手段に相当し、センサ信号取出し回路32と、データ演算回路34と、3次元画像生成装置36とを備える。センサ信号取出し回路32は、フォトセンサ124に信号を出力することによってフォトセンサ124の各画素にて受光した反射光の光量に応じた信号(受光信号)を出力させ、このようにして出力させた信号を入力する。そして、各画素から入力した信号を増幅し、信号強度をデジタルデータ(センサデータ)にしてデータ演算回路34へ出力する。フォトセンサ124における受光時間、つまり各画素に信号を出力させる時間間隔(電荷蓄積時間)は、コントローラ50から適宜設定される。本実施形態ではこの電荷蓄積時間は一定とされる。
データ演算回路34は、コントローラ50からの指令に基づいて、センサ信号取出し回路32が出力するセンサデータの中から、フォトセンサ124内の画素P(α,β)(α:フォトセンサ124内のx軸方向における画素番号、β:フォトセンサ124内のy軸方向における画素番号)のセンサデータを取り込み、回路内のメモリに記憶する。また、コントローラ50からの指令に基づいて、記憶したセンサデータから画素(受光位置)ごとに位相値φ、光量曲線の極大値H、光量曲線の正弦曲線からのずれ量Eを計算し、3次元画像生成装置36へ出力する。計算する各値の詳細は後述する。
3次元画像生成装置36はデータ演算回路34から入力した値を基に、図3に示すプログラムフローチャートに従った処理を行って、フォトセンサ124の画素P(α,β)ごとに最適な位相値φ(α,β)を選択する。そして、通常の位相シフト法による3次元形状測定と同様に、選択した位相値φ(α,β)に対応する位相値を持つ照射光の縞模様の縞のラインを検出し、予め3次元画像生成装置36に記憶されている縞のラインと照射方向θxとの関係を示すテーブルから上記照射方向θxを求め、フォトセンサ124の画素P(α,β)の受光位置(X(α),Y(β))に対応する反射光の方向と上記照射方向θxから測定対象物OB上のレーザー光の照射部位の3次元座標値(x,y,z)を計算する。さらにこの3次元座標値(x,y,z)の集合(点群データ)から測定対象物OBの3次元画像データを生成して表示装置54に出力する。
なお、照射方向θxは、測定対象物OBに形成される縞模様の所定の縞(例えば図1における縞S)のラインと照射装置11から出射したレーザー光の焦点Rとが含まれる平面と、照射装置11から出射してコリメーティングレンズ114により平行光とされたレーザー光の光軸Lとがなす角度である。また、位相値を基に画素P(α,β)と縞模様の縞のラインとを対応させる場合において、位相値は0〜2πの間で変化するため同じ位相値の画素や縞位相が複数存在する。このため本実施形態では、基準画像データにおいて輝度分布が正弦波形となっている縞模様の中に1箇所光量が周囲と大きく異なるライン(例えば明部に一本の暗のラインあるいは暗部に一本の明のライン)を設け、この箇所を所定の画素P(α,β)と1対1に対応させ、この箇所から順に、位相値に基づいて縞のラインと画素P(α,β)とを対応させるようにしている。縞のラインと画素P(α,β)とを1対1で対応させるための基準となる箇所の検出方法にはいくつか方法があり、例えば縞模様の中に1箇所光量が周囲と大きく異なるポイントを設けて特定ポイントを検出する上記に示した方法でもよいし、縞模様の光照射とは別に所定のポイントやラインを照射して特定ポイントを検出する方法でもよいし、縞模様の輝度分布における正弦波形の振幅、あるいは周波数を変化させてこれらの変化に基づいて特定ポイントを検出する方法でもよい。
表示装置54は3次元画像生成装置36から入力した3次元画像データから生成される3次元画像を表示する。入力装置52は3次元形状測定開始の入力、レーザー光強度の設定、データ演算回路34がデータを取り込むときの縞模様の移動位置(位相シフト量の値)の設定など、いくつかの設定を行う。
コントローラ50は、CPU,ROM,RAMなどからなるマイクロコンピュータを主要構成部品としており、入力装置52からの入力指示に基づいて各種回路および3次元画像生成装置36に指令信号を出力してこれらの作動を制御する制御手段としての機能を果たす。
このように構成された3次元形状測定装置1において、作業者が入力装置52から測定開始の指令を入力すると、コントローラ50は図2に示す測定プログラムをスタートさせる。以下、この測定プログラムに従って説明する。なお、本実施形態では、測定対象物OBに形成される縞模様の縞位相をπ/4ずつ変化させ、レーザー強度レベルを3段階で変化させるようにしたが、この変化のさせ方は適宜変更してもよい。
この測定プログラムは図のステップS100にて開始され、ステップS102にて位相カウンタnおよび強度カウンタmを初期化(n=0,m=0)する。次いで、ステップS104にて各種回路を起動する。次に、ステップS106にて画像データ供給回路132に対し基準画像から位相がn・(π/4)ずれた画像パターンを出力するように指令を出力する。ここで、ステップS106を最初に通過する場合には位相カウンタnが0とされているので、画像データ供給回路132は位相のずれが0の画像パターン、すなわち基準画像を出力する。これにより、液晶フィルタ116には基準画像の縞模様が表示される。
続いて、コントローラ50はステップS108に進み、レーザー光の強度レベルをレベルmに設定し、その設定値をレーザー強度制御回路136に出力する。ここで、本実施形態において、レーザー光の強度レベルはレベル0,レベル1,レベル2の3段階とされ、レベル0が最も小さい強度であり、レベル2が最も大きい強度であり、レベル1はレベル0とレベル2との中間の強度である。レーザー強度制御回路136はレーザー光がコントローラ50によって指定された強度レベルに応じた強度となるように、レーザー駆動回路134がレーザー光源112に供給する電流および電圧を制御する。
上記ステップS102〜S108までの処理の実行によって、レーザー光源112から強度レベルがレベルmであるレーザー光が出射する。レーザー光源112から出射されたレーザー光はコリメーティングレンズ114により平行光とされた後に液晶フィルタ116に入射し、拡張レンズ118を経て測定対象物OBに照射される。液晶フィルタ116には基準画像から位相がn・(π/4)だけシフトした画像パターンが描かれている。上述したようにこの画像パターンは縞模様であって、縞のライン方向と直角な方向に沿って輝度が正弦曲線状とされている。よって、測定対象物OBには液晶フィルタ116に描かれた縞模様が投影され、測定対象物OBの全体に明部と暗部が周期的に繰り返される縞模様が形成される(光照射ステップ)。この縞模様を形成する照射光の反射光はフォトセンサ124に受光される。フォトセンサ124を構成する各画素P(α,β)は、それぞれの受光位置にて反射光をそれぞれ受光し、受光した反射光の光量に応じた受光信号をセンサ取出し回路32に出力する。
次いで、コントローラ50は、ステップS109にてフォトセンサ124の電荷蓄積時間より長い時間として設定された所定時間Tが経過するのを待ってステップS110に進み、データ演算回路34にセンサデータD(n,m)を取り込むように指示する。これによりデータ演算回路34はセンサ信号取出し回路32からセンサデータD(n,m)を取り込む。このセンサデータD(n,m)は、位相カウンタがn、強度カウンタがmであるときに測定対象物OBに照射されたレーザー光の反射光をフォトセンサ124が受光して、フォトセンサ124の各画素P(α,β)が出力する受光信号をセンサ信号取出し回路32が増幅して信号強度をデジタルデータにしたデータである。よって、センサ信号取出し回路32からデータ演算回路34に入力するセンサデータはフォトセンサ124の各画素P(α,β)が出力する受光信号であると言え、各画素(α,β)が受光した光量のデータと考えてよい。この場合において、上述のようにフォトセンサ124はエリアセンサであって、縦方向(x方向)および横方向(y方向)に複数の画素が配列されており、各画素P(α,β)はフォトセンサ124内でそれぞれ受光位置を示す座標値(X(α),Y(β))を持つ。データ演算回路34はこのステップS110にて、各画素P(α,β)における受光信号のデータ(受光データ)を、その画素の受光位置である座標値(X(α),Y(β))と対応付けて取り込む。
その後、コントローラ50はステップS112に進み、強度カウンタmが3以上であるかを判定する。最初にこのステップを通過するときは強度カウンタmは0であるから、このステップにおける判定は「No」となってステップS114に進む。ステップS114では強度カウンタmをインクリメントする。そして、ステップS108に戻る。このようにしてステップS108〜S114を繰り返し実行するにつれ、ステップS114にて強度カウンタmが0,1,2とインクリメントされていく。この結果、測定対象物OBに照射するレーザー光の位相状態が所定の状態(基準画像からn・(π/4)だけシフトした位相状態)である間に、測定対象物OBには強度が小(m=0:レベル0)、中(m=1:レベル1)、大(m=2:レベル2)であるそれぞれのレーザー光が照射され、上記それぞれの強度のレーザー光によって測定対象物OBに縞模様が形成される(強度変更ステップ)。そして、ステップS110にてデータ演算回路34は、それぞれの強度のレーザー光により測定対象物OBに縞模様が形成されているごとにセンサデータD(n,m)を取り込む。ステップS112の判定が「Yes」となった場合にはステップS116に進む。
ステップS116では、位相カウンタnが9以上であるかを判定する。最初にこのステップを通過するとき位相カウンタnは0であるから、このステップにおける判定は「No」となってステップS118に進む。ステップS118では位相カウンタnがインクリメントされ、続くステップS120にて強度カウンタmが初期化(m=0)される。そして、ステップS106に戻る。ステップS106〜S120を繰り返し実行することにより、ステップS118にて位相カウンタnが順次インクリメントされるので、画像データ供給回路132が液晶フィルタ116に出力する画像パターンの縞位相がステップS106〜S120を繰り返すごとに順次π/4ずつシフトしていく。このため測定対象物OBには、最初に形成される縞模様の縞位相が0,π/4,π/2,3π/4,π,5π/4,3π/2,7π/4,2πだけシフトした9個の縞模様が順次形成される(縞走査ステップ)。また、測定対象物OBに形成される縞模様がそれぞれの位相状態を採っている間に、ステップS108〜S114の繰り返しによりレーザー光の強度レベルが順次レベル0,レベル1,レベル2に変化する。したがって、フォトセンサ124は測定対象物OBに形成される縞模様の縞位相の位相シフト量が上記した複数の異なる位相の各々である場合に、3種類の強度で照射された照射光の反射光をそれぞれ受光し、受光した反射光の光量に応じた受光信号を縞位相の各状態ごとに出力する(受光ステップ)。また、データ演算回路34は、ステップS110にて、フォトセンサ124が出力する受光信号から得られるセンサデータ(受光データ)をセンサ取出し回路32を介して縞位相のそれぞれの状態ごとに、且つそれぞれの強度にて照射光が照射されている場合ごとに、各受光位置(各画素)について取得する。このためデータ演算回路34には、表1に示すセンサデータD(n,m)が取り込まれることになる。
上記表1において、α
mは画素位置のX座標の最後の番号を示し、β
mは画素位置のY座標の最後の番号を示す。表1からわかるように、データ演算回路34は、フォトセンサ124のそれぞれの画素P(α,β)について、縞位相が各状態であるときのセンサデータを3段階の強度ごとに取得する。
ステップS116にて位相カウンタnが9以上であると判定された場合には、ステップS122に進む。位相カウンタnが9以上であるということは、それ未満の位相カウンタn(n=0〜8)におけるセンサデータ、つまり縞模様の位相が0,π/4,π/2,3π/4,π,5π/4,3π/2,7π/4,2πである場合におけるセンサデータの取り込みが完了したことを示す。したがって、この場合はステップS122にて各種回路の作動を停止してレーザー光の照射を停止し、さらにステップS124に進んでこのステップS124にてデータ演算回路34に位相値φ(α,β,m)、光量曲線の極大値H(α,β,m)、光量曲線の正弦曲線からのずれ量E(α,β,m)の計算を行わせる。位相値φ(α,β,m)の計算は、センサデータD(0,m)〜D(8,m)を従来技術に記載した計算式に当てはめて計算してもよいが、本実施形態ではノイズを除去して位相値を求めることが可能なフーリエ変換により計算する方法を使用する。
すなわち、位相値φ(α,β,m)を求めようとする画素P(α,β)に対応するセンサデータD(0,m)〜D(8,m)を結んだ曲線は正弦波形に近い周期曲線になる。したがって、上記対応するセンサデータD(0,m)〜D(8,m)を離散フーリエ変換し、所定の周波数範囲ごとに区切った度数分布図を作成すると、測定対象物OBに形成される縞模様の周波数近傍の周波数範囲にピークを持つ度数分布となる。縞模様の周波数近傍の周波数範囲以外の度数はノイズとみなせる。縞模様の周波数近傍の周波数範囲の度数を構成する値を逆フーリエ変換し、これにより表される正弦曲線の開始点における位相(基準の正弦曲線からの位相のずれ)をその画素P(α,β)における位相値φ(α,β,m)とする。このようにしてデータ演算回路34は、位相値φ(α,β,m)を、対応するそれぞれの画素P(α,β)の受光位置(X(α),Y(β))ごとに、且つ、照射されたレーザー光の強度ごと(つまり強度カウンタmごと)に求める(位相値算出ステップ)。
また、光量曲線の極大値H(α,β,m)は、画素P(α,β)におけるセンサデータD(0,m)〜D(8,m)を結んだ曲線の極大値であり、端的にセンサデータD(0,m)〜D(8,m)の最大値としてもよいし、これらのデータから正弦曲線を近似して光量曲線を推定し、その最大値を求めてもよい。光量曲線の正弦曲線からのずれ量E(α,β,m)は、本実施形態では画素P(α,β)におけるセンサデータD(0,m)〜D(8,m)をフーリエ変換して所定の周波数範囲ごとに区分した度数分布図を作成したときの全体の度数に対する縞模様の周波数近傍の周波数範囲の度数の割合である。この場合、位相値を算出する際に用いた度数分布図を利用することができる。なお、全体の度数に対する縞模様の周波数近傍の周波数範囲の度数以外の度数の割合をずれ量E(α,βm)としてもよい。また、フーリエ変換によらず、センサデータD(0,m)〜D(8,m)に基づいて最小二乗法により縞模様と等しい周波数の正弦曲線を求め、求めた正弦曲線と各センサデータD(0,m)〜D(8,m)との距離の二乗和をずれ量E(α,β,m)としてもよい。これらの極大値H(α,β,m)およびずれ量E(α,β,m)も、上記位相値φ(α,β,m)と同様にそれぞれの画素P(α,β)の受光位置(X(α),Y(β))ごとに、且つ、レーザー光の強度ごと(つまり強度カウンタmごと)に求める(評価データ算出ステップ)。
このようにして、データ演算回路34は、センサデータD(0,m)〜D(8,m)が入力された全ての画素P(α,β)において、対応するセンサデータD(n,m)に基づいて、レーザー光の強度レベルごとに、位相値φ(α,β,m)、光量曲線の極大値H(α,β,m)、光量曲線の正弦曲線からのずれ量E(α,β,m)を算出する。これらの計算データはデータ演算回路34から3次元画像生成装置36に送られる。したがって、3次元画像生成装置36には表2に示す値が入力される。
表2に示す通り、各画素P(α,β)において、測定対象物OBに照射されたレーザー光の強度レベルごとに、位相値φ(α,β,m)、極大値H(α,β,m)、ずれ量E(α,β,m)からなる3つのデータ群が得られる。なお、各画素において、表の点線で仕切られたデータ中の上段に示すデータ群はレーザー光の強度レベルが小(レベル0)であるときに算出されたデータ群、中段に示すデータ群はレーザー光の強度レベルが中(レベル1)であるときに算出されたデータ群、下段に示すデータ群はレーザー光の強度レベルが大(レベル2)であるときに算出されたデータ群である。
上記表2に示す値のうち、画素位置X(α)、画素位置Y(β)、位相値φ(α,β,m)は、測定対象物OBの3次元形状を計算する際に用いられる値であり、形状計算用データに該当する。
上記位相値φ(α,β,m)は、それが算出される基となるセンサデータD(n,m)の値が本来求めるべき位相値を表す正弦曲線に一致した値である場合には、算出した位相値を用いて測定対象物OBの3次元形状データを作成した場合にその3次元形状データの測定精度は良好なものとなる。一方、位相値φ(α,β,m)が算出される基となるセンサデータD(n,m)の値が本来求めるべき位相値を表す正弦曲線から大きくずれた値である場合には、算出した位相値を用いて測定対象物OBの3次元形状データを作成した場合にその3次元形状データの測定精度は悪いものとなる。よって、測定対象物OBの3次元形状データの測定精度はセンサデータD(n,m)の値に依存するところ、極大値H(α,β,m)やずれ量E(α,β,m)は、センサデータD(n,m)が本来求めるべき位相値を表す正弦曲線とどの程度異なっている値であるかを表す指標となり得る。例えば、極大値H(α,β,m)が大きすぎる場合には、センサデータD(n,m)が上限値に達しているおそれがあり、この場合にはセンサデータD(n,m)の値が本来の正弦曲線の値を示すことができていない可能性がある。また、ずれ量E(α,β,m)が小さすぎる場合(つまりずれが大きい場合)にはセンサデータD(n,m)の値が本来の正弦曲線上の値と大きくずれている可能性がある。このように、極大値H(α,β,m)およびずれ量E(α,β,m)は、センサデータD(n,m)の値が本来求めるべき位相値を表す正弦曲線からどの程度ずれているかを表すデータであり、換言すれば、上記位相値を用いて測定対象物OBの3次元形状データを作成した場合における、その3次元形状データの測定精度を表す評価データといえる。
ステップS124にて位相値および評価データの計算がされ、計算結果が3次元画像生成装置36に入力された後に、コントローラ50はステップS126に進み、このステップS126にて3次元画像生成装置36に図3に示す3次元形状データ計算プログラムを実行させて、画素ごとに得られた3つの位相値から最適な位相値を選び出し、選び出した位相値を用いて測定対象物OBの3次元形状を計算する。
図3に示す3次元形状データ計算プログラムは、フォトセンサ124の各画素P(α,β)においてレーザー光の強度ごとに得られた評価データを評価して、その評価データが属するデータ群中の形状計算用データによって測定対象物OBの3次元形状データを作成したときに測定精度が良好になる評価データを抽出し、抽出した評価データが属するデータ群の形状計算用データ(位相値および受光位置)を選択し、選択した形状計算用データを用いて測定対象物OBの3次元形状データを作成するプログラムである。このプログラムは図3のステップS200にて開始され、ステップS202にて画素の座標番号αおよびβを初期化(α=0,β=0)する。次いでステップS204に進み、画素P(α,β)において得られた評価データとしての極大値H(α,β,0)、H(α,β,1)、H(α,β,2)を取出し、この中から値が下限値A以上且つ上限値B以下である評価データを抽出する(評価データ抽出ステップ)。抽出の基準となる値AおよびBは、的確に光量曲線の極大値を特定することができるような上限値および下限値である。このステップの処理の実行により、図4(a)に示す光量曲線のように本来の極大値が大きすぎてセンサデータD(n,m)ではその極大値を示すことができない光量曲線や、図4(b)に示す光量曲線のように極大値が小さすぎて、明確な極大値を特定することができない光量曲線から求められた極大値が除外される。図4(a)に示す光量曲線は、例えば測定対象物の反射率が高い部分に強度の大きいレーザー光を照射したときの反射光を受光した場合に生成される可能性がある。図4(b)に示す光量曲線は、例えば測定対象物の反射率が低い部分に強度の小さいレーザー光を照射したときの反射光を受光した場合に生成される可能性がある。
ここで、図4(a)に示す光量曲線や、図4(b)に示す光量曲線は、上述のように正確な極大値を示すことができない可能性が高い。このような場合はセンサデータD(n,m)の値も本来求めるべき位相値を表す正弦曲線上の値から大きくずれている可能性が高い。よって、このようなセンサデータD(n,m)を用いて算出される位相値の精度も悪く、ひいてはその位相値から求められる測定対象物の3次元形状データの測定精度も悪くなる可能性が高い。よって、このステップS214では、上述ように測定対象物の3次元形状データの測定精度が悪くなると考えられる評価データを含むデータ群を除外し、測定精度が良好と考えられるデータ群を絞り込む処理を行っていることになる。
次に、3次元画像生成装置36はステップS206に進み、ステップS204にて抽出された評価データの個数が一つであるかを判定する。ステップS206における判定がYesである場合、つまり、ステップS204にて抽出された極大値Hが一つである場合はステップS210に進む。一方、ステップS206における判定がNoの場合は、次のステップS208に進む。
ステップS208では、レーザー光の強度ごとに求められた評価データとしてのずれ量E(α,β,0)、E(α,β,1)、E(α,β,2)を取り出し、このうちで最大のものを選択する(評価データ抽出ステップ)。このとき、上記のステップS204にて抽出されなかった極大値Hが属するデータ群からは、このステップS208にてずれ量Eを取り出さなくてもよい。また、この場合において、ずれ量EはセンサデータD(0,m)〜D(8,m)をフーリエ変換して所定の周波数範囲に区分した度数分布図を作成したときの全体の度数に対する縞模様の周波数近傍の周波数範囲の度数の割合であるため、ずれ量Eが大きいほどセンサデータD(0,m)〜D(8,m)が表す曲線の波形が正弦波形に近いことを示す。なお、ずれ量Eを、上記フーリエ変換して度数分布図を作成したときの全体の度数に対する縞模様の周波数近傍の周波数範囲以外の度数の割合とした場合には、ずれ量Eが小さいほどデータが表す曲線の波形が正弦波形に近いことを示すので、この場合はステップS208ではずれ量Eが最小のものを選択する。
このステップS208の処理は、評価データとしてのずれ量Eの中から、正弦曲線に最も近い曲線から算出されたずれ量を選び出す処理である。この処理は、例えばセンサデータから図5(a)に示す光量曲線と図5(b)に示す光量曲線が得られた場合に、両曲線をそれぞれフーリエ変換して図6(a)および図6(b)に示すような度数分布図を作成し、これらの度数分布図を比較して、縞模様の周波数近傍の周波数範囲以外の度数が少ない、つまりノイズの少ない図6(b)の度数分布図を選択するような処理と同じである。このようにして選択されたずれ量Eにより表される光量曲線は、より正弦波形に近い形状であり、このように正弦波形に近い波形を持つ曲線から算出された位相値は本来求めるべき位相値と同一であるかそれに近い値であると予測される。よって、このような位相値を基に測定対象物OBの3次元形状を測定した場合にはその測定精度も良好になると考えられる。なお、この処理は所定の範囲に該当するものを抽出する処理ではなく、評価データ同士を比較して最も好ましい値を選択する処理であるので、このステップS208の処理により残る評価データは必ず一つとなる。
以上のステップS204〜S208の処理の実行によって、3次元画像生成装置36は最終的に一つの評価データを抽出する(評価データ抽出ステップ)。そして、次のステップS210にて、3次元画像生成装置36は、抽出した評価データ(極大光量の評価データまたはずれ量の評価データ)が属するデータ群中の位相値φ(α,β,m)を正式な位相値φ(α,β)として選択する(位相値選択ステップ)。次いで、ステップS212にて、現在評価している画素P(α,β)のY座標値の座標番号βが最後の座標番号βmであるかを判定する。この判定がNoである場合は、X座標値がX(α)である画素の中にいまだ最適な位相値φ(α,β)を選択していない画素P(α,β)が残っていることになる。よって、ステップS212の判定がNoの場合はステップS214に進んでβをインクリメントし、ステップS204に戻って上記の抽出および選択を繰り返す。ステップS212の判定がYesの場合は、X座標値がX(α)である画素の全てについて最適な位相値φ(α,β)が選択されたことになるので、この場合はステップS216に進む。
ステップS216では、現在評価している画素P(α,β)のX座標番号αが最後の座標番号αmであるかを判定する。この判定がNoである場合は、X座標値の座標番号αがα+1以上である画素がいまだ最適な位相値φ(α,β)を選択していないことになる。よって、ステップS216の判定がNoの場合はステップS218に進んでαをインクリメントし、さらにステップS220にてβを初期化(β=0)した後に、ステップS204に戻って上記の抽出および選択を繰り返す。ステップS216の判定がYesである場合は、全ての画素においての上記抽出および選択が終了したとみなせるので、この場合はステップS222に進む。
ステップS222においては、位相シフト法による3次元形状測定において行われる計算により、選択された位相値φ(α,β)に対応する縞模様における縞のラインの照射方向θx(α,β)が検出される。ここで、位相値φは0〜2πの値が繰り返されており、縞位相も0〜2πの位相値が繰り返されている。したがって、各画素P(α,β)の各受光位置(X(α),Y(β))における位相値φ(α,β)と縞模様の縞位相とを1対1に対応させるため、前述したように、基準画像データにおいて輝度分布が正弦波形となっている縞模様の中の1箇所に光量が周囲と大きく異なるラインを設け、この箇所を基準に画素と縞のラインとを1対1に対応させ、この箇所から順に位相値によって画素と縞のラインとの対応付けを行う。
ステップS222にて縞のラインの照射方向θx(α,β)を計算した後は、3次元画像生成装置36はステップS224に進み、画素P(α,β)の位置(X(α)、Y(β))(これらの値は反射光の方向を表す値である)とこれに対応する縞のラインの照射方向θx(α,β)から、対応する測定対象物表面の3次元座標値(x、y、z)を計算する。そして、ステップS226に進んでこのプログラムの実行を終了する。
このようにして、図2のステップS126にてコントローラ50が3次元画像生成装置36に測定対象物OBの3次元座標値(点群データ)を計算させた後、コントローラ50はステップS128に進み、3次元画像生成装置36に3次元座標値(点群データ)を用いて測定対象物OBの3次元画像データを作成させ(形状データ作成ステップ)、作成した3次元画像データを表示装置54に出力するように指令する。これにより表示装置54には、入力した3次元画像データに基づいて測定対象物OBの3次元画像が表示される。
以上のように、本実施形態の3次元形状測定装置1は、測定対象物OBに形成される縞模様の縞位相が複数の異なる位相の各々である場合に照射光が所定の複数の異なる強度で測定対象物OBに照射されるように、照射光の強度を制御する強度制御手段としてのレーザー強度制御回路136を備えている。また、データ処理装置30は、フォトセンサ124が出力する受光信号(センサデータD(n,m))に基づいて、所定の複数の異なる強度で照射光を測定対象物に照射している各々の場合における位相値φ(α,β,m)を受光位置(X(α),Y(β))ごとに算出するとともに、算出した位相値φ(α,β,m)を用いて測定対象物OBの3次元形状データを作成した場合における当該3次元形状データの測定精度に関する評価データとしての極大値H(α,β,m)およびずれ量(α,β,m)を、受光信号(センサデータD(n,m))に基づいて、所定の複数の異なる強度で照射光を測定対象物OBに照射している各々の場合ごとに算出するデータ演算回路34と、データ演算回路34によって所定の複数の異なる強度で照射光を測定対象物OBに照射している各々の場合ごとに算出された評価データ(極大値H(α,β,m)、ずれ量E(α,β,m))の中から、対応する位相値φ(α,β,m)つまりその評価データの算出に用いた受光信号(センサデータD(n,m))から得られる位相値φ(α,β,m)を用いて測定対象物OBの3次元形状データを作成した場合における当該3次元形状データの測定精度が良好になる評価データを抽出するとともに、抽出した評価データを算出した受光信号(センサデータD(n,m))から得られる位相値φ(α,β)に基づいて測定対象物OBの3次元形状データを作成する3次元画像生成装置36とを備えて構成されている。
したがって、評価データとしての極大値H(α,β,m)およびずれ量E(α,β,m)を評価することによって、各々の強度の照射光について算出された位相値φ(α,β,m)の中から、その照射光の照射位置における反射率に最も見合った強度の照射光で照射された場合に算出された位相値、すなわち3次元形状測定の測定精度が最も良好になる位相値φ(α,β)を選択することができる。このように選択した位相値φ(α,β)を用いて測定対象物OBの3次元形状を測定することにより、測定対象物の反射率の変化による3次元形状データの測定精度の悪化を防止あるいは抑制することができる。
(第2実施形態)
次に、本発明の第2実施形態について説明する。上記第1実施形態では、測定対象物に照射するレーザー光の強度を変更して、変更したレーザー光の強度ごとに受光素子の各点にて位相値を求めるとともに、評価データを基に強度ごとに算出した位相値から最適な位相値を選択する例を示した。これに対し、本実施形態では測定対象物に照射するレーザー光の強度を一定とし、フォトセンサの受光時間を異なる複数の受光時間に設定し、異なる複数の受光時間ごとに受光した反射光の受光データから位相値および評価データを求め、評価データを基に上記受光時間ごとに求めた位相値の中から最適な位相値を選択することを特徴とするものである。以下、上記特徴点を中心に説明する。
本実施形態の3次元形状測定装置の基本構成は、上記第1実施形態にて説明した図1に示す3次元形状測定装置1と同じである。よって、本実施形態でも図1に示す3次元形状測定装置1の構成および上述の説明を援用する。ただし、レーザー強度制御回路136は、レーザー光源112から常に一定の強度のレーザー光が出射するようにレーザー駆動回路134がレーザー光源112に供給する電流および電圧を制御している。この点が上記第1実施形態例と異なる。なお、このレーザー強度制御回路136を省略し、コントローラ50側からレーザー駆動回路122に一定の強度指令を出力してもよい。
また、本実施形態の3次元形状測定装置を用いて測定対象物OBの3次元形状を測定する際には、コントローラ50は図7に示す形状測定プログラムを実行する。このプログラムは図7のステップS300にて開始され、ステップS302にて位相カウンタnおよび時間カウンタmが初期化(n=0,m=0)される。次いで、ステップS304にて各種回路を作動させる。続いて、ステップS306にて位相がn・(π/4)の画像データが液晶フィルタ116上に描かれるようにコントローラ50が画像データ供給回路132に指令を出力する。これによりレーザー光源112から出射するレーザー光が液晶フィルタ116を通って縞状の光とされる。この縞状の光が測定対象物OBに照射され、測定対象物OBには縞模様Aが形成される(光照射ステップ)。この縞模様Aを形成する照射光の反射光はフォトセンサ124に受光される。
次に、コントローラ50は、ステップS308にて電荷蓄積時間τを時間τmに設定する。ここで、電荷蓄積時間とは、フォトセンサ124を構成する各受光素子であるCCDまたはCMOSが反射光を受光するときの受光時間であり、反射光を受光することによって各受光素子が電荷を蓄積する時間である。この電荷蓄積時間はコントローラ50により設定される。具体的には、コントローラ50は、電荷蓄積時間としてτ0,τ1,τ2の3種類の時間を記憶しており、時間カウンタmの値(m=0,1,2)によって設定する電荷蓄積時間を振り分ける。いま、ステップS302にて時間カウンタmが初期化されているので、最初はこの電荷蓄積時間τmはτ0に設定される。
ステップS308にて電荷蓄積時間τmが設定された場合、コントローラ50はこの電荷蓄積時間τmにて反射光を受光するように、センサ信号取出し回路32を介してフォトセンサ124に指令する。これによりフォトセンサ124内のCCDなどの受光素子は、設定された電荷蓄積時間τmだけ反射光を受光し、受光信号を出力するようになる。
次いで、ステップS309にて所定時間T(T>τ0,τ1,τ2)の経過を待ち、その後ステップS310に進み、このステップS310にてデータ演算回路34にセンサデータD(n,m)を取り込むように指令する。これによりデータ演算回路34はフォトセンサ124からセンサデータD(n,m)を取り込む。このセンサデータD(n,m)は、位相カウンタがn、時間カウンタがmであるときに測定対象物OBに照射されたレーザー光の反射光をフォトセンサ124が電荷蓄積時間τmだけ受光し、フォトセンサ124の各画素P(α,β)が出力する受光信号をセンサ信号取出し回路32が増幅し信号強度をデジタルにしたデータであり、フォトセンサ124の各画素が出力する受光信号に対応する。
次に、コントローラ50はステップS312に進み、時間カウンタmが3以上であるかを判定し、この判定結果がNoである場合はステップS314に進む。ステップS314では時間カウンタmをインクリメントする。その後ステップS307に戻る。このステップS307〜S314の繰り返しによって、測定対象物OBに形成される縞模様の縞位相がn・(π/4)である場合に、フォトセンサ124が3種類の電荷蓄積時間(τ0,τ1,τ2)にて反射光を受光し、それぞれの電荷蓄積時間ごとにセンサデータD(n,m)がデータ演算回路34に取り込まれる。
ステップS312にて時間カウンタmが3以上であると判定した場合には、ステップS316に進む。ステップS316では位相カウンタnが9以上であるかを判定する。この判定結果がNoである場合はステップS318に進み、位相カウンタnをインクリメントする。次にステップS320に進んで時間カウンタmを初期化(m=0)し、ステップS306に戻る。このステップS306〜S320の繰り返しにより、位相カウンタnが順次インクリメントされて測定対象物OBに形成される縞模様の縞位相が順次変化する(縞走査ステップ)。この縞位相が変化するごとに、縞模様を形成する照射光の反射光が3種類の電荷蓄積時間(τ0,τ1,τ2)にて受光される(受光ステップ)とともに、対応するセンサデータがデータ演算回路34に取得される。このためデータ演算回路34には、上記表1と同様なデータが取り込まれることになる。
ステップS316にて位相カウンタnが9以上であると判定された場合には、ステップS322に進む。ステップS322では各種回路の作動が停止される。次いで、コントローラ50はステップS324に進み、データ演算回路34に位相値、評価データを算出させる(位相値算出ステップ、評価データ算出ステップ)。この算出は上記第1実施形態にて説明したステップS124における計算と同様であるので具体的な説明は省略するが、本実施形態でも第1実施形態と同じように、一つの受光位置(画素)ごとに、受光信号の強度に影響するパラメータが異なる条件(本実施形態では異なった電荷蓄積時間)にて複数の位相値が評価データとともに算出される。
次いで、コントローラ50はステップS326に進み、3次元画像生成装置36に測定対象物OBの3次元形状データを計算させる。この計算も上記第1実施形態にて説明したステップS126における計算と同様であるので具体的な説明は省略するが、本実施形態でも第1実施形態と同じように、一つの受光位置(画素)ごとに、受光信号の強度に影響するパラメータが異なる条件(本実施形態では異なった電荷蓄積時間)にて算出された複数の評価データ(極大値H(α,β,m)、ずれ量E(α,β,m))の中から、その評価データの算出に用いたセンサデータから得られる位相値φ(α,β,m)を用いて測定対象物OBの3次元形状データを作成したときの測定精度が良好になる評価データを抽出し(評価データ抽出ステップ)、抽出した評価データを算出したセンサデータから得られる位相値を、その受光位置における正式な位相値φ(α,β)として選択し(位相値選択ステップ)、選択した位相値を用いて測定対象物OBの3次元座標値(点群データ)を作成する(形状データ作成ステップ)。上記抽出、選択および計算を行うにあたり、第1実施形態にて説明した図3のプログラムを援用することができる。
続いて、コントローラ50はステップS328に進み、3次元画像生成装置36に3次元座標値(点群データ)を用いて測定対象物OBの3次元画像データを作成させ(形状データ作成ステップ)、作成した3次元画像データを表示装置54に出力するように指令する。これにより表示装置54には、入力した3次元画像データに基づいて測定対象物OBの3次元画像が表示される。
以上のように、本実施形態の3次元形状測定装置においては、測定対象物OBに形成される縞模様の縞位相が複数の異なる位相である各々の場合について、フォトセンサ124は所定の複数の異なる電荷蓄積時間(受光時間)τ0,τ1,τ2にて反射光を受光し、受光した反射光の光量に応じた受光信号を所定の複数の異なる電荷蓄積時間にて反射光を受光するごとに出力している。また、データ処理装置30は、フォトセンサ124が出力する受光信号(センサデータD(n,m))に基づいて、所定の複数の異なる電荷蓄積時間τ0,τ1,τ2にて反射光がフォトセンサ124に受光される各々の場合における位相値φ(α,β,m)を算出するとともに、算出した位相値を用いて測定対象物OBの3次元形状データを作成した場合における当該3次元形状データの測定精度に関する評価データとしての極大値H(α,β,m)およびずれ量E(α,β,m)を、受光信号(センサデータD(n,m))に基づいて、所定の複数の異なる電荷蓄積時間で反射光を受光している各々の場合ごとに算出するデータ演算回路34と、データ演算回路34によって所定の複数の異なる電荷蓄積時間にてフォトセンサ124が反射光を受光するごとに算出された評価データの中から、その評価データの算出に用いた受光信号(センサデータD(n,m))から得られる位相値φ(α,β,m)を用いて測定対象物OBの3次元形状データを作成した場合における当該3次元形状データの測定精度が良好になる評価データを抽出するとともに、抽出した評価データの算出に用いた位相値φ(α,β)に基づいて測定対象物OBの3次元形状データを作成する3次元画像生成装置36とを備えて構成されている。
したがって、評価データとしての極大値H(α,β,m)およびずれ量E(α,β,m)を評価することによって、複数の電荷蓄積時間にて反射光を受光した各々の場合について算出された位相値φ(α,β,m)の中から、その照射光の照射位置における反射率に最も見合った電荷蓄積時間にて反射光を受光した場合に算出された位相値、すなわち3次元形状測定の測定精度が最も良好になる位相値φ(α,β)を選択することができる。このように選択した位相値φ(α,β)を用いて測定対象物OBの3次元形状を測定することにより、測定対象物の反射率の変化による3次元形状データの測定精度の悪化を防止あるいは抑制することができる。
なお、本発明は様々な変形が可能である。例えば、上記実施形態においては、データ演算回路34にて評価データとして極大値Hとずれ量Eとともに位相値φを算出して3次元画像生成装置36に出力し、3次元画像生成装置36にて評価データを評価することにより3次元形状測定の測定精度が最も良好になる位相値φを選択したが、これに替えてデータ演算回路34では評価データとしての極大値Hとずれ量Eのみを算出してセンサデータDとともに3次元画像生成装置36に出力し、3次元画像生成装置36にて評価データを抽出することにより3次元形状測定の測定精度が最も良好になるセンサデータD(受光信号)を選択し、選択したセンサデータDから位相値φを算出するようにしてもよい。これによっても上記実施形態と同様の効果を得ることができる。この場合、3次元画像生成装置36は、抽出した評価データを算出した受光信号(センサデータ)を選択する受光信号選択手段に相当し、また、選択した受光信号(センサデータ)に基づいて位相値を算出する選択位相値算出手段に相当する。また、上記実施形態においては、測定対象物に形成する縞模様の縞位相を一定にした状態で照射するレーザー光の強度または反射光の受光時間を変化させているが、これとは逆に照射するレーザー光の強度または反射光の受光時間を一定とした状態で縞模様の縞位相を縞模様の1周期分シフトさせることを繰り返し、各々の繰り返しにおいてレーザー光の強度または反射光の受光時間を変化させてもよい。
1…3次元形状測定装置、10…3次元センサ、11…照射装置(光照射手段)、112…レーザー光源、114…コリメーティングレンズ、116…液晶フィルタ、12…受光装置、124…フォトセンサ(受光器)、13…制御回路、132…画像データ供給回路(縞走査手段)、134…レーザー駆動回路、136…レーザー強度制御回路(強度制御手段)、30…データ処理装置(データ処理手段)、32…センサ信号取出し回路、34…データ演算回路(評価データ算出手段、位相値算出手段)、36…3次元画像生成装置(評価データ抽出手段、形状データ作成手段、位相値選択手段)、50…コントローラ(制御手段)、E…ずれ量、H…極大値、τ…電荷蓄積時間、φ…位相値、D(n,m)・・・センサデータ(受光信号)