説明

情報処理方法、情報処理装置及びプログラム

【課題】シーン識別処理の誤識別を軽減する。
【解決手段】情報処理方法は、画像データから、前記画像データの示す画像の特徴を示すデータを取得するステップと、前記画像データに付加されている付加データから、シーンに関するデータ以外のデータを取得するステップと、前記画像の特徴を示すデータと、前記シーンに関するデータ以外のデータとを特徴量として、前記画像のシーンを識別するステップと、を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理方法、情報処理装置及びプログラムに関する。
【背景技術】
【0002】
デジタルスチルカメラには撮影モードを設定するモード設定ダイヤルを持つものがある。ユーザがダイヤルで撮影モードを設定すると、デジタルスチルカメラは撮影モードに応じた撮影条件(露光時間等)を決定し、撮影を行う。撮影が行われると、デジタルスチルカメラは、画像ファイルを生成する。この画像ファイルには、撮影した画像の画像データに、撮影時の撮影条件等の付加データが付加されている。
【0003】
一方、付加データに応じて画像データに画像処理することも行われている。例えば、プリンタが画像ファイルに基づいて印刷を行うとき、付加データの示す撮影条件に応じて画像データを補正し、補正した画像データに従って印刷することが行われている。
【特許文献1】特開2001−238177号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
ユーザが撮影モードを設定し忘れたために、撮影条件に不適切な撮影モードが設定されたまま、撮影が行われることがある。例えば、夜景モードが設定されたまま、日中の風景が撮影されることがある。この場合、画像ファイルの画像データは日中の風景の画像であるにも関わらず、付加データには夜景モードを示すデータが記憶されることになる。このような場合に、付加データの示す夜景モードに従って画像データの示す画像を識別すると、誤識別の確率が高くなる。なお、このような誤識別は、ダイヤル設定ミスによって生じる場合に限られず、画像データの内容と付加データの内容との不一致によって生じる。
【0005】
本発明は、誤識別の確率を軽減することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するための主たる発明は、画像データから、前記画像データの示す画像の特徴を示すデータを取得するステップと、前記画像データに付加されている付加データから、シーンに関するデータ以外のデータを取得するステップと、前記画像の特徴を示すデータと、前記シーンに関するデータ以外のデータとを特徴量として、前記画像のシーンを識別するステップと、を有することを特徴とする情報処理方法である。
【0007】
本発明の他の特徴については、本明細書及び添付図面の記載により明らかにする。
【発明を実施するための最良の形態】
【0008】
本明細書及び添付図面の記載により、少なくとも、以下の事項が明らかとなる。
【0009】
画像データから、前記画像データの示す画像の特徴を示すデータを取得するステップと、前記画像データに付加されている付加データから、シーンに関するデータ以外のデータを取得するステップと、前記画像の特徴を示すデータと、前記シーンに関するデータ以外のデータとを特徴量として、前記画像のシーンを識別するステップと、を有することを特徴とする情報処理方法が明らかになる。
このような情報処理方法によれば、誤識別の確率を軽減することができる。
【0010】
また、前記シーンに関するデータ以外のデータは、前記画像データを生成したときの撮影装置の制御データであることが望ましい。特に、前記制御データは、前記画像の明るさに関連するデータであることが好ましい。また、前記制御データは、前記画像の色に関連するデータであることが好ましい。これにより、誤識別の確率を軽減することができる。
【0011】
また、前記画像の特徴を示すデータを取得するステップは、前記画像の全体の特徴を示すデータと、前記画像に含まれる部分画像の特徴を示すデータとを取得し、前記シーンを識別するステップは、前記画像の全体の特徴を示すデータを用いて、前記画像データの示す画像のシーンを識別する全体識別ステップと、前記部分画像の特徴を示すデータを用いて、前記画像データの示す画像のシーンを識別する部分識別ステップと、を有し、前記全体識別ステップにおいて前記画像のシーンを識別できない場合、前記部分識別ステップが行われ、前記全体識別ステップにおいて前記画像のシーンを識別できた場合、前記部分識別ステップは行われないことが望ましい。これにより、処理速度が速くなる。
【0012】
また、前記全体識別ステップは、前記画像の全体の特徴を示すデータを用いて、前記画像が所定のシーンである確率に応じた評価値を算出し、前記評価値が第1閾値より大きければ、前記画像が前記所定のシーンであると識別でき、前記部分識別ステップは、前記部分画像の特徴を示すデータを用いて、前記画像が前記所定のシーンであることを識別し、前記全体識別ステップにおける前記評価値が第2閾値より小さい場合、前記部分識別ステップは行われないことが望ましい。これにより、処理速度が速くなる。
【0013】
また、前記シーンを識別するステップは、前記特徴量に基づいて、前記画像が第1シーンであることを識別する第1シーン識別ステップと、前記特徴量に基づいて、前記画像が第1シーンとは異なる第2シーンであることを識別する第2シーン識別ステップと、を有し、前記第1シーン識別ステップは、前記特徴量に基づいて、前記画像が前記第1シーンである確率に応じた評価値を算出し、前記評価値が第1閾値より大きければ、前記画像が第1シーンであると識別でき、前記シーンを識別するステップにおいて、前記第1識別ステップにおける前記評価値が第3閾値より大きければ、前記第2シーン識別ステップを行わないことが望ましい。これにより、処理速度が速くなる。
【0014】
画像データから、前記画像データの示す画像の特徴を示すデータを取得する第1取得手段と、画像データに付加されている付加データから、シーンに関するデータ以外のデータを取得する第2取得手段と、前記画像の特徴を示すデータと、前記シーンに関するデータ以外のデータとを特徴量として、前記画像のシーンを識別する識別手段と、を備えることを特徴とする情報処理装置が明らかになる。
【0015】
また、情報処理装置に、画像データから、前記画像データの示す画像の特徴を示すデータを取得するステップと、画像データに付加されている付加データから、シーンに関するデータ以外のデータを取得するステップと、前記画像の特徴を示すデータと、前記シーンに関するデータ以外のデータとを特徴量として、前記画像のシーンを識別するステップと、を実行させるプログラムも明らかになる。
【0016】
===全体構成===
図1は、画像処理システムの説明図である。この画像処理システムは、デジタルスチルカメラ2と、プリンタ4とを備える。
【0017】
デジタルスチルカメラ2は、被写体をデジタルデバイス(CCDなど)に結像させることによりデジタル画像を取得するカメラである。デジタルスチルカメラ2には、モード設定ダイヤル2Aが設けられている。ユーザは、ダイヤル2Aによって、撮影条件に応じた撮影モードを設定することができる。例えば、ダイヤル2Aによって「夜景」モードが設定されると、デジタルスチルカメラ2は、シャッター速度を遅くしたり、ISO感度を高くしたりして、夜景撮影に適した撮影条件にて撮影を行う。
【0018】
デジタルスチルカメラ2は、ファイルフォーマット規格に準拠して、撮影により生成した画像ファイルをメモリカード6に保存する。画像ファイルには、撮影した画像のデジタルデータ(画像データ)だけでなく、撮影時の撮影条件(撮影データ)等の付加データも保存される。
【0019】
プリンタ4は、画像データの示す画像を紙に印刷する印刷装置である。プリンタ4には、メモリカード6を挿入するスロット21が設けられている。ユーザは、デジタルスチルカメラ2で撮影した後、デジタルスチルカメラ2からメモリカード6を取り出し、スロット21にメモリカード6を挿入することができる。
【0020】
図2は、プリンタ4の構成の説明図である。プリンタ4は、印刷機構10と、この印刷機構10を制御するプリンタ側コントローラ20とを備える。印刷機構10は、インクを吐出するヘッド11と、ヘッド11を制御するヘッド制御部12と、紙を搬送するため等のモータ13と、センサ14とを有する。プリンタ側コントローラ20は、メモリカード6からデータを送受信するためのメモリ用スロット21と、CPU22と、メモリ23と、モータ13を制御する制御ユニット24と、駆動信号(駆動波形)を生成する駆動信号生成部25とを有する。
【0021】
メモリカード6がスロット21に挿入されると、プリンタ側コントローラ20は、メモリカード6に保存されている画像ファイルを読み出してメモリ23に記憶する。そして、プリンタ側コントローラ20は、画像ファイルの画像データを、印刷機構10で印刷するための印刷データに変換し、印刷データに基づいて印刷機構10を制御し、紙に画像を印刷する。この一連の動作は、「ダイレクトプリント」と呼ばれている。
【0022】
なお、「ダイレクトプリント」は、メモリカード6をスロット21に挿入することによって行われるだけでなく、デジタルスチルカメラ2とプリンタ4とをケーブル(不図示)で接続することによっても可能である。
【0023】
===画像ファイルの構造===
画像ファイルは、画像データと、付加データとから構成されている。画像データは、複数の画素データから構成されている。画素データは、画素の色情報(階調値)を示すデータである。画素がマトリクス状に配置されることによって、画像が構成される。このため、画像データは、画像を示すデータである。付加データには、画像データの特性を示すデータや、撮影データや、サムネイル画像データ等が含まれる。
【0024】
以下、画像ファイルの具体的な構造について説明する。
図3は、画像ファイルの構造の説明図である。図中の左側には画像ファイルの全体構成が示されており、右側にはAPP1領域の構成が示されている。
【0025】
画像ファイルは、SOI(Start of image)を示すマーカで始まり、EOI(End of Image)を示すマーカで終わる。SOIを示すマーカの後に、APP1のデータ領域の開始を示すAPP1マーカがある。APP1マーカの後のAPP1のデータ領域には、撮影データやサムネイル画像等の付加データが含まれている。また、SOS(Start of Stream)を示すマーカの後には、画像データが含まれている。
【0026】
APP1マーカの後、APP1のデータ領域のサイズを示す情報があり、EXIFヘッダとTIFFヘッダが続き、IFD領域となる。
【0027】
各IFD領域は、複数のディレクトリエントリと、次のIFD領域の位置を示すリンクと、データエリアとを有する。例えば、最初のIFD0(IFD of main image)では次のIFD1(IFD of thumbnail image)の位置がリンクされる。但し、ここではIFD1の次のIFDが存在しないのでIFD1では他のIFDへのリンクは行われない。各ディレクトリエントリには、タグとデータ部が含まれる。格納すべきデータ量が小さい場合にはデータ部に実際のデータがそのまま格納され、データ量が多い場合には実際のデータはIFD0データエリアに格納されて、データ部にはデータの格納場所を示すポインタが格納される。なお、IFD0には、ExifSubIFDの格納場所を意味するタグ(Exif IFD Pointer)と、ExifSubIFDの格納場所を示すポインタ(オフセット値)とが格納されているディレクトリエントリがある。
【0028】
ExifSubIFD領域は、複数のディレクトリエントリを有する。このディレクトリエントリにも、タグとデータ部が含まれる。格納すべきデータ量が小さい場合にはデータ部に実際のデータがそのまま格納され、データ量が多い場合には実際のデータはExifSubIFDデータエリアに格納されて、データ部にはデータの格納場所を示すポインタが格納される。なお、ExifSubIFDの中には、MakernoteIFDの格納場所を意味するタグと、MakernoteIFDの格納場所を示すポインタとが格納されている。
【0029】
MakernoteIFD領域は、複数のディレクトリエントリを有する。このディレクトリエントリにも、タグとデータ部が含まれる。格納すべきデータ量が小さい場合にはデータ部に実際のデータがそのまま格納され、データ量が多い場合には実際のデータはMakernoteIFDデータエリアにデータが格納されて、データ部にはデータの格納場所を示すポインタが格納される。但し、MakernoteIFD領域ではデータの格納形式を自由に定義できるので、必ずしもこの形式でデータを格納しなくても良い。以下の説明では、MakernoteIFD領域に格納されるデータのことを「MakerNoteデータ」と呼ぶ。
【0030】
図4Aは、IFD0で使われるタグの説明図である。図に示す通り、IFD0には一般的なデータ(画像データの特性を示すデータ)が格納され、詳細な撮影データは格納されていない。
図4Bは、ExifSubIFDで使われるタグの説明図である。図に示す通り、ExifSubIFDには詳細な撮影データが格納されている。なお、シーン識別処理の際に抽出される撮影データの大部分は、ExifSubIFDに格納されている撮影データである。なお、撮影シーンタイプタグ(Scene Capture Type)は、撮影シーンのタイプを示すタグである。また、Makernoteタグは、MakernoteIFDの格納場所を意味するタグである。
【0031】
ExifSubIFD領域の撮影シーンタイプタグに対するデータ部(撮影シーンタイプデータ)が、「ゼロ」ならば「標準」を意味し、「1」ならば「風景」を意味し、「2」ならば「人物」を意味し、「3」ならば「夜景」を意味する。なお、ExifSubIFDに格納されたデータは規格化されているため、この撮影シーンタイプデータの内容を誰でも知ることが可能である。
【0032】
本実施形態では、Makernoteデータの一つに、撮影モードデータが含まれている。この撮影モードデータでは、モード設定ダイヤル2Aで設定されたモード毎に異なる値を示す。但し、MakerNoteデータは、メーカ毎に形式が異なるため、MakerNoteデータの形式が分からなければ、撮影モードデータの内容を知ることはできない。
【0033】
図5は、モード設定ダイヤル2Aの設定とデータとの対応表である。ExifSubIFDで使われる撮影シーンタイプタグは、ファイルフォーマット規格に準拠しているため、特定できるシーンが限定されており、「夕景」等のシーンを特定するデータをデータ部に格納することはできない。一方、MakerNoteデータは自由に定義できるので、MakerNoteデータの一つである撮影モードタグにより、モード設定ダイヤル2Aの撮影モードを特定するデータをデータ部に格納できる。
【0034】
前述のデジタルスチルカメラ2は、モード設定ダイヤル2Aの設定に応じた撮影条件にて撮影を行った後、上記の画像ファイルを作成し、メモリカード6に保存する。この画像ファイルには、モード設定ダイヤル2Aに応じた撮影シーンタイプデータ及び撮影モードデータが、画像データに付加されるシーン情報として、それぞれExifSubIFD領域及びMakernoteIFD領域に格納される。
【0035】
===自動補正機能の概要===
「人物」の写真を印刷するときには、肌色をきれいにしたいという要求がある。また、「風景」の写真を印刷するときには、空の青色を強調し、木や草の緑色を強調したいという要求がある。そこで、本実施形態のプリンタ4は、画像ファイルを分析して自動的に適した補正処理を行う自動補正機能を備えている。
【0036】
図6は、プリンタ4の自動補正機能の説明図である。図中のプリンタ側コントローラ20の各要素は、ソフトウェアとハードウェアによって実現される。
【0037】
記憶部31は、メモリ23の一部の領域及びCPU22によって実現される。メモリカード6から読み出された画像ファイルの全部又は一部は、記憶部31の画像記憶部31Aに展開される。また、プリンタ側コントローラ20の各要素の演算結果は、記憶部31の結果記憶部31Bに格納される。
【0038】
顔識別部32は、CPU22と、メモリ23に記憶された顔識別プログラムとによって実現される。顔識別部32は、画像記憶部31Aに記憶された画像データを分析し、顔の有無を識別する。顔識別部32によって顔が有ると識別された場合、識別対象となる画像が「人物」のシーンに属すると識別される。この場合、シーン識別部33によるシーン識別処理は行われない。顔識別部32による顔識別処理は、既に広く行われている処理と同様なので、詳細な説明は省略する。
【0039】
シーン識別部33は、CPU22と、メモリ23に記憶されたシーン識別プログラムとによって実現される。シーン識別部33は、画像記憶部31Aに記憶された画像ファイルを分析し、画像データの示す画像のシーンを識別する。顔識別部32によって顔が無いと識別された場合に、シーン識別部33によるシーン識別処理が行われる。後述するように、シーン識別部33は、識別対象となる画像が「風景」、「夕景」、「夜景」、「花」、「紅葉」、「その他」のいずれの画像であるかを識別する。
【0040】
図7は、画像のシーンと補正内容との関係の説明図である。
画像補正部34は、CPU22と、メモリ23に記憶された画像補正プログラムとによって実現される。画像補正部34は、記憶部31の結果記憶部31B(後述)に記憶されている識別結果(顔識別部32やシーン識別部33の識別結果)に基づいて、画像記憶部31Aの画像データを補正する。例えば、シーン識別部33の識別結果が「風景」である場合には、青色を強調し、緑色を強調するような補正が行われる。なお、画像補正部34は、シーンの識別結果だけでなく、画像ファイルの撮影データの内容も反映して、画像データを補正しても良い。例えば、露出補正がマイナスの場合、暗い雰囲気の画像を明るくしないように画像データを補正しても良い。
【0041】
プリンタ制御部35は、CPU22、駆動信号生成部25、制御ユニット24及びメモリ23に記憶されたプリンタ制御プログラムによって、実現される。プリンタ制御部35は、補正後の画像データを印刷データに変換し、印刷機構10に画像を印刷させる。
【0042】
===シーン識別処理===
図8は、シーン識別部33によるシーン識別処理のフロー図である。図9は、シーン識別部33の機能の説明図である。図中のシーン識別部33の各要素は、ソフトウェアとハードウェアによって実現される。
【0043】
最初に、特徴量取得部40が、記憶部31の画像記憶部31Aに展開された画像データを分析し、部分特徴量を取得する(S101)。具体的には、特徴量取得部40は、画像データを8×8の64ブロックに分割し、各ブロックの色平均と分散を算出し、この色平均と分散を部分特徴量として取得する。なお、ここでは各画素はYCC色空間における階調値のデータをもっており、各ブロックごとに、Yの平均値、Cbの平均値及びCrの平均値がそれぞれ算出され、Yの分散、Cbの分散及びCrの分散がそれぞれ算出される。つまり、各ブロックごとに3つの色平均と3つの分散が部分特徴量として算出される。これらの色平均や分散は、各ブロックにおける部分画像の特徴を示すものである。なお、RGB色空間における平均値や分散を算出しても良い。
ブロックごとに色平均と分散が算出されるので、特徴量取得部40は、画像記憶部31Aには画像データの全てを展開せずに、ブロック分の画像データをブロック順に展開する。このため、画像記憶部31Aは、必ずしも画像ファイルの全てを展開できるだけの容量を備えていなくても良い。
【0044】
次に、特徴量取得部40が、全体特徴量を取得する(S102)。具体的には、特徴量取得部40は、画像データの全体の色平均、分散、重心及び撮影情報を、全体特徴量として取得する。なお、これらの色平均や分散は、画像の全体の特徴を示すものである。画像データ全体の色平均、分散及び重心は、先に算出した部分特徴量を用いて算出される。このため、全体特徴量を算出する際に、画像データを再度展開する必要がないので、全体特徴量の算出速度が速くなる。全体識別処理(後述)は部分識別処理(後述)よりも先に行われるにも関わらず、全体特徴量が部分特徴量よりも後に求められるのは、このように算出速度を速めるためである。なお、撮影情報は、画像ファイルの撮影データから抽出される。具体的には、絞り値、シャッター速度、フラッシュ発光の有無などの情報が全体特徴量として用いられる。但し、画像ファイルの撮影データの全てが全体特徴量として用いられるわけではない。
【0045】
次に、全体識別器50が、全体識別処理を行う(S103)。全体識別処理とは、全体特徴量に基づいて、画像データの示す画像のシーンを識別(推定)する処理である。全体識別処理の詳細については、後述する。
【0046】
全体識別処理によってシーンの識別ができる場合(S104でYES)、シーン識別部33は、記憶部31の結果記憶部31Bに識別結果を記憶することによってシーンを決定し(S109)、シーン識別処理を終了する。つまり、全体識別処理によってシーンの識別ができた場合(S104でYES)、部分識別処理や統合識別処理が省略される。これにより、シーン識別処理の速度が速くなる。
全体識別処理によってシーンの識別ができない場合(S104でNO)、次に部分識別器60が、部分識別処理を行う(S105)。部分識別処理とは、部分特徴量に基づいて、画像データの示す画像全体のシーンを識別する処理である。部分識別処理の詳細については、後述する。
【0047】
部分識別処理によってシーンの識別ができる場合(S106でYES)、シーン識別部33は、記憶部31の結果記憶部31B識別結果をに記憶することによってシーンを決定し(S109)、シーン識別処理を終了する。つまり、部分識別処理によってシーンの識別ができた場合(S106でYES)、統合識別処理が省略される。これにより、シーン識別処理の速度が速くなる。
部分識別処理によってシーンの識別ができない場合(S106でNO)、次に統合識別器70が、統合識別処理を行う(S107)。統合識別処理の詳細については、後述する。
【0048】
統合識別処理によってシーンの識別ができる場合(S108でYES)、シーン識別部33は、記憶部31の結果記憶部31Bに識別結果を記憶することによってシーンを決定し(S109)、シーン識別処理を終了する。一方、統合識別処理によってシーンの識別ができない場合(S108でNO)、画像データの示す画像が「その他」のシーン(「風景」、「夕景」、「夜景」、「花」又は「紅葉」以外のシーン)である旨の識別結果を結果記憶部31Bに記憶する(S110)。
【0049】
===全体識別処理===
図10は、全体識別処理のフロー図である。ここでは図9も参照しながら全体識別処理について説明する。
まず、全体識別器50は、複数のサブ識別器51の中から1つのサブ識別器51を選択する(S201)。全体識別器50には、識別対象となる画像(識別対象画像)が特定のシーンに属するか否かを識別するサブ識別器51が5つ設けられている。5つのサブ識別器51は、それぞれ風景、夕景、夜景、花、紅葉のシーンを識別する。ここでは、全体識別器50は、風景→夕景→夜景→花→紅葉の順に、サブ識別器51を選択する。このため、最初には、識別対象画像が風景のシーンに属するか否かを識別するサブ識別器51(風景識別器51L)が選択される。
【0050】
次に、全体識別器50は、識別対象テーブルを参照し、選択したサブ識別器51を用いてシーンを識別すべきか否かを判断する(S202)。
【0051】
図11は、識別対象テーブルの説明図である。この識別対象テーブルは、記憶部31の結果記憶部31Bに記憶される。識別対象テーブルは、最初の段階では全ての欄がゼロに設定される。S202の処理では、「否定」欄が参照され、ゼロであればYESと判断され、1であればNOと判断される。ここでは、全体識別器50は、識別対象テーブルにおける「風景」欄の「否定」欄を参照し、ゼロであるのでYESと判断する。
【0052】
次に、サブ識別器51は、全体特徴量に基づいて、識別対象画像が特定のシーンに属する確率に応じた値(評価値)を算出する(S203)。本実施形態のサブ識別器51には、サポートベクタマシン(SVM)による識別手法が用いられている。なお、サポートベクタマシンについては、後述する。識別対象画像が特定のシーンに属する場合、サブ識別器51の判別式は、プラスの値になりやすい。識別対象画像が特定のシーンに属しない場合、サブ識別器51の判別式は、マイナスの値になりやすい。また、判別式は、識別対象画像が特定のシーンに属する確率が高いほど、大きい値になる。このため、判別式の値が大きければ、識別対象画像が特定のシーンに属する確率が高くなり、判別式の値が小さければ、識別対象画像が特定のシーンに属する確率が低くなる。
【0053】
このため、判別式の値(評価値)は、識別対象画像が特定のシーンに属することの確からしさである確信度を示す。なお、以下の説明における確信度は、判別式の値そのものを指しても良いし、判別式の値から求められる正答率(後述)を指しても良い。なお、判別式の値そのもの、又は、判別式の値から求められる正答率(後述)は、識別対象画像が特定のシーンに属する確率に応じた「評価値」(評価結果)でもある。
【0054】
次に、サブ識別器51は、判別式の値(確信度)が肯定閾値より大きいか否かを判断する(S204)。判別式の値が肯定閾値より大きければ、サブ識別器51は、識別対象画像が特定のシーンに属すると判断することになる。
【0055】
図12は、全体識別処理の肯定閾値の説明図である。同図において、横軸は肯定閾値を示し、縦軸はRecall又はPrecisionの確率を示す。図13は、RecallとPrecisionの説明図である。判別式の値が肯定閾値以上の場合には識別結果はPositiveであり、判別式の値が肯定閾値以上でない場合には識別結果はNegativeである。
【0056】
Recallは、再現率や検出率を示すものである。Recallは、特定のシーンの画像の総数に対する、特定のシーンに属すると識別された画像の数の割合である。言い換えると、Recallは、特定のシーンの画像をサブ識別器51に識別させたときに、サブ識別器51がPositiveと識別する確率(特定のシーンの画像が特定のシーンに属すると識別される確率)を示すものである。例えば、風景画像を風景識別器51Lに識別させたときに、風景のシーンに属すると風景識別器51Lが識別する確率を示すものである。
【0057】
Precisionは、正答率や正解率を示すものである。Precisionは、Positiveと識別された画像の総数に対する、特定のシーンの画像の数の割合である。言い換えると、Precisionは、特定のシーンを識別するサブ識別器51がPositiveと識別したときに、識別対象の画像が特定のシーンである確率を示すものである。例えば、風景識別器51Lが風景のシーンに属すると識別したときに、その識別した画像が本当に風景画像である確率を示すものである。
【0058】
図12から分かる通り、肯定閾値を大きくするほど、Precisionが大きくなる。このため、肯定閾値を大きくするほど、例えば風景のシーンに属すると識別された画像が風景画像である確率が高くなる。つまり、肯定閾値を大きくするほど、誤識別の確率が低くなる。
一方、肯定閾値を大きくするほど、Recallは小さくなる。この結果、例えば、風景画像を風景識別器51Lで識別した場合であっても、風景のシーンに属すると正しく識別しにくくなる。ところで、識別対象画像が風景のシーンに属すると識別できれば(S204でYES)、残りの別のシーン(夕景など)の識別を行わないようにして全体識別処理の速度を速めている。このため、肯定閾値を大きくするほど、全体識別処理の速度は低下することになる。また、全体識別処理によってシーンが識別できれば部分識別処理を行わないようにしてシーン識別処理の速度を速めているため(S104)、肯定閾値を大きくするほど、シーン識別処理の速度は低下することになる。
つまり、肯定閾値が小さすぎると誤識別の確率が高くなり、大きすぎると処理速度が低下することになる。本実施形態では、正答率(Precision)を97.5%に設定するため、風景の肯定閾値は1.72に設定されている。
【0059】
判別式の値が肯定閾値より大きければ(S204でYES)、サブ識別器51は、識別対象画像が特定のシーンに属すると判断し、肯定フラグを立てる(S205)。「肯定フラグを立てる」とは、図11の「肯定」欄を1にすることである。この場合、全体識別器50は、次のサブ識別器51による識別を行わずに、全体識別処理を終了する。例えば、風景画像であると識別できれば、夕景などの識別を行わずに、全体識別処理を終了する。この場合、次のサブ識別器51による識別を省略しているので、全体識別処理の速度を速めることができる。
判別式の値が肯定閾値より大きくなければ(S204でNO)、サブ識別器51は、識別対象画像が特定のシーンに属すると判断できず、次のS206の処理を行う。
【0060】
次に、サブ識別器51は、判別式の値と否定閾値とを比較する(S206)。これにより、サブ識別器51は、識別対象画像が所定のシーンに属しないかを判断する。このような判断としては、2種類ある。第1に、ある特定のシーンのサブ識別器51の判別式の値が第1否定閾値より小さければ、その特定のシーンに識別対象画像が属しないと判断されることになる。例えば、風景識別器51Lの判別式の値が第1否定閾値より小さければ、識別対象画像が風景のシーンに属しないと判断されることになる。第2に、ある特定のシーンのサブ識別器51の判別式の値が第2否定閾値より大きければ、その特定のシーンとは別のシーンに識別対象画像が属しないと判断されることになる。例えば、風景識別器51Lの判別式の値が第2否定閾値より大きければ、識別対象画像が夜景のシーンに属しないと判断されることになる。
【0061】
図14は、第1否定閾値の説明図である。同図において、横軸は第1否定閾値を示し、縦軸は確率を示す。グラフの太線は、True Negative Recallのグラフであり、風景画像以外の画像を風景画像ではないと正しく識別する確率を示している。グラフの細線は、False Negative Recallのグラフであり、風景画像なのに風景画像ではないと誤って識別する確率を示している。
【0062】
図14から分かる通り、第1否定閾値を小さくするほど、False Negative Recallが小さくなる。このため、第1否定閾値を小さくするほど、例えば風景のシーンに属しないと識別された画像が風景画像である確率が低くなる。つまり、誤識別の確率が低くなる。
一方、第1否定閾値を小さくするほど、True Negative Recallも小さくなる。この結果、風景画像以外の画像を風景画像ではないと識別しにくくなる。その一方、識別対象画像が特定シーンでないことを識別できれば、部分識別処理の際に、その特定シーンのサブ部分識別器61による処理を省略してシーン識別処理速度を速めている(後述、図17のS302)。このため、第1否定閾値を小さくするほど、シーン識別処理速度は低下する。
つまり、第1否定閾値が大きすぎると誤識別の確率が高くなり、小さすぎると処理速度が低下することになる。本実施形態では、False Negative Recallを2.5%に設定するため、第1否定閾値は−1.01に設定されている。
【0063】
ところで、ある画像が風景のシーンに属する確率が高ければ、必然的にその画像が夜景のシーンに属する確率は低くなる。このため、風景識別器51Lの判別式の値が大きい場合には、夜景ではないと識別できる場合がある。このような識別を行うために、第2否定閾値が設けられる。
【0064】
図15は、第2否定閾値の説明図である。同図において、横軸は風景の判別式の値を示し、縦軸は確率を示す。同図には、図12のRecallとPrecisionのグラフとともに、夜景のRecallのグラフが点線で描かれている。この点線のグラフに注目すると、風景の判別式の値が−0.44よりも大きければ、その画像が夜景画像である確率は2.5%である。言い換えると、風景の判別式の値が−0.44より大きい場合にその画像が夜景画像でないと識別しても、誤識別の確率は2.5%にすぎない。そこで、本実施形態では、第2否定閾値が−0.44に設定されている。
【0065】
そして、判別式の値が第1否定閾値より小さい場合、又は、判別式の値が第2否定閾値より大きい場合(S206でYES)、サブ識別器51は、識別対象画像が所定のシーンに属しないと判断し、否定フラグを立てる(S207)。「否定フラグを立てる」とは、図11の「否定」欄を1にすることである。例えば、第1否定閾値に基づいて識別対象画像が風景のシーンに属しないと判断された場合、「風景」欄の「否定」欄が1になる。また、第2否定閾値に基づいて識別対象画像が夜景のシーンに属しないと判断された場合、「夜景」欄の「否定」欄が1になる。
【0066】
図16Aは、上記で説明した風景識別器51Lにおける閾値の説明図である。風景識別器51Lには、肯定閾値及び否定閾値が予め設定されている。肯定閾値として1.72が設定されている。否定閾値には第1否定閾値と第2否定閾値とがある。第1否定閾値として−1.01が設定されている。また、第2否定閾値として、風景以外の各シーンにそれぞれ値が設定されている。
【0067】
図16Bは、上記で説明した風景識別器51Lの処理の概要の説明図である。ここでは、説明の簡略化のため、第2否定閾値については夜景についてのみ説明する。風景識別器51Lは、判別式の値が1.72より大きければ(S204でYES)、識別対象画像が風景のシーンに属すると判断する。また、判別式の値が1.72以下であり(S204でNO)、−0.44より大きければ(S206でYES)、風景識別器51Lは、識別対象画像が夜景のシーンに属しないと判断する。また、判別式の値が−1.01より小さければ(S206でYES)、風景識別器51Lは、識別対象画像が風景のシーンに属しないと判断する。なお、風景識別器51Lは、夕景や紅葉についても、第2否定閾値に基づいて、識別対象画像がそのシーンに属しないかを判断する。但し、花の第2否定閾値は肯定閾値よりも大きいため、識別対象画像が花のシーンに属しないことを風景識別器51Lが判断することはない。
【0068】
S202においてNOの場合、S206でNOの場合、又はS207の処理を終えた場合、全体識別器50は、次のサブ識別器51の有無を判断する(S208)。ここでは風景識別器51Lによる処理を終えた後なので、全体識別器50は、S208において、次のサブ識別器51(夕景識別器51S)があると判断する。
【0069】
そして、S205の処理を終えた場合(識別対象画像が特定のシーンに属すると判断された場合)、又は、S208において次のサブ識別器51がないと判断された場合(識別対象画像が特定のシーンに属すると判断できなかった場合)、全体識別器50は、全体識別処理を終了する。
【0070】
なお、既に説明した通り、全体識別処理が終了すると、シーン識別部33は、全体識別処理によってシーンの識別ができたか否かを判断する(図8のS104)。このとき、シーン識別部33は、図11の識別対象テーブルを参照し、「肯定」欄に1があるか否かを判断することになる。
【0071】
全体識別処理によってシーンの識別ができた場合(S104でYES)、部分識別処理や統合識別処理が省略される。これにより、シーン識別処理の速度が速くなる。
【0072】
===部分識別処理===
図17は、部分識別処理のフロー図である。部分識別処理は、全体識別処理によってシーンの識別ができなかった場合(図8のS104でNO)に行われる。以下に説明するように、部分識別処理は、分割された分割画像のシーンをそれぞれ識別することによって、画像全体のシーンを識別する処理である。ここでは図9も参照しながら部分識別処理について説明する。
【0073】
まず、部分識別器60は、複数のサブ部分識別器61の中から1つのサブ部分識別器61を選択する(S301)。部分識別器60には、サブ部分識別器61が3つ設けられている。各サブ部分識別器61は、8×8の64ブロックに分割された部分画像がそれぞれ特定のシーンに属するか否かを識別する。ここでの3つのサブ部分識別器61は、それぞれ夕景、花、紅葉のシーンを識別する。部分識別器60は、夕景→花→紅葉の順に、サブ部分識別器61を選択する。このため、最初には、部分画像が夕景のシーンに属するか否かを識別するサブ部分識別器61(夕景部分識別器61S)が選択される。
【0074】
次に、部分識別器60は、識別対象テーブル(図11)を参照し、選択したサブ部分識別器61を用いてシーンを識別すべきか否かを判断する(S302)。ここでは、部分識別器60は、識別対象テーブルにおける「夕景」欄の「否定」欄を参照し、ゼロであればYESと判断し、1であればNOと判断する。なお、全体識別処理の際に、夕景識別器51Sが第1否定閾値により否定フラグを立てたとき、又は、他のサブ識別器51が第2否定閾値により否定フラグを立てたとき、このS302でNOと判断される。仮にNOと判断されると夕景の部分識別処理は省略されることになるので、部分識別処理の速度が速くなる。但し、ここでは説明の都合上、YESと判断されるものとする。
【0075】
次に、サブ部分識別器61は、8×8の64ブロックに分割された部分画像の中から、1つの部分画像を選択する(S303)。
図18は、夕景部分識別器61Sが選択する部分画像の順番の説明図である。部分画像から画像全体のシーンを識別するような場合、識別に用いられる部分画像は、被写体が存在する部分であることが望ましい。そこで、本実施形態では、数千枚のサンプルの夕景画像を用意し、各夕景画像を8×8の64ブロックに分割し、夕景部分画像(夕景の太陽と空の部分画像)を含むブロックを抽出し、抽出されたブロックの位置に基づいて各ブロックにおける夕景部分画像の存在確率を算出した。そして、本実施形態では、存在確率の高いブロックから順番に、部分画像が選択される。なお、図に示す選択順序の情報は、プログラムの一部としてメモリ23に格納されている。
【0076】
なお、夕景画像の場合、画像の中央付近から上半分に夕景の空が広がっていることが多いため、中央付近から上半分のブロックにおいて存在確率が高くなる。また、夕景画像の場合、画像の下1/3では逆光で陰になり、部分画像単体では夕景か夜景か区別がつかないことが多いため、下1/3のブロックにおいて存在確率が低くなる。花画像の場合、花を中央付近に配置させる構図にすることが多いため、中央付近における花部分画像の存在確率が高くなる。
【0077】
次に、サブ部分識別器61は、選択された部分画像の部分特徴量に基づいて、その部分画像が特定のシーンに属するか否かを判断する(S304)。サブ部分識別器61には、全体識別器50のサブ識別器51と同様に、サポートベクタマシン(SVM)による判別手法が用いられている。なお、サポートベクタマシンについては、後述する。判別式の値が正の値であれば、部分画像が特定のシーンに属すると判断し、サブ部分識別器61は正カウント値をインクリメントする。また、判別式の値が負の値であれば、部分画像が特定のシーンに属しないと判断し、サブ部分識別器61は負カウント値をインクリメントする。
【0078】
次に、サブ部分識別器61は、正カウント値が肯定閾値よりも大きい否かを判断する(S305)。なお、正カウント値は、特定のシーンに属すると判断された部分画像の数を示すものである。正カウント値が肯定閾値より大きければ(S305でYES)、サブ部分識別器61は、識別対象画像が特定のシーンに属すると判断し、肯定フラグを立てる(S306)。この場合、部分識別器60は、次のサブ部分識別器61による識別を行わずに、部分識別処理を終了する。例えば、夕景画像であると識別できれば、花や紅葉の識別を行わずに、部分識別処理を終了する。この場合、次のサブ部分識別器61による識別を省略しているので、部分識別処理の速度を速めることができる。
正カウント値が肯定閾値より大きくなければ(S305でNO)、サブ部分識別器61は、識別対象画像が特定のシーンに属すると判断できず、次のS307の処理を行う。
【0079】
サブ部分識別器61は、正カウント値と残りの部分画像数との和が肯定閾値よりも小さければ(S307でYES)、S309の処理へ進む。正カウント値と残りの部分画像数との和が肯定閾値よりも小さい場合、残り全ての部分画像によって正カウント値がインクリメントされても正カウント値が肯定閾値より大きくなることがないので、S309に処理を進めることによって、残りの部分画像についてサポートベクタマシンによる識別を省略する。これにより、部分識別処理の速度を速めることができる。
【0080】
サブ部分識別器61がS307でNOと判断した場合、サブ部分識別器61は、次の部分画像の有無を判断する(S308)。なお、本実施形態では、64個に分割された部分画像の全てを順に選択していない。図18において太枠で示された上位10番目までの10個の部分画像だけを順に選択している。このため、10番目の部分画像の識別を終えれば、サブ部分識別器61は、S308において次の部分画像はないと判断する。(この点を考慮して、S307の「残りの部分画像数」も決定される。)
図19は、上位10番目までの10個の部分画像だけで夕景画像の識別をしたときのRecall及びPrecisionのグラフである。図に示すような肯定閾値を設定すれば、正答率(Precision)を80%程度に設定でき、再現率(Recall)を90%程度に設定でき、精度の高い識別が可能である。
【0081】
本実施形態では、10個の部分画像だけで夕景画像の識別を行っている。このため、本実施形態では、64個の全ての部分画像を用いて夕景画像の識別を行うよりも、部分識別処理の速度を速めることができる。
また、本実施形態では、夕景部分画像の存在確率の高い上位10番目の部分画像を用いて夕景画像の識別を行っている。このため、本実施形態では、存在確率を無視して抽出された10個の部分画像を用いて夕景画像の識別を行うよりも、Recall及びPrecisionをともに高く設定することが可能になる。
また、本実施形態では、夕景部分画像の存在確率の高い順に部分画像を選択している。この結果、早い段階でS305の判断がYESになりやすくなる。このため、本実施形態では、存在確率の高低を無視した順で部分画像を選択したときよりも、部分識別処理の速度を速めることができる。
【0082】
S307においてYESと判断された場合、又は、S308において次の部分画像がないと判断された場合、サブ部分識別器61は、負カウント値が否定閾値よりも大きいか否かを判断する(S309)。この否定閾値は、前述の全体識別処理における否定閾値(図10のS206)とほぼ同様の機能を果たすものなので、詳しい説明は省略する。S309でYESと判断された場合、図10のS207と同様に、否定フラグを立てる。
【0083】
S302においてNOの場合、S309でNOの場合、又はS310の処理を終えた場合、部分識別器60は、次のサブ部分識別器61の有無を判断する(S311)。夕景部分識別器61Sによる処理を終えた後の場合、サブ部分識別器61として花部分識別器61Fや紅葉部分識別器61Rがまだあるので、部分識別器60は、S311において、次のサブ部分識別器61があると判断する。
【0084】
そして、S306の処理を終えた場合(識別対象画像が特定のシーンに属すると判断された場合)、又は、S311において次のサブ部分識別器61がないと判断された場合(識別対象画像が特定のシーンに属すると判断できなかった場合)、部分識別器60は、部分識別処理を終了する。
【0085】
なお、既に説明した通り、部分識別処理が終了すると、シーン識別部33は、部分識別処理によってシーンの識別ができたか否かを判断する(図8のS106)。このとき、シーン識別部33は、図11の識別対象テーブルを参照し、「肯定」欄に1があるか否かを判断することになる。
【0086】
部分識別処理によってシーンの識別ができた場合(S106でYES)、統合識別処理が省略される。これにより、シーン識別処理の速度が速くなる。
【0087】
===サポートベクタマシン===
統合識別処理について説明する前に、全体識別処理のサブ識別器51や部分識別処理のサブ部分識別器61において用いられているサポートベクタマシン(SVM)について説明する。
【0088】
図20Aは、線形サポートベクタマシンによる判別の説明図である。ここでは、2つの特徴量x1、x2によって、学習用サンプルを2次元空間に示している。学習用サンプルは2つのクラスA、Bに分けられている。図中では、クラスAに属するサンプルは丸で示されており、クラスBに属するサンプルは四角で示されている。
学習用サンプルを用いた学習によって、2次元空間を2つに分ける境界が定義される。境界は、<w・x>+b=0で定義される(なお、x=(x1,x2)であり、wは重みベクトルであり、<w・x>はwとxの内積である)。但し、境界は、マージンが最大になるように、学習用サンプルを用いた学習によって定義される。つまり、図の場合、境界は、太点線ではなく、太実線のようになる。
判別は、判別式f(x)=<w・x>+bを用いて行われる。ある入力x(この入力xは学習用サンプルとは別である)について、f(x)>0であればクラスAに属すると判別され、f(x)<0であればクラスBに属すると判別される。
ここでは2次元空間を用いて説明しているが、これに限られない(つまり、特徴量は2以上でも良い)。この場合、境界は超平面で定義される。
【0089】
ところで、2つのクラスに線形関数で分離できないことがある。このような場合に線形サポートベクタマシンによる判別を行うと、判別結果の精度が低下する。そこで、入力空間の特徴量を非線形変換すれば、すなわち入力空間からある特徴空間へ非線形写像すれば、特徴空間において線形関数で分離することができるようになる。非線形サポートベクタマシンでは、これを利用している。
【0090】
図20Bは、カーネル関数を用いた判別の説明図である。ここでは、2つの特徴量x1、x2によって、学習用サンプルを2次元空間に示している。図20Bの入力空間からの非線形写像が図20Aのような特徴空間になれば、線形関数で2つのクラスに分離することが可能になる。この特徴空間においてマージンが最大になるように境界が定義されれば、特徴空間における境界の逆写像が、図20Bに示す境界になる。この結果、図20Bに示すように、境界は非線形になる。
【0091】
本実施形態ではガウスカーネルを利用することにより、判別式f(x)は次式のようになる(なお、Mは特徴量の数であり、Nは学習用サンプルの数(若しくは境界に寄与する学習用サンプルの数)であり、wは重み係数であり、yは学習用サンプルの特徴量であり、xは入力xの特徴量である)。
【数1】

【0092】
ある入力x(この入力xは学習用サンプルとは別である)について、f(x)>0であればクラスAに属すると判別され、f(x)<0であればクラスBに属すると判別される。また、判別式f(x)の値が大きい値になるほど、入力x(この入力xは学習用サンプルとは別である)がクラスAに属する確率が高くなる。逆に、判別式f(x)の値が小さい値になるほど、入力x(この入力xは学習用サンプルとは別である)がクラスAに属する確率が低くなる。前述の全体識別処理のサブ識別器51や部分識別処理のサブ部分識別器61では、上記のサポートベクタマシンの判別式f(x)の値を用いている。
【0093】
なお、学習用サンプルとは別に評価用サンプルが用意されている。前述のRecallやPrecisionのグラフは、評価用サンプルに対する識別結果に基づくものである。
【0094】
<本実施形態で用いられる特徴量について>
前述したように、ユーザは、モード設定ダイヤル2Aによって、撮影モードを設定することができる。そして、デジタルスチルカメラ2は、設定された撮影モードや撮影時の測光結果等に基づいて、撮影条件(露光時間、ISO感度等)を決定し、決定した撮影条件にて被写体を撮影する。撮影後、デジタルスチルカメラ2は、撮影時の撮影条件を示す撮影データを、画像データとともに、画像ファイルとしてメモリカード6に保存する。
【0095】
ところで、ユーザが撮影モードを設定し忘れたために、撮影条件に不適切な撮影モードが設定されたまま、撮影が行われることがある。例えば、夜景モードが設定されたまま、日中の風景が撮影されることがある。この場合、画像ファイルの画像データは日中の風景の画像であるにも関わらず、撮影データには夜景モードを示すデータが記憶されることになる(例えば図5の撮影シーンタイプデータが「3」になる)。
【0096】
仮に撮影シーンタイプデータや撮影モードデータを特徴量とすると、ユーザが撮影モードの設定を忘れたときに、その画像を誤識別する確率が高くなる。この場合、不適切な撮影モードで撮影された画像に対し、更に誤識別結果に基づく補正が施されることになり、補正結果が劣悪なものになるおそれがある。
【0097】
そこで、本実施形態では、付加データにシーン情報(撮影シーンタイプデータや撮影モードデータ)が含まれていても、このシーン情報は特徴量として抽出しないことにしている。つまり、本実施形態では、画像データに基づいて取得される特徴量と、シーン情報以外の付加データとを特徴量としている。なお、シーン情報以外の付加データを特徴量とする場合、露出時間(Exposure Time)、F値(F Number)、シャッタースピード(Shutter Speed Value)、絞り値(Aperture Value)、露光補正値(Exposure Bias Value)、レンズ最小F値(Max Aperture Value)、被写体距離(Subject Distance)、測光方式(Metering Mode)、光源(Light Source)、フラッシュ(Flash)、ホワイトバランス(White Balance)など、幅広い撮影データを特徴量とすることができる。
【0098】
シーン情報以外の上記の付加データのうち、デジタルスチルカメラの制御内容を示す制御データを特徴量とすれば、誤識別する確率を減らすことが可能になる。なぜなら、デジタルスチルカメラの制御に応じて画像データの画質が異なるため、制御データを特徴量として識別処理を行えば、撮影時のデジタルスチルカメラの制御内容を考慮して画質を識別することになるからである。デジタルスチルカメラの制御データとしては、例えば、撮影時のデジタルスチルカメラの動作を示すデータ(例えば、絞り値、シャッタースピードなど)や、撮影後のデジタルスチルカメラの画像処理を示すデータ(例えば、ホワイトバランスなど)が含まれる。
【0099】
制御データのうち、特に明るさに関連する制御データを特徴量とすれば、誤識別する確率を減らすことが可能になる。明るさに関連する制御データとしては、例えば、絞り値、シャッタースピード、ISO感度などが含まれる。つまり、明るさに関連する制御データは、言い換えると、デジタルスチルカメラのCCDに入る光量に関連するデータでもある。
仮に、同程度に暗い2つの画像を識別する際に画像の明るさに関連する制御データを特徴量とせずに識別処理が行われると、どちらも例えば「夜景」に識別されるかもしれない。しかし、例えばシャッタースピードを特徴量とすれば、シャッタースピードが長いにも関わらず暗い画像なのか、シャッタースピードが短いために暗い画像なのかを考慮して、識別を行うことができる。逆光による暗い画像の場合にはシャッタースピードが短いため、シャッタースピードを特徴量とすれば、逆光による暗い画像を「夜景」と誤識別する確率を減らすことができる。
【0100】
また、制御データのうち、画像の色に関連する制御データを特徴量とすれば、誤識別する確率を減らすことが可能になる。画像の色に関連する制御データとしては、例えばホワイトバランスなどが含まれる。
仮に、同程度に赤味の強い2つの画像を識別する際に、画像の色に関連するデータを特徴量とせずに識別処理が行われると、どちらも例えば「夕景」に識別されるかもしれない。しかし、例えばホワイトバランスを特徴量とすれば、赤色を強調する画像処理のために赤味の強い画像なのか、赤色を強調する画像処理が行われていないにも関わらず赤味の強い画像なのかを考慮して、識別を行うことができる。ホワイトバランスを特徴量にすることによって前者の画像よりも後者の画像が「夕景」に識別され難くなれば、誤識別する確率を減らすことが可能になる。
【0101】
特徴量に用いられる付加データは、連続的な値を示すものもあるし、離散的な値を示すものもある。例えば、シャッタースピードや絞り値などの物理的な量を示す付加データの場合、連続的な値を示すことになる。一方、測光方式やフラッシュのON/OFFを示す付加データの場合、離散的な値を示すことになる。いずれの場合であっても、前述の判別式f(x)の特徴量y(学習用サンプルの特徴量)や特徴量x(入力xの特徴量)として、付加データの示す値を用いることができる。
【0102】
そして本実施形態では、学習用サンプルから特徴量を取得し、この特徴量を用いて判別式を求める。求められた判別式は、サブ識別器51やサブ部分識別器61を構成するためのプログラムの一部に組み込まれることになる。そして、識別対象画像の属するシーンを識別するときに、画像ファイルから特徴量を取得し、判別式の値を算出し、この判別式の値に基づいて識別を行うことになる。
【0103】
なお、シーン情報を特徴量にしつつ、ダイヤル設定ミスがあっても正解率を高めるようにするためには、ダイヤル設定ミスを含む学習用サンプルを用意する必要がある。しかし、このような学習用サンプルを用意することは困難であり、また、仮に用意できても学習用サンプルの数が増えてしまう。また、学習用サンプルの数が増えると判別式の計算量が増えてしまい、識別器の処理速度が低下する。このような点からも、シーン情報は特徴量にしないことが望ましい。
【0104】
本実施形態によれば、識別対象画像を誤識別する確率を軽減することができる。また、ユーザが撮影モードの設定を忘れたときの画像こそ、不適切な撮影モードで撮影されているため、適切に識別されて適切に補正が施されたときの効果が大きい。
【0105】
===統合識別処理===
前述の全体識別処理や部分識別処理では、サブ識別器51やサブ部分識別器61における肯定閾値を比較的高めに設定し、Precision(正解率)を高めに設定している。なぜならば、例えば全体識別部の風景識別器51Lの正解率が低く設定されると、風景識別器51Lが紅葉画像を風景画像であると誤識別してしまい、紅葉識別器51Rによる識別を行う前に全体識別処理を終えてしまう事態が発生してしまうからである。本実施形態では、Precision(正解率)が高めに設定されることにより、特定のシーンに属する画像が特定のシーンのサブ識別器51(又はサブ部分識別器61)に識別されるようになる(例えば紅葉画像が紅葉識別器51R(又は紅葉部分識別器61R)によって識別されるようになる)。
【0106】
但し、全体識別処理や部分識別処理のPrecision(正解率)を高めに設定すると、全体識別処理や部分識別処理ではシーンの識別ができなくなる可能性が高くなる。そこで、本実施形態では、全体識別処理及び部分識別処理によってシーンの識別ができなかった場合、以下に説明する統合識別処理が行われる。
【0107】
図21は、統合識別処理のフロー図である。以下に説明するように、統合識別処理は、全体識別処理の各サブ識別器51の判別式の値に基づいて、最も確信度の高いシーンを選択する処理である。
【0108】
まず、統合識別器70は、5つのサブ識別器51の判別式の値に基づいて、正となるシーンを抽出する(S401)。このとき、全体識別処理の際に各サブ識別器51が算出した判別式の値が用いられる。
【0109】
次に、統合識別器70は、判別式の値が正のシーンが存在するか否かを判断する(S402)。
判別式の値が正のシーンが存在する場合(S402でYES)、最大値のシーンの欄に肯定フラグを立てて(S403)、統合識別処理を終了する。これにより、最大値のシーンに識別対象画像が属すると判断される。
一方、判別式の値が正であるシーンが存在しない場合(S402でNO)、肯定フラグを立てずに、統合識別処理を終了する。これにより、図11の識別対象テーブルの肯定欄において、1のシーンが無いままの状態になる。つまり、識別対象画像が、どのシーンに属するか識別できなかったことになる。
【0110】
なお、既に説明した通り、統合識別処理が終了すると、シーン識別部33は、統合識別処理によってシーンの識別ができたか否かを判断する(図8のS108)。このとき、シーン識別部33は、図11の識別対象テーブルを参照し、「肯定」欄に1があるか否かを判断することになる。S402でNOとの判断の場合、S108の判断もNOになる。
【0111】
===その他の実施の形態===
一実施形態としてのプリンタ等を説明したが、上記の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることは言うまでもない。特に、以下に述べる実施形態であっても、本発明に含まれるものである。
【0112】
<プリンタについて>
前述の実施形態ではプリンタ4がシーン識別処理等をしていたが、デジタルスチルカメラ2がシーン識別処理等をしても良い。また、上記のシーン識別処理を行う情報処理装置は、プリンタ4やデジタルスチルカメラ2に限られるものではない。例えば、大量の画像ファイルを保存するフォトストレージのような情報処理装置が、上記のシーン識別処理を行っても良い。もちろん、パーソナルコンピュータやインターネット上に設置されたサーバーが、上記のシーン識別処理を行っても良い。
【0113】
<画像ファイルについて>
前述の画像ファイルはExif形式であったが、画像ファイルフォーマットはこれに限られるものではない。また、前述の画像ファイルは静止画であるが、動画であっても良い。要するに、画像ファイルが画像データと付加データとを備えていれば、前述のようなシーン識別処理を行うことが可能である。
【0114】
<サポートベクタマシンについて>
前述のサブ識別器51やサブ部分識別器61には、サポートベクタマシン(SVM)による識別手法が用いられている。しかし、識別対象画像が特定シーンに属するか否かの識別手法は、サポートベクタマシンを用いるものに限られるものではない。例えば、ニューラルネットワーク等のパターン認識を採用しても良い。
【0115】
===まとめ===
(1)前述の実施形態では、プリンタ側コントローラ20は、画像データから、画像データの示す画像の色平均・分散などを算出する。また、プリンタ側コントローラ20は、画像データに付加されている付加データから、シーン情報以外の撮影データを取得する。そして、プリンタ側コントローラ20は、これらの取得したデータを特徴量として、全体識別処理等の識別処理を行い、画像データの示す画像のシーンを識別している。
前述の実施形態では、特徴量にはシーン情報が含まれていない。これは、シーン情報を特徴量とすると、ユーザが撮影モードの設定を忘れたときに、その画像を誤識別する確率が高くなるためである。
【0116】
(2)前述の実施形態では、撮影時(画像データを生成したときに相当)のデジタルスチルカメラ(撮影装置に相当)の制御データを特徴量にして、画像のシーンを識別している。このように制御データを特徴量として識別処理を行えば、撮影時のデジタルスチルカメラの制御内容を考慮して画質を識別できるので、誤識別する確率を減らすことが可能になる。
【0117】
(3)前述の実施形態では、絞り値やシャッタースピード等の明るさに関連する制御データを特徴量にして、画像のシーンを識別している。これにより、同程度の明るさの画像であっても、識別結果が異なることがある。また、これにより、誤識別する確率を減らすことが可能になる。
【0118】
(4)前述の実施形態では、ホワイトバランス等の画像の色に関連する制御データを特徴量にして、画像のシーンを識別している。これにより、同程度の色味の画像であっても、識別結果が異なることがある。また、これにより、誤識別する確率を減らすことが可能になる。
【0119】
(5)前述のシーン識別処理では、全体識別処理によってシーンの識別ができない場合(S105でNO)、部分識別処理が行われる(S106)。一方、全体識別処理によってシーンの識別ができた場合(S105でYES)、部分識別処理は行われない。これにより、シーン識別処理の速度が速くなる。
【0120】
(6)前述の全体識別処理では、サブ識別器51がサポートベクタマシンによる判別式の値(評価値に相当)を算出し、この値が肯定閾値(第1閾値に相当)より大きければ(S204でYES)、特定のシーンであることを識別する(S205)。一方、判別式の値が第1否定閾値(第2閾値に相当)よりも小さければ(S206でYES)、否定フラグがたち(S207)、部分識別処理において、その特定のシーンの部分識別処理が省略される(S302)。
例えば、全体識別処理の際に夕景識別器51Sの判別式の値が第1否定閾値よりも小さければ(S206でYES)、もはや識別対象画像が夕景画像である確率が低いので、部分識別処理の際に夕景部分識別器61Sを用いても意味が無い。そこで、全体識別処理の際に夕景識別器51Sの判別式の値が第1否定閾値よりも小さければ(S206でYES)、図11の「夕景」欄の「否定」欄を1にして(S207)、部分識別処理の際に、夕景部分識別器61Sによる処理を省略する(S302でNO)。これにより、シーン識別処理の速度が速くなる。(なお、図16A及び図16Bも参照。)
(7)前述の全体識別処理は、風景識別器51Lを用いた識別処理(第1シーン識別ステップに相当)と、夜景識別器51Nを用いた識別処理(第2シーン識別ステップに相当)とを行う。
ところで、ある画像が風景のシーンに属する確率が高ければ、必然的にその画像が夜景のシーンに属する確率は低くなる。このため、風景識別器51Lの判別式の値(評価値に相当)が大きい場合には、夜景ではないと識別できる場合がある。
そこで、前述の実施形態では、第2否定閾値(第3閾値に相当)が設けられている(図16B参照)。そして、風景識別器51Lの判別式の値が夜景の否定閾値(−0.44)よりも大きい場合(S206でYES)、図11の「夜景」欄の「否定」欄を1にして(S207)、全体識別処理の際に夜景識別器51Nによる処理を省略する(S202でNO)。これにより、シーン識別処理の速度が速くなる。
【0121】
(8)前述のプリンタ4(情報処理装置に相当)は、プリンタ側コントローラ20を備えている(図2参照)。そして、プリンタ側コントローラ20は、画像データから、画像データの示す画像の色平均・分散などを算出する。また、プリンタ側コントローラ20は、画像データに付加されている付加データから、シーン情報以外の撮影データを取得する。そして、プリンタ側コントローラ20は、これらの取得したデータを特徴量として、全体識別処理等の識別処理を行い、画像データの示す画像のシーンを識別している。
これにより、シーン情報を特徴量とせずに識別処理を行うことになるので、ユーザが撮影モードの設定を忘れたときであっても、誤識別の確率を軽減できる。
【0122】
(9)前述のメモリ23には図8の処理をプリンタ4に実行させるプログラムが記憶されている。すなわち、このプログラムは、前記画像データから、前記画像データの示す画像の特徴を示すデータを取得するコードと、画像データに付加されている付加データから、シーンに関するデータ以外のデータを取得するコードと、取得したデータを特徴量として、前記画像データの示す画像のシーンを識別するコードとを備えている。
このようなプログラムによれば、情報処理装置の誤識別の確率を軽減できる。
【図面の簡単な説明】
【0123】
【図1】画像処理システムの説明図である。
【図2】プリンタの構成の説明図である。
【図3】画像ファイルの構造の説明図である。
【図4】図4Aは、IFD0で使われるタグの説明図である。図4Bは、ExifSubIFDで使われるタグの説明図である。
【図5】モード設定ダイヤルの設定とデータとの対応表である。
【図6】プリンタの自動補正機能の説明図である。
【図7】画像のシーンと補正内容との関係の説明図である。
【図8】シーン識別部によるシーン識別処理のフロー図である。
【図9】シーン識別部の機能の説明図である。
【図10】全体識別処理のフロー図である。
【図11】識別対象テーブルの説明図である。
【図12】全体識別処理の肯定閾値の説明図である。
【図13】RecallとPrecisionの説明図である。
【図14】第1否定閾値の説明図である。
【図15】第2否定閾値の説明図である。
【図16】図16Aは、風景識別器における閾値の説明図である。図16Bは、風景識別器の処理の概要の説明図である。
【図17】部分識別処理のフロー図である。
【図18】夕景部分識別器が選択する部分画像の順番の説明図である。
【図19】上位10番目までの10個の部分画像だけで夕景画像の識別をしたときのRecall及びPrecisionのグラフである。
【図20】図20Aは、線形サポートベクタマシンによる判別の説明図である。図20Bは、カーネル関数を用いた判別の説明図である。
【図21】統合識別処理のフロー図である。
【符号の説明】
【0124】
2 デジタルスチルカメラ、2A モード設定ダイヤル、
4 プリンタ、6 メモリカード、10 印刷機構、
11 ヘッド、12 ヘッド制御部、13 モータ、14 センサ、
20 プリンタ側コントローラ、21 スロット、22 CPU、
23 メモリ、24 制御ユニット、25 駆動信号生成部、
31 記憶部、31A 画像記憶部、31B 結果記憶部、
32 顔識別部、33 シーン識別部、34 画像補正部、
35 プリンタ制御部、40 特徴量取得部、50 全体識別器、
51 サブ識別器、51L 風景識別器、51S 夕景識別器、
51N 夜景識別器、51F 花識別器、51R 紅葉識別器、
60 部分識別器、61 サブ部分識別器、61S 夕景部分識別器、
61F 花部分識別器、61R 紅葉部分識別器、70 統合識別器、

【特許請求の範囲】
【請求項1】
画像データから、前記画像データの示す画像の特徴を示すデータを取得するステップと、
前記画像データに付加されている付加データから、シーンに関するデータ以外のデータを取得するステップと、
前記画像の特徴を示すデータと、前記シーンに関するデータ以外のデータとを特徴量として、前記画像のシーンを識別するステップと、
を有することを特徴とする情報処理方法。
【請求項2】
請求項1に記載の情報処理方法であって、
前記シーンに関するデータ以外のデータは、前記画像データを生成したときの撮影装置の制御データである
ことを特徴とする情報処理方法。
【請求項3】
請求項2に記載の情報処理方法であって、
前記制御データは、前記画像の明るさに関連するデータである
ことを特徴とする情報処理方法。
【請求項4】
請求項2に記載の情報処理方法であって、
前記制御データは、前記画像の色に関連するデータである
ことを特徴とする情報処理方法。
【請求項5】
請求項1〜4のいずれかに記載の情報処理方法であって、
前記画像の特徴を示すデータを取得するステップは、
前記画像の全体の特徴を示すデータと、前記画像に含まれる部分画像の特徴を示すデータとを取得し、
前記シーンを識別するステップは、
前記画像の全体の特徴を示すデータを用いて、前記画像データの示す画像のシーンを識別する全体識別ステップと、
前記部分画像の特徴を示すデータを用いて、前記画像データの示す画像のシーンを識別する部分識別ステップと、
を有し、
前記全体識別ステップにおいて前記画像のシーンを識別できない場合、前記部分識別ステップが行われ、
前記全体識別ステップにおいて前記画像のシーンを識別できた場合、前記部分識別ステップは行われない
ことを特徴とする情報処理方法。
【請求項6】
請求項5に記載の情報処理方法であって、
前記全体識別ステップは、
前記画像の全体の特徴を示すデータを用いて、前記画像が所定のシーンである確率に応じた評価値を算出し、
前記評価値が第1閾値より大きければ、前記画像が前記所定のシーンであると識別でき、
前記部分識別ステップは、
前記部分画像の特徴を示すデータを用いて、前記画像が前記所定のシーンであることを識別し、
前記全体識別ステップにおける前記評価値が第2閾値より小さい場合、前記部分識別ステップは行われない
ことを特徴とする情報処理方法。
【請求項7】
請求項1〜4のいずれかに記載の情報処理方法であって、
前記シーンを識別するステップは、
前記特徴量に基づいて、前記画像が第1シーンであることを識別する第1シーン識別ステップと、
前記特徴量に基づいて、前記画像が第1シーンとは異なる第2シーンであることを識別する第2シーン識別ステップと、
を有し、
前記第1シーン識別ステップは、
前記特徴量に基づいて、前記画像が前記第1シーンである確率に応じた評価値を算出し、
前記評価値が第1閾値より大きければ、前記画像が第1シーンであると識別でき、
前記シーンを識別するステップにおいて、
前記第1識別ステップにおける前記評価値が第3閾値より大きければ、前記第2シーン識別ステップを行わない
ことを特徴とする情報処理方法。
【請求項8】
画像データから、前記画像データの示す画像の特徴を示すデータを取得する第1取得手段と、
画像データに付加されている付加データから、シーンに関するデータ以外のデータを取得する第2取得手段と、
前記画像の特徴を示すデータと、前記シーンに関するデータ以外のデータとを特徴量として、前記画像のシーンを識別する識別手段と、
を備えることを特徴とする情報処理装置。
【請求項9】
情報処理装置に、
画像データから、前記画像データの示す画像の特徴を示すデータを取得するステップと、
画像データに付加されている付加データから、シーンに関するデータ以外のデータを取得するステップと、
取前記画像の特徴を示すデータと、前記シーンに関するデータ以外のデータとを特徴量として、前記画像のシーンを識別するステップと、
を実行させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate


【公開番号】特開2008−234626(P2008−234626A)
【公開日】平成20年10月2日(2008.10.2)
【国際特許分類】
【出願番号】特願2007−315246(P2007−315246)
【出願日】平成19年12月5日(2007.12.5)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】