(57)【要約】【課題】識別処理の処理速度を速める。【解決手段】本画像識別方法は、（Ａ）画像データの示す画像が特定のカテゴリに属するか否かを識別する識別処理を、複数の前記カテゴリ毎に順に選択して行い、（Ｂ）ある前記識別処理の結果に応じて、まだ行われていない前記識別処理が省略され、（Ｃ）前記識別処理の結果に基づいて、前記画像のカテゴリを識別する。そして、本発明では、先に行われる識別処理の結果に応じて、後に行われる識別処理の選択順序が決定される。【選択図】図２５
2008242751.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を、確信度に関する情報として結果記憶部３１Ｂに記憶する。もちろん、判別式の値そのものを確信度に関する情報として記憶しても良い。
【００５９】
＝＝＝部分識別処理＝＝＝
図１４は、部分識別処理のフロー図である。部分識別処理は、全体識別処理によってシーンの識別ができなかった場合（図５のＳ１０４でＮＯ）に行われる。以下に説明するように、部分識別処理は、分割された部分画像のシーンをそれぞれ識別することによって、画像全体のシーンを識別する処理である。ここでは図６も参照しながら部分識別処理について説明する。
【００６０】
まず、部分識別器６０は、複数のサブ部分識別器６１の中から１つのサブ部分識別器６１を選択する（Ｓ３０１）。部分識別器６０には、サブ部分識別器６１が３つ設けられている。各サブ部分識別器６１は、８×８の６４ブロックに分割された部分画像がそれぞれ特定のシーンに属するか否かを識別する。ここでの３つのサブ部分識別器６１は、それぞれ夕景、花、紅葉のシーンを識別する。ここでは、部分識別器６０は、夕景→花→紅葉の順に、サブ部分識別器６１を選択する（なお、サブ部分識別器６１の選択順序については、後述する）。このため、最初には、部分画像が夕景のシーンに属するか否かを識別するサブ部分識別器６１（夕景部分識別器６１Ｓ）が選択される。
【００６１】
次に、部分識別器６０は、識別対象テーブル（図８）を参照し、選択したサブ部分識別器６１を用いてシーンを識別すべきか否かを判断する（Ｓ３０２）。ここでは、部分識別器６０は、識別対象テーブルにおける「夕景」欄の「否定」欄を参照し、ゼロであればＹＥＳと判断し、１であればＮＯと判断する。なお、全体識別処理の際に、夕景識別器５１Ｓが第１否定閾値により否定フラグを立てたとき、又は、他のサブ識別器５１が第２否定閾値により否定フラグを立てたとき、このＳ３０２でＮＯと判断される。仮にＮＯと判断されると夕景の部分識別処理は省略されることになるので、部分識別処理の速度が速くなる。但し、ここでは説明の都合上、ＹＥＳと判断されるものとする。
【００６２】
次に、サブ部分識別器６１は、８×８の６４ブロックに分割された部分画像の中から、１つの部分画像を選択する（Ｓ３０３）。  
図１５は、夕景部分識別器６１Ｓが選択する部分画像の順番の説明図である。部分画像から画像全体のシーンを識別するような場合、識別に用いられる部分画像は、被写体が存在する部分であることが望ましい。そこで、本実施形態では、数千枚のサンプルの夕景画像を用意し、各夕景画像を８×８の６４ブロックに分割し、夕景部分画像（夕景の太陽と空の部分画像）を含むブロックを抽出し、抽出されたブロックの位置に基づいて各ブロックにおける夕景部分画像の存在確率を算出した。そして、本実施形態では、存在確率の高いブロックから順番に、部分画像が選択される。なお、図に示す選択順序の情報は、プログラムの一部としてメモリ２３に格納されている。
【００６３】
なお、夕景画像の場合、画像の中央付近から上半分に夕景の空が広がっていることが多いため、中央付近から上半分のブロックにおいて存在確率が高くなる。また、夕景画像の場合、画像の下１／３では逆光で陰になり、部分画像単体では夕景か夜景か区別がつかないことが多いため、下１／３のブロックにおいて存在確率が低くなる。花画像の場合、花を中央付近に配置させる構図にすることが多いため、中央付近における花部分画像の存在確率が高くなる。
【００６４】
次に、サブ部分識別器６１は、選択された部分画像の部分特徴量に基づいて、その部分画像が特定のシーンに属するか否かを判断する（Ｓ３０４）。サブ部分識別器６１には、全体識別器５０のサブ識別器５１と同様に、サポートベクタマシン（ＳＶＭ）による判別手法が用いられている。なお、サポートベクタマシンについては、後述する。判別式の値が正の値であれば、部分画像が特定のシーンに属すると判断し、サブ部分識別器６１は正カウント値をインクリメントする。また、判別式の値が負の値であれば、部分画像が特定のシーンに属しないと判断し、サブ部分識別器６１は負カウント値をインクリメントする。
【００６５】
次に、サブ部分識別器６１は、正カウント値が肯定閾値よりも大きい否かを判断する（Ｓ３０５）。なお、正カウント値は、特定のシーンに属すると判断された部分画像の数を示すものである。正カウント値が肯定閾値より大きければ（Ｓ３０５でＹＥＳ）、サブ部分識別器６１は、識別対象画像が特定のシーンに属すると判断し、肯定フラグを立てる（Ｓ３０６）。この場合、部分識別器６０は、次のサブ部分識別器６１による識別を行わずに、部分識別処理を終了する。例えば、夕景画像であると識別できれば、花や紅葉の識別を行わずに、部分識別処理を終了する。この場合、次のサブ部分識別器６１による識別を省略しているので、部分識別処理の速度を速めることができる。
【００６６】
正カウント値が肯定閾値より大きくなければ（Ｓ３０５でＮＯ）、サブ部分識別器６１は、識別対象画像が特定のシーンに属すると判断できず、次のＳ３０７の処理を行う。
【００６７】
サブ部分識別器６１は、正カウント値と残りの部分画像数との和が肯定閾値よりも小さければ（Ｓ３０７でＹＥＳ）、Ｓ３０９の処理へ進む。正カウント値と残りの部分画像数との和が肯定閾値よりも小さい場合、残り全ての部分画像によって正カウント値がインクリメントされても正カウント値が肯定閾値より大きくなることがないので、Ｓ３０９に処理を進めることによって、残りの部分画像についてサポートベクタマシンによる識別を省略する。これにより、部分識別処理の速度を速めることができる。
【００６８】
サブ部分識別器６１がＳ３０７でＮＯと判断した場合、サブ部分識別器６１は、次の部分画像の有無を判断する（Ｓ３０８）。なお、本実施形態では、６４個に分割された部分画像の全てを順に選択していない。図１５において太枠で示された上位１０番目までの１０個の部分画像だけを順に選択している。このため、１０番目の部分画像の識別を終えれば、サブ部分識別器６１は、Ｓ３０８において次の部分画像はないと判断する。（この点を考慮して、Ｓ３０７の「残りの部分画像数」も決定される。）
図１６は、上位１０番目までの１０個の部分画像だけで夕景画像の識別をしたときのRecall及びPrecisionのグラフである。図に示すような肯定閾値を設定すれば、正答率（Precision）を８０％程度に設定でき、再現率（Recall）を９０％程度に設定でき、精度の高い識別が可能である。
【００６９】
本実施形態では、１０個の部分画像だけで夕景画像の識別を行っている。このため、本実施形態では、６４個の全ての部分画像を用いて夕景画像の識別を行うよりも、部分識別処理の速度を速めることができる。  
また、本実施形態では、夕景部分画像の存在確率の高い上位１０番目の部分画像を用いて夕景画像の識別を行っている。このため、本実施形態では、存在確率を無視して抽出された１０個の部分画像を用いて夕景画像の識別を行うよりも、Recall及びPrecisionをともに高く設定することが可能になる。  
また、本実施形態では、夕景部分画像の存在確率の高い順に部分画像を選択している。この結果、早い段階でＳ３０５の判断がＹＥＳになりやすくなる。このため、本実施形態では、存在確率の高低を無視した順で部分画像を選択したときよりも、部分識別処理の速度を速めることができる。
【００７０】
Ｓ３０７においてＹＥＳと判断された場合、又は、Ｓ３０８において次の部分画像がないと判断された場合、サブ部分識別器６１は、負カウント値が否定閾値よりも大きいか否かを判断する（Ｓ３０９）。この否定閾値は、前述の全体識別処理における否定閾値（図７のＳ２０６）とほぼ同様の機能を果たすものなので、詳しい説明は省略する。Ｓ３０９でＹＥＳと判断された場合、図７のＳ２０７と同様に、否定フラグを立てる。
【００７１】
Ｓ３０２においてＮＯの場合、Ｓ３０９でＮＯの場合、又はＳ３１０の処理を終えた場合、部分識別器６０は、次のサブ部分識別器６１の有無を判断する（Ｓ３１１）。夕景部分識別器６１Ｓによる処理を終えた後の場合、サブ部分識別器６１として花部分識別器６１Ｆや紅葉部分識別器６１Ｒがまだあるので、部分識別器６０は、Ｓ３１１において、次のサブ部分識別器６１があると判断する。
【００７２】
そして、Ｓ３０６の処理を終えた場合（識別対象画像が特定のシーンに属すると判断された場合）、又は、Ｓ３１１において次のサブ部分識別器６１がないと判断された場合（識別対象画像が特定のシーンに属すると判断できなかった場合）、部分識別器６０は、部分識別処理を終了する。
【００７３】
なお、既に説明した通り、部分識別処理が終了すると、シーン識別部３３は、部分識別処理によってシーンの識別ができたか否かを判断する（図５のＳ１０６）。このとき、シーン識別部３３は、図８の識別対象テーブルを参照し、「肯定」欄に１があるか否かを判断することになる。  
部分識別処理によってシーンの識別ができた場合（Ｓ１０６でＹＥＳ）、統合識別処理が省略される。これにより、シーン識別処理の速度が速くなる。
【００７４】
ところで、上記の説明では、夕景部分識別器６１Ｓは、１０個の部分画像を用いて夕景画像の識別を行っているが、識別に用いられる部分画像の数は１０個に限られるものではない。また、他のサブ部分識別器６１が、夕景部分識別器６１Ｓとは異なる数の部分画像を用いて画像を識別しても良い。本実施形態では、花部分識別器６１Ｆは２０個の部分画像を用いて花画像を識別し、また、紅葉部分識別器６１Ｒは１５個の部分画像を用いて紅葉画像を識別するものとする。
【００７５】
＝＝＝サポートベクタマシン＝＝＝
統合識別処理について説明する前に、全体識別処理のサブ識別器５１や部分識別処理のサブ部分識別器６１において用いられているサポートベクタマシン（ＳＶＭ）について説明する。
【００７６】
図１７Ａは、線形サポートベクタマシンによる判別の説明図である。ここでは、２つの特徴量ｘ１、ｘ２によって、学習用サンプルを２次元空間に示している。学習用サンプルは２つのクラスＡ、Ｂに分けられている。図中では、クラスＡに属するサンプルは丸で示されており、クラスＢに属するサンプルは四角で示されている。  
学習用サンプルを用いた学習によって、２次元空間を２つに分ける境界が定義される。境界は、＜ｗ・ｘ＞＋ｂ＝０で定義される（なお、ｘ＝（ｘ１，ｘ２）であり、ｗは重みベクトルであり、＜ｗ・ｘ＞はｗとｘの内積である）。但し、境界は、マージンが最大になるように、学習用サンプルを用いた学習によって定義される。つまり、図の場合、境界は、太点線ではなく、太実線のようになる。  
判別は、判別式ｆ（ｘ）＝＜ｗ・ｘ＞＋ｂを用いて行われる。ある入力ｘ（この入力ｘは学習用サンプルとは別である）について、ｆ（ｘ）＞０であればクラスＡに属すると判別され、ｆ（ｘ）＜０であればクラスＢに属すると判別される。
【００７７】
ここでは２次元空間を用いて説明しているが、これに限られない（つまり、特徴量は２以上でも良い）。この場合、境界は超平面で定義される。
【００７８】
ところで、２つのクラスに線形関数で分離できないことがある。このような場合に線形サポートベクタマシンによる判別を行うと、判別結果の精度が低下する。そこで、入力空間の特徴量を非線形変換すれば、すなわち入力空間からある特徴空間へ非線形写像すれば、特徴空間において線形関数で分離することができるようになる。非線形サポートベクタマシンでは、これを利用している。
【００７９】
図１７Ｂは、カーネル関数を用いた判別の説明図である。ここでは、２つの特徴量ｘ１、ｘ２によって、学習用サンプルを２次元空間に示している。図１７Ｂの入力空間からの非線形写像が図１７Ａのような特徴空間になれば、線形関数で２つのクラスに分離することが可能になる。この特徴空間においてマージンが最大になるように境界が定義されれば、特徴空間における境界の逆写像が、図１７Ｂに示す境界になる。この結果、図１７Ｂに示すように、境界は非線形になる。
【００８０】
本実施形態ではガウスカーネルを利用することにより、判別式ｆ（ｘ）は次式のようになる（なお、Ｍは特徴量の数であり、Ｎは学習用サンプルの数（若しくは境界に寄与する学習用サンプルの数）であり、ｗｉは重み係数であり、ｙｊは学習用サンプルの特徴量であり、ｘｊは入力ｘの特徴量である）。
【数１】
2008242751.tif 000003
【００８１】
ある入力ｘ（この入力ｘは学習用サンプルとは別である）について、ｆ（ｘ）＞０であればクラスＡに属すると判別され、ｆ（ｘ）＜０であればクラスＢに属すると判別される。また、判別式ｆ（ｘ）の値が大きい値になるほど、入力ｘ（この入力ｘは学習用サンプルとは別である）がクラスＡに属する確率が高くなる。逆に、判別式ｆ（ｘ）の値が小さい値になるほど、入力ｘ（この入力ｘは学習用サンプルとは別である）がクラスＡに属する確率が低くなる。
【００８２】
前述の全体識別処理のサブ識別器５１や部分識別処理のサブ部分識別器６１では、上記のサポートベクタマシンの判別式ｆ（ｘ）の値を用いている。サポートベクタマシンによる判別式ｆ（ｘ）の値の算出には、学習用サンプルの数（本実施形態では数万個）が多くなると時間がかかる。このため、判別式ｆ（ｘ）の値を複数回算出する必要があるサブ部分識別器６１は、判別式ｆ（ｘ）の値を１回算出すれば済むサブ識別器５１よりも、処理時間がかかる。
【００８３】
なお、学習用サンプルとは別に評価用サンプルが用意されている。前述のRecallやPrecisionのグラフは、評価用サンプルに対する識別結果に基づくものである。
【００８４】
＝＝＝統合識別処理＝＝＝
前述の全体識別処理や部分識別処理では、サブ識別器５１やサブ部分識別器６１における肯定閾値を比較的高めに設定し、Precision（正解率）を高めに設定している。なぜならば、例えば全体識別器の風景識別器５１Ｌの正解率が低く設定されると、風景識別器５１Ｌが紅葉画像を風景画像であると誤識別してしまい、紅葉識別器５１Ｒによる識別を行う前に全体識別処理を終えてしまう事態が発生してしまうからである。本実施形態では、Precision（正解率）が高めに設定されることにより、特定のシーンに属する画像が特定のシーンのサブ識別器５１（又はサブ部分識別器６１）に識別されるようになる（例えば紅葉画像が紅葉識別器５１Ｒ（又は紅葉部分識別器６１Ｒ）によって識別されるようになる）。
【００８５】
但し、全体識別処理や部分識別処理のPrecision（正解率）を高めに設定すると、全体識別処理や部分識別処理ではシーンの識別ができなくなる可能性が高くなる。そこで、本実施形態では、全体識別処理及び部分識別処理によってシーンの識別ができなかった場合、以下に説明する統合識別処理が行われる。
【００８６】
図１８は、統合識別処理のフロー図である。以下に説明するように、統合識別処理は、全体識別処理の各サブ識別器５１の判別式の値に基づいて、最も確信度の高いシーンを選択する処理である。
【００８７】
まず、統合識別器７０は、５つのサブ識別器５１の判別式の値に基づいて、正となるシーンを抽出する（Ｓ４０１）。このとき、全体識別処理の際に各サブ識別器５１が算出した判別式の値が用いられる。
【００８８】
次に、統合識別器７０は、判別式の値が正のシーンが存在するか否かを判断する（Ｓ４０２）。  
判別式の値が正のシーンが存在する場合（Ｓ４０２でＹＥＳ）、最大値のシーンの欄に肯定フラグを立てて（Ｓ４０３）、統合識別処理を終了する。これにより、最大値のシーンに識別対象画像が属すると判断される。  
一方、判別式の値が正であるシーンが存在しない場合（Ｓ４０２でＮＯ）、肯定フラグを立てずに、統合識別処理を終了する。これにより、図８の識別対象テーブルの肯定欄において、１のシーンが無いままの状態になる。つまり、識別対象画像が、どのシーンに属するか識別できなかったことになる。
【００８９】
なお、既に説明した通り、統合識別処理が終了すると、シーン識別部３３は、統合識別処理によってシーンの識別ができたか否かを判断する（図５のＳ１０８）。このとき、シーン識別部３３は、図８の識別対象テーブルを参照し、「肯定」欄に１があるか否かを判断することになる。Ｓ４０２でＮＯとの判断の場合、Ｓ１０８の判断もＮＯになる。
【００９０】
＝＝＝参考例＝＝＝
＜概要＞
既に説明した通り、全体識別器５０は、５つのサブ識別器５１を有しており、全体識別処理の際に各サブ識別器５１を順に選択していくことになる。ここで、サブ識別器５１の選択順序は、全体識別処理の処理時間の期待値が最も短くなるようにすることが望ましい。
【００９１】
そこで、本参考例では、全体識別処理の処理時間の期待値が短くなるように、５つのサブ識別器５１の選択順序を決定している。
【００９２】
図１９は、選択順序の決定フローの説明図である。この決定フローは、シーン識別プログラムを設計する際に、行われる。
【００９３】
まず、最初に、サブ識別器５１の選択順序の全てが列挙される。ここでは、サブ識別器５１が５つであるので、１２０（＝５の階乗）通りの順序が列挙される（Ｓ５０１）。
【００９４】
次に、各選択順序における処理時間の期待値を算出する（Ｓ５０２）。ここでは、１２０通りの選択順序のそれぞれについて、処理時間の期待値が算出される。処理時間の期待値の算出方法については、後で詳述する。
【００９５】
そして、１２０通りの処理時間の期待値の中から最短のものを抽出する（Ｓ５０３）。そして、処理時間の期待値が最短のときの選択順序を記憶する。
【００９６】
＜処理時間の期待値の算出方法＞
図２０は、ある選択順序における処理時間の期待値を算出するフロー図である。  
ここでは、風景→夕景→夜景→花→紅葉の順に、サブ識別器５１が選択される場合の処理時間の期待値について説明する。ｎ番目に選択されるサブ識別器５１のことを「第ｎサブ識別器」と呼ぶ。例えば、風景識別器５１Ｌは、第１サブ識別器である。また、第ｎサブ識別器５１が実行される確率（実行確率）をＰｎとする。例えば、夕景識別器５１Ｓの実行確率はＰ２である。また、第ｎサブ識別器５１の処理速度（識別対象画像が特定のシーンであるか否かを識別する処理速度）をＴｎとする。例えば、夜景識別器５１Ｎの処理速度はＴ３である。
【００９７】
まず、各サブ識別器５１の実行確率Ｐｎ（ｎは１〜５）が算出される（Ｓ６０１）。最初に実行される第１サブ識別器５１（ここでは風景識別器５１Ｌ）の実行確率Ｐ１は、１になる。但し、第１サブ識別器５１の判別式の値が肯定閾値より大きい場合や、第１サブ識別器の判別式の値が第２否定閾値より大きい場合、第２サブ識別器以降の処理が省略されるので、第２〜第５サブ識別器５１の実行確率Ｐ２〜Ｐ５は、１よりも小さい値になる。各サブ識別器５１の実行確率の算出方法については、後で詳述する。
【００９８】
次に、各サブ識別器５１の処理時間の期待値が算出される（Ｓ６０２）。各サブ識別器５１の処理時間の期待値は、そのサブ識別器５１の実行確率Ｐｎと処理速度Ｔｎとを乗算した値である。例えば、花識別器５１Ｆの処理速度の期待値は、Ｔ４×Ｐ４と算出される。
【００９９】
図２１は、サブ識別器５１の処理時間の表である。図に示すように、各サブ識別器の処理時間はそれぞれ異なっている。これは、サポートベクタマシンによる判別式ｆ（ｘ）の値の算出では、サンプル数に応じて処理時間が異なるためである。なお、各サブ識別器の処理時間は、Ｓ６０２の処理の前に、予め求められている。
【０１００】
次に、全体識別処理の処理時間の期待値Ｔｔが算出される（Ｓ６０３）。全体識別処理の処理時間の期待値Ｔｔは、各サブ識別器の処理時間の期待値の総和となる。つまり、全体識別処理の処理速度の期待値Ｔｔは、Ｔｔ＝（Ｔ１×Ｐ１）＋（Ｔ２×Ｐ２）＋（Ｔ３×Ｐ３）＋（Ｔ４×Ｐ４）＋（Ｔ５×Ｐ５）として算出される。
【０１０１】
＜Ｐ（ｉ，ｊ）の算出方法＞
各サブ識別器５１の実行確率Ｐｎの算出方法を説明する前に、まず、第ｉサブ識別器が実行された後に、第ｊサブ識別器が省略されずに実行される確率Ｐ（ｉ，ｊ）について説明する。
【０１０２】
第ｊサブ識別器が省略される場合としては、第ｉサブ識別器によって識別対象画像が特定のシーンに属することが識別できた場合（第ｉサブ識別器の判別式の値が肯定閾値よりも大きい場合）、若しくは、第ｉサブ識別器によって第ｊサブ識別器のシーンの否定フラグが立つ場合（第ｉサブ識別器の判別式の値が第２否定閾値よりも大きい場合）がある。このため、Ｐ（ｉ，ｊ）は、判別式の値と、肯定閾値と第２否定閾値との関係から求めることができる。
【０１０３】
具体的には、第ｉサブ識別器によって識別対象画像が特定のシーンに属することが識別できる確率をＰposｉ、第ｉサブ識別器によって第ｊサブ識別器のシーンの否定フラグが立つ確率をＰneg（ｉ，ｊ）とすると、Ｐ（ｉ，ｊ）は次式となる。
【０１０４】
Ｐ（ｉ，ｊ）＝１−max（Ｐposｉ、Ｐneg（ｉ，ｊ））
より具体的に説明するため、風景識別器５１Ｌが実行された後に夕景識別器５１Ｓが実行される確率Ｐ（１，２）について説明する。
【０１０５】
図２２Ａは、風景識別器５１Ｌによって評価用サンプル画像を識別したときの判別式の値の確率分布である。図中には、点線等によって、肯定閾値や各シーンの第２否定閾値が示されている。
【０１０６】
図２２Ｂは、風景識別器５１Ｌが風景画像を識別できる確率Ｐpos１の説明図である。風景識別器５１が風景画像を識別できる確率Ｐpos１は、判別式の値が肯定閾値よりも大きい確率であるため、図中の斜線部分の領域の積分値として求められる。
【０１０７】
図２２Ｃは、風景識別器５１Ｌが夕景の否定フラグを立てる確率Ｐneg（１，２）の説明図である。風景識別器５１Ｌが夕景の否定フラグを立てる確率Ｐneg（１，２）は、風景識別器５１Ｌの判別式の値が夕景の第２否定閾値よりも大きい確率であるため、図中の斜線部分の領域の積分値として求められる。この場合、夕景の第２否定閾値は肯定閾値よりも大きい値であるため、確率Ｐneg（１，２）は確率Ｐpos１よりも小さい値になる。
【０１０８】
よって、風景識別器５１Ｌが実行された後に夕景識別器５１Ｓが実行される確率Ｐ（１，２）は、Ｐ（１，２）＝１−Ｐpos１と求められる。
【０１０９】
参考までに、風景識別器５１Ｌが実行された後に夜景識別器５１Ｎが実行される確率Ｐ（１，３）について説明する。  
図２２Ｄは、風景識別器５１Ｌが夜景の否定フラグを立てる確率Ｐneg（１，３）の説明図である。風景識別器５１Ｌが夜景の否定フラグを立てる確率Ｐneg（１，３）は、風景識別器５１Ｌの判別式の値が夜景の第２否定閾値よりも大きい確率であるため、図中の斜線部分の領域の積分値として求められる。この場合、夜景の第２否定閾値は肯定閾値よりも小さい値であるため、確率Ｐneg（１，３）は確率Ｐpos１よりも大きい値になる。  
よって、風景識別器５１Ｌが実行された後に夜景識別器５１Ｎが実行される確率Ｐ（１，３）は、Ｐ（１，３）＝１−Ｐneg（１，３）と求められる。
【０１１０】
図２３は、第ｉサブ識別器が実行されたときに第ｊサブ識別器が実行される確率Ｐ（ｉ，ｊ）の表である。このように算出された確率Ｐ（ｉ，ｊ）を用いて、次に、各サブ識別器５１の実行確率Ｐｎが算出される。
【０１１１】
＜実行確率の算出方法＞
図２４は、ある選択順序における各サブ識別器５１の実行確率Ｐｎの算出するフロー図である。
【０１１２】
まず、全てのサブ識別器５１の実行確率Ｐｎを１に初期化する（Ｓ７０１）。次に、ｉを１に設定し（Ｓ７０２）、第１サブ識別器の実行確率Ｐ１を算出する（Ｓ７０３）。第１サブ識別器は、最初に実行されるので、省略されることが無いため、実行確率Ｐ１は１になる。
【０１１３】
次に、全てのサブ識別器５１の実行確率を算出したか否かを判断する（Ｓ７０４）。未だ第１サブ識別器５１の実行確率Ｐ１しか算出していないので、Ｓ７０４ではＮＯになる。
【０１１４】
次に、未実行の第２〜第５サブ識別器の実行確率Ｐ２〜Ｐ５の値を更新する（Ｓ７０５）。ここでは、実行確率Ｐｎ（ｎは２〜５）は、Ｐ（１，ｎ）×Ｐ１に更新される。
【０１１５】
その後、ｉを２に設定し（Ｓ７０６）、第２サブ識別器の実行確率Ｐ２を算出する（Ｓ７０３）。第２サブ識別器の実行確率Ｐ２は、Ｓ７０５において更新された値Ｐ（１，２）×Ｐ１になる。
【０１１６】
次に、全てのサブ識別器５１の実行確率を算出したか否かを判断する（Ｓ７０４）。未だ第２サブ識別器５１の実行確率Ｐ２までしか算出していないので、Ｓ７０４ではＮＯになる。
【０１１７】
次に、未実行の第３〜第５サブ識別器の実行確率Ｐ３〜Ｐ５の値を更新する（Ｓ７０５）。ここでは、第２サブ識別器が実行された場合と省略された場合に分けて考える必要がある。まず、第２サブ識別器が実行された場合には、第ｎサブ識別器が実行される確率Ｐｎは、Ｐ２×Ｐ（２，ｎ）×Ｐｎになる。一方、第２サブ識別器が省略された場合には、第ｎサブ識別器が実行される確率Ｐｎは、（１−Ｐ２）×Ｐｎになる。従って、第ｎ識別器が実行される確率Ｐｎは、（Ｐ２×Ｐ（２，ｎ）＋１−Ｐ２）×Ｐｎに更新される。
【０１１８】
このようにして、第３サブ識別器以降のサブ識別器についても、同様に実行確率Ｐｎを算出していく（Ｓ７０３〜Ｓ７０６）。
【０１１９】
そして、全てのサブ識別器の実行確率Ｐｎが算出したら（Ｓ７０４でＹＥＳ）、処理を終了する。これにより、ある選択順序における各サブ識別器５１の実行確率Ｐｎが算出される。
【０１２０】
＜選択順序の決定後について＞
上記のようにして、１２０通りの選択順序の中から、処理時間の期待値が最短の選択順序が決定される。この結果、本参考例では、風景→夕景→夜景→花→紅葉の選択順序が決定される。そして、この決定に基づいて、全体識別器５０を実現するためのシーン識別プログラムが構成され、このプログラムがプリンタ４のプリンタ側コントローラ２０に搭載される。この結果、処理速度の速い全体識別処理を実現することができる。
【０１２１】
＝＝＝第１実施形態＝＝＝
＜概要＞
前述の参考例では、サブ識別器５１の選択順序が固定されている。このため、前述の参考例では、サブ識別器５１の選択順序が固定されていることを前提にして、処理時間の期待値が最短の選択順序が決定されている。
【０１２２】
一方、第１実施形態では、先に実行されるサブ識別器の判別式の値に応じて、それ以降に実行されるサブ識別器の順序を変更している。このため、第１実施形態では、サブ識別器の順序が変更されることも考慮して、処理時間の期待値が最短の選択順序が決定される。
【０１２３】
＜サブ識別器の選択順序について＞
最初に風景識別器５１Ｌが選択された場合、判別式の値に応じて、夜景が除外されない場合と、除外される場合とがある。前者の場合、夜景識別器５１Ｎを含む残り４個のサブ識別器５１の処理時間の期待値が最短になるような選択順序であることが望ましい。一方、後者の場合、夜景識別器５１Ｎを除く残り３個のサブ識別器５１の処理時間の期待値が最短になるような選択順序であることが望ましい。このように、先に実行されるサブ識別器の判別式の値に応じて、それ以降に実行されるサブ識別器の最適な順序が異なることがある。
【０１２４】
図２５は、順序決定の際に参照されるツリー構造のデータ（ツリーデータ）の概念図である。このツリーデータは、サブ識別器５１の選択順序を示すものであり、図７のＳ２０１の際に全体識別器５０に参照されるデータである。また、このツリーデータは、サブ識別器５１の判別式の値と、次に選択すべきサブ識別器５１とを関連付けたデータになっている。言い換えると、このツリーデータは、サブ識別器５１の判別式の値に応じて、次に選択すべきサブ識別器５１が分岐している。このツリーデータは、記憶部３１に記憶されていても良いし、全体識別処理を実行させるためのプログラムの一部に組み込まれていても良い。
【０１２５】
以下、図７のＳ２０１の際に、全体識別器５０がツリーデータを用いてどのようにサブ識別器５１を選択するかについて、説明する。  
まず、最初のＳ２０１の際に、全体識別器５０は、ツリーデータの１番目を参照し、風景識別器５１Ｌを選択する。なお、既に説明した通り、風景識別器５１Ｌの判別式の値が１．２７（肯定閾値）よりも大きければ（Ｓ２０４でＹＥＳ）、風景識別器５１Ｌは識別対象画像が風景のシーンに属することが判断でき、他のサブ識別器５１による処理が省略される。また、風景識別器５１Ｌの判別式の値が−０．４５より大きく、１．２７（肯定閾値）よりも小さければ（Ｓ２０６でＹＥＳ）、夜景の否定フラグが立ち、夜景識別器５１Ｎによる処理が省略されるようになる（夜景が除外される）。
【０１２６】
ところで、風景識別器５１Ｌによって夜景が除外されると、識別処理を実行することになる残りのサブ識別器５１は、夕景識別器５１Ｓと、花識別器５１Ｆと、紅葉識別器５１Ｒの３つになる。この３つのサブ識別器５１の選択順序について、夕景→花→紅葉の順よりも、紅葉→夕景→花の順の方が処理時間の期待値が短いならば、後者の選択順序にする方が望ましい。但し、前述の参考例によれば、紅葉識別器５１Ｒが、夕景識別器５１Ｓや花識別器５１Ｆよりも先に選択されることは起こらない。これに対し、第１実施形態では、判別式の値に応じて次に選択されるサブ識別器の種類が決まるため、風景識別器５１Ｌによって夜景が除外されると、次に紅葉識別器５１Ｒが選択されるようになる。
【０１２７】
すなわち、風景識別器５１Ｌによる処理が終わった後の次のＳ２０１の際に、全体識別器５０は、ツリーデータの２番目を参照し、風景識別器５１Ｌの判別式の値が−０．４５（夜景に対応する第２否定閾値）よりも小さければ、全体識別器５０は、夕景識別器５１Ｓを選択する。一方、風景識別器５１Ｌの判別式の値が−０．４５より大きく、１．２７（肯定閾値）よりも小さければ、全体識別器５０は、紅葉識別器５１Ｒを選択する。このように、第１実施形態では、風景識別器５１Ｌの判別式の値に応じて、次に選択されるサブ識別器の種類が変わる。
【０１２８】
これにより、第１実施形態では、風景識別器５１によって夜景が除外された後の処理時間の期待値が短くなる。この結果、全体識別処理の処理時間の期待値も短くなる。
【０１２９】
同様に、２番目の夕景識別器５１Ｓによって花のみが除外されると、識別処理を実行することになる残りのサブ識別器５１は、夜景識別器５１Ｎと紅葉識別器５１Ｒの２つになる。この２つのサブ識別器５１の順序について、夜景→紅葉の順よりも、紅葉→夜景の順の方が処理時間の期待値が短いならば、後者の選択順序にする方が望ましい。但し、前述の参考例によれば、紅葉識別器５１Ｒが夜景識別器５１Ｎよりも先に選択されることは起こらない。これに対し、第１実施形態では、判別式の値に応じて次に選択されるサブ識別器の種類が決まるため、２番目の夕景識別器５１Ｒによって花のみが除外されると、次に紅葉識別器５１Ｒが選択されるようになる。
【０１３０】
すなわち、２番目に夕景識別器５１Ｓが選択された場合において、さらに次のＳ２０１の際に（夕景識別器５１Ｓによる処理が終わった後の次のＳ２０１の際に）、全体識別器５０は、ツリーデータの３番目を参照する。このとき、夕景識別器５１Ｓの判別式の値が−０．６６（花に対応する第２否定閾値）よりも小さければ、全体識別器５０は、夜景識別器５１Ｎを選択する。また、夕景識別器５１Ｓの判別式の値が−０．６６より大きく、−０．６２よりも小さければ、全体識別器５０は、紅葉識別器５１Ｒを選択する。このように、第１実施形態では、夕景判別器５１Ｌの判別式の値に応じて、次に選択されるサブ識別器５１の種類が変わる。
【０１３１】
これにより、第１実施形態では、２番目の夕景識別器５１Ｓによって花が除外された後の処理時間の期待値が短くなる。この結果、全体識別処理の処理時間の期待値も短くなる。
【０１３２】
以上説明したように、第１実施形態では、判別式の値に応じて次に選択されるサブ識別器の種類が決まる。そして、第１実施形態では、後述するように最適な選択順序になるようにツリーデータが構成されているため、全体識別処理の処理時間の期待値を短くすることができる。
【０１３３】
＜ツリー構造のデータの作成方法について＞
図２５のツリーデータは、処理時間の期待値が最短になるような最適な選択順序で構成されている。最適な選択順序になるように構成されるのであればツリーデータはどのような手順で作成しても良いが、本実施形態では、以下に説明するように再帰的な手順によって、ツリーデータを構成するための最適順序を決定している。
【０１３４】
図２６は、再帰的最適順序決定のフロー図である。このフローは、シーン識別プログラムを設計する際に、行われる。
【０１３５】
仮に全体識別器５０のサブ識別器５１の数が０個の場合、全体識別処理の処理時間の期待値はゼロになる。また、仮に全体識別器５０のサブ識別器５１の数が１個の場合、全体識別処理の処理時間の期待値は、そのサブ識別器５１の処理時間そのものになる。そこで、まず、未実行のサブ識別器５１の数が１個かゼロかを判断し（Ｓ８０１）、ゼロの場合には期待値にゼロを設定し、１個の場合にはそのサブ識別器５１の処理時間そのものを期待値に設定し（Ｓ８１１）、処理を終了する。
【０１３６】
図２７は、２個のサブ識別器のツリーの候補（ツリー候補）の説明図である。ここでは、ＡとＢの２個のサブ識別器があるとする。以下、図２６と図２７とを参照しながら、２個の識別器の最適順序の決定について説明する。
【０１３７】
サブ識別器５１の数が２個の場合（Ｓ８０１でＮＯ）、まず、いずれかのサブ識別器を選択する（Ｓ８０２）。ここでは、まず、サブ識別器Ａが選択されるものとする。
【０１３８】
次に、発生する可能性のあるサブ識別器の組み合わせを全て作成する（Ｓ８０３）。ここでは、条件Ｘa1（例えば、サブ識別器Ａの判別式の値が第２否定閾値よりも小さいという条件）のとき、「未実行のサブ識別器がＢ」という組み合わせと、条件Ｙa1のとき、「未実行のサブ識別器がゼロ」という組み合わせの２つがあるとする。
【０１３９】
次に、Ｓ８０４において、前者の組み合わせ（「未実行のサブ識別器がＢ」という組み合わせ）が選択されるとする。そして、Ｓ８０５において、このフローが再帰的に実行され、未実行のサブ識別器が１個なので、サブ識別器Ｂの処理時間が期待値として出力されて（Ｓ８１１）、処理が戻ってくる。そして、Ｓ８０６において、後者の組み合わせが残っているので、ＮＯの判断となる。
【０１４０】
次のＳ８０４において、後者の組み合わせ（「未実行のサブ識別器がゼロ」という組み合わせ）が選択される。そして、このフローが再帰的に実行され、未実行のサブ識別器がゼロなので、ゼロの期待値が出力されて（Ｓ８１１）、処理が戻ってくる。そして、Ｓ８０６において、全ての組み合わせが終了したので、ＹＥＳの判断となる。
【０１４１】
次に、ツリー候補の期待処理時間を算出する（Ｓ８０７）。ここで、期待処理時間は、ある条件の発生確率とその条件に対応する組み合わせの期待値とを乗算した値と、Ｓ８０２で選択されたサブ識別器の処理時間との和である。つまり、図２７の第１ツリー候補（図２７の左側のツリー候補）に従って全体識別処理が実行されたときの処理時間の期待値が算出される。
【０１４２】
次に、別の未実行のサブ識別器の有無を判断する（Ｓ８０８）。２つのサブ識別器のうち、未だサブ識別器Ｂが選択されていないので、ここでの判断は「ある」になる。そして、同様にＳ８０２〜Ｓ８０７の処理が行われることにより、図２７の第２ツリー候補（図２７の右側のツリー候補）に従って全体識別処理が実行されたときの処理時間の期待値が算出される。
【０１４３】
そして、期待処理時間が最短のツリー候補を選択する（Ｓ８０９）。ここでは、第１ツリー候補と第２ツリー候補の期待処理時間が比較された結果、第１ツリー候補が選択されるものとする。
【０１４４】
以上の処理により、サブ識別器５１の数が２個の場合の最適順序が求められることになる。
【０１４５】
図２８は、３個のサブ識別器のツリーの候補（ツリー候補）の説明図である。ここでは、Ａ〜Ｃの３個のサブ識別器があるとする。以下、図２６と図２８とを参照しながら、３個の識別器の最適順序の決定について説明する。
【０１４６】
サブ識別器５１の数が２個の場合（Ｓ８０１でＮＯ）、まず、いずれかのサブ識別器を選択する（Ｓ８０２）。ここでは、まず、サブ識別器Ａが選択されるものとする。そして、サブ識別器Ａにおいて、３つの条件（条件Ｘa1、条件Ｙa1、条件Ｚa1）の下で３つの組み合わせがあるとする。
【０１４７】
まず、Ｓ８０４において、条件Ｘa1における組み合わせ（「未実行のサブ識別器がＢとＣの２個」）が選択されるものとする。この場合、次のＳ８０５において、既に説明した通り、サブ識別器の数が２個の場合の最適順序決定が行われ、その最適順序における期待値が出力され（Ｓ８１０）、処理が戻ってくる。そして、同様に、残りの組み合わせ（条件Ｙa1における組み合わせと、条件Ｚa1における組み合わせ）の最適順序と期待値も算出される。
【０１４８】
そして、Ｓ８０７において、図２８の第１ツリー候補に従って全体識別処理が実行されたときの処理時間の期待値が算出される。そして、同様に、残りのツリー候補（不図示）の処理時間の期待値が算出される。そして、期待処理時間が最短のツリー候補を選択する（Ｓ８０９）。
【０１４９】
以上の処理により、サブ識別器５１の数が３個の場合の最適順序が求められることになる。なお、サブ識別器の数が４個以上の場合も、上記のような再帰的な手順により最適順序が求められる。
【０１５０】
このようにして、本実施形態では、最適な選択順序になるように、図２５のツリーデータが構成される。そして、全体識別器５０が、図７のＳ２０１の際にこのツリーデータを参照してサブ識別器５１を選択することにより、全体識別処理の処理時間を速めることができる。
【０１５１】
＝＝＝第２実施形態＝＝＝
前述の第１実施形態では、全体識別器５０による全体識別処理の処理時間が速くなるように、５個のサブ識別器５１の選択順序が決定されている。  
但し、部分識別器６０による部分識別処理の処理時間が速くなるように、３個のサブ部分識別器の選択順序が決定されても良い。
【０１５２】
＝＝＝第３実施形態＝＝＝
前述の第１実施形態によれば、全体識別処理におけるサブ識別器５１の選択順序が図２５に示す順になるようにシーン識別プログラムが構成されており、このプログラムがプリンタ４のプリンタ側コントローラ２０に搭載されている。
【０１５３】
これに対し、図７のＳ２０１においてサブ識別器５１を選択する際に、例えば図２６の処理をプリンタ側コントローラ２０が実行するように、シーン識別プログラムを構成しても良い。
【０１５４】
＝＝＝その他の実施の形態＝＝＝
一実施形態としてのプリンタ等を説明したが、上記の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることは言うまでもない。特に、以下に述べる実施形態であっても、本発明に含まれるものである。
【０１５５】
＜プリンタについて＞
前述の実施形態ではプリンタ４がシーン識別処理をしていたが、デジタルスチルカメラ２がシーン識別処理をしても良い。また、上記のシーン識別処理を行う画像識別装置は、プリンタ４やデジタルスチルカメラ２に限られるものではない。例えば、大量の画像ファイルを保存するフォトストレージのような画像識別装置が、上記のシーン識別処理を行っても良い。もちろん、パーソナルコンピュータやインターネット上に設置されたサーバーが、上記のシーン識別処理を行っても良い。
【０１５６】
＜画像ファイルについて＞
前述の画像ファイルはＥｘｉｆ形式であったが、画像ファイルフォーマットはこれに限られるものではない。また、前述の画像ファイルは静止画であるが、動画であっても良い。要するに、画像ファイルが画像データと付加データとを備えていれば、前述のようなシーン識別処理を行うことが可能である。
【０１５７】
＜サポートベクタマシンについて＞
前述のサブ識別器５１やサブ部分識別器６１には、サポートベクタマシン（ＳＶＭ）による識別手法が用いられている。しかし、識別対象画像が特定シーンに属するか否かの識別手法は、サポートベクタマシンを用いるものに限られるものではない。例えば、ニューラルネットワーク等のパターン認識を採用しても良い。
【０１５８】
＜シーンの識別について＞
前述の実施形態では、サブ識別器５１やサブ部分識別器６１は、画像データの示す画像が特定のシーンに属するか否かを識別している。しかし、サブ識別器５１やサブ部分識別器６１は、特定のシーンに属するか否かを識別するものに限られず、画像データの示す画像が特定のカテゴリに属するか否かを分類できれば良い。このため、サブ識別器５１やサブ部分識別器６１は、例えば画像データの示す画像が特定のパターン形状か否かを識別しても良い。
【０１５９】
＜サブ識別器・サブ部分識別器の選択順序について＞
前述の実施形態では、全体識別器５０による全体識別処理の後、部分識別器６０による部分識別処理が行われていた（図６、図７参照）。つまり、前述の実施形態では、５個のサブ識別器５１が選択された後、３個のサブ部分識別器６１が選択されていた。但し、これに限られるものではない。
【０１６０】
例えば、サブ識別器５１とサブ部分識別器６１の選択順序を混ぜても良い。この場合、シーン識別処理の処理時間の期待値が最短になるように、サブ識別器５１とサブ部分識別器６１の選択順序が決定される。但し、サブ部分識別器６１の処理時間はサブ識別器５１の処理時間よりも遅いので（サブ部分識別器６１は判別式の値を複数回算出するため）、最適な選択順序を算出しても、結局、５個のサブ識別器５１が選択された後に３個のサブ部分識別器６１が選択されることになるかもしれない。
【０１６１】
＝＝＝まとめ＝＝＝
（１）前述の実施形態では、全体識別器５０は複数のサブ識別器５１を有している。サブ識別器５１は、画像データの示す画像が特定のシーンに属するか否かを識別する識別処理を行っている。そして、前述の実施形態では、このようなサブ識別器を複数組み合わせることによって、画像データの示す画像のシーン（カテゴリの一例）を分類している。  
ここで、仮にシーン識別処理を行うたびに全てのサブ識別器５１による識別処理を行っていたのでは、シーン識別処理の処理速度が遅くなってしまう。そこで、前述の参考例や実施形態では、画像データの示す画像が特定のシーンに属することをサブ識別器５１が識別できたとき等の場合、別のサブ識別器５１による処理を省略し、シーン識別処理の処理速度を速くしている。例えば、全体識別器５０の風景識別器５１Ｌが風景画像を識別できれば（図７のＳ２０４でＹＥＳ）、全体識別器５０の夕景識別器５１Ｓによる処理が省略され、シーン識別処理の処理速度が速くなる。  
ところで、このようにサブ識別器５１の処理が省略されることがある場合、５個のサブ識別器５１の順序に応じて、全体識別処理の処理時間の期待値が異なることになる。そこで、前述の参考例では、全体識別処理の処理時間の期待値が最短になる固定された順序にて、５個のサブ識別器５１を順に実行している。これにより、全体識別処理の処理時間が速くなる。
【０１６２】
但し、風景→夕景→夜景→花→紅葉という固定された順序にて５個のサブ識別器５１を順に実行した場合、紅葉識別器５１Ｒが、夕景識別器５１Ｓや花識別器５１Ｆよりも先に選択されることは起こらない。一方、風景識別器５１Ｌによって夜景が除外されたとき、夕景→花→紅葉の順よりも、紅葉→夕景→花の順の方が処理時間の期待値が短いならば、後者の選択順序にする方が望ましい。
【０１６３】
そこで、前述の実施形態では、先に実行されるサブ識別器の判別式の値に応じて、次に実行されるサブ識別器５１が決定される。例えば風景識別器５１Ｌの判別式の値が−０．４５（夜景に対応する第２否定閾値）よりも小さければ、全体識別器５０は、夕景識別器５１Ｓを選択する。一方、風景識別器５１Ｌの判別式の値が−０．４５より大きく、１．２７（肯定閾値）よりも小さければ、全体識別器５０は、紅葉識別器５１Ｒを選択する。これにより、第１実施形態では、選択順序が固定された参考例よりも、全体識別処理の処理速度を速めることができる。
【０１６４】
（２）前述の実施形態では、例えば風景識別器５１Ｌにより識別対象画像が風景であることを識別できたとき（図１０のＳ２０４でＹＥＳ）、もはや他のサブ識別器５１による処理は不要になるので、例えば夕景識別器５１による処理を省略している。これにより、シーン識別処理の処理速度を速くしている。
【０１６５】
（３）前述の実施形態では、例えば風景識別器５１Ｌの判別式の値が第２否定閾値より大きければ、風景とは別のシーン（例えば夜景）のシーンに識別対象画像が属しないと判断され、その識別器（例えば夜景識別器５１Ｎ）による識別は省略される。これにより、識別処理の速度を速めることができる。
【０１６６】
（４）前述のサブ識別器５１は、判別式の値（画像が特定のカテゴリに属する確率に応じた値）を算出し、その値に基づいて画像が特定のシーンに属するか否かを識別している。そして、前述の実施形態では、この判別式の値を利用して、次に実行するサブ識別器５１を決定している。これにより、次に実行するサブ識別器５１を決定するための指標を別途算出する必要はないので、次に実行するサブ識別器５１の決定が簡略になる。
【０１６７】
（５）前述の実施形態では、全体識別器５０は、ツリーデータを用いて、次に実行するサブ識別器５１を決定する。ここで、ツリーデータは、図２５に示すように、サブ識別器５１の判別式の値と、次に選択すべきサブ識別器５１とをそれぞれ関連付けたデータである。このようなツリーデータを用いることによって、全体識別器５０は、先に実行されるサブ識別器の判別式の値に応じて、次に実行されるサブ識別器５１を決定できる。
【０１６８】
（６）前述の実施形態では、各ツリー候補の期待処理時間が算出され（図２６のＳ８０７参照）、全てのツリー候補の中から期待処理時間が最短のツリー候補が選択され（Ｓ８０９）、ツリーデータが作成される。これにより、全体識別処理の処理速度を速めることができる。
【０１６９】
（７）前述の実施形態では、ｎ−１個のサブ識別器５１によって処理時間が最短になる選択順序を決定し、その処理時間を出力する決定フローが用意されている（図２６参照）。そして、ｎ個のサブ識別器５１によって処理時間が最短になる選択順序を決定する場合、まず１つのサブ識別器５１を選択し、残りのｎ−１個のサブ識別器５１によって処理時間が最短になる選択順序を再帰的処理により決定し、選択したサブ識別器５１が最初に実行されるようなツリー候補の期待処理時間を算出する（Ｓ８０７）。このようにして、ｎ個のツリー候補の期待処理時間が算出され、期待処理時間が最短になる選択順序が決定される（Ｓ８０９）。  
これにより、簡易な手順によって、最適な選択順序を決定できる。
【０１７０】
（８）前述のプリンタ（画像識別装置に相当）は、プリンタ側コントローラ２０を備えている（図２参照）。そして、このプリンタ側コントローラ２０は、画像データの示す画像が特定のカテゴリに属するか否かを識別するサブ識別器５１を複数組み合わせることによって、画像データの示す画像のシーンを分類している。また、プリンタ側コントローラ２０は、例えば風景識別器５１Ｌの識別結果に応じて、例えば夕景識別器５１Ｓによる処理を省略する。
【０１７１】
そして、前述の実施形態では、プリンタ側コントローラ２０は、先に実行されるサブ識別器の判別式の値に応じて、次に実行されるサブ識別器５１を決定する。これにより、第１実施形態では、選択順序が固定された参考例よりも、全体識別処理の処理速度を速めることができる。
【０１７２】
（９）前述のメモリ２３には、図５、図７及び図１４の処理をプリンタ４に実行させるためのプログラムが記憶されている。すなわち、このプログラムは、画像データの示す画像が特定のカテゴリに属するか否かを識別する識別処理を、複数のカテゴリ毎に順に選択して行うコードと、ある識別処理の結果に応じて、まだ行われていない識別処理を省略するコードと、識別処理の結果に基づいて、画像のカテゴリを識別するコードと、を備えている。また、このプログラムには、画像識別装置に、先に行われる識別処理の結果に応じて、後に行われる識別処理の選択順序を決定させるコードも含まれている。
【図面の簡単な説明】
【０１７３】
【図１】画像処理システムの説明図である。
【図２】プリンタの構成の説明図である。
【図３】プリンタの自動補正機能の説明図である。
【図４】画像のシーンと補正内容との関係の説明図である。
【図５】シーン識別部によるシーン識別処理のフロー図である。
【図６】シーン識別部の機能の説明図である。
【図７】全体識別処理のフロー図である。
【図８】識別対象テーブルの説明図である。
【図９】全体識別処理の肯定閾値の説明図である。
【図１０】RecallとPrecisionの説明図である。
【図１１】第１否定閾値の説明図である。
【図１２】第２否定閾値の説明図である。
【図１３】図１３Ａは、閾値テーブルの説明図である。図１３Ｂは、風景識別器における閾値の説明図である。図１３Ｃは、風景識別器の処理の概要の説明図である。
【図１４】部分識別処理のフロー図である。
【図１５】夕景部分識別器が選択する部分画像の順番の説明図である。
【図１６】上位１０番目までの１０個の部分画像だけで夕景画像の識別をしたときのRecall及びPrecisionのグラフである。
【図１７】図１７Ａは、線形サポートベクタマシンによる判別の説明図である。図１７Ｂは、カーネル関数を用いた判別の説明図である。
【図１８】統合識別処理のフロー図である。
【図１９】参考例における選択順序の決定フローの説明図である。
【図２０】ある選択順序における処理時間の期待値を算出するフロー図である。
【図２１】サブ識別器５１の処理時間の表である。
【図２２Ａ】風景識別器５１Ｌによって評価用サンプル画像を識別したときの判別式の値の確率分布である。
【図２２Ｂ】風景識別器５１Ｌが風景画像を識別できる確率Ｐpos１の説明図である。
【図２２Ｃ】風景識別器５１Ｌが夕景の否定フラグを立てる確率Ｐneg（１，２）の説明図である。
【図２２Ｄ】風景識別器５１Ｌが夜景の否定フラグを立てる確率Ｐneg（１，３）の説明図である。
【図２３】第ｉサブ識別器が実行されたときに第ｊサブ識別器が実行される確率Ｐ（ｉ，ｊ）の表である。
【図２４】ある選択順序における各サブ識別器５１の実行確率Ｐｎの算出するフロー図である。
【図２５】第１実施形態における順序決定の際に参照されるツリー構造のデータ（ツリーデータ）の概念図である。
【図２６】第１実施形態における再帰的最適順序決定のフロー図である。
【図２７】２個のサブ識別器のツリーの候補（ツリー候補）の説明図である。
【図２８】３個のサブ識別器のツリーの候補（ツリー候補）の説明図である。
【符号の説明】
【０１７４】
２  デジタルスチルカメラ、２Ａ  モード設定ダイヤル、
４  プリンタ、６  メモリカード、
１０  印刷機構、１１  ヘッド、１２  ヘッド制御部、１３  モータ、１４  センサ、
２０  プリンタ側コントローラ、２１  スロット、２２  ＣＰＵ、２３  メモリ、
２４  制御ユニット、２５  駆動信号生成部、
３１  記憶部、３１Ａ  画像記憶部、３１Ｂ  結果記憶部、
３２  顔識別部、３３  シーン識別部、３４  画像補正部、３５  プリンタ制御部、
４０  特徴量取得部、５０  全体識別器、５１  サブ識別器、５１Ｌ  風景識別器、
５１Ｓ  夕景識別器、５１Ｎ  夜景識別器、５１Ｆ  花識別器、５１Ｒ  紅葉識別器、
６０  部分識別器、６１  サブ部分識別器、６１Ｓ  夕景部分識別器、
６１Ｆ  花部分識別器、６１Ｒ  紅葉部分識別器、
７０  統合識別器、
【図１】
2008242751.tif 000004
【図２】
2008242751.tif 000005
【図３】
2008242751.tif 000006
【図４】
2008242751.tif 000007
【図５】
2008242751.tif 000008
【図６】
2008242751.tif 000009
【図７】
2008242751.tif 000010
【図８】
2008242751.tif 000011
【図９】
2008242751.tif 000012
【図１０】
2008242751.tif 000013
【図１１】
2008242751.tif 000014
【図１２】
2008242751.tif 000015
【図１３】
2008242751.tif 000016
【図１４】
2008242751.tif 000017
【図１５】
2008242751.tif 000018
【図１６】
2008242751.tif 000019
【図１７】
2008242751.tif 000020
【図１８】
2008242751.tif 000021
【図１９】
2008242751.tif 000022
【図２０】
2008242751.tif 000023
【図２１】
2008242751.tif 000024
【図２２Ａ】
2008242751.tif 000025
【図２２Ｂ】
2008242751.tif 000026
【図２２Ｃ】
2008242751.tif 000027
【図２２Ｄ】
2008242751.tif 000028
【図２３】
2008242751.tif 000029
【図２４】
2008242751.tif 000030
【図２５】
2008242751.tif 000031
【図２６】
2008242751.tif 000032
【図２７】
2008242751.tif 000033
【図２８】
2008242751.tif 000034