以下、本発明の実施の形態を図面に基づいて説明する。ただし、以下に示す実施の形態は、本発明の技術思想を具体化するための三次元形状測定装置を例示するものであって、本発明は三次元形状測定装置を以下のものに特定しない。また、本明細書は特許請求の範囲に示される部材を、実施の形態の部材に特定するものでは決してない。特に実施の形態に記載されている構成部品の寸法、材質、形状、その相対的配置等は特に特定的な記載がない限りは、本発明の範囲をそれのみに限定する趣旨ではなく、単なる説明例にすぎない。なお、各図面が示す部材の大きさや位置関係等は、説明を明確にするため誇張していることがある。さらに以下の説明において、同一の名称、符号については同一もしくは同質の部材を示しており、詳細説明を適宜省略する。さらに、本発明を構成する各要素は、複数の要素を同一の部材で構成して一の部材で複数の要素を兼用する態様としてもよいし、逆に一の部材の機能を複数の部材で分担して実現することもできる。
本明細書において、「テクスチャ画像」とは、光学画像に代表される、テクスチャ情報を有する観察画像である。一方、「高さ画像」とは、距離画像等とも呼ばれるものであり、高さ情報を含む画像の意味で使用する。例えば、高さ情報を輝度や色度等に変換して二次元画像として表示した画像や、高さ情報をZ座標情報として三次元状に表示した画像が挙げられる。またこのような高さ画像にテクスチャ画像をテクスチャ情報として貼り付けた三次元の合成画像も、高さ画像に含む。また、本明細書において高さ画像の表示形態は二次元状に表示されるものに限られず、三次元状に表示されるものも含む。例えば、高さ画像の有する高さ情報を輝度等に変換して二次元画像として表示したものや、高さ情報をZ座標情報として三次元状に表示したものを含む。
さらに本明細書において測定対象物をステージ上に置く「姿勢」とは、測定対象物の回転角度を意味する。なお、測定対象物が円錐のような平面視において点対称の形状の場合は、回転角度に依らず同じ結果が得られるため、姿勢は規定する必要がない。
以下の実施例では、測定対象物の高さ情報を取得するため、所定のパターンの測定光を測定対象物に対して照射して、測定対象物の表面で反射された反射光から得られる信号を用いて、高さ情報を取得している。例えば、所定のパターンの測定光として、構造化照明を用いて、測定対象物に投影し、その反射光から得られる投影パターン画像を用いた三角測距を用いた計測方法を用いることができる。ただ、本発明は測定対象物の高さ情報を取得するための原理や構成を、これに限らず、他の方法も適用することができる。
(実施形態1)
三次元形状測定装置は、測定対象画像の三次元の高さ計測を行うことができる。また、三次元計測に加えて、二次元の寸法計測も行うことができる。図1に、本発明の実施例1に係る三次元形状測定装置のブロック図を示す。この図に示す三次元形状測定装置500は、測定部100、台座部600と、コントローラ200、光源部300及び表示部400を備える。この三次元形状測定装置500は、光源部300で構造化照明を行い、投影パターン画像を撮像して高さ情報を有する高さ画像を生成し、これに基づいて測定対象物WKの三次元寸法や形状を計測することができる。このような縞投影を用いた測定は、測定対象物WKやレンズ等の光学系をZ方向に移動させることなく高さ測定ができるため、測定時間を短くできるという利点がある。
測定部100は、投光部110と、受光部120と、測定制御部150と、照明光出力部130を備える。投光部110は、載置部140に載置された測定対象物WKに所定のパターンを有する測定光を照射する。受光部120は、載置面142に対して傾斜姿勢で固定されている。この受光部120は、投光部110により照射され、測定対象物WKにて反射された測定光を受光して、受光量を表す受光信号を出力する。受光部120は、載置部140に載置された測定対象物WKを撮像することにより測定対象物WKの全体形状を観察するための観察画像を生成することができる。
台座部600は、載置部140と移動制御部144を備える。この台座部600は、ベースプレート602上に載置部140を支持している。移動制御部144は、載置部140を移動させる部材である。移動制御部144は、台座部600側に設ける他、コントローラ側に配置してもよい。
光源部300は、測定部100と接続される。光源部300は、測定光を生成して測定部100に供給する。コントローラ200は、測定部100の撮像を制御する。表示部400は、コントローラ200と接続され、生成された画像を表示させ、また必要な設定を行うHMIとなる。
(載置部140)
図1に示す台座部600は、載置部140と、移動制御部144を備える。載置部140は、測定対象物WKが載置される載置面142を有する。この載置部140は、載置面142を回転させる回転ステージ143と、載置面142を平行移動させる並進ステージ141を含む。
(移動制御部144)
移動制御部144は、測定領域設定部264により設定された測定領域に基づいて、回転ステージ143の回転移動及び並進ステージ141の平行移動を制御する。また移動制御部144は、後述する測定領域設定部264により設定された測定領域に基づいて、載置移動部による載置部140の移動動作を制御する。
コントローラ200は、CPU(中央演算処理装置)210、ROM(リードオンリメモリ)220、作業用メモリ230、記憶装置240及び操作部250を含む。コントローラ200には、PC(パーソナルコンピュータ)等が利用できる。またCPU210は、点群データを生成する点群データ生成部260等の機能を実現する(詳細は後述)。
(測定部100のブロック図)
図1の三次元形状測定装置500の測定部100の構成を図2のブロック図に示す。測定部100は、例えば顕微鏡であり、投光部110、受光部120、照明光出力部130、測定制御部150、及びこれらを収納する本体ケース101、並びに載置部140を備える。投光部110は、測定光源111、パターン生成部112及び複数のレンズ113、114、115を含む。受光部120は、カメラ121及び複数のレンズ122、123を含む。載置部140上には、測定対象物WKが載置される。本体ケース101は、樹脂や金属製の筐体とする。なお図2では、三次元形状測定装置500を正面から見た状態を示しており、投光部110は図1に示すよう紙面に対して奥行き方向に傾斜して固定されている。
(投光部110)
投光部110は、載置部140の斜め上方に配置される。この測定部100は、載置部140に載置された測定対象物WKに測定光を照射する。測定光は、所定の投影パターンを有する。測定部100は、二次元状に配置された複数の投影素子を有しており、各投影素子は独立して制御可能としている。この投影素子でもって、周期的な明暗の位相を有する所定の投影パターンを生成する。各投影素子は、明暗や濃淡を表現できる。また投光部110は、測定光源111と、パターン生成部112で構成してもよい。パターン生成部112は、多数の投影素子を二次元状に配列している。このパターン生成部112は、例えば各投影素子の明暗を二値で、すなわち測定光源111からの測定光の透過又は反射のいずれかで表現することで、様々な投影パターンを生成できる。この場合、投影素子は、各々が測定光源111から出射された測定光を透過又は反射するよう独立して制御される。
投光部110は、複数の投光部110を含んでもよい。図2の例においては、測定部100は2つの投光部110を含む。ここでは、第一の方向から測定対象物WKに対して第一測定光ML1を照射可能な第一測定光投光部110A(図2において右側)と、第一の方向とは異なる第二の方向から測定対象物WKに対して第二測定光ML2を照射可能な第二測定光投光部110B(図2において左側)を、それぞれ配置している。第一測定光投光部110A、第二測定光投光部110Bは受光部120の光軸を挟んで対称に配置される。なお投光部を3以上備えたり、あるいは投光部とステージを相対移動させて、共通の投光部を用いつつも、照明の方向を異ならせて投光させることも可能である。また以上の例では投光部110を複数用意し、共通の受光部120で受光する構成としているが、逆に共通の投光部に対して、複数の受光部を用意して受光するように構成してもよい。さらにこの例では投光部が投光する照明光の、垂直方向に対する照射角度θ(図6等参照)を固定としているが、これを可変とすることもできる。
(測定光源111)
各第一測定光投光部110A、第二測定光投光部110Bは、測定光源111としてそれぞれ第一測定光源、第二測定光源を備える。これら測定光源111は、例えば白色光を出射するハロゲンランプである。測定光源111は、単色光を発光する光源、例えば白色光を出射する白色LED(発光ダイオード)や有機EL等の他の光源であってもよい。測定光源111から出射された光(以下、「測定光」と呼ぶ。)は、レンズ113により適切に集光された後、パターン生成部112に入射される。
(パターン生成部112)
パターン生成部112は、測定光を測定対象物WKに対して投光させるよう、測定光源111から出射された光を反射させる。パターン生成部112に入射した測定光は、予め設定されたパターン及び予め設定された強度(明るさ)に変換されて出射される。パターン生成部112により出射された測定光は、複数のレンズ114、115により受光部120の観察・測定可能な視野よりも大きい径を有する光に変換された後、載置部140上の測定対象物WKに照射される。
パターン生成部112は、パターン生成部112を構成する多数の投影素子(投影画素)毎に、測定光を測定対象物WKに投光させる投光状態と、測定光を測定対象物WKに投光させない非投光状態とを切り替え可能な部材である。このようなパターン生成部112には、例えばDMD(デジタルマイクロミラーデバイス)が好適に利用できる。DMDを用いたパターン生成部112は、投光状態として測定光を光路上に反射させる反射状態と、非投光状態として測定光を遮光させる遮光状態とを切り替え可能に、測定制御部150により制御できる。
DMDは多数のマイクロミラー(微小鏡面)MMを平面上に配列した素子である。各マイクロミラーは、パターン生成部112の投影画素を構成する投影素子となる。各マイクロミラーは、測定制御部150により個別にON状態、OFF状態を切り替えることができるので、多数のマイクロミラーのON状態、OFF状態を組み合わせて、所望の投影パターンを構成できる。これによって、三角測距に必要なパターンを生成して、測定対象物WKの測定が可能となる。このようにDMDは、測定時には測定用の周期的な投影パターンを測定対象物WKに投光する投影パターン光学系として機能する。またDMDは応答速度にも優れ、シャッター等に比べ高速に動作させることができる利点も得られる。
なお以上の例では、パターン生成部112にDMDを用いた例を説明したが、本発明はパターン生成部112をDMDに限定するものでなく、他の部材を用いることもできる。例えば、パターン生成部112として、LCOS(Liquid Crystal on Silicon:反射型液晶素子)を用いてもよい。あるいは反射型の部材に代えて透過型の部材を用いて、測定光の透過量を調整してもよい。この場合は、パターン生成部112を測定光の光路上に配置して、測定光を透過させる投光状態と、測定光を遮光させる遮光状態とを、パターン生成部112を構成する投影画素毎に切り替える。このようなパターン生成部112には、例えばLCD(液晶ディスプレイ)が利用できる。あるいは、複数ラインLEDを用いた投影方法、複数光路を用いた投影方法、レーザとガルバノミラー等で構成される光スキャナ方式、ビームスプリッタで分割したビームを重ね合わせることによって発生された干渉縞を用いるAFI(Accordion fringe interferometry)方式、ピエゾステージと高分解能エンコーダ等で構成される実体格子と移動機構を用いた投影方法等でパターン生成部112を構成してもよい。
さらに図2等の例では、測定光投光部を2つ備えた例を説明したが、本発明はこれに限らず、測定光投光部を3以上設けることも可能である。あるいは、測定光投光部を一のみとすることもできる。この場合は、測定光投光部の位置を移動可能とすることで、異なる方向から測定光を測定対象物WKに対して投光できる。
(受光部120)
受光部120は、載置部140の上方に配置される。測定対象物WKにより載置部140の上方に反射された測定光は、受光部120の複数のレンズ122、123により集光、結像された後、カメラ121により受光される。
(カメラ121)
カメラ121は、例えば受光素子である撮像素子121a及びレンズを含むCCD(電荷結合素子)カメラである。撮像素子121aは、例えばモノクロCCD(電荷結合素子)である。撮像素子121aは、CMOS(相補性金属酸化膜半導体)イメージセンサ等の他の撮像素子であってもよい。カラーの撮像素子は各画素を赤色用、緑色用、青色用の受光に対応させる必要があるため、モノクロの撮像素子と比較すると計測分解能が低く、また各画素にカラーフィルタを設ける必要があるため感度が低下する。そのため、本実施の形態では、撮像素子としてモノクロのCCDを採用し、後述する照明光出力部130をRGBにそれぞれ対応した照明を時分割で照射して撮像することにより、カラー画像を取得している。このような構成にすることにより、計測精度を低下させずに測定物のカラー画像を取得することができる。
ただ、撮像素子121aとして、カラーの撮像素子を用いても良いことは云うまでもない。この場合、計測精度や感度は低下するが、照明光出力部130からRGBにそれぞれ対応した照明を時分割で照射する必要がなくなり、白色光を照射するだけで、カラー画像を取得できるため、照明光学系をシンプルに構成できる。撮像素子121aの各画素からは、受光量に対応するアナログの電気信号(以下、「受光信号」と呼ぶ。)が測定制御部150に出力される。
このようにして撮像された測定対象物WKの画像は、レンズの特性によって、測定対象物WKに対して極めて正確な相似形を成している。またレンズの倍率を用いてキャリブレーションをすることで、画像上の寸法と実際の測定対象物WK上の寸法を正確に関連付けることができる。
(測定制御部150)
測定制御部150には、図示しないA/D変換器(アナログ/デジタル変換器)及びFIFO(First In First Out)メモリが実装される。カメラ121から出力される受光信号は、光源部300による制御に基づいて、測定制御部150のA/D変換器により一定のサンプリング周期でサンプリングされると共にデジタル信号に変換される。A/D変換器から出力されるデジタル信号は、FIFOメモリに順次蓄積される。FIFOメモリに蓄積されたデジタル信号は画素データとして順次コントローラ200に転送される。
(コントローラ200)
図1に示すように、コントローラ200は、CPU210、ROM220、作業用メモリ230、記憶装置240及び操作部250を含む。この操作部250は、キーボードやポインティングデバイスを含むことができる。ポインティングデバイスとしては、マウス又はジョイスティック等が用いられる。
ROM220には、システムプログラムが記憶される。作業用メモリ230は、RAM(ランダムアクセスメモリ)からなり、種々のデータの処理のために用いられる。記憶装置240は、ハードディスク等からなる。記憶装置240には、三次元形状測定装置を操作するための三次元形状測定プログラムが記憶される。また、記憶装置240は、測定制御部150から与えられる画素データ等の種々のデータを保存するために用いられる。さらに記憶装置は、測定画像を構成する画素毎に、輝度情報、高さ情報、属性情報を記憶する。
(CPU210)
CPU210は、与えられた信号やデータを処理して各種の演算を行い、演算結果を出力する制御回路や制御素子である。本明細書においてCPUとは、演算を行う素子や回路を意味し、その名称によらず、汎用PC向けのCPUやMPU、GPU、TPU等のプロセッサに限定するものでなく、FPGA、ASIC、LSI等のプロセッサやマイコン、あるいはSoC等のチップセットを含む意味で使用する。
CPU210は、測定制御部150から与えられる画素データに基づいて画像データを生成する。また、CPU210は、生成した画像データに作業用メモリ230を用いて各種処理を行うと共に、画像データに基づく画像を表示部400に表示させる。CPU210のブロック図を図3に示す。このCPUは、点群データ生成部260と、測定領域設定部264と、高さ画像取得部228と、点群データ合成部211等の機能を実現する。
(点群データ生成部260)
点群データ生成部260は、受光部120により出力される受光信号に基づいて、測定対象物WKの立体形状を表す三次元位置情報を有する点の集合である点群データを生成する。
(測定領域設定部264)
測定領域設定部264は、表示部400上に表示された観察画像上で測定領域を設定する。
高さ画像取得部228は、複数の投影パターン画像に基づいて高さ情報を有する高さ画像を取得する。また点群データ合成部211は、点群データ生成部260で生成された複数の点群データを合成する。ここで点群は、ポイントクラウド等とも呼ばれ、三次元空間の座標(例えばXYZの直交座標)を有している。このため載置部の異なる位置でそれぞれ生成された測定対象物の点群データを、点群データ生成部211でもって共通の三次元空間の座標上で重ね合わせることで、より詳細で精密な測定対象物の表面形状を表現できる。
(画像検査部216)
画像検査部216は、測定部100で撮像された測定対象物WKの画像に対して、所定の画像検査を実行する。この画像検査部216は、測定対象画像に対して所定の計測を行うための計測部216bを含むことができる。これにより、計測部216bで計測された計測結果に基づいて画像検査を実行できる。例えば、測定対象物WKの所定部位の長さや角度といった計測を行った結果に基づいて、良品や不良等の判定といった検査を行うことが可能となる。計測部216bが行う計測には、テクスチャ画像上で指定したプロファイル線を通り、画面に対して垂直な平面で切断した輪郭線を演算して、プロファイルグラフとして表示部400に表示させたり、プロファイルグラフで示す輪郭線から円や直線等を抽出して、それらの半径や距離を求めることができる。
このようにCPU210は、様々な機能を実現するための異なる手段を兼用している。ただ、一の部材で複数の手段を兼用する構成に限られず、各部や機能を実現する部材を複数、又はそれぞれ別個に設けることも可能であることはいうまでもない。
(表示部400)
表示部400は、測定部100で取得された投影パターン画像や、投影パターン画像に基づいて高さ画像取得部228で生成した高さ画像、あるいは測定部100で撮像されたテクスチャ画像を表示させるための部材である。表示部400は、例えばLCDパネル又は有機EL(エレクトロルミネッセンス)パネルにより構成される。さらに表示部にタッチパネルを利用することで、操作部と兼用することができる。
また表示部400は、受光部120により生成された観察画像を表示する。
(載置部140)
図2において、測定対象物WKが載置される載置部140上の平面(「載置面」と呼ぶ。)内で互いに直交する2方向をX方向及びY方向と定義し、それぞれ矢印X、Yで示す。載置部140の載置面142に対して直交する方向をZ方向と定義し、矢印Zで示す。Z方向に平行な軸を中心に回転する方向をθ方向と定義し、矢印θで示す。
載置部140は、並進ステージ141及び回転ステージ143を含む。並進ステージ141は、X方向移動機構及びY方向移動機構を有する。回転ステージ143は、θ方向回転機構を有する。並進ステージ141、回転ステージ143により、載置部140が構成される。また、載置部140は、載置面142に測定対象物WKを固定する固定部材(クランプ)を含めてもよい。さらに載置部140は、載置面142に平行な軸を中心に回転可能な機構を有するチルトステージを含んでもよい。
ここで図2に示すように、左右の投光部110の中心軸と受光部120の中心軸は、載置部140上の測定対象物WKの配置と投光部110、受光部120の被写界深度が適切となる位置において交差するように、受光部120、投光部110、載置部140の相対的な位置関係が定められている。また、θ方向の回転軸の中心は、受光部120の中心軸と一致しているため、θ方向に載置部140が回転した際に、測定対象物WKが視野から外れることなく、回転軸を中心に視野内で回転するようになっている。なお、本図において測定部100は紙面におけるX方向を中心に回転した配置を有しており、受光部120の光軸と載置部140の天面法線(Z方向)とは必ずしも一致する必要はない。
(光源部300)
光源部300は、制御基板310及び観察用照明光源320を含む。制御基板310には、図示しないCPUが実装される。制御基板310のCPUは、コントローラ200のCPU210からの指令に基づいて、投光部110、受光部120及び測定制御部150を制御する。なお、この構成は一例であり、他の構成としてもよい。例えば測定制御部150で投光部110や受光部120を制御したり、又はコントローラ200で投光部110や受光部120を制御することとして、制御基板を省略してもよい。あるいはこの光源部300に、測定部100を駆動するための電源回路を設けることもできる。
(観察用照明光源320)
観察用照明光源320は、例えば赤色光、緑色光及び青色光を出射する3色のLEDを含む。各LEDから出射される光の輝度を制御することにより、観察用照明光源320から任意の色の光を発生することができる。観察用照明光源320から発生される照明光ILは、導光部材(ライトガイド)を通して測定部100の照明光出力部130から出力される。なお観察用照明光源には、LEDの他、半導体レーザ(LD)やハロゲンライト、HID等、他の光源を適宜利用することもできる。特に撮像素子としてカラーで撮像可能な素子を用いた場合は、観察用照明光源に白色光源を利用できる。
照明光出力部130から出力される照明光ILは、赤色光、緑色光及び青色光を時分割で切り替えて測定対象物WKに照射する。これにより、これらのRGB光でそれぞれ撮像されたテクスチャ画像を合成して、カラーのテクスチャ画像を得て、表示部400に表示させることができる。
図2の照明光出力部130は、円環形状を有し、受光部120を取り囲むように載置部140の上方に配置される。これにより、影が発生しないように照明光出力部130から測定対象物WKにリング状に照明光が照射される。
また照明光出力部130は、このようなリング照明に加えて、透過照明や同軸落射照明を加えることもできる。図2の例では、透過照明部を載置部140に設けている。透過照明部は、載置部140の下方から測定対象物WKを照明する。このため載置部140は、透過照明光源と、反射板と、照明用レンズ系を設けている。
なお、リング照明や透過照明は、適宜省略することも可能である。これらを省略する場合は、三次元測定用の照明すなわち投光部を用いて、二次元画像の撮像を行うこともできる。
図1の例では観察用照明光源320を本体ケース101に含めず、測定部100に対して外付けとして、光源部300に観察用照明光源320を配置している。このようにすることで、観察用照明光源320から供給される照明光の品質を向上し易くできる。例えば観察用照明光源320を構成するRGBの各LEDでは配光特性がそれぞれ異なることから、モノクロの撮像素子121aでRGBのテクスチャ画像をそれぞれ撮像した際、そのままでは視野内に照明色むらが発生する。そこで、それぞれのLEDの配光特性に合わせた専用光学系を個別に用意し、組み合わせることで配光特性の違いを吸収し、色むらのない均一な白色照明を作り出した上で測定部100に導入することができる。
また観察用照明光源320の発熱が、測定部100の光学系に影響を与える事態を回避できる。すなわち、光学系の部材の近傍に熱源があると、熱膨張によって寸法が狂い、測定精度の低下が生じることがあるが、発熱源である観察用照明光源を本体ケース101から排除したことで、このような観察用照明光源の発熱に起因する問題を回避できる。また、この結果として発熱量の大きい高出力の光源を観察用照明光源に利用できる利点も得られる。
各投光部110A,110Bの測定光源111は、例えば青色LED(発光ダイオード)である。測定光源111は、ハロゲンランプ等の他の光源であってもよい。測定光源111から出射された光(以下、測定光と呼ぶ)は、レンズ113により適切に集光された後、パターン生成部112に入射する。
パターン生成部112は、例えばDMD(デジタルマイクロミラーデバイス)である。パターン生成部112は、LCD(液晶ディスプレイ)、LCOS(Liquid Crystal on Silicon:反射型液晶素子)又はマスクであってもよい。パターン生成部112に入射した測定光は、予め設定されたパターン及び予め設定された強度(明るさ)に変換されて出射される。パターン生成部112から出射された測定光は、レンズ114により測定対象物WKの寸法よりも大きい径を有する光に変換された後、載置部140上の測定対象物WKに照射される。
投光部110Aの測定光源111、レンズ113及びパターン生成部112は、受光部120の光軸と略平行に並ぶように配置される。同様に、投光部110Bの測定光源111、レンズ113及びパターン生成部112は、受光部120の光軸と略平行に並ぶように配置される。一方、各投光部110A,110Bのレンズ114は、測定光源111、レンズ113及びパターン生成部112に対してオフセットするように配置される。これにより、投光部110A,110Bの光軸が受光部120の光軸に対して傾斜し、受光部120の両側方からそれぞれ測定対象物WKに向けて測定光が出射される。
本実施形態においては、測定光の照射範囲を広くするため、一定の画角を有するように投光部110A,110Bが構成される。投光部110A,110Bの画角は、例えば、パターン生成部112の寸法及びレンズ114の焦点距離により定まる。測定光の照射範囲を広くする必要がない場合には、画角が略0度となるテレセントリック光学系が投光部110A,110Bの各々に用いられてもよい。
測定対象物WKにより載置部140の上方に反射された測定光は、受光部120のレンズ122により集光及び結像され、カメラ121の撮像素子121aにより受光される。
本実施形態においては、受光部120の撮像視野を広くするため、一定の画角を有するように受光部120が構成される。本実施の形態においては、受光部120の撮像視野とは、受光部120により撮像が可能な空間上の領域を意味する。受光部120の画角は、例えば、撮像素子121aの寸法及びレンズ122の焦点距離により定まる。広い視野を必要としない場合には、テレセントリック光学系が受光部120に用いられてもよい。ここで、測定部100に設けられる2つの受光部120のレンズ122の倍率は互いに異なる。それにより、2つの受光部120を選択的に用いることにより、測定対象物WKを互いに異なる2種類の倍率で撮像することができる。2つの受光部120は、2つの受光部120の光軸が互いに平行となるように配置されることが好ましい。
カメラ121は、例えばCCD(電荷結合素子)カメラである。撮像素子121aは、例えばモノクロCCD(電荷結合素子)である。撮像素子121aは、CMOS(相補性金属酸化膜半導体)イメージセンサ等の他の撮像素子であってもよい。撮像素子121aの各画素からは、受光量に対応するアナログの電気信号(以下、受光信号と呼ぶ)が制御基板150に出力される。
モノクロCCDには、カラーCCDとは異なり、赤色波長の光を受光する画素、緑色波長の光を受光する画素及び青色波長の光を受光する画素を設ける必要がない。ここで、測定光に青色波長等の特定波長を採用した場合、カラーCCDは特定波長の光を受光する画素しか計測に利用できないが、モノクロCCDにはそのような制約がない。そのため、モノクロCCDの計測の分解能はカラーCCDの分解能よりも高くなる。また、モノクロCCDには、カラーCCDとは異なり、各画素にカラーフィルタを設ける必要がない。そのため、モノクロCCDの感度はカラーCCDの感度よりも高くなる。したがって、高い精度で後述する点群データを得ることができる。これらの理由により、本実施形態におけるカメラ121にはモノクロCCDが設けられる。
本実施形態においては、照明光出力部130は、測定対象物WKに赤色波長の光、緑色波長の光及び青色波長の光を時分割で出射する。この構成によれば、モノクロCCDを用いた受光部120により測定対象物WKのカラー画像を撮像することができる。
一方、カラーCCDが十分な分解能及び感度を有する場合には、撮像素子121aは、カラーCCDであってもよい。この場合、照明光出力部130は、測定対象物WKに赤色波長の光、緑色波長の光及び青色波長の光を時分割で照射する必要はなく、白色光を測定対象物WKに照射する。そのため、照明光源320の構成を単純にすることができる。
実施形態1に係る三次元形状測定装置500を含む三次元形状測定システム1000を図4に示す。この図に示す三次元形状測定システム1000は、三次元形状測定装置本体500Aと、コントローラ200で構成される三次元形状測定装置500に、制御用のPC1やモニタ2、キーボード3、マウス等の入力デバイス4を接続している。制御用PC1には、三次元形状測定装置500を用いて三次元形状測定を行うための三次元形状測定プログラムがインストールされている。ユーザは三次元形状測定プログラムを用いて、三次元形状測定装置500の設定や、撮像、測定等の実行を指示できる。
なお、図4の例では、コントローラ200を三次元形状測定装置本体500Aと別体に構成しているが、三次元形状測定装置本体側にコントローラを一体化してもよい。あるいは、コントローラの機能を、制御用PCと統合することもできる。
三次元形状測定装置500は、測定部100と、支持部700と、台座部600と、遮光カバー102で構成される。これら測定部100と、支持部700と、台座部600と、遮光カバー102は、図5の分解斜視図に示すように着脱自在なユニット式に構成されている。これにより、各部材のメンテナンス性や可搬性に有利となる。遮光カバー102は、受光部120及び投光部110の前方に延長されて、これらを覆うと共に、載置面142の上方で、載置面142と離間された姿勢に保持され、載置面142上方の測定領域を外光から遮光する。この遮光カバー102は測定対象物に応じて着脱可能とし、測定における基本最小構成は測定部100と台座部600の組合せである。
台座部600は、載置部140を備えている。載置部140は、上述の通り測定対象物が載置される載置面142を回転させる回転ステージ143と、載置面142を平行移動させる並進ステージ141を含む。ここでは、回転ステージ143であるθステージの上面に、並進ステージ141であるXYステージを載せたXYθステージで載置部140を構成している。
台座部600は、支持部700を介して測定部100を垂直姿勢に保持している。また測定部100は、投光部110や受光部120を載置面142に対して光軸が傾斜する姿勢に固定する。このため測定部100は、投光部110や受光部120を固定する固定部125を含んでいる。固定部125は後述する図7に示すように、固定部125は、台座部600から離間した姿勢に支柱部702で支持される。また投光部110及び受光部120を載置面142に対して光軸が傾斜する姿勢に固定している。これにより、載置部140の上方に測定光による測定領域が形成される。また、投光部110や受光部120等の光学系がこの測定領域を斜め下に見下ろす姿勢に保持される。
支持部700は、台座部600と測定部100とを連結する。支持部700を介して、載置部140の上方に測定部100が位置するように保持される。測定部100は、観察光学系として上述の通り投光部110と受光部120を備える。この測定部100は、台座部600に設けられた載置部140の載置面142に対して、垂直上方でなく、斜め方向から見下ろす姿勢に保持される。このような配置によって、測定対象物の上面と側面の形状を、一回の測定で取得し易くなる利点が得られる。特に高さ方向の情報を取得するには、測定対象物の内、高低差のある側面の情報が有益となる。一方で、側面のみでは、測定対象物の全体の形状が把握し難い。そこで、全体の外形を把握し易い上面と、高さ情報を取得し易い側面の両方を、一度に得ることのできる、斜め上方からの視点で測定対象物を補足できる姿勢となるよう、測定部100を載置面142に対して傾斜させた姿勢に保持することが有益となる。図6の側面図に示す例では、測定部100の投光部110や受光部120の光軸が、XYθステージの載置面142に対して約45°の角度をなすように傾斜姿勢で保持している。このように測定部100は、45°の俯瞰角度を一定に保つ状態に支持部700でもって台座部600と連結されている。これによって、測定部100は常に一定角度、一定位置で載置面142を見込むことが可能となり、載置面142の駆動軸であるXYθの3軸と観察光学系との位置関係が一定に保たれる。
受光部120は、倍率の異なる複数の光学系を備えてもよい。このような例を、図7に示す。この例では、受光部120は、第一倍率を有する第一光学系と、第一倍率よりも高倍率の第二倍率を有する第二光学系を備えている。このように、倍率の異なる光学系を備えたことで、載置面142上に載置した測定対象物WKの大きさに応じて視野を切り替えることができる。この例では、受光素子として、第一光学系と光学的に結合された第一受光素子121bと、第二光学系と光学的に結合された第二受光素子121cを備えている。なお第一光学系と第一受光素子121bをまとめて第一カメラ121B、第二光学系と第二受光素子121cをまとめて第二カメラ121Cと呼ぶことがある。このように複数の受光素子を用意し、光学系毎に個別の受光素子で撮像するよう構成したことで、各光学系で受光した撮像処理を並行して行うことができ、処理の高速化や光学結合の簡素化が実現される。ただ、共通の受光素子で複数の光学系と光学的に連結してもよい。
第一光学系と第二光学系は、光軸が平行になるように配置している。第一光学系の第一光軸LA1と、第二光学系の第二光軸LA2は、それぞれ載置面142に対して約45°に傾斜されている。ここでは、高倍率の第二光学系、すなわち第二カメラ121Cが、第一光学系である第一カメラ121Bの下側となるように、垂直方向に並べて固定部125に配置されている。このような配置により、第一光学系から第二光学系に切り替えた際の視点の移動が、測定対象物WKの手前側となって、ユーザに対し視野の変化を比較的把握し易くできる利点が得られる。より正確には、視野の広い(倍率の低い)第一光学系においては、載置面上に置かれた測定対象物WKが大きい場合でも、一方視野の狭い(倍率の高い)第二光学系においては載置面上に置かれた測定対象物WKが小さい場合でも、いずれも全周回した際の測定対象物WKの全体を視野に収めることが可能となる。
(XYθステージ)
次に、台座部600の構成例を図7~図9に基づいて説明する。図7の例では、XYθステージは、台座部600上に固定された回転ステージ143であるθステージの上に、並進ステージ141であるXYステージが載置されている。また回転ステージ143の回転軸は、第一光学系及び第二光学系の光軸と、それぞれ45°の角度で交わる形で配置されている。回転ステージ143上に載置された並進ステージ141は、回転ステージ143の回転に伴って図8、図9の平面図に示すように、そのXY駆動軸も共に回転する構成となっている。図8においては、並進ステージ141を移動させるX軸、Y軸を、図9においては回転ステージ143を回転させるθ方向を、それぞれ示している。このように、回転ステージ143の上に並進ステージ141が載置された構成とすることで、測定部100の光軸と回転ステージ143の回転軸とが、機械的に締結された一定関係を保つことが容易となる。また必要に応じて、並進ステージ141の移動方向のキャリブレーションと、ステージ回転軸の回転方向のキャリブレーションを行うことで、測定部100の観察空間中の座標系におけるステージ駆動軸を把握できる。
また、図8に示すように、並進ステージ141の移動の基準位置は、例えば、平行移動の基準となる位置である。典型的には、XY平面の原点D(0,0)である。さらに、図9に示す点Cは、θ回転の中心であって、図9の場合は回転ステージ143の回転軸と一致する。この回転ステージ143の上方に並進ステージ141を、点Cと点Dが一致するように配置することにより、並進ステージ141の移動の制御がし易くなる。
ただ本発明は載置部140をこのような構成に限定せず、例えば図10に示す実施形態2に係る三次元形状測定装置500Bに示すように、並進ステージ141の上面に回転ステージ143を配置する構成としてもよい。このような載置部140の配置によっても、同様の測定、重ねあわせによって、同様に視野からはみ出した測定対象物の全方位フル3Dデータを取得することは可能である。
また、回転ステージ143と並進ステージ141を併存させた構成においては、回転ステージ143を回転させる際には、並進ステージ141を予め定められた基準位置に復帰させた上で回転させることが好ましい。これにより、測定対象物を載せた載置部140の回転半径が大きくなる状態を避け、測定対象物が意図せず他の部材と衝突する事態を避けることができる。基準位置は、例えば並進ステージ141を移動させるXY平面の原点位置とする。あるいは、特定の座標位置を基準位置としてもよい。また、回転ステージ143と並進ステージ141は、同時に移動させず、いずれか一方のステージを移動させる際は他方のステージを停止させた状態とする。これにより、衝突検知や衝突予防を行い易くして安全性を高めることができる。
(測定対象物の立体形状を示す立体形状データ)
(1)三角測距方式による形状測定
三角測距方式による形状測定の方法を、以下図11~図16Dに基づいて説明する。本実施形態に係る三次元形状測定装置では、三角測距方式により測定対象物WKの形状を測定するための高さ情報を、測定部100で取得している。なお、実際の測定は、測定部100で行う他、CPU側(例えば点群データ生成部260)で行ってもよい。図11は、三角測距方式の原理を説明するための図である。図11ならびに後述する図12A~図12B、図13A~図13D、図14A~図14C及び図16A~図16Dの各図には、装置座標系と共に定義されるX方向、Y方向、Z方向及びθ方向がそれぞれ矢印で示される。
図11に示すように、投光部110から出射される測定光の光軸と受光部120に入射する測定光の光軸(受光部120の光軸)との間の角度αが予め設定される。角度αは、0度よりも大きく90度よりも小さい。
載置部140上に測定対象物WKが載置されない場合、投光部110から出射される測定光は、載置部140の載置面142の点Oにより反射され、受光部120に入射する。一方、載置部140上に測定対象物WKが載置される場合、投光部110から出射される測定光は、測定対象物WKの表面の点Aにより反射され、受光部120に入射する。
点Oと点Aとの間のX方向における距離をdとすると、載置部140の載置面142に対する測定対象物WKの点Aの高さhは、h=d÷tan(α)により与えられる。PC200のCPU210は、制御基板150により与えられる測定対象物WKの画素データに基づいて、X方向における点Oと点Aとの間の距離dを測定する。また、CPU210は、測定された距離dに基づいて、測定対象物WKの表面の点Aの高さhを算出する。測定対象物WKの表面のすべての点の高さを算出することにより、測定光が照射されたすべての点について装置座標系で表される座標を特定することができる。それにより、測定対象物WKの三次元的な形状が測定される。
測定対象物WKの表面のすべての点に測定光を照射するために、図2の投光部110からは種々のパターンを有する測定光が出射される。測定光のパターンは、図2のパターン生成部112により制御される。以下、測定光のパターンについて説明する。
(2)測定光の第1のパターン
図12A~図12Bは、測定光の第1のパターンを説明するための図である。図12Aは、載置部140上の測定対象物WKに投光部110から測定光を照射した状態を示す。図12Bは、測定光が照射された測定対象物WKの平面図を示す。図12Aに示すように、第1のパターンとして、Y方向に平行な直線状の断面を有する測定光(以下、ライン状測定光と呼ぶ)が投光部110から出射される。この場合、図12Bに示すように、載置部140に照射されたライン状測定光の部分と測定対象物WKの表面に照射されたライン状測定光の部分とは、測定対象物WKの表面の高さhに対応する距離dだけX方向に互いにずれる。したがって、距離dを測定することにより、測定対象物WKの高さhを算出することができる。
測定対象物WKの表面のY方向に沿った複数の部分が異なる高さを有する場合には、各部分について上記の距離dを測定することにより、Y方向に沿った複数の部分の高さhを算出することができる。
また、図1のCPU210は、X方向の一の位置でY方向に沿った複数の部分について距離dを測定した後、Y方向に平行なライン状測定光をX方向に走査することにより、X方向の他の位置でY方向に沿った複数の部分について距離dを測定する。これにより、X方向の複数の位置におけるY方向に沿った測定対象物WKの複数の部分の高さhが算出される。測定対象物WKのX方向の寸法よりも広い範囲でライン状測定光をX方向に走査することにより、測定対象物WKの表面のすべての点の高さhを算出することができる。これにより、測定対象物WKの三次元的な形状を測定することができる。
(3)測定光の第2のパターン
図13A~図13Dは、測定光の第2のパターンを説明するための図である。図13A~図13Dに示すように、第2のパターンとして、Y方向に平行な直線状の断面を有しかつX方向に強度が正弦波状に変化するパターンを有する測定光(以下、正弦波状測定光と呼ぶ)が投光部110から複数回(本実施形態においては4回)出射される。
図13Aは、1回目に出射される正弦波状測定光を示す。1回目に出射される正弦波状測定光の強度は、測定対象物WKの表面上の任意の部分P0において初期位相φを有する。この正弦波状測定光が出射されることにより、測定対象物WKの表面で反射された光が受光部120により受光される。受光された光の強度が測定対象物WKの画素データに基づいて測定される。測定対象物WKの表面上の部分P0により反射された光の強度をI1とする。
図13Bは、2回目に出射される正弦波状測定光を示す。2回目に出射される正弦波状測定光の強度は、測定対象物WKの表面上の部分P0において位相(φ+π/2)を有する。この正弦波状測定光が出射されることにより、測定対象物WKの表面で反射された光が受光部120により受光される。受光された光の強度が測定対象物WKの画素データに基づいて測定される。測定対象物WKの表面上の部分P0により反射された光の強度をI2とする。
図13Cは、3回目に出射される正弦波状測定光を示す。3回目に出射される正弦波状測定光の強度は、測定対象物WKの表面上の部分P0において位相(φ+π)を有する。この正弦波状測定光が出射されることにより、測定対象物WKの表面で反射された光が受光部120により受光される。受光された光の強度が測定対象物WKの画素データに基づいて測定される。測定対象物WKの表面上の部分P0により反射された光の強度をI3とする。
図13Dは、4回目に出射される正弦波状測定光を示す。4回目の正弦波状測定光の強度は、測定対象物WKの表面上の部分P0において位相(φ+3π/2)を有する。この正弦波状測定光が出射されることにより、測定対象物WKの表面で反射された光が受光部120により受光される。受光された光の強度が測定対象物WKの画素データに基づいて測定される。測定対象物WKの表面上の部分P0により反射された光の強度をI4とする。
初期位相φは、φ=tan-1[(I1-I3)/(I2-I4)]で与えられる。初期位相φから測定対象物WKの任意の部分の高さhが算出される。この方式によれば、4回の光の強度の測定により、測定対象物WKのすべての部分の初期位相φを高速かつ容易に算出することができる。なお、初期位相φは、異なる位相を有する測定光を少なくとも3回出射し、受光される光の強度を測定することにより算出することができる。測定対象物WKの表面上のすべての部分の高さhを算出することにより、測定対象物WKの三次元的な形状を測定することができる。
(4)測定光の第3のパターン
図14A~図14Cは、測定光の第3のパターンを説明するための図である。図14A~図14Cに示すように、第3のパターンとして、Y方向に平行でかつX方向に並ぶような直線状の断面を有する測定光(以下、縞状測定光と呼ぶ)が投光部110から複数回(本実施形態においては16回)出射される。すなわち、縞状測定光においては、Y方向に平行な直線状の明部分及びY方向に平行な直線状の暗部分がX方向に周期的に配列される。
1回目の縞状測定光が出射されることにより、測定対象物WKの表面で反射された光が受光部120により受光される。受光された光の強度が、測定対象物WKの1番目の撮影画像の画素データに基づいて測定される。図14Aは、1回目の縞状測定光に対応する測定対象物WKの1番目の撮影画像である。
2回目の縞状測定光は、1回目の縞状測定光から明部分及び暗部分をX方向に1単位だけ移動させたパターンを有する。2回目の縞状測定光が出射されることにより、測定対象物WKの表面で反射された光が、受光部120により受光される。受光された光の強度が測定対象物WKの2番目の撮影画像の画素データに基づいて測定される。
3回目の縞状測定光は、2回目の縞状測定光から明部分及び暗部分をX方向に1単位だけ移動させたパターンを有する。3回目の縞状測定光が出射されることにより、測定対象物WKの表面で反射された光が受光部120により受光される。受光された光の強度が、測定対象物WKの3番目の撮影画像の画素データに基づいて測定される。
同様の動作が繰り返されることにより、4~16回目の縞状測定光に対応する光の強度が、測定対象物WKの4~16番目の撮影画像の画素データに基づいてそれぞれ測定される。X方向の周期が16単位である縞状測定光が16回出射されることにより、測定対象物WKの表面のすべての部分に縞状測定光が照射される。なお、図14Bは、7回目の縞状測定光に対応する測定対象物WKの7番目の撮影画像である。図14Cは、13回目の縞状測定光に対応する測定対象物WKの13番目の撮影画像である。
図15は、測定対象物WKの特定の部分における画像が撮影されたタイミング(番数)と受光された光の強度との関係を示す図である。図15の横軸は画像の順番を示し、縦軸は受光された光の強度を示す。上述のように、測定対象物WKの各部分について、1~16番目の撮影画像が生成される。また、生成された1~16番目の撮影画像の各画素に対応する光の強度が測定される。
図15に示すように、撮影画像の番号に対応する撮影画像の各画素の光の強度を図示することにより散布図が得られる。得られた散布図に例えばガウシアン曲線、スプライン曲線又は放物線をフィッティングさせることにより、光の強度が最大になるときの撮影画像の番号(番数)を1未満の精度で推定することができる。図15の例においては、フィッティングされた点線で示す曲線により、9番目と10番目との間である仮想的な9.38番目の撮影画像において、光の強度が最大になることが推定される。
また、フィッティングされた曲線により、光の強度の最大値を推定することができる。測定対象物WKの各部分において推定された光の強度が最大となる撮影画像の番号に基づいて、測定対象物WKの各部分の高さhを算出することができる。この方法によれば、S/N(信号/ノイズ)比が十分に大きい光の強度に基づいて、測定対象物WKの三次元的な形状が測定される。これにより、測定対象物WKの形状測定の精度を向上させることができる。
なお、正弦波状測定光又は縞状測定光等の周期的なパターン形状を有する測定光を用いた測定対象物WKの形状測定においては、測定対象物WKの表面の各部分の相対的な高さ(高さの相対値)が測定される。これは、パターンを形成するY方向に平行な複数の直線(縞)の各々を識別することができず、複数の直線の1周期(2π)の整数倍に相当する不確かさが存在することにより、絶対位相が求まらないからである。そのため、測定対象物WKの一の部分の高さとその部分に隣接する部分の高さが連続的に変化しているという仮定に基づいて、測定された高さのデータに公知のアンラッピング処理を行って補完してもよい。
(5)測定光の第4のパターン
図16A~図16Dは、測定光の第4のパターンを説明するための図である。図16A~図16Dに示すように、第4のパターンとして、Y方向に平行な直線状の断面を有しかつ明部分と暗部分とがX方向に並ぶ測定光(以下、コード状測定光と呼ぶ)が投光部110から複数回(本実施形態においては4回)出射される。コード状測定光の明部分及び暗部分の割合は、それぞれ50%である。
本実施形態においては、測定対象物WKの表面がX方向において複数(図16A~図16Dの例では16)の領域に分割される。以下、複数に分割されたX方向における測定対象物WKの領域をそれぞれ第1~第16の領域と呼ぶ。
図16Aは、1回目に出射されるコード状測定光を示す。1回目に出射されるコード状測定光は、測定対象物WKの第1~第8の領域に照射される明部分を有する。また、1回目に出射されるコード状測定光は、測定対象物WKの第9~第16の領域に照射される暗部分を有する。これにより、1回目に出射されるコード状測定光においては、明部分と暗部分とがY方向に平行でかつX方向に並ぶ。また、1回目に出射されるコード状測定光の明部分及び暗部分の割合は、それぞれ50%である。
図16Bは、2回目に出射されるコード状測定光を示す。2回目に出射されるコード状測定光は、測定対象物WKの第5~第12の領域に照射される明部分を有する。また、2回目に出射されるコード状測定光は、測定対象物WKの第1~第4及び第13~第16の領域に照射される暗部分を有する。これにより、2回目に出射されるコード状測定光においては、明部分と暗部分とがY方向に平行でかつX方向に並ぶ。また、2回目に出射されるコード状測定光の明部分及び暗部分の割合は、それぞれ50%である。
図16Cは、3回目に出射されるコード状測定光を示す。3回目に出射されるコード状測定光は、測定対象物WKの第1、第2、第7~第10、第15及び第16の領域に照射される明部分を有する。また、3回目に出射されるコード状測定光は、測定対象物WKの第3~第6及び第11~第14の領域に照射される暗部分を有する。これにより、3回目に出射されるコード状測定光においては、明部分と暗部分とがY方向に平行でかつX方向に並ぶ。また、3回目に出射されるコード状測定光の明部分及び暗部分の割合は、それぞれ50%である。
図16Dは、4回目に出射されるコード状測定光を示す。4回目に出射されるコード状測定光は、測定対象物WKの第1、第4、第5、第8、第9、第12、第13及び第16の領域に照射される明部分を有する。また、4回目に出射されるコード状測定光は、測定対象物WKの第2、第3、第6、第7、第10、第11、第14及び第15の領域に照射される暗部分を有する。これにより、4回目に出射されるコード状測定光においては、明部分と暗部分とがY方向に平行でかつX方向に並ぶ。また、4回目に出射されるコード状測定光の明部分及び暗部分の割合は、それぞれ50%である。
コード状測定光の明部分に論理“1”が割り当てられ、コード状測定光の暗部分に論理“0”が割り当てられる。また、測定対象物WKの各領域に照射される1回目~4回目のコード状測定光の論理の並びを符号と呼ぶ。この場合、測定対象物WKの第1の領域には、符号“1011”のコード状測定光が照射される。これにより、測定対象物WKの第1の領域は、符号“1011”に符号化される。
測定対象物WKの第2の領域には、符号“1010”のコード状測定光が照射される。これにより、測定対象物WKの第2の領域は、符号“1010”に符号化される。測定対象物WKの第3の領域には、符号“1000”のコード状測定光が照射される。これにより、測定対象物WKの第3の領域は、符号“1000”に符号化される。同様に、測定対象物WKの第16の領域には、符号“0011”のコード状測定光が照射される。これにより、測定対象物WKの第16の領域は、符号“0011”に符号化される。
このように、測定対象物WKの隣り合う領域の間では、符号のいずれかの桁が“1”のみ異なるようにコード状測定光が測定対象物WKに複数回照射される。すなわち、コード状測定光は、明部分及び暗部分がグレイコード状に変化するように、複数回測定対象物WKに照射される。
測定対象物WKの表面の各領域で反射された光が受光部120により受光される。受光された光の符号を測定することにより、測定対象物WKの領域毎に、測定対象物WKが存在することにより変化した符号が得られ、図11の距離dに相当する距離を算出することができる。ここで、画像におけるX軸方向には、上記の符号は1回のみ出現するというコード状測定光を用いた測定方法の特徴から、距離dの絶対的な値が算出される。これにより、測定対象物WKのその領域の絶対的な高さ(高さの絶対値)が算出される。測定対象物WKの表面上のすべての領域の高さを算出することにより、測定対象物WKの三次元的な形状を測定することができる。
上記の説明においては、測定対象物WKの表面がX方向において16の領域に分割され、コード状測定光が投光部110から4回出射されたが、これに限定されない。測定対象物WKの表面がX方向においてNビットの符号又は2Nの領域(Nは自然数)に分割され、コード状測定光が投光部110からN回出射されてもよい。上記の説明においては、理解を容易にするためにNは4に設定されている。後述のデータ生成処理においては、Nは例えば8に設定される。したがって、測定対象物WKの表面はX方向において256の領域に分割される。
コード状測定光を用いた測定対象物WKの形状測定においては、コード状測定光を分離して識別可能な距離、すなわち1画素分に相当する距離が最小の分解能となる。したがって、受光部120のX方向における視野の画素数が1024画素である場合、高さが例えば10mmの測定対象物WKを10mm÷1024≒10μmの分解能で計測することができる。分解能は低いが絶対値を算出可能なコード状測定光を用いた形状測定と絶対値を算出できないが分解能が高い正弦波状測定光又は縞状測定光を用いた形状測定とを組み合わせることにより、測定対象物WKの高さの絶対値をより高い分解能で算出することができる。
特に、図14A~図14Cの縞状測定光を用いた測定対象物WKの形状測定においては、分解能を1/100画素にすることができる。なお、1/100画素の分解能は、受光部120のX方向における視野の画素数が1024画素である場合、測定対象物WKの表面をX方向において約100000の領域に分割することに相当する。そのため、コード状測定光を用いた形状測定と縞状測定光を用いた形状測定と組み合わせることにより、測定対象物WKの高さの絶対値をさらに高い分解能で算出することができる。
上述のライン状測定光を測定対象物WK上で走査する方法は一般に光切断法と呼ばれる。一方、正弦波状測定光、縞状測定光又はコード状測定光を測定対象物WKに照射する方法は、パターン投影法に分類される。また、パターン投影法の中でも、正弦波状測定光又は縞状測定光を測定対象物WKに照射する方法は位相シフト法に分類され、コード状測定光を測定対象物WKに照射する方法は空間コード法に分類される。
位相シフト法においては、周期的な投影パターンである正弦波状測定光又は縞状測定光を出射した際に、測定対象物WKが存在しない場合の基準高さ位置から反射した受光量に基づいて計算された位相と、測定対象物WKが存在する場合の測定対象物WK表面から反射した受光量に基づいて計算された位相との位相差から測定対象物WKの高さを求める。位相シフト法においては、個々の周期的な縞が区別できず、縞1周期分(2π)の整数倍に相当する不確かさが存在するため、絶対位相が求まらないという欠点がある。しかしながら、光切断法に比べて取得する画像の枚数が少ないため測定時間が比較的短く、測定分解能が高いという長所がある。
一方、空間コード法おいては、測定対象物WKの領域毎に、測定対象物WKが存在することによって変化した符号が得られる。得られた符号と測定対象物WKが存在しない場合の符号との差分を領域毎に求めることにより、測定対象物WKの絶対的な高さを求めることができる。空間コード法においても、比較的少数の画像により測定が可能であり、絶対的な高さを求めることができるという長所がある。しかしながら、位相シフト法に比べると測定分解能に限界がある。
これらの投影法は、各々短所及び長所を有しているが、いずれも三角測距の原理を用いている点は共通である。上記のパターンの測定光が投影された測定対象物WKの画像データ(以下、パターン画像データと呼ぶ)に基づいて、測定対象物WKの立体形状を表す点群(ポイントクラウド)データが生成される。
以下の説明では、測定対象物WKの立体形状を表す点群データを立体形状データと呼ぶ。立体形状データは、測定対象物WKの表面上の複数の点の位置データを含む。位置データは、例えば、X方向、Y方向及びZ方向における座標を表す。この場合、立体形状データのうち任意の点のデータをPn(nは自然数)とすると、Pnは、例えば装置座標系の座標値を用いて(Xn,Yn,Zn)で表すことができる。なお、立体形状データは、点群データに基づいて生成される面情報データにより構成されてもよく、ポリゴンメッシュ等の他の形式のデータを含んでもよい。立体形状データに基づいて、測定対象物WKの立体形状を表す画像(以下、立体形状画像と呼ぶ)を表示することができる。
本実施の形態においては、立体形状画像は、二次元座標系が定義された任意の平面上に立体形状データが投影された状態を示す画像であり、使用者による計測箇所の指定を受け付けるための画像である。使用者は、測定対象物WKを見る方向(測定対象物WKに対する受光部120の位置)として立体形状データが投影される平面を指定することができる。それにより、立体形状画像により表される測定対象物WKの向きが変化する。
(6)複数の立体形状データの合成
投光部110及び受光部120に対する測定対象物WKの位置及び姿勢が一定であると、測定対象物WKの一部にしか測定光が照射されない。また、測定対象物WKの一部で反射される光しか受光部120に入射しない。そのため、測定対象物WKの表面の広範囲に渡る立体形状データを求めることができない。そこで、測定対象物WKの位置又は姿勢を変化させることにより、互いに異なる複数の方向から測定対象物WKを撮像し、複数の撮像方向にそれぞれ対応する複数の立体形状データを取得し、取得された複数の立体形状データを合成してもよい。
(ステージシフト機能)
本実施形態に係る三次元形状測定装置では、載置した測定対象物を、載置部140を移動制御部144で微小移動させることで、三次元形状測定装置の持つ空間分解能や測定能力を超える測定精度を実現する。
非接触で測定対象物の三次元形状を取得する手法として、図2に示すように投光部110から測定対象物WKにパターン光を投影し、その縞の位相情報を用いて測定対象物WKの三次元座標を得る、いわゆる縞投影法が知られている。縞投影法は、光切断の原理に基づいており、複数の縞を同時に照射することで、ライン状の投光を用いる光切断に比べて、高速に計測が可能となる。
この縞投影法を用いて三次元形状を取得する手法として、空間コード法、複数周期パターン投影法、ワンショット投影法等、複数が挙げられる。いずれの方法においても、複数のパターン光を測定対象物に投影し、投影方向に対して一定角度を有する撮像光学系でその投影パターン像を撮像して画像を取得し、画像解析により画像上の各画素における位相情報を算出している。算出された位相情報を解析することで、形状の歪みといった三次元的な座標値を得ることができる。以下、各手法について説明する。
(1.空間コード法)
空間コード法は、グレイコード法とも呼ばれる。空間コード法で用いる投影パターンは、投影パターン上の白・黒をビットに見立て、ある撮像画素又は投影画素に着目した際に、複数の投影パターンのビット配列が一意に定まるような規則を有するパターンである。このような投影パターンを投影することで、撮像画素における投影画素の配置が一意に定まることとなる。結果的に、測定対象物の形状に関する絶対的な座標が求められる。しかしながら、空間コード法では、パターン生成部112を構成する投影素子、例えばDMDやLCD、LCOS等の持つ最小分解能(画素ピッチ)によって、コード分解できる空間分解能が決定されてしまう。一般に投光素子の画素ピッチよりも受光素子の画素ピッチの方が細かいため、このような投光素子を用いる以上は総じて粗い空間分解能を有する手法となる。このような空間コード法による分解能の粗さを補完すべく、種々の方法を組み合わせている。このような空間コード法と組み合わせて用いる、分解能の粗さを補完する方法を、本明細書では相対位相補完法と呼ぶ。相対位相補完法には、例えば正弦波位相シフト法、マルチスリット法、エッジ検出法等が利用できる。以下、各方法について説明する。
(ア)正弦波位相シフト法
空間コードでは、図13A~図14Cで示したように、縞パターン画像を、画素毎に着目して計算を行うことで、各画素における正弦波の位相情報が求まる。さらに算出された位相情報は、正弦波1周期内での移動量(位相)となるため、複数本存在する明暗パターンの、初期位相値からの相対的な移動量しか求まらない。そこで、空間コード法で求めた位相を用いることで、絶対位相に変換することができる。
正弦波位相シフト法では、正弦波状の縞パターンを投影し、正弦波の周期よりも短いピッチでパターンを移動させて、複数枚の縞パターン画像を撮影する。得られた正弦波縞パターン画像から、各画素における位相値を計算し、高さに変換する。正弦波の式は未知数3のため、最低3回の撮影画像があれば足りる。ここでは、正弦波周期の4分の1(π/2)ずつずらして、4回の撮影画像から位相を計算する。このようなピッチをπ/2として4回シフトさせる撮影では、計算式が非常にシンプルになる。またこの方法では撮影枚数が最低3枚と非常に少なくて済むため、高速に三次元形状を計測できる。
(イ)マルチスリット法
マルチスリット法は、輝度ピーク法とも呼ばれる。マルチスリット法では、図14A~図14C、図15に示すように、測定対象物に複数の細線状のパターン照明(マルチスリット)を投影し、スリット幅より狭いピッチでパターンを移動させ、複数回撮影を行う。このマルチスリット法では、スリット光が全画素を照明するようにパターンを細かく移動させるため、撮影枚数が多くなり、高速用途には向かない。例えば、16画素周期、3画素幅スリット光、移動ピッチ1画素の場合、撮影枚数は16枚となる。一方で、画素ごとに最大輝度となる撮影タイミング(何枚目の画像か)を補間計算で求める際、常に輝度の高いデータを利用するため、測定対象物によらず精度を安定して高め易い利点が得られる。
このマルチスリット法では、測定対象物に複数本のバイナリパターン(明暗のみ)、又はガウシアンパターン(輝度分布がガウシアン状)を一度に投影し、その投影位置を少しずつずらしながら撮像を行う。取得した画像を、画素毎に着目して輝度変化を解析、輝度のピーク座標を推定することで、そのピーク位置を位相値として算出する。ここでピーク位置は、画像順序のカウント単位として算出される。なお推定されたピーク位置は、整数値をとらず、例えば2.689枚目といった数値となり、これを時間軸と等価と見なせる。また算出した位相値は、1枚目を基準とした相対的な位相情報に過ぎず、これも正弦波位相シフト法と同様に、空間高度の最小ビット幅に相当する周期(枚数)の移動を行うことで、空間コードを補完することとなる。
(ウ)エッジ検出法
エッジ検出法では、測定対象物に複数本の明暗パターンを投影し、それを少しずつずらしながら撮像した縞パターン画像の各々から、画像上での明暗パターンの境界、すなわちエッジを抽出する。エッジの抽出は、例えば一般的な輝度勾配のゼロクロス点としたり、左右の明暗パターンとの輝度クロス点として定義できる。縞パターン画像上で算出されたエッジ座標を、該当パターンの位相量として定義する。この値も、初期投影位置に対する相対移動量にすぎないため、空間コードと組み合わせることで精細な絶対座標計算(アンラッピング処理)が可能となる。
以上は、空間コード法に相対位置補完法を組み合わせる例について説明した。ただ本発明は、縞投影法を用いて三次元形状を取得する手法を、空間コード法に限定せず、他の方法も利用できる。次に、複数周期パターン投影法、ワンショット投影法について、順次説明する。
(2.複数周期パターン投影法)
複数周期パターン投影法は、複数の周期をもつパターンを、それぞれ個別に測定対象物に投影し、投影したパターンを少しずつずらしながら縞パターン画像を撮像する。各々の周期パターン毎に、例えば正弦波位相シフト法を用いて相対位相値を算出した後、周期パターンが異なる結果同士を組み合わせることで、絶対座標が一意に決定される。この複数周期パターン投影法では、空間コードの投影が不要となり、一定空間コード領域毎の境界エラーが発生し難い等の利点が得られる。
(3.ワンショット投影法)
ワンショット投影法は、1枚の画像から位相を推定する手法である。代表的な手法としては、フーリエ変換法が知られている。フーリエ変換法では、投影した縞パターン画像をフーリエ変換し、得られたスペクトルから、縞投影パターンのキャリア周波数周辺のスペクトルのみをフィルタリングして、原点方向にシフトさせてから逆フーリエ変換を行い、虚数部と実数部の逆正接を求めることで位相を算出する。このフーリエ変換法で得られる位相も、正弦波位相シフト法等と同様に縞パターン周期で折り畳まれているため、絶対座標計算を行うためには空間コード法で補完する等の位相アンラッピング処理が必要となる。
以上のような縞投影法を用いて計測部216b等で計測を行う際に、測定形状の再現性や最小検知形状(分解能)を決定づける要因として、受光部120を構成する撮像素子の解像度や、投影素子の解像度が挙げられる。撮像素子の解像度は、空間の分割能力(空間分解能)を決定する。一方、投影素子の解像度は、投影パターンの送り分解能や、縞投影パターンを構成する縞の最小幅を決定付け、結果的に測定形状の再現性や分解能に、より直結する要因となっている。それぞれの解像度は、選定された部材の仕様に依存するところ、一般に撮像素子の解像度よりも投影素子の解像度を高めることは困難である。このため、三次元形状測定装置の測定能力の拡大には従来、一定の仕様上の制約が存在し、選定された部材のデバイススペックに依存して決定される側面が強かった。
これに対して、本実施形態に係る三次元形状測定装置では、選定したデバイス構成に依存するのでなく、仕様上の制約を超えた測定再現性、分解能を実現することを企図している。具体的には、投光部110の各投影素子を制御することで載置部140上に投影可能な最小の投影パターンの幅以下の移動ピッチで、並進ステージ141を移動制御部144で微小に平行移動させる。そして点群データ生成部260は、複数の投影パターン画像に基づいて、測定対象物の立体形状を表す点群データを生成する。これにより、測定対象物の三次元形状測定に際して、投影パターンを投影する投光部110で表現可能な投影パターンの物理的な分解能以下まで測定精度を向上させることが可能となる。
以下、ステージシフト機能を実行した三次元形状測定方法を説明する。まず載置部140に、測定対象物を載置する。この状態で、初期位置に位置された並進ステージ141上の測定対象物に対し、所定の投影パターンを有する測定光を、投光部110から照射し、この測定対象物で反射された測定光を受光部120で受光して、投影パターン画像を撮像する。
次に、所定の移動ピッチで、並進ステージ141を移動制御部144で平行移動させる。この移動ピッチは、投光部110の各投影素子で載置面142に投影可能な投影パターンの最小の幅以下とする。そして並進ステージ141の移動後の位置において、再び投光部110から測定光を測定対象物に照射し、測定対象物で反射された測定光を受光部120で受光して、投影パターン画像を撮像する。さらに、並進ステージ141を移動ピッチで移動させて、同様に投影パターン画像を撮像する。この処理を所定回数繰り返して、移動ピッチで移動された各位置毎に投影パターン画像を取得する。このようにして得られた複数の投影パターン画像に基づいて、点群データ生成部260でそれぞれ生成された、測定対象物の各位置における立体形状を表す点群データを合成して、測定対象物の立体形状を連続的に表す外形情報を取得する。このようにして、投光部110で表現可能な投影パターンの物理的な分解能以下まで測定精度を向上させた測定対象物の外形情報を取得することが可能となる。
特に、受光部120を構成する受光素子の一画素が、投影素子の一画素よりも小さい場合に、上述したステージシフト機能は有効となり、高精細な三次元計測が実現される。
投光部110は、投影パターンを複数の線を平行に並べた縞投影パターンとすることが好ましい。一方移動制御部144は、載置部140上に投影される縞投影パターンを構成する複数の線すなわち縞と交差する方向に、並進ステージ141を移動ピッチで平行移動させる。これにより、縞投影パターンを、投影素子の分解能以上に、縞方向に微小移動させたのと同様の精度向上を図ることができ、投影素子をハードウェア的に高精度化することなく、測定精度の向上が図られる。
また並進ステージ141の移動方向は、例えば受光部に対し投光部が測定光を投光する方向と平行な方向、すなわち三角測距で傾斜している方向としてもよい。あるいは、受光部から遠ざかる方向に並進ステージ141を平行移動させてもよい。さらに、並進ステージ141の移動方向を、支持部との関係で規定してもよい。例えば並進ステージ141を、載置面142の平面視において、載置部140が支持部に接近及び離間する奥行方向と交差する方向、すなわちX方向に、移動制御部144で移動ピッチで平行移動させてもよい。これにより、投影パターンを、投影素子の分解能以上に微小移動させたのと同様の精度向上を図ることができ、投影素子をハードウェア的に高精度化することなく、測定精度の向上が図られる。
並進ステージ141の移動ピッチは、縞投影パターンの周期に基づいて決定できる。例えば縞投影パターンの隣接する線同士の間隔を一周期として、この一周期を分割した枚数分、投影パターン画像を追加で撮像する。
また点群データ生成部260は、複数の投影パターン画像の内、任意の一の投影パターン画像を生成した並進ステージ141の位置を基準として、他の投影パターン画像を、並進ステージ141の位置で生成したと推定した場合の画素値に変換した状態で、点群データを生成することができる。これにより、測定対象物の三次元形状測定に際して、投影パターン画像の任意の位置において、他の投影パターン画像をサンプリング位置に応じて画素値として付加することにより、より高精細な三次元計測が可能となる。
さらに点群データ生成部260は、移動制御部144による載置部140の移動ピッチを、投影パターン画像における移動量、例えば画素何枚分かに換算して、点群データを生成するよう構成してもよい。
あるいは点群データ生成部260は、複数の投影パターン画像を、この複数の投影パターン画像を生成した並進ステージ141の位置に応じて重ね合わせるようにして、点群データを生成することもできる。この場合は、複数枚の投影パターン画像を、生成位置に応じて重ね合わせることで、多重化された高精細な画像が得られる。
また点群データ生成部260は、上述の通り位相シフト法に従って、各投影パターン画像に含まれる明暗のピークの位置を演算することで、測定対象物の表面形状を測定する。ここで投影パターン画像は、並進ステージ141の同じ位置において複数枚撮像される。すなわち、投影パターンを構成する明暗の位相が周期的に表れるところ、この位相を異ならせた投影パターンを複数種類、パターン生成部112で生成して、各位相で投影パターン画像を撮像する。例えば、並進ステージ141が第一位置(例えば初期位置や基準位置)にある状態で、投光部110でもって、位相を異ならせた複数の投影パターンを異なるタイミングで照射して、それぞれ投影パターン画像を撮像する。これらの投影パターン画像の集合を、第一パターンセットとする。
一方、並進ステージ141が第一位置から移動ピッチ分移動された第二位置にある状態で、同じく投光部110でもって、位相を異ならせた複数の投影パターンを照射して、それぞれ得られた投影パターン画像の集合を第二パターンセットとする。これを繰り返して、複数のパターンセットが得られる。例えば、縞投影パターンの一周期を2πとして、これを4分割したπ/2毎に位相をシフトさせ、4つのパターンセットを得る。そして点群データ生成部260は、位相シフト法に従いパターンセットの各投影パターン画像に含まれる明暗のピークの位置を演算することで、測定対象物の表面形状を測定する。これにより、位相を異ならせつつ、位相を変化させるピッチを、並進ステージ141を利用して見かけ上、投影素子で物理的に表現できるよりも細かな微小ピッチにてピーク位置(マルチスリット法の場合)や初期位相推定(正弦波位相シフト法の場合)を演算できるので、投影素子の分解能を超えた高精度な三次元形状測定が可能となる。
またこの際、点群データ生成部260は、複数のパターンセットに含まれる各投影パターン画像を、位相のシフト量の順に並び変えて、並び変えられた各投影パターン画像に基づいて、位相シフト法に従い明暗のピークの位置を演算する。これにより、ソートされた投影パターン画像から、ピーク位置の推定が容易となり、投影素子の分解能を超える正確な形状測定が可能となる。
ここで、比較のため図17に示す真上から観察する三次元形状測定装置500Xを考える。この三次元形状測定装置500Xにおいて、載置部140を高さ方向(Z方向)に移動可能とし、かつ撮像系、投影系にいずれもテレセントリックな光学系を用いるとする。この構成において、載置部140を高さ方向に微小に移動させると、その載置面142に載置された測定対象物WKは、撮像系光軸に沿って微小移動するものの、テレセントリックな範疇において撮像画像上では測定対象物WKの位置は変化しない。このため、撮像画像上の各位置において、撮像素子の各画素は測定対象物WKの同一の点をサンプリングしていると見なせる。このため、投影系から縞パターンを投影して、載置面142を高さ方向に微小に移動させると、見かけ上、縞投影パターンを微小に移動させることが可能となるため、高さの異なる縞画像を、縞投影パターンを微小に移動させた縞画像として演算し、これらを合成することにより、縞投影パターンの解像度以上に分解能を向上させることができる。
これに対して本実施形態においては、図6等に示したように、撮像系、投影系のいずれも画角を有する広角光学系を採用しており、かつ斜め上方から観察する態様としているため、並進ステージ141を移動させて画像を撮像すると、画像中の画素によって移動量が異なる。すなわち、画像中で手前側に位置する(受光部120に近い)画素は移動量が大きくなり、奥側に位置する(受光部120から離れた)画素は、移動量が小さくなる。このため、並進ステージ141を微小移動させても、画素によって移動量が異なるため、単純にこれらを合成することができないという問題がある。以下、本実施形態に係る三次元形状測定装置で、載置面142を微小移動させて、パターン生成部112の分解能以上での測定を実現するステージシフト機能について説明する。
(ステージシフト機能の詳細)
ここでは、上述した測定方法のうち、空間コード法に正弦波位相シフト法を組み合わせた方法について説明する。なお、本発明は測定方法を方法に限定するものでなく、他の測定手法を利用することもできる。まず、載置面142を固定した状態で、空間コード法と正弦波位相シフト法を組み合わせて点群データを測定する手順を、図18のフローチャートに基づいて説明する。まず、ステップS1801において、測定対象物をステージに載置する。次にステップS1802において、必要に応じて照明光出力部130の明るさを調整する。そしてステップS1803において、空間コードパターンを投影し、ステップS1804において空間コードパターンを撮影する。さらにステップS1805において、撮影していない空間コードパターンがあるか否かを判定し、ある場合はステップS1803に戻って上記の処理を繰り返す。一方で撮影していない空間コードパターンがない場合は、すべての空間コードパターンの撮影を完了したとしてステップS1806に進み、次に正弦波パターンを投光し、同じくステップS1807において正弦波パターンを撮影する。さらにステップS1808において、撮影していない正弦波パターンがあるか否かを判定し、ある場合はステップS1806に戻って上記処理を繰り返す。そして撮影していない正弦波パターンがない場合は、すべての正弦波パターンの撮影が完了したとしてステップS1809に進み、位相アンラッピングを行い、ステップS1810において点群データを算出し、処理を終了する。このようにして、空間コード法と正弦波位相シフト法を組み合わせて、点群データ生成部260で測定対象物の形状を表す点群データを生成する。
以上の正弦波位相シフト法や、マルチスリット法では、受光部120の画素単位で縞投影パターンをシフトしながら、測定対象物に投影された光量をサンプリングして、初期位相の推定を行う。一方、ステージシフト測定機能では、この位相シフトの間隔を、実質的に細分化することで、初期位相の推定精度を向上させることができる。
(受光素子画素密度向上機能)
また、これに加えて、受光部120を構成するカメラ等の受光素子の画素が1画素未満ずれた位置での位相を推定することにより、受光素子の画素密度の向上に相当する効果を持たせることもできる。
これら位相シフト間隔の細分化機能、受光素子画素密度向上機能のいずれが、形状測定においてより効果的かは、投影素子の画素サイズ、投光側光学系の解像度、受光素子の画素サイズ、受光側光学系の解像度の関係によって変化する。例えば、構成例に示したように投光側光学系を共有し、受光側光学系が低倍率と高倍率の2系統存在するような場合を考える。この場合において、高倍率側では、受光側の画素サイズと光学系の解像度に対して、投影素子の画素サイズが大きすぎるため、量子化誤差が非常に大きくなってしまう。このため、前者の位相シフト間隔の細分化による量子化誤差の低減が非常に有効である。
これに対して、低倍率側では、受光側の画素サイズと光学系の解像度に対して、投影素子の画素サイズが高倍率ほど大きくはないため、量子化誤差も相対的に小さくなる。このため、位相シフト間隔を細分化しても、高倍率の場合ほどには精度向上は見込めない。ただ、受光素子の画素サイズに対して受光側光学系の解像度に余裕がある場合は、後者の受光素子画素密度の向上によって、より細かい単位での形状を捉えることができる可能性がある。また、上記で挙げた位相シフト間隔の細分化機能と、受光素子画素密度向上機能は、相互に排他的なものではなく、これらを組み合わせて用いることもできる。
(ステージシフト測定により位相シフト間隔を細分化する方法)
正弦波位相シフト法で投影素子を用いて投影する場合、各投影素子は、投影又は非投影の2つの状態のみを用いること多い。具体的には、例えば図19のように投影素子4画素分で一周期Tの矩形波として、正弦波位相シフト用投影パターンを構築する。この図に示すように、周期的に縞パターンが表れる投影パターンでは、2画素分の投影画素PPと2画素分の非投影画素NPが交互に続く。この投影パターンを1画素ずつずらして投影していくことで、図20A~図20Dに示すように1/4周期(π/2)ずつ均等に位相がシフトした4つの縞投影パターンを作成できる。この4種類の投影パターンが投影された測定対象物の画像を撮影することで、4点法による正弦波位相シフト法の推定が可能となる。
なお、図19や図20A~図20Dの例では、投影する投影パターンを矩形波としているが、実際に投影される過程において、光学素子の影響等で惚けが生じ、実際に測定対象物に投影パターンが投影されて受光部120で撮影される縞パターン画像は、図21のように正弦波に非常に近い形状となる。
ここで、図20A~図20Dで示した4つの縞パターンの位相のずれは、投影素子を構成する一画素の大きさで規定される。このため、投影素子の一画素の大きさよりも細かくずらすことはできない。いいかえると、投影素子(例えばDMD)の仕様によって物理的な縞パターンの移動量が決定される。
上記の例では、4画素の投影パターンの例を示したが、本発明はこの構成に限られない。例えば、6画素(3画素投光+3画素非投光)の投影パターンにすると、1画素(π/3)ずつずらすことで、6種類の投影パターンを得ることができる。ただし、その分投影パターンの波長は延びることになる。この場合でも、最小の縞パターンの移動量は、投影素子の1画素よりも細かくすることはできない。
そこで本実施形態に係る三次元形状測定装置では、投影パターンを物理的にシフトさせる代わりに、投影対象の測定対象物側を移動させるステージシフト測定機能を備えている。ここでは、測定対象物を載置する載置部140を、投影素子から投影された1画素分の長さよりも細かく、微小平行移動させる。これにより、実質的に投影パターンを1画素分よりも細かいシフト量でずらした位相を得ることが可能となり、より高精細な縞パターン画像を得ることができる。
ステージシフト測定では、まず載置部140を並進ステージ141で動かさずに、投影素子を1画素ずつずらして一周期分のパターンを撮影する。例えば4画素パターンであれば、4枚の縞パターン画像を撮影することになる。
その後、並進ステージ141により測定対象物を微小平行移動させた上で、同様に一周期分の縞パターン画像(例えば4枚)を撮影する。これを繰り返して、必要なパターンを撮影し終わったら、それらのパターンから光量をサンプリングする。これにより、細かいシフト量でずらしたのに相当するデータを得ることができる。
ただし、載置部140を移動させて測定対象物の場所をずらしてしまうと、受光部120で撮影する位置もずれてしまう。このため、載置部140を移動させる前の撮影画素と、載置部140を移動させた後の画素との対応を取る必要がある。以下、このような画素位置の対応関係を取りながら、縞パターン画像を撮影する手順を説明する。ここでは、4画素単位の矩形波投影パターンで、載置部140の微小移動すなわちステージシフトによって、投影素子の一画素の1/4のシフト量でずらした縞パターン画像を取得する場合を考える。
まず、測定器の測定範囲から縞パターンが測定対象物に投影されたときの、投影素子1画素分の長さを計算により算出する。この演算は、例えば移動制御部144で行う。そして、算出された1画素分の投影長さを4等分して、並進ステージ141を微小移動させる移動単位、すなわちシフト量を算出する。
次に、並進ステージ141を移動させない状態で一周期分の縞パターン画像を撮影する。ここで用いた縞パターンは、図20A~図20Dに示すような一周期分のパターンセット0となる。この図において、図20Aは位相0の縞パターンであるパターンセット0-1、図20Bは位相π/2の縞パターンであるパターンセット0-2、図20Cは位相πの縞パターンであるパターンセット0-3、図20Dは位相3π/2の縞パターンであるパターンセット0-4を、それぞれ示している。
次に、先ほど求めたシフト量分だけ並進ステージ141を移動させ、同様に一周期分の縞パターン画像を撮影して、図22A~図22Dに示すような一周期分のパターンセット1を取得する。パターンセット1に含まれる各縞パターン1-1~1-4の位相は、上記図20A~図20Dと同様、π/2ずつ異ならせている。
同様の手順を2回繰り返して、図23A~図23Dに示すようなパターンセット2、及び図24A~図24Dに示すようなパターンセット3を取得し、全部で16枚の縞パターン画像を得る。
ここで、パターンセット1の撮影時には、並進ステージ141を投影素子一画素の1/4に相当するシフト量分だけ微小移動させていたため、測定対象物が投影素子の画素1/4分だけずれていることになる。よって、パターンセット1の投影パターンは、パターンセット0を基準にすると、図22A~図22Dに示すようにパターンセット0の各位相から(π/2)÷4=π/8程度シフトしたものに相当する。
同様にパターンセット2は、パターンセット0の各位相から(π/8)×2=π/4程度、パターンセット3は(π/8)×3=3π/8程度シフトしたものに、それぞれ相当する。よって、これらパターンセット0からパターンセット3までの各位相を合わせて、相当する位相シフト量毎に並べ替えると、図25A~図25Pに示すように、π/8程度ずつシフトした16枚の縞パターンを投光することに相当する。
このようにして、並進ステージ141を動かさないでパターンセット0、すなわち4枚の縞パターンを用いて、位相をπ/2ずつシフトさせた4点のデータを受光部120で得ることができる。ここで、パターンセット0で受光部120が取得する各データの位相シフト量と、サンプリング光量を、サンプリングセット0として図26のグラフに示す。ここでは、受光部120の受光素子の画素(以下「カメラ画素」という)毎に、位相がπ/2ずつシフトした4点の受光量が得られる。
さらに、このようなパターンセット0で受光部120が取得したカメラ画素のデータ(サンプリングセット0)を基準に、投影素子一画素の1/4分のシフト量を受光素子上の長さ(カメラ画素の長さ)に換算して、又はカメラ画素の何画素分に当たるかに換算して、その分だけ位置をずらして、パターンセット1で得られたデータ(投影パターン画像の各画素)の光量を、サンプリングセット1としてサンプリングする。サンプリングセット0の図26に、このサンプリングセット1を重ねた結果を、図27のグラフに示す。このとき、投影画素の1/4のずれ量は、一般にはカメラ画素の整数倍にはならないので、補間計算によってカメラ画素に換算したサンプリング光量を求める。
同様にして、2/4投影画素分、及び3/4投影画素分ずらした光量を、それぞれパターンセット2とパターンセット3からサンプリングして、サンプリングセット2、3とする。この結果を、図28のグラフに示す。
これによって、約π/8ずつシフトさせた16点の光量をサンプリングすることができた。このようにして得られた光量(サンプリングセット0~3)から、位相を推定する。これにより、従来の4点のみ(図26)の場合と比較して、量子化誤差を低減した高い精度で位相を推定することができる。サンプリング値の近似には、例えば最小2乗法による正弦波のフィッティング等、既知の手法が利用できる。
(カメラ画素に換算する補正方法)
上述したステージシフト機能において、測定対象物に縞投影して受光部120で撮像された投影パターン画像の、撮影素子1画素分の長さについては、一意に決まるものと仮定して計算を行うこともできるが、より精度を向上させるため、補正することもできる。三次元形状測定装置の投光光学系がテレセントリック光学系でない場合は、投影される1画素分の大きさは、投影素子と測定対象物との距離によって変化する。また、光学系を構成するレンズの歪曲収差の影響によって、画像の中心部と周縁部でも1画素分の大きさが変化することがある。このため、厳密には、投影パターン画像において撮影素子1画素分の長さを一意に決めることはできない。そこで、測定対象物に投影された撮影素子1画素分の長さを演算して、補正することによってより高精度な測定が可能となる。この手順を、以下説明する。
まず、パターンセット0の4枚の画像を用いて、4点法で位相推定を行う。また、空間コード法等によりアンラッピング処理を施し、絶対位相を求め、光学系のレンズの枠曲収差を補正して、点群データの推定を行う。
次に、得られた点群データの、各カメラ画素に対応する点の空間座標から、投影素子と測定対象物との距離を算出する。
さらに、算出した距離に基づいて、各カメラ画素位置での測定対象物に投影された撮影素子1画素分の長さを算出する。
(移動ピッチの補正方法)
また、以上の手順では、載置部140が正確に1/4投影画素単位で移動していると仮定している。ただ現実には、並進ステージの最小移動分解能や移動精度の制限等により、1/4投影画素単位で正確に移動させることは困難であり、誤差が発生し得る。そこで、このような実際の並進ステージを微小移動させる移動ピッチにずれが生じることを考慮して、光量をサンプリングする手法を説明する。
前提として、各カメラ座標において、投影素子1画素分の長さについては算出済みとする。またステージシフト測定では、並進ステージ141の移動ピッチはステッピングモータの駆動パルス数や変位計等の既知の手法により得られているものとする。この2つの情報を組み合わせることで、実際に移動させた載置面142の移動ピッチを、投影素子の画素の長さに換算することができる。これにより、各パターンセットにおける位相のシフト量を推定できる。また同様に、点群データの空間座標から、実際に移動させた載置面142の移動ピッチとカメラ画素の長さを換算することができる。ここで、載置部140の移動ピッチに相当するカメラ画素分だけシフトさせた位置の光量を、補間計算でサンプリングすることにより、載置面142が微小平行移動していない画素において、微小位相シフトさせた場合に相当する光量を得ることができる。
上記の例では、π/8ずつ等分にサンプリングさせた例を説明したが、実際には載置面142の移動ピッチから算出した位相のずれを用いることで、非等間隔でサンプリングすることになる。この場合でも、最小2乗フィッティングによって位相を推定することが可能となる。
以上説明した、ステージシフト測定における位相シフト間隔細分化による高精度点群算出の手順を、図29のフローチャートに基づいて説明する。まずステップS2901において、測定対象物を載置面142に設置する。次にステップS2902において、必要に応じて照明光出力部130の明るさを調整する。そしてステップS2903において、空間コードパターンを投光し、ステップS2904において、空間コードパターンを撮影する。
次にステップS2905において、未だ撮影していない空間コードパターンが有るか否かを判定し、未だ残っている場合はステップS2903に戻って上記の処理を繰り返す。一方、ステップS2905において、未撮影の空間コードパターンが残っていないと判定された場合は、すべての空間コードパターンの撮影が完了したとして、ステップS2906において、正弦波パターンを投光する。そしてステップS2907において、正弦波パターンを撮影する。
さらにステップS2908において、撮影していない正弦波パターンがあるか否かを判定する。未撮影の正弦波パターンが残っている場合は、ステップS2906に戻って上記処理を繰り返す。一方、ステップS2908において、未撮影の正弦波パターンがないと判定された場合は、すべての正弦波パターン撮影が完了したと判定して、ステップS2909に進み、位相アンラッピングを行い、さらにステップS2910において点群を算出する。
次いでステップS2911において、載置部140を微小並行移動させる。移動ピッチは、上述の通り予め演算されたシフト量である。そしてステップS2912において、正弦波パターンを投光し、ステップS2913において正弦波パターンを撮影する。なお、この例では空間コードを共通とし、微小移動した先では正弦波パターンしか取得しないが、空間コードも取得してよい。例えば空間コードの最小分解能と移動量が近い場合は、空間コードを各位置で取得することも有効となる。ただ、測定時間が位置の数に応じて増えるため、処理速度が優先される用途では本例が有利となる。
そしてステップS2914において、撮影してない正弦波パターンが有るか否かを判定する。未撮影の正弦波パターンが残っている場合は、ステップS2912に戻って上記処理を繰り返す。一方、ステップS2914において、未撮影の正弦波パターンがないと判定された場合は、すべての正弦波パターンの撮影が完了したと判断して、ステップS2915に進み、1投影画素分の並進ステージ141の移動が完了したかを判定する。未だの場合はステップS2911に戻って、上記処理を繰り返す。そして1投影画素分の並進ステージ141の移動が完了したと判定した場合は、ステップS2916に進み、並進ステージ141の移動ピッチと非ステージシフト点群座標から、位相シフト量を算出する。そしてステップS2917において、各カメラ画素のステージシフトによる位相シフト量に対応するカメラ画素位置の光量を、補間により算出する。さらにステップS2918において、算出した位相シフト量と光量から、正弦波を最小2乗フィッティングし、初期位相を算出する。さらにまたステップS2919において、位相アンラッピングを行い、ステップS2920において点群を算出し、処理を終了する。これにより高精細化した点群が得られ、高精度な測定が可能となる。
ここで、ステージシフトさせたときの測定対象物の位置関係を、図30A~図30Bに基づいて説明する。図30Aと図30Bでは、縞パターンBPは変化させず、並進ステージ141を図30Aの状態からX軸方向(図において左側)に平行に微小移動させた状態を図30Bに示している。またこの図では説明の簡素化のため、縞パターンBPは1本のみ図示している。並進ステージ141を微小移動させると、載置面142上の測定対象物も同様に、同じ量だけ微小移動することになる。ただし、縞パターンBPの位置は不変のため、結果的に測定対象物上に縞が照射される位置は、並進ステージ141の移動ピッチ分だけずれることになる。図中の黒丸の位置は、測定対象物の同一点を示しており、縞がシフト量分だけ移動しているように見えることが確認できる。このように、並進ステージ141を移動させずに、縞パターンBPを並進ステージ141の移動ピッチ分だけずらした(位相が進んだ)状態と概ね一致した縞パターンBPの照射結果と見なすことができる。このように、ステージシフトによって投影パターンの微小シフトと同様の効果が得られることが確認できる。
ステージシフトさせたときには、カメラで撮影した位置もずれることになる。ここで必要な情報は、測定対象物の同一点上において微小シフトさせた投影パターンの明るさであることから、ステージシフトさせたときにずれたカメラ上の画素の明るさをサンプリングすればよい。ここで、並進ステージ141を微小移動させたときにカメラで撮影した測定対象物上の同一点の様子を、図31A~図31Dに示す。これらの図において、図31Aは並進ステージ141が基準位置(ステージ位置1)にあるときの測定対象物WK上の参照点RP、図31B~図31Dは並進ステージ141を微小移動させたときの同一の参照点RPを、それぞれ示している。また測定対象物WK上の参照点RPをハッチングで示し、受光部120の撮像素子の画素の境界を格子状に示している。これらの図に示すように、受光部120のカメラで撮影した測定対象物WKの参照点RPが、並進ステージ141を微小移動するに従って位置が変化していく。ステージシフトさせると、参照点RPの位置がずれていくが、当然ながら撮像素子の画素の大きさの単位でずれていく訳ではない。このため、撮像素子で各位置の明るさを取得する場合は、補間によって明るさを推定する必要がある。例えば図31Bに示すステージ位置2における測定対象物WK上の参照点RPは、図31Aに示す基準位置、すなわち並進ステージ141を移動させていない状態の参照点RPから見ると、0.75画素分だけ左にずれた位置が同一点を表すことになる。同様に図31Cのステージ位置3では、1.5画素分、図31Dのステージ位置4では2.25画素分だけ、それぞれ左にずれた位置が測定対象物WKの同じ位置を表している。測定対象物WKの参照点RPを空間上で移動させた場合、カメラ撮影画像で何画素分だけずれた位置に映るかは、演算によって求めることができる。
同様に、投光側でも並進ステージ141を移動させると測定対象物WKの同一点を表す投影画素はずれることになるが、そのずれが投影素子何画素分に相当するのかについても、演算によって求めることができる。投影素子のずれ量は、そのまま位相のずれに対応するので、ステージシフトによって投影パターンの位相がどれだけずれたかを算出できることになる。例えば、並進ステージ141の移動によって1/4画素だけ投影画素がずれた位置が測定対象物WKの参照点RPに相当すると仮定すると、4点法の場合、1投影画素のずれが位相π/2に相当するので、π/8だけ並進ステージ141の移動前の位相からずらした正弦波パターンを投影した状態に相当する。
なお、上述した例では、並進ステージ141の移動方向を図30A~図30Bに示したようにカメラのX軸方向と平行な向きとする場合を説明した。ただ本発明は、並進ステージ141を微小移動させる方向を、この方向に限定するものでない。例えば、並進ステージ141を奥行き方向、すなわち載置面142の平面視において、載置部140が支持部に接近及び離間する方向に移動させてもよい。このような例を図32A~図32Bに示す。これらの図において、図32Aは縞パターンBPを測定対象物WKに投影した状態の斜視図、図32Bは図32Aの状態から縞パターンBPを不変のまま、Y軸方向(図において上方向)にステージシフトさせた状態を、それぞれ示している。これらの図においても、上述した図30A~図30Bと同様、測定対象物WK上の参照点RPである黒丸の位置と縞の位置関係が、並進ステージ141のY方向への微小移動によって変化しており、縞パターンBPを微小シフトさせたのと同様の効果が、この並進ステージ141の移動でも得られることが確認できる。また、このとき受光部120のカメラ撮影画像上の同一点は、X方向ではなくY方向にずれていくことになる。この例においても、並進ステージ141のステージシフト後のシフト量に対応する撮像素子の画素のずれ量(画素シフト量)と、投影素子の画素シフト量は演算により求めることができる。
また、X方向とY方向の両方に並進ステージ141を微小移動させても、同様にステージシフト後の撮像素子の画素シフト量と投影素子の画素シフト量を演算により求められる。さらに、並進ステージ141に加えて、載置面142を高さ方向(Z方向)に移動させるZステージを設けて3軸移動させる場合においても、同様にステージシフト後の撮像素子の画素シフト量と投影素子の画素シフト量を演算により求められる。
(ステージシフト測定によりカメラ画素密度を向上させる方法)
次に、サンプリング間隔を変えずにカメラ画素密度を向上させる方法について、図33のフローチャートに基づいて説明する。ここでは、始めにステージシフトせずに空間コードパターンの投光、撮影と、正弦波パターンの投光、撮影を行い、正弦波パターンから算出したラップされた位相を、空間コードから算出した位相を用いてアンラップ位相を求めて、点群に変換する。具体的には、まずステップS3301において、測定対象物を載置面142に設置する。次にステップS3302において、必要に応じて照明光出力部130の明るさを調整する。そしてステップS3303において、空間コードパターンを投光し、ステップS3304において、空間コードパターンを撮影する。
次にステップS3305において、撮影していない空間コードパターンがあるか否かを判定し、ある場合はステップS3303に戻って処理を繰り返す。そして未撮影の空間コードパターンがない場合は、各空間コードパターンの撮影が完了したと判定してステップS3306に進む。ステップS3306では正弦波パターンを投光し、ステップS3307でこの正弦波パターンを撮影する。そしてステップS3308において、撮影していない正弦波パターンがあるか否かを判定し、ある場合はステップS3306に戻って処理を繰り返す。そして未撮影の正弦波パターンがない場合は、すべての正弦波パターンの撮影が完了したとして、ステップS3309に進んで位相アンラッピングを行い、ステップS3310で点群を算出する。
次に並進ステージ141をシフトさせて、測定対象物を微小に平行移動させた状態で正弦波パターンの投光、撮影を行い、ラップされた位相を求める。その位相を並進ステージ141の移動前の空間コードから算出した位相を用いて位相アンラッピングを行い、点群に変換する。ここで並進ステージ141の移動ピッチは、上述した位相シフトのサンプリング間隔を細分化する手法と同様である。具体的には、ステップS3311において、並進ステージ141を微小平行移動する。そして同様にステップS3312において正弦波パターンを投光し、ステップS3313において正弦波パターンを撮影する。さらにステップS3314において、撮影していない正弦波パターンがあるか否かを判定し、ある場合はステップS3312に戻って処理を繰り返し、ない場合はすべての正弦波パターンの撮影が完了したとしてステップS3315に進み、位相アンラッピングした後、ステップS3316で点群を算出する。
さらに必要な回数分だけ並進ステージ141を移動させて、同様に点群を求める。具体的には、ステップS3317において、1投影画素分の並進ステージ141の移動が完了したか否かを判定し、未だの場合はステップS3311に戻って処理を繰り返す。そして1投影画素分の並進ステージ141の移動が完了した場合は、ステップS3318に進み、点群を位置合わせして高密度な点群を算出し、処理を終了する。すなわち、求めた複数の点群の位置合わせを行う。位置合わせは、並進ステージ141の移動ピッチが分かっているので、並進ステージ141の移動ピッチの推定精度が十分に高ければその移動ピッチ分だけずらせば良い。もし並進ステージ141の移動ピッチの推定精度が十分で無い場合は、例えばICP(Iterative Closest Point)を用いて、ステージシフトしない点群に対して、それ以外の各点群のペアで位置合わせを行うことで、点群の分布を元に、より誤差の少ない位置推定を行うことができる。このようにして合成された点群は、カメラの画素密度が並進ステージ141の移動回数倍だけ向上されている。
(ステージシフト設定画面1800)
上述したステージシフト機能の実行は、ステージシフト選択部で行う。例えばステージシフト機能の実行可否や測定について、専用の設定GUIを用意して表示部に表示させ、ユーザに設定させるように構成することができる。このようなステージシフト機能の設定GUIの例として、ステージシフト設定画面1800を図34に示す。この図に示すステージシフト設定画面1800は、操作領域1820と画像表示領域1810を設けている。操作領域1820は、各種の設定を行うボタンやツールを配置した領域である。また画像表示領域1810は、観察画像等の画像を表示させる領域である。図34の例では、ステージシフト設定画面1800の上部に操作領域1820を、下部に画像表示領域1810を配置しているが、この配置例に限定されるものでない。
(ステージシフト選択部)
操作領域1820において、中段に設けた「解像度」欄1830が、ステージシフト選択部に相当する。「解像度」欄1830においては「標準」ボタン1831と「高精細」ボタン1832が設けられている。ユーザが「標準」ボタン1831を選択すると、ステージシフトを行わない通常の測定が実施される。また「高精細」ボタン1832を選択すると、ステージシフト機能が実行される。ステージシフトを実行した測定に際して、並進ステージ141の移動ピッチや移動回数、位相シフト間隔細分化や点群高密度化の設定等は「設定」ボタン1833を押下することで、詳細な設定を行うことができるよう構成できる。また、図7等で説明した高倍率の光学系と低倍率の光学系を受光部120が備える構成においては、低倍率レンズと高倍率レンズのそれぞれに予め設定された設定値が用いられるように構成してもよい。
さらに、ステージシフト設定画面1800の設定によってステージシフト機能の実施を選択する手順を、図35のフローチャートに基づいて説明する。まずステップS3501において、測定対象物を並進ステージ141に設置する。次にステップS3502において、必要に応じて照明光出力部130の明るさを調整し、ステップS3503においてステージシフト測定を実施するか否かを設定する。ここでは、三次元形状測定装置がステージシフト設定画面1800において、ユーザに対しステージシフト機能のON/OFFの選択を促す。そしてステップS3504において、ステップS3503で設定されたステージシフト機能の実行有無を判定し、実行しない場合はステップS3505に進み、ステージシフトを実行せずに点群を算出し、処理を終了する。一方、ステージシフト機能を実行する場合は、ステップS3506に進み、ステージシフトを行って測定した点群を算出し、処理を終了する。このようにして、ステージシフト機能の実行可否を設定でき、これに従い点群データを取得する。
なお、以下の説明では載置部140として、図6等に示した並進ステージ141と回転ステージ143を備えるXYθステージを採用した例について説明するが、本発明は載置部をこの構成に限定しない。例えば図6の例では、回転ステージ143上に並進ステージ141が配置されているが、図10に示すように並進ステージ141上に回転ステージ143が配置された構成としてもよい。また図36に示す変形例に係る三次元形状測定装置500Cのように、回転ステージを有さない並進ステージ141のみを用いた載置部140Cを用いる構成においても、本発明を適用できる。このように本実施形態に係る三次元形状測定装置では、測定部に対して測定対象物を一方向(例えばX軸方向)に駆動できる駆動軸を有する構成を最小構成とする。ここでいう一方向とは、三次元形状測定装置に対してではなく、投影パターンの送り方向に対して平行という意味である。例えば図2の例では、並進ステージ141のX方向駆動軸を、パターン送り方向すなわち撮像系に対してパターン投影系が設置されている方向(図2において左右方向)に一致させている。また、測定部の載置面142に対する見込み角は、45°に限定されず、上方からの測定でも良い。