(58)【調査した分野】(Int.Cl.,DB名)
検査対象物の画像と前記検査対象物に含まれる検出対象部位に関する情報とを含む学習用データを用いて学習された識別器によって、前記検査対象物の複数の画像に基づいて前記検査対象物に検出対象部位が含まれているか否かを判定する判定部と、
2以上の異なる撮像条件で前記検査対象物を撮像した前記複数の画像を取得する取得部と、
前記判定部によって前記複数の画像のうちいずれかに基づいて前記検査対象物に検出対象部位が含まれていると判定された場合に、前記検出対象部位に関する情報を前記複数の画像に含まれる他の画像に関連付けて、新たな学習用データを生成する生成部と、
を備えるデータ生成装置。
前記複数の画像の対応関係に基づいて、前記複数の画像のうち一枚の画像における前記検出対象部位の位置を、前記複数の画像に含まれる他の画像における前記検出対象部位の位置に変換する変換部をさらに備え、
前記生成部は、前記判定部によって前記一枚の画像に基づいて前記検査対象物に検出対象部位が含まれていると判定された場合に、前記変換部により変換された前記検出対象部位の位置に関する情報を前記複数の画像に含まれる他の画像に関連付けて、前記新たな学習用データを生成する、
請求項3に記載のデータ生成装置。
前記生成部は、前記検査対象物の3次元モデルに基づいて、前記複数の画像において前記検出対象部位が隠れず撮像できるか否かを判定し、前記検出対象部位が隠れず撮像できると判定された場合に、前記変換部により変換された前記検出対象部位の位置に関する情報を前記複数の画像に含まれる他の画像に関連付けて、前記新たな学習用データを生成する、
請求項5又は6に記載のデータ生成装置。
前記判定部によって前記複数の画像のうちいずれか一枚の画像に基づいて前記検査対象物に検出対象部位が含まれていると判定された場合に、前記一枚の画像と前記複数の画像の前記撮像条件の差が閾値以下であるか否かを評価する評価部をさらに備え、
前記生成部は、前記複数の画像のうち、前記評価部により前記撮像条件の差が閾値以下であると評価された画像に前記検出対象部位に関する情報を関連付けて、前記新たな学習用データを生成する、
請求項1から7のいずれか一項に記載のデータ生成装置。
前記判定部により、前記複数の画像のうち2以上の画像に基づいて前記検査対象物に検出対象部位が含まれていると判定された場合に、前記2以上の画像についての前記判定部による判定結果の信頼度に応じて、前記2以上の画像からいずれか一枚を選択し、選択した一枚の画像から得られる前記検出対象部位に関する情報を前記複数の画像に含まれる他の画像に関連付けて、前記新たな学習用データを生成する、
請求項1から8のいずれか一項に記載のデータ生成装置。
前記判定部により、前記複数の画像のうち2以上の画像に基づいて前記検査対象物に検出対象部位が含まれていると判定された場合に、前記2以上の画像について前記判定部により前記検出対象部位が含まれると判定された領域の面積に応じて、前記2以上の画像からいずれか一枚を選択し、選択した一枚の画像から得られる前記検出対象部位に関する情報を前記複数の画像に含まれる他の画像に関連付けて、前記新たな学習用データを生成する、
請求項1から8のいずれか一項に記載のデータ生成装置。
検査対象物の画像と前記検査対象物画像に含まれる検出対象部位に関する情報とを含む学習用データを用いて学習された識別器によって、前記検査対象物の複数の画像に基づいて前記検査対象物に検出対象部位が含まれているか否かを判定することと、
2以上の異なる撮像条件で前記検査対象物を撮像した前記複数の画像を取得することと、
前記判定することによって前記複数の画像のうちいずれかに基づいて前記検査対象物に検出対象部位が含まれていると判定された場合に、前記検出対象部位に関する情報を前記複数の画像に含まれる他の画像に関連付けて、新たな学習用データを生成することと、
を含むデータ生成方法。
【発明の概要】
【発明が解決しようとする課題】
【0005】
学習用データを用いて生成された識別器によって検査対象物に含まれる欠陥等の検出対象部位の識別を行う場合、検査対象物の画像を撮像して、画像に基づいて検査対象物に検出対象部位が含まれているか否かを識別器によって識別することがある。検査対象物の画像は、様々な撮像条件で撮像されることがあり、撮像条件に応じて検出対象部位の識別し易さが変化することがある。そのため、同じ検査対象物を撮像した画像であっても、撮像条件が異なると、ある画像については識別器によって正しく検出対象部位を識別できるが、他の画像については識別器によって検出対象部位を識別できず、検出対象部位を見逃してしまう誤判定が生じることがある。
【0006】
そこで、本発明は、撮像条件が異なっても検出対象部位を見逃す誤判定が生じづらくなるように識別器を学習させることのできる学習用データを効率的に生成するデータ生成装置、データ生成方法及びデータ生成プログラムを提供する。
【課題を解決するための手段】
【0007】
本開示の一態様に係るデータ生成装置は、検査対象物の画像と検査対象物に含まれる検出対象部位に関する情報とを含む学習用データを用いて学習された識別器によって、検査対象物の複数の画像に基づいて検査対象物に検出対象部位が含まれているか否かを判定する判定部と、2以上の異なる撮像条件で検査対象物を撮像した複数の画像を取得する取得部と、判定部によって複数の画像のうちいずれかに基づいて検査対象物に検出対象部位が含まれていると判定された場合に、検出対象部位に関する情報を複数の画像に含まれる他の画像に関連付けて、新たな学習用データを生成する生成部と、を備える。ここで、撮像条件は、検査対象物をどのような方向から、どのような距離で撮像したかを特定する条件であったり、照明器具によりどのような明るさで検査対象物を照らしたかを特定する条件であったりしてよい。また、学習用データは、識別器に入力される画像データと、少なくとも当該画像データに関する正しい判定結果を示し、識別器の出力と比較可能なデータと、を含む。また、検出対象部位は、検査対象物に含まれる任意の部位であってよく、例えば、検査対象物に含まれる欠陥の部位であってよい。
【0008】
この態様によれば、判定部によって、ある撮像条件で検査対象物を撮像した画像に基づいて検査対象物に検出対象部位が含まれていると判定された場合に、当該画像のみならず、他の撮像条件で検査対象物を撮像した画像に対しても検出対象部位に関する情報が関連付けられ、新たな学習用データとして追加される。そのため、様々な撮像条件で検査対象物を撮像した画像に対して検出対象部位に関する情報を関連付けて複数の学習用データを生成することができ、撮像条件が異なっても検出対象部位を見逃す誤判定が生じづらくなるように識別器を学習させることのできる学習用データを効率的に生成することができる。
【0009】
上記態様において、判定部は、複数の画像に基づいて検査対象物に検出対象部位が含まれていると判定する場合に、検出対象部位の種類を判定し、生成部は、判定部によって複数の画像のうちいずれかに基づいて検査対象物に検出対象部位が含まれていると判定され、検出対象部位の種類が判定された場合に、検出対象部位の種類に関する情報を複数の画像に含まれる他の画像に関連付けて、新たな学習用データを生成してもよい。ここで、検出対象部位の種類に関する情報は、例えば検出対象部位が欠陥の場合、検査対象物に含まれる欠陥が、キズ、色等のムラ、汚れ、欠け、バリ、異物、印字のかすれ、印字等の位置ずれ等のいずれであるかを特定する情報であってよい。
【0010】
この態様によれば、判定部によって、ある撮像条件で検査対象物を撮像した画像に基づいて検査対象物に含まれている検出対象部位の種類が判定された場合に、当該画像のみならず、他の撮像条件で検査対象物を撮像した画像に対しても検出対象部位の種類に関する情報が関連付けられ、新たな学習用データとして追加される。そのため、様々な撮像条件で検査対象物を撮像した画像に対して検出対象部位の種類に関する情報を関連付けて複数の学習用データを生成することができ、撮像条件が異なっても検出対象部位の種類を誤判定しづらくなるように識別器を学習させることのできる学習用データを効率的に生成することができる。
【0011】
上記態様において、判定部は、複数の画像に基づいて検査対象物に検出対象部位が含まれていると判定する場合に、検出対象部位の位置を判定し、生成部は、判定部によって複数の画像のうちいずれかに基づいて検査対象物に検出対象部位が含まれていると判定され、検出対象部位の位置が判定された場合に、検出対象部位の位置に関する情報を複数の画像に含まれる他の画像に関連付けて、新たな学習用データを生成してもよい。ここで、検出対象部位の位置に関する情報は、画像上での検出対象部位に相当する領域を示す枠形状であってよい。
【0012】
この態様によれば、判定部によって、ある撮像条件で検査対象物を撮像した画像に基づいて検査対象物に含まれている検出対象部位の位置が判定された場合に、当該画像のみならず、他の撮像条件で検査対象物を撮像した画像に対しても検出対象部位の位置に関する情報が関連付けられ、新たな学習用データとして追加される。そのため、様々な撮像条件で検査対象物を撮像した画像に対して検出対象部位の位置に関する情報を関連付けて複数の学習用データを生成することができ、撮像条件が異なっても検出対象部位の位置を誤判定しづらくなるように識別器を学習させることのできる学習用データを効率的に生成することができる。
【0013】
上記態様において、撮像条件は、検査対象物を照らす照明条件を含み、生成部は、判定部によって複数の画像のうちいずれかに基づいて検査対象物に検出対象部位が含まれていると判定された場合に、複数の画像に含まれる他の画像の照明条件を、複数の画像に含まれる他の画像に関連付けて、新たな学習用データを生成してもよい。ここで、照明条件は、照明器具の種類や、全点灯や半分点灯等の照明器具の使用方法に関する条件であってよい。
【0014】
この態様によれば、判定部によって、ある照明条件で検査対象物を撮像した画像に基づいて検査対象物に検出対象部位が含まれていると判定された場合に、当該画像のみならず、他の照明条件で検査対象物を撮像した画像に対しても検出対象部位に関する情報が関連付けられ、新たな学習用データとして追加される。そのため、様々な照明条件で検査対象物を撮像した画像に対して検出対象部位に関する情報を関連付けて複数の学習用データを生成することができ、照明条件が異なっても検出対象部位を見逃す誤判定が生じづらくなるように識別器を学習させることのできる学習用データを効率的に生成することができる。
【0015】
上記態様において、撮像条件は、検査対象物と撮像装置との相対的な配置条件を含み、複数の画像の配置条件に基づいて、複数の画像のうち一枚の画像における検出対象部位の位置を、複数の画像それぞれにおける検出対象部位の位置に変換する変換部をさらに備え、生成部は、判定部によって一枚の画像に基づいて検査対象物に検出対象部位が含まれていると判定された場合に、変換部により変換された検出対象部位の位置に関する情報を複数の画像に含まれる他の画像に関連付けて、新たな学習用データを生成してもよい。ここで、配置条件は、検査対象物と撮像装置との相対的な方向及び距離を特定する条件であってよい。また、検出対象部位の位置の変換は、一枚の画像における検査対象物と撮像装置の相対的な位置関係を、他の画像における検査対象物と撮像装置の相対的な位置関係に変換する座標変換のパラメータを算出して、算出したパラメータに従って、一枚の画像における検出対象部位の位置を、複数の画像それぞれにおける検出対象部位の位置に変換することにより行ってよい。
【0016】
この態様によれば、判定部によって、ある方向から検査対象物を撮像した画像に基づいて検査対象物に含まれている検出対象部位の位置が判定された場合に、当該画像のみならず、他の方向から検査対象物を撮像した画像に対しても検出対象部位の位置に関する情報が関連付けられ、新たな学習用データとして追加される。そのため、様々な方向から検査対象物を撮像した画像に対して検出対象部位の位置に関する情報を関連付けて複数の学習用データを生成することができ、撮像する方向が異なっても検出対象部位の位置を誤判定しづらくなるように識別器を学習させることのできる学習用データを効率的に生成することができる。
【0017】
上記態様において、複数の画像の対応関係に基づいて、複数の画像のうち一枚の画像における検出対象部位の位置を、複数の画像に含まれる他の画像における検出対象部位の位置に変換する変換部をさらに備え、生成部は、判定部によって一枚の画像に基づいて検査対象物に検出対象部位が含まれていると判定された場合に、変換部により変換された検出対象部位の位置に関する情報を複数の画像に含まれる他の画像に関連付けて、新たな学習用データを生成してもよい。ここで、複数の画像の対応関係は、複数の画像についてエッジの検出を行ったり、特徴点の検出を行ったりして、エッジの対応や、特徴点の対応を探索することで特定されてよい。
【0018】
この態様によれば、撮像装置と検査対象物の相対的な配置条件が予め分からない場合であっても、判定部によって、ある方向から検査対象物を撮像した画像に基づいて検査対象物に含まれている検出対象部位の位置が判定された場合に、当該画像のみならず、他の方向から検査対象物を撮像した画像に対しても検出対象部位の位置に関する情報が関連付けられ、新たな学習用データとして追加される。そのため、様々な方向から検査対象物を撮像した画像に対して検出対象部位の位置に関する情報を関連付けて複数の学習用データを生成することができ、撮像する方向が異なっても検出対象部位の位置を誤判定しづらくなるように識別器を学習させることのできる学習用データを効率的に生成することができる。
【0019】
上記態様において、生成部は、検査対象物の3次元モデルに基づいて、複数の画像において検出対象部位が隠れず撮像できるか否かを判定し、検出対象部位が隠れず撮像できると判定された場合に、変換部により変換された検出対象部位の位置に関する情報を複数の画像に含まれる他の画像に関連付けて、新たな学習用データを生成してもよい。ここで、3次元モデルは、例えば3次元CADデータであってよい。また、検出対象部位が隠れず撮像できるか否かは、3次元モデルに基づいて、所定の撮像方向及び撮像距離において、検出対象部位が隠れず撮像されるか否かによって判定されてよい。
【0020】
この態様によれば、判定部によって、ある方向から検査対象物を撮像した画像に基づいて検査対象物に含まれている検出対象部位の位置が判定された場合に、検査対象物の検出対象部位が撮像できる方向から撮像された画像に対しても検出対象部位の位置に関する情報が関連付けられ、新たな学習用データとして追加される。そのため、検出対象部位が隠れて撮像できない場合を除いて、様々な方向から検査対象物を撮像した画像に対して検出対象部位の位置に関する情報を関連付けて複数の学習用データを生成することができ、撮像する方向が異なっても検出対象部位の位置を誤判定しづらくなるように識別器を学習させることのできる学習用データを効率的に生成することができる。
【0021】
上記態様において、判定部によって複数の画像のうちいずれか一枚の画像に基づいて検査対象物に検出対象部位が含まれていると判定された場合に、一枚の画像と複数の画像の撮像条件の差が閾値以下であるか否かを評価する評価部をさらに備え、生成部は、複数の画像のうち、評価部により撮像条件の差が閾値以下であると評価された画像に検出対象部位に関する情報を関連付けて、新たな学習用データを生成してもよい。ここで、撮影条件の差は、配置条件の座標変換に関する変換パラメータの大きさによって測定されたり、照明の明るさの差で測定されたりしてよい。
【0022】
この態様によれば、判定部によって、ある撮像条件で検査対象物を撮像した画像に基づいて検査対象物に検出対象部位が含まれていると判定された場合に、撮像条件の差が閾値以下である検査対象物の他の画像に対しても検出対象部位に関する情報が関連付けられ、新たな学習用データとして追加される。そのため、撮像条件の差が閾値より大きい検査対象物の画像を除いて、検査対象物を撮像した画像に対して検出対象部位に関する情報を関連付けて複数の学習用データを生成することができ、安定的に識別器を学習させることのできる学習用データを効率的に生成することができる。
【0023】
上記態様において、判定部により、複数の画像のうち2以上の画像に基づいて検査対象物に検出対象部位が含まれていると判定された場合に、2以上の画像についての判定部による判定結果の信頼度に応じて、2以上の画像からいずれか一枚を選択し、選択した一枚の画像から得られる検出対象部位に関する情報を複数の画像に含まれる他の画像に関連付けて、新たな学習用データを生成してもよい。ここで、判定結果の信頼度は、識別器による出力の確かさを示す数値であってよい。
【0024】
この態様によれば、判定部によって、複数の撮像条件で検査対象物を撮像した2以上の画像に基づいて検査対象物に検出対象部位が含まれていると判定された場合に、判定結果の信頼度に応じて基準とする画像が選択され、当該画像のみならず、他の撮像条件で検査対象物を撮像した画像に対しても検出対象部位に関する情報が関連付けられ、新たな学習用データとして追加される。そのため、様々な撮像条件で検査対象物を撮像した画像に対して検出対象部位に関する情報を関連付けて複数の学習用データを生成することができ、撮像条件が異なっても検出対象部位を見逃す誤判定が生じづらくなるように識別器を学習させることのできる学習用データを効率的に生成することができる。
【0025】
上記態様において、判定部により、複数の画像のうち2以上の画像に基づいて検査対象物に検出対象部位が含まれていると判定された場合に、2以上の画像について判定部により検出対象部位が含まれると判定された領域の面積に応じて、2以上の画像からいずれか一枚を選択し、選択した一枚の画像から得られる検出対象部位に関する情報を複数の画像に含まれる他の画像に関連付けて、新たな学習用データを生成してもよい。なお、領域の面積は、領域に含まれる画素の数によって測定されてよい。
【0026】
この態様によれば、判定部によって、複数の撮像条件で検査対象物を撮像した2以上の画像に基づいて検査対象物に検出対象部位が含まれていると判定された場合に、検出対象部位が含まれると判定された領域の面積に応じて基準とする画像が選択され、当該画像のみならず、他の撮像条件で検査対象物を撮像した画像に対しても検出対象部位に関する情報が関連付けられ、新たな学習用データとして追加される。そのため、様々な撮像条件で検査対象物を撮像した画像に対して検出対象部位に関する情報を関連付けて複数の学習用データを生成することができ、撮像条件が異なっても検出対象部位を見逃す誤判定が生じづらくなるように識別器を学習させることのできる学習用データを効率的に生成することができる。
【0027】
上記態様において、検出対象部位は、検査対象物に含まれる欠陥の部位であり、生成部により複数の画像に含まれる他の画像に関連付けられた欠陥に関する情報について、修正操作を受け付ける入力部をさらに備え、生成部は、修正操作に基づいて、複数の画像に含まれる他の画像に関連付ける欠陥に関する情報を修正して、新たな学習用データを生成してもよい。
【0028】
この態様によれば、様々な撮像条件で検査対象物を撮像した画像に対して関連付けられる欠陥に関する情報を修正して、学習用データを生成することができ、撮像条件が異なっても欠陥を見逃す誤判定が生じづらくなるように識別器を学習させることのできる学習用データを効率的に修正することができる。
【0029】
本開示の他の態様に係るデータ生成方法は、検査対象物の画像と検査対象物画像に含まれる検出対象部位に関する情報とを含む学習用データを用いて学習された識別器によって、検査対象物の複数の画像に基づいて検査対象物に検出対象部位が含まれているか否かを判定することと、2以上の異なる撮像条件で検査対象物を撮像した複数の画像を取得することと、判定することによって複数の画像のうちいずれかに基づいて検査対象物に検出対象部位が含まれていると判定された場合に、検出対象部位に関する情報を複数の画像に含まれる他の画像に関連付けて、新たな学習用データを生成することと、を含む。
【0030】
この態様によれば、判定部によって、ある撮像条件で検査対象物を撮像した画像に基づいて検査対象物に検出対象部位が含まれていると判定された場合に、当該画像のみならず、他の撮像条件で検査対象物を撮像した画像に対しても検出対象部位に関する情報が関連付けられ、新たな学習用データとして追加される。そのため、様々な撮像条件で検査対象物を撮像した画像に対して検出対象部位に関する情報を関連付けて複数の学習用データを生成することができ、撮像条件が異なっても検出対象部位を見逃す誤判定が生じづらくなるように識別器を学習させることのできる学習用データを効率的に生成することができる。
【0031】
本開示の他の態様に係るデータ生成プログラムは、データ生成装置に備えられた演算装置を、検査対象物の画像と検査対象物画像に含まれる検出対象部位に関する情報とを含む学習用データを用いて学習された識別器によって、検査対象物の複数の画像に基づいて検査対象物に検出対象部位が含まれているか否かを判定する判定部、2以上の異なる撮像条件で検査対象物を撮像した複数の画像を取得する取得部、及び判定部によって複数の画像のうちいずれかに基づいて検査対象物に検出対象部位が含まれていると判定された場合に、検出対象部位に関する情報を複数の画像に含まれる他の画像に関連付けて、新たな学習用データを生成する生成部、として動作させる。
【0032】
この態様によれば、判定部によって、ある撮像条件で検査対象物を撮像した画像に基づいて検査対象物に検出対象部位が含まれていると判定された場合に、当該画像のみならず、他の撮像条件で検査対象物を撮像した画像に対しても検出対象部位に関する情報が関連付けられ、新たな学習用データとして追加される。そのため、様々な撮像条件で検査対象物を撮像した画像に対して検出対象部位に関する情報を関連付けて複数の学習用データを生成することができ、撮像条件が異なっても検出対象部位を見逃す誤判定が生じづらくなるように識別器を学習させることのできる学習用データを効率的に生成することができる。
【発明の効果】
【0033】
データ生成装置、撮像条件が異なっても検出対象部位を見逃す誤判定が生じづらくなるように識別器を学習させることのできる学習用データを効率的に生成するデータ生成装置、データ生成方法及びデータ生成プログラムを提供する。
【発明を実施するための形態】
【0035】
以下、本発明の一側面に係る実施の形態(以下、「本実施形態」と表記する。)を、図面に基づいて説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【0036】
§1 適用例
まず、
図1を用いて、本発明が適用される場面の一例について説明する。
図1は、本実施形態に係るデータ生成装置100の適用場面の一例を模式的に例示した機能ブロック図である。本実施形態に係るデータ生成装置100は、撮像装置153によって様々な撮像条件で撮像された検査対象物の画像に基づいて、検査対象物に検出対象部位が含まれているか否かを、第1学習部130や第2学習部140によって学習された識別器(a、b、c、A、B、…)によって判定し、ある撮像条件で撮像された画像に基づいて検査対象物に検出対象部位が含まれていると判定された場合に、他の撮像条件で撮像された検査対象物の画像に検出対象部位に関する情報を転記して、複数の新たな学習用データを生成する装置である。
【0037】
図1に示すように、データ生成装置100は、2以上の異なる撮像条件で検査対象物を撮像した複数の画像を取得する撮像装置153と、学習用データを用いて学習された識別器(a、b、c、A、B、…)であって、画像データを入力とする識別器を有し、画像に基づいて、検査対象物に検出対象部位が含まれているか否かを判定し、検査対象物に含まれる検出対象部位の有無に関する情報を含む判定結果を出力する判定部152と、判定部152によって複数の画像のうちいずれかに基づいて検査対象物に検出対象部位が含まれていると判定された場合に、検出対象部位に関する情報を複数の画像に含まれる他の画像に関連付けて、新たな学習用データを生成する生成部121と、を備える。ここで、撮像装置153は、本発明の「取得部」の一例である。本明細書では、撮像装置153により新たに撮像される検査対象物の画像を「計測画像」と呼び、識別器(a、b、c、A、B、…)を学習するため予め収集される検査対象物の画像を「サンプル画像」と呼ぶ。なお、データ生成装置100は、必ずしも撮像装置153を備えていなくてもよく、別体で設けられた撮像装置から計測画像を取得するものであってもよい。本実施形態では、検出対象部位が、検査対象物に含まれる欠陥の部位である場合について説明する。しかしながら、検出対象部位は、検査対象物に含まれる欠陥の部位に限られず、検査対象物に含まれる任意の部位であってよい。
【0038】
判定部152は、例えばコンボリューショナルニューラルネットワーク(Convolutional Neural Network、以下、「CNN」と称す。)等のニューラルネットワークを用いた識別器によって、異なる撮像条件で検査対象物を撮像した複数の計測画像に基づいて、検査対象物に欠陥が含まれているか否かを判定し、検査対象物に含まれる欠陥の有無に関する情報を含む判定結果を出力する。判定部152は、検査対象物に欠陥が含まれると判定される場合、欠陥の種類に関する情報や、欠陥の位置に関する情報等の欠陥に関する情報を含む属性情報を出力してよい。判定部152によって複数の計測画像のうちいずれかに基づいて検査対象物に欠陥が含まれていると判定された場合、当該判定結果及び属性情報に含まれる欠陥に関する情報を複数の画像に含まれる他の画像に関連付けて、新たな学習用データを生成する。生成された新たな学習用データは、修正画像DB122に記憶され、第1学習部130や第2学習部140によって識別器(a、b、c、A、B、…)を学習するために用いられる。
【0039】
検査対象物は、異なる照明条件の下で撮像されたり、異なる方向や異なる距離から撮像されたりすることがある。照明条件、撮像方向、撮像距離等の撮像条件が異なると、同じ検査対象物を撮像した場合であっても、撮像条件が異なる画像毎に、検査対象物に欠陥が含まれているか否かを識別器によって識別させた場合の判定結果が一致しないことがあり、識別器による欠陥の識別が比較的容易な撮像条件と、欠陥の識別が比較的困難な撮像条件とが生じ得る。本実施形態に係るデータ生成装置10は、識別器による欠陥の識別が比較的容易な撮像条件で撮像された計測画像に基づいて得られた欠陥に関する情報を、識別器による欠陥の識別が比較的困難な撮像条件で撮像された計測画像に転記して、新たな学習用データを生成することができる。
【0040】
なお、判定部152は、撮像した複数の画像を個別に識別器に入力して、複数の画像それぞれについて判定結果を出力してもよく、複数の画像を識別器に入力して得られた結果(識別結果)を統合して判定結果を出力するようにしてもよい。また、欠陥に関する情報を関連付ける対象となる他の画像は、判定部152が検査対象物に欠陥が含まれない旨の判定をした画像であることが好ましい。これによれば、欠陥が含まれているにもかかわらず欠陥が含まれていない旨の誤判定がされた画像を、新たな学習用データとすることができ、撮像条件が異なっても欠陥を見逃す誤判定が生じづらくなるように識別器を学習させることのできる学習用データを効率的に生成することができる。なお、欠陥に関する情報を関連付ける対象となる他の画像は、ユーザインタフェース170、180を介してユーザが任意に選択してもよいし、各画像についての撮像条件の差、各画像についての欠陥の有無に関する判定結果の信頼度に応じて、自動的に選択されてもよい。各画像についての欠陥の有無に関する判定結果の信頼度に応じて画像を選択する場合には、生成部121は、欠陥が含まれる旨の出力の確かさを示す指標として判定部が出力する信頼度が所定値以上であり、かつ、最終的な判定結果として欠陥が含まれない旨が出力された画像を自動的に選択してよい。
【0041】
これにより、判定部152によって、ある撮像条件で検査対象物を撮像した画像に基づいて検査対象物に欠陥が含まれていると判定された場合に、当該画像のみならず、他の撮像条件で検査対象物を撮像した画像に対しても欠陥に関する情報が関連付けられ、新たな学習用データとして追加される。そのため、様々な撮像条件で検査対象物を撮像した画像に対して欠陥に関する情報を関連付けて複数の学習用データを生成することができ、撮像条件が異なっても欠陥を見逃す誤判定が生じづらくなるように識別器を学習させることのできる学習用データを効率的に生成することができる。また、画像の撮像条件のバリエーションを増やすことができるため、特定の撮像条件で撮像された画像のみを学習用データとして用いるよりも、識別器の学習処理において過学習が発生することを抑制することができる。さらに、様々な撮像条件で検査対象物を撮像した画像のそれぞれに対して、一括して欠陥に関する情報を関連付けてもよい。
【0042】
§2 構成例
[機能構成]
次に、
図1を用いて、本実施形態に係るデータ生成装置100の機能構成の一例を説明する。データ生成装置100は、学習用データを用いて、検査対象物の欠陥の有無と、検査対象物に欠陥が含まれる場合には、その欠陥の位置と、その欠陥の種類と、を含む属性情報(ラベル)を出力する識別器を生成する機能を備える。ここで、検査対象物に複数の欠陥が含まれる場合には、属性情報は、欠陥の有無と、複数の欠陥の位置と、それらの欠陥の種類と、を含んでよい。また、データ生成装置100は、検査対象物を計測した計測画像を取得し、生成された識別器を用いて、検査対象物の属性情報を出力する機能を備える。したがって、データ生成装置100は、検査対象物の計測画像を取得し、計測画像に基づいて検査対象物の欠陥の有無に関する情報を含む計測結果を出力する検査システムとして機能する。
【0043】
図1に示すように、データ生成装置100は、学習用データを生成及び格納する画像収集部110と、識別器により出力された属性情報の正誤に関する情報に基づいて、計測した画像(計測画像)の修正を行う画像修正部120と、画像収集部110及び画像修正部120の少なくともいずれかにより生成された学習用データを用い、検査対象物の欠陥の有無と、検査対象物に欠陥が含まれる場合には、その欠陥の位置と、その欠陥の種類と、を含む属性情報を出力する識別器を生成する、第1学習部130及び第2学習部140と、検査対象物を計測した計測画像を取得し、第1学習部130及び第2学習部140の少なくともいずれかにより生成された識別器を用いて、検査対象物の属性情報を出力する計測部150と、計測画像とその属性情報とを関連付けて、計測結果として記憶する計測結果管理部160と、を備える。ここで、計測結果は、計測画像と、識別器により出力された検査対象物の属性情報と、判定部152による判定結果とを含む。なお、学習用データとは、単一の学習用データのみならず、複数の学習用データを含むデータセットであってよい。
【0044】
ここで、欠陥とは、検査対象物が有する異常であって、例えば、キズ、色等のムラ、汚れ、欠け、バリ、異物、印字のかすれ、印字等の位置ずれ等を含む。
【0045】
また、属性情報とは、検査対象物に含まれる欠陥の有無に関する情報、検査対象物に欠陥が含まれる場合には、当該欠陥の位置に関する情報及び当該欠陥の種類に関する情報を少なくとも含むものである。なお、属性情報は、欠陥の有無、欠陥の位置に関する情報及び欠陥の種類に関する情報に限られず、例えば、識別器により出力される欠陥の有無、欠陥の位置に関する情報及び欠陥の種類に関する情報の信頼度に関する情報を含んでいてもよい。
【0046】
データ生成装置100は、ソフトウェアプログラム及び当該ソフトウェアプログラムの実行に用いられるデータを記憶する記憶部(例えば、
図4に示す補助記憶部102、103)と、ソフトウェアプログラムを呼び出し、実行する演算部(例えば、
図4に示すプロセッサ104)と、を有する1又は複数の情報処理装置により構成される。すなわち、画像収集部110、画像修正部120、第1学習部130、第2学習部140、計測部150及び計測結果管理部160の各機能ブロックのそれぞれは、補助記憶部102、103等の記憶部に記憶された所定のソフトウェアプログラムがプロセッサ104等のハードウェアプロセッサによって実行されることで実現される。すなわち、画像収集部110、画像修正部120、第1学習部130、第2学習部140、計測部150及び計測結果管理部160の各機能のそれぞれは、ソフトウェアプログラムがハードウェアプロセッサによって実行されることにより実現される所定の処理を示す。また、画像収集部110、画像修正部120、第1学習部130、第2学習部140、計測部150及び計測結果管理部160のそれぞれは、単独で、又は、複数が組み合わされて、情報処理装置として構成される。なお、データ生成装置100を、単一の情報処理装置により構成してもよい。本実施形態における情報処理装置のハードウェア構成については後述する。
【0047】
<画像収集部の構成>
画像収集部110は、学習用データを生成するためのサンプル画像を取得する。サンプル画像は、検査対象物を撮像した画像でもよく、また、公知の画像合成技術により生成されたCG画像であってもよい。画像収集部110が取得したサンプル画像は、属性付与部111にて、各画像に対して、又は、複数の画像に対して、属性情報の付与が行われる。すなわち、属性付与部111は、サンプル画像に対して属性情報を付与することで、サンプル画像を学習用データにする。
【0048】
本実施形態において、属性情報の付与(ラベル付け)は、任意のユーザインタフェース180を介して、第1作業者により行われる。例えば、サンプル画像に欠陥が含まれる場合には、第1作業者は、ユーザインタフェース180としての、表示装置(液晶表示装置等)及び入力装置(タッチパネル、キーボード、マウス等)とを用いて、所定の形状の枠により当該欠陥を囲うことで、欠陥の有無及び欠陥の位置を含む属性情報を付与することができる。また、ユーザインタフェース180を用いて、当該欠陥の種類を含む属性情報をサンプル画像に付与することもできる。なお、属性情報の付与の方法は、特に限定されない。例えば、画像と、その画像に付与すべき属性情報との関係性を学習済みの識別器を用いて、画像に対して属性情報を自動的に付与するようにしてもよいし、公知の統計的手法により、複数の画像をクラスタリングして、クラスタに対して属性情報の付与を行うこととしてもよい。
【0049】
属性付与部111において属性情報が付与された画像(学習用データ)は、画像データベース(以下、「画像DB」と称す。)112に格納され、記憶される。
【0050】
画像収集部110は、例えば、取得するサンプル画像の多少や、画像DB112に格納されている学習用データの多少に応じて、学習用データの拡張を行う画像補正部113を備えている。画像補正部113は、ユーザインタフェース180を介して行われる第1作業者の補正操作に基づいて、サンプル画像の拡張を行ってよい。なお、画像補正部113は、画像収集部110に必ずしも必須の要素ではない。また、学習用データの拡張とは、学習に用いるデータセットを増やすオーグメンテーション(Augmentation)のことをいう。
【0051】
学習用データのオーグメンテーションは、例えば、サンプル画像を平行移動させたり、回転させたり、色を変えたり、拡大させたり、縮小させたりすることで行ってよい。なお、画像補正部113は、画像収集部110に必須の構成要素ではなく、データ生成装置100を用いて実現する画像計測処理に必要な学習用データの必要量に応じて、適宜設けてよい。
【0052】
画像DB112は、属性付与部111及び画像補正部113から、学習用データを取得する。画像DB112は、学習用データを、付与された属性情報に基づいて分類した状態で記憶してよい。また、画像DB112は、画像収集部110が取得したサンプル画像にすでに属性情報が付与されている場合には、当該サンプル画像を、属性付与部111及び画像補正部113を介さずに取得して、記憶してよい。なお、画像DB112は、学習用データを、後述する識別器を生成するための学習処理に使用する学習処理用の学習用データと、生成された識別器が、所望の属性情報を出力するか否かを評価するための評価処理用のテスト用データと、に区別して記憶してもよい。もっとも、学習用データとテスト用データを区別せずに画像DB112に記憶しておき、学習処理を行う際に、画像DB112に記憶されたデータセットを任意の手法で学習用とテスト用等に分けることとしてもよい。
【0053】
<第1学習部の構成>
図2は、本実施形態に係るデータ生成装置の第1学習部130及び第2学習部140における処理の内容を示す概念図である。第1学習部130は、画像収集部110から、学習用データを取得する。なお、第1学習部130は、後述する画像修正部120から、学習用データを取得してもよい。第1学習部130は、取得した学習用データを用いた機械学習を実行し、識別器(a、b、c、・・・)を生成する第1学習処理部131を有する。識別器(a、b、c、・・・)は、画像データを入力とし、当該画像に含まれる欠陥の有無と、1又は複数の欠陥が含まれる場合にはその位置及びその種類と、を含む属性情報を出力するものである。識別器(a、b、c、・・・)には、画像データ以外のデータが入力されてもよい。例えば、識別器(a、b、c、・・・)には、検査対象物の画像を撮像した撮像条件が入力されたり、検査対象物の識別情報が入力されたりしてもよい。ここで、撮像条件は、検査対象物と撮像装置153との相対的な配置条件及び検査対象物を照らす照明条件を含んでよい。検査対象物と撮像装置153との相対的な配置条件は、検査対象物をどのような方向から、どのような距離で撮像したかを特定する条件であってよい。また、照明条件は、検査対象物を照らす照明器具をどのように用いたかを特定する条件であってよく、例えば照明器具の明るさを段階的に変えられる場合、どのような明るさで検査対象物を照らしたかを特定する条件であってよい。なお、撮像条件として、撮像装置153が備えるレンズ等の光学系や受光素子等に関する条件を含んでもよい。
【0054】
識別器(a、b、c、・・・)は、任意の機械学習モデルに対して学習処理と評価処理とを行うことにより生成される。機械学習モデルは、所定のモデル構造と、学習処理によって変動する処理パラメータと、を有し、学習用データから得られる経験に基づいてその処理パラメータが最適化されることで、識別精度が向上するモデルである。すなわち、機械学習モデルは、学習処理によって、最適な処理パラメータを学習するモデルである。機械学習モデルのアルゴリズムは、例えば、サポートベクターマシン、ロジスティック回帰、ニューラルネットワーク等を用いることができるが、その種類は特に限定されない。本実施形態では、ニューラルネットワークであって、特に階層が3層以上であるディープニューラルネットワーク(以下、「DNN」と称する。)のうち、画像認識に適したコンボリューショナルニューラルネットワーク(Convolutional Neural Network)を用いた例について説明する。なお、第1学習部130は、機械学習モデルを生成するためのモデル生成部(図示せず)を備えていてもよい。また、第1学習部130は、予め生成された機械学習モデルを、外部から取得してもよい。
【0055】
第1学習処理部131は、学習用データを用いて、画像のデータを入力すると、属性情報で表現される計測画像の属性に対応する出力値を出力するように、機械学習モデルを学習させる学習処理を行う。第1学習処理部131は、さらに、学習処理によって生成された識別器(a、b、c、・・・)に対し、テスト用データを用いて、識別器(a、b、c、・・・)の出力と、テスト用データに対して付与された属性情報とを比較する評価処理を行う。識別器(a、b、c、・・・)の出力と、テスト用データに付与された属性情報とが一致している場合には、識別器(a、b、c、・・・)の生成条件を満たしたと判断し、識別器(a、b、c、・・・)の生成処理を完了させる。
【0056】
第1学習部130は、生成した識別器(a、b、c、・・・)のモデル構造及び処理パラメータを含む情報を、学習結果データとして、後述する計測部150及び第2学習部140に出力する。
【0057】
<第2学習部の構成>
引き続き、
図2を用いて、第2学習部140における処理の内容を説明する。第2学習部140は、所定の生成処理によって生成された識別器に対する追加学習(再学習)を行う。なお、第2学習部140について、第1学習部130と共通する要素については、その記載を省略する。
【0058】
第2学習部140は、第1学習部130で生成された学習済みの識別器(a、b、c、・・・)の学習結果データを取得する。なお、第2学習部140は、所定の生成処理によって生成された識別器に関する学習結果データを、外部から取得してもよい。第2学習部140は、画像収集部110から、学習用データを取得する。なお、第2学習部140は、後述する画像修正部120から、学習用データを取得してもよい。
【0059】
第2学習部140は、学習用データを用いた機械学習による追加学習(再学習)を実行し、識別器(A、B、C、・・・)を生成する第2学習処理部141を有する。識別器(A、B、C、・・・)は、所定の学習処理により生成された識別器(a、b、c、・・・)に対して学習処理と評価処理とを行うことにより生成される。換言すれば、第2学習処理部141は、学習用データを用いて、識別器(a、b、c、・・・)のモデル構造及び処理パラメータを含む学習結果データに対する学習処理と評価処理とを実行することで、識別器(A、B、C、・・・)を生成する。識別器(A、B、C、・・・)は、画像データを入力とし、当該画像に含まれる欠陥の有無と、1又は複数の欠陥が含まれる場合には、その位置及びその種類と、を含む属性情報を出力するものである。識別器(A、B、C、・・・)は、画像データの他に撮像条件を入力として受け付けてもよい。
【0060】
第2学習処理部141は、学習用データを用いて、画像のデータを入力すると、属性情報で表現される計測画像の属性に対応する出力値を出力するように、識別器(a、b、c、・・・)の学習結果データによって表現される機械学習モデルを学習させる学習処理(追加学習の学習処理)を行う。ここで、第2学習処理部141が行う追加学習の学習処理は、後述する画像修正部120から取得した学習用データを用いて行われてよい。これにより、検査対象物を撮像した画像に基づいて新たに生成された学習用データを用いることができ、識別器の識別精度を向上させることができるからである。
【0061】
第2学習処理部141は、さらに、学習処理によって生成された識別器(A、B、C、・・・)に対し、テスト用データを用いて、識別器(A、B、C、・・・)の出力と、テスト用データに対して付与された属性情報とを比較する評価処理を行う。識別器(A、B、C、・・・)の出力と、テスト用データに付与された属性情報とが一致している場合には、識別器(A、B、C、・・・)の生成条件を満たしたと判断し、識別器(A、B、C、・・・)の生成処理を完了させる。ここで、第2学習処理部141が行う評価処理は、後述する画像修正部120から取得したテスト用データを用いて行われてよい。これにより、検査対象物を撮像した画像に基づいて新たに生成された学習用データを用いて評価を行うことができ、識別器の認識精度を向上させることができるからである。
【0062】
第2学習部140は、生成した識別器(A、B、C、・・・)のモデル構造及び処理パラメータを含む情報を、学習結果データとして、後述する計測部150に出力する。
【0063】
なお、第1学習部130と第2学習部140とを一体に構成し、第1学習処理部131が、追加学習の学習処理と評価処理とを実行するようにしてもよい。
【0064】
<計測部の構成>
図3は、本実施形態に係るデータ生成装置100の計測部150における処理の内容を示す概念図である。計測部150は、学習用データを用いた学習処理及び評価処理によって生成された識別器を用いて、撮像装置153により撮像された検査対象物の計測画像の属性情報を出力させ、判定部152により検査対象物に欠陥が含まれているか否かを判定して、欠陥の有無に関する情報(判定結果)を含む属性情報及び計測画像を含む計測結果を出力する。属性情報は、欠陥の有無に関する情報(判定結果)、1又は複数の欠陥が含まれる場合にはその欠陥の位置及び種類、を含む。また、計測結果は、撮像装置153による撮像条件を含んでもよい。
【0065】
計測部150は、第1学習部130及び第2学習部140から、識別器のモデル構造及び処理パラメータを含む情報を、学習結果データとして取得する。計測部150は、取得した学習結果データを格納する学習結果DB151を有する。また、計測部150は、検査対象物を撮像する撮像装置153を有する。撮像装置153は、例えば、工場の製造ラインを撮像するように設置され、製造ラインの一部を構成する。撮像装置153は、製造ラインを流れる検査対象物としての部品及び製品(以下、部品と製品とを合わせて「ワーク」と称することがある。)の画像を計測画像として撮像する。撮像装置153によるワークの撮像は、必ずしも一定の撮像条件の下で行われなくてもよく、計測画像は、2以上の異なる撮像条件で検査対象物を撮像した画像であってよい。
【0066】
計測部150は、学習結果DB151に格納された学習結果データに基づき構成される識別器を用いて、計測画像の属性情報を出力する判定部152を有する。判定部152は、計測画像に基づいて検査対象物に1又は複数の欠陥が含まれているか否かを判定し、欠陥が含まれている場合には、計測画像上での欠陥の位置に関する情報及び欠陥の種類に関する情報を含む属性情報を出力してよい。ここで、計測画像上での欠陥の位置に関する情報としては、計測画像上での欠陥に相当する領域を示す枠形状が挙げられる。当該枠形状は、欠陥の有無に関する情報と、その欠陥の位置の情報とを示す。
【0067】
計測部150は、計測画像と、判定部152が識別器を用いて出力する計測画像の判定結果を少なくとも含む、計測画像の属性情報と、を含む計測結果を、計測結果管理部160に出力する。なお、計測部150は、個々の検査対象物を識別するための識別情報を、計測結果とともに、計測結果管理部160に出力してもよい。このとき、検査対象物の識別情報は、計測画像から取得してもよく、所定のインタフェースを介して外部より取得してもよい。識別情報としては、例えば、製造番号や、製造番号を符号化した図形を用いることができる。よって、識別情報とは、検査対象物の個体を識別することができる情報であることが好ましい。なお、計測部150は、計測対象物の計測結果を、計測結果管理部160以外に出力してもよい。例えば、後述するユーザインタフェース170に対し、計測結果及び識別情報を出力するようにしてもよい。また、例えば、計測結果を仕分け装置(図示せず)に対して直接的または間接的に出力してもよい。仕分け装置は、取得した計測結果に基づいて、検査対象物の仕分けを行う。
【0068】
<計測結果管理部の構成>
計測結果管理部160は、計測結果に含まれる計測画像と、判定部152が識別器を用いて出力する計測画像の判定結果を少なくとも含む、計測画像の属性情報とを関連付けて記憶する計測結果DB161を有する。なお、計測結果管理部160は、検査対象物を識別するための識別情報を、計測結果とともに取得してもよいし、撮像装置153による検査対象物の撮像条件を、計測結果とともに取得してもよい。このとき、検査対象物の識別情報及び撮像条件は、計測部150から取得してもよく、所定のインタフェースを介して外部より取得してもよい。また、計測結果DB161は、属性情報に含まれる属性の種別に応じて、例えば、欠陥の種類の属性に関連付けて、計測画像を分類して記憶してもよい。
【0069】
計測結果管理部160は、計測結果を、ユーザインタフェース170に対して出力する。このとき、計測結果管理部160は、あわせて、検査対象物の識別情報及び撮像条件をユーザインタフェース170に対して出力してよい。また、計測結果管理部160は、計測結果を、後述する画像修正部120に対して出力する。このとき、計測結果管理部160は、あわせて検査対象物の識別情報及び撮像条件を、画像修正部120に対して出力してもよい。
【0070】
<ユーザインタフェース>
本実施形態において、ユーザインタフェース170は、第2作業者が、判定部152による判定結果や計測画像の属性情報を確認するために用いられたり、計測画像に関連付けられた欠陥に関する情報を修正する操作(修正操作)を実行するために用いられたりする。ユーザインタフェース170は、少なくとも計測画像及び計測部150による計測結果を表示するための表示部(液晶表示装置等)、及び、第2作業者による修正操作を行うための入力部(タッチパネル、キーボード、マウス等)を有する。ユーザインタフェース170の表示部には、複数の計測画像とともに、当該複数の計測画像それぞれに関連付けられた欠陥に関する情報が表示されてもよい。第2作業者は、表示部に表示された計測画像及び欠陥に関する情報に基づいて、関連付けられた欠陥に関する情報の正誤を判断し、入力部を用いてその正誤に関する情報を入力することができる。計測画像に関連付けられた欠陥に関する情報が正しくないと判断される場合、入力部によって、欠陥に関する正しい情報を入力することができる。
【0071】
ここで、計測画像に関連付けられた欠陥に関する情報は、判定部152による判定結果や属性情報の一部または全部に対応する情報であってよい。したがって、欠陥に関する情報は、欠陥の有無や検査対象物の良不良、欠陥が有りの場合には欠陥の位置に関する情報及び欠陥の種類に関する情報を含んでよい。また、第2作業者による修正操作は、欠陥の位置を規定する枠形状を修正する操作であったり、欠陥の種類を記載した文字情報を修正する操作であったりしてよい。このような修正操作に基づいて、生成部121は、複数の画像それぞれに関連付ける欠陥に関する情報を修正して、複数の新たな学習用データを生成する。これにより、様々な撮像条件で検査対象物を撮像した複数の画像それぞれに関連付けられた欠陥に関する情報を一括して修正して、複数の学習用データを生成することができ、撮像条件が異なっても欠陥を見逃す誤判定が生じづらくなるように識別器を学習させることのできる学習用データを効率的に修正することができる。
【0072】
なお、表示部に表示される情報は、検査対象物の識別情報、撮像装置153による撮像条件、計測画像上での欠陥の位置に関する情報及び欠陥の種類に関する情報を含んでもよい。
【0073】
<画像修正部の構成>
画像修正部120は、2以上の異なる撮像条件で検査対象物を撮像した複数の画像のうちいずれかに基づいて、判定部152により検査対象物に欠陥が含まれていると判定された場合に、欠陥に関する情報を複数の画像それぞれに関連付けて、複数の学習用データの生成を行う。画像修正部120は、生成部121、修正画像データベース(以下、「修正画像DB」と称す。)122、変換部123及び評価部124を有する。
【0074】
生成部121は、判定部152によって複数の画像のうちいずれかに基づいて検査対象物に欠陥が含まれていると判定された場合に、欠陥に関する情報を複数の画像それぞれに関連付けて、複数の新たな学習用データを生成する。例えば、第1撮像条件で検査対象物を撮像した第1計測画像に基づいて、判定部152によって検査対象物に欠陥が含まれていると判定され、欠陥の種類に関する情報及び欠陥の位置に関する情報が判定されて、第2撮像条件で同じ検査対象物を撮像した第2計測画像に基づいて、判定部152によって検査対象物に欠陥が含まれていないと判定された場合、生成部121は、第1計測画像について得られた欠陥の種類に関する情報及び欠陥の位置に関する情報を、第1計測画像に関連付けるとともに、第2計測画像にも関連付けて、2つの新しい学習用データを生成してよい。なお、生成部121は、判定部152によって複数の画像のうちいずれかに基づいて検査対象物に欠陥が含まれていると判定された場合に、欠陥に関する情報を、判定部152によって検査対象物に欠陥が含まれていないと判定された少なくとも1つの画像に関連付けて、少なくとも1つの新たな学習用データを生成してもよい。ここで、欠陥に関する情報とは、欠陥の種類に関する情報や欠陥の位置に関する情報であってよい。
【0075】
より具体的には、例えば、欠陥を含む検査対象物について、異なる撮像条件で10枚の計測画像を撮像し、判定部152による判定を行った場合に、検査対象物に欠陥が含まれていると判定された計測画像が3枚あり、判定部152により検査対象物に欠陥が含まれていないと判定されたが、作業者によって欠陥の痕跡が確認できる計測画像が3枚あり、判定部152により検査対象物に欠陥が含まれていないと判定され、白とび等で作業者によっても欠陥の痕跡が確認できない計測画像が4枚あったとする。ここで、判定部152により検査対象物に欠陥が含まれていると判定された3枚の計測画像を第1画像群と呼び、判定部152により検査対象物に欠陥が含まれていないと判定されたが、作業者によって欠陥の痕跡が確認できる3枚の計測画像を第2画像群と呼び、判定部152により検査対象物に欠陥が含まれていないと判定され、作業者によっても欠陥の痕跡が確認できない4枚の計測画像を第3画像群と呼ぶこととする。なお、第2画像群及び第3画像群は、ユーザインタフェース170、180からの入力に基づいて選択されてもよい。その場合、作業者は、判定部152により検査対象物に欠陥が含まれていないと判定された計測画像について、作業者によって欠陥の痕跡が確認できるか否かを示す入力を行うこととしてよい。また、第2画像群及び第3画像群は、データ生成装置100によって自動的に分類されてもよい。その場合、データ生成装置100は、判定部152により検査対象物に欠陥が含まれていないと判定された計測画像について、判定部152の判定の信頼度に基づいて、計測画像を第2画像群又は第3画像群に分類してよい。データ生成装置100は、例えば、判定部152により検査対象物に欠陥が含まれていないと判定された計測画像について、判定部152の判定の信頼度が閾値以上である場合に、計測画像を第2画像群に分類し、判定部152の判定の信頼度が閾値より小さい場合に、計測画像を第3画像群に分類することとしてもよい。
【0076】
異なる撮像条件で撮像された10枚の計測画像を第1画像群、第2画像群及び第3画像群に分類した場合、生成部121は、第1画像群の中から一枚の計測画像を選択し、選択した一枚の計測画像に関する判定結果(欠陥が含まれていることを示す情報)、欠陥の種類に関する情報及び欠陥の位置に関する情報等を含む属性情報を、第2画像群の3枚の計測画像に関連付けて、6つの新しい学習用データを生成してよい。また、生成部121は、第3画像群の4枚の計測画像に対しては、選択した一枚の計測画像に関する属性情報を関連付けず、第3画像群を学習用データに含めなくてよい。このように、欠陥の痕跡が確認できない第3画像群を学習用データに含めないことで、識別器の識別性能をかえって低下させると思われる画像を学習用データに含めないようにすることができ、撮像条件が異なっても欠陥を見逃す誤判定が生じづらくなるように識別器を学習させることのできる学習用データを効率的に生成することができる。
【0077】
生成部121は、判定部152によって複数の画像のうちいずれかに基づいて検査対象物に欠陥が含まれていると判定され、欠陥の種類が判定された場合に、欠陥の種類に関する情報を複数の画像それぞれに関連付けて、複数の新たな学習用データを生成してもよい。ここで、欠陥の種類に関する情報は、例えば、欠陥が、キズ、色等のムラ、汚れ、欠け、バリ、異物、印字のかすれ、印字等の位置ずれ等のいずれに該当するかを示す情報であってよい。これにより、判定部152によって、ある撮像条件で検査対象物を撮像した画像に基づいて検査対象物に含まれている欠陥の種類が判定された場合に、当該画像のみならず、他の撮像条件で検査対象物を撮像した画像に対しても欠陥の種類に関する情報が関連付けられ、新たな学習用データとして追加される。そのため、様々な撮像条件で検査対象物を撮像した複数の画像に対して一括して欠陥の種類に関する情報を関連付けて複数の学習用データを生成することができ、撮像条件が異なっても欠陥の種類を誤判定しづらくなるように識別器を学習させることのできる学習用データを効率的に生成することができる。
【0078】
生成部121は、判定部152によって複数の画像のうちいずれかに基づいて検査対象物に欠陥が含まれていると判定され、欠陥の位置が判定された場合に、欠陥の位置に関する情報を複数の画像それぞれに関連付けて、複数の新たな学習用データを生成してもよい。ここで、欠陥の位置に関する情報は、画像上における欠陥を含む領域を示す情報であってよい。これにより、判定部152によって、ある撮像条件で検査対象物を撮像した画像に基づいて検査対象物に含まれている欠陥の位置が判定された場合に、当該画像のみならず、他の撮像条件で検査対象物を撮像した画像に対しても欠陥の位置に関する情報が関連付けられ、新たな学習用データとして追加される。そのため、様々な撮像条件で検査対象物を撮像した複数の画像に対して一括して欠陥の位置に関する情報を関連付けて複数の学習用データを生成することができ、撮像条件が異なっても欠陥の位置を誤判定しづらくなるように識別器を学習させることのできる学習用データを効率的に生成することができる。
【0079】
修正画像DB122は、生成部121により生成された複数の新たな学習用データを格納し、記憶する。修正画像DB122は、複数の新たな学習用データについて、複数の計測画像の撮像条件を併せて記憶してもよい。
【0080】
変換部123は、複数の画像の配置条件に基づいて、複数の画像のうち一枚の画像における欠陥の位置を、複数の画像それぞれにおける欠陥の位置に変換してよい。ここで、配置条件は、撮像条件に含まれ、検査対象物と撮像装置153との相対的な配置条件である。配置条件は、検査対象物をどのような方向から、どのような距離で撮像したかを特定する条件であってよく、変換部123は、複数の画像毎に記録された配置条件に基づいて、ある画像における検査対象物と撮像装置153の相対的な位置関係を、他の画像における検査対象物と撮像装置153の相対的な位置関係に変換する座標変換のパラメータを算出して、算出したパラメータに従って、複数の画像のうち一枚の画像における欠陥の位置を、複数の画像それぞれにおける欠陥の位置に変換してよい。座標変換のパラメータは、射影変換のパラメータであってよい。
【0081】
この場合、生成部121は、判定部152によって一枚の画像に基づいて検査対象物に欠陥が含まれていると判定された場合に、変換部123により変換された欠陥の位置に関する情報を複数の画像それぞれに関連付けて、複数の新たな学習用データを生成してよい。例えば、第1配置条件で検査対象物を撮像した第1計測画像に基づいて、判定部152によって検査対象物に欠陥が含まれていると判定され、欠陥の種類に関する情報及び欠陥の位置に関する情報が判定されて、第2配置条件で同じ検査対象物を撮像した第2計測画像に基づいて、判定部152によって検査対象物に欠陥が含まれていないと判定された場合、変換部123は、第1配置条件を第2配置条件に変換する変換パラメータを算出し、第1計測画像について得られた欠陥の位置に関する情報を、第2計測画像における欠陥の位置に関する情報に変換する。そして、生成部121は、第1計測画像について得られた欠陥の種類に関する情報及び欠陥の位置に関する情報を第1計測画像に関連付け、第1計測画像について得られた欠陥の種類に関する情報及び変換部123により変換された欠陥の位置に関する情報を、第2計測画像に関連付けて、2つの新たな学習用データを生成する。これにより、判定部152によって、ある方向から検査対象物を撮像した画像に基づいて検査対象物に含まれている欠陥の位置が判定された場合に、当該画像のみならず、他の方向から検査対象物を撮像した画像に対しても欠陥の位置に関する情報が関連付けられ、新たな学習用データとして追加される。そのため、様々な方向から検査対象物を撮像した複数の画像に対して一括して欠陥の位置に関する情報を関連付けて複数の学習用データを生成することができ、撮像する方向が異なっても欠陥の位置を誤判定しづらくなるように識別器を学習させることのできる学習用データを効率的に生成することができる。
【0082】
変換部123は、複数の画像の対応関係に基づいて、複数の画像のうち一枚の画像における欠陥の位置を、複数の画像それぞれにおける欠陥の位置に変換してもよい。ここで、複数の画像の対応関係は、複数の画像についてエッジの検出を行ったり、特徴点の検出を行ったりして、エッジの対応や、特徴点の対応を探索することで特定されてよい。変換部123は、特定した対応関係に基づいて、ある画像における検査対象物と撮像装置153の相対的な位置関係を、他の画像における検査対象物と撮像装置153の相対的な位置関係に変換する座標変換のパラメータを算出して、算出したパラメータに従って、複数の画像のうち一枚の画像における欠陥の位置を、複数の画像それぞれにおける欠陥の位置に変換してよい。座標変換のパラメータは、射影変換のパラメータであってよい。
【0083】
この場合、生成部121は、判定部152によって一枚の画像に基づいて検査対象物に欠陥が含まれていると判定された場合に、変換部123により変換された欠陥の位置に関する情報を複数の画像それぞれに関連付けて、複数の新たな学習用データを生成してよい。例えば、第1配置条件で検査対象物を撮像した第1計測画像に基づいて、判定部152によって検査対象物に欠陥が含まれていると判定され、欠陥の種類に関する情報及び欠陥の位置に関する情報が判定されて、第2配置条件で同じ検査対象物を撮像した第2計測画像に基づいて、判定部152によって検査対象物に欠陥が含まれていないと判定された場合であって、配置条件が不明である場合、変換部123は、第1計測画像及び第2計測画像に含まれるエッジや特徴点を検出し、第1計測画像と第2計測画像との対応関係を特定する。そして、変換部123は、第1配置条件を第2配置条件に変換する変換パラメータを算出し、第1計測画像について得られた欠陥の位置に関する情報を、第2計測画像における欠陥の位置に関する情報に変換する。生成部121は、第1計測画像について得られた欠陥の種類に関する情報及び欠陥の位置に関する情報を第1計測画像に関連付け、第1計測画像について得られた欠陥の種類に関する情報及び変換部123により変換された欠陥の位置に関する情報を、第2計測画像に関連付けて、2つの新たな学習用データを生成する。これにより、撮像装置153と検査対象物の相対的な配置条件が予め分からない場合であっても、判定部152によって、ある方向から検査対象物を撮像した画像に基づいて検査対象物に含まれている欠陥の位置が判定された場合に、当該画像のみならず、他の方向から検査対象物を撮像した画像に対しても欠陥の位置に関する情報が関連付けられ、新たな学習用データとして追加される。そのため、様々な方向から検査対象物を撮像した複数の画像に対して一括して欠陥の位置に関する情報を関連付けて複数の学習用データを生成することができ、撮像する方向が異なっても欠陥の位置を誤判定しづらくなるように識別器を学習させることのできる学習用データを効率的に生成することができる。
【0084】
生成部121は、判定部152によって複数の画像のうちいずれかに基づいて検査対象物に欠陥が含まれていると判定された場合に、複数の画像の照明条件を、複数の画像に関連付けて、複数の新たな学習用データを生成してもよい。ここで、照明条件は、撮像条件に含まれ、検査対象物を照らす照明条件である。照明条件は、検査対象物を照らす照明器具をどのように用いたかを特定する条件であってよい。例えば、第1照明条件で検査対象物を撮像した第1計測画像に基づいて、判定部152によって検査対象物に欠陥が含まれていると判定され、欠陥の種類に関する情報及び欠陥の位置に関する情報が判定されて、第2照明条件で同じ検査対象物を撮像した第2計測画像に基づいて、判定部152によって検査対象物に欠陥が含まれていないと判定された場合、生成部121は、第1計測画像について得られた欠陥の種類に関する情報及び欠陥の位置に関する情報を、第1計測画像に関連付けるとともに、第2計測画像にも関連付けて、2つの新たな学習用データを生成する。これにより、判定部152によって、ある照明条件で検査対象物を撮像した画像に基づいて検査対象物に欠陥が含まれていると判定された場合に、当該画像のみならず、他の照明条件で検査対象物を撮像した画像に対しても欠陥に関する情報が関連付けられ、新たな学習用データとして追加される。そのため、様々な照明条件で検査対象物を撮像した複数の画像に対して一括して欠陥に関する情報を関連付けて複数の学習用データを生成することができ、照明条件が異なっても欠陥を見逃す誤判定が生じづらくなるように識別器を学習させることのできる学習用データを効率的に生成することができる。
【0085】
評価部124は、判定部152によって複数の画像のうちいずれか一枚の画像に基づいて検査対象物に欠陥が含まれていると判定された場合に、当該一枚の画像と複数の画像の撮像条件の差が閾値以下であるか否かを評価する。ここで、撮影条件の差は、検査対象物と撮像装置153との相対的な配置条件の差と、照明条件の差と、によって測定されてよい。検査対象物と撮像装置153との相対的な配置条件の差は、配置条件の変換パラメータの大きさによって測定されてよく、照明条件の差は、照明の明るさの差や、照明の色の差で測定されてよい。この場合、生成部121は、複数の画像のうち、評価部124により撮像条件の差が閾値以下であると評価された画像に欠陥に関する情報を関連付けて、新たな学習用データを生成してよい。これにより、判定部152によって、ある撮像条件で検査対象物を撮像した画像に基づいて検査対象物に欠陥が含まれていると判定された場合に、撮像条件の差が閾値以下である検査対象物の他の画像に対しても欠陥に関する情報が関連付けられ、新たな学習用データとして追加される。そのため、撮像条件の差が閾値より大きい検査対象物の画像を除いて、検査対象物を撮像した複数の画像に対して一括して欠陥に関する情報を関連付けて複数の学習用データを生成することができ、安定的に識別器を学習させることのできる学習用データを効率的に生成することができる。
【0086】
[ハードウェア構成]
次に、
図4を用いて、本実施形態に係るデータ生成装置100のハードウェア構成の一例を説明する。本実施形態に係るデータ生成装置100は、演算装置101、出力装置191、入力装置192及び撮像装置153を備える情報処理装置であってよい。ここで、出力装置191及び入力装置192は、ユーザインタフェース170及びユーザインタフェース180を構成する。
【0087】
演算装置101は、補助記憶部102、103、プロセッサ104、主記憶部105及び外部インタフェース(以下、「外部I/F」と称す。)を含むものであってよい。
【0088】
演算装置101は、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、情報処理に応じて各構成要素の制御を行う。プロセッサ104は、CPUを含んでよく、補助記憶部102、103及び主記憶部105は、RAM及びROMを含んでよい。補助記憶部102は、例えば、ハードディスクドライブ、ソリッドステートドライブ等であってもよく、プロセッサ104で実行されるデータ生成プログラム102a、撮像装置153により撮像された計測画像102b及び学習用データ102c等を記憶してよい。補助記憶部103及び主記憶部105は、補助記憶部102と同様に、例えば、ハードディスクドライブやソリッドステートドライブ等であってもよい。データ生成プログラム102aは、前述の、画像収集部110、画像修正部120、第1学習部130、第2学習部140、計測部150及び計測結果管理部160の機能を実現するための処理を行うためのプログラムであり、当該プログラムがプロセッサ104によって実行されることにより、各機能が実現される。なお、データ生成プログラム102aは、画像収集部110、画像修正部120、第1学習部130、第2学習部140、計測部150及び計測結果管理部160のうち一部の機能を実現するための処理を行うためのプログラムであってもよいし、これら以外の機能を実現するための処理を行うためのプログラムを含んでもよい。したがって、画像収集部110、画像修正部120、第1学習部130、第2学習部140、計測部150及び計測結果管理部160、のいずれか1つ、または、複数の処理を実現する複数の演算装置101が構成されてよい。また、画像収集部110、画像修正部120、第1学習部130、第2学習部140、計測部150及び計測結果管理部160の処理の全てを実現する1つの演算装置101が構成されてよい。
【0089】
外部I/F106は、USB(Universal Serial Bus)ポート等であり、出力装置191、入力装置192及び撮像装置153等の外部装置と接続するためのインタフェースである。なお、データ生成装置は、有線LAN(Local Area Network)モジュールや無線LANモジュール等、ネットワークを介した有線又は無線通信を行うためのインタフェースを備えてもよい。
【0090】
記憶媒体は、コンピュータ等の装置によって、記憶されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。記憶媒体は、例えば、CD(Compact Disk)やDVD(Digital Versatile Disk)等であり、データ生成プログラム102aを記憶したものであってよい。記憶媒体に記憶されたデータ生成プログラム102aは、補助記憶部103にコピーされ、補助記憶部102や主記憶部105にコピーされてよい。
図4では、記憶媒体の一例として、CD、DVD等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。また、データ生成装置100は、データ生成プログラム102a等のデータを、有線又は無線通信によってネットワークを介して取得してもよい。
【0091】
なお、データ生成装置100の具体的なハードウェア構成は、実施形態に応じて、適宜、構成要素を省略、置換及び追加されてもよい。例えば、演算装置101は、複数のプロセッサを含んでもよいし、GPU(Graphical Processing Unit)やFPGA(Field Programmable Gate Array)を含んでもよい。また、データ生成装置100は、複数台の情報処理装置で構成されてもよい。データ生成装置100は、提供されるサービス専用に設計された情報処理装置の他、汎用のデスクトップPC(Personal Computer)、タブレットPC等で構成されてもよい。
【0092】
§3 動作例
図5は、本実施形態に係るデータ生成装置100により実行される第1処理の内容を示すフローチャートである。第1処理は、学習済みの識別器によって、異なる撮像条件で撮像された複数の計測画像に基づいて、検査対象物に欠陥が含まれているか否かを判定し、複数の画像のうちいずれかに基づいて検査対象物に欠陥が含まれていると判定された場合に、欠陥に関する情報を複数の画像それぞれに関連付けて、複数の新たな学習用データを生成する処理である。
【0093】
はじめに、撮像装置153によって、2以上の異なる撮像条件で撮像された検査対象物の複数の画像を取得する(S10)。そして、学習済みの識別器によって、複数の計測画像に基づいて、検査対象物に欠陥が含まれているか否かを判定する(S11)。判定結果について、少なくとも一枚について判定結果が正しいか否かを判定する(S12)。ここで、全ての画像について判定結果が誤りであった場合(S12:NO)、第1処理は終了する。なお、全ての画像について判定結果が誤りであった場合(S12:NO)であっても、ユーザインタフェース170によって判定結果の修正操作を受け付けて、修正された欠陥に関する情報に基づいて、以降の処理を行うこととしてもよい。
【0094】
少なくとも一枚の画像について判定結果が正しかった場合(S12:YES)、欠陥に関する情報を転記するための転記元とする基準画像の選択を受け付ける(S13)。なお、基準画像の選択は、二枚以上の画像について判定結果が正しかった場合に受け付けることとしてよく、一枚のみについて判定結果が正しかった場合には、当該一枚の画像を基準画像として、基準画像の選択の受け付けを省略してよい。
【0095】
画像修正部120は、計測部150より、複数の画像の照明条件を取得する(S14)。なお、照明条件が不明である場合、照明条件の取得は必ずしも行われなくてもよい。そして、画像修正部120は、複数の画像それぞれについて、欠陥の位置に関する情報を算出する(S15)。欠陥の位置に関する情報を算出する処理については、次図を用いて詳細に説明する。なお、検査対象物が平面形状であったり、例えば、検査対象物を撮像する視覚センサに対して検査対象物が位置決めされた状態で撮像できたりする場合等、検査対象物毎の配置条件が同一とみなせる場合であって、欠陥の位置に関する情報を他の画像に転記する際に、後述する欠陥の位置の変換パラメータを導出する処理が不要な場合には、複数の画像それぞれについて、欠陥の位置に関する情報を算出する処理(S15)を行わなくてもよい。
【0096】
画像修正部120は、基準画像の撮像条件と、他の画像の撮像条件とを比較して、撮像条件の差が閾値以下であるか否かを判定する(S16)。撮像条件の差が閾値以下でない画像の場合(S16:NO)、画像修正部120は、当該画像を学習用データから除外する(S17)。言い換えると、基準画像との撮像条件の差が閾値より大きい画像については、学習用データとして登録しない。
【0097】
一方、撮像条件の差が閾値以下である画像の場合(S16:NO)、画像修正部120は、基準画像に基づいて判定された欠陥の種類に関する情報及び欠陥の位置に関する情報を、当該画像に転記する(S18)。
【0098】
ユーザインタフェース170により、基準画像及び基準画像に基づいて判定された欠陥の種類に関する情報及び欠陥の位置に関する情報を表示するとともに、他の画像及び他の画像に転記された欠陥の種類に関する情報及び欠陥の位置に関する情報を表示して、転記された情報が正しいか否かに関する判断を受け付ける(S19)。転記された欠陥の種類に関する情報及び欠陥の位置に関する情報が正しくない場合(S19:NO)、ユーザインタフェース170により修正操作を受け付けて、転記された欠陥の種類に関する情報及び欠陥の位置に関する情報の修正を受け付ける(S20)。
【0099】
転記された情報が正しい場合(S19:YES)と、転記された情報の修正が完了した場合、登録を除外されていない複数の画像に、それぞれの照明条件、判定又は転記された欠陥の種類及び欠陥の位置に関する情報を関連付けて、新たな学習用データを生成し、修正画像DB122に格納する(S21)。なお、照明条件の関連付けは省略されてもよい。以上により第1処理が終了する。
【0100】
図6は、本実施形態に係るデータ生成装置100により実行される欠陥の位置に関する情報を算出する処理の内容を示すフローチャートである。同図では、
図5に示す欠陥の位置に関する情報を算出する処理(S15)の内容を示している。
【0101】
変換部123は、複数の画像それぞれについて、計測部150から配置条件が取得できるか否かを判定する(S151)。配置条件が取得できる場合(S151:YES)、配置条件に基づいて、基準画像における欠陥の位置を、他の画像における欠陥の位置に変換する座標変換の変換パラメータを算出する(S152)。一方、配置条件が取得できない場合(S151:NO)、基準画像及び他の画像について、エッジや特徴点等を検出して、基準画像と他の画像との対応点を探索する(S153)。そして、探索された対応点に基づいて、基準画像における欠陥の位置を、他の画像における欠陥の位置に変換する座標変換の変換パラメータを算出する(S154)。
【0102】
生成部121は、複数の画像に検査対象物の3次元形状が含まれるか否かを判定する(S155)。複数の画像に検査対象物の3次元形状が含まれる場合(S155:YES)、生成部121は、検査対象物の画像と、検査対象物の3次元モデルとの対応点を探索する(S156)。ここで、3次元モデルは、例えば3次元CADデータであってよい。生成部121は、検査対象物の3次元モデルに基づいて、複数の画像において欠陥が隠れず目視できるか否かを判定する(S157)。基準画像以外の全ての画像において、欠陥が隠れず目視できない場合(S157:NO)、処理は終了する。一方、基準画像以外の少なくとも一枚の画像において、検査対処部物を撮像する視覚センサによって欠陥が隠れずに撮像できる場合(S157:YES)、変換部123は、基準画像における欠陥の位置を、他の画像における欠陥の位置に変換する(S158)。なお、変換部123による欠陥の位置の変換は、複数の画像において欠陥が隠れず撮像できるか否かに関わらず実行し、欠陥が隠れて撮像できない場合には、欠陥に関する情報を関連付けず、欠陥が移されていない検査対象物の画像として学習用データに追加したり、学習用データから除外したりすることとしてもよい。以上により、欠陥の位置に関する情報を算出する処理が終了する。
【0103】
図7は、平面的な検査対象物の画像について、欠陥に関する情報の転記を行う場合の例を示す図である。同図では、基準画像とする第1画像P1aと、基準画像ではない第2画像P2aと、第1画像P1aに欠陥に関する情報が関連付けられた第1学習用データP1bと、第2画像P2aに欠陥に関する情報が関連付けられた第2学習用データP2bと、を示している。
【0104】
第1画像P1aと第2画像P2aとは、同じ方向、同じ距離から、異なる照明条件で同一の検査対象物を撮像した画像である。すなわち、第1画像P1aと第2画像P2aとは、撮像条件のうち配置条件が同一であるが、照明条件が異なる画像である。同図では、識別器により第1画像P1aに欠陥が含まれているか否かを判定した場合に、「scratch(すり傷)」という種類の欠陥が、第1枠形状R1で示された画像の中央の位置に存在していることが判定された例を示している。また、本例では、識別器により第2画像P2aに欠陥が含まれているか否かを判定した場合に、欠陥が含まれていないと判定されている。
【0105】
このような場合に、第1画像P1aを基準画像として、生成部121は、第1画像P1aについて判定された欠陥の種類に関する情報及び欠陥の位置に関する情報を、第2画像P2aに転記する。本例の場合、第1画像P1aと第2画像P2aとは、配置条件が同一であるから、生成部121は、第1画像P1aについて判定された欠陥の位置を示す第1枠形状R1を、位置及び大きさを変えずに第2画像P2aに転記して第2枠形状R2を関連付け、第2学習用データP2bを生成してよい。なお、第1画像P1a及び第2画像P2aの配置条件が異なる場合、第1画像P1aにおける欠陥の位置を、変換部123によって第2画像P2aにおける欠陥の位置に変換した後、生成部121は、変換された欠陥の位置に関する情報を第2画像P2aに関連付けて、第2学習用データP2bを生成してよい。この場合、欠陥の位置を示す枠形状は、位置、大きさ及び形状が、配置条件の違いに応じて変換される。
【0106】
図8は、立体的な検査対象物の画像について、欠陥の位置に関する情報を変換して転記する場合の例を示す図である。同図では、基準画像とする第3画像P3aと、基準画像ではない第4画像P4aと、第3画像P3aに欠陥に関する情報が関連付けられた第3学習用データP3bと、第4画像P4aに欠陥に関する情報が関連付けられた第4学習用データP4bと、を示している。
【0107】
第1画像P1aと第2画像P2aとは、異なる方向、異なる距離から、同一の照明条件で同一の検査対象物を撮像した画像である。すなわち、第3画像P3aと第4画像P4aとは、撮像条件のうち配置条件が異なるが、照明条件が同一である画像である。同図では、識別器により第3画像P3aに欠陥が含まれているか否かを判定した場合に、「scratch(すり傷)」という種類の欠陥が、第3枠形状R3で示された位置に存在していることが判定された例を示している。
【0108】
このような場合に、第3画像P3aを基準画像として、生成部121は、第3画像P3aについて判定された欠陥の種類に関する情報を、第4画像P4aに転記する。また、変換部123は、第3画像P3aにおける欠陥の位置を、第4画像P4aにおける欠陥の位置に変換する。より具体的には、変換部123は、検査対象物の3次元モデルを参照して、第3画像P3aと、3次元モデルの対応点を探索して、第3画像P3aと同じ方向、同じ距離から検査対象物を撮像した場合に相当する第1モデルM1を特定する。また、変換部123は、検査対象物の3次元モデルを参照して、第4画像P4aと、3次元モデルの対応点を探索して、第4画像P4aと同じ方向、同じ距離から検査対象物を撮像した場合に相当する第2モデルM2を特定する。次に、変換部123は、第1モデルM1を参照して、第2モデルM2を第3モデルM3に変換する座標変換の変換パラメータを算出する。ここで、変換部123は、第3モデルM3が、第1モデルM1と一致するように変換パラメータを算出する。
【0109】
生成部121は、検査対象物の3次元モデルに基づいて、複数の画像において欠陥が隠れず撮像できるか否かを判定し、欠陥が隠れず撮像できると判定された場合に、変換部123により変換された欠陥の位置に関する情報を複数の画像それぞれに関連付けて、複数の新たな学習用データを生成する。本例の場合、生成部121は、第2モデルM2を第3モデルM3に変換する変換パラメータに基づいて、第3枠形状R3で示された欠陥が、第4画像P4aにおいて目視できるか否かを判定する。本例では、第3枠形状R3で示された欠陥が、第4画像P4aにおいて目視できるため、生成部121は、第2モデルM2を第3モデルM3に変換する変換パラメータに基づいて、第3枠形状R3を変換して第4枠形状R4を算出し、第4画像P4aに第4枠形状R4及び欠陥の種類を表す「scratch」の表示を関連付けて、第4学習用データP4bを生成する。
【0110】
このように、判定部152によって、ある方向から検査対象物を撮像した画像に基づいて検査対象物に含まれている欠陥の位置が判定された場合に、検査対象物の欠陥が撮像できる方向から撮像された画像に対しても欠陥の位置に関する情報が関連付けられ、新たな学習用データとして追加される。そのため、欠陥が隠れて撮像できない場合を除いて、様々な方向から検査対象物を撮像した複数の画像に対して一括して欠陥の位置に関する情報を関連付けて複数の学習用データを生成することができ、撮像する方向が異なっても欠陥の位置を誤判定しづらくなるように識別器を学習させることのできる学習用データを効率的に生成することができる。
【0111】
§4 変形例
<4.1>
図9は、本実施形態の第1変形例に係るデータ生成装置100により実行される第2処理の内容を示すフローチャートである。第1処理では、基準画像の選択を受け付けたのに対し、第2処理は、判定部152により、複数の画像のうち2以上の画像に基づいて検査対象物に欠陥が含まれていると判定された場合に、2以上の画像についての判定部152による判定結果の信頼度に応じて、2以上の画像からいずれか一枚を選択し、選択した一枚の画像から得られる欠陥に関する情報を複数の画像それぞれに関連付けて、複数の新たな学習用データを生成する処理である。第1変形例に係るデータ生成装置100による新たな学習用データの生成処理は、判定部152による判定結果の信頼度に応じて画像を選択する点で、先に説明した実施形態に係るデータ生成装置により実行される生成処理と相違する。その他の処理については、第1変形例に係るデータ生成装置100により実行される処理と、実施形態に係るデータ生成装置により実行される処理は同じであってよい。
【0112】
はじめに、撮像装置153によって、2以上の異なる撮像条件で撮像された検査対象物の複数の画像を取得する(S30)。そして、学習済みの識別器によって、複数の計測画像に基づいて、検査対象物に欠陥が含まれているか否かを判定する(S31)。判定結果について、少なくとも一枚について判定結果が正しいか否かを判定する(S32)。ここで、全ての画像について判定結果が誤りであった場合(S32:NO)、第2処理は終了する。なお、全ての画像について判定結果が誤りであった場合(S32:NO)であっても、ユーザインタフェース170によって判定結果の修正操作を受け付けて、修正された欠陥に関する情報に基づいて、以降の処理を行うこととしてもよい。
【0113】
少なくとも一枚の画像について判定結果が正しかった場合(S32:YES)、画像修正部120は、判定結果の信頼度に応じて、基準画像を選択する(S33)。画像修正部120は、判定結果の信頼度が最も高い画像を基準画像として選択してよい。また、画像修正部120は、判定部152が識別器によって得た欠陥の位置に関する情報及び欠陥の種類に関する情報の信頼度に応じて、基準画像を選択してもよい。
【0114】
画像修正部120は、計測部150より、複数の画像の照明条件を取得する(S34)。なお、照明条件が不明である場合、照明条件の取得は必ずしも行われなくてもよい。そして、画像修正部120は、複数の画像それぞれについて、欠陥の位置に関する情報を算出する(S35)。欠陥の位置に関する情報を算出する処理は、
図6を用いて説明した処理であってよい。
【0115】
画像修正部120は、基準画像の撮像条件と、他の画像の撮像条件とを比較して、撮像条件の差が閾値以下であるか否かを判定する(S36)。撮像条件の差が閾値以下でない画像の場合(S36:NO)、画像修正部120は、当該画像を学習用データから除外する(S37)。言い換えると、基準画像との撮像条件の差が閾値より大きい画像については、学習用データとして登録しない。
【0116】
一方、撮像条件の差が閾値以下である画像の場合(S36:NO)、画像修正部120は、基準画像に基づいて判定された欠陥の種類に関する情報及び欠陥の位置に関する情報を、当該画像に転記する(S38)。
【0117】
ユーザインタフェース170により、基準画像及び基準画像に基づいて判定された欠陥の種類に関する情報及び欠陥の位置に関する情報を表示するとともに、他の画像及び他の画像に転記された欠陥の種類に関する情報及び欠陥の位置に関する情報を表示して、転記された情報が正しいか否かに関する判断を受け付ける(S39)。転記された欠陥の種類に関する情報及び欠陥の位置に関する情報が正しくない場合(S39:NO)、ユーザインタフェース170により修正操作を受け付けて、転記された欠陥の種類に関する情報及び欠陥の位置に関する情報の修正を受け付ける(S40)。
【0118】
転記された情報が正しい場合(S39:YES)と、転記された情報の修正が完了した場合、登録を除外されていない複数の画像に、それぞれの照明条件、判定又は転記された欠陥の種類及び欠陥の位置に関する情報を関連付けて、新たな学習用データを生成し、修正画像DB122に格納する(S41)。なお、照明条件の関連付けは省略されてもよい。以上により第2処理が終了する。
【0119】
第1変形例に係るデータ生成装置100によれば、判定部152によって、複数の撮像条件で検査対象物を撮像した2以上の画像に基づいて検査対象物に欠陥が含まれていると判定された場合に、判定結果の信頼度に応じて基準とする画像が選択され、当該画像のみならず、他の撮像条件で検査対象物を撮像した画像に対しても欠陥に関する情報が関連付けられ、新たな学習用データとして追加される。そのため、様々な撮像条件で検査対象物を撮像した複数の画像に対して一括して欠陥に関する情報を関連付けて複数の学習用データを生成することができ、撮像条件が異なっても欠陥を見逃す誤判定が生じづらくなるように識別器を学習させることのできる学習用データを効率的に生成することができる。
【0120】
<4.2>
本実施形態の第2変形例に係るデータ生成装置100は、判定部152により、複数の画像のうち2以上の画像に基づいて検査対象物に欠陥が含まれていると判定された場合に、2以上の画像についての判定部152により欠陥が含まれると判定された領域の面積に応じて、2以上の画像からいずれか一枚を選択し、選択した一枚の画像から得られる欠陥に関する情報を複数の画像それぞれに関連付けて、複数の新たな学習用データを生成する。第2変形例に係るデータ生成装置100による新たな学習用データの生成処理は、判定部152による判定結果の信頼度ではなく、欠陥が含まれると判定された領域の面積に応じて画像を選択する点で、第1変形例における生成処理と相違する。その他の処理については、第2変形例に係るデータ生成装置100により実行される処理と、第1変形例に係るデータ生成装置により実行される処理は同じであってよい。
【0121】
本変形例に係るデータ生成装置100は、判定部152により、複数の画像のうち2以上の画像に基づいて検査対象物に欠陥が含まれていると判定された場合に、2以上の画像について判定部152により欠陥が含まれると判定された領域の面積が最も大きい画像を選択し、選択した一枚の画像から得られる欠陥に関する情報を複数の画像それぞれに関連付けて、複数の新たな学習用データを生成してよい。
【0122】
本変形例に係るデータ生成装置100によれば、判定部152によって、複数の撮像条件で検査対象物を撮像した2以上の画像に基づいて検査対象物に欠陥が含まれていると判定された場合に、欠陥が含まれると判定された領域の面積に応じて基準とする画像が選択され、当該画像のみならず、他の撮像条件で検査対象物を撮像した画像に対しても欠陥に関する情報が関連付けられ、新たな学習用データとして追加される。そのため、様々な撮像条件で検査対象物を撮像した複数の画像に対して一括して欠陥に関する情報を関連付けて複数の学習用データを生成することができ、撮像条件が異なっても欠陥を見逃す誤判定が生じづらくなるように識別器を学習させることのできる学習用データを効率的に生成することができる。
【0123】
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
【0124】
[付記1]
検査対象物の画像と前記検査対象物画像に含まれる検出対象部位に関する情報とを含む学習用データを用いて学習された識別器(a、b、c、A、B、…)によって、前記検査対象物の複数の画像に基づいて前記検査対象物に検出対象部位が含まれているか否かを判定する判定部(152)と、
2以上の異なる撮像条件で前記検査対象物を撮像した前記複数の画像を取得する取得部(153)と、
前記判定部(152)によって前記複数の画像のうちいずれかに基づいて前記検査対象物に検出対象部位が含まれていると判定された場合に、前記検出対象部位に関する情報を前記複数の画像に含まれる他の画像に関連付けて、新たな学習用データを生成する生成部(121)と、
を備えるデータ生成装置。
【0125】
[付記2]
前記判定部(152)は、前記複数の画像に基づいて前記検査対象物に検出対象部位が含まれていると判定する場合に、前記検出対象部位の種類を判定し、
前記生成部(121)は、前記判定部(152)によって前記複数の画像のうちいずれかに基づいて前記検査対象物に検出対象部位が含まれていると判定され、前記検出対象部位の種類が判定された場合に、前記検出対象部位の種類に関する情報を前記複数の画像に含まれる他の画像に関連付けて、前記新たな学習用データを生成する、
付記1に記載のデータ生成装置。
【0126】
[付記3]
前記判定部(152)は、前記複数の画像に基づいて前記検査対象物に検出対象部位が含まれていると判定する場合に、前記検出対象部位の位置を判定し、
前記生成部(121)は、前記判定部(152)によって前記複数の画像のうちいずれかに基づいて前記検査対象物に検出対象部位が含まれていると判定され、前記検出対象部位の位置が判定された場合に、前記検出対象部位の位置に関する情報を前記複数の画像に含まれる他の画像に関連付けて、前記新たな学習用データを生成する、
付記1又は2に記載のデータ生成装置。
【0127】
[付記4]
前記撮像条件は、前記検査対象物を照らす照明条件を含み、
前記生成部(121)は、前記判定部(152)によって前記複数の画像のうちいずれかに基づいて前記検査対象物に検出対象部位が含まれていると判定された場合に、前記複数の画像に含まれる他の画像の前記照明条件を、前記複数の画像に含まれる他の画像に関連付けて、前記新たな学習用データを生成する、
付記1から3のいずれか一項に記載のデータ生成装置。
【0128】
[付記5]
前記撮像条件は、前記検査対象物と撮像装置との相対的な配置条件を含み、
前記複数の画像の前記配置条件に基づいて、前記複数の画像のうち一枚の画像における前記検出対象部位の位置を、前記複数の画像に含まれる他の画像における前記検出対象部位の位置に変換する変換部(123)をさらに備え、
前記生成部(121)は、前記判定部(152)によって前記一枚の画像に基づいて前記検査対象物に検出対象部位が含まれていると判定された場合に、前記変換部(123)により変換された前記検出対象部位の位置に関する情報を前記複数の画像に含まれる他の画像に関連付けて、前記新たな学習用データを生成する、
付記3に記載のデータ生成装置。
【0129】
[付記6]
前記複数の画像の対応関係に基づいて、前記複数の画像のうち一枚の画像における前記検出対象部位の位置を、前記複数の画像に含まれる他の画像における前記検出対象部位の位置に変換する変換部(123)をさらに備え、
前記生成部(121)は、前記判定部(152)によって前記一枚の画像に基づいて前記検査対象物に検出対象部位が含まれていると判定された場合に、前記変換部(123)により変換された前記検出対象部位の位置に関する情報を前記複数の画像に含まれる他の画像に関連付けて、前記新たな学習用データを生成する、
付記3に記載のデータ生成装置。
【0130】
[付記7]
前記生成部(121)は、前記検査対象物の3次元モデルに基づいて、前記複数の画像において前記検出対象部位が隠れず撮像できるか否かを判定し、前記検出対象部位が隠れず撮像できると判定された場合に、前記変換部(123)により変換された前記検出対象部位の位置に関する情報を前記複数の画像に含まれる他の画像に関連付けて、前記新たな学習用データを生成する、
付記5又は6に記載のデータ生成装置。
【0131】
[付記8]
前記判定部(152)によって前記複数の画像のうちいずれか一枚の画像に基づいて前記検査対象物に検出対象部位が含まれていると判定された場合に、前記一枚の画像と前記複数の画像の前記撮像条件の差が閾値以下であるか否かを評価する評価部(124)をさらに備え、
前記生成部(121)は、前記複数の画像のうち、前記評価部により前記撮像条件の差が閾値以下であると評価された画像に前記検出対象部位に関する情報を関連付けて、前記新たな学習用データを生成する、
付記1から7のいずれか一項に記載のデータ生成装置。
【0132】
[付記9]
前記判定部(152)により、前記複数の画像のうち2以上の画像に基づいて前記検査対象物に検出対象部位が含まれていると判定された場合に、前記2以上の画像についての前記判定部(152)による判定結果の信頼度に応じて、前記2以上の画像からいずれか一枚を選択し、選択した一枚の画像から得られる前記検出対象部位に関する情報を前記複数の画像に含まれる他の画像に関連付けて、前記新たな学習用データを生成する、
付記1から8のいずれか一項に記載のデータ生成装置。
【0133】
[付記10]
前記判定部(152)により、前記複数の画像のうち2以上の画像に基づいて前記検査対象物に検出対象部位が含まれていると判定された場合に、前記2以上の画像について前記判定部(152)により前記検出対象部位が含まれると判定された領域の面積に応じて、前記2以上の画像からいずれか一枚を選択し、選択した一枚の画像から得られる前記検出対象部位に関する情報を前記複数の画像に含まれる他の画像に関連付けて、前記新たな学習用データを生成する、
付記1から8のいずれか一項に記載のデータ生成装置。
【0134】
[付記11]
前記検出対象部位は、前記検査対象物に含まれる欠陥の部位であり、
前記生成部(121)により前記複数の画像に含まれる他の画像に関連付けられた前記欠陥に関する情報について、修正操作を受け付ける入力部(170)をさらに備え、
前記生成部(121)は、前記修正操作に基づいて、前記複数の画像それぞれに関連付ける前記欠陥に関する情報を修正して、前記新たな学習用データを生成する、
付記1から10のいずれか一項に記載のデータ生成装置。
【0135】
[付記12]
検査対象物の画像と前記検査対象物画像に含まれる検出対象部位に関する情報とを含む学習用データを用いて学習された識別器(a、b、c、A、B、…)によって、前記検査対象物の複数の画像に基づいて前記検査対象物に検出対象部位が含まれているか否かを判定することと、
2以上の異なる撮像条件で前記検査対象物を撮像した前記複数の画像を取得することと、
前記判定することによって前記複数の画像のうちいずれかに基づいて前記検査対象物に検出対象部位が含まれていると判定された場合に、前記検出対象部位に関する情報を前記複数の画像に含まれる他の画像に関連付けて、新たな学習用データを生成することと、
を含むデータ生成方法。
【0136】
[付記13]
データ生成装置に備えられた演算装置を、
検査対象物の画像と前記検査対象物画像に含まれる検出対象部位に関する情報とを含む学習用データを用いて学習された識別器(a、b、c、A、B、…)によって、前記検査対象物の複数の画像に基づいて前記検査対象物に検出対象部位が含まれているか否かを判定する判定部(152)、
2以上の異なる撮像条件で前記検査対象物を撮像した前記複数の画像を取得する取得部(153)、及び
前記判定部(152)によって前記複数の画像のうちいずれかに基づいて前記検査対象物に検出対象部位が含まれていると判定された場合に、前記検出対象部位に関する情報を前記複数の画像に含まれる他の画像に関連付けて、新たな学習用データを生成する生成部(121)、
として動作させるデータ生成プログラム。