(57)【要約】      （修正有）【課題】高速かつ高精度な信号処理の実現に有利な計測装置及び物品の製造方法を提供する。【解決手段】光切断法により被検体の形状を計測する計測装置は、複数の画素が配置された撮像素子２１を有し、投光部により照射された光の被検体からの反射光による像を撮る撮像部と、第１記憶部５０と、第２記憶部６０と、複数の画素の受光強度分布の重心位置を求める処理部１５とを有する。処理部１５は、撮像部からの画素データを第１記憶部へ格納することと画素データのピーク値を検出することとを並行して行う第１動作と、ピーク値を有する画素を含む部分画素群の画素データを第１記憶部から読み出して第２記憶部に転送することと、部分画素群の画素データのピーク幅を計算することとを並行して行う第２動作と、計算されたピーク幅に基づき、第２記憶部から画素データを読み出して重心位置の計算を行う第３動作とを実行する。【選択図】図３
2016161560.tif 000002
【特許請求の範囲】
【請求項１】
光切断法により被検体の形状を計測する計測装置であって、
被検体に光を照射する投光部と、
複数の画素が配置された撮像素子を有し、前記投光部により照射された光の前記被検体からの反射光による像を撮る撮像部と、
第１記憶部と、
第２記憶部と、
前記複数の画素の受光強度分布の重心位置を求める処理部と、
を有し、
前記処理部は、
前記撮像部からの画素データを第１記憶部へ格納することと当該画素データのピーク値を検出することとを並行して行う第１動作と、
前記ピーク値を有する画素を含む部分画素群の画素データを前記第１記憶部から読み出して第２記憶部に転送することと、前記部分画素群の画素データのピーク幅を計算することとを並行して行う第２動作と、
前記計算されたピーク幅に基づき、前記第２記憶部から画素データを読み出して前記重心位置の計算を行う第３動作と、
を実行することを特徴とする計測装置。
【請求項２】
前記処理部は、１行の画素データの単位で、前記第１動作と、前記第２動作と、前記第３動作とをパイプライン処理することを特徴とする請求項１に記載の計測装置。
【請求項３】
前記第１動作、前記第２動作、前記第３動作、の動作周期はそれぞれ、前記撮像部の撮像の周期よりも短いこと特徴とする請求項１又は２に記載の計測装置。
【請求項４】
前記処理部は、前記第２動作において、前記部分画素群の画素データについて、所定の閾値以上のピーク波形を形成するサンプル点の個数を、前記ピーク幅として求めることを特徴とする請求項１乃至３のうちいずれか１項に記載の計測装置。
【請求項５】
前記処理部は、前記第３動作において、前記ピーク幅に対応する画素データを前記第２記憶部から読み出し、読み出した画素データを用いた加重平均を計算することで、前記撮像素子の画素ピッチよりも高い分解能で前記重心位置を計算することを特徴とする請求項４に記載の計測装置。
【請求項６】
前記処理部は、複数の前記計算された重心位置の移動平均を計算する平均処理部を含むことを特徴とする請求項１乃至５のうちいずれか１項に記載の計測装置。
【請求項７】
前記処理部は、前記複数の画素のうちの欠陥画素の画素値の補正を行う欠陥補正部を含むことを特徴とする請求項１乃至６のうちいずれか１項に記載の計測装置。
【請求項８】
前記欠陥補正部は、前記欠陥画素に隣接する少なくとも１行の正常画素の画素値を用いて前記欠陥画素の画素値の補正を行うものであり、
前記処理部は、前記パイプライン処理の初期において、前記補正に要する画素行の数に対応する数だけ前記第１動作を繰り返した後に、前記第２動作を開始する
ことを特徴とする請求項２に記載の計測装置。
【請求項９】
前記第１記憶部の記憶容量は、前記複数の画素の画素データを記憶するのに必要な容量よりも小さく、前記第２記憶部の記憶容量は、前記第１記憶部の記憶容量よりも更に小さいことを特徴とする請求項１乃至８のうちいずれか１項に記載の計測装置。
【請求項１０】
請求項１乃至９のうちいずれか１項に記載の計測装置を用いて被検体の形状を計測する工程と、
前記工程における計測結果に基づいて前記被検体を加工する工程と、
を含むことを特徴とする物品の製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被検体の形状を計測する計測装置及び物品の製造方法に関する。
【背景技術】
【０００２】
被検物の三次元形状を計測する計測装置として、光切断法を用いた計測装置が知られている。このような計測装置には、高速かつ高精度な測定が要求される。そのため、撮像素子及び信号処理の位置分解能及び精度を向上させ、なおかつ、高速な撮像レートに対応した高速信号処理が必要となる。
【０００３】
特許文献１では、撮像素子からのデータを一旦メモリに保存し、その後、メモリよりデータを取り出して重心演算を行い、撮像素子の位置分解能と精度を向上させている。
【０００４】
また、特許文献２では、複数の画素ブロックにより構成される撮像素子からのデータを並列に処理することにより信号処理の高速化を図っている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−００２５２０号公報
【特許文献２】特開２００９−０４２１１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１の技術では、撮像素子からのデータをメモリに保存し、それらのデータをメモリから読み出して信号処理を行うため、高速な信号処理ができないという問題がある。また、１フレーム分の画像データをメモリに保存するため、大容量のメモリが必要となり、コスト増加、装置サイズ増大等を招く。
【０００７】
また、特許文献２の技術では、信号処理がピーク検出のみであるため、撮像素子の位置分解能及び精度を向上させることができないという問題がある。
【０００８】
そこで本発明は、高速かつ高精度な信号処理の実現に有利な計測装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一側面によれば、光切断法により被検体の形状を計測する計測装置であって、被検体に光を照射する投光部と、複数の画素が配置された撮像素子を有し、前記投光部により照射された光の前記被検体からの反射光による像を撮る撮像部と、第１記憶部と、第２記憶部と、前記複数の画素の受光強度分布の重心位置を求める処理部とを有し、前記処理部は、前記撮像部からの画素データを第１記憶部へ格納することと当該画素データのピーク値を検出することとを並行して行う第１動作と、前記ピーク値を有する画素を含む部分画素群の画素データを前記第１記憶部から読み出して第２記憶部に転送することと、前記部分画素群の画素データのピーク幅を計算することとを並行して行う第２動作と、前記計算されたピーク幅に基づき、前記第２記憶部から画素データを読み出して前記重心位置の計算を行う第３動作とを実行することを特徴とする計測装置が提供される。
【発明の効果】
【００１０】
本発明によれば、高速かつ高精度な信号処理の実現に有利な計測装置を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】実施形態における計測装置の全体構成図。
【図２】実施形態における光切断プローブの構成図。
【図３】第１実施形態における処理部の構成を示すブロック図。
【図４】実施形態における信号処理を説明するタイミングチャート。
【図５】実施形態におけるパイプライン処理のタイミングを説明する図。
【図６】第２実施形態における処理部の構成を示すブロック図。
【図７】第３実施形態における処理部の構成を示すブロック図。
【図８】第３実施形態における処理部の別の構成例を示すブロック図。
【図９】撮像素子からの信号波形の例を示す図。
【発明を実施するための形態】
【００１２】
以下、図面を参照して本発明の実施形態について詳細に説明する。なお、本発明は以下の実施形態に限定されるものではなく、本発明の実施に有利な具体例を示すにすぎない。また、以下の実施形態の中で説明されている特徴の組み合わせの全てが本発明の課題解決のために必須のものであるとは限らない。
【００１３】
＜第１実施形態＞
図１は、本実施形態に係る三次元計測装置１の全体構成図である。三次元計測装置１は、光切断法により被検体の三次元形状の計測を行う計測装置である。三次元計測装置１の３軸駆動ステージは、被検体であるワークを搭載するための定盤２、Ｙキャリッジ３、Ｘスライダー４、Ｚスピンドル５で構成される。Ｙキャリッジ３は門型構造に構成されており、一対の脚部の上端部にてＸビーム６で連結される。定盤２の両側に配置されたエアガイドが、Ｙキャリッジ３の一対の脚部の下端をＹ軸方向に移動自在に支持する。Ｙキャリッジ３の上端部を連結するＸビーム６には、エアガイドを介して、Ｘスライダー４がＸ軸方向に移動自在に支持される。Ｘスライダー４には、エアガイドを介して、Ｚスピンドル５がＺ軸方向に移動自在に支持される。以上のように、Ｚスピンドル５の下端部に設けられた計測ヘッドが、Ｘ、Ｙ、Ｚの３軸方向に移動自在となる３軸駆動ステージを構成する。
【００１４】
また、計測ヘッドのＸ、Ｙ、Ｚの位置座標を読み取るためのエンコーダが設けられる。具体的には、Ｙ座標測定用のリニアエンコーダ７が、Ｙキャリッジの一方の脚部近傍に配置される。また、不図示のＸ座標測定用のリニアエンコーダがＸビーム６に、不図示のＺ座標測定用のリニアエンコーダがＺスピンドル５に配置される。
【００１５】
定盤２に設けられたＹシャフト３３とＹキャリッジ３に設けられたＹ可動部８は、Ｙキャリッジ３をＹ方向に移動するための駆動部を構成する。この駆動部で一方の脚部を移動して門型構造のＹキャリッジ３をＹ軸方向に移動する。Ｘスライダー４をＸ方向に移動するための駆動部は、Ｙキャリッジ３に設けられたＸシャフト３４とＸスライダー４に設けられたＸ可動部から成る。Ｚスピンドル５をＺ方向に移動するための駆動部は、Ｘスライダー４に設けられた不図示のＺシャフトとＺスピンドルに設けられた不図示のＺ可動部から成る。Ｚスピンドル５の先端には、計測ヘッドの姿勢を変えるための２軸回転ヘッド１０が設けられており、Ｚ軸周りの回転、及び水平軸周りの回転が可能となっている。さらに２軸回転ヘッド１０の先端には、光切断プローブ１１が設けられている。メインＰＣ１２は、各ＸＹＺ駆動機構、２軸回転ヘッド１０、及び光切断プローブ１１に制御指令を出し、各計測値を解析して被検体の形状を算出する。
【００１６】
図２は、光切断プローブ１１の構成図である。光切断プローブ１１において、投光部１３は、被検体にＹ軸方向（紙面垂直方向）に延びるライン状の光（ライン光）を照射する。撮像部１４は、投光部１３により照射された光の被検体からの反射光による像を撮るよう構成される。処理部１５は、投光部１３および撮像部１４を制御し、撮像部１４により得られた画像データに基づいて計測値を算出する。本明細書において、ライン光の長手方向の大きさをライン長、短手方向の大きさをライン幅と呼ぶ。
【００１７】
投光部１３は、レーザ光源１６とコリメーターレンズ１７と焦点レンズ１８とシリンドリカルレンズ１９を含む。投光部１３では、レーザ光源１６から射出された光を焦点レンズ１８に透過させることにより、ライン幅方向に集光させる。そして、シリンドリカルレンズ１９に透過させることによりライン光（ラインの長手方向は、図２のＹ方向。）を生じさせる。シリンドリカルレンズ１９を用いるかわりに、スポット光をガルバノミラーやポリゴンミラーで直線走査して見かけ上のライン光とする構成としてもよい。ライン長は一般に、１０ｍｍから数十ｍｍ程度であり、ライン光の長手方向に直交する方向における受光強度分布はガウス分布となりうる。
【００１８】
撮像部１４は、被検体からの反射光を受光する。撮像部１４は、結像レンズ２０と撮像素子２１を含む。結像レンズ２０は、被検体に照射されたライン光を撮像素子２１に結像するためのものである。撮像素子２１は、例えば、光電変換素子を持つ複数の画素がマトリクス状に配置されたＣＭＯＳセンサである。撮像素子の画素数と画素サイズは用途や要求精度により選択されうるが、例えば、画素数＝ｎ行＊ｍ列＝２０４８＊１０８８、画素サイズ＝１０μｍ＊１０μｍのセンサが適用されうる。
【００１９】
例えば、被検体表面のＺ方向の高さがｚ０である場合、そこにライン光が照射されることで撮像素子２１上のａ０点にスポット像が現れる。被検体表面のＺ方向の高さがｚ１，ｚ２に変化すると、スポット像はそれぞれ、撮像素子２１上のａ１，ａ２に移動する。このように、被検体表面のＺ方向の高さの差が、撮像素子２１上でのスポット像の位置の変化として現れることになる。これを利用して、処理部１５は、撮像素子２１によって得られた画像から三角測量の原理に基づき被検体表面のＺ方向の高さを算出する。
【００２０】
本実施形態における三次元計測装置１、光切断プローブ１１の構成は概ね以上のとおりである。次に、処理部１５の構成を、図３を参照して説明する。
【００２１】
処理部１５は、撮像素子２１から出力されるアナログ画像信号をデジタル化するＡ／Ｄ変換器１３０と、レーザ光源１６に駆動電流を供給するドライバ１２０と、デジタル信号処理部１００とを含む。デジタル信号処理部１００において、電流制御部１１０の出力がドライバ１２０を駆動し、レーザ光源１６に所定の電流を流してレーザ光を発光させる。また、電流制御部１１０は、必要に応じて後述する受光強度が所定の値となるようなオートパワーコントロールを行うよう構成されてもよい。なお本実施形態では、電流制御部１１０はデジタル信号処理部１００において構成されているが、アナログ素子により構成されてもよい。
【００２２】
ここで、図９を参照して撮像素子２１から出力される信号について説明する。撮像素子の横方向をｘ、縦方向をｙとし、受光したライン光の長手方向がｙ方向の場合、ｘ方向は概ねガウス分布となる。図９は、ｙ方向の画素位置をある値に固定して、ｘ方向の画素位置に対する信号振幅を示したものである。例えば、画素サイズが１０μｍの場合、隣り合う◇印のプロット点の間隔は１０μｍである。
【００２３】
振幅ゼロ付近は、被検体（測定対象物）からの反射光が無い画素からの出力であり、信号が多少上下しているのは、撮像素子２１等におけるノイズによるものである。横軸の中央付近で振幅が１に近い値を示している点が被検体からの反射光のピーク点である。例えば、このピーク点のｘ方向の画素位置を求めると、あるｙ方向の画素位置における受光したライン光の位置を検出することができる。従って、他の各ｙ値におけるｘ方向のピーク点の画素位置を求めることにより、撮像素子２１が受光したライン光の位置を検出することができる。
【００２４】
そして、三角測量の原理によって、この検出したライン光の位置と光源照射位置とに基づき、被検体の位置、距離、または変位を測定することが可能となる（光切断方式）。
【００２５】
図３に戻り説明を続ける。撮像素子２１の出力信号は、Ａ／Ｄ変換器１３０に入力され、デジタル信号に変換される。以降の信号処理は、デジタル信号処理部１００で行われる。デジタル信号処理部１００は、ＦＰＧＡ（Field Programmable Gate Array）やＡＳＩＣ（Application Specific Integrated Circuit）で構成されうる。あるいは、デジタル信号処理部１００は、ＤＳＰ（Digital Signal Processor）やＣＰＵ（Central Processing Unit）として構成されてもよい。
【００２６】
Ａ／Ｄ変換器１３０からの画素データは、デジタル信号処理部１００の第１記憶部５０とピーク検出部３０に入力される。第１記憶部５０は、データの読み出しと書き込みが可能なＲＡＭ（Random Access Memory）で構成されうる。また、ピーク検出部３０は、図９を用いて説明したように、例えば撮像素子２１の画素位置をｘ，ｙで表した場合、各ｙ値におけるｘ方向のピーク点とその画素位置を検出する。
【００２７】
ここで、図４を参照して本実施形態の信号処理の例を説明する。図４は撮像素子２１とデジタル信号処理部１００の動作の例を示すタイミングチャートである。ｅｘｐ＿ｓｔａｒｔ信号（撮像開始信号）は、撮像素子２１の撮像開始のタイミングを示す。ｅｘｐ＿ｅｎｄは撮像終了を示す撮像終了信号である。即ち、撮像素子２１は、ｅｘｐ−１で示された時間で被検体からの反射光を撮像する。ｗａｉｔで示された時間は、撮像素子２１からの画像信号をＡ／Ｄ変換器１３０でデジタルされ画素データが出力される処理時間を含む所定の待機時間である。ｅｘｐ−１の画素データはｒｅａｄ＿ｏｕｔ−１のタイミングでデジタル信号処理部１００に入力される。デジタル信号処理部１００では、例えば、Ａ／Ｄ変換器１３０からの信号がシリアル信号である場合、不図示のシリアル／パラレル変換が行われる。
【００２８】
ここで、Ａ／Ｄ変換器１３０からの画素データは第１記憶部５０に格納されるとともに、これと並行して、ピーク検出部３０に入力されてピーク値が検出される。図４に示されるように、画素データのＲＡＭ＿１＿ＷＲ（第１記憶部５０への格納）とピーク値の検出が並列に行われる（第１動作）。画素データの第１記憶部５０への格納とピーク値の検出が同時並行に行われるため、処理時間を大幅に短縮することができる。この第１動作をＳｔｅｐ−１とする。
【００２９】
例えば、撮像素子２１の画素数をｎ行＊ｍ列＝２０４８＊１０８８、フレームレートを１００ｆｐｓ、撮像素子２１の１行を１６分割して画像データを出力する場合を考える。この場合、１ラインの出力データレートは２０４８＊１０８８＊１００／１６＝１３．９２６ＭＨｚとなる。つまり、この場合、Ａ／Ｄ変換器１３０からの１画素当たりのデジタル信号は、１３．９２６ＭＨｚで更新される。なお、Ａ／Ｄ変換器１３０からの信号がシリアル信号で、例えば、１画素当たり１０ｂｉｔの場合、デジタル信号処理部１００への入力は、１３．９２６ＭＨｚ＊１０ｂｉｔ＝１３９．２６Ｍｂｐｓとなる。従って当該シリアル信号は、不図示のシリアル／パラレル変換処理により、処理レートｆｐ＝１３．９２６ＭＨｚのパラレルデータに変換される。
【００３０】
各信号処理におけるタイミングはタイミング生成部７０により管理され、Ｓｔｅｐ−１における画素データの第１記憶部５０への格納とピーク検出は、例えばｃｌｋ＿１、ｃｌｋ＿２で行われる。このｃｌｋ＿１及びｃｌｋ＿２は、パラレルデータに変換される処理レートｆｐと同じ又はそれ以上の周波数で処理するよう構成されてもよい。例えば、ｃｌｋ＿１とｃｌｋ＿２を１００ＭＨｚとして、ｆｐ＝１３．９２６ＭＨｚよりも十分高い周波数に設定すると、Ａ／Ｄ変換器１３０からのデータのピーク検出を、次のデータが入力される前に終了することが可能となる。
【００３１】
次に、Ｓｔｅｐ−２として、上記ピーク値を有する画素を含む部分画素群の画素データを第１記憶部５０より読み出して第２記憶部６０へ転送することと、部分画素群の画素データのピーク幅を計算することを並行して行う（第２動作）。ピーク幅の計算は、ピーク幅判定部４０で行われる。
【００３２】
図４のタイミング図を参照すると、Ｓｔｅｐ−２のＲＡＭ＿１＿ＲＤ（第１記憶部５０からの読み出し）とＲＡＭ＿２＿ＷＲ（第２記憶部６０への書き込み）、ピーク幅判定部４０の処理が並列に行われる。第２記憶部６０への転送とピーク幅判定部４０の処理が同時並行で行われるため、処理時間を大幅に短縮することができる。
【００３３】
ピーク幅判定部４０は、各ｙ値におけるｘ方向のピーク点付近の信号において、所定の閾値以上となるｘ方向の画素位置を求めてピーク幅を算出する。ここで、ピーク幅とは、所定の閾値以上のピーク波形を形成するサンプル点の個数をいう。再度、図９を参照すると、例えば、所定の閾値を、撮像素子２１で検出された反射光の信号のピーク値＊１／ｅ２、即ち、ピーク値＊０．１３５とすると、このレベルが破線で表される。ピーク幅判定部４０は、このピーク波形における閾値以上のサンプル点（◇印）の個数を計数し、これをピーク幅として出力する。
【００３４】
例えば、撮像素子２１の１画素が１０μｍで、２０４８列並んでいる場合の１行の長さは１０μｍ＊２０４８＝２０．４８ｍｍとなる。被検体からの反射光のライン光の広がりは、数十μｍ〜数百μｍ程度である。ピーク幅判定部４０でライン光のレベルを判定する場合、撮像素子からの全データを判定する必要はなく、ピーク検出部３０で検出されたピーク値付近の数十μｍ〜数百μｍの範囲内の画素（部分画素群）のデータを用いて判定すればよい。従って、ピーク検出部３０で検出したピーク値を有する画素を含む部分画素群の画素データをｒｄ＿ａｄｒにより第１記憶部５０から読み出し、第２記憶部６０に転送する。また、これと並行して、ピーク幅判定部４０においてピーク幅を算出する。これにより、信号処理の時間を短縮し、かつ、第２記憶部６０におけるメモリ容量を大幅に削減することが可能となる。
【００３５】
第１記憶部５０の読み出し、第２記憶部６０の書き込み、ピーク幅判定部４０の演算は、それぞれｃｌｋ＿３、ｃｌｋ＿４、ｃｌｋ＿５で動作するよう構成されてもよい。また、これらの演算は、パラレルデータに変換される処理レートｆｐより高い周波数で処理するよう構成されてもよい。例えば、ｃｌｋ＿３、ｃｌｋ＿４、ｃｌｋ＿５を１５０ＭＨｚとして、ｆｐ＝１３．９２６ＭＨｚよりも十分高い周波数に設定した場合を考える。この場合、第１記憶部５０からのデータ読出しと第２記憶部６０へのデータ書込み、及びピーク幅判定部４０でのピーク信号の幅の算出を、次のデータが入力される前に終了することが可能となる。これにより、第２記憶部６０への保存やピーク幅判定部４０の処理時間を短縮することが可能となる。
【００３６】
次に、Ｓｔｅｐ−３として、ピーク幅判定部４０で判定されたピーク幅を基に、重心位置の計算に用いる画素データを第２記憶部６０より読み出し、重心位置計算部８０で重心位置の計算を行う。図４を参照すると、Ｓｔｅｐ−３のＲＡＭ＿２＿ＲＤ（第２記憶部６０からの読み出し）と重心位置の計算を同時並行で行う。
【００３７】
重心位置計算部８０では、撮像素子の画素ピッチよりも高い分解能の位置を求めるため、例えば、ピーク値座標付近の画素値を用いた加重平均による重心検出が行われる。画素位置Ｘiの画素値をＶi、ｍを計算に含める画素数とすると、加重平均による重心位置Ｘoutは、次式で表される。
【００３８】
【数１】
2016161560.tif 000003
【００３９】
図９の例において、ピーク幅は、閾値以上のサンプル点（◇印）の個数に相当する８である。重心位置計算部８０は、このピーク幅に対応する８個の画素データを、ピーク幅判定部４０からのｒｄ＿ａｄｒにより第２記憶部６０から読み出す。これら読み出した画素データを用いて上記計算が行われる。
【００４０】
また、第２記憶部６０、重心位置計算部８０はそれぞれｃｌｋ＿６、ｃｌｋ＿７で動作するよう構成されてもよく、パラレルデータに変換される処理レートｆｐより高い周波数で処理するよう構成されてもよい。こうすることで、第２記憶部６０からのピーク幅に対応する画素データの読み出しや重心位置計算部８０の処理時間を短縮することが可能となる。
【００４１】
ここで、図４からも分かるように、Ｓｔｅｐ−１、Ｓｔｅｐ−２、Ｓｔｅｐ−３は、１行の画素データの単位で、パイプライン処理または並列処理されうる。そのため、これらの信号処理において、Ｓｔｅｐ−２のＲＡＭ＿１＿ＲＤとＳｔｅｐ−３のＲＡＭ＿２＿ＲＤの処理が重なる。従って、記憶部が第１記憶部５０のみで構成された場合、第１記憶部５０からのデータ読み出しが同時に発生するため正常に動作しない可能性がある。
【００４２】
これに対し本実施形態では、第１記憶部５０及び第２記憶部６０の２つの記憶部を有する。Ｓｔｅｐ−２のＲＡＭ＿１＿ＲＤは第１記憶部５０よりデータを読み出し、Ｓｔｅｐ−３のＲＡＭ＿２＿ＲＤは第２記憶部６０よりデータを読み出す。これにより、Ｓｔｅｐ−１、Ｓｔｅｐ−２、Ｓｔｅｐ−３のパイプライン処理または並列処理が可能になる。このように、２つの記憶部を設けたことにより、デジタル信号処理部１００の動作がパイプライン処理または並列処理され、信号処理の時間を大幅に短縮することが可能となる。
【００４３】
以上述べたように、ｅｘｐ−１の撮像データは、ｅｘｐ−２の撮像が行われている間にＳｔｅｐ−１、Ｓｔｅｐ−２、Ｓｔｅｐ−３の信号処理が行われ重心位置が算出される。ｅｘｐ−２の撮像データはｅｘｐ−３の撮像が行われている間に処理され重心位置が算出される。つまり、Ｓｔｅｐ−１、Ｓｔｅｐ−２、Ｓｔｅｐ−３のパイプライン処理または並列処理により高速かつ高精度な信号処理を行うことが可能となる。
【００４４】
次に、上記したパイプライン処理のタイミングを図５を参照して説明する。
【００４５】
図５のカラム５０１は、撮像素子２１の画素行番号を示す。カラム５０２は、撮像素子２１の１行を１６分割し、そのうちの１つのブロックにおける列番号を示す。従って、１列目、２列目、…、１２８列目までが定義されている。ここで、１行当たりの画素数は、１２８＊１６＝２０４８である。
【００４６】
Ａ／Ｄ変換器１３０からの信号は、１行目、１列目のデータから順次出力され、１２８列目が終了後、２行目の１列目のデータが出力される。各１６個のブロックからは、行と列のデータが同期して出力される。
【００４７】
図５のカラム５０３，５０４，５０５には、デジタル信号処理部１００におけるＳｔｅｐ−１、Ｓｔｅｐ−２、Ｓｔｅｐ−３の処理のタイミングが記されている。カラム５０３は、Ｓｔｅｐ−１として、ＲＡＭ＿１＿ＷＲとピーク検出が１行目のデータに対して行われ、２行目以降も順次、同様に行われることを示している。
【００４８】
カラム５０４は、Ｓｔｅｐ−１が３行目の処理を開始するタイミングで、Ｓｔｅｐ−２が実行されることを示している。Ｓｔｅｐ−２では、１行目のデータに対するＲＡＭ＿１＿ＲＤ、ＲＡＭ＿２＿ＷＲ、並びにピーク幅判定が行われる。２行目以降も順次、同様に行われる。
【００４９】
カラム５０５は、Ｓｔｅｐ−２が２行目の処理を開始するタイミングで、Ｓｔｅｐ−３が実行されることを示している。Ｓｔｅｐ−３では、１行目のデータに対するＲＡＭ＿２＿ＲＤ及び重心位置計算が行われる。２行目以降も順次、同様に行われる。
【００５０】
ここで、撮像素子２１の１行を１６分割した場合、第１記憶部５０は１６個のＲＡＭで構成してもよい。この場合、Ａ／Ｄ変換器１３０からの１６チャンネルの信号を同時に並行して第１記憶部５０に記憶することが可能となる。同様に、ピーク検出部３０も、１６個の並列演算可能なピーク検出演算器で構成してもよい。この場合も同様に、Ａ／Ｄ変換器１３０からの１６チャンネルの信号を同時に並行してピーク検出することが可能となる。但し、この場合、各チャンネルでのピーク値の中で最大値となるピーク値を検出する最大値ピーク検出が必要となる。
【００５１】
例えば、撮像素子２１の画素数をｎ行＊ｍ列＝２０４８＊１０８８とすると、ｎ行＝２０４８、ｍ列＝１０８８となる。本実施形態では、Ｓｔｅｐ−１、Ｓｔｅｐ−２、Ｓｔｅｐ−３は、パイプライン処理または並列処理されている。そのため、第１記憶部５０は、撮像素子２１の１フレームデータに相当するｎ行＊ｍ列のデータを全て保存する必要はない。第１記憶部５０の記憶容量は、撮像素子２１の全画素の画素データを記憶するのに必要な容量よりも小さくてよく、また、第２記憶部６０の記憶容量は、第１記憶部５０の記憶容量よりも更に小さくてよい。例えば、図５からも分かるように、Ｓｔｅｐ−２の信号処理は、Ｓｔｅｐ−１が３行目のデータを第１記憶部５０に保存しているタイミングで行われる。このため、４行目のデータの保存は、第１記憶部５０の１行目が保存されているアドレスに上書き保存しても構わない。この場合、第１記憶部５０に必要な記憶容量は、（ｎ−ｘ）行＊ｍ列（ｎ−ｘ≧３）でよい。つまり、ｎ＝２０４８行に対し、（ｎ−ｘ）≧３行の記憶容量とすることが可能となり、大幅な記憶容量の削減が可能となる。
【００５２】
また、第２記憶部６０に必要な保存領域も同様に撮像素子２１の１フレームデータに相当するｎ行＊ｍ列のデータを全て保存する必要はない。Ｓｔｅｐ−３の信号処理は、Ｓｔｅｐ−１が４行目のデータを第１記憶部５０に保存し、Ｓｔｅｐ−２が２行目のデータを第１記憶部５０から読み出し、第２記憶部６０に保存しているタイミングで行われる。このため、次のＳｔｅｐ−２のＲＡＭ＿２＿ＷＲ、即ち３行目のデータの第２記憶部６０への保存は、第２記憶部６０の１行目が保存されているアドレスに上書き保存しても構わない。この場合、第２記憶部６０に必要な記憶容量は、（ｎ−ｙ）行＊（ｍ−ａ）列（ｎ−ｙ≧２）でよい。つまり、ｎ＝２０４８行に対し、（ｎ−ｙ）≧２行の記憶容量とすることが可能となる。また、ｍ＝１０８８列に対し、ピーク検出部３０で検出したピーク値を基に、ピーク値付近の数十μｍ〜数百μｍのデータを第２記憶部６０に保存すればよいため、（ｍ−ａ）＝１０列程度の記憶容量とすることが可能となる。その結果、（ｎ−ｙ）行＊（ｍ−ａ）列（ｎ−ｙ≧２、ｍ−ａ＝１０）となり、大幅な記憶容量の削減が可能となる。
【００５３】
このように、本実施形態では、第１記憶部５０、第２記憶部６０のメモリ容量を大幅に削減することが可能となり、装置のコスト低減、装置サイズの縮小が可能となる。
【００５４】
以上実施形態によれば、信号処理は、撮像部からの画素データを第１記憶部５０へ格納することと、画素データのピーク値を検出することとを並行して行う第１動作を含む。信号処理はまた、ピーク値を有する画素を含む部分画素群の画素データを第１記憶部５０から読み出して第２記憶部へ転送することと、部分画素群の画素データのピーク幅を計算することとを並行して行う第２動作を含む。信号処理はさらに、計算されたピーク幅に基づき、第２記憶部６０から画素データを読み出して重心位置の計算を行う第３動作を含む。また、これらの第１動作、第２動作、第３動作が、画素データ１行単位でパイプライン処理又は並列処理されうる。
【００５５】
また、上記した第１動作、第２動作、第３動作の動作周期はそれぞれ、撮像部１４の撮像の周期よりも短く設定される。このように、デジタル信号処理部の動作をパイプライン処理または並列処理とすることにより、信号処理の時間を大幅に短縮することが可能となる。また、２つの記憶部に必要な記憶容量も、パイプライン処理により１フレームデータから大幅に削減可能となる。
【００５６】
従って、本実施形態によれば、高速かつ高精度な信号処理の実現に有利な計測装置が提供される。
【００５７】
＜第２実施形態＞
次に、第２実施形態を説明する。第１実施形態と異なる点は、図６のデジタル信号処理部１００における最後段に、平均処理部９０が設けられている点である。それ以外の構成は図３と同一であるため、説明を割愛する。
【００５８】
一般に、撮像素子２１からの画素データは、撮像素子の白色雑音等が重畳し対象物からの反射光が十分大きくない場合、Ｓ／Ｎが悪化し、算出される位置精度が劣化してしまう。撮像素子のＳ／Ｎを向上させる方法として、「ビニング」と呼ばれる技術がある。ビニングとは、撮像素子の隣り合う幾つかの画素をまとめて仮想的に受光面積を大きくし、受光感度を上げるものである。例えば、ライン光の長手方向、即ち、Ｙ方向の４画素をまとめて１出力とすると、理論的には白色雑音によるＳ／Ｎは、まとめた画素数の平方根で改善され、この場合、２倍の改善が期待できる。この処理をデジタル信号処理部１００で行おうとすると、Ａ／Ｄ変換器１３０の出力を受け、ピーク検出部３０の前段で隣り合う画素の信号を加算しなければならない。第１実施形態で述べたＡ／Ｄ変換器１３０からのデジタル信号をパラレルデータとして処理レートをｆｐ＝１３．９２６ＭＨｚとすると、ビニング効果を得るにはｆｐの処理レートで加算演算を行わなければならない。例えば画素数を２０４８＊１０８８として、１画素を周辺の４画素でビニングする場合、１画素当たり４回の加算が必要となり、全画素では、２０４８＊１０８８＊４回の加算演算を行わなければならない。更に、ビニング数の増加やフレームレートが上昇すると演算負荷は益々増大するため、デジタル信号処理部１００のコスト増加やデジタル演算による発熱の増加を招く。
【００５９】
そこで本実施形態では、平均処理部９０において、重心位置計算部８０からの出力の移動平均を重心位置出力とする。第１実施形態では、Ａ／Ｄ変換器１３０からの１画素当たりのデジタル信号は、１３．９２６ＭＨｚ毎に更新されるが、図５の説明で述べたように、１行目の全画素データが出力されるレートは１３．９２６ＭＨｚ／１２８＝１０８．７９７ｋＨｚである。従って、各行の重心位置計算は１０８．７９７ｋＨｚ毎に出力される。そのため、重心位置計算部８０からの出力に対して移動平均を算出し、位置出力とした場合、前述した処理レート１３．９２６ＭＨｚの演算に対し、演算レートを１／１２８に低減することができる。このように、平均処理部９０によって、位置精度を向上させるためのデジタル信号処理部１００の演算負荷を大幅に低減することが可能となる。また、この演算は全画素に対して行うのではなく、各行における位置出力に対して行う。例えば、ある行における位置出力に対し、周辺４行の位置でビニング効果を得る場合、４回の加算が必要となる。全２０４８行では２０４８＊４回の平均演算が必要となるが、前述のピーク検出部３０の前段でビニング効果を得る場合に比べ、演算回数は１／１０８８に低減され、大幅にデジタル信号処理部１００の演算負荷が軽減される。
【００６０】
平均処理部９０における重心位置計算データの平均を重心位置出力とすることにより、撮像素子２１のビニング処理またはピーク検出部３０前段での加算演算と同様のビニング効果を得ることができる。これにより、平均処理に用いたデータ数の平方根で位置精度を向上させることが可能となる。
【００６１】
本実施形態によれば、重心位置計算部８０からの出力の移動平均を平均処理部９０において算出し、位置出力とすることで、デジタル信号処理部の演算負荷を大幅に軽減し、コスト及び発熱を低減して高精度な位置の測定が可能となる。
【００６２】
＜第３実施形態＞
次に、第３実施形態を説明する。第１実施形態と異なる点は、図７のデジタル信号処理部１００に欠陥補正部２００が設けられている点である。それ以外の構成は第１実施形態と同一であるため、説明を割愛する。
【００６３】
撮像素子２１は、第１実施形態で述べたように、例えば、２０４８＊１０８８＝２．２２８＊１０６個の画素により構成される。これら多数の画素の中には、結晶欠陥やダストなどによって、正常な信号を出力しない画素欠陥が存在する場合がある。この画素欠陥は、入射光が無い状態でも大きな出力信号を出す白点欠陥と、入射光に対する感度が無い黒点欠陥とがある。結晶欠陥により発生する白点欠陥は、撮像素子の製造時に発生する場合もあるが、経年的に発生する場合もある。
【００６４】
これら白点欠陥及び黒点欠陥からの出力信号は、通常得られる信号レベルに対し、非常に大きく飽和しているか、非常に小さくゼロに近い値となる。従って、被検体からの反射光を撮像する前に、撮像素子２１からの信号を確認し、所定の最大値を超えている画素を白点欠陥とし、所定の最小値より小さい画素を黒点欠陥として画素欠陥テーブルを作成する。この画素欠陥テーブルを欠陥記憶部２１０に保存する。欠陥判定部２２０は、Ａ／Ｄ変換器１３０からの画素データと欠陥記憶部２１０に保存された画素欠陥テーブルとを比較する。比較の結果、正常と判定された画素データについては、第１実施形態と同様に、第１記憶部５０への格納と同時にピーク検出部３０でピーク検出が行われる。一方、欠陥と判定された画素データについては、欠陥除去部２３０にて除去される。次に、仮ピーク検出部２４０にて、欠陥画素データが除去された状態で仮のピーク値を検出する。画素欠陥補正部２５０は、欠陥判定部２２０からのｒｄ＿ａｄｒによって画素欠陥データを補正するための画素データを第１記憶部５０から読み出し、画素欠陥の補正を行う。
【００６５】
この画素欠陥補正の動作を図５を用いて説明する。上述したように、カラム５０２では、撮像素子２１の１行を１６分割し、そのうちの１つのブロックにおける列番号が記述されている。ここで、○は正常画素、×は白点欠陥画素、■は黒点欠陥画素を示す。
【００６６】
画素欠陥補正部２５０は、欠陥画素に隣接する少なくとも１行の正常画素の画素値を用いて当該欠陥画素の画素値の補正を行うものである。例えば、１行目の画素データが、１列目、２列目、と順次、欠陥判定部２２０に入力される。４列目の画素データは、■であるため、黒点欠陥画素と判定され、欠陥除去部２３０でこのデータが除去される。画素欠陥補正部２５０は、画素データが第１記憶部５０に２行以上保存されてから行われる。図５を参照すると、Ｓｔｅｐ−１で３行目のデータが第１記憶部５０に保存されるタイミングでＳｔｅｐ−２が実行され、ここで１行目の画素欠陥補正が行われる。例えば、１行４列目の黒点欠陥画素に対し、２行４列目の正常な画素データを第１記憶部５０から読み出し、この値を１行４列目の画素データとして画素欠陥補正を行う。
【００６７】
画素欠陥補正部２５０で画素欠陥が補正された後、ピーク検出部２６０で最終的なピーク値の検出を行う。以降の動作は、画素欠陥が無い場合のピーク検出部３０と同様であるため、その説明を割愛する。
【００６８】
次に、２行目の画素欠陥補正の例を説明する。２行３列目のデータは×で白点欠陥画素であり、２行５列目と２行１２８列目は■で黒点欠陥画素である。この場合、２行３列目の画素欠陥に対し１行３列目と３行３列目の正常な画素データを第１記憶部５０から読み出し、この２つのデータの平均値を２行３列目の画素データとして画素欠陥補正を行う。同様に、２行５列目の画素欠陥に対し１行５列目と３行５列目の正常な画素データを、２行１２８列目の画素欠陥に対し１行１２８列目と３行１２８列目の正常な画素データを、それぞれ第１記憶部５０から読み出す。そして、各２つのデータの平均値を、各画素欠陥に対する画素データとして画素欠陥補正を行う。つまり、画素欠陥が有る場合、同列の前行、または後行、または前行と後行の値を基に画素欠陥補正を行う。更に多くの画素による平均を行う場合は、画素欠陥補正部２５０の処理タイミングを、補正に必要な行数に応じて遅らせればよい。即ち、撮像データが前記第１記憶部５０に３行以上保存されてから、もしくは、４行以上保存されてから行うよう設定すればよい。このように、本実施形態において、処理部１５は、パイプライン処理の初期において、欠陥補正に要する画素行の数に対応する数だけ第１動作を繰り返した後に、第２動作を開始する。
【００６９】
また、本実施形態を第２実施形態と組み合わせることも可能である。第２実施形態のように例えばビニングにより撮像素子のＳ／Ｎを向上させる場合、図８に示すように、平均処理部９０を追加することができる。この場合、欠陥補正部２００で欠陥補正された画素データによる重心位置計算部８０からの出力が、平均処理部９０にて移動平均処理される。これにより、平均処理に用いたデータ数の平方根で位置精度が向上する。
【００７０】
以上説明した第３実施形態によれば、撮像素子の画素欠陥が存在する場合には、画素欠陥が補正されるため、計測精度を劣化させることなく、高精度な信号処理を行うことが可能となる。
【００７１】
＜物品の製造方法の実施形態＞
本発明の実施形態に係る物品の製造方法は、例えば、金属部品や光学素子等の物品を製造する際に用いられる。本実施形態の物品の製造方法は、上記の計測装置を用いて被検体の形状を計測する工程と、当該計測の結果に基づいて被検体を加工する工程とを含む。かかる製造方法によれば例えば、被検物の形状が計測装置を用いて計測され、その計測結果に基づいて、被検体の形状が設計値になるように当該被検体が加工（製造）される。本実施形態の物品の製造方法は、計測装置により高精度に被検物の形状を計測できるため、従来の方法に比べて、物品の性能・品質・生産性・生産コストの少なくとも１つにおいて有利である。
【符号の説明】
【００７２】
１：三次元計測装置、１１：光切断プローブ、１３：投光部、１４：撮像部、１５：処理部
【図１】
2016161560.tif 000004
【図２】
2016161560.tif 000005
【図３】
2016161560.tif 000006
【図４】
2016161560.tif 000007
【図５】
2016161560.tif 000008
【図６】
2016161560.tif 000009
【図７】
2016161560.tif 000010
【図８】
2016161560.tif 000011
【図９】
2016161560.tif 000012