(57)【特許請求の範囲】
【請求項１】
画像を処理する画像処理装置であって、
異なる物体形状の画像を学習することにより与えられる複数のモデル画像毎で、かつ前記モデル画像内に複数の領域を有し、前記領域毎に存在するパラメータと、
学習用に入力された入力画像が、前記複数のモデル画像のいずれに当てはまるかを表す確率を計算する計算手段と、
前記確率を元に前記パラメータを最適化した前記複数のモデル画像を用いて入力された検査画像を前記複数のモデル画像と比較する比較手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記検査画像が前記複数のモデル画像のうちいずれのモデル画像に当てはまるかを表す確率を、隠れ変数として用いることで前記パラメータを最適化する最適化手段を有することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記各モデル画像に存在する複数の領域ごとに、前記確率を計算をする計算手段を有することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記複数の領域ごとに計算した前記確率の積を用いて、前記複数のモデル画像のいずれに当てはまるかを表す確率を計算する計算手段を有することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記パラメータをＥＭアルゴリズムを用いて最適化する最適化手段を有することを特徴とする請求項２〜４のいずれか１項に記載の画像処理装置。
【請求項６】
前記比較手段によって比較した結果を元に、検査画像における欠陥領域を検出する検出手段を具備することを特徴とする請求項１〜５のいずれか１項に記載の画像処理装置。
【請求項７】
前記確率と、前記検査画像における前記複数のモデル画像との当てはまり度合いを元に外れ量を算出する算出手段を有することを特徴とする請求項１〜６のいずれか１項に記載の画像処理装置。
【請求項８】
前記複数のモデル画像の数を入力する入力手段を有することを特徴とする請求項１〜７のいずれか１項に記載の画像処理装置。
【請求項９】
画像を処理する画像処理装置が実行する画像処理方法であって、
異なる物体形状の画像を学習することにより与えられる複数のモデル画像毎で、かつ前記モデル画像内に複数の領域を有し、前記領域毎に存在するパラメータを計算するステップと、
学習用に入力された入力画像が、前記複数のモデル画像のいずれに当てはまるかを表す確率を計算するステップと、
前記確率を元に前記パラメータを最適化した前記複数のモデル画像を用いて入力された検査画像を前記複数のモデル画像と比較するステップと、
を実行することを特徴とする画像処理方法。
【請求項１０】
画像処理装置が画像を処理するための装置実行可能なプログラムであって、前記プログラムは、画像処理装置に対し、
異なる物体形状の画像を学習することにより与えられる複数のモデル画像毎で、かつ前記モデル画像内に複数の領域を有し、前記領域毎に存在するパラメータを計算するステップと、
学習用に入力された入力画像が、前記複数のモデル画像のいずれに当てはまるかを表す確率を計算するステップと、
前記確率を元に前記パラメータを最適化した前記複数のモデル画像を用いて入力された検査画像を前記複数のモデル画像と比較するステップと
を実行させることを特徴とする、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、およびプログラムに関する。
【背景技術】
【０００２】
所与のデータに関して、そのデータを解釈するために機械学習のアルゴリズムを利用することが知られている。データとしては、将棋、囲碁など将来の展開においてデータがどのような状態に有るかということ、画像に写っている被写体が人物であるかそうでないかということ、写っているシーンがどう人物が写っていて、背景は何か、などを挙げることができる。機械学習は、対象とするデータに応じて、例えば文章の識別、音声の識別、画像の識別、将来展開の予測など、広い範囲に対して使用されている。
【０００３】
また、機械学習のアルゴリズムを用いて材質の判別や、欠陥検査を行う方法も既に知られている。従来の機械学習を使用する材質判別や欠陥検査を行う場合、複数の同種で異なる状態にある対象物が画像内に存在すると精度が充分ではないという問題が有った。
【０００４】
例えば、ネジのタップ切り込み開始位置が異なるような複数の対象物を含む画像の欠陥を検出する場合には、欠陥ではないのにもかかわらず、タップ切り込み開始位置の差による画像の差が欠陥と判定されてしまう場合も有る。このとき、その差を許容するように判定しきい値を設定すると、欠陥の許容範囲も大きくなってしまい、欠陥検出感度が低くなるという問題があった。
【０００５】
従来から、画像を使用した欠陥検査法が知られており、例えば特開２００５−２６５６６１号公報（特許文献1）には、事前に用意した良品の画像群を元に，画素ごとの輝度値の平均と標準偏差を求め、検査時は対象画像の画素ごとに，輝度値の偏差値を計算（平均値を引いて標準偏差で割る）し、画素毎の偏差値が設定した閾値よりも大きい画素を異常（外れ値）と判断する方法が開示されている。
【０００６】
しかしながら、特許文献１に記載の技術は、画像内に複数の対象物を含むばらつきの大きな対象物の検査を行うことに対応するものではない。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、画像を使用した画像検査の精度を改善することを目的とする。
【課題を解決するための手段】
【０００８】
本発明によれば、
画像を処理する画像処理装置であって、
複数の物体形状を表現する複数のモデル毎で、かつ前記モデル内に複数の領域を有し、前記領域毎に存在するパラメータと、
学習用に入力された入力画像が、前記複数のモデルのいずれに当てはまるかを表す確率を計算する計算手段と、
前記確率を元に前記パラメータを最適化した前記複数のモデルを用いて入力された検査画像を前記複数のモデルと比較する比較手段と、
を有することを特徴とする画像処理装置が提供される。
【発明の効果】
【０００９】
本発明によれば、画像検査の精度を改善することができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態の画像処理システム１００の概略図。
【図２】本実施形態の画像処理装置１３０のハードウェアブロック２００を示す図。
【図３】本実施形態の画像処理装置１３０の機能ブロックを示す図。
【図４】本実施形態における学習ステージの処理のフローチャート。
【図５】図４で説明した本実施形態の学習ステップＳ４０３の詳細な処理のフローチャート。
【図６】本実施形態の画像処理方法における検査ステージの処理のフローチャート。
【図７】本実施形態の隠れ変数を使用するモデル推定処理７００について、画像を使用した説明図。
【図８】本実施形態において欠陥推定量をクラスタリングし、欠陥を推定する処理の概念図。
【図９】本実施例で使用した学習画像を示す図。
【図１０】生成した学習モデルを使用して実際の対象物を画像的に検査した結果を示す図。
【図１１】従来法により、各モデルを学習させた結果（比較例）を示す図。
【発明を実施するための形態】
【００１１】
以下、本発明を実施形態により説明するが、本発明は、後述する実施形態に限定されるものではない。図１は、本実施形態の画像処理システム１００の概略図である。図１の画像処理システム１００は、本実施形態において画像を使用した検査システムとして実装されている。画像処理システム１００は、カメラ１２０、画像処理装置１３０、および出力装置１４０を含んでいる。カメラ１２０が対象物１１０の画像を撮影し、撮影した画像を使用して画像処理装置１３０が対象物１１０の状態を判定する。
【００１２】
画像処理装置１３０の判断結果は、出力装置１４０に送られ、出力装置１４０は、アラームその他の外部装置を動作させて、対象物１１０に欠陥があることを通知する。なお、実施形態における欠陥とは、画像的に確認できるいかなる欠陥をもいうものであり、例えば、ピンホール、バリ、欠けその他を含むものである。
【００１３】
なお、画像処理装置１３０は、カメラ１２０に対して直接接続されるように記載されているが、本実施形態では、カメラ１２０と、画像処理装置１３０とを、ネットワークを介して遠隔的に配置することもできる。この場合、画像処理システム１００は、遠隔検査システムとして機能し、カメラ１２０は、イーサネット（登録商標）、ＷｉＦｉ、ＬＬＥ、３Ｇ、４Ｇその他、有線または無線ネットワーク（図示せず）を介して画像処理装置１３０に接続されていても良い。なお、特定の実施形態においては、カメラ１２０は、画像処理装置１３０と一体とされていても良く、また画像処理装置１３０に取付けられていても良い。
【００１４】
図２は、本実施形態の画像処理装置１３０のハードウェアブロック２００を示す。画像処理装置１３０は、パーソナル・コンピュータ、ワークステーションまたは専用の画像処理装置として実装することができる。画像処理装置１３０は、システムバス２０５により相互接続されたＣＰＵ２０１、ＲＡＭ２０２、ＲＯＭ２０３および通信装置２０４を含んで構成されている。システムバス２０５には、ＰＣＩ、ＰＣＩＥｘｐｒｅｓｓなどのバスブリッジを介してＩ／Ｏバス２０７が接続されている。
【００１５】
また、Ｉ／Ｏバス２０７には、適切なプロトコルを介して、表示装置２０８、ＨＤＤといった記憶装置２０９、カメラ１２０が接続されている。なお、カメラ１２０は、他の実施形態においては、通信装置２０４を介して接続することもできる。さらに画像処理装置１３０は、ＶＧＡ、ＨＤＭＩ（登録商標）、ＵＳＢなどの適切なバスを介して表示装置２０８に接続され、画像処理装置１３０からの映像出力を出力する。また、画像処理装置１３０には、マウス、キーボードどの他の入力装置２０６が接続され、外部から画像処理装置１３０を制御することが可能とされている。
【００１６】
画像処理装置１３０が使用するＣＰＵとしては、より具体的には、例えば、ＰＥＮＴＩＵＭ（登録商標）〜ＰＥＮＴＩＵＭ  ＩＶ（登録商標）、ＡＴＯＭ(登録商標）、ＣＯＲＥ２ＤＵＯ（登録商標）、ＣＯＲＥ２ＱＵＡＤ（登録商標）、ＣＯＲＥｉ（登録商標）シリーズ、ＸＥＯＮ（登録商標）などの他、ＰＥＮＴＩＵＭ（登録商標）互換ＣＰＵ、ＰＯＷＥＲ  ＰＣ（登録商標）、ＭＩＰＳなどを挙げることができる。
【００１７】
使用するオペレーティング・システム（ＯＳ）としては、ＭａｃＯＳ（商標）、Ｗｉｎｄｏｗｓ（登録商標）、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）、ＣＨＲＯＭＥ（登録商標）、ＡＮＤＲＯＩＤ（登録商標）またはそれ以外の適切なＯＳを挙げることができる。さらに、画像処理装置１３０は、上述したＯＳ上で動作する、アセンブラ言語、Ｃ、Ｃ＋＋、Ｖｉｓｕａｌ  Ｃ＋＋、ＶｉｓｕａｌＢａｓｉｃ、Ｊａｖａ（登録商標）、Ｐｅｒｌ、Ｒｕｂｙなどのプログラミング言語により記述されたアプリケーション・プログラムを格納し、実行することができる。
【００１８】
画像処理装置１３０における各種処理は、画像処理装置１３０が実装するＣＰＵ２０１が、ＲＡＭ２０２や記憶装置２０９に記憶されている各種プログラムを実行することにより画像処理装置１３０上に実現されるものである。なお、他の実施形態では上述した機能を、独立した回路（ハードウェア）で実現することもできる。
【００１９】
図３は、本実施形態の画像処理装置１３０の機能ブロックを示す。図３に示す実施形態は、情報の流れを明確にするべく、カメラ１２０も示す。カメラ１２０は、本実施形態における撮像手段に相当する。図３の機能ブロックは、Ｉ／Ｏ部１３１、対象物画像取得部１３２、および学習部１３３を含んでいる。Ｉ／Ｏ部１３１は、カメラ１２０が取得した画像を、学習シーケンスおよび検査のシーケンスに対応して、対象物画像取得部１３２または学習部１３３に振り分ける。対象物画像取得部１３２は、Ｉ／Ｏ部１３１から送られた画像データを例えばＲＡＭ２０２または画像専用の画像ＲＡＭ（図示せず）などに一旦格納し、下流側の処理が完了するまで画像を保存する。
【００２０】
なお、本実施形態では、対象物画像取得部１３２が取得した画像は、記憶部１３８に格納しておき、検査結果が生成された場合に、画像に検査結果を重畳して画像出力として出力することができる。また、画像は、対象物１１０を固有に識別する識別値と対応付けて記憶部１３８に検査ログとして格納しておくこともできる。
【００２１】
学習部１３３は、学習のために予めカメラ１２０が取得した欠陥のない画像を取得して、良品の対象物１１０の画像を学習する。対象物１１０は複数の異なる形状の物体であっても良いし、1つの対象物１１０上に複数の形状の部品、物体その他の被写体が写り込んでいて、画像の一部分を取り出して処理することできる。
【００２２】
なお、本実施形態では、良品の対象物１１０を取得して学習させて生成した画像を、対象物１１０の画像に対するモデルとして参照する。本実施形態では、複数の異なる形状の物体の画像をそれぞれ学習することにより、複数のモデルをk種類（kは、自然数である。）与える。ここで、対象物画像取得部１３２および学習部１３３の欠陥のない対象物１１０の画像を取得する機能手段は、本実施形態の複数の画像を複数のモデルに対応付けて取得する手段に相当する。また、学習部１３３の学習機能を提供する機能手段が、本実施形態の最適化手段に相当する。
【００２３】
さらに画像処理装置１３０は、欠陥推定量計算部１３４、クラスタリング部１３５、欠陥領域決定部１３６および検査結果生成部１３７を含んでいる。欠陥推定量計算部１３４は、学習部１３３が取得したモデルを使用して対象物１１０の画像に関し、どのモデルに当てはまるかの確率を計算し、そこから求めた一つもしくは、複数のモデルを使用して、欠陥推定量を画素ごとに計算する。欠陥推定量計算部１３４が、本実施形態における計算手段および比較手段に相当する。
【００２４】
クラスタリング部１３５は、画素について計算した欠陥推定量の大きさをクラスタリングし、例えば、設定した閾値以上の欠陥推定量を有する画素を決定する。なおクラスタリング部１３５が、本実施形態における検出手段に相当する。欠陥領域決定部１３６は、設定した閾値以上の欠陥推定量を有する画像の集合を欠陥として決定し、その結果を、検査結果生成部１３７に送付する。なお、欠陥領域決定部１３６は、ノイズなどによって画素単位で設定した閾値を超えるデータについてスクリーニングまたはアラームを生成する機能を提供することもできる。
【００２５】
検査結果生成部１３７は、欠陥領域決定部１３６の決定に応じて、例えば画像上に欠陥を示す画像をレンダリングする、対象物１１０の識別値および欠陥の有無を示す情報と共に、リストを生成する、または画像処理装置１３０に対し、欠陥が見いだされたことをアラームさせるかまたは画像的に表示させる処理を実行する。
【００２６】
なお、本実施形態において生成するべき検査結果は、対象物１１０の良品または欠陥品であるかが識別でき、必要に応じて、画像データを確認することが可能である限り、いかなる方法、フォーマットおよび形式とすることができる。
【００２７】
以下、本実施形態の画像処理方法を、図３に示した各機能部の機能を説明しながら詳細に説明する。図４に示す処理は、本実施形態における学習ステージに相当し、図３の学習部１３３が実行する処理である。なお、図４および後述する図５の処理は、画像処理装置１３０が実装するＣＰＵ２０１が、本実施形態のプログラムをＲＡＭ２０２に読み込んで、プログラムを動作させることにより、画像処理装置１３０の各ハードウェアを動作させることで、画像処理装置１３０を各機能手段として機能させることにより実現される。
【００２８】
本実施形態の画像処理方法は、ステップＳ４００から開始し、ステップＳ４０１で、学習するべき画像を取得する。本実施形態における統計処理は、画像から画素(x,y)の画素値を取得し、複数の画像から得た画素値を画素(x,y)の画素値の平均として画素平均値および当該画素の分散値を取得する。なお、画素平均値が本実施形態の第１のパラメータに相当し、画素分散値が、本実施形態の第２のパラメータに相当する。なお、本願における統計処理は、本例では、平均値と分散値を用いるものとするが、他にも画素値の確率分布を表現するパラメータで特に限定はなく、何を用いても良い。
【００２９】
画像の取得に際しては、同一の対象物の画像には、モデル識別値を付与し、対応付けを行いながら学習させることができる。他の実施形態では、モデルとモデル識別値とを対応付けること無く、後述するＥＭアルゴリズムにおける最適化処理で、モデルの負担率という、モデルを特定するための確率を、パラメータの最適化時に最適化させることができる。また、モデルをモデル識別値で識別する態様では、画像の対象物が写り込んでいない箇所に、モデル識別値をエンコードした２次元コードなどを埋め込んでおき、画像読み取りと同時に、モデル識別値を対応付けて読み込ませることができる。
【００３０】
なお、使用するモデルの数は、ユーザが任意に設定することができ、特にモデル数には限定はない。
【００３１】
その後、ステップＳ４０２で画素平均値および画素分散値をパラメータとして使用したＥＭアルゴリズムを使用する学習プロセスを実行する。本実施形態の学習アルゴリズムにおいては、第１の特徴量としてZスコアを用いる。このZスコアは、下記式（１）で与えられる。
【００３２】
【数１】
0006707920.tif 000002
【００３３】
上記式（１）中、In(x,y)は、学習するべきｎ番目の画像の画素値であり、μk(x,y)は、k番目のモデル画像の画素(x,y)の画素平均値であり、σ2k(x,y)は、k番目のモデル画像の画素（x,y)の画素値の分散値である。
【００３４】
以上の定式化においてZスコアは、n番目のk番目のモデル画像の画素(x,y)の偏差値を与える機能を有し、Zスコアは確率モデルに正規分布を仮定した場合のハズレ量を表す値である。本実施形態では例示的にZスコアを第１の特徴量とするが、確率モデル的に画素値を使用して計算することができる特徴量であれば、Zスコアに限定されない。
【００３５】
さらに本実施形態では、ＥＭアルゴリズムにおける第２の特徴量として、下記式（２）で与えられる、入力画像Inが、ｋ番目のモデルに該当する画像全体に対する同時確率enkを計算する。
【００３６】
【数２】
0006707920.tif 000003
【００３７】
確率enkは、Zスコアを平均０、分散１の標準正規分布の式に代入し、確率を各画素について求め、これを画素または領域ごとに積を計算し、同時確率を求める。なお、X,Yは、それぞれ入力画像の画素数である。本実施形態では、画素毎ではなく、画素全体にわたる画素値の分布からenkを求める。この例では、画像全体に対して同時確率enkを求めている。本実施形態によれば、入力画像のパーツ全体を見ながら、どのモデルに該当するかどうかという確率を、適切に求めることができる。
【００３８】
さらに、本実施形態のＥＭアルゴリズムにおいては、上述した確率enkを使用して、入力された画像が、それぞれどのモデルに分類されるかの期待値に相当する負担率γnkを、下記式（３）で計算する。Nは、入力する画像の総数であり、Kは、モデル数である。
【００３９】
【数３】
0006707920.tif 000004
【００４０】
本実施形態ではステップＳ４０３でモデルの学習処理を実行する。モデルの学習処理については、より詳細に後述する。モデルの学習が終了した後、モデルを特徴づける第１のパラメータおよび第２のパラメータは、対象物の検査、認識、判定などの目的のために、記憶装置に格納される。
【００４１】
図５は、図４で説明した本実施形態の学習ステップＳ４０２の学習処理の詳細なフローチャートである。ここで、ステップＳ５０１〜Ｓ５０２までがＥステップであり、ステップＳ５０３が、Ｍステップであり、本実施形態で実装されるＥＭアルゴリズムを構成する。図５の処理は、ステップＳ５００から開始し、ステップＳ５０１で、式（１）で示す第１の特徴量であるZスコアおよび式（２）で与えられる同時確率を計算する。
【００４２】
ステップＳ５０２で、計算したZスコアおよび同時確率を使用して、式（３）で与えられるモデルの負担率を計算する。その後、Ｓ５０３でこの負担率を重みとして使用し、画素値の重み付け画素平均値および重み付け画素分散値を計算し、これを記憶装置に格納する。
【００４３】
上述した重み付け画素平均値および重み付け画素分散値は、下記式（４）、（５）で与えられる。
【００４４】
【数４】
0006707920.tif 000005
【００４５】
【数５】
0006707920.tif 000006
【００４６】
上記式中、Nkは、下記式（６）で与えられる負担率の総和であり、式（４）および式（５）の規格化定数で、下記式（６）で与えられる。
【００４７】
【数６】
0006707920.tif 000007
【００４８】
その後、ステップＳ５０４で、前回計算した画素平均値および画素分散値のそれぞれの値と、ステップＳ５０３で計算した画素平均値および画素分散値の値の差が、設定した閾値以下であるか否かを判断する。ステップＳ５０４の判断でその差が閾値以下である場合（ｙｅｓ）、ステップＳ５０５で収束した画素平均値および画素分散値を、該当する画像のデータとして格納し、以後の検査のために使用する。
【００４９】
一方、ステップＳ５０４でそれぞれの値の差が閾値を超える場合（ｎｏ）、処理をステップＳ５０１に戻し、再度、Zスコア、同時確率、および負担率γnkを計算する。そして上記反復処理を、ステップＳ５０４で、それぞれの値の差が閾値以下となるまで実行させる。ステップＳ５０４の判断が肯定的な結果を返す場合（ｙｅｓ）、ステップＳ５０５でその時の画素平均値および画素分散値をモデルデータとして格納し、ステップＳ５０６で処理を終了する。
【００５０】
なお、学習開始時の初期値としては画素分散値は乱数、画素平均値は1としてもよいし、もしユーザーが入力画像をみながら、種類を分類できるように、入力画像がどちらのモデルに分けたいかが明確な場合には、モデルの初期値として、その入力画像の値を画素平均値として用いても良い。
【００５１】
図６は、本実施形態の画像処理方法における検査ステージの処理のフローチャートである。図６の処理は、ステップＳ６００から開始し、ステップＳ６０１で対象物画像取得部１３２が対象物の画像を取得し、当該画像を受領して欠陥推定量計算部１３４が、式1と式2にもとづいてZスコアおよび同時確率を計算する。ステップＳ６０２において、欠陥推定量計算部１３４は、隠れ変数となっている対象物１１０が帰属されるモデルを推定するために同時確率enk及び負担率γnkを計算する。なお、負担率γnkはあるモデルkに対してのみ1となり、他は0となる場合もあるし、そうではなく、複数のモデルに対して混合した形で例えば2つのモデルに対して0.5ずつを取る場合もある。このように必ずしも対象物１１０が帰属されるモデルは一つとは限らない。
【００５２】
ステップＳ６０３では、モデルを推定した後、欠陥推定量を、下記式（７）を使用して計算する。
【００５３】
【数７】
0006707920.tif 000008
【００５４】
上述した通り、Znkは、平均からのずれの大きさの指標となるので、対象物が画素(x,y)で欠陥を有している場合、Sn(x,y)の値は、大きくなり、画素(x,y)の平均値に近い場合、０に近づくという性質を有する。このため、ステップＳ６０４でクラスタリング部１３５が対象物の欠陥を、Sn(x,y)の値をクラスタリングすることにより、判定する。なお、欠陥領域決定部１３６により、対象物に発生する可能性のある欠陥の大きさの下限以下の広がりを有する画素については、計算上の誤差などを考慮して欠陥判定から排除することもできる。ステップＳ６０４の判定の後、処理はステップＳ６０５に進んで検査結果を生成して終了する。
【００５５】
図７は、本実施形態の処理７００の前提となる、モデル推定問題についての説明図である図７の説明では、説明の簡略化のため、モデルが２種類、すなわちK=2であるものとして説明する。今回は、図７に示すように、各画素が正規分布を持つと仮定したモデルが２つあり、観測できる画像はそのモデルのどれかから生成された画像であるとする。ここで、どのモデルから観測されたものかは不明であり、隠れ変数となっている。学習が完了する、つまりモデルの推定が完了すると、図の左にある各モデルごとの画素平均画像と画素分散画像が得られる。この２つの画像を元に、テスト時には入力画像に欠陥があるかどうかを検出する。
【００５６】
本実施形態では、学習ステップの終了時において、負担率γnkを最適化させる平均値および分散値が図５のステップＳ５０５で決定され、格納される。図７（a）は、ステップＳ５０５で決定された画素平均値および画素分散値を画素(x,y)にマッピングして示した、モデルデータを、可視表示したものである。
【００５７】
本実施形態では、図７（a）に示した画素値分布を使用し、式（２）の同時確率enk及び式（３）の負担率γnkに基づいて、隠れ変数であるモデルを測定画像から推定し、選択、または重みを付けて考慮する。当該選択を元に、欠陥量推定を行うことにより、複数の画像が存在する場合にでも高精度な欠陥推定を行うことが可能となる。
【００５８】
図８は、本実施形態において欠陥推定量をクラスタリングし、欠陥を推定する処理の概念図を示す。図８は、欠陥推定量Sn(x,y)を、対応する画素(x,y)に対応する位置にプロットして模式的に示す図である。画像欠陥が推定されない画素では、Sn(x,y)の値は、小さくなる。
【００５９】
一方、欠陥８３０が推定される画素では、欠陥推定量Sn(x,y)は、大きくなるため、欠陥８３０に対応する画素群の欠陥推定量Sn(x,y)８１０は、その周辺領域よりも大きくなる。欠陥の推定に際しては、例えば一例として欠陥推定量Sn(x,y)について、所定の閾値Ｔｈを設定しておき、この閾値Ｔｈを超えた領域を、欠陥領域と推定することができる。また、特に閾値Ｔｈを設定することなく、欠陥推定量Sn(x,y)と、例えば画像表示の際の明度とを対応付け、欠陥推定量Sn(x,y)をカラーマッピングすることで、欠陥領域を高い明度で表示する態様も採用することができる。
【００６０】
この他、何らかの原因により発生した画素の欠陥推定量Sn(x,y)８４０も、ポイント的に発生することが想定される。このようなポイント的に発生した画素については、特定の実施形態では、欠陥と推定することはしない。ただし、画像的に確認し、画像欠陥でないことの確認を促す出力を生成させることもできる。
【００６１】
以下、本実施形態を実施例を使用して説明する。なお、サンプル画像は、「画像応用技術専門委員会  外観検査アルゴリズムコンテスト2014」（外観検査アルゴリズムコンテスト2014、主催：精密工学会 画像応用技術専門委員会）の課題画像から引用したものを加工して使用した。図９は、本実施例で使用した学習画像を示す。図９から見てとることができるように、学習画像は、２つのモデル画像を含み、k=2である。図９に示す画像を図４、図５で説明した処理に適用し、各モデルを図７（ｃ）に示す測定画像からそれぞれ推定した。
【００６２】
このようにして生成したモデルを使用して実際の対象物を画像的に検査した。その結果を図１０に示す。図１０（ａ）は、モデルを画像的に示した図であり、それぞれのモデルに対し、左手側が画素平均値を示す平均画像、右手側が画素分散値を示す分散画像である。図１０（ａ）に示すように、それぞれのモデルは、本実施形態により、明確に分離できていることが示されている。
【００６３】
図１０（ｂ）は、本実施形態に従って生成した欠陥推定量マップＳを示す。欠陥推定量マップＳは、検査の対象である対象物および本実施形態により計算し、図８のようにして欠陥推定量Sn (x,y)を、Sn (x,y)=0を低明度（Ｂ）とし、欠陥量Sn (x,y)の大きさを明度に対応付けて割り当て、画素(x,y)にマッピングして生成した。図１０（ｂ）中、紙面左手側が検査対象とする対象物の画像であり、紙面右手側が、欠陥推定量マップである。図１０（ｂ）の対象物にみられる欠陥１０１０は、欠陥推定量マップＳにおいても欠陥１０２０として明確に識別されていることが示されている。以上の通り、本実施形態では、複数の形状が混在して学習される場合でも、欠陥検出の感度を充分に向上させることができることが示された。
【００６４】
図１１は、従来法（単一モデルで学習させたもの）により、各モデルを学習させた結果（比較例）を示す。図１１（ａ）は、モデルを画像的に示した図であり、それぞれのモデルに対し、左手側が平均画像、右手側が分散画像である。図１１（ａ）に示されるように、従来法では、２つのモデルが重なった状態で、学習されてしまい、平均画像、分散画像とも２モデルがミックスされた形状が与えられている。
【００６５】
図１１（ａ）に示した学習状態で、従来法によって検査した結果を図１１（ｂ）に示す。図１１（ｂ）は、本実施形態に従って生成した欠陥推定量マップＳを示す。欠陥推定量マップＳは、従来法では、k=1と固定している。検査の対象である対象物および本実施形態により計算し、図８のようにして欠陥推定量Sn (x,y)を、Sn (x,y)=0を低明度(B)とし、欠陥推定量Sn(x,y)の大きさを明度に対応付けて割り当て、画素(x,y)にマッピングして生成した対象物の画像である。紙面右手側が、欠陥推定量マップである。図１１（ｂ）の対象物にみられる欠陥１１１０は、色の濃淡変化で、欠陥１１２０として存在が認められるものの、図１１（ｂ）に示すように他の領域に比較して、充分に識別できていないことが示されている。
【００６６】
以上説明したように、本実施形態では、画像として複数の形状が混在して学習される場合でも、欠陥検出の感度を充分に向上させることができることが示された。すなわち、本実施形態においては、複数の形状を同時に学習させた場合でも効率的に画像中の異常を検出することを可能とする、画像処理装置、画像処理方法、画像処理システム、およびプログラムを提供することが可能となる。
【００６７】
これまで本発明を、実施形態をもって説明してきたが、本発明は、実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【００６８】
１００    ：画像処理システム
１１０    ：対象物
１２０    ：カメラ
１３０    ：画像処理装置
１３１    ：Ｉ／Ｏ部
１３２    ：対象物画像取得部
１３３    ：学習部
１３４    ：欠陥推定量計算部
１３５    ：クラスタリング部
１３６    ：欠陥領域決定部
１３７    ：検査結果生成部
１３８    ：記憶部
１４０    ：出力装置
２００    ：ハードウェアブロック
２０１    ：ＣＰＵ
２０２    ：ＲＡＭ
２０３    ：ＲＯＭ
２０４    ：通信装置
２０５    ：システムバス
２０６    ：入力装置
２０７    ：Ｉ／Ｏバス
２０８    ：表示装置
２０９    ：記憶装置
２１０    ：カメラ
【先行技術文献】
【特許文献】
【００６９】
【特許文献１】特開２００５−２６５６６１号公報
【図１】
0006707920.tif 000009
【図２】
0006707920.tif 000010
【図３】
0006707920.tif 000011
【図４】
0006707920.tif 000012
【図５】
0006707920.tif 000013
【図６】
0006707920.tif 000014
【図７】
0006707920.tif 000015
【図８】
0006707920.tif 000016
【図９】
0006707920.tif 000017
【図１０】
0006707920.tif 000018
【図１１】
0006707920.tif 000019