JP2009033459A - 画像識別方法、画像識別装置及びプログラム - Google Patents
画像識別方法、画像識別装置及びプログラム Download PDFInfo
- Publication number
- JP2009033459A JP2009033459A JP2007195004A JP2007195004A JP2009033459A JP 2009033459 A JP2009033459 A JP 2009033459A JP 2007195004 A JP2007195004 A JP 2007195004A JP 2007195004 A JP2007195004 A JP 2007195004A JP 2009033459 A JP2009033459 A JP 2009033459A
- Authority
- JP
- Japan
- Prior art keywords
- scene
- image
- identification
- identification process
- partial
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Abstract
【課題】シーンの識別処理の速度を向上させる。
【解決手段】
画像データの示す画像が特定のシーンに属するか否かを識別する識別処理を、複数の前記シーン毎に順に行い、ある前記識別処理の結果に応じて、まだ行われていない前記識別処理が省略され、前記識別処理の結果に基づいて前記画像の属するシーンを識別する画像識別方法において、前記画像データに付加されている付加データから、前記画像が属する前記シーンに関するシーン情報を取得し、前記シーン情報に応じて、複数の前記シーンに対する前記識別処理の順序を変更する。
【選択図】図22
【解決手段】
画像データの示す画像が特定のシーンに属するか否かを識別する識別処理を、複数の前記シーン毎に順に行い、ある前記識別処理の結果に応じて、まだ行われていない前記識別処理が省略され、前記識別処理の結果に基づいて前記画像の属するシーンを識別する画像識別方法において、前記画像データに付加されている付加データから、前記画像が属する前記シーンに関するシーン情報を取得し、前記シーン情報に応じて、複数の前記シーンに対する前記識別処理の順序を変更する。
【選択図】図22
Description
本発明は、画像識別方法、画像識別装置及びプログラムに関する。
デジタルスチルカメラには撮影モードを設定するモード設定ダイヤルを持つものがある。ユーザがダイヤルで撮影モードを設定すると、デジタルスチルカメラは、撮影モードに応じた撮影条件(露光時間等)を決定し、撮影を行う。撮影が行われると、デジタルスチルカメラは、画像ファイルを生成する。この画像ファイルには、撮影した画像の画像データに撮影時の撮影条件等の付加データが付加されている。
この付加データを用いて、画像データに画像処理することが行われている。例えば、プリンタが画像ファイルに基づいて印刷を行うとき、付加データの示す撮影条件(例えばシーンの情報:以下シーン情報ともいう)に応じて画像データを補正し、補正した画像データに従って印刷することが行われている(特許文献1参照)。しかし、付加データが常に正しいとは限らない。例えば、ユーザが撮影時にモード設定ダイヤルを誤って設定したり、モード設定ダイヤルの設定を忘れて以前の撮影条件のまま撮影したりすることがある。
そこで、画像データを解析することによって、画像データの示す画像のシーンを識別することも行われている(特許文献2、3参照)。
特開2001−238177号公報
特開平10−302067号公報
特開2006−511000号公報
画像データの示す画像が特定のシーンに属するか否かを識別する識別処理を、予め定められた順序でシーン毎に行うことによって、画像の属するシーンを識別する画像識別方法がある。このように、複数の識別処理を順に行う場合、画像の属するシーンが特定された段階で処理を終了して、まだ行われていない識別処理を省略すれば、全体の識別処理の速度が向上すると考えられる。
但し、複数の識別処理の順序を常に同じにすると、処理速度が低下するおそれがある。例えば、識別処理の順序が風景のシーン→夕景のシーン→夜景のシーンの順で固定である場合に、付加データに夜景を示すシーン情報が含まれた画像データの識別処理を行うとする。この場合、画像データの示す画像は夜景のシーンである可能性が高いにもかかわらず、夜景のシーンの識別処理は、風景のシーン及び夕景のシーンの識別処理の後に行われることになる。このように、従来の画像識別方法では識別処理の速度を向上させることが困難であるという問題点があった。
本発明は、上記のような課題に鑑みてなされたものであり、その目的は、従来よりもシーンの識別処理の速度を向上させることにある。
前記目的を達成するための主たる発明は、画像データの示す画像が特定のシーンに属するか否かを識別する識別処理を、複数の前記シーン毎に順に行い、ある前記識別処理の結果に応じて、まだ行われていない前記識別処理が省略され、前記識別処理の結果に基づいて前記画像の属するシーンを識別する画像識別方法において、前記画像データに付加されている付加データから、前記画像が属する前記シーンに関するシーン情報を取得し、前記シーン情報に応じて、複数の前記シーンに対する前記識別処理の順序を変更することを特徴とする。
本発明の他の特徴は、本明細書、及び添付図面の記載により、明らかにする。
===開示の概要===
本明細書及び添付図面の記載により、少なくとも以下の事項が明らかとなる。
本明細書及び添付図面の記載により、少なくとも以下の事項が明らかとなる。
すなわち、画像データの示す画像が特定のシーンに属するか否かを識別する識別処理を、複数の前記シーン毎に順に行い、ある前記識別処理の結果に応じて、まだ行われていない前記識別処理が省略され、前記識別処理の結果に基づいて前記画像の属するシーンを識別する画像識別方法において、前記画像データに付加されている付加データから、前記画像が属する前記シーンに関するシーン情報を取得し、前記シーン情報に応じて、複数の前記シーンに対する前記識別処理の順序を変更することを特徴とする画像識別方法が明らかとなる。
このような画像識別方法によれば、画像はシーン情報の示すシーンに属している確率が高いので、シーン情報に応じて識別処理路の順序を変更することによって、シーンの識別処理の速度を向上させることができる。
このような画像識別方法によれば、画像はシーン情報の示すシーンに属している確率が高いので、シーン情報に応じて識別処理路の順序を変更することによって、シーンの識別処理の速度を向上させることができる。
かかる画像識別方法であって、前記シーン情報の示すシーンに基づいて、ある前記シーンに対応する前記識別処理の順番を先にすることが好ましい。
このような画像識別方法によれば、画像のシーンが特定される可能性の高いシーンの識別処理を優先的に実行することができる。よって識別処理の速度を向上させることができる。
このような画像識別方法によれば、画像のシーンが特定される可能性の高いシーンの識別処理を優先的に実行することができる。よって識別処理の速度を向上させることができる。
かかる画像識別方法であって、前記シーン情報の示すシーンに対応する前記識別処理を、複数の前記識別処理のうちの最初に行うように変更することが好ましい。
このような画像識別方法によれば、最初の識別処理で画像の属するシーンが特定されて、それより後段の識別処理を省略できる確率が高くなる。よって、識別処理の速度をより向上させることができる。
このような画像識別方法によれば、最初の識別処理で画像の属するシーンが特定されて、それより後段の識別処理を省略できる確率が高くなる。よって、識別処理の速度をより向上させることができる。
かかる画像識別方法であって、前記シーン情報の示すシーンに基づいて、ある前記シーンに対応する前記識別処理の順番を後にすることが好ましい。
このような画像識別方法によれば、画像のシーンが特定される可能性の低い識別処理を後回しにすることができる。よって、識別処理の速度を向上させることができる。
このような画像識別方法によれば、画像のシーンが特定される可能性の低い識別処理を後回しにすることができる。よって、識別処理の速度を向上させることができる。
かかる画像識別方法であって、ある前記識別処理において、その識別処理の対応する特定のシーンに前記画像が属することが識別されたとき、まだ行われていない前記識別処理が省略されることが好ましい。また、ある前記識別処理において、その識別処理とは別の識別処理に対応する特定のシーンに前記画像が属さないことが識別されたとき、前記別の識別処理が省略されることが好ましい。
このような画像識別方法によれば、識別処理の実行回数を減らすことができるので、識別処理の速度を向上させることができる。
このような画像識別方法によれば、識別処理の実行回数を減らすことができるので、識別処理の速度を向上させることができる。
かかる画像識別方法であって、前記画像の全体の特徴を示す全体特徴量に基づいて、前記画像が特定のシーンに属するか否かの識別処理を複数の前記シーン毎に順に行う全体識別処理と、前記全体識別処理において前記画像データの示す画像のシーンを識別できない場合に、前記画像の一部の特徴を示す部分特徴量に基づいて、前記画像が特定のシーンに属するか否かの識別処理を複数の前記シーン毎に順に行う部分識別処理と、を有し、前記シーン情報に応じて、前記全体識別処理及び前記部分識別処理の少なくとも一方の前記識別処理の順序を変更する、ことが好ましい。
このような画像識別方法によれば、全体識別処理は部分識別処理に比べて識別処理の種類が多く、また、部分識別処理は全体識別処理に比べて各識別処理に要する処理時間が長くなりがちであるので、全体識別処理と部分識別処理の少なくとも一方の順序を変更することによって識別処理の速度を向上させることができる。
このような画像識別方法によれば、全体識別処理は部分識別処理に比べて識別処理の種類が多く、また、部分識別処理は全体識別処理に比べて各識別処理に要する処理時間が長くなりがちであるので、全体識別処理と部分識別処理の少なくとも一方の順序を変更することによって識別処理の速度を向上させることができる。
また、画像データの示す画像が特定のシーンに属するか否かを識別する識別処理を、複数の前記シーン毎に順に行い、ある前記識別処理の結果に応じて、まだ行われていない前記識別処理を省略し、前記識別処理の結果に基づいて前記画像の属するシーンを識別するコントローラを備えた画像識別装置であって、前記コントローラは、画像データに付加されている付加データから前記画像データのシーンを示す前記シーン情報を取得し、前記シーン情報に応じて、複数の前記シーンに対する前記識別処理の順序を変更する、ことを特徴とする画像識別装置が明らかとなる。
また、画像識別装置に、画像データの示す画像が特定のシーンに属するか否かを識別する識別処理を、複数の前記シーン毎に順に行わせ、ある前記識別処理の結果に応じて、まだ行われていない前記識別処理を省略させ、前記識別処理の結果に基づいて前記画像の属するシーンを識別させる、プログラムにおいて、画像データに付加されている付加データから前記画像データのシーンを示すシーン情報を取得させ、前記シーン情報に応じて、複数の前記シーンに対する前記識別処理の順序を変更させる、ことを特徴とするプログラムが明らかとなる。
===全体構成===
図1は、画像処理システムの説明図である。この画像処理システムは、デジタルスチルカメラ2と、プリンタ4とを備える。
デジタルスチルカメラ2は、被写体をデジタルデバイス(CCDなど)に結像させることによりデジタル画像を取得するカメラである。デジタルスチルカメラ2には、モード設定ダイヤル2Aが設けられている。ユーザは、ダイヤル2Aによって、撮影条件に応じた撮影モードを設定することができる。例えば、ダイヤル2Aによって、「夜景」モードが設定されると、デジタルスチルカメラ2は、シャッター速度を遅くしたり、ISO感度を高くしたりして、夜景撮影に適した撮影条件にて撮影を行う。
図1は、画像処理システムの説明図である。この画像処理システムは、デジタルスチルカメラ2と、プリンタ4とを備える。
デジタルスチルカメラ2は、被写体をデジタルデバイス(CCDなど)に結像させることによりデジタル画像を取得するカメラである。デジタルスチルカメラ2には、モード設定ダイヤル2Aが設けられている。ユーザは、ダイヤル2Aによって、撮影条件に応じた撮影モードを設定することができる。例えば、ダイヤル2Aによって、「夜景」モードが設定されると、デジタルスチルカメラ2は、シャッター速度を遅くしたり、ISO感度を高くしたりして、夜景撮影に適した撮影条件にて撮影を行う。
デジタルスチルカメラ2は、ファイルフォーマット規格に準拠して、撮影により生成した画像ファイルをメモリカード6に保存する。画像ファイルには、撮影した画像のデジタルデータ(画像データ)だけでなく、撮影時の撮影条件(撮影データ)等の付加データも保存される。画像ファイルの構成については後述する。
プリンタ4は、画像データの示す画像を紙に印刷する印刷装置である。プリンタ4には、メモリカード6を挿入するスロット21が設けられている。ユーザは、デジタルスチルカメラ2で撮影した後、デジタルスチルカメラ2からメモリカード6を取り出し、スロット21にメモリカード6を挿入することができる。
プリンタ4は、画像データの示す画像を紙に印刷する印刷装置である。プリンタ4には、メモリカード6を挿入するスロット21が設けられている。ユーザは、デジタルスチルカメラ2で撮影した後、デジタルスチルカメラ2からメモリカード6を取り出し、スロット21にメモリカード6を挿入することができる。
図2はプリンタ4の構成の説明図である。プリンタ4は、印刷機構10と、この印刷機構10を制御するプリンタ側コントローラ20とを備える。印刷機構10は、インクを吐出するヘッド11と、ヘッド11を制御するヘッド制御部12と、紙を搬送するため等のモータ13と、センサ14とを有する。プリンタ側コントローラ20は、メモリカード6からデータを送受信するためのメモリ用スロット21と、CPU22と、メモリ23と、モータ13を制御する制御ユニット24と、駆動信号(駆動波形)を生成する駆動信号生成部25とを有する。
メモリカード6がスロット21に挿入されると、プリンタ側コントローラ20は、メモリカード6に保存されている画像ファイルを読み出してメモリ23に記憶する。そして、プリンタ側コントローラ20は、画像ファイルの画像データを印刷機構10で印刷するための印刷データに変換し、印刷データに基づいて印刷機構10を制御し、紙に画像を印刷する。この一連の動作は、「ダイレクトプリント」と呼ばれている。
なお、「ダイレクトプリント」は、メモリカード6をスロット21に挿入することによって行われるだけでなく、デジタルスチルカメラ2とプリンタ4とをケーブル(不図示)で接続することによっても可能である。
===画像ファイルの構造===
メモリカード6に記憶される画像ファイルは、画像データと、付加データを有している。画像データは、複数の画素データから構成されている。画素データは、画素の色情報(階調値)を示すデータである。画素がマトリクス状に配置されることによって、画像が構成される。このため、画像データは、画像を示すデータである。付加データには、画像データの特性を示すデータや、撮影データや、サムネイル画像データ等が含まれる。
メモリカード6に記憶される画像ファイルは、画像データと、付加データを有している。画像データは、複数の画素データから構成されている。画素データは、画素の色情報(階調値)を示すデータである。画素がマトリクス状に配置されることによって、画像が構成される。このため、画像データは、画像を示すデータである。付加データには、画像データの特性を示すデータや、撮影データや、サムネイル画像データ等が含まれる。
以下、画像ファイルの具体的な構造について説明する。
図3は、画像ファイルの構造の説明図である。図中の左側には画像ファイルの全体構成が示されており、右側にはAPP1領域の構成が示されている。
画像ファイルは、SOI(Start of Image)を示すマーカで始まり、EOI(End of Image)を示すマーカで終わる。SOIを示すマーカの後に、APP1のデータ領域の開始を示すAPP1マーカがある。APP1マーカの後ろのAPP1データ領域には、撮影データやサムネイル画像等の付加データが含まれている。また、SOS(Start of Stream)を示すマーカの後には、画像データが含まれている。
APP1マーカの後、APP1のデータ領域のサイズを示す情報があり、EXIFヘッダとTIFFヘッダが続き、IDF領域となる。
図3は、画像ファイルの構造の説明図である。図中の左側には画像ファイルの全体構成が示されており、右側にはAPP1領域の構成が示されている。
画像ファイルは、SOI(Start of Image)を示すマーカで始まり、EOI(End of Image)を示すマーカで終わる。SOIを示すマーカの後に、APP1のデータ領域の開始を示すAPP1マーカがある。APP1マーカの後ろのAPP1データ領域には、撮影データやサムネイル画像等の付加データが含まれている。また、SOS(Start of Stream)を示すマーカの後には、画像データが含まれている。
APP1マーカの後、APP1のデータ領域のサイズを示す情報があり、EXIFヘッダとTIFFヘッダが続き、IDF領域となる。
各IDF領域は、複数のディレクトリエントリと、次のIFD領域の位置を示すリンクと、データエリアとを有する。例えば、最初のIFD0(IFD of main image)では次のIFD1(IFD of thumbnail image)の位置がリンクされる。但し、ここでは、IFD1の次のIFDが存在しないので、IFD1では他のIFDへのリンクは行われない。各ディレクトリエントリには、タグとデータ部が含まれる。格納すべきデータ量が小さい場合にはデータ部に実際のデータがそのまま格納され、データ量が多い場合には実際のデータはIFD0データエリアに格納されて、データ部にはデータの格納場所を示すポインタが格納される。なお、IFD0には、ExifSubIFDの格納場所を意味するタグ(Exif IFD Pointer)と、ExifSubIFDの格納場所を示すポインタ(オフセット値)とが格納されているディレクトリエントリがある。
ExifSubIFD領域は、複数のディレクトリエントリを有する。このディレクトリエントリにも、タグとデータ部が含まれる。格納すべきデータ量が小さい場合には、データ部に実際のデータが格納され、データ量が多い場合には、実際のデータはExifSubIFDデータエリアに格納されて、データ部にはデータの格納場所を示すポインタが格納される。なお、ExifSubIFDの中には、MakernoteIFDの格納場所を意味するタグと、MakernoteIFDの格納場所を示すポインタとが格納されている。
MakernoteIFD領域は、複数のディレクトリエントリを有する。このディレクトリエントリにも、タグとデータ部が含まれる。格納すべきデータ量が小さい場合にはデータ部に実際のデータがそのまま格納され、データ量が多い場合には実際のデータはMakernoteIFDデータエリアにデータが格納されて、データ部にはデータの格納場所を示すポインタが格納される。但し、MakernoteIFD領域ではデータの格納形式を自由に定義できるので、必ずしもこの形式でデータを格納しなくても良い。以下の説明では、MakernoteIFD領域に格納されるデータのことを「Makernoteデータ」と呼ぶ。
図4Aは、IFD0で使われるタグの説明図である。図に示す通り、IFD0には一般的なデータ(画像データの特性を示すデータ)が格納され、詳細な撮影データは格納されていない。
図4Bは、ExifSubIFDで使われるタグの説明図である。図に示す通り、ExifSubIFDには詳細な撮影データが格納されている。なお、シーン識別処理の際に抽出される撮影データの大部分は、ExifSubIFDに格納されている撮影データである。なお、撮影シーンタイプタグ(Scene Captuer Type)は、撮影シーンのタイプを示すタグである。また、Makernoteタグは、MakernoteIFDの格納場所を意味するタグである。
ExifSubIFD領域の撮影シーンタイプタグに対するデータ部(撮影シーンタイプデータ)が「ゼロ」ならば「標準」を意味し、「1」ならば「風景」を意味し、「2」ならば「人物」を意味し、「3」ならば「夜景」を意味する。なお、ExifSubIFDに格納されたデータは規格化されているため、この撮影シーンタイプデータの内容を誰でも知ることが可能である。
本実施形態では、Makernoteデータの一つに、撮影モードデータが含まれている。この撮影モードデータでは、モード設定ダイヤル2Aで設定されたモード毎に異なる値を示す。但し、Makernoteデータはメーカ毎に形式が異なるため、Makernoteデータの形式が分からなければ、撮影モードデータの内容を知ることはできない。
図5は、モード設定ダイヤル2Aの設定とデータとの対応表である。ExifSubIFDで使われる撮影シーンタイプタグは、ファイルフォーマット規格に準拠しているため、特定できるシーンが限定されており、「夕景」等のシーンを特定するデータをデータ部に格納することはできない。一方、Makernoteデータは自由に定義できるので、Makernoteデータの一つである撮影モードタグにより、モード設定ダイヤル2Aの撮影モードを特定するデータをデータ部に格納できる。
前述のデジタルスチルカメラ2は、モード設定ダイヤル2Aの設定に応じた撮影条件にて撮影を行った後、上記の画像ファイルを作成し、メモリカード6に保存する。この画像ファイルには、モード設定ダイヤル2Aに応じた撮影シーンタイプデータ及び撮影モードデータが、画像データに付加されるシーン情報として、それぞれExifSubIFD領域及びMakernoteIFD領域に格納される。
===自動補正機能の概要===
「人物」の写真を印刷するときには、肌色をきれいにしたいという要求がある。また、「風景」の写真を印刷するときには、空の青色を強調し、木や草の緑色を強調したいという要求がある。そこで、本実施形態のプリンタ4は、画像ファイルを分析して自動的に適した補正処理を行う自動補正機能を備えている。
「人物」の写真を印刷するときには、肌色をきれいにしたいという要求がある。また、「風景」の写真を印刷するときには、空の青色を強調し、木や草の緑色を強調したいという要求がある。そこで、本実施形態のプリンタ4は、画像ファイルを分析して自動的に適した補正処理を行う自動補正機能を備えている。
図6は、プリンタ4の自動補正機能の説明図である。図中のプリンタ側コントローラ20の各要素は、ソフトウェアとハードウェアによって実現される。
記憶部31は、メモリ23の一部の領域及びCPU22によって実現される。メモリカード6から読み出された画像ファイルの画像データは、記憶部31の画像記憶部31Aに展開され、画像ファイルの付加データは、記憶部31の付加情報記憶部31A´に格納される。また、プリンタ側コントローラ20の各要素の演算結果は、記憶部31の結果記憶部31Bに格納される。
顔識別部32は、CPU22と、メモリ23に記憶された顔識別プログラムとによって実現される。顔識別部32は、画像記憶部31Aに記憶された画像データを分析し、顔の有無を確認する。顔識別部32によって顔が有ると識別された場合、識別対象となる画像が「人物」のシーンに属すると識別される。この場合、シーン識別部33によるシーン識別処理は行われない。顔識別部32による顔識別処理は、既に広く行われている処理と同様なので、詳細な説明は省略する。
シーン識別部33は、CPU22と、メモリ23に記憶されたシーン識別プログラムとによって実現される。シーン識別部33は、画像記憶部31Aに記憶された画像ファイルを分析し、画像データの示す画像のシーンを識別する。シーン識別部33によるシーン識別処理は、顔識別部32によって顔がない(「人物」のシーンでない)と識別された場合に行われる。後述するように、シーン識別部33は、識別対象となる画像が「風景」、「夕景」、「夜景」、「花」、「紅葉」、「その他」のいずれの画像であるかを識別する。
図7は、画像のシーンと補正内容との関係の説明図である。
画像補正部34は、CPU22と、メモリ23に記憶された画像補正プログラムとによって実現される。画像補正部34は、記憶部31の結果記憶部31B(後述)に記憶されている識別結果(顔識別部32やシーン識別部33の識別結果)に基づいて、画像記憶部31Aの画像データを補正する。例えば、シーン識別部33の識別結果が「風景」である場合には、青色を強調し、緑色を強調するような補正が行われる。なお、画像補正部34は、シーンの識別結果だけでなく、画像ファイルの撮影データの内容も反映して、画像データを補正しても良い。例えば、露出補正がマイナスの場合、暗い雰囲気の画像を明るくしないように画像データを補正してもよい。
画像補正部34は、CPU22と、メモリ23に記憶された画像補正プログラムとによって実現される。画像補正部34は、記憶部31の結果記憶部31B(後述)に記憶されている識別結果(顔識別部32やシーン識別部33の識別結果)に基づいて、画像記憶部31Aの画像データを補正する。例えば、シーン識別部33の識別結果が「風景」である場合には、青色を強調し、緑色を強調するような補正が行われる。なお、画像補正部34は、シーンの識別結果だけでなく、画像ファイルの撮影データの内容も反映して、画像データを補正しても良い。例えば、露出補正がマイナスの場合、暗い雰囲気の画像を明るくしないように画像データを補正してもよい。
プリンタ制御部35は、CPU22、駆動信号生成部25、制御ユニット24及びメモリ23に記憶されたプリンタ制御プログラムによって、実現される。プリンタ制御部35は、補正後の画像データを印刷データに変換し、印刷機構10に画像を印刷させる。
===シーン識別処理===
図8は、シーン識別部33によるシーン識別処理のフロー図である。図9は、シーン識別部33の機能の説明図である。図中のシーン識別部33の各要素は、ソフトウェアとハードウェアによって実現される。シーン識別部33は、図9に示す特徴量取得部40と、全体識別器50と、部分識別器60と、統合識別器70とを備えている。
図8は、シーン識別部33によるシーン識別処理のフロー図である。図9は、シーン識別部33の機能の説明図である。図中のシーン識別部33の各要素は、ソフトウェアとハードウェアによって実現される。シーン識別部33は、図9に示す特徴量取得部40と、全体識別器50と、部分識別器60と、統合識別器70とを備えている。
最初に、特徴量取得部40が、記憶部31の画像記憶部31Aに展開された画像データを分析し、部分特徴量を取得する(S101)。具体的には、特徴量取得部40は、画像データを8×8の64ブロックに分割し、各ブロックの色平均と分散を算出し、この色平均と分散を部分特徴量として取得する。なお、ここでは各画素はYCC色空間における階調値のデータをもっており、各ブロックごとに、Yの平均値、Cbの平均値及びCrの平均値がそれぞれ算出され、Yの分散、Cbの分散及びCrの分散がそれぞれ算出される。つまり、各ブロックごとに3つの色平均と、3つの分散が部分特徴量として算出される。これらの色平均や分散は、各ブロックにおける部分画像の特徴を示すものである。なお、RGB色空間における平均値や分散を算出してもよい。
ブロックごとに色平均と分散が算出されるので、特徴量取得部40は、画像記憶部31Aには画像データのすべてを展開せずに、ブロック分の画像データをブロック順に展開する。このため、画像記憶部31Aは、必ずしも画像ファイルの全てを展開できるだけの容量を備えていなくとも良い。
次に、特徴量取得部40が、全体特徴量を取得する(S102)。具体的には、特徴量取得部40は、画像データの全体の色平均、分散、重心及び撮影情報を全体特徴量として取得する。なお、これらの色平均や分散は、画像の全体の特徴を示すものである。画像データ全体の色平均、分散及び重心は、先に算出した部分特徴量を用いて算出される。このため、全体特徴量を算出する際に画像データを展開する必要がないので、全体特徴量の算出速度が速くなる、全体識別処理(後述)は、部分識別処理(後述)よりも先に行われるにも関わらず、全体特徴量が部分特徴量よりも後に求められるのは、このように算出速度を速めるためである。なお、撮影情報は、画像ファイルの撮影データから抽出される。具体的には、絞り値、シャッター速度、フラッシュ発光の有無などの情報が全体特徴量として用いられる。但し、画像ファイルの撮影データの全てが全体特徴量として用いられるわけではない。
次に、全体識別器50が、全体識別処理を行う(S103)。全体識別処理とは、全体特徴量に基づいて、画像データの示す画像のシーンを識別(推定)する処理である。全体識別処理の詳細については、後述する。
全体識別処理によってシーンの識別が出来る場合(S104でYES)、シーン識別部33は、記憶部31の結果記憶部31Bに識別結果を記憶することによってシーンを決定し(S109)、シーン識別処理を終了する。つまり、全体識別処理によってシーンの識別ができた場合(S104でYES)、部分識別処理や統合識別処理が省略される。これによりシーン識別処理の速度が速くなる。
全体識別処理によってシーンの識別ができない場合、(S104でNO)、次に部分識別器60が、部分識別処理を行う(S105)。部分識別処理とは、部分特徴量に基づいて、画像データの示す画像全体のシーンを識別する処理である。部分識別処理の詳細については後述する。
全体識別処理によってシーンの識別ができない場合、(S104でNO)、次に部分識別器60が、部分識別処理を行う(S105)。部分識別処理とは、部分特徴量に基づいて、画像データの示す画像全体のシーンを識別する処理である。部分識別処理の詳細については後述する。
部分識別処理によってシーンの識別ができる場合(S106でYES)、シーン識別部33は、記憶部31の結果記憶部31Bに識別結果を記憶することによってシーンを決定し(S109)、シーン識別処理を終了する。つまり、部分識別処理によってシーンの識別ができた場合(S106でYES)、統合識別処理が省略される。これにより、シーン識別処理の速度が速くなる。
部分識別処理によってシーンの識別ができない場合(S106でNO)、次に統合識別器70が、統合識別処理を行う(S107)。統合識別処理の詳細については後述する。
部分識別処理によってシーンの識別ができない場合(S106でNO)、次に統合識別器70が、統合識別処理を行う(S107)。統合識別処理の詳細については後述する。
統合識別処理によってシーンの識別ができる場合(S108でYES)、シーン識別部33は、記憶部31の結果記憶部31Bに識別結果を記憶することによってシーンを決定し(S109)、シーン識別処理を終了する。一方、統合識別処理によってシーンの識別ができない場合(S108でNO)、画像データの示す画像が「その他」のシーン(「風景」、「夕景」、「夜景」、「花」又は「紅葉」以外のシーン)である旨の識別結果を結果記憶部31Bに記憶する(S110)。
===全体識別処理===
図10は、全体識別処理のフロー図である。ここでは、図9も参照しながら全体識別処理について説明する。
図10は、全体識別処理のフロー図である。ここでは、図9も参照しながら全体識別処理について説明する。
まず、全体識別器50は、複数のサブ識別器51の中から1つのサブ識別器51を選択する(S201)。全体識別器50には、識別対象となる画像(識別対象画像)が特定のシーンに属するか否かを識別するサブ識別器51が5つ設けられている。5つのサブ識別器51は、それぞれ風景、夕景、夜景、花、紅葉のシーンを識別する。ここでは、全体識別器50は、風景→夕景→夜景→花→紅葉の順に、サブ識別器51を選択する(なお、サブ識別器51の選択順序については、後述する)。このため、最初には、識別対象画像が風景のシーンに属するか否かを識別するサブ識別器51(風景識別器51L)が選択される。
次に、全体識別器50は、識別対象テーブルを参照し、選択したサブ識別器51を用いてシーンを識別すべきか否かを判断する(S202)。
図11は、識別対象テーブルの説明図である。この識別対象テーブルは、記憶部31の結果記憶部31Bに記憶される。識別対象テーブルは、最初の段階では全ての欄がゼロに設定される。S202の処理では、「否定」欄が参照され、ゼロであればYESと判断され、1であればNOと判断される。ここでは、全体識別器50は、識別対象テーブルにおける「風景」欄の「否定」欄を参照し、ゼロであるのでYES(S202でYES)と判断する。
図11は、識別対象テーブルの説明図である。この識別対象テーブルは、記憶部31の結果記憶部31Bに記憶される。識別対象テーブルは、最初の段階では全ての欄がゼロに設定される。S202の処理では、「否定」欄が参照され、ゼロであればYESと判断され、1であればNOと判断される。ここでは、全体識別器50は、識別対象テーブルにおける「風景」欄の「否定」欄を参照し、ゼロであるのでYES(S202でYES)と判断する。
次に、サブ識別器51は、全体特徴量に基づいて、識別対象画像が特定のシーンに属する確率(確信度)を算出する(S203)。本実施形態のサブ識別器51には、サポートベクタマシン(SVM)による識別手法が用いられている。なお、サポートベクタマシンについては、後述する。識別対象画像が特定のシーンに属する場合、サブ識別器51の判別式は、プラスの値になりやすい。識別対象画像が特定のシーンに属しない場合、サブ識別器51の判別式は、マイナスの値になりやすい。また、判別式は、識別対象画像が特定のシーンに属する確信度が高いほど、大きな値になる。このため、判別式の値が大きければ、識別対象画像が特定のシーンに属する確率(確信度)が高くなり、判別式の値が小さければ、識別対象画像が特定のシーンに属する確率が低くなる。
次に、サブ識別器51は、判別式の値が肯定閾値より大きいか否かを判断する(S204)。判別式の値が肯定閾値よりも大きければ、サブ識別器51は、識別対象画像が特定のシーンに属すると判断することになる。
図12は、全体識別処理の肯定閾値の説明図である。同図において、横軸は肯定閾値を示し、縦軸はRecall又はPrecisionの確率を示す。図13は、RecallとPrecisionの説明図である。判別式の値が肯定閾値以上の場合には識別結果はPositiveであり、判別式の値が肯定閾値以上でない場合には識別結果はNegativeである。
図12は、全体識別処理の肯定閾値の説明図である。同図において、横軸は肯定閾値を示し、縦軸はRecall又はPrecisionの確率を示す。図13は、RecallとPrecisionの説明図である。判別式の値が肯定閾値以上の場合には識別結果はPositiveであり、判別式の値が肯定閾値以上でない場合には識別結果はNegativeである。
Recallは、再現率や検出率を示すものである。Recallは、特定のシーンの画像の総数に対する、特定のシーンに属すると識別された画像の割合である。言い換えると、Recallは、特定のシーンの画像をサブ識別器51に識別させたときに、サブ識別器51がPositiveと識別する確率(特定のシーンの画像が特定のシーンに属すると識別される確率)を示すものである。例えば、風景画像を風景識別器51Lに識別させたときに、風景のシーンに属すると風景識別器51Lが識別する確率を示すものである。
Precisionは、正答率や正解率を示すものである。Precisionは、Positiveと識別された画像の総数に対する、特定のシーンの画像の数の割合である。言い換えると、Precisionは、特定のシーンを識別するサブ識別器51がPositiveと判断したときに、識別対象の画像が特定のシーンである確率を示すものである。例えば、風景識別器51Lが風景のシーンに属すると識別したときに、その識別した画像が本当に風景画像である確率を示すものである。
図12から分かる通り、肯定閾値を大きくするほど、Precisionが大きくなる。このため、肯定閾値を大きくするほど、例えば風景のシーンに属すると識別された画像が風景画像である確率が高くなる。つまり、肯定閾値を大きくするほど、誤識別の確率が低くなる。
一方、肯定閾値を大きくするほど、Recallは小さくなる。この結果、例えば、風景画像を風景識別器51Lで識別した場合であっても、風景のシーンに属すると正しく識別しにくくなる。ところで、識別対象画像が風景のシーンに属すると識別できれば(S204でYES)、残りの別のシーン(夕景など)の識別を行わないようにして全体識別処理の速度を速めている。このため、肯定閾値を大きくするほど、全体識別処理の速度は低下することになる。また、全体識別処理によってシーンが識別できれば部分識別処理を行わないようにしてシーン識別処理の速度を速めているため(S104)、肯定閾値を大きくするほど、シーン識別処理の速度は低下することになる。
つまり、肯定閾値が小さすぎると誤識別の確率が高くなり、大きすぎると処理速度が低下することになる。本実施形態では、正答率(Precision)を97.5%に設定するため、風景の肯定閾値は1.27に設定されている。
判別式の値が肯定閾値より大きければ(S204でYES)、サブ識別器51は、識別対象画像が特定のシーンに属すると判断し、肯定フラグを立てる(S205)。「肯定フラグを立てる」とは、図11の「肯定」欄を1にすることである。この場合、全体識別器50は、次のサブ識別器51による識別を行わずに全体識別処理を終了する。例えば、風景画像であると識別できれば、夕景などの識別を行わずに、全体識別処理を終了する。この場合、次のサブ識別器51による識別を省略しているので、全体識別処理の速度を速めることができる。
判別式の値が肯定閾値より大きくなければ(S204でNO)、サブ識別器51は、識別対象画像が特定のシーンに属すると判断できず、次のS206の処理を行う。
判別式の値が肯定閾値より大きくなければ(S204でNO)、サブ識別器51は、識別対象画像が特定のシーンに属すると判断できず、次のS206の処理を行う。
次にサブ識別器51は、判別式の値と否定閾値とを比較する(S206)。これにより、サブ識別器51は、識別対象画像が所定のシーンに属しないかを判断する。このような判断としては、2種類ある。第1に、ある特定のシーンのサブ識別器51の判別式の値が第1否定閾値よりも小さければ、その特定のシーンに識別対象画像が属しないと判断されることになる。例えば、風景識別器51Lの判別式の値が第1否定閾値よりも小さければ、識別対象画像が風景のシーンに属しないと判断されることになる。第2に、ある特定のシーンのサブ識別器51の判別式の値が第2否定閾値よりも大きければ、その特定のシーンとは別のシーンに識別対象画像が属しないと判断されることになる。例えば、風景識別器51Lの判別式の値が第2否定閾値よりも大きければ、識別対象画像が夜景のシーンに属しないと判断されることになる。
図14は、第1否定閾値の説明図である。同図において、横軸は第1否定閾値を示し、縦軸は確率を示す。グラフの太線は、True Negative Recallのグラフであり、風景画像以外の画像を風景画像ではないと正しく識別する確率を示している。グラフの細線は、False Negative Recallのグラフであり、風景画像なのに風景画像ではないと誤って識別する確率を示している。
図14から分かる通り、第1否定閾値を小さくするほど、False Negative Recallが小さくなる。このため、第1否定閾値を小さくするほど、例えば風景のシーンに属しないと識別された画像が風景画像である確率が低くなる。つまり、誤識別の確率が低くなる。
一方、第1否定閾値を小さくするほど、True Negative Recallも小さくなる。この結果、風景画像以外の画像を風景画像ではないと識別しにくくなる。その一方、識別対象画像が特定のシーンでないことを識別できれば、部分識別処理の際に、その特定のシーンのサブ部分識別器61による処理を省略してシーン識別処理速度を速めている(後述、図17のS302)。このため、第1否定閾値を小さくするほど、シーン識別処理速度は低下する。
つまり、第1否定閾値が大きすぎると誤識別の確率が高くなり、小さすぎると処理速度が低下することになる。本実施形態では、False Negative Recallを2.5%に設定するため、第1否定閾値は−1.10に設定されている。
ところで、ある画像が風景のシーンに属する確率が高ければ、必然的にその画像が夜景のシーンに属する確率は低くなる。このため、風景識別器51Lの判別式の値が大きい場合には、夜景ではないと識別できる場合がある。このような識別を行うために、第2否定閾値が設けられている。
図15は、第2否定閾値の説明図である。同図において、横軸は風景の判別式の値を示し、縦軸は確率を示す。同図には、図12のRecallとPrecisionのグラフとともに、夜景のRecallのグラフが点線で描かれている。この点線のグラフに注目すると、風景の判別式の値が−0.45よりも大きければ、その画像が夜景画像である確率は2.5%である。言い換えると、風景の判別式の値が−0.45よりも大きい場合にその画像が夜景画像でないと識別しても、誤識別の確率は2.5%にすぎない。そこで、本実施形態では、第2否定閾値が−0.45に設定されている。
そして、判別式の値が第1否定閾値より小さい場合、又は、判別式の値が第2否定閾値より大きい場合(S206でYES)、サブ識別器51は、識別対象画像が所定のシーンに属しないと判断し、否定フラグを立てる(S207)。「否定フラグを立てる」とは、図11の「否定」欄を1にすることである。例えば、第1否定閾値に基づいて識別対象画像が風景のシーンに属しないと判断された場合、「風景」欄の「否定」欄が1になる。また、第2否定閾値に基づいて識別対象画像が夜景のシーンに属しないと判断された場合、「夜景」欄の「否定」欄が1になる。
図16Aは、閾値テーブルの説明図である。この閾値テーブルは、記憶部31に記憶されていても良いし、全体識別処理を実行させるプログラムの一部に組み込まれていても良い。閾値テーブルには、前述の肯定閾値や否定閾値に関するデータが格納されている。
図16Bは、上記で説明した風景識別器51Lにおける閾値の説明図である。風景識別器51Lには、肯定閾値及び否定閾値が予め設定されている。肯定閾値として1.27が設定されている。否定閾値には第1否定閾値と第2否定閾値とがある。第1否定閾値として−1.10が設定されている。また、第2否定閾値として、風景以外の各シーンにそれぞれ値が設定されている。
図16Cは、上記で説明した風景識別器51Lの処理の概要の説明図である。ここでは、説明の簡略化のため、第2否定閾値については夜景についてのみ説明する。風景識別器51Lは、判別式の値が1.27よりも大きければ(S204でYES)、識別対象画像が風景のシーンに属すると判断する。また、判別式の値が1.27以下であり(S204でNO)、−0.45よりも大きければ(S206でYES)、風景識別器51Lは、識別対象画像が夜景のシーンに属しないと判断する。また、判別式の値が−1.10よりも小さければ(S206でYES)、風景識別器51Lは、識別対象画像が風景のシーンに属しないと判断する。なお、風景識別器51Lは、夕景や花や紅葉についても、第2否定閾値に基づいて、識別対象画像がそのシーンに属しないかを判断する。但し、これらの第2否定閾値は肯定閾値よりも大きいため、識別対象画像がこれらのシーンに属しないことを風景識別器51Lが判断することはない。
S202においてNOの場合、S206でNOの場合、又はS207の処理を終えた場合、全体識別器50は、次のサブ識別器51の有無を判断する(S208)。ここでは風景識別器51Lによる処理を終えた後なので、全体識別器50は、S208において、次のサブ識別器51(夕景識別器51S)があると判断する。
そして、S205の処理を終えた場合(識別対象画像が特定のシーンに属すると判断された場合)、又は、S208において次のサブ識別器51がないと判断された場合(識別対象画像が特定のシーンに属すると判断できなかった場合)、全体識別器50は、全体識別処理を終了する。
なお、既に説明した通り、全体識別処理が終了すると、シーン識別部33は、全体識別処理によってシーンの識別ができたか否かを判断する(図8のS104)。このとき、シーン識別部33は、図11の識別対象テーブルを参照し、「肯定」欄に1があるか否かを判断することになる。
全体識別処理によってシーンの識別ができた場合(S104でYES)、部分識別処理や統合識別処理が省略される。これによりシーン識別処理の速度が速くなる。
全体識別処理によってシーンの識別ができた場合(S104でYES)、部分識別処理や統合識別処理が省略される。これによりシーン識別処理の速度が速くなる。
ところで、上記の説明には無いが、全体識別器50は、サブ識別器51によって判別式の値を算出したときには、判別式の値に対応するPrecisionを、確信度に関する情報として結果記憶部31Bに記憶する。もちろん、判別式の値そのものを確信度に関する情報として記憶しても良い。
===部分識別処理===
図17は、部分識別処理のフロー図である。部分識別処理は、全体識別処理によってシーンの識別ができなかった場合(図8のS104でNO)に行われる。以下に説明するように、部分識別処理は、分割された部分画像のシーンをそれぞれ識別することによって、画像全体のシーンを識別する処理である。ここでは、図9も参照しながら部分識別処理について説明する。
図17は、部分識別処理のフロー図である。部分識別処理は、全体識別処理によってシーンの識別ができなかった場合(図8のS104でNO)に行われる。以下に説明するように、部分識別処理は、分割された部分画像のシーンをそれぞれ識別することによって、画像全体のシーンを識別する処理である。ここでは、図9も参照しながら部分識別処理について説明する。
まず、部分識別器60は、複数のサブ部分識別器61の中から1つのサブ部分識別器61を選択する(S301)。部分識別器60には、サブ部分識別器61が3つ設けられている。各サブ部分識別器61は、8×8の64ブロックに分割された部分画像がそれぞれ特定のシーンに属するか否かを識別する。ここでの3つのサブ部分識別器61は、それぞれ、夕景、花、紅葉のシーンを識別する。ここでは、部分識別器60は、夕景→花→紅葉の順に、サブ部分識別器61を選択する(なお、サブ部分識別器61の選択順序については、後述する)。このため、最初には、部分画像が夕景のシーンに属するか否かを識別するサブ部分識別器61(夕景部分識別器61S)が選択される。
次に、部分識別器60は、識別対象テーブル(図11)を参照し、選択したサブ部分識別器61を用いてシーンを識別すべきか否かを判断する(S302)。ここでは、部分識別器60は、識別対象テーブルにおける「夕景」欄の「否定」欄を参照し、ゼロであればYESと判断し、1であればNOと判断する。なお、全体識別処理の際に、夕景識別器51Sが第1否定閾値により否定フラグを立てたとき、又は、他のサブ識別器51が第2否定閾値により否定フラグを立てたとき、このS302でNOと判断される。仮にNOと判断されると夕景の部分識別処理は省略されることになるので、部分識別処理の速度が速くなる。但し、ここでは説明の都合上、YESと判断されるものとする。
次に、サブ部分識別器61は、8×8の64ブロックに分割された部分画像の中から、1つの部分画像を選択する(S303)。
図18は、夕景部分識別器61Sが選択する部分画像の順番の説明図である。部分画像から画像全体のシーンを特定するような場合、識別に用いられる部分画像は被写体が存在する部分であることが望ましい。そこで、本実施形態では、数千枚のサンプルの夕景画像を用意し、各夕景画像を8×8の64ブロックに分割し、夕景部分画像(夕景の太陽と空の部分画像)を含むブロックを抽出し、抽出されたブロックの位置に基づいて各ブロックにおける夕景部分画像の存在確率を算出した。そして、本実施形態では、存在確率の高いブロックから順番に、部分画像が選択される。なお、図に示す選択順序の情報は、プログラムの一部としてメモリ23に格納されている。
図18は、夕景部分識別器61Sが選択する部分画像の順番の説明図である。部分画像から画像全体のシーンを特定するような場合、識別に用いられる部分画像は被写体が存在する部分であることが望ましい。そこで、本実施形態では、数千枚のサンプルの夕景画像を用意し、各夕景画像を8×8の64ブロックに分割し、夕景部分画像(夕景の太陽と空の部分画像)を含むブロックを抽出し、抽出されたブロックの位置に基づいて各ブロックにおける夕景部分画像の存在確率を算出した。そして、本実施形態では、存在確率の高いブロックから順番に、部分画像が選択される。なお、図に示す選択順序の情報は、プログラムの一部としてメモリ23に格納されている。
なお、夕景画像の場合、画像の中央付近から上半分に夕景の空が広がっていることが多いため、中央付近から上半分のブロックにおいて存在確率が高くなる。また、夕景画像の場合、画像の下1/3では逆光で陰になり、部分画像単体では夕景か夜景か区別がつかないことが多いため、下1/3のブロックにおいて存在確率が低くなる。花画像の場合、花を中央に配置させる構図にすることが多いため、中央付近における花部分画像の存在確率が高くなる。
次に、サブ部分識別器61は、選択された部分画像の部分特徴量に基づいて、その部分画像が特定のシーンに属するか否かを判断する(S304)。サブ部分識別器61には、全体識別器50のサブ識別器51と同様に、サポートベクタマシン(SVM)による判別手法が用いられている。なお、サポートベクタマシンについては、後述する。判別式の値が正の値であれば、部分画像が特定のシーンに属すると判断し、サブ部分識別器61は正カウント値をインクリメントする。また、判別式の値が負の値であれば、部分画像が特定のシーンに属しないと判断し、サブ部分識別器61は負カウント値をインクリメントする。
次に、サブ部分識別器61は、正カウント値が肯定閾値よりも大きいか否かを判断する(S305)。なお、正カウント値は、特定のシーンに属すると判断された部分画像の数を示すものである。正カウント値が肯定閾値よりも大きければ(S305でYES)、サブ部分識別器61は、識別対象画像が特定のシーンに属すると判断し、肯定フラグを立てる(S306)。この場合、部分識別器60は、次のサブ部分識別器61による識別を行わずに部分識別処理を終了する。この場合、次のサブ部分識別器61による識別を省略しているので、部分識別処理の速度を速めることができる。
正カウント値が肯定閾値より大きくなければ(S305でNO)、サブ部分識別器61は、識別対象画像が特定のシーンに属すると判断できず、次のS307の処理を行う。
正カウント値が肯定閾値より大きくなければ(S305でNO)、サブ部分識別器61は、識別対象画像が特定のシーンに属すると判断できず、次のS307の処理を行う。
サブ部分識別器61は、正カウント値と残りの部分画像数との和が肯定閾値よりも小さければ(S307でYES)、S309の処理へ進む。正カウント値と残りの部分画像数との和が肯定閾値よりも小さい場合、残り全ての部分画像によって正カウント値がインクリメントされても、正カウント値が肯定閾値よりも大きくなることがないので、S309に処理を進めることによって、残りの部分画像についてサポートベクタマシンによる識別を省略する。これにより識別処理の速度を速めることができる。
サブ部分識別器61がS307でNOと判断した場合、サブ部分識別器61は、次の部分画像の有無を判断する(S308)。なお、本実施形態では、64個に分割された部分画像の全てを順に選択していない。図18において、太枠で示された上位10番目までの10個の部分画像だけを順に選択している。このため、10番目の部分画像の識別を終えれば、サブ部分識別器61は、S308において次の部分画像はないと判断する(この点を考慮して、S307の「残り部分画像数」も決定される。)。
図19は、64個に分割された部分画像のうち、上位10番目までの10個の部分画像だけで夕景画像を識別したときのRecall及びPrecisionのグラフである。図に示すような肯定閾値を設定すれば、正答率(Precision)を80%程度に設定でき、再現率(Recall)を90%程度に設定でき、精度の高い識別が可能である。
本実施形態では、10個の部分画像だけで夕景画像の識別を行っている。このため、本実施形態では、64個の全ての部分画像を用いて夕景画像の識別を行うよりも、部分識別処理の速度を速めることができる。
また、本実施形態では、夕景部分画像の存在確率の高い上位10番目の部分画像を用いて夕景画像の識別を行っている。このため、本実施形態では、存在確率を無視して抽出された10個の部分画像を用いて夕景画像の識別を行うよりも、RecallやPrecisionをともに高く設定することが可能になる。
また、本実施形態では、夕景部分画像の存在確率の高い順に部分画像を選択している。この結果、早い段階でS305の判断がYESになりやすくなる。このため、本実施形態では、存在確率の高低を無視した順で部分画像を選択したときよりも、部分識別処理の速度を速めることができる。
S307においてYESと判断された場合、又は、S308において次の部分画像がないと判断された場合、サブ部分識別器61は、負カウント値が否定閾値よりも大きいか否かを判断する(S309)。この否定閾値は、前述の全体識別処理における否定閾値(図10のS206)とほぼ同様の機能を果たすものなので、詳しい説明は省略する。S309でYESと判断された場合、図10のS207と同様に否定フラグを立てる。
S302においてNOの場合、S309でNOの場合、又はS310の処理を終えた場合、部分識別器60は、次のサブ部分識別器61の有無を判断する(S311)。夕景部分識別器61Sによる処理を終えた後の場合、サブ部分識別器61として花部分識別器61Fや紅葉部分識別器61Rがまだあるので、部分識別器60は、S311において、次のサブ部分識別器61があると判断する。
そして、S306の処理を終えた場合(識別対象画像が特定のシーンに属すると判断された場合)、又は、S311において次のサブ部分識別器61がないと判断された場合(識別対象画像が特定のシーンに属すると判断できなかった場合)、部分識別器60は、部分識別処理を終了する。
なお、既に説明した通り、部分識別処理が終了すると、シーン識別部33は、部分識別処理によってシーンの識別ができたか否かを判断する(図8のS106)。このとき、シーン識別部33は、図11の識別対象テーブルを参照し、「肯定」欄に1があるか否かを判断することになる。
部分識別処理によってシーンの識別ができた場合(S106でYES)、統合識別処理が省略される。これにより、シーン識別処理の速度が速くなる。
部分識別処理によってシーンの識別ができた場合(S106でYES)、統合識別処理が省略される。これにより、シーン識別処理の速度が速くなる。
ところで、上記の説明では、夕景部分識別器61Sは、10個の部分画像を用いて夕景画像の識別を行っているが、識別に用いられる部分画像の数は10個に限られるものではない。また、他のサブ部分識別器61が、夕景部分識別器61Sとは異なる数の部分画像を用いて画像を識別しても良い。本実施形態では、花部分識別器61Fは20個の部分画像を用いて花画像を識別し、また、紅葉部分識別器61Rは、15個の部分画像を用いて紅葉画像を識別するものとする。
===サポートベクタマシン===
統合識別処理について説明する前に、全体識別処理のサブ識別器51や部分識別処理のサブ部分識別器61において用いられているサポートベクタマシン(SVM)について説明する。
統合識別処理について説明する前に、全体識別処理のサブ識別器51や部分識別処理のサブ部分識別器61において用いられているサポートベクタマシン(SVM)について説明する。
図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以上でも良い)。この場合、境界は超平面で定義される。
ここでは2次元空間を用いて説明しているが、これには限定されない(つまり特徴量は2以上でも良い)。この場合、境界は超平面で定義される。
ところで、2つのクラスに線形関数で分離できないことがある。このような場合に線形サポートベクタマシンによる判別を行うと、判別結果の精度が低下する。そこで、入力空間の特徴量を非線形変換すれば、すなわち入力空間からある特徴空間へ非線形写像すれば、特徴空間において線形関数で分離することができるようになる。非線形サポートベクタマシンでは、これを利用している。
図20Bは、カーネル関数を用いた判別の説明図である。ここでは、2つの特徴量x1、x2によって、学習用サンプルを2次元空間に示している。図20Bの入力空間からの非線形写像が図20Aのような特徴空間になれば、線形関数で2つのクラスに分離することが可能になる。この特徴空間においてマージンが最大になるように境界が定義されれば、特徴空間における境界の逆写像が、図20Bに示す境界になる。この結果、図20Bに示すように、境界は非線形になる。
本実施形態では、ガウスカーネルを利用することにより、判別式f(x)は次式のようになる(なお、Mは特徴量の数であり、Nは学習用サンプルの数(若しくは境界に寄与する学習用サンプルの数)であり、wiは重み係数であり、yiは学習用サンプルの特徴量であり、xiは入力xの特徴量である)。
ある入力x(この入力xは学習用サンプルとは別である)について、f(x)>0であればクラスAに属すると判別され、f(x)<0であればクラスBに属すると判別される。また、f(x)の値が大きい値になるほど、入力x(この入力xは学習用サンプルとは別である)がクラスAに属する確率が高くなる。逆に、判別式f(x)の値が小さい値になるほど、入力x(この入力xは学習用サンプルとは別である)がクラスAに属する確率が低くなる。前述の全体識別処理のサブ識別器51や部分識別処理のサブ部分識別器61では、上記のサポートベクタマシンの判別式f(x)の値を用いている。サポートベクタマシンによる判別式f(x)の値の算出には、学習用サンプルの数(本実施形態では数万個)が多くなると時間がかかる。このため、判別式f(x)の値を複数回算出する必要があるサブ部分識別器61は、判別式f(x)の値を1回算出すれば済むサブ識別器51よりも処理時間がかかる。
なお、学習用サンプルとは別に評価用サンプルが用意されている。前述のRecallやPrecisionのグラフは、評価用サンプルに対する識別結果(判別式f(x)の値)に基づくものである。
===統合識別処理===
前述の全体識別処理や部分識別処理では、サブ識別器51やサブ部分識別器61における肯定閾値を比較的高めに設定し、Precision(正解率)を高めに設定している。なぜならば、例えば全体識別器51の風景識別器51Lの正解率が低く設定されると、風景識別器51が紅葉画像を風景画像であると誤識別してしまい、紅葉識別器51Rによる識別を行う前に全体識別処理を終えてしまう事態が発生してしまうからである。本実施形態では、Precision(正解率)が高めに設定されることにより、特定のシーンに属する画像が特定のシーンのサブ識別器51(又はサブ部分識別器61)に識別されるようになる(例えば、紅葉画像が紅葉識別器51R(又は紅葉部分識別器61R)によって識別されるようになる)。
前述の全体識別処理や部分識別処理では、サブ識別器51やサブ部分識別器61における肯定閾値を比較的高めに設定し、Precision(正解率)を高めに設定している。なぜならば、例えば全体識別器51の風景識別器51Lの正解率が低く設定されると、風景識別器51が紅葉画像を風景画像であると誤識別してしまい、紅葉識別器51Rによる識別を行う前に全体識別処理を終えてしまう事態が発生してしまうからである。本実施形態では、Precision(正解率)が高めに設定されることにより、特定のシーンに属する画像が特定のシーンのサブ識別器51(又はサブ部分識別器61)に識別されるようになる(例えば、紅葉画像が紅葉識別器51R(又は紅葉部分識別器61R)によって識別されるようになる)。
但し、全体識別処理や部分識別処理のPrecision(正解率)を高めに設定すると、全体識別処理や部分識別処理ではシーンの識別ができなくなる可能性が高くなる。そこで、本実施形態では、全体識別処理及び部分識別処理によってシーンの識別ができなかった場合、以下に説明する統合識別処理が行われる。
図21は、統合識別処理のフロー図である。以下に説明するように、統合識別処理は、全体識別処理の各サブ識別器51の判別式の値に基づいて、最も確信度の高いシーンを選択する処理である。
まず、統合識別器70は、5つのサブ識別器51の判別式の値に基づいて、正となるシーンを抽出する(S401)。このとき、全体識別処理の際に各サブ識別器51が算出した判別式の値が用いられる。
次に、統合識別器70は、判別式の値が正のシーンが存在するか否かを判断する(S402)。判別式の値が正のシーンが存在する場合(S402でYES)、最大値のシーンの欄に肯定フラグを立てて(S403)、統合識別処理を終了する。これにより、最大値のシーンに識別対象画像が属すると判断される。
一方、判別式の値が正であるシーンが存在しない場合(S402でNO)、肯定フラグを立てずに、統合識別処理を終了する。これにより、図11の識別対象テーブルの肯定欄において、1のシーンが無いままの状態になる。つまり、識別対象画像が、どのシーンに属するか識別できなかったことになる。
なお、既に説明した通り、統合識別処理が終了すると、シーン識別部33は、統合識別処理によってシーンの識別ができたか否かを判断する(図8のS108)。このとき、シーン識別部33は、図11の識別対象テーブルを参照し、「肯定」欄に1があるか否かを判断することになる。S402でNOとの判断の場合、S108の判断もNOになる。
===第1実施形態===
<概要>
既に説明した通り、プリンタ側コントローラ20の要素である全体識別器50は5つのサブ識別器51(風景識別器51L、夕景識別器51S、夜景識別器51N、花識別器51F、紅葉識別器51R)を有しており、全体識別処理の際に、サブ識別器51を順に選択していく。サブ識別器51を選択する順序として、前述したように風景→夕景→夜景→花→紅葉の順序がデフォルトとして、例えばシーン識別プログラムに予め設定されている。そして、あるサブ識別器による識別処理で画像の属するシーンが特定された場合、まだ行われていない識別処理が省略される。このようにして、識別処理の処理速度を速めるようにしている。
<概要>
既に説明した通り、プリンタ側コントローラ20の要素である全体識別器50は5つのサブ識別器51(風景識別器51L、夕景識別器51S、夜景識別器51N、花識別器51F、紅葉識別器51R)を有しており、全体識別処理の際に、サブ識別器51を順に選択していく。サブ識別器51を選択する順序として、前述したように風景→夕景→夜景→花→紅葉の順序がデフォルトとして、例えばシーン識別プログラムに予め設定されている。そして、あるサブ識別器による識別処理で画像の属するシーンが特定された場合、まだ行われていない識別処理が省略される。このようにして、識別処理の処理速度を速めるようにしている。
しかし、サブ識別器51の選択の順序が常に固定であると、識別処理の速度が低下するおそれがある。例えば、識別処理の順序が上述した順序(デフォルト)である場合に、付加データに「夜景」を示すシーン情報が含まれた画像データの識別処理を行うとする。この場合、画像データの示す画像は「夜景」のシーンに属している可能性が高いにもかかわらず、「夜景」のシーンの識別処理は、「風景」のシーンの識別処理、及び「夕景」のシーンの識別処理の後に行われる。言い換えれば、「夜景」のシーンに属している確率が高い画像の識別処理を行う際に、「夜景」のシーンの識別処理よりも先に「風景」の識別処理及び「夕景」の識別処理を行わなければならないことになる。
そこで、本実施形態では、全体識別器50は、画像データに付加される付加データのシーン情報に応じて、各シーンのサブ識別器の選択順序をデフォルトから変更する。すなわち、各シーンの識別処理の順序を変更する。これにより、識別処理の速度の向上を図ることができる。第1実施形態では、付加データのExifSubIFD領域に格納された撮影シーンタイプデータ(図5参照)に応じて、識別処理の順序を変更する。
<撮影シーンタイプデータについて>
前述したように、ExifSubIFD領域の撮影シーンタイプデータとしては、「標準」を意味する「ゼロ」、「人物」を意味する「2」、「風景」を意味する「1」、「夜景」を意味する「3」の4種類がある。
前述したように、ExifSubIFD領域の撮影シーンタイプデータとしては、「標準」を意味する「ゼロ」、「人物」を意味する「2」、「風景」を意味する「1」、「夜景」を意味する「3」の4種類がある。
図5に示すように、デジタルスチルカメラ2による撮影時にモード設定ダイヤル2Aが「オート」、「花」、「スポーツ」、「夕景」の何れかに設定された場合には、ExifSubIFD領域に格納される撮影シーンタイプデータは「標準」を意味する「ゼロ」となる。よって、撮影シーンタイプデータが「ゼロ」の場合、識別対象画像がどのシーンに属する確率が高いかを判断することができない。従って、この場合、サブ識別器51の選択の順序はデフォルトのままとする。
撮影シーンタイプデータが「1」の場合は、識別対象画像が「風景」のシーンである確率が高い。しかし、前述したように、デフォルトの選択順序において、風景のサブ識別器51が最初に選択されるようになっている。よって、この場合、サブ識別器51の選択の順序を変更する必要が無いので、この場合もサブ識別器51の選択の順序はデフォルトのままとする。
また、撮影シーンタイプデータが「2」の場合は、識別対象画像が「人物」のシーンである確率が高い。しかし、全体識別器50のサブ識別器51には「人物」のシーンに対応するサブ識別器が設けられていない。よって、この場合もサブ識別器51の選択の順序はデフォルトのままとする。なお、撮影シーンタイプデータが「2」の場合は、顔識別部32によって、識別対象画像が「人物」のシーンであると識別される可能性が高い。そして、顔識別部32によって識別対象画像が「人物」のシーンである特定された場合には、シーン識別部33による識別処理は行われないことになる。
撮影シーンタイプデータが「3」の場合は、撮影時にモード設定ダイヤル2Aが「夜景」に設定されていることになり、識別対象画像が「夜景」のシーンに属している確率が高い。この場合に、「夜景」のシーンの識別処理の順番を先にするようにすれば、識別の速度の高速化が図れる。
従って、第1実施形態において識別処理の順序を変更する対象となるのは、撮影シーンタイプデータが「3」の場合である。そして、この場合に、「夜景」のシーンの識別処理の順番を先にするようにサブ識別器51の識別処理の順序を変更する。以下、その処理について説明する。
<サブ識別器の選択順序について>
図22は、選択順序決定処理のフロー図である。また、図23は、選択順序を変更する一例について示した図である。
まず、全体識別器50は、識別処理を行う際に、画像データと対応して付加情報記憶部31A´に格納された付加データを読み出す。そして、付加データからExifSubIFD領域の撮影シーンタイプデータ(シーン情報に相当する)を取得する(S501)。そして、全体識別器50は、取得した撮影シーンタイプデータが特定のシーンを示すものであるか否かを判断する(S502)。本実施形態の場合、「夜景」を意味する「3」であるか否かを判断する。
図22は、選択順序決定処理のフロー図である。また、図23は、選択順序を変更する一例について示した図である。
まず、全体識別器50は、識別処理を行う際に、画像データと対応して付加情報記憶部31A´に格納された付加データを読み出す。そして、付加データからExifSubIFD領域の撮影シーンタイプデータ(シーン情報に相当する)を取得する(S501)。そして、全体識別器50は、取得した撮影シーンタイプデータが特定のシーンを示すものであるか否かを判断する(S502)。本実施形態の場合、「夜景」を意味する「3」であるか否かを判断する。
全体識別器50は、取得した撮影シーンタイプデータが「3」でないと判断した場合(S502でNO)、つまり撮影シーンタイプデータが「ゼロ」、「1」、「2」の何れかであると判断した場合には、サブ識別器51の選択順序の変更を行わない。よって、この場合、図23のデフォルトの順序(風景→夕景→夜景→花→紅葉)によってサブ識別器51を選択する(S503)。
一方、全体識別器50は、取得した撮影シーンタイプデータが「3」であると判断した場合(S502でYES)、「夜景」のシーンに対応する識別処理の順番を先にする(S504)。例えば、「夜景」のシーンに対応する夜景識別器51Nの識別処理を複数の識別処理のうちの最初に行うように識別処理の順序を変更する。つまり、図23のように、サブ識別器51の選択順序を風景→夕景→夜景→花→紅葉(デフォルト)から、夜景→風景→夕景→花→紅葉の順に変更する。撮影シーンタイプデータが「3」の場合、画像が「夜景」のシーンに属している確率が高いので、夜景識別器51Nの識別処理によって識別対象画像が「夜景」のシーンであると特定される確率が高い。つまり、このように撮影シーンタイプデータに応じて識別処理の順序を変更することで、最初の識別処理で画像の属するシーンが特定されて、後段の識別処理を省略できる確率が高くなる。よって識別処理の速度の向上を図ることができる。
なお、撮影シーンタイプデータに対応するシーンの識別処理の順番を、所定数(例えば1つ)先にするようにしてもよい。例えば、撮影シーンタイプデータが「3」の場合、「夜景」のシーンに対応する夜景識別器51Nの識別処理を、前段の「夕景」のシーンに対応する夕景識別器51Sの識別処理よりも先に行うように順序を変更してもよい。この場合においても、順序を変更しない場合に比べて、識別処理の速度の向上を図ることが可能である。
ところで、全体識別器50の「夜景」のシーンの識別処理において、図16Aの閾値テーブルに示すように肯定閾値として1.14が設けられている。この肯定閾値は、前述したように、高めに設定されている。このため、「夜景」のシーンの画像であっても、夜景識別器51Nのサポートベクタマシンで算出された判別式の値が1.14以下となって、「夜景」のシーンに属すると判断されない場合があると考えられる。しかし、「夜景」のシーンの画像であれば、算出された判別式が肯定閾値を超えないとしても、肯定閾値に近い値となる確率が高い。このことにより、この判別式によって、識別対象画像が夜景のシーン以外のシーンに属さないことを識別して、後段の識別処理を省略することができる。例えば、図16Aの閾値テーブルに示すように、夜景識別器51Nにおける風景の第2否定閾値として−0.73、夕景の第2否定閾値として1.30、花の第2否定閾値として−0.57、紅葉の第2否定閾値として−0.64がそれぞれ設定されている。よって、夜景識別器51Nの識別処理で算出された判別式の値が、−0.57以上(例えば正の値)であると、識別対象画像が「風景」、「花」、「紅葉」のシーンには属さないと判断できる。よって、この場合、「風景」、「花」、「紅葉」のシーンの識別処理を省略することができる。このように撮影シーンタイプデータに対応するシーンの識別処理を最初に行うことによって、そのシーンとは別のシーンに対する識別処理を省略できる可能性が高くなる。これにより、シーンの識別処理の速度を向上させることができる。
===第2実施形態===
前述の第1実施形態では、撮影シーンタイプデータの示すシーンに対応する識別処理の順番を先にするように選択順序を変更することとしたが、撮影シーンタイプデータの示すシーンに応じて、そのシーン以外のシーンの識別処理の順番を変更するようにしてもよい。例えば、第1実施形態において撮影シーンタイプデータが「3」の場合、「夜景」のシーンに特徴の近いシーン(例えば「夕景」のシーン)の順番を先にするようにしてもよい。つまり、第1実施形態では選択順序を夜景→風景→夕景→花→紅葉に変更したが、さらに「夕景」のシーンの順番を(例えば1つ)先にするようにしてもよい。その場合、選択順序は、夜景→夕景→風景→花→紅葉の順になる。つまり「夜景」のシーンと特徴の近い「夕景」のシーンの識別処理が、「夜景」のシーンと特徴の異なる「風景」のシーンの識別処理よりも先に行われる。これにより、画像の属するシーンの特定される可能性の高い識別処理を先に行うことができ、後段の識別処理を省略できる確率が高くなる。よって識別処理の速度の向上を図ることができる。
前述の第1実施形態では、撮影シーンタイプデータの示すシーンに対応する識別処理の順番を先にするように選択順序を変更することとしたが、撮影シーンタイプデータの示すシーンに応じて、そのシーン以外のシーンの識別処理の順番を変更するようにしてもよい。例えば、第1実施形態において撮影シーンタイプデータが「3」の場合、「夜景」のシーンに特徴の近いシーン(例えば「夕景」のシーン)の順番を先にするようにしてもよい。つまり、第1実施形態では選択順序を夜景→風景→夕景→花→紅葉に変更したが、さらに「夕景」のシーンの順番を(例えば1つ)先にするようにしてもよい。その場合、選択順序は、夜景→夕景→風景→花→紅葉の順になる。つまり「夜景」のシーンと特徴の近い「夕景」のシーンの識別処理が、「夜景」のシーンと特徴の異なる「風景」のシーンの識別処理よりも先に行われる。これにより、画像の属するシーンの特定される可能性の高い識別処理を先に行うことができ、後段の識別処理を省略できる確率が高くなる。よって識別処理の速度の向上を図ることができる。
また、逆に、撮影シーンタイプデータの示すシーンに応じて、そのシーンとは特徴の異なるシーンの識別処理の順番を後にするようにしてもよい。例えば、前述した撮影シーンタイプデータが「3」の場合、「夜景」のシーンと特徴の異なるシーン(例えば「花」のシーン)の順番を後にするようにしてもよい。これにより、画像の属するシーンが特定される可能性の低い識別処理を後回しにすることができるので識別処理の速度の向上を図ることができる。
第1実施形態では撮影シーンタイプデータが「3」の場合のみサブ識別器51の選択順序を変更することとしたが、この第2実施形態の場合、撮影シーンタイプデータが「1」及び「2」の場合でも選択順序を変更することができる。すなわち、撮影シーンタイプデータが「1」である場合には、全体識別器50の識別対象となるシーンのうち、「風景」のシーンに特徴が近いシーンの順番を先にするようにすればよい。あるいは「風景」のシーンと特徴が異なるシーンの順番を後にするようにしてもよい。撮影シーンタイプデータが「2」の場合も同様である。なお、撮影シーンタイプデータのシーンに応じて、順番を変更する識別処理については、各シーンの特徴に基づいて、例えばシーン識別プログラムに設定しておけばよい。
===第3実施形態===
<概要>
前述した実施形態では、画像データに付加される付加データのうちの撮影シーンタイプデータを用いていた。この、撮影シーンタイプデータは、規格化されたデータであるため、対応するシーンが「人物」、「風景」及び「夜景」のみと限定的であった。そのため、部分識別器60には対応するシーンが無く、全体識別器50のみの識別順序を変更していた。
<概要>
前述した実施形態では、画像データに付加される付加データのうちの撮影シーンタイプデータを用いていた。この、撮影シーンタイプデータは、規格化されたデータであるため、対応するシーンが「人物」、「風景」及び「夜景」のみと限定的であった。そのため、部分識別器60には対応するシーンが無く、全体識別器50のみの識別順序を変更していた。
そこで、第3実施形態では、MakernoteIFD領域に格納される撮影モードデータ(図5参照)を用いることにする。撮影モードデータは、メーカがデータの種類を自由に定義できるので、対応するシーンの種類を多くすることができる。但し、撮影モードデータは、メーカ毎に形式が異なるMakernoteデータであるため、プリンタ側コントローラ20には、MakernoteIFD領域のデータの格納形式を解析するための解析プログラムが必要となる。
<サブ識別器の選択順序について>
本実施形態では、図5に示すように、デジタルスチルカメラ2のモード設定ダイヤル2Aの各設定と、各撮影モードデータとが対応している。すなわち、撮影モードデータの「1」は「人物」のシーン、「2」は「風景」のシーン、「3」は「花」のシーン、「4」は「スポーツ」のシーン、「5」は「夕景」のシーン、「6」は「夜景」のシーンとそれぞれ対応している。例えば、撮影モードデータが「3」の場合、モード設定ダイヤル2Aの設定が「花」で撮影された画像であり、識別対象画像が「花」のシーンを示す画像である確率が高いことになる。
本実施形態では、図5に示すように、デジタルスチルカメラ2のモード設定ダイヤル2Aの各設定と、各撮影モードデータとが対応している。すなわち、撮影モードデータの「1」は「人物」のシーン、「2」は「風景」のシーン、「3」は「花」のシーン、「4」は「スポーツ」のシーン、「5」は「夕景」のシーン、「6」は「夜景」のシーンとそれぞれ対応している。例えば、撮影モードデータが「3」の場合、モード設定ダイヤル2Aの設定が「花」で撮影された画像であり、識別対象画像が「花」のシーンを示す画像である確率が高いことになる。
なお、撮影モードデータが「0」の場合は、モード設定ダイヤル2Aの設定が「オート」で撮影された画像であるので、このデータからは識別対象画像がどのシーンを示すものであるかを判断することができない。また、図5では、撮影モードデータに「紅葉」を意味するデータは設定されていない。また、シーン識別部33には、撮影モードデータが「1」と「4」、すなわち「人物」と「スポーツ」のシーンに対応するサブ識別器(サブ識別器51、サブ部分識別器61)は設けられていない。
従って、図5の撮影モードデータのうち、シーン識別部33における識別の対象となるのは、撮影モードデータが「風景」を意味する「2」、「花」を意味する「3」、「夕景」を意味する「5」、夜景を意味する「6」の各場合である。以下、シーン識別部33における識別処理の順序を変更する場合の一例として、撮影モードデータが「花」を意味する「3」である場合について説明する。なお、シーン識別部33において、全体識別器50は「花」のシーンの識別を行うサブ識別器51(花識別器51F)を有しており、部分識別器60は「花」のシーンの識別を行うサブ部分識別器61(花部分識別器61F)を有している。そして、全体識別器50では、識別処理の順序として、風景→夕景→夜景→花→紅葉の順序がデフォルトとして設定されている。この全体識別器50によって画像の属するシーンが特定できなない場合、部分識別器60による部分識別処理が行われる。部分識別器60では、識別処理の順序として、夕景→花→紅葉の順序がデフォルトとして設定されている。
(全体識別器)
まず、全体識別器50は、識別処理を行う際に、画像データと対応して付加情報記憶部31A´に格納された付加データを読み出す。そして、付加データからMakernoteIFD領域に格納された撮影モードデータ(シーン情報に相当する)を取得し、その内容を解析する。そして、全体識別器50は、解析した撮影モードデータが特定のシーンを示すものであるか否かを判断する。本実施形態の場合、撮影モードデータが前述した「2」、「3」、「5」、「6」の何れかであるか否かを判断する。なお、全体識別器50において、「風景」のシーンの識別処理はデフォルトで最初に行われるようになっているので、「2」の撮影モードデータは対象外にするようにしてもよい。
まず、全体識別器50は、識別処理を行う際に、画像データと対応して付加情報記憶部31A´に格納された付加データを読み出す。そして、付加データからMakernoteIFD領域に格納された撮影モードデータ(シーン情報に相当する)を取得し、その内容を解析する。そして、全体識別器50は、解析した撮影モードデータが特定のシーンを示すものであるか否かを判断する。本実施形態の場合、撮影モードデータが前述した「2」、「3」、「5」、「6」の何れかであるか否かを判断する。なお、全体識別器50において、「風景」のシーンの識別処理はデフォルトで最初に行われるようになっているので、「2」の撮影モードデータは対象外にするようにしてもよい。
全体識別器50は、得られた撮影モードデータが上述した値でないと判断した場合、つまり、撮影モードデータが「ゼロ」、「1」、「4」の何れかであると判断した場合には、サブ識別器51の選択順序の変更は行わない。よって、この場合、全体識別器50は、デフォルトの順序(風景→夕景→夜景→花→紅葉)でサブ識別器51を選択することになる。
一方、全体識別器50は、得られた撮影モードデータが「2」、「3」、「5」、「6」の何れかであると判断した場合、そのシーンに対応する識別処理を最初に行うように順序を変更する。本実施形態では、前述したように撮影モードデータが「3」であるので、全体識別器50は、花識別器51Fの識別処理を最初に行うように識別処理の順序を変更する。つまり、サブ識別器51の選択順序を、デフォルトの風景→夕景→夜景→花→紅葉から、花→風景→夕景→夜景→紅葉の順に変更する。撮影モードデータが「3」の場合、その画像は「花」のシーンに属している確率が高いので、花識別器51Fの識別処理によって識別対象画像が「花」のシーンであると特定される確率が高い。そして、花識別器51Fによって識別対象画像が「花」のシーンに属すると判断されれば以下の識別処理は省略される。よって、識別処理の速度の向上を図ることができる。
なお、第2実施形態と同様にして、花のシーンに特徴の近いシーンの順番を先にするようにしてもよい。
(部分識別器)
全体識別器50によって識別対象画像の属するシーンが識別されなかった場合には、部分識別器60による識別処理が行われる(図8、図9参照)。部分識別器60では、識別処理の順序として、夕景→花→紅葉がデフォルトとして設定されている。
全体識別器50によって識別対象画像の属するシーンが識別されなかった場合には、部分識別器60による識別処理が行われる(図8、図9参照)。部分識別器60では、識別処理の順序として、夕景→花→紅葉がデフォルトとして設定されている。
部分識別器60は、取得した撮影モードデータが特定のシーンを示すものであるか否かを判断する。本実施形態の場合、部分識別器60では「夕景」の識別処理がデフォルトで最初に行われることになっており、また「紅葉」の識別処理に対応する撮影シータイプデータが設定されていない。よって、部分識別器60は、撮影モードデータが「花」を意味する「3」であるか否かを判断する。そして、部分識別器60は、撮影シーンタイプデータが「3」でないと判断した場合には、デフォルトの順序(夕景→花→紅葉)で識別処理を行う。
本実施形態の場合、撮影モードデータが「3」であるので、部分識別部60は、撮影モードデータが「3」であると判断し、「花」の識別処理を最初に行うように識別処理の順序を変更する。つまり、サブ部分識別器61の選択順序をデフォルトの夕景→花→紅葉から花→夕景→紅葉の順に変更する。これにより、部分識別器60において、画像が属している可能性の高い「花」のシーンの識別処理から識別を行うことになるので、他の識別処理を省略できる可能性が高くなる。なお、部分識別器60による部分識別処理は、部分画像毎に識別を行うので、全体識別器50による全体識別処理と比べて、各シーンの識別処理の処理時間が長くなりがちである。よって、このように部分識別処理の選択順序を変更することで、識別処理の速度をより向上させることができる。
===その他の実施の形態===
一実施形態としてのプリンタ等を説明したが、上記の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることは言うまでもない。特に、以下に述べる実施形態であっても、本発明に含まれるものである。
一実施形態としてのプリンタ等を説明したが、上記の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることは言うまでもない。特に、以下に述べる実施形態であっても、本発明に含まれるものである。
<プリンタについて>
前述の実施形態ではプリンタ4がシーン識別処理をしていたが、デジタルスチルカメラ2がシーン識別処理をしても良い。また、上記のシーン識別処理を行う画像識別装置は、プリンタ4やデジタルスチルカメラ2に限られるものではない。例えば、大量の画像ファイルを保存するフォトストレージのような画像識別装置が、上記のシーン識別処理を行っても良い。もちろん、パーソナルコンピュータやインターネット上に設置されたサーバーが、上記のシーン識別処理を行っても良い。
前述の実施形態ではプリンタ4がシーン識別処理をしていたが、デジタルスチルカメラ2がシーン識別処理をしても良い。また、上記のシーン識別処理を行う画像識別装置は、プリンタ4やデジタルスチルカメラ2に限られるものではない。例えば、大量の画像ファイルを保存するフォトストレージのような画像識別装置が、上記のシーン識別処理を行っても良い。もちろん、パーソナルコンピュータやインターネット上に設置されたサーバーが、上記のシーン識別処理を行っても良い。
<サポートベクタマシンについて>
前述のサブ識別器51やサブ部分識別器61には、サポートベクタマシン(SVM)による識別手法が用いられている。しかし、識別対象画像が特定シーンに属するか否かの識別手法は、サポートベクタマシンを用いるものに限られるものではない。例えば、ニューラルネットワーク等のパターン認識を採用しても良い。
前述のサブ識別器51やサブ部分識別器61には、サポートベクタマシン(SVM)による識別手法が用いられている。しかし、識別対象画像が特定シーンに属するか否かの識別手法は、サポートベクタマシンを用いるものに限られるものではない。例えば、ニューラルネットワーク等のパターン認識を採用しても良い。
<シーン情報について>
前述の実施形態ではシーン情報として、撮影シーンタイプデータと撮影モードデータの場合について説明したが、シーン情報はこれに限定されず、画像の属するシーンを示す情報が含まれていればよい。
前述の実施形態ではシーン情報として、撮影シーンタイプデータと撮影モードデータの場合について説明したが、シーン情報はこれに限定されず、画像の属するシーンを示す情報が含まれていればよい。
<識別処理について>
第3実施形態では、シーン情報に基づいて、全体識別処理と部分識別処理の順序を変更することとしたが、これに限定されない。例えば、シーン情報に基づいて、全体識別処理のみの順序を変更してもよいし、部分識別処理のみの順序を変更してもよい。何れの場合でも、順序を変更しない場合に比べて、識別処理の速度の向上を図ることができる。
第3実施形態では、シーン情報に基づいて、全体識別処理と部分識別処理の順序を変更することとしたが、これに限定されない。例えば、シーン情報に基づいて、全体識別処理のみの順序を変更してもよいし、部分識別処理のみの順序を変更してもよい。何れの場合でも、順序を変更しない場合に比べて、識別処理の速度の向上を図ることができる。
2 デジタルスチルカメラ、2A モード設定ダイヤル、
4 プリンタ、6 メモリカード、10 印刷機構、
11 ヘッド、12 ヘッド制御部、13 モータ、14 センサ
23 メモリ、24 制御ユニット、25 駆動信号生成部、
31 記憶部、31A 画像記憶部、31A´ 付加情報記憶部、31B 結果記憶部、
32 顔識別部、33 シーン識別部、34 画像補正部、35 プリンタ制御部、
40 特徴量取得部、50 全体識別器、51 サブ識別器、51L 風景識別器、
51S 夕景識別器、51N 夜景識別器、51F 花識別器、51R 紅葉識別器、
60 部分識別器、61 サブ部分識別器、61S 夕景部分識別器、
61F 花部分識別器、61R 紅葉部分識別器、70 統合識別器
4 プリンタ、6 メモリカード、10 印刷機構、
11 ヘッド、12 ヘッド制御部、13 モータ、14 センサ
23 メモリ、24 制御ユニット、25 駆動信号生成部、
31 記憶部、31A 画像記憶部、31A´ 付加情報記憶部、31B 結果記憶部、
32 顔識別部、33 シーン識別部、34 画像補正部、35 プリンタ制御部、
40 特徴量取得部、50 全体識別器、51 サブ識別器、51L 風景識別器、
51S 夕景識別器、51N 夜景識別器、51F 花識別器、51R 紅葉識別器、
60 部分識別器、61 サブ部分識別器、61S 夕景部分識別器、
61F 花部分識別器、61R 紅葉部分識別器、70 統合識別器
Claims (9)
- 画像データの示す画像が特定のシーンに属するか否かを識別する識別処理を、複数の前記シーン毎に順に行い、
ある前記識別処理の結果に応じて、まだ行われていない前記識別処理が省略され、
前記識別処理の結果に基づいて前記画像の属するシーンを識別する
画像識別方法において、
前記画像データに付加されている付加データから、前記画像が属する前記シーンに関するシーン情報を取得し、
前記シーン情報に応じて、複数の前記シーンに対する前記識別処理の順序を変更する、
ことを特徴とする画像識別方法。 - 請求項1に記載の画像識別方法であって、
前記シーン情報の示すシーンに基づいて、ある前記シーンに対応する前記識別処理の順番を先にすることを特徴とする画像識別方法。 - 請求項2に記載の画像識別方法であって、
前記シーン情報の示すシーンに対応する前記識別処理を、複数の前記識別処理のうちの最初に行うように変更することを特徴とする画像識別方法。 - 請求項1〜3の何れかに記載の画像識別方法であって、
前記シーン情報の示すシーンに基づいて、ある前記シーンに対応する前記識別処理の順番を後にすることを特徴とする画像識別方法。 - 請求項1〜4の何れかに記載の画像識別方法であって、
ある前記識別処理において、その識別処理の対応する特定のシーンに前記画像が属することが識別されたとき、まだ行われていない前記識別処理が省略される
ことを特徴とする画像識別方法。 - 請求項1〜5の何れかに記載の画像識別方法であって、
ある前記識別処理において、その識別処理とは別の識別処理に対応する特定のシーンに前記画像が属さないことが識別されたとき、前記別の識別処理が省略される
ことを特徴とする画像識別方法。 - 請求項1〜6の何れかに記載の画像識別方法であって、
前記画像の全体の特徴を示す全体特徴量に基づいて、前記画像が特定のシーンに属するか否かの識別処理を複数の前記シーン毎に順に行う全体識別処理と、
前記全体識別処理において前記画像データの示す画像のシーンを識別できない場合に、前記画像の一部の特徴を示す部分特徴量に基づいて、前記画像が特定のシーンに属するか否かの識別処理を複数の前記シーン毎に順に行う部分識別処理と、
を有し、
前記シーン情報に応じて、前記全体識別処理及び前記部分識別処理の少なくとも一方の前記識別処理の順序を変更する、ことを特徴とする画像識別方法。 - 画像データの示す画像が特定のシーンに属するか否かを識別する識別処理を、複数の前記シーン毎に順に行い、ある前記識別処理の結果に応じて、まだ行われていない前記識別処理を省略し、前記識別処理の結果に基づいて前記画像の属するシーンを識別するコントローラを備えた画像識別装置であって、
前記コントローラは、
画像データに付加されている付加データから前記画像データのシーンを示す前記シーン情報を取得し、
前記シーン情報に応じて、複数の前記シーンに対する前記識別処理の順序を変更する、
ことを特徴とする画像識別装置。 - 画像識別装置に、
画像データの示す画像が特定のシーンに属するか否かを識別する識別処理を、複数の前記シーン毎に順に行わせ、
ある前記識別処理の結果に応じて、まだ行われていない前記識別処理を省略させ、
前記識別処理の結果に基づいて前記画像の属するシーンを識別させる、
プログラムにおいて、
画像データに付加されている付加データから前記画像データのシーンを示すシーン情報を取得させ、
前記シーン情報に応じて、複数の前記シーンに対する前記識別処理の順序を変更させる、
ことを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007195004A JP2009033459A (ja) | 2007-07-26 | 2007-07-26 | 画像識別方法、画像識別装置及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007195004A JP2009033459A (ja) | 2007-07-26 | 2007-07-26 | 画像識別方法、画像識別装置及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009033459A true JP2009033459A (ja) | 2009-02-12 |
Family
ID=40403464
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007195004A Withdrawn JP2009033459A (ja) | 2007-07-26 | 2007-07-26 | 画像識別方法、画像識別装置及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009033459A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010225116A (ja) * | 2009-03-25 | 2010-10-07 | Toshiba Corp | 学習装置、方法及びプログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005310123A (ja) * | 2004-03-24 | 2005-11-04 | Fuji Photo Film Co Ltd | 特定シーンの画像を選別する装置、プログラムおよびプログラムを記録した記録媒体 |
JP2006101156A (ja) * | 2004-09-29 | 2006-04-13 | Casio Comput Co Ltd | 情報処理装置及び情報処理プログラム |
JP2008234625A (ja) * | 2007-02-19 | 2008-10-02 | Seiko Epson Corp | 情報処理方法、情報処理装置及びプログラム |
-
2007
- 2007-07-26 JP JP2007195004A patent/JP2009033459A/ja not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005310123A (ja) * | 2004-03-24 | 2005-11-04 | Fuji Photo Film Co Ltd | 特定シーンの画像を選別する装置、プログラムおよびプログラムを記録した記録媒体 |
JP2006101156A (ja) * | 2004-09-29 | 2006-04-13 | Casio Comput Co Ltd | 情報処理装置及び情報処理プログラム |
JP2008234625A (ja) * | 2007-02-19 | 2008-10-02 | Seiko Epson Corp | 情報処理方法、情報処理装置及びプログラム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010225116A (ja) * | 2009-03-25 | 2010-10-07 | Toshiba Corp | 学習装置、方法及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7639877B2 (en) | Apparatus and program for selecting photographic images | |
US20080292181A1 (en) | Information Processing Method, Information Processing Apparatus, and Storage Medium Storing a Program | |
JP5040624B2 (ja) | 情報処理方法、情報処理装置及びプログラム | |
JP2009093334A (ja) | 識別方法及びプログラム | |
JP4862720B2 (ja) | 情報処理方法、情報処理装置、プログラム、及び記憶媒体 | |
JP2009080557A (ja) | 識別方法及びプログラム | |
JP4992519B2 (ja) | 情報処理方法、情報処理装置及びプログラム | |
JP4946750B2 (ja) | 設定方法、識別方法及びプログラム | |
JP2009044249A (ja) | 画像識別方法、画像識別装置及びプログラム | |
JP2008284868A (ja) | 印刷方法、印刷装置及びプログラム | |
JP4910821B2 (ja) | 画像識別方法 | |
JP4992646B2 (ja) | 識別方法及びプログラム | |
JP2008234626A (ja) | 情報処理方法、情報処理装置及びプログラム | |
JP2008228087A (ja) | 情報処理方法、情報処理装置及びプログラム | |
JP4882927B2 (ja) | カテゴリ識別方法 | |
JP2009033459A (ja) | 画像識別方法、画像識別装置及びプログラム | |
JP2008228086A (ja) | 情報処理方法、情報処理装置及びプログラム | |
US8243328B2 (en) | Printing method, printing apparatus, and storage medium storing a program | |
JP2008271058A (ja) | 情報処理方法、情報処理装置及びプログラム | |
JP4830950B2 (ja) | 情報処理方法、情報処理装置及びプログラム | |
EP1959668A2 (en) | Information processing method, information processing apparatus, and program | |
JP2008271249A (ja) | 情報処理方法、情報処理装置及びプログラム | |
JP2008242638A (ja) | 画像識別方法、画像識別装置及びプログラム | |
US20080199098A1 (en) | Information processing method, information processing apparatus, and storage medium having program stored thereon | |
JP2009080556A (ja) | 設定方法、識別方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100202 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110418 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110426 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20110628 |