JP2018124990A - モデル生成装置、評価装置、モデル生成方法、評価方法及びプログラム - Google Patents

モデル生成装置、評価装置、モデル生成方法、評価方法及びプログラム Download PDF

Info

Publication number
JP2018124990A
JP2018124990A JP2018001963A JP2018001963A JP2018124990A JP 2018124990 A JP2018124990 A JP 2018124990A JP 2018001963 A JP2018001963 A JP 2018001963A JP 2018001963 A JP2018001963 A JP 2018001963A JP 2018124990 A JP2018124990 A JP 2018124990A
Authority
JP
Japan
Prior art keywords
model
parameter
data
reference data
specific
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2018001963A
Other languages
English (en)
Inventor
裕輔 御手洗
Hirosuke Mitarai
裕輔 御手洗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Publication of JP2018124990A publication Critical patent/JP2018124990A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/001Industrial image inspection using an image reference approach
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/048Fuzzy inferencing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10056Microscopic image
    • G06T2207/10061Microscopic image from scanning electron microscope
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20076Probabilistic image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30164Workpiece; Machine component

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Algebra (AREA)
  • Quality & Reliability (AREA)
  • Medical Informatics (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Graphics (AREA)
  • Databases & Information Systems (AREA)
  • Automation & Control Theory (AREA)
  • Fuzzy Systems (AREA)
  • Geometry (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】データのカテゴリを評価するためのより適切なモデルを生成することを目的とする。【解決手段】特定カテゴリに属する特定データの特徴を表現するモデルを生成するモデル生成装置であって、特定カテゴリに属する複数の特定データそれぞれと、予め設定された基準データ群に含まれる複数の基準データそれぞれとの適合の程度に基づいて、各特定データに対し、基準データ群から少なくとも1つの基準データを選択する選択手段と、複数の特定データそれぞれに対して、選択手段により選択された基準データに対応したパラメータを特定するパラメータ特定手段と、特定データのモデルとして、パラメータ特定手段により特定された少なくとも1つのパラメータの分布を示すパラメータモデルを生成するモデル生成手段とを有する。【選択図】図2

Description

本発明は、データのカテゴリを評価するためのモデル生成装置、評価装置、モデル生成方法、評価方法及びプログラムに関する。
従来、特定のカテゴリに属する複数のデータを用いてデータをモデル化する方法として、様々な方法が提案されている。一般的な方法としては、データの分布を正規分布と仮定してモデル化をする方法が挙げられる。しかし、モデル化すべきデータの分布が複雑である場合、このようなモデル化では限界がある。これに対し、非特許文献1に開示の異常検出方法では、SEM画像中の異常箇所を検出する方法が開示されている。具体的には、スパースコーディングの技術を用い、正常なSEM画像からサンプリングした多数の画像パッチをモデル化し、そのモデルに基づいて、異常な箇所を検出するというものである。この手法では、正常な画像パッチに対してスパースコーディングの処理を実行した際の、再構成誤差とL1ノルムという2変数に対する許容可能範囲を楕円でモデル化することにより、正常なSEM画像における画像パッチをモデル化する。これにより、新たに入力された画像パッチが、このモデルの範囲内であるか否かによって異常箇所の検出を行うことができる。
Giacomo Boracchi,Diego CarreraandBrendt Wohlberg,"Novelty Detection in Images by Sparse Representations",Inteligent Embedded Systems,pp.47−54,2014
しかしながら、非特許文献1の異常検出方法では、スパースコーディングの処理時に得られる再構成誤差とL1ノルムという2つの変数に情報を集約する。このため、元のデータの細かい情報が表現されておらず、結果として十分なモデル化ができない可能性がある。
本発明はこのような問題点に鑑みなされたもので、データのカテゴリを評価するためのより適切なモデルを生成することを目的とする。
そこで、本発明は、特定カテゴリに属する特定データの特徴を表現するモデルを生成するモデル生成装置であって、前記特定カテゴリに属する複数の特定データそれぞれと、予め設定された基準データ群に含まれる複数の基準データそれぞれとの適合の程度に基づいて、各特定データに対し、前記基準データ群から少なくとも1つの基準データを選択する選択手段と、複数の特定データそれぞれに対して、前記選択手段により選択された基準データに対応したパラメータを特定するパラメータ特定手段と、前記特定データのモデルとして、前記パラメータ特定手段により特定された少なくとも1つのパラメータの分布を示すパラメータモデルを生成するモデル生成手段とを有することを特徴とする。
本発明によれば、データのカテゴリを評価するためのより適切なモデルを生成することができる。
情報処理装置のハードウェア構成を示す図である。 モデル生成処理を行う処理部のソフトウェア構成を示す図である。 モデル生成処理を示すフローチャートである。 判定処理を行う処理部を示す図である。 判定処理を示すフローチャートである。 第2の実施形態に係るモデル生成処理を行う処理部を示す図である。 第2の実施形態に係るモデル生成処理を示すフローチャートである。 第2の実施形態に係る判定処理を行う処理部を示す図である。 第2の実施形態に係る判定処理を示すフローチャートである。 第3の実施形態に係るモデル生成処理を行う処理部を示す図である。 第3の実施形態に係るモデル生成処理を示すフローチャートである。 第3の実施形態に係る判定処理を行う処理部を示す図である。 第3の実施形態に係る判定処理を示すフローチャートである。 第4の実施形態に係るモデル生成処理を行う処理部を示す図である。 第4の実施形態に係るモデル生成処理を示すフローチャートである。 第4の実施形態に係る判定処理を行う処理部を示す図である。 第4の実施形態に係る判定処理を示すフローチャートである。 第5の実施形態に係るモデル生成処理を行う処理部を示す図である。 第5の実施形態に係るモデル生成処理を示すフローチャートである。 第5の実施形態に係る判定処理を行う処理部を示す図である。 第5の実施形態に係る判定処理を示すフローチャートである。 階層的処理の構造を示す模式図である。
以下、本発明の実施形態について図面に基づいて説明する。
(第1の実施形態)
図1は、第1の実施形態に係る情報処理装置100のハードウェア構成を示す図である。情報処理装置100は、表面外観検査の対象となる物体を撮影した画像に基づき、当該物体の表面の良否判定を行うシステムにおいて用いる、物体表面の正常なパターンのモデルを生成する。ここで、正常なパターンとは、特定カテゴリに属するデータである特定データの一例であり、情報処理装置100は、特定データの特徴を表現するモデル、すなわち特定データのモデルを生成するモデル生成装置の一例である。情報処理装置100はまた、生成したモデルを用いて、物体表面の良否判定の対象となる物体の撮影画像に基づいて、対象となる画像が正常パターンのカテゴリ、すなわち特定カテゴリに属することの尤度を評価する。すなわち、情報処理装置100は、特定データの特徴を表現するモデルを利用して、判定対象のデータが特定カテゴリに属することの尤度を評価する評価装置の一例である。
情報処理装置100の処理は、オフラインで、物体の正常なパターンのモデルを生成するモデル生成工程と、オンラインで、生成したモデルを用いた物体表面の良否判定を行う判定工程の2つの工程と、に分けられる。情報処理装置100は、モデル生成工程では、予め良品であるということがわかっている物体を複数用意し、その物体を撮影することにより撮影画像を得る。以下、ここで得られる画像を正常画像と称することとする。そして、情報処理装置100は、正常画像から局所的な部分画像(パッチ)を多数切り出し、その多数のパッチを用いてモデルの生成を行う。ここで、正常画像から得られるパッチを正常パッチと称する。すなわち、情報処理装置100は、多数の正常パッチを用いて、正常パッチというデータのモデル化を行う。
情報処理装置100はまた、判定工程では、表面外観検査の対象である物体を撮影し判定対象となる撮影画像を得る。以下、ここで得られる画像を検査画像と称することとする。そして、情報処理装置100は、検査画像から局所的な部分画像(パッチ)を複数切り出して、モデル生成工程で生成したモデルによりパッチの尤度を求める。以下、検査画像から得られるパッチを検査パッチと称する。ここで求める尤度は、正常らしさを示すものであり、ある検査パッチについて求めた尤度が低い場合、その部分は正常とは異なると判定することができ、それにより当該物体の表面の良否判定を行う。モデル生成工程及び判定工程における処理の詳細については後述する。
図1に示すように、情報処理装置100は、CPU101と、ROM102と、RAM103と、HDD104と、表示部105と、入力部106と、通信部107とを有している。CPU101は、ROM102に記憶された制御プログラムを読み出して各種処理を実行する。RAM103は、CPU101の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD104は、各種データや各種プログラム等を記憶する。なお、後述する情報処理装置100の機能や処理は、CPU101がROM102又はHDD104に格納されているプログラムを読み出し、このプログラムを実行することにより実現されるものである。表示部105は、各種情報を表示する。入力部106は、キーボードやマウスを有し、ユーザによる各種操作を受け付ける。通信部107は、ネットワークを介して外部装置との通信処理を行う。
図2は、情報処理装置100によるモデル生成工程における処理(モデル生成処理)を行う処理部200のソフトウェア構成を示す図である。図3は、モデル生成処理を示すフローチャートである。図2に示すように、処理部200は、正常パッチ読込部201と、正常パッチ保持部202と、基準データ群読込部203と、基準データ群保持部204と、を有している。処理部200はまた、コーディング部205と、結果保持部206と、パラメータモデル生成部207と、出力処理部208と、を有している。各部の機能については、モデル生成処理(図3)に沿って説明する。
図3に示すS300において、正常パッチ読込部201は、予め良品であるということがわかっている物体が撮影された正常画像を複数取得する。そして、正常パッチ読込部201は、正常画像それぞれから正常パッチを多数生成する。正常パッチ読込部201は、生成されたすべての正常パッチを正常パッチ保持部202に読み込む。本実施形態においては、正常パッチ読込部201は、物体の表面を撮影したグレースケール画像から、8×8画素の部分画像を多数切り出すことにより正常パッチを生成し、これを正常パッチ保持部202に記録する。なお、正常パッチとして正常画像から部分画像を切り出す位置は、任意の位置でよく、正常パッチ読込部201は、グレースケール画像上でランダムに位置を決定し、その位置の部分画像を切り出せばよい。なお、生成する正常パッチの個数は、多数であることが好ましく、本実施形態では100万個の正常パッチを生成、記録することとする。
次に、S301において、基準データ群読込部203は、基準データ群を取得し、これを基準データ群保持部204に読み込む。ここで、基準データ群は、複数の基準データを含む。基準データは、モデル化すべきデータと同様の形式のデータである。本実施形態においては、基準データは、学習用データ(正常パッチ)に対応し、本実施形態では8×8個の数値から構成されるデータである。この基準データ群は、任意のデータでよい。本実施形態においては、基準データ群読込部203は、予め下記辞書学習技術を用いて複数の基準データ(下記文献中のprototype signal−atom)を生成する。Michal Aharon,Michael Elad and Alfred Bruckstein,"K−SVD:An Algorithm for Designing Overcomplete Dictionaries for SparseRepresentation",IEEE Trans.on Signal Processing,Vol.54,No.11,2006
基準データ群読込部203は、正常パッチ読込部201で生成した多数の正常パッチと同様のデータを用い、上記技術により、256個の基準データからなる基準データ群を予め生成しておく。より具体的には、基準データ群読込部203は、複数の基準データの線形結合により近似した場合の近似誤差の総和が小さくなるように基準データ群を生成する。なお、基準データ群読込部203は、基準データをランダムに選択することにより基準データ群を生成してもよい。そして、基準データ群読込部203は、生成した基準データ群を基準データ群保持部204に記録しておくこととする。なお、基準データ群読込部203は、基準データの生成に用いる正常パッチとして、正常パッチ読込部201が取得した正常パッチとは異なる切り出し位置から切り出した正常パッチを用いるのが好ましい。なお、他の例としては、基準データ群読込部203は、正常パッチ読込部201が生成した正常パッチを用いてもよい。
次に、S302において、コーディング部205は、正常パッチ保持部202に記憶されている複数の正常パッチの中から1つの正常パッチを処理対象として選択する。なお、S302〜S305の処理は繰り返し処理であり、繰り返しにおいて正常パッチ保持部202に記憶されているすべての正常パッチを1回ずつ選択すればよく、その順番は特に限定されるものではない。
次に、S303において、コーディング部205は、処理対象として選択された正常パッチに基づいて、基準データ群保持部204に保持されている基準データ群から、予め設定された個数以下の基準データを選択する。コーディング部205はさらに、選択した各基準データに対するパラメータを特定する。ここで、パラメータは、基準データと正常パッチの適合の程度を示す評価値である。本処理は、基準データを選択する選択処理、評価値を特定する評価値特定処理及びパラメータを特定するパラメータ特定処理の一例である。本実施形態においては、コーディング部205は、スパースコーディングの代表的な手法の1つであるOrthogonal Matching Pursuit(OMP)の手法を利用する。OMPについては、下記文献を参照することができる。
Y.C.Pati,R.Rezaiifar and P.S.Krishnaprasad,"Orthogonal Matching Pursuit: Recursive Function Approximation with Applications to Wavelet Decomposition",Asilomar Conf.on Signals,Systems and Computers,1993
コーディング部205は、OMPの処理において、(式1)の準最適解を求める。
Figure 2018124990
ここで、xは、選択された正常パッチの列ベクトルであり、本実施形態では8×8=64次元のベクトルである。Bは、基準データ群保持部204に保持されている複数の基準データを列ベクトルとして並べた行列であり、本実施形態では、64行256列の行列である。wは、基準データ群保持部204に保持されている各基準データに対応した重み係数を並べたベクトルであり、本実施形態では256次元のベクトルとなる。また、‖・‖2はL2ノルムである。‖・‖0はL0ノルム、すなわちベクトルの非0の要素数である。
(式1)の準最適解をOMPにより求めることにより、wの要素の内、非0である要素の数がε以下で、且つ、Bwがxの近似となるような重みベクトルwを得ることができる。本実施形態では、ε=2として上記式の最適化を行い、その結果、wの256個の要素の内、2つの要素のみが非0となり、それ以外は0という解が得られる。ここで、wの要素の内、非0であった要素に対応する基準データを、基準データ群から選択された基準データであると考える。つまり、コーディング部205は、S303におけるOMPの処理によりwの解が得られ、wのどの要素が非0であったかに基づいて、どの基準データが選択されたのかを決定する。そして、コーディング部205は、選択された基準データに対応したwの要素の値、すなわち基準データに対して算出された重み係数を、その選択された基準データに関するパラメータとして決定する。S303の処理は、L0ノルム正則化付きの2乗誤差最小化を行う処理の一例である。
次に、S304において、コーディング部205は、S303において選択した基準データと、選択した基準データに対応するwの要素の値をコーディング結果として結果保持部206に記録する。すなわち、コーディング結果には、選択結果と、パラメータ(重み係数)が含まれる。本実施形態では、ε=2であるので、2つ以下の基準データが選択されることになる。例えば、wのi番目とj番目(i<j)の要素が非0であり、それに対応するi番目の要素の値がw(i)、j番目の要素の値がw(j)であったとする。この場合、S304において、コーディング部205は、これらの情報を1つにまとめたデータセット(i、j、w(i)、w(j))をコーディング結果として結果保持部206に記録する。
次に、S305において、コーディング部205は、正常パッチ保持部202に記録されたすべての正常パッチに対し、S303及びS304の処理を終了したか否かを確認する。コーディング部205は、未処理の正常パッチが存在する場合には(S305でNo)、処理をS302へ進める。この場合、コーディング部205は、S302において未処理の正常パッチを選択し、S303以降の処理を行う。コーディング部205は、すべての正常パッチに対して、S303及びS304の処理が終了している場合には(S305でYes)、処理をS306へ進める。すべての正常パッチに対する処理が終了すると、結果保持部206には、正常パッチ保持部202に記録されているすべての正常パッチに対応したコーディング結果が記録される。
S306において、パラメータモデル生成部207は、予め設定された条件に従い、基準データの組を1つ、処理対象として選択する。本実施形態におけるパラメータモデル生成部207は、基準データ群に含まれる複数の基準データから2つの基準データを基準データの組として選択する。なお、S306〜S309は繰り返し処理であり、繰り返し処理において、基準データ群の複数の基準データが取り得るすべての2つの基準データの組み合わせを基準データの組として選択する。選択の順は任意だが、本実施形態においては、パラメータモデル生成部207は、最初に1番目と2番目の基準データの組、次に、1番目と3番目というように、順番に、すべての組み合わせを選択していくものとする。
次に、S307において、パラメータモデル生成部207は、処理対象の基準データの組を含むコーディング結果を結果保持部206から抽出する。例えば、S306において、i番目とj番目の基準データの組を選択したとする。この場合、パラメータモデル生成部207は、結果保持部206に記録されたコーディング結果の中から、i番目とj番目の基準データを含むコーディング結果を抽出する。抽出された結果がN個であった場合、パラメータモデル生成部207は、結果保持部206に記録されたコーディング結果の中から、(式2)に示すN個のコーディング結果を抽出する。
(i、j、w(i)n、w(j)n)[n=1、2、・・・、N] …(式2)
ここで、w(i)n、w(j)nはそれぞれ、n番目に抽出された結果におけるi番目とj番目の基準データに関するパラメータである。本処理は、基準データの組に係る基準データを含む選択結果を抽出する抽出処理の一例である。
次に、S308において、パラメータモデル生成部207は、S307において抽出したN個のコーディング結果それぞれの{w(i)n、w(j)n}の2つの値の分布に関するモデルを生成する。すなわち、本モデルは、i番目とj番目の基準データを含む基準データの組に対するパラメータ(重み係数)の2次元の分布を示すモデルである。以下、パラメータの分布を示すモデルをパラメータモデルと称する。ここで、パラメータモデルは、特定カテゴリの多数のデータの特徴を示す、特定カテゴリに属する特定データのモデルであり、S308の処理は、モデル生成処理の一例である。なお、パラメータモデルの分布のモデルには、この分布を表現するのに適した任意のモデルを用いればよく、例えば、混合ガウス分布モデル等が挙げられる。
本実施形態においては、パラメータモデル生成部207は、w(i)n、w(j)nの分布をそのままモデル化するのではなく、各値の絶対値を取った、|w(i)n|、|w(j)n|の分布を、正規分布と仮定してパラメータモデルを生成する。つまり、パラメータモデル生成部207は、2つの値|w(i)n|、|w(j)n|を、それぞれ第1要素、第2要素とするベクトルw'(i,j)nを求める。そして、パラメータモデル生成部207は、その平均μ(i,j)と分散共分散行列Σ(i,j)をパラメータモデルとしてそれぞれ(式3)及び(式4)により求める。
Figure 2018124990
次に、S309において、パラメータモデル生成部207は、基準データの組のすべてに対し、S307及びS308の処理が終了したか否かを確認する。パラメータモデル生成部207は、未処理の基準データの組が存在する場合には(S309でNo)、処理をS306へ進める。この場合、パラメータモデル生成部207は、S306において未処理の基準データの組を選択し、S306以降の処理を行う。パラメータモデル生成部207は、基準データの組のすべてに対し、S307及びS308の処理が終了している場合には(S309でYes)、処理をS310へ進める。
なお、本実施形態においては、基準データ群に含まれる基準データの数は256個なので、基準データの組は32640組となる(2562=32640)。したがって、S306〜S309の処理を繰り返すことにより、パラメータモデル生成部207は、特定データのモデルとして、32640個のパラメータモデルを生成する。
S310において、出力処理部208は、特定データのモデルとして、S308において生成されたすべてのパラメータモデルを出力するよう制御する。本実施形態においては、出力処理部208は、すべの基準データの組(32640組)に対して算出された平均と分散共分散行列をパラメータモデルとして出力するよう制御する。以上で、モデル生成処理が完了する。
このように、情報処理装置100は、モデル生成工程では、まず多数の正常パッチそれぞれについて、スパースコーディングを実行することにより、基準データの選択と選択した基準データに係るパラメータ(重み係数)の算出を行う。そして、情報処理装置100は、同じ基準データの組が選択されたコーディング結果を抽出し、コーディング結果に含まれるパラメータに関する分布をモデル化する。すなわち、情報処理装置100は、まず基準データの組み合せに従って、正常パッチの集合を分割し、各部分集合に対してモデル化を行う。このため、正常パッチのように、分布が複雑なデータであっても適切なモデル化が可能になる。以上のように、本実施形態に係る情報処理装置100は、より適切なモデルを生成することができる。
次に、情報処理装置100による判定工程における処理(判定処理)について説明する。図4は、情報処理装置100による判定処理を行う処理部400のソフトウェア構成を示す図である。図5は、判定処理を示すフローチャートである。図4に示すように、処理部400は、検査パッチ読込部401と、検査パッチ保持部402と、基準データ群読込部403と、基準データ群保持部404と、コーディング部405と、結果保持部406と、を有している。処理部400はさらに、モデル読込部407と、モデル保持部408と、尤度算出部409と、尤度保持部410と、出力処理部411と、を有している。各部の機能については、図5を参照しつつ説明する。
図5に示すS500において、基準データ群読込部403は、基準データ群を取得し、これを基準データ群保持部404に読み込む。なお、基準データ群保持部404に読み込まれる基準データ群は、モデル生成処理(図3)のS301において基準データ群保持部204に読み込まれる基準データ群と同一である。次に、S501において、モデル読込部407は、特定データのモデルを読み込む。具体的には、モデル読込部407は、モデル生成処理において生成されたすべてのパラメータモデルを取得し、これらをモデル保持部408に読み込む。前述のように、本実施形態においては、256個の基準データから基準データの組として32640組が得られるので、これらすべての基準データの組に対応したパラメータモデル(正規分布のモデル)が読み込まれる。
次に、S502において、検査パッチ読込部401は、良否判定の対象となる物体の表面を撮影した検査画像を取得する。検査パッチ読込部401は、検査画像から複数の検査パッチを生成し、これを検査パッチ保持部402に読み込む。なお、モデル生成処理におけるS300においては、正常画像上のランダムな位置から部分画像を切り出すようにしたが、判定処理のS502においては、検査パッチ読込部401は、検査画像をグリッド分割することにより多数の検査パッチを生成する。本実施形態においては8×8画素の部分画像を利用するので、例えば、検査画像が640×480画素であった場合、検査パッチ読込部401は、80×60=4800個の検査パッチを生成し、これらを読み込む。
なお、本実施形態において、検査パッチ読込部401は、上述のように検査画像において重複なく8×8画素の部分画像を切り出すことにより検査パッチを生成するが、検査パッチの生成方法は実施形態に限定されるものではない。他の例としては、検査パッチ読込部401は、例えば、部分画像の1/2ずつ重複するように検査パッチを生成してもよい。
続く、S503〜S506の処理は、モデル生成処理におけるS302〜S305の処理とほぼ同様の処理である。S503において、コーディング部405は、S402に記録されている複数の検査パッチの中から1つの検査パッチを処理対象として選択する。なお、S503〜S506の処理は繰り返し処理であり、繰り返しにおいて検査パッチ保持部402に記録されているすべての検査パッチを1回ずつ選択すればよく、その順番は特に限定されるものではない。本実施形態においては、検査パッチは、グリッド分割した部分画像であるので、コーディング部405は、検査画像の左上から順にラスタスキャン的に検査画像右下に向かって順に検査パッチを選択するものとする。
次に、S504において、コーディング部405は、S503において選択された、処理対象の検査パッチに基づいて、基準データ群保持部404に保持されている基準データ群から、予め設定された個数以下の基準データを選択する。コーディング部405はさらに、選択した基準データに対するパラメータを特定する。本処理において用いるεの値は、モデル生成処理のS303にいて用いられたεの値と同じ値とする。本実施形態においては、ε=2に設定されているため、S504においても2個以下の基準データが選択され、それぞれの基準データに関する重み係数、つまり、基準データに対応するwの要素の値が、各基準データに係るパラメータとして得られる。なお、S504におけるコーディングの処理は、S303におけるコーディングの処理と同様であり、OMPの手法を適用したものである。
次に、S505において、コーディング部405は、S504において選択した基準データ(基準ベクトル)と、選択した基準データに対するwの要素(重み係数)と、検査パッチの位置と、をコーディング結果として結果保持部406に記録する。検査パッチの位置は、検査画像における位置であり、どの位置から切り出されたかを示す情報である。検査パッチの位置は、後述の尤度算出の処理において、どの位置の検査パッチがどのような尤度かを出力するために用いられる。検査画像の位置(x、y)から切り出された検査パッチが処理対象として選択され、選択された検査パッチに対し、i番目及びj番目(i<j)の基準データが選択されたとする。また、各基準データに対応する重み係数(パラメータ)がそれぞれw(i)、w(j)であったとする。この場合、コーディング部405は、データセット(x、y、i、j、w(i)、w(j))をコーディング結果として結果保持部406に記録する。
次に、S506において、コーディング部405は、検査パッチ保持部402に記録されたすべての検査パッチに対し、S504及びS505の処理が終了したか否かを確認する。コーディング部405は、未処理の検査パッチが存在する場合には(S506でNo)、処理をS503へ進める。この場合、コーディング部405は、S503において未処理の検査パッチを選択し、S504以降の処理を行う。コーディング部405は、すべての検査パッチに対するS504及びS505の処理が終了している場合には(S506でYes)、処理をS507へ進める。すべての検査パッチに対する処理が終了すると、結果保持部406には、検査パッチ保持部402に記録されているすべての検査パッチに対応したコーディング結果が記録される。
次に、S507において、尤度算出部409は、結果保持部406に記録されているコーディング結果から1つのコーディング結果を処理対象として選択する。選択順は任意でよく、本実施形態においては、S503と同様に、ラスタスキャン的に選択するものとする。次に、S508において、尤度算出部409は、処理対象のコーディング結果に基づいて、モデル保持部408に記録されている複数のモデルのうち、1つのモデルを選択する。
次に、S509において、尤度算出部409は、S507において選択したパラメータモデルと処理対象のコーディング結果に基づいて、処理対象のコーディング結果に対応する検査パッチの、正常パッチであることの尤度を算出する。本処理は、尤度を算出する算出処理の一例である。なお、ここで求める尤度は、モデル生成処理において多数の正常パッチを用いてモデル化した"正常パッチらしさ"である。そして、この算出した尤度に基づいて、良否判定の対象を評価することができる。すなわち、尤度が低ければ、正常とは異なる可能性が高いと判定することができる。
ここで、処理対象のコーディング結果が(x、y、i、j、w(i)、w(j))である場合のS508及びS509の処理について説明する。この場合、S508において、尤度算出部409は、基準データの組み合わせ(i、j)に基づいて、モデル保持部408において(i、j)の基準データの組に対するw(i)、w(j)の分布のパラメータモデルを選択する。本処理は、処理対象となる対象データに対応するパラメータモデルを選択する選択処理の一例である。
続く、S509において、尤度算出部409は、処理対象のコーディング結果(x、y、i、j、w(i)、w(j))のうち、重みw(i)、w(j)に基づいて、選択したパラメータモデルに対する、コーディング結果の尤度を算出する。本実施形態では、w(i)、w(j)それぞれの絶対値を取った|w(i)|、|w(j)|を各要素とする2次元ベクトルw'(i,j)の分布を正規分布と仮定してモデル化していることに対応し、尤度算出部409は、(式5)により尤度Lを算出する。
Figure 2018124990
ここで、μ(i,j)とΣ(i,j)は、それぞれ分布の平均と分散共分散行列であり、上述のモデル生成処理において算出された値である。また、|Σ(i,j)|は、Σ(i,j)の行列式、Σ(i,j) -1はΣ(i,j)の逆行列、Tはベクトルの転置である。そして、尤度算出部409は、求めた尤度Lを、選択した検査パッチの位置情報(x、y)と共に(x、y、L)というセットにし、これを尤度情報として尤度保持部341に記録する。
次に、S510において、尤度算出部409は、結果保持部406に記録されたすべてのコーディング結果に対し、S508及びS509の処理が終了したか否かを確認する。尤度算出部409は、未処理のコーディング結果が存在する場合には(S510でNo)、処理をS507へ進める。この場合、尤度算出部409は、S507において未処理のコーディング結果を選択し、S508以降の処理を行う。尤度算出部409は、すべてのコーディング結果に対するS508及びS509の処理が終了している場合には(S510でYes)、処理をS511へ進める。
S511において、出力処理部411は、尤度保持部410に記録された尤度情報に基づいて、尤度マップを生成し、これを出力するよう制御する。本実施形態においては、出力処理部411は、各検査パッチに対して得られた尤度Lを画素値として、検査パッチの切り出し位置に応じた順で画素値を並べた画像を尤度マップとして生成する。以上で、判定処理が完了する。
以上のように、情報処理装置100は、判定工程においては、尤度マップを生成する。これにより、例えば、尤度マップ上の最小の尤度が所定閾値以下であった場合、情報処理装置100は、検査パッチ読込部401において読み込まれた検査パッチに対応する物体の表面に、正常とは異なる箇所がある可能性が高いと判定することができる。すなわち、結果として、物体表面の良否判定が可能になる。以上のように、本実施形態に係る情報処理装置100は、データのカテゴリを評価するためのより適切なモデルを生成することができる。さらに、情報処理装置100は、このモデルを用いることにより、より精度よく良否判定(特定カテゴリに属するか否かの判定)を行うことができる。
第1の実施形態の第1の変形例について説明する。第1の実施形態においては、モデル生成処理において、パラメータの分布をモデル化する際に、パラメータの絶対値を取ったものを2次元の正規分布でモデル化した。ただし、モデル化の対象となる値はパラメータに基づく値であればよく、パラメータの絶対値に限定されるものではない。他の例としては、情報処理装置100は、絶対値化しないパラメータの分布を混合ガウス分布としてモデル化したものを併用してもよい。この場合、情報処理装置100は、それぞれのモデルに基づいて算出した尤度から、総合的に判定することとしてもよい。
また、第2の変形例としては、モデルの種類も実施形態に限定されるものではない。例えば、情報処理装置100は、|w(i)n|+|w(j)n|というように、複数のパラメータそれぞれの絶対値の和を算出し、1次元の分布としてモデル化してもよい。また、他の例としては、情報処理装置100は、arctan(w(j)n/w(i)n)というように、基準データの組の個数の基準データに対応した個数のパラメータを並べたベクトルの方向に関する分布をモデル化してもよい。
第3の変形例としては、スパースコーディング処理におけるεの値は、ε=2に限定されるものではない。他の例として、ε=1に設定されていることとしてもよい。この場合、情報処理装置100は、1つの基準データを対象とした1次元のパラメータモデルを生成すればよい。また、他の例としては、ε=3に設定されていることとしてもよい。この場合、情報処理装置100は、3つの基準データの組を対象として3つの基準データそれぞれに対応する3つのパラメータの3次元以下のパラメータモデルを生成すればよい。また、他の例としては、情報処理装置100は、ε=3に設定されている場合において、2つの基準データの組を対象としてパラメータモデルを生成してもよい。
このように、情報処理装置100は、予め設定されたεの値以下の所定の個数の基準データを含む基準データの組に基づいて、εの値以下の次元の分布モデルを生成すればよい。すなわち、εの値、基準データの組に含まれる基準データの数及び分布モデルの次元の関係は、実施形態に限定されるものではない。すなわち、基準データの組に対応する基準データの個数m(m個)は2以上の整数でもよく、また1でもよい。ただし、分布モデルの次元をあまりに高次元にすると分布の推定精度が劣化する。したがって、モデル化する対象のデータ数等に応じ、尤度交差検定法等で適切な次元を設定するのが好適である。
第4の変形例としては、判定処理における良否判定の方法は、実施形態に限定されるものではない。他の方法としては、情報処理装置100は、尤度マップの全体平均や、局所的な領域の平均が所定閾値より低いか否かに基づいて、良否判定を行ってもよい。また、他の例としては、情報処理装置100は、尤度マップ上の尤度の最小値と平均値等、複数の値を用いて総合的に良否判定を行うこととしてもよい。また、他の例として、情報処理装置100は、非特許文献1に記載の手法と同様に、検査パッチの再構成誤差を算出し、この再構成誤差と、尤度の最小値等を組合せて総合的に判断してもよい。
また、本実施形態においては、情報処理装置100は、モデル生成工程と判定工程の両方を行うこととしたが、モデル生成工程及び判定工程は、それぞれ異なる情報処理装置において実行されてもよい。
(第2の実施形態)
次に、第2の実施形態に係る情報処理装置100について、第1の実施形態に係る情報処理装置100と異なる点について説明する。例えば、検査画像によっては、良品であっても画像の両端においてテクスチャのバラつきが大きいというように、画像内の位置に応じた系統的な不均一性が存在する場合がある。第2の実施形態に係る情報処理装置100は、このような検査画像に対して検査画像内の位置に応じた特性を考慮したモデルを生成し、このモデルを用いた良否判定を行う。
第2の実施形態に係る情報処理装置100の処理も、第1の実施形態に係る情報処理装置100の処理と同様に、モデル生成工程と判定工程に大別される。まず、モデル生成工程におけるモデル生成処理について説明する。図6は、第2の実施形態に係るモデル生成処理を行う処理部600のソフトウェア構成を示す図である。図2に示す処理部200の機能と同一の機能には同一の符号を付している。図7は、第2の実施形態に係るモデル生成処理を示すフローチャートである。
図6に示すように、処理部600は、処理部200と同様に、正常パッチ読込部201と、正常パッチ保持部202と、基準データ群読込部203と、基準データ群保持部204と、コーディング部205と、を有している。処理部600はさらに、第1の結果保持部206と、パラメータモデル生成部207と、を有している。第1の結果保持部206及びパラメータモデル生成部207は、それぞれ、図2に示す第1の実施形態に係る結果保持部206及びパラメータモデル生成部207と同様である。処理部600はさらに、補正パッチ読込部601と、補正パッチ保持部602と、パラメータモデル保持部603と、第2の結果保持部604と、変位算出部605と、変位保持部606と、を有している。処理部600はさらに、変位モデル生成部607と、変位モデル保持部608と、出力処理部609と、を有している。各部の機能については、図7を参照しつつ説明する。
図7に示すS700において、情報処理装置100は、パラメータモデルを生成し、これをパラメータモデル保持部603に記録する。本処理において、情報処理装置100は、第1の実施形態において説明したモデル生成処理(図3)におけるS300〜S309の処理を行い、コーディング処理において得られたすべての基準データの組に対応する複数のパラメータモデルを生成する。そして、パラメータモデル生成部207は、生成したすべてのパラメータモデルをパラメータモデル保持部603に記録する。
次に、S701において、補正パッチ読込部601は、補正パッチを読み込む。本処理は、第1の実施形態における判定処理(図5)におけるS502と同様の処理である。但し、本処理において対象となるのは予め良品であることがわかっている物体の撮影画像である。補正パッチ読込部601は、例えば100枚程度の良品の撮影画像それぞれをグリッド分割し、多数のパッチを生成する。以下、S601において生成されたパッチを補正パッチと称する。そして、補正パッチ読込部601は、生成された複数の補正パッチを補正パッチ保持部602に読み込む。
次に、S702において、コーディング部205は、補正パッチ保持部602に記録されている複数の補正パッチの中から1つの補正パッチを処理対象として選択する。S702〜S705の繰り返し処理において、補正パッチ保持部602に記録さているすべての補正パッチが選択されればよく、その選択順は任意でよい。次に、S703において、コーディング部205は、処理対象として選択された補正パッチに対してスパースコーディングの処理を行う。これにより、補正パッチに対して基準データが選択され、選択された基準データそれぞれに対応するパラメータが特定される。次に、S704において、コーディング部205は、スパースコーディングにより得られた情報と切り出し位置を示す位置情報を含む、(x、y、i、j、w(i)、w(j))というコーディング結果を生成し、これを第2の結果保持部604に記録する。本処理は、図3に示す第1の実施形態におけるS303、S304の処理と同様である。
次に、S705において、コーディング部205は、補正パッチ保持部602に記録されたすべての補正パッチに対し、S703及びS704の処理が終了したか否かを確認する。コーディング部205は、未処理の補正パッチが存在する場合には(S705でNo)、処理をS702へ進める。この場合、コーディング部205は、S702において未処理の補正パッチを選択し、S703以降の処理を行う。コーディング部205は、すべての補正パッチに対して、S703及びS704の処理が終了している場合には(S705でYes)、処理をS706へ進める。
次に、S706において、変位算出部605は、第2の結果保持部604に記録されている複数のコーディング結果の中から1つのコーディング結果を処理対象として選択する。S706〜S709の繰り返し処理において、第2の結果保持部604に記録されているすべてのコーディング結果が選択されればよく、その選択順は任意でよい。
次に、S707において、変位算出部605は、処理対象のコーディング結果に基づいて、パラメータモデル保持部603に記録されている複数のパラメータモデルのうち、1つのパラメータモデルを選択する。本処理は、図5に示す第1の実施形態におけるS508の処理と同様である。次に、S708において、変位算出部605は、コーディング結果に含まれる重み係数w(i)、w(j)に基づいて、処理対象のコーディング結果のパラメータモデルに対する変位を算出する。ここで、パラメータモデルに対する変位とは、例えば、補正パッチに対して得られた重みw(i)、w(j)がパラメータモデルの重心からどのように離れているかといった情報である。本実施形態では、第1の実施形態と同様、パラメータの分布のモデルとして正規分布を用いることに対応し、変位算出部605は、正規分布の重心からの変位dを(式6)により求める。
Figure 2018124990
ここで、Σ(i,j)や、w'(i,j)、μ(i,j)は、第1の実施形態におけるものと同様である。そして、変位算出部605は、得られた変位dを、コーディング結果の位置情報(x、y)と共に(x、y、d)というセットにし、これを変位情報として変位保持部606に記録する。なお、S708の処理は、変位を特定する変位特定処理の一例である。
次に、S709において、変位算出部605は、第2の結果保持部604に記録されたすべてのコーディング結果に対し、S707及びS708の処理が終了したか否かを確認する。変位算出部605は、未処理のコーディング結果が存在する場合には(S709でYes)、処理をS706へ進める。この場合、変位算出部605は、S706において未処理のコーディング結果を選択し、S707以降の処理を行う。変位算出部605は、すべてのコーディング結果に対するS707及びS708の処理が終了している場合には(S709でYes)、処理をS710へ進める。
S710において、変位モデル生成部607は、変位保持部606に記録された多数の変位情報を、補正パッチの位置情報毎に分類する。このように、変位モデル生成部607は、全体画像における補正パッチ(部分画像)の位置という属性の情報に基づいて、補正パッチの変位情報を分類する。すなわち、S710の処理は、補正パッチ、すなわち特定データを複数のグループに分類する分類処理の一例である。なお、位置は、特定データを分類可能な属性の一例である。そして、変位モデル生成部607は、位置情報毎に分類された変位情報に基づいて、グループ毎に、各位置情報に対応した変位の分布を示す変位モデルを生成する。
変位モデル生成部607は、変位保持部606に記録されている変位情報(x、y、d)を参照し、まず、同一の切り出し位置(x、y)に関する変位情報を抽出する。そして、変位モデル生成部607は、抽出した変位情報中の各変位dの分布をモデル化する。本実施形態では、上述のように、2つの基準データの組を用いるため、このdは2次元のベクトルとなる。このため、ここで生成される変位モデルは、2次元のモデルとなる。本実施形態では、変位モデル生成部607は、この変位dに関する分布も、正規分布でモデル化するものとする。
ここで、同一の切り出し位置x、yであるものがM個(Mは、基本的に、データ入力部520で入力した画像の枚数と一致する)得られ、そのうちm番目のものを(x、y、d(x,y)m)とする。そして、変位モデル生成部607は、変位の平均μ(x,y)及び変位の分散共分散行列Σ(x,y)を変位モデルとして、それぞれ(式7)及び(式8)により求める。
Figure 2018124990
そして、変位モデル生成部607は、変位平均μ(x,y)及び変位の分散共分散行列Σ(x,y)を、全ての切り出し位置x、yにおいて求め、これを変位モデル保持部608に記録する。以上のように、第2の実施形態に係る情報処理装置100は、特定データのモデルとして、複数のパラメータモデルだけでなく、全体画像における位置に応じた複数の変位モデルを生成する。
次に、S711において、出力処理部609は、S700において生成された複数のパラメータモデルと、S710において生成されたすべての変位モデルと、を、特定データのモデルとして出力するよう制御する。以上で、モデル生成処理が完了する。
このように、本実施形態のモデル生成工程の処理では、情報処理装置100はまず、第1の実施形態のモデル生成工程と同様に、基準データの組それぞれに対応したパラメータwに対するパラメータモデルを生成する。情報処理装置100は、その後、画像の各切り出し位置におけるパラメータの、対応するパラメータモデルからの変位dを求め、切り出し位置毎に、変位dの分布をモデル化した変位モデルを生成する。ここで生成された変位モデルは、以降で説明する判定処理において用いられる。
次に、第2の実施形態における判定工程における処理(判定処理)について説明する。図8は、判定処理を行う処理部800のソフトウェア構成を示す図である。処理部800の機能のうち、図4に示す処理部400の機能と同一の機能には同一の符号を付している。図9は、第2の実施形態に係る判定処理を示すフローチャートである。図9示す判定処理に含まれる各処理のうち図5に示す判定処理に含まれる処理と同一の処理には同一の符号を付している。
図8に示すように、処理部800は、処理部400と同様に、検査パッチ読込部401と、検査パッチ保持部402と、基準データ群読込部403と、基準データ群保持部404と、コーディング部405と、結果保持部406と、を有している。処理部800はさらに、モデル読込部801と、モデル保持部802と、変位算出部803と、尤度算出部804と、尤度保持部805と、出力処理部806と、を有している。各部の機能については、判定処理(図9)に沿って説明する。
図9に示す判定処理において、S500の処理の後、CPU101は、処理をS900へ進める。S900において、モデル読込部801は、重みモデルだけでなく、変位モデルをモデル保持部802に読み込む。CPU101は、S900の処理の後、処理をS503へ進める。さらに、CPU101は、S508の処理の後、処理をS901へ進める。S901において、変位算出部803は、S507において選択された処理対象のコーディング結果に対し、S508において選択されたパラメータモデルに対する変位を算出する。そして、変位算出部803は、算出した変位を、コーディング結果に含まれる位置情報(x、y)と共に、尤度算出部804に送る。
次に、S902において、尤度算出部804は、位置情報(x、y)に基づいて、モデル保持部802に記録されている複数の変位モデルのうち、処理対象のコーディング結果の位置情報に対応した変位モデルを選択する。本処理は、位置の属性に基づいて、処理対象となる対象データである検査パッチのコーディング結果が属するグループを特定するグループ特定処理の一例である。また、本処理は、グループに対応した変位モデルを選択する選択処理の一例である。そして、尤度算出部804は、選択した変位モデルに基づいて、処理対象のコーディング結果に対してS901において算出された変位dに対する尤度L'を算出する。本実施形態においては、尤度算出部804は、(式9)に基づいて、変位dに対する尤度を算出する。
Figure 2018124990
ここで、μ(x,y)及びΣ(x,y)は、切り出し位置(x、y)における変位の分布の平均と分散共分散行列であり、上述のモデル生成処理において算出された値である。そして、尤度算出部804は、算出した尤度L'を、位置情報(x、y)と共に(x、y、L')というセットにし、これを尤度情報として尤度保持部805に記録する。これにより、切り出し位置(x、y)毎の系統的な違いを補正した尤度を算出することが可能になる。
次に、S903において、CPU101は、結果保持部406に記録されたすべてのコーディング結果に対し、S508、S901及びS902の処理が終了したか否かを確認する。CPU101は、未処理のコーディング結果が存在する場合には(S903でNo)、処理をS507へ進める。この場合、S507において、CPU101は、未処理のコーディング結果を選択し、S508以降の処理を行う。CPU101は、すべてのコーディング結果に対するS508、S901及びS902の処理が終了している場合には(S903でYes)、処理をS904へ進める。
S904において、出力処理部806は、尤度保持部805に記録された尤度情報に基づいて、尤度マップを生成し、これを出力するよう制御する。本実施形態においては、出力処理部806は、各検査パッチに対して得られた尤度L'を画素値として、検査パッチの切り出し位置に応じた順で画素値を並べた画像を尤度マップとして生成する。以上で、判定処理が完了する。S904の処理は、図5に示すS511の処理と同様である。なお、第2の実施形態に係る情報処理装置100のこれ以外の構成及び処理は、第1の実施形態に係る情報処理装置100の構成及び処理と同様である。
第2の実施形態に係る情報処理装置100は、パラメータモデルだけでなく、モデル生成に利用するパッチの元の画像における位置に依存した変位モデルを利用する。これにより、画素における位置に応じた系統的な差を吸収し、元の画像に系統的な不均一性がある場合でも、精度よく良否判定を行うことができる。
なお、第2の実施形態においては、元の画像の位置に依存した変位を吸収するような補正モデルを用いることにより、位置に応じた変位を吸収する場合について説明したが、系統的な変位を求めるための属性は、実施形態に限定されるものではない。変位モデルを生成する際に利用する属性は、複数の特定データを分類可能な属性であればよく、例えば、撮影時刻等であってもよい。
(第3の実施形態)
次に、第3の実施形態に係る情報処理装置100について、他の実施形態に係る情報処理装置100と異なる点について説明する。第1の実施形態に係る情報処理装置100は、正常パッチや検査パッチに対する基準データの選択、基準データに係るパラメータ(重み係数)の算出は、L0ノルム正則化のスパースコーディングの処理により行った。これに対し、第3の実施形態に係る情報処理装置100は、同様にスパースコーディングの処理を用いるが、L0ノルム正則化に替えて、L1正則化のスパースコーディングの処理を用いる。
L0正則化のスパースコーディングの場合、εの設定によって、選択される基準データの個数をほぼ一定にコントロールすることができる。これに対し、L1正則化の場合、コーディング処理の対象となるデータ(パッチ)に応じて、選択される基準データの個数がばらつく。これに対し、本実施形態の情報処理装置100は、選択される基準データの個数がばらつく場合におけるパラメータモデルの生成及びパラメータモデルを用いた良否判定を行う。
第3の実施形態に係る情報処理装置100の処理も、他の実施形態に係る情報処理装置100の処理と同様に、モデル生成工程と判定工程に大別される。まず、モデル生成工程におけるモデル生成処理について説明する。図10は、第3の実施形態に係るモデル生成処理を行う処理部1000のソフトウェア構成を示す図である。図2に示す処理部200の機能と同一の機能には同一の符号を付している。図11は、第3の実施形態に係るモデル生成処理を示すフローチャートである。図3に示すモデル生成処理に含まれる処理と同一の処理には同一の符号を付している。
図10に示すように、処理部1000は、処理部200と同様に、正常パッチ読込部201と、正常パッチ保持部202と、基準データ群読込部203と、基準データ群保持部204と、を有している。処理部1000は、さらにコーディング部1001と、結果保持部1002と、パラメータモデル生成部1003と、出力処理部1004と、を有している。各部の機能については、図11を参照しつつ説明する。
図11に示すように、S301の処理の後、CPU101は、処理をS1100へ進める。S1100において、コーディング部1001は、1つの正常パッチを処理対象として選択する。本処理は、第1の実施形態において説明した図3のS302の処理と同様である。次に、S1101において、コーディング部1001は、コーディング処理を行うことにより、処理対象の正常パッチに対する基準データを選択すると共に、選択した基準データに対するパラメータを特定する。なお、S1101においてコーディング部1001が実行するコーディング処理は、第1の実施形態において説明したコーディング部205による処理(S303における処理)と異なる。
第1の実施形態に係るコーディング部205は、前述の通りL0ノルム正則化のスパースコーディングの処理を行う。これに対し、本実施形態に係るコーディング部1001は、L1ノルム正則化のスパースコーディングの処理を行う。具体的には、コーディング部1001は、L1正則化のスパースコーディングの処理において、(式10)の最適解を求める。
Figure 2018124990
ここで、x、B、wは、第1の実施形態において説明したのと同様であり、それぞれ正常パッチ、基準データを並べた行列、重み係数を並べたベクトルである。λはL1正則化の強さをコントロールするハイパーパラメータで、‖・‖1は、L1ノルムである。一般的に、λの値が大きい程、重み係数ベクトルwの非0要素が少なくなるという効果がある。この式の最適解の解法は、様々な手法が提案されているが、本実施形態では、下記文献に記載のCoordinate Descentアルゴリズム(CDA)を用いる。
Jerome Friedman,Trevor Hastie and Rob Tibshirani,"Regularization Paths Generalized Linear Models via Coordinate Descent",Jornal of Statistical Software,Vol.33,Issue 1,2010
なお、コーディング部1001は、λの値としては予め実験的に定めた値を用いればよい。本実施形態では、上記CDAで、多数の正常パッチに対して最適化を行った結果、非0の要素が3〜4程度の個数になるλの値を予め求め、これを(式10)のλの値として予めHDD104等に記憶しておき、情報処理装置100は、これ用いるものとする。ここで、S1101の処理は、L1ノルム正則化付きの2乗誤差最小化を行う処理の一例である。
次に、S1102において、コーディング部1001は、S1101において選択した基準データの数(非0の要素の数)と、選択した基準データの番号と、各基準データに対応するwの要素をコーディング結果として結果保持部1002に記録する。本実施形態においては、wの非0の要素の個数が一定ではないので、このように、基準データの個数もコーディング結果に加えることとする。例えば、CDAの処理を実行した結果、wのi番目、j番目、k番目(i<j<k)の要素が非0であった場合、i番目、j番目、k番目の3つの基準データが選択される。そして、コーディング部1001は、(3、i、j、k、w(i)、w(j)、w(k))をコーディング結果として結果保持部1002に記録する。
次に、S1103において、コーディング部1001は、正常パッチ保持部202に記録されたすべての正常パッチに対し、S1101及びS1002の処理が終了したか否かを確認する。コーディング部1001は、未処理の正常パッチが存在する場合には(S1003でNo)、処理をS1100へ進める。この場合、コーディング部205は、S1100において未処理の正常パッチを選択し、S1101以降の処理を行う。コーディング部1001は、すべての正常パッチに対して、S1101及びS1002の処理が終了している場合には(S1003でYes)、処理をS1104へ進める。なお、S1103の処理は、図3に示すS305における処理と同様である。
S1104において、パラメータモデル生成部1003は、2つの基準データを含む基準データの組を1つ選択する。本処理は、図3に示すS306の処理と同様である。次に、S1105において、パラメータモデル生成部1003は、S1104において選択した基準データの組を含むコーディング結果を結果保持部1002から抽出する。本処理は、図3に示すS307の処理と一部異なる。例えばS1104において選択された基準データの組がi番目とj番目の基準データを含む組であるとする。この場合、パラメータモデル生成部1003は、コーディング結果に含まれる基準データの中に、i番目とj番目の基準データが含まれるコーディング結果を抽出する。
第1の実施形態では、S306において選択された基準データの組と一致するコーディング結果が抽出された。これに対し、本実施形態においては、少なくともS1104において選択された基準データの組に含まれる基準データを含むコーディング結果がすべて抽出される。例えば、S1104においてi番目とj番目の基準データの組が選択された場合、コーディング結果(2、i、j、w(i)、w(j))だけでなく、コーディング結果(3、i、j、k、w(i)、w(j)、w(k))も抽出される。
次に、S1106において、パラメータモデル生成部1003は、抽出したコーディング結果のうち、S1104において選択された基準データの組に対応したパラメータのみを用いて、基準データの組に対応したパラメータモデルを生成する。例えば、上述の通り、S1104においてi番目とj番目の基準データの組が選択され、コーディング結果(3、i、j、k、w(i)、w(j)、w(k))が抽出されたとする。この場合、パラメータモデル生成部1003は、コーディング結果に含まれるパラメータのうちw(i)、w(j)のみを用いて、i番目とj番目の基準データの組に対する2次元のパラメータモデルを生成する。なお、基準データの組に対応したパラメータモデルを生成する処理は、第1の実施形態において説明した、基準データの組に対応したパラメータモデルを生成する処理と同様である。
次に、S1107において、パラメータモデル生成部1003は、基準データの組のすべてに対し、S1105及びS1106の処理が終了したか否かを確認する。パラメータモデル生成部207は、未処理の基準データの組が存在する場合には(S1107でNo)、処理をS1104へ進める。この場合、パラメータモデル生成部1003は、S1004において未処理の基準データの組を選択し、S1005以降の処理を行う。パラメータモデル生成部1003は、基準データの組のすべてに対し、S1105及びS1106の処理が終了している場合には(S1107でYes)、処理をS1108へ進める。S1108において、出力処理部1004は、S1107において生成されたすべてのパラメータモデルを、特定データのモデルとして出力するよう制御する。本処理は、図3に示すS310の処理と同様である。以上で、第3の実施形態に係るモデル生成処理が完了する。
このように、コーディング処理において、選択される基準データの個数が一定ではない場合であっても、その中の固定数の基準データの組に対応したモデルを生成することで、限定的な次元のモデルを生成することができる。
次に、第3の実施形態における判定工程における処理(判定処理)について説明する。図12は、判定処理を行う処理部1200のソフトウェア構成を示す図である。処理部1200の機能のうち図4に示す処理部400の機能と同一の機能には同一の番号を付している。図13は、第3の実施形態に係る判定処理を示すフローチャートである。図13に示す判定処理に含まれる各処理のうち図5に示す判定処理に含まれる各処理と同一の処理には同一の番号を付している。
図12に示すように、処理部1200は、処理部400と同様に、検査パッチ読込部401と、検査パッチ保持部402と、基準データ群読込部403と、基準データ群保持部404と、を有している。処理部1200はさらに、コーディング部1201と、結果保持部1202と、を有している。処理部400はさらに、モデル読込部1203と、モデル保持部1204と、尤度算出部1205と、尤度保持部1206と、出力処理部1207と、を有している。各部の機能については、図13を参照しつつ説明する。
図13に示すように、S502の処理の後、CPU101は、処理をS1300へ進める。S1300において、コーディング部1201は、1つの検査パッチを処理対象として選択する。本処理は、第1の実施形態において説明した図5のS503の処理と同様である。次に、S1301において、コーディング部1201は、コーディング処理を行うことにより、処理対象の検査パッチに対する基準データを選択すると共に、選択した基準データに対するパラメータを特定する。S1301においてコーディング部1201が行うコーディング処理は、図11に示すS1101においてコーディング部1001が行うコーディング処理と同様のCDAによるコーディング処理である。なお、S1301における処理は、第1の実施形態において説明したコーディング部405による処理(S504における処理)とは異なる処理である。
次に、S1302において、コーディング部1201は、処理対象の検査パッチに対するコーディング結果を結果保持部1202に記録する。ここで、コーディング結果は、処理対象の検査パッチの位置情報と、S1301において選択した基準データの数と、選択した基準データの番号と、各基準データに対するwの要素とを含む。例えば、処理対象の検査パッチの切り出し位置が(x、y)で、コーディング処理により、i番目、j番目、k番目の基準データが選択され、それぞれに対応するパラメータ(重み係数)がw(i)、w(j)、w(k)であったとする。この場合、コーディング部1201は、(x、y、3、i、j、k、w(i)、w(j)、w(k))をコーディング結果として結果保持部1202に記録する。本処理は、図5に示すS505の処理に対応する。
次に、S1303において、コーディング部1201は、検査パッチ保持部402に記録されたすべての検査パッチに対し、S1301及びS1302の処理が終了したか否かを確認する。コーディング部1201は、未処理の検査パッチが存在する場合には(S1303でNo)、処理をS1300へ進める。この場合、コーディング部1201は、S1300において未処理の検査パッチを選択し、S1301以降の処理を行う。コーディング部1201は、すべての検査パッチに対するS1301及びS1302の処理が終了している場合には(S1303でYes)、処理をS1304へ進める。
次に、S1304において、尤度算出部1205は、結果保持部1202に記録されている複数のコーディング結果の中から1つのコーディング結果を処理対象として選択する。本処理は、図5に示すS507の処理と同様である。次に、S1305において、尤度算出部1205は、パラメータモデルを選択する。本処理は、図5に示すS508の処理に対応するが、S508において選択されるパラメータモデルが1つであるのに対し、S1305において選択されるパラメータモデルの数は1以上となる。この点で、両処理は異なる。
S1305において、尤度算出部1205は、処理対象のコーディング結果に含まれる基準データの組に含まれる基準データにおいて2つの基準データの組み合わせを求め、すべての組み合わせに対応するパラメータモデルを選択する。例えば、処理対象のコーディング結果が(x、y、3、i、j、k、w(i)、w(j)、w(k))であるとする。この場合、3つの基準データから2つの基準データを選択することになるので、32=3組の基準データの組み合わせ、つまり、(i、j)、(i、k)(j、k)の基準データの組み合わせが求まる。したがって、尤度算出部1205は、これら3つの組み合わせそれぞれに対応した3つのパラメータモデルを選択する。
次に、S1306において、尤度算出部1205は、処理対象のコーディング結果に含まれるパラメータと、選択したパラメータモデルそれぞれとの尤度を算出する。そして、尤度算出部1205は、各パラメータモデルとの尤度を統合することにより、検査パッチに対する最終的な尤度を求める。例えば、上述のように、処理対象の検査パッチのコーディング結果が(x、y、3、i、j、k、w(i)、w(j)、w(k))であるとする。この場合、尤度算出部1205は、基準データの組み合わせ(i、j)に対応するパラメータモデルと、このパラメータモデルに対応する、処理対象のコーディング結果に含まれるパラメータ(w(i)、w(j))の尤度を求める。同様に、尤度算出部1205は、基準データの組み合わせ(i、k)に対応するパラメータモデルと、対応するパラメータ(w(i)、w(k))の尤度を求める。同様に、尤度算出部1205は、基準データの組み合わせ(j、k)に対応するパラメータモデルと、対応するパラメータ(w(j)、w(k))の尤度を求める。そして、尤度算出部1205は、求めた3つの尤度の値を統合し、これを処理対象のコーディング結果(対応する検査パッチ)に対する最終的な尤度とする。
本実施形態においては、尤度算出部1205は、相加平均を算出することにより、複数の尤度を統合するものとする。ただし、統合方法は、実施形態に限定されるものではない。他の例としては、相乗平均等でもよい。なお、パラメータモデルに対する尤度の算出処理は、他の実施形態において説明した処理と同様である。そして、尤度算出部1205は統合した尤度Lを検査パッチの位置情報(x、y)と共に(x、y、L)というセットにし、これを尤度情報として尤度保持部1206に記録する。
次に、S1307において、尤度算出部1205は、結果保持部1202に記録されたすべてのコーディング結果に対し、S1305及びS1306の処理が終了したか否かを確認する。尤度算出部1205は、未処理のコーディング結果が存在する場合には(S1307でNo)、処理をS1304へ進める。この場合、尤度算出部1205は、S1304において未処理のコーディング結果を選択し、S1305以降の処理を行う。尤度算出部1205は、すべてのコーディング結果に対するS1305及びS1306の処理が終了している場合には(S1307でYes)、処理をS1308へ進める。
S1308において、出力処理部1207は、尤度保持部1206に記録された尤度情報に基づいて、尤度マップを生成し、これを出力するよう制御する。本処理は、図5に示すS511の処理と同様である。以上で、判定処理が完了する。なお、第3の実施形態に係る情報処理装置100のこれ以外の構成及び処理は、他の実施形態に係る情報処理装置100の構成及び処理と同様である。
以上のように、第3の実施形態に係る情報処理装置100は、選択される基準データの個数が定まらないような場合においても、適切なモデルを生成し、またモデルを用いた判定を行うことができる。また、情報処理装置100は、第1の実施形態において説明したように予め定められた数の基準データを選択するものに限定されるものではなく、第3の実施形態において説明したように、選択される基準データの数が定まっていない場合にも適用可能である。
第3の実施形態の第1の変形例としては、情報処理装置100は、モデル生成処理において、生成するモデルの次元は実施形態に限定されるものではなく、1次元、又は3次元以上のモデルを生成してもよい。但し、次元を増やすとモデル化の精度が劣化するので、モデル化する対象のデータ数等に応じて、尤度交差検定法等で適切な組み合わせ数を選択するのが好適である。また、モデル化の対象となるパラメータについても実施形態に限定されるものではなく、重み係数の絶対値以外のパラメータを用いてもよい。
また、第2の変形例としては、第3の実施形態の情報処理装置100も、第2の実施形態において説明したように、重み係数のモデルだけでなく、位置に応じた変位の分布のモデルを併用してもよい。
(第4の実施形態)
次に、第4の実施形態に係る情報処理装置100について、他の実施形態に係る情報処理装置100と異なる点について説明する。第4の実施形態に係る情報処理装置100は、ビデオカメラ等で撮影された動画像が特定のシーンであるかどうかを判定するための、特定のシーンのモデルを生成し、生成したモデルを用いて、判定対象の動画が特定のシーンであるか否かを判定する。
第4の実施形態に係る情報処理装置100の処理も、第1の実施形態に係る情報処理装置100の処理と同様に、モデル生成工程と判定工程に大別される。本実施形態のモデル生成工程では、特定のシーンの動画像を多数用いて、特定のシーンをモデル化する。また、判定工程では、判定対象の動画が、特定のシーンであるかどうかを判定する。すなわち、特定のシーンは、特定カテゴリに属する特定データの一例である。特定のシーンとしては、例えば、サッカーの試合中のゴールシーンや、監視カメラ映像中の事故発生シーン等が挙げられ、モデルを生成するのに十分なデータ数(例えば100個以上等)があれば、どのようなシーンでも構わない。情報処理装置100は、このモデルを利用し、入力された動画に対して尤度を算出し、その動画が特定のシーンであるのか否かの判定を行う。
図14は、第4の実施形態に係るモデル生成処理を行う処理部1400のソフトウェア構成を示す図である。図15は、第4の実施形態に係るモデル生成処理を示すフローチャートである。図14に示すように、処理部1400は、特徴量読込部1401と、特徴量保持部1402と、基準データ群読込部1403と、基準データ群保持部1404と、マッチング部1405と、を有している。処理部600はさらに、結果保持部1406と、モデル生成部1407と、出力処理部1408と、を有している。マッチング部1405は、他の実施形態のコーディング部に対応し、他の実施形態と同様、基準データの選択と、選択した基準データに係るパラメータの算出を行う。ただし、他の実施形態とは、基準データの選択方法や、パラメータの算出方法が異なる。各部の機能については、図15を参照しつつ説明する。
図15に示すように、S1500において、特徴量読込部1401は、モデル化すべきシーンの動画データを多数取得する。そして、特徴量読込部1401は、各動画から特徴量を抽出して特徴量保持部1402に記録する。本実施形態においては、特徴量読込部1401は、例えば、サッカーの試合中のゴールシーン等、特定のシーンである動画を多数用い、それぞれの動画から特徴量を抽出する。抽出する特徴量は、動画の内容を表現するようなものならば、どのようなものを用いても構わないが、本実施形態では、特徴量読込部1401は、下記文献に記載のVisual Code−Sentences特徴(VCS特徴)を動画から抽出するものとする。
Yusuke Mitarai and Masakazu Matsugu,"Visual Code−Sentences:A New Video Representation Based on Image Descriptor Sequence",Computer Vision −ECCV 2012.Workshops and Demonstrations,Vol.7583,2012
VCS特徴は、ヒストグラム型の特徴である。本実施形態では、特徴量読込部1401は、上記文献に記載の通り、特徴種類5種、各特徴種類について2000ビンのヒストグラムを用い、それらを連結した10000ビン分のヒストグラム特徴を抽出して、特徴量保持部1402に記録する。
次に、S1501において、基準データ群読込部1403は、他の実施形態と同様、複数の基準データからなる基準データ群を取得し、これを基準データ群保持部1404に読み込む。本実施形態では、モデル化すべきデータが、10000ビン分のヒストグラムであるので、ここで用いる基準データも、10000ビン分のヒストグラムと同様の形式のデータとする。基準データ群の各基準データは、任意のデータで構わないが、本実施形態では、ランダムに生成した10000ビン分のヒストグラムデータを用いる。基準データの個数も、任意の個数で構わないが、本実施形態では、予め30個の基準データをランダムに生成しておき、基準データ群読込部1403は、これらの基準データを基準データ群として基準データ群保持部1404に記録する。
次に、S1502において、マッチング部1405は、特徴量保持部1402に記録されている複数のVCS特徴の中から1つのVCS特徴を処理対象として選択する。本処理は、図3に示すS302において正常パッチを選択する処理と同様であり、マッチング部1405は、S1502〜S1505の繰り返し処理において、特徴量保持部1402に記録されているすべてのVCS特徴を任意の順で選択する。
次に、S1503において、マッチング部1405は、処理対象のVCS特徴に対応した基準データの選択と、パラメータの算出を行う。マッチング部1405は、まず、基準データ群保持部1404に記録されているすべての基準データと、処理対象のVCS特徴との類似度Sを(式11)により算出する。
Figure 2018124990
ここで、h(f)[b]は、処理対象のVCS特徴の、f番目の特徴種類のヒストグラムのb番目のビンの値である。同様に、b(f)[b]は、類似度を算出する基準データのf番目の特徴種類のヒストグラムのb番目のビンの値である。これは、いわゆるχ2乗距離の符号を反転してexpを取ったものである。
マッチング部1405は、処理対象のVCS特徴と、基準データ群保持部911に記録されているすべての基準データとの類似度を求め、求めた類似度に従って基準データの選択を行う。類似度に従った基準データの選択方法としては、様々なものが考えられるが、本実施形態では、マッチング部1405は、単純に、類似度が最大となる1個の基準データを選択する。そして、マッチング部1405は、選択した基準データに対して求めた類似度Sを、その基準データに対応するパラメータの1つとして決定する。
マッチング部1405はさらに、選択された基準データと、処理対象のVCS特徴を用い、選択された基準データに対応するもう1つのパラメータとして、(式12)によりヒストグラム相関値Cを求める。
Figure 2018124990
次に、S1504において、マッチング部1405は、S1503において選択した基準データの番号と、選択した基準データに対する類似度S及び相関値Cを結果保持部1406に記録する。例えば、S1503において、i番目の基準データが選択され、対応する類似度及び相関値がそれぞれS(i)、C(i)であったとする。この場合、マッチング部1405は、(i、S(i)、C(i))というデータセットをマッチング結果として結果保持部1406に記録する。
次に、S1505において、マッチング部1405は、特徴量保持部1402に記録されたすべてのVCS特徴に対し、S1503及びS1504の処理を終了したか否かを確認する。マッチング部1405は、未処理のVCS特徴が存在する場合には(S1505でNo)、処理をS1502へ進める。この場合、マッチング部1405は、未処理のVCS特徴を選択し、S1503以降の処理を行う。マッチング部1405は、すべてのVCS特徴に対する処理が終了している場合には(S1505でYes)、処理をS1506へ進める。
続く、S1506〜S1508の処理は、特徴量保持部1402に記録された各VCS特徴に対するマッチング結果に基づいて、特定のシーンに関するモデルを生成する処理である。ここでは、他の実施形態と同様、基準データに関するパラメータモデルを生成するが、それに加え、各基準データが選択される確率もモデル化する。S1506において、モデル生成部1407は、基準データ群保持部1404に記録されている基準データの中から1つの基準データを処理対象として選択する。モデル生成部1407は、S1506〜S1508の繰り返し処理において、基準データ群保持部1404に記録されているすべての基準データを任意の順で選択する。本実施形態においては、モデル生成部1407は、1番目の基準データから順に選択するものとする。
次に、S1507において、モデル生成部1407は、処理対象の基準データに対するパラメータの分布を示すパラメータモデルを生成し、さらに、処理対象の基準データが選択される選択確率のモデルを生成する。具体的には、モデル生成部1407は、まず結果保持部1406に記録されているマッチング結果の中から、処理対象の基準データを含むマッチング結果を抽出する。例えば、処理対象の基準データがi番目の基準データであるとする。この場合、モデル生成部1407は、選択された基準データとしてi番目の基準データを含むマッチング結果を結果保持部1406から抽出する。
抽出された結果がN個であった場合、結果保持部1406に記録されたマッチング結果の中から、(i、S(i)n、C(i)n)[n=1、2、・・・、N]というN個のマッチング結果が抽出されることになる。ここで、S(i)n、C(i)nはそれぞれ、n番目に抽出された結果における、i番目の基準データに対する類似度と相関値である。そして、モデル生成部1407は、抽出されたN個のマッチング結果のうちパラメータ(S(i)n、C(i)n)を用いて、この2つの値の分布に関するモデルを生成する処理を行う。
ここで生成する分布のモデルは、任意のモデルで構わないが、本実施形態では、モデル生成部1407は、他の実施形態と同様に2次元の正規分布と仮定してモデルを生成する。モデル生成部1407は、(式13)及び(式14)により平均μ(i)と分散共分散行列Σ(i)を求める。ここで、パラメータ(S(i)n、C(i)n)の2つの値を並べた2次元ベクトルをz(i)nとする。
Figure 2018124990
さらに、モデル生成部1407は、上記パラメータモデル以外に、処理対象の基準データの選択確率もモデル化する。具体的には、モデル生成部1407は、結果保持部1406に記録されているすべてのマッチング結果の個数がT個であり、そのうちN(N<T)個が処理対象の基準データを含むとする。この場合、モデル生成部1407は処理対象の基準データの選択確率をN/Tと推定する。
次に、S1508において、モデル生成部1407は、基準データ群保持部1404に記録されているすべての基準データに対して、S1507の処理を終了したか否かを確認する。モデル生成部1407は、未処理の基準データが存在する場合には(S1508でNo)、処理をS1506へ進める。この場合、モデル生成部1407は、S1506において未処理の基準データを選択し、S1507の処理を行う。モデル生成部1407は、すべての基準データに対する処理が終了している場合には(S1508でYes)、処理をS1509へ進める。これにより、すべての基準データに対し、パラメータモデルと、選択確率が得られる。このように、本実施形態の情報処理装置100は、特定シーンのモデルとして、複数のパラメータモデルと、複数の選択確率のモデルを生成する。
次に、S1509において、出力処理部1408は、S1508において得られた、すべての基準データに対するパラメータデルと選択確率と、を特定シーンのモデルとして出力するよう制御する。本実施形態においては、30個の基準データを用いるので、30個のパラメータモデルと、30個の選択確率が出力されることになる。以上で、モデル生成処理が完了する。以上のように、第4の実施形態の情報処理装置100は、モデル生成工程では、多数のデータそれぞれから特徴量を抽出したものを利用して、その特徴量のモデル化を行う。
次に、第4の実施形態に係る判定処理について説明する。図16は、第4の実施形態に係る判定処理を行う処理部1600のソフトウェア構成を示す図である。図17は、第4の実施形態に係る判定処理を示すフローチャートである。図16に示すように、処理部1600は、特徴量読込部1601と、基準データ読込部1602と、基準データ群保持部1603と、マッチング部1604と、を有している。処理部1600はさらに、モデル読込部1605と、モデル保持部1606と、尤度算出部1607と、出力処理部1608と、を有している。各部の機能については、図17を参照しつつ説明する。
S1700において、基準データ読込部1602は、基準データ群を取得し、これを基準データ群保持部1603に読み込む。本処理は、図15のS1501の処理と同様である。S1700においても、S1501において読み込んだのと同じ30個の基準データを読み込む。次に、S1701において、モデル読込部1605は、モデル生成処理において生成された基準データに対応した複数のパラメータモデルと複数の選択確率をモデル保持部1606に読み込む。前述のように、本実施形態においては30個の基準データを用いるため、30個のパラメータモデルと30個の選択確率が読み込まれる。
次に、S1702において、特徴量読込部1601は、判定対象の動画を取得する。そして、特徴量読込部1601は、取得した動画からモデル生成処理において説明したのと同様にVCS特徴を抽出し、抽出したVCS特徴をマッチング部1604に送る。次に、S1703において、マッチング部1604は、VCS特徴に対して基準データを選択し、選択した基準データとの類似度を算出する。マッチング部1604はさらに、相関値を求める。本処理は、S1503におけるマッチング部1405の処理と同様である。マッチング部1604は、選択した基準データと、選択した基準データに対する類似度と、相関値と、をマッチング結果として尤度算出部1607に送る。
次に、S1704において、尤度算出部1607は、マッチング部1604から受け取ったマッチング結果と、モデル保持部1606に記録されているパラメータモデル及び選択確率と、に基づいて、尤度を算出する。具体的には、尤度算出部1607は、まず、マッチング結果のうち選択された基準データの番号に基づいて、モデル保持部1606から選択された基準データに対応するパラメータモデルと選択確率を選択する。例えば、S1703において得られたマッチング結果に示される選択された基準データがi番目の基準データであるとする。この場合、尤度算出部1607は、モデル保持部1606からi番目の基準データに対応したパラメータモデルと、i番目の基準データの選択確率を選択する。
そして、尤度算出部1607は、選択したパラメータモデル及び選択確率に基づいて、(式15)により尤度Lを算出する。
Figure 2018124990
ここで、p(i)は、i番目の基準データの選択確率、z(i)は判定対象のVCS特徴から得られたマッチング結果における類似度と相関値を並べた2次元ベクトルである。μ(i)及びΣ(i)は、それぞれ分布の平均と分散共分散行列であり、上述のモデル生成処理において算出したものである。求めた尤度Lは、尤度出力部115に送られる。
次に、S1706において、出力処理部1608は、尤度Lを外部に出力するよう制御する。以上で、判定処理が終了する。上記処理により出力された尤度を用い、例えば、この尤度が予め定めた所定の閾値以上であれば、モデル化した特定のシーンである可能性が高いと判定することができる。
このように、情報処理装置100は、特定のシーンである動画であるかどうかといった判定処理を行うことができる。また、情報処理装置100は、基準データに関するパラメータモデルだけでなく、その基準データの選択確率のモデルも併用することにより、より適切なモデルを生成し、またより適切な判定を行うことができる。以上のように、第4の実施形態に係る情報処理装置100は、ビデオカメラ等で撮影された動画像中から特定のシーンを検出するシステムにおいて用いる、特定のシーンのモデルを生成することができる。また、情報処理装置100は、生成したモデルを用い、入力した動画が特定のシーンであるか否かを判定することができる。
なお、第4の実施形態の第1の変形例としては、情報処理装置100によるモデル生成及び判定の対象となるデータは、基準データの選択と、基準データに係るパラメータの算出ができるようなデータであればよい。すなわち、データの形式は静止画や動画に限定されるものではない。処理対象のデータとしては、音声データや、その他のマルチメディアデータ、テキストデータ等が挙げられる。
また、第2の変形例としては、第4の実施形態に係る情報処理装置100は、基準データに対するモデル及び選択確率を用いて算出する値の積を尤度として算出したが、尤度の算出方法は実施形態に限定されるものではない。他の例としては、情報処理装置100は、例えば、2つの値の和に基づいて尤度を求めてもよい。
また、第3の変形例としては、第4の実施形態に係る情報処理装置100は、類似度のみに基づいて基準データの選択を行い、類似度と相関値を用いてモデルの生成を行った。ただし、情報処理装置100が参照するパラメータの数及び種類は実施形態に限定されるものではない。例えば、情報処理装置100は、類似度だけでなく相関値に基づいて基準データの選択を行ってもよい。また例えば、情報処理装置100は、類似度のみに基づいてモデルの生成を行ってもよい。また例えば、情報処理装置100は、相関値のみに基づいてモデルの生成を行ってもよい。また例えば、情報処理装置100は、類似度及び相関値と異なる第3のパラメータを求め、類似度、相関値及び第3のパラメータの3次元のモデルを生成してもよい。このように、情報処理装置100は、複数の評価値を求め、そのうち少なくとも1つの評価値に基づいて基準データを選択し、基準データの選択に用いた評価値と同一の又は異なる、少なくとも1つの評価値に基づいて、モデル生成を行えばよい。
また、第4の変形例としては、第4の実施形態の情報処理装置100は、類似度Sに基づいて基準データを選択したが、これに替えて、第1〜第3実施形態と同様に、いわゆるスパースコーディングの処理により基準データを選択してもよい。一方で、第1〜第3実施形態の情報処理装置100も、類似度を用いる等、スパースコーディングの処理以外の処理により基準データを選択してもよい。このように、情報処理装置100は、VCS特徴と基準データとの適合の程度に応じて基準データを選択すればよく、そのための処理は実施形態に限定されるものではない。
また、第5の変形例としては、第4の実施形態においては、マッチング部1405は、類似度の最も高い基準データを1つ選択したが、選択する基準データの数は、1つに限定されるものではない。例えば、第1の実施形態と同様に、類似度の高い上位2つの基準データを選択する等、複数の基準データを選択してもよい。
また、第1〜第3の実施形態の変形例について説明する。第1の変形例としては、第4の実施形態の情報処理装置100が1つの基準データに対し類似度と相関値を求めたように、第1〜第3の実施形態の情報処理装置100も、1つの基準データに対し複数のパラメータを求め、これらを用いたモデルを生成してもよい。
また、第2の変形例としては、第1〜第3の実施形態の情報処理装置100も、第4の実施形態において説明したように、正常パッチの特徴量等、正常パッチから得られる正常パッチの特徴的な情報についてのモデルを生成してもよい。さらに、この場合、各実施形態の情報処理装置100は、このモデルを用いた判定を行えばよい。
また、第3の変形例としては、第4の実施形態の情報処理装置100が基準データの選択確率を求めたのと同様に、第1〜第3の実施形態の情報処理装置100も、モデル生成処理及び判定処理において、選択確率を併用してもよい。
(第5の実施形態)
次に、第5の実施形態に係る情報処理装置100について、他の実施形態に係る情報処理装置100と異なる点について説明する。第5の実施形態に係る情報処理装置100は、第1から第3の実施形態と同様に、モデル生成工程で生成したモデルを用い、検査画像から切出した検査パッチの尤度を算出する処理を行う。第1から第3の実施形態では、検査パッチのエンコードにスパースコーディングの技術を用いた場合について説明したが、本実施形態では、検査パッチのエンコードに下記文献のオートエンコーダを用いる。
Yoshua Bengio,Pascal Lamblin,Dan Popovici and Hugo Larochelle,"Greedy Layer−Wise Training of Deep Networks",Advances in Neural Information Processing Systems 19,pp.153−160,2007
第5の実施形態に係る情報処理装置100の処理も、他の実施形態に係る情報処理装置100の処理と同様に、モデル生成工程と判定工程に大別される。まず、モデル生成工程におけるモデル生成処理について説明する。図18は、第5の実施形態に係るモデル生成処理を行う処理部1800のソフトウェア構成を示す図である。図2に示す処理部200の機能と同一の機能には同一の符号を付している。図19は、第5の実施形態に係るモデル生成処理を示すフローチャートである。図3に示すモデル生成処理に含まれる処理と同一の処理には同一の符号を付している。
図18に示すように、処理部1800は、処理部200と同様に、正常パッチ読込部201と、正常パッチ保持部202と、を有している。処理部1800はさらに、エンコーダ読込部1801と、エンコーダ保持部1802と、コーディング部1803と、結果保持部1804と、パラメータモデル生成部207と、出力処理部208と、を有している。各部の機能については、図19を参照しつつ説明する。
図19に示すように、S300の処理の後、CPU101は、処理をS1900へ進める。S1900において、エンコーダ読込部1801は、コーディング部1803にて用いるエンコード用の処理パラメータを、エンコーダ保持部1802に読み込む。ここで、エンコード用の処理パラメータは、上記文献に示したオートエンコーダのネットワーク構造を示すパラメータ、及び、重み結合パラメータである。本実施形態の情報処理装置100は、このオートエンコーダとして、予め多数の正常パッチを用いて学習したオートエンコーダを用いる。本実施形態で用いるオートエンコーダは、図22に示すような複数の階層、Lin〜Loutからなるネットワーク構造を持ち、階層的処理により、入力したパッチのエンコードとデコードを行う。LinとLoutは、入力データである正常パッチの画素数と同じ数(本実施形態でも、8×8=64個)のノードNin k、またはNout k(k=1、2、・・・、64)を有する。このオートエンコーダでは、Linに正常パッチのデータを入力し、L1、L2、・・・、Lmへと階層的処理を行うことによりエンコードを行う。つまり階層LmのノードNm kの各出力値を、Linに入力した正常パッチのエンコード結果として扱う。以降、本実施形態では、階層Lmをエンコード層と記載し、エンコード層Lmを構成する複数のノードを基準ノードと記載する。デコードは、Lm、・・・、Ln-1、Ln、Loutへと階層的処理を行うことにより実行され、Loutの各ノードの出力値として、Linに入力した正常パッチのデコード結果が得られる。
次に、S1901において、コーディング部1803は、正常パッチ保持部202に記録されている複数の正常パッチの中から1つの正常パッチを処理対象として選択する。なお、S1901〜S1904の処理は繰り返し処理であり、繰り返しにおいて正常パッチ保持部202に記憶されているすべての正常パッチを1回ずつ選択すればよく、その順番は特に限定されるものではない。
次に、S1902において、コーディング部1803は、処理対象として選択された正常パッチに対して、オートエンコーダによる処理を行う。具体的には、コーディング部1803は、後述の方法によりエンコード層Lmを構成する複数の基準ノードの中から、予め設定された個数の基準ノードを選択する。コーディング部1803はさらに、選択した各基準ノードに対するパラメータを特定する。ここで、パラメータは、基準ノードの出力値である。基準ノードの選択は、本実施形態では、全基準ノード中、出力値の高い上位2個の基準ノードを選択することにより行われる。本実施形態では、コーディング部1803は、このように、出力値の高い上位の基準ノードを選択するが、選択の方法はこれに限るものではない。コーディング部1803は、例えば、予め各基準ノードに定めた所定の値との誤差が最も小さい上位の基準ノードを選択する等、その他の方法で選択しても構わない。
次に、S1903において、コーディング部1803は、S1902において選択した基準ノードと、選択した基準ノードの出力値とを、サンプリングしたコーディング結果として結果保持部1804に記録する。すなわち、結果保持部1804には、コーディング結果であるエンコード層Lmの全ての基準ノードの出力の内、所定の方法により選択した基準ノードに関する情報のみが記録される。本実施形態では、2個の基準ノードが選択される。例えば、i番目とj番目の基準ノードが選択され、それぞれに対応する出力値がOi、Ojであったとする。この場合、コーディング部1803は、これらの情報を1つにまとめたデータセット(i、j、Oi、Oj)をサンプリングしたコーディング結果として結果保持部1804に記録する。
次に、S1904において、コーディング部1803は、正常パッチ保持部202に記録されたすべての正常パッチに対し、S1902及びS1903の処理を終了したか否かを確認する。コーディング部1803は、未処理の正常パッチが存在する場合には(S1904でNo)、処理をS1901へ進める。この場合、コーディング部1803は、S1901において未処理の正常パッチを選択し、S1902以降の処理を行う。コーディング部1803は、すべての正常パッチに対して、S1902及びS1903の処理が終了している場合には(S1904でYes)、処理をS1905へ進める。すべての正常パッチに対する処理が終了すると、結果保持部1804には、正常パッチ保持部202に記録されているすべての正常パッチに対応したサンプリングしたコーディング結果が記録される。
以降の、S1905〜S1909において、パラメータ生成部1805は、結果保持部1804に記録された多数のサンプリングしたコーディング結果を用いて、複数のパラメータモデルを生成し、出力処理部1806は、すべてのパラメータモデルを出力する。この処理は、選択されたi番目の基準ノードの出力値Oiを、第1の実施形態における、選択されたi番目の基準データに対応する重み係数w(i)と読み替えた場合の処理と同様であるので、説明を省略する。S1905〜S1909の処理により、複数のパラメータモデルが出力され、本実施形態のモデル生成処理が完了する。
次に、情報処理装置100による本実施形態の判定工程における処理について説明する。図20は、情報処理装置100による判定処理を行う処理部2000のソフトウェア構成を示す図である。処理部2000の機能の内、図4に示す処理部400の機能と同一の機能には同一の符号を付している。図21は、本実施形態の判定処理を示すフローチャートである。
図20に示すように、処理部2000は、処理部400と同様に、検査パッチ読込部401と、検査パッチ保持部402と、を有している。処理部2000はさらに、エンコーダ読込部2001と、エンコーダ保持部2002と、モデル読込部2003と、モデル保持部2004と、コーディング部2005と、を有している。処理部2000はさらに、結果保持部2006と、尤度算出部2007と、尤度保持部2008と、出力処理部2009と、を有している。各部の機能については、判定処理(図21)に沿って説明する。
図21に示すS2100において、エンコーダ読込部2001は、エンコード用の処理パラメータを取得し、これをエンコーダ保持部2002に読み込む。なお、エンコーダ保持部2002に読み込まれるエンコード用の処理パラメータは、モデル生成処理(図19)のS1900においてエンコーダ保持部1802に読み込まれる処理パラメータと同一である。次に、S2101において、モデル読込部2003は、モデル生成処理において生成したすべてのパラメータモデルを取得し、これらをモデル保持部2004に読み込む。次に、S2102において、検査パッチ読込部401は、第一の実施形態と同様に、検査画像から複数の検査パッチを生成して、検査パッチ保持部402に読み込む。
続く、S2103〜S2106の処理は、モデル生成処理におけるS1901〜S1904の処理とほぼ同様の処理である。なお、S2103〜S2106の処理は繰り返し処理であり、繰り返しにおいて検査パッチ保持部402に記録されているすべての検査パッチを1回ずつ選択すればよく、その順番は特に限定されるものではない。S2103において、コーディング部2005は、S402に記録されている複数の検査パッチの中から1つの検査パッチを処理対象として選択する。
次に、S2104において、コーディング部2005は、S2103において選択された、処理対象の検査パッチに対して、オートエンコーダによる処理を行う。具体的には、コーディング部2005は、エンコード層Lmを構成する複数の基準ノードの中から、出力値が上位2個の基準ノードを選択する。コーディング部2005はさらに、選択した基準ノードに対するパラメータ、つまり対応する基準ノードの出力値を特定する。なお、S2104におけるコーディングの処理は、S1902におけるコーディングの処理と同様であり、オートエンコーダによるエンコード、デコード処理である。
次に、S2105において、コーディング部2005は、S2104において選択した基準ノードと、選択した基準ノードに対応する出力値と、検査パッチの位置と、をサンプリングしたコーディング結果として結果保持部2006に記録する。検査パッチの位置は、第1の実施形態と同様である。例えば、検査画像の位置(x、y)から切り出された検査パッチが処理対象として選択され、選択された検査パッチに対し、i番目及びj番目の基準ノードが選択されたとする。また、各基準ノードに対応する出力値がそれぞれOi、Ojであったとする。この場合、コーディング部2005は、データセット(x、y、i、j、Oi、Oj)をサンプリングしたコーディング結果として結果保持部2006に記録する。
次に、S2106において、コーディング部2005は、検査パッチ保持部402に記録されたすべての検査パッチに対し、S2104及びS2105の処理が終了したか否かを確認する。コーディング部2005は、未処理の検査パッチが存在する場合には(S2106でNo)、処理をS2103へ進める。この場合、コーディング部2005は、S2103において未処理の検査パッチを選択し、S2104以降の処理を行う。コーディング部2005は、すべての検査パッチに対するS2104及びS2105の処理が終了している場合には(S2106でYes)、処理をS2107へ進める。すべての検査パッチに対する処理が終了すると、結果保持部2006には、検査パッチ保持部402に記録されているすべての検査パッチに対応したサンプリングしたコーディング結果が記録される。
以降のS2107〜S2111において、尤度算出部2007は、モデル保持部2004に記録された多数のパラメータモデルを用い、結果保持部2006に記録された全てのサンプリングしたコーディング結果に対応する検査パッチの尤度を算出する。ここで算出する尤度は、第1の実施形態と同様、正常パッチらしさである。尤度算出部2007は、算出した尤度を、検査パッチの位置情報(x、y)と共に尤度保持部2008に記録する。出力処理部2009は、第1の実施形態と同様、尤度保持部2008に記録された尤度情報に基づいて尤度マップを生成し、これを出力するよう制御する。ここでの処理は、選択されたi番目の基準ノードの出力値Oiを、第1の実施形態における、選択されたi番目の基準データに対応する重み係数w(i)と読み替えた場合の処理と同様であるので、説明を省略する。S2107〜S2111の処理により、検査パッチごとに得られた尤度を、各検査パッチの切り出し位置に対応する画素値として並べた画像が尤度マップとして生成され、本実施形態の判定処理が完了する。生成された尤度マップを用いた判定については、第1の実施形態と同様でよいので説明を省略する。
以上のように、本発明は、データに対して階層的処理を行うような場合にも適用可能である。本実施形態では、階層的処理として、オートエンコーダを用いる例を示したが、本発明はこれに限るものではなく、例えば、下記文献のCNNsを用いた階層的処理を行うような場合にも適用可能である。
Alex Krizhevsky,Ilya Sutskever and Geoffrey E.Hinton,"ImageNet Classification with Deep Convolutional Neural Networks",Advances in Neural Information Processing Systems 25,pp.1106−1114,2012
また、本実施形態では、階層的処理のネットワーク構造の内、所定の1つの層を構成するノードを基準ノードとしたが、基準ノードが複数の層にまたがるような構成でも構わない。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100 情報処理装置
205 コーディング部
207 モデル生成部

Claims (29)

  1. 特定カテゴリに属する特定データの特徴を表現するモデルを生成するモデル生成装置であって、
    前記特定カテゴリに属する複数の特定データそれぞれと、予め設定された基準データ群に含まれる複数の基準データそれぞれとの適合の程度に基づいて、各特定データに対し、前記基準データ群から少なくとも1つの基準データを選択する選択手段と、
    複数の特定データそれぞれに対して、前記選択手段により選択された基準データに対応したパラメータを特定するパラメータ特定手段と、
    前記特定データのモデルとして、前記パラメータ特定手段により特定された少なくとも1つのパラメータの分布を示すパラメータモデルを生成するモデル生成手段と
    を有することを特徴とするモデル生成装置。
  2. 前記基準データ群に含まれる基準データのうち予め定められたm(mは2以上の整数)個の基準データに対応した複数の組で、各組の前記m個の基準データの組み合わせが互いに異なる前記複数の組のそれぞれに対し、前記選択手段による各特定データに対する基準データの選択結果の中から、各組に係る前記m個の基準データを含む選択結果を抽出する抽出手段をさらに有し、
    前記モデル生成手段は、前記特定データのモデルとして、複数の組それぞれに対して抽出された前記選択結果に対応したパラメータを用いて、複数の組それぞれに係る前記m個の基準データに対応した前記m個のパラメータの分布を示す、複数の前記パラメータモデルを生成することを特徴とする請求項1に記載のモデル生成装置。
  3. 前記選択手段による各特定データに対する基準データの選択結果の中から、前記基準データ群に含まれる各基準データを含む選択結果を抽出する抽出手段をさらに有し、
    前記モデル生成手段は、前記特定データのモデルとして、複数の基準データそれぞれに対して抽出された前記選択結果に対応したパラメータを用いて、複数の基準データそれぞれに対する複数の前記パラメータモデルを生成することを特徴とする請求項1に記載のモデル生成装置。
  4. 前記選択手段は、前記基準データ群を用いたスパースコーディングの処理により、前記基準データを選択し、
    前記パラメータ特定手段は、スパースコーディングの処理により得られた前記基準データに対する重み係数を前記パラメータとして特定することを特徴とする請求項1乃至3の何れか1項に記載のモデル生成装置。
  5. スパースコーディングの処理は、L0ノルム正則化付きの2乗誤差最小化を行う処理又はL1ノルム正則化付きの2乗誤差最小化を行う処理であることを特徴とする請求項4に記載のモデル生成装置。
  6. 前記モデル生成手段は、前記パラメータの絶対値の分布を示すモデルを前記パラメータモデルとして生成することを特徴とする請求項1乃至5の何れか1項に記載のモデル生成装置。
  7. 前記モデル生成手段は、前記m個の基準データそれぞれに対する前記パラメータの絶対値の和の分布を示すモデルを前記パラメータモデルとして生成することを特徴とする請求項2に記載のモデル生成装置。
  8. 前記モデル生成手段は、前記m個の基準データそれぞれに対する前記パラメータを並べたベクトルの方向に関する分布を示すモデルを前記パラメータモデルとして生成することを特徴とする請求項2に記載のモデル生成装置。
  9. 複数の特定データそれぞれと、前記基準データ群に含まれる複数の基準データそれぞれとの適合の程度を示す評価値を特定する評価値特定手段をさらに有し、
    前記選択手段は、前記評価値に基づいて、前記基準データを選択し、
    前記パラメータ特定手段は、前記評価値を前記パラメータとして特定することを特徴とする請求項1に記載のモデル生成装置。
  10. 前記評価値特定手段は、複数の特定データそれぞれと、複数の基準データそれぞれとの適合の程度を示す、互いに異なる複数の評価値を特定し、
    前記選択手段は、前記複数の評価値のうち少なくとも1つの評価値に基づいて、前記基準データを選択し、
    前記パラメータ特定手段は、前記複数の評価値のうち少なくとも1つの評価値を、前記パラメータとして特定することを特徴とする請求項9に記載のモデル生成装置。
  11. 特定データそれぞれの、対応する前記パラメータモデルからの変位を特定する変位特定手段と、
    複数の特定データを分類可能な属性に基づいて、前記複数の特定データを複数のグループに分類する分類手段と
    をさらに有し、
    前記モデル生成手段は、前記特定データのモデルとして、複数のグループそれぞれの特定データに対して特定された変位を用いて、複数のグループそれぞれに対する変位の分布を示す、複数の変位モデルを、さらに生成することを特徴とする請求項1乃至10の何れか1項に記載のモデル生成装置。
  12. 前記特定データは、全体画像に含まれる部分画像であり、
    前記分類手段は、前記特定データの前記全体画像における位置の属性に基づいて、前記特定データを複数のグループの分類することを特徴とする請求項11に記載のモデル生成装置。
  13. 前記モデル生成手段は、前記特定データのモデルとして、前記選択手段により選択される少なくとも1つの基準データが前記選択手段により選択される選択確率のモデルをさらに生成することを特徴とする請求項1乃至12の何れか1項に記載のモデル生成装置。
  14. 前記モデル生成手段は、前記パラメータの分布を正規分布と仮定した前記パラメータモデルを生成することを特徴とする請求項1乃至13の何れか1項に記載のモデル生成装置。
  15. 特定カテゴリに属する特定データの特徴を表現するモデルを利用して、判定対象のデータが特定カテゴリに属することの尤度を算出し、当該尤度に基づいて前記判定対象のデータを評価する評価装置であって、
    判定対象となる対象データと、予め設定された基準データ群に含まれる複数の基準データそれぞれとの適合の程度に基づいて、前記基準データ群から少なくとも1つの基準データを選択する第1の選択手段と、
    前記第1の選択手段により選択された基準データに対応したパラメータを特定するパラメータ特定手段と、
    前記特定データのモデルとしての、前記パラメータ特定手段により特定されたパラメータの、複数の特定データにおける分布を示すパラメータモデルに基づいて、前記対象データが特定カテゴリに属することの尤度を算出する算出手段と
    を有することを特徴とする評価装置。
  16. 前記第1の選択手段により選択された基準データに基づいて、前記特定データのモデルとして生成された、m(mは2以上の整数)個のパラメータの分布を示す、複数のパラメータモデルで、各パラメータモデルに係るm個のパラメータの組み合わせが互いに異なる前記複数のパラメータモデルの中から、前記対象データに対応するパラメータモデルを選択する第2の選択手段をさらに有し、
    前記算出手段は、前記第2の選択手段により選択された前記パラメータモデルに基づいて、前記対象データが特定カテゴリに属することの尤度を算出することを特徴とする請求項15に記載の評価装置。
  17. 前記第1の選択手段により選択された基準データに基づいて、前記特定データのモデルとして生成された、1つのパラメータの分布を示す、複数のパラメータモデルの中から、前記対象データに対応するパラメータモデルを選択する第2の選択手段をさらに有し、
    前記算出手段は、前記第2の選択手段により選択された前記パラメータモデルに基づいて、前記対象データが特定カテゴリに属することの尤度を算出することを特徴とする請求項15に記載の評価装置。
  18. 複数の特定データを分類可能な属性に基づいて、前記対象データの属するグループを特定するグループ特定手段と、
    前記パラメータモデルからの変位を示す複数の変位モデルであって、グループ毎に生成された前記複数の変位モデルの中から、前記グループ特定手段により特定されたグループの変位モデルを選択する第3の選択手段と
    をさらに有し、
    前記算出手段は、前記パラメータモデルと、前記変位モデルと、に基づいて、前記対象データが特定カテゴリに属することの尤度を算出することを特徴とする請求項15乃至17の何れか1項に記載の評価装置。
  19. 前記算出手段は、さらに、前記第1の選択手段により選択された基準データに対して予め設定された選択確率に基づいて、前記対象データが特定カテゴリに属することの尤度を算出することを特徴とする請求項15乃至18の何れか1項に記載の評価装置。
  20. 特定カテゴリに属する特定データの特徴を表現するモデルを生成するモデル生成装置であって、
    前記特定カテゴリに属する複数の特定データそれぞれと、予め設定された階層的処理手段に含まれる複数の基準ノードそれぞれの出力値に基づいて、各特定データに対し、前記複数の基準ノードから少なくとも1つの基準ノードを選択する選択手段と、
    複数の特定データそれぞれに対して、前記選択手段により選択された基準ノードに対応したパラメータを特定するパラメータ特定手段と、
    前記特定データのモデルとして、前記パラメータ特定手段により特定された少なくとも1つのパラメータの分布を示すパラメータモデルを生成するモデル生成手段と
    を有することを特徴とするモデル生成装置。
  21. 特定カテゴリに属する特定データの特徴を表現するモデルを利用して、判定対象のデータが特定カテゴリに属することの尤度を算出し、当該尤度に基づいて前記判定対象のデータを評価する評価装置であって、
    判定対象となる対象データと、予め設定された階層的処理手段に含まれる複数の基準ノードそれぞれの出力値に基づいて、前記複数の基準ノードから少なくとも1つの基準ノードを選択する第1の選択手段と、
    前記第1の選択手段により選択された基準ノードに対応したパラメータを特定するパラメータ特定手段と、
    前記特定データのモデルとしての、前記パラメータ特定手段により特定されたパラメータの、複数の特定データにおける分布を示すパラメータモデルに基づいて、前記対象データが特定カテゴリに属することの尤度を算出する算出手段と
    を有することを特徴とする評価装置。
  22. 特定カテゴリに属する特定データの特徴を表現するモデルを生成するモデル生成装置が実行するモデル生成方法であって、
    前記特定カテゴリに属する複数の特定データそれぞれと、予め設定された基準データ群に含まれる複数の基準データそれぞれとの適合の程度に基づいて、各特定データに対し、前記基準データ群から少なくとも1つの基準データを選択する選択ステップと、
    複数の特定データそれぞれに対して、前記選択ステップにおいて選択された基準データに対応したパラメータを特定するパラメータ特定ステップと、
    前記特定データのモデルとして、前記パラメータ特定ステップにおいて特定された少なくとも1つのパラメータの分布を示すパラメータモデルを生成するモデル生成ステップとを含むことを特徴とするモデル生成方法。
  23. 特定カテゴリに属する特定データの特徴を表現するモデルを利用して、判定対象のデータが特定カテゴリに属することの尤度を算出し、当該尤度に基づいて前記判定対象のデータを評価する評価装置が実行する評価方法であって、
    判定対象となる対象データと、予め設定された基準データ群に含まれる複数の基準データそれぞれとの適合の程度に基づいて、前記基準データ群から少なくとも1つの基準データを選択する第1の選択ステップと、
    前記第1の選択ステップにおいて選択された基準データに対応したパラメータを特定するパラメータ特定ステップと、
    前記特定データのモデルとしての、前記パラメータ特定ステップにおいて特定されたパラメータの、複数の特定データにおける分布を示すパラメータモデルに基づいて、前記対象データが特定カテゴリに属することの尤度を算出する算出ステップと
    を含むことを特徴とする評価方法。
  24. 特定カテゴリに属する特定データの特徴を表現するモデルを生成するモデル生成装置が実行するモデル生成方法であって、
    前記特定カテゴリに属する複数の特定データそれぞれと、予め設定された階層的処理工程において算出される複数の基準ノードそれぞれの出力値に基づいて、各特定データに対し、前記複数の基準ノードから少なくとも1つの基準ノードを選択する選択ステップと、
    複数の特定データそれぞれに対して、前記選択ステップにより選択された基準ノードに対応したパラメータを特定するパラメータ特定ステップと、
    前記特定データのモデルとして、前記パラメータ特定ステップにより特定された少なくとも1つのパラメータの分布を示すパラメータモデルを生成するモデル生成ステップと
    を含むことを特徴とするモデル生成方法。
  25. 特定カテゴリに属する特定データの特徴を表現するモデルを利用して、判定対象のデータが特定カテゴリに属することの尤度を算出し、当該尤度に基づいて前記判定対象のデータを評価する評価装置が実行する評価方法であって、
    判定対象となる対象データと、予め設定された階層的処理工程において算出される複数の基準ノードそれぞれの出力値に基づいて、前記複数の基準ノードから少なくとも1つの基準ノードを選択する第1の選択ステップと、
    前記第1の選択ステップにより選択された基準ノードに対応したパラメータを特定するパラメータ特定ステップと、
    前記特定データのモデルとしての、前記パラメータ特定ステップにより特定されたパラメータの、複数の特定データにおける分布を示すパラメータモデルに基づいて、前記対象データが特定カテゴリに属することの尤度を算出する算出ステップと
    を含むことを特徴とする評価方法。
  26. 特定カテゴリに属する特定データの特徴を表現するモデルを生成するモデル生成装置のコンピュータを、
    前記特定カテゴリに属する複数の特定データそれぞれと、予め設定された基準データ群に含まれる複数の基準データそれぞれとの適合の程度に基づいて、各特定データに対し、前記基準データ群から少なくとも1つの基準データを選択する選択手段と、
    複数の特定データそれぞれに対して、前記選択手段により選択された基準データに対応したパラメータを特定するパラメータ特定手段と、
    前記特定データのモデルとして、前記パラメータ特定手段により特定された少なくとも1つのパラメータの分布を示すパラメータモデルを生成するモデル生成手段と
    して機能させるためのプログラム。
  27. 特定カテゴリに属する特定データの特徴を表現するモデルを利用して、判定対象のデータが特定カテゴリに属することの尤度を算出し、当該尤度に基づいて前記判定対象のデータを評価する評価装置のコンピュータを、
    判定対象となる対象データと、予め設定された基準データ群に含まれる複数の基準データそれぞれとの適合の程度に基づいて、前記基準データ群から少なくとも1つの基準データを選択する第1の選択手段と、
    前記第1の選択手段により選択された基準データに対応したパラメータを特定するパラメータ特定手段と、
    前記特定データのモデルとしての、前記パラメータ特定手段により特定されたパラメータの、複数の特定データにおける分布を示すパラメータモデルに基づいて、前記対象データが特定カテゴリに属することの尤度を算出する算出手段と
    して機能させるためのプログラム。
  28. 特定カテゴリに属する特定データの特徴を表現するモデルを生成するモデル生成装置のコンピュータを、
    前記特定カテゴリに属する複数の特定データそれぞれと、予め設定された階層的処理手段に含まれる複数の基準ノードそれぞれの出力値に基づいて、各特定データに対し、前記複数の基準ノードから少なくとも1つの基準ノードを選択する選択手段と、
    複数の特定データそれぞれに対して、前記選択手段により選択された基準ノードに対応したパラメータを特定するパラメータ特定手段と、
    前記特定データのモデルとして、前記パラメータ特定手段により特定された少なくとも1つのパラメータの分布を示すパラメータモデルを生成するモデル生成手段と
    して機能させるためのプログラム。
  29. 特定カテゴリに属する特定データの特徴を表現するモデルを利用して、判定対象のデータが特定カテゴリに属することの尤度を算出し、当該尤度に基づいて前記判定対象のデータを評価する評価装置のコンピュータを、
    判定対象となる対象データと、予め設定された階層的処理手段に含まれる複数の基準ノードそれぞれの出力値に基づいて、前記複数の基準ノードから少なくとも1つの基準ノードを選択する第1の選択手段と、
    前記第1の選択手段により選択された基準ノードに対応したパラメータを特定するパラメータ特定手段と、
    前記特定データのモデルとしての、前記パラメータ特定手段により特定されたパラメータの、複数の特定データにおける分布を示すパラメータモデルに基づいて、前記対象データが特定カテゴリに属することの尤度を算出する算出手段と
    して機能させるためのプログラム。
JP2018001963A 2017-01-31 2018-01-10 モデル生成装置、評価装置、モデル生成方法、評価方法及びプログラム Pending JP2018124990A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017015590 2017-01-31
JP2017015590 2017-01-31

Publications (1)

Publication Number Publication Date
JP2018124990A true JP2018124990A (ja) 2018-08-09

Family

ID=62980649

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018001963A Pending JP2018124990A (ja) 2017-01-31 2018-01-10 モデル生成装置、評価装置、モデル生成方法、評価方法及びプログラム

Country Status (3)

Country Link
US (1) US10580127B2 (ja)
JP (1) JP2018124990A (ja)
CN (1) CN108376420B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020160997A (ja) * 2019-03-27 2020-10-01 アイシン精機株式会社 画像処理装置、画像処理方法、およびプログラム
US20220058836A1 (en) * 2019-02-25 2022-02-24 Center For Deep Learning In Electronics Manufacturing, Inc. Methods and systems for compressing shape data for electronic designs

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6591509B2 (ja) * 2017-11-06 2019-10-16 株式会社東芝 金型温度異常予兆検知装置及びプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3499608B2 (ja) * 1994-09-22 2004-02-23 松下電器産業株式会社 入力座標判定装置
EP1851721B1 (en) * 2005-02-10 2019-04-10 Koninklijke Philips N.V. A method, a system and a computer program for segmenting a surface in a multidimensional dataset
JP5486298B2 (ja) * 2009-12-28 2014-05-07 キヤノン株式会社 画像処理装置および画像処理方法
JP2015011585A (ja) * 2013-06-28 2015-01-19 株式会社リコー 画像処理装置、画像形成装置、画像形成システム、画像処理方法およびプログラム
CN106156067B (zh) * 2015-03-30 2019-11-01 日本电气株式会社 用于为关系数据创建数据模型的方法和系统
US10393714B2 (en) * 2016-11-28 2019-08-27 International Business Machines Corporation Particulate matter monitoring
US20190073445A1 (en) * 2017-09-01 2019-03-07 Grail, Inc. Identifying false positive variants using a significance model

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220058836A1 (en) * 2019-02-25 2022-02-24 Center For Deep Learning In Electronics Manufacturing, Inc. Methods and systems for compressing shape data for electronic designs
US11823423B2 (en) * 2019-02-25 2023-11-21 Center For Deep Learning In Electronics Manufacturing, Inc. Methods and systems for compressing shape data for electronic designs
JP2020160997A (ja) * 2019-03-27 2020-10-01 アイシン精機株式会社 画像処理装置、画像処理方法、およびプログラム

Also Published As

Publication number Publication date
US10580127B2 (en) 2020-03-03
US20180218487A1 (en) 2018-08-02
CN108376420A (zh) 2018-08-07
CN108376420B (zh) 2023-08-18

Similar Documents

Publication Publication Date Title
JP6708385B2 (ja) 識別器作成装置、識別器作成方法、およびプログラム
WO2021027759A1 (en) Facial image processing
JP7058941B2 (ja) 辞書生成装置、辞書生成方法、及びプログラム
CN107784288B (zh) 一种基于深度神经网络的迭代定位式人脸检测方法
CN111260055A (zh) 基于三维图像识别的模型训练方法、存储介质和设备
EP3012781A1 (en) Method and apparatus for extracting feature correspondences from multiple images
JP2018026122A (ja) 情報処理装置、情報処理方法及びプログラム
JP2018124990A (ja) モデル生成装置、評価装置、モデル生成方法、評価方法及びプログラム
CN113554742A (zh) 一种三维图像的重建方法、装置、设备及存储介质
EP4280162A1 (en) Generating prismatic cad models by machine learning
CN116797607A (zh) 图像分割方法和装置
CN112435258A (zh) 一种图像检测模型的构建方法、图像检测方法及装置
CN118176522A (zh) 用于生成分割掩码的方法和系统
CN113240699B (zh) 图像处理方法及装置,模型的训练方法及装置,电子设备
CN112529025A (zh) 一种数据处理方法及装置
CN117058554A (zh) 电力设备目标检测方法、模型训练方法和装置
EP3588441B1 (en) Imagification of multivariate data sequences
CN111639517A (zh) 人脸图像筛选方法及装置
CN116206302A (zh) 三维目标检测方法、装置、计算机设备和存储介质
Zhang et al. Image categorization using non-negative kernel sparse representation
CN115688234A (zh) 一种基于条件卷积的建筑布局生成方法、装置及介质
CN115311550A (zh) 遥感影像语义变化检测方法、装置、电子设备及存储介质
CN115393761A (zh) 视频关键帧提取方法、装置、设备和存储介质
Magdalena et al. Identification of beef and pork using gray level co-occurrence matrix and probabilistic neural network
JP2017004052A (ja) 学習装置、方法及びプログラム