JP2008228086A - 情報処理方法、情報処理装置及びプログラム - Google Patents
情報処理方法、情報処理装置及びプログラム Download PDFInfo
- Publication number
- JP2008228086A JP2008228086A JP2007065569A JP2007065569A JP2008228086A JP 2008228086 A JP2008228086 A JP 2008228086A JP 2007065569 A JP2007065569 A JP 2007065569A JP 2007065569 A JP2007065569 A JP 2007065569A JP 2008228086 A JP2008228086 A JP 2008228086A
- Authority
- JP
- Japan
- Prior art keywords
- scene
- image
- image data
- partial
- identification
- 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
Landscapes
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Color Image Communication Systems (AREA)
- Studio Devices (AREA)
Abstract
【課題】画像データのシーンを識別する際に、候補となるシーンが複数になる場合、1つのシーンに絞らずに、候補となるシーンが複数あるということ自体を情報として活用する。
【解決手段】本発明の情報処理方法は、複数のシーンのそれぞれに対応付けられた重みを用意するステップと、画像データを取得するステップと、前記画像データの示す画像のシーンの候補を抽出するステップと、前記候補が複数ある際に、各候補に対応する前記重みに基づいて、複数の前記候補の中からシーンを特定するステップと、特定されたシーンに応じた補正処理を前記画像データに施すステップと、を有することを特徴とする。
【選択図】図27
【解決手段】本発明の情報処理方法は、複数のシーンのそれぞれに対応付けられた重みを用意するステップと、画像データを取得するステップと、前記画像データの示す画像のシーンの候補を抽出するステップと、前記候補が複数ある際に、各候補に対応する前記重みに基づいて、複数の前記候補の中からシーンを特定するステップと、特定されたシーンに応じた補正処理を前記画像データに施すステップと、を有することを特徴とする。
【選択図】図27
Description
本発明は、情報処理方法、情報処理装置及びプログラムに関する。
デジタルスチルカメラには撮影モードを設定するモード設定ダイヤルを持つものがある。ユーザがダイヤルで撮影モードを設定すると、デジタルスチルカメラは撮影モードに応じた撮影条件(露光時間等)を決定し、撮影を行う。撮影が行われると、デジタルスチルカメラは、画像ファイルを生成する。この画像ファイルには、撮影した画像の画像データに、撮影時の撮影条件等の付加データが付加されている。
一方、付加データに応じて画像データに画像処理することも行われている。例えば、プリンタが画像ファイルに基づいて印刷を行うとき、付加データの示す撮影条件に応じて画像データを補正し、補正した画像データに従って印刷することが行われている。
特開2001−238177号公報
デジタルスチルカメラが画像ファイルを生成するとき、付加データに、ダイヤル設定に応じたシーン情報が記憶されることがある。一方、ユーザが撮影モードを設定し忘れると、画像データの内容と不一致なシーン情報が付加データに記憶されてしまう。このため、付加データのシーン情報を用いずに、画像データを解析して画像データのシーンを識別することがある。
画像データのシーンを識別する際に、候補となるシーンが複数になることがある。このような場合、どのシーンに対応した補正処理を施すべきか問題となる。
本発明は、候補となるシーンが複数あるときに、適切なシーンに対応した補正処理を施すことを目的とする。
画像データのシーンを識別する際に、候補となるシーンが複数になることがある。このような場合、どのシーンに対応した補正処理を施すべきか問題となる。
本発明は、候補となるシーンが複数あるときに、適切なシーンに対応した補正処理を施すことを目的とする。
上記目的を達成するための主たる発明は、複数のシーンのそれぞれに対応付けられた重みを用意するステップと、画像データを取得するステップと、前記画像データの示す画像のシーンの候補を抽出するステップと、前記候補が複数ある際に、各候補に対応する前記重みに基づいて、複数の前記候補の中からシーンを特定するステップと、特定されたシーンに応じた補正処理を前記画像データに施すステップと、を有することを特徴とする。
本発明の他の特徴については、本明細書及び添付図面の記載により明らかにする。
本発明の他の特徴については、本明細書及び添付図面の記載により明らかにする。
本明細書及び添付図面の記載により、少なくとも、以下の事項が明らかとなる。
複数のシーンのそれぞれに対応付けられた重みを用意するステップと、画像データを取得するステップと、前記画像データの示す画像のシーンの候補を抽出するステップと、前記候補が複数ある際に、各候補に対応する前記重みに基づいて、複数の前記候補の中からシーンを特定するステップと、特定されたシーンに応じた補正処理を前記画像データに施すステップと、を有することを特徴とする情報処理方法が明らかになる。
このような情報処理方法によれば、候補となるシーンが複数あるときに、適切なシーンに対応した補正処理を施すことができる。
このような情報処理方法によれば、候補となるシーンが複数あるときに、適切なシーンに対応した補正処理を施すことができる。
また、前記候補を抽出するステップにおいて、前記画像データの示す画像が前記候補となるシーンに属する確率を示す確信度を算出し、前記確信度に基づいて前記候補を抽出し、前記シーンを特定するステップにおいて、前記確信度と前記重みとに基づいて、複数の前記候補の中からシーンを特定することが望ましい。これにより、適切なシーンに対応した補正処理を施すことができる。
また、前記補正処理が施された前記画像データに基づいて印刷装置が前記画像を印刷するステップを更に有し、前記印刷装置の色再現域に応じて前記重みが設定されることが望ましい。これにより、画質の高い印刷結果を得やすくなる。
また、前記画像データの示す画像が第1シーンである確率を示す第1確信度を前記画像データに基づいて算出し、前記第1確信度が肯定閾値よりも大きければ前記画像データの示す画像が第1シーンであることを識別する第1シーン識別ステップと、前記画像データの示す画像が第2シーンである確率を示す第2確信度を前記画像データに基づいて算出し、前記第2確信度が肯定閾値よりも大きければ前記画像データの示す画像が第2シーンであることを識別する第2シーン識別ステップと、を更に有することが望ましい。これにより、複数のシーンを識別することができる。
また、前記第1シーン識別ステップにおいて前記画像データの示す画像が第1シーンであることを識別できた場合、前記第2シーン識別ステップを行わないことが望ましい。これにより、処理速度が速くなる。
また、前記第1確信度が否定閾値よりも大きければ、第2シーン識別ステップを行わないことが望ましい。これにより、処理速度が速くなる。
また、コントローラを備えた情報処理装置であって、前記コントローラは、複数のシーンのそれぞれに対応付けられた重みを取得し、画像データを取得し、前記画像データの示す画像のシーンの候補を抽出し、前記候補が複数ある際に、各候補に対応する前記重みに基づいて、複数の前記候補の中からシーンを特定し、特定されたシーンに応じた補正処理を前記画像データに施すことを特徴とする情報処理装置が明らかになる。
また、複数のシーンのそれぞれに対応付けられた重みを記憶した情報処理装置に、画像データを取得するステップと、前記画像データの示す画像のシーンの候補を抽出するステップと、前記候補が複数ある際に、各候補に対応する前記重みに基づいて、複数の前記候補の中からシーンを特定するステップと、特定されたシーンに応じた補正処理を前記画像データに施すステップと、を実現させるプログラムも明らかになる。
===全体構成===
図1は、画像処理システムの説明図である。この画像処理システムは、デジタルスチルカメラ2と、プリンタ4とを備える。
図1は、画像処理システムの説明図である。この画像処理システムは、デジタルスチルカメラ2と、プリンタ4とを備える。
デジタルスチルカメラ2は、被写体をデジタルデバイス(CCDなど)に結像させることによりデジタル画像を取得するカメラである。デジタルスチルカメラ2には、モード設定ダイヤル2Aが設けられている。ユーザは、ダイヤル2Aによって、撮影条件に応じた撮影モードを設定することができる。例えば、ダイヤル2Aによって「夜景」モードが設定されると、デジタルスチルカメラ2は、シャッター速度を遅くしたり、ISO感度を高くしたりして、夜景撮影に適した撮影条件にて撮影を行う。
デジタルスチルカメラ2は、ファイルフォーマット規格に準拠して、撮影により生成した画像ファイルをメモリカード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とをケーブル(不図示)で接続することによっても可能である。
===画像ファイルの構造===
画像ファイルは、画像データと、付加データとから構成されている。画像データは、複数の画素データから構成されている。画素データは、画素の色情報(階調値)を示すデータである。画素がマトリクス状に配置されることによって、画像が構成される。このため、画像データは、画像を示すデータである。付加データには、画像データの特性を示すデータや、撮影データや、サムネイル画像データ等が含まれる。
画像ファイルは、画像データと、付加データとから構成されている。画像データは、複数の画素データから構成されている。画素データは、画素の色情報(階調値)を示すデータである。画素がマトリクス状に配置されることによって、画像が構成される。このため、画像データは、画像を示すデータである。付加データには、画像データの特性を示すデータや、撮影データや、サムネイル画像データ等が含まれる。
以下、画像ファイルの具体的な構造について説明する。
図3は、画像ファイルの構造の説明図である。図中の左側には画像ファイルの全体構成が示されており、右側にはAPP1領域の構成が示されている。
図3は、画像ファイルの構造の説明図である。図中の左側には画像ファイルの全体構成が示されており、右側にはAPP1領域の構成が示されている。
画像ファイルは、SOI(Start of image)を示すマーカで始まり、EOI(End of Image)を示すマーカで終わる。SOIを示すマーカの後に、APP1のデータ領域の開始を示すAPP1マーカがある。APP1マーカの後のAPP1のデータ領域には、撮影データやサムネイル画像等の付加データが含まれている。また、SOS(Start of Stream)を示すマーカの後には、画像データが含まれている。
APP1マーカの後、APP1のデータ領域のサイズを示す情報があり、EXIFヘッダとTIFFヘッダが続き、IFD領域となる。
各IFD領域は、複数のディレクトリエントリと、次の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 Capture 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に展開される。また、プリンタ側コントローラ20の各要素の演算結果は、記憶部31の結果記憶部31Bに格納される。
顔識別部32は、CPU22と、メモリ23に記憶された顔識別プログラムとによって実現される。顔識別部32は、画像記憶部31Aに記憶された画像データを分析し、顔の有無を識別する。顔識別部32によって顔が有ると識別された場合、識別対象となる画像が「人物」のシーンに属すると識別される。この場合、シーン識別部33によるシーン識別処理は行われない。顔識別部32による顔識別処理は、既に広く行われている処理と同様なので、詳細な説明は省略する。
シーン識別部33は、CPU22と、メモリ23に記憶されたシーン識別プログラムとによって実現される。シーン識別部33は、画像記憶部31Aに記憶された画像ファイルを分析し、画像データの示す画像のシーンを識別する。顔識別部32によって顔が有ると識別された場合に、シーン識別部33によるシーン識別処理が行われる。後述するように、シーン識別部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は、画像記憶部31Aには画像データの全てを展開せずに、ブロック分の画像データをブロック順に展開する。このため、画像記憶部31Aは、必ずしも画像ファイルの全てを展開できるだけの容量を備えていなくても良い。
次に、特徴量取得部40が、全体特徴量を取得する(S102)。具体的には、特徴量取得部40は、画像データの全体の色平均、分散、重心及び撮影情報を、全体特徴量として取得する。なお、これらの色平均や分散は、画像の全体の特徴を示すものである。画像データ全体の色平均、分散及び重心は、先に算出した部分特徴量を用いて算出される。このため、全体特徴量を算出する際に、画像データを再度展開する必要がないので、全体特徴量の算出速度が速くなる。全体識別処理(後述)は部分識別処理(後述)よりも先に行われるにも関わらず、全体特徴量が部分特徴量よりも後に求められるのは、このように算出速度を速めるためである。なお、撮影情報は、画像ファイルの撮影データから抽出される。具体的には、絞り値、シャッター速度、フラッシュ発光の有無などの情報が全体特徴量として用いられる。但し、画像ファイルの撮影データの全てが全体特徴量として用いられるわけではない。
次に、全体識別器50が、全体識別処理を行う(S103)。全体識別処理とは、全体特徴量に基づいて、画像データの示す画像のシーンを識別(推定)する処理である。全体識別処理の詳細については、後述する。
全体識別処理によってシーンの識別ができる場合(S104でYES)、シーン識別部33は、記憶部31の結果記憶部31Bに識別結果を記憶することによってシーンを決定し(S109)、シーン識別処理を終了する。つまり、全体識別処理によってシーンの識別ができた場合(S104でYES)、部分識別処理や統合識別処理が省略される。これにより、シーン識別処理の速度が速くなる。
全体識別処理によってシーンの識別ができない場合(S104でNO)、次に部分識別器60が、部分識別処理を行う(S105)。部分識別処理とは、部分特徴量に基づいて、画像データの示す画像全体のシーンを識別する処理である。部分識別処理の詳細については、後述する。
部分識別処理によってシーンの識別ができる場合(S106でYES)、シーン識別部33は、記憶部31の結果記憶部31Bに識別結果を記憶することによってシーンを決定し(S109)、シーン識別処理を終了する。つまり、部分識別処理によってシーンの識別ができた場合(S106でYES)、統合識別処理が省略される。これにより、シーン識別処理の速度が速くなる。
部分識別処理によってシーンの識別ができない場合(S106でNO)、次に統合識別器70が、統合識別処理を行う(S107)。統合識別処理の詳細については、後述する。
統合識別処理によってシーンの識別ができる場合(S108でYES)、シーン識別部33は、記憶部31の結果記憶部31Bに識別結果を記憶することによってシーンを決定し(S109)、シーン識別処理を終了する。一方、統合識別処理によってシーンの識別ができない場合(S108でNO)、シーン識別部33は、候補となるシーン(シーン候補)の全てを、結果記憶部31Bに記憶する(S110)。このとき、シーン候補とともに、確信度も結果記憶部31Bに記憶される(後述の図22)。
===全体識別処理===
図10は、全体識別処理のフロー図である。ここでは図9も参照しながら全体識別処理について説明する。
図10は、全体識別処理のフロー図である。ここでは図9も参照しながら全体識別処理について説明する。
まず、全体識別器50は、複数のサブ識別器51の中から1つのサブ識別器51を選択する(S201)。全体識別器50には、識別対象となる画像(識別対象画像)が特定のシーンに属するか否かを識別するサブ識別器51が5つ設けられている。5つのサブ識別器51は、それぞれ風景、夕景、夜景、花、紅葉のシーンを識別する。ここでは、全体識別器50は、風景→夕景→夜景→花→紅葉の順に、サブ識別器51を選択する。このため、最初には、識別対象画像が風景のシーンに属するか否かを識別するサブ識別器51(風景識別器51L)が選択される。
次に、全体識別器50は、識別対象テーブルを参照し、選択したサブ識別器51を用いてシーンを識別すべきか否かを判断する(S202)。
図11は、識別対象テーブルの説明図である。この識別対象テーブルは、記憶部31の結果記憶部31Bに記憶される。識別対象テーブルは、最初の段階では全ての欄がゼロに設定される。S202の処理では、「否定」欄が参照され、ゼロであればYESと判断され、1であればNOと判断される。ここでは、全体識別器50は、識別対象テーブルにおける「風景」欄の「否定」欄を参照し、ゼロであるのでYESと判断する。
図11は、識別対象テーブルの説明図である。この識別対象テーブルは、記憶部31の結果記憶部31Bに記憶される。識別対象テーブルは、最初の段階では全ての欄がゼロに設定される。S202の処理では、「否定」欄が参照され、ゼロであればYESと判断され、1であればNOと判断される。ここでは、全体識別器50は、識別対象テーブルにおける「風景」欄の「否定」欄を参照し、ゼロであるのでYESと判断する。
次に、サブ識別器51は、全体特徴量に基づいて、識別対象画像が特定のシーンに属する確率(確信度)を算出する(S203)。本実施形態のサブ識別器51には、サポートベクタマシン(SVM)による識別手法が用いられている。なお、サポートベクタマシンについては、後述する。識別対象画像が特定のシーンに属する場合、サブ識別器51の判別式は、プラスの値になりやすい。識別対象画像が特定のシーンに属しない場合、サブ識別器51の判別式は、マイナスの値になりやすい。また、判別式は、識別対象画像が特定のシーンに属する確信度が高いほど、大きい値になる。このため、判別式の値が大きければ、識別対象画像が特定のシーンに属する確率(確信度)が高くなり、判別式の値が小さければ、識別対象画像が特定のシーンに属する確率が低くなる。
次に、サブ識別器51は、判別式の値(確信度)が肯定閾値より大きいか否かを判断する(S204)。判別式の値が肯定閾値より大きければ、サブ識別器51は、識別対象画像が特定のシーンに属すると判断することになる。
図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.72に設定されている。
一方、肯定閾値を大きくするほど、Recallは小さくなる。この結果、例えば、風景画像を風景識別器51Lで識別した場合であっても、風景のシーンに属すると正しく識別しにくくなる。ところで、識別対象画像が風景のシーンに属すると識別できれば(S204でYES)、残りの別のシーン(夕景など)の識別を行わないようにして全体識別処理の速度を速めている。このため、肯定閾値を大きくするほど、全体識別処理の速度は低下することになる。また、全体識別処理によってシーンが識別できれば部分識別処理を行わないようにしてシーン識別処理の速度を速めているため(S104)、肯定閾値を大きくするほど、シーン識別処理の速度は低下することになる。
つまり、肯定閾値が小さすぎると誤識別の確率が高くなり、大きすぎると処理速度が低下することになる。本実施形態では、正答率(Precision)を97.5%に設定するため、風景の肯定閾値は1.72に設定されている。
判別式の値が肯定閾値より大きければ(S204でYES)、サブ識別器51は、識別対象画像が特定のシーンに属すると判断し、肯定フラグを立てる(S205)。「肯定フラグを立てる」とは、図11の「肯定」欄を1にすることである。この場合、全体識別器50は、次のサブ識別器51による識別を行わずに、全体識別処理を終了する。例えば、風景画像であると識別できれば、夕景などの識別を行わずに、全体識別処理を終了する。この場合、次のサブ識別器51による識別を省略しているので、全体識別処理の速度を速めることができる。
判別式の値が肯定閾値より大きくなければ(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.01に設定されている。
一方、第1否定閾値を小さくするほど、True Negative Recallも小さくなる。この結果、風景画像以外の画像を風景画像ではないと識別しにくくなる。その一方、識別対象画像が特定シーンでないことを識別できれば、部分識別処理の際に、その特定シーンのサブ部分識別器61による処理を省略してシーン識別処理速度を速めている(後述、図17のS302)。このため、第1否定閾値を小さくするほど、シーン識別処理速度は低下する。
つまり、第1否定閾値が大きすぎると誤識別の確率が高くなり、小さすぎると処理速度が低下することになる。本実施形態では、False Negative Recallを2.5%に設定するため、第1否定閾値は−1.01に設定されている。
ところで、ある画像が風景のシーンに属する確率が高ければ、必然的にその画像が夜景のシーンに属する確率は低くなる。このため、風景識別器51Lの判別式の値が大きい場合には、夜景ではないと識別できる場合がある。このような識別を行うために、第2否定閾値が設けられる。
図15は、第2否定閾値の説明図である。同図において、横軸は風景の判別式の値を示し、縦軸は確率を示す。同図には、図12のRecallとPrecisionのグラフとともに、夜景のRecallのグラフが点線で描かれている。この点線のグラフに注目すると、風景の判別式の値が−0.44よりも大きければ、その画像が夜景画像である確率は2.5%である。言い換えると、風景の判別式の値が−0.44より大きい場合にその画像が夜景画像でないと識別しても、誤識別の確率は2.5%にすぎない。そこで、本実施形態では、第2否定閾値が−0.44に設定されている。
そして、判別式の値が第1否定閾値より小さい場合、又は、判別式の値が第2否定閾値より大きい場合(S206でYES)、サブ識別器51は、識別対象画像が所定のシーンに属しないと判断し、否定フラグを立てる(S207)。「否定フラグを立てる」とは、図11の「否定」欄を1にすることである。例えば、第1否定閾値に基づいて識別対象画像が風景のシーンに属しないと判断された場合、「風景」欄の「否定」欄が1になる。また、第2否定閾値に基づいて識別対象画像が夜景のシーンに属しないと判断された場合、「夜景」欄の「否定」欄が1になる。
図16Aは、上記で説明した風景識別器51Lにおける閾値の説明図である。風景識別器51Lには、肯定閾値及び否定閾値が予め設定されている。肯定閾値として1.72が設定されている。否定閾値には第1否定閾値と第2否定閾値とがある。第1否定閾値として−1.01が設定されている。また、第2否定閾値として、風景以外の各シーンにそれぞれ値が設定されている。
図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が判断することはない。
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)、部分識別処理や統合識別処理が省略される。これにより、シーン識別処理の速度が速くなる。
===部分識別処理===
図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(夕景部分識別器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の処理を行う。
サブ部分識別器61は、正カウント値と残りの部分画像数との和が肯定閾値よりも小さければ(S307でYES)、S309の処理へ進む。正カウント値と残りの部分画像数との和が肯定閾値よりも小さい場合、残り全ての部分画像によって正カウント値がインクリメントされても正カウント値が肯定閾値より大きくなることがないので、S309に処理を進めることによって、残りの部分画像についてサポートベクタマシンによる識別を省略する。これにより、部分識別処理の速度を速めることができる。
サブ部分識別器61がS307でNOと判断した場合、サブ部分識別器61は、次の部分画像の有無を判断する(S308)。なお、本実施形態では、64個に分割された部分画像の全てを順に選択していない。図18において太枠で示された上位10番目までの10個の部分画像だけを順に選択している。このため、10番目の部分画像の識別を終えれば、サブ部分識別器61は、S308において次の部分画像はないと判断する。(この点を考慮して、S307の「残りの部分画像数」も決定される。)
図19は、上位10番目までの10個の部分画像だけで夕景画像の識別をしたときのRecall及びPrecisionのグラフである。図に示すような肯定閾値を設定すれば、正答率(Precision)を80%程度に設定でき、再現率(Recall)を90%程度に設定でき、精度の高い識別が可能である。
図19は、上位10番目までの10個の部分画像だけで夕景画像の識別をしたときのRecall及びPrecisionのグラフである。図に示すような肯定閾値を設定すれば、正答率(Precision)を80%程度に設定でき、再現率(Recall)を90%程度に設定でき、精度の高い識別が可能である。
本実施形態では、10個の部分画像だけで夕景画像の識別を行っている。このため、本実施形態では、64個の全ての部分画像を用いて夕景画像の識別を行うよりも、部分識別処理の速度を速めることができる。
また、本実施形態では、夕景部分画像の存在確率の高い上位10番目の部分画像を用いて夕景画像の識別を行っている。このため、本実施形態では、存在確率を無視して抽出された10個の部分画像を用いて夕景画像の識別を行うよりも、Recall及びPrecisionをともに高く設定することが可能になる。
また、本実施形態では、夕景部分画像の存在確率の高い順に部分画像を選択している。この結果、早い段階でS305の判断がYESになりやすくなる。このため、本実施形態では、存在確率の高低を無視した順で部分画像を選択したときよりも、部分識別処理の速度を速めることができる。
また、本実施形態では、夕景部分画像の存在確率の高い上位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)、統合識別処理が省略される。これにより、シーン識別処理の速度が速くなる。
===サポートベクタマシン===
統合識別処理について説明する前に、全体識別処理のサブ識別器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つに分ける境界が定義される。境界は、<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つのクラスに線形関数で分離できないことがある。このような場合に線形サポートベクタマシンによる判別を行うと、判別結果の精度が低下する。そこで、入力空間の特徴量を非線形変換すれば、すなわち入力空間からある特徴空間へ非線形写像すれば、特徴空間において線形関数で分離することができるようになる。非線形サポートベクタマシンでは、これを利用している。
図20Bは、カーネル関数を用いた判別の説明図である。ここでは、2つの特徴量x1、x2によって、学習用サンプルを2次元空間に示している。図20Bの入力空間からの非線形写像が図20Aのような特徴空間になれば、線形関数で2つのクラスに分離することが可能になる。この特徴空間においてマージンが最大になるように境界が定義されれば、特徴空間における境界の逆写像が、図20Bに示す境界になる。この結果、図20Bに示すように、境界は非線形になる。
本実施形態ではガウスカーネルを利用することにより、判別式f(x)は次式のようになる(なお、Mは特徴量の数であり、Nは学習用サンプルの数(若しくは境界に寄与する学習用サンプルの数)であり、wiは重み係数であり、yjは学習用サンプルの特徴量であり、xjは入力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)の値を用いている。
なお、学習用サンプルとは別に評価用サンプルが用意されている。前述のRecallやPrecisionのグラフは、評価用サンプルに対する識別結果に基づくものである。
===統合識別処理===
前述の全体識別処理や部分識別処理では、サブ識別器51やサブ部分識別器61における肯定閾値を比較的高めに設定し、Precision(正解率)を高めに設定している。なぜならば、例えば全体識別部の風景識別器51Lの正解率が低く設定されると、風景識別器51Lが紅葉画像を風景画像であると誤識別してしまい、紅葉識別器51Rによる識別を行う前に全体識別処理を終えてしまう事態が発生してしまうからである。本実施形態では、Precision(正解率)が高めに設定されることにより、特定のシーンに属する画像が特定のシーンのサブ識別器51(又はサブ部分識別器61)に識別されるようになる(例えば紅葉画像が紅葉識別器51R(又は紅葉部分識別器61R)によって識別されるようになる)。
前述の全体識別処理や部分識別処理では、サブ識別器51やサブ部分識別器61における肯定閾値を比較的高めに設定し、Precision(正解率)を高めに設定している。なぜならば、例えば全体識別部の風景識別器51Lの正解率が低く設定されると、風景識別器51Lが紅葉画像を風景画像であると誤識別してしまい、紅葉識別器51Rによる識別を行う前に全体識別処理を終えてしまう事態が発生してしまうからである。本実施形態では、Precision(正解率)が高めに設定されることにより、特定のシーンに属する画像が特定のシーンのサブ識別器51(又はサブ部分識別器61)に識別されるようになる(例えば紅葉画像が紅葉識別器51R(又は紅葉部分識別器61R)によって識別されるようになる)。
但し、全体識別処理や部分識別処理のPrecision(正解率)を高めに設定すると、全体識別処理や部分識別処理ではシーンの識別ができなくなる可能性が高くなる。そこで、本実施形態では、全体識別処理及び部分識別処理によってシーンの識別ができなかった場合、以下に説明する統合識別処理が行われる。
図21は、統合識別処理のフロー図である。以下に説明するように、統合識別処理は、全体識別処理の各サブ識別器51の判別式の値に基づいて、確信度が所定値以上(例えば90%以上)であって、最も確信度の高いシーンを選択する処理である。
まず、統合識別器70は、5つのサブ識別器51の判別式の値に基づいて、正となるシーンを抽出する(S401)。このとき、全体識別処理の際に各サブ識別器51が算出した判別式の値が用いられる。
次に、統合識別器70は、確信度が所定値以上のシーンが存在するか否かを判断する(S402)。ここで、確信度は、識別対象画像が特定シーンに属する確率を示すものであり、判別式の値から求められる。具体的にいうと、統合識別器70には、判別式の値とPrecisionとの関係を示すテーブルが用意されており、このテーブルに基づいて判別式の値に対応するPrecisionを導き出し、このPrecisionの値を確信度としている。なお、所定値は、例えば90%に設定され、全体識別器や部分識別器の肯定閾値によって設定されるPrecision(97.5%)よりも低い値に設定される。但し、確信度はPrecisionでなくてもよく、判別式の値を確信度としても良い。
確信度が所定値以上のシーンが存在する場合(S402でYES)、そのシーンの欄に肯定フラグを立てて(S403)、統合識別処理を終了する。なお、確信度が90%以上のシーンを抽出したときに、複数のシーンが抽出されることはない。あるシーンの確信度が高ければ、必然的に他のシーンの確信度が低くなるからである。
一方、確信度が所定値以上のシーンが存在しない場合(S402でNO)、肯定フラグを立てずに、統合識別処理を終了する。これにより、図11の識別対象テーブルの肯定欄において、1のシーンが無いままの状態になる。つまり、識別対象画像が、どのシーンに属するか識別できなかったことになる。
なお、既に説明した通り、統合識別処理が終了すると、シーン識別部33は、統合識別処理によってシーンの識別ができたか否かを判断する(図8のS108)。このとき、シーン識別部33は、図11の識別対象テーブルを参照し、「肯定」欄に1があるか否かを判断することになる。S402でYESとの判断の場合、S108の判断もYESになる。一方、S402でNOとの判断の場合、S108の判断もNOになる。
本実施形態では、図8のS108でNOの場合、すなわち図21のS402でNOの場合、S401で抽出されたシーンが、シーン候補として、全て結果記憶部31Bに記憶される。
図22は、結果記憶部31Bに記憶されるシーン候補の説明図である。図に示すように、結果記憶部31Bには、シーン候補だけでなく、そのシーン候補に対応する確信度も一緒に記憶される。ここでは、「風景」及び「夕景」の2つのシーンがシーン候補となっている。そして、「風景」に対応する確信度は「45%」であり、「夕景」に対応する確信度は「55%」である。
ここでは2つのシーンの確信度の合計がちょうど100%になっている。但し、複数のシーン候補の確信度の合計が必ずしも100%になるとは限らない。判別式の値に対応するPrecisionの値を確信度としているため、確信度の合計が100%以下になる場合もあるし、100%以上になる場合もある。
===シーン識別処理結果を画像ファイルへ保存===
<概要>
前述したように、ユーザは、モード設定ダイヤル2Aによって、撮影モードを設定することができる。そして、デジタルスチルカメラ2は、設定された撮影モードや撮影時の測光結果等に基づいて、撮影条件(露光時間、ISO感度等)を決定し、決定した撮影条件にて被写体を撮影する。撮影後、デジタルスチルカメラ2は、撮影時の撮影条件を示す撮影データを、画像データとともに、画像ファイルとしてメモリカード6に保存する。
<概要>
前述したように、ユーザは、モード設定ダイヤル2Aによって、撮影モードを設定することができる。そして、デジタルスチルカメラ2は、設定された撮影モードや撮影時の測光結果等に基づいて、撮影条件(露光時間、ISO感度等)を決定し、決定した撮影条件にて被写体を撮影する。撮影後、デジタルスチルカメラ2は、撮影時の撮影条件を示す撮影データを、画像データとともに、画像ファイルとしてメモリカード6に保存する。
ところで、ユーザが撮影モードを設定し忘れたために、撮影条件に不適切な撮影モードが設定されたまま、撮影が行われることがある。例えば、夜景モードが設定されたまま、日中の風景が撮影されることがある。この場合、画像ファイルの画像データは日中の風景の画像であるにも関わらず、撮影データには夜景モードを示すデータが記憶されることになる(例えば図5の撮影シーンタイプデータが「3」になる)。
一方、前述のシーン識別処理機能を備えないが、画像ファイルの撮影データに基づいて画像データの自動補正を行うプリンタも存在する。そして、仮に不適切な撮影モードで撮影された画像ファイルがこのようなプリンタによって印刷されると、誤った撮影データに基づいて画像データが補正されてしまうことになる。
そこで、本実施形態では、シーン識別処理結果のシーンを、付加データとして画像ファイルに保存するようにしている。これにより、ユーザが別のプリンタで印刷を行う際に、シーン識別処理機能を備えないが自動補正処理を行うプリンタが用いられたとしても、適切に画像データが補正されるようになる。
更に、本実施形態では、シーン候補が複数ある場合、複数のシーン候補に関する情報を、付加データとして画像ファイルに保存するようにしている。これにより、候補となるシーンが複数あるということ自体が付加データとして画像ファイルに保存されるようになり、後でこの情報を利用して画像補正を行うことも可能になる。
<識別結果の保存方法>
画像ファイルへの識別結果の保存は、前述のシーン識別処理後に行われる。但し、プリンタ4の印刷前に行われても良いし、印刷中に行われても良いし、印刷後に行われても良い。
画像ファイルへの識別結果の保存は、前述のシーン識別処理後に行われる。但し、プリンタ4の印刷前に行われても良いし、印刷中に行われても良いし、印刷後に行われても良い。
前述のシーン識別処理においてシーンを識別できた場合、すなわち全体識別処理、部分識別処理又は統合識別処理によりシーンを識別できた場合(S104、S106又はS108でYES)、決定された1つのシーンの情報が、付加データとして画像ファイルに保存される。一方、シーン識別処理においてシーンを識別できなかった場合(S108でNO)、全てのシーン候補と、各シーン候補の対応する確信度とが、付加データとして画像ファイルに保存される。ここでは、後者の場合について説明する。
図23は、付加データに識別結果を追加したときのAPP1領域の構成の説明図である。図23では、図3の画像ファイルと比較して異なる部分を太線で示している。
図3の画像ファイルと比較すると、図23の画像ファイルにはMakernoteIFDが追加されている。この2番目のMakernoteIFDに、図22に示す識別結果の情報が保存される。MakernoteIFD領域には、自由な形式でデータを格納できる。このため、「花」や「紅葉」のシーンについての情報も、画像ファイルの付加データに保存することが可能である。また、シーンに関する情報に対応付けて、確信度に関する情報も保存することが可能である。
2つめのMakernoteIFDを追加するため、ExifSubIFDに新たなディレクトリエントリも追加される。追加されたディレクトリエントリは、2つ目のMakernoteIFDを示すタグと、2つ目のMakernoteIFDの格納場所を示すポインタとから構成されている。
また、ExifSubIFDに新たなディレクトリエントリを追加したため、ExifSubIFDデータエリアの格納場所がずれるので、ExifSubIFDデータエリアの格納場所を示すポインタが変更される。
また、2つ目のMakernoteIFDを追加したため、IFD1領域がずれるので、IFD0においてIFD1の位置を示すリンクも変更される。また、2つ目のMakernoteIFDを追加したため、APP1のデータ領域のサイズが変更されたので、APP1のデータ領域のサイズも変更する。
また、ExifSubIFDに新たなディレクトリエントリを追加したため、ExifSubIFDデータエリアの格納場所がずれるので、ExifSubIFDデータエリアの格納場所を示すポインタが変更される。
また、2つ目のMakernoteIFDを追加したため、IFD1領域がずれるので、IFD0においてIFD1の位置を示すリンクも変更される。また、2つ目のMakernoteIFDを追加したため、APP1のデータ領域のサイズが変更されたので、APP1のデータ領域のサイズも変更する。
このような画像ファイルによれば、図22の識別結果が付加データに格納された画像ファイルになる。すなわち、複数のシーン候補と各シーン候補の対応する確信度とが付加データに格納された画像ファイルになる。
===複数のシーン候補がある場合の印刷方法===
<概略>
前述のシーン識別処理においてシーンを識別できた場合、すなわち全体識別処理、部分識別処理又は統合識別処理によってシーンを識別できた場合(S104、S106又はS108でYES)、画像補正部34(図6参照)は、決定された1つのシーンの情報に応じて、画像データを補正する。例えば、識別結果のシーンが「風景」の場合、画像補正部34は、コントラストと彩度とエッジを強調するように画像データを補正し、空の青と植物の緑の色があればそれらの色が記憶色に近づくように、画像データを風景モードにて補正する(図7参照)。また、識別結果のシーンが「夕景」の場合、画像補正部34は、画像全体の赤色や黄色が強くなるように、画像データを夕景モードにて補正する。
<概略>
前述のシーン識別処理においてシーンを識別できた場合、すなわち全体識別処理、部分識別処理又は統合識別処理によってシーンを識別できた場合(S104、S106又はS108でYES)、画像補正部34(図6参照)は、決定された1つのシーンの情報に応じて、画像データを補正する。例えば、識別結果のシーンが「風景」の場合、画像補正部34は、コントラストと彩度とエッジを強調するように画像データを補正し、空の青と植物の緑の色があればそれらの色が記憶色に近づくように、画像データを風景モードにて補正する(図7参照)。また、識別結果のシーンが「夕景」の場合、画像補正部34は、画像全体の赤色や黄色が強くなるように、画像データを夕景モードにて補正する。
一方、複数のシーン候補がある場合、どのシーンに合わせて画像を補正するべきか、問題となる。一般的には、確信度の最も高いシーン候補に対応した補正処理が行われるべきであると考えられる。例えば、風景の確信度が他のシーン候補の確信度よりも高い場合、風景モードにて画像データを補正すべきであると一般的に考えられる。
但し、プリンタの機種に応じて色再現域が異なるため、補正処理により得られる効果が機種に応じて異なる。例えば、青色や緑色の色再現域の広いプリンタでは、風景モードの補正処理(青色や緑色を強調する補正処理)を施したときの補正効果が高い。一方、赤色や黄色の色再現域の広いプリンタでは、夕景モードや紅葉モードの補正処理(赤色や黄色を強調する補正処理)を施したときの補正効果が高い。
そこで、本実施形態では、シーン候補が複数ある場合、確信度だけでなく、プリンタの色再現域をも考慮して、どのシーンに対応した補正処理を行うべきかを決定する。
<色再現域>
図24は、プリンタの色再現域の説明図である。図中には、2つのプリンタ(後述する図27の第1プリンタ4A及び第2プリンタ4B)の色再現域(再現可能な色域)が示されている。図中において第1プリンタ4Aの色再現域は実線で示されており、第2プリンタ4Bの色再現域は点線で示されている。
図24は、プリンタの色再現域の説明図である。図中には、2つのプリンタ(後述する図27の第1プリンタ4A及び第2プリンタ4B)の色再現域(再現可能な色域)が示されている。図中において第1プリンタ4Aの色再現域は実線で示されており、第2プリンタ4Bの色再現域は点線で示されている。
色再現域は、プリンタの機種に応じて異なる。例えば、プリンタのインクの色数やインクの色が異なれば、各プリンタの色再現域は異なることになる。たとえ4色(シアン、マゼンタ、イエロー、ブラック)のインクを用いるプリンタの色再現域を比較した場合であっても、例えばインクの成分が異なればインクの色が異なることになるので、各プリンタの色再現域は異なることになる。
このような理由により、第1プリンタ4Aと第2プリンタ4Bの色再現域が異なっている。この結果、第1プリンタ4Aでは、青色や緑色の色再現域が第2プリンタ4Bと比較して広い(図中の色再現域の左側の領域が広い)。つまり、第1プリンタ4Aでは、第2プリンタ4Bよりも、青色や緑色を豊かに表現することができる。一方、第2プリンタ4Bでは、赤色や黄色の色再現域が第1プリンタ4Aと比較して広い。つまり、第2プリンタ4Bでは、第1プリンタ4Aよりも、赤色や黄色を豊かに表現することができる。
なお、色再現域は、同じ機種のプリンタであっても異なる場合がある。例えば、印刷時の解像度(ドットピッチ)や印刷用紙の種類が異なれば、たとえ同じ機種のプリンタであっても、色再現域が異なることになる。また、6色(シアン、マゼンタ、イエロー、ブラック、レッド、ブルー)のインクを用いるプリンタにおいて、6色印刷モードと4色印刷モードが切り替わる場合にも、色再現域が異なることになる。但し、以下の説明では、同じプリンタで色再現域が異なる場合はさておき、プリンタの機種に応じて色再現域が異なる場合について説明する。
<重みテーブル>
図25A及び図25Bは、重みテーブルの説明図である。図25Aは、青色と緑色の色再現域の広い第1プリンタ4Aにおける第1の重みテーブルの説明図である。図25Bは、赤色と黄色の色再現域の広い第2プリンタ4Bにおける第2の重みテーブルの説明図である。第1の重みテーブルは、第1プリンタ4Aのメモリ23(記憶部31)に予め記憶されている。また、第2の重みテーブルは、第2プリンタ4Bのメモリ23(記憶部31)に予め記憶されている。なお、重みテーブルは、画像補正プログラムの一部に組み込まれていても良い。
図25A及び図25Bは、重みテーブルの説明図である。図25Aは、青色と緑色の色再現域の広い第1プリンタ4Aにおける第1の重みテーブルの説明図である。図25Bは、赤色と黄色の色再現域の広い第2プリンタ4Bにおける第2の重みテーブルの説明図である。第1の重みテーブルは、第1プリンタ4Aのメモリ23(記憶部31)に予め記憶されている。また、第2の重みテーブルは、第2プリンタ4Bのメモリ23(記憶部31)に予め記憶されている。なお、重みテーブルは、画像補正プログラムの一部に組み込まれていても良い。
風景モードの補正処理を施す場合、空の青色や植物の緑色があればそれらの色が記憶色に近づくように、画像データが補正される(図7参照)。一方、第1プリンタ4Aは、青色や緑色の色再現域が広いので、風景モードの補正処理の記憶色(青色、緑色)に近い色を豊かに表現することができる。つまり、第1プリンタ4Aは、風景モードの補正処理を施したときの補正効果が高い。同様の理由により、第1プリンタ4Aは、花モードの補正処理を施したときの補正効果がやや高い。このため、第1の重みテーブルでは、風景や花の重み付けが高く設定されている。
夕景モードの補正処理を施す場合、赤色があればその色が記憶色に近づくように、画像データが補正される(図7参照)。一方、第2プリンタ4Bは、赤色の色再現域が広いので、夕景モードの補正処理の記憶色(赤色)に近い色を豊かに表現することができる。つまり、第2プリンタ4Bは、夕景モードの補正処理を施したときの補正効果が高い。同様の理由により、第2プリンタ4Bは、紅葉モードのお補正処理を施したときの補正効果が高い。このため、第2の重みテーブルでは、夕景や紅葉の重み付けが高く設定されている。
このように、重みテーブルでは、プリンタの色再現域に応じた重みが設定されている。具体的には、プリンタの色再現域の広い色を記憶色とする補正モードに対応する重みが高くなるように、重みテーブルの重みが設定されている。言い換えると、ある補正モードの記憶色に近い色をプリンタが豊かに表現することができるほど、その補正モードに対する重みは高く設定される。
<補正モードの選択>
図26は、補正モードの選択処理のフロー図である。図27は、補正モードの選択の様子の概念図である。
図26は、補正モードの選択処理のフロー図である。図27は、補正モードの選択の様子の概念図である。
まず、画像補正部34は、シーン候補及び確信度に関する情報を取得する(S501)。なお、画像補正部34は、シーン候補及び確信度に関する情報を、結果記憶部31Bから取得しても良いし、既に画像ファイルにこれらの情報が保存されていれば画像ファイルから取得しても良い。図27では、後者の場合の様子を示している。
次に、画像補正部34は、確信度と重みを乗算する(S502)。そして、画像補正部34は、乗算結果の最も高いシーンを特定し(S503)、そのシーンに対応する補正モードを選択する(S504)。
次に、画像補正部34は、確信度と重みを乗算する(S502)。そして、画像補正部34は、乗算結果の最も高いシーンを特定し(S503)、そのシーンに対応する補正モードを選択する(S504)。
ここで、具体例を挙げて説明する。ここでは、「風景」と「夕景」の2つのシーン候補があり、「風景」に対応する確信度は「45%」であり、「夕景」に対応する確信度は「55%」であるものとする。
第1プリンタ4Aでは、S502において以下の計算が行われる。
風景 : 0.45×1.5=0.675
夕景 : 0.55×1.0=0.55
このため、第1プリンタ4Aでは、S504において風景モードが選択される。すなわち、第1プリンタ4Aの画像補正部34は、画像データに対して風景モードの補正処理を施す。その後、第1プリンタ4Aのプリンタ制御部35は、補正後の画像データを印刷データに変換し、印刷機構10に画像を印刷させることになる。第1プリンタ4Aは青色や緑色の色再現域が広いので、風景モードの補正処理が施された画像データに基づいて印刷すれば、画質の高い印刷結果が得られる。
第1プリンタ4Aでは、S502において以下の計算が行われる。
風景 : 0.45×1.5=0.675
夕景 : 0.55×1.0=0.55
このため、第1プリンタ4Aでは、S504において風景モードが選択される。すなわち、第1プリンタ4Aの画像補正部34は、画像データに対して風景モードの補正処理を施す。その後、第1プリンタ4Aのプリンタ制御部35は、補正後の画像データを印刷データに変換し、印刷機構10に画像を印刷させることになる。第1プリンタ4Aは青色や緑色の色再現域が広いので、風景モードの補正処理が施された画像データに基づいて印刷すれば、画質の高い印刷結果が得られる。
一方、第2プリンタ4Bでは、S502において以下の計算が行われる。
風景 : 0.45×1.0=0.45
夕景 : 0.55×1.5=0.825
このため、第2プリンタ4Bでは、S504において夕景モードが選択される。すなわち、第2プリンタ4Bの画像補正部34は、画像データに対して夕景モードの補正処理を施す。その後、第2プリンタ4Bのプリンタ制御部35は、補正後の画像データを印刷データに変換し、印刷機構10に画像を印刷させることになる。第2プリンタ4Bは赤色や黄色の色再現域が広いので、夕景モードの補正処理が施された画像データに基づいて印刷すれば、画質の高い印刷結果が得られる。
風景 : 0.45×1.0=0.45
夕景 : 0.55×1.5=0.825
このため、第2プリンタ4Bでは、S504において夕景モードが選択される。すなわち、第2プリンタ4Bの画像補正部34は、画像データに対して夕景モードの補正処理を施す。その後、第2プリンタ4Bのプリンタ制御部35は、補正後の画像データを印刷データに変換し、印刷機構10に画像を印刷させることになる。第2プリンタ4Bは赤色や黄色の色再現域が広いので、夕景モードの補正処理が施された画像データに基づいて印刷すれば、画質の高い印刷結果が得られる。
本実施形態によれば、青色と緑色の色再現域の広い第1プリンタ4Aでは風景モードが選択されやすくなり、赤色と黄色の色再現域の広い第2プリンタ4Bでは夕景モードが選択されやすくなる。つまり、それぞれのプリンタにおいて、補正効果の高い補正モードが選択されやすくなる。この結果、画質の高い印刷結果をユーザが得やすくなる。
===その他の実施の形態===
一実施形態としてのプリンタ等を説明したが、上記の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることは言うまでもない。特に、以下に述べる実施形態であっても、本発明に含まれるものである。
一実施形態としてのプリンタ等を説明したが、上記の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることは言うまでもない。特に、以下に述べる実施形態であっても、本発明に含まれるものである。
<プリンタについて>
前述の実施形態ではプリンタ4がシーン識別処理や補正モード選択処理等をしていたが、デジタルスチルカメラ2がシーン識別処理や補正モード選択処理等をしても良い。また、上記のシーン識別処理や補正モード選択処理を行う情報処理装置は、プリンタ4やデジタルスチルカメラ2に限られるものではない。例えば、大量の画像ファイルを保存するフォトストレージのような情報処理装置が、上記のシーン識別処理や補正モード選択処理を行っても良い。もちろん、パーソナルコンピュータやインターネット上に設置されたサーバーが、上記のシーン識別処理や補正モード選択処理を行っても良い。
前述の実施形態ではプリンタ4がシーン識別処理や補正モード選択処理等をしていたが、デジタルスチルカメラ2がシーン識別処理や補正モード選択処理等をしても良い。また、上記のシーン識別処理や補正モード選択処理を行う情報処理装置は、プリンタ4やデジタルスチルカメラ2に限られるものではない。例えば、大量の画像ファイルを保存するフォトストレージのような情報処理装置が、上記のシーン識別処理や補正モード選択処理を行っても良い。もちろん、パーソナルコンピュータやインターネット上に設置されたサーバーが、上記のシーン識別処理や補正モード選択処理を行っても良い。
<画像ファイルについて>
前述の画像ファイルはExif形式であったが、画像ファイルフォーマットはこれに限られるものではない。また、前述の画像ファイルは静止画であるが、動画であっても良い。要するに、画像ファイルが画像データと付加データとを備えていれば、前述のようなシーン情報修正処理を行うことが可能である。
前述の画像ファイルはExif形式であったが、画像ファイルフォーマットはこれに限られるものではない。また、前述の画像ファイルは静止画であるが、動画であっても良い。要するに、画像ファイルが画像データと付加データとを備えていれば、前述のようなシーン情報修正処理を行うことが可能である。
<サポートベクタマシンについて>
前述のサブ識別器51やサブ部分識別器61には、サポートベクタマシン(SVM)による識別手法が用いられている。しかし、識別対象画像が特定シーンに属するか否かの識別手法は、サポートベクタマシンを用いるものに限られるものではない。例えば、ニューラルネットワーク等のパターン認識を採用しても良い。
前述のサブ識別器51やサブ部分識別器61には、サポートベクタマシン(SVM)による識別手法が用いられている。しかし、識別対象画像が特定シーンに属するか否かの識別手法は、サポートベクタマシンを用いるものに限られるものではない。例えば、ニューラルネットワーク等のパターン認識を採用しても良い。
<シーン候補の抽出方法について>
前述の実施形態では、全体識別処理・部分識別処理・統合識別処理のいずれでもシーンを識別できなかった場合に限り、確信度が所定値以上のシーンをシーン候補として抽出している。但し、シーン候補の抽出方法は、これに限られるものではない。
前述の実施形態では、全体識別処理・部分識別処理・統合識別処理のいずれでもシーンを識別できなかった場合に限り、確信度が所定値以上のシーンをシーン候補として抽出している。但し、シーン候補の抽出方法は、これに限られるものではない。
図28は、別の処理フローの説明図である。この処理は、前述のシーン識別処理の代わりに行われる。
まず、前述の実施形態と同様に、プリンタ側コントローラ20が、画像ファイルの情報に基づいて、全体特徴量を算出する(S601)。次に、風景識別器51Lが、前述の識別処理と同様に、判別式の値又はその値に対応するPrecisionを確信度として算出する(S602)。なお、前述の実施形態の風景識別器51Lは、識別対象画像が風景のシーンに属するか否かをも識別していたが、ここでの風景識別器51Lは、判別式に基づいて確信度を算出するだけである。同様に、他のサブ識別器51も、確信度を算出する(S603〜S606)。そして、プリンタ側コントローラ20は、確信度が所定値以上のシーンを抽出し(S607)、全てのシーン候補及びその確信度を、結果記憶部31B又は画像ファイルの付加データへ記憶する(S608)。
このようにしても、複数のシーン候補に関する情報を画像ファイルの付加データへ記憶することができる。また、シーン候補が複数ある場合に、前述の重みテーブルを用いて補正モードを選択すれば、画質の高い印刷結果をユーザが得やすくなる。
まず、前述の実施形態と同様に、プリンタ側コントローラ20が、画像ファイルの情報に基づいて、全体特徴量を算出する(S601)。次に、風景識別器51Lが、前述の識別処理と同様に、判別式の値又はその値に対応するPrecisionを確信度として算出する(S602)。なお、前述の実施形態の風景識別器51Lは、識別対象画像が風景のシーンに属するか否かをも識別していたが、ここでの風景識別器51Lは、判別式に基づいて確信度を算出するだけである。同様に、他のサブ識別器51も、確信度を算出する(S603〜S606)。そして、プリンタ側コントローラ20は、確信度が所定値以上のシーンを抽出し(S607)、全てのシーン候補及びその確信度を、結果記憶部31B又は画像ファイルの付加データへ記憶する(S608)。
このようにしても、複数のシーン候補に関する情報を画像ファイルの付加データへ記憶することができる。また、シーン候補が複数ある場合に、前述の重みテーブルを用いて補正モードを選択すれば、画質の高い印刷結果をユーザが得やすくなる。
<色再現域について>
前述の実施形態では、プリンタの色再現域に応じて重みテーブルの重みが設定されている。但し、これに限られるものではない。例えば、画像ファイルの画像を表示可能な表示部を備えるフォトストレージにおいて、表示部の色再現域に応じて重みテーブルの重みを設定しても良い。
前述の実施形態では、プリンタの色再現域に応じて重みテーブルの重みが設定されている。但し、これに限られるものではない。例えば、画像ファイルの画像を表示可能な表示部を備えるフォトストレージにおいて、表示部の色再現域に応じて重みテーブルの重みを設定しても良い。
<重みテーブルについて>
前述の実施形態では、プリンタの機種に応じて重みテーブルが設定されている。但し、重みテーブルの設定方法は、これに限られるものではない。例えば、既に説明した通り、色再現域は、同じ機種のプリンタであっても、異なる場合がある。このため、プリンタに複数の重みテーブルを予め用意しておき、印刷モードに応じて画像補正部34が重みテーブルを選択するようにしても良い。例えば、印刷用紙の種類ごとに重みテーブルをそれぞれ予め用意しておき、ユーザがプリンタドライバ上で印刷条件を設定したときに印刷用紙の種類を決定し、決定された印刷用紙の種類に対応する重みテーブルを複数の重みテーブルの中から選択しても良い。
前述の実施形態では、プリンタの機種に応じて重みテーブルが設定されている。但し、重みテーブルの設定方法は、これに限られるものではない。例えば、既に説明した通り、色再現域は、同じ機種のプリンタであっても、異なる場合がある。このため、プリンタに複数の重みテーブルを予め用意しておき、印刷モードに応じて画像補正部34が重みテーブルを選択するようにしても良い。例えば、印刷用紙の種類ごとに重みテーブルをそれぞれ予め用意しておき、ユーザがプリンタドライバ上で印刷条件を設定したときに印刷用紙の種類を決定し、決定された印刷用紙の種類に対応する重みテーブルを複数の重みテーブルの中から選択しても良い。
===まとめ===
(1)前述の実施形態では、プリンタ側コントローラ20は、メモリカード6から画像ファイルを取得する。そして、この画像ファイルには画像データが含まれており、プリンタ側コントローラ20は、シーン識別処理によって、画像データの示す画像のシーンを識別する(図8参照)。シーンを識別できなかった場合(S108でNO)、確信度は低いかもしれないが、候補となりうるシーンが複数存在することがある。このようなとき、どのシーンに対応する補正処理を施すべきか問題となる。
(1)前述の実施形態では、プリンタ側コントローラ20は、メモリカード6から画像ファイルを取得する。そして、この画像ファイルには画像データが含まれており、プリンタ側コントローラ20は、シーン識別処理によって、画像データの示す画像のシーンを識別する(図8参照)。シーンを識別できなかった場合(S108でNO)、確信度は低いかもしれないが、候補となりうるシーンが複数存在することがある。このようなとき、どのシーンに対応する補正処理を施すべきか問題となる。
一方、補正モードに応じて補正効果が異なることがある。例えば、青色や緑色の色再現域の広いプリンタでは、風景モードの補正処理(青色や緑色を強調する補正処理)を施したときの補正効果が高いが、紅葉モードの補正処理(赤色や黄色を強調する補正処理)を施したときの補正効果はそれほど高くない。
そこで、前述のプリンタ側コントローラ20は、シーンごとに重み付けの行われた重みテーブルを備えている(図25A又は図25B参照)。そして、プリンタ側コントローラ20は、候補となりうるシーンが複数ある場合に、重みテーブルで設定された重みも考慮して、複数の候補の中からシーンを特定し、特定されたシーンに応じて補正モードにて補正処理を施す(図26参照)。
これにより、補正効果の高い補正モードが選択されやすくなり、この結果、画質の高い印刷結果をユーザが得やすくなる。
これにより、補正効果の高い補正モードが選択されやすくなり、この結果、画質の高い印刷結果をユーザが得やすくなる。
(2)ある補正モードの補正効果がたとえ高くても、その補正モードに対応するシーンに属する確率が低ければ、その補正モードは選択されるべきではない。そこで、前述の実施形態では、確信度と重みとを乗算した乗算結果に基づいて、補正モードを選択している。
(3)例えば、青色や緑色の色再現域の広いプリンタでは、風景モードの補正処理(青色や緑色を強調する補正処理)を施したときの補正効果が高い。一方、赤色や黄色の色再現域の広いプリンタでは、夕景モードや紅葉モードの補正処理(赤色や黄色を強調する補正処理)を施したときの補正効果が高い。
そこで、前述の実施形態では、プリンタの色再現域に応じた重みを設定している。具体的には、プリンタの色再現域の広い色を記憶色とする補正モードに対応する重みが高くなるように、重みテーブルの重みが設定されている。
そこで、前述の実施形態では、プリンタの色再現域に応じた重みを設定している。具体的には、プリンタの色再現域の広い色を記憶色とする補正モードに対応する重みが高くなるように、重みテーブルの重みが設定されている。
(4)前述のシーン識別処理では、全体識別処理において複数のサブ識別器51による識別処理が行われる。例えば、風景識別器51Lは、サポートベクタマシンの判別式を用い、画像データの特徴量に基づいて、識別対象画像が風景のシーン(第1シーンに相当)に属する確率を示す確信度(第1確信度)を算出する。そして、風景識別器51Lは、確信度が肯定閾値よりも大きければ、識別対象画像が風景のシーンに属すると識別する。他のサブ識別器51も、風景識別器51Lと同様に、特定のシーン(第2シーンに相当)に属する確率を示す確信度(第2確信度)を算出し、確信度が肯定閾値よりも大きければ、識別対象画像が特定のシーンに属すると識別する。
このように、識別対象画像が特定のシーンに属するか否かを識別する処理が繰り返されることによって、複数のシーンの識別を行うことが可能になる。
このように、識別対象画像が特定のシーンに属するか否かを識別する処理が繰り返されることによって、複数のシーンの識別を行うことが可能になる。
(5)前述の全体識別処理では、識別対象画像が風景のシーンに属することを風景識別器51Lが識別できた場合、他のサブ識別器51による識別は省略される。これにより、識別処理の速度を速めることができる。
(6)前述の全体識別処理では、風景識別器51Lの判別式の値が第2否定閾値より大きければ、風景とは別のシーン(例えば夜景)のシーンに属しないと判断され、その識別器(例えば夜景識別器51N)による識別は省略される。これにより、識別処理の速度を速めることができる。
(7)前述のプリンタ4(情報処理装置に相当)は、プリンタ側コントローラ20を備えている(図2参照)。前述のプリンタ側コントローラ20は、シーンごとに重み付けの行われた重みテーブルを用意している(図25A及び図25B参照)。そして、プリンタ側コントローラ20は、候補となりうるシーンが複数ある場合に、重みテーブルで設定された重みも考慮して、複数の候補の中からシーンを特定し、特定されたシーンに応じて補正モードにて補正処理を施す(図26参照)。
これにより、補正効果の高い補正モードが選択されやすくなり、この結果、画質の高い印刷結果をユーザが得やすくなる。
これにより、補正効果の高い補正モードが選択されやすくなり、この結果、画質の高い印刷結果をユーザが得やすくなる。
(8)前述のメモリ23には図8、図21及び図26の処理をプリンタ4に実行させるプログラムが記憶されている。すなわち、このプログラムは、画像データを取得するコードと、画像データの示す画像のシーンの候補を抽出するコードと、候補が複数ある際に、各候補に対応する重みに基づいて、複数の候補の中からシーンを特定するコードと、特定されたシーンに応じた補正処理を画像データに施すコードとを備えている。
2 デジタルスチルカメラ、2A モード設定ダイヤル、
4 プリンタ、4A 第1プリンタ、4B 第2プリンタ、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 統合識別器
4 プリンタ、4A 第1プリンタ、4B 第2プリンタ、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 統合識別器
Claims (8)
- 複数のシーンのそれぞれに対応付けられた重みを用意するステップと、
画像データを取得するステップと、
前記画像データの示す画像のシーンの候補を抽出するステップと、
前記候補が複数ある際に、各候補に対応する前記重みに基づいて、複数の前記候補の中からシーンを特定するステップと、
特定されたシーンに応じた補正処理を前記画像データに施すステップと、
を有することを特徴とする情報処理方法。 - 請求項1に記載の情報処理方法であって、
前記候補を抽出するステップにおいて、
前記画像データの示す画像が前記候補となるシーンに属する確率を示す確信度を算出し、
前記確信度に基づいて前記候補を抽出し、
前記シーンを特定するステップにおいて、
前記確信度と前記重みとに基づいて、複数の前記候補の中からシーンを特定する
ことを特徴とする情報処理方法。 - 請求項1又は請求項2に記載の情報処理方法であって、
前記補正処理が施された前記画像データに基づいて印刷装置が前記画像を印刷するステップを更に有し、
前記印刷装置の色再現域に応じて前記重みが設定される
ことを特徴とする情報処理方法。 - 請求項1〜3のいずれかに記載の情報処理方法であって、
前記画像データの示す画像が第1シーンである確率を示す第1確信度を前記画像データに基づいて算出し、前記第1確信度が肯定閾値よりも大きければ前記画像データの示す画像が第1シーンであることを識別する第1シーン識別ステップと、
前記画像データの示す画像が第2シーンである確率を示す第2確信度を前記画像データに基づいて算出し、前記第2確信度が肯定閾値よりも大きければ前記画像データの示す画像が第2シーンであることを識別する第2シーン識別ステップと、
を更に有する
ことを特徴とする情報処理方法。 - 請求項4に記載の情報処理方法であって、
前記第1シーン識別ステップにおいて前記画像データの示す画像が第1シーンであることを識別できた場合、前記第2シーン識別ステップを行わない
ことを特徴とする情報処理方法。 - 請求項4又は請求項5に記載の情報処理方法であって、
前記第1確信度が否定閾値よりも大きければ、第2シーン識別ステップを行わない
ことを特徴とする情報処理方法。 - コントローラを備えた情報処理装置であって、
前記コントローラは、
複数のシーンのそれぞれに対応付けられた重みを取得し、
画像データを取得し、
前記画像データの示す画像のシーンの候補を抽出し、
前記候補が複数ある際に、各候補に対応する前記重みに基づいて、複数の前記候補の中からシーンを特定し、
特定されたシーンに応じた補正処理を前記画像データに施す
ことを特徴とする情報処理装置。 - 複数のシーンのそれぞれに対応付けられた重みを記憶した情報処理装置に、
画像データを取得するステップと、
前記画像データの示す画像のシーンの候補を抽出するステップと、
前記候補が複数ある際に、各候補に対応する前記重みに基づいて、複数の前記候補の中からシーンを特定するステップと、
特定されたシーンに応じた補正処理を前記画像データに施すステップと、
を実現させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007065569A JP2008228086A (ja) | 2007-03-14 | 2007-03-14 | 情報処理方法、情報処理装置及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007065569A JP2008228086A (ja) | 2007-03-14 | 2007-03-14 | 情報処理方法、情報処理装置及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008228086A true JP2008228086A (ja) | 2008-09-25 |
Family
ID=39846133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007065569A Withdrawn JP2008228086A (ja) | 2007-03-14 | 2007-03-14 | 情報処理方法、情報処理装置及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008228086A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012100173A (ja) * | 2010-11-04 | 2012-05-24 | Canon Inc | 撮像装置撮像装置、撮像システム、及び撮像装置の制御方法 |
JP2014064313A (ja) * | 2013-11-26 | 2014-04-10 | Canon Inc | 画像処理装置、画像処理方法、及びプログラム |
-
2007
- 2007-03-14 JP JP2007065569A patent/JP2008228086A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012100173A (ja) * | 2010-11-04 | 2012-05-24 | Canon Inc | 撮像装置撮像装置、撮像システム、及び撮像装置の制御方法 |
US9225855B2 (en) | 2010-11-04 | 2015-12-29 | Canon Kabushiki Kaisha | Imaging apparatus, imaging system, and control method for increasing accuracy when determining an imaging scene based on input image data and information stored in an external information processing apparatus |
JP2014064313A (ja) * | 2013-11-26 | 2014-04-10 | Canon Inc | 画像処理装置、画像処理方法、及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20080292181A1 (en) | Information Processing Method, Information Processing Apparatus, and Storage Medium Storing a Program | |
JP5040624B2 (ja) | 情報処理方法、情報処理装置及びプログラム | |
JP2005176230A (ja) | 画像処理装置およびプリントシステム | |
US20090092312A1 (en) | Identifying Method and Storage Medium Having Program Stored Thereon | |
JP2009080557A (ja) | 識別方法及びプログラム | |
JP4862720B2 (ja) | 情報処理方法、情報処理装置、プログラム、及び記憶媒体 | |
JP4992519B2 (ja) | 情報処理方法、情報処理装置及びプログラム | |
JP4946750B2 (ja) | 設定方法、識別方法及びプログラム | |
JP2008284868A (ja) | 印刷方法、印刷装置及びプログラム | |
JP2008228086A (ja) | 情報処理方法、情報処理装置及びプログラム | |
JP4992646B2 (ja) | 識別方法及びプログラム | |
JP4910821B2 (ja) | 画像識別方法 | |
JP2009044249A (ja) | 画像識別方法、画像識別装置及びプログラム | |
JP2008228087A (ja) | 情報処理方法、情報処理装置及びプログラム | |
US8243328B2 (en) | Printing method, printing apparatus, and storage medium storing a program | |
JP2008269027A (ja) | シーン識別装置、及び、シーン識別方法 | |
JP2008234626A (ja) | 情報処理方法、情報処理装置及びプログラム | |
JP4882927B2 (ja) | カテゴリ識別方法 | |
EP1959668A2 (en) | Information processing method, information processing apparatus, and program | |
JP2008271058A (ja) | 情報処理方法、情報処理装置及びプログラム | |
JP4830950B2 (ja) | 情報処理方法、情報処理装置及びプログラム | |
JP2009033459A (ja) | 画像識別方法、画像識別装置及びプログラム | |
JP4581968B2 (ja) | 画像処理技術 | |
JP2008271249A (ja) | 情報処理方法、情報処理装置及びプログラム | |
JP4600256B2 (ja) | 画像処理技術 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100105 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20110124 |