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