以下、図面を参照しつつ、本発明に従う実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。
§1 適用例
まず、図1および図2を参照して、本発明が適用される場面の一例について説明する。図1は、実施の形態に係る検査システムの1つの適用例を示す模式図である。図2は、検査システムに備えられる撮像装置の内部構成の一例を示す図である。
図1に示すように、本実施の形態に係る検査システム1は、たとえば外観検査システムとして実現される。検査システム1は、たとえば工業製品の生産ラインなどにおいて、ステージ90上に載置されたワークW上の検査対象箇所を撮像し、得られた画像を用いて、ワークWの外観検査を行う。外観検査では、ワークWの傷、汚れ、異物の有無、寸法などが検査される。
ステージ90上に載置されたワークWの外観検査が完了すると、次のワーク(図示せず)がステージ90上に搬送される。ワークWの撮像の際、ワークWは、ステージ90上の所定位置に所定姿勢で静止してもよい。あるいは、ワークWがステージ90上を移動しながら、ワークWが撮像されてもよい。
図1に示すように、検査システム1は、基本的な構成要素として、撮像装置10と、画像処理装置20とを備える。この実施の形態では、検査システム1は、さらに、PLC(Programmable Logic Controller)30と、入力装置40と、表示装置50とを備える。
撮像装置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は、ワークWの撮像される領域に応じてフォーカス位置が変化するように、フォーカス調節部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は、画像処理装置20が撮像指令(撮像トリガ)を撮像装置10に出力するためのタイミングを制御する。
入力装置40および表示装置50は、画像処理装置20に接続される。入力装置40は、検査システム1の各種の設定に関するユーザの入力を受け付ける。表示装置50は、検査システム1の設定に関する情報、画像処理装置20によるワークWの画像処理の結果などを表示する。
画像処理装置20は、撮像装置10から撮像画像データを取得し、取得した撮像画像データに対する画像処理を行なう。画像処理装置20は、指令生成部21と、算出部22と、オートフォーカス制御部(以下、「AF制御部」という)23と、検査部24と、オートフォーカス評価部(以下、「AF評価部」という)25と、判定部26と、出力部27と、記憶部230と、条件作成部28と、設定部29とを含む。
指令生成部21は、PLC30からの制御指令を受けて、撮像装置10に撮像指令(撮像トリガ)を出力する。さらに、指令生成部21は、撮像装置10のレンズ制御部16の処理条件を撮像装置10に指定する。
算出部22は、撮像画像データから合焦度を算出する。合焦度とは、対象物に対して焦点がどの程度合っているかを表す度合いであり、公知の種々の方法を用いる算出される。たとえば、算出部22は、撮像画像データに対してハイパスフィルタを適用することにより高周波成分を抽出し、抽出された高周波成分の積算値を合焦度として算出する。このような合焦度は、画像の明暗差に依存した値を示す。
AF制御部23は、ワークWに合焦する焦点位置である合焦位置を探索する。具体的には、AF制御部23は、レンズモジュール12の焦点位置を変えて生成された複数の撮像画像データの各々の合焦度を算出部22から取得する。AF制御部23は、取得した合焦度がピークとなる焦点位置を合焦位置として決定する。「合焦する」とは、ワークWの像が撮像素子13の撮像面13a(図2参照)に形成されることを意味する。AF制御部23は、レンズモジュール12の焦点位置が合焦位置であるときの撮像画像データを検査画像データとして特定する。
検査部24は、検査画像データで示される検査画像に基づいてワークWを検査し、検査結果を出力する。具体的には、検査部24は、検査画像に対して予め登録された画像処理を施すことにより、ワークWを検査する。検査部24は、公知の技術を用いて検査を行なえばよい。検査項目が傷の有無である場合、検査結果は「傷あり」または「傷なし」を示す。検査項目が寸法である場合、検査結果は寸法の計測値が所定範囲内であるか否かを示す。
AF評価部25は、検査画像に基づいて合焦位置の信頼性を評価し、評価結果を出力する。具体的には、AF評価部25は、検査画像に対して予め登録された画像処理を施すことにより、合焦位置の信頼性を示す評価値を算出し、算出した評価値と閾値とを比較することにより、合焦位置の信頼性を評価する。AF評価部25は、例えば、信頼性が高い程大きくなる評価値を算出し、当該評価値が閾値以上である場合に合焦位置が正しいとの評価結果を出力し、当該評価値が閾値未満である場合に合焦位置が誤っている可能性があるとの評価結果を出力する。
判定部26は、検査部24から出力された検査結果とAF評価部25から出力された評価結果とに基づいて、ワークWの総合判定を行なう。例えば、判定部26は、傷なしを示す検査結果と、合焦位置が正しいことを示す評価結果を受けた場合に、ワークWが良品であると判定する。判定部26は、傷ありを示す検査結果と、合焦位置が正しいことを示す評価結果を受けた場合に、ワークWが不良品であると判定する。さらに、判定部26は、合焦位置が誤っている可能性があることを示す評価結果を受けた場合に、合焦位置の誤りにより精度良く検査できていない可能性があると判定する。
出力部27は、判定部26による判定結果を出力する。例えば、出力部27は、表示装置50に判定結果を表示させる。出力部27は、検査結果および評価結果も表示装置50に表示させてもよい。
記憶部230は、各種のデータ、プログラム等を記憶する。例えば、記憶部230は、AF制御部23によって特定された検査画像データ、および所定の処理が施された検査画像データを保存する。記憶部230は、検査部24による検査結果、AF評価部25による評価結果、および判定部26による判定結果を保存してもよい。
本実施の形態に係る検査システム1は、合焦位置の探索に関するオートフォーカス処理を実行するオートフォーカス処理部として、レンズ制御部16と算出部22とAF制御部23とAF評価部25とを備える。本実施の形態では、ワークWの品種および検査対象箇所の少なくとも一方に応じて、当該オートフォーカス処理の条件が切り替えられる。
記憶部230は、ワークWの品種および検査対象箇所を識別する識別情報と、オートフォーカス処理の条件を示す条件データとを対応付けた条件テーブル232を記憶する。
条件作成部28は、記憶部230が記憶する条件テーブル232を作成する。条件作成部28は、ワークWの品種および検査対象箇所の少なくとも一方ごとに条件データを作成し、作成した条件データとワークWの品種および検査対象箇所を識別する識別情報とを対応付けた条件テーブル232を記憶部230に格納する。
設定部29は、ワークWの品種および検査対象箇所に対応する条件データを条件テーブル232から読み出し、読み出した条件データで示される条件をオートフォーカス処理の実行条件として設定する。オートフォーカス処理部として動作するレンズ制御部16、算出部22、AF制御部23およびAF評価部25の少なくとも1つは、設定部29によって設定された条件に従った処理を実行する。
本実施の形態によれば、ワークWの品種および検査対象箇所に応じた条件データに従ってオートフォーカス処理が実行される。そのため、ワークWの品種および検査対象箇所に応じて、焦点位置を容易に調節することができる。さらに、オートフォーカス処理によってワークWに合焦する焦点位置が自動的に探索されるため、ワークWに合焦した画像を得ることができる。
§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を変化させる。
算出部22は、各焦点位置Fの撮像画像データから合焦度を算出する。AF制御部23は、合焦度がピークとなるレンズ12aの移動量に対応する焦点位置Fを合焦位置として決定する。
図4では、1枚のレンズ12aの例が示されている。通常では、フォーカス調節用のレンズは複数枚の組レンズで構成されることが多い。しかしながら、組レンズにおいても、組レンズを構成する少なくとも1枚のレンズの移動量を制御することにより、レンズモジュール12の焦点位置Fを変化させることができる。
図5は、焦点位置が可変のレンズモジュール12の構成の別の例を示す図である。図5に示す構成のレンズ12aを用いることにより、上記の方法(B)に従って、レンズモジュール12の焦点位置Fが変化する。
図5に示すレンズ12aは液体レンズである。レンズ12aは、透光性容器70と、電極73a,73b,74a,74bと、絶縁体75a,75bと、絶縁層76a,76bとを含む。
透光性容器70内の密閉空間には、水などの導電性液体71と、油などの絶縁性液体72とが充填される。導電性液体71と絶縁性液体72とは混合せず、互いに屈折率が異なる。
電極73a,73bは、絶縁体75a,75bと透光性容器70との間にそれぞれ固定され、導電性液体71中に位置する。
電極74a,74bは、導電性液体71と絶縁性液体72との界面の端部付近に配置される。電極74aと導電性液体71および絶縁性液体72との間には絶縁層76aが介在する。電極74bと導電性液体71および絶縁性液体72との間には絶縁層76bが介在する。電極74aと電極74bとは、レンズ12aの光軸に対して対称な位置に配置される。
図5に示す構成において、フォーカス調節部12eは、電圧源12e1と、電圧源12e2とを含む。電圧源12e1は、電極74aと電極73aとの間に電圧Vaを印加する。電圧源12e2は、電極74bと電極73bとの間に電圧Vbを印加する。
電極74aと電極73aとの間に電圧Vaを印加すると、導電性液体71は、電極74aに引っ張られる。同様に、電極74bと電極73bとの間に電圧Vbを印加すると、導電性液体71は、電極74bに引っ張られる。これにより、導電性液体71と絶縁性液体72との界面の曲率が変化する。導電性液体71と絶縁性液体72との屈折率が異なるため、導電性液体71と絶縁性液体72との界面の曲率が変化することにより、レンズモジュール12の焦点位置Fが変化する。
導電性液体71と絶縁性液体72との界面の曲率は、電圧Va,Vbの大きさに依存する。そのため、レンズ制御部16は、電圧Va,Vbの大きさを制御することにより、レンズモジュール12の焦点位置Fを変化させる。焦点位置Fが取り得る可動範囲Raは、電圧Va,Vbが取り得る電圧範囲によって定まる。
算出部22は、各焦点位置Fの撮像画像データから合焦度を算出する。AF制御部23は、合焦度がピークとなる電圧Va,Vbの大きさに対応する焦点位置Fを合焦位置として決定する。
通常は、電圧Vaと電圧Vbとは同値に制御される。これにより、導電性液体71と絶縁性液体72との界面は、光軸に対して対称に変化する。ただし、電圧Vaと電圧Vbとが異なる値に制御されてもよい。これにより、導電性液体71と絶縁性液体72との界面が光軸に対して非対称となり、撮像装置10の撮像視野の向きを変更することができる。
さらに液体レンズと固体レンズとを組み合わせてもよい。この場合、上記の方法(A)および方法(B)の両方を用いてレンズモジュール12の焦点位置Fを変化させ、式(1)を満たすときの焦点位置Fが合焦位置として決定される。
<B.合焦位置の探索方法>
AF制御部23による合焦位置の探索方法としては、山登り法と全スキャン法とがあり、いずれを用いてもよい。
山登り法とは、レンズモジュール12の焦点位置を設定された探索範囲内で変化させながら、合焦度が極大となる焦点位置を見つけた時点で探索を終了し、合焦度が極大となる焦点位置を合焦位置として決定する方法である。具体的には、山登り法は、探索開始時の焦点位置における合焦度と隣の焦点位置における合焦度との大小関係に基づいて、合焦度が大きくなる焦点位置の方向を探索方向として決定する。さらに、山登り法は、探索方向に焦点位置を変化させながら、先の焦点位置での合焦度と次の焦点位置での合焦度との差を順次演算し、この差が正からゼロまたは負に変化した時点の焦点位置を合焦位置として決定する。
全スキャン法とは、レンズモジュール12の焦点位置を設定された探索範囲の全域で変化させ、各焦点位置での合焦度を取得し、合焦度が最大となる焦点位置を合焦位置として決定する方法である。全スキャン法には、粗い第1探索処理を行なった後に細かい第2探索処理を行なう方法も含む。第1探索処理は、粗いピッチ間隔で焦点位置を探索範囲の全域で変化させ、合焦度が最大となる焦点位置を探索する処理である。第2探索処理は、第1探索処理で探索された焦点位置を含む局所範囲の全域において細かいピッチ間隔で焦点位置を変化させ、合焦度が最大となる焦点位置を合焦位置として探索する処理である。
山登り法は、全スキャン法に比べて探索時間が短いというメリットがある。ただし、探索された合焦位置は、合焦度が極大となる位置ではあるものの、探索範囲内で合焦度が最大となる位置とは限らない。
一方、全スキャン法は、探索範囲内で合焦度が最大となる合焦位置を確実に探索できるものの、探索時間が長くなる。
山登り法では、AF制御部23は、合焦度が極大を示した撮像画像データを検査画像データとして特定すればよい。
全スキャン法では、AF制御部23は、各焦点位置の撮像画像データを記憶しておき、記憶している撮像画像データの中から、合焦度が最大となる焦点位置の撮像画像データを検査画像データとして特定する。もしくは、AF制御部23は、焦点位置を合焦位置に調節して撮像する指令を出力するように指令生成部21に指示し、当該指令に応じて撮像装置10から受けた撮像画像データを検査画像データとして特定してもよい。
<C.画像処理装置のハードウェア構成>
図6は、実施の形態に係る画像処理装置のハードウェア構成の一例を示すブロック図である。図6に示す例の画像処理装置20は、演算処理部であるCPU(Central Processing Unit)210と、記憶部としてのメインメモリ234およびハードディスク236と、カメラインターフェース216と、入力インターフェース218と、表示コントローラ220と、PLCインターフェース222と、通信インターフェース224と、データリーダ/ライタ226とを含む。これらの各部は、バス228を介して、互いにデータ通信可能に接続される。
CPU210は、ハードディスク236に格納されたプログラム(コード)をメインメモリ234に展開して、これらを所定順序で実行することで、各種の演算を実施する。図1に示す指令生成部21、算出部22、AF制御部23、検査部24、AF評価部25、判定部26、条件作成部28および設定部29は、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と入力装置40との間のデータ伝送を仲介する。すなわち、入力インターフェース218は、作業者が入力装置40を操作することで与えられる操作指令を受付ける。
表示コントローラ220は、表示装置50と接続され、CPU210における処理の結果などをユーザに通知する。すなわち、表示コントローラ220は、表示装置50の画面を制御する。図1に示す出力部27は、表示コントローラ220によって構成される。
PLCインターフェース222は、CPU210とPLC30との間のデータ伝送を仲介する。より具体的には、PLCインターフェース222は、PLC30からの制御指令をCPU210へ伝送する。
通信インターフェース224は、CPU210とコンソール(あるいは、パーソナルコンピュータやサーバ装置)などとの間のデータ伝送を仲介する。通信インターフェース224は、典型的には、イーサネット(登録商標)やUSB(Universal Serial Bus)などからなる。なお、後述するように、メモリカード206に格納されたプログラムを画像処理装置20にインストールする形態に代えて、通信インターフェース224を介して、配信サーバなどからダウンロードしたプログラムを画像処理装置20にインストールしてもよい。
データリーダ/ライタ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)などの光学記憶媒体等からなる。
<D.ワークの例>
図7は、撮像装置によるワークWの撮像を模式的に示した図である。図7に示す例のワークWは、透明体(ガラスなど)である。透明体のワークWであるため、ワークWのおもて面および裏面のいずれかに合焦させることができる。ワークWのおもて面に合焦した検査画像データを取得することにより、ワークWのおもて面を検査することができる。ワークWの裏面に合焦した検査画像データを取得することにより、ワークWの裏面を検査することができる。
ただし、ワークWのおもて面を検査したいにもかかわらず、ワークWの裏面に合焦した検査画像データが得られると、正しく検査することができない。同様に、ワークWの裏面を検査したいにもかかわらず、ワークWのおもて面に合焦した検査画像データが得られると、正しく検査ができない。このような問題を解決するために、撮像装置10は、レンズモジュール12の焦点位置の可動範囲Ra(図4,図5参照)の全てから合焦位置を探索するのではなく、可動範囲Raの一部である探索範囲の中から合焦位置を探索することが好ましい。例えば、ワークWのおもて面を検査したい場合には、可動範囲Raのうち、ワークWの裏面に合焦するような焦点位置の範囲を除く探索範囲の中から合焦位置が探索される。これにより、ワークWの裏面に合焦した検査画像データが取得されることを回避できる。
図8は、相対的にサイズの大きい品種のワークW1の像を含む画像を示す図である。図9は、相対的にサイズの小さい品種のワークW2の像を含む画像を示す図である。
図8,9に示されるように、サイズの異なる品種がある場合、画像65中のワークのサイズが品種ごとに異なる。図9に示す例のワークW2のように、画像65においてワークW2の背景が占める面積が大きくなると、背景部分に合焦した画像が取得される可能性がある。そのため、AF制御部23は、画像65のうちのワークW2の像を含む部分領域(以下、「合焦度算出領域A1」という)における合焦度に基づいて合焦位置を探索することが好ましい。これにより、背景部分に合焦した画像が取得される可能性を低減できる。
なお、図8に示す例のワークW1のように、画像65においてワークW1の背景が占める面積が比較的小さい場合には、画像全体の合焦度に基づいて合焦位置を探索したとしても、ワークW1に合焦した画像を取得できる。ただし、図8に示す例のワークW1であったとしても、画像65のうちのワークW1の像を含む合焦度算出領域A1における合焦度に基づいて合焦位置を探索することにより、ワークW1に合焦した画像を取得しやすくなる。
<E.合焦位置の信頼性の評価方法>
次に、AF評価部25による合焦位置の信頼性の評価方法について説明する。AF評価部25は、検査画像データで示される検出画像から合焦度を算出し、算出した合焦度に基づいて合焦位置の信頼を示す評価値を算出する。合焦度は、上述したように、例えば、画像から抽出された高周波成分の積算値である。
例えば、AF評価部25は、検査画像データから算出した合焦度cと、予め定められた基準合焦度dとの比(=c/d)を評価値として算出する。すなわち、AF評価部25は、評価関数f(=c/d)の変数に値を代入することにより、評価値を算出する。この場合、評価値が大きいほど、合焦位置の信頼性が高い。基準合焦度dは、基準ワークの検査対象箇所に合焦した画像から算出した合焦度であり、予め実験により算出される。
あるいは、全スキャン法に従って合焦位置が探索される場合、AF評価部25は、合焦位置の探索の際に得られる合焦度波形の第1ピークの合焦度gと第2ピークの合焦度hとの比(=g/h)を評価値として算出してもよい。すなわち、AF評価部25は、評価関数f(=g/h)の変数に値を代入することにより、評価値を算出する。合焦度波形とは、レンズモジュール12の焦点位置を変化させたときの焦点位置に対する合焦度の変化を示す波形である。第1ピークは、合焦度が最も大きいピークである。第2ピークは、合焦度が2番目に大きいピークである。
図10は、合焦度波形の一例を示す図である。図10に示す例の合焦度波形は、焦点位置F1,F2の2つのピークを含む。焦点位置F1は、ワークWの検査対象箇所に合焦するときの焦点位置である。そのため、オートフォーカス処理が正常に行なわれた場合、合焦度波形は、焦点位置F1の1つのピークのみを含む。しかしながら、何らかの原因により、焦点位置F1とは別の焦点位置にピークが生じ得る。例えば、画像中にコントラストの大きい模様が形成されたシートが映り込んだ場合に、焦点位置F1とは別の焦点位置にピークが生じる。
図10に示す例の合焦度波形が得られた場合、焦点位置F1とは異なる焦点位置F2が合焦位置として誤って判定され、焦点位置F2に調節されたときの画像データが検査画像データとして画像処理装置20に出力され得る。
そこで、AF評価部25は、検査画像データから算出された合焦度を第1ピークの合焦度gとして取得する。さらに、AF評価部25は、合焦度が2番目に大きい第2ピークの合焦度を第2ピークの合焦度hとして取得する。AF評価部25は、合焦度g,hに基づいて評価値(=g/h)を算出する。
なお、上記の例では、合焦位置の信頼性が高いほど大きくなる評価値が算出される。しかしながら、AF評価部25は、合焦位置の信頼性が高いほど小さくなる評価値を算出してもよい。
その他、AF評価部25は、公知の技術を用いて評価値を算出してもよい。例えば、AF評価部25は、国際公開第17/056557号(特許文献2)、特開2010-78681号公報(特許文献3)、特開平10-170817号公報(特許文献4)に記載の技術を用いて評価値を算出してもよい。
AF評価部25は、検査画像の全領域から算出した合焦度に基づいて評価値を算出してもよいし、検査画像のうちの合焦度算出領域A1(図8,9参照)から算出した合焦度に基づいて評価値を算出してもよい。
<F.条件データの作成>
<F-1.作成例1>
図7に示されるような複数の箇所に合焦する可能性があるワークWについて、ワークWの検査対象箇所に応じた探索範囲を設定することが好ましい。そのため、複数の箇所に合焦する可能性があるワークWに対して、検査対象箇所ごとに、探索範囲を指定するデータを含む条件データが作成される。
条件作成部28は、探索範囲の設定を支援するための設定画面を表示装置50に表示し、入力装置40への入力に従って、ワークWの検査対象箇所ごとに探索範囲を設定する。
図11は、合焦位置の探索範囲の設定を支援するための設定画面の一例を示す図である。図11に示す例の設定画面51は、領域52a,52bと、つまみ55,57と、OKボタン60と、キャンセルボタン61とを含む。図11に示す例の設定画面51は、レンズモジュール12が図4に示す例のレンズ12aを含む検査システム1において表示される。
条件作成部28は、基準ワークがステージ90上に置かれた状態において、指令生成部21に対して、焦点位置を可動範囲Raの全域で変化させるスキャン指令を撮像装置10に出力させる。スキャン指令を受けた撮像装置10のレンズ制御部16は、レンズ12aを可動範囲Rbの一方端から他方端まで所定の間隔ずつ変化させることにより、レンズモジュール12の焦点位置Fを可動範囲Raの全域で変化させる。そして、算出部22は、撮像装置10から受けた各焦点位置Fの撮像画像データに対して合焦度を算出する。
条件作成部28は、レンズモジュール12の焦点位置と合焦度との関係を示す図形である折れ線グラフ53を領域52aに表示させる。折れ線グラフ53は、可動範囲Ra全域の焦点位置と合焦度との関係を示す。折れ線グラフ53において、横軸はレンズ12aの移動量を示し、縦軸は合焦度を示す。なお、レンズモジュール12の焦点位置Fが可動範囲Raの一方端であるときのレンズ12aの移動量は0であり、レンズモジュール12の焦点位置Fが可動範囲Raの他方端であるときのレンズ12aの移動量は100である。
折れ線グラフ53上には、合焦位置の探索範囲の中心に対応する点56aが表示される。さらに、領域52bには、点56aから横軸に下した垂線56bが表示される。点56aのデフォルト位置は予め設定される。点56aのデフォルト位置は、たとえば、レンズ12aの移動量が0の位置である。
さらに、折れ線グラフ53には、探索範囲の下限に対応するレンズ12aの移動量を示す点線58と、探索範囲の上限に対応するレンズ12aの移動量を示す点線59とが重畳して表示される。
条件作成部28は、点56aの移動量に対応する撮像画像データで示される撮像画像54を領域52bに表示させる。条件作成部28は、点56aの位置が変更されるたびに、領域52bに表示される撮像画像を切り替える。
つまみ55は、点56aの現在位置を示す。設定部29は、つまみ55に対する操作に応じて、点56a、垂線56bおよび点線58,59の位置を更新する。作業者は、入力装置40を用いてつまみ55を操作することにより、探索範囲の中心に対応する点56aを折れ線グラフ53上の任意の位置に変更することができる。
つまみ57は、合焦位置の探索範囲の幅を調整するためのものである。探索範囲の幅とは、探索範囲の下限に対応するレンズ12aの移動量と、探索範囲の上限に対応するレンズ12aの移動量との差分である。具体的には、つまみ57で示される値「±d」(dは0~100)の「d」は、点56aに対応する移動量と探索範囲の下限に対応する移動量との差を示すとともに、探索範囲の上限に対応する移動量と点56aに対応する移動量との差を示す。つまり、つまみ57で示される値「±d」の「d」の2倍が探索範囲の幅となる。条件作成部28は、つまみ57の操作に応じて、点線58,59の位置を更新する。作業者は、入力装置40を用いてつまみ57を操作することにより、点56aを中心とする探索範囲の幅を変更することができる。
OKボタン60は、現在設定されている探索範囲を登録するためのボタンである。キャンセルボタン61は、現在設定されている探索範囲を破棄するためのボタンである。
条件作成部28は、OKボタン60が操作されると、ワークWの品種および検査対象箇所を識別するための識別情報の入力を促し、入力装置40から当該識別情報を取得する。条件作成部28は、取得した識別情報と、現在設定されている探索範囲を指定するデータを含む条件データとを対応付けた条件テーブル232を記憶部230に格納する。
設定部29は、検査対象となる品種および検査対象箇所を識別する識別情報の入力を受け付け、受け付けた識別情報に対応する条件データを読み出し、読み出した条件データで示される条件をオートフォーカス処理の実行条件として設定する。指令生成部21は、設定部29によって設定された実行条件に含まれる探索範囲で焦点位置Fを変化させる指令を撮像装置10に出力する。レンズ制御部16は、設定された探索範囲内で焦点位置Fを変化させる。そして、AF制御部23は、指令された探索範囲から合焦位置を探索する。
<F-2.作成例2>
上述したように、AF制御部23による合焦位置の探索方法としては、山登り法と全スキャン法とがある。条件作成部28は、ワークWの品種および検査対象箇所ごとに、合焦位置の探索方法を設定してもよい。条件作成部28は、ワークWの品種および検査対象箇所を識別するための識別情報と、合焦位置の探索方法(山登り法および全スキャン法のいずれか)との入力を促す画面を表示装置50に表示し、入力装置40への入力に従って、探索方法を設定すればよい。
山登り法では、指定された範囲の中央の焦点位置から探索を開始することが好ましい。一方、全スキャン法では、指定された範囲の一方端の焦点位置から探索を開始することが好ましい。これらにより、合焦位置を効率的に探索できる。
そこで、条件作成部28は、探索方法として山登り法が指定された場合、探索範囲の中央の焦点位置を、合焦位置の探索開始時の焦点位置(以下、「初期位置」という)として決定する。条件作成部28は、探索方法として全スキャン法が指定された場合、探索範囲の一方端の焦点位置を初期位置として決定する。そして、条件作成部28は、探索方法とともに決定した初期位置を指定するデータを含む条件データを作成する。条件作成部28は、ワークWの品種および検査対象箇所を識別するための識別情報と作成した条件データとを対応付けた条件テーブル232を記憶部230に格納する。
設定部29は、検査対象となる品種および検査対象箇所を識別する識別情報の入力を受け付け、受け付けた識別情報に対応する条件データを読み出し、読み出した条件データで示される条件をオートフォーカス処理の実行条件として設定する。指令生成部21は、合焦位置を探索していないときのレンズモジュール12の焦点位置を実行条件に含まれる初期位置とする指令を撮像装置10に出力する。撮像装置10のレンズ制御部16は、当該指令に従って、合焦位置の探索が終了すると、レンズモジュール12の焦点位置を設定された初期位置に移動させ、次の検査対象ワークに対する撮像指令を受けるまで待機する。これにより、次の検査対象ワークに対する撮像指令を受けると、レンズ制御部16は、即座に、レンズモジュール12の焦点位置を探索範囲内で変化させることができる。
<F-3.作成例3>
図8,図9を参照して上述したように、サイズの異なる品種がある場合、品種ごとに合焦度算出領域A1を設定することが好ましい。そのため、サイズの異なる品種ごとに、合焦度算出領域A1を指定するデータを含む条件データが作成される。
条件作成部28は、合焦度算出領域A1の設定を支援するための設定画面を表示装置50に表示し、入力装置40への入力に従って、ワークの品種ごとに合焦度算出領域を設定する。
作業者は、ステージ90(図1参照)の所定位置に、品種ごとの基準ワークを所定姿勢の状態で置く。画像処理装置20は、撮像指令を撮像装置10に出力し、撮像装置10から画像データを取得する。
条件作成部28は、撮像装置10から取得した画像データで示される画像(例えば、図8または図9に示される画像)を表示装置50に表示させ、合焦度算出領域A1の指定を作業者に促す。条件作成部28は、入力装置40への入力に応じて、合焦度算出領域A1を設定する。例えば、作業者は、矩形である合焦度算出領域A1の4頂点を入力する。作業者は、ワークにおける検査対象箇所と同じ高さであり、かつ、コントラストの大きい部分を含む領域を合焦度算出領域A1として設定する。条件作成部28は、合焦度算出領域A1のサイズおよび位置姿勢を指定するデータを含む条件データを作成する。
図8および図9に示す例では、ワークのエッジ部分を含む領域が合焦度算出領域A1として設定されている。コントラストの大きい部分としては、エッジ部分の他にも、表面に印刷された文字、表面に形成された模様、ネジなどの部品が取り付けられた部分などが含まれる。
図8および図9に示す例では、矩形の合焦度算出領域A1が設定されているが、各領域の形状はこれに限定されない。例えば、合焦度算出領域A1の形状は、円形状、枠状、あるいは領域を形成することが可能な任意の自由な形状であってもよい。また、合焦度算出領域A1は、1つにまとまった領域であると限定される必要はない。たとえば、合焦度算出領域A1は、分散して存在する複数の領域であってもよい。
条件作成部28は、ワークWの品種および検査対象箇所を識別するための識別情報の入力を促し、入力装置40から当該識別情報を取得する。条件作成部28は、取得した識別情報と条件データとを対応付けて記憶部230に格納する。
設定部29は、検査対象となる品種および検査対象箇所を識別する識別情報の入力を受け付け、受け付けた識別情報に対応する条件データを読み出し、読み出した条件データで示される条件をオートフォーカス処理の実行条件として設定する。算出部22は、焦点位置を変化させながら得られる撮像画像のうちの合焦度算出領域A1における合焦度を算出する。これにより、品種および検査対象箇所に応じた合焦度算出領域A1から合焦度を算出することができ、ワークの検査対象箇所に合焦した画像を得やすくなる。
また、AF評価部25は、検査画像データで示される検査画像のうちの合焦度算出領域A1から算出された合焦度に基づいて評価値を算出する。これにより、品種および検査対象箇所に応じて、合焦位置の信頼性を適切に評価することができる。
<F-4.作成例4>
ワークWの検査対象箇所に合焦する焦点位置は、ワークWの品種および検査対象箇所によって異なる。そのため、合焦位置の信頼性の評価基準は、ワークWの品種および検査対象箇所に応じて設定されることが好ましい。従って、ワークWの品種および検査対象箇所ごとに、評価値と比較される閾値を指定するデータを含む条件データが作成される。
作業者は、ステージ90(図1参照)の所定位置に、品種ごとの複数個の基準ワークを所定姿勢の状態で順次置く。画像処理装置20は、撮像指令を撮像装置10に出力し、撮像装置10から基準ワークの検査対象箇所に合焦した画像データを取得する。画像処理装置20は、複数個の基準ワークにそれぞれ対応する複数の画像データを取得する。
条件作成部28は、撮像装置10から取得した複数の画像データの各々について、AF評価部25と同じ手法を用いて評価値を算出する。条件作成部28は、算出した評価値の統計データに基づいて閾値を決定する。条件作成部28は、閾値を指定するデータを含む条件データを作成する。
例えば、信頼性が高いほど大きくなる評価値の場合、条件作成部28は、算出した評価値の最小値を閾値として決定してもよいし、算出した評価値の平均値と標準偏差σとから得られる値(例えば、平均値-3σ)を閾値として決定してもよい。
もしくは、条件作成部28は、算出した評価値の統計データを表示装置50に表示させ、入力装置40に入力された値を閾値に決定してもよい。作業者は、ワークWの品種および検査対象箇所ごとに閾値を入力すればよい。
条件作成部28は、ワークWの品種および検査対象箇所を識別するための識別情報の入力を促し、入力装置40から当該識別情報を取得する。条件作成部28は、取得した識別情報と条件データとを対応付けて記憶部230に格納する。
設定部29は、検査対象となる品種および検査対象箇所を識別する識別情報の入力を受け付け、受け付けた識別情報に対応する条件データを読み出し、読み出した条件データで示される条件をオートフォーカス処理の実行条件として設定する。設定部29は、実行条件に含まれる閾値をAF評価部25に設定する。AF評価部25は、検査画像から算出された評価値と設定された閾値とを比較することにより、合焦位置の信頼性を評価する。これにより、品種および検査対象箇所に応じて、合焦位置の信頼性を適切に評価することができる。
なお、条件作成部28は、閾値の代わりに、もしくは、閾値に加えて、合焦度から評価値を算出するための評価関数を品種および検査対象箇所に応じて設定してもよい。この場合、条件作成部28は、評価関数を指定するデータを含む条件データを作成する。
<G.条件テーブル>
次に、図12から図14を参照して、記憶部230が記憶する条件テーブル232の例について説明する。図12は、品種と条件データとが対応付けられたテーブルの一例を示す図である。図13は、検査対象箇所と条件データとが対応付けられたテーブルの一例を示す図である。図14は、品種と検査対象箇所と条件データとが対応付けられたテーブルの一例を示す図である。
検査システム1が特定の1つの品種のワークWのみについて複数の検査対象箇所を検査する場合、図12に示されるような条件テーブル232が条件作成部28によって作成される。検査システム1が複数の品種のワークWの各々について1つの検査対象箇所を検査する場合、図13に示されるような条件テーブル232が条件作成部28によって作成される。検査システム1が複数の品種の少なくとも1つの品種について複数の検査対象箇所を検査する場合、図14に示されるような条件テーブル232が条件作成部28によって作成される。
条件テーブル232は、品種および検査対象箇所の少なくとも一方に応じて異なる項目の条件データを含む。条件テーブル232に含まれる項目の個数は1個であっても複数であってもよい。例えば、図14に示す条件テーブル232は、探索範囲および合焦度算出領域を指定する条件データを含む。品種および検査対象箇所の少なくとも一方に応じて異なる項目以外の項目の条件データは、共通データとして記憶部230に格納される。設定部29は、品種および検査対象箇所に応じた条件データと共通データとで示される条件を実行条件として設定すればよい。
<G.検査の流れ>
次に、図15を参照して、本実施の形態に係る検査処理の流れについて説明する。図15は、実施の形態に係る検査システムの検査処理の流れの一例を示すフローチャートである。なお、検査処理の前に、条件作成部28は、品種および検査対象領域の少なくとも一方に応じた条件データを予め作成し、品種および検査対象領域の少なくとも一方を識別する識別情報と条件データとを対応付けた条件テーブル232を記憶部230に格納している。
画像処理装置20は、品種および検査対象箇所の切替指示が入力されたか否かを判定する(ステップS1)。作業者は、品種および検査対象箇所の切替を行なう場合、切替指示と、切替後の品種および検査対象箇所を識別する識別情報とを入力装置40に入力する。
切替指示が入力された場合(ステップS1でYES)、画像処理装置20の設定部29は、ステップS2において、入力された識別情報に対応する条件データを条件テーブル232から読み出す。さらに、設定部29は、読み出した条件データで示される条件をオートフォーカス処理部(レンズ制御部16、算出部22、AF制御部23およびAF評価部25)の実行条件として設定する。
切替指示が入力されていない場合(ステップS1でNO)、設定部29は、前回と同じ条件をオートフォーカス処理部(レンズ制御部16、算出部22、AF制御部23およびAF評価部25)の実行条件として設定する(ステップS3)。
ステップS2またはステップS3の後、撮像装置10および画像処理装置20は、合焦位置の探索処理を実行する(ステップS4)。ステップS4において、レンズ制御部16、算出部22およびAF制御部23は、ステップS2またはステップS3で設定された条件データに従って、合焦位置の探索を実行する。
次に、AF制御部23は、レンズモジュール12の焦点位置が合焦位置に調節されたときの検査画像データを特定する(ステップS5)。
次に、画像処理装置20の検査部24は、検査画像データで示される検査画像に基づいてワークWを検査し、検査結果を出力する(ステップS6)。
さらに、画像処理装置20のAF評価部25は、検査画像データで示される検査画像に基づいて、合焦位置の信頼性を評価し、評価結果を出力する(ステップS7)。ステップS7において、AF評価部25は、ステップS2またはステップS3で設定された条件データに従って、合焦位置の信頼性を評価する。
なお、ステップS6およびステップS7の処理順序はこれに限定されず、ステップS7の後にステップS6が実行されてもよいし、ステップS6とステップS7とが並行して実行されてもよい。
次に、画像処理装置20の判定部26は、検査結果および評価結果に基づいて総合判定を行なう(ステップS8)。その後、出力部27は、判定結果を表示装置50に表示させる(ステップS9)。ステップS9の後、検査処理は終了する。
§3 付記
以上のように、実施の形態は以下のような開示を含む。
(構成1)
焦点位置が可変である光学系(12)と、
前記光学系(12)を介して対象物(W)からの光を受けることによって撮像画像を生成する撮像素子(13)と、
前記撮像画像に基づいて、対象物(W)に合焦する前記焦点位置である合焦位置の探索に関するオートフォーカス処理を実行するオートフォーカス処理部(16,22,23,25)と、
前記焦点位置が前記合焦位置に調節されたときに生成された検査画像に基づいて前記対象物を検査する検査部(22)と、
前記対象物の品種および検査対象箇所の少なくとも一方に応じて、前記オートフォーカス処理の条件データを設定する設定部(28)とを備え、
前記オートフォーカス処理部(16,22,23,25)は、前記条件データに従って前記オートフォーカス処理を実行する、検査システム(1)。
(構成2)
前記オートフォーカス処理部(16,22,23,25)は、前記撮像画像のうちの部分領域における合焦度に基づいて前記合焦位置を探索し、
前記条件データは、前記部分領域のサイズおよび位置姿勢を指定するデータを含む、構成1に記載の検査システム(1)。
(構成3)
前記条件データは、前記焦点位置の探索範囲、および前記合焦位置の探索を開始するときの前記焦点位置の少なくとも一方を指定するデータを含む、構成1に記載の検査システム(1)。
(構成4)
前記オートフォーカス処理は、前記合焦位置の信頼性を示す評価値と閾値とを比較することにより、前記合焦位置の良否を判定する処理を含み、
前記条件データは、前記評価値を算出するための評価関数、および前記閾値の少なくとも一方を指定するデータを含む、構成1に記載の検査システム(1)。
(構成5)
前記オートフォーカス処理は、前記合焦位置の信頼性を示す評価値と閾値とを比較することにより、前記合焦位置の良否を判定する処理を含み、
前記評価値は、前記検査画像のうちの部分領域における合焦度に基づいて算出され、
前記条件データは、前記部分領域のサイズおよび位置姿勢を指定するデータを含む、構成1に記載の検査システム(1)。
(構成6)
焦点位置が可変である光学系(12)と、
前記光学系(12)を介して対象物(W)からの光を受けることによって撮像画像を生成する撮像素子(13)と、
前記撮像画像に基づいて、前記対象物(W)に合焦する前記焦点位置である合焦位置を探索するオートフォーカス処理を実行するオートフォーカス処理部(16,22,23,25)とを備えた検査システム(1)における検査方法であって、
前記対象物(W)の品種および検査対象箇所の少なくとも一方に応じて、前記オートフォーカス処理の条件データを設定するステップと、
前記条件データに従って、前記オートフォーカス処理部(16,22,23,25)に前記オートフォーカス処理を実行させるステップと、
前記焦点位置が前記合焦位置に調節されたときに生成された検査画像に基づいて前記対象物(W)を検査するステップとを備える、検査方法。
(構成7)
焦点位置が可変である光学系(12)と、
前記光学系(12)を介して対象物(W)からの光を受けることによって撮像画像を生成する撮像素子(13)と、
前記撮像画像に基づいて、前記対象物(W)に合焦する前記焦点位置である合焦位置を探索するオートフォーカス処理を実行するオートフォーカス処理部(16a,16b,23)とを備えた検査システム(1)における検査方法をコンピュータに実行させるためのプログラム(215)であって、
前記検査方法は、
前記対象物の品種および検査対象箇所の少なくとも一方に応じて、前記オートフォーカス処理の条件データを設定するステップと、
前記条件データに従って、前記オートフォーカス処理部(16,22,23,25)に前記オートフォーカス処理を実行させるステップと、
前記焦点位置が前記合焦位置に調節されたときに生成された検査画像に基づいて前記対象物を検査するステップとを備える、プログラム(215)。
本発明の実施の形態について説明したが、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。