(57)【特許請求の範囲】
【請求項１】
モデルデータ群の共分散行列を算出する共分散行列算出手段と、
前記モデルデータ群の座標系を前記共分散行列が単位行列になる座標系に変換する座標系変換手段と、
変換された前記座標系でクラス内分散が小さくなるように前記モデルデータ群を、各カテゴリより小さい分布範囲をもつクラス毎に分類するクラス構築手段と、
前記クラス構築手段により前記クラス毎に分類された全モデルデータのパターンベクトルとそのクラスのラベルを記憶するクラスモデルデータベースと、
前記クラスのクラス内の前記モデルデータ群のクラス内分散が小さく、かつ前記クラスのクラス間のクラス間分散が大きくなるような特徴座標系に変換する特徴抽出行列を前記クラスモデルデータベースに記憶された全モデルデータのパターンベクトルとクラスのラベルを基にして算出する特徴行列算出手段と、
前記特徴抽出行列を用いて、前記クラス毎に分類された前記全モデルデータをモデル特徴ベクトルに変換し、前記モデル特徴ベクトルを用いて前記クラスの代表値を算出するモデル特徴ベクトル算出手段と、
前記特徴抽出行列と前記クラスの代表値とを記憶する記憶手段と、
前記記憶手段に記憶された前記特徴抽出行列により、外部から入力された入力データを入力特徴ベクトルに変換する入力特徴ベクトル算出手段と、前記変換された入力特徴ベクトルと前記記憶手段に記憶された前記代表値とを比較することで前記入力データと最も類似度の高い前記代表値を持つ前記クラスを判定するクラス判定手段と、
前記クラス判定手段の出力に応じて前記入力データの属する前記カテゴリを求めるカテゴリ判定手段と、
を具備するデータ分類装置。
【請求項２】
前記クラスは、複数の前記カテゴリに属さないような分布を持つことを特徴とする請求項１記載のデータ分類装置。
【請求項３】
前記行列算出手段は、前記クラス内に含まれる前記モデルデータ群のクラス内共分散行列に対する前記クラス間のクラス間共分散行列の比である分散比が最大になるように座標系を変換する特徴抽出行列を算出することを特徴とする請求項１または請求項２記載のデータ分類装置。
【請求項４】
前記行列算出手段は、前記クラス内に含まれる前記モデルデータ群のクラス内共分散行列に対する前記モデルデータ群の共分散行列との比である分散比が最大になるように座標系を変換する特徴抽出行列を算出することを特徴とする請求項１または請求項２記載のデータ分類装置。
【請求項５】
前記モデルデータを前記モデルデータから取り出した一部のデータの画素値を１次元ベクトルに表現したモデルパターンベクトルとして扱い、前記入力データを前記入力データから取り出した一部のデータの画素値を１次元ベクトルに表現した入力パターンベクトルとして扱うことを特徴とする請求項１から請求項４のいずれかに記載のデータ分類装置。
【請求項６】
請求項１から請求項５のいずれかに記載のデータ分類装置を具備し、前記カテゴリを物体の種別とし前記モデルデータを前記種別で分類し、前記入力データの属する前記カテゴリを判定することで、前記入力データの前記種別を判定することを特徴とする物体認識装置。
【請求項７】
請求項１から請求項５のいずれかに記載のデータ分類装置を具備し、前記カテゴリを物体までの距離とし前記モデルデータを前記物体までの距離で分類し、前記入力データの属する前記カテゴリを判定することで、前記入力データの実空間上の距離を判定することを特徴とする物体認識装置。
【請求項８】
モデルデータ群の共分散行列を算出するステップと、
前記モデルデータ群の座標系を前記共分散行列が単位行列になる座標系に変換するステップと、
変換された前記座標系でクラス内分散が小さくなるように前記モデルデータ群を、各カテゴリより小さい分布範囲をもつクラス毎に分類するステップと、
前記クラス毎に分類された全モデルデータのパターンベクトルとそのクラスのラベルをクラスモデルデータベースを記憶するステップと、
前記クラスのクラス内の前記モデルデータ群のクラス内分散が小さく、かつ前記クラスのクラス間のクラス間分散が大きくなるような特徴座標系に変換する特徴抽出行列を前記クラスモデルデータベースに記憶された全モデルデータのパターンベクトルとクラスのラベルを基にして算出するステップと、
前記特徴抽出行列を用いて、前記クラス毎に分類された前記全モデルデータをモデル特徴ベクトルに変換し、前記モデル特徴ベクトルを用いて前記クラスの代表値を算出するステップと、
前記特徴抽出行列と前記クラスの代表値とを記憶手段に記憶するステップと、
前記記憶手段に記憶された前記特徴抽出行列により、外部から入力された入力データを入力特徴ベクトルに変換するステップと、前記変換された入力特徴ベクトルと前記記憶手段に記憶された前記代表値とを比較することで前記入力データと最も類似度の高い前記代表値を持つ前記クラスを判定するステップと、
前記クラスの判定に応じて前記入力データの属する前記カテゴリを求めるステップと、
を有するデータ分類方法。
【請求項９】
コンピュータに、データ分類を実行させるためのプログラムであって、
モデルデータ群の共分散行列を算出するステップと、
前記モデルデータ群の座標系を前記共分散行列が単位行列になる座標系に変換するステップと、
変換された前記座標系でクラス内分散が小さくなるように前記モデルデータ群を、各カテゴリより小さい分布範囲をもつクラス毎に分類するステップと、
前記クラス毎に分類された全モデルデータのパターンベクトルとそのクラスのラベルをクラスモデルデータベースを記憶するステップと、
前記クラスのクラス内の前記モデルデータ群のクラス内分散が小さく、かつ前記クラスのクラス間のクラス間分散が大きくなるような特徴座標系に変換する特徴抽出行列を前記クラスモデルデータベースに記憶された全モデルデータのパターンベクトルとクラスのラベルを基にして算出するステップと、
前記特徴抽出行列を用いて、前記クラス毎に分類された前記全モデルデータをモデル特徴ベクトルに変換し、前記モデル特徴ベクトルを用いて前記クラスの代表値を算出するステップと、
前記特徴抽出行列と前記クラスの代表値とを記憶手段に記憶するステップと、
前記記憶手段に記憶された前記特徴抽出行列により、外部から入力された入力データに変換するステップと、前記変換され入力特徴ベクトルと前記記憶手段に記憶された前記代表値とを比較することで前記入力データと最も類似度の高い前記代表値を持つ前記クラスを判定するステップと、
前記クラスの判定に応じて前記入力データの属する前記カテゴリを求めるステップと、から構成されるデータ分類プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、入力されたデータをカテゴリに分類するデータ分類装置およびデータ分類装置を具備した物体認識装置に関する。
【０００２】
【従来の技術】
従来より、入力された入力データを、アプリケーションが求めるカテゴリに分類するデータ分類装置がある。従来のデータ分類装置は、入力データがどのカテゴリに入るかを分類する際に、まず、入力データのベクトルと、夫々のカテゴリの代表ベクトルとを求める。カテゴリの代表ベクトルは、カテゴリに含まれる全モデルデータのベクトルの重心ベクトルである。
【０００３】
次に、従来のデータ分類装置は、入力データのベクトルと、カテゴリの代表ベクトルとを比較し、入力データのベクトルと最も類似度の高い代表ベクトルを持つカテゴリを検出する。そして、従来のデータ分類装置は、入力データを、最も類似度の高い代表ベクトルを持つカテゴリに分類する。
【０００４】
【発明が解決しようとする課題】
しかしながら、カテゴリの代表ベクトルが正確にカテゴリの分布を示さない場合がある。例えば、図１９に示すように、カテゴリＡが広くかつ中心部分が空になるように分布し、カテゴリＢが小さくかつカテゴリＡの中心部分に分布している場合である。この場合、カテゴリＡの代表ベクトルの位置はａ点に、カテゴリＢの代表ベクトルはｂ点になり、それぞれのカテゴリの代表ベクトル間の位置が非常に近くなる。そこに、点ｃのベクトルであらわされる入力データが入力されると、入力データはカテゴリＡの代表ベクトルと類似度が高く、入力データはカテゴリＡに分類されることになる。しかし、実際には、カテゴリＡとカテゴリＢの分布を考えると、入力データはカテゴリＢと類似度が高く、カテゴリＢに分類されるべきである。
【０００５】
このように、従来のデータ分類装置においては、入力データが適切なカテゴリに分類されない場合がある。
【０００６】
本発明は、かかる点に鑑みてなされたものであり、カテゴリの分布に関わらず、入力データを正確なカテゴリに分類することを目的とする。
【０００７】
【課題を解決するための手段】
本発明は、モデルデータ群の共分散行列を算出する共分散行列算出手段と、前記モデルデータ群の座標系を前記共分散行列が単位行列になる座標系に変換する座標系変換手段と、変換された前記座標系でクラス内分散が小さくなるように前記モデルデータ群を、各カテゴリより小さい分布範囲をもつクラス毎に分類するクラス構築手段と、前記クラス構築手段により前記クラス毎に分類された全モデルデータのパターンベクトルとそのクラスのラベルを記憶するクラスモデルデータベースと、前記クラスのクラス内の前記モデルデータ群のクラス内分散が小さく、かつ前記クラスのクラス間のクラス間分散が大きくなるような特徴座標系に変換する特徴抽出行列を前記クラスモデルデータベースに記憶された全モデルデータのパターンベクトルとクラスのラベルを基にして算出する特徴行列算出手段と、前記特徴抽出行列を用いて、前記クラス毎に分類された前記全モデルデータをモデル特徴ベクトルに変換し、前記モデル特徴ベクトルを用いて前記クラスの代表値を算出するモデル特徴ベクトル算出手段と、前記特徴抽出行列と前記クラスの代表値とを記憶する記憶手段と、前記記憶手段に記憶された前記特徴抽出行列により、外部から入力された入力データを入力特徴ベクトルに変換する入力特徴ベクトル算出手段と、前記に変換された入力特徴ベクトルと前記記憶手段に記憶された前記代表値とを比較することで前記入力データと最も類似度の高い前記代表値を持つ前記クラスを判定するクラス判定手段と、前記クラス判定手段の出力に応じて前記入力データの属する前記カテゴリを求めるカテゴリ判定手段と、を具備するようにしたものである。
【０００８】
これにより、入力データとクラスを比較することで、入力データの属するカテゴリが求められる。この結果、カテゴリの分布の大小に関わらず、入力データを正確なカテゴリに分類することができるので、データ分類の精度を上げることができ、実用的なデータ分類をすることが可能となる。
【０００９】
【発明の実施の形態】
本発明の第１の態様にかかるデータ分類装置は、モデルデータ群の共分散行列を算出する共分散行列算出手段と、前記モデルデータ群の座標系を前記共分散行列が単位行列になる座標系に変換する座標系変換手段と、変換された前記座標系でクラス内分散が小さくなるように前記モデルデータ群を、各カテゴリより小さい分布範囲をもつクラス毎に分類するクラス構築手段と、前記クラス構築手段により前記クラス毎に分類された全モデルデータのパターンベクトルとそのクラスのラベルを記憶するクラスモデルデータベースと、前記クラスのクラス内の前記モデルデータ群のクラス内分散が小さく、かつ前記クラスのクラス間のクラス間分散が大きくなるような特徴座標系に変換する特徴抽出行列を前記クラスモデルデータベースに記憶された全モデルデータのパターンベクトルとクラスのラベルを基にして算出する特徴行列算出手段と、前記特徴抽出行列を用いて、前記クラス毎に分類された前記全モデルデータをモデル特徴ベクトルに変換し、前記モデル特徴ベクトルを用いて前記クラスの代表値を算出するモデル特徴ベクトル算出手段と、前記特徴抽出行列と前記クラスの代表値とを記憶する記憶手段と、前記記憶手段に記憶された前記特徴抽出行列により、外部から入力された入力データを入力特徴ベクトルに変換する入力特徴ベクトル算出手段と、前記変換された入力特徴ベクトルと前記記憶手段に記憶された前記代表値とを比較することで前記入力データと最も類似度の高い前記代表値を持つ前記クラスを判定するクラス判定手段と、前記クラス判定手段の出力に応じて前記入力データの属する前記カテゴリを求めるカテゴリ判定手段と、を具備する構成を採る。
【００１０】
この構成により、入力データとクラスの代表値を比較することで、入力データの属するクラスが求めることができ、さらに、入力データの属するクラスから入力データの属するカテゴリを求めることができる。また、クラスはカテゴリよりも小さい分布を持つので入力データの属するクラスを正確に求めることができるので、入力データの属するクラスから入力データの属するカテゴリが正確に判断できる。つまり、カテゴリの分布の大小に関わらず、入力データの属するカテゴリが正確に判断できる。よって、データ分類の精度を上げることができ、実用的なデータ分類をすることが可能となる。
また、入力データとクラスの比較が、各クラスの特徴が大きく現れた座標系で行うことができる。このように、分類に適した座標系に変換した後に、入力データとクラスとを比較することで、入力データの正確な比較を行える。よって、入力データとクラスの分類が正確に行える。
また、これにより、クラス内のモデルデータの分布を小さくすると共に、クラス間のクラス分布を大きくした状態で、入力データとクラスとの比較を行える。つまり、クラスの分布の特徴が明らかな状態で入力データとクラスとの比較を行えるので、入力データのクラスとの比較が正確に行えるようになる。
さらに、これにより、モデルデータ群の共分散行列が単位行列になるように座標系を変換してからクラス分けを行うことができる。この結果、容易に特徴抽出行列を求められる。
また、このようにクラス内分散を小さくするようにモデルデータをクラス分けすることで、クラス間の特徴を明確にできる。
【００１１】
本発明の第２の態様は、第１の態様にかかるデータ分類装置において、前記クラスは、複数の前記カテゴリに属さないような分布を持つ。
【００１２】
このように、クラスが複数のカテゴリに属さないようにクラスを細分化することにより、入力データの属するクラスから入力データの属するカテゴリを正確に判定できる。
【００２３】
本発明の第３の態様は、第１の態様から第２の態様のいずれかにかかるデータ分類装置において、前記行列算出手段は、前記クラス内に含まれる前記モデルデータ群のクラス内共分散行列に対する前記クラス間のクラス間共分散行列の比である分散比が最大になるように座標系を変換する特徴抽出行列を算出する。
【００２４】
このような分散比が最大となる座標系に変換することで、クラス間共分散ができるだけ大きくかつクラス内共分散ができるだけ小さくなる。また、分散比が最大となる座標系に変換する行列を求めることで、特徴抽出行列を容易に求めることができる。
【００２５】
本発明の第４の態様は、第１の態様から第２の態様のいずれかにかかるデータ分類装置において、前記行列算出手段は、前記クラス内に含まれる前記モデルデータ群のクラス内共分散行列に対する前記モデルデータ群の共分散行列との比である分散比が最大になるように座標系を変換する特徴抽出行列を算出する。
【００２６】
このような分散比が最大となる座標系は、モデルデータ群の共分散行列が大きくかつクラス内共分散が小さくなる座標系であるので、この分散比が最大となる座標系に変換する行列を求めることで、特徴抽出行列を容易に求めることができる。
【００３１】
本発明の第５の態様は、第１の態様から第４の態様のいずれかにかかるデータ分類装置において、前記モデルデータを前記モデルデータから取り出した一部のデータの画素値を１次元ベクトルに表現したモデルパターンベクトルとして扱い、前記入力データを前記入力データから取り出した一部のデータの画素値を１次元ベクトルに表現した入力パターンベクトルとして扱う。
【００３２】
これにより、モデルデータおよび入力データの分類対象の領域を絞り込むことができ、入力データの属するクラスの判定が効率的かつ正確にできる。
【００３３】
本発明の第６の態様にかかる物体認識装置は、第１の態様から第５の態様のいずれかに記載のデータ分類装置を具備し、前記カテゴリを物体の種別とし前記モデルデータを前記種別で分類し、前記入力データの属する前記カテゴリを判定することで、前記入力データの前記種別を判定する。
【００３４】
この構成により、正確に入力データの種別を判定することができる。
【００３５】
本発明の第７の態様にかかる物体認識装置は、第１の態様から第５の態様のいずれかに記載のデータ分類装置を具備し、前記カテゴリを物体までの距離とし前記モデルデータを前記物体までの距離で分類し、前記入力データの属する前記カテゴリを判定することで、前記入力データの実空間上の距離を判定する。
【００３６】
この構成により、正確に入力データの実空間上の距離を判定することができる。
【００３７】
本発明の第８の態様は、モデルデータ群の共分散行列を算出するステップと、前記モデルデータ群の座標系を前記共分散行列が単位行列になる座標系に変換するステップと、変換された前記座標系でクラス内分散が小さくなるように前記モデルデータ群を、各カテゴリより小さい分布範囲をもつクラス毎に分類するステップと、前記クラス毎に分類された全モデルデータのパターンベクトルとそのクラスのラベルをクラスモデルデータベースを記憶するステップと、前記クラスのクラス内の前記モデルデータ群のクラス内分散が小さく、かつ前記クラスのクラス間のクラス間分散が大きくなるような特徴座標系に変換する特徴抽出行列を前記クラスモデルデータベースに記憶された全モデルデータのパターンベクトルとクラスのラベルを基にして算出するステップと、前記特徴抽出行列を用いて、前記クラス毎に分類された前記全モデルデータをモデル特徴ベクトルに変換し、前記モデル特徴ベクトルを用いて前記クラスの代表値を算出するステップと、前記特徴抽出行列と前記クラスの代表値とを記憶手段に記憶するステップと、前記記憶手段に記憶された前記特徴抽出行列により、外部から入力された入力データを入力特徴ベクトルに変換するステップと、前記変換された入力特徴ベクトルと前記記憶手段に記憶された前記代表値とを比較することで前記入力データと最も類似度の高い前記代表値を持つ前記クラスを判定するステップと、前記クラスの判定に応じて前記入力データの属する前記カテゴリを求めるステップと、を有するデータ分類方法である。
【００３８】
本発明の第９の態様は、コンピュータに、データ分類を実行させるためのプログラムであって、モデルデータ群の共分散行列を算出するステップと、前記モデルデータ群の座標系を前記共分散行列が単位行列になる座標系に変換するステップと、変換された前記座標系でクラス内分散が小さくなるように前記モデルデータ群を、各カテゴリより小さい分布範囲をもつクラス毎に分類するステップと、前記クラス毎に分類された全モデルデータのパターンベクトルとそのクラスのラベルをクラスモデルデータベースを記憶するステップと、前記クラスのクラス内の前記モデルデータ群のクラス内分散が小さく、かつ前記クラスのクラス間のクラス間分散が大きくなるような特徴座標系に変換する特徴抽出行列を前記クラスモデルデータベースに記憶された全モデルデータのパターンベクトルとクラスのラベルを基にして算出するステップと、前記特徴抽出行列を用いて、前記クラス毎に分類された前記全モデルデータをモデル特徴ベクトルに変換し、前記モデル特徴ベクトルを用いて前記クラスの代表値を算出するステップと、前記特徴抽出行列と前記クラスの代表値とを記憶手段に記憶するステップと、前記記憶手段に記憶された前記特徴抽出行列により、外部から入力された入力データを入力特徴ベクトルに変換するステップと、前記変換された入力特徴ベクトルと前記記憶手段に記憶された前記代表値とを比較することで前記入力データと最も類似度の高い前記代表値を持つ前記クラスを判定するステップと、前記クラスの判定に応じて前記入力データの属する前記カテゴリを求めるステップと、から構成されるデータ分類プログラムである。
【００３９】
（実施の形態１）
以下、本発明の実施の形態１にかかるデータ分類装置について添付図面を用いて説明する。まず、実施の形態１におけるデータ分類装置の構成について図１を用いて説明する。図１は、実施の形態１にかかるデータ分類装置のブロック図である。
【００４０】
実施の形態１にかかるデータ分類装置１００は、コンピュータシステム１０１を中心とした構成を採っている。
【００４１】
コンピュータシステム１０１には、プログラムに基づいて所定の処理を行うＣＰＵ１０２が設けられている。プログラムは、メモリ１０３に格納されている。また、メモリ１０３は、プログラムを格納するほかに、ＣＰＵ１０２のワーク用のメモリとして使用される。
【００４２】
また、コンピュータシステム１０１には、外部とのデータのやり取りをするインターフェースユニット（以下、Ｉ／Ｆとする）１０４〜１０７が設けられている。
【００４３】
Ｉ／Ｆ１０４は、ＣＰＵ１０２により制御され、外部に設けられた画像データを保存する大規模な画像データベース１０８から送られてくる画像データを受信し、画像メモリ１０９に格納する。なお、画像データベース１０８は、２次記憶装置や光磁気ディスクなどで構成されている。また、Ｉ／Ｆ１０４は、画像メモリ１０９に格納されたデータを読み出す動作もする。
【００４４】
Ｉ／Ｆ１０５は、ＣＰＵ１０２により制御され、物体の画像を撮影するためのビデオカメラ（以下、カメラという）１１０から送られてきた画像データを受信し、画像メモリ１１１に格納する。また、Ｉ／Ｆ１０５は、画像メモリ１１１に格納されたデータを読み出す動作もする。
【００４５】
Ｉ／Ｆ１０６は、入力手段であるキーボード１１２から入力された情報をＣＰＵ１０２などに送る。また、Ｉ／Ｆ１０６は、表示手段であるディスプレイ１１３に対して表示データを送信する。
【００４６】
Ｉ／Ｆ１０７は、カメラ１１０から入力された画像データをデータ分類装置１００が分類した結果を出力端子１１８に対して送信する。なお、入力された画像データを分類する処理については後述する。
【００４７】
また、コンピュータシステム１０１には、画像メモリ１０９、１１１に格納された画像データの画素値を１次元ベクトルに表現したパターンベクトルを格納するパターンベクトルメモリ１１４が設けられている。また、画像データをパターンベクトルに変換する処理は、ＣＰＵ１０２が行う。
【００４８】
また、コンピュータシステム１０１には、画像データベース１０８から入力された種々のモデルである画像データ（以下、モデルデータという）をパターンベクトルに変換したモデルパターンベクトルを格納しているカテゴリ構成モデルデータデータベース１１５が設けられている。カテゴリ構成モデルデータデータベース１１５に格納されたパターンベクトルは、カテゴリ毎に分類されて格納されている。
【００４９】
また、コンピュータシステム１０１には、カテゴリ構成モデルデータデータベース１１５に格納されたカテゴリ構成のモデルデータを、カテゴリよりも小さい分布をもつクラス毎に分類し格納したクラス構成モデルデータデータベース１１６が設けられている。また、カテゴリ構成されたモデルデータをクラス構成に再構成する処理は、ＣＰＵ１０２が行う。
【００５０】
また、コンピュータシステム１０１内部の各構成は、ＣＰＵバス１１７により接続されており、ＣＰＵバス１１７を介して情報の送受信を行う。
【００５１】
以上のように構成されたデータ分類装置１００は、カメラ１１０から入力された画像データ（以下、入力画像データ）がクラス構成モデルデータデータベース１１６に登録されているクラスのうち、どのクラスに一番類似しているかを判断することでデータ分類を行う。データ分類装置１００のデータ分類処理は、カテゴリ毎に分けられたカテゴリ構成モデルデータデータベース１１５からクラス構成モデルデータデータベース１１６の構築を行うオフライン処理と、入力画像データがクラス構成モデルデータデータベース１１６のどのクラスに最も類似するかのクラス判定を行うオンライン処理とに大別される。
【００５２】
次に、データ分類装置１００のオフライン処理について説明する。オフライン処理の目的は、カテゴリ構成モデルデータデータベース１１５から、クラス構成モデルデータデータベース１１６を構築することである。このオフライン処理が、本発明の特徴である。まず、データ分類装置１００のオフライン処理を行うための構成について図２を用いて説明する。図２は、実施の形態１にかかるデータ分類装置のオフライン処理のための機能ブロック図である。なお、既に説明した部分と同一の部分には同一の符番を付与する。
【００５３】
画像データベース１０８には、複数のモデルデータが格納されている。モデルデータは、Ｉ／Ｆ１０４を介して画像メモリ１０９に格納される。
【００５４】
また、データ分類装置１００には、画像メモリ１０９に格納されたモデルデータからモデルパターンを作成し、さらにモデルパターンからパターンベクトルを作成するパターンベクトル作成部２０１が設けられている。モデルパターンは、モデルデータから任意に長方形の部分画像を抽出したものである。パターンベクトルは、モデルパターンの画素値を１次元ベクトルに表現したベクトルである。なお、モデルパターンの大きさ及びその形はいかなる物であっても良い。また、パターンベクトルは、エッジ画像をベクトル化したものであっても、二値画像の座標情報を１次元ベクトルに表現したベクトル等であっても良い。
【００５５】
次に、パターンベクトル作成部２０１は、作成したパターンベクトルに対応するモデルパターン（モデルデータでも良い）をディスプレイ１１３に表示する。そして、パターンベクトル作成部２０１は、表示されたモデルパターンを見たユーザがキーボード１１２から入力した、モデルパターンに対応するカテゴリ情報を得る。そして、パターンベクトル作成部２０１は、作成したパターンベクトルを、ユーザが入力したカテゴリ毎に分類した状態で、カテゴリ構成モデルデータデータベース１１５に格納する。なお、ユーザが入力するカテゴリ情報は、データ分類装置１００のアプリケーションが求めるカテゴリ情報である。
【００５６】
また、パターンベクトル作成部２０１は、カテゴリ構成モデルデータデータベース１１５に作成したモデルデータのパターンベクトルを格納する際に、パターンベクトルに分類したカテゴリ名を記述したラベルをつける。また、ラベルとは、モデルパターンの種類や所属等を表現する情報である。
【００５７】
カテゴリ構成モデルデータデータベース１１５の構成について、図３を用いて説明する。図３は、実施の形態１にかかるカテゴリ構成モデルデータデータベースの構成を示す図である。
【００５８】
図３からわかるようにカテゴリ構成モデルデータデータベース１１５には、アプリケーションが求めるカテゴリ４０１と、カテゴリ４０１に対応するモデルデータ４０２との組が複数格納されている。なお、カテゴリ構成モデルデータデータベース１１５に格納されるモデルデータはパターンベクトルになっている。
【００５９】
また、アプリケーションが求めるカテゴリとしては、人物を示す「Ａさん」「Ｂさん」「Ｃさん」などのカテゴリや、車のタイプを示す「セダン」「トラック」「ＲＶ」などのカテゴリや、物体までの距離を示す情報など、さまざまなカテゴリが考えられる。また、カテゴリ４０１に対応するモデルデータには、カテゴリ４０１の名前のラベルが付与されている。図３の例では、画像ａ１、画像ａ２には「Ａ」というラベルが、画像ｂ１、画像ｂ２には「Ｂ」というラベルが、画像ｃ１、画像ｃ２には「Ｃ」というラベルが、付与されている。
【００６０】
また、データ分類装置１００には、カテゴリ構成モデルデータデータベース１１５にカテゴリ毎に格納されたモデルデータをデータ分類装置１００が分類しやすくなるようなクラス構成に再構成するクラス構成構築部２０２が設けられている。クラス構成構築部２０２は、カテゴリ構成モデルデータデータベース１１５からパターンベクトルを抽出し、パターンベクトルをモデルパターンに変換しＩ／Ｆ１０６を介してディスプレイ１１３に送信し、表示する。そして、クラス構成構築部２０２は、ディスプレイ１１３に表示されたモデルパターンを見たユーザがキーボード１１２から入力した、所定の項目に対応するモデルパターンの種別情報をＩ／Ｆ１０６を介して得る。そして、クラス構成構築部２０２は、カテゴリ構成モデルデータデータベース１１５のパターンベクトルをモデルパターンの種別情報によりクラス構成に構成し直した状態で、クラス構成モデルデータデータベース１１６に格納する。
【００６１】
また、所定の項目とは、モデルデータ（モデルパターン）をクラス分けするための基準情報である。また、本実施の形態では、クラスに分類する際の項目をアプリケーションの要する分類目的に従って自由に、複数かつ階層化して持つことができる。項目の具体例としては、モデルパターンの大きさ、モデルパターンのエッジ画像のエッジ量、モデルパターンの平均濃淡値レベル（白〜灰〜黒、あるいは色）、モデルパターンの種類、モデルパターンの形状、撮影カメラの種類、モデルパターンの色、モデルデータとカメラ間の距離、モデルデータの撮影時期、モデルデータが人の顔データの場合には顔の向き、表情、顔の色、および髪型、モデルデータを撮影した際の光源の種類、モデルデータの撮影した際の光源の方向、画像内のサイズ、などがある。
【００６２】
また、ユーザがキーボード１１２から入力する種別情報は、項目によりモデルデータ（モデルパターン）を分類する情報である。入力する種別情報は、例えば、分類モデルパターンをクラス分けする項目が、モデルデータのパターンの大きさである場合は「大」「中」「小」などの大きさ情報、項目がモデルデータのエッジ画像のエッジ量である場合はエッジ量情報、項目がモデルデータの平均濃淡値レベル（白〜灰〜黒、あるいは色）である場合は平均濃淡値レベル情報、項目がモデルデータの種類である場合は人物名や車名などの種類情報、項目が形状である場合は具体的な形状を示す形状情報である。
【００６３】
また、クラス構成構築部２０２は、クラスごとに含まれるモデルデータのパターンベクトルの重心の値を代表ベクトルとしてクラス構成モデルデータデータベース１１６に格納する。なお、クラス毎の代表値は、モデルデータのパターンベクトルの平均値など、モデルデータの特徴が現れる値であれば良い。
【００６４】
また、クラス構成構築部２０２は、モデルデータに、分類したクラスのラベルをつけ、クラス構成モデルデータデータベース１１６に格納する。また、クラスのラベルには、モデルデータが所属するクラスを識別する情報である（クラス番号やクラス名）と、クラスの項目の種別が記述される。なお、クラスのラベルには、所属するクラスがわかるだけの情報、例えばクラスの番号のみを記述する形態でも良い。
【００６５】
次に、クラス構成モデルデータデータベース１１６の構成について図４を用いて説明する。図４は、実施の形態１にかかるクラス構成モデルデータデータベースの構成を示す図である。
【００６６】
図４からわかるようにクラス構成モデルデータデータベース１１６には、クラスの種別を示すクラス番号５０１と、クラスに対応するカテゴリ４０１と、クラスに対応する項目５０２と、クラスに分類されたモデルデータ４０２と、クラスの代表値５０３と、の組が複数格納されている。図４の例では、項目５０２として形状５０２ａと大きさ５０２ｂが設定されている。また、夫々のクラスにはラベルとして、クラス番号５０１と、クラスの項目５０２が記述されている。また、モデルデータはパターンベクトルで格納されている。
【００６７】
次に、図５を用いて、カテゴリ構成とクラス構成の関係を説明する。図５は、カテゴリ構成とクラス構成の関係を説明する図である。
【００６８】
図５の例では、最上位層の項目が形状であり、形状の項目の下位層における項目が大きさである。そして、図からわかるように、モデルデータは、カテゴリで分類され、さらに形状の項目で分類され、さらに大きさの項目で分類されている。
【００６９】
また、本実施の形態では、パターンベクトル作成部２０１、クラス構成構築部２０２は、ＣＰＵ１０２がメモリ１０３に格納されたプログラムを読みこむことで行う。
【００７０】
次に、データ分類装置１００のオフライン処理について、図６のオフライン処理の動作フローチャートを用いて説明する。図６は、実施の形態１にかかるデータ分類装置のオフライン処理の動作フローチャートである。
【００７１】
まず、データ分類装置１００は、画像データベース１０８からモデルデータを入力し、Ｉ／Ｆ１０４を介して、画像メモリ１０９に蓄積する（Ｓ３０１）。
【００７２】
次に、パターンベクトル作成部２０１が、画像メモリ１０９に一旦蓄えられたモデルデータからモデル部分を取り出し、モデルパターンを作成する。さらに、パターンベクトル作成部２０１は、モデルパターンからパターンベクトルを作成する（Ｓ３０２）。次に、パターンベクトル作成部２０１は、作成したパターンベクトルに対応するモデルパターンをディスプレイ１１３に表示する（Ｓ３０３）。
【００７３】
これに対して、ディスプレイ１１３に表示されたモデルの画像を見たユーザが、キーボード１１２からモデルパターンに対応するカテゴリ情報を入力する。この際に、ユーザが入力するカテゴリ情報は、データ分類装置のアプリケーションが求めるカテゴリ情報である。
【００７４】
そして、パターンベクトル作成部２０１は、キーボード１１２から入力されたカテゴリ情報を得て（Ｓ３０４）、Ｓ３０２において作成したパターンベクトルを予めアプリケーションが求めるカテゴリ毎に分類する（Ｓ３０５）。
【００７５】
次に、パターンベクトル作成部２０１は、Ｓ３０２において作成したパターンベクトルに、Ｓ３０５において分類したカテゴリ名を記述したラベルをつけ、カテゴリ構成モデルデータデータベース１１５に格納する（Ｓ３０６）。
【００７６】
なお、実施の形態１では、パターンベクトルのカテゴリを表すラベルをカテゴリに分類した後で付与するが、モデルデータに初めからカテゴリを表すラベルが付されている形態であってもよい。この形態の場合には、パターンベクトル作成部２０１がカテゴリのラベルと参照することで、パターンベクトルをカテゴリに分類し、カテゴリ構成モデルデータデータベース１１５に格納する。
【００７７】
次に、データ分類装置１００は、モデルデータをクラスに分類する処理に移行する。
【００７８】
まず、クラス構成構築部２０２が、カテゴリ構成モデルデータデータベース１１５を参照し、分類されたカテゴリ毎にパターンベクトルを抽出し、モデルパターンに変換しディスプレイ１１３に表示する（Ｓ３０７）。
【００７９】
また、クラス構成構築部２０２は、パターンベクトルからモデルパターンを生成できない場合には、画像メモリ１０９からパターンベクトルに対応したモデルデータを抽出し、さらに抽出したモデルデータからモデルパターンを作成しディスプレイ１１３に表示する。
【００８０】
なお、パターンベクトル作成部２０１が作成したモデルパターンを、クラス構成モデルデータベース１１６に格納しておき、クラス構成構築部２０２がクラス構成モデルデータベース１１６からモデルパターンを抽出する形態でも良い。
【００８１】
これに対して、ディスプレイ１１３に表示されたモデルパターンを見たユーザは、所定の項目により表示されたモデルパターンを分類する。そして、ユーザは分類したモデルパターンの種別情報をキーボード１１２から入力する。
【００８２】
そして、クラス構成構築部２０２は、キーボード１１２から入力された種別情報を得て（Ｓ３０８）、モデルデータを項目に従って分類する（Ｓ３０９）。
【００８３】
次に、クラス構成構築部２０２は、設定された項目全てに対してモデルデータの分類ができたか判断する（Ｓ３１０）。そして、Ｓ３１０において、必要とする全ての項目に対してモデルデータの分類が終了していないと判断した場合は、クラス構成構築部２０２は、Ｓ３０９において分類したモデルデータをＳ３０９で使用した項目の下位階層における項目で分類する（Ｓ３１１）。そして、必要とする全ての項目を用いてモデルデータの分類が終了するまで、Ｓ３１０、Ｓ３１１の処理を繰り返す。
【００８４】
そして、Ｓ３１０において、必要とする全ての項目に対してモデルデータの分類が終了したと判断すると、クラス構成構築部２０２は、最終的なモデルデータの分類をクラスとすることで、モデルデータをクラスに分類する（Ｓ３１２）。
【００８５】
次に、クラス構成構築部２０２は、Ｓ３０８において作成したパターンベクトルに、Ｓ３１２において分類したクラスのラベルをつけ、クラス構成モデルデータデータベース１１６に格納する（Ｓ３１３）。
【００８６】
また、クラスのラベルには、モデルデータが所属するクラスを識別する情報である（クラス番号やクラス名）と、クラスの項目の種別が記述される。
【００８７】
次に、クラス構成構築部２０２は、各クラスの代表値を計算し（Ｓ３１４）、クラス構成モデルデータデータベース１１６に格納する（Ｓ３１５）。
【００８８】
以上がオフラインで実行されるプロセスである。このようにして、データ分類装置１００は、オフライン処理により、予めカテゴリ毎に分類しておいたモデルデータを、カテゴリより小さい分布を持つクラス毎に再構成することができる。
【００８９】
なお、モデルデータをパターンベクトルに変換する処理を、クラス構成モデルデータデータベース１１６にパターンベクトルを格納する際に行っても良い。この場合は、モデルデータをクラス毎に異なるスケール変換を施したり、あるいはクラス毎に取り出すパターンの形状を異なるように選択したりする等、クラス毎に異なる処理を行って同一要素数のパターンベクトルを作成するようにしても良い。
【００９０】
また、実施の形態１では、モデルデータをカテゴリに基づいたクラス分類を行ったが、カテゴリ構成を無視して、クラス構成を作成することも可能である。この場合は、まず、モデルデータを全ての項目に従って分類する。そして、モデルデータをクラスに分類した結果、カテゴリ間をまたがるクラスが発生した場合には、カテゴリ間にまたがるクラスをカテゴリにより分割する。このように、カテゴリ間をまたがるクラスがなくなったものを、最終的に分類されたクラス構成とすればよい。
【００９１】
また、カテゴリ構成を無視してモデルデータのクラス分けを行う場合には、項目に従って分類していき、カテゴリ間をまたぐクラスがなくなった時点でデータベースの分類を終了するようにしても良い。これにより、すべての項目を用いた分類を行う必要がなくなる。
【００９２】
つまり、カテゴリ構成を無視してモデルデータをクラス分けする場合には、分類を繰り返し行った後の最終分類時のクラス構成において、クラスに含まれるモデルデータが複数カテゴリに含まないようになっていれば良い。図７に、クラスの構築と分類を複数回数（図では２回）、繰り返す場合のクラス構成の例を示す。図７に示すように、最初の項目を使ってモデルデータを分類した段階では複数のカテゴリにクラスがまたがっているが、２番目の項目を使ってモデルデータを分類した時点で複数のカテゴリにまたがったクラスはなくなっている。このようにクラスが分割された時点でクラスの分類を終了する。
【００９３】
次に、データ分類装置１００のオンライン処理について説明する。オンライン処理目的は、入力データが最も類似するクラスの判定である。まず、データ分類装置１００のオンライン処理を行うための構成について図８を用いて説明する。図８は、実施の形態１にかかるデータ分類装置のオンライン処理のための機能ブロック図である。なお、既に説明した部分と同一の部分には同一の符番を付与する。
【００９４】
データ分類装置１００には、画像データ入力手段として、カメラ１１０が設けられている。また、カメラ１１０から入力された画像データは、Ｉ／Ｆ１０５を介して画像メモリ１１１に格納される。また、データ分類装置１００には、画像メモリ１１１に格納された画像データからパターンベクトルを作成するパターンベクトル作成部２０１が設けられている。
【００９５】
また、データ分類装置１００には、パターンベクトル作成部２０１で作成した入力画像の入力パターンベクトルと、クラス構成モデルデータデータベース１１６に格納されたクラスの代表値とを比較し、これらの類似度を計算する入力パターンベクトル判別部８０１が設けられている。
【００９６】
また、データ分類装置１００には、入力パターンベクトル判別部８０１が、入力パターンベクトルと最も高い類似度を算出したクラスと、算出したクラスの属するカテゴリを判定する入力データ判定部８０２が設けられている。
【００９７】
さらに、データ分類装置１００には、入力データ判定部８０２が判定した判定結果を出力する結果出力部８０３が設けられている。結果出力部８０３としての動作は、Ｉ／Ｆ１０７および出力端子１１８が行う。
【００９８】
また、本実施の形態では、パターンベクトル作成部２０１、入力パターンベクトル判別部８０１、入力データ判定部８０２は、ＣＰＵ１０２がメモリ１０３に格納されたプログラムを読みこむことで行う。
【００９９】
次に、データ分類装置１００のオンライン処理について、図９のオンライン処理の動作フローチャートを用いて説明する。
【０１００】
まず、データ分類装置１００は、ビデオカメラ１１０から認識対象となる入力データを入力する。次に、データ分類装置１００は、入力データを、Ｉ／Ｆ１０５を介して画像メモリ１１１に送り、記憶する（Ｓ４０１）。
【０１０１】
次に、パターンベクトル作成部２０１が、画像メモリ１１１に一旦蓄えられた入力データから、一部のデータを抽出し、さらにこの一部のデータの画素値を１次元のデータ列として表現した入力パターンベクトルを作成し、パターンベクトルメモリ１１４に蓄積する（Ｓ４０２）。
【０１０２】
なお、クラス構成モデルデータデータベース１１６に格納されているモデルデータのパターンベクトルがクラス毎に異なる方法で作成されている場合には、パターンベクトル作成部２０１は入力データからクラス毎に定められたパターンベクトルの作成方法に従い、入力パターンベクトルを作成する。
【０１０３】
また、パターンベクトル作成部２０１は、入力パターンベクトルの代表値として、入力パターンベクトルの中心点の座標もパターンベクトルメモリ１１４に蓄積する。
【０１０４】
次にデータ分類装置１００は、入力データに最も類似したモデルデータを判定する最適マッチング処理に移行する。まず、入力パターンベクトル判別部８０１がパターンベクトルメモリ１１４に格納された入力データの入力パターンベクトルの代表値と、クラス構成モデルデータデータベース１１６に格納された各クラスの代表値５０３との類似度をそれぞれ計算する（Ｓ４０３）。実施の形態１では、入力データと各クラスとの類似度を、入力パターンベクトルの代表値（点）と各クラスの代表値５０３とのユークリッド距離により判断している。つまり、入力パターンベクトルの代表値と各クラスの代表値５０３とのユークリッド距離が近いほど類似度が高いということになる。
【０１０５】
次に、入力データ判定部８０２が、入力パターンベクトル判別部８０１が判定した入力パターンベクトルの代表値と、各クラスの代表値５０３との類似度を比較し、最も類似度の高いクラスを認識結果として判定する（Ｓ４０４）。
【０１０６】
さらに、入力データ判定部８０２は、入力パターンベクトルと最も類似度の高いクラスの属するカテゴリを判定する。
【０１０７】
そして、結果出力部８０３が、入力データ判定部８０２が判定した、クラス、クラスにおける種別、カテゴリ、および入力パターンベクトルを、出力する（Ｓ４０５）。
【０１０８】
このように、結果出力部８０３が、入力データに対応するクラスを出力するだけでなく、クラスにおける種別、カテゴリを出力することで、入力データの認識がより正確に行える。例えば、入力データに対応するカテゴリが「Ａさん」およびクラスにおける種別が「右向きの顔」となっていれば、入力画像が「Ａさんの右向きの顔」ということがわかる。また、カメラで遠くの車を撮影した画像を入力し、この画像に対応するカテゴリが「セダン」およびクラスにおける種別が「５０ｍの距離」となっていれば、入力データが「セダン」であり、さらに車との距離が「５０ｍ」であることがわかる。
【０１０９】
以上説明したように、実施の形態１によれば、入力データと、クラスの代表値を比較することで、入力データの属するクラスを求めることができ、さらに、入力データの属するクラスから入力データの属するカテゴリを求めることができる。また、クラスはカテゴリよりも小さい分布を持つので入力データの属するクラスを正確に求めることができるので、入力データの属するクラスから入力データの属するカテゴリが正確に判断できる。つまり、カテゴリの分布の大小に関わらず、入力データの属するカテゴリが正確に判断できる。よって、データ分類の精度を上げることができ、実用的なデータ分類をすることが可能となる。
【０１１０】
また、実施の形態１は、クラスが複数のカテゴリに属さないようにクラスを細分化するので、入力データの属するクラスから入力データの属するカテゴリを正確に判定できる。
【０１１１】
また、実施の形態１は、モデルデータをモデルデータから取り出した一部のデータを１次元のベクトルであらわしたパターンベクトルとし、入力画像データを入力画像データから取り出した入力パターンを１次元ベクトルに表現した入力パターンベクトルとして扱うので、モデルデータおよび入力データの分類対象の領域を絞り込むことができ、入力データの属するクラスの判定が効率的かつ正確にできる。
【０１１２】
また、データ処理装置１００は、上述したオフラインとオンラインの処理を繰り返し行うことで、データ分類精度を上げることも可能である。つまり、オンライン処理において入力データ判別部８０２が入力データの属するカテゴリが複数あると判断した場合に、クラス構成構築部２０２が新たな項目を加えてモデルデータをクラス分けすることで、クラスの分布が複数のカテゴリに属さないようにする。このように、クラスの分布が複数のカテゴリに属さないようになるまで、クラスの再構成を行うことで、モデルデータを適切にクラス分けすることができる。この結果、入力データの属するクラスから入力データの属するカテゴリを正確に判定できる。
【０１１３】
また、本実施の形態にかかるデータ分類装置１００を画像認識のような、物体認識を行う物体認識装置全般に、利用することが可能である。
【０１１４】
具体例としては、モデルデータとしてカテゴリ分けした顔の画像を採用し、顔の画像を入力し、上述した動作により入力した顔の画像がどのカテゴリに属するか判断することで、顔を認証する認証システムを構成できる。また、モデルデータとして異なる距離で撮影した複数の画像を採用すると共に距離をカテゴリとして採用し、入力画像と最も類似度の高いカテゴリを認識することで、入力画像の実空間上の距離を認識する距離検出システムに応用できる。また、入力データの種類とモデルデータとをかえることで、データ分類装置１００を、ゲートシステム、虹彩認証システム、指紋認証システム、文字認識システム、人物検出システム、車検出システム、車認識システムなどにも応用できる。
【０１１５】
このように、データ分類装置１００を物体認識装置に使用することで、物体認識装置の物体認識精度を向上できる。
【０１１６】
また、実施の形態１では、入力データとして画像データを用いて画像データの分類を行ったが、入力データとして、例えば音声データなどのようにカテゴリという概念に分け、どのカテゴリに属するか認識処理をするデータであればいかなるデータを用いても良い。
【０１１７】
なお、実施の形態１では、モデルデータをパターンベクトルに変換してから、カテゴリ構成モデルデータデータベース１１５およびクラス構成モデルデータデータベース１１６に格納したが、モデルデータをモデルパターンで格納しても、モデルデータのまま格納しても良い。この場合は、必要に応じて、カテゴリ構成モデルデータデータベース１１５およびクラス構成モデルデータデータベース１１６からモデルパターンもしくはモデルデータを抽出しパターンベクトルを作成するようにする。
【０１１８】
（実施の形態２）
実施の形態２は、座標系を、モデルデータから求めたクラスのクラス間分散ができるだけ大きく、かつクラス内分散ができるだけ小さくなるような特徴をもつ特徴座標系（特徴空間）に変換し、この特徴座標系上で入力画像データとクラスの比較を行うようにしたものである。これにより、入力画像データとクラスとの正確な比較が可能となる。
【０１１９】
以下、実施の形態２にかかるデータ分類装置について説明する。まず、実施の形態２におけるデータ分類装置の構成について図１０を用いて説明する。図１０は、実施の形態２にかかるデータ分類装置のブロック図である。
【０１２０】
実施の形態２にかかるデータ分類装置１０００と実施の形態１のデータ分類装置１００との違いは、実施の形態２のコンピュータシステム１００１が、特徴抽出行列メモリ１００２と、モデル特徴ベクトルデータベース１００３と、特徴ベクトルメモリ１００４と、を備えた点である。
【０１２１】
特徴抽出行列メモリ１００２は、座標系を特徴座標系に変換する特徴抽出行列を格納した特徴行列メモリ１００２である。なお、特徴座標系および特徴抽出行列については後で詳述する。
【０１２２】
また、モデル特徴ベクトルデータベース１００３は、クラス構成モデルデータデータベース１１６に格納されたモデルデータを特徴抽出行列により変換して求めたモデルデータの特徴ベクトル（モデル特徴ベクトル）を記憶するデータベースである。また、モデル特徴ベクトルデータベース１００３は、モデル特徴ベクトルの他にクラス毎の代表値を格納している。モデル特徴ベクトルデータベース１００３に格納されたクラス毎の代表値は、各クラスに属するモデル特徴ベクトルの代表値である。
【０１２３】
また、特徴ベクトルメモリ１００４は、入力データの入力パターンベクトルを特徴抽出行列で変換した特徴ベクトル（入力特徴ベクトル）を記憶するメモリである。
【０１２４】
以上のように構成されたデータ分類装置１０００は、カテゴリ毎に分けられたカテゴリ構成モデルデータデータベース１１５からクラス構成モデルデータデータベース１１６の構築を行い、さらに、特徴抽出行列の計算とモデル特徴ベクトルデータベース１００３の構築を行うオフライン処理と、入力データがどのクラスに最も類似するかのクラス判定をオンライン処理と、を行う。
【０１２５】
次に、データ分類装置１０００のオフライン処理について説明する。まず、データ分類装置１０００のオフライン処理を行うための構成について図１１を用いて説明する。図１１は、実施の形態２にかかるデータ分類装置のオフライン処理のための機能ブロック図である。なお、既に説明した部分と同一の部分には同一の符番を付与する。
【０１２６】
実施の形態２のデータ分類装置１０００は実施の形態１のデータ分類装置１００とは、モデルデータから特徴ベクトルを予め作成する学習手段である特徴抽出行列算出部１１０１と、特徴抽出行列メモリ１００２と、モデル特徴ベクトル算出部１１０２と、モデル特徴ベクトルデータベース１００３と、を具備した点が異なる。
【０１２７】
特徴抽出行列算出部１１０１は、クラス構成モデルデータデータベース１１６に格納されている各パターンベクトルから、クラス内に含まれるパターンベクトルが最もまとまりかつクラス間が最も分離されるような特徴抽出行列を算出する。そして、特徴抽出行列算出部１１０１は、算出した特徴抽出行列を、特徴抽出行列メモリ１００２に格納する。
【０１２８】
また、モデル特徴ベクトル算出部１１０２は、特徴抽出行列メモリ１００２に格納された特徴抽出行列を用いてパターンベクトルを変換し、各モデルデータのモデル特徴ベクトルを算出して、クラスに分けてモデル特徴ベクトルデータベース１００３に格納する。また、モデル特徴ベクトル算出部１１０２は、クラス毎に含まれるモデル特徴ベクトルの平均値である代表値をモデル特徴ベクトルデータベース１００３に格納する。なお、クラス毎のモデルクラス特徴ベクトルの代表値は、平均値以外の値、例えば重心値等であっても良い。
【０１２９】
モデル特徴ベクトルデータデータベース１００３の構成は、図１２に示すようになっている。図１２は、実施の形態２にかかるモデル特徴ベクトルデータデータベースの構成図である。
【０１３０】
モデル特徴ベクトルデータデータベース１００３には、クラス５０１と、クラス５０１に対応するモデルデータのモデル特徴ベクトル１２０１と、クラス５０１におけるモデル特徴ベクトル１２０１の代表値（ベクトル）１２０２と、の組が複数格納されている。
【０１３１】
なお、モデル特徴ベクトルデータデータベース１００３には、モデルデータのモデル特徴ベクトル１２０１を格納しない形態であっても良い。
【０１３２】
なお、実施の形態２では、特徴抽出行列算出部１１０１と、モデル特徴ベクトル算出部１１０２の処理を、ＣＰＵ１０２がプログラムを実行することで行う。
【０１３３】
次に、データ分類装置１０００のオフライン処理について、図１３のオフライン処理の動作フローチャートを用いて説明する。
【０１３４】
オフライン処理の目的は、カテゴリ構成モデルデータデータベース１１５からクラス構成モデルデータデータベース１１６を構築し、このクラス構成モデルデータデータベース１１６から特徴抽出行列を計算し、さらに特徴抽出行列を用いて、モデル特徴ベクトルデータベース１００３を構築する点である。
【０１３５】
まず、データ分類装置１０００は、実施の形態１と同様に図６のＳ３０１〜Ｓ３１５の処理を行い、カテゴリ構成モデルデータデータベース１１５からクラス構成モデルデータデータベース１１６を構築する（Ｓ１３０１）。
【０１３６】
その後、データ分類装置１０００は、特徴抽出行列を以下の手順で計算する。例えばデータの判別方法には、文献（Fisher.R.Ａ., "The use of multiple measurements in taxonomic problems", Ann. Eugenics. 7. Part II,pp.179-188, 1936.） に記載されたものが知られている。特徴抽出行列は、このFisherの判別関数の考えに従って算出される。
【０１３７】
まず、特徴抽出行列算出部１１０１が、クラス構成モデルデータデータベース１１６を参照し、同一クラスに分類されるパターンベクトルのセットを抽出する。次に、特徴抽出行列算出部１１０１は、パターンベクトルのセットからクラス内共分散行列ＣWを、クラス毎に（式１）に従って計算する（Ｓ１３０２）。
【０１３８】
【数１】
0003938872.tif 000002
次に、特徴抽出行列算出部１１０１は、クラス間共分散行列ＣBを、各パターンベクトルのセットから（式２）に従って計算する（Ｓ１３０３）。
【０１３９】
【数２】
0003938872.tif 000003
さらに、特徴抽出行列算出部１１０１は、全クラスの共分散行列ＣTを、（式３）に従って計算する。
【０１４０】
【数３】
0003938872.tif 000004
ここで、特徴抽出行列算出部１１０１は、Fisherの考えに従って判別評価基準として、クラス間の分散であるクラス間分散をできるだけ大きく、同時にクラス内のパターンベクトルの分散であるクラス内分散をできるだけ小さくなるように、クラス間分散とクラス内分散の分散比Ｊ（式４）を最大にするような変換ベクトルａを求める。
【０１４１】
【数４】
0003938872.tif 000005
クラスが３つの場合における判別分析法の概念図を図１４に示す。図１４からわかるように、クラス内分散を小さく、かつクラス間分散を大きくすることで、クラス間の分布領域が離れる。これにより、クラスの特徴が明らかになる。
【０１４２】
また、分散比Ｊ（式４）を最大にするような変換ベクトルａを求めるのは、固有値問題（式５）を解くことに等しい。
【０１４３】
【数５】
0003938872.tif 000006
そこで、特徴抽出行列算出部１１０１は、（式５）からＡTを求め、求めたＡTを特徴抽出行列として特徴抽出行列メモリ１００２に記憶する（Ｓ１３０４）。
【０１４４】
次に、モデル特徴ベクトル算出部１１０２が、特徴抽出行列メモリ１００２を参照し、特徴抽出行列を得る。次に、モデル特徴ベクトル算出部１１０２は、特徴抽出行列を用いて、クラス構成モデルデータデータベース１１６に格納されたモデルデータを変換し、モデル特徴ベクトルを計算する（Ｓ１３０５）。そして、モデル特徴ベクトル算出部１１０２が、算出したモデル特徴ベクトルをモデル特徴ベクトルデータベース１００３に登録する（Ｓ１３０６）。
【０１４５】
次に、モデル特徴ベクトル算出部１１０２は、クラス毎のモデル特徴ベクトルの代表値をクラス毎のモデル特徴ベクトルの平均値を計算することで求め（Ｓ１３０７）、モデル特徴ベクトルデータベース１００３に登録する（Ｓ１３０８）。
【０１４６】
以上が、データ分類装置１０００がオフラインで実行するプロセスである。
【０１４７】
このように、実施の形態２によれば、オフライン処理により、クラス内のモデルデータの分布を小さくすると共に、クラス間のクラス分布を大きくした状態で、入力データとクラスとの比較を行える。つまり、クラスの分布の特徴が明らかな状態で入力データとクラスとの比較を行えるので、入力データのクラスとの比較が正確に行えるようになる。
【０１４８】
次に、データ分類装置１０００のオンライン処理について説明する。オンライン処理目的は、入力された画像が最も類似するクラスの判定である。まず、データ分類装置１０００のオンライン処理を行うための構成について図１５を用いて説明する。図１５は、実施の形態２にかかるデータ分類装置のオンライン処理のための機能ブロック図である。なお、既に説明した部分と同一の部分には同一の符番を付与する。
【０１４９】
実施の形態２のデータ分類装置１０００は実施の形態１のデータ分類装置１００とは、特徴抽出行列メモリ１００２と、入力特徴ベクトル算出部１５０１と、特徴ベクトルメモリ１００４と、入力パターンベクトル判別部１５０２と、モデル特徴ベクトルデータベース１００３と、を具備した点が異なる。
【０１５０】
入力特徴ベクトル算出部１５０１は、特徴抽出行列メモリ１００４からオフライン処理で算出された特徴抽出行列を抽出し、特徴抽出行列を用いてパターンベクトルメモリ１１４に格納された入力パターンベクトルを変換し、入力特徴ベクトルを算出する。そして、入力特徴ベクトル算出部１５０１は、算出した入力特徴ベクトルを特徴ベクトルメモリ１００２に格納する。
【０１５１】
入力パターンベクトル判別部１５０２は、特徴ベクトルメモリ１００２に格納された入力特徴ベクトルと、モデル特徴ベクトルデータデータベース１００３に格納された代表値１２０２とを比較して類似度を計算する。
【０１５２】
なお、実施の形態２では、入力特徴ベクトル算出部１５０１と、入力パターンベクトル判別部１５０２との処理を、ＣＰＵ１０２がプログラムを実行することで行う。
【０１５３】
次に、データ分類装置１０００のオンライン処理について、図１６のオンライン処理の動作フローチャートを用いて説明する。
【０１５４】
まず、データ分類装置１０００は、実施の形態１と同様に図９のＳ４０１、Ｓ４０２の処理を行い、入力パターンベクトルｂを作成し、パターンベクトルメモリ１１４に格納する（ＳＴ１６０１）。
【０１５５】
次に、入力特徴ベクトル算出部１５０１が、パターンベクトルメモリ１１４に格納された入力パターンベクトルｂに、特徴抽出行列メモリ１００４に格納されたオフライン時に求めた特徴抽出行列ＡTを用いて（式６）に従って入力特徴ベクトルｆを算出する（Ｓ１６０２）。
【０１５６】
【数６】
0003938872.tif 000007
そして、入力特徴ベクトル算出部１５０１は、特徴ベクトルメモリ１００２に入力特徴ベクトルｆを蓄積する。
【０１５７】
次に、入力パターンベクトル判別部１５０２が、モデル特徴ベクトルデータベース１００３に格納された各クラスの代表値１２０２を抽出する（Ｓ１６０３）。そして、入力パターンベクトル判別部１５０２は、特徴ベクトルメモリ１００２に格納された入力特徴ベクトルｆと、各クラスの代表値１２０２と、相関距離をとり、類似度を計算する（Ｓ１６０４）。類似度は、入力特徴ベクトルｆと、各クラスの代表値１２０２と、相関距離が近いほど高い。
【０１５８】
次に、入力データ判定部８０２が、実施の形態１と同様に図９に示すＳ４０４、Ｓ４０５の処理を行い、最も類似度の高いクラスを認識結果として出力する。
【０１５９】
以上説明したように、実施の形態２によれば、座標系を、クラス間分散ができるだけ大きく、かつクラス内分散ができるだけ小さくなるような特徴をもつ特徴座標系（特徴空間）に変換した特徴座標系上で入力画像データとクラスの比較が行える。つまり、入力データとクラスの比較が、各クラスの特徴が大きく現れた座標系で行うことができる。このように、分類に適した座標系に変換した後に、入力データとクラスとを比較することで、入力データの正確な比較を行える。よって、入力データとクラスの分類が正確に行える。
【０１６０】
また、実施の形態２によれば、クラス内の共分散行列とクラス間の共分散行列を用いて、クラス間分散ができるだけ大きく、かつクラス内分散ができるだけ小さくなるように座標系を変換する特徴抽出行列を求めることができる。このように、クラス内の共分散行列とクラス間の共分散行列を用いることにより、容易に特徴抽出行列を求められる。
【０１６１】
また、実施の形態２によれば、クラス内の共分散行列Ｃwに対するクラス間の共分散行列ＣBの比である分散比Ｊが最大になるように座標系を変換する特徴抽出行列ＡTを算出できる。分散比Ｊが最大になるように座標系を変換する行列を求めることで、特徴抽出行列ＡTを算出できる。分散比Ｊが最大となる座標系は、クラス間の共分散行列ＣBが大きくかつクラス内共分散行列ＣWが小さくなる座標系であるので、分散比Ｊが最大となる座標系に変換する行列を求めることで、特徴抽出行列ＡTを求めることができる。また、このように、特徴抽出行列ＡTを求めることで、特徴抽出行列ＡTを計算により容易に求めることができる。
【０１６２】
また、実施の形態２では、入力画像データおよびモデルデータの特徴を示す特徴量として、特徴ベクトルを用いたが、特徴量の表現方法は特徴ベクトル以外であっても良い。例えば、特徴量は単なる数値であっても良い。
【０１６３】
なお、実施の形態２では、クラス間分散ができるだけ大きく、かつクラス内分散ができるだけ小さくなるように座標系を変換する特徴抽出行列を求めたが、特徴抽出行列はクラス間分散ができるだけ大きくなるように座標系を変換する行列であっても、クラス内分散ができるだけ小さくなるように座標系を変換する行列であっても良い。これらの特徴抽出行列によっても、座標系をクラスの特徴が明確になる座標系に変換できる。
【０１６４】
また、実施の形態２では、特徴抽出行列として、クラス内分散およびクラス間分散を考慮した行列を用いたが、クラス毎の特徴が明確に現れる座標系に変換する行列であればいかなる行列であっても良い。例えば、特徴抽出行列として、主成分分析手法や部分空間法等を行う座標系に変形する行列を用いても良い。主成分分析手法を行う座標系は、サンプルデータであるモデルデータ間の間隔を広げる座標系（固有空間）である。また、部分空間法を行う座標系は、座標系の次元を下げてクラスの特徴をあらわす座標系である。なお、主成分分析手法や部分空間法については、森健一,"パターン認識",電子情報通信学会,(1988)に開示されている。
【０１６５】
（実施の形態３）
実施の形態３は、データベースのクラスを再構成する際に、ユーザ操作の介入なしに、クラス内分散が小さくなるようにクラスを再構成するものである。
【０１６６】
以下、実施の形態３にかかるデータ分類装置のクラスについて説明する。実施の形態２と実施の形態３と異なるのはオフライン処理であるので、オフライン処理についてのみ説明をする。まず、実施の形態３にかかるデータ分類装置１７００のオフライン処理を行うための構成について図１７を用いて説明する。図１７は、実施の形態３にかかるデータ分類装置のオフライン処理のための機能ブロック図である。なお、既に説明した部分と同一の部分には同一の符番を付与する。
【０１６７】
実施の形態３にかかるデータ分類装置１７００と、実施の形態２にかかるデータ分類装置１０００とでは、クラス構成構築部１７０１が異なる。実施の形態２ではユーザがモデルデータをクラス分けに関する情報を入力し、これに基づいてモデルデータのクラス分けをしていたが、実施の形態３ではクラス分けの処理をユーザ操作の介入なしに行う。これにともない、クラス構成構築部１７０１には、キーボード１１２からの情報が入力されないようになっている。
【０１６８】
具体的には、クラス構成構築部１７０１は、ISODATA法を用いて、クラス内分散が小さくなるようにモデルデータのクラス分けを行う。なお、本実施の形態では、クラス構成構築部１７０１は、クラスタリング法としてISODATA法を採用するが、ISODATA法以外のクラスタリング法、例えばK-mean法などを用いても良い。ISODATA法については、森健一,"パターン認識",電子情報通信学会,p122(1988)に記載されている。具体的には、ISODATA法は、クラスタの分割と併合を繰り返し、クラス内分散を小さくするクラスタリング手法である。
【０１６９】
さらに、クラス構成構築部１７０１は、特徴抽出行列をFisherの線形判別分析の方法で求める場合において、特徴抽出行列の算出が簡単になるように、全モデルデータの共分散行列ＣTが単位行列になるように座標系を座標変換してから、クラス分けを行っている。
【０１７０】
次に、データ分類装置１７００のオフライン処理について、図１８のオフライン処理の動作フローチャートを用いて説明する。
【０１７１】
まず、データ分類装置１７００は、実施の形態１と同様に図６のＳ３０１〜Ｓ３０６の処理を行い、カテゴリ構成モデルデータデータベース１１５を構築する（Ｓ１８０１）。
【０１７２】
次に、クラス構成構築部１７０１は、カテゴリ構成モデルデータデータベース１１５から全モデルデータを抽出し、モデルデータ群の共分散行列ＣTを算出する（Ｓ１８０２）。これは、データ分類装置１７００が、後段の処理で、（式７）に示される判別基準J1を算出し、判別基準J1を最大化にすることで、特徴抽出行列を算出するからである。
【０１７３】
【数７】
0003938872.tif 000008
ところで、判別基準J1を最大化する特徴抽出行列ＡTは、（式５）のＣBをＣTに置き換えた固有値問題を解くことで求められる。この（式５）のＣBをＣTに置き換えた固有値問題を解くのは、共分散行列ＣTが単位行列になっていると、非常に容易になる。
【０１７４】
また、判別基準J1の性質を調べると、判別基準J1は正則な線形変換を施してもその性質は不変であるということがわかる。つまり、判別基準J1を最大化するクラス構成は座標系に関わらず同じであるということを示している。
【０１７５】
よって、次に、クラス構成構築部１７０１は、後段の特徴抽出行列ＡTの算出を容易にするために、座標系（空間）を共分散行列ＣTが単位行列になる座標系に変換する。具体的には、クラス構成構築部１７０１は、（式８）に示す行列Uを用いて、座標系を共分散行列ＣTが単位行列になる座標系に変換する（Ｓ１８０３）。
【０１７６】
【数８】
0003938872.tif 000009
次に、クラス構成構築部１７０１は、行列Uで変換された座標系で最もクラス内分散を小さくするクラス構成を、ISODATA法により求める（Ｓ１８０４）。そして、クラス構成構築部１７０１は、求めたクラス構成に基づいてクラス構成モデルデータデータベース１１６を作成する（Ｓ１８０５）。
【０１７７】
また、共分散行列ＣTは一定なので、（式７）からわかるように、最もクラス内分散を小さくするクラス構成を求めることは、判別基準J1を最大化するクラス構成を求めることに等しい。
【０１７８】
以降、クラス構成構築部１７０１は、求めたクラス構成モデルデータデータベース１１６を元に実施の形態２と同様に図１３のＳ１３０２〜Ｓ１３０８の処理を行い、クラス識別が精度良くできるような特徴抽出関数を算出する（Ｓ１８０６）。そして、データ分類装置１７００は、オフライン処理を終了する。
【０１７９】
以上説明したように、実施の形態３によれば、カテゴリ構成モデルデータデータベース１１５からクラス構成モデルデータデータベース１１６を再構成する際に、ISODATA法を使用することで、ユーザ操作の介入なしに計算により、クラス内分散を小さくするようにモデルデータをクラス分けできる。また、このように、クラス内分散を小さくするようにモデルデータをクラス分けすることで、クラス間の特徴を明確にできる。
【０１８０】
また、実施の形態３によれば、クラス内共分散行列ＣWに対する全モデルデータ群の共分散行列ＣTの比である分散比Ｊ1が最大になるように座標系を変換する行列を求めることで、特徴抽出行列ＡTを算出できる。分散比Ｊ1が最大となる座標系は、共分散行列ＣTが大きくかつクラス内共分散行列ＣWが小さくなる座標系であるので、分散比Ｊ1が最大となる座標系に変換する行列を求めることで、特徴抽出行列ＡTを求めることができる。また、このように、特徴抽出行列ＡTを求めることで、特徴抽出行列ＡTを計算により容易に求めることができる。
【０１８１】
また、実施の形態３によれば、全モデルデータの共分散行列ＣTが単位行列になるように座標系を変換してからクラス分けを行うことができる。これにより、実施の形態３にように全モデルデータ群の共分散行列ＣTを用いて特徴抽出行列を求める場合には、容易に特徴抽出行列を求められる。
【０１８２】
なお、実施の形態３では、共分散行列ＣTが大きくかつクラス内共分散行列ＣWが小さくなるように座標系を変換する特徴抽出行列を求めたが、特徴抽出行列は共分散行列ＣTが大きくなるように座標系を変換する行列であっても良い。この特徴抽出行列によっても、座標系をクラスの特徴が明確になる座標系に変換できる。
【０１８３】
【発明の効果】
以上説明したように本発明によれば、入力画像データと最も類似度の高いクラスを検出し、この検出したクラスの属するカテゴリを求めることで、入力データのカテゴリを求めるようにできる。これにより、カテゴリの分布に関わらず、入力データを正確なカテゴリに分類することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態１にかかるデータ分類装置のブロック図
【図２】実施の形態１にかかるデータ分類装置のオフライン処理のための機能ブロック図
【図３】実施の形態１にかかるカテゴリ構成モデルデータデータベースの構成を示す図
【図４】実施の形態１にかかるクラス構成モデルデータデータベースの構成を示す図
【図５】カテゴリ構成とクラス構成の関係を説明する図
【図６】実施の形態１にかかるデータ分類装置のオフライン処理の動作フローチャート
【図７】実施の形態１のクラスの構築と分類を複数回、繰り返す場合のクラス構成の例を示した図
【図８】実施の形態１にかかるデータ分類装置のオンライン処理のための機能ブロック図
【図９】実施の形態１にかかるデータ分類装置のオンライン処理の動作フローチャート
【図１０】本発明の実施の形態２にかかるデータ分類装置のブロック図
【図１１】実施の形態２にかかるデータ分類装置のオフライン処理のための機能ブロック図
【図１２】実施の形態２にかかるモデル特徴ベクトルデータデータベースの構成図
【図１３】実施の形態２にかかるデータ分類装置のオフライン処理の動作フローチャート
【図１４】クラスが３つの場合における判別分析法の概念図
【図１５】実施の形態２にかかるデータ分類装置のオンライン処理のための機能ブロック図
【図１６】実施の形態２にかかるデータ分類装置のオンライン処理の動作フローチャート
【図１７】本発明の実施の形態３にかかるデータ分類装置のオフライン処理のための機能ブロック図
【図１８】実施の形態３にかかるデータ分類装置のオフライン処理の動作フローチャート
【図１９】カテゴリの代表ベクトルとカテゴリの分布を示す図
【符号の説明】
１００、１０００、１７００  データ分類装置
１０１、１００１  コンピュータシステム
１０２  ＣＰＵ
１０８  画像データベース
１１０  ビデオカメラ
１１２  キーボード
１１３  ディスプレイ
１１４  パターンベクトルメモリ
１１５  カテゴリ構成モデルデータデータベース
１１６  クラス構成モデルデータデータベース
２０１  パターンベクトル作成部
２０２、１７０１  クラス構成構築部
８０１  入力パターンベクトル判別部
８０２  入力データ判定部
８０３  結果出力部
１００２  特徴抽出行列メモリ
１００３  モデル特徴ベクトルデータベース
１００４  特徴ベクトルメモリ
１１０１  特徴抽出行列算出部
１１０２  モデル特徴行列算出部
１５０１  入力特徴ベクトル算出部
１５０２  入力パターンベクトル判別部
【図１】
0003938872.tif 000010
【図２】
0003938872.tif 000011
【図３】
0003938872.tif 000012
【図４】
0003938872.tif 000013
【図５】
0003938872.tif 000014
【図６】
0003938872.tif 000015
【図７】
0003938872.tif 000016
【図８】
0003938872.tif 000017
【図９】
0003938872.tif 000018
【図１０】
0003938872.tif 000019
【図１１】
0003938872.tif 000020
【図１２】
0003938872.tif 000021
【図１３】
0003938872.tif 000022
【図１４】
0003938872.tif 000023
【図１５】
0003938872.tif 000024
【図１６】
0003938872.tif 000025
【図１７】
0003938872.tif 000026
【図１８】
0003938872.tif 000027
【図１９】
0003938872.tif 000028