(57)【要約】【課題】ＡＡＭによる顔画像のモデル化の精度を向上し、重なり合った顔画像であっても顔輪郭の特定精度を向上する。【解決手段】対象画像ＴＩに含まれる顔画像の輪郭を特定するにあたり、顔領域検出部Ｍ１が対象画像ＴＩから顔領域ＦＡを検出し、各顔領域ＦＡの検出された座標に基づいて重複範囲を設定する。そして、検出順位設定部Ｍ２は、顔領域ＦＡの信頼度や顔領域ＦＡのサイズや顔領域ＦＡにおける器官検出の有無などに基づいて検出順位情報ＲＩを作成する。顔特徴位置特定部Ｍ３は、検出順位情報ＲＩに基づいて特徴点ＣＰの位置を特定すべき顔領域ＦＡを選択し、この顔領域ＦＡよりも順位が上位の顔領域ＦＡとの重複範囲については考慮しつつ、順位が下位の顔領域ＦＡとの重複範囲については考慮せずに、特徴点ＣＰの位置を特定することにより顔画像の輪郭を特定する。【選択図】図２１
2011048469.tif 000002
【特許請求の範囲】
【請求項１】
対象画像に含まれる顔画像の輪郭を特定する画像処理装置であって、
上記対象画像から第１の顔画像と第２の顔画像を検出する顔検出部と、
上記第１の顔画像と上記第２の顔画像との重複範囲を検出する重複検出部と、
上記重複範囲を考慮して上記第１の顔画像と上記第２の顔画像の輪郭を特定する顔輪郭特定部と、を具備することを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
上記顔輪郭特定部は、他方の顔画像を遮蔽している顔画像については前記重複範囲を考慮せずに上記輪郭を特定し、他方の顔画像によって遮蔽されている顔画像については上記重複範囲を考慮しつつ上記輪郭を特定する、画像処理装置。
【請求項３】
請求項１または請求項２に記載の画像処理装置であって、
上記顔検出部が検出した顔画像の検出結果に基づき、上記顔画像が真に顔の画像であることの確からしさを示す顔信頼度を算出する顔信頼度算出部と、
上記顔検出部の検出した顔画像のサイズと上記顔信頼度とに基づいて上記第１の顔画像と上記第２の顔画像の優先順位を設定する順位設定部と、を更に備え、
上記顔輪郭特定部は、上記重複範囲と上記優先順位とを考慮して上記第１の顔画像と上記第２の顔画像の輪郭を特定する、画像処理装置。
【請求項４】
請求項３に記載の画像処理装置であって、
上記顔検出部によって検出された顔画像における顔の主要器官を検出する器官検出部と、
上記器官検出部が前記顔の主要器官として両目を検出したか否かに基づいて上記第１の顔画像と上記第２の顔画像の優先順位を設定する順位設定部と、を更に備えた、画像処理装置。
【請求項５】
請求項３または請求項４に記載の画像処理装置であって、
上記顔輪郭特定部の特定した輪郭に基づいて該輪郭が真に顔の輪郭であることの確からしさを示す顔輪郭信頼度を算出する顔輪郭信頼度算出部を更に備え、
上記順位設定部は、上記顔画像のサイズと上記顔信頼度とに基づいて上記第１の顔画像と上記第２の顔画像の優先順位を設定し、
上記顔輪郭信頼度算出部は、上記重複範囲と上記優先順位を考慮せずに上記顔輪郭特定部が特定した上記第１の顔画像と上記第２の顔画像の輪郭に基づいて、上記第１の顔画像と上記第２の顔画像の輪郭が真に顔の画像の輪郭であることの確からしさを示す顔輪郭信頼度を算出し、
上記顔輪郭特定部は、上記顔輪郭信頼度が所定の閾値以下の顔画像について、上記重複範囲と前記優先順位とを考慮して上記輪郭を特定する、画像処理装置。
【請求項６】
請求項１〜請求項５の何れか１項に記載の画像処理装置であって、
上記顔検出部は、上記対象画像から、第１の顔画像に対応する画像領域である第１の顔領域と、第２の顔画像に対応する画像領域である第２の顔領域とを検出し、
上記画像処理装置は、
検出された上記第１の顔領域および上記第２の顔領域における顔の器官に対応する画像領域である器官領域の検出を行う器官領域検出部と、
上記顔検出部が検出した顔画像の検出結果と、上記器官領域検出部の検出した器官領域の検出結果と、に基づいて上記第１と第２の顔領域が真に顔の画像に対応する画像領域であることの確からしさを表す顔領域信頼度を算出する顔領域信頼度算出部と、を更に備える、画像処理装置。
【請求項７】
対象画像に含まれる顔画像の輪郭を特定する画像処理方法であって、
上記対象画像から第１の顔画像と第２の顔画像を検出する顔検出工程と、
上記第１の顔画像と上記第２の顔画像との重複範囲を検出する重複検出工程と、
上記重複範囲を考慮して上記第１の顔画像と上記第２の顔画像の輪郭を特定する輪郭特定工程と、を具備することを特徴とする画像処理方法。
【請求項８】
対象画像に含まれる顔画像の輪郭を特定する機能をコンピューターに実現させるための画像処理プログラムであって、
上記対象画像から第１の顔画像と第２の顔画像を検出する顔検出機能と、
上記第１の顔画像と上記第２の顔画像との重複範囲を設定する重複検出機能と、
上記重複範囲を考慮して上記第１の顔画像と上記第２の顔画像の輪郭を特定する輪郭特定機能と、をコンピューターに実現させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法および画像処理プログラムに関し、特に、対象画像に含まれる顔画像の輪郭を特定する画像処理装置、画像処理方法および画像処理プログラムに関する。
【背景技術】
【０００２】
視覚的事象のモデル化手法として、アクティブアピアランスモデル（Active Appearance Model：ＡＡＭ）が知られている。ＡＡＭでは、例えば、複数のサンプル顔画像における所定の特徴部位（例えば目じりや鼻頭やフェイルライン）の位置（座標）や画素値（例えば輝度値）の統計的分析を通じて、上記特徴部位の位置により特定される顔の形状を表す形状モデルや、平均的な形状における「見え（Appearance）」を表すテクスチャーモデルが設定され、これらのモデルを用いて顔画像がモデル化される。ＡＡＭによれば、任意の顔画像のモデル化（合成）が可能であり、顔画像における上記特徴部位の位置（座標）の特定（検出）が可能である（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１４１１０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、複数人が写っている写真では、１の人物の顔の手前（撮像装置寄り）に他の人物の顔が配置され、顔が重複して写る可能性がある。このような場合には、上記１の人物についてＡＡＭに必要な所定の特徴部位が、他の人物によって遮蔽されてしまい、ＡＡＭによる顔画像のモデル化の精度が低下してしまう。
【０００５】
本発明は、上記課題を解決するためになされてものであり、ＡＡＭによる顔画像のモデル化の精度を向上し、重なり合った顔画像であっても顔輪郭を特定できるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の請求項１にかかる発明では、対象画像に含まれる顔画像の輪郭を特定する画像処理装置であって、顔検出部と重複検出部と顔輪郭特定部とを備える構成としてある。
【０００７】
上記顔検出部は、上記対象画像から顔画像を検出するものであって、少なくとも第１の顔画像と第２の顔画像の２つの顔画像を同時に検出することができる。このとき顔検出部は、上記対象画像のインプレーンにおいて顔画像を検出した範囲を特定可能な位置情報を取得している。
上記重複検出部は、上記顔検出部の検出した上記第１の顔画像と上記第２の顔画像との重複範囲を設定する。すなわち、上記重複検出部は、上記顔検出部によって検出された上記第１の顔画像と上記第２の顔画像の上記位置情報に基づいて、上記対象画像上のインプレーンにおいて重複する部位を有しているか否かを判断する。そして、重複する部位を有していると判断した場合は、その重複範囲を特定する。
上記顔輪郭特定部は、上記重複範囲を考慮して上記第１の顔画像と上記第２の顔画像の輪郭を特定する。より具体的には、上記第１の顔領域と上記第２の顔領域のうち、他方の顔画像を遮蔽している側の顔画像については前記重複範囲を考慮せずに上記輪郭を特定し、他方の顔画像によって遮蔽されている側の顔画像については上記重複範囲を考慮しつつ上記輪郭を特定する。
よって、ＡＡＭのように顔画像のモデル化によって顔輪郭を特定する際の精度を向上し、重なり合った顔画像であっても顔の輪郭を適切に特定できるようになる。
【０００８】
本発明の選択的な一側面として、上記顔検出部が検出した顔画像の検出結果に基づき、上記顔画像が真に顔の画像であることの確からしさを示す顔信頼度を算出する顔信頼度算出部と、上記顔検出部の検出した顔画像のサイズと上記顔信頼度とに基づいて上記第１の顔画像と上記第２の顔画像の優先順位を設定する順位設定部と、を更に備え、上記顔輪郭特定部は、上記重複範囲と上記優先順位とを考慮して上記第１の顔画像と上記第２の顔画像の輪郭を特定する、構成としてもよい。
該構成によれば、上記順位設定部は、上記顔検出部の検出した顔画像のサイズと上記顔信頼度とに基づいて上記第１の顔画像と上記第２の顔画像の優先順位を設定するにあたり、顔画像について算出される顔信頼度を利用している。この顔信頼度は、上記顔信頼度算出部によって上記顔検出部が検出した顔画像の検出結果に基づいて算出されるものであり、上記顔画像が真に顔の画像であることの確からしさを示すものである。該構成によれば、顔信頼度の低い顔画像と顔信頼度の高い顔画像とが重複している場合には、顔信頼度の高い画像を優先的に顔輪郭の特定対象とすることができるため、顔輪郭を特定する際の精度向上に寄与する。
【０００９】
本発明の選択的な一側面として、上記顔検出部によって検出された顔画像における両目を検出する器官検出部と、上記器官検出部が前記両目を検出したか否かに基づいて上記第１の顔画像と上記第２の顔画像の優先順位を設定する順位設定部と、を更に備えた、構成としてもよい。
人物の顔画像を含んでいる対象画像において、主要な被写体は正面から見た顔である可能性が高い。また、正面から見た顔には両目が観察される可能性が高く、両目を含むことは対象画像の中で主要な人物の顔画像であることを示す指標となる。そこで、前記顔検出部によって検出された顔画像から上記器官検出部が検出した顔器官の中に両目があれば、上記顔画像は主要な被写体である可能性が高いことを意味する。よって、この顔画像を優先的に顔輪郭の特定対象とすることにより、顔輪郭を特定する際の精度を向上できる。
【００１０】
本発明の選択的な一側面として、上記顔輪郭特定部の特定した輪郭に基づいて該輪郭が真に顔の輪郭であることの確からしさを示す顔輪郭信頼度を算出する顔輪郭信頼度算出部を更に備え、上記重複検出部は、上記顔画像のサイズと上記顔信頼度とに基づいて上記第１の顔画像と上記第２の顔画像の優先順位を設定し、上記顔輪郭信頼度算出部は、上記重複範囲と上記優先順位を考慮せずに上記顔輪郭特定部が特定した上記第１の顔画像と上記第２の顔画像の輪郭に基づいて、上記第１の顔画像と上記第２の顔画像の輪郭が真に顔の画像の輪郭であることの確からしさを示す顔輪郭信頼度を算出し、上記顔輪郭特定部は、上記顔輪郭信頼度が所定の閾値以下の顔画像について、上記重複範囲と前記優先順位とを考慮して上記輪郭を特定する、構成としてもよい。
該構成によれば、まずは重複範囲を考慮せずに顔画像の輪郭検出を実行し、その後、顔画像の輪郭に関する顔輪郭信頼度を算出して、この顔輪郭信頼度が低すぎる顔画像についてのみ重複範囲を考慮した顔画像の輪郭の特定を行うことになる。複数の顔画像を含む対象画像であっても、顔画像同士が重複している可能性は低いためである。従って、重複範囲のない顔画像や、重複しているものの顔画像の輪郭を検出するには問題のないレベルの重複であれば重複範囲を考慮せずに顔輪郭検出を実行し、必要な場合だけ顔輪郭検出を実行する。よって輪郭検出に要する時間を短縮できる。
【００１１】
本発明の選択的な一側面として、上記顔検出部は、上記対象画像から、第１の顔画像に対応する画像領域である第１の顔領域と、第２の顔画像に対応する画像領域である第２の顔領域とを検出し、
上記画像処理装置は、検出された上記第１の顔領域および上記第２の顔領域における顔の器官に対応する画像領域である器官領域の検出を行う器官領域検出部と、上記顔検出部が検出した顔画像の検出結果と、上記器官領域検出部の検出した器官領域の検出結果と、に基づいて上記顔領域が真に顔の画像に対応する画像領域であることの確からしさを表す顔領域信頼度を算出する顔領域信頼度算出部と、を更に備える、構成としてもよい。
該構成において、上記顔検出部は顔画像を含む顔領域を検出しており、この顔領域について真に顔の画像に対応する画像領域であることの確からしさを示す顔領域信頼度を算出している。また、顔領域信頼度を算出する際に、顔領域に対して行った器官領域の検出結果も考慮してあるため、信頼度の精度が向上する。
【００１２】
上述した画像処理装置は、他の機器に組み込まれた状態で実施されたり他の方法とともに実施されたりする等の各種の態様を含む。また、本発明は上記画像処理装置を備える画像処理システム、上述した装置の構成に対応した工程を有する制御方法、上述した装置の構成に対応した機能をコンピューターに実現させるプログラム、該プログラムを記録したコンピューター読み取り可能な記録媒体、等としても実現可能である。これら画像処理システム、画像処理方法、画像処理プログラム、該プログラムを記録した媒体、の発明も、上述した作用、効果を奏する。むろん、請求項２〜６に記載した構成も、前記システムや前記方法や前記プログラムや前記記録媒体に適用可能である。
【図面の簡単な説明】
【００１３】
【図１】プリンターのハードウェア構成を示すブロック図である。
【図２】プリンターのソフトウェア構成を示すブロック図である。
【図３】ＡＡＭ設定処理の流れを示すフローチャートである。
【図４】サンプル顔画像ＳＩの一例を示す説明図である。
【図５】サンプル顔画像ＳＩに対して特徴点ＣＰを設定する方法の一例を示す説明図である。
【図６】サンプル顔画像ＳＩに設定された特徴点ＣＰの座標の一例を示す説明図である。
【図７】平均形状ｓ０の一例を示す説明図である。
【図８】サンプル顔画像ＳＩのワープＷの方法の一例を示す説明図である。
【図９】平均顔画像Ａ０（ｘ）の一例を示す説明図である。
【図１０】顔検出処理の流れを示すフローチャートである。
【図１１】顔領域・器官領域検出処理の流れを示すフローチャートである。
【図１２】顔領域検出処理の流れを示すフローチャートである。
【図１３】顔領域検出処理の概要を示す説明図である。
【図１４】累計評価値Ｔｖの算出方法を説明する説明図である。
【図１５】学習に用いられるサンプル画像の一例を示した説明図である。
【図１６】顔領域設定処理の概要を示す説明図である。
【図１７】顔領域設定処理の概要を示す説明図である。
【図１８】器官領域検出処理の流れを示すフローチャートである。
【図１９】器官領域検出処理の概要を示す説明図である。
【図２０】器官領域の検出結果の一例を示す説明図である。
【図２１】顔特徴位置特定処理の流れを示すフローチャートである。
【図２２】検出排他領域について説明する図である。
【図２３】特徴点ＣＰの初期位置設定処理の流れを示すフローチャートである。
【図２４】注目顔画像ＯＩにおける特徴点ＣＰの仮位置の一例を示す説明図である。
【図２５】平均形状画像Ｉ（Ｗ（ｘ；ｐ））の一例を示す説明図である。
【図２６】特徴点ＣＰ設定位置補正処理の流れを示すフローチャートである。
【図２７】顔特徴位置特定処理の結果の一例を示す説明図である。
【図２８】特徴部位信頼度算出処理の流れを示すフローチャートである。
【図２９】特徴部位信頼度の算出方法の一例を示す説明図である。
【発明を実施するための形態】
【００１４】
以下、下記の順序に従って本発明の実施形態を説明する。
（１）本実施形態の構成：
（２）ＡＡＭ設定処理：
（３）顔検出処理：
（４）顔領域・器官領域検出処理：
（５）顔特徴位置特定処理：
（６）顔検出結果を利用する各種処理：
（７）各種変形例：
（８）まとめ：
【００１５】
（１）本実施形態の構成： 
図１は本実施形態にかかる画像処理装置としてのプリンター１００のハードウェア構成を示すブロック図である。同図に示すプリンター１００は、メモリーカードＭＣから取得した画像データに基づいて画像を印刷する、いわゆるダイレクトプリントに対応したインクジェット式カラープリンターである。
プリンター１００は、プリンター１００の各部を制御するＣＰＵ１１０と、ＲＯＭやＲＡＭによって構成された内部メモリー１２０と、ボタンやタッチパネルによって構成された操作部１３０と、液晶ディスプレイによって構成された表示部１４０と、印刷データに基づいて印刷機構１５５を制御して印刷を行うプリンターエンジン１５０と、カードインターフェース１６０（カードＩＦ１６０）と、を備えている。
【００１６】
プリンター１００は、さらに、他の機器（例えばデジタルスチルカメラやパーソナルコンピューター等）とのデータ通信を行うためのインターフェースを備えていてもよい。プリンター１００の各部は、バスを介して相互通信可能に接続されている。
カードインターフェース１６０は、カードスロット１６２に挿入されたメモリーカードＭＣとの間でデータのやり取りを行うためのインターフェースである。本実施形態において、メモリーカードＭＣには、画像データが格納されているものとする。
【００１７】
図２は、プリンター１００のソフトウェア構成を示すブロック図である。
内部メモリー１２０は、画像処理プログラムが記憶されており、この画像処理プログラムに基づいてＣＰＵ１１０が演算処理を行うことにより、画像処理部ＧＰ、表示処理部ＤＰ、印刷処理部ＰＰに相当する機能が実現される。
表示処理部ＤＰは、表示部１４０を制御して、表示部１４０に処理メニューやメッセージ、画像等を表示させる。
印刷処理部ＰＰは、画像データに基づいて印刷データを作成し、作成された印刷データをプリンターエンジン１５０に出力することにより、画像データに基づく画像の印刷を行わせる。
【００１８】
また画像処理部ＧＰを実現する画像処理プログラムは、顔領域・顔器官領域検出処理等を行う顔検出プログラムを含んで構成されており、該顔検出プログラムに基づいてＣＰＵ１１０が演算処理を行うことにより、顔領域検出部Ｍ１と、検出順位設定部Ｍ２と、顔特徴位置特定部Ｍ３と、顔補正部Ｍ４と、に相当する機能を実現する。
内部メモリー１２０には、プリンタードライバーや画像処理プログラム、後述の顔学習データＦＬＤや顔器官学習データＯＬＤやＡＡＭ情報ＡＭＩなどが記憶されている。
【００１９】
（２）ＡＡＭ設定処理： 
図３は、本実施形態にかかるＡＡＭ設定処理の流れを示すフローチャートである。ＡＡＭ設定処理は、ＡＡＭ（Active Appearance Model）と呼ばれる画像のモデル化に用いられる形状モデルおよびテクスチャーモデルを設定する処理である。ＡＡＭ設定処理は、後述の顔特徴位置特定処理を実行する前に、例えばコンピューターでＡＡＭ設定プログラムを実行することにより予め実行される。
【００２０】
ステップＳ１０（以下、「ステップ」の記載を省略する。）において、ＡＡＭ設定プログラムには、人物の顔が含まれた複数の画像がサンプル顔画像ＳＩとして入力される。なお、このサンプル顔画像ＳＩは、その性質上、学習画像とも呼ばれる。
図４は、サンプル顔画像ＳＩの一例を示す説明図である。同図に示すように、サンプル顔画像ＳＩは、個性、人種・性別、表情（怒り、笑い、困り、驚き等）、向き（正面向き、上向き、下向き、右向き、左向き等）といった種々の属性に関して互いに相違する顔画像を含むように用意されている。多様なサンプル顔画像ＳＩを用意することにより、ＡＡＭによってあらゆる顔画像を精度良くモデル化することが可能となる。よって、後述の顔特徴位置特定処理をあらゆる顔画像を対象として精度良く実行可能となる。
【００２１】
Ｓ２０において、ＡＡＭ設定プログラムのＵＩ等を介してオペレーターがサンプル顔画像ＳＩのそれぞれに特徴点ＣＰを設定する。
図５は、サンプル顔画像ＳＩに対して特徴点ＣＰを設定する方法の一例を示す説明図である。特徴点ＣＰは、顔画像における所定の特徴部位の位置を示す点である。本実施形態では、所定の特徴部位として、人物の顔における眉毛上の所定位置（例えば端点や４分割点等、以下同じ）、目の輪郭上の所定位置、鼻筋および小鼻の輪郭上の所定位置、上下唇の輪郭上の所定位置、顔の輪郭（フェイスライン）上の所定位置といった６８箇所の部位が設定されている。これら６８箇所の部位は、人物の顔に共通して含まれる顔の器官（眉毛、目、鼻、口）および顔の輪郭における所定位置である。また、各特徴点ＣＰは、人物の顔の各特徴部位に対応しているため、顔画像における特徴点ＣＰの配置は、顔の形状を特定している。
【００２２】
サンプル顔画像ＳＩにおける特徴点ＣＰの位置は、座標により特定される。
図６は、サンプル顔画像ＳＩに設定された特徴点ＣＰの座標の一例を示す説明図である。図６において、ＳＩ（ｊ）（ｊ＝１，２，３・・・）は各サンプル顔画像ＳＩを示しており、ＣＰ（ｋ）（ｋ＝０，１，・・・，６７）は各特徴点ＣＰを示している。また、ＣＰ（ｋ）−Ｘは、特徴点ＣＰ（ｋ）のＸ座標を示しており、ＣＰ（ｋ）−Ｙは、特徴点ＣＰ（ｋ）のＹ座標を示している。特徴点ＣＰの座標としては、顔の大きさと顔傾き（画像面内の傾き）と顔のＸ方向およびＹ方向の位置とのそれぞれについて正規化されたサンプル顔画像ＳＩにおける所定の基準点（例えば画像の左下の点）を原点とした座標が用いられる。また、本実施例では、１つのサンプル顔画像ＳＩに複数の人物の顔画像が含まれる場合が許容されており（例えばサンプル顔画像ＳＩ（２）には２人の顔画像が含まれている）、１つのサンプル顔画像ＳＩにおける各人物は人物ＩＤによって特定される。
【００２３】
Ｓ３０において、ＡＡＭ設定プログラムは、ＡＡＭの形状モデルを設定する。具体的には、各サンプル顔画像ＳＩにおける６８個の特徴点ＣＰの座標（Ｘ座標およびＹ座標）により構成される座標ベクトルに対する主成分分析をおこない、特徴点ＣＰの位置により特定される顔の形状ｓを下記の式（１）によりモデル化する。なお、形状モデルは、特徴点ＣＰの配置モデルとも呼ばれる。
【数１】
2011048469.tif 000003
【００２４】
上記式（１）において、ｓ０は平均形状である。
図７は、平均形状ｓ０の一例を示す説明図である。図７（ａ）および（ｂ）に示すように、平均形状ｓ０は、サンプル顔画像ＳＩの各特徴点ＣＰについての平均位置（平均座標）により特定される平均的な顔の形状を表すモデルである。なお、本実施例では、平均形状ｓ０において、外周に位置する特徴点ＣＰ（フェイスラインおよび眉毛、眉間に対応する特徴点ＣＰ）を結ぶ直線により囲まれた領域（図７（ｂ）においてハッチングを付して示す）を「平均形状領域ＢＳＡ」と呼ぶ。平均形状ｓ０においては、図７（ａ）に示すように、特徴点ＣＰを頂点とする複数の三角形領域ＴＡが、平均形状領域ＢＳＡをメッシュ状に分割するように設定されている。
【００２５】
形状モデルを表す上記式（１）において、ｓｉは形状ベクトルであり、ｐｉは形状ベクトルｓｉの重みを表す形状パラメーターである。形状ベクトルｓｉは、顔の形状ｓの特性を表すベクトルであり、主成分分析により得られる第ｉ主成分に対応する固有ベクトルである。主成分分析においては、分散の大きい主成分に対応する固有ベクトルから順に、累積的寄与率に基づいて設定されたｎ個（ｎ＝１，２，３・・・）の固有ベクトルが、形状ベクトルとして採用される。
本実施形態において、最も分散の大きい第１主成分に対応する第１形状ベクトルｓ１は、顔の左右振りにほぼ相関するベクトルであり、２番目に分散の大きい第２主成分に対応する第２形状ベクトルｓ２は顔の上下振りにほぼ相関するベクトルであり、３番目に分散の大きい第３主成分に対応する第３形状ベクトルｓ３は顔の形状の縦横比にほぼ相関するベクトルであり、４番目に寄与率の大きい第４主成分に対応する第４形状ベクトルｓ４は口の開きの程度にほぼ相関するベクトルである。
【００２６】
上記式（１）に示すように、本実施形態における形状モデルでは、特徴点ＣＰの配置を表す顔形状ｓが、平均形状ｓ０とｎ個の形状ベクトルｓｉの線形結合との和としてモデル化される。形状モデルにおいて形状パラメーターｐｉを適切に設定することにより、あらゆる画像における顔の形状ｓを再現することが可能である。形状モデルにおける形状ベクトルｓｉと形状パラメーターｐｉの積は、形状ベクトルｓｉに対応する顔の形状の特徴についての特徴量を表す。
このようにしてＳ１３において設定された平均形状ｓ０および形状ベクトルｓｉは、ＡＡＭ情報ＡＭＩとして内部メモリー１２０に格納される。
【００２７】
Ｓ４０において、ＡＡＭ設定プログラムは、ＡＡＭのテクスチャーモデルの設定を行う。具体的には、まず、各サンプル顔画像ＳＩに対して、サンプル顔画像ＳＩにおける特徴点ＣＰの設定位置が平均形状ｓ０における特徴点ＣＰの設定位置と等しくなるように、画像変換（以下、「ワープＷ」とも呼ぶ）を行う。
【００２８】
図８は、サンプル顔画像ＳＩのワープＷの方法の一例を示す説明図である。各サンプル顔画像ＳＩにおいては、平均形状ｓ０と同様に、外周に位置する特徴点ＣＰにより囲まれた領域をメッシュ状に分割する複数の三角形領域ＴＡが設定される。ワープＷは、複数の三角形領域ＴＡのそれぞれについてのアフィン変換の集合である。すなわち、ワープＷにおいては、サンプル顔画像ＳＩにおけるある三角形領域ＴＡの画像は、平均形状ｓ０における対応する三角形領域ＴＡの画像へとアフィン変換される。ワープＷにより、特徴点ＣＰの設定位置が平均形状ｓ０における特徴点ＣＰの設定位置と等しいサンプル顔画像ＳＩ（以下「サンプル顔画像ＳＩｗ」と表す）が生成される。
【００２９】
なお、各サンプル顔画像ＳＩｗは、平均形状領域ＢＳＡ（図８においてハッチングを付して示した領域）を内包する矩形枠を外周とし、平均形状領域ＢＳＡ以外の領域（以下「マスク領域ＭＡ」とも呼ぶ）がマスクされた画像として生成される。平均形状領域ＢＳＡとマスク領域ＭＡとを併せた画像領域を基準領域ＢＡと呼ぶ。また、各サンプル顔画像ＳＩｗは、例えば５６画素×５６画素のサイズの画像として正規化される。
【００３０】
次に、各サンプル顔画像ＳＩｗの画素群ｘのそれぞれにおける輝度値により構成される輝度値ベクトルに対する主成分分析が行われ、顔のテクスチャー（「見え」とも呼ぶ）Ａ（ｘ）が下記の式（２）によりモデル化される。なお、画素群ｘは、平均形状領域ＢＳＡに位置する画素の集合である。
【数２】
2011048469.tif 000004
【００３１】
上記式（２）において、Ａ０（ｘ）は平均顔画像である。
図９は、平均顔画像Ａ０（ｘ）の一例を示す説明図である。平均顔画像Ａ０（ｘ）は、ワープＷの後のサンプル顔画像ＳＩｗの平均の顔が表された画像である。すなわち、平均顔画像Ａ０（ｘ）は、サンプル顔画像ＳＩｗの平均形状領域ＢＳＡ内の画素群ｘの画素値（輝度値）の平均をとることにより算出される画像である。従って、平均顔画像Ａ０（ｘ）は、平均的な顔の形状における平均的な顔のテクスチャー（見え）を表すモデルである。なお、平均顔画像Ａ０（ｘ）は、サンプル顔画像ＳＩｗと同様に、平均形状領域ＢＳＡとマスク領域ＭＡとで構成されており、平均形状領域ＢＳＡとマスク領域ＭＡを併せた画像領域を基準領域ＢＡと呼ぶ。
【００３２】
テクスチャーモデルを表す上記式（２）において、Ａｉ（ｘ）はテクスチャーベクトルであり、λｉはテクスチャーベクトルＡｉ（ｘ）の重みを表すテクスチャーパラメーターである。テクスチャーベクトルＡｉ（ｘ）は、顔のテクスチャーＡ（ｘ）の特性を表すベクトルであり、具体的には、主成分分析により得られる第ｉ主成分に対応する固有ベクトルである。すなわち、分散のより大きい主成分に対応する固有ベクトルから順に、累積的寄与率に基づき設定されたｍ個（ｍ＝１，２，３・・・）の固有ベクトルが、テクスチャーベクトルＡｉ（ｘ）として採用される。本実施形態では、最も分散の大きい第１主成分に対応する第１テクスチャーベクトルＡ１（ｘ）は、顔色の変化（性別の差とも捉えられる）にほぼ相関するベクトルとなっており、２番目に分散の大きい第２主成分に対応する第２テクスチャーベクトルＡ２（ｘ）は、影成分の変化（光源位置の変化とも捉えられる）にほぼ相関するベクトルとなっている。
【００３３】
上記式（２）に示すように、本実施例におけるテクスチャーモデルでは、顔の見えを表す顔のテクスチャーＡ（ｘ）が、平均顔画像Ａ０（ｘ）とｍ個のテクスチャーベクトルＡｉ（ｘ）の線形結合との和としてモデル化される。テクスチャーモデルにおいてテクスチャーパラメーターλｉを適切に設定することにより、あらゆる画像における顔のテクスチャーＡ（ｘ）を再現することが可能である。なお、Ｓ４０において設定された平均顔画像Ａ０（ｘ）およびテクスチャーベクトルＡｉ（ｘ）は、ＡＡＭ情報ＡＭＩとして内部メモリー１２０に格納される。
【００３４】
以上説明したＡＡＭ設定処理により、顔の形状をモデル化する形状モデルと、顔のテクスチャーをモデル化するテクスチャーモデルとを含む顔モデル（ＡＡＭ）が設定される。設定された形状モデルとテクスチャーモデルとを組み合わせることにより、すなわち合成されたテクスチャーＡ（ｘ）に対して平均形状ｓ０から形状ｓへの変換（図８に示したワープＷの逆変換）を行うことにより、あらゆる顔画像の形状およびテクスチャーを再現することが可能である。
【００３５】
（３）顔検出処理： 
図１０は、顔検出処理の流れを示すフローチャートである。同図においては、対象画像から顔の含まれる可能性のある領域（顔領域）を検出し、顔領域から主要器官の含まれる可能性のある領域（主要器官領域）を検出し、顔領域における顔の各種器官の輪郭（顔器官輪郭）を検出する。顔器官輪郭を検出する処理は、対象画像から複数の顔領域が重なった状態で検出されている場合には、対象画像における各顔領域の重要度を判断し、重複部分は重要度の高い方の顔領域に属する領域として顔器官輪郭検出を実行する。なお、重要度は、処理対象の顔領域が対象画像の中で主要な被写体であるほど高くなるように設定されている。以下、顔検出処理について詳細に説明を行う。
【００３６】
＜対象画像データ取得＞
Ｓ１００において、顔領域検出部Ｍ１は、顔領域検出処理の対象となる画像の画像データＩＤを取得する。本実施形態のプリンター１００は、カードスロット１６２にメモリーカードＭＣが挿入されると、メモリーカードＭＣに格納された画像データのサムネイル画像が表示部１４０に表示される。ユーザーは、表示されたサムネイル画像を参照しつつ操作部１３０を操作して、所望のサムネイル画像を選択する。顔領域検出部Ｍ１は、選択された１又は複数の画像を対象画像とし、対象画像に対応する画像データを画像データＩＤとして取得する。以下、Ｓ１００で取得した画像データを対象画像データ、対象画像データに基づいて表示される画像を対象画像ＴＩと記載することにする。
【００３７】
＜顔領域・器官領域検出処理＞
Ｓ２００において、顔領域検出部Ｍ１は、対象画像ＴＩから顔領域を検出する処理を行うとともに検出された顔領域について顔器官を検出する処理を行い、検出された各顔領域について顔を含む可能性を示す信頼度を付与する処理を行う。Ｓ２００の顔領域・顔器官領域検出処理の詳細については、（４）節で説明する。
【００３８】
＜順位付与処理＞
Ｓ３００において、検出順位設定部Ｍ２は、Ｓ２００において検出された各顔領域ＦＡに対し、顔特徴位置特定処理を行う順番としての検出順位を設定し、検出順位情報ＲＩとして内部メモリー１２０に格納する。なお、本実施形態において、Ｓ３００を実行する検出順位設定部Ｍ２が順位設定部を構成する。
各顔領域ＦＡの検出順位は、顔領域ＦＡのサイズ、顔領域ＦＡの検出結果に対する信頼度、器官領域検出の有無、に基づいて、対象画像ＴＩにおいて主要な顔画像が含まれる可能性が高い顔領域ＦＡほど検出順位が上位になるように決定することが出来る。すなわち、サイズの大きい顔領域ＦＡであるほど検出順位が上位になるようにし、信頼度が高い顔領域ＦＡであるほど検出順位が上位になるようにし、器官輪郭検出において主要な顔器官（目、口、鼻、耳、眉等）が検出されている顔領域ＦＡであるほど検出順位が上位になるようにする。
【００３９】
その理由として、顔領域ＦＡが大きいほど対象画像ＴＩの中で占める面積の大きい顔であり、対象画像ＴＩにおける主要な顔画像が含まれる可能性が高いこと、信頼度が高い顔領域ＦＡに含まれる顔画像ほど顔の輪郭が明確であり、対象画像ＴＩにおいて主要な顔画像が含まれる可能性が高いこと、顔における主要な器官領域である両目と口が検出されている顔領域ＦＡは正面顔である可能性が高く、対象画像ＴＩにおいて主要な顔画像が含まれる可能性が高いことがあげられる。
【００４０】
なお、本実施形態では、後述のように、顔領域原信頼度、顔器官領域原信頼度、顔領域総合信頼度、特徴部位信頼度の４種の信頼度を算出しているが、本実施形態では顔領域原信頼度と顔器官領域原信頼度と顔領域総合信頼度の少なくとも１つを検出順位情報ＲＩを作成するために利用することができる。
また、主要な顔器官の中でも特に両目（右目と左目）が検出されている顔領域ＦＡについて、検出順位が上位になるようにしてもよい。両目（右目と左目）が検出されている顔領域ＦＡに含まれる顔画像は、正面顔である可能性が高いからである。
【００４１】
＜顔特徴位置特定処理＞
Ｓ４００において、顔特徴位置特定部Ｍ３は、Ｓ２００で検出された各顔領域について、検出順位情報ＲＩを内部メモリー１２０から取得して検出順位の高い顔領域から順に、他の顔領域との重複部分を考慮しつつ特徴点ＣＰの位置を特定する処理を行う。Ｓ４００にかかる処理については、（５）節の顔特徴位置特定処理で詳細に説明する。なお、本実施形態においては、Ｓ４００を実行する顔特長位置特定部が顔輪郭特定部を構成する。
【００４２】
（４）顔領域・器官領域検出処理： 
図１１は、顔領域・器官領域検出処理の流れを示すフローチャートである。顔領域・器官領域検出処理においては、顔画像を含む領域（顔領域）を対象画像データの表す対象画像ＴＩから検出し、検出された顔領域から顔の主要器官を含む領域（器官領域）の検出を行う。本実施形態では、顔の主要器官として左右の目と口を検出する例について説明するが、むろん鼻や耳や眉毛などの他の器官を検出してもよい。
【００４３】
Ｓ２０５において、顔領域検出部Ｍ１は、Ｓ１００で取得した対象画像ＴＩデータの表す対象画像ＴＩから、顔の画像が含まれる顔領域検出処理を行う。この顔領域検出処理については（４−１）節で詳細に説明する。なお、本実施形態においては、Ｓ２０５を実行する顔領域検出部Ｍ１が顔検出部を構成する。
【００４４】
Ｓ２１０において、Ｓ２０５で顔領域が検出されたか否かを判断する。１つでも顔領域が検出されていればＳ２１５に進む。顔領域が１つも検出されていないのであれば顔領域・顔器官検出処理を終了する。
【００４５】
＜顔領域原信頼度算出処理＞
Ｓ２１５において、Ｓ２０５で検出された顔領域ＦＡについての顔領域原信頼度を算出する。顔領域原信頼度は、顔領域検出処理の結果に基づいて算出される指標であって、顔領域検出処理により検出された顔領域ＦＡが真に顔の画像に対応する画像領域であることの確からしさを示す指標である。顔領域検出処理では、顔の画像に対応しない画像領域、すなわち、顔の画像をまったく含まない画像領域や顔の画像の一部を含むものの顔の画像に真に対応する画像領域ではない画像領域が誤って顔領域ＦＡとして検出される可能性がある。すなわち、顔領域原信頼度は、顔領域検出処理の検出結果が、誤検出ではなく正しい検出であることの確からしさを表しているともいえる。
【００４６】
本実施形態では、重複検出窓数を最大重複検出窓数で除した値を顔領域原信頼度として用いている。ここで、重複検出窓数とは、各顔領域ＦＡの設定の際に参照された判定対象画像領域ＪＩＡの数、すなわち判定対象画像領域ＪＩＡを規定する検出窓ＳＷの数である。例えば、後述の図１７（ｃ）に示した顔領域ＦＡの設定の際には、図１７（ａ）および（ｂ）に示した互いに一部が重複する４つの検出窓ＳＷ１〜ＳＷ４が参照されているため、重複検出窓数は４となる。また、最大重複検出窓数は、顔領域検出処理において顔検出用画像ＦＤＩ上に配置された全ての検出窓の内、少なくとも一部が平均検出窓ＡＷに重複する検出窓の数である。最大重複検出窓数は、検出窓ＳＷの移動ピッチやサイズ変更のピッチにより一義的に定まる。
【００４７】
検出された顔領域ＦＡが真に顔の画像に対応する画像領域である場合には、位置およびサイズが互いに近似する複数の検出窓ＳＷについて判定対象画像領域ＪＩＡが顔の画像に対応する顔領域であると判定される可能性が高い。一方、検出された顔領域ＦＡが顔の画像に対応する画像領域ではなく、誤検出である場合には、ある検出窓ＳＷについては判定対象画像領域ＪＩＡが顔の画像に対応する顔領域であると判定されたとしても、当該検出窓ＳＷに位置およびサイズが近似する別の検出窓ＳＷについては判定対象画像領域ＪＩＡが顔の画像に対応する顔領域ではないと判定される可能性が高い。そのため、本実施形態では、重複検出窓数を最大検出窓数で除した値を顔領域原信頼度として用いている。
【００４８】
Ｓ２２０において、顔領域検出部Ｍ１は、Ｓ２０５において検出された顔領域ＦＡの中からＳ２２０において未選択のものを１つを選択する。
Ｓ２２５において、顔領域検出部Ｍ１は、Ｓ２２０において選択された顔領域ＦＡについて、顔の器官の画像に対応する画像領域である器官領域の検出を行う。上述したように、本実施形態では、顔の器官として右目と左目と口を検出する。この器官領域検出処理については（４−２）節で詳細に説明する。なお、本実施形態においては、Ｓ２２５を実行する顔領域検出部Ｍ１が器官検出部、器官領域検出部を構成する。
Ｓ２３０において、顔領域検出部Ｍ１は、Ｓ２２５で器官領域を検出したか否かを判断する。少なくとも１つの器官領域を検出してればＳ２３５に進み、顔器官領域を１つも検出していないのであればＳ２４０に進む。
【００４９】
＜器官領域原信頼度算出処理＞
Ｓ２３５において、顔領域検出部Ｍ１は、Ｓ２３０において検出した器官領域について器官領域原信頼度を算出する。器官領域原信頼度とは、器官領域検出処理の結果に基づき算出される指標であって、器官領域検出処理により検出されたある器官についての器官領域が真に顔の当該器官の画像に対応する画像領域であることの確からしさを表す指標である。器官領域検出処理では、顔の器官の画像に対応しない画像領域、すなわち、顔の器官の画像をまったく含まない画像領域や顔の器官の画像の一部を含むが顔の器官の画像に真に対応する画像領域ではない画像領域が誤って器官領域として検出される場合がある。器官領域原信頼度は、器官領域検出処理が、誤検出ではなく正しい検出であることの確からしさを表しているといえる。
本実施形態では上述した顔領域原信頼度と同様に、候補重複検出窓数を最大重複検出窓数で除した値が器官領域原信頼度として用いられる。
【００５０】
＜顔領域総合信頼度＞
Ｓ２４０において、顔領域検出部Ｍ１は、顔領域原信頼度と器官領域原信頼度とに基づいて、顔領域総合信頼度を算出する。顔領域総合信頼度は、顔領域ＦＡが真に顔の画像に対応する画像領域であることの確からしさを表す指標である。顔領域総合信頼度は、顔領域の検出結果（顔領域原信頼度）に加えて器官領域の検出結果（器官領域の検出の正否および器官領域原信頼度）を考慮して算出される。
【００５１】
具体的には、顔領域総合信頼度は、顔領域原信頼度に各器官領域（右目領域ＥＡｒ、左目領域ＥＡｌ、口領域ＭｏＡ）についての器官領域原信頼度を加算した値である。このとき、Ｓ２２５において検出しなかった器官領域についての器官領域原信頼度については「０」とする。すなわち、全ての器官（右目、左目、口）についての器官領域が検出されてなかった場合には、顔領域総合信頼度は顔領域原信頼度に等しくなる。
【００５２】
検出された顔領域ＦＡが真に顔の画像に対応する画像領域である場合には、顔領域ＦＡに器官の画像が含まれている可能性が高いため、顔領域ＦＡにおいて器官領域が検出される可能性が高く、また器官領域原信頼度が大きいと考えられる。一方、検出された顔領域ＦＡの顔の画像に対応する画像領域ではなく誤検出である場合には、顔領域ＦＡに器官の画像が含まれていないため、顔領域ＦＡにおいて器官領域が検出される可能性は低く、仮に器官領域が検出された場合にも、その検出は誤検出であるため器官領域原信頼度は小さいと考えられる。そのため顔領域原信頼度に各器官領域についての器官領域原信頼度を加算した値を顔領域総合信頼度として用いることにより、対象画像ＴＩから検出された顔領域ＦＡの信頼度をより精度よく算出することができる。なお、本実施形態においては、Ｓ２１５やＳ２４０を実行する顔領域検出部Ｍ１が顔信頼度算出部を構成し、Ｓ２４０を実行する顔領域検出部Ｍ１が顔領域信頼度算出部を構成する。
【００５３】
Ｓ２４５において、Ｓ２０５において検出した各顔領域ＦＡの全てについて、器官領域検出処理を行ったか否かを判断する。全ての顔領域ＦＡについて顔器官領域検出処理を完了していればＳ２５０に進み、未選択の顔領域ＦＡが残っている場合はＳ２２０に戻ってＳ２２０において未選択の顔領域を選択し、Ｓ２２０〜の処理を行う。
【００５４】
Ｓ２５０において、顔領域検出部Ｍ１は、対象画像ＴＩから検出された顔領域ＦＡおよび器官領域（右目領域ＥＡｒ、左目領域ＥＡｌ、口領域ＭｏＡ）の位置（座標）を示す情報と、算出された顔領域原信頼度、器官領域原信頼度、および顔領域総合信頼度とを、対象画像データを含む画像ファイルに付属情報として付加する。すなわち、対象画像データと、対象画像ＴＩにおける顔領域ＦＡおよび器官領域の位置（座標）を示す情報と、顔領域原信頼度、器官領域原信頼度および顔領域総合信頼度とが含まれた画像ファイルが生成される。
【００５５】
（４−１）顔領域検出処理： 
図１２は、顔領域検出処理の流れを示すフローチャートであり、図１３は、顔領域検出処理の概要を示す説明図である。なお、図１３の最上段には対象画像データの表す対象画像ＴＩの一例を示してある。
Ｓ２０５ａにおいて、顔領域検出部Ｍ１は、対象画像データを解像度変換等の方法によってサイズ変更することにより、顔検出処理において適切なサイズの顔検出用画像データを作成する。以下、顔検出用画像データによって表される画像を顔検出用画像ＦＤＩと記載する。
【００５６】
Ｓ２０５ｂにおいて、顔領域検出部Ｍ１は、検出窓ＳＷのサイズを初期値に設定する。
Ｓ２０５ｃにおいて、顔領域検出部Ｍ１は、検出窓ＳＷを顔検出用画像ＦＤＩ上の初期位置に配置する。なお、本実施形態においては、対象画像ＴＩの左上角と検出窓ＳＷの左上角とが一致する位置を検出窓ＳＷの初期位置としてある。
【００５７】
Ｓ２０５ｄにおいて、顔領域検出部Ｍ１は、顔検出用画像ＦＤＩ上に配置された検出窓ＳＷによって規定される画像領域を判定対象画像領域ＪＩＡに設定し、この判定対象画像領域ＪＩＡが顔の画像を含む領域（以下、顔領域と記載する。）であるか否かを判定する。
図１３に示すように、顔検出用画像ＦＤＩには検出窓ＳＷが設定されており、Ｓ２０５ｂ〜Ｓ２０５ｋを実行することによりこの検出窓ＳＷが対象画像ＴＩ上に隈無く設定されるように変更されつつ、各設定位置における判定対象画像領域ＪＩＡに対して顔領域判定が実行される。
【００５８】
Ｓ２０５ｅにおいて、顔領域検出部Ｍ１は、判定対象画像領域ＪＩＡについて、顔判定に用いる累計評価値Ｔｖを算出する。
図１４は、累計評価値Ｔｖの算出方法を説明する説明図である。同図に示すように、本実施形態においては、累計評価値Ｔｖの算出にＮ個のフィルタ（フィルタ１〜フィルタＮ）を用いている。フィルタは検出窓ＳＷと同じ形状であり、顔領域検出部Ｍ１は、判定対象画像領域ＪＩＡにフィルタを順に適用して、各フィルタ毎の評価値Ｖｘ（ｘ＝１，２，３，・・・，Ｎ）を算出する。
具体的には、各フィルタにはプラス領域ｐａとマイナス領域ｍａが設定されており、評価値Ｖｘは、判定対象画像領域ＪＩＡにおいて、フィルタｘ（ｘ＝１，２，３，・・・，Ｎ）のプラス領域ｐａに対応する位置にある画素の輝度値の合計から、マイナス領域ｍａに対応する位置にある画素の輝度値の合計を差し引くことにより算出される。
【００５９】
なお、本実施形態においては、正立した顔画像のみならず、傾いた顔についても顔判定を実行する。すなわち、判定対象画像領域ＪＩＡに含まれる顔画像が、所定角度だけ傾いた顔画像であるか否かの判定を行う。ここで言う顔の傾き（以下、顔傾きと記載する。）とは、画像面内（インプレーン）における顔の画像の回転角度を意味する。本実施形態において所定角度は複数種類設定されており、正立した顔画像を基準として、例えば時計回りに３０度ずつ増加させた、０度、３０度、６０度、・・・、３３０度の計１２個の傾きを設定する。
【００６０】
評価値Ｖｘは、各評価値Ｖｘ毎に設定された閾値ＴＨｘ（ｘ＝１，２，３，・・・，Ｎ）と比較される。本実施形態においては、評価値Ｖｘが閾値ＴＨｘ以上である場合には、フィルタｘに関しては判定対象画像領域ＪＩＡが顔画像を含むと判定して「１」を出力し、評価値Ｖｘが閾値ＴＨｘ未満である場合にはフィルタｘに関しては判定対象画像領域ＪＩＡが顔画像を含まないと判定して「０」を出力する。各フィルタｘには重み係数Ｗｘ（ｘ＝１，２，３，・・・，Ｎ）が設定されており、各フィルタの出力値に重み係数Ｗｘを乗じた値を全てのフィルタについて合計した値が、累計評価値Ｔｖとなる。
【００６１】
なお、フィルタｘの態様、閾値ＴＨｘ、重み係数Ｗｘ、後述の閾値ＴＨは、サンプル画像を用いた学習によって上記顔傾き毎に予め作成されており、顔学習データＦＬＤとして内部メモリー１２０に格納されている。
図１５は学習に用いられるサンプル画像の一例を示した説明図である。同図に示すように、学習には、顔サンプル画像群と非顔サンプル画像群とが用いられる。顔サンプル画像群は、顔の画像に対応した画像であることが予め分かっている複数画像であり、非顔サンプル画像群は、顔の画像に対応した画像でないことが予め分かっている複数画像である。
【００６２】
また、顔学習データＦＬＤを顔の各傾き毎に用意するために、図１５に示すように、顔サンプル画像群は顔の各傾き毎に用意される。すなわち、０度の顔傾きに対応する顔学習データＦＬＤは、０度の顔傾きに対応した顔サンプル画像群と、非顔サンプル画像群とを用いて作成される。また３０度の顔傾きに対応する顔学習データＦＬＤは、３０度の顔傾きに対応した顔サンプル画像群と、非顔サンプル画像群とを用いて作成される。
【００６３】
顔の各傾きに対応した顔サンプル画像群は、顔サンプル画像の画像サイズに対する顔の画像のサイズが所定の比率以下の画像（以下、基本顔サンプル画像と記載する。）を含むとともに、基本サンプル画像の拡大画像や縮小画像を含み、さらに基本サンプル画像をインプレーンで時計回りや反時計回りに例えば１５度の範囲内で回転させた画像も含む。
【００６４】
サンプル画像を用いた学習は、ニューラルネットワークを用いた方法、ブースティング（例えばアダブースティング）を用いた方法、サポートベクターマシンを用いた方法等によって実行される。
例えばニューラルネットワークを用いて学習させる場合は、各フィルタｘについて、ある特定顔傾きに対応した顔サンプル画像群と非顔サンプル画像群とに含まれるすべてのサンプル画像を用いて評価値Ｖｘを算出し、所定の顔検出率を達成する閾値ＴＨｘを設定する。顔検出率とは、顔サンプル画像群を構成する顔サンプルの総数に対する、評価値Ｖｘによる閾値判定によって顔の画像に対応する画像であると判定される顔サンプル画像の数で表すことができる。
次に、各フィルタｘに設定された重み係数Ｗｘが初期値に設定され、顔サンプル画像群および非顔サンプル画像群の中から選択された１つのサンプル画像についての累計評価値Ｔｖが算出される。後述するように、顔判定においては、ある画像について算出された累計評価値Ｔｖが所定の閾値ＴＨ以上の場合には、当該画像は顔の画像に対応する画像であると判定される。学習においては、選択されたサンプル画像（顔サンプル画像または非顔サンプル画像）について算出された累計評価値Ｔｖによる閾値判定結果の正誤に基づき、各フィルタｘに設定された重み係数Ｗｘの値の修正が、顔サンプル画像群および非顔サンプル画像群に含まれるすべてのサンプル画像について繰り返し実行される。以上の処理が特定顔傾き毎に実行されることにより、特定顔傾き毎の顔学習データＦＬＤが作成される。
【００６５】
Ｓ２０５ｆにおいて、顔領域検出部Ｍ１は、累計評価値Ｔｖを特定顔傾き毎に設定された閾値ＴＨと比較する。ある特定顔傾きの累計評価値Ｔｖが閾値ＴＨ以上の場合は、顔領域検出部Ｍ１は判定対象画像領域ＪＩＡが当該特定顔傾き分だけ傾いた顔の画像に対応する画像領域である判断してＳ２０５ｇに進み、Ｓ２０５ｇにおいて現在設定されている検出窓ＳＷの座標と当該特定顔傾きの角度とを記憶してからＳ２０５ｈに進む。一方、何れの特定顔傾きについても累計評価値ＴＶが閾値ＴＨ未満の場合は、Ｓ２０５ｇをスキップしてＳ２０５ｈに進む。
【００６６】
Ｓ２０５ｈにおいて、顔領域検出部Ｍ１は、現在設定されているサイズの検出窓ＳＷによって顔検出用画像ＦＤＩ全体がスキャンされたか否かを判断する。顔検出用画像ＦＤＩ全体に対するスキャンが完了していない場合はＳ２０５ｉに進み、Ｓ２０５ｉにおいて検出窓ＳＷを所定の方向に所定の移動量だけ移動させてからＳ２０５ｄ〜の処理を実行する。一方、顔検出用画像ＦＤＩ全体に対するスキャンが完了している場合はＳ２０５ｊに進む。
【００６７】
図１３の下段には、検出窓ＳＷの移動の様子を示してある。本実施形態においては、検出窓ＳＷは、顔検出用画像ＦＤＩのインプレーンにおいて検出窓ＳＷの幅の半分の移動量ずつ右方向に移動するものとしてある。そして、検出窓ＳＷの右端が顔検出用画像ＦＤＩの右端に達すると検出窓ＳＷはその左端が顔検出用画像ＦＤＩの左端と一致する位置に戻ると共に、検出窓ＳＷの高さの半分の移動量だけ下方向に移動する。また、検出窓ＳＷの下端が顔検出用画像ＦＤＩの下端に達している場合には、顔検出用画像ＦＤＩ全体がスキャンされたことになる。
【００６８】
Ｓ２０５ｊにおいて、顔領域検出部Ｍ１は、検出窓ＳＷのサイズが全て使用されたか否かを判断する。未使用のサイズがある場合は、顔領域検出部Ｍ１はＳ２０５ｋに進んで検出窓ＳＷを現在設定されているサイズの次に小さいサイズに変更し、Ｓ２０５ｃ〜の処理を実行する。一方、検出窓ＳＷの全サイズを使用済みであれば、顔領域検出部Ｍ１はＳ２０５ｌに進む。
なお、本実施形態における検出窓ＳＷは正方形であり、例えば顔検出用画像ＦＤＩのサイズを３２０画素×２４０画素とすると、縦横それぞれのサイズを画素数で示した場合に、２４０，２１３，１７８，１４９，１２４，１０３，８６，７２，６０，５０，４１，３５，２９，２４，２０のように、最大サイズ（２４０画素）から最小サイズ（２０画素）まで徐々にサイズが変化するように設定されている。
【００６９】
Ｓ２０５ｌにおいて、顔領域検出部Ｍ１は、顔領域設定処理を実行する。
図１６と図１７は、顔領域設定処理の概要を示す説明図である。顔領域検出部Ｍ１は、Ｓ２０５ｇにおいて記憶した検出窓ＳＷの座標と特定顔傾きとに基づいて、顔の画像に対応する画像領域としての顔領域ＦＡを設定する。
具体的には、特定顔傾きが０度である場合には、検出窓ＳＷにより規定される画像領域（すなわち判定対象画像領域ＪＩＡ）がそのまま顔領域ＦＡとして設定される。一方、特定顔傾きが０度以外である場合には、検出窓ＳＷによって規定される画像領域（判定対象画像領域ＪＩＡ）を所定の点（例えば検出窓ＳＷの重心）を中心として時計回りに特定顔傾き分だけ回転させた画像領域が顔領域ＦＡとして設定される。例えば、図１６（ａ）に示すように、３０度の特定顔傾きについて累計評価値Ｔｖが閾値ＴＨ以上であると判定された場合には、図１６（ｂ）に示すように、検出窓ＳＷにより規定される画像領域を検出窓ＳＷの重心を中心として時計回りに３０度回転させた画像領域が顔領域ＦＡとして設定される。
【００７０】
また、Ｓ２０５ｇにおいてある特定顔傾きについて互いに一部が重複する複数の検出窓ＳＷが記憶された場合には、顔領域検出部Ｍ１は、各検出窓ＳＷにおける所定の点（例えば検出窓ＳＷの重心）の座標の平均の座標を新たな重心とし、各検出窓ＳＷのサイズの平均のサイズを新たなサイズとする新たな検出窓ＳＷを設定し、この新たな検出窓ＳＷによって規定される画像領域を新たな重心を中心として時計回りに特定顔傾き分だけ回転させた画像領域が顔領域ＦＡとして設定される。
例えば、図１７（ａ）に示すように、互いに一部が重複する４つの検出窓ＳＷ１〜ＳＷ４が記憶された場合には、図１７（ｂ）に示すように、４つの検出窓ＳＷそれぞれの重心の座標の平均の座標を重心とし、４つの検出窓ＳＷのそれぞれのサイズの平均のサイズを有する１つの平均検出窓ＡＷが定義される。このとき、特定顔傾きが０度である場合には、平均検出窓ＡＷにより規定される画像領域がそのまま顔領域ＦＡとして設定される。一方、特定顔傾きが０度以外の場合には、図１７（ｃ）に示すように、平均検出窓ＡＷにより規定される画像領域を所定の点（例えば平均検出窓ＡＷの重心）を中心として時計回りに特定顔傾き分だけ回転させた画像領域が顔領域ＦＡとして設定される。
【００７１】
（４−２）器官領域検出処理： 
図１８は、器官領域検出処理の流れを示すフローチャートである。また、図１９は、器官領域検出処理の概要を示す説明図である。図１９の最上段には、顔検出処理に用いられた顔検出用画像ＦＤＩの一例を示してある。
【００７２】
Ｓ２２５ａにおいて、顔領域検出部Ｍ１は、顔検出用画像ＦＤＩを表す顔検出用画像データから器官検出用画像ＯＤＩを表す器官検出用画像データを生成する。本実施形態では、図１９に示すように、器官検出用画像ＯＤＩは、顔検出用画像ＦＤＩにおける顔領域ＦＡに対応した画像であって、例えば縦６０画素×横６０画素のサイズの画像である。顔領域検出部Ｍ１は、必要に応じて顔検出用画像データのトリミング、アフィン変換、解像度変換を行うことにより、器官検出用画像ＯＤＩを表す器官検出用画像データを生成する。
【００７３】
器官検出用画像ＯＤＩからの器官領域の検出は、上述した顔検出用画像ＦＤＩからの顔領域ＦＡの検出と同様に行われる。
すなわち、図１９に示すように、正方形の検出窓ＳＷがそのサイズおよび位置を変更されつつ器官検出用画像ＯＤＩ上に配置され（Ｓ２２５ｂ、Ｓ２２５ｃ、Ｓ２２５ｈ〜Ｓ２２５ｋ）、配置された検出窓ＳＷにより規定される画像領域が顔の器官の画像に対応する器官領域であるか否かの判定（以下、器官判定とも記載する。）の対象となる判定対象画像領域ＪＩＡとして設定される（Ｓ２２５ｄ）。
設定された判定対象画像領域ＪＩＡについて、顔器官学習データＯＬＤを用いて、器官（右目、左目、口）毎に、器官判定に用いられる累計評価値Ｔｖが算出される（Ｓ２２５ｅ）。顔器官学習データＯＬＤの設定のための学習は、顔学習データＦＬＤの設定のための学習と同様に、顔の器官の画像を含むことが予め分かっている複数の器官サンプル画像によって構成された器官サンプル画像群と、顔の器官の画像を含まないことが予め分かっている複数の非器官サンプル画像によって構成された非器官サンプル画像群と、を用いて実行されうる。
【００７４】
なお、顔領域ＦＡの検出においては累計評価値Ｔｖが特定顔傾き毎に算出され、特定顔傾き毎に顔判定が行われるのに対し、器官検出用画像ＯＤＩからの器官領域の検出では、累計評価値Ｔｖは１つの判定対象画像領域ＪＩＡについて傾き０度に対応した１つの値のみが算出され、傾き０度に対応した器官の画像についての器官判定のみが行われる。これは、顔の器官の傾きは、顔全体の傾きに概ね一致するものと考えられるからである。但し、器官領域の検出においても、所定の傾き毎に累計評価値Ｔｖが算出され、所定の傾き毎に器官判定が行われるものとしてもよい。
【００７５】
器官毎に算出された累計評価値Ｔｖが所定の閾値ＴＨ以上である場合には、判定対象画像領域ＪＩＡは顔の当該機関の画像に対応する画像領域であるとして、判定対象画像領域ＪＩＡの位置、すなわち現在設定されている検出窓ＳＷの座標が記憶される（Ｓ２２５ｆ、Ｓ２２５ｇ）。一方、累計評価値Ｔｖが閾値ＴＨよりも小さい場合には、Ｓ２２５ｇの処理はスキップされる。検出窓ＳＷの所定のサイズの全てについて検出窓ＳＷによち器官検出用画像ＯＤＩ全体がスキャンされた後に、器官領域設定処理が実行される（Ｓ２２５ｌ）。器官領域設定処理は、顔領域設定処理と同様に平均検出窓ＡＷを設定して、平均検出窓ＡＷにより規定される画像領域を器官領域として設定する処理である。
【００７６】
以上の処理により、器官検出用画像ＯＤＩにおいて、右目の画像に対応する画像領域である右目領域ＥＡｒと、左目の画像に対応する画像領域である左目領域ＥＡｌと、口の画像に対応する画像領域であるＭｏＡと、の検出が行われる。図２０は、器官領域の検出結果の一例を示す説明図である。
【００７７】
（５）顔特徴位置特定処理： 
図２１は、本実施形態にかかる顔特徴位置特定処理の流れを示すフローチャートである。本実施形態における顔特徴位置特定処理は、ＡＡＭを利用して注目画像に含まれる顔画像における特徴点ＣＰの配置を決定することにより、顔画像における特徴部位の位置を検出する処理である。上述したように、本実施形態では、ＡＡＭ設定処理において、人物の顔の器官（眉毛、目、鼻、口）および顔の輪郭における計６８箇所の所定位置を特徴点に設定してＡＡＭ情報を作成しているため、対象顔領域についても計６８箇所の特徴点ＣＰの配置を決定する。
【００７８】
なお、顔特徴位置特定処理によって顔画像における特徴点ＣＰの配置が決定されると、顔画像についての形状パラメーターｐｉや、テクスチャーパラメーターλｉの値が特定される。従って、顔特徴位置特定処理の処理結果は、特定の表情（例えば笑顔や目を閉じた顔）の顔画像を検出するための表情判定や、特定の向き（例えば右向きや下向き）の顔画像を検出するための顔向き判定、顔の形状を変形する顔変形、顔の陰影補正等に利用可能である。
【００７９】
Ｓ４０５において、顔特徴位置特定順位を設定するカウンターＣを初期化する。このカウンターＣに対応する順位の顔領域ＦＡが、顔特徴位置特定処理の処理対象として選択されることになる。
【００８０】
Ｓ４１０において、顔特徴位置特定部Ｍ３は、検出排他領域の設定箇所を示す検出排他領域情報ＥｘＩを取得する。
図２２は、検出排他領域について説明する図である。同図に示すように、顔特徴位置特定処理の対象として選択された顔領域において、該顔領域よりも重要度の高い顔画像の存在する領域は、検出排他領域に設定されることになる。すなわち、顔特徴位置特定順位が３番目の顔領域の検出排他領域は、顔特徴位置特定順位が１番と２番の顔領域に基づいて設定される。
より具体的には、検出排他領域は、図２２（Ａ）に示すように顔特徴位置特定順位が処理対象の顔領域ＦＡよりも上位の顔領域ＦＡ全体が設定されたり、図２２（Ｂ）に示すように顔特徴位置特定順位が処理対象の顔領域ＦＡよりも上位の顔領域ＦＡについて顔特徴位置特定処理によって特定された顔輪郭領域を設定したりする。
すなわち、顔特徴位置特定処理においては、顔特徴位置特定処理の処理対象として選択された顔領域ＦＡが該顔領域ＦＡについて設定された検出排他領域と重複している場合には、該顔領域ＦＡを顔特徴位置特定処理の処理対象から除外したり、後述のノルムを算出する際に検出排他領域と重複するメッシュに属する画素を除外したりする。なお、本実施形態においては、検出排他領域情報ＥｘＩを取得しつつＳ４０５〜Ｓ４４０の処理を実行する顔特徴位置特定部Ｍ３が重複検出部を構成する。
【００８１】
Ｓ４１５において、顔特徴位置特定部Ｍ３は、顔特徴位置特定処理の対象となる顔領域ＦＡを表す画像データを取得する。本実施形態においては、顔領域・器官領域検出処理において検出された顔領域ＦＡには検出順位が決定されており、カウンターＣによって検出順位を示している。すなわち、Ｓ４１５では、カウンターＣの値に対応する検出順位の顔領域ＦＡに含まれる画像を注目顔画像ＯＩとし、注目顔画像ＯＩに対応する画像データを注目顔画像データとして取得する。なお、顔領域・器官領域検出処理において顔領域ＦＡが検出されなかった場合には、対象画像データに顔の画像が含まれていないと判断して、顔特徴位置特定処理を終了する。
【００８２】
Ｓ４２０において、顔特徴位置特定部Ｍ３は、注目顔画像ＯＩにおける特徴点ＣＰの初期位置を設定する。Ｓ４２０の特徴点ＣＰ初期位置設定処理については、（５−１）節で詳細に説明する。
Ｓ４２５において、顔特徴位置特定部Ｍ３は、注目顔画像ＯＩにおける特徴点ＣＰの設定位置の補正を行う。Ｓ４２５の特徴点ＣＰ配置更新処理については、（５−２）節で詳細に説明する。
Ｓ４２８において、顔特徴位置特定部Ｍ３は、注目顔画像ＯＩについて算出された特徴点ＣＰの確からしさを表す特徴部位信頼度を算出する。特徴部位信頼度は、注目顔画像ＯＩにおける実際の特徴部位の位置にどれだけ近いかを表す指標地である。Ｓ４２８の特徴部位信頼度算出処理については、（５−３）節で詳細に説明する。
【００８３】
Ｓ４３０において、顔特徴位置特定部Ｍ３は、Ｓ４２０，Ｓ４２５の処理で顔特徴位置が特定された顔領域ＦＡに対応する領域を検出排他領域情報ＥｘＩに追加する。すなわち、Ｓ４２０，Ｓ４２５の処理で顔特徴位置が特定された顔領域ＦＡ全体を新たな検出排他領域として検出排他領域情報ＥｘＩに追加、もしくはＳ４２０，Ｓ４２５の処理で特定された顔特徴位置のうち、顔の外周に位置する特徴点ＣＰ（フェイスラインに対応する特徴点ＣＰ）を結ぶ直線により囲まれた領域を新たな検出排他領域として検出排他領域情報ＥｘＩに追加する。
【００８４】
Ｓ４３５において、顔特徴位置特定部Ｍ３は、顔領域・器官領域検出処理によって検出された顔領域ＦＡの全てについて顔特徴位置特定処理を行ったか否かを判断する。未処理の顔領域ＦＡがある場合はＳ４４０に進んでカウンターＣをインクリメントし、Ｓ４１０で新たな顔領域ＦＡに対応する画像データについて顔特徴位置特定処理を実行する。一方、全ての顔領域ＦＡについて顔特徴位置特定処理が完了していれば、顔特徴位置特定処理を終了する。
【００８５】
Ｓ４３８において、顔特徴位置特定部Ｍ３は、注目顔画像ＯＩにおいて設定された検出排他領域情報ＥｘＩ、算出された特徴部位信頼度を、対象画像データを含む画像ファイルに付属情報として付加する。すなわち、顔領域・器官領域検出処理と顔特徴位置特定処理とによって、対象画像データと、対象画像ＴＩにおける顔領域および器官領域の位置（座標）を示す情報と、顔領域原信頼度、器官領域原信頼度および顔領域総合信頼度と、各顔領域に対して設定された検出排他領域情報ＥｘＩ、各顔領域の特徴部位について算出された特徴部位信頼度、が含まれた画像ファイルが生成される。
【００８６】
（５−１）特徴点ＣＰ初期位置設定処理： 
図２３は、本実施形態における特徴点ＣＰの初期位置設定処理の流れを示すフローチャートである。本実施形態では、顔特徴位置特定部Ｍ３が、顔領域ＦＡに対する顔画像の大きさ、傾き、位置（上下方向の位置および左右方向の位置）を表すグローバルパラメーターの値を種々変更して、特徴点ＣＰを注目顔画像ＯＩ上の仮位置に設定する。
【００８７】
図２４は、注目顔画像ＯＩにおける特徴点ＣＰの仮位置の一例を示す説明図である。図２４（ａ）および図２４（ｂ）には、注目顔画像ＯＩにおける特徴点ＣＰおよび特徴点ＣＰをつないで形成されるメッシュが示されている。顔特徴位置特定部Ｍ３は、図２４（ａ）および図２４（ｂ）の中央に示すように、顔領域ＦＡの中央部に平均形状ｓ０が形成されるような特徴点ＣＰの仮位置（以下、「基準仮位置」とも呼ぶ）を設定する。
【００８８】
Ｓ４２０ａにおいて、顔特徴位置特定部Ｍ３は、また、基準仮位置に対して、グローバルパラメーターの値を種々変更させた複数の仮位置を設定する。グローバルパラメーター（大きさ、傾き、上下方向の位置および左右方向の位置）を変更することは、注目顔画像ＯＩにおいて特徴点ＣＰにより形成されるメッシュが拡大・縮小、傾きを変更、並行移動することに相当する。従って、顔特徴位置特定部Ｍ３は、図２４（ａ）に示すように、基準仮位置のメッシュを所定倍率で拡大または縮小したメッシュを形成するような仮位置（基準仮位置の図の下および上に示す）や、所定角度だけ時計回りまたは半時計回りに傾きを変更したメッシュを形成するような仮位置（基準仮位置の図の右および左に示す）を設定する。また、顔特徴位置特定部Ｍ３は、基準仮位置のメッシュに対して、拡大・縮小および傾きの変更を組み合わせた変換を行ったメッシュを形成するような仮位置（基準仮位置の図の左上、左下、右上、右下に示す）も設定する。
【００８９】
また、図２４（ｂ）に示すように、顔特徴位置特定部Ｍ３は、基準仮位置のメッシュを所定量だけ上または下に並行移動したメッシュを形成するような仮位置（基準仮位置の図の上および下に示す）や、左または右に並行移動したメッシュを形成するような仮位置（基準仮位置の図の左および右に示す）を設定する。また、顔特徴位置特定部Ｍ３は、基準仮位置のメッシュに対して、上下および左右の並行移動を組み合わせた変換を行ったメッシュを形成するような仮位置（基準仮位置の図の左上、左下、右上、右下に示す）も設定する。
【００９０】
さらに、顔特徴位置特定部Ｍ３は、図２４（ａ）に示す基準仮位置以外の８つの仮位置のそれぞれにおけるメッシュに対して図２４（ｂ）に示す上下左右の並行移動が実行される仮位置も設定する。従って、本実施例では、４つのグローバルパラメーター（大きさ、傾き、上下方向の位置、左右方向の位置）をそれぞれ既知の３段階の値として組み合わせにより設定される８０通り（＝３×３×３×３−１）の仮位置と、基準仮位置の合計８１通りの仮位置が設定される。
【００９１】
Ｓ４２０ｂにおいて、顔特徴位置特定部Ｍ３は、設定された各仮位置に対応する平均形状画像Ｉ（Ｗ（ｘ；ｐ））を生成する。図２５は、平均形状画像Ｉ（Ｗ（ｘ；ｐ））の一例を示す説明図である。平均形状画像Ｉ（Ｗ（ｘ；ｐ））は、入力画像における特徴点ＣＰの配置が平均形状ｓ０における特徴点ＣＰの配置と等しくなるような変換によって算出される。
【００９２】
平均形状画像Ｉ（Ｗ（ｘ；ｐ））を算出するための変換は、サンプル顔画像ＳＩｗ算出のための変換と同様に、三角形領域ＴＡ毎のアフィン変換の集合であるワープＷにより行われる。具体的には、注目顔画像ＯＩに配置された特徴点ＣＰによって平均形状領域ＢＳＡ（外周に位置する特徴点ＣＰにより囲まれた領域）が特定され、注目顔画像ＯＩにおける平均形状領域ＢＳＡに対して三角形領域ＴＡ毎のアフィン変換が行われることにより、平均形状画像Ｉ（Ｗ（ｘ；ｐ））が算出される。本実施例では、平均形状画像Ｉ（Ｗ（ｘ；ｐ））は、平均顔画像Ａ０（ｘ）と同様に平均形状領域ＢＳＡおよびマスク領域ＭＡにより構成され、平均顔画像Ａ０（ｘ）と同サイズの画像として算出される。
【００９３】
なお、上述したように、画素群ｘは、平均形状ｓ０における平均形状領域ＢＳＡに位置する画素の集合である。ワープＷ実行後の画像（平均形状ｓ０を有する顔画像）における画素群ｘに対応するワープＷ実行前の画像（注目顔画像ＯＩの平均形状領域ＢＳＡ）における画素群をＷ（ｘ；ｐ）と表す。平均形状画像は、注目顔画像ＯＩの平均形状領域ＢＳＡにおける画素群Ｗ（ｘ；ｐ）のそれぞれにおける輝度値により構成される画像であるため、Ｉ（Ｗ（ｘ；ｐ））と表される。図２５には、図２４（ａ）に示した９個の仮設定位置に対応する９個の平均形状画像Ｉ（Ｗ（ｘ；ｐ））を示している。
【００９４】
Ｓ４２０ｃにおいて、顔特徴位置特定部Ｍ３は、各仮位置に対応する平均形状画像Ｉ（Ｗ（ｘ；ｐ））と平均顔画像Ａ０（ｘ）との差分画像Ｉｅを算出する。特徴点ＣＰの仮位置は８１種類設定されているため、顔特徴位置特定部Ｍ３は、８１個の差分画像Ｉｅを算出することとなる。このとき、本実施形態においては、差分画像Ｉｅを算出するにあたり、検出排他領域情報ＥｘＩに登録されている検出排他領域の範囲内に位置する画素値については、後述のノルムに影響しないような画素値で置換する。具体的には、例えば検出排他領域として設定されている範囲内の差分画像の画素値が「０」となるように差分画像Ｉｅを算出する。
また、差分画像Ｉｅについては検出排他領域を考慮せずに作成しておき、後述のＳ４２０ｄで差分画像Ｉｅの画素値からノルムを算出する際に、検出排他領域情報ＥｘＩに登録されている検出排他領域の範囲内に位置する画素値について、ノルム算出の対象から除外するようにしてもよい。
【００９５】
Ｓ４２０ｄにおいて、顔特徴位置特定部Ｍ３は、各差分画像Ｉｅの画素値からノルムを算出し、ノルムの値が最も小さい差分画像Ｉｅに対応する仮位置（以下「ノルム最小仮位置」とも呼ぶ）を、注目顔画像ＯＩにおける特徴点ＣＰの初期位置として設定する。ノルムを算出するための画素値は輝度値であってもよいしＲＧＢ値であってもよい。以上により特徴点ＣＰ初期位置設定処理が完了する。
【００９６】
（５−２）特徴点ＣＰ配置更新処理： 
図２６は、本実施形態における特徴点ＣＰ設定位置補正処理の流れを示すフローチャートである。
Ｓ４２５ａにおいて、顔特徴位置特定部Ｍ３は、注目顔画像ＯＩから平均形状画像Ｉ（Ｗ（ｘ；ｐ））を算出する。平均形状画像Ｉ（Ｗ（ｘ；ｐ））の算出方法は、特徴点ＣＰ初期位置設定処理におけるＳ４２０ｂと同様である。
【００９７】
Ｓ４２５ｂにおいて、顔特徴位置特定部Ｍ３は、平均形状画像Ｉ（Ｗ（ｘ；ｐ））と平均顔画像Ａ０（ｘ）との差分画像Ｉｅを算出する。このとき算出される差分画像Ｉｅについても、上述のＳ４２０ｃと同様に、検出排他領域情報ＥｘＩによって検出排他領域として設定されている範囲内については、後述のノルムの算出に影響しないような画素値で置換する。
【００９８】
Ｓ４２５ｃにおいて、顔特徴位置特定部Ｍ３は、差分画像Ｉｅに基づき、特徴点ＣＰの設定位置補正処理が収束したか否かを判定する。顔特徴位置特定部Ｍ３は、差分画像Ｉｅのノルムを算出し、ノルムの値が予め設定された閾値より小さい場合には収束したと判定してＳ４２５ｆに進み、ノルムの値が閾値以上の場合には未だ収束していないと判定してＳ４２５ｄに進む。
【００９９】
なお、顔特徴位置特定部Ｍ３は、算出された差分画像Ｉｅのノルムの値がその前回に実行されたＳ４２５ｃにおいて算出されたノルムの値よりも小さい場合には収束したと判定し、前回値以上である場合には未だ収束していないと判定するものとしてもよい。あるいは、顔特徴位置特定部Ｍ３は、閾値による判定と前回値との比較による判定とを組み合わせて収束判定を行うものとしてもよい。例えば、顔特徴位置特定部Ｍ３は、算出されたノルムの値が、予め設定された閾値より小さく且つ、前回値より小さい場合に収束したと判定し、それ以外の場合には未だ収束していないと判定するものとしてもよい。
【０１００】
Ｓ４２５ｄにおいて、顔特徴位置特定部Ｍ３は、パラメーター更新量ΔＰを算出する。パラメーター更新量ΔＰは、４個のグローバルパラメーター（全体としての大きさ、傾き、Ｘ方向位置、Ｙ方向位置）、および、ｎ個の形状パラメーターｐｉ（式（１）参照）の値の変更量を意味している。なお、特徴点ＣＰを初期位置に設定した直後においては、グローバルパラメーターは、特徴点ＣＰ初期位置設定処理において決定された値が設定されている。また、このときの特徴点ＣＰの初期位置と平均形状ｓ０の特徴点ＣＰの設定位置との相違は、全体としての大きさ、傾き、位置の相違に限られるため、形状モデルにおける形状パラメーターｐｉの値はすべてゼロである。
【０１０１】
パラメーター更新量ΔＰは、下記の式（３）により算出される。すなわち、パラメーター更新量ΔＰは、アップデートマトリックスＲと差分画像Ｉｅとの積である。
【０１０２】
【数３】
2011048469.tif 000005
【０１０３】
式（３）におけるアップデートマトリックスＲは、差分画像Ｉｅに基づきパラメーター更新量ΔＰを算出するために予め学習により設定されたＭ行Ｎ列のマトリックスであり、ＡＡＭ情報ＡＭＩとして内部メモリー１２０に格納されている。本実施例では、アップデートマトリックスＲの行数Ｍは、グローバルパラメーターの数（４個）と、顔特徴位置特定部Ｍ３により選択された形状パラメーターの数（ｎ個）との和（（４＋ｎ）個）に等しく、列数Ｎは、平均顔画像Ａ０（ｘ）の平均形状領域ＢＳＡ内の画素数（５６画素×５６画素−マスク領域ＭＡの画素数）に等しい。アップデートマトリックスＲは、下記の式（４）および（５）により算出される。
【０１０４】
【数４】
2011048469.tif 000006
【数５】
2011048469.tif 000007
【０１０５】
Ｓ４２５ｄにおいて、顔特徴位置特定部Ｍ３は、算出されたパラメーター更新量ΔＰに基づきパラメーター（４個のグローバルパラメーターおよび選択されたｍ個の形状パラメーター）を更新する。これにより、注目顔画像ＯＩにおける特徴点ＣＰの設定位置が補正される。パラメーターの更新の後には、再度、特徴点ＣＰの設置位置が補正された注目顔画像ＯＩからの平均形状画像Ｉ（Ｗ（ｘ；ｐ））の算出（Ｓ４２５ａ）、差分画像Ｉｅの算出（Ｓ４２５ｂ）、差分画像Ｉｅに基づく収束判定（Ｓ４２５ｃ）が行われる。再度の収束判定においても収束していないと判定された場合には、さらに、差分画像Ｉｅに基づくパラメーター更新量ΔＰの算出（Ｓ４２５ｄ）、パラメーターの更新による特徴点ＣＰの設定位置補正（Ｓ４２５ｅ）が行われる。
【０１０６】
図２６のＳ４２５ａ〜Ｓ４２５ｅの処理が繰り返し実行されると、注目顔画像ＯＩにおける各特徴部位に対応する特徴点ＣＰの位置は実際の特徴部位の位置に全体として近づいていき、ある時点で収束判定において収束したと判定される。収束判定において収束したと判定されると、Ｓ４２５ｆに進んで顔特徴位置特定処理を完了する。このとき設定されているグローバルパラメーターおよび形状パラメーターの値により特定される特徴点ＣＰの設定位置が、最終的な注目顔画像ＯＩにおける特徴点ＣＰの設定位置として特定される。
【０１０７】
図２７は、顔特徴位置特定処理の結果の一例を示す説明図である。同図には、注目顔画像ＯＩにおいて最終的に特定された特徴点ＣＰの設定位置が示されている。特徴点ＣＰの設定位置により、注目顔画像ＯＩに含まれる顔の特徴部位（人物の顔の器官（眉毛、目、鼻、口）および顔の輪郭における所定位置）の位置が特定されるため、注目顔画像ＯＩにおける人物の顔の器官の形状・位置や顔の輪郭形状の検出が可能となる。
【０１０８】
また、表情判定や顔向き判定をおこなう場合には、顔特徴位置特定処理が完了した際の選択されたｎ個の形状パラメーターの値と、閾値とを比較することで表情や顔向きを判定することができる。また、顔画像の変形をおこなう場合には、顔特徴位置特定処理が完了した際の選択されたｎ個の形状パラメーターの値を変更することにより顔の形状を良好に変形することができる。
【０１０９】
（５−３）特徴部位信頼度算出処理： 
図２８は、本実施形態にかかる特徴部位信頼度算出処理の流れを示すフローチャートである。
Ｓ４２８ａにおいて、顔特徴位置特定部Ｍ３は、平均形状ｓ０に変換された注目顔画像ＯＩ（平均形状画像Ｉ（Ｗ（ｘ；ｐ）））の平均形状領域ＢＳＡの部分を、テクスチャーモデルにおける第２テクスチャーベクトルＡ２（ｘ）に射影して、第２テクスチャーベクトルＡ２（ｘ）に対応する特徴量を取得する。
【０１１０】
具体的には、顔特徴位置特定部Ｍ３は、特徴点ＣＰ配置更新処理のＳ４２５ｃの収束判定で収束したと判定される直前のＳ４２５ａにおいて算出された平均形状画像Ｉ（Ｘ（ｘ；ｐ））のテクスチャーベクトルと第２テクスチャーベクトルＡ２（ｘ）との内積値を、特徴量として算出する。上述したように、テクスチャーベクトルにおける第２テクスチャーベクトルＡ２（ｘ）は、影成分の変化にほぼ相関するベクトルであるため、算出された特徴量は影成分の変化に実質的に対応する特徴量となる。以下では、第２テクスチャーベクトルＡ２（ｘ）に対応する特徴量を影成分特徴量と記載する。
なお特徴部位信頼度算出処理のＳ４２８ａにおいて、あらためて注目顔画像ＯＩからの平均形状画像Ｉ（Ｗ（ｘ：ｐ））の算出を行って、算出された平均形状画像Ｉ（Ｗ（ｘ；ｐ））を用いて影成分特徴量を算出してもよい。
【０１１１】
Ｓ４２８ｂにおいて、顔特徴位置特定部Ｍ３は、Ｓ４２８ａで算出された影成分特徴量を平均顔画像Ａ０（ｘ）に付加するテクスチャー補正を行う。すなわち、Ｓ４２８ａで算出された内積値が平均顔画像Ａ０（ｘ）のテクスチャーＡに付加される。平均顔画像Ａ０（ｘ）のテクスチャーＡにおけるテクスチャーパラメーターλｉの値はすべてゼロであるため、影成分特徴量を平均顔画像Ａ０（ｘ）に付加するテクスチャー補正により、注目顔画像ＯＩ（平均形状ｓ０に変換された注目顔画像ＯＩ）のテクスチャーＡと平均顔画像Ａ０（ｘ）のテクスチャーＡとが互いに近付くことになる。
【０１１２】
Ｓ４２８ｃにおいて、顔特徴位置特定部Ｍ３は、テクスチャー補正後の平均顔画像Ａ０（ｘ）と注目顔画像ＯＩとに基づき、特徴部位信頼度を算出する。
図２９は、特徴部位信頼度の算出方法の一例を示す説明図である。まず、顔特徴位置特定部Ｍ３は、平均形状ｓ０に変換された注目顔画像ＯＩ（平均形状画像Ｉ（Ｗ（ｘ；ｐ）））からテクスチャー補正後の平均顔画像Ａ０（ｘ）を減算して差分画像Ｉｅを算出する。次に、顔特徴位置特定部Ｍ３は、予め設定された図２９に示す対応関係を用いて、差分画像Ｉｅのノルムに基づき特徴部位信頼度を算出する。
【０１１３】
図２９に示すように、差分画像Ｉｅのノルムが小さいほど注目顔画像ＯＩから算出された平均形状画像Ｉ（Ｗ（ｘ；ｐ））と平均顔画像Ａ０（ｘ）とが近くない（離れている）ことを意味するため、特徴部位信頼度は小さい（低い）値となる。本実施形態では、差分画像Ｉｅのノルムが第１の閾値Ｒ１以下の場合には特徴部位信頼度の値は最高値１００とされ、差分画像Ｉｅのノルムが第２の閾値Ｒ２以上の場合には特徴部位信頼度の値は最低値０とされる。また、差分画像Ｉｅのノルムが第１の閾値Ｒ１より大きく第２の閾値Ｒ２より小さい場合は、差分画像Ｉｅのノルムが大きいほど特徴部位信頼度の値が小さくなるような線形の関係に従い、特徴部位信頼度の値が決定される。
【０１１４】
以上説明したように、本実施形態の顔特徴位置特定処理では、注目顔画像ＯＩにおける特徴部位の位置（特徴点ＣＰの位置）が特定され、特徴部位信頼度が算出される。ここで本実施形態では、平均顔画像Ａ０（ｘ）と注目顔画像ＯＩ（平均形状ｓ０に変換された注目顔画像ＯＩ（平均形状画像Ｉ（Ｗ（ｘ；ｐ））））とのテクスチャーＡが互いに近付くように、平均顔画像Ａ０（ｘ）に注目顔画像ＯＩの影成分特徴量を付加するテクスチャー補正が行われ、その後、平均形状画像Ｉ（Ｗ（ｘ；ｐ））と平均顔画像Ａ０（ｘ）との差分画像Ｉｅに基づく特徴部位信頼度の算出が行われる。そのため、本実施形態では、注目顔画像ＯＩの影成分特徴量による特徴部位信頼度への影響を抑制することができる。例えば、ＡＡＭ設定処理におけるサンプル顔画像ＳＩの選択方法によっては、注目顔画像ＯＩの撮像時の照明条件が逆光や斜光であった場合には、正面光であった場合と比較して、特徴部位信頼度が低い値となる傾向があると考えられる。本実施形態では、テクスチャー補正により、注目顔画像ＯＩの影成分特徴量による特徴部位信頼度への影響を抑制できるため、特徴部位信頼度の算出精度が向上する。
【０１１５】
（６）顔検出結果を利用する各種処理： 
生成された画像ファイルに含まれる種々の情報は、種々の用途に利用可能である。例えば、顔領域ＦＡ、あるいは顔領域ＦＡに基づき設定された画像領域を対象画像領域として所定の補正処理を行う場合に、検出排他領域情報に基づき補正処理内容を設定することが可能である。
【０１１６】
例えば、所定の補正処理が対象画像領域内の画像の変形である場合には、画像ファイルに設定されている検出排他領域は他の顔画像が重複されている箇所であるため、この箇所を変形すると他の顔画像を変形してしまう。そこで、検出排他領域として設定されている箇所には画像の補正処理を実行しない。あるいは検出排他領域が付属情報として付加されている画像ファイルには、画像の変形にかかる補正処理の対象から除外する。このようにすれば、所定の顔画像に対して実行された変形処理が該所定の顔画像に反映されずに、他の顔画像に不適切な変形処理を及ぼしてしまうことを防止できる。なお、具体的な顔変形処理については、特開２００９−１０４６７２号公報や特開２００８−２８２２０５号公報等に記載されている公知の各種処理を利用することができる。
【０１１７】
また、所定の補正処理が顔領域補正としての肌色補正であっても同様であり、検出排他領域として設定されている箇所には画像の補正処理の対象から除外する。あるいは検出排他領域が付属情報として付加されている画像ファイルには、画像の肌色補正にかかる補正処理を実行しない。
【０１１８】
また、所定の補正処理が対象画像領域の顔画像によって行う顔認証である場合には、検出排他領域から得られる特徴量は重複する別の顔から得られる情報であるため、顔認証が不適切なものとなってしまう。そこで、顔認証処理においては、検出排他領域として設定されている箇所は、顔認証に利用しない。具体的には、顔認証処理においては、検出排他領域の画素から得られる画像特徴量を利用しない。
【０１１９】
（７）各種変形例： 
（７−１） 変形例１：
上述した実施形態では、顔特徴位置特定処理の特徴点ＣＰ初期位置設定処理と特徴点ＣＰ配置更新処理とにおいて、他の顔画像との重複を考慮しつつ特徴点ＣＰの位置を特定したが、本変形例１のように、まずは他の顔画像との重複を考慮せずに特徴点ＣＰ初期位置設定処理と特徴点ＣＰ配置更新処理を実行し、その後、特徴部位信頼度算出処理によって作成される特徴部位信頼度が所定の基準より低い顔画像についてのみ、他の顔画像との重複を考慮した特徴位置特定処理を行ってもよい。
【０１２０】
（７−２） 変形例２：
上記実施形態においては、累計評価値Ｔｖを閾値ＴＨと比較することにより顔判定及び器官判定を行っているが、顔判定および器官判定を複数の判別器を用いた判別等の他の方法によって行ってもよい。顔判定および器官判定の方法に応じて、顔学習データＦＬＤおよび顔器官学習データＯＬＤの設定に用いられる学習方法も変更される。また、顔判定および器官判定は、必ずしも学習を用いた判別方法により行われる必要は無く、パターンマッチング等の他の方法によって行われてもよい。
【０１２１】
（７−３）変形例３：
上記実施形態においては、他の顔領域ＦＡとの重複を考慮した顔特徴位置特定処理を行うために、差分画像Ｉｅを算出する際に検出排他領域として設定されている範囲内の画素値を置換する例について記載したが、他の顔領域ＦＡとの重複を考慮した顔特徴位置特定処理としてノルムを算出する際に検出排他領域として設定されている範囲の画素値を算出対象から除外してもよい。
【０１２２】
（７−４）変形例４：
上記実施形態においては、検出排他領域と重複する部位についてノルムの算出対象から除外されるように処理を行ったが、検出排他領域と重複する部位が、顔領域に対して所定割合以上の顔領域については顔特徴位置特定処理の対象から除外してもよい。所定割合としては、顔特徴位置特定処理を有効に実行可能であるかに基づいて決定することが可能であり、例えば、顔領域の半分が検出排他領域と重複する顔領域については、顔特徴位置特定処理の処理対象から除外する。
【０１２３】
（８）まとめ： 
以上説明した実施形態によれば、対象画像ＴＩに含まれる顔画像の輪郭を特定するにあたり、顔領域検出部Ｍ１が対象画像ＴＩから顔領域ＦＡを検出し、各顔領域ＦＡの検出された座標に基づいて重複範囲を設定する。そして、検出順位設定部Ｍ２は、顔領域ＦＡの信頼度や顔領域ＦＡのサイズや顔領域ＦＡにおける器官検出の有無などに基づいて検出順位情報ＲＩを作成する。顔特徴位置特定部Ｍ３は、検出順位情報ＲＩに基づいて特徴点ＣＰの位置を特定すべき顔領域ＦＡを選択し、この顔領域ＦＡよりも順位が上位の顔領域ＦＡとの重複範囲については考慮しつつ、順位が下位の顔領域ＦＡとの重複範囲については考慮せずに、特徴点ＣＰの位置を特定することにより顔画像の輪郭を特定する。よって、ＡＡＭによる顔画像のモデル化の精度を向上し、重なり合った顔画像であっても顔輪郭の特定精度を向上することができる。
【０１２４】
なお、本発明は上述した実施形態や変形例に限られず、上述した実施形態および変形例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、公知技術並びに上述した実施形態および変形例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、等も含まれる。
【符号の説明】
【０１２５】
１００…プリンター、１１０…ＣＰＵ、１２０…内部メモリー、１３０…操作部、１４０…表示部、１５０…プリンターエンジン、１５５…印刷機構、１６０…カードインターフェース、１６２…カードスロット、ＭＣ…メモリーカード、ＤＰ…表示処理部、ＧＰ…画像処理部、ＰＰ…印刷処理部、Ｍ１…顔領域検出部、Ｍ２…検出順位設定部、Ｍ３…顔特徴位置特定部、Ｍ４…顔補正部、ＡＭＩ…ＡＡＭ情報、ＦＬＤ…顔学習データ、ＯＬＤ…顔器官学習データ 
【図１】
2011048469.tif 000008
【図２】
2011048469.tif 000009
【図３】
2011048469.tif 000010
【図４】
2011048469.tif 000011
【図５】
2011048469.tif 000012
【図６】
2011048469.tif 000013
【図７】
2011048469.tif 000014
【図８】
2011048469.tif 000015
【図９】
2011048469.tif 000016
【図１０】
2011048469.tif 000017
【図１１】
2011048469.tif 000018
【図１２】
2011048469.tif 000019
【図１３】
2011048469.tif 000020
【図１４】
2011048469.tif 000021
【図１５】
2011048469.tif 000022
【図１６】
2011048469.tif 000023
【図１７】
2011048469.tif 000024
【図１８】
2011048469.tif 000025
【図１９】
2011048469.tif 000026
【図２０】
2011048469.tif 000027
【図２１】
2011048469.tif 000028
【図２２】
2011048469.tif 000029
【図２３】
2011048469.tif 000030
【図２４】
2011048469.tif 000031
【図２５】
2011048469.tif 000032
【図２６】
2011048469.tif 000033
【図２７】
2011048469.tif 000034
【図２８】
2011048469.tif 000035
【図２９】
2011048469.tif 000036