(57)【要約】【課題】【解決手段】本発明は、対象を検査する際の照明条件を設定する方法、装置、システム及びプログラム並びに記憶媒体に関する。この方法は、照明パラメータを変更できる光源によって対象を照明し、そのような照明パラメータでイメージセンサによって対象を撮像して撮像画像を取得し、対象は既知のラベルデータを有することと、対象の撮像画像の一部または全て及び対応するラベルデータを、機械学習モデルの学習に適用し、機械学習モデルの推定結果とラベルデータの比較結果に基づいて、照明パラメータ及び検査アルゴリズムパラメータの両方を最適化することで、機械学習モデルの照明条件及び検査アルゴリズムパラメータを同時に設定することと、を含む。したがって、操作が簡略化される。  【選択図】図６
2021515885.tif 000002
【特許請求の範囲】
【請求項１】
検査モジュールは、対象を検査するために使用する機械学習モデルを含み、前記機械学習モデルは、画像を含む学習データを使用することによって生成される方法において、前記対象が撮像される際の照明条件を規定する照明パラメータを変更できる光源によって前記対象を照明し、複数の照明パラメータでイメージセンサによって前記対象を撮像し、前記複数の照明パラメータに対応する撮像画像を取得し、前記対象は既知のラベルデータを有することと、
前記対象の前記複数の照明パラメータに対応する前記撮像画像の一部または全て及び対応する前記ラベルデータを前記機械学習モデルの学習に適用し、前記機械学習モデルの推定結果と前記対象の前記ラベルデータの比較結果に基づいて、前記照明パラメータ及び検査アルゴリズムパラメータの両方を同時に最適化することで、前記機械学習モデルの前記照明条件と前記検査アルゴリズムパラメータの両方を同時に設定することを含む、ことを特徴とする対象を検査する際の照明条件を設定する方法。
【請求項２】
検査モジュールは、対象を検査するために使用する機械学習モデルを含み、前記機械学習モデルは、画像を含む学習データを使用することによって生成される方法において、
前記対象が撮像される際の照明条件を規定する照明パラメータを変更できる光源によって前記対象を照明し、複数の照明パラメータでイメージセンサによって前記対象を撮像し、前記複数の照明パラメータに対応する複数の撮像画像を取得し、前記対象は既知のラベルデータを有することと、
前記複数の照明パラメータに対応する前記撮像画像の一部または全てを、既に学習を実行した機械学習モデルに適用し、前記機械学習モデルの推定結果と前記対象のラベルデータとの比較結果に基づいて、所定の照明パラメータの選択のみを最適化して前記照明条件を設定することを含む、ことを特徴とする対象を検査する際の照明条件を設定する方法。
【請求項３】
既に学習を実行した前記機械学習モデルに前記複数の照明パラメータに対応する前記撮像画像の一部または全てを適用する方法であって、
前記機械学習モデルの検査アルゴリズムパラメータの一部または全てを更新するために、前記対象の前記撮像画像及び対応する前記ラベルデータを含む学習データを前記機械学習モデルの追加学習に適用し、前記ラベルデータは前記対象の検査特徴を表すことと、
前記機械学習モデルの前記推定結果が前記ラベルデータと一致するように、前記機械学習モデルの前記照明パラメータ及び一部または全ての前記検査アルゴリズムパラメータ両者の選択を最適化することと、
を含む、請求項２に記載の方法。
【請求項４】
前記照明条件を設定するとき、最適な照明条件を見つけるために既に学習を実行した前記機械学習モデルに適用される前記撮像画像の数は、前記機械学習モデルの学習に適用される前記撮像画像の数よりも少ない、請求項２または３に記載の方法。
【請求項５】
前記照明パラメータは、光源の発光位置と発光強度を含む、請求項１または２に記載の方法。
【請求項６】
前記検査モジュールを使用して前記対象を検査する際の前記照明条件の設定は、
前記比較結果を表す損失関数を最小化する、損失関数の変数である前記照明パラメータを選択することを含み、
前記選択は、所定の範囲の前記照明パラメータについて、前記損失関数の損失平均を最小化する前記照明パラメータを選択することを含む請求項１または２に記載の方法。
【請求項７】
検査モジュールは、対象を検査するために使用する機械学習モデルを含み、前記機械学習モデルは、画像を含む学習データを使用することによって生成される装置において、
前記対象に関する撮像画像を取得する取得ユニットであって、前記対象が撮像される際の前記照明条件を規定する照明パラメータを変更することができる光源によって照明し、複数の照明パラメータでイメージセンサによって前記対象を撮像し、前記複数の照明パラメータに対応する前記撮像画像を取得し、前記対象は既知のラベルデータを有する取得ユニットと、
前記対象の前記複数の照明パラメータに対応する前記撮像画像の一部または全て及び対応する前記ラベルデータを機械学習モデルの学習に適用し、前記機械学習モデルの推定結果と前記対象の前記ラベルデータの比較結果に基づいて、前記照明パラメータ及び検査アルゴリズムパラメータの両方を同時に最適化することで、前記機械学習モデルの前記照明条件と前記検査アルゴリズムパラメータの両方を設定する設定ユニットと、
を含む、ことを特徴とする対象を検査する際の照明条件を設定する装置。
【請求項８】
検査モジュールは、対象を検査するために使用する機械学習モデルを含み、前記機械学習モデルは、画像を含む学習データを使用することによって生成される装置において、
前記対象に関する撮像画像を取得する取得ユニットであって、前記対象が撮像される際の前記照明条件を規定する照明パラメータを変更できる光源によって照明し、複数の照明パラメータでイメージセンサによって前記対象を撮像し、前記複数の照明パラメータに対応する前記撮像画像を取得し、前記対象は既知のラベルデータを有する取得ユニットと、
前記複数の照明パラメータに対応する前記撮像画像の一部または全てを、既に学習を実行した前記機械学習モデルに適用し、前記機械学習モデルの推定結果と前記対象のラベルデータとの比較結果に基づいて、所定の照明パラメータの選択のみを最適化することで、前記照明条件を設定する設定ユニットと、
を含むことを特徴とする対象を検査する際の照明条件を設定する装置。
【請求項９】
前記設定ユニットは、
前記機械学習モデルの一部または全ての検査アルゴリズムパラメータを更新するために、前記対象の前記撮像画像及び対応する前記ラベルデータを含む学習データを前記機械学習モデルの追加学習に適用し、前記ラベルデータは前記対象の検査特徴を表し、
前記機械学習モデルの前記推定結果が前記ラベルデータと一致するように、前記機械学習モデルの前記照明パラメータと一部または全ての前記検査アルゴリズムパラメータ両者の選択を最適化する、請求項８に記載の装置。
【請求項１０】
前記照明条件を設定するとき、最適な照明条件を見つけるために既に学習を実行した前記機械学習モデルに適用される前記撮像画像の数は、前記機械学習モデルの学習に適用される前記撮像画像の数よりも少ない、請求項７または８に記載の装置。
【請求項１１】
前記照明パラメータは、光源の発光位置と発光強度を含む、請求項７または８に記載の装置。
【請求項１２】
前記比較結果を表す損失関数を最小化する、損失関数の変数である前記照明パラメータを選択し、
前記選択は、所定の範囲の前記照明パラメータについて、前記損失関数の損失平均を最小化する前記照明パラメータを選択することを含む、請求項７または８に記載の装置。
【請求項１３】
請求項１から６のいずれか一項に記載の方法を実行する処理部を備えることを特徴とする、対象を検査する際の照明条件を設定するシステム。
【請求項１４】
実行されると、請求項１から６のいずれか一項に記載の方法を実行することを特徴とするプログラム。
【請求項１５】
プログラムを記憶し、前記プログラムが実行されると、請求項１から６のいずれか一項に記載の方法を実行することを特徴とする、記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工業用検出中に照明条件を設定する方法、装置、システム及びプログラム並びに記憶媒体に関する。
【背景技術】
【０００２】
生産現場での製品の外観検査は、人と機械の入れ替えが最も少ない分野の一つであり、今後の人員削減のための自動化は、解決しなければならない重要な技術的課題である。近年、深層学習に代表される人工知能や機械学習技術の発達に伴い、検査自動化技術が飛躍的に向上している。しかしながら、外観検査やマシンビジョン等において、検査システム構築時における最も煩わしいフローは、照明の最適設計を含めたイメージングシステムの設計である。オペレーターが最適な照明設計を手動で行う場合、ワークの個体差に対応するために、対象として決定されたワークを変更し、手動調整ベースでの照明の最適化と検査アルゴリズムの調整を同時に交互に繰り返し実行して、予期される検出パフォーマンスを達成する必要があり、非常に時間がかかるという問題が存在する。さらに、照明がオペレーターによって容易に監視できるように調整されている場合、最適な検査精度が常に達成されるとは限らないという問題も存在する。
【０００３】
これらの問題を解決する従来技術として、撮像画像に基づいて評価基準を算出し、それを最大化／最小化する結像及び照明パラメータを繰り返し算出する方法が存在する（特許文献１）。しかしながら、この方法によれば、現在撮像されている１つのワークの撮像画像に基づいて算出された評価値の最適化を実施することしかできず、複数のワーク間の差異の学習等の機械学習に基づく認識器（ｒｅｃｏｇｎｉｚｅｒ）の最適化を実施できない場合がある。
【０００４】
さらに、多数の組み合わせの結像及び照明パラメータが存在する可能性があり、同時に結像条件及び照明の条件の変更、結像及び最適化を実行すると、相対的に長い時間がかかる場合があるという問題も存在する。
【０００５】
さらに、上記の問題は、生産現場での製品の外観検査中だけでなく、照明を当てた対象の撮像画像を入力として使用でき、機械学習によって様々な判定を行う他の判定装置（例えば、顔識別システム）にも存在する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】ＥＰ２８８７０５５Ａ１
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、前述の問題の少なくとも一部または全てを解決するために採用される。
【課題を解決するための手段】
【０００８】
本発明は、機械学習ベースでの検査アルゴリズムのパラメータが照明の設計パラメータを含むという条件下で検査アルゴリズムのパラメータを最適化する方法を開示する。したがって、使用者は、検査アルゴリズムの損失値（判定条件下での正確率）を最大化する方法で、照明の最適化と検査アルゴリズムの最適化を同時に直接行うことができる。
【０００９】
（１）本発明の一態様によれば、対象を検査する際の照明条件を設定する方法であって、画像を含む学習データを使用することにより生成された機械学習モデルを含む検査モジュールを使用して対象を検査する方法において、対象が撮像される際の照明条件を規定する照明パラメータを変更できる光源によって対象を照明し、複数のそのような照明パラメータでイメージセンサによって対象を撮像し、複数の照明パラメータに対応する複数の撮像画像を取得し、対象は既知のラベルデータを有することと、前記対象の複数の照明パラメータに対応する複数の撮像画像の一部または全て及び対応するラベルデータを機械学習モデルの学習に適用し、機械学習モデルの推定結果と対象のラベルデータの比較結果に基づいて、照明パラメータ及び検査アルゴリズムパラメータの両方を同時に最適化することで、機械学習モデルの照明条件照明条件及び検査アルゴリズムパラメータの両方を同時に設定することを含む、ことを特徴とする方法を開示する。
【００１０】
したがって、機械学習モデルの推定結果と対象のラベルデータの比較結果に基づいて、検査モジュールを用いて対象を検査する際に採用する照明条件を設定し、機械学習モデルの照明パラメータ及び検査アルゴリズムパラメータの最適化を同時に実行でき、操作も簡略化される。
【００１１】
（２）本発明の別の態様によれば、対象を検査する際の照明条件を設定する方法であって、画像を含む学習データを使用することにより生成された機械学習モデルを含む検査モジュールを使用して対象を検査する方法において、対象が撮像される際の照明条件を規定する照明パラメータを変更できる光源によって対象を照明し、複数のそのような照明パラメータでイメージセンサによって対象を撮像し、複数の照明パラメータに対応する複数の撮像画像を取得し、対象は既知のラベルデータを有することと、複数の照明パラメータに対応する複数の撮像画像の一部または全てを、既に学習を実行した機械学習モデルに適用し、機械学習モデルの推定結果と対象のラベルデータとの比較結果に基づいて、所定の照明パラメータの選択のみを最適化して照明条件を設定することを含む、ことを特徴とする方法を開示する。
【００１２】
前述の方法では、最初に検査アルゴリズムパラメータを決定し、次に検査照明パラメータを決定する方法で、機械学習モデルの学習中のシステム演算量を削減し、システム負荷を低減し、照明パラメータの設定操作を簡略化することができる。
【００１３】
（３）前述の方法において、既に学習を実行した機械学習モデルに、複数の照明パラメータに対応する撮像画像の一部または全てを適用する操作は、機械学習モデルの検査アルゴリズムパラメータの一部または全てを更新するために、対象の撮像画像及び対応するラベルデータを含む学習データを機械学習モデルの追加学習に適用し、ラベルデータは対象の検査特徴を表すことと、機械学習モデルの推定結果がラベルデータと一致するように、機械学習モデルの照明パラメータと一部または全ての検査アルゴリズムパラメータの両者の選択を最適化することと、を含む。
【００１４】
この方法により、方法の第２ステップで検査アルゴリズムパラメータ及び検査照明パラメータの一部または全てを同時に最適化するので、機械学習モデルはより良い学習結果を得ることができる。
【００１５】
（４）前述の方法において、照明条件を設定するとき、最適な照明条件を見つけるために既に学習を実行した機械学習モデルに適用される撮像画像の数は、機械学習モデルの学習に適用される撮像画像の数よりも少ない。  
【００１６】
したがって、学習時間を短縮することができる。
【００１７】
（５）前述の方法において、照明パラメータは、光源の発光位置及び発光強度を含む。
【００１８】
したがって、光源の発光位置及び発光強度の両方を変更して、照明パラメータを変更することができる。
【００１９】
（６）前述の方法において、検査モジュールを使用して対象を検査する際の照明条件の設定の操作は、比較結果を表す損失関数を最小化する、損失関数の変数である照明パラメータを選択することを含み、前記選択は、所定の範囲の照明パラメータについて、損失関数の損失平均を最小化する照明パラメータを選択することを含む。
【００２０】
ここで、所定の範囲の照明パラメータを考慮することで、対象を検査する際の環境変化に対するロバスト性を向上させることができる。
【００２１】
（７）本発明の他の態様によれば、前述した各方法に対応し、対象を検査する際の照明条件を設定する様々な装置がさらに開示され、前述した各方法と同じ効果を達成することができる。
【００２２】
（８）本発明の別の態様によれば、対象を検査する際の照明条件を設定するシステムがさらに開示される。システムは、処理部を含んでも良く、前述した任意の方法を実行するように構成することができる。
【００２３】
（９）本発明の別の態様によれば、前述した任意の方法を実行するために実行されるプログラムがさらに開示される。
【００２４】
（１０）本発明の別の態様によれば、前述した任意の方法を実行するために実行されるプログラムが記憶される記憶媒体がさらに開示される。
【００２５】
システム、プログラム、及び記憶媒体も、前述した各方法と同じ効果を達成することができる。
【発明の効果】
【００２６】
本発明の２つの効果を実質的に列挙する。まず、設計時間を短縮し、体系的な設計を得ることができ、パフォーマンスがスタッフのスキルに依存することで表れる個別化されたスキルを回避することができる。次に、性能の観点から、撮像システム全体及び画像処理システム全体の直接の最適化は、例えば、検査アルゴリズムに好適な照明設計や、そのような照明に最も適した検査アルゴリズム等、検査の精度（合格／不合格の製品判定または測定値）の角度のみから実現することができる。
【図面の簡単な説明】
【００２７】
本明細書で説明される図面は、本発明のさらなる理解を提供するために使用され、本発明の一部を構成する。本発明の概略的な実施形態及びその説明は、本発明を説明するために使用され、本発明に対する不適切な限定を構成しない。
【００２８】
【図１】本発明の実施形態に係る検査システムのシステム構成例の概略図である。
【図２】本発明の実施形態に係る欠陥検査装置のハードウェア構成の概略図である。
【図３】は、本発明の実施形態による欠陥検査装置の機能モジュールの概略図である。
【図４】図４の（ａ）と（ｂ）は、それぞれ、本発明の実施形態による照明条件を設定する方法における機械学習モデルの学習段階及び検査段階のフローチャートである。
【図５】は、本発明の実施形態による照明条件を設定する方法のフローチャートである。
【図６】図４及び図５に示す照明条件を設定する方法の概略的なフローチャートである。
【図７】図７の（ａ）と（ｂ）は、それぞれ、本発明の別の実施形態による照明条件を設定する方法における機械学習モデルの学習段階及び検査段階のフローチャートである。
【図８】図８の（ａ）及び（ｂ）は、それぞれ、図７に示す照明条件の設定方法の一変化例における機械学習モデルの学習段階及び検査段階のフローチャートである。
【図９】本発明の別の実施態様による照明条件を設定する方法のフローチャートである。
【図１０】は、本発明の別の実施形態による照明条件を設定する方法のフローチャートである。
【発明を実施するための形態】
【００２９】
当業者が本発明をよりよく理解できるように、本発明の実施形態を、本発明の図面と組み合わせて、以下に明確かつ完全に説明する。明らかに、説明される実施形態は、実施形態の全てではなく、本発明の実施形態の一部にすぎない。本発明の実施形態に基づいて当業者によって創造的な努力なしに得られる他の全ての実施形態は、本発明の保護範囲に含まれるものとする。
【００３０】
本発明では、例えば、採用可能な全ての結像条件で対象を事前に撮像し、所望の設定条件に応じて適切な画像を選択することができる。結像条件が離散化されている限り、制限がないという利点がある。照明パターンに加え、絞りやシャッター速度等を変更することができる。また、連続結像条件の場合は離散化することができる。さらに、ワーク数がＭ、結像条件数がＮの場合、Ｍ×Ｎ枚の画像を取得することができ、ストレージ、サーバー側、またはクラウド側に保存することができる。
【００３１】
本発明では、可変照明パラメータを有する複数の光源によって対象を照明する。照明パラメータは、例えば、光源の発光位置、発光強度及び色度（ｃｈｒｏｍａｔｉｃｉｔｙ）を含んでも良い。照明条件下で、イメージセンサ（例えば、カメラ）により対象を撮像し、撮像画像を取得する。対象の撮像画像、対応する照明パラメータ、及びラベルデータを使用して機械学習モデルを訓練し、機械学習モデルに対象を検査する能力を付与する。撮像画像は、照明パラメータに事前に関連付けることができるので、機械学習モデルを訓練するプロセスにおいて、照明パラメータ及び検査アルゴリズムパラメータを同時に調整することができる。ここで、「検査アルゴリズムパラメータ」とは、機械学習モデルで対象を検査する際の検査アルゴリズムのパラメータを指す。したがって、学習用の撮像画像を取得するために、照明パラメータ及び照明パラメータにより純粋に照明を調整する場合と比較して、本発明の対象を検査する方法では、操作が簡略化され、システム負荷が低減される。
【００３２】
図面を参照し、本発明の実施形態を詳細に説明する。図面中、同一または対応する部分には同一の符号を付し、重複する説明は省略することに留意することが重要である。
【００３３】
まず、本発明の実施形態に係る検査システム１のシステム構成例について説明する。実施形態に係る検査システム１は、被検査対象を撮像して生成した撮像画像に基づいて、被検査対象を検査する。被検査対象は、生産ライン上のワークであっても良い。検査は、例えば、ワークの外観検査または外観測定であっても良い。
【００３４】
図１は、実施形態に係る検査システム１のシステム構成例の概略図である。図１を参照すると、検査システム１は、撮像により取得した入力画像、例えばベルトコンベア２上を搬送される被検査対象、すなわちワーク４に対して画像解析処理を実行し、これにより、ワーク４の外観検査または外観測定を完了する。以下の説明では、画像解析処理の代表例として、ワーク４の表面に欠陥の有無を確認する応用例を説明する。ただし、これらに限定されるものではなく、検査システムは、欠陥の種類の特定や、外観形状の測定などにも適用できる。
【００３５】
ベルトコンベア２の上部には、結像手段としてのカメラ１０２が設けられており、カメラ１０２のイメージングビュー６は、ベルトコンベア２を含む所定の領域を形成する。カメラ１０２の結像により生成された画像データ（以下「入力画像」という）は、欠陥検査装置１００に送信される。カメラ１０２の結像は、周期やイベントに応じて実行される。
【００３６】
欠陥検査装置１００は、学習器を備えても良く、学習器は、畳み込みニューラルネットワーク（ＣＮＮ）エンジンを備えても良い。ＣＮＮエンジンを介して、入力画像に基づき各レベルの特徴検出画像を生成する。生成した１枚または複数枚の特徴検出画像に基づき、対象ワークに欠陥があるか否かを判定する。あるいは、欠陥の大きさ、位置等を検出することもできる。
【００３７】
欠陥検査装置１００は、上位層ネットワーク８を介して、プログラマブルロジックコントローラ（ＰＬＣ）１０、データベース装置１２等と接続されている。欠陥検査装置１００における検出結果は、ＰＬＣ１０及び／またはデータベース装置１２に送信されても良い。ＰＬＣ１０及びデータベース装置１２に加え、任意の装置が上位層ネットワーク８に接続されても良いことに留意することが重要である。
【００３８】
欠陥検査装置１００には、処理状況や検出結果等を表示するディスプレイ１０４や、使用者の操作を受け付ける入力部としてのキーボード１０６やマウス１０８が接続されていても良い。
【００３９】
次に、本発明の実施形態に係る検査システム１０に含まれる欠陥検査装置１００のハードウェア構成について説明する。
【００４０】
図２は、実施形態に係る欠陥検査装置１００のハードウェア構成の概略図である。欠陥検査装置１００は、本発明における「対象を検査する際の照明条件を設定するシステム」の一例であってよい。図２を参照すると、一例として、欠陥検査装置１００は、汎用コンピュータアーキテクチャによって形成された汎用コンピュータに従って実現されても良い。欠陥検査装置１００は、プロセッサ１１０、メインメモリ１１２、カメラインターフェース１１４、入力インターフェース１１６、ディスプレイインターフェース１１８、通信インターフェース１２０及びメモリ１３０を含む。通常、これらの部材は内部バス１２２を介して接続され、それによって互いに通信する。
【００４１】
プロセッサ１１０は、メインメモリ１１２のメモリ１３０に格納されたプログラムを実行することにより、以下に説明する機能及び処理を実現する。メインメモリ１１２は不揮発性メモリからなり、プロセッサ１１０のプログラム実行に必要なワーキングメモリの機能を実現する。
【００４２】
カメラインターフェース１１４は、カメラ１０２と接続され、カメラ１０２の結像により得られた入力画像を取得する。カメラインターフェース１１４は、さらに、カメラ１０２に結像タイミングなどを指示しても良い。
【００４３】
入力インターフェース１１６は、キーボード１０６やマウス１０８等の入力部と接続されており、入力部等に対する使用者の操作により表される指示を受け取る。
【００４４】
ディスプレイインターフェース１１８は、ディスプレイ１０４に接続されており、プロセッサ１１０のプログラム実行により生成された各種処理結果をディスプレイ１０４に出力する。
【００４５】
通信インターフェース１２０は、上位層ネットワーク８を介して、ＰＬＣ１０、データベース装置１２等との通信処理を担当する。
【００４６】
画像処理プログラム１３２やオペレーティングシステム（ＯＳ）１３４等のコンピュータが欠陥検査装置１００の機能を実現するためのプログラムは、メモリ１３０に格納される。以下で言及する画像検出処理を実行するように構成された学習器パラメータ１３６、カメラ１０２で取得した入力画像（すなわち、撮像画像１３８）及びワーク４が撮像される際の光源の照明パラメータ１４０を、さらにメモリ１３０に格納しても良い。学習器パラメータ１３６は、例えば、照明パラメータや検査アルゴリズムパラメータ等の機械学習モデルの学習段階及び検査段階に適用される様々なパラメータを含んでも良い。
【００４７】
メモリ１３０に格納された画像処理プログラム１３２は、デジタルバーサタイルディスク（ＤＶＤ）等の光記録媒体や、ユニバーサルシリアルバス（ＵＳＢ）メモリ等の半導体記録媒体を介して欠陥検査装置１００にインストールしても良い。あるいは、画像処理プログラム１３２は、ネットワーク上のサーバ装置などからさらにダウンロードしてもよい。
【００４８】
このような汎用コンピュータでの実装時には、ＯＳ１３４が提供するソフトウェアモジュールのうち、必要なソフトウェアモジュールを所定の順序及び／または機会に応じて呼び出すことにより処理を行い、実施形態に応じた機能の一部を実現する。つまり、実施形態に係る画像処理プログラム１３２は、実施形態に係る機能を実現するためのソフトウェアモジュールを全て備えているわけではなく、ＯＳと連携して必要な機能を提供することができる。
【００４９】
実施の形態に係る画像処理プログラム１３２は、さらに、他のプログラムの一部に組み込まれて提供されてもよい。このような状況下では、画像処理プログラム１３２は、組み合わされる他のプログラムに含まれるモジュールを含まず、他のプログラムと連携して処理を実行する。したがって、実施形態に係る画像処理プログラム１３２は、他のプログラムに組み合わせる方法をさらに採用しても良い。
【００５０】
図２は、汎用コンピュータにより欠陥検査装置１００を実現する例を示している。ただし、これに限定されない。機能の一部または全てを専用回路（例えば、特定用途向け集積回路（ＡＳＩＣ）やフィールドプログラマブルゲートアレイ（ＦＰＧＡ））により実現することもできる。また、ネットワークに接続された外部機器が処理の一部を担うこともできる。
【００５１】
図３は、本発明の実施態様による欠陥検査装置１００の機能モジュールの概略図である。図３に示すように、欠陥検査装置１００は、撮像部１４１と、設定部１４２と、検査部１４３と、記憶部１４４とを含んでも良い。
【００５２】
欠陥検査装置１００の画像生成部１４１、設定部１４２及び検査部１４３は、１つまたは複数の汎用プロセッサにより実現されても良い。ただし、これらに限定されるものではない。一部または全ての機能は、専用回路（例えば、特定用途向け集積回路（ＡＳＩＣ）またはフィールドプログラマブルゲートアレイ（ＦＰＧＡ））を介して実現しても良い。また、ネットワークに接続された外部機器がこれらの部分の処理の一部を担うこともできる。
【００５３】
ここで、撮像部１４１は、本発明における「取得部」の一具体例である。別の例として、欠陥検査装置１００は撮像部１４１を備えていなくても良く、ワーク４の撮像画像を外部から受信することもできる。設定部１４２は、本発明における「設定部」の一具体例である。撮像部１４１と設定部１４２との組み合わせが、本発明における「対象を検査する際の照明条件を設定する装置」の一具体例である。
【００５４】
加えて、検査部１４３は、本発明における「検査モジュール」の一具体例である。学習器１４３１は、本発明における「機械学習モデル」の実施形態の具体例であり、検査部１４３は、ワーク４の最終的な検査結果を出力する。例えば、学習器１４３１が画像から抽出された特徴を生成するように構成されたＣＮＮであるという条件下で、検査部１４３は、例えば、学習器１４３１により抽出された特徴に判定基準を適用して最終的な検査結果を生成する判定装置をさらに含んでもよい。
【００５５】
設定部１４２は、複数の照明パラメータ及び対応するラベルデータに対応するワーク４の複数の撮像画像の一部または全てを学習器１４３１の学習に適用し、学習器１４３１の推定結果とワークのラベルデータとの比較結果に基づいて、学習を実行した学習器１４３１により検査部１４３がワーク４を検査する際に用いる照明パラメータを設定する。設定方法の詳細は後述する。
【００５６】
ここでの「ラベルデータ」は、ワーク４の検査特徴を表すように構成されている。例えば、ラベルデータは、ワーク４が合格品か不合格品かを表すデータであっても良いし、ワーク４の外観特徴（例えば、傷やサイズ等）を表すデータであっても良い。ラベルデータの内容は、ワーク４に予想される検査特徴が表される限り、特に限定されない。
【００５７】
検査部１４３は、ベルトコンベア２上のワーク４を検査する。検査部１４３は、学習器１４３１を含んでも良く、これにより訓練された機械学習モデルを通じてワーク４を検査する。
【００５８】
撮像部１４１は、イメージセンサを介してワーク４を撮像する。イメージセンサは、例えば、１つまたは複数のカメラを有するカメラであっても良く、さらに、絞りサイズやシャッター速度等の撮像パラメータは可変である。
【００５９】
記憶部１４４は、欠陥検査装置１００の作業に必要なプログラムやデータを記憶するように構成されている。欠陥検査装置１００は、記憶部１４４を備えていなくても良い。
【００６０】
以下、図４を参照して、本発明の実施態様に係る照明条件の設定方法についてまとめる。図４の（ａ）及び（ｂ）は、それぞれ、本発明の実施形態による照明条件を設定する方法における機械学習モデルの学習段階及び検査段階のフローチャートである。
【００６１】
図４（ａ）に示すように、ステップＳ４１０において、撮像部１４１は、ワークを撮像する。ワークは、異なる照明パラメータを用いた照明の条件下で何度も撮像され、それにより、ワークに関する複数の撮像画像が取得される。これらの撮像画像は、それぞれ一組の照明パラメータに対応し、例えば、各組の照明パラメータは、オンにされる光源及びオンにされる光源の輝度等のパラメータを含んでいても良い。
【００６２】
例えば、ワークを識別するための指標を
【数０１】
2021515885.tif 000003
とし、候補となるＮ個の結像条件（照明パラメータ、カメラパラメータ）の集合を
【数０２】
2021515885.tif 000004
と表す。
これにより、全てのワークが全ての結像条件で撮像され、その画像は記憶１４４に記憶される。保存されたＭ×Ｎ個の画像を
【数０３】
2021515885.tif 000005
と表す。
【００６３】
ここで、各光源の照明パラメータを変更しても良く、例えば、各光源の発光位置及び／または発光強度を変更して、ワーク４に異なる照明を提供してもよい。さらに、ワーク４は対応するラベルデータを有し、且つラベルデータはワーク４の検査特徴を表すように構成される。例えば、ラベルデータは、ワーク４が良品か不良品かを表すデータであっても良いし、ワーク４の外観特徴（例えば、傷やサイズ）を表すデータであっても良い。ラベルデータの内容は、ワーク４の予期される検査特徴である限り、特に限定されない。
【００６４】
ステップＳ４１２において、学習器１４３１は、これらの撮像画像及び対応するラベルデータに基づいて学習を実行する。各撮像画像には照明パラメータが関連付けられているため、学習により、評価関数を最適化して、最適な照明パラメータ及び検査アルゴリズムパラメータを取得することができる。つまり、検査部１４３が出力する検査結果の正確率を最適化するように最適な照明パラメータ及び検査アルゴリズムパラメータを選択する。ここで、「照明パラメータ」とは、検査部１４３がワークを検査する際に使用する照明パラメータであり、「検査アルゴリズムパラメータ」とは、検査部１４３がワークを検査する際に使用する検査アルゴリズムのパラメータである。
【００６５】
本発明では、検査アルゴリズムは、学習器１４３１により実現される。学習器１４３１の訓練評価基準は、通常、損失値と呼ばれ、合格／不合格の製品判定問題に関する場合、合格／不合格（ＰＡＳＳ／ＦＡＩＬ）の正確率は、交差エントロピー（Ｃｒｏｓｓ  Ｅｎｔｒｏｐｙ）等によって表される。検査内容がワーク４の長さ等の測定の回帰問題である場合、エラー発生分布を多次元正規分布でモデル化し、その対数尤度関数が損失値として用いられる。
【００６６】
通常の条件下では、機械学習ベースの検査アルゴリズムの学習中に、複数の教師データ（ｔｅａｃｈｅｒ  ｄａｔａ）（判定問題の場合は合格／不合格、回帰問題の場合は正確率）及び学習サンプル画像を事前に入力し、損失値を最小化するようにパラメータの最適化を実行する。ここで、損失値は、これらの学習サンプル画像が正確に推定されているかどうかの基準である。
【００６７】
図４の（ｂ）に示すように、ステップＳ４２０では、ステップＳ４１２で取得した最適化された照明パラメータで照明を行い、撮像部１４１がワーク４を撮像して撮像画像を取得する。ステップＳ４２２において、学習器１４３１は、これらの画像により、ワーク４の欠陥を確認する。
【００６８】
図４に示す照明条件の設定方法では、検査照明パラメータ及び検査アルゴリズムパラメータを同時に調整する。つまり、照明パラメータは、調整が必要なアルゴリズムパラメータに同等に追加されるため、労働時間を短縮し、労働者への依存を軽減することができる。また、システム全体の計算負荷を軽減し、検査効率を向上させることができる。
【００６９】
図５は、図４（ａ）の照明条件の設定方法をさらに詳細にした、ステップＳ４１２の後に続く照明条件の設定方法のフローチャートである。図６は、図４及び図５に示される照明条件を設定する方法の概略フローチャートである。
【００７０】
図５を参照すると、ステップＳ５０では、ワーク４の撮像画像及び対応するラベルデータとを含む学習データを学習器１４３１の学習に適用する。ここで、ラベルデータはワーク４の検査特徴を表す。
【００７１】
ステップＳ５２では、学習器１４３１の検査アルゴリズムパラメータを最適化して、学習器１４３１の推定結果をラベルデータと一致させる。
【００７２】
外観検査中における、機械学習ベースの検査アルゴリズムの損失関数は通常L(u,v｜θD)として表記され、ここで、θDは検査アルゴリズムのパラメータベクトルであり、例えば、検査アルゴリズムには、深層学習中の接続線の全ての重みが含まれる。さらに、ｕは撮像画像、ｖは画像のラベルである。通常の条件下では、学習用のデータセットを
【数０４】
2021515885.tif 000006
と表すと、式（１）により最適な学習パラメータ
【数０５】
2021515885.tif 000007
が算出される。
【数０６】
2021515885.tif 000008
【００７３】
そして、Ｍ×Ｎ枚の画像
【数０７】
2021515885.tif 000009
を用いて、下記式（２）により、最適な結像条件及び最適な検査アルゴリズムパラメータを算出することができる。
【数０８】
2021515885.tif 000010
【００７４】
これらの結果から、最適な結像パラメータは
【数０９】
2021515885.tif 000011
であると判定できる。操作段階において、例えば、ステップＳ４２２において、算出した最適な結像パラメータをワークの検査に使用しても良い。
【００７５】
図４における本発明の実施形態による照明パラメータの設定方法及び図５における本発明の実施形態による照明パラメータの設定方法においては、検査照明パラメータ及び検査アルゴリズムパラメータが同時に最適化されるため、労働時間が短縮され得る。また、評価基準の直接最適化は、精度検査（製品の合否判定や測定値）の観点のみから実施できる。さらに、例えば、検査アルゴリズムのための優れた照明設計及びそのような照明に最も適した検査アルゴリズム等の全体としての目的のための撮像システム及び画像処理システムの直接最適化を実現することができる。
【００７６】
さらに、照明条件の設定方法は、結像条件を離散化する方法でありさえすれば良く、また、「照明シミュレータ」等の照明パラメータに基づいて画像を推定する手段を設ける必要もない。
【００７７】
本発明では、事前に全ての離散化された結像条件で各ワークが撮像されるため、撮像される画像の数が多い。さらに、結像条件が多くの独立した条件（照明パラメータ、シャッタースピードや絞り等）で構成されている場合は、組み合わせの数が多く、撮像数はさらに増加する。したがって、本発明の変化例として、複数の類似の結像条件を組み合わせて代表的な条件に置き換えてもよい。特に、ベクトル量子化圧縮により実現可能である。候補となる結像条件は、結像条件間の近接度を定義する関数を適切に定義し、ｋ平均法（Ｋ−Ｍｅａｎｓ）等の任意のクラスタリング技術を用いて決定することができる。
【００７８】
図６に示すように、例えば、学習器１４３１がニューラルネットワークを用いて深層学習を実行する場合、ニューラルネットワークの出力をラベルデータと一致させることにより、検査アルゴリズムパラメータ及び照明パラメータを同時に最適化し、これにより、既に学習を実行し、最適な照明パラメータを有するニューラルネットワークを得ることができる。学習済みの学習器１４３１は、照明パラメータを選択して、ワーク４の試験結果の正確率を向上させることができる。
【００７９】
図７の（ａ）及び（ｂ）は、それぞれ、本発明の別の実施形態による照明条件を設定する方法における機械学習モデルの学習段階及び検査段階のフローチャートである。この方法の原理を最初に以下に説明する。
【００８０】
通常の条件下では、機械学習ベースの検査アルゴリズムの学習には、多数の訓練画像が必要である。この問題は、深層学習等の多数のパラメータを使用する方法で特に顕著であり、この方法ではＭ×Ｎ枚の画像を取得する必要があるという問題がある。Ｍの値が非常に大きい場合、多数の画像を取り込む必要がある。
【００８１】
この問題の解決策として、多数の訓練画像を必要とする検査アルゴリズムに対してのみ、固定の撮影条件で取得した訓練画像から、事前に検査アルゴリズムパラメータを算出することができる。換言すると、ｊ及びθDは、最適解を算出するために同時に変更されず、θDを算出した後に、より少ないワークの結像条件に用いる指標ｊを変更することによって結像条件を算出する。ここで、「結像条件」には、照明条件だけでなく、結像条件等も含まれる。通常の条件下では、照明パラメータの数が比較的小さいため、この方法は妥当と考えられる。
【００８２】
具体的には、
【数１０】
2021515885.tif 000012
の２つのデータセットを用意し、２段階の最適化のために、式（３）と式（４）で最適な照明パラメータを算出する。
【数１１】
2021515885.tif 000013
【数１２】
2021515885.tif 000014
【００８３】
前述した方法では、Ｍ1＞Ｎ2と設定し、学習に必要な撮影画像数をＭ×ＮからＭ1＋Ｍ2×Ｎに減らすことができる。前述の方法では、既存の固定の検査アルゴリズムパラメータも使用し、照明パラメータのみを算出することもできる。
【００８４】
ここで、図７を参照して、その方法のフローを詳細に説明する。図７の（ａ）に示すように、ステップＳ７１０では、固定照明パラメータでＭ１個のワークを撮像し、Ｍ１個の撮像画像を取得する。ステップＳ７１２において、学習器１４３１は、Ｍ１個の撮像画像による学習を実行して、検査アルゴリズムパラメータを最適化する。ステップＳ７１４では、Ｎタイプの照明パラメータのでＭ１ワーク中のＭ２ワークを撮像し、Ｍ２×Ｎ枚の撮像画像を取得する。
【００８５】
ステップＳ７１６では、Ｍ２×Ｎ枚の撮像画像を、既に学習を実行した学習器１４３１に適用し、学習器１４３１の推定結果とラベルデータの比較結果に基づいて、検査部１４３がワーク４を検査する際の照明条件を設定する。一比較例として、例えば、学習器１４３１が、Ｎ個の照明パラメータの下でワーク画像をテスト画像入力として使用して学習を実行した後、ワーク４を検査する際の照明パラメータとして、学習器１４３１の推定結果の正確率が最大となる照明パラメータを選択する。
【００８６】
図７の（ａ）に示す学習段階の後、図７の（ｂ）に示すように、ステップＳ７２０において、検査照明パラメータの下でワークを撮像し、撮像画像を取得する。ステップＳ７２２において、検査部１４３は、撮像画像を解析して、ワークの検出結果を取得する。
【００８７】
図７で説明した検査方法によれば、機械学習モデルの学習時のシステム計算量を削減でき、システム負荷を軽減できる。また、照明パラメータの設定操作を簡略化することができる。
【００８８】
また、任意に、前述の方法では、学習に必要な撮像画像の数も減らすことができる。これにより、労働時間を削減し、パラメータ最適化手順を簡略化することができる。
【００８９】
図７を参照して説明した照明条件の設定方法には、様々な変化例があり得る。以下、図８を参照して、その変化例について詳細に説明する。図８の（ａ）及び（ｂ）は、それぞれ、図７に示す照明条件の設定方法の一変化例における機械学習モデルの学習段階及び検査段階のフローチャートである。図８において、図７と同一または類似のステップには同一または類似の符号を付し、重複する説明は省略する。
【００９０】
ステップＳ８１６の学習時には、式（５）及び式（６）に示すように、θLの他に、検査アルゴリズムパラメータの一部（θ’Dとして記録）も変数値に設定され、再調整される。したがって、いくつかのワークサンプルの撮像画像によってのみ追加学習を実行することができ、別の側面から言えば、照明に最も適した学習器を形成できないという問題は局所的に解決され得る。
【数１３】
2021515885.tif 000015
【数１４】
2021515885.tif 000016
【００９１】
同様に、学習に必要な撮像画像の数を減らすことができ、また、ある程度照明に最適な学習器を形成することができる。
【００９２】
また、図８を参照して説明した検査方法において、ステップＳ８１６の学習中に、検査アルゴリズムの全てのパラメータを再度調整しても良い。このような条件の下で、ステップＳ７１２の学習は、事前学習機能を有する。
【００９３】
図９は、本発明の別の実施形態による検査方法のフローチャートである。図９を参照して説明する検査方法によれば、照明及びイメージングシステムの小さな変化に対するロバスト性が改善され得る。
【００９４】
同一の検査を生産ラインで並行して行うと、照明を含めたイメージングシステム全体と全く同じ複製を製造することは困難である。一般的な条件下では、カメラや照明の取り付け位置のずれ等により、個体差が生じる場合がある。
【００９５】
本発明の方法により算出された最適な照明パラメータを、撮影環境とは異なる複製環境に適用すると、イメージングシステムの個体差により性能が損なわれる場合がある。この問題を回避するために、照明パラメータにノイズを加えた後で、平均化を行う評価関数により、小さな変化に対して安定したパラメータを算出することができる。具体的には、前述の損失関数Ｌは、式（７）で定義された
2021515885.tif 000017
Lεに置き換えられる。これにより、照明パラメータと検査アルゴリズムパラメータを算出する。
【数１５】
2021515885.tif 000018
【００９６】
ここで、
【数１６】
2021515885.tif 000019
に類似した結像条件の指標のセットである。ここで、「類似」は任意であり、例えば、離散化された結像条件内の隣接値、または特定のユークリッド距離を使用して定義することができる。これは、深層学習中の入力画像の「拡張（Ａｕｇｍｅｎｔａｔｉｏｎ）」の概念を照明パラメータに直接適用したものである。
【００９７】
ここで、図９を参照して方法のフローを詳細に説明する。図９に示すように、ステップＳ９０では、ワークを撮像して撮像画像を取得する。このステップはＳ４１０を参照することができる。ステップＳ９２では、撮像画像を学習器１４３１に入力し、さらに照明の変化条件を入力して学習する。ここでいう「照明の変化条件」には、環境の小さな変化が含まれていても良いし、光源やイメージセンサの小さな変化がさらに含まれていても良い。ステップＳ９４では、所定の範囲内の照明パラメータに対する学習器１４３１の損失関数の損失平均を最小化し、最適化された照明パラメータを取得する。ここで、照明パラメータは、損失関数の変数である。
【００９８】
図９を参照して説明した検査方法では、環境への影響を考慮しているため、照明パラメータの小さな変化に対するロバスト性が向上し、検査システム全体の性能が向上する。
【００９９】
図１０は、本発明の別の実施形態による検査方法のフローチャートである。図１０を参照して説明した検査方法によれば、２つの評価関数に基づいて、ワークの変化に対するロバスト性を向上させることができる。
【０１００】
ワークの変化に対する検査性能のロバスト性を確保するために、通常の条件下では、ワークのサンプル画像を追加したり、強化技術を適用してサンプル画像を追加したりする修正が存在する。
【０１０１】
本発明によれば、検査アルゴリズムの正確率（損失値）を直接最大化できるという利点がある。別の側面では、撮像画像を直接視覚的に評価するための基準は含んでいない。照明パラメータが、対象の欠陥を検査するための実際の照明の照明パラメータに変更されたか、または特定のワーク構成に最適化された異常な照明パラメータに変更されたかを区別することはできない。目視で検査画像の良し悪しを評価すると、検査アルゴリズムのパフォーマンスが直接最大化されない場合があるが、評価は人間の感情と経験の先験的知識に基づいて行われるため、ロバスト性を確保するという利点を達成できる。したがって、式（８）に示すように、最適化を行うために、人間ベース（ｈｕｍａｎ−ｂａｓｅｄ）の主観的な能力評価基準（ｓｕｂｊｅｃｔｉｖｅ  ｆａｃｕｌｔｙ  ｅｖａｌｕａｔｉｏｎ  ｒｅｆｅｒｅｎｃｅ）h（u）（例えば、領域内のコントラスト）を損失関数に追加することができる。
【数１７】
2021515885.tif 000020
【０１０２】
ここで、λは、検査アルゴリズムのパフォーマンス（損失値）と能力評価基準に付加する必要がある、１つの重要性を決定するバランスパラメータである。
【０１０３】
ここで、図１０を参照して前記方法のフローを詳細に説明する。図１０に示すように、ステップＳ１００では、ワークを撮像し、撮像画像を取得する。このステップは、Ｓ４１０を参照することができる。ステップＳ１０２では、撮影画像を学習器１４３１に入力し、さらに評価基準を入力して学習する。ここでいう「評価基準」には、人間の感情や経験に関する先験的知識に基づく前述の評価基準を含むことができ、また、画像分析等のための既存の数学的アルゴリズムに基づく評価基準を含むこともできる。ステップＳ１０４では、学習器１４３１の損失関数を最小化して、最適化された検査照明パラメータを取得する。
【０１０４】
この方法を適用する方法として、次のように変形させることができる。例えば、θDを計算した後にｊを算出する簡略化された方法では、各パラメータを算出するステップで、異なるλ値または能力評価基準h(u)を採用する。例えば、正確率（λ＝０）のみに基づいてθDを算出し、θLについては能力評価基準の重みを大きくする（λは相対的に大きな値を設定する）等を採用してもよい。
【０１０５】
図１０を参照して説明した検査方法では、環境への影響を考慮しているため、ワークの違いに対するロバスト性が向上し、検査システム全体の性能が向上する。
【０１０６】
ソフトウェア機能ユニットの形で実装され、独立した製品として販売または使用される場合、対象またはその一部を検査する際の照明条件を設定する装置とシステムは、コンピュータ可読記憶媒体に記憶することができる。この理解に基づいて、本発明が課題を解決するための手段は、本質的に、または従来技術に寄与する部分は、または課題を解決するための手段の全てまたは一部は、ソフトウェア製品の形で実現することができ、コンピュータソフトウェア製品は、本発明の実施形態による方法のステップの全てまたは一部をコンピュータ機器（パソコン、サーバーまたはネットワーク機器等）に実行させるためのいくつかの命令を含む記憶媒体に格納される。前述の記憶媒体には、ＵＳＢディスク、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、リムーバブルハードディスク、磁気ディスク、または光ディスク等のプログラムコードを記憶することができる様々な媒体を含む。さらに、サーバーやクラウドからダウンロードされるデータストリームを含むこともできる。
【０１０７】
以上は、本発明の好ましい実施形態にすぎず、当業者は、本発明の原理から逸脱することなく、いくつかの改善及び修正を行うことができることに留意されたい。これらの改善及び修正は、本発明の保護の範囲内であると見なされるべきである。
【符号の説明】
【０１０８】
１：検査システム
２：ベルトコンベヤー
４：ワーク
６：イメージングビュー
８：上位層ネットワーク
１０：ＰＬＣ
１２：データベース装置
１００：欠陥検査装置
１０２：カメラ
１０４：ディスプレイ
１０６：キーボード
１０８：マウス
１１０：プロセッサ
１１２：メインメモリ
１１４：カメラインターフェース
１１６：入力インターフェース
１１８：ディスプレイインターフェース
１２０：通信インターフェース
１２２：内部バス
１３０：メモリ
１３２：画像処理プログラム
１３４：ＯＳ
１３６：学習器パラメータ
１３８：撮像画像
１４０：照明パラメータ
１４１：撮像部
１４２：設定部
１４３：検査部
１４４：記憶部
１４３１：学習器
【図１】
2021515885.tif 000021
【図２】
2021515885.tif 000022
【図３】
2021515885.tif 000023
【図４】
2021515885.tif 000024
【図５】
2021515885.tif 000025
【図６】
2021515885.tif 000026
【図７】
2021515885.tif 000027
【図８】
2021515885.tif 000028
【図９】
2021515885.tif 000029
【図１０】
2021515885.tif 000030
【手続補正書】
【提出日】令和2年11月4日(2020.11.4)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工業用検出中に照明条件を設定する方法、装置、システム及びプログラム並びに記憶媒体に関する。
【背景技術】
【０００２】
生産現場での製品の外観検査は、人と機械の入れ替えが最も少ない分野の一つであり、今後の人員削減のための自動化は、解決しなければならない重要な技術的課題である。近年、深層学習に代表される人工知能や機械学習技術の発達に伴い、検査自動化技術が飛躍的に向上している。しかしながら、外観検査やマシンビジョン等において、検査システム構築時における最も煩わしいフローは、照明の最適設計を含めたイメージングシステムの設計である。オペレーターが最適な照明設計を手動で行う場合、ワークの個体差に対応するために、対象として決定されたワークを変更し、手動調整ベースでの照明の最適化と検査アルゴリズムの調整を同時に交互に繰り返し実行して、予期される検出パフォーマンスを達成する必要があり、非常に時間がかかるという問題が存在する。さらに、照明がオペレーターによって容易に監視できるように調整されている場合、最適な検査精度が常に達成されるとは限らないという問題も存在する。
【０００３】
これらの問題を解決する従来技術として、撮像画像に基づいて評価基準を算出し、それを最大化／最小化する結像及び照明パラメータを繰り返し算出する方法が存在する（特許文献１）。しかしながら、この方法によれば、現在撮像されている１つのワークの撮像画像に基づいて算出された評価値の最適化を実施することしかできず、複数のワーク間の差異の学習等の機械学習に基づく認識器（ｒｅｃｏｇｎｉｚｅｒ）の最適化を実施できない場合がある。
【０００４】
さらに、多数の組み合わせの結像及び照明パラメータが存在する可能性があり、同時に結像条件及び照明の条件の変更、結像及び最適化を実行すると、相対的に長い時間がかかる場合があるという問題も存在する。
【０００５】
さらに、上記の問題は、生産現場での製品の外観検査中だけでなく、照明を当てた対象の撮像画像を入力として使用でき、機械学習によって様々な判定を行う他の判定装置（例えば、顔識別システム）にも存在する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】ＥＰ２８８７０５５Ａ１
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、前述の問題の少なくとも一部または全てを解決するために採用される。
【課題を解決するための手段】
【０００８】
本発明は、機械学習ベースでの検査アルゴリズムのパラメータが照明の設計パラメータを含むという条件下で検査アルゴリズムのパラメータを最適化する方法を開示する。したがって、使用者は、検査アルゴリズムの損失値（判定条件下での正確率）を最大化する方法で、照明の最適化と検査アルゴリズムの最適化を同時に直接行うことができる。
【０００９】
（１）本発明の一態様によれば、対象を検査する際の照明条件を設定する方法であって、画像を含む学習データを使用することにより生成された機械学習モデルを含む検査モジュールを使用して対象を検査する方法において、対象が撮像される際の照明条件を規定する照明パラメータを変更できる光源によって対象を照明し、複数のそのような照明パラメータでイメージセンサによって対象を撮像し、複数の照明パラメータに対応する複数の撮像画像を取得し、対象は既知のラベルデータを有することと、前記対象の複数の照明パラメータに対応する複数の撮像画像の一部または全て及び対応するラベルデータを機械学習モデルの学習に適用し、機械学習モデルの推定結果と対象のラベルデータの比較結果に基づいて、照明パラメータ及び検査アルゴリズムパラメータの両方を同時に最適化することで、機械学習モデルの照明条件照明条件及び検査アルゴリズムパラメータの両方を同時に設定することを含む、ことを特徴とする方法を開示する。
【００１０】
したがって、機械学習モデルの推定結果と対象のラベルデータの比較結果に基づいて、検査モジュールを用いて対象を検査する際に採用する照明条件を設定し、機械学習モデルの照明パラメータ及び検査アルゴリズムパラメータの最適化を同時に実行でき、操作も簡略化される。
【００１１】
（２）本発明の別の態様によれば、対象を検査する際の照明条件を設定する方法であって、画像を含む学習データを使用することにより生成された機械学習モデルを含む検査モジュールを使用して対象を検査する方法において、対象が撮像される際の照明条件を規定する照明パラメータを変更できる光源によって対象を照明し、複数のそのような照明パラメータでイメージセンサによって対象を撮像し、複数の照明パラメータに対応する複数の撮像画像を取得し、対象は既知のラベルデータを有することと、複数の照明パラメータに対応する複数の撮像画像の一部または全てを、既に学習を実行した機械学習モデルに適用し、機械学習モデルの推定結果と対象のラベルデータとの比較結果に基づいて、所定の照明パラメータの選択のみを最適化して照明条件を設定することを含む、ことを特徴とする方法を開示する。
【００１２】
前述の方法では、最初に検査アルゴリズムパラメータを決定し、次に検査照明パラメータを決定する方法で、機械学習モデルの学習中のシステム演算量を削減し、システム負荷を低減し、照明パラメータの設定操作を簡略化することができる。
【００１３】
（３）前述の方法において、既に学習を実行した機械学習モデルに、複数の照明パラメータに対応する撮像画像の一部または全てを適用する操作は、機械学習モデルの検査アルゴリズムパラメータの一部または全てを更新するために、対象の撮像画像及び対応するラベルデータを含む学習データを機械学習モデルの追加学習に適用し、ラベルデータは対象の検査特徴を表すことと、機械学習モデルの推定結果がラベルデータと一致するように、機械学習モデルの照明パラメータと一部または全ての検査アルゴリズムパラメータの両者の選択を最適化することと、を含む。
【００１４】
この方法により、方法の第２ステップで検査アルゴリズムパラメータ及び検査照明パラメータの一部または全てを同時に最適化するので、機械学習モデルはより良い学習結果を得ることができる。
【００１５】
（４）前述の方法において、照明条件を設定するとき、最適な照明条件を見つけるために既に学習を実行した機械学習モデルに適用される撮像画像の数は、機械学習モデルの学習に適用される撮像画像の数よりも少ない。  
【００１６】
したがって、学習時間を短縮することができる。
【００１７】
（５）前述の方法において、照明パラメータは、光源の発光位置及び発光強度を含む。
【００１８】
したがって、光源の発光位置及び発光強度の両方を変更して、照明パラメータを変更することができる。
【００１９】
（６）前述の方法において、検査モジュールを使用して対象を検査する際の照明条件の設定の操作は、比較結果を表す損失関数を最小化する、損失関数の変数である照明パラメータを選択することを含み、前記選択は、所定の範囲の照明パラメータについて、損失関数の損失平均を最小化する照明パラメータを選択することを含む。
【００２０】
ここで、所定の範囲の照明パラメータを考慮することで、対象を検査する際の環境変化に対するロバスト性を向上させることができる。
【００２１】
（７）本発明の他の態様によれば、前述した各方法に対応し、対象を検査する際の照明条件を設定する様々な装置がさらに開示され、前述した各方法と同じ効果を達成することができる。
【００２２】
（８）本発明の別の態様によれば、対象を検査する際の照明条件を設定するシステムがさらに開示される。システムは、処理部を含んでも良く、前述した任意の方法を実行するように構成することができる。
【００２３】
（９）本発明の別の態様によれば、前述した任意の方法を実行するために実行されるプログラムがさらに開示される。
【００２４】
（１０）本発明の別の態様によれば、前述した任意の方法を実行するために実行されるプログラムが記憶される記憶媒体がさらに開示される。
【００２５】
システム、プログラム、及び記憶媒体も、前述した各方法と同じ効果を達成することができる。
【発明の効果】
【００２６】
本発明の２つの効果を実質的に列挙する。まず、設計時間を短縮し、体系的な設計を得ることができ、パフォーマンスがスタッフのスキルに依存することで表れる個別化されたスキルを回避することができる。次に、性能の観点から、撮像システム全体及び画像処理システム全体の直接の最適化は、例えば、検査アルゴリズムに好適な照明設計や、そのような照明に最も適した検査アルゴリズム等、検査の精度（合格／不合格の製品判定または測定値）の角度のみから実現することができる。
【図面の簡単な説明】
【００２７】
本明細書で説明される図面は、本発明のさらなる理解を提供するために使用され、本発明の一部を構成する。本発明の概略的な実施形態及びその説明は、本発明を説明するために使用され、本発明に対する不適切な限定を構成しない。
【００２８】
【図１】本発明の実施形態に係る検査システムのシステム構成例の概略図である。
【図２】本発明の実施形態に係る欠陥検査装置のハードウェア構成の概略図である。
【図３】は、本発明の実施形態による欠陥検査装置の機能モジュールの概略図である。
【図４】図４の（ａ）と（ｂ）は、それぞれ、本発明の実施形態による照明条件を設定する方法における機械学習モデルの学習段階及び検査段階のフローチャートである。
【図５】は、本発明の実施形態による照明条件を設定する方法のフローチャートである。
【図６】図４及び図５に示す照明条件を設定する方法の概略的なフローチャートである。
【図７】図７の（ａ）と（ｂ）は、それぞれ、本発明の別の実施形態による照明条件を設定する方法における機械学習モデルの学習段階及び検査段階のフローチャートである。
【図８】図８の（ａ）及び（ｂ）は、それぞれ、図７に示す照明条件の設定方法の一変化例における機械学習モデルの学習段階及び検査段階のフローチャートである。
【図９】本発明の別の実施態様による照明条件を設定する方法のフローチャートである。
【図１０】は、本発明の別の実施形態による照明条件を設定する方法のフローチャートである。
【発明を実施するための形態】
【００２９】
当業者が本発明をよりよく理解できるように、本発明の実施形態を、本発明の図面と組み合わせて、以下に明確かつ完全に説明する。明らかに、説明される実施形態は、実施形態の全てではなく、本発明の実施形態の一部にすぎない。本発明の実施形態に基づいて当業者によって創造的な努力なしに得られる他の全ての実施形態は、本発明の保護範囲に含まれるものとする。
【００３０】
本発明では、例えば、採用可能な全ての結像条件で対象を事前に撮像し、所望の設定条件に応じて適切な画像を選択することができる。結像条件が離散化されている限り、制限がないという利点がある。照明パターンに加え、絞りやシャッター速度等を変更することができる。また、連続結像条件の場合は離散化することができる。さらに、ワーク数がＭ、結像条件数がＮの場合、Ｍ×Ｎ枚の画像を取得することができ、ストレージ、サーバー側、またはクラウド側に保存することができる。
【００３１】
本発明では、可変照明パラメータを有する複数の光源によって対象を照明する。照明パラメータは、例えば、光源の発光位置、発光強度及び色度（ｃｈｒｏｍａｔｉｃｉｔｙ）を含んでも良い。照明条件下で、イメージセンサ（例えば、カメラ）により対象を撮像し、撮像画像を取得する。対象の撮像画像、対応する照明パラメータ、及びラベルデータを使用して機械学習モデルを訓練し、機械学習モデルに対象を検査する能力を付与する。撮像画像は、照明パラメータに事前に関連付けることができるので、機械学習モデルを訓練するプロセスにおいて、照明パラメータ及び検査アルゴリズムパラメータを同時に調整することができる。ここで、「検査アルゴリズムパラメータ」とは、機械学習モデルで対象を検査する際の検査アルゴリズムのパラメータを指す。したがって、学習用の撮像画像を取得するために、照明パラメータ及び照明パラメータにより純粋に照明を調整する場合と比較して、本発明の対象を検査する方法では、操作が簡略化され、システム負荷が低減される。
【００３２】
図面を参照し、本発明の実施形態を詳細に説明する。図面中、同一または対応する部分には同一の符号を付し、重複する説明は省略することに留意することが重要である。
【００３３】
まず、本発明の実施形態に係る検査システム１のシステム構成例について説明する。実施形態に係る検査システム１は、被検査対象を撮像して生成した撮像画像に基づいて、被検査対象を検査する。被検査対象は、生産ライン上のワークであっても良い。検査は、例えば、ワークの外観検査または外観測定であっても良い。
【００３４】
図１は、実施形態に係る検査システム１のシステム構成例の概略図である。図１を参照すると、検査システム１は、撮像により取得した入力画像、例えばベルトコンベア２上を搬送される被検査対象、すなわちワーク４に対して画像解析処理を実行し、これにより、ワーク４の外観検査または外観測定を完了する。以下の説明では、画像解析処理の代表例として、ワーク４の表面に欠陥の有無を確認する応用例を説明する。ただし、これらに限定されるものではなく、検査システムは、欠陥の種類の特定や、外観形状の測定などにも適用できる。
【００３５】
ベルトコンベア２の上部には、結像手段としてのカメラ１０２が設けられており、カメラ１０２のイメージングビュー６は、ベルトコンベア２を含む所定の領域を形成する。カメラ１０２の結像により生成された画像データ（以下「入力画像」という）は、欠陥検査装置１００に送信される。カメラ１０２の結像は、周期やイベントに応じて実行される。
【００３６】
欠陥検査装置１００は、学習器を備えても良く、学習器は、畳み込みニューラルネットワーク（ＣＮＮ）エンジンを備えても良い。ＣＮＮエンジンを介して、入力画像に基づき各レベルの特徴検出画像を生成する。生成した１枚または複数枚の特徴検出画像に基づき、対象ワークに欠陥があるか否かを判定する。あるいは、欠陥の大きさ、位置等を検出することもできる。
【００３７】
欠陥検査装置１００は、上位層ネットワーク８を介して、プログラマブルロジックコントローラ（ＰＬＣ）１０、データベース装置１２等と接続されている。欠陥検査装置１００における検出結果は、ＰＬＣ１０及び／またはデータベース装置１２に送信されても良い。ＰＬＣ１０及びデータベース装置１２に加え、任意の装置が上位層ネットワーク８に接続されても良いことに留意することが重要である。
【００３８】
欠陥検査装置１００には、処理状況や検出結果等を表示するディスプレイ１０４や、使用者の操作を受け付ける入力部としてのキーボード１０６やマウス１０８が接続されていても良い。
【００３９】
次に、本発明の実施形態に係る検査システム１に含まれる欠陥検査装置１００のハードウェア構成について説明する。
【００４０】
図２は、実施形態に係る欠陥検査装置１００のハードウェア構成の概略図である。欠陥検査装置１００は、本発明における「対象を検査する際の照明条件を設定するシステム」の一例であってよい。図２を参照すると、一例として、欠陥検査装置１００は、汎用コンピュータアーキテクチャによって形成された汎用コンピュータに従って実現されても良い。欠陥検査装置１００は、プロセッサ１１０、メインメモリ１１２、カメラインターフェース１１４、入力インターフェース１１６、ディスプレイインターフェース１１８、通信インターフェース１２０及びメモリ１３０を含む。通常、これらの部材は内部バス１２２を介して接続され、それによって互いに通信する。
【００４１】
プロセッサ１１０は、メインメモリ１１２のメモリ１３０に格納されたプログラムを実行することにより、以下に説明する機能及び処理を実現する。メインメモリ１１２は不揮発性メモリからなり、プロセッサ１１０のプログラム実行に必要なワーキングメモリの機能を実現する。
【００４２】
カメラインターフェース１１４は、カメラ１０２と接続され、カメラ１０２の結像により得られた入力画像を取得する。カメラインターフェース１１４は、さらに、カメラ１０２に結像タイミングなどを指示しても良い。
【００４３】
入力インターフェース１１６は、キーボード１０６やマウス１０８等の入力部と接続されており、入力部等に対する使用者の操作により表される指示を受け取る。
【００４４】
ディスプレイインターフェース１１８は、ディスプレイ１０４に接続されており、プロセッサ１１０のプログラム実行により生成された各種処理結果をディスプレイ１０４に出力する。
【００４５】
通信インターフェース１２０は、上位層ネットワーク８を介して、ＰＬＣ１０、データベース装置１２等との通信処理を担当する。
【００４６】
画像処理プログラム１３２やオペレーティングシステム（ＯＳ）１３４等のコンピュータが欠陥検査装置１００の機能を実現するためのプログラムは、メモリ１３０に格納される。以下で言及する画像検出処理を実行するように構成された学習器パラメータ１３６、カメラ１０２で取得した入力画像（すなわち、撮像画像１３８）及びワーク４が撮像される際の光源の照明パラメータ１４０を、さらにメモリ１３０に格納しても良い。学習器パラメータ１３６は、例えば、照明パラメータや検査アルゴリズムパラメータ等の機械学習モデルの学習段階及び検査段階に適用される様々なパラメータを含んでも良い。
【００４７】
メモリ１３０に格納された画像処理プログラム１３２は、デジタルバーサタイルディスク（ＤＶＤ）等の光記録媒体や、ユニバーサルシリアルバス（ＵＳＢ）メモリ等の半導体記録媒体を介して欠陥検査装置１００にインストールしても良い。あるいは、画像処理プログラム１３２は、ネットワーク上のサーバ装置などからさらにダウンロードしてもよい。
【００４８】
このような汎用コンピュータでの実装時には、ＯＳ１３４が提供するソフトウェアモジュールのうち、必要なソフトウェアモジュールを所定の順序及び／または機会に応じて呼び出すことにより処理を行い、実施形態に応じた機能の一部を実現する。つまり、実施形態に係る画像処理プログラム１３２は、実施形態に係る機能を実現するためのソフトウェアモジュールを全て備えているわけではなく、ＯＳと連携して必要な機能を提供することができる。
【００４９】
実施の形態に係る画像処理プログラム１３２は、さらに、他のプログラムの一部に組み込まれて提供されてもよい。このような状況下では、画像処理プログラム１３２は、組み合わされる他のプログラムに含まれるモジュールを含まず、他のプログラムと連携して処理を実行する。したがって、実施形態に係る画像処理プログラム１３２は、他のプログラムに組み合わせる方法をさらに採用しても良い。
【００５０】
図２は、汎用コンピュータにより欠陥検査装置１００を実現する例を示している。ただし、これに限定されない。機能の一部または全てを専用回路（例えば、特定用途向け集積回路（ＡＳＩＣ）やフィールドプログラマブルゲートアレイ（ＦＰＧＡ））により実現することもできる。また、ネットワークに接続された外部機器が処理の一部を担うこともできる。
【００５１】
図３は、本発明の実施態様による欠陥検査装置１００の機能モジュールの概略図である。図３に示すように、欠陥検査装置１００は、撮像部１４１と、設定部１４２と、検査部１４３と、記憶部１４４とを含んでも良い。
【００５２】
欠陥検査装置１００の撮像部１４１、設定部１４２及び検査部１４３は、１つまたは複数の汎用プロセッサにより実現されても良い。ただし、これらに限定されるものではない。一部または全ての機能は、専用回路（例えば、特定用途向け集積回路（ＡＳＩＣ）またはフィールドプログラマブルゲートアレイ（ＦＰＧＡ））を介して実現しても良い。また、ネットワークに接続された外部機器がこれらの部分の処理の一部を担うこともできる。
【００５３】
ここで、撮像部１４１は、本発明における「取得部」の一具体例である。別の例として、欠陥検査装置１００は撮像部１４１を備えていなくても良く、ワーク４の撮像画像を外部から受信することもできる。設定部１４２は、本発明における「設定部」の一具体例である。撮像部１４１と設定部１４２との組み合わせが、本発明における「対象を検査する際の照明条件を設定する装置」の一具体例である。
【００５４】
加えて、検査部１４３は、本発明における「検査モジュール」の一具体例である。学習器１４３１は、本発明における「機械学習モデル」の実施形態の具体例であり、検査部１４３は、ワーク４の最終的な検査結果を出力する。例えば、学習器１４３１が画像から抽出された特徴を生成するように構成されたＣＮＮであるという条件下で、検査部１４３は、例えば、学習器１４３１により抽出された特徴に判定基準を適用して最終的な検査結果を生成する判定装置をさらに含んでもよい。
【００５５】
設定部１４２は、複数の照明パラメータ及び対応するラベルデータに対応するワーク４の複数の撮像画像の一部または全てを学習器１４３１の学習に適用し、学習器１４３１の推定結果とワークのラベルデータとの比較結果に基づいて、学習を実行した学習器１４３１により検査部１４３がワーク４を検査する際に用いる照明パラメータを設定する。設定方法の詳細は後述する。
【００５６】
ここでの「ラベルデータ」は、ワーク４の検査特徴を表すように構成されている。例えば、ラベルデータは、ワーク４が合格品か不合格品かを表すデータであっても良いし、ワーク４の外観特徴（例えば、傷やサイズ等）を表すデータであっても良い。ラベルデータの内容は、ワーク４に予想される検査特徴が表される限り、特に限定されない。
【００５７】
検査部１４３は、ベルトコンベア２上のワーク４を検査する。検査部１４３は、学習器１４３１を含んでも良く、これにより訓練された機械学習モデルを通じてワーク４を検査する。
【００５８】
撮像部１４１は、イメージセンサを介してワーク４を撮像する。イメージセンサは、例えば、１つまたは複数のカメラを有するカメラであっても良く、さらに、絞りサイズやシャッター速度等の撮像パラメータは可変である。
【００５９】
記憶部１４４は、欠陥検査装置１００の作業に必要なプログラムやデータを記憶するように構成されている。欠陥検査装置１００は、記憶部１４４を備えていなくても良い。
【００６０】
以下、図４を参照して、本発明の実施態様に係る照明条件の設定方法についてまとめる。図４の（ａ）及び（ｂ）は、それぞれ、本発明の実施形態による照明条件を設定する方法における機械学習モデルの学習段階及び検査段階のフローチャートである。
【００６１】
図４（ａ）に示すように、ステップＳ４１０において、撮像部１４１は、ワークを撮像する。ワークは、異なる照明パラメータを用いた照明の条件下で何度も撮像され、それにより、ワークに関する複数の撮像画像が取得される。これらの撮像画像は、それぞれ一組の照明パラメータに対応し、例えば、各組の照明パラメータは、オンにされる光源及びオンにされる光源の輝度等のパラメータを含んでいても良い。
【００６２】
例えば、ワークを識別するための指標を
【数０１】
2021515885.tif 000031
とし、候補となるＮ個の結像条件（照明パラメータ、カメラパラメータ）の集合を
【数０２】
2021515885.tif 000032
と表す。
これにより、全てのワークが全ての結像条件で撮像され、その画像は記憶部１４４に記憶される。保存されたＭ×Ｎ個の画像を
【数０３】
2021515885.tif 000033
と表す。
【００６３】
ここで、各光源の照明パラメータを変更しても良く、例えば、各光源の発光位置及び／または発光強度を変更して、ワーク４に異なる照明を提供してもよい。さらに、ワーク４は対応するラベルデータを有し、且つラベルデータはワーク４の検査特徴を表すように構成される。例えば、ラベルデータは、ワーク４が良品か不良品かを表すデータであっても良いし、ワーク４の外観特徴（例えば、傷やサイズ）を表すデータであっても良い。ラベルデータの内容は、ワーク４の予期される検査特徴である限り、特に限定されない。
【００６４】
ステップＳ４１２において、学習器１４３１は、これらの撮像画像及び対応するラベルデータに基づいて学習を実行する。各撮像画像には照明パラメータが関連付けられているため、学習により、評価関数を最適化して、最適な照明パラメータ及び検査アルゴリズムパラメータを取得することができる。つまり、検査部１４３が出力する検査結果の正確率を最適化するように最適な照明パラメータ及び検査アルゴリズムパラメータを選択する。ここで、「照明パラメータ」とは、検査部１４３がワークを検査する際に使用する照明パラメータであり、「検査アルゴリズムパラメータ」とは、検査部１４３がワークを検査する際に使用する検査アルゴリズムのパラメータである。
【００６５】
本発明では、検査アルゴリズムは、学習器１４３１により実現される。学習器１４３１の訓練評価基準は、通常、損失値と呼ばれ、合格／不合格の製品判定問題に関する場合、合格／不合格（ＰＡＳＳ／ＦＡＩＬ）の正確率は、交差エントロピー（Ｃｒｏｓｓ  Ｅｎｔｒｏｐｙ）等によって表される。検査内容がワーク４の長さ等の測定の回帰問題である場合、エラー発生分布を多次元正規分布でモデル化し、その対数尤度関数が損失値として用いられる。
【００６６】
通常の条件下では、機械学習ベースの検査アルゴリズムの学習中に、複数の教師データ（ｔｅａｃｈｅｒ  ｄａｔａ）（判定問題の場合は合格／不合格、回帰問題の場合は正確率）及び学習サンプル画像を事前に入力し、損失値を最小化するようにパラメータの最適化を実行する。ここで、損失値は、これらの学習サンプル画像が正確に推定されているかどうかの基準である。
【００６７】
図４の（ｂ）に示すように、ステップＳ４２０では、ステップＳ４１２で取得した最適化された照明パラメータで照明を行い、撮像部１４１がワーク４を撮像して撮像画像を取得する。ステップＳ４２２において、学習器１４３１は、これらの画像により、ワーク４の欠陥を確認する。
【００６８】
図４に示す照明条件の設定方法では、検査照明パラメータ及び検査アルゴリズムパラメータを同時に調整する。つまり、照明パラメータは、調整が必要なアルゴリズムパラメータに同等に追加されるため、労働時間を短縮し、労働者への依存を軽減することができる。また、システム全体の計算負荷を軽減し、検査効率を向上させることができる。
【００６９】
図５は、図４（ａ）の照明条件の設定方法をさらに詳細にした、ステップＳ４１２の後に続く照明条件の設定方法のフローチャートである。図６は、図４及び図５に示される照明条件を設定する方法の概略フローチャートである。
【００７０】
図５を参照すると、ステップＳ５０では、ワーク４の撮像画像及び対応するラベルデータとを含む学習データを学習器１４３１の学習に適用する。ここで、ラベルデータはワーク４の検査特徴を表す。
【００７１】
ステップＳ５２では、学習器１４３１の検査アルゴリズムパラメータを最適化して、学習器１４３１の推定結果をラベルデータと一致させる。
【００７２】
外観検査中における、機械学習ベースの検査アルゴリズムの損失関数は通常L(u,v｜θD)として表記され、ここで、θDは検査アルゴリズムのパラメータベクトルであり、例えば、検査アルゴリズムには、深層学習中の接続線の全ての重みが含まれる。さらに、ｕは撮像画像、ｖは画像のラベルである。通常の条件下では、学習用のデータセットを
【数０４】
2021515885.tif 000034
と表すと、式（１）により最適な学習パラメータ
【数０５】
2021515885.tif 000035
が算出される。
【数０６】
2021515885.tif 000036
【００７３】
そして、Ｍ×Ｎ枚の画像
【数０７】
2021515885.tif 000037
を用いて、下記式（２）により、最適な結像条件及び最適な検査アルゴリズムパラメータを算出することができる。
【数０８】
2021515885.tif 000038
【００７４】
これらの結果から、最適な結像パラメータは
【数０９】
2021515885.tif 000039
であると判定できる。操作段階において、例えば、ステップＳ４２２において、算出した最適な結像パラメータをワークの検査に使用しても良い。
【００７５】
図４における本発明の実施形態による照明パラメータの設定方法及び図５における本発明の実施形態による照明パラメータの設定方法においては、検査照明パラメータ及び検査アルゴリズムパラメータが同時に最適化されるため、労働時間が短縮され得る。また、評価基準の直接最適化は、精度検査（製品の合否判定や測定値）の観点のみから実施できる。さらに、例えば、検査アルゴリズムのための優れた照明設計及びそのような照明に最も適した検査アルゴリズム等の全体としての目的のための撮像システム及び画像処理システムの直接最適化を実現することができる。
【００７６】
さらに、照明条件の設定方法は、結像条件を離散化する方法でありさえすれば良く、また、「照明シミュレータ」等の照明パラメータに基づいて画像を推定する手段を設ける必要もない。
【００７７】
本発明では、事前に全ての離散化された結像条件で各ワークが撮像されるため、撮像される画像の数が多い。さらに、結像条件が多くの独立した条件（照明パラメータ、シャッタースピードや絞り等）で構成されている場合は、組み合わせの数が多く、撮像数はさらに増加する。したがって、本発明の変化例として、複数の類似の結像条件を組み合わせて代表的な条件に置き換えてもよい。特に、ベクトル量子化圧縮により実現可能である。候補となる結像条件は、結像条件間の近接度を定義する関数を適切に定義し、ｋ平均法（Ｋ−Ｍｅａｎｓ）等の任意のクラスタリング技術を用いて決定することができる。
【００７８】
図６に示すように、例えば、学習器１４３１がニューラルネットワークを用いて深層学習を実行する場合、ニューラルネットワークの出力をラベルデータと一致させることにより、検査アルゴリズムパラメータ及び照明パラメータを同時に最適化し、これにより、既に学習を実行し、最適な照明パラメータを有するニューラルネットワークを得ることができる。学習済みの学習器１４３１は、照明パラメータを選択して、ワーク４の試験結果の正確率を向上させることができる。
【００７９】
図７の（ａ）及び（ｂ）は、それぞれ、本発明の別の実施形態による照明条件を設定する方法における機械学習モデルの学習段階及び検査段階のフローチャートである。この方法の原理を最初に以下に説明する。
【００８０】
通常の条件下では、機械学習ベースの検査アルゴリズムの学習には、多数の訓練画像が必要である。この問題は、深層学習等の多数のパラメータを使用する方法で特に顕著であり、この方法ではＭ×Ｎ枚の画像を取得する必要があるという問題がある。Ｍの値が非常に大きい場合、多数の画像を取り込む必要がある。
【００８１】
この問題の解決策として、多数の訓練画像を必要とする検査アルゴリズムに対してのみ、固定の撮影条件で取得した訓練画像から、事前に検査アルゴリズムパラメータを算出することができる。換言すると、ｊ及びθDは、最適解を算出するために同時に変更されず、θDを算出した後に、より少ないワークの結像条件に用いる指標ｊを変更することによって結像条件を算出する。ここで、「結像条件」には、照明条件だけでなく、結像条件等も含まれる。通常の条件下では、照明パラメータの数が比較的小さいため、この方法は妥当と考えられる。
【００８２】
具体的には、
【数１０】
2021515885.tif 000040
の２つのデータセットを用意し、２段階の最適化のために、式（３）と式（４）で最適な照明パラメータを算出する。
【数１１】
2021515885.tif 000041
【数１２】
2021515885.tif 000042
【００８３】
前述した方法では、Ｍ1＞Ｎ2と設定し、学習に必要な撮影画像数をＭ×ＮからＭ1＋Ｍ2×Ｎに減らすことができる。前述の方法では、既存の固定の検査アルゴリズムパラメータも使用し、照明パラメータのみを算出することもできる。
【００８４】
ここで、図７を参照して、その方法のフローを詳細に説明する。図７の（ａ）に示すように、ステップＳ７１０では、固定照明パラメータでＭ１個のワークを撮像し、Ｍ１個の撮像画像を取得する。ステップＳ７１２において、学習器１４３１は、Ｍ１個の撮像画像による学習を実行して、検査アルゴリズムパラメータを最適化する。ステップＳ７１４では、Ｎタイプの照明パラメータのでＭ１ワーク中のＭ２ワークを撮像し、Ｍ２×Ｎ枚の撮像画像を取得する。
【００８５】
ステップＳ７１６では、Ｍ２×Ｎ枚の撮像画像を、既に学習を実行した学習器１４３１に適用し、学習器１４３１の推定結果とラベルデータの比較結果に基づいて、検査部１４３がワーク４を検査する際の照明条件を設定する。一比較例として、例えば、学習器１４３１が、Ｎ個の照明パラメータの下でワーク画像をテスト画像入力として使用して学習を実行した後、ワーク４を検査する際の照明パラメータとして、学習器１４３１の推定結果の正確率が最大となる照明パラメータを選択する。
【００８６】
図７の（ａ）に示す学習段階の後、図７の（ｂ）に示すように、ステップＳ７２０において、検査照明パラメータの下でワークを撮像し、撮像画像を取得する。ステップＳ７２２において、検査部１４３は、撮像画像を解析して、ワークの検出結果を取得する。
【００８７】
図７で説明した検査方法によれば、機械学習モデルの学習時のシステム計算量を削減でき、システム負荷を軽減できる。また、照明パラメータの設定操作を簡略化することができる。
【００８８】
また、任意に、前述の方法では、学習に必要な撮像画像の数も減らすことができる。これにより、労働時間を削減し、パラメータ最適化手順を簡略化することができる。
【００８９】
図７を参照して説明した照明条件の設定方法には、様々な変化例があり得る。以下、図８を参照して、その変化例について詳細に説明する。図８の（ａ）及び（ｂ）は、それぞれ、図７に示す照明条件の設定方法の一変化例における機械学習モデルの学習段階及び検査段階のフローチャートである。図８において、図７と同一または類似のステップには同一または類似の符号を付し、重複する説明は省略する。
【００９０】
ステップＳ８１６の学習時には、式（５）及び式（６）に示すように、θLの他に、検査アルゴリズムパラメータの一部（θ’Dとして記録）も変数値に設定され、再調整される。したがって、いくつかのワークサンプルの撮像画像によってのみ追加学習を実行することができ、別の側面から言えば、照明に最も適した学習器を形成できないという問題は局所的に解決され得る。
【数１３】
2021515885.tif 000043
【数１４】
2021515885.tif 000044
【００９１】
同様に、学習に必要な撮像画像の数を減らすことができ、また、ある程度照明に最適な学習器を形成することができる。
【００９２】
また、図８を参照して説明した検査方法において、ステップＳ８１６の学習中に、検査アルゴリズムの全てのパラメータを再度調整しても良い。このような条件の下で、ステップＳ７１２の学習は、事前学習機能を有する。
【００９３】
図９は、本発明の別の実施形態による検査方法のフローチャートである。図９を参照して説明する検査方法によれば、照明及びイメージングシステムの小さな変化に対するロバスト性が改善され得る。
【００９４】
同一の検査を生産ラインで並行して行うと、照明を含めたイメージングシステム全体と全く同じ複製を製造することは困難である。一般的な条件下では、カメラや照明の取り付け位置のずれ等により、個体差が生じる場合がある。
【００９５】
本発明の方法により算出された最適な照明パラメータを、撮影環境とは異なる複製環境に適用すると、イメージングシステムの個体差により性能が損なわれる場合がある。この問題を回避するために、照明パラメータにノイズを加えた後で、平均化を行う評価関数により、小さな変化に対して安定したパラメータを算出することができる。具体的には、前述の損失関数Ｌは、式（７）で定義されたLεに置き換えられる。これにより、照明パラメータと検査アルゴリズムパラメータを算出する。
【数１５】
2021515885.tif 000045
【００９６】
ここで、
【数１６】
2021515885.tif 000046
に類似した結像条件の指標のセットである。ここで、「類似」は任意であり、例えば、離散化された結像条件内の隣接値、または特定のユークリッド距離を使用して定義することができる。これは、深層学習中の入力画像の「拡張（Ａｕｇｍｅｎｔａｔｉｏｎ）」の概念を照明パラメータに直接適用したものである。
【００９７】
ここで、図９を参照して方法のフローを詳細に説明する。図９に示すように、ステップＳ９０では、ワークを撮像して撮像画像を取得する。このステップはＳ４１０を参照することができる。ステップＳ９２では、撮像画像を学習器１４３１に入力し、さらに照明の変化条件を入力して学習する。ここでいう「照明の変化条件」には、環境の小さな変化が含まれていても良いし、光源やイメージセンサの小さな変化がさらに含まれていても良い。ステップＳ９４では、所定の範囲内の照明パラメータに対する学習器１４３１の損失関数の損失平均を最小化し、最適化された照明パラメータを取得する。ここで、照明パラメータは、損失関数の変数である。
【００９８】
図９を参照して説明した検査方法では、環境への影響を考慮しているため、照明パラメータの小さな変化に対するロバスト性が向上し、検査システム全体の性能が向上する。
【００９９】
図１０は、本発明の別の実施形態による検査方法のフローチャートである。図１０を参照して説明した検査方法によれば、２つの評価関数に基づいて、ワークの変化に対するロバスト性を向上させることができる。
【０１００】
ワークの変化に対する検査性能のロバスト性を確保するために、通常の条件下では、ワークのサンプル画像を追加したり、強化技術を適用してサンプル画像を追加したりする修正が存在する。
【０１０１】
本発明によれば、検査アルゴリズムの正確率（損失値）を直接最大化できるという利点がある。別の側面では、撮像画像を直接視覚的に評価するための基準は含んでいない。照明パラメータが、対象の欠陥を検査するための実際の照明の照明パラメータに変更されたか、または特定のワーク構成に最適化された異常な照明パラメータに変更されたかを区別することはできない。目視で検査画像の良し悪しを評価すると、検査アルゴリズムのパフォーマンスが直接最大化されない場合があるが、評価は人間の感情と経験の先験的知識に基づいて行われるため、ロバスト性を確保するという利点を達成できる。したがって、式（８）に示すように、最適化を行うために、人間ベース（ｈｕｍａｎ−ｂａｓｅｄ）の主観的な能力評価基準（ｓｕｂｊｅｃｔｉｖｅ  ｆａｃｕｌｔｙ  ｅｖａｌｕａｔｉｏｎ  ｒｅｆｅｒｅｎｃｅ）h（u）（例えば、領域内のコントラスト）を損失関数に追加することができる。
【数１７】
2021515885.tif 000047
【０１０２】
ここで、λは、検査アルゴリズムのパフォーマンス（損失値）と能力評価基準に付加する必要がある、１つの重要性を決定するバランスパラメータである。
【０１０３】
ここで、図１０を参照して前記方法のフローを詳細に説明する。図１０に示すように、ステップＳ１００では、ワークを撮像し、撮像画像を取得する。このステップは、Ｓ４１０を参照することができる。ステップＳ１０２では、撮影画像を学習器１４３１に入力し、さらに評価基準を入力して学習する。ここでいう「評価基準」には、人間の感情や経験に関する先験的知識に基づく前述の評価基準を含むことができ、また、画像分析等のための既存の数学的アルゴリズムに基づく評価基準を含むこともできる。ステップＳ１０４では、学習器１４３１の損失関数を最小化して、最適化された検査照明パラメータを取得する。
【０１０４】
この方法を適用する方法として、次のように変形させることができる。例えば、θDを計算した後にｊを算出する簡略化された方法では、各パラメータを算出するステップで、異なるλ値または能力評価基準h(u)を採用する。例えば、正確率（λ＝０）のみに基づいてθDを算出し、θLについては能力評価基準の重みを大きくする（λは相対的に大きな値を設定する）等を採用してもよい。
【０１０５】
図１０を参照して説明した検査方法では、環境への影響を考慮しているため、ワークの違いに対するロバスト性が向上し、検査システム全体の性能が向上する。
【０１０６】
ソフトウェア機能ユニットの形で実装され、独立した製品として販売または使用される場合、対象またはその一部を検査する際の照明条件を設定する装置とシステムは、コンピュータ可読記憶媒体に記憶することができる。この理解に基づいて、本発明が課題を解決するための手段は、本質的に、または従来技術に寄与する部分は、または課題を解決するための手段の全てまたは一部は、ソフトウェア製品の形で実現することができ、コンピュータソフトウェア製品は、本発明の実施形態による方法のステップの全てまたは一部をコンピュータ機器（パソコン、サーバーまたはネットワーク機器等）に実行させるためのいくつかの命令を含む記憶媒体に格納される。前述の記憶媒体には、ＵＳＢディスク、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、リムーバブルハードディスク、磁気ディスク、または光ディスク等のプログラムコードを記憶することができる様々な媒体を含む。さらに、サーバーやクラウドからダウンロードされるデータストリームを含むこともできる。
【０１０７】
以上は、本発明の好ましい実施形態にすぎず、当業者は、本発明の原理から逸脱することなく、いくつかの改善及び修正を行うことができることに留意されたい。これらの改善及び修正は、本発明の保護の範囲内であると見なされるべきである。
【符号の説明】
【０１０８】
１：検査システム
２：ベルトコンベヤー
４：ワーク
６：イメージングビュー
８：上位層ネットワーク
１０：ＰＬＣ
１２：データベース装置
１００：欠陥検査装置
１０２：カメラ
１０４：ディスプレイ
１０６：キーボード
１０８：マウス
１１０：プロセッサ
１１２：メインメモリ
１１４：カメラインターフェース
１１６：入力インターフェース
１１８：ディスプレイインターフェース
１２０：通信インターフェース
１２２：内部バス
１３０：メモリ
１３２：画像処理プログラム
１３４：ＯＳ
１３６：学習器パラメータ
１３８：撮像画像
１４０：照明パラメータ
１４１：撮像部
１４２：設定部
１４３：検査部
１４４：記憶部
１４３１：学習器
【手続補正２】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2021515885.tif 000048
【図２】
2021515885.tif 000049
【図３】
2021515885.tif 000050
【図４】
2021515885.tif 000051
【図５】
2021515885.tif 000052
【図６】
2021515885.tif 000053
【図７】
2021515885.tif 000054
【図８】
2021515885.tif 000055
【図９】
2021515885.tif 000056
【図１０】
2021515885.tif 000057
【国際調査報告】
2021515885.tif 000058
2021515885.tif 000059
2021515885.tif 000060