(57)【要約】【課題】判定に要する時間の期待値を短くすることができる、ニューラルネットワークを用いた画像検査装置を提供する。【解決手段】画像検査装置１００は、対象物１の画像を撮影する撮影部３０と、それぞれ複数のニューロンを含む第１ニューラルネットワーク１２ａ及び第２ニューラルネットワーク１２ｂを用いて、画像に基づいて対象物の状態を判定する判定部１３と、を備え、第１ニューラルネットワークは、第２ニューラルネットワークと比較して、演算負荷が軽く、偽陰性率が同等以下であり、偽陽性率が大きく、判定部は、第１ニューラルネットワークを用いて対象物の状態を判定した結果が所定の条件を満たす場合、第１ニューラルネットワークを用いて対象物の状態を判定し、第１ニューラルネットワークを用いて対象物の状態を判定した結果が所定の条件を満たさない場合、第２ニューラルネットワークを用いて対象物の状態を判定する。【選択図】図１
2020154798.tif 000002
【特許請求の範囲】
【請求項１】
対象物の画像を撮影する撮影部と、
それぞれ複数のニューロンを含む第１ニューラルネットワーク及び第２ニューラルネットワークを用いて、前記画像に基づいて前記対象物の状態を判定する判定部と、を備え、
前記第１ニューラルネットワークは、前記第２ニューラルネットワークと比較して、演算負荷が軽く、偽陰性率が同等以下であり、偽陽性率が大きく、
前記判定部は、
前記第１ニューラルネットワークを用いて前記対象物の状態を判定した結果が所定の条件を満たす場合、前記第１ニューラルネットワークを用いて前記対象物の状態を判定し、
前記第１ニューラルネットワークを用いて前記対象物の状態を判定した結果が前記所定の条件を満たさない場合、前記第２ニューラルネットワークを用いて前記対象物の状態を判定する、
画像検査装置。
【請求項２】
複数の学習用画像を用いた学習処理によって前記第２ニューラルネットワークを生成し、前記第２ニューラルネットワークの規模を縮小する処理によって前記第１ニューラルネットワークを生成する生成部をさらに備える、
請求項１に記載の画像検査装置。
【請求項３】
前記生成部は、前記第２ニューラルネットワークの隠れ層に含まれる複数のニューロンのうち、入力層側の１又は複数のニューロンを固定し、出力層側の１又は複数のニューロンのパラメータをゼロとして、前記複数の学習用画像を用いた学習処理を行うことで、前記第１ニューラルネットワークを生成する、
請求項２に記載の画像検査装置。
【請求項４】
前記生成部は、前記第２ニューラルネットワークに対する前記第１ニューラルネットワークの規模の割合が所定値以下となるように、前記第１ニューラルネットワークを生成する、
請求項２又は３に記載の画像検査装置。
【請求項５】
前記生成部は、前記第２ニューラルネットワークの規模を複数の異なる処理により縮小することで複数の候補ニューラルネットワークを生成し、複数の候補ニューラルネットワーク及び前記第２ニューラルネットワークによって前記画像に基づき前記対象物の状態を判定する計算時間を測定し、前記計算時間に基づいて、前記複数の候補ニューラルネットワークから、前記第１ニューラルネットワークを選択する、
請求項２から４のいずれか一項に記載の画像検査装置。
【請求項６】
前記判定部は、前記第１ニューラルネットワークの隠れ層に含まれる複数のニューロンのうち所定のニューロンの値を一時記憶し、前記第１ニューラルネットワークを用いて前記対象物の状態を判定した結果が前記所定の条件を満たさない場合、一時記憶した前記所定のニューロンの値を用いて、前記第２ニューラルネットワークにより前記対象物の状態を判定する、
請求項２から５のいずれか一項に記載の画像検査装置。
【請求項７】
前記生成部は、前記第１ニューラルネットワークの隠れ層に含まれる前記複数のニューロンに対する前記所定のニューロンの割合が所定値以上となるように、前記第１ニューラルネットワークを生成する、
請求項６に記載の画像検査装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像検査装置に関する。
【背景技術】
【０００２】
従来、部品や完成品等の対象物の画像を撮影して、画像処理によって対象物の検査を行う画像検査装置が用いられている。画像検査装置は、画像に基づいて対象物が正常であるか異常であるかを識別する識別器を含むことがある。
【０００３】
例えば、下記特許文献１には、互いに異種であるＭ種類の畳み込みニューラルネットワーク分類器を備え、第一レベルの畳み込みニューラルネットワーク分類器は、対象物の分類に用いられ、第二レベルの畳み込みニューラルネットワーク分類器は、第一レベルの畳み込みニューラルネットワーク分類器にとって分類しにくい対象物の分類に用いられる、畳み込みニューラルネットワーク分類器システムが記載されている。
【０００４】
また、下記特許文献２には、大分類ニューラルネットワーク及び細分類ニューラルネットワークを用いて、撮像文字について大分類の処理を行い、撮像文字の特定が不可能である旨の特定がなされた場合には、次に可能性が高いグループから撮像文字の特定を行う処理を行い、順次これを繰返しながら撮像文字を特定するニューラルネットワークによる認識方法が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−４９１１８号公報
【特許文献２】特開平７−３０６９１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
先行技術のように、画像に基づいて対象物を識別する識別器をニューラルネットワークによって構成することがある。しかしながら、ニューラルネットワークを用いた識別器は、比較的演算負荷が大きくなることある。
【０００７】
ここで、対象物の画像の中には、明らかに異常であると分かる画像や、明らかに正常であると分かる画像が含まれることがあるが、ニューラルネットワークを用いた識別器は、どのような画像であっても一律に高負荷の処理を行うことがあり、判定に要する時間が長くなることがある。
【０００８】
そこで、本発明は、判定に要する時間の期待値を短くすることができる、ニューラルネットワークを用いた画像検査装置を提供する。
【課題を解決するための手段】
【０００９】
本開示の一態様に係る画像検査装置は、対象物の画像を撮影する撮影部と、それぞれ複数のニューロンを含む第１ニューラルネットワーク及び第２ニューラルネットワークを用いて、画像に基づいて対象物の状態を判定する判定部と、を備え、第１ニューラルネットワークは、第２ニューラルネットワークと比較して、演算負荷が軽く、偽陰性率が同等以下であり、偽陽性率が大きく、判定部は、第１ニューラルネットワークを用いて対象物の状態を判定した結果が所定の条件を満たす場合、第１ニューラルネットワークを用いて対象物の状態を判定し、第１ニューラルネットワークを用いて対象物の状態を判定した結果が所定の条件を満たさない場合、第２ニューラルネットワークを用いて対象物の状態を判定する。
【００１０】
この態様によれば、第２ニューラルネットワークより演算負荷が軽い第１ニューラルネットワークによる判定結果が所定の条件を満たす場合に、第２ニューラルネットワークによる判定を省略することで、判定に要する時間の期待値を短くすることができる。
【００１１】
上記態様において、複数の学習用画像を用いた学習処理によって第２ニューラルネットワークを生成し、第２ニューラルネットワークの規模を縮小する処理によって第１ニューラルネットワークを生成する生成部をさらに備えてもよい。
【００１２】
この態様によれば、第２ニューラルネットワークより規模の小さい第１ニューラルネットワークを効率良く生成することができる。
【００１３】
上記態様において、生成部は、第２ニューラルネットワークの隠れ層に含まれる複数のニューロンのうち、入力層側の１又は複数のニューロンを固定し、出力層側の１又は複数のニューロンのパラメータをゼロとして、複数の学習用画像を用いた学習処理を行うことで、第１ニューラルネットワークを生成してもよい。
【００１４】
この態様によれば、第２ニューラルネットワークの隠れ層のニューロンを枝刈りして、再学習することで第１ニューラルネットワークを生成することができ、第２ニューラルネットワークより演算負荷が軽い第１ニューラルネットワークを効率的に生成することができる。
【００１５】
上記態様において、生成部は、第２ニューラルネットワークに対する第１ニューラルネットワークの規模の割合が所定値以下となるように、第１ニューラルネットワークを生成してもよい。
【００１６】
この態様によれば、第１ニューラルネットワークにより専有されるメモリ領域を、第２ニューラルネットワークにより専有されるメモリ領域と比較して所定割合以下となるようにすることができる。
【００１７】
上記態様において、生成部は、第２ニューラルネットワークの規模を複数の異なる処理により縮小することで複数の候補ニューラルネットワークを生成し、複数の候補ニューラルネットワーク及び第２ニューラルネットワークによって画像に基づき対象物の状態を判定する計算時間を測定し、計算時間に基づいて、複数の候補ニューラルネットワークから、第１ニューラルネットワークを選択してもよい。
【００１８】
この態様によれば、第１ニューラルネットワーク及び第２ニューラルネットワークによる判定に要する時間の期待値が最も短くなるように、第１ニューラルネットワークを選択することができる。
【００１９】
上記態様において、判定部は、第１ニューラルネットワークの隠れ層に含まれる複数のニューロンのうち所定のニューロンの値を一時記憶し、第１ニューラルネットワークを用いて対象物の状態を判定した結果が所定の条件を満たさない場合、一時記憶した所定のニューロンの値を用いて、第２ニューラルネットワークにより対象物の状態を判定してもよい。
【００２０】
この態様によれば、第１ニューラルネットワークによって算出した値を第２ニューラルネットワークで共用することで、第２ニューラルネットワークによる判定に要する時間を短くすることができる。
【００２１】
上記態様において、生成部は、第１ニューラルネットワークの隠れ層に含まれる複数のニューロンに対する所定のニューロンの割合が所定値以上となるように、第１ニューラルネットワークを生成してもよい。
【００２２】
この態様によれば、第１ニューラルネットワークによって算出した値を共用する第２ニューラルネットワークのニューロンの割合を所定値以上とすることで、第２ニューラルネットワークによる判定に要する時間を所定時間以上短くすることができる。
【発明の効果】
【００２３】
本発明によれば、判定に要する時間の期待値を短くすることができる、ニューラルネットワークを用いた画像検査装置を提供することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施形態に係る画像検査装置の概要を示す図である。
【図２】本実施形態に係る情報処理装置の機能ブロックを示す図である。
【図３】本実施形態に係る情報処理装置の物理的構成を示す図である。
【図４】本実施形態に係る画像検査装置により撮影される画像の一例を示す図である。
【図５】本実施形態に係る画像検査装置により用いられる第２ニューラルネットワークの一例を示す図である。
【図６】本実施形態に係る画像検査装置により用いられる第１ニューラルネットワークの一例を示す図である。
【図７】本実施形態に係る画像検査装置により生成される複数の候補ニューラルネットワークの一例を示す図である。
【図８】本実施形態に係る画像検査装置により実行される第１ニューラルネットワーク選択処理のフローチャートである。
【図９】本実施形態に係る画像検査装置により実行される状態判定処理のフローチャートである。
【発明を実施するための形態】
【００２５】
添付図面を参照して、本発明の実施形態について説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【００２６】
図１は、本発明の実施形態に係る画像検査装置１００の概要を示す図である。画像検査装置１００は、情報処理装置１０、照明部２０及び撮影部３０を備える。画像検査装置１００は、照明部２０によって対象物１に光Ｌを照射して、対象物１による反射光Ｒを撮影部３０によって撮影し、情報処理装置１０によって、対象物１の画像に基づいて、対象物１の状態を判定する。
【００２７】
情報処理装置１０は、撮影部３０により撮影された画像をニューラルネットワークにより処理して、対象物１の状態を判定する。情報処理装置１０は、汎用のコンピュータで構成されてよい。
【００２８】
照明部２０は、対象物１に光を照射する。照明部２０は、１又は複数のライトを含んで構成されてよく、照明方向及び照明強度等の照明条件が予め設定されていてよい。
【００２９】
撮影部３０は、対象物１の画像を撮影する。撮影部３０は、照明部２０により照明された対象物１の画像を撮影し、画像を情報処理装置１０に伝送する。撮影部３０は、汎用のデジタルカメラで構成されてよく、撮影条件が予め設定されていてよい。
【００３０】
なお、図１に示す構成は一例であり、画像検査装置１００は、情報処理装置１０、照明部２０及び撮影部３０以外の構成を備えていてもよいし、情報処理装置１０、照明部２０及び撮影部３０の一部が一体となった構成を備えていてもよい。
【００３１】
図２は、本実施形態に係る情報処理装置１０の機能ブロックを示す図である。情報処理装置１０は、取得部１１、記憶部１２、判定部１３、生成部１４及び表示部１０ｆを備える。
【００３２】
取得部１１は、撮影部３０により撮影された対象物１の画像を取得する。なお、取得部１１は、外部機器に記憶された対象物１の画像を取得してもよい。
【００３３】
記憶部１２は、第１ニューラルネットワーク１２ａ、第２ニューラルネットワーク１２ｂ及び学習用画像１２ｃを記憶する。第１ニューラルネットワーク１２ａ及び第２ニューラルネットワーク１２ｂは、それぞれ１又は複数のニューロンを含む入力層、隠れ層及び出力層を少なくとも含む。第１ニューラルネットワーク１２ａ及び第２ニューラルネットワーク１２ｂは、例えばＣＮＮ（Convolutional Neural Network）で構成されてよいが、他のモデルであってもよい。第１ニューラルネットワーク１２ａ及び第２ニューラルネットワーク１２ｂは、対象物１の画像に基づいて、対象物１が正常であるか異常であるかを示す数値を出力したり、対象物１の種類を示す数値を出力したりしてよい。学習用画像１２ｃは、第１ニューラルネットワーク１２ａ及び第２ニューラルネットワーク１２ｂの学習処理に用いられる対象物１の画像であり、対象物１の状態を示すラベルデータが関連付けられていてよい。第１ニューラルネットワーク１２ａ及び第２ニューラルネットワーク１２ｂは、例えば、学習用画像１２ｃを用いた誤差逆伝播法による教師あり学習によって生成されてよい。
【００３４】
ここで、第１ニューラルネットワーク１２ａは、第２ニューラルネットワーク１２ｂと比較して、演算負荷が軽く、偽陰性率が同等以下であり、偽陽性率が大きい。例えば、画像検査装置１００によって対象物１に欠陥が有るか無いかを検査する場合、欠陥が有る場合を陽性とし、欠陥が無い場合を陰性として、実際には欠陥が有るにも関わらず欠陥が無いと判定してしまう割合が偽陰性率となり、実際には欠陥が無いにも関わらず欠陥が有ると判定してしまう割合が偽陽性率となる。すなわち、第１ニューラルネットワーク１２ａは、第２ニューラルネットワーク１２ｂと比較して、演算負荷が軽いかわりに、欠陥を過検出してしまうことがあるが、欠陥を見逃す割合は第２ニューラルネットワーク１２ｂと同等以下である。なお、第１ニューラルネットワーク１２ａ及び第２ニューラルネットワーク１２ｂによって、欠陥が有る、欠陥が無い又はどちらとも判定できないという３値出力を行ってもよい。その場合、実際には欠陥が有るにも関わらず欠陥が無いと判定してしまう割合が偽陰性率となり、実際には欠陥が無いにも関わらず欠陥が有る又はどちらとも判定できないと出力してしまう割合が偽陽性率となる。
【００３５】
判定部１３は、それぞれ複数のニューロンを含む第１ニューラルネットワーク１２ａ及び第２ニューラルネットワーク１２ｂを用いて、対象物１の画像に基づいて対象物１の状態を判定する。ここで、判定部１３は、第１ニューラルネットワーク１２ａを用いて対象物１の状態を判定した結果が所定の条件を満たす場合、第１ニューラルネットワーク１２ａを用いて対象物１の状態を判定する。そして、判定部１３は、第１ニューラルネットワーク１２ａを用いて対象物１の状態を判定した結果が所定の条件を満たさない場合、第２ニューラルネットワーク１２ｂを用いて対象物１の状態を判定する。
【００３６】
第１ニューラルネットワーク１２ａによって、対象物１に欠陥が有る又は欠陥が無いという２値出力を行う場合、所定の条件は、判定の信頼度が所定値以上であることであってよい。また、第１ニューラルネットワーク１２ａによって、対象物１に欠陥が有る、欠陥が無い又はどちらとも判定できないという３値出力を行う場合、所定の条件は、どちらとも判定できないと出力されることであってよい。
【００３７】
このように、第２ニューラルネットワーク１２ｂより演算負荷が軽い第１ニューラルネットワーク１２ａによる判定結果が所定の条件を満たす場合に、第２ニューラルネットワーク１２ｂによる判定を省略することで、判定に要する時間の期待値を短くすることができる。
【００３８】
生成部１４は、複数の学習用画像１２ｃを用いた学習処理によって第２ニューラルネットワーク１２ｂを生成し、第２ニューラルネットワーク１２ｂの規模を縮小する処理によって第１ニューラルネットワーク１２ａを生成する。ここで、第２ニューラルネットワーク１２ｂの規模を縮小する処理は、例えば、枝刈り（pruning）、蒸留（distillation）又はパラメータの量子化（quantization）によって行われてよい。このようにして、第２ニューラルネットワーク１２ｂより規模の小さい第１ニューラルネットワーク１２ａを効率良く生成することができる。
【００３９】
より具体的には、生成部１４は、第２ニューラルネットワーク１２ｂの隠れ層に含まれる複数のニューロンのうち、入力層側の１又は複数のニューロンを固定し、出力層側の１又は複数のニューロンのパラメータをゼロとして、複数の学習用画像１２ｃを用いた学習処理を行うことで、第１ニューラルネットワーク１２ａを生成してよい。これにより、第２ニューラルネットワーク１２ｂの隠れ層のニューロンを枝刈りして、再学習することで第１ニューラルネットワーク１２ａを生成することができ、第２ニューラルネットワーク１２ｂより演算負荷が軽い第１ニューラルネットワーク１２ａを効率的に生成することができる。
【００４０】
また、生成部１４は、第２ニューラルネットワーク１２ｂに対する第１ニューラルネットワーク１２ａの規模の割合が所定値以下となるように、第１ニューラルネットワーク１２ａを生成してよい。これにより、第１ニューラルネットワーク１２aにより専有されるメモリ領域を、第２ニューラルネットワーク１２ｂにより専有されるメモリ領域と比較して所定割合以下となるようにすることができる。
【００４１】
さらに、生成部１４は、第２ニューラルネットワーク１２ｂの規模を複数の異なる処理により縮小することで複数の候補ニューラルネットワークを生成し、複数の候補ニューラルネットワーク及び第２ニューラルネットワーク１２ｂによって画像に基づき対象物１の状態を判定する計算時間を測定し、測定された計算時間に基づいて、複数の候補ニューラルネットワークから、第１ニューラルネットワーク１２ａを選択してよい。複数の候補ニューラルネットワークの例は、後に図７を用いて説明する。このようにして、第１ニューラルネットワーク１２ａ及び第２ニューラルネットワーク１２ｂによる判定に要する時間の期待値が最も短くなるように、第１ニューラルネットワーク１２ａを選択することができる。
【００４２】
表示部１０ｆは、判定部１３の判定結果を対象物１の画像とともに表示したり、生成部１４により生成された第１ニューラルネットワーク１２ａ及び第２ニューラルネットワーク１２ｂの模式図を表示したりする。
【００４３】
判定部１３は、第１ニューラルネットワーク１２ａの隠れ層に含まれる複数のニューロンのうち所定のニューロンの値を一時記憶し、第１ニューラルネットワーク１２ａを用いて対象物１の状態を判定した結果が所定の条件を満たさない場合、一時記憶した所定のニューロンの値を用いて、第２ニューラルネットワーク１２ｂにより対象物１の状態を判定してよい。このように、第１ニューラルネットワーク１２ａによって算出した値を第２ニューラルネットワーク１２ｂで共用することで、第２ニューラルネットワーク１２ｂによる判定に要する時間を短くすることができる。
【００４４】
また、生成部１４は、第１ニューラルネットワーク１２ａの隠れ層に含まれる複数のニューロンに対する所定のニューロン（第２ニューラルネットワーク１２ｂと共用するニューロン）の割合が所定値以上となるように、第１ニューラルネットワーク１２ａを生成してよい。このように、第１ニューラルネットワーク１２ａによって算出した値を共用する第２ニューラルネットワーク１２ｂのニューロンの割合を所定値以上とすることで、第２ニューラルネットワーク１２ｂによる判定に要する時間を所定時間以上短くすることができる。
【００４５】
図３は、本実施形態に係る情報処理装置１０の物理的構成を示す図である。情報処理装置１０は、演算部に相当するＣＰＵ（Central Processing Unit）１０ａと、記憶部に相当するＲＡＭ（Random Access Memory）１０ｂと、記憶部に相当するＲＯＭ（Read only Memory）１０ｃと、通信部１０ｄと、入力部１０ｅと、表示部１０ｆと、を有する。これらの各構成は、バスを介して相互にデータ送受信可能に接続される。なお、本例では情報処理装置１０が一台のコンピュータで構成される場合について説明するが、情報処理装置１０は、複数のコンピュータが組み合わされて実現されてもよい。また、図３で示す構成は一例であり、情報処理装置１０はこれら以外の構成を有してもよいし、これらの構成のうち一部を有さなくてもよい。
【００４６】
ＣＰＵ１０ａは、ＲＡＭ１０ｂ又はＲＯＭ１０ｃに記憶されたプログラムの実行に関する制御やデータの演算、加工を行う制御部である。ＣＰＵ１０ａは、対象物の画像に基づいて、第１ニューラルネットワーク１２ａ及び第２ニューラルネットワーク１２ｂを用いて対象物１の状態を判定するプログラム（画像検査プログラム）を実行する演算部である。ＣＰＵ１０ａは、入力部１０ｅや通信部１０ｄから種々のデータを受け取り、データの演算結果を表示部１０ｆに表示したり、ＲＡＭ１０ｂやＲＯＭ１０ｃに格納したりする。
【００４７】
ＲＡＭ１０ｂは、記憶部のうちデータの書き換えが可能なものであり、例えば半導体記憶素子で構成されてよい。ＲＡＭ１０ｂは、ＣＰＵ１０ａが実行する画像検査プログラム、学習用画像１２ｃといったデータを記憶してよい。なお、これらは例示であって、ＲＡＭ１０ｂには、これら以外のデータが記憶されていてもよいし、これらの一部が記憶されていなくてもよい。
【００４８】
ＲＯＭ１０ｃは、記憶部のうちデータの読み出しが可能なものであり、例えば半導体記憶素子で構成されてよい。ＲＯＭ１０ｃは、例えば画像検査プログラムや、書き換えが行われないデータを記憶してよい。
【００４９】
通信部１０ｄは、情報処理装置１０を他の機器に接続するインターフェースである。通信部１０ｄは、インターネット等の通信ネットワークに接続されてよい。
【００５０】
入力部１０ｅは、ユーザからデータの入力を受け付けるものであり、例えば、キーボード及びタッチパネルを含んでよい。
【００５１】
表示部１０ｆは、ＣＰＵ１０ａによる演算結果を視覚的に表示するものであり、例えば、ＬＣＤ（Liquid Crystal Display）により構成されてよい。表示部１０ｆは、撮影部３０により撮影された対象物１の画像を表示したり、学習用画像１２ｃを表示したり、判定結果を表示したりしてよい。
【００５２】
画像検査プログラムは、ＲＡＭ１０ｂやＲＯＭ１０ｃ等のコンピュータによって読み取り可能な記憶媒体に記憶されて提供されてもよいし、通信部１０ｄにより接続される通信ネットワークを介して提供されてもよい。情報処理装置１０では、ＣＰＵ１０ａが画像検査プログラムを実行することにより、図２を用いて説明した様々な動作が実現される。なお、これらの物理的な構成は例示であって、必ずしも独立した構成でなくてもよい。例えば、情報処理装置１０は、ＣＰＵ１０ａとＲＡＭ１０ｂやＲＯＭ１０ｃが一体化したＬＳＩ（Large-Scale Integration）を備えていてもよい。
【００５３】
図４は、本実施形態に係る画像検査装置１００により撮影される画像ＩＭＧの一例を示す図である。画像ＩＭＧは、対象物１を撮影した画像である。画像ＩＭＧには、第１線欠陥Ｄ１及び第２線欠陥Ｄ２が写されている。第１線欠陥Ｄ１は、対象物１に生じた傷であり、第２線欠陥Ｄ２は、対象物１の背景に生じている傷である。対象物１は、第１線欠陥Ｄ１を含むため異常であるが、第２線欠陥Ｄ２は対象物１の良否に関係しない。
【００５４】
図５は、本実施形態に係る画像検査装置１００により用いられる第２ニューラルネットワーク１２ｂの一例を示す図である。同図では、第２ニューラルネットワーク１２ｂの入力層ＩＮと、隠れ層ＨＤＮと、出力層のニューロンＯＵＴ１，ＯＵＴ２，ＯＵＴ３とを模式的に示している。隠れ層ＨＤＮは、複数のニューロンを含む。
【００５５】
本例の第２ニューラルネットワーク１２ｂは、隠れ層ＨＤＮの前段に含まれる複数のニューロンによって画像に含まれるエッジを識別し、中段に含まれる複数のニューロンによって画像に含まれる角を識別したり、白線や黒線を識別したりし、後段に含まれる複数のニューロンによって対象物１の特定の形状を識別する。なお、これらの識別内容は、説明のため簡略化している。
【００５６】
具体的には、第１ニューロンＮ１は、画像に直角なエッジが含まれる場合に活性化するニューロンであり、第２ニューロンＮ２は、画像に水平な白線が含まれる場合に活性化するニューロンである。また、第２ニューロンＮ２は、画像に直角なエッジが含まれる場合に活性化するニューロンであり、第４ニューロンＮ４は、画像に右下がりの白線が含まれる場合に活性化するニューロンであり、第５ニューロンＮ５は、画像に右下がりの黒線が含まれる場合に活性化するニューロンである。
【００５７】
さらに、第６ニューロンＮ６は、画像に白色の線欠陥が含まれる場合に活性化するニューロンであり、第７ニューロンＮ７は、画像に黒色の線欠陥が含まれる場合に活性化するニューロンである。
【００５８】
また、第８ニューロンＮ８は、画像に対象物１の右下の角が含まれる場合に活性化するニューロンであり、第９ニューロンＮ９は、画像に対象物１の左上の角が含まれる場合に活性化するニューロンであり、第１０ニューロンＮ１０は、画像に対象物１に空いた穴が含まれる場合に活性化するニューロンであり、第１１ニューロンＮ１１は、画像に対象物１全体が含まれる場合に活性化するニューロンである。
【００５９】
第１２ニューロンＮ１２、第１３ニューロンＮ１３及び第１４ニューロンＮ１４は、第６ニューロンＮ６、第７ニューロンＮ７及び第１１ニューロンＮ１１の出力を重み付けて足し合わせて、所定の非線形関数によって出力値を算出し、出力層に出力する。
【００６０】
出力層の第１ニューロンＯＵＴ１は、対象物１が異常である場合（対象物１に欠陥が有る場合）に活性化し、出力層の第２ニューロンＯＵＴ２は、対象物１が異常であるか正常であるか判定できない場合（対象物１に欠陥が有るか無いか判定できない場合）に活性化し、出力層の第３ニューロンＯＵＴ３は、対象物１が正常である場合（対象物１に欠陥が無い場合）に活性化する。
【００６１】
図６は、本実施形態に係る画像検査装置１００により用いられる第１ニューラルネットワーク１２ａの一例を示す図である。本例の第１ニューラルネットワーク１２ａは、第２ニューラルネットワーク１２ｂの隠れ層ＨＤＮに含まれる複数のニューロンを枝刈りすることで生成されている。
【００６２】
第１ニューラルネットワーク１２ａは、第２ニューラルネットワーク１２ｂと比較して、第１ニューロンＮ１、第２ニューロンＮ２、第３ニューロンＮ３、第４ニューロンＮ４、第６ニューロンＮ６、第８ニューロンＮ８、第９ニューロンＮ９、第１０ニューロンＮ１０、第１１ニューロンＮ１１、第１２ニューロンＮ１２及び第１４ニューロンＮ１４が枝刈りされて、規模が小さくなっている。
【００６３】
生成部１４は、第２ニューラルネットワーク１２ｂの隠れ層ＨＤＮに含まれる複数のニューロンのうち、入力層側の１又は複数のニューロンを固定し、出力層側の１又は複数のニューロン（本例では第１ニューロンＮ１、第２ニューロンＮ２、第３ニューロンＮ３、第４ニューロンＮ４、第６ニューロンＮ６、第８ニューロンＮ８、第９ニューロンＮ９、第１０ニューロンＮ１０、第１１ニューロンＮ１１、第１２ニューロンＮ１２及び第１４ニューロンＮ１４）の重みパラメータ及びバイアスパラメータをゼロとして、複数の学習用画像１２ｃを用いた学習処理を行うことで、第１ニューラルネットワーク１２ａを生成してよい。
【００６４】
また、判定部１３は、第１ニューラルネットワーク１２ａの隠れ層ＨＤＮに含まれる複数のニューロンのうち所定のニューロンＳの値を一時記憶し、第１ニューラルネットワーク１２ａを用いて対象物１の状態を判定した結果が所定の条件を満たさない場合、一時記憶した所定のニューロンＳの値を用いて、第２ニューラルネットワーク１２ｂにより対象物１の状態を判定してよい。第１ニューラルネットワーク１２ａの所定のニューロンＳによって算出した値を第２ニューラルネットワーク１２ｂで共用することで、第２ニューラルネットワーク１２ｂによる判定に要する時間を短くすることができる。
【００６５】
図７は、本実施形態に係る画像検査装置１００により生成される複数の候補ニューラルネットワークの一例を示す図である。生成部１４は、第２ニューラルネットワーク１２ｂに対する規模の割合が所定値以下となるように候補ニューラルネットワークを生成したり、第２ニューラルネットワーク１２ｂと共用するニューロン割合が所定値以上となるように候補ニューラルネットワークを生成したりする。生成部１４は、候補ニューラルネットワークの偽陽性率が第２ニューラルネットワーク１２ｂより大きくなることを許容しつつ、候補ニューラルネットワークの偽陰性率が第２ニューラルネットワーク１２ｂと同等以下となるように、候補ニューラルネットワークを生成してよい。
【００６６】
本例の場合、第１候補ニューラルネットワークは、第２ニューラルネットワーク１２ｂに対する規模の割合が４０％であり、第２ニューラルネットワーク１２ｂと共用するニューロンの割合が１０％であり、対象物１が正常であるか異常であるかどちらとも判定できない割合が４％である。また、第２候補ニューラルネットワークは、第２ニューラルネットワーク１２ｂに対する規模の割合が４０％であり、第２ニューラルネットワーク１２ｂと共用するニューロンの割合が２０％であり、対象物１が正常であるか異常であるかどちらとも判定できない割合が６％である。また、第３候補ニューラルネットワークは、第２ニューラルネットワーク１２ｂに対する規模の割合が２０％であり、第２ニューラルネットワーク１２ｂと共用するニューロンの割合が５％であり、対象物１が正常であるか異常であるかどちらとも判定できない割合が８％である。第４候補ニューラルネットワークは、第２ニューラルネットワーク１２ｂに対する規模の割合が３０％であり、第２ニューラルネットワーク１２ｂと共用するニューロンの割合が１５％であり、対象物１が正常であるか異常であるかどちらとも判定できない割合が７％である。
【００６７】
例えば、対象物１が正常であるか異常であるかどちらとも判定できない割合を低く抑えたい場合、第１候補ニューラルネットワークを第１ニューラルネットワーク１２ａとして選択してよい。また、第２ニューラルネットワーク１２ｂと共用するニューロンの割合を高めたい場合、第２候補ニューラルネットワークを第１ニューラルネットワーク１２ａとして選択してよい。一方、ネットワークの規模をできるだけ小さくしたい場合、第３候補ニューラルネットワークを第１ニューラルネットワーク１２ａとして選択してよい。また、全ての項目をバランス良く備えたネットワークを生成したい場合、第４候補ニューラルネットワークを第１ニューラルネットワーク１２ａとして選択してよい。
【００６８】
また、生成部１４は、複数の候補ニューラルネットワーク及び第２ニューラルネットワーク１２ｂによって画像に基づき対象物１の状態を判定する計算時間に基づいて、複数の候補ニューラルネットワークから、第１ニューラルネットワーク１２ａを選択してよい。
【００６９】
図８は、本実施形態に係る画像検査装置１００により実行される第１ニューラルネットワーク選択処理のフローチャートである。はじめに、画像検査装置１００は、学習用画像１２ｃを用いた学習処理によって、第２ニューラルネットワーク１２ｂを生成する（Ｓ１０）。
【００７０】
その後、画像検査装置１００は、第２ニューラルネットワーク１２ｂに対してＮ通りの規模縮小を実行し（Ｓ１１）、学習用画像１２ｃを用いた学習処理によって、第１ニューラルネットワークの第１候補〜第Ｎ候補を生成する（Ｓ１２）。ここで、Ｎは２以上の自然数である。
【００７１】
そして、画像検査装置１００は、第１ニューラルネットワークの第１候補〜第Ｎ候補の計算時間と、第２ニューラルネットワーク１２ｂの計算時間を測定し（Ｓ１３）、計算時間に基づいて、第１候補〜第Ｎ候補の中から第１ニューラルネットワーク１２ａを選択する（Ｓ１４）。以上により、第１ニューラルネットワーク選択処理が終了する。
【００７２】
図９は、本実施形態に係る画像検査装置１００により実行される状態判定処理のフローチャートである。はじめに、画像検査装置１００は、対象物１の画像を撮影する（Ｓ２０）。
【００７３】
その後、画像検査装置１００は、画像を第１ニューラルネットワーク１２ａに入力し、出力層の活性状態を算出する（Ｓ２１）。そして、ＯＫ（対象物１が正常）又はＮＧ（対象物１が以上）に対応する出力層のニューロンの値が最大であるか判定する（Ｓ２２）。すなわち、対象物１が正常とも異常とも判定できないグレー状態に対応する出力層のニューロンの値が最大でないか判定する。
【００７４】
ＯＫ又はＮＧに対応するニューロンの値が最大である場合（Ｓ２２：ＹＥＳ）、画像検査装置１００は、第１ニューラルネットワーク１２ａの出力に基づき、対象物１の状態を判定する（Ｓ２３）。
【００７５】
一方、ＯＫ又はＮＧに対応するニューロンの値が最大でない場合（Ｓ２２：ＮＯ）、すなわちグレーに対応するニューロンの値が最大である場合、画像検査装置１００は、画像を第２ニューラルネットワーク１２ｂに入力し、出力層の活性状態を算出して（Ｓ２４）、第２ニューラルネットワーク１２ｂの出力に基づき、対象物１の状態を判定する（Ｓ２５）。以上により、判定処理が終了する。
【００７６】
このように、本実施形態に係る画像検査装置１００によれば、第２ニューラルネットワーク１２ｂより演算負荷が軽い第１ニューラルネットワーク１２ａによる判定結果が所定の条件を満たす場合に、第２ニューラルネットワーク１２ｂによる判定を省略することで、判定に要する時間の期待値を短くすることができる。
【００７７】
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
【００７８】
本実施形態における態様は、以下のような開示を含む。
【００７９】
［付記１］
対象物（１）の画像を撮影する撮影部（３０）と、
それぞれ複数のニューロンを含む第１ニューラルネットワーク（１２ａ）及び第２ニューラルネットワーク（１２ｂ）を用いて、前記画像に基づいて前記対象物（１）の状態を判定する判定部（１３）と、を備え、
前記第１ニューラルネットワーク（１２ａ）は、前記第２ニューラルネットワーク（１２ｂ）と比較して、演算負荷が軽く、偽陰性率が同等以下であり、偽陽性率が大きく、
前記判定部（１３）は、
前記第１ニューラルネットワーク（１２ａ）を用いて前記対象物（１）の状態を判定した結果が所定の条件を満たす場合、前記第１ニューラルネットワーク（１２ａ）を用いて前記対象物（１）の状態を判定し、
前記第１ニューラルネットワーク（１２ａ）を用いて前記対象物（１）の状態を判定した結果が前記所定の条件を満たさない場合、前記第２ニューラルネットワーク（１２ｂ）を用いて前記対象物（１）の状態を判定する、
画像検査装置（１００）。
【符号の説明】
【００８０】
１０…情報処理装置、１０ａ…ＣＰＵ、１０ｂ…ＲＡＭ、１０ｃ…ＲＯＭ、１０ｄ…通信部、１０ｅ…入力部、１０ｆ…表示部、１１…取得部、１２…記憶部、１２ａ…第１ニューラルネットワーク、１２ｂ…第２ニューラルネットワーク、１２ｃ…学習用画像、１３…判定部、１４…生成部、２０…照明部、３０…撮影部、１００…画像検査装置
【図１】
2020154798.tif 000003
【図２】
2020154798.tif 000004
【図３】
2020154798.tif 000005
【図４】
2020154798.tif 000006
【図５】
2020154798.tif 000007
【図６】
2020154798.tif 000008
【図７】
2020154798.tif 000009
【図８】
2020154798.tif 000010
【図９】
2020154798.tif 000011