(57)【要約】【課題】顔領域検出処理の高速化を図りつつ顔領域の位置や傾きに関する検出精度を向上させることを可能とする。【解決手段】画像処理装置は、対象画像データの表す対象画像における顔の画像に対応する顔領域の検出を行う顔領域検出部と、検出された顔領域における顔の器官の画像に対応する器官領域の検出を行う器官領域検出部と、器官領域の検出結果に基づき顔領域に表された顔の画像面内における傾きを推定する顔傾き推定部と、を備える。【選択図】図１４
2009237613.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置であって、
対象画像データの表す対象画像における顔の画像に対応する顔領域の検出を行う顔領域検出部と、
検出された前記顔領域における顔の器官の画像に対応する器官領域の検出を行う器官領域検出部と、
前記器官領域の検出結果に基づき、前記顔領域に表された顔の画像面内における傾きを推定する顔傾き推定部と、を備える、画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
前記顔領域検出部は、
前記対象画像上における画像領域である判定対象画像領域を設定する判定対象設定部と、
前記判定対象画像領域が顔の画像に対応する画像領域であることの確からしさを表す評価値を算出するための評価用データを記憶する記憶部と、
前記評価用データと前記判定対象画像領域に対応する画像データとに基づき前記評価値を算出する評価値算出部と、
前記評価値に基づき、前記判定対象画像領域が顔の画像に対応する画像領域であるか否かを判定する判定部と、
顔の画像に対応する画像領域であると判定された前記判定対象画像領域の位置およびサイズに基づき前記顔領域を設定する領域設定部と、を含む、画像処理装置。
【請求項３】
請求項２に記載の画像処理装置であって、
前記評価用データは、画像面内における互いに異なる任意の傾きを有する複数の顔の画像を含む顔画像群を用いた学習により生成される、画像処理装置。
【請求項４】
請求項３に記載の画像処理装置であって、
前記顔画像群は、画像面内における傾きが互いに３０度以上異なる複数の顔の画像を含む、画像処理装置。
【請求項５】
請求項３または請求項４に記載の画像処理装置であって、
前記評価値は、前記判定対象画像領域が前記顔画像群に含まれる顔の画像の傾きと同一の傾きを有する顔の画像に対応する画像領域であることの確からしさを表す、画像処理装置。
【請求項６】
請求項１ないし請求項５のいずれかに記載の画像処理装置であって、
前記器官領域検出部は、少なくとも２種類の器官に対応する前記器官領域の検出を行い、
前記顔傾き推定部は、前記少なくとも２種類の器官に対応する前記器官領域間の位置関係に基づき、前記傾きを推定する、画像処理装置。
【請求項７】
請求項６に記載の画像処理装置であって、さらに、
前記器官領域の検出結果に基づき、検出された前記器官領域が真に顔の器官の画像に対応する画像領域であることの確からしさを表す器官領域信頼度を算出する信頼度算出部を備え、
前記顔傾き推定部は、特定の種類の器官に対応する前記器官領域が複数検出された場合には、前記器官領域信頼度に基づき、前記傾きの推定に利用する前記器官領域を選択する、画像処理装置。
【請求項８】
請求項７に記載の画像処理装置であって、
前記器官領域検出部は、
前記顔領域上における画像領域である判定対象画像領域を設定する判定対象設定部と、
前記判定対象画像領域が顔の器官の画像に対応する画像領域であることの確からしさを表す評価値を算出するための評価用データを記憶する記憶部と、
前記評価用データと前記判定対象画像領域に対応する画像データとに基づき前記評価値を算出する評価値算出部と、
前記評価値に基づき、前記判定対象画像領域が顔の器官の画像に対応する画像領域であるか否かを判定する判定部と、
顔の器官の画像に対応する画像領域であると判定された１つまたは複数の互いに一部が重複する前記判定対象画像領域の位置およびサイズに基づき前記器官領域を設定する領域設定部と、を含み、
前記信頼度算出部は、前記器官領域の設定の際に参照された前記判定対象画像領域の数と前記評価値との少なくとも１つに基づき前記器官領域信頼度を算出する、画像処理装置。
【請求項９】
請求項１ないし請求項８のいずれかに記載の画像処理装置であって、さらに、
前記推定された傾きに基づき、前記顔領域を再設定する顔領域再設定部を備える、画像処理装置。
【請求項１０】
請求項１ないし請求項９のいずれかに記載の画像処理装置であって、
前記顔の器官の種類は、右目と左目と口との少なくとも１つである、画像処理装置。
【請求項１１】
画像処理方法であって、
（ａ）対象画像データの表す対象画像における顔の画像に対応する顔領域の検出を行う工程と、
（ｂ）検出された前記顔領域における顔の器官の画像に対応する器官領域の検出を行う工程と、
（ｃ）前記器官領域の検出結果に基づき、前記顔領域に表された顔の画像面内における傾きを推定する工程と、を備える、画像処理方法。
【請求項１２】
画像処理のためのコンピュータプログラムであって、
対象画像データの表す対象画像における顔の画像に対応する顔領域の検出を行う顔領域検出機能と、
検出された前記顔領域における顔の器官の画像に対応する器官領域の検出を行う器官領域検出機能と、
前記器官領域の検出結果に基づき、前記顔領域に表された顔の画像面内における傾きを推定する顔傾き推定機能と、を、コンピュータに実現させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象画像からの顔の画像に対応する顔領域の検出に関する。
【背景技術】
【０００２】
画像データの表す画像中から部分画像を順次切り出し、切り出した部分画像が顔に対応する画像であるか否かを判定することにより、画像中から顔の画像に対応する顔領域を検出する技術が知られている（例えば特許文献１ないし４）。
【０００３】
【特許文献１】特開２００３−２５６８３４号公報
【特許文献２】特開２００３−２８１５３９号公報
【特許文献３】特開２００６−０６５６４０号公報
【特許文献４】特開２００５−０２５７４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
対象画像からの顔領域の検出においては、処理の高速化を図りつつ、顔領域の位置や傾きに関する検出精度を向上させることが望まれていた。
【０００５】
本発明は、上記の課題を解決するためになされたものであり、顔領域検出処理の高速化を図りつつ、顔領域の位置や傾きに関する検出精度を向上させることを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一部を解決するために、本発明は、以下の形態または適用例として実現することが可能である。
【０００７】
［適用例１］画像処理装置であって、
対象画像データの表す対象画像における顔の画像に対応する顔領域の検出を行う顔領域検出部と、
検出された前記顔領域における顔の器官の画像に対応する器官領域の検出を行う器官領域検出部と、
前記器官領域の検出結果に基づき、前記顔領域に表された顔の画像面内における傾きを推定する顔傾き推定部と、を備える、画像処理装置。
【０００８】
この画像処理装置では、対象画像データの表す対象画像における顔の画像に対応する顔領域の検出が行われ、検出された顔領域における顔の器官の画像に対応する器官領域の検出が行われ、器官領域の検出結果に基づき顔領域に表された顔の画像面内における傾きが推定されるため、顔領域検出処理の高速化を図りつつ、顔領域の位置や傾きに関する検出精度を向上させることができる。
【０００９】
［適用例２］適用例１に記載の画像処理装置であって、
前記顔領域検出部は、
前記対象画像上における画像領域である判定対象画像領域を設定する判定対象設定部と、
前記判定対象画像領域が顔の画像に対応する画像領域であることの確からしさを表す評価値を算出するための評価用データを記憶する記憶部と、
前記評価用データと前記判定対象画像領域に対応する画像データとに基づき前記評価値を算出する評価値算出部と、
前記評価値に基づき、前記判定対象画像領域が顔の画像に対応する画像領域であるか否かを判定する判定部と、
顔の画像に対応する画像領域であると判定された前記判定対象画像領域の位置およびサイズに基づき前記顔領域を設定する領域設定部と、を含む、画像処理装置。
【００１０】
この画像処理装置では、対象画像上における画像領域である判定対象画像領域が設定され、判定対象画像領域が顔の画像に対応する画像領域であることの確からしさを表す評価値を算出するための評価用データが記憶され、評価用データと判定対象画像領域に対応する画像データとに基づき評価値が算出され、評価値に基づき判定対象画像領域が顔の画像に対応する画像領域であるか否かが判定され、顔の画像に対応する画像領域であると判定された判定対象画像領域の位置およびサイズに基づき顔領域が設定されることにより行われる顔領域検出処理の高速化を図りつつ、顔領域の位置や傾きに関する検出精度を向上させることができる。
【００１１】
［適用例３］適用例２に記載の画像処理装置であって、
前記評価用データは、画像面内における互いに異なる任意の傾きを有する複数の顔の画像を含む顔画像群を用いた学習により生成される、画像処理装置。
【００１２】
この画像処理装置では、顔領域の検出において、画像面内における互いに異なる任意の傾きを有する顔の画像を検出可能であり、顔領域検出処理の高速化を図りつつ、顔領域の位置や傾きに関する検出精度を向上させることができる。
【００１３】
［適用例４］適用例３に記載の画像処理装置であって、
前記顔画像群は、画像面内における傾きが互いに３０度以上異なる複数の顔の画像を含む、画像処理装置。
【００１４】
この画像処理装置では、顔領域の検出において、画像面内における傾きが互いに３０度以上異なる顔の画像を検出可能であり、顔領域検出処理の高速化を図りつつ、顔領域の位置や傾きに関する検出精度を向上させることができる。
【００１５】
［適用例５］適用例３または適用例４に記載の画像処理装置であって、
前記評価値は、前記判定対象画像領域が前記顔画像群に含まれる顔の画像の傾きと同一の傾きを有する顔の画像に対応する画像領域であることの確からしさを表す、画像処理装置。
【００１６】
この画像処理装置では、顔領域の検出において、評価値を用いて画像面内における互いに異なる任意の傾きを有する顔の画像を検出可能であり、顔領域検出処理の高速化を図りつつ、顔領域の位置や傾きに関する検出精度を向上させることができる。
【００１７】
［適用例６］適用例１ないし適用例５のいずれかに記載の画像処理装置であって、
前記器官領域検出部は、少なくとも２種類の器官に対応する前記器官領域の検出を行い、
前記顔傾き推定部は、前記少なくとも２種類の器官に対応する前記器官領域間の位置関係に基づき、前記傾きを推定する、画像処理装置。
【００１８】
この画像処理装置では、少なくとも２種類の器官に対応する器官領域間の位置関係に基づき傾きを推定することにより、顔領域の傾きに関する検出精度を向上させることができる。
【００１９】
［適用例７］適用例６に記載の画像処理装置であって、さらに、
前記器官領域の検出結果に基づき、検出された前記器官領域が真に顔の器官の画像に対応する画像領域であることの確からしさを表す器官領域信頼度を算出する信頼度算出部を備え、
前記顔傾き推定部は、特定の種類の器官に対応する前記器官領域が複数検出された場合には、前記器官領域信頼度に基づき、前記傾きの推定に利用する前記器官領域を選択する、画像処理装置。
【００２０】
この画像処理装置では、器官領域信頼度に基づき傾きの推定に利用する器官領域を選択することにより、顔領域の傾きに関する検出精度を向上させることができる。
【００２１】
［適用例８］適用例７に記載の画像処理装置であって、
前記器官領域検出部は、
前記顔領域上における画像領域である判定対象画像領域を設定する判定対象設定部と、
前記判定対象画像領域が顔の器官の画像に対応する画像領域であることの確からしさを表す評価値を算出するための評価用データを記憶する記憶部と、
前記評価用データと前記判定対象画像領域に対応する画像データとに基づき前記評価値を算出する評価値算出部と、
前記評価値に基づき、前記判定対象画像領域が顔の器官の画像に対応する画像領域であるか否かを判定する判定部と、
顔の器官の画像に対応する画像領域であると判定された１つまたは複数の互いに一部が重複する前記判定対象画像領域の位置およびサイズに基づき前記器官領域を設定する領域設定部と、を含み、
前記信頼度算出部は、前記器官領域の設定の際に参照された前記判定対象画像領域の数と前記評価値との少なくとも１つに基づき前記器官領域信頼度を算出する、画像処理装置。
【００２２】
この画像処理装置では、検出された器官領域が真に顔の器官の画像に対応する画像領域であることの確からしさを表す器官領域信頼度を精度良く算出することができる。
【００２３】
［適用例９］適用例１ないし適用例８のいずれかに記載の画像処理装置であって、さらに、
前記推定された傾きに基づき、前記顔領域を再設定する顔領域再設定部を備える、画像処理装置。
【００２４】
この画像処理装置では、位置や傾きに関する精度を向上させた顔領域を再設定することができる。
【００２５】
［適用例１０］適用例１ないし適用例９のいずれかに記載の画像処理装置であって、
前記顔の器官の種類は、右目と左目と口との少なくとも１つである、画像処理装置。
【００２６】
なお、本発明は、種々の態様で実現することが可能であり、例えば、画像処理方法および装置、顔領域検出方法および装置、顔傾き推定方法および装置、これらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
【発明を実施するための最良の形態】
【００２７】
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
Ａ．実施例：
Ａ−１．画像処理装置の構成：
Ａ−２．顔領域検出処理：
Ｂ．変形例：
【００２８】
Ａ．実施例：
Ａ−１．画像処理装置の構成：
図１は、本発明の実施例における画像処理装置としてのプリンタ１００の構成を概略的に示す説明図である。本実施例のプリンタ１００は、メモリカードＭＣ等から取得した画像データに基づき画像を印刷する、いわゆるダイレクトプリントに対応したインクジェット式カラープリンタである。プリンタ１００は、プリンタ１００の各部を制御するＣＰＵ１１０と、ＲＯＭやＲＡＭによって構成された内部メモリ１２０と、ボタンやタッチパネルにより構成された操作部１４０と、液晶ディスプレイにより構成された表示部１５０と、プリンタエンジン１６０と、カードインターフェース（カードＩ／Ｆ）１７０と、を備えている。プリンタ１００は、さらに、他の機器（例えばデジタルスチルカメラやパーソナルコンピュータ）とのデータ通信を行うためのインターフェースを備えているとしてもよい。プリンタ１００の各構成要素は、バスを介して互いに接続されている。
【００２９】
プリンタエンジン１６０は、印刷データに基づき印刷を行う印刷機構である。カードインターフェース１７０は、カードスロット１７２に挿入されたメモリカードＭＣとの間でデータのやり取りを行うためのインターフェースである。なお、本実施例では、メモリカードＭＣに画像データを含む画像ファイルが格納されている。
【００３０】
内部メモリ１２０には、画像処理部２００と、表示処理部３１０と、印刷処理部３２０と、が格納されている。画像処理部２００は、所定のオペレーティングシステムの下で、後述する顔領域検出処理を実行するためのコンピュータプログラムである。表示処理部３１０は、表示部１５０を制御して、表示部１５０上に処理メニューやメッセージ、画像等を表示させるディスプレイドライバである。印刷処理部３２０は、画像データから印刷データを生成し、プリンタエンジン１６０を制御して、印刷データに基づく画像の印刷を実行するためのコンピュータプログラムである。ＣＰＵ１１０は、内部メモリ１２０から、これらのプログラムを読み出して実行することにより、これら各部の機能を実現する。
【００３１】
画像処理部２００は、プログラムモジュールとして、領域検出部２１０と、信頼度算出部２２０と、情報付加部２３０と、を含んでいる。領域検出部２１０は、対象画像データの表す対象画像における所定の種類の被写体の画像（顔の画像および顔の器官の画像）に対応する画像領域の検出を行う。領域検出部２１０は、判定対象設定部２１１と、評価値算出部２１２と、判定部２１３と、領域設定部２１４と、顔傾き推定部２１５と、顔領域決定部２１６と、を含んでいる。これら各部の機能については、後述の顔領域検出処理の説明において詳述する。なお、後述するように、領域検出部２１０は、顔の画像に対応する顔領域の検出および顔の器官の画像に対応する器官領域の検出を行うため、本発明における顔領域検出部および器官領域検出部として機能する。
【００３２】
信頼度算出部２２０は、領域検出部２１０により所定の種類の被写体の画像（顔の画像および顔の器官の画像）に対応する画像領域として検出された画像領域（顔領域および器官領域）が、真に当該所定の種類の被写体の画像に対応する画像領域であることの確からしさを表す信頼度を算出する。情報付加部２３０は、画像データを含む画像ファイルに所定の情報（例えば顔領域および器官領域の位置を示す情報）を付加する。
【００３３】
内部メモリ１２０には、また、予め設定された顔学習データＦＬＤおよび顔器官学習データＯＬＤが格納されている。顔学習データＦＬＤおよび顔器官学習データＯＬＤは、領域検出部２１０による所定の画像領域の検出に用いられる。図２は、顔学習データＦＬＤおよび顔器官学習データＯＬＤを示す説明図である。図２（ａ）ないし図２（ｃ）には、顔学習データＦＬＤおよび顔器官学習データＯＬＤの種類と、当該種類の顔学習データＦＬＤおよび顔器官学習データＯＬＤを用いて検出される画像領域の例と、を示している。
【００３４】
顔学習データＦＬＤの内容については後述の顔領域検出処理の説明において詳述するが、本実施例の顔学習データＦＬＤは、０度から３６０度までの顔傾きに対応している。ここで、顔傾きとは、画像面内（インプレーン）における顔の画像の傾き（回転角度）を意味している。本実施例では、顔傾きを、画像の上下方向に沿って顔の画像が位置している状態（頭頂が上方向を向き顎が下方向を向いた状態）を基準顔傾き（顔傾き＝０度）とした場合における顔の画像の時計回りの角度で表す。また、ある顔傾きに対応する顔学習データＦＬＤは、顔学習データＦＬＤを用いた画像領域の検出において当該顔傾きを有する顔の画像を検出可能な顔学習データＦＬＤである。従って、本実施例の顔学習データＦＬＤは、０度から３６０度までの顔傾き、すなわちすべての顔傾きの顔の画像（図２（ａ）参照）を検出可能な顔学習データＦＬＤである。顔学習データＦＬＤは、０度から３６０度までの顔傾きに対応するように、後述する学習によって設定される。
【００３５】
顔器官学習データＯＬＤは、顔の器官の種類毎に設定されている。本実施例では、顔の器官の種類として目（右目および左目）と口とが設定されている。内部メモリ１２０には、図２（ｂ）に示す目に対応する顔器官学習データＯＬＤと、図２（ｃ）に示す口に対応する顔器官学習データＯＬＤと、が格納されている。
【００３６】
目および口に対応する顔器官学習データＯＬＤは、０度の器官傾きに対応している。ここで、器官傾きとは、上述の顔傾きと同様に、画像面内（インプレーン）における顔の器官の画像の傾き（回転角度）を意味している。器官傾きは、顔傾きと同様に、画像の上下方向に沿って顔の器官の画像が位置している状態を基準器官傾き（器官傾き＝０度）とした場合における顔の器官の画像の時計回りの角度で表す。本実施例の顔器官学習データＯＬＤは、顔器官学習データＯＬＤを用いた画像領域の検出において、０度の器官傾きの顔の器官の画像（図２（ｂ）および図２（ｃ）参照）を検出可能な顔器官学習データＯＬＤである。なお、後述するように、本実施例の顔器官学習データＯＬＤは、０度の器官傾きの器官の画像に加えて、０度を中心に器官傾きの値がプラスマイナス１５度の範囲の器官の画像をも検出可能なように、学習によって設定されている。
【００３７】
なお、本実施例では、右目と左目とは同じ種類の被写体であるとし、右目の画像に対応する右目領域と左目の画像に対応する左目領域とを共通の顔器官学習データＯＬＤを用いて検出するものとしているが、右目と左目とは異なる種類の被写体であるとして、右目領域検出用と左目領域検出用とにそれぞれ専用の顔器官学習データＯＬＤを準備するものとしてもよい。
【００３８】
Ａ−２．顔領域検出処理：
図３は、顔領域検出処理の流れを示すフローチャートである。本実施例における顔領域検出処理は、画像データの表す画像における顔の画像に対応する顔領域を検出する処理である。
【００３９】
ステップＳ１１０では、画像処理部２００（図１）が、顔領域検出処理の対象となる画像を表す画像データを取得する。本実施例のプリンタ１００では、カードスロット１７２にメモリカードＭＣが挿入されると、メモリカードＭＣに格納された画像ファイルのサムネイル画像が表示部１５０に表示される。ユーザは、表示されたサムネイル画像を参照しつつ、操作部１４０を介して処理の対象となる１つまたは複数の画像を選択する。画像処理部２００は、選択された１つまたは複数の画像に対応する画像データを含む画像ファイルをメモリカードＭＣより取得して内部メモリ１２０の所定の領域に格納する。なお、取得された画像データを原画像データと呼び、原画像データの表す画像を原画像ＯＩｍｇと呼ぶものとする。
【００４０】
ステップＳ１２０（図３）では、領域検出部２１０（図１）が、原顔領域検出処理を行う。原顔領域検出処理は、顔の画像に対応する画像領域を原顔領域ＦＡｏとして検出する処理である。原顔領域ＦＡｏは、画像面内における任意の傾きを有する顔の画像に対応する領域である。図４は、原顔領域検出処理の流れを示すフローチャートである。また、図５は、原顔領域検出処理の概要を示す説明図である。図５の最上段には原画像ＯＩｍｇの一例を示している。
【００４１】
原顔領域検出処理（図４）におけるステップＳ３１０では、領域検出部２１０（図１）が、原画像ＯＩｍｇを表す原画像データから顔検出用画像ＦＤＩｍｇを表す顔検出用画像データを生成する。本実施例では、図５に示すように、顔検出用画像ＦＤＩｍｇは横３２０画素×縦２４０画素のサイズの画像である。領域検出部２１０は、必要により原画像データの解像度変換を行うことにより、顔検出用画像ＦＤＩｍｇを表す顔検出用画像データを生成する。なお、本実施例における顔検出用画像ＦＤＩｍｇは本発明における対象画像に相当し、顔検出用画像データは本発明における対象画像データに相当する。
【００４２】
ステップＳ３２０（図４）では、判定対象設定部２１１（図１）が、判定対象画像領域ＪＩＡ（後述）の設定に用いるウィンドウＳＷのサイズを初期値に設定する。ステップＳ３３０では、判定対象設定部２１１が、ウィンドウＳＷを顔検出用画像ＦＤＩｍｇ上の初期位置に配置する。ステップＳ３４０では、判定対象設定部２１１が、顔検出用画像ＦＤＩｍｇ上に配置されたウィンドウＳＷにより規定される画像領域を、顔の画像に対応する画像領域であるか否かの判定（以下「顔判定」とも呼ぶ）の対象となる判定対象画像領域ＪＩＡに設定する。図５の中段には、顔検出用画像ＦＤＩｍｇ上に初期値のサイズのウィンドウＳＷが初期位置に配置され、ウィンドウＳＷにより規定される画像領域が判定対象画像領域ＪＩＡに設定される様子を示している。本実施例では、後述するように、正方形形状のウィンドウＳＷのサイズおよび位置が変更されつつ判定対象画像領域ＪＩＡの設定が順に行われるが、ウィンドウＳＷのサイズの初期値は最大サイズである横２４０画素×縦２４０画素であり、ウィンドウＳＷの初期位置はウィンドウＳＷの左上の頂点が顔検出用画像ＦＤＩｍｇの左上の頂点に重なるような位置である。
【００４３】
ステップＳ３５０（図４）では、評価値算出部２１２（図１）が、判定対象画像領域ＪＩＡについて、顔判定に用いる累計評価値Ｔｖを算出する。図６は、顔判定に用いる累計評価値Ｔｖの算出方法の概要を示す説明図である。本実施例では、累計評価値Ｔｖの算出にＮ個のフィルタ（フィルタ１〜フィルタＮ）が用いられる。各フィルタの外形はウィンドウＳＷと同じアスペクト比を有しており（すなわち正方形形状であり）、各フィルタにはプラス領域ｐａとマイナス領域ｍａとが設定されている。評価値算出部２１２は、判定対象画像領域ＪＩＡにフィルタＸ（Ｘ＝１，２，・・・，Ｎ）を順に適用して評価値ｖＸ（すなわちｖ１〜ｖＮ）を算出する。具体的には、評価値ｖＸは、フィルタＸのプラス領域ｐａに対応する判定対象画像領域ＪＩＡ上の領域内に位置する画素の輝度値の合計から、マイナス領域ｍａに対応する判定対象画像領域ＪＩＡ上の領域内に位置する画素の輝度値の合計を差し引いた値である。
【００４４】
算出された評価値ｖＸは、各評価値ｖＸに対応して設定された閾値ｔｈＸ（すなわちｔｈ１〜ｔｈＮ）と比較される。本実施例では、評価値ｖＸが閾値ｔｈＸ以上である場合には、フィルタＸに関しては判定対象画像領域ＪＩＡが顔の画像に対応する画像領域であると判定され、フィルタＸの出力値として値「１」が設定される。一方、評価値ｖＸが閾値ｔｈＸより小さい場合には、フィルタＸに関しては判定対象画像領域ＪＩＡが顔の画像に対応する画像領域ではないと判定され、フィルタＸの出力値として値「０」が設定される。各フィルタＸには重み係数ＷｅＸ（すなわちＷｅ１〜ＷｅＮ）が設定されており、すべてのフィルタについての出力値と重み係数ＷｅＸとの積の合計が、累計評価値Ｔｖとして算出される。
【００４５】
なお、顔判定に用いられるフィルタＸの態様や閾値ｔｈＸ、重み係数ＷｅＸ、後述の閾値ＴＨは、顔学習データＦＬＤ（図２（ａ）参照）として予め設定されている。本実施例における顔学習データＦＬＤは、判定対象画像領域ＪＩＡが顔の画像に対応する画像領域であることの確からしさを表す評価値を算出するためのデータであるため、本発明における評価用データに相当する。
【００４６】
顔学習データＦＬＤは、サンプル画像を用いた学習によって生成される。図７は、学習に用いられるサンプル画像の一例を示す説明図である。学習には、顔に対応する画像であることが予めわかっている複数の顔サンプル画像によって構成された顔サンプル画像群と、顔に対応する画像ではないことが予めわかっている複数の非顔サンプル画像によって構成された非顔サンプル画像群と、が用いられる。
【００４７】
図７に示すように、顔サンプル画像群は、画像面内における互いに異なる任意の傾きを有する複数の顔サンプル画像を含んでいる。具体的には、顔サンプル画像群は、特定顔傾きに対応する複数の顔サンプルサブ画像群により構成されている。ここで、特定顔傾きとは、基準顔傾き（顔傾き＝０度）と基準顔傾きから顔傾きを３０度ずつ順に増加させた顔傾きとの計１２個の顔傾き（０度、３０度、６０度、・・・、３３０度）である。
【００４８】
各特定顔傾きに対応する顔サンプルサブ画像群は、画像サイズに対する顔の画像の大きさの比が所定の値の範囲内であると共に顔の画像の傾きが特定顔傾きに等しい複数の顔サンプル画像（以下、「基本顔サンプル画像」とも呼ぶ）を含む。また、各顔サンプルサブ画像群は、少なくとも１つの基本顔サンプル画像について、基本顔サンプル画像を１．２倍から０．８倍までの範囲の所定の倍率で拡大および縮小した画像（例えば図７おける画像ＦＩａおよびＦＩｂ）や、基本顔サンプル画像の顔傾きをプラスマイナス１５度の範囲で変化させた画像（例えば図７における画像ＦＩｃおよびＦＩｄ）をも含む。従って、顔サンプル画像群は、特定顔傾きを有する顔の画像と、特定顔傾きではなく２つの隣接する特定顔傾き間の範囲内の任意の顔傾きを有する顔の画像と、を含むこととなる。
【００４９】
サンプル画像を用いた学習は、例えばニューラルネットワークを用いた方法や、ブースティング（例えばアダブースティング）を用いた方法、サポートベクターマシーンを用いた方法等により実行される。例えば学習がニューラルネットワークを用いた方法により実行される場合には、各フィルタＸ（すなわちフィルタ１〜フィルタＮ、図６参照）について、顔サンプル画像群（図７参照）と非顔サンプル画像群とに含まれるすべてのサンプル画像を用いて評価値ｖＸ（すなわちｖ１〜ｖＮ）が算出され、所定の顔検出率を達成する閾値ｔｈＸ（すなわちｔｈ１〜ｔｈＮ）が設定される。ここで、顔検出率とは、顔サンプル画像群を構成する顔サンプル画像の総数に対する、評価値ｖＸによる閾値判定によって顔の画像に対応する画像であると判定される顔サンプル画像の数の割合を意味している。
【００５０】
次に、各フィルタＸに設定された重み係数ＷｅＸ（すなわちＷｅ１〜ＷｅＮ）が初期値に設定され、顔サンプル画像群および非顔サンプル画像群の中から選択された１つのサンプル画像についての累計評価値Ｔｖが算出される。後述するように、顔判定においては、ある画像について算出された累計評価値Ｔｖが所定の閾値ＴＨ以上の場合には、当該画像は顔の画像に対応する画像であると判定される。学習においては、選択されたサンプル画像（顔サンプル画像または非顔サンプル画像）について算出された累計評価値Ｔｖによる閾値判定結果の正誤に基づき、各フィルタＸに設定された重み係数ＷｅＸの値が修正される。以降、サンプル画像の選択と、選択されたサンプル画像について算出された累計評価値Ｔｖによる閾値判定、および判定結果の正誤に基づく重み係数ＷｅＸの値の修正が、顔サンプル画像群および非顔サンプル画像群に含まれるすべてのサンプル画像について繰り返し実行される。このような処理によって顔学習データＦＬＤが設定される。
【００５１】
なお、上述したように、顔学習データＦＬＤは、特定顔傾きを有する顔の画像と、特定顔傾きではなく特定顔傾き間の範囲内の任意の顔傾きを有する顔の画像と、を含む顔サンプル画像群を用いた学習により設定されるため、顔領域検出処理において０度から３６０度まで、すなわちすべての顔傾きの顔の画像が検出可能な顔学習データＦＬＤとなる。また、累計評価値Ｔｖは、判定対象画像領域ＪＩＡが顔サンプル画像群に含まれる顔サンプル画像の顔傾きと同一の顔傾きを有する顔の画像に対応する画像領域であることの確からしさを表す指標である。
【００５２】
判定対象画像領域ＪＩＡについて累計評価値Ｔｖが算出されると（図４のステップＳ３５０）、判定部２１３（図１）は、累計評価値Ｔｖを予め設定された閾値ＴＨと比較する（ステップＳ３６０）。累計評価値Ｔｖが閾値ＴＨ以上である場合には、領域検出部２１０が、判定対象画像領域ＪＩＡは顔の画像に対応する画像領域であるとして、判定対象画像領域ＪＩＡの位置、すなわち現在設定されているウィンドウＳＷの座標を記憶する（ステップＳ３７０）。一方、累計評価値Ｔｖが閾値ＴＨより小さい場合には、ステップＳ３７０の処理はスキップされる。
【００５３】
ステップＳ３８０（図４）では、領域検出部２１０（図１）が、現在設定されているサイズのウィンドウＳＷにより顔検出用画像ＦＤＩｍｇ全体がスキャンされたか否かを判定する。未だ顔検出用画像ＦＤＩｍｇ全体がスキャンされていないと判定された場合には、判定対象設定部２１１（図１）が、ウィンドウＳＷを所定の方向に所定の移動量だけ移動する（ステップＳ３９０）。図５の下段には、ウィンドウＳＷが移動した様子を示している。本実施例では、ステップＳ３９０において、ウィンドウＳＷがウィンドウＳＷの水平方向の大きさの２割分の移動量で右方向に移動するものとしている。また、ウィンドウＳＷがさらに右方向には移動できない位置に配置されている場合には、ステップＳ３９０において、ウィンドウＳＷが顔検出用画像ＦＤＩｍｇの左端まで戻ると共に、ウィンドウＳＷの垂直方向の大きさの２割分の移動量で下方向に移動するものとしている。ウィンドウＳＷがさらに下方向には移動できない位置に配置されている場合には、顔検出用画像ＦＤＩｍｇ全体がスキャンされたこととなる。ウィンドウＳＷの移動（ステップＳ３９０）の後には、移動後のウィンドウＳＷについて、上述のステップＳ３４０以降の処理が実行される。
【００５４】
ステップＳ３８０（図４）において現在設定されているサイズのウィンドウＳＷにより顔検出用画像ＦＤＩｍｇ全体がスキャンされたと判定された場合には、ウィンドウＳＷの所定のサイズがすべて使用されたか否かが判定される（ステップＳ４００）。本実施例では、ウィンドウＳＷのサイズとして、初期値（最大サイズ）である横２４０画素×縦２４０画素の他に、横２１３画素×縦２１３画素、横１７８画素×縦１７８画素、横１４９画素×縦１４９画素、横１２４画素×縦１２４画素、横１０３画素×縦１０３画素、横８６画素×縦８６画素、横７２画素×縦７２画素、横６０画素×縦６０画素、横５０画素×縦５０画素、横４１画素×縦４１画素、横３５画素×縦３５画素、横２９画素×縦２９画素、横２４画素×縦２４画素、横２０画素×縦２０画素（最小サイズ）、の合計１５個のサイズが設定されている。未だ使用されていないウィンドウＳＷのサイズがあると判定された場合には、判定対象設定部２１１（図１）が、ウィンドウＳＷのサイズを現在設定されているサイズの次に小さいサイズに変更する（ステップＳ４１０）。すなわち、ウィンドウＳＷのサイズは、最初に最大サイズに設定され、その後、順に小さいサイズに変更されていく。ウィンドウＳＷのサイズの変更（ステップＳ４１０）の後には、変更後のサイズのウィンドウＳＷについて、上述のステップＳ３３０以降の処理が実行される。
【００５５】
ステップＳ４００（図４）においてウィンドウＳＷの所定のサイズがすべて使用されたと判定された場合には、領域設定部２１４（図１）が、原顔領域設定処理を実行する（ステップＳ４２０）。図８は、原顔領域設定処理の概要を示す説明図である。領域設定部２１４は、図４のステップＳ３６０において累計評価値Ｔｖが閾値ＴＨ以上であると判定されステップＳ３７０において記憶されたウィンドウＳＷの座標に基づき、原顔領域ＦＡｏを設定する。具体的には、ステップＳ３７０において記憶されたウィンドウＳＷが他の記憶されたウィンドウＳＷの一部と重複しない場合には、ウィンドウＳＷにより規定される画像領域（すなわち判定対象画像領域ＪＩＡ（図５参照））が、そのまま原顔領域ＦＡｏとして設定される。
【００５６】
一方、ステップＳ３７０（図４）において、互いに一部が重複する複数のウィンドウＳＷが記憶された場合には、領域設定部２１４（図１）は、各ウィンドウＳＷにおける所定の点（例えばウィンドウＳＷの重心）の座標の平均の座標を重心とし、各ウィンドウＳＷのサイズの平均のサイズを有する１つの新たなウィンドウ（以下、「平均ウィンドウＡＷ」とも呼ぶ）を設定し、平均ウィンドウＡＷにより規定される画像領域を原顔領域ＦＡｏとして設定する。例えば図８（ａ）に示すように、互いに一部が重複する４つのウィンドウＳＷ（ＳＷ１〜ＳＷ４）が記憶された場合には、図８（ｂ）に示すように、４つのウィンドウＳＷのそれぞれの重心の座標の平均の座標を重心とし、４つのウィンドウＳＷのそれぞれのサイズの平均のサイズを有する１つの平均ウィンドウＡＷが定義され、平均ウィンドウＡＷにより規定される画像領域が原顔領域ＦＡｏとして設定される。
【００５７】
なお、他のウィンドウＳＷと重複しない１つのウィンドウＳＷが記憶された場合にも、互いに一部が重複する複数のウィンドウＳＷが記憶された場合と同様に、１つのウィンドウＳＷ自身が平均ウィンドウＡＷであると解釈することも可能である。
【００５８】
本実施例では、学習の際に用いられる顔サンプル画像群（図７参照）に、基本顔サンプル画像を１．２倍から０．８倍までの範囲の所定の倍率で拡大および縮小した画像（例えば図７における画像ＦＩａおよびＦＩｂ）が含まれているため、ウィンドウＳＷの大きさに対する顔の画像の大きさが基本顔サンプル画像と比べてわずかに大きかったり小さかったりする場合にも、原顔領域ＦＡｏが検出されうる。従って、本実施例では、ウィンドウＳＷのサイズとして上述した１５個の離散的なサイズのみが設定されているが、あらゆる大きさの顔の画像について原顔領域ＦＡｏが検出されうる。
【００５９】
原顔領域検出処理（図３のステップＳ１２０）において、原顔領域ＦＡｏが検出されなかった場合には（ステップＳ１３０：Ｎｏ）、顔領域検出処理は終了する。一方、少なくとも１つの原顔領域ＦＡｏが検出された場合には（ステップＳ１３０：Ｙｅｓ）、領域検出部２１０（図１）が、検出された原顔領域ＦＡｏの１つを選択する（ステップＳ１４０）。
【００６０】
ステップＳ１５０では、領域検出部２１０が、器官領域検出処理を行う。器官領域検出処理は、選択された原顔領域ＦＡｏにおける顔の器官の画像に対応する画像領域を器官領域として検出する処理である。上述したように、本実施例では、顔の器官の種類は、右目と左目と口との３種類を意味しており、器官領域検出処理では、右目の画像に対応する右目領域ＥＡ（ｒ）と、左目の画像に対応する左目領域ＥＡ（ｌ）と、口の画像に対応する口領域ＭＡと、の検出が行われる。
【００６１】
図９は、器官領域検出処理の流れを示すフローチャートである。器官領域検出処理のステップＳ５１０では、領域検出部２１０（図１）が、器官検出用画像ＯＤＩｍｇを表す器官検出用画像データ生成する。図１０は、器官検出用画像ＯＤＩｍｇの一例を示す説明図である。図１０（ａ）には、顔検出用画像ＦＤＩｍｇ上に設定された平均ウィンドウＡＷにより規定される原顔領域ＦＡｏを示している。器官検出用画像ＯＤＩｍｇは、図１０（ｂ）に示すように、顔検出用画像ＦＤＩｍｇ上において、平均ウィンドウＡＷの重心を中心として０度から３３０度までの３０度ピッチの１２個の角度分だけ平均ウィンドウＡＷを時計回りに回転させ（平均ウィンドウＡＷの傾きを変化させ）た後の各平均ウィンドウＡＷにより規定される１２個の画像領域を、当該角度分だけ反時計回りに回転させた画像である。図１０（ｂ）には、平均ウィンドウＡＷの回転角度と、当該回転角度に対応する器官検出用画像ＯＤＩｍｇの例とを対応付けて示している。なお、本実施例では、器官検出用画像ＯＤＩｍｇは横６０画素×縦６０画素のサイズの画像である。そのため、領域検出部２１０は、必要により顔検出用画像ＦＤＩｍｇのトリミング、回転、解像度変換を行うことにより、１２個の器官検出用画像ＯＤＩｍｇを生成する。
【００６２】
ステップＳ５２０（図９）では、領域検出部２１０（図１）が、生成された器官検出用画像ＯＤＩｍｇの１つを選択する。器官検出用画像ＯＤＩｍｇの選択の後は、選択された器官検出用画像ＯＤＩｍｇからの器官領域の検出が、上述した顔検出用画像ＦＤＩｍｇからの原顔領域ＦＡｏの検出と同様に行われる。図１１は、器官領域検出処理の概要を示す説明図である。図１１の最上段には、選択された器官検出用画像ＯＤＩｍｇの一例を示している。
【００６３】
選択された器官検出用画像ＯＤＩｍｇからの器官領域の検出においては、図１１に示すように、矩形形状のウィンドウＳＷがそのサイズおよび位置が変更されつつ器官検出用画像ＯＤＩｍｇ上に配置され（図９のステップＳ５３０，Ｓ５４０，Ｓ５９０〜Ｓ６２０）、配置されたウィンドウＳＷにより規定される画像領域が顔の器官の画像に対応する器官領域であるか否かの判定（以下「器官判定」とも呼ぶ）の対象となる判定対象画像領域ＪＩＡとして設定される（図９のステップＳ５５０）。設定された判定対象画像領域ＪＩＡについて、顔器官学習データＯＬＤ（図１）を用いて、器官（右目、左目、口）毎に、器官判定に用いられる累計評価値Ｔｖが算出される（図９のステップＳ５６０）。累計評価値Ｔｖの算出や器官判定に用いられるフィルタＸの態様や閾値ｔｈＸ、重み係数ＷｅＸ、閾値ＴＨ（図６参照）は、顔器官学習データＯＬＤに規定されている。
【００６４】
なお、顔器官学習データＯＬＤの設定のための学習は、顔学習データＦＬＤの設定のための学習と同様に、顔の器官に対応する画像であることが予めわかっている複数の器官サンプル画像によって構成された器官サンプル画像群と、顔の器官に対応する画像ではないことが予めわかっている複数の非器官サンプル画像によって構成された非器官サンプル画像群と、を用いて実行される。ただし、顔学習データＦＬＤの設定のための学習に用いられる顔サンプル画像群（図７）が、特定顔傾き（０度、３０度、６０度、・・・、３３０度）のそれぞれに対応する複数の顔サンプルサブ画像群により構成されているのに対して、顔器官学習データＯＬＤの設定のための学習に用いられた器官サンプル画像群は、そのようには構成されていない。器官サンプル画像群は、画像サイズに対する顔の器官の画像の大きさの比が所定の値の範囲内であると共に顔の器官の画像の傾きが０度である複数の器官サンプル画像（以下、「基本器官サンプル画像」とも呼ぶ）と、少なくとも１つの基本器官サンプル画像について、基本器官サンプル画像を１．２倍から０．８倍までの範囲の所定の倍率で拡大および縮小した画像、および基本器官サンプル画像の傾きをプラスマイナス１５度の範囲で変化させた画像と、から構成されている。従って、顔器官学習データＯＬＤは、器官領域検出処理において０度を中心に器官傾きの値がプラスマイナス１５度の範囲の器官の画像を検出可能なように設定される。なお、本実施例における顔器官学習データＯＬＤは、判定対象画像領域ＪＩＡが顔の器官の画像に対応する画像領域であることの確からしさを表す評価値を算出するためのデータであるため、本発明における評価用データに相当する。
【００６５】
算出された累計評価値Ｔｖが所定の閾値ＴＨ以上である場合には、判定対象画像領域ＪＩＡは顔の器官の画像に対応する画像領域であるとして、判定対象画像領域ＪＩＡの位置、すなわち現在設定されているウィンドウＳＷの座標が記憶される（図９のステップＳ５８０）。一方、累計評価値Ｔｖが閾値ＴＨより小さい場合には、ステップＳ５８０の処理はスキップされる。
【００６６】
ウィンドウＳＷの所定のサイズのすべてについて、ウィンドウＳＷにより器官検出用画像ＯＤＩｍｇ全体がスキャンされた後に、器官領域設定処理が実行される（図９のステップＳ６３０）。図１２は、器官領域設定処理の概要を示す説明図である。器官領域設定処理は、顔領域設定処理（図８参照）と同様の処理である。領域設定部２１４は、図９のステップＳ５７０において累計評価値Ｔｖが閾値ＴＨ以上であると判定されステップＳ５８０において記憶されたウィンドウＳＷの座標とに基づき、器官領域を設定する。具体的には、ステップＳ５８０において記憶されたウィンドウＳＷが他の記憶されたウィンドウＳＷの一部と重複しない場合には、ウィンドウＳＷにより規定される画像領域（すなわち判定対象画像領域ＪＩＡ）が、そのまま器官領域として設定される。一方、互いに一部が重複する複数のウィンドウＳＷが記憶された場合には、各ウィンドウＳＷにおける所定の点（例えばウィンドウＳＷの重心）の座標の平均の座標を重心とし、各ウィンドウＳＷのサイズの平均のサイズを有する１つの新たなウィンドウ（平均ウィンドウＡＷ）が設定され、平均ウィンドウＡＷにより規定される画像領域が器官領域として設定される。例えば図１２（ａ）に示すように、互いに一部が重複する３つのウィンドウＳＷ（ＳＷ１〜ＳＷ３）が記憶された場合には、図１２（ｂ）に示すように、３つのウィンドウＳＷのそれぞれの重心の座標の平均の座標を重心とし、３つのウィンドウＳＷのそれぞれのサイズの平均のサイズを有する１つの平均ウィンドウＡＷが定義され、平均ウィンドウＡＷにより規定される画像領域が器官領域（右目領域ＥＡ（ｒ））として設定される。
【００６７】
ステップＳ６４０（図９）では、領域検出部２１０（図１）が、すべての器官検出用画像ＯＤＩｍｇが選択されたか否かを判定する。未だ選択されていない器官検出用画像ＯＤＩｍｇが存在すると判定された場合には（ステップＳ６４０：Ｎｏ）、ステップＳ５２０に戻って未選択の器官検出用画像ＯＤＩｍｇの１つが選択され、ステップＳ５３０以降の処理が実行される。一方、すべての器官検出用画像ＯＤＩｍｇが選択されたと判定された場合には（ステップＳ６４０：Ｙｅｓ）、器官領域検出処理は完了する。
【００６８】
以上説明した器官領域検出処理により、器官検出用画像ＯＤＩｍｇにおいて、右目の画像に対応する画像領域である右目領域ＥＡ（ｒ）と、左目の画像に対応する画像領域である左目領域ＥＡ（ｌ）と、口の画像に対応する画像領域である口領域ＭＡと、の検出が行われる。図１３は、器官領域検出処理の結果の一例を示す説明図である。
【００６９】
器官領域検出処理（図３のステップＳ１５０）において器官領域が検出されなかった場合には（ステップＳ１６０：Ｎｏ）、ステップＳ１４０で選択された原顔領域ＦＡｏは真に顔の画像に対応する画像領域ではない画像領域が誤って原顔領域ＦＡｏとして検出されたと判定される（ステップＳ１７０）。この場合には、選択された原顔領域ＦＡｏに基づく決定顔領域ＦＡｆの設定（後述のステップＳ２００）は実行されない。なお、本実施例において、器官領域が検出されなかった場合とは、いずれの器官検出用画像ＯＤＩｍｇ（図１０（ｂ）参照）においても、３種類の器官に対応する器官領域（右目領域ＥＡ（ｒ）と左目領域ＥＡ（ｌ）と口領域ＭＡ）の少なくとも１つが検出されなかった場合を意味する。
【００７０】
器官領域検出処理（図３のステップＳ１５０）において、少なくとも１つの器官検出用画像ＯＤＩｍｇにおいて３種類の器官に対応する器官領域（右目領域ＥＡ（ｒ）と左目領域ＥＡ（ｌ）と口領域ＭＡ）がすべて検出された場合には（ステップＳ１６０：Ｙｅｓ）、信頼度算出部２２０（図１）が、検出された各器官領域についての器官領域信頼度を算出する（ステップＳ１８０）。器官領域信頼度は、器官領域検出処理の結果に基づき算出される指標であって、器官領域検出処理により検出されたある種類の器官についての器官領域が真に当該種類の器官の画像に対応する画像領域であることの確からしさを表す指標である。器官領域検出処理では、顔の器官の画像に対応しない画像領域、すなわち、顔の器官の画像をまったく含まない画像領域や顔の器官の画像の一部を含むが顔の器官の画像に真に対応する画像領域ではない画像領域が、誤って器官領域として検出される場合がある。器官領域信頼度は、器官領域検出処理が、誤検出ではなく正しい検出であることの確からしさを表している。
【００７１】
本実施例では、重複ウィンドウ数を最大重複ウィンドウ数で除した値を器官領域信頼度として用いている。ここで、重複ウィンドウ数は、器官領域の設定の際に参照された判定対象画像領域ＪＩＡの数、すなわち判定対象画像領域ＪＩＡを規定するウィンドウＳＷの数である。例えば、図１２（ｂ）に示した右目領域ＥＡ（ｒ）の設定の際には、図１２（ａ）に示した互いに一部が重複する３つのウィンドウＳＷ（ＳＷ１〜ＳＷ３）が参照されているため、重複ウィンドウ数は３となる。また、最大重複ウィンドウ数は、器官領域検出処理において器官検出用画像ＯＤＩｍｇ上に配置されたすべてのウィンドウＳＷの内、少なくとも一部が平均ウィンドウＡＷ（図１２（ｂ）参照）に重複するウィンドウＳＷの数である。最大重複ウィンドウ数は、ウィンドウＳＷの移動ピッチやサイズ変更のピッチにより一義的に定まる。
【００７２】
検出された器官領域が真に顔の器官の画像に対応する画像領域である場合には、位置およびサイズが互いに近似する複数のウィンドウＳＷについて、判定対象画像領域ＪＩＡが顔の器官の画像に対応する画像領域であると判定される可能性が高い。一方、検出された器官領域が顔の器官の画像に対応する画像領域ではなく誤検出である場合には、あるウィンドウＳＷについては誤って判定対象画像領域ＪＩＡが顔の器官の画像に対応する画像領域であると判定されたとしても、当該ウィンドウＳＷに位置およびサイズが近似する別のウィンドウＳＷについては判定対象画像領域ＪＩＡが顔の器官の画像に対応する画像領域ではないと判定される可能性が高い。そのため、本実施例では、重複ウィンドウ数を最大重複ウィンドウ数で除した値を器官領域信頼度として用いている。
【００７３】
ステップＳ１９０（図３）では、顔傾き推定部２１５（図１）が、器官領域の検出結果に基づき、原顔領域ＦＡｏ（図１０（ａ））に表された顔の傾きを推定する。ステップＳ２００では、顔領域決定部２１６（図１）が、推定された顔傾きに基づき、決定顔領域ＦＡｆを設定する。図１４は、顔傾きの推定方法および決定顔領域ＦＡｆの設定方法を示す説明図である。図１４（ａ）に示すように、顔傾き推定部２１５は、右目領域ＥＡ（ｒ）の重心と左目領域ＥＡ（ｌ）の重心とを結ぶ直線ＣＬの傾きを、原顔領域ＦＡｏに表された顔の傾きであると推定する。すなわち、顔傾きは、右目領域ＥＡ（ｒ）と左目領域ＥＡ（ｌ）との間の位置関係に基づき推定される。
【００７４】
なお、器官領域検出処理（図９）において、複数の器官検出用画像ＯＤＩｍｇから器官領域が検出された場合には、各器官領域（右目領域ＥＡ（ｒ）、左目領域ＥＡ（ｌ）、口領域ＭＡ）についての器官領域信頼度の合計が最も高い器官領域に基づき、顔傾きの推定が行われる。上述したように、顔器官学習データＯＬＤは、器官領域検出処理において０度を中心に器官傾きの値がプラスマイナス１５度の範囲の器官の画像を検出可能なように設定されている。一方、複数の器官検出用画像ＯＤＩｍｇ（図１０（ｂ））は、その傾きが互いに少なくとも３０度異なっている。従って、本来、器官領域は１つの器官検出用画像ＯＤＩｍｇからのみ検出されるべきであるが、誤検出等により複数の器官検出用画像ＯＤＩｍｇから器官領域が検出される場合もあり得る。このような場合には、器官領域信頼度に基づき、顔傾きの推定に用いられる器官領域が選択される。
【００７５】
また、図１４（ｂ）に示すように、顔領域決定部２１６は、原顔領域ＦＡｏを規定する平均ウィンドウＡＷを平均ウィンドウＡＷの重心を中心として推定された顔傾き分だけ回転させ、回転後の平均ウィンドウＡＷにより規定される画像領域を決定顔領域ＦＡｆとして設定する。すなわち、決定顔領域ＦＡｆは、その外周の２辺が直線ＣＬと平行な矩形の画像領域となる。なお、本実施例の顔領域決定部２１６は、本発明における顔領域再設定部に相当する。
【００７６】
ステップＳ２１０（図３）では、領域検出部２１０（図１）が、ステップＳ１４０において未だ選択されていない原顔領域ＦＡｏが存在するか否かを判定する。未だ選択されていない原顔領域ＦＡｏが存在すると判定された場合には（ステップＳ２１０：Ｎｏ）、ステップＳ１４０に戻って未選択の原顔領域ＦＡｏの１つが選択され、ステップＳ１５０以降の処理が実行される。一方、すべての原顔領域ＦＡｏが選択されたと判定された場合には（ステップＳ２１０：Ｙｅｓ）、処理はステップＳ２２０に進む。
【００７７】
ステップＳ２２０（図３）では、情報付加部２３０（図１）が、設定された決定顔領域ＦＡｆの位置（座標）を示す情報を、原画像データを含む画像ファイルに付属情報として付加する。これにより、原画像ＯＩｍｇを表す原画像データと、原画像ＯＩｍｇにおける決定顔領域ＦＡｆの位置（座標）を示す情報と、が含まれた画像ファイルが生成される。なお、決定顔領域ＦＡｆの位置（座標）を示す情報に加えて、器官領域（右目領域ＥＡ（ｒ）、左目領域ＥＡ（ｌ）、口領域ＭＡ）の位置（座標）を示す情報や器官領域信頼度を示す情報が画像ファイルに付属情報として付加されるとしてもよい。
【００７８】
生成された画像ファイルに含まれる種々の情報は、種々の用途に利用可能である。例えば、顔領域ＦＡ、あるいは顔領域ＦＡに基づき設定された画像領域を対象画像領域として、所定の補正処理を行うことができる。所定の補正処理としては、例えば、対象画像領域内の画像の変形や肌色補正が挙げられる。
【００７９】
以上説明したように、本実施例のプリンタ１００による顔領域検出処理では、顔検出用画像ＦＤＩｍｇにおける原顔領域ＦＡｏの検出が行われることにより、顔検出用画像ＦＤＩｍｇにおける顔の画像に対応する画像領域の位置が特定される。また、原顔領域ＦＡｏにおける器官領域（右目領域ＥＡ（ｒ）、左目領域ＥＡ（ｌ）、口領域ＭＡ）の検出が行われ、器官領域の検出結果に基づき、原顔領域ＦＡｏに表された顔の画像面内における傾き（顔傾き）が推定されることにより、顔検出用画像ＦＤＩｍｇにおける顔の画像の傾きが特定される。ここで、器官領域の検出の際には、原顔領域ＦＡｏを対象としたウィンドウＳＷによる判定対象画像領域ＪＩＡの設定が行われるが、この処理に要する時間は、顔検出用画像ＦＤＩｍｇ全体を対象としたウィンドウＳＷによる判定対象画像領域ＪＩＡの設定に要する時間と比較して、極めて短い。そのため、本実施例のプリンタ１００による顔領域検出処理では、顔領域検出処理の高速化を図りつつ、顔領域の位置や傾きに関する検出精度を向上させることができる。
【００８０】
特に、本実施例のプリンタ１００による顔領域検出処理では、顔学習データＦＬＤが、画像面内における互いに異なる任意の傾きを有する複数の顔サンプル画像を含む顔サンプル画像群を用いた学習により生成されており、０度から３６０度までのすべての顔傾きの顔の画像を検出可能な学習データとなっている。そのため、原顔領域検出処理（図４）において、１つの判定対象画像領域ＪＩＡについて、累計評価値Ｔｖの算出や閾値ＴＨ判定は１度だけ実行されればよい。そのため、本実施例のプリンタ１００による顔領域検出処理では、処理の高速化を十分に図ることができる。
【００８１】
Ｂ．変形例：
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【００８２】
Ｂ１．変形例１：
上記実施例では、器官領域検出処理（図３のステップＳ１５０）においていずれの器官検出用画像ＯＤＩｍｇにおいても３種類の器官に対応する器官領域（右目領域ＥＡ（ｒ）と左目領域ＥＡ（ｌ）と口領域ＭＡ）の少なくとも１つが検出されなかった場合に、器官領域が検出されなかったと判定されるとしているが、３種類の器官領域の少なくとも１つが検出された場合には器官領域が検出されたと判定されるものとしてもよい。あるいは、口領域ＭＡの検出結果に関わらず、顔傾きの推定（ステップＳ１９０）に用いられる右目領域ＥＡ（ｒ）と左目領域ＥＡ（ｌ）の両者が検出された場合には器官領域が検出されたと判定され、右目領域ＥＡ（ｒ）と左目領域ＥＡ（ｌ）の少なくとも一方が検出されなかった場合には器官領域が検出されなかったと判定されるとしてもよい。
【００８３】
なお、３種類の器官領域の少なくとも１つが検出されたときには器官領域が検出されたと判定されるとした場合、顔傾きの推定（ステップＳ１９０）に右目領域ＥＡ（ｒ）と左目領域ＥＡ（ｌ）との一方または両方が利用できないことが考えられる。このような場合には、器官領域が検出された器官検出用画像ＯＤＩｍｇの傾きを顔傾きと推定すればよい。
【００８４】
また、上記実施例では、器官領域検出処理（図３のステップＳ１５０）において器官領域が検出された場合には、器官領域信頼度の算出（ステップＳ１８０）が行われるとしているが、器官領域が複数の器官検出用画像ＯＤＩｍｇから検出された場合にのみ、顔傾きの推定（ステップＳ１９０）に用いる器官領域を決定するために器官領域信頼度の算出が実行され、器官領域が１つの器官検出用画像ＯＤＩｍｇからのみ検出された場合には器官領域信頼度の算出は実行されないとしてもよい。
【００８５】
また、算出された器官領域信頼度が所定の閾値より低い場合には、器官領域検出処理において器官領域が検出されなかった場合と同様に、ステップＳ１４０で選択された原顔領域ＦＡｏは真に顔の画像に対応する画像領域ではない画像領域が誤って原顔領域ＦＡｏとして検出されたと判定されるものとしてもよい。
【００８６】
Ｂ２．変形例２：
上記実施例では、器官領域検出処理（図９）に、３０度間隔で傾きが互いに異なる１２個の器官検出用画像ＯＤＩｍｇ（図１０（ｂ））が用いられているが、これは、本実施例の顔器官学習データＯＬＤが、０度を中心に器官傾きの値がプラスマイナス１５度の範囲の器官の画像を検出可能なように設定されているからである。器官検出用画像ＯＤＩｍｇの傾きの違い（すなわち生成される器官検出用画像ＯＤＩｍｇの個数）は、顔器官学習データＯＬＤの検出可能な器官傾きの範囲に応じて、種々変形される。例えば、顔器官学習データＯＬＤが、０度を中心に器官傾きの値がプラスマイナス１０度の範囲の器官の画像を検出可能なように設定されている場合には、２０度間隔で傾きが互いに異なる１８個の器官検出用画像ＯＤＩｍｇが器官領域検出処理に用いられる。
【００８７】
Ｂ３．変形例３：
上記実施例では、顔傾きの推定（図３のステップＳ１９０）の後に、決定顔領域ＦＡｆの設定（ステップＳ２００）が行われているが、決定顔領域ＦＡｆの設定は必ずしも行われる必要はない。すなわち、顔領域検出処理の出力は、原顔領域ＦＡｏの位置と推定顔傾きとのみであってもよい。
【００８８】
Ｂ４．変形例４：
上記実施例では、顔学習データＦＬＤや顔器官学習データＯＬＤが、正面向きの画像に対応するもののみが準備されているが、右向きや左向きに対応するものが準備され、右向きや左向きの顔の画像や顔の器官の画像に対応する顔領域や器官領域の検出が行われるとしてもよい。
【００８９】
Ｂ５．変形例５：
上述した器官領域信頼度の算出方法は種々変形可能である。例えば、器官領域検出処理（図９）のステップＳ５６０において算出された累計評価値Ｔｖを器官領域信頼度として用いるとしてもよい。器官領域が真に顔の器官の画像に対応する画像領域である場合には累計評価値Ｔｖは大きい値になる可能性が高いため、累計評価値Ｔｖを器官領域信頼度として用いることが可能である。なお、器官領域設定処理（図９のステップＳ６３０）の際に複数のウィンドウＳＷが考慮された場合には、各ウィンドウＳＷに対応した判定対象画像領域ＪＩＡについて算出された累計評価値Ｔｖの平均を信頼度として用いればよい。
【００９０】
また、累計評価値Ｔｖの算出のために算出された各フィルタＸについての評価値ｖＸを用いて器官領域信頼度を算出するとしてもよい。すなわち、累計評価値Ｔｖの算出の際には、評価値ｖＸは、閾値ｔｈＸとの比較判定によって１または０の値に変換された後に重み係数ＷｅＸを乗じられていたが、評価値ｖＸそのものと重み係数ＷｅＸとを乗算し、その積の合計を信頼度として用いるとしてもよい。器官領域が真に顔の器官の画像に対応する画像領域である場合には上記積の合計は大きい値になる可能性が高いため、上記積の合計を信頼度として用いることが可能である。なお、器官領域の設定の際に複数のウィンドウＳＷが考慮された場合には、各ウィンドウＳＷに対応した判定対象画像領域ＪＩＡについて算出された評価値ｖＸと重み係数ＷｅＸとの積の合計の平均を信頼度として用いればよい。
【００９１】
また、上記実施例のように、候補重複ウィンドウ数を最大重複ウィンドウ数で除した値を器官領域原信頼度として用いる場合に、候補重複ウィンドウ数が所定数以上となった場合には、信頼度は最大値であるとみなし、それ以降、重複する位置にウィンドウＳＷを配置しないようにしてもよい。このようにすれば、処理の高速化を図ることができる。
【００９２】
また、上記実施例では、器官領域信頼度は、顔の器官の種類（右目、左目、口）毎に算出されているが、すべての顔の器官の種類に対応した１つの器官領域信頼度が算出されるとしてもよい。
【００９３】
Ｂ６．変形例６：
上記実施例における原顔領域検出処理（図４）や器官領域検出処理（図９）の態様はあくまで一例であり、種々変更可能である。例えば顔検出用画像ＦＤＩｍｇ（図５参照）のサイズは３２０画素×２４０画素に限られず、他のサイズであってもよいし、原画像ＯＩｍｇそのものを顔検出用画像ＦＤＩｍｇとして用いることも可能である。また、使用されるウィンドウＳＷのサイズやウィンドウＳＷの移動方向および移動量（移動ピッチ）は上述したものに限られない。また、上記実施例では、顔検出用画像ＦＤＩｍｇのサイズが固定され、複数種類のサイズのウィンドウＳＷが顔検出用画像ＦＤＩｍｇ上に配置されることにより複数サイズの判定対象画像領域ＪＩＡが設定されているが、複数種類のサイズの顔検出用画像ＦＤＩｍｇが生成され、固定サイズのウィンドウＳＷが顔検出用画像ＦＤＩｍｇ上に配置されることにより複数サイズの判定対象画像領域ＪＩＡが設定されるものとしてもよい。
【００９４】
また、上記実施例では、累計評価値Ｔｖを閾値ＴＨと比較することにより顔判定および器官判定を行っているが（図６参照）、顔判定および器官判定を複数の判別器を用いた判別等の他の方法によって行ってもよい。顔判定および器官判定の方法に応じて、顔学習データＦＬＤおよび顔器官学習データＯＬＤの設定に用いられる学習方法も変更される。また、顔判定および器官判定は、必ずしも学習を用いた判別方法により行われる必要はなく、パターンマッチング等の他の方法により行われるとしてもよい。
【００９５】
また、上記実施例では、３０度刻みの１２種類の特定顔傾きが設定されているが、より多くの種類の特定顔傾きが設定されてもよいし、より少ない種類の特定顔傾きが設定されてもよい。また、必ずしも特定顔傾きが設定される必要はなく、０度の顔傾きについての顔判定が行われるとしてもよい。また、上記実施例では、顔サンプル画像群に基本顔サンプル画像を拡大・縮小した画像や回転させた画像が含まれるとしているが、顔サンプル画像群に必ずしもこのような画像が含まれる必要はない。
【００９６】
上記実施例において、あるサイズのウィンドウＳＷにより規定される判定対象画像領域ＪＩＡについての顔判定（または器官判定）で顔の画像（または顔の器官の画像）に対応する画像領域であると判定された場合には、当該サイズより所定の比率以上小さいサイズのウィンドウＳＷを配置する場合には、顔の画像に対応する画像領域であると判定された判定対象画像領域ＪＩＡを避けて配置するものとしてもよい。このようにすれば、処理の高速化を図ることができる。
【００９７】
上記実施例では、メモリカードＭＣに格納された画像データが原画像データに設定されているが、原画像データはメモリカードＭＣに格納された画像データに限らず、例えばネットワークを介して取得された画像データであってもよい。
【００９８】
上記実施例では、顔の器官の種類として、右目と左目と口とが設定されており、器官領域として、右目領域ＥＡ（ｒ）と左目領域ＥＡ（ｌ）と口領域ＭＡとの検出が行われるが、顔の器官の種類として顔のどの器官を設定するかは変更可能である。例えば、顔の器官の種類として、右目と左目と口とのいずれか１つまたは２つのみが設定されるとしてもよい。また、顔の器官の種類として、右目と左目と口とに加えて、または右目と左目と口との少なくとも１つに代わり、顔のその他の器官の種類（例えば鼻や眉）が設定され、器官領域としてこのような器官の画像に対応する領域が検出されるとしてもよい。
【００９９】
上記実施例では、原顔領域ＦＡｏおよび器官領域は矩形の領域であるが、原顔領域ＦＡｏおよび器官領域は矩形以外の形状の領域であってもよい。
【０１００】
上記実施例では、画像処理装置としてのプリンタ１００による顔領域検出処理を説明したが、処理の一部または全部がパーソナルコンピュータやデジタルスチルカメラ、デジタルビデオカメラ等の他の種類の画像処理装置により実行されるものとしてもよい。また、プリンタ１００はインクジェットプリンタに限らず、他の方式のプリンタ、例えばレーザプリンタや昇華型プリンタであるとしてもよい。
【０１０１】
上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。
【０１０２】
また、本発明の機能の一部または全部がソフトウェアで実現される場合には、そのソフトウェア（コンピュータプログラム）は、コンピュータ読み取り可能な記録媒体に格納された形で提供することができる。この発明において、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスクやＣＤ−ＲＯＭのような携帯型の記録媒体に限らず、各種のＲＡＭやＲＯＭ等のコンピュータ内の内部記憶装置や、ハードディスク等のコンピュータに固定されている外部記憶装置も含んでいる。
【図面の簡単な説明】
【０１０３】
【図１】本発明の実施例における画像処理装置としてのプリンタ１００の構成を概略的に示す説明図である。
【図２】顔学習データＦＬＤおよび顔器官学習データＯＬＤを示す説明図である。
【図３】顔領域検出処理の流れを示すフローチャートである。
【図４】原顔領域検出処理の流れを示すフローチャートである。
【図５】原顔領域検出処理の概要を示す説明図である。
【図６】顔判定に用いる累計評価値Ｔｖの算出方法の概要を示す説明図である。
【図７】学習に用いられるサンプル画像の一例を示す説明図である。
【図８】原顔領域設定処理の概要を示す説明図である。
【図９】器官領域検出処理の流れを示すフローチャートである。
【図１０】器官検出用画像ＯＤＩｍｇの一例を示す説明図である。
【図１１】器官領域検出処理の概要を示す説明図である。
【図１２】器官領域設定処理の概要を示す説明図である。
【図１３】器官領域検出処理の結果の一例を示す説明図である。
【図１４】顔傾きの推定方法および決定顔領域ＦＡｆの設定方法を示す説明図である。
【符号の説明】
【０１０４】
１００…プリンタ
１１０…ＣＰＵ
１２０…内部メモリ
１４０…操作部
１５０…表示部
１６０…プリンタエンジン
１７０…カードインターフェース
１７２…カードスロット
２００…画像処理部
２１０…領域検出部
２１１…判定対象設定部
２１２…評価値算出部
２１３…判定部
２１４…領域設定部
２１５…顔傾き推定部
２１６…顔領域決定部
２２０…信頼度算出部
２３０…情報付加部
３１０…表示処理部
３２０…印刷処理部
【図１】
2009237613.tif 000003
【図２】
2009237613.tif 000004
【図３】
2009237613.tif 000005
【図４】
2009237613.tif 000006
【図５】
2009237613.tif 000007
【図６】
2009237613.tif 000008
【図７】
2009237613.tif 000009
【図８】
2009237613.tif 000010
【図９】
2009237613.tif 000011
【図１０】
2009237613.tif 000012
【図１１】
2009237613.tif 000013
【図１２】
2009237613.tif 000014
【図１３】
2009237613.tif 000015
【図１４】
2009237613.tif 000016