(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0016】
以下に、添付の図面を参照して、この発明に係る画像測定装置、オートフォーカス制御方法及びオートフォーカス制御プログラムの実施の形態を詳細に説明する。
【0017】
[第1の実施形態]
図1は、本発明の第1の実施形態に係る画像測定装置の全体構成を示す図である。
図2及び
図3は、この画像測定装置の一部の構成を示すブロック図である。画像測定装置は、非接触型の画像測定機1と、この画像測定機1を駆動制御すると共に必要なデータ処理を実行するコンピュータシステム(以下、「PC」と呼ぶ。)2とを備えて構成されている。なお、PC2は、例えば測定結果等をプリントアウトするプリンタ4を備えている。
【0018】
画像測定機1は、次のように構成されている。すなわち、試料移動手段である架台11の上には、ワーク(被測定対象)3が載置される試料台(ステージ)12がその上面をベース面として水平面と一致するように載置されている。架台11は、その両側端から立設されたアーム支持体13a,13bの上端でX軸ガイド13cを支持している。
【0019】
試料台12は、例えば架台11に備えられた図示しないY軸駆動機構によってY軸方向に沿って駆動可能に構成されている。また、X軸ガイド13cには、図示しないX軸駆動機構によってX軸方向に沿って駆動される撮像ユニット14が支持されている。
【0020】
撮像ユニット14の下端には、カメラ141が試料台12と対向するように装着されている。このカメラ141としては、CCD、CMOS等の種々のカメラを使用することが可能である。また、第1の実施形態においては、試料台12上に配置されたワーク3を上方から撮像する方式を採用しているが、例えば床に設置されたワークを横方向から撮像するなどの他の方式を採用するようにしてもよい。
【0021】
PC2は、コンピュータ本体21と、入力手段であるキーボード22、ジョイスティックボックス(以下、「J/S」と呼ぶ。)23及びマウス24と、ディスプレイの一例としてのCRT25とを備えて構成されている。コンピュータ本体21は、例えば
図2に示すように構成されている。
【0022】
すなわち、コンピュータ本体21において、カメラ141から汎用のデジタルシリアル通信線としてのUSBケーブル及びUSBポート(
図3参照)を介して転送され入力される撮像されたワーク3の画像情報は、インタフェース(以下、「I/F」と呼ぶ。)31を介して多値画像として画像メモリ32に格納される。
【0023】
また、例えばCADデータによるオフラインティーチングが実行される場合は、図示しないCADシステムにより作成されるワーク3のCADデータは、I/F33を介してCPU35に入力される。CPU35に入力されたCADデータは、例えばCPU35にてビットマップ等の画像情報に展開された後、画像メモリ32に格納される。この画像メモリ32に格納された画像情報は、表示制御部36を介してCRT25に表示される。
【0024】
一方、キーボード22、J/S23及びマウス24から入力されるコード情報や位置情報等は、I/F34を介してCPU35に入力される。CPU35は、ROM37に格納されたマクロプログラム及びHDD38からI/F39を介してRAM40に格納された本発明に係るオートフォーカス(AF)制御プログラムを含む測定実行プログラムや測定結果表示プログラム等の各種プログラムに従って、測定実行処理や測定結果の表示処理等を実行する。
【0025】
また、CPU35は、上記測定実行処理に従って、I/F41を介して画像測定機1を駆動制御する。例えば、CRT25に表示されるカメラ141の撮像範囲外におけるワーク3の画像をCRT25上のビデオウィンドウ25a(
図3参照)に表示する場合は、オペレータの操作によりJ/S23やマウス24から入力された入力情報に基づき、画像測定機1のX,Y軸駆動機構を制御して、試料台12や撮像ユニット14を相対的に移動させる。
【0026】
そして、試料台12や撮像ユニット14が移動した位置において、後述するZ軸駆動機構によってカメラ141をZ軸方向(合焦軸方向)に沿って駆動してオートフォーカス処理を実行し、フォーカス位置によりワーク3の撮像を行う。これにより、新たな撮像範囲内のワーク3の画像をCRT25に表示する。なお、HDD38は、上記各種プログラムやデータ等を格納する記録媒体であり、RAM40は、各種プログラムを格納する他、各種処理におけるCPU35のワーク領域を提供する。
【0027】
第1の実施形態において、画像測定機1は、図示しないコントローラを備えており、コントローラには、位置制御部151(
図3参照)が含まれている。PC2は、位置制御部151を介してカメラ141の焦点位置を制御する。また、PC2は、例えばカメラ141に対してフレームレートを指定する信号や図示しない照明装置の光量を指定する信号等を送信することができるように構成されている。
【0028】
カメラ141は、照明装置から光を照射されたワーク3をPC2により指定されたフレームレートで撮像し、撮像した画像情報を上述したようにUSBケーブル等を介してバルク転送によりPC2に転送する。この際、位置制御部151からは同様にUSBケーブルやUSBポートを介してカメラ141の位置情報がPC2に送信される。なお、照明装置としては、種々の照明が使用可能であり、例えばPWM制御のLED等も用いることができる。
【0029】
撮像ユニット14は、カメラ141のZ座標を検出して出力するリニアエンコーダ143と、カメラ141を測定ヘッド14aと共にZ軸方向に沿って駆動するZ軸駆動機構としてのカメラ駆動機構144と、カメラ駆動機構144を駆動するZ軸モータ145とを備えている。Z軸モータ145は、画像測定機1に備えられたパワーユニット16を介して位置制御部151に接続されている。
【0030】
また、リニアエンコーダ143は、スケール又は測定(検出)ヘッド14aがカメラ141と連動してZ軸方向に移動するように取り付けられている。位置制御部151は、カメラ141のZ座標を図示しないカウンタで計測し、位置情報であるZ値を出力する。位置制御部151は、このZ値の出力数をカウントするラッチカウンタ152と、取得したZ値を配列データとして保持するZ値ラッチバッファ153とを備えている。
【0031】
すなわち、位置制御部151は、後述するトリガ信号に応じて図示しないカウンタがリニアエンコーダ143からカメラ141のZ座標情報を取得して出力し、ラッチカウンタ152がこの出力数をカウントすると共にZ値ラッチバッファ153がこのZ座標情報をZ値として保持するように構成されている。なお、カメラ141は、専用デジタル通信線である専用DIO(デジタル入出力)ケーブルを介して位置制御部151と接続されている。
【0032】
位置制御部151は、パワーユニット16に対してZ軸駆動命令を出力する。パワーユニット16は、Z軸モータ145に駆動電力を供給し、Z軸モータ145は、カメラ駆動機構144によってカメラ141をフォーカス方向へ移動させる。カメラ141は、上述したように任意のフレームレートでワーク3の撮像を行い、USBケーブル等を介してPC2に画像情報を転送する。
【0033】
トリガ信号は、カメラ141及び位置制御部151のいずれか一方から他方に出力されるもので、第1の実施形態においては、カメラ141から位置制御部151に出力される垂直同期(Vsync)信号がトリガ信号として用いられるカメラマスタ方式が採用される。この場合、位置制御部151は、この垂直同期信号を受信し、これに応じて図示しないカウンタがリニアエンコーダ143からのZ座標を取得して出力し、ラッチカウンタ152が出力数をカウントして、Z値ラッチバッファ153がZ値を保持する。
【0034】
これに伴い、ラッチカウンタ152が更新され、Z値ラッチバッファ153に保持されたZ値は、PC2からの読み出し命令(要求命令)に応じてZ値配列データとしてPC2に出力され、CRT25上のカウンタウィンドウ25b(
図3参照)に表示される。なお、第1の実施形態においては、カメラ141をZ軸方向に沿って駆動しているが、カメラ141に設けられたレンズ等の光学系を調整することによっても同様の動作が可能である。また、汎用のデジタルシリアル通信線としてUSBインタフェースを使用しているが、例えばGig−E、FireWire等の他のデジタルシリアル規格により通信を行うようにしてもよい。
【0035】
このように構成された画像測定装置においては、本発明に係るオートフォーカス制御方法により例えば次のようにオートフォーカス処理が実行される。
図4及び
図5は、画像測定装置におけるオートフォーカスの方法を示す図である。
図4に示すように、オートフォーカス処理に際して、まず、カメラ141をワーク3に近い下方又はワーク3から遠い上方のオートフォーカスサーチ開始位置に移動させる。そして、これを上方又は下方に移動速度V(mm/sec)で移動させながら一定の画像取得間隔t
frame(sec)で複数のZ座標(Z0〜Z8)において撮像を行う。
【0036】
その後、それぞれのZ座標位置における画像情報からコントラストを算出することで、コントラストカーブCUVが得られる。こうして得られたコントラストカーブCUVにおける算出された複数のコントラストの中で、最も高い数値を示したものに対応するZ座標がフォーカス(合焦)位置と判断される。
【0037】
図5に示すように、例えば9箇所のZ座標(Z0〜Z8)において撮像を行い、転送先のPC2側でZ0〜Z8の画像情報(image0〜image8)をナンバリングし、それぞれのZ座標におけるコントラスト(P0〜P8)が計算されているとする。この場合、Z4の位置におけるコントラストP4が最も高くなる。このため、Z4の位置がフォーカス位置と判断され、カメラ141のZ座標はZ4に合わされることとなる。
【0038】
しかし、
図4に示すように、9箇所のZ座標(Z0〜Z8)において撮像を行ったとしても、実際に位置制御部151にてラッチされるZ値(L0〜L8)は、撮像タイミングからZ値取得タイミングまでの遅延t
delay(sec)の影響で、撮像タイミングのZ座標(Z0〜Z8)とはずれることとなる。第1の実施形態に係る画像測定装置では、このようなずれが生じても、垂直同期信号に応じてZ位置をラッチすることで、コントラストカーブCUVのピーク位置を正確に算出できる構成としている。
【0039】
なお、画像情報の撮像タイミングのZ位置は、次式により算出することができる。
【0040】
[数1]
Z
i={L
i+1・t
delay−L
i・(t
frame−t
delay)}/t
frame
ただし、
iは画像取得順の番号
【0041】
ここで、このようなコントラスト式のオートフォーカスにおいては、画像情報の出力位置を増やすことによってより正確なフォーカス位置を把握することができるが、出力位置を増やした場合、カメラ141からPCへ転送するデータ量が増加してしまうこととなる。上記のようにカメラ141とPC2とはUSBケーブル等によって接続されているため、画像情報の転送速度は例えば最大で400Mbps程度に制限されてしまい、オートフォーカス処理にかかる時間が増えてしまうこととなる。
【0042】
このため、第1の実施形態に係る画像測定装置では、オートフォーカスの際にカメラ141による撮像範囲のうちの一部の画像のみを切り出してPC2へ転送することによって、カメラ141からPC2へ送信するデータ量を低減させて、フレームレートを上げるようにしている。
【0043】
この転送方法を、
図6を参照して説明する。
図6は、画像測定装置におけるオートフォーカスの方法を示すタイミングチャート、すなわちオートフォーカス時においてカメラ141とPC2との間で通信される信号を示すタイミングチャートである。
図6の上段にはPC2のソフトウェア(以下、「S/W」と呼ぶ。)からカメラ141に送信される信号の一部を、下段にはカメラ141からPC2のS/Wに送信される信号を示している。なお、以降において、特に明記しない限りPC2及びS/Wを含めてPC2と略記することとする。
【0044】
まず、オートフォーカスが開始される前においては、カメラ141からPC2へ、撮像範囲全ての画像情報が送信されている。このとき送信される画像は、例えば
図6の左下に示すようになる。そして、タイミングS1においてPC2からカメラ141へ画像出力停止命令が送信される。
【0045】
カメラ141の画像出力が停止されると、カメラ141から位置制御部151に、ラッチカウンタ152をリセットする旨の命令が送信される。ラッチカウンタ152がリセットされると、カメラ141は上述したようにカメラ駆動機構144によりオートフォーカスサーチ開始位置まで駆動される。なお、後述するようにカメラ141のオートフォーカスサーチ開始位置への移動後にラッチカウンタ152がリセットされてもよい。
【0046】
タイミングS2においては、PC2からカメラ141に送信される画像の範囲が、例えば
図6の中央下に示すように限定される。この際、同時に垂直同期信号を出力する旨の命令を行うことも可能である。続いて、タイミングS3においてPC2からカメラ141に画像出力開始命令がなされ、カメラ141からPC2へ画像情報が出力(転送)される。なお、後述するように、この画像情報と共にシリアル番号情報(タイムスタンプ)が出力されてもよい。
【0047】
また、タイミングS2において垂直同期信号を出力する旨の命令がされていた場合には、カメラ141から位置制御部151へ垂直同期信号が送信され、カメラ141の画像取得時のZ座標が保持される。なお、上記タイムスタンプが出力されている場合は、Z座標と共に保持されてもよい。
【0048】
また、垂直同期信号を使用しない場合には、後述するものの他、例えばカメラ141のフレームレートからカメラ141の撮像のタイミングを計算し、計算したタイミングでカメラ141のZ座標を取得するなど、種々の異なる方式によってカメラ141と位置制御部151との同期を行うこともできる。
【0049】
オートフォーカスが終了したタイミングS4では、PC2からカメラ141へ画像出力停止命令がなされる。続いて、タイミングS5において、オートフォーカス中のカメラ141の設定(画像出力範囲の指定及び垂直同期信号の出力)を解除する旨の信号が送信される。
【0050】
また、位置制御部151には、PC2からZ軸方向の移動停止命令、ラッチ終了(停止)命令及びラッチ数読み出し(要求)命令が送信される。位置制御部151は、カメラ141の移動を停止させ、ラッチカウンタ152及びZ値ラッチバッファ153の動作を停止させ、PC2にラッチ数を送信する。
【0051】
続いて、PC2から位置制御部151にラッチされたZ値配列データの読み出し命令が行われ、位置制御部151からPC2にZ値ラッチバッファ153内のZ値配列データ(Z座標等)が送信される。PC2は、転送された画像情報とZ座標との整合を行い、画像情報から算出したコントラストとZ値との関係を把握する。その後、上記の方法によってフォーカス位置を判断し、カメラ141のZ座標を算出したフォーカス位置まで移動させる。
【0052】
最後に、タイミングS6においてライブ表示の画像出力を再開する旨の命令がされると、オートフォーカス動作が終了し、通常の測定が再開される。この際、カメラ141からPC2へ転送される画像は、
図6の右下に示すように、オートフォーカス開始前と同様のサイズになる。
【0053】
このような方法では、オートフォーカス時にカメラ141からPC2に転送する画像のサイズを減縮しており、USBケーブル等の転送レートに拘わらずカメラ141のフレームレートを大幅に増加させることが可能となる。
【0054】
次に、第1の実施形態に係る垂直同期信号を用いたオートフォーカス処理についてのカメラマスタ方式によるものをより詳細に説明する。
図7は、垂直同期信号を用いたカメラマスタ方式による画像測定装置の一部の構成を示すブロック図である。
図8及び
図9は、同画像測定装置の垂直同期信号の出力タイミングを示すタイミングチャートである。
図10A及び
図10Bは、同画像測定装置によるオートフォーカス制御処理手順を示すフローチャートである。
【0055】
また、
図11〜
図13は、同画像測定装置によるオートフォーカス制御処理手順を示すタイミングチャートである。
図7に示す構成は、
図3において示したものと同様である。この場合においては、撮像ユニット14のカメラ141からUSBケーブル等を介してPC2に画像情報(image)が転送されると共に、ワーク3の撮像完了後にカメラ141から専用DIOケーブルを介して位置制御部151に垂直同期(Vsync)信号が出力される。
【0056】
すなわち、
図8に示すように、カメラ141がグローバルシャッタ方式のCCDで構成された場合は、全ピクセル共通の1フレームの露光期間(撮像期間)の中心(中間点)から、画像取得とZ位置取得とのタイミングのずれ時間(Frame Latency:以下、「FL」と呼ぶ。)だけ後の露光期間の終了時にカメラ141から垂直同期信号が出力される。そして、位置制御部151においてこのときのZ座標(Z位置)がラッチされる。
【0057】
一方、
図9に示すように、カメラ141がローリングシャッタ方式のCMOSで構成された場合は、水平方向に並ぶ各ピクセルの露光期間のタイミングが順次ずれる。従って、全ての露光期間を合わせた1フレームの露光期間の中心から、上記と同様にFLだけ前の1ピクセルの露光期間の終了時にカメラ141から垂直同期信号が出力され、位置制御部151においてこのときのZ位置がラッチされる。
【0058】
このように、第1の実施形態においては、例えば
図7に示すように、USBケーブル等を介した通信において通信競合などにより、カメラ141からの画像情報(例えば、image2,3)のPC2への転送に遅延が生じたとしても、専用DIOケーブルを介して撮像完了後に出力された垂直同期信号に応じて各画像情報に対応するZ位置は位置制御部151にてラッチされることとなる。
【0059】
従って、PC2で転送された画像情報とZ位置との整合を行えば、コントラストカーブCUVのピーク位置を正確に算出することができ、高精度なオートフォーカス動作を確実に行うことが可能となる。このオートフォーカス動作は、具体的には例えば次のように実行される。以下に、
図10A及び
図10Bのフローチャートと共に、
図11〜
図13のタイミングチャートを参照しながら、第1の実施形態によるオートフォーカス動作について説明する。
【0060】
まず、
図11に示すように、オートフォーカスが開始される前の通常の状態においては、タイミングS10やS11においてPC2からワーク3の画像のX位置、Y位置及びZ位置のデータ(XYZデータ)の要求命令がカメラ141に送信される。XYZデータ要求命令を受信したカメラ141は、連続撮影(Streaming)を行って撮像された画像情報をバルク転送によりXYZデータ要求タイミングとは無関係にPC2に送信(出力)する。なお、連続撮影は、ここではカメラ141が転送可能な最大フレームレートで画像を送り続けることをいう。
【0061】
また、位置制御部151は、XYZデータ要求命令に応じてX座標、Y座標及びZ座標を連続取得し、取得したXYZデータをPC2に返信する。PC2は、転送された画像情報をビデオウィンドウ25aにライブ表示すると共に、返信されたXYZデータをカウンタウィンドウ25bにリアルタイム表示する。
【0062】
通常の状態において撮像した画像情報を上述したようにバルク転送によりPC2へ送信する場合、不確定な通信遅延が発生することがあるため、画像情報の転送遅れやコマ落ちなどの不具合が時々発生する可能性がある。そこで、オートフォーカス動作が開始されると、PC2は、タイミングS12においてカメラ141に連続撮影停止命令を送信し、この連続撮影停止命令を受信したカメラ141は、連続撮影を停止する(ステップS100)と共に、1〜2フレーム程度の未転送の残り画像を全て読み出す(ステップS102)。なお、カメラ141は、連続撮影を停止してもその内部では撮影動作が継続されるように動作する。
【0063】
タイミングS13においては、PC2から位置制御部151にカメラ141のオートフォーカスサーチ開始位置への移動命令が送信され、測定ヘッド14aがオートフォーカスサーチ開始位置へ、Z軸方向に加速移動、定速移動及び減速移動動作を伴って移動され(ステップS104)、オートフォーカスサーチ開始位置でこの動作が停止される。移動命令は、移動する位置と移動速度とを指定可能なものであり、Z軸方向への動作の停止は、例えばタイミングS14,S15,…,S16においてZ軸モータ145が停止したかどうかを確認する移動完了確認によりなされる。
【0064】
測定ヘッド14aがオートフォーカス開始位置で停止したら、PC2からカメラ141にタイミングS17において設定変更命令が送信され、カメラ141の撮影設定が変更される(ステップS106)。この撮影設定の変更においては、例えばカメラ141の読み出し領域(ROI)をオートフォーカス対象領域のみにすることで画像情報の転送サイズの最小化を図ったり、フレームレート(=1/露光時間)を60又は50fpsにしたり、トリガ信号の出力の有無を設定したりすることが行われる。
【0065】
そして、カメラ141の撮影設定が変更されると、タイミングS18にてPC2から位置制御部151にラッチカウンタ152をゼロリセットする旨の命令が送信され、ラッチカウンタ152がゼロリセットされる(ステップS108)。その後、タイミングS19において、PC2から位置制御部151に測定ヘッド14aのオートフォーカスサーチ終了位置への移動命令が送信され、測定ヘッド14aがオートフォーカスサーチ終了位置へ、Z軸方向に加速移動、AF定速移動及び減速移動動作を伴うように移動開始する(ステップS110)。なお、オートフォーカスサーチ終了位置への移動命令が出された後は、この終了位置に到達するか、別途割り込み停止命令が入るまで測定ヘッド14aは移動し続ける。
【0066】
タイミングS20においては、PC2から位置制御部151にラッチ開始命令が送信され、上述したようなZ位置のラッチが開始される(ステップS112)。そして、タイミングS21にてPC2からカメラ141に連続撮影開始命令が送信され、これを受けたカメラ141が連続撮影を開始(ステップS114)する。
【0067】
連続撮影を開始したら、カメラ141は、ワーク3のオートフォーカス対象領域を撮像し(ステップS116)、撮像完了直後に専用DIOケーブルを介してトリガ信号である垂直同期信号を位置制御部151に出力する(ステップS118)。なお、
図11においては、実際の動作に近い状態を表すために、トリガ信号の出力は画像撮像完了から常に一定の遅延をもってなされていることを示している。また、撮像完了後の画像転送は、バルク転送によるため不定に遅延することを示している。
【0068】
位置制御部151は、図示しないカウンタによってトリガ信号入力直後にZ位置(Z値)をリニアエンコーダ143のスケールからラッチし(ステップS120)、カメラ141は、撮像した画像情報をUSBケーブル等を介してPC2へ転送する(ステップS122)。なお、Z位置のラッチは、測定ヘッド14aの加速移動動作中に始まるようにしてもよい。そして、PC2は、転送された画像情報を入力し、入力した画像情報のコントラスト解析を行う。
【0069】
すなわち、
図10Bに示すように、PC2は、入力した画像情報のコントラストを計算し(ステップS124)、計算したコントラスト値がこれまで(得られたもの)の最大値であるか否かを判断する(ステップS126)。最大値であると判断した場合(ステップS126のY)は、コントラスト値の最大値を更新し(ステップS128)、コントラスト値が最大値から所定のしきい値を引いたもの以下であるか否か、すなわちカメラ141がピーク位置を通り過ぎたか否かを判断する(ステップS130)。なお、上記ステップS126にて最大値でないと判断した場合(ステップS126のN)は、このステップS130に移行して同様の判断を行う。
【0070】
コントラスト値が最大値から所定のしきい値を引いたもの以下であると判断した場合(ステップS130のY)は、
図12に示すように、PC2はタイミングS22においてカメラ141に連続撮影停止命令を送信し、この連続撮影停止命令を受信したカメラ141は、連続撮影を停止する(ステップS132)。一方、コントラスト値が最大値から所定のしきい値を引いたもの以下でないと判断した場合(ステップS130のN)は、上記ステップS116に移行して、以降の処理を繰り返す。
【0071】
カメラ141が連続撮影を停止したら、PC2はタイミングS23において位置制御部151にZ軸方向への移動停止命令を送信し、位置制御部151は、Z軸モータ145を制御してZ軸の移動を途中で停止させる(ステップS134)。これにより、Z軸方向動作は減速移動動作を開始することとなる。
【0072】
また、PC2はタイミングS24において位置制御部151にZ位置ラッチ停止命令を送信し、これを受けた図示しないカウンタはZ位置のラッチを停止する(ステップS136)。なお、このとき、カメラ141の連続撮影は停止しているため、専用DIOケーブルを介して垂直同期信号は位置制御部151には出力されない。
【0073】
Z位置のラッチが停止されたら、PC2は、タイミングS25にて位置制御部151にラッチ数要求命令を送信し、これを受けたラッチカウンタ152はPC2にラッチ数を返信する。そして、PC2は、タイミングS26において位置制御部151にラッチデータ要求命令を送信し、位置制御部151のラッチカウンタ152がZ値ラッチバッファ153からZ値配列データを読み出してPC2に返信し、PC2はラッチされたZ位置データを取得する(ステップS138)。
【0074】
PC2は、取得したZ位置データに基づき画像情報を取得したZ位置を補正し(ステップS140)、コントラストが最大となる位置(フォーカス位置)を計算する(ステップS142)。Z位置の補正は、例えば補正量(mm)=移動速度V(mm/sec)×FL(sec)により計算することができる。
【0075】
フォーカス位置を計算したら、タイミングS27,S28,…,S29においてZ軸モータ145が停止したかどうかの移動完了確認が行われ、測定ヘッド14aが停止したか否かが判断される(ステップS144)。なお、Z軸方向への動作は、移動完了確認中に停止され、測定ヘッド14aはフォーカス位置を少し過ぎた位置で停止される。
【0076】
すなわち、PC2は、位置制御部151からの返信に基づき測定ヘッド14aが停止するまで待って(ステップS144のN)、上記のようにフォーカス位置を少し過ぎた位置で停止したら(ステップS144のY)、
図13に示すように、タイミングS30において位置制御部151にフォーカス位置への移動命令を送信する。そして、これを受けた位置制御部151がZ軸モータ145を制御して測定ヘッド14aをZ軸方向に加速移動、定速移動及び減速移動動作させフォーカス位置に移動させる(ステップS146)。
【0077】
PC2は、測定ヘッド14aが移動中のタイミングS31において、カメラ141に設定変更命令を送信し、これを受けたカメラ141は、上記ステップS106で変更された撮影設定を元に戻す(ステップS148)。その後、タイミングS32,S33,…,S34にてZ軸モータ145が停止したかどうかの移動完了確認が行われ、測定ヘッド14aがフォーカス位置で停止したか否かが判断される(ステップS150)。
【0078】
すなわち、PC2は、位置制御部151からの返信に基づき測定ヘッド14aがフォーカス位置で停止するまで待って(ステップS150のN)、上記のようにフォーカス位置で停止したら(ステップS150のY)、本フローチャートによる一連のオートフォーカス動作が完了し、上述したように通常の状態に戻る。
【0079】
なお、オートフォーカス動作は、上記タイミングS31での設定変更が行われた時点で終了するようにしてもよい。この場合は、Z軸方向動作とは無関係な処理(例えば、データ入出力など)を実行することができるので、スループットを向上させることが可能となる。
【0080】
このように、第1の実施形態に係る画像測定装置では、通信競合などによりカメラ141からの画像情報の転送に遅延が生じたとしても、撮像完了後に出力された垂直同期信号に応じてラッチされた各画像情報に対応するZ位置に基づき、コントラストカーブCUVのピーク位置を正確に算出してフォーカス位置を得ることができる。これにより、オートフォーカスを高精度且つ確実に行うことができる。
【0081】
[第2の実施形態]
図14及び
図15は、本発明の第2の実施形態に係る画像測定装置のストロボ信号の出力タイミングを示すタイミングチャートである。
図16は、この画像測定装置によるオートフォーカス制御処理手順を示すフローチャートである。
図17及び
図18は、この画像測定装置によるオートフォーカス制御処理手順を示すタイミングチャートである。なお、以降において、既に説明した部分と重複する箇所については同一の符号を附して説明を割愛し、本発明に特に関連のない部分については説明を省略することがあるとする。
【0082】
第2の実施形態に係る画像測定装置の構成は、上記第1の実施形態に係るものと同様であるが、トリガ信号としてのストロボ信号(閃光発生信号)の出力タイミングが異なっている点が第1の実施形態のものとは相違している。
【0083】
すなわち、
図14及び
図15に示すように、カメラ141がグローバルシャッタ方式のCCDで構成された場合であっても、ローリングシャッタ方式のCMOSで構成された場合であっても、撮像による1フレームの露光期間の中心において、すなわちFL0のときにストロボ信号が出力される。そして、位置制御部151においてこのときのZ位置がラッチされる。
【0084】
このように、第2の実施形態においては、カメラ141からの画像情報のPC2への転送に遅延が生じたとしても、撮像期間の中間点で出力されたストロボ信号に応じて各画像情報に対応するZ位置は位置制御部151にてラッチされる。従って、第1の実施形態と同様に、コントラストカーブCUVのピーク位置を正確に算出し、オートフォーカス動作を高精度且つ確実に行うことができる。
【0085】
第2の実施形態に係るオートフォーカス動作は、具体的には例えば次のように実行される。以下に、第1の実施形態で用いた
図10A及び
図10Bのフローチャートと共に
図16のフローチャートを参照し、
図17及び
図18のタイミングチャートと共に先の
図13のタイミングチャートを参照しながら、第2の実施形態によるオートフォーカス動作について説明する。
【0086】
図17及び
図10Aに示すように、タイミングS40〜S51による上記ステップS100〜S116までの処理は第1の実施形態と同様であり、
図16に示すように、カメラ141がワーク3のオートフォーカス対象領域を撮像したら(ステップS116)、露光期間の中間でストロボ信号を位置制御部151に出力する(ステップS117)。
【0087】
このステップS117の後、
図10A、
図10B及び
図16〜
図18に示すように、上記ステップS120に移行して上記ステップS138までの処理をタイミングS56までにおいて実行する。そして、ステップS138から上記ステップS140を飛ばして直接上記ステップS142に移行し、以降の処理を実行して
図13に示すようなタイミングでオートフォーカス動作を終了する。
【0088】
このように、第2の実施形態に係る画像測定装置によれば、通信競合などによりカメラ141からの画像情報の転送に遅延が生じたとしても、撮像期間の中間点で出力されたストロボ信号に応じて、位置制御部151にてラッチされた各画像情報に対応するZ位置に基づき、PC2がコントラストカーブCUVのピーク位置を正確に算出してフォーカス位置を得ることができる。これにより、第1の実施形態と同様にオートフォーカスを高精度且つ確実に行うことができる。
【0089】
[第3の実施形態]
図19は、本発明の第3の実施形態に係る画像測定装置の一部の構成を示すブロック図である。
図20及び
図21は、この画像測定装置のトリガ信号の入力タイミングを示すタイミングチャートである。
図22は、この画像測定装置によるオートフォーカス制御処理手順を示すフローチャートである。
図23及び
図24は、この画像測定装置によるオートフォーカス制御処理手順を示すタイミングチャートである。
【0090】
第3の実施形態に係る画像測定装置の構成は、上記第1及び第2の実施形態に係るものと同様であるが、
図19に示すように、位置制御部151からカメラ141に出力される撮像開始指示(撮像トリガ:trigger)信号がトリガ信号として用いられるカメラスレーブ方式が採用されている点が第1及び第2の実施形態のものとは相違している。
【0091】
すなわち、
図20及び
図21に示すように、カメラ141がグローバルシャッタ方式のCCDで構成された場合であっても、ローリングシャッタ方式のCMOSで構成された場合であっても、撮像による1フレームの露光期間の中心から、FLだけ前の露光期間の開始時に位置制御部151から出力されたトリガ信号がカメラ141に入力される。位置制御部151においては、トリガ信号の出力と同時にZ位置がラッチされる。
【0092】
このように、第3の実施形態においては、カメラ141からの画像情報のPC2への転送に遅延が生じたとしても、位置制御部151から出力されたトリガ信号の入力後にカメラ141によって撮像が行われ、このトリガ信号の出力と同時に位置制御部151がZ位置をラッチするので、各画像情報に対応するZ位置が位置制御部151にてラッチされる。従って、第1及び第2の実施形態と同様に、コントラストカーブCUVのピーク位置を正確に算出し、高精度なオートフォーカス動作を確実に行うことが可能である。
【0093】
第3の実施形態に係るオートフォーカス動作は、具体的には例えば次のように実行される。以下に、第1及び第2の実施形態で用いた
図10A及び
図10Bのフローチャートと共に
図22のフローチャートを参照し、
図23及び
図24のタイミングチャートと共に先の
図13のタイミングチャートを参照しながら、第3の実施形態によるオートフォーカス動作について説明する。
【0094】
図23及び
図10Aに示すように、タイミングS70〜S77による上記ステップS100〜S106までの処理は第1及び第2の実施形態と同様であるが、ステップS106でのカメラ141の撮影設定の変更においては、上述したものの他、撮影モードがトリガ入力モードに変更される。
【0095】
そして、
図22に示すように、カメラ141の撮影設定が変更されると、タイミングS78にてPC2からトリガ撮影(Snapshot)開始命令が送信され、カメラ141はトリガ撮影を開始する(ステップS107)。なお、トリガ撮影は、PC2からの要求があるとカメラ141が画像情報を1枚転送するものであり、最大フレームレートは連続撮影の1/2程度になるものである。
【0096】
このステップS107の後、
図10A、
図10B、
図22及び
図23に示すように、上記ステップS108に移行して上記ステップS112までの処理をタイミングS81までにおいて実行する。ステップS112にてラッチが開始されると、位置制御部151はZ位置をリニアエンコーダ143のスケールからラッチする(ステップS113)と同時に、撮像トリガ信号をカメラ141に出力する(ステップS115)。
【0097】
カメラ141は、位置制御部151から送信された撮像トリガ信号を入力し、この撮像トリガ信号入力直後にオートフォーカス対象領域の露光を開始して(ステップS117)、ワーク3の画像を撮像する。このステップS117の後、上記ステップS122に移行して上記ステップS130までの処理を実行し、コントラスト値が最大値から所定のしきい値を引いたもの以下であるか否か、すなわちカメラ141がピーク位置を通り過ぎたか否かを判断する。なお、第3の実施形態においては、コントラスト値が最大値から所定のしきい値を引いたもの以下でないと判断した場合(ステップS130のN)は、
図10Aに示す場合と異なり上記ステップS113に移行する。
【0098】
コントラスト値が最大値から所定のしきい値を引いたもの以下であると判断した場合(ステップS130のY)は、
図22及び
図24に示すように、上記ステップS132を飛ばしてステップS134及びステップS136の処理を実行し、タイミングS84にてPC2からトリガ撮影停止命令が送信され、カメラ141はトリガ撮影を停止する(ステップS137)。そして、上記ステップS138に移行し、以降の処理を実行して
図13に示すようなタイミングでオートフォーカス動作を終了する。
【0099】
このように、第3の実施形態に係る画像測定装置によれば、通信競合などによりカメラ141からの画像情報の転送に遅延が生じたとしても、位置制御部151から出力されたトリガ信号に応じてカメラ141が撮像を開始し、位置制御部151にてトリガ信号の出力と同時にZ位置がラッチされる。従って、位置制御部151にてラッチされた各画像情報に対応するZ位置に基づき、PC2がコントラストカーブCUVのピーク位置を正確に算出してフォーカス位置を得ることができる。これにより、第1及び第2の実施形態と同様にオートフォーカスを高精度且つ確実に行うことができる。
【0100】
[第4の実施形態]
図25及び
図26は、本発明の第4の実施形態に係る画像測定装置の一部の構成を示すブロック図である。
図27は、同画像測定装置におけるオートフォーカスの方法を示す図である。
図25は上述したカメラマスタ方式で垂直同期信号を用いた場合の構成を示し、
図26は上述したカメラスレーブ方式で撮像開始指示信号を用いた場合の構成を示している。
【0101】
この第4の実施形態に係る画像測定装置では、
図25に示すような上記カメラ141からの垂直同期信号、或いは
図26に示すような位置制御部151からの撮像開始指示信号などのトリガ信号の出力と同時に、カメラ141によって撮像された画像情報に撮像開始時からの通し番号であるシリアル番号情報(タイムスタンプ)を付加する。
【0102】
すなわち、垂直同期信号(Vsync0〜3)や撮像開始指示信号(trigger0〜3)に合わせて、カメラ141により画像情報(image0〜3)にシリアル番号情報(Timestamp0〜3)が付加される。この場合においても、上述したようにこれらのトリガ信号によって位置制御部151により通し番号と対応付けられたZ値がZ値ラッチバッファ153にラッチされる。
【0103】
従って、例えばimage2の画像情報がカメラ141からPC2への転送時にコマ落ちした場合であっても、PC2側ではカメラ141によりナンバリングされた画像情報のシリアル番号情報を把握することでimage2の欠落を知ることができる。すなわち、画像情報の取得順はずれる(image2が欠落する)が、通し番号であるシリアル番号情報によって画像情報とZ値とが正しく対応付けられるので、これに基づくZ値などのデータからコントラストを算出して
図27に示すようなコントラストカーブCUVを得ることができる。
【0104】
なお、この場合の画像情報のZ位置は、次式により算出することができる。
【0105】
[数2]
Z
t={L
t+1・t
delay−L
t・(t
frame−t
delay)}/t
frame
ただし、
tはシリアル番号情報
【0106】
このように、第4の実施形態に係る画像測定装置においても、通信競合などによりカメラ141からの画像情報の転送にコマ落ちが生じたとしても、各画像情報に付加されたシリアル番号情報に基づいて、トリガ信号に応じてラッチされた各画像情報に対応するZ位置を得ることが可能となる。従って、コントラストカーブCUVのピーク位置を正確に算出してフォーカス位置を得ることができ、オートフォーカスを高精度且つ確実に行うことができる。