(57)【要約】【課題】  高精度な認識処理が可能な辞書を作成する。【解決手段】  画像データ中のオブジェクトを検出して管理する画像処理装置の制御方法であって、画像データを入力する入力工程と、入力工程において入力した画像データに基づいて、オブジェクトを検出する検出工程と、所定の基準に基づいて、検出工程において検出されたオブジェクトの状態が悪いか否かを判定する状態判定工程と、オブジェクトから特徴量を抽出する特徴量抽出工程と、顔特徴量抽出工程において抽出した特徴量を辞書に登録する辞書登録工程とを備え、辞書登録工程では、状態判定工程の判定の結果、オブジェクトの状態が悪いと判定される場合、該オブジェクトの特徴量の辞書登録工程による辞書への登録を行わない。【選択図】  図３３
2014016826.tif 000002
【特許請求の範囲】
【請求項１】
画像データ中のオブジェクトを検出して管理する画像処理装置であって、
画像データを入力する入力手段と、
前記入力手段により入力された画像データに基づいて、前記オブジェクトを検出する検出手段と、
所定の基準に基づいて、前記検出手段により検出されたオブジェクトの状態が悪いか否かを判定する状態判定手段と、
前記オブジェクトの特徴量を抽出する特徴量抽出手段と、
前記特徴量抽出手段より抽出した特徴量を、オブジェクトの認識の際に用いる辞書に登録する辞書登録手段とを備え、
前記辞書登録手段は、前記状態判定手段により、前記オブジェクトの状態が悪いと判定される場合、該特徴量を前記辞書へ登録しない
ことを特徴とする画像処理装置。
【請求項２】
前記状態判定手段の判定の結果、前記オブジェクトの状態が悪いと判定される場合、更に、前記オブジェクトの前記特徴量抽出手段による抽出を行わない
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記オブジェクトの特徴量と他の特徴量との類似度が所定の類似度範囲内に属するグループ毎に、前記オブジェクトを管理する管理手段を更に備え、
前記管理手段は、前記状態判定手段の判定結果に関わらず、前記入力手段により入力された画像データ中のオブジェクトを前記グループにおいて管理する
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記状態判定手段は、前記オブジェクトの周波数成分における高周波成分の割合が所定の基準値未満である場合には、前記検出手段により検出された領域の状態が悪いと判定する
こと特徴とする請求項１〜３のいずれか一項に記載の画像処理装置。
【請求項５】
前記入力手段により入力された画像データの特徴量及び前記辞書登録手段に登録されている画像データの特徴量に基づいて、照合処理を行う照合手段を更に備える
ことを特徴とする請求項１〜４のいずれか一項に記載の画像処理装置。
【請求項６】
前記状態判定手段は、前記検出手段による検出時に用いる画像データよりも高い解像度の画像データに基づいて前記領域の状態を判定する
ことを特徴とする請求項１〜５のいずれか一項に記載の画像処理装置。
【請求項７】
画像データ中のオブジェクトを検出して管理する画像処理装置の制御方法であって、
画像データを入力する入力工程と、
前記入力工程において入力した画像データに基づいて、オブジェクトを検出する検出工程と、
所定の基準に基づいて、前記検出工程において検出されたオブジェクトの状態が悪いか否かを判定する状態判定工程と、
前記オブジェクトから特徴量を抽出する特徴量抽出工程と、
前記顔特徴量抽出工程において抽出した特徴量を、オブジェクトの認識の際に用いる辞書に登録する辞書登録工程とを備え、
前記辞書登録工程では、前記状態判定工程の判定の結果、前記オブジェクトの状態が悪いと判定される場合、該オブジェクトの特徴量の前記辞書登録工程による前記辞書への登録を行わない
ことを特徴とする画像処理装置の制御方法。
【請求項８】
請求項１〜６のいずれか一項に記載の画像処理装置の各手段としてコンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データ中のオブジェクトを検出して管理する画像処理技術に関するものである。
【背景技術】
【０００２】
デジタルスチールカメラ（以下「ＤＳＣ」とも記載）の普及に伴い、昨今では時に数千枚から数万枚といった多くの画像データをハンドリングすることがある。ハンドリングする方法として、特に、重要な技術の１つとして、人物の顔を手掛かりに画像をハンドリングすることによって個人認識を実現するものがある。具体的な例としては、まず、予め入力画像に含まれる顔領域を検出し、検出された顔領域を解析して得られる情報（以下、「特徴量」と記載する）を抽出し、抽出された特徴量を登録する。尚、登録される特徴量は、解析する画像の数や、画像に含まれる顔の数に応じて増えていく。以下、特徴量を登録したものを「辞書」又は「顔辞書」と呼ぶ。そして、得られた顔辞書と、新たに入力された画像を解析して得られる特徴量とを照合することによって、個人認識が可能となる。
【０００３】
特許文献１では、照合精度を向上させるために、顔画像データにおいて画質が不良な部分に対して補正を施した後に、辞書に登録されている顔画像データとの照合処理を行っている。また、この辞書には、顔画像データの一部が画像不良であることを想定した種々の辞書パターンを予め登録すること、画質不良の判定に各ブロック画像内の平均輝度値を用いることなどが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−０８４８２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の方法では、顔辞書の登録内容によっては、顔辞書の個人認識や照会精度が低下してしまうという問題があった。
【０００６】
本発明は上記の課題を鑑みてなされたものであり、高精度な認識処理が可能な画像処理装置、画像処理方法、及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するための本発明による画像処理装置は以下の構成を備える。即ち、
画像データ中のオブジェクトを検出して管理する画像処理装置であって、
画像データを入力する入力手段と、
前記入力手段により入力された画像データに基づいて、前記オブジェクトを検出する検出手段と、
所定の基準に基づいて、前記検出手段により検出されたオブジェクトの状態が悪いか否かを判定する状態判定手段と、
前記オブジェクトの特徴量を抽出する特徴量抽出手段と、
前記特徴量抽出手段より抽出した特徴量を、オブジェクトの認識の際に用いる辞書に登録する辞書登録手段とを備え、
前記辞書登録手段は、前記状態判定手段により、前記オブジェクトの状態が悪いと判定される場合、該特徴量を前記辞書へ登録しない。
【発明の効果】
【０００８】
本発明によれば、高精度な認識処理が可能な辞書を作成することができる。従って、高精度な認識処理が可能な画像処理装置、画像処理方法、及びそのプログラムを実現することができる。
【図面の簡単な説明】
【０００９】
【図１】画像処理装置のハードウェア構成である。
【図２】画像処理装置を制御するためのソフトウェアブロック図である。
【図３】画像解析処理のフローチャートである。
【図４】画像解析処理のフローチャートである。
【図５】人物グループ生成処理のフローチャートである。
【図６】自動レイアウト提案処理のフローチャートである。
【図７】人物グループの表示例を示す図である。
【図８】サムネイル形式による画像群の表示例を示す図である。
【図９】カレンダー形式による画像群の表示例を示す図である。
【図１０】画像解析した結果得られる属性情報の例を示す図である。
【図１１】画像解析結果の保存形式の例を示す図である。
【図１２】ユーザーが手動入力可能な属性情報の例を示す図である。
【図１３】手動でお気に入り度を入力するためのＵＩ例を示す図である。
【図１４】手動でイベント情報を入力するためのＵＩ例を示す図である。
【図１５】手動で人物属性情報を入力するためのＵＩ例を示す図である。
【図１６】人物属性情報の保存形式の例を示す図である。
【図１７】レイアウトテンプレートの一例を示す図である。
【図１８】図１７のレイアウトテンプレートの保持形式の例を示す図である。
【図１９】レイアウトテンプレートの一例を示す図である。
【図２０】図１９のレイアウトテンプレートの保持形式の例を示す図である。
【図２１】実施形態１の自動レイアウト生成処理のフローチャートである。
【図２２】実施形態１の不要画像フィルタリング処理のフローチャートである。
【図２３】自動トリミング処理の一例を示す図である。
【図２４】自動レイアウトを行う際のレイアウト評価値の例を示す図である。
【図２５】明るさ適正度の算出方法の説明図である。
【図２６】彩度適正度の算出方法の説明図である。
【図２７】トリミング欠け判定処理の説明図である。
【図２８】画像類似性判定処理の説明図である。
【図２９】自動レイアウト生成結果の表示例を示す図である。
【図３０】決定されたテーマと主人公情報の保持例を示す図である。
【図３１】決定されたテーマと主人公情報の保持例を示す図である。
【図３２】生成した自動レイアウト情報の保持例を示す図である。
【図３３】顔辞書作成装置の説明図である。
【図３４】顔辞書内部構成の説明図である。
【図３５】顔辞書作成フローチャートである。
【図３６】顔状態判定処理の詳細フローチャートである。
【図３７】顔状態判定処理の説明図である。
【図３８】顔状態判定処理の説明図である。
【図３９】顔辞書作成装置の説明図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【００１１】
（実施形態１）
以下では、入力画像群を用いて自動でレイアウト出力物を生成するために、本発明における好適な実施形態１について説明する。これはあくまで実施の１つの形態を例として示したものであり、本発明は以下の実施形態に限定されるものではない。
【００１２】
図１は実施形態１の画像処理装置のハードウェア構成例を示すブロック図である。
【００１３】
図１において、画像処理装置１１５は、ＣＰＵ１００と、ＲＯＭ１０１と、ＲＡＭ１０２と、２次記憶装置１０３と、表示装置１０４と、入力装置１０５と、ＩＦ１０７と、ＩＦ１０８と、無線ＬＡＮ１０９を備えている。さらに、内部撮像デバイス１０６を備えている。これらは、制御バス／データバス１１０により相互に接続されている。本実施形態の画像処理装置１１５は、情報処理装置によって実現される。
【００１４】
画像処理装置１１５は、例えば、コンピュータ１１５である。ＣＰＵ（中央演算装置）１００は、実施形態１で説明する情報処理を以下に示すアプリケーションなどのプログラムに従って実行する。ＲＯＭ１０１は、ＣＰＵ１００により実行されるプログラムが記憶されている。ＲＡＭ１０２は、ＣＰＵ１００によるプログラムの実行時に、各種情報を一時的に記憶するためのメモリを提供している。２次記憶装置１０３はハードディスク等であり、画像ファイルや画像解析結果を保存するデータベース等を保存するための記憶媒体である。表示装置１０４は、例えば、ディスプレイであり、本実施形態の処理結果など以下に示す種々のＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒ  ｆａｃｅ）をユーザーに提示する装置である。表示装置１０４は、タッチパネル機能を備えても良い。また、１１０は制御バス／データバスであり、上述の各種構成要素とＣＰＵ１００とを相互に接続する。このほかに、ユーザーが画像補正の処理の指示等を入力するためのマウスやキーボード等の入力装置１０５も備える。
【００１５】
また、画像処理装置１１５は、内部撮像デバイス１０６を備えてもよい。内部撮像デバイス１０６で撮像された画像は、所定の画像処理を経た後、２次記憶装置１０３に記憶される。また、画像処理装置１１５はインターフェース（ＩＦ１０８）を介して接続された外部撮像デバイス１１１から読み込んでも構わない。さらに、画像処理装置１１５は無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１０９を備え、無線ＬＡＮ１０９はインターネット１１３に接続されている。インターネット１１３に接続された外部サーバー１１４より画像データを取得することもできる。
【００１６】
最後に、画像等を出力するためのプリンタ１１２が、ＩＦ１０７を介して画像処理装置１１５に接続されている。尚、プリンタ１１２はさらにインターネット上に接続されており、無線ＬＡＮ１０９経由でプリントデータのやり取りをすることもできる。
【００１７】
図２は実施形態１の上記アプリケーションを含むソフトウェア構成を示すブロック図である。
【００１８】
まず、画像処理装置１１５が取得した画像データは、通常、ＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｙ  Ｅｘｐｅｒｔ  Ｇｒｏｕｐ）等の圧縮形式で圧縮されている。そのため、画像コーデック部２００は、その圧縮形式に基づいて、画像データを解凍して、いわゆる、ＲＧＢ点順次のビットマップデータ形式の画像データ（ビットマップデータ）に変換する。変換されたビットマップデータは、表示・ＵＩ制御部２０１に伝達され、ディスプレイ等の表示装置１０４上に表示される。
【００１９】
ビットマップデータは、さらに、画像センシング部２０３（アプリケーション）に入力され、画像センシング部２０３において、画像の様々な解析処理（詳細は後述）が行われる。解析処理の結果、得られた画像の様々な属性情報は、所定の形式に従ってデータベース部２０２（アプリケーション）において、上述した２次記憶装置１０３に記憶される。尚、以降においては、画像解析処理とセンシング処理は同義で扱う。
【００２０】
シナリオ生成部２０４（アプリケーション）では、ユーザーが入力した様々な条件に応じて、詳細は後述するが、自動で生成すべきレイアウトの条件を生成する。レイアウト生成部２０５では、生成されたシナリオに従って、画像データを配置するためのレイアウトを自動で生成する処理を行う。
【００２１】
生成したレイアウトは、レンダリング部２０６で表示用のビットマップデータにレンダリングされ、そのレンダリング結果であるビットマップデータは表示・ＵＩ制御部２０１に送信され、その内容が表示装置１０４に表示される。一方で、レンダリング結果は、プリントデータ生成部２０７に送信されて、プリントデータ生成部２０７でプリンタ用コマンドデータに変換され、プリンタ１１２に送信される。
【００２２】
図３〜図６を用いて、本実施形態の基本的な画像処理のフローチャートについて説明する。
【００２３】
図３及び図４は、画像センシング部２０３が実行する処理のフローチャートを示しており、複数の画像データ群を取得して、それぞれについて解析処理を施し、その結果をデータベース部２０２に格納するまでの処理を示している。
【００２４】
図５は、検出した顔位置情報に基づいて、同じ人物と思われる顔情報をグループ化する人物グループ生成処理を示している。
【００２５】
図６は、画像の解析情報及びユーザーが入力した様々な情報に基づいて、レイアウト作成のためのシナリオを決定し、そのシナリオに基づいて、レイアウトを自動で生成するための処理を示している。
【００２６】
まず、図３を用いて、画像センシング部２０３が実行する処理のフローチャートについて説明する。
【００２７】
Ｓ３０１において、画像データ群の取得を行う。画像データ群は、例えば、ユーザーが、撮影画像が格納された撮像装置やメモリカードを画像処理装置１１５に接続し、これらから撮影画像を読み込むことで取得する。また、画像データ群として、内部撮像デバイス１１０で撮影され、２次記憶装置１０３に記憶されている撮像画像を取得してもよい。画像データ群は、無線ＬＡＮ１０９を介して、インターネット１１３上に接続された外部サーバー１１４等、画像処理装置１１５以外の装置から取得してもよい。
【００２８】
ここで、図８及び図９を用いて、画像データ群を取得した際の表示装置１０４の表示について説明する。画像データ群を取得すると、図８や図９に示すように、表示装置１０４上のＵＩは、取得した画像データに基づく画像が確認できる表示となる。表示装置１０４上のＵＩの表示方法は、画像を確認できるものであれば、特に限定されるものではない。例えば、図８に示すように、ＵＩ８０１に２次記憶装置１０３内のフォルダ単位で画像のサムネイル８０２を表示してもよいし、図９に示すようにＵＩ９０１でカレンダーにおいて日付ごとに画像データが管理されていてもよい。図９のＵＩ９０１では、日付の部分９０２をクリックすれば、同日に撮影された画像が、図８のようなサムネイル一覧で表示される。
【００２９】
次に、Ｓ３０２〜３０５において、取得した画像データ群それぞれについて、解析処理及び解析結果のデータベース登録を行う。
【００３０】
具体的には、Ｓ３０２において、各画像のデコードを行う。まず、画像センシング部２０３（アプリケーション）が、新規で保存され未だセンシング処理が行われていない画像データをサーチする。そして、抽出された各画像について、画像コーデック部２００が画像データ（圧縮画像データ）からビットマップデータに変換する（デコードする）。
【００３１】
次に、Ｓ３０３において、ビットマップデータに対して、各種センシング処理を実行してセンシング情報を取得し、データベース登録をする。ここでいうセンシング処理とは、画像解析処理を指しており、本実施形態では、図１０に示す様々な画像解析処理を行う。具体的には、センシング処理として、画像データ中の被写体の顔検出及び顔領域の特徴量解析、画像の特徴量解析、シーン解析を行い、それぞれ図１０に示すようなデータ型の結果を算出する。本実施形態では、画像基本特徴量としては、平均輝度（ｉｎｔ：値０〜２５５）、平均彩度（ｉｎｔ：０〜２５５）、平均色相（ｉｎｔ：値０〜３５９）を解析した。また、顔検出としては、人物顔の個数（ｉｎｔ：値０以上（０〜ＭＡＸＦＡＣＥ）、人物顔の位置情報である座標位置（ｉｎｔ＊８：値０以上（Ｗｉｄｔｈ及びＨｅｉｇｈｔそれぞれ同様）を解析した。さらに、顔領域内の平均Ｙ（ｉｎｔ：値０〜２５５）、顔領域内の平均Ｃｂ（ｉｎｔ：値−１２８〜１２７）、顔領域内の平均Ｃｒ（ｉｎｔ：値−１２８〜１２７）を解析した。
【００３２】
尚、本実施形態では、被写体の顔を人物とするが、ペット等の動物の顔を被写体としてもよい。
【００３３】
以下、それぞれのセンシング処理について説明する。
【００３４】
まず、画像の基本的な特徴量である全体の平均輝度、平均彩度については、公知の方法で算出すればよいため、簡単に説明する。平均輝度については、画像の各画素について、ＲＧＢ成分を公知の輝度色差成分（例えば、ＹＣｂＣｒ成分）に変換し、Ｙ成分の平均値を算出すればよい。また、平均彩度については、上記ＣｂＣｒ成分について画素毎に、以下の式を算出し、Ｓの平均値を求めればよい。
【００３５】
【数１】
2014016826.tif 000003
【００３６】
また、画像内の平均色相（ＡｖｅＨ）は、画像の色合いを評価するための特徴量である。各画素毎の色相は、公知のＨＩＳ変換式を用いて算出することができ、それらを画像全体で平均化することにより、ＡｖｅＨを算出することができる。
【００３７】
上記特徴量は、画像全体で算出してもよいし、例えば、画像を所定サイズの領域に分割し、各領域毎に算出してもよい。
【００３８】
次に、人物の顔検出処理について説明する。本実施形態に係る人物の顔検出手法としては、様々な方法を用いることができる。例えば、特開２００２−１８３７３１号公報に記載の方法では、まず、入力画像から目領域を検出し、目領域周辺を顔候補領域とする。その顔候補領域に対して、画素毎の輝度勾配、及び輝度勾配の重みを算出し、これらの値を、あらかじめ設定されている理想的な顔基準画像の勾配、及び勾配の重みと比較する。その時に、各勾配間の平均角度が所定の閾値以下である場合、入力画像は顔領域を有すると判定する。
【００３９】
また、特開２００３−３０６６７号公報に記載の方法では、画像中から肌色領域を検出し、その肌色領域内において、人間の虹彩色画素を検出することにより、目の位置を検出することが可能である。
【００４０】
特開平８−６３５９７号公報に記載の方法では、まず、複数の顔の形状をしたテンプレートと画像とのマッチング度を計算する。そのマッチング度が最も高いテンプレートを選択し、最も高いマッチング度があらかじめ定められた閾値以上であれば、選択されたテンプレート内の領域を顔候補領域とする。このテンプレートを用いるこことで、目の位置を検出することが可能である。
【００４１】
特開２０００−１０５８２９号公報に記載の方法では、まず、鼻画像パターンをテンプレートとし、画像全体、あるいは画像中の指定された領域を走査し最もマッチする位置を鼻の位置として出力する。次に、画像の鼻の位置よりも上の領域を目が存在する目存在領域と考え、目画像パターンをテンプレートとして目存在領域を走査してマッチングをとり、ある閾値よりもマッチ度が大きい画素の集合である目存在候補位置集合を取得する。さらに、目存在候補位置集合に含まれる連続した領域をクラスタとして分割し、各クラスタと鼻位置との距離を算出する。その距離が最も短くなるクラスタを目が存在するクラスタと決定することで、器官位置の検出が可能である。
【００４２】
顔検出処理の方法として、その他、例えば、以下に示す公知の顔及び器官位置を検出する方法を用いてもよい。例えば、特開平８−７７３３４号公報、特開２００１−２１６５１５号公報、特開平５−１９７７９３号公報、特開平１１−５３５２５号公報、特開２０００−１３２６８８号公報、特開２０００−２３５６４８号公報、特開平１１−２５０２６７号公報が挙げられる。さらには、特許第２５４１６８８等が挙げられる。
【００４３】
顔検出処理の結果、各入力画像について、人物顔の個数と各顔毎の顔座標位置を取得することができる。また、画像中の顔座標位置が分かれば、顔領域毎に顔領域内に含まれる画素値の平均ＹＣｂＣｒ値を算出することにより、顔領域の平均輝度及び平均色差を算出することができる。
【００４４】
また、画像の特徴量を用いて、シーン解析処理を行うことができる。シーン解析処理については、様々な方法を用いることができ、例えば、本出願人が出願している特開２０１０−２５１９９９号公報や特開２０１０−２７３１４４号公報等で開示されているように公知の方法を用いることができる。シーン解析処理の結果、風景（Ｌａｎｄｓｃａｐｅ）、夜景（Ｎｉｇｈｔｓｃａｐｅ）、人物（Ｐｏｒｔｒａｉｔ）、露出不足（Ｕｎｄｅｒｅｘｐｏｓｕｒｅ）、その他（Ｏｔｈｅｒｓ）等の撮影シーンを区別するためのＩＤを取得することができる。
【００４５】
尚、センシング情報は、上記のセンシング処理により取得されるものに限定されるものではなく、例えば、その他のセンシング情報を利用してもよい。
【００４６】
以上のようにして取得したセンシング情報を、データベース部２０２に記憶する。
【００４７】
データベース部２０２への保存形式は、特に限定されないが、例えば、図１１に示すような汎用的なフォーマット（例えば、ＸＭＬ：ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）で記述し、記憶すればよい。
【００４８】
図１１では、各画像毎の属性情報を、３つのカテゴリに分けて記述する例を示している。１番目の＜ＢａｓｅＩｎｆｏ＞タグは、画像サイズや撮影時情報として、あらかじめ取得した画像ファイルに付加されている情報である。ここには、画像毎の識別子ＩＤ（ＩＤ）や、画像ファイルが格納されている保存場所（＜ＩｍａｇｅＰａｔｈ＞）、画像サイズ（＜ＩｍａｇｅＳｉｚｅ〜＞）、撮影日時（＜ＣａｐｔｕｒｅＤａｔｅＴｉｍｅ＞）等が含まれる。
【００４９】
次に、２番目の＜ＳｅｎｓＩｎｆｏ＞タグは、上述した画像解析処理の結果を格納するためのタグである。画像全体の平均輝度、平均彩度、平均色相やシーン解析結果が格納され、さらに、画像中に存在する人物の顔位置や顔色に関する情報が記述可能である。
【００５０】
次に、３番目の＜ＵｓｅｒＩｎｆｏ＞タグは、ユーザーが画像毎に入力した情報を格納することができるが、詳細については後述する。
【００５１】
尚、画像の属性情報のデータベース部２０２の格納方法については、上記に限定されるものではなく、その他、どのような形式であっても構わない。
【００５２】
そして、Ｓ３０５において、取得した画像データ群の内、未処理の画像データが最後の画像データであるか否かを判定する。最後の画像データでない場合（Ｓ３０５でＮＯ）、Ｓ３０２に戻り、未処理の画像データを、取得した画像データ群から取得する。一方、最後の画像データである場合（Ｓ３０５でＹＥＳ）、Ｓ３０６に進む。
【００５３】
Ｓ３０６において、個人認識処理を用いた人物グルーピングを行う。ここでは、Ｓ３０３で検出された顔位置情報を用いて、人物毎のグループを生成する人物グループ生成処理を実行する。あらかじめ人物の顔を自動でグループ化しておくことにより、その後、ユーザーが各人物に対して名前を付けていく作業を効率化することが可能となる。
【００５４】
ここでの人物グループ生成処理は、個人認識技術を用いて、図５のフローにより実行する。
【００５５】
尚、個人認識技術は、主に顔の中に存在する眼や口といった器官の特徴量抽出と、それらの関係性の類似度の比較という二つの技術で構成される。個人認識技術として、例えば、特許第３４６９０３１等に開示されているように公知の手法を用いることができる。
【００５６】
図５はＳ３０６の詳細を示すフローチャートである。
【００５７】
まず、Ｓ５０１において、２次記憶装置１０３に記憶されている画像データを順次読み出してデコードを行う。デコード処理は、Ｓ３０２と同様であるので説明を省略する。
【００５８】
Ｓ５０２において、データベース部２０２にアクセスし、画像データ中に含まれる顔の個数と顔の位置情報を取得する。
【００５９】
次に、Ｓ５０４において、個人認識処理を行うための正規化顔画像を生成する。
【００６０】
ここで、正規化顔画像とは、画像内に様々な大きさ、向き、解像度で存在する顔を切り出して、すべて所定の大きさと向きになるよう、変換して切り出した顔画像のことである。個人認識を行うためには、眼や口等の器官の位置が重要となるため、正規化顔画像のサイズは、器官が確実に認識できる程度であることが望ましい。このように正規化顔画像を用意することにより、特徴量検出処理において、様々な解像度の顔に対応する必要がなくなるという利点がある。
【００６１】
次に、Ｓ５０５において、正規化顔画像から顔特徴量を抽出する。ここでの顔特徴量とは、眼や口、鼻等の器官の位置、大きさや、さらには顔の輪郭等を含む。
【００６２】
さらに、Ｓ５０６において、データベース部２０２上に構築されている、あらかじめ人物の識別子（人物ＩＤ）毎に用意されている顔特徴量を記憶する顔辞書を参照して、抽出した顔特徴量と類似しているか否かを判定する。尚、ここでは、いずれの顔特徴量も登録するものとして説明したが、詳細は後述するが、図３３及び３５に示すように顔特徴量を登録しない場合もある。
【００６３】
判定の結果、類似している場合（Ｓ５０６でＹＥＳ）、Ｓ５０９において、抽出した特徴量を同じ（あるいは類似の）人物の追加特徴量として、対応する人物ＩＤのエントリに追加辞書登録する。
【００６４】
一方、判定の結果、類似していない場合（Ｓ５０６でＮＯ）、現在評価対象となっている顔の特徴量は、これまでに顔辞書に登録された人物とは異なる人物であるとして、新規人物ＩＤを発行して顔辞書に新規辞書登録する。尚、詳細は後述するが、本実施形態では、顔状態判定において、顔状態が悪いと判定されたものは辞書登録を行わない。
【００６５】
Ｓ５１０において、処理対象の画像データ中に、他の顔領域があるか否かを判定する。他の顔領域がある場合（Ｓ５１０でＹＥＳ）、Ｓ５０２に戻る。一方、他の顔領域がない場合（Ｓ５１０でＮＯ）、Ｓ５１１に進む。
【００６６】
Ｓ５１１において、全ての画像についてＳ５０２〜５０９の処理が終了したか否かを判定する。全ての画像について処理が終了した場合は、処理を終了し、全ての画像について処理が終了していない場合は、Ｓ５０２へ戻る。つまり、Ｓ５０２〜Ｓ５０９までの処理を、取得した画像データ群の中から検出した顔領域全てに適用して、登場した人物のグループ化を行う。
【００６７】
グループ化の結果は、図１６のＸＭＬフォーマットで示すように、各顔領域毎にＩＤタグを用いて記述し、データベース部２０２（図３）に保存しておく。
【００６８】
尚、実施形態１においては、図３に示すように、全ての画像データのセンシング処理及びデータベースの登録が終了した後に人物グループ生成処理を実行しているが、これ以外の方法としてもよい。例えば、図４に示すように、各画像データに対して、Ｓ４０３においてセンシング処理を実行し、データベースに登録した後に、顔の位置情報を利用して、Ｓ４０５において人物グループ生成処理を実行し、これを繰り返して全ての画像データの処理を行うようにしてもよい。
【００６９】
また、上記の処理によって得られた各人物グループは、表示装置１０４のＵＩに表示される。本実施形態に係る各人物グループの表示を図７に示す。図７のＵＩ７０１において、７０２は人物グループの代表顔画像を表しており、その横には、該人物グループの名前を表示する領域７０３が存在する。自動の人物グループ化処理を終了した直後は、同図に示すように、領域７０３には、人物名が「Ｎｏ  ｎａｍｅ」と表示される。また、７０４は人物グループに含まれる複数の顔画像が表示される。後述するが、同図のＵＩ７０１においては、「Ｎｏ  ｎａｍｅ」の領域７０３を指定して人物名を入力したり、人物毎に誕生日や続柄等の情報を入力したりすることができる。
【００７０】
また、上述したセンシング処理は、オペレーティングシステムのバックグラウンドタスクを利用して実行しても良い。この場合、ユーザーがコンピュータ１１５上で別の作業を行っていたとしても、画像群のセンシング処理を継続させることができる。
【００７１】
本実施形態では、ユーザーが手動で画像に関する様々な属性情報を設定してもよく、自動で画像に関する様々な属性情報を設定するようにしてもよい。
【００７２】
その属性情報の例の一覧を、図１２に示す。手動又は自動によって登録する属性情報は大きく分けると、画像毎に設定する画像の属性情報と、人物グループ処理によってグループ分けされた人物毎に設定する人物の属性情報とに分かれる。
【００７３】
まず、画像の属性情報として、ユーザーのお気に入り度が挙げられる。お気に入り度は、例えば、その画像を気に入っているかどうかを、ユーザーが手動で入力することができる。例えば、図１３示すように、ＵＩ１３０１上で、所望のサムネイル画像１３０２をマウスポインタ１３０３で選択し、右クリックをすることでお気に入り度を入力できるダイアログを表示する。ユーザーは、メニューの中で自分の好みに応じて、「★」の数を選択することができる。本実施形態では、お気に入り度が高いほど「★」の数が多くなるよう設定した。
【００７４】
また、お気に入り度は、ユーザーが手動で設定せずに、自動で設定するようにしてもよい。例えば、ユーザーが閲覧した回数をお気に入り度として自動設定してもよい。ユーザーが図８に示す画像サムネイル一覧表示（ＵＩ８０１）の状態から、所望のサムネイル（画像ファイル）をクリックし、１画像表示画面に遷移したとする。その遷移した回数を計測して、回数に応じてお気に入り度を自動設定してもよい。すなわち、閲覧した回数が多いほど、ユーザーがその画像を気に入っていると判定する。
【００７５】
また他の例として、プリント回数に応じてお気に入り度を自動設定してもよい。具体的には、例えば、プリント操作を行った場合、その画像を気に入っていると判定し、プリント回数が多いほどよりお気に入り度が高いと判定する。
【００７６】
以上で説明したように、お気に入り度については、ユーザーが手動で設定する方法、閲覧回数やプリント回数に基づいて自動で設定する方法が挙げられる。
【００７７】
上述したような属性情報は、それぞれ個別に、図１１で示すようなＸＭＬフォーマットで、データベース部２０２の＜ＵｓｅｒＩｎｆｏ＞タグ内に格納される。例えば、お気に入り度は＜ＦａｖｏｒｉｔｅＲａｔｅ＞タグ、閲覧回数は＜ＶｉｅｗｉｎｇＴｉｍｅｓ＞タグ、プリント回数は＜ＰｒｉｎｔｉｎｇＴｉｍｅｓ＞タグに格納される。
【００７８】
また、画像毎に設定する別の属性情報として、イベント情報が挙げられる。イベント情報としては、例えば、家族旅行「ｔｒａｖｅｌ」、卒業式「ｇｒａｄｕａｔｉｏｎ」、結婚式「ｗｅｄｄｉｎｇ」等が挙げられる。
【００７９】
イベントの指定は、例えば、図１４のＵＩ１４０１で示すカレンダー上で所望の日付をマウスポインタ１４０２で指定して、その日のイベント名を入力することで設定できるようにしてもよい。指定されたイベント名（イベント情報）は、画像の属性情報の一部として、図１１示すＸＭＬフォーマットに含まれることになる。ＸＭＬフォーマットでは、＜ＵｓｅｒＩｎｆｏ＞タグ内の＜Ｅｖｅｎｔ＞タグを使って、イベント名と画像を関連付けている（紐付けている）。
【００８０】
次に、図１５を用いて、人物の属性情報について説明する。
【００８１】
図１５は、人物の属性情報を入力するためのＵＩ１５０１を示している。同図において、１５０２は所定人物（この場合は「ｆａｔｈｅｒ」）の代表顔画像を示している。また、１５０３は所定人物の名前を表示する領域を示している。また、１５０４には、他の画像の中から検出し、Ｓ５０６で顔特徴量が類似していると判定された画像の一覧が表示される。
【００８２】
センシング処理が終了した直後は、図７に示したように各人物グループには名前が入力されていないが、「Ｎｏ  ｎａｍｅ」の領域７０３をマウスポインタで指示することにより、任意の人物名を入力することができる。ここで任意の人物名を入力することにより、図１５に示すように１５０３に所定人物の名前が表示される。
【００８３】
また、人物毎の属性情報として、それぞれの人物の誕生日やアプリケーションを操作しているユーザーから見た続柄を設定することもできる。本実施形態では、図１５の人物の代表顔画像１５０２をクリックすると、画面下部に図示するように、クリックした人物の誕生日を第１入力部１５０５で、続柄情報を第２入力部１５０６で入力することができるようにした。
【００８４】
以上、入力された人物の属性情報は、これまでの画像に紐付けられた画像の属性情報とは異なり、図１６のようなＸＭＬフォーマットによって、画像の属性情報とは別にデータベース部２０２内で管理される。
【００８５】
また、実施形態１においては、あらかじめ様々なレイアウトテンプレートが用意されている。レイアウトテンプレートとは、例えば、図１７及び図１９に示すようなものであり、それぞれレイアウトする用紙１７０１及び１９０１上に、複数の画像配置枠１７０２、及び１９０２及び１９０３（以降、スロットと同義）で構成されている。
【００８６】
このようなレイアウトテンプレートは、あらかじめ実施形態１を実行するためのソフトウェアが画像処理装置１１５にインストールされた時点で、２次記憶装置１０３に保存しておけばよい。また、その他の方法として、ＩＦ１０７や無線ＬＡＮ１０９を介して接続されたインターネット１１３上に存在する外部サーバー１１４から、任意のレイアウトテンプレートを取得してもよい。
【００８７】
これらのレイアウトテンプレートは、汎用性の高い構造化言語、例えば、上述したセンシング処理の結果の格納と同様にＸＭＬフォーマットで記述されているものとする。図１７及び図１９のレイアウトテンプレートに対するＸＭＬデータの例をそれぞれ図１８及び図２０に示す。これらの図では、まず、＜ＢＡＳＩＣ＞タグにおいて、レイアウトテンプレートの基本的な情報を記述する。基本的な情報としては、例えば、レイアウトテンプレートのテーマやページサイズ、及びページの解像度（ｄｐｉ）等が挙げられる。図１８及び図２０において、レイアウトテンプレートの初期状態では、レイアウトテンプレートのテーマである＜Ｔｈｅｍｅ＞タグはブランクとなっている。本実施形態では、基本情報として、ページサイズ（＜ＰａｇｅＳｉｚｅ＞タグ）はＡ４、解像度（＜Ｒｅｓｏｌｕｔｉｏｎ＞タグ）は３００ｄｐｉを設定している。
【００８８】
また、以降は、上述した画像配置枠の情報を＜ＩｍａｇｅＳｌｏｔ＞タグで記述している。＜ＩｍａｇｅＳｌｏｔ＞タグの中には＜ＩＤ＞タグと＜ＰＯＳＩＴＩＯＮ＞タグの２つを保持し、画像配置枠のＩＤと位置を記述してある。位置情報については、図１７及び図１９で図示するように、例えば、左上を原点とするＸ−Ｙ座標系において定義する。
【００８９】
また、＜ＩｍａｇｅＳｌｏｔ＞タグには、その他に、それぞれのスロットに対して、スロットの形状及び配置すべき推奨人物グループ名を設定することができる。
【００９０】
例えば、図１７のレイアウトテンプレートでは、図１８の＜Ｓｈａｐｅ＞タグで、すべてのスロットは矩形形状（「ｒｅｃｔａｎｇｌｅ」）で、人物グループ名は＜ＰｅｒｓｏｎＧｒｏｕｐ＞タグで「ＭａｉｎＧｒｏｕｐ」を配置することを推奨している。
【００９１】
また、図１９のレイアウトテンプレートにおいては、図２０に示すように、中央に配置しているＩＤ＝０のスロットは矩形形状（「ｒｅｃｔａｎｇｌｅ」）であることが記述されている。また、人物グループは「ＳｕｂＧｒｏｕｐ」を配置し、その他のＩＤ＝１、２と続くスロットは楕円形状（「ｅｌｌｉｐｓｅ」）で、人物グループは「ＭａｉｎＧｒｏｕｐ」を配置することを推奨している。
【００９２】
実施形態１においては、このようなレイアウトテンプレートを多数保持するものとした。
【００９３】
上述したように、本実施形態に係るアプリケーションは、入力された画像群に対して解析処理を実行し、人物を自動的にグループ化してＵＩで表示することができる。また、ユーザーはその結果を見て、人物グループ毎に名前や誕生日等の属性情報を入力したり、画像毎にお気に入り度等を設定することができる。
【００９４】
さらにはテーマ毎に分類された多数のレイアウトテンプレートを保持することができる。
【００９５】
以上の条件を満たすと、本実施形態に係るアプリケーションは、ある所定のタイミングで、自動的にユーザーに好まれそうなコラージュレイアウトを生成し、ユーザーに提示する処理を行う（以下、レイアウトの提案処理とする）。
【００９６】
図６はレイアウトの提案処理の基本的なフローチャートを示している。
【００９７】
まず、Ｓ６０１において、提案処理のシナリオを決定する。シナリオには、提案するレイアウトのテーマ、レイアウトテンプレート、レイアウト内で重視する人物（主人公）の設定、並びにレイアウト生成に用いる画像群の選定情報が含まれる。
【００９８】
以下、２つのシナリオ決定について説明する。
【００９９】
例えば、各人物の誕生日の２週間前になった場合、自動的にコラージュレイアウトを生成し提示するように予め設定されているとする。そして、図１５でグループ化されている人物「ｓｏｎ」の１歳の誕生日が２週間後となったとする。この場合には、提案するレイアウトのテーマは成長記録「ｇｒｏｗｔｈ」と決定する。次にテンプレートの選択を行うが、この場合には、成長記録に適した図１９に示すようなレイアウトテンプレートを選択し、図３０に示すように、ＸＭＬの＜Ｔｈｅｍｅ＞タグの部分に「ｇｒｏｗｔｈ」と記述する。次に、レイアウトを行う際に注目する主人公「ＭａｉｎＧｒｏｕｐ」として、「ｓｏｎ」を設定する。また、レイアウトを行う際に副次的に注目する「ＳｕｂＧｒｏｕｐ」として「ｓｏｎ」と「ｆａｔｈｅｒ」を設定する。次に、レイアウトに利用するための画像群を選定する。この例の場合には、データベース部２０２を参照し、人物「ｓｏｎ」の誕生日からこれまでに撮影した画像群のうち、「ｓｏｎ」を含む画像群を抽出してリスト化する。このリスト化によって生成される画像リストは、例えば、データベース部２０２に記憶管理される。以上が、成長記録のレイアウトのためのシナリオ決定である。
【０１００】
異なる例として、１カ月以内に撮影された旅行の写真がある場合、自動的にコラージュレイアウトを生成して提示するように予め設定されているとする。図１４で登録したイベント情報から、例えば、数日前に家族旅行に行き、その時の画像が２次記憶装置１０３に保存されていることがわかると、シナリオ生成部２０４は、家族旅行のレイアウトを提案するためのシナリオを決定する。この場合には、提案するレイアウトのテーマは旅行「ｔｒａｖｅｌ」と決定する。次に、レイアウトテンプレートの選択を行うが、この場合には、旅行に適した図１７に示すようなレイアウトテンプレートを選択し、図３１に示すように、ＸＭＬの＜Ｔｈｅｍｅ＞タグの部分に＠ｔｒａｖｅｌ」と記述する。次に、レイアウトを行う際に注目する主人公「ＭａｉｎＧｒｏｕｐ」として、「ｓｏｎ」、「ｍｏｔｈｅｒ」、「ｆａｔｈｅｒ」を設定する。このように、ＸＭＬの特性を活かせば、「ＭａｉｎＧｒｏｕｐ」として複数の人物を設定することができる。次に、レイアウトに利用するための画像群を選定する。この例の場合には、データベース部２０２を参照し、旅行イベント「ｔｒａｖｅｌ」に紐付けられた画像群を抽出してリスト化する。このリスト化によって生成される画像リストは、例えば、データベース部２０２に記憶管理される。以上が、家族旅行のレイアウトのためのシナリオ決定である。
【０１０１】
次に、図６のＳ６０３において、上述したシナリオに基づくレイアウトの自動生成処理を実行する。ここで、図２１を用いて、シナリオに基づくレイアウトの自動生成処理について説明する。図２１はレイアウト生成処理の詳細な処理フローを示している。
【０１０２】
まず、Ｓ２１０１において、上述したシナリオで決定されたレイアウトテーマ及び人物グループ情報が設定された後のレイアウトテンプレート情報２０２ｃを、データベース部２０２より取得する。
【０１０３】
次に、Ｓ２１０３において、シナリオで決定した画像群リスト２０２ｄに基づいて、各画像毎にその特徴量をデータベース部２０２から取得し、画像群属性情報リストを生成する。ここでいう画像群情報リストとは、図１１に示す＜ＩＭＡＧＥＩＮＦＯ＞タグが画像リスト分だけ並んだ構成となっている。以降では、この画像属性情報リストに基づいて、Ｓ２１０５〜Ｓ２１０９における自動レイアウト生成処理を行う。
【０１０４】
このように、本実施形態の自動レイアウト生成処理では、画像データそのものを直接扱うのではなく、あらかじめ画像毎にセンシング処理を行ってデータベース部２０２に記憶しておいた属性情報を利用する。この理由は、レイアウト生成処理を行う際に、画像データそのものを対象としてしまうと、画像群を記憶するために非常に巨大なメモリ領域を必要としてしまうためである。すなわち、本実施形態のようにデータベース部２０２に記憶しておいた属性情報を利用することにより、メモリ領域の使用量を低減することができる。
【０１０５】
次に、Ｓ２１０５において、入力された画像群の属性情報を用いて、入力された画像群の中から不要画像のフィルタリングを行う。ここで、図２２を用いて、フィルタリング処理について説明する。
【０１０６】
図２２は、フィルタリング処理のフローチャートである。
【０１０７】
各画像毎に、まず、Ｓ１６０１において、全体の平均輝度値（ＡｖeＹ）が所定閾値（ＴｈＹ＿ＬｏｗとＴｈＹ＿Ｈｉｇｈｔ）範囲内に含まれているか否かの判定を行う。含まれていない場合（Ｓ１６０１でＮＯ）、Ｓ１６０６に進み、注目画像はレイアウト対象画像から除去する。
【０１０８】
同様に、Ｓ１６０２〜Ｓ１６０５では、注目画像に含まれる顔領域それぞれについて、平均色差成分（例えば、ＡｖｅＹ、ＡｖｅＣｂ、ＡｖｅＣｒ成分）が、良好な肌色領域を示す所定閾値範囲内に含まれているか否かの判定を行う。具体的には、Ｓ１６０２では、ＩＤ＝Ｎである顔領域のＡｖｅＹが所定閾値（ＴｈｆＹ＿ＬｏｗとＴｈｆＹ＿Ｈｉｇｈｔ）の範囲に含まれているか否かの判定を行う。Ｓ１６０３では、ＩＤ＝Ｎである顔領域のＡｖｅＣｈが所定閾値（ＴｈｆＹ＿ＬｏｗとＴｈｆＹ＿Ｈｉｇｈｔ）の範囲に含まれているか否かの判定を行う。Ｓ１６０４では、ＩＤ＝Ｎである顔領域のＡｖｅＣｒが所定閾値（ＴｈｆＹ＿ＬｏｗとＴｈｆＹ＿Ｈｉｇｈｔ）の範囲に含まれているか否かの判定を行う。Ｓ１６０５では、最後の顔であるか否かを判定する。最後の顔ではない場合は、Ｓ１６０２へ戻り、最後の顔である場合は、処理を終了する。
【０１０９】
そして、Ｓ１６０２〜Ｓ１６０５のすべての判定がＹＥＳとなる画像のみ、以降のレイアウト生成処理に適用される。
【０１１０】
尚、このフィルタリング処理では、以降の一時レイアウト作成処理に明らかに不要と判定できる画像の除去を目的としているため、上記閾値は比較的緩やかに設定することが望ましい。例えば、Ｓ１６０１の画像全体の輝度値の判定において、ＴｈＹ＿ＨｉｇｈとＴｈＹ＿Ｌｏｗの差が画像ダイナミックレンジに比して極端に小さいと、それだけＹＥＳと判定される画像が少なくなってしまう。したがって、本実施形態のフィルタリング処理では、両者の差をできる限り広く設定し、かつ明らかに異常画像と判定されるものは除去できるような閾値を設定する。
【０１１１】
次に、図２１のＳ２１０７において、図２２のフィルタリング処理でレイアウト対象となった画像群を用いて、大量（Ｌ個）の一時レイアウトを生成する。一時レイアウトの生成は、取得したテンプレートの画像配置枠に対して、入力画像を任意に当てはめる処理を繰り返すことで実行する。この時に、以下のパラメータ（画像選択・配置・トリミング基準）をランダムで決定する。
【０１１２】
画像選択としては、例えば、レイアウト中の画像配置枠がＮ個の時、画像群の中からどの画像を選択するかが挙げられ、配置としては、例えば、選択した複数の画像を、どの配置枠に配置するかが挙げられ、トリミング基準としては、配置した際に、どの程度のトリミング処理を行うかというトリミング率が挙げられる。
【０１１３】
尚、トリミング率は、例えば、０〜１００％で表わされ、画像の中心を基準として、図２３のように所定の領域がトリミングされる。同図において、２３０１は画像全体を示し、２３０２はトリミング率５０％でトリミングした際の切り取り枠を示している。
【０１１４】
上記の画像選択・配置・トリミング基準に基づいて、可能な限り数多くの一時レイアウトを生成する。生成した各一時レイアウトは、図３２のＸＭＬのように表わすことができる。各スロットに対して、選択され配置された画像のＩＤが＜ＩｍａｇｅＩＤ＞タグで、トリミング率が＜ＴｒｉｍｉｎｇＲａｔｉｏ＞タグでそれぞれ記述されている。
【０１１５】
尚、ここで生成する一時レイアウトの数Ｌについては、後述するレイアウト評価ステップでの評価処理の処理量と、それを処理する画像処理装置１１５の性能に応じて決定されるが、例えば、数十万通り以上の一時レイアウトを用意することが望ましい。生成したレイアウトは、それぞれＩＤを付加して図３２のＸＭＬ形式で２次記憶装置１０３にファイル保存してもよいし、構造体等の別のデータ構造を用いてＲＡＭ１０２上に記憶してもよい。
【０１１６】
次に、図２１のＳ２１０８において、作成したＬ個の一時レイアウトに対して、それぞれ所定のレイアウト評価量を用いて評価を行う。本実施形態におけるレイアウト評価量の一覧を、図２４に示す。同図に示すように、本実施形態で用いるレイアウト評価量は、主に、３つのカテゴリに分けることができる。
【０１１７】
一つ目の評価カテゴリは、画像個別の評価量である。これは画像の明るさや彩度、ブレぼけ量等の状態を判定し、スコア化するものである。スコア化の一例を以下に示す。まず、明るさの適正度については、図２５に示すように、平均輝度がある所定閾値範囲内においてはスコア値１００とし、所定閾値範囲外になるとスコア値が下がるよう設定している。また、彩度の適正度については、図２６に示すように、画像全体の平均彩度がある所定の彩度値より大きい場合にはスコア値１００とし、所定値より小さい場合にはスコア値を徐々に下げていくよう設定している。
【０１１８】
二つ目の評価カテゴリは、画像とスロットの適合度の評価（画像・スロット適合度評価）である。画像・スロット適合度を判定し、スコア化するものである。画像・スロットの適合度の評価としては、例えば、人物適合度、トリミング欠け判定が挙げられる。人物適合度とは、スロットに指定されている人物と、実際にそのスロットに配置された画像内に存在する人物の適合率を表したものである。例を挙げると、あるスロットが、ＸＭＬで指定されているＰｅｒｓｏｎＧｒｏｕｐで、「ｆａｔｈｅｒ」、「ｓｏｎ」が指定されているものとする。この時、そのスロットに割り当てられた画像にその２人の人物が写っていたとすると、そのスロットの人物適合度はスコア値１００とする。もし片方の人物しか写っていなかったとすると、適合度はスコア値５０とする。両者とも写っていなかった場合は、スコア値０とする。スロット内の適合度は、各スロット毎に算出した適合度の平均値とする。
【０１１９】
また、別の画像・スロット適合度評価量として、トリミング領域２７０２の欠け判定が存在する。例えば、図２７に示すように、画像２７０１中に存在する顔の位置２７０３が判明している場合、欠けた部分の面積に応じて、０から１００までのスコア値を算出する。欠けた面積が０の場合、スコアは１００とし、逆にすべての顔領域が欠けた場合、スコア値は０とする。
【０１２０】
三つ目の評価カテゴリは、レイアウトページ内のバランス（ページ内バランス評価）の評価である。図２４では、バランスを評価するための評価値として、画像類似性、色合いばらつき、顔サイズばらつきを挙げている。
【０１２１】
まず、「画像類似性」について説明する。画像類似性は、大量に生成した一時レイアウト毎に、それぞれの画像の類似性を算出する。例えば、旅行テーマのレイアウトを作成したい場合、あまりに似通った類似度の高い画像ばかりが並んでいたとすると、それは良いレイアウトとは言えないことがある。例えば、類似性は、撮影日時によって評価することができる。撮影日時が近い画像は、同じような場所で撮影された可能性が高いが、撮影日時が離れていれば、その分、場所もシーンも異なる可能性が高いからである。撮影日時は、図１１に示すように、画像の属性情報として、予めデータベース部２０２に保存されている、画像毎の属性情報から取得することができる。
【０１２２】
撮影日時から類似度を算出するには、以下のような計算を行う。例えば、今注目している一時レイアウトに図２８で示すような４つの画像がレイアウトされているものとする。尚、図２８において、画像ＩＤで特定される画像には、それぞれ撮影日時情報が付加されている。具体的には、撮影日時として、年月日及び時間（西暦：ＹＹＹＹ、月：ＭＭ、日：ＤＤ、時：ＨＨ、分：ＭＭ、秒：ＳＳ）が付加されている。このとき、この４つの画像間で、撮影時間間隔が最も短くなる値を算出する。この場合は、画像ＩＤ１０２と画像ＩＤ１０８間の３０分が最も短い間隔である。この間隔をＭｉｎＩｎｔｅｒｖａｌとし、秒単位で格納する。すわなち、３０分＝１８００秒である。このＭｉｎＩｎｔｅｒｖａｌをＬ個の各一時レイアウト毎に算出して配列ｓｔＭｉｎＩｎｔｅｒｖａｌ［ｌ］に格納する。次に、ｓｔＭｉｎＩｎｔｅｒｖａｌ［ｌ］の中で最大値ＭａｘＭｉｎＩｎｔｅｒｖａｌ値を算出する。すると、１番目の一時レイアウトの類似度評価値Ｓｉｍｉｌａｒｉｔｙ［ｌ］は、以下のようにして算出することができる。
【０１２３】
Ｓｉｍｉｌａｒｉｔｙ［ｌ］    ＝  １００×ｓｔＭｉｎＩｎｔｅｒｖａｌ［ｌ］  ／  ＭａｘＭｉｎＩｎｔｅｒｖａｌ
すなわち、Ｓｉｍｉｌａｒｉｔｙ［ｌ］は、最小撮影時間間隔が大きいほど１００に近づき、小さいほど０に近づく値となっているため、画像類似度評価値として有効である。
【０１２４】
次に、レイアウトページ内のバランスを評価するための評価量として、「色合いのばらつき」について説明する。例えば、旅行テーマのレイアウトを作成したい場合、あまりに似通った色（例えば、青空の青、山の緑）の画像ばかりが並んでいたとすると、それは良いレイアウトとは言えないことがある。この場合は、色合いのばらつきが大きくなるように設定する。ここでは注目している１番目の一時レイアウト内に存在する画像の平均色相ＡｖｅＨの分散を算出して、それを色合いのばらつき度ｔｍｐＣｏｌｏｒＶａｒｉａｎｃｅ［ｌ］として格納する。次に、ｔｍｐＣｏｌｏｒＶａｒｉａｎｃｅ［ｌ］の中での最大値ＭａｘＣｏｌｏｒＶａｒｉａｎｃｅ値を算出する。すると、１番目の一時レイアウトの色合いばらつき度の評価値ＣｏｌｏｒＶａｒｉａｎｃｅ［ｌ］は以下のようにして算出することができる。
【０１２５】
ＣｏｌｏｒＶａｒｉａｎｃｅ［ｌ］  ＝  １００  ×  ｔｍｐＣｏｌｏｒＶａｒｉａｎｃｅ［ｌ］  ／  ＭａｘＣｏｌｏｒＶａｒｉａｎｃｅ
すなわち、ＣｏｌｏｒＶａｒｉａｎｃｅ［ｌ］は、ページ内に配置された画像の平均色相のばらつきが大きいほど１００に近づき、小さいほど０に近づく値となっているため、色合いのばらつき度評価値として有効である。
【０１２６】
次に、レイアウトページ内のバランスを評価するための評価量として、「顔サイズばらつき」について説明する。例えば、旅行テーマのレイアウトを作成したい場合、レイアウト結果を見て、あまりに似通った顔のサイズの画像ばかりが並んでいたとすると、それは良いレイアウトとは言えないことがある。レイアウト後の紙面上における顔の大きさが、小さいものもあれば大きいものもあり、それらがバランスよく配置されていることが、良いレイアウトとする場合、顔サイズばらつきが大きくなるように設定する。その場合、注目している１番目の一時レイアウト内に配置された後の顔の大きさ（顔位置の左上から右下までの対角線の距離）の分散値を、ｔｍｐＦａｃｅＶａｒｉａｎｃｅ［ｌ］として格納する。次に、ｔｍｐＦａｃｅＶａｒｉａｎｃｅ［ｌ］の中での最大値ＭａｘＦａｃｅＶａｒｉａｎｃｅ値を算出する。すると、１番目の一時レイアウトの顔サイズばらつき度の評価値ＦａｃｅＶａｒｉａｎｃｅ［ｌ］は、以下のようにして算出することができる。
【０１２７】
ＦａｃｅＶａｒｉａｎｃｅ［ｌ］  ＝  １００  ×  ｔｍｐＦａｃｅＶａｒｉａｎｃｅ［ｌ］  ／  ＭａｘＦａｃｅＶａｒｉａｎｃｅ
すなわち、ＦａｃｅＶａｒｉａｎｃｅ［ｌ］は、紙面上に配置された顔サイズのばらつきが大きいほど１００に近づき、小さいほど０に近づく値となっているため、顔サイズのばらつき度評価値として有効である。
【０１２８】
また、その他カテゴリとして、ユーザーの嗜好性評価が考えられる。
【０１２９】
以上説明したような、各一時レイアウト毎に算出した複数の評価値を統合化して、各一時レイアウト毎のレイアウト評価値とする。今、１番目の一時レイアウトの統合評価値を、ＥｖａｌＬａｙｏｕｔ［ｌ］とし、上記で算出したＮ個の評価値（図２４の評価値それぞれを含む）の値を、ＥｖａｌＶａｌｕｅ［ｎ］とする。この時、統合評価値は、以下の式で算出することができる。
【０１３０】
【数２】
2014016826.tif 000004
【０１３１】
上式において、Ｗ［ｎ］は、図２４で示したシーン毎の各評価値の重みである。この重みは、レイアウトのテーマ毎に異なる重みを設定していることが特徴となっている。例えば、図２４に示すようにテーマを成長記録「ｇｒｏｗｔｈ」と旅行「ｔｒａｖｅｌ」で比較した場合、旅行「ｔｒａｖｅｌ」の方は、できるだけ良質の写真をいろいろな場面で数多くレイアウトすることが望ましいとし、画像の個別評価値やページ内のバランス評価値を重視する傾向に設定する。一方、成長記録「ｇｒｏｗｔｈ」の方は、画像のバリエーションよりは、成長記録の対象となる主人公が確実にスロットに適合しているか否かが重要であるとし、ページ内バランスや画像個別評価よりも、画像・スロット適合度評価を重視する傾向に設定する。
【０１３２】
このようにして算出したＥｖａｌＬａｙｏｕｔ［ｌ］を用いて、Ｓ２１０９において、レイアウト結果表示のためのレイアウトリストＬａｙｏｕｔＬｉｓｔ［ｋ］を生成する。レイアウトリストは、予め定められた個数（例えば、５個）に対して、ＥｖａｌＬａｙｏｕｔ［ｌ］のうち、評価値が高いもの順に識別子１を記憶しておく。例えば、最も良いスコアを出したものが、ｌ＝５０番目に作成した一時レイアウトであった場合、ＬａｙｏｕｔＬｉｓｔ［０］＝５０となる。同様に、ＬａｙｏｕｔＬｉｓｔ［１］以降は、スコア値が２番目以降の識別子１を記憶しておく。
【０１３３】
次に、図２１を用いて説明したレイアウト生成処理によって得られたレイアウト結果を、図６のＳ６０５において、レンダリングしてその結果を表示する。本実施形態では、レンダリングした結果を図２９のＵＩ２９０１上に表示する。Ｓ６０５においては、まず、ＬａｙｏｕｔＬｉｓｔ［０］に格納されているレイアウト識別子を読み出し、そのレイアウト識別子に相当する一時レイアウト結果を、２次記憶装置１０３あるいはＲＡＭ１０２上から読み出す。レイアウト結果には、上述したようにテンプレート情報と該テンプレート内に存在するスロット毎に、割り当てられた画像名が設定されている。Ｓ６０５では、これらの情報に基づいて、画像処理装置１１５上で動作するＯＳの描画関数を用いて、該レイアウト結果をレンダリングし、図２９のレイアウト結果２９０２のように表示することになる。
【０１３４】
Ｎｅｘｔボタン２９０４を押下することにより、次点スコアであるＬａｙｏｕｔＬｉｓｔ［１］の識別子を読み出し、上記と同様にレンダリング後、表示を行うことで、ユーザーは様々なバリエーションの提案レイアウトを閲覧することができる。また、Ｐｒｅｖｉｏｕｓボタン２９０３を押下することにより、前に表示したレイアウトを再表示することもできる。さらに、表示されたレイアウトが気に入った場合には、プリントボタン２９０５を押下することで、画像処理装置１１５に接続されたプリンタ１１２からレイアウト結果２９０２をプリントアウトすることもできる。
【０１３５】
ここで、本実施形態に係る個人認識時に使用する顔辞書作成の処理に関して詳細に説明する。本実施形態では、検出した顔画像のぼけ具合を算出し、算出した量に基づいて、顔画像の状態を判定する。
【０１３６】
図３３は実施形態１の個人認識用の顔辞書作成装置の構成の一例を示すブロック図である。尚、顔辞書作成装置は、各構成要素がハードウェアによって実現されても良いし、図１の画像処理装置１１５のＣＰＵ１００の制御によって実現されるソフトウェアで実現されても良いし、ハードウェアとソフトウェアを組み合わせて実現されても良い。
【０１３７】
３３０１は、画像入力部である。画像入力部３３０１は、入力された画像データをＲＡＭ１０２上に展開する。
【０１３８】
３３０２は、顔検出部である。顔検出部３３０２は、画像入力部３３０１で処理されたＲＡＭ１０２上の画像データに対して、顔検出を行う。顔検出処理は、バックグランドセンシングとデータベース登録で説明した通りである。
【０１３９】
３３０３は、顔特徴量抽出部である。顔特徴量抽出部３３０３には、画像入力部３３０１で入力された画像データと、顔検出部３３０２で検出された顔検出位置が入力される。
【０１４０】
本実施形態では、顔特徴量として、各器官に対する周波数応答をベクトル化した顔特徴量ベクトルを用いたが、他の特徴量を用いてもよい。
【０１４１】
３３０４は、顔辞書読込部である。顔辞書読込部３３０４では、２次記憶装置１０３の指定場所に顔辞書データが存在するか否かを探索する。予め作成された顔辞書が存在する場合は読み込む。予め作成された顔辞書が存在しない場合は、顔辞書読込処理は行わない。顔辞書には顔特徴量ベクトルが登録されている。本実施形態では、顔辞書の保存場所は２次記憶装置１０３の指定場所としたが、他の場所であってもよい。また、顔辞書読込部３３０５では、データ読込時に辞書データを解析して、登録されている顔特徴量ベクトル数を設定する。
【０１４２】
ここで、顔辞書の構成に関して詳細に説明する。図３４は、顔辞書の内部を示す図である。３４０１はＩＤであり、人物の識別子を示している。ＩＤの数は特に限定されず、人物数やその他の設定に応じて変化する。３４０２はカテゴリ（分類）であり、手動で又は自動で設定される基準に応じてカテゴライズして管理される。本実施形態では、例えば、人物毎に年齢に応じて特徴量をカテゴライズして管理している。カテゴリは、ＩＤによって個数が異なってもよい。３４０３は顔特徴量ベクトル群であり、顔特徴量抽出部３３０４で抽出された顔特徴量ベクトルが管理されている。図３４では、顔特徴量ベクトル群３４０４は、カテゴリ毎に管理されている。
【０１４３】
図３３の３３０５は、類似判定部である。顔特徴量抽出部３３０３で抽出された顔特徴量と、顔辞書読込部３３０４で読み込まれた顔辞書データが入力される。ここでは、顔特徴量抽出部３３０３で抽出された顔特徴量ベクトルと、顔辞書内に登録されている顔特徴量ベクトルの距離を類似度として比較（照合処理）することにより、類似判定を行う。類似判定は、図３４の各ＩＤの各カテゴリ総当たりで行う。顔特徴量抽出部３３０３で抽出された顔特徴量ベクトルと、顔辞書データに登録されている顔特徴量ベクトル間の距離が最短のものを類似度の結果として出力する。具体的には、抽出された顔特徴量ベクトルと距離が最端となった顔辞書のＩＤと距離を出力する。類似度として算出した距離が所定閾値以下（換言すれば、顔得量ベクトルと他の顔特徴量ベクトルとの類似度が所定の類似度範囲内）である場合、同一人物と判定する。同一人物と判定された場合は、同一人物と判定された人物と同じＩＤを返す。算出した距離が所定閾値より大きい場合、別人と判定する。別人と判定された場合は、未使用の新規ＩＤを割り当てる。尚、類似判定は、この方法に限定されず、他の類似判定方法により判定してもよい。
【０１４４】
３３０６は、顔状態判定部である。顔状態判定部３３０６には、画像入力部３３０１で入力された画像データと、顔検出部３３０２で検出された検出顔画像データが入力され、検出された検出顔画像データの顔画像のぼけ具合の状態（状態を示す尺度）を判定する。
【０１４５】
３３０７は、人物グループ表示部である。顔状態判定部３３０６での判定結果がＯＫの場合（状態を示す尺度が閾値以上である場合）のみ、人物グループ表示部３３０７は、人物グループを表示する。つまり、顔状態判定部３３０６での判定結果がＯＫでない場合（状態を示す尺度が閾値未満である場合）、つまり、顔画像の状態が悪いもの対しては、人物グループ表示部３３０７は、人物グループを表示しない。
【０１４６】
３３０８は、顔辞書登録部である。顔特徴量抽出部３３０３で抽出された顔特徴量と、類似判定部３３０５で判定された結果の識別子（ＩＤ）が入力されると、所定のＩＤと抽出された顔特徴量が対応付けられて顔辞書に登録される。
【０１４７】
ここで、顔辞書作成装置の動作手順に関して説明する。図３５は実施形態１の顔辞書作成装置の処理に関するフローチャートである。
【０１４８】
まず、Ｓ３５０１において、画像入力部３３０１により、画像を入力し、ＲＡＭ１０２に展開する。
【０１４９】
次に、Ｓ３５０２において、顔検出部３３０２により、画像入力部３３０１で処理されたＲＡＭ１０２上の画像データに対して、顔検出を行う。この際、検出した検出顔画像データに対しては、仮の識別子（ＩＤ）が設定される。
【０１５０】
Ｓ３５０３において、上述のＳ５０４と同様に正規化顔画像を生成する。正規化顔画像の生成については、Ｓ５０４と同様であるので説明を省略する。
【０１５１】
Ｓ３５０４において、顔特徴量抽出部３３０３により、顔検出部３３０２で得られた顔検出位置に基づき、正規化顔画像の顔特徴量を抽出する。
【０１５２】
Ｓ３５０５において、類似度判定を行う。まず、顔辞書読込部３３０４により、２次記憶装置１０３の指定場所から顔辞書データを読み込む。そして、類似判定部３３０５により、顔特徴量抽出部３３０３で抽出された顔特徴量ベクトルと、顔辞書２０２ａ内に登録されている顔特徴量ベクトルの距離を比較（照合）することにより、類似度を算出し、算出した類似度に応じて類似判定を行う。
【０１５３】
次に、類似判定結果に応じて、仮の識別子（ＩＤ）の設定を変更する。Ｓ３５０５の類似度判定において類似度が所定の範囲外であったと判定された場合、言い換えれば、別人と判定された場合は、Ｓ３５０６において、仮のＩＤに代えて未使用の新規ＩＤを割り当てて設定する。一方、Ｓ３５０５の類似度判定において類似度が所定の範囲内であったと判定された場合、言い換えれば、同一人物と判定された場合は、Ｓ３５１０において、同一人物と判定された人物と同じ既存ＩＤを返して、仮のＩＤを正規のＩＤとして確定する。
【０１５４】
Ｓ３５０７ａでは、新規ＩＤを設定した画像の顔の状態を判定する。
【０１５５】
顔の状態が良好である場合は、Ｓ３５０８ａへ進みＵＩ表示を行う。例えば、図７のように７０４の人物グループＵＩ上に表示させる。すなわち、新規ＩＤを設定した画像を人物グループ毎に分類して管理し、ＵＩ上に表示させる。尚、ここではＵＩ表示するようにしたが、新規ＩＤを設定した画像を人物グループで管理するようにして、ＵＩ表示しなくてもよい。
【０１５６】
一方、顔の状態が良好ではない場合、すなわち、顔の状態が悪いものは、Ｓ３５１３へスキップする。すなわち、状態が悪い顔画像は、顔辞書登録部３３０７の登録対象から除外する。
【０１５７】
Ｓ３５０８ｂでは、既存ＩＤを設定した画像をＵＩ表示する。例えば、図７のように７０４の人物グループＵＩ上に表示させる。すなわち、既存ＩＤを設定した画像を人物グループ毎に分類して管理し、ＵＩ上に表示させる。尚、ここではＵＩ表示するようにしたが、新規ＩＤを設定した画像を人物グループで管理するようにして、ＵＩ表示しなくてもよい。
【０１５８】
Ｓ３５０７ｂでは、既存ＩＤを設定した画像の顔の状態を判定する。顔の状態が良好である場合は、Ｓ３５０９へ進み、顔辞書登録を行う。一方、顔の状態が良好ではない場合、すなわち、顔の状態が悪いものは、Ｓ３５１３へスキップする。すなわち、状態が悪い顔画像は、顔辞書登録部３３０７の登録対象から除外する。
【０１５９】
Ｓ３５０９では、顔辞書登録部３３０８により、設定した識別子と対応するカテゴリから登録するカテゴリを特定する。特定したカテゴリに、処理対象の顔特徴量ベクトルを顔辞書に登録する。
【０１６０】
次に、Ｓ３５１２において、検出された全ての顔検出結果に対してＳ３５０２〜Ｓ３５０９の一連の処理を行っているか否かを判定する。全ての検出結果に対して一連の処理を行っている場合は次の処理に進む。一方、行っていない場合は、Ｓ３５０３まで戻り、未処理の顔検出結果に対してＳ３５０２〜Ｓ３５０９の一連の処理を実行する。
【０１６１】
次に、Ｓ３５１３において、設定された全ての画像に対してＳ３５０２〜Ｓ３５１２の一連の処理を行っているか否かを判定する。全ての画像に対して一連の処理を行っている場合は処理を終了する。一方、行っていない場合は、Ｓ３５０２まで戻り、未処理の画像に対してＳ３５０２〜Ｓ３５１２の一連の処理を実行する。
【０１６２】
上述した処理を行うことにより、顔辞書に登録される特徴量の数と、ＵＩ上に表示されるグループの画像の数には、差が生じることがある。すなわち、図３４の顔辞書の内部構成と、図７のＵＩ表示例を比較すると、差が生じることがある。これは、顔状態判定部３３０３による判定の結果、状態が悪いと判定された顔画像は顔辞書には登録されないが、顔検出時にＩＤが割り当てられるため、７０４の人物グループＵＩ上には表示されることがあるためである。このように、顔検出に不向きである顔状態の悪い画像を顔辞書に登録しないことにより、個人認識の精度を向上させることができる。一方、ＵＩ上には、読み込んだ画像の全てを表示すればよいため、顔検出には不向きである顔状態の悪い画像も表示させる。
【０１６３】
尚、本実施形態では、Ｓ３５０７ａの顔状態判定において状態が良好と判定されたもののみをＳ３５０８ａでＵＩ表示するようにした。その後に行う次の画像の類似度判定において、顔特徴量を正しくグルーピングするためである。仮に、類似度を算出してＵＩ表示した後に顔状態判定すると、顔状態が悪くて辞書に登録しなかった場合は、辞書に登録される特徴量が空白の状態となる。すなわち、ＵＩ表示がされても、辞書の該当ＩＤに特徴量が存在しない状態となる。したがって、同一人物の類似画像が来た場合、辞書の該当ＩＤに特徴量が存在しないので、特徴量比較ができず、新規に別のＩＤを割り当ててＵＩ表示してしまう。
【０１６４】
ここで、図３６を用いて顔状態の判定処理のフローについて説明する。図３６はＳ３５０３の詳細を示すフローチャートである。
【０１６５】
顔状態判定部３３０３では、顔検出部３３０２により検出された顔画像データに対し、その顔状態を判定する。初めに、Ｓ３６０１において、例えば、５×５画素サイズのフィルタ処理を行い、ぼかし画像を生成する。Ｓ３６０２において、生成したぼかし画像と、該フィルタ処理前の元画像とをそれぞれブロック毎に信号値の差分を累積する。具体的には、ＲＧＢ成分のそれぞれの差分を算出する。Ｓ３６０３において、算出した差分の累積結果を予め定めた閾値と比較する。差分累積結果（状態を示す尺度）が閾値以上である場合は、顔画像の状態は良好と判定し、Ｓ３５０４を経て、顔特徴量抽出部３３０４によるＳ３３０５に進む。差分累積結果（状態を示す尺度）が、閾値未満である場合は、顔画像の状態は悪いと判定し、次の未処理の顔検出結果に対して上述した一連の処理を行う。
【０１６６】
尚、本実施形態では、判定のために算出するパラメータとしてＲＧＢ成分のそれぞれを用いたが、これに限定されず、輝度成分を算出しても良い。あるいは、人間の視覚感度の高いＧ成分のみで行っても構わない。また、ぼかし画像を生成するためのフィルタのサイズは５×５画素に限定されるものではない。更に、解析する単位はブロック毎ではなく、画素毎に行っても構わない。また、顔の状態を判定する方法は、上述したものに限定されず、他の方法であってもよい。
【０１６７】
以上説明したように、本実施形態では、検出した顔画像の状態が悪い場合、顔辞書登録の処理対象から除外され、状態が良好な顔画像のみ、顔辞書に登録する。その結果、顔辞書には状態の良好な顔画像のみが登録されることになり、高精度な顔辞書を作成することが可能となる。これによって、顔画像の認識精度を向上させることができる。また、新規に認識する顔画像の認識精度の低下を防止することができる。
【０１６８】
尚、実施形態１では、検出した顔画像の状態が悪い場合、顔辞書登録の処理対象から除外したが、類似する顔画像のグループの１つとして管理することは何等支障はないため、人物グループには振り分ける。
【０１６９】
上述したように、本実施形態では、辞書登録の精度を向上しつつ、人物グループを適切な状態とすることができる。
【０１７０】
また、本実施形態では、顔画像の状態の判定において、ぶれやボケの度合いを解析して判定処理を行った。すなわち、顔画像のエッジを確認することにより、顔画像の状態の判定を行った。これにより、辞書登録の精度を向上させることができる。
【０１７１】
（実施形態２）
本実施形態は、画像データのサイズの変更以外は、実施形態１と同様であるので、実施形態１と同様の部分については説明を省略する。
【０１７２】
本実施形態では、類似判定部３３０５による顔の状態判定は、少なくとも検出顔画像データの画像サイズよりも大きいサイズになるように解像度を変倍した画像データを用いて判定する。
【０１７３】
本実施形態では、図３５のＳ３５０２において、顔検出部３３０２では、まず、入力された画像データのサイズを、顔検出が可能な最小サイズにリサイズする。例えば、３２０×２４０ピクセル解像度のＱＶＧＡ（Ｑｕａｒｔｅｒ  Ｖｉｄｅｏ  Ｇｒａｐｈｉｃｓ  Ａｒｒａｙ）サイズにリサイズする。すなわち、低解像度で顔検出を行う。これにより、顔検出を高速で実行することができる。レイアウト生成の際に、数千枚〜数万枚以上の多くの画像データをハンドリングする場合には、センシング速度を落とさずに実行するのに特に有効である。
【０１７４】
一方、顔状態判定処理では、その入力した画像データに対して変倍を行い、変倍後の画像データに対して処理を行う。このとき、少なくとも検出顔画像データの画像サイズよりも大きいサイズとなるように解像度を変倍する。これにより、顔状態判定をより高精度で行うことができる。
【０１７５】
図３７は、本実施形態に係るＳ３５０３の詳細を示すフローチャートである。初めに、Ｓ３７０１において、検出顔画像データと、その検出顔画像データのサイズを示す検出顔画像サイズデータを読み込み、検出顔画像のサイズよりも大きい高解像度の画像サイズを設定する。次に、Ｓ３７０２において、その検出顔画像データを、例えば、６４０×４８０ピクセル解像度のＶＧＡ（Ｖｉｄｅｏ  Ｇｒａｐｈｉｃｓ  Ａｒｒａｙ）サイズにリサイズする。そのリサイズした画像データに対して、顔状態の判定を行う。ここで、顔状態判定部３３０６の詳細に関しては、実施形態１と同様であるため、説明は省略する。
【０１７６】
以上説明したように、本実施形態では、顔検出については入力した画像データよりも低解像度の画像データを用い、顔状態判定にはその画像データよりも高解像度の画像データを用いる。これにより、実施形態１で説明した効果に加えて、処理の高速化と、顔状態判定の精度を向上させることができる。
【０１７７】
（実施形態３）
本実施形態は、顔状態の判定以外は、実施形態１と同様であるので、実施形態１と同様の部分については説明を省略する。
【０１７８】
本実施形態では、例えば、顔領域に高速フーリエ変換処理（ＦＦＴ）をすることにより、所定周波数成分より高い高周波成分の値を算出し、その算出した値を顔状態の判定に用いる。このとき、適正な基準となる顔（基準顔）をＦＦＴ処理した場合の高周波成分の値を予め基準値として保持する。そして、その算出値（状態を示す尺度）が基準値に対する割合が所定値（Ｎ％）未満（あるいは基準値未満）である場合は、顔領域はぼけている（状態が悪い）と判定する。状態が悪いと判定された場合は、Ｓ３５０３において、処理対象の画像データについては、以降の処理対象から除外して、未処理の顔検出結果に対して一連の処理を実行する。
【０１７９】
ここで、図３８を用いて、顔状態の判定に用いる周波数成分について説明する。図３８（ａ）は、顔画像領域の空間周波数画像を示している。図３８（ｂ）は、空間周波数特性結果を示している。境界の周波数ｆ０を設定し、ｆ０未満を低周波成分とし、顔画像領域における低周波成分の割合をＳａとする。また、ｆ０以上を高周波成分とし、顔画像領域における高周波成分の割合をＳｂとする。適正な基準顔の低周波成分の割合、高周波成分の割合をそれぞれＳｄａ、Ｓｄｂとする。尚、高周波成分であると判定する周波数ｆ０は、適宜設定すればよい。
【０１８０】
Ｎ＝Ｓｄｂ／Ｓｄａ
Ｓｂ／Ｓａで示される算出値が、基準値のＮ％未満（所定割合未満）である場合は、顔領域はぼけている（状態が悪い）と判定する。一方、Ｓｂ／Ｓａで示される算出値が、基準値のＮ％以上である場合は、顔領域はぼけていない（状態が良好）と判定する。
【０１８１】
以上説明したように、実施形態３によれば、検出顔画像データの高周波成分の値に基づいて、顔状態の判定を行うことができる。周波数成分に基づく顔状態の判定は、目、口、鼻等の器官やまゆげなどの顔の部位の特徴量を抽出するに適したものであり、確実に顔の部位の特徴量を抽出することができる。輝度値を利用して顔状態の判定を行った場合は、器官の特徴量を適切に抽出することができず、顔状態の判定の精度を低下させてしまう。これに対し、本実施形態では、周波数成分に基づいて特徴量を抽出しているので、顔状態の判定の精度が非常に高いものとすることができる。
【０１８２】
（実施形態４）
本実施形態は、個人認識用の顔辞書作成装置の構成及び顔辞書作成装置の動作手順以外は、実施形態１と同様であるので、実施形態１と同様の部分については説明を省略する。
【０１８３】
図３９は本実施形態の個人認識用の顔辞書作成装置の構成の一例を示すブロック図である。尚、顔辞書作成装置は、各構成要素がハードウェアによって実現されても良いし、図１の画像処理装置１１５のＣＰＵ１００の制御によって実現されるソフトウェアで実現されても良いし、ハードウェアとソフトウェアを組み合わせて実現されても良い。
【０１８４】
３９０１は、画像入力部である。画像入力部３９０１は、実施形態１の画像入力部３３０１と同様であるので説明を省略する。
【０１８５】
３９０２は、顔検出部である。顔検出部３９０２は、実施形態１の画像入力部３３０２と同様であるので説明を省略する。
【０１８６】
３９０３は、顔状態判定部である。顔状態判定部３９０３には、画像入力部３９０１で入力された画像データと、顔検出部３９０２で検出された検出顔画像データが入力され、検出された検出顔画像データの顔画像のぼけ具合の状態（状態を示す尺度）を判定する。
【０１８７】
３９０４は、顔特徴量抽出部である。顔特徴量抽出部３９０４には、画像入力部３９０１で入力された画像データと、顔検出部３９０２で検出された顔検出位置が入力される。また、顔状態判定部３９０３の判定結果が入力され、判定結果がＯＫの場合（状態を示す尺度が閾値以上である場合）のみ、顔特徴量抽出部３９０４は、顔検出部３９０２で入力画像に対して得られた顔検出位置に基づき、顔領域内の顔特徴量を抽出する。つまり、顔状態判定部３９０３の判定結果がＯＫでない場合（状態を示す尺度が閾値未満である場合）、すなわち、顔画像の状態が悪いもの対しては、顔特徴量抽出部３９０４は、顔領域内の顔特徴量を抽出しない。つまり、その顔領域を含む顔画像を、顔特徴量抽出部３９０４の抽出対象から除外する。換言すれば、顔特徴量抽出部３９０４以降の後段の処理（類似判定、顔辞書登録等）の実行を禁止する。これにより、状態が悪い顔画像は、顔辞書登録部３９０７の登録対象から除外されることになる。本実施形態では、顔特徴量として、各器官に対する周波数応答をベクトル化した顔特徴量ベクトルを用いるが、他の特徴量を用いてもよい。
【０１８８】
３９０５は、顔辞書読込部である。顔辞書読込部３９０５は、実施形態１の画像入力部３３０５と同様であるので説明を省略する。
【０１８９】
３９０６は、類似判定部である。類似判定部３９０６は、実施形態１の類似判定部３３０５と同様であるので説明を省略する。
【０１９０】
３９０７は、顔辞書登録部である。顔辞書登録部３９０７は、実施形態１の顔辞書登録部３３０８と同様であるので説明を省略する。
【０１９１】
以上説明したように、本実施形態では、検出した顔画像の状態が悪い場合、後段の顔特徴量の抽出や類似判定、顔辞書登録の処理対象から除外され、状態が良好な顔画像のみ、顔辞書に登録する。その結果、顔辞書には状態の良好な顔画像のみが登録されることになり、高精度な顔辞書を作成することが可能となる。これによって、顔画像の認識精度を向上させることができる。また、新規に認識する顔画像の認識精度の低下を防止することができる。
【０１９２】
尚、本実施形態では、検出した顔画像の状態が悪い場合、顔辞書登録の処理対象から除外したが、類似する顔画像のグループの１つとして管理することは何等支障はないため、人物グループには振り分ける。
【０１９３】
上述したように、本実施形態では、辞書登録の精度を向上しつつ、人物グループを適切な状態とすることができる。
【０１９４】
また、本実施形態では、顔画像の状態の判定において、ぶれやボケの度合いを解析して判定処理を行った。すなわち、顔画像のエッジを確認することにより、顔画像の状態の判定を行った。これにより、辞書登録の精度を向上させることができる。
【０１９５】
（他の実施形態）
以上、本発明の各実施形態を説明したが、本発明の基本的構成は上述したものに限定されるものではない。
【０１９６】
以上説明した実施形態は、本発明の効果を得るための一実施形態であり、類似の別手法を用いたり、異なるパラメータを用いたとしても、本発明と同等の効果が得られる場合は、本発明の範疇に含まれる。
【０１９７】
上述した実施形態では、顔検出処理では、処理負荷の軽減が求められるため、顔の検出が可能である限り、バイリニア法等の既存の方法を用いることができる。
【０１９８】
また、顔状態判定処理のための変倍方法は、バイキュービック方とすることにより、バイリニア方よりも高精度とすることができる。顔状態判定処理のための変倍方法は、特に限定されず、他の方法を用いてもよい。
【０１９９】
実施形態２では、顔状態判定部３３０６において、検出顔画像データに変倍を行ったが、変倍処理対象の画像はこれに限定されず、検出顔画像データの正規化画像に対して変倍してもよい。
【０２００】
上述した実施形態では、レイアウト出力物として、１ページに複数の画像を配置した出力物について説明したが、勿論、複数ページの出力にも適用することができる。
【０２０１】
また、上述した実施形態では、辞書登録していない画像データも人物グループ生成処理ではグループに振り分けることとしたが、振り分けないようにしてもよい。
【０２０２】
また、上述した実施形態では、オブジェクトとして人物の顔を例に挙げて説明したが、オブジェクトは人物の顔とは限らない。犬や猫などのペットの認識処理を行ってこれらを認識することにより、オブジェクトとしてペットの顔を設定することができる。また、エッジ検出などの形を認識処理によれば、建物や小物なども認識できるため、オブジェクトとして、建物や小物などを設定することができる。これらの場合、オブジェクトの特徴量を抽出して、辞書登録すれば、上述した実施形態と同様の方法により、画像処理を行うことができる。
【０２０３】
尚、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。また、プログラムは、１つのコンピュータで実行させても、複数のコンピュータを連動させて実行させるようにしてもよい。また、上記した処理の全てをソフトウェアで実現する必要はなく、一部または全部をハードウェアによって実現するようにしてもよい。
【図１】
2014016826.tif 000005
【図２】
2014016826.tif 000006
【図３】
2014016826.tif 000007
【図４】
2014016826.tif 000008
【図５】
2014016826.tif 000009
【図６】
2014016826.tif 000010
【図７】
2014016826.tif 000011
【図８】
2014016826.tif 000012
【図９】
2014016826.tif 000013
【図１０】
2014016826.tif 000014
【図１１】
2014016826.tif 000015
【図１２】
2014016826.tif 000016
【図１３】
2014016826.tif 000017
【図１４】
2014016826.tif 000018
【図１５】
2014016826.tif 000019
【図１６】
2014016826.tif 000020
【図１７】
2014016826.tif 000021
【図１８】
2014016826.tif 000022
【図１９】
2014016826.tif 000023
【図２０】
2014016826.tif 000024
【図２１】
2014016826.tif 000025
【図２２】
2014016826.tif 000026
【図２３】
2014016826.tif 000027
【図２４】
2014016826.tif 000028
【図２５】
2014016826.tif 000029
【図２６】
2014016826.tif 000030
【図２７】
2014016826.tif 000031
【図２８】
2014016826.tif 000032
【図２９】
2014016826.tif 000033
【図３０】
2014016826.tif 000034
【図３１】
2014016826.tif 000035
【図３２】
2014016826.tif 000036
【図３３】
2014016826.tif 000037
【図３４】
2014016826.tif 000038
【図３５】
2014016826.tif 000039
【図３６】
2014016826.tif 000040
【図３７】
2014016826.tif 000041
【図３８】
2014016826.tif 000042
【図３９】
2014016826.tif 000043