以下、図面を参照しつつ、本発明に従う実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。
§1 適用例
まず、図1および図2を参照して、本発明が適用される場面の一例について説明する。図1は、実施の形態に係る撮像システムの1つの適用例を示す模式図である。図2は、撮像システムに備えられる撮像装置の内部構成の一例を示す図である。
図1に示すように、本実施の形態に係る撮像システム1は、たとえば外観検査システムとして実現される。撮像システム1は、たとえば工業製品の生産ラインなどにおいて、ステージ90上に載置されたワークWの検査対象箇所を撮像し、得られた画像を用いて検査対象箇所の外観検査を行なう。外観検査では、検査対象箇所の傷、汚れ、異物の有無、寸法などが検査される。
ステージ90上に載置されたワークWの外観検査が完了すると、次のワーク(図示せず)がステージ90上に搬送される。ワークWの撮像の際、ワークWは、ステージ90上の所定位置に所定姿勢で静止してもよい。あるいは、ワークWがステージ90上を移動しながら、ワークWが撮像されてもよい。
図1に示すように、撮像システム1は、基本的な構成要素として、撮像装置10と、画像処理装置20と、設定装置40とを備える。この実施の形態では、撮像システム1は、さらに、PLC(Programmable Logic Controller)30を備える。
撮像装置10は、画像処理装置20に接続される。撮像装置10は、画像処理装置20からの指令に従って、撮像視野に存在する被写体(ワークW)を撮像して、ワークWの像を含む画像データを生成する。撮像装置10と画像処理装置20とは一体化されていてもよい。
図2に示されるように、撮像装置10は、照明部11と、レンズモジュール12と、撮像素子13と、撮像素子制御部14と、レンズ制御部16と、レジスタ15,17と、通信インターフェース(I/F)部18とを含む。
照明部11は、ワークWに対して光を照射する。照明部11から照射された光は、ワークWの表面で反射し、レンズモジュール12に入射する。照明部11は省略されてもよい。
レンズモジュール12は、ワークWからの光を撮像素子13の撮像面13a上に結像させるための光学系である。レンズモジュール12の焦点位置は、所定の可動範囲内で可変である。焦点位置とは、光軸に平行な入射光線が光軸と交わる点の位置である。
レンズモジュール12は、レンズ12aと、レンズ群12bと、レンズ12cと、可動部12dと、フォーカス調節部12eとを有する。レンズ12aは、レンズモジュール12の焦点位置を変化させるためのレンズである。フォーカス調節部12eは、レンズ12aを制御して、レンズモジュール12の焦点位置を変化させる。
レンズ群12bは、焦点距離を変更するためのレンズ群である。焦点距離が変更されることにより、ズーム倍率が制御される。レンズ群12bは、可動部12dに設置され、光軸方向に沿って可動する。レンズ12cは、撮像装置10内の予め定められた位置に固定されるレンズである。
撮像素子13は、例えばCMOS(Complementary Metal Oxide Semiconductor)イメージセンサなどの光電変換素子であり、レンズモジュール12を介してワークWからの光を受けることによって画像信号を生成する。
撮像素子制御部14は、撮像素子13からの画像信号に基づいて画像データを生成する。このとき、撮像素子制御部14は、レジスタ15が記憶する命令に従って、シャッターを露光時間だけ開閉し、画像データ(以下、単に「画像」という)を生成する。
レンズ制御部16は、レジスタ17が記憶する命令に従って、撮像装置10のフォーカスを調節する。具体的には、レンズ制御部16は、レンズモジュール12の焦点位置が命令に応じた位置になるように、フォーカス調節部12eを制御する。フォーカス調節部12eは、レンズ制御部16の制御により、レンズモジュール12の焦点位置を調節する。
レンズ制御部16は、ワークWのうち撮像視野内に含まれる領域の大きさが略一定になるように、可動部12dを制御して、レンズ群12bの位置を調節してもよい。言い換えると、レンズ制御部16は、ワークWのうち撮像視野内に含まれる領域の大きさが予め定められた範囲内になるように、可動部12dを制御することができる。レンズ制御部16は、撮像位置とワークWとの距離に応じてレンズ群12bの位置を調節すればよい。なお、この実施の形態では、ズームの調節は必須ではない。
通信I/F部18は、画像処理装置20との間でデータを送受信する。通信I/F部18は、撮像指示を画像処理装置20から受信する。通信I/F部18は、撮像素子制御部14によって生成された画像を画像処理装置20に送信する。
図1に戻って、PLC30は、画像処理装置20に接続され、画像処理装置20を制御する。例えばPLC30は、ワークWがステージ90上に載置されたタイミングで、画像処理装置20に対して検査指令を出力する。
画像処理装置20は、撮像装置10から画像を取得し、取得した画像に対する画像処理を行なう。画像処理装置20は、指令生成部21と、合焦度算出部22と、探索部23と、検査部24と、記憶部230と、通信部25とを含む。
指令生成部21は、PLC30からの検査指令を受けて、撮像装置10に撮像指令(撮像トリガ)を生成する。このとき、指令生成部21は、記憶部230が記憶する処理条件データで示されるAF処理条件に従って撮像するように撮像指令を生成する。具体的には、指令生成部21は、AF処理条件に従って、探索範囲において焦点位置を変化幅ずつ変化させ、各焦点位置の画像を撮像装置10から受けるように、撮像指令を生成する。すなわち、指令生成部21は、探索範囲の起点に対応する焦点位置を指定した撮像指令を生成した後、変化幅ずつ変化させた焦点位置を指定した撮像指令を順次生成する。
なお、指令生成部21は、探索範囲の起点に対応する焦点位置を指定した撮像指令を生成する前に、レンズモジュール12の焦点位置を探索範囲の起点に移動させる移動指令を生成してもよい。移動指令を受けた撮像装置10では、レンズ制御部16は、移動指令に従って、レンズモジュール12の焦点位置を探索範囲の起点に移動させる。移動指令は、例えば、(1)ワークWの品種の切り替え時、(2)ワークWの検査画像の撮像終了時、(3)ワークWの検査終了時、(4)ステージ90上の所定位置に次のワークWが搬送された時(ワーク検出時)に生成される。ただし、移動指令は、(1)および(2)のタイミングで生成されることが好ましい。もしくは、移動指令は、(1)および(3)のタイミングで生成されることが好ましい。これにより、次のワークWをステージ90上の所定位置に搬送する処理と並行して、レンズモジュール12の焦点位置を探索範囲の起点に移動させることができ、複数のワークWに対する検査時間を短縮できる。
合焦度算出部22は、撮像装置10から受けた画像に対して、合焦度を算出する。合焦度とは、対象物に対して焦点がどの程度合っているかを表す度合いであり、公知の種々の方法を用いる算出される。たとえば、合焦度算出部22は、画像に対してハイパスフィルタを適用することにより高周波成分を抽出し、抽出された高周波成分の積算値を合焦度として算出する。このような合焦度は、画像の明暗差に依存した値を示す。
探索部23は、ワークWの検査対象箇所に合焦する焦点位置である合焦位置を探索する。具体的には、探索部23は、探索範囲内の各焦点位置に対応する画像の合焦度を合焦度算出部22から取得する。探索部23は、取得した合焦度がピークとなる焦点位置を合焦位置として決定する。「合焦する」とは、ワークWの検査対象箇所の像が撮像素子13の撮像面13a(図2参照)に結像することを意味する。探索部23は、レンズモジュール12の焦点位置が合焦位置であるときの画像を検査画像として特定する。
指令生成部21、合焦度算出部22および探索部23は、撮像装置10のレンズ制御部16と協働して、焦点位置を変化させたときの、撮像装置10によって生成される画像から算出される合焦度の変化に基づいて、対象物に合焦する合焦位置を探索するオートフォーカス処理を実行する。指令生成部21、合焦度算出部22および探索部23は、記憶部230が記憶する処理条件データ232に従った処理を実行する。
検査部24は、検査画像に基づいてワークWを検査し、検査結果を出力する。具体的には、検査部24は、検査画像に対して予め登録された画像処理を施すことにより、ワークWを検査する。検査部24は、公知の技術を用いて検査を行なえばよい。
記憶部230は、各種のデータ、プログラム等を記憶する。具体的には、記憶部230は、処理条件データ232を記憶する。処理条件データ232は、レンズモジュール12の焦点位置を変化させたときの、撮像装置10によって生成される画像から算出される合焦度の変化に基づいて、ワークWに合焦する合焦位置を探索するオートフォーカス処理の条件(AF処理条件)を示す。処理条件データ232は、設定装置40によって生成される。
通信部25は、撮像装置10、設定装置40およびPLC30との間でデータの送受信を行なう。例えば、通信部25は、検査部24による検査結果をPLC30に送信する。
設定装置40は、設定画面への入力情報に従って、AF処理条件を設定する。図1に示されるように、設定装置40は、入力装置41と、表示装置42と、条件設定部43と、時間算出部44と、通信部45とを備える。
入力装置41は、キーボードやマウスなどで構成され、作業者からの入力情報を受け付ける。表示装置42は、ディスプレイ、各種インジケータなどで構成され、各種情報を表示する。
条件設定部43は、AF処理条件を設定するための設定画面を表示装置42に表示させ、設定画面への入力情報に従ってAF処理条件を設定する。
時間算出部44は、AF処理条件に従って実行されるオートフォーカス処理に要する時間(AF処理時間)を算出する。時間算出部44は、AF処理条件とAF処理時間との関係を示す相関情報を予め記憶しておき、当該相関情報に基づいてAF処理時間を算出すればよい。条件設定部43は、時間算出部44によって算出されたAF処理時間を設定画面に表示させることにより、設定画面への入力情報の入力を支援する。
通信部45は、画像処理装置20との間でデータの送受信を行なう。例えば、通信部45は、条件設定部43によって設定されたAF処理条件を示す処理条件データ232を画像処理装置20に送信する。
このように、条件設定部43は、AF処理時間を設定画面に表示させることにより、入力情報の入力を支援する。これにより、作業者は、AF処理時間を考慮しながら、AF処理条件を適宜設定できる。
§2 具体例
<A.レンズモジュールの構成例>
図3は、合焦位置の探索方法を説明するための模式図である。説明を簡単にするため、図3には、レンズモジュール12のうちの1枚のレンズのみを示している。
図3に示すように、レンズモジュール12の主点Oから対象面(ワークWにおける検査対象箇所の表面)までの距離をaとし、レンズモジュール12の主点Oから撮像面13aまでの距離をbとし、レンズモジュール12の主点Oからレンズモジュール12の焦点位置(後側焦点位置)Fまでの距離(焦点距離)をfとする。ワークWの検査対象箇所の像が撮像面13aの位置で結ばれる場合に、以下の式(1)が成立する。
1/a+1/b=1/f・・・(1)
すなわち、式(1)が成り立つときに、ワークWの検査対象箇所の表面に合焦した画像を撮像することができる。
ワークWの検査対象箇所の高さの個体差に応じて、撮像面13aと検査対象箇所との距離が変化し得る。撮像面13aと検査対象箇所との距離が変化した場合であっても検査対象箇所に合焦した画像を得るために、レンズモジュール12の焦点位置Fが調節される。レンズモジュール12の焦点位置Fを調節する方法には、以下の方法(A)および方法(B)がある。
方法(A)は、レンズモジュール12を構成する少なくとも1つのレンズ(例えばレンズ12a)を光軸方向に平行移動させる方法である。方法(A)によれば、レンズモジュール12の主点Oが光軸方向に移動するとともに、焦点位置Fが変化する。その結果、距離bが変化する。式(1)を満たす距離bに対応する焦点位置Fが合焦位置として探索される。
方法(B)は、レンズモジュール12を構成する少なくとも1つのレンズ(例えばレンズ12a)の屈折方向を変化させる方法である。方法(B)によれば、レンズモジュール12の焦点距離fが変化することに伴い、焦点位置Fが変化する。式(1)を満たす焦点距離fに対応する焦点位置Fが合焦位置として探索される。
レンズモジュール12の焦点位置Fを変化させるためのレンズ12aの構成は特に限定されない。以下に、レンズ12aの構成の例を説明する。
図4は、焦点位置が可変のレンズモジュール12の構成の一例を示す図である。なお、図4に示す例では、レンズモジュール12を構成するレンズ12aを平行移動させる。ただし、レンズモジュール12を構成する少なくとも1つのレンズ(レンズ12a、レンズ群12bおよびレンズ12cのうちの少なくとも1つのレンズ)を平行移動させてもよい。
図4に示す構成のレンズ12aを用いることにより、上記の方法(A)に従って、レンズモジュール12の焦点位置Fが変化する。すなわち、図4に示した構成では、フォーカス調節部12eは、レンズ12aを光軸方向に沿って移動させる。レンズ12aの位置を移動させることによって、レンズモジュール12の焦点位置Fが変化する。焦点位置Fが取り得る可動範囲Raは、レンズ12aの可動範囲Rbに対応する。
レンズ制御部16は、レンズ12aの移動量を制御することにより、レンズモジュール12の焦点位置Fを変化させる。レンズ12aは、図示しないモータの駆動量に応じて移動する。モータの最小駆動量は、モータの性能等によって予め定められる。そのため、レンズモジュール12の焦点位置Fの最小変化幅Δf0は、モータの最小駆動量に応じて定められる。
図4では、1枚のレンズ12aの例が示されている。通常では、フォーカス調節用のレンズは複数枚の組レンズで構成されることが多い。しかしながら、組レンズにおいても、組レンズを構成する少なくとも1枚のレンズの移動量を制御することにより、レンズモジュール12の焦点位置Fを変化させることができる。
図5は、焦点位置が可変のレンズモジュール12の構成の別の例を示す図である。図5に示す構成のレンズ12aを用いることにより、上記の方法(B)に従って、レンズモジュール12の焦点位置Fが変化する。
図5に示すレンズ12aは液体レンズである。レンズ12aは、透光性容器80と、電極83a,83b,84a,84bと、絶縁体85a,85bと、絶縁層86a,86bとを含む。
透光性容器80内の密閉空間には、水などの導電性液体81と、油などの絶縁性液体82とが充填される。導電性液体81と絶縁性液体82とは混合せず、互いに屈折率が異なる。
電極83a,83bは、絶縁体85a,85bと透光性容器80との間にそれぞれ固定され、導電性液体81中に位置する。
電極84a,84bは、導電性液体81と絶縁性液体82との界面の端部付近に配置される。電極84aと導電性液体81および絶縁性液体82との間には絶縁層86aが介在する。電極84bと導電性液体81および絶縁性液体82との間には絶縁層86bが介在する。電極84aと電極84bとは、レンズ12aの光軸に対して対称な位置に配置される。
図5に示す構成において、フォーカス調節部12eは、電圧源12e1と、電圧源12e2とを含む。電圧源12e1は、電極84aと電極83aとの間に電圧Vaを印加する。電圧源12e2は、電極84bと電極83bとの間に電圧Vbを印加する。
電極84aと電極83aとの間に電圧Vaを印加すると、導電性液体81は、電極84aに引っ張られる。同様に、電極84bと電極83bとの間に電圧Vbを印加すると、導電性液体81は、電極84bに引っ張られる。これにより、導電性液体81と絶縁性液体82との界面の曲率が変化する。導電性液体81と絶縁性液体82との屈折率が異なるため、導電性液体81と絶縁性液体82との界面の曲率が変化することにより、レンズモジュール12の焦点位置Fが変化する。
導電性液体81と絶縁性液体82との界面の曲率は、電圧Va,Vbの大きさに依存する。そのため、レンズ制御部16は、電圧Va,Vbの大きさを制御することにより、レンズモジュール12の焦点位置Fを変化させる。焦点位置Fが取り得る可動範囲Raは、電圧Va,Vbが取り得る電圧範囲によって定まる。
レンズモジュール12の焦点位置Fの最小変化幅Δf0は、電圧Va,Vbの最小変化幅に応じて定められる。
通常は、電圧Vaと電圧Vbとは同値に制御される。これにより、導電性液体81と絶縁性液体82との界面は、光軸に対して対称に変化する。ただし、電圧Vaと電圧Vbとが異なる値に制御されてもよい。これにより、導電性液体81と絶縁性液体82との界面が光軸に対して非対称となり、撮像装置10の撮像視野の向きを変更することができる。
さらに液体レンズと固体レンズとを組み合わせてもよい。この場合、上記の方法(A)および方法(B)の両方を用いてレンズモジュール12の焦点位置Fを変化させる。
<B.画像処理装置のハードウェア構成>
図6は、実施の形態に係る画像処理装置のハードウェア構成の一例を示すブロック図である。図6に示す例の画像処理装置20は、演算処理部であるCPU(Central Processing Unit)210と、図1に示す記憶部230としてのメインメモリ234およびハードディスク236と、カメラインターフェース216と、入力インターフェース218と、表示コントローラ220と、PLCインターフェース222と、通信インターフェース224と、データリーダ/ライタ226とを含む。これらの各部は、バス228を介して、互いにデータ通信可能に接続される。
CPU210は、ハードディスク236に格納されたプログラム(コード)をメインメモリ234に展開して、これらを所定順序で実行することで、各種の演算を実施する。図1に示す指令生成部21、合焦度算出部22、探索部23および検査部24は、CPU210が制御プログラム238を実行することにより実現される。
メインメモリ234は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置であり、ハードディスク236から読み出されたプログラムに加えて、撮像装置10によって取得された画像データ、ワークデータなどを保持する。さらに、ハードディスク236には、各種設定値などが格納されてもよい。図1に示す記憶部230は、メインメモリ234およびハードディスク236によって構成される。なお、ハードディスク236に加えて、あるいは、ハードディスク236に代えて、フラッシュメモリなどの半導体記憶装置を採用してもよい。
カメラインターフェース216は、CPU210と撮像装置10との間のデータ伝送を仲介する。すなわち、カメラインターフェース216は、ワークWを撮像して画像データを生成するための撮像装置10と接続される。より具体的には、カメラインターフェース216は、撮像装置10からの画像データを一時的に蓄積するための画像バッファ216aを含む。そして、カメラインターフェース216は、画像バッファ216aに所定コマ数の画像データが蓄積されると、その蓄積されたデータをメインメモリ234へ転送する。また、カメラインターフェース216は、CPU210が発生した内部コマンドに従って、撮像装置10に対して撮像指令を送る。
入力インターフェース218は、CPU210と入力装置240との間のデータ伝送を仲介する。表示コントローラ220は、表示装置250と接続され、CPU210における処理の結果などをユーザに通知する。
PLCインターフェース222は、CPU210とPLC30との間のデータ伝送を仲介する。より具体的には、PLCインターフェース222は、PLC30からの制御指令をCPU210へ伝送する。
通信インターフェース224は、CPU210と設定装置40との間のデータ伝送を仲介する。通信インターフェース224は、典型的には、イーサネット(登録商標)やUSB(Universal Serial Bus)などからなる。なお、後述するように、メモリカード206に格納されたプログラムを画像処理装置20にインストールする形態に代えて、通信インターフェース224を介して、配信サーバなどからダウンロードしたプログラムを画像処理装置20にインストールしてもよい。
図1に示す通信部25は、カメラインターフェース216、PLCインターフェース222および通信インターフェース224によって実現される。
データリーダ/ライタ226は、CPU210と記録媒体であるメモリカード206との間のデータ伝送を仲介する。すなわち、メモリカード206には、画像処理装置20で実行されるプログラムなどが格納された状態で流通し、データリーダ/ライタ226は、このメモリカード206からプログラムを読出す。また、データリーダ/ライタ226は、CPU210の内部指令に応答して、撮像装置10によって取得された画像データおよび/または画像処理装置20における処理結果などをメモリカード206へ書込む。なお、メモリカード206は、SD(Secure Digital)などの汎用的な半導体記憶デバイスや、フレキシブルディスク(Flexible Disk)などの磁気記憶媒体や、CD−ROM(Compact Disk Read Only Memory)などの光学記憶媒体等からなる。
<C.設定装置のハードウェア構成>
図7は、設定装置のハードウェア構成を表わすブロック図である。図7を参照して、設定装置40は、主たる構成要素として、プログラムを実行するCPU(プロセッサ)401と、データを不揮発的に格納するROM(Read Only Memory)402と、CPU401によるプログラムの実行により生成されたデータ、又は入力装置41を介して入力されたデータを揮発的に格納するRAM403と、データを不揮発的に格納するHDD(Hard Disk Drive)404と、作業者の入力情報を受ける入力装置41と、表示装置42と、駆動装置408と、通信IF409とを含む。各構成要素は、相互にデータバス410によって接続されている。駆動装置408には、記録媒体430が装着される。
設定装置40における処理は、各ハードウェアおよびCPU401により実行されるプログラム(設定プログラム420を含む)によって実現される。このようなプログラムは、HDD404に予め記憶されている。もしくは、プログラムは、記録媒体430に格納されて、プログラムプロダクトとして流通していてもよい。あるいは、プログラムは、いわゆるインターネットに接続されている情報提供事業者によってダウンロード可能なプログラムプロダクトとして提供されてもよい。このようなプログラムは、駆動装置408その他の読取装置により記録媒体430から読み取られて、あるいは、通信IF409を介してダウンロードされた後、HDD404に一旦格納される。そのプログラムは、CPU401によってHDD404から読み出され、RAM403に実行可能なプログラムの形式で格納される。CPU401は、そのプログラムを実行する。
図1に示す条件設定部43および時間算出部44は、CPU401が設定プログラム420を実行することにより実現される。
記録媒体430としては、DVD−ROM、CD−ROM、FD(Flexible Disk)、ハードディスクに限られず、磁気テープ、カセットテープ、光ディスク(MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、IC(Integrated Circuit)カード(メモリカードを含む)、光カード、マスクROM、EPROM(Electronically Programmable Read-Only Memory)、EEPROM(Electronically Erasable Programmable Read-Only Memory)、フラッシュROMなどの半導体メモリ等の固定的にプログラムを担持する媒体でもよい。記録媒体430は、プログラム等をコンピュータが読取可能な一時的でない媒体である。
<D.合焦位置の探索方法>
合焦位置は、例えば以下の第1〜第4の探索方法のいずれかを用いて探索される。
<D−1.第1の探索方法>
第1の探索方法は、レンズモジュール12の焦点位置を設定された探索範囲内で変化させながら、合焦度が極大となる焦点位置を見つけた時点で探索を終了し、合焦度が極大となる焦点位置を合焦位置として決定する方法である。第1の探索方法では、レンズモジュール12の焦点位置は、予め定められた最小変化幅Δf0ずつ変化する。
具体的には、指令生成部21は、レンズモジュール12の焦点位置が探索範囲の一端から他端に向けて最小変化幅Δf0ずつ変化するように、順次撮像指令を生成する。探索部23は、先の焦点位置での合焦度と次の焦点位置での合焦度との差を順次演算し、この差が正からゼロまたは負に変化した時点の焦点位置を合焦位置として決定する合焦位置決定処理を実行する。
なお、ノイズによる誤動作を避けるために、探索部23は、予め定められた条件を満たす場合に合焦位置決定処理を実行することが好ましい。予め定められた条件は、例えば、合焦度がノイズレベルに応じて定められた基準値を超えているという条件、もしくは、先の焦点位置での合焦度と次の焦点位置での合焦度との差が複数回連続して増大しているという条件である。または、探索部23は、合焦位置決定処理において、連続する3つ以上の焦点位置の合焦度を用いて、合焦度が極大となる合焦位置を探索してもよい。
<D−2.第2の探索方法>
図8〜図11を参照して、第2の探索方法について説明する。第2の探索方法は、2段階の探索処理を含む。図8は、第2の探索方法における1段階目の探索処理を説明する図である。図9は、第2の探索方法における2段階目の探索処理の一例を説明する図である。図10は、第2の探索方法における2段階目の探索処理の他の例を説明する図である。図11は、2段階目の探索処理の起点の決定方法を説明する図である。
図8に示されるように、1段階目の探索処理は、レンズモジュール12の焦点位置を探索範囲の一端F0から他端Fnに向けて変化幅Δf1ずつ変化させながら、合焦度が予め定められた閾値Thを超える焦点位置F1を探索する処理である。変化幅Δf1は、最小変化幅Δf0のN倍(Nは2以上の整数)である。1段階目の探索処理は、合焦度が閾値Thを超える焦点位置F1を見つけた時点で終了する。
合焦度が閾値を超える焦点位置F1が探索されると、2段階目の探索処理が実行される。2段階目の探索処理は、1段階目の探索処理で探索された焦点位置F1の近傍において焦点位置を最小変化幅Δf0ずつ変化させながら、合焦度が極大となる焦点位置を合焦位置として探索する処理である。
例えば図9に示されるように、焦点位置F1を起点として最小変化幅Δf0ずつ焦点位置を変化させながら、合焦度が極大となる合焦位置が探索される。具体的には、まず、焦点位置F1における合焦度と、焦点位置F1から方向D1に最小変化幅Δf0だけ変化させた焦点位置F2における合焦度とが比較される。焦点位置F1における合焦度よりも焦点位置F2における合焦度が大きい場合、方向D1に沿って焦点位置を変化させながら、合焦度が極大となる合焦位置が探索される。焦点位置F1における合焦度よりも焦点位置F2における合焦度が小さい場合、方向D1と反対の方向D2に沿って焦点位置を変化させながら、合焦度が極大となる合焦位置が探索される。
検査対象となるワークWの品種が同じであれば、焦点位置の変化に対する合焦度の変化を示す波形(以下、「合焦度波形」という)は、ワークWの個体差に応じて僅かに変動するものの、概ね同じ形状を有する。そのため、サンプルとなる基準ワークに対応する合焦度波形を予め取得しておき、当該合焦度波形におけるピークの形状を考慮して、2段階目の探索処理の起点となる焦点位置が決定されてもよい。具体的には、なるべくピークの頂点に近い焦点位置が2段階目の探索処理の起点として決定される。これにより、2段階目の探索処理に要する時間を短縮できる。
例えば図10に示されるように、焦点位置F1からの距離がWd/2であり、合焦度が閾値Thを超える焦点位置F3が特定される。Wdは、基準ワークの合焦度波形において、連続して合焦度が閾値Thを超える範囲の幅を示す。具体的には、焦点位置F1から方向D1にWd/2だけ変化させた位置の合焦度が閾値Thを超えるか否かが判定される。合焦度が閾値Thを超える場合には、焦点位置F1から方向D1にWd/2だけ変化させた焦点位置が焦点位置F3として特定される。合焦度が閾値Th以下である場合には、焦点位置F1から方向D1の反対の方向D2にWd/2だけ変化させた焦点位置が焦点位置F3として特定される。
次に図11に示されるように、焦点位置F1における合焦度から閾値Thを差し引いた値Saと、焦点位置F3における合焦度から閾値Thを差し引いた値Sbとが算出される。そして、焦点位置F1と焦点位置F3との間に位置し、焦点位置F1からの距離と焦点位置F3からの距離との比がSb:Saとなる焦点位置F4が、2段階目の探索処理の起点として決定される。
<D−3.第3の探索方法>
第3の探索方法は、2段階の探索処理を含む。1段階目の探索処理は、レンズモジュール12の焦点位置を探索範囲の一端から他端に向けて変化幅Δf1ずつ変化させて探索範囲全域の合焦度を取得し、合焦度が最大となる焦点位置を探索する処理である。
2段階目の探索処理は、第2の探索方法の2段階目の探索処理と同様に、1段階目の探索処理で探索された焦点位置の近傍において焦点位置を最小変化幅Δf0ずつ変化させながら、合焦度が極大となる焦点位置を合焦位置として探索する処理である。
<D−4.第4の探索方法>
第4の探索方法は、2段階の探索処理を含む。1段階目の探索処理は、レンズモジュール12の焦点位置を探索範囲の一端から他端に向けて変化幅Δf1ずつ変化させて探索範囲の全域の合焦度を取得し、合焦度が予め定められた閾値Thを超える焦点位置を探索する処理である。ただし、合焦度が閾値Thを超える焦点位置が複数探索される場合がある。この場合、1段階目の探索処理は、合焦度が閾値Thを超える複数の焦点位置から1つの焦点位置を選択する処理を含む。
図12は、合焦度が閾値Thを超える複数の焦点位置の一例を示す図である。図12に示す例では、合焦度波形が3つのピークP1〜P3を含み、1段階目の探索処理において、ピークP1〜P3にそれぞれ対応する焦点位置群G1〜G3が探索される。焦点位置群G1〜G3の各々は、連続して合焦度が閾値Thを超える焦点位置の集合である。
1段階目の探索処理において、探索方向Dの上流側から指定番号目の焦点位置群(例えば1番目の焦点位置群G1)に属する焦点位置の中から、合焦度が最も大きい焦点位置が選択される。
2段階目の探索処理は、第2の探索方法の2段階目の探索処理と同様に、1段階目の探索処理で探索された焦点位置の近傍において焦点位置を最小変化幅Δf0ずつ変化させながら、合焦度が極大となる焦点位置を合焦位置として探索する処理である。
<E.オートフォーカス処理の条件>
設定装置40の条件設定部43によって設定されるAF処理条件は、以下のE−1〜E−5に記されるパラメータのうちの少なくとも1つを含む。これらのパラメータの値によって、AF処理時間が変動する。
<E−1.露光時間>
露光時間は、画像におけるワークWの検査対象箇所の明度が検査に適した範囲内になるように適宜設定される。露光時間が短いほど、AF処理時間が短くなる。
<E−2.探索範囲>
探索範囲は、レンズモジュール12の焦点位置が取り得る可動範囲Ra(図4および図5参照)のうち、合焦位置が探索される範囲である。
図13は、撮像装置によるワークWの撮像を模式的に示した図である。図13に示す例のワークWは、透明体(ガラスなど)である。透明体のワークWであるため、ワークWのおもて面および裏面のいずれにも合焦可能である。さらに、ワークWの背景であるステージ90に合焦する可能性もある。このような場合、可動範囲Raの全域で焦点位置を変化させると、合焦度波形に複数のピークが含まれる。
図14は、複数のピークを含む合焦度波形の一例を示す図である。図14には、複数のピークP1〜P3を含む合焦度波形が示される。ピークP1がワークWの検査対象箇所に対応する場合において、ピークP2またはピークP3に対応する焦点位置が合焦位置として探索されると、正しく検査することができない。
このような問題を解決するために、可動範囲Raのうちの検査対象箇所に応じた範囲Rcが探索範囲として設定される。探索範囲が小さいほど、AF処理時間が短くなる。
<E−3.焦点位置の変化幅>
上記の第2〜第4の探索方法では、1段階目の探索処理において、焦点位置を変化幅Δf1ずつ変化させる。変化幅Δf1を大きくすることにより、撮像装置10における撮像回数が減るため、AF処理時間が短くなる。ただし、変化幅Δf1を大きくしすぎると、検査対象箇所に対応するピークが見逃される可能性がある。そのため、検査対象箇所に対応するピークの幅に応じて、変化幅Δf1が設定される。
<E−4.合焦位置の探索方向>
上記の第1の探索方法では、合焦度が極大となる焦点位置が探索された時点で、合焦位置の探索が終了する。探索範囲の両端のうち検査対象箇所に合焦する焦点位置に近い側の一端を起点とし、他端を終点とする探索方向に沿って合焦位置を探索することにより、AF処理時間が短くなる。そのため、検査対象箇所に応じて探索方向が設定される。
上記の第2の探索方法においても、合焦度が閾値Thを超える焦点位置が探索された時点で、1段階目の探索処理が終了する。探索範囲の両端のうち検査対象箇所に合焦する焦点位置に近い側の一端を起点とし、他端を終点とする探索方向に沿って合焦位置を探索することにより、1段階目の探索処理に要する時間が短くなる。そのため、検査対象箇所に応じて、1段階目の探索処理における探索方向が設定される。
上記の第3および第4の探索方法では、1段階目の探索処理において、探索範囲の全域が探索される。ただし、2段階目の探索処理では、1段階目の探索処理で探索された焦点位置の近傍において合焦位置が探索される。すなわち、1段階目の探索処理の終了後に、2段階目の探索処理の開始位置(つまり、1段階目の探索処理で探索された焦点位置)まで焦点位置を戻す移行処理が必要となる。探索範囲の両端のうち検査対象箇所に合焦する焦点位置に近い側の一端を終点とし、他端を起点とする探索方向に従って1段階目の探索処理が実行されることにより、移行処理に要する時間が短くなる。そのため、検査対象箇所に応じて、1段階目の探索処理における探索方向が設定される。
第4の探索方法では、上述したように、1段階目の探索処理において、探索方向の上流側から指定番号目の焦点位置群に属する焦点位置の中から、合焦度が最も大きい焦点位置が選択される。そのため、探索方向と合わせて、指定番号も設定される。
図15は、第4の探索方法における探索方向と指定番号との設定方法を説明する図である。図15に示す例では、図12と同様の合焦度波形が示される。探索方向として、探索範囲の一端F0を起点とし、他端Fnを終点とする方向D1と、一端F0を終点とし、他端Fnを起点とする方向D2とが設定可能である。ピークP1が検査対象箇所に対応するピークである場合、ピークP1に近い一端F0を終点とする方向D2を探索方向として設定することが好ましい。これにより、移行処理に要する時間が短くなる。方向D2を探索方向として設定された場合、ピークP1は、3番目の焦点位置群として探索される。そのため、指定番号「3」が設定される。
<E−5.合焦度の算出対象となる画像領域>
図16は、ワークWの像を含む画像の一例を示す図である。図16に示す例では、画像50の中にワークWの周囲の背景の像も含まれる。この場合、背景部分に合焦した画像が取得される可能性がある。そのため、画像50のうちのワークWの像を含む部分領域A1を、合焦度の算出対象となる画像領域(以下、「合焦度算出領域」という)として設定することが好ましい。これにより、背景部分に合焦した画像が取得される可能性を低減できる。
合焦度は、合焦度算出領域の明暗差に依存した値を示す。そのため、印刷されたテキスト部分では合焦度が高くなる。テキスト部分と検査対象箇所との高さが同じである場合には、テキスト部分を含む部分領域A2を合焦度算出領域として設定することにより、検査対象箇所に合焦した画像を得やすくなる。
合焦度算出領域が設定された場合、合焦度算出部22は、当該合焦度算出領域に基づいて合焦度を算出する。合焦度算出領域のサイズに応じて、合焦度の算出に要する時間が変動する。すなわち、合焦度算出領域のサイズが小さい程、合焦度の算出に要する時間が短くなり、AF処理時間が短くなる。
<F.処理条件の設定方法>
次に、条件設定部43によるAF処理条件の設定方法について説明する。条件設定部43は、表示装置42に表示された設定画面への入力情報に従って、AF処理条件を設定する。条件設定部43は、時間算出部44によって算出されたAF処理時間を設定画面に表示させることにより、入力情報の入力を支援する。
上述したように、検査対象となるワークWの品種が同じであれば、合焦度波形は、ワークWの個体差に応じて僅かに変動するものの、概ね同じ形状を有する。そのため、作業者は、予めサンプルとなる基準ワークW0をステージ90上に設置しておく。そして、条件設定部43は、基準ワークW0に対応する合焦度波形を取得し、当該合焦度波形を表示させることにより、入力情報の入力を支援する。
<F−1.第1および第3の探索方法に対応する設定画面例>
図17は、第1および第3の探索方法に対応する設定画面の一例を示す図である。図17に示す例の設定画面60は、条件設定部43によって表示装置42に表示される。設定画面60は、波形読み取りボタン61と、波形表示領域62と、ピーク選択欄64と、画像表示領域65と、つまみ68,69と、露光時間入力欄71と、変化幅入力欄72と、時間表示欄73と、OKボタン74と、キャンセルボタン75とを含む。
波形読み取りボタン61は、基準ワークW0に対応する合焦度波形を読み取る処理(以下、「スキャン処理」という」を実行するためのボタンである。
波形読み取りボタン61が押下されると、条件設定部43は、スキャン処理の実行指示(以下、「スキャン指示」という)を画像処理装置20に出力する。このとき、条件設定部43は、画像表示領域65に表示される枠線67で囲まれる画像領域(合焦度算出領域)のサイズおよび位置姿勢を示す領域情報と、露光時間入力欄71に入力されている露光時間を示す露光時間情報とをスキャン指示に付加する。なお、起動時には、枠線67は、画像全体を囲むように表示され、露光時間入力欄にはデフォルト値が入力されている。
スキャン指示を受けた画像処理装置20において、指令生成部21は、可動範囲Raの全域において焦点位置を最小変化幅Δf0ずつ変化させ、各焦点位置の画像を撮像装置10から受けるように、撮像指令を生成する。すなわち、指令生成部21は、可動範囲Raの一端に対応する焦点位置を指定した撮像指令を生成した後、最小変化幅Δf0ずつ変化させた焦点位置を指定した撮像指令を順次生成する。このとき、指令生成部21は、露光時間情報で示される露光時間だけ撮像するように撮像指令を生成する。これにより、画像処理装置20は、可動範囲Raの全域の各焦点位置の画像を撮像装置10から取得する。画像処理装置20の合焦度算出部22は、各焦点位置の画像について、領域情報で示される合焦度算出領域の合焦度を算出する。画像処理装置20は、可動範囲Raの全域における最小変化幅Δf0間隔に複数の焦点位置の各々について、当該焦点位置と合焦度とを対応付けたスキャン結果を設定装置40に出力する。
波形表示領域62は、基準ワークW0に対応する合焦度波形63が表示される。合焦度波形63は、折れ線グラフで表される。条件設定部43は、画像処理装置20から受けたスキャン結果に基づいて合焦度波形63を生成し、生成した合焦度波形63を波形表示領域62に表示させる。
ピーク選択欄64は、基準ワークW0の検査対象箇所に対応するピークを選択するための入力欄である。条件設定部43は、合焦度波形63のピークとなる焦点位置(以下、「ピーク位置」という)を抽出する。例えば、条件設定部43は、合焦度が基準値を超え、かつ、合焦度が極大となる焦点位置をピーク位置として抽出する。条件設定部43は、抽出したピーク位置を示す記号を波形表示領域62に表示する。図17に示す例では、3つのピーク位置にそれぞれ対応する3つの記号「(1)」、「(2)」および「(3)」が表示される。ピーク選択欄64には、抽出された3つのピーク位置のうち選択した1つのピーク位置に対応する記号が入力される。
ピーク選択欄64にピーク位置が入力されると、条件設定部43は、撮像指示を画像処理装置20に出力する。このとき、条件設定部43は、ピーク選択欄64に入力されたピーク位置を撮像指示に付加する。
撮像指示を受けた画像処理装置20において、指令生成部21は、焦点位置をピーク位置に調節して撮像する撮像指令を生成する。撮像装置10は、基準ワークW0を撮像することにより得られる画像(以下、「サンプル画像」という)を画像処理装置20に出力する。これにより、画像処理装置20は、焦点位置がピーク位置に調節されたときのサンプル画像を撮像装置10から取得する。画像処理装置20は、当該画像を設定装置40に出力する。
画像表示領域65は、撮像装置10の撮像によって得られたサンプル画像66を表示するための領域である。条件設定部43は、ピーク選択欄64へのピーク位置の入力に応じて画像処理装置20から受けたサンプル画像66を画像表示領域65に表示させる。これにより、作業者は、画像表示領域65に表示されるサンプル画像66を確認することにより、基準ワークW0の検査対象箇所に合焦するときの焦点位置をピーク位置としてピーク選択欄64に入力できる。
画像表示領域65には、合焦度算出領域を設定するための枠線67が表示される。作業者は、枠線67のサイズおよび位置姿勢を変更することにより、合焦度算出領域のサイズおよび位置姿勢を設定する。なお、枠線67のサイズおよび位置姿勢が変更されると、条件設定部43は、合焦度算出領域の変更を反映させるために波形読み取りボタン61を押下する必要がある旨のメッセージを設定画面60に表示する。
例えば、作業者は、基準ワークW0における検査対象箇所と同じ高さであり、かつ、コントラストの高い部分を含む領域を囲むように枠線67のサイズおよび位置姿勢を変更する。図17に示す例では、表面に印刷されたテキストを囲むように枠線67のサイズおよび位置姿勢が変更されている。なお、コントラストの高い部分としては、表面に印刷されたテキストの他にも、エッジ部分、ネジなどの部品が取り付けられた部分などが含まれる。
図17に示す例では、矩形の枠線67が示されるが、枠線67の形状(つまり合焦度算出領域の形状)はこれに限定されない。例えば、合焦度算出領域は、円形あるいは領域を形成することが可能な任意の自由な形状であってもよい。また、合焦度算出領域は、1つにまとまった領域であると限定される必要はなく、分散して存在する複数の領域であってもよい。
つまみ68,69は、合焦位置の探索範囲を設定するためのつまみである。波形表示領域62には、探索範囲の一端となる焦点位置に対応する点線68aと、探索範囲の他端となる焦点位置に対応する点線69aとが表示される。作業者は、つまみ68を移動させることにより、点線68aの位置(つまり探索範囲の一端)を変更することができる。さらに、作業者は、つまみ69を移動させることにより、点線69aの位置(つまり探索範囲の他端)を変更することができる。条件設定部43は、点線68aから点線69aまでの範囲を探索範囲として設定する。
ラジオボタン70a,70bは、焦点位置の探索方向を設定するためのボタンである。ラジオボタン70aが押下されると、条件設定部43は、点線68aの焦点位置から点線69aの焦点位置に向かう方向を探索方向として設定する。ラジオボタン70bが操作されると、条件設定部43は、点線69aの焦点位置から点線68aの焦点位置に向かう方向を探索方向として設定する。
露光時間入力欄71は、露光時間を設定するための入力欄である。作業者は、画像表示領域65に表示されたサンプル画像66を確認しながら、サンプル画像66の明度が検査に適した範囲内になるように露光時間を入力する。起動時には、露光時間入力欄71にはデフォルト値が入力されている。露光時間が変更されると、条件設定部43は、露光時間の変更を反映させるために波形読み取りボタン61を押下する必要がある旨のメッセージを設定画面60に表示する。
変化幅入力欄72は、第3の探索方法の1段階目の探索処理における焦点位置の変化幅Δf1を入力するための欄である。条件設定部43は、変化幅入力欄72に入力された値に基づいて変化幅Δf1を設定する。変化幅入力欄72には、例えば、最小変化幅Δf0に対する倍数Nが入力される。この場合、条件設定部43は、最小変化幅Δf0のN倍を変化幅Δf1として設定する。なお、第1の探索方法に従って合焦位置が探索される場合には、変化幅入力欄72は設定画面60から省略される。
時間表示欄73は、現時点で設定されているAF処理条件に対応するAF処理時間を表示するための欄である。時間表示欄73に表示されるAF処理時間は、時間算出部44によって算出される。枠線67、つまみ68,69、ラジオボタン70a,70b、露光時間入力欄71、および変化幅入力欄72に対する入力を受け付けるたびに、時間表示欄73のAF処理時間が更新される。
OKボタン74は、現時点で設定されているAF処理条件を画像処理装置20に登録するためのボタンである。OKボタン74が押下されると、条件設定部43は、設定画面60への入力情報に基づいて、AF処理条件を示す処理条件データ232を生成する。処理条件データ232は、露光時間、探索範囲、1段階目の探索処理における変化幅Δf1(第3の探索方法に限る)、探索方向、および合焦度算出領域のサイズおよび位置姿勢を示す。条件設定部43は、生成した処理条件データ232を画像処理装置20に出力する。画像処理装置20は、設定装置40から受けた処理条件データ232を記憶部230に格納する。
キャンセルボタン75は、AF処理条件の設定処理を中止するためのボタンである。キャンセルボタン75が操作されると、条件設定部43は、設定画面60を閉じ、AF処理条件の設定処理を中止する。
<F−2.第2および第4の探索方法に対応する設定画面例>
図18は、第2および第4の探索方法に対応する設定画面の一例を示す図である。図18に示す例の設定画面60aは、図17に示す例の設定画面60と比較して、変化幅入力欄72の代わりにつまみ76を含む点でのみ相違する。
つまみ76は、第2および第4の探索方法における閾値Thを設定するためのつまみである。波形表示領域62には、閾値Thを示す直線76aが表示される。作業者は、つまみ76を上下させることにより、直線76aの位置(すなわち閾値Th)を変えることができる。
条件設定部43は、直線76aの位置に応じて閾値Thを設定するとともに、1段階目の探索処理における焦点位置の変化幅Δf1を設定する。
図19は、焦点位置の変化幅Δf1の設定方法を説明する図である。図19に示されるように、条件設定部43は、合焦度波形63において、連続して合焦度が閾値Thを超える焦点位置の区域を特定する。図19に示す例では、合焦度波形63は、合焦度が閾値Thを超える焦点位置の3つの区域R1〜R3を有する。区域R1〜R3は、ピークP1〜P3にそれぞれ対応する。条件設定部43は、区域R1〜R3の幅d1〜d3をそれぞれ算出する。条件設定部43は、算出された全ての幅d1〜d3のうち最小の幅(例えば幅d2)または当該最小の幅よりも所定値だけ小さい幅を変化幅Δf1として設定する。これにより、変化幅Δf1ずつ焦点位置を変化させることにより、区域R1〜R3の各々において、少なくとも1つの焦点位置で合焦度が閾値Thを超える。その結果、1段階目の探索処理において、ピークP1〜P3を見逃すことを防止できる。
第4の探索方法では、上述したように、2段階目の探索処理において、探索方向Dの上流側から指定番号目の焦点位置群に属する焦点位置の中から、合焦度が最も大きい焦点位置が選択される(図12参照)。第4の探索方法に従って合焦位置が探索される場合には、条件設定部43は、ラジオボタン70a,70bに対する押下と、ピーク選択欄64への入力とに従って、探索方向を設定するとともに指定番号も設定すればよい。
例えば、図18に示す例では、点線68aの焦点位置から点線69aの焦点位置に向かう方向を探索方向を選択するラジオボタン70aが押下され、かつ、点線68aに最も近いピーク位置に対応する記号「(1)」がピーク選択欄64に入力されている。言い換えると、図19に示す区域R1〜R3のうち区域R1が指定されている。そのため、条件設定部43は、指定番号「1」を設定する。
OKボタン74が押下されると、条件設定部43は、入力情報に基づいて、露光時間、探索範囲、1段階目の探索処理における変化幅Δf1、探索方向、閾値Th、指定番号および合焦度算出領域のサイズおよび位置姿勢を示す処理条件データ232を生成する。
<G.処理時間の算出方法>
次に、時間算出部44によるAF処理時間の算出方法について説明する。
<G−1.第1の探索方法に従ったAF処理時間の算出方法>
合焦位置の探索は、1つの焦点位置における撮像処理、撮像により得られた画像から合焦度を算出する合焦度算出処理および次の焦点位置にレンズモジュール12を調節する調節処理を繰り返すことにより実行される。そのため、時間算出部44は、以下の式(2)に従って算出された時間TをAF処理時間として決定する。式(2)において、撮像時間は、1回の撮像処理に要する時間である。画像処理時間は、1回の合焦度算出処理に要する時間である。調節時間は、1回の調節処理に要する時間である。
撮像時間は、露光時間と、撮像装置10から画像処理装置20に画像を転送する時間(以下、「画像転送時間」という)との和である。画像転送時間は、予め実験等により確認される。時間算出部44は、予め確認された画像転送時間を記憶しておき、当該画像転送時間に露光時間入力欄71に入力された露光時間を加算することにより、撮像時間を算出する。
画像処理時間は、合焦度算出領域に含まれる画素数に比例する。基準画素数を有する画像領域から合焦度を算出するのに要する時間(以下、「基準算出時間」)は、予め実験等により確認される。時間算出部44は、予め確認された基準算出時間を記憶しておき、基準画素数に対する合焦度算出領域に含まれる画素数の比率を当該基準算出時間に乗じることにより、画像処理時間を算出する。
調節時間は、焦点位置の変化幅に比例する。最小変化幅Δf0だけ焦点位置を変化させるのに要する時間(以下、「基準移動時間」という)は、予め実験等により確認される。時間算出部44は、予め確認された基準移動時間を調節時間とする。
焦点位置を変化させる回数nは、探索範囲に依存する。時間算出部44は、設定画面中の点線68aから点線69aまでの距離を最小変化幅Δf0で除算することにより、回数nを算出する。
時間算出部44は、上記のようにして算出した撮像時間、画像処理時間、調節時間および回数nを上記の式(1)に代入することにより時間Tを算出し、算出した時間TをAF処理時間として決定する。
<G−2.第2の探索方法に従った処理時間の算出方法>
第2の探索方法では、1段階目の探索処理と2段階目の探索処理とが行なわれる。そのため、時間算出部44は、1段階目の探索処理に要する時間と、2段階目の探索処理に要する時間との和をAF処理時間として算出する。
時間算出部44は、上記の式(1)を用いて、1段階目の探索処理に要する時間および2段階目の探索処理に要する時間の各々を算出すればよい。
1段階目の探索処理に要する時間は、以下のようにして算出される。1段階目の探索処理では、変化幅Δf1ずつ焦点位置が変化する。
図20は、変化幅Δf1と最小変化幅Δf0との関係を示す図である。変化幅Δf1は、最小変化幅Δf0のN倍(Nは正の整数)である。図20に示す例では、Nは3である。時間算出部44は、基準移動時間にNを乗じることにより調節時間を算出する。
また、時間算出部44は、合焦度波形63に基づいて、探索範囲の起点となる焦点位置から合焦度が閾値Thを最初に超える焦点位置までの距離を変化幅Δf1で除算した値を回数nとして算出する。時間算出部44は、ラジオボタン70aが押下された場合、波形表示領域62に表示される点線68aに対応する位置を探索範囲の起点として特定する。時間算出部44は、ラジオボタン70bが押下された場合、波形表示領域62に表示される点線69aに対応する位置を探索範囲の起点として特定する。さらに、時間算出部44は、合焦度波形63において、探索範囲の起点から探索方向に変化幅Δf1ずつ変化させたときに合焦度が最初に閾値Thを超える焦点位置(以下、「1段階目の探索位置」という)を特定する。時間算出部44は、特定したこれらの焦点位置に基づいて、回数nを算出する。
1段階目の探索処理における撮像時間および画像処理時間は、<G−1.第1の探索方法に従った処理時間の算出方法>で説明した方法により算出される。
時間算出部44は、上記のようにして算出した撮像時間、画像処理時間、調節時間および回数nを上記の式(2)に代入することにより時間Tを算出し、算出した時間Tを1段階目の探索処理に要する時間として決定する。
2段階目の探索処理に要する時間は、以下のようにして算出される。すなわち、時間算出部44は、1段階目の探索位置からピーク選択欄64に入力されたピーク位置までの距離を最小変化幅Δf0で除算した値を回数nとして算出する。
2段階目の探索処理における撮像時間、画像処理時間および調節時間は、<G−1.第1の探索方法に従った処理時間の算出方法>で説明した方法により算出される。
時間算出部44は、上記のようにして算出した撮像時間、画像処理時間、調節時間および回数nを上記の式(2)に代入することにより時間Tを算出し、算出した時間Tを2段階目の探索処理に要する時間として決定する。
<G−3.第3の探索方法に従った処理時間の算出方法>
第3の探索方法でも、1段階目の探索処理と2段階目の探索処理とが行なわれる。さらに、第3の探索方法では、1段階目の探索処理から2段階目の探索処理に移行するまでの間に、焦点位置を移動させる移行処理が必要となる。そのため、時間算出部44は、1段階目の探索処理に要する時間と2段階目の探索処理に要する時間と移行処理に要する時間との和をAF処理時間として算出する。
時間算出部44は、上記の式(2)を用いて、1段階目の探索処理に要する時間および2段階目の探索処理に要する時間の各々を算出すればよい。
1段階目の探索処理に要する時間は、以下のようにして算出される。1段階目の探索処理では、変化幅Δf1ずつ焦点位置が変化する。変化幅Δf1は、最小変化幅Δf0のN倍である。時間算出部44は、基準移動時間にNを乗じることにより調節時間を算出する。
また、時間算出部44は、点線68aに対応する焦点位置から点線69aに対応する焦点位置までの距離(つまり、探索範囲の幅)を変化幅Δf1で除算した値を回数nとして算出する。
1段階目の探索処理における撮像時間および画像処理時間は、<G−1.第1の探索方法に従った処理時間の算出方法>で説明した方法により算出される。
時間算出部44は、上記のようにして算出した撮像時間、画像処理時間、調節時間および回数nを上記の式(2)に代入することにより時間Tを算出し、算出した時間Tを1段階目の探索処理に要する時間として決定する。
2段階目の探索処理に要する時間は、以下のようにして算出される。すなわち、時間算出部44は、合焦度波形63において、探索範囲の起点から探索方向に変化幅Δf1ずつ変化させたときに合焦度が最大となる焦点位置(1段階目の探索位置)を特定する。時間算出部44は、1段階目の探索位置からピーク選択欄64に入力されたピーク位置までの距離を最小変化幅Δf0で除算した値を回数nとして算出する。
2段階目の探索処理における撮像時間、画像処理時間および調節時間は、<G−1.第1の探索方法に従った処理時間の算出方法>で説明した方法により算出される。
時間算出部44は、上記のようにして算出した撮像時間、画像処理時間、調節時間および回数nを上記の式(2)に代入することにより時間Tを算出し、算出した時間Tを2段階目の探索処理に要する時間として決定する。
移行処理に要する時間は、以下のようにして算出される。すなわち、時間算出部44は、探索範囲の終点から1段階目の探索位置までの距離を最小変化幅Δf0で除算した値Kを算出する。時間算出部44は、基準移動時間にKを乗じることにより、移行処理に要する時間を算出する。
<G−4.第4の探索方法に従った処理時間の算出方法>
第4の探索方法では、1段階目の探索処理と2段階目の探索処理とが行なわれる。第4の探索方法でも、1段階目の探索処理から2段階目の探索処理に移行するまでの間に、焦点位置を移動させる移行処理が必要となる。そのため、時間算出部44は、1段階目の探索処理に要する時間と2段階目の探索処理に要する時間と移行処理に要する時間との和をAF処理時間として算出する。
時間算出部44は、<G−3.第3の探索方法に従った処理時間の算出方法>に説明した方法と同じ方法により、1段階目の探索処理に要する時間を算出する。なお、第4の探索方法では、1段階目の探索処理は、探索方向の上流側から指定番号目の焦点位置群に属する焦点位置の中から、合焦度が最も大きい焦点位置を選択する処理を含む。しかしながら、当該選択する処理は、CPU401による比較的簡易な演算処理である。そのため、当該選択する処理に要する時間は、無視される。
2段階目の探索処理に要する時間は、以下のようにして算出される。すなわち、時間算出部44は、合焦度波形63において、探索範囲の起点から探索方向に変化幅Δf1ずつ焦点位置を変化させたときに、ピーク選択欄64に入力されたピーク位置に最も近くなる焦点位置(1段階目の探索位置)を特定する。1段階目の探索位置は、ピーク位置と同一であってもよい。時間算出部44は、1段階目の探索位置からピーク選択欄64に入力されたピーク位置までの距離を最小変化幅Δf0で除算した値を回数nとして算出する。
2段階目の探索処理における撮像時間、算出時間および調節時間は、<G−1.第1の探索方法に従った処理時間の算出方法>で説明した方法により算出される。
時間算出部44は、上記のようにして算出した撮像時間、画像処理時間、調節時間および回数nを上記の式(2)に代入することにより時間Tを算出し、算出した時間Tを2段階目の探索処理に要する時間として決定する。
移行処理に要する時間は、以下のようにして算出される。すなわち、時間算出部44は、探索範囲の終点から1段階目の探索位置までの距離を最小変化幅Δf0で除算した値Kを算出する。時間算出部44は、基準移動時間にKを乗じることにより、移行処理に要する時間を算出する。
<H.AF処理条件に従ったオートフォーカス処理の実行>
画像処理装置20および撮像装置10は、以下のようにして、AF処理条件に従ってオートフォーカス処理を実行する。
画像処理装置20の指令生成部21は、AF処理条件データで示される露光時間で撮像する撮像指令を生成する。
さらに、指令生成部21は、AF処理条件データで示される探索範囲、探索方向および変化幅Δf1に基づいて、各撮像指令における焦点位置を決定する。例えば、第2〜第4の探索方法の場合、1段階目の探索処理において、指令生成部21は、探索範囲および探索方向に基づいて、起点となる焦点位置を指定した撮像指令を生成する。その後、指令生成部21は、直近の撮像指令に応じて取得した画像の合焦度が算出された後、前回指定した焦点位置から変化幅Δf1だけ探索方向に移動させた焦点位置を指定した撮像指令を生成する。
2段階目の探索処理において、指令生成部21は、1段階目の探索処理で探索された焦点位置から最小変化幅Δf0だけ移動させた焦点位置を指定した撮像指令を生成する。探索部23は、1段階目の探索処理で探索された焦点位置の合焦度と、1段階目の探索処理で探索された焦点位置から最小変化幅Δf0だけ移動させた焦点位置の合焦度との比較により探索方向を決定する。その後、指令生成部21は、前回指定した焦点位置から最小変化幅Δf0だけ探索方向に移動させた焦点位置を指定した撮像指令を生成する。
第1の探索方法の場合、指令生成部21は、探索範囲および探索方向に基づいて、起点となる焦点位置を指定した撮像指令を生成する。その後、指令生成部21は、前回指定した焦点位置から最小変化幅Δf0だけ探索方向に移動させた焦点位置を指定した撮像指令を生成する。
画像処理装置20の合焦度算出部22は、AF処理条件データで示される合焦度算出領域から合焦度を算出する。
第4の探索方法の1段階目の探索処理において、画像処理装置20の探索部23は、合焦度算出部22によって算出された合焦度と、AF処理条件データで示される探索方向および指定番号とに基づいて、1つの焦点位置を探索する。
<I.変形例>
<I−1.変形例1>
上記の説明では、時間算出部44は、基準ワークW0に対応する合焦度波形63に基づいて、第2〜第4の探索方法における2段階目の探索処理に要する時間を算出するものとした。しかしながら、2段階目の探索処理では、ワークWの状態において、焦点位置を変化させる回数nが変動する。そのため、予め実験等により、2段階目の探索処理において焦点位置を変化させる平均回数が確認されてもよい。時間算出部44は、当該平均回数を予め記憶しておき、当該平均回数を上記の式(1)のnに代入することにより、これらの探索処理に要する時間を算出すればよい。
もしくは、1段階目の探索処理に要する時間に比べて、2段階目の探索処理に要する時間がわずかである場合には、時間算出部44は、2段階目の探索処理に要する時間を固定時間としてAF処理時間を算出してもよい。固定時間は、予め実験等により確認される。
<I−2.変形例2>
画像処理装置20は、条件設定部43および時間算出部44を含んでもよい。この場合、画像処理装置20は、AF処理条件を設定する設定装置としても動作する。画像処理装置20に含まれる条件設定部43は、画像処理装置20に接続される表示装置250(図6参照)に設定画面60,60aを表示すればよい。
<I−3.変形例3>
時間算出部44は、波形読み取りボタン61の押下に応じて実行されるスキャン処理に要したスキャン時間に基づいて、AF処理時間を算出してもよい。
画像処理時間は、画像に応じて変動し得る。すなわち、画像処理時間は、ワークWの品種に応じて変動し得る。そのため、時間算出部44は、サンプルとなる基準ワークW0を用いたスキャン時間から画像処理時間を算出することが好ましい。
具体的には、時間算出部44は、画像処理装置20にスキャン指示を出力してから、画像処理装置20からスキャン結果を受けるまでのスキャン時間を記録しておく。スキャン時間は、以下の式(3)のように表される。
式(3)において、nmaxは、可動範囲Raの幅を最小変化幅Δf0で除算した値である。そのため、時間算出部44は、スキャン時間をnmaxで除算することにより、1つの焦点位置における撮像時間と画像処理時間と調節時間との総和(=スキャン時間/nmax)を算出する。
式(3)の撮像時間は、上述したように露光時間と画像転送時間との和である。式(3)の調節時間は、最小変化幅Δf0だけ焦点位置を移動させるのに要する最小移動時間と同じである。画像転送時間および最小移動時間については、画像の状態に依存せず、予め実験等により確認される。そのため、時間算出部44は、スキャン時間/nmaxから、設定画面60,60aで設定された露光時間と予め確認された画像転送時間および最小移動時間とを差し引くことにより、1つの焦点位置に対応する画像から合焦度を算出するのに要する画像処理時間を算出する。
時間算出部44は、このようにして算出した画像処理時間を上記の式(2)に代入することにより、AF処理時間を算出すればよい。これにより、AF処理時間の算出精度が向上する。
もしくは、画像処理装置20は、撮像装置10から画像を受けてから合焦度算出部22から合焦度が算出されるまでの時間を計測し、計測した時間を画像処理時間として設定装置40に出力してもよい。設定装置40は、計測された画像処理時間を式(2)に代入することにより、AF処理時間を算出すればよい。これによっても、AF処理時間の算出精度が向上する。
さらに、レンズ制御部16は、スキャン処理において、最小変化幅Δf0だけ焦点位置を変化させるのに要する時間を計測してもよい。計測された時間は、画像処理装置20を介して設定装置40に出力される。設定装置40は、計測された時間を調節時間として式(2)に代入することにより、AF処理時間を算出すればよい。これにより、AF処理時間の算出精度がさらに向上する。
さらに、画像処理装置20は、スキャン処理において、撮像指令を撮像装置10に出力してから、撮像装置10から画像を受けるまでの時間を計測してもよい。設定装置40は、計測された時間を撮像時間として式(2)に代入することにより、AF処理時間を算出すればよい。これにより、AF処理時間の算出精度がさらに向上する。
<I−4.変形例4>
上記の式(2)では、撮像時間と、画像処理時間と、調節時間との和に基づいて、AF処理時間が算出されるものとした。これは、ある焦点位置の撮像指令に応じて取得した画像に対する合焦度の算出が終了してから、次の焦点位置の撮像指令が出力されることを前提としている。しかしながら、画像処理装置の指令生成部21は、ある焦点位置の撮像指令に対応する画像を取得すると、次の焦点位置の撮像指令を出力してもよい。この場合、ある焦点位置の画像に対する合焦度算出処理と次の焦点位置への調節処理とが並行して実行される。
合焦度算出処理に要する時間(画像処理時間)が調節処理に要する時間(調節時間)よりも長い場合には、時間算出部44は、上記の式(2)の代わりに以下の式(4)を用いてAF処理時間を算出すればよい。
合焦度算出処理に要する時間(画像処理時間)が調節処理に要する時間(調節時間)よりも短い場合には、時間算出部44は、上記の式(2)の代わりに以下の式(5)を用いてAF処理時間を算出すればよい。
画像処理時間と調節時間とのどちらが長いかは、予め実験等により確認される。時間算出部44は、確認結果に応じて、式(4)または式(5)のいずれかを用いればよい。
<I−5.変形例5>
上記の説明では、折れ線グラフである合焦度波形63が設定画面60,60aに表示される。しかしながら、設定画面60,60aには、折れ線グラフである合焦度波形63に限らず、可動範囲Raにおける各焦点位置と合焦度との関係を示す図形が表示されればよい。図形には、折れ線グラフ以外の各種グラフが含まれる。あるいは、図形において、合焦度の大小が、色度、彩度および明度の少なくとも1つによって表されてもよい。
<J.作用・効果>
以上のように、撮像システム1は、焦点位置が所定の可動範囲Raで可変である撮像装置10と、指令生成部21と、合焦度算出部22と、探索部23と、条件設定部43とを備える。指令生成部21、合焦度算出部22および探索部23は、焦点位置を変化させたときの、撮像装置10によって生成される画像から算出される合焦度の変化に基づいて、ワークWの検査対象箇所に合焦する合焦位置を探索するオートフォーカス処理を実行する。条件設定部43は、表示装置42に表示された設定画面60,60aへの入力情報に従って、AF処理条件を設定する。条件設定部43は、AF処理条件に従って実行されるAF処理時間を設定画面60,60aに表示させることにより、入力情報の入力を支援する。これにより、作業者は、AF処理時間を考慮しながら、AF処理条件を適宜設定できる。
第2および第4の探索方法に従うオートフォーカス処理は、1段階目の探索処理と2段階目の探索処理とを含む。1段階目の探索処理は、焦点位置を変化幅Δf1ずつ変化させながら、合焦度が閾値Thを超える第1焦点位置を探索する処理である。2段階目の探索処理は、第1焦点位置から最小変化幅Δf0ずつ焦点位置を変化させながら、合焦度が極大を示す第2焦点位置を合焦位置として探索する処理である。
このとき、条件設定部43は、設定画面の入力情報に従って変化幅Δf1を設定する。具体的には、条件設定部43は、焦点位置と合焦度との関係を示す図形(例えば合焦度波形63)を設定画面60,60aに表示させる。条件設定部43は、閾値Thを入力情報として受けると、合焦度波形63において合焦度が閾値Thを連続して超える焦点位置の幅に基づいて変化幅Δf1を設定する。これにより,作業者は、合焦度波形63と閾値との関係を確認しながら、変化幅Δf1を適宜設定できる。
第4の探索方法における1段階目の探索処理は、連続して合焦度が閾値Thを超える焦点位置の集合が複数探索された場合に、当該複数の集合のうち、探索方向の上流側から指定番号目の集合に属する焦点位置を第1焦点位置として選択する処理を含む。
このとき、条件設定部43は、設定画面の入力情報に従って探索方向および指定番号を設定する。具体的には、条件設定部43は、焦点位置と合焦度との関係を示す図形(例えば合焦度波形63)を設定画面60,60aに表示させる。合焦度波形63は、合焦度が閾値Thを超える焦点位置の複数の区域R1〜R3を有する。条件設定部43は、複数の区域R1〜R3のうち指定された区域に基づいて指定番号を設定する。これにより,作業者は、合焦度波形63を確認しながら、指定番号を適宜設定できる。
合焦度波形63は、焦点位置を可動範囲Ra内で最小変化幅Δf0ずつ変化させるスキャン処理によって取得される。変形例3において、時間算出部44は、スキャン処理に要したスキャン時間に基づいてAF処理時間を算出する。これにより、実状に即したAF処理時間を設定画面60,60aに表示させることができる。
条件設定部43は、撮像装置10によって撮像されたサンプル画像66を設定画面60,60aに表示させ、サンプル画像66上の枠線67で囲まれた領域を示す領域情報を入力情報として受ける。条件設定部43は、領域情報に基づいて、合焦度算出領域のサイズおよび位置姿勢を設定する。これにより、作業者は、サンプル画像66を確認しながら、検査対象箇所に応じて、合焦度算出領域を適宜設定できる。
§3 付記
以上のように、実施の形態は以下のような開示を含む。
(構成1)
焦点位置が所定範囲で可変である撮像装置(10)と、
前記焦点位置を変化させたときの、前記撮像装置(10)によって生成される画像から算出される合焦度の変化に基づいて、対象物に合焦する合焦位置を探索するオートフォーカス処理を実行するためのオートフォーカス処理手段(21,22,23)と、
表示装置(42,250)に表示された設定画面への入力情報に従って、前記オートフォーカス処理の処理条件を設定するための設定手段(43)とを備え、
前記設定手段(43)は、前記処理条件に従って実行される前記オートフォーカス処理に要する処理時間を前記設定画面に表示させることにより、前記入力情報の入力を支援する、撮像システム(1)。
(構成2)
前記処理条件は、前記撮像装置(10)の露光時間、前記所定範囲のうちの前記合焦位置の探索範囲、前記焦点位置の変化幅、前記焦点位置の探索方向、および前記合焦度の算出対象となる画像領域の少なくとも1つを含む、構成1に記載の撮像システム(1)。
(構成3)
前記オートフォーカス処理は、
前記焦点位置を第1変化幅ずつ変化させながら、前記合焦度が閾値を超える第1焦点位置を探索する第1探索処理と、
前記第1焦点位置から前記第1変化幅よりも小さい第2変化幅ずつ前記焦点位置を変化させながら、前記合焦度が極大を示す第2焦点位置を前記合焦位置として探索する第2探索処理とを含み、
前記処理条件は、前記第1変化幅を含む、構成2に記載の撮像システム(1)。
(構成4)
前記設定手段(43)は、
前記焦点位置と前記合焦度との関係を示す図形を前記設定画面に表示させ、
前記閾値を前記入力情報として受けると、前記図形において前記合焦度が前記閾値を連続して超える前記焦点位置の幅に基づいて前記第1変化幅を設定する、構成3に記載の撮像システム(1)。
(構成5)
前記第1探索処理は、連続して合焦度が前記閾値を超える焦点位置の集合が複数探索された場合に、当該複数の集合のうち、前記焦点位置の探索方向の上流側から指定番号目の集合に属する焦点位置を第1焦点位置として選択する処理を含み、
前記処理条件は、前記探索方向および前記指定番号を含む、構成3に記載の撮像システム(1)。
(構成6)
前記設定手段(43)は、前記焦点位置と前記合焦度との関係を示す図形を前記設定画面に表示させ、
前記図形は、前記合焦度が前記閾値を超える前記焦点位置の複数の区域を有し、
前記設定手段(43)は、前記複数の区域のうち指定された区域に基づいて前記指定番号を設定する、構成5に記載の撮像システム(1)。
(構成7)
前記関係は、前記焦点位置を前記所定範囲内で前記第2変化幅ずつ変化させるスキャン処理によって取得され、
前記撮像システム(1)は、前記スキャン処理に要したスキャン時間に基づいて前記処理時間を算出するための算出手段(44)をさらに備える、構成4または6に記載の撮像システム(1)。
(構成8)
前記処理条件は、前記合焦度の算出対象となる画像領域を含み、
前記設定手段(43)は、
前記撮像装置(10)によって撮像されたサンプル画像を前記設定画面に表示させ、
前記サンプル画像上の指定領域を示す領域情報を前記入力情報として受け、
前記領域情報に基づいて、前記合焦度の算出対象となる画像領域を設定する、構成2に記載の撮像システム(1)。
(構成9)
構成1から8のいずれかに記載の撮像システム(1)で用いられる設定装置(40)であって、
前記設定手段(43)を備える、設定装置(40)。
本発明の実施の形態について説明したが、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。