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