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