(57)【要約】【課題】対象物の撮影条件の最適化に資することができる撮影方法及び撮影装置を提供する。【解決手段】機械学習モデルを含む検査モジュールで対象物を検査する時の撮影方法であって、既知のラベルデータを有する対象物を照明し、複数の照明パラメータで対象物を撮影して複数の撮影画像を取得することと、撮影画像と照明パラメータとを関連づけて得た画像データセットに基づいて、照明パラメータで照明する時の対象物の推定画像を生成することと、対象物に対して許容される最大撮影枚数を設定することと、最大撮影枚数以下の各枚数について、機械学習モデルによる学習を行い、機械学習モデルによる推定結果と対象物のラベルデータとの比較結果に基づいて、照明パラメータと検査アルゴリズムパラメータとを最適化し、かつ、各枚数の撮影を行った時に期待される検査性能を示す指標を算出してユーザに提示することを含む。【選択図】図４Ａ
2020077326.tif 000002
【特許請求の範囲】
【請求項１】
画像を含む学習データによって生成された機械学習モデルを含む検査モジュールで対象物を検査する時の撮影方法であって、
既知のラベルデータを有する前記対象物を撮影する際の照明パラメータを変更可能な光源で前記対象物を照明し、複数の前記照明パラメータで、イメージセンサによって前記対象物を撮影して複数の撮影画像を取得することと、
前記撮影画像と該撮影画像に対応する前記照明パラメータとを関連づけて得た画像データセットに基づいて、前記照明パラメータで照明する時の前記対象物の推定画像を生成することと、
前記対象物に対して許容される最大撮影枚数を設定することと、
前記最大撮影枚数以下の各枚数について、前記照明パラメータに対応する前記推定画像と前記対象物のラベルデータとを前記機械学習モデルによる学習に用い、該機械学習モデルによる推定結果と前記対象物のラベルデータとの比較結果に基づいて、前記照明パラメータと前記機械学習モデルの検査アルゴリズムパラメータとを最適化し、かつ、当該各枚数の撮影を行った時に期待される検査性能を示す指標を算出してユーザに対して提示することと、を含む撮影方法。
【請求項２】
前記対象物の推定画像を生成することが、
複数種類の対象物に対して対応する複数の前記画像データセットを準備することと、
複数の前記画像データセットに基づいて、前記照明パラメータで照明する時の前記複数種類の対象物のそれぞれに対応する複数の前記推定画像を生成することと、を含む請求項１に記載の撮影方法。
【請求項３】
画像を含む学習データによって生成された機械学習モデルを含む検査モジュールで対象物を検査する時の撮影方法であって、
対応するラベルデータを有する前記対象物を撮影する際の照明パラメータを変更可能な光源で前記対象物を照明し、複数の前記照明パラメータで、イメージセンサによって前記対象物を撮影して複数の撮影画像を取得することと、
前記撮影画像と該撮影画像に対応する前記照明パラメータとを関連づけて得た画像データセットに基づいて、前記照明パラメータで照明する時の前記対象物の推定画像を生成することと、
前記対象物に対して許容される最大撮影枚数を設定することと、
前記最大撮影枚数以下の各枚数について、前記照明パラメータに対応する前記推定画像を学習済みの前記機械学習モデルに用い、該機械学習モデルによる推定結果と前記対象物のラベルデータとの比較結果に基づいて、前記照明パラメータのみを最適化し、かつ、当該各枚数の撮影を行った時に期待される検査性能を示す指標を算出してユーザに対して提示することと、を含む撮影方法。
【請求項４】
前記推定画像を学習済みの前記機械学習モデルに用いることが、
前記推定画像と前記対象物の対応する被検査特徴を表すラベルデータとを含む学習データを前記機械学習モデルによる追加学習に用いて、前記機械学習モデルの検査アルゴリズムパラメータの一部又は全部を更新することと、
前記機械学習モデルの検査アルゴリズムパラメータの一部又は全部と前記照明パラメータを最適化することで、前記機械学習モデルの推定結果と前記ラベルデータとを一致させることと、を含む請求項３に記載の撮影方法。
【請求項５】
前記照明パラメータを最適化することが、
前記比較結果を表すＬｏｓｓ関数を最小化する前記照明パラメータを選択することを含み、前記選択することは、前記Ｌｏｓｓ関数が所定の範囲の前記照明パラメータのＬｏｓｓ平均値について最小化する前記照明パラメータを選択することである、請求項１乃至４の何れかに記載の撮影方法。
【請求項６】
前記対象物の推定画像を生成することが、
前記照明パラメータと前記画像データセットに含まれた前記撮影画像とに基づいて確定される前記撮影画像の重み付きの線形重ね合わせの合計和に基づいて、前記対象物の推定画像を生成することを含む、請求項１乃至５の何れかに記載の撮影方法。
【請求項７】
前記対象物の推定画像を生成することが、
前記画像データセットに基づいて、前記照明パラメータに関する非線形の推定関数によって、前記対象物の推定画像を生成することを含む、請求項１乃至５の何れかに記載の撮影方法。
【請求項８】
前記検査性能を示す指標として複数種類の指標を算出して前記ユーザへ提示する、請求項１乃至７の何れかに記載の撮影方法。
【請求項９】
画像を含む学習データによって生成された機械学習モデルを含む検査モジュールで対象物を検査する時の撮影装置であって、
既知のラベルデータを有する前記対象物を撮影する際の照明パラメータを変更可能な光源で前記対象物を照明し、複数の前記照明パラメータで、イメージセンサによって前記対象物を撮影して複数の撮影画像を取得する取得部と、
前記撮影画像と該撮影画像に対応する前記照明パラメータとを関連づけて得た画像データセットに基づいて、前記照明パラメータで照明する時の前記対象物の推定画像を生成する生成部と、
前記対象物に対して許容される最大撮影枚数を設定する設定部と、
前記最大撮影枚数以下の各枚数について、前記照明パラメータに対応する前記推定画像と前記対象物のラベルデータとを前記機械学習モデルによる学習に用いて、該機械学習モデルによる推定結果と前記対象物のラベルデータとの比較結果に基づいて、前記照明パラメータと前記機械学習モデルの検査アルゴリズムパラメータとを最適化し、かつ、当該各枚数の撮影を行った時に期待される検査性能を示す指標を算出してユーザに対して提示する制御部と、を含む撮影装置。
【請求項１０】
画像を含む学習データによって生成された機械学習モデルを含む検査モジュールで対象物を検査する時の撮影装置であって、
対応するラベルデータを有する前記対象物を撮影する際の照明パラメータを変更可能な光源で前記対象物を照明し、複数の前記照明パラメータで、イメージセンサによって前記対象物を撮影して複数の撮影画像を取得する取得部と、
前記撮影画像と該撮影画像に対応する前記照明パラメータとを関連づけて得た画像データセットに基づいて、前記照明パラメータで照明する時の前記対象物の推定画像を生成する生成部と、
前記対象物に対して許容される最大撮影枚数を設定する設定部と、
前記最大撮影枚数以下の各枚数について、前記照明パラメータに対応する前記推定画像を学習済みの前記機械学習モデルに用い、該機械学習モデルによる推定結果と前記対象物のラベルデータとの比較結果に基づいて、前記照明パラメータのみを最適化し、かつ、当該各枚数の撮影を行った時に期待される検査性能を示す指標を算出してユーザに対して提示する制御部と、を含む撮影装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象物の撮影方法及び撮影装置に関する。
【背景技術】
【０００２】
製造現場における製品の外観検査は、機械による人員の置き換えが最も進んでいない分野の１つであり、将来の労働人口減少に向けて取り組まなければならない重要な自動化の課題である。近年、ディープラーニングに代表される人工知能・機械学習技術の発展によって、検査の自動化技術は飛躍的に向上しつつある。例えば、特許文献１には、撮影された対象物（検査対象）の画像から評価基準を算出し、それを最大化／最小化させる撮像・照明パラメータを反復的に求める手法が報告されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】ＥＰ２８８７０５５Ａ１
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、対象物への照明の当て方によっては欠陥の見え方は変化し、また、多くの照明を同時に当てすぎると、逆に、欠陥が見えなくなってしまうという性質があるため、所望の欠陥を複数種類同時に検出するためには、照明の当て方を変化させて複数回の撮影を行うことが必要な場合がある。このような場合、従来はどのような照明設定で何回撮影すれば所望の欠陥を十分に検出することができるのかは、人手による調整に頼っており、最適設計に多くの時間を必要としていた。一方、必要となる撮影枚数を自動決定させようと考えた場合、撮影枚数は処理時間又は処理速度（タクト）と直結しており、また、異なる観点や指標での評価が可能であるため、どの程度の撮影枚数の増分がシステム設計上許容されるのかまで自動的に判断することが困難であり、処理速度と欠陥の検出率とのバランスをとることが難しかった。また、対象物の外観検査以外でも、例えば顔認識システムといった他の機械学習による判断装置においても、同様の課題が存在していた。
【０００５】
そこで、本開示は、一側面では、かかる事情を鑑みてなされたものであり、対象物の撮影条件の最適化に資することができる撮影方法及び撮影装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、上述した課題を解決するために、以下の構成を採用する。
【０００７】
〔１〕本開示に係る撮影方法の一例は、画像を含む学習データによって生成された機械学習モデルを含む検査モジュールで対象物を検査する時の撮影方法であって、既知のラベルデータを有する前記対象物を撮影する際の照明パラメータを変更可能な光源で前記対象物を照明し、複数の前記照明パラメータで前記対象物を撮影して複数の撮影画像を取得することと、前記撮影画像と該撮影画像に対応する前記照明パラメータとを関連づけて得た画像データセットに基づいて、前記照明パラメータで照明する時の前記対象物の推定画像を生成することと、前記対象物に対して許容される最大撮影枚数を設定することと、前記最大撮影枚数以下の各枚数について、前記照明パラメータに対応する前記推定画像と前記対象物のラベルデータとを前記機械学習モデルによる学習に用い、該機械学習モデルによる推定結果と前記対象物のラベルデータとの比較結果に基づいて、前記照明パラメータと前記機械学習モデルの検査アルゴリズムパラメータとを最適化し、かつ、当該各枚数の撮影を行った時に期待される検査性能を示す指標を算出してユーザに対して提示することを含む。
【０００８】
なお、対象物に対して許容される最大撮影枚数は、例えば、ユーザの指示に基づいて設定してもよいし、所定枚数を予め設定しておいてもよい。また、本開示における「検査アルゴリズムパラメータ」とは、機械学習モデルによって対象物を検査する際に使用する検査アルゴリズムのパラメータを示す。
【０００９】
当該構成では、検査モジュールで対象物を検査する際に用いられる照明パラメータと機械学習モデルの検査アルゴリズムパラメータの最適化を、対象物に対して許容される最大撮影枚数以下の各枚数（すなわち最大撮影枚数をＳｍａｘとすると、撮影枚数としてのショット数Ｓ＝１，２，・・・，Ｓｍａｘ−１、及びＳｍａｘのそれぞれ；但し、Ｓの増分は１に限定されない。）で撮影した場合について実施し、その各枚数の撮影を行った時に期待される検査性能を示す指標を算出してユーザに対して提示する。よって、ユーザは、提示されたそれらの指標を確認し、処理時間や処理速度（タクト）を考慮しつつ所望の撮影枚数を決定し得るので、従来の如く人手による調整に頼らず、撮影条件の最適化を効率的に行うことができる。また、機械学習モデルによる推定結果と対象物のラベルデータとの比較結果に基づいて、検査モジュールで対象物を検査する際に用いられる照明パラメータと機械学習モデルの検査アルゴリズムパラメータの双方を同時に最適化し得るので、撮影条件を含む検査条件の設定作業を簡略化することができる。
【００１０】
〔２〕上記構成において、前記対象物の推定画像を生成することが、複数種類の対象物に対して対応する複数の前記画像データセットを準備することと、複数の前記画像データセットに基づいて、前記照明パラメータで照明する時の前記複数種類の対象物のそれぞれに対応する複数の前記推定画像を生成することを含んでもよい。当該構成では、複数種類の対象物のそれぞれについて予め撮影条件を最適化しておくことができるので、検査用の照明（例えばパターン光）が投影された対象物の検査をより迅速に行うことができる。
【００１１】
〔３〕また、本開示に係る撮影方法の他の一例は、画像を含む学習データによって生成された機械学習モデルを含む検査モジュールで前記対象物を検査する時の撮影方法であって、  対応するラベルデータを有する前記対象物を撮影する際の照明パラメータを変更可能な光源で前記対象物を照明し、複数の前記照明パラメータで前記対象物を撮影して複数の撮影画像を取得することと、前記撮影画像と該撮影画像に対応する前記照明パラメータとを関連づけて得た画像データセットに基づいて、前記照明パラメータで照明する時の前記対象物の推定画像を生成することと、前記対象物に対して許容される最大撮影枚数を設定することと、前記最大撮影枚数以下の各枚数について、前記照明パラメータに対応する前記推定画像を学習済みの前記機械学習モデルに用い、該機械学習モデルによる推定結果と前記対象物のラベルデータとの比較結果に基づいて、前記照明パラメータのみを最適化し、かつ、当該各枚数の撮影を行った時に期待される検査性能を示す指標を算出してユーザに対して提示することを含む。なお、かかる構成においても、対象物に対して許容される最大撮影枚数は、例えば、ユーザの指示に基づいて設定してもよいし、所定枚数を予め設定しておいてもよい。
【００１２】
当該構成でも、検査モジュールで対象物を検査する際に用いられる照明パラメータの最適化を、対象物に対して許容される最大撮影枚数以下の各枚数で撮影した場合について実施し、その各枚数の撮影を行った時に期待される検査性能を示す指標を算出してユーザに対して提示する。よって、ユーザは、提示されたそれらの指標を確認し、処理時間や処理速度（タクト）を考慮しつつ所望の撮影枚数を決定し得るので、従来の如く人手による調整に頼らず、撮影条件の最適化を効率的に行うことができる。また、先に検査アルゴリズムパラメータを確定しておき、それから推定画像で照明パラメータを確定する方式とし得るので、機械学習モデルによる学習中の演算量が減少して演算を行うシステムの負荷が低減され、かつ、照明パラメータの設定操作を簡略化することができる。
【００１３】
〔４〕上記構成において、前記推定画像を学習済みの前記機械学習モデルに用いることが、  前記推定画像と前記対象物の対応する被検査特徴を表すラベルデータとを含む学習データを前記機械学習モデルによる追加学習に用いて、前記機械学習モデルの検査アルゴリズムパラメータの一部又は全部を更新することと、前記機械学習モデルの検査アルゴリズムパラメータの一部又は全部と前記照明パラメータを最適化することで、前記機械学習モデルの推定結果と前記ラベルデータとを一致させることを含んでいてもよい。当該構成では、  上記〔３〕の撮影方法における第２段階として検査アルゴリズムパラメータの一部又は全部と照明パラメータとを同時に最適化し得るので、機械学習モデルが一層良好な学習結果を得ることができる。
【００１４】
〔５〕上記構成において、前記照明パラメータを最適化することが、前記比較結果を表すＬｏｓｓ関数を最小化する前記照明パラメータを選択することを含み、前記選択することは、前記Ｌｏｓｓ関数が所定の範囲の前記照明パラメータのＬｏｓｓ平均値について最小化する前記照明パラメータを選択することであってもよい。当該構成では、所定の範囲の照明パラメータを考慮することで、対象物を検出する際の環境変化に対するロバスト性を高めることができる。
【００１５】
〔６〕上記構成において、前記対象物の推定画像を生成することが、前記照明パラメータと前記画像データセットに含まれた前記撮影画像とに基づいて確定される前記撮影画像の重み付きの線形重ね合わせの合計和に基づいて、前記対象物の推定画像を生成することを含んでもよい。当該構成では、線形照明状況での対象物の推定画像を模倣することができる。
【００１６】
〔７〕上記構成において、前記対象物の推定画像を生成することが、前記画像データセットに基づいて、前記照明パラメータに関する非線形の推定関数によって、前記対象物の推定画像を生成することを含んでもよい。当該構成では、非線形照明での対象物の推定画像を模倣することができ、検査モジュールの一般性（汎用性）を向上させることができる。
【００１７】
〔８〕上記構成において、前記検査性能を示す指標として複数種類の指標を算出して前記ユーザへ提示してもよい。当該構成では、ユーザが撮影条件（撮影枚数）を決定又は選択する際の判断材料が増えるので、撮影条件のより好適な最適化が可能となる。
【００１８】
〔９〕本開示に係る撮影装置の一例は、画像を含む学習データによって生成された機械学習モデルを含む検査モジュールで前記対象物を検査する時の撮影装置であって、既知のラベルデータを有する前記対象物を撮影する際の照明パラメータを変更可能な光源で前記対象物を照明し、複数の前記照明パラメータで前記対象物を撮影して複数の撮影画像を取得する取得部と、前記撮影画像と該撮影画像に対応する前記照明パラメータとを関連づけて得た画像データセットに基づいて、前記照明パラメータで照明する時の前記対象物の推定画像を生成する生成部と、前記対象物に対して許容される最大撮影枚数を設定する設定部と、前記最大撮影枚数以下の各枚数について、前記照明パラメータに対応する前記推定画像と前記対象物のラベルデータとを前記機械学習モデルによる学習に用いて、該機械学習モデルによる推定結果と前記対象物のラベルデータとの比較結果に基づいて、前記照明パラメータと前記機械学習モデルの検査アルゴリズムパラメータとを最適化し、かつ、当該各枚数の撮影を行った時に期待される検査性能を示す指標を算出してユーザに対して提示する制御部を含む。
【００１９】
〔１０〕本開示に係る撮影装置の他の一例は、画像を含む学習データによって生成された機械学習モデルを含む検査モジュールで前記対象物を検査する時の撮影装置であって、  対応するラベルデータを有する前記対象物を撮影する際の照明パラメータを変更可能な光源で前記対象物を照明し、複数の前記照明パラメータで前記対象物を撮影して複数の撮影画像を取得する取得部と、前記撮影画像と該撮影画像に対応する前記照明パラメータとを関連づけて得た画像データセットに基づいて、前記照明パラメータで照明する時の前記対象物の推定画像を生成する生成部と、前記対象物に対して許容される最大撮影枚数を設定する設定部と、前記最大撮影枚数以下の各枚数について、前記照明パラメータに対応する前記推定画像を学習済みの前記機械学習モデルに用い、該機械学習モデルによる推定結果と前記対象物のラベルデータとの比較結果に基づいて、前記照明パラメータのみを最適化し、かつ、当該各枚数の撮影を行った時に期待される検査性能を示す指標を算出してユーザに対して提示する制御部を含む。
【００２０】
なお、本開示において、「部」及び「装置」とは、単に物理的手段を意味するものではなく、その「部」及び「装置」が有する機能をソフトウェアによって実現する構成も含む。また、１つの「部」及び「装置」が有する機能が２つ以上の物理的手段や装置によって実現されてもよく、或いは、２つ以上の「部」及び「装置」の機能が１つの物理的手段や装置によって実現されてもよい。さらに、「部」及び「装置」とは、例えば「手段」及び「システム」と言い換えることも可能な概念である。
【発明の効果】
【００２１】
本開示によれば、対象物に対して許容される最大撮影枚数以下の各枚数で撮影した場合について、検査モジュールで対象物を検査する際に用いられる照明パラメータと機械学習モデルの検査アルゴリズムパラメータの最適化を実施し、その各枚数の撮影を行った時に期待される検査性能を示す指標を算出してユーザに対して提示する。よって、ユーザは、提示されたそれらの指標を確認し、処理時間や処理速度（タクト）を考慮した所望の撮影枚数を決定し得るので、従来の如く人手による調整に頼らず、撮影条件の最適化を効率的に行うことができる。換言すれば、機械学習による判定アルゴリズムの判定性能そのものを直接的に評価した上で、撮影枚数（すなわちタクト）を変化させた場合の検査性能の変化をユーザに対して事前に提示することができる。従って、対象物の欠陥等に関して所望の検出率を達成することとタクトとの間のバランスを最適化する際に、人手に頼った試行錯誤を行うような手間が掛からない。
【００２２】
しかも、そのような最適化のために必要となる撮影枚数と記憶容量を削減することができ、また、照明のリニアリティ等、模倣が困難な撮影条件についても、所定の撮影枚数を確保することにより、最適化を確実に行うことが可能となる。加えて、設計工数の短縮とシステマティックな設計が可能となり、検査性能が人員のスキルに依存してしまう属人化を防ぐことができる。またさらに、検査アルゴリズムにとって良好な照明の設計と、その照明に最適な検査アルゴリズムという、撮像／画像処理システム全体としての直接的な最適化を行うことができる。
【図面の簡単な説明】
【００２３】
【図１】本開示の一実施形態に係る撮影装置の適用場面の一例（システム構成例）を模式的に示す平面図（一部斜視図）である。
【図２】本開示の一実施形態に係る撮影装置に含まれる欠陥検査装置のハードウェア構成を模式的に示す平面図である。
【図３】本開示の一実施形態に係る撮影装置に含まれる欠陥検査装置の機能構成の一例を模式的に示す平面図である。
【図４Ａ】本開示の一実施形態に係る撮影装置における処理手順の一例を示すフローチャートであり、照明条件設定方法における機械学習モデルによる学習段階の処理手順を示すフローチャートである。
【図４Ｂ】本開示の一実施形態に係る撮影装置における処理手順の一例を示すフローチャートであり、照明条件設定方法における機械学習モデルによる検査段階の処理手順を示すフローチャートである。
【図４Ｃ】本開示の一実施形態に係る撮影装置における対象物の撮影枚数（ショット数）に対する検査性能の変化、及び、ユーザによる撮影枚数の入力画面の一例を示す平面図である。
【図４Ｄ】本開示の一実施形態に係る撮影装置における対象物の撮影枚数（ショット数）に対する検査性能の変化、及び、ユーザによる撮影枚数の入力画面の一例を示す平面図である。
【図５】本開示の一実施形態に係る撮影装置における照明条件設定方法の一例を示すフローチャートである。
【図６Ａ】図５におけるステップの一例を示すフローチャートである。
【図６Ｂ】図５におけるステップの一例を示すフローチャートである。
【図７】図５に示す照明条件設定方法のプロセスを模式的に示す平面図である。
【図８】本開示の他の実施形態に係る撮影装置における処理手順の一例を示すフローチャートであり、（ａ）及び（ｂ）は、それぞれ照明条件設定方法における機械学習モデルによる学習段階及び検査段階を示すフローチャートである。
【図９】本開示の他の実施形態に係る撮影装置における処理手順の一例を示すフローチャートであり、（ａ）及び（ｂ）は、それぞれ照明条件設定方法のバリエーションにおける機械学習モデルによる学習段階及び検査段階を示すフローチャートである。
【図１０】本開示の他の実施形態に係る撮影装置における処理手順の一例における照明条件設定方法を示すフローチャートである。
【図１１】本開示の他の実施形態に係る撮影装置における処理手順の一例における照明条件設定方法を示すフローチャートである。
【図１２】（ａ）及び（ｂ）は、本開示の一実施形態に係る撮影装置における照明条件設定方法の照明パターンを説明する図である。
【図１３】線形照明パターンの一例を模式的に示す図である。
【図１４】明るさの線形関数の一例を模式的に示す図である。
【図１５】（ａ）及び（ｂ）は、本開示の一実施形態に係る撮影装置において複数の撮影条件にて撮影された画像から検査結果を得るアルゴリズムを説明するための模式図である。
【発明を実施するための形態】
【００２４】
以下、本開示の一例に係る実施形態について、図面を参照して説明する。但し、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図ではない。すなわち、本開示の一例は、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付しており、図面は模式的なものであって、必ずしも実際の寸法や比率等とは一致しない。さらに、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることがある。また、以下に説明する実施形態は本開示の一部の実施形態であって、全ての実施形態ではないことは言うまでもない。さらに、本開示の実施形態に基づいて、当業者が創造性のある行為を必要とせずに得られる他の実施形態は、いずれも本開示の保護範囲に含まれる。
【００２５】
§１  適用例
本開示においては、照明パラメータが可変である複数の光源で対象物を照明し、適宜の撮像手段（イメージセンサー）によって対象物を撮影して撮影画像を取得する。照明パラメータは、例えば光源の発光位置、発光強度、色度等を含むことができる。そして、得られた撮影画像を加工することによって生成された推定画像を用いて機械学習モデルを訓練し、その結果、機械学習モデルが対象物を検査する能力を具備することになる。その撮影画像又は推定画像を、予め照明パラメータと関連づけておき、機械学習モデルの訓練において、照明パラメータと検査アルゴリズムパラメータとを同時に調整して最適化することができる。そして、かかる最適化を、対象物に対して許容される最大撮影枚数以下の各枚数で撮影した場合（つまり、複数枚の撮影は「マルチショット撮影」といえる）について行い、その各枚数の撮影を行った時に期待される検査性能を示す指標を算出してユーザに対して提示する。ユーザは、提示されたそれらの指標を確認することにより、処理時間や処理速度（タクト）を考慮しつつ所望の撮影枚数を決定することができる。また、照明パラメータのみを調整してから、その照明パラメータで照明して学習用の撮影画像を取得する場合に比して、操作が簡略化され、システムの負荷を低減することができる。
【００２６】
ここでは、まず、図１を用いて、本開示の一例が適用される場面の一例について説明する。図１は、本開示の一実施形態に係る撮影装置の適用場面の一例（システム構成例）を模式的に示す平面図（一部斜視図）である。検査システム１は、被検査対象を撮像することにより生成される撮影画像に基づいて被検査対象の検査を行う。この被検査対象としては、例えばライン上のワークを挙げることができ、ここでの検査としては、例えばワークの外観検査又は外観計測を挙げることができる。
【００２７】
すなわち、検査システム１は、例えば、ベルトコンベア２上を搬送される被検査対象であるワーク４を撮像して得られる入力画像に対して画像分析処理を実行することで、ワーク４の外観検査又は外観計測を実現する。以下においては、画像分析処理の典型例として、ワーク４の表面における欠陥の有無の検査等を応用例として説明するが、これに限らず、例えば欠陥の種類の特定や外観形状の計測等にも応用が可能である。
【００２８】
ベルトコンベア２の上部には、イメージセンサとしてのカメラ１０２が配置されており、カメラ１０２の撮像視野６はベルトコンベア２の所定領域を含むように構成される。カメラ１０２の撮像により生成された画像データ（以下「入力画像」とも称す。）は、欠陥検査装置１００へ送信される。カメラ１０２による撮像は、周期的又はイベント的に実行される。
【００２９】
欠陥検査装置１００は、ＣＮＮ（畳み込みニューラルネットワーク）エンジンを有する学習器を備える。ＣＮＮエンジンを用いて入力画像からクラス毎の特徴検出画像が生成される。生成された単数又は複数の特徴検出画像に基づいて、対象のワークにおける欠陥の有無等が判断され、或いは、欠陥の大きさや位置等を検出することもできる。
【００３０】
欠陥検査装置１００は、上位ネットワーク８を介して、ＰＬＣ（プログラマブルコントローラ）１０及びデータベース装置１２等と接続されている。欠陥検査装置１００における検出結果は、ＰＬＣ１０及び／又はデータベース装置１２へ送信されてもよい。なお、上位ネットワーク８には、ＰＬＣ１０及びデータベース装置１２に加えて、任意の装置が接続されるようにしてもよい。また、欠陥検査装置１００は、処理中の状態や検出結果等を表示するための出力部としてのディスプレイ１０４と、ユーザによる操作を受け付ける入力部としての例えばキーボード１０６及びマウス１０８とが接続されていてもよい。
【００３１】
§２  構成例
［ハードウェア構成］
次に、図２を用いて、本開示の一実施形態に係る撮影装置である検査システム１に含まれる欠陥検査装置１００のハードウェア構成の一例について説明する。図２は、欠陥検査装置１００のハードウェア構成を模式的に示す平面図である。
【００３２】
欠陥検査装置１００は、一例として、汎用的なコンピュータアーキテクチャに従って構成される汎用コンピュータを用いて実現されてもよい。欠陥検査装置１００は、プロセッサ１１０と、メインメモリ１１２と、カメラインターフェイス１１４と、入力インターフェイス１１６と、表示インターフェイス１１８と、通信インターフェイス１２０と、ストレージ１３０とを含む。これらのコンポーネントは、典型的には、内部バス１２２を介して互いに通信可能に接続されている。
【００３３】
プロセッサ１１０は、ストレージ１３０に格納されているプログラムをメインメモリ１１２に展開して実行することで、後述するような機能及び処理を実現する。メインメモリ１１２は、揮発性メモリにより構成され、プロセッサ１１０によるプログラム実行に必要なワークメモリとして機能する。
【００３４】
カメラインターフェイス１１４は、カメラ１０２と接続されて、カメラ１０２にて撮像された入力画像（撮影画像１３８）を取得する。カメラインターフェイス１１４は、カメラ１０２に対して撮像タイミング等を指示するようにしてもよい。
【００３５】
入力インターフェイス１１６は、キーボード１０６及びマウス１０８といった入力部と接続されて、ユーザによる入力部に対する操作等を示す指令を取得する。
【００３６】
表示インターフェイス１１８は、プロセッサ１１０によるプログラムの実行によって生成される各種処理結果をディスプレイ１０４へ出力する。
【００３７】
通信インターフェイス１２０は、上位ネットワーク８を介して、ＰＬＣ１０及びデータベース装置１２等と通信するための処理を担当する。
【００３８】
ストレージ１３０は、画像処理プログラム１３２及びＯＳ（Operating System）１３４等のコンピュータを欠陥検査装置１００として機能させるためのプログラムを格納している。ストレージ１３０は、さらに、後述するような画像検出処理を実現するための学習器パラメータ１３６と、カメラ１０２から取得された入力画像である撮影画像１３８と、撮影画像１３８から得られた計測結果である推定画像１４０とを格納していてもよい。学習器パラメータ１３６は、例えば、各種の機械学習モデルが学習段階と検査段階で使用する照明パラメータや検査アルゴリズムパラメータ等の種々のパラメータを含むことができる。
【００３９】
ストレージ１３０に格納される画像処理プログラム１３２は、ＤＶＤ（Digital Versatile Disc）等の光学記録媒体又はＵＳＢ（Universal Serial Bus）メモリ等の半導体記録媒体等を介して、欠陥検査装置１００にインストールされてもよい。或いは、画像処理プログラム１３２は、ネットワーク上のサーバ装置等からダウンロードするようにしてもよい。
【００４０】
このように汎用コンピュータを用いて実現する場合には、ＯＳ１３４が提供するソフトウェアモジュールのうち、必要なソフトウェアモジュールを所定の順序及び／又はタイミングで呼び出して処理することで、本実施形態に係る機能の一部を実現するものであってもよい。すなわち、本実施形態に係る画像処理プログラム１３２は、本実施形態に係る機能を実現するための全てのソフトウェアモジュールを含んでおらず、ＯＳと協働することで、必要な機能が提供されるようにしてもよい。
【００４１】
画像処理プログラム１３２は、他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、画像処理プログラム１３２自体には、上記のような組み合せられる他のプログラムに含まれるモジュールを含んでおらず、当該他のプログラムと協働して処理が実行される。このように、本実施形態に係る画像処理プログラム１３２は、他のプログラムに組込まれた形態であってもよい。
【００４２】
なお、図２には、汎用コンピュータを用いて欠陥検査装置１００を実現する例を示すが、これに限られることなく、その全部又は一部の機能を専用回路（例えば、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field-Programmable Gate Array）等）を用いて実現してもよい。さらに、一部の処理をネットワーク接続された外部装置に担当させてもよい。
【００４３】
以上のとおり、ハードウェア構成の観点から、検査システム１は、本開示における「撮影装置」の一例に相当する。また、非検査対象であるワーク４は、本開示における「対象物」の一例に相当する。さらに、欠陥検査装置１００は、本開示における「検査モジュール」、「取得部」の一部、「生成部」、「設定部」の一部、及び「制御部」の一例として機能する。また、イメージセンサであるカメラ１０２は、本開示における「取得部」の一部の一例に相当し、キーボード１０６及びマウス１０８といった入力部は、本開示における「設定部」の一部の一例に相当し、ディスプレイ１０４は、本開示における「制御部」の一部の一例に相当する。
【００４４】
［機能構成］
次に、図３を用いて、本開示の一実施形態に係る撮影装置である検査システム１に含まれる欠陥検査装置１００の機能構成の一例を説明する。図３は、欠陥検査装置１００の機能構成（機能モジュール）の一例を模式的に示す平面図である。図３に示すように、欠陥検査装置１００は、画像生成部１４１と、設定／制御部１４２と、検査部１４３と、撮影部１４４と、記憶部１４５とを含むことができる。
【００４５】
欠陥検査装置１００における画像生成部１４１、設定／制御部１４２、及び検査部１４３は、汎用プロセッサによって実現されることができ、本開示においては限定せず、これらの部品の全部又は一部の機能を専用回路（例えば、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field-Programmable Gate Array）等）を用いて実現してもよい。さらに、一部の処理をネットワーク接続された外部装置に担当させてもよい。
【００４６】
画像生成部１４１は、撮影部１４４が撮影して得た入力画像である撮影画像１３８に基づいて、可変である照明パラメータ（異なる予定の照明パラメータ）で照明する場合のワーク４の推定画像１４０を生成する。つまり、その推定画像１４０は実際に撮影して得たものではなく、撮影する時の照明パラメータを模倣して、推定して得た該模倣した照明パラメータで照明して撮像する場合のワーク４の画像である。
【００４７】
設定／制御部１４２は、上記の可変である照明パラメータに対応する推定画像１４０とワーク４の対応するラベルデータとを、検査部１４３の学習器１４３１による学習に用い、学習器１４３１による推定結果とワーク４のラベルデータとの比較結果に基づいて、検査部１４３が学習済みの学習器１４３１でワーク４の検査を行う時に使用する照明パラメータを最適化する。また、設定部１４２は、その最適化を行う際に使用する最大撮影枚数を設定する。さらに、設定部１４２は、設定された最大撮影枚数以下の各枚数について最適化された各照明パラメータでその枚数の撮影を行った時に期待される検査性能を示す指標を算出し、ユーザに対して提示可能に表示する。
【００４８】
なお、ここでの「ラベルデータ」は、ワーク４の被検査特徴を示し、被検査特徴としては、特に制限されず、ワーク４の検査しようとする特徴を表するものであればよく、例えば、ワーク４が合格品であるか不合格品であるかを表すデータ、ワーク４の外観特徴（例えば、スクラッチ、サイズ等）を表すデータ等が挙げられる。
【００４９】
検査部１４３は、上記の学習器１４３１を含み、上述のように訓練済みの機械学習モデルによって、ベルトコンベア２上のワーク４の検査を行うことができる。また、検査部１４３は、ワーク４に関する最終検査結果を出力する。例えば、学習器１４３１が画像から抽出した特徴を生成するＣＮＮ（畳み込みニューラルネットワーク）である場合、検査部１４３は、例えば学習器１４３１が抽出した特徴に判定基準を応用して最終的な検査結果を生成する判定器を含むことができる。
【００５０】
撮影部１４４は、イメージセンサによってワーク４を撮影する。該イメージセンサは、例えば絞りサイズ、シャッタースピード等の撮影パラメータが可変である一つ又は複数の撮影装置であることができる。なお、欠陥検査装置１００は撮影部１４４を含まなくてもよく、撮影部１４４に替えて、外部（装置）からワーク４の撮影画像を受信することもできる。
【００５１】
記憶部１４５は、欠陥検査装置１００の動作に必要なプログラム又はデータを記憶し、例えば、上述したストレージ１３０によって実現される。なお、欠陥検査装置１００は記憶部１４５を含まなくてもよく、記憶部１４５に替えて、外部（装置）のストレージを用いてもよい。
【００５２】
以上のとおり、機能モジュールの観点から、欠陥検査装置１００の撮影部１４４は、本開示における「取得部」の一例に相当し、画像生成部１４１は、本開示における「生成部」の一例に相当し、設定／制御部１４２は、本開示における「設定部」及び「制御部」の一例に相当する。
【００５３】
§３  動作例
以下、図４Ａ及び図４Ｂを参照して、本開示の一実施形態に係る照明条件設定方法を説明する。図４Ａ及び図４Ｂは、それぞれ本開示の一実施形態に係る照明条件設定方法における機械学習モデルによる学習段階及び検査段階の処理手順を示すフローチャートである。なお、以下で説明する処理手順は一例に過ぎず、各処理は、本開示の技術思想の範囲内において可能な限り変更されてよい。また、以下で説明する処理手順は、実施形態や各構成例に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【００５４】
（ステップＳ４１０）
学習段階では、まず、図４Ａに示すように、ステップＳ４１０において、撮影部１４４がワーク４を撮影する。異なる照明パラメータで照明する場合、ワーク４に複数回の撮影を行うことで、ワーク４に関する複数枚の撮影画像を得ることができる。これらの撮影画像はそれぞれ１セットの照明パラメータに対応し、例えば、各セットの照明パラメータはどの光源が点灯されるか、点灯された光源の明るさ等のパラメータを含むことができる。ここでは、例えば、Ｍ個のワーク４のサンプルに対してＮ種類の照明パラメータで撮影を行い、Ｍ×Ｎ枚の撮影画像を取得して出力する。なお、Ｍ×Ｎ枚の数量は、後述する最大撮影枚数Ｓｍａｘよりも大きな値とすることができる。
【００５５】
（ステップＳ４１２）
ステップＳ４１２では、ワーク４の検査を行う際にワーク４の撮影に対して許容される最大撮影枚数Ｓｍａｘを設定する。設定方法としては、特に制限されず、例えば、入力インターフェイス１１６に対してユーザが所望の枚数を入力（ユーザによる直接指定）してもよいし、欠陥検査装置１００の設定／制御部１４２が、ワーク４と同種類のワークに対する過去の検査実績に基づいて、或いは、タクトとの関係から随時適宜の枚数を設定（検査システムによるプリセット）するようにしてもよいし、指定された検出性能の上限を達成する最大ショット数としてもよいし、指定された検出性能の下限を達成する最小ショット数を最大撮影枚数Ｓｍａｘとしてもよい。
【００５６】
（ステップＳ４１４）
ステップＳ４１４では、学習器１４３１がこれらの撮影画像から取得した推定画像を用いて学習を行う。推定画像それぞれが関連づけられた照明パラメータを有するので、該学習を経て、評価関数を最適化することで、最適化された照明パラメータと、最適化された学習器パラメータとしての検査アルゴリズムパラメータを得ることができ、つまり、最適な照明パラメータと検査アルゴリズムパラメータを選択することで、検査部１４３から出力される検査結果の正答率（例えば欠陥の検出率等）が最適化される。ここでは、撮影枚数を１から最大撮影枚数Ｓｍａｘ以まで変化させ（撮影枚数としてのショット数Ｓ＝１，２，・・・，Ｓｍａｘ−１、及びＳｍａｘのそれぞれ；但し、Ｓの増分は１に限定されない。）で撮影した場合のそれぞれについて最適化を実施し、最適な照明パラメータ及び最適な検査アルゴリズムパラメータを出力する。なお、「照明パラメータ」とは検査部１４３がワークの検査を行う時に使用した照明パラメータを指し、「検査アルゴリズムパラメータ」は検査部１４３がワークの検査を行う時に使用する検査アルゴリズムのパラメータを指す。
【００５７】
さらに、スッテプＳ４１４では、ワーク４に対して許容される最大撮影枚数Ｓｍａｘ以下の各ショット数Ｓについて最適化して選択された照明パラメータと検査アルゴリズムパラメータでワーク４を検査した時の性能に関する指標（例えば、欠陥の検出率、欠陥検出の正答率等）を算出して出力する。
【００５８】
（ステップＳ４１６）
そして、ステップＳ４１６において、ワーク４に対する最大撮影枚数Ｓｍａｘ以下の各ショット数Ｓについて、最適化された照明パラメータと検査アルゴリズムパラメータでワーク４を検査した時の性能に関する指標（例えば、欠陥の検出率、欠陥検出の正答率等）を、表示インターフェイス１１８を介してディスプレイ１０４に表示する。また、同時に、ユーザがワーク４の実際の検査における所望の撮影枚数Ｓを入力可能な入力画面を表示する。なお、このステップＳ４１６は、ここでは実施せず、例えば、後記の検査段階におけるステップＳ４２０の前に都度実施してもよい。
【００５９】
（ステップＳ４２０，Ｓ４２２）
それから、検査段階では、図４Ｂに示すように、ステップＳ４２０において、ステップＳ４１６で指定された撮影枚数Ｓ分、ステップＳ４１４で取得した最適化後の照明パラメータでワーク４の照明と撮影を行い、Ｓ枚の撮影画像を取得する。そして、ステップＳ４２２において、学習器１４３１がそれらの撮影画像を用いてワーク４の欠陥を検査し、その推定結果を出力する。
【００６０】
ここで、図４Ｃ及び図４Ｄは、かかるワーク４の撮影枚数（ショット数）に対する検査性能の変化、及び、ユーザによる撮影枚数Ｓの入力画面の一例を示す平面図であり、ステップＳ４１６における表示例である。図４Ｃは、検査性能として欠陥の検出率を用いた例であり、例えばショット数Ｓが２枚以上であると、欠陥の検出率が８０％を超えて安定することがグラフから明らかであり、ユーザはそのグラフに基づいて、実際のワーク４の検査時のショット数を例えば「２」枚と入力することができる。また、図４Ｄは、検査性能として欠陥の見逃し率（誤って欠陥なしと判断され得る率）と見すぎ率（誤って欠陥ありと判断され得る率）を用いた例であり、例えばショット数Ｓが３枚以上であると、欠陥の見逃し率及び見すぎ率がともに５％未満となって安定することがグラフから明らかであり、ユーザはそのグラフに基づいて、実際のワーク４の検査時のショット数を例えば「３」枚と入力することができる。
【００６１】
（ステップＳ４２２）
以下、図５乃至図７を参照して本開示の一実施形態に係る照明条件設定方法の各ステップを詳細に説明する。図５は、図４Ａに示す照明条件設定方法を更に詳細に示すフローチャートである。図６Ａの（ａ）と図６Ｂの（ａ）は、図５におけるステップＳ５４の詳細なプロセス図であり、図６Ａの（ｂ）と図６Ｂの（ｂ）は、図５におけるステップＳ５６の詳細なプロセス図であり、図６Ｂの（ｃ）は、図４Ｂに対応する検査段階を示す図である。図７は、図５に示す照明条件設定方法のプロセスを模式的に示す平面図である。説明の便宜を図るため、以下「照明シミュレータ」の概念を導入する。
【００６２】
本開示において、検査アルゴリズムは学習器１４３１によって実施される。学習器１４３１の訓練の評価基準は一般にＬｏｓｓ値と呼ばれ、良否判定問題であればパス／失敗（ＰＡＳＳ／ＦＡＩＬ）の正答率を交差エントロピー等で表現したものとなる。もし、検査の内容が、ワーク４の長さを計測する等の回帰問題であれば、誤差の発生分布を多次元正規分布等でモデル化し、その対数尤度関数をＬｏｓｓ値として用いる。
【００６３】
一般に、機械学習による検査アルゴリズムの学習では、予め多数の教師データ（判定問題であればパス／失敗、回帰問題であれば正解値）と学習サンプル画像を入力し、それら個々について正確に推定できているかの基準であるＬｏｓｓ値を最小化させるようにパラメータ最適化を行う。
【００６４】
以下に、マルチショット撮影検査における照明と検査アルゴリズムのパラメータの最適化手順を具体的に示す。最初に検査アルゴリズムの定義について述べた後、照明の最適化を可能とするために必要となる「照明シミュレータ」を導入する。
【００６５】
一般に、複数の撮影条件にて撮影（マルチショット撮影）された画像から検査結果を得るアルゴリズムは、（Ａ）並列独立型と（Ｂ）相関活用型に大別される（図１５（ａ）及び（ｂ）参照）。（Ａ）並列独立型とは、撮影画像の入力順序を問わない（決められた順番に決められた撮影条件の画像を入力しなくてもよい）タイプのことであり、照明の違いは、単にワーク４の見え方のバリエーションを増やす目的で用いられる。一方、（Ｂ）相関活用型とは、撮影画像の入力順序を問う（決められた順番に決められた撮影条件の画像を入力する）タイプのことであり、照明の違いによる像の変化が統合されて相関情報として活用されるものである。
【００６６】
ショット毎の撮影条件を変えてＳ回の撮影を行う場合、そのときの照明パラメータ（例えば、強度、位置、入射角等のパラメータの集合）をまとめた照明パラメータベクトルは、以下のとおり表すことができる。
【００６７】
【数１】
2020077326.tif 000003
【００６８】
また、それぞれの撮影における取得画像ベクトルを以下のとおり表し、そのワーク４に対するラベリングをｖとする。
【００６９】
【数２】
2020077326.tif 000004
【００７０】
このとき、これらＳ枚の画像から異常判定を行う検査アルゴリズムのＬｏｓｓ関数を以下のとおり表す。
【００７１】
【数３】
2020077326.tif 000005
【００７２】
（Ｂ）相関活用型においては、引数の画像の順番も意味を持ち、それらを１つの巨大なベクトルとして扱うのと等価となる。具体例を挙げると、画像の各チャネルに各撮影画像を入力してディープラーニングのフレームワークを適用する等が想起される。その場合、Ｌｏｓｓ関数をこれ以上具体的に書き下すことはできない。
【００７３】
一方、（Ａ）並列独立型の場合には、撮影条件は各引数において等価に扱われ、独立な試行回数を増やす意味で用いられるため、場合によっては、各撮影において観測される事象は独立であると仮定して、以下の式（１）で示すようなＬｏｓｓ関数を用いることも考えられる。
【００７４】
【数４】
2020077326.tif 000006
【００７５】
独立な事象の確率分布は積で表現され、その対数尤度関数をＬｏｓｓ関数とした場合には和となるため、上式のような表現となる場合があるが、他にも様々な形態が考えられる。例えば、各画像の学習器による推定（判定）結果のＯＲ／ＡＮＤや多数決をとったりするものであってもよい。（Ｂ）のケースのような相関が学習可能な学習器の構成であったとしても、入力画像の順序を規定の撮影条件と無相関とする（ランダムに並べ替えて入力し学習させる）等すれば、（Ａ）のケースの学習器を実現するとこができる。
【００７６】
ここで、前述したような照明の最適化を実施するためには、多数の学習サンプル画像について、それぞれ照明を所望のとおりに設定した場合の撮影画像がコンピュータ上で再現できている必要がある。そのため、本開示では、照明パラメータベクトルが与えられたとき、その照明で撮像して得られる取得画像を算出する「照明シミュレータ」を導入する。いま、学習用のワーク４のサンプル集合に対応する照明シミュレータの集合を以下のとおり定義する。なお、照明シミュレータの具体的な実装例は後記の「第５変形例」に示されている。
【００７７】
【数５】
2020077326.tif 000007
【００７８】
そして、マルチショット撮影における検査アルゴリズムのＬｏｓｓ関数の引数における撮影画像ｕkを、以下に示すシミュレータ画像で置き換えることによって、下記式（２）で表される関係が得られる。但し、マルチショット撮影における照明パラメータθLは、下記式（３）で表されるＮ×Ｓ行列で表現されているものとする。
【００７９】
【数６】
2020077326.tif 000008
【００８０】
【数７】
2020077326.tif 000009
【００８１】
この照明シミュレータを用いて、Ｓ枚のマルチショット撮影における最適な照明パラメータと異常判定を行う検査アルゴリズムパラメータは、下記式（４）に示すとおり求めることができる。こうして得られた照明パラメータと検査アルゴリズムパラメータを用いてＳ枚のマルチショット撮影における例えば検出率を算出する。
【００８２】
【数８】
2020077326.tif 000010
【００８３】
（ステップＳ５０）
さらに、各ステップでの処理に沿って説明すると、図５に示すステップＳ５０において、撮影部１４４がワーク４を撮影し、該ステップＳ５０は、例えばステップＳ４１０に類似することができる。最適化の準備段階として、全てのワーク４（１≦ｉ≦Ｍ）について、それぞれの照明シミュレータを求めるための撮影画像（１≦ｊ≦Ｎ）を撮影し、それぞれのＳ枚撮影における照明パラメータと検査アルゴリズムパラメータを取得しておく。
【００８４】
ここで、各光源の照明パラメータは変更可能であって、例えば、各光源の発光位置及び／又は発光強度が変化可能であることで、ワーク４が異なる照明を取得することができる。また、ワーク４が、その被検査特徴を表す既知のラベルデータを有しており、例えば、該ラベルデータはワーク４が合格品であるか不合格品であるかを表すデータであることができ、ワーク４の外観特徴（例えば、スクラッチ、サイズ等）を表すデータであることもできる。ラベルデータの内容は限定されず、ワーク４の検査対象である特徴を表するものであればよい。
【００８５】
（ステップＳ５２）
ステップＳ５２において、画像生成部１４１が撮影画像と対応する照明パラメータとを関連つけて画像データセットを得る。該画像データセットは、例えば絞りサイズ、シャッタースピード等の対応する撮影パラメータを含むことができる。該画像データセットは例えば記憶部１４５に記憶されることができる。
【００８６】
（ステップＳ５４）
ステップＳ５４において、画像生成部１４１が画像データセットに基づいて照明パラメータで照明する場合の各ワークの推定画像を生成する。
【００８７】
具体的には、図６Ａの（ａ）と図６Ｂの（ａ）に示すように、ステップＳ５４０において、各ワーク４の照明シミュレータが初期シミュレータパラメータに基づいて、初期推定画像を生成し、画像生成部１４１が該初期推定画像と該ワーク４の撮影画像とを比較する。
【００８８】
ステップＳ５４２において、該差異に基づいて、シミュレータパラメータθSを調整して、最終的に最適化後のシミュレータパラメータを得る。例えば線形モデルの簡単な照明シミュレータの場合、初期シミュレータパラメータが必ず必要なものではない。なお、シミュレータパラメータは照明条件を限定する照明パラメータと異なる。該最適化プロセスを機械学習の方式で完成することができる。また、ステップＳ５４４において、最適化後の照明シミュレータパラメータθSに基づいて、照明シミュレータが可変照明パラメータで照明した推定画像を生成する。
【００８９】
（ステップＳ５６）
図５に戻り、ステップＳ５６において、学習器１４３１が推定画像に基づいて学習して、ワーク４の検査を行う時に使用する照明パラメータを取得する。具体的に、図６Ａの（ｂ）と図６Ｂの（ｂ）を参照することができる。
【００９０】
図６Ａの（ｂ）と図６Ｂの（ｂ）で、ステップＳ５６０において、推定画像が学習器１４３１に入力された学習が行われる。また、ステップＳ５６２において、学習器１４３１が推定画像とワーク４の対応するラベルデータを含む学習データを用いて学習して推定結果を得る。さらに、ステップＳ５６４において、学習器１４３１の検査アルゴリズムパラメータを最適化して、学習器１４３１の推定結果とラベルデータとを一致させる。
【００９１】
図７に示すように、例えば、学習器１４３１がニューラルネットワークを利用してディープラーニングを行う場合、ニューラルネットワークの出力とラベルデータとを一致させることで、検査アルゴリズムパラメータと照明パラメータとを同時に最適化し、最適な照明パラメータを有する学習済みのニューラルネットワークを得ることができる。学習済みの学習器１４３１は照明パラメータを選択することでワーク４の検出結果の正答率を向上させることができる。
【００９２】
なお、図７の破線枠に示す部分は実施が必ずしも必要なものではなく、例えば、照明パターンの違いに応じて、破線枠の部分の処理を実施しない場合もある。この時、様々な照明パラメータで撮影したワーク４の画像と該画像に対応するラベルデータを直接に機械学習に用いることができる。
【００９３】
§４  作用・効果
以上のとおり、本実施形態に係る撮影装置としての検査システム１、及び、それを用いた撮影方法としての検査方法の一例によれば、ワーク４に対して許容される最大撮影枚数Ｓｍａｘ以下の各枚数でマルチショット撮影した場合について、欠陥検査装置１００でワーク４を検査する際に用いられる照明パラメータと機械学習モデルの検査アルゴリズムパラメータの最適化を実施し、その各枚数の撮影を行った時に期待される検査性能を示す指標（例えば、検出率、見逃し率、見すぎ率等）を算出してユーザに対して提示する。よって、ユーザは、提示されたそれらの指標を確認し、処理時間や処理速度（タクト）を考慮した所望の撮影枚数Ｓを決定し得るので、従来の如く人手による調整に頼らず、撮影条件の最適化を効率的に行うことができる。すなわち、機械学習による判定アルゴリズムの判定性能そのものを直接的に評価した上で、撮影枚数（すなわちタクト）を変化させた場合の検査性能の変化をユーザに対して事前に提示することができる。従って、ワーク４の欠陥等に関して所望の検出率を達成することとタクトとの間のバランスを最適化する際に、人手に頼った試行錯誤を行うような手間が掛からない。
【００９４】
また、図５乃至図７に示す本開示の一実施形態に係る照明パラメータ設定方法において、検査照明パラメータと検査アルゴリズムパラメータとを同時に最適化することで、設計工数を短縮し、検査（良否判定や測定値）の正確さという観点のみによる評価基準の直接的な最適化を実現できる。そして、検査アルゴリズムにとって良好な照明の設計と、その照明に最適な検査アルゴリズムという、撮像／画像処理システム全体としての直接的な最適化を行うことができる。さらに、上記照明条件設定方法において、照明シミュレータを導入することで、大量のワーク写真を取得する必要がないので、撮影時間を節約し、工数を節約し、人への依存を減らすことができる。そして、照明パラメータ設定方法において、複数種類のワーク４に対して対応する複数の画像データセットを準備することもできるので、複数の画像データセットに基づいて複数種類の推定画像を生成することができる。これにより、検査部１４３の一般性（汎用性）を高め、各種類のワーク４それぞれについて画像の撮影や照明パラメータの設定等を行う必要がない。
【００９５】
§５  変形例
以上、本開示の一例としての実施形態について詳細に説明してきたが、前述した説明はあらゆる点において本開示の一例を示すに過ぎず、本開示の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもなく、例えば、以下に示すような変更が可能である。なお、以下の説明においては、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、説明を適宜省略した。また、上記実施形態及び以下の各変形例は、適宜組み合わせて構成することが可能である。
【００９６】
＜５．１：第１変形例＞
図８（ａ）及び（ｂ）はそれぞれ本開示の他の実施形態に係る照明条件設定方法中の機械学習モデルによる学習段階及び検査段階を示すフローチャートである。以下、まず該方法の原理を説明する。
【００９７】
一般に、機械学習による検査アルゴリズムの学習には、大量の訓練画像が必要とされる。これは特に、ディープラーニング等大量のパラメータを持つ手法に対しては顕著な問題となる。ここで問題となるのは、前述した手法ではＭ×Ｎ枚の大量の画像の取得が必要となってしまう点である。Ｍの値が大変大きい場合には、手法の実現が大変困難となってしまう問題があった。
【００９８】
これに対する解決策としては、大量の訓練画像が必要である検査アルゴリズムのみ、固定された撮影条件による訓練画像によって予めパラメータを求めておくというものである。つまりは、θLとθDを同時に振って最適解を求めるのではなく、θDを求めておいてから、小数のワークサンプルについての照明シミュレータを用いることによって、θLを求める。これは一般に、照明パラメータの数が少ないと考えられるため妥当な方法といえる。
【００９９】
具体的には、下記式（５）及び式（６）のとおり、データセットを２種類（Ｄ1及びＤ2）用意する。
【０１００】
【数９】
2020077326.tif 000011
【０１０１】
そして、下記式（７）及び式（８）で表すように２段階の最適化を行い、最適な照明パラメータを求める。
【０１０２】
【数１０】
2020077326.tif 000012
【０１０３】
以上において、Ｍ1＞Ｍ2と設定することによって、学習に必要な撮影枚数をＭ×Ｎ枚からＭ1＋Ｍ2×Ｎまで減少させることができる。上記の手法において、検査アルゴリズムパラメータは既存の固定されたものを用いて、照明パラメータのみを求めるものとしてもよい。
【０１０４】
（ステップＳ８１０〜Ｓ８１４）
図８を参照して、該方法のプロセスを詳細に説明する。図８（ａ）に示すように、ステップＳ８１０において、固定された照明パラメータでＭ１個のワークを撮影してＭ１枚の撮影画像を得る。ステップＳ８１２において、学習器１４３１が該Ｍ１枚の撮影画像で学習を行って、検査アルゴリズムパラメータを最適化する。ステップＳ８１４において、Ｎ種類の照明パラメータで、Ｍ１個のワーク中のＭ２個のワークを撮影してＭ2×Ｎ枚の撮影画像を得る。
【０１０５】
（ステップＳ８１６〜Ｓ８１９）
ステップＳ８１６で、ワーク４の検査を行う際にワーク４の撮影に対して許容される最大撮影枚数Ｓｍａｘを設定する。そして、ステップＳ８１８において、Ｍ２×Ｎ枚の撮影画像とこれらの撮影画像に対応する照明パラメータとを関連づけて得た画像データセットに基づいて、照明パラメータで照明する時のワーク４の推定画像を生成する。これらの推定画像を学習済みの学習器１４３１に応用して、学習器１４３１による推定結果とラベルデータとの比較結果に基づいて、検査部１４３がワーク４の検査を行う時に用いる照明条件を設定する。比較用としての一バリエーションにおいて、例えば、Ｎ個の照明パラメータでのワーク画像をテスト画像として学習済みの学習器１４３１に入力した後、学習器１４３１による推定結果の正答率が最高である照明パラメータを選択して、ワーク４の検査を行う時に使用する照明パラメータとする。ここでは、撮影枚数を１から最大撮影枚数Ｓｍａｘ以まで変化させ（撮影枚数としてのショット数Ｓ＝１，２，・・・，Ｓｍａｘ−１、及びＳｍａｘのそれぞれ；但し、Ｓの増分は１に限定されない。）で撮影した場合のそれぞれについて最適化を実施し、最適な照明パラメータを出力する。
【０１０６】
そして、ステップＳ８１９において、ワーク４に対する最大撮影枚数Ｓｍａｘ以下の各ショット数Ｓについて、最適化された照明パラメータと検査アルゴリズムパラメータでワーク４を検査した時の性能に関する指標（例えば、欠陥の検出率、欠陥検出の正答率等）を、表示インターフェイス１１８を介してディスプレイ１０４に表示する。また、同時に、ユーザがワーク４の実際の検査における所望の撮影枚数Ｓを入力可能な入力画面を表示する。なお、このステップＳ８１９は、ここでは実施せず、例えば、後記の検査段階におけるステップＳ８２０の前に都度実施してもよい。
【０１０７】
（ステップＳ８２０）
図８（ａ）に示す学習段階を経て、図８（ｂ）に示すように、ステップＳ８２０において、ステップＳ８１９で指定された撮影枚数Ｓ分、検査照明パラメータでワーク４を撮影して撮影画像を得る。そして、ステップＳ８２２において、学習器１４３１がそれらの撮影画像を用いてワーク４の欠陥を検査し、その推定結果を出力する。
【０１０８】
図８を参照して説明した検査方法によると、機械学習モデルで学習を行う時のシステム演算量を減少し、システムの負荷を低減し、照明パラメータの設定操作を簡略化することができる。そして、上記方法において、学習に必要な撮影枚数を減少させることができるので、工数を減少し、パラメータを最適化するプログラムを簡略化することができる。なお、学習器学習フェーズ、学習器学習及び照明最適化フェーズ、ユーザ提示及び選択フェーズは、順番さえ守られていれば必ずしも同時に行う必要はない。また、学習器は既存のものを利用してもよく、その場合、学習器学習フェーズは存在しない。
【０１０９】
＜５．２：第２変形例＞
図８を参照して説明した照明条件設定方法は様々な変形が可能であって、以下、図９を結合してバリエーションを詳細に説明する。図９（ａ）及び（ｂ）は、それぞれ図８の照明条件設定方法のバリエーションにおける機械学習モデルによる学習段階と検査段階を示すフローチャートである。図９において、図８と同一又は類似するステップについては同一又は類似する符号を表記し、説明を省略する。
【０１１０】
ステップＳ９１８の学習においてθL以外、検査アルゴリズムのパラメータの一部（θ'Dと表記する）も可変値に設定して、下記式（９）及び式（１０）のように再び調整する。これにより、小数のワークサンプルについての照明シミュレータを用いるだけで２段階目の学習の実行が可能となる一方、照明に最適化された学習器が構成できないという欠点を部分的に解決することができる。
【０１１１】
【数１１】
2020077326.tif 000013
【０１１２】
同様に、学習に必要な撮影枚数を減らすことができ、照明に（ある程度は）最適化された学習器が構成できる。また、図９を参照して説明した上記検査方法において、ステップＳ９１８の学習において、検査アルゴリズムの全部を再調整させてもよい。この場合は、ステップＳ８１２の学習はプレトレーニングとして働くことになる。なお、学習器学習フェーズと照明最適化フェーズは、順番さえ守られていれば必ずしも同時に行う必要はない。また、学習器は既存のものを利用してもよく、この場合、学習器学習フェーズは存在しない。
【０１１３】
＜５．３：第３変形例＞
図１０は、本開示の他の実施形態に係る撮影装置における処理手順の一例における照明条件設定方法を示すフローチャートである。図８を参照して説明した検査方法に基づいて、照明・撮像系の微小変動に対するロバスト性を付加することができる。
【０１１４】
ライン上で同様の検査を並列して行いたい場合、照明を含む撮像系の全く同じコピーを作ることは難しく、一般にカメラや照明取り付け位置等のバラツキを受けて個体差が生じてしまう。
【０１１５】
本開示の手法によって求めた最適な照明パラメータを、撮影した環境と違うコピーした環境で用いる場合、撮像系の個体差により性能が大きく損なわれることが起きうる。これを防止するために、照明パラメータに対してノイズを加えて平均化した評価関数を用いることにより、環境の微小変動に対してロバストなパラメータを求めることができる。具体的には、前述のＬｏｓｓ関数Lを以下で定義されるＬεによって置き換えることにより、下記式（１１）のとおり、照明パラメータや検査アルゴリズムのパラメータを求める。
【０１１６】
【数１２】
2020077326.tif 000014
【０１１７】
ここで、εは任意の分布に従うノイズベクトルである。一般に、中心ゼロの多次元正規分布や範囲内での一様分布等を用いる。これは、ディープラーニングにおける入力画像のＡｕｇｍｅｎｔａｔｉｏｎの概念をそのまま照明パラメータに適用したものである。
【０１１８】
ここでは、図１０を参照して該方法のプロセスを詳細に説明する。図１０に示すように、ステップＳ１００において、ワーク４を撮影して撮影画像を得る。該ステップについてはステップＳ４１０，Ｓ５０，Ｓ８１０を参照することができる。ステップＳ１０２において、学習器１４３１に撮影画像から取得した推定画像を入力する以外、照明変動条件を入力して、学習を行う。ここで言う「照明変動条件」は上述した環境の微小変動を含むことができ、光源及びイメージセンサの微小変動を含むこともできる。ステップＳ１０４において、学習器１４３１のＬｏｓｓ関数が所定の範囲の照明パラメータのＬｏｓｓ平均値に対して最小化し、最適化された照明パラメータを得る。ここで、照明パラメータはＬｏｓｓ関数の変数である。
【０１１９】
図１０を参照して説明した検査方法において、環境の影響を考慮したので、照明パラメータの微小変動についてのロバスト性を向上させ、検査システム全体の性能を向上させる。
【０１２０】
＜５．４：第４変形例＞
図１１は、本開示の他の実施形態に係る撮影装置における処理手順の一例における照明条件設定方法を示すフローチャートである。図１１を参照して説明する検査方法によると、二つの評価関数によってワーク変化に対するロバスト性を向上させることができる。
【０１２１】
ワークの変化に対する検査性能のロバスト性を確保するためには、一般にワークのサンプル画像を増やしたりＡｕｇｍｅｎｔａｔｉｏｎを適用してサンプル画像のバリエーションを増やしたりすることが行われる。
【０１２２】
これまでに述べた照明を含む最適化手法では、ワークのサンプル画像を増やすことは照明シミュレータのインスタンス数を増やすことに相当するため、単純にサンプル画像を撮影することと比べて大変手間がかかってしまうという欠点があった。これを簡易的に解決する手法として、評価関数に工夫を加えるという手法が考えられる。
【０１２３】
本開示では、検査アルゴリズムの正答率（Ｌｏｓｓ値）を直接最大化できるという利点がある一方、撮影画像を直接目視評価する基準が全く入っていないため、検査対象となる欠陥を本当に照らし出す照明パラメータとなっているのか、それとも特定のワークの配置にのみに極度に最適化された一般性のない照明パラメータとなってしまっているのか区別がつかないという問題があった。検査画像の人の目視による良し悪しの評価では、検査アルゴリズムの性能を直接最大化することはできないが、人の感と経験に基づいた前提知識に基づいているため、ロバスト性を確保できるという利点がある。そのため、下記式（１２）で示すように、Ｌｏｓｓ関数に人の主観に基づく官能評価基準ｈ（ｕ）（例えば領域内コントラスト等）を加えて最適化することが考えられる。
【０１２４】
【数１３】
2020077326.tif 000015
【０１２５】
ここで、λは検査アルゴリズムの性能（Ｌｏｓｓ値）と官能評価基準のどちらを重視するかのバランスを決めるパラメータである。
【０１２６】
図１１を参照して該方法のプロセスを詳細に説明する。図１１に示すように、ステップＳ１１１０において、ワーク４を撮影して撮影画像を得る。該ステップはステップＳ４１０，Ｓ５０，Ｓ８１０を参照できる。ステップＳ１１１２において、学習器１４３１に撮影画像から取得した推定画像を入力する以外、評価基準を入力して学習を行う。ここで言う「評価基準」は上述した人の感と経験に基づいた前提知識に基づいている評価基準を含むことができ、画像分析に用いられる既存の数学アルゴリズムに基づいている評価基準等を含むことができる。ステップＳ１１１４において、学習器１４３１のＬｏｓｓ関数を最小化することで、最適化された検査照明パラメータを得る。
【０１２７】
該方法を応用した形態として、以下のようなバリエーションがある。例えば、上述したθDを求めておいてからθLを求める簡略化方法において、それぞれのパラメータを求めるステップで、異なるλの値や官能評価基準ｈ（ｕ）を用いても良い。例えば、θDは正答率のみ（λ＝０）から求め、θLは官能評価基準のウェイトを上げる（λを大きな値にする）等のパターンが考えられる。
【０１２８】
図１１を参照して説明した検査方法において、環境の影響を考慮したので、ワークのバラツキに対するロバスト性を上げることができ、検査システム全体の性能を向上させることができる。
【０１２９】
＜５．５：第５変形例＞
以下、照明シミュレータの具体的な構成例を説明する。一般に照明とは、光の遠方解パターン、つまりは平行光の基底で分解した際の強度分布を示す連続関数（角度スペクトルともいう）によって一意に定義される。この連続関数の解像度上限はワーク４の大きさと撮像系の開口によって決定され、小さいワークでは小さな角度分解能は持たないため高い空間周波数を持つ成分を無視できる。しかしながら、それでもなお照明パターンには大量の自由度があり、モデル化するには何らかのパラメトリックモデルが必要となる。
【０１３０】
照明の調整を表現するパラメータベクトルが、具体的な照明条件をどのような拘束条件でパラメトリックな関数として表現しているのかにより、照明モデルは線形モデルと非線形モデルに大別される。線形モデルの方がモデルパラメータの推定は容易であるが、照明の自由度は制限されることになる。
【０１３１】
以下、図１２（ａ）及び（ｂ）並びに図１３及び図１４を参照して本開示の一実施形態に係る検査方法の照明パターンを説明する。図１２（ａ）及び図１３に線形照明パターンの例を示す。線形照明パターンで、画像データセットに含まれた前記照明パラメータに対応する撮影画像の線形の重ね合わせの合計に基づいて、可変照明パラメータで照明する時のワーク４の推定画像を生成することができる。
【０１３２】
図１２（ａ）に三つの光源の場合を示し、光源Ｌ１、光源Ｌ２、光源Ｌ３は異なる発光位置でワーク４を照明する。但し、必要に応じて、光源の数が二つ以上であればよく、例えば以下はＮ個の光源を有する場合を例に説明する。総括すると、線形モデルはそれぞれＮ個の固定された照明の強度を調整するものである。ｉ番目（１≦ｉ≦Ｎ）の照明の強度
をＷiとすると、マルチショット撮影におけるｋ番目の撮影の照明パラメータベクトルは、下記式（１３）のように表現される。これは、上記式（３）で示されるマルチショット撮影のパラメータ行列におけるｋ番目の列ベクトルに相当するが、以降では、マルチショット撮影における１枚の撮影に注目するため、インデックスｋは省略するものとする。
【０１３３】
【数１４】
2020077326.tif 000016
【０１３４】
照明の遠方パターンをΨ（θ，φ）と表現すると、線形モデルでは具体的に下記式（１４）のような表現となる。
【０１３５】
【数１５】
2020077326.tif 000017
【０１３６】
上式において、Ψi（θ，φ）はｉ番目の照明が持つ遠方パターンであり、これはＲＢ
Ｆ（Radial Basis Function）ネットワークと等価なモデルとなる。定義から明らかなように、これはパラメータに対して線形であり、重ね合わせの原理が成り立つ線形システムである。
【０１３７】
この関係は撮影された画像に対しても成立する。例えば、i番目の照明のみを点灯（ｗi＝１）、他を消灯（ｗj＝０，ｊ≠ｉ）として取得された画像をｕjと表記すると、照明パラメータに対する推定画像は下記式（１５）によって求めることができる。
【０１３８】
【数１６】
2020077326.tif 000018
【０１３９】
ここで、Ａは通常は縦長の行列である。実際の環境では、光の強度によって光源の指向性が変わってしまう等の非線形の現象も考えられるが、それらは無視できるほど小さいものであると仮定する。また、画素飽和によってリニアリティが成立しないため、非線形のリニアリティ関数ｇ（ｘ）を適用し、一般には、下記式（１６）のようなモデルとなる。ただし、ｇ（ｘ）はベクトルの各要素に対する演算であるとする。明るさの線形関数のバリエーションとして、例えば図１４に示すものがある。
【０１４０】
【数１７】
2020077326.tif 000019
【０１４１】
この場合、照明シミュレータのパラメータは行列Ａとなり、Ａを推定する（＝学習させる）ことは、線形システムを同定する問題となり、１次独立な任意の基底を用いてＮ回の測定を行うことにより容易に実現できる。具体的に、測定時におけるそれぞれの照明の明るさがリニアリティの成立する範囲内であったと仮定し、測定の際に用いるＮ個の基底ベクトルを以下のように表す。
【０１４２】
【数１８】
2020077326.tif 000020
【０１４３】
この場合、下記式（１７）及び式（１８）で表される関係が成り立つ。
【０１４４】
【数１９】
2020077326.tif 000021
【０１４５】
ここで、ｎjは撮影時にＣＭＯＳセンサで生じる加法的なノイズであり、通常は正規分布としその分散は撮像系のＳＮ比によって定まる。この関係式からＡを求めるにはＢＬＵＥ（Ｂｅｓｔ  Ｌｉｎｅａｒ  Ｕｎｂｉａｓｅｄ  Ｅｓｔｉｍａｔｅ）であるＭＬ（Ｍａｘｉｍｕｍ  Ｌｉｋｅｌｉｈｏｏｄ；最尤）推定、ＡとＮが両者とも既知のガウス分布に従う条件化におけるＭＭＳＥ（Ｍｉｎｉｍｕｍ  Ｍｅａｎ  Ｓｑｕａｒｅ  Ｅｒｒｏｒ）推定等さまざまな方法が存在するが、一般にこの状況においてＡの統計的性質は未知であるために、以下ではＭＬ推定を用いる。Ａの推定量は、下記式（１９）によって求めることができる。
【０１４６】
【数２０】
2020077326.tif 000022
【０１４７】
このときの推定誤差量は、下記式（２０）で表される。
【０１４８】
【数２１】
2020077326.tif 000023
【０１４９】
ここで、σはノイズの標準偏差、λはＸの特異値、Ｐは画像のピクセル数である。ＨＳとは、行列に対するＨｉｌｂｅｒｔ−Ｓｃｈｍｉｄｔ内積やノルムを示す。上式から明らかなように、推定誤差の総量は、Ｘの特異値が大きいほど小さくなるが、これは単純に系のＳＮを上げることに相当する。Ｘの特異値の合計が決まっている（信号パワーの総計が決まっている）場合には、λは全て同じ値であることが最も推定誤差が小さくなることが知られており、これは観測する際の照明パラメータベクトルとしては、正規直行基底を用いるのが最も効率がよいことを示している。以下では、これまでの議論をふまえて、３つの代表的な照明モデルの測定パターンを示す。
【０１５０】
（１）標準基底
最も単純なパターンである、標準基底を用いた場合、測定時の照明パターンは下記式（２１）のように表現される。
【０１５１】
【数２２】
2020077326.tif 000024
【０１５２】
これは正規直行基底となっているため、上述した議論した意味においては最良な推定を与えるが、画面内光量が不均一となりノイズや暗電流の影響を大きく受ける可能性がある。
【０１５３】
（２）線形独立＆条件
測定用の照明パラメータについて、線形独立した各種のパターンを考えられる。そのため、何らかの条件を加えた下で条件を満たすものを選ぶことができる。例えば、指定範囲内の明るさが一定値を下回らない等の条件を課して基底を求める。これまでの議論と同様に、正規直行基底となっている場合が最も性能が良いが、明るさとしてマイナスの値をとることができないという制約事項のもとで求めることになるため、一般に直行や正規直行とさせることは難しい。
【０１５４】
（３）冗長な基底
測定のための基底の数は必ずしも照明の数Ｎと等しい必要はなく、Ｎより大きい値としても良い。Ｎより大きくすることのメリットは、ＳＮ比を大きくすることができ、より正確な推定ができることである。この場合にはＸの逆行列は存在しないため、代わりに下記式（１５）のように推定を行う。
【０１５５】
【数２３】
2020077326.tif 000025
【０１５６】
ここで、Ｘ+はＸのＭｏｏｒｅ−Ｐｅｎｒｏｓｅ一般逆行列である。この場合においても同様に、推定の性能を最良とするためには、Ｘの特異値の２乗がそれぞれ同じ値になることが望ましい。これを実現するためには、ＰＯＢ（Pseudo Orthogonal Bases）が最良であることが知られている。例えば、Masashi Sugiyama and Hidemitsu Ogawa, "Pseudo Orthogonal Bases Give the Optimal Generalization Capability in Neural Network Learning"（http://www.ms.k.u-tokyo.ac.jp/1999/SPIE99.pdf, 1999）を参照できる。これまでの議論と同様に、他の条件を課して基底を求めてもよい。
【０１５７】
以上、図１２（ａ）を参照して線形照明パターンの例を説明し、以下、図１２（ｂ）を参照して非線形照明パターンの例を説明する。非線形照明パターンで、画像データセットに基づいて、照明パラメータに関する非線形の推定関数を用いて、可変照明パラメータで照明する時のワーク４の推定画像を生成することができる。
【０１５８】
図１２（ｂ）に光源が一つである場合を示し、光源Ｌ４は異なる発光位置でワーク４を照明する。但し、必要に応じて、光源の数が二つ以上であることもでき、例えば以下はＮ個の光源を有する場合を例に説明する。
【０１５９】
非線形モデルは、上述した線形モデルに当てはまらないもの全体を取り扱う。単純な例を挙げると、入射角と明るさが調節可能なＮ個の照明を用いる場合であり、光量をｗi、入射角を（θi，φi）と表記すると、パラメータベクトルは下記式（２３）のように表現することができる。
【０１６０】
【数２４】
2020077326.tif 000026
【０１６１】
このときの遠方パターンは下記式（２４）のようになり、パラメータベクトルに関して線形とはならない。
【０１６２】
【数２５】
2020077326.tif 000027
【０１６３】
この場合において一般的な数学的モデルを定義することは難しいが、例えば近年提案されているディープラーニングを用いた画像生成の手法である、ＧＡＮ（Generative Adversarial Network）系、ＡＥ（Auto Encoder）系等の任意の画像生成のモデルを用いることができる。但し、一般に学習のために必要な撮影数は線形モデルの場合と比べて多くなると考えられ、学習させる難易度が高い。しかしながら、非線形モデルは非常に自由度が高い表現であるため、最適な照明を見つけるという意味での探索空間は非常に広くなる。
【０１６４】
以下、特定の限定された条件の下で利用できる簡易化されたモデルの具体例を示す。ディフューズ散乱光のみをモデル化する状況を考え、Ｌａｍｂｅｒｔモデルに従うと仮定すると、任意の照明は３つの基底関数の線形結合で表現することが可能となる。このモデルは線形のように見えるが、パラメトリックな照明条件から基底の混合係数を求める過程が非線形であるため、非線形照明シミュレータに属する。具体的にモデルは下記式（２５）〜式（２８）のように定義できる。
【０１６５】
【数２６】
2020077326.tif 000028
【０１６６】
ここで、ＢはＰ×３行列（Ｐは画像のピクセル数）、Ｃは３×Ｑ行列、ｄ（θL）は照明パラメータに関して非線形なＱ次元コラムベクトルである。
【０１６７】
【数２７】
2020077326.tif 000029
【０１６８】
は任意の球面上のサンプリング点列であり、ＨＥＡＬＰｉｘ等球面上でなるべく等間隔になるようにする。サンプリング点数Ｑは、照明パラメータとして設定できる立体角範囲を十分な解像度でカバーできるように設定する。ｌqは、以下の球面座標；
【０１６９】
【数２８】
2020077326.tif 000030
【０１７０】
からワークへ光が入射する際の光源方向ベクトルである。この式の数学的な意味は、照明パラメータを一旦非線形写像ｄによってＱ次元の高次元空間へ写像し、その空間上から線形写像によって画素の輝度値を算出するものであるが、直感的には以下の意味となる。
【０１７１】
まず、入力された照明パラメータから、各照明が標準偏差σのガウス分布の角度広がりを持つと仮定して、入射角について離散化され、球面サンプリングの各点上の値として表現される。次に、各サンプリング点（に対応する入射角）における、Ｌａｍｂｅｒｔモデルの３つの基底関数の混合係数（照明の方向ベクトル）が行列Ｃによって求められ、行列Ｂが示す基底関数を混合する。最後にリニアリティ関数gが適用される。行列Ｂはワーク依存の行列であるため、少なくとも３回照明パラメータを変えて測定した撮影画像セットより行列Ｂを推定する。行列Ｃをキャリブレーションして求める等してもよい。
【０１７２】
§６  付記
以上説明した実施形態及び変形例は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態及び変形例が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態及び変形例で示した構成同士を部分的に置換し又は組み合わせることも可能である。
【０１７３】
すなわち、図１に示す検査システムで本開示の内容を説明したが、本開示の原理を他の各種の照明条件を設定して画像を撮影する必要のある場合に応用することができる。例えば、顔を対象物として、顔を照明して画像を撮影し、撮影した画像を入力として機械学習によって顔を識別する顔認識システムにおいても本開示の原理を応用できる。
【０１７４】
顔認識システムの場合、照明パラメータを変更可能な光源で顔面を照明し、また撮影装置で顔面を各種の照明条件で撮影画像を撮影し、ここで、顔面に既知のラベルデータを与え、ラベルデータは例えば該人物の氏名であることができる。次に、上記「照明シミュレータ」に基づいて、顔面の推定画像を生成することができる。また、これらの推定画像と顔面のラベルデータを顔認識システムの機械学習モデルによる学習に用いて、該機械学習モデルによる推定結果と顔面のラベルデータとの比較結果に基づいて、照明パラメータと機械学習モデルの検査アルゴリズムパラメータとを同時に最適化することで、照明条件と検査アルゴリズムパラメータとを設定することができる。ここで、検査アルゴリズムパラメータとは該機械学習モデルを顔識別に応用する時に使用するアルゴリズムパラメータを指す。
【０１７５】
また、上述した対象物の検査を行う時の照明条件を設定する装置、システム又はその一部をソフトウェア機能ユニットの形態で実現して単独の製品として販売したり使用したりする場合、コンピュータが読み取り可能な記憶媒体に記憶することができる。これにより、本発明の技術案の本質又は既存技術に貢献のある部分あるいは該技術案の全部又は一部をソフトウェア製品の形態で実現して、コンピュータ機器（パーソナルコンピュータ、サーバ又は、ネットワーク機器等であることができる）に本発明の各実施例に記載の方法のステップの中の全部又は一部を実現させる命令を含むそのコンピューターソフトウェア製品を、記憶媒体に記憶することができる。上述した記憶媒体は、ＵＳＢ、読み出し専用メモリ（ＲＯＭ：Read-Only Memory）、ランダムアクセスメモリ（ＲＡＭ：Random Access Memory）、モバイルハードディスク、フロッピーディスク又は光ディスク等のプログラムコードを記憶できるさまざまな媒体である。
【０１７６】
さらに、検査性能を示す指標としては、前述のものの他、例えば、適合率、再現率、Ｆ値、ＲＯＣ（Receiver Operating Characteristic）曲線の面積、正しくPositiveと判定された数（ＴＰ：True Positive）、誤ってPositiveと判定された数（ＦＰ：False Positive）、誤ってNegativeと判断された数（ＦＮ：False Negative）、正しくNegativeと判断された数（ＴＮ：True Negative）等が挙げられる。
【０１７７】
（付記１）
画像を含む学習データによって生成された機械学習モデルを含む検査モジュール（１００）で対象物（４）を検査する時の撮影方法であって、
既知のラベルデータを有する前記対象物（４）を撮影する際の照明パラメータを変更可能な光源（Ｌ）で前記対象物（４）を照明し、複数の前記照明パラメータで、イメージセンサー（１０２）によって前記対象物（４）を撮影して複数の撮影画像を取得することと、
前記撮影画像と該撮影画像に対応する前記照明パラメータとを関連づけて得た画像データセットに基づいて、前記照明パラメータで照明する時の前記対象物（４）の推定画像を生成することと、
前記対象物（４）に対して許容される最大撮影枚数を設定することと、
前記最大撮影枚数以下の各枚数について、前記照明パラメータに対応する前記推定画像と前記対象物（４）のラベルデータとを前記機械学習モデルによる学習に用い、該機械学習モデルによる推定結果と前記対象物（４）のラベルデータとの比較結果に基づいて、前記照明パラメータと前記機械学習モデルの検査アルゴリズムパラメータとを最適化し、かつ、当該各枚数の撮影を行った時に期待される検査性能を示す指標を算出してユーザに対して提示することと、を含む撮影方法。
【０１７８】
（付記２）
前記対象物（４）の推定画像を生成することが、
複数種類の対象物（４）に対して対応する複数の前記画像データセットを準備することと、
複数の前記画像データセットに基づいて、前記照明パラメータで照明する時の前記複数種類の対象物のそれぞれに対応する複数の前記推定画像を生成することと、を含む請求項１に記載の撮影方法。
【０１７９】
（付記３）
画像を含む学習データによって生成された機械学習モデルを含む検査モジュール（１００）で対象物（４）を検査する時の撮影方法であって、
対応するラベルデータを有する前記対象物を撮影する際の照明パラメータを変更可能な光源（Ｌ）で前記対象物（４）を照明し、複数の前記照明パラメータで、イメージセンサによって前記対象物（４）を撮影して複数の撮影画像を取得することと、
前記撮影画像と該撮影画像に対応する前記照明パラメータとを関連づけて得た画像データセットに基づいて、前記照明パラメータで照明する時の前記対象物（４）の推定画像を生成することと、
前記対象物（４）に対して許容される最大撮影枚数を設定することと、
前記最大撮影枚数以下の各枚数について、前記照明パラメータに対応する前記推定画像を学習済みの前記機械学習モデルに用い、該機械学習モデルによる推定結果と前記対象物（４）のラベルデータとの比較結果に基づいて、前記照明パラメータのみを最適化し、かつ、当該各枚数の撮影を行った時に期待される検査性能を示す指標を算出してユーザに対して提示することと、を含む撮影方法。
【０１８０】
（付記４）
前記推定画像を学習済みの前記機械学習モデルに用いることが、
前記推定画像と前記対象物（４）の対応する被検査特徴を表すラベルデータとを含む学習データを前記機械学習モデルによる追加学習に用いて、前記機械学習モデルの検査アルゴリズムパラメータの一部又は全部を更新することと、
前記機械学習モデルの検査アルゴリズムパラメータの一部又は全部と前記照明パラメータを最適化することで、前記機械学習モデルの推定結果と前記ラベルデータとを一致させることと、を含む請求項３に記載の撮影方法。
【０１８１】
（付記５）
前記照明パラメータを最適化することが、
前記比較結果を表すＬｏｓｓ関数を最小化する前記照明パラメータを選択することを含み、前記選択することは、前記Ｌｏｓｓ関数が所定の範囲の前記照明パラメータのＬｏｓｓ平均値について最小化する前記照明パラメータを選択することである、請求項１乃至４の何れかに記載の撮影方法。
【０１８２】
（付記６）
前記対象物（４）の推定画像を生成することが、
前記照明パラメータと前記画像データセットに含まれた前記撮影画像とに基づいて確定される前記撮影画像の重み付きの線形重ね合わせの合計和に基づいて、前記対象物の推定画像を生成することを含む、請求項１乃至５の何れかに記載の撮影方法。
【０１８３】
（付記７）
前記対象物（４）の推定画像を生成することが、
前記画像データセットに基づいて、前記照明パラメータに関する非線形の推定関数によって、前記対象物（４）の推定画像を生成することを含む、請求項１乃至５の何れかに記載の撮影方法。
【０１８４】
（付記８）
前記検査性能を示す指標として複数種類の指標を算出して前記ユーザへ提示する、請求項１乃至７の何れかに記載の撮影方法。
【０１８５】
（付記９）
画像を含む学習データによって生成された機械学習モデルを含む検査モジュール（１００）で前記対象物（４）を検査する時の撮影装置（１）であって、
既知のラベルデータを有する前記対象物（４）を撮影する際の照明パラメータを変更可能な光源（Ｌ）で前記対象物（４）を照明し、複数の前記照明パラメータで、イメージセンサー（１０２）によって前記対象物（４）を撮影して複数の撮影画像を取得する取得部と、
前記撮影画像と該撮影画像に対応する前記照明パラメータとを関連づけて得た画像データセットに基づいて、前記照明パラメータで照明する時の前記対象物（４）の推定画像を生成する生成部と、
前記対象物（４）に対して許容される最大撮影枚数を設定する設定部と、
前記最大撮影枚数以下の各枚数について、前記照明パラメータに対応する前記推定画像と前記対象物のラベルデータとを前記機械学習モデルによる学習に用いて、該機械学習モデルによる推定結果と前記対象物（４）のラベルデータとの比較結果に基づいて、前記照明パラメータと前記機械学習モデルの検査アルゴリズムパラメータとを最適化し、かつ、当該各枚数の撮影を行った時に期待される検査性能を示す指標を算出してユーザに対して提示する制御部と、を含む撮影装置（１）。
【０１８６】
（付記１０）
画像を含む学習データによって生成された機械学習モデルを含む検査モジュール（１００）で前記対象物（４）を検査する時の撮影装置（１）であって、
対応するラベルデータを有する前記対象物（４）を撮影する際の照明パラメータを変更可能な光源（Ｌ）で前記対象物（４）を照明し、複数の前記照明パラメータで、イメージセンサー（１０２）によって前記対象物（４）を撮影して複数の撮影画像を取得する取得部と、
前記撮影画像と該撮影画像に対応する前記照明パラメータとを関連づけて得た画像データセットに基づいて、前記照明パラメータで照明する時の前記対象物（４）の推定画像を生成する生成部と、
前記対象物（４）に対して許容される最大撮影枚数を設定する設定部と、
前記最大撮影枚数以下の各枚数について、前記照明パラメータに対応する前記推定画像を学習済みの前記機械学習モデルに用い、該機械学習モデルによる推定結果と前記対象物（４）のラベルデータとの比較結果に基づいて、前記照明パラメータのみを最適化し、かつ、当該各枚数の撮影を行った時に期待される検査性能を示す指標を算出してユーザに対して提示する制御部と、を含む撮影装置（１）。
【符号の説明】
【０１８７】
１…検査システム、２…ベルトコンベア、４…ワーク、６…撮像視野、８…上位ネットワーク、１２…データベース装置、１００…欠陥検査装置、１０２…カメラ、１０４…ディスプレイ、１０６…キーボード、１０８…マウス、１１０…プロセッサ、１１２…メインメモリ、１１４…カメラインターフェイス、１１６…入力インターフェイス、１１８…表示インターフェイス、１２０…通信インターフェイス、１２２…内部バス、１３０…ストレージ、１３２…画像処理プログラム、１３６…学習器パラメータ、１３８…撮影画像、１４０…推定画像、１４１…画像生成部、１４２…設定部、１４２…制御部、１４３…検査部、１４４…撮影部、１４５…記憶部、１４３１…学習器、Ｌ１〜Ｌ４…光源。
【図１】
2020077326.tif 000031
【図２】
2020077326.tif 000032
【図３】
2020077326.tif 000033
【図４Ａ】
2020077326.tif 000034
【図４Ｂ】
2020077326.tif 000035
【図４Ｃ】
2020077326.tif 000036
【図４Ｄ】
2020077326.tif 000037
【図５】
2020077326.tif 000038
【図６Ａ】
2020077326.tif 000039
【図６Ｂ】
2020077326.tif 000040
【図７】
2020077326.tif 000041
【図８】
2020077326.tif 000042
【図９】
2020077326.tif 000043
【図１０】
2020077326.tif 000044
【図１１】
2020077326.tif 000045
【図１２】
2020077326.tif 000046
【図１３】
2020077326.tif 000047
【図１４】
2020077326.tif 000048
【図１５】
2020077326.tif 000049