(57)【要約】【課題】イレギュラーな異常が検査対象物に生じた場合や、検査対象物の画像に何らかの不具合が生じた場合であっても、異常の有無の誤判定が防止される検査装置、検査方法及び検査プログラムを提供する。【解決手段】検査装置１０は、学習済みモデルに対し、新たに取得された検査対象物１００の画像である取得画像を入力し、学習済みモデルの出力結果に基づいて、取得画像に異常が含まれているか否かを判定する判定部１４と、初期データセットに含まれる第１種画像及び第２種画像に対する取得画像の関連度に基づいて、判定部１４による判定結果の信用性を評価する指標を算出する算出部１２と、指標と閾値との比較に基づいて、判定部１４による判定結果を採用するか、判定部１４による判定結果を採用せずに判定を保留するか決定する決定部１５と、を備える。【選択図】図１
2019020138.tif 000002
【特許請求の範囲】
【請求項１】
異常が含まれている検査対象物の画像である第１種画像及び異常が含まれていない検査対象物の画像である第２種画像を含む初期データセットの少なくとも一部を学習用データとして学習された学習済みモデルに対し、新たに取得された検査対象物の画像である取得画像を入力し、前記学習済みモデルの出力結果に基づいて、前記取得画像に異常が含まれているか否かを判定する判定部と、
前記初期データセットに含まれる前記第１種画像及び前記第２種画像に対する前記取得画像の関連度に基づいて、前記判定部による判定結果の信用性を評価する指標を算出する算出部と、
前記指標と閾値との比較に基づいて、前記判定部による判定結果を採用するか、前記判定部による判定結果を採用せずに判定を保留するか決定する決定部と、
を備える検査装置。
【請求項２】
前記算出部は、
前記学習済みモデルの前記出力結果に含まれる複数の数値の偏りを評価する評価値を算出し、
前記初期データセットのうち前記学習用データに含まれていない前記第１種画像及び前記第２種画像を検証用データとして前記学習済みモデルに入力した場合と、前記取得画像を前記学習済みモデルに入力した場合と、それぞれについて算出された前記評価値の比較に基づいて前記関連度を算出する、
請求項１に記載の検査装置。
【請求項３】
前記閾値の変更を受け付ける受付部をさらに備える、
請求項２に記載の検査装置。
【請求項４】
前記判定部は、前記学習済みモデルに対し、前記初期データセットのうち前記学習用データ及び前記検証用データに含まれていない前記第１種画像及び前記第２種画像をテスト用データとして入力し、前記学習済みモデルの出力結果に基づいて、前記テスト用データに異常が含まれているか否かを判定し、
前記算出部は、
前記検証用データを前記学習済みモデルに入力した場合と、前記テスト用データを前記学習済みモデルに入力した場合と、それぞれについて算出された前記評価値の比較に基づいて前記関連度を算出し、
前記検証用データに対する前記テスト用データの前記関連度に基づいて、前記指標を算出し、
前記テスト用データについて、前記判定部による判定結果の正誤と、前記指標との関係を示すデータを出力する出力部をさらに備える、
請求項３に記載の検査装置。
【請求項５】
前記出力部は、前記テスト用データについて、前記判定部による判定結果の正誤と、前記指標との関係を示すグラフを出力する、
請求項４に記載の検査装置。
【請求項６】
前記受付部は、前記グラフ上で前記閾値の変更を受け付ける、
請求項５に記載の検査装置。
【請求項７】
前記算出部は、
前記取得画像を前記学習済みモデルに入力した場合における前記学習済みモデルの前記出力結果に含まれる複数の数値それぞれについて、前記関連度を算出し、
前記複数の数値それぞれについて算出された前記関連度のうち最も大きい値に基づいて、前記指標を算出する、
請求項１から６のいずれか一項に記載の検査装置。
【請求項８】
前記算出部は、
前記取得画像を前記学習済みモデルに入力した場合における前記学習済みモデルの前記出力結果に含まれる複数の数値それぞれについて、前記関連度を算出し、
前記複数の数値それぞれについて算出された前記関連度のうち２番目に大きい値に基づいて、前記指標を算出する、
請求項１から６のいずれか一項に記載の検査装置。
【請求項９】
異常が含まれている検査対象物の画像である第１種画像及び異常が含まれていない検査対象物の画像である第２種画像を含む初期データセットの少なくとも一部を学習用データとして学習された学習済みモデルに対し、新たに取得された検査対象物の画像である取得画像を入力し、前記学習済みモデルの出力結果に基づいて、前記取得画像に異常が含まれているか否かを判定するステップと、
前記初期データセットに含まれる前記第１種画像及び前記第２種画像に対する前記取得画像の関連度に基づいて、前記判定するステップによる判定結果の信用性を評価する指標を算出するステップと、
前記指標と閾値との比較に基づいて、前記判定するステップによる判定結果を採用するか、前記判定するステップによる判定結果を採用せずに判定を保留するか決定するステップと、
を含む検査方法。
【請求項１０】
検査装置に備えられたコンピュータを、
異常が含まれている検査対象物の画像である第１種画像及び異常が含まれていない検査対象物の画像である第２種画像を含む初期データセットの少なくとも一部を学習用データとして学習された学習済みモデルに対し、新たに取得された検査対象物の画像である取得画像を入力し、前記学習済みモデルの出力結果に基づいて、前記取得画像に異常が含まれているか否かを判定する判定部、
前記初期データセットに含まれる前記第１種画像及び前記第２種画像に対する前記取得画像の関連度に基づいて、前記判定部による判定結果の信用性を評価する指標を算出する算出部、及び
前記指標と閾値との比較に基づいて、前記判定部による判定結果を採用するか、前記判定部による判定結果を採用せずに判定を保留するか決定する決定部、
として機能させる検査プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検査装置、検査方法及び検査プログラムに関する。
【背景技術】
【０００２】
従来、生産ラインを流れる検査対象物の画像を撮影して、検査対象物に関する異常の有無を検出することがあった。検査対象物の異常は、例えば検査対象物に付いている傷や汚れであったり、検査対象物に混入した異物であったりする。
【０００３】
異常検出に関して、例えば下記特許文献１には、学習済みの第１のニューラルネットワークによって検査対象信号を正常と正常以外とに分類する第１処理部と、学習済みの第２のニューラルネットワークによって、第１処理部により正常以外に分類された検査対象信号から正常以外の領域を含む部分信号を抽出し、部分信号について異常の種類を分類する第２処理部と、を備える検査装置が記載されている。
が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−２６９８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の検査装置によれば、検査対象物の画像を入力し、第１処理部によって検査対象物に関する異常の有無を検出することができ、第２処理部によって異常の種類を分類することができる。しかしながら、学習済みモデルによって検出することのできる異常の態様は、学習用データに含まれる異常の態様と大きく異ならない範囲のものである。そのため、例えば、学習用データにほとんど含まれていないか全く含まれていないようなイレギュラーな異常が検査対象物に生じた場合や、検査対象物の画像に何らかの不具合が生じた場合には、学習済みモデルは、異常の有無を誤判定してしまうおそれがある。
【０００６】
そこで、本発明は、イレギュラーな異常が検査対象物に生じた場合や、検査対象物の画像に何らかの不具合が生じた場合であっても、異常の有無の誤判定が防止される検査装置、検査方法及び検査プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様に係る検査装置は、異常が含まれている検査対象物の画像である第１種画像及び異常が含まれていない検査対象物の画像である第２種画像を含む初期データセットの少なくとも一部を学習用データとして学習された学習済みモデルに対し、新たに取得された検査対象物の画像である取得画像を入力し、学習済みモデルの出力結果に基づいて、取得画像に異常が含まれているか否かを判定する判定部と、初期データセットに含まれる第１種画像及び第２種画像に対する取得画像の関連度に基づいて、判定部による判定結果の信用性を評価する指標を算出する算出部と、指標と閾値との比較に基づいて、判定部による判定結果を採用するか、判定部による判定結果を採用せずに判定を保留するか決定する決定部と、を備える。
【０００８】
この態様によれば、新たに取得された検査対象物の画像に異常が含まれているか否かの判定結果について信用性を評価する指標を算出し、指標と閾値の比較に基づいて、判定結果を採用するか、判定結果を採用せずに判定を保留するか決定することで、イレギュラーな異常が検査対象物に生じた場合や、検査対象物の画像に何らかの不具合が生じた場合であっても、異常の有無の誤判定が防止される。
【０００９】
上記態様において、算出部は、学習済みモデルの出力結果に含まれる複数の数値の偏りを評価する評価値を算出し、初期データセットのうち学習用データに含まれていない第１種画像及び第２種画像を検証用データとして学習済みモデルに入力した場合と、取得画像を学習済みモデルに入力した場合と、それぞれについて算出された評価値の比較に基づいて関連度を算出してもよい。
【００１０】
この態様によれば、取得画像を学習済みモデルに入力した場合に学習済みモデルから出力される複数の数値について、複数の数値の偏りを評価する評価値を算出し、検証用データについて算出された評価値と比べることで、取得画像が検証用データと比較してありふれたものであるかを定量的に表すことができる。
【００１１】
上記態様において、閾値の変更を受け付ける受付部をさらに備えてもよい。
【００１２】
この態様によれば、判定結果を採用するか、判定結果を採用せずに判定を保留するかという判断の基準となる閾値を変更可能とすることで、判定を保留しすぎないように、異常の有無の誤判定を防止することができる。
【００１３】
上記態様において、判定部は、学習済みモデルに対し、初期データセットのうち学習用データ及び検証用データに含まれていない第１種画像及び第２種画像をテスト用データとして入力し、学習済みモデルの出力結果に基づいて、テスト用データに異常が含まれているか否かを判定し、算出部は、検証用データを学習済みモデルに入力した場合と、テスト用データを学習済みモデルに入力した場合と、それぞれについて算出された評価値の比較に基づいて関連度を算出し、検証用データに対するテスト用データの関連度に基づいて、指標を算出し、テスト用データについて、判定部による判定結果の正誤と、指標との関係を示すデータを出力する出力部をさらに備えてもよい。
【００１４】
この態様によれば、テスト用データについて、判定結果の正誤と指標との関係を示すデータを出力することで、指標がどの程度の値であれば判定を誤ることがあるのか、おおよその傾向を把握することができる。
【００１５】
上記態様において、出力部は、テスト用データについて、判定部による判定結果の正誤と、指標との関係を示すグラフを出力してもよい。
【００１６】
この態様によれば、テスト用データについて、判定結果の正誤と指標との関係を示すグラフを出力することで、指標がどの程度の値であれば判定を誤ることがあるのかを視覚的に把握することができ、判定結果の正誤と指標との関係の全体像を容易に把握することができる。
【００１７】
上記態様において、受付部は、グラフ上で閾値の変更を受け付けてもよい。
【００１８】
この態様によれば、テスト用データについて、指標がどの程度の値であれば判定を誤ることがあるのかを視覚的に把握した上で閾値を変更することができ、適切な閾値の設定が容易となる。
【００１９】
上記態様において、算出部は、取得画像を学習済みモデルに入力した場合における学習済みモデルの出力結果に含まれる複数の数値それぞれについて、関連度を算出し、複数の数値それぞれについて算出された関連度のうち最も大きい値に基づいて、指標を算出してもよい。
【００２０】
上記態様において、算出部は、取得画像を学習済みモデルに入力した場合における学習済みモデルの出力結果に含まれる複数の数値それぞれについて、関連度を算出し、複数の数値それぞれについて算出された関連度のうち２番目に大きい値に基づいて、指標を算出してもよい。
【００２１】
本発明の他の態様に係る検査方法は、異常が含まれている検査対象物の画像である第１種画像及び異常が含まれていない検査対象物の画像である第２種画像を含む初期データセットの少なくとも一部を学習用データとして学習された学習済みモデルに対し、新たに取得された検査対象物の画像である取得画像を入力し、学習済みモデルの出力結果に基づいて、取得画像に異常が含まれているか否かを判定するステップと、初期データセットに含まれる第１種画像及び第２種画像に対する取得画像の関連度に基づいて、判定するステップによる判定結果の信用性を評価する指標を算出するステップと、指標と閾値との比較に基づいて、判定するステップによる判定結果を採用するか、判定するステップによる判定結果を採用せずに判定を保留するか決定するステップと、を含む。
【００２２】
この態様によれば、新たに取得された検査対象物の画像に異常が含まれているか否かの判定結果について信用性を評価する指標を算出し、指標と閾値の比較に基づいて、判定結果を採用するか、判定結果を採用せずに判定を保留するか決定することで、イレギュラーな異常が検査対象物に生じた場合や、検査対象物の画像に何らかの不具合が生じた場合であっても、異常の有無の誤判定が防止される。
【００２３】
本発明の他の態様に係る検査プログラムは、検査装置に備えられたコンピュータを、
異常が含まれている検査対象物の画像である第１種画像及び異常が含まれていない検査対象物の画像である第２種画像を含む初期データセットの少なくとも一部を学習用データとして学習された学習済みモデルに対し、新たに取得された検査対象物の画像である取得画像を入力し、学習済みモデルの出力結果に基づいて、取得画像に異常が含まれているか否かを判定する判定部、初期データセットに含まれる第１種画像及び第２種画像に対する取得画像の関連度に基づいて、判定部による判定結果の信用性を評価する指標を算出する算出部、及び指標と閾値との比較に基づいて、判定部による判定結果を採用するか、判定部による判定結果を採用せずに判定を保留するか決定する決定部、として機能させる。
【００２４】
この態様によれば、新たに取得された検査対象物の画像に異常が含まれているか否かの判定結果について信用性を評価する指標を算出し、指標と閾値の比較に基づいて、判定結果を採用するか、判定結果を採用せずに判定を保留するか決定することで、イレギュラーな異常が検査対象物に生じた場合や、検査対象物の画像に何らかの不具合が生じた場合であっても、異常の有無の誤判定が防止される。
【発明の効果】
【００２５】
本発明によれば、イレギュラーな異常が検査対象物に生じた場合や、検査対象物の画像に何らかの不具合が生じた場合であっても、異常の有無の誤判定が防止される検査装置、検査方法及び検査プログラムを提供することができる。
【図面の簡単な説明】
【００２６】
【図１】本発明の実施形態に係る検査装置のネットワーク構成を示す図である。
【図２】本発明の実施形態に係る検査装置の物理的構成を示す図である。
【図３】本発明の実施形態に係る検査装置の機能ブロックを示す図である。
【図４】本発明の実施形態に係る検査装置により実行される第１処理のフローチャートである。
【図５】本発明の実施形態に係る検査装置により実行される第２処理のフローチャートである。
【図６】本発明の実施形態に係る検査装置により実行される第３処理のフローチャートである。
【図７】本発明の実施形態に係る検査装置により表示される閾値設定画面の一例である。
【発明を実施するための形態】
【００２７】
添付図面を参照して、本発明の実施形態について説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【００２８】
図１は、本発明の実施形態に係る検査装置１０のネットワーク構成を示す図である。検査装置１０は、専用又は汎用のコンピュータであり、例えば、本実施形態に係る検査プログラムがインストールされた汎用のコンピュータであってよい。検査装置１０は、通信ネットワークＮを介して、画像データベースＤＢ及びカメラ３０と接続される。通信ネットワークＮは、有線又は無線の通信網であり、例えばＬＡＮ（Local Area Network）やインターネットであってよい。
【００２９】
検査装置１０は、カメラ３０によって撮影された検査対象物１００の画像を、通信ネットワークＮを介して取得し、学習済みモデルによって検査対象物１００に異常があるか否かを判定したり、異常が有る場合には異常の種類を判定したりする。ここで、学習済みモデルとは、例えば学習済みのニューラルネットワークであるが、学習済みのサポートベクターマシン等他のモデルであってもよい。なお、学習済みモデルは、検査装置１０に記憶されていてもよいし、通信ネットワークＮを介して検査装置１０と接続されるものであってもよい。
【００３０】
画像データベースＤＢは、異常が含まれている検査対象物の画像である第１種画像及び異常が含まれていない検査対象物の画像である第２種画像を含む初期データセットを格納する。初期データセットは、検査対象物に異常が含まれているか否かに関する教師データを含む。教師データは、異常の有無、すなわち画像が第１種画像であるか第２種画像であるかを区別するための情報を含み、異常が含まれている場合には異常の種類、異常の位置といった情報を含んでよい。初期データセットは、学習用データと、検証用データと、テスト用データに分けられてよい。検査装置１０は、初期データセットの少なくとも一部を学習用データとして学習された学習済みモデルを用いて、検査対象物１００の画像に異常が含まれているか否かを判定し、判定結果を採用するか、判定を保留するか決定する。
【００３１】
カメラ３０は、検査対象物１００の画像を撮影する。カメラ３０によって撮影された画像の全部又は一部は、画像データベースＤＢに格納されてよい。カメラ３０は、可視光を撮影する一般的なデジタルカメラであってよいが、赤外線やＸ線等を撮影するカメラであってもよいし、電子顕微鏡等のように光以外によって検査対象物１００を撮影するカメラであってもよい。
【００３２】
図２は、本発明の実施形態に係る検査装置１０の物理的な構成を示す図である。検査装置１０は、ハードウェアプロセッサに相当するＣＰＵ（Central Processing Unit）１０ａと、メモリに相当するＲＡＭ（Random Access Memory）１０ｂと、メモリに相当するＲＯＭ（Read Only Memory）１０ｃと、通信部１０ｄと、入力部１０ｅと、表示部１０ｆとを有する。これら各構成は、バスを介して相互にデータ送受信可能に接続される。
【００３３】
ＣＰＵ１０ａは、ＲＡＭ１０ｂ又はＲＯＭ１０ｃに記憶されたプログラムの実行に関する制御やデータの演算、加工を行う制御部である。ＣＰＵ１０ａは、検査対象物の検査に関するプログラム（検査プログラム）を実行する演算装置である。ＣＰＵ１０ａは、入力部１０ｅや通信部１０ｄから種々の入力データを受け取り、入力データの演算結果を表示部１０ｆに表示したり、ＲＡＭ１０ｂやＲＯＭ１０ｃに格納したりする。
【００３４】
ＲＡＭ１０ｂは、データの書き換えが可能な記憶部であり、例えば半導体記憶素子で構成される。ＲＡＭ１０ｂは、ＣＰＵ１０ａが実行するアプリケーション等のプログラムやデータを記憶する。
【００３５】
ＲＯＭ１０ｃは、データの読み出しのみが可能な記憶部であり、例えば半導体記憶素子で構成される。ＲＯＭ１０ｃは、例えばファームウェア等のプログラムやデータを記憶する。
【００３６】
通信部１０ｄは、検査装置１０を通信ネットワークＮに接続するインタフェースである。
【００３７】
入力部１０ｅは、ユーザからデータの入力を受け付けるものであり、例えば、キーボードやマウス、タッチパネルで構成される。
【００３８】
表示部１０ｆは、ＣＰＵ１０ａによる演算結果を視覚的に表示するものであり、例えばＬＣＤ（Liquid Crystal Display）により構成される。
【００３９】
検査プログラムは、ＲＡＭ１０ｂやＲＯＭ１０ｃ等のコンピュータによって読み取り可能な記憶媒体に記憶されて提供されてもよいし、通信部１０ｄにより接続される通信ネットワークＮを介して提供されてもよい。検査装置１０では、ＣＰＵ１０ａが検査プログラムを実行することにより、次図を用いて説明する様々な機能が実現される。なお、これらの物理的な構成は例示であって、必ずしも独立した構成でなくてもよい。例えば、検査装置１０は、ＣＰＵ１０ａとＲＡＭ１０ｂやＲＯＭ１０ｃが一体化したＬＳＩ（Large-Scale Integration）を備えていてもよい。また、検査装置１０は、ＧＰＵ（Graphics Processing Unit）やＦＰＧＡ（Field-Programmable Gate Array）、ＡＳＩＣ（Application Specific Integrated Circuit）等の演算回路を備えてもよい。
【００４０】
図３は、本発明の実施形態に係る検査装置１０の機能ブロックを示す図である。検査装置１０は、取得部１１、算出部１２、評価値記憶部１３、判定部１４、決定部１５、出力部１６、閾値記憶部１７及び受付部１８を備える。
【００４１】
取得部１１は、通信ネットワークＮを介して、カメラ３０から新たな検査対象物１００の画像を取得したり、画像データベースＤＢから検証用データやテスト用データを取得したりする。本明細書では、取得部１１によって新たに取得された検査対象物１００の画像を、取得画像と称する。
【００４２】
算出部１２は、画像データベースＤＢに格納された初期データセットに含まれる第１種画像及び第２種画像に対する取得画像の関連度に基づいて、判定部１４による判定結果の信用性を評価する指標を算出する。より詳しくは、算出部１２は、学習済みモデルの出力結果に含まれる複数の数値の偏りを評価する評価値を算出し、初期データセットのうち学習用データに含まれていない第１種画像及び第２種画像を検証用データとして学習済みモデルに入力した場合と、取得画像を学習済みモデルに入力した場合と、それぞれについて算出された評価値の比較に基づいて関連度を算出する。
【００４３】
評価値記憶部１３は、検証用データを学習済みモデルに入力した場合に、学習済みモデルの出力結果に基づいて算出部１２によって算出された評価値を記憶する。例えば、学習済みモデルが、出力層にソフトマックス層を有する学習済みのニューラルネットワークである場合、検証用データのうち１つの画像を学習済みモデルに入力すると、それぞれ正で、ｙ１＋ｙ２＋ｙ３＝１を満たす（ｙ１、ｙ２、ｙ３）といった複数の数値が出力される。算出部１２は、出力された複数の数値のうち最大の値と、２番目に大きい値との差を評価値として算出してよい。例えば、（ｙ１、ｙ２、ｙ３）のうちｙ１が最大で、ｙ２が２番目に大きい値である場合、算出部１２は、ｙ２−ｙ１によって評価値を算出してよい。なお、複数の出力が等しい値で最大の場合、評価値は０であってよい。また、算出部１２は、出力された複数の数値のうち最大の値と、２番目に大きい値との比を評価値として算出してもよい。例えば、（ｙ１、ｙ２、ｙ３）のうちｙ１が最大で、ｙ２が２番目に大きい値である場合、算出部１２は、ｙ２／ｙ１によって評価値を算出してよい。なお、複数の出力が等しい値で最大の場合、評価値は１であってよい。
【００４４】
評価値は、学習済みモデルの出力結果に含まれる複数の数値が偏っているか、複数の数値にほとんど差が無く偏りが少ないかを評価する値である。上記の例で説明すると、複数の数値が偏っている場合、すなわちｙ１がほとんど１に近く、ｙ２とｙ３がほとんど０である場合、ｙ２−ｙ１によって評価値を算出する場合、評価値は−１に近くなり、ｙ２／ｙ１によって評価値を算出する場合、評価値は０に近くなる。一方、複数の数値が偏っていない場合、すなわちｙ１、ｙ２、ｙ３がそれぞれ１／３に近い場合、ｙ２−ｙ１によって評価値を算出する場合、評価値は０に近くなり、ｙ２／ｙ１によって評価値を算出する場合、評価値は１に近くなる。いずれの算出方法であっても、評価値は、学習済みモデルの出力値が偏っている場合の方が、偏っていない場合よりも値が小さくなるという性質がある。
【００４５】
評価値記憶部１３に評価用データについて算出された評価値を記憶しておくことで、新たな検査対象物１００の画像が得られる毎に評価用データに関する評価値の算出を行わなくてもよくなり、処理負荷が軽減される。
【００４６】
算出部１２は、取得画像を学習済みモデルに入力した場合における学習済みモデルの出力結果に含まれる複数の数値それぞれについて、関連度を算出し、複数の数値それぞれについて算出された関連度のうち最も大きい値に基づいて、指標を算出してよい。上記の例で具体的に説明すると、算出部１２は、画像データベースＤＢに格納されたＱ個の検証用データについて、それぞれ評価値αｉ（ｉ＝１〜Ｑ）を算出し、新たに取得された検査対象物１００の画像について、その出力値（ｚ１、ｚ２、ｚ３）それぞれについて、評価値βｊ（ｊ＝１〜３）を算出する。算出部１２は、取得画像に関する評価値を、注目するクラスの出力値と、注目するクラスを除いたクラスの出力値の中で最大の値との差又は比によって算出してよい。すなわち、β１＝ｍａｘ（ｚ２、ｚ３）−ｚ１又はβ１＝ｍａｘ（ｚ２、ｚ３）／ｚ１、β２＝ｍａｘ（ｚ１、ｚ３）−ｚ２又はβ２＝ｍａｘ（ｚ１、ｚ３）／ｚ２、β３＝ｍａｘ（ｚ１、ｚ２）−ｚ３又はβ３＝ｍａｘ（ｚ１、ｚ２）／ｚ３によって、取得画像の評価値を算出してよい。そして、算出部１２は、検証用データの評価値と、取得画像の評価値との比較に基づいて、検証用データに対する取得画像の関連度を算出する。上記の例で具体的に説明すると、算出部１２は、出力ｚ１に関する関連度を算出する場合、αｉ≧β１を満たすｉの個数をカウントして、その個数に１を足した値を検証用データの個数Ｑに１を足した値で割ることとしてよい。すなわち、αｉ≧β１を満たすｉの個数を＃（ｉ：αｉ≧β１）と表すとき、算出部１２は、ｐ１＝（＃（ｉ：αｉ≧β１）＋１）／（Ｑ＋１）によって出力ｚ１に関する関連度ｐ１を算出してよい。同様に、算出部１２は、ｐ２＝（＃（ｉ：αｉ≧β２）＋１）／（Ｑ＋１）によって出力ｚ２に関する関連度ｐ２を算出し、ｐ３＝（＃（ｉ：αｉ≧β３）＋１）／（Ｑ＋１）によって出力ｚ３に関する関連度ｐ３を算出してよい。
【００４７】
評価値は、学習済みモデルの出力結果に含まれる複数の数値の偏りを評価するものであり、複数の数値が偏っている場合の方が、偏っていない場合よりも値が小さいという性質があったから、関連度をｐｊ＝（＃（ｉ：αｉ≧βｊ）＋１）／（Ｑ＋１）によって算出する場合、関連度は、取得画像についての出力値が、検証用データと比較して偏りが強い場合に大きくなり、検証用データと比較して偏りが弱い場合に小さくなるものである。
【００４８】
算出部１２は、出力（ｚ１、ｚ２、ｚ３）それぞれについて算出された関連度（ｐ１、ｐ２、ｐ３）のうち最も大きい値に基づいて、指標を算出してよい。算出部１２は、例えば、（ｐ１、ｐ２、ｐ３）のうちｐ１が最も大きい値である場合、ｐ１を指標としてよい。
同様に、算出部１２は、複数の数値それぞれについて算出された関連度のうち２番目に大きい値に基づいて、指標を算出してもよい。算出部１２は、例えば、（ｐ１、ｐ２、ｐ３）のうちｐ１が最も大きい値であり、ｐ２が２番目に大きい値である場合、１−ｐ２を指標としてよい。
【００４９】
関連度は、取得画像についての出力値が、検証用データと比較して偏りが強い場合に大きくなり、検証用データと比較して偏りが弱い場合に小さくなるものであったから、複数の出力に対応した複数の関連度のうち最も大きい値によって指標を算出することは、取得画像についての出力値の偏りの度合いが、検証用データと比較して最大でどの程度かを表すこととなる。また、複数の出力に対応した複数の関連度のうち２番目に大きい値によって指標を算出することは、取得画像についての出力値の偏りの度合いが、検証用データと比較して少なくともどの程度であるかを表すこととなる。学習済みモデルの出力結果は、複数の出力値が、典型的な場合と比較して十分に偏っている場合に、その信用性が高いと考えられる。そのため、指標によって、学習済みモデルの出力結果の信用性、ひいては判定部１４による判定結果の信用性を評価することができる。このように、複数の出力値の偏りを評価するだけでなく、複数の出力値の偏りが、検証用データに関して算出された出力値の偏りと比較してどの程度のものであるかを評価することで、新たに取得された検査対象物１００の画像にイレギュラーな異常が含まれているのかといったことや、画像自体に不具合があるのかといったことを見分けることができるようになる。
【００５０】
判定部１４は、初期データセットの少なくとも一部を学習用データとして学習された学習済みモデルに対し、取得画像を入力し、学習済みモデルの出力結果に基づいて、取得画像に異常が含まれているか否かを判定する。また、判定部１４は、学習済みモデルに対し、初期データセットのうち学習用データ及び検証用データに含まれていない第１種画像及び第２種画像をテスト用データとして入力し、学習済みモデルの出力結果に基づいて、テスト用データに異常が含まれているか否かを判定する。判定部１４は、学習済みモデルの出力結果に含まれる複数の数値のうち最大の値に基づいて、異常が含まれているか否かを判定してよい。例えば、学習済みモデルが、出力層にシグモイド層を有する学習済みのニューラルネットワークである場合、２つの出力のうちどちらが大きいかによって、画像に異常が含まれているか否かを判定してよい。また、学習済みモデルが、出力層にソフトマックス層を有する学習済みのニューラルネットワークである場合、複数の出力に複数種類の異常を対応付けて、複数の出力のうち最大の値に対応する種類の異常が含まれていると判定してよい。
【００５１】
決定部１５は、算出部１２によって算出された指標と、閾値記憶部１７に記憶された閾値との比較に基づいて、判定部１４による判定結果を採用するか、判定部１４による判定結果を採用せずに判定を保留するか決定する。
【００５２】
出力部１６は、テスト用データについて、判定部１４による判定結果の正誤と、指標との関係を示すデータを出力する。ここで、算出部１２は、検証用データを学習済みモデルに入力した場合と、テスト用データを学習済みモデルに入力した場合と、それぞれについて算出された評価値の比較に基づいて関連度を算出し、検証用データに対するテスト用データの関連度に基づいて、指標を算出する。テスト用データは教師データを含むから、検査装置１０は、判定部１４による判定結果の正誤を確認することができる。出力部１６は、テスト用データについて、判定部１４による判定結果の正誤と、指標との関係を示すグラフを、表示部１０ｆに出力してよい。
【００５３】
閾値記憶部１７は、決定部１５によって参照される閾値のデフォルト値を記憶したり、受付部１８によって受け付けた変更後の閾値を記憶したりする。
【００５４】
受付部１８は、閾値の変更を受け付ける。受付部１８は、入力部１０ｅによって、ユーザから閾値の変更を受け付けて、閾値記憶部１７に記憶された閾値を更新する。また、受付部１８は、出力部１６によって出力されたグラフ上で閾値の変更を受け付けてよい。閾値は、学習済みモデルの出力結果に含まれる複数の数値に対応して複数設定されてもよい。すなわち、学習済みモデルによって入力された画像を複数のクラスに分類する場合、複数のクラスそれぞれについて、指標との比較対象となる閾値が設定されてよい。
【００５５】
図４は、本発明の実施形態に係る検査装置１０により実行される第１処理のフローチャートである。第１処理は、検査対象物１００の新たな画像を取得する前に行われる処理であり、検証用データについて評価値を算出する処理である。
【００５６】
はじめに、取得部１１は、画像データベースＤＢから、Ｑ個の検証用データを取得する（Ｓ１０）。ここで、取得部１１は、画像データベースＤＢに格納された初期データセットのうち一部のデータを検証用データとして取得してよい。
【００５７】
算出部１２は、Ｑ個の検証用データに含まれる１つの検証用画像を学習済みモデルに入力し（Ｓ１１）学習済みモデルから出力される複数の数値に基づいて、複数の数値の偏りを評価する評価値を算出する（Ｓ１２）。評価値記憶部１３は、算出された評価値を記憶する（Ｓ１３）。
【００５８】
検査装置１０は、Ｑ個の検証用データ全てについて評価値の算出が完了したか判定し（Ｓ１４）、完了していない場合には（Ｓ１４：Ｎｏ）、未処理の検証用データについて評価値を算出する。Ｑ個の検証用データ全てについて評価値の算出が完了した場合（Ｓ１４：Ｙｅｓ）、第１処理は終了する。
【００５９】
図５は、本発明の実施形態に係る検査装置１０により実行される第２処理のフローチャートである。第２処理は、新たな検査対象物１００の画像について、異常が含まれているか否かを判定し、その判定結果を採用するか、判定を保留するか決定する処理である。
【００６０】
はじめに、取得部１１は、カメラ３０から、新たな検査対象物１００の画像（取得画像）を取得する（Ｓ２０）。ここで、取得部１１は、カメラ３０によって撮影され、画像データベースＤＢに格納された新たな検査対象物１００の画像を取得してもよい。
【００６１】
判定部１４は、取得画像を学習済みモデルに入力し（Ｓ２１）、学習済みモデルから出力される複数の数値に基づいて、取得画像に異常が含まれているか否かを判定する（Ｓ２２）。また、算出部１２は、学習済みモデルから出力される複数の数値に基づいて、複数の数値それぞれについて、複数の数値の偏りを評価する評価値を算出する（Ｓ２３）。また、算出部１２は、取得画像について算出された複数の評価値と、検証用データについて算出されたＱ個の評価値との大小関係をそれぞれ比較して、複数の関連度を算出する（Ｓ２４）。そして、算出部１２は、算出された複数の関連度のうち最も大きい値又は２番目に大きい値に基づいて、指標を算出する（Ｓ２５）。決定部１５は、指標と閾値の比較に基づいて、判定部１４による判定結果を採用するか、判定部１４による判定を保留するか決定する（Ｓ２６）。以上により、第２処理は終了する。
【００６２】
例えば、検査対象物１００がライン上を流れており、決定部１５によって判定部１４による判定結果を採用すると決定された場合、検査対象物１００は、自動判定のルートに輸送されて、判定部１４の判定結果に応じたラインに分配されてよい。一方、決定部１５によって判定部１４による判定を保留すると決定された場合、検査対象物１００は、人による判定のルートに輸送されて、人によって異常の有無が判定され、判定結果に応じたラインに分配されてよい。
【００６３】
本実施形態に係る検査装置１０によれば、新たに取得された検査対象物１００の画像に異常が含まれているか否かの判定結果について信用性を評価する指標を算出し、指標と閾値の比較に基づいて、判定結果を採用するか、判定結果を採用せずに判定を保留するか決定することで、イレギュラーな異常が検査対象物１００に生じた場合や、検査対象物１００の画像に何らかの不具合が生じた場合であっても、異常の有無の誤判定が防止される。そのため、例えば、学習済みモデルが、取得画像に所定の複数種類の異常が含まれているか否かを示す複数の数値を出力するものである場合に、想定されていなかった異常（イレギュラーな異常）が含まれている場合に判断を保留することができ、所定の複数種類の異常のうちいずれかが含まれていると誤判定したり、異常が含まれていないと誤判定したりすることが防止される。
【００６４】
また、取得画像を学習済みモデルに入力した場合に学習済みモデルから出力される複数の数値について、複数の数値の偏りを評価する評価値を算出し、検証用データについて算出された評価値と比べることで、取得画像が検証用データと比較してありふれたものであるかを定量的に表すことができる。
【００６５】
図６は、本発明の実施形態に係る検査装置１０により実行される第３処理のフローチャートである。第３処理は、テスト用データを用いて、判定部１４による判定結果の正誤と、指標との関係を示すグラフを出力し、決定部１５により参照される閾値の変更を受け付ける処理である。
【００６６】
はじめに、取得部１１は、画像データベースＤＢから、Ｔ個の検証用データを取得する（Ｓ３０）。ここで、取得部１１は、画像データベースＤＢに格納された初期データセットのうち一部のデータをテスト用データとして取得してよい。
【００６７】
判定部１４は、Ｔ個のテスト用データに含まれる１つのテスト用画像を学習済みモデルに入力し（Ｓ３１）、学習済みモデルから出力される複数の数値に基づいて、テスト用画像に異常が含まれているか否かを判定する（Ｓ３２）。また、算出部１２は、学習済みモデルから出力される複数の数値に基づいて、複数の数値それぞれについて、複数の数値の偏りを評価する評価値を算出する（Ｓ３３）。また、算出部１２は、テスト用画像について算出された複数の評価値と、検証用データについて算出されたＱ個の評価値との大小関係をそれぞれ比較して、複数の関連度を算出する（Ｓ３４）。そして、算出部１２は、算出された複数の関連度のうち最も大きい値又は２番目に大きい値に基づいて、指標を算出する（Ｓ３５）。なお、算出部１２は、テスト用画像について、取得画像の場合と同様の方法で評価値を算出し、関連度を算出し、指標を算出してよい。
【００６８】
検査装置１０は、Ｔ個のテスト用データ全てについて指標の算出が完了したか判定し（Ｓ３６）、完了していない場合には（Ｓ３６：Ｎｏ）、未処理のテスト用データについて評価値を算出する。Ｔ個のテスト用データ全てについて指標の算出が完了した場合（Ｓ３６：Ｙｅｓ）、出力部１６は、判定部１４による判定結果の正誤と、指標との関係を示すグラフを出力する（Ｓ３７）。受付部１８は、グラフ上で、決定部１５により参照される閾値の変更を受け付ける（Ｓ３８）。以上により、第３処理は終了する。
【００６９】
図７は、本発明の実施形態に係る検査装置１０により表示される閾値設定画面ＤＰの一例である。閾値設定画面ＤＰは、出力部１６により出力される第１グラフＤＰ１及び第２グラフＤＰ２を含む。閾値設定画面ＤＰは、学習済みモデルにより出力される複数の数値に対応する複数のクラスそれぞれについて閾値を設定するために、表示部１０ｆに表示される画面である。
【００７０】
第１グラフＤＰ１は、横軸が指標、縦軸が出現回数であり、Ｔ個のテスト用データについてどのような指標の値が算出されたかを示すヒストグラムである。第１グラフＤＰ１は、実線で示された第１クラスに関する正答分布ＧＰ１ａと、破線で示された第１クラスに関する誤答分布ＧＰ１ｂと、を含む。第１クラスに関する正答分布ＧＰ１ａは、学習済みモデルの出力値が第１クラスについて最も大きかった場合、すなわちテスト用画像が第１クラスに属すると判定部１４により判定された場合に、当該判定が正しかった場合のヒストグラムである。また、第１クラスに関する誤答分布ＧＰ１ｂは、学習済みモデルの出力値が第１クラスについて最も大きかった場合、すなわちテスト用画像が第１クラスに属すると判定部１４により判定された場合に、当該判定が誤っていた場合のヒストグラムである。
【００７１】
第１クラスに関する正答分布ＧＰ１ａによれば、指標の値が大きくなるほど、判定部１４による判定結果が正しかった回数が増えている傾向が読み取れる。また、第１クラスに関する誤答分布ＧＰ１ｂ指標の値が小さくなるほど、判定部１４による判定結果が誤りであった回数が増えている傾向が読み取れる。
【００７２】
第１グラフには、第１クラスに関する閾値のデフォルト値Ｃ(1)0が一点鎖線で示されている。第１クラスに関する閾値のデフォルト値Ｃ(1)0は、０．５に設定されている。検査装置１０のユーザは、閾値設定画面ＤＰに表示された第１クラスに関する正答分布ＧＰ１ａ及び第１クラスに関する誤答分布ＧＰ１ｂを確認して、第１クラスに関する閾値を変更することができる。ユーザは、ポインタＰＴによって閾値を表すラインをドラッグして、第１クラスに関する閾値を任意に変更できる。本例では、変更後の第１クラスに関する閾値の値Ｃ(1)が実線で示されている。変更後の第１クラスに関する閾値の値Ｃ(1)は、０．４である。
【００７３】
第２グラフＤＰ２は、第１グラフＤＰ１と同様に、横軸が指標、縦軸が出現回数であり、実線で示された第２クラスに関する正答分布ＧＰ２ａと、破線で示された第２クラスに関する誤答分布ＧＰ２ｂと、を含む。第２クラスに関する正答分布ＧＰ２ａは、学習済みモデルの出力値が第２クラスについて最も大きかった場合、すなわちテスト用画像が第２クラスに属すると判定部１４により判定された場合に、当該判定が正しかった場合のヒストグラムである。また、第２クラスに関する誤答分布ＧＰ２ｂは、学習済みモデルの出力値が第２クラスについて最も大きかった場合、すなわちテスト用画像が第２クラスに属すると判定部１４により判定された場合に、当該判定が誤っていた場合のヒストグラムである。
【００７４】
第２クラスに関する正答分布ＧＰ２ａによれば、指標の値が大きくなるほど、判定部１４による判定結果が正しかった回数と判定部１４による判定結果が誤っていた回数の比が大きくなっている傾向が読み取れる。すなわち、指標の値が大きくなるほど、判定部１４による判定結果が誤りである頻度が減っていることが読み取れる。
【００７５】
第２グラフＤＰ２には、第２クラスに関する閾値のデフォルト値Ｃ(2)0が一点鎖線で示されている。第２クラスに関する閾値のデフォルト値Ｃ(2)0は、０．５に設定されている。検査装置１０のユーザは、閾値設定画面ＤＰに表示された第２クラスに関する正答分布ＧＰ２ａ及び第２クラスに関する誤答分布ＧＰ２ｂを確認して、第２クラスに関する閾値を変更することができる。ユーザは、ポインタＰＴによって閾値を表すラインをドラッグして、第２クラスに関する閾値を任意に変更できる。本例では、変更後の第２クラスに関する閾値の値Ｃ(2)が実線で示されている。変更後の第２クラスに関する閾値の値Ｃ(2)は、０．６である。
【００７６】
本例では、第１グラフＤＰ１と第２グラフＤＰ２を示したが、出力部１６は、学習済みモデルから出力される数値の数、すなわち学習済みモデルによって分類されるクラスの数だけ、判定部１４による判定結果の正誤と指標の関係を示すグラフを出力してよい。ユーザは、閾値設定画面ＤＰのスクロールバーをスクロールすることで、第１グラフＤＰ１及び第２グラフＤＰ２以外のグラフを確認することができる。
【００７７】
本実施形態に係る検査装置１０によれば、テスト用データについて、判定結果の正誤と指標との関係を示すデータを出力することで、指標がどの程度の値であれば判定を誤ることがあるのか、おおよその傾向を把握することができる。また、テスト用データについて、判定結果の正誤と指標との関係を示すグラフを出力することで、指標がどの程度の値であれば判定を誤ることがあるのかを視覚的に把握することができ、判定結果の正誤と指標との関係の全体像を容易に把握することができる。
【００７８】
また、本実施形態に係る検査装置１０によれば、判定結果を採用するか、判定結果を採用せずに判定を保留するかという判断の基準となる閾値を変更可能とすることで、判定を保留しすぎないように、異常の有無の誤判定を防止することができる。さらに、テスト用データについて、指標がどの程度の値であれば判定を誤ることがあるのかを視覚的に把握した上で閾値を変更することができ、適切な閾値の設定が容易となる。
【００７９】
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
【符号の説明】
【００８０】
１０…検査装置、１０ａ…ＣＰＵ、１０ｂ…ＲＡＭ、１０ｃ…ＲＯＭ、１０ｄ…通信部、１０ｅ…入力部、１０ｆ…表示部、１１…取得部、１２…算出部、１３…評価値記憶部、１４…判定部、１５…決定部、１６…出力部、１７…閾値記憶部、１８…受付部、３０…カメラ、１００…検査対象物、ＤＢ…画像データベース、ＤＰ…閾値設定画面、ＤＰ１…第１グラフ、ＤＰ２…第２グラフ、ＧＰ１ａ…第１クラスに関する正答分布、ＧＰ１ｂ…第１クラスに関する誤答分布、ＧＰ２ａ…第２クラスに関する正答分布、ＧＰ２ｂ…第２クラスに関する誤答分布、Ｎ…通信ネットワーク、ＰＴ…ポインタ
【図１】
2019020138.tif 000003
【図２】
2019020138.tif 000004
【図３】
2019020138.tif 000005
【図４】
2019020138.tif 000006
【図５】
2019020138.tif 000007
【図６】
2019020138.tif 000008
【図７】
2019020138.tif 000009