(57)【要約】【課題】データのカテゴリを評価するためのより適切なモデルを生成することを目的とする。【解決手段】特定カテゴリに属する特定データの特徴を表現するモデルを生成するモデル生成装置であって、特定カテゴリに属する複数の特定データそれぞれと、予め設定された基準データ群に含まれる複数の基準データそれぞれとの適合の程度に基づいて、各特定データに対し、基準データ群から少なくとも１つの基準データを選択する選択手段と、複数の特定データそれぞれに対して、選択手段により選択された基準データに対応したパラメータを特定するパラメータ特定手段と、特定データのモデルとして、パラメータ特定手段により特定された少なくとも１つのパラメータの分布を示すパラメータモデルを生成するモデル生成手段とを有する。【選択図】図２
2018124990.tif 000002
【特許請求の範囲】
【請求項１】
特定カテゴリに属する特定データの特徴を表現するモデルを生成するモデル生成装置であって、
前記特定カテゴリに属する複数の特定データそれぞれと、予め設定された基準データ群に含まれる複数の基準データそれぞれとの適合の程度に基づいて、各特定データに対し、前記基準データ群から少なくとも１つの基準データを選択する選択手段と、
複数の特定データそれぞれに対して、前記選択手段により選択された基準データに対応したパラメータを特定するパラメータ特定手段と、
前記特定データのモデルとして、前記パラメータ特定手段により特定された少なくとも１つのパラメータの分布を示すパラメータモデルを生成するモデル生成手段と
を有することを特徴とするモデル生成装置。
【請求項２】
前記基準データ群に含まれる基準データのうち予め定められたｍ（ｍは２以上の整数）個の基準データに対応した複数の組で、各組の前記ｍ個の基準データの組み合わせが互いに異なる前記複数の組のそれぞれに対し、前記選択手段による各特定データに対する基準データの選択結果の中から、各組に係る前記ｍ個の基準データを含む選択結果を抽出する抽出手段をさらに有し、
前記モデル生成手段は、前記特定データのモデルとして、複数の組それぞれに対して抽出された前記選択結果に対応したパラメータを用いて、複数の組それぞれに係る前記ｍ個の基準データに対応した前記ｍ個のパラメータの分布を示す、複数の前記パラメータモデルを生成することを特徴とする請求項１に記載のモデル生成装置。
【請求項３】
前記選択手段による各特定データに対する基準データの選択結果の中から、前記基準データ群に含まれる各基準データを含む選択結果を抽出する抽出手段をさらに有し、
前記モデル生成手段は、前記特定データのモデルとして、複数の基準データそれぞれに対して抽出された前記選択結果に対応したパラメータを用いて、複数の基準データそれぞれに対する複数の前記パラメータモデルを生成することを特徴とする請求項１に記載のモデル生成装置。
【請求項４】
前記選択手段は、前記基準データ群を用いたスパースコーディングの処理により、前記基準データを選択し、
前記パラメータ特定手段は、スパースコーディングの処理により得られた前記基準データに対する重み係数を前記パラメータとして特定することを特徴とする請求項１乃至３の何れか１項に記載のモデル生成装置。
【請求項５】
スパースコーディングの処理は、Ｌ０ノルム正則化付きの２乗誤差最小化を行う処理又はＬ１ノルム正則化付きの２乗誤差最小化を行う処理であることを特徴とする請求項４に記載のモデル生成装置。
【請求項６】
前記モデル生成手段は、前記パラメータの絶対値の分布を示すモデルを前記パラメータモデルとして生成することを特徴とする請求項１乃至５の何れか１項に記載のモデル生成装置。
【請求項７】
前記モデル生成手段は、前記ｍ個の基準データそれぞれに対する前記パラメータの絶対値の和の分布を示すモデルを前記パラメータモデルとして生成することを特徴とする請求項２に記載のモデル生成装置。
【請求項８】
前記モデル生成手段は、前記ｍ個の基準データそれぞれに対する前記パラメータを並べたベクトルの方向に関する分布を示すモデルを前記パラメータモデルとして生成することを特徴とする請求項２に記載のモデル生成装置。
【請求項９】
複数の特定データそれぞれと、前記基準データ群に含まれる複数の基準データそれぞれとの適合の程度を示す評価値を特定する評価値特定手段をさらに有し、
前記選択手段は、前記評価値に基づいて、前記基準データを選択し、
前記パラメータ特定手段は、前記評価値を前記パラメータとして特定することを特徴とする請求項１に記載のモデル生成装置。
【請求項１０】
前記評価値特定手段は、複数の特定データそれぞれと、複数の基準データそれぞれとの適合の程度を示す、互いに異なる複数の評価値を特定し、
前記選択手段は、前記複数の評価値のうち少なくとも１つの評価値に基づいて、前記基準データを選択し、
前記パラメータ特定手段は、前記複数の評価値のうち少なくとも１つの評価値を、前記パラメータとして特定することを特徴とする請求項９に記載のモデル生成装置。
【請求項１１】
特定データそれぞれの、対応する前記パラメータモデルからの変位を特定する変位特定手段と、
複数の特定データを分類可能な属性に基づいて、前記複数の特定データを複数のグループに分類する分類手段と
をさらに有し、
前記モデル生成手段は、前記特定データのモデルとして、複数のグループそれぞれの特定データに対して特定された変位を用いて、複数のグループそれぞれに対する変位の分布を示す、複数の変位モデルを、さらに生成することを特徴とする請求項１乃至１０の何れか１項に記載のモデル生成装置。
【請求項１２】
前記特定データは、全体画像に含まれる部分画像であり、
前記分類手段は、前記特定データの前記全体画像における位置の属性に基づいて、前記特定データを複数のグループの分類することを特徴とする請求項１１に記載のモデル生成装置。
【請求項１３】
前記モデル生成手段は、前記特定データのモデルとして、前記選択手段により選択される少なくとも１つの基準データが前記選択手段により選択される選択確率のモデルをさらに生成することを特徴とする請求項１乃至１２の何れか１項に記載のモデル生成装置。
【請求項１４】
前記モデル生成手段は、前記パラメータの分布を正規分布と仮定した前記パラメータモデルを生成することを特徴とする請求項１乃至１３の何れか１項に記載のモデル生成装置。
【請求項１５】
特定カテゴリに属する特定データの特徴を表現するモデルを利用して、判定対象のデータが特定カテゴリに属することの尤度を算出し、当該尤度に基づいて前記判定対象のデータを評価する評価装置であって、
判定対象となる対象データと、予め設定された基準データ群に含まれる複数の基準データそれぞれとの適合の程度に基づいて、前記基準データ群から少なくとも１つの基準データを選択する第１の選択手段と、
前記第１の選択手段により選択された基準データに対応したパラメータを特定するパラメータ特定手段と、
前記特定データのモデルとしての、前記パラメータ特定手段により特定されたパラメータの、複数の特定データにおける分布を示すパラメータモデルに基づいて、前記対象データが特定カテゴリに属することの尤度を算出する算出手段と
を有することを特徴とする評価装置。
【請求項１６】
前記第１の選択手段により選択された基準データに基づいて、前記特定データのモデルとして生成された、ｍ（ｍは２以上の整数）個のパラメータの分布を示す、複数のパラメータモデルで、各パラメータモデルに係るｍ個のパラメータの組み合わせが互いに異なる前記複数のパラメータモデルの中から、前記対象データに対応するパラメータモデルを選択する第２の選択手段をさらに有し、
前記算出手段は、前記第２の選択手段により選択された前記パラメータモデルに基づいて、前記対象データが特定カテゴリに属することの尤度を算出することを特徴とする請求項１５に記載の評価装置。
【請求項１７】
前記第１の選択手段により選択された基準データに基づいて、前記特定データのモデルとして生成された、１つのパラメータの分布を示す、複数のパラメータモデルの中から、前記対象データに対応するパラメータモデルを選択する第２の選択手段をさらに有し、
前記算出手段は、前記第２の選択手段により選択された前記パラメータモデルに基づいて、前記対象データが特定カテゴリに属することの尤度を算出することを特徴とする請求項１５に記載の評価装置。
【請求項１８】
複数の特定データを分類可能な属性に基づいて、前記対象データの属するグループを特定するグループ特定手段と、
前記パラメータモデルからの変位を示す複数の変位モデルであって、グループ毎に生成された前記複数の変位モデルの中から、前記グループ特定手段により特定されたグループの変位モデルを選択する第３の選択手段と
をさらに有し、
前記算出手段は、前記パラメータモデルと、前記変位モデルと、に基づいて、前記対象データが特定カテゴリに属することの尤度を算出することを特徴とする請求項１５乃至１７の何れか１項に記載の評価装置。
【請求項１９】
前記算出手段は、さらに、前記第１の選択手段により選択された基準データに対して予め設定された選択確率に基づいて、前記対象データが特定カテゴリに属することの尤度を算出することを特徴とする請求項１５乃至１８の何れか１項に記載の評価装置。
【請求項２０】
特定カテゴリに属する特定データの特徴を表現するモデルを生成するモデル生成装置であって、
前記特定カテゴリに属する複数の特定データそれぞれと、予め設定された階層的処理手段に含まれる複数の基準ノードそれぞれの出力値に基づいて、各特定データに対し、前記複数の基準ノードから少なくとも１つの基準ノードを選択する選択手段と、
複数の特定データそれぞれに対して、前記選択手段により選択された基準ノードに対応したパラメータを特定するパラメータ特定手段と、
前記特定データのモデルとして、前記パラメータ特定手段により特定された少なくとも１つのパラメータの分布を示すパラメータモデルを生成するモデル生成手段と
を有することを特徴とするモデル生成装置。
【請求項２１】
特定カテゴリに属する特定データの特徴を表現するモデルを利用して、判定対象のデータが特定カテゴリに属することの尤度を算出し、当該尤度に基づいて前記判定対象のデータを評価する評価装置であって、
判定対象となる対象データと、予め設定された階層的処理手段に含まれる複数の基準ノードそれぞれの出力値に基づいて、前記複数の基準ノードから少なくとも１つの基準ノードを選択する第１の選択手段と、
前記第１の選択手段により選択された基準ノードに対応したパラメータを特定するパラメータ特定手段と、
前記特定データのモデルとしての、前記パラメータ特定手段により特定されたパラメータの、複数の特定データにおける分布を示すパラメータモデルに基づいて、前記対象データが特定カテゴリに属することの尤度を算出する算出手段と
を有することを特徴とする評価装置。
【請求項２２】
特定カテゴリに属する特定データの特徴を表現するモデルを生成するモデル生成装置が実行するモデル生成方法であって、
前記特定カテゴリに属する複数の特定データそれぞれと、予め設定された基準データ群に含まれる複数の基準データそれぞれとの適合の程度に基づいて、各特定データに対し、前記基準データ群から少なくとも１つの基準データを選択する選択ステップと、
複数の特定データそれぞれに対して、前記選択ステップにおいて選択された基準データに対応したパラメータを特定するパラメータ特定ステップと、
前記特定データのモデルとして、前記パラメータ特定ステップにおいて特定された少なくとも１つのパラメータの分布を示すパラメータモデルを生成するモデル生成ステップとを含むことを特徴とするモデル生成方法。
【請求項２３】
特定カテゴリに属する特定データの特徴を表現するモデルを利用して、判定対象のデータが特定カテゴリに属することの尤度を算出し、当該尤度に基づいて前記判定対象のデータを評価する評価装置が実行する評価方法であって、
判定対象となる対象データと、予め設定された基準データ群に含まれる複数の基準データそれぞれとの適合の程度に基づいて、前記基準データ群から少なくとも１つの基準データを選択する第１の選択ステップと、
前記第１の選択ステップにおいて選択された基準データに対応したパラメータを特定するパラメータ特定ステップと、
前記特定データのモデルとしての、前記パラメータ特定ステップにおいて特定されたパラメータの、複数の特定データにおける分布を示すパラメータモデルに基づいて、前記対象データが特定カテゴリに属することの尤度を算出する算出ステップと
を含むことを特徴とする評価方法。
【請求項２４】
特定カテゴリに属する特定データの特徴を表現するモデルを生成するモデル生成装置が実行するモデル生成方法であって、
前記特定カテゴリに属する複数の特定データそれぞれと、予め設定された階層的処理工程において算出される複数の基準ノードそれぞれの出力値に基づいて、各特定データに対し、前記複数の基準ノードから少なくとも１つの基準ノードを選択する選択ステップと、
複数の特定データそれぞれに対して、前記選択ステップにより選択された基準ノードに対応したパラメータを特定するパラメータ特定ステップと、
前記特定データのモデルとして、前記パラメータ特定ステップにより特定された少なくとも１つのパラメータの分布を示すパラメータモデルを生成するモデル生成ステップと
を含むことを特徴とするモデル生成方法。
【請求項２５】
特定カテゴリに属する特定データの特徴を表現するモデルを利用して、判定対象のデータが特定カテゴリに属することの尤度を算出し、当該尤度に基づいて前記判定対象のデータを評価する評価装置が実行する評価方法であって、
判定対象となる対象データと、予め設定された階層的処理工程において算出される複数の基準ノードそれぞれの出力値に基づいて、前記複数の基準ノードから少なくとも１つの基準ノードを選択する第１の選択ステップと、
前記第１の選択ステップにより選択された基準ノードに対応したパラメータを特定するパラメータ特定ステップと、
前記特定データのモデルとしての、前記パラメータ特定ステップにより特定されたパラメータの、複数の特定データにおける分布を示すパラメータモデルに基づいて、前記対象データが特定カテゴリに属することの尤度を算出する算出ステップと
を含むことを特徴とする評価方法。
【請求項２６】
特定カテゴリに属する特定データの特徴を表現するモデルを生成するモデル生成装置のコンピュータを、
前記特定カテゴリに属する複数の特定データそれぞれと、予め設定された基準データ群に含まれる複数の基準データそれぞれとの適合の程度に基づいて、各特定データに対し、前記基準データ群から少なくとも１つの基準データを選択する選択手段と、
複数の特定データそれぞれに対して、前記選択手段により選択された基準データに対応したパラメータを特定するパラメータ特定手段と、
前記特定データのモデルとして、前記パラメータ特定手段により特定された少なくとも１つのパラメータの分布を示すパラメータモデルを生成するモデル生成手段と
して機能させるためのプログラム。
【請求項２７】
特定カテゴリに属する特定データの特徴を表現するモデルを利用して、判定対象のデータが特定カテゴリに属することの尤度を算出し、当該尤度に基づいて前記判定対象のデータを評価する評価装置のコンピュータを、
判定対象となる対象データと、予め設定された基準データ群に含まれる複数の基準データそれぞれとの適合の程度に基づいて、前記基準データ群から少なくとも１つの基準データを選択する第１の選択手段と、
前記第１の選択手段により選択された基準データに対応したパラメータを特定するパラメータ特定手段と、
前記特定データのモデルとしての、前記パラメータ特定手段により特定されたパラメータの、複数の特定データにおける分布を示すパラメータモデルに基づいて、前記対象データが特定カテゴリに属することの尤度を算出する算出手段と
して機能させるためのプログラム。
【請求項２８】
特定カテゴリに属する特定データの特徴を表現するモデルを生成するモデル生成装置のコンピュータを、
前記特定カテゴリに属する複数の特定データそれぞれと、予め設定された階層的処理手段に含まれる複数の基準ノードそれぞれの出力値に基づいて、各特定データに対し、前記複数の基準ノードから少なくとも１つの基準ノードを選択する選択手段と、
複数の特定データそれぞれに対して、前記選択手段により選択された基準ノードに対応したパラメータを特定するパラメータ特定手段と、
前記特定データのモデルとして、前記パラメータ特定手段により特定された少なくとも１つのパラメータの分布を示すパラメータモデルを生成するモデル生成手段と
して機能させるためのプログラム。
【請求項２９】
特定カテゴリに属する特定データの特徴を表現するモデルを利用して、判定対象のデータが特定カテゴリに属することの尤度を算出し、当該尤度に基づいて前記判定対象のデータを評価する評価装置のコンピュータを、
判定対象となる対象データと、予め設定された階層的処理手段に含まれる複数の基準ノードそれぞれの出力値に基づいて、前記複数の基準ノードから少なくとも１つの基準ノードを選択する第１の選択手段と、
前記第１の選択手段により選択された基準ノードに対応したパラメータを特定するパラメータ特定手段と、
前記特定データのモデルとしての、前記パラメータ特定手段により特定されたパラメータの、複数の特定データにおける分布を示すパラメータモデルに基づいて、前記対象データが特定カテゴリに属することの尤度を算出する算出手段と
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データのカテゴリを評価するためのモデル生成装置、評価装置、モデル生成方法、評価方法及びプログラムに関する。
【背景技術】
【０００２】
従来、特定のカテゴリに属する複数のデータを用いてデータをモデル化する方法として、様々な方法が提案されている。一般的な方法としては、データの分布を正規分布と仮定してモデル化をする方法が挙げられる。しかし、モデル化すべきデータの分布が複雑である場合、このようなモデル化では限界がある。これに対し、非特許文献１に開示の異常検出方法では、ＳＥＭ画像中の異常箇所を検出する方法が開示されている。具体的には、スパースコーディングの技術を用い、正常なＳＥＭ画像からサンプリングした多数の画像パッチをモデル化し、そのモデルに基づいて、異常な箇所を検出するというものである。この手法では、正常な画像パッチに対してスパースコーディングの処理を実行した際の、再構成誤差とＬ１ノルムという２変数に対する許容可能範囲を楕円でモデル化することにより、正常なＳＥＭ画像における画像パッチをモデル化する。これにより、新たに入力された画像パッチが、このモデルの範囲内であるか否かによって異常箇所の検出を行うことができる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Ｇｉａｃｏｍｏ  Ｂｏｒａｃｃｈｉ，Ｄｉｅｇｏ  ＣａｒｒｅｒａａｎｄＢｒｅｎｄｔ  Ｗｏｈｌｂｅｒｇ，"Ｎｏｖｅｌｔｙ  Ｄｅｔｅｃｔｉｏｎ  ｉｎ  Ｉｍａｇｅｓ  ｂｙ  Ｓｐａｒｓｅ  Ｒｅｐｒｅｓｅｎｔａｔｉｏｎｓ"，Ｉｎｔｅｌｉｇｅｎｔ  Ｅｍｂｅｄｄｅｄ  Ｓｙｓｔｅｍｓ，ｐｐ．４７−５４，２０１４
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、非特許文献１の異常検出方法では、スパースコーディングの処理時に得られる再構成誤差とＬ１ノルムという２つの変数に情報を集約する。このため、元のデータの細かい情報が表現されておらず、結果として十分なモデル化ができない可能性がある。
【０００５】
本発明はこのような問題点に鑑みなされたもので、データのカテゴリを評価するためのより適切なモデルを生成することを目的とする。
【課題を解決するための手段】
【０００６】
そこで、本発明は、特定カテゴリに属する特定データの特徴を表現するモデルを生成するモデル生成装置であって、前記特定カテゴリに属する複数の特定データそれぞれと、予め設定された基準データ群に含まれる複数の基準データそれぞれとの適合の程度に基づいて、各特定データに対し、前記基準データ群から少なくとも１つの基準データを選択する選択手段と、複数の特定データそれぞれに対して、前記選択手段により選択された基準データに対応したパラメータを特定するパラメータ特定手段と、前記特定データのモデルとして、前記パラメータ特定手段により特定された少なくとも１つのパラメータの分布を示すパラメータモデルを生成するモデル生成手段とを有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、データのカテゴリを評価するためのより適切なモデルを生成することができる。
【図面の簡単な説明】
【０００８】
【図１】情報処理装置のハードウェア構成を示す図である。
【図２】モデル生成処理を行う処理部のソフトウェア構成を示す図である。
【図３】モデル生成処理を示すフローチャートである。
【図４】判定処理を行う処理部を示す図である。
【図５】判定処理を示すフローチャートである。
【図６】第２の実施形態に係るモデル生成処理を行う処理部を示す図である。
【図７】第２の実施形態に係るモデル生成処理を示すフローチャートである。
【図８】第２の実施形態に係る判定処理を行う処理部を示す図である。
【図９】第２の実施形態に係る判定処理を示すフローチャートである。
【図１０】第３の実施形態に係るモデル生成処理を行う処理部を示す図である。
【図１１】第３の実施形態に係るモデル生成処理を示すフローチャートである。
【図１２】第３の実施形態に係る判定処理を行う処理部を示す図である。
【図１３】第３の実施形態に係る判定処理を示すフローチャートである。
【図１４】第４の実施形態に係るモデル生成処理を行う処理部を示す図である。
【図１５】第４の実施形態に係るモデル生成処理を示すフローチャートである。
【図１６】第４の実施形態に係る判定処理を行う処理部を示す図である。
【図１７】第４の実施形態に係る判定処理を示すフローチャートである。
【図１８】第５の実施形態に係るモデル生成処理を行う処理部を示す図である。
【図１９】第５の実施形態に係るモデル生成処理を示すフローチャートである。
【図２０】第５の実施形態に係る判定処理を行う処理部を示す図である。
【図２１】第５の実施形態に係る判定処理を示すフローチャートである。
【図２２】階層的処理の構造を示す模式図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面に基づいて説明する。
【００１０】
（第１の実施形態）
図１は、第１の実施形態に係る情報処理装置１００のハードウェア構成を示す図である。情報処理装置１００は、表面外観検査の対象となる物体を撮影した画像に基づき、当該物体の表面の良否判定を行うシステムにおいて用いる、物体表面の正常なパターンのモデルを生成する。ここで、正常なパターンとは、特定カテゴリに属するデータである特定データの一例であり、情報処理装置１００は、特定データの特徴を表現するモデル、すなわち特定データのモデルを生成するモデル生成装置の一例である。情報処理装置１００はまた、生成したモデルを用いて、物体表面の良否判定の対象となる物体の撮影画像に基づいて、対象となる画像が正常パターンのカテゴリ、すなわち特定カテゴリに属することの尤度を評価する。すなわち、情報処理装置１００は、特定データの特徴を表現するモデルを利用して、判定対象のデータが特定カテゴリに属することの尤度を評価する評価装置の一例である。
【００１１】
情報処理装置１００の処理は、オフラインで、物体の正常なパターンのモデルを生成するモデル生成工程と、オンラインで、生成したモデルを用いた物体表面の良否判定を行う判定工程の２つの工程と、に分けられる。情報処理装置１００は、モデル生成工程では、予め良品であるということがわかっている物体を複数用意し、その物体を撮影することにより撮影画像を得る。以下、ここで得られる画像を正常画像と称することとする。そして、情報処理装置１００は、正常画像から局所的な部分画像（パッチ）を多数切り出し、その多数のパッチを用いてモデルの生成を行う。ここで、正常画像から得られるパッチを正常パッチと称する。すなわち、情報処理装置１００は、多数の正常パッチを用いて、正常パッチというデータのモデル化を行う。
【００１２】
情報処理装置１００はまた、判定工程では、表面外観検査の対象である物体を撮影し判定対象となる撮影画像を得る。以下、ここで得られる画像を検査画像と称することとする。そして、情報処理装置１００は、検査画像から局所的な部分画像（パッチ）を複数切り出して、モデル生成工程で生成したモデルによりパッチの尤度を求める。以下、検査画像から得られるパッチを検査パッチと称する。ここで求める尤度は、正常らしさを示すものであり、ある検査パッチについて求めた尤度が低い場合、その部分は正常とは異なると判定することができ、それにより当該物体の表面の良否判定を行う。モデル生成工程及び判定工程における処理の詳細については後述する。
【００１３】
図１に示すように、情報処理装置１００は、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、ＨＤＤ１０４と、表示部１０５と、入力部１０６と、通信部１０７とを有している。ＣＰＵ１０１は、ＲＯＭ１０２に記憶された制御プログラムを読み出して各種処理を実行する。ＲＡＭ１０３は、ＣＰＵ１０１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ１０４は、各種データや各種プログラム等を記憶する。なお、後述する情報処理装置１００の機能や処理は、ＣＰＵ１０１がＲＯＭ１０２又はＨＤＤ１０４に格納されているプログラムを読み出し、このプログラムを実行することにより実現されるものである。表示部１０５は、各種情報を表示する。入力部１０６は、キーボードやマウスを有し、ユーザによる各種操作を受け付ける。通信部１０７は、ネットワークを介して外部装置との通信処理を行う。
【００１４】
図２は、情報処理装置１００によるモデル生成工程における処理（モデル生成処理）を行う処理部２００のソフトウェア構成を示す図である。図３は、モデル生成処理を示すフローチャートである。図２に示すように、処理部２００は、正常パッチ読込部２０１と、正常パッチ保持部２０２と、基準データ群読込部２０３と、基準データ群保持部２０４と、を有している。処理部２００はまた、コーディング部２０５と、結果保持部２０６と、パラメータモデル生成部２０７と、出力処理部２０８と、を有している。各部の機能については、モデル生成処理（図３）に沿って説明する。
【００１５】
図３に示すＳ３００において、正常パッチ読込部２０１は、予め良品であるということがわかっている物体が撮影された正常画像を複数取得する。そして、正常パッチ読込部２０１は、正常画像それぞれから正常パッチを多数生成する。正常パッチ読込部２０１は、生成されたすべての正常パッチを正常パッチ保持部２０２に読み込む。本実施形態においては、正常パッチ読込部２０１は、物体の表面を撮影したグレースケール画像から、８×８画素の部分画像を多数切り出すことにより正常パッチを生成し、これを正常パッチ保持部２０２に記録する。なお、正常パッチとして正常画像から部分画像を切り出す位置は、任意の位置でよく、正常パッチ読込部２０１は、グレースケール画像上でランダムに位置を決定し、その位置の部分画像を切り出せばよい。なお、生成する正常パッチの個数は、多数であることが好ましく、本実施形態では１００万個の正常パッチを生成、記録することとする。
【００１６】
次に、Ｓ３０１において、基準データ群読込部２０３は、基準データ群を取得し、これを基準データ群保持部２０４に読み込む。ここで、基準データ群は、複数の基準データを含む。基準データは、モデル化すべきデータと同様の形式のデータである。本実施形態においては、基準データは、学習用データ（正常パッチ）に対応し、本実施形態では８×８個の数値から構成されるデータである。この基準データ群は、任意のデータでよい。本実施形態においては、基準データ群読込部２０３は、予め下記辞書学習技術を用いて複数の基準データ（下記文献中のｐｒｏｔｏｔｙｐｅ  ｓｉｇｎａｌ−ａｔｏｍ）を生成する。Ｍｉｃｈａｌ  Ａｈａｒｏｎ，Ｍｉｃｈａｅｌ  Ｅｌａｄ  ａｎｄ  Ａｌｆｒｅｄ  Ｂｒｕｃｋｓｔｅｉｎ，"Ｋ−ＳＶＤ：Ａｎ  Ａｌｇｏｒｉｔｈｍ  ｆｏｒ  Ｄｅｓｉｇｎｉｎｇ  Ｏｖｅｒｃｏｍｐｌｅｔｅ  Ｄｉｃｔｉｏｎａｒｉｅｓ  ｆｏｒ  ＳｐａｒｓｅＲｅｐｒｅｓｅｎｔａｔｉｏｎ"，ＩＥＥＥ  Ｔｒａｎｓ．ｏｎ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｉｎｇ，Ｖｏｌ．５４，Ｎｏ．１１，２００６
【００１７】
基準データ群読込部２０３は、正常パッチ読込部２０１で生成した多数の正常パッチと同様のデータを用い、上記技術により、２５６個の基準データからなる基準データ群を予め生成しておく。より具体的には、基準データ群読込部２０３は、複数の基準データの線形結合により近似した場合の近似誤差の総和が小さくなるように基準データ群を生成する。なお、基準データ群読込部２０３は、基準データをランダムに選択することにより基準データ群を生成してもよい。そして、基準データ群読込部２０３は、生成した基準データ群を基準データ群保持部２０４に記録しておくこととする。なお、基準データ群読込部２０３は、基準データの生成に用いる正常パッチとして、正常パッチ読込部２０１が取得した正常パッチとは異なる切り出し位置から切り出した正常パッチを用いるのが好ましい。なお、他の例としては、基準データ群読込部２０３は、正常パッチ読込部２０１が生成した正常パッチを用いてもよい。
【００１８】
次に、Ｓ３０２において、コーディング部２０５は、正常パッチ保持部２０２に記憶されている複数の正常パッチの中から１つの正常パッチを処理対象として選択する。なお、Ｓ３０２〜Ｓ３０５の処理は繰り返し処理であり、繰り返しにおいて正常パッチ保持部２０２に記憶されているすべての正常パッチを１回ずつ選択すればよく、その順番は特に限定されるものではない。
【００１９】
次に、Ｓ３０３において、コーディング部２０５は、処理対象として選択された正常パッチに基づいて、基準データ群保持部２０４に保持されている基準データ群から、予め設定された個数以下の基準データを選択する。コーディング部２０５はさらに、選択した各基準データに対するパラメータを特定する。ここで、パラメータは、基準データと正常パッチの適合の程度を示す評価値である。本処理は、基準データを選択する選択処理、評価値を特定する評価値特定処理及びパラメータを特定するパラメータ特定処理の一例である。本実施形態においては、コーディング部２０５は、スパースコーディングの代表的な手法の１つであるＯｒｔｈｏｇｏｎａｌ  Ｍａｔｃｈｉｎｇ  Ｐｕｒｓｕｉｔ（ＯＭＰ）の手法を利用する。ＯＭＰについては、下記文献を参照することができる。
Ｙ．Ｃ．Ｐａｔｉ，Ｒ．Ｒｅｚａｉｉｆａｒ  ａｎｄ  Ｐ．Ｓ．Ｋｒｉｓｈｎａｐｒａｓａｄ，"Ｏｒｔｈｏｇｏｎａｌ  Ｍａｔｃｈｉｎｇ  Ｐｕｒｓｕｉｔ：  Ｒｅｃｕｒｓｉｖｅ  Ｆｕｎｃｔｉｏｎ  Ａｐｐｒｏｘｉｍａｔｉｏｎ  ｗｉｔｈ  Ａｐｐｌｉｃａｔｉｏｎｓ  ｔｏ  Ｗａｖｅｌｅｔ  Ｄｅｃｏｍｐｏｓｉｔｉｏｎ"，Ａｓｉｌｏｍａｒ  Ｃｏｎｆ．ｏｎ  Ｓｉｇｎａｌｓ，Ｓｙｓｔｅｍｓ  ａｎｄ  Ｃｏｍｐｕｔｅｒｓ，１９９３
【００２０】
コーディング部２０５は、ＯＭＰの処理において、（式１）の準最適解を求める。
【数１】
2018124990.tif 000003
ここで、ｘは、選択された正常パッチの列ベクトルであり、本実施形態では８×８＝６４次元のベクトルである。Ｂは、基準データ群保持部２０４に保持されている複数の基準データを列ベクトルとして並べた行列であり、本実施形態では、６４行２５６列の行列である。ｗは、基準データ群保持部２０４に保持されている各基準データに対応した重み係数を並べたベクトルであり、本実施形態では２５６次元のベクトルとなる。また、‖・‖2はＬ２ノルムである。‖・‖0はＬ０ノルム、すなわちベクトルの非０の要素数である。
【００２１】
（式１）の準最適解をＯＭＰにより求めることにより、ｗの要素の内、非０である要素の数がε以下で、且つ、Ｂｗがｘの近似となるような重みベクトルｗを得ることができる。本実施形態では、ε＝２として上記式の最適化を行い、その結果、ｗの２５６個の要素の内、２つの要素のみが非０となり、それ以外は０という解が得られる。ここで、ｗの要素の内、非０であった要素に対応する基準データを、基準データ群から選択された基準データであると考える。つまり、コーディング部２０５は、Ｓ３０３におけるＯＭＰの処理によりｗの解が得られ、ｗのどの要素が非０であったかに基づいて、どの基準データが選択されたのかを決定する。そして、コーディング部２０５は、選択された基準データに対応したｗの要素の値、すなわち基準データに対して算出された重み係数を、その選択された基準データに関するパラメータとして決定する。Ｓ３０３の処理は、Ｌ０ノルム正則化付きの２乗誤差最小化を行う処理の一例である。
【００２２】
次に、Ｓ３０４において、コーディング部２０５は、Ｓ３０３において選択した基準データと、選択した基準データに対応するｗの要素の値をコーディング結果として結果保持部２０６に記録する。すなわち、コーディング結果には、選択結果と、パラメータ（重み係数）が含まれる。本実施形態では、ε＝２であるので、２つ以下の基準データが選択されることになる。例えば、ｗのｉ番目とｊ番目（ｉ＜ｊ）の要素が非０であり、それに対応するｉ番目の要素の値がｗ(i)、ｊ番目の要素の値がｗ(j)であったとする。この場合、Ｓ３０４において、コーディング部２０５は、これらの情報を１つにまとめたデータセット（ｉ、ｊ、ｗ(i)、ｗ(j)）をコーディング結果として結果保持部２０６に記録する。
【００２３】
次に、Ｓ３０５において、コーディング部２０５は、正常パッチ保持部２０２に記録されたすべての正常パッチに対し、Ｓ３０３及びＳ３０４の処理を終了したか否かを確認する。コーディング部２０５は、未処理の正常パッチが存在する場合には（Ｓ３０５でＮｏ）、処理をＳ３０２へ進める。この場合、コーディング部２０５は、Ｓ３０２において未処理の正常パッチを選択し、Ｓ３０３以降の処理を行う。コーディング部２０５は、すべての正常パッチに対して、Ｓ３０３及びＳ３０４の処理が終了している場合には（Ｓ３０５でＹｅｓ）、処理をＳ３０６へ進める。すべての正常パッチに対する処理が終了すると、結果保持部２０６には、正常パッチ保持部２０２に記録されているすべての正常パッチに対応したコーディング結果が記録される。
【００２４】
Ｓ３０６において、パラメータモデル生成部２０７は、予め設定された条件に従い、基準データの組を１つ、処理対象として選択する。本実施形態におけるパラメータモデル生成部２０７は、基準データ群に含まれる複数の基準データから２つの基準データを基準データの組として選択する。なお、Ｓ３０６〜Ｓ３０９は繰り返し処理であり、繰り返し処理において、基準データ群の複数の基準データが取り得るすべての２つの基準データの組み合わせを基準データの組として選択する。選択の順は任意だが、本実施形態においては、パラメータモデル生成部２０７は、最初に１番目と２番目の基準データの組、次に、１番目と３番目というように、順番に、すべての組み合わせを選択していくものとする。
【００２５】
次に、Ｓ３０７において、パラメータモデル生成部２０７は、処理対象の基準データの組を含むコーディング結果を結果保持部２０６から抽出する。例えば、Ｓ３０６において、ｉ番目とｊ番目の基準データの組を選択したとする。この場合、パラメータモデル生成部２０７は、結果保持部２０６に記録されたコーディング結果の中から、ｉ番目とｊ番目の基準データを含むコーディング結果を抽出する。抽出された結果がＮ個であった場合、パラメータモデル生成部２０７は、結果保持部２０６に記録されたコーディング結果の中から、（式２）に示すＮ個のコーディング結果を抽出する。
（ｉ、ｊ、ｗ(i)n、ｗ(j)n）［ｎ＝１、２、・・・、Ｎ］      …（式２）
ここで、ｗ(i)n、ｗ(j)nはそれぞれ、ｎ番目に抽出された結果におけるｉ番目とｊ番目の基準データに関するパラメータである。本処理は、基準データの組に係る基準データを含む選択結果を抽出する抽出処理の一例である。
【００２６】
次に、Ｓ３０８において、パラメータモデル生成部２０７は、Ｓ３０７において抽出したＮ個のコーディング結果それぞれの｛ｗ(i)n、ｗ(j)n｝の２つの値の分布に関するモデルを生成する。すなわち、本モデルは、ｉ番目とｊ番目の基準データを含む基準データの組に対するパラメータ（重み係数）の２次元の分布を示すモデルである。以下、パラメータの分布を示すモデルをパラメータモデルと称する。ここで、パラメータモデルは、特定カテゴリの多数のデータの特徴を示す、特定カテゴリに属する特定データのモデルであり、Ｓ３０８の処理は、モデル生成処理の一例である。なお、パラメータモデルの分布のモデルには、この分布を表現するのに適した任意のモデルを用いればよく、例えば、混合ガウス分布モデル等が挙げられる。
【００２７】
本実施形態においては、パラメータモデル生成部２０７は、ｗ(i)n、ｗ(j)nの分布をそのままモデル化するのではなく、各値の絶対値を取った、｜ｗ(i)n｜、｜ｗ(j)n｜の分布を、正規分布と仮定してパラメータモデルを生成する。つまり、パラメータモデル生成部２０７は、２つの値｜ｗ(i)n｜、｜ｗ(j)n｜を、それぞれ第１要素、第２要素とするベクトルｗ'(i,j)nを求める。そして、パラメータモデル生成部２０７は、その平均μ(i,j)と分散共分散行列Σ(i,j)をパラメータモデルとしてそれぞれ（式３）及び（式４）により求める。
【数２】
2018124990.tif 000004
【００２８】
次に、Ｓ３０９において、パラメータモデル生成部２０７は、基準データの組のすべてに対し、Ｓ３０７及びＳ３０８の処理が終了したか否かを確認する。パラメータモデル生成部２０７は、未処理の基準データの組が存在する場合には（Ｓ３０９でＮｏ）、処理をＳ３０６へ進める。この場合、パラメータモデル生成部２０７は、Ｓ３０６において未処理の基準データの組を選択し、Ｓ３０６以降の処理を行う。パラメータモデル生成部２０７は、基準データの組のすべてに対し、Ｓ３０７及びＳ３０８の処理が終了している場合には（Ｓ３０９でＹｅｓ）、処理をＳ３１０へ進める。
【００２９】
なお、本実施形態においては、基準データ群に含まれる基準データの数は２５６個なので、基準データの組は３２６４０組となる（256Ｃ2＝３２６４０）。したがって、Ｓ３０６〜Ｓ３０９の処理を繰り返すことにより、パラメータモデル生成部２０７は、特定データのモデルとして、３２６４０個のパラメータモデルを生成する。
【００３０】
Ｓ３１０において、出力処理部２０８は、特定データのモデルとして、Ｓ３０８において生成されたすべてのパラメータモデルを出力するよう制御する。本実施形態においては、出力処理部２０８は、すべの基準データの組（３２６４０組）に対して算出された平均と分散共分散行列をパラメータモデルとして出力するよう制御する。以上で、モデル生成処理が完了する。
【００３１】
このように、情報処理装置１００は、モデル生成工程では、まず多数の正常パッチそれぞれについて、スパースコーディングを実行することにより、基準データの選択と選択した基準データに係るパラメータ（重み係数）の算出を行う。そして、情報処理装置１００は、同じ基準データの組が選択されたコーディング結果を抽出し、コーディング結果に含まれるパラメータに関する分布をモデル化する。すなわち、情報処理装置１００は、まず基準データの組み合せに従って、正常パッチの集合を分割し、各部分集合に対してモデル化を行う。このため、正常パッチのように、分布が複雑なデータであっても適切なモデル化が可能になる。以上のように、本実施形態に係る情報処理装置１００は、より適切なモデルを生成することができる。
【００３２】
次に、情報処理装置１００による判定工程における処理（判定処理）について説明する。図４は、情報処理装置１００による判定処理を行う処理部４００のソフトウェア構成を示す図である。図５は、判定処理を示すフローチャートである。図４に示すように、処理部４００は、検査パッチ読込部４０１と、検査パッチ保持部４０２と、基準データ群読込部４０３と、基準データ群保持部４０４と、コーディング部４０５と、結果保持部４０６と、を有している。処理部４００はさらに、モデル読込部４０７と、モデル保持部４０８と、尤度算出部４０９と、尤度保持部４１０と、出力処理部４１１と、を有している。各部の機能については、図５を参照しつつ説明する。
【００３３】
図５に示すＳ５００において、基準データ群読込部４０３は、基準データ群を取得し、これを基準データ群保持部４０４に読み込む。なお、基準データ群保持部４０４に読み込まれる基準データ群は、モデル生成処理（図３）のＳ３０１において基準データ群保持部２０４に読み込まれる基準データ群と同一である。次に、Ｓ５０１において、モデル読込部４０７は、特定データのモデルを読み込む。具体的には、モデル読込部４０７は、モデル生成処理において生成されたすべてのパラメータモデルを取得し、これらをモデル保持部４０８に読み込む。前述のように、本実施形態においては、２５６個の基準データから基準データの組として３２６４０組が得られるので、これらすべての基準データの組に対応したパラメータモデル（正規分布のモデル）が読み込まれる。
【００３４】
次に、Ｓ５０２において、検査パッチ読込部４０１は、良否判定の対象となる物体の表面を撮影した検査画像を取得する。検査パッチ読込部４０１は、検査画像から複数の検査パッチを生成し、これを検査パッチ保持部４０２に読み込む。なお、モデル生成処理におけるＳ３００においては、正常画像上のランダムな位置から部分画像を切り出すようにしたが、判定処理のＳ５０２においては、検査パッチ読込部４０１は、検査画像をグリッド分割することにより多数の検査パッチを生成する。本実施形態においては８×８画素の部分画像を利用するので、例えば、検査画像が６４０×４８０画素であった場合、検査パッチ読込部４０１は、８０×６０＝４８００個の検査パッチを生成し、これらを読み込む。
【００３５】
なお、本実施形態において、検査パッチ読込部４０１は、上述のように検査画像において重複なく８×８画素の部分画像を切り出すことにより検査パッチを生成するが、検査パッチの生成方法は実施形態に限定されるものではない。他の例としては、検査パッチ読込部４０１は、例えば、部分画像の１／２ずつ重複するように検査パッチを生成してもよい。
【００３６】
続く、Ｓ５０３〜Ｓ５０６の処理は、モデル生成処理におけるＳ３０２〜Ｓ３０５の処理とほぼ同様の処理である。Ｓ５０３において、コーディング部４０５は、Ｓ４０２に記録されている複数の検査パッチの中から１つの検査パッチを処理対象として選択する。なお、Ｓ５０３〜Ｓ５０６の処理は繰り返し処理であり、繰り返しにおいて検査パッチ保持部４０２に記録されているすべての検査パッチを１回ずつ選択すればよく、その順番は特に限定されるものではない。本実施形態においては、検査パッチは、グリッド分割した部分画像であるので、コーディング部４０５は、検査画像の左上から順にラスタスキャン的に検査画像右下に向かって順に検査パッチを選択するものとする。
【００３７】
次に、Ｓ５０４において、コーディング部４０５は、Ｓ５０３において選択された、処理対象の検査パッチに基づいて、基準データ群保持部４０４に保持されている基準データ群から、予め設定された個数以下の基準データを選択する。コーディング部４０５はさらに、選択した基準データに対するパラメータを特定する。本処理において用いるεの値は、モデル生成処理のＳ３０３にいて用いられたεの値と同じ値とする。本実施形態においては、ε＝２に設定されているため、Ｓ５０４においても２個以下の基準データが選択され、それぞれの基準データに関する重み係数、つまり、基準データに対応するｗの要素の値が、各基準データに係るパラメータとして得られる。なお、Ｓ５０４におけるコーディングの処理は、Ｓ３０３におけるコーディングの処理と同様であり、ＯＭＰの手法を適用したものである。
【００３８】
次に、Ｓ５０５において、コーディング部４０５は、Ｓ５０４において選択した基準データ（基準ベクトル）と、選択した基準データに対するｗの要素（重み係数）と、検査パッチの位置と、をコーディング結果として結果保持部４０６に記録する。検査パッチの位置は、検査画像における位置であり、どの位置から切り出されたかを示す情報である。検査パッチの位置は、後述の尤度算出の処理において、どの位置の検査パッチがどのような尤度かを出力するために用いられる。検査画像の位置（ｘ、ｙ）から切り出された検査パッチが処理対象として選択され、選択された検査パッチに対し、ｉ番目及びｊ番目（ｉ＜ｊ）の基準データが選択されたとする。また、各基準データに対応する重み係数（パラメータ）がそれぞれｗ(i)、ｗ(j)であったとする。この場合、コーディング部４０５は、データセット（ｘ、ｙ、ｉ、ｊ、ｗ(i)、ｗ(j)）をコーディング結果として結果保持部４０６に記録する。
【００３９】
次に、Ｓ５０６において、コーディング部４０５は、検査パッチ保持部４０２に記録されたすべての検査パッチに対し、Ｓ５０４及びＳ５０５の処理が終了したか否かを確認する。コーディング部４０５は、未処理の検査パッチが存在する場合には（Ｓ５０６でＮｏ）、処理をＳ５０３へ進める。この場合、コーディング部４０５は、Ｓ５０３において未処理の検査パッチを選択し、Ｓ５０４以降の処理を行う。コーディング部４０５は、すべての検査パッチに対するＳ５０４及びＳ５０５の処理が終了している場合には（Ｓ５０６でＹｅｓ）、処理をＳ５０７へ進める。すべての検査パッチに対する処理が終了すると、結果保持部４０６には、検査パッチ保持部４０２に記録されているすべての検査パッチに対応したコーディング結果が記録される。
【００４０】
次に、Ｓ５０７において、尤度算出部４０９は、結果保持部４０６に記録されているコーディング結果から１つのコーディング結果を処理対象として選択する。選択順は任意でよく、本実施形態においては、Ｓ５０３と同様に、ラスタスキャン的に選択するものとする。次に、Ｓ５０８において、尤度算出部４０９は、処理対象のコーディング結果に基づいて、モデル保持部４０８に記録されている複数のモデルのうち、１つのモデルを選択する。
【００４１】
次に、Ｓ５０９において、尤度算出部４０９は、Ｓ５０７において選択したパラメータモデルと処理対象のコーディング結果に基づいて、処理対象のコーディング結果に対応する検査パッチの、正常パッチであることの尤度を算出する。本処理は、尤度を算出する算出処理の一例である。なお、ここで求める尤度は、モデル生成処理において多数の正常パッチを用いてモデル化した"正常パッチらしさ"である。そして、この算出した尤度に基づいて、良否判定の対象を評価することができる。すなわち、尤度が低ければ、正常とは異なる可能性が高いと判定することができる。
【００４２】
ここで、処理対象のコーディング結果が（ｘ、ｙ、ｉ、ｊ、ｗ(i)、ｗ(j)）である場合のＳ５０８及びＳ５０９の処理について説明する。この場合、Ｓ５０８において、尤度算出部４０９は、基準データの組み合わせ（ｉ、ｊ）に基づいて、モデル保持部４０８において（ｉ、ｊ）の基準データの組に対するｗ(i)、ｗ(j)の分布のパラメータモデルを選択する。本処理は、処理対象となる対象データに対応するパラメータモデルを選択する選択処理の一例である。
【００４３】
続く、Ｓ５０９において、尤度算出部４０９は、処理対象のコーディング結果（ｘ、ｙ、ｉ、ｊ、ｗ(i)、ｗ(j)）のうち、重みｗ(i)、ｗ(j)に基づいて、選択したパラメータモデルに対する、コーディング結果の尤度を算出する。本実施形態では、ｗ(i)、ｗ(j)それぞれの絶対値を取った｜ｗ(i)｜、｜ｗ(j)｜を各要素とする２次元ベクトルｗ'(i,j)の分布を正規分布と仮定してモデル化していることに対応し、尤度算出部４０９は、（式５）により尤度Ｌを算出する。
【数３】
2018124990.tif 000005
ここで、μ(i,j)とΣ(i,j)は、それぞれ分布の平均と分散共分散行列であり、上述のモデル生成処理において算出された値である。また、｜Σ(i,j)｜は、Σ(i,j)の行列式、Σ(i,j)-1はΣ(i,j)の逆行列、Ｔはベクトルの転置である。そして、尤度算出部４０９は、求めた尤度Ｌを、選択した検査パッチの位置情報（ｘ、ｙ）と共に（ｘ、ｙ、Ｌ）というセットにし、これを尤度情報として尤度保持部３４１に記録する。
【００４４】
次に、Ｓ５１０において、尤度算出部４０９は、結果保持部４０６に記録されたすべてのコーディング結果に対し、Ｓ５０８及びＳ５０９の処理が終了したか否かを確認する。尤度算出部４０９は、未処理のコーディング結果が存在する場合には（Ｓ５１０でＮｏ）、処理をＳ５０７へ進める。この場合、尤度算出部４０９は、Ｓ５０７において未処理のコーディング結果を選択し、Ｓ５０８以降の処理を行う。尤度算出部４０９は、すべてのコーディング結果に対するＳ５０８及びＳ５０９の処理が終了している場合には（Ｓ５１０でＹｅｓ）、処理をＳ５１１へ進める。
【００４５】
Ｓ５１１において、出力処理部４１１は、尤度保持部４１０に記録された尤度情報に基づいて、尤度マップを生成し、これを出力するよう制御する。本実施形態においては、出力処理部４１１は、各検査パッチに対して得られた尤度Ｌを画素値として、検査パッチの切り出し位置に応じた順で画素値を並べた画像を尤度マップとして生成する。以上で、判定処理が完了する。
【００４６】
以上のように、情報処理装置１００は、判定工程においては、尤度マップを生成する。これにより、例えば、尤度マップ上の最小の尤度が所定閾値以下であった場合、情報処理装置１００は、検査パッチ読込部４０１において読み込まれた検査パッチに対応する物体の表面に、正常とは異なる箇所がある可能性が高いと判定することができる。すなわち、結果として、物体表面の良否判定が可能になる。以上のように、本実施形態に係る情報処理装置１００は、データのカテゴリを評価するためのより適切なモデルを生成することができる。さらに、情報処理装置１００は、このモデルを用いることにより、より精度よく良否判定（特定カテゴリに属するか否かの判定）を行うことができる。
【００４７】
第１の実施形態の第１の変形例について説明する。第１の実施形態においては、モデル生成処理において、パラメータの分布をモデル化する際に、パラメータの絶対値を取ったものを２次元の正規分布でモデル化した。ただし、モデル化の対象となる値はパラメータに基づく値であればよく、パラメータの絶対値に限定されるものではない。他の例としては、情報処理装置１００は、絶対値化しないパラメータの分布を混合ガウス分布としてモデル化したものを併用してもよい。この場合、情報処理装置１００は、それぞれのモデルに基づいて算出した尤度から、総合的に判定することとしてもよい。
【００４８】
また、第２の変形例としては、モデルの種類も実施形態に限定されるものではない。例えば、情報処理装置１００は、｜ｗ(i)n｜＋｜ｗ(j)n｜というように、複数のパラメータそれぞれの絶対値の和を算出し、１次元の分布としてモデル化してもよい。また、他の例としては、情報処理装置１００は、ａｒｃｔａｎ（ｗ(j)n／ｗ(i)n）というように、基準データの組の個数の基準データに対応した個数のパラメータを並べたベクトルの方向に関する分布をモデル化してもよい。
【００４９】
第３の変形例としては、スパースコーディング処理におけるεの値は、ε＝２に限定されるものではない。他の例として、ε＝１に設定されていることとしてもよい。この場合、情報処理装置１００は、１つの基準データを対象とした１次元のパラメータモデルを生成すればよい。また、他の例としては、ε＝３に設定されていることとしてもよい。この場合、情報処理装置１００は、３つの基準データの組を対象として３つの基準データそれぞれに対応する３つのパラメータの３次元以下のパラメータモデルを生成すればよい。また、他の例としては、情報処理装置１００は、ε＝３に設定されている場合において、２つの基準データの組を対象としてパラメータモデルを生成してもよい。
【００５０】
このように、情報処理装置１００は、予め設定されたεの値以下の所定の個数の基準データを含む基準データの組に基づいて、εの値以下の次元の分布モデルを生成すればよい。すなわち、εの値、基準データの組に含まれる基準データの数及び分布モデルの次元の関係は、実施形態に限定されるものではない。すなわち、基準データの組に対応する基準データの個数ｍ（ｍ個）は２以上の整数でもよく、また１でもよい。ただし、分布モデルの次元をあまりに高次元にすると分布の推定精度が劣化する。したがって、モデル化する対象のデータ数等に応じ、尤度交差検定法等で適切な次元を設定するのが好適である。
【００５１】
第４の変形例としては、判定処理における良否判定の方法は、実施形態に限定されるものではない。他の方法としては、情報処理装置１００は、尤度マップの全体平均や、局所的な領域の平均が所定閾値より低いか否かに基づいて、良否判定を行ってもよい。また、他の例としては、情報処理装置１００は、尤度マップ上の尤度の最小値と平均値等、複数の値を用いて総合的に良否判定を行うこととしてもよい。また、他の例として、情報処理装置１００は、非特許文献１に記載の手法と同様に、検査パッチの再構成誤差を算出し、この再構成誤差と、尤度の最小値等を組合せて総合的に判断してもよい。
【００５２】
また、本実施形態においては、情報処理装置１００は、モデル生成工程と判定工程の両方を行うこととしたが、モデル生成工程及び判定工程は、それぞれ異なる情報処理装置において実行されてもよい。
【００５３】
（第２の実施形態）
次に、第２の実施形態に係る情報処理装置１００について、第１の実施形態に係る情報処理装置１００と異なる点について説明する。例えば、検査画像によっては、良品であっても画像の両端においてテクスチャのバラつきが大きいというように、画像内の位置に応じた系統的な不均一性が存在する場合がある。第２の実施形態に係る情報処理装置１００は、このような検査画像に対して検査画像内の位置に応じた特性を考慮したモデルを生成し、このモデルを用いた良否判定を行う。
【００５４】
第２の実施形態に係る情報処理装置１００の処理も、第１の実施形態に係る情報処理装置１００の処理と同様に、モデル生成工程と判定工程に大別される。まず、モデル生成工程におけるモデル生成処理について説明する。図６は、第２の実施形態に係るモデル生成処理を行う処理部６００のソフトウェア構成を示す図である。図２に示す処理部２００の機能と同一の機能には同一の符号を付している。図７は、第２の実施形態に係るモデル生成処理を示すフローチャートである。
【００５５】
図６に示すように、処理部６００は、処理部２００と同様に、正常パッチ読込部２０１と、正常パッチ保持部２０２と、基準データ群読込部２０３と、基準データ群保持部２０４と、コーディング部２０５と、を有している。処理部６００はさらに、第１の結果保持部２０６と、パラメータモデル生成部２０７と、を有している。第１の結果保持部２０６及びパラメータモデル生成部２０７は、それぞれ、図２に示す第１の実施形態に係る結果保持部２０６及びパラメータモデル生成部２０７と同様である。処理部６００はさらに、補正パッチ読込部６０１と、補正パッチ保持部６０２と、パラメータモデル保持部６０３と、第２の結果保持部６０４と、変位算出部６０５と、変位保持部６０６と、を有している。処理部６００はさらに、変位モデル生成部６０７と、変位モデル保持部６０８と、出力処理部６０９と、を有している。各部の機能については、図７を参照しつつ説明する。
【００５６】
図７に示すＳ７００において、情報処理装置１００は、パラメータモデルを生成し、これをパラメータモデル保持部６０３に記録する。本処理において、情報処理装置１００は、第１の実施形態において説明したモデル生成処理（図３）におけるＳ３００〜Ｓ３０９の処理を行い、コーディング処理において得られたすべての基準データの組に対応する複数のパラメータモデルを生成する。そして、パラメータモデル生成部２０７は、生成したすべてのパラメータモデルをパラメータモデル保持部６０３に記録する。
【００５７】
次に、Ｓ７０１において、補正パッチ読込部６０１は、補正パッチを読み込む。本処理は、第１の実施形態における判定処理（図５）におけるＳ５０２と同様の処理である。但し、本処理において対象となるのは予め良品であることがわかっている物体の撮影画像である。補正パッチ読込部６０１は、例えば１００枚程度の良品の撮影画像それぞれをグリッド分割し、多数のパッチを生成する。以下、Ｓ６０１において生成されたパッチを補正パッチと称する。そして、補正パッチ読込部６０１は、生成された複数の補正パッチを補正パッチ保持部６０２に読み込む。
【００５８】
次に、Ｓ７０２において、コーディング部２０５は、補正パッチ保持部６０２に記録されている複数の補正パッチの中から１つの補正パッチを処理対象として選択する。Ｓ７０２〜Ｓ７０５の繰り返し処理において、補正パッチ保持部６０２に記録さているすべての補正パッチが選択されればよく、その選択順は任意でよい。次に、Ｓ７０３において、コーディング部２０５は、処理対象として選択された補正パッチに対してスパースコーディングの処理を行う。これにより、補正パッチに対して基準データが選択され、選択された基準データそれぞれに対応するパラメータが特定される。次に、Ｓ７０４において、コーディング部２０５は、スパースコーディングにより得られた情報と切り出し位置を示す位置情報を含む、（ｘ、ｙ、ｉ、ｊ、ｗ(i)、ｗ(j)）というコーディング結果を生成し、これを第２の結果保持部６０４に記録する。本処理は、図３に示す第１の実施形態におけるＳ３０３、Ｓ３０４の処理と同様である。
【００５９】
次に、Ｓ７０５において、コーディング部２０５は、補正パッチ保持部６０２に記録されたすべての補正パッチに対し、Ｓ７０３及びＳ７０４の処理が終了したか否かを確認する。コーディング部２０５は、未処理の補正パッチが存在する場合には（Ｓ７０５でＮｏ）、処理をＳ７０２へ進める。この場合、コーディング部２０５は、Ｓ７０２において未処理の補正パッチを選択し、Ｓ７０３以降の処理を行う。コーディング部２０５は、すべての補正パッチに対して、Ｓ７０３及びＳ７０４の処理が終了している場合には（Ｓ７０５でＹｅｓ）、処理をＳ７０６へ進める。
【００６０】
次に、Ｓ７０６において、変位算出部６０５は、第２の結果保持部６０４に記録されている複数のコーディング結果の中から１つのコーディング結果を処理対象として選択する。Ｓ７０６〜Ｓ７０９の繰り返し処理において、第２の結果保持部６０４に記録されているすべてのコーディング結果が選択されればよく、その選択順は任意でよい。
【００６１】
次に、Ｓ７０７において、変位算出部６０５は、処理対象のコーディング結果に基づいて、パラメータモデル保持部６０３に記録されている複数のパラメータモデルのうち、１つのパラメータモデルを選択する。本処理は、図５に示す第１の実施形態におけるＳ５０８の処理と同様である。次に、Ｓ７０８において、変位算出部６０５は、コーディング結果に含まれる重み係数ｗ(i)、ｗ(j)に基づいて、処理対象のコーディング結果のパラメータモデルに対する変位を算出する。ここで、パラメータモデルに対する変位とは、例えば、補正パッチに対して得られた重みｗ(i)、ｗ(j)がパラメータモデルの重心からどのように離れているかといった情報である。本実施形態では、第１の実施形態と同様、パラメータの分布のモデルとして正規分布を用いることに対応し、変位算出部６０５は、正規分布の重心からの変位ｄを（式６）により求める。
【数４】
2018124990.tif 000006
ここで、Σ(i,j)や、ｗ'(i,j)、μ(i,j)は、第１の実施形態におけるものと同様である。そして、変位算出部６０５は、得られた変位ｄを、コーディング結果の位置情報（ｘ、ｙ）と共に（ｘ、ｙ、ｄ）というセットにし、これを変位情報として変位保持部６０６に記録する。なお、Ｓ７０８の処理は、変位を特定する変位特定処理の一例である。
【００６２】
次に、Ｓ７０９において、変位算出部６０５は、第２の結果保持部６０４に記録されたすべてのコーディング結果に対し、Ｓ７０７及びＳ７０８の処理が終了したか否かを確認する。変位算出部６０５は、未処理のコーディング結果が存在する場合には（Ｓ７０９でＹｅｓ）、処理をＳ７０６へ進める。この場合、変位算出部６０５は、Ｓ７０６において未処理のコーディング結果を選択し、Ｓ７０７以降の処理を行う。変位算出部６０５は、すべてのコーディング結果に対するＳ７０７及びＳ７０８の処理が終了している場合には（Ｓ７０９でＹｅｓ）、処理をＳ７１０へ進める。
【００６３】
Ｓ７１０において、変位モデル生成部６０７は、変位保持部６０６に記録された多数の変位情報を、補正パッチの位置情報毎に分類する。このように、変位モデル生成部６０７は、全体画像における補正パッチ（部分画像）の位置という属性の情報に基づいて、補正パッチの変位情報を分類する。すなわち、Ｓ７１０の処理は、補正パッチ、すなわち特定データを複数のグループに分類する分類処理の一例である。なお、位置は、特定データを分類可能な属性の一例である。そして、変位モデル生成部６０７は、位置情報毎に分類された変位情報に基づいて、グループ毎に、各位置情報に対応した変位の分布を示す変位モデルを生成する。
【００６４】
変位モデル生成部６０７は、変位保持部６０６に記録されている変位情報（ｘ、ｙ、ｄ）を参照し、まず、同一の切り出し位置（ｘ、ｙ）に関する変位情報を抽出する。そして、変位モデル生成部６０７は、抽出した変位情報中の各変位ｄの分布をモデル化する。本実施形態では、上述のように、２つの基準データの組を用いるため、このｄは２次元のベクトルとなる。このため、ここで生成される変位モデルは、２次元のモデルとなる。本実施形態では、変位モデル生成部６０７は、この変位ｄに関する分布も、正規分布でモデル化するものとする。
【００６５】
ここで、同一の切り出し位置ｘ、ｙであるものがＭ個（Ｍは、基本的に、データ入力部５２０で入力した画像の枚数と一致する）得られ、そのうちｍ番目のものを（ｘ、ｙ、ｄ(x,y)m）とする。そして、変位モデル生成部６０７は、変位の平均μ(x,y)及び変位の分散共分散行列Σ(x,y)を変位モデルとして、それぞれ（式７）及び（式８）により求める。
【数５】
2018124990.tif 000007
そして、変位モデル生成部６０７は、変位平均μ(x,y)及び変位の分散共分散行列Σ(x,y)を、全ての切り出し位置ｘ、ｙにおいて求め、これを変位モデル保持部６０８に記録する。以上のように、第２の実施形態に係る情報処理装置１００は、特定データのモデルとして、複数のパラメータモデルだけでなく、全体画像における位置に応じた複数の変位モデルを生成する。
【００６６】
次に、Ｓ７１１において、出力処理部６０９は、Ｓ７００において生成された複数のパラメータモデルと、Ｓ７１０において生成されたすべての変位モデルと、を、特定データのモデルとして出力するよう制御する。以上で、モデル生成処理が完了する。
【００６７】
このように、本実施形態のモデル生成工程の処理では、情報処理装置１００はまず、第１の実施形態のモデル生成工程と同様に、基準データの組それぞれに対応したパラメータｗに対するパラメータモデルを生成する。情報処理装置１００は、その後、画像の各切り出し位置におけるパラメータの、対応するパラメータモデルからの変位ｄを求め、切り出し位置毎に、変位ｄの分布をモデル化した変位モデルを生成する。ここで生成された変位モデルは、以降で説明する判定処理において用いられる。
【００６８】
次に、第２の実施形態における判定工程における処理（判定処理）について説明する。図８は、判定処理を行う処理部８００のソフトウェア構成を示す図である。処理部８００の機能のうち、図４に示す処理部４００の機能と同一の機能には同一の符号を付している。図９は、第２の実施形態に係る判定処理を示すフローチャートである。図９示す判定処理に含まれる各処理のうち図５に示す判定処理に含まれる処理と同一の処理には同一の符号を付している。
【００６９】
図８に示すように、処理部８００は、処理部４００と同様に、検査パッチ読込部４０１と、検査パッチ保持部４０２と、基準データ群読込部４０３と、基準データ群保持部４０４と、コーディング部４０５と、結果保持部４０６と、を有している。処理部８００はさらに、モデル読込部８０１と、モデル保持部８０２と、変位算出部８０３と、尤度算出部８０４と、尤度保持部８０５と、出力処理部８０６と、を有している。各部の機能については、判定処理（図９）に沿って説明する。
【００７０】
図９に示す判定処理において、Ｓ５００の処理の後、ＣＰＵ１０１は、処理をＳ９００へ進める。Ｓ９００において、モデル読込部８０１は、重みモデルだけでなく、変位モデルをモデル保持部８０２に読み込む。ＣＰＵ１０１は、Ｓ９００の処理の後、処理をＳ５０３へ進める。さらに、ＣＰＵ１０１は、Ｓ５０８の処理の後、処理をＳ９０１へ進める。Ｓ９０１において、変位算出部８０３は、Ｓ５０７において選択された処理対象のコーディング結果に対し、Ｓ５０８において選択されたパラメータモデルに対する変位を算出する。そして、変位算出部８０３は、算出した変位を、コーディング結果に含まれる位置情報（ｘ、ｙ）と共に、尤度算出部８０４に送る。
【００７１】
次に、Ｓ９０２において、尤度算出部８０４は、位置情報（ｘ、ｙ）に基づいて、モデル保持部８０２に記録されている複数の変位モデルのうち、処理対象のコーディング結果の位置情報に対応した変位モデルを選択する。本処理は、位置の属性に基づいて、処理対象となる対象データである検査パッチのコーディング結果が属するグループを特定するグループ特定処理の一例である。また、本処理は、グループに対応した変位モデルを選択する選択処理の一例である。そして、尤度算出部８０４は、選択した変位モデルに基づいて、処理対象のコーディング結果に対してＳ９０１において算出された変位ｄに対する尤度Ｌ'を算出する。本実施形態においては、尤度算出部８０４は、（式９）に基づいて、変位ｄに対する尤度を算出する。
【数６】
2018124990.tif 000008
ここで、μ(x,y)及びΣ(x,y)は、切り出し位置（ｘ、ｙ）における変位の分布の平均と分散共分散行列であり、上述のモデル生成処理において算出された値である。そして、尤度算出部８０４は、算出した尤度Ｌ'を、位置情報（ｘ、ｙ）と共に（ｘ、ｙ、Ｌ'）というセットにし、これを尤度情報として尤度保持部８０５に記録する。これにより、切り出し位置（ｘ、ｙ）毎の系統的な違いを補正した尤度を算出することが可能になる。
【００７２】
次に、Ｓ９０３において、ＣＰＵ１０１は、結果保持部４０６に記録されたすべてのコーディング結果に対し、Ｓ５０８、Ｓ９０１及びＳ９０２の処理が終了したか否かを確認する。ＣＰＵ１０１は、未処理のコーディング結果が存在する場合には（Ｓ９０３でＮｏ）、処理をＳ５０７へ進める。この場合、Ｓ５０７において、ＣＰＵ１０１は、未処理のコーディング結果を選択し、Ｓ５０８以降の処理を行う。ＣＰＵ１０１は、すべてのコーディング結果に対するＳ５０８、Ｓ９０１及びＳ９０２の処理が終了している場合には（Ｓ９０３でＹｅｓ）、処理をＳ９０４へ進める。
【００７３】
Ｓ９０４において、出力処理部８０６は、尤度保持部８０５に記録された尤度情報に基づいて、尤度マップを生成し、これを出力するよう制御する。本実施形態においては、出力処理部８０６は、各検査パッチに対して得られた尤度Ｌ'を画素値として、検査パッチの切り出し位置に応じた順で画素値を並べた画像を尤度マップとして生成する。以上で、判定処理が完了する。Ｓ９０４の処理は、図５に示すＳ５１１の処理と同様である。なお、第２の実施形態に係る情報処理装置１００のこれ以外の構成及び処理は、第１の実施形態に係る情報処理装置１００の構成及び処理と同様である。
【００７４】
第２の実施形態に係る情報処理装置１００は、パラメータモデルだけでなく、モデル生成に利用するパッチの元の画像における位置に依存した変位モデルを利用する。これにより、画素における位置に応じた系統的な差を吸収し、元の画像に系統的な不均一性がある場合でも、精度よく良否判定を行うことができる。
【００７５】
なお、第２の実施形態においては、元の画像の位置に依存した変位を吸収するような補正モデルを用いることにより、位置に応じた変位を吸収する場合について説明したが、系統的な変位を求めるための属性は、実施形態に限定されるものではない。変位モデルを生成する際に利用する属性は、複数の特定データを分類可能な属性であればよく、例えば、撮影時刻等であってもよい。
【００７６】
（第３の実施形態）
次に、第３の実施形態に係る情報処理装置１００について、他の実施形態に係る情報処理装置１００と異なる点について説明する。第１の実施形態に係る情報処理装置１００は、正常パッチや検査パッチに対する基準データの選択、基準データに係るパラメータ（重み係数）の算出は、Ｌ０ノルム正則化のスパースコーディングの処理により行った。これに対し、第３の実施形態に係る情報処理装置１００は、同様にスパースコーディングの処理を用いるが、Ｌ０ノルム正則化に替えて、Ｌ１正則化のスパースコーディングの処理を用いる。
【００７７】
Ｌ０正則化のスパースコーディングの場合、εの設定によって、選択される基準データの個数をほぼ一定にコントロールすることができる。これに対し、Ｌ１正則化の場合、コーディング処理の対象となるデータ（パッチ）に応じて、選択される基準データの個数がばらつく。これに対し、本実施形態の情報処理装置１００は、選択される基準データの個数がばらつく場合におけるパラメータモデルの生成及びパラメータモデルを用いた良否判定を行う。
【００７８】
第３の実施形態に係る情報処理装置１００の処理も、他の実施形態に係る情報処理装置１００の処理と同様に、モデル生成工程と判定工程に大別される。まず、モデル生成工程におけるモデル生成処理について説明する。図１０は、第３の実施形態に係るモデル生成処理を行う処理部１０００のソフトウェア構成を示す図である。図２に示す処理部２００の機能と同一の機能には同一の符号を付している。図１１は、第３の実施形態に係るモデル生成処理を示すフローチャートである。図３に示すモデル生成処理に含まれる処理と同一の処理には同一の符号を付している。
【００７９】
図１０に示すように、処理部１０００は、処理部２００と同様に、正常パッチ読込部２０１と、正常パッチ保持部２０２と、基準データ群読込部２０３と、基準データ群保持部２０４と、を有している。処理部１０００は、さらにコーディング部１００１と、結果保持部１００２と、パラメータモデル生成部１００３と、出力処理部１００４と、を有している。各部の機能については、図１１を参照しつつ説明する。
【００８０】
図１１に示すように、Ｓ３０１の処理の後、ＣＰＵ１０１は、処理をＳ１１００へ進める。Ｓ１１００において、コーディング部１００１は、１つの正常パッチを処理対象として選択する。本処理は、第１の実施形態において説明した図３のＳ３０２の処理と同様である。次に、Ｓ１１０１において、コーディング部１００１は、コーディング処理を行うことにより、処理対象の正常パッチに対する基準データを選択すると共に、選択した基準データに対するパラメータを特定する。なお、Ｓ１１０１においてコーディング部１００１が実行するコーディング処理は、第１の実施形態において説明したコーディング部２０５による処理（Ｓ３０３における処理）と異なる。
【００８１】
第１の実施形態に係るコーディング部２０５は、前述の通りＬ０ノルム正則化のスパースコーディングの処理を行う。これに対し、本実施形態に係るコーディング部１００１は、Ｌ１ノルム正則化のスパースコーディングの処理を行う。具体的には、コーディング部１００１は、Ｌ１正則化のスパースコーディングの処理において、（式１０）の最適解を求める。
【数７】
2018124990.tif 000009
ここで、ｘ、Ｂ、ｗは、第１の実施形態において説明したのと同様であり、それぞれ正常パッチ、基準データを並べた行列、重み係数を並べたベクトルである。λはＬ１正則化の強さをコントロールするハイパーパラメータで、‖・‖1は、Ｌ１ノルムである。一般的に、λの値が大きい程、重み係数ベクトルｗの非０要素が少なくなるという効果がある。この式の最適解の解法は、様々な手法が提案されているが、本実施形態では、下記文献に記載のＣｏｏｒｄｉｎａｔｅ  Ｄｅｓｃｅｎｔアルゴリズム（ＣＤＡ）を用いる。
Ｊｅｒｏｍｅ  Ｆｒｉｅｄｍａｎ，Ｔｒｅｖｏｒ  Ｈａｓｔｉｅ  ａｎｄ  Ｒｏｂ  Ｔｉｂｓｈｉｒａｎｉ，"Ｒｅｇｕｌａｒｉｚａｔｉｏｎ  Ｐａｔｈｓ  Ｇｅｎｅｒａｌｉｚｅｄ  Ｌｉｎｅａｒ  Ｍｏｄｅｌｓ  ｖｉａ  Ｃｏｏｒｄｉｎａｔｅ  Ｄｅｓｃｅｎｔ"，Ｊｏｒｎａｌ  ｏｆ  Ｓｔａｔｉｓｔｉｃａｌ  Ｓｏｆｔｗａｒｅ，Ｖｏｌ．３３，Ｉｓｓｕｅ  １，２０１０
【００８２】
なお、コーディング部１００１は、λの値としては予め実験的に定めた値を用いればよい。本実施形態では、上記ＣＤＡで、多数の正常パッチに対して最適化を行った結果、非０の要素が３〜４程度の個数になるλの値を予め求め、これを（式１０）のλの値として予めＨＤＤ１０４等に記憶しておき、情報処理装置１００は、これ用いるものとする。ここで、Ｓ１１０１の処理は、Ｌ１ノルム正則化付きの２乗誤差最小化を行う処理の一例である。
【００８３】
次に、Ｓ１１０２において、コーディング部１００１は、Ｓ１１０１において選択した基準データの数（非０の要素の数）と、選択した基準データの番号と、各基準データに対応するｗの要素をコーディング結果として結果保持部１００２に記録する。本実施形態においては、ｗの非０の要素の個数が一定ではないので、このように、基準データの個数もコーディング結果に加えることとする。例えば、ＣＤＡの処理を実行した結果、ｗのｉ番目、ｊ番目、ｋ番目（ｉ＜ｊ＜ｋ）の要素が非０であった場合、ｉ番目、ｊ番目、ｋ番目の３つの基準データが選択される。そして、コーディング部１００１は、（３、ｉ、ｊ、ｋ、ｗ(i)、ｗ(j)、ｗ(k)）をコーディング結果として結果保持部１００２に記録する。
【００８４】
次に、Ｓ１１０３において、コーディング部１００１は、正常パッチ保持部２０２に記録されたすべての正常パッチに対し、Ｓ１１０１及びＳ１００２の処理が終了したか否かを確認する。コーディング部１００１は、未処理の正常パッチが存在する場合には（Ｓ１００３でＮｏ）、処理をＳ１１００へ進める。この場合、コーディング部２０５は、Ｓ１１００において未処理の正常パッチを選択し、Ｓ１１０１以降の処理を行う。コーディング部１００１は、すべての正常パッチに対して、Ｓ１１０１及びＳ１００２の処理が終了している場合には（Ｓ１００３でＹｅｓ）、処理をＳ１１０４へ進める。なお、Ｓ１１０３の処理は、図３に示すＳ３０５における処理と同様である。
【００８５】
Ｓ１１０４において、パラメータモデル生成部１００３は、２つの基準データを含む基準データの組を１つ選択する。本処理は、図３に示すＳ３０６の処理と同様である。次に、Ｓ１１０５において、パラメータモデル生成部１００３は、Ｓ１１０４において選択した基準データの組を含むコーディング結果を結果保持部１００２から抽出する。本処理は、図３に示すＳ３０７の処理と一部異なる。例えばＳ１１０４において選択された基準データの組がｉ番目とｊ番目の基準データを含む組であるとする。この場合、パラメータモデル生成部１００３は、コーディング結果に含まれる基準データの中に、ｉ番目とｊ番目の基準データが含まれるコーディング結果を抽出する。
【００８６】
第１の実施形態では、Ｓ３０６において選択された基準データの組と一致するコーディング結果が抽出された。これに対し、本実施形態においては、少なくともＳ１１０４において選択された基準データの組に含まれる基準データを含むコーディング結果がすべて抽出される。例えば、Ｓ１１０４においてｉ番目とｊ番目の基準データの組が選択された場合、コーディング結果（２、ｉ、ｊ、ｗ(i)、ｗ(j)）だけでなく、コーディング結果（３、ｉ、ｊ、ｋ、ｗ(i)、ｗ(j)、ｗ(k)）も抽出される。
【００８７】
次に、Ｓ１１０６において、パラメータモデル生成部１００３は、抽出したコーディング結果のうち、Ｓ１１０４において選択された基準データの組に対応したパラメータのみを用いて、基準データの組に対応したパラメータモデルを生成する。例えば、上述の通り、Ｓ１１０４においてｉ番目とｊ番目の基準データの組が選択され、コーディング結果（３、ｉ、ｊ、ｋ、ｗ(i)、ｗ(j)、ｗ(k)）が抽出されたとする。この場合、パラメータモデル生成部１００３は、コーディング結果に含まれるパラメータのうちｗ(i)、ｗ(j)のみを用いて、ｉ番目とｊ番目の基準データの組に対する２次元のパラメータモデルを生成する。なお、基準データの組に対応したパラメータモデルを生成する処理は、第１の実施形態において説明した、基準データの組に対応したパラメータモデルを生成する処理と同様である。
【００８８】
次に、Ｓ１１０７において、パラメータモデル生成部１００３は、基準データの組のすべてに対し、Ｓ１１０５及びＳ１１０６の処理が終了したか否かを確認する。パラメータモデル生成部２０７は、未処理の基準データの組が存在する場合には（Ｓ１１０７でＮｏ）、処理をＳ１１０４へ進める。この場合、パラメータモデル生成部１００３は、Ｓ１００４において未処理の基準データの組を選択し、Ｓ１００５以降の処理を行う。パラメータモデル生成部１００３は、基準データの組のすべてに対し、Ｓ１１０５及びＳ１１０６の処理が終了している場合には（Ｓ１１０７でＹｅｓ）、処理をＳ１１０８へ進める。Ｓ１１０８において、出力処理部１００４は、Ｓ１１０７において生成されたすべてのパラメータモデルを、特定データのモデルとして出力するよう制御する。本処理は、図３に示すＳ３１０の処理と同様である。以上で、第３の実施形態に係るモデル生成処理が完了する。
【００８９】
このように、コーディング処理において、選択される基準データの個数が一定ではない場合であっても、その中の固定数の基準データの組に対応したモデルを生成することで、限定的な次元のモデルを生成することができる。
【００９０】
次に、第３の実施形態における判定工程における処理（判定処理）について説明する。図１２は、判定処理を行う処理部１２００のソフトウェア構成を示す図である。処理部１２００の機能のうち図４に示す処理部４００の機能と同一の機能には同一の番号を付している。図１３は、第３の実施形態に係る判定処理を示すフローチャートである。図１３に示す判定処理に含まれる各処理のうち図５に示す判定処理に含まれる各処理と同一の処理には同一の番号を付している。
【００９１】
図１２に示すように、処理部１２００は、処理部４００と同様に、検査パッチ読込部４０１と、検査パッチ保持部４０２と、基準データ群読込部４０３と、基準データ群保持部４０４と、を有している。処理部１２００はさらに、コーディング部１２０１と、結果保持部１２０２と、を有している。処理部４００はさらに、モデル読込部１２０３と、モデル保持部１２０４と、尤度算出部１２０５と、尤度保持部１２０６と、出力処理部１２０７と、を有している。各部の機能については、図１３を参照しつつ説明する。
【００９２】
図１３に示すように、Ｓ５０２の処理の後、ＣＰＵ１０１は、処理をＳ１３００へ進める。Ｓ１３００において、コーディング部１２０１は、１つの検査パッチを処理対象として選択する。本処理は、第１の実施形態において説明した図５のＳ５０３の処理と同様である。次に、Ｓ１３０１において、コーディング部１２０１は、コーディング処理を行うことにより、処理対象の検査パッチに対する基準データを選択すると共に、選択した基準データに対するパラメータを特定する。Ｓ１３０１においてコーディング部１２０１が行うコーディング処理は、図１１に示すＳ１１０１においてコーディング部１００１が行うコーディング処理と同様のＣＤＡによるコーディング処理である。なお、Ｓ１３０１における処理は、第１の実施形態において説明したコーディング部４０５による処理（Ｓ５０４における処理）とは異なる処理である。
【００９３】
次に、Ｓ１３０２において、コーディング部１２０１は、処理対象の検査パッチに対するコーディング結果を結果保持部１２０２に記録する。ここで、コーディング結果は、処理対象の検査パッチの位置情報と、Ｓ１３０１において選択した基準データの数と、選択した基準データの番号と、各基準データに対するｗの要素とを含む。例えば、処理対象の検査パッチの切り出し位置が（ｘ、ｙ）で、コーディング処理により、ｉ番目、ｊ番目、ｋ番目の基準データが選択され、それぞれに対応するパラメータ（重み係数）がｗ(i)、ｗ(j)、ｗ(k)であったとする。この場合、コーディング部１２０１は、（ｘ、ｙ、３、ｉ、ｊ、ｋ、ｗ(i)、ｗ(j)、ｗ(k)）をコーディング結果として結果保持部１２０２に記録する。本処理は、図５に示すＳ５０５の処理に対応する。
【００９４】
次に、Ｓ１３０３において、コーディング部１２０１は、検査パッチ保持部４０２に記録されたすべての検査パッチに対し、Ｓ１３０１及びＳ１３０２の処理が終了したか否かを確認する。コーディング部１２０１は、未処理の検査パッチが存在する場合には（Ｓ１３０３でＮｏ）、処理をＳ１３００へ進める。この場合、コーディング部１２０１は、Ｓ１３００において未処理の検査パッチを選択し、Ｓ１３０１以降の処理を行う。コーディング部１２０１は、すべての検査パッチに対するＳ１３０１及びＳ１３０２の処理が終了している場合には（Ｓ１３０３でＹｅｓ）、処理をＳ１３０４へ進める。
【００９５】
次に、Ｓ１３０４において、尤度算出部１２０５は、結果保持部１２０２に記録されている複数のコーディング結果の中から１つのコーディング結果を処理対象として選択する。本処理は、図５に示すＳ５０７の処理と同様である。次に、Ｓ１３０５において、尤度算出部１２０５は、パラメータモデルを選択する。本処理は、図５に示すＳ５０８の処理に対応するが、Ｓ５０８において選択されるパラメータモデルが１つであるのに対し、Ｓ１３０５において選択されるパラメータモデルの数は１以上となる。この点で、両処理は異なる。
【００９６】
Ｓ１３０５において、尤度算出部１２０５は、処理対象のコーディング結果に含まれる基準データの組に含まれる基準データにおいて２つの基準データの組み合わせを求め、すべての組み合わせに対応するパラメータモデルを選択する。例えば、処理対象のコーディング結果が（ｘ、ｙ、３、ｉ、ｊ、ｋ、ｗ(i)、ｗ(j)、ｗ(k)）であるとする。この場合、３つの基準データから２つの基準データを選択することになるので、3Ｃ2＝３組の基準データの組み合わせ、つまり、（ｉ、ｊ）、（ｉ、ｋ）（ｊ、ｋ）の基準データの組み合わせが求まる。したがって、尤度算出部１２０５は、これら３つの組み合わせそれぞれに対応した３つのパラメータモデルを選択する。
【００９７】
次に、Ｓ１３０６において、尤度算出部１２０５は、処理対象のコーディング結果に含まれるパラメータと、選択したパラメータモデルそれぞれとの尤度を算出する。そして、尤度算出部１２０５は、各パラメータモデルとの尤度を統合することにより、検査パッチに対する最終的な尤度を求める。例えば、上述のように、処理対象の検査パッチのコーディング結果が（ｘ、ｙ、３、ｉ、ｊ、ｋ、ｗ(i)、ｗ(j)、ｗ(k)）であるとする。この場合、尤度算出部１２０５は、基準データの組み合わせ（ｉ、ｊ）に対応するパラメータモデルと、このパラメータモデルに対応する、処理対象のコーディング結果に含まれるパラメータ（ｗ(i)、ｗ(j)）の尤度を求める。同様に、尤度算出部１２０５は、基準データの組み合わせ（ｉ、ｋ）に対応するパラメータモデルと、対応するパラメータ（ｗ(i)、ｗ(k)）の尤度を求める。同様に、尤度算出部１２０５は、基準データの組み合わせ（ｊ、ｋ）に対応するパラメータモデルと、対応するパラメータ（ｗ(j)、ｗ(k)）の尤度を求める。そして、尤度算出部１２０５は、求めた３つの尤度の値を統合し、これを処理対象のコーディング結果（対応する検査パッチ）に対する最終的な尤度とする。
【００９８】
本実施形態においては、尤度算出部１２０５は、相加平均を算出することにより、複数の尤度を統合するものとする。ただし、統合方法は、実施形態に限定されるものではない。他の例としては、相乗平均等でもよい。なお、パラメータモデルに対する尤度の算出処理は、他の実施形態において説明した処理と同様である。そして、尤度算出部１２０５は統合した尤度Ｌを検査パッチの位置情報（ｘ、ｙ）と共に（ｘ、ｙ、Ｌ）というセットにし、これを尤度情報として尤度保持部１２０６に記録する。
【００９９】
次に、Ｓ１３０７において、尤度算出部１２０５は、結果保持部１２０２に記録されたすべてのコーディング結果に対し、Ｓ１３０５及びＳ１３０６の処理が終了したか否かを確認する。尤度算出部１２０５は、未処理のコーディング結果が存在する場合には（Ｓ１３０７でＮｏ）、処理をＳ１３０４へ進める。この場合、尤度算出部１２０５は、Ｓ１３０４において未処理のコーディング結果を選択し、Ｓ１３０５以降の処理を行う。尤度算出部１２０５は、すべてのコーディング結果に対するＳ１３０５及びＳ１３０６の処理が終了している場合には（Ｓ１３０７でＹｅｓ）、処理をＳ１３０８へ進める。
【０１００】
Ｓ１３０８において、出力処理部１２０７は、尤度保持部１２０６に記録された尤度情報に基づいて、尤度マップを生成し、これを出力するよう制御する。本処理は、図５に示すＳ５１１の処理と同様である。以上で、判定処理が完了する。なお、第３の実施形態に係る情報処理装置１００のこれ以外の構成及び処理は、他の実施形態に係る情報処理装置１００の構成及び処理と同様である。
【０１０１】
以上のように、第３の実施形態に係る情報処理装置１００は、選択される基準データの個数が定まらないような場合においても、適切なモデルを生成し、またモデルを用いた判定を行うことができる。また、情報処理装置１００は、第１の実施形態において説明したように予め定められた数の基準データを選択するものに限定されるものではなく、第３の実施形態において説明したように、選択される基準データの数が定まっていない場合にも適用可能である。
【０１０２】
第３の実施形態の第１の変形例としては、情報処理装置１００は、モデル生成処理において、生成するモデルの次元は実施形態に限定されるものではなく、１次元、又は３次元以上のモデルを生成してもよい。但し、次元を増やすとモデル化の精度が劣化するので、モデル化する対象のデータ数等に応じて、尤度交差検定法等で適切な組み合わせ数を選択するのが好適である。また、モデル化の対象となるパラメータについても実施形態に限定されるものではなく、重み係数の絶対値以外のパラメータを用いてもよい。
【０１０３】
また、第２の変形例としては、第３の実施形態の情報処理装置１００も、第２の実施形態において説明したように、重み係数のモデルだけでなく、位置に応じた変位の分布のモデルを併用してもよい。
【０１０４】
（第４の実施形態）
次に、第４の実施形態に係る情報処理装置１００について、他の実施形態に係る情報処理装置１００と異なる点について説明する。第４の実施形態に係る情報処理装置１００は、ビデオカメラ等で撮影された動画像が特定のシーンであるかどうかを判定するための、特定のシーンのモデルを生成し、生成したモデルを用いて、判定対象の動画が特定のシーンであるか否かを判定する。
【０１０５】
第４の実施形態に係る情報処理装置１００の処理も、第１の実施形態に係る情報処理装置１００の処理と同様に、モデル生成工程と判定工程に大別される。本実施形態のモデル生成工程では、特定のシーンの動画像を多数用いて、特定のシーンをモデル化する。また、判定工程では、判定対象の動画が、特定のシーンであるかどうかを判定する。すなわち、特定のシーンは、特定カテゴリに属する特定データの一例である。特定のシーンとしては、例えば、サッカーの試合中のゴールシーンや、監視カメラ映像中の事故発生シーン等が挙げられ、モデルを生成するのに十分なデータ数（例えば１００個以上等）があれば、どのようなシーンでも構わない。情報処理装置１００は、このモデルを利用し、入力された動画に対して尤度を算出し、その動画が特定のシーンであるのか否かの判定を行う。
【０１０６】
図１４は、第４の実施形態に係るモデル生成処理を行う処理部１４００のソフトウェア構成を示す図である。図１５は、第４の実施形態に係るモデル生成処理を示すフローチャートである。図１４に示すように、処理部１４００は、特徴量読込部１４０１と、特徴量保持部１４０２と、基準データ群読込部１４０３と、基準データ群保持部１４０４と、マッチング部１４０５と、を有している。処理部６００はさらに、結果保持部１４０６と、モデル生成部１４０７と、出力処理部１４０８と、を有している。マッチング部１４０５は、他の実施形態のコーディング部に対応し、他の実施形態と同様、基準データの選択と、選択した基準データに係るパラメータの算出を行う。ただし、他の実施形態とは、基準データの選択方法や、パラメータの算出方法が異なる。各部の機能については、図１５を参照しつつ説明する。
【０１０７】
図１５に示すように、Ｓ１５００において、特徴量読込部１４０１は、モデル化すべきシーンの動画データを多数取得する。そして、特徴量読込部１４０１は、各動画から特徴量を抽出して特徴量保持部１４０２に記録する。本実施形態においては、特徴量読込部１４０１は、例えば、サッカーの試合中のゴールシーン等、特定のシーンである動画を多数用い、それぞれの動画から特徴量を抽出する。抽出する特徴量は、動画の内容を表現するようなものならば、どのようなものを用いても構わないが、本実施形態では、特徴量読込部１４０１は、下記文献に記載のＶｉｓｕａｌ  Ｃｏｄｅ−Ｓｅｎｔｅｎｃｅｓ特徴（ＶＣＳ特徴）を動画から抽出するものとする。
Ｙｕｓｕｋｅ  Ｍｉｔａｒａｉ  ａｎｄ  Ｍａｓａｋａｚｕ  Ｍａｔｓｕｇｕ，"Ｖｉｓｕａｌ  Ｃｏｄｅ−Ｓｅｎｔｅｎｃｅｓ：Ａ  Ｎｅｗ  Ｖｉｄｅｏ  Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ  Ｂａｓｅｄ  ｏｎ  Ｉｍａｇｅ  Ｄｅｓｃｒｉｐｔｏｒ  Ｓｅｑｕｅｎｃｅ"，Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  −ＥＣＣＶ  ２０１２．Ｗｏｒｋｓｈｏｐｓ  ａｎｄ  Ｄｅｍｏｎｓｔｒａｔｉｏｎｓ，Ｖｏｌ．７５８３，２０１２
【０１０８】
ＶＣＳ特徴は、ヒストグラム型の特徴である。本実施形態では、特徴量読込部１４０１は、上記文献に記載の通り、特徴種類５種、各特徴種類について２０００ビンのヒストグラムを用い、それらを連結した１００００ビン分のヒストグラム特徴を抽出して、特徴量保持部１４０２に記録する。
【０１０９】
次に、Ｓ１５０１において、基準データ群読込部１４０３は、他の実施形態と同様、複数の基準データからなる基準データ群を取得し、これを基準データ群保持部１４０４に読み込む。本実施形態では、モデル化すべきデータが、１００００ビン分のヒストグラムであるので、ここで用いる基準データも、１００００ビン分のヒストグラムと同様の形式のデータとする。基準データ群の各基準データは、任意のデータで構わないが、本実施形態では、ランダムに生成した１００００ビン分のヒストグラムデータを用いる。基準データの個数も、任意の個数で構わないが、本実施形態では、予め３０個の基準データをランダムに生成しておき、基準データ群読込部１４０３は、これらの基準データを基準データ群として基準データ群保持部１４０４に記録する。
【０１１０】
次に、Ｓ１５０２において、マッチング部１４０５は、特徴量保持部１４０２に記録されている複数のＶＣＳ特徴の中から１つのＶＣＳ特徴を処理対象として選択する。本処理は、図３に示すＳ３０２において正常パッチを選択する処理と同様であり、マッチング部１４０５は、Ｓ１５０２〜Ｓ１５０５の繰り返し処理において、特徴量保持部１４０２に記録されているすべてのＶＣＳ特徴を任意の順で選択する。
【０１１１】
次に、Ｓ１５０３において、マッチング部１４０５は、処理対象のＶＣＳ特徴に対応した基準データの選択と、パラメータの算出を行う。マッチング部１４０５は、まず、基準データ群保持部１４０４に記録されているすべての基準データと、処理対象のＶＣＳ特徴との類似度Ｓを（式１１）により算出する。
【数８】
2018124990.tif 000010
ここで、ｈ(f)［ｂ］は、処理対象のＶＣＳ特徴の、ｆ番目の特徴種類のヒストグラムのｂ番目のビンの値である。同様に、ｂ(f)［ｂ］は、類似度を算出する基準データのｆ番目の特徴種類のヒストグラムのｂ番目のビンの値である。これは、いわゆるχ２乗距離の符号を反転してｅｘｐを取ったものである。
【０１１２】
マッチング部１４０５は、処理対象のＶＣＳ特徴と、基準データ群保持部９１１に記録されているすべての基準データとの類似度を求め、求めた類似度に従って基準データの選択を行う。類似度に従った基準データの選択方法としては、様々なものが考えられるが、本実施形態では、マッチング部１４０５は、単純に、類似度が最大となる１個の基準データを選択する。そして、マッチング部１４０５は、選択した基準データに対して求めた類似度Ｓを、その基準データに対応するパラメータの１つとして決定する。
【０１１３】
マッチング部１４０５はさらに、選択された基準データと、処理対象のＶＣＳ特徴を用い、選択された基準データに対応するもう１つのパラメータとして、（式１２）によりヒストグラム相関値Ｃを求める。
【数９】
2018124990.tif 000011
【０１１４】
次に、Ｓ１５０４において、マッチング部１４０５は、Ｓ１５０３において選択した基準データの番号と、選択した基準データに対する類似度Ｓ及び相関値Ｃを結果保持部１４０６に記録する。例えば、Ｓ１５０３において、ｉ番目の基準データが選択され、対応する類似度及び相関値がそれぞれＳ(i)、Ｃ(i)であったとする。この場合、マッチング部１４０５は、（ｉ、Ｓ(i)、Ｃ(i)）というデータセットをマッチング結果として結果保持部１４０６に記録する。
【０１１５】
次に、Ｓ１５０５において、マッチング部１４０５は、特徴量保持部１４０２に記録されたすべてのＶＣＳ特徴に対し、Ｓ１５０３及びＳ１５０４の処理を終了したか否かを確認する。マッチング部１４０５は、未処理のＶＣＳ特徴が存在する場合には（Ｓ１５０５でＮｏ）、処理をＳ１５０２へ進める。この場合、マッチング部１４０５は、未処理のＶＣＳ特徴を選択し、Ｓ１５０３以降の処理を行う。マッチング部１４０５は、すべてのＶＣＳ特徴に対する処理が終了している場合には（Ｓ１５０５でＹｅｓ）、処理をＳ１５０６へ進める。
【０１１６】
続く、Ｓ１５０６〜Ｓ１５０８の処理は、特徴量保持部１４０２に記録された各ＶＣＳ特徴に対するマッチング結果に基づいて、特定のシーンに関するモデルを生成する処理である。ここでは、他の実施形態と同様、基準データに関するパラメータモデルを生成するが、それに加え、各基準データが選択される確率もモデル化する。Ｓ１５０６において、モデル生成部１４０７は、基準データ群保持部１４０４に記録されている基準データの中から１つの基準データを処理対象として選択する。モデル生成部１４０７は、Ｓ１５０６〜Ｓ１５０８の繰り返し処理において、基準データ群保持部１４０４に記録されているすべての基準データを任意の順で選択する。本実施形態においては、モデル生成部１４０７は、１番目の基準データから順に選択するものとする。
【０１１７】
次に、Ｓ１５０７において、モデル生成部１４０７は、処理対象の基準データに対するパラメータの分布を示すパラメータモデルを生成し、さらに、処理対象の基準データが選択される選択確率のモデルを生成する。具体的には、モデル生成部１４０７は、まず結果保持部１４０６に記録されているマッチング結果の中から、処理対象の基準データを含むマッチング結果を抽出する。例えば、処理対象の基準データがｉ番目の基準データであるとする。この場合、モデル生成部１４０７は、選択された基準データとしてｉ番目の基準データを含むマッチング結果を結果保持部１４０６から抽出する。
【０１１８】
抽出された結果がＮ個であった場合、結果保持部１４０６に記録されたマッチング結果の中から、（ｉ、Ｓ(i)n、Ｃ(i)n）［ｎ＝１、２、・・・、Ｎ］というＮ個のマッチング結果が抽出されることになる。ここで、Ｓ(i)n、Ｃ(i)nはそれぞれ、ｎ番目に抽出された結果における、ｉ番目の基準データに対する類似度と相関値である。そして、モデル生成部１４０７は、抽出されたＮ個のマッチング結果のうちパラメータ（Ｓ(i)n、Ｃ(i)n）を用いて、この２つの値の分布に関するモデルを生成する処理を行う。
【０１１９】
ここで生成する分布のモデルは、任意のモデルで構わないが、本実施形態では、モデル生成部１４０７は、他の実施形態と同様に２次元の正規分布と仮定してモデルを生成する。モデル生成部１４０７は、（式１３）及び（式１４）により平均μ(i)と分散共分散行列Σ(i)を求める。ここで、パラメータ（Ｓ(i)n、Ｃ(i)n）の２つの値を並べた２次元ベクトルをｚ(i)nとする。
【数１０】
2018124990.tif 000012
【０１２０】
さらに、モデル生成部１４０７は、上記パラメータモデル以外に、処理対象の基準データの選択確率もモデル化する。具体的には、モデル生成部１４０７は、結果保持部１４０６に記録されているすべてのマッチング結果の個数がＴ個であり、そのうちＮ（Ｎ＜Ｔ）個が処理対象の基準データを含むとする。この場合、モデル生成部１４０７は処理対象の基準データの選択確率をＮ／Ｔと推定する。
【０１２１】
次に、Ｓ１５０８において、モデル生成部１４０７は、基準データ群保持部１４０４に記録されているすべての基準データに対して、Ｓ１５０７の処理を終了したか否かを確認する。モデル生成部１４０７は、未処理の基準データが存在する場合には（Ｓ１５０８でＮｏ）、処理をＳ１５０６へ進める。この場合、モデル生成部１４０７は、Ｓ１５０６において未処理の基準データを選択し、Ｓ１５０７の処理を行う。モデル生成部１４０７は、すべての基準データに対する処理が終了している場合には（Ｓ１５０８でＹｅｓ）、処理をＳ１５０９へ進める。これにより、すべての基準データに対し、パラメータモデルと、選択確率が得られる。このように、本実施形態の情報処理装置１００は、特定シーンのモデルとして、複数のパラメータモデルと、複数の選択確率のモデルを生成する。
【０１２２】
次に、Ｓ１５０９において、出力処理部１４０８は、Ｓ１５０８において得られた、すべての基準データに対するパラメータデルと選択確率と、を特定シーンのモデルとして出力するよう制御する。本実施形態においては、３０個の基準データを用いるので、３０個のパラメータモデルと、３０個の選択確率が出力されることになる。以上で、モデル生成処理が完了する。以上のように、第４の実施形態の情報処理装置１００は、モデル生成工程では、多数のデータそれぞれから特徴量を抽出したものを利用して、その特徴量のモデル化を行う。
【０１２３】
次に、第４の実施形態に係る判定処理について説明する。図１６は、第４の実施形態に係る判定処理を行う処理部１６００のソフトウェア構成を示す図である。図１７は、第４の実施形態に係る判定処理を示すフローチャートである。図１６に示すように、処理部１６００は、特徴量読込部１６０１と、基準データ読込部１６０２と、基準データ群保持部１６０３と、マッチング部１６０４と、を有している。処理部１６００はさらに、モデル読込部１６０５と、モデル保持部１６０６と、尤度算出部１６０７と、出力処理部１６０８と、を有している。各部の機能については、図１７を参照しつつ説明する。
【０１２４】
Ｓ１７００において、基準データ読込部１６０２は、基準データ群を取得し、これを基準データ群保持部１６０３に読み込む。本処理は、図１５のＳ１５０１の処理と同様である。Ｓ１７００においても、Ｓ１５０１において読み込んだのと同じ３０個の基準データを読み込む。次に、Ｓ１７０１において、モデル読込部１６０５は、モデル生成処理において生成された基準データに対応した複数のパラメータモデルと複数の選択確率をモデル保持部１６０６に読み込む。前述のように、本実施形態においては３０個の基準データを用いるため、３０個のパラメータモデルと３０個の選択確率が読み込まれる。
【０１２５】
次に、Ｓ１７０２において、特徴量読込部１６０１は、判定対象の動画を取得する。そして、特徴量読込部１６０１は、取得した動画からモデル生成処理において説明したのと同様にＶＣＳ特徴を抽出し、抽出したＶＣＳ特徴をマッチング部１６０４に送る。次に、Ｓ１７０３において、マッチング部１６０４は、ＶＣＳ特徴に対して基準データを選択し、選択した基準データとの類似度を算出する。マッチング部１６０４はさらに、相関値を求める。本処理は、Ｓ１５０３におけるマッチング部１４０５の処理と同様である。マッチング部１６０４は、選択した基準データと、選択した基準データに対する類似度と、相関値と、をマッチング結果として尤度算出部１６０７に送る。
【０１２６】
次に、Ｓ１７０４において、尤度算出部１６０７は、マッチング部１６０４から受け取ったマッチング結果と、モデル保持部１６０６に記録されているパラメータモデル及び選択確率と、に基づいて、尤度を算出する。具体的には、尤度算出部１６０７は、まず、マッチング結果のうち選択された基準データの番号に基づいて、モデル保持部１６０６から選択された基準データに対応するパラメータモデルと選択確率を選択する。例えば、Ｓ１７０３において得られたマッチング結果に示される選択された基準データがｉ番目の基準データであるとする。この場合、尤度算出部１６０７は、モデル保持部１６０６からｉ番目の基準データに対応したパラメータモデルと、ｉ番目の基準データの選択確率を選択する。
【０１２７】
そして、尤度算出部１６０７は、選択したパラメータモデル及び選択確率に基づいて、（式１５）により尤度Ｌを算出する。
【数１１】
2018124990.tif 000013
ここで、ｐ(i)は、ｉ番目の基準データの選択確率、ｚ(i)は判定対象のＶＣＳ特徴から得られたマッチング結果における類似度と相関値を並べた２次元ベクトルである。μ(i)及びΣ(i)は、それぞれ分布の平均と分散共分散行列であり、上述のモデル生成処理において算出したものである。求めた尤度Ｌは、尤度出力部１１５に送られる。
【０１２８】
次に、Ｓ１７０６において、出力処理部１６０８は、尤度Ｌを外部に出力するよう制御する。以上で、判定処理が終了する。上記処理により出力された尤度を用い、例えば、この尤度が予め定めた所定の閾値以上であれば、モデル化した特定のシーンである可能性が高いと判定することができる。
【０１２９】
このように、情報処理装置１００は、特定のシーンである動画であるかどうかといった判定処理を行うことができる。また、情報処理装置１００は、基準データに関するパラメータモデルだけでなく、その基準データの選択確率のモデルも併用することにより、より適切なモデルを生成し、またより適切な判定を行うことができる。以上のように、第４の実施形態に係る情報処理装置１００は、ビデオカメラ等で撮影された動画像中から特定のシーンを検出するシステムにおいて用いる、特定のシーンのモデルを生成することができる。また、情報処理装置１００は、生成したモデルを用い、入力した動画が特定のシーンであるか否かを判定することができる。
【０１３０】
なお、第４の実施形態の第１の変形例としては、情報処理装置１００によるモデル生成及び判定の対象となるデータは、基準データの選択と、基準データに係るパラメータの算出ができるようなデータであればよい。すなわち、データの形式は静止画や動画に限定されるものではない。処理対象のデータとしては、音声データや、その他のマルチメディアデータ、テキストデータ等が挙げられる。
【０１３１】
また、第２の変形例としては、第４の実施形態に係る情報処理装置１００は、基準データに対するモデル及び選択確率を用いて算出する値の積を尤度として算出したが、尤度の算出方法は実施形態に限定されるものではない。他の例としては、情報処理装置１００は、例えば、２つの値の和に基づいて尤度を求めてもよい。
【０１３２】
また、第３の変形例としては、第４の実施形態に係る情報処理装置１００は、類似度のみに基づいて基準データの選択を行い、類似度と相関値を用いてモデルの生成を行った。ただし、情報処理装置１００が参照するパラメータの数及び種類は実施形態に限定されるものではない。例えば、情報処理装置１００は、類似度だけでなく相関値に基づいて基準データの選択を行ってもよい。また例えば、情報処理装置１００は、類似度のみに基づいてモデルの生成を行ってもよい。また例えば、情報処理装置１００は、相関値のみに基づいてモデルの生成を行ってもよい。また例えば、情報処理装置１００は、類似度及び相関値と異なる第３のパラメータを求め、類似度、相関値及び第３のパラメータの３次元のモデルを生成してもよい。このように、情報処理装置１００は、複数の評価値を求め、そのうち少なくとも１つの評価値に基づいて基準データを選択し、基準データの選択に用いた評価値と同一の又は異なる、少なくとも１つの評価値に基づいて、モデル生成を行えばよい。
【０１３３】
また、第４の変形例としては、第４の実施形態の情報処理装置１００は、類似度Ｓに基づいて基準データを選択したが、これに替えて、第１〜第３実施形態と同様に、いわゆるスパースコーディングの処理により基準データを選択してもよい。一方で、第１〜第３実施形態の情報処理装置１００も、類似度を用いる等、スパースコーディングの処理以外の処理により基準データを選択してもよい。このように、情報処理装置１００は、ＶＣＳ特徴と基準データとの適合の程度に応じて基準データを選択すればよく、そのための処理は実施形態に限定されるものではない。
【０１３４】
また、第５の変形例としては、第４の実施形態においては、マッチング部１４０５は、類似度の最も高い基準データを１つ選択したが、選択する基準データの数は、１つに限定されるものではない。例えば、第１の実施形態と同様に、類似度の高い上位２つの基準データを選択する等、複数の基準データを選択してもよい。
【０１３５】
また、第１〜第３の実施形態の変形例について説明する。第１の変形例としては、第４の実施形態の情報処理装置１００が１つの基準データに対し類似度と相関値を求めたように、第１〜第３の実施形態の情報処理装置１００も、１つの基準データに対し複数のパラメータを求め、これらを用いたモデルを生成してもよい。
【０１３６】
また、第２の変形例としては、第１〜第３の実施形態の情報処理装置１００も、第４の実施形態において説明したように、正常パッチの特徴量等、正常パッチから得られる正常パッチの特徴的な情報についてのモデルを生成してもよい。さらに、この場合、各実施形態の情報処理装置１００は、このモデルを用いた判定を行えばよい。
【０１３７】
また、第３の変形例としては、第４の実施形態の情報処理装置１００が基準データの選択確率を求めたのと同様に、第１〜第３の実施形態の情報処理装置１００も、モデル生成処理及び判定処理において、選択確率を併用してもよい。
【０１３８】
（第５の実施形態）
次に、第５の実施形態に係る情報処理装置１００について、他の実施形態に係る情報処理装置１００と異なる点について説明する。第５の実施形態に係る情報処理装置１００は、第１から第３の実施形態と同様に、モデル生成工程で生成したモデルを用い、検査画像から切出した検査パッチの尤度を算出する処理を行う。第１から第３の実施形態では、検査パッチのエンコードにスパースコーディングの技術を用いた場合について説明したが、本実施形態では、検査パッチのエンコードに下記文献のオートエンコーダを用いる。
Ｙｏｓｈｕａ  Ｂｅｎｇｉｏ，Ｐａｓｃａｌ  Ｌａｍｂｌｉｎ，Ｄａｎ  Ｐｏｐｏｖｉｃｉ  ａｎｄ  Ｈｕｇｏ  Ｌａｒｏｃｈｅｌｌｅ，"Ｇｒｅｅｄｙ  Ｌａｙｅｒ−Ｗｉｓｅ  Ｔｒａｉｎｉｎｇ  ｏｆ  Ｄｅｅｐ  Ｎｅｔｗｏｒｋｓ"，Ａｄｖａｎｃｅｓ  ｉｎ  Ｎｅｕｒａｌ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｃｅｓｓｉｎｇ  Ｓｙｓｔｅｍｓ  １９，ｐｐ．１５３−１６０，２００７
【０１３９】
第５の実施形態に係る情報処理装置１００の処理も、他の実施形態に係る情報処理装置１００の処理と同様に、モデル生成工程と判定工程に大別される。まず、モデル生成工程におけるモデル生成処理について説明する。図１８は、第５の実施形態に係るモデル生成処理を行う処理部１８００のソフトウェア構成を示す図である。図２に示す処理部２００の機能と同一の機能には同一の符号を付している。図１９は、第５の実施形態に係るモデル生成処理を示すフローチャートである。図３に示すモデル生成処理に含まれる処理と同一の処理には同一の符号を付している。
【０１４０】
図１８に示すように、処理部１８００は、処理部２００と同様に、正常パッチ読込部２０１と、正常パッチ保持部２０２と、を有している。処理部１８００はさらに、エンコーダ読込部１８０１と、エンコーダ保持部１８０２と、コーディング部１８０３と、結果保持部１８０４と、パラメータモデル生成部２０７と、出力処理部２０８と、を有している。各部の機能については、図１９を参照しつつ説明する。
【０１４１】
図１９に示すように、Ｓ３００の処理の後、ＣＰＵ１０１は、処理をＳ１９００へ進める。Ｓ１９００において、エンコーダ読込部１８０１は、コーディング部１８０３にて用いるエンコード用の処理パラメータを、エンコーダ保持部１８０２に読み込む。ここで、エンコード用の処理パラメータは、上記文献に示したオートエンコーダのネットワーク構造を示すパラメータ、及び、重み結合パラメータである。本実施形態の情報処理装置１００は、このオートエンコーダとして、予め多数の正常パッチを用いて学習したオートエンコーダを用いる。本実施形態で用いるオートエンコーダは、図２２に示すような複数の階層、Ｌin〜Ｌoutからなるネットワーク構造を持ち、階層的処理により、入力したパッチのエンコードとデコードを行う。ＬinとＬoutは、入力データである正常パッチの画素数と同じ数（本実施形態でも、８×８＝６４個）のノードＮink、またはＮoutk（ｋ＝１、２、・・・、６４）を有する。このオートエンコーダでは、Ｌinに正常パッチのデータを入力し、Ｌ1、Ｌ2、・・・、Ｌmへと階層的処理を行うことによりエンコードを行う。つまり階層ＬmのノードＮmkの各出力値を、Ｌinに入力した正常パッチのエンコード結果として扱う。以降、本実施形態では、階層Ｌmをエンコード層と記載し、エンコード層Ｌmを構成する複数のノードを基準ノードと記載する。デコードは、Ｌm、・・・、Ｌn-1、Ｌn、Ｌoutへと階層的処理を行うことにより実行され、Ｌoutの各ノードの出力値として、Ｌinに入力した正常パッチのデコード結果が得られる。
【０１４２】
次に、Ｓ１９０１において、コーディング部１８０３は、正常パッチ保持部２０２に記録されている複数の正常パッチの中から１つの正常パッチを処理対象として選択する。なお、Ｓ１９０１〜Ｓ１９０４の処理は繰り返し処理であり、繰り返しにおいて正常パッチ保持部２０２に記憶されているすべての正常パッチを１回ずつ選択すればよく、その順番は特に限定されるものではない。
【０１４３】
次に、Ｓ１９０２において、コーディング部１８０３は、処理対象として選択された正常パッチに対して、オートエンコーダによる処理を行う。具体的には、コーディング部１８０３は、後述の方法によりエンコード層Ｌｍを構成する複数の基準ノードの中から、予め設定された個数の基準ノードを選択する。コーディング部１８０３はさらに、選択した各基準ノードに対するパラメータを特定する。ここで、パラメータは、基準ノードの出力値である。基準ノードの選択は、本実施形態では、全基準ノード中、出力値の高い上位２個の基準ノードを選択することにより行われる。本実施形態では、コーディング部１８０３は、このように、出力値の高い上位の基準ノードを選択するが、選択の方法はこれに限るものではない。コーディング部１８０３は、例えば、予め各基準ノードに定めた所定の値との誤差が最も小さい上位の基準ノードを選択する等、その他の方法で選択しても構わない。
【０１４４】
次に、Ｓ１９０３において、コーディング部１８０３は、Ｓ１９０２において選択した基準ノードと、選択した基準ノードの出力値とを、サンプリングしたコーディング結果として結果保持部１８０４に記録する。すなわち、結果保持部１８０４には、コーディング結果であるエンコード層Ｌｍの全ての基準ノードの出力の内、所定の方法により選択した基準ノードに関する情報のみが記録される。本実施形態では、２個の基準ノードが選択される。例えば、ｉ番目とｊ番目の基準ノードが選択され、それぞれに対応する出力値がＯi、Ｏjであったとする。この場合、コーディング部１８０３は、これらの情報を１つにまとめたデータセット（ｉ、ｊ、Ｏi、Ｏj）をサンプリングしたコーディング結果として結果保持部１８０４に記録する。
【０１４５】
次に、Ｓ１９０４において、コーディング部１８０３は、正常パッチ保持部２０２に記録されたすべての正常パッチに対し、Ｓ１９０２及びＳ１９０３の処理を終了したか否かを確認する。コーディング部１８０３は、未処理の正常パッチが存在する場合には（Ｓ１９０４でＮｏ）、処理をＳ１９０１へ進める。この場合、コーディング部１８０３は、Ｓ１９０１において未処理の正常パッチを選択し、Ｓ１９０２以降の処理を行う。コーディング部１８０３は、すべての正常パッチに対して、Ｓ１９０２及びＳ１９０３の処理が終了している場合には（Ｓ１９０４でＹｅｓ）、処理をＳ１９０５へ進める。すべての正常パッチに対する処理が終了すると、結果保持部１８０４には、正常パッチ保持部２０２に記録されているすべての正常パッチに対応したサンプリングしたコーディング結果が記録される。
【０１４６】
以降の、Ｓ１９０５〜Ｓ１９０９において、パラメータ生成部１８０５は、結果保持部１８０４に記録された多数のサンプリングしたコーディング結果を用いて、複数のパラメータモデルを生成し、出力処理部１８０６は、すべてのパラメータモデルを出力する。この処理は、選択されたｉ番目の基準ノードの出力値Ｏiを、第１の実施形態における、選択されたｉ番目の基準データに対応する重み係数ｗ(i)と読み替えた場合の処理と同様であるので、説明を省略する。Ｓ１９０５〜Ｓ１９０９の処理により、複数のパラメータモデルが出力され、本実施形態のモデル生成処理が完了する。
【０１４７】
次に、情報処理装置１００による本実施形態の判定工程における処理について説明する。図２０は、情報処理装置１００による判定処理を行う処理部２０００のソフトウェア構成を示す図である。処理部２０００の機能の内、図４に示す処理部４００の機能と同一の機能には同一の符号を付している。図２１は、本実施形態の判定処理を示すフローチャートである。
【０１４８】
図２０に示すように、処理部２０００は、処理部４００と同様に、検査パッチ読込部４０１と、検査パッチ保持部４０２と、を有している。処理部２０００はさらに、エンコーダ読込部２００１と、エンコーダ保持部２００２と、モデル読込部２００３と、モデル保持部２００４と、コーディング部２００５と、を有している。処理部２０００はさらに、結果保持部２００６と、尤度算出部２００７と、尤度保持部２００８と、出力処理部２００９と、を有している。各部の機能については、判定処理（図２１）に沿って説明する。
【０１４９】
図２１に示すＳ２１００において、エンコーダ読込部２００１は、エンコード用の処理パラメータを取得し、これをエンコーダ保持部２００２に読み込む。なお、エンコーダ保持部２００２に読み込まれるエンコード用の処理パラメータは、モデル生成処理（図１９）のＳ１９００においてエンコーダ保持部１８０２に読み込まれる処理パラメータと同一である。次に、Ｓ２１０１において、モデル読込部２００３は、モデル生成処理において生成したすべてのパラメータモデルを取得し、これらをモデル保持部２００４に読み込む。次に、Ｓ２１０２において、検査パッチ読込部４０１は、第一の実施形態と同様に、検査画像から複数の検査パッチを生成して、検査パッチ保持部４０２に読み込む。
【０１５０】
続く、Ｓ２１０３〜Ｓ２１０６の処理は、モデル生成処理におけるＳ１９０１〜Ｓ１９０４の処理とほぼ同様の処理である。なお、Ｓ２１０３〜Ｓ２１０６の処理は繰り返し処理であり、繰り返しにおいて検査パッチ保持部４０２に記録されているすべての検査パッチを１回ずつ選択すればよく、その順番は特に限定されるものではない。Ｓ２１０３において、コーディング部２００５は、Ｓ４０２に記録されている複数の検査パッチの中から１つの検査パッチを処理対象として選択する。
【０１５１】
次に、Ｓ２１０４において、コーディング部２００５は、Ｓ２１０３において選択された、処理対象の検査パッチに対して、オートエンコーダによる処理を行う。具体的には、コーディング部２００５は、エンコード層Ｌｍを構成する複数の基準ノードの中から、出力値が上位２個の基準ノードを選択する。コーディング部２００５はさらに、選択した基準ノードに対するパラメータ、つまり対応する基準ノードの出力値を特定する。なお、Ｓ２１０４におけるコーディングの処理は、Ｓ１９０２におけるコーディングの処理と同様であり、オートエンコーダによるエンコード、デコード処理である。
【０１５２】
次に、Ｓ２１０５において、コーディング部２００５は、Ｓ２１０４において選択した基準ノードと、選択した基準ノードに対応する出力値と、検査パッチの位置と、をサンプリングしたコーディング結果として結果保持部２００６に記録する。検査パッチの位置は、第１の実施形態と同様である。例えば、検査画像の位置（ｘ、ｙ）から切り出された検査パッチが処理対象として選択され、選択された検査パッチに対し、ｉ番目及びｊ番目の基準ノードが選択されたとする。また、各基準ノードに対応する出力値がそれぞれＯi、Ｏjであったとする。この場合、コーディング部２００５は、データセット（ｘ、ｙ、ｉ、ｊ、Ｏi、Ｏj）をサンプリングしたコーディング結果として結果保持部２００６に記録する。
【０１５３】
次に、Ｓ２１０６において、コーディング部２００５は、検査パッチ保持部４０２に記録されたすべての検査パッチに対し、Ｓ２１０４及びＳ２１０５の処理が終了したか否かを確認する。コーディング部２００５は、未処理の検査パッチが存在する場合には（Ｓ２１０６でＮｏ）、処理をＳ２１０３へ進める。この場合、コーディング部２００５は、Ｓ２１０３において未処理の検査パッチを選択し、Ｓ２１０４以降の処理を行う。コーディング部２００５は、すべての検査パッチに対するＳ２１０４及びＳ２１０５の処理が終了している場合には（Ｓ２１０６でＹｅｓ）、処理をＳ２１０７へ進める。すべての検査パッチに対する処理が終了すると、結果保持部２００６には、検査パッチ保持部４０２に記録されているすべての検査パッチに対応したサンプリングしたコーディング結果が記録される。
【０１５４】
以降のＳ２１０７〜Ｓ２１１１において、尤度算出部２００７は、モデル保持部２００４に記録された多数のパラメータモデルを用い、結果保持部２００６に記録された全てのサンプリングしたコーディング結果に対応する検査パッチの尤度を算出する。ここで算出する尤度は、第１の実施形態と同様、正常パッチらしさである。尤度算出部２００７は、算出した尤度を、検査パッチの位置情報（ｘ、ｙ）と共に尤度保持部２００８に記録する。出力処理部２００９は、第１の実施形態と同様、尤度保持部２００８に記録された尤度情報に基づいて尤度マップを生成し、これを出力するよう制御する。ここでの処理は、選択されたｉ番目の基準ノードの出力値Ｏiを、第１の実施形態における、選択されたｉ番目の基準データに対応する重み係数ｗ(i)と読み替えた場合の処理と同様であるので、説明を省略する。Ｓ２１０７〜Ｓ２１１１の処理により、検査パッチごとに得られた尤度を、各検査パッチの切り出し位置に対応する画素値として並べた画像が尤度マップとして生成され、本実施形態の判定処理が完了する。生成された尤度マップを用いた判定については、第１の実施形態と同様でよいので説明を省略する。
【０１５５】
以上のように、本発明は、データに対して階層的処理を行うような場合にも適用可能である。本実施形態では、階層的処理として、オートエンコーダを用いる例を示したが、本発明はこれに限るものではなく、例えば、下記文献のＣＮＮｓを用いた階層的処理を行うような場合にも適用可能である。
Ａｌｅｘ  Ｋｒｉｚｈｅｖｓｋｙ，Ｉｌｙａ  Ｓｕｔｓｋｅｖｅｒ  ａｎｄ  Ｇｅｏｆｆｒｅｙ  Ｅ．Ｈｉｎｔｏｎ，"ＩｍａｇｅＮｅｔ  Ｃｌａｓｓｉｆｉｃａｔｉｏｎ  ｗｉｔｈ  Ｄｅｅｐ  Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ"，Ａｄｖａｎｃｅｓ  ｉｎ  Ｎｅｕｒａｌ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｃｅｓｓｉｎｇ  Ｓｙｓｔｅｍｓ  ２５，ｐｐ．１１０６−１１１４，２０１２
また、本実施形態では、階層的処理のネットワーク構造の内、所定の１つの層を構成するノードを基準ノードとしたが、基準ノードが複数の層にまたがるような構成でも構わない。
【０１５６】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【０１５７】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１５８】
１００  情報処理装置
２０５  コーディング部
２０７  モデル生成部
【図１】
2018124990.tif 000014
【図２】
2018124990.tif 000015
【図３】
2018124990.tif 000016
【図４】
2018124990.tif 000017
【図５】
2018124990.tif 000018
【図６】
2018124990.tif 000019
【図７】
2018124990.tif 000020
【図８】
2018124990.tif 000021
【図９】
2018124990.tif 000022
【図１０】
2018124990.tif 000023
【図１１】
2018124990.tif 000024
【図１２】
2018124990.tif 000025
【図１３】
2018124990.tif 000026
【図１４】
2018124990.tif 000027
【図１５】
2018124990.tif 000028
【図１６】
2018124990.tif 000029
【図１７】
2018124990.tif 000030
【図１８】
2018124990.tif 000031
【図１９】
2018124990.tif 000032
【図２０】
2018124990.tif 000033
【図２１】
2018124990.tif 000034
【図２２】
2018124990.tif 000035