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