(57)【要約】【課題】識別器が望ましい識別結果を出力できなかった特徴を含む画像を学習用データとして蓄積できるデータ生成装置、データ生成方法及びデータ生成プログラムを提供する。【解決手段】データ生成装置は、検査対象物の画像と、学習用データを用いて学習された識別器によって、画像に基づいて検査対象物に検出対象部位が含まれているか否かを判定部により判定した判定結果とを取得する取得部と、判定結果が正しいか否かを評価する評価部と、評価部により、判定結果が正しくないと評価された場合に、判定結果を修正した情報を、画像及び画像に基づいて生成された合成画像の少なくともいずれかに関連付けて、新たな学習用データを生成する生成部と、を備える。【選択図】図１
2019114116.tif 000002
【特許請求の範囲】
【請求項１】
検査対象物の画像と、学習用データを用いて学習された識別器によって、前記画像に基づいて前記検査対象物に検出対象部位が含まれているか否かを判定部により判定した判定結果とを取得する取得部と、
前記判定部による判定結果が正しいか否かを評価する評価部と、
前記評価部により、前記判定結果が正しくないと評価された場合に、前記判定結果を修正した情報を、前記画像及び前記画像に基づいて生成された合成画像の少なくともいずれかに関連付けて、新たな学習用データを生成する生成部と、
を備えるデータ生成装置。
【請求項２】
前記生成部は、前記判定部により前記検査対象物に検出対象部位が含まれていると判定され、前記評価部により前記判定結果が正しくないと評価された第１誤判定の場合と、前記判定部により前記検査対象物に検出対象部位が含まれていないと判定され、前記評価部により前記判定結果が正しくないと評価された第２誤判定の場合とで、検出対象部位の有無に関して異なる情報を付与する処理を実行することにより前記新たな学習用データを生成する、
請求項１に記載のデータ生成装置。
【請求項３】
前記生成部は、前記第１誤判定の場合に生成した前記新たな学習用データと、前記第２誤判定の場合に生成した前記新たな学習用データと、を混合して、学習用のデータセットを生成する、
請求項２に記載のデータ生成装置。
【請求項４】
前記生成部は、前記第１誤判定の場合に、少なくとも前記判定結果の根拠となる前記画像の部分画像には検出対象部位が含まれていないことを示す情報を前記画像に関連付けて、前記新たな学習用データを生成する、
請求項２又は３に記載のデータ生成装置。
【請求項５】
前記生成部は、前記第１誤判定の場合に、前記判定結果の根拠となる前記画像の部分画像と、前記部分画像を含む前記画像とは異なる画像とを合成した前記合成画像を生成し、検出対象部位が含まれていないことを示す情報を前記合成画像に関連付けて、前記新たな学習用データを生成する、
請求項２から４のいずれか一項に記載のデータ生成装置。
【請求項６】
前記生成部は、前記第２誤判定の場合に、少なくとも前記画像に検出対象部位が含まれていることを示す情報を前記画像に関連付けて、前記新たな学習用データを生成する、
請求項２から５のいずれか一項に記載のデータ生成装置。
【請求項７】
前記検出対象部位が含まれていることを示す情報は、前記検出対象部位が含まれている前記画像の領域を示す情報を含み、
前記領域を示す情報を、前記領域の内部に含まれる画素が所定量多くなるように、前記領域の外縁の少なくとも一部を広げるように補正する補正部をさらに備え、
前記生成部は、補正された前記領域を示す情報を前記画像に関連付けて、学習用データを生成する、
請求項６に記載のデータ生成装置。
【請求項８】
前記生成部は、前記第２誤判定の場合に、前記画像のうち前記検出対象部位を含む部分画像と、前記部分画像を含む前記画像とは異なる画像とを合成した前記合成画像を生成し、検出対象部位が含まれていることを示す情報を前記合成画像に関連付けて、前記新たな学習用データを生成する、
請求項２から７のいずれか一項に記載のデータ生成装置。
【請求項９】
前記検出対象部位は、前記検査対象物に含まれる欠陥の部位であり、
前記合成画像に欠陥が含まれているか否かを前記判定部により判定させ、前記第１誤判定又は前記第２誤判定の判定結果が得られるか検証する検証部をさらに備える、
請求項５又は８に記載のデータ生成装置。
【請求項１０】
前記生成部によって前記新たな学習用データを生成する場合に、前記第１誤判定の場合であるか前記第２誤判定の場合であるかを示す情報とともに、前記新たな学習用データの登録の可否を権限者に問い合わせる通信部をさらに備える、
請求項２から９のいずれか一項に記載のデータ生成装置。
【請求項１１】
請求項１から１０のいずれか一項に記載のデータ生成装置により生成された前記新たな学習用データを用いて学習された識別器によって、前記画像に基づいて前記検査対象物に検出対象部位が含まれているか否かを判定する判定部を備える、
検査装置。
【請求項１２】
検査対象物の画像と、学習用データを用いて学習された識別器によって、前記画像に基づいて前記検査対象物に検出対象部位が含まれているか否かを判定部により判定した判定結果とを取得することと、
前記判定結果が正しいか否かを評価することと、
前記評価することにより、前記判定結果が正しくないと評価された場合に、前記判定結果を修正した情報を、前記画像及び前記画像に基づいて生成された合成画像の少なくともいずれかに関連付けて、新たな学習用データを生成することと、
を含むデータ生成方法。
【請求項１３】
データ生成装置に備えられた演算装置を、
検査対象物の画像と、学習用データを用いて学習された識別器によって、前記画像に基づいて前記検査対象物に検出対象部位が含まれているか否かを判定部により判定した判定結果とを取得する取得部、
前記判定部による判定結果が正しいか否かを評価する評価部、及び
前記評価部により、前記判定結果が正しくないと評価された場合に、前記判定結果を修正した情報を、前記画像及び前記画像に基づいて生成された合成画像の少なくともいずれかに関連付けて、新たな学習用データを生成する生成部、
として動作させるデータ生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
データ生成装置、データ生成方法及びデータ生成プログラムに関する。
【背景技術】
【０００２】
近年、ニューラルネットワーク等の識別器を用いて画像の識別を行う技術が研究されている。識別器は、学習用画像と、その画像の正しい識別結果とを含む学習用データ（教師データ）を用いて学習されることがある。
【０００３】
効率的に学習用データを生成することに関して、下記特許文献１には、複数の検査対象の画像を表示するための表示部と、複数の検査対象の画像を分類する入力を受け付ける入力部と、予め準備された検査対象の画像が示す検査対象の大きさ等に基づいて表示部に表示させる検査対象の順序を決定する処理と、決定された順序に従って複数の検査対象の画像を表示部に配列表示させる処理を行う処理部と、を備える分類支援装置が記載されている。
【０００４】
また、識別器の学習を行うことに関して、下記特許文献２には、認識対象データに対して認識処理を行う認識処理部と、認識対象データのうちの一部を抽出し、抽出された認識対象データを含む再学習データを作成する学習制御部と、再学習データを含む学習対象データを用いて、認識処理部の処理パラメータを学習する学習処理部と、を有する学習装置が記載されている。より具体的には、学習制御部は、学習処理部により学習に用いられた認識対象データに含まれる情報のうち、学習において処理パラメータへの寄与が大きい一部分を抽出し、抽出した認識対象データに認識結果を付加した再学習データを作成する。また、学習処理部は、再学習データに含まれる学習対象データに対する認識処理部の認識結果が、当該学習対象データに付加された認識結果と一致するように、認識処理部の処理パラメータを学習する、学習装置が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−３１７０８２号公報
【特許文献２】特開２０１６−１４３３５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
学習用データを用いて生成された識別器によって検査対象物に含まれる欠陥の識別を行う場合、その識別精度は、学習に用いる学習用データの内容に依存する。例えば検査対象物に欠陥が含まれているか否かを画像に基づいて識別する場合、欠陥が撮像されていない画像と、欠陥が撮像されている画像とをそれぞれ十分な枚数及び十分な種類用意して学習用データとしなければ、識別対象となる様々な種類の欠陥に対応して高い識別精度を有する識別器を生成することは難しい。
【０００７】
学習用データの蓄積にあたっては、識別器の識別精度を十分に高め、また、その識別精度を継続的に向上させるため、識別器によって識別可能な特徴を含む画像のみならず、識別器が望ましい識別結果を出力できなかった特徴を含む画像を学習用データとして追加することが求められる。
【０００８】
そこで、本発明は、識別器が望ましい識別結果を出力できなかった特徴を含む画像を学習用データとして蓄積できるデータ生成装置、データ生成方法及びデータ生成プログラムを提供する。
【課題を解決するための手段】
【０００９】
本開示の一態様に係るデータ生成装置は、検査対象物の画像と、学習用データを用いて学習された識別器によって、画像に基づいて検査対象物に検出対象部位が含まれているか否かを判定部により判定した判定結果とを取得する取得部と、判定部による判定結果を評価する評価部と、評価部により、判定結果が正しくないと評価された場合に、判定結果を修正した情報を、画像及び画像に基づいて生成された合成画像の少なくともいずれかに関連付けて、新たな学習用データを生成する生成部と、を備える。ここで、学習用データは、識別器に入力される画像データと、少なくとも当該画像データに関する正しい判定結果を示し、識別器の出力と比較可能なデータと、を含む。また、判定結果を修正した情報は、正しい判定結果に関する情報であってよく、例えば、検査対象物の画像に欠陥が含まれていないことを示す情報であったり、画像に欠陥が含まれていることを示す情報であったりしてよい。また、検出対象部位は、検査対象物に含まれる任意の部位であってよく、例えば、検査対象物に含まれる欠陥の部位であってよい。なお、画像に基づいて生成された合成画像とは、画像に対して所定の加工が施された画像、画像の少なくとも一部と、その他の画像とを合成して生成された画像、であってよい。
【００１０】
この態様によれば、判定部による判定結果が正しくないと評価された場合に、判定結果を修正した情報を、画像及び画像に基づいて生成された合成画像の少なくともいずれかに関連付けて、新たな学習用データを生成することで、識別器が望ましい識別結果を出力できなかった特徴を含む画像を学習用データとして蓄積できる。そのため、識別器が識別を苦手とする画像を用いて識別器の学習を行うことができ、結果出力までの計算量、計算時間を短縮することができる。また、識別器の識別精度を高め、その識別精度を継続的に向上させることができる。
【００１１】
上記態様において、生成部は、判定部により検査対象物に検出対象部位が含まれていると判定され、評価部により判定結果が正しくないと評価された第１誤判定の場合と、判定部により検査対象物に検出対象部位が含まれていないと判定され、評価部により判定結果が正しくないと評価された第２誤判定の場合とで、検出対象部位の有無に関して異なる情報を付与する処理を実行することにより新たな学習用データを生成してもよい。
【００１２】
この態様によれば、第１誤判定の場合、すなわち欠陥を誤検知してしまったフォールス・ポジティブの場合と、第２誤判定の場合、すなわち欠陥を見逃してしまったフォールス・ネガティブの場合とで、検出対象部位の有無に関して異なる情報を付与する処理を実行することにより新たな学習用データを生成することで、第１誤判定を減らすために適した処理と、第２誤判定を減らすために適した処理とを使い分けて学習用データを生成することができ、識別器の識別精度をより効率的に高める学習用データを生成することができる。
【００１３】
上記態様において、生成部は、第１誤判定の場合に生成した新たな学習用データと、第２誤判定の場合に生成した新たな学習用データと、を混合して、学習用のデータセットを生成してもよい。第１誤判定の場合に生成した新たな学習用データと、第２誤判定の場合に生成した新たな学習用データとは、例えばランダムに混合されてよい。
【００１４】
この態様によれば、第１誤判定を減らすために適した学習用データと、第２誤判定を減らすのに適した学習用データとを混合することで、いずれの誤判定をも減らすような学習用データセットを生成することができ、識別器の識別精度をより効率的に高める学習用データセットを生成することができる。
【００１５】
上記態様において、生成部は、第１誤判定の場合に、少なくとも判定結果の根拠となる画像の部分画像には検出対象部位が含まれていないことを示す情報を画像に関連付けて、新たな学習用データを生成してもよい。ここで、欠陥が含まれていないことを示す情報は、画像の特定の領域に欠陥が含まれないことを示す情報であってよい。
【００１６】
この態様によれば、第１誤判定の場合に、判定結果の根拠となる画像の部分画像には検出対象部位が含まれていないことを示す情報を画像に関連付けることで、識別器が誤って検出対象部位が含まれていると誤判定した根拠となる画像の部分を特定して、その部分に検出対象部位が含まれていないことを示すことができる。したがって、識別器が検出対象部位を誤検知した場合であっても、当該誤検知の発生が抑制され、識別器の識別精度を高めることが可能な学習用データを生成することができる。
【００１７】
上記態様において、生成部は、第１誤判定の場合に、判定結果の根拠となる画像の部分画像と、部分画像を含む画像とは異なる画像とを合成した合成画像を生成し、検出対象部位が含まれていないことを示す情報を合成画像に関連付けて、新たな学習用データを生成してもよい。
【００１８】
この態様によれば、第１誤判定の場合に、判定部により検出対象部位が含まれていると判定された判定結果の根拠となる部分画像を、部分画像が抽出された画像とは異なる画像と合成して合成画像を生成することで、実際には検出対象部位が含まれていないのに判定部により欠陥が含まれていると誤判定されてしまう画像のバリエーションを増やすことができ、検出対象部位が含まれていると誤判定された画像と類似の画像を生成して、誤判定を減らすような学習用データを生成することができる。これにより、誤判定された一枚の画像から、誤判定され得る多様な合成画像を生成して、識別器の識別精度を向上させ、検査対象物に検出対象部位が含まれているか否かをより良い精度で識別できるようにする学習用データを生成することができる。
【００１９】
上記態様において、生成部は、第２誤判定の場合に、少なくとも画像に検出対象部位が含まれていることを示す情報を画像に関連付けて、新たな学習用データを生成してもよい。ここで、検出対象部位が含まれていることを示す情報は、画像の特定の領域に検出対象部位が含まれていることを示す情報であってよい
【００２０】
この態様によれば、第２誤判定の場合に、画像に検出対象部位が含まれていることを示す情報を画像に関連付けることで、識別器が誤って検出対象部位が含まれていないと誤判定した画像を特定して、識別器の識別精度を高める学習用データを生成することができる。
【００２１】
上記態様において、検出対象部位が含まれていることを示す情報は、検出対象部位が含まれている画像の領域を示す情報を含み、領域を示す情報を、領域の内部に含まれる画素が所定量多くなるように、領域の外縁の少なくとも一部を広げるように補正する補正部をさらに備え、生成部は、補正された領域を示す情報を画像に関連付けて、学習用データを生成してもよい。
【００２２】
この態様によれば、第２誤判定の場合に、検出対象部位が含まれている画像の領域を示す情報によって検出対象部位の位置を特定し、領域の外縁の少なくとも一部を広げるように補正した上で、領域を示す情報を画像に関連付けることで、検出対象部位が含まれている領域を、ほとんど検出対象部位のみ含むように指定した場合であっても、領域の外縁の少なくとも一部が広がるように補正され、画像に基づいて検査対象物に含まれる検出対象部位の特徴を適切に識別するように識別器を学習させることが可能な学習用データを生成することができる。その結果、学習用データを用いた学習により、識別器による欠陥の識別精度を向上させることができる。
【００２３】
上記態様において、生成部は、第２誤判定の場合に、画像のうち検出対象部位を含む部分画像と、部分画像を含む画像とは異なる画像とを合成した合成画像を生成し、検出対象部位が含まれていることを示す情報を合成画像に関連付けて、新たな学習用データを生成してもよい。
【００２４】
この態様によれば、第２誤判定の場合に、検出対象部位を含む部分画像を、部分画像を含む画像とは異なる画像と合成して合成画像を生成することで、判定部により検出対象部位が見逃されてしまう誤判定が生じる画像のバリエーションを増やすことができ、検出対象部位が含まれていないと誤判定された画像と類似の画像を生成して、誤判定を減らすような学習用データを生成することができる。これにより、誤判定された一枚の画像から、誤判定され得る多様な合成画像を生成して、識別器の識別精度を向上させ、検査対象物に検出対象部位が含まれているか否かをより良い精度で識別できるようにする学習用データを生成することができる。
【００２５】
上記態様において、検出対象部位は、検査対象物に含まれる欠陥の部位であり、合成画像に欠陥が含まれているか否かを判定部により判定させ、第１誤判定又は第２誤判定の判定結果が得られるか検証する検証部をさらに備えてもよい。ここで、第１誤判定又は第２誤判定の判定結果とは、例えば、元画像において第１誤判定が生じた場合には、合成画像についても第１誤判定が生じることであってよく、元画像において第２誤判定が生じた場合には、合成画像についても第２誤判定が生じることであってよい。以下、第１誤判定又は第２誤判定の判定結果を、類似の判定結果と表現することがある。
【００２６】
この態様によれば、第１誤判定又は第２誤判定が生じた元画像と、類似の判定結果が得られる合成画像が生成されているか検証することができ、生成した合成画像が誤判定を減らすために有用であることを確かめることができる。
【００２７】
上記態様において、生成部によって新たな学習用データを生成する場合に、第１誤判定の場合であるか第２誤判定の場合であるかを示す情報とともに、新たな学習用データの登録の可否を権限者に問い合わせる通信部をさらに備えてもよい。ここで、権限者とは、入力部を操作する作業者による判断を訂正する権限を持つ者であり、学習用データの生成を管理する権限を持つ者であってよい。
【００２８】
この態様によれば、新たな学習用データを生成する場合に、誤判定の種類を権限者に示して、新たな学習用データの登録の可否を権限者に問い合わせることで、新たな学習用データが安易に登録されることが防止され、より適切な内容の学習用データを蓄積することができる。
【００２９】
本開示の他の態様に係る検査装置は、上記態様に係るデータ生成装置により生成された新たな学習用データを用いて学習された識別器によって、画像に基づいて検査対象物に検出対象部位が含まれているか否かを判定する判定部を備える。
【００３０】
この態様によれば、学習処理に要する計算量、計算時間を短縮して学習され、識別精度が向上された識別器によって、より高い精度で検査対象物に検出対象部位が含まれているか否かを判定することができる。
【００３１】
本開示の他の態様に係るデータ生成方法は、検査対象物の画像と、学習用データを用いて学習された識別器によって、画像に基づいて検査対象物に検出対象部位が含まれているか否かを判定部により判定した判定結果とを取得することと、判定結果が正しいか否かを評価することと、評価することにより、判定結果が正しくないと評価された場合に、判定結果を修正した情報を、画像及び画像に基づいて生成された合成画像の少なくともいずれかに関連付けて、新たな学習用データを生成することと、を含む。
【００３２】
この態様によれば、判定部による判定結果が正しくないと評価された場合に、判定結果を修正した情報を、画像及び画像に基づいて生成された合成画像の少なくともいずれかに関連付けて、新たな学習用データを生成することで、識別器が望ましい識別結果を出力できなかった特徴を含む画像を学習用データとして蓄積できる。そのため、識別器が識別を苦手とする画像を用いて識別器の学習を行うことができ、結果出力までの計算量、計算時間を短縮することができる。また、識別器の識別精度を高め、その識別精度を継続的に向上させることができる。
【００３３】
本開示の他の態様に係るデータ生成プログラムは、データ生成装置に備えられた演算装置を、検査対象物の画像と、学習用データを用いて学習された識別器によって、画像に基づいて検査対象物に検出対象部位が含まれているか否かを判定部により判定した判定結果とを取得する取得部、判定部による判定結果が正しいか否かを評価する評価部、及び評価部により、判定結果が正しくないと評価された場合に、判定結果を修正した情報を、画像及び画像に基づいて生成された合成画像の少なくともいずれかに関連付けて、新たな学習用データを生成する生成部、として動作させる。
【００３４】
この態様によれば、判定部による判定結果が正しくないと入力された場合に、判定結果を修正した情報を、画像及び画像に基づいて生成された合成画像の少なくともいずれかに関連付けて、新たな学習用データを生成することで、識別器が望ましい識別結果を出力できなかった特徴を含む画像を学習用データとして蓄積できる。そのため、識別器が識別を苦手とする画像を用いて識別器の学習を行うことができ、結果出力までの計算量、計算時間を短縮することができる。また、識別器の識別精度を高め、その識別精度を継続的に向上させることができる。
【発明の効果】
【００３５】
識別器が望ましい識別結果を出力できなかった特徴を含む画像を学習用データとして蓄積できるデータ生成装置、データ生成方法及びデータ生成プログラムを提供する。
【図面の簡単な説明】
【００３６】
【図１】本発明の実施形態に係るデータ生成装置の機能ブロック図である。
【図２】本実施形態に係るデータ生成装置の第１学習部及び第２学習部における処理の内容を示す概念図である。
【図３】本実施形態に係るデータ生成装置の計測部における処理の内容を示す概念図である。
【図４】本実施形態に係るデータ生成装置のハードウェア構成を示すブロック図である。
【図５】本実施形態に係るデータ生成装置により実行される第１処理の内容を示すフローチャートである。
【図６】本実施形態に係るデータ生成装置により実行される第１誤判定の場合の処理の内容を示すフローチャートである。
【図７】本実施形態に係るデータ生成装置により実行される第２誤判定の場合の処理の内容を示すフローチャートである。
【図８】本実施形態に係るデータ生成装置により実行される第１誤判定の場合の処理の概要を示す図である。
【図９】本実施形態に係るデータ生成装置により実行される第２誤判定の場合の処理の概要を示す図である。
【図１０】本実施形態の変形例に係るデータ生成装置により実行される第１誤判定の場合の処理の内容を示すフローチャートである。
【図１１】本実施形態の変形例に係るデータ生成装置により実行される第２誤判定の場合の処理の内容を示すフローチャートである。
【図１２】本実施形態の変形例に係るデータ生成装置により実行される欠陥が含まれている領域の補正処理の概要を示す図である。
【発明を実施するための形態】
【００３７】
以下、本発明の一側面に係る実施の形態（以下、「本実施形態」と表記する。）を、図面に基づいて説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【００３８】
§１  適用例
まず、図１を用いて、本発明が適用される場面の一例について説明する。図１は、本実施形態に係るデータ生成装置１００の適用場面の一例を模式的に例示した機能ブロック図である。本実施形態に係るデータ生成装置１００は、例えばコンボリューショナルニューラルネットワーク（Convolutional Neural Network、以下、「ＣＮＮ」と称す。）等のニューラルネットワークを用いた識別器（ａ、ｂ、ｃ、Ａ、Ｂ、…）を有する。識別器（ａ、ｂ、ｃ、Ａ、Ｂ、…）は、検査対象物の画像と、画像に含まれる検査対象部位の有無に関する情報（ラベル）とを少なくとも含む学習用データを用いて機械学習により生成され、入力される画像内に含まれる検査対象部位の有無に関する情報を出力可能な識別器である。データ生成装置１００は、識別器（ａ、ｂ、ｃ、Ａ、Ｂ、…）によって、検査対象物の画像に基づいて検査対象物に検査対象部位が含まれているか否かを判定し、ユーザインタフェース１７０によって判定結果が正しいか否かに関する入力を受け付けて、入力に基づいて評価部１２７により判定結果が正しいか否かを評価し、判定結果が正しくないと評価された場合に、判定結果を修正した情報を、検査対象物の画像又は検査対象物の画像に基づいて生成された合成画像に関連付けて、新たな学習用データを生成する装置である。ここで、判定結果を修正した情報は、正しい判定結果に関する情報であってよく、例えば、検査対象物の画像に検査対象部位が含まれないことを示す情報であったり、画像に検査対象部位が含まれていることを示す情報であったりしてよい。また、検査対象部位が含まれないことを示す情報は、画像の特定の領域に検査対象部位が含まれないことを示す情報であってよいし、検査対象部位が含まれていることを示す情報は、画像の特定の領域に検査対象部位が含まれていることを示す情報であってよい。本実施形態では、検出対象部位が、検査対象物に含まれる欠陥の部位である場合について説明する。しかしながら、検出対象部位は、検査対象物に含まれる欠陥の部位に限られず、検査対象物に含まれる任意の部位であってよい。
【００３９】
図１に示すように、データ生成装置１００は、検査対象物の画像を取得する撮像装置１５３と、学習用データを用いて学習された識別器（ａ、ｂ、ｃ、Ａ、Ｂ、…）によって、画像に基づいて検査対象物に欠陥が含まれているか否かを判定する判定部１５２と、判定部１５２による判定結果が正しいか否かに関する入力を受け付けるユーザインタフェース１７０と、ユーザインタフェース１７０により、判定結果が正しくないと入力された場合に、判定結果を修正した情報を、画像及び画像に基づいて生成された合成画像の少なくともいずれかに関連付けて、新たな学習用データを生成する生成部１２１と、を備える。
ここで、計測部１５０は、本発明の「取得部」の一例である。本明細書では、撮像装置１５３により新たに撮像される検査対象物の画像を「計測画像」と呼び、識別器（ａ、ｂ、ｃ、Ａ、Ｂ、…）を学習するため予め収集される検査対象物の画像を「サンプル画像」と呼ぶ。なお、データ生成装置１００は、必ずしも撮像装置１５３を備えていなくてもよく、別体で設けられた撮像装置から計測画像を取得するものであってもよい。また、データ生成装置１００は、必ずしも判定部１５２を備えていなくてもよく、別体で設けられた判定部から判定結果を取得するものであってもよい。さらに、データ生成装置１００は、必ずしも計測部１５０を備えていなくてもよい。別体で設けられた撮像装置や判定部から計測画像や判定結果を取得する場合、データ生成装置１００は、インターネット等の通信ネットワークを介して計測画像や判定結果を取得してもよい。
【００４０】
撮像装置１５３により撮像された検査対象物の計測画像及び判定部１５２による判定結果は、第２作業者のユーザインタフェース１７０に表示される。第２作業者は、計測画像と判定結果とを比較して、ユーザインタフェース１７０によって判定結果の正否を入力する。計測画像に複数の欠陥が写されている場合には、欠陥毎に判定結果の正否を入力してよい。評価部１２７は、ユーザインタフェース１７０による入力に基づいて、判定部１５２による判定結果が正しいか否かを評価する。評価部１２７は、識別器（ａ、ｂ、ｃ、Ａ、Ｂ、…）とは異なる識別器により、判定部１５２による判定結果が正しいか否かを評価してもよい。
【００４１】
生成部１２１は、判定部１５２により検査対象物に欠陥が含まれていると判定され、評価部１２７により判定結果が正しくないと評価された第１誤判定の場合と、判定部１５２により検査対象物に欠陥が含まれていないと判定され、評価部１２７により判定結果が正しくないと評価された第２誤判定の場合とで、欠陥の有無に関して異なる情報を付与する処理を実行することにより新たな学習用データを生成してよい。例えば、第１誤判定の場合には、識別器（ａ、ｂ、ｃ、Ａ、Ｂ、…）が、画像のどのような特徴に基づいて検査対象物に欠陥が含まれていると判定したか明らかでない場合があるため、判定結果の根拠となる画像の部分画像を抽出部１２３によって抽出して、少なくとも部分画像には欠陥が含まれていないことを示す情報を画像に関連付けて、新たな学習用データを生成したり、部分画像を他の画像に合成して新たな学習用データを生成したりしてよい。また、第２誤判定の場合には、画像に欠陥が含まれていることを示す情報を画像に関連付けて、新たな学習用データを生成したり、画像のうち欠陥を含む部分画像と、他の画像とを合成した合成画像を生成し、欠陥が含まれていることを示す情報を合成画像に関連付けて、新たな学習用データを生成したりしてよい。
【００４２】
ここで、判定結果の根拠となる画像の部分画像は、識別器による判定に相対的に大きな影響を及ぼした画像の部分を含み、例えば、識別器がＣＮＮにより構成されている場合には、当該識別器の判定結果への寄与度が所定値以上である画像の領域を含むように抽出することができる。例えば、判定結果の根拠となる画像の部分画像は、識別器がＣＮＮにより構成されている場合には、その識別器の判定結果と対応する層のフィーチャマップの値が、所定の閾値以上となる画像の領域を含んでよい。抽出部１２３によって、判定部１５２による判定結果への寄与度が所定値以上である画像の領域を含むように、判定結果の根拠となる部分画像を抽出することで、判定部１５２により誤った判定がされた根拠となる部分画像が抽出され、識別器が識別を苦手とする特徴を含んだ部分画像に基づいて新たな学習用データを生成することができ、識別器の識別精度をより向上させるような学習用データを生成することができる。
【００４３】
また、第２誤判定の場合には、見逃された欠陥を含む画像の領域を示す情報をユーザインタフェース１７０により受け付けて、当該情報を画像に関連付けて新たな学習用データを生成したり、見逃された欠陥を含む画像の部分画像を他の画像に合成して新たな学習用データを生成したりしてよい。ここで、欠陥を含む画像の領域を示す情報は、欠陥を含む領域を示す枠形状等であってよい。欠陥を含む画像の領域の指定は、必ずしも指定に慣れていない作業者が行う場合もある。そこで、補正部１２６により、領域を示す情報を、領域の内部に含まれる画素が所定量多くなるように、領域の外縁の少なくとも一部を広げるように補正して、補正された領域を示す情報を画像に関連付けて、学習用データを生成してもよい。領域の外縁を広げる補正を行う際には、領域が検査対象物のエッジや表面に印刷されたロゴ等に重ならないように、補正の方向や量を調整してよい。
【００４４】
このように、判定部による判定結果が正しくないと入力された場合に、判定結果を修正した情報を、画像及び画像に基づいて生成された合成画像の少なくともいずれかに関連付けて、新たな学習用データを生成することで、識別器が望ましい識別結果を出力できなかった特徴を含む画像を学習用データとして蓄積できる。そのため、識別器が識別を苦手とする画像を用いて識別器の学習を行うことができ、結果出力までの計算量、計算時間を短縮することができる。また、識別器の識別精度を高め、その識別精度を継続的に向上させることができる。
【００４５】
§２  構成例
［機能構成］
次に、図１を用いて、本実施形態に係るデータ生成装置１００の機能構成の一例を説明する。データ生成装置１００は、学習用データを用いて、検査対象物の欠陥の有無と、検査対象物に欠陥が含まれる場合には、その欠陥の位置と、その欠陥の種類と、を含む属性情報（ラベル）を出力する識別器を生成する機能を備える。ここで、検査対象物に複数の欠陥が含まれる場合には、属性情報は、欠陥の有無と、複数の欠陥の位置と、それらの欠陥の種類と、を含んでよい。また、データ生成装置１００は、検査対象物を測定した計測画像を取得し、新たな学習用データを用いて学習された識別器を用いて、検査対象物の属性情報を出力する機能を備える。したがって、データ生成装置１００は、検査対象物の計測画像を取得し、計測画像に基づいて検査対象物の欠陥の有無に関する情報を含む計測結果を出力する検査装置又は検査システムとして機能する。
【００４６】
図１に示すように、データ生成装置１００は、学習用データを生成及び格納する画像収集部１１０と、判定結果が正しいか否かに関する入力に基づいて、計測した画像（計測画像）の修正を行う画像修正部１２０と、画像収集部１１０及び画像修正部１２０の少なくともいずれかにより生成された学習用データを用い、検査対象物の欠陥の有無（判定結果）と、検査対象物に欠陥が含まれる場合には、その欠陥の位置と、その欠陥の種類と、を含む属性情報を出力する識別器を生成する、第１学習部１３０及び第２学習部１４０と、検査対象物を測定した計測画像を取得し、第１学習部１３０及び第２学習部１４０の少なくともいずれかにより生成された識別器を用いて、検査対象物の属性情報を出力する計測部１５０と、計測画像とその属性情報とを関連付けて、計測結果として記憶する計測結果管理部１６０と、を備える。ここで、計測結果は、計測画像と、識別器により出力された検査対象物の属性情報と、判定部１５２による判定結果とを含む。なお、学習用データとは、単一の学習用データのみならず、複数の学習用データを有するデータセットであってよい。
【００４７】
ここで、欠陥とは、検査対象物が有する異常であって、例えば、傷、色等のムラ、汚れ、欠け、バリ、異物、印字のかすれ、印字等の位置ずれ等を含む。
【００４８】
また、属性情報とは、各画像に含まれる欠陥の有無に関する情報、画像に欠陥が含まれる場合には、当該欠陥の位置を示す情報及び当該欠陥の種類を示す情報を少なくとも含むものである。なお、属性情報は、欠陥の有無、欠陥の位置に関する情報及び欠陥の種類に関する情報に限られず、例えば、識別器により出力される欠陥の有無、欠陥の位置に関する情報及び欠陥の種類に関する情報の信頼度に関する情報を含んでいてもよい。
【００４９】
データ生成装置１００は、ソフトウェアプログラム及び当該ソフトウェアプログラムの実行に用いられるデータを記憶する記憶部（例えば、図４に示す補助記憶部１０２、１０３）と、ソフトウェアプログラムを呼び出し、実行する演算部（例えば、図４に示すプロセッサ１０４）と、を有する１又は複数の情報処理装置により構成される。すなわち、画像収集部１１０、画像修正部１２０、第１学習部１３０、第２学習部１４０、計測部１５０及び計測結果管理部１６０の各機能ブロックのそれぞれは、補助記憶部１０２、１０３等の記憶部に記憶された所定のソフトウェアプログラムがプロセッサ１０４等のハードウェアプロセッサによって実行されることで実現される。すなわち、画像収集部１１０、画像修正部１２０、第１学習部１３０、第２学習部１４０、計測部１５０及び計測結果管理部１６０の各機能のそれぞれは、ソフトウェアプログラムがハードウェアプロセッサによって実行されることにより実現される所定の処理を示す。また、画像収集部１１０、画像修正部１２０、第１学習部１３０、第２学習部１４０、計測部１５０及び計測結果管理部１６０のそれぞれは、単独で、又は、複数が組み合わされて、情報処理装置として構成される。なお、データ生成装置１００を、単一の情報処理装置により構成してもよい。本実施形態における情報処理装置のハードウェア構成については後述する。
【００５０】
＜画像収集部の構成＞
画像収集部１１０は、学習用データを生成するためのサンプル画像を取得する。サンプル画像は、検査対象物を撮像した画像でもよく、また、公知の画像合成技術により生成されたＣＧ画像であってもよい。画像収集部１１０が取得したサンプル画像は、属性付与部１１１にて、各画像に対して、又は、複数の画像に対して、属性情報の付与が行われる。すなわち、属性付与部１１１は、サンプル画像に対して属性情報を付与することで、サンプル画像を学習用データにする。
【００５１】
本実施形態において、属性情報の付与（ラベル付け）は、任意のユーザインタフェース１８０を介して、第１作業者により行われる。例えば、サンプル画像に欠陥が含まれる場合には、第１作業者は、ユーザインタフェース１８０としての、表示装置（液晶表示装置等）及び入力装置（タッチパネル、キーボード、マウス等）を用いて、所定の形状の枠により当該欠陥を囲うことで、欠陥の有無及び欠陥の位置を含む属性情報を付与することができる。また、ユーザインタフェース１８０を用いて、当該欠陥の種類を含む属性情報をサンプル画像に付与することもできる。なお、属性情報の付与の方法は、特に限定されない。例えば、画像と、その画像に付与すべき属性情報との関係性を学習済みの識別器を用いて、画像に対して属性情報を自動的に付与するようにしてもよいし、公知の統計的手法により、複数の画像をクラスタリングして、クラスタに対して属性情報の付与を行うこととしてもよい。
【００５２】
属性付与部１１１において属性情報が付与された画像（学習用データ）は、画像データベース（以下、「画像ＤＢ」と称す。）１１２に格納され、記憶される。
【００５３】
画像収集部１１０は、例えば、取得するサンプル画像の多少や、画像ＤＢ１１２に格納されている学習用データの多少に応じて、学習用データの拡張を行う画像補正部１１３を備えている。画像補正部１１３は、ユーザインタフェース１８０を介して行われる第１作業者の補正操作に基づいて、サンプル画像の拡張を行ってよい。なお、画像補正部１１３は、画像収集部１１０に必ずしも必須の要素ではない。また、学習用データの拡張とは、学習に用いるデータセットを増やすデータオーグメンテーションのことをいう。
【００５４】
学習用データの拡張（オーグメンテーション）は、例えば、サンプル画像を平行移動させたり、回転させたり、色を変えたり、拡大させたり、縮小させたりすることで行ってよい。なお、画像補正部１１３は、画像収集部１１０に必須の構成要素ではなく、データ生成装置１００を用いて実現する画像計測処理に必要な学習用データの必要量に応じて、適宜設けてよい。また、上記オーグメンテーションは、任意のユーザインタフェース１８０を介して、作業者自らが、部分画像の抽出、背景画像との合成等の各処理の指示を行うことで実現されてもよい。画像補正部１１３により拡張された学習用データは、画像ＤＢ１１２に格納され、記憶される。
【００５５】
ここで、背景画像は、部分画像に合成される画像であって、部分画像が抽出された計測画像とは異なる画像を含む。なお、背景画像は、計測画像であってもよいが、計測画像を背景画像として用いる場合には、計測画像から抽出された部分画像以外の領域に部分画像が合成されるように、合成箇所を制限して用いることができる。また、背景画像は、計測画像以外の画像に基づいて生成されてよく、計測画像の欠陥以外の領域の画像と同一の模様を有していてもよいし、また、有していなくてもよい。また、背景画像は一様な背景模様の画像の場合もあれば、ヘアラインのような背景模様を有する画像であったり、文字等が印字されている画像であったりしてよく、多種多様な画像であってよい。
【００５６】
画像ＤＢ１１２は、属性付与部１１１及び画像補正部１１３から、学習用データを取得する。画像ＤＢ１１２は、学習用データを、付与された属性情報に基づいて分類した状態で記憶してよい。また、画像ＤＢ１１２は、画像収集部１１０が取得したサンプル画像にすでに属性情報が付与されている場合には、当該サンプル画像を、属性付与部１１１及び画像補正部１１３を介さずに取得して、記憶してよい。なお、画像ＤＢ１１２は、学習用データを、後述する識別器を生成するための学習処理に使用する学習処理用の学習用データと、生成された識別器が、所望の属性情報を出力するか否かを評価するための評価処理用のテスト用データと、に区別して記憶してもよい。もっとも、学習用データとテスト用データを区別せずに画像ＤＢ１１２に記憶しておき、学習処理を行う際に、画像ＤＢ１１２に記憶されたデータセットを任意の手法で学習用とテスト用等に分けることとしてもよい。
【００５７】
＜第１学習部の構成＞
図２は、本実施形態に係るデータ生成装置１００の第１学習部１３０及び第２学習部１４０における処理の内容を示す概念図である。第１学習部１３０は、画像収集部１１０から、学習用データを取得する。なお、第１学習部１３０は、後述する画像修正部１２０から、学習用データを取得してもよい。第１学習部１３０は、取得した学習用データを用いた機械学習を実行し、識別器（ａ、ｂ、ｃ、・・・）を生成する第１学習処理部１３１を有する。識別器（ａ、ｂ、ｃ、・・・）は、画像データを入力とし、当該画像に含まれる欠陥の有無、１又は複数の欠陥が含まれる場合にはその位置及びその種類、を含む属性情報を出力するものである。なお、識別器（ａ、ｂ、ｃ、・・・）には、画像データ以外のデータが入力されてもよい。例えば、識別器（ａ、ｂ、ｃ、・・・）には、検査対象物の画像を撮像した条件（光量や撮像装置の露光時間等）が入力されたり、検査対象物の識別情報が入力されたりしてもよい。
【００５８】
識別器（ａ、ｂ、ｃ、・・・）は、任意の機械学習モデルに対して学習処理と評価処理とを行うことにより生成される。機械学習モデルは、所定のモデル構造と、学習処理によって変動する処理パラメータと、を有し、学習用データから得られる経験に基づいてその処理パラメータが最適化されることで、識別精度が向上するモデルである。すなわち、機械学習モデルは、学習処理によって、最適な処理パラメータを学習するモデルである。機械学習モデルのアルゴリズムは、例えば、サポートベクターマシン、ロジスティック回帰、ニューラルネットワーク等を用いることができるが、その種類は特に限定されない。本実施形態では、ニューラルネットワークであって、特に階層が３層以上であるディープニューラルネットワークのうち、画像認識に適したコンボリューショナルニューラルネットワーク（Convolutional Neural Network）を用いた例について説明する。なお、第１学習部１３０は、機械学習モデルを生成するためのモデル生成部（図示せず）を備えていてもよい。また、第１学習部１３０は、予め生成された機械学習モデルを、外部から取得してもよい。
【００５９】
第１学習処理部１３１は、学習用データを用いて、取得した画像のデータを入力すると、属性情報で表現される計測画像の属性に対応する出力値を出力するように、機械学習モデルを学習させる学習処理を行う。第１学習処理部１３１は、さらに、学習処理によって生成された識別器（ａ、ｂ、ｃ、・・・）に対し、テスト用データを用いて、識別器（ａ、ｂ、ｃ、・・・）の出力と、テスト用データに対して付与された属性情報とを比較する評価処理を行う。識別器（ａ、ｂ、ｃ、・・・）の出力と、テスト用データに付与された属性情報とが一致している場合には、識別器（ａ、ｂ、ｃ、・・・）の生成条件を満たしたと判断し、識別器（ａ、ｂ、ｃ、・・・）の生成処理を完了させる。
【００６０】
第１学習部１３０は、生成した識別器（ａ、ｂ、ｃ、・・・）のモデル構造及び処理パラメータを含む情報を、学習結果データとして、後述する計測部１５０及び第２学習部１４０に出力する。
【００６１】
次に、識別器について説明する。図２の「機械学習モデル（ＣＮＮ、他）」に示すように、本実施形態に係るデータ生成装置１００は、計測画像の属性を学習した識別器として、ニューラルネットワークを利用する。識別器として利用するニューラルネットワークは、いわゆる深層学習に用いられる多層構造のニューラルネットワークであってよく、入力から順に、入力層、１又は複数の中間層（隠れ層）及び出力層を備えていてよい。
【００６２】
図２では、ニューラルネットワークは２層の中間層を備えており、入力層の出力が第１中間層の入力となり、第１中間層の出力が第２中間層の入力となり、第２中間層の出力が出力層の入力となっている。ただし、中間層の数は２層に限られなくてもよく、ニューラルネットワークは、中間層を２層以上備えてもよい。
【００６３】
入力層、中間層及び出力層は、それぞれ１又は複数のニューロンを含む。例えば、入力層のニューロンの数は、計測画像の画素数及び原色数に応じて設定することができる。中間層のニューロンの数は実施形態に応じて適宜設定することができる。また、出力層のニューロンの数は、検査対象物の属性情報の数に応じて設定することができる。
【００６４】
隣接する層のニューロン同士は適宜結合され、各結合には重み（結合荷重）が設定されている。図２の例では、各ニューロンは、隣接する層の全てのニューロンと結合されているが、ニューロンの結合は、このような例に限定されなくてもよく、実施形態に応じて適宜設定されてよい。
【００６５】
各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の総和が閾値を超えているか否かによって各ニューロンの出力が決定される。各ニューロンの出力は、任意の活性化関数によって定められてよく、例えばステップ関数、シグモイド関数、双曲線関数及びＲｅＬＵ（Rectified Linear Unit）関数等を用いてよい。また、出力層の各ニューロンの出力は、任意の出力関数によって定められてよく、例えば恒等関数、シグモイド関数及びソフトマックス関数等を用いてよい。データ生成装置１００は、このようなニューラルネットワークの入力層に計測画像を入力することで、出力層から計測画像の属性情報を出力する。
【００６６】
第１学習処理部１３１は、ニューラルネットワークの出力と学習用データに含まれる教師データとの差を評価する目的関数の値を最小化（又は最大化）するように、各ニューロン間の結合の重み、各ニューロンに設定された閾値を更新する。そのようにして生成される学習済みのニューラルネットワークの構成（例えば、ニューラルネットワークの層数、各層におけるニューロンの個数、ニューロン同士の結合関係、各ニューロンの活性化関数）、各ニューロン間の結合の重み及び各ニューロンの閾値を示す情報は、学習結果ＤＢ１５１に格納される。データ生成装置１００は、学習結果ＤＢ１５１を参照して、所望の検査対象物を識別する処理に用いるニューラルネットワークの設定を行う。
【００６７】
＜第２学習部の構成＞
引き続き、図２を用いて、第２学習部１４０における処理の内容を説明する。第２学習部１４０は、所定の生成処理によって生成された識別器に対する追加学習（再学習）を行う。なお、第２学習部１４０について、第１学習部１３０と共通する要素については、その記載を省略する。
【００６８】
第２学習部１４０は、第１学習部１３０で生成された学習済みの識別器（ａ、ｂ、ｃ、・・・）の学習結果データを取得する。なお、第２学習部１４０は、所定の生成処理によって生成された識別器に関する学習結果データを、外部から取得してもよい。第２学習部１４０は、画像収集部１１０から、学習用データを取得する。なお、第２学習部１４０は、後述する画像修正部１２０から、学習用データを取得してもよい。
【００６９】
第２学習部１４０は、学習用データを用いた機械学習による追加学習（再学習）を実行し、識別器（Ａ、Ｂ、Ｃ、・・・）を生成する第２学習処理部１４１を有する。識別器（Ａ、Ｂ、Ｃ、・・・）は、所定の学習処理により生成された識別器（ａ、ｂ、ｃ、・・・）に対して学習処理と評価処理とを行うことにより生成される。換言すれば、第２学習処理部１４１は、学習用データを用いて、識別器（ａ、ｂ、ｃ、・・・）のモデル構造及び処理パラメータを含む学習結果データに対する学習処理と評価処理とを実行することで、識別器（Ａ、Ｂ、Ｃ、・・・）を生成する。識別器（Ａ、Ｂ、Ｃ、・・・）は、画像データを入力とし、当該画像に含まれる欠陥の有無と、１又は複数の欠陥が含まれる場合には、その位置及びその種類と、を含む属性情報を出力するものである。
【００７０】
第２学習処理部１４１は、学習用データを用いて、取得した画像のデータを入力すると、属性情報で表現される計測画像の属性に対応する出力値を出力するように、識別器（ａ、ｂ、ｃ、・・・）の学習結果データによって表現される機械学習モデルを学習させる学習処理（追加学習の学習処理）を行う。ここで、第２学習処理部１４１が行う追加学習の学習処理は、後述する画像修正部１２０から取得した学習用データを用いて行われてよい。これにより、検査対象物を撮像した画像に基づいて新たに生成された学習用データを用いることができ、識別器の識別精度を向上させることができるからである。
【００７１】
第２学習処理部１４１は、さらに、学習処理によって生成された識別器（Ａ、Ｂ、Ｃ、・・・）に対し、テスト用データを用いて、識別器（Ａ、Ｂ、Ｃ、・・・）の出力と、テスト用データに対して付与された属性情報とを比較する評価処理を行う。識別器（Ａ、Ｂ、Ｃ、・・・）の出力と、テスト用データに付与された属性情報とが一致している場合には、識別器（Ａ、Ｂ、Ｃ、・・・）の生成条件を満たしたと判断し、識別器（Ａ、Ｂ、Ｃ、・・・）の生成処理を完了させる。ここで、第２学習処理部１４１が行う評価処理は、後述する画像修正部１２０から取得したテスト用データを用いて行われてよい。これにより、検査対象物を撮像した画像に基づいて新たに生成された学習用データを用いて評価を行うことができ、識別器の認識精度を向上させることができるからである。
【００７２】
第２学習部１４０は、生成した識別器（Ａ、Ｂ、Ｃ、・・・）のモデル構造及び処理パラメータを含む情報を、学習結果データとして、後述する計測部１５０に出力する。
【００７３】
なお、第１学習部１３０と第２学習部１４０とを一体に構成し、第１学習処理部１３１が、追加学習の学習処理と評価処理とを実行するようにしてもよい。
【００７４】
＜計測部の構成＞
図３は、本実施形態に係るデータ生成装置１００の計測部１５０における処理の内容を示す概念図である。計測部１５０は、学習用データを用いた学習処理及び評価処理によって生成された識別器を用いて、撮像装置１５３により撮像された検査対象物の計測画像の属性情報を出力させ、判定部１５２により検査対象物に欠陥が含まれているか否かを判定して、欠陥の有無に関する情報（判定結果）を含む属性情報及び計測画像を含む計測結果を出力する。属性情報は、欠陥の有無に関する情報（判定結果）、１又は複数の欠陥が含まれる場合にはその欠陥の位置及び種類、を含む。
【００７５】
計測部１５０は、第１学習部１３０及び第２学習部１４０から、識別器のモデル構造及び処理パラメータを含む情報を、学習結果データとして取得する。計測部１５０は、取得した学習結果データを格納する学習結果ＤＢ１５１を有する。また、計測部１５０は、検査対象物を撮像する撮像装置１５３を有する。撮像装置１５３は、例えば、工場の製造ラインを撮像するように設置され、製造ラインの一部を構成する。撮像装置１５３は、製造ラインを流れる検査対象物としての部品及び製品（以下、部品と製品とを合わせて「ワーク」と称することがある。）の画像を計測画像として撮像する。
【００７６】
計測部１５０は、学習結果ＤＢ１５１に格納された学習結果データに基づき構成される識別器を用いて、計測画像の属性情報を出力する判定部１５２を有する。判定部１５２は、学習用データを用いて学習された識別器（ａ、ｂ、ｃ、Ａ、Ｂ、…）によって、撮像装置１５３で撮像された計測画像に欠陥が含まれているか否かを判定する。
【００７７】
計測部１５０は、計測画像と、判定部１５２が識別器を用いて出力する計測画像の判定結果を少なくとも含む、計測画像の属性情報と、を含む計測結果を、計測結果管理部１６０に出力する。なお、計測部１５０は、個々の検査対象物を識別するための識別情報を、計測結果とともに、計測結果管理部１６０に出力してもよい。このとき、検査対象物の識別情報は、計測画像から取得してもよく、所定のインタフェースを介して外部より取得してもよい。識別情報としては、例えば、製造番号や、製造番号を符号化した図形を用いることができる。よって、識別情報とは、検査対象物の個体を識別することができる情報であることが好ましい。なお、計測部１５０は、検査対象物の計測結果を、計測結果管理部１６０以外に出力してもよい。例えば、後述するユーザインタフェース１７０に対し、計測結果及び識別情報を出力するようにしてもよい。また、例えば、計測結果を仕分け装置（図示せず）に対して直接的または間接的に出力してもよい。仕分け装置は、取得した計測結果に基づいて、検査対象物の仕分けを行う。
【００７８】
なお、データ生成装置１００は、必ずしも計測部１５０を備えなくてもよい。例えば、計測画像の撮像と、判定部１５２による判定は、必ずしもデータ生成装置１００により行われなくてもよく、データ生成装置１００と別体の計測装置により行われてもよい。この場合、データ生成装置１００と別体の計測装置は、データ生成装置１００を運用する事業者によって用いられてもよい。また、データ生成装置１００と別体の計測装置は、データ生成装置１００を運用する事業者とは異なる事業者によって用いられて、計測装置により撮像された計測画像及び判定部１５２による判定結果は、インターネット等の通信ネットワークを介してデータ生成装置１００に取得されてもよい。
【００７９】
＜計測結果管理部の構成＞
計測結果管理部１６０は、計測結果に含まれる計測画像と、判定部１５２が識別器を用いて出力する計測画像の判定結果を少なくとも含む、計測画像の属性情報とを関連付けて記憶する計測結果ＤＢ１６１を有する。なお、計測結果管理部１６０は、検査対象物を識別するための識別情報を、計測結果とともに取得してもよい。このとき、検査対象物の識別情報は、計測部１５０から取得してもよく、所定のインタフェースを介して外部より取得してもよい。また、計測結果ＤＢ１６１は、属性情報に含まれる属性の種別に応じて、例えば、欠陥の種別の属性に関連付けて、計測画像を分類して記憶してもよい。
【００８０】
計測結果管理部１６０は、計測結果を、ユーザインタフェース１７０に対して出力する。このとき、計測結果管理部１６０は、あわせて、検査対象物の識別情報をユーザインタフェース１７０に対して出力してよい。また、計測結果管理部１６０は、計測結果を、後述する画像修正部１２０に対して出力する。このとき、計測結果管理部１６０は、あわせて検査対象物の識別情報を、画像修正部１２０に対して出力してもよい。
【００８１】
＜ユーザインタフェース＞
本実施形態において、ユーザインタフェース１７０は、第２作業者が、判定部１５２による判定結果や計測画像の属性情報を確認するために用いられたり、計測画像に含まれる欠陥を含む部分画像を指定するために用いられたり、判定部１５２による判定結果が正しいか否かに関する入力を受け付けたり、補正部１２６による補正方法を指定するために用いられたり、生成部１２１による合成画像の生成方法を指定するために用いられたりする。ユーザインタフェース１７０は、少なくとも計測画像及び計測部１５０による計測結果を表示するための表示部（液晶表示装置等）、及び、第２作業者による部分画像の指定、判定部１５２による判定結果が正しいか否かの入力、補正方法の指定及び生成方法の指定等を行うための入力部（タッチパネル、キーボード、マウス等）を有する。第２作業者は、表示部に表示された計測画像及び当該計測画像の計測結果に基づいて、計測結果の正誤を判断し、入力部を用いて計測結果の正誤を入力し、欠陥を含む部分画像の領域を入力してよい。そして、第２作業者は、表示部に表示された計測画像及び当該計測画像の計測結果に基づいて、部分画像を他の画像にどのように合成するかを、入力部を用いて指定してよい。
【００８２】
＜画像修正部の構成＞
画像修正部１２０は、取得された計測画像に判定結果を修正した情報を関連付けて、学習用データの生成を行う。画像修正部１２０は、生成部１２１、修正画像データベース（以下、「修正画像ＤＢ」と称す。）１２２、抽出部１２３、検証部１２４、通信部１２５、補正部１２６及び評価部１２７を有し、評価部１２７によって判定結果が正しくないと評価された場合に、判定結果を修正した情報を、画像及び画像に基づいて生成された合成画像の少なくともいずれかに関連付けて、学習用データを生成する。なお、以下では、画像修正部１２０は、計測画像に基づいて新たな学習用データを生成する例について説明するが、サンプル画像に基づいて新たな学習用データを生成してもよい。
【００８３】
生成部１２１は、評価部１２７により、判定部１５２の判定結果が正しくないと評価された場合に、判定結果を修正した情報を、画像及び画像に基づいて生成された合成画像の少なくともいずれかに関連付けて、新たな学習用データを生成する。生成部１２１は、判定部１５２により検査対象物に欠陥が含まれていると判定され、評価部１２７により判定結果が正しくないと評価された第１誤判定の場合と、判定部１５２により検査対象物に欠陥が含まれていないと判定され、評価部１２７により判定結果が正しくないと評価された第２誤判定の場合とで、欠陥の有無に関して異なる情報を付与する処理を実行することにより新たな学習用データを生成してよい。第１誤判定の場合、すなわち欠陥を誤検知してしまったフォールス・ポジティブの場合と、第２誤判定の場合、すなわち欠陥を見逃してしまったフォールス・ネガティブの場合とで、欠陥の有無に関して異なる情報を付与する処理を実行することにより新たな学習用データを生成することで、第１誤判定を減らすために適した処理と、第２誤判定を減らすために適した処理とを使い分けて学習用データを生成することができ、識別器の識別精度をより効率的に高める学習用データを生成することができる。
【００８４】
生成部１２１は、第１誤判定の場合に生成した新たな学習用データと、第２誤判定の場合に生成した新たな学習用データと、を混合して、学習用のデータセットを生成し、修正画像ＤＢ１２２に格納してよい。この場合、生成部１２１は、学習用のデータセットは、第１誤判定の場合に生成した新たな学習用データと、第２誤判定の場合に生成した新たな学習用データとをランダムに混合して学習用のデータセットを生成してよい。第１誤判定を減らすために適した学習用データと、第２誤判定を減らすのに適した学習用データとを混合することで、いずれの誤判定をも減らすような学習用データセットを生成することができ、識別器の識別精度をより効率的に高める学習用データセットを生成することができる。
【００８５】
修正画像ＤＢ１２２は、生成部１２１により生成された新たな学習用データを格納し、記憶する。修正画像ＤＢ１２２は、計測画像、ユーザインタフェース１７０による入力の内容及び評価部１２７による評価の内容を一時的に記憶してもよいし、サンプル画像、ユーザインタフェース１８０及び評価部１２７による評価の内容による入力の内容を一時的に記憶してもよい。
【００８６】
抽出部１２３は、判定結果の根拠となる画像の部分画像を抽出する。判定結果の根拠となる画像の部分画像は、識別器による識別に比較的大きな影響を及ぼした画像の部分を含んでよく、識別器がＣＮＮである場合には、判定結果の根拠となる部分画像は、判定結果への影響が大きい部分画像の位置情報や寄与度に基づいて生成されてよい。例えば、公知の手法であるＣＡＭ（Class Activation Map）を用いて、識別器が画像のどの箇所に注目して識別を行ったかを示すことで生成してよい。判定部１５２により検査対象物に欠陥が含まれていると判定され、評価部１２７により判定結果が正しくないと評価された第１誤判定の場合、生成部１２１は、少なくとも判定結果の根拠となる画像の部分画像には欠陥が含まれていないことを示す情報を画像に関連付けて、新たな学習用データを生成してよい。これにより、第１誤判定の場合に、判定結果の根拠となる画像の部分画像には欠陥が含まれていないことを示す情報を画像に関連付けることで、識別器が誤って欠陥が含まれていると誤判定した根拠となる画像の部分を特定して、その部分に欠陥が含まれていないことを示すことができ、識別器が欠陥を誤検知した原因が明らかでない場合であっても、識別器の識別精度を高める学習用データを生成することができる。
【００８７】
また、生成部１２１は、第１誤判定の場合に、判定結果の根拠となる画像の部分画像と、部分画像を含む画像とは異なる画像とを合成した合成画像を生成し、欠陥が含まれていないことを示す情報を合成画像に関連付けて、新たな学習用データを生成してもよい。ここで、部分画像を他の画像に合成した合成画像は、公知の合成方法で生成されてよく、例えばポアソン画像合成の方法を用いて生成されてよい。合成画像を生成する場合、ユーザインタフェース１７０によって合成先とする画像の選択や、合成箇所の選択といった合成画像の生成方法の入力を受け付けてもよい。第１誤判定の場合に、判定部１５２により欠陥が含まれていると判定された判定結果の根拠となる部分画像を、部分画像が抽出された画像とは異なる画像と合成して合成画像を生成することで、実際には欠陥が含まれていないのに判定部１５２により欠陥が含まれていると誤判定されてしまう画像のバリエーションを増やすことができ、欠陥が含まれていると誤判定された画像と類似の画像を生成して、誤判定を減らすような学習用データを生成することができる。これにより、誤判定された一枚の画像から、誤判定され得る多様な合成画像を生成して、識別器の識別精度を向上させ、検査対象物に欠陥が含まれているか否かをより良い精度で識別できるようにする学習用データを生成することができる。
【００８８】
判定部１５２により検査対象物に欠陥が含まれていないと判定され、評価部１２７により判定結果が正しくないと評価された第２誤判定の場合、生成部１２１は、少なくとも画像に欠陥が含まれていることを示す情報を画像に関連付けて、新たな学習用データを生成してよい。画像に欠陥が含まれていることを示す情報は、画像に欠陥が含まれている旨を表す情報であってもよいし、画像の中の特定の箇所に欠陥が含まれていることを表す情報であってもよい。第２誤判定の場合に、画像に欠陥が含まれていることを示す情報を画像に関連付けることで、識別器が誤って欠陥が含まれていないと誤判定した画像を特定して、識別器の識別精度を高める学習用データを生成することができる。
【００８９】
第２誤判定が生じた場合、ユーザインタフェース１７０によって、欠陥が含まれている画像の領域の指定を受け付けてよい。すなわち、欠陥が含まれていることを示す情報は、欠陥が含まれている画像の領域を示す情報を含んでよい。
【００９０】
第２誤判定が生じた場合、補正部１２６は、領域を示す情報を、領域の内部に含まれる画素が所定量多くなるように、領域の外縁の少なくとも一部を広げるように補正する。補正部１２６は、領域の外縁の少なくとも一部を広げるように補正することで、領域の中の正常部位を示す画素の個数が多くなるように補正する。補正部１２６は、ユーザインタフェース１７０から画像の複数の領域を取得して、複数の領域それぞれについて、領域の外縁の少なくとも一部を広げるように補正してもよい。領域の補正は、例えば、欠陥を囲むように指定された領域を、当該領域を囲むように１画素ないし所定画素分ずつ一回り大きくすることにより行ってよい。補正部１２６は、所定の条件を満たす場合に、領域の外縁の少なくとも一部が狭まるように、領域を補正してもよい。例えば、第２作業者によって指定された欠陥を含む領域が、第１の部分について、欠陥ではない模様を含む場合に、第１の部分について、取得された領域の外縁の一部が狭まるように、領域を補正してもよい。このとき、第１の部分以外のその他の部分について、取得された領域の外縁の一部が広がるように、領域を補正してもよい。また、例えば、第２作業者によって、欠陥以外の部分が大半を占めるように、欠陥を含む領域が指定された場合、補正部１２６は、指定された領域の外縁を狭めるように、領域を補正してもよい。この場合、所定の条件は、領域において欠陥以外の部分が占める割合に関する条件であってよい。所定の条件は、例えば、領域において欠陥以外の部分が占める割合が、閾値より大きいという条件であってよい。第２誤判定の場合に、欠陥が含まれている画像の領域を示す情報によって欠陥の位置を特定し、領域の外縁の少なくとも一部を広げるように補正した上で、領域を示す情報を画像に関連付ける。これにより、欠陥が含まれている領域を、ほとんど欠陥のみ含むように指定した場合であっても、領域の外縁の少なくとも一部が広がるように補正され、画像に基づいて検査対象物に含まれる欠陥の特徴を適切に識別するように識別器を学習させることが可能な学習用データを生成することができる。その結果、学習用データを用いた学習により、識別器による欠陥の識別精度を向上させることができる。なお、所定の条件は、ユーザインタフェース１７０により取得された領域の画素数に関する条件であったり、計測画像全体の画素数とユーザインタフェース１７０により取得された領域の画素数の比に関する条件であったりしてもよい。
【００９１】
生成部１２１は、第２誤判定の場合に、画像のうち欠陥を含む部分画像と、部分画像を含む画像とは異なる画像とを合成した合成画像を生成し、欠陥が含まれていることを示す情報を合成画像に関連付けて、新たな学習用データを生成してもよい。欠陥を含む部分画像は、ユーザインタフェース１７０によって指定された、欠陥が含まれている画像の領域に基づいて抽出されてよい。また、ユーザインタフェース１７０によって、合成先とする画像の選択や、合成箇所の選択といった合成画像の生成方法の入力を受け付けてもよい。第２誤判定の場合に、欠陥を含む部分画像を、部分画像を含む画像とは異なる画像と合成して合成画像を生成することで、判定部１５２により欠陥が見逃されてしまう誤判定が生じる画像のバリエーションを増やすことができ、欠陥が含まれていないと誤判定された画像と類似の画像を生成して、誤判定を減らすような学習用データを生成することができる。これにより、誤判定された一枚の画像から、誤判定され得る多様な合成画像を生成して、識別器の識別精度を向上させ、検査対象物に欠陥が含まれているか否かをより良い精度で識別できるようにする学習用データを生成することができる。
【００９２】
検証部１２４は、合成画像に欠陥が含まれているか否かを判定部１５２により判定させ、第１誤判定又は第２誤判定の判定結果が得られるか検証してよい。ここで、検証部１２４は、画像に欠陥が含まれているか否かを判定した識別器と同一の識別器を用いて、合成画像に欠陥が含まれているか否かを判定することが好ましい。これにより、実際には欠陥が含まれていないのに判定部１５２により欠陥が含まれていると誤判定されてしまう元画像と、類似の判定結果が得られる合成画像が生成されているか検証したり、実際には欠陥が含まれているのに判定部１５２により欠陥が含まれていないと誤判定されてしまう元画像と、類似の判定結果が得られる合成画像が生成されているか検証したりすることができる。これにより、第１誤判定又は第２誤判定が生じた元画像と、類似の判定結果が得られる合成画像が生成されているか検証することができ、生成した合成画像が誤判定を減らすために有用であることを確かめることができる。なお、類似の判定結果とは、例えば、元画像において第１誤判定が生じた場合には、合成画像についても第１誤判定が生じることであり、元画像において第２誤判定が生じた場合には、合成画像についても第２誤判定が生じることである。
【００９３】
通信部１２５は、生成部１２１によって新たな学習用データを生成する場合に、第１誤判定の場合であるか第２誤判定の場合であるかを示す情報とともに、新たな学習用データの登録の可否を権限者に問い合わせてよい。ここで、権限者とは、第２作業者による判断を訂正する権限を持つ者であり、学習用データの生成を管理する権限を持つ者である。新たな学習用データを生成する場合に、誤判定の種類を権限者に示して、新たな学習用データの登録の可否を権限者に問い合わせることで、新たな学習用データが安易に登録されることが防止され、より適切な内容の学習用データを蓄積することができる。なお、通信部１２５は、ユーザインタフェース（１７０、１８０）と接続された構成であってもよく、データ生成装置１００以外の外部装置に対して有線又は無線により情報を出力する構成であってもよい。
【００９４】
評価部１２７は、ユーザインタフェース１７０によって入力された判定部１５２の判定結果が正しいか否かに関する入力に基づいて、判定部１５２の判定結果が正しいか否かを評してよい。評価部１２７は、判定部１５２の判定結果について、ユーザインタフェース１７０によって入力された判定部１５２の判定結果が正しいか否かに関する入力と同じ評価をしてもよいし、異なる評価をしてもよい。評価部１２７は、識別器（ａ、ｂ、ｃ、Ａ、Ｂ、…）とは異なる識別器により、判定部１５２による判定結果が正しいか否かを評価してもよい。
【００９５】
［ハードウェア構成］
次に、図４を用いて、本実施形態に係るデータ生成装置１００のハードウェア構成の一例を説明する。本実施形態に係るデータ生成装置１００は、演算装置１０１、出力装置１９１、入力装置１９２及び撮像装置１５３を備えるものであってよい。ここで、出力装置１９１及び入力装置１９２は、ユーザインタフェース１７０及びユーザインタフェース１８０を構成する。
【００９６】
演算装置１０１は、補助記憶部１０２、１０３、プロセッサ１０４、主記憶部１０５及び外部インタフェース（以下、「外部Ｉ／Ｆ」と称す。）を含むものであってよい。
【００９７】
演算装置１０１は、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等を含み、情報処理に応じて各構成要素の制御を行う。プロセッサ１０４は、ＣＰＵを含んでよく、補助記憶部１０２、１０３及び主記憶部１０５は、ＲＡＭ及びＲＯＭを含んでよい。補助記憶部１０２は、例えば、ハードディスクドライブ、ソリッドステートドライブ等であってもよく、プロセッサ１０４で実行されるデータ生成プログラム１０２ａ、撮像装置１５３により撮像された計測画像１０２ｂ及び学習用データ１０２ｃ等を記憶してよい。補助記憶部１０３及び主記憶部１０５は、補助記憶部１０２と同様に、例えば、ハードディスクドライブやソリッドステートドライブ等であってもよい。データ生成プログラム１０２ａは、前述の、画像収集部１１０、画像修正部１２０、第１学習部１３０、第２学習部１４０、計測部１５０及び計測結果管理部１６０の機能を実現するための処理を行うためのプログラムであり、当該プログラムがプロセッサ１０４によって実行されることにより、各機能が実現される。なお、データ生成プログラム１０２ａは、画像収集部１１０、画像修正部１２０、第１学習部１３０、第２学習部１４０、計測部１５０及び計測結果管理部１６０のうち一部の機能を実現するための処理を行うためのプログラムであってもよいし、これら以外の機能を実現するための処理を行うためのプログラムを含んでもよい。
【００９８】
外部Ｉ／Ｆ１０６は、ＵＳＢ（Universal Serial Bus）ポート等であり、出力装置１９１、入力装置１９２及び撮像装置１５３等の外部装置と接続するためのインタフェースである。なお、データ生成装置は、有線ＬＡＮ（Local Area Network）モジュールや無線ＬＡＮモジュール等、ネットワークを介した有線又は無線通信を行うためのインタフェースを備えてもよい。
【００９９】
記憶媒体は、コンピュータ等の装置によって、記憶されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。記憶媒体は、例えば、ＣＤ（Compact Disk）やＤＶＤ（Digital Versatile Disk）等であり、データ生成プログラム１０２ａを記憶したものであってよい。記憶媒体に記憶されたデータ生成プログラム１０２ａは、補助記憶部１０３にコピーされ、補助記憶部１０２や主記憶部１０５にコピーされてよい。図４では、記憶媒体の一例として、ＣＤ、ＤＶＤ等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。また、データ生成装置１００は、データ生成プログラム１０２ａ等のデータを、有線又は無線通信によってネットワークを介して取得してもよい。
【０１００】
なお、データ生成装置１００の具体的なハードウェア構成は、実施形態に応じて、適宜、構成要素を省略、置換及び追加されてもよい。例えば、演算装置１０１は、複数のプロセッサを含んでもよいし、ＧＰＵ（Graphical Processing Unit）やＦＰＧＡ（Field Programmable Gate Array）を含んでもよい。また、データ生成装置１００は、複数台の情報処理装置で構成されてもよい。データ生成装置１００は、提供されるサービス専用に設計された情報処理装置の他、汎用のデスクトップＰＣ（Personal Computer）、タブレットＰＣ等で構成されてもよい。
【０１０１】
§３  動作例
図５は、本実施形態に係るデータ生成装置１００により実行される第１処理の内容を示すフローチャートである。第１処理は、判定結果が第１誤判定又は第２誤判定の場合に、それぞれの場合に応じた処理で新たな学習用データを生成し、第１誤判定の場合に生成した新たな学習用データと、第２誤判定の場合に生成した新たな学習用データと、を混合して学習用のデータセットを生成する処理である。
【０１０２】
データ生成装置１００は、検査対象物の計測画像を取得し（Ｓ１０）、第１学習部１３０及び第２学習部１４０によって学習された識別器によって、計測画像に欠陥が含まれているか否かを判定する（Ｓ１１）。そして、ユーザインタフェース１７０に判定結果を表示して、判定結果が正しいか否かに関する入力を受け付ける（Ｓ１２）。データ生成装置１００は、受け付けた入力に基づいて、判定結果が正しいか否かを評価する。
【０１０３】
検査対象物に欠陥が含まれていると判定され、判定結果が正しくないと評価された第１誤判定の場合（Ｓ１３：ＹＥＳ）、データ生成装置１００は、次図を用いて詳細に説明する第１誤判定の場合の処理によって、新たな学習用データを生成する（Ｓ１４）。
【０１０４】
一方、第１誤判定が生じておらず（Ｓ１３：ＮＯ）、検査対象物に欠陥が含まれていないと判定され、判定結果が正しくないと評価された第２誤判定の場合（Ｓ１５：ＹＥＳ）、データ生成装置１００は、図７を用いて詳細に説明する第２誤判定の場合の処理によって、新たな学習用データを生成する（Ｓ１６）。なお、第１誤判定が生じておらず（Ｓ１３：ＮＯ）、第２誤判定が生じていない場合（Ｓ１５：ＮＯ）、第１処理が終了する。
【０１０５】
新たな学習用データを生成した後、データ生成装置１００は、第１誤判定の場合に生成した新たな学習用データと、第２誤判定の場合に生成した新たな学習用データと、を混合して学習用のデータセットを生成し、修正画像ＤＢ１２２に格納する（Ｓ１７）。以上で、第１処理が終了する。
【０１０６】
図６は、本実施形態に係るデータ生成装置１００により実行される第１誤判定の場合の処理の内容を示すフローチャートである。第１誤判定が生じた場合、データ生成装置１００は、判定結果の根拠となる画像の部分画像を抽出する（Ｓ１４１）。部分画像の抽出は、ＣＡＭを用いて行ってよい。
【０１０７】
データ生成装置１００は、ユーザインタフェース１７０によって合成先とする画像の選択や、合成箇所の入力を受け付けて、部分画像と、他の画像を合成して合成画像を生成する（Ｓ１４２）。そして、検証部１２４は、合成画像に欠陥が含まれているか判定部１５２により判定させ（Ｓ１４３）、元画像と類似の判定結果が得られるか検証する（Ｓ１４４）。すなわち、実際には欠陥が含まれていない合成画像について、欠陥が含まれているという誤検知が生じるか否かを検証する。
【０１０８】
合成元となった計測画像と類似の判定結果が得られない場合（Ｓ１４４：ＮＯ）、生成部１２１は、部分画像を合成する背景画像や、合成箇所等を修正して、合成画像の生成を再び行う。
【０１０９】
一方、合成元となった計測画像と同様の判定結果が得られる場合（Ｓ１４４：ＹＥＳ）、通信部１２５は、第１誤判定の場合であることを示す情報とともに、類似の判定結果が得られた画像データを新たな学習用データとして登録してもよいか、その可否を権限者に問い合わせる（Ｓ１４５）。ここで、通信部１２５は、合成元となった計測画像、部分画像及び合成画像等、権限者の判断材料となるようなデータを権限者に送付してもよい。
【０１１０】
権限者によって、新たな学習用データとして登録してもよい旨の判断がされた場合（Ｓ１４６：ＹＥＳ）、生成部１２１は、欠陥が含まれていないことを示す情報を合成画像に関連付けて（Ｓ１４７）、新たな学習用データを生成し、修正画像ＤＢ１２２に格納する（Ｓ１４８）。一方、権限者によって、新たな学習用データとして登録してはならない旨の判断がされた場合（Ｓ１４６：ＮＯ）、学習用データを登録せずに処理を終了する。以上で、第１誤判定の場合の処理が終了する。
【０１１１】
図７は、本実施形態に係るデータ生成装置１００により実行される第２誤判定の場合の処理の内容を示すフローチャートである。第２誤判定が生じた場合、データ生成装置１００は、ユーザインタフェース１７０によって、欠陥が含まれている部分画像の指定を受け付ける（Ｓ１６１）。
【０１１２】
データ生成装置１００は、ユーザインタフェース１７０によって合成先とする画像の選択や、合成箇所の入力を受け付けて、部分画像と、他の画像を合成して合成画像を生成する（Ｓ１６２）。そして、検証部１２４は、合成画像に欠陥が含まれているか判定部１５２により判定させ（Ｓ１６３）、元画像と類似の判定結果が得られるか検証する（Ｓ１６４）。すなわち、欠陥が含まれている合成画像について、欠陥が含まれていないという欠陥の見逃しが生じるか否かを検証する。
【０１１３】
合成元となった計測画像と類似の判定結果が得られない場合（Ｓ１６４：ＮＯ）、生成部１２１は、部分画像を合成する背景画像や、合成箇所等を修正して、合成画像の生成を再び行う。
【０１１４】
一方、合成元となった計測画像と同様の判定結果が得られる場合（Ｓ１６４：ＹＥＳ）、通信部１２５は、第２誤判定の場合であることを示す情報とともに、類似の判定結果が得られた画像データを新たな学習用データとして登録してもよいか、その可否を権限者に問い合わせる（Ｓ１６５）。ここで、通信部１２５は、合成元となった計測画像、部分画像及び合成画像等、権限者の判断材料となるようなデータを権限者に送付してもよい。
【０１１５】
権限者によって、新たな学習用データとして登録してもよい旨の判断がされた場合（Ｓ１６６：ＹＥＳ）、生成部１２１は、欠陥が含まれていることを示す情報を合成画像に関連付けて（Ｓ１６７）、新たな学習用データを生成し、修正画像ＤＢ１２２に格納する（Ｓ１６８）。一方、権限者によって、新たな学習用データとして登録してはならない旨の判断がされた場合（Ｓ１６６：ＮＯ）、学習用データを登録せずに処理を終了する。以上で、第２誤判定の場合の処理が終了する。
【０１１６】
図８は、本実施形態に係るデータ生成装置１００により実行される第１誤判定の場合の処理の概要を示す図である。同図では、検査対象物の第１計測画像Ｐ１に関する判定部１５２の判定結果と、生成部１２１により生成された第１合成画像Ｄ１との一例を示している。第１計測画像Ｐ１には、判定結果の正誤の入力を、複数の判定箇所毎に受け付けた結果として、それぞれの判定結果に対して正誤の情報が付与されている。
【０１１７】
検査対象物の第１計測画像Ｐ１には、判定部１５２が判定した欠陥、欠陥が含まれていると判定された領域を示す３つの枠（位置情報）、判定部１５２により判定された欠陥の種別、及び、判定部１５２による判定の信頼度を示す数値が、判定結果として表示されている。また、第１計測画像Ｐ１には、当該３つの枠で示された欠陥について、第２作業者がユーザインタフェース１７０によって、判定結果の正誤を入力した結果が含まれている。本例の場合、判定部１５２によって、検査対象物の第１計測画像Ｐ１に３つの欠陥が含まれていると判定されており、そのうち左側に位置する２つの欠陥については、「ｓｃｒａｔｃｈ０．２１」及び「ｓｃｒａｔｃｈ０．１５」と示され、判定部１５２により、欠陥の種類が「ｓｃｒａｔｃｈ（すり傷）」であり、その信頼性を表す数値がそれぞれ０．２１と０．１５であることが示されている。また、検査対象物の第１計測画像Ｐ１の右側に位置する欠陥については、「ｈｉｔ０．３５」と示され、判定部１５２により、欠陥の種類が「ｈｉｔ（打痕）」であり、その信頼性を表す数値が０．３５であることが示されている。これら判定部１５２により欠陥が含まれていると判定された領域のうち、左側に位置する２つの欠陥については、第２作業者によって確かに欠陥であることが確認され、判定結果が正しいことを示す「正」の文字が付与されている。一方、検査対象物の第１計測画像Ｐ１の右側に位置する欠陥については、実際には欠陥が含まれていないものの、判定部１５２によって欠陥が含まれていると誤って判定されたものであり、第２作業者によって欠陥が含まれていないことが確認され、判定結果が誤りであることを示す「誤」の文字が付与されている。すなわち、本例では、検査対象物の第１計測画像Ｐ１の右側の領域において第１誤判定が生じている。なお、第１計測画像Ｐ１に付与される判定結果の正誤の情報は、評価部１２７により判定結果が正しいか否かを評価した結果を示す情報であってよい。
【０１１８】
第１合成画像Ｄ１は、欠陥を含まないサンプル画像と、欠陥が含まれると誤って判定された第１計測画像Ｐ１から抽出された部分画像とを合成した画像である。ここで、合成された部分画像が含まれる領域Ｒ１は、破線で示されている。
【０１１９】
第１合成画像Ｄ１は、人の目視では欠陥が含まれていないように見えるか、又は、判定部１５２によって欠陥が含まれていると誤って判定される要因がほとんど分からないような画像である。判定部１５２が、第１誤判定（フォールス・ポジティブ）を行ってしまう場合、どのような理由で画像に欠陥が含まれていると判定されたのかが必ずしも明らかでないことがあり、どのような学習用データを追加すれば誤判定を減らすことができるのか対策を立てることが困難なことがある。本実施形態に係るデータ生成装置１００によれば、このような第１合成画像Ｄ１を生成し、合成された部分画像が含まれる領域Ｒ１に欠陥が含まれていないことを示す情報を画像に関連付けて、新たな学習用データを生成することで、第１誤判定が生じ得る画像のバリエーションを増やすことができる。すなわち、間違って欠陥有と判定しやすい（誤検知しやすい）新たな学習用データを生成し、この学習用データを用いて学習を行う事ができるので、識別器の精度が向上する。
【０１２０】
図９は、本実施形態に係るデータ生成装置１００により実行される第２誤判定の場合の処理の概要を示す図である。同図では、検査対象物の第２計測画像Ｐ２と、生成部１２１により生成された第２合成画像Ｄ２との一例を示している。第２計測画像Ｐ２には、欠陥が含まれている画像の領域Ｒ２が、破線で示されている。
【０１２１】
検査対象物の第２計測画像Ｐ２には、判定部１５２が見逃した欠陥と、当該欠陥を囲むようにユーザインタフェース１７０によって指定された領域Ｒ２が表示されている。本例は、判定部１５２は、第２計測画像Ｐ２に欠陥が含まれていないと判定したが、ユーザインタフェース１７０によって、その判定結果が誤りであると入力され、評価部１２７によっても判定結果が誤りであると評価されて、欠陥を囲む領域Ｒ２が入力された場合であり、検査対象物の第２計測画像Ｐ２の中央の領域において第２誤判定が生じている例である。
【０１２２】
第２合成画像Ｄ２は、欠陥を含まないサンプル画像と、欠陥が含まれていないと誤って判定された第２計測画像Ｐ２から抽出された部分画像とを合成した画像である。本例における合成画像の生成は、ユーザインタフェース１７０によって指定された領域Ｒ２のうち欠陥の部分を切り出して、時計回りに９０度回転させ、元画像とは異なる画像に合成することで行われている。このように、合成画像の生成処理は、欠陥を回転、移動、変形及び明るさの変更等した後に、元画像とは異なる画像に合成することで行われてよい。
【０１２３】
第２合成画像Ｄ２は、判定部１５２によって欠陥が含まれていないと誤って判定される画像であることが好ましい。判定部１５２が、第２誤判定（フォールス・ネガティブ）を行ってしまう場合、どのような理由で画像に欠陥が含まれていないと判定されたのかが必ずしも明らかでないことがあり、どのような学習用データを追加すれば誤判定を減らすことができるのか対策を立てることが困難なことがある。本実施形態に係るデータ生成装置１００によれば、このような第２合成画像Ｄ２を生成し、欠陥が含まれていることを示す情報を第２合成画像Ｄ２に関連付けて、新たな学習用データを生成することで、第２誤判定が生じ得る画像のバリエーションを増やすことができる。すなわち、間違って欠陥無と判定しやすい（見逃しやすい）新たな学習用データを生成し、この学習用データを用いて学習を行う事ができるので、識別器の精度が向上する。
【０１２４】
§４  変形例
＜４．１＞
図１０は、本実施形態の変形例に係るデータ生成装置１００により実行される第１誤判定の場合の処理の内容を示すフローチャートである。変形例に係るデータ生成装置１００は、第１誤判定が生じた場合、判定結果の根拠となる画像の部分画像を抽出する（Ｓ２１）。部分画像の抽出は、ＣＡＭを用いて行ってよい。
【０１２５】
その後、通信部１２５は、第１誤判定の場合であることを示す情報とともに、第１誤判定が生じた画像データを新たな学習用データとして登録してもよいか、その可否を権限者に問い合わせる（Ｓ２２）。ここで、通信部１２５は、合成元となった計測画像及び部分画像等、権限者の判断材料となるようなデータを権限者に送付してもよい。
【０１２６】
権限者によって、新たな学習用データとして登録してもよい旨の判断がされた場合（Ｓ２３：ＹＥＳ）、生成部１２１は、欠陥が含まれていないことを示す情報を画像に関連付けて（Ｓ２４）、新たな学習用データを生成し、修正画像ＤＢ１２２に格納する（Ｓ２５）。一方、権限者によって、新たな学習用データとして登録してはならない旨の判断がされた場合（Ｓ２３：ＮＯ）、学習用データを登録せずに処理を終了する。以上で、第１誤判定の場合の変形例に係る処理が終了する。
【０１２７】
図１１は、本実施形態の変形例に係るデータ生成装置１００により実行される第２誤判定の場合の処理の内容を示すフローチャートである。変形例に係るデータ生成装置１００は、第２誤判定が生じた場合、ユーザインタフェース１７０によって、欠陥が含まれている部分画像の指定を受け付ける（Ｓ３１）。
【０１２８】
データ生成装置１００は、補正部１２６により部分画像の領域の外縁の少なくとも一部を広げるように補正する（Ｓ３２）。なお、領域の補正は、必ずしも行われなくてもよく、省略することができる。
【０１２９】
その後、通信部１２５は、第２誤判定の場合であることを示す情報とともに、第２誤判定が生じた画像に指定された領域の関連付けて新たな学習用データとして登録してもよいか、その可否を権限者に問い合わせる（Ｓ３３）。ここで、通信部１２５は、合成元となった計測画像及び部分画像等、権限者の判断材料となるようなデータを権限者に送付してもよい。
【０１３０】
権限者によって、新たな学習用データとして登録してもよい旨の判断がされた場合（Ｓ３４：ＹＥＳ）、生成部１２１は、欠陥が含まれていることを示す情報を画像に関連付けて（Ｓ３５）、新たな学習用データを生成し、修正画像ＤＢ１２２に格納する（Ｓ３６）。ここで、生成部１２１は、欠陥が含まれている領域を示す情報を画像に関連付けてもよい。一方、権限者によって、新たな学習用データとして登録してはならない旨の判断がされた場合（Ｓ３４：ＮＯ）、学習用データを登録せずに処理を終了する。以上で、第２誤判定の場合の変形例に係る処理が終了する。
【０１３１】
図１２は、本実施形態の変形例に係るデータ生成装置１００により実行される欠陥が含まれている領域の補正処理の概要を示す図である。同図では、検査対象物の第２計測画像Ｐ２を示し、第２計測画像Ｐ２に含まれる欠陥を囲む領域Ｒ２を破線で指定した例を示している。ここで、領域Ｒ２は、第２作業者によってユーザインタフェース１７０により指定されたものであってよい。領域Ｒ２は、欠陥を囲むように、長辺と短辺の差が比較的大きい矩形で指定されている。
【０１３２】
図１２の下側には、領域Ｒ２を補正して補正後の領域Ｒ３として、領域Ｒ３を第２計測画像に関連付けた学習用データＤ３を示している。領域Ｒ３は、第２作業者によって指定された領域Ｒ２を、領域の内部に含まれる画素が所定量多くなるように、領域の外縁の少なくとも一部を広げるように補正したものである。本例では、領域Ｒ２の長辺と短辺の両方が大きくなるように補正して、領域Ｒ３としている。なお、領域の補正は、検査対象物のエッジやロゴと重ならない範囲で行われてよいし、領域に含まれる欠陥以外の背景模様に基づいて、領域の補正の方法が決定されてもよい。すなわち、補正前に領域内に文字や部品のエッジが含まれていない場合には、補正後の領域内に文字や部品のエッジが含まれないように、補正の方法を決定してよい。
【０１３３】
また、領域は、補正前の領域が矩形であるのに対して、楕円形状等の他の形状となるように補正されてもよい。すなわち、補正部１２６は、領域の外形を変化させるように領域を補正してもよい。さらに、領域は、補正前の領域に対して回転して配置されてもよい。
【０１３４】
このように、領域の外縁の少なくとも一部を広げるように補正した上で、領域を示す情報を画像に関連付けることで、欠陥が含まれている領域を、ほとんど欠陥のみ含むように指定した場合であっても、領域の外縁の少なくとも一部が広がるように補正され、画像に基づいて検査対象物に含まれる欠陥の特徴を適切に識別するように識別器を学習させることが可能な学習用データを生成することができる。その結果、学習用データを用いた学習により、識別器による欠陥の識別精度を向上させることができる。
【０１３５】
［付記１］
検査対象物の画像と、学習用データを用いて学習された識別器（ａ、ｂ、ｃ、Ａ、Ｂ）によって、前記画像に基づいて前記検査対象物に検出対象部位が含まれているか否かを判定部（１５２）により判定した判定結果とを取得する取得部（１５０）と、
前記判定部（１５２）による判定結果が正しいか否かを評価する評価部（１２７）と、
前記評価部（１２７）により、前記判定結果が正しくないと評価された場合に、前記判定結果を修正した情報を、前記画像及び前記画像に基づいて生成された合成画像の少なくともいずれかに関連付けて、新たな学習用データを生成する生成部（１２１）と、
を備えるデータ生成装置（１００）。
【０１３６】
［付記２］
前記生成部（１２１）は、前記判定部（１５２）により前記検査対象物に検出対象部位が含まれていると判定され、前記評価部（１２７）により前記判定結果が正しくないと入力された第１誤判定の場合と、前記判定部（１５２）により前記検査対象物に検出対象部位が含まれていないと判定され、前記評価部（１２７）により前記判定結果が正しくないと入力された第２誤判定の場合とで、検出対象部位の有無に関して異なる情報を付与する処理を実行することにより前記新たな学習用データを生成する、
付記１に記載のデータ生成装置。
【０１３７】
［付記３］
前記生成部（１２１）は、前記第１誤判定の場合に生成した前記新たな学習用データと、前記第２誤判定の場合に生成した前記新たな学習用データと、を混合して、学習用のデータセットを生成する、
付記２に記載のデータ生成装置。
【０１３８】
［付記４］
前記生成部（１２１）は、前記第１誤判定の場合に、少なくとも前記判定結果の根拠となる前記画像の部分画像には検出対象部位が含まれていないことを示す情報を前記画像に関連付けて、前記新たな学習用データを生成する、
付記２又は３に記載のデータ生成装置。
【０１３９】
［付記５］
前記生成部（１２１）は、前記第１誤判定の場合に、前記判定結果の根拠となる前記画像の部分画像と、前記部分画像を含む前記画像とは異なる画像とを合成した前記合成画像を生成し、検出対象部位が含まれていないことを示す情報を前記合成画像に関連付けて、前記新たな学習用データを生成する、
付記２から４のいずれか一項に記載のデータ生成装置。
【０１４０】
［付記６］
前記生成部（１２１）は、前記第２誤判定の場合に、少なくとも前記画像に検出対象部位が含まれていることを示す情報を前記画像に関連付けて、前記新たな学習用データを生成する、
付記２から５のいずれか一項に記載のデータ生成装置。
【０１４１】
［付記７］
前記検出対象部位が含まれていることを示す情報は、前記検出対象部位が含まれている前記画像の領域を示す情報を含み、
前記領域を示す情報を、前記領域の内部に含まれる画素が所定量多くなるように、前記領域の外縁の少なくとも一部を広げるように補正する補正部（１２６）をさらに備え、
前記生成部（１２１）は、補正された前記領域を示す情報を前記画像に関連付けて、学習用データを生成する、
付記６に記載のデータ生成装置。
【０１４２】
［付記８］
前記生成部（１２１）は、前記第２誤判定の場合に、前記画像のうち前記検出対象部位を含む部分画像と、前記部分画像を含む前記画像とは異なる画像とを合成した前記合成画像を生成し、検出対象部位が含まれていることを示す情報を前記合成画像に関連付けて、前記新たな学習用データを生成する、
付記２から７のいずれか一項に記載のデータ生成装置。
【０１４３】
［付記９］
前記検出対象部位は、前記検査対象物に含まれる欠陥の部位であり、
前記合成画像に欠陥が含まれているか否かを前記判定部（１５２）により判定させ、前記第１誤判定又は前記第２誤判定の判定結果が得られるか検証する検証部（１２４）をさらに備える、
付記５又は８に記載のデータ生成装置。
【０１４４】
［付記１０］
前記生成部（１２１）によって前記新たな学習用データを生成する場合に、前記第１誤判定の場合であるか前記第２誤判定の場合であるかを示す情報とともに、前記新たな学習用データの登録の可否を権限者に問い合わせる通信部（１２５）をさらに備える、
付記２から９のいずれか一項に記載のデータ生成装置。
【０１４５】
［付記１１］
付記１から１０のいずれか一項に記載のデータ生成装置（１００）により生成された前記新たな学習用データを用いて学習された識別器（ａ、ｂ、ｃ、Ａ、Ｂ）によって、前記画像に基づいて前記検査対象物に検出対象部位が含まれているか否かを判定する判定部（１５２）を備える、
検査装置。
【０１４６】
［付記１２］
検査対象物の画像と、学習用データを用いて学習された識別器（ａ、ｂ、ｃ、Ａ、Ｂ）によって、前記画像に基づいて前記検査対象物に検出対象部位が含まれているか否かを判定部（１５２）により判定した判定結果とを取得することと、
前記判定結果が正しいか否かを評価することと、
前記評価することにより、前記判定結果が正しくないと評価された場合に、前記判定結果を修正した情報を、前記画像及び前記画像に基づいて生成された合成画像の少なくともいずれかに関連付けて、新たな学習用データを生成することと、
を含むデータ生成方法。
【０１４７】
［付記１２］
データ生成装置に備えられた演算装置を、
検査対象物の画像と、学習用データを用いて学習された識別器（ａ、ｂ、ｃ、Ａ、Ｂ）によって、前記画像に基づいて前記検査対象物に検出対象部位が含まれているか否かを判定部（１５２）により判定した判定結果とを取得する取得部（１５０）、
前記判定部（１５２）による判定結果が正しいか否かを評価する評価部（１２７）、及び
前記評価部（１２７）により、前記判定結果が正しくないと評価された場合に、前記判定結果を修正した情報を、前記画像及び前記画像に基づいて生成された合成画像の少なくともいずれかに関連付けて、新たな学習用データを生成する生成部（１２１）、
として動作させるデータ生成プログラム。
【符号の説明】
【０１４８】
１００…データ生成装置、１０１…演算装置、１０２…補助記憶部、１０２ａ…データ生成プログラム、１０２ｂ…計測画像、１０２ｃ…学習用データ、１０３…補助記憶部、１０４…プロセッサ、１０５…主記憶部、１０６…外部Ｉ／Ｆ、１１０…画像収集部、１１１…属性付与部、１１２…画像ＤＢ、１１３…画像補正部、１２０…画像修正部、１２１…生成部、１２２…修正画像ＤＢ、１２３…抽出部、１２４…検証部、１２５…通信部、１２６…補正部、１２７…評価部、１３０…第１学習部、１３１…第１学習処理部、１４０…第２学習部、１４１…第２学習処理部、１５０…計測部、１５１…学習結果ＤＢ、１５２…判定部、１５３…撮像装置、１６０…計測結果管理部、１６１…計測結果ＤＢ、１７０…ユーザインタフェース、１８０…ユーザインタフェース、１９１…出力装置、１９２…入力装置、Ｄ…欠陥、Ｐ１…第１計測画像、Ｐ２…第２計測画像、Ｄ１…第１合成画像、Ｄ２…第２合成画像、Ｄ３…学習用データ、Ｒ１…合成された部分画像が含まれる領域、Ｒ２…欠陥が含まれている画像の領域、Ｒ３…補正後の領域
【図１】
2019114116.tif 000003
【図２】
2019114116.tif 000004
【図３】
2019114116.tif 000005
【図４】
2019114116.tif 000006
【図５】
2019114116.tif 000007
【図６】
2019114116.tif 000008
【図７】
2019114116.tif 000009
【図８】
2019114116.tif 000010
【図９】
2019114116.tif 000011
【図１０】
2019114116.tif 000012
【図１１】
2019114116.tif 000013
【図１２】
2019114116.tif 000014