(57)【要約】【課題】低コストで推論精度の高い識別器を生成可能な技術を提供する。【解決手段】本発明の一側面に係る検査システムは、それぞれ製品の写る複数件の第２画像データを第１画像データから生成し、各件の第２画像データを学習データとして採用するか否かを第１識別器により判定し、学習データとして採用すると判定された第２画像データにより学習用データセットを生成し、生成した学習用データセットを利用した機械学習を実施することで、製品の良否を判定する第２識別器を構築し、構築した第２識別器を利用して、対象画像データに写る製品の良否を判定する。【選択図】図１
2019159961.tif 000002
【特許請求の範囲】
【請求項１】
製品の良否を検査する検査システムであって、
前記製品の写る第１画像データ、及び前記第１画像データに写る前記製品の良否の判定に対する正解を示す第１正解データを取得するデータ取得部と、
前記第１画像データに所定の変換処理を適用することで、それぞれ前記製品の写る複数件の第２画像データを前記第１画像データから生成する第１生成部と、
与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第１識別器に各件の第２画像データを入力することで当該第１識別器から得られる出力に基づいて、各件の第２画像データを学習データとして採用するか否かを判定する判定部と、
学習データとして採用すると判定された第２画像データに、前記第１正解データに基づいて決定された、前記第２画像データに写る前記製品の良否の判定に対する正解を示す第２正解データを付与することで、当該第２画像データ及び当該第２正解データの対で構成された学習用データセットを生成する第２生成部と、
生成した前記学習用データセットを利用した機械学習を実施することで、前記製品の良否を判定する能力を習得した学習済みの第２識別器を構築する学習処理部と、
検査の対象となる前記製品の写る対象画像データを取得する対象データ取得部と、
取得した前記対象画像データを前記第２識別器に入力することで前記第２識別器から得られる出力に基づいて、前記対象画像データに写る前記製品の良否を判定する良否判定部と、
を備える、
検査システム。
【請求項２】
前記第１生成部は、フォトメトリックな変換、ジオメトリックな変換、画像の合成、画像の置換及びこれらの組合せから選択された変換処理を前記第１画像データに適用することで、前記第１画像データから複数件の第２画像データを生成する、
請求項１に記載の検査システム。
【請求項３】
前記第１識別器は、第３画像データから構成される画像データ群に対して、当該第３画像データに類似する第４画像データを生成するように機械学習する生成モデルと、入力された入力データが、前記生成モデル由来の前記第４画像データであるか、前記画像データ群由来の前記第３画像データであるかを識別するように機械学習する識別モデルとを含むネットワークであって、前記生成モデルは、前記識別モデルが識別を誤るような前記第３画像データに類似する前記第４画像データを生成するように機械学習を繰り返し、前記識別モデルは、繰り返し機械学習された前記生成モデルにより生成される前記第４画像データと前記第３学習データとを識別するように機械学習する、ネットワークのうちの前記識別モデルにより構成される、
請求項１又は２に記載の検査システム。
【請求項４】
前記判定部は、第５画像データと、前記第５画像データを前記学習データとして採用するか否かの正解を示す第３正解データとを利用した機械学習により生成された学習済みの学習器を前記第１識別器として利用する、
請求項１又は２に記載の検査システム。
【請求項５】
製品の写る第１画像データ、及び前記第１画像データに写る前記製品の良否の判定に対する正解を示す第１正解データを取得するデータ取得部と、
前記第１画像データに所定の変換処理を適用することで、それぞれ前記製品の写る複数件の第２画像データを前記第１画像データから生成する第１生成部と、
与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第１識別器に各件の第２画像データを入力することで当該第１識別器から得られる出力に基づいて、各件の第２画像データを学習データとして採用するか否かを判定する判定部と、
学習データとして採用すると判定された第２画像データに、前記第１正解データに基づいて決定された、前記第２画像データに写る前記製品の良否の判定に対する正解を示す第２正解データを付与することで、当該第２画像データ及び当該第２正解データの対で構成された学習用データセットを生成する第２生成部と、
生成した前記学習用データセットを利用した機械学習を実施することで、前記製品の良否を判定する能力を習得した学習済みの第２識別器を構築する学習処理部と、
を備える、
識別器生成システム。
【請求項６】
製品の写る第１画像データ、及び前記第１画像データに写る前記製品の良否の判定に対する正解を示す第１正解データを取得するデータ取得部と、
前記第１画像データに所定の変換処理を適用することで、それぞれ前記製品の写る複数件の第２画像データを前記第１画像データから生成する第１生成部と、
与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第１識別器に各件の第２画像データを入力することで当該第１識別器から得られる出力に基づいて、各件の第２画像データを学習データとして採用するか否かを判定する判定部と、
学習データとして採用すると判定された第２画像データに、前記第１正解データに基づいて決定された、前記第２画像データに写る前記製品の良否の判定に対する正解を示す第２正解データを付与することで、当該第２画像データ及び当該第２正解データの対で構成された学習用データセットを生成する第２生成部と、
を備える、
学習データ生成装置。
【請求項７】
所定の被写体の写る第１画像データを取得するデータ取得部と、
前記第１画像データに所定の変換処理を適用することで、それぞれ前記被写体の写る複数件の第２画像データを前記第１画像データから生成する第１生成部と、
与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第１識別器に各件の第２画像データを入力することで当該第１識別器から得られる出力に基づいて、各件の第２画像データを学習データとして採用するか否かを判定する判定部と、
学習データとして採用すると判定された第２画像データを収集することで、学習データとして採用すると判定された複数件の当該第２画像データにより構成された学習用データ群を生成する第２生成部と、
生成した前記学習用データ群を利用した機械学習を実施することで、前記被写体の特徴を識別する能力を習得した学習済みの第２識別器を構築する学習処理部と、
特徴を識別する対象となる前記被写体の写る対象画像データを取得する対象データ取得部と、
取得した前記対象画像データを前記第２識別器に入力することで前記第２識別器から得られる出力に基づいて、前記対象画像データに写る前記被写体の特徴を識別する識別部と、
を備える、
画像識別システム。
【請求項８】
所定の被写体の写る第１画像データを取得するデータ取得部と、
前記第１画像データに所定の変換処理を適用することで、それぞれ前記被写体の写る複数件の第２画像データを前記第１画像データから生成する第１生成部と、
与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第１識別器に各件の第２画像データを入力することで当該第１識別器から得られる出力に基づいて、各件の第２画像データを学習データとして採用するか否かを判定する判定部と、
学習データとして採用すると判定された第２画像データを収集することで、学習データとして採用すると判定された複数件の当該第２画像データにより構成された学習用データ群を生成する第２生成部と、
生成した前記学習用データ群を利用した機械学習を実施することで、前記被写体の特徴を識別する能力を習得した学習済みの第２識別器を構築する学習処理部と、
を備える、
識別器生成システム。
【請求項９】
所定の被写体の写る第１画像データを取得するデータ取得部と、
前記第１画像データに所定の変換処理を適用することで、それぞれ前記被写体の写る複数件の第２画像データを前記第１画像データから生成する第１生成部と、
与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第１識別器に各件の第２画像データを入力することで当該第１識別器から得られる出力に基づいて、各件の第２画像データを学習データとして採用するか否かを判定する判定部と、
学習データとして採用すると判定された第２画像データを収集することで、学習データとして採用すると判定された複数件の当該第２画像データにより構成された学習用データ群を生成する第２生成部と、
を備える、
学習データ生成装置。
【請求項１０】
所定の特徴を含む第１データを取得するデータ取得部と、
前記第１データに所定の変換処理を適用することで、前記第１データから複数件の第２データを生成する第１生成部と、
与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第１識別器に各件の第２データを入力することで当該第１識別器から得られる出力に基づいて、各件の第２データを学習データとして採用するか否かを判定する判定部と、
学習データとして採用すると判定された第２データを収集することで、学習データとして採用すると判定された複数件の当該第２データにより構成された学習用データ群を生成する第２生成部と、
生成した学習用データ群を利用した機械学習を実施することで、前記特徴を識別する能力を習得した学習済みの第２識別器を構築する学習処理部と、
識別する対象となる特徴を含む対象データを取得する対象データ取得部と、
取得した前記対象データを前記第２識別器に入力することで前記第２識別器から得られる出力に基づいて、前記対象データに含まれる前記特徴を識別する識別部と、
を備える、
識別システム。
【請求項１１】
前記第１データは、音データであり、
前記第１生成部は、タイムストレッチ、ピッチシフト、マスキング、振幅の変換、音の合成及びこれらの組合せから選択された変換処理を前記第１データに適用することで、前記第１データから複数件の第２データを生成する、
請求項１０に記載の識別システム。
【請求項１２】
所定の特徴を含む第１データを取得するデータ取得部と、
前記第１データに所定の変換処理を適用することで、前記第１データから複数件の第２データを生成する第１生成部と、
与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第１識別器に各件の第２データを入力することで当該第１識別器から得られる出力に基づいて、各件の第２データを学習データとして採用するか否かを判定する判定部と、
学習データとして採用すると判定された第２データを収集することで、学習データとして採用すると判定された複数件の当該第２データにより構成された学習用データ群を生成する第２生成部と、
生成した学習用データ群を利用した機械学習を実施することで、前記特徴を識別する能力を習得した学習済みの第２識別器を構築する学習処理部と、
を備える、
識別器生成システム。
【請求項１３】
所定の特徴を含む第１データを取得するデータ取得部と、
前記第１データに所定の変換処理を適用することで、前記第１データから複数件の第２データを生成する第１生成部と、
与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第１識別器に各件の第２データを入力することで当該第１識別器から得られる出力に基づいて、各件の第２データを学習データとして採用するか否かを判定する判定部と、
学習データとして採用すると判定された第２データを収集することで、学習データとして採用すると判定された複数件の当該第２データにより構成された学習用データ群を生成する第２生成部と、
を備える、
学習データ生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検査システム、画像識別システム、識別システム、識別器生成システム、及び学習データ生成装置に関する。
【背景技術】
【０００２】
従来、製造ライン等の製品を製造する場面では、製造される製品を撮影装置により撮影し、得られた画像データに基づいて製品の良否を検査する技術が利用されている。例えば、特許文献１では、学習済みの第１のニューラルネットワークに基づいて画像に写る検査対象物が正常であるか異常であるかを判定し、検査対象物が異常であると判定した場合に、学習済みの第２のニューラルネットワークに基づいて当該異常の種類を分類する検査装置が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−０２６９８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本件発明者は、特許文献１のようなニューラルネットワーク等の学習モデルで構成された識別器を利用して、画像データから製品の良否を判定する従来の技術には、次のような問題が生じ得ることを見出した。すなわち、製品の良否を判定する能力を学習モデルに習得させる機械学習を行うためには、機械学習として教師あり学習を採用する場合、学習データとして利用する画像データと、その画像データに写る製品の良否の判定に対する正解を示す正解データとの対で構成された学習用データセットを用意することになる。この学習用データセットの件数が少ないと、学習済みの学習モデル（識別器）による良否の判定精度が不十分になってしまう。一方で、識別器の判定精度を高めるために十分な件数の学習用データセットを用意するにはコストがかかってしまう。
【０００５】
そこで、本件発明者は、学習データとして用意した画像データから複数件の異なる画像データを量産し、量産した複数件の画像データを学習データとして利用することを検討した。しかしながら、量産された複数件の画像データには、製品の良否が正しく表れていない可能性がある。そのため、量産された複数件の画像データは、量産された複数件の画像データは学習データとして適切かどうか不明である。学習データとして適切でない画像データが含まれている場合には、その量産された複数件の画像データを学習データとして利用して機械学習を行っても、精度の高い良否判定を実行可能な識別器を得ることができないという問題点が生じ得る。
【０００６】
なお、この問題点は、製品の良否を判定する場面及び教師あり学習を実施する場面に特有のものではない。画像データから被写体の何らかの特徴を識別する場面、画像データ以外のデータから何らかの特徴を識別する場面等、学習データを利用した機械学習により識別器を構築するあらゆる場面で同様の問題点が生じ得る。すなわち、学習モデルの機械学習を行うためには、学習データとして利用するデータを用意することになる。この学習データの件数が少ないと、識別器により対象のデータから所定の特徴を識別する精度が不十分になってしまう。一方で、特徴を識別する精度を高めるために、十分な件数の学習データを用意するにはコストがかかってしまう。
【０００７】
本発明は、一側面では、このような実情を鑑みてなされたものであり、その目的は、低コストで推論精度の高い識別器を生成可能な技術を提供することである。
【課題を解決するための手段】
【０００８】
本発明は、上述した課題を解決するために、以下の構成を採用する。
【０００９】
すなわち、本発明の一側面に係る検査システムは、製品の良否を検査する検査システムであって、前記製品の写る第１画像データ、及び前記第１画像データに写る前記製品の良否の判定に対する正解を示す第１正解データを取得するデータ取得部と、前記第１画像データに所定の変換処理を適用することで、それぞれ前記製品の写る複数件の第２画像データを前記第１画像データから生成する第１生成部と、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第１識別器に各件の第２画像データを入力することで当該第１識別器から得られる出力に基づいて、各件の第２画像データを学習データとして採用するか否かを判定する判定部と、学習データとして採用すると判定された第２画像データに、前記第１正解データに基づいて決定された、前記第２画像データに写る前記製品の良否の判定に対する正解を示す第２正解データを付与することで、当該第２画像データ及び当該第２正解データの対で構成された学習用データセットを生成する第２生成部と、生成した前記学習用データセットを利用した機械学習を実施することで、前記製品の良否を判定する能力を習得した学習済みの第２識別器を構築する学習処理部と、検査の対象となる前記製品の写る対象画像データを取得する対象データ取得部と、取得した前記対象画像データを前記第２識別器に入力することで前記第２識別器から得られる出力に基づいて、前記対象画像データに写る前記製品の良否を判定する良否判定部と、を備える。
【００１０】
当該構成に係る検査システムは、学習データとして採用するか否かを判定する能力を習得した第１識別器を利用して、第１画像データに所定の変換処理を適用することで生成された各件の第２画像データの学習データとしての適格性を判定する。次に、当該構成に係る検査システムは、学習データとして採用すると判定された第２画像データにより学習用データセットを生成し、生成した学習用データセットを利用した機械学習を実施することで、製品の良否を判定する能力を習得した第２識別器を構築する。そして、当該構成に係る検査システムは、構築された第２識別器を利用して、対象画像データに写る製品の良否を判定する。
【００１１】
したがって、当該構成によれば、第１画像データに所定の変換処理を適用することで、学習データの候補となる第２画像データを量産することができるため、十分な件数の学習用データセットを低コストで用意することができる。加えて、第１識別器による判定の結果に基づいて、学習データとして不適切な第２画像データを学習データの候補から除外することができる。すなわち、第１識別器を利用することで、学習データとして不適切な第２画像データが第２識別器の機械学習に利用されないようにすることができる。そのため、十分な件数の適切な学習用データセットを低コストで用意することができ、用意した学習用データセットを利用した機械学習を実施することで、製品の良否を判定する精度の比較的に高い第２識別器を構築することができる。よって、当該構成によれば、低コストで推論（良否の判定）精度の比較的に高い識別器（第２識別器）を生成することができる。
【００１２】
なお、「製品」は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。「製品」は、例えば、電子部品、自動車部品等の製造ラインで搬送される物であってよい。電子部品は、例えば、基盤、チップコンデンサ、液晶、リレーの巻線等である。自動車部品は、例えば、コンロッド、シャフト、エンジンブロック、パワーウィンドウスイッチ、パネル等である。「良否の判定」は、製品に欠陥があるか否かを単に判定することであってもよいし、製品に欠陥がある否かを判定することに加えて、その欠陥の種類を識別することを含んでもよい。欠陥は、例えば、傷、汚れ、クラック、打痕、埃、バリ、色ムラ等である。「学習データ」は、「訓練データ」とも称されてよい。「変換処理」は、第１画像データの少なくとも一部を変更する処理であって、第１画像データと完全には一致しない第２画像データを生成可能な処理であれば、特に限定されなくてもよい。
【００１３】
上記一側面に係る検査システムにおいて、前記第１生成部は、フォトメトリックな変換、ジオメトリックな変換、画像の合成、画像の置換及びこれらの組合せから選択された変換処理を前記第１画像データに適用することで、前記第１画像データから複数件の第２画像データを生成してもよい。当該構成によれば、学習データの候補となる第２画像データを低コストで量産することができ、これによって、推論精度の比較的に高い識別器（第２識別器）をより低コストで生成することができるようになる。なお、フォトメトリックな変換処理とは、画像の輝度等の明るさを変換する処理であり、例えば、明度の変換処理等である。ジオメトリックな変換処理とは、画像の空間座標を変換する処理であり、例えば、アフィン変換、射影変換等である。画像の合成は、画像データの少なくとも一部の領域にノイズ等の所定の画像を合成することである。画像置換は、画像データの少なくとも一部の領域をその他の画像に置き換えることである。これらの変換処理には、機械学習により構築された変換器が利用されてもよい。
【００１４】
上記一側面に係る検査システムにおいて、前記第１識別器は、第３画像データから構成される画像データ群に対して、当該第３画像データに類似する第４画像データを生成するように機械学習する生成モデルと、入力された入力データが、前記生成モデル由来の前記第４画像データであるか、前記画像データ群由来の前記第３画像データであるかを識別するように機械学習する識別モデルとを含むネットワークであって、前記生成モデルは、前記識別モデルが識別を誤るような前記第３画像データに類似する前記第４画像データを生成するように機械学習を繰り返し、前記識別モデルは、繰り返し機械学習された前記生成モデルにより生成される前記第４画像データと前記第３学習データとを識別するように機械学習する、ネットワークのうちの前記識別モデルにより構成されてよい。当該構成によれば、第２画像データの画像データとしての適格性を適切に判定可能な第１識別器を用意することができるため、推論精度のより高い識別器（第２識別器）を低コストで生成することができるようになる。
【００１５】
上記一側面に係る検査システムにおいて、前記判定部は、第５画像データと、前記第５画像データを前記学習データとして採用するか否かの正解を示す第３正解データとを利用した機械学習により生成された学習済みの学習器を前記第１識別器として利用してもよい。当該構成によれば、第２画像データの画像データとしての適格性を適切に判定可能な第１識別器を用意することができるため、推論精度のより高い識別器（第２識別器）を低コストで生成することができるようになる。
【００１６】
また、上記各形態に係る検査システムから、例えば、学習データ群を生成する部分、第２識別器を構築する部分等の一部分を抽出して他の形態に係るシステム又は装置を構成してもよい。
【００１７】
例えば、本発明の一側面に係る識別器生成システムは、製品の写る第１画像データ、及び前記第１画像データに写る前記製品の良否の判定に対する正解を示す第１正解データを取得するデータ取得部と、前記第１画像データに所定の変換処理を適用することで、それぞれ前記製品の写る複数件の第２画像データを前記第１画像データから生成する第１生成部と、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第１識別器に各件の第２画像データを入力することで当該第１識別器から得られる出力に基づいて、各件の第２画像データを学習データとして採用するか否かを判定する判定部と、学習データとして採用すると判定された第２画像データに、前記第１正解データに基づいて決定された、前記第２画像データに写る前記製品の良否の判定に対する正解を示す第２正解データを付与することで、当該第２画像データ及び当該第２正解データの対で構成された学習用データセットを生成する第２生成部と、生成した前記学習用データセットを利用した機械学習を実施することで、前記製品の良否を判定する能力を習得した学習済みの第２識別器を構築する学習処理部と、を備える。
【００１８】
また、例えば、本発明の一側面に係る学習データ生成装置は、製品の写る第１画像データ、及び前記第１画像データに写る前記製品の良否の判定に対する正解を示す第１正解データを取得するデータ取得部と、前記第１画像データに所定の変換処理を適用することで、それぞれ前記製品の写る複数件の第２画像データを前記第１画像データから生成する第１生成部と、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第１識別器に各件の第２画像データを入力することで当該第１識別器から得られる出力に基づいて、各件の第２画像データを学習データとして採用するか否かを判定する判定部と、学習データとして採用すると判定された第２画像データに、前記第１正解データに基づいて決定された、前記第２画像データに写る前記製品の良否の判定に対する正解を示す第２正解データを付与することで、当該第２画像データ及び当該第２正解データの対で構成された学習用データセットを生成する第２生成部と、を備える。
【００１９】
また、上記各形態に係る検査システム、製品の写る画像データ以外の画像データから何らかの特徴を識別する場面、画像データ以外の他種のデータを含むデータから何らかの特徴を識別する場面などの、機械学習により識別器を構築するあらゆる場面に適用可能に変更されてよい。
【００２０】
例えば、本発明の一側面に係る画像識別システムは、所定の被写体の写る第１画像データを取得するデータ取得部と、前記第１画像データに所定の変換処理を適用することで、それぞれ前記被写体の写る複数件の第２画像データを前記第１画像データから生成する第１生成部と、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第１識別器に各件の第２画像データを入力することで当該第１識別器から得られる出力に基づいて、各件の第２画像データを学習データとして採用するか否かを判定する判定部と、学習データとして採用すると判定された第２画像データを収集することで、学習データとして採用すると判定された複数件の当該第２画像データにより構成された学習用データ群を生成する第２生成部と、生成した前記学習用データを利用した機械学習を実施することで、前記被写体の特徴を識別する能力を習得した学習済みの第２識別器を構築する学習処理部と、特徴を識別する対象となる前記被写体の写る対象画像データを取得する対象データ取得部と、取得した前記対象画像データを前記第２識別器に入力することで前記第２識別器から得られる出力に基づいて、前記対象画像データに写る前記被写体の特徴を識別する識別部と、を備える。
【００２１】
なお、「被写体」及び識別の対象となる被写体の「特徴」はそれぞれ、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。「被写体」は、例えば、対象者の顔、対象者の身体、作業対象のワーク等であってよい。また、被写体が対象者の顔である場合、識別の対象となる特徴は、例えば、表情の種別、顔のパーツの状態等であってよい。被写体が対象者の身体である場合には、識別の対象となる特徴は、例えば、身体のポーズ等であってよい。被写体が作業対象のワークである場合、識別の対象となる特徴は、例えば、ワークの位置、姿勢等であってよい。
【００２２】
また、例えば、本発明の一側面に係る識別器生成システムは、所定の被写体の写る第１画像データを取得するデータ取得部と、前記第１画像データに所定の変換処理を適用することで、それぞれ前記被写体の写る複数件の第２画像データを前記第１画像データから生成する第１生成部と、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第１識別器に各件の第２画像データを入力することで当該第１識別器から得られる出力に基づいて、各件の第２画像データを学習データとして採用するか否かを判定する判定部と、学習データとして採用すると判定された第２画像データを収集することで、学習データとして採用すると判定された複数件の当該第２画像データにより構成された学習用データ群を生成する第２生成部と、生成した前記学習用データ群を利用した機械学習を実施することで、前記被写体の特徴を識別する能力を習得した学習済みの第２識別器を構築する学習処理部と、を備える。
【００２３】
また、例えば、本発明の一側面に係る学習データ生成装置は、所定の被写体の写る第１画像データを取得するデータ取得部と、前記第１画像データに所定の変換処理を適用することで、それぞれ前記被写体の写る複数件の第２画像データを前記第１画像データから生成する第１生成部と、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第１識別器に各件の第２画像データを入力することで当該第１識別器から得られる出力に基づいて、各件の第２画像データを学習データとして採用するか否かを判定する判定部と、学習データとして採用すると判定された第２画像データを収集することで、学習データとして採用すると判定された複数件の当該第２画像データにより構成された学習用データ群を生成する第２生成部と、を備える。
【００２４】
また、例えば、本発明の一側面に係る識別システムは、所定の特徴を含む第１データを取得するデータ取得部と、前記第１データに所定の変換処理を適用することで、前記第１データから複数件の第２データを生成する第１生成部と、与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第１識別器に各件の第２データを入力することで当該第１識別器から得られる出力に基づいて、各件の第２データを学習データとして採用するか否かを判定する判定部と、学習データとして採用すると判定された第２データを収集することで、学習データとして採用すると判定された複数件の当該第２データにより構成された学習用データ群を生成する第２生成部と、生成した学習用データ群を利用した機械学習を実施することで、前記特徴を識別する能力を習得した学習済みの第２識別器を構築する学習処理部と、識別する対象となる特徴を含む対象データを取得する対象データ取得部と、取得した前記対象データを前記第２識別器に入力することで前記第２識別器から得られる出力に基づいて、前記対象データに含まれる前記特徴を識別する識別部と、を備える。
【００２５】
なお、「データ」は、識別器による解析の対象となり得るあらゆる種類のデータを含んでもよく、例えば、画像データの他、音データ（音声データ）、数値データ、テキストデータ、その他センサからの出力データ等であってよい。「特徴」は、データから識別可能なあらゆる特徴を含んでもよい。「データ」が音データである場合、「特徴」は、例えば、特定の音（例えば、機械の異音）が含まれているか否か等であってよい。また、「データ」が、血圧、活動量等の生体データに関する数値データ又はテキストデータである場合、「特徴」は、例えば、対象者の状態等であってよい。また、「データ」が、機械の駆動量等の数値データ又はテキストデータである場合、「特徴」は、例えば、機械の状態等であってよい。「識別器」は、例えば、ニューラルネットワーク、サポートベクタマシン、自己組織化マップ、強化学習モデル等の、機械学習により所定の推論を行う能力を獲得可能な学習モデルにより構成されてよい。
【００２６】
上記一側面に係る識別システムにおいて、前記第１データは、音データであってよく、前記第１生成部は、タイムストレッチ、ピッチシフト、マスキング、振幅の変換、音の合成及びこれらの組合せから選択された変換処理を前記第１データに適用することで、前記第１データから複数件の第２データを生成してもよい。
【００２７】
また、例えば、本発明の一側面に係る識別器生成システムは、所定の特徴を含む第１データを取得するデータ取得部と、前記第１データに所定の変換処理を適用することで、前記第１データから複数件の第２データを生成する第１生成部と、与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第１識別器に各件の第２データを入力することで当該第１識別器から得られる出力に基づいて、各件の第２データを学習データとして採用するか否かを判定する判定部と、学習データとして採用すると判定された第２データを収集することで、学習データとして採用すると判定された複数件の当該第２データにより構成された学習用データ群を生成する第２生成部と、生成した学習用データ群を利用した機械学習を実施することで、前記特徴を識別する能力を習得した学習済みの第２識別器を構築する学習処理部と、を備える。
【００２８】
また、例えば、本発明の一側面に係る学習データ生成装置は、所定の特徴を含む第１データを取得するデータ取得部と、前記第１データに所定の変換処理を適用することで、前記第１データから複数件の第２データを生成する第１生成部と、与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第１識別器に各件の第２データを入力することで当該第１識別器から得られる出力に基づいて、各件の第２データを学習データとして採用するか否かを判定する判定部と、学習データとして採用すると判定された第２データを収集することで、学習データとして採用すると判定された複数件の当該第２データにより構成された学習用データ群を生成する第２生成部と、を備える。
【００２９】
なお、上記各形態に係る検査システム、画像識別システム、識別システム、識別器生成システム、及び学習データ生成装置それぞれの別の態様として、本発明の一側面は、以上の各構成の全部又はその一部を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータその他装置、機械等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記憶媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。
【００３０】
例えば、本発明の一側面に係る検査方法は、製品の良否を検査する情報処理方法であって、コンピュータが、前記製品の写る第１画像データ、及び前記第１画像データに写る前記製品の良否の判定に対する正解を示す第１正解データを取得するステップと、前記第１画像データに所定の変換処理を適用することで、それぞれ前記製品の写る複数件の第２画像データを前記第１画像データから生成するステップと、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第１識別器に各件の第２画像データを入力することで当該第１識別器から得られる出力に基づいて、各件の第２画像データを学習データとして採用するか否かを判定するステップと、学習データとして採用すると判定された第２画像データに、前記第１正解データに基づいて決定された、前記第２画像データに写る前記製品の良否の判定に対する正解を示す第２正解データを付与することで、当該第２画像データ及び当該第２正解データの対で構成された学習用データセットを生成するステップと、生成した前記学習用データセットを利用した機械学習を実施することで、前記製品の良否を判定する能力を習得した学習済みの第２識別器を構築するステップと、検査の対象となる前記製品の写る対象画像データを取得するステップと、取得した前記対象画像データを前記第２識別器に入力することで前記第２識別器から得られる出力に基づいて、前記対象画像データに写る前記製品の良否を判定するステップと、を実行する、情報処理方法である。
【００３１】
また、例えば、本発明の一側面に係る識別器生成方法は、コンピュータが、前記製品の写る第１画像データ、及び前記第１画像データに写る前記製品の良否の判定に対する正解を示す第１正解データを取得するステップと、前記第１画像データに所定の変換処理を適用することで、それぞれ前記製品の写る複数件の第２画像データを前記第１画像データから生成するステップと、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第１識別器に各件の第２画像データを入力することで当該第１識別器から得られる出力に基づいて、各件の第２画像データを学習データとして採用するか否かを判定するステップと、学習データとして採用すると判定された第２画像データに、前記第１正解データに基づいて決定された、前記第２画像データに写る前記製品の良否の判定に対する正解を示す第２正解データを付与することで、当該第２画像データ及び当該第２正解データの対で構成された学習用データセットを生成するステップと、生成した前記学習用データセットを利用した機械学習を実施することで、前記製品の良否を判定する能力を習得した学習済みの第２識別器を構築するステップと、を実行する、情報処理方法である。
【００３２】
また、例えば、本発明の一側面に係る学習データ生成方法は、コンピュータが、前記製品の写る第１画像データ、及び前記第１画像データに写る前記製品の良否の判定に対する正解を示す第１正解データを取得するステップと、前記第１画像データに所定の変換処理を適用することで、それぞれ前記製品の写る複数件の第２画像データを前記第１画像データから生成するステップと、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第１識別器に各件の第２画像データを入力することで当該第１識別器から得られる出力に基づいて、各件の第２画像データを学習データとして採用するか否かを判定するステップと、学習データとして採用すると判定された第２画像データに、前記第１正解データに基づいて決定された、前記第２画像データに写る前記製品の良否の判定に対する正解を示す第２正解データを付与することで、当該第２画像データ及び当該第２正解データの対で構成された学習用データセットを生成するステップと、を実行する、情報処理方法である。
【００３３】
また、例えば、本発明の一側面に係る生成プログラムは、コンピュータに、前記製品の写る第１画像データ、及び前記第１画像データに写る前記製品の良否の判定に対する正解を示す第１正解データを取得するステップと、前記第１画像データに所定の変換処理を適用することで、それぞれ前記製品の写る複数件の第２画像データを前記第１画像データから生成するステップと、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第１識別器に各件の第２画像データを入力することで当該第１識別器から得られる出力に基づいて、各件の第２画像データを学習データとして採用するか否かを判定するステップと、学習データとして採用すると判定された第２画像データに、前記第１正解データに基づいて決定された、前記第２画像データに写る前記製品の良否の判定に対する正解を示す第２正解データを付与することで、当該第２画像データ及び当該第２正解データの対で構成された学習用データセットを生成するステップと、を実行させるための、プログラムである。
【００３４】
また、例えば、本発明の一側面に係る画像識別方法は、コンピュータが、所定の被写体の写る第１画像データを取得するステップと、前記第１画像データに所定の変換処理を適用することで、それぞれ前記被写体の写る複数件の第２画像データを前記第１画像データから生成するステップと、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第１識別器に各件の第２画像データを入力することで当該第１識別器から得られる出力に基づいて、各件の第２画像データを学習データとして採用するか否かを判定するステップと、学習データとして採用すると判定された第２画像データを収集することで、学習データとして採用すると判定された複数件の当該第２画像データにより構成された学習用データ群を生成するステップと、生成した前記学習用データを利用した機械学習を実施することで、前記被写体の特徴を識別する能力を習得した学習済みの第２識別器を構築するステップと、特徴を識別する対象となる前記被写体の写る対象画像データを取得するステップと、取得した前記対象画像データを前記第２識別器に入力することで前記第２識別器から得られる出力に基づいて、前記対象画像データに写る前記被写体の特徴を識別するステップと、を実行する、情報処理方法である。
【００３５】
また、例えば、本発明の一側面に係る識別器生成方法は、コンピュータが、所定の被写体の写る第１画像データを取得するステップと、前記第１画像データに所定の変換処理を適用することで、それぞれ前記被写体の写る複数件の第２画像データを前記第１画像データから生成するステップと、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第１識別器に各件の第２画像データを入力することで当該第１識別器から得られる出力に基づいて、各件の第２画像データを学習データとして採用するか否かを判定するステップと、学習データとして採用すると判定された第２画像データを収集することで、学習データとして採用すると判定された複数件の当該第２画像データにより構成された学習用データ群を生成するステップと、生成した前記学習用データを利用した機械学習を実施することで、前記被写体の特徴を識別する能力を習得した学習済みの第２識別器を構築するステップと、を実行する、情報処理方法である。
【００３６】
また、例えば、本発明の一側面に係る学習データ生成方法は、コンピュータが、所定の被写体の写る第１画像データを取得するステップと、前記第１画像データに所定の変換処理を適用することで、それぞれ前記被写体の写る複数件の第２画像データを前記第１画像データから生成するステップと、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第１識別器に各件の第２画像データを入力することで当該第１識別器から得られる出力に基づいて、各件の第２画像データを学習データとして採用するか否かを判定するステップと、学習データとして採用すると判定された第２画像データを収集することで、学習データとして採用すると判定された複数件の当該第２画像データにより構成された学習用データ群を生成するステップと、を実行する、情報処理方法である。
【００３７】
また、例えば、本発明の一側面に係る生成プログラムは、コンピュータに、所定の被写体の写る第１画像データを取得するステップと、前記第１画像データに所定の変換処理を適用することで、それぞれ前記被写体の写る複数件の第２画像データを前記第１画像データから生成するステップと、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第１識別器に各件の第２画像データを入力することで当該第１識別器から得られる出力に基づいて、各件の第２画像データを学習データとして採用するか否かを判定するステップと、学習データとして採用すると判定された第２画像データを収集することで、学習データとして採用すると判定された複数件の当該第２画像データにより構成された学習用データ群を生成するステップと、を実行させるための、プログラムである。
【００３８】
また、例えば、本発明の一側面に係る識別方法は、コンピュータが、所定の特徴を含む第１データを取得するステップと、前記第１データに所定の変換処理を適用することで、前記第１データから複数件の第２データを生成するステップと、与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第１識別器に各件の第２データを入力することで当該第１識別器から得られる出力に基づいて、各件の第２データを学習データとして採用するか否かを判定するステップと、学習データとして採用すると判定された第２データを収集することで、学習データとして採用すると判定された複数件の当該第２データにより構成された学習用データ群を生成するステップと、生成した学習用データ群を利用した機械学習を実施することで、前記特徴を識別する能力を習得した学習済みの第２識別器を構築するステップと、識別する対象となる特徴を含む対象データを取得するステップと、取得した前記対象データを前記第２識別器に入力することで前記第２識別器から得られる出力に基づいて、前記対象データに含まれる前記特徴を識別するステップと、を実行する、情報処理方法である。
【００３９】
また、例えば、本発明の一側面に係る識別器生成方法は、所定の特徴を含む第１データを取得するステップと、前記第１データに所定の変換処理を適用することで、前記第１データから複数件の第２データを生成するステップと、与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第１識別器に各件の第２データを入力することで当該第１識別器から得られる出力に基づいて、各件の第２データを学習データとして採用するか否かを判定するステップと、学習データとして採用すると判定された第２データを収集することで、学習データとして採用すると判定された複数件の当該第２データにより構成された学習用データ群を生成するステップと、生成した学習用データ群を利用した機械学習を実施することで、前記特徴を識別する能力を習得した学習済みの第２識別器を構築するステップと、を実行する、情報処理方法である。
【００４０】
また、例えば、本発明の一側面に係る学習データ生成方法は、コンピュータが、所定の特徴を含む第１データを取得するステップと、前記第１データに所定の変換処理を適用することで、前記第１データから複数件の第２データを生成するステップと、与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第１識別器に各件の第２データを入力することで当該第１識別器から得られる出力に基づいて、各件の第２データを学習データとして採用するか否かを判定するステップと、学習データとして採用すると判定された第２データを収集することで、学習データとして採用すると判定された複数件の当該第２データにより構成された学習用データ群を生成するステップと、を実行する、情報処理方法である。
【００４１】
また、例えば、本発明の一側面に係る生成プログラムは、コンピュータに、所定の特徴を含む第１データを取得するステップと、前記第１データに所定の変換処理を適用することで、前記第１データから複数件の第２データを生成するステップと、与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第１識別器に各件の第２データを入力することで当該第１識別器から得られる出力に基づいて、各件の第２データを学習データとして採用するか否かを判定するステップと、学習データとして採用すると判定された第２データを収集することで、学習データとして採用すると判定された複数件の当該第２データにより構成された学習用データ群を生成するステップと、を実行させるための、プログラムである。
【発明の効果】
【００４２】
本発明によれば、低コストで推論精度の高い識別器を生成可能な技術を提供することができる。
【図面の簡単な説明】
【００４３】
【図１】図１は、本発明が適用される場面の一例を模式的に例示する。
【図２】図２は、実施の形態に係る学習データ生成装置のハードウェア構成の一例を模式的に例示する。
【図３】図３は、実施の形態に係る第１学習装置のハードウェア構成の一例を模式的に例示する。
【図４】図４は、実施の形態に係る第２学習装置のハードウェア構成の一例を模式的に例示する。
【図５】図５は、実施の形態に係る検査装置のハードウェア構成の一例を模式的に例示する。
【図６】図６は、実施の形態に係る学習データ生成装置のソフトウェア構成の一例を模式的に例示する。
【図７】図７は、実施の形態に係る第１学習装置のソフトウェア構成の一例を模式的に例示する。
【図８】図８は、実施の形態に係る第２学習装置のソフトウェア構成の一例を模式的に例示する。
【図９】図９は、実施の形態に係る検査装置のソフトウェア構成の一例を模式的に例示する。
【図１０】図１０は、実施の形態に係る学習データ生成装置の処理手順の一例を例示する。
【図１１】図１１は、実施の形態に係る第１学習装置の処理手順の一例を例示する。
【図１２】図１２は、実施の形態に係る第２学習装置の処理手順の一例を例示する。
【図１３】図１３は、実施の形態に係る検査装置の処理手順の一例を例示する。
【図１４】図１４は、他の形態に係る第１学習装置のソフトウェア構成の一例を模式的に例示する。
【図１５】図１５は、他の形態に係る第１学習装置の処理手順の一例を例示する。
【図１６】図１６は、他の形態に係る画像識別装置のハードウェア構成の一例を模式的に例示する。
【図１７】図１７は、他の形態に係る画像識別装置のソフトウェア構成の一例を模式的に例示する。
【図１８】図１８は、他の形態に係る学習データ生成装置のソフトウェア構成の一例を模式的に例示する。
【図１９】図１９は、他の形態に係る第１学習装置のソフトウェア構成の一例を模式的に例示する。
【図２０】図２０は、他の形態に係る第２学習装置のソフトウェア構成の一例を模式的に例示する。
【図２１】図２１は、他の形態に係る識別装置のハードウェア構成の一例を模式的に例示する。
【図２２】図２２は、他の形態に係る識別装置のソフトウェア構成の一例を模式的に例示する。
【発明を実施するための形態】
【００４４】
以下、本発明の一側面に係る実施の形態（以下、「本実施形態」とも表記する）を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
【００４５】
§１  適用例
まず、本発明の基本的な構成の一例について説明する。学習データを利用した機械学習により識別器を構築する場合、次のような問題が生じ得る。すなわち、識別器を構成する学習モデルの機械学習を行うためには、学習データとして利用するデータを用意することになる。この学習データの件数が少ないと、識別器により対象のデータから所定の特徴を識別する精度が不十分になってしまう。一方で、特徴を識別する精度を高めるために、十分な件数の学習データを用意するにはコストがかかってしまう。
【００４６】
そこで、本発明の一例では、所定の特徴を含む第１データを取得し、取得した第１データに所定の変換処理を適用することで、当該第１データから複数件の第２データを生成する。次に、与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第１識別器を利用して、各件の第２データを学習データとして採用するか否かを判定する。学習データとして採用すると判定された第２データを収集することで、学習データとして採用すると判定された複数件の第２データにより構成された学習用データ群を生成する。そして、生成した学習用データ群を利用した機械学習を実施することで、対象の特徴を識別する能力を習得した学習済みの第２識別器を構築する。
【００４７】
これにより、本発明の一例では、第１データに所定の変換処理を適用することで、学習データの候補となる第２データを量産することができるため、機械学習を実施するのに十分な件数の学習データを低コストで用意することができる。加えて、第１識別器による判定の結果に基づいて、学習データとして不適切な第２データを学習データの候補から除外することができる。そのため、本発明の一例によれば、十分な件数の適切な学習データを低コストで用意することができ、用意した学習用データ群を利用した機械学習を実施することで、対象の特徴を識別する精度の比較的に高い第２識別器を構築することができる。したがって、本発明の一例によれば、低コストで推論制度の比較的に高い識別器を生成することができる。
【００４８】
次に、図１を用いて、本発明が適用される場面の一例について説明する。図１は、本発明を製品Ｒの外観検査に適用した場面の一例を模式的に例示する。ただし、本発明の適用範囲は、以下で例示する外観検査の例に限られる訳ではない。本発明は、学習データを利用した機械学習により識別器を構築するあらゆる場面に適用可能である。
【００４９】
図１で例示される検査システム１００は、ネットワークを介して接続される学習データ生成装置１、第１学習装置２、第２学習装置３、及び検査装置４を備えており、製品Ｒの良否を検査するように構成される。学習データ生成装置１、第１学習装置２、第２学習装置３、及び検査装置４の間のネットワークの種類は、特に限定されなくてもよく、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。
【００５０】
なお、図１の例では、学習データ生成装置１、第１学習装置２、第２学習装置３、及び検査装置４はそれぞれ、別個のコンピュータである。しかしながら、検査システム１００の構成は、このような例に限定されなくてもよい。学習データ生成装置１、第１学習装置２、第２学習装置３、及び検査装置４のうちの少なくともいずれかのペアは一体のコンピュータであってもよい。また、学習データ生成装置１、第１学習装置２、第２学習装置３、及び検査装置４はそれぞれ複数台のコンピュータにより構成されてもよい。
【００５１】
本実施形態に係る学習データ生成装置１は、製品の良否を判定する能力を識別器に習得させる機械学習に利用する学習データを生成するように構成されたコンピュータである。具体的には、学習データ生成装置１は、製品の写る第１画像データ１２２、及び第１画像データ１２２に写る製品の良否の判定に対する正解を示す第１正解データ１２３を取得する。そして、学習データ生成装置１は、取得した第１画像データ１２２に所定の変換処理を適用することで、それぞれ製品の写る複数件の第２画像データ１２５を第１画像データ１２２から生成する。
【００５２】
所定の変換処理は、第１画像データ１２２の少なくとも一部を変更する処理であって、第１画像データ１２２と完全には一致しない第２画像データ１２５を生成可能な処理であれば、特に限定されなくてもよい。所定の変換処理は、例えば、フォトメトリックな変換、ジオメトリックな変換、画像の合成、画像の置換及びこれらの組合せから選択されてよい。学習データ生成装置１は、変換処理のパラメータ（例えば、変換する明度の量等）を変更しながら、第１画像データ１２２に所定の変換処理を繰り返し適用することで、それぞれ異なる複数件の第２画像データ１２５を生成する。生成された各件の第２画像データ１２５は、製品の良否を判定する能力を習得するための機械学習に利用する学習データの候補となる。ただし、各件の第２画像データ１２５は、不自然な画像である、正しい状態で製品が写っていない等の理由により、学習データとして適切ではない可能性がある。
【００５３】
そこで、本実施形態に係る学習データ生成装置１は、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第１識別器５１に各件の第２画像データ１２５を入力することで、当該第１識別器５１から出力を得る。第１識別器５１の出力は、製品の良否を判定する能力を習得するための機械学習に利用する学習データとして採用するか否かを判定した結果を示す。そのため、学習データ生成装置１は、第１識別器５１から得られる出力に基づいて、各件の第２画像データ１２５を学習データとして採用するか否かを判定する。
【００５４】
そして、学習データ生成装置１は、学習データとして判定された第２画像データ１２５に、第１正解データ１２３に基づいて決定された、第２画像データ１２５に写る製品の良否の判定に対する正解を示す第２正解データ１２６を付与する。これにより、学習データ生成装置１は、第２画像データ１２５及び第２正解データ１２６の対で構成された学習用データセット１２７を生成する。
【００５５】
一方、本実施形態に係る第１学習装置２は、学習データ生成装置１で利用する第１識別器５１を構築するように構成されたコンピュータである。具体的には、第１学習装置２は、画像データ（後述する画像データ２２２１）、及び当該画像データを学習データとして採用するか否かの判定の正解を示す正解データ（後述する採否データ２２２２）の組み合わせで構成された学習用データセット（後述する第１学習用データセット２２２）を利用した機械学習を実施することで、与えられた画像データを学習データとして採用するか否かを判定する能力を習得した学習済みの第１識別器５１を構築する。
【００５６】
また、本実施形態に係る第２学習装置３は、検査装置４で利用する第２識別器５４を構築するように構成されたコンピュータである。具体的には、第２学習装置３は、学習データ生成装置１により生成された学習用データセット１２７を含む複数件の学習用データセットを利用した機械学習を実施することで、製品の良否を判定する能力を習得した学習済みの第２識別器５４を構築する。そのため、学習データ生成装置１及び第２学習装置３により、第２識別器５４を構築する識別器生成システムが構成される。
【００５７】
これに対して、本実施形態に係る検査装置４は、第２学習装置３で構築された第２識別器５４を利用して、製品Ｒの良否を判定するように構成されたコンピュータである。具体的には、検査装置４は、検査の対象となる製品Ｒの写る対象画像データ４２２を取得する。本実施形態では、検査装置４は、カメラ８１に接続されており、このカメラ８１により製品Ｒを撮影することで、対象画像データ４２２を取得する。そして、検査装置４は、取得した対象画像データ４２２を第２識別器５４に入力することで、第２識別器５４から出力を得る。第２識別器５４の出力は、製品Ｒの良否を判定した結果を示す。そのため、検査装置４は、第２識別器５４から得られる出力に基づいて、対象画像データ４２２に写る製品Ｒの良否を判定する。
【００５８】
以上のとおり、本実施形態では、学習データ生成装置１により、第１画像データ１２２に所定の変換処理を適用することで、学習データの候補となる第２画像データ１２５を量産することができるため、十分な件数の学習用データセットを低コストで用意することができる。加えて、第１識別器５１による判定の結果に基づいて、製品の良否を判定する能力を習得するための学習データとして不適切な第２画像データ１２５を機械学習に利用されないようにすることができる。そのため、本実施形態によれば、製品の良否を判定する能力を習得するための機械学習に利用する十分な件数の適切な学習用データセットを低コストで用意することができる。これにより、第２学習装置３では、用意した十分な件数の学習用データセットを利用した機械学習を実施することで、製品の良否を判定する精度の比較的に高い第２識別器５４を構築することができる。したがって、本実施形態によれば、低コストで良否の判定精度の比較的に高い第２識別器５４を生成することができる。
【００５９】
なお、外観検査の対象となる製品Ｒは、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。製品Ｒは、例えば、電子部品、自動車部品等の製造ラインで搬送される物であってよい。電子部品は、例えば、基盤、チップコンデンサ、液晶、リレーの巻線等である。自動車部品は、例えば、コンロッド、シャフト、エンジンブロック、パワーウィンドウスイッチ、パネル等である。また、良否の判定は、製品Ｒに欠陥があるか否かを単に判定することであってもよいし、製品Ｒに欠陥がある否かを判定することに加えて、その欠陥の種類を識別することを含んでもよい。欠陥は、例えば、傷、汚れ、クラック、打痕、埃、バリ、色ムラ等である。
【００６０】
§２  構成例
［ハードウェア構成］
＜学習データ生成装置＞
次に、図２を用いて、本実施形態に係る学習データ生成装置１のハードウェア構成の一例について説明する。図２は、本実施形態に係る学習データ生成装置１のハードウェア構成の一例を模式的に例示する。
【００６１】
図２に示されるとおり、本実施形態に係る学習データ生成装置１は、制御部１１、記憶部１２、通信インタフェース１３、入力装置１４、出力装置１５、及びドライブ１６が電気的に接続されたコンピュータである。なお、図２では、通信インタフェースを「通信Ｉ／Ｆ」と記載している。
【００６２】
制御部１１は、ハードウェアプロセッサであるＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。記憶部１２は、メモリの一例であり、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部１２は、生成プログラム１２１、第１画像データ１２２、第１正解データ１２３、第２画像データ１２５、第２正解データ１２６、第１学習結果データ１２９等の各種情報を記憶する。
【００６３】
生成プログラム１２１は、製品の良否を判定する能力を習得するための機械学習に利用可能な複数件の第２画像データ１２５を第１画像データ１２２から生成する後述の情報処理（図１０）を学習データ生成装置１に実行させるためのプログラムである。生成プログラム１２１は、当該情報処理の一連の命令を含む。第１画像データ１２２は、第２画像データ１２５を生成する元となる画像データである。第１正解データ１２３は、第１画像データ１２２に写る製品の良否の判定に対する正解を示す。各件の第２画像データ１２５は、第１画像データ１２２から生成される。各件の第２正解データ１２６は、各件の第２画像データ１２５に写る製品の良否の判定に対する正解を示す。第１学習結果データ１２９は、第１識別器５１の設定を行うためのデータである。詳細は後述する。
【００６４】
通信インタフェース１３は、例えば、有線ＬＡＮ（Local Area Network）モジュール、無線ＬＡＮモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。学習データ生成装置１は、この通信インタフェース１３を利用することで、ネットワークを介したデータ通信を他の情報処理装置（例えば、第１学習装置２、第２学習装置３）と行うことができる。
【００６５】
入力装置１４は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置１５は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置１４及び出力装置１５を利用することで、学習データ生成装置１を操作することができる。
【００６６】
ドライブ１６は、例えば、ＣＤドライブ、ＤＶＤドライブ等であり、記憶媒体９１に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ１６の種類は、記憶媒体９１の種類に応じて適宜選択されてよい。上記生成プログラム１２１、第１画像データ１２２、第１正解データ１２３、及び第１学習結果データ１２９の少なくともいずれかは、この記憶媒体９１に記憶されていてもよい。
【００６７】
記憶媒体９１は、コンピュータその他装置、機械等が、記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。学習データ生成装置１は、この記憶媒体９１から、上記生成プログラム１２１、第１画像データ１２２、第１正解データ１２３、及び第１学習結果データ１２９の少なくともいずれかを取得してもよい。
【００６８】
ここで、図２では、記憶媒体９１の一例として、ＣＤ、ＤＶＤ等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体９１の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。
【００６９】
なお、学習データ生成装置１の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部１１は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、ＦＰＧＡ（field-programmable gate array）、ＤＳＰ（digital signal processor）等で構成されてよい。記憶部１２は、制御部１１に含まれるＲＡＭ及びＲＯＭにより構成されてもよい。通信インタフェース１３、入力装置１４、出力装置１５及びドライブ１６の少なくともいずれかは省略されてもよい。学習データ生成装置１は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、学習データ生成装置１は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、ＰＣ（Personal Computer）等であってもよい。
【００７０】
＜第１学習装置＞
次に、図３を用いて、本実施形態に係る第１学習装置２のハードウェア構成の一例について説明する。図３は、本実施形態に係る第１学習装置２のハードウェア構成の一例を模式的に例示する。
【００７１】
図３に示されるとおり、本実施形態に係る第１学習装置２は、制御部２１、記憶部２２、通信インタフェース２３、入力装置２４、出力装置２５、及びドライブ２６が電気的に接続されたコンピュータである。なお、図３では、図２と同様に、通信インタフェースを「通信Ｉ／Ｆ」と記載している。
【００７２】
第１学習装置２の制御部２１〜ドライブ２６はそれぞれ、上記学習データ生成装置１の制御部１１〜ドライブ１６それぞれと同様に構成されてよい。すなわち、制御部２１は、ハードウェアプロセッサであるＣＰＵ、ＲＡＭ、ＲＯＭ等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部２２は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部２２は、採否学習プログラム２２１、第１学習用データセット２２２、第１学習結果データ１２９等の各種情報を記憶する。
【００７３】
採否学習プログラム２２１は、第１識別器５１を構築する後述の機械学習の情報処理（図１１）を第１学習装置２に実行させ、その結果として第１学習結果データ１２９を生成させるためのプログラムである。採否学習プログラム２２１は、その情報処理の一連の命令を含む。第１学習用データセット２２２は、第１識別器５１の機械学習に利用される。詳細は後述する。
【００７４】
通信インタフェース２３は、例えば、有線ＬＡＮモジュール、無線ＬＡＮモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。第１学習装置２は、この通信インタフェース２３を利用することで、ネットワークを介したデータ通信を他の情報処理装置（例えば、学習データ生成装置１）と行うことができる。
【００７５】
入力装置２４は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置２５は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置２４及び出力装置２５を利用することで、第１学習装置２を操作することができる。
【００７６】
ドライブ２６は、例えば、ＣＤドライブ、ＤＶＤドライブ等であり、記憶媒体９２に記憶されたプログラムを読み込むためのドライブ装置である。上記採否学習プログラム２２１及び第１学習用データセット２２２のうちの少なくともいずれかは、記憶媒体９２に記憶されていてもよい。また、第１学習装置２は、記憶媒体９２から、上記採否学習プログラム２２１及び第１学習用データセット２２２のうちの少なくともいずれかを取得してもよい。
【００７７】
なお、第１学習装置２の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部２１は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、ＦＰＧＡ、ＤＳＰ等で構成されてよい。記憶部２２は、制御部２１に含まれるＲＡＭ及びＲＯＭにより構成されてもよい。通信インタフェース２３、入力装置２４、出力装置２５及びドライブ２６の少なくともいずれかは省略されてもよい。第１学習装置２は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、第１学習装置２は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のＰＣ等であってもよい。
【００７８】
＜第２学習装置＞
次に、図４を用いて、本実施形態に係る第２学習装置３のハードウェア構成の一例について説明する。図４は、本実施形態に係る第２学習装置３のハードウェア構成の一例を模式的に例示する。
【００７９】
図４に示されるとおり、本実施形態に係る第２学習装置３は、制御部３１、記憶部３２、通信インタフェース３３、入力装置３４、出力装置３５、及びドライブ３６が電気的に接続されたコンピュータである。なお、図４では、図２と同様に、通信インタフェースを「通信Ｉ／Ｆ」と記載している。
【００８０】
第２学習装置３の制御部３１〜ドライブ３６はそれぞれ、上記学習データ生成装置１の制御部１１〜ドライブ１６それぞれと同様に構成されてよい。すなわち、制御部３１は、ハードウェアプロセッサであるＣＰＵ、ＲＡＭ、ＲＯＭ等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部３２は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部３２は、学習プログラム３２１、第２学習用データセット３２２、第２学習結果データ３２３等の各種情報を記憶する。
【００８１】
学習プログラム３２１は、第２識別器５４を構築する後述の機械学習の情報処理（図１２）を第２学習装置３に実行させ、その結果として第２学習結果データ３２３を生成するためのプログラムである。学習プログラム３２１は、その情報処理の一連の命令を含む。第２学習用データセット３２２は、第２識別器５４の機械学習に利用される。詳細は後述する。
【００８２】
通信インタフェース３３は、例えば、有線ＬＡＮモジュール、無線ＬＡＮモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。第２学習装置３は、この通信インタフェース３３を利用することで、ネットワークを介したデータ通信を他の情報処理装置（例えば、学習データ生成装置１、検査装置４）と行うことができる。
【００８３】
入力装置３４は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置３５は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置３４及び出力装置３５を利用することで、第２学習装置３を操作することができる。
【００８４】
ドライブ３６は、例えば、ＣＤドライブ、ＤＶＤドライブ等であり、記憶媒体９３に記憶されたプログラムを読み込むためのドライブ装置である。上記学習プログラム３２１及び第２学習用データセット３２２のうちの少なくともいずれかは、記憶媒体９３に記憶されていてもよい。また、第２学習装置３は、記憶媒体９３から、上記学習プログラム３２１及び第２学習用データセット３２２のうちの少なくともいずれかを取得してもよい。
【００８５】
なお、第２学習装置３の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部３１は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、ＦＰＧＡ、ＤＳＰ等で構成されてよい。記憶部３２は、制御部３１に含まれるＲＡＭ及びＲＯＭにより構成されてもよい。通信インタフェース３３、入力装置３４、出力装置３５及びドライブ３６の少なくともいずれかは省略されてもよい。第２学習装置３は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、第２学習装置３は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のＰＣ等であってもよい。
【００８６】
＜検査装置＞
次に、図５を用いて、本実施形態に係る検査装置４のハードウェア構成の一例について説明する。図５は、本実施形態に係る検査装置４のハードウェア構成の一例を模式的に例示する。
【００８７】
図５に示されるとおり、本実施形態に係る検査装置４は、制御部４１、記憶部４２、通信インタフェース４３、外部インタフェース４４、入力装置４５、出力装置４６、及びドライブ４７が電気的に接続されたコンピュータである。なお、図５では、通信インタフェース及び外部インタフェースをそれぞれ「通信Ｉ／Ｆ」及び「外部Ｉ／Ｆ」と記載している。
【００８８】
検査装置４の制御部４１〜通信インタフェース４３及び入力装置４５〜ドライブ４７はそれぞれ、上記学習データ生成装置１の制御部１１〜ドライブ１６それぞれと同様に構成されてよい。すなわち、制御部４１は、ハードウェアプロセッサであるＣＰＵ、ＲＡＭ、ＲＯＭ等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部４２は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部４２は、検査プログラム４２１、第２学習結果データ３２３等の各種情報を記憶する。
【００８９】
検査プログラム４２１は、第２識別器５４を利用して、対象画像データ４２２に写る製品Ｒの良否を判定する後述の情報処理（図１３）を検査装置４に実行させるためのプログラムである。検査プログラム４２１は、その情報処理の一連の命令を含む。第２学習結果データ３２３は、第２識別器５４の設定を行うためのデータである。詳細は後述する。
【００９０】
通信インタフェース４３は、例えば、有線ＬＡＮモジュール、無線ＬＡＮモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。検査装置４は、この通信インタフェース４３を利用することで、ネットワークを介したデータ通信を他の情報処理装置（例えば、第２学習装置３）と行うことができる。
【００９１】
外部インタフェース４４は、例えば、ＵＳＢ（Universal Serial Bus）ポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース４４の種類及び数は、接続される外部装置の種類及び数に応じて適宜選択されてよい。本実施形態では、検査装置４は、外部インタフェース４４を介して、カメラ８１に接続される。
【００９２】
カメラ８１は、製品Ｒを撮影することで、対象画像データ４２２を取得するのに利用される。カメラ８１の種類及び配置場所は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。カメラ８１には、例えば、デジタルカメラ、ビデオカメラ等の公知のカメラが利用されてよい。また、カメラ８１は、製品Ｒが搬送される製造ラインの近傍に配置されてよい。なお、カメラ８１が通信インタフェースを備える場合、検査装置４は、外部インタフェース４４ではなく、通信インタフェース４３を介して、カメラ８１に接続されてもよい。
【００９３】
入力装置４５は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置４６は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置４５及び出力装置４６を利用することで、検査装置４を操作することができる。
【００９４】
ドライブ４７は、例えば、ＣＤドライブ、ＤＶＤドライブ等であり、記憶媒体９４に記憶されたプログラムを読み込むためのドライブ装置である。上記検査プログラム４２１及び第２学習結果データ３２３のうちの少なくともいずれかは、記憶媒体９４に記憶されていてもよい。また、検査装置４は、記憶媒体９４から、上記検査プログラム４２１及び第２学習結果データ３２３のうちの少なくともいずれかを取得してもよい。
【００９５】
なお、検査装置４の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部４１は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、ＦＰＧＡ、ＤＳＰ等で構成されてよい。記憶部４２は、制御部４１に含まれるＲＡＭ及びＲＯＭにより構成されてもよい。通信インタフェース４３、外部インタフェース４４、入力装置４５、出力装置４６及びドライブ４７の少なくともいずれかは省略されてもよい。検査装置４は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、検査装置４は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のデスクトップＰＣ、ノートＰＣ、タブレットＰＣ、スマートフォンを含む携帯電話等が用いられてよい。
【００９６】
［ソフトウェア構成］
＜学習データ生成装置＞
次に、図６を用いて、本実施形態に係る学習データ生成装置１のソフトウェア構成の一例を説明する。図６は、本実施形態に係る学習データ生成装置１のソフトウェア構成の一例を模式的に例示する。
【００９７】
学習データ生成装置１の制御部１１は、記憶部１２に記憶された生成プログラム１２１をＲＡＭに展開する。そして、制御部１１は、ＲＡＭに展開された生成プログラム１２１に含まれる命令をＣＰＵにより解釈及び実行して、各構成要素を制御する。これによって、図６に示されるとおり、本実施形態に係る学習データ生成装置１は、データ取得部１１１、第１生成部１１２、判定部１１３、及び第２生成部１１４をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、各ソフトウェアモジュールは、制御部１１（ＣＰＵ）により実現される。
【００９８】
データ取得部１１１は、製品の写る第１画像データ１２２、及び第１画像データ１２２に写る製品の良否の判定に対する正解を示す第１正解データ１２３を取得する。第１生成部１１２は、第１画像データ１２２に所定の変換処理を適用することで、それぞれ製品の写る複数件の第２画像データ１２５を第１画像データ１２２から生成する。
【００９９】
判定部１１３は、与えられた画像データを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第１識別器５１を含んでいる。判定部１１３は、この第１識別器５１に各件の第２画像データ１２５を入力することで当該第１識別器５１から得られる出力に基づいて、各件の第２画像データ１２５を学習データとして採用するか否かを判定する。
【０１００】
第２生成部１１４は、製品の良否を判定する能力を習得するための機械学習に利用する学習データとして採用すると判定された第２画像データ１２５に第２正解データ１２６を付与する。第２正解データ１２６は、第１正解データ１２３に基づいて決定された、第２画像データ１２５に写る製品の良否の判定に対する正解を示す。これにより、第２生成部１１４は、第２画像データ１２５及び第２正解データ１２６の対で構成された学習用データセット１２７を生成する。
【０１０１】
（識別器）
次に、第１識別器５１の構成について説明する。図６に示されるとおり、第１識別器５１は、ニューラルネットワークにより構成されている。具体的には、第１識別器５１には、いわゆる畳み込みニューラルネットワークにより構成されており、畳み込み層５１１、プーリング層５１２、全結合層５１３、及び出力層５１４を備えている。
【０１０２】
畳み込みニューラルネットワークは、畳み込み層及びプーリング層を交互に接続した構造を有する順伝搬型ニューラルネットワークである。本実施形態に係る第１識別器５１では、複数の畳み込み層５１１及びプーリング層５１２が入力側に交互に配置されている。そして、最も出力側に配置されたプーリング層５１２の出力が全結合層５１３に入力され、全結合層５１３の出力が出力層５１４に入力される。
【０１０３】
畳み込み層５１１は、画像の畳み込みの演算を行う層である。画像の畳み込みとは、画像と所定のフィルタとの相関を算出する処理に相当する。そのため、画像の畳み込みを行うことで、例えば、フィルタの濃淡パターンと類似する濃淡パターンを入力される画像から検出することができる。
【０１０４】
プーリング層５１２は、プーリング処理を行う層である。プーリング処理は、画像のフィルタに対する応答の強かった位置の情報を一部捨て、画像内に現れる特徴の微小な位置変化に対する応答の不変性を実現する。
【０１０５】
全結合層５１３は、隣接する層の間のニューロン全てを結合した層である。すなわち、全結合層５１３に含まれる各ニューロンは、隣接する層に含まれる全てのニューロンに結合される。全結合層５１３は、２層以上で構成されてもよい。また、全結合層５１３に含まれるニューロンの個数は、実施の形態に応じて適宜設定されてよい。
【０１０６】
出力層５１４は、第１識別器５１の最も出力側に配置される層である。出力層５１４に含まれるニューロンの個数は、学習データとして採用するか否かを判定した結果の出力形式に応じて適宜設定されてよい。なお、第１識別器５１の構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。
【０１０７】
各層５１１〜５１４に含まれる各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。判定部１１３は、第１識別器５１の最も入力側に配置された畳み込み層５１１に第２画像データ１２５を入力し、入力側から順に、各層に含まれる各ニューロンの発火判定を行う。これにより、判定部１１３は、入力された第２画像データ１２５を学習データとして採用するか否かを判定した結果に対応する出力値を出力層５１４から取得する。
【０１０８】
なお、このような第１識別器５１の構成（ニューラルネットワークの層数、各層におけるニューロンの個数、ニューロン同士の結合関係、各ニューロンの伝達関数）、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報は、第１学習結果データ１２９に含まれている。判定部１１３は、第１学習結果データ１２９を参照して、学習済みの第１識別器５１の設定を行う。
【０１０９】
＜第１学習装置＞
次に、図７を用いて、本実施形態に係る第１学習装置２のソフトウェア構成の一例について説明する。図７は、本実施形態に係る第１学習装置２のソフトウェア構成の一例を模式的に例示する。
【０１１０】
第１学習装置２の制御部２１は、記憶部２２に記憶された採否学習プログラム２２１をＲＡＭに展開する。そして、制御部２１は、ＲＡＭに展開された採否学習プログラム２２１に含まれる命令をＣＰＵにより解釈及び実行して、各構成要素を制御する。これによって、図７に示されるとおり、本実施形態に係る第１学習装置２は、第１学習データ取得部２１１、及び第１学習処理部２１２をソフトウェアモジュールとして備えるコンピュータとして構成される。すなわち、本実施形態では、各ソフトウェアモジュールは、制御部２１（ＣＰＵ）により実現される。
【０１１１】
第１学習データ取得部２１１は、製品の写り得る画像データ２２２１及び画像データ２２２１を学習データとして採用するか否かの判定の正解を示す採否データ２２２２の組み合わせでそれぞれ構成された複数件の第１学習用データセット２２２を取得する。画像データ２２２１は、採否判定の学習データ（訓練データ）として利用され、採否データ２２２２は、教師データ（正解データ）として利用される。画像データ２２２１は、本発明の「第５画像データ」の一例である。採否データ２２２２は、本発明の「第３正解データ」の一例である。
【０１１２】
第１学習処理部２１２は、取得した各件の第１学習用データセット２２２を利用して、ニューラルネットワーク５２の機械学習を実施する。すなわち、第１学習処理部２１２は、画像データ２２２１を入力すると、採否データ２２２２に対応する出力値を出力するようにニューラルネットワーク５２の学習処理を行う。
【０１１３】
ニューラルネットワーク５２は、学習対象となる学習モデルであり、学習前の第１識別器５１である。ニューラルネットワーク５２は、上記第１識別器５１と同様に構成される。すなわち、ニューラルネットワーク５２は、畳み込み層５２１、プーリング層５２２、全結合層５２３、及び出力層５２４を備えている。各層５２１〜５２４は、上記第１識別器５１の各層５１１〜５１４と同様に構成される。
【０１１４】
第１学習処理部２１２は、ニューラルネットワークの学習処理により、最も入力側に配置された畳み込み層５２１に画像データ２２２１が入力されると、採否データ２２２２に対応する出力値を出力層５２４から出力するようにニューラルネットワーク５２を学習させる。これにより、第１学習処理部２１２は、与えられた画像データを学習データとして採用するか否かを判定する能力を習得した学習済みの第１識別器５１を構築することができる。第１学習処理部２１２は、学習後のニューラルネットワーク５２（すなわち、第１識別器５１）の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第１学習結果データ１２９として記憶部２２に格納する。
【０１１５】
＜第２学習装置＞
次に、図８を用いて、本実施形態に係る第２学習装置３のソフトウェア構成の一例について説明する。図８は、本実施形態に係る第２学習装置３のソフトウェア構成の一例を模式的に例示する。
【０１１６】
第２学習装置３の制御部３１は、記憶部３２に記憶された学習プログラム３２１をＲＡＭに展開する。そして、制御部３１は、ＲＡＭに展開された学習プログラム３２１に含まれる命令をＣＰＵにより解釈及び実行して、各構成要素を制御する。これによって、図８に示されるとおり、本実施形態に係る第２学習装置３は、第２学習データ取得部３１１、及び第２学習処理部３１２をソフトウェアモジュールとして備えるコンピュータとして構成される。すなわち、本実施形態では、各ソフトウェアモジュールは、制御部３１（ＣＰＵ）により実現される。
【０１１７】
第２学習データ取得部３１１は、製品の写る画像データ３２２１、及び画像データ３２２１に写る製品の良否の判定に対する正解を示す正解データ３２２２の組み合わせでそれぞれ構成された複数件の第２学習用データセット３２２を取得する。画像データ３２２１は、製品の良否判定の学習データ（訓練データ）として利用され、正解データ３２２２は、教師データとして利用される。
【０１１８】
複数件の第２学習用データセット３２２は、学習データ生成装置１により生成された学習用データセット１２７を含む。すなわち、少なくとも一部の第２学習用データセット３２２の画像データ３２２１は、上記第２画像データ１２５であり、正解データ３２２２は、上記第２正解データ１２６である。また、学習用データセット１２７を生成する元となった第１画像データ１２２及び第１正解データ１２３の組み合わせ（データセット）は、複数件の第２学習用データセット３２２のうちから選択された第２学習用データセット３２２であってもよい。
【０１１９】
なお、第２学習データ取得部３１１は、第２学習用データセット３２２を量産元のデータセット（第１画像データ１２２及び第１正解データ１２３）として学習データ生成装置１に送信し、複数件の学習用データセット１２７を生成させてもよい。これにより、第２学習データ取得部３１１は、生成された複数件の学習用データセット１２７を第２学習用データセット３２２として受信することで、機械学習に利用する第２学習用データセット３２２の件数を増やすことができる。
【０１２０】
第２学習処理部３１２は、取得した各件の第２学習用データセット３２２を利用して、ニューラルネットワーク５３の機械学習を実施する。すなわち、第２学習処理部３１２は、画像データ３２２１を入力すると、正解データ３２２２に対応する出力値を出力するようにニューラルネットワーク５３の学習処理を行う。第２学習処理部３１２は、本発明の「学習処理部」の一例である。
【０１２１】
ニューラルネットワーク５３は、学習対象となる学習モデルであり、学習前の第２識別器５４である。本実施形態では、ニューラルネットワーク５３（及び、第２識別器５４）は、いわゆる畳み込みニューラルネットワークである。このニューラルネットワーク５３は、上記第１識別器５１と同様に構成されてよい。すなわち、ニューラルネットワーク５３は、畳み込み層５３１、プーリング層５３２、全結合層５３３、及び出力層５３４を備えている。各層５３１〜５３４は、上記第１識別器５１の各層５１１〜５１４と同様に構成されてよい。ただし、ニューラルネットワーク５３の構造は、第１識別器５１と一致していなくてもよい。例えば、ニューラルネットワーク５３の層の数、各層におけるニューロンの個数、及びニューロン同士の結合関係は、第１識別器５１と異なっていてもよい。
【０１２２】
第２学習処理部３１２は、ニューラルネットワークの学習処理により、最も入力側に配置された畳み込み層５３１に画像データ３２２１が入力されると、正解データ３２２２に対応する出力値を出力層５３４から出力するようにニューラルネットワーク５３を学習させる。これにより、第２学習処理部３１２は、対象の画像データに写る製品の良否を判定する能力を習得した学習済みの第２識別器５４を構築することができる。第２学習処理部３１２は、学習後のニューラルネットワーク５３（すなわち、第２識別器５４）の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第２学習結果データ３２３として記憶部３２に格納する。
【０１２３】
＜検査装置＞
次に、図９を用いて、本実施形態に係る検査装置４のソフトウェア構成の一例について説明する。図９は、本実施形態に係る検査装置４のソフトウェア構成の一例を模式的に例示する。
【０１２４】
検査装置４の制御部４１は、記憶部４２に記憶された検査プログラム４２１をＲＡＭに展開する。そして、制御部４１は、ＲＡＭに展開された検査プログラム４２１に含まれる命令をＣＰＵにより解釈及び実行して、各構成要素を制御する。これによって、図９に示されるとおり、本実施形態に係る検査装置４は、対象データ取得部４１１、良否判定部４１２、及び出力部４１３をソフトウェアモジュールとして備えるコンピュータとして構成される。すなわち、本実施形態では、各ソフトウェアモジュールは、制御部４１（ＣＰＵ）により実現される。
【０１２５】
対象データ取得部４１１は、検査の対象となる製品Ｒの写る対象画像データ４２２を取得する。本実施形態では、対象データ取得部４１１は、カメラ８１により製品Ｒを撮影することで、対象画像データ４２２を取得する。良否判定部４１２は、対象の画像データに写る製品の良否を判定する能力を習得した学習済みの第２識別器５４を含んでいる。良否判定部４１２は、第２識別器５４を利用して、対象画像データ４２２に写る製品Ｒの良否を判定する。
【０１２６】
具体的には、良否判定部４１２は、第２学習結果データ３２３を参照して、学習済みの第２識別器５４の設定を行う。次に、良否判定部４１２は、取得した対象画像データ４２２を第２識別器５４に入力して、第２識別器５４の演算処理を実行することで、第２識別器５４から出力値を取得する。そして、良否判定部４１２は、第２識別器５４から取得した出力値に基づいて、対象画像データ４２２に写る製品Ｒの良否を判定する。出力部４１３は、製品Ｒの良否を判定した結果、すなわち、外観検査の結果を出力する。
【０１２７】
なお、上記のとおり、本実施形態に係る第２識別器５４は、いわゆる畳み込みニューラルネットワークにより構成されており、上記ニューラルネットワーク５３と同様に構成される。すなわち、第２識別器５４は、畳み込み層５４１、プーリング層５４２、全結合層５４３、及び出力層５３４を備えている。各層５４１〜５４４は、上記ニューラルネットワーク５３の各層５３１〜５３４と同様に構成される。
【０１２８】
＜その他＞
学習データ生成装置１、第１学習装置２、第２学習装置３、及び検査装置４の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、学習データ生成装置１、第１学習装置２、第２学習装置３、及び検査装置４の各ソフトウェアモジュールがいずれも汎用のＣＰＵによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、１又は複数の専用のプロセッサにより実現されてもよい。また、学習データ生成装置１、第１学習装置２、第２学習装置３、及び検査装置４それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
【０１２９】
§３  動作例
［第１学習データ生成装置］
次に、図１０を用いて、本実施形態に係る学習データ生成装置１の動作例について説明する。図１０は、本実施形態に係る学習データ生成装置１の処理手順の一例を例示するフローチャートである。以下で説明する処理手順は、学習データ生成方法の一例である。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【０１３０】
（ステップＳ１０１）
ステップＳ１０１では、制御部１１は、データ取得部１１１として動作し、第１画像データ１２２、及び第１画像データ１２２に写る製品の良否の判定に対する正解を示す第１正解データ１２３を取得する。
【０１３１】
第１画像データ１２２及び第１正解データ１２３を取得する方法は、特に限定されていなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、カメラを用意し、検査対象となる製品Ｒと同種の製品であって、欠陥のある又は欠陥のない製品を用意したカメラにより撮影する。これにより、良否の表れた製品の写る第１画像データ１２２を取得することができる。そして、得られた第１画像データ１２２に対して、その第１画像データ１２２に写る製品に表れた良否（正解）を示す第１正解データ１２３を適宜取得する。これにより、第１画像データ１２２及び第１正解データ１２３の組み合わせ（データセット）を作成することができる。
【０１３２】
この第１画像データ１２２及び第１正解データ１２３の組み合わせの作成は、学習データ生成装置１により行われてもよい。この場合、制御部１１は、オペレータによる入力装置１４の操作に応じて、第１画像データ１２２及び第１正解データ１２３の組み合わせを作成してもよい。また、制御部１１は、生成プログラム１２１の処理により、第１画像データ１２２及び第１正解データ１２３の組み合わせを自動的に作成してもよい。この作成処理を実行することで、本ステップＳ１０１では、制御部１１は、第１画像データ１２２及び第１正解データ１２３の組み合わせを取得することができる。
【０１３３】
あるいは、第１画像データ１２２及び第１正解データ１２３の組み合わせを作成は、例えば、第２学習装置３等の、学習データ生成装置１以外の他の情報処理装置により行われてもよい。他の情報処理装置では、第１画像データ１２２及び第１正解データ１２３の組み合わせは、オペレータにより手動で作成されてもよいし、プログラムの処理により自動的に作成されてもよい。この場合、本ステップＳ１０１では、制御部１１は、ネットワーク、記憶媒体９１等を介して、他の情報処理装置により作成された第１画像データ１２２及び第１正解データ１２３の組み合わせを取得してもよい。
【０１３４】
また、この場合、第１画像データ１２２及び第１正解データ１２３の組み合わせは、第２学習装置３において利用される複数件の第２学習用データセット３２２から選択された第２学習用データセット３２２であってもよい。複数件の第２学習用データセット３２２は、第２学習装置３の記憶部２２に格納されていてもよいし、ＮＡＳ（Network Attached Storage）等の外部の記憶装置に格納されていてもよい。この場合、本ステップＳ１０１では、制御部１１は、ネットワーク、記憶媒体９１等を介して、第１画像データ１２２及び第１正解データ１２３の組み合わせを、第２学習装置３、外部の記憶装置等の記憶領域から取得することができる。
【０１３５】
第１画像データ１２２及び第１正解データ１２３の組み合わせ（データセット）の取得が完了すると、制御部１１は、次のステップＳ１０２に処理を進める。なお、本ステップＳ１０１では、複数件のデータセットが取得されてもよい。複数件のデータセットを取得した場合、制御部１１は、各件のデータセットについて、以降のステップＳ１０２〜Ｓ１０４を実行する。
【０１３６】
（ステップＳ１０２）
ステップＳ１０２では、制御部１１は、第１生成部１１２として動作し、ステップＳ１０１で取得した第１画像データ１２２に所定の変換処理を適用する。これにより、制御部１１は、それぞれ製品の写る複数件の第２画像データ１２５を第１画像データ１２２から生成する。
【０１３７】
所定の変換処理は、実施の形態に応じて適宜選択されてよい。例えば、所定の変換処理は、フォトメトリックな変換処理、ジオメトリックな変換処理、画像の合成処理、画像の置換処理及びこれらの組合せから選択されてよい。なお、フォトメトリックな変換処理とは、画像の輝度等の明るさを変換する処理であり、例えば、明度の変換処理等である。明度の変換処理は、第１画像データ１２２の少なくとも一部の画素値を変更する処理である。ジオメトリックな変換処理とは、画像の空間座標を変換する処理であり、例えば、アフィン変換、射影変換等である。アフィン変換は、第１画像データ１２２の少なくとも一部を線型変換及び平行移動可能な処理である。画像の合成は、第１画像データ１２２の少なくとも一部の領域にノイズ等の所定の画像を合成することである。画像置換は、第１画像データ１２２の少なくとも一部の領域をその他の画像に置き換えることである。これらの変換処理には、機械学習により構築された変換器が利用されてもよい。
【０１３８】
これらの変換処理により、第１画像データ１２２から、当該第１画像データ１２２と完全には一致しない第２画像データ１２５を生成することができる。制御部１１は、変換処理のパラメータ（例えば、変換する明度の量、アフィン変換の変換行列の各値等）を適宜変更しながら、第１画像データ１２２に当該変換処理を繰り返し適用する。この変換処理のパラメータの値は、複数のテンプレートにより予め与えられていてもよいし、ランダムに又は所定の規則に従って適宜変更されてよい。
【０１３９】
これにより、制御部１１は、それぞれ異なる複数件の第２画像データ１２５を生成することができる。生成する第２画像データ１２５の件数は、実施の形態に応じて適宜決定されてよい。生成された各件の第２画像データ１２５は、製品の良否を判定する能力を習得するための機械学習に利用する学習データの候補となる。複数件の第２画像データ１２５の生成が完了すると、制御部１１は、次のステップＳ１０３に処理を進める。
【０１４０】
（ステップＳ１０３）
ステップＳ１０３では、制御部１１は、判定部１１３として動作し、ステップＳ１０２で生成した各件の第２画像データ１２５を第１識別器５１に入力することで当該第１識別器５１から得られる出力に基づいて、各件の第２画像データ１２５を学習データとして採用するか否かを判定する。
【０１４１】
本実施形態では、制御部１１は、第１学習結果データ１２９を参照し、学習済みの第１識別器５１の設定を行う。続いて、制御部１１は、各件の第２画像データ１２５を第１識別器５１に入力し、第１識別器５１の演算処理を実行する。これにより、制御部１１は、第１識別器５１から出力値を取得する。
【０１４２】
具体的には、制御部１１は、ステップＳ１０２で生成した各件の第２画像データ１２５を、第１識別器５１の最も入力側に配置された畳み込み層５１１に入力する。そして、制御部１１は、入力側から順に、各層５１１〜５１４に含まれる各ニューロンの発火判定を行う。これにより、制御部１１は、各件の第２画像データ１２５を学習データとして採用するか否かを判定した結果に対応する出力値を出力層５１４から取得する。
【０１４３】
そして、制御部１１は、出力層５１４から取得した出力値に基づいて、各件の第２画像データ１２５を学習データとして採用するか否かを判定する。ここで、出力層５１４から得られる出力値の形式は、実施の形態に応じて適宜選択されてよい。例えば、出力層５１４から得られる出力値は、学習データとして採用するか否かを２値で示してもよい。この場合、制御部１１は、出力層５１４から得られる出力値に応じて、対象の第２画像データ１２５を学習データとして採用するか否かを特定することができる。また、例えば、出力層５１４から得られる出力値は、学習データとして適切又は不適切である度合いを連続値で示してもよい。この場合、制御部１１は、出力層５１４から得られる出力値と閾値とを比較することで、対象の第２画像データ１２５を学習データとして採用するか否かを判定することができる。これにより、各件の第２画像データ１２５を学習データとして採用するか否かの判定が完了すると、制御部１１は、次のステップＳ１０４に処理を進める。
【０１４４】
（ステップＳ１０４）
ステップＳ１０４では、制御部１１は、第２生成部１１４として動作し、製品の良否を判定する能力を習得するための機械学習に利用する学習データとして採用すると判定された第２画像データ１２５に第２正解データ１２６を付与する。
【０１４５】
第２正解データ１２６は、第２画像データ１２５に写る製品の良否の判定に対する正解を示すように適宜設定される。本実施形態では、第２正解データ１２６により示される正解は、第１正解データ１２３に基づいて決定される。例えば、ステップＳ１０２における変換処理を適用しても、製品に表れる良否の状態に変更がない場合には、制御部１１は、第１正解データ１２３をそのまま第２正解データ１２６として利用してもよい。
【０１４６】
また、例えば、各正解データ（１２３、１２６）は、欠陥のある箇所を示す等のように、上記所定の変換処理により変化し得る値で製品の良否を示してもよい。この場合、制御部１１は、第１正解データ１２３の値に上記所定の変換処理を適用することで、第２正解データ１２６の値を導出してもよい。
【０１４７】
また、ステップＳ１０２で適用する変換処理によっては、例えば、欠陥箇所の画像が欠陥のない画像で上書きされる等のように、第１画像データ１２２と第２画像データ１２５との間で、製品に表れる良否の状態が変化する（例えば、入れ替わる）ケースがあり得る。この場合、制御部１１は、ステップＳ１０２において適用した所定の変換処理に基づいて、第１正解データ１２３により示される正解が変化するか否かを判定し、当該判定の結果に基づいて、第２正解データ１２６の内容を決定してもよい。
【０１４８】
以上により、制御部１１は、製品の写る第２画像データ１２５、及び第２画像データ１２５に写る製品の良否の判定に対する正解を示す第２正解データ１２６の対で構成された学習用データセット１２７を生成することができる。制御部１１は、学習データとして採用すると判定された複数件の第２画像データ１２５を収集し、収集した各件の第２画像データ１２５に第２正解データ１２６を付与することで、複数件の学習用データセット１２７により構成された学習用データ群を生成してもよい。
【０１４９】
なお、第２正解データ１２６を付与する形態は、実施の形態に応じて適宜選択されてよい。例えば、１件の第２画像データ１２５毎に１件の第２正解データ１２６を付与してもよい。また、製品の良否の判定に対する正解が共通である複数件の第２画像データ１２５に１件の第２正解データ１２６を一括で付与してもよい。この場合、正解が共通である複数件の第２画像データ１２５をグループにまとめることで、１件の第２正解データ１２６が付与されていると取り扱ってもよい。
【０１５０】
学習用データセット１２７の生成が完了した後、制御部１１は、生成した学習用データセット１２７を所定の記憶領域に保存する。所定の記憶領域は、記憶部１２であってもよいし、ＮＡＳ等の外部の記憶領域であってもよい。また、制御部１１は、生成した学習用データセット１２７を第２学習装置３に配信してもよい。これにより、生成した学習用データセット１２７の保存処理が完了すると、制御部１１は、本動作例に係る処理を終了する。
【０１５１】
なお、制御部１１は、生成される学習用データセット１２７の件数が閾値を超えるまで、ステップＳ１０１〜Ｓ１０４の一連の処理を繰り返してもよい。このとき、第２画像データ１２５を生成する元となる第１画像データ１２２は、一連の処理を繰り返す度に変更されてもよいし、少なくとも所定回数の繰り返しで共通に利用されてもよい。第１画像データ１２２を共通に利用する場合、ステップＳ１０１の処理は省略されてよい。
【０１５２】
また、学習データとして採用しないと判定された第２画像データ１２５の処理は、実施の形態に応じて適宜決定されてよい。例えば、制御部１１は、学習データとして採用しないと判定された第２画像データ１２５を削除してもよい。また、例えば、学習データ生成装置１が出力装置１５としてディスプレイを備えている場合、制御部１１は、学習データとして採用しないと判定された第２画像データ１２５をディスプレイに表示してもよい。これにより、制御部１１は、第２画像データ１２５を学習データとして利用するか削除するかの選択を受け付けてもよい。この場合、オペレータは、入力装置１４を操作することで、第１識別器５１により学習データとして採用しないと判定された第２画像データ１２５を学習データとして利用するか削除するかを選択することができる。
【０１５３】
［第１学習装置］
次に、図１１を用いて、本実施形態に係る第１学習装置２の動作例について説明する。図１１は、本実施形態に係る第１学習装置２の処理手順の一例を例示するフローチャートである。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【０１５４】
（ステップＳ２０１）
ステップＳ２０１では、制御部２１は、第１学習データ取得部２１１として動作し、画像データ２２２１及び採否データ２２２２の組み合わせでそれぞれ構成された複数件の第１学習用データセット２２２を取得する。
【０１５５】
第１学習用データセット２２２を取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、カメラを用意し、検査対象となる製品Ｒと同種の製品であって、欠陥のある又は欠陥のない製品を用意したカメラにより撮影する。これにより得られた撮影画像データを画像データ２２２１として利用してもよい。また、第２学習用データセット３２２に含まれる画像データ３２２１を画像データ２２２１として利用してもよい。更に、撮影画像データ又は画像データ３２２１に上記所定の変換処理を適用することで、画像データ２２２１を生成してもよい。
【０１５６】
そして、得られた画像データ２２２１に対して、製品の良否を判定する能力を習得するための機械学習に利用する学習データとしてその画像データ２２２１を採用するか否かの正解を示す採否データ２２２２を組み合わせることで、第１学習用データセット２２２を作成することができる。この作成を繰り返すことで、複数件の第１学習用データセット２２２を作成することができる。
【０１５７】
なお、採否データ２２２２のデータ形式は、第１識別器５１の出力（すなわち、出力層５１４から得られる出力値）の形式に合わせて適宜決定されてよい。例えば、採否データ２２２２は、学習データとして採用するか否かを２値で示すように設定されてもよい。また、例えば、採否データ２２２２は、学習データとして適切又は不適切である度合いを連続値で示すように適宜設定されてよい。一つの指標として、製品の写る画像として不自然である画像データ２２２１ほど、採否データ２２２２は、学習データとして採用しないことを示すように設定される。他方、製品の写る画像として自然である画像データ２２２１ほど、採否データ２２２２は、学習データとして採用することを示すように設定される。製品の写る画像として不自然であるとは、例えば、現実ではありえない程度に製品の像が変形している、製品の写る領域が判別できないほど不鮮明である等、カメラにより撮影して得られる通常の画像ではない状態を指す。不自然な程度は、適宜決定されてよい。
【０１５８】
この第１学習用データセット２２２の作成は、第１学習装置２により行われてもよい。この場合、制御部２１は、オペレータによる入力装置２４の操作に応じて、複数件の第１学習用データセット２２２を作成してもよい。また、制御部２１は、採否学習プログラム２２１の処理により、複数件の第１学習用データセット２２２を自動的に作成してもよい。この作成処理を実行することで、本ステップＳ２０１では、制御部２１は、複数件の第１学習用データセット２２２を取得してもよい。
【０１５９】
あるいは、第１学習用データセット２２２の作成は、第１学習装置２以外の他の情報処理装置により行われてもよい。他の情報処理装置では、複数件の第１学習用データセット２２２は、オペレータにより手動で作成されてもよいし、プログラムの処理により自動的に作成されてもよい。この場合、本ステップＳ２０１では、制御部２１は、ネットワーク、記憶媒体９２等を介して、他の情報処理装置により作成された第１学習用データセット２２２を取得してもよい。
【０１６０】
取得する第１学習用データセット２２２の件数は、特に限定されなくてもよく、例えば、第１識別器５１の機械学習を実施可能な程度に適宜決定されてよい。これにより、複数件の第１学習用データセット２２２の取得が完了すると、制御部２１は、次のステップＳ２０２に処理を進める。
【０１６１】
（ステップＳ２０２）
ステップＳ２０２では、制御部２１は、第１学習処理部２１２として動作し、取得した各件の第１学習用データセット２２２を利用した機械学習を実行する。本実施形態では、制御部２１は、各件の第１学習用データセット２２２を用いて、画像データ２２２１を畳み込み層５２１に入力すると、採否データ２２２２により示される正解に対応する出力値を出力層５２４から出力するようにニューラルネットワーク５２の機械学習を実行する。
【０１６２】
具体的には、まず、制御部２１は、学習処理を行う対象となるニューラルネットワーク５２（学習前の第１識別器５１）を用意する。用意するニューラルネットワーク５２の構成、各ニューロン間の結合の重みの初期値、各ニューロンの閾値の初期値等の各パラメータは、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。再学習を行う場合、制御部２１は、再学習を行う対象の第１学習結果データ１２９に基づいて、学習前のニューラルネットワーク５２を用意してもよい。
【０１６３】
次に、制御部２１は、ステップＳ２０１で取得した各件の第１学習用データセット２２２に含まれる画像データ２２２１を入力データとして用い、採否データ２２２２を教師データとして用いて、ニューラルネットワーク５２の学習処理を実行する。このニューラルネットワーク５２の学習処理には、確率的勾配降下法等が用いられてよい。
【０１６４】
例えば、制御部２１は、最も入力側に配置された畳み込み層５２１に画像データ２２２１を入力し、入力側から順に各層５２１〜５２４に含まれる各ニューロンの発火判定を行う。これにより、制御部２１は、出力層５２４から出力値を得る。次に、制御部２１は、出力層５２４から得た出力値と採否データ２２２２により示される正解に対応する値との誤差を算出する。続いて、制御部２１は、誤差逆伝搬（Back propagation）法により、算出した出力値の誤差を用いて、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの誤差を算出する。そして、制御部２１は、算出した各誤差に基づいて、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの値の更新を行う。
【０１６５】
各件の第１学習用データセット２２２について、最も入力側に配置された畳み込み層５２１に画像データ２２２１を入力することにより出力層５２４から得られる出力値が、入力した画像データ２２２１に関連付けられた採否データ２２２２により示される正解に対応する値と一致するまで、制御部２１は、この一連の処理を繰り返す。これにより、制御部２１は、画像データ２２２１を入力すると、採否データ２２２２により示される採否の正解に対応する出力値を出力する学習済みのニューラルネットワーク５２（すなわち、第１識別器５１）を構築することができる。ニューラルネットワーク５２の学習処理が完了すると、制御部２１は、次のステップＳ２０３に処理を進める。
【０１６６】
（ステップＳ２０３）
ステップＳ２０３では、制御部２１は、第１学習処理部２１２として動作し、機械学習により構築された学習後のニューラルネットワーク５２（すなわち、第１識別器５１）の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第１学習結果データ１２９として記憶部２２に格納する。これにより、制御部２１は、本動作例に係る処理を終了する。
【０１６７】
なお、制御部２１は、上記ステップＳ２０３の処理が完了した後に、作成した第１学習結果データ１２９を学習データ生成装置１に転送してもよい。また、制御部２１は、上記ステップＳ２０１〜Ｓ２０３の学習処理を定期的に実行することで、第１学習結果データ１２９を更新してもよい。そして、制御部２１は、作成した第１学習結果データ１２９を学習処理の実行毎に学習データ生成装置１に転送することで、学習データ生成装置１の保持する第１学習結果データ１２９を定期的に更新してもよい。また、例えば、制御部２１は、作成した第１学習結果データ１２９をＮＡＳ等の外部の記憶領域に保存してもよい。この場合、学習データ生成装置１は、この外部の記憶領域から第１学習結果データ１２９を取得してもよい。また、第１学習結果データ１２９は、学習データ生成装置１に予め組み込まれてもよい。
【０１６８】
［第２学習装置］
次に、図１２を用いて、本実施形態に係る第２学習装置３の動作例について説明する。図１２は、本実施形態に係る第２学習装置３の処理手順の一例を例示するフローチャートである。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【０１６９】
（ステップＳ３０１）
ステップＳ３０１では、制御部３１は、第２学習データ取得部３１１として動作し、画像データ３２２１及び正解データ３２２２の組み合わせでそれぞれ構成された複数件の第２学習用データセット３２２を取得する。
【０１７０】
第２学習用データセット３２２を取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。各件の第２学習用データセット３２２は、上記第１画像データ１２２及び第１正解データ１２３の組み合わせを取得する方法と同様の方法で取得されてよい。すなわち、制御部３１は、オペレータによる入力装置３４の操作に応じて、各件の第２学習用データセット３２２を作成してもよいし、学習プログラム３２１の処理により、各件の第２学習用データセット３２２を自動的に作成してもよい。あるいは、制御部３１は、ネットワーク、記憶媒体９３等を介して、他の情報処理装置により作成された第２学習用データセット３２２を取得してもよい。
【０１７１】
また、取得される第２学習用データセット３２２の少なくとも一部は、学習データ生成装置１により作成された学習用データセット１２７である。制御部３１は、ネットワーク、記憶媒体９３等を介して、学習データ生成装置１により作成された学習用データセット１２７を第２学習用データセット３２２として取得してもよい。また、制御部３１は、学習用データセット１２７の生成に利用された第１画像データ１２２及び第１正解データ１２３の組み合わせを第２学習用データセット３２２として取得してもよい。
【０１７２】
なお、正解データ３２２２のデータ形式は、第２識別器５４の出力の形式に合わせて適宜決定されてよい。例えば、正解データ３２２２は、製品の良否を２値で示すように設定されてもよい。また、例えば、正解データ３２２２は、製品が良品である（すなわち、欠陥がない）確率又は製品に欠陥がある確率を連続値で示すように設定されてもよい。また、例えば、正解データ３２２２は、製品の良否又は欠陥の種別のインデックスを示すように設定されてもよい。また、例えば、正解データ３２２２は、欠陥のある箇所等を示すように設定されてもよい。
【０１７３】
取得する第２学習用データセット３２２の件数は、特に限定されなくてもよく、例えば、第２識別器５４の機械学習を実施可能な程度に適宜決定されてよい。これにより、複数件の第２学習用データセット３２２の取得が完了すると、制御部３１は、次のステップＳ３０２に処理を進める。
【０１７４】
（ステップＳ３０２）
ステップＳ３０２では、制御部３１は、第２学習処理部３１２として動作し、学習データ生成装置１により生成された学習用データセット１２７を含む複数件の第２学習用データセット３２２を利用した機械学習を実施する。本実施形態では、制御部３１は、各件の第２学習用データセット３２２を用いて、画像データ３２２１を畳み込み層５３１に入力すると、正解データ３２２２により示される正解に対応する出力値を出力層５３４から出力するようにニューラルネットワーク５３の機械学習を実行する。これにより、制御部３１は、製品の良否を判定する能力を習得した学習済みの第２識別器５４を構築する。
【０１７５】
機械学習の方法は、上記ステップＳ２０２と同様であってよい。制御部３１は、学習処理を行う対象となるニューラルネットワーク５３（学習前の第２識別器５４）を用意する。そして、制御部３１は、ステップ３０１で取得した各件の第２学習用データセット３２２に含まれる画像データ３２２１を入力データとして用い、正解データ３２２２を教師データとして用いて、ニューラルネットワーク５３の学習処理を実行する。
【０１７６】
これにより、制御部３１は、最も入力側に配置された畳み込み層５３１に画像データ３２２１が入力されると、入力した画像データ３２２１に関連付けられた正解データ３２２２により示される正解に対応する出力値を出力層５３４から出力する学習済みのニューラルネットワーク５３（すなわち、第２識別器５４）を構築することができる。ニューラルネットワーク５３の学習処理が完了すると、制御部３１は、次のステップＳ３０３に処理を進める。
【０１７７】
（ステップＳ３０３）
ステップＳ３０３では、制御部３１は、第２学習処理部３１２として動作し、機械学習により構築された学習後のニューラルネットワーク５３（すなわち、第２識別器５４）の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第２学習結果データ３２３として記憶部３２に格納する。これにより、制御部３１は、本動作例に係る処理を終了する。
【０１７８】
なお、制御部３１は、上記ステップＳ３０３の処理が完了した後に、作成した第２学習結果データ３２３を検査装置４に転送してもよい。また、制御部３１は、上記ステップＳ３０１〜３０３の学習処理を定期的に実行することで、第２学習結果データ３２３を更新してもよい。そして、制御部３１は、作成した第２学習結果データ３２３を学習処理の実行毎に検査装置４に転送することで、検査装置４の保持する第２学習結果データ３２３を定期的に更新してもよい。また、例えば、制御部３１は、作成した第２学習結果データ３２３をＮＡＳ等の外部の記憶領域に保存してもよい。この場合、検査装置４は、この外部の記憶領域から第２学習結果データ３２３を取得してもよい。また、第２学習結果データ３２３は、検査装置４に予め組み込まれてもよい。
【０１７９】
更に、制御部３１は、評価用データセットを利用して、構築した第２識別器５４の判定性能を評価してもよい。評価用データセットは、第２学習用データセット３２２と同様に構成可能である。すなわち、評価用データセットは、製品の写る画像データ、及び画像データに写る製品の良否の判定に対する正解を示す正解データの組み合わせにより構成されてよい。制御部３１は、後述するステップＳ４０２のとおり、第２識別器５４を利用して、評価用データセットの画像データに写る製品の良否を判定する。制御部３１は、この判定結果と正解データにより示される正解とを照合することで、第２識別器５４の判定性能を評価することができる。
【０１８０】
この第２識別器５４の判定性能が所定の基準以下である（例えば、正答率が閾値以下である）場合には、制御部３１は、複数件の第２学習用データセット３２２から選択した１又は複数件の第２学習用データセット３２２を学習データ生成装置１に送信してもよい。そして、制御部３１は、送信した第２学習用データセット３２２を第１画像データ１２２及び第１正解データ１２３の組み合わせとして利用して、複数件の学習用データセット１２７を生成する要求を学習データ生成装置１に行ってもよい。これに応じて、学習データ生成装置１により生成された複数件の学習用データセット１２７を受信することで、制御部３１は、機械学習に利用する第２学習用データセット３２２の件数を増やすことができる。
【０１８１】
［検査装置］
次に、図１３を用いて、検査装置４の動作例について説明する。図１３は、検査装置４の処理手順の一例を例示するフローチャートである。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【０１８２】
（ステップＳ４０１）
ステップＳ４０１では、制御部４１は、対象データ取得部４１１として動作し、検査の対象となる製品Ｒの写る対象画像データ４２２を取得する。本実施形態では、検査装置４は、外部インタフェース４４を介してカメラ８１に接続されている。そのため、制御部４１は、カメラ８１から対象画像データ４２２を取得する。この対象画像データ４２２は、動画像データであってもよいし、静止画像データであってもよい。対象画像データ４２２を取得すると、制御部４１は、次のステップＳ４０２に処理を進める。
【０１８３】
ただし、対象画像データ４２２を取得する経路は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、検査装置４とは異なる他の情報処理装置が、カメラ８１に接続されていてもよい。この場合、制御部４１は、他の情報処理装置から対象画像データ４２２の送信を受け付けることで、対象画像データ４２２を取得してもよい。
【０１８４】
（ステップＳ４０２）
ステップＳ４０２では、制御部４１は、良否判定部４１２として動作し、第２識別器５４を利用して、対象画像データ４２２に写る製品Ｒの良否を判定する。
【０１８５】
具体的には、制御部４１は、第２学習結果データ３２３を参照して、学習済みの第２識別器５４の設定を行う。続いて、制御部４１は、第２識別器５４の最も入力側に配置された畳み込み層５４１に対象画像データ４２２を入力し、入力側から順に、各層５４１〜５４４に含まれる各ニューロンの発火判定を行う。これにより、制御部４１は、対象画像データ４２２に写る製品Ｒの良否を判定した結果に対応する出力値を出力層５４４から取得する。
【０１８６】
そして、制御部４１は、第２識別器５４の出力層５４４から取得した出力値に基づいて、対象画像データ４２２に写る製品Ｒの良否を判定する。製品Ｒの良否を判定する方法は、第２識別器５４の出力形式に応じて適宜決定されてよい。例えば、第２識別器５４から得られる出力値が製品Ｒの良否を２値で示す場合、制御部４１は、第２識別器５４から得られる出力値に応じて、製品Ｒの良否を特定することができる。また、例えば、第２識別器５４から得られる出力値が、製品Ｒが良品である確率又は製品Ｒに欠陥がある確率を連続値で示す場合、制御部４１は、第２識別器５４から得られる出力値と閾値とを比較することで、製品Ｒの良否を判定することができる。また、例えば、第２識別器５４から得られる出力値が欠陥のある箇所を示す場合、制御部４１は、第２識別器５４から得られる出力値に基づいて、対象画像データ４２２に写る製品Ｒの良否を判定することができると共に、欠陥が存在する場合にはその欠陥の箇所を特定することができる。
【０１８７】
また、例えば、第２識別器５４から得られる出力値が、製品Ｒの良否又は欠陥の種別のインデックスを示す場合、検査装置４は、第２識別器５４から得られる出力値と製品Ｒの良否又は欠陥の種別とを対応付けたテーブル形式等の参照情報（不図示）を記憶部４２に保持していてもよい。この場合、制御部４１は、この参照情報を参照することにより、第２識別器５４から得られた出力値に応じて、対象画像データ４２２に写る製品Ｒの良否を判定することができる。
【０１８８】
以上により、制御部４１は、第２識別器５４を利用して、対象画像データ４２２に写る製品Ｒの良否を判定することができる。製品Ｒの良否の判定が完了すると、制御部４１は、次のステップＳ４０３に処理を進める。
【０１８９】
（ステップＳ４０３）
ステップＳ４０３では、制御部４１は、出力部４１３として動作し、ステップＳ４０２により製品Ｒの良否を判定した結果を出力する。
【０１９０】
製品Ｒの良否を判定した結果の出力形式は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、制御部４１は、製品Ｒの良否を判定した結果をそのまま出力装置４６に出力してもよい。また、ステップＳ４０２において、製品Ｒに欠陥があると判定した場合、制御部４１は、欠陥を発見したことを知らせるための警告を本ステップＳ４０３の出力処理として行ってもよい。また、制御部４１は、本ステップＳ４０３の出力処理として、製品Ｒの良否を判定した結果に応じた所定の制御処理を実行してもよい。具体例として、製品の搬送を行う製造ラインに検査装置４が接続されている場合、製品Ｒに欠陥があると判定したときに、制御部４１は、欠陥のある製品Ｒを欠陥のない製品とは異なる経路で搬送する指令を製造ラインに送信する処理を本ステップ４０３の出力処理として行ってもよい。
【０１９１】
製品Ｒの良否を判定した結果の出力処理が完了すると、制御部４１は、本動作例に係る処理を終了する。なお、制御部４１は、製造ライン上を搬送される製品Ｒがカメラ８１の撮影範囲に入る度に、ステップＳ４０１〜Ｓ４０３の一連の処理を実行してもよい。これにより、検査装置４は、製造ライン上を搬送される製品Ｒの外観検査を行うことができる。
【０１９２】
［特徴］
以上のとおり、本実施形態に係る学習データ生成装置１によれば、上記ステップＳ１０２の処理により、第１画像データ１２２に所定の変換処理を適用することで、学習データの候補となる第２画像データ１２５を量産することができる。加えて、学習データ生成装置１は、上記ステップＳ１０３の処理により、量産した複数件の第２画像データ１２５のうち、製品の良否を判定する能力を習得するための学習データとして不適切な第２画像データ１２５を機械学習に利用されないようにすることができる。そのため、本実施形態に係る学習データ生成装置１によれば、ステップＳ１０４により生成した学習用データセット１２７により第２学習用データセット３２２の件数を増加させることで、十分な件数の適切な第２学習用データセット３２２を低コストで用意することができる。これにより、第２学習装置３では、ステップＳ３０１〜Ｓ３０３の処理により、用意した十分な件数の第２学習用データセット３２２を利用した機械学習を実施することで、製品の良否を判定する精度の比較的に高い第２識別器５４を構築することができる。したがって、本実施形態によれば、低コストで良否の判定精度の比較的に高い第２識別器５４を生成することができる。
【０１９３】
§４  変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
【０１９４】
＜４．１＞
上記実施形態では、各識別器（５１、５４）は、畳み込みニューラルネットワークにより構成されている。しかしながら、各識別器（５１、５４）の構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、各識別器（５１、５４）は、多層構造の全結合ニューラルネットワーク、再帰型ニューラルネットワーク等により構成されてよい。
【０１９５】
＜４．２＞
上記実施形態では、各識別器（５１、５４）の学習モデルとして、ニューラルネットワークを採用している。しかしながら、各識別器（５１、５４）の学習モデルは、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。各識別器（５１、５４）の学習モデルとして、例えば、サポートベクタマシン、自己組織化マップ、強化学習により機械学習を行う学習モデル等が採用されてよい。
【０１９６】
なお、機械学習として教師あり学習を採用しない場合には、各学習用データセット（２２２、３２２）において、各正解データ（２２２２、３２２２）は省略されてもよい。この場合、上記ステップＳ１０１において、学習データ生成装置１の制御部１１は、第１正解データ１２３の取得を省略し、製品の写る第１画像データ１２２のみを取得してもよい。また、ステップＳ１０４では、制御部１１は、第２正解データ１２６の付与を省略し、学習データとして採用すると判定された第２画像データ１２５を収集することで、学習データとして採用すると判定された複数件の第２画像データ１２５により構成された学習用データ群を生成してもよい。第２学習装置３は、この学習用データ群を機械学習に利用して、第２識別器５４を構築してもよい。
【０１９７】
＜４．３＞
上記実施形態では、各学習結果データ（１２９、３２３）は、ニューラルネットワークの構成を示す情報を含んでいる。しかしながら、各学習結果データ（１２９、３２３）の構成は、このような例に限定されなくてもよく、学習済みの各識別器（５１、５４）の設定に利用可能であれば、実施の形態に応じて適宜決定されてよい。例えば、利用するニューラルネットワークの構成が各装置で共通化されている場合には、各学習結果データ（１２９、３２３）は、ニューラルネットワークの構成を示す情報を含んでいなくてもよい。
【０１９８】
＜４．４＞
上記実施形態では、検査システム１００は、第１識別器５１を構成する第１学習装置２を含んでいる。しかしながら、第１識別器５１は、検査システム１００の外部の情報処理装置により構成されてよい。この場合、検査システム１００において、第１学習装置２は省略されてもよい。
【０１９９】
＜４．５＞
上記実施形態では、学習データ生成装置１の制御部１１は、ステップＳ１０４において、第１正解データ１２３に基づいて、第２正解データ１２６の内容を設定している。しかしながら、第２正解データ１２６の内容を設定する方法は、このような例に限られなくてもよい。例えば、制御部１１は、入力装置１４を介して、オペレータによる第２正解データ１２６の内容の入力を受け付けてもよい。このとき、オペレータが、第２正解データ１２６の内容を決定するための参考として、制御部１１は、出力装置１５を介して、第２画像データ１２５及び第１正解データ１２３の少なくとも一方を出力してもよい。
【０２００】
＜４．６＞
上記実施形態では、第１識別器５１は、画像データ２２２１及び採否データ２２２２の組み合わせにより構成された第１学習用データセット２２２を利用した機械学習により構築されている。しかしながら、第１識別器５１を構築する方法は、このような例に限定されなくてもよい。
【０２０１】
［構成例］
まず、図１４を用いて、上記実施形態とは異なる方法で第１識別器を構築する第１学習装置２Ａの構成の一例について説明する。図１４は、本変形例に係る第１学習装置２Ａのソフトウェア構成の一例を模式的に例示する。本変形例に係る第１学習装置２Ａは、上記第１学習装置２と同様のハードウェア構成を有する。すなわち、第１学習装置２Ａは、制御部２１、記憶部２２、通信インタフェース２３、入力装置２４、出力装置２５、及びドライブ２６が電気的に接続されたコンピュータである。
【０２０２】
図１４に示されるとおり、第１学習装置２Ａは、制御部２１によりプログラムを実行することで、第１学習データ取得部２１１Ａ及び第１学習処理部２１２Ａをソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本変形例でも、上記実施形態と同様に、各ソフトウェアモジュールは、制御部２１（ＣＰＵ）により実現される。
【０２０３】
第１学習データ取得部２２１Ａは、複数件の画像データ２２２３で構成された画像データ群２２２Ａを取得する。画像データ２２２３は、本発明の「第３画像データ」の一例である。第１学習処理部２１２Ａは、生成モデル６１及び識別モデル６２それぞれの機械学習を実施する。生成モデル６１は、画像データ群２２２Ａに対して、画像データ２２２３に類似する画像データ６１１を生成するように機械学習を行う。画像データ６１１は、本発明の「第４画像データ」の一例である。一方、識別モデル６２は、生成モデル６１由来の画像データ６１１であるか、画像データ群２２２Ａ由来の画像データ２２２３であるかを識別するように機械学習を行う。
【０２０４】
生成モデル６１及び識別モデル６２を含むネットワークは、各モデル（６１、６２）の機械学習を交互に実施する。すなわち、生成モデル６１は、識別モデル６２が識別を誤るような画像データ２２２３に類似する画像データ６１１を生成するように機械学習を繰り返す。これに対して、識別モデル６２は、繰り返し機械学習された生成モデル６１により生成される画像データ６１１と画像データ群２２２Ａ由来の画像データ２２２３とを識別するように機械学習を行う。
【０２０５】
生成モデル６１及び識別モデル６２は、例えば、ニューラルネットワークにより構成される。第１学習処理部２１２Ａは、このネットワークのうち、構築された識別モデル６２を第１識別器として保存する。すなわち、第１学習処理部２１２Ａは、学習後の識別モデル６２の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第１学習結果データ１２９として記憶部２２に格納する。
【０２０６】
［動作例］
次に、図１５を用いて、本変形例に係る第１学習装置２Ａの動作例について説明する。図１５は、本変形例に係る第１学習装置２Ａの処理手順の一例を例示するフローチャートである。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【０２０７】
（ステップＳ５０１）
ステップＳ５０１では、制御部２１は、第１学習データ取得部２１１Ａとして動作し、複数件の画像データ２２２３により構成された画像データ群２２２Ａを取得する。各件の画像データ２２２３は、上記第１画像データ１２２と同様の方法により取得されてよい。画像データ群２２２Ａを取得すると、制御部２１は、次のステップＳ５０２に処理を進める。
【０２０８】
（ステップＳ５０２）
ステップＳ５０２では、制御部２１は、生成モデル６１の機械学習を行う。上記のとおり、生成モデル６１は、ニューラルネットワークにより構成される。例えば、制御部２１は、無意味なデータ（例えば、ノイズ）を入力データとして利用し、画像データ群２２２Ａに含まれる画像データ２２２３を教師データとして利用して、生成モデル６１の機械学習を行う。すなわち、制御部２１は、ノイズを入力すると、画像データ２２２３に対応する画像データを出力するように生成モデル６１の機械学習を実施する。機械学習の方法は、上記ステップＳ２０２と同様であってよい。これにより、生成モデル６１は、画像データ群２２２Ａに対して、画像データ２２２３に類似する画像データ６１１を生成するように構築される。生成モデル６１の機械学習が完了すると、制御部２１は、次のステップＳ５０３に処理を進める。
【０２０９】
（ステップＳ５０３）
ステップＳ５０３では、制御部２１は、識別モデル６２の機械学習を行う。上記のとおり、識別モデル６２は、ニューラルネットワークにより構成される。例えば、制御部２１は、画像データ群２２２Ａに含まれる画像データ２２２３と、その画像データ２２２３が画像データ群２２２Ａの由来である（すなわち、真である）ことを示す正解データとの組み合わせで構成されたデータセットを生成する。また、制御部２１は、生成モデル６１により生成される画像データ６１１と、その画像データ６１１が生成モデル６１由来である（すなわち、偽である）ことを示す正解データとの組み合わせで構成されたデータセットを生成する。
【０２１０】
そして、制御部２１は、画像データ２２２３又は画像データ６１１を入力データとして利用し、各画像データ（２２２３、６１１）に関連付けられた正解データを教師データとして利用して、識別モデル６２の機械学習を行う。すなわち、制御部２１は、各画像データ（２２２３、６１１）を入力すると、各画像データ（２２２３、６１１）に関連付けられた正解データに対応する値を出力するように識別モデル６２の機械学習を実施する。機械学習の方法は、上記ステップＳ２０２と同様であってよい。これにより、識別モデル６２は、生成モデル６１由来の画像データ６１１であるか、画像データ群２２２Ａ由来の画像データ２２２３であるかを識別するように構築される。識別モデル６２の機械学習が完了すると、制御部２１は、次のステップＳ５０４に処理を進める。
【０２１１】
（ステップＳ５０４）
ステップＳ５０４では、制御部２１は、ステップＳ５０２及びＳ５０３の機械学習の処理を繰り返すか否かを判定する。機械学習の処理を繰り返す基準は、実施の形態に応じて適宜決定されてよい。例えば、ステップＳ５０２及びＳ５０３の機械学習の実施する回数が設定されていてもよい。この場合、制御部２１は、ステップＳ５０２及びＳ５０３の機械学習を実施した回数が設定回数に到達したか否かを判定する。ステップＳ５０２及びＳ５０３の機械学習を実施した回数が設定回数に到達していないと判定した場合には、制御部２１は、ステップＳ５０２に処理を戻す。一方、ステップＳ５０２及びＳ５０３の機械学習を実施した回数が設定回数に到達したと判定した場合には、制御部２１は、次のステップＳ５０５に処理を進める。
【０２１２】
これにより、生成モデル６１及び識別モデル６２は、互いに交互に機械学習を行う。この過程で、生成モデル６１は、識別モデル６２が識別を誤るような画像データ２２２３に類似する画像データ６１１を生成するように構築される。一方で、識別モデル６２は、繰り返し機械学習された生成モデル６１により生成される画像データ６１１と画像データ群２２２Ａ由来の画像データ２２２３とを識別するように構築される。つまり、生成モデル６１は、画像データ２２２３により近似した画像データ６１１を生成することができるように構築され、識別モデル６２は、そのような画像データ６１１と画像データ２２２３とを識別できるように構築される。
【０２１３】
（ステップＳ５０５）
ステップＳ５０５では、制御部２１は、第１学習処理部２１２Ａとして動作し、ステップＳ５０２及びＳ５０３の処理を繰り返すことで構築されたネットワークのうち識別モデル６２を第１識別器として保存する。すなわち、制御部２１は、学習後の識別モデル６２の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第１学習結果データ１２９として記憶部２２に格納する。これにより、制御部２１は、本動作例に係る処理を終了する。
【０２１４】
なお、本変形例では、第１識別器（識別モデル６２）の出力は、生成モデル６１由来の画像データ６１１か画像データ群２２２Ａ由来の画像データ２２２３であるかを判定した結果を示す。これらのうち、生成モデル６１由来の画像データ６１１であると判定することが、学習データとして採用しないと判定することに対応する。一方、画像データ群２２２Ａ由来の画像データ２２２３であると判定することが、学習データとして採用すると判定することに対応する。すなわち、本変形例によれば、ノイズから生成された疑似的な画像データ６１１を学習データとして採用しないと判定する第１識別器を構築することができる。そのため、この第１識別器を利用することで、第１画像データ１２２から生成された複数件の第２画像データ１２５から学習データとして適切な第２画像データ１２５を抽出することができるようになる。したがって、本変形例によれば、上記実施形態と同様に、十分な件数の適切な第２学習用データセット３２２を低コストで用意することができるため、低コストで良否の判定精度の比較的に高い第２識別器５４を生成することができる。
【０２１５】
＜４．７＞
上記実施形態では、製品Ｒの外観検査を行う他面に本発明を適用した例を示している。しかしながら、本発明の適用範囲は、このような外観検査の場面に限られなくてもよい。本発明は、画像データに写る被写体の特徴を識別するあらゆる場面に広く適用可能である。
【０２１６】
図１６及び図１７を用いて、被写体の特徴を識別する場面に本発明を適用した変形例について説明する。図１６及び図１７は、本変形例に係る画像識別装置４Ｂのハードウェア構成及びソフトウェア構成の一例を模式的に例示する。本変形例に係る画像識別システムは、上記学習データ生成装置１、第１学習装置２、第２学習装置３、及び画像識別装置４Ｂにより構成される。処理対象となるデータが、製品の写る画像データから何らかの被写体の画像データに置き換わる点を除き、本変形例に係る画像識別システムは、上記検査システム１００と同様に構成されてよい。
【０２１７】
すなわち、学習データ生成装置１は、被写体の特徴を識別する能力を識別器に習得させる機械学習に利用する学習用データセットを生成する。第１学習装置２は、与えられた画像データを、被写体の特徴を識別する能力を習得するための機械学習の学習データとして採用するか否かを判定する能力を習得した学習済みの第１識別器を構築する。本変形例に係る第１識別器は、上記実施形態に係る第１識別器５１と同様に構成されてよい。
【０２１８】
第２学習装置３は、学習データ生成装置１により生成された学習用データセットを利用した機械学習を実施することで、被写体の特徴を識別する能力を習得した学習済みの第２識別器５４Ｂを構築する。本変形例に係る第２識別器５４Ｂは、上記実施形態に係る第２識別器５４と同様に構成されてよい。画像識別装置４Ｂは、第２識別器５４Ｂを利用して、対象画像データ４２２Ｂに写る被写体の特徴を識別する。
【０２１９】
本変形例において、被写体、及び識別の対象となる被写体の特徴はそれぞれ、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。被写体は、例えば、対象者の顔、対象者の身体、作業対象のワーク等であってよい。また、被写体が対象者の顔である場合、識別の対象となる特徴は、例えば、表情の種別、顔のパーツの状態等であってよい。被写体が対象者の身体である場合には、識別の対象となる特徴は、例えば、身体のポーズ等であってよい。被写体が作業対象のワークである場合、識別の対象となる特徴は、例えば、ワークの位置、姿勢等であってよい。
【０２２０】
図１６に示されるとおり、本変形例に係る画像識別装置４Ｂは、上記検査装置４と同様のハードウェア構成を有する。画像識別装置４Ｂの記憶部４２は、画像識別プログラム４２１Ｂ、第２学習結果データ３２３Ｂ等の各種情報を記憶する。画像識別プログラム４２１Ｂは、上記検査装置４と同様の処理手順により、被写体の特徴を識別する情報処理を画像識別装置４Ｂに実行させるためのプログラムであり、当該情報処理の一連の命令を含む。第２学習結果データ３２３Ｂは、第２識別器５４Ｂの設定を行うためのデータである。
【０２２１】
画像識別装置４Ｂは、上記検査装置４と同様に、外部インタフェース４４を介してカメラ８１に接続されている。カメラ８１は、特徴を識別する対象となる被写体を撮影可能な場所に適宜配置される。例えば、被写体が対象者の顔又は身体である場合、カメラ８１は、被写体となる対象者の存在し得る場所に配置されてよい。また、例えば、被写体が作業対象のワークである場合、カメラ８１は、ワークの存在し得る場所に向けて配置されてよい。
【０２２２】
図１７に示されるとおり、画像識別装置４Ｂは、制御部４１により画像識別プログラム４２１Ｂを実行することで、対象データ取得部４１１、識別部４１２Ｂ、及び出力部４１３をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本変形例でも、上記実施形態と同様に、各ソフトウェアモジュールは、制御部４１（ＣＰＵ）により実現される。
【０２２３】
対象データ取得部４１１は、特徴を識別する対象となる被写体の写る対象画像データ４２２Ｂを取得する。識別部４１２Ｂは、取得した対象画像データ４２２Ｂを第２識別器５４Ｂに入力することで第２識別器５４Ｂから得られる出力に基づいて、対象画像データ４２２Ｂに写る被写体の特徴を識別する。出力部４１３は、被写体の特徴を識別した結果を出力する。
【０２２４】
［動作例］
次に、本変形例に係る画像識別システムの動作例について説明する。本変形例に係る画像識別システムは、上記検査システム１００とほぼ同様の処理手順で動作する。
【０２２５】
＜学習データ生成装置＞
学習データ生成装置１の制御部１１は、ステップＳ１０１では、データ取得部１１１として動作し、所定の被写体の写る第１画像データ、及び第１画像データに写る被写体の特徴の識別に対する正解を示す第１正解データを取得する。なお、ニューラルネットワーク以外の学習モデルを第２識別器５４Ｂに採用し、機械学習として教師あり学習を実施しない等、第１正解データが不要である場合、第１正解データの取得は省略されてよい。
【０２２６】
ステップＳ１０２では、制御部１１は、第１生成部１１２として動作して、第１画像データに所定の変換処理を適用することで、それぞれ被写体の写る複数件の第２画像データを第１画像データから生成する。所定の変換処理は、例えば、フォトメトリックな変換処理、ジオメトリックな変換処理、画像の合成処理、画像の置換処理及びこれらの組合せから選択されてよい。
【０２２７】
ステップＳ１０３では、制御部１１は、判定部１１３として動作して、学習済みの第１識別器に各件の第２画像データを入力することで当該第１識別器から得られる出力に基づいて、各件の第２画像データを学習データとして採用するか否かを判定する。
【０２２８】
これにより、第１画像データから生成した複数件の第２画像データのうち、被写体の写る画像として不自然な第２画像データを除外することができる。第１画像データに写る被写体が対象者の顔である場合に、例えば、現実ではありえないほど歪んだ顔が写る第２画像データ、対象者の顔を特定できない第２画像データ等を除外することができる。
【０２２９】
ステップＳ１０４では、制御部１１は、第２生成部１１４として動作して、被写体の特徴を識別する能力を習得するための機械学習の学習データとして採用すると判定された第２画像データに、第１正解データに基づいて決定された、第２画像データに写る被写体の特徴の識別に対する正解を示す第２正解データを付与する。これにより、制御部１１は、第２画像データ及び第２正解データの対で構成された学習用データセットを生成する。
【０２３０】
なお、制御部１１は、学習用データとして採用すると判定された複数件の第２画像データを収集し、収集した各件の第２画像データに第２正解データを付与することで、複数件の学習用データセットにより構成された学習用データ群を生成してもよい。また、上記第１正解データと同様に、第２正解データが不要である場合、第２正解データの付与は省略されてよい。この場合、制御部１１は、学習データとして採用すると判定された第２画像データを収集することで、学習データとして採用すると判定された複数件の第２画像データにより構成された学習用データ群を生成してもよい。
【０２３１】
＜第１学習装置＞
第１学習装置２の制御部２１は、上記ステップＳ２０１〜Ｓ２０３の処理により、与えられた画像データを、被写体の特徴を識別する能力を習得するための機械学習の学習データとして採用するか否かを判定する能力を習得した学習済みの第１識別器を構築する。
【０２３２】
すなわち、ステップＳ２０１では、制御部２１は、第１学習データ取得部２１１として動作し、被写体の写り得る画像データ及び画像データを学習データとして採用するか否かの判定の正解を示す採否データの組み合わせでそれぞれ構成された複数件の第１学習用データセットを取得する。ステップＳ２０２及びＳ２０３では、制御部２１は、第１学習処理部２１２として動作し、複数件の第１学習用データセットを利用した機械学習により第１識別器を構築し、構築した第１識別器の構成等を示す情報を第１学習結果データとして記憶部２２に格納する。
【０２３３】
なお、本変形例に係る第１識別器は、上記＜４．６＞の変形例と同様に、識別モデル６２により構成されてよい。このとき、上記画像データ２２２３には、特徴を識別する対象となる被写体の写る画像データが用いられる。
【０２３４】
＜第２学習装置＞
第２学習装置３の制御部３１は、上記ステップＳ３０１〜Ｓ３０３の処理により、対象の画像データに写る被写体の特徴を識別する能力を習得した学習済みの第２識別器５４Ｂを構築する。
【０２３５】
すなわち、ステップＳ３０１では、制御部３１は、第２学習データ取得部３１１として動作し、対象の被写体の写る画像データ、及び画像データに写る被写体の特徴の識別に対する正解を示す正解データの組み合わせでそれぞれ構成された複数件の第２学習用データセットを取得する。複数件の第２学習用データセットの少なくとも一部は、学習データ生成装置１により生成された学習用データセットである。
【０２３６】
ステップＳ３０２では、制御部３１は、第２学習処理部３１２として動作し、複数件の第２学習用データセットを利用した機械学習を実施することで、被写体の特徴を識別する能力を習得した学習済みの第２識別器５４Ｂを構築する。そして、ステップＳ３０３では、制御部３１は、第２学習処理部３１２として動作し、構築した第２識別器５４Ｂの構成等を示す情報を第２学習結果データ３２３Ｂとして記憶部３２に格納する。
【０２３７】
＜画像識別装置＞
画像識別装置４Ｂの制御部４１は、ステップＳ４０１では、対象データ取得部４１１として動作し、特徴を識別する対象となる被写体の写る対象画像データ４２２Ｂを取得する。本変形例では、制御部４１は、カメラ８１から対象画像データ４２２Ｂを取得する。
【０２３８】
ステップＳ４０２では、制御部４１は、識別部４１２Ｂとして動作し、第２学習結果データ３２３Ｂを参照して、学習済みの第２識別器５４Ｂの設定を行う。続いて、制御部４１は、ステップＳ４０１により取得した対象画像データ４２２Ｂを第２識別器５４Ｂに入力し、第２識別器５４Ｂの演算処理を実行する。これにより、制御部４１は、対象画像データ４２２Ｂに写る被写体の特徴を識別した結果に対応する出力値を第２識別器５４Ｂから取得する。制御部４１は、第２識別器５４Ｂから取得した出力値に基づいて、対象画像データ４２２Ｂに写る被写体の特徴を識別する。
【０２３９】
ステップＳ４０３では、制御部４１は、出力部４１３として動作し、対象画像データ４２２Ｂに写る被写体の特徴を識別した結果を出力する。被写体の特徴を識別した結果の出力形式は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、制御部４１は、被写体の特徴を識別した結果をそのまま出力装置４６に出力してもよい。また、例えば、制御部４１は、識別結果に応じて所定の出力処理を実行してもよい。具体例として、被写体の特徴として対象者の表情の種別を識別するケースでは、対象者の顔が怒っていると識別したときに、制御部１１は、対象者に向けて気を落ち着かせる音楽を出力装置４６から出力してもよい。
【０２４０】
以上により、本変形例では、学習データ生成装置１により生成した学習用データセットにより第２学習用データセットの件数を増加させることで、十分な件数の適切な第２学習用データセットを低コストで用意することができる。これにより、第２学習装置３では、用意した十分な件数の第２学習用データセットを利用した機械学習を実施することで、被写体の特徴を識別する精度の比較的に高い第２識別器５４Ｂを構築することができる。したがって、本実施形態によれば、被写体の特徴の識別精度の比較的に高い第２識別器５４Ｂを低コストで生成することができる。
【０２４１】
＜４．８＞
上記実施形態及び変形例では、画像データから何らかの特徴を識別する場面に本発明を提供した例を示している。しかしながら、本発明の適用可能な範囲は、このような画像データから特徴を識別する場面に限られなくてもよい。本発明は、画像データ以外のデータ又は複数種類のデータから何らかの特徴を識別する場面に広く適用可能である。
【０２４２】
［構成例］
図１８〜図２２を用いて、データに含まれる特徴を識別する場面に本発明を適用した変形例について説明する。図１８は、本変形例に係る学習データ生成装置１Ｃのソフトウェア構成の一例を模式的に例示する。図１９は、本変形例に係る第１学習装置２Ｃのソフトウェア構成の一例を模式的に例示する。図２０は、本変形例に係る第２学習装置３Ｃのソフトウェア構成の一例を模式的に例示する。図２１及び図２２は、本変形例に係る識別装置４Ｃのハードウェア構成及びソフトウェア構成の一例を模式的に例示する。本変形例に係る識別システムは、学習データ生成装置１Ｃ、第１学習装置２Ｃ、第２学習装置３Ｃ、及び識別装置４Ｃにより構成される。処理対象となるデータが、製品の写る画像データから何らかの特徴を含む他種のデータに置き換わる点を除き、本変形例に係る識別システムは、上記検査システム１００と同様に構成されてよい。
【０２４３】
＜学習データ生成装置＞
本変形例に係る学習データ生成装置１Ｃは、上記学習データ生成装置１と同様のハードウェア構成を有する。すなわち、学習データ生成装置１Ｃは、制御部１１、記憶部１２、通信インタフェース１３、入力装置１４、出力装置１５、及びドライブ１６が電気的に接続されたコンピュータである。学習データ生成装置１Ｃの記憶部１２は、第１学習結果データ１２９Ｃ等の各種情報を記憶する。
【０２４４】
第１学習結果データ１２９Ｃは、与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第１識別器５１Ｃの設定を行うためのデータである。第１識別器５１Ｃは、上記実施形態と同様に、ニューラルネットワークにより構成される。第１識別器５１Ｃは、例えば、多層構造の全結合ニューラルネットワーク、再帰型ニューラルネットワーク等により構成されてよい。
【０２４５】
図１８に示されるとおり、学習データ生成装置１Ｃは、データ取得部１１１、第１生成部１１２、判定部１１３、及び第２生成部１１４をソフトウェアモジュールとして備えるコンピュータとして動作する。製品の写る画像データから何らかの特徴を含む他種のデータに置き換わる点を除き、データ取得部１１１、第１生成部１１２、判定部１１３、及び第２生成部１１４はそれぞれ、上記実施形態と同様に動作する。
【０２４６】
本変形例において、処理対象となるデータは、識別器による解析の対象となり得るあらゆる種類のデータを含んでもよく、例えば、画像データの他、音データ（音声データ）、数値データ、テキストデータ、その他センサからの出力データ等であってよい。また、対象のデータから識別される特徴は、データから識別可能なあらゆる特徴を含んでもよい。対象のデータが音データである場合、識別される特徴は、例えば、特定の音（例えば、機械の異音）が含まれているか否か等であってもよい。対象のデータが、活動量等の生体データに関する数値データ又はテキストデータである場合、識別される特徴は、例えば、対象者の状態（例えば、健康であるか否か）等であってもよい。対象のデータが、機械の駆動量等の数値データ又はテキストデータである場合、識別される特徴は、例えば、機械の状態（例えば、機械が所定の状態にあるか否か）等であってもよい。
【０２４７】
＜第１学習装置＞
本変形例に係る第１学習装置２Ｃは、上記第１学習装置２と同様のハードウェア構成を有する。すなわち、第１学習装置２Ｃは、制御部２１、記憶部２２、通信インタフェース２３、入力装置２４、出力装置２５、及びドライブ２６が電気的に接続されたコンピュータである。第１学習装置２Ｃは、学習データ生成装置１Ｃで利用する、与えられたデータを学習データとして採用するか否かを判定するための機械学習を行った学習済みの第１識別器５１Ｃを構築する。
【０２４８】
図１９に示されるとおり、第１学習装置２Ｃは、第１学習データ取得部２１１及び第１学習処理部２１２をソフトウェアモジュールとして備えるコンピュータとして構成される。製品の写る画像データから何らかの特徴を含む他種のデータに置き換わる点を除き、第１学習データ取得部２１１及び第１学習処理部２１２はそれぞれ、上記実施形態と同様に動作する。
【０２４９】
＜第２学習装置＞
本変形例に係る第２学習装置３Ｃは、上記第２学習装置３と同様のハードウェア構成を有する。すなわち、第２学習装置３Ｃは、制御部３１、記憶部３２、通信インタフェース３３、入力装置３４、出力装置３５、及びドライブ３６が電気的に接続されたコンピュータである。第２学習装置３Ｃは、学習データ生成装置１Ｃにより生成された学習データを利用した機械学習を実施することで、対象のデータから特徴を識別する能力を習得した学習済みの第２識別器５４Ｃを構築する。
【０２５０】
図２０に示されるとおり、第２学習装置３Ｃは、第２学習データ取得部３１１及び第２学習処理部３１２をソフトウェアモジュールとして備えるコンピュータとして構成される。製品の写る画像データから何らかの特徴を含む他種のデータに置き換わる点を除き、第２学習データ取得部３１１及び第２学習処理部３１２はそれぞれ、上記実施形態と同様に動作する。
【０２５１】
＜識別装置＞
図２１に示されるとおり、本変形例に係る識別装置４Ｃは、上記検査装置４と同様のハードウェア構成を有する。識別装置４Ｃの記憶部４２は、識別プログラム４２１Ｃ、第２学習結果データ３２３Ｃ等の各種情報を記憶する。識別プログラム４２１Ｃは、上記検査装置４と同様の処理手順により、対象のデータに含まれる特徴を識別する情報処理を識別装置４Ｃに実行させるためのプログラムであり、当該情報処理の一連の命令を含む。第２学習結果データ３２３Ｃは、学習済みの第２識別器５４Ｃの設定を行うためのデータである。
【０２５２】
本変形例では、識別装置４Ｃは、外部インタフェース４４を介して、計測装置８１Ｃに接続されている。計測装置８１Ｃは、対象のデータを取得可能に適宜構成される。計測装置８１Ｃの種類は、処理対象のデータに応じて適宜決定されてよい。処理対象のデータが音データである場合、計測装置８１Ｃは、例えば、マイクロフォン等である。処理対象のデータが生体データである場合、計測装置８１Ｃは、例えば、活動量計、血圧計等の、生体情報を計測可能に構成された装置である。また、処理対象のデータが、機械の駆動量等の数値データ又はテキストデータである場合、計測装置８１Ｃは、例えば、エンコーダ等の対象の物理量を測定可能に構成された装置である。計測装置８１Ｃの配置は、実施の形態に応じて適宜決定されてよい。
【０２５３】
図２２に示されるとおり、識別装置４Ｃは、制御部４１により識別プログラム４２１Ｃを実行することで、対象データ取得部４１１、識別部４１２Ｃ、及び出力部４１３をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本変形例でも、上記実施形態と同様に、各ソフトウェアモジュールは、制御部４１（ＣＰＵ）により実現される。
【０２５４】
対象データ取得部４１１は、識別する対象となる特徴を含む対象データ４２２Ｃを取得する。識別部４１２Ｃは、取得した対象データ４２２Ｃを第２識別器５４Ｃに入力することで第２識別器５４Ｃから得られる出力に基づいて、対象データ４２２Ｃに含まれる特徴を識別する。出力部４１３は、特徴を識別した結果を出力する。
【０２５５】
［動作例］
次に、本変形例に係る識別システムの動作例について説明する。本変形例に係る識別システムは、上記検査システム１００とほぼ同様の処理手順で動作する。
【０２５６】
＜学習データ生成装置＞
学習データ生成装置１Ｃの制御部１１は、ステップＳ１０１では、データ取得部１１１として動作し、所定の特徴を含む第１データ１２２Ｃ、及び第１データ１２２Ｃに含まれる特徴の識別に対する正解を示す第１正解データ１２３Ｃを取得する。第１データ１２２Ｃは、適宜取得されてよい。例えば、処理対象となるデータが音データである場合、マイクロフォンを用意し、識別する対象となる特徴を含みうる音データを用意したマイクロフォンにより録音する。これにより、第１データ１２２Ｃを取得することができる。なお、ニューラルネットワーク以外の学習モデルを第２識別器５４Ｃに採用し、機械学習として教師あり学習を実施しない等、第１正解データ１２３Ｃが不要である場合、第１正解データ１２３Ｃの取得は省略されてよい。
【０２５７】
ステップＳ１０２では、制御部１１は、第１生成部１１２として動作し、第１データ１２２Ｃに所定の変換処理を適用することで、第１データ１２２Ｃから複数件の第２データ１２５Ｃを生成する。所定の変換処理は、実施の形態に応じて適宜選択されてよい。第１データ１２２Ｃが音データである場合、所定の変換処理は、例えば、タイムストレッチ、ピッチシフト、マスキング、振幅の変換、ノイズ等の所定の音の合成及びこれらの組合せから選択されてよい。タイムストレッチは、音のピッチはそのままで、テンポ（持続時間）を変更する処理である。ピッチシフトは、音のテンポはそのままで、ピッチを変更する処理である。マスキングは、特定の部分の音を変換（例えば、除去）する処理である。また、第１データ１２２Ｃが数値データ又はテキストデータである場合、所定の変換処理は、例えば、ノイズなどの所定のデータの合成、特定の部分のデータの変換、及びこれらの組み合わせから選択されてよい。
【０２５８】
ステップＳ１０３では、制御部１１は、判定部１１３として動作し、第１学習結果データ１２９Ｃを参照し、学習済みの第１識別器５１Ｃの設定を行う。そして、制御部１１は、学習済みの第１識別器５１に各件の第２データ１２５Ｃを入力することで第１識別器５１Ｃから得られる出力に基づいて、各件の第２データ１２５Ｃを学習データとして採用するか否かを判定する。
【０２５９】
これにより、第１データ１２２Ｃから生成した複数件の第２データ１２５Ｃのうち、特徴を含むデータとして不自然な第２データ１２５Ｃを除外することができる。第１データ１２２Ｃが音データであり、機械の異音の有無を特徴として識別する場合、例えば、機械の異音の有無を判別できない第２データ１２５Ｃ等を除外することができる。
【０２６０】
ステップＳ１０４では、制御部１１は、第２生成部１１４として動作し、対象のデータに含まれる特徴を識別する能力を習得するための機械学習の学習データとして採用すると判定された第２データ１２５Ｃに、第１正解データ１２３Ｃに基づいて決定された、第２データ１２５Ｃに含まれる特徴の識別に対する正解を示す第２正解データ１２６Ｃを付与する。これにより、制御部１１は、第２データ１２５Ｃ及び第２正解データ１２６Ｃの対で構成された学習用データセット１２７Ｃを生成する。
【０２６１】
なお、制御部１１は、学習データとして採用すると判定された複数件の第２データ１２５Ｃを収集し、収集した各件の第２データ１２５Ｃに第２正解データ１２６Ｃを付与することで、複数件の学習用データセット１２７Ｃにより構成された学習用データ群を生成してもよい。また、上記第１正解データ１２３Ｃと同様に、第２正解データ１２６Ｃが不要な場合、第２データ１２５Ｃに対する第２正解データ１２６の付与は省略されてよい。この場合、制御部１１は、学習データとして採用すると判定された第２データ１２５Ｃを収集して、複数件の第２データ１２５Ｃにより構成された学習用データ群を生成してもよい。
【０２６２】
＜第１学習装置＞
第１学習装置２の制御部２１は、上記ステップＳ２０１〜Ｓ２０３の処理により、与えられたデータを、特徴を識別する能力を習得するための機械学習の学習データとして採用するか否かを判定する能力を習得した学習済みの第１識別器５１Ｃを構築する。
【０２６３】
すなわち、ステップＳ２０１では、制御部２１は、第１学習データ取得部２１１として動作し、識別する対象となる特徴を含みうるデータ２２２１Ｃ、及びデータ２２２１Ｃを学習データとして採用するか否かの判定の正解を示す採否データ２２２２Ｃの組み合わせでそれぞれ構成された複数件の第１学習用データセット２２２Ｃを取得する。
【０２６４】
ステップＳ２０２では、制御部２１は、第１学習処理部２１２として動作し、学習処理を行う対象となるニューラルネットワーク５２Ｃを用意する。次に、制御部２１は、各件の第１学習用データセット２２２Ｃを用いて、データ２２２１Ｃを入力すると、採否データ２２２２Ｃにより示される正解に対応する出力値を出力するようにニューラルネットワーク５２Ｃの機械学習を行う。これにより、制御部２１は、与えられたデータを学習データとして採用するか否かを判定する能力を習得した学習済みのニューラルネットワーク５２Ｃ（すなわち、第１識別器５１Ｃ）を構築することができる。
【０２６５】
ステップＳ２０３では、制御部２１は、第１学習処理部２１２として動作し、学習後のニューラルネットワーク５２Ｃ（すなわち、第１識別器５１Ｃ）の構成等を示す情報を第１学習結果データ１２９Ｃとして記憶部２２に格納する。なお、本変形例に係る第１識別器５１Ｃは、上記＜４．６＞の変形例と同様に、識別モデル６２により構成されてよい。このとき、上記画像データ２２２３に置き換えて、特徴を識別する対象となる所定種類のデータが用いられる。
【０２６６】
＜第２学習装置＞
第２学習装置３Ｃの制御部３１は、上記ステップＳ３０１〜Ｓ３０３の処理により、対象のデータに含まれる特徴を識別する能力を習得した学習済みの第２識別器５４Ｃを構築する。
【０２６７】
すなわち、ステップＳ３０１では、制御部３１は、第２学習データ取得部３１１として動作し、所定の特徴を含むデータ３２２１Ｃ、及びデータ３２２１Ｃに含まれる特徴の識別に対する正解を示す正解データ３２２２Ｃの組み合わせでそれぞれ構成された複数件の第２学習用データセット３２２Ｃを取得する。複数件の第２学習用データセット３２２Ｃの少なくとも一部は、学習データ生成装置１により生成された学習用データ群（学習用データセット１２７Ｃ）である。
【０２６８】
ステップＳ３０２では、制御部３１は、第２学習処理部３１２として動作し、学習処理を行う対象となるニューラルネットワーク５３Ｃを用意する。次に、制御部３１は、各件の第２学習用データセット３２２Ｃを用いて、データ３２２１Ｃを入力すると、正解データ３２２２Ｃにより示される正解に対応する出力値を出力するようにニューラルネットワーク５３Ｃの機械学習を行う。これにより、制御部３１は、対象のデータに含まれる特徴を識別する能力を習得した学習済みのニューラルネットワーク５３Ｃ（すなわち、第２識別器５４Ｃ）を構築することができる。
【０２６９】
ステップＳ３０３では、制御部３１は、第２学習処理部３１２として動作し、学習後のニューラルネットワーク５３Ｃ（すなわち、第２識別器５４Ｃ）の構成等を示す情報を第２学習結果データ３２３Ｃとして記憶部３２に格納する。なお、制御部３１は、上記実施形態と同様に、複数件の第２学習用データセット３２２Ｃから選択した１又は複数件の第２学習用データセット３２２Ｃを学習データ生成装置１Ｃに送信してもよい。そして、制御部３１は、送信した第２学習用データセット３２２Ｃを第１データ１２２Ｃ及び第１正解データ１２３Ｃの組み合わせとして利用して、複数件の学習用データセット１２７Ｃを生成する要求を学習データ生成装置１Ｃに行ってもよい。これに応じて、学習データ生成装置１Ｃにより生成された複数件の学習用データセット１２７Ｃを受信することで、制御部３１は、機械学習に利用する第２学習用データセット３２２Ｃの件数を増やすことができる。
【０２７０】
＜識別装置＞
識別装置４Ｃの制御部４１は、ステップＳ４０１では、対象データ取得部４１１として動作し、識別する対象となる特徴を含む対象データ４２２Ｃを取得する。本変形例では、制御部４１は、外部インタフェース４４を介して計測装置８１Ｃから対象データ４２２Ｃを取得する。ただし、対象データ４２２Ｃを取得する経路は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
【０２７１】
ステップＳ４０２では、制御部４１は、識別部４１２Ｃとして動作し、第２学習結果データ３２３Ｃを参照して、学習済みの第２識別器５４Ｃの設定を行う。続いて、制御部４１は、ステップＳ４０１により取得した対象データ４２２Ｃを第２識別器５４Ｃに入力し、第２識別器５４Ｃの演算処理を実行する。これにより、制御部４１は、対象データ４２２Ｃに含まれる特徴を識別した結果に対応する出力値を第２識別器５４Ｃから取得する。制御部４１は、第２識別器５４Ｃから取得した出力値に基づいて、対象データ４２２Ｃに含まれる特徴を識別する。
【０２７２】
ステップＳ４０３では、制御部４１は、出力部４１３として動作し、対象データ４２２Ｃに含まれる特徴を識別した結果を出力する。判定した結果の出力形式は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、制御部４１は、対象データ４２２Ｃに含まれる特徴を判定した結果をそのまま出力装置４６から出力してもよい。また、例えば、制御部４１は、判定結果に応じて所定の出力処理を実行してもよい。具体例として、対象データ４２２Ｃが音データであり、音データの特徴として機械の異音が含まれるか否かを判定するケースでは、制御部４１は、対象データ４２２Ｃに機械の異音が含まれると識別したときに、その機械の管理者の携帯端末にそのことを警告する電子メールの送信を当該出力処理として行ってもよい。また、識別装置４Ｃが対象の機械と接続されている場合、制御部４１は、対象の機械の処理速度を落としたり、対象の機械の動作を停止したりしてもよい。
【０２７３】
以上により、本変形例では、学習データ生成装置１Ｃにより生成した学習用データセットにより第２学習用データセット３２２Ｃの件数を増加させることで、十分な件数の適切な第２学習用データセット３２２Ｃを低コストで用意することができる。これにより、第２学習装置３Ｃでは、用意した十分な件数の第２学習用データセット３２２Ｃを利用した機械学習を実施することで、対象のデータに含まれる特徴を識別する精度の比較的に高い第２識別器５４Ｃを構築することができる。したがって、本実施形態によれば、推論精度の高い第２識別器５４Ｃを低コストで生成することができる。
【符号の説明】
【０２７４】
１００…検査システム、
１…学習データ生成装置、
１１…制御部、１２…記憶部、１３…通信インタフェース、
１４…入力装置、１５…出力装置、１６…ドライブ、
１１１…データ取得部、１１２…第１生成部、
１１３…判定部、１１４…第２生成部、
１２１…生成プログラム、
１２２…第１画像データ、１２３…第１正解データ、
１２５…第２画像データ、１２６…第２正解データ、
１２７…学習用データセット、１２９…第１学習結果データ、
２…第１学習装置、
２１…制御部、２２…記憶部、２３…通信インタフェース、
２４…入力装置、２５…出力装置、２６…ドライブ、
２１１…第１学習データ取得部、
２１２…第１学習処理部、
２２１…採否学習プログラム、
２２２…第１学習用データセット、
２２２１…画像データ（第５画像データ）、
２２２２…採否データ（第３正解データ）、
３…第２学習装置、
３１…制御部、３２…記憶部、３３…通信インタフェース、
３４…入力装置、３５…出力装置、３６…ドライブ、
３１１…第２学習データ取得部、
３１２…第２学習処理部、
３２１…学習プログラム、
３２２…第２学習用データセット、
３２２１…画像データ、３２２２…正解データ、
３２３…第２学習結果データ、
４…検査装置、
４１…制御部、４２…記憶部、４３…通信インタフェース、
４４…外部インタフェース、４５…入力装置、
４６…出力装置、４７…ドライブ、
４１１…対象データ取得部、４１２…良否判定部、
４１３…出力部、
４２１…検査プログラム、
５１…第１識別器、
５２…ニューラルネットワーク、
５３…ニューラルネットワーク、
５４…第２識別器、
５１１・５２１・５３１・５４１…畳み込み層、
５１２・５２２・５３２・５４２…プーリング層、
５１３・５２３・５３３・５４３…全結合層、
５１４・５２４・５３４・５４４…出力層、
２Ａ…第１学習装置、
２２２Ａ…画像データ群、
２２２３…画像データ（第３画像データ）、
６１…生成モデル、６１１…画像データ（第４画像データ）、
６２…識別モデル、
９１・９２・９３・９４…記憶媒体
【図１】
2019159961.tif 000003
【図２】
2019159961.tif 000004
【図３】
2019159961.tif 000005
【図４】
2019159961.tif 000006
【図５】
2019159961.tif 000007
【図６】
2019159961.tif 000008
【図７】
2019159961.tif 000009
【図８】
2019159961.tif 000010
【図９】
2019159961.tif 000011
【図１０】
2019159961.tif 000012
【図１１】
2019159961.tif 000013
【図１２】
2019159961.tif 000014
【図１３】
2019159961.tif 000015
【図１４】
2019159961.tif 000016
【図１５】
2019159961.tif 000017
【図１６】
2019159961.tif 000018
【図１７】
2019159961.tif 000019
【図１８】
2019159961.tif 000020
【図１９】
2019159961.tif 000021
【図２０】
2019159961.tif 000022
【図２１】
2019159961.tif 000023
【図２２】
2019159961.tif 000024