(57)【要約】  本発明の画像処理装置１００は、異常データ毎に設定された優先度に基づいて、当該異常データを学習用正常画像に挿入した異常画像を生成する異常画像生成部１２１と、異常画像から異常データを除去するよう学習されたモデルに対して、異常画像を入力して、当該モデルから出力された出力画像と学習用正常画像との差分に基づいて、学習用正常画像に挿入された異常データの優先度を新たに設定する優先度設定部１２２と、出力画像と学習用正常画像との差分が小さくなるようモデルの学習を行う学習部１２３と、を備える。
2020184069.tif 000002
【特許請求の範囲】
【請求項１】
異常データ毎に設定された優先度に基づいて、当該異常データを学習用正常画像に挿入した異常画像を生成し、
前記異常画像から前記異常データを除去するよう学習されたモデルに対して、前記異常画像を入力して、当該モデルから出力された出力画像と前記学習用正常画像との差分に基づいて、前記学習用正常画像に挿入された前記異常データの前記優先度を新たに設定し、
前記出力画像と前記学習用正常画像との差分が小さくなるよう前記モデルの学習を行う、
画像処理方法。
【請求項２】
請求項１に記載の画像処理方法であって、
前記異常データの前記優先度の値が大きいほど、当該異常データを優先して前記学習用正常画像に挿入して前記異常画像を生成し、
前記出力画像と前記学習用正常画像との差分が大きいほど、前記学習用正常画像に挿入された前記異常データの前記優先度の値が大きくなるよう当該優先度を新たに設定する、
画像処理方法。
【請求項３】
請求項２に記載の画像処理方法であって、
前記出力画像と前記学習用正常画像との差分が大きいほど、大きい値の優先度係数を設定し、前記学習用正常画像に挿入された前記異常データの前記優先度に前記優先度係数を乗算して当該優先度を新たに設定する、
画像処理方法。
【請求項４】
請求項１乃至３のいずれかに記載の画像処理方法であって、
前記学習用正常画像の位置毎に設定された位置優先度に基づいて、当該学習用正常画像の所定の位置に前記異常データを挿入した前記異常画像を生成し、
前記モデルに対して前記異常画像を入力して、前記出力画像と前記学習用正常画像との差分に基づいて、前記学習用正常画像の位置毎に設定された前記位置優先度を新たに設定する、
画像処理方法。
【請求項５】
請求項４に記載の画像処理方法であって、
前記学習用正常画像の前記位置優先度の値が大きい位置ほど優先して、当該学習用正常画像のその位置に前記異常データを挿入して前記異常画像を生成し、
前記出力画像と前記学習用正常画像との差分が大きいほど、前記異常データが挿入された前記学習用正常画像の位置に設定された前記位置優先度の値が大きくなるよう当該位置優先度を新たに設定する、
画像処理方法。
【請求項６】
請求項５に記載の画像処理方法であって、
前記出力画像と前記学習用正常画像との差分が大きいほど、大きい値の優先度係数を設定し、前記異常データが挿入された前記学習用正常画像の位置に設定された前記位置優先度に前記優先度係数を乗算して当該位置優先度を新たに設定する、
画像処理方法。
【請求項７】
請求項５又は６に記載の画像処理方法であって、
前記出力画像と前記学習用正常画像との差分が大きいほど、前記異常データが挿入された前記学習用正常画像の位置及びその所定範囲の周囲に設定された前記位置優先度の値が大きくなるよう当該位置優先度を新たに設定する、
画像処理方法。
【請求項８】
請求項１乃至７のいずれかに記載の画像処理方法であって、
前記出力画像と前記学習用正常画像とで相互に対応する画素毎の所定の値の差を、全ての画素について合計した合計値を前記差分として取得する、
画像処理方法。
【請求項９】
請求項１乃至８のいずれかに記載の画像処理方法であって、
学習された前記モデルに対して、検査用画像を入力して、当該モデルから出力された検査用出力画像と前記検査用画像との差分に基づいて、当該検査用画像の正常／異常を判定する、
画像処理方法。
【請求項１０】
異常データ毎に設定された優先度に基づいて、当該異常データを学習用正常画像に挿入した異常画像を生成する異常画像生成部と、
前記異常画像から前記異常データを除去するよう学習されたモデルに対して、前記異常画像を入力して、当該モデルから出力された出力画像と前記学習用正常画像との差分に基づいて、前記学習用正常画像に挿入された前記異常データの前記優先度を新たに設定する優先度設定部と、
前記出力画像と前記学習用正常画像との差分が小さくなるよう前記モデルの学習を行う学習部と、
を備えた画像処理装置。
【請求項１１】
請求項１０に記載の画像処理装置であって、
前記異常画像生成部は、前記異常データの前記優先度の値が大きいほど、当該異常データを優先して前記学習用正常画像に挿入して前記異常画像を生成し、
前記優先度設定部は、前記出力画像と前記学習用正常画像との差分が大きいほど、前記学習用正常画像に挿入された前記異常データの前記優先度の値が大きくなるよう当該優先度を新たに設定する、
画像処理装置。
【請求項１２】
請求項１１に記載の画像処理装置であって、
前記優先度設定部は、前記出力画像と前記学習用正常画像との差分が大きいほど、大きい値の優先度係数を設定し、前記学習用正常画像に挿入された前記異常データの前記優先度に前記優先度係数を乗算して当該優先度を新たに設定する、
画像処理装置。
【請求項１３】
請求項１０乃至１２のいずれかに記載の画像処理装置であって、
前記異常画像生成部は、前記学習用正常画像の位置毎に設定された位置優先度に基づいて、当該学習用正常画像の所定の位置に前記異常データを挿入した前記異常画像を生成し、
前記優先度設定部は、前記モデルに対して前記異常画像を入力して、前記出力画像と前記学習用正常画像との差分に基づいて、前記学習用正常画像の位置毎に設定された前記位置優先度を新たに設定する、
画像処理装置。
【請求項１４】
請求項１３に記載の画像処理装置であって、
前記異常画像生成部は、前記学習用正常画像の前記位置優先度の値が大きい位置ほど優先して、当該学習用正常画像のその位置に前記異常データを挿入して前記異常画像を生成し、
前記優先度設定部は、前記出力画像と前記学習用正常画像との差分が大きいほど、前記異常データが挿入された前記学習用正常画像の位置に設定された前記位置優先度の値が大きくなるよう当該位置優先度を新たに設定する、
画像処理装置。
【請求項１５】
請求項１４に記載の画像処理装置であって、
前記優先度設定部は、前記出力画像と前記学習用正常画像との差分が大きいほど、大きい値の優先度係数を設定し、前記異常データが挿入された前記学習用正常画像の位置に設定された前記位置優先度に前記優先度係数を乗算して当該位置優先度を新たに設定する、
画像処理装置。
【請求項１６】
請求項１４又は１５に記載の画像処理装置であって、
前記優先度設定部は、前記出力画像と前記学習用正常画像との差分が大きいほど、前記異常データが挿入された前記学習用正常画像の位置及びその所定範囲の周囲に設定された前記位置優先度の値が大きくなるよう当該位置優先度を新たに設定する、
画像処理装置。
【請求項１７】
請求項１０乃至１６のいずれかに記載の画像処理装置であって、
学習された前記モデルに対して、検査用画像を入力して、当該モデルから出力された検査用出力画像と前記検査用画像との差分に基づいて、当該検査用画像の正常／異常を判定する判定部を備えた、
画像処理装置。
【請求項１８】
情報処理装置に、
異常データ毎に設定された優先度に基づいて、当該異常データを学習用正常画像に挿入した異常画像を生成する異常画像生成部と、
前記異常画像から前記異常データを除去するよう学習されたモデルに対して、前記異常画像を入力して、当該モデルから出力された出力画像と前記学習用正常画像との差分に基づいて、前記学習用正常画像に挿入された前記異常データの前記優先度を新たに設定する優先度設定部と、
前記出力画像と前記学習用正常画像との差分が小さくなるよう前記モデルの学習を行う学習部と、
を実現させるためのプログラムを記憶したコンピュータにて読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理方法、画像処理装置、プログラムに関する。
【背景技術】
【０００２】
近年、工業製品の検査において、検査対象物体を撮影し、撮影画像から自動的に正常品と異常品を判別することが行われている。このような判別を行うためには、事前に正常品及び／又は異常品の画像を学習して、ニューラルネットワークのモデルを生成する必要がある。そして、検査対象物体の撮影画像をモデルに入力することで、正常品、異常品を判別している。【０００３】
ここで、上述した製品検査に用いるようなニューラルネットワークのモデルを作成する手法として、特許文献１に開示の方法がある。特許文献１では、学習する正常品の画像に、異常品の特徴を表す異常データを合成して疑似画像を生成している。そして、特許文献１では、乱数値を用いて、異常データを正常品の画像にどのように合成するかを決定している。なお、特許文献１では、異常データとして、異常品画像と正常品画像との差分を用いている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１５６３３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した方法では、異常データによっては学習を十分に行うことができないことも起こりうる。例えば、正常品画像に複雑な模様がある個所や製品のエッジ部分などの領域では、異常データの形状によっては学習が困難である場合がある。また、そもそもいかなる領域であっても、異常データの形状によっては学習が困難である場合がある。このように、異常データの学習が十分行えず、異常品の検知精度が低くなるという問題が生じる。【０００６】
このため、本発明の目的は、上述した課題である、異常データを含む画像の学習を十分行うことができず、異常品の検知精度が低くなる、ということを解決することにある。
【課題を解決するための手段】
【０００７】
本発明の一形態である画像処理方法は、
異常データ毎に設定された優先度に基づいて、当該異常データを学習用正常画像に挿入した異常画像を生成し、
前記異常画像から前記異常データを除去するよう学習されたモデルに対して、前記異常画像を入力して、当該モデルから出力された出力画像と前記学習用正常画像との差分に基づいて、前記学習用正常画像に挿入された前記異常データの前記優先度を新たに設定し、
前記出力画像と前記学習用正常画像との差分が小さくなるよう前記モデルの学習を行う、
という構成をとる。【０００８】
また、本発明の一形態である画像処理装置は、
異常データ毎に設定された優先度に基づいて、当該異常データを学習用正常画像に挿入した異常画像を生成する異常画像生成部と、
前記異常画像から前記異常データを除去するよう学習されたモデルに対して、前記異常画像を入力して、当該モデルから出力された出力画像と前記学習用正常画像との差分に基づいて、前記学習用正常画像に挿入された前記異常データの前記優先度を新たに設定する優先度設定部と、
前記出力画像と前記学習用正常画像との差分が小さくなるよう前記モデルの学習を行う学習部と、
を備えた、
という構成をとる。【０００９】
また、本発明の一形態であるプログラムは、
情報処理装置に、
異常データ毎に設定された優先度に基づいて、当該異常データを学習用正常画像に挿入した異常画像を生成する異常画像生成部と、
前記異常画像から前記異常データを除去するよう学習されたモデルに対して、前記異常画像を入力して、当該モデルから出力された出力画像と前記学習用正常画像との差分に基づいて、前記学習用正常画像に挿入された前記異常データの前記優先度を新たに設定する優先度設定部と、
前記出力画像と前記学習用正常画像との差分が小さくなるよう前記モデルの学習を行う学習部と、
を実現させる、
という構成をとる。
【発明の効果】
【００１０】
本発明は、以上のように構成されることにより、異常品の検知精度の向上を図ることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態１における画像検査装置の構成を示すブロック図である。
【図２】図１に開示した優先度データ記憶部に記憶される優先度データの一例を示す図である。
【図３】図１に開示した画像検査装置による処理の様子を示す図である。
【図４】図１に開示した画像検査装置による処理の様子を示す図である。
【図５】図１に開示した画像検査装置の動作を示すフローチャートである。
【図６】図１に開示した画像検査装置の動作を示すフローチャートである。
【図７】図１に開示した画像検査装置の動作を示すフローチャートである。
【図８】本発明の実施形態２における画像処理装置のハードウェア構成を示すブロック図である。
【図９】本発明の実施形態２における画像処理装置の構成を示すブロック図である。
【図１０】本発明の実施形態２における画像処理装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００１２】
＜実施形態１＞
本発明の第１の実施形態を、図１乃至図７を参照して説明する。図１乃至図２は、画像検査装置の構成を説明するための図であり、図３乃至図７は、画像検査装置の処理動作を説明するための図である。
【００１３】
［構成］
本発明における画像検査装置１０（画像処理装置）は、工業製品などの検査対象物体を撮影した画像を用いて、当該検査対象物体が正常品であるか異常品であるかを判別する検査を行うための装置である。特に、画像検査装置１０は、以下に説明するように、まず、学習用画像を使用した学習を行い、その後、学習したモデルを用いて検査用画像の検査を実施する。
【００１４】
上記画像検査装置１０は、演算装置と記憶装置とを備えた１台又は複数台の情報処理装置にて構成される。そして、画像検査装置１０は、図１に示すように、演算装置がプログラムを実行することで構築された、異常画像生成部１１、異常除去部１２、優先度設定部１３、判定部１４、を備える。また、画像検査装置１０は、記憶装置に形成された、優先度データ記憶部１６、モデル記憶部１７、を備える。以下、各構成について詳述する。
【００１５】
上記異常画像生成部１１は、予め学習用に用意された学習用画像である正常画像（学習用正常画像）に対して異常模擬データ（異常データ）を挿入して、異常画像を生成する。ここで、異常模擬データとして、例えば以下の種類のデータを用いる。
・「傷」
画像に対し、線状の「傷」を挿入する。挿入方法としては、例えば以下のように行う。
１．色の決定（画像の一部の色、あるいは予め定めた色を使う）
２．線の端点の決定（画像上でランダムな2点を決定する）
３．直線の挿入（決定した色を使用し、決定した端点間に直線を追加する）
・「欠け」
画像に対し、面上の欠けを挿入する。挿入方法としては、例えば以下のように行う。
１．色の決定（画像の一部の色、あるいは予め定めた色を使う）
２．欠けの種類の決定（多角形の種類をランダムに決定する）
３．欠けの頂点の決定（画像上でランダムに多角形の頂点を決定する）
４．欠けの挿入（決定した色を使用し、決定した頂点を結ぶ多角形を追加する）
・「ノイズ」
画像に対し、ノイズを挿入する。例えば、ホワイトノイズを画像全体に対して挿入する。
・「染み」
画像に対し、面上の染みを挿入する。挿入方法としては、例えば以下のように行う。
１．色の決定（画像の一部の色、あるいは予め定めた色を使う）
２．染みの形状・面積の決定（円形または多角形で、範囲を決定する。正規分布などに基づき、濃淡の分布をつけても良い）
３．染みの挿入（決定した色を使用し、決定した形状の染みを追加する）
【００１６】
そして、異常画像生成部１１は、正常画像に挿入する異常模擬データの種類や、異常模擬データを挿入する正常画像上の位置を、優先度データ記憶部１６に記憶されている優先度（種類優先度、位置優先度）に基づいて決定する。ここで、図２に、優先度データ記憶部１６に記憶されている優先度の一例を示す。図２の上図は、異常模擬データの種類毎の設定された種類優先度を示しており、図２の下図は、正常画像の位置毎つまり座標（ピクセル）毎に設定された位置優先度を示している。異常画像生成部１１は、挿入する異常模擬データの種類や位置を、乱数によって決定するが、種類優先度の高い種類の異常模擬データの方が他の種類と比較してより高い確率で挿入され、位置優先度の高い位置の方が他の位置と比較してより高い確率で挿入されるよう決定される。つまり、異常模擬データは、種類優先度の値が大きい種類ほど、他の種類よりも優先して挿入され、位置優先度の値が大きい位置ほど、他の位置よりも優先して挿入されることとなる。
【００１７】
さらに、異常画像生成部１１による異常模擬データの挿入例を説明する。まず、挿入する異常模擬データの種類を、種類優先度に応じて乱数を用いて決定する。このとき、種類優先度の合計値がＡ、特定の異常模擬データの種類優先度がＢであるとすると、特定の異常模擬データが選択される確率としてＢ／Ａを計算する。これにより、特定の異常模擬データは、Ｂ／Ａの確率で選択されるため、種類優先度の値が大きい種類のデータほど優先して挿入されることとなる。例えば、図２の上段に示す種類優先度の値の例では、「傷」の異常模擬データが選択される確率は、２／７．５となる。
【００１８】
続いて、異常画像生成部１１は、正常画像に対する異常模擬データの挿入位置を、位置優先度に応じて乱数を用いて決定する。このとき、位置優先度の合計値がＡ、正常画像の特定の座標値の位置優先度がＢであるとすると、特定の異常模擬データを挿入する正常画像の特定の座標値が選択される確率としてＢ／Ａを計算する。これにより、異常模擬データが正常画像の特定の座標値は、Ｂ／Ａの確率で選択されるため、位置優先度の値が大きい座標値ほど優先して挿入されることとなる。例えば、図２の下段に示す位置優先度の値の例では、１０２４×７６８ｐｉｘｌの画像の座標値のうち、位置優先度の値が高い座標値ほど挿入される確率が高くなる。
【００１９】
異常画像生成部１１は、上述したように、挿入する異常模擬データの種類と位置を決定すると、正常画像上の決定した位置に対して、決定した種類の異常模擬データを挿入する。例えば、図３に示すように、異常画像生成部１１は、正常画像に対して線上図形で示すような「傷」を挿入して、異常画像を生成する。なお、異常模擬データの種類が「ノイズ」である場合には、画像全体に挿入するものであるため、決定した位置は使用しない。
【００２０】
上記異常除去部１２は、上述したように生成した異常画像を、モデル記憶部１７に記憶されているモデルに対して入力し、かかるモデルによって処理された出力画像を出力する。このとき、モデル記憶部１７に記憶されているモデルは、異常画像から異常模擬データを除去した出力画像を出力するよう学習されたニューラルネットワークＮＮによって構成されている。
【００２１】
そして、異常除去部１２（学習部）は、上述したように異常画像を入力した場合には、モデルの学習も行う。具体的に、異常除去部１２は、図３に示すように、異常模擬データを挿入する前の正常画像を取得しておき、かかる正常画像と、モデルからの出力画像と、の差分を算出する。例えば、異常除去部１２は、正常画像と出力画像とのピクセルごとの差分値を取得し、その絶対値の合計値を、２つの画像の差分値として算出する。そして、異常除去部１２は、正常画像と出力画像との差分が小さくなるようニューラルネットワークＮＮを構築し、モデルの学習を行う。これにより、モデルは、より正常画像と出力画像との差分が小さくなるよう、つまり、異常画像から異常模擬データが除去されるよう学習される。一例として、異常除去部１２では、ディープラーニングのオートエンコーダーのように入力を再現する手法を用いる。なお、異常除去部１２は、上述した学習の際に算出したモデルからの出力画像と正常画像との差分値を、優先度設定部１３に渡す。
【００２２】
また、異常除去部１２は、製品の検査時には、図４に示すように、製品を撮影した検査用画像を、学習されたニューラルネットワークＮＮにて構成されたモデルに入力する。これにより、異常除去部１２は、モデルに従って、実際に製品に生じた異常部分が除去された出力画像を出力する。そして、異常除去部１２は、入力された検査用画像と出力画像との差分を算出し、判定部１４に渡す。
【００２３】
上記優先度設定部１３は、異常除去部１２にて、学習時に算出されたモデルからの出力画像と正常画像との差分値を受け取り、かかる差分値に基づいて、学習時に正常画像に挿入された異常模擬データの種類優先度を新たに設定する。特に、異常除去部１２は、正常画像と出力画像との差分値が大きいほど、正常画像に挿入された異常模擬データの種類優先度の値が大きくなるように新たな種類優先度を算出する。つまり、差分値が大きいほど学習が正しくできていない異常模擬データであると考えられるため、そのような異常模擬データの優先度を上げるという処理を行う。一例として、優先度設定部１３は、以下のように、差分値が大きいほど大きい値の優先度係数を設定し、かかる優先度係数を現在の種類優先度に掛けることによって新たな優先度を算出する。
差分値と予め設定された閾値Ｍ，Ｎ（Ｍ＜Ｎ）との関係が、
差分値＜Ｍの場合、優先度係数「１／α」（α＞１）、
Ｍ≦差分値＜Ｎの場合、優先度係数「１」、
Ｎ＜差分値の場合、優先度係数「α」（α＞１）、とする。
【００２４】
そして、優先度設定部１３は、上述したように異常模擬データの種類について新たに算出した種類優先度を、優先度データ記憶部１６に記憶して、図２の上図に示す種類優先度を更新する。これにより、その後の学習時の際には、更新された種類優先度に基づいて、正常画像に挿入される異常模擬データの種類が決定される。
【００２５】
また、優先度設定部１３は、上述同様に、学習時に算出されたモデルからの出力画像と正常画像との差分値に基づいて、学習時に異常模擬データが挿入された正常画像における位置つまり座標の位置優先度を新たに設定する。特に、異常除去部１２は、正常画像と出力画像との差分値が大きいほど、正常画像に挿入された座標の位置優先度の値が大きくなるように新たな位置優先度を算出する。つまり、差分値が大きいほど学習が正しくできていない挿入位置と考えられるため、そのような位置である座標の位置優先度を上げるという処理を行う。一例として、優先度設定部１３は、上述同様に、差分値が大きいほど大きい値の優先度係数を設定し、かかる優先度係数を現在の位置優先度に掛けることによって新たな優先度を算出する。
【００２６】
そして、優先度設定部１３は、上述したように正常画像の座標について新たに算出した位置優先度を、優先度データ記憶部１６に記憶して、図２の下図に示す位置優先度を更新する。これにより、その後の学習時の際には、更新された位置優先度に基づいて、異常模擬データを正常画像に挿入する位置である座標が決定される。なお、優先度設定部１３は、上述したように、異常模擬データが挿入された座標のみの位置優先度を新たに算出して更新することに限定されない。例えば、優先度設定部１３は、異常模擬データが挿入された座標、及び、その周囲の所定数のピクセル範囲に位置する座標の位置優先度に、上述した優先度係数を掛けて新たな優先度を算出してもよい。また、優先度設定部１３は、異常模擬データが挿入された座標から遠い座標ほど、優先度係数の値が１に近づくよう下げて設定して、各座標の位置優先度に優先度係数を掛けて新たな優先度を算出してもよい。
【００２７】
上記判定部１４は、上述したように異常除去部１２にて検査時に算出されたモデルからの出力画像と検査用画像との差分値を受け取り、かかる差分値に基づいて、当該検査用画像の正常／異常を判定する。例えば、判定部１４は、差分値が予め設定された判定用の閾値以上である場合には異常と判定し、閾値未満である場合は正常と判定する。そして、判定部１４は、判定結果を検査結果として出力する。
【００２８】
［動作］
次に、上述した画像検査装置１０の動作を、主に図３乃至図７を参照して説明する。まず、図３の処理の様子を示す図と、図５乃至図７のフローチャートを参照して、学習時の動作を説明する。なお、学習時は、複数の学習用画像を用いて何回も繰り返し行うことでモデルを作成するが、以下では、１回の学習の動作を説明することとする。
【００２９】
まず、画像検査装置１０は、学習用画像である正常画像を読み込む（図５のステップＳ１）。そして、画像検査装置１０は、正常画像に対して異常模擬データを挿入して、異常画像を生成する（図３の矢印Ｙ１，Ｙ２、図５のステップＳ２）。なお、正常画像に挿入する異常模擬データの挿入方法については後に詳述する。
【００３０】
続いて、画像検査装置１０は、正常画像に異常模擬データを挿入した異常画像をモデルに入力し（図３の矢印Ｙ３）、異常除去画像である出力画像を取得する（図３の矢印Ｙ４、図５のステップＳ３）。そして、画像検査装置１０は、出力画像と、異常模擬データを挿入する前の正常画像と、を比較して差分を算出する（図３の矢印Ｙ５）。画像検査装置１０は、算出した差分に基づいて、図２に示すように異常模擬データの種類や挿入位置毎に設定された優先度（種類優先度、位置優先度）を算出し、優先度データ記憶部１６に記憶して更新する（図３の矢印Ｙ６、図５のステップＳ４）。なお、優先度を算出する処理については後に詳述する。また、画像検査装置１０は、算出した差分に基づいて、モデルからの出力画像が異常模擬データを挿入する前の正常画像となるように学習を実施し、モデルを更新する（図３の矢印Ｙ７、図５のステップＳ５）。
【００３１】
次に、図６のフローチャートを参照して、上述した図５のステップ２の動作である正常画像に異常模擬データを挿入して異常画像を生成するときの動作を説明する。まず、画像検査装置１０は、優先度データ記憶部１６から、図２の上図に示す、異常模擬データの種類毎に設定された種類優先度を読み出す。そして、画像検査装置１０は、種類優先度の合計値をＡ、各異常模擬データの種類優先度をＢとし、各異常模擬データが選択される確率としてＢ／Ａを算出する。画像検査装置１０は、かかる確率Ｂ／Ａで各異常模擬データが選択されるよう、乱数を用いて挿入する異常模擬データの種類を選択する（ステップＳ１１）。
【００３２】
続いて、画像検査装置１０は、優先度データ記憶部１６から、図２の下図に示す、異常模擬データを挿入する正常画像の座標毎に設定された位置優先度を読み出す。そして、画像検査装置１０は、位置優先度の合計値をＡ、各座標の位置優先度をＢとし、各座標が選択される確率としてＢ／Ａを算出する。画像検査装置１０は、かかる確率Ｂ／Ａで各座標が選択されるよう、乱数を用いて挿入する座標を選択する（ステップＳ１２）。
【００３３】
続いて、画像検査装置１０は、決定された種類の異常模擬データを、正常画像上の決定された座標の位置に挿入して、異常画像を生成する（ステップＳ１３）。
【００３４】
次に、図７のフローチャートを参照して、上述した図５のステップ４の動作である優先度（種類優先度、位置優先度）を更新するときの動作を説明する。まず、画像検査装置１０は、学習時にモデルから出力された出力画像と、異常模擬データを挿入する前の正常画像と、を比較した差分を取得する（ステップＳ２１）。例えば、差分として、正常画像と出力画像とのピクセルごとの差分値を取得し、その絶対値の合計値を用いる。
【００３５】
そして、画像検査装置１０は、正常画像と出力画像と差分値と閾値Ｍ，Ｎ（Ｍ＜Ｎ）との関係を判定し（ステップＳ２２）、判定結果に応じて、以下のように優先度係数を設定する。
差分値＜Ｍの場合、優先度係数「１／α」（α＞１）（ステップＳ２３）
Ｍ≦差分値＜Ｎの場合、優先度係数「１」（ステップＳ２４）
Ｎ＜差分値の場合、優先度係数「α」（α＞１）（ステップＳ２５）
【００３６】
そして、画像検査装置１０は、設定した優先度係数を、挿入した異常模擬データの種類に設定されている現在の種類優先度に掛けることによって、新たな種類優先度を算出し、優先度データ記憶部１６に記憶して種類優先度を更新する（ステップＳ２６）。同様に、画像検査装置１０は、設定した優先度係数を、異常模擬データを挿入した位置に設定されている現在の位置優先度に掛けることによって、新たな位置優先度を算出し、優先度データ記憶部１６に記憶して位置優先度を更新する（ステップＳ２７）。
【００３７】
次に、図４の処理の様子を示す図を参照して、検査時の動作を説明する。まず、画像検査装置１０は、製品を撮影した検査用画像を、学習されたニューラルネットワークＮＮにて構成されたモデルに入力する（矢印Ｙ１１）。そして、画像検査装置１０は、モデルから出力された出力画像を取得し（矢印Ｙ１２）、かかる出力画像と検査用画像との差分を算出する（矢印Ｙ１３）。画像検査装置１０は、差分に基づいて、当該検査用画像の正常／異常を判定する（矢印１４）。例えば、差分値が予め設定された判定用の閾値以上である場合には異常と判定し、閾値未満である場合は正常と判定する。
【００３８】
以上のように、本発明では、正常画像に異常模擬データを挿入した異常画像から当該異常模擬データを除去するよう学習したモデルからの出力画像と正常画像との差分を用いて、異常模擬データの優先度を設定している。特に、出力画像と正常画像との差分が大きいほど、優先度が高くなるよう設定している。このため、除去が難しい異常模擬データの種類や挿入位置の優先度が高く設定されるため、そのような種類や挿入位置での学習頻度が高まり、かかる学習を十分に行うことができ、異常品の検知精度の向上を図ることができる。
【００３９】
＜実施形態２＞
次に、本発明の第２の実施形態を、図８乃至図１０を参照して説明する。図８乃至図９は、実施形態２における画像処理装置の構成を示すブロック図であり、図１０は、画像処理装置の動作を示すフローチャートである。なお、本実施形態では、実施形態１で説明した画像検査装置及び画像検査装置による処理方法の構成の概略を示している。
【００４０】
まず、図８を参照して、本実施形態における画像処理装置１００のハードウェア構成を説明する。画像処理装置１００は、一般的な情報処理装置にて構成されており、一例として、以下のようなハードウェア構成を装備している。
・ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１（演算装置）
・ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０２（記憶装置）
・ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０３（記憶装置）
・ＲＡＭ１０３にロードされるプログラム群１０４
・プログラム群１０４を格納する記憶装置１０５
・情報処理装置外部の記憶媒体１１０の読み書きを行うドライブ装置１０６
・情報処理装置外部の通信ネットワーク１１１と接続する通信インタフェース１０７
・データの入出力を行う入出力インタフェース１０８
・各構成要素を接続するバス１０９
【００４１】
そして、画像処理装置１００は、プログラム群１０４をＣＰＵ１０１が取得して当該ＣＰＵ１０１が実行することで、図９に示す異常画像生成部１２１と優先度設定部１２２と学習部１２３とを構築して装備することができる。なお、プログラム群１０４は、例えば、予め記憶装置１０５やＲＯＭ１０２に格納されており、必要に応じてＣＰＵ１０１がＲＡＭ１０３にロードして実行する。また、プログラム群１０４は、通信ネットワーク１１１を介してＣＰＵ１０１に供給されてもよいし、予め記憶媒体１１０に格納されており、ドライブ装置１０６が該プログラムを読み出してＣＰＵ１０１に供給してもよい。但し、上述した異常画像生成部１２１と優先度設定部１２２と学習部１２３とは、電子回路で構築されるものであってもよい。
【００４２】
なお、図８は、画像処理装置１００である情報処理装置のハードウェア構成の一例を示しており、情報処理装置のハードウェア構成は上述した場合に例示されない。例えば、情報処理装置は、ドライブ装置１０６を有さないなど、上述した構成の一部から構成されてもよい。
【００４３】
そして、画像処理装置１００は、上述したようにプログラムによって構築された異常画像生成部１２１と優先度設定部１２２と学習部１２３との機能により、図１０のフローチャートに示す画像処理方法を実行する。
【００４４】
図１０に示すように、画像処理装置１００は、
異常データ毎に設定された優先度に基づいて、当該異常データを学習用正常画像に挿入した異常画像を生成し（ステップＳ１０１）、
異常画像から異常データを除去するよう学習されたモデルに対して、異常画像を入力して、当該モデルから出力された出力画像と学習用正常画像との差分を取得し（ステップＳ１０２）、
差分に基づいて、学習用正常画像に挿入された異常データの前記優先度を新たに設定し（ステップＳ１０３）、
出力画像と学習用正常画像との差分が小さくなるようモデルの学習を行う（ステップＳ１０４）。
【００４５】
本発明は、以上のように構成されることにより、学習用正常画像に異常データを挿入した異常画像から当該異常データを除去するよう学習したモデルからの出力画像と学習用正常画像との差分を用いて、異常データの優先度を設定している。このため、除去の状況に応じて異常データの優先度が設定されるため、例えば、除去が難しいような異常データの学習を十分に行うことができ、異常品の検知精度の向上を図ることができる。
【００４６】
なお、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００４７】
以上、上記実施形態等を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることができる。
【００４８】
なお、本発明は、日本国にて２０１９年３月８日に特許出願された特願２０１９−０４２４３２の特許出願に基づく優先権主張の利益を享受するものであり、当該特許出願に記載された内容は、全て本明細書に含まれるものとする。
【００４９】
＜付記＞
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明における画像処理方法、画像処理装置、プログラムの構成の概略を説明する。但し、本発明は、以下の構成に限定されない。
（付記１）
異常データ毎に設定された優先度に基づいて、当該異常データを学習用正常画像に挿入した異常画像を生成し、
前記異常画像から前記異常データを除去するよう学習されたモデルに対して、前記異常画像を入力して、当該モデルから出力された出力画像と前記学習用正常画像との差分に基づいて、前記学習用正常画像に挿入された前記異常データの前記優先度を新たに設定し、
前記出力画像と前記学習用正常画像との差分が小さくなるよう前記モデルの学習を行う、
画像処理方法。
（付記２）
付記１に記載の画像処理方法であって、
前記異常データの前記優先度の値が大きいほど、当該異常データを優先して前記学習用正常画像に挿入して前記異常画像を生成し、
前記出力画像と前記学習用正常画像との差分が大きいほど、前記学習用正常画像に挿入された前記異常データの前記優先度の値が大きくなるよう当該優先度を新たに設定する、
画像処理方法。
（付記３）
付記２に記載の画像処理方法であって、
前記出力画像と前記学習用正常画像との差分が大きいほど、大きい値の優先度係数を設定し、前記学習用正常画像に挿入された前記異常データの前記優先度に前記優先度係数を乗算して当該優先度を新たに設定する、
画像処理方法。
（付記４）
付記１乃至３のいずれかに記載の画像処理方法であって、
前記学習用正常画像の位置毎に設定された位置優先度に基づいて、当該学習用正常画像の所定の位置に前記異常データを挿入した前記異常画像を生成し、
前記モデルに対して前記異常画像を入力して、前記出力画像と前記学習用正常画像との差分に基づいて、前記学習用正常画像の位置毎に設定された前記位置優先度を新たに設定する、
画像処理方法。
（付記５）
付記４に記載の画像処理方法であって、
前記学習用正常画像の前記位置優先度の値が大きい位置ほど優先して、当該学習用正常画像のその位置に前記異常データを挿入して前記異常画像を生成し、
前記出力画像と前記学習用正常画像との差分が大きいほど、前記異常データが挿入された前記学習用正常画像の位置に設定された前記位置優先度の値が大きくなるよう当該位置優先度を新たに設定する、
画像処理方法。
（付記６）
付記５に記載の画像処理方法であって、
前記出力画像と前記学習用正常画像との差分が大きいほど、大きい値の優先度係数を設定し、前記異常データが挿入された前記学習用正常画像の位置に設定された前記位置優先度に前記優先度係数を乗算して当該位置優先度を新たに設定する、
画像処理方法。
（付記７）
付記５又は６に記載の画像処理方法であって、
前記出力画像と前記学習用正常画像との差分が大きいほど、前記異常データが挿入された前記学習用正常画像の位置及びその所定範囲の周囲に設定された前記位置優先度の値が大きくなるよう当該位置優先度を新たに設定する、
画像処理方法。
（付記７．１）
付記１乃至７のいずれかに記載の画像処理方法であって、
前記出力画像と前記学習用正常画像とで相互に対応する画素毎の所定の値の差を、全ての画素について合計した合計値を前記差分として取得する、
画像処理方法。
（付記８）
付記１乃至７のいずれかに記載の画像処理方法であって、
学習された前記モデルに対して、検査用画像を入力して、当該モデルから出力された検査用出力画像と前記検査用画像との差分に基づいて、当該検査用画像の正常／異常を判定する、
画像処理方法。
（付記９）
異常データ毎に設定された優先度に基づいて、当該異常データを学習用正常画像に挿入した異常画像を生成する異常画像生成部と、
前記異常画像から前記異常データを除去するよう学習されたモデルに対して、前記異常画像を入力して、当該モデルから出力された出力画像と前記学習用正常画像との差分に基づいて、前記学習用正常画像に挿入された前記異常データの前記優先度を新たに設定する優先度設定部と、
前記出力画像と前記学習用正常画像との差分が小さくなるよう前記モデルの学習を行う学習部と、
を備えた画像処理装置。
（付記９．１）
付記９に記載の画像処理装置であって、
前記異常画像生成部は、前記異常データの前記優先度の値が大きいほど、当該異常データを優先して前記学習用正常画像に挿入して前記異常画像を生成し、
前記優先度設定部は、前記出力画像と前記学習用正常画像との差分が大きいほど、前記学習用正常画像に挿入された前記異常データの前記優先度の値が大きくなるよう当該優先度を新たに設定する、
画像処理装置。
（付記９．２）
付記９．１に記載の画像処理装置であって、
前記優先度設定部は、前記出力画像と前記学習用正常画像との差分が大きいほど、大きい値の優先度係数を設定し、前記学習用正常画像に挿入された前記異常データの前記優先度に前記優先度係数を乗算して当該優先度を新たに設定する、
画像処理装置。
（付記９．３）
付記９乃至９．２に記載の画像処理装置であって、
前記異常画像生成部は、前記学習用正常画像の位置毎に設定された位置優先度に基づいて、当該学習用正常画像の所定の位置に前記異常データを挿入した前記異常画像を生成し、
前記優先度設定部は、前記モデルに対して前記異常画像を入力して、前記出力画像と前記学習用正常画像との差分に基づいて、前記学習用正常画像の位置毎に設定された前記位置優先度を新たに設定する、
画像処理装置。
（付記９．４）
付記９．３に記載の画像処理装置であって、
前記異常画像生成部は、前記学習用正常画像の前記位置優先度の値が大きい位置ほど優先して、当該学習用正常画像のその位置に前記異常データを挿入して前記異常画像を生成し、
前記優先度設定部は、前記出力画像と前記学習用正常画像との差分が大きいほど、前記異常データが挿入された前記学習用正常画像の位置に設定された前記位置優先度の値が大きくなるよう当該位置優先度を新たに設定する、
画像処理装置。
（付記９．５）
付記９．４に記載の画像処理装置であって、
前記優先度設定部は、前記出力画像と前記学習用正常画像との差分が大きいほど、大きい値の優先度係数を設定し、前記異常データが挿入された前記学習用正常画像の位置に設定された前記位置優先度に前記優先度係数を乗算して当該位置優先度を新たに設定する、
画像処理装置。
（付記９．６）
付記９．４又は９．５に記載の画像処理装置であって、
前記優先度設定部は、前記出力画像と前記学習用正常画像との差分が大きいほど、前記異常データが挿入された前記学習用正常画像の位置及びその所定範囲の周囲に設定された前記位置優先度の値が大きくなるよう当該位置優先度を新たに設定する、
画像処理装置。
（付記９．７）
付記９乃至９．６のいずれかに記載の画像処理装置であって、
学習された前記モデルに対して、検査用画像を入力して、当該モデルから出力された検査用出力画像と前記検査用画像との差分に基づいて、当該検査用画像の正常／異常を判定する判定部を備えた、
画像処理装置。
（付記１０）
情報処理装置に、
異常データ毎に設定された優先度に基づいて、当該異常データを学習用正常画像に挿入した異常画像を生成する異常画像生成部と、
前記異常画像から前記異常データを除去するよう学習されたモデルに対して、前記異常画像を入力して、当該モデルから出力された出力画像と前記学習用正常画像との差分に基づいて、前記学習用正常画像に挿入された前記異常データの前記優先度を新たに設定する優先度設定部と、
前記出力画像と前記学習用正常画像との差分が小さくなるよう前記モデルの学習を行う学習部と、
を実現させるためのプログラム。
【符号の説明】
【００５０】
１０  画像検査装置
１１  異常画像生成部
１２  異常除去部
１３  優先度設定部
１４  判定部
１６  優先度データ記憶部
１７  モデル記憶部
１００  画像処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  プログラム群
１０５  記憶装置
１０６  ドライブ装置
１０７  通信インタフェース
１０８  入出力インタフェース
１０９  バス
１１０  記憶媒体
１１１  通信ネットワーク
１２１  異常画像生成部
１２２  優先度設定部
１２３  学習部
【図１】
2020184069.tif 000003
【図２】
2020184069.tif 000004
【図３】
2020184069.tif 000005
【図４】
2020184069.tif 000006
【図５】
2020184069.tif 000007
【図６】
2020184069.tif 000008
【図７】
2020184069.tif 000009
【図８】
2020184069.tif 000010
【図９】
2020184069.tif 000011
【図１０】
2020184069.tif 000012
【手続補正書】
【提出日】令和3年6月16日(2021.6.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
異常データ毎に設定された優先度に基づいて、当該異常データを学習用正常画像に挿入した異常画像を生成し、
前記異常画像から前記異常データを除去するよう学習されたモデルに対して、前記異常画像を入力して、当該モデルから出力された出力画像と前記学習用正常画像との差分に基づいて、前記学習用正常画像に挿入された前記異常データの前記優先度を新たに設定し、
前記出力画像と前記学習用正常画像との差分が小さくなるよう前記モデルの学習を行う、
画像処理方法。
【請求項２】
請求項１に記載の画像処理方法であって、
前記異常データの前記優先度の値が大きいほど、当該異常データを優先して前記学習用正常画像に挿入して前記異常画像を生成し、
前記出力画像と前記学習用正常画像との差分が大きいほど、前記学習用正常画像に挿入された前記異常データの前記優先度の値が大きくなるよう当該優先度を新たに設定する、
画像処理方法。
【請求項３】
請求項２に記載の画像処理方法であって、
前記出力画像と前記学習用正常画像との差分が大きいほど、大きい値の優先度係数を設定し、前記学習用正常画像に挿入された前記異常データの前記優先度に前記優先度係数を乗算して当該優先度を新たに設定する、
画像処理方法。
【請求項４】
請求項１乃至３のいずれかに記載の画像処理方法であって、
前記学習用正常画像の位置毎に設定された位置優先度に基づいて、当該学習用正常画像の所定の位置に前記異常データを挿入した前記異常画像を生成し、
前記モデルに対して前記異常画像を入力して、前記出力画像と前記学習用正常画像との差分に基づいて、前記学習用正常画像の位置毎に設定された前記位置優先度を新たに設定する、
画像処理方法。
【請求項５】
請求項４に記載の画像処理方法であって、
前記学習用正常画像の前記位置優先度の値が大きい位置ほど優先して、当該学習用正常画像のその位置に前記異常データを挿入して前記異常画像を生成し、
前記出力画像と前記学習用正常画像との差分が大きいほど、前記異常データが挿入された前記学習用正常画像の位置に設定された前記位置優先度の値が大きくなるよう当該位置優先度を新たに設定する、
画像処理方法。
【請求項６】
請求項５に記載の画像処理方法であって、
前記出力画像と前記学習用正常画像との差分が大きいほど、大きい値の優先度係数を設定し、前記異常データが挿入された前記学習用正常画像の位置に設定された前記位置優先度に前記優先度係数を乗算して当該位置優先度を新たに設定する、
画像処理方法。
【請求項７】
請求項１乃至６のいずれかに記載の画像処理方法であって、
前記出力画像と前記学習用正常画像とで相互に対応する画素毎の所定の値の差を、全ての画素について合計した合計値を前記差分として取得する、
画像処理方法。
【請求項８】
請求項１乃至７のいずれかに記載の画像処理方法であって、
学習された前記モデルに対して、検査用画像を入力して、当該モデルから出力された検査用出力画像と前記検査用画像との差分に基づいて、当該検査用画像の正常／異常を判定する、
画像処理方法。
【請求項９】
異常データ毎に設定された優先度に基づいて、当該異常データを学習用正常画像に挿入した異常画像を生成する異常画像生成部と、
前記異常画像から前記異常データを除去するよう学習されたモデルに対して、前記異常画像を入力して、当該モデルから出力された出力画像と前記学習用正常画像との差分に基づいて、前記学習用正常画像に挿入された前記異常データの前記優先度を新たに設定する優先度設定部と、
前記出力画像と前記学習用正常画像との差分が小さくなるよう前記モデルの学習を行う学習部と、
を備えた画像処理装置。
【請求項１０】
情報処理装置に、
異常データ毎に設定された優先度に基づいて、当該異常データを学習用正常画像に挿入した異常画像を生成する異常画像生成部と、
前記異常画像から前記異常データを除去するよう学習されたモデルに対して、前記異常画像を入力して、当該モデルから出力された出力画像と前記学習用正常画像との差分に基づいて、前記学習用正常画像に挿入された前記異常データの前記優先度を新たに設定する優先度設定部と、
前記出力画像と前記学習用正常画像との差分が小さくなるよう前記モデルの学習を行う学習部と、
を実現させるためのプログラム。
【国際調査報告】
2020184069.tif 000013
2020184069.tif 000014
2020184069.tif 000015
2020184069.tif 000016