(57)【特許請求の範囲】
【請求項１】
画像データに含まれる所定画像を検出する画像検出装置であって、
上記所定画像を含むサンプル画像データについて上記所定画像を検出した確率を当該サンプル画像データと上記所定画像とに関する相対サイズと相対位置との組み合わせに対して算出し、当該確率の高い上記相対位置と上記相対サイズとの組み合わせにより特定される領域から順に、上記画像データにおける領域を設定する領域設定手段と、
上記領域ごとに上記所定画像を検出する検出手段と、
を具備することを特徴とする画像検出装置。
【請求項２】
複数の上記所定画像を検出する場合において、上記検出手段が上記所定画像を検出したとき、
上記領域設定手段は、当該所定画像が検出された当該領域と同じサイズの他の上記領域を優先して設定することを特徴とする請求項１に記載の画像検出装置。
【請求項３】
複数の上記所定画像を検出する場合において、上記検出手段が上記所定画像を検出したとき、
上記領域設定手段は、当該所定画像が検出された領域のサイズとの差が小さい他の上記領域を優先して設定することを特徴とする請求項１に記載の画像検出装置。
【請求項４】
上記検出手段は、
上記領域から抽出された特徴情報を上記所定画像のテンプレートと比較することにより当該領域における当該所定画像の有無を判別することを特徴とする請求項１から請求項３のいずれか１項に記載の画像検出装置。
【請求項５】
上記所定画像は人間の顔画像であることを特徴とする請求項１から請求項４のいずれか１項に記載の画像検出装置。
【請求項６】
画像データに含まれる所定画像を検出する画像検出方法であって、
領域設定手段が、上記所定画像を含むサンプル画像データについて上記所定画像を検出した確率を当該サンプル画像データと上記所定画像とに関する相対サイズと相対位置との組み合わせに対して算出し、当該確率の高い上記相対位置と上記相対サイズとの組み合わせにより特定される領域から順に、上記画像データにおける領域を設定する領域設定工程と、
検出手段が、上記領域ごとに上記所定画像を検出する検出工程と、
を含むことを特徴とする画像検出方法。
【請求項７】
画像データに含まれる所定画像を検出する機能をコンピュータにて実行させる画像検出プログラムであって、
上記所定画像を含むサンプル画像データについて上記所定画像を検出した確率を当該サンプル画像データと上記所定画像とに関する相対サイズと相対位置との組み合わせに対して算出し、当該確率の高い上記相対位置と上記相対サイズとの組み合わせにより特定される領域から順に、上記画像データにおける領域を設定する機能と、
上記領域ごとに上記所定画像を検出する機能と、
をコンピュータにて実行させる画像検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像検出装置、画像検出方法および画像検出プログラムに関する。
【背景技術】
【０００２】
従来より画像データに含まれる特定の画像を検出することが行われている。特に、デジタルスチルカメラやスキャナによって撮像された顔画像の有無を指標として、写真データを整理したり修整したり印刷することが行われ、画像データにおいて顔画像を検出する手法が提案されている。特許文献１においては、標本となる顔画像から得られる特徴ベクトルをＳＶＭ（サポートベクタマシン）に学習させておき、対象の画像データから得られた特徴ベクトルが識別超平面に対していずれかの領域に属するかによって顔画像の有無を判別するものが開示されている。また、特許文献２においては、顔画像の可変テンプレートを用意し、この可変テンプレートと対象の画像データとをマッチングすることにより、顔画像の有無を判別するものが開示されている。
前者の構成によれば統計的手法に基づいて顔画像の有無を精度よく判別することが可能であり、後者の構成によれば表情が変動する場合でも顔画像の有無を判別することが可能であった。
【特許文献１】特開２００５−１３４９６６号公報
【特許文献２】特開２００５−１４９３０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上述した技術において画像データの全体について顔画像の検出を行うことは非効率的であった。すなわち、画像データにおいて顔画像が含まれる領域はごく一部に過ぎないため、全体にわたって顔画像の検出を行うと、ほとんどの処理が無駄に行われ、効率が悪いという課題があった。
本発明は、効率よく画像データから特定画像を検出することが可能な画像検出装置、画像検出方法および画像検出プログラムの提供を目的とする。
【課題を解決するための手段および発明の効果】
【０００４】
上記課題を解決するため請求項１にかかる発明では、検出手段が上記画像データにおける領域ごとに所定画像を順に検出していく。この検出手段が順に上記所定画像の検出を行う上記領域は、領域設定手段によって順に設定される。そして、上記領域設定手段は、上記所定画像を含むサンプル画像データについて上記所定画像を検出した確率を当該サンプル画像データと上記所定画像とに関する相対サイズと相対位置との組み合わせに対して算出し、当該確率の高い上記相対位置と上記相対サイズとの組み合わせにより特定される領域から順に、上記画像データにおける領域を設定する。すなわち、上記画像データにおけるどの領域から上記所定画像を検出するかが、予めサンプル画像データについて上記所定画像を検出した確率に基づいて設定される。確率に基づいて上記領域が設定されるため、確率に基づいて効率よい上記選定領域の順序を設定することができる。従って、無駄な処理が防止され、上記検出手段による上記所定画像の検出を効率よく行うことができる。
【０００５】
また、上記領域設定手段が上記統計情報において上記所定画像が検出される確率が高い順に上記領域を設定する。これにより、上記所定画像が検出される確率が高い上記領域から順に上記検出手段が上記所定画像の検出を行うことができ、早期に同所定画像を検出することが可能となる。
【０００６】
さらに、上記確率において、上記画像データにおける上記領域の相対的な位置ごとに区分して上記所定画像が検出される確率が算出される。上記画像データにおける上記領域の位置ごとに上記所定画像が検出される確率が統計され、同確率が高い順に同領域が設定される。すなわち、上記所定画像が検出される確率が高い位置の上記領域が順に設定される。上記画像データにおける上記所定画像の存在位置に統計的な傾向がある場合には、効率よく上記所定画像の検出を行うことができる。
【０００７】
また、上記統計情報において、上記画像データにおける上記領域の相対的なサイズごとに区分して上記所定画像が検出される確率が算出される。上記画像データにおける上記領域のサイズごとに上記所定画像が検出される確率が統計され、同確率が高い順に同領域が設定される。すなわち、上記所定画像が検出される確率が高くなる大きさの上記領域が順に設定される。上記画像データにおける上記所定画像のサイズに統計的な傾向がある場合には、効率よく上記所定画像の検出を行うことができる。
【０００８】
さらに、複数の上記所定画像を検出する場合の好適な検出手法の一例として、請求項２にかかる発明では、最初の上記所定画像がある領域で検出された場合、他の上記所定画像を続けて検出することとなる。その際に、上記領域設定手段は、先に上記所定画像が検出された上記領域と同じサイズの他の上記領域を優先的に設定する。すなわち、同一の上記画像データにおいて複数の上記所定画像は同一のサイズで存在する可能性が高いため、当該所定画像が検出された当該領域と同サイズの他の上記領域にて他の上記所定画像が検出される確率が高いものとなる。従って、当該所定画像が検出された当該領域と同サイズの他の上記領域から優先的に検出することにより、効率よく上記所定画像を検出することができる。
【０００９】
また、複数の上記所定画像を検出する場合の好適な検出手法の別な一例として、請求項３にかかる発明では、上記領域設定手段は、先に上記所定画像が検出された上記領域のサイズとの差が小さいサイズを有する他の上記領域を優先的に設定する。すなわち、同一の上記画像データにおいて複数の上記所定画像は似たようなサイズで存在する可能性が高いため、当該所定画像が検出された当該領域と近いサイズの他の上記領域にて他の上記所定画像が検出される確率が高いものとなる。従って、当該所定画像が検出された当該領域のサイズとの差が小さいサイズを有する他の上記領域から優先的に検出することにより、効率よく上記所定画像を検出することができる。
【００１０】
一方、上記検出手段において上記所定画像の検出を行う手法の好適な一例として、請求項４にかかる発明では、上記検出手段は、上記領域から抽出された特徴情報を、上記所定画像のテンプレートと比較する。なお、上記特徴情報を比較する手法としては種々のものが採用でき、例えばＳＶＭを用いれば複数の特徴量の多変量解析を行うことにより精度よく上記特手画像の有無を判定することができる。
【００１１】
さらに、請求項５にかかる発明では、上記所定画像が人間の顔画像とされる。これにより、上記画像データに含まれる人間の顔画像を検出することができる。ポートレート写真など上記画像データにおいて人間の顔画像が配置される位置やサイズには傾向があるということができる。従って、上記統計情報に基づいて上記領域を設定することにより、効率的に顔画像を検出することができる。
【００１２】
むろん、以上の発明は、装置のみならず、請求項６のような画像検出方法によって実現することも可能であるし、請求項７のように上記方法に従った処理を実行する画像検出プログラムによって実現することも可能である。また、本発明にかかる装置、方法、プログラムは単独で実施される場合もあるし、ある機器に組み込まれた状態で他の装置、方法、プログラムとともに実施されることもあるなど、発明の思想としてはこれに限らず、各種の態様を含むものであり、適宜、変更可能である。例えば、本発明の画像検出装置がデジタルスチルカメラ等の画像入力機器に組み込まれていてもよい。さらに、本発明の画像検出プログラムをプリンタドライバやフォトレタッチプログラムや画像データ管理プログラムに組み込んで機能させてもよい。プリンタドライバやフォトレタッチプログラムにおいては顔画像の有無によって適切な画像修整の手法を切り換えることができるし、画像データ管理プログラムにおいては顔画像の有無によって画像データの整理を行うことができ、利便性がよい。
【００１３】
さらに、本発明のプログラムを記録した記録媒体として提供することも可能である。このプログラムの記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一次複製品、二次複製品などの複製段階については全く問う余地無く同等である。さらに、一部がソフトウェアであって、一部がハードウェアで実現されている場合においても発明の思想において全く異なるものではなく、一部を記録媒体上に記憶しておいて必要に応じて適宜読み込まれるような形態のものとしてあってもよい。また、必ずしも全部の機能を単独のプログラムで実現するのではなく、複数のプログラムにて実現させるようなものであってもよい。この場合、各機能を複数のコンピュータに実現させるものであればよい。
【発明を実施するための最良の形態】
【００１４】
ここでは、下記の順序に従って本発明の実施形態について説明する。
（１）コンピュータの構成：
（２）顔画像検出処理の流れ：
（３）変形例：
（４）まとめ：
【００１５】
（１）コンピュータの構成：
図１は、本発明の画像検出装置としてのコンピュータの概略構成を示している。同図において、コンピュータ１０には、内部バス１０ａによって接続されたＣＰＵ１１とＲＡＭ１２とＨＤＤ１３とＵＳＢインターフェイス（Ｉ／Ｆ）１４と入力機器インターフェイス（Ｉ／Ｆ）１５とビデオインターフェイス（Ｉ／Ｆ）１６とが備えられており、ＨＤＤ１３には各種プログラムデータ１３ａと複数の画像データ１３ｂと検出領域データベース（ＤＢ）１３ｃとテンプレートデータ１３ｄが記憶されている。ＣＰＵ１１は、このプログラムデータ１３ａを読み出して、同プログラムデータ１３ａに基づいた処理をＲＡＭ１２をワークエリアとして利用しながら実行する。ＵＳＢインターフェイス（Ｉ／Ｆ）１４にはプリンタ２０とデジタルスチルカメラ３０が接続されており、入力機器インターフェイス１５にはマウス４０およびキーボード５０が接続されている。さらに、ビデオインターフェイス（Ｉ／Ｆ）１６にはディスプレイ６０が接続されている。
【００１６】
図２は、コンピュータ１０にて実行されるプログラムのソフトウェア構成を示している。同図において、オペレーティングシステム（Ｏ／Ｓ）Ｐ１が実行されており、同Ｏ／Ｓ Ｐ１上にてアプリケーションＰ２とプリンタドライバＰ３が実行されている。アプリケーションＰ２は、ＨＤＤ１３からユーザーが所望する画像データ１３ｂを取得するとともに、同画像データ１３ｂについてのユーザーからの印刷実行指示をマウス４０やキーボード５０を介して受け付ける。なお、画像データ１３ｂは、予めデジタルスチルカメラ３０からＵＳＢＩ／Ｆ１４を介してＨＤＤ１３に取り込まれている。むろん、他のスキャナ等の画像入力機器から読み込まれるものであってもよいし、ネットワークや各種記録媒体から読みとられるものであってもよい。アプリケーションＰ２は、印刷実行指示を受け付けると、プリンタドライバＰ３に対して画像データ１３ｂを受け渡す。
【００１７】
プリンタドライバＰ３は、画像データ取得部Ｐ３ａと領域設定部Ｐ３ｂと検出部Ｐ３ｃと判定部Ｐ３ｄと画像修整部Ｐ３ｅと印刷データ生成部Ｐ３ｆとから構成され、さらに検出部Ｐ３ｃは特徴情報取得部Ｐ３ｃ１とテンプレート比較部Ｐ３ｃ２とから構成されている。画像データ取得部Ｐ３ａは、アプリケーションＰ２から画像データ１３ｂを取得する。領域設定部Ｐ３ｂはＨＤＤ１３に記憶された検出領域ＤＢ１３ｃを取得する。そして、領域設定部Ｐ３ｂは、検出領域ＤＢ１３ｃに基づいて選択領域の位置およびサイズを設定する。
【００１８】
図３は、検出領域ＤＢ１３ｃの内容を示している。検出領域ＤＢ１３ｃは、顔画像が含まれる多数のサンプル画像データをランダムに選択し、そのサンプル画像データにおいて顔画像がどの位置にどのサイズで存在しているかという情報が蓄積することにより作成される。同図において、検出領域ＤＢ１３ｃには、各位置（Ｘ，Ｙ）においてどのようなサイズＳの顔画像がどれだけの頻度Ａで検出されたかが記述されている。また、頻度Ａを、全サンプル画像データから検出されたすべての顔画像数で除算することにより、確率Ｂが算出されている。すなわち、各位置（Ｘ，Ｙ）とサイズＳとの組み合わせについて、それぞれ顔画像が検出される確率Ｂが統計されている。
【００１９】
なお、位置（Ｘ，Ｙ）はそれぞれ１〜２０までの２０階調によって表されている。顔画像の中心画素の横および縦の画素座標を、サンプル画像データの横および縦の画素数で除算することにより、サンプル画像データにおける顔画像の中心画素の相対位置を算出する。そして、算出された相対位置を５％ずつの階調幅に区切られた２０階調に割り振ることにより、統計的に扱うことができる離散的な位置（Ｘ，Ｙ）を得ている。例えば、中心画素の相対位置がサンプル画像データの左端から０〜５％の顔画像については階調０（代表値５％）が与えられ、同左端から９５〜１００％の顔画像については階調１９（代表値１００％）が与えられる。
【００２０】
同様に、顔画像のサイズＳも小さい順に１〜３までの３階調によって表されている。顔画像の直径の画素数を、サンプル画像データの横または縦の画素数で除算することにより、サンプル画像データにおける顔画像の相対サイズを算出する。そして、算出された相対サイズを所定の階調区間に区切られた３階調に割り振ることにより、統計的に扱うことができる離散的なサイズＳを得ている。サイズＳの各階調についても、各階調区間の代表値がサンプル画像データの全体のサイズに対する相対的な値として用意されている。例えば、サイズＳが１〜３階調に対して、それぞれ代表値２０％，５０％，７０％が設定される。
【００２１】
なお、顔画像が占める部分の面積のサンプル画像データ全体の面積に対する割合に基づいてサイズＳを算出してもよい。位置（Ｘ，Ｙ）はそれぞれ２０階調設けられ、サイズＳは３階調設けられるため、位置（Ｘ，Ｙ）とサイズＳの組み合わせは１２００とおり考えられることとなる。サンプル画像データにおける顔画像は、その大きさと位置に基づいて、１２００とおり位置（Ｘ，Ｙ）とサイズＳのいずれかの組み合わせに帰属させられ、該当する組み合わせについて頻度が１加算される。このように、検出領域ＤＢ１３ｃは、サンプル画像データから検出された顔画像について統計されたものであり、本発明における統計情報に相当する。
【００２２】
以上のような検出領域ＤＢ１３ｃを領域設定部Ｐ３ｂが取得し、検出領域ＤＢ１３ｃから最も確率Ｂが高い位置（Ｘ，Ｙ）とサイズＳの組み合わせを検索する。そして、相対的な位置（Ｘ，Ｙ）とサイズＳの代表値に画像データ取得部Ｐ３ａが取得した画像データ１３ｂの縦および横の画素数を乗算することにより、画像データ１３ｂのサイズに相応する選択領域を特定する。すなわち、選択領域は画像データ１３ｂにおいて最も顔画像が検出される確率Ｂが高い位置およびサイズで設定されることとなる。なお、図３に示すように検出領域ＤＢ１３ｃは確率Ｂが高い順にソートされているため、最も上の欄に記述された高い位置（Ｘ，Ｙ）とサイズＳの組み合わせが最初に検索される。
【００２３】
特徴情報取得部Ｐ３ｃ１は領域設定部Ｐ３ｂが設定した選択領域のサイズおよび位置を取得する。そして、画像データ１３ｂにおける選択領域に属するデータを抽出し、所定の特徴情報を抽出する。具体的には、画像データ１３ｂにおける選択領域に属するデータについてエッジ検出や２値化等を行うことにより、顔の各部の候補となる輪郭を検出し、同検出した顔の各部の候補の大きさや位置等の形状を表す一群の特徴量を特徴情報として抽出する。例えば、口と予想される画素群がどの位置にどれぐらいの大きさで存在しているかといったパラメータが特徴量として抽出される。そして、特徴情報取得部Ｐ３ｃ１は、このような特徴量の一群を特徴情報としてテンプレート比較部Ｐ３ｃ２に受け渡す。
【００２４】
テンプレート比較部Ｐ３ｃ２は、特徴情報取得部Ｐ３ｃ１から特徴情報を取得するとともに、ＨＤＤ１３からテンプレートデータ１３ｄを取得する。テンプレートデータ１３ｄは、多数のサンプル顔画像から予め抽出した特徴情報が蓄積されたデータベースである。テンプレート比較部Ｐ３ｃ２は、特徴情報取得部Ｐ３ｃ１が画像データ１３ｂから抽出した特徴情報と、テンプレートデータ１３ｄに格納されたサンプル顔画像の特徴情報とを比較し、両者が似た傾向を示せば、当該画像データ１３ｂの選択領域から顔画像が検出できたと判定する。すなわち、テンプレートデータ１３ｄは特徴情報を比較することにより、画像データ１３ｂの選択領域と多数のサンプル顔画像とのパターンマッチングを行っていることとなる。画像データ１３ｂの選択領域に顔画像が含まれれば、当該選択領域からサンプル顔画像から得られた特徴情報と似た傾向の特徴情報が得られると予測できるため、特徴情報が似ていれば当該選択領域に顔画像が含まれると判定することができる。
【００２５】
なお、特徴情報は複数の特徴量によって構成されるため、テンプレート比較部Ｐ３ｃ２が特徴情報を比較するにあたっては各特徴量を総合的に考慮して特徴情報の類否が判定される。また、この判定を精度よく行うために、ＳＶＭを利用してもよい。ＳＶＭにおいては、顔画像を含まないサンプルについても特徴情報を用意しておき、特徴量空間において顔画像を含まないサンプルについての特徴ベクトル群と、顔画像を含むサンプル顔画像の特徴ベクトル群とを分離させる識別超平面を算出し、同識別超平面を境界として画像データ１３ｂの選択領域から得られた特徴ベクトルがいずれかの側に属するかによって判定を行う。なお、特徴ベクトルは特徴量を線形結合させたベクトルであり、ＳＶＭが最も判別精度が高くなる重み係数が各特徴量に設定される。また、特徴量空間において線形分離ができない場合にはカーネルトリックを用いて、判別精度の向上と処理負担の軽減が図られる。
【００２６】
以上のようにしてテンプレート比較部Ｐ３ｃ２は選択領域ごとに顔画像が検出できたか否かを判定する。顔画像が検出できない場合には、領域設定部Ｐ３ｂが次に顔画像が検出される確率Ｂが高い選択領域を設定する。判定部Ｐ３ｄは、いずれかの選択領域にて顔画像が検出されたかどうかを判定し、いずれの選択領域においても顔画像が検出されない場合に画像データ１３ｂには顔画像が含まれないと判定する。画像修整部Ｐ３ｅは顔画像が検出された画像データ１３ｂを取得し、同画像データ１３ｂについて画像修整を行う。具体的には、画像修整部Ｐ３ｅは、色調補正を行い、その際に画像データ１３ｂに顔画像が含まれるか否かによって色調補正のパラメータを変更する。例えば、画像データ１３ｂに顔画像が含まれる場合には肌色をいきいきとした色に補正するようにパラメータを設定し、画像データ１３ｂに顔画像が含まれない場合には補正を行わないようにすることができる。印刷データ生成部Ｐ３ｆは修整後の画像データ１３ｂを取得し、同画像データ１３ｂをプリンタ２０にて印刷可能な形式に変換する。具体的には、色変換処理やハーフトーン処理やラスタライズ処理等を順次行っていく。
【００２７】
（２）顔画像検出処理の流れ：
図４は、顔画像検出処理の流れを示している。同図において、ステップＳ１００においては、画像データ取得部Ｐ１ａがアプリケーションＰ２から印刷指示がされた画像データ１３ｂを取得する。画像データ取得部Ｐ１ａが画像データ１３ｂを取得すると、ステップＳ１１０にて領域設定部Ｐ１ｂが検出領域ＤＢ１３ｃを取得する。領域設定部Ｐ１ｂは、検出領域ＤＢ１３ｃにおいて、最も顔画像が検出される確率Ｂが高い位置（Ｘ，Ｙ）とサイズＳの組み合わせを検索する。検出領域ＤＢ１３ｃは、確率Ｂの高い順にソートされているため最上欄から最も顔画像が検出される確率Ｂが高い位置（Ｘ，Ｙ）とサイズＳの組み合わせが取得できる。
【００２８】
図５は顔画像の中心位置の分布を表したグラフであり、図６は顔画像の中心位置ごとの確率Ｂを等高線によって表したグラフであり、図７は顔画像の中心位置ごとのサイズＳを表したグラフであり、これらのグラフは検出領域ＤＢ１３ｃに基づいて作成されたものである。画像データにおける相対位置（連続数）が図５〜７における縦軸および横軸とされている。図５において、顔画像の中心位置はサンプル画像データの中央付近に集中していることが分かる。図６においては、顔画像の中心位置が存在する確率Ｂはサンプル画像データの中央付近ほど高いことが分かる。デジタルスチルカメラ３０等によって人物を撮影する場合には、人物を撮影領域の中心に据えて撮影を行うのが通常の手法であり、顔画像の中心位置はサンプル画像データの中央付近に集中させられるからである。図７においては、サンプル画像データの中央付近ほどサイズＳが大きくなる傾向があることが分かる。人物を撮影領域の中央に据える場合には、人物の撮影に主眼が置かれる場合が多く、メインの人物がズームアップされる可能性が高いからである。
【００２９】
以上説明したように、サンプル画像データにおいて顔画像が存在する位置およびサイズには統計的な傾向があり、領域設定部Ｐ１ｂはこの統計情報から最も顔画像が検出される確率Ｂが高い位置（Ｘ，Ｙ）とサイズＳの組み合わせを検索する。そして、ステップＳ１３０においては、検索した位置（Ｘ，Ｙ）とサイズＳを、画像データ取得部Ｐ１ａが取得した画像データ１３ｂのサイズに換算することにより、選択領域を設定する。すなわち、位置（Ｘ，Ｙ）とサイズＳは相対的な値であるため、画像データ１３ｂのサイズを基準として絶対的な選択領域の位置およびサイズが特定される。一度検索された位置（Ｘ，Ｙ）とサイズＳの組み合わせについては、検索済みである旨のフラグが付与され、以降は検索されないようにされる。
【００３０】
図８は、画像データ１３ｂと選択領域とを示している。同図において、画像データ１３ｂと選択領域Ｃが示されている。選択領域Ｃは矩形状となっており、その高さおよび幅は画像データ１３ｂの高さおよび幅に対するサイズＳの代表値の割合で決定されている。また、選択領域Ｃの位置は、同選択領域Ｃの対角線の交点の位置が、位置（Ｘ，Ｙ）に画像データ１３ｂの高さおよび幅を乗算して得られる座標と一致するように設定されている。ただし、選択領域Ｃは位置およびサイズが位置（Ｘ，Ｙ）とサイズＳに基づいて設定されればよく、楕円や円等の他の形状とされていてもよい。
【００３１】
ステップＳ１４０においては、ステップＳ１３０にて設定した選択領域から検出部Ｐ３ｃが顔画像の検出を試みる。具体的には、特徴情報取得部Ｐ３ｃ１が画像データ１３ｂに対して設定された選択領域に属する画像データを取得する。そして、当該画像データに対して所定の画像処理を行いつつ、一群の特徴量を特徴情報として抽出する。得られた特徴情報はテンプレート比較部Ｐ３ｃ２に受け渡される。テンプレート比較部Ｐ３ｃ２は、ＨＤＤ１３からテンプレートデータ１３ｄを取得し、特徴情報取得部Ｐ３ｃ１が画像データ１３ｂから抽出した特徴情報と、テンプレートデータ１３ｄに格納されたサンプル顔画像の特徴情報とを比較し、両者が似た傾向を示せば、当該画像データ１３ｂの選択領域Ｃから顔画像が検出できたと判定する。なお、選択領域Ｃの絶対的なサイズは、画像データ１３ｂ全体のサイズや適用したサイズＳによって変動するため、テンプレートデータ１３ｄの特徴情報と相似性がある場合にも選択領域Ｃから顔画像が検出できたと判定する。むろん、テンプレートデータ１３ｄを選択領域Ｃの絶対的なサイズごとに用意しておき、相応しいサイズのテンプレートデータ１３ｄを利用して特徴情報の比較を行うようにしてもよい。
【００３２】
ステップＳ１５０において、選択領域Ｃから顔画像が検出できたかどうかが判定され、検出できた場合には、ステップＳ１８０にて判定部Ｐ１ｄが当該画像データ１３ｂから顔画像が検出できたと判定するとともに、検出された顔画像についての検出位置とサイズを出力し、顔画像検出処理を終了する。検出位置は検出された顔画像の中心位置であり、サイズは検出された顔画像の中心位置である。
【００３３】
当該画像データ１３ｂから顔画像が検出できた旨は、画像修整部Ｐ３ｅに出力され、画像修整部Ｐ３ｅは、画像データ１３ｂに顔画像が含まれる場合の色調補正のパラメータを設定し、色調補正を実行する。これにより、例えば肌色をいきいきとさせるといった、顔画像が含まれる画像データ１３ｂについて好適な画像修整を実現させることができる。また、検出された顔画像についての顔画像ＩＤと検出位置とサイズを検出領域ＤＢ１３ｃに追記するようにしてもよいし、当該顔画像を検出する際に得られた特徴情報をテンプレートデータ１３ｄに追記するようにしてもよい。このようにすることにより、サンプル数を徐々に増加させることができ、検出領域ＤＢ１３ｃの統計的信頼性を向上させていくことができる。画像修整部Ｐ３ｅにて色調補正された画像データ１３ｂは印刷データ生成部Ｐ３ｆに受け渡され、印刷データが生成される。
【００３４】
一方、ステップＳ１５０にて、顔画像が検出できなかったと判定された場合には、ステップＳ１６０において未検索の位置（Ｘ，Ｙ）とサイズＳの組み合わせが検出領域ＤＢ１３ｃに残っているかどうかを判定する。すなわち、検出領域ＤＢ１３ｃに存在する位置（Ｘ，Ｙ）とサイズＳであって、検索済みである旨のフラグが付与されていないものがあるかどうかを判定する。そして、検索済みでない位置（Ｘ，Ｙ）とサイズＳが１つでも残っている場合には、ステップＳ１２０を再度実行する。ただし、前回検索された位置（Ｘ，Ｙ）とサイズＳの組み合わせについては、検索済みである旨のフラグが付与されているため、次に確率Ｂが高い位置（Ｘ，Ｙ）とサイズＳの組み合わせが検索されることとなる。検出領域ＤＢ１３ｃは、確率Ｂの高い順にソートされているため、上欄から下段へ順に検索済みのフラグが付与されていくとともに、上欄から下段へ順に位置（Ｘ，Ｙ）とサイズＳの組み合わせが検索されていくこととなる。以降のステップＳ１３０〜Ｓ１５０については上記と同様に行われる。
【００３５】
ステップＳ１２０を繰り返すことにより、顔画像が検出される確率Ｂが高い順に位置（Ｘ，Ｙ）とサイズＳが順次検索され、ステップＳ１３０では顔画像が検出される確率Ｂが高い順に選択領域Ｃが設定されることとなる。つまり、ステップＳ１４０では、顔画像が検出される確率Ｂが高い選択領域Ｃについて順に顔画像を検出していくこととなる。そして、いずれかの選択領域Ｃにて顔画像が検出された時点で、当該画像データ１３ｂにて顔画像が検出されたとして処理を終了させるため、通常の画像データ１３ｂにおいて顔画像が存在し得ないような位置の選択領域Ｃにて特徴情報の抽出やテンプレートマッチングが行われることが防止できる。同様に、通常の画像データ１３ｂにおいて顔画像が存在し得ないようなサイズの選択領域Ｃにて特徴情報の抽出やテンプレートマッチングが行われることも防止できる。従って、顔画像検出処理を効率よく行うことができる。
【００３６】
なお、いくつもの選択領域Ｃについて顔画像の検出を行い、最終的にステップＳ１６０において未検索の位置（Ｘ，Ｙ）とサイズＳの組み合わせが検出領域ＤＢ１３ｃに残存していないと判定された場合には、ステップＳ１７０にて顔画像が当該画像データ１３ｂから検出できなかったと判定する。これにより、画像修整部Ｐ３ｅは当該画像データ１３ｂに顔画像が含まれていないことを認識することができ、画像データ１３ｂに顔画像が含まれない場合の色調補正のパラメータを設定することができる。
【００３７】
顔画像が画像データ１３ｂに存在しない場合には検出領域ＤＢ１３ｃに存在するすべての位置（Ｘ，Ｙ）とサイズＳの組み合わせについて顔画像の検出が行われることとなる。従って、ある程度低い確率Ｂとなる位置（Ｘ，Ｙ）とサイズＳの組み合わせについては検出領域ＤＢ１３ｃにて無効化するようにして、処理の高速化を図ってもよい。例えば、頻度Ａがサンプル画像データの数に対し有為水準を満足しない場合には、その位置（Ｘ，Ｙ）とサイズＳの組み合わせはステップＳ１２０で検索されないようにしてもよい。
【００３８】
逆に、検出領域ＤＢ１３ｃに存在しない位置（Ｘ，Ｙ）とサイズＳの組み合わせにおいて顔画像が存在する場合も考えられるため、検出領域ＤＢ１３ｃに存在する以外の位置（Ｘ，Ｙ）とサイズＳの組み合わせについても顔画像を検出するようにしてもよい。例えば、ステップＳ１７０を実行する前に、画像データ１３ｂの隅から徐々に選択領域Ｃの位置をシフトさせつつ、各位置にて選択領域Ｃのサイズを順に変更して、顔画像を検出するようにすれば、画像データ１３ｂの全領域についてくまなく顔画像を検出することができる。このように、画像データ１３ｂの全領域についてくまなく顔画像を検出すると、処理が非効率化するが、ほとんどの場合、検出領域ＤＢ１３ｃに存在する位置（Ｘ，Ｙ）とサイズＳの組み合わせで顔画像が検出できるため、問題とならない。
【００３９】
（３）変形例：
以上においては、画像データ１３ｂにおいて顔画像が存在するか否かによって色調補正のパラメータを変更するプリンタドライバを例示したが、本発明の画像検出機能を他のプログラムに組み込んでもよい。例えば、デジタルスチルカメラ等によって撮影した画像データを管理したり整理するために画像検索を行う画像検索プログラムに画像検出機能を組み込むようにしてもよい。画像検索プログラムにおいては、画像データに顔画像があるかないかだけでなく、何人の顔が含まれているかを指定して検索をすることができると便利である。
【００４０】
図９は、本変形例にかかる画像検索プログラムのソフトウェア構成を示している。同図において、画像検索プログラムＰ４は、前実施形態と同様の画像データ取得部Ｐ４ａと領域設定部Ｐ４ｂと検出部Ｐ４ｃと判定部Ｐ４ｄのほかに、検索条件取得部Ｐ４ｅと画像データ選択部Ｐ４ｆと出力部Ｐ４ｇとから構成されている。検索条件取得部Ｐ４ｅはマウス４０やキーボード５０を介してユーザーから検索条件の指定を受け付ける。具体的には、画像データ１３ｂを検索する範囲指定と、検索したい顔画像の個数の指定を受け付ける。例えば、ユーザーがＣドライブに保存された画像データ１３ｂのうち、顔画像が４個以上含まれるものを検索するといった検索条件を受け付けることとなる。これにより、集合写真等の顔画像が多く含まれる画像データ１３ｂのみをリストアップすることができ、プリント（焼き増し）枚数の指定等において便利である。画像データ選択部Ｐ４ｆは、上述した検索範囲に属する画像データ１３ｂを順に選択していき、同検索範囲に属する画像データ１３ｂのすべてについて顔画像の検索が行われるようにする。
【００４１】
図１０は、以上の構成において実行される画像データ検索処理の流れを示している。ステップＳ２００においては、検索条件取得部Ｐ４ｅがマウス４０やキーボード５０を介してユーザーから検索範囲や顔画像の個数の指定を受け付ける。ステップＳ２０５においては、画像データ選択部Ｐ４ｆが指定された検索範囲の画像データ１３ｂを一つ選択する。ステップＳ２１０においては、画像データ選択部Ｐ４ｆによって選択された画像データ１３ｂを画像データ取得部Ｐ４ａが取得する。ステップＳ２２０〜Ｓ２５０までの処理は、前実施形態のステップＳ１２０〜Ｓ１８０とほぼ同様であるため説明は省略する。
【００４２】
ステップＳ２３０にて、いずれかの選択領域Ｃにて顔画像が検出され、ステップＳ２４５にて検出結果を出力すると、ステップＳ２５５にて顔画像が指定された個数検出されたかどうかが判定される。一つの画像データ１３ｂについて、ステップＳ２４５にて検出結果を出力するごとに、カウンタを１ずつ加算することにより、検出できた顔画像の個数を係数することができる。そして、ステップＳ２５５では、検出できた顔画像の個数が、ステップＳ２００にて指定された顔画像の個数に達しているかどうかを判定する。検出できた顔画像の個数が、ステップＳ２００にて指定された顔画像の個数に達していれば、当該画像データ１３ｂには少なくともユーザーが指定しただけの数の顔画像が含まれていると判定することができる。従って、その場合には、当該画像データ１３ｂはユーザーの検索条件を満足することとなる。
【００４３】
一方、検出できた顔画像の個数が、ステップＳ２００にて指定された顔画像の個数に達していなければ、現時点では、当該画像データ１３ｂからユーザーが指定しただけの数の顔画像が検出できてないと判定することができる。従って、その場合には、ステップＳ２２０に戻り、他の選択領域Ｃにて他の顔画像を検出することとなる。そして、ユーザーが指定した数の顔画像が検出されるまで、ステップＳ２２０〜Ｓ２４５が繰り返されることとなる。ただし、ステップＳ２５５からステップＳ２２０に戻る際には、ステップＳ２６０を行っており、同ステップＳ２６０では直前に検出された顔画像のサイズを優先するように検出領域ＤＢ１３ｃのソートが行われている。
【００４４】
図１１は、ステップＳ２６０にてソートされた検出領域ＤＢ１３ｃを示している。同図は、直前に検出された顔画像の検出において、サイズＳ（Ｓ＝１）が選択されていた場合のソート結果を示している。検出領域ＤＢ１３ｃの上欄にはサイズＳ（Ｓ＝１）となるサイズＳと位置（Ｘ，Ｙ）の組み合わせが上欄にリストアップされており、サイズＳ（Ｓ＝１）のなかで確率Ｂが高い順にソートされている。ステップＳ２２０では、検出領域ＤＢ１３ｃにおいて、検索済みフラグが付与されていないものを上欄から検索するようにしているため、サイズＳ（Ｓ＝１）のなかで確率Ｂが高くなる順に、サイズＳと位置（Ｘ，Ｙ）の組み合わせが検索されることとなる。すなわち、ステップＳ２２０において、最初の段階では確率Ｂを最優先に検索が行われるが、一度顔画像が検出されると、その顔画像と同じサイズＳのサイズＳと位置（Ｘ，Ｙ）の組み合わせが優先的に検索されることとなる。なお、サイズＳ（Ｓ＝１）以外については、通常どおり確率Ｂを最優先としてソートされている。
【００４５】
同一の画像データ１３ｂにおいて複数の顔画像が含まれる場合、複数の顔画像は似たような大きさとなっていると推測することができる。例えば、集合写真では、各人がカメラとの距離が同じとなるように整列することが通常であり、撮影される顔画像の大きさもほぼ同じと考えることができる。従って、ソート後の画像データ１３ｂにおいて検索されたサイズＳと位置（Ｘ，Ｙ）の組み合わせによって設定した選択領域Ｃにて顔画像が検出される可能性が高く、より早期に指定した個数の顔画像を検出することが可能となる。また、直前の顔画像の検出に適用したサイズＳと同一のものだけでなく、このサイズＳとの差が小さいサイズＳが優先的に検索されるようにしてもよい。
【００４６】
図１２は、直前の顔画像の検出に適用したサイズＳとの差が小さいもの優先的に検索されるようにソートした検出領域ＤＢ１３ｃを示している。同図において、Ｓ＝１が上欄にソートされ、次いでＳ＝２が中欄にソートされ、最後にＳ＝３が下欄にソートされている。直前の顔画像の検出に適用したサイズＳがＳ＝１であるため、差が０のＳ＝１が最初に検索され、次に差が１となるＳ＝２が検索され、最後に差が２となるＳ＝３が検索されることとなる。極端に大きさの異なる顔画像が同一の画像データ１３ｂに含まれる可能性は低いと考えられるため、このようなソートを行うことによって効率よく複数の顔画像を検出していくことができる。
【００４７】
なお、本変形例のような画像検索プログラムにおいては、顔画像の個数だけでなく、顔画像の特徴や人をキーとして検索するようにしてもよい。例えば、ステップＳ２３０にて、顔画像を検出する際に、検出した顔画像の特徴を判定するようにしてもよい。具体的には、検出された顔画像の性別や年齢等の特徴を判別し、その特徴を出力し、検索条件と比較してもよい。さらに、顔画像を検出する際に、検出した顔画像の特徴に基づいて当該顔画像が誰のものであるかを特定し、検出された顔画像が検索条件として指定された人のものであるかどうかを判定するようにしてもよい。
【００４８】
本変形例において、いずれの選択領域Ｃにおいても顔画像が検出されなかったとき（Ｓ２４０にてＮｏ）と、指定された個数の顔画像が検出されたとき（Ｓ２５５にてＹｅｓ）に、ステップＳ２６５において指定された検索範囲内のすべての画像データ１３ｂについて顔検出が完了したかを判定する。検索範囲内のすべての画像データ１３ｂについて顔検出が完了していない場合には、画像データ選択部Ｐ４ｆが次の画像データ１３ｂを選択して、当該画像データ１３ｂについて顔画像の検出を行う。このようにすることにより、検索範囲内のすべての画像データ１３ｂについて顔画像の検出を行わせることができる。検索範囲内のすべての画像データ１３ｂについて顔検出が完了した場合には、ステップＳ２７０にて出力部Ｐ４ｇが検索リストをディスプレイ６０に出力する。検索リストには、ユーザーが指定した個数の顔画像が含まれていると判定された画像データ１３ｂのファイル名等が一覧表示される。
【００４９】
以上においては、本発明にかかる顔検出の機能がコンピュータ上にて実行されるものを例示したが、本発明を他の装置に組み込んでもよい。例えば、デジタルスチルカメラにおいて本発明を適用し、撮影した画像データを顔画像の有無や個数に基づいて検索したり、補正したりするようにしてもよい。さらに、撮影の際に顔画像を特定し、同特定された顔画像に対してフォーカスを合わせるようにしてもよい。本発明によれば、高速に顔画像を検出することができるため、フォーカスに時間がかかることが防止でき、応答性に優れたデジタルスチルカメラを提供することができる。また、所定画像として顔画像を検出するものを例示したが、他の画像を所定画像として検出してもよい。すなわち、他の画像についてのテンプレートデータ１３ｄを用意しておけば顔画像と同様にマッチングさせることができる。
【００５０】
（４）まとめ：
本発明においては、検出領域ＤＢ１３ｃにおいて顔画像が検出される確率Ｂが高い順に位置（Ｘ，Ｙ）とサイズＳの組み合わせがステップＳ１２０にて順次検索され、ステップＳ１３０では顔画像が検出される確率Ｂが高い順に選択領域Ｃが設定されることとなる。これにより、ステップＳ１４０では、顔画像が検出される確率Ｂが高い選択領域Ｃについて順に顔画像を検出していくこととなる。そして、いずれかの選択領域Ｃにて顔画像が検出された時点で、当該画像データ１３ｂにて顔画像が検出されたとして処理を終了させるため、通常の画像データ１３ｂにおいて顔画像が存在し得ないような位置の選択領域Ｃにて特徴情報の抽出やテンプレートマッチングが行われることが防止できる。
【図面の簡単な説明】
【００５１】
【図１】コンピュータのハードウェアブロック図である。
【図２】コンピュータのソフトウェアブロック図である。
【図３】検出領域ＤＢを示す表である。
【図４】顔画像検出処理の流れを示すフローチャートである。
【図５】顔画像の中心位置の分布を表したグラフである。
【図６】顔画像の中心位置ごとの確率を等高線によって表したグラフである。
【図７】顔画像の中心位置ごとのサイズを表したグラフである。
【図８】画像データと選択領域を示す図である。
【図９】変形例にかかるコンピュータのソフトウェアブロック図である。
【図１０】変形例にかかる顔画像検出処理の流れを示すフローチャートである。
【図１１】変形例にかかる検出領域ＤＢを示す表である。
【図１２】別の変形例にかかる検出領域ＤＢを示す表である。
【符号の説明】
【００５２】
１０…コンピュータ（顔画像検出装置），１０ａ…バス，１１…ＣＰＵ，１２…ＲＡＭ，１３…ＨＤＤ，１３ａ…プログラムデータ，１３ｂ…画像データ，１３ｃ…検出領域ＤＢ，１３ｄ…テンプレートデータ，１４…ＵＳＢＩ／Ｆ，１５…入力機器Ｉ／Ｆ，１６…ビデオＩ／Ｆ，２０…プリンタ，３０…デジタルスチルカメラ，４０…マウス，５０…キーボード，６０…ディスプレイ，Ｐ１…Ｏ／Ｓ，Ｐ２…アプリケーション，Ｐ３…プリンタドライバ，Ｐ３ａ，Ｐ４ａ…画像データ取得部，Ｐ３ｂ，Ｐ４ｂ…領域設定部，Ｐ３ｃ，Ｐ４ｃ…検出部，Ｐ３ｃ１，Ｐ４ｃ１…特徴情報取得部，Ｐ３ｃ２，Ｐ４ｃ２…テンプレート比較部，Ｐ３ｄ，Ｐ４ｄ…判定部，Ｐ３ｅ…画像修整部，Ｐ３ｆ…印刷データ生成部，Ｐ４…画像管理プログラム，Ｐ４ｅ…検索条件取得部，Ｐ４ｆ…画像データ選択部，Ｐ４ｇ…出力部
【図１】
0004765523.tif 000002
【図２】
0004765523.tif 000003
【図３】
0004765523.tif 000004
【図４】
0004765523.tif 000005
【図５】
0004765523.tif 000006
【図６】
0004765523.tif 000007
【図７】
0004765523.tif 000008
【図８】
0004765523.tif 000009
【図９】
0004765523.tif 000010
【図１０】
0004765523.tif 000011
【図１１】
0004765523.tif 000012
【図１２】
0004765523.tif 000013