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