(57)【要約】【課題】少ないメモリ量で、かつ、短い計算時間でデータを分類することができるようにする。【解決手段】ＳＶＭ分類部３４は、指数関数で表わされるカーネル関数を近似した以下の式で表される二次関数ｋ（ｘ、ｚ）と、訓練データとして予め用意された複数の特徴ベクトルとに基づいて学習することにより得られた、以下の式で表されるＳＶＭ分類式ｆ（ｘ）を用いて、特徴ベクトル抽出部３２によってテストデータとして生成された特徴ベクトルの撮像画像が、顔画像であるか分類する。2010086466.tif 000018【選択図】図１
2010086466.tif 000002
【特許請求の範囲】
【請求項１】
指数関数で表わされるカーネル関数を近似した以下の式で表される二次関数ｋ（ｘ、ｚ）と、訓練データとして予め用意された複数の特徴ベクトルとに基づいて学習することにより得られた、以下の式で表されるＳＶＭ分類式ｆ（ｘ）を用いて、テストデータとして入力された特徴ベクトルを分類するデータ分類装置。
【数１】
2010086466.tif 000014
また、ｘ、ｚは特徴ベクトルであり、γはカーネル関数におけるパラメータであり、ａ，ｃ，ｑは、前記カーネル関数の近似により決定される係数である。ｘｊは特徴ベクトルｘのｊ次元の特徴量であり、ｘｋは特徴ベクトルｘのｋ次元の特徴量である。ｖｉはサポートベクトルであり、ｖｉｊはサポートベクトルｖｉのｊ次元の特徴量であり、ｖｉｋはサポートベクトルｖｉのｋ次元の特徴量である。ｙｉはサポートベクトルｖｉのラベルであり、ｎはサポートベクトルの個数であり、ｄは前記特徴ベクトルの次元数である。αｉ，ｂは前記学習により決定される係数である。
【請求項２】
指数関数で表わされるカーネル関数を近似した以下の式で表される三次関数ｋ（ｘ、ｚ）と、訓練データとして予め用意された複数の特徴ベクトルとに基づいて学習することにより得られた、以下の式で表されるＳＶＭ分類式ｆ（ｘ）を用いて、テストデータとして入力された特徴ベクトルを分類するデータ分類装置。
【数２】
2010086466.tif 000015
また、ｘ、ｚは特徴ベクトルであり、γはカーネル関数におけるパラメータであり、ａ，ｃ，ｑ，ｈは、前記カーネル関数の近似により決定される係数である。ｘｊは特徴ベクトルｘのｊ次元の特徴量であり、ｘｋは特徴ベクトルｘのｋ次元の特徴量であり、ｘｓは特徴ベクトルｘのｓ次元の特徴量である。ｖｉはサポートベクトルであり、ｖｉｊはサポートベクトルｖｉのｊ次元の特徴量であり、ｖｉｋはサポートベクトルｖｉのｋ次元の特徴量であり、ｖｉｓはサポートベクトルｖｉのｓ次元の特徴量である。ｙｉはサポートベクトルｖｉのラベルであり、ｎはサポートベクトルの個数であり、ｄは前記特徴ベクトルの次元数である。αｉ，ｂは前記学習により決定される係数である。
【請求項３】
前記二次関数を、前記カーネル関数をティラー展開により近似した二次関数とした請求項１記載のデータ分類装置。
【請求項４】
前記三次関数を、前記カーネル関数をティラー展開により近似した三次関数とした請求項２記載のデータ分類装置。
【請求項５】
前記二次関数を、前記指数関数から生成される複数のサンプリングデータに対して、近似することにより得られた二次関数とした請求項１記載のデータ分類装置。
【請求項６】
前記二次関数を、前記指数関数から生成される複数のサンプリングデータのうち、前記カーネル関数におけるパラメータγに複数の離散値の各々を適用した場合に取りうる前記サンプリングデータに対して、各々近似することにより得られた複数の二次関数とした請求項５記載のデータ分類装置。
【請求項７】
前記三次関数を、前記指数関数から生成される複数のサンプリングデータに対して、近似することにより得られた三次関数とした請求項２記載のデータ分類装置。
【請求項８】
前記三次関数を、前記指数関数から生成される複数のサンプリングデータのうち、前記カーネル関数におけるパラメータγに複数の離散値の各々を適用した場合に取りうる前記サンプリングデータに対して、各々近似することにより得られた複数の三次関数とした請求項７記載のデータ分類装置。
【請求項９】
前記複数のサンプリングデータを、前記訓練データとして用意された前記複数の特徴ベクトルの内積値から得られる前記指数関数の指数部分の値の経験分布に応じて生成した請求項５〜請求項８の何れか１項記載のデータ分類装置。
【請求項１０】
前記特徴ベクトルとして、正規化された特徴ベクトルを用いた請求項１〜請求項９の何れか１項記載のデータ分類装置。
【請求項１１】
コンピュータを、
指数関数で表わされるカーネル関数を近似した以下の式で表される二次関数ｋ（ｘ、ｚ）と、訓練データとして予め用意された複数の特徴ベクトルとに基づいて学習することにより得られた、以下の式で表されるＳＶＭ分類式ｆ（ｘ）を用いて、テストデータとして入力された特徴ベクトルを分類する手段
として機能させるためのプログラム。
【数３】
2010086466.tif 000016
また、ｘ、ｚは特徴ベクトルであり、γはカーネル関数におけるパラメータであり、ａ，ｃ，ｑは、前記カーネル関数の近似により決定される係数である。ｘｋは特徴ベクトルｘのｋ次元の特徴量である。ｖｉはサポートベクトルであり、ｖｉｊはサポートベクトルｖｉのｊ次元の特徴量であり、ｖｉｋはサポートベクトルｖｉのｋ次元の特徴量である。ｙｉはサポートベクトルｖｉのラベルであり、ｎはサポートベクトルの個数であり、ｄは前記特徴ベクトルの次元数である。αｉ，ｂは前記学習により決定される係数である。
【請求項１２】
コンピュータを、
指数関数で表わされるカーネル関数を近似した以下の式で表される三次関数ｋ（ｘ、ｚ）と、訓練データとして予め用意された複数の特徴ベクトルとに基づいて学習することにより得られた、以下の式で表されるＳＶＭ分類式ｆ（ｘ）を用いて、テストデータとして入力された特徴ベクトルを分類する手段
として機能させるためのプログラム。
【数４】
2010086466.tif 000017
また、ｘ、ｚは特徴ベクトルであり、γはカーネル関数におけるパラメータであり、ａ，ｃ，ｑ，ｈは、前記カーネル関数の近似により決定される係数である。ｘｋは特徴ベクトルｘのｋ次元の特徴量であり、ｘｓは特徴ベクトルｘのｓ次元の特徴量である。ｖｉはサポートベクトルであり、ｖｉｊはサポートベクトルｖｉのｊ次元の特徴量であり、ｖｉｋはサポートベクトルｖｉのｋ次元の特徴量であり、ｖｉｓはサポートベクトルｖｉのｓ次元の特徴量である。ｙｉはサポートベクトルｖｉのラベルであり、ｎはサポートベクトルの個数であり、ｄは前記特徴ベクトルの次元数である。αｉ，ｂは前記学習により決定される係数である。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ分類装置及びプログラムに係り、特に、ＳＶＭ分類式を用いてテストデータを分類するデータ分類装置及びプログラムに関する。
【背景技術】
【０００２】
従来より、ＳＶＭ分類器を使用して、テスト画像が顔画像であるか分類する方法が知られている（特許文献１）。
【特許文献１】特開２００７−２３８０９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記特許文献１の技術では、扱う問題が複雑な場合、ＳＶＭ分類器で使用されるサポートベクトルの数が非常に多くなるため、必要なメモリ量が膨大になると共に、計算時間が多くかかってしまう、という問題がある。
【０００４】
本発明は、上記の問題点を解決するためになされたもので、少ないメモリ量で、かつ、短い計算時間でデータを分類することができるデータ分類装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記の目的を達成するために第１の発明に係るデータ分類装置は、指数関数で表わされるカーネル関数を近似した以下の式で表される二次関数ｋ（ｘ、ｚ）と、訓練データとして予め用意された複数の特徴ベクトルとに基づいて学習することにより得られた、以下の式で表されるＳＶＭ分類式ｆ（ｘ）を用いて、テストデータとして入力された特徴ベクトルを分類するものである。
【０００６】
【数１】
2010086466.tif 000003
【０００７】
また、ｘ、ｚは特徴ベクトルであり、γはカーネル関数におけるパラメータであり、ａ，ｃ，ｑは、前記カーネル関数の近似により決定される係数である。ｘｊは特徴ベクトルｘのｊ次元の特徴量であり、ｘｋは特徴ベクトルｘのｋ次元の特徴量である。ｖｉはサポートベクトルであり、ｖｉｊはサポートベクトルｖｉのｊ次元の特徴量であり、ｖｉｋはサポートベクトルｖｉのｋ次元の特徴量である。ｙｉはサポートベクトルｖｉのラベルであり、ｎはサポートベクトルの個数であり、ｄは前記特徴ベクトルの次元数である。αｉ，ｂは前記学習により決定される係数である。
【０００８】
第２の発明に係るプログラムは、コンピュータを、指数関数で表わされるカーネル関数を近似した以下の式で表される二次関数ｋ（ｘ、ｚ）と、訓練データとして予め用意された複数の特徴ベクトルとに基づいて学習することにより得られた、以下の式で表されるＳＶＭ分類式ｆ（ｘ）を用いて、テストデータとして入力された特徴ベクトルを分類する手段として機能させるためのプログラムである。
【０００９】
【数２】
2010086466.tif 000004
【００１０】
第１の発明及び第２の発明によれば、指数関数で表わされるカーネル関数を近似した上記の式で表される二次関数ｋ（ｘ、ｚ）と、訓練データとして予め用意された複数の特徴ベクトルとに基づいて学習することにより得られた、上記の式で表されるＳＶＭ分類式ｆ（ｘ）を用いて、テストデータとして入力された特徴ベクトルを分類する。
【００１１】
このように、パラメータの少ないＳＶＭ分類式を用いてテストデータを分類することにより、少ないメモリ量で、かつ、短い計算時間でデータを分類することができる。
【００１２】
第３の発明に係るデータ分類装置は、指数関数で表わされるカーネル関数を近似した以下の式で表される三次関数ｋ（ｘ、ｚ）と、訓練データとして予め用意された複数の特徴ベクトルとに基づいて学習することにより得られた、以下の式で表されるＳＶＭ分類式ｆ（ｘ）を用いて、テストデータとして入力された特徴ベクトルを分類するものである。
【００１３】
【数３】
2010086466.tif 000005
【００１４】
また、ｘ、ｚは特徴ベクトルであり、γはカーネル関数におけるパラメータであり、ａ，ｃ，ｑ，ｈは、前記カーネル関数の近似により決定される係数である。ｘｊは特徴ベクトルｘのｊ次元の特徴量であり、ｘｋは特徴ベクトルｘのｋ次元の特徴量であり、ｘｓは特徴ベクトルｘのｓ次元の特徴量である。ｖｉはサポートベクトルであり、ｖｉｊはサポートベクトルｖｉのｊ次元の特徴量であり、ｖｉｋはサポートベクトルｖｉのｋ次元の特徴量であり、ｖｉｓはサポートベクトルｖｉのｓ次元の特徴量である。ｙｉはサポートベクトルｖｉのラベルであり、ｎはサポートベクトルの個数であり、ｄは前記特徴ベクトルの次元数である。αｉ，ｂは前記学習により決定される係数である。
【００１５】
第４の発明に係るプログラムは、コンピュータを、指数関数で表わされるカーネル関数を近似した以下の式で表される三次関数ｋ（ｘ、ｚ）と、訓練データとして予め用意された複数の特徴ベクトルとに基づいて学習することにより得られた、以下の式で表されるＳＶＭ分類式ｆ（ｘ）を用いて、テストデータとして入力された特徴ベクトルを分類する手段として機能させるためのプログラムである。
【００１６】
【数４】
2010086466.tif 000006
【００１７】
第３の発明及び第４の発明によれば、指数関数で表わされるカーネル関数を近似した上記の式で表される三次関数と、訓練データとして予め用意された複数の特徴ベクトルとに基づいて学習することにより得られた、上記の式で表されるＳＶＭ分類式を用いて、テストデータとして入力された特徴ベクトルを分類する。
【００１８】
このように、パラメータの少ないＳＶＭ分類式を用いてテストデータを分類することにより、少ないメモリ量で、かつ、短い計算時間でデータを分類することができる。
【００１９】
上記の二次関数を、カーネル関数をティラー展開により近似した二次関数とすることができる。これによって、カーネル関数を二次関数に精度良く近似することができる。
【００２０】
上記の三次関数を、カーネル関数をティラー展開により近似した三次関数とすることができる。これによって、カーネル関数を三次関数に精度良く近似することができる。
【００２１】
上記の二次関数を、指数関数から生成される複数のサンプリングデータに対して、近似することにより得られた二次関数とすることができる。これによって、カーネル関数を二次関数に精度良く近似することができる。
【００２２】
また、上記の二次関数を、指数関数から生成される複数のサンプリングデータのうち、カーネル関数におけるパラメータγに複数の離散値の各々を適用した場合に取りうるサンプリングデータに対して、各々近似することにより得られた複数の二次関数とすることができる。
【００２３】
上記の三次関数を、指数関数から生成される複数のサンプリングデータに対して、近似することにより得られた三次関数とすることができる。これによって、カーネル関数を三次関数に精度良く近似することができる。
【００２４】
また、上記の三次関数を、指数関数から生成される複数のサンプリングデータのうち、カーネル関数におけるパラメータγに複数の離散値の各々を適用した場合に取りうるサンプリングデータに対して、各々近似することにより得られた複数の三次関数とすることができる。
【００２５】
上記の複数のサンプリングデータを、訓練データとして用意された複数の特徴ベクトルの内積値から得られる指数関数の指数部分の値の経験分布に応じて生成することができる。
【００２６】
上記の特徴ベクトルとして、正規化された特徴ベクトルを用いることができる。
【発明の効果】
【００２７】
以上説明したように、本発明のデータ分類装置及びプログラムによれば、パラメータの少ないＳＶＭ分類式を用いてテストデータを分類することにより、少ないメモリ量で、かつ、短い計算時間でデータを分類することができる、という効果が得られる。
【発明を実施するための最良の形態】
【００２８】
以下、図面を参照して本発明の実施の形態を詳細に説明する。なお、本実施の形態では、撮像装置によって撮像された画像が、顔を表わす顔画像であるか分類する画像分類装置に本発明を適用した場合を例に説明する。
【００２９】
図１に示すように、第１の実施の形態に係る画像分類装置１０は、所定領域を撮像するように設けられた撮像装置１２と、撮像装置１２により撮像した画像が、顔を表わす顔画像であるか分類して、分類結果を表示装置１６に表示させるコンピュータ１４とを備えている。
【００３０】
コンピュータ１４は、ＣＰＵ、後述するＳＶＭモデル学習処理ルーチン及び顔画像分類処理ルーチンのプログラムを記憶したＲＯＭ、データ等を記憶するＲＡＭ、及びこれらを接続するバスを含んで構成されている。このコンピュータ１４をハードウエアとソフトウエアとに基づいて定まる機能実現手段毎に分割した機能ブロックで説明すると、図１に示すように、サポートベクターマシン（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ、ＳＶＭ）のカーネル関数を二次関数に近似するカーネル関数近似部２０と、訓練データとして、顔画像の特徴ベクトル及び非顔画像の特徴ベクトルを多数記憶した訓練データ記憶部２２と、カーネル関数を近似した二次関数と訓練データとを用いて、ＳＶＭ分類式を学習するＳＶＭ学習部２４と、学習により得られたＳＶＭ分類式を式展開することにより式を変換するＳＶＭモデル変換部２６と、変換されたＳＶＭ分類式を記憶したＳＶＭモデル記憶部２８とを備えている。
【００３１】
ここで、ＳＶＭモデルを用いた分類手法について説明する。
【００３２】
ＳＶＭモデルを用いた分類手法では、訓練データの集合が与えられると、訓練データをより高次元の特徴空間に非線形写像し、この特徴空間において最大マージンを有する分離超平面を構築する。
【００３３】
ＳＶＭモデルでは、学習及び分類において必要な計算は、非線形写像空間での特徴φ（ｘ１）やφ（ｘ２）の内積算のみに関わるので、特徴φ（ｘ１）を陽に計算する代わりに、カーネル関数Ｋ（ｘ１，ｘ２）＝φ（ｘ１）Ｔφ（ｘ２）のように暗に計算する。
【００３４】
カーネル関数としては多項式カーネル、ＲＢＦ（Ｒａｄｉａｌ  Ｂａｓｉｓ  Ｆｕｎｃｔｉｏｎ）カーネル、シグモイドカーネルなどがよく使用される。ＳＶＭモデルにおいて、カーネル関数を計算するとき考慮しなければならないのは、分離超平面の近傍にあるベクトルのみであり、これらのベクトルをサポートベクトルと呼ぶ。一般のＳＶＭ分類式は以下の（１）式で表される。
【００３５】
【数５】
2010086466.tif 000007
【００３６】
ここで、ｖｉはサポートベクトル、αｉはラグランジュ係数、ｙｉは各サポートベクトルｖｉのラベル（１，−１）を各々表す。
【００３７】
本実施の形態では、カーネル関数としてＲＢＦカーネルを用いる。ＲＢＦカーネルを用いたＳＶＭによる分類性能は、一般に性能が高く安定的である。
【００３８】
カーネル関数近似部２０は、ＲＢＦカーネルを、以下に説明するように二次多項式関数で近似する。以下では、普遍性を損失なく、特徴ベクトルがＬ２ノルムで正規化されている場合を仮定して説明する。
【００３９】
まず、ＲＢＦカーネルを、以下の（２）式のように展開できる。
【００４０】
【数６】
2010086466.tif 000008
【００４１】
ここで、γ（＞０）は、カーネルの幅と呼ばれるパラメータである。上記（２）式では、第一項の指数関数が常に固定値なので、無視してもカーネルに影響がない。つまり、ＲＢＦカーネルは、上記（２）式の第二項の指数関数で表される。
【００４２】
また、上記（２）式の第二項の指数関数で表されるＲＢＦカーネルを、以下の（３）式で表される二次多項式関数で近似する。
【００４３】
【数７】
2010086466.tif 000009
【００４４】
上記（３）式の係数ａ，ｃ，ｑについては、以下のように決定される。
【００４５】
まず、特徴ベクトルｘとｚがＬ２ノルムで正規化されているため、内積値ｘＴｚは常に［０，１］の範囲である。従って、ＲＢＦカーネルの指数部分２γｘＴｚの値域が［０，２γ］となる。
【００４６】
また、指数関数で表されるＲＢＦカーネルはティラー展開で近似することができる。パラメータγが小さい値をとる場合、ＲＢＦカーネルの指数部分２γｘＴｚの値域は小さい区間となるため、二次ティラー展開でＲＢＦカーネルを近似することができ、上記（３）式の係数について、ａ＝１，ｃ＝１，ｑ＝１／２と決定される。
【００４７】
ＳＶＭ学習部２４は、以下に説明するように、γ、αｉ、ｂを学習して、ＳＶＭ分類式を決定する。
【００４８】
まず、上記（１）式のＳＶＭ分類式ｆ（ｘ）のカーネル関数として、近似された上記（３）式の二次多項式関数を用いると共に、カーネル関数のパラメータγに複数の離散値の各々を適用して、γの各離散値に対して、訓練データの特徴ベクトルに基づいて、以下の（４）式を最大にするような、αｉを学習すると共に、学習したαｉを適用したときに任意のｉに対して以下の（５）式を満たすｂを選択することにより、ＳＶＭ分類式を各々決定する。
【００４９】
【数８】
2010086466.tif 000010
【００５０】
ここで、Ｎは、訓練データの数であり、ｘｉは、訓練データの特徴ベクトルであり、ｙｉは特徴ベクトルｘｉの教師ラベル（１、−１）である。また、Ｃは定数である。
【００５１】
次に、各γの離散値に対して決定されたαｉ、ｂを用いたＳＶＭ分類式の各々について、訓練データの特徴ベクトルを適用した場合の計算結果と、訓練データの教師ラベルとを比較する。
【００５２】
各γの離散値に対して得られた比較結果の各々から、最適なＳＶＭ分類式となるときのγを決定し、このγに対して決定されたαｉ、ｂと、決定されたγとを用いたＳＶＭ分類式を、学習結果として採用する。
【００５３】
ＳＶＭモデル変換部２６は、学習により得られたＳＶＭ分類式ｆ２（ｘ）を、以下の（６）式に示すように数式展開することにより、パラメータの少ない式に変換して、ＳＶＭモデル記憶部２８に記憶しておく。
【００５４】
【数９】
2010086466.tif 000011
【００５５】
また、ｘｊは特徴ベクトルｘのｊ次元の特徴量であり、ｘｋは特徴ベクトルｘのｋ次元の特徴量である。ｖｉはサポートベクトルであり、ｖｉｊはサポートベクトルｖｉのｊ次元の特徴量であり、ｖｉｋはサポートベクトルｖｉのｋ次元の特徴量である。ｙｉはサポートベクトルｖｉのラベルであり、ｎはサポートベクトルの個数であり、ｄは特徴ベクトルの次元数である。αｉ，ｂは学習により決定される係数である。
【００５６】
上記（６）式のＳＶＭ分類式に使われるパラメータβｊ、ωｊｋは、サポートベクトル間の重み付き加算結果から予め計算され、メモリ（図示省略）に予め記憶される。
【００５７】
また、コンピュータ１４は、撮像装置１２から出力される撮像画像を入力する画像入力部３０と、撮像画像から、テストデータとして、複数種類の特徴量から構成される特徴ベクトルを抽出する特徴ベクトル抽出部３２と、ＳＶＭモデル記憶部２８に記憶されたＳＶＭ分類式を用いて、テストデータに対して、顔画像であるか否かの分類を行って、分類結果を表示装置１６に表示させるＳＶＭ分類部３４とを備えている。
【００５８】
画像入力部３０は、例えば、Ａ／Ｄコンバータや１画面の画像データを記憶する画像メモリ等で構成される。
【００５９】
特徴ベクトル抽出部３２は、撮像画像から複数種類の特徴量を抽出して、テストデータとして、複数種類の特徴量からなる特徴ベクトルを生成する。なお、上記の訓練データの特徴ベクトルとテストデータの特徴ベクトルとは、同じ種類の特徴量から構成されるベクトルである。
【００６０】
ＳＶＭ分類部３４は、テストデータの特徴ベクトルについて、上記（６）式で表されるＳＶＭ分類式を計算し、計算結果が正の値（０を含む）であれば、撮像画像が顔画像であると分類し、計算結果が負の値であれば、撮像画像が顔画像であると分類する。
【００６１】
次に、第１の実施の形態に係る画像分類装置１０の作用について説明する。
【００６２】
まず、訓練データとして、顔画像の特徴ベクトル及び非顔画像の特徴ベクトルが多数用意され、コンピュータ１４の訓練データ記憶部２２に教師ラベルと共に記憶される。また、コンピュータ１４において、図２に示すＳＶＭモデル学習処理ルーチンが実行される。
【００６３】
まず、ステップ１００において、カーネル関数であるＲＢＦカーネルを二次ティラー展開により二次多項式関数で近似する。そして、ステップ１０２において、訓練データを読み込み、ステップ１０４において、訓練データを上記ステップ１００で近似した二次多項式関数に適用して学習することにより、ＳＶＭ分類式の係数を決定し、ＳＶＭ分類式を得る。
【００６４】
次のステップ１０６では、上記ステップ１０４で得られたＳＶＭ分類式を数式展開することにより、上記（６）式で表される数式に変換して、ステップ１０８において、ＳＶＭモデル記憶部２８に、変換したＳＶＭ分類式を記憶して、ＳＶＭモデル学習処理ルーチンを終了する。
【００６５】
また、撮像装置１２によって所定領域の画像が撮像されると、コンピュータ１４において、図３に示す顔画像分類処理ルーチンが実行される。
【００６６】
まず、ステップ１２０において、撮像装置１２から撮像画像を取得し、ステップ１２２において、上記ステップ１２０で取得された撮像画像から複数種類の特徴量を抽出して、テストデータとしての特徴ベクトルを生成する。
【００６７】
そして、ステップ１２４において、ＳＶＭモデル記憶部２８に記憶されたＳＶＭ分類式に、上記ステップ１２２で生成された特徴ベクトルを適用して計算する。次のステップ１２６において、上記ステップ１２４で得られた計算値が正の値であるか否かを判定し、正の値であると、ステップ１２８において、撮像画像が顔画像であるとの分類結果を表示装置１６に表示させて、顔画像分類処理ルーチンを終了する。一方、上記ステップ１２６において、上記ステップ１２４で得られた計算値が負の値であると判定されると、ステップ１３０において、撮像画像が顔画像でないとの分類結果を表示装置１６に表示させて、顔画像分類処理ルーチンを終了する。
上記（６）式においてωｋｊ＝ωｊｋとなるので、上記顔画像分類処理ルーチンの計算において、ＳＶＭ分類式で使用する｛βｊ｝，｛ωｊｋ｝に関わる総メモリ量はｄ２／２に比例する（ｄは特徴量の次元数を表す）。一方、近似しない元のＳＶＭモデルに関わる総メモリ量はｎｄ（サポートベクトルの数ｎ×特徴量の次元数ｄ）であり、本実施の形態の手法によるメモリ量の効率化率は２ｎ／ｄになる。ここで、一般的に、特徴量の次元数ｄはサポートベクトルの数ｎより少ないので、総メモリ量が削減される。例えば、特徴量の次元数ｄが１００であり、サポートベクトルの数ｎが４０００である場合には、上記（６）式を用いて計算することにより、変換する前のＳＶＭモデルを用いて計算に比べて、総メモリ量が約８０倍効率化される。また、計算時間についても、本実施の形態の手法によりメモリ量の効率化と同様に効率化することができる。
【００６８】
以上説明したように、第１の実施の形態に係る画像分類装置によれば、二次関数に近似したＲＢＦカーネルに基づくパラメータの少ないＳＶＭ分類式を用いて、テストデータを分類することにより、少ないメモリ量で、かつ、短い計算時間でデータを分類することができる。
【００６９】
メモリ量や計算時間を削減するために、サポートベクトル数を減らす必要がないため、従来手法のＲＢＦカーネルを用いたＳＶＭモデルによる分類に比べ、分類性能を落とすことなく、高速で処理可能でありかつメモリ量を削減でき、低コスト化を実現できる。
【００７０】
また、二次ティラー展開により、ＲＢＦカーネルを、二次関数で精度良く近似することができる。
【００７１】
次に、第２の実施の形態について説明する。なお、第２の実施の形態に係る画像分類装置の構成は、第１の実施の形態と同様の構成となるため、同一符号を付して説明を省略する。
【００７２】
第２の実施の形態では、ＲＢＦカーネルを３次多項式関数に近似している点が第１の実施の形態と主に異なっている。
【００７３】
第２の実施の形態に係る画像分類装置では、カーネル関数近似部２０によって、上記（２）式の第二項の指数関数で表されるＲＢＦカーネルを、以下の（７）式で表される三次次多項式関数で近似する。
【００７４】
【数１０】
2010086466.tif 000012
【００７５】
上記（７）式の係数ａ，ｃ，ｑ，ｈについては、以下のように決定される。
【００７６】
パラメータγが小さい値をとる場合、ＲＢＦカーネルの指数部分２γｘＴｚの値域は小さい区間となるため、三次ティラー展開でＲＢＦカーネルを近似することができ、上記（７）式の係数について、ａ＝１，ｃ＝１，ｑ＝１／２、ｈ＝１／６と決定される。
【００７７】
また、ＳＶＭ学習部２４は、上記（１）式のＳＶＭ分類式ｆ（ｘ）のカーネル関数として、近似された上記（７）式の三次多項式関数を用いると共に、カーネル関数のパラメータγに複数の離散値の各々を適用して、γの各離散値に対して、訓練データの特徴ベクトルに基づいて、上記の（４）式を最大化にするようなαｉ、を学習すると共に、上記の（５）式を満たすｂを選択して、ＳＶＭ分類式を各々決定する。
【００７８】
また、各γの離散値に対して決定されたαｉ、ｂを用いたＳＶＭ分類式の各々について、訓練データの特徴ベクトルを適用した場合の計算結果と、訓練データの教師ラベルとを比較し、各γの離散値に対して得られた比較結果の各々から、最適なＳＶＭ分類式となるときのγを決定し、このγに対して決定されたαｉ、ｂと、決定されたγとを用いたＳＶＭ分類式を、学習結果として採用する。
【００７９】
ＳＶＭモデル変換部２６は、学習により得られたＳＶＭ分類式ｆ３（ｘ）を、以下の（８）式に示すように数式展開することにより、パラメータの少ない式に変換して、ＳＶＭモデル記憶部２８に記憶しておく。
【００８０】
【数１１】
2010086466.tif 000013
【００８１】
また、ｘｊは特徴ベクトルｘのｊ次元の特徴量であり、ｘｋは特徴ベクトルｘのｋ次元の特徴量であり、ｘｓは特徴ベクトルｘのｓ次元の特徴量である。ｖｉはサポートベクトルであり、ｖｉｊはサポートベクトルｖｉのｊ次元の特徴量であり、ｖｉｋはサポートベクトルｖｉのｋ次元の特徴量であり、ｖｉｓはサポートベクトルｖｉのｓ次元の特徴量である。ｙｉはサポートベクトルｖｉのラベルであり、ｎはサポートベクトルの個数であり、ｄは特徴ベクトルの次元数である。αｉ，ｂは前記学習により決定される係数である。
【００８２】
上記（８）式のＳＶＭ分類式に使われるパラメータβｊ、ωｊｋ、θｊｋｓは、サポートベクトル間の重み付き加算結果から予め計算され、メモリ（図示省略）に予め記憶される。
【００８３】
なお、第２の実施の形態に係る画像分類装置の他の構成及び作用については、第１の実施の形態と同様であるため、説明を省略する。
【００８４】
ここで、上記（８）式を用いた計算において、使用されるパラメータ｛βｊ｝，｛ωｊｋ｝，｛θｊｋｓ｝に関わる総メモリ量はｄ（ｄ２＋６ｄ）／２に比例するため、近似しない元のＳＶＭモデルと比較して、本実施の形態の手法によるメモリ量の効率化率は２ｎ／（ｄ２＋６ｄ）になる。従って、特徴量の次元数が少ない場合（例えば、１００未満である場合）には、総メモリ量の効率化を実現することができる。また、計算時間についても、メモリ量の効率化と同様に効率化することができる。
【００８５】
このように、三次関数に近似したＲＢＦカーネルに基づくパラメータの少ないＳＶＭ分類式を用いて、テストデータを分類することにより、少ないメモリ量で、かつ、短い計算時間でデータを分類することができる。また、三次ティラー展開により、ＲＢＦカーネルを、三次関数で精度良く近似することができる。
【００８６】
次に、第３の実施の形態について説明する。なお、第３の実施の形態に係る画像分類装置の構成は、第１の実施の形態と同様の構成となるため、同一符号を付して説明を省略する。
【００８７】
第３の実施の形態では、ＲＢＦカーネルの指数関数から生成されるサンプリングデータに対して、フィッティングすることにより、ＲＢＦカーネルを近似した二次多項式関数を求めている点が、第１の実施の形態と主に異なっている。
【００８８】
第３の実施の形態に係る画像分類装置では、カーネル関数近似部２０によって、ＲＢＦカーネルを、以下に説明するように、上記（３）式で表される二次多項式関数で近似する。ここでは、普遍性を損失なく、特徴ベクトルがＬ２ノルムで正規化されている場合を仮定して説明する。
【００８９】
まず、ＲＢＦカーネルの指数部分２γｘＴｚの値域において、上記（２）式の第二項の指数関数から、図４（Ａ）に示すように、等間隔でサンプリングデータを生成し、均一的に分布したサンプリングデータの集合を生成する。
【００９０】
また、ＲＢＦカーネルのパラメータγにどの値が適用されるか未知なので、それぞれの離散値を適用した場合に取りうる範囲で、二次多項式関数に各々近似する。例えば、γに適用される離散値を０．５おきで、［０．５，１，１．５…］とすると、取りうる２γｘＴｚの値域は｛［０，１］，［０，２］，［０，３］…｝となる。各値域（区間）に含まれるサンプリングデータの集合に対して、図４（Ｂ）に示すように、最小二乗法によってフィッティングを行って、残差の二乗和を最小とするような二次多項式関数に近似するように上記（６）式の係数ａ，ｃ，ｑを決定して、パラメータγの各離散値に対する二次多項式関数を得る。なお、上記図４（Ｂ）では、γ＝１とした場合に取りうる区間でのフィッティングの様子を示している。
【００９１】
ＳＶＭ学習部２４は、以下に説明するように、γ、αｉ、ｂを学習して、ＳＶＭ分類式を決定する。
【００９２】
まず、上記（１）式のＳＶＭ分類式ｆ（ｘ）のカーネル関数として、γの離散値毎に近似された二次多項式関数を用いて、γの各離散値に対して、上記の（４）式を最大にするようなαｉを学習すると共に、上記の（５）式を満たすｂを選択して、ＳＶＭ分類式を各々決定する。
【００９３】
次に、各γの離散値に対して決定されたαｉ、ｂを用いたＳＶＭ分類式の各々について、訓練データの特徴ベクトルを適用した場合の計算結果と、訓練データの教師ラベルとを比較する。
【００９４】
各γの離散値に対して得られた比較結果の各々から、最適なＳＶＭ分類式となるときのγを決定し、このγに対して決定されたαｉ、ｂと、このγに対して近似された二次多項式関数と、決定されたγとを用いたＳＶＭ分類式を、学習結果として採用する。
【００９５】
ＳＶＭモデル変換部２６は、上記第１の実施の形態と同様に、学習により得られたＳＶＭ分類式を数式展開して、上記（６）式に示すような数式に変換する。
【００９６】
次に、第３の実施の形態に係るＳＶＭモデル学習処理ルーチンについて、図５を用いて説明する。なお、第１の実施の形態と同様の処理については、同一符号を付して詳細な説明を省略する。
【００９７】
まず、ステップ３００において、ＲＢＦカーネルの指数関数を用いて、等間隔にサンプリングデータを生成し、ステップ３０２において、パラメータγの各離散値に対して、対応する範囲のサンプリングデータに基づいて、ＲＢＦカーネルの指数関数を二次多項式関数で近似する。
【００９８】
そして、ステップ１０２で、訓練データを読み込み、ステップ３０４において、訓練データを、上記ステップ３０２でγの離散値毎に近似した二次多項式関数に適用して学習することにより、ＲＢＦカーネルのパラメータγ及びＳＶＭ分類式の係数を決定し、ＳＶＭ分類式を得る。
【００９９】
次のステップ１０６では、上記ステップ３０４で得られたＳＶＭ分類式を数式展開することにより、上記（６）式で表される数式に変換して、ステップ１０８において、ＳＶＭモデル記憶部２８に、変換したＳＶＭ分類式を記憶させて、ＳＶＭモデル学習処理ルーチンを終了する。
【０１００】
また、撮像装置１２によって所定領域の画像が撮像されると、コンピュータ１４において、第１の実施の形態と同様に、顔画像分類処理ルーチンが実行される。
【０１０１】
このように、二次関数に近似したＲＢＦカーネルに基づくパラメータの少ないＳＶＭ分類式を用いて、テストデータを分類することにより、少ないメモリ量で、かつ、短い計算時間でデータを分類することができる。
【０１０２】
また、サンプリングデータに対するフィッティングにより、ＲＢＦカーネルを、二次関数で精度良く近似することができる。
【０１０３】
次に、第４の実施の形態について説明する。なお、第４の実施の形態に係る画像分類装置の構成は、第１の実施の形態と同様の構成となるため、同一符号を付して説明を省略する。
【０１０４】
第４の実施の形態では、ＲＢＦカーネルを３次多項式関数に近似している点が第３の実施の形態と主に異なっている。
【０１０５】
第４の実施の形態に係る画像分類装置では、カーネル関数近似部２０によって、ＲＢＦカーネルを、以下に説明するように、上記（７）式で表される三次多項式関数で近似する。
【０１０６】
まず、ＲＢＦカーネルの指数部分２γｘＴｚの値域において、上記（２）式の第二項の指数関数から、等間隔でサンプリングデータを生成し、均一的に分布したサンプリングデータの集合を生成する。
【０１０７】
また、ＲＢＦカーネルのパラメータγにそれぞれの離散値を適用した場合に取りうる範囲で、三次多項式関数に各々近似する。γの各離散値を適用した場合に取りうる２γｘＴｚの値域（区間）に含まれるサンプリングデータの集合に対して、最小二乗法によってフィッティングを行って、残差の二乗和を最小とするような三次多項式関数に近似するように上記（７）式の係数ａ，ｃ，ｑ，ｈを各々決定して、パラメータγの各離散値に対する三次多項式関数を各々得る。
【０１０８】
ＳＶＭ学習部２４は、第３の実施の形態と同様に、γ、αｉ、ｂを学習して、ＳＶＭ分類式を決定する。
【０１０９】
なお、第４の実施の形態に係る画像分類装置の他の構成及び作用については、第３の実施の形態と同様であるため、説明を省略する。
【０１１０】
このように、三次関数に近似したＲＢＦカーネルに基づくパラメータの少ないＳＶＭ分類式を用いて、テストデータを分類することにより、少ないメモリ量で、かつ、短い計算時間でデータを分類することができる。
【０１１１】
また、サンプリングデータに対するフィッティングにより、ＲＢＦカーネルを、三次関数で精度良く近似することができる。
【０１１２】
次に、第５の実施の形態について説明する。なお、第５の実施の形態に係る画像分類装置の構成は、第１の実施の形態と同様の構成となるため、同一符号を付して説明を省略する。
【０１１３】
第５の実施の形態では、訓練データから算出される指数部分のヒストグラムに応じて、サンプリングデータを作成し、ＲＢＦカーネルの近似を行っている点が、第３の実施の形態と異なっている。
【０１１４】
第５の実施の形態に係る画像分類装置では、カーネル関数近似部２０によって、ＲＢＦカーネルを、以下に説明するように、上記（３）式で表される二次多項式関数で近似する。
【０１１５】
まず、図６に示すように、訓練データから、特徴ベクトル間の内積値ｘＴｚの経験分布（ヒストグラム）を算出し、算出されたヒストグラムから、指数部分２γｘＴｚの値の経験分布（ヒストグラム）を求める。そして、ＲＢＦカーネルの指数部分２γｘＴｚの値域において、上記（２）式の第二項の指数関数から、図７（Ａ）に示すように、指数部分２γｘＴｚの値のヒストグラムに応じて、サンプリングデータを生成し、サンプリングデータの集合を生成する。
【０１１６】
また、ＲＢＦカーネルのパラメータγにそれぞれの離散値を適用した場合に取りうる範囲で、二次多項式関数に各々近似する。γの各離散値を適用した場合に取りうる２γｘＴｚの値域（区間）に含まれるサンプリングデータの集合に対して、図７（Ｂ）に示すように、最小二乗法によってフィッティングを行って、残差の二乗和を最小とするような二次多項式関数に近似するように上記（６）式の係数ａ，ｃ，ｑを決定して、パラメータγの各離散値に対する二次多項式関数を得る。なお、上記図７（Ｂ）では、γ＝１とした場合に取りうる指数部分の値の区間でのフィッティングの様子を示している。
【０１１７】
ＳＶＭ学習部２４は、第３の実施の形態と同様に、γ、αｉ、ｂを学習して、ＳＶＭ分類式を決定する。
【０１１８】
次に、第５の実施の形態に係るＳＶＭモデル学習処理ルーチンについて図８を用いて説明する。なお、第１の実施の形態及び第３の実施の形態と同様の処理については、同一符号を付して詳細な説明を省略する。
【０１１９】
まず、ステップ１０２において、訓練データを読み込み、ステップ５００において、上記ステップ１０２で読み込んだ訓練データの特徴ベクトル間の内積値を各々演算して、内積値のヒストグラムを算出し、算出した内積値のヒストグラムから指数部分のヒストグラムを生成する。
【０１２０】
そして、ステップ５０２において、ＲＢＦカーネルの指数関数を用いて、上記ステップ５００で生成された指数部分のヒストグラムに応じて、複数のサンプリングデータを生成し、ステップ３０２において、パラメータγの各離散値に対して、対応する範囲のサンプリングデータに基づいて、指数関数で表わされるＲＢＦカーネルを二次多項式関数で各々近似する。
【０１２１】
そして、ステップ３０４において、訓練データを、上記ステップ３０２でγの離散値毎にＲＢＦカーネルを近似した二次多項式関数に適用して学習することにより、ＲＢＦカーネルのパラメータγ及びＳＶＭ分類式の係数を決定し、ＳＶＭ分類式を得る。
【０１２２】
次のステップ１０６では、上記ステップ３０４で得られたＳＶＭ分類式を数式展開することにより、上記（６）式で表される数式に変換して、ステップ１０８において、ＳＶＭモデル記憶部２８に、変換したＳＶＭ分類式を記憶して、ＳＶＭモデル学習処理ルーチンを終了する。
【０１２３】
また、撮像装置１２によって所定領域の画像が撮像されると、コンピュータ１４において、第１の実施の形態と同様に、顔画像分類処理ルーチンが実行される。
【０１２４】
このように、二次関数に近似したＲＢＦカーネルに基づくパラメータの少ないＳＶＭ分類式を用いて、テストデータを分類することにより、少ないメモリ量で、かつ、短い計算時間でデータを分類することができる。
【０１２５】
また、経験分布に応じたサンプリングデータに対するフィッティングにより、ＲＢＦカーネルを、二次関数で精度良く近似することができる。
【０１２６】
次に、第６の実施の形態について説明する。なお、第６の実施の形態に係る画像分類装置の構成は、第１の実施の形態と同様の構成となるため、同一符号を付して説明を省略する。
【０１２７】
第６の実施の形態では、ＲＢＦカーネルを３次多項式関数に近似している点が第５の実施の形態と主に異なっている。
【０１２８】
第６の実施の形態に係る画像分類装置では、カーネル関数近似部２０によって、ＲＢＦカーネルを、以下に説明するように、上記（７）式で表される三次多項式関数で近似する。
【０１２９】
まず、訓練データから内積値ｘＴｚの経験分布（ヒストグラム）を算出し、算出されたヒストグラムから、指数部分２γｘＴｚの値の経験分布（ヒストグラム）を求める。そして、ＲＢＦカーネルの指数部分２γｘＴｚの値域において、上記（２）式の第二項の指数関数から、指数部分２γｘＴｚの値の経験分布に応じて、複数のサンプリングデータを生成し、サンプリングデータの集合を生成する。
【０１３０】
また、ＲＢＦカーネルのパラメータγにそれぞれの離散値を適用した場合に取りうる範囲で、三次多項式関数に各々近似する。γの各離散値を適用した場合に取りうる２γｘＴｚの値域（区間）に含まれるサンプリングデータの集合に対して、最小二乗法によってフィッティングを行って、残差の二乗和を最小とするような三次多項式関数に近似するように上記（７）式の係数ａ，ｃ，ｑ，ｈを決定して、パラメータγの各離散値に対する三次多項式関数を得る。
【０１３１】
ＳＶＭ学習部２４は、第３の実施の形態と同様に、γ、αｉ、ｂを学習して、ＳＶＭ分類式を決定する。
【０１３２】
なお、第６の実施の形態に係る画像分類装置の他の構成及び作用については、第５の実施の形態と同様であるため、説明を省略する。
【０１３３】
このように、三次関数に近似したＲＢＦカーネルに基づくパラメータの少ないＳＶＭ分類式を用いて、テストデータを分類することにより、少ないメモリ量で、かつ、短い計算時間でデータを分類することができる。
【０１３４】
また、経験分布に応じたサンプリングデータに対するフィッティングにより、ＲＢＦカーネルを、三次関数で精度良く近似することができる。
【０１３５】
次に、特徴量の次元数とサポートベクトルの数とを変化させた場合の、上記の実施の形態に係る近似したＲＢＦカーネルを用いたＳＶＭによる分類と、従来の厳密なＲＢＦカーネルを用いたＳＶＭによる分類とにおけるメモリ量及び計算時間を比較した結果について説明する。
【０１３６】
図９に示すように、厳密なＲＢＦカーネルを用いたＳＶＭによる分類におけるメモリ量及び計算時間に比べて、上記の実施の形態で説明した、二次多項式関数又は三次多項式関数で近似したＲＢＦカーネルを用いたＳＶＭによる分類では、計算時間とメモリ量とが低減されることがわかる。
【０１３７】
また、歩行者識別実験の結果について説明する。撮像画像から抽出された３３６次元の画像特徴量からなる特徴ベクトルをテストデータとし、ＳＶＭ分類器を利用して画像が歩行者を表わしているかどうかを分類する。上記の実施の形態で説明したように、ＲＢＦカーネルを二次多項式関数で近似したＳＶＭによる分類を行った。また、比較例として、元の厳密なＲＢＦカーネル（サポートベクトルの数＝６６８５）を用いたＳＶＭによる分類を行った。
【０１３８】
図１０に示すように、ＲＢＦカーネルを二次多項式関数で近似した場合には、元の厳密なＲＢＦカーネルを用いた場合に比べて、計算時間を３０倍以上削減でき、メモリ量を約４０倍削減することができた。また、ＲＢＦカーネルを二次多項式関数で近似した場合には、厳密なＲＢＦカーネルを用いた場合に近い分類精度が得られた。
【０１３９】
上記の実施の形態では、撮像画像が顔画像であるか否かを分類する場合を例に説明したが、これに限定されるものではなく、他のテストデータを他の分類に分けるデータ分類装置に本発明を適用してもよい。
【０１４０】
また、本発明のプログラムを記憶媒体に格納して提供するようにしてもよい。
【図面の簡単な説明】
【０１４１】
【図１】本発明の第１の実施の形態に係る画像分類装置を示すブロック図である。
【図２】本発明の第１の実施の形態に係る画像識別装置におけるＳＶＭモデル学習処理ルーチンの内容を示すフローチャートである。
【図３】本発明の第１の実施の形態に係る画像識別装置における顔画像分類処理ルーチンの内容を示すフローチャートである。
【図４】（Ａ）均一的に生成したサンプリングデータの集合を示すグラフ、及び（Ｂ）サンプリングデータに対して近似した二次関数を示すグラフである。
【図５】本発明の第３の実施の形態に係る画像識別装置におけるＳＶＭモデル学習処理ルーチンの内容を示すフローチャートである。
【図６】訓練データの特徴ベクトル間の内積値の経験分布を示すグラフである。
【図７】（Ａ）経験分布に応じて生成したサンプリングデータの集合を示すグラフ、及び（Ｂ）サンプリングデータに対して近似した二次関数を示すグラフである。
【図８】本発明の第５の実施の形態に係る画像識別装置におけるＳＶＭモデル学習処理ルーチンの内容を示すフローチャートである。
【図９】特徴ベクトルの特徴量の次元数と、計算時間及びメモリ量との関係を示すグラフである。
【図１０】厳密なＲＢＦカーネルを用いた場合、及び各近似手法で近似したＲＢＦカーネルを用いた場合における計算時間及びメモリ量を示す図である。
【符号の説明】
【０１４２】
１０   画像分類装置
１４   コンピュータ
２０   カーネル関数近似部
２２   訓練データ記憶部
２４   ＳＶＭ学習部
２６   ＳＶＭモデル変換部
２８   ＳＶＭモデル記憶部
３２   特徴ベクトル抽出部
３４   ＳＶＭ分類部
【図１】
2010086466.tif 000019
【図２】
2010086466.tif 000020
【図３】
2010086466.tif 000021
【図４】
2010086466.tif 000022
【図５】
2010086466.tif 000023
【図６】
2010086466.tif 000024
【図７】
2010086466.tif 000025
【図８】
2010086466.tif 000026
【図９】
2010086466.tif 000027
【図１０】
2010086466.tif 000028