(57)【要約】【課題】検査対象物を明瞭に撮像するための照明条件の最適化を自動化する。【解決手段】複数種の照明の各々についての設定項目の設定内容の組み合わせである照明条件を設定して撮像される検査対象物の画像に基づいて外観検査を行う検査装置１に、検査対象物を含む撮像画像から検査対象物以外の画像を除去して検査対象物の画像を生成するマスク部１２０と、検査対象物の画像から特徴量ベクトルを抽出する特徴量抽出部１３０と、検査対象物の画像について明瞭の程度を示す評価値を特徴量ベクトルに基づいて算出する評価値算出部１４０と、照明条件を変更して、評価値が最大又は所定値以上となる設定内容の組み合わせである最適照明条件を探索する探索制御部１５０と、を設ける。【選択図】図２
2020148643.tif 000002
【特許請求の範囲】
【請求項１】
複数種の照明の各々についての設定項目の設定内容の組み合わせである照明条件を設定して撮像される検査対象物の画像に基づいて外観検査を行う検査装置において、
前記検査対象物を含む撮像画像から前記検査対象物以外の画像を除去して前記検査対象物の画像を生成するマスク部と、
前記検査対象物の画像から特徴量ベクトルを抽出する特徴量抽出部と、
前記検査対象物の画像について明瞭の程度を示す評価値を前記特徴量ベクトルに基づいて算出する評価値算出部と、
前記照明条件を変更して、前記評価値が最大又は所定値以上となる設定内容の組み合わせである最適照明条件を探索する探索制御部と、
を有する検査装置。
【請求項２】
前記探索制御部は、前記照明条件を変更する度に、前記検査対象物を含む撮像画像を取得し、前記マスク部に前記検査対象物の画像を生成させ、前記特徴量抽出部に前記特徴量ベクトルを抽出させ、及び前記評価値算出部に前記評価値を算出させる請求項１に記載の検査装置。
【請求項３】
前記探索制御部は、設定し得る設定内容を設定項目毎に順次設定して前記評価値が最大になる設定内容の組み合わせ探索することを特徴とする請求項１又は請求項２に記載の検査装置。
【請求項４】
前記探索制御部は、設定項目の設定内容毎の重みに基づいて各設定項目の設定内容を選択し、前記評価値の増加に応じて、選択する設定内容の重みを増加させる処理を、前記評価値が所定値以上になるまで繰り返すことを特徴とする請求項１又は請求項２に記載の検査装置。
【請求項５】
前記探索制御部は、
前記最適照明条件を充足する照明の組み合わせ毎に、当該最適照明条件と当該最適照明条件を設定して得られる特徴量ベクトルとの関係を機械学習済みであり、入力される特徴量ベクトルと機械学習済みの特徴量ベクトルとの類似度を機械学習済みの最適照明条件毎に推定するための分類器に、前記特徴量抽出部により抽出される特徴量ベクトルを入力する結果、前記分類器によって推定される類似度が所定値以上となる機械学習済み最適照明条件がある場合には、当該機械学習済み最適照明条件を、前記特徴量抽出部による特徴量ベクトルの抽出元の画像を撮像する最適照明条件として、探索を打ち切る
ことを特徴とする請求項１から４のうちの何れか１項に記載の検査装置。
【請求項６】
前記評価値が最大又は所定値以上となる設定内容の組み合わせを新たな最適照明条件とし、当該組み合わせの下で撮像済みの画像から抽出済みの特徴量ベクトルと当該新たな最適照明条件とを前記分類器に機械学習させる分類器再構成部を有することを特徴とする請求項５に記載の検査装置。
【請求項７】
複数種の照明の各々についての設定項目の設定内容の組み合わせである照明条件を設定して撮像される検査対象物の画像に基づいて外観検査を行う検査方法において、
検査対象物を含む撮像画像から検査対象物以外の画像を除去して前記検査対象物の画像を生成し、
前記検査対象物の画像から特徴量ベクトルを抽出し、
前記検査対象物の画像について明瞭の程度を示す評価値を前記特徴量ベクトルに基づいて算出する処理を、前記評価値が最大又は所定値以上となる設定内容の組み合わせである最適照明条件の探索のために、各設定項目の設定内容を変えつつ実行する、検査方法。
【請求項８】
コンピューターを、
複数種の照明の各々についての設定項目の設定内容の組み合わせである照明条件を設定して撮像される検査対象物の画像に基づいて外観検査を行う検査装置として機能させるプログラムにおいて、
前記コンピューターを、
検査対象物を含む撮像画像から検査対象物以外の画像を除去して前記検査対象物の画像を生成するマスク部と、
前記検査対象物の画像から特徴量ベクトルを抽出する特徴量抽出部と、
前記検査対象物の画像について明瞭の程度を示す評価値を前記特徴量ベクトルに基づいて算出する評価値算出部と、
前記照明条件を変更して、前記評価値が最大又は所定値以上となる設定内容の組み合わせである最適照明条件を探索する探索制御部と、して機能させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物品の外観検査の検査装置、検査方法、及びプログラムに関する。
【背景技術】
【０００２】
物品の良否を判定するために、工業的に量産される物品の表面に付着する異物や汚れ、傷、バリ、欠け、変形などの欠陥を確認する外観検査が知られている。従来、外観検査は、人が目視で行うことが一般的であったが、近年では、検査対象物の撮像画像に対する画像処理により実現することが提案されている。画像処理により外観検査を行うには、撮像の際に用いる照明の発光色や明度、設置位置や照射角度等を前もって適切に設定する必要がある。しかし、照明の発光色や明度、設置位置や照射角度等の照明の設定項目は多数存在し、各設定項目の設定内容も様々である。このため、照明の設定内容の組み合わせである照明条件を手作業で最適化するには、多くの時間と労力が必要となる。そこで、照明条件の最適化の労力を削減する技術が提案されている。例えば、特許文献１には、複数の照明のそれぞれの明るさを調節することにより、目的の明るさを得る照明システムが開示されている。この照明システムによれば、撮像環境全体に関する照明条件を最適化することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−３０２５１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、従来の照明システムは、撮像環境全体の照明条件を最適化するため、撮像環境の一部である検査対象物が画像処理に適するように明瞭に撮像されるか、といったことは考慮されていない。
【課題を解決するための手段】
【０００５】
以上の課題を解決するために、本発明に係る検査装置は、複数種の照明の各々についての設定項目の設定内容の組み合わせである照明条件を設定して撮像される検査対象物の画像に基づいて外観検査を行う検査装置において、検査対象物を含む撮像画像から検査対象物以外の画像を除去して前記検査対象物の画像を生成するマスク部と、前記検査対象物の画像から特徴量ベクトルを抽出する特徴量抽出部と、前記検査対象物の画像について明瞭の程度を示す評価値を前記特徴量ベクトルに基づいて算出する評価値算出部と、前記照明条件を変更して、前記評価値が最大又は所定値以上となる設定内容の組み合わせである最適照明条件を探索する探索制御部と、を有することを特徴とする。
【０００６】
また、以上の課題を解決するために、本発明に係る検査方法は、複数種の照明の各々についての設定項目の設定内容の組み合わせである照明条件を設定して撮像される検査対象物の画像に基づいて外観検査を行う検査方法において、検査対象物を含む撮像画像から検査対象物以外の画像を除去して前記検査対象物の画像を生成し、前記検査対象物の画像から特徴量ベクトルを抽出し、前記検査対象物の画像について明瞭の程度を示す評価値を前記特徴量ベクトルに基づいて算出する処理を、前記評価値が最大又は所定値以上となる設定内容の組み合わせである最適照明条件の探索のために、各設定項目の設定内容を変えつつ実行する、ことを特徴とする。
【０００７】
また、以上の課題を解決するために、本発明に係るプログラムは、コンピューターを、複数種の照明の各々についての設定項目の設定内容の組み合わせである照明条件を設定して撮像される検査対象物の画像に基づいて外観検査を行う検査装置として機能させるプログラムにおいて、前記コンピューターを、検査対象物を含む撮像画像から検査対象物以外の画像を除去して前記検査対象物の画像を生成するマスク部と、前記検査対象物の画像から特徴量ベクトルを抽出する特徴量抽出部と、前記検査対象物の画像について明瞭の程度を示す評価値を前記特徴量ベクトルに基づいて算出する評価値算出部と、前記照明条件を変更して、前記評価値が最大又は所定値以上となる設定内容の組み合わせである最適照明条件を探索する探索制御部と、して機能させることを特徴とする。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態に係る検査装置１のハードウェア構成の一例を示すブロック図である。
【図２】同検査装置１の機能を説明するための機能ブロック図である。
【図３】検査装置１において実行される検査方法に含まれる照明条件最適化処理の流れを示すフローチャートである。
【図４】変形例（３）の照明条件最適化処理の流れを示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、図面を参照して実施の形態を説明する。ただし、各図において、各部の寸法及び縮尺は、実際のものと適宜に異ならせてある。また、以下に述べる実施の形態は、技術的に好ましい種々の限定が付されているが、実施の形態はこれらの形態に限られるものではない。
【００１０】
Ａ．実施形態
図１は、本発明の一実施形態による検査装置１のハードウェア構成例を示すブロック図である。検査装置１は、工業的に量産される物品の外観検査を行うための装置である。検査装置１は、検査対象物の撮像画像に対する画像処理により、当該検査対象物の外観検査を実現する。
【００１１】
検査対象物の撮像の際、検査装置１は複数種の照明を使用し、各照明の設定項目の設定内容の組み合わせである照明条件を適宜設定して撮像を行う。検査装置１にて使用可能な照明の種類としては、ドーム型、同軸落射型、ストロボ等が挙げられる。照明についての設定項目とは、照明条件の構成要素のことをいい、具体例としては、使用の有無、照明の種類、発光色、明度、設置位置、照射角度等が挙げられる。また、設定項目の設定内容とは、設定項目の値のことをいう。本実施形態では、使用の有無に対応する設定項目には、１又は０が設定される。明度や設置位置、照射角度などの様々な値を設定し得る設定項目については、当該設定項目の取り得る値を０〜１の範囲に正規化する値が設定内容として設定される。照明条件Ａと照明条件Ｂとで、設定内容の異なる設定項目が１つもあれば、照明条件Ａと照明条件Ｂは互いに異なる照明条件である。
【００１２】
図１に示すように検査装置１は、処理装置１０と、撮像装置２０と、記憶装置３０と、これら構成要素間のデータ授受を仲介するバス４０と、を含む。処理装置１０は、検査装置１の全体を制御するプロセッサーであり、例えば単数又は複数のチップで構成されるコンピューターである。処理装置１０は、例えば、周辺装置とのインタフェース、演算装置及びレジスター等を含む中央処理装置（ＣＰＵ：Central Processing Unit）で構成される。処理装置１０は、記憶装置３０に記憶されている制御プログラム３１０を実行することで、検査装置１の制御中枢として機能する。
【００１３】
撮像装置２０は、撮像エリアに給材される検査対象物を撮像するためのものである。撮像装置２０は、ＣＣＤ（Charge Coupled Device）イメージセンサーン等の撮像素子と、鏡筒と、レンズとを備える。撮像装置２０は、処理装置１０による制御の下、検査対象物を給材済みの撮像エリアの画像を撮像し、その撮像画像、すなわち検査対象物を含む撮像画像を表す画像データをバス４０を介して処理装置１０に与える。
【００１４】
図１では詳細な図示を省略するが、記憶装置３０は揮発性記憶部と不揮発性記憶部とを含む。揮発性記憶部とは、電力が供給されないと、記憶している情報を保持できない記憶装置のことをいい、不揮発性記憶部とは、電力が供給されなくても、記憶している情報を保持できる記憶装置のことをいう。揮発性記憶部の一例としてはＲＡＭ（Random Access Memory）が挙げられる。揮発性記憶部は、制御プログラム３１０を実行する際のワークエリアとして処理装置１０によって利用される。不揮発性記憶部の一例としてはハードディスクが挙げられる。不揮発性記憶部には、制御プログラム３１０、及び分類器３３０が予め記憶されており、更に、最適照明条件データ３２０、及びマスクデータ３４０が記憶される。
【００１５】
制御プログラム３１０は、本実施形態の特徴を顕著に示す検査方法を処理装置１０に実行させるプログラムであり、この検査方法には、探索フェーズの処理と、検査フェーズの処理とが含まれる。詳細については後に明らかにするが、探索フェーズとは、検査対象物を撮像する際の最適照明条件を探索するフェーズであり、検査フェーズとは、探索フェーズにて判明する最適照明条件の下で検査対象物を撮像し、外観検査を行うフェーズである。最適照明条件とは、検査対象物が明瞭に撮像される照明条件のことをいい、具体的には、検査対象物の画像に基づいて算出される評価値が最大になる照明条件のことをいう。評価値についても後に明らかにする。
【００１６】
最適照明条件データ３２０とは、探索フェーズにて判明する最適照明条件の照明条件データである。照明条件データとは、複数種の照明の各々についての設定項目の設定内容の組み合わせを示すデータであり、各照明の設定内容を照明の種類毎に配列するデータである。
【００１７】
分類器３３０は、最適照明条件を充足する照明の組み合わせ毎に当該最適照明条件と当該最適照明条件を設定して撮像される画像から抽出される特徴量ベクトルとを対応付けて機械学習させた人工ニューラルネットワークである。即ち、分類器３３０は機械学習済みである。分類器３３０は、入力される特徴量ベクトルと機械学習済みの特徴量ベクトルとの類似度を機械学習済みの最適照明条件毎に推定するために用いられる。特徴量ベクトルについては後に明らかにする。分類器３３０は、入力される特徴量ベクトルと機械学習済みの特徴量ベクトルとの類似度を示すデータを機械学習済み最適照明条件毎に出力するように構成されている。分類器３３０を生成するためのアルゴリズムについては既存の機械学習アルゴリズムを適宜用いるようにすればよい。
【００１８】
マスクデータ３４０は、検査対象物を含む撮像画像から検査対象物以外の画像を除去して検査対象物の画像を生成するためのデータである。マスクデータ３４０は、探索フェーズにおいて生成され、検査フェーズにおいても使用される。
【００１９】
処理装置１０は、例えば検査装置１の図示せぬ電源投入を契機として制御プログラム３１０を記憶装置３０から読み出し、その実行を開始する。図２は、処理装置１０が制御プログラム３１０に従って実現する機能ブロックの一例を示す図である。図２に示すように、制御プログラム３１０に従って動作する処理装置１０は、照明制御部１００、マスクデータ生成部１１０、マスク部１２０、特徴量抽出部１３０、評価値算出部１４０、探索制御部１５０、分類器再構成部１６０、及び外観検査部１７０として機能する。これら各部の機能は以下の通りである。
【００２０】
照明制御部１００は、探索制御部１５０又は外観検査部１７０から与えられる照明条件データの示す照明条件の下で撮像が行われるように、照明の着脱や設置位置及び照射角度の調整を行うロボットアーム、各照明に電力を供給する電力供給装置等の作動制御を行う。最適照明条件を探索する探索フェーズでは、照明制御部１００には探索制御部１５０から照明条件データが与えられ、外観検査を実際に行う検査フェーズでは、照明制御部１００には外観検査部１７０を介して最適照明条件データ３２０が与えられる。
【００２１】
マスクデータ生成部１１０は、撮像装置２０から与えられる画像データを解析し、検査対象物を含む撮像画像から検査対象物の写っている領域のみを抽出するマスクデータ３４０を生成し、記憶装置３０に記憶させる。
【００２２】
マスク部１２０は、マスクデータ３４０に従って検査対象物を含む撮像画像から検査対象物以外の画像を除去して検査対象物の画像を抽出し、当該検査対象物の画像を表す画像データを生成する。以下、マスク部１２０により生成される画像データをマスク済み画像データと呼ぶ。マスク部１２０により生成されるマスク済み画像データは、特徴量抽出部１３０に与えられる。
【００２３】
特徴量抽出部１３０は、マスク済み画像データを解析し、特徴量ベクトルを抽出する。本実施形態の特徴量ベクトルは、照明条件の各設定内容と、マスク済み画像データから抽出される複数種の特徴量とを含む。例えば、照明条件がｍ個の設定項目で構成され、マスク済み画像データからｎ個の特徴量が抽出される場合には、特徴量ベクトルはｍ＋ｎ次元ベクトルとなる。マスク済み画像データから抽出される特徴量の具体例としては、マスク済み画像データの表す画像、すなわち検査対象物の画像における平均画素値及び画素値の標準偏差等の統計量、エッジ強度等が挙げられる。特徴量抽出部１３０により抽出される特徴量ベクトルは、分類器３３０及び評価値算出部１４０に与えられる。
【００２４】
評価値算出部１４０は、特徴量抽出部１３０により抽出済みの特徴量ベクトルを所定の評価関数に入力し評価値を算出する。評価関数は、特徴量ベクトルの抽出元となった画像に検査対象物が明瞭に映っている程、絶対値の大きい評価値を算出する関数であればよい。また、評価関数は、検査装置１の利用者により定義されるものでよい。更に、評価関数は、制御プログラム３１０に予め組み込まれてもよい。評価値は、検査対象物の画像について明瞭の程度を示す。また、同種の検査対象物を多数用意し、適当な照明条件で撮像を行って、それらの画像の持つ特徴を機械学習させ、これにより同様の特徴を持つ画像を高評価する評価関数を生成してもよい。
【００２５】
探索制御部１５０は、探索フェーズにおいて他の各部の作動制御を行う制御中枢として機能し、照明条件を変更して最適照明条件を探索する。より詳細に説明すると、探索制御部１５０は、検査対象物の撮像エリアへの給材完了後、予め定められる照明条件データを照明制御部１００に与える。また、探索制御部１５０は、マスクデータ３４０の生成元となる画像、すなわち検査対象物を含む撮像画像を撮像装置２０に撮像させ、マスクデータ生成部１１０にマスクデータ３４０を生成させる。次いで、探索制御部１５０は、照明条件を変更する度に、検査対象物を含む撮像画像を取得し、マスク部１２０に検査対象物の画像を生成させ、特徴量抽出部１３０に特徴量ベクトルを抽出させ、及び評価値算出部１４０に評価値を算出させる。
【００２６】
本実施形態では、設定し得る設定内容を設定項目毎に順次設定することで得られる全ての照明条件を対象として最適照明条件を探索すること、すなわち全数探索を原則とする。ただし、本実施形態では、探索制御部１５０は、評価値算出部１４０による評価値の算出に先立って、特徴量抽出部１３０により抽出される特徴量ベクトルを分類器３３０へ入力する。そして、探索制御部１５０は、当該特徴量ベクトルの抽出元となった画像の撮像の際の最適照明条件を分類器３３０の出力データに基づいて推論する。
【００２７】
探索制御部１５０は、機械学習済み最適照明条件毎に分類器３３０から出力される類似度に所定値以上のものが含まれている場合に、類似度が最大の機械学習済み最適照明条件を、特徴量ベクトルの抽出元の画像の撮像の際の最適照明条件と推論し、探索を打ち切る。分類器３３０から機械学習済み最適照明条件毎に出力される類似度が全て所定値未満であった場合、又は該当する機械学習済み最適照明条件が複数ある場合には、探索制御部１５０は推論に失敗とみなし全数探索を継続する。探索制御部１５０は、全数探索により最適照明条件が判明する場合には、当該照明条件の下で撮像される画像から抽出される特徴量ベクトルと当該照明条件を示す照明条件データとを分類器再構成部１６０に与え、分類器３３０を再構成させる。そして、探索制御部１５０は、上記の要領で推論又は決定する最適照明条件を示す照明条件データを最適照明条件データ３２０として記憶装置３０に記憶させ、探索フェーズの処理を終了させる。
【００２８】
分類器再構成部１６０は、探索制御部１５０から与えられる特徴量ベクトル及び照明条件データを分類器３３０に機械学習させ、分類器３３０を再構成する。分類器３３０を再構成するためのアルゴリズムについては既存の機械学習アルゴリズムを適宜用いるようにすればよい。
【００２９】
外観検査部１７０は、検査フェーズにおいて照明制御部１００及びマスク部１２０の作動制御を行う制御中枢として機能する。より詳細い説明すると、外観検査部１７０は、記憶装置３０から最適照明条件データ３２０を読み出して照明制御部１００に与え、その照明条件データの示す照明条件の下で、検査対象物を含む撮像画像を撮像装置２０に撮像させる。そして、外観検査部１７０は、検査対象物の画像に画像処理を施し、検査対象物の外観検査を行う。検査フェーズにおいて処理装置１０が実行する処理の処理内容は従来の検査装置における処理と特段に変わるところはないので、詳細な説明を省略し、以下では、探索フェーズにおいて処理装置１０が実行する最適照明条件探索処理を中心に説明する。
【００３０】
探索フェーズでは、処理装置１０は、制御プログラム３１０に従って、図３のフローチャートに示す照明条件最適化処理を実行する。図３に示すように照明条件最適化処理には、マスクデータ生成処理ＳＡ１００と，初期化処理ＳＡ１１０と、判定処理ＳＡ１２０、ＳＡ１６０及びＳＡ１９０と、マスク済み画像生成処理ＳＡ１３０とが含まれる。更に、照明条件最適化処理には、特徴量抽出処理ＳＡ１４０と、推論処理ＳＡ１５０と、最適照明条件更新処理ＳＡ１７０及びＳＡ２００と、評価値算出処理ＳＡ１８０と、カウンター更新処理ＳＡ２１０と、最適照明条件記憶処理ＳＡ２２０と、が含まれる。以下、検査装置１にて検査対象物の撮像に使用可能な複数種の照明の各々の設定項目に設定可能な設定内容の組み合わせがＮ通りである場合を例に取って、照明条件最適化処理に含まれる各処理の内容を説明する。なお、Ｎは２以上の自然数である。
【００３１】
マスクデータ生成処理ＳＡ１００では、処理装置１０は、照明制御部１００、マスクデータ生成部１１０及び探索制御部１５０として機能する。より詳細に説明すると、処理装置１０は、まず、探索制御部１５０として機能し、Ｎ通りの照明条件のうちから選択する一つの照明条件を示す照明条件データを照明制御部１００に与える。次いで、処理装置１０は照明制御部１００として機能し、探索制御部１５０から与えられる照明条件データの示す照明条件の下で撮像が行われるようにロボットアーム及び電力供給装置の作動制御を行う。ロボットアーム及び電力供給装置の作動制御を完了すると、処理装置１０は探索制御部１５０として機能し、撮像装置２０に検査対象物を撮像させる。なお、照明の発光開始と撮像素子の露光開始とを同期させる必要がある場合には、撮像装置２０と照明制御部１００の同期制御を探索制御部１５０に行わせればよい。検査対象物の撮像が完了すると、処理装置１０はマスクデータ生成部１１０として機能し、検査対象物を含む撮像画像からマスクデータ３４０を生成して記憶装置３０に記憶させる。
【００３２】
初期化処理ＳＡ１１０では、処理装置１０は探索制御部１５０として機能し、カウンターｎに初期値として１をセットし、暫定最大評価値ＶＭに初期値として０をセットし、更に暫定最適照明条件データにｎ番目の照明条件を示す照明条件データをセットする。
【００３３】
判定処理ＳＡ１２０では、処理装置１０は探索制御部１５０として機能し、カウンターｎがＮ以下であるか否かを判定する。判定処理ＳＡ１２０の判定結果が“Ｎｏ”である場合には、処理装置１０は最適照明条件記憶処理ＳＡ２２０を実行する。判定処理ＳＡ１２０の判定結果が“Ｙｅｓ”である場合には、処理装置１０は、マスク済み画像生成処理ＳＡ１３０を実行する。
【００３４】
マスク済み画像生成処理ＳＡ１３０では、処理装置１０は、照明制御部１００、マスク部１２０及び探索制御部１５０として機能する。より詳細に説明すると、処理装置１０は、まず、探索制御部１５０として機能し、現時点の照明条件を示す照明条件データを照明制御部１００に与える。本実施形態では、Ｎ通りの照明条件のうちのｎ番目の照明条件を示す照明条件データが照明制御部１００に与えられる。次いで、処理装置１０は照明制御部１００として機能し、探索制御部１５０から与えられる照明条件データで撮像が行われるように、ロボットアーム及び電力供給装置の作動制御を行う。ロボットアーム及び電力供給装置の作動制御を完了すると、処理装置１０は探索制御部１５０として機能し、撮像装置２０に検査対象物を撮像させる。前述のように照明の発光開始と撮像素子の露光開始とを同期させる必要がある場合には、撮像装置２０と照明制御部１００の同期制御を探索制御部１５０に行わせればよい。検査対象物の撮像が完了すると、処理装置１０はマスク部１２０として機能し、撮像装置２０の撮像画像と記憶装置３０に記憶されているマスクデータ３４０とから検査対象物の画像を生成する。
【００３５】
特徴量抽出処理ＳＡ１４０では、処理装置１０は特徴量抽出部１３０として機能し、検査対象物の画像から特徴量ベクトルを抽出する。
【００３６】
推論処理ＳＡ１５０では、処理装置１０は探索制御部１５０として機能し、特徴量抽出処理ＳＡ１４０にて抽出済みの特徴量ベクトルを分類器３３０に与える。
【００３７】
判定処理ＳＡ１６０では、処理装置１０は探索制御部１５０として機能し、最適照明条件の推論に成功か否かを判定する。判定処理ＳＡ１６０の判定結果が“Ｙｅｓ”である場合には、処理装置１０は、最適照明条件更新処理ＳＡ１７０を実行する。判定処理ＳＡ１６０の判定結果が“Ｎｏ”である場合には、処理装置１０は評価値算出処理ＳＡ１８０を実行する。
【００３８】
最適照明条件更新処理ＳＡ１７０では、処理装置１０は、探索制御部１５０として機能し、分類器３３０の出力データに基づいて最適照明条件である照明条件を表す照明条件データで暫定最適照明条件データを上書きする。最適照明条件更新処理ＳＡ１７０を完了すると、処理装置１０は、最適照明条件記憶処理ＳＡ２２０を実行する。
【００３９】
評価値算出処理ＳＡ１８０では、処理装置１０は評価値算出部１４０として機能し、特徴量抽出処理ＳＡ１４０にて抽出済みの特徴量ベクトルから評価値Ｖを算出する。
【００４０】
判定処理ＳＡ１９０では、処理装置１０は探索制御部１５０として機能し、評価値Ｖが暫定最大評価値ＶＭより大きいか否かを判定する。判定処理ＳＡ１９０の判定結果が“Ｙｅｓ”である場合には、処理装置１０は、最適照明条件更新処理ＳＡ２００を実行した後にカウンター更新処理ＳＡ２１０を実行する。判定処理ＳＡ１９０の判定結果が“Ｎｏ”である場合には、処理装置１０は、最適照明条件更新処理ＳＡ２００を実行することなく、カウンター更新処理ＳＡ２１０を実行する。
【００４１】
最適照明条件更新処理ＳＡ２００では、処理装置１０は、探索制御部１５０として機能し、ｎ番目の照明条件を表す照明条件データで暫定最適照明条件データを上書きし、暫定最大評価値ＶＭを評価値Ｖで上書きする。
【００４２】
カウンター更新処理ＳＡ２１０では、処理装置１０は、探索制御部１５０として機能し、カウンターｎに１を加算する。カウンター更新処理ＳＡ２１０の実行を完了すると、処理装置１０は、判定処理ＳＡ１２０を再度実行する。
【００４３】
最適照明条件記憶処理ＳＡ２２０では、処理装置１０は探索制御部１５０として機能し、暫定最適照明条件データを最適照明条件データ３２０として記憶装置３０に記憶させる。図３に示すように、最適照明条件記憶処理ＳＡ２２０を完了すると、処理装置１０は、照明条件最適化処理を終了する。
【００４４】
図３に示す照明条件最適化処理が完了すると、記憶装置３０には、評価値算出部１４０により算出される評価値が最大になる照明条件、又は分類器３３０の出力データから最適照明条件であると推論される照明条件、を表す最適照明条件データ３２０が記憶される。以降、検査フェーズでは、最適照明条件データ３２０の示す照明条件の下で検査対象物が撮像され、検査対象物の画像に画像処理を施すことで当該検査対象物の外観検査が行われる。
【００４５】
以上説明のように検査装置１は、マスク部１２０と、特徴量抽出部１３０と、評価値算出部１４０と、探索制御部１５０と、を有する。探索制御部１５０は、評価値算出部１４０により算出される評価値に基づいて最適照明条件を探索するので、照明条件の最適化が自動化される。加えて、本実施形態の検査装置１では、評価値の算出元となる特徴量ベクトルは特徴量抽出部１３０によって検査対象物の画像から抽出され、検査対象物の画像では、マスク部１２０によって検査対象物以外の画像が除去されている。このため、検査対象物の撮像環境全体ではなく、当該検査対象物を明瞭に撮像するための照明条件が最適化される。つまり、本実施形態の検査装置１によれば、検査対象物を明瞭に撮像するための照明条件の最適化を自動化することが可能になる。なお、最適照明条件は、検査対象物の種類に応じて異なると考えられるため、検査対象物の種類毎に最適照明条件を特定し、検査対象物の種類毎に最適照明条件データ３２０を記憶装置３０に記憶させるようにしてもよい。
【００４６】
また、検査装置１の探索制御部１５０は、分類器３３０の出力データに基づいて最適照明条件の推論に成功の場合、その時点で探索を打ち切る。従って、探索制御部１５０は、照明条件を構成する設定内容の組み合わせの数が膨大であっても、短時間で照明条件を最適化できる場合がある。
【００４７】
また、検査装置１は、分類器再構成部１６０を有し、探索制御部１５０は評価値が最大となった照明条件とその照明条件の下で撮像される画像から抽出される特徴量ベクトルとを分類器再構成部１６０に与えて分類器３３０を再構成させる。従って、検査装置１は、評価値に基づいて決定される最適照明条件が増えるほど、分類器３３０の出力データに基づく推論の成功率を高めることが可能になる。
【００４８】
Ｂ．その他の実施形態
上記実施形態に以下の変形を適宜組み合わせてもよい。
【００４９】
（１）上記実施形態の検査装置１は、処理装置１０の他に、撮像装置２０と記憶装置３０とを含んでいる。しかし、撮像装置２０と記憶装置３０のうちの一方、或いは両方全ては、ＬＡＮ（Local Area Network）又はインターネットなどの電気通信回線を介して検査装置１に接続されてもよい。
【００５０】
（２）上記実施形態の検査装置１では、分類器３３０が記憶装置３０に予め記憶されている。しかし、検査装置１とは別個の記憶装置であって、処理装置１０からアクセス可能な記憶装置に分類器３３０が記憶されていてもよい。また、上記実施形態では、分類器３３０の出力データに基づく最適照明条件の推論に成功しなかった場合には、全数探索により最適照明条件を探索する。そして、新たに判明する最適照明条件とその下で撮像済みの画像から抽出される特徴量ベクトルとを用いて、分類器再構成部１６０は分類器３３０を再構成する。しかし、分類器３３０の再構成を省略してもよく、この場合は分類器再構成部１６０も省略可能である。また、上記実施形態では、探索制御部１５０は、特徴量抽出部１３０により抽出される特徴量ベクトルを分類器３３０へ入力し、分類器３３０の出力するデータが所定の類似度以上を示す場合に探索を終了する。しかし、特徴量ベクトルを構成する各特徴量が予め定めた許容範囲に収まっていない場合には、最適照明条件の推論を省略してもよい。各特徴量が予め定めた許容範囲に収まっていない場合には推論の信頼性が低くなるからである。また、分類器３３０の出力データに基づく推論を行わずに常に全数探索を行うようにしてもよい。常に全数探索を行う態様では、探索制御部１５０は、照明条件を変更する度に、検査対象物を含む撮像画像を取得し、マスク部１２０に検査対象物の画像を生成させる。また、探索制御部１５０は、特徴量抽出部１３０に特徴量ベクトルを抽出させ、及び評価値算出部１４０に評価値を算出させる。従って、探索制御部１５０は、最適照明条件を確実に見つけることが可能になる。なお、常に全数探索を行う態様では、分類器３３０は省略可能である。
【００５１】
（３）上記実施形態では、全ての照明条件を対象として最適照明条件を探索する全数探索を原則とする。しかし、設定項目の設定内容の重みに基づいて各設定項目の設定内容を選択することで得られる照明条件のみを対象として最適探索条件を探索する乱択探索を原則としてもよい。図４は、乱択探索を原則として最適照明条件を探索する照明条件最適化処理の流れを示すフローチャートである。図４では、図３におけるものと処理内容が同じ処理には同じ符号が付されている。図４と図３とを比較すれば明らかなように、乱択探索を原則とする照明条件最適化処理は、以下の３つの点が全数探索を原則とする照明条件最適化処理と異なる。
【００５２】
第１に、初期化処理ＳＡ１１０，判定処理ＳＡ１９０、及びカウンター更新処理ＳＡ２１０に代えて、初期化処理ＳＢ１１０、判定処理ＳＢ１９０、判定処理ＳＢ２１０、重み更新処理ＳＢ２１２、及び照明条件更新処理ＳＢ２１４を有する点である。第２に、判定処理ＳＡ１２０が省略されている点、すなわち初期化処理ＳＢ１１０に後続してマスク済み画像生成処理ＳＡ１３０が実行される点である。そして、第３に、判定処理ＳＢ１９０の判定結果が“Ｙｅｓ”である場合には、最適照明条件更新処理ＳＡ２００が実行され、その後、最適照明条件記憶処理ＳＡ２２０が実行される点である。以下、全数探索を原則とする照明条件最適化処理との相違点である、初期化処理ＳＢ１１０、判定処理ＳＢ１９０、判定処理ＳＢ２１０、重み更新処理ＳＢ２１２、及び照明条件更新処理ＳＢ２１４について説明する。
【００５３】
初期化処理ＳＢ１１０、判定処理ＳＢ１９０、判定処理ＳＢ２１０、重み更新処理ＳＢ２１２、及び照明条件更新処理ＳＢ２１４の各処理では、処理装置１０は探索制御部１５０として機能する。初期化処理ＳＢ１１０では、探索制御部１５０は、前述のＮ通りの照明条件のうちから疑似乱数等を用いて無作為に１つの照明条件を選択し、当該照明条件を表す照明条件データを暫定最適照明条件データとして揮発性記憶部に記憶させる。また、探索制御部１５０は、外観検査にて使用可能な複数種類の照明の各々について重みの初期値として１をセットし、暫定最大評価値ＶＭに１をセットする。以下では、外観検査にて使用可能なＭ個の照明の各々に１から順に番号を付与するときのｊ番目の照明の重みをＷｊとする。
【００５４】
判定処理ＳＢ１９０では、探索制御部１５０は、評価値算出処理ＳＡ１８０にて算出する評価値Ｖが所定値以上であるか否かを判定する。この所定値については適宜実験等を行って好適な値を求めておけばよい。
【００５５】
判定処理ＳＢ１９０の判定結果が“Ｎｏ”である場合に実行される判定処理ＳＢ２１０では、探索制御部１５０は、評価値算出処理ＳＡ１８０にて算出する評価値Ｖが暫定最大評価値ＶＭより大きいか否かを判定する。判定処理ＳＢ２１０の判定結果が“Ｙｅｓ”である場合には、探索制御部１５０は、重み更新処理ＳＢ２１２を実行し、その後、照明条件更新処理ＳＢ２１４を実行する。これに対して、判定処理ＳＢ２１０の判定結果が“Ｎｏ”である場合には、探索制御部１５０は、重み更新処理ＳＢ２１２を実行することなく、照明条件更新処理ＳＢ２１４を実行する。
【００５６】
重み更新処理ＳＢ２１２では、探索制御部１５０は、暫定最大評価値ＶＭを評価値Ｖで上書きし、更に、現時点の照明条件の示す照明の組み合わせに含まれている各照明の重みを、所定値だけ大きな値に更新する。上記所定値についても適宜実験等を行って好適な値に定めておけばよい。評価値が増加する場合に、その時点の照明の組み合わせは最適さの度合いに対して良い影響がある。このため、評価値が増加する場合には、その時点の照明の組み合わせに含まれる照明の重みを大きくする。この重みの変更によって、照明条件更新処理ＳＢ２１４による更新後の照明の組み合わせに採用されやすくなる。
【００５７】
照明条件更新処理ＳＢ２１４では、処理装置１０は、照明条件を更新する。より詳細に説明すると、探索制御部１５０は、現時点の照明条件の示す照明の組み合わせに対して、新たな照明の追加、何れかの照明の削除、何れかの照明の置き換えを、照明の重みに応じた確率で行うことで照明条件を更新する。ただし、探索制御部１５０は、新たな照明の追加及び何れか照明の削除の何れか一方の実行により、更新後の照明条件の示す照明の組み合わせに含まれる照明の数が１以上、且つ所定の規定値以下に範囲に収まらなくなる場合には、他方を組み合わせて実行する。
【００５８】
例えば、ｊ番目の照明が現時点の照明の組み合わせに含まれていない場合、探索制御部１５０は、まず、０から１の範囲で疑似乱数を１つ発生させ、以下の数１に従って算出される追加確率ＰＡｊが当該疑似乱数以上である場合に、当該ｊ番目の照明を追加する。重みｗｊが大きいほど、組み合わせに照明を追加する際に、追加する照明として選択される確率が高くなる。
【数１】
2020148643.tif 000003
【００５９】
また、ｊ番目の照明が現時点の照明の組み合わせに含まれている場合、探索制御部１５０は、以下の数２に従って算出される除去確率ＰＤｊが、０から１の範囲で疑似乱数以上である場合に、ｊ番目の照明を削除する。
【数２】
2020148643.tif 000004
【００６０】
照明の置き換えについては、まず、照明の除去を行ってから新たな照明の追加を行うことで実現すればよい。組み合わせに含まれる照明の数が１個のみである場合は、新たな照明の追加のみを行うようにすればよい。
【００６１】
乱択探索処理により特定される照明条件は、評価値が最大となる照明条件とは限らず、厳密な意味での最適照明条件ではない。しかし、乱択探索処理によれば、概ね最適と思われる照明条件を全数探索処理に比べて短い処理時間で特定することができる。なお、マスク済み画像生成処理ＳＡ１３０から照明条件更新処理ＳＢ２１４までの処理を規定回数繰り返しても評価値Ｖが所定値を上回らない場合には、重みがしきい値以上である照明のみを選択可能な状態にして全数探索処理を行うようにしてもよい。
【００６２】
（４）上記実施形態の検査装置１は、マスクデータ生成部１１０を有しているが、マスクデータ生成部１１０は省略可能である。検査装置１とは別個の装置により生成されるマスクデータ３４０が記憶装置３０に記憶されていれば、最適照明条件の探索は可能だからである。また、上記実施形態の検査装置１は照明制御部１００を含んでいるが、照明制御部１００を検査装置１とは別個の装置により実現してもよい。つまり、照明制御部１００も省略可能である。また、上記実施形態の検査装置１は、最適照明条件を探索する機能と、外観検査を行う機能とを有しているが、検査装置１に接続される他の画像処理装置を外観検査部１７０として機能させてもよい。つまり、外観検査部１７０も省略可能である。要は、検査装置１は、マスク部１２０、特徴量抽出部１３０、評価値算出部１４０、及び探索制御部１５０を有していればよい。また、上記実施形態におけるマスク部１２０、特徴量抽出部１３０、評価値算出部１４０、及び探索制御部１５０の各部は、ソフトウェアである制御プログラム３１０に従ってコンピューターが実現するソフトウェアモジュールであった。しかし、マスク部１２０、特徴量抽出部１３０、評価値算出部１４０、及び探索制御部１５０の各部をＡＳＩＣなどのハードウェアで実現し、これらハードウェアを組み合わせて検査装置１を構成してもよい。
【００６３】
（５）上記実施形態では、図３に示す照明条件最適化処理の各処理を処理装置１０に実行させた。しかし、図３の各処理を異なる装置に実行させてもよい。要は、複数種の照明の各々についての設定項目の設定内容の組み合わせである照明条件を設定して撮像される検査対象物の画像に基づいて外観検査を行う。この検査方法は、マスク済み画像生成処理ＳＡ１３０と、特徴量抽出処理ＳＡ１４０と、評価値算出処理ＳＡ１８０と、を、評価値が最大又は所定値以上となる設定内容の組み合わせである最適照明条件の探索のために各設定項目の設定内容を変えつつ実行する。
【００６４】
（６）上記実施形態では、処理装置１０を、マスク部１２０と、特徴量抽出部１３０、評価値算出部１４０、及び探索制御部１５０として機能させる制御プログラム３１０が記憶装置３０に予め記憶されている。しかし、一般的なコンピューターを、複数種の照明の各々についての設定項目の設定内容の組み合わせである照明条件を設定して撮像される検査対象物の画像に基づいて外観検査を行う検査装置１として機能させるプログラムであってもよい。このプログラムは、当該コンピューターを、マスク部１２０と、特徴量抽出部１３０、評価値算出部１４０、及び探索制御部１５０として機能させる。このプログラムを単体で製造し、配布してもよい。このプログラムに従って一般的なコンピューターを作動させることで、当該コンピューターを検査装置１として機能させることが可能になるからである。なお、上記プログラムの具体的な配布方法としては、フラッシュＲＯＭ（Read Only Memory）などのコンピューター読み取り可能な記録媒体に上記プログラムを書き込んで配布する態様や、インターネットなどの電気通信回線経由のダウンロードにより配布する態様が考えられる。
【符号の説明】
【００６５】
１…検査装置、１０…処理装置、１００…照明制御部、１１０…マスクデータ生成部、１２０…マスク部、１３０…特徴量抽出部、１４０…評価値算出部、１５０…探索制御部、１６０…分類器再構成部、１７０…外観検査部、２０…撮像装置、３０…記憶装置、３１０…制御プログラム、３２０…最適照明条件データ、３３０…分類器、３４０…マスクデータ、４０…バス。
【図１】
2020148643.tif 000005
【図２】
2020148643.tif 000006
【図３】
2020148643.tif 000007
【図４】
2020148643.tif 000008