JP2011008631A - 画像変換方法及び装置並びにパターン識別方法及び装置 - Google Patents

画像変換方法及び装置並びにパターン識別方法及び装置 Download PDF

Info

Publication number
JP2011008631A
JP2011008631A JP2009152870A JP2009152870A JP2011008631A JP 2011008631 A JP2011008631 A JP 2011008631A JP 2009152870 A JP2009152870 A JP 2009152870A JP 2009152870 A JP2009152870 A JP 2009152870A JP 2011008631 A JP2011008631 A JP 2011008631A
Authority
JP
Japan
Prior art keywords
class
classes
pattern
image
value
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
JP2009152870A
Other languages
English (en)
Other versions
JP5254893B2 (ja
JP2011008631A5 (ja
Inventor
Hirosuke Mitarai
裕輔 御手洗
Masakazu Matsugi
優和 真継
Katsuhiko Mori
克彦 森
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 JP2009152870A priority Critical patent/JP5254893B2/ja
Priority to US12/819,003 priority patent/US8340439B2/en
Publication of JP2011008631A publication Critical patent/JP2011008631A/ja
Publication of JP2011008631A5 publication Critical patent/JP2011008631A5/ja
Application granted granted Critical
Publication of JP5254893B2 publication Critical patent/JP5254893B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/28Quantising the image, e.g. histogram thresholding for discrimination between background and foreground patterns
    • 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/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2137Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on criteria of topology preservation, e.g. multidimensional scaling or self-organising maps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/54Extraction of image or video features relating to texture
    • 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/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

【課題】LBPやベクトル量子化等を用いた画像変換において、変換後の値が、変換元のパターンの違いを、ある程度低次元な値で且つ好ましく表現することを可能とする。
【解決手段】入力画像の画素値を変換して変換画像を生成する画像変換方法は、複数のクラスのそれぞれに分類された画素とその周囲の画素とからなる画素パターンのクラス間の相互関係を反映した値を、複数のクラスのそれぞれに対して変換値として設定し、入力画像から注目画素を順次に選択し、選択された注目画素およびその周囲の所定数の画素からなる画素パターンを、注目画素の値と当該注目画素に対して所定の相対位置にある周辺画素の値との関係に基づいて得られる近傍パターンに従って複数のクラスのいずれかに分類する。そして、注目画素の値を上記分類されたクラスに対して設定された変換値へ変換する。
【選択図】 図1

Description

本発明は、照明環境の違い等に起因する、画像の明るさやコントラストの変動にロバストな、画像変換方法及び装置、並びに、パターン識別方法及び装置に関する。
画像の明るさやコントラストの変動にロバストな画像変換方法として、例えば非特許文献1の、Local Binary Pattern(LBP)や、非特許文献2のCensus Transform(CT)が注目されている。これらは、基本的に、注目画素と近傍画素との輝度値の比較結果に基づいて、注目画素に対応する位置の値を、複数の数値列若しくはそれから算出される1つのスカラー値に変換する。また、これらの改良手法(非特許文献3参照)や、これらの変換手法を用いたパターン識別方法も提案されている(特許文献1、特許文献2を参照)。
CTの場合、この求めた数値列をそのまま変換値とする。LBPの場合は、この数値列を基に算出した1つのスカラー値を変換値としている。具体的な例を用いて説明する。図3は、LBPで用いる、注目画素を中心とした3×3画素の局所的な画像と、それらの輝度値を示したものである。LBPでは、まず変換対象となる画像から、ラスタスキャン的に、順次、注目画素を選択して、選択した注目画素における変換値を求める。
例えば、図3の(a)で、注目画素30aと8個の近傍画素31aから38aとの輝度値を比較し、それぞれの近傍画素の輝度値が注目画素より大きければ1、そうでなければ0として、単純に並べた値を求める。その結果は、“00000010”となる。LBPでは、これを、8ビットの数値と考え、“00000010”=2という値を、変換値とする。この際、比較する値の絶対的な差の大きさは考慮しないため、明るさ等の変動に対してロバストになる。しかし、この手法では、変換後の数値である“2”という数値は、単なるインデックスでしかなく“2”という値自体には特に意味が無い。
実際、図3の(b)は、図3の(a)のパターンを時計回りに90°回転させたパターンである。LBPでは、これらのパターンに対応する変換値は、(a)では2となり、(b)では128となり、値が大きく異なってしまう。つまり、LBPにおける変換後の値は、各パターンを記述するための記号でしかなく、例えば数値の差分等、数値間の演算に重要な意味がない。また、図3の(b)のパターンは、図3の(a)のパターンを少々変動させただけであるにも関わらず、変換後の値が64倍になってしまう。このように、LBPのような変換方法は、パターンの回転等の変動に対して、変換値が大きく変化することがあり、ロバスト性が低いと考えられる。
CTでは、8ビットの数値を8次元のベクトル値とするので、図3の(a)と(b)のパターンは、それぞれ“00000010”、“10000000”となる。この場合、図3の(a)、(b)の変換値間のユークリッド距離は√2となる。このようにCTでは、通常のLBPに比べると、変換後の数値や数値間の演算結果は意味があるものになる。
しかし、CTの場合、図3の(c)のようなパターンに対応する変換値(“00010000”)と、図3の(a)、(b)のパターンに対応する変換値とのユークリッド距離は√2となってしまう。つまり、図3の(a)から(c)の、3つのパターンに対応する変換値は、いずれの組み合わせでも、全て同程度の関係にあることになってしまう。特許文献2に記載されているような、変換後の画像を用いたパターン識別方法の観点からすれば、パターンが類似しているならば変換後の値も類似した値となり、パターンが類似していないならば変換後の値も離れた値になることが好ましいと考えられる。(a)のパターンから見ると、(b)のパターンは時計回りに90°、(c)のパターンは反時計回りに135°回転させたパターンである。つまり、(c)のパターンは(b)のパターンに比べ、(a)のパターンからの変動が大きい。そのため、(a)のパターンに対応する変換値に対して、(c)のパターンに対応する変換値は、(b)のパターンに対応する変換値より離れている関係が好ましいと考えられる。
また、CTの場合、注目画素に対応する変換後の値が高次元であるため、変換後の画像を用いたパターン識別で、“次元の呪い”と呼ばれる問題が発生する可能性が高くなる。
つまり、LBPやCTは、明るさ等の変動に対してロバストではあるが、変換後の値に数値としての意味があまり無いか変換値の次元が高くなってしまい、その変換元となるパターンの違いを好ましく反映できなかった。
また、LBPやCTは、広義に捉えると、ベクトル量子化の一種と考えることができる。ベクトル量子化は、非特許文献4のように、パターン識別の分野で用いられることもある。
非特許文献4に記載された技術では、ベクトル量子化後の代表ベクトルにマッチしたベクトルの度数ヒストグラムを用いてパターン識別が行われる。この技術では、2つのパターンに対応するインデックス同士の差分等、インデックスを数値として扱った場合の数値間の演算からは、LBPと同様に、あまり意味のある演算結果は得られない。
また、ベクトル量子化を用いた方法では、マッチした代表ベクトルそのものを変換後の値として用いることもできる。しかしこの場合は、CTと同様に、変換後の値が比較的高次元(変換元のパターンと同じ次元)のベクトル値になってしまう。
(非特許文献5〜20は、「発明を実施するための最良の形態」において引用されている)
特開2007−188504号広報 特開2007−241418号広報
T. Ojala, M. Pietikainen, D. Harwood, "A Comparative Study of Texture Measures with Classification Based on Feature Distributions", Pattern Recognition, Vol.29, pp. 51-59, 1996 R. Zabih, J. Woodfill, "A Non-parametric Approach to Visual Correspondence", IEEE Transactions on Pattern Analysis and Machine Intelligence,1996 S. Marcel, Y. Rodriguez, G. Heusch, "On the Recent Use of Local Binary Patterns for Face Authentication", International Journal on Image and Video Processing Special Issue on Facial Image Processing, 2007 Koji Kotani, Chen Qiu, Tadahiro Ohmi, "Face Recognition Using Vector Quantization Histogram Method", International Conference on Image Processing, Vol.2, pp. II-105-II-108, 2002 J.C. Gower, "Some Distance Properties of Latent Root and Vector Methods used in Multivariate Analysis", Biometrika, Vol.53, pp. 325-338, 1966 Robert W. Floyd, "Algorithm 97:Shortest Path", Communications of the ACM, Vol. 5, Issue 6, p.345, 1966 H. Jin, Q. Liu, H. Lu, X. Tong, "Face Detection Using Improved LBP under Bayesian Framework", International Conference on Image and Graphics, pp. 306-309,2004 T. Maenpaa, M. Pietikainen,T.Ojala, "Texture Classification by Multi-Predicate Local Binary Pattern Operators", International Conference of Pattern Recognition, Vol. 3, pp. 951-954,2000 T. Ojala, M. Pietikainen, T. Maenpaa, "Multiresolution Gray-scale and Rotation Invariant Texture Classification with Local Binary Patterns", IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 24, pp. 971-987,2002 Joshua B. Tenenbaum, Vin de Silva, John C. Langford, "A Global Geometric Framework for Nonlinear Dimensionality Reduction", Science, Vol. 290,pp. 2319-2323, 2000 Teuvo Kohonen, "The Self-Organizing Map", Proceedings of The IEEE, Vol. 789, No. 9,pp. 1464-1480, 1990 前田 賢一, 渡辺 貞一, "局所的構造を導入したパターン・マッチング法", 電子情報通信学会誌(D), Vol. J68-D, No. 3,pp.345-352, 1985 George Arfken, Hans Weber, "Gram-Schmidt Orthogonalization", Mathematical Methods for Physicists, 6th Edition, Academic Press,pp.642-648, 2005 Michael. J. Swain, Dana.H.Ballard,"Color Indexing", International Journal of Computer Vision, Vol. 7, No. 1, pp.11-32, 1991 Yossi Rubner, Carlo Tomasi, Leonidas J. Guibas, "The Earth Mover’s Distance as a Metric for Image Retrieval", International Journal of Computer Vision, Vol. 40,No. 2, pp. 99-121, 2000 Stuart P. Lloyd, "Least Squares Quantization in PCM", IEEE Transactions on Information Theory, IT-2, pp. 129-137, 1982 Jianbo Shi, Jitendra Malik, "Normalized Cuts and Image Segmentation", IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 22, No. 8,pp.888-905, 2000 Sam T. Roweis, Lawrence K. Saul, "Nonlinear Dimensionality Reduction by Locally Linear Embedding", Science, Vol. 290, pp. 2323-2326, 2000 XiaofeiHe, Partha Niyogi, "Locality Preserving Projections", Advances in Neural Information Processing Systems, Vol. 16, pp. 585-591, 2003 Guoying Zhao, Matti Pietikainen, "Dynamic Texture Recognition Using Volume Local Binary Patterns with an Application to Facial Expressions", IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 29, No. 6, pp.915-928, 2007
上述のように、明るさ等の変動にロバストなパターン識別を実現するため、明るさ等の変動に対してロバストである有効性を残しつつ、変換後の値が変換元のパターンの違いを、ある程度低次元の値で好ましく表現可能である画像変換方法が望まれている。
本発明は、このような課題に鑑みなされたものであり、LBPやベクトル量子化等を用いた画像変換において、変換後の値が、変換元のパターンの違いを、ある程度低次元な値で好ましく表現可能とすることを目的とする。
上記の目的を達成するための本発明の一態様による画像変換方法は、
複数のクラスのそれぞれに分類された画素とその周囲の画素とからなる画素パターンのクラス間の相互関係を反映した値を、前記複数のクラスのそれぞれに対して変換値として設定する設定工程と、
前記入力画像から注目画素を順次選択する選択工程と、
選択された前記注目画素を、前記注目画素の値と前記注目画素に対して所定の相対位置にある周辺画素の値との関係に基づいて得られる近傍パターンに従って前記複数のクラスのいずれかに分類する分類工程と、
前記分類工程で前記注目画素が分類されたクラスに設定されている変換値に前記注目画素の値を変換する変換工程とを有する。
本発明によれば、LBPやベクトル量子化等を用いた画像変換において、変換後の値が、変換元のパターンの違いをある程度低次元な値で好ましく表現することが可能となる。
第1実施形態における画像変換方法の処理ブロックを示す図。 第5実施形態における画像変換方法の処理ブロックを示す図。 変換値を求めるために用いる、注目画素を中心とした3×3画素の局所的な画像例を示す図。 第1実施形態における画像変換方法の処理を示すフローチャート。 第1実施形態におけるパターン識別方法の処理ブロックを示す図。 第1実施形態におけるパターン識別方法の処理を示すフローチャート。 第1実施形態における、各クラス間の相互関係に基づいて、各クラスに対応する変換値を求める方法の処理ブロックを示す図。 第1実施形態における、各クラス間の相互関係に基づいて、各クラスに対応する変換値を求める方法の処理を示すフローチャート。 第5実施形態における、各クラスに対応する変換値を求める方法の処理ブロックを示す図。 第5実施形態における、代表ベクトル、及び、代表ベクトルに対応する各クラス間の相互関係に基づいて、各クラスに対応する変換値を求める方法の処理を示すフローチャート。 注目画素と、その近傍4領域の位置を示す図。 任意方向の1次の輝度勾配変動成分及び2つの基底パターンを示す図。 第3実施形態における、各クラス間の相互関係に基づいて、各クラスに対応する変換値を求める方法の処理ブロックを示す図。 第3実施形態における、各クラス間の相互関係に基づいて、各クラスに対応する変換値を求める方法の処理を示すフローチャート。 第4実施形態における画像変換方法の処理ブロックを示す図。 第4実施形態における画像変換方法の処理を示すフローチャート。 第4実施形態における、各クラスに対応するインデックスを求める方法の処理ブロックを示す図。 第4実施形態における、各クラスに対応するインデックスを求める方法の処理を示すフローチャート。 第4実施形態における、SOM生成処理を示すフローチャート。 第4実施形態における、クラス対応インデックス決定処理を示すフローチャート。 第4実施形態で生成されたSOMの簡易な例を示す図。 第4実施形態におけるパターン識別方法の処理ブロックを示す図。 第4実施形態におけるパターン識別処理を示すフローチャート。 第4実施形態における、2次元ヒストグラムに対して畳み込む空間フィルタを示す図。
以下、添付図面を参照しながら、本発明の実施形態を説明する。
(第1実施形態)
まず、第1実施形態の概要を説明する。図1、図4に示される本実施形態の画像変換方法では、まず、画像入力部10により、入力画像の注目画素を順次選択する(ステップ40、41)。そして、近傍パターン抽出部12により、選択された注目画素の位置に対して所定の相対位置にある周辺画素の値に基づいて近傍パターンを取得する(ステップ42)。上記の周辺画素としては、図3に示されるような注目画素を中心とした3×3画素パターンの周囲の8画素を用いることができる。
次に、クラス分類処理部13は、予め定義された複数のクラスのいずれかに上記近傍パターンを分類する(ステップ43)。第1実施形態では、選択した注目画素と上記周辺画素との、画素値の大小比較結果に基づいてクラス分類がなされる。詳細は後述する。
続いて、変換値割り当て部14は、複数のクラス間の相互関係に基づいて、複数のクラスのそれぞれに対してあらかじめ定められた値を参照し、注目画素の値を、先に分類されたクラスに対して定められた値へ変換する(ステップ44)。ここで、複数のクラス間の相互関係に対応してそれら複数のクラスの各々に変換値が登録されているクラス対応変換値データベース15が参照される。。そのような変換値は、複数のクラス間の距離、または類似度である。第1実施形態では、各クラスに分類された注目画素とその周囲における所定数の画素からなる画素値のパターンに基づいて得られる、クラス間の距離または類似度である。詳細は後述する。
以下、本発明の第1実施形態として、人物の顔を切り出したグレースケール画像を入力し、明るさ等の変動に対してロバストに変換する方法の例を示す。そして、変換後の画像が何れの人物の顔画像であるかを識別するパターン識別方法の例も示す。
図1に、第1実施形態における、画像変換方法の処理ブロック図を示す。また、図4は、第1実施形態における、画像変換方法の処理フローを示した図である。
まず、画像入力部10において、縦横20×20画素の、人物の顔を切り出したグレースケール画像(以下、単に入力画像とする)を入力する(ステップ40)。
次に、注目画素選択部11において、入力画像の左上から、ラスタスキャン的に、順次、注目画素を選択していく。ただし、後の近傍画素選択部12で注目画素の8近傍の画素値を用いるため、注目画素には8近傍の画素が存在する必要があるため、入力画像の上下左右の端、1画素分を除いた場所から、順次、注目画素を選択していく(ステップ41)。
続いて、近傍パターン抽出部12では、注目画素選択部11で選択した注目画素を中心とする、3×3画素のパターンを抽出する(ステップ42)。
次に、クラス分類処理部13において、抽出した3×3画素のパターンに対し、まず、LBPやCTと同じ基準で、注目画素と8近傍の各画素との比較を行い、8個の{0、1}からなる数値列を求める。8個の{0、1}からなる256種類の数値列のパターンそれぞれを1つのクラスと定義する。そして、求めた数値列に対応するクラスに、抽出した3×3画素のパターンを分類する。ここでLBPと同様に、数値列を8ビットの数値とみなして10進数に変換し、それをクラスの番号として表記する。つまり、このクラス分類処理部13では、近傍パターン抽出部12で抽出した3×3画素のパターンが、クラス0からクラス255までのいずれかに分類される(ステップ43)。
ここまでは、LBPやCTと同様であるが、次の、変換値割り当て部14での処理が、LBPやCTとは異なる。本実施形態では、変換値割り当て部14で、クラス対応変換値データベース15を参照し、クラス分類処理部13で分類されたクラスに対応する値を読み出して、その値を注目画素選択部11で選択した注目画素に対応する変換値とする(ステップ44)。ここで参照する、クラス対応変換値データベース15は、各クラスに対応する変換値として、クラスごとに、2つの数値からなる2次元のベクトル値が記録されている。この2次元ベクトル値は、予め、各クラス間の相互関係に基づいて定めた値である。この2次元ベクトル値の定め方については、後に詳細に説明する。
変換値割り当て部14において求めた変換値を、注目画素選択部11で選択した注目画素に対応する変換値として、変換画像保持部16に保持する(ステップ45)。
上記処理により、注目画素選択部11で選択した注目画素に対して、2次元ベクトル値である変換値が変換画像保持部16に記録される。このような変換値を18×18画素分求める。そのため、選択していない画素があるならば、注目画素選択処理に戻り、全画素を処理したならば次の処理に進む(ステップ46)。
18×18画素の全てについて、変換値を記録したら、変換画像出力部17で、変換画像保持部16に記録されている結果を外部に出力する(ステップ47)。これにより画像変換処理が終了となる。上記処理により、それぞれの注目画素に対して得られた2次元のベクトル値を、18×18画素分並べた画像を外部に出力する。
次に、各クラスに対応する変換値の求め方について説明する。本実施形態では、予め用意したクラス別パターンサンプル群に対してクラスター分析を適用することにより、複数のクラス間のクラスター距離またはクラスター間の類似度を、クラス間の距離または類似度として得る。図7に、本実施形態における、各クラスに対応する変換値を求めるための処理ブロック図を示す。また、図8に、この変換値を求める方法の処理フローを示す。
まず、画像入力部70において、顔画像データベース75に保持されている多数の画像の中から、1枚の画像を選択して入力する。ここで、顔画像データベース75は、縦横20×20画素の、様々な人物について顔を切り出したグレースケール画像を多数保持したものである。この顔画像データベース75に保持されている顔画像は、凡そ、同程度のサイズ、回転角度に正規化しておき、画像の明るさや、コントラストについても、同程度の条件にしておくことが好ましい。特に、画像の明るさやコントラストに関しては、後述のクラスター分析処理部77での処理に影響を与えるため、正規化を行っておく方が良い。本実施形態では、両目間の幅や、両目を結ぶ線分の傾き、画像の輝度平均値・標準偏差を元に正規化した2000枚(約200人分:1人につき8〜12枚程度)の顔画像を用いる。画像入力部70では、この2000枚の顔画像から1枚ずつ選択して入力していく。入力順は、例えば、画像に付けたインデックス順等で良い(ステップ80)。
次の、注目画素選択部71、近傍パターン抽出部72、クラス分類処理部73は、図1の注目画素選択部11、近傍パターン抽出部12、クラス分類処理部13と同等の処理部であるので処理の説明は省略する(ステップ81〜83)。
続いて、クラス別パターン記録部74において、クラス分類結果に基づいて、抽出した3×3画素パターンを、それぞれの画素値を左上からラスタスキャン的に並べた9個の数値として、クラス別パターン群データベース76に記録する(ステップ84)。
上記ステップ81〜84までの処理を、入力した1枚の画像に対し、注目画素として選択すべき18×18画素分実行する。そのため、選択していない画素があるならば、注目画素選択処理に戻り、全画素の処理を行ったならば次の処理に進む(ステップ85)。
上記処理により、1枚の画像につき、18×18個分の3×3画素のパターンが、クラス別パターン群データベース76の、それぞれのパターンが分類されたクラスに対応するパターン群に記録される。このような処理を、顔画像データベース75に保持された全ての画像に対して実行する。そのため、まだ未入力の画像があるならば、画像入力処理に戻り、全ての画像を処理したならば、次の、クラスター分析処理に進む(ステップ86)。
ここまでで、クラス別パターン群データベース76に、多数の3×3画素のパターンが、各自のパターンに対応するクラス別に記録される。このとき、もしあるクラスに1つもパターンが記録されなかった場合は、次のクラスター分析処理に支障をきたす。そこで、顔画像データベース75に画像を追加して、上記の処理を、全てのクラスに少なくとも1つのパターンが記録されるようになるまで続ければ良い。
続いて、クラスター分析処理部77において、ここまでの処理により、クラス別パターン群データベース76に記録した多数のパターンを用いて、各クラス間のクラスター距離を求める。本実施形態では、群平均法を用いてクラスター距離を求める。
より具体的には、例えば、クラスiとクラスj(i≠j)のクラスター距離は、以下のような手順により求まる。まず、クラスiパターン群76−iとクラスjパターン群76−jとのそれぞれに記録されている全ての3×3画素のパターンの全ての組み合わせの距離を求める。ここで求める各パターン間の距離は、どのような距離尺度でも構わないが、本実施形態では、ユークリッド距離を用いる。そして、求めた距離の平均を求め、これをクラスiとクラスj間のクラスター距離とする。クラスター分析処理部77では、このようなクラスター距離を、全てのクラスの組み合わせに対して求める(ステップ87)。
本実施形態のクラス数は256個であるので、256×255/2=32,640個分のクラスター距離を求めることになる。この処理は非常に計算時間がかかるが、予めオフラインで計算しておくことができる。すなわち、各クラスへの変換値の設定は、画像変換に先立って行われるので、変換の際には問題にならない。また、クラスター距離を求める方法は群平均法に限るものではなく、例えば、最短距離法や、最長距離法、重心法、メディアン法、可変法、ウォード法等のクラスター距離尺度を用いても構わない。
次に、MDS処理部78において、各クラス間のクラスター距離を用い、所定次元のターゲット空間に、各クラスに対応する点をマッピングする(ステップ88)。この各クラスに対応する点は、ターゲット空間における各点間のユークリッド距離が、クラス間のクラスター距離をできるだけ保存するような点である。これは、各クラス間の相互関係(本実施形態では、クラス間の距離)をできるだけ保存するような変換値を求めるための処理であり、各クラスに対応する点の位置座標が、各クラスに対応する変換値となる。本実施形態では、このような点を求める手法として、多次元尺度構成法(MDS)を用いる(MDSについては、非特許文献5を参照)。
ターゲット空間の次元は、最大でもクラス数−1、つまり、本実施形態では255次元である(各クラス間のクラスター距離の状況によっては、255次元以下になる場合もある)。このターゲット空間の次元を高くする方が、より高精度でクラス間のクラスター距離を保存できる。しかし、ターゲット空間の次元をあまり高くすると、変換後の値の次元が高くなってしまい、後のパターン識別処理において、いわゆる次元の呪いが発生する可能性が高くなる。そのため、このターゲット空間の次元は、ある程度、低い次元が好ましく、本実施形態では2次元とするが、この次元数は1次元以上であればよい。最も好適には、いわゆるCross Validationを用いて決定するのが好ましい。
このMDS処理部78での処理により、256種類のクラスそれぞれに対応する、ターゲット空間上での位置座標が得られる。本実施形態では、ターゲット空間の次元数を2としているので、この位置座標は2つの数値で表される。このクラスごとの、2つの数値からなる位置座標こそが、各クラス間の相互関係に基づいて定めておいた、各クラスに対応する2次元ベクトル値の変換値である。このMDSの処理は、比較的、計算コストが高いが予めオフラインで処理しておけば良い。そして、実際の画像変換時には、予め求めておいた値を参照すれば良いので、画像変換時の計算コストは低く抑えることができる。
最後に、クラス対応数値出力部79において、MDS処理部78で求めた各クラスに対応する2次元の座標値を外部に出力する(ステップ89)。ここで出力した各クラスに対応する2次元座標値が、クラス対応変換値データベース15に保持され、画像変換の際に、変換値割り当て部14から参照され、各クラスに対応する変換値として用いられる。
以上のように、クラス別パターンデータベース76にはクラス別パターンサンプル群が予め用意されており、複数のクラス間の相互関係に基づき定められた変換値は、複数のクラス間の距離、または、類似度を、できるだけ保存するように定められる。ここで、変換値としては、スカラー値或いはベクトル値が用いられ得る。
このように、本実施形態では、各クラスの生成元となるパターン群間の距離(各クラス間の相互関係)に基づいて、各クラスに対応する変換値を決定し、それを変換に用いる。これにより、例えば、変換後の値が類似していれば、パターンが類似している等、変換元のパターンの違いを、ある程度低次元の値で好ましく表現可能な画像変換が可能となる。
次に、上記画像変換方法を用いて、縦横20×20画素の、人物の顔を切り出したグレースケール画像を変換し、その変換後の画像を用いて、それが何れの人物の顔画像であるかを識別する、パターン識別方法の例を示す。
図5に、第1実施形態における、パターン識別方法の処理ブロック図を示す。また、図6は、第1実施形態における、パターン識別方法の処理フローを示した図である。
まず、画像入力部50において、縦横20×20画素の、人物の顔を切り出したグレースケール画像(以下、簡単に、入力画像とする)を入力する(ステップ60)。
次に、画像変換部51で、入力画像を、本実施形態における画像変換方法により変換する。この変換により、先にも述べたように、18×18画素のそれぞれについて、2個の数値からなる2次元ベクトル値の変換値が得られることになる。即ち、18×18画素のそれぞれの画素値が、変換値に置換された変換画像が取得される(ステップ61)。前述のように、この画像変換部51では、先に述べたMDSの処理のように、計算コストの高い処理を行う必要が無いため、比較的、低い計算コストで処理することが可能である。
続いて、次元削減処理部52において、画像変換部51で変換した結果の次元を削減する(ステップ62)。画像変換部51の変換結果は、18×18画素のそれぞれについて、2個の数値を変換値として持っている。そこで、これを18×18×2=648次元のベクトルとみなす。このように次元が高いベクトルをそのまま用いて、パターン識別処理を行うと、良い性能を実現できないことが多いので、この次元を削減することが望ましい。本実施形態では、主成分分析(PCA)を用いた次元削減を行う。
PCAを用いた次元削減では、予め、様々な人物の顔を切り出した、多数のグレースケール画像を、画像変換部51で変換して用意し、これに対してPCAを行った結果を利用して、次元削減を行う。PCAを行うことにより、複数の固有値と、固有ベクトルが得られるので、固有値を大きい順に所定個数分選択し、各固有値に対応する固有ベクトルに、先の648次元のベクトルを射影して次元削減したベクトルとする。
本実施形態では、所定個数を20個とする。次元削減処理部52では、先の648次元のベクトルを、これら20個の固有ベクトルに対して射影して、その射影値を要素とするベクトルに変換するので、648次元から20次元に削減される。このような固有ベクトルは、予め求めて記録しておくことができるので、実際の処理では、記録した固有ベクトルを参照することにより、次元削減を実現すればよい。本実施形態では、PCAを用いた次元削減を行うが、例えば、独立成分分析や、カーネル非線形主成分分析等を用いて次元削減しても構わない。また、何次元まで次元圧縮するかも、20次元に限るものではなく、Cross Validationを用いて決めても構わない。
次の最近傍探索部53では、登録データベース54に保持された登録者のデータの内、次元削減されたデータに最も近いデータとの距離を求める。登録データベース54に保持された登録者のデータは、予め、登録する人物1人につき、少なくとも1枚の、その人物の顔を切り出したグレースケール画像に対して、画像入力部50から次元削減処理部52までの処理を実行したデータである。登録データベース54には、各登録人物に対応する少なくとも1つの20次元のベクトルのそれぞれに対して、その人物のラベルが記録されている。
最近傍探索部53での処理では、まず、登録データベース54から、記録されている20次元のベクトルを、1つずつ順番に選択する(ステップ630)。次いで、選択した20次元のベクトルと、上記手法で入力画像を処理して求めた20次元のベクトルとのユークリッド距離を算出する(ステップ631)。そして、求めたユークリッド距離が、今までに求めたユークリッド距離より小さいならば、求めたユークリッド距離と、その時選択した20次元のベクトルに対応する、それがどの人物であるのかのラベルを更新する(ステップ632)。これらの処理を、登録データベース54の全データについて行う。そのため、ステップ630において選択していない登録データがあるならば、ステップ630に戻り、全ての登録データを選択して処理を行ったならば次の処理に進む(ステップ634)。こうして、ユークリッド距離が最小となったときのラベル(人物)が得られる。
最後に、識別結果出力部55において、最近傍探索部53での処理結果に基づいて、入力画像がいずれの人物の画像であるのかを出力する(ステップ64)。ここでは、最近傍探索部53で得られた、最もユークリッド距離が小さかったデータに対応するラベルと、その距離に基づいて、最終的な判定を行い、その結果を識別結果として外部に出力する。具体的には、この最小であったユークリッド距離が、所定の閾値以内であった場合は、入力画像が、対応するラベルに該当する人物であるという識別結果を出力する。もし、この最小であった距離が、所定の閾値以上であった場合は、登録されている人物のいずれでもないという結果を出力する。ここでの所定の閾値は、未登録の人物の画像を登録されている人物だと誤って判定する割合と、逆に、登録されている人物の画像を未登録の人物だと誤って判定する割合が、所望のバランスになるように、実験的に決めてやればよい。
上記画像入力部50から識別結果出力部55までの処理により、本実施形態の画像変換方法を用いて、人物の顔を切り出したグレースケール画像を変換し、変換後の画像が何れの人物の顔画像であるかを識別可能になる。このようにすると、予め、明るさ等の変動にロバストな変換(LBPと同様に、明るさとコントラストの変動には不変)を行っておくことができる。そのため、本実施形態の画像変換方法で変換した画像について識別処理を行うようにすれば、入力画像に明るさ等の変動があった場合でも、その変動に対してロバストに、それが何れの人物の顔画像であるか識別可能になる。また、本実施形態の画像変換方法を用いることにより、変換元となる3×3画素のパターンが類似していれば、変換後の値が凡そ類似した値になる。そのため、入力画像のサイズが少々変動しているといった、明るさやコントラスト以外の変動に対しても、ロバストに認識可能になる。
本実施形態のパターン識別方法では、PCAによる次元削減と、いわゆる最近傍法によるパターン識別を行う例を示したが、ニューラルネットワークや、SVMを用いて、パターン識別を行うようにしても構わない。
以上、第1実施形態では、人物の顔を切り出したグレースケール画像を明るさ等の変動に対してロバストに変換する方法の例を説明した。また、その変換方法を用いて変換した後の画像が何れの人物の顔画像であるかを識別する、パターン識別方法の例を説明した。
以上のように、本実施形態の画像変換方法では、まず、選択された注目画素の位置に対して所定の相対位置にある画素値のパターンに基づき、このパターンを複数のクラスの1つに分類する。そして、これら複数のクラスそれぞれに対して、複数のクラス間の相互関係に基づき予め定めておいた値を参照し、分類されたクラスに対応する値を注目画素の変換値とすることで、入力した画像の変換を行う。これにより、変換後の値が、変換元のパターンの違いを、ある程度低次元の値で好ましく表現可能な画像変換が可能となる。
また、このような画像変換方法を用いたパターン識別方法では、変換後の値が、変換元のパターンの違いを、ある程度低次元の値で好ましく表現可能であるため、パターン識別性能が向上する可能性が高くなる。
(第2実施形態)
第2実施形態では、第1実施形態で用いた、各クラスに対応した変換値の求め方を変形した場合の例を示す。
上記複数のクラス間の相互関係として、各クラスに対して設定された代表パターンの間の距離または類似度を用いることができる。例えば、上述した大小比較結果に基づく8個の0または1の数値列を各クラスの代表パターンとし、それらの距離または類似度を用いることができる。以下では、大小比較の結果を示す数値列を用いた場合が説明される。
第1実施形態では、各クラスの生成元となる3×3画素のパターン群間の距離ができるだけ保存されるような数値を、各クラスに対応する変換値として用いた。これに対し、本実施形態では、各クラスの生成元となる画素値のパターンを用いた統計的な処理ではなく、256個のクラスのパターンに対しダイレクトに距離を定義する。そして、定義された距離が、できるだけ保存されるような数値を、各クラスに対応する変換値として用いる。本実施形態は、第1実施形態と、各クラス間の距離を求める部分が異なるのみであるので、第1実施形態と同様の部分は説明を省略する。
本実施形態の画像変換方法における処理部の構成は、第1実施形態(図1)に示したものと同様であり、処理のフローも第1実施形態(図4)に示したものと同様である。本実施形態では、変換値割り当て部14において、クラス対応変換値データベース15から読み出してくる、各クラスに対応した変換値のみが異なる。
本実施形態での、各クラスに対応する変換値の求め方について説明する。
まず、全256個の、各クラスに対応する8個の{0、1}からなるパターンを用い、各クラス間の距離を算出する。この各クラスに対応する8個の{0、1}のパターンは、第1実施形態で示したものと同様である。このパターンのような、ビット列間の距離として、ハミング距離を用いた場合、図3の(a)から(c)までに示したような、3つのパターン間の距離が、全て同一の2となってしまう。先にも述べたように、図3の(a)のパターンから見ると、図3の(c)のパターンとの関係は、図3の(b)のパターンとの関係より離れているのが好ましいと考えられる。そこで本実施形態では、通常のハミング距離を、ビットの空間的な配置関係を反映できるように改造した改造ハミング距離を用い、8個の{0、1}からなるパターン間、即ち、クラス間の距離を算出する。
ここで、改造ハミング距離について説明する。通常のハミング距離では、対応する位置のビットが同一でなければ、距離を1増加させるのに対して、改造ハミング距離では、対応する位置のビットが同一でない場合、以下のような手順で距離を増加させる。
2つのパターンの一方から見たときに、相手のパターンの隣接する位置のビットが同一なら距離を0.125増加させる。ここで、1番左の数値と1番右の数値は連結されていると考える。隣接する位置にも同一のビットが無い場合は、相手のパターンの更にもうひとつ隣の位置のビットが同一ならば、距離を0.25増加させる。もし、もう1つ隣の位置にも同一のビットが無ければ、距離を0.5増加させる。これを、2つのパターンそれぞれにおいて、8個のビット全てに対して行い、距離の総和を改造ハミング距離とする。
以下、図3の(a)に示したパターンに対応する、クラス2のパターン“00000010”と、図3の(b)に示したパターンに対応するクラス128のパターン“10000000”とを例として説明する。まず、2つのパターンを比較すると、1番左のビットと、右から2番目のビットが異なるので、これらについて距離の算出を行う。これら2つ以外の位置のビットは同一であるので、それらに対応する距離は0となる。
最初に、1番左の位置のビットについて説明する。まず、クラス2のパターンからクラス128のパターンを見ると、1番左の位置に隣接する位置(左から2番目、1番右の位置)に、クラス2の1番左の位置のビットと同じ“0”が存在するため、距離を0.125増加させる。次に、クラス128のパターンからクラス2のパターンを見た場合、1番左の位置に隣接する位置(左から2番目、1番右の位置)には、クラス128の1番左の位置のビットと同じ“1”は存在しない。そこで、クラス2のもう1つ隣の位置(左から3番目、右から2番目の位置)を見ると、右から2番目の位置に、クラス128の1番左の位置のビットと同じ“1”が存在する。そのため距離を0.25増加させ、ここまでの距離の総和は0.375となる。これで、1番左の位置のビットについての距離算出は終了である。次いで、右から2番目の位置についても同様に計算し、クラス2のパターンからクラス128のパターンを見た場合、2つ離れた位置に同一のビット“1”があるので、距離を0.25増加させる。また、クラス128のパターンからクラス2のパターンを見た場合は、隣接した位置に同一のビット“0”があるので、距離は0.125増加させる。この結果、距離の総和は0.75となり、これが改造ハミング距離となる。
本実施形態で用いる改造ハミング距離では、同じ位置のビットが異なるとしても、その付近のビットの状態を考慮して距離を求めるため、通常のハミング距離と比べ、ビットの位置の変動量を反映したような距離を求めることができる。この改造ハミング距離を用い、各クラスに対応する8個の{0、1}からなるパターンを用い、各クラス間の距離を算出する。本実施形態のクラス数も、第1実施形態と同様、256個であるので、256×255/2=32,640個分のクラス間距離を求めることになる。
続いて、各クラス間の改造ハミング距離を、非特許文献6に記載のFloyd−Warshall法を用いて修正する。
なお、上記の改造ハミング距離は、距離の公理の内、三角不等式を満たさない場合がある。三角不等式を満たさなくても、大きな問題は生じないが、本実施形態では、各クラス間の距離が三角不等式を満たすように、Floyd−Warshall法を用い、求めたクラス間距離を修正する。
まず、上記改造ハミング距離が、三角不等式を満たさないような具体的な例として、クラス1、クラス2、及びクラス6の改造ハミング距離の関係について示す。ここで、クラスiとクラスj間の改造ハミング距離をdrh(i、j)と表記することにする。まず、クラス1に対応するパターンが“00000001”であり、クラス6に対応するパターンが“00000110”である。したがって、クラス1とクラス6の改造ハミング距離drh(1、6)は、前述の改造ハミング距離計算方法に基づくと、drh(1、6)=0.875となる。同様に、クラス1とクラス2の改造ハミング距離drh(1、2)は0.5で、クラス2とクラス6の改造ハミング距離drh(2、6)は0.25である。このため、この3つのクラスの距離関係を見ると、drh(1、6)=0.875>drh(1、2)+drh(2、6)=0.5+0.25=0.75となり、三角不等式drh(1、6)≦drh(1、2)+drh(2、6)を満たさないことがわかる。
そこで、上記のような状況の場合に、drh(1、6)=drh(1、2)+drh(2、6)=0.75というように距離を更新する。つまり、クラス1からクラス6までの距離を、クラス1からクラス2を経由してクラス6へ至るという距離に更新する。このような処理は、クラスiとクラスjの改造ハミング距離drh(i、j)を、i行j列の要素とする改造ハミング距離行列Drhに対して、Floyd−Warshall法を適用することにより実現できる。改造ハミング距離行列Drhの各要素には、クラス間改造ハミング距離として求めたものを用いれば良い。同クラス間の距離drh(k、k)は求めていないが、改造ハミング距離の定義からも、当然drh(k、k)=0である。また、drh(i、j)=drh(j、i)であり、クラス数は全部で256個であるので、改造ハミング距離行列Drhは、対角要素が全て0で、その他の要素は全て正の実数である、256次の対称行列である。上記改造ハミング距離行列Drhに対してFloyd−Warshall法を適用し、修正改造ハミング距離行列D’rhを求める処理を行う。
次に、修正改造ハミング距離行列D’rhを用い、この距離関係をできるだけ保存するように、所定次元のターゲット空間に、各クラスに対応する点をマッピングする。この処理は、第1実施形態におけるMDS処理部78での処理と同様であり、第1実施形態でクラスター距離を用いた部分に、上記修正改造ハミング距離を用いる点で異なるのみであるので、詳細は省略する。
これにより、256種類のクラスそれぞれに対応する、ターゲット空間上での位置座標が得られる。この位置座標が、第1実施形態と同様に、各クラス間の相互関係に基づいて定めておいた、各クラスに対応する2次元ベクトル値の変換値である。
最後に、求めた各クラスに対応する2次元の座標値を外部に出力する。ここで出力した各クラスに対応する2次元座標値が、第1実施形態同様、クラス対応変換値データベース15に保持され、画像変換の際に、各クラスに対応する変換値として用いられる。
このように、本実施形態では、各クラスを代表するパターンとして近傍パターンを用い、近傍パターン間の距離を定義し、その距離関係に基づいて、各クラスに対応する変換値を決定する。これにより、変換後の値が類似していれば、変換元のパターンが分類されたクラスが類似していることになり、変換元のパターンの違いを、ある程度低次元の値で好ましく表現可能な画像変換が可能となる。また、本実施形態では、改造ハミング距離を用いて、クラス間の距離を定義したが、例えば単純にハミング距離を使う等、その他の方法を用いて、クラス間の距離を定義しても良い。
以上、第2実施形態として、第1実施形態で用いた、各クラスに対応した変換値の求め方を変形した例を説明した。なお、本実施形態の画像変換方法も、変換後の画像に対して、第1実施形態と同様にパターン識別へ適用可能である。
(第3実施形態)
第3実施形態では、第1実施形態における各処理部での処理の内容を変形した場合の例を示す。また、第1実施形態と同様に、変換後の画像が何れの人物の顔画像であるかを識別する、パターン識別方法の例も合わせて示す。
本実施形態の処理部の構成は、図1に示した、第1実施形態の構成と同様であり、処理のフローも、図4に示したものと同様である。ただし、各処理部における処理の内容が、多少異なる。そこで、この図1及び図4を用い、処理の内容が、第1実施形態と異なる部分を説明し、それ以外の部分は説明を省略する。
まず、画像入力部10では、第1実施形態と同様に、20×20画素の人物の顔を切り出したグレースケール画像を入力する(ステップ40)。
次いで、注目画素選択部11において、入力画像から注目画素を選択する(ステップ41)。ここでも、入力画像の左上から順次注目画素を選択していけば良い。ただし、第1実施形態では、注目画素の8近傍の画素値を用いるため、入力画像の上下左右の端、1画素分を除いた場所から注目画素を選択した。これに対し、本実施形態では、注目画素から上下左右に3画素離れた画素値を用いるため、入力画素の上下左右の端、3画素分を除いた場所から、順次、注目画素を選択していく。本実施形態では、入力画像が20×20画素であるので、14×14画素分を選択する。
続いて、近傍パターン抽出部12では、図11の(a)に示したように、選択した注目画素110を基準として4領域111〜114(図中、斜線領域で表示)の画素値の平均値を抽出する。本実施形態では、このように、注目画素から少し離れた位置にある複数の画素値の平均値を抽出する(ステップ42)。
次に、クラス分類処理部13において、近傍パターン抽出部12で抽出した4領域それぞれの平均値と、注目画素の画素値との比較により、まず、4個の{0、1、2}からなる数値列を求める。具体的には、まず、それぞれの領域に対して、以下に示した3つの条件のいずれに該当するかを決定する。
条件1.領域の平均値>注目画素の画素値×(1+所定割合)
条件2.領域の平均値<注目画素の画素値×(1−所定割合)
条件3.上記、条件1、2以外
ここで、条件1ならば、その領域に対応する数値を2とし、条件2ならば0、条件3ならば1とする。ここで、上記所定割合は、0以上1未満の任意の値で構わない。本実施形態では、この所定割合を0.1としているが、より好適には、後述のCross Validationを用いて決定するのが望ましい。このような数値を、図11の(a)の領域111〜114でそれぞれ求め、順に並べたものが、求める数値列である。
上記数値列を求める具体的な例を、図11の(b)に示したパターンを用いて説明する。図11の(b)は、選択された注目画素120を中心とする7×7画素のパターンであり、(c)は、(b)に示したパターンの各画素値を示したものである。
まず、図11の(a)の領域111に対応する領域は、図11の(b)の領域121である。図11の(c)を参照すると、この領域内の2つの画素値は、253と225であるので、この領域の平均値は、(253+225)/2=239である。ここで、所定割合を0.1とすると、注目画素の画素値×(1+所定割合)=164×(1+0.1)=180.4であるので、この領域については、条件1という判定になり、対応する数値“2”となる。同様に、領域112に対応する領域122は、条件2という判定になる。したがって、領域122に対応する数値は“0”となり、領域123と領域124に対応する数値は、それぞれ“2”と“1”である。このため、図11の(b)に示したパターンに対応する数値列は、“2021”となる。
ここで得られる数値列は、LBPやCTと同様に、パターンの明るさ等の変動に、ある程度ロバストである。ただし、LBPやCTでは、明るさ、つまりバイアスの変動と、コントラスト、つまり、パターンに対する正の定数倍に関して不変であるが、本実施形態では上記の如く所定割合を用いた判定があるためバイアスの変動に対して完全に不変というわけではない。しかし、バイアスの変動に対しても、ある程度のロバスト性は有しており、比較結果を3値で表現できるため、パターンの表現力が高まるというメリットがある。
第1実施形態では、8個の{0、1}からなる数値列のパターンそれぞれを1つのクラスと定義したが、本実施形態では、4個の{0、1、2}からなる全部で3=81種類の数値列のパターンそれぞれを1つのクラスと定義する。そして、それらのクラスに、抽出したパターンを分類する。ここで、4個の{0、1、2}からなる数値列を、3進数の数値とみなして10進数に変換し、それをクラスの番号として表記する。例えば“1201”ならば1×3+2×3+0×3+1×3=46なので、クラス46と表記する。つまり、クラス分類処理部13では、抽出した4領域の平均値と注目画素の画素値を基準にして、それらが、いずれかのクラスに分類される(ステップ43)。クラス分類方法は上記に限られるものではなく、例えば、非特許文献7の、Improved LBPのような基準でクラス分類することも可能である。また、非特許文献8のMulti−Scale LBPや、非特許文献9のUniform−LBPのような方法も、適用可能である。
次の、変換値割り当て部14は、第1実施形態と同様に、クラス対応変換値データベース15から分類されたクラスに対応する値を読み出して、その値を選択した注目画素に対応する変換値とする(ステップ44)。クラス対応変換値データベース15には、クラスごとに、3つの数値からなる3次元のベクトル値が記録されている。この3次元ベクトル値の定め方については、後に詳細に説明する。
変換値割り当て部14において求めた、3次元ベクトル値である変換値を、選択した注目画素に対応する変換値として、変換画像保持部16に記録する(ステップ45)。
上記処理により、3次元ベクトル値が、選択した注目画素に対応する変換値として記録される。このような変換値を14×14画素分求めるため、未選択の画素があるならば、注目画素選択部11での処理に戻り、14×14画素の全てを選択して処理を行ったならば次の処理に進む(ステップ46)。
最後に、変換画像出力部17で、変換画像保持部16に記録されている結果を外部に出力し(ステップ47)、画像変換処理が終了となる。上記処理により、20×20画素の入力画像の、上下左右の端3画素分を除いた14×14画素それぞれについて、3次元ベクトル値である変換値が得られる。つまり、3次元のベクトル値を14×14画素分並べた画像を外部に出力する。
次に、各クラスに対応する変換値の求め方について説明する。第1実施形態では、クラス別パターンサンプル群内の3×3画素の画素値パターンを用いたが、第3実施形態では、5×5画素の画素値パターンとそれに付随する情報を用いてクラスター分析を行う。図13に、本実施形態において各クラスに対応する変換値を求める方法の処理ブロック図を示す。また、図14は、この変換値を求める方法の処理フローを示した図である。これらの図からもわかるように、本実施形態における、各クラスに対応する変換値の求め方も、基本的には、第1実施形態と同様である。以下、、各処理ブロックでの処理について説明するが、第1実施形態と同様の部分については説明を省略する。
まず、画像入力部130において、第1実施形態と同様に、顔画像データベース135から1枚の画像を選択して入力する(入力ステップ140)。
次の、注目画素選択部131からクラス分類処理部133は、第1実施形態における注目画素選択部11からクラス分類処理部13までと同等である。つまり、入力した顔画像から注目画素を選択して、注目画素周辺の4領域の平均値を抽出し、このパターンを分類する(ステップ141〜143)。
続いて、クラス別パターン記録部134において、クラス分類結果に基づいて、注目画素を中心とする5×5画素のパターンと一緒に、入力した画像の番号と、注目画素の位置座標も、クラス別パターン群データベース136に記録する(ステップ144)。第1実施形態では、クラス分類のために用いた3×3画素のパターンのみをデータベースに記録するようにした。これに対し、本実施形態では、クラス分類処理部133で用いた4領域の平均値ではなく、注目画素を中心とした5×5画素のパターンを記録する。
具体的な例として、注目画素を中心としたパターンが、図11の(b)に示したパターンであった場合、クラス61に分類されるので、クラス61パターン群136−61にパターンを記録する。このとき、注目画素120を中心とする5×5画素の領域の画素値を、左上からラスタスキャン的に並べた25個の数値を記録する。
また、このような画素値のパターンだけでなく、付随情報として、そのパターンが、どの画像のどの位置(空間配置情報)から抽出したパターンであるかも記録しておく。例えば、入力画像の画像番号及び注目画素の位置座標の情報を、付随情報と記載する。ここで記録した5×5画素の画素値のパターンと、その付随情報は、後のクラス間のクラスター距離を求める際に用いる。
ステップ141〜144の処理を、1枚の画像に対し、注目画素とすべき14×14画素全てにおいて実行する。そのため、未選択画素があるならば、注目画素選択部131での処理に戻り、14×14画素の全てを選択して処理を行ったならば次の処理に進む(ステップ145)。
上記処理により、1枚の画像につき、14×14個分の5×5画素のパターンと、それぞれの付随情報とが、クラス別パターン群データベース136に記録される。このような処理を、顔画像データベース135に保持された全ての画像に対して実行する。そのため、未入力画像があるならば、画像入力部130での処理に戻り、全ての画像を入力して処理を行ったならば、クラスター分析処理部137での処理に進む(ステップ146)。
本実施形態でも2000枚の顔画像を用いるので、各画像から14×14個分のパターンを抽出すると、クラス別パターン群データベース136には総計2000×14×14=392,000個の5×5画素のパターン及びその付随情報が記録される。このとき、第1実施形態と同様に、あるクラスに1つもパターンが記録されなかった場合は、画像を追加して、全てのクラスに少なくとも1つのパターンが記録されるまで処理を続ける。
続いて、クラスター分析処理部137において、第1実施形態と同様に、クラス別パターン群データベース136に記録した多数のパターンを用いて、群平均法により各クラス間のクラスター距離を求める。ただし、各パターン間の距離を求める際に、第1実施形態のように、単純にユークリッド距離を求めるのではなく、各パターンの付随情報を利用した距離算出を行う。ここでは、2つのパターンが同一の画像から抽出したパターンである場合には、パターンを抽出した位置座標間の距離に応じて、パターン間のユークリッド距離を、所定割合だけ縮小する。同一の画像から抽出されたパターンでない場合は、ユークリッド距離をそのパターン間の距離とする。具体的には、本実施形態では、
・n番目の画像の、位置(s、t)から抽出した5×5画素のパターンx(n、(s、t))と、
・m番目の画像の、位置(u、v)から抽出した5×5画素のパターンy(m、(u、v))と、
の距離d’(x(n、(s、t))、y(m、(u、v)))を、以下の式1を用いて求める。
Figure 2011008631
ここでd(x、y)は、それぞれのパターン間のユークリッド距離である。また、δnmはクロネッカーのデルタで、n=mの時のみ1で、それ以外では0であり、σは正の定数である。つまり、パターンの付随情報として記録した画像番号が異なる(n≠m)場合、パターン間の距離は通常のユークリッド距離となる。そして、画像番号が同一(n=m)の場合、パターン間のユークリッド距離に、1−exp{−(パターンを抽出した位置間の距離)/2σ}を乗じたものを、パターン間の距離とする。1−exp{−(パターンを抽出した位置間の距離)/2σ}は、必ず1未満であるので、距離は通常のユークリッド距離より減少し、パターンを抽出した位置間の距離が小さいほど距離の減少率が大きくなる。つまり、比較するパターン間の相対的な空間配置関係に基づいて、パターン間の距離を減少させるようにする。この距離の減少率は、σの値により決まり、本実施形態ではσ=1.5としている。この場合、例えばパターン間の距離が1画素分ならば、通常のユークリッド距離に約0.199を乗じることになり、約80%距離が減少する。また、パターン間の距離が5画素分程度になると、倍率が0.996程度になるので、距離はほとんど減少せず、通常のユークリッド距離とほぼ同等になる。
上記のように、本実施形態では、パターン間の距離が小さい程、距離を減少させる。これにより、例えば、あるクラスiに属するパターンの空間的に隣接した位置には、クラスjに属するパターンが存在することが多い場合、クラスiとクラスjのクラス間距離は相対的に小さくなる。このクラス間の距離は、第1実施形態と同様、各クラスに対応する変換値の間の距離と関係するので、結果として、クラスiとクラスjそれぞれに対応する変換値の差は、相対的に小さくなる。つまり、クラスiとクラスjに対応する変換値が類似したものになる。このため、本実施形態のパターン識別では、位置の変動に対して変換値の変動を小さく抑えることができ、位置変動のロバスト性を高めることができる。このロバスト性は、上記のσの値によりコントロール可能である。より高いロバスト性を実現するには、σの値を大きくしてやれば良い。ただし、σの値をあまり大きくしすぎると、同一画像内から抽出したパターンは、全て距離を短くすることになってしまうので、用いる画像の解像度等に応じて実験的に決めてやれば良い。やはり好適には、Cross Validationを用いて決定するのが好ましい。
本実施形態では、以上のように、パターンを抽出した位置を考慮した距離を求める。しかし、これに限らず、その他の付随情報を用いて距離を算出しても構わない。例えば、パターン識別において回転に対するロバスト性を高めたい場合は、抽出した各パターンを少し回転させたものを用意しておき、回転させたパターン間の距離を、それらの回転角の違いに基づいて修正するものも考えられる。また、人物の顔画像からパターンを抽出した場合、人物が同一で同等の位置付近(例えば左目の目尻付近等)から抽出したパターン間であれば、距離を減少させるようにしても良い。このようにすると、同一人物の同等の位置における、異なる画像間での変動に対してロバスト性を高めることができる。また同時に、同一の人物でなければ、同等の位置付近から抽出したパターン間の距離を増加させても構わない。この場合、異なる人物間の同等の位置における変換値の違いを大きくすることができ、パターン識別性能を高めることが可能になる。このように、パターン間の距離の算出に付随情報を用いることで、所望の特性を持った画像変換が可能になる。また、上記実施形態では、付随情報として、画像を特定する情報と画像における空間配置位置を示す情報を含むが、画像を特定する情報のみを用いることも可能である。
本実施形態のクラスター分析処理部137では、クラス間のクラスター距離を算出する際に、上記説明した、パターンを抽出した位置を考慮した距離を求める以外は、第1実施形態におけるクラスター分析処理部77と同様の処理を行う。つまり、例えば、クラスiとクラスj(i≠j)のクラスター距離であれば、クラスiのパターンとクラスjのパターンとの全ての組み合わせで、上記方法で距離を求める。そして、求めた距離の平均を求め、これをクラスiとクラスj間のクラスター距離とする。
クラスター分析処理部137では、このようなクラスター距離を、全てのクラスの組み合わせに対して求める(ステップ147)。本実施形態のクラス数は、第1実施形態とは異なり、0から80までの81個であるので、81×80/2=3,240個分のクラスター距離を求めることになる。この処理も予めオフラインで計算しておくことができる。また、本実施形態でも、クラスター距離を求めるために群平均法を用いるが、例えば、最短距離法や、最長距離法、重心法、メディアン法、可変法、ウォード法等、その他のクラスター距離尺度を用いても構わない。
次に、Isomap処理部138において、第1実施形態と同様に、各クラス間のクラスター距離を用い、所定次元のターゲット空間に、各クラスに対応する点をマッピングする(ステップ148)。マッピングする処理として、第1実施形態ではMDSを用いたのに対し、本実施形態では、非特許文献10のIsomapを用いる。
このIsomapを用いると、クラスター距離を保存しながらターゲット空間に各クラスに対応する点がマッピングされる。すなわち、各クラスに対応する点は、ターゲット空間での各点間のユークリッド距離がクラス間のクラスター距離に基づくクラス間の測地線距離をできるだけ保存するような点となる。クラス間の測地線距離とは、各クラス間の近傍/非近傍(クラス間のクラスター距離に基づいて決める)を考慮した距離である。この場合、近傍であるクラス間の測地線距離は、クラス間のクラスター距離をそのまま用いる。近傍でないクラス間の測地線距離は、近傍であるクラス間を経由した各経由におけるクラスター距離の総和の最小値である。
このような測地線距離の求め方について説明する。まず、i行j列の要素が、クラスiとクラスjが近傍である場合はクラスiとクラスj間のクラスター距離の値、近傍でない場合は無限大(とみなせる程度に大きな値)とした行列を用意する。そして、その行列に対して非特許文献6のFloyd−Warshall法を適用する。これにより、クラスiとクラスj間の測地線距離が、Floyd−Warshall法を適用した後の行列の、i行j列目の要素(=j行i列目の要素)として得られる。
近傍/非近傍を判定する基準に関しては、k近傍基準やε球基準を用いるのが一般的である。k近傍基準では、あるクラスからのクラスター距離が、小さい方からk個までのクラスを近傍と判定する。また、ε球基準では、あるクラスからのクラスター距離が、ある定数ε以内であるクラスを近傍と判定する。本実施形態では、k近傍基準を用い、kの値を7としている。k近傍基準を用いるかε球基準を用いるか、kやεの値等は、適用する画像に応じて実験的に決めれば良い。ただし、kやεの値が小さすぎる場合、近傍でないクラス間において、近傍であるクラス間を経由したとしても、お互いに到達することができず、測地線距離が求められない場合がある。このような場合は、kやεの値を少し大きくして、近傍/非近傍の判定をやり直し、再度、測地線距離を求めれば良い。最も好適には、Cross Validationを用いるのが好ましい。
Isomapの処理では、上記のように、まず、クラス間の近傍/非近傍の判定を行い、それに基づいて上記行列を用意し、その行列にFloyd−Warshall法を適用して得られる行列を用いてMDSを実行すれば良い。Isomapを用いた場合でも、第1実施形態のMDSと同様に、ターゲット空間の次元は、最大でもクラス数−1、つまり、本実施形態では80次元である。なお、各クラス間のクラスター距離の状況によっては、80次元以下になる場合もある。ここでも、第1実施形態と同様に、この次元を高くする方が、より高い精度で、クラス間のクラスター距離を保存できる。しかし、ターゲット空間の次元をあまり高くすると、変換後の値の次元が高くなってしまい、後のパターン識別処理において、いわゆる“次元の呪い”が発生する可能性が高くなる。そのため、このターゲット空間は、ある程度低い次元が好ましく、本実施形態では3としている。勿論、この次元数は3に限るものではなく、Cross Validationを用いて決定するのが好ましい。
このIsomap処理により、クラス0からクラス80までのそれぞれに対応する、ターゲット空間上での位置座標が得られる。本実施形態では、ターゲット空間の次元数を3としているので、この位置座標は3つの数値で表される。このクラスごとの、3つの数値からなる位置座標が、各クラスに対応する3次元ベクトル値の変換値である。本実施形態では、このように、Isomapを用いて各クラスに対応する点をマッピングする。この結果、クラス間の非線形な変動(例えば平行移動や、パターンに対する視点や、パターン自体の3次元的な向きの変動によるクラスの変動等)を、トポロジカルにマッピングできる傾向が強くなる。したがって、マップ上での位置の違いが、このような非線形な変動を、より良く表現できる可能性が高くなる。このため、このマップ上の位置座標を各クラスに対応した変換値として利用すると、後のパターン識別において、非線形なパターンの変動にロバストな識別を実現できる可能性が高くなる。このように、各クラスに対応する点をマッピングする処理において、第1実施形態で説明したMDSに限らず、Isomapのような手法を用いても構わない。
最後に、クラス対応数値出力部139において、Isomap処理部138で求めた、各クラスに対応する3次元の座標値を、外部に出力する(ステップ149)。ここで出力した各クラスに対応する3次元座標値が、クラス対応変換値データベース15に保持され、画像変換の際に各クラスに対応する変換値として用いられる。
このように、本実施形態では、各クラスに対応するパターンと、そのパターンの付随情報を用いて、クラス間の距離(各クラス間の相互関係)を求め、それに基づいて、各クラスに対応する変換値を決定し、それを変換の際に用いる。これにより、第1実施形態と同様に、変換後の値が類似していれば、パターンが類似している等、変換元のパターンの違いを、ある程度低次元の値で好ましく表現可能となる。
次に、上記画像変換方法を用いて、人物の顔を切り出したグレースケール画像を変換し、変換後の画像が何れの人物の顔画像であるかを識別する、パターン識別方法の例を示す。
本実施形態のパターン識別方法における処理部の構成も、図5に示した、第1実施形態と同様であり、処理のフローも、図6に示したものと同様である。そこで、本実施形態のパターン識別方法の説明においては、この図5、及び図6を用い、各処理部における処理の内容が、第1実施形態と異なる部分のみ説明する。
まず、画像入力部50において、縦横20×20画素の、人物の顔を切り出したグレースケール画像(以下、簡単に、入力画像とする)を入力する(ステップ60)。
次に、画像変換部51で入力画像を変換する。本実施形態では、注目画素は14×14画素分であり、各注目画素に対応する変換値は3次元ベクトル値であるため、3次元ベクトル値を14×14画素分並べた変換画像が得られる(ステップ61)。
続いて、次元削減処理部52において、画像変換部51で変換した結果を、14×14×3=588次元のベクトルとみなし、この次元を削減する。画像変換部51で変換した結果は、14×14画素のそれぞれについて、3個の数値を変換値として持っている。そこで、第1実施形態と同様に、それぞれの画素に対応する3個の数値を、単純に並べたものは、14×14×3個の数値列となり、これを14×14×3=588次元のベクトルとみなす。このように次元が高いベクトルをそのまま用いると、パターン識別性能が劣化することが多い。そこで、次元削減処理部52で、第1実施形態と同様に、PCAを用いた次元削減を行う。
PCAを用いた次元削減では、第1実施形態と同様に、予め、様々な人物の顔を切り出した、多数のグレースケール画像を変換して用意し、これに対してPCAを行った結果を利用して、次元削減を行う。具体的には、例えば数千程度の画像を変換して用意しておき、これらに対してPCAを行うと、複数の固有値と固有ベクトルが得られるので、固有値の大きいものから順に所定個選択し、各固有値に対応する固有ベクトルを記録しておく。そして、これらの固有ベクトルに先の588次元のベクトルを射影することにより、次元削減したベクトルとする。本実施形態では、固有値の大きいものから20個を選択し、それぞれに対応する20個の固有ベクトルを記録しておく。次元削減処理部52では、588次元から20次元に削減されたベクトルが得られる。このような固有ベクトルは、予め求めて記録しておくことができるので、実際の処理では、記録した固有ベクトルを参照することにより、次元を削減すればよい(ステップ62)。本実施形態の次元削減では、PCAを用いたが、これに限るものではなく、例えば、独立成分分析や、カーネル非線形主成分分析等を用いても構わない。また、何次元まで次元圧縮するかも、Cross Validationを用いて決めても構わない。
次元削減処理部52での処理が終了した後、最近傍探索部53での処理に進む。ここでも、第1実施形態と同様、登録データベース54に保持された登録者のデータの内、次元削減されたデータに最も近いデータを探索する(ステップ630〜634)。
最後に、識別結果出力部55において、探索結果に基づいて、入力画像がいずれの人物の画像であるのかを出力する(ステップ64)。ここでも、第1実施形態と同様に、最近傍探索部53での処理により得られた、登録データベース54の内、最もユークリッド距離が小さかったデータに対応するラベルと、その最小の距離と所定の閾値とに基づいて、最終的な判定を行う。そして、その結果を識別結果として外部に出力する。
上記処理により、本実施形態の画像変換方法を用いて人物の顔を切り出したグレースケール画像を変換し、その変換後の画像が何れの人物の顔画像であるかを識別可能になる。本実施形態では、コントラストに関しては不変で、明るさに関しては、ある程度のロバスト性を有する変換となっている。このように、予め、明るさ等の変動にロバストな変換を行っておくことで、入力画像に明るさ等の変動があった場合でも、その変動に対してロバストに、それが何れの人物の顔画像であるか識別可能になる。また、パターンが少々変動した場合でも、変換後の値が凡そ類似した値になる。そのため、例えば、入力画像の位置など、明るさやコントラスト以外の変動があっても、ロバストに認識することが可能になる。
本実施形態のパターン識別方法では、変換した画像に対して、第1実施形態と同様に、PCAによる次元削減と、いわゆる最近傍法によるパターン識別を行う例を示した。しかし、これに限るものではなく、例えば、変換後の画像に対して、ニューラルネットワークや、SVMを用いて、パターン識別処理を行うようにしても構わない。
以上、第3実施形態は、人物の顔を切り出したグレースケール画像を明るさ等の変動に対してロバストに変換する方法の例と、その変換後の画像が何れの人物の顔画像であるかを、明るさ等の変動に対してロバストに識別する、パターン識別方法の例とを説明した。
(第4実施形態)
第4実施形態では、第1から第3実施形態とは異なる方法で、画像変換を行う場合の例を示す。また、第1から第3実施形態と同様に、人物の顔を切り出したグレースケール画像を変換し、その変換後の画像が何れの人物の顔画像であるかを識別する、パターン識別方法の例も合わせて示す。
図15に、第4実施形態における画像変換方法の処理ブロック図を示す。また、図16は、本実施形態における画像変換方法の処理フローを示した図である。図15の構成からもわかるように、本実施形態の画像変換方法も、第1実施形態と基本的な処理の流れは同様である。ただし、第1実施形態の変換値割り当て部14に対応する、インデックス決定部154での処理の内容が異なる。また、第1実施形態のクラス対応変換値データベース15に対応する、クラス対応インデックスデータベース155に記録されている、クラスに対応した変換値(本実施形態ではインデックス)が異なる。以下では、第1実施形態と同様の部分は説明を省略する。
画像入力部150からクラス分類処理部153までにおける処理(ステップ160〜163)は、第1実施形態と同様なので説明を省略する。ここまでの処理により、入力画像から選択された1つの注目画素を中心とする3×3画素のパターンが、LBPやCTと同様な基準で、クラス0からクラス255のいずれかに分類されている。
次に、インデックス決定部154において、クラス対応インデックスデータベース155を参照し、分類されたクラスに対応するインデックスを決定し、選択した注目画素に対応するヒストグラムのビンのインデックスとする。ヒストグラムの次元は自己組織化マップと同じ次元となるため、本実施形態では、このヒストグラムに、縦横5×5=25個のビンを持つ2次元ヒストグラムを用いる。ビンのインデックスは、ヒストグラム上で、縦横の位置を表す1から5までの2つの整数値からなる。このクラス対応インデックスデータベース155に記録されているインデックスは、各クラス間の相互関係に基づいて定めた各クラスに対応するインデックスである。なお、詳細は後述するが、本実施形態では、各クラスとインデックスとは、1対1対応とは限らない。このインデックスの定め方は、後に詳細に説明する。
第1実施形態では、変換値割り当て部14において、分類された各クラスに対応する実数値の変換値を、クラス対応変換値データベース15から読み出した。本実施形態では、実数値の変換値ではなく、整数値のインデックスであるが、処理上では大差はない。第1実施形態との処理上の大きな違いは、次の部分である。第1実施形態では、各クラスに対応する値が1種類しかなかったため、分類されたクラスに対応する数値を読み出せば良かった。これに対し、本実施形態では、各クラスに対応する値が、複数種類の場合があるため、まず、分類されたクラスに対応する値が1種類か複数種類かにより処理が分岐する(ステップ164)。分類されたクラスに対応する値が1種類である場合は、第1実施形態と同様に、対応する値(2つの整数値からなるインデックス)を、クラス対応インデックスデータベース155から読み出す(ステップ165)。一方、分類されたクラスに対応する値が複数種類である場合は、まず、それぞれの値に対応するテンプレートと、近傍パターン抽出部152で抽出した3×3画素のパターンとの比較を行う。ここで、テンプレートは、クラス対応インデックスデータベース155に予め記録しておく、3×3画素=9次元のベクトルであり、詳細は後に述べる。ここでの比較では、単純に、抽出した3×3画素のパターンと、9次元のベクトルであるテンプレートとの内積を求める。そして、最も類似度が高かった(内積値が最も大きかった)テンプレートに対応する1種類の値(2つの整数値からなるインデックス)を、クラス対応インデックスデータベース155から選択して読み出す(ステップ166)。このテンプレートの求め方は後述する。このように、本実施形態では、分類されたクラスに1対1対応で値が決まるとは限らず、テンプレートとの比較によって、値を決める場合があるという部分が異なる。
インデックス決定部154は、上記手順により求めた2つの整数値からなるインデックスを、選択した注目画素に対応するインデックスとして変換画像保持部156に記録して保持する(ステップ167)。
このようなインデックスを、第1実施形態と同様に、18×18画素分、全てにおいて求めるため、未選択画素があるならば、注目画素選択処理に戻り、全画素を選択して処理を行ったならば次の処理に進む(ステップ168)。
18×18画素の全てについて上記処理を終了した段階で、変換画像出力部157で、変換画像保持部156に記録されている結果を外部に出力し(ステップ169)、本実施形態における画像変換処理が終了となる。上記処理により、20×20画素の入力画像の、上下左右の端1画素分を除いた18×18画素それぞれについて、2つの整数値からなるインデックスが得られる。つまり、2つの整数値からなるインデックスを18×18画素分並べた画像が得られ、この画像を外部に出力する。
次に、本実施形態における、各クラスに対応するインデックスの求め方について説明する。図17に、本実施形態における、各クラスに対応するインデックスを求める方法の処理ブロック図を示す。また、図18は、このインデックスを求める方法の処理フローである。本実施形態における、各クラスに対応するインデックスの求め方も、基本的な流れは第1及び第3実施形態と同様である。ただし、第1及び第3実施形態では、クラス間の距離を定義し、そのクラス間の距離をできるだけ保存するマップを生成して、各クラスに対応する変換値を求めた。これに対し、本実施形態では、予め明示的にクラス間の距離を求めず、非特許文献11の自己組織化マップ(SOM)の技術を用い、ダイレクトにマップを生成し、そのマップに基づいて各クラスに対応するインデックスを求める。
また、第1及び第3実施形態では、各パターン間の距離をユークリッド距離を基準にして求めた。本実施形態でも、後述のSOM生成処理部177において、各パターン間の距離(実際は類似度)を求める必要があるが、本実施形態では、明るさとコントラストの変動に不変な距離尺度(類似度)を用いる。この距離尺度の詳細は後に述べる。
以下、図17、図18を用いて、各クラスに対応するインデックスを求める方法について説明するが、ここでも、第1や第3実施形態と同様の部分については説明を省略する。
まず、画像入力部170において、画像データベース175に保持されている多数のグレースケール画像の中から、1枚の画像を選択して入力する(ステップ180)。第1及び第3実施形態においては、この画像入力の際に、サイズや回転、明るさ・コントラストの正規化を行った、縦横20×20画素の、様々な人物について顔を切り出したグレースケール画像を入力した。これに対し、本実施形態では、人物の顔画像に限らず、明るさ等の正規化も行っていない任意のグレースケール画像を入力する。画像のサイズも任意ではあるが、本実施形態では、640×480画素の画像を入力画像として用いる。このように、任意のグレースケール画像を用いることで、後の近傍パターン抽出部172において、顔画像に存在するようなパターンに限定されず、多種多様なパターンを抽出することができる。このように、多種多様なパターンを利用して得られる、各クラスに対応するインデックスは、多様なパターンを表現するのに好適となる。したがって、顔画像以外を用いる場合(例えば、画像から車両の検出を行う等の場合)でも、そのまま本手法を流用できる。なお、第1及び第3実施形態のように、顔画像からパターンを抽出しても顔画像以外にも流用可能ではあるが、顔画像に多く存在するパターンに特化されてしまう傾向がある。また、第1及び第3実施形態では、明るさ等の正規化を行わないと、パターン間のユークリッド距離算出の際に問題が発生するため、予め正規化を行うようにした。これに対し、本実施形態では、明るさやコントラストの変動に不変な距離尺度を用いる(詳細は後述)ので、特に明るさ等の正規化を行っておく必要は無い。
次の、注目画素選択部171からクラス分類処理部173の処理は、第1実施形態における注目画素選択部151からクラス分類処理部153の処理と同様である。ただし、入力画像のサイズが640×480画素である点で異なる。つまり、入力画像から上下左右の端1画素を除いた、計638×478=304,964画素分の注目画素を順次選択する。そして、選択した注目画素を中心とした3×3画素のパターンが、クラス0からクラス255のいずれであるかを分類する(ステップ181〜ステップ183)。
続いて、クラス別直交基底パターン記録部174において、まず、選択した注目画素を中心とする3×3画素のパターンから、明るさの変動方向に直交する、3×3画素の直交基底パターンを算出する。この直交基底パターンは、明るさ等の変動に不変な類似度を求めるために利用するもので、求め方については後に述べる。そして、算出した3×3画素の直交基底パターンを、クラス分類結果に基づき、クラス別直交基底パターン群データベース176に記録する(ステップ184)。ここでは、抽出した3×3画素のパターンをそのままデータベースに記録するのではなく、3×3画素のパターンから3×3画素の直交基底パターンを求め、それを記録するという部分のみが、第1実施形態とは異なる。
ここで、パターン間の類似度算出方法について説明する。本実施形態では、3×3画素のパターンの各画素値を並べた9次元のベクトルをxと表記する。このパターンxに対して、明るさやコントラストを任意に変動させたパターンは、任意の正の実数aと、任意の実数bを用いて、ax+b1と表すことができる(axがコントラストの変動で、b1が明るさの変動に対応)。ここで1は、全ての要素が1である9次元ベクトルである。またa>0であるのは、パターンの濃淡反転等は、コントラストの変動として考えないためである。ここで、ax+b1のa(>0)やbを任意に変化させた場合を考えると、このax+b1は、9次元空間内の2次元部分空間となる。つまり、この9次元空間内の2次元部分空間を用いることで、明るさやコントラストの変動を含むパターンの表現が可能になる。そこで、パターン間の類似度を求める際に、このような2次元部分空間同士の類似度を求めることで、明るさやコントラストの変動に対して不変に類似度を求めることが可能になる。部分空間同士の類似度としては、非特許文献12の相互部分空間法のように、部分空間の正準角、つまり、2つの部分空間のなす角を用いる。2次元部分空間同士の場合、正準角は2つある(第1と第2正準角)が、ここでは第2正準角の方を、パターン間の類似度として用いる。これは、類似度を求める対象の2つのパターンにより決まる、それぞれの上記部分空間は、2つのパターンがどのようなパターンであっても、明るさの変動、即ち、1の方向への変動は同一であるため、第1正準角は必ず0になるからである。
非特許文献12の相互部分空間法では、各部分空間への2つの正射影作用素をP、Qとした時、PQP若しくはQPQの固有値問題として正準角を求める(得られる固有値が正準角の余弦の2乗となる)。しかし、本実施形態では、第1正準角が自明で残りの正準角が1つしかないため、以下のような単純な方法で第2正準角(の余弦)を求める。
まず、パターンの明るさとコントラストの変動を表現している、上記2次元の部分空間の2つの正規直交基底を求める。求める際に、非特許文献13のGram−Schmidtの直交化手法を用いる。このとき、1つめの基底uを、任意のパターンにおいて共通である、明るさの変動方向、つまり、ベクトル1の方向の正規基底とする。つまり、この1つめの基底uを、1/|1|(全ての要素が1/3の9次元ベクトル)とする。
この場合、Gram−Schmidtの直交化手法を用いると、パターンxに対する2つめの正規直交基底uは、次のように求められる。
Figure 2011008631
この2つめの正規直交基底uこそが、3×3画素のパターンxから求められる、明るさの変動方向に直交する、3×3画素(=9次元)の直交基底パターンである。そして、この正規直交基底uがクラス別直交基底パターン群データベース176に記録される。この時、2つのパターン間の、第2正準角の余弦は、各パターンにおける、上記直交基底パターンuの内積を求めることにより得られる。非特許文献12の相互部分空間法での正準角の算出方法においては、比較する部分空間が半空間でない(部分空間ax+b1において、a≦0も含む)ため、正準角は必ず90°以下になる。このため、例えば2つのパターンxとyが、y=−xであるような場合(実際には、輝度値は正であるため、2つのパターンがこの式を満たすことはありえないが)、この2つのパターン間の第2正準角も0になってしまう。これに対し、本実施形態における第2正準角の算出方法を用いると、このy=−xというような2つのパターンに対する第2正準角は、180°(余弦が−1)となる。つまり、輝度値が反転したパターンであれば、第2正準角の余弦が小さくなり、パターンのこのような違いをうまく反映できる。また、パターンxに対応する直交基底パターンuと、ax+b1(パターンが対応する部分空間上の任意の点を示すベクトルとみなせる)の内積は、必ずaの符号と一致する。つまりa>0の時、この内積は0以上となる。このことから、この直交基底パターンuは、部分空間ax+b1の、a>0である半空間上に乗るベクトルであるといえる。このため、本実施形態のように、この直交基底パターンuを利用して求める第2正準角は、a>0である半空間の第2正準角となり、変動を表現する部分空間が、半空間であるという条件も満たすことができる。
2つの3×3画素パターンに対する、それぞれの直交基底パターン間の第2正準角の余弦は、2つのベクトルの内積として求められる。本実施形態においては、この第2正準角の余弦を、2つのパターン間の類似度とする(完全に一致の場合に1)。上記直交基底パターンは、例えば、パターンの各画素値を2倍にし(コントラスト変動)、そこから30を引く(明るさ変動)といった変動を与えても、同一の直交基底パターンとなる。このため、パターン間の類似度として求める第2正準角は、上記のような変動をした場合でも一致し、コントラストや明るさの変動に対して不変である。このように、本実施形態では、明るさ等の変動に対して不変なパターン間の類似度算出を行う。このため、クラス別直交基底パターン記録部174では、この類似度算出において必要となる直交基底パターンを、クラス別直交基底パターン群データベース176に9個の数値列として記録する。
3×3画素のパターンxから直交基底パターンを求める際には、基本的には式2を用いて求めれば良いが、x=b1(bは任意の実数)という特別の場合、式2の分母が0になってしまい、値を求めることができない。本実施形態では、x=b1というようなパターンは、後の処理で、実質的にほとんど意味が無い(計算に利用されない・利用する意味が無い)ため、無視してしまっても構わない。一応、本実施形態では、x=b1の場合は、直交基底パターンは、全ての要素が0である9次元のベクトルにしてしまう。このとき、この直交基底パターンと、その他のパターンから求めた直交基底パターンとの内積値、つまり、2つの部分空間の、第2正準角の余弦は必ず0になる。基本的には、直交基底パターンの要素が全て0であっても、この内積値を、部分空間同士の類似度としてしまって良い。ただし、本実施形態では、もし2つのパターンが共にx=b1である場合、つまり、2つの直交基底パターンが、両方とも、全ての要素が0である場合のみは、特別な措置として、この類似度を1としてしまうようにする。
続いて、各クラスに対応するインデックスの求め方についての説明に戻る。ステップ181から184までの処理を、入力した1枚の画像に対し、注目画素として選択すべき計638×478=304,964画素分実行する。そのため、未選択画素があるならば、ステップ181での処理に戻り、304,964画素の全てを選択して処理を行ったならば次の処理に進む(ステップ185)。
上記処理により、1枚の画像につき、304,964個分の直交基底パターンが、クラス別直交基底パターン群データベース176の分類されたクラスに対応する直交基底パターン群に記録される。このような処理を画像データベース175の全画像に実行するため、未入力画像があるならば、画像入力部170での処理に戻り、全画像を入力して処理を行ったならば、SOM生成処理部177での処理に進む(ステップ186)。
ここまでの処理により、クラス別直交基底パターン群データベース176に、多数の直交基底パターンが、各自のパターンに対応するクラス別に記録される。本実施形態では、100枚の画像を入力画像として用いる。この場合、各画像から304,964個分の直交基底パターンを抽出するので、クラス別直交基底パターン群データベース176には、総計100×304,964=30,496,400個の直交基底パターンが記録される。このとき、もしあるクラスに対応する直交基底パターン群に1つも直交基底パターンが記録されなかった場合は、第1や第3実施形態と同様、少なくとも1つの直交基底パターンが記録されるようなるまで処理を続けるようにする。
続いて、SOM生成処理部177において、ここまでにクラス別直交基底パターン群データベース176に記録した多数の直交基底パターンを元に、非特許文献11のSOMの技術を用い、所定次元のマップを生成する。この所定次元のマップは、複数のニューロンを、所定次元空間に格子状に並べたマップであり、各ニューロンは、重みベクトルと言われるベクトル値を持っている。このマップの次元や、マップ上のニューロン数は任意であるが、本実施形態では、縦横100×100個のニューロンを格子状に並べた、2次元のマップを生成する。このSOM生成処理部177において生成する所定次元のマップを、以下では単純にSOMと記載する。また、ここで生成するSOMの、上からi番目、左からj番目のニューロンを、(i,j)の位置のニューロンと記載する。
SOM生成処理部177における処理のフローを、図19に示す。
まず、ステップ190で、SOMの各ニューロンの重みベクトルをランダムに初期化し、更新回数tを0にする。本実施形態では、縦横100×100個のニューロンで構成される2次元のSOMを用いるので、100×100=10,000個のニューロンそれぞれの重みベクトルをランダムに初期化する。本実施形態のSOMは、後に述べるが、上記直交基底パターンを入力とするので、各ニューロンの重みベクトルは、直交基底パターンと同じ9次元のベクトル値である。そのため、各ニューロンに対して、9個の数値をランダムに設定すれば良いが、9個全ての要素が0になってしまうと、次のステップ191において問題が発生するので、全ての要素が0にならないように初期化する。
続いて、ステップ191で、上記式2を用いて、現状の重みベクトルから、直交基底パターンを求める。つまり、式2において、式中のxを現状の重みベクトルに置き換え、その時の直交基底パターンuを求める。そして、求めた直交基底パターンを、現状の重みベクトルと置き換える。以降、このような、重みベクトルから直交基底パターンを算出して、その重みベクトルを直交基底パターンに置き換える処理を、直交基底化と記載する。
次に、ステップ192で、それぞれのニューロンの重みベクトルが、いずれのクラスであるかを分類する。この分類は、ステップ191で直交基底化した各ニューロンの重みベクトルの値に基づき、ステップ183での処理と同等の基準で行われる。このクラス分類方法を、具体的に、あるニューロンの重みベクトルが、(w、w、w、w、w、w、w、w、wであった場合について説明する。まず、このベクトルを、3×3画素のパターンであるとみなし、中心位置に対応する値wを注目画素の値とみなし、このwの値と、wからw、及び、wからwまでの8個の値との大小比較を行う。この比較結果が、wより大きければ1、そうでなければ0という数値を並べた8個の数値を2進数と考えて、10進数に変換した値が、この重みベクトルが分類されるクラス番号となる。ここで分類されたクラス番号は、各ニューロンの重みベクトルと共に、各ニューロンに記録しておき、以降、このクラス番号を、各ニューロンのクラスと記載する。
ここまでが、SOMの初期化を行う処理であり、以降、実際に入力データである、クラス別直交基底パターン群176に記録しておいた、直交基底パターンを用いて、SOMの更新を行っていくことにより、SOMを生成する。
まず、ステップ193において、更新回数tが上限Tに達しているならば、SOMの更新を終了し、ステップ199に進み、達していなければ、ステップ194に進み、SOMの更新を続行する。上限Tは、ある程度大きい値にすればよく、本実施形態では、クラス別直交基底パターン群176に記録されている直交基底パターン数の2倍程度、30,496,400×2≒60,000,000をTの値としている。SOMの初期化が終了した直後の段階では、t=0であるので、ステップ194に進む。
ステップ194では、クラス別直交基底パターン176からランダムに1つの直交基底パターンを選択して入力する。ここで、もし選択した直交基底パターンが、全ての要素が0であるパターンであった場合、以降の重みベクトル更新処理が、実質的に意味の無い処理になってしまうので、再度、ランダムに直交基底パターンを選択するようにする。
続いて、ステップ195で、100×100個のニューロンの中から、入力した直交基底パターンと最も合致するニューロン(これを、勝者ニューロンと呼ぶ)を検出する。一般的なSOMでは、全てのニューロンに対して、入力したベクトルと重みベクトルの内積値、若しくはユークリッド距離を求め、最も内積値が大きい、若しくは、ユークリッド距離が小さいニューロンを勝者ニューロンとして検出する。これに対し、本実施形態では、内積値を修正して勝者ニューロンの検出を行う。すなわち、入力した直交基底パターンの属するクラスと、分類した各ニューロンのクラスに基づいて、この内積値を修正した値(合致度)を用いて、勝者ニューロンの検出を行う。
この合致度は、入力した直交基底パターンをu、属するクラス番号をcin、重みベクトルをw、属するクラスをcとした時、(u w+1){1+α・δ(cin,c)}というように求める。ここで、δ(cin,c)はクロネッカーのデルタで、cin=cの時のみ1で、それ以外では0である。またαは所定の正の定数で、直交基底パターンとニューロンのクラスが同一の場合に、どの程度、合致度を大きくするかを決めるパラメータである。具体的なαの値は、0から1までの間で適当に決めればよく、本実施形態ではα=0.5としている。なお、α=0の場合、属するクラスを考慮せず、単純に内積値を用いる場合と同等になり、α=1の場合は、特別な場合を除いて、クラスが同一であるものの合致度が、クラスが不一致であるものの合致度より高くなる。この属するクラスを考慮した合致度の算出は、必須の要素ではないが、このようにすると、同クラスのニューロンが、勝者ニューロンとなる場合が多くなるので、生成するSOMで、同クラスのものがクラスターを形成する傾向が強くなる。
ステップ195では、上記のような合致度を、入力した直交基底パターンと、100×100個の全てのニューロンとの間で求める。そして、最も合致度が高かったニューロンを、勝者ニューロンとして検出する。ここで勝者ニューロンを検出する基準として用いる合致度は、基本的には、直交基底パターンと、各ニューロンの重みベクトルとの内積を用いて求めている。各ニューロンの重みベクトルは、ステップ191で直交基底化しているので、ここで求めている内積値は、上記した、2つの部分空間同士の第2正準角の余弦とみなせる。つまり、勝者ニューロンは、その重みベクトルにより定義される部分空間と、入力した直交基底パターンにより定義される、元々のパターンに対応する部分空間との第2正準角を基準にして(実際には、クラスの相違による修正があるが)決定している。
次に、ステップ196において、勝者ニューロンと、勝者ニューロンを中心とした近傍のニューロンそれぞれの重みベクトルを、入力した直交基底パターンに基づいて更新する。SOMにおける重みベクトルの更新は、様々な方法が提案されており、どのような方法を用いても構わない。本実施形態においては、検出した勝者ニューロンの位置が、(iwin、jwin)であったとした時、以下の式を用いて更新する。
Figure 2011008631
ここで、wi、j(k)は、更新回数t=kである時の、(i、j)の位置のニューロンの重みベクトルで、ここではそれぞれ、wi、j(k)が更新前、wi、j(k+1)が更新後の、(i、j)の位置のニューロンの重みベクトルである。また、uは入力した直交基底パターンである。ここで、ηは重みベクトルの更新度合い、Λは更新する範囲を決めるものであり、次の式4、式5で表される。
Figure 2011008631
Figure 2011008631
式4中のηは、初期学習係数であり、1より小さい正の定数である。凡そ0.1から1程度の範囲で適当に決めてやれば良く、本実施形態では0.8としている。式4からもわかるように、ηは、更新回数tが大きくなると、徐々に減少していき、k=Tで0になる。つまり、更新回数tが小さい内は、重みベクトルの更新度合いが大きく、更新回数tの増加に伴い、更新度合いを小さくしていく。
また、式5中のβは、重みベクトルを更新するニューロンの、更新回数が初期の時の、更新範囲を調整するパラメータであり、γは、更新回数が最終段階の時の、更新範囲を調整するパラメータである。この2つのパラメータは、いずれも正の定数であり、基本的にはβ+γ<1となるような範囲で設定する。具体的な値は、生成するSOMの規模に応じて適当に定めれば良く、本実施形態ではβ=0.02、γ=0.8としている。この式5からもわかるように、Λは、勝者ニューロンの位置を中心として、そこから離れるほど値が減少する(距離がある程度以上になると0になる)窓関数であり、この窓関数の(空間的な)大きさが、更新回数に従って、徐々に小さくなる。このような窓関数を用いることで、生成されるSOMは、類似したものが近くに配置されるような、トポロジカルなマップになる。また、更新回数に応じて、窓関数のサイズを小さくしていくことで、徐々に更新の影響範囲が局所化されていく。このため、後半の段階の更新においては、より近い配置間のトポロジーを重視し、途中段階までに構築されたマップ全体のトポロジーを、大きく変化させない。
ステップ196では、上記式3を用いて各ニューロンの重みベクトルの更新を行う。ここで、Λ{(i、j)、(iwin、jwin)}=0となるような位置のニューロンは、更新部分の値(式3の2項目)が0になり、実質的に更新されない。したがって、このような位置のニューロンを除いた全ニューロンについて、重みベクトルを更新すれば良い。
重みベクトルの更新が終了した後、ステップ197で、更新回数tの値を1増加させる。これに従って、上記説明したように、次回のステップ196での重みベクトル更新の際の、重みベクトルの更新度合いと、更新範囲を減少させる(ステップ198)。また、tの値を1増加させたことにより、t=Tとなった場合は、SOMの更新を終了させる。したがって、ステップ191及び192の処理の後、ステップ193よりステップ199に進む。
ステップ198までの処理が終了した後、ステップ191及び192の処理に戻る。初期化の段階(t=0の段階)では、ここでの処理において、全てのニューロンの重みベクトルについて、直交基底化とクラス分類の処理を行ったのに対し、ここでは、重みベクトルの更新を行ったニューロンのみ、直交基底化とクラス分類の処理をやり直せば良い。
上記処理をt=Tになるまで繰り返し行う。すなわち、t=Tの段階でステップ191及び192の処理が終了した後、ステップ193からステップ199に進む。ステップ199においては、100×100個全てのニューロンの重みベクトルと、対応するクラスを、各ニューロンの位置と共に出力する。
以上で、SOM生成処理部177での処理(ステップ187)が終了となり、クラス対応インデックス決定部178における処理に進む。
続いて、クラス対応インデックス決定部178での処理についての説明を行う。
クラス対応インデックス決定部178では、生成したSOMを元に、各クラスに対応するインデックスを決定する。先にも述べた通り、本実施形態では、1つのクラスに複数種類の値が対応する場合がある。そのような場合、このクラス対応インデックス決定部178では、複数種類の値それぞれに対応するテンプレート(インデックス決定部154で利用する3×3画素=9次元ベクトル)を求める処理も行う。
クラス対応インデックス決定部178における処理のフローを、図20に示す。
まずステップ200で、生成したSOMを複数の領域に分割する。ここでの各領域は同じサイズの矩形領域であるが、領域のサイズを位置ごとに変えたり(例えば、SOMの中心部分はサイズを小さくする等)、矩形ではなく六角形等その他の形状を用いても構わない。本実施形態では、生成したSOMを、縦横5×5=25個の正方形の領域に分割する。本実施形態のSOMは100×100個のニューロンで構成されているので、20×20=400個のニューロン分の領域が、分割された1つの領域になる。ここで、分割した各領域の、上からi番目、左からj番目の領域を、(i、j)の領域と記載する。
続いて、ステップ201で、クラス0からクラス255までを順に1つずつ選択する。選択する順は問わないので、ここではクラス0から順に選択していけば良い。
次に、ステップ202−1で、分割した領域内のニューロンの内、それぞれの重みベクトルが対応するクラスと、選択したクラスが一致するニューロン数を求める。この処理は、分割した各領域について行われる。ここで、それぞれの重みベクトルが対応するクラスは、ステップ192で分類されたクラスである。例えば、クラス0が選択されていたならば、各領域において、クラス0に分類されたニューロンをカウントすれば良い。以降、選択したクラスと一致する、各領域におけるニューロン数を、クラス一致数と記載する。
ステップ203において、全ての領域(本実施形態では、5×5=25個の領域)で、クラス一致数が0であったような場合は、ステップ2010に進む。このような状況は、生成したSOMの中のニューロン全てにおいて、選択したクラスに分類されたものが無い場合に発生する。もし、このような状況でない場合、すなわち、クラス一致数が0でない(全カウント≠0)場合、ステップ204−1に進む。ステップ2010の処理については後に説明することとし、まず、ステップ204−1に進む場合について説明する。
ステップ204−1では、ステップ202−1で求めた、各領域のクラス一致数の内、最大の値である領域が1つであるか否かにより処理が分岐する。もし、クラス一致数が最大の値である領域が1つであるならば、ステップ205に進み、そうでなければ、ステップ206に進む。
クラス一致数が最大である領域が1つであった場合、選択したクラスは対応するインデックスが1種類であるとし、クラス一致数が最大であった領域の位置(i、j)をこのクラスに対応するインデックスとする(ステップ205)。これで、選択した1つのクラスに対応するインデックスが決まり、この1つのクラスに対する処理が終了となる。そして、全てのクラスを選択していないならば、クラス選択ステップ201に戻り、次のクラスを選択し、全てのクラスを選択して処理を行ったならば、クラス対応インデックス決定部178での処理が終了となる(ステップ2012)。
一方、クラス一致数が最大である領域が1つでない場合、ステップ206に進み、選択したクラスに対応するニューロンに対し、4近傍ラベリングを行う。この4近傍ラベリングでは、上下左右の隣接位置に、同じクラスのニューロン(重みベクトルが分類されたクラスが同一のニューロン)が存在するか否かを判定し、存在する場合は、それらを1つのクラスターとして連結する。これに関しては、後に具体的な例を用いて説明する。
ステップ206の処理が終了した後、ステップ207で、まず、各クラスターの連結個数をそれぞれカウントし、この連結個数が最大のクラスターを検出する。そして、この連結個数が最大であったクラスターのみ残して、その他のクラスターに属しているニューロンは削除する。ここで、削除とは、ステップ202−2において、再度、各領域のクラス一致数を求める際に、削除されたニューロンは、クラス一致数としてカウントしないという意味である。また、ここで、連結個数が最大のクラスターが複数あった場合は、これらの複数のクラスター全てを残すようにする。
次に、ステップ202−2で、ステップ202−1での処理と同様に、各領域におけるクラス一致数を求める。ただ、ここでは、上記のように、ステップ207で削除されたニューロンは、クラス一致数としてカウントしないようにする。
続いて、ステップ204−2で、ステップ204−1と同様に、各領域のクラス一致数の内、最大の値であるものが1つであるか否かにより処理が分岐する。もし、ここでのクラス一致数が最大の値であるものが1つであるならば、ステップ205に進み、ここでもクラス一致数が最大の値のものが複数あるならば、ステップ208に進む。
クラス一致数が最大の値である領域が1つであった場合、ステップ204−2での分岐で、ステップ205に進む。この場合、上記説明したステップ205の処理と同様の処理が行われる。つまり、ステップ201で選択したクラスは、対応するインデックスが1種類であるとし、クラス一致数が最大であった領域の位置(i、j)を、このクラスに対応するインデックスとする。これで、選択した1つのクラスに対応するインデックスが決まり、この1つのクラスに対する処理が終了となる。そして、上記の場合と同様に、ステップ2012において、全クラスを選択して処理を行ったか否かにより、ステップ201に戻るか、クラス対応インデックス決定部178での処理を終了するかに分岐する。
ステップ202−2で求めたクラス一致数でも、最大の値である領域が複数であった場合、上述の通り、ステップ208の処理に進む。このときは、ステップ201で選択したクラスには対応するインデックスが複数種類あるとし、ステップ202−2で求めたクラス一致数が最大であった全ての領域に対応するインデックスをこのクラスに対応するインデックスとする。より具体的には、例えば、ステップ202−2で求めた、クラス一致数が最大であった領域が2つで、それぞれの領域の位置が(i、j)と(i、j)であったとする。この場合、ステップ208では、この2つのインデックス(i、j)と(i、j)の両方を、選択したクラスに対応するインデックスと決定する。
ステップ208の処理が終了した後、ステップ209で、ステップ208で決定した複数種類のインデックスそれぞれに対応するテンプレートを求める。このテンプレートは、クラス一致数が最大であった領域ごとに、その領域内で、選択したクラスと、所属クラスが一致するニューロンの重みベクトルの平均ベクトルを求め、そのベクトルを直交基底化することにより求める。ここでの直交基底化も式2を用いて行うが、各重みベクトルは、既に直交基底化されているので、実際には単なる正規化(ベクトルの大きさを1にする)を行うだけである。本実施形態での重みベクトルが9次元であるので、このテンプレートも9次元のベクトルとなる。ステップ209では、このような9次元のベクトルであるテンプレートを、決定した複数種類のインデックスごとに求め、各インデックスに対応させて、求めたテンプレートを記録しておく。ここで記録したテンプレートは、実際には、対応するインデックスと共に、クラス対応インデックスデータベース155に記録しておき、実際の画像変換におけるインデックス決定部154での処理において用いる。
ここで、1つのクラスに対して、複数種類のインデックスが対応している場合、先にも説明したように、まず、内積が計算される。すなわち、抽出された3×3画素のパターンと、このパターンが分類されたクラスに対応する、複数種類のインデックスそれぞれに対して記録されているテンプレートとの内積を求める。そして、最も内積値が大きかったテンプレートに対応するインデックスを、クラス対応インデックスデータベース155から選択して読み出す。本実施形態では、これらのテンプレートとの類似度算出方法として単純に内積を用いているが、先に述べた第2正準角(の余弦)による類似度算出方法に従えば、本来は、抽出された3×3画素のパターンも直交基底化する必要がある。しかし、ここで用いるテンプレートは、既に直交基底化されており、また、ここでは、それぞれのテンプレートに対応する第2正準角(の余弦)の大小関係のみ判定すれば良い。したがって、抽出された3×3画素のパターンを直交基底化する必要は無い(直交基底化の有無によって、大小関係の結果は変わらない)。
ステップ209の処理終了後、今までと同様に、ステップ2012において、ステップ201に戻るか、クラス対応インデックス決定部178での処理を終了するかに分岐する。以上説明した処理により、ステップ202−1で求めたクラス一致数が全ての領域で0では無い場合について、選択したクラスに対応する1つまたは複数のインデックスと、対応するテンプレートが求められる。
最後に、クラス一致数が全ての領域において0であり、ステップ203において、ステップ2010に進んだ場合について説明する。
まず、ステップ2010で、選択したクラスに対応する、先に、クラス別直交基底パターン群データベース176に記録した、多数の直交基底パターンを、1つずつ順にSOMに入力する。入力する直交基底パターンの数は、ある程度、多ければ任意であるが、本実施形態では、選択したクラスに対応する全ての直交基底パターンを順次入力する。この際、SOM生成処理部177での処理のように重みベクトルを更新せず、単純に、入力した直交基底パターンに対応する勝者ニューロンの検出のみを行う。具体的には、生成したSOM内の100×100個のニューロンのそれぞれの重みベクトルと、入力した直交基底パターンとの内積を求め、この内積値が最大のニューロンを勝者ニューロンとして検出する。前述のSOM生成処理部177における勝者ニューロンの検出では、分類されたクラスを考慮した合致度を用いたが、ここではクラスが一致することは無いので、単純に内積値を求めれば良い。このような、勝者ニューロンの検出を、ここで入力する多数の直交基底ベクトルについて行い、どのニューロンが何回勝者ニューロンとして検出されたかをカウントしておく。
次に、ステップ2011で、SOM領域分割200で分割したそれぞれの領域ごとに、その領域内のニューロンにおける、勝者ニューロンとして検出された回数の総和を求める。この各領域に対する、勝者ニューロンとして検出された回数の総和を、以降では勝者カウントと記載する。そして、ここで求めた、各領域の勝者カウントをクラス一致数と同等のものとみなして、ステップ204−2に進む。その後、先に説明したステップ202−2以降と同様の処理を行う。つまり、ここで求めた各領域の勝者カウントの内、カウント数が最大の領域が1つのみであった場合は、ステップ205に進み、その領域に対応するインデックスを選択したクラスに対応するインデックスであると決定する。この場合は、選択したクラスには、1種類のインデックスのみが対応することになる。
一方、カウント数が最大の領域が、複数であった場合は、ステップ208に進み、この複数の領域それぞれに対応するインデックスを、選択したクラスに対応するインデックスであると決定する。但し、カウント数が最大の領域が複数となる条件は、通常であれば、ほとんど発生しない。この場合は、選択したクラスには、複数種類のインデックスが対応するので、前述の場合と同様に、ステップ209で、複数種類のインデックスそれぞれに対応したテンプレートを求める。前述のステップ209では、その領域内のニューロンで、選択したクラスと一致するニューロンの重みベクトルの平均を、直交基底化したものをテンプレートとした。しかしここでは、選択したクラスと一致するニューロンは存在しないので、領域内全てのニューロンの重みベクトルの平均を求め、それを直交基底化したものをテンプレートとする。このテンプレートは、先と同様に、クラス対応インデックスデータベース155に記録しておき、インデックス決定部154での処理において用いる。
以上の処理(ステップ205若しくはステップ209)終了後、ステップ2012に進む。そして、ステップ2012において、ステップ201に戻るか、クラス対応インデックス決定部178での処理を終了するかに分岐する。以上により、クラス一致数が全領域で0であった場合について、選択したクラスに対応する1つまたは複数のインデックスと、対応するテンプレートが求められる。
以上のように、SOMを分割して得られた複数の領域の各々を、当該SOMと同じ次元数を有する、ヒストグラムのビンとし、それら複数の領域の各々における複数のクラスのマッピング状況に基づき、各クラスに対応するビンが決定される。上記処理により、全てのクラス(クラス0からクラス255まで)に対し、1種類若しくは複数種類のインデックスと、それらに対応するテンプレートを求めることになる。この処理により、クラス対応インデックス決定部178での処理(ステップ188)が終了となり、クラス対応インデックス等出力部179での処理に進む。
上記クラス対応インデックス決定部178での処理の説明では、一部説明を省略した部分(ステップ206等)があった。また、処理が煩雑で理解しがたいと思われるので、このクラス対応インデックス決定部178での処理を、生成されたSOMが、図21に示したようなものであった場合を例として説明する。
図21に示した生成後のSOMは、本来は、ニューロン数が100×100=10,000で、クラス数も256個であるが、ここでは、説明を簡単にするため、ニューロン数を全部で9×9=81個とし、クラス数も0から9までの10クラスとしている。また、本来は、生成後のSOMを、5×5=25個の領域に分割するが、簡単のため、3×3=9個の領域に分割した場合について説明する。この図において、円形で示したもの(例えば、211−11や、211−96等)が、SOMの各ニューロンであり、円内の数値は、そのニューロンが、分類されているクラスを示している。この図において、上からi番目、左からj番目のニューロンを、211−ij(一部のみ図示)と表すことにする。また、図中、二重線枠で示した領域(例えば、212−11や、212−33等)それぞれが、この例でのSOMを分割した各領域である。これらの領域についても、上からi番目、左からj番目の領域を、212−ijと表すことにする。この図21に示したSOMの例を用いて、クラス0からクラス9までに対応するインデックスの決定方法について説明する。
SOMの領域分割(ステップ200)は図21に示した通りなので、次に、1つのクラスに順に着目していく(ステップ201)。クラス0に注目し、各領域それぞれにおけるクラス一致数を求める(ステップ202−1)と、以下のようになる。
・領域212−11:0個
・領域212−21:1個
・領域212−31:0個
・領域212−12:0個
・領域212−22:5個・・・最大
・領域212−32:1個
・領域212−13:0個
・領域212−23:3個
・領域212−33:0個
このため、クラス0については、最大のクラス一致数が5で、クラス一致数が最大である領域が1つのみであるので、それに対応するインデックス(2、2)が、クラス0に対応するインデックスとなる(ステップ204−1、205)。同様の処理により、クラス1は(1、3)、クラス5も(1、3)、クラス6は(1、1)、クラス8は(3、1)、クラス9は(3、2)が、それぞれ対応するインデックスになる。
クラス2に関しては、領域212−12と、領域212−22におけるクラス一致数が、両方とも4で最大であるので、4近傍ラベリングの処理に進む(ステップ204−1)。4近傍ラベリングでは、先にも述べたように、上下左右に同じクラスのニューロンがあれば、それを連結していき、いくつかの連結されたまとまり(クラスター)を構築する(ステップ206)。クラス2の例であれば、2つのクラスターが構築される。まず1つは、領域212−11内のクラス2である2つのニューロンと、領域212−12内のクラス2である4つのニューロンの、計6つのニューロンを連結したクラスターである。もう1つは、領域212−21内のクラス2である1つのニューロンと、領域212−22内のクラス2である4つのニューロンの、計5つのニューロンを連結したものである。このように、4近傍ラベリングでは、上下左右にある同じクラスのニューロンを連結していき、クラスターを構築する。そして、構築したいくつかのクラスターの内、連結個数が最大のもののみ残して、それ以外のクラスターに属するニューロンは削除対象とする。前述の2つのクラスターであれば、前者のクラスターが、連結個数が6つで最大であるので、後者のクラスターに属する5つのニューロンは削除対象とする(ステップ207)。そして、削除対象とならずに残ったニューロンのみを用いて、もう一度、各領域におけるクラス一致数を求める(ステップ202−2)。クラス2の場合、領域212−21及び領域212−22内にあったクラス2のニューロンは削除対象となったので、クラス一致数としてカウントしないようにする。この場合、領域212−11のクラス一致数が2、領域212−12のクラス一致数が4で、それ以外では、クラス一致数は全て0となる。このため、この時のクラス一致数の最大は4で、最大なのは領域212−12のみである。よって、クラス2に対応するインデックスは、領域212−12に対応する(1、2)となる。この処理は、ステップ204−2でのYES分岐、及びステップ205に対応する。
クラス3についてクラス2と同様の処理を行うと、領域212−32と212−33に存在するクラス3のニューロン以外は削除対象となる(ステップ207)。ここで再度、クラス一致数をカウントすると、領域212−32、212−33とも、最大の4となる(ステップ202−2)。この場合、それぞれの領域に対応する(3、2)と(3、3)の2つが、クラス3に対応するインデックスとなる(ステップ204−2、ステップ208)。そして、それぞれの領域に存在する、4つのクラス3であるニューロンの重みベクトルの平均ベクトルを求め、それを直交基底化したものを、それぞれのインデックスに対応するテンプレートとして求める(ステップ209)。例えば、インデックス(3、2)に対応するテンプレートは、領域212−32内に存在する4つのクラス3であるニューロンの重みベクトルの平均ベクトルを求め、それを直交基底化したものとして求める。
クラス7の場合、クラス2やクラス3と同様の処理を行っても、4近傍ラベリングの処理で構築される2つのクラスターが、両方とも連結個数4つで最大である。このような場合、両方のクラスターを残すので、削除対象となるニューロンが無いことになる(ステップ207)。ここで再度、クラス一致数をカウントする(ステップ202−2)が、この結果は、先にクラス一致数をカウント(ステップ202−1)した時と変化が無い。つまり、領域212−23と212−33のクラス一致数が、両方とも最大の4であり、それ以外の領域では0となる。そのため、このクラス7には、これら2つの領域に対応する、(2、3)と(3、3)の2つのインデックスが対応することになる(ステップ204−2、ステップ208)。そして、ここでも、クラス3の時と同様に、それぞれの領域に存在する、クラス7であるニューロンの重みベクトルの平均ベクトルを求め、それを直交基底化したものを、それぞれのインデックスに対応するテンプレートとして求める(ステップ209)。
最後に、クラス4の場合について説明する。クラス4は、図21からもわかるように、クラス4であるニューロンが、SOM上に1つも存在しない。そのため、全ての領域におけるクラス一致数が0となってしまう(ステップ202−1)。そこで、クラス4に対応する多数の直交基底パターンをSOMに入力する処理に進む(ステップ203)。なお、クラス4に対応する多数の直交基底パターンは、クラス別直交基底パターン群データベース176内の、クラス4直交基底パターン群176−4(非図示)に記録されているパターンである。ここで、例えば、クラス4に対応する直交基底パターン1,000個を、SOMに順次入力したとする。そして、入力したそれぞれの直交基底パターンに対応する勝者ニューロンを検出する処理を行う(ステップ2010)。このとき、それぞれの領域ごとに、その領域内のニューロンが勝者ニューロンとして検出された回数の総和を求める(ステップ2011)。この結果、各領域における、勝者ニューロンとして検出された回数の総和が、以下のようになったとする。
領域212−11:58回
領域212−21:132回
領域212−31:98回
領域212−12:263回・・・最大
領域212−22:263回・・・最大
領域212−32:74回
領域212−13:82回
領域212−23:30回
領域212−33:0回
この場合、勝者ニューロンとして検出された回数の総和は、領域212−12と、領域212−22の2つの領域が、最大の263回である。したがって、クラス4には、それぞれの領域が対応する(1、2)と(2、2)が、対応するインデックスとなる(ステップ204−2、208)。そして、それぞれの領域ごとに、その領域内の全ニューロンの重みベクトルの平均を求め、それを直交基底化したものを、それぞれに対応するテンプレートとして求める(ステップ209)。ここでは、勝者ニューロンとして検出された回数の総和が、2つの領域において同じで、且つ、それが最大値であったため、上記のように、2つのインデックスを対応させる結果になった。しかし、例えば、領域212−12における総和が264回で、領域212−22における総和が262回であった場合、クラス4には(1、2)のインデックスのみが対応する。したがって、この場合、このインデックスに対応するテンプレートは求める必要が無い。
以上の結果をまとめると、以下のようになる。
[クラス]:[対応するインデックス]
・クラス0:(2、2)
・クラス1:(1、3)
・クラス2:(1、2)
・クラス3:(3、2)、(3、3)
・クラス4:(1、2)、(2、2)
・クラス5:(1、3)
・クラス6:(1、1)
・クラス7:(2、3)、(3、3)
・クラス8:(3、1)
・クラス9:(3、2)
この中で、クラス3、クラス4、クラス7は、対応するインデックスが複数なので、上記のように、それぞれのインデックスに対応するテンプレートを求め、対応するインデックスと共に記録しておく。この例では、1つのクラスに最大でも2種類のインデックスしか対応していないが、3種類以上のインデックスが対応しても構わない。その場合でも、それぞれのインデックスに対応するテンプレートを求めて、インデックスと共に記録しておく。上記の例では、領域212−21に対応するインデックスである(2、1)に対応するクラスが存在しなかった。しかし、このような状況でも、特別な処置をする必要はなく、実際の画像変換時に、このインデックスに対応するビンには、要素が投票されないだけである。
上記では、簡単のため小規模な例を示したが、本実施形態では、実際には100×100個のニューロンからなるSOMを5×5個の領域に分割し、256個のクラスそれぞれに対応するインデックスを求める。ここでインデックスが複数種類に対応する場合は、それぞれに対応するテンプレートも求める。このインデックスを用いたヒストグラム(本実施形態では、5×5個のビンを持つ2次元ヒストグラム)を、実際の画像変換時に利用した場合、通常のLBPコード基準のヒストグラムに対して、以下のような違いがある。
まず1つめは、上記の例からもわかるように、類似したクラス(SOM上で近い位置にマッピングされたクラス)に対応するインデックスを同じものにできることである(例えば、上記の例における、クラス1とクラス5等)。これにより、類似したクラスのパターンは、同じビンに対応するので、パターンの変動によりパターンの属するクラスが変動した場合でも、同じビンが対応する可能性が高くなり、変動に対するロバスト性が高まる可能性がある。
また、上記と同様の点であるが、ヒストグラムのビンの個数を、任意の数、特に、クラス数よりも少なくできるという点も挙げられる。通常のLBPコード基準のヒストグラムではビンの個数が256個になる。このようなヒストグラムを用いると、例えば、10×10画素分の領域のヒストグラムを求める場合等、ヒストグラムを生成するための要素数が少ない場合、ヒストグラムが非常に疎になってしまう。これに対し、本実施形態のヒストグラムは、ビンの個数が5×5=25個しかないので、比較的、密なヒストグラムを生成できる。ビンの個数が少なければ良いわけではないが、本実施形態では、ヒストグラムを生成するための要素数に合わせて、問題に適したヒストグラムの生成が可能になる。
更に、通常のLBPコード基準のヒストグラムでは、1つのコード(クラス)は、1つのビンにしか対応しないが、本実施形態のヒストグラムでは、1つのクラスが複数のビンに対応可能になる。この場合、多少、処理時間を要するが、1つのクラスに対応するSOM上での分布が比較的大きい(例えば、上記の例におけるクラス3)場合に、それを分割して表現可能となる。そのため、より表現力の高いヒストグラムを生成可能になる。
もう1つの大きな違いは、このヒストグラムでは、隣接するビンが類似している点である。通常の、LBPコード基準のヒストグラムでは、例えば、LBPコードが隣接しているとしても、これらのビン間に、特に関連性は定義できないので、独立したものと扱う場合が多い。これに対し、本実施形態のヒストグラムでは、隣接したビンは類似したビンといえるので、何らかの関連性を持たせることが可能になる。関連性を持たせる例としては、生成したヒストグラムに、ヒストグラム空間上で平滑化フィルタをかけるものが挙げられる。このような平滑化フィルタをかけると、あるビンに投票する際に、隣接したビンにもある程度の重みをつけて投票するのと同等な効果が得られる。これにより、パターンの何らかの変動により、パターンの属するクラスが変動した場合でも、隣接するビンにも投票されるため、ロバスト性が高まる可能性がある。
以上が、本実施形態における、クラス対応インデックス決定部178での処理(ステップ188)である。そして、クラス対応インデックス等出力部179で、求めた全クラスに対応するインデックスを外部に出力する(ステップ189)。このとき、複数種類のインデックスが対応するクラスに関しては、その複数種類のインデックスそれぞれに対応するテンプレートも合わせて出力する。ここで出力された、各クラスに対応するインデックス、及び、複数種類のインデックスそれぞれに対応するテンプレートが、クラス対応インデックスデータベース155に記録され、画像変換時に用いられる。
このように、本実施形態では、非特許文献11の、SOMの技術を用いて各クラスの分布マップを生成し、それに基づいて、各クラスに対応する、ヒストグラムのインデックスを決定して、それを変換の際に用いる。これにより、変換元のパターンが類似していれば、ヒストグラム上で近い位置のインデックスとなる等、変換元のパターンの違いを、ある程度低次元の値で好ましく表現可能な画像変換が可能となる。ここで、次元数はヒストグラムの次元数であるので、2次元である。
本実施形態では、SOMを生成後、そこから、各クラスに対応するヒストグラムのインデックスを決定するようにした。しかし、生成したSOMから、第1から第3実施形態のように、各クラスに対応する実数値を求め、それを、各クラスに対応する変換値としても構わない。例えばSOM上で、各クラスに対応するニューロンに関して、それらの重心位置を求め、その重心位置座標値を、そのクラスに対応する変換値とする等しても良い。なお、各ニューロンの各クラスへの分類は、上述したように、各ニューロンの重みベクトルに基づいて行うことができる。また逆に、第1から第3実施形態においては、各クラスがマッピングされた位置座標を、そのクラスに対応する変換値としたが、本実施形態と同様に、それぞれのマップに基づいて、多次元のヒストグラムを利用するように変更できる。また、本実施形態では、生成するSOMが2次元のマップであったため、用いるヒストグラムも2次元のヒストグラムとなっていた。しかし、生成するSOMを1次元や3次元等にすれば、用いるヒストグラムも1次元や3次元のヒストグラムにすることが可能である。
次に、上記説明した画像変換方法を用いて、縦横20×20画素の、人物の顔を切り出したグレースケール画像を変換し、その変換後の画像を用いて、それが何れの人物の顔画像であるかを識別する、パターン識別方法の例を示す。
図22に、第4実施形態における、パターン識別方法の処理ブロック図を示す。また、図23は、第4実施形態における、パターン識別方法の処理フローを示した図である。
図22からもわかるように、本実施形態のパターン識別方法における処理部の構成も、第1から第3実施形態のパターン識別方法における処理部の構成と類似しており、処理のフローも、ほぼ同様である。しかし、各処理部における処理の内容が、多少異なる部分があるので、その異なる部分のみを詳細に説明する。
まず、画像入力部220において、縦横20×20画素の、人物の顔を切り出したグレースケール画像(以下、単に入力画像とする)を入力する(ステップ230)。
次に、画像変換部221で、入力画像を、上記画像変換方法により変換する(ステップ231)。本実施形態では、注目画素として選択される画素は、18×18画素分であり、各注目画素に対応するのは、2個の1から5までの整数値からなる2次元ヒストグラムのインデックスである。そのため、ここでは、2個の1から5までの整数値からなるインデックスを、18×18画素分並べた変換画像が得られる。
続いて、局所ヒストグラム生成処理部222において、まず、画像変換部221で変換した18×18画素分の結果を3×3個の正方形領域(各領域が6×6画素分に対応する領域)に分割する。そして、それぞれの領域において、縦横5×5個のビンからなる2次元ヒストグラムを生成する。そして、各領域で生成した2次元ヒストグラムに対して、ヒストグラム空間における空間的な平滑化フィルタをかける。本実施形態では、図24の(a)に示したような、中心部分が0.6で、上下左右の隣接した位置が0.1であるような空間フィルタを畳み込むことにより、2次元ヒストグラムに平滑化フィルタをかける。例えば、まず単純に、1つの領域(6×6画素からなる領域)で、2次元ヒストグラムを生成した時に、図24の(a)の左側のような2次元ヒストグラムが得られたとする。図24の(a)の左側に示したものは、5×5個のビンで構成される2次元ヒストグラムで、各ビンに投票された数を示したものである。これに対し、上記フィルタを用いた畳み込みを行うと、図24の(a)の右側のように、2次元ヒストグラムの端部が広がる。このような広がりは、切り捨ててしまっても良い。しかし、本実施形態では、このような広がりも含めるようにし、全部で45個のビンで構成されるヒストグラムとみなすようにする(この場合、ビン内の数値の総和は、6×6=36画素分となり変化しない)。局所ヒストグラム生成処理部222では、このような、平滑化フィルタ適用後の45個のビンで構成されるヒストグラムを、3×3個に分割した正方形領域それぞれにおいて求める処理を行う(ステップ232)。これにより、全部で9個からなるヒストグラム群(=1セット)が求められる。
局所ヒストグラム生成処理部222での処理終了後、類似データ探索部223での処理に進む。登録データベース224には、登録者のデータとして、登録者1人ずつに対応する1セットのヒストグラム群が保持されている。類似データ探索部223では、登録データベース224に保持された登録者のデータの内、生成したヒストグラム群と最も近いデータを探索し、そのデータとの類似度を求める。登録者のデータは、予め、登録する人物1人につき、少なくとも1枚の、その人物の顔を切り出したグレースケール画像を用いて生成する。具体的には、まず、1枚ずつ、画像入力部220から局所ヒストグラム生成処理部222までの処理を実行して、1枚の画像につき、1セットのヒストグラム群(9個のヒストグラム)を生成する。そして、各領域に対応するヒストグラムを平均化し、9個のヒストグラムからなる1セットのヒストグラム群を生成する。平均化では、例えば、10枚の画像を用いたならば、9個の領域それぞれに対して、同一の領域から生成した10個分のヒストグラムを平均化する。このように生成した1セットのヒストグラムを、ここで、登録者のデータとして用いるようにする。登録データベース224は、各登録人物それぞれに対応する、このような平均化した9個で1セットのヒストグラム群と、それがどの人物であるのかのラベルが記録されている。
類似データ探索部223での処理では、まず、登録データベース224から、記録されている9個のヒストグラムのセットを、1セットずつ順番に選択する(ステップ2330)。次いで、選択した1セットのヒストグラムと、局所ヒストグラム生成処理部222で、生成した、入力画像を処理することにより求めた1セットのヒストグラムとの類似度を求める(ステップ2331)。ここでヒストグラム間の類似度は、どのような方法で求めても構わないが、本実施形態においては、非特許文献14のHistogram Intersectionの手法を用いて類似度を求める。
具体的には、9個の対応するヒストグラム間で、非特許文献14のHistogram Intersectionを求め、この9個のHistogram Intersectionの総和を、1セットのヒストグラム間の類似度として求めるようにする。
そして、求めた類似度が今までに求めた類似度より大きいならば、求めた類似度と、その時の、登録データベース224から選択した1セットのヒストグラム群に対応する人物のラベルにより、類似データを更新する(ステップ2332)。これらの処理を、登録データベース224に記録されている全データついて行う。そのため、ステップ2330において、選択していない登録データがあるならばステップ2330に戻り、全ての登録データを選択して処理を行ったならば次の処理に進む(ステップ2334)。
最後に、識別結果出力部225において、類似データ探索部223での処理結果に基づいて、入力画像がいずれの人物の画像であるかを出力する。ここでも、第1実施形態と同様に、登録データベース224の内、最も類似度が大きかったデータに対応するラベルと、その最大の類似度と所定の閾値とに基づいて、最終的な判定を行い、その結果を識別結果として外部に出力する(ステップ234)。
以上、画像入力部220から識別結果出力部225までの処理により、人物の顔を切り出したグレースケール画像を変換し、その変換後の画像が何れの人物の顔画像であるかを識別可能になる。このように、本実施形態によれば、明るさ等の変動にロバストな変換(LBPと同様に、明るさとコントラストの変動には不変)が行われる。このように変換しておくことで、入力画像の明るさ等の変動に対してロバストに、それが何れの人物の顔画像であるか識別可能になる。また、本実施形態の画像変換方法を用いることにより、変換元となる3×3画素のパターンが類似していれば、対応するインデックスが凡そ類似したインデックスになる。そのため、入力画像のサイズなど、明るさやコントラスト以外の変動に対しても、ロバストに認識することが可能になる。
本実施形態では、変換した画像を用い、それを領域分割してそれぞれの領域でヒストグラムを生成し、各領域におけるHistogram Intersectionを基準にパターン識別を行う例を示した。しかし、例えば、ヒストグラム間の比較において、非特許文献15のEarth Mover’s Distanceを用いる等、その他の手法を用いてパターン識別処理を行うようにしても構わない。
以上、第4実施形態では、人物の顔を切り出したグレースケール画像を、明るさ等の変動に対してロバストに変換する方法を説明した。また、その変換後の画像が何れの人物の顔画像であるかを識別する、パターン識別方法の例を説明した。
(第5実施形態)
第5実施形態では、第1から第4実施形態で示した画像変換方法の変形として、本発明をベクトル量子化の技術に適用した場合の例を示す。本実施形態でも、第1から第4実施形態と同様に、人物の顔を切り出したグレースケール画像を変換し、その変換後の画像が何れの人物の顔画像であるかを識別する、パターン識別方法の例を示す。
第1から第4実施形態では、注目画素の位置により決まる、複数の位置の画素値パターンを用い、LBPやCTのような基準でクラス分類を行い、そのクラス分類結果に基づいて、予め求めておいた変換値(若しくは、インデックス)に変換するようにした。第1から第4実施形態で用いているLBPやCTのような基準でのクラス分類は、複数個の画素値パターン、つまり多次元のベクトル値を、幾つかのクラスに分類するという意味で、広義に捉えると、ベクトル量子化の一種と考えることができる。本実施形態では、第1から第4実施形態における、クラス分類の方法を、ベクトル量子化におけるクラス分類の方法に変更することで、ベクトル量子化の技術にも適用可能であることを示す。
図2に、第5実施形態における、画像変換方法の処理ブロック図を示す。また、本実施形態における、画像変換方法の処理フローは、第1実施形態と同様に図4である。図2に示した処理部の構成からもわかるように、本実施形態の画像変換方法も、基本的な処理の流れは、第1実施形態と同様である。ただし、クラス分類処理部263での処理の内容や、このクラス分類処理部263で用いるデータが記録されている、代表ベクトルデータベース268が追加されている部分が異なる。また、クラスに対応した変換値も異なる。以下では、この第1実施形態との差異を詳細に説明する。
画像入力部260から近傍パターン抽出部262までにおける処理(ステップ40〜42)は、第1実施形態と同様なので説明を省略する。ここまでで、入力画像から1つの注目画素が選択され、その注目画素を中心とする3×3画素のパターンが抽出される。
第1実施形態では、3×3画素のパターン抽出後、このパターンに対し、LBPと同等の基準でクラス分類を行った。これに対し、本実施形態では、まず、クラス分類処理部263で、抽出した3×3画素のパターンと、代表ベクトルデータベース268に予め記録しておいた複数の代表ベクトルそれぞれとの類似度を求める。そして、類似度が最も高かった代表ベクトルに対応するクラスに、抽出した3×3画素のパターンを分類する。代表ベクトルデータベース268に記録されている、複数の代表ベクトルは、詳細は後に述べるが、予め行うベクトル量子化の学習時に求めた、複数の3×3=9次元のベクトルである。また、それぞれの代表ベクトルは、対応するクラス番号と共に代表ベクトルデータベース268に記録されている。本実施形態では、後に説明するベクトル量子化の学習時に、全部で100個の代表ベクトルを求めるようにする。そのため、代表ベクトルデータベース268には、この100個の代表ベクトルそれぞれに、0から99までのクラス番号が記録されている。それぞれの代表ベクトルと、抽出した3×3画素のパターンとの類似度は、第4実施形態において説明した、相互部分空間法に類似した基準で求める。ただし、第4実施形態では、明るさとコントラストの変動を考慮したが、本実施形態では、これに加え、3×3画素のパターンにおける、任意の方向の1次の輝度勾配変動も考慮して類似度を求める。
上記任意の方向の1次の輝度勾配変動は、例えば、図12の(a)や(b)に示したような、ある方向への勾配が一定であるような成分が、パターンに付加されるような変動である。因みに、図12の(a)は、水平方向から右下方向にarctan(3/4)だけ回転した方向への輝度勾配が一定のパターンであり、図12の(b)は、水平方向から左下方向にarctan(5/12)だけ回転した方向への輝度勾配が一定のパターンである。ここで、図12の(a)や(b)に示したようなパターンは、詳細な説明は割愛するが、図12に示した(c)と(d)の線形和で表現できる。そのため、あるパターンxに対して、明るさやコントラストに加え、任意の方向の1次の輝度勾配を、任意に変動させたパターンは、任意の正の実数aと任意の実数b、c、dを用いて、ax+b1+ch+dvと表すことができる。ここでhは、図12の(c)のパターンに対応する3×3=9次元のベクトルで、h=(−1/√6、0、1/√6、−1/√6、0、1/√6、−1/√6、0、1/√6)である。同様にvは、図12の(b)のパターンに対応する9次元ベクトルで、v=(−1/√6、−1/√6、−1/√6、0、0、0、1/√6、1/√6、1/√6)である。上記表現ax+b1+ch+dvでは、aとbは、第4実施形態と同様、コントラストと明るさの変動に対応しており、cとdは、輝度勾配の方向と勾配の強さに対応している。
ここで、第4実施形態と同様に、ax+b1+ch+dvのa(>0)やb、c、dを任意に変化させた場合を考えると、このax+b1+ch+dvは、9次元空間内の4次元部分空間(これもa>0なので半空間)となる。そこで、第4実施形態と同様に、パターン間の類似度を求める際に、このような4次元部分空間同士の類似度を求めることで、明るさやコントラストの変動に加え、上記輝度勾配変動に対しても不変に類似度を求めることが可能になる。部分空間同士の類似度としては、非特許文献12の相互部分空間法のように、部分空間の正準角を用いる。4次元部分空間同士の場合、正準角は4つある(第1から第4正準角)が、ここでは第4正準角を、パターン間の類似度として用いる。これは、第4実施形態での場合と同様に、類似度を求める2つのパターンがどのようなパターンであっても、明るさの変動、即ち、1の方向への変動と、輝度勾配変動への方向、即ち、hとvの線形和で表される方向への変動は同一である。そのため、第1から第3正準角は必ず0になるためである。
この第4正準角は、第4実施形態と同様に、第1から第3正準角が自明で、残りの正準角が1つしかないことから、以下のような単純な方法で、第4正準角の余弦を求める。
まず、上記4次元の部分空間の、4つの正規直交基底を、第4実施形態と同様に、非特許文献13のGram−Schmidtの直交化手法を用いて求める。但し、このとき、基底u、u、uを、任意のパターンにおいて共通である変動方向、つまり、ベクトル1、h、v方向の正規基底とする。つまり、基底uを、1/|1|とし、基底uをh、基底uをvとする。これら3つの基底は、互いに直交することは明らかであり、また、hとvは、既に正規化されているので、正規直交基底としてこのまま用いることにする。
この場合、Gram−Schmidtの直交化手法を用いると、パターンxに対する正規直交基底uは、次のように求められる。
Figure 2011008631
この正規直交基底uが、パターンxに対応する、本実施形態における直交基底パターンであり、パターンxを、式6を用いてuに変換する処理を、本実施形態における直交基底化と定義する。この時、2つのパターン間の、第4正準角の余弦は、第4実施形態と同様に、各パターンに対する、上記直交基底パターンuの内積を求めることにより得られる。また、第4実施形態と同様に、x=b1+ch+dvという特別の場合は、直交基底パターンは、全ての要素が0である9次元のベクトルにしてしまう。そして、もし、2つのパターンが、共にx=b1+ch+dvである場合は、類似度を1とする。
本実施形態におけるパターン間の類似度は、基本的には、上記説明した手法に従い、両方のパターンを式6に基づき直交基底化して、その内積を算出することにより求める。クラス分類処理部263でも、上記手法を用いれば良い。しかし、先にも述べたが、クラス分類処理部263では、基本的に、この類似度の大小関係のみを判定すればよく、また、後に述べるが、代表ベクトルデータベース268には、予め代表ベクトルを直交基底化したものが記録されている。そのため、このクラス分類処理部263では、抽出した3×3画素のパターンを直交基底化する必要は無く、単純に、このパターンと代表ベクトルとの内積を求め、その値の大小比較をすれば良い。第4実施形態におけるテンプレートとの比較と同様に、直交基底化の有無によって大小関係は変わらないからである。よって、このクラス分類処理部263では、まず、抽出した3×3画素のパターンと、代表ベクトルデータベース268に記録されている100個の代表ベクトルとの内積をそれぞれ求める。そして、求めた内積値が最も大きかった代表ベクトルに対応するクラス番号を代表ベクトルデータベース268から読み出し、読み出したクラス番号に対応するクラスに抽出した3×3画素のパターンを分類する(ステップ43)。
以降の、変換値割り当て部264から、変換画像出力部267での処理は、第1実施形態における、変換値割り当て部14から、変換画像出力部17での処理と、ほぼ同様であるので、詳細な説明は省略する。
変換値割り当て部264では、クラス対応変換値データベース265を参照し、分類されたクラスに対応する値を読み出して、その値を選択した注目画素に対応する変換値とする(ステップ44)。本実施形態では、クラス0からクラス99までのいずれかに分類される。ここで参照するクラス対応変換値データベース265は、クラスごとに、2つの数値からなる2次元のベクトル値が記録されている。この2次元ベクトル値も、第1実施形態と同様に、予め、各クラス間の相互関係に基づいて定めておいた値である。この2次元ベクトル値の定め方については、後に詳細に説明する。
変換値割り当て部264において、変換値を求めた後、この2次元ベクトル値である変換値を、注目画素選択部261で選択した注目画素に対応する変換値として、変換画像保持部266に記録して保持する(ステップ45)。
上記処理により、選択した注目画素に対して2次元ベクトル値である変換値が得られ、変換画像保持部266に記録される。このような変換値を、第1実施形態と同様に、18×18画素分求めるため、未選択の画素があるならば、注目画素選択部261での処理に戻り、18×18画素全てを選択して処理したならば次の処理に進むステップ46)。
以上のようにして、18×18画素の全てについて、2次元ベクトル値である変換値が求められ、変換画像保持部266に記録される。そして、最後に、変換画像出力部267で、変換画像保持部266に記録されている結果が外部に出力され(ステップ47)、画像変換処理が終了する。上記処理により、第1実施形態と同様に、それぞれの注目画素に対して得られた2次元のベクトル値を18×18画素分並べた画像を外部に出力する。
次に、本実施形態において重要な、代表ベクトルと、各クラスに対応する変換値の求め方について説明する。図9に、本実施形態における、代表ベクトルと、各クラスに対応する変換値を求める方法の処理ブロック図を示す。また、図10は、この代表ベクトルと、それぞれの変換値を求める方法の処理フローを示した図である。
まず、画像入力部280において、画像データベース285に保持されている多数のグレースケール画像の中から、1枚の画像を選択して入力する(ステップ290)。ここでは、第4実施形態と同様、明るさ等の正規化も行っていない任意のグレースケール画像を入力する。画像のサイズも、第4実施形態同様、640×480画素の画像を入力画像として用いることにする。このように任意のグレースケール画像を用いるのは、様々な画像に対するパターン識別方法への適用性を高めるためである。
次の、注目画素選択部281と近傍パターン抽出部282は、上記説明した注目画素選択部261と近傍パターン抽出部262の処理部と同様である。ただし、第4実施形態と同様に、入力画像のサイズが、20×20画素であるのか、640×480画素であるのかが異なる。つまり、入力画像から上下左右の端1画素を除いた、計638×478=304,964画素分の注目画素を順次選択して、選択した注目画素を中心とした3×3画素のパターンを抽出する(ステップ291、292)。ここで、第1実施形態等では、抽出したパターンのクラス分類を行った。しかし、本実施形態では、クラス分類に用いる代表ベクトルがまだ定まっていないため、第1実施形態等と同様のクラス分類を行うことができない。そこで、本実施形態においては、ここで抽出したパターンのクラス分類は行わず、次の直交基底パターン記録部284での処理に進む。
直交基底パターン記録部284では、まず、抽出した3×3画素のパターンを、式6に基づいて直交基底化して、直交基底パターンデータベース286に記録する。直交基底パターンは、9次元のパターンであるので、第4実施形態と同様に、9個の数値列として記録すれば良い(ステップ294)。
上記ステップ291〜294までの処理を、ステップ290で入力した1枚の画像に対し、第4実施形態と同様に、注目画素として選択すべき計638×478=304,964画素分、実行する。そのため、注目画素として選択していない画素があるならば、注目画素選択部281での処理に戻り、304,964画素の全てを選択して処理を行ったならば次の処理に進む(ステップ295)。
上記処理により、1枚の画像につき、304,964個分の直交基底パターンが、直交基底パターン群データベース286に記録される。このような処理を、第1実施形態等と同様に、画像データベース285に保持された全ての画像に対して実行する。そのため、入力していない画像があるならば、画像入力部280での処理に戻り、全ての画像を入力して処理を行ったならば、次のの処理に進む(ステップ296)。
本実施形態でも、第4実施形態と同様、100枚の画像を入力画像として用いる。したがって、各画像から304,964個分の直交基底パターンを抽出すると、直交基底パターン群データベース286には、総計100×304,964=30,496,400個の直交基底パターンが記録されることになる。
続いて、k−meansクラスタリング処理部287において、まず、非特許文献16のk−meansクラスタリングの手法を用い、直交基底パターン群データベース286に記録された、多数の直交基底パターンのクラスタリングを行う。
このクラスタリング後の複数のクラスターが各クラスに対応する。それぞれのクラスには、前述の通り1つの代表ベクトルが対応するが、本実施形態では、それぞれのクラスターに属する直交基底パターンの平均を直交基底化したものを、代表ベクトルとする。
k−meansクラスタリングでは、クラスタリング実行中に、暫定的なクラスターの平均ベクトルと、それぞれのデータとの比較を行うが、その比較方法としては、ユークリッド距離や、マハラノビス距離を用いるのが一般的である。これに対し、本実施形態においては、上記した相互部分空間法に類似したパターン間の類似度を用いる。より具体的には、クラスタリング実行時には、暫定的なクラスターの平均ベクトルを直交基底化したもの(以下、直交基底化クラスター平均と記載する)と、それぞれの直交基底パターンの内積を求める。こうして求めた内積に基づいてクラスタリングを実行していく。
k−meansクラスタリング処理部287では、まず、直交基底パターン群データベース286に記録された多数の直交基底パターンの中から、ランダムに複数の直交基底パターンを選択する。本実施形態では、クラス数を100個とするので、ランダムに100個の直交基底パターンを選択する。選択された100個の直交基底パターンは、既に直交基底化されているので、そのまま、初期の直交基底化クラスター平均として用いる。
次いで、直交基底パターン群データベース286に記録された全ての直交基底パターンそれぞれについて、各直交基底パターンが100個のクラスターのいずれに属するかを判定する。具体的には、各直交基底パターンと、100個の直交基底化クラスター平均それぞれとの内積を求めて、内積が最大であった直交基底化クラスター平均に対応するクラスターに、その直交基底パターンが属すると判定する。
続いて、100個のクラスターそれぞれにおいて、そのクラスターに属すると判定された、全ての直交基底パターンの平均を求め、それを直交基底化したものを、このクラスターに対応する新たな直交基底化クラスター平均とする。なお、直交基底パターンは既に直交基底化されているので、ここでの直交基底化は大きさを1に正規化すれば良い。
そして、求めた100個の新たな直交基底化クラスター平均を用い、再度、上記説明した手法で、全ての直交基底パターンが、それぞれ100個のクラスターのいずれに属するかを判定する。次いで、同様に、判定結果に基づいて、100個の新たな直交基底化クラスター平均を求める。このような処理を繰り返し実行していき、求めた100個の新たな直交基底化クラスター平均が、直前の100個の直交基底化クラスター平均と、全て同一であったならば、上記繰り返し処理を終了する。ここで最後に求めた100個の直交基底化クラスター平均が、100個のクラスに対応する代表ベクトルとなる。各代表ベクトルには、0から99までのクラス番号を適当な順番で付与すれば良い。ここで求めた代表ベクトルと、それぞれに対応するクラス番号が、代表ベクトルデータベース268に記録され、画像変換において用いられる。以上説明した処理により、k−meansクラスタリング処理部287での処理が終了となる(ステップ297)。
本実施形態では、上記のように、非特許文献16のk−meansクラスタリングの手法を基準にした方法でクラスタリングを行ったが、例えば、非特許文献17に記載されているような、スペクトラルクラスタリング等を用いても構わない。
k−meansクラスタリング処理部287までの処理により、各クラスの代表ベクトルは求められたので、後は、これらの代表ベクトルそれぞれに対応する各クラス間の相互関係に基づいて、各クラスに対応する変換値を求める方法の説明を続ける。
k−meansクラスタリング処理部287での処理終了後、Isomap処理部288での処理に進む。Isomap処理部288では、第3実施形態においても用いた、非特許文献10のIsomapを用い、求めた100個の代表ベクトルデータを、所定次元のターゲット空間にマッピングする。つまり、所定次元のターゲット空間での、各クラスに対応する点の位置座標を求める。第3実施形態では、各クラスのクラス間距離を、群平均法により求めておき、求めたクラス間距離を用いてIsomapの処理を行った。これに対し、本実施形態では、各クラスのクラス間距離として、単純に、それぞれの代表ベクトル間のユークリッド距離を用いる。これ以外の、Isomap処理部288での処理は、第3実施形態のIsomap処理部138での処理と同様であるので、詳細は省略する。ここでのターゲット空間を本実施形態では2次元としているが、この次元数は2に限らない。この次元数も、Cross Validationを用いて決定するのが好ましい。
このIsomap処理部288での処理により、100個のクラスそれぞれに対応する、ターゲット空間上での位置座標が得られる(ステップ298)。本実施形態では、ターゲット空間の次元数を2としているので、この位置座標は2つの数値で表される。このクラスごとの位置座標が、各クラスに対応する2次元ベクトル値の変換値である。本実施形態では、Isomapを用いて各クラスに対応する点をマッピングする。しかし、これに限るものではなく、例えば、非特許文献5のMDSを、Isomapの替わりに用いても構わない。また、次元削減のためのマッピングでは、単純にPCAを用いても良いし、非線形主成分分析を用いても構わない。その他、非特許文献18のLocally Linear Enbeddingや、非特許文献19のLocality Preserving Projections等の様々な手法をここでのマッピングに利用できる。
また、本実施形態では、代表ベクトル間の距離を基準にしてクラス間の距離を定義したが、例えば、各クラスに分類されたパターン群を用い、第1実施形態等と同様に、クラスター分析の手法によってクラス間の距離を定義しても構わない。
最後に、代表ベクトル・対応変換値出力部289において、求めた100個のクラスに対応する代表ベクトル(それぞれクラス番号が付与されている)と各クラスに対応する2次元の座標値を外部に出力する。これにより、代表ベクトルと各クラスに対応する変換値を求める処理が終了する(ステップ299)。ここで出力した100個のクラスに対応する代表ベクトルと各クラスに対応する2次元座標値が、それぞれ、代表ベクトルデータベース268とクラス対応変換値データベース265に保持され、画像変換に用いられる。
このように、本実施形態では、まず、多数のパターンに対するクラスタリング処理により、クラス分類に用いる代表ベクトルを求める。そして、各クラスに対応する代表ベクトルを用いて、クラス間の距離(各クラス間の相互関係)を求め、それに基づいて、各クラスに対応する変換値を決定する。これにより、第1実施形態等と同様に、変換後の値が変換元のパターンの違いを、ある程度低次元で好ましく表現可能な画像変換が可能となる。
次に、上記画像変換方法を用いて人物の顔を切り出したグレースケール画像を変換し、変換後の画像が何れの人物の顔画像であるかを識別する、パターン識別方法の例を示す。
本実施形態のパターン識別方法における処理部の構成は、図5に示した第1実施形態における処理部の構成と同様であり、処理のフローも図6に示したものと同様である。各処理部における処理の内容も、第1実施形態とほとんど同様であるので、簡単に説明する。
まず、画像入力部50において、縦横20×20画素の、人物の顔を切り出したグレースケール画像(入力画像)を入力する(ステップ60)。
次に、画像変換部51で、入力画像を、上記画像変換方法により変換し、、2次元ベクトル値を、18×18画素分並べた変換画像を得る(ステップ61)。
続いて、次元削減処理部52において、変換画像を18×18×2=648次元のベクトルとみなし、この次元を削減する。
次の最近傍探索部53で、登録データベース54に保持された登録者のデータの内、次元削減されたデータに最も近いデータを探索する(ステップ630〜634)。
最後に、識別結果出力部55において、探索結果に基づいて、入力画像がいずれの人物の画像であるのかを出力する(ステップ64)。ここでも、第1実施形態と同様に、探索により得られたユークリッド距離が最小のデータに対応するラベルと、その距離に基づいて、最終的な判定を行い、その結果を外部に出力する。
上記の処理により、本実施形態の画像変換方法を用いて人物の顔を切り出したグレースケール画像を変換し、その変換後の画像が何れの人物の顔画像であるかを識別可能になる。このように、本実施形態によれば明るさ等の変動にロバストな変換(本実施形態では、明るさ・コントラストだけでなく、パターンに対し、任意の方向の、1次の輝度勾配変動があっても不変)が行われる。そして、本実施形態の画像変換方法を用いて予め画像変換を行っておくことで、入力画像に明るさ等の変動に対してロバストに、それが何れの人物の顔画像であるかといった識別が可能になる。また、本実施形態を用いることにより、第1実施形態等と同様に、パターンが少々変動した場合でも、変換後の値が凡そ類似した値になる。そのため、例えば、入力画像の位置が少々変動してしまったといった、明るさやコントラスト以外の変動であっても、変換後の値が、大きく変化し難くなるため、このような変動に対しても、ロバストに認識することが可能になる。
本実施形態のパターン識別方法でも、変換した画像に対して、第1実施形態と同様に、PCAによる次元削減と、いわゆる最近傍法によるパターン識別を行う例を示した。しかし、これに限るものではなく、例えば、ニューラルネットワークや、SVMを用いて、パターン識別処理を行うようにしても構わない。
以上、第5実施形態は、本発明をベクトル量子化の技術に適用した場合の例として説明した。また、その変換後の画像が何れの人物の顔画像であるかを、明るさ等の変動に対してロバストに識別する、パターン識別方法の例も合わせて説明した。
上記実施形態では、全て顔を切り出した画像に対する処理を例として説明したが、風景画像や、手書き文字の画像等、どのような画像に対しても適用可能である。また、2次元画像に限らず、例えば、3次元ボリュームデータや、画像を時間軸方向に拡張した動画データであっても適用可能である。例えば、非特許文献20のVLBPのように、空間的な方向だけでなく、時間的な方向に隣接したデータとの比較に基づくクラス分類を行うような方法であっても、分類される各クラス間の相互関係を定義することが可能であれば、本発明は適用可能である。
また、ベクトル量子化に適用した場合も、特に2次元の画像データに限られるものではないので、ボリュームデータや、動画データに対しても、適用可能である。
以上、実施形態を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることができる。具体的には、複数の機器から構成されるシステムに適用しても良いし、一つの機器からなる装置に適用しても良い。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (24)

  1. 設定手段が、複数のクラスのそれぞれに分類された画素とその周囲の画素とからなる画素パターンのクラス間の相互関係を反映した値を、前記複数のクラスのそれぞれに対して変換値として設定する設定工程と、
    選択手段が、入力画像から注目画素を順次選択する選択工程と、
    分類手段が、選択された前記注目画素を、前記注目画素の値と前記注目画素に対して所定の相対位置にある周辺画素の値との関係に基づいて得られる近傍パターンに従って前記複数のクラスのいずれかに分類する分類工程と、
    変換手段が、前記分類工程で前記注目画素が分類されたクラスに設定されている変換値に前記注目画素の値を変換する変換工程とを有することを特徴とする画像変換方法。
  2. 前記周辺画素は、前記注目画素に隣接した複数の画素であることを特徴とする請求項1に記載の画像変換方法。
  3. 前記周辺画素は、当該注目画素から所定の距離だけ離れた位置にある複数の画素であることを特徴とする請求項1に記載の画像変換方法。
  4. 前記分類工程では、前記注目画素と前記周辺画素との画素値の大小比較結果に基づいて前記近傍パターンを取得することを特徴とする請求項1に記載の画像変換方法。
  5. 前記設定工程では、前記複数のクラスのそれぞれに分類された前記大小比較結果を示す近傍パターンの間の距離または類似度が保存されるように前記複数のクラスの各々の変換値を設定することを特徴とする請求項4に記載の画像変換方法。
  6. 前記分類工程では、前記近傍パターンと、前記複数のクラスそれぞれの代表パターンとの距離または類似度を求め、当該距離または類似度に基づいて前記注目画素を前記複数のクラスのいずれかに分類することを特徴とする請求項1に記載の画像変換方法。
  7. 前記設定工程では、前記複数のクラスそれぞれの前記代表パターンの間の距離または類似度が保存されるように前記変換値を設定することを特徴とする請求項6に記載の画像変換方法。
  8. 前記代表パターンは、予め用意した前記複数のクラスのそれぞれに分類された複数のパターンサンプル群をベクトル量子化することにより得られた代表ベクトルであることを特徴とする請求項7に記載の画像変換方法。
  9. 前記変換値はベクトル値であり、該ベクトル値は前記代表ベクトルよりも次元が低いことを特徴とする請求項8に記載の画像変換方法。
  10. 前記設定工程では、前記複数のクラスのそれぞれに分類された画素パターンに基づいて得られるクラス間の距離または類似度が保存されるように前記複数のクラスの各々の変換値を決定することを特徴とする請求項1に記載の画像変換方法。
  11. 前記設定工程では、前記複数のクラスのそれぞれに属するクラス別の画素パターンのサンプル群に対してクラスター分析を適用することにより得られた当該複数のクラス間のクラスター距離またはクラスター間の類似度が保存されるように前記複数のクラスの各々の変換値を設定することを特徴とする請求項10に記載の画像変換方法。
  12. 前記設定工程では、クラス別の前記サンプル群における各画素パターンの画素値を用いて前記クラスター分析を行なうことを特徴とする請求項11に記載の画像変換方法。
  13. 前記設定工程では、クラス別の前記サンプル群における各画素パターンの画素値と、各画素パターンが抽出された元の画像を特定する情報を含む付随情報とに基づいて前記複数のクラスの各々の変換値を決定することを特徴とする請求項11に記載の画像変換方法。
  14. 前記付随情報が、各画素パターンが抽出された元の画像における空間配置位置を示す情報を更に含むことを特徴とする請求項13に記載の画像変換方法。
  15. 前記設定工程では、前記クラス間の距離を用いて、前記複数のクラスの各クラスを少なくとも1次元以上の空間にマッピングしたマップを生成し、前記マップ上の各クラスに対応する座標値を当該各クラスに対する変換値とすることを特徴とする請求項10に記載の画像変換方法。
  16. 前記マッピングは、多次元尺度構成法またはIsomapを適用することにより行われることを特徴とする請求項15に記載の画像変換方法。
  17. 前記設定工程では、前記複数のクラスの各々について用意した画素パターンのサンプル群を用いて自己組織化マップを生成し、前記自己組織化マップに基づいて前記変換値を設定することを特徴とする請求項1乃至5のいずれか1項に記載の画像変換方法。
  18. 前記設定工程では、
    前記自己組織化マップにおける各ニューロンの重みベクトルに基づき、当該各ニューロンを前記複数のクラスのいずれかへ分類し、
    前記複数のクラスの各々において各クラスに分類されたニューロンの重心位置座標を求め、
    前記複数のクラスの各々について求めた前記重心位置座標を前記複数のクラスの各々の変換値とすることを特徴とする請求項17に記載の画像変換方法。
  19. 前記設定工程では、
    前記自己組織化マップにおける各ニューロンの重みベクトルに基づき、当該各ニューロンを、前記複数のクラスのいずれかへ分類し、
    前記複数のクラスの各々において、前記自己組織化マップにおいて最大のクラスターを検出し、
    前記複数のクラスの各々について求めた前記最大のクラスターの重心位置座標を、前記複数のクラスの各々の変換値とすることを特徴とする請求項17に記載の画像変換方法。
  20. 前記設定工程では、
    生成した前記自己組織化マップを複数の領域に分割し、
    前記分割により得られた各領域を、前記自己組織化マップと同じ次元数を有するヒストグラムのビンとし、前記自己組織化マップにおける前記複数の領域の各々における前記複数のクラスのマッピング状況に基づき、各クラスに対応するビンを決定し、
    前記各クラスに対応するヒストグラムのビンの位置を示すインデックスを、前記複数のクラスのそれぞれの変換値とすることを特徴とする請求項17に記載の画像変換方法。
  21. 請求項1乃至20のいずれか1項に記載された画像変換方法により、入力画像の各画素が変換値に置換された変換画像を取得する取得工程と、
    前記取得工程で取得した変換画像を用いて前記入力画像のパターンを識別する識別工程とを有することを特徴とするパターン識別方法。
  22. 複数のクラスのそれぞれに分類された画素とその周囲の画素とからなる画素パターンのクラス間の相互関係を反映した値を、前記複数のクラスのそれぞれに対して変換値として設定する設定手段と、
    入力画像から注目画素を順次選択する選択手段と、
    選択された前記注目画素を、前記注目画素の値と前記注目画素に対して所定の相対位置にある周辺画素の値との関係に基づいて得られる近傍パターンに従ってあらかじめ定義された複数のクラスのいずれかに分類する分類手段と、
    前記分類手段により前記注目画素が分類されたクラスに付与されている変換値に前記注目画素の値を変換する変換手段とを備えることを特徴とする画像変換装置。
  23. 請求項22に記載された画像変換装置と、
    前記画像変換装置から、入力画像の各画素が変換値に置換された変換画像を取得する取得手段と、
    前記取得手段で取得した変換画像を用いて前記入力画像のパターンを識別する識別手段とを備えることを特徴とするパターン識別装置。
  24. 請求項1乃至20のいずれか1項に記載された画像変換方法または請求項21に記載されたパターン識別方法をコンピュータに実行させるためのプログラム。
JP2009152870A 2009-06-26 2009-06-26 画像変換方法及び装置並びにパターン識別方法及び装置 Active JP5254893B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009152870A JP5254893B2 (ja) 2009-06-26 2009-06-26 画像変換方法及び装置並びにパターン識別方法及び装置
US12/819,003 US8340439B2 (en) 2009-06-26 2010-06-18 Image conversion method and apparatus, and pattern identification method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009152870A JP5254893B2 (ja) 2009-06-26 2009-06-26 画像変換方法及び装置並びにパターン識別方法及び装置

Publications (3)

Publication Number Publication Date
JP2011008631A true JP2011008631A (ja) 2011-01-13
JP2011008631A5 JP2011008631A5 (ja) 2012-08-09
JP5254893B2 JP5254893B2 (ja) 2013-08-07

Family

ID=43380801

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009152870A Active JP5254893B2 (ja) 2009-06-26 2009-06-26 画像変換方法及び装置並びにパターン識別方法及び装置

Country Status (2)

Country Link
US (1) US8340439B2 (ja)
JP (1) JP5254893B2 (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013021580A1 (ja) * 2011-08-11 2013-02-14 パナソニック株式会社 特徴抽出装置、特徴抽出プログラム、および画像処理装置
JP2015041293A (ja) * 2013-08-22 2015-03-02 キヤノン株式会社 画像認識装置および画像認識方法
JP2019096334A (ja) * 2013-06-28 2019-06-20 ディー−ウェイブ システムズ インコーポレイテッド データの量子処理のためのシステムおよび方法
WO2020054521A1 (ja) * 2018-09-13 2020-03-19 Soinn株式会社 情報処理装置、情報処理方法及びプログラム
US11386346B2 (en) 2018-07-10 2022-07-12 D-Wave Systems Inc. Systems and methods for quantum bayesian networks
US11461644B2 (en) 2018-11-15 2022-10-04 D-Wave Systems Inc. Systems and methods for semantic segmentation
US11468293B2 (en) 2018-12-14 2022-10-11 D-Wave Systems Inc. Simulating and post-processing using a generative adversarial network
US11481669B2 (en) 2016-09-26 2022-10-25 D-Wave Systems Inc. Systems, methods and apparatus for sampling from a sampling server
US11531852B2 (en) 2016-11-28 2022-12-20 D-Wave Systems Inc. Machine learning systems and methods for training with noisy labels
US11586915B2 (en) 2017-12-14 2023-02-21 D-Wave Systems Inc. Systems and methods for collaborative filtering with variational autoencoders
US11625612B2 (en) 2019-02-12 2023-04-11 D-Wave Systems Inc. Systems and methods for domain adaptation
US11900264B2 (en) 2019-02-08 2024-02-13 D-Wave Systems Inc. Systems and methods for hybrid quantum-classical computing

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8866920B2 (en) 2008-05-20 2014-10-21 Pelican Imaging Corporation Capturing and processing of images using monolithic camera array with heterogeneous imagers
KR101588877B1 (ko) 2008-05-20 2016-01-26 펠리칸 이매징 코포레이션 이종 이미저를 구비한 모놀리식 카메라 어레이를 이용한 이미지의 캡처링 및 처리
US11792538B2 (en) 2008-05-20 2023-10-17 Adeia Imaging Llc Capturing and processing of images including occlusions focused on an image sensor by a lens stack array
JP5538967B2 (ja) 2009-06-18 2014-07-02 キヤノン株式会社 情報処理装置、情報処理方法、プログラム
EP2502115A4 (en) 2009-11-20 2013-11-06 Pelican Imaging Corp RECORDING AND PROCESSING IMAGES THROUGH A MONOLITHIC CAMERA ARRAY WITH HETEROGENIC IMAGE CONVERTER
JP5588165B2 (ja) * 2009-12-24 2014-09-10 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
JP5554984B2 (ja) * 2009-12-24 2014-07-23 キヤノン株式会社 パターン認識方法およびパターン認識装置
CN103004180A (zh) 2010-05-12 2013-03-27 派力肯影像公司 成像器阵列和阵列照相机的架构
JP2012038106A (ja) 2010-08-06 2012-02-23 Canon Inc 情報処理装置、情報処理方法、およびプログラム
US8768944B2 (en) 2010-08-18 2014-07-01 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium
JP5675214B2 (ja) 2010-08-18 2015-02-25 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
US8878950B2 (en) 2010-12-14 2014-11-04 Pelican Imaging Corporation Systems and methods for synthesizing high resolution images using super-resolution processes
CN103765864B (zh) 2011-05-11 2017-07-04 派力肯影像公司 用于传送和接收阵列照相机图像数据的系统和方法
JP2013005410A (ja) * 2011-06-21 2013-01-07 Sony Corp 画像フォーマット判別装置、画像フォーマット判別方法、画像再生装置および電子機器
JP5848551B2 (ja) 2011-08-26 2016-01-27 キヤノン株式会社 学習装置、学習装置の制御方法、検出装置、検出装置の制御方法、およびプログラム
JP5896661B2 (ja) 2011-09-14 2016-03-30 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、およびプログラム
WO2013043751A1 (en) 2011-09-19 2013-03-28 Pelican Imaging Corporation Systems and methods for controlling aliasing in images captured by an array camera for use in super resolution processing using pixel apertures
WO2013049699A1 (en) 2011-09-28 2013-04-04 Pelican Imaging Corporation Systems and methods for encoding and decoding light field image files
US9661310B2 (en) * 2011-11-28 2017-05-23 ArcSoft Hanzhou Co., Ltd. Image depth recovering method and stereo image fetching device thereof
CN103930900B (zh) * 2011-11-29 2017-06-23 诺基亚技术有限公司 用于对象的分类的方法、装置
JP5886616B2 (ja) 2011-11-30 2016-03-16 キヤノン株式会社 物体検出装置、物体検出装置の制御方法、およびプログラム
JP5806606B2 (ja) 2011-12-01 2015-11-10 キヤノン株式会社 情報処理装置、情報処理方法
JP5865043B2 (ja) 2011-12-06 2016-02-17 キヤノン株式会社 情報処理装置、情報処理方法
EP2817955B1 (en) 2012-02-21 2018-04-11 FotoNation Cayman Limited Systems and methods for the manipulation of captured light field image data
US8792713B2 (en) * 2012-04-26 2014-07-29 Sony Corporation Deriving multidimensional histogram from multiple parallel-processed one-dimensional histograms to find histogram characteristics exactly with O(1) complexity for noise reduction and artistic effects in video
EP2856215A1 (en) * 2012-05-31 2015-04-08 Analogic Corporation Segmentation of sheet objects from image generated using radiation imaging modality
EP2873028A4 (en) 2012-06-28 2016-05-25 Pelican Imaging Corp SYSTEMS AND METHOD FOR DETECTING DEFECTIVE CAMERA ARRAYS, OPTICAL ARRAYS AND SENSORS
US20140002674A1 (en) 2012-06-30 2014-01-02 Pelican Imaging Corporation Systems and Methods for Manufacturing Camera Modules Using Active Alignment of Lens Stack Arrays and Sensors
WO2014021448A1 (ja) * 2012-08-03 2014-02-06 日本電気株式会社 生産物管理方法、生産物管理装置、生産物管理システム、及びプログラム
CA2881131A1 (en) 2012-08-21 2014-02-27 Pelican Imaging Corporation Systems and methods for parallax detection and correction in images captured using array cameras
WO2014032020A2 (en) 2012-08-23 2014-02-27 Pelican Imaging Corporation Feature based high resolution motion estimation from low resolution images captured using an array source
EP4307659A1 (en) 2012-09-28 2024-01-17 Adeia Imaging LLC Generating images from light fields utilizing virtual viewpoints
CN103077378B (zh) * 2012-12-24 2016-08-31 西安电子科技大学 基于扩展八邻域局部纹理特征的非接触式人脸识别算法和签到系统
KR101716646B1 (ko) * 2013-01-10 2017-03-15 한국전자통신연구원 국부이진패턴을 이용한 객체 검출 인식 방법 및 장치
WO2014130849A1 (en) 2013-02-21 2014-08-28 Pelican Imaging Corporation Generating compressed light field representation data
WO2014138695A1 (en) 2013-03-08 2014-09-12 Pelican Imaging Corporation Systems and methods for measuring scene information while capturing images using array cameras
US8866912B2 (en) 2013-03-10 2014-10-21 Pelican Imaging Corporation System and methods for calibration of an array camera using a single captured image
WO2014164550A2 (en) 2013-03-13 2014-10-09 Pelican Imaging Corporation System and methods for calibration of an array camera
US9888194B2 (en) 2013-03-13 2018-02-06 Fotonation Cayman Limited Array camera architecture implementing quantum film image sensors
WO2014159779A1 (en) 2013-03-14 2014-10-02 Pelican Imaging Corporation Systems and methods for reducing motion blur in images or video in ultra low light with array cameras
US9497429B2 (en) 2013-03-15 2016-11-15 Pelican Imaging Corporation Extended color processing on pelican array cameras
WO2014145856A1 (en) 2013-03-15 2014-09-18 Pelican Imaging Corporation Systems and methods for stereo imaging with camera arrays
US10122993B2 (en) 2013-03-15 2018-11-06 Fotonation Limited Autofocus system for a conventional camera that uses depth information from an array camera
US9445003B1 (en) 2013-03-15 2016-09-13 Pelican Imaging Corporation Systems and methods for synthesizing high resolution images using image deconvolution based on motion and depth information
KR20150003573A (ko) * 2013-07-01 2015-01-09 한국전자통신연구원 영상 패턴 검출 방법 및 그 장치
CN103455803B (zh) * 2013-09-04 2017-01-18 哈尔滨工业大学 基于迭代随机抽样一致算法的非接触式掌纹识别方法
WO2015048694A2 (en) 2013-09-27 2015-04-02 Pelican Imaging Corporation Systems and methods for depth-assisted perspective distortion correction
WO2015070105A1 (en) 2013-11-07 2015-05-14 Pelican Imaging Corporation Methods of manufacturing array camera modules incorporating independently aligned lens stacks
WO2015074078A1 (en) 2013-11-18 2015-05-21 Pelican Imaging Corporation Estimating depth from projected texture using camera arrays
EP3075140B1 (en) 2013-11-26 2018-06-13 FotoNation Cayman Limited Array camera configurations incorporating multiple constituent array cameras
CN103679708B (zh) * 2013-11-28 2016-06-08 河海大学 一种环形lbp纹理生成方法
WO2015134996A1 (en) 2014-03-07 2015-09-11 Pelican Imaging Corporation System and methods for depth regularization and semiautomatic interactive matting using rgb-d images
JP6448204B2 (ja) * 2014-03-28 2019-01-09 キヤノン株式会社 物体検出装置、物体検出方法及びプログラム
CN107077743B (zh) 2014-09-29 2021-03-23 快图有限公司 用于阵列相机的动态校准的系统和方法
JP2018529298A (ja) * 2015-07-23 2018-10-04 トヨタ モーター ヨーロッパ 環境コンテキストにおいて人間のような制御行動をシミュレーションするためのシステム及びコンピュータに基づく方法。
CN105095912B (zh) * 2015-08-06 2019-02-12 北京奇虎科技有限公司 数据聚类的方法及装置
US10129495B2 (en) * 2016-03-25 2018-11-13 Qualcomm Incorporated Apparatus and method for generating local binary patterns (LBPS)
JP6815741B2 (ja) * 2016-03-30 2021-01-20 キヤノン株式会社 画像処理装置および画像処理方法
JP6708043B2 (ja) * 2016-07-28 2020-06-10 富士通株式会社 データ検索プログラム、データ検索方法およびデータ検索装置
CN107294947A (zh) * 2016-08-31 2017-10-24 张梅 基于物联网的停车信息公共服务平台
JP6789762B2 (ja) * 2016-11-02 2020-11-25 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
JP6926838B2 (ja) * 2017-08-31 2021-08-25 富士通株式会社 情報処理装置、情報処理方法、及びプログラム
JP6889865B2 (ja) * 2017-09-22 2021-06-18 オムロン株式会社 テンプレート作成装置、物体認識処理装置、テンプレート作成方法及びプログラム
CN107894986B (zh) * 2017-09-26 2021-03-30 北京纳人网络科技有限公司 一种基于向量化的企业关系划分方法、服务器以及客户端
WO2019092041A1 (en) * 2017-11-08 2019-05-16 AVAST Software s.r.o. Malware classification of executable files by convolutional networks
JP6968342B2 (ja) * 2017-12-25 2021-11-17 オムロン株式会社 物体認識処理装置、物体認識処理方法及びプログラム
KR101893557B1 (ko) * 2017-12-29 2018-08-30 (주)제이엘케이인스펙션 영상 처리 장치 및 방법
TWI684918B (zh) * 2018-06-08 2020-02-11 和碩聯合科技股份有限公司 臉部辨識系統以及加強臉部辨識方法
EP3821267A4 (en) 2019-09-17 2022-04-13 Boston Polarimetrics, Inc. SURFACE MODELING SYSTEMS AND METHODS USING POLARIZATION MARKERS
EP4042101A4 (en) 2019-10-07 2023-11-22 Boston Polarimetrics, Inc. SYSTEMS AND METHODS FOR DETECTING SURFACE NORMALS USING POLARIZATION
KR20210041328A (ko) * 2019-10-07 2021-04-15 엘지전자 주식회사 인공지능 기반 얼굴 인식 장치 및 방법
US11302012B2 (en) 2019-11-30 2022-04-12 Boston Polarimetrics, Inc. Systems and methods for transparent object segmentation using polarization cues
EP4081933A4 (en) 2020-01-29 2024-03-20 Intrinsic Innovation Llc SYSTEMS AND METHODS FOR CHARACTERIZING OBJECT POSE DETECTION AND MEASUREMENT SYSTEMS
EP4085424A4 (en) 2020-01-30 2024-03-27 Intrinsic Innovation Llc SYSTEMS AND METHODS OF DATA SYNTHESIS FOR TRAINING STATISTICAL MODELS ON DIFFERENT IMAGING MODALITIES INCLUDING POLARIZED IMAGES
CN111353493B (zh) * 2020-03-31 2023-04-28 中国工商银行股份有限公司 文本图像方向校正方法及装置
WO2021243088A1 (en) 2020-05-27 2021-12-02 Boston Polarimetrics, Inc. Multi-aperture polarization optical systems using beam splitters
US11954886B2 (en) 2021-04-15 2024-04-09 Intrinsic Innovation Llc Systems and methods for six-degree of freedom pose estimation of deformable objects
US11290658B1 (en) 2021-04-15 2022-03-29 Boston Polarimetrics, Inc. Systems and methods for camera exposure control
US11689813B2 (en) 2021-07-01 2023-06-27 Intrinsic Innovation Llc Systems and methods for high dynamic range imaging using crossed polarizers
CN116776183B (zh) * 2023-08-18 2023-11-03 北京建工环境修复股份有限公司 一种六价铬污染场地识别与评价方法及系统
CN117373024B (zh) * 2023-12-07 2024-03-08 潍坊市海洋发展研究院 标注图像生成方法、装置、电子设备和计算机可读介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005537578A (ja) * 2002-09-03 2005-12-08 ハニーウェル・オサケユキテュア 紙の特徴付け
JP2008085472A (ja) * 2006-09-26 2008-04-10 Nagoya Institute Of Technology 音源定位・同定装置
JP2008287437A (ja) * 2007-05-16 2008-11-27 Canon Inc 情報処理方法、情報処理装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3616256B2 (ja) * 1998-07-03 2005-02-02 シャープ株式会社 画像処理装置
ITVA20040032A1 (it) * 2004-08-31 2004-11-30 St Microelectronics Srl Metodo di generazione di una immagine maschera di appartenenza a classi di cromaticita' e miglioramento adattivo di una immagine a colori
US20070160308A1 (en) 2006-01-11 2007-07-12 Jones Michael J Difference of sum filters for texture classification
JP2007241418A (ja) 2006-03-06 2007-09-20 Nikon Corp テンプレートマッチング装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005537578A (ja) * 2002-09-03 2005-12-08 ハニーウェル・オサケユキテュア 紙の特徴付け
JP2008085472A (ja) * 2006-09-26 2008-04-10 Nagoya Institute Of Technology 音源定位・同定装置
JP2008287437A (ja) * 2007-05-16 2008-11-27 Canon Inc 情報処理方法、情報処理装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG200501405039; 木村 昭悟: 'SPIRE:スパースなインデキシングによる画像中の同一部分領域の検出' 電子情報通信学会論文誌 第J88-D-II巻 第8号, 20050801, p.1712-1719, 社団法人電子情報通信学会 *
JPN6013013856; 木村 昭悟: 'SPIRE:スパースなインデキシングによる画像中の同一部分領域の検出' 電子情報通信学会論文誌 第J88-D-II巻 第8号, 20050801, p.1712-1719, 社団法人電子情報通信学会 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013021580A1 (ja) * 2011-08-11 2013-02-14 パナソニック株式会社 特徴抽出装置、特徴抽出プログラム、および画像処理装置
JP2013041330A (ja) * 2011-08-11 2013-02-28 Panasonic Corp 特徴抽出装置、特徴抽出方法、特徴抽出プログラム、および画像処理装置
US9294665B2 (en) 2011-08-11 2016-03-22 Panasonic Intellectual Property Management Co., Ltd. Feature extraction apparatus, feature extraction program, and image processing apparatus
JP2019096334A (ja) * 2013-06-28 2019-06-20 ディー−ウェイブ システムズ インコーポレイテッド データの量子処理のためのシステムおよび方法
US11501195B2 (en) 2013-06-28 2022-11-15 D-Wave Systems Inc. Systems and methods for quantum processing of data using a sparse coded dictionary learned from unlabeled data and supervised learning using encoded labeled data elements
JP2015041293A (ja) * 2013-08-22 2015-03-02 キヤノン株式会社 画像認識装置および画像認識方法
US11481669B2 (en) 2016-09-26 2022-10-25 D-Wave Systems Inc. Systems, methods and apparatus for sampling from a sampling server
US11531852B2 (en) 2016-11-28 2022-12-20 D-Wave Systems Inc. Machine learning systems and methods for training with noisy labels
US11586915B2 (en) 2017-12-14 2023-02-21 D-Wave Systems Inc. Systems and methods for collaborative filtering with variational autoencoders
US11386346B2 (en) 2018-07-10 2022-07-12 D-Wave Systems Inc. Systems and methods for quantum bayesian networks
WO2020054521A1 (ja) * 2018-09-13 2020-03-19 Soinn株式会社 情報処理装置、情報処理方法及びプログラム
US11461644B2 (en) 2018-11-15 2022-10-04 D-Wave Systems Inc. Systems and methods for semantic segmentation
US11468293B2 (en) 2018-12-14 2022-10-11 D-Wave Systems Inc. Simulating and post-processing using a generative adversarial network
US11900264B2 (en) 2019-02-08 2024-02-13 D-Wave Systems Inc. Systems and methods for hybrid quantum-classical computing
US11625612B2 (en) 2019-02-12 2023-04-11 D-Wave Systems Inc. Systems and methods for domain adaptation

Also Published As

Publication number Publication date
JP5254893B2 (ja) 2013-08-07
US8340439B2 (en) 2012-12-25
US20100329556A1 (en) 2010-12-30

Similar Documents

Publication Publication Date Title
JP5254893B2 (ja) 画像変換方法及び装置並びにパターン識別方法及び装置
Shao et al. Learning deep and wide: A spectral method for learning deep networks
US20150324663A1 (en) Image congealing via efficient feature selection
Cao et al. Local information-based fast approximate spectral clustering
Li et al. Fast similarity search via optimal sparse lifting
Chaaraoui et al. Human action recognition optimization based on evolutionary feature subset selection
Belhaouari et al. Optimized K‐Means Algorithm
Arias et al. Classification of pollen grain images based on an ensemble of classifiers
Alphonse et al. A novel Monogenic Directional Pattern (MDP) and pseudo-Voigt kernel for facilitating the identification of facial emotions
Ganapathi et al. Graph based texture pattern classification
Ngadi et al. Uniformed two local binary pattern combined with neighboring support vector classifier for classification
Raikar et al. Efficiency comparison of supervised and unsupervised classifier on content based classification using shape, color, texture
Ghosh et al. A survey on remote sensing scene classification algorithms
Aissa et al. Unsupervised features extraction using a multi-view self organizing map for image classification
Silva et al. Bog: A new approach for graph matching
Soleimani et al. Nonlinear dimensionality reduction by unit ball embedding (ube) and its application to image clustering
Neumann et al. Propagation kernels for partially labeled graphs
Izadipour et al. A feature selection approach for segmentation of very high-resolution satellite images
Hariri et al. Geometrical and visual feature quantization for 3d face recognition
Nguyen et al. Efficient dynamic texture classification with probabilistic motifs
Singh et al. Genetic algorithm implementation to optimize the hybridization of feature extraction and metaheuristic classifiers
Ozdemir et al. Locally linear low-rank tensor approximation
Rogovschi et al. t-Distributed Stochastic Neighbor Embedding Spectral Clustering using higher order approximations.
Ramanan et al. Speeding up multi-class texture classification by one-pass vocabulary design and decision tree
du Plessis et al. Reducing the dimensionality of hyperspectral data using diffusion maps

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120626

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120626

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130315

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: 20130322

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130418

R151 Written notification of patent or utility model registration

Ref document number: 5254893

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160426

Year of fee payment: 3