(57)【要約】【課題】  誤検出や検出誤差を抑えて、測定精度および測定繰り返し性能を向上させること。【解決手段】  パターン光を、被検物体に対して特定の方向から投射する投射手段と、被検物体上におけるパターン光の投射位置と、被検物体との相対位置を変更する変更手段と、パターン光が投射された被検物体の像を、特定の方向と異なる方向から撮像して画像を生成する撮像手段と、相対位置に対する、撮像手段による受光光量を示すプロファイルを、受光光量と所定の閾値とを比較することにより複数のプロファイルに分割する分割手段と、複数のプロファイルのうち、検出に用いる１つのプロファイルを選択する選択手段と、選択手段により選択した１つのプロファイルに基づいて、被検物上におけるパターン光の位置を検出する検出手段とを備える。【選択図】      図２
2009150717.tif 000002
【特許請求の範囲】
【請求項１】
パターン光を、被検物体に対して特定の方向から投射する投射手段と、
前記被検物体上における前記パターン光の投射位置と、前記被検物体との相対位置を変更する変更手段と、
前記パターン光が投射された前記被検物体の像を、前記特定の方向と異なる方向から撮像して画像を生成する撮像手段と、
前記相対位置に対する、前記撮像手段による受光光量を示すプロファイルを、前記受光光量と所定の閾値とを比較することにより複数のプロファイルに分割する分割手段と、
前記複数のプロファイルのうち、検出に用いる１つのプロファイルを選択する選択手段と、
前記選択手段により選択した前記１つのプロファイルに基づいて、前記被検物上における前記パターン光の位置を検出する検出手段と
を備えたことを特徴とする３次元形状測定装置。
【請求項２】
請求項１に記載の３次元形状測定装置において、
前記選択手段は、前記受光光量の最大値に基づいて、前記１つのプロファイルを選択する
ことを特徴とする３次元形状測定装置。
【請求項３】
請求項２に記載の３次元形状測定装置において、
前記分割手段は、前記プロファイルにおける前記受光光量の積算値を記憶する記憶部を２つ備え、一方の記憶部には、現在積算中の前記プロファイルにおける現在の積算値を記憶するとともに、他方の記憶部には、既に算出した前記積算値のうち、最大である積算値を記憶し、
前記選択手段は、前記分割手段により全ての前記複数のプロファイルの積算値が算出された後に、前記受光光量の最大値に基づいて、前記１つのプロファイルを選択する
ことを特徴とする３次元形状測定装置。
【請求項４】
請求項１に記載の３次元形状測定装置において、
前記投射手段は、スリット形状を有する前記パターン光を投射する
ことを特徴とする３次元形状測定装置。
【請求項５】
請求項１に記載の３次元形状測定装置において、
前記検出手段は、前記撮像手段と前記投射位置との相対位置を示す値に基づいて前記１つのプロファイルの重心位置を求め、求めた前記重心位置に基づいて前記被検物上における前記パターン光の位置を検出する
ことを特徴とする３次元形状測定装置。
【請求項６】
パターン光を、被検物体に対して特定の方向から投射する投射手順と、
前記被検物体上における前記パターン光の投射位置と、前記被検物体との相対位置を変更する変更手順と、
前記パターン光が投射された前記被検物体の像を、前記特定の方向と異なる方向から撮像して画像を生成する撮像手順と、
前記相対位置に対する、前記撮像手順における受光光量を示すプロファイルを、前記受光光量と所定の閾値とを比較することにより複数のプロファイルに分割する分割手順と、
前記複数のプロファイルのうち、検出に用いる１つのプロファイルを選択する選択手順と、
前記選択手順において選択した前記１つのプロファイルに基づいて、前記被検物上における前記パターン光の位置を検出する検出手順と
を備えたことを特徴とする３次元形状測定方法。
【請求項７】
パターン光を、被検物体に対して特定の方向から投射する投射ステップと、
前記被検物体上における前記パターン光の投射位置と、前記被検物体との相対位置を変更する変更ステップと、
前記パターン光が投射された前記被検物体の像を、前記特定の方向と異なる方向から撮像して画像を生成する撮像ステップと、
前記相対位置に対する、前記撮像ステップにおける受光光量を示すプロファイルを、前記受光光量と所定の閾値とを比較することにより複数のプロファイルに分割する分割ステップと、
前記複数のプロファイルのうち、検出に用いる１つのプロファイルを選択する選択ステップと、
前記選択ステップにおいて選択した前記１つのプロファイルに基づいて、前記被検物上における前記パターン光の位置を検出する検出ステップと
をコンピュータで実現することを特徴とする３次元形状測定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像手段の出力に基づいて被検物体の３次元形状を測定する３次元形状測定装置、３次元形状測定方法、および３次元形状測定プログラムに関する。
【背景技術】
【０００２】
従来から、所定のパターンを有するパターン光を投射して被検物体の３次元形状を非接触で測定する測定装置が知られている（例えば、特許文献１参照）。このような装置では、被検物体のうち、パターン光を投射する部分の形状に応じたパターン光の変形具合に基づいて、被検物体の３次元形状を測定する。より具体的には、三角測量の原理を利用して、被検物体にパターン光を投射する投射機構と被検物体との方向に対する投射機構と撮像手段との方向の角度と、被検物体と撮像手段との距離と、パターン光を捉えた撮像手段における画素位置と被検物体との方向に対する投射機構と撮像手段との方向の角度との関係に基づいて演算を行い、被検物体までの距離を算出する。
【特許文献１】特許第３８７３４０１号
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、上述した装置において、被検物体の複雑かつ局地的な形状や、被検物体の表面の状態（異素材または同一素材による局地的な表面の粗さ、色の違いやその不均一性など）に起因して、不均一な反射や乱反射などが発生する場合がある。このような場合、誤検出や検出誤差が発生し、精密測定に適さないという問題がある。
【０００４】
本発明の３次元形状測定装置、３次元形状測定方法、および３次元形状測定プログラムは、誤検出や検出誤差を抑えて、測定精度および測定繰り返し性能を向上させることを目的とする。
【課題を解決するための手段】
【０００５】
本発明の３次元形状測定装置は、パターン光を、被検物体に対して特定の方向から投射する投射手段と、前記被検物体上における前記パターン光の投射位置と、前記被検物体との相対位置を変更する変更手段と、前記パターン光が投射された前記被検物体の像を、前記特定の方向と異なる方向から撮像して画像を生成する撮像手段と、前記相対位置に対する、前記撮像手段による受光光量を示すプロファイルを、前記受光光量と所定の閾値とを比較することにより複数のプロファイルに分割する分割手段と、前記複数のプロファイルのうち、検出に用いる１つのプロファイルを選択する選択手段と、前記選択手段により選択した前記１つのプロファイルに基づいて、前記被検物上における前記パターン光の位置を検出する検出手段とを備える。
【０００６】
なお、好ましくは、前記選択手段は、前記受光光量の最大値に基づいて、前記１つのプロファイルを選択しても良い。
【０００７】
また、好ましくは、前記分割手段は、前記プロファイルにおける前記受光光量の積算値を記憶する記憶部を２つ備え、一方の記憶部には、現在積算中の前記プロファイルにおける現在の積算値を記憶するとともに、他方の記憶部には、既に算出した前記積算値のうち、最大である積算値を記憶し、前記選択手段は、前記分割手段により全ての前記複数のプロファイルの積算値が算出された後に、前記受光光量の最大値に基づいて、前記１つのプロファイルを選択しても良い。
【０００８】
また、好ましくは、前記投射手段は、スリット形状を有する前記パターン光を投射しても良い。
【０００９】
また、好ましくは、前記検出手段は、前記撮像手段と前記投射位置との相対位置を示す値に基づいて前記１つのプロファイルの重心位置を求め、求めた前記重心位置に基づいて前記被検物上における前記パターン光の位置を検出しても良い。
【００１０】
なお、上記発明に関する構成を、撮像手段の出力に基づいて被検物体の３次元形状を測定する３次元形状測定方法、および３次元形状測定プログラムに変換して表現したものも本発明の具体的態様として有効である。
【発明の効果】
【００１１】
本発明の３次元形状測定装置、３次元形状測定方法、および３次元形状測定プログラムによれば、誤検出や検出誤差を抑えて、測定精度および測定繰り返し性能を向上させることができる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を用いて本発明の実施形態について説明する。
【００１３】
図１は、本実施形態の３次元形状測定装置１の構成を示す図である。図１に示すように、３次元形状測定装置１は、投射部２、投射部駆動ステージ３、被検物体ホルダ４、撮像部５の各部を備えるとともに、各部を制御する制御部６を備える。
【００１４】
投射部２は、光ビームを射出するレーザ射出部７と、レーザ射出部７から射出された光ビームをスリット形状に整形するシリンドリカルレンズ８とを備える。シリンドリカルレンズ８により整形されたスリット形状の光ビームは、その光量分布がスリットの長手方向と垂直な方向にガウス形状を有する光ビームであり、被検物体Ｔに対して投射される。
【００１５】
投射部駆動ステージ３は、１軸のステージであり、投射部２を上述したスリットの長手方向と垂直な方向（矢印Ａの方向）に駆動する。また、被検物体ホルダ４は、その上面に被検物体Ｔを保持する。また、投射部駆動ステージ３は、投射部２の位置を検出する不図示のエンコーダを備える。
【００１６】
撮像部５は、不図示のレンズや２次元光電変換素子などを備え、光ビームが投射された被検物体Ｔの反射像を、光ビームが投射される方向と異なる方向から撮像する。なお、被検物体Ｔのうち、光ビームが投射された部分は明るくなるので、撮像部５により生成された画像のうち、光ビームが投射された部分に対応する画素の輝度値ＶLは高くなる。
【００１７】
図２は、制御部６の詳細を示す機能ブロック図である。制御部６は、図２に示すように、閾値比較／最高輝度値検出部１０、積算値演算部１１、投射位置メモリ１２を備える。これらの各部には、上述した撮像部５の出力が供給される。また、積算値演算部１１には、閾値比較／最高輝度値検出部１０および投射位置メモリ１２の出力が供給される。また、投射位置メモリ１２には、投射部駆動ステージ３の出力も供給される。
【００１８】
また、制御部６は、画像スイッチ１３、ピーク位置メモリ１４、第１重心演算メモリ１５、第２重心演算メモリ１６、プロファイル選択部１７を備える。画像スイッチ１３には、閾値比較／最高輝度値検出部１０の出力が供給されるとともに、画像スイッチ１３は、積算値演算部１１、第１重心演算メモリ１５、第２重心演算メモリ１６の各部と相互に接続される。ピーク位置メモリ１４は、閾値比較／最高輝度値検出部１０と相互に接続される。また、プロファイル選択部１７には、投射位置メモリ１２、ピーク位置メモリ１４、第１重心演算メモリ１５、第２重心演算メモリ１６の各部の出力が供給される。
【００１９】
さらに、制御部６は、重心位置演算部１８、通過時刻検出部１９、３次元形状演算部２０を備える。重心位置演算部１８には、プロファイル選択部１７の出力が供給される。また、通過時刻検出部１９には、重心位置演算部１８の出力が供給される。さらに、３次元形状演算部２０には、通過時刻検出部１９の出力が供給される。
【００２０】
以上説明した構成の３次元形状測定装置１における測定について、図２から図４を参照して説明する。図３は、測定時におけるある画素の輝度値ＶLの変化を示すグラフの一例である。また、図４は、測定時の制御部６の動作を示すフローチャートである。
【００２１】
以下では、ある画素が図３に示す輝度値ＶLの変化を有する場合を例に挙げて説明する。また、図３に示す検出時刻に対するある画素の輝度値ＶLを示した分布曲線を「プロファイル」と称する。なお、図３において、横軸は検出時刻を示しているが、時刻の経過に伴って、光ビームを被検物体Ｔに照射する位置が変化するので、照射位置を横軸に設定しても良い。また、投射部２と撮像部５との相対位置を横軸に設定しても良い。
【００２２】
図３のプロファイルは、Ｐ１からＰ５の５つのプロファイルからなる。本来測定に用いたいのは、Ｐ３に示す主要なプロファイルである。しかし、従来の方法では、Ｐ１からＰ５の全てのプロファイルを含む全プロファイルを測定に用いていたため、誤検出や検出誤差が発生していた。そこで、本実施形態では、図３に示す全体のプロファイルを、３次元形状検出対象の候補となるプロファイルだけ選出するように複数のプロファイルに分割した上で、本来測定に用いるべき３次元形状検出対象データとなるＰ３のプロファイルのみを選択して測定を行う。プロファイルの分割は、輝度値ＶLと閾値ＶBとの比較に基づいて行い、プロファイルの選択は、最高輝度値に基づいて行う。
【００２３】
詳細について、図４に示すフローチャートを用いて説明する。図４のフローチャートでは、ある画素についての処理を説明するが、全ての画素または一部の画素について同じ処理を行っても良い。
【００２４】
まず、制御部６は、光ビームの走査を開始する（ステップＳ１）。制御部６は、投射部２を制御して、パターン光である光ビームの被検物体Ｔへの投射を開始するとともに、投射部駆動ステージ３を制御して、投射部２を図１の矢印Ａの方向に駆動する。投射部駆動ステージ３は、不図示のエンコーダにより検出した投射部２の位置を、ステージ位置信号ＳPとして投射位置メモリ１２に供給する。
【００２５】
次に、制御部６は、撮像部５を制御して、被検物体Ｔの撮像を開始する（ステップＳ２）。なお、撮像部５による撮像は繰り返し行われる。撮像間隔は、上述したエンコーダに基づいて、投射部２の移動距離に応じた間隔でも良いし、所定の時間間隔であっても良い。このとき、被検物体Ｔのうち光ビームが投射されている部分が平坦であれば、撮像により生成される光ビームの像は直線になる。また、被検物体Ｔのうち光ビームが投射されている部分に凹凸があれば、奥行き方向の位置に応じて光ビームの像が変形する。
【００２６】
撮像部５は、撮像により生成した画素データを閾値比較／最高輝度値検出部１０と積算値演算部１１とに供給する。また、撮像部５は、撮像を行うたびに、撮像タイミング信号ＳTを投射位置メモリ１２に供給する。
【００２７】
閾値比較／最高輝度検出部４は、撮像部５から供給された画素データに基づいて、輝度値ＶLと所定の閾値ＶBとを比較し（ステップＳ３）、輝度値ＶLが所定の閾値ＶB以上である場合には、演算開始信号ＳDを積算値演算部１１に供給する。図３の例では、プロファイルＰ１のうち、ｐ１の時点で輝度値ＶLが閾値ＶB以上となる。なお、この閾値ＶBは経験的に定められるものであり、ユーザの所望する測定精度等に応じて、適宜指定可能な構成としても良い。また、輝度値ＶLが所定の閾値ＶB以上になるタイミングは画素毎に異なる。
【００２８】
なお、以降の処理は、上述した画素毎に行われる。また、投射位置メモリ１２は、上述したステージ位置信号ＳPに基づいて、投射部２の位置を正確にカウントしておき、上述した撮像タイミング信号ＳTをトリガーとして、撮像部５による撮像が行われた時点の投射部２の位置をエンコーダ値ＶEとして積算値演算部１１に供給する。
【００２９】
また、閾値比較／最高輝度検出部４は、輝度値ＶLが所定の閾値ＶB以上である場合には、後述する演算に用いるメモリとして、第１重心演算メモリ１５と第２重心演算メモリ１６との何れかを選択する（ステップＳ４）。そして、選択したメモリを示す情報をスイッチ信号ＳSとして画像スイッチ１３に供給する。画像スイッチ１３は、双方向マルチプレクサであり、スイッチ信号ＳSに基づいて、積算値演算部１１を、第１重心演算メモリ１５と第２重心演算メモリ１６とのうち、閾値比較／最高輝度検出部４により選択された方のメモリと接続する。なお、撮像開始直後には、閾値比較／最高輝度検出部４は、後述する演算に用いるメモリとして、第１重心演算メモリ１５を選択する。
【００３０】
さらに、閾値比較／最高輝度検出部４は、今回の輝度値ＶL（ｐ１の時点では、ｐ１の輝度値）と選択したメモリを示す情報とをピーク位置メモリ１４に記憶する。
【００３１】
積算値演算部１１は、上述した演算開始信号ＳDをトリガーとして、撮像部５から供給された画素データに基づいて、以下の式で示す第１積算値Ａおよび第２積算値Ｂを算出する。
【００３２】
第１積算値Ａ＝Σ（輝度値ＶL）・・・（式１）
第２積算値Ｂ＝Σ（輝度値ＶL×エンコーダ値ＶE）・・・（式２）
そして、積算値演算部１１は、算出した第１積算値Ａおよび第２積算値Ｂを画像スイッチ１３に供給する。画像スイッチ１３は、第１重心演算メモリ１５と第２重心演算メモリ１６とのうち、上述したスイッチ信号ＳSに基づいて接続したメモリに、積算値演算部１１から供給された第１積算値Ａおよび第２積算値Ｂを記憶する（ステップＳ５）。
【００３３】
そして、撮像部５により次の撮像が行われると、閾値比較／最高輝度検出部４は、撮像部５から供給された画素データに基づいて、輝度値ＶLと所定の閾値ＶBとを再び比較し（ステップＳ６）、輝度値ＶLが所定の閾値ＶB以上である場合には、再び演算開始信号ＳDを積算値演算部１１に供給する。
【００３４】
積算値演算部１１は、供給された演算開始信号ＳDをトリガーとして、撮像部５から供給された画素データに基づいて、上述した第１積算値Ａおよび第２積算値Ｂを算出する。積算値演算部１１は、前回までの第１積算値Ａおよび第２積算値Ｂを、第１重心演算メモリ１５と第２重心演算メモリ１６とのうち、ステップＳ４で選択したメモリから読み出し、今回の画素データに基づいてさらに積算し、積算後の第１積算値Ａおよび第２積算値Ｂを、ステップＳ４で選択したメモリに上書きして記憶する（ステップＳ７）。
【００３５】
次に、閾値比較／最高輝度検出部４は、今回の輝度値ＶLとピーク位置メモリ１４に記憶された輝度値ＶLとを比較し（ステップＳ８）、今回の輝度値ＶLがピーク位置メモリ１４に記憶された輝度値ＶLよりも大きい場合には、ピーク位置メモリ１４の輝度値ＶLを更新する（ステップＳ９）。この結果、複数回の撮像が行われた時点で、ピーク位置メモリ１４には、最高輝度値が記憶されることになる。
【００３６】
今回の輝度値ＶLがピーク位置メモリ１４に記憶された輝度値ＶLよりも小さい場合、または、ピーク位置メモリ１４の輝度値ＶLを更新した場合、制御部６は、次の撮像に対して、ステップＳ６以降の処理を再び行う。
【００３７】
そして、輝度値ＶLが所定の閾値ＶB未満になると（ステップＳ６ＮＯ）、制御部６は、１つ目のプロファイルＰ１が終了したと見なして、後述するステップＳ１０に進む。図３の例では、プロファイルＰ１のうち、ｐ３の時点で輝度値ＶLが閾値ＶB未満となる。また、このｐ３の時点で、ピーク位置メモリ１４には、ステップＳ４で選択したメモリとして、第１重心演算メモリ１５を示す情報が記憶されるとともに、最高輝度値として、図３のｐ２の時点での輝度値ＶLとが記憶される。また、第１重心演算メモリ１５には、ｐ１からｐ３の時点までの第１積算値Ａおよび第２積算値Ｂが記憶される。
【００３８】
制御部６は、予め定められた全範囲における撮像を完了したか否かを判定する（ステップＳ１０）。そして、制御部６は、全範囲における撮像を完了したと判定するとステップＳ１１に進む。
【００３９】
一方、全範囲における撮像を完了していないと判定すると、制御部６は、ステップＳ３に戻る。そして、制御部６は、ステップＳ３以降の処理を再び行う。図３の例では、次に輝度値ＶLが所定の閾値ＶB以上となるのは、プロファイルＰ２のうち、ｐ４の時点である。それまでの間は、演算開始信号ＳDが閾値比較／最高輝度検出部４から積算値演算部１１に供給されないので、第１積算値Ａおよび第２積算値Ｂの演算は行われない。
【００４０】
そして、輝度値ＶLが所定の閾値ＶB以上となると、閾値比較／最高輝度検出部４は、演算に用いるメモリを再び選択する（ステップＳ４）。なお、２つ目のプロファイルＰ２の開始時点では、第２重心演算メモリ１６が未使用であるため、閾値比較／最高輝度検出部４は、演算に用いるメモリとして、第２重心演算メモリ１６を選択する。そして、閾値比較／最高輝度検出部４は、選択したメモリを示す情報をスイッチ信号ＳSとして画像スイッチ１３に供給し、画像スイッチ１３は、スイッチ信号ＳSに基づいて、積算値演算部１１を、第１重心演算メモリ１５と第２重心演算メモリ１６とのうち、閾値比較／最高輝度検出部４により選択された方のメモリと接続する。
【００４１】
そして、輝度値ＶLが所定の閾値ＶB未満になると（ステップＳ６ＮＯ）、制御部６は、２つ目のプロファイルＰ２が終了したと見なして、ステップＳ１０に進む。図３の例では、プロファイルＰ２のうち、ｐ６の時点で輝度値ＶLが閾値ＶB未満となる。また、このｐ６の時点で、ピーク位置メモリ１４には、ステップＳ４で選択したメモリとして、第２重心演算メモリ１６を示す情報が記憶されるとともに、最高輝度値として、図３のｐ５の時点での輝度値ＶLとが記憶される。また、第２重心演算メモリ１６には、ｐ４からｐ６の時点までの第１積算値Ａおよび第２積算値Ｂが記憶される。
【００４２】
制御部６は、上述した処理を全範囲の撮像が完了するまで（ステップＳ１０ＹＥＳ）繰り返す。
【００４３】
ただし、３つ目のプロファイル開始時点（ステップＳ３ＹＥＳ）では、第１重心演算メモリ１５と第２重心演算メモリ１６との両方が使用状態である。この場合、閾値比較／最高輝度検出部４は、ピーク位置メモリ１４に記憶されている情報を参照し、記憶されている最高輝度値が小さい方のプロファイルを判別し、そのプロファイルにおける各演算に用いた方のメモリを、今回の演算に用いるメモリとして選択する。図３の例では、プロファイルＰ３の開始時点ｐ７において、プロファイルＰ１の最高輝度値（ｐ２の時点での輝度値ＶL）とプロファイルＰ２の最高輝度値（ｐ５の時点での輝度値ＶL）とを比較して、プロファイルＰ２の最高輝度値の方が小さいと判別する。そして、プロファイルＰ２における各演算に用いた第２重心演算メモリ１６を、プロファイルＰ３の演算に用いるメモリとして選択する。
【００４４】
同様に、プロファイルＰ４の開始時点ｐ１０においては、プロファイルＰ１の最高輝度値（ｐ２の時点での輝度値ＶL）とプロファイルＰ３の最高輝度値（ｐ８の時点での輝度値ＶL）とを比較して、プロファイルＰ１の最高輝度値の方が小さいと判別する。そして、プロファイルＰ１における各演算に用いた第１重心演算メモリ１５を、プロファイルＰ４の演算に用いるメモリとして選択する。
【００４５】
なお、以前に各演算に用いたメモリを新たなプロファイルにおける各演算に用いる場合には、一旦メモリをクリアした後に用いるものとする。
【００４６】
そして、全範囲の撮像が完了した（ステップＳ１０ＹＥＳ）時点では、図３の例では、ピーク位置メモリ１４には、ステップＳ４で選択したメモリが第１重心演算メモリ１５である場合の最高輝度値として、プロファイルＰ４の最高輝度値（ｐ１１の時点の輝度値ＶL）が記憶されるとともに、ステップＳ４で選択したメモリが第２重心演算メモリ１６である場合の最高輝度値として、プロファイルＰ３の最高輝度値（ｐ８の時点の輝度値ＶL）が記憶される。また、第１重心演算メモリ１５には、プロファイルＰ４（ｐ１０からｐ１２の時点まで）の第１積算値Ａおよび第２積算値Ｂが記憶され、第２重心演算メモリ１６には、プロファイルＰ３（ｐ７からｐ９の時点まで）の第１積算値Ａおよび第２積算値Ｂが記憶されることになる。
【００４７】
なお、全範囲の撮像が完了したか否かの判定は、投射位置メモリ１２により行われる。投射位置メモリ１２は、上述したステージ位置信号ＳPに基づいて、投射部２の位置を正確にカウントし、全範囲の撮像が完了すると、測定終了信号ＳEをプロファイル選択部１７に供給する。
【００４８】
プロファイル選択部１７は、測定終了信号ＳEを受け取ると、ピーク位置メモリ１４に記憶されている情報を参照し、記憶されている最高輝度値が大きい方のプロファイルを判別し、そのプロファイルを、後述する重心位置の演算に用いるプロファイルとして選択する。図３の例では、プロファイルＰ３の最高輝度値（ｐ８の時点での輝度値ＶL）とプロファイルＰ４の最高輝度値（ｐ１１の時点での輝度値ＶL）とを比較して、プロファイルＰ３の最高輝度値の方が大きいと判別する。そして、プロファイルＰ３を重心位置の演算に用いるプロファイルとして選択する（ステップＳ１１）。
【００４９】
そして、プロファイル選択部１７は、選択したプロファイルに関する情報（最高輝度値など）をピーク位置メモリ１４から読み出し、さらに、そのプロファイルにおける第１積算値Ａおよび第２積算値Ｂを、第１重心演算メモリ１５と第２重心演算メモリ１６との何れかから読み出す。図３の例では、プロファイル選択部１７は、プロファイルＰ３に関する情報をピーク位置メモリ１４から読み出すとともに、プロファイルＰ３における第１積算値Ａおよび第２積算値Ｂを、第２重心演算メモリ１６から読み出す。そして、プロファイル選択部１７は、読み出した全ての情報を重心位置演算部１８に供給する。
【００５０】
重心位置演算部１８は、プロファイル選択部１７から供給された情報に基づいて、重心位置を演算する（ステップＳ１２）。重心位置Ｃは、以下の式により演算できる。
【００５１】
重心位置Ｃ＝第２積算値Ｂ÷第１積算値Ａ＝Σ（輝度値ＶL×エンコーダ値ＶE）÷Σ（輝度値ＶL）・・・（式３）
例えば、重心演算に用いるプロファイルが図５に示すｎ〜ｎ＋５の計６回の撮像からなる場合には、第１積算値Ａ、第２積算値Ｂ、重心位置Ｃは、以下のように求められる。
【００５２】
第１積算値Ａ＝（５２０＋７３０＋９００＋８５０＋６８０＋５１０）＝４１９０
第２積算値Ｂ＝（５２０×１２＋７３０×２１＋９００×３３＋８５０×４０＋６８０×５１＋５１０×６２）＝１５１５７０
重心位置Ｃ＝１５１５７０÷４１９０＝３６．１７
そして、重心位置演算部１８は、演算した重心位置Ｃやプロファイル選択部１７から供給された情報を通過時刻検出部１９に供給する。
【００５３】
通過時刻検出部１９は、重心位置演算部１８から供給された情報に基づいて、公知技術と同様に光ビームの通過時刻を検出する（ステップＳ１３）。そして、通過時刻検出部１９は、検出した光ビームの通過時刻を３次元形状演算部２０に供給する。なお、ステップＳ３からステップＳ１３までの処理は、上述した画素毎に行われる。
【００５４】
最後に、３次元形状演算部２０は、通過時刻検出部１９から供給された情報を基に投射部駆動ステージ３の位置を割り出し、その位置情報に基づいて、公知技術と同様に被検物体Ｔの３次元形状を演算する（ステップＳ１４）。
【００５５】
なお、図４のフローチャートで説明した処理は、ハードウェアで実現しても良いし、ソフトウェアで実現しても良い。ハードウェアで実現する場合には、ＡＳＩＣやＦＰＧＡなどの演算回路および各メモリを画素数に応じて用意することにより、即時的な処理を実現することができる。また、ソフトウェアで実現する際には、図３に示した全体のプロファイルを取得してから、各処理を実行すれば良い。
【００５６】
以上説明したように、本実施形態によれば、パターン光の投射位置と被検物体との相対位置の変化に応じた、受光光量の変化を示すプロファイルを、受光光量と所定の閾値ＶBとを比較することにより複数のプロファイルに分割する。そして、複数のプロファイルのうち、検出に用いる１つのプロファイルを選択し、選択した１つのプロファイルに基づいて、被検物上におけるパターン光の位置を検出する。したがって、被検物体において不均一な反射や乱反射などが発生しても、誤検出や検出誤差を抑えて、測定精度および測定繰り返し性能を向上させることができる。
【００５７】
特に、本実施形態によれば、上述した式１から式３を用いて重心位置の演算を行うことにより、受光光量のノイズとして含まれている撮像系のランダムノイズによる影響を平均化して軽減することができるとともに、各画素毎の輝度値のみを演算に用いることにより、撮像系の固定パターンノイズ（シェーディング）の影響や、被検物体における局所的なテキスチャ（輝点）の影響も排除することができる。
【００５８】
また、本実施形態によれば、受光光量の最大値に基づいて、パターン光の位置の検出に用いる１つのプロファイルを選択する。したがって、本来測定に用いるべきプロファイルのみを正確に選択して、測定を行うことができる。
【００５９】
また、本実施形態によれば、プロファイルにおける受光光量の積算値を記憶する記憶部を２つ備え、一方の記憶部には、現在分割対象であるプロファイルにおける現在の積算値を記憶するとともに、他方の記憶部には、既に算出した積算値のうち、最大である積算値を記憶する。そして、全ての複数のプロファイルの積算値が算出された後に、受光光量の最大値に基づいて、パターン光の位置の検出に用いる１つのプロファイルを選択する。したがって、不要なデータを無駄に記憶したり、不要なデータを検出に用いることにより誤検出や検出誤差を発生させたりすることなく、測定精度および測定繰り返し性能を向上させることができる。また、回路規模の増大を抑えることもできる。
【００６０】
また、本実施形態によれば、撮像手段と投射位置との相対位置を示す値に基づいて１つのプロファイルの重心位置を求め、求めた重心位置に基づいて被検物上におけるパターン光の位置を検出する。したがって、いわゆる時間重心の重心位置を正確に検出することができる。
【００６１】
なお、本実施形態では、エンコーダ値に基づいて重心位置を演算する例を示したが、撮像の実行回数や撮像を行った時刻などに基づいて重心位置を演算する構成としても良い。
【００６２】
また、本実施形態では、投射部２から投射される光ビームは、１本のスリット形状である例を示したが、弁別が可能である限り複数本のスリット形状であっても良い。また、所定のパターン形状であっても良い。
【００６３】
また、本実施形態では、投射部２を駆動して被検物体との相対位置を変更する例を示したが、投射部２を固定し、被検物体を駆動して相対位置を変更する構成としても良い。ただし、この場合には、被検物体の移動量に応じて、撮像により生成した画像をシフトする必要がある。
【００６４】
また、本実施形態では、投射部２自体を、投射部駆動ステージ３により駆動する例を示したが、測定精度よりも測定レンジを優先する用途においては、ポリゴンミラー等で光ビームの投射角を走査する構成としても良い。
【００６５】
また、本実施形態で説明した概念を、位相シフト方式など、パターン投影方式以外の方式による３次元形状測定装置に同様に適用しても良い。
【図面の簡単な説明】
【００６６】
【図１】本実施形態の３次元形状測定装置１の構成を示す図である。
【図２】制御部６の詳細を示す機能ブロック図である。
【図３】測定時におけるある画素の輝度値の変化を示すグラフの一例である。
【図４】測定時の制御部６の動作を示すフローチャートである。
【図５】重心演算に用いるプロファイルの一例を示す図である。
【符号の説明】
【００６７】
１…３次元形状測定装置，２…投射部，３…投射部駆動ステージ，４…被検物体ホルダ，５…撮像部，６…制御部，１０…閾値比較／最高輝度値検出部，１１…積算値演算部，１２…投射位置メモリ，１３…画像スイッチ，１４…ピーク位置メモリ，１５…第１重心位置演算メモリ，１６…第２重心位置演算メモリ，１７…プロファイル選択部，１８…重心位置演算部，１９…通過時刻検出部，２０…３次元形状演算部
【図１】
2009150717.tif 000003
【図２】
2009150717.tif 000004
【図３】
2009150717.tif 000005
【図４】
2009150717.tif 000006
【図５】
2009150717.tif 000007