(57)【要約】【課題】識別処理の速度を向上させる。【解決手段】  識別対象と、サポートベクタとの関係に応じた関数値を算出し、各サポートベクタに対する関数値を積算した積算値を算出し、積算値と閾値との比較に基づいて、識別対象が特定のカテゴリに属することを識別する、カテゴリ識別方法であって、積算値の算出は、関数値が正負のいずれか一方の符号となるものを積算し、その後、前記関数値が他方の符号となるものを積算することによって行い、積算される関数値が他方の符号である場合に、そのときの積算値と、残りのサポートベクタに対する関数値を積算した値の予測値と、閾値と、に基づいて、識別対象が特定のカテゴリに属することを識別する。【選択図】図２０
2009080678.tif 000002
【特許請求の範囲】
【請求項１】
識別対象と、サポートベクタとの関係に応じた関数値を算出し、
各サポートベクタに対する前記関数値を積算した積算値を算出し、
前記積算値と閾値との比較に基づいて、前記識別対象が特定のカテゴリに属することを識別する、
カテゴリ識別方法であって、
前記積算値の算出は、前記関数値が正負のいずれか一方の符号となるものを積算し、その後、前記関数値が他方の符号となるものを積算することによって行い、
積算される前記関数値が前記他方の符号である場合に、そのときの前記積算値と、残りの前記サポートベクタに対する前記関数値を積算した値の予測値と、前記閾値と、に基づいて、前記識別対象が前記特定のカテゴリに属することを識別する、
ことを特徴とするカテゴリ識別方法。
【請求項２】
請求項１に記載のカテゴリ識別方法であって、
前記他方の符号は負であり、
前記予測値は、残りの前記サポートベクタに対する前記関数値を積算した値として予測される最小値である、
ことを特徴とするカテゴリ識別方法。
【請求項３】
請求項２に記載のカテゴリ識別方法であって、
前記積算値と前記予測値との加算値が前記閾値よりも大きい場合、残りの前記サポートベクタに対する前記関数値を積算することなく、前記識別対象が前記特定のカテゴリに属すると識別する、
ことを特徴とするカテゴリ識別方法。
【請求項４】
請求項１に記載のカテゴリ識別方法であって、
前記他方の符号は正であり、
前記予測値は、残りの前記サポートベクタに対する前記関数値を積算した値として予測される最大値である、
ことを特徴とするカテゴリ識別方法。
【請求項５】
請求項４に記載のカテゴリ識別方法であって、
前記積算値と前記予測値との加算値が前記閾値よりも小さい場合、残りの前記サポートベクタに対する前記関数値を積算することなく、前記識別対象が前記特定のカテゴリに属すると識別する、
ことを特徴とするカテゴリ識別方法。
【請求項６】
請求項１〜５の何れかに記載のカテゴリ識別方法であって、
前記予測値は、前記関数値が前記他方の符号となる前記サポートベクタ毎にそれぞれ求められている、
ことを特徴とするカテゴリ識別方法。
【請求項７】
請求項１〜６の何れかに記載のカテゴリ識別方法であって、
残りの前記サポートベクタのうちの一つを前記識別対象に定めた場合の、残りの前記サポートベクタに対する前記関数値を積算した仮予測値を算出し、
残りの各サポートベクタのそれぞれを前記識別対象に定めた場合について算出された前記仮予測値の最小値に基づいて前記予測値を決定する、
ことを特徴とするカテゴリ識別方法。
【請求項８】
カテゴリ識別装置に、
識別対象と、サポートベクタとの関係に応じた関数値を算出させ、
各サポートベクタに対する前記関数値を積算した積算値を算出させ、
前記積算値と閾値との比較に基づいて、前記識別対象が特定のカテゴリに属することを識別させる、
プログラムであって、
前記カテゴリ識別装置に、
前記積算値の算出を、前記関数値が一方の符号となるものを積算し、その後、前記関数値が他方の符号となるものを積算することによって行わせ、
積算される前記関数値が前記他方の符号である場合に、そのときの前記積算値と、残りの前記サポートベクタに対する前記関数値を積算した値の予測値との加算値と、前記閾値と、に基づいて、前記識別対象が前記特定のカテゴリに属することを識別させる、
ことを特徴とするプログラム。
【請求項９】
識別対象と、サポートベクタとの関係に応じた関数値を算出し、
各サポートベクタに対する前記関数値を積算した積算値を算出し、
前記積算値と閾値との比較に基づいて、前記識別対象が特定のカテゴリに属しないことを識別する、
カテゴリ識別方法であって、
前記積算値の算出は、前記関数値が正負のいずれか一方の符号となるものを積算し、その後、前記関数値が他方の符号となるものを積算することによって行い、
積算される前記関数値が前記他方の符号である場合に、そのときの前記積算値と、残りの前記サポートベクタに対する前記関数値を積算した値の予測値と、前記閾値と、に基づいて、前記識別対象が前記特定のカテゴリに属しないことを識別する、
ことを特徴とするカテゴリ識別方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カテゴリ識別方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、画像のシーン等のカテゴリの識別方法として、サポートベクタマシンを用いた識別方法が知られている（例えば特許文献１参照）。サポートベクタマシンでは、学習用サンプルを用いた学習により、識別境界に寄与するサポートベクタが定められる。そして、識別対象と各サポートベクタとの関係に基づいた演算によって判別式が算出される。この判別式の値と閾値との比較によって、識別対象が特定のカテゴリに属するか否かの識別が行われる。
【特許文献１】特開２００５−１３４９６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
サポートベクタマシンを用いた識別処理では、学習用サンプルが多いほど、すなわちサポートベクタの数が多いほど、識別の精度を高めることができる。ところで、後述するようにサポートベクタマシンによる判別式の演算時間はサポートベクタの数に比例する。つまり、識別精度を高めるためにサポートベクタの数を多くすると、判別式の演算に要する時間が増加し、識別処理の速度が低下することになる。このように、従来、識別処理の速度を向上させることが困難であるという問題点があった。
【０００４】
本発明は、上記のような課題に鑑みてなされたものであり、その目的は、識別処理の速度を向上させることにある。
【課題を解決するための手段】
【０００５】
前記目的を達成するための主たる発明は、識別対象と、サポートベクタとの関係に応じた関数値を算出し、各サポートベクタに対する前記関数値を積算した積算値を算出し、前記積算値と閾値との比較に基づいて、前記識別対象が特定のカテゴリに属することを識別する、カテゴリ識別方法であって、前記積算値の算出は、前記関数値が正負のいずれか一方の符号となるものを積算し、その後、前記関数値が他方の符号となるものを積算することによって行い、積算される前記関数値が前記他方の符号である場合に、そのときの前記積算値と、残りの前記サポートベクタに対する前記関数値を積算した値の予測値と、前記閾値と、に基づいて、前記識別対象が前記特定のカテゴリに属することを識別する、ことを特徴とする。
【０００６】
本発明の他の特徴は、本明細書、及び添付図面の記載により、明らかにする。
【発明を実施するための最良の形態】
【０００７】
＝＝＝開示の概要＝＝＝
本明細書及び添付図面の記載により、少なくとも以下の事項が明らかになる。
【０００８】
すなわち、識別対象と、サポートベクタとの関係に応じた関数値を算出し、各サポートベクタに対する前記関数値を積算した積算値を算出し、前記積算値と閾値との比較に基づいて、前記識別対象が特定のカテゴリに属することを識別する、カテゴリ識別方法であって、前記積算値の算出は、前記関数値が正負のいずれか一方の符号となるものを積算し、その後、前記関数値が他方の符号となるものを積算することによって行い、積算される前記関数値が前記他方の符号である場合に、そのときの前記積算値と、残りの前記サポートベクタに対する前記関数値を積算した値の予測値と、前記閾値と、に基づいて、前記識別対象が前記特定のカテゴリに属することを識別するカテゴリ識別方法が明らかになる。  
このようなカテゴリ識別方法によれば、識別処理の速度を向上させることができる。
【０００９】
かかるカテゴリ識別方法であって、前記他方の符号は負であり、前記予測値は、残りの前記サポートベクタに対する前記関数値を積算した値として予測される最小値であることが望ましい。  
このようなカテゴリ識別方法によれば、残りの関数値が負の値のみの場合に、予測値が予測されるうちの最小値であると、識別対象が特定のカテゴリに属していることの識別をより速く行うことができる。よって、識別処理の速度をより速めることができる。
【００１０】
かかるカテゴリ識別方法であって、前記積算値と前記予測値との加算値が前記閾値よりも大きい場合、残りの前記サポートベクタに対する前記関数値を積算することなく、前記識別対象が前記特定のカテゴリに属すると識別することが望ましい。  
このようなカテゴリ識別方法によれば、最終的な積算値が閾値より大きくなると演算の途中で判断できるので、演算を途中で打ち切ることができる。よって識別速度を向上させることができる。
【００１１】
かかるカテゴリ識別方法であって、前記他方の符号は正であり、前記予測値は、残りの前記サポートベクタに対する前記関数値を積算した値として予測される最大値であることが望ましい。  
このようなカテゴリ識別方法によれば、残りの関数値が正の値のみの場合に、予測値が予測されるうちの最大値であると、識別対象が特定のカテゴリに属していることの識別をより速く行うことができる。よって、識別処理の速度をより速めることができる。
【００１２】
かかるカテゴリ識別方法であって、前記積算値と前記予測値との加算値が前記閾値よりも小さい場合、残りの前記サポートベクタに対する前記関数値を積算することなく、前記識別対象が前記特定のカテゴリに属すると識別することが望ましい。  
このようなカテゴリ識別方法によれば、最終的な積算値が閾値より小さくなると演算の途中で判断できるので、演算を途中で打ち切ることができる。よって識別速度を向上させることができる。
【００１３】
かかるカテゴリ識別方法であって、前記予測値は、前記関数値が前記他方の符号となる前記サポートベクタ毎にそれぞれ求められていることが望ましい。  
このようなカテゴリ識別方法によれば、各サポートベクタに対する演算毎に比較を行うことができるので、識別処理の精度を高めることができる。
【００１４】
かかるカテゴリ識別方法であって、残りの前記サポートベクタのうちの一つを前記識別対象に定めた場合の、残りの前記サポートベクタに対する前記関数値を積算した仮予測値を算出し、残りの各サポートベクタのそれぞれを前記識別対象に定めた場合について算出された前記仮予測値の最小値に基づいて前記予測値を決定する、ことが望ましい。  
このようなカテゴリ識別方法によれば、サポートベクタ毎に対する予測値を、予め容易に算出しておくことができる。
【００１５】
また、カテゴリ識別装置に、識別対象と、サポートベクタとの関係に応じた関数値を算出させ、各サポートベクタに対する前記関数値を積算した積算値を算出させ、前記積算値と閾値との比較に基づいて、前記識別対象が特定のカテゴリに属することを識別させる、プログラムであって、前記カテゴリ識別装置に、前記積算値の算出を、前記関数値が一方の符号となるものを積算し、その後、前記関数値が他方の符号となるものを積算することによって行わせ、積算される前記関数値が前記他方の符号である場合に、そのときの前記積算値と、残りの前記サポートベクタに対する前記関数値を積算した値の予測値との加算値と、前記閾値と、に基づいて、前記識別対象が前記特定のカテゴリに属することを識別させる、ことを特徴とするプログラムが明らかになる。
【００１６】
また、識別対象と、サポートベクタとの関係に応じた関数値を算出し、各サポートベクタに対する前記関数値を積算した積算値を算出し、前記積算値と閾値との比較に基づいて、前記識別対象が特定のカテゴリに属しないことを識別する、カテゴリ識別方法であって、前記積算値の算出は、前記関数値が正負のいずれか一方の符号となるものを積算し、その後、前記関数値が他方の符号となるものを積算することによって行い、積算される前記関数値が前記他方の符号である場合に、そのときの前記積算値と、残りの前記サポートベクタに対する前記関数値を積算した値の予測値と、前記閾値と、に基づいて、前記識別対象が前記特定のカテゴリに属しないことを識別する、ことを特徴とするカテゴリ識別方法が明らかになる。  
このようなカテゴリ識別方法によれば、識別処理の速度を向上させることができる。
【００１７】
＝＝＝全体構成＝＝＝
図１は、画像処理システムの説明図である。この画像処理システムは、デジタルスチルカメラ２と、プリンタ４とを備える。
【００１８】
デジタルスチルカメラ２は、被写体をデジタルデバイス（ＣＣＤなど）に結像させることによりデジタル画像を取得するカメラである。デジタルスチルカメラ２には、モード設定ダイヤル２Ａが設けられている。ユーザは、モード設定ダイヤル２Ａによって、撮影条件に応じた撮影モードを設定することができる。例えば、モード設定ダイヤル２Ａによって、「夜景」モードが設定されると、デジタルスチルカメラ２は、シャッター速度を遅くしたり、ＩＳＯ感度を高くしたりして、夜景撮影に適した撮影条件にて撮影を行う。
【００１９】
デジタルスチルカメラ２は、ファイルフォーマット規格に準拠して、撮影により生成した画像ファイルをメモリカード６に保存する。画像ファイルには、撮影した画像のデジタルデータ（画像データ）だけでなく、撮影時の撮影条件（撮影データ）等の付加データも保存される。
【００２０】
プリンタ４は、画像データの示す画像を紙に印刷する印刷装置である。プリンタ４には、メモリカード６を挿入するスロット２１が設けられている。ユーザは、デジタルスチルカメラ２で撮影した後、デジタルスチルカメラ２からメモリカード６を取り出し、スロット２１にメモリカード６を挿入することができる。
【００２１】
図２はプリンタ４の構成の説明図である。プリンタ４は、印刷機構１０と、この印刷機構１０を制御するプリンタ側コントローラ２０とを備える。印刷機構１０は、インクを吐出するヘッド１１と、ヘッド１１を制御するヘッド制御部１２と、紙を搬送するため等のモータ１３と、センサ１４とを有する。プリンタ側コントローラ２０は、メモリカード６からデータを送受信するためのメモリ用スロット２１と、ＣＰＵ２２と、メモリ２３と、モータ１３を制御する制御ユニット２４と、駆動信号（駆動波形）を生成する駆動信号生成部２５とを有する。
【００２２】
メモリカード６がスロット２１に挿入されると、プリンタ側コントローラ２０は、メモリカード６に保存されている画像ファイルを読み出してメモリ２３に記憶する。そして、プリンタ側コントローラ２０は、画像ファイルの画像データを印刷機構１０で印刷するための印刷データに変換し、印刷データに基づいて印刷機構１０を制御し、紙に画像を印刷する。この一連の動作は、「ダイレクトプリント」と呼ばれている。
【００２３】
なお、「ダイレクトプリント」は、メモリカード６をスロット２１に挿入することによって行われるだけでなく、デジタルスチルカメラ２とプリンタ４とをケーブル（不図示）で接続することによっても可能である。
【００２４】
＝＝＝自動補正機能の概要＝＝＝
「人物」の写真を印刷するときには、肌色をきれいにしたいという要求がある。また、「風景」の写真を印刷するときには、空の青色を強調し、木や草の緑色を強調したいという要求がある。そこで、本実施形態のプリンタ４は、画像ファイルを分析して自動的に適した補正処理を行う自動補正機能を備えている。
【００２５】
図３は、プリンタ４の自動補正機能の説明図である。図中のプリンタ側コントローラ２０の各要素は、ソフトウェアとハードウェアによって実現される。  
記憶部３１は、メモリ２３の一部の領域及びＣＰＵ２２によって実現される。メモリカード６から読み出された画像ファイルの画像データは、記憶部３１の画像記憶部３１Ａに展開される。また、プリンタ側コントローラ２０の各要素の演算結果は、記憶部３１の結果記憶部３１Ｂに格納される。
【００２６】
顔識別部３２は、ＣＰＵ２２と、メモリ２３に記憶された顔識別プログラムとによって実現される。顔識別部３２は、画像記憶部３１Ａに記憶された画像データを分析し、顔の有無を確認する。顔識別部３２によって顔が有ると識別された場合、識別対象となる画像が「人物」のシーンに属すると識別される。この場合、シーン識別部３３によるシーン識別処理は行われない。顔識別部３２による顔識別処理は、既に広く行われている処理と同様なので、詳細な説明は省略する。
【００２７】
シーン識別部３３は、ＣＰＵ２２と、メモリ２３に記憶されたシーン識別プログラムとによって実現される。シーン識別部３３は、画像記憶部３１Ａに記憶された画像ファイルを分析し、画像データの示す画像のシーンを識別する。シーン識別部３３によるシーン識別処理は、顔識別部３２によって顔がない（「人物」のシーンでない）と識別された場合に行われる。後述するように、シーン識別部３３は、識別対象となる画像が「風景」、「夕景」、「夜景」、「花」、「紅葉」、「その他」のいずれの画像であるかを識別する。
【００２８】
図４は、画像のシーンと補正内容との関係の説明図である。  
画像補正部３４は、ＣＰＵ２２と、メモリ２３に記憶された画像補正プログラムとによって実現される。画像補正部３４は、記憶部３１の結果記憶部３１Ｂ（後述）に記憶されている識別結果（顔識別部３２やシーン識別部３３の識別結果）に基づいて、画像記憶部３１Ａの画像データを補正する。例えば、シーン識別部３３の識別結果が「風景」である場合には、青色を強調し、緑色を強調するような補正が行われる。なお、画像補正部３４は、シーンの識別結果だけでなく、画像ファイルの撮影データの内容も反映して、画像データを補正しても良い。例えば、露出補正がマイナスの場合、暗い雰囲気の画像を明るくしないように画像データを補正してもよい。
【００２９】
プリンタ制御部３５は、ＣＰＵ２２、駆動信号生成部２５、制御ユニット２４及びメモリ２３に記憶されたプリンタ制御プログラムによって、実現される。プリンタ制御部３５は、補正後の画像データを印刷データに変換し、印刷機構１０に画像を印刷させる。
【００３０】
＝＝＝シーン識別処理＝＝＝
図５は、シーン識別部３３によるシーン識別処理のフロー図である。図６は、シーン識別部３３の機能の説明図である。図中のシーン識別部３３の各要素は、ソフトウェアとハードウェアによって実現される。シーン識別部３３は、図６に示す特徴量取得部４０と、全体識別器５０と、部分識別器６０と、統合識別器７０とを備えている。
【００３１】
最初に、特徴量取得部４０が、記憶部３１の画像記憶部３１Ａに展開された画像データを分析し、部分特徴量を取得する（Ｓ１０１）。具体的には、特徴量取得部４０は、画像データを８×８の６４ブロックに分割し、各ブロックの色平均と分散を算出し、この色平均と分散を部分特徴量として取得する。なお、ここでは各画素はＹＣＣ色空間における階調値のデータをもっており、各ブロックごとに、Ｙの平均値、Ｃｂの平均値及びＣｒの平均値がそれぞれ算出され、Ｙの分散、Ｃｂの分散及びＣｒの分散がそれぞれ算出される。つまり、各ブロックごとに３つの色平均と、３つの分散が部分特徴量として算出される。これらの色平均や分散は、各ブロックにおける部分画像の特徴を示すものである。なお、ＲＧＢ色空間における平均値や分散を算出してもよい。
【００３２】
ブロックごとに色平均と分散が算出されるので、特徴量取得部４０は、画像記憶部３１Ａには画像データのすべてを展開せずに、ブロック分の画像データをブロック順に展開する。このため、画像記憶部３１Ａは、必ずしも画像ファイルの全てを展開できるだけの容量を備えていなくとも良い。
【００３３】
次に、特徴量取得部４０が、全体特徴量を取得する（Ｓ１０２）。具体的には、特徴量取得部４０は、画像データの全体の色平均、分散、重心及び撮影情報を全体特徴量として取得する。なお、これらの色平均や分散は、画像の全体の特徴を示すものである。画像データ全体の色平均、分散及び重心は、先に算出した部分特徴量を用いて算出される。このため、全体特徴量を算出する際に画像データを展開する必要がないので、全体特徴量の算出速度が速くなる、全体識別処理（後述）は、部分識別処理（後述）よりも先に行われるにも関わらず、全体特徴量が部分特徴量よりも後に求められるのは、このように算出速度を速めるためである。なお、撮影情報は、画像ファイルの撮影データから抽出される。具体的には、絞り値、シャッター速度、フラッシュ発光の有無などの情報が全体特徴量として用いられる。但し、画像ファイルの撮影データの全てが全体特徴量として用いられるわけではない。
【００３４】
次に、全体識別器５０が、全体識別処理を行う（Ｓ１０３）。全体識別処理とは、全体特徴量に基づいて、画像データの示す画像のシーンを識別（推定）する処理である。全体識別処理の詳細については、後述する。
【００３５】
全体識別処理によってシーンの識別が出来る場合（Ｓ１０４でＹＥＳ）、シーン識別部３３は、記憶部３１の結果記憶部３１Ｂに識別結果を記憶することによってシーンを決定し（Ｓ１０９）、シーン識別処理を終了する。つまり、全体識別処理によってシーンの識別ができた場合（Ｓ１０４でＹＥＳ）、部分識別処理や統合識別処理が省略される。これによりシーン識別処理の速度が速くなる。  
全体識別処理によってシーンの識別ができない場合、（Ｓ１０４でＮＯ）、次に部分識別器６０が、部分識別処理を行う（Ｓ１０５）。部分識別処理とは、部分特徴量に基づいて、画像データの示す画像全体のシーンを識別する処理である。部分識別処理の詳細については後述する。
【００３６】
部分識別処理によってシーンの識別ができる場合（Ｓ１０６でＹＥＳ）、シーン識別部３３は、記憶部３１の結果記憶部３１Ｂに識別結果を記憶することによってシーンを決定し（Ｓ１０９）、シーン識別処理を終了する。つまり、部分識別処理によってシーンの識別ができた場合（Ｓ１０６でＹＥＳ）、統合識別処理が省略される。これにより、シーン識別処理の速度が速くなる。  
部分識別処理によってシーンの識別ができない場合（Ｓ１０６でＮＯ）、次に統合識別器７０が、統合識別処理を行う（Ｓ１０７）。統合識別処理の詳細については後述する。
【００３７】
統合識別処理によってシーンの識別ができる場合（Ｓ１０８でＹＥＳ）、シーン識別部３３は、記憶部３１の結果記憶部３１Ｂに識別結果を記憶することによってシーンを決定し（Ｓ１０９）、シーン識別処理を終了する。一方、統合識別処理によってシーンの識別ができない場合（Ｓ１０８でＮＯ）、画像データの示す画像が「その他」のシーン（「風景」、「夕景」、「夜景」、「花」又は「紅葉」以外のシーン）である旨の識別結果を結果記憶部３１Ｂに記憶する（Ｓ１１０）。
【００３８】
＝＝＝全体識別処理＝＝＝
図７は、全体識別処理のフロー図である。ここでは、図６も参照しながら全体識別処理について説明する。
【００３９】
まず、全体識別器５０は、複数のサブ識別器５１の中から１つのサブ識別器５１を選択する（Ｓ２０１）。全体識別器５０には、識別対象となる画像（識別対象画像）が特定のシーンに属するか否かを識別するサブ識別器５１が５つ設けられている。５つのサブ識別器５１は、それぞれ風景、夕景、夜景、花、紅葉のシーンを識別する。ここでは、全体識別器５０は、風景→夕景→夜景→花→紅葉の順に、サブ識別器５１を選択する。このため、最初には、識別対象画像が風景のシーンに属するか否かを識別するサブ識別器５１（風景識別器５１Ｌ）が選択される。
【００４０】
次に、全体識別器５０は、識別対象テーブルを参照し、選択したサブ識別器５１を用いてシーンを識別すべきか否かを判断する（Ｓ２０２）。
【００４１】
図８は、識別対象テーブルの説明図である。この識別対象テーブルは、記憶部３１の結果記憶部３１Ｂに記憶される。識別対象テーブルは、最初の段階では全ての欄がゼロに設定される。Ｓ２０２の処理では、「否定」欄が参照され、ゼロであればＹＥＳと判断され、１であればＮＯと判断される。ここでは、全体識別器５０は、識別対象テーブルにおける「風景」欄の「否定」欄を参照し、ゼロであるのでＹＥＳ（Ｓ２０２でＹＥＳ）と判断する。
【００４２】
次に、サブ識別器５１は、識別対象画像が特定のシーンに属すか否かを識別する。具体的には、サブ識別器５１は、全体特徴量に基づいて、識別対象画像が特定のシーンに属する確率（確信度）を算出する（Ｓ２０３）。本実施形態のサブ識別器５１には、サポートベクタマシン（ＳＶＭ）による識別手法が用いられている。なお、サポートベクタマシンについては、後述する。識別対象画像が特定のシーンに属する場合、サブ識別器５１で算出される判別式は、プラスの値になりやすい。識別対象画像が特定のシーンに属しない場合、サブ識別器５１で算出される判別式は、マイナスの値になりやすい。また、判別式は、識別対象画像が特定のシーンに属する確信度が高いほど、大きな値になる。このため、判別式の値が大きければ、識別対象画像が特定のシーンに属する確率が高くなり、判別式の値が小さければ、識別対象画像が特定のシーンに属する確率が低くなる。
【００４３】
次に、サブ識別器５１は、判別式の値が肯定閾値より大きいか否かを判断する（Ｓ２０４）。判別式の値が肯定閾値よりも大きければ、サブ識別器５１は、識別対象画像が特定のシーンに属すると判断することになる。
【００４４】
図９は、全体識別処理の肯定閾値の説明図である。同図において、横軸は肯定閾値を示し、縦軸はRecall又はPrecisionの確率を示す。図１０は、RecallとPrecisionの説明図である。判別式の値が肯定閾値以上の場合には識別結果はPositiveであり、判別式の値が肯定閾値以上でない場合には識別結果はNegativeである。
【００４５】
Recallは、再現率や検出率を示すものである。Recallは、特定のシーンの画像の総数に対する、特定のシーンに属すると識別された画像の割合である。言い換えると、Recallは、特定のシーンの画像をサブ識別器５１に識別させたときに、サブ識別器５１がPositiveと識別する確率（特定のシーンの画像が特定のシーンに属すると識別される確率）を示すものである。例えば、風景画像を風景識別器５１Ｌに識別させたときに、風景のシーンに属すると風景識別器５１Ｌが識別する確率を示すものである。
【００４６】
Precisionは、正答率や正解率を示すものである。Precisionは、Positiveと識別された画像の総数に対する、特定のシーンの画像の数の割合である。言い換えると、Precisionは、特定のシーンを識別するサブ識別器５１がPositiveと判断したときに、識別対象の画像が特定のシーンである確率を示すものである。例えば、風景識別器５１Ｌが風景のシーンに属すると識別したときに、その識別した画像が本当に風景画像である確率を示すものである。
【００４７】
図９から分かる通り、肯定閾値を大きくするほど、Precisionが大きくなる。このため、肯定閾値を大きくするほど、例えば風景のシーンに属すると識別された画像が風景画像である確率が高くなる。つまり、肯定閾値を大きくするほど、誤識別の確率が低くなる。
【００４８】
一方、肯定閾値を大きくするほど、Recallは小さくなる。この結果、例えば、風景画像を風景識別器５１Ｌで識別した場合であっても、風景のシーンに属すると正しく識別しにくくなる。ところで、識別対象画像が風景のシーンに属すると識別できれば（Ｓ２０４でＹＥＳ）、残りの別のシーン（夕景など）の識別を行わないようにして全体識別処理の速度を速めている。このため、肯定閾値を大きくするほど、全体識別処理の速度は低下することになる。また、全体識別処理によってシーンが識別できれば部分識別処理を行わないようにしてシーン識別処理の速度を速めているため（Ｓ１０４）、肯定閾値を大きくするほど、シーン識別処理の速度は低下することになる。
【００４９】
つまり、肯定閾値が小さすぎると誤識別の確率が高くなり、大きすぎると処理速度が低下することになる。本実施形態では、正答率（Precision）を９７．５％に設定するため、風景の肯定閾値は１．２７に設定されている。
【００５０】
判別式の値が肯定閾値より大きければ（Ｓ２０４でＹＥＳ）、サブ識別器５１は、識別対象画像が特定のシーンに属すると判断し、肯定フラグを立てる（Ｓ２０５）。「肯定フラグを立てる」とは、図８の「肯定」欄を１にすることである。この場合、全体識別器５０は、次のサブ識別器５１による識別を行わずに全体識別処理を終了する。例えば、風景画像であると識別できれば、夕景などの識別を行わずに、全体識別処理を終了する。この場合、次のサブ識別器５１による識別を省略しているので、全体識別処理の速度を速めることができる。  
判別式の値が肯定閾値より大きくなければ（Ｓ２０４でＮＯ）、サブ識別器５１は、識別対象画像が特定のシーンに属すると判断できず、次のＳ２０６の処理を行う。
【００５１】
次にサブ識別器５１は、判別式の値と否定閾値とを比較する（Ｓ２０６）。これにより、サブ識別器５１は、識別対象画像が所定のシーンに属しないかを判断する。このような判断としては、２種類ある。第１に、ある特定のシーンのサブ識別器５１の判別式の値が第１否定閾値よりも小さければ、その特定のシーンに識別対象画像が属しないと判断されることになる。例えば、風景識別器５１Ｌの判別式の値が第１否定閾値よりも小さければ、識別対象画像が風景のシーンに属しないと判断されることになる。第２に、ある特定のシーンのサブ識別器５１の判別式の値が第２否定閾値よりも大きければ、その特定のシーンとは別のシーンに識別対象画像が属しないと判断されることになる。例えば、風景識別器５１Ｌの判別式の値が第２否定閾値よりも大きければ、識別対象画像が夜景のシーンに属しないと判断されることになる。
【００５２】
図１１は、第１否定閾値の説明図である。同図において、横軸は第１否定閾値を示し、縦軸は確率を示す。グラフの太線は、True Negative Recallのグラフであり、風景画像以外の画像を風景画像ではないと正しく識別する確率を示している。グラフの細線は、False Negative Recallのグラフであり、風景画像なのに風景画像ではないと誤って識別する確率を示している。
【００５３】
図１１から分かる通り、第１否定閾値を小さくするほど、False Negative Recallが小さくなる。このため、第１否定閾値を小さくするほど、例えば風景のシーンに属しないと識別された画像が風景画像である確率が低くなる。つまり、誤識別の確率が低くなる。
【００５４】
一方、第１否定閾値を小さくするほど、True Negative Recallも小さくなる。この結果、風景画像以外の画像を風景画像ではないと識別しにくくなる。その一方、識別対象画像が特定のシーンでないことを識別できれば、部分識別処理の際に、その特定のシーンのサブ部分識別器６１による処理を省略してシーン識別処理速度を速めている（後述、図１４のＳ３０２）。このため、第１否定閾値を小さくするほど、シーン識別処理速度は低下する。
【００５５】
つまり、第１否定閾値が大きすぎると誤識別の確率が高くなり、小さすぎると処理速度が低下することになる。本実施形態では、False Negative Recallを２．５％に設定するため、第１否定閾値は−１．１０に設定されている。
【００５６】
ところで、ある画像が風景のシーンに属する確率が高ければ、必然的にその画像が夜景のシーンに属する確率は低くなる。このため、風景識別器５１Ｌの判別式の値が大きい場合には、夜景ではないと識別できる場合がある。このような識別を行うために、第２否定閾値が設けられている。
【００５７】
図１２は、第２否定閾値の説明図である。同図において、横軸は風景の判別式の値を示し、縦軸は確率を示す。同図には、図９のRecallとPrecisionのグラフとともに、夜景のRecallのグラフが点線で描かれている。この点線のグラフに注目すると、風景の判別式の値が−０．４５よりも大きければ、その画像が夜景画像である確率は２．５％である。言い換えると、風景の判別式の値が−０．４５よりも大きい場合にその画像が夜景画像でないと識別しても、誤識別の確率は２．５％にすぎない。そこで、本実施形態では、第２否定閾値が−０．４５に設定されている。
【００５８】
そして、判別式の値が第１否定閾値より小さい場合、又は、判別式の値が第２否定閾値より大きい場合（Ｓ２０６でＹＥＳ）、サブ識別器５１は、識別対象画像が所定のシーンに属しないと判断し、否定フラグを立てる（Ｓ２０７）。「否定フラグを立てる」とは、図８の「否定」欄を１にすることである。例えば、第１否定閾値に基づいて識別対象画像が風景のシーンに属しないと判断された場合、「風景」欄の「否定」欄が１になる。また、第２否定閾値に基づいて識別対象画像が夜景のシーンに属しないと判断された場合、「夜景」欄の「否定」欄が１になる。
【００５９】
図１３Ａは、閾値テーブルの説明図である。この閾値テーブルは、記憶部３１に記憶されていても良いし、全体識別処理を実行させるプログラムの一部に組み込まれていても良い。閾値テーブルには、前述の肯定閾値や否定閾値に関するデータが格納されている。
【００６０】
図１３Ｂは、上記で説明した風景識別器５１Ｌにおける閾値の説明図である。風景識別器５１Ｌには、肯定閾値及び否定閾値が予め設定されている。肯定閾値として１．２７が設定されている。否定閾値には第１否定閾値と第２否定閾値とがある。第１否定閾値として−１．１０が設定されている。また、第２否定閾値として、風景以外の各シーンにそれぞれ値が設定されている。
【００６１】
図１３Ｃは、上記で説明した風景識別器５１Ｌの処理の概要の説明図である。ここでは、説明の簡略化のため、第２否定閾値については夜景についてのみ説明する。風景識別器５１Ｌは、判別式の値が１．２７よりも大きければ（Ｓ２０４でＹＥＳ）、識別対象画像が風景のシーンに属すると判断する。また、判別式の値が１．２７以下であり（Ｓ２０４でＮＯ）、−０．４５よりも大きければ（Ｓ２０６でＹＥＳ）、風景識別器５１Ｌは、識別対象画像が夜景のシーンに属しないと判断する。また、判別式の値が−１．１０よりも小さければ（Ｓ２０６でＹＥＳ）、風景識別器５１Ｌは、識別対象画像が風景のシーンに属しないと判断する。なお、風景識別器５１Ｌは、夕景や花や紅葉についても、第２否定閾値に基づいて、識別対象画像がそのシーンに属しないかを判断する。但し、これらの第２否定閾値は肯定閾値よりも大きいため、識別対象画像がこれらのシーンに属しないことを風景識別器５１Ｌが判断することはない。
【００６２】
Ｓ２０２においてＮＯの場合、Ｓ２０６でＮＯの場合、又はＳ２０７の処理を終えた場合、全体識別器５０は、次のサブ識別器５１の有無を判断する（Ｓ２０８）。ここでは風景識別器５１Ｌによる処理を終えた後なので、全体識別器５０は、Ｓ２０８において、次のサブ識別器５１（夕景識別器５１Ｓ）があると判断する。
【００６３】
そして、Ｓ２０５の処理を終えた場合（識別対象画像が特定のシーンに属すると判断された場合）、又は、Ｓ２０８において次のサブ識別器５１がないと判断された場合（識別対象画像が特定のシーンに属すると判断できなかった場合）、全体識別器５０は、全体識別処理を終了する。
【００６４】
なお、既に説明した通り、全体識別処理が終了すると、シーン識別部３３は、全体識別処理によってシーンの識別ができたか否かを判断する（図５のＳ１０４）。このとき、シーン識別部３３は、図８の識別対象テーブルを参照し、「肯定」欄に１があるか否かを判断することになる。  
全体識別処理によってシーンの識別ができた場合（Ｓ１０４でＹＥＳ）、部分識別処理や統合識別処理が省略される。これによりシーン識別処理の速度が速くなる。
【００６５】
ところで、上記の説明には無いが、全体識別器５０は、サブ識別器５１によって判別式の値を算出したときには、判別式の値に対応するPrecisionを、確信度に関する情報として結果記憶部３１Ｂに記憶する。もちろん、判別式の値そのものを確信度に関する情報として記憶しても良い。
【００６６】
＝＝＝部分識別処理＝＝＝
図１４は、部分識別処理のフロー図である。部分識別処理は、全体識別処理によってシーンの識別ができなかった場合（図５のＳ１０４でＮＯ）に行われる。以下に説明するように、部分識別処理は、分割された部分画像のシーンをそれぞれ識別することによって、画像全体のシーンを識別する処理である。ここでは、図６も参照しながら部分識別処理について説明する。
【００６７】
まず、部分識別器６０は、複数のサブ部分識別器６１の中から１つのサブ部分識別器６１を選択する（Ｓ３０１）。部分識別器６０には、サブ部分識別器６１が３つ設けられている。各サブ部分識別器６１は、８×８の６４ブロックに分割された部分画像がそれぞれ特定のシーンに属するか否かを識別する。ここでの３つのサブ部分識別器６１は、それぞれ、夕景、花、紅葉のシーンを識別する。ここでは、部分識別器６０は、夕景→花→紅葉の順に、サブ部分識別器６１を選択する（なお、サブ部分識別器６１の選択順序については、後述する）。このため、最初には、部分画像が夕景のシーンに属するか否かを識別するサブ部分識別器６１（夕景部分識別器６１Ｓ）が選択される。
【００６８】
次に、部分識別器６０は、識別対象テーブル（図８）を参照し、選択したサブ部分識別器６１を用いてシーンを識別すべきか否かを判断する（Ｓ３０２）。ここでは、部分識別器６０は、識別対象テーブルにおける「夕景」欄の「否定」欄を参照し、ゼロであればＹＥＳと判断し、１であればＮＯと判断する。なお、全体識別処理の際に、夕景識別器５１Ｓが第１否定閾値により否定フラグを立てたとき、又は、他のサブ識別器５１が第２否定閾値により否定フラグを立てたとき、このＳ３０２でＮＯと判断される。仮にＮＯと判断されると夕景の部分識別処理は省略されることになるので、部分識別処理の速度が速くなる。但し、ここでは説明の都合上、ＹＥＳと判断されるものとする。
【００６９】
次に、サブ部分識別器６１は、８×８の６４ブロックに分割された部分画像の中から、1つの部分画像を選択する（Ｓ３０３）。
【００７０】
図１５は、夕景部分識別器６１Ｓが選択する部分画像の順番の説明図である。部分画像から画像全体のシーンを特定するような場合、識別に用いられる部分画像は被写体が存在する部分であることが望ましい。そこで、本実施形態では、数千枚のサンプルの夕景画像を用意し、各夕景画像を８×８の６４ブロックに分割し、夕景部分画像（夕景の太陽と空の部分画像）を含むブロックを抽出し、抽出されたブロックの位置に基づいて各ブロックにおける夕景部分画像の存在確率を算出した。そして、本実施形態では、存在確率の高いブロックから順番に、部分画像が選択される。なお、図に示す選択順序の情報は、プログラムの一部としてメモリ２３に格納されている。
【００７１】
なお、夕景画像の場合、画像の中央付近から上半分に夕景の空が広がっていることが多いため、中央付近から上半分のブロックにおいて存在確率が高くなる。また、夕景画像の場合、画像の下１／３では逆光で陰になり、部分画像単体では夕景か夜景か区別がつかないことが多いため、下１／３のブロックにおいて存在確率が低くなる。花画像の場合、花を中央に配置させる構図にすることが多いため、中央付近における花部分画像の存在確率が高くなる。
【００７２】
次に、サブ部分識別器６１は、選択された部分画像の部分特徴量に基づいて、その部分画像が特定のシーンに属するか否かを評価する（Ｓ３０４）。サブ部分識別器６１には、全体識別器５０のサブ識別器５１と同様に、サポートベクタマシン（ＳＶＭ）による判別手法が用いられている。なお、サポートベクタマシンについては、後述する。判別式の値が正の値であれば、部分画像が特定のシーンに属すると判断し、サブ部分識別器６１は正カウント値をインクリメントする。また、判別式の値が負の値であれば、部分画像が特定のシーンに属しないと判断し、サブ部分識別器６１は負カウント値をインクリメントする。
【００７３】
次に、サブ部分識別器６１は、正カウント値が肯定閾値よりも大きいか否かを判断する（Ｓ３０５）。なお、正カウント値は、特定のシーンに属すると判断された部分画像の数を示すものである。正カウント値が肯定閾値よりも大きければ（Ｓ３０５でＹＥＳ）、サブ部分識別器６１は、識別対象画像が特定のシーンに属すると判断し、肯定フラグを立てる（Ｓ３０６）。この場合、部分識別器６０は、次のサブ部分識別器６１による識別を行わずに部分識別処理を終了する。この場合、次のサブ部分識別器６１による識別を省略しているので、部分識別処理の速度を速めることができる。  
正カウント値が肯定閾値より大きくなければ（Ｓ３０５でＮＯ）、サブ部分識別器６１は、識別対象画像が特定のシーンに属すると判断できず、次のＳ３０７の処理を行う。
【００７４】
サブ部分識別器６１は、正カウント値と残りの部分画像数との和が肯定閾値よりも小さければ（Ｓ３０７でＹＥＳ）、Ｓ３０９の処理へ進む。正カウント値と残りの部分画像数との和が肯定閾値よりも小さい場合、残り全ての部分画像によって正カウント値がインクリメントされても、正カウント値が肯定閾値よりも大きくなることがないので、Ｓ３０９に処理を進めることによって、残りの部分画像についてサポートベクタマシンによる識別を省略する。これにより識別処理の速度を速めることができる。
【００７５】
サブ部分識別器６１がＳ３０７でＮＯと判断した場合、サブ部分識別器６１は、次の部分画像の有無を判断する（Ｓ３０８）。なお、本実施形態では、６４個に分割された部分画像の全てを順に選択していない。図１５において、太枠で示された上位１０番目までの１０個の部分画像だけを順に選択している。このため、１０番目の部分画像の識別を終えれば、サブ部分識別器６１は、Ｓ３０８において次の部分画像はないと判断する（この点を考慮して、Ｓ３０７の「残り部分画像数」も決定される。）。
【００７６】
図１６は、６４個に分割された部分画像のうち、上位１０番目までの１０個の部分画像だけで夕景画像を識別したときのRecall及びPrecisionのグラフである。図に示すような肯定閾値を設定すれば、正答率（Precision）を８０％程度に設定でき、再現率（Recall）を９０％程度に設定でき、精度の高い識別が可能である。
【００７７】
本実施形態では、１０個の部分画像だけで夕景画像の識別を行っている。このため、本実施形態では、６４個の全ての部分画像を用いて夕景画像の識別を行うよりも、部分識別処理の速度を速めることができる。
【００７８】
また、本実施形態では、夕景部分画像の存在確率の高い上位１０番目の部分画像を用いて夕景画像の識別を行っている。このため、本実施形態では、存在確率を無視して抽出された１０個の部分画像を用いて夕景画像の識別を行うよりも、RecallやPrecisionをともに高く設定することが可能になる。
【００７９】
また、本実施形態では、夕景部分画像の存在確率の高い順に部分画像を選択している。この結果、早い段階でＳ３０５の判断がＹＥＳになりやすくなる。このため、本実施形態では、存在確率の高低を無視した順で部分画像を選択したときよりも、部分識別処理の速度を速めることができる。
【００８０】
Ｓ３０７においてＹＥＳと判断された場合、又は、Ｓ３０８において次の部分画像がないと判断された場合、サブ部分識別器６１は、負カウント値が否定閾値よりも大きいか否かを判断する（Ｓ３０９）。この否定閾値は、前述の全体識別処理における否定閾値（図７のＳ２０６）とほぼ同様の機能を果たすものなので、詳しい説明は省略する。Ｓ３０９でＹＥＳと判断された場合、図７のＳ２０７と同様に否定フラグを立てる。
【００８１】
Ｓ３０２においてＮＯの場合、Ｓ３０９でＮＯの場合、又はＳ３１０の処理を終えた場合、部分識別器６０は、次のサブ部分識別器６１の有無を判断する（Ｓ３１１）。夕景部分識別器６１Ｓによる処理を終えた後の場合、サブ部分識別器６１として花部分識別器６１Ｆや紅葉部分識別器６１Ｒがまだあるので、部分識別器６０は、Ｓ３１１において、次のサブ部分識別器６１があると判断する。
【００８２】
そして、Ｓ３０６の処理を終えた場合（識別対象画像が特定のシーンに属すると判断された場合）、又は、Ｓ３１１において次のサブ部分識別器６１がないと判断された場合（識別対象画像が特定のシーンに属すると判断できなかった場合）、部分識別器６０は、部分識別処理を終了する。
【００８３】
なお、既に説明した通り、部分識別処理が終了すると、シーン識別部３３は、部分識別処理によってシーンの識別ができたか否かを判断する（図５のＳ１０６）。このとき、シーン識別部３３は、図８の識別対象テーブルを参照し、「肯定」欄に１があるか否かを判断することになる。  
部分識別処理によってシーンの識別ができた場合（Ｓ１０６でＹＥＳ）、統合識別処理が省略される。これにより、シーン識別処理の速度が速くなる。
【００８４】
ところで、上記の説明では、夕景部分識別器６１Ｓは、１０個の部分画像を用いて夕景画像の識別を行っているが、識別に用いられる部分画像の数は１０個に限られるものではない。また、他のサブ部分識別器６１が、夕景部分識別器６１Ｓとは異なる数の部分画像を用いて画像を識別しても良い。本実施形態では、花部分識別器６１Ｆは２０個の部分画像を用いて花画像を識別し、また、紅葉部分識別器６１Ｒは、１５個の部分画像を用いて紅葉画像を識別するものとする。
【００８５】
＝＝＝サポートベクタマシン＝＝＝
統合識別処理について説明する前に、全体識別処理のサブ識別器５１や部分識別処理のサブ部分識別器６１において用いられているサポートベクタマシン（ＳＶＭ）について説明する。
【００８６】
図１７Ａは、線形サポートベクタマシンによる判別の説明図である。ここでは、２つの特徴量ｘ１、ｘ２によって、学習用サンプルを２次元空間に示している。学習用サンプルは２つのクラスＡ、Ｂに分けられている。図中では、クラスＡに属するサンプルは丸で示されており、クラスＢに属するサンプルは四角で示されている。  
学習用サンプルを用いた学習によって、２次元空間を２つに分ける境界が定義される。境界は、＜ｗ・ｘ＞＋ｂ＝０で定義される（なお、ｘ＝（ｘ１，ｘ２）であり、ｗは重みベクトルであり、＜ｗ・ｘ＞はｗとｘの内積である）。但し、境界は、マージンが最大になるように、学習用サンプルを用いた学習によって定義される。つまり、図の場合、境界は、太点線ではなく、太実線のようになる。  
判別は、ｆ（ｘ）＝＜ｗ・ｘ＞＋ｂを用いて行われる。ある入力ｘ（この入力ｘは、学習用サンプルとは別である）について、ｆ（ｘ）＞０であればクラスＡに属すると判別され、ｆ（ｘ）＜０であればクラスＢに属すると判別される。  
ここでは２次元空間を用いて説明しているが、これには限定されない（つまり特徴量は２以上でも良い）。この場合、境界は超平面で定義される。
【００８７】
ところで、２つのクラスに線形関数で分離できないことがある。このような場合に線形サポートベクタマシンによる判別を行うと、判別結果の精度が低下する。そこで、入力空間の特徴量を非線形変換すれば、すなわち入力空間からある特徴空間へ非線形写像すれば、特徴空間において線形関数で分離することができるようになる。非線形サポートベクタマシンでは、これを利用している。
【００８８】
図１７Ｂは、カーネル関数を用いた判別の説明図である。ここでは、２つの特徴量ｘ１、ｘ２によって、学習用サンプルを２次元空間に示している。図１７Ｂの入力空間からの非線形写像が図１７Ａのような特徴空間になれば、線形関数で２つのクラスに分離することが可能になる。この特徴空間においてマージンが最大になるように境界が定義されれば、特徴空間における境界の逆写像が、図１７Ｂに示す境界になる。この結果、図１７Ｂに示すように、境界は非線形になる。
【００８９】
本実施形態では、ガウスカーネルを利用することにより、判別式ｆ（ｘ）は次式（１）のようになる（なお、Ｍは特徴量の数、Ｎは学習用サンプルのうち識別境界に寄与するサポートベクタの数、ｗｉは重み係数、ｙｉｊはサポートベクタの特徴量、ｘｉは入力ｘの特徴量である）。
【数１】
2009080678.tif 000003
【００９０】
ある入力ｘ（この入力ｘは学習用サンプルとは別である）について、ｆ（ｘ）＞０であればクラスＡに属すると判別され、ｆ（ｘ）＜０であればクラスＢに属すると判別される。また、ｆ（ｘ）の値が大きい値になるほど、入力ｘがクラスＡに属する確率が高くなる。逆に、判別式ｆ（ｘ）の値が小さい値になるほど、入力ｘがクラスＡに属する確率が低くなる。前述の全体識別処理のサブ識別器５１や部分識別処理のサブ部分識別器６１では、上記のサポートベクタマシンの判別式ｆ（ｘ）の値を用いている。サポートベクタマシンによる判別式ｆ（ｘ）の値の算出には、学習用サンプルの数（本実施形態では数万個）が多いほど、すなわちサポートベクタの数が多いほど時間がかかる。
【００９１】
また、式（１）のうち次式（２）に示すｋ（ｘ）は、識別対象と各サポートベクタとの関係に応じた関数である。以下、このｋ（ｘ）のことをカーネルともいう。
【数２】
2009080678.tif 000004
【００９２】
なお、学習用サンプルとは別に評価用サンプルが用意されている。前述のRecallやPrecisionのグラフは、評価用サンプルに対する識別結果（判別式ｆ（ｘ）の値）に基づくものである。
【００９３】
＝＝＝統合識別処理＝＝＝
前述の全体識別処理や部分識別処理では、サブ識別器５１やサブ部分識別器６１における肯定閾値を比較的高めに設定し、Precision（正解率）を高めに設定している。なぜならば、例えば全体識別器５１の風景識別器５１Ｌの正解率が低く設定されると、風景識別器５１が紅葉画像を風景画像であると誤識別してしまい、紅葉識別器５１Ｒによる識別を行う前に全体識別処理を終えてしまう事態が発生してしまうからである。本実施形態では、Precision（正解率）が高めに設定されることにより、特定のシーンに属する画像が特定のシーンのサブ識別器５１（又はサブ部分識別器６１）に識別されるようになる（例えば、紅葉画像が紅葉識別器５１Ｒ（又は紅葉部分識別器６１Ｒ）によって識別されるようになる）。
【００９４】
但し、全体識別処理や部分識別処理のPrecision（正解率）を高めに設定すると、全体識別処理や部分識別処理ではシーンの識別ができなくなる可能性が高くなる。そこで、本実施形態では、全体識別処理及び部分識別処理によってシーンの識別ができなかった場合、以下に説明する統合識別処理が行われる。
【００９５】
図１８は、統合識別処理のフロー図である。以下に説明するように、統合識別処理は、全体識別処理の各サブ識別器５１の判別式の値に基づいて、最も確信度の高いシーンを選択する処理である。
【００９６】
まず、統合識別器７０は、５つのサブ識別器５１の判別式の値に基づいて、正となるシーンを抽出する（Ｓ４０１）。このとき、全体識別処理の際に各サブ識別器５１が算出した判別式の値が用いられる。
【００９７】
次に、統合識別器７０は、判別式の値が正のシーンが存在するか否かを判断する（Ｓ４０２）。判別式の値が正のシーンが存在する場合（Ｓ４０２でＹＥＳ）、最大値のシーンの欄に肯定フラグを立てて（Ｓ４０３）、統合識別処理を終了する。これにより、最大値のシーンに識別対象画像が属すると判断される。  
一方、判別式の値が正であるシーンが存在しない場合（Ｓ４０２でＮＯ）、肯定フラグを立てずに、統合識別処理を終了する。これにより、図８の識別対象テーブルの肯定欄において、１のシーンが無いままの状態になる。つまり、識別対象画像が、どのシーンに属するか識別できなかったことになる。
【００９８】
なお、既に説明した通り、統合識別処理が終了すると、シーン識別部３３は、統合識別処理によってシーンの識別ができたか否かを判断する（図５のＳ１０８）。このとき、シーン識別部３３は、図８の識別対象テーブルを参照し、「肯定」欄に１があるか否かを判断することになる。Ｓ４０２でＮＯとの判断の場合、Ｓ１０８の判断もＮＯになる。
【００９９】
＝＝＝第１実施形態＝＝＝
＜概要＞
前述したように、全体識別処理のサブ識別器５１や部分識別処理のサブ部分識別器６１では、サポートベクタマシンを用いたシーンの識別処理が行われる。各サブ識別器は、サポートベクタマシンによって判別式を算出し、判別式の値と閾値（肯定閾値、否定閾値）とを比較することによって識別対象画像が特定のシーンに属するか否かを識別する。
【０１００】
式（１）からわかるように、サポートベクタマシンは、識別対象とサポートベクタとの関係に応じた関数値を算出し、その関数値を積算していくことによって判別式を算出している。すなわち、判別式の演算の実行時間は、サポートベクタの数に比例する。なお、サポートベクタは、識別境界に寄与する学習用サンプルのことである。以下の説明において、サポートベクタのことを単にサンプルともいい、サポートベクタの数のことをサンプル数ともいう。
【０１０１】
ところで、サポートベクタマシンで識別精度を高めるには大量の学習用サンプルを用意する必要があり、これによりサンプル数も多くなる。よって、サポートベクタマシンによる判別式の演算に時間がかかり、識別処理の速度を速めるのが困難となっていた。特に、シーン識別部３３における全体識別処理や部分識別処理のように、複数のサブ識別器によってシーン毎に順に識別を行う場合、各サブ識別器で識別処理に時間がかかると、後段の識別処理に進むのが遅くなり、識別処理全体の速度が低下することになる。
【０１０２】
そこで、本実施形態では、サポートベクタマシンの判別式の演算の途中で識別結果を予測して、演算の打ち切りを行なうことで識別処理の速度の向上を図る。第１実施形態では、全体識別器５０のサブ識別器５１に本発明の識別処理を適用することとする。
【０１０３】
＜予測について＞
各サブ識別器５１では、サポートベクタマシンによる学習用サンプルを用いた学習により、識別境界に寄与するサポートベクタが定められている。そして、サポートベクタマシンは、前述した式（１）の演算により判別式を算出する。つまり、サポートベクタの特徴量（ｙｉｊ）と識別対象の特徴量（ｘｉ）との関係に応じて式（２）のカーネルｋ（ｘ）を算出し、さらにカーネルｋ（ｘ）に重み係数（ｗｉ）を乗算して、その値（関数値）を順次積算していく。
【０１０４】
ここで、式（２）において、カーネルｋ(ｘ)は常に正の値となる。よって、カーネルｋ(ｘ)に重み係数を乗算して得られる関数値は、重み係数が正の場合には正の値となり、重み係数が負の場合には負の値となる。
【０１０５】
図１９Ａ及び図１９Ｂは、サポートベクタマシンでの演算に用いられる識別用テーブルの一例を示す図である。なお、本実施形態では、この識別用テーブルは外部装置であるコンピュータ（不図示）によって作成されることとする。コンピュータは、サポートベクタマシンの学習に基づいて図１９Ａの識別用テーブルを作成し、それを図１９Ｂに示すように重み係数の大きい順にソートする。つまり、重み係数が正から負の順になるように並び替える。そして、コンピュータは図１９Ｂの識別用テーブルを記憶部３１に記憶させる。サブ識別器５１は、図１９Ｂの識別用テーブルに基づいて、重み係数の大きい順に（紙面上側から順に）式（１）の演算を行なう。
【０１０６】
ところで、各サンプルに対する演算の順序が固定である場合、サブ識別器５１が式（１）の判別式を計算する過程において、重み係数が負であるi番目のサンプルまで計算した時点で、残りのサンプルに対する関数値を積算することによる最小値を予め予測しておくことができる。以下、この最小値のことを予測最小値ともいう。なお、ｉ番目のサンプルまでの演算で得られた積算値と、当該サンプルに対して求められた予測最小値との加算値は、最終的な積算値（判別式）の取り得る値の最小値となる。つまり、判別式の値は、この加算値以上になると判断できる。このことを利用すれば、判別式の演算の途中であっても、加算値と閾値との比較に基づいて識別を行うことができる（後述する）。
【０１０７】
i番目のサンプルまで計算したときの予測最小値ｌは、次式（３）で表される。
【数３】
2009080678.tif 000005
【０１０８】
重み係数の大きい順に演算を行い、残りのサンプルに対する重み係数が負の値のみである場合、式（３）は、次式（４）で近似することができる。
【数４】
2009080678.tif 000006
【０１０９】
ここで、Ｋは定数（１．０５〜１．２０程度）であり、Ｘは入力ｘの特徴量ベクトル、Ｙは各サポートベクタの特徴量ベクトルである。式（４）では、まず残りのサンプルのうちの一つを入力ｘに定めることにより、残りのサンプルに対する関数値を積算した値（以下、仮予測値ともいう）を算出する。そして、残りのサンプルのそれぞれを入力ｘに定めた場合について同様に算出された仮予測値のうちの最小値にＫを乗じた値を予測値としている。このように、式（４）の近似式を用いることにより、サンプル毎の予測最小値を、予め容易に算出しておくことができる。
【０１１０】
上述したコンピュータは、この式（４）の計算を重み係数が負である各サンプルについて行い、図１９Ｂに示すように各サンプルに対する予測最小値を予め求める。ここで、重み係数が負であるので、式（４）の予測最小値も負の値になる。つまり、予測最小値は、残りのサンプル数が多いほど小さく（絶対値が大きく）なり、残りのサンプル数が少ないほど大きく（絶対値が小さく）なる。よって、図１９Ｂにおいて、紙面上側から順に演算が行われるとすると、ｌ１＜ｌ２＜ｌ３となる。
【０１１１】
なお、本実施形態では、コンピュータが識別用テーブルを重み係数でソートし、予測最小値を算出することとしたが、これらの処理を、例えばサブ識別器５１が行うようにしてもよい。
【０１１２】
＜識別処理について＞
以下、図面を参照しつつ、本発明の第１実施形態にかかる識別処理について説明する。図２０は、本発明の第１実施形態にかかる識別処理を説明するためのフロー図である。図２１は、本発明の第１実施形態にかかるサンプル数と積算値の関係の一例を示す図である。なお、図２０は、図７の全体識別処理の一点鎖線の部分における本実施形態の識別処理のフローを示したものである。
【０１１３】
サブ識別器５１は、図７のＳ２０２で、識別対象のシーンであると判断すると（Ｓ２０２でＹＥＳ）、サポートベクタマシンによる判別式の演算を行う。まず、図２０に示すように積算値の初期値としてゼロを設定する（Ｓ５０１）。そして、サブ識別器５１は、図１９Ｂの識別用テーブルに基づいて、重み係数の正の側（紙面上側）から順に対応するサンプルを選択し（Ｓ５０２）、式（２）によってカーネルｋ(ｘ)の値を算出する（Ｓ５０３）。図１９Ｂの場合、重み係数ｗ５に対応するサンプルが最初に選択され、その特徴量（ｙ５１，ｙ５２,ｙ５３・・・）を用いて式（２）のカーネルｋ(ｘ)が算出される。そして、サブ識別器５１は、このカーネルｋ(ｘ)に重み係数（ｗｉ）を乗算して、その乗算で得られた関数値を積算値に積算する（Ｓ５０４）。
【０１１４】
前述したように、カーネルｋ(ｘ)に重み係数を乗算して得られる関数値は、カーネルｋ(ｘ)が常に正であるため、重み係数が正の場合には正の値となり、重み係数が負の場合には負の値となる。図１９Ｂの識別用テーブルでは、重み係数は正から負となる順にソートされているので、積算値は、例えば図２１に示すＳのように変化する。つまり、積算値は、重み係数が正のときは、サンプル数が増加するにつれて大きくなり、重み係数が負になると、サンプル数が増加するにつれて小さくなる。図２１では、演算したサンプル数がａ個のとき積算値ｓａ、サンプル数がｂ（＞ａ）個のとき積算値ｓｂとなっている。重み係数が負でありａ＜ｂであるので、ｓａ＞ｓｂである。
【０１１５】
また、図１９Ｂの識別用テーブルには、式（４）により予測最小値が予め定められている。この予測最小値も、演算されるサンプル数に依存して変化する値である。予測最小値とサンプル数の関係は、例えば図２１のＬのようになる。前述したように、予測最小値は、重み係数が負の場合のみに設定されているので常に負の値となる。そのため、演算されるサンプル数が増える（残りのサンプル数が少なくなる）につれて値が大きくなる（絶対値が小さくなる）。例えば図２１において、サンプル数がａ個のとき予測最小値ｌａ、サンプル数がｂ個のとき予測最小値ｌｂとなっている。重み係数が負でありａ＜ｂであるので、ｌａ＜ｌｂである。この予測最小値は、演算の残りのサンプルについての関数値を予測するものであるので、全サンプル数がｎ個の場合、予測最小値が求められるのはサンプル数が（ｎ−１）個までである。
【０１１６】
なお、図２１においてＰＴは肯定閾値であり、判別式の値がＰＴより大きい場合、サブ識別器５１は、識別対象画像が当該サブ識別器５１に対応するシーンに属すると識別する。一方、判別式の値がＰＴ以下の場合、サブ識別器５１は、識別対象画像が対応するシーンに属すると識別できないことになる。
【０１１７】
サブ識別器５１は、Ｓ５０４で乗算した重み係数の符号が負であるか否かの判断を行う（Ｓ５０５）。すなわち、演算で得られる関数値が負の値になるか否かを判断する。そして、重み係数が負であると判断した場合（Ｓ５０５でＹＥＳ）、サブ識別器５１は、積算値と予測最小値の加算値が肯定閾値よりも大きいか否かの判断を行う（Ｓ５０６）。
【０１１８】
ここで、前述したように積算値と予測最小値との加算値は判別式として予測される最小値であるので、この加算値が肯定閾値よりも大きいと、判別式の値も肯定閾値よりも大きくなると予測できる。例えば図２１において、ｂ個のサンプルまで演算した時点で、ｓｂ＋ｌｂ＞ＰＴになるとする。ｌｂは、残りのサンプル（ｎ−ｂ）に対する関数値を積算した結果が最も小さく（絶対値が大きく）なる場合を予測した値であるので、ｓｂ＋ｌｂは判別式の値の取り得る値の最小値になる。よって、この時点で、判別式の値が肯定閾値（ＰＴ）以下になることはないと判断でき、識別対象画像が対応するシーンに属すると識別できることになる。
【０１１９】
そこで、サブ識別器５１は、積算値と予測最小値の加算値が肯定閾値よりも大きいと判断した場合（Ｓ５０６でＹＥＳ）、識別対象画像が当該サブ識別器５１に対応するシーン（例えば「風景」のシーン）に属すると判断して、そのシーンの欄に肯定フラグを立てる（図７のＳ２０５）。
【０１２０】
一方、積算値と予測最小値の加算値が肯定閾値以下の場合には、判別式の値が肯定閾値よりも大きくなるとは判断できない。例えば図２１において、ａ個のサンプルまで演算した時点で、ｓａ＋ｌａ＜ＰＴであるとする。残りの（ｎ−ａ）個のサンプルに対する実際の演算結果はｌａより大きい（ｌａより絶対値が小さい）と考えられるので、この場合には判別式の値が肯定閾値よりも大きくなるか否かを判断することはできない。そこで、積算値と予測最小値の加算値が肯定閾値以下であると判断した場合（Ｓ５０６でＮＯ）、又は、Ｓ５０５において重み係数が正であると判断した場合（Ｓ５０５でＮＯ）、サブ識別器５１は、次のサンプルが有るか否かの判断を行う（Ｓ５０７）。
【０１２１】
次のサンプルが有ると判断した場合（Ｓ５０７でＹＥＳ）、サブ識別器５１は、図１９Ｂの識別用テーブルの重み係数の大きい側からサンプルを選択するＳ５０２を実行する。次のサンプルが無いと判断した場合（Ｓ５０７でＮＯ）、Ｓ５０６において、全サンプルについての積算値（判別式の値）が肯定閾値以下であると判断されたことになる。そこで、サブ識別器５１は、判別式の値と否定閾値（第１否定閾値及び第２否定閾値）との比較を行い（図７のＳ２０６）、識別対象画像が所定のシーンに属しないかを判断する。
【０１２２】
以上のように本実施形態では、予測最小値を用いることにより、識別処理の速度を向上させることができる。例えば、図２１においてｂ個のサンプルまでの演算結果によって、ｓｂ＋ｌｂ＞ＰＴとなり、この時点で識別対象画像がサブ識別器５１に対応するシーンに属すると予測できることになる。これにより、判別式の演算において、残りの（ｎ−ｂ）個のサンプルの演算処理を省略することができる。さらに、後段の識別処理（他のサブ識別器５１による識別処理、部分識別処理、統合識別処理）を省略することができる。よって、識別処理の速度を速めることができる。
【０１２３】
また、本実施形態では、残りのサンプルが負の値である場合に、残りのサンプルの関数値を積算した値として予測されるうちの最小値を用いるので、識別対象画像が対応するシーンに属していることをより速く識別することができる。
【０１２４】
また、予測最小値は重み係数が負のサンプル毎に対して予め算出されているので、各サンプルに対する積算値とそのときの予測最小値との加算値と、肯定閾値との比較をサンプル毎に行うことができる。よって判別式の演算において、識別処理の精度を高めることができる。
【０１２５】
＝＝＝第２実施形態＝＝＝
第１実施形態では、重み係数が正から負となる順、すなわち関数値が正から負となる順に判別式の演算を行ったが、関数値が負から正となる順に判別式の演算を行うようにしてもよい。この場合、判別式として次式（５）を用いる。
【数５】
2009080678.tif 000007
【０１２６】
図２２は、第２実施形態で使用する識別用テーブルの一例を示す図である。なお、図２２は、第１実施形態と同様に、図１９Ａの識別用テーブルが重み係数の大きい順にソートされたものである。
【０１２７】
ただし、第２実施形態では、判別式の演算に式（５）を用いることにより、各サンプルごとに得られる関数値の符号は、第１実施形態の場合と逆になる。つまり、式（２）のカーネルｋ（ｘ）は常に正であるので、関数値は、重み係数が正の場合には負の値になり、重み係数が負の場合には正の値になる。また、これにより、第２実施形態では、重み係数が負の各サンプルについて、残りのサンプルの関数値（正の値）を積算した値の最大値が予測されることとなる（以下、この値のことを予測最大値ともいう）。予測最大値の算出方法は予測最小値の算出方法と同じ（符号が逆になるのみ）である。
【０１２８】
このように、重み係数が負の場合、得られる関数値は正の値となり、予測最大値も正の値となる。よって、図２２において紙面上側から順に演算が行われるとすると、演算されるサンプル数が増えるにつれて（残りのサンプル数が少なくなるにつれて）予測最大値は小さくなるので、ｈ１＞ｈ２＞ｈ３となる。なお、各サンプルについての演算で得られた関数値を積算した積算値と予測最大値との加算値は、判別式の取り得る値の最大値となる。
【０１２９】
以下、図面を参照しつつ、本発明の第２実施形態にかかる識別処理について説明する。  
図２３は、本発明の第２実施形態にかかる識別処理を説明するためのフロー図である。図２４は、本発明の第２実施形態にかかるサンプル数と積算値の関係の一例を示す図である。なお、図２３は、図７の全体識別処理の一点鎖線の部分における本実施形態の識別処理のフローを示したものである。
【０１３０】
図２３において、Ｓ６０１〜Ｓ６０３は、図２０のＳ５０１〜Ｓ５０３と対応しており、それぞれ同じ処理を行う。よってこの部分の説明を省略する。  
サブ識別器５１は、式（５）によりサンプルについてカーネルｋ(ｘ)と重み係数（ｗｉ）を乗算した関数値を求め、積算値に積算する（Ｓ６０４）。
【０１３１】
前述したように、カーネルｋ(ｘ)が常に正であるため、式（５）の演算で得られる関数値は、重み係数が正の場合には負の値となり、重み係数が負の場合には正の値となる。図２２の識別用テーブルでは、重み係数が正から負となる順にソートされているので、積算値は、例えば図２３のＳ´のようになる。つまり、積算値は、重み係数が正のときはサンプル数が増加するにつれて小さくなり、重み係数が正になるとサンプル数が増加するにつれて大きくなる。
【０１３２】
また、重み係数が負のとき、関数値ｇ（ｘ）は常に正の値であるので、予測最大値は、演算されるサンプル数が増える（残りのサンプル数が少なくなる）につれて値が小さくなる。よって予測最大値とサンプル数の関係は、例えば図２３のＨのようになる。
【０１３３】
なお、図２３においてＰＴ´は本実施形態における肯定閾値であり、第１実施形態の肯定閾値ＰＴに対して、ＰＴ´＝−ＰＴの関係となっている。第２実施形態の場合、積算値と判別式との比較の大小関係が第１実施形態の場合と逆になるので、判別式の値がＰＴ´より小さい場合、サブ識別器５１は、識別対象画像が当該サブ識別器５１に対応するシーンに属すると識別することになる。一方、判別式の値がＰＴ´以上の場合、サブ識別器５１は、識別対象画像が対応するシーンに属すると識別できないことになる。
【０１３４】
次に、サブ識別器５１は、重み係数の符号が負であるか否かの判断を行う（Ｓ６０５）。すなわち、演算で得られる関数値が正の値であるか否かを判断する。そして、重み係数が負（関数値が正）であると判断した場合（Ｓ６０５でＹＥＳ）、サブ識別器５１は、積算値と予測最大値の加算値が肯定閾値（ＰＴ´）よりも小さいか否かの判断を行う（Ｓ６０６）。
【０１３５】
ここで、前述したように、積算値と予測最大値との加算値は、判別式の取り得る値の最大値であるので、この加算値がＰＴ´よりも小さいと、判別式の値もＰＴ´よりも小さくなると予測できる。例えば、図２４でサンプル数がｃの場合における積算値をｓｃ、予測最大値をｈｃとすると、ｓｃ＋ｈｃ＜ＰＴ´であれば判別式がＰＴ´以上にはならないと予測できる。
【０１３６】
そこで、サブ識別器５１は、積算値と予測最大値の加算値が肯定閾値よりも小さいと判断した場合（Ｓ６０６でＹＥＳ）、識別対象画像が当該サブ識別器５１に対応するシーン（例えば「風景」のシーン）に属すると判断して、そのシーンの欄に肯定フラグを立てる（図７のＳ２０５）。こうすることで、例えば図２４の場合（ｎ−ｃ）個のサンプルに対する演算を省略することができる。
【０１３７】
一方、積算値と予測最大値の加算値が肯定閾値以上であると判断した場合には、この時点では判別式の値が肯定閾値よりも小さくなるとは識別できない。そこで、積算値と予測最大値の加算値が肯定閾値以上であると判断した場合（Ｓ６０６でＮＯ）、又は、Ｓ６０５において重み係数が正であると判断した場合（Ｓ６０５でＮＯ）、サブ識別器５１は、次のサンプルが有るか否かの判断を行う（Ｓ６０７）。
【０１３８】
次のサンプルが有ると判断した場合（Ｓ６０７でＹＥＳ）、サブ識別器５１は、識別用テーブル（図２２）の重み係数の大きい側からサンプルを選択するＳ６０２を実行する。次のサンプルが無いと判断した場合（Ｓ６０７でＮＯ）、Ｓ６０６において、全サンプルについての積算値（判別式の値）が肯定閾値以上であると判断されたことになる。そこで、サブ識別器５１は、判別式の値と否定閾値（第１否定閾値及び第２否定閾値）との比較を行う（図７のＳ２０６）。なお、否定閾値との比較を行う際には、判別式ｇ（ｘ）に−１を乗じた判別式ｆ（ｘ）を用いることにより、前述したような否定閾値との比較による識別を行うことができる。つまり、判別式ｆ(ｘ)の値が否定閾値よりも小さければ、識別対象画像が対応するシーンには属しないと識別できる。
【０１３９】
以上のように、判別式ｇ（ｘ）による関数値が負の値のものを積算し、その後に、関数値が正の値のものを積算する場合でも、予測最大値を用いることによって、演算の途中で識別対象画像がサブ識別器５１に対応するシーンに属すると判断することができる。これにより、第１実施形態と同様に識別処理の速度を向上させることができる。
【０１４０】
また、残りのサンプルが正の値である場合に、残りのサンプルの関数値を積算した値として予測されるうちの最大値を用いるので、識別対象画像が対応するシーンに属していることをより速く識別することができる。
【０１４１】
また、予測最大値は重み係数が負のサンプル毎に対して予め求められているので、第１実施形態と同様に、判別式の演算において、識別処理の精度を高めることができる。
【０１４２】
＝＝＝第３実施形態＝＝＝
第１実施形態及び第２実施形態では、判別式の演算の途中で識別対象画像が特定のシーンに属することを識別する場合について説明したが、判別式の演算の途中で識別対象画像が特定のシーンに属しないことを識別することもできる。そこで、第３実施形態では、判別式の演算の途中で識別対象画像が特定のシーンに属しないことを識別する場合について説明する。なお、この第３実施形態では、判別式として式（１）を適用することとする。
【０１４３】
図２５は、第３実施形態で使用する識別用テーブルの一例を示す図である。この識別用テーブルは、図１９Ａの識別用テーブルが重み係数の小さい順（負から正の順）にソートされたものである。前述したように式（２）のカーネルｋ（ｘ）は常に正であるので、式（１）の演算において各サンプルの関数値（重み係数×カーネル）は、重み係数が負の場合には負の値になり、重み係数が正の場合には正の値になる。第３実施形態では、この識別用テーブルを用いて、重み係数の小さい順（負から正となる順）に演算を行うこととする。
【０１４４】
また、重み係数が正の各サンプルについて、第２実施形態と同様に、残りのサンプルの関数値を積算した値の最大値（予測最大値）をサンプル毎に予め算出しておく。図２５において紙面上側から順に演算が行われるとすると、演算されるサンプル数が増えるにつれて（残りのサンプル数が少なくなるにつれて）予測最大値は小さくなるので、ｈ１´＞ｈ２´＞ｈ３´となる。なお、各サンプルについての演算で得られた関数値を積算した積算値と予測最大値との加算値は、判別式の取り得る値の最大値となる。
【０１４５】
以下、図面を参照しつつ、本発明の第３実施形態にかかる識別処理について説明する。  
図２６は、本発明の第３実施形態にかかる識別処理を説明するためのフロー図である。図２７は、本発明の第３実施形態にかかるサンプル数と積算値の関係の一例を示す図である。なお、図２６は、図７の全体識別処理の破線部分における本実施形態の識別処理のフローを示したものである。
【０１４６】
サブ識別器５１は、図７のＳ２０２で、識別対象のシーンであると判断すると（Ｓ２０２でＹＥＳ）、サポートベクタマシンによる判別式の演算を行う。まず、図２６に示すように積算値の初期値としてゼロを設定する（Ｓ７０１）。そして、サブ識別器５１は、図２５の識別用テーブルに基づいて、重み係数の負の側（紙面上側）から順に対応するサンプルを選択し（Ｓ７０２）、式（２）によってカーネルｋ(ｘ)の値を算出する（Ｓ７０３）。そして、サブ識別器５１は、このカーネルｋ(ｘ)に重み係数（ｗｉ）を乗算して、その乗算で得られた関数値を積算値に積算する（Ｓ７０４）。
【０１４７】
図２５の識別用テーブルは、重み係数の小さい順（負から正となる順）にソートされたものであるので、この順に判別式の演算を行うと、積算値は、例えば図２７に示すＳ″のように変化する。つまり、積算値は、重み係数が負のときは、サンプル数が増加するにつれて小さくなり、重み係数が正になると、サンプル数が増加するにつれて大きくなる。
【０１４８】
また、重み係数が正のとき、関数値は常に正の値であるので、予測最大値は、演算されるサンプル数が増える（残りのサンプル数が少なくなる）につれて値が小さくなる。よって予測最大値とサンプル数の関係は、例えば図２３のＨ′のようになる。
【０１４９】
図２３においてＮＴは、第１否定閾値である。つまり、最終的な積算値である判別式の値が第１否定閾値（ＮＴ）より小さい場合、サブ識別器５１は、識別対象画像が対応するシーンに属しないと識別する。
【０１５０】
次に、サブ識別器５１は、重み係数の符号が正であるか否かの判断を行う（Ｓ７０５）。すなわち、演算で得られる関数値が正の値であるか否かを判断する。そして、重み係数が正（関数値が正）であると判断した場合（Ｓ７０５でＹＥＳ）、サブ識別器５１は、積算値と予測最大値の加算値が第１否定閾値よりも小さいか否かの判断を行う（Ｓ７０６）。
【０１５１】
ここで、第２実施形態と同様に、積算値と予測最大値との加算値は、判別式の取り得る値の最大値である。よって、この加算値が第１否定閾値よりも小さいと、判別式の値も第１否定閾値よりも小さくなると予測できる。
【０１５２】
そこで、サブ識別器５１は、積算値と予測最大値の加算値が第１否定閾値よりも小さいと判断した場合（Ｓ７０６でＹＥＳ）、識別対象画像が当該サブ識別器５１に対応するシーン（例えば「風景」のシーン）に属しないと判断して、対応するシーンの欄に否定フラグを立てる（図７のＳ２０７）。例えば図２７において、サンプル数ｄのときの積算値をｓｄ、そのときの予測最大値をｈｄとしたとき、ｓｄ＋ｈｄ＜ＮＴであると、全サンプルについての積算値（判別式の値）が第１否定閾値（ＮＴ）より小さくなると予測できる。よって、この時点で識別対象画像がそのシーンに属しないと判断することができ、（ｎ−ｄ）個のサンプルに対する演算を省略することができる。
【０１５３】
一方、積算値と予測最大値の加算値が第１否定閾値以上である場合には、この時点で判別式の値が第１否定閾値よりも小さくなるとは識別できない。そこで、積算値と予測最大値の加算値が第１否定閾値以上であると判断した場合（Ｓ７０６でＮＯ）、又は、Ｓ７０５において重み係数が負であると判断した場合（Ｓ７０５でＮＯ）、サブ識別器５１は、次のサンプルが有るか否かの判断を行う（Ｓ７０７）。
【０１５４】
次のサンプルが有ると判断した場合（Ｓ７０７でＹＥＳ）、サブ識別器５１は、識別用テーブル（図２５）の重み係数の小さい側からサンプルを選択するＳ７０２を実行する。次のサンプルが無いと判断した場合（Ｓ７０７でＮＯ）、Ｓ７０６において、全サンプルについての積算値（判別式の値）が第１否定閾値以上であると判断されたことになる。つまり、対応するシーンを除外することができなかったことになる。そこで、サブ識別器５１は、判別式の値が肯定閾値よりも大きいかを判断する（Ｓ７０８）。そして、判別式の値が肯定閾値よりも大きいと判断した場合（Ｓ７０８でＹＥＳ）、識別対象画像がサブ識別器５１に対応するシーンに属すると判断して、対応するシーンの欄に肯定フラグを立てる（図７のＳ２０５）。一方、判別式の値が肯定閾値以下であると判断した場合（Ｓ７０８でＮＯ）、次のサブ識別器が有るか否かの判断を行う（図７のＳ２０８）。
【０１５５】
以上のように、式（１）を用いて重み係数が負（関数値が負の値）のものを積算し、その後に、重み係数が正（関数値が正）のものを積算する場合、予測最大値を用いることによって、演算の途中で識別対象画像がサブ識別器５１に対応するシーンに属しないと判断することができる。これにより、判別式の演算を途中で打ち切ることができるので、識別処理の速度を向上させることができる。
【０１５６】
＝＝＝第４実施形態＝＝＝
第１実施形態と第２実施形態との関係と同様に、第３実施形態において、判別式の演算の符号を逆にした識別を行うこともできる。すなわち、判別式として式（５）を用いて、図２５の識別用テーブルの重み係数の小さい順（負から正の順）に演算を行い、重み係数が正（関数値が負）の場合に、積算値と予測最小値との加算値が第１否定閾値より大きくなれば、識別対象画像が対応するシーンに属しないと識別するようにしてもよい。
【０１５７】
＝＝＝第５実施形態＝＝＝
本発明は、第２否定閾値によってシーンを除外する場合にも適用することができる。前述したように、サブ識別器５１は、判別式の値が第２否定閾値よりも大きくなる場合に、識別対象画像が当該第２否定閾値に対応するシーンに属しないと判断する。よって、例えば、第１実施形態と同様に、図１９Ａの識別用テーブルを準備しておき、判別式として式（１）を用いて重み係数の大きい順に演算を行ない、重み係数が負（関数値が負）の場合に、積算値と予測最小値との加算値が第２否定閾値よりも大きくなれば、識別対象画像がその第２否定閾値に対応するシーンに属しないと判断するようにしてもよい。
【０１５８】
＝＝＝第６実施形態＝＝＝
前述した実施形態では、全体識別器５０のサブ識別器５１での識別処理について説明したが、部分識別器６０のサブ部分識別器６１の場合、部分画像毎にサポートベクタマシンによる識別（部分識別処理）を行っている。部分識別処理では、部分画像の部分特徴量に基づいて、特定のシーンに属するか否かが部分画像毎に識別される。具体的には、サブ部分識別器６１は、算出した判別式の値が正であればその部分画像が対応するシーンに属すると識別し、負であればその部分画像が対応するシーンには属しないと識別する。つまり、部分識別処理では、サポートベクタマシンの識別対象は部分画像であり、その識別の閾値はゼロである。そして、判別式の値が正となった部分画像の数（カウント数）が肯定閾値を超えた場合に、識別対象画像が対応するシーンに属すると識別する。  
この部分画像毎に対する部分識別処理においても、前述した識別処理と同様の処理を行うことができる。
【０１５９】
例えば、第１実施形態と同様にして、サブ識別器６１が、重み係数の大きい側から式（１）の演算を行うようにすると、重み係数が負（関数値が負）の場合に、積算値と予測最小値との加算値が閾値（ゼロ）より大となった時点で、その部分画像が対応するシーンに属すると識別することができる。
【０１６０】
あるいは、第２実施形態と同様にして、重み係数の大きい側から式（５）の演算を行うようにすると、重み係数が負（関数値が正）の場合に、積算値と予測最大値との加算値が閾値（ゼロ）より小となった時点で、その部分画像が対応するシーンに属すると識別することができる。
【０１６１】
また、第３実施形態と同様にして、重み係数の小さい側から式（１）の演算を行うようにすると、重み係数が正（関数値が正）の場合に、積算値と予測最大値との加算値が閾値（ゼロ）より小となった時点で、その部分画像が対応するシーンに属しないと識別することができる。
【０１６２】
さらに、第４実施形態と同様にして、重み係数の小さい側から式（５）の演算を行うようにすると、重み係数が正（関数値が負）の場合に、積算値と予測最小値との加算値が閾値（ゼロ）より大となった時点で、その部分画像が対応するシーンに属しないと識別することができる。
【０１６３】
これにより、部分画像毎に対する演算を早く打ち切ることができ、識別に時間のかかりがちである部分識別処理の処理速度を速めることができる。
【０１６４】
＝＝＝その他の実施形態＝＝＝
一実施形態としてプリンタ４によって画像のシーンの識別処理を行う場合について説明したが、上記の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることは言うまでもない。
【０１６５】
例えば、本発明の識別処理の識別対象は、画像に限定されるものではない。すなわち、サポートベクタマシンを用いた識別によって、複数のカテゴリに分類できるものであれば、識別対象となりうる。
【０１６６】
また、例えば、第１実施形態において図２０のフローのＳ５０６で、積算値と、肯定閾値から予測最小値を減算した値とを比較するようにしてもよい。そして、積算値が、肯定閾値から予測最小値を減算した値よりも大きければ、識別対象画像が対応するシーンに属すると識別するようにしてもよい。他の実施形態においても同様である。要するに、重み係数の符号が変わった後に、積算値と、予測最小値（又は予測最大値）と、閾値とに基づいて識別処理を行うようにすればよい。これにより、識別処理の速度を向上させることができる。
【図面の簡単な説明】
【０１６７】
【図１】画像処理システムの説明図である。
【図２】プリンタの構成の説明図である。
【図３】プリンタの自動補正機能の説明図である。
【図４】画像のシーンと補正内容との関係の説明図である。
【図５】シーン識別部によるシーン識別処理のフロー図である。
【図６】シーン識別部の機能の説明図である。
【図７】全体識別処理のフロー図である。
【図８】識別対象テーブルの説明図である。
【図９】全体識別処理の肯定閾値の説明図である。
【図１０】RecallとPrecisionの説明図である。
【図１１】第１否定閾値の説明図である。
【図１２】第２否定閾値の説明図である。
【図１３】図１３Ａは、閾値テーブルの説明図である。図１３Ｂは、風景識別器における閾値の説明図である。図１３Ｃは、風景識別器の処理の概要の説明図である。
【図１４】部分識別処理のフロー図である。
【図１５】夕景部分識別器が選択する部分画像の順番の説明図である。
【図１６】上位１０番目までの１０個の部分画像だけで夕景画像の識別をしたときのRecall及びPrecisionのグラフである。
【図１７】図１７Ａは、線形サポートベクタマシンによる判別の説明図である。図１７Ｂは、カーネル関数を用いた判別の説明図である。
【図１８】統合識別処理のフロー図である。
【図１９】図１９Ａは、識別用テーブルを示す図である。図１９Ｂは、重み係数の大きい順にソートされた識別用テーブルを示す図である。
【図２０】本発明の第１実施形態にかかる識別処理を説明するためのフロー図である。
【図２１】本発明の第１実施形態にかかるサンプル数と積算値の関係を示す図である。
【図２２】第２実施形態で使用する識別用テーブルを示す図である。
【図２３】本発明の第２実施形態にかかる識別処理を説明するためのフロー図である。
【図２４】本発明の第２実施形態にかかるサンプル数と積算値の関係を示す図である。
【図２５】第３実施形態で使用する識別用テーブルを示す図である。
【図２６】本発明の第３実施形態にかかる識別処理を説明するためのフロー図である。
【図２７】本発明の第３実施形態にかかるサンプル数と積算値の関係を示す図である。
【符号の説明】
【０１６８】
２  デジタルスチルカメラ、２Ａ  モード設定ダイヤル、
４  プリンタ、６  メモリカード、１０  印刷機構、
１１  ヘッド、１２  ヘッド制御部、１３  モータ、１４  センサ
２３  メモリ、２４  制御ユニット、２５  駆動信号生成部、
３１  記憶部、３１Ａ  画像記憶部、３１Ｂ  結果記憶部、
３２  顔識別部、３３  シーン識別部、３４  画像補正部、３５  プリンタ制御部、
４０  特徴量取得部、５０  全体識別器、５１  サブ識別器、５１Ｌ  風景識別器、
５１Ｓ  夕景識別器、５１Ｎ  夜景識別器、５１Ｆ  花識別器、５１Ｒ  紅葉識別器、
６０  部分識別器、６１  サブ部分識別器、６１Ｓ  夕景部分識別器、
６１Ｆ  花部分識別器、６１Ｒ  紅葉部分識別器、７０  統合識別器
【図１】
2009080678.tif 000008
【図２】
2009080678.tif 000009
【図３】
2009080678.tif 000010
【図４】
2009080678.tif 000011
【図５】
2009080678.tif 000012
【図６】
2009080678.tif 000013
【図７】
2009080678.tif 000014
【図８】
2009080678.tif 000015
【図９】
2009080678.tif 000016
【図１０】
2009080678.tif 000017
【図１１】
2009080678.tif 000018
【図１２】
2009080678.tif 000019
【図１３】
2009080678.tif 000020
【図１４】
2009080678.tif 000021
【図１５】
2009080678.tif 000022
【図１６】
2009080678.tif 000023
【図１７】
2009080678.tif 000024
【図１８】
2009080678.tif 000025
【図１９】
2009080678.tif 000026
【図２０】
2009080678.tif 000027
【図２１】
2009080678.tif 000028
【図２２】
2009080678.tif 000029
【図２３】
2009080678.tif 000030
【図２４】
2009080678.tif 000031
【図２５】
2009080678.tif 000032
【図２６】
2009080678.tif 000033
【図２７】
2009080678.tif 000034