(57)【要約】【課題】異なるカテゴリに属する部分空間の間の類似度を大きくし、同じカテゴリに属する部分空間の間の類似度は小さくするような線形変換行列が得られる線形変換行列算出装置を提供する。【解決手段】線形変換行列算出装置は、各カテゴリに属する複数の辞書部分空間を、線形変換行列でそれぞれ線形変換し、前記線形変換した複数の前記辞書部分空間から２つの前記辞書部分空間の組合せを複数組選択し、選択された各組の前記辞書部分空間の間のそれぞれの類似度を用いて損失関数を計算し、前記損失関数を前記線形変換行列で微分したときの微分パラメータを計算し、前記微分パラメータと前記線形変換行列とによって、新たな線形変換行列を最急降下法で計算し、新たな前記線形変換行列を、前記線形変換部で用いられる前記線形変換行列として更新する。【選択図】      図２
2010182013.tif 000002
【特許請求の範囲】
【請求項１】
入力パターンから入力部分空間を求め、前記入力部分空間と予め規定された各カテゴリに属する複数の辞書部分空間との類似度を相互部分空間法により計算し、前記類似度により前記入力パターンを前記各カテゴリに分類するパターン認識装置において、前記相互部分空間法により前記類似度を計算する際の前処理として前記入力部分空間と前記辞書部分空間を線形変換するために用いる線形変換行列を求める線形変換行列算出装置であって、
前記各カテゴリに属する複数の前記辞書部分空間を、前記線形変換行列でそれぞれ線形変換する線形変換部と、
前記線形変換した複数の前記辞書部分空間の各々の間の類似度を用いて、損失関数を計算する損失関数計算部と、
前記損失関数を前記線形変換行列で微分したときの微分パラメータを計算する微分計算部と、
前記微分パラメータと前記線形変換行列とによって、新たな線形変換行列を最急降下法で計算し、新たな前記線形変換行列を、前記線形変換部で用いられる前記線形変換行列として更新する更新部と、
を有することを特徴とする線形変換行列算出装置。
【請求項２】
前記損失関数計算部は、
前記各組の２つの前記辞書部分空間の間の前記類似度を用いて損失値をそれぞれ計算し、
前記複数組の前記辞書部分空間の前記損失値を全て合計して前記損失関数を計算する、
ことを特徴とする請求項１記載の線形変換行列算出装置。
【請求項３】
前記微分計算部は、
前記線形変換行列Ｔによる前記線形変換後の空間における計量行列をＭｔ＝ＴＴＴとおき、前記損失関数を前記線形変換行列Ｔ＝単位行列Ｉの周りで微分し、前記微分パラメータを求める、
ことを特徴とする請求項１記載の線形変換行列算出装置。
【請求項４】
前記更新部は、前記更新回数が規定の回数に達するか、又は、所定の前記更新回数の間の前記損失関数の減少幅が閾値以下のときに前記更新を終了する、
ことを特徴とする請求項１記載の線形変換行列算出装置。
【請求項５】
前記損失関数計算部で用いる２つの前記辞書部分空間と、前記微分計算部で用いる２つの前記辞書部分空間とが同一である、
ことを特徴とする請求項１記載の線形変換行列算出装置。
【請求項６】
前記線形変換部は、前記線形変換行列の初期値として、単位行列、又は、直交相互部分空間法により求められる線形変換行列を用いる、
ことを特徴とする請求項１記載の線形変換行列算出装置。
【請求項７】
相互部分空間法により入力パターンを予め規定された各カテゴリに分類するパターン認識装置であって、
前記入力パターンから入力部分空間を算出する入力部分空間算出部と、
前記各カテゴリに属する辞書部分空間を算出する辞書部分空間算出部と、
前記入力部分空間と前記辞書部分空間のそれぞれを、請求項１記載の線形変換行列算出装置により算出される線形変換行列を用いて線形変換する線形変換部と、
前記線形変換された前記入力部分空間と、前記線形変換された前記辞書部分空間との類似度を算出する類似度算出部と、
前記類似度を用いて、前記入力部分空間に対応する前記入力パターンがどのカテゴリに属するかを判定する判定部と、
を有することを特徴とするパターン認識装置。
【請求項８】
入力パターンを入力部分空間に変換し、予め規定された各カテゴリに属する複数の辞書部分空間との類似度を計算し、前記入力パターンを相互部分空間法により前記各カテゴリに分類するパターン認識方法において、前記相互部分空間法により前記類似度を計算する際の前処理として前記入力部分空間と前記辞書部分空間を線形変換するために用いる線形変換行列を求める線形変換行列算出方法であって、
線形変換部が、前記各カテゴリに属する複数の前記辞書部分空間を、前記線形変換行列でそれぞれ線形変換する線形変換ステップと、
損失関数計算部が、前記線形変換した複数の前記辞書部分空間から２つの前記辞書部分空間の組合せを複数組選択し、選択された各組の前記辞書部分空間の間のそれぞれの類似度を用いて、損失関数を計算する損失関数計算ステップと、
微分計算部が、前記損失関数を前記線形変換行列で微分したときの微分パラメータを計算する微分計算ステップと、
更新部が、前記微分パラメータと前記線形変換行列とによって、新たな線形変換行列を最急降下法で計算し、新たな前記線形変換行列を、前記線形変換ステップで用いられる前記線形変換行列として更新する更新ステップと、
を有することを特徴とする線形変換行列算出方法。
【請求項９】
相互部分空間法により入力パターンを予め規定された各カテゴリに分類するパターン認識方法であって、
前記入力パターンから入力部分空間を算出する入力部分空間算出ステップと、
前記各カテゴリに属する辞書部分空間を算出する辞書部分空間算出ステップと、
前記入力部分空間と前記辞書部分空間のそれぞれを、請求項８記載の線形変換行列算出方法により算出される線形変換行列を用いて線形変換する線形変換ステップと、
前記線形変換された前記入力部分空間と、前記線形変換された前記辞書部分空間との類似度を算出する類似度算出ステップと、
前記類似度を用いて、前記入力部分空間に対応する前記入力パターンがどのカテゴリに属するかを判定する判定ステップと、
を有することを特徴とするパターン認識方法。
【請求項１０】
入力パターンを入力部分空間に変換し、予め規定された各カテゴリに属する複数の辞書部分空間との類似度を計算し、前記入力パターンを相互部分空間法により前記各カテゴリに分類するパターン認識プログラムにおいて、前記相互部分空間法により前記類似度を計算する際の前処理として前記入力部分空間と前記辞書部分空間を線形変換するために用いる線形変換行列を求める線形変換行列算出プログラムであって、
コンピュータに、
前記各カテゴリに属する複数の前記辞書部分空間を、前記線形変換行列でそれぞれ線形変換する線形変換機能と、
前記線形変換した複数の前記辞書部分空間から２つの前記辞書部分空間の組合せを複数組選択し、選択された各組の前記辞書部分空間の間のそれぞれの類似度を用いて、損失関数を計算する損失関数計算機能と、
前記損失関数を前記線形変換行列で微分したときの微分パラメータを計算する微分計算機能と、
前記微分パラメータと前記線形変換行列とによって、新たな線形変換行列を最急降下法で計算し、新たな前記線形変換行列を、前記線形変換機能で用いられる前記線形変換行列として更新する更新機能と、
を実現させるための線形変換行列算出プログラム。
【請求項１１】
相互部分空間法により入力パターンを予め規定された各カテゴリに分類するパターン認識プログラムであって、
コンピュータに、
前記入力パターンから入力部分空間を算出する入力部分空間算出機能と、
前記各カテゴリに属する辞書部分空間を算出する辞書部分空間算出機能と、
前記入力部分空間と前記辞書部分空間のそれぞれを、請求項１０記載の線形変換行列算出プログラムにより算出される線形変換行列を用いて線形変換する線形変換機能と、
前記線形変換された前記入力部分空間と、前記線形変換された前記辞書部分空間との類似度を算出する類似度算出機能と、
前記類似度を用いて、前記入力部分空間に対応する前記入力パターンがどのカテゴリに属するかを判定する判定機能と、
を実現させるためのパターン認識プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像や音声などのパターン認識の技術に関する。
【背景技術】
【０００２】
コンピュータの処理能力の向上や安価なカメラの普及により、顔認識等のパターン認識に関して、動画から取り出した複数枚の画像を入力し、この入力画像のパターン分布と辞書画像のパターン分布を求め、その分布同士の近さを比べて認識を行う方法が実用段階に入ってきた。
【０００３】
上記の分布間の類似度を測る方法の１つとして、特許文献１では相互部分空間法が提案されている。この相互部分空間法は、入力パターンと辞書パターンをそれぞれ部分空間で近似し、部分空間同士の類似度を、正準角によって測ることにより、入力パターンの属するカテゴリの認識を行う。
【０００４】
従来の部分空間法は、一つの入力パターンベクトルと着目カテゴリを表す部分空間との間で類似度を測るものである。これに対して、上記の相互部分空間法は、動画像のように認識対象から複数の画像が入力する場合に、入力画像列も部分空間に変換して、部分空間同士の類似度を測る。この際に、比較する２つの部分空間のなす正準角と呼ばれる角度の余弦の２乗が「類似度」として用いられる。
【０００５】
２つの部分空間Ｓｍ，Ｓｎの基底をそれぞれΦ（ｍ）＝（φ１（ｍ），・・・，φＫ（ｍ）），Φ（ｎ）＝（φ１（ｎ），・・・，φＬ（ｎ））とおき、仮にＫ≦Ｌとする。正準角は２つの部分空間の小さい方の次元数だけ定義され（この場合はＫ個である）、小さいものから順に｛θ１（ｎｍ），・・・，θＫ（ｎｍ）｝とおくと、ｃｏｓθｉ（ｎｍ）は以下の式（１）で示す固有値問題のｉ番目の固有値が与えられる。
【数１】
2010182013.tif 000003
【０００６】
そして、この固有値問題はラグランジュの未定乗数法を用いて以下のように導出することができる。
【０００７】
部分空間Ｓｎ上の任意の単位ベクトルはＬ次元単位ベクトルａ（ａＴａ＝１）を用いてφ（ｎ）ｉの線形結合によりΦ（ｎ）ａで表される。これを部分空間Ｓｍへ射影した時の射影長の２乗はａＴΦ（ｎ）ＴΦ（ｍ）Φ（ｍ）ＴΦ（ｎ）ａとなる。これをａＴａ＝１という制約の下で最大化するため、未定乗数λを用いた以下の式（２）をａとλについて微分して０とおけば、ａについて微分から式（１）の固有値問題が得られる。
【数２】
2010182013.tif 000004
【０００８】
式（２）において第１正準角は、一方の部分空間上の単位ベクトルのうち、他方の部分空間への射影長が最大となるものを選び、そのベクトルとそれを他方の部分空間へ射影したベクトルとのなす角のことであり、２つの部分空間が最も近くなる角といえる。
【０００９】
相互部分空間法で用いられる正準角とは２つの部分空間のなす角であり、その意味するところは幾何学的には明確である。しかし、それをパターン間の類似度として用いる場合、正準角が小さいことが必ずしもパターンとして似ているということにはつながらない。その理由は、何を似ているとするかは問題依存であり、問題毎にそれに適した類似度尺度が学習されるべきだからである。
【００１０】
このような問題意識の下、特許文献２では直交相互部分空間法が提案されている。この直交相互部分空間法は、異なるカテゴリに属する部分空間の間の正準角を大きくするような線形変換行列を、固有値問題を解くことにより求めるものである。
【００１１】
すなわち、直交相互部分空間法は、全ての辞書部分空間の基底ベクトルφｉｍの自己相関行列SをS＝ΣｍΣｉφｉｍφｉｍｔ／（ΣｍΣｉ１）として求め、Sの固有ベクトルを並べた行列をＶ、Sの固有値を対角成分にもつ対角行列をΛとしたとき、以下の式（３）で与えられる行列Ｏで部分空間を線形変換し類似度を求める。
【数３】
2010182013.tif 000005
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００３−２４８８２６号公報
【特許文献２】特願２００５−０３５３００号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかし、直交相互部分空間法は異なるカテゴリに属する部分空間の間の正準角を大きくする一方で、必ずしも同じカテゴリに属する部分空間の間の正準角を小さくするとは限らない。
【００１４】
発明者が行った実験では、直交相互部分空間法は、線形変換を行わない相互部分空間法と比較したとき、異なるカテゴリに属する部分空間の間の正準角だけでなく、同じカテゴリに属する部分空間の間の正準角も大きくしてしまうことが確認された。但し、正準角が大きくなる度合いが異なるカテゴリに属する部分空間の間の正準角の方が顕著なため、相互部分空間法よりも高い性能が得られる。そのため、直交相互部分空間法は、相互部分空間法に対して一定の優位性を実用上持っている。
【００１５】
上記のような実験結果が出る理由は、次の通りである。直交相互部分空間法は式（３）で与えられる線形変換行列を用いると、異なるカテゴリ間の正準角が大きくなるという発見に基づく方法であり、正準角自体を直接最適化の対象として操作できる方法ではなかったからである。
【００１６】
一方、パターン認識の精度を向上させるためには、異なるカテゴリに属する部分空間の間の正準角を平均的に大きくするよりは、カテゴリは異なるのに正準角が小さくなる部分空間の組み合わせに対して選択的にその正準角を大きくする方が、間違えやすいパターンが間違えにくくなるため、効果的である。
【００１７】
また、同様に、同一カテゴリに属する部分空間の間の正準角についても、それを平均的に小さくするよりは、正準角が大きい部分空間の組み合わせに対して選択的にその正準角を小さくすることが望ましい。
【００１８】
ところで、入力となる部分空間の組み合わせに対して望ましい出力の値を教師信号として与え、教師信号と出力のずれを最小化するようにパラメータを最適化するという枠組みは機械学習の問題において一般的に用いられているものである。
【００１９】
しかし、相互部分空間法を用いる方法においては、この最適化の枠組みを適用して学習を行うことが困難であった。これは、部分空間を線形変換し正準角を求める際に、線形変換された部分空間の基底をＧｒａｍ−Ｓｃｈｍｉｄｔの直交化により正規直交系に直す必要があり、この操作が入るために正準角の線形変換に関する微分を一般的な形で求めることができないためである。
【００２０】
そこで本発明は、上記問題点に鑑みて、異なるカテゴリに属する部分空間の間の類似度を大きくする一方で、同じカテゴリに属する部分空間の間の類似度は小さくするような線形変換行列が得られる線形変換行列算出装置、その方法、及び、そのプログラムを提供する。
【課題を解決するための手段】
【００２１】
本発明は、入力パターンを入力部分空間に変換し、予め規定された各カテゴリに属する複数の辞書部分空間との類似度を計算し、前記入力パターンを相互部分空間法により前記各カテゴリに分類するパターン認識装置において、前記相互部分空間法により前記類似度を計算する際の前処理として前記入力部分空間と前記辞書部分空間を線形変換するために用いる線形変換行列を求める線形変換行列算出装置であって、前記各カテゴリに属する複数の前記辞書部分空間を、前記線形変換行列でそれぞれ線形変換する線形変換部と、前記線形変換した複数の前記辞書部分空間から２つの前記辞書部分空間の組合せを複数組選択し、選択された各組の前記辞書部分空間の間のそれぞれの類似度を用いて、損失関数を計算する損失関数計算部と、前記損失関数を前記線形変換行列で微分したときの微分パラメータを計算する微分計算部と、前記微分パラメータと前記線形変換行列とによって、新たな線形変換行列を最急降下法で計算し、新たな前記線形変換行列を、前記線形変換部で用いられる前記線形変換行列として更新する更新部と、を有することを特徴とする線形変換行列算出装置である。
【発明の効果】
【００２２】
本発明によれば、異なるカテゴリに属する辞書部分空間の間の類似度を大きくする一方で、同じカテゴリに属する辞書部分空間の間の類似度は小さくするような線形変換行列が得られる。
【図面の簡単な説明】
【００２３】
【図１】類似度の分布を示すグラフであり、実線が異なるカテゴリに属する部分空間の間の類似度を表し、点線が同一カテゴリに属する部分空間の間の類似度を表す。
【図２】実施の形態１の線形変換行列算出装置のブロック図である。
【図３】線形変換行列算出装置のフローチャートである。
【図４】実施の形態２のパターン認識装置のブロック図である
【図５】パターン認識装置のフローチャートである。
【発明を実施するための形態】
【００２４】
まず、本発明の具体的な実施の形態を説明する前に、本実施の形態の理論について説明する。
【００２５】
相互部分空間法は正準角の余弦の２乗を類似度として用いる。しかし、上記したように、角度が小さければ似ているかというと必ずしもそうではない。その理由は、何を似ているとするかは問題依存であり、類似度等の距離尺度は問題毎に学習されるべきものである。
【００２６】
そこで，計量行列Ｍを用いてベクトルｘ，ｙの内積をｙＴＭｘと定義し、この計量空間における正準角が、同一カテゴリに属する部分空間の間では小さく、異なるカテゴリに属する部分空間の間では大きくなるよう、計量行列Ｍを学習により求める問題を考える。
【００２７】
Ｍ＝ＴＴＴと分解すれば、計量行列Ｍで表される計量空間における内積は、ベクトルを以下の式（４）のように線形変換した上で通常の内積を求めることと等しい。
【数４】
2010182013.tif 000006
【００２８】
以下ではこの線形変換行列Ｔを学習により求める方法について説明する。
【００２９】
まず、学習用にＮ個の部分空間Ｐｉ、（但し、ｉ＝１，・・・，Ｎである）が与えられるものとし、それぞれの部分空間の基底をΦ（ｉ）とおく。また、各部分空間には、属するカテゴリのＩＤｃｉが教師データが付与されているものとする。
【００３０】
部分空間Ｐｉ，Ｐｊを線形変換行列Ｔで線形変換し、線形変換後の２つの部分空間の間のｋ番目の正準角の余弦の２乗をγｋ（ｉｊ）（Ｔ）とおく。但し、以下では簡略化のため、第１正準角のみを類似度として用いることにし、必要ない場合は添え字のｋを省略することとする。
【００３１】
ｃｉ＝ｃｊのときは類似度γ（ｉｊ）（Ｔ）が大きくなり、それ以外のときは小さくなるような線形変換行列Ｔを求めればよいので、これは以下の式（５）のｙｉｊをクラスラベルとして用いれば部分空間の組み合わせに関する２クラスの認識問題として以下の式（５）のように定式化できる。
【数５】
2010182013.tif 000007
【００３２】
線形変換行列Ｔが与えられたとき、ｙｉｊ＝１となるｉ，ｊの全ての組み合わせと、ｙｉｊ＝−１となるｉ，ｊの全ての組み合わせについて、それぞれ線形変換後の空間における類似度γ（ｉｊ）（Ｔ）を求めると、図１のような分布が得られる。図１は、類似度の分布を示すグラフであり、実線が異なるカテゴリに属する部分空間の間の類似度を表し、点線が同一カテゴリに属する部分空間の間の類似度を表し、縦軸が出現頻度、横軸が類似度である。
【００３３】
ここで、本実施の形態の目的は、同一カテゴリに属する部分空間の間の類似度を大きくし、異なるカテゴリに属する部分空間の間の類似度を小さくするような線形変換行列Ｔを求めることであるため、図１の２つの分布が、線形変換を施すことによりきれいに分離されることが望ましい。
【００３４】
そこで、ｙｉｊ，γ（ｉｊ）（Ｔ）に対する損失値をｌ（ｙｉｊ，γ（ｉｊ）（Ｔ））、全て又は一定の基準で選択されたｉ，ｊの組についての損失値ｌの和を線形変換行列Ｔに関する損失関数Ｌ（Ｔ）とおく。すなわち、損失値ｌを合計して損失関数Ｌ（Ｔ）を計算する。そして、損失関数Ｌを最小化するような線形変換行列Ｔを求めることにする。ここで損失関数Ｌとは、同一のカテゴリに属する部分空間の間の類似度の分布と、異なるカテゴリに属する部分空間の間の類似度の分布の分離度を表し、分離が悪ければ損失が増大する。
【００３５】
ここで損失値ｌとしては、例えば教師信号をｙｉｊ＝１のときは１、ｙｉｊ＝−１のときは０として、以下の式（６）のような教師信号と類似度の差の２乗を損失ｌとして用いることができる。
【数６】
2010182013.tif 000008
【００３６】
また他の例としては、類似度γ（ｉｊ）（Ｔ）に対するクラスレベルｙｉｊの事後確率をｐ（ｙ＝ｙｉｊ｜γ（ｉｊ）（Ｔ））として以下のような式（７）を損失値ｌとして用いることもできる。
【数７】
2010182013.tif 000009
【００３７】
但し、事後確率ｐ（ｙ＝ｙｉｊ｜γ（ｉｊ）（Ｔ））はγ（ｉｊ）（Ｔ）の経験分布をもとにロジスティック回帰により以下の式（８）で近似する。
【数８】
2010182013.tif 000010
【００３８】
但し、α、βは、ロジスティック回帰により求められるパラメータである。
【００３９】
損失関数Ｌ（Ｔ）を線形変換行列Ｔで微分できれば、線形変換行列Ｔの最急降下方向−∂Ｌ（Ｔ）／∂Ｔを求め、一定の微少な刻み幅で線形変換行列Ｔを更新すれば逐次的に線形変換行列Ｔを最適化することができる。
【００４０】
損失関数Ｌは類似度γ（ｉｊ）（Ｔ）の関数であり、γ（ｉｊ）（Ｔ）は線形変換行列Ｔの関数であるので、まずは類似度γ（ｉｊ）（Ｔ）の線形変換行列Ｔに関する微分パラメータを求める必要がある。
【００４１】
しかし、類似度γ（ｉｊ）（Ｔ）を求めるには、部分空間の基底Φ（ｉ），Φ（ｊ）を線形変換行列Ｔで線形変換し、線形変換後の基底を正規直交基底に直した上で式（１）と同様の固有値問題を解く必要がある。ところが、解く途中に正規直交基底への変換が入るため、一般的な形で線形変換行列Ｔに関する微分パラメータを計算することは困難である。しかしながら、線形変換行列Ｔが単位行列Ｉの場合に限り、微分パラメータを計算することが可能であり、このことに基づいて繰り返し演算で逐次的に線形変換行列Ｔの最適化を行うことが出来る。
【００４２】
最急降下法によって繰り返し演算して逐次的に線形変換行列Ｔを更新する際に、更新回数がｔ＋１回目の線形変換行列Ｔｔ＋１を、更新回数ｔ回目の線形変換行列Ｔｔとｔ回目の更新行列Ａｔを用いてＴｔ＋１＝ＴｔＡｔのように表すことにする。すると、更新行列Ａｔを求めるには、ｔ回目の線形変換行列Ｔｔで線形変換された後の空間で微分パラメータを求めればよい。但し、ｔ＞１である。
【００４３】
線形変換行列Ｔで線形変換を行う場合、線形変換前の空間における計量行列ＭはＴＴＴであるが、変換後の空間における計量行列ＭはＩＩＴなので、更新行列Ａｔを求めるにはＩの周りで微分ができればよく、これは任意の線形変換行列Ｔの周りでの微分を行うよりは簡単に求めることができる。
【００４４】
以下順を追って詳しく説明する。
【００４５】
Ｋ次元の部分空間ＳａとＬ次元の部分空間Ｓｂの間の正準角θを求め、ｉ番目の正準角をθｉ、正準角をなす２つの単位ベクトルをａｉ，ｂｉとおく。仮にＫ＜Ｌとすると、θｉ，ａｉ，ｂｉの組はＫ組得られる。
【００４６】
ここで、ａｉ，ｂｉについて以下の式（９）が成り立つ。
【数９】
2010182013.tif 000011
【００４７】
計量行列Ｍ＝ＴＴＴで定義される計量空間において、ベクトルａｉとベクトルｂｊのなす角の余弦の２乗をεｉｊ（Ｔ）とおくと、εｉｊ（Ｔ）は以下の式（１０）で与えられる。
【数１０】
2010182013.tif 000012
【００４８】
式（１０）をＴ＝Ｉの周りで微分し、式（９）を適用すると、以下のような式（１１）が得られる。
【数１１】
2010182013.tif 000013
【００４９】
式（１１）から、計量空間を規定する線形変換行列Ｔを単位行列Ｉから微少に変化させたとき、異なる正準角を構成するベクトルのなす角の余弦の２乗は０のまま変化しない。そのため、ｉ番目の正準角の余弦の２乗の線形変換行列Ｔに関する（Ｉにおける）微分は、ｉ番目の正準角をなす２つのベクトルのなす角の余弦の２乗の微分と等しいことがわかる。したがって、正準角の余弦の２乗（＝類似度）は正準角をなすベクトルの組を用いて以下の式（１２）で与えられる。
【数１２】
2010182013.tif 000014
【００５０】
式（１２）により類似度γ（ｉｊ）の線形変換行列Ｔに関する微分パラメータが得られるので、損失関数Ｌ（Ｔ）の最急降下方向は以下の式（１３）で与えられる。
【数１３】
2010182013.tif 000015
【００５１】
以上をまとめると、線形変換行列Ｔの最適化方法は以下のようになる。
【００５２】
第１に、線形変換行列Ｔ１の初期値をＴ１＝Ｉとする。
【００５３】
第２に、部分空間の基底を線形変換行列Ｔｔで線形変換し、この線形変換後の基底を正規直交系に直す。
【００５４】
第３に、損失関数Ｌ（Ｔｔ）を求める。
【００５５】
第４に、線形変換後の空間における計量行列をＭｔ＝ＴＴＴとおき、損失関数Ｌ（Ｔｔ）をＴ＝Ｉの周りで微分し、微分パラメータの行列をＧｔとおく。すなわち、式（１３）の結果をＧｔとおく。
【００５６】
第５に、一定の微少な刻み幅δｔを用いて、線形変換行列ＴｔをＴｔ＋１＝Ｔｔ（Ｉ＋δｔＧｔ）と更新する。
【００５７】
第６に、収束条件を満たすまで第２〜第５の手順を繰り返して更新を続ける。但し、ｔは更新回数であり、ｔ＞１である。
【００５８】
この手順により、異なるカテゴリに属する部分空間の間の正準角を大きくする一方で同じカテゴリに属する部分空間の間の正準角は小さくするような線形変換行列Ｔを求めることができる。
【００５９】
以下に本発明の一実施の形態を図面に従い説明する。
【００６０】
本発明の実施の形態１の線形変換行列算出装置（以下、単に「行列算出装置」という）２００について図２〜図３に基づいて説明する。
【００６１】
本実施の形態の行列算出装置２００の構成について図２に基づいて説明する。図２は、本実施の形態の行列算出装置２００のブロック図である。
【００６２】
行列算出装置２００は、辞書格納部２０１、初期化部２０２、線形変換部２０３、選択部２０４、損失関数計算部２０５、微分計算部２０６、更新部２０７を有する。
【００６３】
なお、この行列算出装置２００は、例えば、汎用のコンピュータを基本ハードウェアとして用いることでも実現することが可能である。すなわち、初期化部２０２、線形変換部２０３、選択部２０４、損失関数計算部２０５、微分計算部２０６、更新部２０７は、上記のコンピュータに搭載されたプロセッサにプログラムを実行させることにより実現することができる。このとき、行列算出装置２００は、上記のプログラムをコンピュータ装置に予めインストールすることで実現してもよいし、ＣＤ−ＲＯＭなどの記憶媒体に記憶して、又はネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータに適宜インストールすることで実現してもよい。
【００６４】
辞書格納部２０１は、各カテゴリ当たり複数個の辞書部分空間と、それら辞書部分空間に線形変換を施した部分空間の正規直交基底を格納する。なお、この辞書部分空間が、上記で説明した実施の形態の理論における部分空間に対応する。なお、この辞書格納部２０１を設けず、各カテゴリ当たり複数個の辞書部分空間と、それら辞書部分空間に線形変換を施した部分空間の正規直交基底を外部から取得してもよい。
【００６５】
ここで、「カテゴリ」とは、パターン認識を行うときに、同じパターンが属する範囲をいい、例えば、人物、人物の顔、全身、性別又は年代、物、色、模様などが一つのカテゴリとなる。
【００６６】
初期化部２０２は、線形変換行列Ｔの初期値を与える。初期値としては単位行列Ｉを用いてもよいし、直交相互部分空間法により求められる線形変換行列Ｔを用いてもよい。なお、この初期化部２０２を設けず、下記で説明する線形変換部２０３で初期値を与えても良い。
【００６７】
線形変換部２０３は、線形変換行列Ｔを保持し、全ての辞書部分空間について、線形変換を施し、線形変換後の部分空間の正規直交基底を求め、辞書格納部２０１に格納する。
【００６８】
選択部２０４は、入力された１つの辞書部分空間に対して、残りの辞書部分空間から複数個の辞書部分空間を選択する。
【００６９】
第１の選択方法としては、選択部２０４が、全ての辞書部分空間について２つの辞書部分空間の組を選択する。しかし、例えば辞書部分空間が全部で１万個あるとすると、１つの辞書部分空間毎に残りの９９９９個の辞書部分空間の損失とその微分を計算することになり、計算量が非常に大きくなる。また、異なるカテゴリに属する辞書部分空間の間の正準角はもともと大きい場合が多いので、実用上は全ての組合せについて最適化の計算を行う必要はない。
【００７０】
そこで、第２の選択方法としては、次のように選択部２０４が２つの辞書部分空間の組を選択する。すなわち、入力辞書部分空間との類似度γを計算し、類似度γの小さい順番に１つ又は予め定められた数の辞書部分空間を選択する。また、入力辞書部分空間と異なるカテゴリに属する辞書部分空間については、入力辞書部分空間との類似度を計算し、類似度γの大きい順に１つ又は予め定められた数の辞書部分空間を選択する。ここで、類似度γの計算は式（２）の固有値問題を解いて得られる第１固有値、又は、第１固有値から第ｈ固有値までの和を用いる。
【００７１】
損失関数計算部２０５は、線形変換行列Ｔが入力され、辞書部分空間のそれぞれについて、選択部２０４により選択された辞書部分空間との損失値ｌを式（６）又は式（７）に基づいて計算し、その全ての和である損失関数Ｌを求める。その際、損失値ｌの計算には線形変換部２０３により線形変換を施した辞書部分空間の類似度γを用いる。
【００７２】
微分計算部２０６は、全ての辞書部分空間のそれぞれについて、選択部２０４により選択された辞書部分空間との間の損失関数Ｌの微分パラメータを式（１３）に基づいて計算する。その際、微分パラメータの計算には線形変換部２０３により線形変換を施した辞書部分空間の類似度γを用いる。求められた式（１３）の結果を、微分パラメータの行列Ｇとおく。なお、この微分計算部２０６で用いる２つの辞書部分空間は、損失関数計算部２０５で用いる２つの辞書部分空間と同一であってもよく、また、異なった辞書部分空間を用いてもよい。
【００７３】
更新部２０７は、更新回数ｔが規定の回数に達するか、又は、所定の更新回数の間の損失関数Ｌの減少幅が閾値以下のときなどの一定の収束条件を満たすまで、微分計算部２０６により求められた微分パラメータの行列Ｇと微少な一定の更新幅δを用いて線形変換行列Ｔから、新たな線形変換行列であるＴ（Ｉ＋δＧ）を計算する。そして、この新たな線形変換行列Ｔ（Ｉ＋δＧ）を用いて線形変換部２０３が、辞書部分空間を線形変換するように更新する。
【００７４】
行列算出装置２００の動作について図３に基づいて説明する。図３は、行列算出装置２００のフローチャートを示す。
【００７５】
ステップ３０１では、初期化部２０２が、線形変換行列Ｔの初期値を生成する。
【００７６】
ステップ３０２では、線形変換部２０３が、線形変換行列Ｔを用いて辞書格納部２０１に格納されている全ての辞書部分空間に対して線形変換を施す。線形変換部２０３は、線形変換後の部分空間の基底を正規直交系に変換して、辞書格納部２０１に格納する。
【００７７】
ステップ３０３では、選択部２０４が、辞書格納部２０１に格納されている全ての線形変換後の辞書部分空間について、２つの辞書部分空間の組み合わせを選択する。損失関数計算部２０５は、選択された全ての辞書部分空間の組み合わせの類似度γについて損失関数Ｌを求める。
【００７８】
ステップ３０４では、選択部２０４が、辞書格納部２０１に格納されている全ての線形変換後の辞書部分空間について、２つの辞書部分空間の組み合わせを選択する。微分計算部２０６は、選択された全ての辞書部分空間の組み合わせの類似度γについて、微分パラメータの行列Ｇを求める。
【００７９】
ステップ３０５では、更新部２０７が、ステップ３０３で算出された損失関数Ｌと更新回数ｔから収束の判定を行い（ｎｏの場合）、収束していなければ線形変換ステップ３０２以降を繰り返し、収束したと判定されれば終了する（ｙｅｓの場合）。
【００８０】
本実施の形態によれば、異なるカテゴリに属する辞書部分空間の間の正準角を大きくする。一方、同じカテゴリに属する辞書部分空間の間の正準角は小さくするような線形変換行列Ｔを求めることができる。
【００８１】
本発明の実施の形態２のパターン認識装置４００について図４〜図５に基づいて説明する。
【００８２】
本実施の形態のパターン認識装置４００は、実施の形態１で示された行列算出装置２００で算出された線形変換行列Ｔを用いてパターン認識を行うものである。
【００８３】
パターン認識装置４００の構成について図４に基づいて説明する。図４は、パターン認識装置４００のブロック図である。
【００８４】
パターン認識装置４００は、パターン取得部４０１、入力部分空間生成部４０２、辞書格納部４０３、行列算出部４０４、行列格納部４０５、線形変換部４０６、類似度計算部４０７、判定部４０８を有する。
【００８５】
パターン取得部４０１は、カメラなどにより認識対象のパターンを予め規定された回数取得する。
【００８６】
入力部分空間生成部４０２は、パターン取得部４０１で取得された複数の入力パターンに対して主成分分析を行うことにより入力部分空間を求める。
【００８７】
辞書格納部４０３は、予め登録されたカテゴリ毎に１つ又は複数の辞書部分空間を格納する。なお、実施の形態１の辞書格納部２０１に対応する。
【００８８】
行列算出部４０４は、実施の形態１で示された行列算出装置２００を有し、この行列算出装置２００により辞書格納部４０３に格納された辞書部分空間について線形変換行列Ｔを算出する。線形変換行列Ｔの算出は毎回行う必要はなく、登録カテゴリ数や辞書部分空間数に変化があった場合にのみ算出を行えばよい。
【００８９】
行列格納部４０５は、行列算出部４０４で算出された線形変換行列Ｔを格納する。
【００９０】
線形変換部４０６は、行列格納部４０５に格納されている線形変換行列Ｔを用いて入力部分空間と辞書部分空間をそれぞれを線形変換する。具体的には、部分空間に基底ベクトルを線形変換行列により変換し、変換後の基底ベクトルをＧｒａｍ−Ｓｃｈｍｉｄｔの直交化により正規直交基底に変換する。
【００９１】
類似度計算部４０７は、線形変換された辞書部分空間と、同じく線形変換された入力部分空間との間の類似度を、相互部分空間法により算出する。具体的には、線形変換後の辞書部分空間の正規直交基底をΦ（ｎ）  、線形変換後の入力部分空間の正規直交基底をΦ（ｍ）とおくと、式（２）の固有値問題の第１固有値、又は第１固有値から第ｈ固有値までの和を２つの部分空間の間の類似度とする。但し、ｈ＞１である。
【００９２】
判定部４０８は、類似度計算部４０７で算出された類似度の値が最も大きく、かつ、その値が予め設定された閾値よりも大きい場合、その類似度が算出された辞書部分空間に対応するカテゴリを認識結果として出力する。それ以外の場合は登録されたカテゴリのどれとも一致しないという判定結果を出力する。
【００９３】
パターン認識装置４００の動作について図５に基づいて説明する。図５は、パターン認識装置４００のフローチャートである。
【００９４】
ステップ５０１では、パターン取得部４０１が、画像や音声などの認識対象のパターンを予め規定された回数取得する。
【００９５】
ステップ５０２では、入力部分空間生成部４０２が、複数の入力パターンに対して主成分分析を行うことにより入力部分空間を求める。
【００９６】
ステップ５０３、５０４では、行列算出部４０４が、実施の形態１で示された行列算出装置２００により線形変換行列Ｔを算出する。行列格納部４０５は、算出された線形変換行列Ｔを格納する。
【００９７】
ステップ５０５では、線形変換部４０６が、行列格納部４０５に格納されている線形変換行列Ｔにより入力部分空間と辞書部分空間をそれぞれ線形変換する。
【００９８】
ステップ５０６では、類似度計算部４０７が、線形変換された辞書部分空間と、同じく線形変換された入力部分空間との間の類似度を、相互部分空間法により算出する。
【００９９】
ステップ５０７では、判定部４０８は類似度計算部４０７で算出された類似度の値が最も大きく、かつ、その値が予め設定された閾値よりも大きい場合、その類似度が算出された辞書部分空間に対応するカテゴリを認識結果として出力する。それ以外の場合は登録されたカテゴリのどれとも一致しないという判定結果を出力する。
【０１００】
本実施の形態によれば、実施の形態１で示された行列算出装置２００により得られた線形変換行列Ｔを用いて入力部分空間と辞書部分空間をそれぞれ線形変換して、パターン認識を行うことにより、高精度なパターン認識を行うことができる。
【０１０１】
なお、本発明は上記各実施形態に限らず、その主旨を逸脱しない限り種々に変更することができる。
【符号の説明】
【０１０２】
２００    線形変換行列算出装置
２０１    辞書格納部
２０２    初期化部
２０３    線形変換部
２０４    選択部
２０５    損失関数計算部
２０６    微分計算部
２０７    更新部
【図１】
2010182013.tif 000016
【図２】
2010182013.tif 000017
【図３】
2010182013.tif 000018
【図４】
2010182013.tif 000019
【図５】
2010182013.tif 000020