(58)【調査した分野】(Int.Cl.,DB名)
前記パラメータは、ランダムに決定された色、所定の確立分布に基づき決定された色、前記部分画像を平滑化した画像、前記部分画像にノイズを付加した画像の少なくともいずれかに基づき決定される請求項1乃至4のいずれか1項に記載の画像処理装置。
【発明を実施するための形態】
【0011】
[第1実施形態]
本発明の第1実施形態による画像処理装置及び画像処理方法について
図1乃至
図16Bを用いて説明する。
【0012】
まず、本実施形態による画像処理装置の構成について
図1及び
図2を用いて説明する。
図1は、本実施形態による画像処理装置のブロック図である。
図2は、本実施形態による画像処理装置のハードウェア構成の一例を示すブロック図である。
【0013】
本実施形態では、画像処理装置が、検査対象である検査対象品を含む検査画像を処理することにより、検査対象品が正常品であるか不良品であるかを判定して、異常として不良品を検出する検査を行う場合を例に説明する。ただし、本実施形態による画像処理装置は、不良品を検出する検査を行う場合のみならず、物体について異常を検出する場合に広く用いることができる。
【0014】
図1に示すように、本実施形態による画像処理装置100は、学習データ保存部10、パッチ切り出し部12、パッチ処理済みデータ保存部14、生成パラメータ描画部15、学習部16、学習モデル記憶部18、データ保存部20、正常画像生成部22、正常データ保存部24、不良品検出部26を備える。
【0015】
学習データ保存部10は、学習部16による学習に用いられる学習画像を保存する。学習画像は、検査対象品の正常品を含む画像、すなわち、検査対象品の正常な状態を表す画像である。
【0016】
パッチ切り出し部12は、学習データ保存部10から学習画像のデータを読み込み、学習画像に対してパッチ切り出しステップを実施する。すなわち、パッチ切り出し部12は、学習画像からパッチサイズの画像をパッチ画像として切り出す。また、パッチ切り出し部12は、パッチ画像からその中心部の画像を中心画像として切り出す。中心画像は、検査対象品の少なくとも所定の領域を含んでいる。パッチ切り出し部12は、中心画像が切り出されたパッチ画像である中心除去済みパッチ画像と、その中心画像との対を画像対として関連付けて出力する。パッチ切り出し部12は、学習画像について出力した画像対をパッチ処理済みデータ保存部14に保存する。
【0017】
また、パッチ切り出し部12は、データ保存部20から検査画像のデータを読み込み、学習画像の場合と同様に、検査画像に対してパッチ切り出し処理を実施する。パッチ切り出し部12は、学習画像の場合と同様に、検査画像について、中心除去済みパッチ画像と、その中心画像との対を画像対として関連付けて出力する。パッチ切り出し部12は、検査画像について出力した画像対をパッチ処理済みデータ保存部14に保存する。
【0018】
パッチ処理済みデータ保存部14は、パッチ切り出し部12により出力される学習画像についての画像対を保存する。また、パッチ処理済みデータ保存部14は、パッチ切り出し部12により出力される検査画像についての画像対を保存する。
【0019】
生成パラメータ描画部15は、クラスタ生成部151、クラスタ保存部152、生成パラメータ描画部153を備える。クラスタ生成部151は、パッチ処理済みデータ保存部14に保存された中心画像群を任意のクラスタへクラスタリングする。クラスタ保存部152はクラスタ生成部151によって生成されたクラスタを保存する。生成パラメータ描画部153は、クラスタ保存部152の中心部分に生成パラメータを描画する。
【0020】
学習部16は、生成パラメータ描画部153から読み出された画像対を用いて学習モデルを作成する。学習部16は、生成パラメータが描画された中心除去済みパッチ画像を学習データ、中心画像を教師データとして学習を実施して、生成パラメータが描画された中心除去済みパッチ画像から中心画像を復元する学習モデルを作成する。学習部16は、作成した学習モデルを学習モデル記憶部18に保存する。
【0021】
学習モデル記憶部18は、学習部16による学習の結果作成された学習済みの学習モデルを保存する。
【0022】
データ保存部20は、検査画像を保存する。検査画像は、検査対象である検査対象品を含む画像である。検査対象品は、特に限定されるものではない。本実施形態による画像処理装置は、例えば、完成品、部品等のあらゆる物体を検査対象品とすることができる。
【0023】
正常画像生成部22は、検査画像についての画像対のうちの生成パラメータが描画された中心除去済みパッチ画像からその中心部の画像である中心画像を推測し、中心除去済みパッチ画像から推測した推測画像を正常画像として生成する。正常画像は、検査画像に含まれる検査対象品の少なくとも所定の領域を含んでいる。正常画像生成部22は、パッチ処理済みデータ保存部14から検査画像についての画像対のうちの中心除去済みパッチ画像を読み込む。正常画像生成部22は、読み込んだ中心除去済みパッチ画像から、その中心除去済みパッチ画像の中心画像を推測して正常画像として生成する。正常画像生成部22は、推測画像である正常画像の生成に際して、学習モデル記憶部18から学習済みの学習モデルを読み込む。正常画像生成部22は、読み込んだ学習モデルを用いて、検査画像におけるパッチ画像の一部である中心除去済みパッチ画像からその中心画像を推測して、推測した推測画像を正常画像として生成する。正常画像生成部22は、生成した正常画像を正常データ保存部24に保存する。こうして、正常画像生成部22は、パッチ画像の一部である中心除去済みパッチ画像を使って正常画像を推測して生成する。
【0024】
正常データ保存部24は、正常画像生成部22により生成された正常画像を保存する。
【0025】
不良品検出部26は、比較部として機能し、検査画像についての画像対のうちの中心画像と、その中心除去済みパッチ画像から生成した正常画像とを比較する。さらに、不良品検出部26は、出力部として機能し、その比較結果を出力する。また、不良品検出部26は、判定部として機能し、比較結果に基づき、検査画像に含まれる検査対象品が正常品であるか不良品であるかを判定する。
【0026】
不良品検出部26は、パッチ処理済みデータ保存部14から検査画像についての画像対のうちの中心画像を読み込む。また、不良品検出部26は、その画像対のうちの中心除去済みパッチ画像から生成された正常画像を読み込む。不良品検出部26は、それぞれ読み込んだ中心画像と正常画像とを比較して、中心画像と正常画像との異同を判定する。これにより、不良品検出部26は、検査画像に含まれる検査対象品が正常品であるか不良品であるかを判定して、異常である不良品を判別して検出する。
【0027】
不良品検出部26は、不良品の検出結果を出力する。検出結果の出力方法は特に限定されるものではなく、種々の方法を用いることができる。例えば、不良品検出部26は、検出結果を表示装置に表示させたり、検出結果を音声として音声出力装置から出力したり、記憶装置に記憶されたデータベースに検出結果を格納することができる。
【0028】
上述した画像処理装置100は、例えばコンピュータ装置により構成される。画像処理装置100のハードウェア構成の一例について
図2を用いて説明する。なお、画像処理装置100は、単一の装置により構成されていてもよいし、有線又は無線で接続された2つ以上の物理的に分離された装置により構成されていてもよい。
【0029】
図2に示すように、画像処理装置100は、CPU(Central Processing Unit)1002と、ROM(Read Only Memory)1004と、RAM(Random Access Memory)1006と、HDD(Hard Disk Drive)1008とを備えている。また、画像処理装置100は、出力装置1010と、入力装置1012とを備えている。CPU1002、ROM1004、RAM1006、HDD1008、出力装置1010及び入力装置1012は、共通のバスライン1014に接続されている。
【0030】
CPU1002は、画像処理装置100の全体の動作を制御する。また、CPU1002は、上記のパッチ切り出し部12、学習部16、正常画像生成部22及び不良品検出部26の各部の機能を実現するプログラムを実行する。CPU1002は、HDD1008等に記憶されたプログラムをRAM1006にロードして実行することにより、パッチ切り出し部12、学習部16、正常画像生成部22及び不良品検出部26の各部の機能を実現する。
【0031】
なお、パッチ切り出し部12、学習部16、正常画像生成部22及び不良品検出部26は、それぞれ電気回路構成(circuitry)により実現されていてもよい。ここで、電気回路構成(circuitry)とは、単一のデバイス(single device)、複数のデバイス(multiple devices)、チップセット(chipset)又はクラウド(cloud)を概念的に含む文言である。
【0032】
ROM1004は、ブートプログラム等のプログラムが記憶されている。RAM1006は、CPU1002がプログラムを実行する際のワーキングエリアとして使用される。また、HDD1008には、CPU1002が実行するプログラムが記憶されている。
【0033】
また、HDD1008は、上記の学習データ保存部10、パッチ処理済みデータ保存部14、学習モデル記憶部18及び正常データ保存部24の各部の機能を実現する記憶装置である。なお、学習データ保存部10、パッチ処理済みデータ保存部14、学習モデル記憶部18及び正常データ保存部24の各部の機能を実現する記憶装置は、HDD1008に限定されるものではない。種々の記憶装置をこれら各部の機能を実現するものとして用いることができる。
【0034】
出力装置1010は、不良品検出部26による検出結果が出力されるものであり、例えば、表示装置、音声出力装置である。
【0035】
入力装置1012は、例えば、キーボード、マウス等である。また、入力装置1012は、出力装置1010である表示装置に組み込まれたタッチパネルであってもよい。画像処理装置100のオペレータは、入力装置1012を介して、画像処理装置100の設定を行ったり、処理の実行の指示を入力したりすることができる。
【0036】
なお、画像処理装置100のハードウェア構成は、上述した構成に限定されるものではなく、種々の構成とすることができる。例えば、画像処理装置100は、検出結果を保存する検出結果保存部と、検出結果を表示する検出結果表示部とを備え得る。この場合、不良品検出部26は、不良品の検出結果を検出結果保存部に保存する。不良品検出部26は、検出結果として、例えば、検査画像を識別する識別子とともに、検査対象品が正常品であるか不良品であるかを示す情報、不良品である場合には不良箇所を示す画像のデータ等を検出結果保存部に保存することができる。検出結果保存部は、不良品検出部26により出力された不良品の検出結果を保存する。検出結果保存部には、例えば、検出結果を格納するデータベースが保存されている。検出結果保存部の機能は、学習データ保存部10等と同様にHDD1008により実現される。検出結果表示部は、検出結果保存部に保存された不良品の検出結果を表示する。検出結果表示部は、検出結果の表示に際して、不良箇所を示す画像を表示することができる。検出結果表示部は、表示装置としての出力装置1010により実現される。
【0037】
次に、上記本実施形態による画像処理装置100の動作についてさらに
図3乃至
図14を用いて説明する。本実施形態による画像処理装置100は、動作することにより画像処理装置方法を実行する。
【0038】
本実施形態による画像処理装置100の動作は、パッチ切り出しステップ(
図3参照)と、学習ステップ(
図7参照)と、正常画像生成ステップ(
図10参照)と、不良品検出ステップ(
図12参照)とを含んでいる。パッチ切り出しステップは、パッチ切り出し部12により実施される。学習ステップは、学習部16により実施される。正常画像生成ステップは、正常画像生成部22により実施される。不良品検出ステップは、不良品検出部26により実施される。
【0039】
まず、本実施形態におけるパッチ切り出し処理について
図3乃至
図6を用いて説明する。
図3は、本実施形態による画像処理装置100の動作におけるパッチ切り出し処理を示すフローチャートである。
図4乃至
図6は、本実施形態による画像処理装置100の動作におけるパッチ切り出し処理を説明する概略図である。
【0040】
パッチ切り出し部12により実施されるパッチ切り出し処理は、画像からのパッチ画像の切り出し、パッチ画像の中心部の画像の除去等を行う。パッチ切り出し処理は、学習画像及び検査画像のそれぞれについて実施される。
【0041】
まず、
図3に示すように、ステップS101において、パッチ切り出し部12は、パッチ切り出し処理を実施すべき画像のデータを読み込む。学習画像についてパッチ切り出し処理を実施する場合、パッチ切り出し部12は、学習データ保存部10から学習画像を読み込む。一方、検査画像についてパッチ切り出し処理を実施する場合、パッチ切り出し部12は、データ保存部20から画像データを読み込む。
【0042】
次いで、ステップS102において、パッチ切り出し部12は、ステップS101で読み込んだ画像IMに対してパッチ切り出しを行う。
図4に示すように、画像IMには、検査対象品Tが含まれている。画像IMは、学習画像又は検査画像である。画像IMが学習画像である場合、画像IMに含まれる検査対象品Tは正常品である。画像IMが検査画像である場合、画像IMに含まれる検査対象品Tは、正常品であるか不良品であるかを判定すべきものである。
【0043】
パッチ切り出し処理において、パッチ切り出し部12は、
図4に示すように、読み込んだ画像IMから、あらかじめ設定されたパッチサイズの矩形状の画像をパッチ画像IMpとして画像IMの例えば左上から切り出す。なお、パッチ画像IMpを切り出すパッチサイズは、画像IMよりも小さいサイズの範囲で、検査に要求される精度等に応じて適宜設定することができる。
【0044】
さらに、パッチ切り出し処理において、パッチ切り出し部12は、
図5に示すように、切り出したパッチ画像IMpの中心部から、あらかじめ設定されたサイズの矩形状の画像を切り出して除去する。こうして、パッチ切り出し部12は、中心部の画像が除去された枠状のパッチ画像IMpである中心除去済みパッチ画像IMrを作成するとともに、パッチ画像IMpの中心部から切り出した画像である中心画像IMcを作成する。パッチ切り出し処理前のパッチ画像IMpは、第1の領域である中心除去済みパッチ画像IMrと、第2の領域である中心画像IMcとを含み、両画像から構成されていると考えることができる。なお、中心画像IMcを切り出すサイズは、パッチ画像IMpよりも小さいサイズの範囲で、検査に要求される精度等に応じて適宜設定することができる。
【0045】
その後、パッチ切り出し部12は、
図6に示すように、あらかじめ設定されたスライドサイズの分だけ画像IMにおいてスライド方向に移動した箇所から、上記と同様にパッチ画像IMpを切り出して、中心除去済みパッチ画像IMr及び中心画像IMcを作成する。なお、スライドサイズは、パッチ画像IMpを切り出すパッチサイズのスライド方向の幅と同じ又はその幅以下に設定することができる。また、パッチ切り出し部12は、顕著性マップなどの関心領域抽出の手法を用いて、特定の箇所を自動的に切り出しても良い。
【0046】
パッチ切り出し部12は、上述した
図4乃至
図6に示す動作を、画像IMの全領域についてパッチ画像IMpの切り出しが行われるまで繰り返して行い、画像IMについて中心除去済みパッチ画像IMrと中心画像IMcとの対である画像対を作成していく。
【0047】
なお、上記では、パッチ画像IMp及び中心画像IMcをいずれも矩形の形状としているが、これらの形状は、矩形等の四角形の形状に限定されるものではない。パッチ画像IMp及び中心画像IMcの形状は、四角形の形状ほか、例えば、円形、三角形等の、周囲の画像である中心除去済みパッチ画像IMrと中心画像IMcとの対が作成することができる形状であればよい。パッチ画像IMp及び中心画像IMcの形状は、互いに同一の形状である必要はなく、互いに異なる形状であってもよい。
【0048】
また、上記では、パッチ画像IMpの中心部から画像を切り出しているが、パッチ画像IMpからあらかじめ設定されたサイズの画像を切り出していれば、パッチ画像IMpから画像を切り出す領域は中心部に限定されるものではない。すなわち、パッチ切り出し部12は、パッチ画像IMpからその一部を切り出して、中心画像IMcに代えてパッチ画像IMpの一部である部分画像を作成してもよい。中心画像IMcに代えてパッチ画像IMpの一部である部分画像を作成する場合も、中心画像IMcに代えて部分画像を用いる点を除いて同様に処理することができる。
【0049】
次いで、ステップS103において、パッチ切り出し部12は、ステップS102で画像IMについて作成された中心除去済みパッチ画像IMrと中心画像IMcとの対である画像対を、パッチ処理済みデータ保存部14に保存する。
【0050】
上述のようにして、パッチ切り出し部12は、学習画像及び検査画像のそれぞれについてパッチ切り出し処理を実行する。なお、学習画像についてのパッチ切り出し処理は、学習処理の前に実行する。一方、検査画像についてのパッチ切り出し処理は、正常画像生成処理の前であれば、学習処理の前に実行することもできるし、学習処理の後に実行することもできる。
【0051】
次に、本実施形態における学習処理について
図7乃至
図9を用いて説明する。
図7は、本実施形態による画像処理装置100の動作における学習処理を示すフローチャートである。
図8及び
図9は、本実施形態による画像処理装置100の動作における学習処理を説明する概略図である。
【0052】
学習部16により実施される学習処理は、学習画像についてのパッチ切り出し処理の後に実施される。学習処理は、パッチ切り出し処理が実施された学習画像のデータを使った教師あり機械学習を行って、学習モデルを作成する。
【0053】
まず、
図7に示すように、ステップS201において、クラスタ生成部151は、パッチ処理済みデータ保存部14から、教師あり機械学習に使う学習用データを読み込む。学習用データは、学習画像について作成された中心除去済みパッチ画像と中心画像との対のデータである。
【0054】
ステップS202において、クラスタ生成部151は、ステップS201において読み込んだ複数の中心画像をクラスタリングする。すなわち、クラスタ生成部151は、複数の中心画像のそれぞれを、検査対象部位ごとの部位クラスタへクラスタリングする。例えば、画像IMにおける中心座標と同一または近接した中心座標を有する複数の中心画像を同一のクラスタにクラスタリングしても良い。クラスタは、検査対象を考慮してユーザによって定義されても良く、または、画像IMに一様に配置されるように自動的に定義されても良い。
【0055】
次に、クラスタ生成部151は、部位クラスタに含まれる中心画像をさらにサブクラスタであるパターンクラスタへクラスタリングする。ここでのクラスタは、例えば2つの中心画像の間の距離をそれぞれの画素間の色差の合計に基づき定義され得る。この場合、互いに距離が近い複数の中心画像は同一のサブクラスタにクラスタリングされる。クラスタおよびクラスタの数は検査対象を考慮してユーザによって定義され得る。クラスタ生成部151は部位クラスタおよびパターンクラスタをクラスタ保存部152に保存する。
【0056】
ステップS203において、生成パラメータ描画部153は中心除去済みパッチに対して生成パラメータ描画を行う。上述したように、ステップS202で作成された部位クラスタおよびパターンクラスタの組み合せによって、中心画像は各部位の典型的なバリエーションであるクラスタに分類されている。生成パラメータ描画部153は各クラスタに属する中心画像のセントロイド(平均値)を生成パラメータとして用い、生成パラメータを中心除去済みパッチに描画する。すなわち、生成パラメータ描画部153は、中心除去済みパッチと対になる中心画像を読み込み、その中心画像が属する部位クラスタおよびパターンクラスタを判定する。生成パラメータ描画部153は、判定したクラスタのセントロイドを生成パラメータとして中心除去済みパッチのセンター部分に描画する。
【0057】
ステップS204において、学習部16は、生成パラメータが描画された中心除去済みパッチ画像を学習データとし、中心画像を教師データとして学習を行う。学習部16は、検査対象品の正常な状態を表す画像である学習画像について作成された中心除去済みパッチ画像及び中心画像を用いて学習モデルを学習させる。
【0058】
図8及び
図9は、ステップS204の学習部16による学習のイメージを示している。学習部16は、
図8に示すように、生成パラメータが描画された中心除去済みパッチ画像IMrから、教師データとする複数の中心画像IMcを復元し、中心画像IMcを推測した推測画像を生成する学習モデルMを作成する。ここで、学習部16は、学習モデルMを作成する手法として、例えば、オートエンコーダのように入力を再現することのできる手法を用いることができる。また、学習部16は、学習の手法として例えばディープラーニングを用いた機械学習を実施することができる。学習部16は、
図9に示すように、学習画像である画像IMについて、切り出されたパッチ画像IMpから作成された中心除去済みパッチ画像IMrと中心画像IMcとの画像対を複数用いて学習モデルMを作成するための学習を行う。こうして、検査対象品の正常な状態を表す画像である学習画像について作成された中心除去済みパッチ画像IMr及び中心画像IMcを用いて学習させた学習モデルMが作成される。
【0059】
ステップS205において、学習部16は、ステップS204で作成された学習済みの学習モデルを学習モデル記憶部18に保存する。
【0060】
上述のようにして、学習部16は、パッチ画像の一部である中心除去済みパッチ画像から、パッチ画像の他の一部である中心画像を復元する学習モデルを作成する。学習部16は、以下に説明する正常画像生成処理の前にあらかじめ学習処理を実施して学習モデルを作成して学習モデル記憶部18に保存しておくことができる。
【0061】
ディープラーニングをはじめとする機械学習では、高い精度を出すためには、大量の正解データが必要となる。正常品及び不良品の判別の場合には、正解データとして正常品及び不良品のいずれについても十分な量のデータを収集する必要がある。しかしながら、実際の現場では、不良品についてデータを十分に収集することは困難である。
【0062】
これに対して、本実施形態では、検査対象品の正常品を含む画像である学習画像から作成された中心除去済みパッチ画像及び中心画像を用いて機械学習を行うため、検査対象品の不良品を含む画像を学習画像として用意する必要がない。したがって、十分な量の学習用データを容易に用意することができるため、学習モデルを容易に作成することができる。また、本実施形態においては、中心画像に基づき生成パラメータを中心除去済みパッチ画像に描画することにより、学習モデルから中心画像を正しく再現することができ、より精度の高い検査を実現することが可能となる。
【0063】
次に、本実施形態による正常画像生成処理について
図10及び
図11を用いて説明する。
図10は、本実施形態における正常画像生成処理を示すフローチャートである。
図11は、本実施形態における正常画像生成処理を説明する概略図である。
【0064】
正常画像生成処理において、正常画像生成部22は学習モデルと検査画像の中心除去済みパッチ画像とを使って、検査画像の中心画像を推測した正常画像を生成する。
【0065】
図10に示すように、ステップS301において、正常画像生成部22は、パッチ処理済みデータ保存部14から、正常画像を生成するための対象データを読み込む。ここで、対象データは、検査画像からパッチ切り出し処理がなされた中心除去済みパッチ画像である。正常画像生成部22は、パッチ切り出し部12により検査画像について作成される画像対のうち、中心除去済みパッチ画像を学習モデルに入力する画像とする。
【0066】
ステップS302において、正常画像生成部22は、学習モデル記憶部18から、学習済みの学習モデルを読み込む。なお、ステップS301及びステップS302は、いずれが先に実施されてもよいし、同時に実施されてもよい。
【0067】
ステップS303において、正常画像生成部22は検査画像に対して生成パラメータ描画を行い、ステップS302で読み込んだ学習モデルを用いて、仮中心画像(推測画像)を再現する。正常画像生成部22は、ステップS202で生成された部位クラスタおよびパターンクラスタを読み込むとともに、検査対象の各中心除去済みパッチ画像と対になる中心画像を読み込む。正常画像生成部22は、中心画像がいずれの部位クラスタに属するかを判定し、判定された部位クラスタが有するパターンクラスタのセントロイドを生成する。さらに、正常画像生成部22は、複数のセントロイドのそれぞれを生成パラメータとして複数の中心除去済みパッチ画像に描画する。正常画像生成部22はこの処理を反復し、仮中心画像である生成パラメータを複数パターン再現した仮中心画像群を作成する。
【0068】
ステップS304において、正常画像生成部22は、学習モデルを用いて、生成パラメータが描画された複数の中心除去済みパッチ画像から仮中心画像を生成する。ステップS305において、正常画像生成部22は、生成された仮中心画像を正常データ保存部24に保存する。ステップS306において、正常画像生成部22はすべての検査画像について仮中心画像の生成が終了した否かを判断し、すべての仮中心画像の生成が終了するまでステップS303〜S305の処理を繰り返し実行する。
【0069】
図11は、正常画像の生成処理を示している。検査画像である画像IMからパッチ画像IMpが切り出される。パッチ画像IMpから中心画像IMcが切り出され、中心除去済みパッチ画像IMrが生成される。生成パラメータ描画部153は、中心画像IMcが属するクラスタのセントロイドを生成パラメータimcとして、中心除去済みパッチ画像IMrに描画する。学習モデルMには、生成パラメータimcが描画された中心除去済みパッチ画像IMRが入力される。中心除去済みパッチ画像IMRの入力に対する学習モデルMから出力し、正常品の中心画像IMcを推測した画像である正常画像IMnを生成する。なお、画像IMに含まれる検査対象品Tには、傷等の欠陥Dが生じている場合がある。
【0070】
上述のようにして、正常画像生成部22は、検査画像から作成された複数の中心除去済みパッチ画像のそれぞれについて、学習モデルにより正常画像を生成する。また、本実施形態によれば、生成パラメータが描画された中心除去済みパッチ画像を用いて学習することにより、マスクされた領域に応じた正常画像を生成することが可能となる。
【0071】
不良品を検出する方法としては、機械学習を使わず、正常品のテンプレートを用意し、テンプレートと検査画像との差分に基づき不良品を検出する手法が考えられる。しかしながら、このようなテンプレートを用いた方法では、不良品の検出が、検査対象品の個体差、すなわち検査画像の個体差の影響を受ける場合がある。
【0072】
これに対して、本実施形態では、検査画像における中心除去済みパッチ画像から正常画像を推測して生成し、推測された正常画像を基準に不良品を検出する。このため、本実施形態では、正常品のテンプレートを用いる場合とは異なり、ロバスト性の高い不良品の検出を実現することができる。さらに、生成パラメータが描画された中心除去済みパッチ画像を用いることにより、精度の高い検出が可能となる。
【0073】
次に、本実施形態による不良品検出処理について
図12乃至
図14を用いて説明する。
図12は、本実施形態による不良品検出処理を示すフローチャートである。
図13及び
図14は、本実施形態による不良品検出処理を説明する概略図である。
【0074】
不良品検出部26は、検査画像からパッチ切り出しにより作成された実中心画像と学習モデルから生成された正常画像における仮中心画像との差分を計算する。さらに、不良品検出処理では、計算された差分に基づき、異常である不良品を判別して検出する。
【0075】
図12に示すように、ステップS401において、不良品検出部26は、対象データの一方として、パッチ処理済みデータ保存部14から、検査画像について作成された中心除去済みパッチ画像と実中心画像との画像対のうちの中心画像のデータを読み込む。また、不良品検出部26は、対象データの他方として、正常データ保存部24から、読み込んだ中心画像と画像対をなす中心除去済みパッチ画像から学習モデルにより生成された正常画像のデータを読み込む。正常画像は、中心除去済みパッチ画像から推測された中心画像群である。
【0076】
ステップS402において、不良品検出部26は、ステップS401で読み込んだ2種類の中心画像の差分、すなわち中心画像と正常画像との差分を計算して、差分に基づき両画像の異同を判定する。両画像の1対1の差分の計算方法は、特に限定されるものではないが、次のような計算方法を用いることができる。例えば、差分として、中心画像及び正常画像の特定位置の画素又は特定領域に含まれる画素の画素値の差の絶対値を計算することができる。また、差分として、中心画像と正常画像との間の画素値の差のある領域が連続する面積を計算することもできる。また、差分として、中心画像と正常画像との間の画素値の差のある領域の総面積を計算することもできる。また、差分として、中心画像と正常画像との間の画素値ごとの画素値の差の総和を計算することもできる。また、差分として、中心画像と正常画像との間の画素値ごとの画素値の差の平均を計算することもできる。また、差分として、SSD(Sum of Squared Difference)、SAD(Sum of Absolute Difference)を計算することもできる。
【0077】
なお、2種類の中心画像の差分を計算する際には、例えば、RGB画像その他のカラー画像の2種類の中心画像をそのまま差分の計算に用いるほかに、別の種類の画像や別の色空間の画像への変換、フィルタ処理を行ってから差分の計算に用いることもできる。例えば、グレースケール画像、2値化画像等の別の種類の画像に変換したり、HSVやYCbCrといった別の色空間の画像に変換したりしてから差分の計算に用いることができる。また、例えば、平均化フィルタ、メディアンフィルタ等の前処理フィルタや、ソーベルフィルタ、ラプラシアンフィルタ等のエッジ抽出フィルタを用いたフィルタ処理を行ってから差分の計算に用いることができる。さらに、2種類の中心画像について、1対多の差分を計算する方法として、上述の1対1の差分計算結果の集合に対して最小値計算を行うことができる。
【0078】
ステップS403において、不良品検出部26は、ステップS402で計算された差分が、あらかじめ設定された閾値を超えるか否かを判定する。ここで、正常品及び不良品を判定するための指標となる閾値の設定方法は、特に限定されるものではなく、例えば、手動で閾値を設定することができる。このほか、正常品を含む検査画像のみを用いて検証を行い、検証用の正常品を含む検査画像をすべて正しく正常品として判定することができる閾値を自動的に設定することもできる。
【0079】
不良品検出部26は、差分が閾値を超えていないと判定すると(ステップS403、NO)、検査画像から作成された中心画像が正常画像と同じであると判定し、中心画像が正常であると判定する(ステップS405)。一方、不良品検出部26は、差分が閾値を超えていると判定すると(ステップS403、YES)、検査画像から作成された中心画像が正常画像と異なると判定し、中心画像が不良であると判定する(ステップS404)。
【0080】
図13は、中心画像IMcが正常であると判定される処理の概要を示している。不良品検出部26は、中心画像IMcと正常画像IMnとの差分を算出し、それらの差分が閾値を超えないため、中心画像IMcが正常であると判定する。
図13に示す場合、中心画像IMcは、欠陥Dを含んでいないため、差分が閾値を超えず、正常であると判定される。
【0081】
一方、
図14は、中心画像IMcが不良であると判定される処理の概要を示している。不良品検出部26は、中心画像IMcと正常画像IMnとの差分を計算して両者を比較した結果、それらの差分が閾値を超えるため、中心画像IMcが異常であると判定する。この場合、中心画像IMcは、欠陥Dを含んでいるため、差分が閾値を超え、不良であると判定される。
【0082】
ステップS406において、不良品検出部26は、検査画像について作成された中心画像が正常であるか不良であるかの判定結果を出力する。
【0083】
不良品検出部26は、上述したステップS401からステップS406までのステップを、検査画像について作成された複数の中心画像のそれぞれについて実施する。
【0084】
ステップS407において、不良品検出部26は、ステップS406で出力された判定結果に基づき、不良品を検出してその検出結果を出力する。不良品の検出に際して、不良品検出部26は、検査画像について不良と判定された中心画像の数が零又は所定数以下である場合には、検査画像に含まれる検査対象品が正常品であると判定する。一方、不良品検出部26は、検査画像について不良と判定された中心画像の数が所定数を超える場合には、検査画像に含まれる検査対象品が不良品であると判定する。
【0085】
こうして、不良品検出部26は、検査画像に含まれる検査対象品が正常品であるか不良品であるかを判定して不良品を検出し、その検出結果を出力する。
【0086】
上述のように、本実施形態では、検査対象品の正常品を含む学習画像を用いて、中心除去済みパッチ画像から中心画像を復元する学習モデルを作成するため、不良品を含む画像を収集する必要がない。したがって、本実施形態によれば、十分な量の学習用データを容易に用意することができるため、学習モデルを容易に作成することができる。
【0087】
また、本実施形態では、検査画像における中心除去済みパッチ画像から正常画像を推測して生成し、推測された正常画像を基準に不良品を検出する。このため、本実施形態によれば、ロバスト性の高い不良品の検出を実現することができる。
【0088】
以上のとおり、本実施形態によれば、検査対象品を含む検査画像の一部を使って、検査対象品の少なくとも所定の領域を含む推測画像を正常画像として生成するので、画像の個体差の影響を低減しつつ高い精度で異常である不良品を判別することができる。また、本実施形態によれば、部分画像に応じて複数の生成パラメータを用意し、生成パラメータが描画した中心除去済みパッチ画像を用いて学習モデルにおける学習を行うことにより、より多くの正常画像を復元することができる。このため、正常品、不良品をさらに高い精度で判別することが可能となる。
【0089】
図15A、15Bは、生成パラメータを用いない学習処理および検査処理の比較例を説明するための図であって、
図15Aは生成パラメータを用いない学習処理、
図15Bは生成パラメータを用いない検査処理を表している。
図15Aにおいて、2種類のパッチ画像IMp_1、IMp_2から中心画像IMc_1、IMc_2が切り出され、中心除去済みパッチ画像IMr_1、IMr_2が生成される。中心除去済みパッチ画像IMr_1、IMr_2は中心画像IMc_1、IMc_2を教師データとして学習モデルMに入力される。ところが、中心画像IMc_1、IMc_2を再現するように学習することはできない。
図15Bにおいて、パッチ画像IMp_1は異常品、パッチ画像IMp_2は正常品を表している。検査処理においても、生成パラメータが描画されていない中心除去済みパッチ画像IMr_1、IMr_2を用いた場合、再現される中心画像IMc_1’、IMc_2’は元の中心画像IMc_1、IMc_2とは異なり、精度の良い検査が困難となる。
【0090】
図15A、15Bに示されたように、生成パラメータを用いない場合には、複数種類の中心画像が存在するにも拘わらず、検査画像に対する復元画像が一意に再現されてしまう。すなわち、検査画像の一部である部分画像をマスクし、部分画像の種類によらずに一定の色を部分画像に置き換えただけでは、異なる種類の部分画像を正しく再現することはできない。このため、正常品において、溶接跡、模様などの不定形変化、印字されたシリアル番号などの定型変化、照明条件による光沢および陰影の変化などが存在する場合、これらの変化を区別することができず、検査精度が悪化し得る。
【0091】
図16A、16Bは本実施形態における学習処理および検査処理を説明するための図であって、
図16Aは生成パラメータを用いた学習処理、
図16Bは生成パラメータを用いた検査処理を表している。
図16Aにおいて、中心除去済みパッチ画像IMr_1、IMr_2には、中心画像IMc_1、IMc_2に基づく生成パラメータimc_1、imc_2がそれぞれ描画される。生成パラメータimc_1、imc_2が描画された中心除去済みパッチ画像IMr_1、IMr_2は、中心画像IMc_1、IMc_2を教師データとして学習モデルMに入力される。生成パラメータimc_1、imc_2が描画された生成中心除去済みパッチ画像IMr_1、IMr_2は互いに区別可能であるため、学習モデルMから中心画像IMc_1、IMc_2を再現することが可能となる。
図16Bに示された検査処理においても、生成パラメータimc_1、imc_2が描画された中心除去済みパッチ画像IMr_1、IMr_2を用いた場合、再現される中心画像IMc_1’、IMc_2’は元の中心画像IMc_1、IMc_2を再現したものとなる。このため、精度の良い検査を行うことが可能となる。
【0092】
上述したように、本実施形態によれば、マスクされた部分画像に基づく生成パラメータを部分画像に描画することにより、異なった種類の部分画像を正しく再現することができる。これにより、検査精度をさらに高めることが可能となる。
【0093】
[第2実施形態]
図17は第2実施形態における画像処理装置のブロック図である。以下、第1実施形態と異なる構成を中心に説明する。第1実施形態における生成パラメータ描画部153はクラスタリングによって生成パラメータを生成していたが、第2実施形態における生成パラメータ描画部153はクラスタリングを用いる代わりに、ランダム(乱数)、各種画像変換処理によって生成パラメータを生成している。ランダムによる生成パラメータは例えば、一様なランダム、または制限付きランダムに基づき決定され得る。すなわち、生成パラメータ描画部153は一様な乱数に基づき決定した色、または制限付きの乱数、すなわち特定の確率分布に基づき決定した色を生成パラメータとして中心画像に描画する。特定の確率分布は、例えば学習に用いるパレット画像が有する色の正規分布などである。上述の処理によって決定さされる色は一色でも良く、または複数色であっても良い。さらに、生成パラメータ描画部153は除去した中心画像に対してスムージング(平滑化)またはノイジング(ノイズ付加)した画像を生成パラメータとして描画しても良い。
【0094】
本実施形態においても、検査対象品の正常品を含む画像である学習画像から作成された中心除去済みパッチ画像及び中心画像を用いて機械学習を行うため、検査対象品の不良品を含む画像を学習画像として用意する必要がない。したがって、十分な量の学習用データを用意することができるため、学習モデルを容易に作成することができる。また、中心画像に基づき生成パラメータを中心除去済みパッチに描画することにより、学習モデルから中心画像を正しく再現することができ、より精度の高い検査を実現することが可能となる。
【0095】
また、
図8に示す場合において、学習部16は、パッチ画像IMpを構成する枠状領域の中心除去済みパッチ画像IMrから、パッチ画像IMpを構成する中心領域の中心画像IMcを復元する学習モデルを学習して作成しているが、これに限定されるものではない。例えば、学習部16は、中心除去済みパッチ画像IMrから、中心画像IMcを含むパッチ画像IMpの全体を復元してパッチ画像IMpを推測した推測画像を生成する学習モデルを学習して作成することもできる。この場合、正常画像生成部22は、このような学習モデルを用いて、正常画像として、正常品である場合のパッチ画像IMpの全体を推測した推測画像を生成することができる。また、不良品検出部26は、検査画像についてのパッチ画像IMpの全体と、そのパッチ画像IMpの全体を推測した推測画像と比較して不良品を検出することができる。
【0096】
[他の実施形態]
上記各実施形態において説明した画像処理装置は、他の実施形態によれば、
図18に示すように構成することもできる。
図18は、他の実施形態による画像処理装置の機能構成を示すブロック図である。
【0097】
図18に示すように、画像処理装置2000は、検査対象を含む検査画像のうちの部分画像をマスクしたパッチ画像において、部分画像に基づき生成されたパラメータを部分画像に描画する描画部2001と、パラメータが描画されたパッチ画像を用いて、部分画像を推測した推測画像を出力する学習モデルを学習させる学習部2002と、推測画像と部分画像との比較結果を出力する比較部2003とを備える。
【0098】
本実施形態による画像処理装置2000によれば、検査対象を含む検査画像の一部を使って、検査対象の少なくとも所定の領域を含む推測画像を生成するため、画像の個体差の影響を低減しつつ高い精度で異常を判別することができる。また、検査画像のうちの部分画像をマスクしたパッチ画像を使って、部分画像を推測した推測画像と部分画像との比較結果を出力するため、画像の個体差の影響を低減しつつ高い精度で異常を判別することができる。また、検査画像のうちの部分画像には、部分画像に基づき生成されたパラメータを部分画像に描画することにより、異なる部分画像を区別して再現することができ、さらに高い精度で異常を判別することが可能となる。
【0099】
[変形実施形態]
本発明は、上記実施形態に限らず、種々の変形が可能である。例えば、上記実施形態では、検査対象品から不良品を検出する検査の場合を例に説明したが、これに限定されるものではない。本発明は、何らかの物体について正常状態であるか異常状態であるかを判定して、物体の異常状態、すなわち正常状態以外の状態を検出する場合に広く適用することができる。本発明は、例えば、建築物等の物体の破損を異常として検出する場合、異常物を検出する場合等にも適用することができる。
【0100】
また、上述の各実施形態の機能を実現するように該実施形態の構成を動作させるプログラムを記録媒体に記録させ、該記録媒体に記録されたプログラムをコードとして読み出し、コンピュータにおいて実行する処理方法も各実施形態の範疇に含まれる。すなわち、コンピュータ読取可能な記録媒体も各実施形態の範囲に含まれる。また、上述のコンピュータプログラムが記録された記録媒体はもちろん、そのコンピュータプログラム自体も各実施形態に含まれる。
【0101】
該記録媒体としては例えばフロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM(Compact Disc-Read Only Memory)、磁気テープ、不揮発性メモリカード、ROMを用いることができる。また該記録媒体に記録されたプログラム単体で処理を実行しているものに限らず、他のソフトウェア、拡張ボードの機能と共同して、OS(Operating System)上で動作して処理を実行するものも各実施形態の範疇に含まれる。
【0102】
上述の各実施形態の機能により実現されるサービスは、SaaS(Software as a Service)の形態でユーザに対して提供することもできる。
【0103】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0104】
(付記1)
検査対象を含む検査画像のうちの部分画像をマスクしたパッチ画像において、前記部分画像に基づき生成されたパラメータを前記部分画像に描画する描画部と、
前記パラメータが描画された前記パッチ画像を用いて、前記部分画像を推測した推測画像を出力する学習モデルを学習させる学習部と、
前記推測画像と前記部分画像との比較結果を出力する比較部とを備える画像処理装置。
【0105】
(付記2)
前記描画部は複数の前記パラメータのうちのいずれかを前記部分画像に描画する付記1に記載の画像処理装置。
【0106】
(付記3)
前記部分画像を複数のクラスタのいずれかに分類するクラスタリング部をさらに備え、
前記描画部は、分類された前記クラスタ毎に前記パラメータを生成する付記1または2に記載の画像処理装置。
【0107】
(付記4)
前記描画部は、分類された前記クラスタに含まれる複数の前記部分画像のセントロイドを前記パラメータとして生成する付記3に記載の画像処理装置。
【0108】
(付記5)
前記パラメータは、ランダムに決定された色、所定の確立分布に基づき決定された色、前記部分画像を平滑化した画像、前記部分画像にノイズを付加した画像の少なくともいずれかに基づき決定される付記1乃至4のいずれかに記載の画像処理装置。
【0109】
(付記6)
前記学習モデルは、前記検査対象の正常な状態を表す画像を用いて学習させたものである付記1乃至5のいずれかに記載の画像処理装置。
【0110】
(付記7)
前記推測画像は、前記検査対象の正常な状態を表す画像を含む付記1乃至6のいずれかに記載の画像処理装置。
【0111】
(付記8)
前記比較部は、前記検査画像と前記推測画像との差分を計算する付記1乃至7のいずれかに記載の画像処理装置。
【0112】
(付記9)
検査対象を含む検査画像のうちの部分画像をマスクしたパッチ画像において、前記部分画像に基づき生成されたパラメータを前記部分画像に描画するステップと、
前記パラメータが描画された前記パッチ画像を用いて、前記部分画像を推測した推測画像を出力する学習モデルを学習させるステップと、
前記推測画像と前記部分画像との比較結果を出力するステップと、
を備える画像処理方法。
【0113】
(付記10)
コンピュータに、
検査対象を含む検査画像のうちの部分画像をマスクしたパッチ画像において、前記部分画像に基づき生成されたパラメータを前記部分画像に描画するステップと、
前記パラメータが描画された前記パッチ画像を用いて、前記部分画像を推測した推測画像を出力する学習モデルを学習させるステップと、
前記推測画像と前記部分画像との比較結果を出力するステップと、
を実行させるプログラムが記録された記録媒体。
【0114】
この出願は、2018年2月13日に出願された日本出願特願2018−022862を基礎とする優先権を主張し、その開示のすべてをここに取り込む。