(57)【要約】【課題】検査対象物について実際に生じ得る検出対象部位を含むような合成画像により学習用データを生成するデータ生成装置、データ生成方法及びデータ生成プログラムを提供する。【解決手段】データ生成装置は、検査対象物に含まれる検出対象部位の有無を識別する識別器を学習させるための学習用データを生成するデータ生成装置であって、検査対象物の画像を取得する取得部と、画像の一部であって、検出対象部位を含む部分画像の指定を受け付ける入力部と、前記部分画像を、検出対象部位の特徴量に基づいて補正する補正部と、補正部により補正された部分画像と、部分画像を含む画像とは異なる画像とを合成した合成画像を生成し、検出対象部位が含まれていることを示す情報を合成画像に関連付けて、識別器を学習させるための新たな学習用データを生成する生成部と、を備える。【選択図】図１
2019109563.tif 000002
【特許請求の範囲】
【請求項１】
検査対象物に含まれる検出対象部位の有無を識別する識別器を学習させるための学習用データを生成するデータ生成装置であって、
検査対象物の画像を取得する取得部と、
前記画像の一部であって、検出対象部位を含む部分画像の指定を受け付ける入力部と、
前記部分画像を、前記検出対象部位の特徴量に基づいて補正する補正部と、
前記補正部により補正された前記部分画像と、前記部分画像を含む前記画像とは異なる画像とを合成した合成画像を生成し、検出対象部位が含まれていることを示す情報を前記合成画像に関連付けて、前記識別器を学習させるための新たな学習用データを生成する生成部と、
を備えるデータ生成装置。
【請求項２】
前記入力部は、前記補正部による補正方法及び前記生成部による前記合成画像の生成方法のうち少なくともいずれかの指定を受け付ける、
請求項１に記載のデータ生成装置。
【請求項３】
学習用データを用いて学習された前記識別器によって、前記取得部で取得された画像に検出対象部位が含まれているか否かを判定する判定部をさらに備え、
前記入力部は、前記判定部による判定結果が正しいか否かに関する入力を受け付け、
前記補正部は、前記判定部により前記画像に検出対象部位が含まれていないと判定され、前記入力部により前記判定部による判定結果が正しくないと入力された場合に、前記部分画像を補正する、
請求項１又は２に記載のデータ生成装置。
【請求項４】
前記識別器は、学習用データを用いた学習によって、検出対象部位に対応する画像の特徴量を学習しており、
前記補正部は、前記識別器が学習した特徴量とは異なる特徴量を有するように、前記部分画像を補正する、
請求項３に記載のデータ生成装置。
【請求項５】
前記合成画像に検出対象部位が含まれているか否かを前記判定部により判定させ、前記部分画像を含む前記画像に検出対象部位が含まれているか否かを前記判定部により判定させた場合と類似の判定結果が得られるか検証する検証部をさらに備え、
前記生成部は、前記検証部が類似の判定結果を得た場合に、前記合成画像を新たな学習データとして登録する、
請求項３又は４に記載のデータ生成装置。
【請求項６】
前記生成部は、前記補正部により複数の補正方法で補正された前記部分画像と、前記部分画像を含む前記画像とは異なる画像とを合成した複数の合成画像を生成し、検出対象部位が含まれていることを示す情報を前記複数の合成画像に関連付けて、複数の学習用データを生成する、
請求項１から５のいずれか一項に記載のデータ生成装置。
【請求項７】
前記生成部は、前記補正部により補正された前記部分画像を、前記部分画像を含む前記画像とは異なる複数の画像に合成して複数の合成画像を生成し、検出対象部位が含まれていることを示す情報を前記複数の合成画像に関連付けて、複数の学習用データを生成する、
請求項１から６のいずれか一項に記載のデータ生成装置。
【請求項８】
前記複数の学習用データそれぞれを、異なる識別器の学習に適用して、入力された画像に基づいて前記検査対象物に検出対象部位が含まれているか否かを識別する複数の識別器を学習させる学習部と、
前記学習部により学習された、複数の学習済みの識別器の識別性能に基づいて、前記複数の学習用データから１又は複数の学習用データを選択する選択部と、をさらに備える、
請求項６又は７に記載のデータ生成装置。
【請求項９】
前記生成部は、前記検出対象部位の周囲の背景模様が、前記部分画像を含む前記画像と前記合成画像とで類似するように、前記部分画像の合成箇所を選択し、前記合成画像を生成する、
請求項１から８のいずれか一項に記載のデータ生成装置。
【請求項１０】
前記補正部は、前記部分画像の明るさを補正する、
請求項１から９のいずれか一項に記載のデータ生成装置。
【請求項１１】
前記補正部は、前記部分画像の形状を補正する、
請求項３から１０のいずれか一項に記載のデータ生成装置。
【請求項１２】
前記補正部は、前記部分画像の形状が、複数の形状テンプレートのうちいずれかに近付くように、前記部分画像の形状を補正する、
請求項１１に記載のデータ生成装置。
【請求項１３】
前記生成部は、前記複数の形状テンプレートを用いて補正された前記部分画像を、前記部分画像を含む前記画像とは異なる画像にそれぞれ合成して複数の合成画像を生成し、
前記判定部は、前記複数の合成画像に検出対象部位が含まれているか否かを判定し、
前記補正部は、前記判定部による判定の信頼度に基づいて、前記複数の形状テンプレートのうちいずれかを選択し、前記部分画像の形状を補正する、
請求項１２に記載のデータ生成装置。
【請求項１４】
前記生成部は、前記検査対象物のうち統計的に検出対象部位が生じやすい箇所の画像に前記部分画像が合成されるように、前記合成画像を生成する、
請求項１から１３のいずれか一項に記載のデータ生成装置。
【請求項１５】
前記検出対象部位は、前記検査対象物に含まれる欠陥の部位であり、
前記特徴量は、前記欠陥の形状、前記画像の明るさ、前記欠陥に沿った前記画像の明るさの変化、及び前記欠陥と前記欠陥の周囲とのコントラストのうち少なくともいずれかを含む、
請求項１から１４のいずれか一項に記載のデータ生成装置。
【請求項１６】
検査対象物に含まれる検出対象部位の有無を識別する識別器を学習させるための学習用データを生成するデータ生成方法であって、
検査対象物の画像を取得することと、
前記画像の一部であって、検出対象部位を含む部分画像の指定を受け付けることと、
前記部分画像を、前記検出対象部位の特徴量に基づいて補正することと、
補正された前記部分画像と、前記部分画像を含む前記画像とは異なる画像とを合成した合成画像を生成し、検出対象部位が含まれていることを示す情報を前記合成画像に関連付けて、前記識別器を学習させるための新たな学習用データを生成することと、
を含むデータ生成方法。
【請求項１７】
検査対象物に含まれる検出対象部位の有無を識別する識別器を学習させるための学習用データを生成するデータ生成装置に備えられた演算装置を、
検査対象物の画像を取得する取得部、
前記画像の一部であって、検出対象部位を含む部分画像の指定を受け付ける入力部、
前記部分画像を、前記検出対象部位の特徴量に基づいて補正する補正部、及び
前記補正部により補正された前記部分画像と、前記部分画像を含む前記画像とは異なる画像とを合成した合成画像を生成し、検出対象部位が含まれていることを示す情報を前記合成画像に関連付けて、前記識別器を学習させるための新たな学習用データを生成する生成部、
として動作させるデータ生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
データ生成装置、データ生成方法及びデータ生成プログラムに関する。
【背景技術】
【０００２】
近年、ニューラルネットワーク等の識別器を用いて画像の識別を行う技術が研究されている。識別器は、学習用画像と、その画像のラベルとを含むデータ（教師データ）を用いて学習されることがある。
【０００３】
効率的に学習用データを生成することに関して、下記特許文献１には、被検体の不良画像から良品との差分データを抽出し、良品画像と差分データとを合成して疑似不良画像を作成する疑似不良画像自動作成装置が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１５６３３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
例えば検査対象物の画像に欠陥等の検出対象部位が含まれているか否かを識別器によって判定する場合、検出対象部位を見逃してしまう誤判定が起こり得る。このような誤判定を減らすために、見逃された検出対象部位を含む画像を回転させたり、平行移動させたりして、画像のバリエーションを増やすデータオーグメンテーション（Data Augmentation）を行って学習用データを増やし、より検出対象部位の見逃しが起こりづらくなるように識別器を学習させることがある。例えば、特許文献１では、良品画像と不良品画像の差分データを抽出し、乱数値によって合成条件を設定して、差分データを良品画像に合成することでデータオーグメンテーションを行っている。
【０００６】
しかしながら、乱数値によって合成条件を設定する場合、必ずしも現場で撮像されるような検出対象部位を含む合成画像が生成されるとは限らない。そのため、データオーグメンテーションによって学習用データを増やして識別器の学習を行っても、その識別器を現場で使用した場合に、必ずしも良い識別性能が得られるとは限らなかった。
【０００７】
そこで、本発明は、検査対象物について実際に生じ得る検出対象部位を含むような合成画像により学習用データを生成するデータ生成装置、データ生成方法及びデータ生成プログラムを提供する。
【課題を解決するための手段】
【０００８】
本開示の一態様に係るデータ生成装置は、検査対象物に含まれる検出対象部位の有無を識別する識別器を学習させるための学習用データを生成するデータ生成装置であって、検査対象物の画像を取得する取得部と、画像の一部であって、検出対象部位を含む部分画像の指定を受け付ける入力部と、部分画像を、検出対象部位の特徴量に基づいて補正する補正部と、補正部により補正された部分画像と、部分画像を含む画像とは異なる画像とを合成した合成画像を生成し、検出対象部位が含まれていることを示す情報を合成画像に関連付けて、識別器を学習させるための新たな学習用データを生成する生成部と、を備える。ここで、学習用データは、識別器に入力される画像データと、少なくとも当該画像データに関する正しい判定結果を示し、識別器の出力と比較可能なデータと、を含む。また、補正部による補正方法は、例えば、部分画像の変形方法、すなわち、部分画像に含まれる検出対象部位の形状の変更であったり、部分画像の明るさの変更方法であったりしてよい。また、生成部による合成画像の生成方法は、例えば、部分画像を合成する箇所を決定する方法であったり、部分画像を合成する背景画像を選択する方法であったりしてよい。また、検出対象部位は、検査対象物に含まれる任意の部位であってよく、例えば、検査対象物に含まれる欠陥の部位であってよい。
【０００９】
この態様によれば、検出対象部位の特徴量に基づいて部分画像を補正することで、検査対象物について実際に生じ得る様々な検出対象部位のバリエーションを作り出すことができ、実際に生じ得る検出対象部位を含むような合成画像を生成することができる。また、生成された学習用データを用いることで、現場で使用した場合に良好な識別結果を得ることのできる識別器が得られる。なお、検出対象部位が含まれていることを示す情報、とは、検出対象部位の有無に関する情報に加えて、当該検出対象部位の含まれている位置の情報等の、画像データに関する正しい判定結果に関する情報であって、検出対象部位の有無に関する情報以外の情報を含んでいてよい。
【００１０】
上記態様において、入力部は、補正部による補正方法及び生成部による合成画像の生成方法のうち少なくともいずれかの指定を受け付けてもよい。
【００１１】
この態様によれば、入力部により補正方法及び生成方法のうち少なくともいずれかの入力を受け付けることで、検査対象物について実際に生じ得る検出対象部位を含むように学習用データを生成することができる。これにより、検査対象物について実際に生じ得る様々な検出対象部位のバリエーションを作り出すことができ、実際に生じ得る検出対象部位を含むような合成画像を生成することができる。
【００１２】
上記態様において、学習用データを用いて学習された識別器によって、取得部で取得された画像に検出対象部位が含まれているか否かを判定する判定部をさらに備え、入力部は、判定部による判定結果が正しいか否かに関する入力を受け付け、補正部は、判定部により画像に検出対象部位が含まれていないと判定され、入力部により判定部による判定結果が正しくないと入力された場合に、部分画像を補正してもよい。
【００１３】
この態様によれば識別器によって検出対象部位が含まれていないと誤判定された画像に基づいて合成画像を生成し、識別器によって識別しづらい検出対象部位を含んだ画像を増やすことができ、識別器の識別性能をより向上させることのできる学習用データが生成される。
【００１４】
上記態様において、識別器は、学習用データを用いた学習によって、検出対象部位に対応する画像の特徴量を学習しており、補正部は、識別器が学習した特徴量とは異なる特徴量を有するように、部分画像を補正してもよい。ここで、識別器は、例えば、検出対象部位の長さ、検出対象部位を含む領域の面積、検出対象部位の曲率等の検出対象部位の形状に関する特徴量や、画像の明るさ、検出対象部位に沿った画像の明るさの変化及び検出対象部位と検出対象部位の周囲とのコントラスト等の検出対象部位の見え方に関する特徴量を学習していてよい。
【００１５】
この態様によれば、学習用データを用いた学習によって識別器が学習することのできなかった特徴量を有する部分画像を生成することができ、識別器が学習できる特徴量のバリエーションを増やすような新たな学習用データを生成することができる。
【００１６】
上記態様において、合成画像に検出対象部位が含まれているか否かを判定部により判定させ、部分画像を含む画像に検出対象部位が含まれているか否かを判定部により判定させた場合と類似の判定結果が得られるか検証する検証部をさらに備え、前記生成部は、前記検証部が類似の判定結果を得た場合に、前記合成画像を新たな学習データとして登録してもよい。ここで、類似の判定結果とは、例えば、合成画像に検出対象部位が含まれているか否かを判定部により判定させると、部分画像が抽出された画像（すなわち、検査対象物の計測画像）と同様に検出対象部位が含まれていないとの誤判定が生じる判定結果である。すなわち、類似の判定結果とは、同様の判定結果であったり、対応する判定結果といった意味を含む。
【００１７】
この態様によれば、識別器によって検出対象部位が含まれていないと誤判定される合成画像が生成されたか検証され、識別器によって識別しづらい検出対象部位を含んだ画像を増やすことができ、識別器の識別性能をより向上させることのできる学習用データが生成される。
【００１８】
上記態様において、生成部は、補正部により複数の補正方法で補正された部分画像と、部分画像を含む画像とは異なる画像とを合成した複数の合成画像を生成し、検出対象部位が含まれていることを示す情報を複数の合成画像に関連付けて、複数の学習用データを生成してもよい。
【００１９】
この態様によれば、複数の補正方法で検出対象部位を含む部分画像を補正し、複数の合成画像を生成することで、検出対象部位を含む少数の画像から、様々な態様の検出対象部位を含む複数の合成画像を生成することができ、識別器の汎化性能をより向上させることのできる学習用データを生成することができる。
【００２０】
上記態様において、生成部は、補正部により補正された部分画像を、部分画像を含む画像とは異なる複数の画像に合成して複数の合成画像を生成し、検出対象部位が含まれていることを示す情報を複数の合成画像に関連付けて、複数の学習用データを生成してもよい。
【００２１】
この態様によれば、検出対象部位が含まれていない検査対象物の複数の画像に対して、検出対象部位を含む部分画像を合成し、複数の合成画像を生成することで、検出対象部位を含む少数の画像から、様々な背景において検出対象部位を含む合成画像を生成することができ、識別器の汎化性能をより向上させることのできる学習用データを生成することができる。
【００２２】
上記態様において、複数の学習用データそれぞれを、異なる識別器の学習に適用して、入力された画像に基づいて検査対象物に検出対象部位が含まれているか否かを識別する複数の識別器を学習させる学習部と、学習部により学習された、複数の学習済みの識別器の識別性能に基づいて、複数の学習用データから１又は複数の学習用データを選択する選択部と、をさらに備えてもよい。
【００２３】
この態様によれば、生成された複数の学習用データをそれぞれ独立に用いて識別器を学習させ、その識別性能に基づいて１又は複数の学習用データを選択することで、識別器の学習に用いた場合に識別器の識別性能をより良く向上させる学習用データを選択することができ、識別器の識別性能及び学習効率を向上させることができる。
【００２４】
上記態様において、生成部は、検出対象部位の周囲の背景模様が、部分画像を含む画像と合成画像とで類似するように、部分画像の合成箇所を選択し、合成画像を生成してもよい。
【００２５】
この態様によれば、部分画像が合成先において自然に見えるように合成され、検査対象物について実際に生じ得る検出対象部位を含むようにデータオーグメンテーションを行うことができる。
【００２６】
上記態様において、補正部は、部分画像の明るさを補正してもよい。
【００２７】
この態様によれば、照明条件の違いや、検出対象部位の発生箇所の違いによって識別器が検出対象部位を見逃すことのないように、識別器を学習させることのできる学習用データが得られる。
【００２８】
上記態様において、補正部は、部分画像の形状を補正してもよい。
【００２９】
この態様によれば、検出対象部位の形状の違いによって識別器が検出対象部位を見逃すことのないように、識別器を学習させることのできる学習用データが得られる。ここで、部分画像の形状を補正することにより、部分画像に含まれる検出対象部位の形状が変更されることが好ましい。
【００３０】
上記態様において、補正部は、部分画像の形状が、複数の形状テンプレートのうちいずれかに近付くように、部分画像の形状を補正してもよい。
【００３１】
この態様によれば、変更自在な状態で予め記憶され、複数用意された形状テンプレートに基づいて、検査対象物について実際に生じ得る検出対象部位を簡単に合成することができ、形状の指定に不慣れな作業者であっても、現場で識別器を使用した場合の識別性能がより向上する学習用データを生成することができる。
【００３２】
上記態様において、生成部は、複数の形状テンプレートを用いて補正された部分画像を、部分画像を含む画像とは異なる画像にそれぞれ合成して複数の合成画像を生成し、判定部は、複数の合成画像に検出対象部位が含まれているか否かを判定し、補正部は、判定部による判定の信頼度に基づいて、複数の形状テンプレートのうちいずれかを選択し、部分画像の形状を補正してもよい。
【００３３】
この態様によれば、識別器の識別性能を向上させるのに適した形状テンプレートを用いて部分画像の形状の補正が行われ、識別器の識別性能及び学習効率を向上させることができる。ここで、信頼度とは、合成画像に含まれる、補正された部分画像の領域（合成領域）の検出対象部位らしさの確度を示し、例えば、「検出対象部位有」とした判定結果を０から１の数値で表した指標であって、数値が１に近いほど、判定結果の確からしさが高いことを意味するものであってよい。
【００３４】
上記態様において、生成部は、検査対象物のうち統計的に検出対象部位が生じやすい箇所の画像に部分画像が合成されるように、合成画像を生成してもよい。
【００３５】
この態様によれば、検査対象物のうち統計的に検出対象部位が生じやすい箇所に部分画像を合成することで、現場で実際に発生しやすい箇所に部分画像を合成することができ、検査対象物について実際に生じ得る検出対象部位を含むようにデータオーグメンテーションを行うことができる。
【００３６】
上記態様において、検出対象部位は、検査対象物に含まれる欠陥の部位であり、特徴量は、欠陥の形状、画像の明るさ、欠陥に沿った画像の明るさの変化、及び欠陥と欠陥の周囲とのコントラストのうち少なくともいずれかを含んでよい。
【００３７】
この態様によれば、識別器によって欠陥を見逃す誤判定が起こりやすい欠陥の特徴量を捉えて、当該特徴量に基づいて部分画像を補正し、合成画像を生成することで、識別器によって識別しづらい欠陥を含んだ画像を増やすことができ、識別器の識別性能をより向上させることのできる学習用データが生成される。
【００３８】
本開示の他の態様に係るデータ生成方法は、検査対象物に含まれる検出対象部位の有無を識別する識別器を学習させるための学習用データを生成するデータ生成方法であって、検査対象物の画像を取得することと、画像の一部であって、検出対象部位を含む部分画像の指定を受け付けることと、部分画像を、検出対象部位の特徴量に基づいて補正することと、補正された部分画像と、部分画像を含む画像とは異なる画像とを合成した合成画像を生成し、検出対象部位が含まれていることを示す情報を合成画像に関連付けて、識別器を学習させるための新たな学習用データを生成することと、を含む。
【００３９】
この態様によれば、検出対象部位の特徴量に基づいて部分画像を補正することで、検査対象物について実際に生じ得る様々な検出対象部位のバリエーションを作り出すことができ、実際に生じ得る検出対象部位を含むような合成画像を生成することができる。また、生成された学習用データを用いることで、現場で使用した場合に良好な識別結果を得ることのできる識別器が得られる。
【００４０】
本開示の他の態様に係るデータ生成プログラムは、検査対象物に含まれる検出対象部位の有無を識別する識別器を学習させるための学習用データを生成するデータ生成装置に備えられた演算装置を、検査対象物の画像を取得する取得部、画像の一部であって、検出対象部位を含む部分画像の指定を受け付ける入力部、部分画像を、検出対象部位の特徴量に基づいて補正する補正部、及び補正部により補正された部分画像と、部分画像を含む画像とは異なる画像とを合成した合成画像を生成し、検出対象部位が含まれていることを示す情報を合成画像に関連付けて、識別器を学習させるための新たな学習用データを生成する生成部、として動作させる。
【００４１】
この態様によれば、検出対象部位の特徴量に基づいて部分画像を補正することで、検査対象物について実際に生じ得る様々な検出対象部位のバリエーションを作り出すことができ、実際に生じ得る検出対象部位を含むような合成画像を生成することができる。また、生成された学習用データを用いることで、現場で使用した場合に良好な識別結果を得ることのできる識別器が得られる。
【発明の効果】
【００４２】
検査対象物について実際に生じ得る検出対象部位を含むような合成画像により学習用データを生成するデータ生成装置、データ生成方法及びデータ生成プログラムを提供する。
【図面の簡単な説明】
【００４３】
【図１】本発明の実施形態に係るデータ生成装置の機能ブロック図である。
【図２】本実施形態に係るデータ生成装置の第１学習部及び第２学習部における処理の内容を示す概念図である。
【図３】本実施形態に係るデータ生成装置の計測部における処理の内容を示す概念図である。
【図４】本実施形態に係るデータ生成装置のハードウェア構成を示すブロック図である。
【図５】本実施形態に係るデータ生成装置により実行される第１処理の内容を示すフローチャートである。
【図６】本実施形態に係るデータ生成装置により実行される補正処理の内容を示すフローチャートである。
【図７】本実施形態に係るデータ生成装置により実行される合成処理の内容を示すフローチャートである。
【図８】本実施形態に係るデータ生成装置により実行される補正処理及び合成処理の概要を示す図である。
【図９】本実施形態に係るデータ生成装置により実行される補正処理の概要を示す図である。
【図１０】本実施形態に係るデータ生成装置により実行されるマスク処理の概要を示す図である。
【図１１】本実施形態に係るデータ生成装置により実行される第２処理の内容を示すフローチャートである。
【発明を実施するための形態】
【００４４】
以下、本発明の一側面に係る実施の形態（以下、「本実施形態」と表記する。）を、図面に基づいて説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【００４５】
§１  適用例
まず、図１を用いて、本発明が適用される場面の一例について説明する。図１は、本実施形態に係るデータ生成装置１００の適用場面の一例を模式的に例示した機能ブロック図である。本実施形態に係るデータ生成装置１００は、検査対象物の画像に検出対象部位が含まれている場合に、ユーザインタフェース１７０によって検出対象部位が含まれる部分画像の補正方法及び合成画像の生成方法の入力を受け付けて、検出対象部位の特徴量に基づいて部分画像を補正し、補正された部分画像を、部分画像を含む画像とは異なる画像に合成して新たな学習用データを生成する装置である。
【００４６】
図１に示すように、データ生成装置１００は、検査対象物の画像を取得する撮像装置１５３と、当該画像のうち検出対象部位を含む部分画像を、検出対象部位の特徴量に基づいて補正する補正部１２１と、補正された部分画像と、部分画像を含む画像とは異なる画像とを合成した合成画像を生成し、検出対象部位が含まれていることを示す情報を合成画像に関連付けて、識別器（ａ、ｂ、ｃ、Ａ、Ｂ、…）を学習させるための新たな学習用データを生成する生成部１２２と、補正部１２１による部分画像の補正方法及び生成部１２２による合成画像の生成方法のうち少なくともいずれかの入力を受け付けるユーザインタフェース１７０と、を備える。ここで、撮像装置１５３は、本発明の「取得部」の一例であり、ユーザインタフェース１７０は、本発明の「入力部」の一例である。本明細書では、撮像装置１５３により新たに撮像される検査対象物の画像を「計測画像」と呼び、識別器（ａ、ｂ、ｃ、Ａ、Ｂ、…）を学習するため予め収集される検査対象物の画像を「サンプル画像」と呼ぶ。なお、データ生成装置１００は、必ずしも撮像装置１５３を備えていなくてもよく、別体で設けられた撮像装置から計測画像を取得するものであってもよい。本実施形態では、検出対象部位が、検査対象物に含まれる欠陥の部位である場合について説明する。しかしながら、検出対象部位は、検査対象物に含まれる欠陥の部位に限られず、検査対象物に含まれる任意の部位であってよい。
【００４７】
撮像装置１５３により撮像された検査対象物の計測画像は、第２作業者のユーザインタフェース１７０に表示される。第２作業者は、計測画像のうち欠陥が含まれている部分画像をユーザインタフェース１７０によって指定する。また、第２作業者は、部分画像を補正部１２１によってどのように補正するか（補正方法）をユーザインタフェース１７０によって指定し、補正された部分画像を生成部１２２によってどのように他の画像に合成するか（生成方法）をユーザインタフェース１７０によって指定する。
【００４８】
補正部１２１は、欠陥の長さ、欠陥を含む領域の面積、欠陥の曲率等の欠陥の形状や、画像の明るさ、欠陥に沿った画像の明るさの変化、及び欠陥と欠陥の周囲とのコントラスト等の欠陥の特徴量に基づいて、部分画像を補正してよい。補正部１２１は、識別器（ａ、ｂ、ｃ、Ａ、Ｂ、…）によって欠陥を見逃す誤判定が起こりやすい欠陥の特徴量を捉えて、当該特徴量に基づいて部分画像を補正してよい。具体的には、識別器（ａ、ｂ、ｃ、Ａ、Ｂ、…）が、比較的長い欠陥であれば識別できるが、比較的短い欠陥を見逃すような場合に、補正部１２１は、欠陥が短くなるように部分画像を補正して、識別器（ａ、ｂ、ｃ、Ａ、Ｂ、…）が識別を苦手とするような欠陥のバリエーションを増やすこととしてよい。補正部１２１による補正方法は、ユーザインタフェース１７０によって詳細な方法が指定されてもよいし、ユーザインタフェース１７０によって大まかな方法が指定されるか又は指定を受け付けずに、補正部１２１によって補正方法の詳細を自動で判別することとしてもよい。
【００４９】
生成部１２２は、補正部１２１により補正された部分画像を、部分画像を含む画像とは異なる画像に合成して合成画像を生成し、欠陥が含まれていることを示す情報を合成画像に関連付けて、識別器（ａ、ｂ、ｃ、Ａ、Ｂ、…）を学習させるための新たな学習用データを生成する。ここで、部分画像を含む画像とは異なる画像は、欠陥が全く含まれていない画像の他に、欠陥をマスクによって隠した画像であってもよい。生成部１２２による合成画像の生成方法は、ユーザインタフェース１７０によって詳細な方法が指定されてもよいし、ユーザインタフェース１７０によって大まかな方法が指定されるか又は指定を受け付けずに、生成部１２２によって生成方法の詳細を自動で判別することとしてもよい。
【００５０】
このように、欠陥の特徴量に基づいて部分画像を補正することで、検査対象物について実際に生じ得る様々な欠陥のバリエーションを作り出すことができ、実際に生じ得る欠陥を含むような合成画像を生成することができる。また、ユーザインタフェース１７０により補正部１２１による部分画像の補正方法及び生成部１２２による合成画像の生成方法のうち少なくともいずれかの入力を受け付けることで、検査対象物について実際に生じ得る欠陥を含むように学習用データを生成することができる。そして、生成された学習用データを用いることで、現場で使用した場合に良好な識別性能を得ることのできる識別器が得られる。本実施形態に係るデータ生成装置１００によれば、現場で実際に発生するような欠陥を含む合成画像を生成することができるため、識別器の学習処理を行う場合に、比較的少ない演算量で現場での識別性能がより高くなるような識別器を生成することができる。また、識別器によって欠陥を見逃す誤判定が起こりやすい欠陥の特徴量を捉えて、当該特徴量に基づいて部分画像を補正し、合成画像を生成することで、識別器によって識別しづらい欠陥を含んだ画像を増やすことができ、識別器の識別性能をより向上させることのできる学習用データが生成される。
【００５１】
§２  構成例
［機能構成］
次に、図１を用いて、本実施形態に係るデータ生成装置１００の機能構成の一例を説明する。データ生成装置１００は、学習用データを用いて、検査対象物の欠陥の有無と、検査対象物に欠陥が含まれる場合には、その欠陥の位置と、その欠陥の種類と、を含む属性情報（ラベル）を出力する識別器を生成する機能を備える。ここで、検査対象物に複数の欠陥が含まれる場合には、属性情報は、欠陥の有無と、複数の欠陥の位置と、それらの欠陥の種類と、を含んでよい。また、データ生成装置１００は、検査対象物を測定した計測画像を取得し、生成された識別器を用いて、検査対象物の属性情報を出力する機能を備える。したがって、データ生成装置１００は、検査対象物の計測画像を取得し、計測画像に基づいて検査対象物の欠陥の有無に関する情報を含む計測結果を出力する検査装置又は検査システムとして機能する。
【００５２】
図１に示すように、データ生成装置１００は、学習用データを生成及び格納する画像収集部１１０と、指定された補正方法及び生成方法に基づいて、計測した画像（計測画像）の修正を行う画像修正部１２０と、画像収集部１１０及び画像修正部１２０の少なくともいずれかにより生成された学習用データを用い、検査対象物の欠陥の有無と、検査対象物に欠陥が含まれる場合には、その欠陥の位置と、その欠陥の種類と、を含む属性情報を出力する識別器を生成する、第１学習部１３０及び第２学習部１４０と、検査対象物を測定した計測画像を取得し、第１学習部１３０及び第２学習部１４０の少なくともいずれかにより生成された識別器を用いて、検査対象物の属性情報を出力する計測部１５０と、計測画像とその属性情報とを関連付けて、計測結果として記憶する計測結果管理部１６０と、を備える。ここで、計測結果は、計測画像と、識別器により出力された検査対象物の属性情報と、判定部１５２による判定結果とを含む。なお、学習用データとは、単一の学習用データのみならず、複数の学習用データを有するデータセットであってよい。
【００５３】
ここで、欠陥とは、検査対象物が有する異常であって、例えば、傷、色等のムラ、汚れ、欠け、バリ、異物、印字のかすれ、印字等の位置ずれ等を含む。
【００５４】
また、属性情報とは、各画像に含まれる欠陥の有無に関する情報、画像に欠陥が含まれる場合には、当該欠陥の位置を示す情報及び当該欠陥の種類を示す情報を少なくとも含むものである。なお、属性情報は、欠陥の有無、欠陥の位置に関する情報及び欠陥の種類に関する情報に限られず、例えば、識別器により出力される欠陥の有無、欠陥の位置に関する情報及び欠陥の種類に関する情報の信頼度に関する情報を含んでいてもよい。
【００５５】
データ生成装置１００は、ソフトウェアプログラム及び当該ソフトウェアプログラムの実行に用いられるデータを記憶する記憶部（例えば、図４に示す補助記憶部１０２、１０３）と、ソフトウェアプログラムを呼び出し、実行する演算部（例えば、図４に示すプロセッサ１０４）と、を有する１又は複数の情報処理装置により構成される。すなわち、画像収集部１１０、画像修正部１２０、第１学習部１３０、第２学習部１４０、計測部１５０及び計測結果管理部１６０の各機能ブロックのそれぞれは、補助記憶部１０２、１０３等の記憶部に記憶された所定のソフトウェアプログラムがプロセッサ１０４等のハードウェアプロセッサによって実行されることで実現される。すなわち、画像収集部１１０、画像修正部１２０、第１学習部１３０、第２学習部１４０、計測部１５０及び計測結果管理部１６０の各機能のそれぞれは、ソフトウェアプログラムがハードウェアプロセッサによって実行されることにより実現される所定の処理を示す。また、画像収集部１１０、画像修正部１２０、第１学習部１３０、第２学習部１４０、計測部１５０及び計測結果管理部１６０のそれぞれは、単独で、又は、複数が組み合わされて、情報処理装置として構成される。なお、データ生成装置１００を、単一の情報処理装置により構成してもよい。本実施形態における情報処理装置のハードウェア構成については後述する。
【００５６】
＜画像収集部の構成＞
画像収集部１１０は、学習用データを生成するためのサンプル画像を取得する。サンプル画像は、検査対象物を撮像した画像でもよく、また、公知の画像合成技術により生成されたＣＧ画像であってもよい。画像収集部１１０が取得したサンプル画像は、属性付与部１１１にて、各画像に対して、又は、複数の画像に対して、属性情報の付与が行われる。すなわち、属性付与部１１１は、サンプル画像に対して属性情報を付与することで、サンプル画像を学習用データにする。
【００５７】
本実施形態において、属性情報の付与（ラベル付け）は、任意のユーザインタフェース１８０を介して、第１作業者により行われる。例えば、サンプル画像に欠陥が含まれる場合には、第１作業者は、ユーザインタフェース１８０としての、表示装置（液晶表示装置等）及び入力装置（タッチパネル、キーボード、マウス等）を用いて、所定の形状の枠により当該欠陥を囲うことで、欠陥の有無及び欠陥の位置を含む属性情報を付与することができる。また、ユーザインタフェース１８０を用いて、当該欠陥の種類を含む属性情報をサンプル画像に付与することもできる。なお、属性情報の付与の方法は、特に限定されない。例えば、画像と、その画像に付与すべき属性情報との関係性を学習済みの識別器を用いて、画像に対して属性情報を自動的に付与するようにしてもよいし、公知の統計的手法により、複数の画像をクラスタリングして、クラスタに対して属性情報の付与を行うこととしてもよい。
【００５８】
属性付与部１１１において属性情報が付与された画像（学習用データ）は、画像データベース（以下、「画像ＤＢ」と称す。）１１２に格納され、記憶される。
【００５９】
画像収集部１１０は、例えば、取得するサンプル画像の多少や、画像ＤＢ１１２に格納されている学習用データの多少に応じて、学習用データの拡張を行う画像補正部１１３を備えている。画像補正部１１３は、ユーザインタフェース１８０を介して行われる第１作業者の補正操作に基づいて、サンプル画像の拡張を行ってよい。なお、画像補正部１１３は、画像収集部１１０に必ずしも必須の要素ではない。また、学習用データの拡張とは、学習に用いるデータセットを増やすデータオーグメンテーションのことをいう。
【００６０】
学習用データの拡張（オーグメンテーション）は、例えば、サンプル画像を平行移動させたり、回転させたり、色を変えたり、拡大させたり、縮小させたりすることで行ってよい。なお、画像補正部１１３は、画像収集部１１０に必須の構成要素ではなく、データ生成装置１００を用いて実現する画像計測処理に必要な学習用データの必要量に応じて、適宜設けてよい。また、上記オーグメンテーションは、任意のユーザインタフェース１８０を介して、作業者自らが、部分画像の抽出、背景画像との合成等の各処理の指示を行うことで実現されてもよい。画像補正部１１３により拡張された学習用データは、画像ＤＢ１１２に格納され、記憶される。
【００６１】
ここで、背景画像は、部分画像に合成される画像であって、部分画像が抽出された計測画像とは異なる画像を含む。なお、背景画像は、計測画像であってもよいが、計測画像を背景画像として用いる場合には、計測画像から抽出された部分画像以外の領域に部分画像が合成されるように、合成箇所を制限して用いることができる。また、背景画像は、計測画像以外の画像に基づいて生成されてよく、計測画像の欠陥以外の領域の画像と同一の模様を有していてもよいし、また、有していなくてもよい。また、背景画像は一様な背景模様の画像の場合もあれば、ヘアラインのような背景模様を有する画像であったり、また、文字等が印字されている画像であったりしてよく、多種多様な画像であってよい。
【００６２】
画像ＤＢ１１２は、属性付与部１１１及び画像補正部１１３から、学習用データを取得する。画像ＤＢ１１２は、学習用データを、付与された属性情報に基づいて分類した状態で記憶してよい。また、画像ＤＢ１１２は、画像収集部１１０が取得したサンプル画像にすでに属性情報が付与されている場合には、当該サンプル画像を、属性付与部１１１及び画像補正部１１３を介さずに取得して、記憶してよい。なお、画像ＤＢ１１２は、学習用データを、後述する識別器を生成するための学習処理に使用する学習処理用の学習用データと、生成された識別器が、所望の属性情報を出力するか否かを評価するための評価処理用のテスト用データと、に区別して記憶してもよい。もっとも、学習用データとテスト用データを区別せずに画像ＤＢ１１２に記憶しておき、学習処理を行う際に、画像ＤＢ１１２に記憶されたデータセットを任意の手法で学習用とテスト用等に分けることとしてもよい。
【００６３】
＜第１学習部の構成＞
図２は、本実施形態に係るデータ生成装置の第１学習部１３０及び第２学習部１４０における処理の内容を示す概念図である。第１学習部１３０は、画像収集部１１０から、学習用データを取得する。なお、第１学習部１３０は、後述する画像修正部１２０から、学習用データを取得してもよい。第１学習部１３０は、取得した学習用データを用いた機械学習を実行し、識別器（ａ、ｂ、ｃ、・・・）を生成する第１学習処理部１３１を有する。識別器（ａ、ｂ、ｃ、・・・）は、画像データを入力とし、当該画像に含まれる欠陥の有無、１又は複数の欠陥が含まれる場合にはその位置及びその種類、を含む属性情報を出力するものである。なお、識別器（ａ、ｂ、ｃ、・・・）には、画像データ以外のデータが入力されてもよい。例えば、識別器（ａ、ｂ、ｃ、・・・）には、検査対象物の画像を撮像した条件（光量や撮像装置の露光時間等）が入力されたり、検査対象物の識別情報が入力されたりしてもよい。
【００６４】
識別器（ａ、ｂ、ｃ、・・・）は、任意の機械学習モデルに対して学習処理と評価処理とを行うことにより生成される。機械学習モデルは、所定のモデル構造と、学習処理によって変動する処理パラメータと、を有し、学習用データから得られる経験に基づいてその処理パラメータが最適化されることで、識別精度が向上するモデルである。すなわち、機械学習モデルは、学習処理によって、最適な処理パラメータを学習するモデルである。機械学習モデルのアルゴリズムは、例えば、サポートベクターマシン、ロジスティック回帰、ニューラルネットワーク等を用いることができるが、その種類は特に限定されない。本実施形態では、ニューラルネットワークであって、特に階層が３層以上であるディープニューラルネットワークのうち、画像認識に適したコンボリューショナルニューラルネットワーク（Convolutional Neural Network）を用いた例について説明する。なお、第１学習部１３０は、機械学習モデルを生成するためのモデル生成部（図示せず）を備えていてもよい。また、第１学習部１３０は、予め生成された機械学習モデルを、外部から取得してもよい。
【００６５】
本実施の形態における識別器は、学習用データを用いた事前学習によって、欠陥に対応する画像の特徴量であって、所定の幅を有する特徴量を学習している。ここで、所定の幅を有する特徴量とは、所定の数値範囲を有する特徴量であってよく、例えば特徴量が欠陥の長さを表す量であれば、特徴量は、長さの数値範囲を有してよい。学習される特徴量の種別は、識別器に固有に設定することができる。また、学習される特徴量の幅は、学習用データの内容に依存する。ここで、特徴量とは、例えば、欠陥の長さ、欠陥を含む領域の面積、欠陥の曲率等の欠陥の形状に関する特徴量や、画像の明るさ、欠陥に沿った画像の明るさの変化、及び欠陥と欠陥の周囲とのコントラストのうち少なくともいずれかを含んでよい。また、特徴量を、欠陥の種類に応じて、例えば、白点、黒点、白線、黒線の４つに分類してもよい。後述する計測部１５０は、識別器を用いて、計測画像の中に、識別器が学習している所定の幅の特徴量に合致する部分があるか否かを識別させ、その識別結果に基づいて、欠陥の有無の情報を含む判定結果を出力する。
【００６６】
なお、識別器は、処理パラメータにより表現されてよい。処理パラメータとは、識別器を表現する情報であって、識別器としてニューラルネットワーク（以下、単に「ネットワーク」ということもある。）を例にすれば、ニューラルネットワークのレイヤ数、各レイヤに関するノード数、ノード間を繋ぐリンクの重みパラメータ、各ノードに関するバイアスパラメータ及び各ノードに関する活性化関数の関数形に関する情報等、を示すものである。内部パラメータにより、欠陥として検出すべき特徴量の幅が規定される。
【００６７】
第１学習処理部１３１は、学習用データを用いて、取得した画像のデータを入力すると、属性情報で表現される計測画像の属性に対応する出力値を出力するように、機械学習モデルを学習させる学習処理を行う。第１学習処理部１３１は、さらに、学習処理によって生成された識別器（ａ、ｂ、ｃ、・・・）に対し、テスト用データを用いて、識別器（ａ、ｂ、ｃ、・・・）の出力と、テスト用データに対して付与された属性情報とを比較する評価処理を行う。識別器（ａ、ｂ、ｃ、・・・）の出力と、テスト用データに付与された属性情報とが一致している場合には、識別器（ａ、ｂ、ｃ、・・・）の生成条件を満たしたと判断し、識別器（ａ、ｂ、ｃ、・・・）の生成処理を完了させる。
【００６８】
第１学習部１３０は、生成した識別器（ａ、ｂ、ｃ、・・・）のモデル構造及び処理パラメータを含む情報を、学習結果データとして、後述する計測部１５０及び第２学習部１４０に出力する。
【００６９】
＜第２学習部の構成＞
引き続き、図２を用いて、第２学習部１４０における処理の内容を説明する。第２学習部１４０は、所定の生成処理によって生成された識別器に対する追加学習（再学習）を行う。なお、第２学習部１４０について、第１学習部１３０と共通する要素については、その記載を省略する。
【００７０】
第２学習部１４０は、第１学習部１３０で生成された学習済みの識別器（ａ、ｂ、ｃ、・・・）の学習結果データを取得する。なお、第２学習部１４０は、所定の生成処理によって生成された識別器に関する学習結果データを、外部から取得してもよい。第２学習部１４０は、画像収集部１１０から、学習用データを取得する。なお、第２学習部１４０は、後述する画像修正部１２０から、学習用データを取得してもよい。
【００７１】
第２学習部１４０は、学習用データを用いた機械学習による追加学習（再学習）を実行し、識別器（Ａ、Ｂ、Ｃ、・・・）を生成する第２学習処理部１４１を有する。識別器（Ａ、Ｂ、Ｃ、・・・）は、所定の学習処理により生成された識別器（ａ、ｂ、ｃ、・・・）に対して学習処理と評価処理とを行うことにより生成される。換言すれば、第２学習処理部１４１は、学習用データを用いて、識別器（ａ、ｂ、ｃ、・・・）のモデル構造及び処理パラメータを含む学習結果データに対する学習処理と評価処理とを実行することで、識別器（Ａ、Ｂ、Ｃ、・・・）を生成する。識別器（Ａ、Ｂ、Ｃ、・・・）は、画像データを入力とし、当該画像に含まれる欠陥の有無と、１又は複数の欠陥が含まれる場合には、その位置及びその種類と、を含む属性情報を出力するものである。
【００７２】
第２学習処理部１４１は、学習用データを用いて、取得した画像のデータを入力すると、属性情報で表現される計測画像の属性に対応する出力値を出力するように、識別器（ａ、ｂ、ｃ、・・・）の学習結果データによって表現される機械学習モデルを学習させる学習処理（追加学習の学習処理）を行う。ここで、第２学習処理部１４１が行う追加学習の学習処理は、後述する画像修正部１２０から取得した学習用データを用いて行われてよい。これにより、検査対象物を撮像した画像に基づいて新たに生成された学習用データを用いることができ、識別器の識別精度を向上させることができるからである。
【００７３】
第２学習処理部１４１は、さらに、学習処理によって生成された識別器（Ａ、Ｂ、Ｃ、・・・）に対し、テスト用データを用いて、識別器（Ａ、Ｂ、Ｃ、・・・）の出力と、テスト用データに対して付与された属性情報とを比較する評価処理を行う。識別器（Ａ、Ｂ、Ｃ、・・・）の出力と、テスト用データに付与された属性情報とが一致している場合には、識別器（Ａ、Ｂ、Ｃ、・・・）の生成条件を満たしたと判断し、識別器（Ａ、Ｂ、Ｃ、・・・）の生成処理を完了させる。ここで、第２学習処理部１４１が行う評価処理は、後述する画像修正部１２０から取得したテスト用データを用いて行われてよい。これにより、検査対象物を撮像した画像に基づいて新たに生成された学習用データを用いて評価を行うことができ、識別器の認識精度を向上させることができるからである。
【００７４】
第２学習部１４０は、生成した識別器（Ａ、Ｂ、Ｃ、・・・）のモデル構造及び処理パラメータを含む情報を、学習結果データとして、後述する計測部１５０に出力する。
【００７５】
なお、第１学習部１３０と第２学習部１４０とを一体に構成し、第１学習処理部１３１が、追加学習の学習処理と評価処理とを実行するようにしてもよい。
【００７６】
＜計測部の構成＞
図３は、本実施形態に係るデータ生成装置１００の計測部１５０における処理の内容を示す概念図である。計測部１５０は、学習用データを用いた学習処理及び評価処理によって生成された識別器を用いて、撮像装置１５３により撮像された検査対象物の計測画像の属性情報を出力させ、判定部１５２により検査対象物に欠陥が含まれているか否かを判定して、計測画像、属性情報及び判定結果を含む計測結果を出力する。属性情報は、欠陥の有無、１又は複数の欠陥が含まれる場合にはその欠陥の位置及び種類、を含む。
【００７７】
計測部１５０は、第１学習部１３０及び第２学習部１４０から、識別器のモデル構造及び処理パラメータを含む情報を、学習結果データとして取得する。計測部１５０は、取得した学習結果データを格納する学習結果ＤＢ１５１を有する。また、計測部１５０は、検査対象物を撮像する撮像装置１５３を有する。撮像装置１５３は、例えば、工場の製造ラインを撮像するように設置され、製造ラインの一部を構成する。撮像装置１５３は、製造ラインを流れる検査対象物としての部品及び製品（以下、部品と製品とを合わせて「ワーク」と称することがある。）の画像を計測画像として撮像する。
【００７８】
計測部１５０は、学習結果ＤＢ１５１に格納された学習結果データに基づき構成される識別器を用いて、計測画像の属性情報を出力する判定部１５２を有する。判定部１５２は、学習用データを用いて学習された識別器（ａ、ｂ、ｃ、Ａ、Ｂ、…）によって、撮像装置１５３で撮像された計測画像に欠陥が含まれているか否かを判定する。
【００７９】
計測部１５０は、計測画像と、識別器により出力された計測画像の属性情報と、判定部１５２による判定結果と、を含む計測結果を、計測結果管理部１６０に出力する。なお、計測部１５０は、個々の検査対象物を識別するための識別情報を、計測結果とともに、計測結果管理部１６０に出力してもよい。このとき、検査対象物の識別情報は、計測画像から取得してもよく、所定のインタフェースを介して外部より取得してもよい。識別情報としては、例えば、製造番号や、製造番号を符号化した図形を用いることができる。よって、識別情報とは、検査対象物の個体を識別することができる情報であることが好ましい。なお、計測部１５０は、検査対象物の計測結果を、計測結果管理部１６０以外に出力してもよい。例えば、後述するユーザインタフェース１７０に対し、計測結果及び識別情報を出力するようにしてもよい。また、例えば、計測結果を仕分け装置（図示せず）に対して直接的または間接的に出力してもよい。仕分け装置は、取得した計測結果に基づいて、検査対象物の仕分けを行う。
【００８０】
＜計測結果管理部の構成＞
計測結果管理部１６０は、計測結果に含まれる計測画像と、識別器により出力された属性情報及び判定部１５２による判定結果とを関連付けて記憶する計測結果ＤＢ１６１を有する。なお、計測結果管理部１６０は、検査対象物を識別するための識別情報を、計測結果とともに取得してもよい。このとき、検査対象物の識別情報は、計測部１５０から取得してもよく、所定のインタフェースを介して外部より取得してもよい。また、計測結果ＤＢ１６１は、属性情報に含まれる属性の種別に応じて、例えば、欠陥の種別の属性に関連付けて、計測画像を分類して記憶してもよい。
【００８１】
計測結果管理部１６０は、計測結果を、ユーザインタフェース１７０に対して出力する。このとき、計測結果管理部１６０は、あわせて、検査対象物の識別情報をユーザインタフェース１７０に対して出力してよい。また、計測結果管理部１６０は、計測結果を、後述する画像修正部１２０に対して出力する。このとき、計測結果管理部１６０は、あわせて検査対象物の識別情報を、画像修正部１２０に対して出力してもよい。
【００８２】
＜ユーザインタフェース＞
本実施形態において、ユーザインタフェース１７０は、第２作業者が、判定部１５２による判定結果を確認するために用いられたり、計測画像に含まれる欠陥を含む部分画像を指定するために用いられたり、判定部１５２による判定結果が正しいか否かに関する入力を受け付けたり、補正部１２１による補正方法を指定するために用いられたり、生成部１２２による合成画像の生成方法を指定するために用いられたりする。ユーザインタフェース１７０は、少なくとも計測画像及び計測部１５０による計測結果を表示するための表示部（液晶表示装置等）、及び、第２作業者による部分画像の指定、判定部１５２による判定結果が正しいか否かの入力、補正方法の指定及び生成方法の指定等を行うための入力部（タッチパネル、キーボード、マウス等）を有する。第２作業者は、表示部に表示された計測画像及び当該計測画像の計測結果に基づいて、計測結果の正誤を判断し、入力部を用いて計測結果の正誤を入力し、欠陥を含む部分画像の領域を入力してよい。そして、第２作業者は、表示部に表示された計測画像及び当該計測画像の計測結果に基づいて、指定した部分画像をどのように補正するか、補正された部分画像を他の画像にどのように合成するかを、入力部を用いて指定してよい。
【００８３】
＜画像修正部の構成＞
画像修正部１２０は、取得された部分画像を補正して、学習用データの生成を行う。画像修正部１２０は、補正部１２１、生成部１２２、修正画像データベース（以下、「修正画像ＤＢ」と称す。）１２３、検証部１２４及び選択部１２５を有し、ユーザインタフェース１７０によって受け付けた部分画像を補正して、補正した部分画像を他の画像に合成して学習用データを生成する。なお、以下では、画像修正部１２０は、ユーザインタフェース１７０によって受け付けた部分画像を補正して、新たな学習用データを生成する例について説明するが、ユーザインタフェース１８０によって受け付けた部分画像を補正して、新たな学習用データを生成してもよい。
【００８４】
補正部１２１は、画像のうち欠陥を含む部分画像を、欠陥の特徴量に基づいて補正する。補正部１２１は、判定部１５２により画像に欠陥が含まれていないと判定され、ユーザインタフェース１７０により判定部１５２による判定結果が正しくないと入力された場合に、部分画像を補正してもよい。例えば、補正部１２１は、欠陥の部分画像が有する特徴量と、判定部１５２が使用した識別器が学習した特徴量とを比較して、識別器が学習した特徴量とは異なる特徴量を有するように、部分画像を補正してもよい。より具体的には、識別器が、学習用データを用いた事前学習によって、欠陥に対応する画像の特徴量の範囲を学習している場合に、補正部１２１は、欠陥の特徴が、識別器が学習した特徴量の範囲に含まれないように、部分画像を補正してよい。例えば、識別器が学習した欠陥に対応する画像の特徴量が、欠陥の長さの範囲を表すものである場合、補正部１２１は、識別器が学習した欠陥の長さの範囲から逸脱するように、伸縮により欠陥を含む部分画像を補正してよい。これにより、識別器によって欠陥が含まれていないと誤判定された画像に基づいて合成画像を生成し、識別器によって識別しづらい欠陥を含んだ画像を増やすことができ、識別器の識別性能をより向上させることのできる学習用データを生成することができる。また、学習用データを用いた学習によって識別器が学習することのできなかった特徴量を有する部分画像を生成することができ、識別器が学習できる特徴量のバリエーションを増やすような新たな学習用データを生成することができる。
【００８５】
補正部１２１は、ユーザインタフェース１７０により指定された部分画像に対して複数の異なる補正を行ってもよい。より具体的には、補正部１２１は、部分画像の明るさを補正したり、部分画像の形状を補正したりしてよい。部分画像の明るさを補正することで、照明条件の違いや、欠陥の発生箇所の違いによって識別器が欠陥を見逃すことのないように、識別器を学習させることのできる学習用データが得られる。また、部分画像の形状を補正することで、欠陥の形状の違いによって識別器が欠陥を見逃すことのないように、識別器を学習させることのできる学習用データが得られる。
【００８６】
また、補正部１２１は、部分画像の形状が、複数の形状テンプレートのうちいずれかに近付くように、部分画像の形状を補正してもよい。このような補正の例については、図９を用いてより具体的に説明する。複数の形状テンプレートを用意し、形状テンプレートを選択させて、選択された形状テンプレートに近付くように、部分画像の形状を補正することで、様々な変形のバリエーションを簡単に指定することができ、補正方法の指定を容易に行うことができる。これにより、検査対象物について実際に生じ得る形状の欠陥を簡単に合成することができ、形状の指定に不慣れな作業者であっても、現場で識別器を使用した場合の識別性能がより向上する学習用データを生成することができる。
【００８７】
補正部１２１は、判定部１５２による判定の信頼度に基づいて、複数の形状テンプレートのうちいずれかを選択し、部分画像の形状を補正してもよい。ここで、信頼度とは、合成画像に含まれる、補正された部分画像の領域（合成領域）の欠陥らしさの確度を示し、例えば、「欠陥有」とした判定結果を０から１の数値で表した指標であって、数値が１に近いほど、判定結果の確からしさが高いことを意味する。この場合、判定部１５２は、複数の形状テンプレートを用いて補正された部分画像を、部分画像を含む画像とは異なる画像にそれぞれ合成して生成された複数の合成画像に欠陥が含まれているか否かを判定し、それぞれの判定の信頼度を出力する。例えば、補正部１２１は、判定部１５２による判定の信頼度が比較的低くなる形状テンプレートを選択し、部分画像の形状を補正してもよい。このようにして、識別器の識別性能を向上させるのに適した形状テンプレートを用いて部分画像の形状の補正が行われ、識別器の識別性能及び学習効率を向上させることができる。
【００８８】
生成部１２２は、補正部１２１により補正された部分画像と、部分画像を含む画像とは異なる画像とを合成した合成画像を生成し、欠陥が含まれていることを示す情報を合成画像に関連付けて、識別器を学習させるための新たな学習用データを生成する。生成部１２２は、補正部１２１により複数の補正方法で補正された部分画像と、部分画像を含む画像とは異なる検査対象物の画像とを合成した複数の合成画像を生成し、欠陥が含まれていることを示す情報を複数の合成画像に関連付けて、複数の学習用データの候補を生成してよい。複数の補正方法で欠陥を含む部分画像を補正し、複数の合成画像を生成することで、欠陥を含む少数の画像から、様々な態様の欠陥を含む複数の合成画像を生成することができ、識別器の汎化性能をより向上させることのできる学習用データの候補を生成することができる。
【００８９】
また、生成部１２２は、補正部１２１により補正された部分画像を、部分画像を含む画像とは異なる複数の画像に合成して複数の合成画像を生成し、欠陥が含まれていることを示す情報を複数の合成画像に関連付けて、複数の学習用データの候補を生成してもよい。欠陥が含まれていない検査対象物の複数の画像に対して、欠陥を含む部分画像を合成し、複数の合成画像を生成することで、欠陥を含む少数の画像から、様々な背景において欠陥を含む複数の合成画像を生成することができ、識別器の汎化性能をより向上させることのできる学習用データの候補を生成することができる。
【００９０】
生成部１２２は、欠陥の周囲の背景模様が、部分画像を含む画像と合成画像とで類似するように、部分画像の合成箇所を選択し、合成画像を生成してもよい。より具体的には、例えば、部分画像を含む画像と合成画像とで、それぞれの画像の、撮像対象物のテクスチャに依存しない画素値の濃淡度の変動が所定の範囲に収まるように、部分画像の合成箇所を選択し、合成画像を生成してもよい。これにより、部分画像が合成先において自然に見えるように合成され、検査対象物について実際に生じ得る欠陥を含むようにデータオーグメンテーションを行うことができる。また、生成部１２２は、検査対象物のうち統計的に欠陥が生じやすい箇所に部分画像が合成さえるように、合成画像を生成してもよい。検査対象物のうち統計的に欠陥が生じやすい箇所は、検査対象物について過去に生じた欠陥の箇所の履歴に基づいて特定してよい。検査対象物のうち統計的に欠陥が生じやすい箇所に部分画像を合成することで、現場で実際に発生しやすい箇所に部分画像を合成することができ、検査対象物について実際に生じ得る欠陥を含むようにデータオーグメンテーションを行うことができる。
【００９１】
修正画像ＤＢ１２３は、生成部１２２により生成された新たな学習用データを格納し、記憶する。修正画像ＤＢ１２３は、計測画像及びユーザインタフェース１７０から受け付けた部分画像を一時的に記憶してもよいし、サンプル画像及びユーザインタフェース１８０から受け付けた部分画像を一時的に記憶してもよい。
【００９２】
検証部１２４は、合成画像に欠陥が含まれているか否かを判定部１５２により判定させ、合成画像の合成元となった画像に欠陥が含まれているか否かを判定部１５２により判定させた場合と類似の判定結果が得られるか検証する。例えば、合成画像の合成元となった計測画像について、判定部１５２によって欠陥が含まれていないと誤判定された場合、検証部１２４は、合成画像に欠陥が含まれているか否かを判定部１５２により判定させ、判定部１５２によって欠陥が含まれていないと誤判定されるか否かを検証する。これにより、識別器によって欠陥が含まれていないと誤判定される合成画像が生成されたか検証され、識別器によって識別しづらい欠陥を含んだ画像を増やすことができ、識別器の識別性能をより向上させることのできる学習用データが生成される。
【００９３】
画像修正部１２０は、生成部１２２により生成した複数の学習用データの候補それぞれを、異なる識別器の学習に適用して、入力された画像に欠陥が含まれているか否かを識別する複数の識別器（ａ、ｂ、ｃ、Ａ、Ｂ、・・・）を第１学習部１３０又は第２学習部１４０によって学習させてよい。画像修正部１２０は、例えば、補正部１２１によりＮ通りの方法で補正された部分画像と、欠陥が含まれていない検査対象物のＭ枚の画像と、のＮ×Ｍの組合せについて生成部１２２によって合成画像を生成して複数の学習用データの候補を生成し、Ｎ×Ｍの学習用データを用いて、複数の識別器（ａ、ｂ、ｃ、Ａ、Ｂ、・・・）を第１学習部１３０又は第２学習部１４０によって学習させてよい。このとき、Ｎ×Ｍの学習用データをそれぞれ独立に用いて、複数の識別器（ａ、ｂ、ｃ、Ａ、Ｂ、・・・）を第１学習部１３０又は第２学習部１４０によって学習させてよい。これにより、いずれの補正方法及び生成方法が複数の識別器（ａ、ｂ、ｃ、Ａ、Ｂ、・・・）の識別性能を向上させるのに最適であるかを試行することができる。
【００９４】
選択部１２５は、第１学習部１３０又は第２学習部１４０により学習された、複数の学習済みの識別器の識別性能に基づいて、複数の学習用データの候補から１又は複数の学習用データを選択する。選択部１２５は、生成された複数の学習用データの候補を用いて複数の識別器を学習させたときの識別性能に基づいて１又は複数の学習用データを選択することで、識別器の学習に用いた場合に識別器の識別性能をより良く向上させる学習用データを選択することができ、識別器の識別性能及び学習効率を向上させることができる。
【００９５】
［ハードウェア構成］
次に、図４を用いて、本実施形態に係るデータ生成装置１００のハードウェア構成の一例を説明する。本実施形態に係るデータ生成装置１００は、演算装置１０１、出力装置１９１、入力装置１９２及び撮像装置１５３を備えるものであってよい。ここで、出力装置１９１及び入力装置１９２は、ユーザインタフェース１７０及びユーザインタフェース１８０を構成する。
【００９６】
演算装置１０１は、補助記憶部１０２、１０３、プロセッサ１０４、主記憶部１０５及び外部インタフェース（以下、「外部Ｉ／Ｆ」と称す。）を含むものであってよい。
【００９７】
演算装置１０１は、ＣＰＵ（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）、タブレットＰＣ等で構成されてもよい。
【０１０１】
§３  動作例
図５は、本実施形態に係るデータ生成装置１００により実行される第１処理の内容を示すフローチャートである。第１処理は、ユーザインタフェース１７０によって判定部１５２による判定結果が正しくないと入力された場合に、生成部１２２によって新たな学習用データを生成する処理である。データ生成装置１００は、はじめに検査対象物の画像を取得する（Ｓ１０）。ここで、画像は、予め画像ＤＢ１１２に記憶されたサンプル画像であってもよいし、撮像装置１５３によって新たに撮像された計測画像であってもよい。
【０１０２】
データ生成装置１００の判定部１５２は、学習用データを用いて学習された識別器によって、取得された画像に欠陥が含まれているか否かを判定する（Ｓ１１）。第２作業者は、ユーザインタフェース１７０によって判定対象となった画像及び判定結果を確認し、ユーザインタフェース１７０は、判定部１５２による判定結果が正しいか否かに関する入力を受け付ける（Ｓ１２）。
【０１０３】
判定部１５２により画像に欠陥が含まれていないと判定され、ユーザインタフェース１７０により判定部１５２による判定結果が正しくないと入力された場合（Ｓ１３：ＮＯ）、すなわち識別器によって欠陥が見逃された場合、ユーザインタフェース１７０は、画像のうち欠陥を含む部分画像の指定を受け付ける（Ｓ１４）。なお、判定部１５２により欠陥の有無を正しく判定できた場合（Ｓ１３：ＹＥＳ）、第１処理は終了する。
【０１０４】
データ生成装置１００の補正部１２１は、指定された部分画像の補正を行う（Ｓ１５）。補正処理の詳細については、次図を用いて詳細に説明する。また、データ生成装置１００の生成部１２２は、補正部１２１により補正された部分画像と、部分画像を含む画像とは異なる画像とを合成した合成画像を生成する（Ｓ１６）。合成処理の詳細については、図７を用いて詳細に説明する。
【０１０５】
データ生成装置１００の検証部１２４は、生成された合成画像に欠陥が含まれているか否かを判定部１５２により判定させる（Ｓ１７）。判定させた結果、部分画像を含む画像を判定部１５２により判定させた場合と類似して、合成した部分画像に含まれる欠陥について、欠陥が含まれていないという判定結果が得られるか検証する（Ｓ１８）。なお、検証部１２４は、合成画像のうち部分画像が合成された領域について、判定部１２５による判定結果の検証を行えばよく、合成画像のうち部分画像が合成された領域以外の領域に関する判定部１２５による判定結果の検証は必ずしも行わなくてもよい。合成元となった検査対象物の画像（以下、合成元画像という。）と類似の判定結果が得られない場合（Ｓ１８：ＮＯ）、データ生成装置１００は、部分画像の補正処理（Ｓ１５）及び合成処理（Ｓ１６）を異なる方法で再度行い、生成された合成画像に欠陥が含まれているか否かを判定部１５２により判定させ（Ｓ１７）、合成元画像と類似の判定結果が得られるか検証する。合成元画像と類似の判定結果が得られた場合（Ｓ１８：ＹＥＳ）、生成部１２２は、欠陥が含まれていることを示す情報を合成画像に関連付けて、識別器を学習させるための新たな学習用データを生成し、修正画像ＤＢ１２３に格納する（Ｓ１９）。以上により第１処理が終了する。
【０１０６】
図６は、本実施形態に係るデータ生成装置１００により実行される補正処理（Ｓ１５）の内容を示すフローチャートである。データ生成装置１００は、はじめに、ユーザインタフェース１７０によって補正方法の選択を受け付ける（Ｓ１５１）。補正方法の選択は、補正に用いる欠陥の特徴量の選択、部分画像の形状の補正の有無の選択及び部分画像の明るさの補正の有無の選択等の少なくともいずれかを含んでよい。以下では、部分画像の形状の補正を行い、部分画像の明るさの補正を選択に応じて行う場合について説明する。
【０１０７】
部分画像の形状の補正においてデータ生成装置１００によって形状テンプレートを自動選択しない場合（Ｓ１５２：ＮＯ）、ユーザインタフェース１７０は、形状テンプレートの選択を受け付ける（Ｓ１５３）。一方、データ生成装置１００によって形状テンプレートを自動選択する場合（Ｓ１５２：ＹＥＳ）、判定部１５２によって複数の形状テンプレートを用いて生成された合成画像に欠陥が含まれているか否かを判定した履歴を参照し（Ｓ１５４）、判定部１５２による判定の信頼度に基づいて、複数の形状テンプレートのうちいずれかを選択する（Ｓ１５５）。例えば、判定部１５２による判定の信頼度が比較的低くなる合成画像を生成することのできる形状テンプレートを選択することとしてよい。そのような選択により、識別器による識別が難しい合成画像を生成することができ、識別器の識別性能をより向上させることのできる合成画像を生成することができる。
【０１０８】
補正部１２１は、部分画像の形状が、選択された形状テンプレートに近付くように、部分画像の形状を補正する（Ｓ１５６）。その後、部分画像の明るさの補正を行う場合（Ｓ１５７：ＹＥＳ）、補正部１２１は、部分画像の明るさが変化するように、部分画像を補正する（Ｓ１５８）。ここで、明るさの変化率や変化の態様は、ユーザインタフェース１７０によって指定されてもよいし、補正部１２１によって自動的に調整されてもよい。補正部１２１によって明るさの補正方法を自動で調整する場合、形状の補正の場合と同様に、複数の方法で補正された部分画像を欠陥が含まれていない検査対象物の画像にそれぞれ合成して複数の合成画像を生成し、生成された複数の合成画像に欠陥が含まれているか否かを判定部１５２によって判定させて、判定部による判定の信頼度に基づいて、複数の補正方法のうちいずれかを選択することとしてもよい。以上により、補正処理（Ｓ１５）が終了する。なお、補正に用いる欠陥の特徴量の選択、部分画像の形状の補正の有無の選択及び部分画像の明るさの補正の有無の選択等のそれぞれの補正方法は、単独で、または、複数組み合わせて用いることができる。
【０１０９】
図７は、本実施形態に係るデータ生成装置１００により実行される合成処理（Ｓ１６）の内容を示すフローチャートである。データ生成装置１００は、はじめに、ユーザインタフェース１７０によって合成先とする背景画像（以下、合成先画像という。）の選択を受け付ける（Ｓ１６１）。合成先画像は、合成元である検査対象物の画像（合成元画像）に写された検査対象物と同じ検査対象物を撮像したものであってもよいし、合成元画像に写された検査対象物と異なる検査対象物を撮像したものであってもよい。さらに、ユーザインタフェース１７０は、合成画像の生成方法の選択を受け付ける（Ｓ１６２）。生成方法の選択は、合成先画像にマスクを設定するか否かの選択、欠陥が生じやすい箇所への合成を優先するか否かの選択及び部分画像の合成箇所の選択等の少なくともいずれかを含んでよい。
【０１１０】
ユーザインタフェース１７０によりマスクの設定が選択された場合（Ｓ１６３：ＹＥＳ）、データ生成装置１００は、合成先画像にマスクを設定し、部分画像を合成する箇所を制限する（Ｓ１６４）。マスクを設定する場合、マスクの形状をユーザインタフェース１７０によって受け付けることとしてもよい。
【０１１１】
その後、データ生成装置１００は、欠陥が生じやすい箇所への部分画像の合成を優先するか否かを判定する（Ｓ１６５）。欠陥が生じやすい箇所への合成を優先する場合（Ｓ１６５：ＹＥＳ）、生成部１２２は、検査対象物について検出された欠陥の箇所の履歴に基づき、検査対象物のうち統計的に欠陥が生じやすい箇所を特定する（Ｓ１６６）。そして、生成部１２２は、検査対象物のうち統計的に欠陥が生じやすい箇所に部分画像を合成し、合成画像を生成する（Ｓ１６７）。
【０１１２】
一方、欠陥が生じやすい箇所への合成を優先しない場合（Ｓ１６５：ＮＯ）、欠陥の周囲の背景模様が合成元画像と合成先画像とで類似する箇所を特定する（Ｓ１６８）。例えば、合成元画像の欠陥の周囲にヘアライン加工が施されており、合成先画像においてもヘアライン加工がされている場合、合成元と合成先とでヘアラインの方向が一致するような合成箇所を特定してよい。また、合成元画像に含まれる欠陥が検査対象物のエッジや印字に重畳している場合、合成先画像においてもエッジや印字に重畳するように部分画像の合成箇所を特定してよい。生成部１２２は、特定された合成箇所に部分画像を合成し、合成画像を生成する（Ｓ１６９）。以上により、合成処理（Ｓ１６）が終了する。なお、合成先画像にマスクを設定するか否かの選択、欠陥が生じやすい箇所への合成を優先するか否かの選択及び部分画像の合成箇所の選択等のそれぞれの生成方法は、単独で、または、複数組み合わせて用いることができる。
【０１１３】
図８は、本実施形態に係るデータ生成装置１００により実行される補正処理及び合成処理の概要を示す図である。データ生成装置１００は、合成元画像Ｐ１を取得し、ユーザインタフェース１７０からの指定に基づいて部分画像Ｐ２を抽出する。本例の場合、合成元画像Ｐ１は、ヘアライン加工され、表面に薄い傷が付いた検査対象物の画像である。部分画像Ｐ２は、傷の部分を切り出した画像である。
【０１１４】
補正部１２１は、部分画像Ｐ２を複数の補正方法で補正してよい。本例では、部分画像Ｐ２は、第１補正によって第１補正画像Ｐ３に補正され、第２補正によって第２補正画像Ｐ４に補正される。第１補正と第２補正は、次図を用いて説明するように、異なる形状テンプレートを用いて行われる補正である。
【０１１５】
生成部１２２は、第１補正画像Ｐ３を、表面が梨地加工された検査対象物の画像である第１合成先画像Ｐ１０と合成して、第１合成画像Ｐ１１を生成する。また、生成部１２２は、第２補正画像Ｐ４を、表面が粗く研磨された検査対象物の画像である第２合成先画像Ｐ２０と合成して、第２合成画像Ｐ２１を生成する。
【０１１６】
このように、本実施形態に係るデータ生成装置１００によれば、欠陥を含む一つの合成元画像Ｐ１から、第１合成画像Ｐ１１や第２合成画像Ｐ２１といった複数の合成画像を生成することができる。そして、複数の合成画像は、それぞれ実際に生じ得る欠陥を含むように生成される。データ生成装置１００は、部分画像を複数の補正方法で補正し、複数の合成先画像に合成することで、実際に生じ得る欠陥を含む多様な合成画像を生成することができる。
【０１１７】
図９は、本実施形態に係るデータ生成装置１００により実行される補正処理の概要を示す図である。同図では、一つの合成元画像Ｐ１の形状を、複数の形状テンプレートにそれぞれ近付けるように補正して、複数の合成画像を生成する例を示している。
【０１１８】
本例では、合成元画像Ｐ１の形状を、第１形状テンプレートに近付けるように補正して第１補正画像Ｐ３を生成する場合と、合成元画像Ｐ１の形状を、第２形状テンプレートに近付けるように補正して第２補正画像Ｐ４を生成する場合と、合成元画像Ｐ１の形状を、第３形状テンプレートに近付けるように補正して第３補正画像Ｐ５を生成する場合と、合成元画像Ｐ１の形状を、第４形状テンプレートに近付けるように補正して第４補正画像Ｐ６を生成する場合と、を示している。同図に示すように、第１形状テンプレートに基づく補正は、部分画像の形状に対して非線形変換を施すような補正であり、第１形状テンプレートに基づく補正は、部分画像の形状の太さを変化させ、掠れを加えるような補正であり、第３形状テンプレートに基づく補正は、部分画像の形状を複製して並べるような補正であり、第４形状テンプレートに基づく補正は、部分画像の形状に対して線形変換を施すような補正である。
【０１１９】
図１０は、本実施形態に係るデータ生成装置１００により実行されるマスク処理の概要を示す図である。マスク処理は、合成先画像のうち部分画像の合成箇所を制限する処理であり、マスクで隠された領域には部分画像の合成を行わないようにする処理である。
【０１２０】
本例のマスク前の画像Ｐ３０は、欠陥Ｄを含み、画像の右側に検査対象物のエッジが写されている。画像の右側の黒色の領域は、検査対象物が存在しない領域である。データ生成装置１００は、ユーザインタフェース１７０によってマスクＭの設定を受け付けて、第３合成先画像Ｐ３１を生成する。第３合成先画像Ｐ３１のうち黒色のマスクＭで隠された領域は、部分画像の合成箇所から除外される領域である。黒色のマスクＭで隠された領域は、欠陥Ｄと、検査対象物が存在しない領域を覆っている。このようにマスクＭを設定することで、欠陥Ｄに重ねて部分画像が合成されたり、検査対象物が存在しない領域に部分画像が合成されたりすることが防止され、より現実的な態様で欠陥を含んだ合成画像を生成することができる。
【０１２１】
図１１は、本実施形態に係るデータ生成装置１００により実行される第２処理の内容を示すフローチャートである。第２処理は、ユーザインタフェース１７０によって判定部１５２による判定結果が正しくないと入力されるか否かに関わらず、生成部１２２によって新たな学習用データを生成する処理である。データ生成装置１００は、はじめに検査対象物の画像を取得する（Ｓ２０）。ここで、画像は、予め画像ＤＢ１１２に記憶されたサンプル画像であってもよいし、撮像装置１５３によって新たに撮像された計測画像であってもよい。
【０１２２】
次に、ユーザインタフェース１７０は、画像のうち欠陥を含む部分画像の指定を受け付ける（Ｓ２１）。その後、データ生成装置１００の補正部１２１は、指定された部分画像の補正を行う（Ｓ２２）。補正処理の詳細は、図６に示す内容と同様であってよい。
【０１２３】
データ生成装置１００の生成部１２２は、補正部１２１により補正された部分画像と、部分画像を含む画像とは異なる画像とを合成した合成画像を生成する（Ｓ２３）。合成処理の詳細は、図７に示す内容と同様であってよい。
【０１２４】
データ生成装置１００の検証部１２４は、生成された合成画像に欠陥が含まれているか否かを判定部１５２により判定させる（Ｓ２４）。判定させた結果、部分画像を含む画像を判定部１５２により判定させた場合と類似して、合成した部分画像に含まれる欠陥について、欠陥が含まれてないという判定結果が得られるか検証する（Ｓ２５）。なお、検証部１２４は、合成画像のうち部分画像が合成された領域について、判定部１２５による判定結果の検証を行えばよく、合成画像のうち部分画像が合成された領域以外の領域に関する判定部１２５による判定結果の検証は必ずしも行わなくてもよい。合成元である検査対象物の画像（合成元画像）と類似の判定結果が得られない場合（Ｓ２５：ＮＯ）、データ生成装置１００は、部分画像の補正処理（Ｓ２２）及び合成処理（Ｓ２３）を異なる方法で再度行い、生成された合成画像に欠陥が含まれているか否かを判定部１５２により判定させ（Ｓ２４）、合成元画像と類似の判定結果が得られるか検証する。元画像と同様の判定結果が得られた場合（Ｓ２５：ＹＥＳ）、生成部１２２は、欠陥が含まれていることを示す情報を合成画像に関連付けて、識別器を学習させるための新たな学習用データを生成し、修正画像ＤＢ１２３に格納する（Ｓ２６）。以上により第２処理が終了する。
【０１２５】
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
【０１２６】
［付記１］
検査対象物に含まれる検出対象部位の有無を識別する識別器（ａ、ｂ、ｃ、Ａ、Ｂ）を学習させるための学習用データを生成するデータ生成装置（１００）であって、
検査対象物の画像を取得する取得部（１５３）と、
前記画像の一部であって、検出対象部位を含む部分画像の指定を受け付ける入力部（１７０、１８０）と、
前記部分画像を、前記検出対象部位の特徴量に基づいて補正する補正部（１２１）と、
前記補正部（１２１）により補正された前記部分画像と、前記部分画像を含む前記画像とは異なる画像とを合成した合成画像を生成し、検出対象部位が含まれていることを示す情報を前記合成画像に関連付けて、前記識別器（ａ、ｂ、ｃ、Ａ、Ｂ）を学習させるための新たな学習用データを生成する生成部（１２２）と、
を備えるデータ生成装置（１００）。
【０１２７】
［付記２］
前記入力部（１７０、１８０）は、前記補正部（１２１）による補正方法及び前記生成部（１２２）による前記合成画像の生成方法のうち少なくともいずれかの指定を受け付ける、
付記１に記載のデータ生成装置（１００）。
【０１２８】
［付記３］
学習用データを用いて学習された前記識別器（ａ、ｂ、ｃ、Ａ、Ｂ）によって、前記取得部（１５３）で取得された画像に検出対象部位が含まれているか否かを判定する判定部（１５２）をさらに備え、
前記入力部（１７０、１８０）は、前記判定部（１５２）による判定結果が正しいか否かに関する入力を受け付け、
前記補正部（１２１）は、前記判定部（１５２）により前記画像に検出対象部位が含まれていないと判定され、前記入力部（１７０、１８０）により前記判定部（１５２）による判定結果が正しくないと入力された場合に、前記部分画像を補正する、
付記１又は２に記載のデータ生成装置（１００）。
【０１２９】
［付記４］
前記識別器（ａ、ｂ、ｃ、Ａ、Ｂ）は、学習用データを用いた学習によって、検出対象部位に対応する画像の特徴量を学習しており、
前記補正部（１２１）は、前記識別器（ａ、ｂ、ｃ、Ａ、Ｂ）が学習した特徴量とは異なる特徴量を有するように、前記部分画像を補正する、
付記３に記載のデータ生成装置（１００）。
【０１３０】
［付記５］
前記合成画像に検出対象部位が含まれているか否かを前記判定部（１５２）により判定させ、前記部分画像を含む前記画像に検出対象部位が含まれているか否かを前記判定部（１５２）により判定させた場合と類似の判定結果が得られるか検証する検証部（１２４）をさらに備え、
前記生成部（１２２）は、前記検証部（１２４）が類似の判定結果を得た場合に、前記合成画像を新たな学習データとして登録する、
付記３又は４に記載のデータ生成装置（１００）。
【０１３１】
［付記６］
前記生成部（１２２）は、前記補正部（１２１）により複数の補正方法で補正された前記部分画像と、前記部分画像を含む前記画像とは異なる画像とを合成した複数の合成画像を生成し、検出対象部位が含まれていることを示す情報を前記複数の合成画像に関連付けて、複数の学習用データを生成する、
付記１から５のいずれか一項に記載のデータ生成装置。
【０１３２】
［付記７］
前記生成部（１２２）は、前記補正部（１２１）により補正された前記部分画像を、前記部分画像を含む前記画像とは異なる複数の画像に合成して複数の合成画像を生成し、検出対象部位が含まれていることを示す情報を前記複数の合成画像に関連付けて、複数の学習用データを生成する、
付記１から６のいずれか一項に記載のデータ生成装置（１００）。
【０１３３】
［付記８］
前記複数の学習用データそれぞれを、異なる識別器（ａ、ｂ、ｃ、Ａ、Ｂ）の学習に適用して、入力された画像に基づいて前記検査対象物に検出対象部位が含まれているか否かを識別する複数の識別器（ａ、ｂ、ｃ、Ａ、Ｂ）を学習させる学習部（１３０、１４０）と、
前記学習部（１３０、１４０）により学習された、複数の学習済みの識別器（ａ、ｂ、ｃ、Ａ、Ｂ）の識別性能に基づいて、前記複数の学習用データから１又は複数の学習用データを選択する選択部（１２５）と、をさらに備える、
付記６又は７に記載のデータ生成装置（１００）。
【０１３４】
［付記９］
前記生成部（１２２）は、前記検出対象部位の周囲の背景模様が、前記部分画像を含む前記画像と前記合成画像とで類似するように、前記部分画像の合成箇所を選択し、前記合成画像を生成する、
付記１から８のいずれか一項に記載のデータ生成装置（１００）。
【０１３５】
［付記１０］
前記補正部（１２１）は、前記部分画像の明るさを補正する、
付記１から９のいずれか一項に記載のデータ生成装置（１００）。
【０１３６】
［付記１１］
前記補正部（１２１）は、前記部分画像の形状を補正する、
付記３から１０のいずれか一項に記載のデータ生成装置（１００）。
【０１３７】
［付記１２］
前記補正部（１２１）は、前記部分画像の形状が、複数の形状テンプレートのうちいずれかに近付くように、前記部分画像の形状を補正する、
付記１１に記載のデータ生成装置。
【０１３８】
［付記１３］
前記生成部（１２２）は、前記複数の形状テンプレートを用いて補正された前記部分画像を、前記部分画像を含む前記画像とは異なる画像にそれぞれ合成して複数の合成画像を生成し、
前記判定部（１５２）は、前記複数の合成画像に検出対象部位が含まれているか否かを判定し、
前記補正部（１２１）は、前記判定部（１５２）による判定の信頼度に基づいて、前記複数の形状テンプレートのうちいずれかを選択し、前記部分画像の形状を補正する、
付記１２に記載のデータ生成装置。
【０１３９】
［付記１４］
前記生成部（１２２）は、前記検査対象物のうち統計的に検出対象部位が生じやすい箇所の画像に前記部分画像が合成されるように、前記合成画像を生成する、
付記１から１３のいずれか一項に記載のデータ生成装置（１００）。
【０１４０】
［付記１５］
前記検出対象部位は、前記検査対象物に含まれる欠陥の部位であり、
前記特徴量は、前記欠陥の形状、前記画像の明るさ、前記欠陥に沿った前記画像の明るさの変化、及び前記欠陥と前記欠陥の周囲とのコントラストのうち少なくともいずれかを含む、
付記１から１４のいずれか一項に記載のデータ生成装置（１００）。
【０１４１】
［付記１６］
検査対象物に含まれる検出対象部位の有無を識別する識別器（ａ、ｂ、ｃ、Ａ、Ｂ）を学習させるための学習用データを生成するデータ生成方法であって、
検査対象物の画像を取得することと、
前記画像の一部であって、検出対象部位を含む部分画像の指定を受け付けることと、
前記部分画像を、前記検出対象部位の特徴量に基づいて補正することと、
補正された前記部分画像と、前記部分画像を含む前記画像とは異なる画像とを合成した合成画像を生成し、検出対象部位が含まれていることを示す情報を前記合成画像に関連付けて、前記識別器（ａ、ｂ、ｃ、Ａ、Ｂ）を学習させるための新たな学習用データを生成することと、
を含むデータ生成方法。
【０１４２】
［付記１７］
検査対象物に含まれる検出対象部位の有無を識別する識別器（ａ、ｂ、ｃ、Ａ、Ｂ）を学習させるための学習用データを生成するデータ生成装置（１００）に備えられた演算装置を、
検査対象物の画像を取得する取得部（１５３）、
前記画像の一部であって、検出対象部位を含む部分画像をの指定を受け付ける入力部（１７０、１８０）、
前記部分画像を、前記検出対象部位の特徴量に基づいて補正する補正部（１２１）、及び
前記補正部（１２１）により補正された前記部分画像と、前記部分画像を含む前記画像とは異なる画像とを合成した合成画像を生成し、検出対象部位が含まれていることを示す情報を前記合成画像に関連付けて、識別器（ａ、ｂ、ｃ、Ａ、Ｂ）を学習させるための新たな学習用データを生成する生成部（１２２）、
として動作させるデータ生成プログラム。
【符号の説明】
【０１４３】
１００…データ生成装置、１０１…演算装置、１０２…補助記憶部、１０２ａ…データ生成プログラム、１０２ｂ…計測画像、１０２ｃ…学習用データ、１０３…補助記憶部、１０４…プロセッサ、１０５…主記憶部、１０６…外部Ｉ／Ｆ、１１０…画像収集部、１１１…属性付与部、１１２…画像ＤＢ、１１３…画像補正部、１２０…画像修正部、１２１…補正部、１２２…生成部、１２３…修正画像ＤＢ、１２４…検証部、１２５…選択部、１３０…第１学習部、１３１…第１学習処理部、１４０…第２学習部、１４１…第２学習処理部、１５０…計測部、１５１…学習結果ＤＢ、１５２…判定部、１５３…撮像装置、１６０…計測結果管理部、１６１…計測結果ＤＢ、１７０…ユーザインタフェース、１８０…ユーザインタフェース、１９１…出力装置、１９２…入力装置、Ｄ…欠陥、Ｍ…マスク、Ｐ１…合成元画像、Ｐ２…部分画像、Ｐ３…第１補正画像、Ｐ４…第２補正画像、Ｐ５…第３補正画像、Ｐ６…第４補正画像、Ｐ１０…第１合成先画像、Ｐ１１…第１合成画像、Ｐ２０…第２合成先画像、Ｐ２１…第２合成画像、Ｐ３０…マスク前の画像、Ｐ３１…第３合成先画像
【図１】
2019109563.tif 000003
【図２】
2019109563.tif 000004
【図３】
2019109563.tif 000005
【図４】
2019109563.tif 000006
【図５】
2019109563.tif 000007
【図６】
2019109563.tif 000008
【図７】
2019109563.tif 000009
【図８】
2019109563.tif 000010
【図９】
2019109563.tif 000011
【図１０】
2019109563.tif 000012
【図１１】
2019109563.tif 000013