添付図面を参照して、本発明の実施形態について説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
図1は、本発明の実施形態に係る画像検査装置100の概要を示す図である。画像検査装置100は、情報処理装置10、照明部20及び撮影部30を備える。画像検査装置100は、照明部20によって対象物1に光Lを照射して、対象物1による反射光Rを撮影部30によって撮影し、情報処理装置10によって、対象物1の画像に基づいて、対象物1の状態を判定する。
情報処理装置10は、撮影部30により撮影された画像をニューラルネットワークにより処理して、対象物1の状態を判定する。情報処理装置10は、汎用のコンピュータで構成されてよい。
照明部20は、対象物1に光を照射する。照明部20は、1又は複数のライトを含んで構成されてよく、照明方向及び照明強度等の照明条件が予め設定されていてよい。
撮影部30は、対象物1の画像を撮影する。撮影部30は、照明部20により照明された対象物1の画像を撮影し、画像を情報処理装置10に伝送する。撮影部30は、汎用のデジタルカメラで構成されてよく、撮影条件が予め設定されていてよい。
なお、図1に示す構成は一例であり、画像検査装置100は、情報処理装置10、照明部20及び撮影部30以外の構成を備えていてもよいし、情報処理装置10、照明部20及び撮影部30の一部が一体となった構成を備えていてもよい。
図2は、本実施形態に係る情報処理装置10の機能ブロックを示す図である。情報処理装置10は、取得部11、記憶部12、判定部13、選択部14及び表示部10fを備える。
取得部11は、撮影部30により撮影された対象物1の画像を取得する。なお、取得部11は、外部機器に記憶された対象物1の画像を取得してもよい。
記憶部12は、ニューラルネットワーク12a及び学習用画像12bを記憶する。ニューラルネットワーク12aは、それぞれ1又は複数のニューロンを含む入力層、隠れ層及び出力層を少なくとも含む。ニューラルネットワーク12aは、例えばCNN(Convolutional Neural Network)で構成されてよいが、他のモデルであってもよい。ニューラルネットワーク12aは、対象物1の画像に基づいて、対象物1が正常であるか異常であるかを示す数値を出力したり、対象物1の種類を示す数値を出力したりしてよい。学習用画像12bは、ニューラルネットワーク12aの学習処理に用いられる対象物1の画像であり、対象物1の状態を示すラベルデータが関連付けられていてよい。ニューラルネットワーク12aは、例えば、学習用画像12bを用いた誤差逆伝播法による教師あり学習によって生成されてよい。
判定部13は、ニューラルネットワーク12aを用いて対象物1の状態を判定する。ここで、判定部13は、ニューラルネットワーク12aの隠れ層に含まれる1又は複数のニューロンのうち予め選択された1又は複数のキーニューロンの活性状態に応じて、1又は複数のキーニューロンより後段の計算を行うか否かを判定する。そして、判定部13は、1又は複数のキーニューロンより後段の計算を行わない場合、1又は複数のキーニューロンの活性状態に基づいて、対象物1の状態を判定し、1又は複数のキーニューロンより後段の計算を行う場合、ニューラルネットワーク12aの出力層に含まれる1又は複数のニューロンの活性状態に基づいて、対象物1の状態を判定する。
このように、ニューラルネットワーク12aの隠れ層に含まれる1又は複数のニューロンのうち予め選択された1又は複数のキーニューロンの活性状態に応じてキーニューロンより後段の計算を行うか否かを判定し、所定の場合に後段の計算を省略することで、判定に要する時間の期待値を短くすることができる。
判定部13は、1又は複数のキーニューロンのうち所定割合以上が活性化している場合、1又は複数のキーニューロンより後段の計算を行わないと判定してよい。これにより、キーニューロンのうち所定割合以上が活性化している場合に、対象物1の状態が正常又は異常とただちに判定することができ、判定に要する時間の期待値を短くすることができる。また、判定部13は、1又は複数のキーニューロンのうち所定割合以上が活性化していない場合、1又は複数のキーニューロンより後段の計算を行わないと判定してもよい。これにより、キーニューロンのうち所定割合以上が活性化していない場合に、対象物1の状態が正常又は異常とただちに判定することができ、判定に要する時間の期待値を短くすることができる。判定部13による判定の具体例は、後に詳細に説明する。
選択部14は、ニューラルネットワーク12aの隠れ層に含まれる1又は複数のニューロンのうち、対象物1の状態が既知である複数の学習用画像12bを入力層に入力した場合に、活性状態が所定の条件を満たす1又は複数のニューロンを、1又は複数のキーニューロンとして選択する。選択部14によって、適切なキーニューロンを選択することができ、判定に要する時間の期待値が短いニューラルネットワーク12aを効率良く生成することができる。
より具体的には、選択部14は、1又は複数のキーニューロンの数ができるだけ少なくなり、1又は複数のキーニューロンができるだけ入力層に近くなるように、1又は複数のキーニューロンを選択してよい。これにより、判定に要する時間の期待値がより短いニューラルネットワーク12aを生成することができる。
また、選択部14は、1又は複数のキーニューロンを選択した場合に、1又は複数のキーニューロンの活性状態と、対象物1の状態との関係を決定してよい。1又は複数のキーニューロンの活性状態と、対象物1の状態との関係の具体例については、後に詳細に説明する。このような処理によって、キーニューロンより後段の計算を省略する場合に、キーニューロンの活性状態に基づいて対象物の状態を適切に判定できるようになる。
さらに、選択部14は、1又は複数のキーニューロンを選択した場合に、1又は複数のキーニューロンの活性状態を算出するために必要となる、1又は複数のキーニューロンより前段の1又は複数のニューロンを決定してよい。1又は複数のキーニューロンの活性状態を算出するために必要となる、1又は複数のキーニューロンより前段の1又は複数のニューロンの具体例については、後に詳細に説明する。このような処理によって、キーニューロンの活性状態を算出するために、演算が必須である前段のニューロンが決定され、キーニューロンの活性状態をより短い演算時間で求めることができるようになり、判定に要する時間の期待値がより短いニューラルネットワーク12aを生成することができる。
表示部10fは、判定部13の判定結果を対象物1の画像とともに表示したり、選択部14により選択されたキーニューロンを表示したりする。表示部10fは、ニューラルネットワーク12aの模式図と、選択部14により選択されたキーニューロンとを表示してよい。
図3は、本実施形態に係る情報処理装置10の物理的構成を示す図である。情報処理装置10は、演算部に相当するCPU(Central Processing Unit)10aと、記憶部に相当するRAM(Random Access Memory)10bと、記憶部に相当するROM(Read only Memory)10cと、通信部10dと、入力部10eと、表示部10fと、を有する。これらの各構成は、バスを介して相互にデータ送受信可能に接続される。なお、本例では情報処理装置10が一台のコンピュータで構成される場合について説明するが、情報処理装置10は、複数のコンピュータが組み合わされて実現されてもよい。また、図3で示す構成は一例であり、情報処理装置10はこれら以外の構成を有してもよいし、これらの構成のうち一部を有さなくてもよい。
CPU10aは、RAM10b又はROM10cに記憶されたプログラムの実行に関する制御やデータの演算、加工を行う制御部である。CPU10aは、対象物の画像に基づいて、ニューラルネットワーク12aを用いて対象物の状態を判定するプログラム(画像検査プログラム)を実行する演算部である。CPU10aは、入力部10eや通信部10dから種々のデータを受け取り、データの演算結果を表示部10fに表示したり、RAM10bやROM10cに格納したりする。
RAM10bは、記憶部のうちデータの書き換えが可能なものであり、例えば半導体記憶素子で構成されてよい。RAM10bは、CPU10aが実行する画像検査プログラム、学習用画像12bといったデータを記憶してよい。なお、これらは例示であって、RAM10bには、これら以外のデータが記憶されていてもよいし、これらの一部が記憶されていなくてもよい。
ROM10cは、記憶部のうちデータの読み出しが可能なものであり、例えば半導体記憶素子で構成されてよい。ROM10cは、例えば画像検査プログラムや、書き換えが行われないデータを記憶してよい。
通信部10dは、情報処理装置10を他の機器に接続するインターフェースである。通信部10dは、インターネット等の通信ネットワークに接続されてよい。
入力部10eは、ユーザからデータの入力を受け付けるものであり、例えば、キーボード及びタッチパネルを含んでよい。
表示部10fは、CPU10aによる演算結果を視覚的に表示するものであり、例えば、LCD(Liquid Crystal Display)により構成されてよい。表示部10fは、撮影部30により撮影された対象物の画像を表示したり、学習用画像12bを表示したり、判定結果を表示したり、キーニューロンを表示したりしてよい。
画像検査プログラムは、RAM10bやROM10c等のコンピュータによって読み取り可能な記憶媒体に記憶されて提供されてもよいし、通信部10dにより接続される通信ネットワークを介して提供されてもよい。情報処理装置10では、CPU10aが画像検査プログラムを実行することにより、図2を用いて説明した様々な動作が実現される。なお、これらの物理的な構成は例示であって、必ずしも独立した構成でなくてもよい。例えば、情報処理装置10は、CPU10aとRAM10bやROM10cが一体化したLSI(Large-Scale Integration)を備えていてもよい。
図4は、本実施形態に係る画像検査装置100により撮影される第1画像IMG1を示す図である。第1画像IMG1は、対象物1を撮影した画像である。第1画像IMG1には、第1線欠陥D1及び第2線欠陥D2が写されている。第1線欠陥D1は、対象物1に生じた傷であり、第2線欠陥D2は、対象物1の背景に生じている傷である。対象物1は、第1線欠陥D1を含むため異常であるが、第2線欠陥D2は対象物1の良否に関係しない。
図5は、本実施形態に係る画像検査装置100により用いられるニューラルネットワーク12aの第1例を示す図である。同図では、ニューラルネットワーク12aの入力層INと、隠れ層HDNと、出力層OUTとを模式的に示している。隠れ層HDNは、複数のニューロンを含む。
本例のニューラルネットワーク12aは、隠れ層HDNの前段に含まれる複数のニューロンによって画像に含まれるエッジを識別し、中段に含まれる複数のニューロンによって画像に含まれる角を識別したり、白線や黒線を識別したりし、後段に含まれる複数のニューロンによって対象物1の特定の形状を識別する。なお、これらの識別内容は、説明のため簡略化している。
本例では、隠れ層HDNに含まれる第1キーニューロンKEY1を選択している。第1キーニューロンKEY1は、画像に白色の線欠陥が含まれる場合に活性化するニューロンである。第1キーニューロンKEY1の値を算出するためには、前段の複数のニューロンの値を算出する必要があるが、第1ニューロンN1、第2ニューロンN2、第3ニューロンN3及び第4ニューロンN4の値を算出する必要はない。
選択部14は、第1キーニューロンKEY1を選択した場合に、第1ニューロンN1、第2ニューロンN2、第3ニューロンN3及び第4ニューロンN4以外の第1キーニューロンKEY1より前段の複数のニューロンを、第1キーニューロンKEY1の活性状態を算出するために必要となる複数のニューロンであると決定する。
そして、判定部13は、第1キーニューロンKEY1より後段の計算を行わない場合、第1キーニューロンKEY1の活性状態に基づいて対象物1の状態を判定し、第1ニューロンN1、第2ニューロンN2、第3ニューロンN3、第4ニューロンN4、第1ニューロングループG1及び第2ニューロングループG2の演算を省略する。これにより、対象物1の状態を判定する処理を高速化することができる。
一方、第1キーニューロンKEY1より後段の計算を行う場合、判定部13は、第1ニューロンN1、第2ニューロンN2、第3ニューロンN3、第4ニューロンN4、第1ニューロングループG1及び第2ニューロングループG2の演算を行い、出力層OUTに含まれる1又は複数のニューロンの活性状態に基づいて、対象物1の状態を判定する。
図6は、本実施形態に係る画像検査装置100により用いられるニューラルネットワーク12aのニューロンの活性状態の第1例を示す図である。同図では、対象物1が正常(OK)である場合のL1枚の学習用画像12bと、対象物1が異常(NG)である場合のL2枚の学習用画像12bとについて、ニューラルネットワーク12aの隠れ層に含まれるM個のニューロンの活性状態を示している。同図において、濃い色で示された領域のニューロンは活性化しており、白色で示された領域のニューロンは活性化していないことを示している。
本例では、選択部14は、対象物1が正常である場合には活性化しないが、対象物1が異常である場合に活性化することがあるニューロンを第1キーニューロンKEY1として選択している。第1キーニューロンKEY1は、L1枚の正常な対象物1の学習用画像12bが入力された場合に活性化していないが、L2枚の異常な対象物1の学習用画像12bが入力された場合に、活性化することがある。例えば、Xという異常な対象物1の学習用画像12bが入力された場合に、第1キーニューロンKEY1は活性化している。
本例の場合、判定部13は、第1キーニューロンKEY1が活性化している場合、第1キーニューロンKEY1より後段の計算を行わないと判定し、ただちに対象物1は異常であると判定する。このようにして、ニューラルネットワーク12aの演算時間の期待値を短くすることができる。
図7は、本実施形態に係る画像検査装置100により実行されるキーニューロン決定処理のフローチャートである。はじめに、画像検査装置100は、複数の学習用画像12bをニューラルネットワーク12aに入力し(S10)、隠れ層に含まれるニューロンのうち、活性状態が所定の条件を満たす1又は複数のキーニューロンを選択する(S11)。ここで、所定の条件は、例えば、対象物1が正常である場合には活性化しないが、対象物1が異常である場合に活性化することがあるという条件であってよい。
次に、画像検査装置100は、キーニューロンの活性状態と、対象物1の状態との関係を決定する。キーニューロンの活性状態と、対象物1の状態との関係は、例えば、キーニューロンが活性化した場合、対象物1の状態が異常であるという関係であってよい。
その後、画像検査装置100は、キーニューロンの活性状態を算出するために必要となる、前段のニューロンを決定する。画像検査装置100は、キーニューロンに接続されている前段の全てのニューロンを抽出し、それらのニューロンを、キーニューロンの活性状態を算出するために必要となる前段のニューロンであると決定してよい。以上により、キーニューロン決定処理が終了する。
図8は、本実施形態に係る画像検査装置100により実行される判定処理のフローチャートである。はじめに、画像検査装置100は、対象物1の画像を撮影し(S20)、画像をニューラルネットワーク12aに入力し、キーニューロンの活性状態を算出する(S21)。ここで、画像検査装置100は、キーニューロンの活性状態を算出するために必要となるニューロンについて演算を行い、それ以外のニューロンについては演算を行わなくてよい。
その後、キーニューロンの活性状態が所定の条件を満たす場合(S22:YES)、画像検査装置100は、キーニューロンの活性状態に基づき、対象物1の状態を判定する(S23)。この場合、ニューラルネットワーク12aに含まれる複数のニューロンの演算を省略することができ、短い演算時間で判定結果を得ることができる。
一方、キーニューロンの活性状態が所定の条件を満たさない場合(S22:NO)、画像検査装置100は、出力層のニューロンの活性状態を算出し(S24)、画像検査装置100は、出力層のニューロンの活性状態に基づき、対象物1の状態を判定する(S25)。この場合、画像検査装置100は、ニューラルネットワーク12aに含まれる全てのニューロンの演算を行う。以上により、判定処理が終了する。
図9は、本実施形態に係る画像検査装置100により用いられるニューラルネットワーク12aの第2例を示す図である。同図では、ニューラルネットワーク12aの入力層INと、隠れ層HDNと、出力層OUTとを模式的に示している。隠れ層HDNは、複数のニューロンを含む。
本例では、隠れ層HDNに含まれる第2キーニューロンKEY2、第3キーニューロンKEY3及び第4キーニューロンKEY4を選択している。第2キーニューロンKEY2は、画像に水平な白線が含まれる場合に活性化するニューロンである。また、第3キーニューロンKEY3は、画像に右下がりの白線が含まれる場合に活性化するニューロンである。また、第4キーニューロンKEY4は、画像に右下がりの黒線が含まれる場合に活性化するニューロンである。第2キーニューロンKEY2、第3キーニューロンKEY3及び第4キーニューロンKEY4の値を算出するためには、前段の複数のニューロンの値を算出する必要があるが、第1ニューロンN1及び第2ニューロンN2の値を算出する必要はない。
選択部14は、第2キーニューロンKEY2、第3キーニューロンKEY3及び第4キーニューロンKEY4を選択した場合に、第1ニューロンN1及び第2ニューロンN2以外の、第2キーニューロンKEY2、第3キーニューロンKEY3及び第4キーニューロンKEY4より前段の複数のニューロンを、第2キーニューロンKEY2、第3キーニューロンKEY3及び第4キーニューロンKEY4の活性状態を算出するために必要となる複数のニューロンであると決定する。
そして、判定部13は、第2キーニューロンKEY2、第3キーニューロンKEY3及び第4キーニューロンKEY4より後段の計算を行わない場合、第2キーニューロンKEY2、第3キーニューロンKEY3及び第4キーニューロンKEY4の活性状態に基づいて対象物1の状態を判定し、第1ニューロンN1、第2ニューロンN2、第1ニューロングループG1、第2ニューロングループG2及び第3ニューロングループG3の演算を省略する。これにより、対象物1の状態を判定する処理を高速化することができる。
一方、第2キーニューロンKEY2、第3キーニューロンKEY3及び第4キーニューロンKEY4より後段の計算を行う場合、判定部13は、第1ニューロンN1、第2ニューロンN2、第1ニューロングループG1、第2ニューロングループG2及び第3ニューロングループG3の演算を行い、出力層OUTに含まれる1又は複数のニューロンの活性状態に基づいて、対象物1の状態を判定する。
図10は、本実施形態に係る画像検査装置100により用いられるニューラルネットワークのニューロンの活性状態の第2例を示す図である。同図では、対象物1が正常(OK)である場合のL1枚の学習用画像12bと、対象物1が異常(NG)である場合のL2枚の学習用画像12bとについて、ニューラルネットワーク12aの隠れ層に含まれるM個のニューロンの活性状態を示している。同図において、濃い色で示された領域のニューロンは活性化しており、白色で示された領域のニューロンは活性化していないことを示している。
本例では、選択部14は、対象物1が異常である場合にいずれかが活性化するが、対象物1が正常である場合にはいずれも活性化しない場合がある複数のニューロンを第2キーニューロンKEY2、第3キーニューロンKEY3及び第4キーニューロンKEY4として選択している。第2キーニューロンKEY2、第3キーニューロンKEY3及び第4キーニューロンKEY4は、L2枚の異常な対象物1の学習用画像12bが入力された場合にいずれかが活性化しているが、L1枚の正常な対象物1の学習用画像12bが入力された場合にいずれも活性化しないことがある。例えば、Xという正常な対象物1の学習用画像12bが入力された場合に、第2キーニューロンKEY2、第3キーニューロンKEY3及び第4キーニューロンKEY4はいずれも活性化していない。
本例の場合、判定部13は、第2キーニューロンKEY2、第3キーニューロンKEY3及び第4キーニューロンKEY4がいずれも活性化していない場合、第2キーニューロンKEY2、第3キーニューロンKEY3及び第4キーニューロンKEY4より後段の計算を行わないと判定し、ただちに対象物1は正常であると判定する。このようにして、ニューラルネットワーク12aの演算時間の期待値を短くすることができる。
図11は、本実施形態に係る画像検査装置100により用いられるニューラルネットワークのニューロンの活性状態の第3例を示す図である。同図では、対象物1が正常(OK)である場合のL1枚の学習用画像12bと、対象物1が異常(NG)である場合のL2枚の学習用画像12bとについて、ニューラルネットワーク12aの隠れ層に含まれるM個のニューロンの活性状態を示している。同図において、濃い色で示された領域のニューロンは活性化しており、白色で示された領域のニューロンは活性化していないことを示している。
本例では、選択部14は、対象物1が異常である場合に活性化しないが、対象物1が正常である場合には活性化する場合があるニューロンを第5キーニューロンKEY5として選択している。第5キーニューロンKEY5は、L2枚の異常な対象物1の学習用画像12bが入力された場合に活性化していないが、L1枚の正常な対象物1の学習用画像12bが入力された場合に活性化することがある。例えば、Xという正常な対象物1の学習用画像12bが入力された場合に、第5キーニューロンKEY5は活性化している。
本例の場合、判定部13は、第5キーニューロンKEY5が活性化している場合、第5キーニューロンKEY5より後段の計算を行わないと判定し、ただちに対象物1は正常であると判定する。このようにして、ニューラルネットワーク12aの演算時間の期待値を短くすることができる。
図12は、本実施形態に係る画像検査装置100により撮影される第2画像IMG2を示す図である。第2画像IMG2は、対象物1を撮影した画像であるが、対象物1の全体が含まれておらず、対象物1の上側のみ含まれている。第2画像IMG2には、欠陥が写されていないが、対象物1の全体が写されていないため、異常と判定されるべき画像である。
図13は、本実施形態に係る画像検査装置100により用いられるニューラルネットワーク12aの第3を示す図である。同図では、ニューラルネットワーク12aの入力層INと、隠れ層HDNと、出力層OUTとを模式的に示している。隠れ層HDNは、複数のニューロンを含む。
本例では、隠れ層HDNに含まれる第6キーニューロンKEY6及び第7キーニューロンKEY7を選択している。第6キーニューロンKEY6は、画像に対象物1の一角が含まれる場合に活性化するニューロンである。また、第7キーニューロンKEY7は、画像に対象物1の他の一角が含まれる場合に活性化するニューロンである。第6キーニューロンKEY6及び第7キーニューロンKEY7の値を算出するためには、前段の複数のニューロンの値を算出する必要があるが、第3ニューロンN3、第5ニューロンN5及び第6ニューロンN6の値を算出する必要はない。
選択部14は、第6キーニューロンKEY6及び第7キーニューロンKEY7を選択した場合に、第3ニューロンN3、第5ニューロンN5及び第6ニューロンN6以外の前段の複数のニューロンを、第6キーニューロンKEY6及び第7キーニューロンKEY7の活性状態を算出するために必要となる複数のニューロンであると決定する。
そして、判定部13は、第6キーニューロンKEY6及び第7キーニューロンKEY7より後段の計算を行わない場合、第6キーニューロンKEY6及び第7キーニューロンKEY7の活性状態に基づいて対象物1の状態を判定し、第3ニューロンN3、第5ニューロンN5、第6ニューロンN6、第7ニューロンN7、第8ニューロンN8及び第2ニューロングループG2の演算を省略する。これにより、対象物1の状態を判定する処理を高速化することができる。
一方、第6キーニューロンKEY6及び第7キーニューロンKEY7より後段の計算を行う場合、判定部13は、第3ニューロンN3、第5ニューロンN5、第6ニューロンN6、第7ニューロンN7、第8ニューロンN8及び第2ニューロングループG2の演算を行い、出力層OUTに含まれる1又は複数のニューロンの活性状態に基づいて、対象物1の状態を判定する。
図14は、本実施形態に係る画像検査装置100により用いられるニューラルネットワークのニューロンの活性状態の第4例を示す図である。同図では、対象物1が正常(OK)である場合のL1枚の学習用画像12bと、対象物1が異常(NG)である場合のL2枚の学習用画像12bとについて、ニューラルネットワーク12aの隠れ層に含まれるM個のニューロンの活性状態を示している。同図において、濃い色で示された領域のニューロンは活性化しており、白色で示された領域のニューロンは活性化していないことを示している。
本例では、選択部14は、対象物1が正常である場合にはいずれかが活性化するが、対象物1が異常である場合にいずれも活性化しないことがある複数のニューロンを第6キーニューロンKEY6、第7キーニューロンKEY7、第8キーニューロンKEY8及び第9キーニューロンKEY9として選択している。第6キーニューロンKEY6、第7キーニューロンKEY7、第8キーニューロンKEY8及び第9キーニューロンKEY9は、L1枚の正常な対象物1の学習用画像12bが入力された場合にいずれかが活性化しているが、L2枚の異常な対象物1の学習用画像12bが入力された場合に、活性化しないことがある。例えば、Xという異常な対象物1の学習用画像12bが入力された場合に、第6キーニューロンKEY6、第7キーニューロンKEY7、第8キーニューロンKEY8及び第9キーニューロンKEY9いずれも活性化していない。
本例の場合、判定部13は、第6キーニューロンKEY6、第7キーニューロンKEY7、第8キーニューロンKEY8及び第9キーニューロンKEY9がいずれも活性化していない場合、第6キーニューロンKEY6、第7キーニューロンKEY7、第8キーニューロンKEY8及び第9キーニューロンKEY9より後段の計算を行わないと判定し、ただちに対象物1は異常であると判定する。このようにして、ニューラルネットワーク12aの演算時間の期待値を短くすることができる。
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
本実施形態における態様は、以下のような開示を含む。
[付記1]
対象物(1)の画像を撮影する撮影部(30)と、
それぞれ1又は複数のニューロンを含む入力層、隠れ層及び出力層を少なくとも含むニューラルネットワークを用いて前記対象物(1)の状態を判定する判定部(13)と、を備え、
前記判定部(13)は、
前記隠れ層に含まれる前記1又は複数のニューロンのうち予め選択された1又は複数のキーニューロンの活性状態に応じて、前記1又は複数のキーニューロンより後段の計算を行うか否かを判定し、
前記1又は複数のキーニューロンより後段の計算を行わない場合、前記1又は複数のキーニューロンの活性状態に基づいて、前記対象物(1)の状態を判定し、
前記1又は複数のキーニューロンより後段の計算を行う場合、前記出力層に含まれる前記1又は複数のニューロンの活性状態に基づいて、前記対象物(1)の状態を判定する、
画像検査装置(100)。