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