(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023077056
(43)【公開日】2023-06-05
(54)【発明の名称】外観検査装置及び外観検査方法
(51)【国際特許分類】
G01N 21/88 20060101AFI20230529BHJP
G06N 3/08 20230101ALI20230529BHJP
【FI】
G01N21/88 J
G06N3/08
【審査請求】未請求
【請求項の数】18
【出願形態】OL
(21)【出願番号】P 2021190175
(22)【出願日】2021-11-24
(71)【出願人】
【識別番号】000129253
【氏名又は名称】株式会社キーエンス
(74)【代理人】
【識別番号】110001427
【氏名又は名称】弁理士法人前田特許事務所
(72)【発明者】
【氏名】俵 京佑
(72)【発明者】
【氏名】生嶋 靖久
【テーマコード(参考)】
2G051
【Fターム(参考)】
2G051AB02
2G051CA04
2G051EA14
2G051EB02
2G051EB10
(57)【要約】
【課題】ユーザの使い勝手の悪化を招くことなく、迅速に代替モデルを提示可能にする。
【解決手段】機械学習ネットワークに学習用データを入力して学習させ、入力画像の良否判定を行うための第1推論モデル110を生成する。第1推論モデル110に順次入力される入力画像と、各入力画像の良否判定結果とを記憶する。記憶された複数の入力画像を機械学習ネットワークに入力して学習させて第2推論モデル111を生成する処理を、検査時の良否判定処理のバックグラウンドで実行する。第2推論モデル111の良否判定性能を表示するための表示画面を表示部に表示させる。
【選択図】
図4
【特許請求の範囲】
【請求項1】
機械学習ネットワークに検査対象のワークを撮影したワーク画像を入力し、入力された前記ワーク画像に基づいてワークの良否判定を行う外観検査装置であって、
前記機械学習ネットワークに学習用データを入力して学習させ、入力画像の良否判定を行うための第1推論モデルを生成する学習部と、
前記学習部によって生成された前記第1推論モデルに入力画像を順次入力し、入力画像の良否判定を行う検査部と、
前記学習部によって生成された前記第1推論モデルに順次入力された入力画像と、各入力画像の良否判定結果とを記憶する記憶部と、
前記検査部による良否判定結果を表示部に表示させる表示制御部と、を備え、
前記学習部は、前記記憶部に記憶された複数の入力画像を機械学習ネットワークに入力して学習させて第2推論モデルを生成する処理を、前記検査部による良否判定処理のバックグラウンドで実行し、
前記表示制御部は、前記第2推論モデルの良否判定性能を表示するための表示画面を前記表示部に表示させる外観検査装置。
【請求項2】
請求項1に記載の外観検査装置において、
前記表示制御部は、前記第1推論モデルと前記第2推論の良否判定性能を比較するための表示画面を前記表示部に表示させることを特徴とする外観検査装置。
【請求項3】
請求項1または2に記載の外観検査装置において、
前記第2推論モデルの生成に使用する入力画像を選択するための条件を設定する設定部をさらに備え、
前記学習部は、前記設定部により設定された条件を満たす入力画像を前記記憶部に記憶された複数の入力画像の中から抽出し、抽出した入力画像を機械学習ネットワークに入力して学習させて前記第2推論モデルを生成することを特徴とする外観検査装置。
【請求項4】
請求項3に記載の外観検査装置において、
前記学習部は、前記設定部により設定された異なる条件を満たす入力画像を機械学習ネットワークに入力して学習することにより、各条件にそれぞれ対応する複数の第2推論モデルを生成し、
前記表示制御部は、前記複数の第2推論モデルの良否判定性能を比較するための表示画面を前記表示部に表示させることを特徴とする外観検査装置。
【請求項5】
請求項3または4に記載の外観検査装置において、
前記設定部は、前記第2推論モデルを生成するために使用する入力画像を撮像した撮像時期に関する第1条件を設定可能であり、
前記学習部は、前記設定部により設定された前記第1条件を取得し、取得した前記第1条件を満たす入力画像を前記記憶部に記憶された複数の入力画像の中から抽出し、抽出した入力画像を前記機械学習ネットワークに入力して学習させて前記第2推論モデルを生成する外観検査装置。
【請求項6】
請求項3または4に記載の外観検査装置において、
前記設定部は、前記第2推論モデルを生成するためにバックグラウンドで実行される学習処理を開始するトリガ条件の設定が可能であり、
前記学習部は、前記設定部により設定されたトリガ条件に従って前記第2推論モデルの学習を開始する外観検査装置。
【請求項7】
請求項6に記載の外観検査装置において、
前記設定部は、前記トリガ条件として、前記第2推論モデルを生成するための学習処理を開始する日時に関する条件の設定が可能であり、
前記学習部は、前記設定部により設定された日時になったら、前記第2推論モデルの学習を開始する外観検査装置。
【請求項8】
請求項6に記載の外観検査装置において、
前記設定部は、前記トリガ条件として、前記入力画像の特徴量の変化、又は良否判定結果の統計的な変化に関する条件の設定が可能であり、
前記学習部は、前記入力画像の特徴量の変化、または前記良否判定結果の統計的な変化が、前記設定部により設定された条件を満たした場合に、前記第2推論モデルの学習を開始する外観検査装置。
【請求項9】
請求項3または4に記載の外観検査装置において、
前記設定部は、前記第1条件として、所定の期間が設定可能であり、
前記学習部は、前記第1条件として設定された所定の期間内に撮像された入力画像を前記記憶部に記憶された複数の入力画像の中から抽出し、抽出した入力画像を前記機械学習ネットワークに入力して学習させて前記第2推論モデルを生成する外観検査装置。
【請求項10】
請求項3から9のいずれか1つに記載の外観検査装置において、
前記設定部は、前記第2推論モデルを生成するために使用する入力画像の属性に関する第2条件が設定可能であり、
前記学習部は、前記設定部により設定された前記第2条件を取得し、取得した前記第2条件と前記第1条件との両方を満たす入力画像を前記記憶部に記憶された複数の入力画像の中から抽出し、抽出した入力画像を前記機械学習ネットワークに入力して学習させて前記第2推論モデルを生成する外観検査装置。
【請求項11】
請求項10に記載の外観検査装置において、
前記設定部は、前記第2条件に含まれる属性として、前記第2推論モデルを生成するために使用する入力画像が良品に対応する良品画像であるか否かが設定可能であり、
前記学習部は、前記第1条件を満たし、かつ、良品画像である画像を入力画像として前記記憶部に記憶された複数の入力画像の中から抽出し、抽出した入力画像を前記機械学習ネットワークに入力して学習させて前記第2推論モデルを生成する外観検査装置。
【請求項12】
請求項10に記載の外観検査装置において、
前記設定部は、前記第2条件に含まれる属性として、前記第2推論モデルを生成するために使用する入力画像が不良品に対応する不良品画像であるか否かが設定可能であり、
前記学習部は、前記第1条件を満たし、かつ、不良品画像である画像を入力画像として前記記憶部に記憶された複数の入力画像の中から抽出し、抽出した入力画像を前記機械学習ネットワークに入力して学習させて前記第2推論モデルを生成する外観検査装置。
【請求項13】
請求項10に記載の外観検査装置において、
前記学習部は、前記記憶部に記憶された複数の入力画像に含まれる不良品画像が有する特徴量が所定以上である不良品画像を抽出する外観検査装置。
【請求項14】
請求項3から13のいずれか1つに記載の外観検査装置において、
前記設定部は、前記第2推論モデルを生成するために使用する入力画像の数に関する第3条件の設定が可能であり、
前記学習部は、前記設定部により設定された前記第3条件を取得し、取得した前記第3条件と前記第1条件との両方を満たす入力画像を前記記憶部に記憶された複数の入力画像の中から抽出し、抽出した入力画像を前記機械学習ネットワークに入力して学習させて前記第2推論モデルを生成する外観検査装置。
【請求項15】
請求項14に記載の外観検査装置において、
前記設定部は、前記第3条件として、前記記憶部に記憶された複数の入力画像の数をAとし、前記第2推論モデルを生成するために使用する入力画像の数をBとしたときのAに対するBの割合を設定可能であり、
前記学習部は、前記割合に対応する数の入力画像を前記記憶部に記憶された複数の入力画像の中から抽出し、抽出した入力画像を前記機械学習ネットワークに入力して学習させて前記第2推論モデルを生成する外観検査装置。
【請求項16】
請求項1から15に記載の外観検査装置において、
前記学習部は、前記第1推論モデルを生成する際に使用した前記学習用データを、前記第2推論モデルを生成する際にも使用する外観検査装置。
【請求項17】
請求項1から16に記載の外観検査装置において、
前記学習部は、予め良否情報が付与された検証用画像データを前記第1推論モデル及び前記第2推論モデルにそれぞれ入力して当該検証用画像データの良否判定を実行し、前記検証用画像データの良否情報と前記第1推論モデルによる良否判定結果との一致率である第1一致率と、前記検証用画像データの良否情報と前記第2推論モデルによる良否判定結果との一致率である第2一致率とを算出し、
前記表示制御部は、前記第1推論モデルと前記第2推論モデルの良否判定性能を比較するための表示画面に前記第1一致率及び前記第2一致率の表示領域を設け、当該表示画面を前記表示部に表示させる外観検査装置。
【請求項18】
機械学習ネットワークに検査対象のワークを撮影したワーク画像を入力し、入力された前記ワーク画像に基づいてワークの良否判定を行う外観検査方法であって、
前記機械学習ネットワークに学習用データを入力して学習させ、入力画像の良否判定を行うための第1推論モデルを生成する第1学習ステップと、
前記第1学習ステップで生成された前記第1推論モデルに入力画像を順次入力し、入力画像の良否判定を行う検査ステップと、
前記第1学習ステップで生成された前記第1推論モデルに順次入力される入力画像と、各入力画像の良否判定結果とを記憶する記憶ステップと、
前記記憶ステップで記憶した複数の入力画像を機械学習ネットワークに入力して学習させて第2推論モデルを生成する処理を、前記検査ステップにおける良否判定処理のバックグラウンドで実行する第2学習ステップと、
前記第2推論モデルの良否判定性能を表示するための表示画面を表示部に表示させる表示ステップと、を備えている外観検査方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ワークの外観を検査する外観検査装置及び外観検査方法に関する。
【背景技術】
【0002】
例えば特許文献1には、コンピュータによる機械学習を用いて、ワークが良品であるか不良品であるかの判定を行う外観検査装置が開示されている。特許文献1に開示されているような機械学習を利用した外観検査装置では、運用前に大量の画像を機械学習ネットワークに入力して学習させ、推論モデルを生成し、その後、運用に移行してワークの外観検査を行う。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、完成した推論モデルの運用中、例えばワークの周囲環境が変化することが考えられる。具体的には、ある時刻ではワークに対して一方から外光が当たるが、別の時刻ではワークに対して他方から外光が当たる場合や、季節性の要因によってワークに微妙な変化が生じるような場合などである。推論モデルは、このような周囲環境の変化には追従できず、良品であるのに不良品であると誤判定してしまったり、不良品であるのに良品であると誤判定してしまう可能性がある。
【0005】
上述したように、一度完成した推論モデルであっても、時間の経過に起因して良否判定性能が低下する場合があるが、良否判定性能の低下が確認された段階で直ちに対策可能な手段はなく、現状では、学習用の画像を再度収集して機械学習ネットワークに入力し、学習させて新しい推論モデルを生成するという、再学習プロセスを踏む必要がある。
【0006】
しかしながら、機械学習ネットワークの学習は外観検査装置とは別の高性能なコンピュータを使用して行ったとしても計算時間が長くかかる。このように、再学習プロセスを実行する間は、ワークの外観検査を長い時間に亘って停止しなければならず、このことがユーザにとっては大きな問題となり、ひいては外観検査装置の使い勝手の悪化を招く。
【0007】
本開示は、かかる点に鑑みたものであり、その目的とするところは、ユーザの使い勝手の悪化を招くことなく、迅速に代替モデルを提示可能にすることにある。
【課題を解決するための手段】
【0008】
上記目的を達成するために、本開示の一態様では、機械学習ネットワークに検査対象のワークを撮影したワーク画像を入力し、入力された前記ワーク画像に基づいてワークの良否判定を行う外観検査装置を前提とすることができる。外観検査装置は、前記機械学習ネットワークに学習用データを入力して学習させ、入力画像の良否判定を行うための第1推論モデルを生成する学習部と、前記学習部によって生成された前記第1推論モデルに入力画像を順次入力し、入力画像の良否判定を行う検査部と、前記学習部によって生成された前記第1推論モデルに順次入力された入力画像と、各入力画像の良否判定結果とを記憶する記憶部と、前記検査部による良否判定結果を表示部に表示させる表示制御部と、を備えている。前記学習部は、前記記憶部に記憶された複数の入力画像を機械学習ネットワークに入力して学習させて第2推論モデルを生成する処理を、前記検査部による良否判定処理のバックグラウンドで実行できる。前記表示制御部は、前記第2推論モデルの良否判定性能を表示するための表示画面を前記表示部に表示させることができる。
【0009】
この構成によれば、学習用データを入力して学習させた第1推論モデルにワーク画像を入力すると、入力したワーク画像に基づいてワークの良否判定が行われる。また、第1推論モデルの学習時に使用した画像とは別の入力画像を機械学習ネットワークに学習させることで、第1推論モデルとは別のパラメータを持った第2推論モデルが生成される。この第2推論モデルの生成は、検査部による良否判定処理のバックグラウンドで実行されるので、ワークの外観検査を長い時間に亘って停止する必要はなく、ユーザの使い勝手は悪化しない。また、第2推論モデルの学習時に、例えば第1推論モデルの学習用データの取得時とは異なる時に撮像した画像を入力画像として使用することで、ワークの周囲環境が第1推論モデルの学習用データの取得時と比べて変化した時のワーク画像に対する良否判定性能が高い第2推論モデルを生成することができる。尚、第2推論モデルの学習は、例えば検査部による良否判定処理が行われていない時、例えばワークの外観検査が終了した後にも行うことができ、良否判定処理のバックグラウンド中のみに限られるものではない。
【0010】
第2推論モデルが生成されると、生成された第2推論モデルの良否判定性能を表示するための表示画面が表示部にされるので、ユーザは第1推論モデルと第2推論モデルの良否判定性能を比較して、その時の良否判定性能がより高い推論モデルを選択してワークの外観検査を続行できる。
【0011】
また、前記第2推論モデルを生成するために使用する入力画像を撮像した撮像時期、例えば日時などに関する第1条件を設定する設定部をさらに備えていてもよい。この場合、前記学習部は、前記設定部により設定された前記第1条件を取得し、取得した前記第1条件を満たす入力画像を前記記憶部に記憶された複数の入力画像の中から抽出し、抽出した入力画像を前記機械学習ネットワークに入力して学習させて前記第2推論モデルを生成することができる。
【0012】
すなわち、例えば1日のうち、午前と午後とでワークに対する外光の方向が変わるような周囲環境の場合、撮像時期として時刻を第1条件としておくことで、第1推論モデルの学習用データの取得時と比べて周囲環境が異なる時刻に撮像した画像を入力画像として抽出することができる。また、季節性の要因の場合も同様に、月日等を第1条件としておくことで、第1推論モデルの学習用データの取得時と比べて周囲環境が異なる月日に撮像した画像を入力画像として抽出することができる。そして、周囲環境が異なる時刻や月日等に撮像した画像を使用して第2推論モデルを生成できるので、周囲環境が変化した時のワーク画像に対する良否判定性能が高い第2推論モデルを生成することができる。
【0013】
また、トリガ条件としては、入力画像の特徴量の変化、又は良否判定結果の統計的な変化に関する条件の設定が可能であってもよい。この場合、入力画像の特徴量の変化、または良否判定結果の統計的な変化が、設定部により設定された条件を満たした場合に、第2推論モデルの学習を開始することができる。
【0014】
また、前記学習部は、予め設定されたトリガ条件に従って前記第2推論モデルの学習を開始するので、第2推論モデルを良否判定処理のバックグラウンドで自動生成できる。
【0015】
また、設定部は、前記第1条件として、所定の期間が設定可能である。この場合、前記学習部は、前記第1条件として設定された所定の期間内に撮像された入力画像を前記記憶部に記憶された複数の入力画像の中から抽出し、抽出した入力画像を前記機械学習ネットワークに入力して学習させて前記第2推論モデルを生成することができる。
【0016】
また、設定部は、前記第2推論モデルを生成するために使用する入力画像の属性に関する第2条件が設定可能である。この場合、前記学習部は、前記設定部により設定された前記第2条件を取得し、取得した前記第2条件と前記第1条件との両方を満たす入力画像を前記記憶部に記憶された複数の入力画像の中から抽出し、抽出した入力画像を前記機械学習ネットワークに入力して学習させて前記第2推論モデルを生成することができる。これにより、第1条件と第2条件に基づいて、第2推論モデルの学習により適した入力画像を使用することができる。
【0017】
また、設定部は、前記第2条件に含まれる属性として、前記第2推論モデルを生成するために使用する入力画像が良品に対応する良品画像であるか否かが設定可能である。この場合、前記学習部は、前記第1条件を満たし、かつ、良品画像である画像を入力画像として前記記憶部に記憶された複数の入力画像の中から抽出し、抽出した入力画像を前記機械学習ネットワークに入力して学習させて前記第2推論モデルを生成することができる。
【0018】
また、設定部は、前記第2条件に含まれる属性として、前記第2推論モデルを生成するために使用する入力画像が不良品に対応する不良品画像であるか否かが設定可能である。この場合、前記学習部は、前記第1条件を満たし、かつ、不良品画像である画像を入力画像として前記記憶部に記憶された複数の入力画像の中から抽出し、抽出した入力画像を前記機械学習ネットワークに入力して学習させて前記第2推論モデルを生成することができる。
【0019】
また、学習部は、前記記憶部に記憶された複数の入力画像に含まれる不良品画像が有する特徴量が所定以上である不良品画像を抽出することができる。
【0020】
他の態様に係る設定部は、前記第2推論モデルを生成するために使用する入力画像の数に関する第3条件の設定が可能である。この場合、前記学習部は、前記設定部により設定された前記第3条件を取得し、取得した前記第3条件と前記第1条件との両方を満たす入力画像を前記記憶部に記憶された複数の入力画像の中から抽出し、抽出した入力画像を前記機械学習ネットワークに入力して学習させて前記第2推論モデルを生成することができる。
【0021】
また、設定部は、前記第3条件として、前記記憶部に記憶された複数の入力画像の数をAとし、前記第2推論モデルを生成するために使用する入力画像の数をBとしたときのAに対するBの割合を設定可能である。この場合、前記学習部は、前記割合に対応する数の入力画像を前記記憶部に記憶された複数の入力画像の中から抽出し、抽出した入力画像を前記機械学習ネットワークに入力して学習させて前記第2推論モデルを生成することができる。
【0022】
また、学習部は、前記第1推論モデルを生成する際に使用した前記学習用データを、前記第2推論モデルを生成する際にも使用できるので、第2推論モデルを生成する際に使用する入力画像を増やすことができる。
【0023】
また、学習部は、予め良否情報が付与された検証用画像データを前記第1推論モデル及び前記第2推論モデルにそれぞれ入力して当該検証用画像データの良否判定を実行することができる。学習部は、前記検証用画像データの良否情報と前記第1推論モデルによる良否判定結果との一致率である第1一致率と、前記検証用画像データの良否情報と前記第2推論モデルによる良否判定結果との一致率である第2一致率とを算出する。前記表示制御部は、前記第1推論モデルと前記第2推論モデルの良否判定性能を比較するための表示画面に前記第1一致率及び前記第2一致率の表示領域を設け、当該表示画面を前記表示部に表示させることができるので、ユーザは第1推論モデルと第2推論モデルの良否判定性能を定量的にかつ容易に比較できる。
【発明の効果】
【0024】
以上説明したように、学習用データによって第1推論モデルを生成する一方、記憶部に記憶された複数の入力画像によって第2推論モデルを良否判定処理のバックグラウンドで生成し、生成した第2推論モデルの良否判定性能を表示可能にしたので、その時に適した推論モデルを選択して良否判定処理を行うことができる。これにより、ユーザの使い勝手の悪化を招くことなく、迅速に代替モデルを提示できる。
【図面の簡単な説明】
【0025】
【
図1】本発明の実施形態に係る外観検査装置の構成を示す模式図である。
【
図2】前記外観検査装置のハードウエア構成を示すブロック図である。
【
図3】異なる時期に撮像されたワーク画像を示す図である。
【
図4】機械学習ネットワークの学習手順を説明する図である。
【
図5】外観検査方法の手順の一例を示すフローチャートである。
【
図6】結果表示用ユーザーインターフェース画面の一例を示す図である。
【
図8】画像セットの選択について説明する図である。
【
図9】モデル選択用ユーザーインターフェース画面の一例を示す図である。
【
図10】推論モデルの良否判定性能を確認するためのユーザーインターフェース画面の一例を示す図である。
【
図11】ラベル付与用ユーザーインターフェース画面の一例を示す図である。
【発明を実施するための形態】
【0026】
以下、本発明の実施形態を図面に基づいて詳細に説明する。尚、以下の好ましい実施形態の説明は、本質的に例示に過ぎず、本発明、その適用物或いはその用途を制限することを意図するものではない。
【0027】
図1は、本発明の実施形態に係る外観検査装置1の構成を示す模式図である。外観検査装置1は、例えば各種部品や製品等のような検査対象であるワークを撮像して取得されたワーク画像の良否判定を行うための装置であり、工場等の生産現場等で使用することができる。具体的には、外観検査装置1の内部には機械学習ネットワークが構築されている。生成された機械学習ネットワークに、検査対象のワークを撮像したワーク画像を入力し、当該ワーク画像の良否判定を機械学習ネットワークによって行うことができるようになっている。
【0028】
ワークは、それ全体が検査対象であってもよいし、ワークの一部のみが検査対象であってもよい。また、1つのワークに複数の検査対象が含まれていてもよい。また、ワーク画像には、複数のワークが含まれていてもよい。
【0029】
外観検査装置1は、装置本体となる制御ユニット2と、撮像ユニット3と、表示装置(表示部)4と、パーソナルコンピュータ5とを備えている。パーソナルコンピュータ5は、必須なものではなく、省略することもできる。表示装置4の代わりにパーソナルコンピュータ5を使用して各種情報や画像を表示させることもできるし、パーソナルコンピュータ5の機能を制御ユニット2に組み込むことや、表示装置4に組み込むことができる。
【0030】
図1では、外観検査装置1の構成例の一例として、制御ユニット2、撮像ユニット3、表示装置4及びパーソナルコンピュータ5を記載しているが、これらのうち、任意の複数を組み合わせて一体化することもできる。例えば、制御ユニット2と撮像ユニット3を一体化することや、制御ユニット2と表示装置4を一体化することもできる。また、制御ユニット2を複数のユニットに分割して一部を撮像ユニット3や表示装置4に組み込むことや、撮像ユニット3を複数のユニットに分割して一部を他のユニットに組み込むこともできる。
【0031】
(撮像ユニット3の構成)
図2に示すように、撮像ユニット3は、カメラモジュール(撮像部)14と、照明モジュール(照明部)15とを備えており、ワーク画像の取得を実行するユニットである。カメラモジュール14は、撮像光学系を駆動するAF用モータ141と、撮像基板142とを備えている。AF用モータ141は、撮像光学系のレンズを駆動することにより、自動でピント調整を実行する部分であり、従来から周知のコントラストオートフォーカス等の手法によってピント調整を行うことができる。撮像基板142は、撮像光学系から入射した光を受光する受光素子としてCMOSセンサ143を備えている。CMOSセンサ143は、カラー画像を取得することができるように構成された撮像センサである。CMOSセンサ143の代わりに、例えばCCDセンサ等の受光素子を用いることもできる。
【0032】
照明モジュール15は、ワークを含む撮像領域を照明する発光体としてのLED(発光ダイオード)151と、LED151を制御するLEDドライバ152とを備えている。LED151による発光タイミング、発光時間、発光量は、LEDドライバ152によって任意に制御することができる。LED151は、撮像ユニット3に一体に設けてもよいし、撮像ユニット3とは別体として外部照明ユニットとして設けてもよい。
【0033】
(表示装置4の構成)
表示装置4は、例えば液晶パネルや有機ELパネル等からなる表示パネルを有している。制御ユニット2から出力されたワーク画像やユーザーインターフェース画像等は表示装置4に表示される。また、パーソナルコンピュータ5が表示パネルを有している場合、パーソナルコンピュータ5の表示パネルを表示装置4の代わりとして利用することができる。
【0034】
(操作機器)
外観検査装置1をユーザが操作するための操作機器としては、例えば、パーソナルコンピュータ5が有するキーボード51やマウス52等を挙げることができるが、これらに限られるものではなく、ユーザによる各種操作を受付可能に構成された機器であればよい。例えば、表示装置4が有するタッチパネル41のようなポインティングデバイスも操作機器に含まれる。
【0035】
キーボード51やマウス52のユーザによる操作は制御ユニット2で検出可能になっている。また、タッチパネル41は、例えば感圧センサを搭載した従来から周知のタッチ式操作パネルであり、ユーザのタッチ操作は制御ユニット2で検出可能になっている。他のポインティングデバイスを用いた場合も同様である。
【0036】
(制御ユニット2の構成)
制御ユニット2は、メイン基板13と、コネクタ基板16と、通信基板17と、電源基板18とを備えている。メイン基板13には、プロセッサ13aが設けられている。プロセッサ13aは、接続されている各基板及びモジュールの動作を制御する。例えば、プロセッサ13aは、照明モジュール15のLEDドライバ152に対してLED151の点灯/消灯を制御する照明制御信号を出力する。LEDドライバ152は、プロセッサ13aからの照明制御信号に応じて、LED151の点灯/消灯の切替及び点灯時間の調整を行うとともに、LED151の光量等を調整する。
【0037】
また、プロセッサ13aは、カメラモジュール14の撮像基板142に、CMOSセンサ143を制御する撮像制御信号を出力する。CMOSセンサ143は、プロセッサ13aからの撮像制御信号に応じて、撮像を開始するとともに、露光時間を任意の時間に調整して撮像を行う。すなわち、撮像ユニット3は、プロセッサ13aから出力される撮像制御信号に応じてCMOSセンサ143の視野範囲内を撮像し、視野範囲内にワークがあれば、ワークを撮像することになるが、ワーク以外の物が視野範囲内にあれば、それも撮像することができる。例えば、外観検査装置1は、機械学習ネットワークの学習用の画像として、撮像ユニット3により、良品に対応する良品画像と不良品に対応する不良品画像とを撮像することができる。学習用の画像は、撮像ユニット3で撮像された画像でなくてもよく、他のカメラ等で撮像された画像であってもよい。学習用の画像は、機械学習ネットワークに入力して当該機械学習ネットワークを学習させるための学習用データである。
【0038】
一方、外観検査装置の運用時には、撮像ユニット3により、ワークを撮像することができる。また、CMOSセンサ143は、ライブ画像、即ち現在の撮像された画像を短いフレームレートで随時出力することができるように構成されている。
【0039】
CMOSセンサ143による撮像が終わると、撮像ユニット3から出力された画像信号は、メイン基板13のプロセッサ13aに入力されて処理されるとともに、メイン基板13のメモリ13bに記憶されるようになっている。メイン基板13のプロセッサ13aによる具体的な処理内容の詳細については後述する。尚、メイン基板13には、FPGAやDSP等の処理装置が設けられていてもよい。FPGAやDSP等の処理装置が統合されたプロセッサ13aであってもよい。
【0040】
メイン基板13には、表示制御部13cが設けられている。表示制御部13cは、表示画面を生成するとともに、表示装置4を制御し、表示画面を表示装置4に表示させる部分である。表示制御部13cの具体的な動作については後述する。
【0041】
コネクタ基板16は、電源インターフェース161に設けてある電源コネクタ(図示せず)を介して外部から電力の供給を受ける部分である。電源基板18は、コネクタ基板16で受けた電力を各基板及びモジュール等に分配する部分であり、具体的には、照明モジュール15、カメラモジュール14、メイン基板13、及び通信基板17に電力を分配する。電源基板18は、AF用モータドライバ181を備えている。AF用モータドライバ181は、カメラモジュール14のAF用モータ141に駆動電力を供給し、オートフォーカスを実現している。AF用モータドライバ181は、メイン基板13のプロセッサ13aからのAF制御信号に応じて、AF用モータ141に供給する電力を調整する。
【0042】
通信基板17は、メイン基板13と表示装置4及びパーソナルコンピュータ5との通信、メイン基板13と外部制御機器(図示せず)との通信等を実行する部分である。外部制御機器は、例えばプログラマブルロジックコントローラ等を挙げることができる。通信は、有線であってもよいし、無線であってもよく、いずれの通信形態も、従来から周知の通信モジュールによって実現することができる。
【0043】
制御ユニット2には、例えばソリッドステートドライブ、ハードディスクドライブ等からなる記憶装置(記憶部)19が設けられている。記憶装置19には、後述する各制御及び処理を上記ハードウエアによって実行可能にするためのプログラムファイル80や設定ファイル等(ソフトウエア)が記憶されている。プログラムファイル80や設定ファイルは、例えば光ディスク等の記憶媒体90に格納しておき、この記憶媒体90に格納されたプログラムファイル80や設定ファイルを制御ユニット2にインストールすることができる。プログラムファイル80は、外部サーバから通信回線を利用してダウンロードされるものであってもよい。また、記憶装置19には、例えば、上記画像データや、外観検査装置1の機械学習ネットワークを構築するためのパラメータ等を記憶させておくこともできる。
【0044】
すなわち、外観検査装置1では、学習用データを使用して機械学習ネットワークを学習させることで、機械学習ネットワークのパラメータが調整されて推論モデルが生成される。推論モデルに検査対象のワークを撮影したワーク画像を入力し、入力されたワーク画像に基づいてワークの良否判定を行うことができる。この外観検査装置1を使用することで、ワーク画像に基づいてワークの良否判定を行う外観検査方法を実行できる。
【0045】
(ワークの周囲環境の変化)
ここで、外観検査装置1及び外観検査方法によって外観検査を行うワークの周囲環境の変化について説明する。ワークが例えばコンベア等によって所定の搬送経路を搬送されている場合に、外観検査装置1及び外観検査方法によってワークの外観検査を行うケースを想定する。このようなケースでは、一般的に、搬送経路上のワークは、予め決められた位置に固定された撮像ユニット3で撮像されるので、基本的には全てのワークは殆ど同じ位置で撮像され、ワークが撮像ユニット3の視野範囲内で動いたとしても、搬送経路の幅方向の狭い範囲に留まる。
【0046】
ワークが殆ど同じ位置で撮像されるのであれば、外光も殆ど変化しないと考えられるが、例えば太陽の光が取り込まれる現場であれば、時間の経過に従って外光の照射方向が変化するとともに、外光の強さも変化することになる。また、現場によっては、昼夜で照明の点灯状態が変化する場合があり、このことも外光の照射方向の変化及び強さの変化をもたらす。
【0047】
図3は、第1の時期にワークWが撮像された第1ワーク画像100と、第1の時期とは異なる第2の時期に第2ワークWが撮像されたワーク画像101とを示している。この図に示すように、第1の時期では、ワークWの左上から外光が照射されているが、第2の時期では右上から外光が照射される場合があり得る。第1の時期に撮像された第1ワーク画像100ではワークWの右下に影ができる一方、第2の時期に撮像された第2ワーク画像101ではワークWの左下に影ができるため、第1ワーク画像100と第2ワーク画像101とはワークW自体が同じであっても画像として見たときには異なる画像になる。また、ワークWの周囲の部材が影になって撮像される場合があり、その場合、第1の時期に撮像されたワーク画像100と、第2の時期に撮像されたワーク画像100とでは影の位置や形状が異なるため、第1ワーク画像100と第2ワーク画像101とは異なる画像になる。
【0048】
また、季節が変わることによってもワークWに変化が生じることがある。例えば夏季(第1の時期)に撮像されたワーク画像と、冬季(第2の時期)に撮像されたワーク画像とでは異なる場合がある。
【0049】
さらに、例えば型によって成型されるワークWが検査対象となることがある。新しい型で成型されたワークWと、使用開始から期間が経過した型で成型されたワークW(これも良品ワークであるとする)とでは、ワークWの形状に変化が生じることがあり、型が新しい時(第1の時期)に撮像されたワーク画像と、型の使用開始から期間が経過した時(第2の時期)に撮像されたワーク画像とでは異なる場合がある。
【0050】
外光の変化、季節の変化、成形型の変化等は、ワークWの周囲環境の変化である。ユーザは、同じであると認識しているワークWであっても、上述したようにワークWの周囲環境の変化に起因して、ワーク画像100、101が異なる場合がある。例えば第1の時期に撮像したワーク画像100のみを機械学習ネットワークに入力して学習させて推論モデルを生成した場合、その推論モデルに第2の時期に撮像したワーク画像101を入力すると、ワークWは良品であるのに、不良品であると誤判定するおそれがある。その反対の誤判定も起こり得る。つまり、一度完成した推論モデルの運用中に、ワークWの周囲環境の変化に起因して良否判定性能の低下が起こることがある。
【0051】
本実施形態に係る外観検査装置1は、運用中に変化したワークWの周囲環境に迅速に対応可能な構成を備えている。以下、その構成の一例について説明する。
【0052】
(プロセッサの構成)
図2に示すように、プロセッサ13aには、学習部13d、検査部13e及び設定部13fが設けられている。学習部13d、検査部13e及び設定部13fは、ハードウエアで構成された部分であってもよいし、ソフトウエアを実行することによって構成される部分であってもよい。また、学習部13d、検査部13e及び設定部13fは、必ずしもメイン基板13に設けられていなくてもよく、これらの一部または全部がメイン基板13以外の基板に設けられていてもよい。
【0053】
学習部13dは、機械学習ネットワークに学習用データを入力して学習させ、入力画像の良否判定を行うための第1推論モデル110(
図4に示す)を生成する部分である。学習部13dは、例えば制御ユニット2とは別の学習用計算機で構成されていてもよい。学習用計算機は、機械学習を高速で行うことが可能に構成されている。学習用計算機と制御ユニット2とを通信可能に接続しておくことで、学習用計算機で生成された第1推論モデル110を構築するパラメータを制御ユニット2に送信し、制御ユニット2に第1推論モデル110を構築することができる。第2推論モデル111については後述する。
【0054】
また、
図4に示すように、記憶装置19には、複数の第1ワーク画像100で構成された第1入力画像セットが記憶されている。第1ワーク画像100は、ユーザが撮像ユニット3に撮像させた画像であってもよいし、撮像ユニット3とは別のカメラで撮像した画像であってもよく、いずれにしても事前に用意して記憶装置19に記憶させておく。第1入力画像セットを構成する第1ワーク画像100として、良品を撮像した良品画像と、不良品を撮像した不良品画像との両方が含まれていてもよいし、いずれか一方のみが含まれていてもよい。
【0055】
図2では、記憶装置19が制御ユニット2と一体化されたものとして表現しているが、記憶装置19は制御ユニット2とは別体のものであってもよい。そのような記憶装置19の例としては、ネットワーク対応ストレージ(NAS:Network Attached Storage)等を挙げることができる。NSAと制御ユニット2とは有線LANや無線LAN等の通信回線によって接続される。第2入力画像セットについては後述する。
【0056】
図5は外観検査方法の手順の一例を示すフローチャートである。スタート後のステップSA1では、学習部13dは、未学習の機械学習ネットワークを用意する。未学習の機械学習ネットワークは、例えば、パラメータの初期値が無作為に決定されたものである。ステップSA2では、
図4に示すように、学習部13dが、未学習の機械学習ネットワークに学習用データセットを入力する。本例では、学習用データセットとして、記憶装置19に記憶されている第1入力画像セットと同じものを用いることができる。この場合、学習部13dは記憶装置19から第1入力画像セットを読み込んだ後、第1入力画像セットを構成している入力画像を未学習の機械学習ネットワークに順次入力する。そして、ステップSA3では第1推論モデル110を生成する。このとき、良品画像のみ入力して良品学習を行ってもよいし、不良品画像のみ入力して不良品学習をおこなってもよいし、両方の学習を行ってもよい。ステップSA3は、第1学習ステップである。
【0057】
第1入力画像セットの入力画像が不良品画像である場合、機械学習ネットワークに入力するまでに、当該不良品画像にアノテーションを実行しておく。すなわち、不良品画像に、不良品画像であることを示すラベルを付与する処理、不良品画像の不良箇所を指定する処理等をユーザが事前に行っておく。アノテーションによって付与されたラベル情報や、アノテーションによって指定された不良箇所情報は、該当する不良品画像と関連付けられた状態で記憶装置19に記憶されている。よって、不良品学習の際には、ラベル情報や、不良箇所情報を利用して機械学習ネットワークのパラメータを調整し、得られたパラメータは記憶装置19等に記憶させておく。得られたパラメータによって第1推論モデル110を構築することができる。
【0058】
第1推論モデル110を制御ユニット2に構築した後、ステップSA4に進み、検査部13eが、検査対象のワークWを撮像ユニット3により撮像してワーク画像を取得する。その後、ステップSA5に進み、検査部13eが、ステップSA4で取得したワーク画像をステップSA3で生成した第1推論モデル110に入力する。ステップSA5で第1推論モデル110に入力されるワーク画像は入力画像である。入力画像の入力後、ステップSA6では、検査部13eが入力画像の良否判定を行う。例えば、第1推論モデル110から出力される異常度マップに所定以上の反応を示す箇所があれば、その入力画像のワークは不良品であると判定でき、一方、第1推論モデル110から出力される異常度マップに所定以上の反応を示す箇所がなければ、その入力画像のワークは良品であると判定できる。検査部13eによる良否判定結果は、プロセッサ13a内で取得可能である。ステップSA5及びステップSA6により、検査ステップが構成されている。
【0059】
ステップSA6の後、ステップSA7に進み、プロセッサ13aは、第1推論モデル110に入力された入力画像と、当該入力画像の良否判定結果とを関連付けて記憶装置19に記憶する。ステップSA7が記憶ステップである。
【0060】
ステップSA4~SA7は、ワークWの外観検査を行っている間、即ち外観検査装置1の運用中は繰り返される。すなわち、1つめのワークWを撮像した入力画像、2つめのワークWを撮像した入力画像、3つめのワークWを撮像した入力画像、…を第1推論モデル110に順次入力することで、各入力画像の良否判定結果が順次得られる。良否判定結果が得られれば、入力画像と、各入力画像の良否判定結果とを記憶していき、外観検査装置1の運用が停止された段階で、ワークWの撮像が停止する。
【0061】
ステップSA7の後、ステップSA8に進み、表示制御部13cが、検査部13eによる良否判定結果を表示装置4に表示させる。例えば、
図6に一例として示すような結果表示用ユーザーインターフェース画面200を表示制御部13cが生成し、表示装置4へ出力する。結果表示用ユーザーインターフェース画面200には、入力画像が表示される画像表示領域201と、良否判定結果が表示される結果表示領域202とが設けられている。画像表示領域201には、第1推論モデル110に入力された入力画像が時系列に表示されている。画像表示領域201には、複数の入力画像を一覧形式で表示してもよいし、1枚の入力画像のみ表示させてもよい。
【0062】
結果表示領域202には、入力画像ごとに良否判定結果が表示されるようになっており、1枚の入力画像と、1つの良否判定結果とが対応付けられている。良否判定結果の表示形態は、良品か不良品かをユーザが判別できればよいので、特に限定されるものではなく、例えば文字、記号等を挙げることができる。
【0063】
図6に示すように、外観検査の回数が増えるにつれて、入力画像の数及び良否判定結果の数もそれに対応して増える。すなわち、ステップSA4~SA7の繰り返しによって入力画像及び良否判定結果が記憶装置19に蓄積されていく。ステップSA4~SA7の繰り返しによって蓄積された複数の入力画像を、
図4に第2入力画像セットとして示しており、第2入力画像セットとして記憶装置19に記憶される。
【0064】
第2入力画像セットを構成する入力画像は、第1入力画像セットを構成する第1ワーク画像100の撮像時(
図3に示す第1の時期)から時間が経過しており、第2の時期に撮像された第2ワーク画像101である。第2入力画像セットは、後述するバックグラウンド学習で使用される画像セットであり、バックグラウンド学習によって第2推論モデルを生成するために使用する。
【0065】
ステップSA9では、その後のステップSA10で実行するバックグラウンド学習のトリガ条件と、バックグラウンド学習で使用する画像セット(第2入力画像セット)の選択法とを読み込む。トリガ条件とは、バックグラウンド学習を開始する条件のことであり、
図2に示す設定部13fでユーザが設定する。詳細は後述するが、
図7にトリガ条件の例を示す。また、設定部13fでは、上記画像セットの選択に関する条件(
図8に示す)として、第2推論モデルを生成するために使用する入力画像を撮像した撮像時期に関する第1条件を設定することができる。第1条件としては、例えば所定の期間を挙げることができる。所定の期間としては、
図7に示すように、毎月、毎週、毎日を挙げることができ、毎日であれば、日付と時間を指定し、毎週であれば曜日と時間を指定し、毎日であれば時間を指定する。また、所定の期間としては、例えば昨日、直近2日、直近3日、…、直近1週間、直近2週間、…、直近1ヶ月、直近2ヶ月等を挙げることができる。また、所定の期間としては、第1の時刻から第2の時刻の間(時間軸で第1の時刻の方が前)、第1の日付から第2の日付の間(時間軸で第1の日付の方が前)等を挙げることができる。また、所定の期間の設定方法としては、例えば、直近の入力画像の枚数を設定する方法であってもよい。例えば「直近の100枚」と設定することで、その100枚を撮像した期間を設定したことになる。
【0066】
所定の期間を設定する際、設定部13fは設定用のユーザーインターフェース画面を表示装置4に表示させてユーザによる設定を受け付ける。ユーザは、キーボード51やマウス52等を操作して、上述した時刻、日付、枚数等を入力すると、それが設定値として設定部13fが受け付けて記憶装置19等に記憶させる。ステップSA9では、その設定値を記憶装置19から読み込めばよい。ユーザによる設定は、いつ行ってもよく、例えばステップSA1の前、ステップSA4の前等に行うことができる。
【0067】
設定部13fは、第2推論モデル111を生成するために使用する入力画像の属性に関する第2条件が設定可能である。
図7に示すように、例えば、第2条件に含まれる属性として、第2推論モデル111を生成するために使用する入力画像が良品に対応する良品画像であるか否か、不良品に対応する不良品画像であるか否か、入力画像の輝度値、位置補正の位置、エッジ強度等が設定可能である。この場合、ユーザは、設定用のユーザーインターフェース画面上で、良品画像のみを入力画像とする旨の設定を行えばよく、例えばチェックボックスや選択ボタン等によって良品画像を選択可能にしておく。
【0068】
良品画像の判別方法としては、例えばある時期に撮像されたワーク画像は全て良品画像とする方法や、特定の条件を満たすものが良品画像であるとする方法等がある。特定の条件としては、その画像が有する特徴量が所定未満という条件を挙げることができる。つまり、特徴量によって余裕を持って良品画像であると判断できるものが抽出されるようにする。
【0069】
また、例えば、第2条件に含まれる属性として、第2推論モデル111を生成するために使用する入力画像が不良品に対応する不良品画像であるか否かが設定可能である。この場合、ユーザは、設定用のユーザーインターフェース画面上で、不良品画像のみを入力画像とする旨の設定を行えばよく、例えばチェックボックスや選択ボタン等によって不良品画像を選択可能にしておく。
【0070】
不良品画像の判別方法としては、例えばある時期に撮像されたワーク画像は全て不良品画像とする方法や、特定の条件を満たすものが不良品画像であるとする方法等がある。特定の条件としては、その画像が有する特徴量が所定以上という条件を挙げることができる。つまり、特徴量によって余裕を持って不良品画像であると判断できるものが抽出されるようにする。
【0071】
設定部13fは、第2推論モデルを生成するために使用する入力画像の数に関する第3条件の設定が可能である。第3条件として、記憶装置19に記憶された複数の入力画像の数をAとし、第2推論モデルを生成するために使用する入力画像の数をBとしたときのAに対するBの割合Cを設定可能である。例えば、ステップSA4~SA6の繰り返しによって200枚の入力画像が蓄積されたとしたとき、Aは200になる。このうち、100枚だけ、第2推論モデルを生成するために使用したい場合には、設定用のユーザーインターフェース画面上で、割合Cとして50%を設定する。割合Cは、どのような値であってもよく、ユーザが指定してもよいし、記憶装置19に予め記憶された値であってもよい。
【0072】
また、第3条件は、良否画像の蓄積数や、不良品画像の蓄積数等であってもよい。さらに、第3条件は、良品スコアの移動平均等であってもよい。すなわち、設定部13fは、第2推論モデルを生成するために使用する入力画像のスコアに関する条件の設定が可能であってもよい。設定部13fは、設定用のユーザーインターフェース画面上で、ユーザによる具体的なスコアの設定を受け付けると、それを条件として設定する。スコアの設定時には、ある範囲を指定することもできる。
【0073】
設定部13fは、不良品画像に対するアノテーションの実行、非実行についても設定可能である。すなわち、設定用のユーザーインターフェース画面上で、アノテーションの実行を設定すると、ステップSA6で不良品であると判定された入力画像中で不良箇所であると抽出された部分を真の不良箇所であるとして取り扱う。
【0074】
設定部13fでは、良品学習と不良品学習のいずれで第2推論モデルを生成するかの設定も可能である。すなわち、設定用のユーザーインターフェース画面上で、良品学習を設定すると、入力画像を良品画像のみとする一方、不良品学習を設定すると、入力画像を不良品画像のみとする。
【0075】
設定部13fは、第1推論モデル110の生成に使用した第1入力画像セットの扱いについても設定可能である。すなわち、設定用のユーザーインターフェース画面上で、第1入力画像セットを第2推論モデル111の生成に使用するか否かの設定が可能になっている。第1入力画像セットを第2推論モデル111の生成に使用すると設定された場合には、第1入力画像セットを機械学習ネットワークに入力して第2推論モデル111を生成する。一方、第1入力画像セットを第2推論モデル111の生成に使用しないと設定された場合には、第1入力画像セットを機械学習ネットワークに入力せずに、第2入力画像セットのみで第2推論モデル111を生成する。
【0076】
バックグラウンド学習を開始するトリガ条件についても、設定用のユーザーインターフェース画面上でユーザが設定できる。トリガ条件としては、
図7に示すように、例えば毎日、毎週、毎月といった設定が可能になっている。設定された日付、時刻が到来すると、設定部13fは、バックグラウンド学習を開始させるトリガ信号を出力する。
【0077】
上記トリガ条件はユーザの設定によらず、自動設定できるようにしてもよい。例えば、ステップSA4~SA6の繰り返しによって蓄積された入力画像のうち、不良品画像の比率と、良品画像の比率のうち、少なくとも一方を設定部13fが算出する。設定部13fは、算出した比率が所定以上変化した場合には、バックグラウンド学習を開始させるトリガ信号を出力する。また、設定部13fは、不良品画像の数と、良品画像の数の少なくとも一方を取得し、一方の数が所定数以上になった場合には、バックグラウンド学習を開始させるトリガ信号を出力する。
【0078】
また、設定部13fは、ステップSA4~SA6の繰り返しによって蓄積された入力画像の特徴を示す情報を取得し、入力画像の特徴が所定以上変化した場合には、バックグラウンド学習を開始させるトリガ信号を出力する。
【0079】
また、設定部13fは、ステップSA4~SA6の繰り返しによって蓄積された入力画像のうち、良品画像のスコアの移動平均を算出し、算出した移動平均が所定以上変化した場合には、バックグラウンド学習を開始させるトリガ信号を出力する。
【0080】
また、設定部13fは、ステップSA4で取得された入力画像の輝度値を取得し、輝度値が所定値以上変化した場合には、照明条件が変化したものとして、バックグラウンド学習を開始させるトリガ信号を出力する。
【0081】
また、設定部13fは、ステップSA4で取得された入力画像の位置補正の位置を取得し、その位置が所定以上変化した場合や、ステップSA4で取得された入力画像のエッジ強度を取得し、そのエッジ強度が所定以上変化した場合には、バックグラウンド学習を開始させるトリガ信号を出力する。
【0082】
図5のステップSA10では、上述した予め設定されたトリガ条件に従ってバックグラウンド学習を実行する。まず、設定部13fがトリガ信号を出力すると、そのトリガ信号を学習部13dが取得する。トリガ信号を取得した学習部13dは、記憶装置19に記憶された第2入力画像セットを機械学習ネットワークに入力して学習させて第2推論モデル111を生成する処理を、検査部13eによる良否判定処理のバックグラウンドで実行する。ステップSA10は、第2学習ステップである。
【0083】
第2入力画像セットは、ステップSA4~SA6の繰り返しによって蓄積された入力画像の全てで構成されていてもよいし、設定部13fで設定された上記条件を満たす入力画像のみで構成されていてもよい。設定部13fで特に条件が設定されていない場合には、ステップSA4~SA6の繰り返しによって蓄積された全ての入力画像を第2入力画像セットとする。
【0084】
設定部13fで上記条件が設定されている場合には、以下のようにして第2入力画像セットを構成する入力画像を抽出する。すなわち、設定部13fで撮像時期に関する第1条件が設定されている場合には、学習部13dは、設定部13fにより設定された第1条件を取得し、取得した第1条件を満たす入力画像を記憶装置19に記憶された複数の入力画像の中から抽出し、抽出した入力画像のみで第2入力画像セットを構成する。第1条件として所定の期間が設定されていれば、学習部13dは、第1条件として設定された所定の期間内に撮像された入力画像を、ステップSA4~SA6の繰り返しによって蓄積された入力画像の中から抽出する。これにより、ユーザが所望する期間の入力画像のみで第2推論モデル111を生成できる。
【0085】
設定部13fで入力画像の属性に関する第2条件が設定されている場合には、学習部13dは、設定部13fにより設定された第2条件も取得し、取得した前記第2条件と前記第1条件との両方を満たす入力画像を、ステップSA4~SA6の繰り返しによって蓄積された入力画像の中から抽出する。これにより、ユーザが所望する期間だけでなく、その期間内で取得された良品画像のみで第2推論モデル111を生成することや、その期間内で取得された不良品画像のみで第2推論モデル111を生成することができる。
【0086】
設定部13fで入力画像の数に関する第3条件が設定されている場合には、学習部13dは、設定部13fにより設定された第3条件も取得し、取得した前記第3条件と前記第1条件との両方を満たす入力画像を、ステップSA4~SA6の繰り返しによって蓄積された入力画像の中から抽出する。第3条件の条件として上記割合Cが設定されている場合には、割合に対応する数の入力画像を、ステップSA4~SA6の繰り返しによって蓄積された入力画像の中から抽出する。
【0087】
以上のようにして抽出した入力画像によって構成された第2入力画像セットを、学習部13dが、機械学習ネットワークに入力して学習させる。ステップSA11では、機械学習ネットワークのパラメータが調整されて、第1推論モデル110とは別のパラメータを持った第2推論モデル111が生成される。得られたパラメータは記憶装置19等に記憶させておく。バックグラウンド学習とは、検査部13eによる良否判定処理が実行されている間に行う学習のことであり、言い換えると、検査部13eによる良否判定処理と、第2入力画像セットを使用した学習とを並行して行うことである。バックグラウンド学習を行うことで、第2推論モデル111を生成するにあたり、ワークWの外観検査を長い時間に亘って停止する必要はなく、ユーザの使い勝手は悪化しない。尚、第2推論モデル111の学習は、例えば検査部13eによる良否判定処理が行われていない時、例えばワークWの外観検査が終了した後、例えば外観検査装置1の停止時や設定時にも行うことができ、良否判定処理のバックグラウンド中のみに限られるものではない。
【0088】
ステップSA10及びSA11は、複数回実行される場合もある。例えばトリガ条件が毎日であれば、ステップSA10及びSA11が毎日実行される。よって、第2推論モデル111は時間の経過に従って増えていき、それぞれのパラメータが区別可能に記憶装置19に記憶される。
【0089】
ステップSA12では、表示制御部13cは、第2推論モデル111の良否判定性能を表示するための表示画面を表示装置4に表示させる。このとき、第1推論モデル110と第2推論モデル111の良否判定性能を比較するための表示画面を表示装置4に表示させてもよい。また、複数の第2推論モデル111の良否判定性能を確認するための表示画面を表示装置4に表示させてもよい。
【0090】
ステップSA12は、表示ステップである。表示させる前に、学習部13dが第1推論モデル110と第2推論モデル111の良否判定性能を取得する。具体的には、学習部13dは、予め良否情報が付与された検証用画像データを第1推論モデル110に入力して当該検証用画像データの良否判定を第1推論モデル110で実行する。良否情報としては、例えば良品画像であることを示すラベルや、不良品画像であることを示すラベル等を挙げることができる。学習部13dは、検証用画像データの良否情報と第1推論モデル110による良否判定結果との一致率である第1一致率を算出する。第1推論モデル110による良否判定結果と検証用画像データの良否情報とが全て一致すれば、第1一致率は100%である。尚、検証用画像データは、記憶装置19に予め記憶させておく。
【0091】
一方、学習部13dは、予め良否情報が付与された検証用画像データを第2推論モデル111にも入力し、検証用画像データの良否判定を第2推論モデル111でも実行する。学習部13dは、検証用画像データの良否情報と第2推論モデル111による良否判定結果との一致率である第2一致率を算出する。第2推論モデル111が複数生成されている場合には、それらのうち、全ての第2推論モデル111で第2一致率を算出してもよいし、一部の第2推論モデル111で第2一致率を算出してもよい。
【0092】
表示制御部13cは、
図9に示すようなモデル選択用ユーザーインターフェース画面(表示画面)210を生成する。モデル選択用ユーザーインターフェース画面210には、推論モデル名を表示するモデル名表示領域211と、推論モデルの情報を表示する情報表示領域212と、一致率を表示する一致率表示領域213とが設けられている。モデル名表示領域211には、学習部13dが生成した推論モデルを特定するための名称が表示される。この例では、モデル名表示領域211に第1推論モデル110としてAモデルを表示するとともに、第2推論モデル111としてBモデル、Cモデル、Dモデル、…を表示している。推論モデルの名称は任意に設定することができ、ユーザが設定してもよいし、特定のルールに従って自動的に設定してもよい。
【0093】
情報表示領域212には、モデル名表示領域211に表示されている推論モデルの情報の一例として、学習に使用した画像データに関する情報がモデル名と対応付けられて表示される。例えば、いつ取得された画像を使用して学習したか、良品画像、不良品画像、全ての画像のどれを使用して学習したか等が情報表示領域212に表示される。
【0094】
一致率表示領域213には、学習部13dが算出した第1一致率(Aモデルによる一致率)と、学習部13dが算出した第2一致率(Bモデル、Cモデル、Dモデル、…による一致率)とがモデル名と対応付けられて表示される。これにより、どのモデルの良否判定性能が高いかをユーザが容易に判断できる。また、運用中の推論モデルがどのモデルであるかを識別可能に表示しておくことができる。
図9では、Aモデルが運用中の場合を示している。
【0095】
ユーザは、モデル選択用ユーザーインターフェース画面210に表示されている複数の推論モデルの中から所望の推論モデルを選択することができる。例えば、Aモデルで運用中に、より一致率の高いCモデルに切り替えたい場合には、ユーザがキーボード51やマウス52を操作して、ポインタやカーソルを「Cモデル」に合わせて選択操作を行うことができる。プロセッサ13aは、Cモデルが選択されたことを検出すると、AモデルからCモデルに切り替えてワークWの外観検査処理を行う。推論モデルを切り替える際には、ワークWの外観検査処理を一時的に停止する必要があるが、その時間は僅かなものであるため、そのことによるユーザの使い勝手は殆ど悪化しない。
【0096】
ユーザによる推論モデルの選択後、例えば
図10に示すような良否判定性能確認用ユーザーインターフェース画面300に遷移してもよい。すなわち、プロセッサ13aは、良否判定性能確認用ユーザーインターフェース画面300を生成し、表示装置4に表示させる。ユーザーインターフェース画面300には、ユーザーインターフェース300には良品画像表示領域301が設けられている。良品画像表示領域301には、複数の良品画像の表示が可能になっている。また、ユーザーインターフェース300には、不良品画像表示領域302が設けられている。プロセッサ13aは、不良箇所である可能性が高い領域を有する画像は不良品画像であるとして、不良品画像表示領域302に表示させる。
【0097】
さらに、ユーザーインターフェース300には、学習結果表示領域305が設けられている。学習結果表示領域305には、プロセッサ13aが生成した累積ヒストグラムを表示する。すなわち、プロセッサ13aは、判定結果として、良品画像であると判定された度数と不良品画像であると判定された度数とを取得する。良品画像であると判定された度数と不良品画像であると判定された度数とに基づいて上記累積ヒストグラムを生成する。ユーザは、累積ヒストグラムにおいて良品画像の領域(図中にOKと記載された領域)と不良品画像の領域(図中にNGと記載された領域)とが分離できているか否かを判断できる。良品画像の領域と不良品画像の領域とが分離できていない場合には、推論モデルの良否判定性能が不十分であると考えられる。つまり、ユーザが良品画像と不良品画像とを目視で確認できるとともに、選択した推論モデルの良否判定性能も確認できる。
【0098】
(直近画像への追従性評価機能)
図4に示す学習用データセットによる学習の際には、学習用データセットを構成する各画像に対して良品画像と不良品画像とのいずれであるか事前に明示されているが、ステップSA4~SA6の繰り返しによって蓄積された入力画像については、取得されたばかりの画像であるため、良品画像と不良品画像とが明示されていない。よって、推論モデルが直近の入力画像に対してどの程度の追従性を持っているかを評価するためには、運用中に取得された画像に対してユーザが自身でラベルを付与した方がよい場合がある。推論モデルの運用中の追従性の評価は、上記一致率の算出によって行うことが可能である。
【0099】
例えば、
図9に示すモデル選択用ユーザーインターフェース画面210を表示している状態で、ユーザが所定の操作を行うと、
図11に示すラベル付与用ユーザーインターフェース画面220が表示される。ラベル付与用ユーザーインターフェース画面220は、ユーザが入力画像を確認しながら、当該入力画像に対して、良品画像であることを示すラベル(良品ラベル)と、不良品画像であることを示すラベル(不良品ラベル)との一方を手動で付与するための画面である。
【0100】
ラベル付与用ユーザーインターフェース画面220には、画像表示領域221と、ラベル設定部222とが設けられている。画像表示領域221は、ステップSA4~SA6の繰り返しによって蓄積された入力画像が表示される領域であり、複数の入力画像を一覧形式で表示してもよいし、1枚ずつ表示してもよい。一覧形式で表示する場合、例えば、複数の入力画像の中からユーザが1枚を選択可能にし、選択された入力画像をラベル付与用ユーザーインターフェース画面220中に拡大表示して画像の確認を容易にしてもよい。
【0101】
ラベル設定部222は、画像表示領域221に表示された入力画像ごとに設けられている。ラベル設定部222をユーザが操作することで、対応する入力画像に対して良品ラベルと不良品ラベルの一方を付与できる。入力されたラベル情報は、対応する入力画像と関連付けられた状態で記憶装置19に記憶される。
【0102】
(その他の機能)
例えばトリガ条件が短時間で複数回満たされた場合には、第2推論モデル111を短時間で複数回生成する必要があるが、第2推論モデル111の生成には時間を要するため、次のトリガ条件が満たされたとしても直ちに次の第2推論モデル111を生成することができない場合が考えられる。このような場合には、第2推論モデル111の生成が完了したことを制御ユニット2側で検知する機能を持たせることができる。学習部13dは、第2推論モデル111の生成が完了し、かつ、次のトリガ条件が満たされたと判定した場合に、次の第2推論モデル111の生成を開始する。
【0103】
また、生成された第2推論モデル111を運用時に採用するか否かはユーザが判断しているが、これに限らず、制御ユニット2側で判断するようにしてもよい。例えば、上記一致率が所定値以上の第2推論モデル111が生成された場合や、現在運用している推論モデルよりも高い一致率の第2推論モデル111が生成された場合には、その第2推論モデル111を自動的に採用して運用を行うように制御ユニット2を構成する。これにより、良否判定性能を常に高い状態で維持できる。また、上記一致率が所定値以上の第2推論モデル111が生成された場合には、そのことをユーザに報知する機能を付加してもよい。
【0104】
また、同じワークWを複数のライン上で外観検査する場合がある。このような場合、それぞれのラインで撮像された入力画像は、まとめた上で推論モデルの学習に利用してもよい。
【0105】
(機械学習ネットワークの学習の具体的な方法)
上記機械学習ネットワークの学習の手法は特に限定されないが、例えば次の方法を利用することができる。すなわち、Loss関数を最小化することで機械学習ネットワークの学習を行うことができる。Lossの定義は様々であるが、Mean Square Error(MSE)を例して挙げることができる。
【0106】
【0107】
ここで、Tは目標異常度マップ、0は出力画像(異常度マップ)、nは画像Tが0の画素数、x、yは画素位置である。尚、Binary Cross EntropyなどのLoss関数も使用可能である。以上はあくまでも例示である。
【0108】
(実施形態の作用効果)
以上説明したように、第1推論モデルの学習時に使用した画像とは別の入力画像を機械学習ネットワークに学習させることで、検査部13eによる良否判定処理のバックグラウンドで第1推論モデルとは異なるパラメータを持った第2推論モデルを生成できる。これにより、第2推論モデルを生成する際にワークの外観検査を長い時間に亘って停止する必要はなく、ユーザの使い勝手は悪化しない。
【0109】
また、第2推論モデルの学習時に、例えば第1推論モデルの学習用データの取得時とは異なる時に撮像した画像を入力画像として使用することで、ワークの周囲環境が第1推論モデルの学習用データの取得時と比べて変化した時のワーク画像に対する良否判定性能が高い第2推論モデルを生成することができる。これにより、良否判定性能の高い推論モデルを選択してワークの外観検査を続行できる。
【0110】
上述の実施形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内のものである。
【産業上の利用可能性】
【0111】
以上説明したように、本発明は、ワークの外観を検査する場合に利用できる。
【符号の説明】
【0112】
1 外観検査装置
4 表示装置(表示部)
13a プロセッサ
13b メモリ
13c 表示制御部
13d 学習部
13e 検査部
13f 設定部
19 記憶装置(記憶部)