(57)【要約】 【課題】様々な対象に対して統一的に一定の基準で異常判定を行うことが可能な情報処理装置、情報処理方法およびプログラムを提供する。【解決手段】本発明の情報処理装置は、生成部と第１の算出部と第２の算出部と判別部とを備える。生成部は、入力画像に対し複数の異なる空間フィルタを適用して、複数のフィルタ画像を生成する。第１の算出部は、複数のフィルタ画像と１対１に対応し、かつ、対象形状を表現するパラメータを有する１以上のモデルを含む複数のモデル群を用いて、複数のフィルタ画像の各々に含まれる複数の画素ごとに、対応するモデル群との差分に応じた値を示すスコアを算出する。第２の算出部は、複数のフィルタ画像にわたって互いに対応する複数の画素の各々のスコアを統合した統合スコアを算出する。判別部は、統合スコアに基づいて異常を判別する。【選択図】図３
2018116672.tif 000002
【特許請求の範囲】
【請求項１】
一つの入力画像に対し複数の異なる空間フィルタを適用して、複数のフィルタ画像を生成する生成部と、
前記複数のフィルタ画像と１対１に対応し、かつ、対象形状を表現するパラメータを有する１以上のモデルをそれぞれ含む複数のモデル群を用いて、前記複数のフィルタ画像の各々に含まれる複数の画素ごとに、対応する前記モデル群との差分に応じた値を示すスコアを算出する第１の算出部と、
前記複数のフィルタ画像にわたって互いに対応する複数の画素の各々の前記スコアを統合した結果を示す統合スコアを算出する第２の算出部と、
前記統合スコアに基づいて異常を判別する判別部と、を備える、
情報処理装置。
【請求項２】
前記パラメータは、良品画像の画素値の平均を示す画素平均値、および、前記良品画像の画素値の分散を示す画素分散値を含み、
前記第１の算出部は、
前記複数のフィルタ画像の各々に含まれる複数の画素ごとに、該画素の画素値と、対応する前記パラメータとに基づいて前記スコアを算出する、
請求項１に記載の情報処理装置。
【請求項３】
前記画素分散値を、閾値より大きい所定値になるように補正する分散補正部を備える、
請求項２に記載の情報処理装置。
【請求項４】
前記スコアはＺスコアである、
請求項２に記載の情報処理装置。
【請求項５】
前記第２の算出部は、前記複数のフィルタ画像にわたって互いに対応する複数の画素ごとに、該複数の画素の各々の前記スコアに対応する発生確率の同時確率に基づいて前記統合スコアを算出する、
請求項４に記載の情報処理装置。
【請求項６】
前記第２の算出部は、
以下の式（１）より前記スコアに対応する発生確率を算出し、
以下の式（２）より前記統合スコアを算出する、
請求項５に記載の情報処理装置。
【数１】
2018116672.tif 000021
【数２】
2018116672.tif 000022
【請求項７】
前記第２の算出部は、前記複数のフィルタ画像にわたって互いに対応する複数の画素ごとに、該複数の画素の各々の前記スコアの平均値を前記統合スコアとして算出する、
請求項１乃至４のうちの何れか１項に記載の情報処理装置。
【請求項８】
前記第２の算出部は、前記複数のフィルタ画像にわたって互いに対応する複数の画素ごとに、該複数の画素の各々の前記スコアの合計値を前記統合スコアとして算出する、
請求項１乃至４のうちの何れか１項に記載の情報処理装置。
【請求項９】
何れかの前記フィルタ画像に対応するモデル群が複数のモデルを含む場合、前記第１の算出部は、前記フィルタ画像に含まれる複数の画素の各々について、該画素の各モデルとの差分に応じた値を示す単位スコアと、該フィルタ画像が各モデルに当てはまる確率と、に基づいて、該画素の最終的な前記スコアを決定する、
請求項１乃至８のうちの何れか１項に記載の情報処理装置。
【請求項１０】
一つの入力画像に対し複数の異なる空間フィルタを適用して、複数のフィルタ画像を生成する生成ステップと、
前記複数のフィルタ画像と１対１に対応し、かつ、対象形状を表現するパラメータを有する１以上のモデルをそれぞれ含む複数のモデル群を用いて、前記複数のフィルタ画像の各々に含まれる複数の画素ごとに、対応する前記モデル群との差分に応じた値を示すスコアを算出する第１の算出ステップと、
前記複数のフィルタ画像にわたって互いに対応する複数の画素の各々の前記スコアを統合した結果を示す統合スコアを算出する第２の算出ステップと、
前記統合スコアに基づいて異常を判別する判別ステップと、を含む、
情報処理方法。
【請求項１１】
コンピュータに、
一つの入力画像に対し複数の異なる空間フィルタを適用して、複数のフィルタ画像を生成する生成ステップと、
前記複数のフィルタ画像と１対１に対応し、かつ、対象形状を表現するパラメータを有する１以上のモデルをそれぞれ含む複数のモデル群を用いて、前記複数のフィルタ画像の各々に含まれる複数の画素ごとに、対応する前記モデル群との差分に応じた値を示すスコアを算出する第１の算出ステップと、
前記複数のフィルタ画像にわたって互いに対応する複数の画素の各々の前記スコアを統合した結果を示す統合スコアを算出する第２の算出ステップと、
前記統合スコアに基づいて異常を判別する判別ステップと、を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
あるデータに関して、それがどの状態に属するかを判定する機械学習のアルゴリズムが知られている。この機械学習のアルゴリズムを用いて、画像に写っている被写体が人物であるか、そうでないかということや、写っているシーンがどういうものであるか、文章の識別、音声の識別などを行うことができ、広い応用範囲に対して使用されている。
【０００３】
従来、この機械学習のアルゴリズムを用いて、材質の判別や、欠陥検査を行う方法も知られている。例えば多重解像度解析を用いて、欠陥などの異常を検出する技術も知られている（特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術では、精度を向上させるために複数の解像度の画像を用いて検査を行う場合に、欠陥か否かの判定は、異常量を検出すること、または予め準備した特徴量との比較により行うことができるが、どれだけ異常なのかを判定する際に統計的に意味のある閾値を出せないために、様々なパラメータを調整する必要がある。つまり、従来技術では、様々な対象に対して統一的に一定の基準で異常判定を行うことが困難であるという問題がある。
【０００５】
本発明は、上記に鑑みてなされたものであって、様々な対象に対して統一的に一定の基準で異常判定を行うことが可能な情報処理装置、情報処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、一つの入力画像に対し複数の異なる空間フィルタを適用して、複数のフィルタ画像を生成する生成部と、前記複数のフィルタ画像と１対１に対応し、かつ、対象形状を表現するパラメータを有する１以上のモデルを含む複数のモデル群を用いて、前記複数のフィルタ画像の各々に含まれる複数の画素ごとに、対応する前記モデル群との差分に応じた値を示すスコアを算出する第１の算出部と、前記複数のフィルタ画像にわたって互いに対応する複数の画素の各々の前記スコアを統合した結果を示す統合スコアを算出する第２の算出部と、前記統合スコアに基づいて異常を判別する判別部と、を備える情報処理装置である。
【発明の効果】
【０００７】
本発明によれば、様々な対象に対して統一的に一定の基準で異常判定を行うことができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、情報処理システムの概略構成を示す図である。
【図２】図２は、情報処理装置のハードウェア構成の一例を示す図である。
【図３】図３は、情報処理装置が有する機能の一例を示す図である。
【図４】図４は、学習部の動作例を示すフローチャートである。
【図５】図５は、学習部の動作例を示すフローチャートである。
【図６】図６は、学習部による処理の前提となるモデル推定問題についての説明図である。
【図７】図７は、統合スコアを算出するまでのアルゴリズムの全体構成を示す模式図である。
【図８】図８は、検査時の情報処理装置の動作例を示すフローチャートである。
【図９】図９は、変形例の処理フローを説明するための模式図である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照しながら、本発明に係る情報処理装置、情報処理方法およびプログラムの実施形態を詳細に説明する。
【００１０】
図１は、本実施形態の情報処理システム１００の概略構成を示す図である。この情報処理システム１００は、画像を使用した検査システムとして機能する。図１に示すように、情報処理システム１００は、カメラ１２０、情報処理装置１３０、出力装置１４０を含んでいる。カメラ１２０が対象物１１０を撮影し、その撮影により得られた画像（以下の説明では「撮影画像」と称する場合がある）を情報処理装置１３０が取得する。情報処理装置１３０は、撮影画像を使用して対象物１１０の状態を判定（異常領域の有無を判定）し、判定結果を出力装置１４０へ送信する。出力装置１４０は、情報処理装置１３０から受信した判定結果を出力する。出力の形態は任意であり、音声出力であってもよいし、画像出力であってもよい。
【００１１】
なお、図１の例では、情報処理装置１３０はカメラ１２０に対して直接接続（有線接続）されるように記載されているが、これに限らず、例えば情報処理装置１３０とカメラ１２０が無線接続される形態であってもよい。例えば情報処理装置１３０は、イーサネット（登録商標）、ＷｉＦｉ、ＬＴＥ、３Ｇ、４Ｇ等のネットワークを介してカメラ１２０と接続されてもよい。さらに、例えばカメラ１２０と情報処理装置１３０が一体に構成される形態であってもよい。同様に、出力装置１４０と情報処理装置１３０が一体に構成される形態であってもよい。
【００１２】
図２は、情報処理装置１３０のハードウェア構成の一例を示す図である。情報処理装置１３０は、パーソナル・コンピュータ、ワークステーション等の形態であってもよい。図２に示すように、情報処理装置１３０は、ＣＰＵ１３１、ＲＯＭ１３２、ＲＡＭ１３３、記憶装置１３４、入力部１３５、表示部１３６、機器Ｉ／Ｆ１３７、通信Ｉ／Ｆ１３８を有する。
【００１３】
ＣＰＵ１３１は、情報処理装置１３０の動作を統括的に制御する。ＣＰＵ１３１は、ＲＡＭ１３３の所定の領域を作業領域として、ＲＯＭ１３２や記憶装置１３４等に記憶されたプログラムを実行して、情報処理装置１３０が有する各種の機能を実現させる。情報処理装置１３０が有する機能の具体的な内容については後述する。
【００１４】
ＲＯＭ１３２は、情報処理装置１３０に関わるプログラムや各種設定情報などを記憶する不揮発性のメモリ（書き換え不可能なメモリ）である。
【００１５】
ＲＡＭ１３３は、例えばＳＤＲＡＭ（Synchronous  Dynamic  Random  Access  Memory）などの記憶手段であって、ＣＰＵ１３１の作業領域として機能し、バッファなどの役割を果たす。
【００１６】
記憶装置１３４は、例えばＨＤＤ（Hard  Disk  Drive）などの補助記憶手段である。入力部１３５は、ユーザの操作を受け付けるためのデバイスである。表示部１３６は、情報処理装置１３０に関する各種の情報を表示するデバイスであり、例えば液晶ディスプレイなどで構成される。
【００１７】
機器Ｉ／Ｆ１３７は、例えばカメラ１２０や出力装置１４０と接続するためのインタフェースである。通信Ｉ／Ｆ１３８は、インターネットなどのネットワークと接続するためのインタフェースである。例えば機器Ｉ／Ｆ１３７の代わりに、通信Ｉ／Ｆ１３８を介して、カメラ１２０や出力装置１４０と接続される形態であってもよい。
【００１８】
図３は、情報処理装置１３０が有する機能の一例を示す図である。図３に示すように、情報処理装置１３０は、取得部２０１、生成部２０２、学習部２０３、算出部２０４、判別部２０５、判別結果通知部２０６を有する。説明の便宜上、図３の例では、本実施形態に関する機能を主に例示しているが、情報処理装置１３０が有する機能はこれらに限られるものではない。
【００１９】
取得部２０１は、カメラ１２０から撮影画像を取得する。生成部２０２は、一つの入力画像（取得部２０１により取得された撮影画像）に対し複数の異なる空間フィルタを適用して、複数のフィルタ画像を生成する。ここでは、フィルタ数は１２であるが、これに限られるものではない。本実施形態のように１２個のフィルタを用いる場合は、例えば３つのスケール×４つの方向（０度方向、４５度方向、９０度方向、１３５度方向）などとすることができる。例えばフィルタ係数としては、以下の式１〜式４で表される４つのフィルタ行列を使用することができる。
【数１】
2018116672.tif 000003
【数２】
2018116672.tif 000004
【数３】
2018116672.tif 000005
【数４】
2018116672.tif 000006
【００２０】
また、スケールとしては、等倍のものに加え、１／４倍、１／８倍に入力画像を縮小したものを以上のフィルタに適用して元の等倍に戻すことで、合計１２個のフィルタ画像が得られる。また、ここでは、以上のフィルタを適用しない状態の撮影画像（例外的に、フィルタ画像の一態様と考えてもよい）も加えて、この例では１３個のフィルタ画像を用いて異常検出を行う。
【００２１】
学習部２０３は、予め用意された欠陥の無い複数の画像（良品画像）を元に、良品の対象物１１０の画像を学習する。より具体的には、学習部２０３は、複数の空間フィルタごとに、対象形状を表現するパラメータを有する１以上のモデルを含むモデル群を学習する。この例では、学習部２０３は、１３個のフィルタ画像と１対１に対応する１３個のモデル群を学習することになる。この例では、パラメータとして、複数の良品画像の各画素値の平均（画素平均値）μ（ｘ，ｙ）、と分散（画素分散値）σ２（ｘ，ｙ）を採用するが、これに限られるものではない。
【００２２】
以下、学習方法について説明する。ここでは、任意の一の空間フィルタに対して、複数（Ｋ個）のモデルを含むモデル群を学習する場合を例に挙げて説明する。モデルとしては、各画素が正規分布を持つと仮定し、そのようなモデルが複数（Ｋ個）存在することを前提とする。観測できる画像は、その複数のモデルのうちの何れかから生成された画像であるとする。ここで、どのモデルから観測されたものかは不明であり、隠れ変数となっている。学習が完了すると（モデルの推定が完了すると）、複数のモデルごとの画素平均値μ（ｘ，ｙ）と、画素分散値σ２（ｘ，ｙ）が得られる。検査時には、この複数のモデルごとのパラメータを元に、撮影画像の欠陥の有無を判定することになる。
【００２３】
隠れ変数とモデルパラメータは同時に決めることができないので、ここでは、隠れ変数を持つ場合のモデルパラメータの推定に有効なＥＭアルゴリズムを用いて学習を行う。以下、ＥＭアルゴリズムのＥステップとＭステップに分けて説明する。
【００２４】
学習はまずＥステップからスタートする。学習部２０３は、入力画像（上記一の空間フィルタに対応するｎ個の良品画像（良品のフィルタ画像））に含まれる複数の画素の各々について、Ｋ個のモデルごとのＺスコアを算出する。ｎ番目の入力画像に含まれる画素（ｘ，ｙ）のｋ番目のモデルに対するＺスコアＺｎｋ（ｘ，ｙ）は、以下の式５で表される。以下の式５において、Ｉｎ（ｘ，ｙ）は、ｎ番目の入力画像の画素（ｘ，ｙ）の画素値（輝度値）である。また、μｋ（ｘ，ｙ）およびσ２ｋ（ｘ，ｙ）は、ｋ番目のモデルの画素（ｘ，ｙ）のパラメータである。より具体的には、μｋ（ｘ，ｙ）は、ｋ番目のモデルの画素（ｘ，ｙ）の画素平均値、σ２ｋ（ｘ，ｙ）は、ｋ番目のモデルの画素（ｘ，ｙ）の画素分散値である。Ｚスコアは確率モデルに正規分布を仮定した場合のハズレ量を表す値である。
【数５】
2018116672.tif 000007
【００２５】
次に、学習部２０３は、ｎ番目の入力画像Ｉｎがｋ番目のモデルｋに当てはまる確率ｅｎｋを求める。確率ｅｎｋは、以下の式６で表すことができる。この例では、学習部２０３は、Ｚスコアを平均０、分散１の標準正規分布の式に代入し、確率密度を画素ごとに求め、画素または領域ごとの確率密度の積を計算して同時確率を求める。なお、以下の式６におけるＸ，Ｙは、それぞれ入力画像の横方向および縦方向の画素数である。ここでは、画素毎ではなく画像全体にわたる画素値の分布から上記確率ｅｎｋを求めている。こうすることで、入力画像のパーツ全体を見ながら、どのモデルに該当するかという確率を適切に求めることができる。
【数６】
2018116672.tif 000008
【００２６】
次に、学習部２０３は、上述の確率ｅｎｋを使用して、入力画像がそれぞれどのモデルから発生したものかの期待値に相当する負担率γｎｋを求める。負担率γｎｋは、以下の式７により求めることができる。Ｎは入力画像の総数、Ｋはモデル数を表す。以上がＥステップの内容である。
【数７】
2018116672.tif 000009
【００２７】
Ｅステップ完了後、学習部２０３は、Ｍステップで各モデルのパラメータを推定する。より具体的には、学習部２０３は、上記負担率γｎｋで重みを付けｋ番目のモデルの各画素の画素平均値μｋ（ｘ，ｙ）を求める。この例では、画素平均値μｋ（ｘ，ｙ）は以下の式８により求めることができる。
【数８】
2018116672.tif 000010
【００２８】
また、学習部２０３は、上記負担率γｎｋで重みを付けｋ番目のモデルの各画素の画素分散値σ２ｋ（ｘ，ｙ）を求める。この例では、画素分散値σ２ｋ（ｘ，ｙ）は以下の式９により求めることができる。
【数９】
2018116672.tif 000011
【００２９】
なお、上記式８、式９におけるＮｋは、以下の式１０により求められる。
【数１０】
2018116672.tif 000012
【００３０】
以上のＭステップが完了した後、学習部２０３は、前回からのパラメータの変動が閾値以下になるまで（収束条件を満たすまで）、再度Ｅステップに戻って処理を繰り返す。以上のＥステップとＭステップを繰り返すことにより、隠れ変数がある状態でモデルのパラメータを推定することができる。なお、初期値は一例として、μｋ（ｘ，ｙ）は乱数、σ２ｋ（ｘ，ｙ）は１であってもよいし、もしユーザが入力画像を見ながら、種類を分類できるように、入力画像をどちらのモデルに分けたいかが明確な場合には、モデルの初期値として、その入力画像の画素値をμｋ（ｘ，ｙ）としてもよい。以上のようにして、学習部２０３は、Ｋ個のモデルのパラメータ（μｋ（ｘ，ｙ）、σ２ｋ（ｘ，ｙ））を学習する。
【００３１】
図４は、学習部２０３の動作例を示すフローチャートである。図４に示すように、まず学習部２０３は、予め用意された良品画像を取得する（ステップＳ１）。例えば複数の空間フィルタごとに、予め用意された良品画像群が記憶装置１３４等に格納されており、学習部２０３は、記憶装置１３４等にアクセスして、複数の空間フィルタごとの良品画像群を取得する形態であってもよい。次に、学習部２０３は、以上に説明した学習処理を行う（ステップＳ２）。
【００３２】
図５は、ステップＳ２の学習処理の詳細な内容を示すフローチャートである。各ステップの具体的な内容は上述したとおりであるので、適宜に説明を省略する。なお、図５に示す各ステップの処理は、空間フィルタの数分だけ実施されるが、説明の便宜上、ここでは、１つの空間フィルタに対応する処理を説明する。図５に示すように、学習部２０３は、対象となる空間フィルタに対応する入力画像（良品画像）に含まれる複数の画素の各々について、Ｋ個のモデルごとのＺスコアを算出する（ステップＳ１１）。次に、学習部２０３は、上記確率ｅｎｋを求める（ステップＳ１２）。次に、学習部２０３は、上記負担率γｎｋを求める（ステップＳ１３）。次に、学習部２０３は、各モデルのパラメータ（μｋ（ｘ，ｙ）、σ２ｋ（ｘ，ｙ））を算出する（ステップＳ１４）。上述のステップＳ１１〜ステップＳ１３の処理はＥステップに該当し、上述のステップＳ１４の処理はＭステップに該当する。
【００３３】
次に、学習部２０３は、前回からのパラメータの変動が閾値以下であるか否かを判断する（ステップＳ１５）。ステップＳ１５の結果が否定の場合（ステップＳ１５：Ｎｏ）、上述のステップＳ１１以降の処理を繰り返す。ステップＳ１５の結果が肯定の場合（ステップＳ１５：Ｙｅｓ）、ステップＳ１４で算出したパラメータを最終的なパラメータとして決定する（ステップＳ１６）。以上のようにして決定されたパラメータは、例えば記憶装置１３４等に格納される。
【００３４】
図６は、上述した学習部２０３による処理の前提となるモデル推定問題についての説明図である。なお、図６のサンプル画像は、「画像応用技術専門委員会  外観検査アルゴリズムコンテスト2014」（外観検査アルゴリズムコンテスト2014、主催：精密工学会 画像応用技術専門委員会）の課題画像から引用したものを加工して使用している。図６の例では、モデルが２種類（何れかの空間フィルタに対応するモデル群に含まれるモデルが２種類）、すなわちＫ＝２である場合を例に挙げて説明する。図６の例では、各画素が正規分布を持つと仮定したモデルが２つあり、観測できる画像は何れかのモデルから生成された画像であるとする。ここで、どのモデルから観測されたのかは不明であり、隠れ変数となっている。学習が完了、つまり、モデルの推定が完了すると、図６の左に示すモデルごとの画素平均画像と画素分散画像が得られる。この２つの画像を元に、テスト時には入力画像に欠陥があるかどうかを検出する。
【００３５】
上述したように、本実施形態の学習処理では、上記負担率γｎｋを最適化させる画素平均値μｋ（ｘ，ｙ）および画素分散値σ２ｋ（ｘ，ｙ）が決定されて格納される。図６（ａ）は、図５のステップＳ１６で決定された画素平均値μｋ（ｘ，ｙ）および画素分散値σ２ｋ（ｘ，ｙ）を画素（ｘ，ｙ）ごとにマッピングして示した、モデルデータを可視表示したものである。本実施形態では、図６（ａ）に示す情報を使用し、上記確率ｅｎｋおよび上記負担率γｎｋに基づいて、隠れ変数であるモデルを測定画像から推定し、選択または重みを付けて考慮する。
【００３６】
図３に戻って、情報処理装置１３０が有する機能の説明を続ける。算出部２０４は、生成部２０２により生成された複数のフィルタ画像と、学習部２０３により学習されたモデル群とに基づいて、全てのモデルを考慮したＺスコアを算出する。ここでは、算出部２０４は、第１の算出部２１１と、第２の算出部２１２とを含む。
【００３７】
第１の算出部２１１は、複数のフィルタ画像と１対１に対応する複数のモデル群を用いて、複数のフィルタ画像の各々に含まれる複数の画素ごとに、対応するモデル群との差分に応じた値を示す（この例ではモデル群との差が大きいほど高い値を示す）スコアを算出する。第１の算出部２１１は、複数のフィルタ画像の各々に含まれる複数の画素ごとに、該画素の画素値と、対応するモデル群のパラメータとに基づいてスコアを算出する。ここでは、スコアはＺスコアで表される。
【００３８】
以下、任意の一のフィルタ画像に対応するモデル群を用いて、該フィルタ画像に含まれる各画素のＺスコアを算出する方法を説明するが、他のフィルタ画像の各画素についても同様の方法でＺスコアを算出する。ここでは、任意の一のフィルタ画像に対応するモデル群にはＫ個のモデルが含まれている場合を例に挙げて説明するが、これに限らず、例えばモデル群には１個のモデルのみが含まれる形態であってもよい（モデル群に含まれるモデルの数は任意である）。
【００３９】
上記一のフィルタ画像（入力画像）が生成部２０２により生成されて第１の算出部２１１に入力されると、第１の算出部２１１は、上記一のフィルタ画像に含まれる各画素について、上記式５を用いて、モデルごとのＺスコアＺｎｋ（ｘ，ｙ）を求める。また、第１の算出部２１１は、上記式６を用いて上記確率ｅｎｋを求める。そして、第１の算出部２１１は、上記一のフィルタ画像に含まれる各画素について、以下の式１１を用いて、モデルからのハズレ量、つまり欠陥推定量Ｓｎ（ｘ，ｙ）を求める。モデル群が複数のモデルを含む多モデルでは、この欠陥推定量Ｓｎ（ｘ，ｙ）が、学習したモデルの発生確率に基づくＺスコアとなる。この例では、第１の算出部２１１は、上記一のフィルタ画像の各画素の欠陥推定量Ｓｎ（ｘ，ｙ）を最終的なＺスコアとして算出する。つまり、本実施形態では、何れかのフィルタ画像に対応するモデル群が複数のモデルを含む場合、第１の算出部２１１は、該フィルタ画像に含まれる複数の画素の各々について、該画素の各モデルとの差分に応じた値を示す単位スコア（この例ではＫ個のモデルごとのＺスコアＺｎｋ（ｘ，ｙ））と、該フィルタ画像が各モデルに当てはまる確率ｅｎｋと、に基づいて、該画素の最終的なＺスコアを決定している。
【数１１】
2018116672.tif 000013
【００４０】
なお、ここで上記学習により得られた画像（学習画像）の輝度値がほぼ一定に揃っている部分では、検査用の入力画像の該当部分の輝度値が学習画像の輝度値と少しでもずれていると、大きな異常としてＺスコアが大きくでてしまう。しかし、人間の感覚では、その部分における画素間の微小な差は分からないため、一般的な目視の検査では、異常とはされない。そこで、人間のそのような視覚特性に合わせるため、上記式５を以下の式１２のように変更することで、検査の精度を向上させることができる。
【数１２】
2018116672.tif 000014
【００４１】
ここで、上記式１２におけるｓａｔ（ｘ）は、以下の式１３で表される関数である。
【数１３】
2018116672.tif 000015
【００４２】
上記式１３におけるｃは定数であり、テストの結果を見ながら調整するパラメータである。上記式１３で表される関数を分散値に作用させることで、学習画像の領域に含まれる各画素の輝度値が全て、あるいは概ね揃っている場合にも、学習した分散値としては、０もしくは小さな値ではない一定値(上記ｃの値)となる。そのため、検査時に、学習画像において輝度値がほぼ一定に揃っている部分における画素の輝度値の平均値と、入力画像の該当部分の輝度値とが少しずれている場合にも、Ｚスコアが大きくなりすぎることを抑制できる。
【００４３】
なお、上記式１３で表される関数以外でも、学習した分散値が小さくなりすぎないようにすれば良いので、例えば上記式５を以下の式１４に変更する方法であってもよい。
【数１４】
2018116672.tif 000016
【００４４】
ここで、上記式１４におけるｄは定数であり、テストの結果を見ながら調整するパラメータである。この式を用いることにより、分母が過剰に小さくなることがなくなるため、Ｚスコアが大きくなりすぎない。
【００４５】
以上に説明したように、学習画像のうち輝度値がほぼ一定に揃っている部分では、検査時の入力画像の該当部分の輝度値が少しでもずれると大きな異常として検出されてしまうが、人間の感覚では画素間の微小な差は分からない。そこで、その部分の異常検出の感度を落とすことで、上記問題を解消できる。つまり、本実施形態の情報処理装置１３０は、良品画像の画素値の分散を示す画素分散値を、閾値（例えば０などの非常に小さい値）より大きい所定値になるように補正する機能（分散補正部）を有する形態であってもよい。例えば上述の第１の算出部２１１が上記分散補正部を兼ねる形態であってもよいし、上述の第１の算出部２１１とは別に上記分散補正部が設けられる形態であってもよい。
【００４６】
以上のようにして、第１の算出部２１１は、複数のフィルタ画像の各々に含まれる複数の画素ごとにＺスコアを算出する。以下の説明では、ｍ番目のフィルタ画像の画素（ｘ，ｙ）のＺスコアをＺｍ（ｘ，ｙ）と表記する場合がある。
【００４７】
なお、ここでは、各画素（ピクセル）の発生確率に正規分布を仮定しているので、このＺスコアは、入力した画像の該当ピクセルが学習したモデルを考えた時に、標準正規分布で何σの発生確率となるということを示している。なお、この例では多モデルを用いる場合について記載したが、もちろん単モデルを仮定して同じことを行ってもよく、その場合には、Ｋ＝１として、学習時に上記式８および上記式９でモデルを求め、検出時に上記式５でＺスコアを算出すればよい。また、ここでは各ピクセルは正規分布を持つと仮定したが、より精度を上げるには、上記多モデルで行ったのと同じように、ＥＭアルゴリズムを用いて混合ガウス分布としてモデル化しても良い。
【００４８】
第２の算出部２１２は、複数のフィルタ画像にわたって互いに対応する複数の画素の各々のＺスコアＺｍ（ｘ，ｙ）を統合した結果を示す統合スコアＺｔｏｔａｌ（ｘ，ｙ）を算出する。つまり、複数のフィルタ画像を統合した１枚の画像の各画素の統合スコアＺｔｏｔａｌ（ｘ，ｙ）を算出すると考えてよい。この例では１３個のフィルタ画像の画素数は同じであり、各画素は互いに対応しているものとする。また、ここでは、ＺスコアＺｍ（ｘ，ｙ）は標準正規分布における標準偏差であるので、第２の算出部２１２は、複数のフィルタ画像にわたって互いに対応する複数の画素ごとに、該複数の画素の各々のＺスコアＺｍ（ｘ，ｙ）に対応する発生確率Ｐｍ（ｘ，ｙ）の同時確率に基づいて統合スコアＺｔｏｔａｌ（ｘ，ｙ）を算出する。より具体的には、第２の算出部２１２は、以下の式１５よりＺスコアＺｍ（ｘ，ｙ）に対応する発生確率Ｐｍ（ｘ，ｙ）を算出し、以下の式１６より統合スコアＺｔｏｔａｌ（ｘ，ｙ）を算出する。
【数１５】
2018116672.tif 000017
【数１６】
2018116672.tif 000018
【００４９】
上記統合スコアＺｔｏｔａｌ（ｘ，ｙ）は、全てのモデル群を考慮したＺスコアの値である。この値は、全ての空間フィルタ、つまり多様なスケールや多様なエッジ方向などの要素を全て統一的に、標準正規分布における標準偏差という根拠ある発生確率として示したものであり、いわゆる生産工程などで良く用いられる何σまで許容するかという値と一致する。そのため、この値で閾値を決めることで、複数の空間フィルタ毎に個別の閾値を設定する必要がなく、さらに何σ以上は異常とするといった、根拠がある基準で異常を判別できるようになる。
【００５０】
以上のように、本実施形態では、検査時においては、一つの入力画像（撮影画像）に対し複数の異なる空間フィルタを適用して、複数のフィルタ画像を生成し、複数のフィルタ画像の各々に含まれる複数の画素ごとに、対応するモデル群との差分に応じたＺスコアＺｍ（ｘ，ｙ）を算出する。そして、複数のフィルタ画像にわたって互いに対応する複数の画素の各々のＺスコアＺｍ（ｘ，ｙ）を統合した統合スコアＺｔｏｔａｌ（ｘ，ｙ）を算出する。図７は、統合スコアＺｔｏｔａｌ（ｘ，ｙ）を算出するまでのアルゴリズムの全体構成を示す模式図である。
【００５１】
図３に戻って説明を続ける。判別部２０５は、統合スコアＺｔｏｔａｌ（ｘ，ｙ）に基づいて異常を判別する。より具体的には、判別部２０５は、取得部２０１により取得された撮影画像のうち、予め定められた閾値以上の統合スコアＺｔｏｔａｌ（ｘ，ｙ）を示す領域を異常領域（欠陥が存在する欠陥領域）として判別することができる。
【００５２】
判別結果通知部２０６は、判別部２０５により判別された異常領域を示す情報を、出力装置１４０へ通知する。この通知を受けた出力装置１４０は、異常領域を報知する情報（音声情報でもよいし画像情報でもよい）を出力する。
【００５３】
図８は、検査時の情報処理装置１３０の動作例を示すフローチャートである。図８に示すように、取得部２０１は、カメラ１２０から撮影画像を取得する（ステップＳ１０１）。次に、生成部２０２は、ステップＳ１０１で取得された撮影画像（入力画像）に対し複数の異なる空間フィルタを適用して、複数のフィルタ画像を生成する（ステップＳ１０２）。次に、算出部２０４は、ステップＳ１０２で得られた複数のフィルタ画像と、予め学習部２０３で学習された複数のモデル群（複数のフィルタ画像と１対１に対応）とに基づいて、上述の統合スコアＺｔｏｔａｌ（ｘ，ｙ）を算出する（ステップＳ１０３）。次に、判別部２０５は、ステップＳ１０１で取得された撮影画像のうち、予め定められた閾値以上の統合スコアＺｔｏｔａｌ（ｘ，ｙ）を示す領域を異常領域（欠陥が存在する欠陥領域）として判別する（ステップＳ１０４）。次に、判別結果通知部２０６は、ステップＳ１０４の判別結果を出力装置１４０へ通知する（ステップＳ１０５）。
【００５４】
以上に説明したように、本実施形態では、複数のフィルタ画像にわたって互いに対応する複数の画素の各々のＺスコアＺｍ（ｘ，ｙ）を統合した統合スコアＺｔｏｔａｌ（ｘ，ｙ）に基づいて、入力された画像（撮影画像）の異常領域を判別するので、様々な対象に対して統一的に一定の基準で異常判定を行うことができる。
【００５５】
以上、本発明に係る実施形態について説明したが、本発明は、上述の各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述の実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに異なる実施形態や変形例を適宜に組み合わせてもよい。
【００５６】
また、上述した実施形態の情報処理システム１００で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよいし、インターネット等のネットワーク経由で提供または配布するように構成してもよい。また、各種プログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【００５７】
以下、変形例を記載する。
【００５８】
（１）変形例１
例えば第２の算出部２１２は、複数のフィルタ画像にわたって互いに対応する複数の画素ごとに、該複数の画素の各々のＺスコアＺｍ（ｘ，ｙ）の平均値を統合スコアＺｔｏｔａｌ（ｘ，ｙ）として算出する形態であってもよい。この場合、第２の算出部２１２は、以下の式１７により統合スコアＺｔｏｔａｌ（ｘ，ｙ）を算出することができる。
【数１７】
2018116672.tif 000019
【００５９】
（２）変形例２
例えば第２の算出部２１２は、複数のフィルタ画像にわたって互いに対応する複数の画素ごとに、該複数の画素の各々のＺスコアＺｍ（ｘ，ｙ）の合計値を統合スコアＺｔｏｔａｌ（ｘ，ｙ）として算出する形態であってもよい。この場合、第２の算出部２１２は、以下の式１８より統合スコアＺｔｏｔａｌ（ｘ，ｙ）を算出することができる。
【数１８】
2018116672.tif 000020
【００６０】
（３）変形例３
例えば、フィルタ群を一度に演算するＷａｖｅｌｅｔ変換を使用する形態であってもよい。図９は、この場合における処理フローを示す模式図である。まず入力画像をＷａｖｅｌｅｔ変換することで、多階層の画像（前述の複数の空間フィルタと１対１に対応する複数の階層と考えてもよい）を含む１枚の画像に変換する。次に、その画像を、予め学習により得られた１つのモデルと比較し、上述の実施形態と同様に、各画素のＺスコアＺｍ（ｘ，ｙ）を算出する。なお、この場合の１つのモデルは、複数のフィルタ画像ごとのモデル（階層ごとのモデル）を統合した１つのモデルであると考えることができる。見方を変えれば、この場合の１つのモデルは、複数のフィルタ画像と１対１に対応する複数のモデルを含むと考えることもできる。その後、逆Ｗａｖｅｌｅｔ変換により元の１枚の画像に戻すことで、画素ごとのＺスコアＺｍ（ｘ，ｙ）を統合した統合スコアＺｔｏｔａｌ（ｘ，ｙ）が得られる。結果として、上述の実施形態と同様に、入力画像に含まれる各画素の統合スコアＺｔｏｔａｌ（ｘ，ｙ）を得ることができる。この形態によれば、Ｗａｖｅｌｅｔ変換を用いることで、計算時間を減らすことができるというメリットがある。
【符号の説明】
【００６１】
１００  情報処理システム
１２０  カメラ
１３０  情報処理装置
１４０  出力装置
２０１  取得部
２０２  生成部
２０３  学習部
２０４  算出部
２０５  判別部
２０６  判別結果通知部
２１１  第１の算出部
２１２  第２の算出部
【先行技術文献】
【特許文献】
【００６２】
【特許文献１】特開２００８−２０２３５号公報
【図１】
2018116672.tif 000023
【図２】
2018116672.tif 000024
【図３】
2018116672.tif 000025
【図４】
2018116672.tif 000026
【図５】
2018116672.tif 000027
【図６】
2018116672.tif 000028
【図７】
2018116672.tif 000029
【図８】
2018116672.tif 000030
【図９】
2018116672.tif 000031