(57)【要約】【課題】より確実な画像検出を高速におこなう。【解決手段】参照用画像を用いた識別動作によって入力画像上で検出対象画像を検出する際、記憶部２５０は、通常の参照用画像とともに、通常の参照用画像が示す特徴部分を縮小した縮小参照画像を格納する。画像変換部２１１は、画像メモリ２３０に格納された入力画像を縮小する。第２の識別器２１５は、画像変換部２１１が縮小した画像上で、前記縮小参照画像を用いた識別動作をおこなう。識別結果判定部２１６は、検出用縮小画像上で検出された対象画像の位置を特定する。識別領域設定部２１３は、特定した位置に対応する入力画像上の位置において、通常の参照用画像を用いた識別動作をおこなうことで、該入力画像上で検出対象画像の検出をおこなう。【選択図】図５
2009059048.tif 000002
【特許請求の範囲】
【請求項１】
参照用画像を用いた識別動作によって入力画像上で検出対象画像を検出する画像処理装置において、
前記参照用画像を格納する参照用画像格納手段と、
前記参照用画像格納手段に格納された参照用画像が示す特徴部分を縮小した縮小参照画像を格納する縮小参照画像格納手段と、
前記入力画像を縮小する画像縮小手段と、
前記画像縮小手段が縮小した画像上で、前記縮小参照画像を用いた識別動作をおこなうことで、該縮小した画像における前記検出対象画像の位置を特定する対象位置特定手段と、
前記対象位置特定手段が特定した位置に対応する前記入力画像上の位置において、前記参照用画像を用いた識別動作をおこなうことで、該入力画像上で前記検出対象画像の検出をおこなう画像検出手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記画像検出手段は、前記対象位置特定手段が前記縮小した画像上で前記検出対象画像の位置を特定できない場合、前記入力画像上での識別動作をおこなわない、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画像縮小手段は、前記入力画像を順次縮小し、
前記画像検出手段は、前記画像縮小手段が順次縮小する画像のそれぞれにおいて前記参照用画像を用いた識別動作をおこなって前記検出対象画像を検出する、
ことを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
参照用画像を用いた識別動作によって入力画像上で検出対象画像を検出する撮像装置において、
撮像画像を入力画像として取得する入力画像取得手段と、
前記参照用画像を格納する参照用画像格納手段と、
前記参照用画像格納手段に格納された参照用画像が示す特徴部分を縮小した縮小参照画像を格納する縮小参照画像格納手段と、
前記入力画像を縮小する画像縮小手段と、
前記画像縮小手段が縮小した画像上で、前記縮小参照画像を用いた識別動作をおこなうことで、該縮小した画像における前記検出対象画像の位置を特定する対象位置特定手段と、
前記対象位置特定手段が特定した位置に対応する前記入力画像上の位置において、前記参照用画像を用いた識別動作をおこなうことで、該入力画像上で前記検出対象画像の検出をおこなう画像検出手段と、
を備えることを特徴とする撮像装置。
【請求項５】
前記画像検出手段は、前記対象位置特定手段が前記縮小した画像上で前記検出対象画像の位置を特定できない場合、前記入力画像上での識別動作をおこなわない、
ことを特徴とする請求項４に記載の撮像装置。
【請求項６】
前記画像縮小手段は、前記入力画像を順次縮小し、
前記画像検出手段は、前記画像縮小手段が順次縮小する画像のそれぞれにおいて前記参照用画像を用いた識別動作をおこなって前記検出対象画像を検出する、
ことを特徴とする請求項４または５に記載の撮像装置。
【請求項７】
参照用画像を用いた識別動作によって入力画像上で検出対象画像を検出するための画像処理方法であって、
前記入力画像を縮小する画像縮小ステップと、
前記画像縮小ステップで縮小した画像上で、前記参照用画像が示す特徴部分を縮小した縮小参照画像を用いた識別動作をおこなうことで、該縮小した画像における前記検出対象画像の位置を特定する対象位置特定ステップと、
前記対象位置特定ステップで特定した位置に対応する前記入力画像上の位置において、前記参照用画像を用いた識別動作をおこなうことで、該入力画像上で前記検出対象画像の検出をおこなう画像検出ステップと、
を含むことを特徴とする画像処理方法。
【請求項８】
コンピュータに参照用画像を用いた識別動作によって入力画像上で検出対象画像を検出させるプログラムであって、
前記コンピュータに、
前記入力画像を縮小する機能と、
前記縮小した画像上で、前記参照用画像が示す特徴部分を縮小した縮小参照画像を用いた識別動作をおこなうことで、該縮小した画像における前記検出対象画像の位置を特定する機能と、
前記特定した位置に対応する前記入力画像上の位置において、前記参照用画像を用いた識別動作をおこなうことで、該入力画像上で前記検出対象画像の検出をおこなう機能と、
を実現させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、撮像装置、画像処理方法、および、プログラムに関し、特に、特定の画像部分の検出に好適な画像処理装置、撮像装置、画像処理方法、および、プログラムに関する。
【背景技術】
【０００２】
デジタルスチルカメラなどの撮像装置においては、人物を被写体とした場合に、ファインダ画面上で顔を検出する技術が実現されている（例えば、特許文献１）。
【０００３】
このような顔検出を用いることで、例えば、顔部分に合焦させたり、顔部分に合わせて露出調整やホワイトバランス調整をおこなったりすることができ、人物に最適化した撮影を容易におこなうことができる。
【０００４】
このような顔検出技術では、入力画像を順次縮小した複数の画像（いわゆる、画像ピラミッド）を生成し、各画像において、予め用意した顔画像（参照用画像）を用いた識別動作をおこなうことで、撮像画像内の顔部分の大きさが不定であっても、一定のサイズの参照用画像を用意しておけば、顔検出をおこなうことができる。
【特許文献１】特開２００３−３６４３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来の画像ピラミッドによる顔検出においては、入力画像を順次縮小させた画像ピラミッドを用いるので、参照用画像が示す顔の大きさよりも大きい顔を検出することはできるが、入力画像において、顔部分が小さく現れている場合には、検出することができない。
【０００６】
このため、例えば、撮像位置からの距離が異なる複数の被写体を撮像することで、種々の大きさの顔が撮像装置に現れている場合、小さい顔については検出されない場合があった。
【０００７】
このような不都合を解消するためには、入力画像を縮小せずに顔検出をおこなうことが考えられるが、画像上でサブウィンドウを移動させながら顔識別をおこなう方法では、画像サイズが大きくなるほど処理工数が増大してしまう。この結果、検出にかかる処理時間が長大となってしまい、ファインダ画面においてリアルタイムに顔を検出することができなくなるおそれがある。そして、撮像装置の性能向上により、入力画像の大型化と表示装置の高精細化が進む傾向にあり、確実な画像検出をリアルタイムにおこなうことがより困難となる。
【０００８】
本発明は、上記実状に鑑みてなされたものであり、より確実な画像検出を高速におこなうことのできる画像処理装置、撮像装置、画像処理方法、および、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明の第１の観点に係る画像処理装置は、
参照用画像を用いた識別動作によって入力画像上で検出対象画像を検出する画像処理装置において、
前記参照用画像を格納する参照用画像格納手段と、
前記参照用画像格納手段に格納された参照用画像が示す特徴部分を縮小した縮小参照画像を格納する縮小参照画像格納手段と、
前記入力画像を縮小する画像縮小手段と、
前記画像縮小手段が縮小した画像上で、前記縮小参照画像を用いた識別動作をおこなうことで、該縮小した画像における前記検出対象画像の位置を特定する対象位置特定手段と、
前記対象位置特定手段が特定した位置に対応する前記入力画像上の位置において、前記参照用画像を用いた識別動作をおこなうことで、該入力画像上で前記検出対象画像の検出をおこなう画像検出手段と、
を備えることを特徴とする。
【００１０】
上記画像処理装置において、
前記画像検出手段は、前記対象位置特定手段が前記縮小した画像上で前記検出対象画像の位置を特定できない場合、前記入力画像上での識別動作をおこなわないことが望ましい。
【００１１】
上記画像処理装置において、
前記画像縮小手段は、前記入力画像を順次縮小し、
前記画像検出手段は、前記画像縮小手段が順次縮小する画像のそれぞれにおいて前記参照用画像を用いた識別動作をおこなって前記検出対象画像を検出することが望ましい。
【００１２】
上記目的を達成するため、本発明の第２の観点にかかる撮像装置は、
参照用画像を用いた識別動作によって入力画像上で検出対象画像を検出する撮像装置において、
撮像画像を入力画像として取得する入力画像取得手段と、
前記参照用画像を格納する参照用画像格納手段と、
前記参照用画像格納手段に格納された参照用画像が示す特徴部分を縮小した縮小参照画像を格納する縮小参照画像格納手段と、
前記入力画像を縮小する画像縮小手段と、
前記画像縮小手段が縮小した画像上で、前記縮小参照画像を用いた識別動作をおこなうことで、該縮小した画像における前記検出対象画像の位置を特定する対象位置特定手段と、
前記対象位置特定手段が特定した位置に対応する前記入力画像上の位置において、前記参照用画像を用いた識別動作をおこなうことで、該入力画像上で前記検出対象画像の検出をおこなう画像検出手段と、
を備えることを特徴とする。
【００１３】
上記撮像装置において、
前記画像検出手段は、前記対象位置特定手段が前記縮小した画像上で前記検出対象画像の位置を特定できない場合、前記入力画像上での識別動作をおこなわないことが望ましい。
【００１４】
上記撮像装置において、
前記画像縮小手段は、前記入力画像を順次縮小し、
前記画像検出手段は、前記画像縮小手段が順次縮小する画像のそれぞれにおいて前記参照用画像を用いた識別動作をおこなって前記検出対象画像を検出することが望ましい。
【００１５】
上記目的を達成するため、本発明の第３の観点にかかる画像処理方法は、
参照用画像を用いた識別動作によって入力画像上で検出対象画像を検出するための画像処理方法であって、
前記入力画像を縮小する画像縮小ステップと、
前記画像縮小ステップで縮小した画像上で、前記参照用画像が示す特徴部分を縮小した縮小参照画像を用いた識別動作をおこなうことで、該縮小した画像における前記検出対象画像の位置を特定する対象位置特定ステップと、
前記対象位置特定ステップで特定した位置に対応する前記入力画像上の位置において、前記参照用画像を用いた識別動作をおこなうことで、該入力画像上で前記検出対象画像の検出をおこなう画像検出ステップと、
を含むことを特徴とする。
【００１６】
上記目的を達成するため、本発明の第４の観点にかかるプログラムは、
コンピュータに参照用画像を用いた識別動作によって入力画像上で検出対象画像を検出させるプログラムであって、
前記コンピュータに、
前記入力画像を縮小する機能と、
前記縮小した画像上で、前記参照用画像が示す特徴部分を縮小した縮小参照画像を用いた識別動作をおこなうことで、該縮小した画像における前記検出対象画像の位置を特定する機能と、
前記特定した位置に対応する前記入力画像上の位置において、前記参照用画像を用いた識別動作をおこなうことで、該入力画像上で前記検出対象画像の検出をおこなう機能と、
を実現させることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、より確実な画像検出を高速におこなうことができる。
【発明を実施するための最良の形態】
【００１８】
本発明にかかる実施形態を、図面を参照して以下に説明する。本実施形態では、本発明をデジタルスチルカメラ（以下、デジタルカメラ）によって実現した場合を例示する。本実施形態にかかるデジタルカメラ１は、一般的なデジタルスチルカメラが有する機能に加え、ファインダ画面上で特定の被写体部分を検出し、検出された被写体部分に合わせた撮像設定をおこなう機能を備えているものとする。本実施形態では、ファインダ画面上にある人物の顔を被写体部分として検出するものとする。すなわち、本実施形態にかかるデジタルカメラ１は、いわゆる顔検出機能を備えたデジタルスチルカメラである。
【００１９】
図１は、本発明の実施形態にかかるデジタルカメラ１の構成を示すブロック図である。本実施形態にかかるデジタルカメラ１の概略的構成は、図示するように、撮像部１００、データ処理部２００、インタフェース（Ｉ／Ｆ）部３００、などである。
【００２０】
撮像部１００は、デジタルカメラ１の撮像動作をおこなう部分であり、図示するように、光学装置１１０やイメージセンサ部１２０などから構成されている。
【００２１】
光学装置１１０は、例えば、レンズ、絞り機構、シャッタ機構、などを含み、撮像にかかる光学的動作をおこなう。すなわち、光学装置１１０の動作により、入射光が集光されるとともに、焦点距離、絞り、シャッタスピードなどといった、画角やピント、露出などにかかる光学的要素の調整がなされる。なお、光学装置１１０に含まれるシャッタ機構はいわゆる機械式のシャッタ装置であり、イメージセンサによってシャッタ動作をおこなう場合には、光学装置１１０にシャッタ機構が含まれていなくてもよい。また、光学装置１１０は、後述する制御部２１０による制御によって動作する。
【００２２】
イメージセンサ部１２０は、光学装置１１０によって集光された入射光に応じた電気信号を生成する、例えば、ＣＣＤ（Charge Coupled Device：電荷結合素子）やＣＭＯＳ（Complementally Metal Oxide Semiconductor：相補型金属酸化物半導体）などのイメージセンサから構成される。イメージセンサ部１２０は、光電変換をおこなうことで、受光に応じた電気信号を発生してデータ処理部２００に出力する。
【００２３】
なお、デジタルカメラ１のビューファインダとして、液晶画面（後述する表示部３１０など）やＥＶＦ（Electronic View Finder）などが用いられる場合、イメージセンサ部１２０が低解像度の画像信号を常時出力することで、いわゆるライブビュー画像（レックスルー画像）がファインダ画面として表示されるものとする。本実施形態では、後述する表示部３１０をファインダ画面として用いるものとし、デジタルカメラ１での撮像動作時には、レックスルー画像を表示部３１０のファインダ画面に表示してライブビュー機能が実現されるものとする。
【００２４】
このようなライブビュー機能で表示されるレックスルー画像は、通常、画質より表示速度が重視されるので、処理負荷が低くなるよう比較的サイズの小さい画像（低解像度画像）を用いる。本実施形態では、シャッタ操作による撮像時以外は、６４０×４８０のＶＧＡ（Video Graphics Array）画像をイメージセンサ部１２０が出力するものとし、このＶＧＡ画像をライブビュー用のレックスルー画像として用いるものとする。なお、レックスルー画像のサイズ（解像度）は、ライブビュー画像を表示する表示装置の性能（解像度など）に応じて規定されるものとする。すなわち、出力する表示装置において、ファインダとして利用できる画像品質と表示速度が得られる程度の解像度（サイズ）とする。
【００２５】
データ処理部２００は、撮像部１００による撮像動作によって生成された電気信号を処理し、撮像画像を示すデジタルデータを生成するとともに、撮像画像に対する画像処理などをおこなう。図１に示すように、データ処理部２００は、制御部２１０、画像処理部２２０、画像メモリ２３０、画像出力部２４０、記憶部２５０、外部記憶部２６０、などから構成される。
【００２６】
制御部２１０は、例えば、ＣＰＵ（Central Processing Unit：中央演算処理装置）などのプロセッサやＲＡＭ（Random Access Memory）などの主記憶装置などから構成され、後述する記憶部２５０などに格納されているプログラムを実行することで、デジタルカメラ１の各部を制御する。また、本実施形態では、所定のプログラムを実行することで、後述する各処理にかかる機能が制御部２１０によって実現される。
【００２７】
画像処理部２２０は、例えば、ＡＤＣ（Analog-Digital Converter：アナログ−デジタル変換器）、バッファメモリ、画像処理用のプロセッサ（いわゆる、画像処理エンジン）などから構成され、撮像部１００によって生成された電気信号に基づいて、撮像画像を示すデジタルデータを生成する。
【００２８】
すなわち、イメージセンサ部１２０から出力されたアナログ電気信号をＡＤＣがデジタル信号に変換して順次バッファメモリに格納すると、画像処理エンジンがバッファされたデジタルデータに対し、いわゆる現像処理などをおこなうことで、画質の調整やデータ圧縮などをおこなう。
【００２９】
画像メモリ２３０は、例えば、ＲＡＭやフラッシュメモリなどの記憶装置から構成され、画像処理部２２０によって生成された撮像画像データや、制御部２１０によって処理される画像データなどを一時的に格納する。本実施形態では、ファインダ用のライブビュー画像としてイメージセンサ部１２０から出力された画像データを一時的に格納し、格納した画像データを用いて顔検出のための処理がおこなわれるものとする。
【００３０】
画像出力部２４０は、例えば、ＲＧＢ信号の生成回路などから構成され、画像メモリ２３０に展開された画像データをＲＧＢ信号などに変換して表示画面（後述する表示部３１０など）に出力する。
【００３１】
記憶部２５０は、例えば、ＲＯＭ（Read Only Memory）やフラッシュメモリなどの記憶装置から構成され、デジタルカメラ１の動作に必要なプログラムやデータなどを格納する。本実施形態では、制御部２１０などが実行する動作プログラムなどが記憶部２５０に格納されているものとする。
【００３２】
外部記憶部２６０は、例えば、メモリカードなどといった、デジタルカメラ１に着脱可能な記憶装置から構成され、デジタルカメラ１で撮像した画像データなどを格納する。
【００３３】
インタフェース部３００は、デジタルカメラ１とその使用者あるいは外部装置とのインタフェースにかかる構成であり、図１に示すように、表示部３１０、外部インタフェース（Ｉ／Ｆ）部３２０、操作部３３０、などから構成される。
【００３４】
表示部３１０は、例えば、液晶表示装置などから構成され、デジタルカメラ１を操作するために必要な種々の画面や、撮影時のライブビュー画像、撮像画像、などを表示出力する。本実施形態では、画像出力部２４０からの画像信号（ＲＧＢ信号）などに基づいて撮像画像等の表示出力がおこなわれる。
【００３５】
外部インタフェース部３２０は、例えば、ＵＳＢ（Universal Serial Bus）コネクタやビデオ出力端子などから構成され、外部のコンピュータ装置への画像データの出力や、外部のモニタ装置への撮像画像の表示出力などをおこなう。
【００３６】
操作部３３０は、デジタルカメラ１の外面上に構成されている各種ボタンなどによって構成され、デジタルカメラ１の使用者による操作に応じた入力信号を生成して制御部２１０に入力する。操作部３３０を構成するボタンとして、例えば、シャッタ動作を指示するためのシャッタボタンや、デジタルカメラ１のもつ動作モードを指定するためのモードボタン、各種設定をおこなうための十字キーや機能ボタン、などが含まれているものとする。
【００３７】
ここで、データ処理部２００の画像メモリ２３０についての詳細を、図２（ａ）を参照して説明する。ここでは、デジタルカメラ１の顔検出機能にかかる処理に必要となる画像メモリ２３０の構成を説明する。つまり、デジタルカメラ１で顔検出機能が実行される場合、本実施形態にかかる画像メモリ２３０には、図２（ａ）に示すような記憶領域が確保される。図示するように、画像メモリ２３０には、入力画像格納領域２３０ａ、検出用画像格納領域２３０ｂ、検出用画像格納領域２３０ｃ、などの記憶領域が用意され、各記憶領域に応じた画像データが格納される。
【００３８】
入力画像格納領域２３０ａは、イメージセンサ部１２０から出力されるライブビュー用のＶＧＡ画像を順次格納する記憶領域である。
【００３９】
検出用画像格納領域２３０ｂは、顔検出機能にかかる顔検出をおこなうための検出用画像を格納する記憶領域である。本実施形態では、入力画像格納領域２３０ａにライブビュー用のレックスルー画像（スルー画像）として格納したＶＧＡ画像を輝度画像に変換したもの（以下、「検出用スルー画像ＰＬ」とする）が検出用画像格納領域２３０ｂに格納される。検出用画像格納領域２３０ｂに格納される検出用スルー画像ＰＬの例を図３に示す。
【００４０】
検出用画像格納領域２３０ｃは、顔検出機能にかかる顔検出をおこなうための、よりサイズの小さい検出用画像を格納する記憶領域である。本実施形態では、検出用画像格納領域２３０ｂに格納した検出用スルー画像ＰＬをより小さいサイズ（すなわち、ＶＧＡより小さいサイズ）に縮小変換したもの（以下、検出用縮小画像ＰＳ」とする）が検出用画像格納領域２３０ｃに格納される。検出用画像格納領域２３０ｃに格納される検出用縮小画像ＰＳの例を図３に示す。
【００４１】
本実施形態では、この検出用画像格納領域２３０ｃに格納された検出用縮小画像ＰＳによって、従来の顔検出技術で用いられているような画像ピラミッドを作成する。したがって、検出用画像格納領域２３０ｃには、ＶＧＡより小さいサイズとして、例えば、３２０×２４０のＱＶＧＡ（Quarter-VGA）画像が格納されるとともに、図３に示すように、画像ピラミッドを作成する処理の進行に応じて、ＱＶＧＡ画像をさらに縮小した画像が順次格納される。ここでは、ＱＶＧＡサイズの検出用縮小画像ＰＳを検出用縮小画像ＰＳ０とし、以下、縮小をおこなった回数に応じて、検出用縮小画像ＰＳ１、検出用縮小画像ＰＳ２…、検出用縮小画像ＰＳｎと表す。
【００４２】
次に、データ処理部２００の記憶部２５０についての詳細を、図２（ｂ）を参照して説明する。ここでは、デジタルカメラ１の顔検出機能にかかる処理に必要となる記憶部２５０の構成を説明する。つまり、デジタルカメラ１で顔検出機能を実現するために、本実施形態にかかる記憶部２５０には、図２（ｂ）に示すような記憶領域が確保される。
【００４３】
図示するように、記憶部２５０には、参照用画像格納領域２５０ａ、参照用画像格納領域２５０ｂ、プログラム格納領域２５０ｃ、などの記憶領域が用意され、各記憶領域に応じた画像データが格納される。
【００４４】
参照用画像格納領域２５０ａおよび参照用画像格納領域２５０ｂは、顔検出をおこなう際に参照される参照用画像を格納する記憶領域である。ここで、本実施形態にかかる顔検出機能は、従来の顔検出技術と同様、予め用意されている顔画像を参照画像とし、検出用画像上に設定したサブウィンドウの画像と参照画像が示す特徴部分とを比較することで、検出用画像上に顔に相当する部分があるか検索する。参照用画像格納領域２５０ａおよび参照用画像格納領域２５０ｂは、このときに参照される顔画像を予め格納したものである。
【００４５】
本実施形態では、顔検出の際に参照される顔画像を示した参照用画像を２種類用意し、それぞれ参照用画像格納領域２５０ａと参照用画像格納領域２５０ｂに格納する。ここで、参照用画像格納領域２５０ａに格納されている参照用画像の例を図４（ａ）に示す。
【００４６】
図示するように、参照用画像格納領域２５０ａには、例えば、検出時に設定されるサブウィンドウサイズ（例えば、２４×２４ドット）の顔画像が複数格納される。ここで、参照用画像格納領域２５０ａに格納される参照用画像は、図４（ａ）に示すような、サブウィンドウのほぼ全体を顔部分（特徴部分）が占めるような画像であるものとする。このような画像は、従来の顔検出技術で通常用いられている参照用画像（以下、「通常参照画像ＦＬ」とする）である。
【００４７】
参照用画像格納領域２５０ｂには、このような通常参照画像ＦＬとは異なる種類の参照用画像が格納される。本実施形態では、通常参照画像ＦＬと同じ顔画像であるが、顔部分（特徴部分）の大きさが通常参照画像ＦＬよりも小さい画像（以下、「縮小参照画像ＦＳ」とする）が参照用画像格納領域２５０ｂに格納されるものとする。このような縮小参照画像ＦＳの例を図４（ｂ）に示す。
【００４８】
図示するように、縮小参照画像ＦＳは、通常参照画像ＦＬと同様に、サブウィンドウサイズと同サイズ（例えば、２４×２４ドット）の画像であり、図示するように、顔全体を示す部分のすべてが領域の中心部で示されている画像である。参照用画像格納領域２５０ｂには、このような縮小参照画像ＦＳが複数格納されている。
【００４９】
プログラム格納領域２５０ｃは、制御部２１０が実行する動作プログラムを格納する記憶領域である。
【００５０】
本実施形態では、記憶部２５０のプログラム格納領域２５０ｃに格納されている動作プログラムを制御部２１０が実行することで、後述する各処理が実現されるが、この場合に制御部２１０によって実現される機能を、図５を参照して説明する。
【００５１】
図５は、本発明にかかる機能を実行する際に制御部２１０によって実現される機能を示した機能ブロック図である。なお、図５に示す機能は、顔検出機能を実行する際に必要となる機能を示すものである。
【００５２】
すなわち、撮像時のファインダ画面（ライブビュー画面）上で顔検出をおこなう際、制御部２１０によって図５に示すような機能が実現される。図示するように、制御部２１０は、画像変換部２１１、対象画像選択部２１２、識別領域設定部２１３、第１の識別器２１４、第２の識別器２１５、識別結果判定部２１６、出力処理部２１７、などとして機能する。
【００５３】
画像変換部２１１は、イメージセンサ部１２０がライブビュー用に出力したレックスルー画像を、顔検出処理で用いる画像に変換する。すなわち、入力画像格納領域２３０ａに格納されたＶＧＡ画像を輝度画像に変換し、検出用スルー画像ＰＬとして検出用画像格納領域２３０ｂに格納するとともに、検出用スルー画像ＰＬをＱＶＧＡサイズ以下の検出用縮小画像ＰＳに変換して検出用画像格納領域２３０ｃに格納する。なお、画像変換部２１１による画像変換は、既知の画像変換アルゴリズムなどによってなされるものとする。
【００５４】
対象画像選択部２１２は、顔検出にかかる処理対象となる画像を選択する。すなわち、検出用画像格納領域２３０ｂおよび検出用画像格納領域２３０ｃに格納された検出用画像のいずれかを処理対象画像として選択する。
【００５５】
識別領域設定部２１３は、対象画像選択部２１２が選択した画像上で、顔部分を識別するための識別領域（サブウィンドウ）を設定する。本実施形態では、２４×２４ドットのサブウィンドウが選択された画面上に設定されるものとする。また、識別領域設定部２１３は、検出用縮小画像ＰＳで設定したサブウィンドウで顔部分が検出された場合、検出用スルー画像ＰＬ上でサブウィンドウを設定するための拡張領域を設定する。
【００５６】
第１の識別器２１４は、識別領域設定部２１３が設定したサブウィンドウの画像と、参照用画像格納領域２５０ｂに格納されている縮小参照画像ＦＳ（小サイズ画像）とを比較し、当該サブウィンドウの画像が顔部分を示すものであるか否かを識別する。
【００５７】
第２の識別器２１５は、識別領域設定部２１３が設定したサブウィンドウの画像と、参照用画像格納領域２５０ａに格納されている通常参照画像ＦＬ（通常サイズ画像）とを比較し、当該サブウィンドウの画像が顔部分を示すものであるか否かを識別する。
【００５８】
本実施形態にかかる第１の識別器２１４および第２の識別器２１５は、いずれも既知の顔検出識別器のアルゴリズム（例えば、ニューラルネット（NN）、アダブースト（Adaboost）、サポートベクターマシン（SVM）、など）を用いて顔部分の識別をおこなうものとする。なお、このようなアルゴリズムによって顔検出をおこなう場合において、参照用画像として顔部分以外の画像も用いる場合は、必要に応じて参照用画像格納領域２５０ａや参照用画像格納領域２５０ｂに格納されているものとする。
【００５９】
識別結果判定部２１６は、第１の識別器２１４および第２の識別器２１５による識別結果を統合することで、入力されたレックスルー画像上に示されている顔部分の位置を判定する。
【００６０】
出力処理部２１７は、識別結果判定部２１６が判定した顔部分の位置に基づいて、表示部３１０に表示するレックスルー画像（ライブビュー画像）上に、検出された顔部分を明示する表示をおこなう。ここでは、例えば、図６に示すような矩形の枠画像を、検出された顔部分の位置に表示する。
【００６１】
以上が顔検出機能の動作時に制御部２１０によって実現される機能である。なお、本実施形態では、制御部２１０がプログラムを実行することによる論理的処理で上述した各機能が実現されるものとするが、これらの機能を、例えば、ＡＳＩＣ（Application Specific Integrated Circuit：特定用途向け集積回路）などのハードウェアによって構成してもよい。この場合、図５に示した機能のうち、画像処理にかかる機能については、画像処理部２２０によって実現されてもよい。
【００６２】
以上説明したデジタルカメラ１の構成は、本発明を実現するために必要な構成であり、デジタルカメラとしての基本機能や種々の付加機能に用いられる構成は必要に応じて備えられているものとする。特に、顔検出機能にかかる構成については、本実施形態では、検出された顔部分に枠画像を表示するまでに必要なものを示すが、デジタルカメラ１の顔検出機能には、このように検出された顔位置に合わせた撮像動作なども含まれているものとする。つまり、検出された顔部分にピントや露出を合わせて撮像する動作に必要な構成や処理などは既知の顔検出技術を用いて適宜実現されるものとし、本実施形態ではその説明は省略する。
【００６３】
このような構成のデジタルカメラ１による動作を以下に説明する。ここでは、顔検出機能を用いて撮像する際にデジタルカメラ１で実行される「顔検出処理」を、図７に示すフローチャートを参照して説明する。この顔検出処理は、例えば、デジタルカメラ１の使用者が操作部３３０を操作することで、デジタルカメラ１の顔検出機能を有効にしたことを契機に開始されるものとする。
【００６４】
処理が開始されると、画像変換部２１１は、入力画像格納領域２３０ａに格納された入力画像（ＶＧＡのレックスルー画像）を取り込み（ステップＳ１０１）、同サイズ（すなわち、ＶＧＡ）の輝度画像に変換し、検出用スルー画像ＰＬとして検出用画像格納領域２３０ｂに格納する（ステップＳ１０２）。
【００６５】
画像変換部２１１は、ステップＳ１０１で検出用画像格納領域２３０ｂに格納した検出用スルー画像ＰＬのサイズをＶＧＡからＱＶＧＡに変換し、検出用縮小画像ＰＳとして検出用画像格納領域２３０ｃに格納する（ステップＳ１０３）。
【００６６】
このようにして、入力画像と同サイズ（例えば、ＶＧＡ）の検出用画像と、縮小したサイズ（例えば、ＱＶＧＡ）の検出用画像が生成されると、画像変換部２１１は、その旨を対象画像選択部２１２に通知する。対象画像選択部２１２は、画像変換部２１１からの通知に応じて、「拡大方向顔検出処理（１）」と「拡大方向顔検出処理（２）」を順次実行する（ステップＳ２００、ステップＳ３００）。
【００６７】
ここで、拡大方向顔検出とは、縮小した検出用画像（検出用縮小画像ＰＳ）上で、縮小参照画像ＦＳを用いた顔識別によって顔検出をおこない、検出された位置に相当する検出用スルー画像ＰＬ上の位置において、通常参照画像ＦＬを用いた顔識別をおこなうものである。すなわち、処理の前段において縮小サイズ画像を用いた顔検出をおこなって顔位置の推定をおこなった後に、その結果に基づき、画像サイズが拡大方向となる通常サイズの画像上で顔検出を後段でおこなう。この場合の前段にかかる処理が「拡大方向顔検出処理（１）」であり、後段にかかる処理が「拡大方向顔検出処理（２）」である。
【００６８】
ここで実行される「拡大方向顔検出処理（１）」を、図８に示すフローチャートを参照して説明する。
【００６９】
上述したように、拡大方向顔検出処理の前段では、縮小した検出用画像を用いるので、対象画像選択部２１２は、検出用画像格納領域２３０ｃに格納されている、ＱＶＧＡに縮小された検出用縮小画像ＰＳを対象画像として選択し、制御部２１０のＲＡＭなどに展開されるワークエリアに読み出す（ステップＳ２０１）。
【００７０】
対象画像選択部２１２は、対象画像を読み出すと、その旨を識別領域設定部２１３に通知する。識別領域設定部２１３は、対象画像選択部２１２からの通知に応じ、ワークエリアに読み出された検出用縮小画像ＰＳに、識別領域（サブウィンドウ）を設定する。本実施形態では、従来の顔検出技術と同様、対象画像上に、所定の大きさの識別領域を設定し、それを順次移動させながら、顔部分の検出をおこなう。よって、このような識別領域の移動においては、移動経路が予め規定されている。本実施形態では、例えば、図１１（ａ）に示すように、画像の左上角部を開始位置とし、そこから識別領域ＳＷを右方向に所定ステップずつ移動させる。識別領域ＳＷが画像の右端に到達したら下方向に１ステップ分移動させた後に左方向に１ステップずつ移動させる。そして、識別領域ＳＷが画像端部に到達する毎に、１ステップ分下方向に移動してから、逆方向に移動する動作を繰り返すことで、画像の全域に渡って識別領域ＳＷを移動させる。
【００７１】
したがって、本実施形態にかかる識別領域設定部２１３は、上述した識別開始位置（すなわち、画像左上角部）に、例えば、２４×２４ドットの大きさとなる識別領域ＳＷを設定し（ステップＳ２０２）、設定した識別領域ＳＷにおいて検出用縮小画像ＰＳの切り出しをおこなう（ステップＳ２０３）。
【００７２】
識別領域設定部２１３は、設定した識別領域ＳＷの画像切り出しをおこなうと、切り出した画像を第２の識別器２１５に入力する。上述したように、第２の識別器２１５は、例えば、ニューラルネットなどの顔識別アルゴリズムを用いて、参照用画像格納領域２５０ｂに格納されている縮小参照画像ＦＳと入力画像との比較から、当該入力画像が顔部分を示しているか識別する。したがって、第２の識別器２１５は、図４（ｂ）に示したような縮小参照画像ＦＳを用いて、検出用縮小画像ＰＳから切り出された入力画像についての顔識別をおこなう（ステップＳ２０４）。
【００７３】
ここで、例えば、顔識別アルゴリズムとしてニューラルネットを採用した場合、第２の識別器２１５は、顔の場合は１、非顔の場合は−１となるような教師信号を出力する。このような教師信号は、既知のニューラルネット技術に基づくものであり、第２の識別器２１５（第１の識別器２１４）の学習による重み付けがおこなわれることで、随時設定される。
【００７４】
このようなニューラルネットを顔検出アルゴリズムとした場合、ステップＳ２０４の顔識別において、入力画像が顔を示すのであれば１に近い値が出力され、非顔であれば−１に近い値が出力されることになる。第２の識別器２１５は、採用している顔検出アルゴリズムに応じた出力信号を生成し、識別結果判定部２１６に出力する。
【００７５】
識別結果判定部２１６は、第２の識別器２１５からの出力に基づいて、識別領域ＳＷで検出用縮小画像ＰＳから切り出された画像で顔が検出されたか否かを判別する（ステップＳ２０５）。
【００７６】
顔が検出された場合（ステップＳ２０５：Ｙｅｓ）、識別結果判定部２１６は、当該識別領域ＳＷの位置を、例えば、ワークエリア上に記録する（ステップＳ２０６）。ここでは、例えば、図１１（ｂ）に示すような検出結果テーブルがワークエリア上に作成され、検出用縮小画像ＰＳ上で、縮小参照画像ＦＳに基づいて顔が検出された識別領域ＳＷの位置が記録される。この場合、例えば、識別領域ＳＷの中心位置を示す検出用縮小画像ＰＳ上の座標が、識別領域ＳＷの位置情報として記録される。
【００７７】
一方、第２の識別器２１５の識別結果が、当該識別領域ＳＷは顔ではない場合（ステップＳ２０５：Ｎｏ）、識別結果判定部２１６は、識別領域ＳＷの位置情報の記録をおこなわない。
【００７８】
このようにして、識別結果判定部２１６が識別結果の判定をおこなうと、その旨を識別領域設定部２１３に通知する。識別領域設定部２１３は、識別結果判定部２１６からの通知に応じて、現在設定した識別領域ＳＷの位置が、検出用縮小画像ＰＳ上の識別終了位置であるか否かを判別し（ステップＳ２０７）、終了位置での識別がおこなわれるまで（ステップＳ２０７：Ｎｏ）、識別領域ＳＷを１ステップずつ移動させる（ステップＳ２０８）。ここで、検出用縮小画像ＰＳでの顔識別における識別領域ＳＷの移動ステップは、例えば、４ドット分であるものとする。つまり、拡大方向顔検出処理（１）では、図１１（ａ）に示したような経路で識別領域ＳＷを４ドットずつ移動させながら、各識別領域ＳＷに対応する部分を切り出し、縮小参照画像ＦＳを用いた顔識別をおこなう（ステップＳ２０３〜ステップＳ２０６）。
【００７９】
そして、終了位置での顔検出動作がおこなわれると（ステップＳ２０７：Ｙｅｓ）、本処理を終了し、図７に示す顔検出処理のフローに戻る。ここでは、拡大方向顔検出処理の前段が終了したので、後段の「拡大方向顔検出処理（２）」が続けて実行される。この拡大方向顔検出処理（２）を、図９に示すフローチャートを参照して説明する。
【００８０】
処理が開始されると、識別結果判定部２１６は、前段の拡大方向顔検出処理（１）（ステップＳ２００）の処理で、顔が検出されたか否かを判別する（ステップＳ３０１）。上述したように、拡大方向顔検出処理（１）においては、顔が検出された場合、その識別領域ＳＷの位置情報がワークエリアに記録されるので、識別領域ＳＷの位置情報が記録されているか否かをみることで、前段の処理で顔が検出されたか判別することができる。
【００８１】
ここで、本実施形態にかかる拡大方向顔検出処理は、顔部分の小さい縮小参照画像ＦＳを用いた顔検出を、本来のライブビュー画像よりもサイズの小さい検出用縮小画像ＰＳ上でまずおこなうことで、入力画像上で顔と推定される部分のあたりをつけておく。そして、実際のライブビュー画像と同サイズの検出用スルー画像ＰＬについては、画像全域で顔識別をおこなわず、あたりをつけた位置の周辺で顔識別をおこなう。
【００８２】
本実施形態ではこのような処理手順としているので、上述した拡大方向顔検出処理（１）は、入力画像上で顔と推定される部分のあたりをつけるまでの処理ということになる。そして、現在実行されている拡大方向顔検出処理（２）は、前段の処理であたりをつけた位置で詳細な顔識別動作をおこなうものである。よって、拡大方向顔検出処理（１）において、顔と推定される部分が検出されなかった場合、拡大方向顔検出処理（２）をおこなう必要はない。よって、前段の拡大方向顔検出処理（１）（ステップＳ２００）で顔の検出がなされなかった場合（ステップＳ３０１：Ｎｏ）、そのまま本処理を終了する。この場合、拡大方向顔検出処理（２）（ステップＳ３００）は、実質的に実行されなかったことになる。
【００８３】
一方、拡大方向顔検出処理（１）で顔が検出されている場合（ステップＳ３０１：Ｙｅｓ）、識別結果判定部２１６は、その旨を対象画像選択部２１２に通知する。対象画像選択部２１２は、識別結果判定部２１６からの通知に応じて、ＶＧＡサイズの検出用スルー画像ＰＬを処理対象として選択し、検出用画像格納領域２３０ｂからワークエリアに読み出す（ステップＳ３０２）。
【００８４】
検出用スルー画像ＰＬを読み出すと、対象画像選択部２１２はその旨を識別領域設定部２１３に通知する。識別領域設定部２１３は、対象画像選択部２１２からの通知に応じて、ＶＧＡの検出用スルー画像ＰＬ上で顔検出動作をおこなう領域である絞込検出領域を設定する（ステップＳ３０３）。ここでは、図１１（ｂ）に示したワークエリア上の検出結果テーブルを参照することで、識別領域設定部２１３は、前段の拡大方向顔検出処理（１）において顔が検出された識別領域ＳＷの位置（以下、「顔検出部分」とする）を認識する。
【００８５】
ここで、前段の拡大方向顔検出処理（１）では、ＱＶＧＡに縮小した検出用縮小画像ＰＳを処理対象としていたので、識別領域設定部２１３は、検出用縮小画像ＰＳにおける顔検出部分の相対的な位置を求め、求めた相対位置に基づいて、ステップＳ３０２で読み出した検出用スルー画像ＰＬ上に絞込検出領域を設定する。つまり、検出用縮小画像ＰＳの画像サイズであるＱＶＧＡは、実際のライブビュー画像のサイズであるＶＧＡの各辺の長さを１／２にしたもの（面積比１／４）であるので、検出用縮小画像ＰＳと検出用スルー画像ＰＬは相似形である。よって、一方の検出用縮小画像ＰＳと、そこで検出された顔検出部分との相対的な位置関係が求まれば、相似する検出用スルー画像ＰＬ上でも、顔検出部分にあたる位置を相対的な位置関係によって特定することができる。
【００８６】
このような、検出用縮小画像ＰＳと検出用スルー画像ＰＬにおける位置関係を、図１２を参照して説明する。ここでは、図１２（ａ）に示すような撮像画像が得られている場合を例に説明する。本実施形態では、撮像画像の画像サイズはＶＧＡであるので、図１２（ａ）に例示する画像はＶＧＡの検出用スルー画像ＰＬである。このようなＶＧＡサイズの画像上において、図１２（ａ）に示すような大きさで人物の被写体が撮像されているものとする。ここでは、図示するように、画像のサイズに比べ、被写体となっている人物が比較的小さく写っている場合を想定する。
【００８７】
このような撮像画像（検出用スルー画像ＰＬ）を、ＱＶＧＡの検出用縮小画像ＰＳに縮小した例を図１２（ｂ）に示す。画像全体が縮小されているので、そこに示されている被写体の大きさも、図１２（ａ）に示した検出用スルー画像ＰＬと比べ、相対的に小さくなっている。
【００８８】
このような検出用縮小画像ＰＳに対し、上述した拡大方向顔検出処理（１）を実施した場合に設定される識別領域ＳＷの例を図１２（ｃ）に示す。上述したように、拡大方向顔検出処理（１）における顔識別では、図４（ｂ）に示すような縮小参照画像ＦＳを用いて顔識別をおこなっている。本実施形態では、縮小参照画像ＦＳのサイズを識別領域ＳＷと同じサイズ（２４×２４ドット）としているので、識別領域ＳＷと被写体の大きさが図１２（ｃ）に示すようなものである場合、例えば、図１２（ｄ）に示すように、識別領域ＳＷの移動経路に応じた複数位置における識別領域ＳＷで顔が検出されることになる。
【００８９】
ステップＳ３０３で検出用スルー画像ＰＬ上に設定する絞込検出領域は、このような複数の識別領域ＳＷをまとめた領域ということになる。したがって、前段の拡大方向顔検出処理（１）において、複数の識別領域ＳＷで顔検出がなされた場合、ステップＳ３０３で設定される絞込検出領域は、少なくとも、識別領域ＳＷの大きさ（本例では２４×２４ドット）よりも大きい領域となる。このような絞込検出領域（以下、「絞込検出領域ＳＳ」とする）を検出用スルー画像ＰＬ上に設定した場合の例を図１３（ａ）に示す。
【００９０】
つまり、図１２（ｂ）に示したような検出用縮小画像ＰＳで識別領域ＳＷを設定し、図１２（ｄ）に示すような複数位置で顔検出されたときの識別領域ＳＷを統合した絞込検出領域ＳＳを、図１２（ａ）に示した検出用スルー画像ＰＬに設定すると、検出用スルー画像ＰＬに現れている被写体画像と絞込検出領域ＳＳとの大きさや位置の関係は図１３（ａ）に示すようなものになる。
【００９１】
このように設定された絞込検出領域ＳＳ付近を拡大して図１３（ｂ）に示す。図示するように、前段の拡大方向顔検出処理（１）で顔が検出された複数の識別領域ＳＷを統合して検出用スルー画像ＰＬ上に設定すると、被写体の顔部分の周辺に絞込検出領域ＳＳが設定されることになる。ここで、図９に戻り、拡大方向顔検出処理（２）の説明を続ける。
【００９２】
図１３（ａ）に示すような絞込検出領域ＳＳがステップＳ３０３で設定されると、識別領域設定部２１３は、絞込検出領域ＳＳ内に識別領域ＳＷを設定する（ステップＳ３０４）。ここでは、上述した拡大方向顔検出処理（１）における識別領域ＳＷと同じサイズ（つまり、２４×２４ドット）の識別領域ＳＷを設定する。ここでも、図１１（ａ）で示した移動経路と同様の経路で識別領域ＳＷを移動させるが、その移動ステップは、例えば、２ドットであるものとする。
【００９３】
ここでは、図１１（ａ）において矢印で示した移動経路とするので、ステップＳ３０４においては、絞込検出領域ＳＳの左上角部を開始位置として、２４×２４ドットの識別領域ＳＷが設定される。識別領域設定部２１３は、このように設定した識別領域ＳＷに対応する部分を検出用スルー画像ＰＬから切り出し（ステップＳ３０５）、第１の識別器２１４に入力する。
【００９４】
上述したように、第１の識別器２１４は、図４（ａ）に示したような通常参照画像ＦＬを参照して顔識別をおこなう識別器である。図４（ａ）に示したように、通常参照画像ＦＬは、識別領域ＳＷと同じサイズの画像全体に顔部分が占めているので、ＱＶＧＡの検出用縮小画像ＰＳからＶＧＡの検出用スルー画像ＰＬに拡大して顔識別をおこなう本処理では、このような通常参照画像ＦＬを使って絞込検出領域ＳＳ内で顔識別をおこなうことができる。
【００９５】
第１の識別器２１４も、第２の識別器２１５と同様、所定の顔識別アルゴリズムによって、切り出された画像が顔部分であるか識別し、識別結果を示す信号を識別結果判定部２１６に出力する。
【００９６】
識別結果判定部２１６は、第１の識別器２１４からの出力信号に基づいて顔が検出されたか否かを判別する（ステップＳ３０７）。そして、検出された場合（ステップＳ３０７：Ｙｅｓ）は、その識別領域ＳＷの検出用スルー画像ＰＬ上での位置情報をワークエリアに記録し（ステップＳ３０８）、検出されなければ記録しない。
【００９７】
ここで、識別領域ＳＷの位置情報をワークエリアに記録する場合は、図１１（ｃ）に示すような検出結果テーブルがワークエリア内に作成され、識別領域ＳＷの位置情報を記録する。
【００９８】
このようにして識別結果の判定をおこなうと、識別結果判定部２１６は、その旨を識別領域設定部２１３に通知する。識別領域設定部２１３は、識別結果判定部２１６からの通知に応じて、現在の識別領域ＳＷが絞込検出領域ＳＳ内での識別終了位置にあたるか否かを判別する（ステップＳ３０９）。そして、顔識別をおこなった識別領域ＳＷが、絞込検出領域ＳＳ内での識別終了位置となるまで（ステップＳ３０９：Ｎｏ）、順次識別領域ＳＷを２ドットずつ移動させ（ステップＳ３１０）、上述したステップＳ３０５〜ステップＳ３０８の動作を繰り返す。
【００９９】
つまり、図１３（ｂ）に示すように、識別領域ＳＷを移動させながら各位置で顔識別をおこない、顔が検出されたときの識別領域ＳＷの位置情報を記録する。ここで、図１３（ｂ）に示すように、ＶＧＡの検出用スルー画像ＰＬ上においては、２４×２４ドットの識別領域ＳＷは、被写体の顔部分の大きさとほぼ同じであり、また、顔識別の際に参照される通常参照画像ＦＬも、２４×２４ドットの全体を顔部分が占めているものなので、ほぼ１カ所の識別領域ＳＷにおいて顔が検出されることとなる。
【０１００】
このようにして、ＶＧＡサイズの検出用スルー画像ＰＬ上に設定した絞込検出領域ＳＳの全域で顔識別動作をおこなうと（ステップＳ３０９：Ｙｅｓ）、識別領域設定部２１３は、その旨を対象画像選択部２１２に通知し、本処理を終了する。この場合、図７に示す顔検出処理のフローに戻る。
【０１０１】
顔検出処理においては、拡大方向顔検出処理（２）に続いて「縮小方向顔検出処理」（ステップＳ４００）が実行される。この縮小方向顔検出処理は、従来の顔検出技術において一般的におこなわれている処理であり、入力画像を順次縮小した画像ピラミッド（図３参照）を生成し、一定サイズの参照用画像を用いて各縮小画像上で顔識別をおこなうことで、画角内での顔部分の大きさが不定の入力画像上でも顔を識別できるようにしたものである。
【０１０２】
このような、従来の顔検出処理においては、図４（ａ）に示したような通常参照画像ＦＬを用い、ＱＶＧＡ以下のサイズに縮小した画像ピラミッドで顔識別をおこなうので、画角に対する顔部分の大きさが比較的大きい場合に、顔部分を検出することができる。このような縮小方向顔検出処理を、図１０に示すフローチャートを参照して説明する。
【０１０３】
処理が開始されると、対象画像選択部２１２は、拡大方向顔検出処理（２）（ステップＳ３００）が実行されたか否かを判別する（ステップＳ４０１）。ここで、拡大方向顔検出処理（２）の実行後に本処理が実行された場合（ステップＳ４０１：Ｙｅｓ）、拡大方向顔検出処理（２）においては検出用スルー画像ＰＬ（ＶＧＡ画像）が処理対象画像として用いられていたので、対象画像選択部２１２は、本処理での処理対象画像として、縮小されたＱＶＧＡの検出用縮小画像ＰＳを選択し、検出用画像格納領域２３０ｃから読み出す（ステップＳ４０２）。
【０１０４】
一方、拡大方向顔検出処理（１）において顔検出がなされなかった場合、上述したように、拡大方向顔検出処理（２）は実質的には実行されていない。このような場合（ステップＳ４０１：Ｎｏ）、拡大方向顔検出処理（１）の終了後に本処理が実行されていることになる。拡大方向顔検出処理（１）においては、検出用縮小画像ＰＳ（ＱＶＧＡ画像）が処理対象画像として用いられていたので、本処理で処理対象とする検出用縮小画像ＰＳはすでに読み出されていることになる。
【０１０５】
本処理において最初に読み出されたＱＶＧＡの検出用縮小画像ＰＳを検出用縮小画像ＰＳ０とする（図３参照）。処理対象とする検出用縮小画像ＰＳ０の読み出しが完了すると、対象画像選択部２１２はその旨を識別領域設定部２１３に通知する。識別領域設定部２１３は、上述した拡大方向顔検出処理（１）と同様の処理により、検出用縮小画像ＰＳ０の左上角部を開始位置として識別領域ＳＷを設定し（ステップＳ４０３）、識別領域ＳＷに対応する部分を検出用縮小画像ＰＳ０から切り出す（ステップＳ４０４）。
【０１０６】
ここで、識別領域設定部２１３は、上述した拡大方向顔検出処理（１）のときとは異なり、切り出した画像を第１の識別器２１４に入力する。よって、縮小したＱＶＧＡの検出用縮小画像ＰＳ０から切り出された画像における顔識別が、図４（ａ）に示したような通常参照画像ＦＬを用いておこなわれる（ステップＳ４０５）。
【０１０７】
このようにして顔識別をおこなった第１の識別器２１４からの出力信号に基づいて、識別結果判定部２１６が識別結果を判定する（ステップＳ４０６）。ここで、顔が検出されれば（ステップＳ４０６：Ｙｅｓ）、現在の識別領域ＳＷの位置情報をワークエリアに記録する（ステップＳ４０７）。識別結果判定部２１６は、このような判定動作をおこなうと、その旨を識別領域設定部２１３に通知する。
【０１０８】
識別領域設定部２１３は、識別結果が判定される毎に識別領域ＳＷを２ドットずつ移動させる（ステップＳ４０８：Ｎｏ、ステップＳ４０９）。そして、各識別領域ＳＷの位置においてステップＳ４０４〜ステップＳ４０５の処理をおこなうことで、検出用縮小画像ＰＳ０の全域で顔識別をおこない、顔が検出された識別領域ＳＷの位置情報をワークエリアに記録する。ここでは、図１１（ｄ）に示すような検出結果テーブルをワークエリアに作成して、顔が検出された識別領域ＳＷの位置情報を記録する。
【０１０９】
検出用縮小画像ＰＳ０の全域での顔識別動作が完了すると（ステップＳ４０８：Ｙｅｓ）、識別結果判定部２１６は、その旨を画像変換部２１１に通知する。画像変換部２１１は、識別結果判定部２１６からの通知に応じて、現在処理対象としている検出用縮小画像ＰＳ０を縮小して検出用画像格納領域２３０ｃに格納する（ステップＳ４１０）。ここでは、例えば、検出用縮小画像ＰＳ０のサイズを８０％に縮小する。
【０１１０】
画像変換部２１１は、このようにして画像を縮小すると、その旨を対象画像選択部２１２に通知する。対象画像選択部２１２は、画像変換部２１１からの通知に応じ、縮小された検出用縮小画像ＰＳのサイズが、顔識別に用いる識別領域ＳＷのサイズ（すなわち、２４×２４ドット）より大きいか否かを判別する（ステップＳ４１１）。
【０１１１】
縮小後の検出用縮小画像ＰＳのサイズが識別領域ＳＷのサイズより大きければ（ステップＳ４１１：Ｎｏ）、縮小した検出用縮小画像ＰＳにおいて、上述したステップＳ４０３〜ステップＳ４０９の処理をおこなう。つまり、縮小した検出用縮小画像ＰＳ上で識別領域ＳＷを移動させながら、通常参照画像ＦＬ（図４（ａ））を用いた顔識別をおこなう。
【０１１２】
そして、縮小した検出用縮小画像ＰＳの全域で顔識別動作をおこなう毎に、検出用縮小画像ＰＳをさらに縮小する（ステップＳ４０８：Ｙｅｓ、ステップＳ４１０）。つまり、縮小した検出用縮小画像ＰＳのサイズが識別領域ＳＷのサイズとなるまで、図３に示すような画像ピラミッドを順次生成し、各検出用縮小画像ＰＳｘ（ｘ＝０〜ｎ）において、通常参照画像ＦＬを用いた顔識別動作をおこなう。
【０１１３】
このような処理において、検出用縮小画像ＰＳ上で識別領域ＳＷを移動させながら顔識別をおこなっているので、検出用縮小画像ＰＳ自体が識別領域ＳＷより小さくなってしまうと識別動作をおこなえない。よって、縮小後の検出用縮小画像ＰＳが識別領域ＳＷより小さくなった時点（ステップＳ４１１：Ｙｅｓ）で本処理を終了し、図７に示す顔検出処理のフローに戻る。
【０１１４】
顔検出処理（図７）においては、上述した、拡大方向顔検出処理（１）、拡大方向顔検出処理（２）、縮小方向顔検出処理、のそれぞれで顔検出されたときの識別領域ＳＷの位置情報がワークエリアに記録されているので、識別結果判定部２１６は、そのうちの拡大方向顔検出処理（２）と縮小方向顔検出処理における検出結果を統合する（ステップＳ１０４）。
【０１１５】
つまり、撮像画像において、比較的小さく写っている顔部分を検出するための拡大方向顔検出処理（２）と、比較的大きく写っている顔部分を検出するための縮小方向顔検出処理の検出結果を統合することで、撮像画像内に様々な大きさで複数の顔が写っていても、それぞれを識別することができる。
【０１１６】
ここで、拡大方向顔検出処理（２）も縮小方向顔検出処理も実施された場合、同一の撮像画像について、複数の画像サイズで顔識別動作がおこなわれているので、仮に各検出結果のすべてを最終的に表示する枠画像で表すと、図１４に示すように、顔部分に複数の枠が集中する。ここで、識別結果判定部２１６は、一定の割合で誤認識があることを考慮し、同じ位置において一定数以上の検出結果が得られている箇所が顔部分であると判定し、当該位置での検出結果を１つに統合することで、図６に示したような、ライブビュー画面とすることができる。
【０１１７】
この場合、識別結果判定部２１６は、統合した結果に基づく位置情報を出力処理部２１７に通知する。出力処理部２１７は、識別結果判定部２１６からの通知に応じて画像出力部２４０を制御することで、表示部３１０に、図６に示すような顔検出されたライブビュー画像が表示される（ステップＳ１０５）。
【０１１８】
そして、ステップＳ１０１〜ステップＳ１０５の処理を、顔検出動作の終了イベントが発生するまで繰り返しおこなうことで（ステップＳ１０６：Ｎｏ）、ライブビュー画像上に顔が写っている場合は常に顔部分に枠画像が表示されることになる。
【０１１９】
ここで、例えば、シャッタボタンの押下や撮影モードの終了などといった顔検出動作の終了イベントの発生とともに（ステップＳ１０６：Ｙｅｓ）、本処理を終了する。なお、シャッタボタンが押下された場合は、検出された顔部分に合わせた撮像動作や画像処理（例えば、合焦動作、露出調整、ホワイトバランス調整、など）をおこなうための処理が別途実行される。
【０１２０】
以上説明したように、本発明を上記実施形態の如く適用することにより、人物を被写体として撮影した場合などにおいて、撮像画像中に現れている顔部分が比較的小さい場合であっても、確実に顔検出をおこなうことができる。
【０１２１】
この場合において、従来からの顔検出技術で用いられている参照用画像に加え、このような通常の参照用画像よりも顔部分の小さい縮小参照画像を用意し、ＱＶＧＡなどに縮小した画像上で、縮小参照画像を用いて顔識別をおこなうことで、撮像画像内で比較的小さく顔が写っているような場合でも、その位置のあたりをつけておくことができる。そして、あたりをつけることができた場合にのみ、実際のレックスルー画像と同じサイズの画像上で、通常の参照用画像を用いた顔識別をおこなう。
【０１２２】
ここで、実際のサイズの画像で識別動作をおこなう際、その動作範囲を、あたりをつけた位置で絞り込んでいるので、少ない処理負荷によって顔検出をおこなうことができる。つまり、対象となる画像のサイズが大きくなる程、その全域で識別動作をおこなうと処理工数が増大し、処理負荷が高くなってしまうが、処理負荷の少ない縮小画像においてあたりをつけておくことで、実際に出力する画像のサイズが大きくても、絞り込んだ範囲で識別動作をおこなうので、全域で識別をおこなうよりも処理工数が低減する。この結果、画像サイズが大きくなっても処理速度を低下させずに顔検出をおこなうことができる。
【０１２３】
ここで、対象画像を順次縮小させた画像ピラミッドで顔識別をおこなう従来の方法では、最初の対象画像上に現れている顔部分の大きさが、参照用画像に示されている顔部分の大きさよりも大きい場合でなければ顔検出をおこなうことができないが、上記実施形態で例示した拡大方向顔検出処理をおこなうことで、撮像画像に写っている顔が比較的小さい場合であっても、確実に検出することができる。
【０１２４】
さらに、このような拡大方向顔検出処理と、従来の処理と同様の縮小方向顔検出処理とをおこなうことで、例えば、撮像装置との距離が異なる複数の被写体を撮影した場合のように、様々な大きさの顔が１つの撮像画像上に現れている場合であっても、確実に顔検出をおこなうことができる。
【０１２５】
よって、従来の処理に拡大方向顔検出処理が増えることになるが、処理負荷の増加を最小限にして、より確実な顔検出を実現することができる。
【０１２６】
また、上記実施形態における拡大方向顔検出処理（１）では、処理負荷の低い縮小画像を用いており、ここであたりをつけることができなければ、非縮小画像を用いる拡大方向顔検出処理（２）を実行しない。つまり、撮像画像の内容に応じて必要な顔検出動作のみがおこなわれるので、処理負荷の増大を必要最小限に抑えつつ、より確実な顔検出を実現することができる。
【０１２７】
上記実施形態は一例であり、本発明の適用範囲はこれに限られない。すなわち、種々の応用が可能であり、あらゆる実施の形態が本発明の範囲に含まれる。
【０１２８】
まず、上記実施形態では、デジタルスチルカメラでの撮影時に顔検出する場合を例示したが、検出対象は顔に限られず任意である。すなわち、所望する検出対象に応じた参照用画像を用意することで、種々の対象の検出に本発明を適用することができる。
【０１２９】
この場合において、検出対象は撮像時の被写体に限られるものでもない。すなわち、入力画像に対象となる画像が含まれていればよいので、上記実施形態に例示したような、撮像時に検出をおこなうのではなく、撮像された画像を入力画像としてもよい。つまり、上記実施形態で示したデータ処理部２００にかかる構成や機能は、撮像装置に搭載されている必要はなく、画像データを入力することのできる種々の装置として実現されることでもよい。
【０１３０】
したがって、本発明にかかる構成や機能を備えた画像処理装置として実現することができる。このような画像処理装置は、本発明にかかる構成や機能を予め備えた専用装置として実現できることはもとより、例えば、パーソナルコンピュータなどといった汎用のコンピュータ装置によって実現されてもよい。
【０１３１】
この場合、上記実施形態で示した制御部２１０が実行したプログラムと同様のプログラムを汎用のコンピュータ装置に適用し、当該コンピュータ装置がそのプログラムを実行することで、本発明にかかる画像処理装置として機能させることができる。
【０１３２】
また、本発明を上記で例示したデジタルカメラ１のような撮像装置で実現する場合も、本発明にかかる構成や機能を予め備えた撮像装置として提供できる他、プログラムを適用することにより、既存の撮像装置を本発明にかかる撮像装置として機能させることもできる。
【０１３３】
なお、上記実施形態では、撮像装置の例としてデジタルスチルカメラを示したが、撮像画像をデジタル処理できるものであれば、例えば、デジタルビデオカメラなどといった動画撮像をおこなう撮像装置に本発明を適用してもよい。また、撮像装置の形態は任意であり、単体のデジタルスチルカメラやデジタルビデオカメラで実現可能であることはもとより、これらと同様の撮像機能を備えた種々の電子機器（例えば、携帯電話など）に本発明を適用してもよい。
【０１３４】
このような場合においても、プログラムを適用することで、既存の装置を本発明にかかる撮像装置として機能させることができる。
【０１３５】
このようなプログラムの適用方法は任意であり、例えば、ＣＤ−ＲＯＭやメモリカードなどの記憶媒体に格納して適用できる他、例えば、インターネットなどの通信媒体を介して適用することもできる。
【０１３６】
また、上記実施形態において、画像サイズの例としてＶＧＡとＱＶＧＡを示したが、これらは一例であり、画像サイズはこれらに限られるものではない。つまり、本発明にかかる処理をおこなう場合において、縮小変換する画像サイズは、入力された画像サイズよりも小さいサイズであればよい。また、入力画像と縮小画像のサイズ比も任意であり、処理負荷が最適化されるよう適宜設定すればよい。
【０１３７】
また、対象画像の検出をおこなう際に採用するアルゴリズムも任意であり、所望する対象を識別することができるのであれば、上記実施形態で示したニューラルネット、アダブースト、サポートベクターマシン、などに限られるものではない。
【図面の簡単な説明】
【０１３８】
【図１】本発明の実施形態にかかるデジタルカメラの構成を示すブロック図である。
【図２】図１に示す画像メモリおよび記憶部を説明するための図であり、（ａ）は画像メモリに規定される記憶領域の例を示し、（ｂ）は記憶部に規定される記憶領域の例を示す。
【図３】図２（ａ）に示す検出用画像格納領域に格納される検出用画像の例を示す図である。
【図４】図２（ｂ）に示す参照用画像格納領域に格納される参照用画像の例を示す図であり、（ａ）は通常参照画像の例を示し、（ｂ）は縮小参照画像の例を示す。
【図５】図１に示す制御部によって実現される機能を示す機能ブロック図である。
【図６】図１に示す表示部に表示されるライブビュー画像の例を示す図である。
【図７】本発明の実施形態にかかる「顔検出処理」を説明するためのフローチャートである。
【図８】図７に示す顔検出処理で実行される「拡大方向顔検出処理（１）」を説明するためのフローチャートである。
【図９】図７に示す顔検出処理で実行される「拡大方向顔検出処理（２）」を説明するためのフローチャートである。
【図１０】図７に示す顔検出処理で実行される「縮小方向顔検出処理」を説明するためのフローチャートである。
【図１１】図７〜図１０に示す各処理での動作を説明するための図であり、（ａ）は識別領域の移動経路の例を示し、（ｂ）は拡大方向顔検出処理（１）で作成される検出結果テーブルの例を示し、（ｃ）は拡大方向顔検出処理（２）で作成される検出結果テーブルの例を示し、（ｄ）は縮小方向顔検出処理で作成される検出結果テーブルの例を示す。
【図１２】図９に示す拡大方向顔検出処理（２）における動作を説明するための図であり、（ａ）は検出用スルー画像の例を示し、（ｂ）は検出用縮小画像の例を示し、（ｃ）は、（ｂ）に示した検出用縮小画像上に設定された識別領域の例を示し、（ｄ）は、（ｃ）で示した識別領域による顔検出位置の例を示す。
【図１３】図９に示す拡大方向顔検出処理（２）における動作を説明するための図であり、（ａ）は検出用スルー画像に設定した絞込検出領域の例を示し、（ｂ）は、（ａ）に示した絞込検出領域内に設定される識別領域の例を示す。
【図１４】図７に示す顔検出処理において検出結果を統合する動作の概念を説明するための図である。
【符号の説明】
【０１３９】
１…デジタルカメラ、１００…撮像部、１１０…光学装置、１２０…イメージセンサ部、２００…データ処理部、２１０…制御部、２１１…画像変換部、２１２…対象画像選択部、２１３…識別領域設定部、２１４…第１の識別器、２１５…第２の識別器、２１６…識別結果判定部、２１７…出力処理部、２２０…画像処理部、２３０…画像メモリ、２３０ａ…入力画像格納領域、２３０ｂ…検出用画像格納領域、２３０ｃ…検出用画像格納領域、２４０…画像出力部、２５０…記憶部、２５０ａ…参照用画像格納領域、２５０ｂ…参照用画像格納領域、２５０ｃ…プログラム格納領域、２６０…外部記憶部、３００…インタフェース部、３１０…表示部、３２０…外部インタフェース部、３３０…操作部、ＰＬ…検出用スルー画像、ＰＳ…検出用縮小画像、ＦＬ…通常参照画像、ＦＳ…縮小参照画像、ＳＷ…識別領域、ＳＳ…絞込検出領域
【図１】
2009059048.tif 000003
【図２】
2009059048.tif 000004
【図３】
2009059048.tif 000005
【図４】
2009059048.tif 000006
【図５】
2009059048.tif 000007
【図６】
2009059048.tif 000008
【図７】
2009059048.tif 000009
【図８】
2009059048.tif 000010
【図９】
2009059048.tif 000011
【図１０】
2009059048.tif 000012
【図１１】
2009059048.tif 000013
【図１２】
2009059048.tif 000014
【図１３】
2009059048.tif 000015
【図１４】
2009059048.tif 000016