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