以下、本発明の第1の実施の形態について図面を参照して説明する。なお、図15乃至図17と同一部分には同一符号を付してその詳しい説明は省略する。
図1は3次元形状測定装置の構成図である。投影光学系5及び結像光学系8は、図17と同一構成である。コンピュータ20は、光量コントローラ21に対して光源2から出力される光の光量を互いに異なる第1の光量Aと第2の光量Bとのいずれか一方に調光する調光切替え指示を発する。この光量コントローラ21は、コンピュータ20から発せられた第1の光量A又は第2の光量Bの調光切替え指示を受けると、光源2に対する例えば印加電圧を制御して光源2から出力される光量を第1の光量A又は第2の光量Bに調光する。
コンピュータ20は、走査機構4に対して駆動指示を発する。この走査機構4は、コンピュータ20からの駆動指令を受けてパターン板3を光軸L1に対して垂直方向Sに移動し、被検査物1の表面上に投影される互いに等間隔の明暗の縞パターン光Pを所定の位相シフト量毎、例えば0[rad]、π/2[rad]、π[rad]、3π/2[rad]毎に位相シフトする。
コンピュータ20は、被検査物1に対して縞パターン光Pを所定の位相シフト量毎に位相シフトして投影し、被検査物1上の各パターン像を撮像し、これら撮像により取得された複数の位相シフト画像データに基づいて被検査物1の高さ情報h(x,y)を求める。このコンピュータ20は、記憶部22と、コントラスト算出部23と、ゼロ設定部24と、比較部25と、高さ情報算出部26とを有する。
記憶部22は、第1の光量Aで縞パターン光Pを被検査物1の表面上に投影し、かつ縞パターン光Pを所定の位相シフト量(例えば0[rad]、π/2[rad]、π[rad]、3π/2[rad])毎に位相シフトしたときに撮像装置9の撮像により取得される複数の第1の位相シフト画像データと、第2の光量Bで縞パターン光Pを被検査物1の表面上に投影し、かつ縞パターン光Pを所定の同位相シフト量(例えば0[rad]、π/2[rad]、π[rad]、3π/2[rad])毎に位相シフトしたときに撮像装置9の撮像により取得される複数の第2の位相シフト画像データとを保存する。
コントラスト算出部23は、記憶部22に保存されている複数の第1と第2の位相シフト画像データの各コントラストを各画素毎にそれぞれ求める。
ゼロ設定部24は、記憶部22に保存されている複数の第1と第2の位相シフト画像データ中の輝度が飽和している画素に対してコントラストを強制的にゼロに設定して当該画素を測定不能画素とする。
比較部25は、コントラスト算出部23とゼロ設定部24により得られた各画素同士の各コントラストを比較する。
高さ情報算出部26は、比較部25の比較結果からコントラストのよい位相シフト画像データの各画素に対する各位相φ(x,y)を算出し、全ての各画素の各位相φ(x,y)を合成して被検査物1の高さ情報h(x,y)に変換して表示装置13に表示する。
次に、上記の如く構成された装置の動作について図2に示す3次元形状測定フローチャートに従って説明する。
コンピュータ20には、光源2に対する予め明暗2段階の第1の光量Aと第2の光量Bとが設定される。コンピュータ20は、ステップ#1において、第1の光量Aの縞パターン光Pを所定の位相シフト量(例えば0[rad]、π/2[rad]、π[rad]、3π/2[rad])毎に位相シフトしたときに例えば複数の第1の位相シフト画像データIa1(x,y)〜Ia4(x,y)を取得し、ステップ#2において、第2の光量Bの縞パターン光Pを所定の位相シフト量(例えば0[rad]、π/2[rad]、π[rad]、3π/2[rad])毎に位相シフトしたときに例えば複数の第2の位相シフト画像データIb1(x,y)〜Ib4(x,y)を取得する。
具体的に、これら第1及び第2の位相シフト画像データIa1(x,y)〜Ia4(x,y)、Ib1(x,y)〜Ib4(x,y)は、図3に示す画像取得ステップ「1」〜「8」に従って取得される。先ず、画像取得ステップ「1」において、コンピュータ20は、光量コントローラ21に対して第1の光量Aの調光切替え指示を発し、かつ走査機構4に対して位相シフト量0[rad]の駆動指示を発する。これにより、光源2は、第1の光量Aの光を出力する。走査機構4は、例えば現在のパターン板3の位置を初期位置として位相シフト量0[rad]とする。
この状態で、光源2から光が出力されると、この光は、パターン板3の各スリットを通過することにより互いに等間隔の明暗の縞パターン光Pに整形され、投影光学系5を通して被検査物1の表面に対して斜め上方から投影される。この縞パターン光Pの投影により被検査物1の表面上に現れるパターン像は、結像光学系8により撮像装置9の撮像面9a上に結像される。この撮像装置9は、被検査物1の表面上のパターン像を撮像してその画像信号を出力する。コンピュータ20は、撮像装置9から出力された画像信号を取り込み、縞パターン光Pの位相シフト量0[rad]に対応する第1の位相シフト画像データIa1(x,y)として記憶部22に保存する。
次に、画像取得ステップ「2」において、コンピュータ20は、光量コントローラ21に対して第2の光量Bの調光切替え指示を発する、これにより、光源2は、第2の光量Bの光を出力する。なお、走査機構4は、パターン板3の位置を位相シフト量0[rad]の初期位置を維持する。この状態で、光源2から第2の光量Bの光が出力されると、コンピュータ20は、上記同様に、第2の光量Bで、かつ縞パターン光Pの位相シフト量0[rad]に対応する第2の位相シフト画像データIb1(x,y)を取得して記憶部22に保存する。
次に、画像取得ステップ「3」において、コンピュータ20は、第2の光量Bの調光切替え指示を維持し、走査機構4に対して位相シフト量π/2[rad]の駆動指示を発する。これにより、走査機構4は、パターン板3を初期位置から位相シフト量π/2[rad]に対応する距離だけ光軸L1に対して垂直方向Sに移動する。この状態で、光源2から第2の光量Bの光が出力されると、コンピュータ20は、上記同様に、第2の光量Bで、かつ縞パターン光Pの位相シフト量π/2[rad]に対応する第2の位相シフト画像データIb2(x,y)を取得して記憶部22に保存する。
以下、上記同様に、コンピュータ20は、図3に示すように各画像取得ステップ「4〜8」のうち各画像取得ステップ「4、5、8」において第1の光量Aの調光切替え指示を光量コントローラ21に対して発し、各画像取得ステップ「6、7」において第2の光量Bの調光切替え指示を光量コントローラ21に対して発する。
又、コンピュータ20は、画像取得ステップ「4」において位相シフト量π/2[rad]の駆動指示を発し、各画像取得ステップ「5、6」において位相シフト量π[rad]の駆動指示を発し、画像取得ステップ「7、8」において位相シフト量3π/2[rad]の駆動指示を発する。
これにより、コンピュータ20は、第1の光量Aと第2の光量Bとにおいて位相シフト量をπ/2[rad]、π[rad]、3π/2[rad]に変化したときの各第1の位相シフト画像データIa2(x,y)、Ia3(x,y)、Ia4(x,y)及び各第2の位相シフト画像データIb3(x,y)、Ib4(x,y)を順次取得して記憶部22に保存する。なお、これら第1の位相シフト画像データIa1(x,y)〜Ia4(x,y)及び第2の位相シフト画像データIb1(x,y)〜Ib4(x,y)は、それぞれ4枚づつに限らず、複数毎Ia1(x,y)〜Ian(x,y)、Ib1(x,y)〜Ibn(x,y)取得してもよい。ここで、n=1,2,3,…,nである。
次に、コンピュータ20のコントラスト算出部23は、ステップ#3において、記憶部22に保存されている各第1の位相シフト画像データIa1(x,y)〜Ia4(x,y)を読み出し、次式(3)を用いて各画素のコントラストCa(x,y)を算出する。
Ca(x,y)=[2×{(Ia1−Ia3)2+(Ia2−Ia4)2}1/2
÷(Ia1+Ia2+Ia3+Ia4) …(3)
次に、コンピュータ20のゼロ設定部24は、ステップ#4において、各第1の位相シフト画像データIa1(x,y)〜Ia4(x,y)の各画素の輝度データに輝度飽和があるか否かを判断し、輝度が飽和している画素のコントラストCa(x,y)を強制的にゼロ(Ca(x,y)=0)に設定する。
コントラスト算出部23は、各ステップ#3、#4の実行と共に、ステップ#5において、記憶部22に保存されている各第2の位相シフト画像データIb1(x,y)〜Ib4(x,y)を読み出し、次式(4)を用いて各画素のコントラストCb(x,y)を算出する。
Cb(x,y)=[2×{(Ib1−Ib3)2+(Ib2−Ib4)2}1/2
÷(Ib1+Ib2+Ib3+Ib4) …(4)
次に、ゼロ設定部24は、ステップ#6において、各第2の位相シフト画像データIb1(x,y)〜Ib4(x,y)の各画素の輝度データに輝度飽和があるか否かを判断し、輝度が飽和している画素のコントラストCb(x,y)を強制的にゼロ(Cb(x,y)=0)に設定する。
次に、比較部25は、ステップ#7、#8において、各画素同士の各コントラストCa(x,y)とCb(x,y)とを比較する。
具体的に、比較部25は、ステップ#7において、第1の光量Aと第2の光量Bとの各コントラストCa(x,y)とCb(x,y)とを比較し、第1の光量AのコントラストCa(x,y)が第2の光量BのコントラストCb(x,y)よりも大きければ、ケース「1」としてステップ#9に進み、反対に第1の光量AのコントラストCa(x,y)が第2の光量BのコントラストCb(x,y)よりも小さければ、ステップ#8に進む。このステップ#8において比較部25は、第2の光量BのコントラストCb(x,y)が「0」以上であるか否かを判断し、「0」以上であれば、ケース「2」としてステップ#10に進み、「0」以下であれば、ケース「3」としてステップ#11に進む。
このような比較の結果、ケース「1」であれば、高さ情報算出部26は、ステップ#9において、各第1の位相シフト画像データIa1(x,y)〜Ia4(x,y)を読み出し、これら画像データIa1(x,y)〜Ia4(x,y)及び次式(5)を用いて各画素ごとに各位相φ(x,y)を算出する。
φ(x,y)=arctan{(Ia4−Ia2)/(Ia1−Ia3)} …(5)
ケース「2」であれば、高さ情報算出部26は、ステップ#10において、各第2の位相シフト画像データIb1(x,y)〜Ib4(x,y)を読み出し、これら画像データIb1(x,y)〜Ib4(x,y)及び次式(6)を用いて各画素ごとに各位相φ(x,y)を算出する。
φ(x,y)=arctan{(Ib4−Ib2)/(Ib1−Ib3)} …(6)
ケース「3」は、第1の光量Aによる画素のコントラストCa(x,y)と第2の光量Bによる画素のコントラストCb(x,y)とが共にゼロ(Ca(x,y)=Ca(x,y)=0)の場合であり、ゼロ設定部24は、ステップ#11において、当該画素に対しては位相φを算出できないので間違った測定結果を出力することを回避するために、当該画素を測定不能画素として位相にマスク処理を行う。
次に、高さ情報算出部26は、ステップ#12において、全ての画素について位相φ(x,y)の算出が終了したか否かを判断し、終了していなければ、上記ステップ#7〜#11を繰り返す。全ての画素について位相φ(x,y)が算出されると、高さ情報算出部26は、ステップ#13に移り、全ての各画素の各位相φ(x,y)を合成し、次のステップ#14において、各位相φ(x,y)を位相接続し、被検査物1の高さ情報h(x,y)に変換する。この被検査物1の高さ情報h(x,y)は、表示装置13に表示される。
このように上記第1の実施の形態によれば、第1の光量Aと第2の光量Bとの各縞パターン光Pを所定の位相シフト量毎、例えば0[rad]、π/2[rad]、π[rad]、3π/2[rad]毎に位相シフトして被検査物1の表面上に投影して第1と第2の位相シフト画像データIa1(x,y)〜Ia4(x,y)、Ib1(x,y)〜Ib4(x,y)を取得し、これら位相シフト画像データから輝度が飽和する画素のコントラストを強制的にゼロに設定し、それ以外の各画素のうちコントラストの良い各画素に基づいて被検査物1の高さ情報h(x,y)を算出する。
これにより、第1と第2の位相シフト画像データIa1(x,y)〜Ia4(x,y)、Ib1(x,y)〜Ib4(x,y)中の輝度飽和が生じた画素を用いることなく、適正な光量で縞パターン光Pが投影されたコントラストの良い各画素を用いることにより、自動的に全ての測定領域内において高精度に被検査物1の高さ情報h(x,y)を算出できる。又、被検査物1に投影する縞パターン光Pの光量を調整する作業がないので、光量の設定作業及びその調整に時間を要することがなくなり、被検査物1の3次元形状測定を高速化できる。これにより、例えば電子部品や機械加工部品などの製造工程において製品製造を能率化でき、かつ歩留まりを向上できる。
位相シフト画像データから輝度が飽和する画素のコントラストを強制的にゼロ(Ca(x,y)=Ca(x,y)=0)に設定しているので、これらコントラストCa(x,y)、Cb(x,y)の大小関係を判断する各ステップ#7、8を実行するだけで、輝度飽和している画素のコントラストの使用を回避でき、コンピュータ20での処理アルゴリズムを簡単化でき、被検査物1の高さ情報h(x,y)の算出処理時間を短縮できる。又、第1の光量A及び第2の光量Bの両方の第1と第2の位相シフト画像データIa1(x,y)〜Ia4(x,y)、Ib1(x,y)〜Ib4(x,y)において輝度飽和する画素のコントラストを強制的にゼロに設定して位相にマスク処理するので、間違った被検査物1の高さ情報h(x,y)の測定結果を表示出力することがなく、測定結果の信頼性を向上できる。
第1と第2の位相シフト画像データIa1(x,y)〜Ia4(x,y)、Ib1(x,y)〜Ib4(x,y)のうち第1の光量Aと第2の光量Bとのように光量は異なっても同一位相シフト量(例えば0[rad])で各位相シフト画像データIa1(x,y)、Ib1(x,y)を取得するときは、パターン板3を移動しないので、第1の光量Aと第2の光量Bとから算出される初期の位相φ(x,y)は、同一値になり、位相φ(x,y)を合成するときに位相ずれを生じることがない。
次に、本発明の第2の実施の形態について図面を参照して説明する。なお、投影光学系5及び結像光学系8は、図1と同一構成であり、コンピュータ20の構成について説明する。又、図15乃至図17と同一部分には同一符号を付してその詳しい説明は省略する。
図4は3次元形状測定装置におけるコンピュータ20のブロック構成図である。コンピュータ20は、記憶部22と、コントラスト算出部23と、輝度判断部27と、比較部28と、高さ情報算出部26とを有する。
輝度判断部27は、第1と第2の位相シフト画像データIa1(x,y)〜Ia4(x,y)、Ib1(x,y)〜Ib4(x,y)のうち輝度が飽和する画素を有しない各位相シフト画像データを判断する。
比較部28は、輝度判断部27により判断された輝度飽和の画素を有しない第1と第2の位相シフト画像データIa1(x,y)〜Ia4(x,y)、Ib1(x,y)〜Ib4(x,y)からコントラスト算出部23で算出した各画素の各コントラストCa(x,y)とCb(x,y)とを比較する。
コンピュータ20は、輝度飽和の画素を有しない第1と第2の位相シフト画像データを判断し、これら第1と第2の位相シフト画像データに対して比較を行うので、輝度飽和している画素に対して位相φ(x,y)の算出を行わないものとなる。
次に、上記の如く構成された装置の動作について図5に示す3次元形状測定フローチャートに従って説明する。
コンピュータ20には、予め光源2に対する第1の光量Aと第2の光量Bとが設定される。コンピュータ20は、上記同様に、ステップ#1において、第1の光量Aの縞パターン光Pを所定の位相シフト量(例えば0[rad]、π/2[rad]、π[rad]、3π/2[rad])毎に位相シフトしたときに例えば複数の第1の位相シフト画像データIa1(x,y)〜Ia4(x,y)を取得して記憶部22に保存する。
これと共にコンピュータ20は、ステップ#2において、第2の光量Bの縞パターン光Pを所定の位相シフト量(例えば0[rad]、π/2[rad]、π[rad]、3π/2[rad])毎に位相シフトしたときに例えば複数の第2の位相シフト画像データIb1(x,y)〜Ib4(x,y)を取得して記憶部22に保存する。なお、これら第1の位相シフト画像データIa1(x,y)〜Ia4(x,y)及び第2の位相シフト画像データIb1(x,y)〜Ib4(x,y)は、それぞれ4枚づつに限らず、複数毎Ia1(x,y)〜Ian(x,y)、Ib1(x,y)〜Ibn(x,y)取得してもよい。
次に、輝度判断部27は、ステップ#20において、第1の位相シフト画像データIa1(x,y)〜Ia4(x,y)に輝度の飽和する画素が含まれるか否かを判断する。この判断の結果、輝度の飽和する画素が含まれなければ、輝度判断部27は、ステップ#21に移り、第2の位相シフト画像データIb1(x,y)〜Ib4(x,y)に輝度の飽和する画素が含まれるか否かを判断する。
この判断の結果、輝度飽和する画素が含まれなければ、すなわち第1の位相シフト画像データIa1(x,y)〜Ia4(x,y)及び第2の位相シフト画像データIb1(x,y)〜Ib4(x,y)の両方に輝度飽和する画素が含まれなければ、比較部25は、ステップ#7に移り、第1の光量Aと第2の光量Bとの各コントラストCa(x,y)とCb(x,y)とを比較し、第1の光量AのコントラストCa(x,y)が第2の光量BのコントラストCb(x,y)よりも大きければ、ケース「1」としてステップ#9に進み、反対に第1の光量AのコントラストCa(x,y)が第2の光量BのコントラストCb(x,y)よりも小さければ、ケース「2」としてステップ#10に進む。
上記ステップ#21の判断の結果、第2の位相シフト画像データIb1(x,y)〜Ib4(x,y)に輝度の飽和する画素が含まれていると判断すると、輝度判断部27は、ステップ#20からケース「1」としてステップ#9に移る。
上記ステップ#20の判断の結果、第1の位相シフト画像データIa1(x,y)〜Ia4(x,y)に輝度の飽和する画素が含まれていると判断すると、輝度判断部27は、ステップ#21からステップ#22に移り、第2の位相シフト画像データIb1(x,y)〜Ib4(x,y)に輝度飽和する画素が含まれているか否かを判断する。この判断の結果、輝度飽和する画素が含まれていないと判断すれば、輝度判断部27は、ケース「2」としてステップ#10に移る。又、輝度飽和する画素が含まれていると判断すると、輝度判断部27は、ケース「3」としてステップ#11に移る。
これ以降、上記第1の実施の形態と同様に、ケース「1」の場合、高さ情報算出部26は、ステップ#9において、各第1の位相シフト画像データIa1(x,y)〜Ia4(x,y)を読み出し、これら画像データIa1(x,y)〜Ia4(x,y)及び上記式(5)を用いて各画素ごとに各位相φ(x,y)を算出する。
ケース「2」の場合、高さ情報算出部26は、ステップ#10において、各第2の位相シフト画像データIb1(x,y)〜Ib4(x,y)を読み出し、これら画像データIb1(x,y)〜Ib4(x,y)及び上記式(6)を用いて各画素ごとに各位相φ(x,y)を算出する。
ケース「3」の場合、第1の位相シフト画像データIa1(x,y)〜Ia4(x,y)及び第2の位相シフト画像データIb1(x,y)〜Ib4(x,y)に輝度飽和している画素を有してするので、高さ情報算出部26は、ステップ#11において、当該画素に対しては位相φを算出できないので間違った測定結果を出力することを回避するために、当該画素を測定不能画素として位相にマスク処理を行う。
次に、高さ情報算出部26は、ステップ#12において、全ての画素について位相φ(x,y)の算出が終了したか否かを判断し、終了していなければ、上記ステップ#20、#21、…、#11を繰り返す。全ての画素について位相φ(x,y)が算出されると、高さ情報算出部26は、ステップ#13に移り、全ての各画素の各位相φ(x,y)を合成し、次のステップ#14において、各位相φ(x,y)を位相接続し、被検査物1の高さ情報h(x,y)に変換する。この被検査物1の高さ情報h(x,y)は、表示装置13に高さ画像が表示される。
このように上記第2の実施の形態によれば、輝度飽和の画素を有しない第1と第2の位相シフト画像データを判断し、これら第1と第2の位相シフト画像データに対して比較を行い、輝度飽和している画素に対して位相φ(x,y)の算出を行わない。このような輝度飽和している画素の有無の判断を行っても、その判断結果は、上記第1の実施の形態と同様に各ケース「1」〜「3」のいずれかに判断されるので、上記第1の実施の形態と同様の効果を奏することができる。
次に、本発明の第3の実施の形態について図面を参照して説明する。なお、投影光学系5及び結像光学系8は、図1と同一構成であり、その同一部分には同一符号を付してその詳しい説明は省略する。
図6は3次元形状測定装置の構成図である。光源2から出力される光の光軸L1上における光源2と走査機構4との間には、フィルタ切替え装置30が設けられている。このフィルタ切替え装置30は、コンピュータ20から発せられる調光切替え指示を受けて互いに異なる2つの減光率を有するND(減光)フィルタ31を光軸L1上に切り替える。このNDフィルタ31は、光源2から出力された光の光量を第1の光量Aと第2の光量Bとに調光する各減光率を有する各フィルタ部分から構成されている。
コンピュータ20は、図1に示すように記憶部22と、コントラスト算出部23と、ゼロ設定部24と、比較部25と、高さ情報算出部26とを有するか、又は図4に示すように記憶部22と、コントラスト算出部23と、輝度判断部27と、比較部28と、高さ情報算出部26とを有するかのいずれであってもよい。
次に、上記の如く構成された装置における第1及び第2の位相シフト画像データの取得動作について説明する。
光源2は、一定のランプ点灯電圧が印加され、一定光量の光を出力する。
コンピュータ20には、予め光源2に対する明暗2段階の第1の光量Aと第2の光量Bとに調光する旨が設定される。コンピュータ20は、図3に示す画像取得ステップ「1」において、コンピュータ20は、フィルタ切替え装置30に対して第1の光量Aの調光切替え指示を発し、かつ走査機構4に対して位相シフト量0[rad]の駆動指示を発する。フィルタ切替え装置30は、NDフィルタ31を第1の光量Aに調光する部分を光軸L1上に挿入する。これにより、光源2から出力された光の光量は、第1の光量Aに調光される。一方、走査機構4は、例えば現在のパターン板3の位置を初期位置として位相シフト量0[rad]とする。これにより、上記同様に、撮像装置9は、縞パターン光Pが投影された被検査物1の表面上のパターン像を撮像してその画像信号を出力する。コンピュータ20は、撮像装置9から出力された画像信号を取り込み、縞パターン光Pの位相シフト量0[rad]に対応する第1の位相シフト画像データIa1(x,y)として記憶部22に保存する。
次に、画像取得ステップ「2」において、コンピュータ20は、フィルタ切替え装置30に対して第2の光量Bの調光切替え指示を発する。これにより、フィルタ切替え装置30は、NDフィルタ31を第2の光量Bに調光する部分を光軸L1上に挿入する。これにより、光源2から出力された光の光量は第2の光量Bに調光される。走査機構4は、パターン板3の位置を位相シフト量0[rad]の初期位置に維持する。この状態であれば、コンピュータ20は、上記同様に、第2の光量Bで、かつ縞パターン光Pの位相シフト量0[rad]に対応する第2の位相シフト画像データIb1(x,y)を取得して記憶部22に保存する。
次に、画像取得ステップ「3」において、コンピュータ20は、第2の光量Bの調光切替え指示を維持し、走査機構4に対して位相シフト量π/2[rad]の駆動指示を発する。これにより、走査機構4は、パターン板3を初期位置から位相シフト量π/2[rad]に対応する距離だけ光軸L1に対して垂直方向Sに移動する。この状態であれば、コンピュータ20は、上記同様に、第2の光量Bで、かつ縞パターン光Pの位相シフト量π/2[rad]に対応する第2の位相シフト画像データIb2(x,y)を取得して記憶部22に保存する。
以下、上記同様に、コンピュータ20は、図3に示すように各画像取得ステップ「4〜8」のうち各画像取得ステップ「4、5、8」において第1の光量Aの調光切替え指示をフィルタ切替え装置30に対して発し、各画像取得ステップ「6、7」において第2の光量Bの調光切替え指示をフィルタ切替え装置30に対して発する。
又、コンピュータ20は、画像取得ステップ「4」において位相シフト量π/2[rad]の駆動指示を発し、各画像取得ステップ「5、6」において位相シフト量π[rad]の駆動指示を発し、画像取得ステップ「7、8」において位相シフト量3π/2[rad]の駆動指示を発する。
これにより、コンピュータ20は、第1の光量Aと第2の光量Bとにおいて位相シフト量をπ/2[rad]、π[rad]、3π/2[rad]に変化したときの各第1の位相シフト画像データIa2(x,y)、Ia3(x,y)、Ia4(x,y)及び各第2の位相シフト画像データIb3(x,y)、Ib4(x,y)を順次取得して記憶部22に保存する。
コンピュータ20は、複数の第1の位相シフト画像データIa1(x,y)〜Ia4(x,y)及び複数の第2の位相シフト画像データIb1(x,y)〜Ib4(x,y)を保存すると、図2に示すステップ#4、ステップ#6〜#14を実行して被検査物1の高さ情報h(x,y)を求める。又はコンピュータ20は、図5に示すステップ#20〜#22、ステップ#7、ステップ#9〜#14を実行して被検査物1の高さ情報h(x,y)を求める。
このように上記第3の実施の形態によれば、上記第1及び第2の実施の形態と同様の効果を奏することは言うまでもなく、NDフィルタ31を光軸L1上に挿脱して、光源2から出力された光の光量を第1の光量Aと第2の光量Bとに調光するので、光源2には一定のランプ点灯電圧を印加すれば良く、光源2から出力される光量の安定度を高くできる。これにより、最終的に測定される被検査物1の高さ情報h(x,y)に光量の変動によるノイズ成分を低減でき、被検査物1の高さ情報h(x,y)の測定精度を高くできる。
なお、フィルタ切替え装置30は、光源2と走査機構4との間に限らず、投影光学系5又は結像光学系8の各光軸上であれば、どこに設けてもよい。
又、第1の光量Aと第2の光量Bとにより第1の位相シフト画像データIa1(x,y)〜Ia4(x,y)と第2の位相シフト画像データIb1(x,y)〜Ib4(x,y)とを取得する方法としては、撮像装置9の受光増幅率を変化させて取得する方法を用いてもよい。
次に、本発明の第4の実施の形態について図面を参照して説明する。なお、投影光学系5及び結像光学系8は、図1と同一構成であり、その同一部分には同一符号を付してその詳しい説明は省略する。
図7は3次元形状測定装置のコンピュータ20における位相シフト画像データの画像取得ステップを示す図である。コンピュータ20は、当該位相シフト画像データの画像取得ステップに従って位相シフト画像データを取得する。
先ず、画像取得ステップ「1」において、コンピュータ20は、光量コントローラ21に対して第1の光量Aの調光切替え指示を発し、かつ走査機構4に対して位相シフト量0[rad]の駆動指示を発する。これにより、光源2は、第1の光量Aの光を出力する。走査機構4は、例えば現在のパターン板3の位置を初期位置として位相シフト量0[rad]とする。これにより、上記同様に、撮像装置9は、縞パターン光Pが投影された被検査物1の表面上のパターン像を撮像してその画像信号を出力する。コンピュータ20は、撮像装置9から出力された画像信号を取り込み、縞パターン光Pの位相シフト量0[rad]に対応する第1の位相シフト画像データIa1(x,y)を記憶部22に保存する。
次に、画像取得ステップ「2」において、コンピュータ20は、光量コントローラ21に対する第1の光量Aの調光切替え指示を保持した状態で、走査機構4に対して位相シフト量π/2[rad]の駆動指示を発する。これにより、上記同様に、コンピュータ20は、撮像装置9から出力された画像信号を取り込み、縞パターン光Pの位相シフト量π/2[rad]に対応する第1の位相シフト画像データIa2(x,y)を記憶部22に保存する。
以下、同様に、画像取得ステップ「3、4」において、コンピュータ20は、光量コントローラ21に対する第1の光量Aの調光切替え指示を保持した状態で、走査機構4に対して位相シフト量π[rad]、3π/2[rad]の各駆動指示を順次発する。これにより、上記同様に、コンピュータ20は、撮像装置9から出力された画像信号を取り込み、縞パターン光Pの位相シフト量π/2[rad]、3π/2[rad]に対応する各第1の位相シフト画像データIa3(x,y)、Ia4(x,y)を記憶部22に順次保存する。
次に、画像取得ステップ「5」において、コンピュータ20は、光量コントローラ21に対して第2の光量Bの調光切替え指示を発し、かつ走査機構4に対して位相シフト量0[rad]の駆動指示を発する。これにより、光源2は、第2の光量Bの光を出力する。走査機構4は、パターン板3の位置を初期位置の位相シフト量0[rad]に戻す。これにより、上記同様に、撮像装置9は、縞パターン光Pが投影された被検査物1の表面上のパターン像を撮像してその画像信号を出力する。コンピュータ20は、撮像装置9から出力された画像信号を取り込み、縞パターン光Pの位相シフト量0[rad]に対応する第2の位相シフト画像データIb1(x,y)を記憶部22に保存する。
次に、画像取得ステップ「6」において、コンピュータ20は、光量コントローラ21に対する第2の光量Bの調光切替え指示を保持した状態で、走査機構4に対して位相シフト量π/2[rad]の駆動指示を発する。これにより、上記同様に、コンピュータ20は、撮像装置9から出力された画像信号を取り込み、縞パターン光Pの位相シフト量π/2[rad]に対応する第2の位相シフト画像データIb2(x,y)を記憶部22に保存する。
以下、同様に、画像取得ステップ「7、8」において、コンピュータ20は、光量コントローラ21に対する第2の光量Bの調光切替え指示を保持した状態で、走査機構4に対して位相シフト量π[rad]、3π/2[rad]の各駆動指示を順次発する。これにより、上記同様に、コンピュータ20は、撮像装置9から出力された画像信号を取り込み、縞パターン光Pの位相シフト量π/2[rad]、3π/2[rad]に対応する各第2の位相シフト画像データIb3(x,y)、Ib4(x,y)を記憶部22に順次保存する。
なお、これら第1の位相シフト画像データIa1(x,y)〜Ia4(x,y)及び第2の位相シフト画像データIb1(x,y)〜Ib4(x,y)は、それぞれ4枚づつに限らず、複数毎Ia1(x,y)〜Ian(x,y)、Ib1(x,y)〜Ibn(x,y)取得してもよいことは言うまでもない。
コンピュータ20は、複数の第1の位相シフト画像データIa1(x,y)〜Ia4(x,y)及び複数の第2の位相シフト画像データIb1(x,y)〜Ib4(x,y)を保存すると、図2に示すステップ#4、ステップ#6〜#14を実行して被検査物1の高さ情報h(x,y)を求める。又はコンピュータ20は、図5に示すステップ#20〜#22、ステップ#7、ステップ#9〜#14を実行して被検査物1の高さ情報h(x,y)を求める。
このように上記第4の実施の形態によれば、上記第1乃至第3の実施の形態と同様の効果を奏することは言うまでもなく、第1の光量A又は第2の光量Bを変更せずに一定に制御した状態で、それぞれ縞パターン光Pの位相シフト量を0、π/2[rad]、π[rad]、3π/2[rad]に変化させるので、光源2に印加するランプ点灯電圧を一定に制御した状態で一連の第1の位相シフト画像データIa1(x,y)〜Ia4(x,y)を取得でき、かつ一連の第2の位相シフト画像データIb1(x,y)〜Ib4(x,y)を取得できる。これにより、光源2から出力される光量の安定度を高くで、最終的に測定される被検査物1の高さ情報h(x,y)に光量の変動によるノイズ成分を低減でき、被検査物1の高さ情報h(x,y)の測定精度を高くできる。
一方、図7に示す位相シフト画像データの画像取得ステップは、図6に示す3次元形状測定装置にも適用できる。すなわち、画像取得ステップ「1」において、コンピュータ20は、フィルタ切替え装置30に対して第1の光量Aの調光切替え指示を発し、かつ走査機構4に対して位相シフト量0[rad]の駆動指示を発する。これにより、光源2から出力された光は、NDフィルタ31を透過することにより第1の光量Aの光に調光される。又、走査機構4は、例えば現在のパターン板3の位置を初期位置として位相シフト量0[rad]とする。これにより、上記同様に、撮像装置9は、縞パターン光Pが投影された被検査物1の表面上のパターン像を撮像してその画像信号を出力する。コンピュータ20は、撮像装置9から出力された画像信号を取り込み、縞パターン光Pの位相シフト量0[rad]に対応する第1の位相シフト画像データIa1(x,y)を記憶部22に保存する。
以下、画像取得ステップ「2、3、4」において、コンピュータ20は、フィルタ切替え装置30に対する第1の光量Aの調光切替え指示を保持した状態で、走査機構4に対して位相シフト量π/2[rad]、π[rad]、3π/2[rad]の各駆動指示を順次発する。これにより、上記同様に、コンピュータ20は、撮像装置9から出力された画像信号を取り込み、縞パターン光Pの位相シフト量π/2[rad]、π[rad]、3π/2[rad]に対応する各第1の位相シフト画像データIa3(x,y)、Ia4(x,y)を記憶部22に順次保存する。
次に、画像取得ステップ「5」において、コンピュータ20は、フィルタ切替え装置30に対して第2の光量Bの調光切替え指示を発し、かつ走査機構4に対して位相シフト量0[rad]の駆動指示を発する。これにより、光源2から出力された光は、第2の光量Bに調光される。又、走査機構4は、パターン板3の位置を初期位置の位相シフト量0[rad]に戻す。これにより、上記同様に、コンピュータ20は、撮像装置9から出力された画像信号を取り込み、縞パターン光Pの位相シフト量0[rad]に対応する第2の位相シフト画像データIb1(x,y)を記憶部22に保存する。
以下、画像取得ステップ「6、7、8、9」において、コンピュータ20は、フィルタ切替え装置30に対する第2の光量Bの調光切替え指示を保持した状態で、走査機構4に対して位相シフト量π/2[rad]、π[rad]、3π/2[rad]の各駆動指示を順次発する。これにより、上記同様に、コンピュータ20は、撮像装置9から出力された画像信号を取り込み、縞パターン光Pの位相シフト量π/2[rad]、π[rad]、3π/2[rad]に対応する各第2の位相シフト画像データIb3(x,y)、Ib4(x,y)を記憶部22に順次保存する。
コンピュータ20は、複数の第1の位相シフト画像データIa1(x,y)〜Ia4(x,y)及び複数の第2の位相シフト画像データIb1(x,y)〜Ib4(x,y)を保存すると、図2に示すステップ#4、ステップ#6〜#14を実行して被検査物1の高さ情報h(x,y)を求める。又はコンピュータ20は、図5に示すステップ#20〜#22、ステップ#7、ステップ#9〜#14を実行して被検査物1の高さ情報h(x,y)を求める。
また、上述した実施の形態では、画像取得ステップ「5」において、走査機構4は、パターン板3の位置を初期位置の位相シフト量0[rad]に戻していたが、これに限られるものではない。例えば、画像取得ステップ「5」において、位相シフト量を0[rad]に戻さずに、画像取得ステップ「4」のときの位相シフト量3π/2[rad]を維持するようにし、残りの画像取得ステップ「6、7、8」において、π[rad]、π/2[rad]、0[rad]とするようにしても良い。
次に、本発明の第5の実施の形態について図面を参照して説明する。なお、投影光学系5及び結像光学系8は、図1と同一構成であり、その同一部分には同一符号を付してその詳しい説明は省略する。
コンピュータ20には、互いに異なる複数の光量(複数段階の光量)「1」〜「m」が予め設定され、これら光量「1」〜「m」の各調光切替え指示を光量コントローラ21に発する。コンピュータ20は、図1と同様に、記憶部22と、コントラスト算出部23と、輝度判断部27と、比較部28と、高さ情報算出部26とを有する。
次に、上記の如く構成された装置の動作について図8に示す3次元形状測定フローチャートに従って説明する。
コンピュータ20は、ステップ#30において、第1の光量「1」の縞パターン光Pを所定の位相シフト量(例えば0[rad]、π/2[rad]、π[rad]、3π/2[rad])毎に位相シフトしたときに例えば複数の第1の位相シフト画像データI11(x,y)〜I14(x,y)を取得する。
次に、コンピュータ20のコントラスト算出部23は、ステップ#31において、記憶部22に保存されている各第1の位相シフト画像データI11(x,y)〜I14(x,y)を読み出し、次式(7)を用いて各画素のコントラストC1(x,y)を算出する。
C1(x,y)=[2×{(I11−I13)2+(I12−I14)2}1/2
÷(I11+I12+I13+I14) …(7)
次に、コンピュータ20のゼロ設定部24は、ステップ#32において、各第1の位相シフト画像データI11(x,y)〜I14(x,y)の各画素の輝度データに輝度飽和があるか否かを判断し、輝度が飽和している画素のコントラストC1(x,y)を強制的にゼロ(C1(x,y)=0)に設定する。
これと共にコンピュータ20は、ステップ#33において、第2の光量「2」の縞パターン光Pを所定の位相シフト量(例えば0[rad]、π/2[rad]、π[rad]、3π/2[rad])毎に位相シフトしたときに例えば複数の第1の位相シフト画像データI21(x,y)〜I24(x,y)を取得する。
次に、コンピュータ20のコントラスト算出部23は、ステップ#34において、記憶部22に保存されている各第2の位相シフト画像データI21(x,y)〜I24(x,y)を読み出し、次式(8)を用いて各画素のコントラストC2(x,y)を算出する。
C2(x,y)=[2×{(I21−I23)2+(I22−I24)2}1/2
÷(I21+I22+I23+I24) …(8)
次に、コンピュータ20のゼロ設定部24は、ステップ#35において、各第2の位相シフト画像データI21(x,y)〜I24(x,y)の各画素の輝度データに輝度飽和があるか否かを判断し、輝度が飽和している画素のコントラストC2(x,y)を強制的にゼロ(C2(x,y)=0)に設定する。
以下、同様に、コンピュータ20は、ステップ#36において、第mの光量「m」の縞パターン光Pを所定の位相シフト量(例えば0[rad]、π/2[rad]、π[rad]、3π/2[rad])毎に位相シフトしたときに例えば複数の第mの位相シフト画像データIm1(x,y)〜Im4(x,y)を取得する。
次に、コンピュータ20のコントラスト算出部23は、ステップ#37において、記憶部22に保存されている各第mの位相シフト画像データIm1(x,y)〜Im4(x,y)を読み出し、次式(9)を用いて各画素のコントラストCm(x,y)を算出する。
Cm(x,y)=[2×{(Im1−Im3)2+(Im2−Im4)2}1/2
÷(Im1+Im2+Im3+Im4) …(9)
次に、コンピュータ20のゼロ設定部24は、ステップ#38において、各第mの位相シフト画像データIm1(x,y)〜Im4(x,y)の各画素の輝度データに輝度飽和があるか否かを判断し、輝度が飽和している画素のコントラストCm(x,y)を強制的にゼロ(Cm(x,y)=0)に設定する。
なお、第1乃至第mの位相シフト画像データI11(x,y)、I12(x,y)、…、Im4(x,y)は、図3又は図7に示す各画像取得ステップに従って取得する。又、これら画像取得ステップでは、図1に示すように光量コントローラ21により光源2に印加するランプ点灯電圧を変化させて複数の光量「1」〜「m」に調光する、又は図6に示すようにフィルタ切替え装置30により光源2から出力される光の光軸L1上にNDフィルタ31を挿脱して、複数の光量「1」〜「m」に調光する。
次に、輝度判断部27は、ステップ#39において、各画素毎に各コントラストC1(x,y)〜Cm(x,y)の中で最大値を求め、この最大値のコントラストをCmax(x,y)とする。
次に、比較部28は、ステップ#40において、最大値のコントラストCmax(x,y)がゼロ「0」よりも大きい否かを判断する。
この判断の結果、最大値のコントラストCmax(x,y)>0であれば、高さ情報算出部26は、ステップ#41において、第1乃至第mの位相シフト画像データのうち最大値のコントラストCmax(x,y)を有する位相シフト画像データImax1(x,y)〜Imax4(x,y)から位相φ(x,y)を算出する。
上記ステップ#40における判断の結果、最大値のコントラストCmax(x,y)>0でなければ、すなわち全ての位相シフト画像データImax1(x,y)〜Imax4(x,y)について飽和画素があれば、高さ情報算出部26は、ステップ#42に移り、当該画素に対しては位相φを算出できないので間違った測定結果を出力することを回避するために、当該画素を測定不能画素として位相にマスク処理を行う。
次に、高さ情報算出部26は、ステップ#12において、全ての画素について位相φ(x,y)の算出が終了したか否かを判断し、終了していなければ、上記ステップ#39〜#42を繰り返す。全ての画素について位相φ(x,y)が算出されると、高さ情報算出部26は、ステップ#13に移り、全ての各画素の各位相φ(x,y)を合成し、次のステップ#14において、各位相φ(x,y)を位相接続し、被検査物1の高さ情報h(x,y)に変換する。この被検査物1の高さ情報h(x,y)は、表示装置13に高さ画像が表示される。
このように上記第5の実施の形態によれば、上記第1乃至第5の実施の形態と同様の効果を奏することは言うまでもなく、互いに異なる複数段階の光量「1」〜「m」に調光し、これら段階の各光量「1」〜「m」毎に縞パターン光Pを所定の位相シフト量(例えば0[rad]、π/2[rad]、π[rad]、3π/2[rad])毎に位相シフトして第1乃至第mの位相シフト画像データI11(x,y)、I12(x,y)、…、Im4(x,y)を取得するので、最適なコントランスCm(x,y)を与える位相シフト画像データImax1(x,y)〜Imax4(x,y)から被検査物1の高さ情報h(x,y)を求めることができる。
次に、本発明の第6の実施の形態について図面を参照して説明する。なお、図1と同一部分には同一符号を付してその詳しい説明は省略する。
図9は3次元形状測定装置の構成図である。第1の光源2から出力される光の光軸L1上には、第1のパターン板3を有する第1の走査機構4と第1の投影光学系5とが設けられている。これら第1の走査機構4及び第1の投影光学系5の光軸L1は、被検査物1に対して投影角度αで配置されている。第1の走査機構4は、パターン板41を光軸L1に対して垂直方向S1に移動する。
第2の光源40から出力される光の光軸L2上には、第2のパターン板41を有する第2の走査機構42と第2の投影光学系43とが設けられている。これら第2の走査機構42及び第2の投影光学系43の光軸L2は、被検査物1に対して投影角度αで配置されている。この第2の投影光学系43は、被検査物1に対する投影角度αを同一とするが、被検査物1に対する光の投影方向を別角度に設定している。第2の走査機構42の第2のパターン板41には、互いに等間隔で形成された複数のスリットが形成されている。第2の走査機構42は、第2のパターン板41を光軸L2に対して垂直方向S2に移動する。第2の投影光学系43は、集光レンズ44と投影レンズ45とを有する。
第1の光源2には第1の光量コントローラ21が接続され、第2の光源40には第2の光量コントローラ46が接続されている。
コンピュータ20には、予め明暗2段階の第1の光量Aと第2の光量Bとが設定される。このコンピュータ20は、第1の光量コントローラ21に対して第1の光源2から出力される光の光量を互いに異なる第1の光量Aと第2の光量Bとのいずれか一方に調光する第1の調光切替え指示を発する。第1の光量コントローラ21は、コンピュータ20から発せられた第1の光量A又は第2の光量Bの第1の調光切替え指示を受けると、第1の光源2に対する例えば印加電圧を制御して第1の光源2から出力される光量を第1の光量A又は第2の光量Bに調光する。
又、コンピュータ20は、第2の光量コントローラ46に対して第2の光源40から出力される光の光量を互いに異なる第1の光量Aと第2の光量Bとのいずれか一方に調光する第2の調光切替え指示を発する。第2の光量コントローラ40は、コンピュータ20から発せられた第1の光量A又は第2の光量Bの第2の調光切替え指示を受けると、第2の光源40に対する例えば印加電圧を制御して第2の光源40から出力される光量を第1の光量A又は第2の光量Bに調光する。
コンピュータ20は、図10に示す位相シフト画像データの画像取得ステップに従って第1と第2の光量コントローラ21、46に対してそれぞれ第1と第2の調光切替え指示を発して第1と第2の光源2、40とを調光制御し、かつ第1と第2の走査機構4、42に対してそれぞれ第1と第2の駆動指示を発して複数の位相シフト画像データを取得する。
次に、位相シフト画像データを取得方法について図10に示す位相シフト画像データの画像取得ステップを参照して説明する。
先ず、画像取得ステップ「1」において、コンピュータ20は、第1の光量コントローラ21に対して第1の光量Aの調光切替え指示を発し、かつ走査機構4に対して位相シフト量0[rad]の駆動指示を発する。又、コンピュータ20は、第2の光量コントローラ46に対して光源オフの指示を発する。これにより、第2の光源40は、光の出力を停止する。第1の光源2は、第1の光量Aの光を出力する。第1の走査機構4は、例えば現在の第1のパターン板3の位置を初期位置として位相シフト量0[rad]とする。
第1の光源2から出力された光は、第1のパターン板3の各スリットを通過することにより互いに等間隔の明暗の縞パターン光Pに整形され、第1の投影光学系5を通して被検査物1の表面に対して斜め上方から投影される。この縞パターン光Pの投影により被検査物1の表面上に現れるパターン像は、結像光学系8により撮像装置9の撮像面9a上に結像される。この撮像装置9は、被検査物1の表面上のパターン像を撮像してその画像信号を出力する。コンピュータ20は、撮像装置9から出力された画像信号を取り込み、縞パターン光Pの位相シフト量0[rad]に対応する第1の位相シフト画像データIa1(x,y)として記憶部22に保存する。
次に、画像取得ステップ「2」において、コンピュータ20は、第1の光量コントローラ21に対する第1の光量Aの調光切替え指示を保持すると共に、第2の光量コントローラ46に対する光源オフの指示を保持した状態で、第1の走査機構4に対して位相シフト量π/2[rad]の駆動指示を発する。これにより、上記同様に、コンピュータ20は、撮像装置9から出力された画像信号を取り込み、縞パターン光Pの位相シフト量π/2[rad]に対応する第1の位相シフト画像データIa2(x,y)を記憶部22に保存する。
以下、同様に、画像取得ステップ「3、4」において、コンピュータ20は、第1の光量コントローラ21に対する第1の光量Aの調光切替え指示を保持すると共に、第2の光量コントローラ46に対する光源オフの指示を保持した状態で、第1の走査機構4に対して位相シフト量π[rad]、3π/2[rad]の各駆動指示を順次発する。これにより、上記同様に、コンピュータ20は、撮像装置9から出力された画像信号を取り込み、縞パターン光Pの位相シフト量π/2[rad]、3π/2[rad]に対応する各第1の位相シフト画像データIa3(x,y)、Ia4(x,y)を記憶部22に順次保存する。
次に、画像取得ステップ「5」において、コンピュータ20は、第2の光量コントローラ46に対して第2の光量Bの調光切替え指示を発し、かつ第2の走査機構42に対して位相シフト量0[rad]の駆動指示を発する。
又、コンピュータ20は、第1の光量コントローラ21に対して光源オフの指示を発する。これにより、第1の光源2は、光の出力を停止する。一方、第2の光源40は、第2の光量Bの光を出力する。第2の走査機構42は、例えば現在の第2のパターン板41の位置を初期位置として位相シフト量0[rad]に戻す。これにより、上記同様に、撮像装置9は、縞パターン光Pが投影された被検査物1の表面上のパターン像を撮像してその画像信号を出力する。コンピュータ20は、撮像装置9から出力された画像信号を取り込み、縞パターン光Pの位相シフト量0[rad]に対応する第2の位相シフト画像データIb1(x,y)を記憶部22に保存する。
次に、画像取得ステップ「6」において、コンピュータ20は、第2の光量コントローラ46に対する第2の光量Bの調光切替え指示を保持すると共に、第1の光量コントローラ21に対する光源オフの指示を保持した状態で、第2の走査機構42に対して位相シフト量π/2[rad]の駆動指示を発する。これにより、上記同様に、コンピュータ20は、撮像装置9から出力された画像信号を取り込み、縞パターン光Pの位相シフト量π/2[rad]に対応する第2の位相シフト画像データIb2(x,y)を記憶部22に保存する。
以下、同様に、画像取得ステップ「7、8」において、コンピュータ20は、第2の光量コントローラ46に対する第2の光量Bの調光切替え指示を保持すると共に、第1の光量コントローラ21に対する光源オフの指示を保持した状態で、第2の走査機構42に対して位相シフト量π[rad]、3π/2[rad]の各駆動指示を順次発する。これにより、上記同様に、コンピュータ20は、撮像装置9から出力された画像信号を取り込み、縞パターン光Pの位相シフト量π/2[rad]、3π/2[rad]に対応する各第2の位相シフト画像データIb3(x,y)、Ib4(x,y)を記憶部22に順次保存する。
なお、これら第1の位相シフト画像データIa1(x,y)〜Ia4(x,y)及び第2の位相シフト画像データIb1(x,y)〜Ib4(x,y)は、それぞれ4枚づつに限らず、複数毎Ia1(x,y)〜Ian(x,y)、Ib1(x,y)〜Ibn(x,y)取得してもよいことは言うまでもない。
コンピュータ20は、複数の第1の位相シフト画像データIa1(x,y)〜Ia4(x,y)及び複数の第2の位相シフト画像データIb1(x,y)〜Ib4(x,y)を保存すると、図2に示すステップ#4、ステップ#6〜#14を実行して被検査物1の高さ情報h(x,y)を求める。又はコンピュータ20は、図5に示すステップ#20〜#22、ステップ#7、ステップ#9〜#14を実行して被検査物1の高さ情報h(x,y)を求める。
なお、明るさの異なる第1の位相シフト画像データIa1(x,y)〜Ia4(x,y)と複数の第2の位相シフト画像データIb1(x,y)〜Ib4(x,y)とは、それぞれ第1の投影光学系5と第2の投影光学系43との別の光学系を通して取得しているので、これらを単純に位相分布を合成することはできないが、それぞれの投影パラメータによる位相分布データを補正することにより合成が可能である。
このように上記第6の実施の形態によれば、被検査物1に対して縞パターン光Pを投影する第1の投影光学系5と、この第1の投影光学系5の投影方向と別の投影方向から縞パターン光Pを投影する第2の投影光学系43とを設け、これら投影光学系5、43により第1と第2の光量A、Bの縞パターン光Pをそれぞれ被検査物1に照射して第1の位相シフト画像データIa1(x,y)〜Ia4(x,y)と2の位相シフト画像データIb1(x,y)〜Ib4(x,y)とを取得するので、被検査物1の表面の散乱特性が変化し、例えば第1の投影光学系5により高いコントラストの第1の位相シフト画像データIa1(x,y)〜Ia4(x,y)を取得できなくても、第2の投影光学系43により高いコントラストの第2の位相シフト画像データIb1(x,y)〜Ib4(x,y)を取得できる。これにより、第1と第2の光量A、Bでかつ互いに異なる投影方向から縞パターン光Pを照射して取得した第1の位相シフト画像データIa1(x,y)〜Ia4(x,y)と2の位相シフト画像データIb1(x,y)〜Ib4(x,y)との中から高いコントラストの位相シフト画像データを用いることにより、正確な位相分布φ(x,y)を求めることができ、被検査物1の高さ情報h(x,y)の測定精度を高くできる。
次に、本発明の第7の実施の形態について図面を参照して説明する。なお、図1と同一部分には同一符号を付してその詳しい説明は省略する。
図11は3次元形状測定装置の構成図である。この3次元形状測定装置は、被検査物1上に縞パターン光Pを所定の位相シフト量毎(例えば0[rad]、π/2[rad]、π[rad]、3π/2[rad])に位相シフトして投影しながら被検査物1上の各パターン像を撮像し、これら撮像により取得された複数の位相シフト画像データ、例えば上記第1の実施の形態における第1の位相シフト画像データIa1(x,y)〜Ia4(x,y)と第2の位相シフト画像データIb1(x,y)〜Ib4(x,y)とに基づいて被検査物1の高さ情報h(x,y)を求める。
この3次元形状測定装置は、被検査物1の高さ情報h(x,y)の測定の前に、光源2から出力される光量を、第1の位相シフト画像データIa1(x,y)〜Ia4(x,y)と第2の位相シフト画像データIb1(x,y)〜Ib4(x,y)とに輝度飽和を生じない第1の光量A又は第2の光量Bに設定する。
光源2から出力される光の光軸L1上には、切替え機構50が設けられている。この切替え機構50は、互いに等間隔の複数のスリットが形成されたパターン板3を有する走査機構4とフィルタ51(例えば、NDフィルタ)とを備え、パターン板3とフィルタ51とを矢印S3方向に移動して光軸L1上に切り替える。フィルタ51は、パターンを形成せず、かつ全面に亘って均一の光透過率を有する。このフィルタ51の光透過率は、パターン板3における明部に有する光透過率と同一に設定されている。
コンピュータ20は、記憶部22、画像抽出部52、輝度検出部53、輝度比較部54及び高さ情報算出部26を有する。記憶部22には、フィルタ51を光軸L1上に挿入したときに撮像装置9から出力される画像信号を取り込んで取得した画像データが記憶される。すなわち、パターン板3の明部を透過した光量と同一光量の光で被検査物1の全面を照明したときの被検査物1の画像データが記憶部22に記憶される。
画像抽出部52は、記憶部22に記憶されている画像データ中から所望の領域(指示範囲)内の画像データを抽出する。この画像データの抽出は、表示装置13に表示される被検査物1の画像を観察しながら例えばキーボードやマウス、各種キーなどの指示入力部52aを操作して設定される。被検査物1として例えば図12に示すような電子部品1aの画像データから画像データを抽出する場合、電子部品1a上の各パターン1bを測定対象とすれば、この測定対象に指示範囲Hを設定し、この指示範囲H外の周辺に存在する明るさの異なる領域を除外する。
輝度検出部53は、画像抽出部52により抽出された指示範囲H内の抽出画像データ中から輝度評価値として例えば最高輝度値を検出する。
輝度比較部54は、輝度検出部53により検出された最高輝度値と予め設定された輝度範囲とを比較し、この比較結果を光量可変部55に送出する。この輝度比較部54は、予め設定された輝度範囲の上限値を最高輝度値よりも僅かに低く設定すると共に、同輝度範囲の下限値を上限値よりも若干低く設定する。
光量可変部55は、輝度比較部54の比較結果を受け、輝度検出部53により検出された最高輝度値が輝度範囲内になければ、被検査物1に照射する光の光量を輝度範囲内になるように例えば光源2へのランプ印加電圧を可変制御する。
次に、上記の如く構成された装置における光源の光量設定動作について説明する。
被検査物1の高さ情報h(x,y)の測定の前に、先ず、切替え機構50は、フィルタ51を矢印S3方向に移動して光軸L1上に挿入する。
光源2から光が出力されると、この光は、フィルタ51を透過し、投影光学系5を通して被検査物1の表面に対して斜め上方から照射される。この被検査物1の表面に照射される光量は、パターン板3における明部を透過した光量と同一で、かつ被検査物1の表面に均一に照射される。
被検査物1の像は、結像光学系8により撮像装置9の撮像面9a上に結像される。この撮像装置9は、被検査物1の像を撮像してその画像信号を出力する。コンピュータ20は、撮像装置9から出力された画像信号を取り込み、被検査物1の像の画像データとして記憶部22に記憶する。
コンピュータ20は、記憶部22に記憶された画像データを読み出し、被検査物1の像を表示装置13に表示する。この被検査物1の画像を観察しながら例えばキーボードやマウス、各種キーなどの指示入力部52aの操作により例えば図12に示すように電子部品1aの画像データにおける測定範囲が指示範囲Hとして設定される。この設定により画像抽出部52は、画像データ中から設定された指示範囲H内の画像データを抽出する。
輝度検出部53は、画像抽出部52により抽出された指示範囲H内の抽出画像データ中から輝度評価値として例えば最高輝度値を検出し、この最高輝度値を輝度比較部54に送る。
輝度比較部54は、輝度検出部53により検出された最高輝度値を受け取り、この最高輝度値と予め設定された輝度範囲とを比較し、この比較結果を光量可変部55に送出する。比較の結果、例えば最高輝度値が輝度範囲内にあれば、輝度比較部54は、「範囲内」の比較結果を光量可変部55に送出する。又、最高輝度値が輝度範囲の上限値よりも高ければ、輝度比較部54は、「上」の比較結果を光量可変部55に送出し、最高輝度値が輝度範囲の下限値よりも低ければ、「下」の比較結果を光量可変部55に送出する。
光量可変部55は、輝度比較部54の「範囲内」「上」又は「下」の比較結果を受け、比較結果が「範囲内」であれば、光量可変部55に対して現在の光源2へのランプ印加電圧を維持する制御信号を送出する。比較結果が「上」であれば、光量可変部55は、被検査物1に照射する光の光量を輝度範囲内になるように光量可変部55に対して光源2へのランプ印加電圧を例えば低下させる制御信号を送出する。又、比較結果が「下」であれば、光量可変部55は、被検査物1に照射する光の光量を輝度範囲内になるように光量可変部55に対して光源2へのランプ印加電圧を例えば高める制御信号を送出する。
これにより、光源2から出力され、被検査物1の表面上に照射される光の光量は、例えば第1の光量A又は第2の光量Bの適切な輝度範囲内に入る。このように被検査物1の表面上の光量が適切な輝度範囲内に入ると、光源2へのランプ印加電圧が固定される。
この状態で、切替え機構50は、パターン板3を矢印S3方向に移動してフィルタ51と切り替え、パターン板3を光軸L1上に挿入する。光源2から光が出力されると、この光は、パターン板3の各スリットを通過することにより互いに等間隔の明暗の縞パターン光Pに整形され、投影光学系5を通して被検査物1の表面に対して斜め上方から投影される。
以下、例えば上記第1の実施の形態と同様に、被検査物1の表面を第1の光量A又は第2の光量Bの縞パターン光Pを投影し、かつ被検査物1上に縞パターン光Pを所定の位相シフト量毎(例えば0[rad]、π/2[rad]、π[rad]、3π/2[rad])に位相シフトして投影しながら被検査物1上の各パターン像を撮像装置9により撮像する。コンピュータ20は、撮像装置9の撮像により取得された複数の位相シフト画像データ、例えば第1の位相シフト画像データIa1(x,y)〜Ia4(x,y)と第2の位相シフト画像データIb1(x,y)〜Ib4(x,y)とから輝度が飽和する画素があれば、当該画素のコントラストを強制的にゼロに設定し、それ以外の各画素のうちコントラストの良い各画素に基づいて被検査物1の高さ情報h(x,y)を算出する。
ここで、上記の通り被検査物1の表面上に照射される光の光量は、適切な輝度範囲内に入っているので、被検査物1上に縞パターン光Pを所定の位相シフト量毎(例えば0[rad]、π/2[rad]、π[rad]、3π/2[rad])に位相シフトしたときに取得した第1の位相シフト画像データIa1(x,y)〜Ia4(x,y)と第2の位相シフト画像データIb1(x,y)〜Ib4(x,y)とにおける指示範囲H内の画像データには、輝度飽和する画素が現れない。
従って、コンピュータ20は、輝度飽和する画素のない第1の位相シフト画像データIa1(x,y)〜Ia4(x,y)と第2の位相シフト画像データIb1(x,y)〜Ib4(x,y)とから安定して被検査物1の高さ情報h(x,y)を算出できる。
このように上記第7の実施の形態によれば、被検査物1の高さ情報h(x,y)の測定の前に、フィルタ51を透過して被検査物1の表面に、パターン板3における明部を透過した光量と同一でかつ被検査物1の表面に均一な光を照射し、このときの被検査物1の画像データ中から輝度評価値として例えば最高輝度値を検出し、この最高輝度値と予め設定された輝度範囲との比較結果に応じて光源2へのランプ印加電圧を制御する。
これにより、簡単な構成でかつ速く被検査物1の表面上に照射される光の光量を適切な輝度範囲内に設定でき、第1の位相シフト画像データIa1(x,y)〜Ia4(x,y)及び第2の位相シフト画像データIb1(x,y)〜Ib4(x,y)における指示範囲H内の画像データに輝度飽和する画素が生じることはない。この結果、安定して被検査物1の高さ情報h(x,y)を高精度に算出できる。
又、被検査物1が複雑な形状を有し、かつ表面の散乱特性が均一でなくても、第1の位相シフト画像データIa1(x,y)〜Ia4(x,y)及び第2の位相シフト画像データIb1(x,y)〜Ib4(x,y)から指示範囲H内の画像データを抽出し、この抽出画像データ中に輝度飽和する画素が生じないように光源2から出力される光量を制御するので、複雑な形状を有し、かつ表面の散乱特性が不均一な被検査物1であっても、安定して被検査物1の高さ情報h(x,y)を高精度に算出できる。
なお、フィルタ51の光透過率は、パターン板3における明部の光透過率と同一にしているが、これに限らず、パターン板3における明部の光透過率との比率が予め既知である光透過率に設定してもよい。この場合、光量可変部55は、フィルタ51の光透過率とパターン板3の明部の光透過率との比率を用いて換算したランプ印加電圧を光源2に印加する。
次に、本発明の第8の実施の形態について図面を参照して説明する。なお、図11と同一部分には同一符号を付してその詳しい説明は省略する。
図13は3次元形状測定装置の光量可変機構の構成図である。光量可変機構60は、モータ61と、このモータ61の軸に設けられた円板状の連続NDフィルタ62とを有する。この連続NDフィルタ62は、円周方向に連続的に変化する光透過率の異なるコーティングを施してある。この連続NDフィルタ62は、円周上の一部を光源2から出力される光の光軸L1上に配置する。駆動制御部63は、モータ61の回転角を駆動制御する。
このような光量可変機構60を用いれば、モータ61は、駆動制御部63により回転角が制御される。このモータ61の回転によって連続NDフィルタ62が回転し、その回転角に応じて連続NDフィルタ62における光軸L1上に配置される光透過率が決まる。
連続NDフィルタ62による光透過率が設定されると、光源2から出力された光は、フィルタ連続NDフィルタ62を透過し、投影光学系5を通して被検査物1の表面に対して斜め上方から照射される。以下、上記第7の実施の形態と同様に、被検査物1の像の画像データが記憶部22に記憶される。そして、コンピュータ20は、被検査物1の像の画像データ中から指示範囲H内の画像データを抽出し、この抽出画像データ中から検出した最高輝度値と予め設定された輝度範囲とを比較し、この比較結果を光量可変部55に送出する。
この光量可変部55は、最高輝度値と予め設定された輝度範囲との比較結果を受け、最高輝度値が輝度範囲内になければ、被検査物1に照射する光の光量を輝度範囲内になるように駆動制御部63に指令が送られる。駆動制御部63は、モータ61を制御して連続NDフィルタ62を回転させることで光源2の光量を可変制御する。このとき、駆動制御部63は、モータ61の回転角と連続NDフィルタ62の光透過率との関係がテーブル等により保持しているので、このテーブルから連続NDフィルタ62の光透過率を読み取り、この連続NDフィルタ62の光透過率とパターン板3の明部の光透過率との比率を用いて換算した回転量だけモータ61を回転させて連続NDフィルタ62を透過する光源2の光量を調整する。
これにより、光源2から出力され、被検査物1の表面上に照射される光の光量は、例えば第1の光量A又は第2の光量Bの適切な輝度範囲内に入る。このように被検査物1の表面上の光量が適切な輝度範囲内に入ると、光源2へのランプ印加電圧が固定される。
このように上記第8の実施の形態によれば、連続NDフィルタ62をモータ61により回転させて光透過率を設定するので、上記第7の実施の形態と同様の効果を奏することは言うまでもなく、高速に被検査物1の表面上に照射される光の光量を適切な輝度範囲内に設定できる。又、モータ61の回転角により連続NDフィルタ62の光透過率を設定するので、設定する光透過率に対する制御性が高く、正確に所要とする連続NDフィルタ62の光透過率とパターン板3の明部の光透過率との比率に設定できる。
次に、本発明の第9の実施の形態について図面を参照して説明する。なお、図11と同一部分には同一符号を付してその詳しい説明は省略する。
図14は3次元形状測定装置の構成図である。上記第7の実施の形態と相違することろは、被検査物1の高さ情報h(x,y)の測定時と同時に、被検査物1の表面に縞パターン光Pを投影して被検査物1の表面上に照射される光量を適切な輝度範囲内に制御する。装置構成では、光源2から出力される光の光軸L1上には、パターン板3を有する走査機構4のみを設ける。
輝度検出部64は、高さ情報算出部26により被検査物1の高さ情報h(x,y)を算出する過程で発生する各画素毎の輝度のオフセット成分a(x,y)とコントラストb(x,y)とに基づいて指示範囲H内の画像データにおける最高輝度値を求める。
次に、上記の如く構成された装置における光源の光量設定動作について説明する。
被検査物1の高さ情報h(x,y)の測定時と同様に、被検査物1の表面に縞パターン光Pを投影して行う。すなわち、例えば上記第1の実施の形態と同様に、被検査物1の表面を第1の光量A又は第2の光量Bの縞パターン光Pを投影し、かつ被検査物1上に縞パターン光Pを所定の位相シフト量毎(例えば0[rad]、π/2[rad]、π[rad]、3π/2[rad])に位相シフトして投影しながら被検査物1上の各パターン像を撮像装置9により撮像する。コンピュータ20は、撮像装置9の撮像により取得された複数の位相シフト画像データ、例えば第1の位相シフト画像データIa1(x,y)〜Ia4(x,y)と第2の位相シフト画像データIb1(x,y)〜Ib4(x,y)とを取得して記憶部22に記憶する。、
コンピュータ20は、記憶部22に記憶された画像データを読み出し、被検査物1の像を表示装置13に表示し、この被検査物1の画像を観察しながら例えばキーボードやマウス、各種キーなどの指示入力部52aから入力される例えば図12に示すような指示範囲Hを設定する。画像抽出部52は、画像データ中から設定された指示範囲H内の画像データを抽出する。
高さ情報算出部26は、画像抽出部52により抽出された抽出画像データ中における任意位置の画素(x,y)の輝度情報を求める。一般に、輝度値Iiと位相φ(x,y)との関係は、上記式(1)のように、
Ii(x,y)=a(x,y)+b(x,y)・cos{φ(x,y)+δi}
により表わされる。上記式(1)により位相シフト量δiを例えば3回以上変化させて各輝度値Ii(x,y)を取得すれば、未知量である輝度のオフセット成分a(x,y)、コントラスト成分b(x,y)、位相φ(x,y)が求められる。この位相φ(x,y)により被検査物1の高さ情報h(x,y)は、上記式(2)に示す、
h(x,y)=(p/sinα)・{φ(x,y)+2nπ}/2π
を演算することにより求められる。
この高さ情報算出部26は、上記式(1)により被検査物1の高さ情報h(x,y)を算出する過程で発生する各画素毎の輝度のオフセット成分a(x,y)とコントラストb(x,y)とを輝度検出部64に送出する。
この輝度検出部64は、各画素毎の輝度のオフセット成分a(x,y)とコントラストb(x,y)とを加算し、被検査物1上に縞パターン光Pを位相シフトさせる毎に発生する各画素毎の明部の輝度Iを次式(10)により求める。
I(x,y)=a(x,y)+b(x,y) …(10)
次に、輝度検出部64は、各画素毎の明部の輝度Iから指示範囲H内において最も高い輝度値を評価値として輝度比較部54に送出する。
以下、上記第7の実施の形態と同様に、輝度比較部54は、輝度検出部53により検出された最高輝度値を受け取り、この最高輝度値と予め設定された輝度範囲とを比較し、この比較結果を光量可変部55に送出する。光量可変部55は、輝度比較部54の比較結果を受け、輝度検出部53により検出された最高輝度値が輝度範囲内になければ、被検査物1に照射する光の光量を輝度範囲内になるように例えば光源2へのランプ印加電圧を可変制御する。これにより、光源2から出力され、被検査物1の表面上に照射される光の光量は、例えば第1の光量A又は第2の光量Bの適切な輝度範囲内に入る。このように被検査物1の表面上の光量が適切な輝度範囲内に入ると、光源2へのランプ印加電圧が固定される。
このように上記第9の実施の形態によれば、被検査物1の高さ情報h(x,y)を算出する過程で発生する各画素毎の輝度のオフセット成分a(x,y)とコントラストb(x,y)とに基づいて指示範囲H内の画像データにおける最高輝度値を求め、この最高輝度値と予め設定された輝度範囲との比較結果に応じて光源2へのランプ印加電圧を制御する。
これにより、被検査物1の表面上に走査する縞パターン光Pの如何なる走査位置でも適正な第1の光量A又は第2の光量Bで縞パターン光Pを投影でき、輝度飽和の生じない第1の位相シフト画像データIa1(x,y)〜Ia4(x,y)及び第2の位相シフト画像データIb1(x,y)〜Ib4(x,y)を取得できる。この結果、被検査物1の高さ情報h(x,y)の測定時と同時に、被検査物1の表面上に照射される光量を適切な輝度範囲内に高速に設定でき、安定して被検査物1の高さ情報h(x,y)を高精度に算出できる。
なお、上記第7乃至第9の実施の形態は、いずれも第1の位相シフト画像データIa1(x,y)〜Ia4(x,y)と第2の位相シフト画像データIb1(x,y)〜Ib4(x,y)との各画素に輝度飽和を生じないように第1の光量A又は第2の光量Bなどの適性光量に設定するが、これら第7乃至第9の実施の形態のいずれかは、上記第1の実施の形態に適用するに限らず、上記第2乃至第6の実施の形態に適用できる。
1:被検査物、2:光源、3:パターン板、4:走査機構、5:投影光学系、6:集光レンズ、7:投影レンズ、8:結像光学系、9:撮像装置、10:対物レンズ、11:結像レンズ、20:コンピュータ、21:光量コントローラ、22:記憶部、23:コントラスト算出部、24:ゼロ設定部、25,28:比較部、26:高さ情報算出部、27:輝度判断部、30:フィルタ切替え装置、31:NDフィルタ、40:第2の光源、41:第2のパターン板、42:第2の走査機構、43:第2の投影光学系、44:集光レンズ、45:投影レンズ、46:第2の光量コントローラ、50:切替え機構、51:フィルタ、52:画像抽出部、53:輝度検出部、54:輝度比較部、55:光量可変部、60:光量可変機構、61:モータ、63:駆動制御部、64:輝度検出部。