JP2018116364A - 辞書生成装置、評価装置、辞書生成方法、評価方法及びプログラム - Google Patents

辞書生成装置、評価装置、辞書生成方法、評価方法及びプログラム Download PDF

Info

Publication number
JP2018116364A
JP2018116364A JP2017005275A JP2017005275A JP2018116364A JP 2018116364 A JP2018116364 A JP 2018116364A JP 2017005275 A JP2017005275 A JP 2017005275A JP 2017005275 A JP2017005275 A JP 2017005275A JP 2018116364 A JP2018116364 A JP 2018116364A
Authority
JP
Japan
Prior art keywords
data
dictionary
unit
evaluation
degree
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.)
Granted
Application number
JP2017005275A
Other languages
English (en)
Other versions
JP7058941B2 (ja
Inventor
卓琳 梁
Zhuolin Liang
卓琳 梁
裕輔 御手洗
Hirosuke Mitarai
裕輔 御手洗
将史 瀧本
Masafumi Takimoto
将史 瀧本
優和 真継
Masakazu Matsugi
優和 真継
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
Priority to JP2017005275A priority Critical patent/JP7058941B2/ja
Priority to US15/870,627 priority patent/US11521099B2/en
Priority to CN201810051692.0A priority patent/CN108320024B/zh
Publication of JP2018116364A publication Critical patent/JP2018116364A/ja
Application granted granted Critical
Publication of JP7058941B2 publication Critical patent/JP7058941B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • G06F18/2193Validation; Performance evaluation; Active pattern learning techniques based on specific statistical tests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/28Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • 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
    • 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
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • G06T7/337Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/772Determining representative reference patterns, e.g. averaging or distorting patterns; Generating dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/778Active pattern-learning, e.g. online learning of image or video features
    • G06V10/7796Active pattern-learning, e.g. online learning of image or video features based on specific statistical tests
    • 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/30148Semiconductor; IC; Wafer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Probability & Statistics with Applications (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Quality & Reliability (AREA)
  • Computational Linguistics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Mathematical Optimization (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Molecular Biology (AREA)
  • Image Analysis (AREA)

Abstract

【課題】大多数データの表現能力の低下を防ぎつつ、マイノリティデータの表現能力も高い適切な辞書を学習することを目的とする。【解決手段】特定カテゴリに属するデータの特徴を表現する、複数の段から成る辞書を生成する辞書生成装置であって、特定カテゴリに属する複数のデータに基づいて生成された辞書に対する、辞書の生成に用いられたデータの適合の程度を示す情報に基づいて、複数のデータから一部のデータを選択する選択手段と、選択手段により選択されたデータを用いて、辞書の次の段の辞書を生成する辞書生成手段とを有する。【選択図】図2

Description

本発明は、データのカテゴリを特定するための辞書学習技術に関する。
従来、カテゴリが未知のデータが特定のカテゴリに属するか否かを判定する方法の一つとして、特定のカテゴリに属する多数のデータについて共通の特徴を抽出し、未知のデータから同質の特徴を抽出できるか否かによって判定する方法がある。特定のカテゴリに関して共通の特徴を抽出する方法として、辞書学習が提案されている。辞書学習は、多次元のデータ空間を代表するような、いくつかの基準データを取得し、基準データの集合からなる辞書を生成する技術である。特定のカテゴリに属するデータから生成した辞書を用いることによって、特定のカテゴリのデータを適切に表現することが可能である。また、カテゴリ判定時は、カテゴリが未知のデータに対して、辞書から適切な基準データを用いてデータを再構成し、再構成誤差等の指標から特定カテゴリであるらしさを表す尤度を求める。
基準データの決め方は辞書の表現能力にかかわる。非特許文献1には、正常のSEM画像を表現するために、学習データ全体に対して、その再構成誤差の平均が小さくなるように、反復的に基準データを修正する技術が開示されている。また、非特許文献1には、画像における異常な個所を検出するために、辞書によって求められた再構成情報の正常範囲との乖離度を利用する方法が開示されている。
しかしながら、非特許文献1の方法では、辞書はデータ全体の平均再構成誤差が最小になるように学習されるため、一部のデータが再構成されにくい場合、その部分のデータに関して再構成誤差が高くなってしまい、辞書の表現能力が足りないという問題が発生する。具体的に、データセットに発生頻度の高いデータ(以下、大多数データ)と発生頻度の低いデータ(以下、マイノリティデータ)が共存する場合、マイノリティデータが平均再構成誤差への寄与が低く、表現され難いという問題が起きる。
この問題は辞書の規模に関わり、特に辞書内基準データの個数が少ない場合に発生しやすい。基準データの個数を一意に増やしてもよいが、特定カテゴリに属するデータの中に存在するはずれ値等に過適合して、非特定カテゴリのデータも表現されてしまう課題がある。辞書の規模と表現能力との関係を表したものを図18に示す。図18では、データ空間は大まかに、1.対象カテゴリ大多数データ、2.対象カテゴリマイノリティデータ、3.非対象データに分けられる。基準データ数が少ないと、1のデータだけ表現され、2と3は表現されず、区別し難くなる。一方で、基準データ数が多いと、3種類のデータともに表現されてしまう。よって、適切な規模の辞書が望ましい。
このような問題に対して、特許文献1には、大多数データの密度を減らしてからマイノリティデータと合わせて辞書を生成する技術が開示されている。これにより、学習した基準データがマイノリティデータの中心より大多数データの中心に偏るという問題が軽減され、マイノリティを表現する能力が向上する。
特開2010−198476号公報
Giacomo Boracchi et al., "Novelty Detection in Images by Sparse Representations", in Proceedings of IEEE Symposium on Intelligent Embedded Systems, pp. 47−54, 2014
しかしながら、特許文献1の技術では、大多数データの指定手法がヒューリスティックであり、また、大多数データの密度を減らすため、大多数データの表現能力を下げる可能性もある。このように、辞書学習において、適切にマイノリティデータを表現することが難しいという課題が存在する。
本発明は、このような点に鑑みてなされたものであり、大多数データの表現能力の低下を防ぎつつ、マイノリティデータの表現能力も高い適切な辞書を学習することを目的とする。
そこで、本発明は、特定カテゴリに属するデータの特徴を表現する、複数の段から成る辞書を生成する辞書生成装置であって、特定カテゴリに属する複数のデータに基づいて生成された辞書に対する、前記辞書の生成に用いられたデータの適合の程度を示す情報に基づいて、前記複数のデータから一部のデータを選択する選択手段と、前記選択手段により選択されたデータを用いて、前記辞書の次の段の辞書を生成する辞書生成手段と
を有することを特徴とする。
本発明によれば、大多数データの表現能力の低下を防ぎつつ、マイノリティデータの表現能力も高い適切な辞書を学習することができる。
検査システムの全体図である。 辞書生成処理に係る処理部のソフトウェア構成を示す図である。 辞書生成処理を示すフローチャートである。 評価処理に係る処理部のソフトウェア構成を示す図である。 評価処理を示すフローチャートである。 第2の実施形態に係る処理部のソフトウェア構成を示す図である。 第2の実施形態に係る辞書生成処理を示すフローチャートである。 表示画面の一例を示す図である。 変形例に係る表示画面例を示す図である。 第3の実施形態に係る処理部のソフトウェア構成を示す図である。 第3の実施形態に係る辞書生成処理を示すフローチャートである。 第3の実施形態に係る処理部のソフトウェア構成を示す図である。 第3の実施形態に係る評価処理を示すフローチャートである。 第4の実施形態に係る処理部のソフトウェア構成を示す図である。 第4の実施形態に係る辞書生成処理を示すフローチャートである。 第4の実施形態に係る評価処理を示すフローチャートである。 変形例に係る表示画面例を示す図である。 従来技術の説明図である。
以下、本発明の実施形態について図面に基づいて説明する。
(第1の実施形態)
図1は、第1の実施形態に係る検査システム100の全体図である。本実施形態に係る検査システム100は、検査対象の物体の表面外観検査によって良否判定を行うために利用する辞書を生成し、また生成された辞書を用いて、物体の良否判定を行う。具体的には、検査システム100は、良品であることがわかっている物体の撮影画像を学習データとして用い、特定カテゴリとして良品の特徴を表現する辞書を生成する。また、検査システム100は、良否判定の対象となるデータ(判定対象データ)をカテゴリが未知のデータとし、このデータが特定のカテゴリ(良品のカテゴリ)に属するか否かを辞書を利用して判定することにより、良否判定を行う。
検査対象物180は、ベルトコンベア181によって搬送され、情報処理装置110によって良品であるか不良品であるかが判定される。検査対象物180の例として、金属部品、ゴム成型品、プラスチック成型品、レンズ等ガラス成型品、プリント基盤等が挙げられる。検査対象物180の表面に、加工工程の変化等によって良品に見られないキズやムラ等が生じた場合、不良品として検出される。照明装置150は、検査対象物180の表面状態がよくわかるように、適切な照明条件を提供する。撮像装置140は、検査対象物180の表面の映像を取得可能なビデオカメラ等から構成され、撮影した映像を情報処理装置110に送信する。
入力装置120はキーボードやマウスから構成され、プログラム実行開始等の指令をユーザから受ける。表示装置130はモニタ等から構成され、中間処理結果や判定結果が表示される。表示の一例としては、検査対象物の表面写真が表示され、その検査結果が写真の周辺領域にOK/NGとして表示される。また、画像全般の良否判定ではなく、画像局所領域毎の判定結果を示したり、OK/NGのほかに、良品であることの尤度を表示してもよい。
本実施形態で示す情報処理装置110が実装されるハードウェア構成について説明する。バス116に接続する各デバイスをCPU111が総括的に制御する。読み出し専用メモリ(ROM)113は、本実施形態にかかる各処理プログラム、オペレーティングシステム(OS)、デバイスドライバ等を記憶している。ランダムアクセスメモリ(RAM)112には、CPU111処理時に前記プログラムが一次記録される。また、入力I/F115は、外部の操作装置等から入力した情報を情報処理装置110で処理可能な形式に変換する。また、出力I/F114は、出力する情報を表示装置130等が処理可能な形式に変換する。CPU111は、ROM113に記録された処理ステップやプログラムを読み出して、RAM112に一次記録し、後述する各フローチャートに従って処理を実行する。なお、他の例としては、情報処理装置110は、CPU111を用いた、後述のソフトウェア構成の各機能に対応した演算部や回路等のハードウェアを有してもよい。
第1の実施形態に係る情報処理装置110は、段階的辞書生成方法により、辞書を生成する。具体的には、情報処理装置110は、各段階でデータ群の一部を再構成する辞書を生成し、生成した辞書に対する各データの再構成情報に基づいて、生成した辞書がそのデータの近似を達成できたかを判定する。そして、情報処理装置110は、近似できていないデータ集合を用いて次の段階の辞書を生成する。本実施形態に係る段階的辞書生成方法では、近似を達成できた否かという2値判定が行われるため、段階が重なることにつれ、辞書生成に使用するデータの個数が減る。このため、この辞書生成タイプをフィルタ型と呼ぶことができる。
情報処理装置110の処理は、オフラインで段階的に辞書を生成する辞書生成処理を行う辞書生成工程と、オンラインで辞書を用いて、検査対象物のデータに対し、特定カテゴリに属することの尤度を評価する評価処理を行う評価工程と、の2つの工程に大別される。辞書生成工程では、情報処理装置110は、良品であると分かっている物体を撮影し、撮影された複数の画像から多数の小画像(以下、パッチ)をサンプリングし、良品パッチの集合から複数の基準パッチからなる辞書を生成する。一方、評価工程では、情報処理装置110は、良否未知の物体を撮影し、辞書生成工程と同様の方法で画像から複数のパッチを取得する。そして、情報処理装置110は、パッチ毎に辞書生成工程で生成した辞書で再構成し、パッチと辞書の適合度に応じて、良品である(特定カテゴリに属する)ことの尤度を評価する。なお、評価工程においては、良否であることの尤度を求めるだけでもよく、また尤度から、各パッチについて良否のいずれであるかを判定してもよい。また、他の例としては、画像を構成する複数のパッチに対する評価結果を統合して、画像全体についての尤度や良否を求めてもよい。
図2は、情報処理装置110の、辞書生成処理に係る処理部200のソフトウェア構成を示す図である。図3は、辞書生成処理を示すフローチャートである。図2に示すように、処理部200は、データセット読込部210と、データセット保持部211と、段階的辞書生成処理部220と、新データセット読込部250と、新データセット保持部251と、出力処理部260と、を有している。段階的辞書生成処理部220は、辞書生成処理部230と、段階処理部240と、を有している。辞書生成処理部230は、辞書生成部231と、辞書保持部232と、終了判定部233と、を有している。段階処理部240は、再構成部241と、再構成情報保持部242と、モデル算出部243と、モデル保持部244と、選択部245と、を有している。各部の機能については、辞書生成処理(図3)に沿って説明する。
図3に示すS300において、データセット読込部210は、学習用のデータセットを取得し、これをデータセット保持部211に読み込む。ここで、学習用のデータセットは、良品であることが予めわかっている物体を撮影することにより得られた撮影画像からサンプリングされた複数のパッチである。本実施形態においては、パッチサンプリングでは、撮影したグレースケール画像から網羅的に8×8画素のパッチを重複なしに抽出する。なお、データセットに含まれるパッチの個数は多ければ多いほど性能がいいが、生成される辞書内の基準パッチの個数より多ければよい。
なお、他の例としては、重複を許す抽出方法やランダムな位置から抽出する方法でもよい。パッチが画像からはみ出した場合は、パッチが画像内に入るように平行移動するか、画像補間してからパッチを切り出してもよい。パッチのサイズに関しては、8×8画素ではなく、実験的に最適なサイズを採用する方法も可能である。本実施形態においては、データが8×8=64次元のベクトルであり、データセットは複数のベクトルの集合である。また、他の例としては、データを記録する際に、ベクトルのほか、パッチが抽出される位置を記録してもよい。
続く、S301〜S309の処理は、段階的辞書生成処理である。段階的辞書生成処理における処理対象のデータセットを、対象データセットと称することとする。また、対象データセットに含まれるデータを対象データと称する。なお、初期段階における対象データセットは、データセット読込部210が受け付けたデータセットであり、その後の段階における対象データセットは、データセット読込部210が受け付けたデータセットに対するフィルタ後のデータセットである。なお、フィルタ後のデータセットは、後述の処理により、段階処理部240により選択され、新データセット読込部250により新データセット保持部251に読み込まれる。
S301において、辞書生成処理部230の辞書生成部231は、初期の対象データセットに基づいて、K個の基準データ(辞書)を生成する処理を行う。基準データは、対象データと同様の形式を持つデータであり、未知のデータを再構成する際に参照すべきデータである。基準データの個数Kは任意である。なお、段階的辞書生成では、各段階の辞書の規模は小さくてもよい。本実施形態では、基準データ群の規模Kを16とする。なお、S301において生成される辞書を第1段の辞書と称する。
辞書生成部231はさらに、生成した辞書を、K−SVD及び直交マッチング追跡(Orthogonal Matching Pursuit、OMP)を繰り返すことにより修正する。ここで、K−SVDは、スパースコーディングを用いた、辞書生成方法であり、非特許文献1を参照することができる。また、OMPは、データ再構成方法である。OMPでは、各対象データに対し、再構成誤差が小さくなるように、基準データ群から基準データを選択し、選択された基準データの重み付き線形組み合わせでデータを近似する。そして、この近似する処理を選択された基準データの個数がk個になるまで繰り返す。各基準データの重みを線形組み合わせ係数や再構成係数とも呼ぶ。すべての基準データの重みの集合を線形組み合わせ係数ベクトルや再構成係数ベクトルと呼ぶ。
OMPでは、(式1)の最適解を求める処理を行う。
Figure 2018116364
ここで、y{i=1、2、・・・、N}は、対象データセットであり、例えば、データ
セット保持部211や、新データセット保持部251に記憶されているデータである。iはデータのインデックスであり、Nは対象データセットに含まれる対象データの個数である。Dは基準データ群又は辞書である。xは再構成係数ベクトル、。‖yi−Dxi2
は再構成誤差である。また、‖・‖0はL0ノルム、‖・‖2はL2ノルムである。kは基準データの係数が非零である個数の上限であり、スパース制約条件を表す。本実施形態においては、辞書生成部231は、k=2として(式1)の最適解を求める。その結果、再構成係数ベクトルの要素の内、最大2個の値が非0になり、それ以外は0というスパースな解が得られる。
K−SVDは、対象データセットに含まれる対象データを少数の基準データの組み合わせで効率よく再構成されるように、辞書修正処理と再構成処理を交互に行う手法であり、下記に示す非特許文献2を参照することができる。
(非特許文献2)
Michal Aharon et al., "The K−SVD: An al
gorithm for designing of overcomplete dictionaries for sparse representation", I
EEE Trans. Signal Processing, 2006
なお、基準データ群の生成方法は、実施形態に限定されるものではない。他の例としては、辞書生成部231は、辞書生成時にスパースコーディングの結合係数であるL1ノルムを用いた辞書生成方法や、オートエンコーダ、主成分分析、K平均法、対象データセットからランダムに選択する等の方法を利用してもよい。
S301の処理の後、S302において、終了判定部233は、辞書生成処理の終了判定を行う。終了判定部233は、終了と判定した場合には(S302でYes)、処理をS310へ進める。終了判定部233は、終了と判定しなかった場合には(S302でNo)、処理をS303へ進める。
終了判定部233は、生成された辞書を用いて検証画像の良否判定を行い、判定結果に応じて、辞書生成を終了するか否かを判定する。具体的には、終了判定部233は、検証画像として、良品であることがわかっている物体及び欠陥品であるかがわかっている物体それぞれの撮影画像を用いる。そして、終了判定部233は、辞書との適合度から良否判定を行い、真の良品の中で正しく良品と判定する割合が一定の閾値以上になった場合、辞書生成終了と判定する。
このように、本実施形態の終了判定部233は、画像全体としての良否を判定するため、画像から抽出したすべてのパッチについて、辞書との適合度を集計する必要がある。具体的には、終了判定部233は、適合度の平均値、最大値、分散を計算して、画像の特徴ベクトルを生成する。次に、終了判定部233は、学習画像セットから抽出した特徴ベクトルを用いて、1クラスSVMで良品識別器を生成する。そして、終了判定部233は、生成した良品識別器を用いて、検証画像に対する良否判断を行う。本実施形態では、終了判定部233は、良品識別器として1クラスSVMを用いるが、最近傍法、部分空間法、フィッシャー判別法、ニューラルネットワーク等の識別方法を用いてもよい。また、終了判定部233は、欠陥画像も識別器の学習に利用してもよい。
続く、S303〜S307の処理は、マイノリティデータを選択する処理である。ここで、マイノリティデータとは、データセットにおいて、発生頻度の低いデータである。S303において、再構成部241は、対象データセットに含まれる各対象データに対し、直前に生成された辞書、すなわち辞書保持部311に保持されている辞書を用いて、(式1)に示すOMP処理によって再構成を行い、再構成情報を算出する。そして、再構成部241は、再構成情報を再構成情報保持部242に保存する。S303の処理は、辞書の生成に用いられた複数のデータそれぞれを再構成し、再構成情報を得る再構成処理の一例である。
なお、S303の処理において用いられる辞書は、S303の処理時点において直前に生成された辞書とする。すなわち、S301、S302でNo、S303の処理順においては、S301の処理で生成された辞書が用いられる。一方、S303〜S307の処理が行われ、S309でNoで再びS303の処理となった場合には、直前のS308の処理で生成された辞書が用いられる。また、S303の処理において用いられる対象データは、S308の処理において用いられる辞書の生成に利用されたデータセットである。
また、再構成情報は、複数の基準において、各対象データの辞書との類似度を表す評価値で、複数の基準に対応した複数の類似度の評価値からなる複数のベクトルを含むものとする。なお、他の例としては、再構成情報に含まれる再構成ベクトルの次元数は1次元であってもよい。
また、他の例としては、再構成部241は、サイズが未知の欠陥に頑健な方法として、多解像度のデータを用いて再構成情報を算出する方法を用いてもよい。この場合、再構成部241は、データセットに含まれる複数のデータ(画像)それぞれから解像度の異なる複数の画像を生成する。本処理は、多解像度化処理の一例である。そして、再構成部241は、各解像度の画像の再構成情報から、解像度毎の段階的な辞書生成を行ってもよい。また、他の例としては、再構成部241は、対象データ(画像)の横、縦、斜め方向のエッジ画像から辞書を生成し、生成した辞書に対し再構成情報を算出してもよい。
この場合、再構成部241は、対象データ(元画像)をHaar Wavelet変換し、変換結果である多重解像の平滑、横、縦、対角方向の画像それぞれについて、辞書を学習する。そして、再構成部241は、各々の辞書で再構成誤差と再構成係数ベクトルのL1ノルムを計算し、最後にこれらすべての評価値を繋げたベクトルを、再構成情報として得る。例えば、多重解像のスケール数が8の場合、合計8×4×2=64次元の再構成情報ベクトルが得られる。L1ノルムは、(式2)により得られる。なお、(式2)のdは、再構成係数ベクトルの次元数である。
Figure 2018116364
再構成情報としての再構成ベクトルrは、(式3)により得られる。
Figure 2018116364
また、説明を簡略化するため、(式3)には、単一階層から生成された再構成ベクトルを示す。‖y−Dx‖2は、再構成誤差、‖・‖1はL1ノルム、xはスパースコーディング等によって求められた再構成係数ベクトル、yは評価データ、Dは辞書、rは評価データの再構成情報ベクトルである。
なお、再構成情報は、辞書に対するデータの適合の程度を示す情報の一例である。なお、本実施形態においては、適合の程度を示す情報として再構成情報を用いているが、これに限定されるものではない。適合の程度を示す情報は、辞書に対するデータの類似度を示す値や、辞書に対するデータの乖離度を示す値等であってもよい。また、各指標の基準となる特徴量等のパラメータの種類や数も特に限定されるものではない。再構成情報としては、例えば、再構成誤差、再構成係数ベクトルのL1ノルム、再構成に使用した基準データのインデックス等が挙げられる。また、再構成情報は、これらのうち1つであってもよく、またこれらのうちいくつかを組み合わせたものであってもよい。
次に、S304において、モデル算出部243は、再構成情報保持部242に保存されている、各対象データに対応した複数の再構成情報それぞれの投影誤差(‖r−WWT
2)を算出する。具体的には、モデル算出部243は、再構成情報を表す再構成ベクトルを用いて主成分分析を行い、部分空間を取得する。そして、モデル算出部243は、各々の対象データの再構成情報ベクトルを生成した部分空間へ投影し、その投影誤差を求める。なお、W={u1,u2,…,udk}は、対象データの再構成情報を主成分分析して得られた固有ベクトルの集合であり、dkは、使用する固有ベクトルの個数である。ここで、S304の処理は、投影誤差を求める投影誤差評価処理の一例である。
次に、S305において、モデル算出部243は、複数の対象データそれぞれに対して得られた複数の投影誤差の分布モデルを算出(生成)する。具体的には、モデル算出部243は、投影誤差の平均μ0と標準分散σ0を分布モデルとする。なお、S305の処理は、投影誤差の分布モデルを生成するモデル生成処理の一例である。
他の例としては、モデル算出部243は、非特許文献2に示される再構成情報を表すベクトルの分布モデルをガウス分布と仮定してもよい。また他の例としては、モデル算出部243は、分布モデルとして、単峰ガウス分布ではなく、混合ガウス分布等複雑な分布を用いてもよい。その場合は、モデル算出部243は、対象データセットの再構成情報ベクトルセット{r}{i=1、2、・・・、N}の分布をKGMM個のガウス分布のミク
スチャーで仮定し、モデルはEMアルゴリズムで生成する。
投影誤差は、再構成されたデータと対象データの一致度が低い程、その値は大きくなる。すなわち、投影誤差は、各対象データが、辞書に適合しているか否かを示す評価値である。本実施形態においては、情報処理装置110は、投影誤差をそのまま用いるのではなく、投影誤差を平均μ0と標準分散σ0で正規化した値を異常度として求め、この指標により、各データと辞書の適合の適度を評価する。
次に、S306において、選択部245は、分布モデルに基づいて、各対象データの異常度を求める。選択部245は、さらに対象データの異常範囲と正常範囲とを分ける異常度の閾値を設定する。上述の通り、分布モデルに投影誤差の平均と分散を用い、選択部245は、投影誤差をμ0とσ0で正規化したものを異常度として求める。ここで、異常度は、対応するデータの辞書との適合の程度の指標値の一例である。また、本処理は、投影誤差を指標値に変換する変換処理の一例である。そして、選択部245は、投影誤差が平均μ0からnσ0以上となる範囲を異常範囲として設定し、それ以外の範囲を正常範囲として決定する。具体的には、選択部245は、(式4)の閾値thres.1を設定する。
Figure 2018116364
ここで、(式4)の左辺は、異常度である。thres.1は異常度の正常・異常境界を決める閾値であり、本実施形態においては、thres.1=n=1として閾値を設定するという条件が予め定められているものとする。なお、他の例としては、選択部245は、ユーザ操作に従い、閾値を設定してもよい。
次に、S307において、選択部245は、(式4)を満たさない再構成ベクトルrに対応する対象データをマイノリティデータとして選択する。本処理は、分布モデルに基づいて、マイノリティデータを選択する選択処理の一例である。
なお、S306及びS307の他の例としては、選択部245は、分布モデルをガウス分布と仮定し、ガウス分布からの乖離度に基づいて、マイノリティデータを選択してもよい。具体的には、選択部245は、各データのガウス分布からのマハラノビス距離を異常度として求める。そして、選択部245は、(式5)を満たさない再構成ベクトルrに対応する対象データをマイノリティデータとして選択する。
Figure 2018116364
なお、(式5)の左辺は、ガウス分布からのマハラノビス距離であり、μ及びΣは、それ
ぞれ対象データの尤度の平均及び分散である。dは再構成ベクトルの次元数である。thres.2は正常・異常境界を決める閾値である。
また、他の例としては、選択部245は、分布モデルを混合ガウス分布と仮定し、再構成ベクトルの異常度に替えて、尤度P(r|θ)を求めてもよい。そして、選択部245は、尤度に基づいて、マイノリティデータを選択してもよい。具体的には、選択部245は、(式6)を満たさない再構成ベクトルrに対応する対象データをマイノリティデータとして選択する。
Figure 2018116364
ここで、θk={πk,μk,Σk},θ={θk},{k=1,2,…,KGMM}は
混合ガウス分布のパラメータ、thres.3は正常・異常境界を決める閾値である。このように、選択部245は、対応するデータの辞書との適合の程度の指標値として、異常度に替えて尤度を用いてもよい。さらに他の例としては、選択部245は、尤度の逆数を異常度として用いてもよい。
以上のように、段階処理部240は、再構成情報の正常モデルを生成し、正常モデルとの尤度や異常度(乖離度)に対する閾値処理によりマイノリティデータの範囲を定め、この範囲に属するデータをマイノリティデータとして選択する。なお、乖離度や尤度を閾値で処理することを符号関数で表すことができる。この変換後の乖離度や尤度を辞書との適合度とする。
また、他の例としては、再構成情報は1次元であってもよく、この場合には、段階処理部240は、分布モデルを生成することなく、再構成情報の閾値処理により、マイノリティデータを選択してもよい。例えば、選択部245は、投影誤差が高い順に上位n%、上位n位を閾値として設定し、上位n%、上位n位のパッチをマイノリティデータとして選択してもよい。また、この場合、選択部245は、閾値としてのnの値は、ユーザ操作に応じて設定してもよい。また、後述の第2の実施形態におけるユーザ操作に応じたマイノリティ領域選定によって正常範囲を定め、正常範囲外のデータをマイノリティデータとして選択してもよい。
このように、本実施形態においては、選択部245は、再構成情報の再構成ベクトルから投影誤差を求め、投影誤差の分布モデルに基づいて、マイノリティデータを選択する。選択部245の処理は、再構成情報に基づいてデータを選択する処理であり、投影誤差に基づいてデータを選択する処理であり、また、投影誤差の分布モデルに基づいてデータを選択する処理である。ここで、再構成情報、再構成ベクトル、投影誤差及び分布モデルは、いずれも辞書に対するデータの適合の程度を示す情報の一例である。
次に、S308において、新データセット読込部250は、S305において選択されたマイノリティデータを取得し、これを新データセットとして新データセット保持部251に読み込む。そして、辞書生成部231は、新データセットを対象データセットとし、対象データセットを用いて新たな辞書を生成する。なお、対象データセットに基づいて、辞書を生成する処理は、S301において説明した第1段の辞書を生成する処理と同様である。なお、処理時点において第1段の辞書のみが生成された状態であれば、S308において生成された辞書は第2段の辞書となる。以降、S303〜S309の繰り返しにおいて、第3段、第4段、…と、段階辞書が生成される。ここで、S308の処理は、辞書生成処理の一例である。
次に、S309において、終了判定部233は、辞書生成処理の終了判定を行う。終了判定部233は、終了と判定した場合には(S309でYes)、処理をS310へ進める。終了判定部233は、終了と判定しなかった場合には(S309でNo)、処理をS303へ進める。本処理により、マイノリティデータの選択処理及び辞書生成処理が繰り返される。すなわち、本処理は、繰り返し処理の一例である。
終了判定部233は、生成された段階辞書を用いて検証画像の良否判定を行い、判定結果に応じて、辞書生成を終了するか否かを判定する。具体的には、終了判定部233は、検証画像として、良品であることがわかっている物体及び欠陥品であるかがわかっている物体それぞれの撮影画像を用いる。そして、終了判定部233は、辞書との適合度から良否判定を行い、真の良品の中で正しく良品と判定する割合が一定の閾値以上になった場合、辞書生成終了と判定する。本処理は、S302における処理と同様である。
また、他の例としては、終了判定部233は、横軸を段階数として、縦軸を対象データセットにおける平均再構成誤差とする変化曲線をプロットし、変化が緩やかになった時点で終了と判定してもよい。また、他の例としては、終了判定部233は、正常領域のパッチと欠陥領域のパッチの異常度の分離度が最も高い段階になった時点で終了と判定してもよい。また、他の例としては、終了判定部233は、予め定められた段階数の辞書が生成された時点で終了と判定してもよい。
S310において、出力処理部260は、学習結果として、生成した辞書(段階辞書)及び各辞書の分布モデル、分布モデルの正常範囲等の情報を出力するよう制御する。以上で、段階的辞書生成処理が終了する。
以上のように、本実施形態に係る情報処理装置110は、辞書の生成に実際に用いられた複数のデータを用いて、それぞれの投影誤差の分布モデルを生成し、この分布モデルに応じて閾値を定め、マイノリティデータを選択する。このため、理論的に投影誤差の分布モデルを仮定した上で、その閾値を定める場合に比べて、より適切なデータをマイノリティデータとして選択することができる。このため、特定カテゴリに属することの尤度の評価対象となるデータの特徴に適した辞書を生成することができる。
次に、情報処理装置110による評価処理について説明する。図4は、情報処理装置110の評価処理に係る処理部400のソフトウェア構成を示す図である。図5は、評価処理を示すフローチャートである。図4に示すように、処理部400は、データ読込部410と、データ保持部411と、段階的データ処理部420と、新データ読込部430と、新データ保持部431と、出力処理部440と、を有している。段階的データ処理部420は、辞書読込部421と、辞書保持部422と、再構成部423と、再構成情報保持部424と、分布モデル読込部425と、分布モデル保持部426と、異常度算出部427と、評価部428と、を有している。各部の機能については、評価処理(図5)に沿って説明する。
図5に示すS500において、データ読込部410は、判定対象となるデータを取得し、これをデータ保持部411に読み込む。ここで、判定対象となるデータは、良品か否かが不明の物体の撮影画像から得られたパッチデータである。なお、データ読込部410は、図3のS300の処理において説明したのと同様のサンプリング方法によってパッチを生成するものとする。以下、判定対象のデータを対象データと称する。
続く、S501〜S507の処理は、段階的に生成された複数の辞書を用いて、対象データを再構成する処理である。S501において、辞書読込部421は、辞書生成処理(図3)により生成された辞書をオンラインの辞書保持部422に読み込む。なお、S501の処理は繰り返し実行される処理であり、辞書読込部421は、段階辞書の生成に対応し、S501の処理の1回目の実行時にはS301において生成された第1段の辞書を読み込む。さらに、辞書読込部421は、S501の処理(S501〜S507のループ処理)の繰り返し回数に応じて、第2段の辞書、第3段の辞書、というように段階順に辞書を読み込む。以下、S501において読み込んだ辞書を対象辞書と称する。
次に、S502において、再構成部423は、対象辞書を用いて対象データの再構成を行い、再構成情報を算出する。なお、対象データから再構成情報を算出する処理は、S303において説明した処理と同様である。次に、S503において、分布モデル読込部425は、対象辞書に対応する分布モデルを分布モデル保持部426に読み込む。なお、ここで読み込まれる分布モデルは、S304において生成された分布モデルであり、対象辞書に対して生成されたものである。以下、S503において読み込んだ分布モデルを対象分布モデルと称する。次に、S504において、異常度算出部427は、S502において算出した再構成情報に基づいて、対象データの、対象辞書に対する異常度を算出する。なお、異常度を算出する処理は、S306において説明した処理と同様である。このように、本実施形態に係る情報処理装置110は、対象データの良否判定においても、異常度を用いるものとする。
次に、S505において、評価部428は、異常度に基づいて、対象データが正常範囲内のデータであるか否かのマイノリティ判定を行う。ここで、正常範囲は、分布モデルに対してS305において設定された範囲である。評価部428は、正常範囲に含まれない場合に、マイノリティと判定する。評価部428は、マイノリティと判定した場合(S506でYes)、処理をS507へ進める。S428は、マイノリティと判定しなかった場合には(S506でNo)、処理をS510へ進める。S510において、評価部428は、対象データは正常データであると判定する。そして、出力処理部440は、正常の判定結果を評価結果として出力するよう制御する。以上で評価処理が終了する。
一方、S507においては、評価部428は、対象辞書が最終段の辞書か否かを確認する。評価部428は、対象辞書が最終段の辞書でない場合には(S507でNo)、処理をS508へ進める。評価部428は、対象辞書が最終段の辞書の場合には(S507でYes)、処理をS509へ進める。S508において、評価部428は、異常度をクリアする。そして、新データ読込部430は、これまで処理対象としていたデータを新データ保持部431に読み込むことにより、再度対象データとして設定する。その後処理をS501へ進める。この場合、S501において、辞書読込部421は、次の段の辞書を読み込み、以降の処理が行われる。S509においては、出力処理部440は、最終段の辞書に対して得られた異常度を評価結果として出力するよう制御する。以上で評価処理が終了する。S509及びS510の処理は、対象データが特定カテゴリに属することの尤度を評価する評価処理の一例である。
なお、他の例としては、出力処理部440は、S510においても、正常の判定結果に替えて、特定カテゴリに属することの尤度に相当する指標として異常度を出力するよう制御してもよい。また、他の例としては、出力処理部440は、上記評価結果に替えて、または上記評価結果に加え、撮影画像を構成する複数のパッチそれぞれの評価結果に応じた総合的な評価結果を出力してもよい。
以上のように、本実施形態に係る情報処理装置110は、過検出気味の辞書を生成し、学習データに対する大まかな判定をしてから、次の段階の辞書で再度判定する。このように、判定の難しい特定カテゴリに属するマイノリティデータと特定カテゴリに属さないデータの境界を漸近的に求めることが可能である。
本実施形態に係る情報処理装置110は、辞書の生成に利用したデータと辞書との適合度に応じて適切なマイノリティデータを選択することができる。これにより、大多数データの表現能力の低下を防ぎつつ、マイノリティデータの表現能力も高い適切な辞書を生成することができる。
また、第1の実施形態の第1の変形例としては、情報処理装置110は、マイノリティパッチの周辺パッチも含むマイノリティ領域をマイノリティデータとして選択してもよい。例えば、情報処理装置110は、実施形態において説明した処理により選択されたマイノリティデータをマイノリティデータの候補とする。そして、情報処理装置110は、マイノリティデータの候補として選択された対象データの、画像上の位置情報と、分布モデルの投影誤差に基づいて、投影誤差のマップを生成する。そして、情報処理装置110は、マップから顕著な領域をマイノリティ領域として探索してから、領域内の投影誤差の最大値や平均値等を閾値として、改めて正常範囲及びマイノリティ範囲を定め、マイノリティデータを選択してもよい。このような処理によって、8×8画素というミクロの範囲ではなく、領域探索により周辺領域の参照によって、たとえば300×300画素等のマクロの範囲で異常領域を取得することができる。この場合は、異常候補領域をユーザに提示するアプリケーション等で、ユーザが処理装置の効果について直観的な感覚を持つことができる。
第2の変形例としては、辞書生成処理と評価処理は、異なる装置において実行されてもよい。例えば、第1の情報処理装置において辞書生成処理を行い、生成された段階的な辞書や各辞書の分布モデル等の情報を第2の情報処理装置に送信する。そして、第2の情報処理装置において、データの評価処理を行う。
第3の変形例としては、情報処理装置110は、再構成情報に基づいてマイノリティデータの選択を行えばよく、そのための具体的な処理は、実施形態に限定されるものではない。例えば、情報処理装置110は、前述の通り、再構成情報が1次元の場合には、再構成情報が示す値の大きさ順に辞書との乖離度が高い所定数又は所定割合のデータをマイノリティデータとして選択してもよい。すなわち、この場合には、投影誤差の算出、分布モデルの生成、異常度(又は乖離度)の算出は不要である。
さらに、情報処理装置110は、適合の程度を示す情報に基づいてマイノリティデータの選択を行えばよく、このとき用いられる適合の程度を示す情報は再構成情報、投影誤差、異常度(又は乖離度)に限定されるものではない。適合の程度を示す情報は、辞書との乖離度又は類似度を評価可能な値を示す情報であればよい。また、情報処理装置110は、分布モデルを生成するために用いる指標値についても、適合の程度を示す値を用いればよく、投影誤差に限定されるものではない。すなわち、情報処理装置110は、適合の適度を示す情報の分布に基づいて、マイノリティデータの選択を行えばよく、そのための具体的な処理は実施形態に限定されるものではない。
(第2の実施形態)
次に、第2の実施形態に係る検査システム100について説明する。正常範囲が広く設定されると、正常と判定される大多数のデータの割合が増え、マイノリティ学習の効率が下がる。一方で、正常範囲を狭くすると、再学習すべき正常データを逃す可能性がある。よって、正常範囲と異常範囲の境界を定める適切な閾値を決定する方法が求められる。マイノリティ学習の目的は、正常データにおける異常度の高いデータと欠陥データにおける異常度の低いデータを区別することにある。この点に着目すると、欠陥データのうち異常度が最小となるデータを特定し、このデータの異常度の近傍値を境界としてマイノリティデータを選択することが好ましい。このようにして選択されたマイノリティデータを用いることにより、欠陥データと正常データの境界の精度の高い辞書を生成することができる。
以下、第2の実施形態に係る検査システム100について、第1の実施形態に係る検査システム100と異なる点について説明する。図6は、第2の実施形態に係る情報処理装置110による辞書生成処理に係る処理部600のソフトウェア構成を示す図である。図7は、第2の実施形態に係る辞書生成処理を示すフローチャートである。図6に示すように、処理部600は、第1の実施形態に係る処理部200(図2)の構成に加えて、欠陥データセット読込部610と、欠陥データセット保持部611と、を有している。各部の機能については、辞書生成処理(図7)に沿って説明する。
図7においては、図3を参照しつつ説明した辞書生成処理における各処理と同一の処理には同一の符号を付し、説明を省略する。S305の処理の後、CPU111は、処理をS700へ進める。S700において、欠陥データセット読込部610は、欠陥画像データセットを欠陥データセット保持部611に読み込む。なお、欠陥画像データセットは、欠陥画像から得られたパッチデータの集合である。なお、欠陥データセット読込部610は、図3のS300の処理において説明したのと同様のサンプリング方法によってパッチを生成するものとする。
次に、S701において、段階処理部240は、欠陥画像データセットの各データの、対象辞書に対する再構成情報を算出し、さらに再構成情報から投影誤差を算出し、さらに異常度を算出する。本処理は、S303〜S306において説明した処理と同様である。次に、S702において、出力処理部260は、異常度に基づいて、欠陥画像データセットの複数のデータを順位付けする。なお、異常度は、辞書に対するデータの適合の程度を示す情報であり、本処理は、順位付け処理の一例である。さらに、出力処理部260は、順位に沿って複数のデータを並べた、データリストを表示装置130に表示するよう制御する。本処理は、表示処理の一例である。次に、S703において、選択部245は、ユーザ操作により選択されたデータをマイノリティデータとして選択する。
図8は、S702の処理時点において表示装置130に表示される表示画面の一例を示す図である。表示画面800には、データリスト810が表示されている。データリスト810には、欠陥画像データセットに含まれる各データ811が異常度の順に配置されている。また、表示画面800には、欠陥データセットに対応した元画像(欠陥画像)820が表示されている。
ユーザは、データリスト810に一覧表示された各データ(画像)を目視により確認する。そして、ユーザは、正常な状態を示す画像であるにも関わらず、明らかな欠陥を示す画像よりも高い異常度を示している画像(データ)を再学習の対象データ、すなわちマイノリティデータとして選択する。ユーザが、データリスト810においてデータ811を選択すると、選択されたデータは、再学習データの領域830に移動する。また、このとき、出力処理部260は、ユーザ操作に応じて選択されたデータに対応する元画像の領域をハイライト表示等強調表示するよう制御する。そして、ユーザが再学習ボタン840を押下すると、選択部245は、領域830に移動したデータをマイノリティデータとして選択する。
本実施形態においては、データリスト810だけでなく、元画像820が表示されているので、ユーザは、各データが異常データであるか正常データであるかを正しく判断することができる。なお、異常度の低い欠陥を見逃さないよう、正常範囲を狭くするようにマイノリティデータを選択するのが好ましい。
図7に戻り、S702の処理の後、CPU111は、処理をS308へ進める。S308においては、新データセット読込部250は、S703において選択されたマイノリティデータを取得し、新データセットとして新データセット保持部251に読み込む。そして、辞書生成部231は、新データセットを対象データセットとし、対象データセットを用いて新たな辞書を生成する。なお、第2の実施形態に係る情報処理装置110のこれ以外の構成及び処理は、第1の実施形態に係る情報処理装置110の構成及び処理と同様である。
以上のように、第2の実施形態においては、マイノリティデータが特定カテゴリに属さないデータと区別し難いデータであることに着目し、特定カテゴリに属さないデータとの比較により、ユーザ操作により、閾値が設定される。このように、柔軟に閾値を設定することができる。
第2の実施形態の第1の変形例としては、選択部245は、上述の処理により、欠陥画像から正常マイノリティのデータ(マイノリティデータ)を選択した後、さらに欠陥画像や良品画像から正常マイノリティのデータ(マイノリティデータ)を追加してもよい。欠陥画像が少ない場合に効果的である。
具体的には、選択部245は、選択したマイノリティデータについて、異常度Aminorの分布(μ(Aminor),σ(Aminor))を求める。さらに、選択部245は、欠陥画像から切り出したすべての欠陥領域に関して、異常度の最小値min(Adefect)も求める。そして、選択部245は、min(min(Adefect),(μ(Aminor)−n×σ(Aminor))で正常マイノリティ範囲を決める閾値を決定する。ここで、nは閾値の微調整をコントロールするパラメータである。表示画面上にnの値を調節する調節バーを追加してもよい。この場合、ユーザがマイノリティデータを選択した後、ディフォルトのnでマイノリティが決定され、更新した後のマイノリティデータがデータリスト810において強調表示される。ユーザが調節バーを通じてnの値を調節することにより、その割合を変更することができる。
また、マイノリティデータを追加する処理としては、情報処理装置110は、領域から再構成情報等の特徴を抽出し、各々の選定された領域の付近にある未選定領域をk近傍法等で複数選択してもよい。さらに、情報処理装置110は、上述の方法で決定した閾値を分布モデルの正常範囲の閾値として記録し、判定時には、記録された閾値を参照してマイノリティデータを決定してもよい。
また、第2の変形例としては、情報処理装置110は、さらに欠陥位置の情報に基づいて、マイノリティデータを選択してもよい。例えば、情報処理装置110は、欠陥画像における欠陥位置を示す情報を取得する。そして、情報処理装置110は、ユーザ操作に応じて選択されたマイノリティデータと欠陥位置とが重なっているか否かに応じて、マイノリティデータであるか否かを自動的に判定し、マイノリティデータのみを選択してもよい。また、情報処理装置110は、データの評価時の閾値についても、欠陥位置に応じて決定してもよい。
また、第3の変形例としては、情報処理装置110は、マイノリティのパターンが複数存在する場合に、マイノリティのパターン毎にグループ化又はクラスタリングして表示してもよい。情報処理装置110は、例えば、前段階の辞書での再構成情報に基づいてグループ化を行う。図9は、第3の変形例に係る表示画面例を示す図である。表示画面900には、欠陥データリスト910が表示されている。欠陥データリスト910には、グループ毎のリスト912が配置され、各リスト912に欠陥データ911が配置されている。各リストの左右位置は、表示画面800におけるデータリスト810の左右位置と一致することが好ましい。また、表示画面900には、元画像820、領域830及び再学習ボタン840が表示されている。
例えば、図9に示す元画像820のように、2種類のマイノリティが含まれる場合がある。このように、マイノリティの種類が複数ある場合、ユーザがマイノリティと欠陥との判別に長い時間を要してしまう可能性がある。また、異常度の低い欠陥を見逃す可能性もある。そこで、本例においては、情報処理装置110は、ランキングしたデータを一列に表示するではなく、類似するマイノリティパターンをグループ化して代表パターンを選択して表示する。これにより類似パターンを大量に表示することなく、ユーザが選別する際の効率を上げることができる。
また、第4の変形例としては、情報処理装置110は、分布モデルを生成することなく、投影誤差の値に応じて順位付けを行ってもよい。具体的には、情報処理装置110は、辞書が生成されると(S301又はS308)、生成された辞書に対し、欠陥データセットの各データの投影誤差を求め、投影誤差の値に応じて順位付けを行えばよい。この場合も、辞書との適合の適度に応じた適切な順位付けを行うことができる。
また、第5の変形例としては、情報処理装置110は、適合の程度を示す情報に基づいてデータの順位付けを行えばよく、そのための具体的な処理は実施形態に限定されるものではない。第2の実施形態においては、適合の適度を示す情報として投影誤差を用いる例を説明したが、適合の程度を示す情報は投影誤差に限定されるものではなく、再構成情報から得られた他の指標値を用いてもよい。また、他の例としては、情報処理装置110は、適合の程度を示す情報として再構成情報以外の情報を用いてもよい。
(第3の実施形態)
次に、第3の実施形態に係る検査システム100について説明する。第1の実施形態及び第2の実施形態においては、情報処理装置110は、異常度(尤度)に応じて、マイノリティデータを選択したが、本実施形態の情報処理装置110は、異常度(尤度)に応じた重みを各データに付与した上で段階辞書を生成する。
本実施形態に係る情報処理装置110は、大規模辞書を分割することにより小規模な辞書候補を生成し、辞書候補から段階的な辞書を生成する。また、本実施形態に係る情報処理装置110は、評価処理時には、段階的な複数の辞書それぞれに対する、評価対象のデータの異常度(尤度)を求め、複数の辞書それぞれとの異常度に基づいて、正常データである(特定カテゴリに属する)ことの尤度を評価する。
以下、第3の実施形態に係る検査システム100について他の実施形態に係る検査システム100と異なる点について説明する。図10は、第3の実施形態に係る情報処理装置110による辞書生成処理に係る処理部1000のソフトウェア構成を示す図である。図11は、第3の実施形態に係る辞書生成処理を示すフローチャートである。図10に示すように、処理部1000は、データセット読込部1010と、データセット保持部1011と、辞書候補生成部1020と、辞書候補保持部1021と、段階的辞書生成処理部1030と、を湯巣いている。処理部1000は、また重み値読込部1060と、重み値保持部1061と、出力処理部1070と、を有している。段階的辞書生成処理部1030は、辞書選択部1040と、重み値処理部1050と、を有している。辞書選択部1040は、再構成部1041と、再構成情報保持部1042と、辞書候補評価部1043と、辞書保持部1044と、終了判定部1045と、を有している。重み値処理部1050は、データ評価部1051と、重み値更新部1052と、を有している。各部の機能については、辞書生成処理(図11)に沿って説明する。
図11に示すS1100において、データセット読込部1010は、学習用のデータセットを取得し、これをデータセット保持部1011に読み込む。本処理は、図3を参照しつつ説明したS300の処理と同様である。次に、S1101において、辞書候補生成部1020は、データセットを用いて、複数の辞書候補を生成し、これらを辞書候補保持部1021に記録する。具体的には、辞書候補生成部1020は、データセットを用いて大規模な1つの辞書を生成し、この辞書を複数の小規模な辞書に分割する。辞書候補生成部1020は、分割により得られた小規模な辞書を辞書候補として辞書候補保持部1021に記録する。なお、辞書候補生成部1020は、例えば、図3のS301の処理と同様の方法で大規模な辞書を生成する。なお、辞書候補のカバレッジを保証するために、基準データの個数K0を多めに、つまり過完備な辞書を生成することが好ましい。次に、辞書候補生成部1020は、基準データをランダムにM個のグループに分け、各グループに属する基準データを辞書候補として得る。本実施形態においては、辞書候補生成部1020は、K0=256、M=256とし、基準データ数が1個の辞書候補を生成する。
また、他の例としては、辞書候補生成部1020は、基準データをグループに分ける際に、K平均法等のクラスタリング方法を用いてもよい。また、他の例としては、ユーザが性質の異なるデータを指定し、辞書候補生成部1020は、ユーザにより指定された領域に対応した基準データセットに応じてグループ分けを行ってもよい。この場合、グループ内では微細な変化、グループ間では顕著な変化を捉えるような辞書候補を生成することができる。また、他の例としては、辞書候補生成部1020は、基準データや基準データペアが参照される頻度に基づいてグループ化を行ってもよい。
次に、S1102において、重み値読込部1060は、データセットに含まれる各データに対する重み値として初期値を重み値保持部1061に記録する。ここで、重み値は、辞書候補を評価する際に、各データが評価対象となる辞書候補に対して寄与する程度を示す評価値である。本実施形態においては、重み値読込部1060は、初期の重みwi (0)として1を記録する。ここで、iは、データセットにおけるi番目のデータを示す。wi (0)の0は、辞書生成の段階が0であることを示す。
次に、S1103において、辞書選択部1040は、複数の辞書候補それぞれの、重み値により重み付けされた入力データセットの各データとの適合の程度を示す評価値を算出する。以下、入力データセットの各データに対する、辞書候補の評価値を辞書評価値と称することとする。本実施形態においては、辞書評価値は、入力データに含まれる複数のデータに対する辞書候補の評価値を総合した値とする。また、辞書(辞書候補)に対する、入力データセットに含まれる各データの評価値をデータ評価値と称することとする。なお、S1103の処理は、再構成部1041、辞書候補評価部1043行う処理である。本処理には、以下に示す2つの評価方法のいずれかを用いることができる。
(評価方法1):この方法は、すべての辞書候補を用いてデータを1回再構成し、データに対するすべての辞書候補の寄与度総和を1とし、各辞書候補の寄与度の割合から辞書候補を評価するという相対評価方法である。具体的に、再構成部1041は、K0=M個の基準データを用いて、各データyiを(式1)を用いて再構成し、再構成情報を再構成情報保持部1042に記録する。結果として、再構成されたデータは(式7)のような形式で表すことができる。
Figure 2018116364
ここで、iは入力データのインデックス、mは辞書候補(基準データ)のインデックスである。yi'は再構成されたデータ、D={bm},m=0,…,K0−1は過完備辞書、xiは再構成係数ベクトル、bmはm番目の基準データ、ximはm番目の基準データの係数である。
次に、辞書候補評価部1043は、各辞書候補に対して、(式8)により辞書評価値を算出する。
Figure 2018116364
ここで、Nは、入力データの個数である。Vm (t)は、t回目の辞書選択処理に関する、m番目の辞書候補(m番目の基準データbm)の評価値である。wi (t)は、t回目の確定辞書選択処理におけるi番目の入力データの重み値である。Simは、i番目の入力データとm番目の辞書候補(基準データ)との類似度、あるいはm番目の辞書候補(基準データ)がi番目の入力データに対する寄与度である。ここで、類似度Simは(式9)により得られる。
Figure 2018116364
imは単なるm番目の辞書候補(基準データ)と入力データのドット積等ではなく、(式1)の最適化によって、すべての基準データを参照して決められた再構成係数に基づくものであることから、この評価方法を相対評価と呼ぶ。なお、Simは回数tによって変わらないので、事前に計算しておくことも可能である。
(評価方法2):辞書候補それぞれを用いてデータを再構成し、辞書評価値の最も良い辞書候補を選択するという絶対評価方法である。辞書候補が十分な基準データを持つ場合、例えば、K0=256で、M=16の場合、このような評価を行うことが可能である。具体的に、m番目の辞書候補を計算する際は、再構成部1041は、(式4)〜(式6)等を用いて異常度スコアAimを算出し、これを再構成情報保持部1042に記録する。次に、辞書候補評価部1043は、(式8)により辞書評価値を算出する。但し、本処理においては、類似度Simの算出には(式10)を用いる。
Figure 2018116364
ここで、Aimは、i番目の入力データがm番目に生成された辞書候補で近似される際に計算された異常度スコアである。なお、Aimを事前に計算しておくことも可能である。
次に、S1104において、辞書候補評価部1043は、辞書評価値に基づいて、辞書候補の中から、辞書を選択する。本処理には、S1103における処理に応じて異なる選択方法を用いることができる。
(選択方法1(評価方法1に対応する)):辞書候補評価部1043は、複数の基準データを選択し、それらの集合を確定辞書として選択する。確定辞書内の基準データをK’
個選択する場合について説明する。辞書候補評価部1043は、K0個の候補基準データに関して、評価値Vm (t)を降順に並べ替えて、評価値が最も高いK’個を選択する。す
べての基準データのインデックスの集合をIとし、選択された基準データのインデックスの集合をIk’、選択されない基準データのインデックスの集合をIk’’とした場合、
確定辞書は(式11)により表現される。
Figure 2018116364
ここで、D(t)はt回目に選択された確定辞書(t段の確定辞書)である。
(選択方法2(評価方法2に対応する)):辞書候補評価部1043は、1つの辞書候補を選択し、これを確定辞書とする。辞書候補評価部1043は、M個の評価値Vm (t)の内、辞書評価値の最大値に対応する辞書候補をt回目の確定辞書として、確定辞書保持部1044に保存する。
次に、S1105において、終了判定部1045は、辞書生成の終了判定を行う。終了判定部1045は、実施形態1において図3を参照しつつ説明したS309の処理と類似の方法で、データセットに適した辞書生成の回数Tを自動的に設定し、回数Tに達した場合に終了と判定する。終了評価処理(S309)異なる部分としては、最終の辞書に対する適合の程度を示す指標値の算出方法である。S1105においては、終了判定部1045は、後述の(式15)により、段階的辞書との類似度を指標値として算出する。なお、他の例としては、辞書生成の回数Tは予め定められていてもよい。終了判定部1045は、終了と判定した場合には(S1105でYes)、処理をS1108へ進める。S1108においては、出力処理部1070は、学習結果として、生成した辞書(段階辞書)を出力するよう制御する。終了判定部1045は、終了と判定しなかった場合には(S1105でNo)、処理をS1106へ進める。
S1106において、データ評価部1051は、S1104において選択された確定辞書に対する、データセットに含まれる各データのデータ評価値を算出する。本実施形態においては、第1の実施形態において説明した異常度をデータ評価値として算出するものとする。
次に、S1107において、重み値更新部1052は、次の辞書選択時に、S1103において利用されるデータの重み値を、データ評価値としての異常度に基づいて求め、重み値保持部1061に記憶されている重み値を新たに求めた重み値で更新する。
具体的には、まず重み値更新部1052は、S1106において算出したt段の辞書(確定辞書)に対する異常度A(t)について、平均μ(A(t))と分散σ(A(t))を算出し、辞書保持部1044に記録する。次に、重み値更新部1052は、異常度を(式12)により正規化する。本処理により、異常度の平均が0に移動する。
Figure 2018116364
次に、重み値更新部1052は、(式13)により重み値を更新する。(式13)では、t回目のデータの重みに係数をかけるが、異常度スコアをそのままかけるのではなく、シグモイド関数によって0から1に正規化したものを係数としてかける。この処理によって、回数tを重ねるにつれ、データの重みが単調減少することが保証される。
Figure 2018116364
ここで、wi (t)は、処理時点の直前に実行されたS1103において利用された重み値、すなわち、直前に生成された確定辞書の生成時に利用された重み値である。wi (t+1)は、処理時点の直後に実行されるS1103において利用される重み値である。Ai (t)は、データiをt回目に選択された辞書(t段の辞書)で近似した際の異常度であり、データiと辞書との適合度を表す。αはゲインであり、非線形変化の激しさをコントロールする。
ここで、S1107の処理は、第n段(nは1以上の整数)の辞書が選択された時点において、辞書として選択されていない辞書候補に対する、各データの適合の程度を示す情報としての異常度に応じて、データを重み付けする重み付け処理の一例である。なお、第n+1段の辞書の選択時には、本処理において重み付けされたデータが用いられる。
なお、他の例としては、本実施形態においても、情報処理装置110は、生成された辞書に対する入力データの分布モデルを生成し、辞書保持部1044辞書と共に出力するよう制御することとしてもよい。
次に、第3の実施形態に係る情報処理装置110による評価処理について説明する。図12は、情報処理装置110の評価処理に係る処理部1200のソフトウェア構成を示す図である。図13は、評価処理を示すフローチャートである。図12に示すように、処理部1200は、データ読込部1210と、データ保持部1211と、段階的データ処理部1220と、辞書信頼度読込部1230と、辞書信頼度保持部1231と、出力処理部1240と、を有している。段階的データ処理部1220は、辞書読込部1221と、辞書保持部1222と、異常度算出部1223と、辞書信頼度算出部1224と、累積値算出部1225と、評価部1226と、を有している。各部の機能については、評価処理(図13)に沿って説明する。
S1300において、データ読込部1210は、判定対象となるデータを取得し、これをデータ保持部1211に読み込む。本処理は、図5のS500の処理と同様である。次に、S1301において、辞書読込部1221は、辞書生成処理(図11)により生成された辞書、辞書に対して算出された値を辞書保持部1222に読み込む。ここで、辞書に対して算出された値としては、データセットに含まれる各データのデータ評価値としての異常度の平均μ(A(t))と分散σ(A(t))がある。なお、辞書読込部1221は、分布辞書が生成されている場合には、分布モデルも読み込んでもよい。
なお、S1301の処理は繰り返し実行される処理であり、辞書読込部1221は、段階辞書の生成に対応し、S1301の処理の1回目の実行時には1段の辞書を読み込む。そして辞書読込部1221は、S1301の処理(S1301〜S1305のループ処理)の繰り返し回数に応じて、第2段の辞書、第3段の辞書、というように段階順に辞書を読み込む。以下、S1301において読み込んだ辞書を対象辞書と称する。
次に、S1302において、異常度算出部1223は、データと対象辞書との異常度(乖離度)Ai (t)を算出する。本処理は、図5を参照しつつ説明したS502〜S504の処理と同様である。次に、S1303において、辞書信頼度算出部1224は、異常度Ai (t)に基づいて、対象辞書に対する辞書信頼度を算出する。具体的には、辞書信頼度算出部1224は、(式14)により、対象辞書に対する辞書信頼度αi (t)を算出する。ここで、tは辞書の段数を示す。
Figure 2018116364
次に、S1304において、累積値算出部1225は、t段の辞書までの辞書信頼度の累積値を算出する。次に、S1305において、評価部1226は、辞書生成処理において生成されたすべての辞書に対してS1301〜S1304の処理が完了したか否かを確認する。評価部1226は、すべての辞書に対する処理が完了した場合には(S1305でYes)、処理をS1306へ進める。評価部1226は、未処理の辞書が存在する場合には(S1305でNo)、処理をS1301へ進める。この場合、S1301において、辞書読込部1221は、処理済みの辞書の次の段の辞書を読み込む。そして、以降の処理が実行される。なお、すべての辞書に対する処理が完了した時点での、辞書信頼度の累積値は、(式15)で表される。
Figure 2018116364
ここで、Si *はi番目のデータと段階的に学習された辞書との適合度である。Si (t)はi番目のデータとt段の辞書との適合度であり、異常度スコアAi (t)の逆数で代用することが可能である。αi (t)は(式14)で算出される、i番目のデータのt段の辞書に対する辞書信頼度であり、(式13)の係数部分を縦軸を基準に反転したものである。
S1306において、出力処理部1240は、評価結果を出力するよう制御する。なお、辞書信頼度の累積値は、各辞書との適合度の重み付き平均であり、その重みは辞書への信頼度を変形したものである。求めた累積度は、第1の実施形態や第2の実施形態の評価処理において得られた異常度(適合の程度を示す指標値)に相当する値である。S1306において、出力処理部1240は、この累積値を特定カテゴリに属することの尤度の評価結果として出力する。
なお、他の例としては、出力処理部1240は、さらに識別器を生成し、累積値から正常・異常の二値の判定を行い、この結果を評価結果として出力してもよい。また、他の例としては、出力処理部1240は、画像からサンプリングした各々の小画像に対し、累積適合度を求め、すべての小画像の統計量を用いて画像全体としての良否を判定し、この結果を評価結果として出力してもよい。
以上のように、第3の実施形態に係る検査システム100は、段階的な辞書生成の過程において学習用のデータを使用するか否かの二値化するのに替えて、辞書の再構成能力をSi (t)のような連続値として指標化する。また、判定時においても、辞書の再構成能力をSi (t)のような連続値として指標化する。これにより、適切な辞書を学習(生成)することができる。
(第4の実施形態)
次に、第4の実施形態に係る検査システム100について説明する。本実施形態においては、情報処理装置110は、データ空間をデータ分布の多峰性に対応したサブ空間に分割し、各サブ空間に対して辞書学習及び評価を行う。以下、第4の実施形態に係る検査システム100について、他の実施形態に係る検査システム100と異なる点について説明する。図14は、第4の実施形態に係る辞書生成処理及び評価処理に係る処理部1400のソフトウェア構成を示す図である。図15は、第4の実施形態に係る辞書生成処理を示すフローチャートである。図16は、第4の実施形態に係る評価処理を示すフローチャートである。
図14に示すように、処理部1400は、データセット読込部1410と、データセット保持部1411と、分割部1412と、分割モデル保持部1413と、サブデータセット保持部1414と、段階的辞書生成処理部1415とを有している。処理部1400はまた、辞書保持部1416と、辞書出力処理部1417と、データ読込部1420と、データ保持部1421と、サブ辞書特定部1422と、段階的データ処理部1423と、評価結果出力処理部1424と、を有している。各部の機能については、図14及び図15に沿って説明する。
図15の辞書生成処理では、まず、S1500において、データセット読込部1410は、データセットをデータセット保持部1411に読み込む。本処理は、図3のS300の処理と同様のである。次に、S1501において、分割部1412は、データセットを複数のデータセットに分割する。分割には、様々なクラスタリング手法を用いることができる。本実施形態に係る分割部1412は、図3のS301〜S307の処理によりマイノリティデータを選択し、マイノリティデータの選択時に得られた再構成情報等の中間結果の情報に基づいて、クラスタリングを行う。これにより、分割処理を効率化することができる。なお、データセットの分割のための具体的な処理は実施形態に限定されるものではなく、マイノリティデータを用いることなく分割を行ってもよい。
以下、マイノリティデータを用いた分割方法としては以下の方法が挙げられる。
データ分割方法1:クラスタ生成で使用するデータとしては、パッチそのままを利用することやパッチをDCT変換した結果のほか、再構成係数ベクトルを活用することや(式7)の再構成情報ベクトルyi 'を利用してもよい。データ空間を分割するには、階層的で凝集型のクラスタ生成や非階層的で最適化ベースのK平均法等、様々な基本的なクラスタリング手法を用いることが可能である。さらに、第1の実施形態において説明したK−SVD等の辞書生成方法をマイノリティデータセットに適用して、得られた基準データをクラスタの中心にしてもよい。
データ分割方法2:クラスタ生成で使用するデータは、元のデータを再構成するのにどの基準データを使用したかという情報である。この方法は、再構成方法がOMP(Orthogonal Matching Pursuit)の場合に用いる。例えば、基準データ数K=8で、選択基準データ数k=2の場合、再構成処理後、マイノリティデータセットが自動的にNCkK=28個のクラスタに分けられる。
データ分割方法3:データ分割方法2の拡張である。基準データ数が多い場合、基準データのペア数も増えてしまうため、クラスタ数をコントロールする必要がある。Nc個のクラスタを取得後、類似するクラスタを合併して、クラスタ数を減らす。具体的には、データ分割方法2で得たクラスタを凝集型クラスタリングの中間段階として、クラスタ間距離を算出してから類似クラスタを合併するというプロセスを指定クラスタ数になるまで繰り返す。クラスタ間距離算出方法に関しては、最短距離法や、群平均法、クラスタ間分散、ベイズ誤り確率等を用いても良い。
次に、S1502において、分割部1412は、分割モデルを分割モデル保持部1413に記録する。ここで、分割モデルとは、S1501において得られたクラスタの生成のパラメータ(クラスタの中心等)の情報である。次に、S1503において、段階的辞書生成処理部1415は、サブデータセット保持部1414からサブデータセットを1つ取得する。次に、S1504において、段階的辞書生成処理部1415は、S1503において取得したサブセットデータを対象データセットとして、辞書生成処理を行い、辞書を辞書保持部1416に記録する。なお、S1504の処理は、図11のS1101〜S1107の処理と同様である。また、他の例としては、S1504において、情報処理装置110は、図3のS301〜S309の処理を行うこととしてもよい。
次に、S1505において、段階的辞書生成処理部1415は、すべてのサブデータセットについてS1504の処理が完了したか否かを確認する。段階的辞書生成処理部1415は、すべてのサブデータセットに対する処理が完了した場合には(S1505でYes)、処理をS1506へ進める。段階的辞書生成処理部1415は、未処理のサブデータセットが存在する場合には(S1505でNo)、処理をS1503へ進める。この場合、S1503において、段階的辞書生成処理部1415は、未処理のサブデータセットを1つ取得する。そして、以降の処理が実行される。S1506において、辞書出力処理部1417は、生成された辞書を出力するよう制御する。以上で、辞書生成処理が終了する。
次に、評価処理について説明する。図16の評価処理においては、まず、S1600において、データ読込部1420は、判定対象となるデータを取得し、これをデータ保持部1421に読み込む。本処理は、図5のS500の処理と同様である。次に、S1601において、サブ辞書特定部1422は、分割モデル保持部1413に記憶されている、各クラスタの分割モデルを取得する。次に、S1602において、段階的データ処理部1423は、辞書生成処理により得られた各クラスタの辞書を読み込む。
次に、S1603において、段階的データ処理部1423は、対象データの判定に用いる辞書を選択する。具体的には、対象データと各々のクラスタの中心の距離を算出し、距離が最も小さいクラスタに対応する辞書を選択する。次に、S1604において、段階的データ処理部1423は、対象データをS1605において選択した辞書で再構成する。
次に、S1605において、評価結果出力処理部1424は、判定結果を出力するよう制御する。なお、S1604及びS1605の処理は、第1の実施形態において、図5を参照しつつ説明したS502〜S510の処理と同様である。なお、他の例としては、評価処理において、情報処理装置110は、データが属するクラスタを特定せずに、各々のクラスタの辞書を用いて辞書適合度を特定し、クラスタ毎の辞書適合度の平均を判定結果として出力するよう制御してもよい。
データマイノリティが存在するときは、データの分布に多峰性が現れると考えられる。多峰性のデータに対して辞書を学習すると、クラスタ間差異を表現する基準データが学習されるが、クラスタ内の細かい表現が足りない問題が起きる。本実施形態に係る情報処理装置110は、データ空間をサブ空間に分割して辞書生成及び判定を行うので、このような問題に対し、クラスタ内の細かい表現能力を高めることができる。
なお、第4の実施形態の変形例としては、データを分割する処理は、実施形態に限定されるものではない。パッチのサイズが小さい場合、パッチが欠陥領域の一部か正常領域の一部かが特定しにくいので、パッチベースのクラスタリングは直観的な結果が得られない。このような場合には、周辺パッチを考慮し、大き目の領域を得てからクラスタリングすることが好ましい。しかし、この場合、データの次元数が高くなり、良いクラスタ結果が得られにくい。これに対し、情報処理装置110は、ユーザ操作に応じてクラスタリングを行うこととしてもよい。
図17は、変形例に係る表示画面例を示す図である。表示画面1700には、データリスト810、元画像820及び再学習ボタン840が表示されている。また、クラスタに対応した2つの領域1701、1702と、追加ボタン1710が表示されている。ここで、各領域1701と領域1702は、それぞれ異なるクラスタに対応している。ユーザが領域1701に移動したデータは、領域1701に対応するクラスタに属することとなり、領域1702に移動したデータは、領域1702に移動したクラスタに属することとなる。さらに、本例においては、ユーザが追加ボタン1710を押下する毎に、クラスタに対応した領域が追加表示される。したがって、ユーザ操作に応じた数のクラスタを生成することができ、またユーザ操作に応じて、各データを適切なクラスタに分配することができる。本例においては、第2の実施形態のユーザによるマイノリティデータ選定に比べ、選定と同時に、分別することが可能で、データに多峰性が現れる場合に効果的である。
(変形例)
上記の実施形態において生成される辞書は、特定カテゴリを表現するための表現辞書の生成方法に関するものである。これらの方法は、特定カテゴリと非特定カテゴリを識別するための識別辞書の生成にも適用可能である。表現辞書は、未知の欠陥の種類が予測困難の場合に効果的である。一方で、識別辞書は、たとえば、欠陥の種類が限られている際に効率的である。
識別辞書を学習するには、学習データが特定カテゴリに属するか否かという学習データラベル情報を既知情報とする必要がある。識別器は、線形判別、サポートベクターマシン、ニューラルネットワーク等様々な識別器を用いることが可能である。識別辞書との適合度は、識別器の識別結果とラベル情報との一致具合を表す。識別器にニューラルネットワークを使った場合、学習画像から切り出した多数の多重解像の小画像を入力データとして、オートエンコーダで特徴抽出を行い、最終層にロジスティック回帰を用いて識別辞書学習を行う識別方法が考えられる。また、学習画像から切り出した多数の小画像を入力データとして、畳み込みニューラルネットワークを学習することで、識別を行うことも可能である。
識別辞書を用いる一つの実施形態として、第1の実施形態において、情報処理装置110は、識別結果のカテゴリと既知のカテゴリが一致しないデータを再学習に使用してもよい。また、識別辞書を用いる他の実施形態としては、情報処理装置110は、第2の実施形態のユーザインタフェースに、特定カテゴリと非特定カテゴリそれぞれについて、再学習対象プールを備えてもよい。情報処理装置110は、表示する領域の順序は第2の実施形態のように異常度(識別スコア)の高さで決定する。ただし、情報処理装置110は、ユーザが領域選別する際に、特定カテゴリと非特定カテゴリそれぞれに対して、相手のカテゴリに入り込んだ領域をそれぞれのカテゴリの再学習対象プールに移動するようにして、識別辞書の再学習を行う。この実施形態では、学習データの内、ラベル情報が部分的にしかわかっていないデータが存在しても、ユーザが識別結果に対するフィードバックによって、識別辞書学習が可能である。
また、識別辞書を用いるほかの実施形態として、第3の実施形態において、情報処理装置110は、学習データが特定カテゴリに属するか否かということを既知情報とし、識別結果のカテゴリと既知のカテゴリを比較する。そして、情報処理装置110は、両者が一致しない場合に、そのデータを重視して再学習してもよい。この際は、識別スコアを用いて、相手のカテゴリとどれほど間違いやすいかを再学習の際のデータ重みにすることが考えられる。
また、識別辞書を用いるほかの実施形態として、第4の実施形態のように、特定カテゴリに属するデータに多峰性が生じる場合、上記方法を分割したそれぞれのデータグループに適用し、複数のサブ識別器を生成してもよい。
なお、上記実施形態(第1の実施形態〜第4の実施形態)においては検査システム100を外観検査に適用する場合を例に説明したが、検査システム100の適用対象は実施形態に限定されるものではない。他の例としては、特定のシーンである動画であるかどうかといった評価処理にも適用可能である。例えば、監視カメラから異常の行動を検出するという例では、人間が歩いているという行動を正常行動として、歩く以外は異常な行動とする場合、シーンの中で歩く人間がすれ違うと正常として認められず、異常行動として検知されてしまう。しかし、すれ違いという行動をマイノリティパターンとしてとらえれば、上記実施形態の方法を適用することが可能である。また、例えば、音声データや、超音波の波形分析、その他のマルチメディアデータ、テキストデータ等、データを表現するための辞書が生成できるようなものであれば、その他の形式のデータに対しても、上記実施形態の方法を適用可能である。
また、上記実施形態の検査システム100は、カテゴリ未知のデータが特定カテゴリに属するか否かを判定するが、カテゴリ未知のデータが多数の特定カテゴリのいずれかに属するかどうかという、多クラス分類問題にも適用できる。その場合は、検査システム100は、辞書学習時は各々のカテゴリに対して、段階的辞書学習を行い、評価時は評価データと各々のカテゴリの辞書との適合度を算出し、適合度の一番高いカテゴリ、あるいは、どのカテゴリにも属さないという結果を出力してもよい。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100 検査システム
110 情報処理装置
111 CPU

Claims (32)

  1. 特定カテゴリに属するデータの特徴を表現する、複数の段から成る辞書を生成する辞書生成装置であって、
    特定カテゴリに属する複数のデータに基づいて生成された辞書に対する、前記辞書の生成に用いられたデータの適合の程度を示す情報に基づいて、前記複数のデータから一部のデータを選択する選択手段と、
    前記選択手段により選択されたデータを用いて、前記辞書の次の段の辞書を生成する辞書生成手段と
    を有することを特徴とする辞書生成装置。
  2. 前記選択手段は、前記複数のデータそれぞれに対する前記適合の程度を示す情報の分布に基づいて、前記データを選択することを特徴とする請求項1に記載の辞書生成装置。
  3. 前記辞書を用いて、前記辞書の生成に用いられた複数のデータそれぞれを再構成する再構成手段をさらに有し、
    前記選択手段は、再構成により得られた再構成情報に基づいて、前記データを選択することを特徴とする請求項1又は2に記載の辞書生成装置。
  4. 前記辞書は、スパースコーディングの辞書であり、
    前記再構成情報は、スパースコーディングの結合係数のL1ノルムを含むことを特徴とする請求項3に記載の辞書生成装置。
  5. 前記再構成情報に含まれる再構成ベクトルの主成分分析により得られる部分空間に前記再構成ベクトルを投影した際に生じる投影誤差を、前記複数のデータそれぞれに対して求める投影誤差評価手段をさらに有し、
    前記選択手段は、前記投影誤差に基づいて、前記データを選択することを特徴とする請求項3又は4に記載の辞書生成装置。
  6. 前記複数のデータそれぞれの投影誤差の分布モデルを生成するモデル生成手段をさらに有し、
    前記選択手段は、前記分布モデルに基づいて、前記データを選択することを特徴とする請求項5に記載の辞書生成装置。
  7. 前記分布モデルに基づいて、前記投影誤差を、前記辞書との適合の適度を示す指標値に変換する変換手段をさらに有し、
    前記選択手段は、前記指標値に基づいて、前記データを選択することを特徴とする請求項6に記載の辞書生成装置。
  8. 前記辞書生成手段により生成された辞書と、前記辞書の生成に用いられたデータと、を用いて、前記選択手段及び前記辞書生成手段の処理を繰り返すよう制御する繰り返し手段をさらに有することを特徴とする請求項1に記載の辞書生成装置。
  9. 前記辞書の生成に用いられた複数のデータそれぞれから解像度の異なる複数のデータを生成する多解像度化手段をさらに有し、
    前記選択手段は、解像度毎の複数のデータに基づいて生成された、解像度毎の複数の辞書それぞれに対する、各辞書の生成に用いられたデータの適合の程度を示す情報に基づいて、各解像度の複数のデータから、一部のデータを選択し、
    前記辞書生成手段は、前記選択手段により選択された、各解像度のデータを用いて、各解像度の辞書の次の段の辞書を生成することを特徴とする請求項1に記載の辞書生成装置。
  10. 前記特定カテゴリに属する複数のデータをデータの特徴に基づいて、複数のデータセットに分割する分割手段をさらに有し、
    前記選択手段は、前記複数のデータセットそれぞれに基づいて生成された複数の辞書それぞれに対する、各辞書の生成に用いられたデータの適合の程度を示す情報に基づいて、前記複数のデータセットそれぞれから、一部のデータを選択し、
    前記辞書生成手段は、前記複数のデータセットそれぞれに対応して生成された前記複数の辞書それぞれの次の段の辞書を生成することを特徴とする請求項1に記載の辞書生成装置。
  11. 特定カテゴリに属するデータの特徴を表現する、複数の段から成る辞書を生成する辞書生成装置であって、
    前記特定カテゴリに属する複数のデータを含む第1のデータセットに基づいて生成された辞書に対する、前記特定カテゴリに属するデータと前記特定カテゴリに属さないデータとを含む第2のデータセットに含まれる複数のデータそれぞれの適合の程度を示す情報に基づいて、前記第2のデータセットに含まれる複数のデータを順位付けする順位付け手段と、
    前記順位に沿って前記複数のデータを並べたデータリストを表示手段に表示するよう制御する表示処理手段と、
    前記表示手段に表示されたデータに対する第1のユーザ操作に応じて、前記第2のデータセットのデータの一部を選択する選択手段と、
    前記選択手段により選択されたデータを用いて、前記辞書の次の段の辞書を生成する辞書生成手段と
    を有することを特徴とする辞書生成装置。
  12. 前記辞書を用いて、前記辞書の生成に用いられた複数のデータそれぞれを再構成する再構成手段をさらに有し、
    前記順位付け手段は、再構成により得られた再構成情報に基づいて、前記データを順位付けすることを特徴とする請求項11に記載の辞書生成装置。
  13. 前記再構成情報に含まれる再構成ベクトルの主成分分析により得られる部分空間に前記再構成ベクトルを投影した際に生じる投影誤差を、前記複数のデータそれぞれに対して求める投影誤差評価手段をさらに有し、
    前記順位付け手段は、前記投影誤差に基づいて、前記データを順位付けすることを特徴とする請求項12に記載の辞書生成装置。
  14. 複数のデータそれぞれの前記投影誤差の分布モデルを生成するモデル生成手段と、
    前記分布モデルに基づいて、前記投影誤差を、辞書との適合の程度を示す指標値に変換する変換手段と
    をさらに有し、
    前記順位付け手段は、前記指標値に基づいて、前記データを順位付けすることを特徴とする請求項13に記載の辞書生成装置。
  15. 前記第2のデータセットは、特定カテゴリに属さない1つの画像から生成された複数のデータを含み、
    前記表示処理手段は、前記データリストと共に、前記画像を前記表示手段に表示することを特徴とする請求項11乃至14の何れか1項に記載の辞書生成装置。
  16. 前記表示処理手段は、前記データリストにおいて第2のユーザ操作に応じてデータが選択された場合に、選択されたデータに対応する前記画像の一部の領域を強調表示するよう制御することを特徴とする請求項15に記載の辞書生成装置。
  17. 前記辞書生成手段により生成された辞書と、前記第2のデータセットに含まれるデータと、を用いて、前記順位付け手段、前記表示処理手段、前記選択手段及び前記辞書生成手段の処理を繰り返すよう制御する繰り返し手段をさらに有することを特徴とする請求項11に記載の辞書生成装置。
  18. 特定カテゴリに属するデータの特徴を表現する、複数の段から成る辞書を生成する辞書生成装置であって、
    特定カテゴリに属する複数のデータに基づいて生成された複数の辞書候補から第n段(nは、1以上の整数)の辞書が選択された時点において、辞書として選択されていない辞書候補に対する、前記複数のデータそれぞれの適合の程度を示す情報に応じて、前記複数のデータのうち少なくとも1つのデータを重み付けする重み付け手段と、
    前記重み付け手段による重み付けが行われた後の、前記複数のデータに基づいて、前記辞書候補の中から第n+1段の辞書を選択する選択手段を有することを特徴とする辞書生成装置。
  19. 前記辞書として選択されていない辞書候補に対する、前記複数のデータそれぞれの再構成情報を生成する再構成手段をさらに有し、
    前記重み付け手段は、前記再構成情報に基づいて、前記データの重み付けを行うことを特徴とする請求項18に記載の辞書生成装置。
  20. 前記再構成情報に含まれる再構成ベクトルの主成分分析により得られる部分空間に前記再構成ベクトルを投影した際に生じる投影誤差を、前記複数のデータそれぞれに対して求める投影誤差評価手段をさらに有し、
    前記重み付け手段は、前記投影誤差に基づいて、前記データの重み付けを行うことを特徴とする請求項19に記載の辞書生成装置。
  21. 複数のデータそれぞれの前記投影誤差の分布モデルを生成するモデル生成手段をさらに有し、
    前記重み付け手段は、前記分布モデルに基づいて、前記データの重み付けを行うことを特徴とする請求項20に記載の辞書生成装置。
  22. 前記特定カテゴリに属する複数のデータをデータの特徴に基づいて、複数のデータセットに分割する分割手段をさらに有し、
    前記選択手段は、各データセットに含まれる複数のデータのうち少なくとも1つのデータを重み付けし、
    前記選択手段は、各データセットに対し、第n+1段の辞書を選択することを特徴とする請求項18に記載の辞書生成装置。
  23. 前記選択手段は、前記辞書として選択されていない辞書候補それぞれに対する、前記複数のデータそれぞれの適合の程度を評価する評価手段をさらに有し、
    前記選択手段は、前記評価手段の評価結果に基づいて、前記第n+1段の辞書を選択することを特徴とする請求項18乃至22の何れか1項に記載の辞書生成装置。
  24. 学習データの、辞書に対する適合の程度を示す情報に基づいて生成された複数の段から成る辞書を用いて、処理対象のデータが特定カテゴリに属することの尤度を評価する評価手段を有することを特徴とする評価装置。
  25. 前記評価手段は、前記複数の辞書それぞれの生成に用いられたデータそれぞれの、前記適合の程度を示す情報の分布と、前記処理対象のデータの前記適合の程度を示す情報と、に基づいて、前記尤度を評価することを特徴とする請求項24に記載の評価装置。
  26. 前記評価手段は、前記適合の程度を示す情報に基づいて重み付けされた学習データに基づいて段階的に生成された、前記複数の辞書を用いて、前記尤度を評価することを特徴とする請求項24に記載の評価装置。
  27. 特定カテゴリに属するデータの特徴を表現する、複数の段から成る辞書を生成する辞書生成方法であって、
    特定カテゴリに属する複数のデータに基づいて生成された辞書に対する、前記辞書の生成に用いられたデータの適合の程度を示す情報に基づいて、前記複数のデータから一部のデータを選択する選択工程と、
    前記選択工程により選択されたデータを用いて、前記辞書の次の段の辞書を生成する辞書生成工程と
    を有することを特徴とする辞書生成方法。
  28. 特定カテゴリに属するデータの特徴を表現する、複数の段から成る辞書を生成する辞書生成方法であって、
    前記特定カテゴリに属する複数のデータを含む第1のデータセットに基づいて生成された辞書に対する、前記特定カテゴリに属するデータと前記特定カテゴリに属さないデータとを含む第2のデータセットに含まれる複数のデータそれぞれの適合の程度を示す情報に基づいて、前記第2のデータセットに含まれる複数のデータを順位付けする順位付け工程と、
    前記順位に沿って前記複数のデータを並べたデータリストを表示工程に表示するよう制御する表示処理工程と、
    前記表示工程に表示されたデータに対する第1のユーザ操作に応じて、前記第2のデータセットのデータの一部を選択する選択工程と、
    前記選択工程により選択されたデータを用いて、前記辞書の次の段の辞書を生成する辞書生成工程と
    を有することを特徴とする辞書生成方法。
  29. 特定カテゴリに属するデータの特徴を表現する、複数の段から成る辞書を生成する辞書生成方法であって、
    特定カテゴリに属する複数のデータに基づいて生成された複数の辞書候補から第n段(nは、1以上の整数)の辞書が選択された時点において、辞書として選択されていない辞書候補に対する、前記複数のデータそれぞれの適合の程度を示す情報に応じて、前記複数のデータのうち少なくとも1つのデータを重み付けする重み付け工程と、
    前記重み付け工程による重み付けが行われた後の、前記複数のデータに基づいて、前記辞書候補の中から第n+1段の辞書を選択する選択工程を有することを特徴とする辞書生成方法。
  30. 学習データの、辞書に対する適合の程度を示す情報に基づいて生成された複数の段から成る辞書を用いて、処理対象のデータが特定カテゴリに属することの尤度を評価する評価工程を有することを特徴とする評価方法。
  31. コンピュータを、請求項1乃至23の何れか1項に記載の辞書生成装置の各手段として機能させるためのプログラム。
  32. コンピュータを、請求項24乃至26の何れか1項に記載の評価装置の各手段として機能させるためのプログラム。
JP2017005275A 2017-01-16 2017-01-16 辞書生成装置、辞書生成方法、及びプログラム Active JP7058941B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017005275A JP7058941B2 (ja) 2017-01-16 2017-01-16 辞書生成装置、辞書生成方法、及びプログラム
US15/870,627 US11521099B2 (en) 2017-01-16 2018-01-12 Dictionary generation apparatus, evaluation apparatus, dictionary generation method, evaluation method, and storage medium for selecting data and generating a dictionary using the data
CN201810051692.0A CN108320024B (zh) 2017-01-16 2018-01-16 词典生成装置及方法、评估装置及方法、以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017005275A JP7058941B2 (ja) 2017-01-16 2017-01-16 辞書生成装置、辞書生成方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2018116364A true JP2018116364A (ja) 2018-07-26
JP7058941B2 JP7058941B2 (ja) 2022-04-25

Family

ID=62841563

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017005275A Active JP7058941B2 (ja) 2017-01-16 2017-01-16 辞書生成装置、辞書生成方法、及びプログラム

Country Status (3)

Country Link
US (1) US11521099B2 (ja)
JP (1) JP7058941B2 (ja)
CN (1) CN108320024B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020030565A (ja) * 2018-08-22 2020-02-27 株式会社Ye Digital 画像判定方法、画像判定装置および画像判定プログラム
JP2021039476A (ja) * 2019-09-02 2021-03-11 株式会社東芝 欠陥検査装置、欠陥検査方法、およびプログラム
JP7397404B2 (ja) 2020-02-07 2023-12-13 オムロン株式会社 画像処理装置、画像処理方法、及び画像処理プログラム

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108388876B (zh) * 2018-03-13 2022-04-22 腾讯科技(深圳)有限公司 一种图像识别方法、装置以及相关设备
CN109359678B (zh) * 2018-10-09 2022-08-30 四川轻化工大学 一种白酒图谱的高精度分类识别算法
FR3088123B1 (fr) * 2018-11-02 2020-10-23 Commissariat Energie Atomique Procede et dispositif de detection d'un arc electrique dans un systeme electrique
CN109544614B (zh) * 2018-11-26 2022-04-01 东南大学 一种基于图像低频信息相似度的匹配图像对识别的方法
US11064219B2 (en) * 2018-12-03 2021-07-13 Cloudinary Ltd. Image format, systems and methods of implementation thereof, and image processing
JP7263074B2 (ja) * 2019-03-22 2023-04-24 キヤノン株式会社 情報処理装置、及びその制御方法、プログラム、記憶媒体
CN115375609A (zh) * 2021-05-21 2022-11-22 泰连服务有限公司 自动零件检查系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009002743A (ja) * 2007-06-20 2009-01-08 Hitachi High-Technologies Corp 外観検査方法及びその装置および画像処理評価システム
JP2011007553A (ja) * 2009-06-24 2011-01-13 Hitachi High-Technologies Corp 欠陥検出方法及び装置
JP2015191334A (ja) * 2014-03-27 2015-11-02 キヤノン株式会社 情報処理装置、情報処理方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101295401A (zh) 2008-06-05 2008-10-29 上海交通大学 基于线性pca的红外点目标检测方法
JP2010198476A (ja) 2009-02-26 2010-09-09 Omron Corp 欠陥検出装置、欠陥検出方法および欠陥検出プログラム
JP5538967B2 (ja) * 2009-06-18 2014-07-02 キヤノン株式会社 情報処理装置、情報処理方法、プログラム
US9053393B2 (en) * 2010-03-19 2015-06-09 Canon Kabushiki Kaisha Learning method and apparatus for pattern recognition
EP2609853A4 (en) * 2010-08-27 2016-03-09 Sony Corp APPARATUS AND METHOD FOR IMAGE PROCESSING
KR101629165B1 (ko) * 2013-12-10 2016-06-21 삼성전자 주식회사 자기공명영상장치 및 그 제어방법
US9396409B2 (en) * 2014-09-29 2016-07-19 At&T Intellectual Property I, L.P. Object based image processing
US9984283B2 (en) * 2015-02-14 2018-05-29 The Trustees Of The University Of Pennsylvania Methods, systems, and computer readable media for automated detection of abnormalities in medical images
US10148680B1 (en) * 2015-06-15 2018-12-04 ThetaRay Ltd. System and method for anomaly detection in dynamically evolving data using hybrid decomposition
US11049004B1 (en) * 2015-11-15 2021-06-29 ThetaRay Ltd. System and method for anomaly detection in dynamically evolving data using random neural network decomposition
US10755395B2 (en) * 2015-11-27 2020-08-25 Canon Medical Systems Corporation Dynamic image denoising using a sparse representation
IL265205B (en) * 2016-09-06 2022-08-01 B G Negev Technologies And Applications Ltd At Ben Gurion Univ Extracting hyperspectral information from an image
US20180081855A1 (en) * 2016-09-21 2018-03-22 Scianta Analytics, LLC Cognitive modeling system including repeat processing elements and on-demand elements
US10496880B2 (en) * 2017-06-27 2019-12-03 Canon Kabushiki Kaisha Method and apparatus for comparing objects in images
US11138477B2 (en) * 2019-08-15 2021-10-05 Collibra Nv Classification of data using aggregated information from multiple classification modules

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009002743A (ja) * 2007-06-20 2009-01-08 Hitachi High-Technologies Corp 外観検査方法及びその装置および画像処理評価システム
JP2011007553A (ja) * 2009-06-24 2011-01-13 Hitachi High-Technologies Corp 欠陥検出方法及び装置
JP2015191334A (ja) * 2014-03-27 2015-11-02 キヤノン株式会社 情報処理装置、情報処理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DIEGO CARRERA, ET AL.: "Scale-invariant anomaly detection with multiscale group-sparse models", 2016 IEEE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING (ICIP), JPN6021004192, 2016, US, pages 3892 - 3896, XP033017232, ISSN: 0004566279, DOI: 10.1109/ICIP.2016.7533089 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020030565A (ja) * 2018-08-22 2020-02-27 株式会社Ye Digital 画像判定方法、画像判定装置および画像判定プログラム
JP7106391B2 (ja) 2018-08-22 2022-07-26 株式会社Ye Digital 画像判定方法、画像判定装置および画像判定プログラム
JP2021039476A (ja) * 2019-09-02 2021-03-11 株式会社東芝 欠陥検査装置、欠陥検査方法、およびプログラム
JP7170605B2 (ja) 2019-09-02 2022-11-14 株式会社東芝 欠陥検査装置、欠陥検査方法、およびプログラム
JP7397404B2 (ja) 2020-02-07 2023-12-13 オムロン株式会社 画像処理装置、画像処理方法、及び画像処理プログラム

Also Published As

Publication number Publication date
JP7058941B2 (ja) 2022-04-25
US20180204132A1 (en) 2018-07-19
CN108320024A (zh) 2018-07-24
CN108320024B (zh) 2022-05-31
US11521099B2 (en) 2022-12-06

Similar Documents

Publication Publication Date Title
JP7058941B2 (ja) 辞書生成装置、辞書生成方法、及びプログラム
CN109697434B (zh) 一种行为识别方法、装置和存储介质
CA3066029A1 (en) Image feature acquisition
US9152926B2 (en) Systems, methods, and media for updating a classifier
JP2017062713A (ja) 識別器作成装置、識別器作成方法、およびプログラム
CN112489092B (zh) 细粒度工业运动模态分类方法、存储介质、设备和装置
CN109344889B (zh) 脑疾病分类装置、用户终端和计算机可读存储介质
CN109919252B (zh) 利用少数标注图像生成分类器的方法
JP2015087903A (ja) 情報処理装置及び情報処理方法
US20200134382A1 (en) Neural network training utilizing specialized loss functions
CN108334805B (zh) 检测文档阅读顺序的方法和装置
CN110914864A (zh) 信息处理装置、信息处理程序和信息处理方法
JP2017102906A (ja) 情報処理装置、情報処理方法及びプログラム
CN112613349B (zh) 基于深度混合卷积神经网络的时序动作检测方法及装置
JP2020119154A (ja) 情報処理装置、情報処理方法、及びプログラム
CN114782997A (zh) 基于多损失注意力自适应网络的行人重识别方法及系统
Peng et al. Document image quality assessment using discriminative sparse representation
US10580127B2 (en) Model generation apparatus, evaluation apparatus, model generation method, evaluation method, and storage medium
CN116266387A (zh) 基于重参数化残差结构和坐标注意力机制的yolov4的图像识别算法及系统
EP3166022A1 (en) Method and apparatus for image search using sparsifying analysis operators
CN112597997A (zh) 感兴趣区域确定方法、图像内容识别方法及装置
KR102230559B1 (ko) 데이터 프로그래밍에 기반한 레이블링 모델 생성 방법 및 장치
US11715288B2 (en) Optical character recognition using specialized confidence functions
CN116246161A (zh) 领域知识引导下的遥感图像目标精细类型识别方法及装置
Santos et al. Understanding wafer patterns in semiconductor production with variational auto-encoders.

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191227

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210407

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210810

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211011

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220315

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220413

R151 Written notification of patent or utility model registration

Ref document number: 7058941

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151