以下、本発明の実施の形態を図面に基づいて説明する。ただし、以下に示す実施の形態は、本発明の技術思想を具体化するための形状測定装置を例示するものであって、本発明は形状測定装置を以下のものに特定しない。また、本明細書は特許請求の範囲に示される部材を、実施の形態の部材に特定するものでは決してない。特に実施の形態に記載されている構成部品の寸法、材質、形状、その相対的配置等は特に特定的な記載がない限りは、本発明の範囲をそれのみに限定する趣旨ではなく、単なる説明例にすぎない。なお、各図面が示す部材の大きさや位置関係等は、説明を明確にするため誇張していることがある。さらに以下の説明において、同一の名称、符号については同一もしくは同質の部材を示しており、詳細説明を適宜省略する。さらに、本発明を構成する各要素は、複数の要素を同一の部材で構成して一の部材で複数の要素を兼用する態様としてもよいし、逆に一の部材の機能を複数の部材で分担して実現することもできる。
本明細書において、「テクスチャ画像」とは、光学画像に代表される、テクスチャ情報を有する観察画像である。一方、「高さ画像」とは、距離画像等とも呼ばれるものであり、高さ情報を含む画像の意味で使用する。例えば、高さ情報を輝度や色度等に変換して二次元画像として表示した画像や、高さ情報をZ座標情報として三次元状に表示した画像が挙げられる。またこのような高さ画像にテクスチャ画像をテクスチャ情報として貼り付けた三次元の合成画像も、高さ画像に含む。また、本明細書において高さ画像の表示形態は二次元状に表示されるものに限られず、三次元状に表示されるものも含む。例えば、高さ画像の有する高さ情報を輝度等に変換して二次元画像として表示したものや、高さ情報をZ座標情報として三次元状に表示したものを含む。
さらに本明細書において測定対象物をステージ上に置く「姿勢」とは、測定対象物の回転角度を意味する。なお、測定対象物が円錐のような平面視において点対称の形状の場合は、回転角度に依らず同じ結果が得られるため、姿勢は規定する必要がない。
[実施形態1]
本発明の実施形態1に係る形状測定装置の構成を示すブロック図を図1に示す。形状測定装置500は、図1に示すように、撮像手段100、制御手段200、光源部300、表示部400及び操作デバイス450を備える。この構成は一例であって、各部材や各部材に含まれる機能ブロックは、適宜統合させたり、分割させることができる。例えば、制御手段に光源部を含めてもよい。また制御手段を、コントローラと汎用コンピュータに分割してもよい。
(撮像手段100)
撮像手段100は、投光部110と、受光部120と、測定制御部150と、ステージ140と、光軸方向駆動部146と、ステージ平面方向駆動部148を備える。投光部110は、ステージ140上に載置された測定対象物WKに対し、パターン光を照射するための部材である。受光部120は、投光部110から照射されて、測定対象物WKで反射されたパターン光を受光して、受光データを出力する。測定制御部150は、投光部110の投光と受光部120の受光を駆動し、また受光部120の受光データを出力するための部材である。この撮像手段は、パターン投影法に基づいて測定対象物WKの形状を測定する。
[実施形態2]
図1の例では、高さ画像を取得するための測定光を投光するパターン投光系と、テクスチャ画像を撮像するための照明光を照射する照明投光系を、別個に設けた例を説明した。ただ本発明は、投光系を個別に設ける構成に限定せず、投光系を共通化してもよい。このような例を実施形態2として、図2のブロック図に示す。この図に示す形状測定装置500Bにおいて、図1と同様の部材については、同じ符号を付して詳細説明を省略する。
実施形態2に係る形状測定装置500Bは、図1の形状測定装置500と比べて、照明光出力部及び観察用照明光源を備えていない。この形状測定装置500Bでは、投光部110が照明光の照射を兼用している。例えば投光部110がパターン投影する際のパターンをすべて点灯として照射することで、面状光源として利用して照明光と同様の光を照射できる。この構成であれば、照明光出力部を省略できるので、形状測定装置の構成を簡素化できる利点が得られる。
一方、ステージ140は、測定対象物WKを載置するための部材である。また光軸方向駆動部146は、ステージ140を受光部120に対して光軸方向に相対的に移動させることにより、受光部120の焦点位置を調整するための部材である。この例では光軸方向駆動部146は、ステージ140側を駆動させて、焦点距離を調整する焦点調整部として機能する。また光軸方向駆動部146は、電動でステージ140を駆動するステージ駆動部と、手動でステージ140を操作するためのステージ操作部を備えている。これら詳細については後述する。
またステージ平面方向駆動部148は、ステージ140を受光部120の光軸方向と直交するステージ平面方向に相対的に移動させるための部材である。ステージ平面方向駆動部148はステージ140を水平面内で駆動させる駆動部であり、視野範囲を調整することができる。ステージ140側を駆動させる例においては、ステージ平面方向駆動部148はXYステージ141に相当し、一方光軸方向駆動部146はZステージ142に相当する。
[実施形態3]
ただ本発明は、光軸方向駆動部146をステージ140側の移動に限定せず、投光部110及び受光部120側を移動させてもよい。このような例を実施形態3に係る形状測定装置として、図3のブロック図に示す。この図に示す形状測定装置500Cにおいても、図1等と同様の部材については、同じ符号を付して詳細説明を省略する。
実施形態3に係る形状測定装置500Cは、撮像手段100Cにおいて、ステージ140側の高さを固定する一方、光軸方向駆動部146Cで、投光部110及び受光部120側を移動させている。光軸方向駆動部146Cは、投光部110や受光部120などの撮像系を手動で操作するための撮像系操作部144Cと、撮像系を電動で駆動するための撮像系駆動部145Cを備えている。この構成であっても、同様に焦点位置を調整できる。またステージ140の高さを一定とすることで、ステージ140上に測定対象物WKを載置する高さを一定に維持できるので、測定対象物WKの載置作業をスムーズに行える利点が得られる。なお、ステージ側と投光部及び受光部側の両方を移動可能とさせてもよい。このように本明細書においては、ステージ側、あるいは投光部及び受光部側のいずれか又は両方を移動させる場合でも、深度方向に焦点位置を調整できる。よって本明細書において「ステージを受光部に対して光軸方向に相対的に移動させる」というときは、ステージ側を移動させる態様と投光部及び受光部側を移動させる態様、及び両者を移動させる態様を含むものとする。
(制御手段200)
制御手段200は、立体形状データ生成部212と、三次元画像合成部213と、判定処理部214と、深度拡張処理部215と、合成処理部216と、測定設定自動調整部217と、立体形状データ連結部219と、記憶部240と、設定部250とを備える。
(測定設定自動調整部217)
測定設定自動調整部217は、各部分領域の立体形状データ及び該立体形状データを生成する際に各部分領域で取得された受光データの少なくともいずれかに基づいて、該部分領域の測定設定を自動的に調整するための部材である。測定設定自動調整部217は、各部分領域において、部分領域測定設定を自動的に調整し、必要に応じて各部分領域の測定設定に変更する。このように各部分領域の測定設定が変更された場合、この部分領域の測定設定に従って、立体形状データ生成部で再度立体形状データを生成し直す。すなわち、調整後の各部分領域の測定設定に従って、投光部でパターン光を投光し、受光部で調整受光データを受光し、これに基づいて、立体形状データ生成部で調整立体形状データを生成する。さらに立体形状データ連結部219でこの調整立体形状データを連結して連結調整立体形状データを生成する。これにより、一旦取得された受光データや立体形状データに基づいて最適な条件に変更された各部分領域の測定設定でもって立体形状データを生成し、より正確な計測を行うことが可能となる。
(立体形状データ連結部219)
立体形状データ連結部219は、測定設定調整部により調整された各部分領域の測定設定に従って、前記立体形状データ生成処理により再度生成された各部分領域の立体形状データを連結し、連結領域に対応する連結立体形状データを生成するための部材である。
(立体形状データ生成部212)
立体形状データ生成部212は、連結領域設定部256で設定された各部分領域において、測定設定部255で設定された測定設定に従って、受光部により出力された受光データに基づいて、測定対象物の形状を示す立体形状データをパターン投影法で生成する部材である。図1等の例では、立体形状データ生成部212は、投光部110により順次位相をシフトして投光され、測定対象物WKの表面から反射した光を受光部120が複数回受光し、出力した複数の受光データに基づいて、測定対象物WKの表面形状によって変化する位相データを取得し、当該位相データに基づいて、受光部120の光軸と直交するステージ平面内に存在する測定対象物WKの形状をパターン投影法で測定して立体形状データを取得する。このステージ平面は、面状に指定され、例えばXY平面上で指定される。また立体形状データは、画素毎に取得することが好ましい。なおここでいう立体形状データは、高さ情報を測定可能なデータの意味である。例えば、測定対象物を示す各画素が測定対象物の三次元座標を示す高さ画像が、立体形状データに含まれる。すなわち立体形状データは、必ずしも高さ情報を直接有していることは要さず、例えば高さ情報を測定前の、パターン投影法で測定した縞画像や、位相データ、縞画像から画素毎に測定対象物の三次元座標(例えばXYZ座標)を示す高さ情報を計測したデータも、立体形状データに含む。
また立体形状データ生成部212は、高さ画像を生成することもできる。このため立体形状データ生成部212は、高さ画像を生成する立体形状データ生成部212bや、高さ画像に対して計測を行う形状測定処理部212cを含めることができる。このように立体形状データ生成部212を、立体形状データに含まれる、測定対象物を示す各画素が測定対象物の三次元座標を示す高さ画像を生成するよう構成してもよい。
(判定処理部214)
判定処理部214は、立体形状データ取得部212により取得された立体形状データに基づいて、深度測定範囲内に高さ情報を有さない未測定の領域が存在するか否かを、所定の判定条件に従って判定するための部材である。パターン投影法では、縞パターンのコントラストが低くても、隣り合う明部と暗部が区別できる程度のコントラストを有していれば、立体形状データの取得が可能である。したがって、深度測定範囲とは、ステージ140を受光部120、投光部110、又はその両方に対し、相対的に移動させることなく高さ情報を取得可能な受光部120の光軸方向のある一定の幅を有する範囲を示す。より詳細には、深度測定範囲は、投光部110により測定対象物WK上に投光された縞パターンが最も大きいコントラストで撮像される位置に対し、光軸方向上下に一定の範囲を有する。ここで、一定の範囲とは、受光部120により投光部110から投光された縞パターンが少なくとも撮像可能な範囲であり、異なる方向からパターン光を投光する投光部110が複数存在する場合は、すべての投光部110から投光された縞パターンが撮像される範囲に基づいて定義されてよい。また、未測定の領域とは、立体形状データの内、高さ情報を取得できないデータを指す。例えば縞投影の縞パターンが映っていない画素や複数の画素からなる領域が挙げられる。また所定の判定条件には、立体形状データに含まれる縞画像のコントラストや、輝度が所定値に至っているかなどが挙げられる。
すなわち、最終的な立体形状データが得られていない画素の中で、パターンが投影されていることが判定できる程度の輝度値が得られている画素が存在する場合には、測定対象物が存在しているものと判断して、これを元に深度測定範囲を変えて立体形状データの取得を試みる。
判定処理部214は、このような判定条件に基づいて、高さの計測が可能な程度に縞パターンが得られているかを判定することで、深度測定範囲内に高さ情報を有さない未測定の領域が存在するか否かを判断できる。
また判定処理部214は、深度測定範囲内で高さ情報を測定可能な取得済みの画素を累積して、この取得済み画素を累積した累積画像に基づいて未測定の画素が存在するか否かを判定するよう構成できる。
さらに判定処理部214は、深度測定範囲内のいずれかの部位に立体形状データを有するか否かを判定し、未測定画素の有無を判定するよう構成してもよい。このように、深度測定範囲内に高さが測定できた画素があれば、深度を自動拡張するようにしてもよい。すなわち深度測定範囲内で一点でも測定できたら、拡張するように制御することもできる。
(深度拡張処理部215)
深度拡張処理部215は、判定処理部214による未測定判定処理により、未測定の領域が存在すると判定された場合に、光軸方向駆動部146を制御して受光部120の焦点位置を変更するための部材である。
(設定部250)
設定部250は、位置指定部251と、終了条件設定部252と、深度範囲設定部253と、深度拡張モード選択部254と、測定設定部255と、連結領域設定部256と、測定モード選択部257を備える。
(位置指定部251)
位置指定部251は、表示部400上に表示された測定対象物WKの画像上で、XY位置を指定するための部材である。
(終了条件設定部252)
終了条件設定部252は、光軸方向駆動部146を制御して受光部120の焦点位置を変更する焦点位置変更処理を終了する所定の終了条件を設定するための部材である。
ここで判定処理部214による所定の終了条件とは、移動範囲の物理的な限界、例えばステージ140がそれ以上移動できない位置に到達した状態が挙げられる。また所定の終了条件として、そもそも測定できない状態の他、未測定だが縞画像が取得できない状態も挙げられる。
なお深度拡張処理部215は、光軸方向駆動部146を動作させる際に、受光部120とステージ140との距離が長くなる方向に動作させることが好ましい。これにより、ステージ140上に載置された測定対象物WKが受光部120に接触する事態を回避することができる。この場合、受光部120とステージ140が離れる一方向にのみ動作するため、ステージの初期位置を適切に設定しないと、測定対象物WKの全体を測定することができなくなる。使用者はステージ140を受光部120の光軸方向に移動させながら、測定を行いたい測定対象物WKの最も低い位置(受光部120が離れた位置)の測定が可能で、且つ測定対象物WKの最も高い位置(受光部120に最も近い位置)が受光部120に衝突しない位置にステージ140の初期位置としてセットする。この作業は、使用者が表示部400に表示された立体形状データを確認したり、実際のステージ140と受光部120との距離を目視で確認することにより行うことができる。
一方で、深度拡張処理部215が、受光部120とステージ140との距離が短くなる方向にも光軸方向駆動部146の動作を許容する場合は、ステージ140上の測定対象物WKがカメラ等と接触する事態を阻止するための機構を備えることが好ましい。例えば、測定対象物WKの最も高い部位の大まかな高さを予め取得しておき、この高さよりも短い距離に受光部120とステージ140とが接近することを禁止するように、深度拡張処理部215で光軸方向駆動部146の動作を制限する。受光部120とステージ140との距離が短くなる方向、及び長くなる方向の両方向にステージの移動を許容する場合は、ステージ140の初期位置から、まずいずれか一方の方向にステージ140を移動して、判定処理部214による終了条件が満たされない場合は、他方の方向にステージ140を移動し、終了条件が満たされるまで往復動作を行う。
深度範囲設定部253は、光軸方向駆動部146を制御して受光部120の焦点位置を変更する範囲を設定するための部材である。
深度拡張モード選択部254は、光軸方向駆動部146を制御して受光部120の焦点位置を変更する焦点位置変更処理を、所定の範囲内で行うか、自動的に拡張するかを切り替えるための部材である。
(測定設定部255)
測定設定部255は、連結領域を設定するための部材である。連結領域は、複数の部分領域に分割される。各部分領域は、形状測定装置で測定可能な視野又はこれよりも若干狭い領域に対応する。このように複数の部分領域に分けて、各部分領域にステージを平面方向駆動部で移動させ、それぞれで生成した立体形状データをXY平面方向に連結することで、ハードウェア仕様上の制限のある視野を拡大した広域画像を得ることが可能となる。
(連結領域設定部256)
連結領域設定部256は、平面方向駆動部で平面方向におけるステージの相対位置を移動させる領域として、複数の部分領域で構成された連結領域を設定する部材である。
(測定モード選択部257)
測定モード選択部257は、立体形状データ生成部で測定対象物の立体形状データを生成する際の測定モードとして、通常モードと、通常モードよりも精細な測定を行うためのファインモードと、受光データからハレーションを除去するハレーション除去モードのいずれかを選択するための部材である。
(合成処理部216)
合成処理部216は、判定処理部214による未測定判定処理により、未測定の領域が存在しないと判定されるか、又は所定の終了条件を満たすまで、立体形状データ生成部212による立体形状データ取得処理、判定処理部214による未測定判定処理、深度拡張処理部215による焦点位置変更処理を自動的に繰り返して生成された複数の高さ画像を合成した合成高さ画像を生成するための部材である。
このような形状測定装置により、深度方向の測定範囲を各視野において拡張することが可能となる。
(高さ情報の取得方法)
本実施形態では、高さ情報を取得するための方法として、三角測距の原理に基づくパターン投影法を用いている。この方式では、1回の深度測定範囲が広い三角測距方式をベースにしながら、測定対象物又は形状測定装置の位置を、物理的又は光学的に移動させて測定を繰り返す。そして得られた測定結果を合成していくことで、1回の測定で実現できる深度測定範囲を移動した分だけ、深度方向にトータルの高さを拡張していくことができる。この結果、高速に、かつ三角測距方式よりも広い範囲を測定可能となる。これによって、より広い視野を、高い分解能で計測可能な形状測定装置や形状測定方法が実現される。
(XY画像連結機能)
また合成処理部216は、ステージ140をXY方向に移動させて撮像したXY座標が異なる複数の高さ画像を、XY平面上で連結することもできる。このようなXY連結の場合は、ステージ平面方向駆動部148でもってステージ140を水平方向に移動させて、異なる視野範囲で撮像した画像を水平方向に連結する。例えばテクスチャ画像取得部218で複数回に分けて撮像された、異なる部位を示すテクスチャ画像同士をXY連結部で連結して、大きなテクスチャ画像として連結画像を、基準対象画像や検査対象画像として利用することもできる。特に高倍率な光学画像等を撮像可能な形状測定装置においては、低倍率なテクスチャ画像ではその能力を十分に発揮できないことがあり、高倍率で高精細なテクスチャ画像を画像連結機能で生成して、精度の高い画像検査を実現することができる。あるいは、高倍率の画像は視野が狭いため、異なる視野で撮像した画像同士を連結することで視野を拡大した連結画像を得ることもできる。また画像連結機能、ここではXY連結機能はテクスチャ画像に限らず、高さ画像や合成高さ画像、あるいはテクスチャ画像と高さ画像を合成した合成画像に対しても実行することができる。ステージ140をXY方向に移動させて取得した複数の立体形状データを連結する場合は、各XY位置において、深度拡張処理部215による深度拡張処理を自動的に行い、生成された複数の立体形状データ同士が連結される。これにより、XY方向に大きく、且つ高さ方向に大きな起伏がある測定対象物WKであっても、測定対象物WK全体の測定を容易に行うことができる。また、各XY位置で測定対象物WKに高さ方向の起伏が異なる場合、各XY位置において深度拡張処理部215による深度拡張処理の有無、又は回数が異なる。例えば、測定対象物が割と平坦であり、1回の測定で全体が測定深度範囲に収まるXY位置では深度拡張処理を行わずに立体形状データを生成し、測定対象物の起伏が大きく、深度拡張処理が必要なXY位置では複数回の深度拡張処理を行って立体形状データを生成し、これらの立体形状データ同士をXY方向に連結することができる。
記憶部240は、各種のデータを保存したり、設定値を記憶するための部材であり、半導体記憶素子等が利用できる。ここでは記憶部240は、高さ画像を保存する高さ画像記憶部241と、テクスチャ画像を保存するテクスチャ画像記憶部242と、測定設定自動調整部217により調整された各部分領域の測定設定を保存するための測定設定保存部243を備える。
表示部400は、取得した画像等を表示するための部材である。例えばLCDや有機EL、CRT等が利用できる。
操作デバイス450は、ユーザの入力等を受け付けるための部材であり、マウスやキーボード、コンソール等の入力デバイスが利用できる。また表示部400にタッチパネルを使用することで、表示部と操作デバイスを兼用することもできる。
(ブロック図)
図1の形状測定装置500の撮像手段100の構成例を、図4のブロック図に示す。撮像手段100は、投光部110、受光部120、照明光出力部130、ステージ140及び測定制御部150を含む。投光部110は、測定光源111、パターン生成部112及び複数のレンズ113、114、115を含む。受光部120は、カメラ121及び複数のレンズ122、123を含む。ステージ140上には、測定対象物WKが載置される。
(投光部110)
投光部110は、ステージ140の斜め上方に配置される。撮像手段100は、複数の投光部110を含んでもよい。図4の例においては、撮像手段100は2つの投光部110を含む。ここでは、第一の方向から測定対象物WKに対してパターン光を照射可能な第一投光部110A(図4において右側)と、第一の方向とは異なる第二の方向から測定対象物WKに対してパターン光を照射可能な第二投光部110B(図4において左側)を、それぞれ配置している。第一投光部110A、第二投光部110Bは受光部120の光軸を挟んで対称に配置される。なお投光部を3以上備えたり、逆に投光部を一のみとしたり、あるいは共通の投光部を用いながら、投光部とステージを相対移動させることで照明の方向を異ならせて投光させることも可能である。さらに図4の例では投光部110が投光する垂直方向に対する照明光の照射角度を固定としているが、これを可変とすることもできる。
図4の受光部120は、第一投光部110Aから照射され、測定対象物WKから反射された第一パターン光を受光して第一受光データを出力する。その一方でこの受光部120は、第二投光部110Bから照射され、測定対象物WKから反射された第二パターン光を受光して第二受光データを出力する。受光部120が出力する受光データは、例えば縞投影法に基づく縞画像である。
また受光データを受ける立体形状データ取得部212は、受光部120が受光した第一受光データに基づいて、測定対象物WKの第一高さ画像を生成する。一方で、立体形状データ取得部212は、受光部120が受光した第二受光データに基づいて、測定対象物WKの第二高さ画像を生成する。
(深度測定範囲)
ここで、ステージ140上の受光部120の撮影視野の位置するステージ平面内において、第一投光部110A及び第二投光部110Bから、第一パターン光及び第二パターン光をそれぞれ照射可能な共通の高さ範囲を、深度測定範囲とする。合成処理部216は、この深度測定範囲内の立体形状データを有する第一高さ画像と第二高さ画像を合成して、合成高さ画像を生成する。
(深度探索範囲)
一方で、ステージ140上の受光部120のステージ平面内に、第一投光部110A及び第二投光部110Bのいずれか一方のみから、第一パターン光又は第二パターン光を照射可能な領域を含む高さ範囲を深度探索範囲とする。判定処理部214は、この深度探索範囲内に測定対象物WKの表面領域が存在するか否かを判定条件とすることができる。
(測定光源111)
各第一投光部110A、第二投光部110Bの測定光源111は、例えば白色光を出射するハロゲンランプである。測定光源111は、白色光を出射する白色LED(発光ダイオード)等の他の光源であってもよい。測定光源111から出射された光(以下、「測定光」と呼ぶ。)は、レンズ113により適切に集光された後、パターン生成部112に入射する。
パターン生成部112は、例えばDMD(デジタルマイクロミラーデバイス)である。パターン生成部112は、LCD(液晶ディスプレイ)、LCOS(Liquid Crystal on Silicon:反射型液晶素子)又はマスクであってもよい。パターン生成部112に入射した測定光は、予め設定されたパターン及び予め設定された強度(明るさ)に変換されて出射される。パターン生成部112により出射された測定光は、複数のレンズ114、115により受光部120の観察・測定可能な視野よりも大きい径を有する光に変換された後、ステージ140上の測定対象物WKに照射される。
なお図4の配置は一例であり、光学系部材の配置は適宜変更できる。例えばパターン生成部112をレンズ115の出射面側に配置してもよい。
(受光部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に出力される。
(測定制御部150)
測定制御部150には、A/D変換器(アナログ/デジタル変換器)及びFIFO(First In First Out)メモリが実装される。カメラ121から出力される受光信号は、光源部300による制御に基づいて、測定制御部150のA/D変換器により一定のサンプリング周期でサンプリングされると共にデジタル信号に変換される。A/D変換器から出力されるデジタル信号は、FIFOメモリに順次蓄積される。FIFOメモリに蓄積されたデジタル信号は画素データとして順次制御手段200に転送される。
(制御手段200)
図1に示すように、制御手段200は、CPU(中央演算処理装置)210、ROM220(リードオンリメモリ)、作業用メモリ230、記憶部240及び設定部250を含む。制御手段200には、PC(パーソナルコンピュータ)やワークステーション等のコンピュータが利用できる。また、専用のコントローラを用意してもよい。あるいは、汎用のコンピュータと専用のコントローラを組み合わせて、制御手段200を構築してもよい。この例では、制御手段200を、形状測定プログラムをインストールしたコンピュータで構成している。
設定部250は、操作デバイス450で操作される。操作デバイス450は、キーボード及びポインティングデバイスを含む。ポインティングデバイスとしては、マウス又はジョイスティック等が用いられる。また操作デバイス450を表示部400と統合することもできる。例えば表示部400にタッチパネルを用いることで、表示部に操作部の機能を持たせることが可能となる。
ROM220には、システムプログラムが記憶される。作業用メモリは、RAM(ランダムアクセスメモリ)からなり、種々のデータの処理のために用いられる。記憶部240は、ハードディスク等からなる。記憶部240には、画像処理プログラム及び形状測定プログラムが記憶される。また、記憶部240は、測定制御部150から与えられる画素データ等の種々のデータを保存するために用いられる。
CPU210は、測定制御部150から与えられる画素データに基づいて画像データを生成する。また、CPU210は、生成した画像データに作業用メモリ230を用いて各種処理を行うと共に、画像データに基づく画像を表示部400に表示させる。さらに、CPU210は、後述するステージ駆動部145に駆動パルスを与える。さらにこのCPUは、後述する立体形状データ生成部212と、判定処理部214と、合成処理部216と、三次元画像合成部213と、深度拡張処理部215の機能を実現する。
(表示部400)
表示部400は、撮像手段100で取得された測定画像や、撮像された観察画像を表示させるための部材である。表示部400は、例えばLCDパネル又は有機EL(エレクトロルミネッセンス)パネルにより構成される。
(ステージ140)
ステージ140は、上面に測定対象物WKを載置するための部材である。このステージ140は、図1に示すようにユーザが手動でステージ140を移動させるためのステージ操作部144と、電動でステージ140を移動させるためのステージ駆動部145を備える。
図4において、測定対象物WKが載置されるステージ140上の平面(以下、「載置面」と呼ぶ。)内で互いに直交する2方向をX方向及びY方向と定義し、それぞれ矢印X、Yで示す。ステージ140の載置面に対して直交する方向をZ方向と定義し、矢印Zで示す。Z方向に平行な軸を中心に回転する方向をθ方向と定義し、矢印θで示す。なお、θステージの回転軸はZ方向に平行な光軸と平行である必要はなく、例えば当該光軸に対して45°傾いていてもよい。
ステージ140は、XYステージ141、Zステージ142及びθステージ143を含む。XYステージ141は、ステージ平面方向駆動部として、X方向移動機構及びY方向移動機構を有する。Zステージ142は、Z方向移動機構を有する。θステージ143は、θ方向回転機構を有する。XYステージ141、Zステージ142及びθステージ143により、ステージ140が構成される。また、ステージ140は、載置面に測定対象物WKを固定する固定部材(クランプ)をさらに含む。ステージ140は、載置面に平行な軸を中心に回転可能な機構を有するチルトステージをさらに含んでもよい。
ステージ140のX方向移動機構、Y方向移動機構、Z方向移動機構及びθ方向回転機構には、それぞれステッピングモータが用いられる。ステージ140のX方向移動機構、Y方向移動機構、Z方向移動機構及びθ方向回転機構は、図1のステージ操作部144又はステージ駆動部145により駆動される。
ユーザは、ステージ操作部144を手動で操作することにより、ステージ140の載置面を受光部120に対して相対的にX方向、Y方向もしくはZ方向に移動させるか、又はθ方向に回転させることができる。ステージ駆動部145は、制御手段200より与えられる駆動パルスに基づいて、ステージ140のステッピングモータに電流を供給することにより、ステージ140を受光部120に相対的にX方向、Y方向もしくはZ方向に移動させるか、又はθ方向に回転させることができる。
ここで図4に示すように、左右の投光部110の中心軸と受光部120の中心軸は、ステージ140の焦点が最も合うピント平面で互いに交差するように、受光部120、投光部110、ステージ140の相対的な位置関係が定められている。また、θ方向の回転軸の中心は、受光部120の中心軸と一致しているため、θ方向にステージ140が回転した際に、測定対象物WKが視野から外れることなく、回転軸を中心に視野内で回転するようになっている。また、Z方向移動機構に対して、これらXYθ及びチルト移動機構は支持されている。すなわち、ステージをθ方向に回転させたり、チルトさせた状態であっても、受光部120の中心軸と、Z方向の移動軸にずれが生じない構成になっている。このようなステージ機構により、測定対象物WKの位置や姿勢を変化させた状態であっても、Z方向にステージ140を移動させて異なる焦点位置の画像を複数撮像して合成することが可能となる。なお、本実施形態ではステッピングモータにより駆動させることが可能な電動ステージを例に説明したが、手動でのみ移動させることが可能な手動ステージであっても良い。
(光源部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から発生される光(以下、「照明光」と呼ぶ)は、導光部材(ライトガイド)を通して撮像手段100の照明光出力部130から出力される。
照明光出力部130から出力される照明光は、赤色光、緑色光及び青色光を時分割で切り替えて測定対象物WKに照射する。これにより、これらのRGB光でそれぞれ撮像された観察画像を合成して、カラーの観察画像を得て、表示部400に表示させることができる。
このようにしてカラーの観察画像を表示させる際、照明光の色を切り替える切替周波数を、表示部400で表示内容を更新する(画面を書き換える)際のフレームレートと一致させると、フレームレートが低い場合(例えば数Hz程度)は、ちらつきが顕著となる。特に、RGBの原色によるカラー切り替えが目立つと、ユーザに不快感を与えることがある。そこで、RGBの照明光を切り替える切替周波数を、ユーザが認識できない程度の高速(例えば数百Hz)とすることで、このような問題を回避できる。照明光の色の切り替えは、照明光出力部130等により行われる。また、高速で照明光のRGBを切り替えつつも、実際に撮像手段100で測定対象物WKを撮像するタイミングは、表示部400の表示内容の更新のタイミングとする。すなわち、観察像の撮像のタイミングと照明光の切り替えのタイミングは完全に一致させる必要はなく、撮像素子によるRGBの観察画像の撮像が可能な程度に、いいかえると照明光のRGBの切り替え周期が撮像周期の倍数となるようにリンクさせることで対応できる。この方法であれば、照明光の切り替えのタイミングを高速化することができ、撮像素子121aで処理可能なフレームレートを向上させることなく、ユーザに与える不快感を低減できる。
図1の例では観察用照明光源320を撮像手段100に対して外付けとして、光源部300に観察用照明光源320を配置している。このようにすることで、観察用照明光源320の発熱が撮像手段100の光学系に影響を与える事態を回避できる。ただ、発熱量の小さい観察用照明光源を利用したり、あるいは相応の放熱機構を撮像手段側に設ける等して、撮像手段側に観察用照明光源を設けることもできる。この場合、照明光出力部に観察用照明光源を組み込む等、照明光出力部と観察用照明光源を一体化することが可能となり、光源部と撮像手段とを光学的に接続するための導光部材を不要とでき、構成を簡素化できる。同様に投光部についても、投光用光源を撮像手段に内蔵したり、あるいは光源部側に外付けとすることもできる。
図4の照明光出力部130は、円環形状を有し、受光部120を取り囲むようにステージ140の上方に配置される。これにより、影が発生しないように照明光出力部130から測定対象物WKに照明光が照射される。また照明光出力部130は、円環形状のリング照明とする他、同軸落射照明、側射スポット照明、透過照明等としたり、これらの組み合わせとすることもできる。また投光部110から均一光を照射して照明光とすることで、照明光出力部を省いてもよい。例えば投光部110として、二次元アレイを利用した白パターン画像投影を可能とすることで、投光部110を照明光出力部に兼用できる。このように、投光部110の二次元アレイの白パターン画像投影を観察用照明光源として使用する場合は、二次元アレイを透過又は反射した光を拡散板を通して測定対象物WKに投影することにより、二次元アレイの画素格子が測定対象物WKに映りこまないようにしてもよい。
(GUIの例)
形状測定装置は、制御手段200であるPCに形状測定装置500を操作するための操作プログラムをインストールしている。表示部400には、形状測定プログラムを操作するためのGUI(Graphical User Interface)が表示される。このようなGUI画面の一例を図5に示す。この例においては、表示部400において、第一投光部110Aから第一測定光が照射された測定対象物WKの第一測定画像S1と、第二投光部110Bから第二測定光が照射された測定対象物WKの第二測定画像S2とが並ぶように、表示させることができる。この例では、表示部400の左側に設けられた画像表示領域410の、右側に第一表示領域416を、左側に第二表示領域417を設けている。このような2画面表示とすることで、各測定光で得られる測定画像の様子、特に影となる領域等を対比しながら確認できる。なお、画像表示領域の分割例は、このように左右に並べる構成に限らず、上下に並べる、あるいは別画面として構成する等、任意の構成が適宜利用できる。
また形状測定装置の操作プログラムには、表示中の画像を、観察画像と測定画像とに切り替え可能な画像切替手段が設けられている。この例では、画像切替手段として、「観察画像」ボタン427を押下すると、観察用照明光源を用いて撮像した観察画像が画像表示領域410に表示され、また「測定画像」ボタン428を押下すると、測定光投光手段を用いて取得した測定画像が画像表示領域410に表示される。ユーザは、図1の制御手段200の操作デバイス450でもって、GUIに設けられた操作領域420を操作して、例えば明るさ調整を行うことにより、第一投光部110Aや第二投光部110Bから出射される測定光の明るさ又は対応するカメラ露光時間を変更することができる。ここでは、測定光の明るさを変えるパラメータを、カメラの露光時間としている。また必要に応じて、観察画像の撮像条件を設定する。図5の画像表示領域410の上段には、このような観察画像の撮像条件を設定するための観察画像撮像条件設定手段490が設けられている。観察画像撮像条件設定手段490は、例えば観察画像を撮像するシャッタースピード切り換えや撮像の倍率、フォーカス調整等の設定を含んでいる。図5に示す例では、撮像手段の明るさを「オート」又は「マニュアル」から選択する。「マニュアル」を選択した場合は、カメラ明るさ調整スライダでもって撮像手段の明るさを調整する。
上記のように、画像表示領域410には、第一投光部110A、第二投光部110Bの各々により測定光を照射された場合における測定対象物WKの画像が並ぶように表示できる。したがって、ユーザは、画像表示領域410に表示された測定対象物WKの画像を見ながら、明るさ調整スライダ444、446の位置をそれぞれ移動させることにより、第一投光部110A、第二投光部110Bの各々から出射される測定光の明るさ又はそれぞれの投光部110に対応したカメラ露光時間を適切に調整することができる。
また、第一投光部110A、第二投光部110Bから出射される測定光の適切な明るさと照明光出力部130から出射される照明光の適切な明るさ又はそれぞれの照明に対応したカメラ露光時間との間に相関がある場合がある。この場合、第一投光部110A、第二投光部110Bの各々から出射される測定光の明るさ又はそれぞれの投光部110に対応したカメラ露光時間は、照明光出力部130から出射される照明光の明るさ又は照明光に対応したカメラ露光時間に基づいて自動的に調整されてもよい。
あるいは、照明光出力部130から出射される照明光の明るさ又は照明光に対応したカメラ露光時間に基づいて、第一投光部110A、第二投光部110Bの各々から出射される測定光の明るさ又はそれぞれの投光部110に対応したカメラ露光時間を適切にするための調整ガイドが表示部400に表示されてもよい。この場合、ユーザは、調整ガイドに基づいて明るさ調整スライダ444、446の位置をそれぞれ移動させることにより、第一投光部110A、第二投光部110Bの各々から出射される測定光の明るさ又はそれぞれの投光部110に対応したカメラ露光時間を適切に調整することができる。
光の照射方向が異なれば、光の反射方向も異なるため、結果として得られる画像の明るさは、同じ部位であっても光の照射方向によって異なる。すなわち、測定に適した測定光の明るさ、撮像素子の露光時間は照射方向によって異なることになる。本実施形態では、複数の第一投光部110A、第二投光部110Bから光を照射して撮像されたそれぞれの画像の明るさを個別に調整可能とすることにより、照射方向毎に適切な測定光の明るさ又は露光時間を設定することができる。また、明るさ調整中の画像は、画像表示領域410に更新されながら表示されるため、調整後の画像を確認しながら明るさを調整できる。この際に、画像表示領域410に表示された画像の中で、明るすぎて白とびしている部分や、暗すぎて黒つぶれしている部分を識別可能に表示することで、ユーザにとって明るさが適切に調整できているか否かをより判り易く表示することも可能である。
(テレセントリック両側投光光学系)
ここで、テレセントリック両側投光の光学系の模式図を図6に示す。この図に示すように、ステージ140上に載置された測定対象物WKに対して投光する投光部120を構成する投光光学系として、第一投光部110Aで構成される右投光光学系と、第二投光部110Bで構成される左投光光学系がそれぞれ配置される。このように投光光学系を左右にそれぞれ設けることで、パターン光が影になって測定不能となる領域を低減できる等の利点が得られる。
一方、受光120を構成する受光光学系は、低倍率用撮像素子120Aと、高倍率用撮像素子120Bを備えている。中央のプリズム124の上方には、二分岐両側テレセントリック受光レンズ125が設けられている。またプリズム124の右側には、高倍率用撮像素子120Bが配置される。なお投光光学系は、図6に示すように、視野よりも広めに照射されている。
受光光学系は、受光レンズ及びカメラユニットで構成される。受光レンズは精度を優先し、固定倍率のテレセントリック光学系としているが、ズームレンズとして広い倍率をカバーしても良い。形状測定装置は二分岐の固定焦点両側テレセントリック光学系を採用しており、カメラが低倍率用カメラ、及び高倍率用カメラの2個構成となっている。これにより、ズームレンズのような機械的な切り替えではなく、電気的な切り替えによる倍率変更が可能となり、機械位置決め精度に起因する測定精度ずれ等が発生しない、安定した測定性能が実現できる。
左右両側投光による測定範囲について、図7の模式図に基づいて説明する。形状測定装置では、影領域(測定不能領域)を最小限とすべく、受光レンズを挟んで左右対称な方向からパターン投光が可能な構成としており、左右にそれぞれパターン投光光学系を配置している。
受光レンズには、二分岐両側テレセントリック受光レンズ125を採用しており、測定対象物WKの高さによる倍率変化が無い、真上から見た歪みの無い画像が取得できると共に、両側テレセントリック投光レンズの構成と合わせると、視野内どこでも投受光角度が一定であるという測定設定をシンプルにできる効果が発揮される。二分岐両側テレセントリック受光レンズ125は図7に示すように、2倍率が同軸な視野を有しており、倍率を切り替えても視野調整を不要にできるメリットがある。
左右投光レンズ116からは、平行な光束として二次元パターン光が、測定対象物WKに対して左右均等な投光角度から照射される。左右から受光レンズを挟んで対象に二次元パターン光を照射することの利点としては、前述の影を最小にする効果だけでなく、左右それぞれの測定結果を合成(例えば平均処理など)することにより、左右それぞれに発生する誤差を軽減できるという点が挙げられる。
左右投光と測定範囲の関係において、図7の模式図に示すように、測定視野(XY方向)の広さは、受光レンズの光束の幅(図7における細線(低倍率)もしくは太線(高倍率)な光線の幅)で決定され、1組のパターン投影を用いた高さ測定の範囲については、投光と受光の関係性から決定される。図7における点線枠の領域のように、受光光束と左右からの投光光束の共通領域として深度測定範囲を定義する。すなわち、点線枠で示す左右投光照射の共通領域が、測定可能な高さのレンジを示す。このように深度測定範囲を決定することで、深度測定範囲の中であればどこで測定しても、左右からの光の当たり方が均一であり、また、左右それぞれの測定を平均化することで計測が安定する効果を深度測定範囲全域で実現できる。
(下ヘッド102)
ステージ140は、ベース筐体149に連結されている。ベース筐体149やステージ140は、下ヘッド102としてユニット化されている。この下ヘッド102は、上ヘッド101と接続されている。ここで上ヘッド101と下ヘッド102を接続した形状測定装置100の外観側面を図8に、下ヘッド102の部構成を図9に、それぞれ示す。上ヘッド101は、投光部110及び受光部120を収容する。また下ヘッド102は、XYステージ141、Zステージ142、スケールユニット160、ステージ駆動部145、ベース筐体149、及び床面に設置される土台部151とを備える。ステージ140は、XYステージ141とZステージ142で構成される。ベース筐体149は、土台部151と上ヘッド101を連結する。なお、この構成は一例であり、 例えば上ヘッドと下ヘッド102を一体に構成することもできる。
下ヘッド102は、ステージ駆動部145を通じて撮像手段100の測定制御部150(上ヘッド101側)と電気的に接続される。またベース筐体149での機械的位置決め、及び位置決めボルトによって機械的に締結される。ベース筐体149に内蔵されたZステージ142から、ステージ支持部152を介して、XYステージ141を保持している。このXYステージ141の高さを、高さ検出用のスケールユニット160によって検知することで、測定時のステージ面高さを正確に認識することが可能となる。
(スケールユニット160)
スケールユニット160は、センサ移動部161と、スケール部162を備える。センサ移動部161は、図9に示すように、ステージ支持部152の背面側に連結されて、ステージ支持部152と共に移動する。一方スケール部162は、ベース筐体149に固定されて、センサ移動部161の位置を検出する。このようにセンサ移動部161をスケール部162に沿って移動させて、受光部120の光軸方向におけるステージ140と受光部120との相対的な距離を検出する。この構成では、センサ移動部161がスケール部162に沿って摺動する摺動面が、ステージ140の高さすなわちワーキングディスタンスを測定する測定軸となる。図9のように、光軸の延長線と測定軸とを一致させることで、誤差の少ない測定が実現される。
(光軸延長線と測定軸の関係)
ステージ140の昇降高さを測定する構成において、図10Aに示すように、光軸延長線と測定軸とが離間していると、測定誤差が生じ易くなる。光軸延長線と測定軸との距離をaとし、測定軸が光軸延長線に対して角度θだけ傾斜しているとすると、測定誤差はΔ=a・tanθとなる。一方、図10Bに示すように、光軸延長線と測定軸を同一面とすることで、アッベの原理によって誤差を、ほぼ無視できる程度に低減することができる。
なお、光軸延長線と測定軸を完全に一致させなくとも、光軸延長線と測定軸との距離を小さくすることで誤差を低減する効果が得られる。本発明においては、図10Bに示すように、少なくとも撮影視野内に測定軸を配置することで、測定軸が光軸延長線に対して傾斜することによって発生する誤差を低減できる。本明細書において、光軸を延長した光軸延長線の近傍にセンサ移動部を配置するとは、少なくとも撮影視野をステージに投影した投影面内にセンサ移動部が配置されていることを意味する。
センサ移動部161は、エンコーダ部で構成することが好ましい。センサ移動部161が移動するスケール部162の距離測定面に、等間隔でマーク(例えば凹部)を設けておき、エンコーダ部でこの数をカウントすることで、正確な移動距離を算出することが可能となる。
(スケールユニット160)
本実施形態に係る形状測定装置においては、センサ移動部161とスケール部162とで、ユニット状のスケールユニット160を構成している。このようなスケールユニット160の例を、図9~図12に示す。スケールユニット160は、スケール部162と、センサ移動部161としてエンコーダ部を備える。エンコーダ部は、スケール部162に対して摺動するようスライド自在に支承されている。エンコーダ部とスケール部162との接合面を、距離測定面としている。
スケールユニット160のセンサ移動部161は、上ヘッド101の受光光学系の光軸と略一致する箇所に配置される。このように受光部120の光軸延長線上、すなわち視線の直下でXYステージ141の高さを検出することで、実際の高さと検出された高さとの誤差を最小にできるメリットがある。ただ、厳密に受光部120の光軸延長線上に、センサ移動部161の距離測定面を一致させる必要はなく、光軸延長線の近傍に配置できれば足りることは上述の通りである。
また、XYステージ141内部にはステージ140の傾斜を検出可能な傾斜センサを設けてもよい。さらにZステージ高さの検出において、この傾斜センサの測定結果を利用することも可能である。
図8及び図9に示すように、ステージ駆動部145が、スケールユニット160に対してベース筐体149側に配置されている。これによって高荷重なXYステージ141の剛性を維持しながら、Z方向に長ストローク稼働するステージ構成が実現されている。通常、高い剛性を維持したステージでは、クロスローラガイドやリニアガイドを用いられるところ、モーメント剛性を維持する観点からは、可動部の根元には十分な幅を持たせることが重要となる。この幅とストローク長との和が必要なガイド長となるため、通常は軽量なスケール部の可動部に比べて、Zステージガイドは長尺となる。そこで本実施形態においては、距離測定面と光軸方向駆動部146を独立に配置することで、長ストロークながら低床な筐体設計が可能となり、結果的に床振動等の外乱に対してより安定した計測器が実現できるメリットがある。
なお、本実施例では、スケールユニット160をベース筐体149側に配置されている例を示したが、投光部、受光部が設けられた上ヘッド側に受光部の光軸と一致させて配置するようにしてもよい。特にステージ側でなく受光部側を駆動させる際には、駆動させる受光部側の移動量をスケールユニットで測定するように配置することが好ましい。
一方で、センサ移動部161と光軸方向駆動部146を独立して配置することの欠点として、1方向ガイドを二重で構成する点が考えられる。距離の離れた2箇所に独立した直動ガイドを配置することで、お互いの真直度がクロストークし、コジル、直進性が悪化するなどのデメリットが考えられる。そこで、本実施形態に係る形状測定装置ではこれらの点に鑑みて、図9~図12等に示すように、スケールユニット160とステージ支持部152との接続を磁力で行う構成とし、強締結を避けたロバストな構成を実現している。
(連結部)
図9に示すように、スライド移動するスケール部162の連結に磁石を使用している。またこの磁石面の締結には、一方を球状体163とし、他方を平板状の板材164とし、球状体163の球面で板材164の平板に点接触させた吸着としている。ここでは、球状体163を磁性体として、板材164を永久磁石製としている。球状体103は、保持部167で保持され、保持部167がステージ支持部152に固定される。さらに、平滑面を有する板状部材165を介在させている。
(球状体163の点接触吸着)
球状体163の点接触の状態を図13A~図13Bに示す。これらの図において、図13Aは面同士の接触状態を、図13Bは面と球の接触状態を、それぞれ示している。磁力面同士の締結では、磁力線の集中する中央部に磁石同士がセンタリングされる。このため、図13Aに示すように平面同士の接触では、ステージ140のローリング(XY方向へのずれ)に伴い、可動部に応力がかかる。図において右上の矢印に示すようにステージ140が右側にずれると、このステージ140に吸着しているクロスハッチングで示す磁石が、下側に引っ張られ、この結果斜線で示す部材に応力が印加される。
これに対し、図10に示す本実施形態に係る形状測定装置では、球状体163の点接触吸着を採用している。この球状体163の球面と板材164の平面の接触部分を拡大した模式図を図13Bに示す。このように球状体163の点接触吸着を利用することにより、ステージ140のローリングに伴い球状体163の球面が滑るため、XY方向の応力を軽減しての測定が可能となる。
また、面接触の場合には図14Aに示すように、ステージ140のピッチングやヨーイングにより誤差が発生する。図14Aにおいて吊り下げ側の直径dとすると、軸が角度θだけ傾いた場合、d/2×sinθの誤差が生じる。これに対し、球接触の場合は、図14Bに示すように、磁石が浮いて吸収するため、浮きによる誤差は比較的軽微なcosθに抑えることができる。
(板状部材165の挟み込み)
一般に磁石の表面には錆防止の目的でめっき処理がなされる。しかしながら、めっき処理した球状体163の球面が摺動することで、摩擦によりめっき166が剥がれて、錆が発生する可能性がある。この結果、図15Aに示すように錆に球状体163が乗り上げて浮きが発生する。また、図15Bに示すようにめっき166の膜厚のバラツキが存在する。このため、球状体163の球面がめっき166表面の不均一さによって微小に上下動する。このように、めっき処理によって測定精度に影響を与えてしまう。そこで本実施形態においては、図15Cに示すように板材164の磁石と球状体163との間に平滑で安定性の高い板状部材165を挟み込むことで、測定への影響を低減することができる。
(フック部材168)
また、磁石での吸着構造とした場合には、衝撃等によって吸着部分の分離によりセンサ移動部161の落下が想定される。特に分離後の落下ストロークが比較的長く、スケール部とのクリアランスも狭い構成においては、センサ移動部161の落下による衝撃でガラス製のスケール部が破損される可能性がある。そこで本実施形態においては、図18の断面図に示すようにセンサ移動部161の落下を阻止するフック部材168を設けている。この図に示すように、球状体103を保持する保持部167は、上面に段差部167bを設けており、フック部材168は、この段差部167bの上面に係止される係止片168bを有している。さらにフック部材168はセンサ移動部161と固定されている。図の例では、フック部材168の下方が磁石製の板材164の底面と固定されている。このフック部材168は、係止片168bが段差部167bに係止された状態では、図18に示すように球状体103は、板材164上面の板状部材165の上面と離間されている。そして球状体103が板状部材165と吸着された状態で、係止片168bの段差部167bとの係止状態が解除される。これにより、球状体103と板状部材165との吸着が解除された状態でも、係止片168bによって段差部167bと係止される結果、センサ移動部161の落下が阻止される。また、ステージ140の降下によって球状体103が降下されると、球状体103が再度板状部材165を介して磁石製の板材164と吸着される。このように、フック部材168によってセンサ移動部161の落下を阻止すると共に、吸着部分が分離しても、自重以上の吸着力で点接触部分を自己復帰できる。
スケールユニット160は、全体を薄型化している。加えて、図11及び図12に示すように、スケール部162の断面をコ字状として、スケール部162にエンコーダ部が側面視において重なるようにしている。これによって、スケール部162とエンコーダ部が摺動する距離測定面を、受光部120の光軸と一致しやすくなるようにしている。
(ステージ側穴部140b、土台側穴部151b)
さらに、このスケールユニット160は、図16A及び図16Bの断面図に示すように、ステージ140の底面側に潜り込むように構成している。一般に、距離測定面と光軸とを一致させるように配置すると、図17A、図17Bに示すように、ステージ140をストロークさせる範囲の概ね2倍の高さが必要となって、形状測定装置が大型化してしまう。これに対し、本実施形態ではステージ140やこれを支持するステージ支持部152の底面側に空間を形成して、ステージ140の高さによってはスケールユニット160の一部がステージ140内に重なるようにしたことで、形状測定装置の筐体の小型化や低床化を図ることが可能となる。図16A及び図16Bの例では、ステージ支持部152の底面側に、スケール部162が部分的に侵入可能なステージ側穴部140bを形成している。これにより、ステージ140が下降した位置で、スケール部162の上端がステージ支持部152等と干渉することを避けることができる。加えて、土台部151側には、センサ移動部161が少なくとも部分的に侵入可能な土台側穴部151bを形成している。これにより、ステージ140が降下した位置で、センサ移動部161が土台部151と干渉する事態を避けることができる。スケールユニット160はXYステージ141の底面を支持するステージ支持部152に潜り込むように構成される。これによって、Z方向へのストローク量を最大にしながら、筐体全体を低床化できる利点が得られる。
(スケールカバー147)
また、図8に示すように、スケールユニット160の周囲は、スケールカバー147で覆われている。これにより、昇降するステージ140の下方の空間が表出することを防止して、異物の侵入やユーザの接触を防ぐことができ、また工場出荷時の較正状態に狂いが生じないように維持することが可能となる。このスケールカバー147も、図16A、図16Bに示すように、土台部151に潜り込むように構成されており、ストロークを最大にしながらの筐体の低床化に貢献している。
(クロスローラガイド)
一般にスケールユニットのような高精度エンコーダ部分には、スライドされる部位の誤差低減のため、クロスローラガイドが用いられる。このようなクロスローラガイドを用いたスケールユニットXの例を図19A~図19Dに示す。これらの図に示すスケールユニットXは、スケール部162Xに沿って摺動するセンサ移動部161Xを2本のガイドで挟み込む構造であるため、図19Aにおいて破線で囲む領域で示す離れた2面に、それぞれ高精度な加工が必要となる。さらに、与圧調整などの調整も必要となる。加えて、2本のガイド間を繋ぐ部材が熱膨張するため(例えば図19Aにおいて一点鎖線で囲んだ領域)、温度変化によりピッチング・ヨーイング・ローリングなどの種々性能が変化する。またクロスローラガイドは、剛性保持目的で接触部分の長さがある程度必要なため、実際の可動領域に対して機器構成が長くなる傾向にある。すなわち、図19Bに示すように可動側と固定側の各ガイドが同じ長さのため、図19C~図19Dに示すように上方及び下方に可動した際には可動側が固定側を突出することとなり、これらの突出量を考慮した領域の確保が必要となって、長さ方向に大きくなる問題があった。このように、高精度なエンコーダを搭載する形状測定装置は、測定範囲に対して機器が大きくなり、またコストや製造期間が増大し、さらに設置環境に応じて種々の検査や調整が必要となるといったデメリットが存在していた。
(直動機構170)
これに対して本実施形態に係る形状測定装置では、スケールユニット160の摺動機構として、このようなクロスローラガイドに代えて、図20A~図20Dに示すように、リニアガイド171と、シャフトと磁石によるサブガイド174とを組み合わせた直動機構170を採用している。図20Aは、図20Bのスケールユニット160のA-A’線における断面図を示している。この図に示すように、スケールユニット160は、図20Aの断面図に示すように、メインとなるリニアガイド171(図において左側)とサブガイド174(図において右側)を備える。リニアガイド171は、円柱状のシャフト172と、その周囲を摺動するリング部173で構成している。これにより、回転方向の規制を受けず、また介在する部材もないため、熱膨張の影響を受け難い利点が得られる。
一方のサブガイド174側では、図20Aにおいて右側に示すように、磁石175による吸着により、回転方向のみを規制している。また、サブガイド174を挿入する穴部176は、サブガイド174を構成するシャフトの外径よりも大きめに形成して、サブガイド174の形成精度公差を吸収している。
また、図19C、図19Dで示したクロスローラガイド169を用いたスケールユニット160Xでは、可動側と固定側のガイドを同じ寸法としたことで、可動時に固定側領域を飛び出すため、飛び出し分の領域の確保が必要となっていたのに対し、図20B~図20Dに示すスケールユニット160は、センサ移動部161を固定する可動部を小型化できるため、可動時の飛び出しをなくして小型化できる利点が得られる。
さらにこの構成では、図20A~図20Dに示すように、基準となる高精度なリニアガイド171と、主としてローリングを規制するサブガイド174を利用することにより、リニアガイド171側の接触部の長さを減らしてコンパクト化を図ることができる。また、メインとなるリニアガイド171側で精度を担保することで、加工も容易となる。さらに、組立時の調整も不要とでき、加えて系を単純化することにより熱膨張による誤差の低減化を実現できる。
以上の例では、センサ移動部161をステージ140側に連結し、スケール部162をベース筐体149側に固定する構成を説明した。ただ本発明はこの構成に限らず、例えばスケール部をステージ側に連結し、センサ移動部をベース筐体側に固定する構成でも、同様の効果を得ることができる。この場合において、ベース筐体側に固定されるセンサ移動部は、スケール部に対して相対移動する。
(XYステージ141)
XYステージ141は内部に傾斜センサ、ステージ駆動部145(マイコン・FPGA・モータードライバ)を有する。またXYステージ141は、ステージ支持部152を通じて電気的にベース筐体149内部のステージ駆動部145と接続されている。ステージ支持部152とXYステージ141との電気接続をコネクタで構成することで、XYステージ141も着脱可能な構成となり、チルト・回転ステージといった異なる視野調整ステージに切り替えることも可能となる。
(縞投影法による計測の流れ)
次に、図4に基づいて、形状を測定する動作の流れの概要を説明する。なお、ここでの説明はすべてZステージ142を高さ方向に固定した「ワンショット測定」におけるものとする。
まずユーザは、計測したい測定対象物WKをステージ140上に配置し、表示部400に映し出された光学画像を見ながら焦点、視野位置、明るさなどを照明条件調整部で調節する。ここでは照明光出力部130として、リング照明を用いている。ただ照明光出力部130は、リング照明に限らず、例えば投光系照明部を構成する投光部110から均一照明を照射しても良い。
次に、照明光をリング照明から投光部110に切り替えて、投光系照明光の明るさを調整する。投光部110による照明光は斜めから当たるため、測定対象物WKの形状による影が発生する。また、測定対象物WKの表面状態によっては、照明光を多少傾斜させたほうが良好な見え方になる場合もある。照明光を傾斜させるには、例えばステージ140を傾斜可能なチルトステージを用いたり、投光部110に傾斜機構を設ける。また照明光の影や表面状態の影響を抑えるために、必要に応じて測定対象物WKの位置や姿勢を再調整する。
このような投光部110での調整工程において、測定対象物WKを移動させた場合は、再びリング照明に切り替えて、リング照明光での測定対象物WKの見え方の確認や、リング照明光の明るさの再調整などを行う。なお、この作業は、不要であれば省略することもできる。
測定対象物WKの姿勢、位置、焦点、及び計測用の照明条件が確定したら、制御手段200から、測定開始の指令を測定制御部150に送信する。制御手段200は、上述の通り形状測定プログラムをインストールしたコンピュータで構成される。この指令を受けて、測定部は投光部110内のパターン生成ユニットと撮像手段100を同期制御し、複数のパターンを投影しながら、測定対象物WKの複数の画像を撮像手段100で取得し、制御基板310にて適切な処理を施した後、制御手段200に送信する。
(高さ画像の生成)
制御手段200が受け取った画像データは、形状測定プログラム内の計測アルゴリズムで適切に画像処理され解析されて、立体形状データが生成される。具体的には、立体形状データ生成部212bにより、高さ情報を有する高さ画像が生成される。
(テクスチャ画像の生成)
一方で、測定対象物WKに照明光を照射し、測定対象物WKの表面状態を示す画像であるテクスチャ画像を撮像手段100で取得する。例えば、測定対象物WKにリング照明を照射したり、あるいは投光部110から、すべての画素をONにした投光パターン(全白)を照射する等して、均一な照明光で光学画像を撮像し、テクスチャ画像とする。
またテスクチャ画像は、一枚のみならず、複数枚撮像してもよい。この際、複数のテクスチャ画像を合成してHDR画像や深度合成画像を生成することもできる。HDR(ハイダイナミックレンジ)画像は、複数枚のテクスチャ画像をカメラの露光時間を変えて撮像した後、これらをハイダイナミックレンジ(HDR)合成して生成される画像である。また深度合成画像は、測定対象物WKの測定対象部分の高低差が被写界深度を超える場合、高さ方向を異ならせて個々に撮像した観察画像中から、焦点が合った部分だけを抜き出して合成した画像である。
(合成画像の生成)
得られたテクスチャ画像も、制御手段200に転送される。制御手段200は、テクスチャ画像と高さ画像を合成して合成画像を生成する。例えば、形状測定プログラムにて立体形状データである高さ画像にテクスチャ画像をマッピングして、三次元画像合成部で合成画像データを生成する。合成画像は、表示部400に表示される。この状態で、合成画像に対して所望の計測、解析を行うことができる。
(形状測定方法)
以上説明した合成画像を生成して形状測定を行う手順を、図21のフローチャートに基づいて説明する。まずステップS2101において、測定対象物WKをステージ140に置く。
次にステップS2102において、リング照明を使用して、測定対象物WKの位置、姿勢、焦点、明るさを調整する。
次にステップS2103において、投光系に切り替えて、投光系照明の明るさ、測定対象物WKの位置や姿勢を調整する。
次にステップS2104において、リング照明に再び切り替え、さらに投光系に切り替えて、見え方を確認する。
次にステップS2105において、見え方に問題はないか確認する。問題があればステップS2102に戻って、上記の処理を繰り返す。一方問題がなければ、ステップS2106に進み、計測開始ボタンを押す。
次にステップS2107において、投光系から縞パターンを投影、スキャンし、これと同期してカメラで測定対象物WKの複数枚の縞画像を取得する。ここで左右投光、HDR、その他の性能改善のため、本ステップを規数回繰り返してもよい。例えば露光時間を変えて複数回パターン光を投影することで、ハレーションの影響を軽減できる。
次にステップS2108において、リング照明を点灯し、測定対象物WKのテクスチャ面像を取得する。
次にステップS2109において、縞画像セットを計測アルゴリズムで処理し、立体形状データを生成する。
次にステップS2110において、立体形状データにデクスチャ画像をマッピングする。
次にステップS2111において、結果を表示させる。そしてステップS2112において、目的の箇所のデータが正しく取得できたか否かを判定し、否の場合はステップS213に戻って上記の処理を繰り返す。一方、取得できている場合はステップS2113に進み、計測用ソフトなどを使用して、各種計測、解析を実行する。
以上のようにして、形状測定装置を用いて合成画像を生成して、形状測定を行うことができる。なお図21のステップS2101とステップS2102は、順序を入れ替えても良い。その場合はまず計測設定(ステップS2102)にて測定対象物WKの姿勢、位置、焦点合わせを行い、テクスチャ画像取得(ステップS2101)では測定対象物WKの姿勢、位置、焦点を変更しないようにして、リング照明の明るさやテクスチャ種類の選択などのみを行うようにする。
(テクスチャ画像を取得する手順)
次にテクスチャ画像を取得する手順を、図22のフローチャートに基づいて説明する。この手順は、図21のステップS2102の工程を詳細に説明したものに相当する。まずステップS2201において、リング照明に切り替える。
次にステップS2202において、リング照明の明るさを調整する。そしてステップS2203において、明るさが適切かどうかを判定し、適切でない場合は ステップS2202に戻って処理を繰り返す。一方、明るさが適切な場合はステップS2204に進み、Zステージ142を移動させて、測定対象物WKの焦点位置を合わせる。さらにステップS2205において、焦点位置が合っているかどうかを判定し、合っていない場合はステップS2204に戻って処理を繰り返す。一方、焦点位置が合っている場合は、ステップS2206に進み、XY・θ・チルトステージを移動させて、測定対象物WKの位置、姿勢を合わせる。なお、これらのステップS2202~ステップS2206は、順序を適宜入れ替えてもよい。
次にステップS2207において、見たい部位が視野内収まっているかを判定し、収まっていない場合はステップS2206に戻って処理を繰り返す。一方、収まっている場合はステップS2208において、倍率を変更してサイズを調整する。
次にステップS2209において、倍率が適切か否かを判定し、否の場合はステップS2208に戻って処理を繰り返す。一方、倍率が適切な場合はステップS2210に進み、テクスチャ画像の種類を選択するか否かを判定する。否の場合はステップS2211に進んで通常画像を選択し、この処理を終了する。
一方、テクスチャ画像の種類を選択する場合は、ステップS2212に進み、深度合成を行うか否かを判定し、行う場合はステップS2213に進み、深度合成の設定を実行する。一方、行わない場合はステップS2214に直接ジャンプする。
次にステップS2214において、HDRを行うか否かを判定し、行う場合はステップS2215に進み、HDRの設定を実行する。一方、行わない場合はステップS2216に直接ジャンプする。
次にステップS2216において、テクスチャ画像の確認を行うか否かを判定し、行う倍はステップS2217に進み、テクスチャ画像のプレビューを表示させる。一方、行わない場合はこの処理を終了する。
次にステップS2218において、プレビュー表示されたテクスチャ画像の結果に満足したか否かを判定し、否の場合はステップS2212に戻って処理を繰り返す。一方、満足した場合は、この処理を終了する。以上のようにして、テクスチャ画像を取得することができる。
(測定設定の設定を行う手順)
立体形状データを生成するための測定設定は、投光部のパターン光の投光設定や、受光部の受光設定や撮像条件、照明部の照明条件等を含んでいる。これらの測定設定は、図1等の測定設定部255で設定される。ここで測定設定の設定を行う手順を、図23のフローチャートに基づいて説明する。この手順は、図21のステップS2103の工程を詳細に説明したものに相当する。
まずステップS2301において、計測用投光系(図4において左側投光系)に切り替える。次にステップS2302において、明るさを仮に調整する。
そしてステップS2303において、計測箇所に照明が当たっているか否かを判定し、否の場合はステップS2304において、θ・チルトステージを動かして、測定対象物WKの位置、姿勢を調整する。一方、計測箇所に照明が当たっている場合は、ステップS2306に直接ジャンプする。
次にステップS2305において、照明が当たったか否かを判定し、ステップS2304に戻って処理を繰り返す。一方、照明が当たっている場合はステップS2306において、計測箇所の明るさが適切か否かを判定する。否の場合は、ステップS2307において明るさを調整する。一方、照明が当たっている場合は、ステップS2309に直接ジャンプする。
次にステップS2308において、明るさが合っているかを判定し、否の場合はステップS2307に戻って処理を繰り返す。一方、明るさが合っている場合はステップS2309において、計測箇所に焦点が合っているかを判定する。否の場合はステップS2310において、ステージ140を動かして、計測箇所に焦点を合わせる。一方、明るさが合っている場合は、ステップS2312にジャンプする。
次にステップS2311において、焦点が合っているか否かを判定し、否の場合はステップS2310に戻って処理を繰り返す。一方、焦点が合っている場合はステップS2312に進み、総合判断を行う。ここでは、計測箇所の明るさ、姿勢、焦点が適切か否かを判定し、適切でない場合はステップS2313において、適切でないパラメータを確認し、適切な手順に戻る。戻る先は、適切でないパラメータに応じて、ステップS2304、ステップS2307、ステップS2310の何れかとなる。
一方、総合判断において適切と判定された場合は、ステップS2314に進み、計測用投光系(図4において右側投光系)に切り替える。次にステップS2315において、明るさを調整し、さらにステップS2316において、明るさが合ったか否かを判定する。合っていない場合はステップS2315に戻って処理を繰り返す。一方、明るさが合っている場合はこの処理を終了する。
なお、これらの手順において位置調整、姿勢調整、焦点調整、明るさ調整の順序は、適宜入れ替えることができる。
このようにして、測定設定を設定することができる。また測定設定は、ユーザが測定設定部255から自動で行う他、形状測定装置側で自動で行わせることもできる。
(深度方向の測定範囲拡張機能)
本実施形態においては、非接触測定方式として、三角測距方式に基づくパターン投影法を採用している。この方式では、1回の深度測定範囲が広い三角測距方式をベースにしながら、測定対象物もしくは形状測定装置の位置を物理的もしくは光学的に移動させて測定を繰り返し、測定結果を合成していくことで、1回の測定で実現できる深度測定範囲を、移動した分だけ拡張することが可能となる。この結果、高速に、かつ三角測距方式よりも広い範囲を測定可能となり、より広い視野を高い分解能で計測可能な形状測定装置や形状測定方法を実現できる。そして、深度方向の測定範囲を各視野において拡張することが可能となる。
実施形態1に係る形状測定装置は、図8、図9等に示すように、非接触で測定対象物の表面形状を測定可能であり、縞投影法を用いた三角測距方式で1回の測定で受光光学系視野内の各画素における高さ情報を取得することができる。また形状測定装置は、測定部と相対的に移動可能なステージ140を有しており、ステージ高さ読取軸と観察光軸とが共通の軸を有している。
この形状測定装置は、1つの上ヘッド101の内部に2つの倍率で観察可能な二分岐受光光学系を有している。これにより、同軸視野で倍率を切り替えた測定が可能となる。低倍率、高倍率の2倍率は同一の光軸を有している。この光軸と受光光学系の最良フォーカス面(合焦面)との交点を中心に、左右対称な方向に傾斜したパターン投光光軸を有する。このパターン投光光軸方向から、それぞれパターン投影を行い、複数の画像を受光光学系で撮像・解析して、高さ情報を算出する。
(測定範囲)
形状測定装置の合焦面と測定範囲は、図7に示すように、上ヘッド101は真上から真下を見下ろす方向に撮影視野を有している。上ヘッド101の下部に配置されたXYZステージ上の測定対象物を、真上から測定する形態となっている。ユーザは測定対象物をXYZステージの天面に配置し、XYステージ141を動かすことで視野を、Zステージ142を動かすことでフォーカスを調整することができる。あるいは、受光光学系側を移動させることでも、測定対象物と受光光学系との相対距離(ワーキングディスタンス)を変化させてフォーカスを調整することができる。なお、ここで言うフォーカスとは、受光光学系の合焦を意味する。この形状測定装置では、図7に示すように、高さ方向の深度測定範囲はこの合焦面を中心に上下に対象な一定の幅を持っている。ただ、対称であることは必須でない。
XYZステージは、Zステージ142が受光光軸と略一致する方向に配置されている。これによりZステージ142の移動のみで、光軸方向の測定対象物高さ(もしくは相対的な上ヘッド101と測定対象物の光軸方向の位置関係)を変更できる。また、Zステージ142の内部には、Zステージ142の移動距離を検出可能なスケールユニット160が配置されている。スケールユニット160は、図8、図9等に示す通り、上ヘッド101の視野直下に配置されている。このようにスケールユニット160が視野直下に配置されていることで、深度測定範囲と測定対象物の位置関係を最小の誤差で検出可能となる。一般に、検出を行いたい座標点に対して、検出を行うセンサの位置すなわち測定軸が、測定対象物の測定位置からオフセットしている場合は、アッベの原理に基づいて計測誤差が発生し得る。図10Aで示すように、測定したい位置と並列状に測定軸を配置する場合に、この状態が発生する。その一方でアッベの原理によれば、測定軸と測定対象物の測定位置とが同一平面の延長線上にあるときは、このような測定誤差を極減できる。すなわち、図10Bに示すように、測定したい位置と測定軸を直列状に配置する。
(深度拡張機能)
深度測定範囲を高さ方向に拡張するため、光軸方向駆動部146でもってステージ140と受光部120との相対距離を光軸方向に移動させる。受光部120は、所定の焦点深度を有しており、焦点深度により定まる一定範囲の高さ(深度測定範囲)でしかパターン画像を撮像できない。そこで、光軸方向駆動部146でもって深度測定範囲をシフトさせることで、測定可能な深度測定範囲を拡張できる。すなわち、同じ視野(受光部120の光軸方向と直交するステージ平面内)で生成した高さ画像を、対応するXY座標の画素毎に高さ方向に連結することで、深度測定範囲の制約を超える高さの合成高さ画像を得ることが可能となる。
このような深度拡張機能に際しては、同じ視野すなわちXY平面の範囲内で生成された高さ画像同士を連結することが必要となる。また、同じ条件で生成した高さ画像同士を連結する必要がある。具体的には、図7に示すような左右の投光部110からパターン光を投光する場合は、両側から投光して生成した高さ画像の場合は、両側投光の高さ画像同士を連結して合成高さ画像を生成する。またいずれか一方の投光部110を用いる片側投光で生成された高さ画像の場合は、同じく片側投光の高さ画像同士を連結する。この際、右側投光なら右側投光の高さ画像同士を、左側投光なら左側投光の高さ画像同士を、それぞれ連結する。
図7等の例では、Zステージの移動を伴いながら複数の測定を実行し、その測定結果を、測定を実行した各Zステージ高さを元に結合していくことで深度測定範囲を拡張できる。このような、Zステージ高さを固定した1回の測定を「ワンショット測定」と呼び、複数のZステージ高さで測定した結果を結合した測定を「深度拡張測定」と呼ぶ。
ここで、深度測定範囲の高さ方向拡張の概念を、図24A~図24Cを用いて説明する。図24A~図24Cは、高さA、高さB、高さCのそれぞれにおいて、左投光範囲と右投光範囲で規定される深度測定範囲を、破線の枠状で示している。
形状測定装置の有する深度測定範囲HIA(図24Aの点線枠で示す範囲)よりも高い構造を有する測定対象物WK2を測定する場合、Zステージ142を高さ方向に移動(高さA→B→C)することで、測定対象物WK2の各面を深度測定範囲に収めることが可能となる。(図24A~図24Cの太線)
このときに観察される光学画像を、図24A~図24Cに、また縞投影法で取得される縞画像を、図24D~図24Fに、それぞれ示す。図24A~図24Cにおいて、焦点の合った領域を模式的に斜線で示している。
図24A、図24Dでは、高さAで測定対象物の最低面に焦点が合っており、測定対象物の最下部の形状を測定することができる。また図24B、図24Eに示すようにZステージ142を少し下げた高さBでは、高さAでは深度測定範囲外(縞画像上で縞のぼけが大きい箇所、赤点線領域)だった箇所に焦点が合い、この面を中心に一定の幅に収まっている領域の形状を測定可能となる。さらにZステージ142を下げた高さCでは、図24C、図24Fに示すように測定対象物の最高点に存在する形状(赤点線)に焦点があり、この面を中心に一定の幅に収まっている領域の形状を測定可能となる。
この3つの高さにおいて、Zステージ142の高さは、スケールユニット160によって検出されており、ワンショット毎のステージ高さ座標を取得することが可能である。スケールユニット160は、ステージ140と受光部120の光軸方向との相対的な距離を示すスケール値を出力する。
ここで、3回の測定で得られたワンショット毎の測定結果を連結する手順を、図26A~図26Dの模式図に基づいて説明する。図26A~図26Dに示すように、ワンショット毎の測定で一定の高さ範囲(それぞれ図26Aは点線枠、図26Bは破線枠、図26Cは一点鎖線枠)の測定データが得られる。この際、ステージ140の相対的な移動量、もしくは絶対的なステージ高さを測定時に検出する。この検出された座標を測定データ原点の値としてオフセットさせることで、各ショットの相対関係が定義されることとなる。この結果を足し合わせることで、通常のワンショット深度測定範囲を拡張した連結測定データが得られる。
このように、スケールユニット160で各高さ画像が取得された時のスケール値を記憶し、合成時には各高さ画像の画素値をスケール値に基づいてオフセットして合成する。具体的には、合成処理部216は、各高さ画像が生成された際のスケールユニット160のスケール値を記憶しておき、高さ画像を合成する際には、各高さ画像の画素値をスケール値に基づいてオフセットして合成する。
以上のようにして、縞投影によって一回の撮像で測定可能なワンショット測定を、繰り返し行って高さ方向を連結することで、深度方向に拡張した測定が可能となる。なお、ワンショット深度測定範囲の連結に際しては、必ずしも連続させる必要はなく、深度方向に離間させた離散的なワンショット測定であってもよい。例えば、ユーザが手動で深度拡張を行う場合は、測定に必要な領域のみの立体形状データを取得すれば足り、測定対象物の高さ方向のすべての情報を必要としない場合もある。
(マスク領域)
また深度方向に自動拡張する場合においても、深度拡張したい範囲をユーザが設定することもできる。例えば深度拡張処理部215に、光軸方向駆動部146を制御して受光部120の焦点位置を変更する範囲を設定するための深度範囲設定部253を備え、深度範囲設定部253でユーザが深度拡張に際して不要な範囲としてマスク領域を設定してもよい。このように深度拡張測定は、ワンショット測定の連続的な連結のみならず、離間させた連結も含む。
上述した通り、測定対象物の測定と共に、Zステージ142の高さを検出することで、Zステージ移動量に対する実際の移動量の誤差を考慮しなくて済むようになる。ここで仮にZステージの高さ検出を行わない場合を考えると、この場合はZステージの移動パルス(移動指示量)に基づいて各ワンショットの原点指定をすることになるが、ステージ移動誤差がそのまま連結測定誤差になる。これに加えて、形状測定装置の構成によっては、図10Aで示したとおり、移動駆動軸と実際の測定対象物積載位置とのずれが原因で、アッベの原理に基づく誤差も発生し得る。これに対して、図10Bに示すように、Zステージの高さを検出すると共に、ステージ140の高さを検出する測定軸を光軸に近付けることで、誤差を低減して高精度な高さ検出が実現される。また、このことで高さ方向の合成に際しても、精度を向上させることが可能となる。
ステージ140を深度方向に拡張して測定するにあたっては、測定対象物や受光部120の位置を物理的又は光学的に移動させた移動量を正確に検出することが求められる。この移動量の正確な検出において、測定器の持つ撮影視野と直動移動の検出位置は、アッベの原理に基づくと、一致していることが望ましい。一方で、長いストロークのステージの移動を検出する場合、その検出機構も長尺となる傾向にある。そのため、ステージの直下にセンサを配置する場合、移動ストロークに合わせてより長いセンサユニットを配置することとなり、筐体全体の全長を大きくせざるを得ない事情がある。
さらには、一般にセンサ移動部に比べ、直動機構そのものは長い構造を必要とする。なぜなら、移動するステージの剛性を高めるため、移動量に対してさらにベース筐体の幅が加算されるからである。またガイドのオーバーハングによる寸法増加も避けられない。結果的に、ステージ全体の高さが増していくこととなり、ステージの天面が設置底面よりも高くなり、ユーザの利便性を低下させる、振動による測定対象物の振幅が増加傾向にある、といったデメリットが増えていく。このような事情を鑑みて、本実施形態ではステージ140の高さを検出するスケールユニット160を視野直下に配して、ステージ駆動軸の配置自由度を高めている。
図26A~図26Dに示す例では、測定対象物WK2として比較的単純な段差を有する場合を示した。測定対象物によっては、二段階のZステージ高さ(例えば図24Aの高さAと図24Bの高さB)で測定対象物の高さ方向全体を測定領域に収めることが可能となる。このような、各高さにおける複数のワンショットデータにおいて、共通する高さ情報の合成について説明する。
(共通高さ情報の合成ロジック)
共通する高さ情報の合成方法は、重み付き平均を計算する方法、又は高さ情報の信頼性から片方のみ採用する方法がある。それぞれの高さ情報がほぼ同じ高さを示している場合は、より合焦面に近い位置で得られた高さ情報の方が、誤差が少ないと考えられる。このことから、合焦面からの距離に応じた重み付き平均により計算を行う。
一方、それぞれの高さ情報が大きく異なる場合は、測定対象物内部での光の多重反射等の影響により、いずれかの高さ情報がノイズである可能性が高い。そのため、この場合は、画像のぼけ具合、もしくは照明の有無での輝度のコントラストなどから、いずれの高さを採用するか判定するための信頼度を求め、信頼度の高い方を採用する。
(信頼性の低いデータ)
高さ画像に含まれるデータの内、信頼性の高い画素については、表示部400上に表示させたり、測定に使用する。一方で、信頼性の低いデータについては、誤差を含んでいることが懸念されるため、表示部400上に表示させず、また測定等にも使用しない。
一方で、信頼性の低いデータであっても、深度拡張に際して、立体形状データが存在しているか否かの判定には用いることができる。深度方向に拡張して高さ画像を取得するかどうかは、その高さ方向に測定対象物が継続して存在するかどうかが判定できれば足り、高い精度は要求されない。そこで本実施形態においては、通常の測定や高さ画像の構築には用いられない、信頼性の低いデータであっても、深度拡張の要否の判定にはこれを用いることが可能となる。
一例として、ある測定対象物について、形状測定装置の仕様上の制約で一定高さまでの深度測定範囲で生成された高さ画像を図27A~図27Bに示す。この図において図27Aは、深度測定範囲内において信頼性の低い画素については、非表示としている。このように、表示部400において高さ画像を表示させる際には、信頼性の高い画素は表示させ、信頼性の低い画素は表示させないことが一般的である。一方で、図27Aの高さ画像において、信頼性の低い画素も表示させた例を図27Bに示す。この図において、破線で囲んだ領域で示す円柱状の上端面の画素については、精度が悪いため測定対象物の寸法計測等に用いるデータとしては不適であるものの、この測定対象物は円柱の上端面よりも上方に連続して存在しているであろうことは推測できる。したがって深度拡張測定を実行する際は、上方にさらに深度測定範囲を設定することで、より広範な範囲での高さ画像を生成できる。同様に、他の形状の測定対象物の高さ画像を図28A~図28Bに示す。この図において図28Aは、信頼性の低い画素を非表示とした高さ画像を、図28Bは信頼性の低い画素も含めて表示させた高さ画像を、それぞれ示している。同様に図28Bにおいて破線で囲む領域を用いることで、これよりもさらに上方に連続して測定対象物が存在していることが推測でき、深度拡張測定に際して深度を拡張する方向をこの立体形状データから判定することが可能となる。
(立体形状データの端部の画素)
このように、高さ画像の端部に位置する立体形状データでもって、深度拡張測定を行うか否かを判定することができる。なお、本発明は深度拡張測定に際して、立体形状データの端部の画素に基づいて判定を行う方法に限らず、深度測定範囲の中間のデータに基づいて判定してもよい。例えば端部から所定距離離れた位置の画素が立体形状データを有するか否かに基づいて判定したり、あるいは深度測定範囲のいずれかの画素が立体形状データを有しておれば、深度拡張測定を実行するように構成することもできる。例えば、最終的な立体形状データが得られていない画素の中で、パターンが投影されていることが判定できる程度の輝度値が得られている画素がいずれかに存在する場合に、未測定画素が存在すると判定処理部で判定して、深度拡張測定を実行するように構成してもよい。この場合、ノイズや誤検出を避けるため、立体形状データを有する画素の数や領域、体積が一定以上である場合とするなど、しきい値を設定することが好ましい。
(表示モード切替部)
このように本実施形態に係る形状測定プログラムにおいては、信頼性の低い画素についても、表示部400上に表示させることが可能となる。例えば表示モード切替部でもって、信頼性の低い画素データを非表示とする通常表示モードと、信頼性の低い画素データについても表示させる可視化モードを切り替え可能とすることができる。上述した図27、図28の例では、図27A、図28Aは通常表示モード、図27B、図28Bは可視化モードを、それぞれ示している。
(立体形状データに基づく深度拡張測定の要否判定)
以上の例では、高さ画像を構成する画素データ、すなわち高さ情報を演算したデータに基づいて、深度拡張測定の要否を判定する例を説明した。ただ本発明は、深度拡張測定の要否判定を、高さ画像に限定せず、高さ情報を演算する前の元データや生データに基づいて、これらの要否判定を行うように構成してもよい。このような例を図29や図30に基づいて説明する。図29は、測定対象物に縞パターンを投影した縞画像の例を示している。この図において、破線で囲んだ領域は、深度測定範囲外にあるため、縞パターンのコントラストが低い。ただ、このような深度測定範囲外であっても、縞パターンが投影されているため、他の縞パターンと比べて精度は落ちるものの、深度拡張測定の要否判定には利用可能である。すなわち図29の例では、測定対象物が深度測定範囲よりも高い位置に形状を有している(ここでは円筒状に突出している)ことが把握できるので、この方向に深度拡張測定を行うことが有効であることが、当該深度測定範囲の外側の縞パターンによって判定できる。
さらに、深度拡張測定を行うに際して、上方向に拡張するか、下方向拡張するかの判定も、このような立体形状データに基づいて行うことができる。例えば図30に示す測定対象物の例では、図において上側と下側に、深度測定範囲外の部分が存在している。この内、太線の破線で囲んだ上側の領域の方が、細線の破線で囲んだ下側の領域よりも輝度が高い。一般には、深度測定範囲外のデータについて、カメラや照明に近い側が明るく、遠い側がくらい傾向にある。よって、投影パターンの明るさやコントラストに基づいて、深度測定範囲外のデータが、該高さ範囲の高い方の外側に存在しているのか、低い側の外側に存在しているのかを判別できる。よって、いずれの方向に深度拡張測定を行えば、この部分の高さ画像を取得できるのかを推定することが可能となる。
(移動ピッチ)
高さ画像を連続するように連結する場合において、Zステージ142を移動させる位置は、高さ画像の連結時に高さ方向の隙間が生じないように、各Zステージ位置の差が、深度測定範囲の高さ以下になるようにする必要がある。合成時に高さが滑らかにつながるようにするため、図26Dに示すように、深度測定範囲が一部オーバーラップするよう、深度測定範囲の高さより若干短い方が望ましい。ただし、オーバーラップ領域が大きすぎると、連結に必要な合計枚数が大きくなり、測定時間とのトレードオフが生じる。このため、深度測定範囲の1%~33%程度をオーバーラップさせることが好ましく、また5%~25%がより好ましく、10%~20%がさらに好ましい。
(テクスチャ画像の移動ピッチ)
合成画像の生成に際して、高さ画像を複数枚撮像するためにZステージを深度方向に移動させる移動ピッチと、テクスチャ画像を撮像する移動ピッチとは、一致させてもよいが、必ずしも一致させる必要はなく、これらを独立して設定することもできる。特に高さ画像については、縞画像等のパターン画像の焦点が必ずしも合っていなくても、コントラスト差などが確認できれば高さ情報の計測は可能となる。一方でテクスチャ画像については、焦点が合っていないと見栄えの影響が大きい。このため、テクスチャ画像の移動ピッチを、高さ画像の移動ピッチよりも細かくすることが、いいかえるとテクスチャ画像の枚数を多くすることが好ましい。細かな移動ピッチで撮影された複数のテクスチャ画像を深度合成することにより、ほぼ全体でピントの合った鮮明な深度合成画像が得られる。この深度合成画像を、高さ画像を合成して得られた合成高さ画像にマッピングすることにより、鮮明なテクスチャ情報と、深度が深い高さ情報を有する立体形状データを取得することができる。
一方、高さ画像を複数枚撮像するために、ステージを深度方向に移動させる都度、テクスチャ画像も一緒に撮像し、撮像したテクスチャ画像を深度合成し、深度合成したテクスチャ画像を、高さ画像を合成して得られた合成高さ画像にマッピングするようにしてもよい。この場合、深度合成画像の鮮明度は落ちるものの、高さ画像を撮像するためのステージ移動以外に、深度合成画像を得るためのステージ移動が不要となるので、処理に時間がかからないメリットがある。
ここで、連結時の画像の粗さ (相対値)と移動ピッチの関係を図31のグラフに示す。図31において、横軸は深度測定範囲高さに対する移動ピッチを、縦軸は平面を斜めに連結したときの面粗さを、それぞれ示している。この図に示すように、移動ピッチを大きくしていくにつれて、粗さが大きくなることが判る。
なお以上の例においては、Zステージを移動させる移動ピッチを一定量としたが、本発明はこの構成に限らず、例えばユーザが指定する任意の移動量とすることもできる。
(高さ画像の連結領域)
このように複数の高さ画像を連結する際、高さ画像同士で高さ方向に重複している領域の扱いが問題となる。すなわち、連結対象の2つの高さ画像で、重複する部分の高さ情報として、合成高さ画像ではいずれを用いるべきかを決める必要がある。このため合成処理部216は、重複する部分の扱いを予め定めている。例えば図26Aで得られた高さ画像HIAを、図26Bで得られた高さ画像HIBと連結する場合、図26Dの合成高さ画像CHIにおいて、高さ画像HIAの上方と高さ画像HIBの下方とが重複領域OL1において重複している。同様に高さ画像HIBを画像HICと連結する場合、高さ画像HIBの上方と高さ画像HICの下方とが重複領域OL1において重複している。このような場合に合成処理部216は、信頼性指標に基づいて重複領域を処理する。
(信頼性指標)
ここで信頼性指標とは、深度測定範囲が重複する重複領域において、各高さ画像が対応するステージ平面内の画素の有する高さ情報が、真値すなわち真の高さにどれだけ近いかを示す指標である。高さ情報を高さ画像を構成する画素の画素値とする場合は、画素値の信頼性を示す指標といえる。
このように、複数の高さ画像を深度方向に連結するに際して、単純な加算平均などを用いずに信頼性指標を用いることで、重複する領域における高さ情報の信頼性を高めた合成高さ画像を得ることができる。
具体的な信頼性指標としては、受光部120の焦点位置からの距離が近い方を採用する。高さ画像をパターン投影法で作成する場合は、焦点位置でなくともパターン画像(例えば縞画像)が得られ、高さ情報の演算が可能であるものの、焦点位置に近い程パターン画像が鮮明となって、高さ情報の精度が高い傾向にある。そこで、焦点距離を信頼性指標として用い、その高さ画像を生成した際の焦点位置と、注目画素との距離が近いほど、得られた高さ情報の信頼性も高いと判断できる。
あるいは、信頼性指標として周囲画素とのコントラストを用いてもよい。具体的には、ある高さ画像の画素の信頼性指標として、この高さ画像を生成する元となったパターン画像における対応する画素と、この画素の周囲に位置する画素とのコントラストとする。周囲の画素とのコントラストが高い程、境界が鮮明なパターン光となって高さ情報を精度よく演算できる。あるいはまた、元のパターン画像の輝度値等を信頼性指標として用いてもよい。
このようにして得られた信頼性指標に基づいて、信頼性指標が高い方の画素を、合成高さ画像の画素として採用することができる。
なお、そもそも高さ情報が得られていない画素の場合は、無効として、高さ情報の得られている方の画素を用いる。両方の画素で高さ情報が得られていない場合は、合成高さ画像においても高さ情報は無効(null)となる。例えば深度測定範囲が重複する領域において、高さ画像の対応するXY座標の画素値について、一方の高さ画像の画素が有効で、他方の高さ画像の画素が無効な場合は、有効な画素の画素値を用いる。これにより、複数の高さ画像を深度方向に連結するに際して、重複する領域における高さ情報について、欠損した画素を補間した合成高さ画像を得ることができる。
一方、信頼性指標の高い方を採用して低い方を破棄するのみならず、重み付けを行うこともできる。例えば信頼性指標の高い方の画素値の比重を高く、低い方の画素値の比重を低くするように重み付けを行うことで、より正確な高さ情報を得ることが期待できる。
あるいは、信頼性指標を用いた重み付け加算平均に基づいて、合成高さ画像の高さ情報を演算してもよい。
(差分)
また、部分的に重なり合う2枚の高さ画像から、所定以上の差分がある画素を抽出することもできる。具体的には、深度測定範囲が重複する領域において、合成処理部216が差分として画素を抽出し、この内で信頼性指標が高い画素値を採用するよう構成できる。この場合、合成処理部216に、高さ画像同士で所定以上の差分がある画素を抽出する差分画素抽出手段を設けてもよい。
さらに、深度測定範囲が部分的に重複する高さ画像の合成に際して、高さ情報を選択あるいは演算する条件を、データの差分量に応じて変更することもできる。例えば、データの差分が所定以上の時は信頼性指標の高い方の画素を採用し、所定値以下の場合には、信頼性指標を用いた重み付け加算平均に基づいて、合成高さ画像の高さ情報を演算してもよい。
(連結測定の範囲の設定)
上述した連結測定を実施する場合、深度測定範囲を決定する方法が幾つか考えられる。例えば、(1)Zステージの上限、下限座標をユーザに入力させ、一定の移動ピッチで上下限を含む範囲を測定、連結させる方法;(2)現在のZステージ高さから上下方向に何段階取得するかをユーザに決定させ、一定の移動ピッチで複数段階の測定を実施、連結する方法等が考えられる。
しかしながら、このような深度測定範囲決定方法では、いずれも測定の前処理として、深度測定範囲を決定する手順が必要となる。この手順は、手間がかかるのみならず、複数の視野において異なる高さ範囲を指定する場合には、その都度設定が必要となって、非常に操作が煩雑となる問題があった。そこで本実施形態においては、連結測定の範囲を自動で決定可能としている。
(深度測定範囲の設定)
連結深度測定範囲を自動で決定するために、本実施形態1では深度探索範囲を定義する。まず図32で示す形状測定装置においては、受光光学系の左右対称な角度から、平行光束として投光光線が測定対象物WKに向かって照射される。ここで、形状測定装置が精度を保証して計測可能な範囲が、深度測定範囲である。深度測定範囲においては、左右からの投光による測定結果を平均又は合成した計測を実施することで、測定の安定化、高精度化が期待できるため、左右からの投光光束の「共通領域」として定義される。
一方で、左右それぞれから独立して照射される光束のそれぞれにおいては、高精度に設定した深度測定範囲よりも広い高さ範囲で投光光束が照射されている。そこで、撮影視野に収まり、かつこれら左右それぞれの投光光束の和集合領域を深度探索範囲として定義する。これにより、測定には用いることができなくても、測定対象物上の深度測定範囲外の形状における、概略の高さ情報を取得することが可能となる。
(三角測距方式の組み合わせ)
本実施形態に係る形状測定装置においては、より高精度な測定を実施するために、空間コード法とマルチスリット法、又は空間コード法と正弦波位相シフト法を組み合わせて測定を行っている。しかしながら、深度測定範囲を超えた領域では、光学系の持つ被写界深度の関係で、投影した縞パターンがぼけてしまい、十分な解像度・精度の高さ測定が不可能となる。一方で、空間コード法の比較的低分解能な測定を担う縞パターンは、図29に示したように、縞そのものの太さが光学系の被写界深度に対して十分太いため、深度測定範囲を超えた領域であっても、大まかな縞形状を保持していることが多い。図29において円筒状の天面に照射された縞パターンは、深度探索範囲上に位置するため縞がぼけているものの、大まかな縞形状は維持されている。この特性を利用すれば、深度探索範囲内かつ深度測定範囲外の、おおまかな高さ情報を得ることが可能となる。
なお、本実施例では、空間コード法とマルチスリット法、又は空間コード法と正弦波位相シフト法を組み合わせて測定を行ったが、空間コード法を用いなくても周期が異なる2以上のパターンをそれぞれ位相シフトして投影することにより、空間コード法との組み合わせ測定と同様の効果を得ることもできる。例えば、周期が粗い第一パターンを投影し、位相シフトすることにより測定対象物WKの低分解能な測定を行い、次いで周期が短い第二パターンを投影し、位相シフトすることにより測定対象物WKの高分解能な測定を行い、これらを組み合わせることで絶対値を有する精度の高い測定が可能である。この場合は低分解能な測定の結果を、上記空間コード法の測定結果と同様に取扱うことができる。
(深度拡張モード選択部254)
上述の通り本実施形態に係る形状測定装置においては、Zステージ高さを固定した1回の測定を行うワンショット測定機能と、複数のZステージ高さで測定した結果を結合する深度拡張測定機能を備えている。ここで、深度拡張測定機能として、自動で深度拡張を行う自動深度拡張機能と、手動で深度拡張を行う手動深度拡張測定機能のいずれかを行うことができる。あるいは、これらを切り替え可能とすることもできる。深度拡張測定機能の自動と手動を切り替えるには、深度拡張モード選択部254でもって行わせる。
(実施例1:累積画像に基づく自動深度拡張)
ここで、実施例1に係る自動深度拡張について説明する。深度探索範囲内かつ深度測定範囲外のおおまかな高さ情報から、それらの高さを深度測定範囲内で測定するZステージ位置を求め、その位置に移動して測定を行うことで、自動的に連結測定の範囲を拡張できる。ここでは図33に示すように、視野を構成する画素の内で、立体形状データを取得した画素(測定画素)を累積していく。図33の例では、深度測定範囲HT1で撮像した画像IG1では、矩形状の周囲の領域では高さが取得できているものの、中央の楕円の領域では高さが取得できておらず、高さ情報が欠損した画素を持つ画像となっている。そして、深度測定範囲をHT1からHT2に変更して画像IG2を撮像すると、画像IG1では高さ未測定であった画素の一部で高さが得られている。同様にして深度測定範囲HT3で画像IG3を、深度測定範囲HT4で画像IG4を、それぞれ撮像すると、それぞれ欠損してた画素で高さが取得されている。このようにして、深度測定範囲毎に高さが得られた画素を、図34A~図34Dに示すように累積していく。例えば図34Aでは、画像IG1を、また図34Bではこの画像IG1に、画像IG2で高さ情報の得られた画素を蓄積した蓄積画像を示している。これによって図34の画像IG1と比べ、高さ情報の欠損している未測定画素が低減していることが判る。さらに図34Cでは、画像IG3で高さ情報の得られた画素を蓄積した蓄積画像を示しており、図34Bよりも未測定画素の領域がさらに低減している。そして図34Dでは、画像IG4で得られた画素を累積して、すべての領域の画素で高さ情報が得られている。このように、取得済み画素を累積した累積画像に基づいて未測定の画素(未測定画素)の有無を判定し、未測定画素が存在する場合は自動で立体形状データの取得を継続していく。そして、視野を構成する画素が測定画素で順次満たされていき、未測定画素がなくなった時点で処理を終了する。
(立体形状データ)
ここで立体形状データとは、測定対象物の形状をパターン投影法で測定するためのデータであり、必ずしも高さ情報を含むことを要しない。すなわち、高さ情報を未測定のデータであっても、高さ情報を演算可能なデータを含む場合は立体形状データと呼ぶ。
(自動深度拡張の手順)
このような自動連結の手順を、図35に示す。まずステップS3501において、測定を行う。次にステップS3502において、深度探索範囲内に対応する高さを有する領域があるか否かを判定し、ある場合はステップS3503に進み、Zステージ142を、深度探索範囲内に対応する高さを有する領域が測定可能なZステージ位置に移動させる。この際、既に測定したZステージ位置は除く。また、候補となるZステージ位置が複数ある場合は、最も近い位置に移動させる。そしてステップS3501に戻って、測定などの処理を繰り返す。一方、ステップS3502において、深度探索範囲内領域がないと判定された場合は、ステップS3504に進み、測定を終了する。
このように、Zステージ142の各位置での測定で、深度探索範囲内で深度測定範囲外の高さ情報を記憶しておく。これにより、移動すべきZステージ位置が上下両側に存在していても、上下両方向に拡張していくことが可能になる。また、一度測定したZステージ位置には移動しないようにすることで、測定が無限ループとなる事態を回避できる。
このような手順により、測定対象物のすべての高さを網羅した連結測定が可能になる。また、Zステージ142の移動が必要なくなった時点で測定が終了するため、連結測定の合計時間は、常に最小となる。
また、自動深度拡張に際して、Zステージ142の上限の高さを設定することもできる。Zステージ142の上限高さは、自動深度拡張時のZステージ位置の最高値として形状測定装置側で規定値とする他、ステージ140上に載置した測定対象物の高さに応じて、若干のマージンを加味して自動設定させたり、あるいは規定値や自動設定された値をユーザが調整可能としたり、任意の値を指定可能としてもよい。これにより、自動深度拡張時にZステージが上昇しすぎて、ステージ上の測定対象物がレンズに衝突する事態を回避できる。
(光学系に関する変形例)
以上の実施形態1に係る形状測定装置では、撮像部を構成する受光部120を単眼のカメラとし、また測定対象物の上方に投光部110を2つ設けて、左右二方向から投光させる構成について説明したが、本発明は光学系の構成をこれに限定するものでなく、他の光学系を採用することもできる。例えば、受光部として単眼のカメラを用いて、投光部を一方向のみからの投光とすることもできる。あるいは、受光部として単眼カメラに代えて複眼カメラを用いて、一方向から投光させてもよい。
(測定原理に関する変形例)
また、上述した実施形態1に係る形状測定装置では、測定対象物の三次元形状を測定する測定原理として、グレイコードとマルチスリット投影の三角測距法を採用したが、本発明は測定対象物の三次元形状を測定する測定原理をこれに限定するものでなく、他の方式も適宜利用できる。例えば、正弦波投光による三角測距法や、ランダムパターン投光による三角測距法、ライン光投影とスキャンによる三角測距法等の方法が利用できる。
(測定対象物の移動機構に関する変形例)
さらに、上述した実施形態1に係る形状測定装置では、Zステージ142を移動させる機構としてZステージ142を直接移動させる構成を採用しているが、本発明は測定対象物の移動機構をこれに限定するものでなく、他の構成も適宜利用できる。例えば、X,Y,Zの各軸について並進、回転の6つの自由度を持つ移動ステージを用いたり、あるいは手動による自動移動としてもよい。
(測定対象物のワーキングディスタンス調整機構に関する変形例)
さらに、上述した実施形態1に係る形状測定装置では、Zステージ142を移動させて測定対象物と受光部120とのワーキングディスタンスを調整する構成を採用しているが、本発明はワーキングディスタンスの調整機構をこれに限定するものでなく、他の構成も適宜利用できる。例えば、受光部側を移動させてもよい。
(実施例2:単一高さ画像の端部に基づく自動深度拡張)
以上の例では、取得済み画素を累積した累積画像に基づいて深度拡張の要否を判定する自動深度拡張の手順を説明した。ただ本発明は、必ずしも画像の高さ方向への深度拡張及び自動連結に際して、過去の画素を累積することを要しない。例えば、単一の高さ画像から深度拡張の要否を判定することもできる。このような例を実施例2として、以下説明する。ここでは図36に示すように、ある深度測定範囲内で高さ画像を取得する。そして、得られた一枚の高さ画像において、深度測定範囲の端部、すなわちこの深度測定範囲の上限又は下限の何れかに立体形状データを有するか否かを判定する。例えば高さ画像の一方の端部に立体形状データを有する場合は、深度測定範囲の外側に測定対象物が延びている可能性が高いと推定し、さらに深度測定範囲を変えて高さ計測を行う。そして変更後の深度測定範囲においても、同様に端部に立体形状データを有するか否かを判定して、同様に立体形状データを有する場合はさらに深度測定範囲を変えて処理を継続する。一方で、端部に立体形状データが存在しない場合は、この方向への処理を終え、他方の端部に立体形状データが存在するか否かを判定し、同様の処理を行う。そして、両方の端部で立体形状データが存在しない場合は、処理を終了する。なお、上記は一例であり、例えば両方の端部に立体形状データが存在する場合は、一方の端部に深度測定範囲を拡張した後、他方の端部に深度測定範囲を拡張するようにしてもよい。ただしこの方法では、Zステージを一方の端部の方向に拡張した後、元の位置に戻って他方の端部の方向に拡張することとなり、Zステージの移動量が大きくなる可能性がある。そこで上述の通り、上下何れかの方向に一旦拡張を継続し、その後、他方の方向に拡張するようにすることが好ましい。
(実施例3:単一高さ画像の範囲内に基づく自動深度拡張)
さらに本発明は、上述した単一の高さ画像の端部に立体形状データが存在するか否かでもって深度測定範囲の拡張の有無を判定する方法に限られず、深度測定範囲内で立体形状データが測定できた画素が存在すれば、深度測定範囲を拡張するようにしてもよい。すなわち、ある深度測定範囲で取得した高さ画像において、深度測定範囲内のいずれか一でも立体形状データが測定できた画素が存在すれば、測定対象物が存在していると推定して、その方向への深度拡張を継続する。この方法であれば、単に高さ画像が立体形状データを含むことのみで判定を行えるため、判定処理を簡単に行える利点が得られる。
(自動深度拡張測定機能を有する形状測定プログラム)
ここで、自動深度拡張測定機能を形状測定プログラムのユーザインターフェース画面の例を図37~図41に示す。これらの図に示す形状測定プログラムも、画像表示領域410と操作領域420を備える。画像表示領域410は、測定対象物のテクスチャ画像や高さ画像を表示させるための領域である。操作領域420は、主に各種の操作をユーザが指示したり、ユーザに対して操作内容の説明や誘導を行うための領域である。図37等の画面では、左側から画面の大半に画像表示領域410を配置し、右側に操作領域420を配置している。さらに画像表示領域410の上には、撮像条件の設定を行う撮像設定部の一形態として、画像表示領域410で表示される画像に対して、倍率表示や焦点調整等を行うための撮像設定領域510が配置されている。なおこれらの配置は一例であって、各部材の配置や大きさ等は適宜変更できる。
(観察モード切替部)
形状測定プログラムから、高さ画像に基づく観察と、テクスチャ画像に基づく観察を行うことができる。観察の切り替えは、観察モード切替部から行う。図37の例では、観察モード切替部の一形態として、操作領域420に「3D測定」タブ531と「画像観察」タブ532が設けられており、何れかのタブを選択することで観察モードの切り替えが可能となる。「3D測定」タブ531を選択すると、高さ画像の生成及び生成された高さ画像に基づく計測などの観察が可能となる。一方、「画像観察」タブ532を選択すると、テクスチャ画像に基づく計測等の観察が可能となる。
(フルオート観察モード)
ここで、形状測定プログラムで自動深度拡張測定機能を実行するには、図37の画面から「フルオート」ボタン533を押下する。これにより、フルオート観察モードすなわち自動深度拡張測定モードが選択される。フルオート観察モードでは自動で深度方向への拡張が行われて、画像表示領域410に表示される測定対象物の合成高さ画像が取得される。
(マニュアル観察モード)
一方、形状測定プログラムで手動深度拡張測定機能を実行するには、図37の画面から「マニュアル」ボタン535を押下する。これにより、マニュアル観察モードが選択されて、手動で深度方向への拡張が可能となる。マニュアル観察モードの例を図38に示す。この例に示すマニュアル観察画面540では、操作領域420に「Z測定範囲」指定欄541、「測定モード」選択欄542、「測定方向」指定欄543、「測定明るさ」設定欄544、「テクスチャ撮影」選択欄545が設けられている。
(「Z測定範囲」指定欄541)
「Z測定範囲」指定欄541は、深度拡張測定モードを選択する深度拡張モード選択部254の一形態をなす。この例では、図38に示すように「Z測定範囲」指定欄541において、ユーザがドロップボックスから「自動」、「測定」、「手動」のいずれかを選択できる。この内「自動」を選択すると、自動で深度拡張測定を実行する自動深度拡張モードとなる。また「手動」を選択すると、ユーザが手動で深度拡張測定を実行する手動深度拡張モードとなる。一方、「測定」を選択すると、所定の深度範囲の測定を行う。いいかえると、深度範囲を拡張せず、形状測定装置で測定可能な所定の高さ範囲で高さ画像を生成する。上述した、Zステージ高さを固定した1回の測定を行うワンショット測定機能に相当する。
「測定モード」選択欄542は、測定モードを選択する測定モード選択部257の一態様である。測定モードとは、高さ画像の生成に際して撮像される縞画像の撮像条件を調整することで、観察の用途に応じた測定を行えるようにするものであり、予め複数の測定モードが準備されており、ユーザは観察の目的等に応じて所望の測定モードを選択する。「測定モード」選択欄542では、複数の測定モードの中からいずれかを指定する。ここでは、図39に示すようにドロップボックスから「オート」、「スタンダード」、「反射/潜り込み光除去モード」、「高精細(粗さ)」のいずれかを選択できる。
「オート」を選択すると、複数の測定モードの内から、自動で適切な測定モードが選択されるオード測定モードが選択される。
「スタンダード」を選択すると、標準的な測定モードであるスタンダード測定モードが選択される。
「反射/潜り込み除去」を選択すると、投光の反射や潜り込み光の除去に適した反射/潜り込み光除去モードが選択される。この測定モードはファイン測定モード等とも呼ばれ、測定光の投影パターンをスタンダード測定モードよりも細かくしており、潜り込み光や多重反射、乱反射等の間接光成分を排除する測定モードである。この測定モードは、測定対象物が白濁樹脂のような半透明体や、ネジのような凹凸金属体の場合に効果が高い。測定に要する時間は、スタンダード測定モードよりも長くなる。
「高精細(粗さ)」を選択すると、測定対象物の表面の粗さの測定といった、より高精細な高さ画像を生成する高精細モードが選択される。
また、他の測定モードを追加してもよい。例えばハレーション除去測定モードは、投影パターンはスタンダードと同じであるが、露光時間又は測定光の投影光量を変化させることで、ダイナミックレンジを拡大して測定する測定モードである。これによって明暗差の激しい対象物で黒潰れや白とびを抑制できる効果が得られる。例えば、金属体に黒樹脂が埋まっているような対象物で効果的となる。測定に要する時間は、スタンダード測定モードよりも長くなる。さらにスーパーファイン測定モードは、上述した反射/潜り込み光除去モードとハレーション除去測定モードの組み合わせであり、最も精度を向上できるが、その分測定に要する時間は最も長くなる。
「測定方向」指定欄543では、投光部110を指定する。ここでは、図4で示す第一投光部110A、第二投光部110Bのいずれか又は両方を選択できる。図40に示す例では、「測定方向」指定欄543に設けられたドロップボックスから、「左側のみ」、「右側のみ」、「両方」のいずれかを選択できる。
「左側のみ」を選択すると、図4の第一投光部110Aが選択されて左側からの投光のみが得られる。「右側のみ」を選択すると、図4の第二投光部110Bが選択されて右側からのみ投光される。「両方」を選択すると、図4の第一投光部110A及び第二投光部110Bが選択されて、両側から投光される。
「測定明るさ」設定欄544では、画像表示領域410で表示される画像の明るさを調整する。テクスチャ画像の明るさは、例えば撮像部である受光部120の露光時間やシャッタースピードを調整することで可能となる。また「測定明るさ」設定欄544では、テクスチャ画像の明るさの調整を自動で行うオート明るさ調整と、手動で調整するマニュアル明るさ調整を、ラジオボタンで切り替え可能としている。例えば、図41に示すように「オート」を選択すると、現在画像表示領域410で表示されている画像に応じて、自動で適切な明るさに調整される。また「マニュアル」を選択すると、ユーザが手動で画像の明るさを調整できる。ここでは、スライダでもってテクスチャ画像の明るさを調整するよう構成している。また画像表示領域410で表示される画像の明るさが、「測定明るさ」設定欄544で調整した後の明るさに、リアルタイムに反映される。
(テクスチャ画像選択手段460)
テクスチャ画像選択手段460の一形態である「テクスチャ撮影」選択欄545では、撮影するテクスチャ画像を選択する。ここでは、「ノーマル」と「HDR」をラジオボタンで選択可能としている。「ノーマル」を選択すると、通常のテクスチャ画像を撮影するよう設定される。一方、「HDR」を選択すると、HDR画像を撮影するよう選択される。また、その他のテクスチャ画像を選択可能としてもよい。例えば深度合成画像を選択可能としてもよい。
(実施例3:手動深度拡張)
以上の例では、自動で深度拡張と連結測定時を行う例について説明した。ただ本発明は、深度拡張を自動で行う構成に限られず、これを手動で行うこともできる。この手動深度拡張機能を用いて手動で深度拡張を行って、高さの異なる複数の高さ画像から、合成高さ画像を生成する手順を、図42のフローチャート及び図43A~図43Gに基づいて説明する。まずステップS4201において、合成高さ画像を取得したい測定対象物の光学画像を表示させる。ここではユーザに、測定対象物をZステージ142上に載置させて、光学画像を取得して、表示部400上に表示させる。一例として、測定対象物を表示させた光学画像Aを、図43Aに示す。このとき、焦点位置の調整はユーザが行ってもよいし、自動で行ってもよい。あるいは焦点位置の調整を行わなくてもよい。自動で焦点位置を調整する方法として、例えば光学画像上の所望の位置でマウスをクリックすると、指定された位置に焦点が合うようにオートフォーカスさせることが挙げられる。
次にステップS4202において、高さ画像を取得したい位置を高さ指定位置として指定する。ここではユーザが表示部400上に表示された光学画像上において、高さ画像を取得したい高さ指定位置を、操作部で指定する。このとき、光学画像は二次元画像であるから、高さ指定位置の指定はXY平面上での指定となる。例えば表示部400上で所望の位置をクリックすると、このXY位置が有するZ座標位置が高さ指定位置として記録される。また、高さ指定位置を基準として、自動でオートフォーカスを実行させてもよい。これにより、高さ指定位置の光学画像をより鮮明に表示させることができる。
次にステップS4203において、指定された高さ指定位置において高さ画像を生成する。例えばユーザが形状測定プログラムのユーザインターフェース画面上から、高さ画像生成ボタンを押下する。これにより、形状測定装置は指定された高さ指定位置(XY座標)における高さ情報(Z座標)を取得すると共に、この高さに基づいて所定の深度測定範囲で高さ画像を生成する。一例として、図43Aの光学画像A上で指定された高さ指定位置で得られた高さ画像Dを、図43Dに示す。なお高さ画像Dは、必ずしも表示部上に表示させる必要はなく、非表示としてもよい。ユーザ側に中間の高さ画像の生成作業を意識させることなく、バックグラウンドで処理させることができる。ただ、高さ画像Dを表示させてユーザに確認させるようにしてもよい。また、生成された高さ画像Dは、後述する合成高さ画像の生成処理に用いるために、一時的に保存される。
なお、ステップS4202において高さ指定位置の指定を受け付けると、自動でステップS4203の高さ画像の生成を実行させてもよい。これにより、ユーザ側の操作の手間を省力化できる。例えば、光学画像上で任意の位置をシングルクリックするとオートフォーカスが働き、ダブルクリックすると高さ画像の取得処理が実行されるようにする。これにより、ユーザは少ない操作で焦点位置の調整と高さ指定位置の指定、及び高さ画像の生成処理を行うことが可能となる。
次にステップS4204において、他の高さ指定位置を指定するかどうかを判定する。すなわち、異なる高さで生成された高さ画像を合成するために、必要な数の高さ画像が得られたか否かを判定する。ここではユーザが別の高さ指定位置の指定するか、あるいは高さ指定位置の指定を終えて合成高さ画像の生成に進むかの指示を、形状測定装置側で受け付ける。
ユーザが高さ画像を追加したい場合、すなわち他の高さ指定位置をさらに指定したい場合は、ステップS4202に戻り、別の高さ指定位置を指定する。このとき、既に高さ指定位置を指定した光学画像と同じ画像上で高さ指定位置を指定する。いいかえると、光学画像の視野の変更を行わない。合成高さ画像の生成のためには、同じ姿勢の測定対象物に対して、異なる高さの高さ画像を取得する必要があるからである。もし光学画像の視野を変更したい場合は、ステップS4201に戻って光学画像の表示からやり直す。
また、別の高さ指定位置の指定に際しては、既に指定した高さ指定位置の高さとは異なる高さを光学画像上で指定する必要がある。このため、光学画像の焦点位置を変更することが好ましい。この際、焦点位置の調整をユーザが手動で行う他、自動で焦点位置を調整するようにしてもよい。例えば上述の通り、ユーザが光学画像上で所望の位置をクリックすると、指定された位置でオートフォーカスが実行される方法が利用できる。一例として、図43Aと同じ測定対象物に対して、図43Aで指定した高さ指定位置よりも高い位置を高さ指定位置として指定する光学画像Bの例を、図43Bに示す。また図43Bよりも高い焦点位置に調整した光学画像Cを図43Cに示す。さらに図43Bで指定された高さ指定位置で生成された高さ画像Eを図43Eに、図43Cで指定された高さ指定位置で生成された高さ画像Fを図43Fに、それぞれ示す。
このようにユーザは、測定対象物の高さ範囲をすべて含むように、異なる高さ範囲で高さ画像を複数枚取得する必要がある。好ましくは、測定対象物の異なる高さの内で、低い位置から高い位置に、あるいは高い位置から低い位置に、順に高さ指定位置を順次指定していくことが好ましい。このような複数の異なる高さ指定位置を適切に指定できるよう、例えば指定済みの高さ指定位置の高さ情報を表示部400上の指定済み高さ指定位置表示欄に表示させ、高さ指定位置を追加する度に高さ情報の一覧を更新するようにしてもよい。
このようにして、追加の高さ指定位置が指定されると、同様にステップS4203に進んで指定された高さ指定位置で高さ画像を生成し、一時保存する。そしてステップS4204において、同様に追加の高さ指定位置の要否を判定する。
このようにして必要な高さ画像がすべて得られたとユーザが判断すると、ステップS4205に進み、合成高さ画像の生成を指示する。ここでは形状測定装置が、得られた複数枚の高さ画像を深度方向に合成して、より広い深度範囲を有する合成高さ画像を合成処理部216でもって生成する。一例として、図43Dの高さ画像Dと、図43Eの高さ画像Eと、図43Fの高さ画像Fとを合成した合成高さ画像Gを、図43Gに示す。このようにして、複数の高さ画像が合成されて、形状測定装置で物理的に測定可能な高さ範囲よりも広い高さ範囲の高さ画像を得ることが可能となる。
また以上の手動深度拡張の手順は、形状測定装置でユーザに対して行うべき手順を案内するようにガイダンス機能を持たせても良い。例えば形状測定プログラムでもって、手動深度拡張を実行させると、ユーザに対して行うべき動作を表示部上に表示させて、行うべき手順を誘導することができる。この方法であれば、形状測定装置の操作に詳しくないユーザであっても、行うべき操作を提示して誘導することで、容易に合成高さ画像を生成することが可能となる。
(自動画像XY連結機能)
また本実施形態に係る形状測定装置によれば、高さ画像等の立体形状データをXY方向に連結する画像連結に際して、各立体形状データを生成する際の測定設定を個別に調整すると共に、この調整作業を自動化することもできる。例えば、受光部の光軸方向と直交する平面であるXY平面において画像を連結するXY連結に際して、図44に示すように低倍率で撮像した画像、あるいはナビゲーション用の連結マップ画像を広域画像として、この広域画像を複数の部分領域に分割し、各部分領域で生成した立体形状データである高さ画像をXY方向に連結して合成高さ画像を生成する場合を考える。このようなXY平面での画像連結処理において、各部分領域で順に高さ画像を生成するに際して、測定を行う測定設定を設定する必要がある。ここで、測定設定を各部分領域で共通にしてしまうと、十分な精度の高さ画像が得られないことがある。例えば測定対象物が部分的に異なる材質で構成された場合は、投光したパターン光が金属のような光沢面で多重反射されたり、半透明の樹脂の部分ではパターン光が潜り込みを生じる等して、通常の測定では正しい高さ画像が得られないことがある。この場合には、多重反射や光の潜り込みに適した測定設定にて高さ画像を測定する必要があるところ、このような測定では撮像を複数回行う必要があるなど、高さ画像の生成に時間がかかる。このため、すべての部分領域で同じ測定設定として高さ画像を生成すると、トータルでかかる時間が長くなってしまう。同様に測定対象物中に凹凸の起伏が大きい領域と平坦な領域が混在する場合は、凹凸の高低差がある領域ではZステージを深度方向に駆動させて異なる高さでの撮像を繰り返す必要があるところ、平坦な領域で同様に高さの異なる撮像を繰り返すと、無駄な動作が増える上時間がかかる。また、このような様々な部分領域に対してユーザが手動で適切な測定設定を個別に設定することも考えられるが、この作業は非常に手間がかかるという問題があった。
さらに一方では、部分領域毎に測定後の立体形状データをユーザに表示させて、ユーザがその部分領域の形状測定をやり直したい場合には、測定設定を変更した上で再度測定を行い、所望の測定結果が得られると、この新たに得られた立体形状データに置き換える方法も考えられる。しかしこの場合であっても、ユーザが測定結果を一々確認して、再測定の必要性を判断しなければならず、手間がかかっていた。また、測定設定をどのように変更すれば所望の測定結果が得られるかについても、容易には判断できないことがあり、更に作業を複雑にしていた。
そこで本実施形態においては、このような高さ画像等の立体形状データをXY連結して合成立体形状データを生成するに際しての測定設定の調整作業を自動化させることで、容易に視野の広い立体形状データを取得することを可能としている。すなわち、複数の部分領域に対して、設定条件を個別に自動調整可能としてユーザの負担を軽減している。特に、一旦取得した受光データや立体形状データに基づいて、部分領域測定設定を適切な条件に調整すると共に、必要に応じて調整後の各部分領域の測定設定でもって再度立体形状データを生成して、より高品質あるいは高精度な立体形状データを得ることができる。また部分領域毎に調整した各部分領域の測定設定を保存することで、同様の測定対象物の検査を行う際にはこれを読み出して測定設定とすることにより、測定設定の自動調整の工程を省略して処理の簡素化を図ることもできる。
(測定設定自動調整部217)
このような測定設定の自動調整は、図1等で示す測定設定自動調整部217で行う。画像XY連結に際して、測定設定自動調整部217は、部分領域測定設定の調整を全自動で行う他、ユーザが測定設定部255で設定した測定設定を、測定設定自動調整部217で自動で調整したり、あるいは逆に、測定設定自動調整部217で自動で調整した測定設定を、ユーザが測定設定部255で調整するようにしてもよい。また自動設定に際しても、形状測定装置側で初期値として設定した測定設定を、測定設定自動調整部217で調整して調整測定設定とすることもできる。このように測定設定自動調整部217は、高さ画像等の立体形状データを生成するための測定設定を完全自動で調整する他、ユーザによる設定を組み合わせた半自動としてもよい。なお測定設定部255は、初期の測定設定をユーザが手動で設定するための部材である。ただ測定設定部255を、形状測定装置側で予め準備した測定設定の初期設定値を入力する部材としてもよい。そして各部分領域の測定設定は、ユーザが指定した部分領域測定設定、あるいは機器側で用意された初期設定値、測定設定自動調整部217により自動調整された条件である。
(反射光、潜り込み光除去モード)
ここで、反射光や潜り込み光の存在する場合に、これら除去する測定設定で測定を行う測定モードについて説明する。例えば図45に示すように、半透明の樹脂製の拡散板を備える測定対象物に対して、一般的な測定設定で測定を行った場合、すなわちパターン光を投光して縞画像から生成された高さ画像の例を、図46Aに示す。この図に示すように、通常のスキャンモードでは潜り込み光の影響により、半透明な拡散板部分はうまく測定できず、高さ画像のデータが欠損した状態となる。これに対して、測定モードを反射/潜り込み光除去モードとして測定した高さ画像の例を、図46Bに示す。上述のとおり反射/潜り込み光除去モードにおいては、測定光の投影パターンを通常よりも細かくすることで、間接光成分を低減する。潜り込み光除去モードで測定した結果、図に示すように、半透明な拡散板部分も相当部分で測定ができていることが判る。
ただ、このような特殊な測定モードは通常よりも処理時間が長くなってしまう。このためすべての部分領域において、あるいはすべてのXY位置において、潜り込み光除去モードで測定すると、測定時間が長大になってしまう。そこで、潜り込み光や多重反射光が多い領域についてだけ、この測定モードを使うようにすることで測定時間を短縮できる。上述の例では、一旦スタンダード測定モードで高さ画像を生成し、図46Aに示すように欠損している領域が生じた部分領域においては、部分領域測定設定を測定設定自動調整部217で再設定して、高さ画像を生成し直して差し替えることで、図46Bに示すような欠損部分の少ない高さ画像を得ることができる。
同様に、測定対象物の高低差が大きい領域については、深度範囲を拡張して測定しつつも、高低差が小さい領域では深度範囲を限定して測定を行うことで、測定時間を圧縮して効率良く測定処理を行える。例えば図46A、図46Bの例において、すべてのXY位置で測定対象物の高さ範囲(図中において矢印で示す範囲)を測定すると時間がかかるところ、測定対象物の外殻の領域のみ(図44において連結領域の周囲に位置する部分領域)について深度拡張測定モードを行う一方で、それ以外の部分領域(図44において連結領域の内部に位置する部分領域)ではZ範囲拡張を行わないことで、測定時間を短縮できる。
(潜り込み光と空隙との判別)
また測定設定自動調整部217は、測定モードの自動選択にあたり、高さ画像の一部に欠損部分が生じている場合に、その原因が潜り込み光によるものか、あるいはそもそも形状自体が欠損しているものなのか(空隙や穴など)を区別する。いいかえると、潜り込み光が原因と判定した場合は、部分領域測定設定を変更した再測定を行うものの、空隙と判定した場合は、再測定を行わない。このような判定方法の一例を、図47A~図47Dに基づいて説明する。これらの図において、図47Aはある測定対象物の縞画像のイメージ図を、図47Bは図47Aの測定対象物の内、金属部分の輝度プロファイルを、図47Cは穴部分の輝度プロファイルを、図47Dは白樹脂部分の輝度プロファイルを、それぞれ示している。この内図47Bに示す金属部分については、輝度プロファイルで明確なピークが表れており、正しく高さ情報を測定できることが判る。一方、図47Cの穴部分と、図47Dの白樹脂部分は、縞画像上ではいずれも黒く、パターン光が得られていない。ただし、図47Cの穴部分では輝度プロファイルのベース部分が殆どゼロであるのに対し、図47Dの樹脂部分ではベース部分に一定の変位(輝度)が得られていることが判る。このように、図47C、図47D共、輝度プロファイル上でピークが殆ど得られていないものの、ベース部分に輝度信号が得られているか否かでもって、存在しない形状なのか、光の潜り込みによって輝度が得られていないのかを、測定設定自動調整部217でもって区別することが可能となる。
(自動画像XY連結処理の手順)
ここで、合成立体形状データを生成する自動画像XY連結処理の手順を、図48のフローチャートに基づいて説明する。まずステップS4801において、ステージ140の位置を初期化する。ここでステージ140は、電動式のXYステージとする。
次にステップS4802において、測定対象物をXYステージの上に載置する。この状態で表示部上に光学画像を表示させ、倍率を調整し(ステップS4803)、焦点位置を調整する(ステップS4804)。これらの手順は、適宜入れ替えてもよい。
(マップ画像の作成)
次にステップS4805において、マップ画像を作成する。マップ画像とは、得たい合成立体形状データと同程度の視野を有する広域画像である。マップ画像の作成には、渦巻き状にXYステージを移動させる方法や、自動で視野を移動させる方法等が利用できる。
(渦巻き状マップ画像作成方法)
ここで渦巻き状にXYステージを移動させる方法を図49A~図49Cに基づいて説明する。まず初期位置をユーザが指定する。ここでは図49Aに示すように、測定対象物の一部を表示部上に表示させる。初期位置は測定対象物の中心近傍に設定することが好ましい。このように初期位置を決定した上で、ユーザが渦巻き状マップ画像作成の開始を指示すると、初期位置を中心としてその周囲に視野が自動的に移動されて、移動された視野の光学画像が順次撮像されていく。例えば図49Bに示すように、初期位置から下に視野が移動されて光学画像が取得され、さらに左に移動して光学画像を撮像する。このように、渦巻き状に視野が順次移動されて、各位置での光学画像を撮像していく。ここでは初期位置を中心に時計回りに視野が移動されるよう、XYステージをステージ平面方向駆動部148でもって移動させる。このようにして、徐々に視野が拡大されてマップ画像が作成されていく。ユーザは表示部を見ながら、所望の測定対象物の視野が得られた時点で、渦巻き状マップ画像作成処理の終了を指示する。例えば停止ボタンを押下することで、渦巻き状マップ画像作成処理が終了される。このようにして、渦巻き状にマップ画像が作成される。
(XY連結領域の指定)
次にステップS4806において、XY連結を行うXY連結領域を指定する。ここでは自動で画像連結を行う自動画像XY連結領域の指定方法を選択している。XY連結領域については、手動で指定する方法と自動で指定する方法が利用できる。ここで、手動でXY連結領域を設定する方法の例を、図50A~図50Cに示す。これらの方法では、手動で自動XY連結領域の始点や終点を設定する。例えば図50Aの例では、自動XY連結領域の始点と終点を設定する。具体的には、XY連結領域の始点(左端・上端)および終点(右端・下端)の位置を、画面に表示された画像を確認しながら指定する。または図50Bに示すように、「始点」と「長さ」で指定してもい。この例では、XY連結領域の始点(左端・上端)の位置を決定すると共に、そこから領域の縦横の長さを指定する。あるいは図50Cに示すように、「始点」と「枚数」で指定してもよい。この例では、XY連結領域の始点(左端・上端)の位置を決定すると共に、そこから縦横にそれぞれ何枚の画像を測定、連結するかを指定する。
また、自動でXY連結領域を設定する方法を、図51に示す。この例では、形状測定装置が画像処理により、測定対象物の外縁をエッジ領域とし、これが内挿されるように自動的にXY連結領域を決定する。
(XY連結領域の自動設定方法)
このようなXY連結領域を自動で設定する方法として、例えば測定前にマップ画像を撮影してXY連結領域を決めた後、測定を開始する方法や、測定中に立体形状データを解析しながらXY連結領域を決める方法等が挙げられる。これらの方法について、図52、図53のフローチャートに基づいて説明する。
まず、マップ画像でXY連結領域を決めた後、測定を開始する方法について、図52のフローチャートに基づいて説明する。まずステップS5201において、ステージ140上の現在位置で、測定対象物のテクスチャ画像を撮影する。次にステップS5202において、このテクスチャ画像から、測定対象物の輪郭部分のみを抽出した二値化画像に変換する。そして、ステージ面と測定対象物の輪郭を抽出する。次にステップS5203において、測定対象物が上下左右のどの側に伸びているかを二値化画像から判断し、その方向にXYステージを移動させる。そしてステップS5204において、測定対象物全体のテクスチャ画像が得られたか否かを判定し、得られていない場合は上記ステップS5201~S7303を繰り返す。
そして測定対象物全体のテクスチャ画像が得られた場合はステップS5205に進み、マップ画像から測定対象物とステージ面のエッジ部分を抽出して、これが収まるようなXY連結領域を自動設定する。さらにステップS5206において、ユーザは測定開始前に設定された領域を確認し、必要があれば除外領域を設定する。最後にステップS5207において、このようにして規定されたXY連結領域内での測定を開始する。
次に、測定中に立体形状データを解析しながらXY連結領域を設定する方法について、図53のフローチャートに基づいて説明する。まずステップS5301において、ステージ140の現在位置において測定対象物の測定を行う。ここではテクスチャ画像を撮像する。次にステップS5302において、このテクスチャ画像から測定対象物の輪郭部分のみを抽出した二値化画像に変換する。そしてステップS5303において、この二値化画像から測定対象物が上下左右のどちらの面に伸びているかを判断して、その方向にXYステージを移動させる。さらにステップS5304において、測定対象物全体のテクスチャ画像が撮像されたか否かを判定し、未だの場合はステップS5301に戻って上記作業を繰り返す。このようにして測定対象物全体のテクスチャ画像を撮像する。なお、この例ではテクスチャ画像に基づいてXY連結領域を設定する方法について説明したが、これに限らず、例えば高さ画像等の立体形状データを解析してXY連結領域を決めることも可能である。
このようにしてXY連結領域が自動的に設定される。図51の画面に戻って説明を続けると、画像表示領域には、測定対象物の全景が表示されるように倍率を調整した光学画像が表示される。また、測定対象物に重ねて、画像連結の対象となる矩形状のXY連結領域を示している。さらにXY連結領域を、複数の部分領域に分割してグリッド状に表示させている。この例では、自動で演算されたXY連結領域を、自動で部分領域に分割している。またこの状態で、ユーザは表示された測定対象物とXY連結領域、部分領域を確認しながら、必要に応じて設定を変更するよう構成してもよい。図51の例では、画像表示領域に表示された部分領域と対応して、操作領域には部分領域の縦横の大きさや枚数が表示されており、ユーザはこれらの値を調整することができる。また操作領域には、ユーザが行うべき手順を表示させて、設定を誘導させることもできる。この例では、「測定領域の設定」として「測定したい範囲が枠内に収まるように、矩形の位置や大きさを調整します。サイズ/枚数を指定して設定することもできます。」と表示される。
また、測定を行わないマスク領域を設定してもよい。図51の例では、マスク領域設定部として、表示領域に「連結除外領域を設定する」チェック欄を設けている。また、マスク領域設定部の説明として、「測定不要な個所を除外領域として設定します。」とテキストで表示させ、ユーザに対して設定を案内している。
特に測定対象物の全域をXY連結領域で含める必要はなく、ユーザが測定を行いたい領域、例えば表面状態を確認したい領域、高さを測定したい部位、割れや欠けの有無を検査したい領域といった、測定対象物上で注目したい部位のみの立体形状データを取得できれば足りる。よって、必要な領域のみに部分領域を設定したり、測定が不要な領域にマスク領域を設定したりするなどして、効率良く形状測定を行うことが可能となる。
また本明細書においては、説明の便宜上、XY連結領域を複数の部分領域に分割する例を説明したが、必ずしも分割する必要はなく、例えば後述する図55のように、測定したい領域を個別に指定する構成としてもよい。このように本明細書においては、測定対象の複数の領域を集合的にXY連結領域と呼び、またXY連結領域の部分集合を部分領域と呼ぶ。
このようにしてXY連結領域が設定された状態で、立体形状データを測定する測定設定を設定する。ここでは、図45で示したように、深度方向への拡張の有無や範囲を決定する深度拡張測定モードを深度拡張モード選択部254で選択し、図46で示したように、測定モードを測定モード選択部257で選択し、図47で示したように、投光部110による測定方向を測定方向指定部で選択し、さらに図48で示したように、画像表示領域410で表示される画像の明るさを測定明るさ設定部で設定する。
このようにして測定設定が設定された状態で、ステップS4808において連結測定の開始する。ここではユーザによる「測定」ボタンの押下を受け付ける。そしてステップS4809において、測定を実行し、立体形状データを生成すると共に、テクスチャ画像を撮影する。
次にステップS4810において、深度探索範囲内領域があるか否かを判定し、ある場合はステップS4811に進み、深度探索範囲内領域を測定可能な高さ位置にZステージを移動させる。この際、既に測定した高さ位置は除く。また高さ位置が複数ある場合は、最も近い高さ位置に移動させる。そしてステップS4809に戻って処理を繰り返す。
一方、深度探索範囲内領域がない場合は、ステップS4812に進み、連結領域内のすべての合成画像データが生成されたか否かを判定する。未だの場合、すなわち未測定の部分領域が存在する場合は、ステップS4813でXYステージを当該部分領域に移動させた上で、ステップS4809に戻って処理を繰り返す。
そして各部分領域の測定を終えて、連結領域内のすべての合成高さ画像データが生成されたと判定された場合は、ステップS4814において、生成された合成高さ画像を表示させる。
このようにして、合成高さ画像をXY連結した広域合成高さ画像を生成することができる。
(部分領域測定設定の自動調整)
一方、このような広域合成高さ画像の生成に際して、各部分領域毎に部分領域測定設定を自動調整することも可能である。このような広域合成高さ画像の生成手順を、図54のフローチャートに基づいて説明する。まずステップS5401において、ステージ140上に測定対象物を載置させる。次にステップS5402において、マップ画像を作成する。さらにステップS5403において、連続領域の設定を行う。ここまでの作業は、上述した図49のステップS4801~ステップS4806と同様であり、詳細説明を省略する。
次にステップS5404において、XYステージを所定の部分領域に移動させる。ここでは、平面方向駆動部でもってXYステージを、最初に立体形状データを生成する部分領域に移動させる。
次にステップS5405において、この部分領域における測定設定する。ここでは、最初に立体形状データを生成する部分領域における測定設定の初期値を設定する。この測定設定は、初期設定値を予め形状測定装置側で指定したり、部分領域の光学画像から測定設定自動調整部217が自動で解析したり、あるいはユーザが手動で測定設定を設定してもよい。
次にステップS5406において、測定を実行する。ここでは立体形状データ生成部で立体形状データを生成すると共に、テクスチャ画像取得部218でテクスチャ画像を撮影する。
次にステップS5407において、部分領域測定設定を自動調整する。ここでは測定設定自動調整部217が、必要に応じて部分領域測定設定を変更した部分領域の測定設定にする。そしてステップS5408において、部分領域の測定設定で再度測定する必要があるか否かを判定し、必要と判定された場合はステップS5406に戻って再度立体形状データを生成する。なお、テクスチャ画像の再撮像は不要である。ここで再測定の必要性の判断は、例えば測定設定自動調整部217が、部分領域測定設定を妥当と判断して変更しなかった場合は、再測定の必要なしとする。
このようにして測定が実行された後、ステップS5409に進み、未測定の部分領域があるか否かを判定し、存在する場合はステップS5404に戻って、当該未測定の部分領域への移動や測定を同様に行う。
そしてすべての部分領域の測定が終了すると、ステップS5410に進み、得られた立体形状データを合成して合成立体形状データを作成する。
このようにして、自動で部分領域測定設定を調整し、必要に応じて再測定を行って立体形状データを取得し直し、最終的に広視野の合成立体形状データを高品質で得ることができる。
(XY連結測定設定の編集)
また連結測定の完了後に、ユーザは測定結果を確認できる。例えば、得られた広域合成高さ画像を表示部に表示させて、所望の結果が得られているかを視覚的に確認できる。また必要に応じて、各部分領域において分割測定設定を変えて測定をやり直すことができる。この際には、部分領域測定設定を再編集することができる。
また一部の部分領域でのみ測定し直して得られた高さ画像を用いて、広域合成高さ画像を再生成できる。
さらに、各部分領域における測定設定を測定設定保存部243に保存しておくことで、この測定設定を検査実行時に再利用することができる。例えば測定対象物として、基準品の測定対象物との差分を調べる良品検査を行う場合は、検査の運用時において短時間で正確な結果が得られるよう、基準品の測定対象物から各部分領域の測定設定を設定する作業には長めの時間をかけることができる。これによって検査運用時における迅速かつ精度の高い測定が実行可能となる。
(連続測定モード)
この場合、立体形状データ生成部は、通常測定モードと、連続測定モードとを切り替え可能とすることができる。通常測定モードは、上述した通り測定設定自動調整部217で部分領域毎に部分領域測定設定を変化させて、立体形状データを生成する測定モードである。一方連続測定モードは、測定設定保存部243に予め保存された部分領域測定設定を部分領域毎に読み出して、立体形状データを生成する測定モードである。いいかえると、連続測定モードにおいては、部分領域測定設定を自動調整することは行わず、保存済みの部分領域測定設定を読み出して使用することで、処理時間の短縮化を図ることができる。
例えば図55の側面図に示すような表面に突起を部分的に備えた測定対象物の測定を行う場合を考える。突起は色が異なり、また測定対象物の表面の一部に半透明の樹脂部部を備えている。このような測定対象物に対して、部分領域A~Dを設定する例を考える。この場合において、各部分領域の部分領域測定設定を、図56のように予め設定して保存しておく。例えば部分領域Aと部分領域Bとでは、材質の色が異なるため、露光レベル(露光時間や測定光の強度)を異ならせることで、それぞれの縞パターンのコントラストが表現され易くしている。また部分領域Bにおいては潜り込み光が発生するため、測定モードを反射/潜り込み光除去モード(ファインモード)としている。さらに部分領域Dでは高低差が大きいため、深度拡張測定モードとするようZ測定範囲を拡大している。このように、各部分領域に適した測定設定に予め設定して保存しておき、多くの測定対象物の検査を行う連続測定モードに際しては測定設定の自動調整を省略して保存済みの測定設定を読み出して使用することにより、処理時間を短縮化させつつも精度の高い測定や検査を行うことが可能となる。
(誘導部)
連続測定モードにおいては、撮像手段から見て、測定対象物の位置及び姿勢が、保存済みの部分領域測定設定を設定した際の位置及び姿勢である基準姿勢と同じになるように調整する必要がある。このため基準姿勢と同じ位置及び姿勢で測定対象物を配置するようにユーザに促す誘導部を備えてもよい。誘導部は、例えば表示部上に、ユーザに対して測定対象物をステージ140に載置する際、基準姿勢と同じ位置及び姿勢で配置するように誘導メッセージを出力する。
(測定対象位置姿勢検出部)
また、ステージ140上に載置された測定対象物の位置及び姿勢を検出する測定対象位置姿勢検出部を設けてもよく、測定設定保存部243に保存された部分領域の測定設定の取得時の測定対象物の位置及び姿勢に基づいて、測定対象位置姿勢検出部で検出された測定対象物の位置及び姿勢を、平面方向駆動部を駆動させて調整するよう構成してもよい。
(位置決め治具)
あるいは、位置決め治具を用いて物理的に測定対象物の位置及び姿勢を規制してもよい。位置決め治具でもって、ステージ140上に載置された測定対象物の位置及び姿勢を、測定設定保存部243に保存された部分領域の測定設定の取得時の測定対象物の位置及び姿勢と一致させる。