(57)【特許請求の範囲】
【請求項１】
認識対象のパターンを入力する入力部と、
前記入力部に入力した入力パターンから特徴抽出を行い、特徴ベクトルを生成する特徴抽出部と、
前記特徴ベクトルに関して、量子化数１または量子化数２から順番に量子化数を増加させて、前記各量子化数で量子化区間を求めるものであって、量子化数ｎ（但し、ｎ＞２である）の量子化区間を用いて量子化数（ｎ＋１）の量子化区間を求め、量子化数Ｓ（但し、Ｓ＞ｎである）に対応した量子化区間を有する量子化関数を生成する関数生成部と、
前記量子化関数を用いて前記入力パターンの前記特徴ベクトルの各成分をそれぞれ量子化して、前記量子化された各成分から構成される入力量子化特徴ベクトルを生成する量子化部と、
前記認識対象の辞書特徴ベクトル、または、前記辞書特徴ベクトルの各成分を量子化した辞書量子化特徴ベクトルを格納している辞書部と、
前記入力量子化特徴ベクトルと、前記辞書特徴ベクトル、または、前記辞書量子化特徴ベクトルとの類似度を計算する類似度計算部と、
前記類似度から前記認識対象を認識する判定部と、
を有するパターン認識装置。
【請求項２】
認識対象のパターンを入力する入力部と、
前記入力部に入力した入力パターンから特徴抽出を行い、入力特徴ベクトルを生成する特徴抽出部と、
認識対象の辞書量子化特徴ベクトルを保持する辞書部と、
前記入力特徴ベクトルと前記辞書量子化特徴ベクトルとの類似度を計算する類似度計算部と、
前記類似度から前記認識対象を認識する判定部と、
を有し、
前記辞書部は、
前記認識対象の辞書パターンを入力する辞書入力部と、
前記辞書パターンから特徴抽出を行い、特徴ベクトルを生成する辞書特徴抽出部と、
前記特徴ベクトルに関して、量子化数１または量子化数２から順番に量子化数を増加させて、前記各量子化数で量子化区間を求めるものであって、量子化数ｎ（但し、ｎ＞２である）の量子化区間を用いて量子化数（ｎ＋１）の量子化区間を求め、量子化数Ｓ（但し、Ｓ＞ｎである）に対応した量子化区間を有する量子化関数を生成する関数生成部と、
前記量子化関数を用いて前記辞書パターンの前記特徴ベクトルの各成分をそれぞれ量子化して、前記量子化された各成分から構成される辞書量子化特徴ベクトルを生成する量子化部と、
前記辞書量子化特徴ベクトルを格納する格納部と、
を有するパターン認識装置。
【請求項３】
前記関数生成部は、
前記特徴ベクトルの複数の成分の集合から一つの成分を選択する選択部と、
前記選択した成分を境界として、前記複数の成分の集合を２つに分割する分割部と、
分割した一方の前記成分の集合を量子化数１で量子化したときにおける、任意の値より小さい第１量子化誤差を求める第１演算部と、
分割した他方の前記成分の集合を量子化数（ｎ−１）で量子化したときにおける、任意の値より小さい第２量子化誤差を、量子化数（ｎ−２）で求めた前記量子化区間と前記第１量子化誤差に基づいて計算する第２演算部と、
前記第１量子化誤差と前記第２量子化誤差を足して、前記量子化数ｎの量子化誤差を求める第３演算部と、
前記量子化数ｎの量子化誤差に対応した前記量子化区間の仕切り値を求める第４演算部と、
を有する請求項１または２記載のパターン認識装置。
【請求項４】
前記関数生成部は、
前記第１量子化誤差とは、前記分割した一方の前記成分の集合を量子化数１で量子化したときにおける最小の量子化誤差であり、
前記第２量子化誤差とは、前記分割した他方の前記成分の集合を量子化数（ｎ−１）で量子化したときにおける最小の量子化誤差である、
請求項３記載のパターン認識装置。
【請求項５】
前記関数生成部は、
前記特徴ベクトルの各成分の値を、前記各値の大きさに基づいて昇順に並べてから前記量子化関数を生成する、
請求項３記載のパターン認識装置。
【請求項６】
前記関数生成部は、前記量子化誤差が予め定めた値より小さいとき、または、前記量子化数Ｓが予め定めた値と一致したときの量子化関数を前記量子化部へ出力する、
請求項３記載のパターン認識装置。
【請求項７】
前記類似度計算部は、
量子化値と各成分の量子化番号で構成される前記入力量子化特徴ベクトルと、量子化値と各成分の量子化番号で構成される前記辞書量子化特徴ベクトルを用いて前記類似度を計算する、
請求項１記載のパターン認識装置。
【請求項８】
前記類似度計算部は、
量子化値と各成分の量子化番号で構成される前記入力量子化特徴ベクトルと、前記辞書特徴ベクトルを用いて前記類似度を計算する、
請求項１記載のパターン認識装置。
【請求項９】
前記類似度計算部は、
量子化値と各成分の量子化番号で構成される前記辞書量子化特徴ベクトルと、前記入力特徴ベクトルを用いて前記類似度を計算する、
請求項２記載のパターン認識装置。
【請求項１０】
前記辞書部は、前記辞書量子化特徴ベクトルを可逆圧縮して格納している、
請求項１または２記載のパターン認識装置。
【請求項１１】
認識対象のパターンを入力する入力ステップと、
前記入力ステップにおいて入力した入力パターンから特徴抽出を行い、特徴ベクトルを生成する特徴抽出ステップと、
前記特徴ベクトルに関して、量子化数１または量子化数２から順番に量子化数を増加させて、前記各量子化数で量子化区間を求めるものであって、量子化数ｎ（但し、ｎ＞２である）の量子化区間を用いて量子化数（ｎ＋１）の量子化区間を求め、量子化数Ｓ（但し、Ｓ＞ｎである）に対応した量子化区間を有する量子化関数を生成する関数生成ステップと、
前記量子化関数を用いて前記入力パターンの前記特徴ベクトルの各成分をそれぞれ量子化して、前記量子化された各成分から構成される入力量子化特徴ベクトルを生成する量子化ステップと、
前記認識対象の辞書特徴ベクトル、または、前記辞書特徴ベクトルの各成分を量子化した辞書量子化特徴ベクトルを格納している辞書ステップと、
前記入力量子化特徴ベクトルと、前記辞書特徴ベクトル、または、前記辞書量子化特徴ベクトルとの類似度を計算する類似度計算ステップと、
前記類似度から前記認識対象を認識する判定ステップと、
を有するパターン認識方法。
【請求項１２】
認識対象のパターンを入力する入力ステップと、
前記入力ステップにおいて入力した入力パターンから特徴抽出を行い、入力特徴ベクトルを生成する特徴抽出ステップと、
認識対象の辞書量子化特徴ベクトルを保持する辞書ステップと、
前記入力特徴ベクトルと前記辞書量子化特徴ベクトルとの類似度を計算する類似度計算ステップと、
前記類似度から前記認識対象を認識する判定ステップと、
を有し、
前記辞書ステップは、
前記認識対象の辞書パターンを入力する辞書入力ステップと、
前記辞書パターンから特徴抽出を行い、特徴ベクトルを生成する辞書特徴抽出ステップと、
前記特徴ベクトルに関して、量子化数１または量子化数２から順番に量子化数を増加させて、前記各量子化数で量子化区間を求めるものであって、量子化数ｎ（但し、ｎ＞２である）の量子化区間を用いて量子化数（ｎ＋１）の量子化区間を求め、量子化数Ｓ（但し、Ｓ＞ｎである）に対応した量子化区間を有する量子化関数を生成する関数生成ステップと、
前記量子化関数を用いて前記辞書パターンの前記特徴ベクトルの各成分をそれぞれ量子化して、前記量子化された各成分から構成される辞書量子化特徴ベクトルを生成する量子化ステップと、
前記辞書量子化特徴ベクトルを格納する格納ステップと、
を有するパターン認識方法。
【請求項１３】
認識対象のパターンを入力する入力機能と、
前記入力機能において入力した入力パターンから特徴抽出を行い、特徴ベクトルを生成する特徴抽出機能と、
前記特徴ベクトルに関して、量子化数１または量子化数２から順番に量子化数を増加させて、前記各量子化数で量子化区間を求めるものであって、量子化数ｎ（但し、ｎ＞２である）の量子化区間を用いて量子化数（ｎ＋１）の量子化区間を求め、量子化数Ｓ（但し、Ｓ＞ｎである）に対応した量子化区間を有する量子化関数を生成する関数生成機能と、
前記量子化関数を用いて前記入力パターンの前記特徴ベクトルの各成分をそれぞれ量子化して、前記量子化された各成分から構成される入力量子化特徴ベクトルを生成する量子化機能と、
前記認識対象の辞書特徴ベクトル、または、前記辞書特徴ベクトルの各成分を量子化した辞書量子化特徴ベクトルを格納している辞書機能と、
前記入力量子化特徴ベクトルと、前記辞書特徴ベクトル、または、前記辞書量子化特徴ベクトルとの類似度を計算する類似度計算機能と、
前記類似度から前記認識対象を認識する判定機能と、
をコンピュータに実現させるためのパターン認識プログラム。
【請求項１４】
認識対象のパターンを入力する入力機能と、
前記入力機能において入力した入力パターンから特徴抽出を行い、入力特徴ベクトルを生成する特徴抽出機能と、
認識対象の辞書量子化特徴ベクトルを保持する辞書機能と、
前記入力特徴ベクトルと前記辞書量子化特徴ベクトルとの類似度を計算する類似度計算機能と、
前記類似度から前記認識対象を認識する判定機能と、
を実現し、
前記辞書機能は、
前記認識対象の辞書パターンを入力する辞書入力機能と、
前記辞書パターンから特徴抽出を行い、特徴ベクトルを生成する辞書特徴抽出機能と、
前記特徴ベクトルに関して、量子化数１または量子化数２から順番に量子化数を増加させて、前記各量子化数で量子化区間を求めるものであって、量子化数ｎ（但し、ｎ＞２である）の量子化区間を用いて量子化数（ｎ＋１）の量子化区間を求め、量子化数Ｓ（但し、Ｓ＞ｎである）に対応した量子化区間を有する量子化関数を生成する関数生成機能と、
前記量子化関数を用いて前記辞書パターンの前記特徴ベクトルの各成分をそれぞれ量子化して、前記量子化された各成分から構成される辞書量子化特徴ベクトルを生成する量子化機能と、
前記辞書量子化特徴ベクトルを格納する格納機能と、
をコンピュータに実現させるためのパターン認識プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認識性能の低下を抑えながら、特徴量のメモリを削減するパターン認識装置及びその方法に関する。
【背景技術】
【０００２】
パターン認識において、認識性能の低下を抑えながら、特徴量ベクトルのメモリを削減する方法として、主成分分析（Principal Component Analysis、非特許文献１参照）がある。
【０００３】
この削減方法を特徴ベクトルの分布に対して適用すると、射影による特徴ベクトル近似の２乗誤差の総和が最小となる部分空間が得られる。その部分空間に射影することで、特徴ベクトル全体の２乗誤差を小さく保ったまま、特徴ベクトルの次元を減らし、メモリを削減する。また、データ圧縮とは異なり、元の状態に戻す必要なく、近似した状態で特徴ベクトル間の距離や角度を計算できる。
【非特許文献１】「パターン識別」、Richard O.Duda, Peter, E. Hart, David G. Stork著、尾上守夫監訳、新技術コミュニケ−ションズ
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上記削減方法では、認識性能を維持するためには、射影する部分空間の次元をある程度残す必要があるため、認識性能の低下を抑えたまま、特徴ベクトルのメモリ量を大幅に削減することはできないという問題点がある。
【０００５】
そこで、本発明は、上記問題点を解決するために、認識性能の低下を抑えつつ、元の状態に戻さずに認識でき、メモリ量を削減するように特徴ベクトルの圧縮を行うパターン認識装置及びその方法を提供する。
【課題を解決するための手段】
【０００６】
本発明は、認識対象のパターンを入力する入力部と、前記入力部に入力した入力パターンから特徴抽出を行い、特徴ベクトルを生成する特徴抽出部と、前記特徴ベクトルに関して、量子化数１または量子化数２から順番に量子化数を増加させて、前記各量子化数で量子化区間を求めるものであって、量子化数ｎ（但し、ｎ＞２である）の量子化区間を用いて量子化数（ｎ＋１）の量子化区間を求め、量子化数Ｓ（但し、Ｓ＞ｎである）に対応した量子化区間を有する量子化関数を生成する関数生成部と、前記量子化関数を用いて前記入力パターンの前記特徴ベクトルの各成分をそれぞれ量子化して、前記量子化された各成分から構成される入力量子化特徴ベクトルを生成する量子化部と、前記認識対象の辞書特徴ベクトル、または、前記辞書特徴ベクトルの各成分を量子化した辞書量子化特徴ベクトルを格納している辞書部と、前記入力量子化特徴ベクトルと、前記辞書特徴ベクトル、または、前記辞書量子化特徴ベクトルとの類似度を計算する類似度計算部と、前記類似度から前記認識対象を認識する判定部と、を有するパターン認識装置である。
【０００７】
また、本発明は、認識対象のパターンを入力する入力部と、前記入力部に入力した入力パターンから特徴抽出を行い、入力特徴ベクトルを生成する特徴抽出部と、認識対象の辞書量子化特徴ベクトルを保持する辞書部と、前記入力特徴ベクトルと前記辞書量子化特徴ベクトルとの類似度を計算する類似度計算部と、前記類似度から前記認識対象を認識する判定部と、を有し、前記辞書部は、前記認識対象の辞書パターンを入力する辞書入力部と、前記辞書パターンから特徴抽出を行い、特徴ベクトルを生成する辞書特徴抽出部と、前記特徴ベクトルに関して、量子化数１または量子化数２から順番に量子化数を増加させて、前記各量子化数で量子化区間を求めるものであって、量子化数ｎ（但し、ｎ＞２である）の量子化区間を用いて量子化数（ｎ＋１）の量子化区間を求め、量子化数Ｓ（但し、Ｓ＞ｎである）に対応した量子化区間を有する量子化関数を生成する関数生成部と、前記量子化関数を用いて前記辞書パターンの前記特徴ベクトルの各成分をそれぞれ量子化して、前記量子化された各成分から構成される辞書量子化特徴ベクトルを生成する量子化部と、前記辞書量子化特徴ベクトルを格納する格納部と、を有するパターン認識装置である。
【発明の効果】
【０００８】
本発明によれば、認識性能の低下を抑えながら、量子化によって特徴ベクトルのメモリを削減できる。
【発明を実施するための最良の形態】
【０００９】
本発明の一実施形態のパターン認識装置について図面に基づいて説明する。本実施形態のパターン認識装置は、画像のパターン認識に限らず、音声など、特徴量をベクトルとして扱う様々な分野のパターン認識に適用できる。
【００１０】
（第１の実施形態）
本発明の第１の実施形態のパターン認識装置１０について図１〜図３に基づいて説明する。
【００１１】
本実施形態のパターン認識装置１０は、入力パターンに対応した入力特徴ベクトルと、比較対象である辞書特徴ベクトルの両方を量子化してから、類似度を求め、この類似度からパターン認識を行う。
【００１２】
（１）パターン認識装置１０
本実施形態のパターン認識装置１０の構成について図１に基づいて説明する。図１はパターン認識装置１０の概略を示すブロック図である。
【００１３】
パターン認識装置１０は、パターン入力部１０１、特徴抽出部１０２、特徴ベクトル量子化部１０３、類似度計算部１０４、辞書特徴格納部１０５、判定部１０６からなる。各部１０１〜１０６の機能は、コンピュータに格納されたプログラムによっても実現可能である。
【００１４】
以下、各部１０１〜１０６の機能について説明する。
【００１５】
（２）パターン入力部１０１
パターン入力部１０１は、認識対象となるパターンの入力を行う。
【００１６】
パターンが画像の場合は、例えば予めデジタルカメラ等で撮影した画像をパソコンに取り込んだものや、パソコンに接続したカメラなどで実現できる。パターンが音声の場合は、例えば予め録音した音声をパソコンに取り込んだものや、パソコンに接続したマイクなどで実現できる。
【００１７】
（３）特徴抽出部１０２
特徴抽出部１０２は、パターン入力部１０１から送られてきたパターンをベクトルに変換する処理を行う。以下、特徴抽出部１０２で変換されたベクトルを「特徴ベクトル」と呼ぶ。
【００１８】
入力されたパターンが画像の場合は、例えば、ラスタスキャンによりベクトルに変換する。
【００１９】
入力されたパターンが音声の場合は、例えば、一定時間内の音声の周波数成分を並べたベクトルを使用する。
【００２０】
また、ベクトルに変換した後、入力されたパターンの変動を抑制する処理を行ってもよい。例えば、予め大量に用意したパターンから主成分分析によって得られた固有値の小さいノイズ成分を除く処理などを行ってもよい。
【００２１】
（４）特徴ベクトル量子化部１０３
特徴ベクトル量子化部１０３は、特徴抽出部１０２で生成された特徴ベクトル（入力特徴ベクトルと辞書特徴ベクトル）に対して、量子化関数を生成し、その量子化関数に基づいて特徴ベクトルの各成分の量子化処理を行う。
【００２２】
「量子化関数」とは、実数の集合を有限個または加算無限個に分割した区間の集合と、前記区間と一対一に対応する値の集合から定義される関数で、入力された実数に対して、前記入力された実数を含む前記区間に対応する前記値を出力する関数をいう。
【００２３】
「量子化区間」とは、前記区間をいう。
【００２４】
「量子化値」とは、量子化区間に一対一に対応する前記値であって、前記量子化区間に含まれる値をいう。
【００２５】
「量子化特徴ベクトル」とは、特徴ベクトル量子化部１０３で量子化された特徴ベクトルをいう。
【００２６】
図２に、特徴ベクトル量子化部１０３で行われる量子化処理２０の詳細を示したフローチャートを示す。量子化処理２０の説明は後述する。また、顔画像から生成した特徴ベクトルに対して、量子化処理２０の処理を施した画像を図７に示す。
【００２７】
（５）辞書特徴格納部１０４
辞書特徴格納部１０４は、認識対象の各クラスのパターンに対して、特徴抽出部１０２で辞書特徴ベクトルを抽出し、その後に特徴ベクトル量子化部１０３で処理を行い、生成した辞書の量子化特徴ベクトル（以下、「辞書量子化特徴ベクトル」という）を記憶領域に格納する。
【００２８】
（６）類似度計算部１０５
類似度計算部１０５は、特徴ベクトル量子化部１０３で出力された入力パターンの量子化特徴ベクトル（以下、「入力量子化特徴ベクトル」という）と辞書特徴格納部１０４に格納された各クラスの辞書量子化特徴ベクトルの間の類似性を表現した値（以下、「類似度」という）を計算する。ここでは、ベクトル間の距離を計算する。
【００２９】
図３に、類似度計算部１０５で行われる類似度計算処理３０の詳細を示したフローチャートを示す。類似度計算処理３０の説明は後述する。
【００３０】
（７）判定部１０６
判定部１０６は、登録されたクラスの中で類似性に関する条件を満たした中でも最も類似性が高いクラスを入力された認識対象のクラスと同定する。
【００３１】
条件を満たしたものがない場合は、属するクラスなしと同定する。
【００３２】
類似度としてベクトル間の距離を使用した場合、前記距離が予め設定した閾値より小さいとし、距離が小さいほど類似性が高いとする。
【００３３】
（８）量子化処理２０
量子化処理２０は、特徴ベクトル量子化部１０３で行う量子化処理である。図２に量子化処理２０のフローチャートを示す。
【００３４】
量子化処理２０は、特徴ベクトル入力処理２０１、並べ替え処理２０２、初期化処理２０３、量子化区間探索処理２０４、誤差・量子化数量化処理２０５、再探索準備処理２０６、量子化特徴ベクトル出力処理２０７からなる。
【００３５】
各処理２０１〜２０７の説明は以下の通りである。
【００３６】
（８−１）特徴ベクトル入力処理２０１
特徴ベクトル入力処理２０１は、特徴抽出部１０２から出力された特徴ベクトル（すなわち、入力特徴ベクトル、または、辞書特徴ベクトルである）を入力する処理である。以下、特徴ベクトルの特徴空間の次元をＤとする。
【００３７】
（８−２）並べ替え処理２０２
並べ替え処理２０２は、特徴ベクトルの各成分の値の大きさを昇順に並べ替える処理である。以下、並べ替え処理２０２後の特徴ベクトルを（ｖ１，・・・，ｖＤ）とする。但し、ｖ１≦・・・≦ｖＤである。
【００３８】
図８は、Ｄ＝６のときに並べ替え後のベクトル（ｖ１，・・・，ｖ６）を図示したものである。ここで、図８のグラフについて説明すると、縦軸が特徴ベクトルの各成分の値の大きさであり、横軸が各成分の次元数である。
【００３９】
（８−３）初期化処理２０３
初期化処理２０３は、量子化処理２０で行うために、量子化数によるループ処理の初期化を行う処理である。
【００４０】
初期化処理の説明の前に、まず記号の定義を行う。但し、１≦ｉ≦ｊ≦Ｄとする。
【００４１】
（８−３−１）ｅｉ，ｊの定義
「ｅｉ，ｊ」は、ｖｉ，・・・ｖｊを量子化数１で量子化したときの最小誤差である。つまり全てｑに置き換えたときの誤差の最小値である。但し、ｑは、ある実数であるが、後述するようにｖｉ，・・・ｖｊの平均ｍとした値となる。また、誤差は、下記の式（１）において説明するように、各成分の差の二乗和で計算する。
【００４２】
次に、ｅｉ，ｊの求め方について述べる。ｖｉ，・・・ｖｊを全てｑに置き換えたときの量子化誤差は以下の通りになる。
【数１】
0005231839.tif 000002
【００４３】
但し、ｍはｖｉ，・・・ｖｊの平均値、σ２はｖｉ，・・・ｖｊの分散とする。
【００４４】
式（１）から、ｑをｖｉ，・・・ｖｊの平均ｍとしたときの、量子化誤差が最小となり、その値は（ｊ−ｉ）σ２である。
【００４５】
図９は、図８のベクトルのｅｉ，ｊを図示したものである。
【００４６】
（８−３−２）Ｅｉ，Ｍの定義
「Ｅｉ，Ｍ」は、ｖ１，・・・ｖｉを量子化数Ｍで量子化したときの量子化誤差の最小値である。
【００４７】
図１０は、図８のベクトルＥｉ，Ｍを図示したものである。
【００４８】
（８−３−３）Ｔｉ，Ｍの定義
「Ｔｉ，Ｍ」は、ｖ１，・・・ｖｉを量子化数Ｍで量子化したときの量子化誤差の最小となる量子化区間の仕切り値の集合である。
【００４９】
但し、仕切り値集合Ｔｉ，Ｍ＝｛ｔ１，・・・，ｔ（Ｍ−１）｝のとき、値ａの量子化番号は以下のように定義する。
【００５０】
ａ＜ｔ１のとき、量子化番号を１とする、
ｔ（ｉ−１）≦ａ＜ｔｉのとき、量子化番号をｉとする、
ｔ（Ｍ−１）≦ａのとき、量子化番号をＭとする。
【００５１】
図１０は、図８のベクトルＥｉ，Ｍ及びＴｉ，Ｍを図示したものである。すなわち、Ｔ２２，・・・，Ｔ６２は図１０に示すように２値量子化誤差が最小となる仕切り値の集合であり、Ｅ２２，・・・，Ｅ６２は図１０に示すように、そのときの２値量子化誤差である。ここで図１０に各グラフにおいて、縦軸の「特徴ベクトルの各成分の値の大きさ」を、仕切り値ｔで分割し、この分割した各区間が量子化区間となる。例えば、量子化数Ｎ＝３のときは、仕切り値が２つあり、量子化区間は３区画存在する。
【００５２】
（８−３−４）Ｎの定義
「Ｎ」は、処理中の量子化関数の量子化数である。
【００５３】
（８−３−５）処理の内容
初期化処理２０３は、以下の処理を各ｉ＝１，・・・，Ｄについて行う。
【００５４】
第１の処理は、Ｔｉ，１に空集合を代入する、
第２の処理は、Ｅｉ，１にｅ１，ｉの値を代入する、
第３の処理は、Ｎに１を代入する。
【００５５】
なお、上記の処理を省略し、後述する量子化区間探索処理２０４のＮ＝２の処理を初期化処理２０３としてもよい。
【００５６】
（８−４）量子化区間探索処理２０４
量子化区間探索処理２０４は、まず、Ｎの値を１増やし、Ｔｉ，（Ｎ−１）及びＥｉ，（Ｎ−１）、（但し、ｉ＝Ｎ−１，・・・，Ｄである）を使用して、ＥＤ，Ｎ及びＴＤ，Ｎを求める処理である。具体的には以下の処理を行う。
【数２】
0005231839.tif 000003
【００５７】
図１１は、図８のベクトルについて、Ｎ＝３のときの量子化区間探索処理２０４を図示したものである。すなわち、最大の仕切り値をｖ３，・・・ｖ６まで動かし、各仕切り値で量子化結果を求めて、それぞれの量子化誤差を計算する。そして、３値量子化の量子化誤差を最小にする仕切り値として、ｔ６１＝ｔ４１、ｔ６２＝ｖ５とする。
【００５８】
（８−５）誤差・量子化数量化処理２０５
誤差・量子化数量化処理２０５は、量子化誤差ＥＤ，Ｎ及び量子化数Ｎを評価し、量子化誤差や量子化数が基準を満たす場合は、量子化特徴ベクトル出力処理２０７に処理を進める。一方、基準を満たさない場合は、量子化区間再探索準備処理２０６に進める処理である。
【００５９】
前記基準については、「量子化誤差が予め定めた値以下である」でよい。また、希望する圧縮率から量子化数を計算し、「量子化数が予め定めた値と一致する」としてもよい。
【００６０】
（８−６）量子化区間再探索準備処理２０６
量子化区間再探索準備処理２０６は、Ｔｉ，（Ｎ−１）及びＥｉ，（Ｎ−１）、（但し、ｉ＝Ｎ−１，・・・，Ｄである）を使用して、Ｅｊ，Ｎ及びＴｊ，Ｎ、（但し、ｊ＝Ｎ，・・・，（Ｄ−１）である）を求める処理である。具体的には、以下の処理を各ｊ＝Ｎ，・・・，（Ｄ−１）について行う。
【数３】
0005231839.tif 000004
【００６１】
図１２は、図８のベクトルについて、Ｎ＝３、ｉ＝５のときの量子化区間再探索準備処理２０６を図示したものであり、Ｔ５３＝｛ｔ５１，ｔ５２｝、Ｅ５３を求める図である。すなわち、最大の仕切り値をｖ３，・・・ｖ５を動かし、各仕切り値で量子化結果を求め、それぞれの量子化誤差を計算する。そして、ｖ１，・・・ｖ５の３値量子化の量子化誤差を最小にする仕切り値として、ｔ５１＝ｔ３１、ｔ５２＝ｖ４、その最小値をＥ５３＝Ｅ３２＋ｅ４５とする。
【００６２】
（８−７）量子化特徴ベクトル出力処理２０７
量子化特徴ベクトル出力処理２０７は、量子化誤差の最小となる量子化区間の仕切り値の集合ＴＤ，Ｎ＝｛ｔ１，・・・，ｔ（Ｎ−１）｝と式（１）から決まる各量子化区間での量子化誤差を最小とする量子化値ｍ１，・・・，ｍＮ、（但し、添え字は量子化番号である）から定まる量子化関数を用い、特徴ベクトルの各成分をＮ個の値に量子化し、量子化特徴ベクトルを出力する処理である。
【００６３】
但し、この量子化関数は実数ｘの入力に対して以下の値を出力する関数とする。
【００６４】
ｘ＜ｔ１のときはｍ１を出力する、
ｔ（ｉ−１）≦ｘ＜ｔｉのときはｍｉを出力する、
ｔ（Ｎ−１）≦ｘのときはｍＮを出力する。
【００６５】
（９）類似度計算処理３０
類似度計算処理３０は、類似度計算部１０５で行う類似度計算処理である。図３に類似度計算処理３０のフローチャートを示す。
【００６６】
類似度計算処理３０は、量子化特徴ベクトル入力処理３０１、係数テーブル生成処理３０２、係数加算処理３０３、出力処理３０４からなる。各処理の説明は以下の通りである。
【００６７】
（９−１）量子化特徴ベクトル入力処理３０１
量子化特徴ベクトル入力処理３０１は、入力量子化特徴ベクトルと辞書量子化特徴ベクトルの入力を行う処理である。
【００６８】
「量子化特徴ベクトル」は、量子化値の配列及び各成分の量子化番号の配列の組で与えられる。
【００６９】
（９−２）係数テーブル生成処理３０２
係数テーブル生成処理３０２は、入力量子化特徴ベクトルと辞書量子化特徴ベクトルのそれぞれの量子化値の配列から係数テーブルを生成する処理である。
【００７０】
各量子化特徴ベクトルの量子化数をＭ、Ｎ、２つの量子化値の配列をそれぞれ（ｑ１，・・・，ｑＭ）、（ｒ１，・・・，ｒＭ）とすると、入力量子化特徴ベクトルと辞書量子化特徴ベクトルの距離を求める係数テーブルは次のＭ×Ｎ行列Ｃ＝（ｃｉｊ）で与えられる。
【数４】
0005231839.tif 000005
【００７１】
（９−３）係数加算処理３０３
係数加算処理３０３は、入力量子化特徴ベクトルと辞書量子化特徴ベクトルの量子化番号の配列から、各成分に対応する組を求め、その組に対応する係数テーブルの値の合計を求める処理である。
【００７２】
特徴空間の次元をＤ、２つの量子化番号の配列をそれぞれ（ｍ１，・・・，ｍＤ）、（ｎ１，・・・，ｎＤ）とすると、以下の値を計算する。
【数５】
0005231839.tif 000006
【００７３】
計算後、上記の値はベクトル間距離を二乗した値なので、最後にこの二乗根を施して、この値を類似度とする。
【００７４】
（９−４）出力処理３０４
出力処理３０４は、係数加算処理３０３で得られ類似度を出力する処理である。
【００７５】
（１０）効果
本実施形態によれば、入力特徴ベクトルと辞書特徴ベクトルの量子化によって、圧縮による誤差を抑え、データ量を圧縮することが可能となる。
【００７６】
これにより、圧縮前後の入力量子化特徴ベクトルと辞書量子化特徴ベクトルとの間で定義される値の誤差を小さくできるため、圧縮による認識性能の低下も抑えることができる。
【００７７】
また、前記類似度計算処理３０では、解凍せずに圧縮された状態で特徴ベクトル間の距離である類似度を計算している。
【００７８】
（第２の実施形態）
本発明の第２の実施形態のパターン認識装置４０について図４〜図５に基づいて説明する。
【００７９】
本実施形態のパターン認識装置４０は、入力パターンに対応した入力特徴ベクトルと、比較対象である辞書特徴ベクトルを量子化した辞書量子化特徴ベクトルとから類似度を求め、この類似度からパターン認識を行う。
【００８０】
（１）パターン認識装置４０
以下、本実施形態のパターン認識装置４０について図４に基づいて説明する。図４はパターン認識装置４０の概略を示すブロック図である。
【００８１】
パターン認識装置４０は、パターン入力部４０１、特徴抽出部４０２、類似度計算部４０３、辞書特徴格納部４０４、判定部４０５からなる。各部の説明は以下の通りである。各部４０１〜４０５の機能は、コンピュータに格納されたプログラムによっても実現可能である。
【００８２】
以下、各部４０１〜４０５の機能について説明する。
【００８３】
（２）パターン入力部４０１
パターン入力部４０１は、認識対象となるパターンの入力を行う。
【００８４】
パターンが画像の場合は、例えば予めデジタルカメラ等で撮影した画像をパソコンに取り込んだものやパソコンに接続したカメラなどで実現できる。
【００８５】
パターンが音声の場合は、例えば予め録音した音声をパソコンに取り込んだものやパソコンに接続したマイクなどで実現できる。
【００８６】
（３）特徴抽出部４０２
特徴抽出部４０２は、パターン入力部４０１から送られてきたパターンをベクトルに変換する処理を行う。
【００８７】
以下、特徴抽出部４０２で変換されたベクトルを「特徴ベクトル」と呼ぶ。
【００８８】
入力されたパターンが画像の場合は、例えば、ラスタスキャンによりベクトルに変換する。
【００８９】
入力されたパターンが音声の場合は、例えば、一定時間内の音声の周波数成分を並べたベクトルを使用する。
【００９０】
また、ベクトルに変換した後、入力されたパターンの変動を抑制する処理を行ってもよい。例えば、予め大量に用意したパターンから主成分分析によって得られた固有値の小さいノイズ成分を除く処理などを行ってもよい。
【００９１】
（４）辞書特徴格納部４０３
辞書特徴格納部４０３は、認識対象の各クラスのパターンに対して、特徴抽出部４０２の処理及び量子化処理２０を行い、得られた量子化特徴ベクトル（以下、「辞書量子化特徴ベクトル」という）を記憶領域に格納する。
【００９２】
（５）類似度計算部４０４
類似度計算部４０４は、特徴抽出部４０２で出力された入力パターンの特徴ベクトル（以下、入力特徴ベクトル」という）と辞書特徴格納部４０３に格納された各クラスの辞書量子化特徴ベクトルの間の類似性を表現した値を計算する。
【００９３】
ここでは、ベクトル間の類似度として、ベクトル間の距離を使用する。図５に、類似度計算部４０４で行われる類似度計算処理５０の詳細を示したフローチャートを示す。類似度計算処理５０の説明は後述する。
【００９４】
（６）判定部４０５
判定部４０５は、登録されたクラスの中で類似性に関する条件を満たした中でも最も類似性が高いクラスを入力された認識対象のクラスと同定する。
【００９５】
条件を満たしたものがない場合は属するクラスなしと同定する。
【００９６】
類似性を表現する値としてベクトル間の距離を使用した場合、類似性に関する条件を距離が予め設定した閾値より小さいとし、距離が小さいほど類似性が高いとする。
【００９７】
（７）類似度計算処理５０
類似度計算処理５０は、類似度計算部４０５で行う類似度計算処理である。図５に類似度計算処理５０のフローチャートを示す。
【００９８】
類似度計算処理５０は、量子化特徴ベクトル入力処理５０１、特徴ベクトル入力処理５０２、量子化番号別加算処理５０３、加算結果統合処理５０４、出力処理５０５からなる。各処理の説明は以下の通りである。
【００９９】
（７−１）量子化特徴ベクトル入力処理５０１
量子化特徴ベクトル入力処理５０１は、辞書量子化特徴ベクトルの入力を行う処理である。ここでは、辞書特徴格納部４０３に格納された辞書量子化特徴ベクトルを入力する。「量子化特徴ベクトル」は、量子化値の配列及び各成分の量子化番号の配列の組で与えられる。
【０１００】
（７−２）特徴ベクトル入力処理５０２
特徴ベクトル入力処理５０２は、入力特徴ベクトルの入力を行う処理である。
【０１０１】
ここでは、特徴抽出部４０２で生成された入力特徴ベクトルを入力する。
【０１０２】
（７−３）量子化番号別加算処理５０３
量子化番号別加算処理５０３は、量子化特徴ベクトル入力処理５０１で入力した辞書量子化特徴ベクトルの量子化数Ｎ、量子化値の配列を（ｑ１，・・・，ｑＮ）、各成分の量子化番号の配列を（ｎ１，・・・，ｎＤ）とし、特徴ベクトル入力処理５０２で入力した入力特徴ベクトルを（ａ１，・・・，ａＤ）としたとき、以下で定義するｆｉｇｉｈｉを各ｉ＝１，・・・，Ｎで計算する処理である。
【数６】
0005231839.tif 000007
【０１０３】
但し、Ａｉ＝｛ｊ｜ｎｊ＝ｉ｝とする。
【０１０４】
（７−４）加算結果統合処理５０４
加算結果統合処理５０４は、以下の値を計算する処理である。
【数７】
0005231839.tif 000008
【０１０５】
計算後、上記の値はベクトル間距離を二乗した値なので、最後に二乗根を施す。
【０１０６】
（７−５）出力処理５０５
出力処理５０５は、加算結果統合処理５０４で得られた値を出力する処理である。
【０１０７】
（８）効果
本実施形態によれば、上記の辞書特徴ベクトルの量子化によって、圧縮による誤差を抑え、データ量を圧縮した状態で辞書特徴格納部４０３へ格納が可能となる。
【０１０８】
これにより、圧縮前後の入力特徴ベクトルと辞書特徴ベクトル間で定義される値の誤差を小さくできるため、圧縮による認識性能の低下も抑えることができる。
【０１０９】
また、前記類似度計算処理３０では、解凍せずに圧縮された状態で特徴ベクトル間の距離を計算している。
【０１１０】
（第３の実施形態）
本発明の第３の実施形態のパターン認識装置６０について図６〜図７に基づいて説明する。
【０１１１】
本実施形態のパターン認識装置６０は、入力パターンに対応した入力特徴ベクトルを量子化した入力量子化特徴ベクトルと、比較対象である辞書特徴ベクトルとから類似度を求め、この類似度からパターン認識を行う。
【０１１２】
（１）パターン認識装置６０
本実施形態のパターン認識装置６０を図６に基づいて説明する。図６はパターン認識装置６０の概略を示すブロック図である。
【０１１３】
パターン認識装置６０は、パターン入力部６０１、特徴抽出部６０２、特徴ベクトル量子化部６０３、類似度計算部６０４、辞書特徴格納部６０５、判定部６０６からなる。各部６０１〜６０６の機能は、コンピュータに格納されたプログラムによっても実現可能である。
【０１１４】
各部６０１〜６０６の説明は以下の通りである。
【０１１５】
（１）パターン入力部６０１
パターン入力部６０１は、認識対象となるパターンの入力を行う。
【０１１６】
パターンが画像の場合は、例えば予めデジタルカメラ等で撮影した画像をパソコンに取り込んだものやパソコンに接続したカメラなどで実現できる。
【０１１７】
パターンが音声の場合は、例えば予め録音した音声をパソコンに取り込んだものやパソコンに接続したマイクなどで実現できる。
【０１１８】
（２）特徴抽出部６０２
特徴抽出部６０２は、パターン入力部６０１から送られてきた入力パターンをベクトルに変換する処理を行う。以下、特徴抽出部６０２で変換されたベクトルを「入力特徴ベクトル」と呼ぶ。
【０１１９】
入力されたパターンが画像の場合は、例えば、ラスタスキャンによりベクトルに変換する。
【０１２０】
入力されたパターンが音声の場合は、例えば、一定時間内の音声の周波数成分を並べたベクトルを使用する。
【０１２１】
また、ベクトルに変換した後、入力されたパターンの変動を抑制する処理を行ってもよい。例えば、予め大量に用意したパターンから主成分分析によって得られた固有値の小さいノイズ成分を除く処理などを行ってもよい。
【０１２２】
（３）特徴ベクトル量子化部６０３
特徴ベクトル量子化部６０３は、特徴抽出部６０２で生成された入力特徴ベクトルに対して、量子化処理２０の特徴ベクトルの各成分の量子化処理を行う。以下、量子化した入力特徴ベクトルを「入力量子化特徴ベクトル」という。
【０１２３】
（４）辞書特徴格納部６０４
辞書特徴格納部６０４は、認識対象の各クラスのパターンに対して、特徴抽出部６０２で行われる処理を行い、生成した辞書特徴ベクトル（以下、「辞書特徴ベクトル」という）を記憶領域に格納する。
【０１２４】
（５）類似度計算部６０５
類似度計算部６０５は、特徴ベクトル量子化部６０３で出力された入力パターンの入力量子化特徴ベクトルと辞書特徴格納部６０４に格納された各クラスの辞書特徴ベクトルの間の類似性を表現した値を計算する。
【０１２５】
ここでは、ベクトル間の類似度として、ベクトル間の距離を使用する。類似度計算部６０５では、類似度計算処理５０を使用する。
【０１２６】
（６）判定部６０６
判定部６０６は、登録されたクラスの中で類似性に関する条件を満たした中でも最も類似性が高いクラスを入力された認識対象のクラスと同定する。
【０１２７】
条件を満たしたものがない場合は属するクラスなしと同定する。
【０１２８】
類似性を表現する値としてベクトル間の距離を使用した場合、類似性に関する条件を距離が予め設定した閾値より小さいとし、距離が小さいほど類似性が高いとする。
【０１２９】
（７）効果
本実施形態によれば、上記の入力特徴ベクトルの量子化によって、圧縮による誤差を抑え、データ量を圧縮することが可能となる。
【０１３０】
これにより、圧縮前後の入力特徴ベクトルと辞書特徴ベクトル間の類似度の差を小さくできるため、圧縮による認識性能の低下も抑えることができる。
【０１３１】
また、上記の量子化特徴ベクトルの類似度計算によって、解凍せずに圧縮された状態で特徴ベクトル間の類似度を計算することが可能となる。
【０１３２】
（変更例）
本発明は上記各実施形態に限らず、その主旨を逸脱しない限り種々に変更することができる。
【０１３３】
（１）変更例１
初期化処理２０３、量子化区間探索処理２０４及び探索準備処理２０５で使用する量子化誤差ｅｉ，ｊを各成分の差の絶対値の和で計算してもよい。その場合は、成分ｖｉ，・・・ｖｊを全てｑに置き換えたときの量子化誤差は以下の式（７）で与えられる。
【数８】
0005231839.tif 000009
【０１３４】
但し、ｖｌ≦ｑ＜ｖｌ＋１とする。式（２）から、ｉ＋ｊが偶数のときは、ｐ＝（ｉ＋ｊ）／２とすると、ｑ＝ｖｐとしたとき、量子化誤差が最小となり、その値は、
【数９】
0005231839.tif 000010
【０１３５】
となる。ｉ＋ｊが奇数のときは、ｐ＝（ｉ＋ｊ−１）／２とすると、ｖｐ≦ｑ＜ｖｐ＋１の任意の値で、量子化誤差が最小となり、その値は、
【数１０】
0005231839.tif 000011
【０１３６】
となる。量子化特徴ベクトル出力処理２０７で、使用する各量子化区間の量子化誤差を最少にする量子化値は上記のものを使用する。
【０１３７】
（２）変更例２
類似度計算部１０５で計算するベクトル間の類似度として、２つのベクトル間の距離を用いたガウシアンカーネル式（８）の値を計算してもよい。
【数１１】
0005231839.tif 000012
【０１３８】
（３）変更例３
類似度計算部１０５で計算するベクトル間の類似度として、２つのベクトルの内積やその２乗を計算してもよい。
【０１３９】
量子化特徴ベクトル間の内積を計算する場合、係数テーブル生成処理３０２で式（２）の代わりに式（９）で定義される係数テーブルを生成すると、ベクトル間の内積を計算することができる。
【数１２】
0005231839.tif 000013
【０１４０】
また、この内積を用いた多項式カーネル式（１０）、式（１１）などの値をベクトル間の類似度としてもよい。但し、（ｕ，ｕ’）はベクトルｕ，ｕ’の内積、ｐは１以上の整数とし、ｐの値は実験により適切な値を設定する。
【数１３】
0005231839.tif 000014
【０１４１】
（４）変更例４
類似度計算部１０５で計算するベクトル間の類似度として、２つの各成分の差の絶対値の和を計算してもよい。以後、この値をベクトル間のＬ１距離と呼ぶ。
【０１４２】
量子化特徴ベクトル間のＬ１距離を計算する場合、係数テーブル生成処理３０２で式（２）の代わりに式（１２）で定義される係数テーブルを生成すると、ベクトル間のＬ１距離を計算することができる。但し、｜｜は絶対値とする。
【数１４】
0005231839.tif 000015
【０１４３】
（５）変更例５
類似度計算部４０４で計算するベクトル間の類似度として、２つのベクトルの内積やその２乗を計算してもよい。量子化特徴ベクトル間の内積を計算する場合、量子化番号別加算処理５０３で式（５）のｇｉを計算し、加算結果統合処理５０４で式（１３）を計算することで、ベクトル間の内積を得ることができる。
【数１５】
0005231839.tif 000016
【０１４４】
また、この内積を用いた多項式カーネルの式（１０）、式（１１）の値をベクトル間の類似度としてもよい。
【０１４５】
（６）変更例６
類似度計算部４０４で計算するベクトル間の類似度として、Ｌ１距離で計算しても良い。量子化特徴ベクトル間のＬ１距離を計算する場合、量子化番号別加算処理５０３で以下に定義するｂｉを計算する。但し、｜｜は絶対値とする。
【数１６】
0005231839.tif 000017
【０１４６】
次に、加算結果統合処理５０４で式（１４）を計算することで、ベクトル間のＬ１距離を計算することができる。
【数１７】
0005231839.tif 000018
【０１４７】
（７）変更例７
辞書特徴格納部１０４及び辞書特徴格納部４０３で量子化特徴ベクトルを記憶領域に格納する際、可逆圧縮を施してもよい。可逆圧縮した場合は、格納した量子化特徴ベクトルを復元して類似度計算部１０５で使用する。
【０１４８】
可逆圧縮は、例えば、ハフマン符号化（T.M.Cover and J.A.Thomas, Elements of information Theory. NewYork: Willey. 2006 参照）などでよい。
【図面の簡単な説明】
【０１４９】
【図１】本発明の第１の実施形態のパターン認識装置のブロック図である。
【図２】量子化処理のフローチャートである。
【図３】類似度計算処理のフローチャートである。
【図４】第２の実施形態のパターン認識装置のブロック図である。
【図５】類似度計算処理のフローチャートである。
【図６】第３の実施形態のパターン認識装置のブロック図である。
【図７】顔画像から生成した特徴ベクトルに各成分の量子化処理を施した例の図である。
【図８】Ｄ＝６のときに並べ替え後のベクトル（ｖ１，・・・，ｖ６）を図示したものである。
【図９】図８のベクトルのｅｉ，ｊを図示したものである。
【図１０】図８のベクトルＥｉ，Ｍ及びＴｉ，Ｍを図示したものである。
【図１１】図８のベクトルについて、Ｎ＝３のときの量子化区間探索処理２０４を図示したものである。
【図１２】図８のベクトルについて、Ｎ＝３、ｉ＝５のときの探索準備処理２０６を図示したものである。
【符号の説明】
【０１５０】
１０    パターン認識装置
１０１    パターン入力部
１０２    特徴抽出部
１０３    特徴ベクトル量子化部
１０４    類似度計算部
１０５    辞書特徴格納部
１０６    判定部
【図１】
0005231839.tif 000019
【図２】
0005231839.tif 000020
【図３】
0005231839.tif 000021
【図４】
0005231839.tif 000022
【図５】
0005231839.tif 000023
【図６】
0005231839.tif 000024
【図８】
0005231839.tif 000025
【図９】
0005231839.tif 000026
【図１０】
0005231839.tif 000027
【図１１】
0005231839.tif 000028
【図１２】
0005231839.tif 000029
【図７】
0005231839.tif 000030