(57)【要約】  【課題】写真画像中から赤目や金目等の特定領域の検出を高速で行うことができる特定領域検出方法、特定領域検出装置およびこの方法を実行するプログラムを提供する。  【解決手段】画像中の特定領域候補を検出し、この特定領域候補を含む領域において顔検出を行って特定領域を特定すると共に、画像中の主要部領域と非主要部領域とで、特定領域候補検出および／または顔検出の条件を変更し、かつ、前に検出した顔に関する顔情報を記憶しておき、次の特定領域候補に対応する顔検出の際に、この顔情報を利用して顔検出を行うことにより、上記課題を解決する。【選択図】  図３
2005322220.tif 000002
【特許請求の範囲】
【請求項１】
画像中の特定領域候補を検出し、
次いで、検出した特定領域候補を含む領域において顔検出を行って、
顔が検出できた領域に含まれる特定領域候補を検出対象である特定領域として特定するに際し、
前記画像中の主要部領域と非主要部領域とで、前記特定領域候補検出および顔検出の少なくとも一方における検出条件を変更し、かつ、前記特定領域候補を含む領域で顔が検出できた際に、この顔に関する顔情報を記憶しておき、次に顔検出を行う特定領域候補に対応する顔検出の際に、記憶した顔情報を利用して顔検出を行うことを特徴とする特定領域検出方法。
【請求項２】
前記特定領域が、赤目または金目の領域である請求項１に記載の特定領域検出方法。
【請求項３】
前記主要部領域が、予め設定された画像の中心領域である請求項１または２に記載の特定領域検出方法。
【請求項４】
前記顔検出の際に、前記特定領域候補が集中している領域を前記主要部領域とする請求項１〜３のいずれかに記載の特定領域検出方法。
【請求項５】
前記次に顔検出を行う特定領域候補とは、１画像中において次に顔検出を行う特定領域候補、および、次の画像において最初に顔検出を行う特定領域候補の少なくとも一方である請求項１〜４のいずれかに記載の特定領域検出方法。
【請求項６】
前記顔情報が顔の向きの情報であり、前記次に顔検出を行う特定領域候補における顔検出は、最初の顔検出を前記記憶した顔の向きで行う請求項１〜５のいずれかに記載の特定領域検出方法。
【請求項７】
前記顔情報が顔のサイズの情報であり、前記次に顔検出を行う特定領域候補における顔検出は、最初の顔検出を前記記憶した顔のサイズでの顔検出を最初に行う請求項１〜６のいずれかに記載の特定領域検出方法。
【請求項８】
供給された画像データの画像から特定領域候補を検出する特定領域候補検出手段と、
前記特定領域候補検出手段が検出した前記特定領域候補を含む領域において顔検出を行う顔検出手段と、
前記顔検出手段によって顔が検出できた領域に含まれる特定領域候補を検出対象である特定領域として特定する特定手段と、
前記顔検出手段が特定領域候補を含む領域で顔が検出できた際に、この顔に関する顔情報を記憶する記憶手段とを有し、
かつ、前記特定領域候補検出手段および顔検出手段の少なくとも一方は、前記画像の主要部領域と非主要部領域とで検出対象の検出条件を変更し、さらに、前記顔検出手段は、次に顔検出を行う特定領域候補に対応する顔検出を行う際に、前記記憶手段から顔情報を読み出して、この顔情報を利用して顔検出を行うことを特徴とする特定領域検出装置。
【請求項９】
前記特定領域が、赤目または金目の領域である請求項８に記載の特定領域検出装置。
【請求項１０】
前記顔検出手段は、
前記画像の主要部領域と非主要部領域とで検出対象の検出条件を変更し、さらに、次に顔検出を行う特定領域候補に対応する顔検出を行う際に、前記記憶手段から顔情報を読み出して、この顔情報を利用して顔検出を行う第１の顔検出モード、
前記画像の主要部領域と非主要部領域との区別をせず、次に顔検出を行う特定領域候補に対応する顔検出を行う際に、前記記憶手段から顔情報を読み出して、この顔情報を利用して顔検出を行う第２の顔検出モード、および、
記憶した顔情報を利用せず、前記画像の主要部領域と非主要部領域とで検出条件を変更して顔検出を行う第３の顔検出モードを有し、
入力指示に応じて、前記第１の顔検出モード、第２の顔検出モード、および第３の顔検出モードのいずれかを選択して顔検出を行う請求項９または１０に記載の特定領域検出装置。
【請求項１１】
供給された画像データの画像から特定領域候補を検出する工程と、前記特定領域候補検出工程によって検出された前記特定領域候補を含む領域において顔検出を行う工程と、前記顔検出工程によって顔が検出できた領域に含まれる特定領域候補を検出対象である特定領域として特定する特定工程と、前記顔検出工程において前記特定領域候補を含む領域で顔が検出できた際に、この顔に関する顔情報を記憶媒体に記憶させる記憶工程とをコンピュータに実行させるプログラムであって、
かつ、前記特定領域候補検出工程および顔検出工程の少なくとも一方では、前記画像の主要部領域と非主要部領域とで検出対象の検出条件を変更させ、さらに、前記顔検出工程では、次に顔検出を行う特定領域候補に対応する顔検出で、前記記憶媒体から顔情報を読み出させ、これを利用して顔検出を行わせることをコンピュータに実行させることを特徴とするプログラム。
【請求項１２】
前記特定領域が、赤目または金目の領域である請求項１１に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、写真フィルムに撮影された画像やデジタルカメラで撮影された画像中から、赤目や金目などの画像中の顔領域に存在する特定領域を検出する画像処理の技術分野に属し、詳しくは、画像からの赤目検出や金目検出等を高速に行うことを可能にする特定領域検出方法、特定領域検出装置、および、この特定領域検出方法を実行させるプログラムに関する。
【背景技術】
【０００２】
近年、フィルムに記録された画像を光電的に読み取って、読み取った画像をデジタル信号とした後、種々の画像処理を施して記録用の画像データとし、この画像データに応じて変調した記録光によって感光材料を露光してプリントとして出力するデジタルフォトプリンタが実用化されている。
デジタルフォトプリンタでは、フィルムに撮影された画像を光電的に読み取って、画像をデジタルの画像データとして、画像の処理や感光材料の露光を行う。そのため、フィルムに撮影された画像のみならず、デジタルカメラ等で撮影された画像（画像データ）からも、プリントの作成を行うことができる。
【０００３】
また、近年のパーソナルコンピュータ（ＰＣ）やデジタルカメラ、さらにはインクジェットプリンタなどの安価なカラープリンタの普及に伴い、デジタルカメラで撮影した画像をＰＣに取り込み、画像処理を施してプリンタで出力するユーザも多い。
さらに、近年では、デジタルカメラで撮影した画像を記憶した光磁気記録媒体（ＭＯなど）、小型半導体記憶メディア（スマートメディアTMやコンパクトフラッシュTMなど）、磁気記録メディア（フレキシブルディスクなど）、光ディスク（ＣＤやＣＤ−Ｒなど）等の記憶媒体から、直接的に画像データを読み取り、所定の画像処理を施して、プリント（ハードコピー）を出力するプリンタも実用化されている。
【０００４】
ところで、ポートレート等の人物を含む画像において、画質を左右する最も重要な要素は人物の仕上りである。従って、撮影時のストロボ発光の影響によって、人物の目（瞳）が赤くなる赤目現象は、重大な問題となる。
従来のフィルムから直接的に露光を行うアナログフォトプリンタでは、赤目の補正は非常に困難である。しかしながら、デジタルフォトプリンタ等のデジタルの画像処理であれば、画像処理（画像解析）によって赤目を検出し、この赤目領域の輝度や彩度を補正することによって、赤目の補正を行うことができる。
【０００５】
このような赤目補正処理を行うに際し、画像中から赤目を検出する方法としては、例えば、画像データの解析によって画像中から顔を検出し、次いで、検出した顔の中から目の検出や赤い丸の検出を行う方法が例示される。また、このような赤目検出に利用される顔検出の方法も各種提案されている。
【０００６】
例えば、特許文献１には、画像中から人物の顔に相当すると推定される候補領域を検出し、この候補領域を所定数の小領域に分割して、小領域毎に濃度または輝度の変化の頻度および大きさに関連する特徴量を求め、この特徴量と、予め作成した人物の顔に相当する領域を前記所定数に分割した際における各小領域の特徴量の関係を表すパターンとを照合することにより、顔候補領域の確度を評価して、顔検出の精度を向上させる方法が開示されている。
【０００７】
また、特許文献２には、画像中から人物の顔に相当すると推定される候補領域を検出して、この顔候補領域の濃度が所定範囲である場合に、この顔候補領域を基準として胴体と推定される領域を設定し、設定した胴体領域と顔候補領域との濃度差が所定値以下の領域の有無に基づいて、もしくは、顔候補領域および胴体候補領域の濃度や彩度のコントラストに基づいて、顔候補領域の検出結果の確度を評価して、顔検出の精度を向上させる方法が開示されている。
【０００８】
さらに、特許文献３には、画像中から人物の顔に相当すると推定される候補領域を検出し、検出した候補領域の内、画像中で他の候補領域と重複している候補領域について重複度を求め、この重複度が高い領域ほど顔領域である確度を高いと評価することにより、顔検出の精度を向上させる方法が開示されている。
【特許文献１】特開２０００−１３７７８８号公報
【特許文献２】特開２０００−１４８９８０号公報
【特許文献３】特開２０００−１４９０１８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
このような顔検出は、精度を要求され、かつ、様々な解析が必要であるため、通常、プリントの出力に用いられる高解像度の画像データ（フィルムを読み取った画像データであれば、いわゆるファインスキャンデータで、デジタルカメラであれば撮影画像データ）で行う必要があり、処理に時間がかかる。
しかも、撮影画像中における顔の向きは、基本的に、撮影時におけるカメラの向き（横位置や縦位置など）によって４方向が有り得る。ここで、顔の向きが異なれば、当然、画面の天地方向や左右方向における目や鼻などの配列方向が異なるため、確実に顔を検出するためには、４つの全ての方向に対応して顔検出を行う必要がある。
また、画像中における顔のサイズ（大きさ）も、撮影距離等に応じて様々であり、画像中における顔のサイズが異なれば、当然、画像中の目や鼻などの位置関係（間隔）が異なるため、確実に顔を検出するためには、やはり、各種の顔のサイズに対応して顔検出を行う必要がある。
【００１０】
そのため赤目補正処理は、赤目検出、特に顔検出が律速となって非常に時間のかかる処理となってしまい、例えば、前述のデジタルフォトプリンタであれば、赤目の無い高画質な画像を安定して出力できる反面、生産性を低下させる大きな要因となっている。
なお、撮影時のストロボ発光の影響によって、人物の目（瞳）が赤色に写る赤目現象のみならず、人物の目（瞳）が金色に写る金目現象が生じることがある。この金目現象も、赤目現象ほどではないが、写真画像においては重大な問題であり、その補正処理は、赤目補正処理と同様な問題を含んでいる。
【００１１】
本発明の目的は、前記従来技術の問題点を解決することにあり、赤目や金目や目じりなど、画像中で顔に存在し得る特定領域の検出を高速で行うことができ、例えば、赤目や金目の無い高画質画像を安定して出力することを可能とし、かつ、プリンタの生産性を大幅に向上させることができる特定領域検出方法、この特定領域検出方法を実行する特定領域検出装置、および、この特定領域検出方法を実行するためのプログラムを提供することにある。
【課題を解決するための手段】
【００１２】
前記目的を達成するために、本発明に係る特定領域検出方法は、画像中の特定領域候補を検出し、次いで、検出した特定領域候補を含む領域において顔検出を行って、顔が検出できた領域に含まれる特定領域候補を検出対象である特定領域として特定すると共に、記画像中の主要部領域と非主要部領域とで、前記特定領域候補検出および顔検出の少なくとも一方における検出条件を変更し、かつ、前記特定領域候補を含む領域で顔が検出できた際に、この顔に関する顔情報を記憶しておき、次に顔検出を行う特定領域候補に対応する顔検出の際に、記憶した顔情報を利用して顔検出を行うことを特徴とする。
【００１３】
また、前記目的を達成するために、本発明に係る特定領域検出装置は、供給された画像データの画像から特定領域候補を検出する特定領域候補検出手段と、前記特定領域候補検出手段が検出した前記特定領域候補を含む領域において顔検出を行う顔検出手段と、前記顔検出手段によって顔が検出できた領域に含まれる特定領域候補を検出対象である特定領域として特定する特定手段と、前記顔検出手段が特定領域候補を含む領域で顔が検出できた際に、この顔に関する顔情報を記憶する記憶手段とを有し、かつ、前記特定領域候補検出手段および顔検出手段の少なくとも一方は、前記画像の主要部領域と非主要部領域とで検出対象の検出条件を変更し、さらに、前記顔検出手段は、次に顔検出を行う特定領域候補に対応する顔検出を行う際に、前記記憶手段から顔情報を読み出して、この顔情報を利用して顔検出を行うことを特徴とする。
【００１４】
なお、この特定領域検出装置においては、前記顔検出手段は、前記画像の主要部領域と非主要部領域とで検出対象の検出条件を変更し、さらに、次に顔検出を行う特定領域候補に対応する顔検出を行う際に、前記記憶手段から顔情報を読み出して、この顔情報を利用して顔検出を行う第１の顔検出モード、前記画像の主要部領域と非主要部領域との区別をせず、次に顔検出を行う特定領域候補に対応する顔検出を行う際に、前記記憶手段から顔情報を読み出して、この顔情報を利用して顔検出を行う第２の顔検出モード、および、記憶した顔情報を利用せず、前記画像の主要部領域と非主要部領域とで検出条件を変更して顔検出を行う第３の顔検出モードを有し、入力指示に応じて、前記第１の顔検出モード、第２の顔検出モード、および第３の顔検出モードのいずれかを選択して顔検出を行うのが好ましい。
【００１５】
さらに、前記目的を達成するために、本発明に係るプログラムは、供給された画像データの画像から特定領域候補を検出する工程と、前記特定領域候補検出工程によって検出された前記特定領域候補を含む領域において顔検出を行う工程と、前記顔検出工程によって顔が検出できた領域に含まれる特定領域候補を検出対象である特定領域として特定する特定工程と、前記顔検出工程において前記特定領域候補を含む領域で顔が検出できた際に、この顔に関する顔情報を記憶媒体に記憶させる記憶工程とをコンピュータに実行させるプログラムであって、かつ前記特定領域候補検出工程および顔検出工程の少なくとも一方では、前記画像の主要部領域と非主要部領域とで検出対象の検出条件を変更させ、さらに、前記顔検出工程では、次に顔検出を行う特定領域候補に対応する顔検出で、前記記憶媒体から顔情報を読み出させ、これを利用して顔検出を行わせることをコンピュータに実行させることを特徴とする。
【００１６】
このような本発明に係る特定領域検出処理方法、特定領域検出装置、およびプログラムにおいて、前記特定領域が、赤目、または金目の領域であるのが好ましく、また、前記主要部領域が、予め設定された画像の中心領域であるのが好ましく、また、前記顔検出の際に、前記特定領域候補が集中している領域を前記主要部領域とするのが好ましく、また、前記次に顔検出を行う特定領域候補とは、１画像中において次に顔検出を行う特定領域候補、および、次の画像において最初に顔検出を行う特定領域候補の少なくとも一方であるのが好ましく、また、前記顔情報が顔の向きの情報であり、前記次に顔検出を行う特定領域候補における顔検出は、最初の顔検出を前記記憶した顔の向きで行うのが好ましく、さらに、前記顔情報が顔のサイズの情報であり、前記次に顔検出を行う特定領域候補における顔検出は、最初の顔検出を前記記憶した顔のサイズでの顔検出を最初に行うのが好ましい。
【発明の効果】
【００１７】
本発明は、上記構成を有することにより、画像中の赤目や金目や目じりなど顔領域に存在し得る特定領域を検出するための顔検出を行うに際し、特定領域の存在しない領域での顔検出を不要とし、かつ、画像面における天地方向および左右方向の全ての顔の向き（頭頂部が画面の天地左右のどの方向に向いているか）に対応する顔検出や、想定される全てのサイズの顔に対応しての顔検出を不要にし、さらに、重要ではない被写体に対応する顔検出の処理を低減することができ、これにより高速での赤目検出や金目検出等の特定領域の検出を行うことができる。
従って、本発明によれば、例えば、高速で赤目や金目の検出を行うことによる迅速な赤目補正や金目補正が可能となり、写真フィルムを光電的に読み取って得られた画像データや、デジタルカメラで撮影された画像データ等から写真プリントを作成するフォトプリンタにおいて、生産性の低下を最小限に押さえて、赤目や金目の無い高画質なプリントを安定して出力することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の特定領域検出方法、特定領域検出装置、およびプログラムについて、添付の図面に示される好適実施例を基に、詳細に説明する。
なお、以下の説明は、画像中の顔領域に存在し得る特定領域として、赤目を検出する場合を代表例に挙げて説明するが、本発明は、これに限定はされず、金目などを検出する場合にも適用可能なことは言うまでもないことである。
【００１９】
図１（Ａ）に、本発明の特定領域検出方法を実施する本発明の特定領域検出装置を赤目検出装置に利用した一実施例の概念をブロック図で示す。また、本発明のプログラムは、コンピュータに以下に説明する検出処理を実行させるプログラムである。
図１（Ａ）に示す赤目検出装置（以下、検出装置とする）１０は、入力された赤目検出を行う対象となる画像（その画像データ）から赤目を検出して、赤目補正手段２２に出力するもので、領域設定手段１２と、赤目候補検出手段１４と、顔検出手段１６と、赤目特定手段１８とを有する。このような検出装置１０は、一例として、パーソナルコンピュータ、ワークステーションなどのコンピュータや、ＤＳＰ（Digital Signal Processor）等を利用して構成される。
なお、検出装置１０と赤目補正手段２２とは、一体的に構成されていてもよく、あるいは、検出装置１０（あるいはさらに、赤目補正手段２２）は、色／濃度補正、階調補正、電子変倍処理、シャープネス処理等の各種の画像処理を行う画像処理装置（手段）に組み込まれるものであってもよい。
【００２０】
本発明の検出装置１０において、赤目検出を行う対象となる画像（以下、対象画像とする）は、カラー画像であれば特に限定はなく、例えば、カメラによって写真フィルムに撮影された画像（画像を撮影された写真フィルムを光電的に読み取って得られた画像データ）や、デジタルカメラで撮影された画像（画像データ）であってもよい。また、対象画像は、撮影された画像そのものではなく、必要に応じて各種の画像処理を施された画像（画像データ）であってもよいのは、もちろんである。
【００２１】
なお、上述したように、本発明は、赤目を検出する場合に限定はされず、金目などを検出する場合にも適用可能であるので、本発明の検出装置１０における対象画像は、赤目を検出する画像のみならず、金目を検出する画像であっても良いことは言うまでもない。
なお、赤目を生じる赤目現象および金目を生じる金目現象については、特開２０００−７６４２７号公報に詳細に記載されているが、赤目現象は、撮影時のストロボ発光などのによって、人物の開いた目の瞳孔を通って多量の光が網膜に入射し、反射して、カメラのレンズを通ってフィルムやＣＣＤなどの撮像素子に結像するが、網膜には多くの血管が集中しているために、人物の目（瞳）が赤色に写ることになるのである。これに対し、金目を生じる金目現象は、赤目現象と少し異なり、人物の開いた目の瞳孔を通って多量の光が網膜に入射した際に、目の網膜の中の一点に神経が集中する盲点で反射した光をカメラが捕らえた場合に発生する現象であり、赤色ではなく、金色に写るのである。なお、このような赤目現象や金目現象は、人物の目のみならず、動物、例えば猫の目などにも生じるものであり、動物の種類によっては、赤色や金色以外の色に写る場合がある。
以下の説明では、このような赤目や金目やその他の色に写った目などの全てについて、赤目を代表例として説明する。
【００２２】
検出装置１０に入力された対象画像は、まず、領域設定手段１２および赤目候補検出手段１４に供給される。
領域設定手段１２は、供給された対象画像において、主要部領域と非主要部領域とを設定して、その設定結果（例えば、画素番号や領域を示す座標データ等）を赤目候補検出手段１４および顔検出手段１６に供給するものである。
【００２３】
図示例においては、一例として、領域設定手段１２は、図１（Ｂ）や図１（Ｃ）に示すような、領域設定のためのテンプレートを有しており、必要に応じてテンプレート（もしくは対象画像）の拡大／縮小を行って、対象画像にこのテンプレートを当てはめ、画像の中央領域（図１（Ｂ）であれば中央の楕円領域、図１（Ｃ）であれば中央の長方形領域）を主要部領域と設定し、それ以外の領域を非主要部領域と設定して、その設定結果を赤目候補検出手段１４および顔検出手段１６に送る。
なお、テンプレートの拡大／縮小ではなく、想定される対象画像のサイズに応じた複数サイズのテンプレートを有してもよく、また、複数サイズのテンプレートと拡大／縮小とを併用してもよい。
【００２４】
主要部領域とする画像中央領域の決定方法には、特に限定はなく、検出装置に要求される適性に応じて、適宜、決定すればよい。例えば、主要部領域が大きくなるほど、赤目検出の処理時間は遅くなるが、画像全体で見た際の赤目検出の精度は高くなるので、検出装置に要求される処理時間や処理精度に応じて、主要部領域とする画像中央領域を、適宜、決定する方法が例示される。
また、主要部領域とする画像中央領域の大きさが異なるテンプレートを複数用意しておいて選択可能にしてもよく、および／または、所定のテンプレートにおいて、主要部領域とする画像中央領域を任意に設定可能にしてもよい。
【００２５】
本発明において、主要部領域および非主要部領域の設定方法は、このように画像の中央領域と周辺領域とで設定する方法に限定はされず、各種の方法が利用可能である。
例えば、画像解析を行って、焦点（ピント）が合っている領域を主要部領域とし、それ以外の領域を非主要部領域とする方法が例示される。なお、画像中の合焦領域の抽出は、公知の方法を利用すればよい。
また、一般的に、ストロボ撮影を含めて、画像中の主要部に相当する領域は、背景領域に比して高輝度になる場合が多い。それを利用して、画像中において閾値を超えた高輝度領域を主要部領域とし、それ以外の領域を非主要部領域としてもよい。あるいは、画像ファイルに記録された各種の情報や、ＡＰＳであればフィルムに記録された磁気情報から、ストロボのガイドナンバー、照射領域、焦点距離、測距情報を求め、ストロボが照射された領域を主要部領域とし、それ以外のストロボが照射されなかった領域を非主要部領域としてもよい。
さらに、後述する顔検出に対応して、赤目候補検出手段１４が検出した赤目候補領域が集中する領域を主要部領域としてもよい。この点に関しては、後に詳述する。
【００２６】
赤目候補検出手段１４は、対象画像中から、赤目である可能性のある領域、すなわち赤目候補を検出し、赤目候補の位置情報（中心の座標位置情報）、領域情報および個数の情報等を、赤目候補の情報として顔検出手段１６および赤目特定手段１８に供給するものである。
一例として、図１（Ｄ）に示すように、背景に３つの赤ランプを有するシーンで人物を撮影し、この人物に赤目現象が生じた画像（シーン）であれば、赤ランプに対応するａ、ｂおよびｃ、ならびに、赤目に対応するｄおよびｅで示す領域を赤目候補として検出し、顔検出手段１６および赤目特定手段１８に供給する。
【００２７】
赤目候補の検出方法には、特に限定はなく、公知の各種の方法が利用可能である。
一例として、赤色の色相で、かつ、所定画素数以上が集まっている領域を抽出し、予め多数の赤目の画像サンプルから設定した、赤目度（どの程度赤目らしい色か）および円形度（どの程度丸いか）を用い、赤目度および円形度が閾値を超えた領域を、赤目である可能性を有する赤目候補として検出する方法が例示される。
【００２８】
ここで、図示例の検出装置１０においては、実施する赤目検出の処理シーケンスに応じて、先に領域設定手段１２によって設定された主要部領域と非主要部領域とで、赤目候補検出の条件を変える。
一例として、主要部領域では赤目である可能性が低くても赤目候補として検出し、非主要部では、赤目である可能性が高い領域のみを赤目候補として検出する。具体的には、前述のように、赤目度および円形度が閾値を超えた領域を赤目候補として検出する際には、主要部領域では閾値を低くして赤目候補検出を行う。あるいは逆に、非主要部領域の閾値を高くして赤目候補検出を行ってもよい。従って、この際には、例えば図１（Ｄ）に示す例であれば、主要部領域の赤目候補ｄおよびｅは、非主要部領域の赤目候補ａ〜ｃよりも低い閾値で検出された赤目候補である。
後述する顔検出手段１６では、赤目候補の周辺のみで顔検出を行う。従って、これにより、重要度の低い非主要部領域での顔検出処理を少なくし、すなわち顔検出手段１６において行う顔検出処理量を低減して、赤目検出の処理時間を短縮することができる。
【００２９】
赤目候補検出手段１４による赤目候補の検出結果、ならびに、領域設定手段１２による主要部領域および非主要部領域の設定結果は、顔検出手段１６に送られる。顔検出手段１６は、赤目の検出結果（例えば前記位置情報）を用いて、赤目候補検出手段１４が検出した赤目候補を含む周辺において、顔検出を行い、自身を含む領域で顔が検出できた赤目候補の情報、あるいはさらに顔の検出結果を赤目特定手段１８に供給するものである。
例えば、図１（Ｄ）に示す例であれば、前記ａ、ｂ、ｃ、ｄ、およびｅの各赤目候補に対応して、各赤目候補を含む所定領域において、順次、顔検出を行う。一例として、例えば、最初に、赤目候補ｄに対応して、この赤目候補ｄを含む所定領域において顔検出を行い、次いで、赤目候補ｅに対応して同様に顔検出を行い、次いで、赤目候補ａに対応して同様に顔検出を行い、赤目候補ｂに対応して同様に顔検出を行い、最後に、赤目候補ｃに対応して同様に顔検出を行う。
従って、この場合には、赤目候補ｄおよびｅに対応する顔検出の際に、顔領域として例えば点線で囲まれた領域が検出され、これに応じて、顔検出手段１６は、赤目候補ｄおよびｅが顔領域に含まれる赤目候補であるとの情報、あるいはさらに、検出した顔領域の情報を赤目特定手段１８に供給する。
【００３０】
前述のように、顔検出は、非常に時間のかかる処理であるが、従来の赤目検出では、顔検出を行った後に、検出された顔領域内で赤目検出を行っているため、赤目の存在しない領域でも顔検出を行っており、その結果、顔検出に非常に時間がかかる。
これに対し、本発明においては、このように、赤目候補を検出した後に、この赤目候補を含む所定領域でのみ顔検出を行うことにより、赤目が存在しない領域での無駄な顔検出を無くして、赤目検出において、顔検出にかかる時間を大幅に短縮することができる。
【００３１】
顔検出手段１６による顔検出の方法には、特に限定はなく、多数の顔の画像サンプルから予め作成した平均的な顔画像、いわゆる顔のテンプレート（以下、顔テンプレートとする）を用いて対象画像中から顔領域を検出する方法や、前記特許文献１〜３において、それ以外の顔候補の検出方法として例示されている各方法等、公知の各種の方法が利用可能である。
【００３２】
ここで、検出装置１０においては、顔検出手段１６は、赤目検出の処理シーケンスに応じて、先に検出した顔の顔情報を利用して顔検出を行い、および／または、領域設定手段１２が設定した主要部領域と非主要部領域とで顔検出の処理条件を変更する。
【００３３】
まず、顔情報について、顔検出手段１６は記憶部２０を有し、赤目候補に対応して顔が検出できた場合には、処理シーケンスに応じて、その顔の顔情報を記憶部２０に記憶しておき、次に顔検出を行う赤目候補に対応する顔検出（次の赤目候補に対応する顔検出）を行う際には、記憶部２０に記憶した１つ前に検出された顔（すなわち、検出装置１０において最後に検出された顔）の顔情報を用いて顔検出を行う。
なお、本発明において、次の赤目候補に対応する顔検出とは、１画像の中に複数の赤目候補が有る場合において次に行う顔検出は、もちろん１件（１オーダ）において次のコマ（画像）で最初に行う顔検出における顔検出も含むものである。一件とは、通常、フィルム１本や１つの記憶媒体に記録された画像であり、一件の中の次のコマでは、最初の赤目候補に対応する顔検出の際に、前のコマで最後に検出された顔の顔情報を用いる。また、次の件の最初の顔検出に、前の件の最後に検出された顔の顔情報を用いてもよい。
【００３４】
具体的には、赤目候補に対応して、顔が検出できた場合には、検出した顔の顔情報として、検出した顔の向きの情報（撮影画面（＝画像面）において頭頂部がどの方向に向いているか）と、顔のサイズ（大きさ）の情報とを記憶部２０に記憶しておき、次の赤目候補に対応する顔検出の際に、記憶部２０から顔情報を読み出し、この顔の向きで、かつ、この顔サイズでの顔検出を、最初に行う。
これにより、前記赤目候補検出を先に行うことによる処理時間短縮に加え、顔検出時間をさらに短縮することができる。
【００３５】
撮影された画像中における顔の向きは、図２の（Ａ）、（Ｂ）、（Ｃ）および（Ｄ）に示すように、撮影時におけるカメラの向き、具体的には、横位置での撮影およびその際のカメラの天地方向や、縦位置での撮影およびその際のカメラの天地方向に応じて、基本的に、４つの方向が有る。
便宜的に、図２（Ａ）を顔の向き０°、図２（Ｂ）を顔の向き９０°、図２（Ｃ）を顔の向き１８０°、図２（Ｄ）を顔の向き２７０°とし（以下、「顔の向き」を省略）、０°と１８０°とが、いわゆる横位置（横長方向）での撮影で、９０°と２７０°とが、いわゆる縦位置（縦長方向）での撮影とする。
【００３６】
前述のように、顔の向きが異なれば、画面における目、鼻、口等の配列方向が異なる。そのため、全ての顔を適正に検出するためには、全ての顔の向きに応じて顔検出を行う必要がある。
これに対応して、通常の顔検出では、例えば図２（Ａ）の０°の顔テンプレートを作成／記憶しておき、顔テンプレートを回転（あるいは対象画像を回転）して、顔検出の対象領域（顔サイズに対応）において、予め決めておいた顔の向きの順番（例えば、０°→９０°→１８０°→２７０°の順番）で、顔が検出できるまで、順次、顔検出を行う。すなわち、この場合には、最大で４つの顔の向き（顔の向きが２７０°の場合、および、検出対象領域が顔ではなかった場合）に対応して顔検出を行う。
【００３７】
また、画像中における顔のサイズ（大きさ）も、撮影距離等に応じて様々である。顔のサイズが異なれば、当然、目、鼻、口等の間隔等が異なるので、全ての顔を適正に検出するためには、やはり、様々なサイズの顔に対応して顔検出を行う必要がある。
そのため、これに対応して、通常の顔検出では、例えば、図２（Ｅ）に模式的に示す様に、解像度変換を行って、予め作成／記憶した前記顔テンプレートを拡大／縮小（あるいは、対象画像を拡大／縮小）して、各検出対象領域において、予め決めておいた顔サイズの順番（例えば、標準サイズ→大サイズ→小サイズの順番）で、顔が検出できるまで、順次、顔検出を行っている。すなわち、この場合には、最大で、３つのサイズ（同前）に対応して顔検出を行う。
従って、顔検出では、最大で、設定した顔の向きと顔のサイズとの全ての組み合わせに対応して顔検出が行われる。図示例であれば、最大で、１２回の顔検出が行われる。
【００３８】
ここで、１つの画像に複数の人物が撮影されている場合、通常、顔の向きは全て一緒である。また、通常の写真撮影であれば、カメラを逆さまにして撮影を行うことは、極めて稀であるので、１件の中では、横位置の顔の向きは、通常、同一である。さらに、１件は同一の撮影者が撮影する場合が多く、かつ、撮影者が同一であれば、縦位置における顔の向きも同一であるのが通常である。
さらに、１つの画像に複数の人物が撮影されている場合、多くの場合は人物の顔のサイズは同じ位である。また、異なるコマ（画像）であっても、１件の中では、複数コマで同様のシーンが連続する場合も多く、すなわち、複数コマにわたって顔サイズが同じ位の画像が連続する可能性も高い。
すなわち、１画像中における人物の顔の向きやサイズは同じ場合が多く、さらに、１件の中では人物の顔の向きやサイズが同様のコマが連続する可能性は高い。
【００３９】
従って、１つ前（最後）に検出された顔の向きおよび顔のサイズを記憶部２０に記憶しておき、次の赤目候補における顔検出において、この顔の向きおよびサイズによる検出を最初に行うことにより、最初の顔検出で顔が検出できる可能性は高く、すなわち、赤目検出における顔検出の時間を大幅に短縮できる。
【００４０】
図３に概念図を示して説明する。
例えば、図３（Ａ）に模式的に示すように、顔の向きが１８０°であるコマが連続する場合には、従来の顔検出方法では、図３（Ｂ）に示すように、まず、先のコマで０°での顔検出を行うが、顔が検出できないので、次に９０°で顔検出を行い、同様に顔が検出できないので、次に１８０°で顔検出を行って、ようやく顔が検出できる。次のコマでも、同様に、０°、９０°、１８０°で、順次、顔検出を行って、１８０°の顔検出の時にようやく顔が検出できる。
これに対し、本発明によれば、図３（Ｃ）に示すように、前のコマでは、同様に０°、９０°、１８０°で、順次、顔検出を行って、１８０°の顔検出の時に顔が検出できる。ここで、検出装置１０では、最後に検出できた顔は、顔の向きが１８０°であることを記憶部２０に記憶しておき、次のコマ（次に顔検出を行う赤目候補）では、１つ前に検出できた顔の向きが１８０°であるという情報を用いて、この１８０°での顔検出を最初に行うので、この顔の向きのみで顔を検出することができ、すなわち、顔検出の時間を大幅に短縮できる。
【００４１】
なお、このように顔情報を記憶した場合でも、赤目候補が赤目ではなかった場合には、通常の顔検出と同様に、４つの顔の向きに対応して顔検出を行う必要がある。
ここで、前述のように、一般的な写真撮影では、カメラを逆さまにして撮影することは極めて稀である。従って、本発明においては、１件の中で、１つ前に検出できた顔の向きが横位置である０°（あるいは１８０°）の場合には、１８０°（あるいは０°）での顔検出は省略してもよい。これにより、顔の向きに対しては３方向のみの顔検出を行えばよく、安定的に顔検出の時間短縮を図ることができる。
【００４２】
検出装置１０において、記憶する顔情報は、顔の向きの情報および顔のサイズの情報に限定はされず、いずれか一方のみを記憶するものであってもよく、また、顔検出に関する他の顔情報を用いてもよい。但し、１画像および１件の中で、顔の向きは同一である可能性は高いので、少なくとも顔の向きの情報は記憶するのが好ましい。
顔検出は、通常は、前記９０°刻みの４つの向きに対応して行うが、本発明は、これに限定はされず、より以上に細かく分けた角度に対応して顔検出を行ってもよい。さらに、顔のサイズも前記標準サイズ、小サイズ、大サイズに限定はされず、より細に設定したサイズに対応して顔検出を行ってもよい。検出を細かく行うほど、検出精度は上がる反面、処理時間がかかるので、要求される生産性や精度等に応じて適宜、決定すればよい。
【００４３】
また、以上の例では、顔の向きおよび顔のサイズを記憶しておき、この顔の向きおよびサイズに対応する顔検出を最初に行っているが、本発明はこれに限定はされない。
例えば、顔情報に対応する顔検出を最初に行わなくても、１つ前に検出された顔の向きや顔のサイズに対応する顔検出を優先的に行うようにしてもよく、あるいは、１つ前に検出された顔の向きや顔のサイズで、重みを強くして顔検出を行うようにしてもよい。
【００４４】
なお、記憶部２０に記憶しておくのは、基本的に、１つ前（最後）に検出された顔の顔情報のみでよい。しかしながら、本発明は、これに限定はされず、それよりも前の顔情報も記憶しておき、顔検出に利用してもよい。
例えば、前述のように、カメラを反転して撮影することは極めて稀であるので、１件において先のコマで例えば０°で顔が検出できた場合には、この情報を残しておき、以降のコマでは、１８０°での検出は省略してもよい。
また、１件の画像であれば、同じカメラで、かつ、同一人物が撮影を行った可能性は高い。従って、通常、横位置の際の顔の向きは、例えば全て０°のように一致し、また、縦位置の際の顔の向きも、例えば全て９０°のように一致するのが通常である。従って、赤目候補が赤目であれば、その赤目候補に対して、１つ前の顔の向きの情報で顔が検出できなかった場合には、次いで、その前に検出された、異なる方向の顔の向きで顔検出を行うことにより、顔を検出できる可能性が高く、従って、より顔検出の高速化を図ることができる。あるいは、１件において、最初の画像については、前述のように、赤目候補に対して顔テンプレートの顔の向きおよび顔サイズを変更して顔検出を行い、それ以降の画像については、最初の画像で見つかった顔の向きおよび顔サイズで顔検出を行うようにしてもよい。
【００４５】
なお、前述のように、顔検出は、顔テンプレートを回転／拡縮（拡大もしくは縮小）して行ってもよく、あるいは回転／拡縮した顔テンプレートを予め用意しておいて行ってもよく、あるいは対象画像を回転／拡縮して行ってもよい。しかしながら、処理の手間や煩雑性を考えると、顔テンプレートと対象画像との両者を処理するのは、有利ではない。従って、顔テンプレートを固定して対象画像を回転／拡縮するか、対象画像を固定して顔テンプレートを回転／拡縮する（あるいは予め作成して持っておく）のが好ましい。
一般的には、顔テンプレートの方がデータ量が少ない分、画像処理にかかる演算量や時間が少なくて済むので、この点では、対象画像を固定して顔検出を行うのが有利である。
【００４６】
また、顔検出手段１６は、顔情報を記憶しての顔検出に代えて、あるいは顔情報を記憶しての顔検出に加えて、領域設定手段１２が設定した主要部領域と非主要部領域とで異なる条件で顔検出を行う。
例えば、図１（Ｄ）の画像であれば、中央の主要部領域に位置する赤目候補ｄおよびｅに対しては、処理時間がかかっても、誤検出や見落としのない高精度な顔検出を行い、非主要部領域に位置するａ〜ｃの赤目候補では、高速で処理が行えるように顔検出を行う。もしくは、顔検出は主要部領域のみで行い、非主要部領域での顔検出は行わない方法も利用可能である。
【００４７】
このように、主要部領域では高精度な顔検出を行い、非主要部領域では高速での顔検出を行う、もしくは非部主要部領域では顔検出を行わないことにより、前述の主要部領域と非主要部領域とで条件を変えた赤目候補検出の効果、顔情報を利用した顔検出の効果などと相俟って、非常に高速に、かつ、重要である主要部領域では高精度な赤目検出を行うことが可能となる。
【００４８】
主要部領域と非主要部領域における顔検出の条件の違いには、特に限定はなく、各種の態様が利用可能である。
例えば、非主要部領域においては、肌色度や顔テンプレートとの一致度などにおいて、顔ではないと判断する閾値を高くする方法（あるいは、主要部領域では閾値を低くする方法）等が例示される。この方法によれば、主要部領域においては高精度に顔抽出を行い、非主要部領域での顔検出時間を短縮することができる。
また、前記顔テンプレートとのマッチングにおいて、主要部領域では全ての顔サイズに対応した顔検出を行い、非主要部領域では、例えば標準の顔サイズのみの顔検出を行う、あるいは標準の顔サイズ以上のみの顔検出を行う等、所定の顔サイズのみでしか顔検出を行わない方法も好適である。
【００４９】
前述の顔情報の記憶と組み合わせて、主要部領域では記憶部２０に記憶した顔情報に応じた顔検出を最初に行って、見つからなかった場合には、全ての顔の向きおよび顔サイズでの顔検出を行い、非主要部領域では、記憶部２０に記憶した顔の向きおよび顔サイズのみしか顔検出を行わない方法も好適である。
あるいは、主要部領域では上記と同様に顔検出を行い、非主要部領域では、顔の向きに関しては、記憶した顔情報に応じた向きのみとして、顔サイズに関しては、全ての顔サイズで顔検出を行ってもよい。逆に、主要部領域では上記と同様に顔検出を行い、非主要部領域では、顔のサイズに関しては、記憶した顔情報に応じたサイズのみとして、顔の向きに関しては、全ての顔の向きで顔検出を行ってもよい。
さらに、非主要部領域では、顔サイズに関しては、記憶部２０に記憶した顔サイズ以上の顔検出のみを行うようにしてもよく、また、非主要部領域では、標準サイズのみ、もしくは標準サイズ以上のみの顔検出を行うようにしてもよい。
【００５０】
また、主要部領域と非主要部領域とで、顔検出の方法を変えるのも好適である。
例えば、主要部領域では、高精度な顔検出を行うことができる顔テンプレートを用いたマッチングによる顔検出を行い、非主要部領域では、特開平８−１８４９２５号や特開平９−１３８４７１等に開示される、短時間での処理が可能な肌色抽出、エッジ抽出による形状認識、肌色抽出等による顔検出を行う方法も例示される。あるいは、非主要部領域では、エッジ抽出による形状認識のみでの顔検出や、肌色検出のみでの顔検出を行うようにしてもよい。
【００５１】
前述のように、赤目候補検出手段１４による赤目候補の検出結果、および、顔検出手段１６によって顔が検出できた赤目候補は、赤目特定手段１８に供給される。
赤目特定手段１８は、これらの情報を用いて、周囲に顔が検出できた赤目候補を赤目と特定し、対象画像における赤目の検出結果として、各赤目の位置情報および領域の情報、赤目の個数の情報等を赤目補正手段２２に供給する。
【００５２】
赤目補正手段２２は、赤目特定手段１８から供給された赤目の検出結果に応じて、対象画像の赤目領域の画像処理を行って、対象画像の赤目補正を行う。
赤目補正の方法には、特に限定はなく、公知の方法が各種利用可能である。例えば、赤目や赤目周囲（顔の周囲を含んでもよい）の画像特徴量等に応じて、赤目領域の彩度、明度、色相等をコントロールして赤目を補正する補正処理や、単純に赤目領域の色を黒に変換する補正処理等が例示される。
【００５３】
以下、検出装置１０の作用をフローチャートを参照して説明することにより、本発明による赤目検出について、より詳細に説明する。
【００５４】
図４に、検出装置１０における赤目検出シーケンスの一例のフローチャートを示す。
このシーケンス（以下、第１のシーケンスとする）は、主要部領域では顔情報を利用して、最初に顔情報に応じた顔検出を行って、これで見つからなかった場合には、以降は、通常の顔検出（顔が見つかるまで、全ての顔の向きおよび顔サイズに対応した顔検出を行う）を行い、一方、非主要部領域では、記憶した顔情報に応じた顔検出のみを行うものである。
【００５５】
対象画像が供給され、赤目検出が開始されると、まず、領域設定手段１２が、前述のように、画像のどの領域が主要部領域で、どの領域が非主要部領域かを設定し、赤目候補検出手段１４および顔検出手段１６に設定結果を供給する。
【００５６】
次いで、赤目候補検出手段１４が赤目候補の検出を行う。
なお、この際において、赤目候補の検出は、主要部領域と非主要部領域とで検出条件を変えない通常の方法で行ってもよい。あるいは、領域設定手段１２による領域設定に応じて、主要部領域では前述のように低閾値での赤目候補の検出を行って、赤目の可能性が低い領域でも赤目候補領域として検出し、非主要部領域では、高閾値での赤目候補の検出を行って、赤目の可能性が高い領域のみを赤目候補領域として検出する等、領域に応じて検出条件を変更してもよい。
領域に応じて検出条件を変更する後者の方が、当然、より高速での処理が可能なシーケンス（より高速なモード）となる。また、領域に応じて、検出条件を変更するか否かは、選択可能にしてもよく、あるいは、各種のシーケンスに応じた赤目検出のモードを設定して、このモード選択によって選択可能にしてもよい。
本例においては、一例として、領域に応じて検出条件を変更しない、通常の赤目検出を行う。
【００５７】
全部でｍ個の赤目候補（Ａ点）が検出できたとして、赤目候補検出手段１４は、主要部領域の中央に近い赤目候補領域から、順次、番号付け（ナンバリング）Ａ１、…、Ａｍ（Ａｎ（ｎ＝１、…、ｍ）を行い、赤目候補検出結果を顔検出手段１６および赤目特定手段１８に送る。
【００５８】
顔検出手段１６は、記憶部２０から顔情報を読み出し、この顔情報（１つ前に検出された顔の顔情報＝検出装置１０において最後に検出された顔の顔情報）に応じた顔の向きおよび顔サイズを、最初の顔検出の条件として設定する。
例えば、記憶部２０に記憶している顔情報が、顔の向きが０°、顔サイズが大サイズである場合には、これを最初に行う顔検出の条件として設定する。なお、記憶部２０に顔情報が記憶されていない場合には、最初の顔検出の条件として、最も標準的な条件、例えば顔の向きとして０°、顔サイズとして標準サイズを設定する。
【００５９】
最初（ｎ＝１）の赤目候補Ａ点（Ａｎ点、すなわちＡ１点）が主要部領域にあるか非主要部領域にあるかを判定し、主要部にある場合には、顔検出手段１６は、先に設定した前記顔検出の条件（０°および大サイズ）で、Ａｎ点（Ａｎ点を含む所定領域）での顔検出を行う。
この条件でＡ点で顔が検出できた場合には、顔検出手段１６は、０°および大サイズを検出した顔の顔情報として記憶部２０に記憶し（あるいは、記憶部２０の顔情報を、そのまま維持し）、さらに、赤目特定手段１８が、この赤目候補を赤目と特定する。
【００６０】
一方、この条件の検出において、Ａｎ点で顔が検出できなかった場合には、顔検出手段１６は、次いで、顔のサイズを変えて、例えば標準サイズでの顔検出を行う。この条件で顔が検出できた場合には、同様に、顔情報（０°および標準サイズ）を記憶して、この赤目候補を赤目と特定する。他方、顔が検出できなかった場合には、再度、顔のサイズを変えて、小サイズでの顔検出を行い、顔が検出できたら、同様に、その際の顔情報を記憶して、この赤目候補を赤目と特定する。
【００６１】
全ての顔サイズで顔が検出できなかった場合には（全選択終了）、顔検出手段１６は、次いで、顔の向きを変更し、例えば９０°で顔検出を行う。なお、この際においては、顔のサイズは最初の大サイズ（すなわち、記憶部２０が記憶している顔サイズ）とし、顔のサイズの「全選択終了」はリセットする。
顔検出手段１６は、この条件で顔が検出できた場合には、同様に、顔情報（９０°で大サイズ）を記憶して、この赤目候補を赤目と特定する。
他方、この条件で顔が検出できなかった場合には、再度、顔のサイズを変えて、前述のように、標準サイズで顔検出を行い、この条件の顔検出で顔が検出できた場合には、同様に、この顔情報を記憶して、この赤目候補を赤目と特定し、顔が検出できなかった場合には、顔のサイズを小サイズに変えて、顔検出を行い、顔が検出できたら、同様に、その際の顔情報を記憶して、この赤目候補を赤目と特定する。
【００６２】
顔の向き９０°において、全ての顔のサイズで顔が検出できなかった場合には、顔検出手段１６は、次いで、顔の向きを１８０°に変更し、以下同様に顔のサイズを変更して、順次、Ａｎ点における顔検出を行い、顔が検出できた場合には顔情報を記憶して、赤目と特定し、顔の向き１８０°で全ての顔サイズで顔が検出できなかった場合には、顔の向きを２７０°に変更し、同様に顔のサイズを変更してＡ点における顔検出を行い、顔が検出できた場合には顔情報を記憶し、赤目と特定する。
また、顔の向き２７０°において、全ての顔サイズで顔が検出できなかった場合（全選択終了）、すなわち全ての顔の向きと顔サイズとの組み合わせで顔が検出できなかった場合には、Ａｎ点の周辺は顔以外であると判断する（すなわち、この赤目候補は赤目では無いと判定する）。
【００６３】
他方、最初（ｎ＝１）の赤目候補Ａ点（Ａｎ点、すなわちＡ１点）が非主要部領域にある場合にも、最初に、設定した前記顔検出の条件（０°および大サイズ）で、Ａｎ点での顔検出を行う。
この条件でＡ点で顔が検出できた場合には、顔検出手段１６は、検出した顔の顔情報として、０°および大サイズを記憶部２０に記憶し、さらに、赤目特定手段１８が、この赤目候補を赤目と特定する。
これに対し、非主要部領域においては、この条件で顔が検出できなかった場合には、このＡｎ点の周辺は顔以外であると判断する（同前）。
【００６４】
Ａｎ点を赤目と特定した場合（すなわち顔が検出できた場合）にも、Ａｎ点の周辺を顔以外と判断した場合にも、Ａｎ点の番号ｎをｎ＋１と（インクリメント）し、インクリメントされたｎがｍ以下（ｎ≦ｍ）であれば、次の新Ａｎ点について、顔検出を行う。
すなわち、同様に、記憶部２０から顔情報を読み出して、これに応じて、このＡｎ（新)点について最初に検出する顔の向きおよび顔サイズを設定し、このＡｎ点が主要部領域にあるか非主要部領にあるかを判定する。
Ａｎ点が主要部領域にある場合には、同様に、まず記憶部２０から読み出した顔情報に応じて設定した条件で顔検出を行い、顔が検出できるまで、顔サイズおよび顔の向きを、順次、変更して顔検出を行う。この時、顔が検出できた場合には、その顔情報を記憶部２０に記憶して赤目と特定し、顔が検出できなかった場合には、顔以外と判断する。他方、Ａｎ点が非主要部領域にある場合には、記憶部２０から読み出した顔情報に応じて設定した条件で顔検出を行う。これで顔が検出できた場合には、このＡｎ点を赤目と特定して顔情報を記憶し、顔が検出できなかった場合には、このＡｎ点の周辺は顔以外と特定する。
【００６５】
このＡｎ点を赤目と特定した場合にも、このＡｎ点を顔ではないと判断した場合にも、Ａｎ点の番号ｎをｎ＋１と（インクリメント）して、以下、同様にして、これ以降の赤目候補における顔検出を、順次、行い、インクリメントされたｎがｍより大（ｎ＞ｍ）となった時点、すなわち、全ての赤目候補についての顔検出を終了したら、赤目検出を終了する。
【００６６】
なお、この第１のシーケンスでは、非主要部領域では顔検出を行わないことにより、例えば、より高速な赤目検出処理（すなわち赤目補正処理）が可能な処理シーケンスとすることができ、例えば、検出装置１０における赤目補正処理の最高速処理モード等として利用可能である。
【００６７】
図５に、検出装置１０における赤目検出シーケンスの別の例のフローチャートを示す。
このシーケンス（以下、第２のシーケンスとする）は、主要部領域では、第１のシーケンスと同様に、最初に記憶した顔情報に応じた顔検出を行って、これで見つからなかった場合には、以降は通常の顔検出を行い、非主要部領域では、顔の向きに関しては記憶した顔情報に応じた顔検出のみとし、顔サイズに関しては全てのサイズで顔検出を行う。
【００６８】
第２のシーケンスにおいても、第１のシーケンスと全く同様にして、領域設定→赤目候補検出→赤目候補の番号付け→顔情報に応じた顔検出の顔の向きおよび顔サイズの設定→Ａｎ（Ａ１-Ａｍ）点が主要部領域にあるか非主要部領域にあるかの判定が、順次、行われる。
【００６９】
最初（ｎ＝１）の赤目候補Ａ点（Ａｎ点、すなわちＡ１点）が、主要部領域にある場合には、顔検出手段１６は、第１のシーケンスの主要部領域における場合と全く同様に顔検出を行う。
すなわち、まず、最初に、記憶部２０から読み出した顔情報に応じた条件で、Ａｎ点での顔検出を行い、これで顔が検出できなかった場合には、まず、顔サイズを変更して顔検出を行い、全サイズで顔が検出できなかった場合には、顔の向きを変更して、再度、各顔サイズで顔検出を行うことを、順次、行う。
顔が検出できた時点で、検出した顔の顔情報を記憶部２０に記憶して、さらに、赤目特定手段１８が、この赤目候補を赤目と特定する。他方、全ての顔の向きと顔サイズとの組み合わせで顔が検出できなかった場合には、Ａｎ点の周辺は顔以外であると判断する。
【００７０】
他方、最初の赤目候補が非主要部領域にある場合にも、まず、最初に、記憶部２０から読み出した顔情報に応じた顔検出の条件（一例として、０°および大サイズとする）で、Ａｎ点での顔検出を行う。
この条件で、Ａｎ点で顔が検出できた場合には、顔検出手段１６は、同様に、この条件をＡｎ点の顔情報（０°および大サイズ）として記憶部２０に記憶し、さらに、赤目特定手段１８が、この赤目候補を赤目と特定する。
この条件で顔が検出できなかった場合には、第２のシーケンスにおいては、顔サイズを変更して、例えば、標準サイズでの顔検出を行い、この条件で顔が検出できた場合には、同様に顔情報（０°および標準サイズ）を記憶部２０に記憶して、この赤目候補を赤目と特定する。この条件で顔が検出できなかった場合には、再度、顔のサイズを変えて小サイズでの顔検出を行い、顔が検出できたら、同様に、その際の顔情報を記憶して、この赤目候補を赤目と特定する。
非主要部領域においては、全ての顔サイズで顔が検出できなかった場合には（全選択終了）、顔検出手段１６は、このＡｎ点の周辺は、顔以外であると判断する。すなわち、第２のシーケンスにおいては、非主要部領域における顔検出は、顔サイズは各種のサイズに対応して顔検出を行うが、顔の向きに関しては、１方向の向きしか顔検出を行わない。
【００７１】
Ａｎ点を赤目と特定した場合にも、Ａｎ点の周辺を顔以外と判断した場合にも、第１のシーケンスと同様に、Ａｎ点の番号ｎをｎ＋１と（インクリメント）し、インクリメントされたｎがｍ以下（ｎ≦ｍ）であれば、次の新Ａｎ点について、同様にして、顔検出を行う。
すなわち、記憶部２０から顔情報を読み出して、これに応じて、このＡｎ（新）点について最初に検出する顔の向きおよび顔サイズを設定し、さらに、このＡｎ点が主要部領域にあるか非主要部領にあるかを判定し、同様に領域に応じた顔検出を行う。ここで、顔検出ができた場合には、このＡｎ点を赤目と特定し顔情報を記憶し、もしくは、顔検出ができない場合には、顔ではないと判断する。次いで、Ａｎ点の番号ｎをｎ＋１と（インクリメント）して、以下、同様にして、これ以降の赤目候補における顔検出を、順次、行い、インクリメントされたｎがｍより大（ｎ＞ｍ）となった時点、すなわち、全ての赤目候補についての顔検出を終了したら、赤目検出を終了する。
【００７２】
第２のシーケンスにおいては、非主要部領域においては、全ての顔サイズに対応して顔検出を行ったが、この顔サイズのみを変更するシーケンスでは、非主要部領域における顔検出は、他にも、各種の態様が可能である。
例えば、非主要部領域における顔検出を、記憶部２０に記憶した顔サイズ以上のサイズのみで行うようにしてもよい。すなわち、記憶部２０に記憶した顔サイズが標準サイズである場合には、標準サイズおよび大サイズのみの顔検出を行い、記憶したのが大サイズである場合には、大サイズのみの顔検出を行う。
あるいは、非主要部領域における顔検出を、記憶部２０に記憶した顔サイズではなく、予め設定した顔サイズ以上のサイズのみで行うようにしてもよい。すなわち、設定した顔サイズが標準サイズである場合には、標準サイズおよび大サイズのみの顔検出を行う。
非主要部領域における顔は、ある程度の大きさ以下の場合には、主要被写体ではない場合も多く、また、非主要部領域で小さな顔に赤目が発生していても、製品品質的には、問題とならない場合も多い。従って、このようなシーケンスとすることにより、より高速処理が可能な処理シーケンスとできる。
【００７３】
図６に、検出装置１０における赤目検出シーケンスの別の例のフローチャートを示す。
このシーケンス（以下、第３のシーケンスとする）は、主要部領域では、第１のシーケンスと同様に、最初に、顔情報に応じた顔検出を行って、これで見つからなかった場合には、以降は通常の顔検出を行い、非主要部領域では、顔のサイズに関しては記憶した顔情報に応じた顔検出のみとし、顔の向きに関しては全ての向きで顔検出を行う。
【００７４】
第３のシーケンスにおいても、第１のシーケンスと全く同様にして、領域設定→赤目候補検出→赤目候補の番号付け→顔情報に応じた顔検出の顔の向きおよび顔サイズの設定→Ａｎ（Ａ１-Ａｍ）点が主要部領域にあるか非主要部領域にあるかの判定が、順次、行われる。
【００７５】
最初（ｎ＝１）の赤目候補Ａ点（Ａｎ点、すなわちＡ１点）が、主要部領域にある場合には、顔検出手段１６は、第１のシーケンスと全く同様に顔検出を行う。
すなわち、まず、最初に、記憶部２０から読み出した顔情報に応じた条件で、Ａｎ点での顔検出を行い、これで顔が検出できなかった場合には、まず、顔サイズを変更して顔検出を行い、全サイズで顔が検出できなかった場合には、顔の向きを変更して、再度、各顔サイズで顔検出を行うことを、順次、行う。
顔が検出できた時点で、検出した顔の顔情報を記憶部２０に記憶して、さらに、赤目特定手段１８が、この赤目候補を赤目と特定する。他方、全ての顔の向きと顔サイズとの組み合わせで顔が検出できなかった場合には、Ａｎ点の周辺は顔以外であると判断する。
【００７６】
他方、最初の赤目候補が非主要部領域にある場合にも、記憶部２０から読み出した顔情報に応じて設定した顔検出の条件（一例として、０°および大サイズとする）で、Ａｎ点での顔検出を行う。
この条件でＡｎ点で顔が検出できた場合には、顔検出手段１８は、同様に、この条件をＡｎ点の顔情報（０°および大サイズ）として記憶部２０に記憶し、さらに、赤目特定手段１８が、この赤目候補を赤目と特定する。
この条件で顔が検出できなかった場合には、第３のシーケンスにおいては、顔の向きを変更して、例えば９０°で顔検出を行い、顔が検出できた場合には同様に顔情報（９０°および大サイズ）を記憶して、この赤目候補を赤目と特定する。この条件で顔が検出できなかった場合には、再度、顔の向きを変えて１８０°、次いで、２７０°と、順次、顔検出を行い、顔が検出できたら、顔情報を記憶して、この赤目候補を赤目と特定する。
非主要部領域においては、全ての顔の向きで顔が検出できなかった場合には（全選択終了）、顔検出手段１６は、このＡｎ点の周辺は顔以外であると判断する。すなわち、第３のシーケンスにおいては、非主要部領域における顔検出は、顔の向きは各種の向きに対応して顔検出を行うが、顔のサイズに関しては、１つのサイズしか顔検出を行わない。
【００７７】
Ａｎ点を赤目と特定した場合にも、Ａｎ点の周辺を顔以外と判断した場合にも、第１のシーケンスと同様に、Ａｎ点の番号ｎをｎ＋１と（インクリメント）し、インクリメントされたｎがｍ以下（ｎ≦ｍ）であれば、次の新Ａｎ点について、同様にして、顔検出を行う。
すなわち、記憶部２０から顔情報を読み出して、これに応じて、このＡｎ（新）点について最初に検出する顔の向きおよび顔サイズを設定し、さらに、このＡｎ点が主要部領域にあるか非主要部領にあるかを判定し、同様に領域に応じた顔検出を行う。ここで、顔検出ができた場合には、このＡｎ点を赤目と特定し顔情報を記憶し、もしくは、顔検出ができない場合には、顔ではないと判断する。次いで、Ａｎ点の番号ｎをｎ＋１と（インクリメント）して、以下、同様にして、これ以降の赤目候補における顔検出を、順次、行い、インクリメントされたｎがｍより大（ｎ＞ｍ）となった時点、すなわち、全ての赤目候補についての顔検出を終了したら、赤目検出を終了する。
【００７８】
図７に、検出装置１０における赤目検出シーケンスの別の例のフローチャートを示す。
このシーケンス（以下、第４のシーケンスとする）は、主要部領域では、第１のシーケンスと同様に、最初に、顔情報に応じた顔検出を行って、これで見つからなかった場合には、以降は通常の顔検出を行い、非主要部領域では、顔テンプレートを用いたマッチングによる顔検出ではなく、高速処理が可能な肌色抽出／形状認識による顔検出を行う。
【００７９】
第４のシーケンスにおいても、第１のシーケンスと全く同様にして、領域設定→赤目候補検出→赤目候補の番号付け→顔情報に応じた顔検出の顔の向きおよび顔サイズの設定→Ａｎ（Ａ１-Ａｍ）点が主要部領域にあるか非主要部領域にあるかの判定が、順次、行われる。
【００８０】
最初（ｎ＝１）の赤目候補Ａ点（Ａｎ点、すなわちＡ１点）が、主要部領域にある場合には、顔検出手段１６は、第１のシーケンスと全く同様に顔検出を行う。
すなわち、まず、最初に、記憶部２０から読み出した顔情報に応じた条件で、Ａｎ点での顔検出を行い、これで顔が検出できなかった場合には、まず、顔サイズを変更して顔検出を行い、全サイズで顔が検出できなかった場合には、顔の向きを変更して、再度、各顔サイズで顔検出を行うことを、順次、行う。
顔が検出できた時点で、検出した顔の顔情報を記憶部２０に記憶して、さらに、赤目特定手段１８が、この赤目候補を赤目と特定する。他方、全ての顔の向きと顔サイズとの組み合わせで顔が検出できなかった場合には、Ａｎ点の周辺は顔以外であると判断する。
【００８１】
他方、Ａｎ点が非主要部領域にある場合には、顔検出手段１６は、記憶した顔情報とは無関係に、Ａｎ点の周辺で肌色抽出および形状認識による顔検出を行い、Ａｎ点で顔が検出できた場合には、赤目特定手段１８が、この赤目候補を赤目と特定し、Ａｎ点で顔を検出できなかった場合には、このＡｎ点の周辺は顔以外であると判断する。
【００８２】
Ａｎ点を赤目と特定した場合にも、Ａｎ点の周辺を顔以外と判断した場合にも、第１のシーケンスと同様に、Ａｎ点の番号ｎをｎ＋１と（インクリメント）し、インクリメントされたｎがｍ以下（ｎ≦ｍ）であれば、次の新Ａｎ点について、同様にして、顔検出を行う。
すなわち、記憶部２０から顔情報を読み出して、これに応じて、このＡｎ（新）点について最初に検出する顔の向きおよび顔サイズを設定し、さらに、このＡｎ点が主要部領域にあるか非主要部領にあるかを判定し、同様に領域に応じた顔検出を行う。ここで、顔検出ができた場合には、このＡｎ点を赤目と特定し顔情報を記憶し、もしくは、顔検出ができない場合には、顔ではないと判断する。次いで、Ａｎ点の番号ｎをｎ＋１と（インクリメント）して、以下、同様にして、これ以降の赤目候補における顔検出を、順次、行い、インクリメントされたｎがｍより大（ｎ＞ｍ）となった時点、すなわち、全ての赤目候補についての顔検出を終了したら、赤目検出を終了する。
【００８３】
以上説明したシーケンスは、いずれも、主要部領域の中央部の赤目候補から番号付けを行い、番号順に顔検出を行う。従って、主要部領域における顔検出が終了した後に、非主要部領域の顔検出を行う。
本発明においては、これを利用して、主要部領域における顔の検出結果を統計処理し、主要部領域における顔の向きやサイズのバラツキに応じて、非主要部領域における顔検出の条件を変更してもよい。
図８および図９に、このような赤目検出処理を行うシーケンス（以下、第５のシーケンスとする）のフローチャートを示す。
【００８４】
第５のシーケンスにおいても、図８に示すように、第１のシーケンスと全く同様にして領域設定→赤目候補検出を行う。
次いで、この第５のシーケンスでは、赤目候補の検出結果に応じて、赤目候補が主要部を形成しているか否か（すなわち赤目候補が主要部領域に存在しているか否か）を判定する。その結果、赤目候補が主要部を形成していない場合には、主要部領域および非主要部領域の区別無く、画像の全域にわたって、後述する主要部領域に対する顔検出と同様の顔検出（第１のシーケンス等における主要部領域と同様の顔検出）を行う。なお、この際においては、解析処理は不要である。
赤目候補が主要部を形成している場合には、次いで、第１のシーケンスと全く同様にして、赤目候補の番号付→顔情報に応じた顔検出の顔の向きおよび顔サイズの設定→Ａｎ（Ａ１-Ａｍ）点が主要部領域にあるか非主要部領域にあるかの判定が、順次、行われる。
【００８５】
このシーケンスでは、前述のように、赤目候補が主要部を形成していることを確認した上で、赤目候補に対する番号付けを主要部領域の中央から行うので、最初は、図８に示すように、主要部領域の赤目候補に対応する顔検出が、第１のシーケンスと全く同様に行われる。
すなわち、まず、最初に、記憶部２０から読み出した顔情報に応じた条件で、Ａｎ点での顔検出を行い、これで顔が検出できなかった場合には、まず、顔サイズを変更して顔検出を行い、全サイズで顔が検出できなかった場合には、顔の向きを変更して、再度、各顔サイズで顔検出を行うことを、順次、行う。
顔が検出できた時点で、検出した顔の顔情報を記憶部２０に記憶して、さらに、赤目特定手段１８が、この赤目候補を赤目と特定する。他方、全ての顔の向きと顔サイズとの組み合わせで顔が検出できなかった場合には、Ａｎ点の周辺は顔以外であると判断する。
【００８６】
Ａｎ点を赤目と特定した場合にも、Ａｎ点の周辺を顔以外と判断した場合にも、第１のシーケンスと同様に、Ａｎ点の番号ｎをｎ＋１と（インクリメント）し、インクリメントされたｎがｍ以下（ｎ≦ｍ）であれば、次の新Ａｎ点について、同様にして、顔検出を行う。すなわち、記憶部２０から顔情報を読み出して、これに応じて、このＡｎ（新）点について最初に検出する顔の向きおよび顔サイズを設定して顔検出を行う。ここで、顔検出ができた場合には、このＡｎ点を赤目と特定し顔情報を記憶し、もしくは、顔検出ができない場合には、顔ではないと判断する。次いで、Ａｎ点の番号ｎをｎ＋１と（インクリメント）して、以下同様にして、顔検出を行う。
【００８７】
また、第５のシーケンスでは、主要部領域においては、顔が検出できた毎に、顔の向きおよび顔のサイズについて、統計解析処理を行い、主要部領域における顔の向きのバラツキおよび顔サイズのバラツキについて解析する。
【００８８】
このようにして主要部領域における全ての赤目候補に対する顔検出が終了すると「Ａｎ点は画像主要部か？」の判定が「Ｎｏ」となるので、これ以降は、図９に示す、非主要部顔検出のシーケンスに入る。
非主要部領域における顔検出では、まず、主要部領域における顔検出結果の統計に応じて、顔サイズのバラツキが小さいか否かを判定し、次いで、顔の向きのバラツキについて判定する。
【００８９】
この判定において、主要部領域における顔サイズおよび顔の向きのバラツキが、共に少ない場合には、非主要部領域における赤目候補に対しては、第１の顔検出（Ｎｏ．１顔検出）を行う。この第１の顔検出は、記憶部２０に記憶した顔の向きおよび顔サイズのみの顔検出を行うものであり、すなわち、第１のシーケンスにおける非主要部領域における顔検出と同じ処理である。
主要部領域における顔サイズのバラツキは少ないが、顔の向きにバラツキが多い場合には、非主要部領域内の赤目候補に対しては、第３の顔検出（Ｎｏ．３顔検出）を行う。この第３の顔検出は、顔のサイズに関しては、記憶部２０に記憶した顔サイズのみとし、顔の向きに関しては、検出できるまで向きを変えて顔検出を行うものであり、すなわち、第３のシーケンスにおける非主要部領域における顔検出と同じ処理である。
主要部領域における顔サイズにバラツキが多いが、顔の向きはバラツキが少ない場合には、非主要部領域内の赤目候補に対しては、第２の顔検出（Ｎｏ．２顔検出）を行う。この第２の顔検出は、顔の向きに関しては、記憶部２０に記憶した顔の向きのみとし、顔のサイズに関しては、検出できるまでサイズを変えて顔検出を行うものであり、すなわち、第２のシーケンスにおける非主要部領域における顔検出と同じ処理である。
さらに、顔サイズおよび顔の向き共にバラツキが多い場合には、非主要部領域内の赤目候補に対しては、第４の顔検出（Ｎｏ．４顔検出）を行う。この第４の顔検出は、顔が検出できるまで、全ての顔の向きおよび顔サイズの組み合わせで顔検出を行うものであり、すなわち、主要部領域における顔検出と同じ処理である。
【００９０】
このようにして、非主要部領域内の赤目候補に対して、顔サイズおよび顔の向きのバラツキに応じた顔検出を行い、Ａｎ点を赤目と特定した場合、および、このＡｎ点を顔では無いと判断した場合には、Ａｎ点の番号ｎをｎ＋１と（インクリメント）して、以下同様にして顔検出を行い、インクリメントされたｎがｍより大（ｎ＞ｍ）となった時点、すなわち、全ての赤目候補についての顔検出を終了したら、赤目検出を終了する。
【００９１】
このように、主要部領域での顔検出における顔サイズおよび顔の向きのバラツキに応じて、非主要部領域における顔検出の条件を変更する第５のシーケンスによれば、非主要部領域での顔検出の精度を落すことなく、かつ、主要部領域の状態に応じて最大限に迅速な顔検出を行うことが可能となる。
【００９２】
以上のシーケンスは、いずれも、最後に検出した顔情報を利用し、かつ、主要部領域と非主要部領域とで検出条件を変更しているが、検出装置１０は、これ以外にも、主要部領域と非主要部領域とを分けずに、全領域で記憶した顔情報を用いて同様に顔検出を行う赤目検出シーケンス（以下、第６のシーケンスとする）、および、記憶部２０に記憶した顔情報を用いずに、主要部領域と非主要部領域で条件を変更した顔検出を行う赤目検出シーケンス（以下、第７のシーケンスとする）によって、赤目検出を行ってもよい。
【００９３】
図１０に、第６のシーケンスのフローチャートを示す。
このシーケンスは、画像の主要部領域と非主要部領域との区別をせずに、全画像領域で記憶部２０に記憶した顔情報を用いて同様の顔検出を行うシーケンスである。
対象画像が供給され、赤目検出が開始されると、領域設定をせずに、まず、赤目候補検出手段１４が対象画像から赤目候補を検出する。全部でｍ個の赤目候補が検出できたとして、各赤目候補に番号付けを行う（画像中央からではなくてもよい）。
これ以降は、第１のシーケンス等の主要部領域における顔検出と、全く同様にして、顔情報を利用する顔検出を行い、これで検出できない場合には顔サイズや顔の向きを順次変更しての顔検出を、最初（ｎ＝１）の赤目候補Ａ点（Ａｎ点、すなわちＡ１点）から、順次、各赤目候補に対応して行って、赤目の特定、顔情報の記憶、顔以外の領域の特定等を行い、続けて、Ａｎ点の番号ｎをｎ＋１と（インクリメント）して、以下同様にして顔検出を行い、インクリメントされたｎがｍより大（ｎ＞ｍ）となった時点、すなわち、全ての赤目候補についての顔検出を終了したら、赤目検出を終了する。
【００９４】
図１１に、第７のシーケンスのフローチャートを示す。
このシーケンスは、顔情報を利用せず、画像の主要部領域と非主要部領域とで、条件の異なる顔検出を行うシーケンスである。
第７のシーケンスにおいても、第１のシーケンスと全く同様にして、領域設定→赤目候補検出→赤目候補の番号付けを行う。このシーケンスでは、顔情報を利用しないので、顔情報に応じた顔の向きおよび顔サイズの設定は行わず、Ａｎ点が主要部領域か非主要部領域かの判定を行う。
顔検出手段１６は、赤目候補が主要部領域である場合には、高精度な顔検出が可能な顔テンプレートを用いたマッチングによる顔検出、すなわち顔情報を使用しない以外は、第１のシーケンス等における主要部領域と同様の顔検出を行い、赤目候補が非主要部領域である場合には、高速処理が可能な肌色抽出およびエッジ抽出による形状認識での顔検出を行い、Ａｎ点で顔が検出できたか否かの情報を赤目特定手段１８に送る。
赤目特定手段１８は、顔検出結果に応じて、Ａｎ点で顔が検出できた場合には、この赤目候補を赤目と特定し、Ａｎ点で顔が検出できなかった場合には、この赤目候補は赤目ではないと特定する。
Ａｎ点が赤目であるか否かの特定を終了したら、Ａｎ点の番号ｎをｎ＋１と（インクリメント）し、インクリメントされたｎがｍ以下（ｎ≦ｍ）であれば、次の新Ａｎ点（赤目候補）について、顔検出を行い、以下同様にして、顔検出を行う。以下同様にして、これ以降の赤目候補における顔検出を、順次、行い、インクリメントされたｎがｍより大（ｎ＞ｍ）となった時点、すなわち、全ての赤目候補についての顔検出を終了したら、赤目検出を終了する。
【００９５】
なお、本発明においては、顔情報として、顔の向きおよび顔のサイズの両方を記憶するのに限定されないのは、前述のとおりである。
顔の向きのみを記憶する場合には、例えば、最初の顔検出で顔が検出できなかった場合には、顔の向きはそのままとして、顔のサイズをデフォルトで決定された順番で、順次、変更して、顔が検出できるまで顔検出を行い、記憶した顔の向きにおいて全ての顔サイズで顔が検出できなかったら、顔の向きを変更して、以下、先の例と同様にして、順次、顔検出を行えばよい。
また、顔のサイズのみを記憶する場合、例えば、最初の顔検出で顔が検出できなかった場合には、顔のサイズはそのままとして、顔の向きをデフォルトで決定された順番で、順次、変更して、顔が検出できるまで顔検出を行い、記憶した顔のサイズにおいて全ての顔の向きで顔が検出ができなかった際に、顔のサイズを変更して、以下、先の例と同様にして、順次、顔検出を行えばよい。
【００９６】
本発明の検出装置１０は、上記第１〜第５のシーケンスの少なくとも１つのみを有するものであってもよい。
しかしながら、好ましくは、第１〜第５のシーケンスの内の２以上を有し、より好ましくは、第１〜第５のシーケンスの内の２以上と、第６のシーケンスおよび／または第７のシーケンスを有し、赤目処理のモードとして選択可能とするのが好ましい。
【００９７】
例えば、第６のシーケンスは、領域によらず、全ての領域に対して、全ての顔の向きおよび顔サイズに対応した顔テンプレートとのマッチングによる高精度な顔検出を行っている。従って、このシーケンスは、処理時間はかかるが高精度な顔検出を行うことができる高精度モードとして利用が可能である。
これに対し、第１のシーケンスは、主要部領域では高精度な顔検出を行うが、非主要部領域では記憶した顔情報に応じた顔検出のみを行うので、高速での処理が可能である。従って、このシーケンスは、高速モードとして利用が可能である。
【００９８】
以上の例では、赤目候補検出手段１４と顔検出手段１６（それぞれ赤目候補検出と顔検出）とは、同じ主要部領域および非主要部領域に応じて赤目候補検出および顔検出を行っている。
しかしながら、本発明は、これに限定はされず、赤目候補検出手段１４と顔検出手段１６とで、位置や大きさが異なる主要部領域および非主要部領域を設定してもよい。
【００９９】
例えば、赤目候補検出手段１４では、図１（Ｂ）や（Ｃ）に示されるテンプレートを用いて画像中央を主要部領域として赤目候補検出を行い、あるいは、主要部領域および非主要部領域を設定せずに画像の全領域で同じ条件で赤目候補検出を行う。
次いで、赤目候補の検出結果に応じて、図１２に示すように、赤目候補ｒが集中している領域を検出し、この集中している領域を含む周辺領域ｘを主要部領域とし、それ以外を非主要部領域とする。顔検出手段１６は、このように設定された主要部領域と非主要部領域とを用いて、前述の各シーケンスのように、主要部領域と非主要部領域とで条件を変更して、顔検出を行う。
なお、この際には、例えば、赤目候補検出手段１４が赤目候補検出結果を領域設定手段１２に供給し、領域設定手段１２において、赤目候補が集中している領域を含む領域を含む円形や楕円計や矩形の領域を主要部領域として設定すればよい。
【０１００】
以上、本発明の特定領域検出方法、特定領域検出装置、およびプログラムについて詳細に説明したが、本発明は上記実施例に限定はされず、本発明の要旨を逸脱しない範囲において、各種の改良や変更を行ってもよいのは、もちろんである。
【０１０１】
例えば、以上の例は、本発明の検出方法を赤目検出に利用した例であるが、本発明は、これに限定はされず、金目、目、目じり、眉毛、口、鼻、眼鏡、ニキビ、ホクロ、しわなど、画像中の顔領域に存在し得る各種の物を特定領域として、画像中から、例えばニキビ候補を検出して、その周辺で顔検出を行い、顔が検出できたニキビ候補をニキビと特定してもよい。
この際における特定領域候補の検出方法は、例えば、検出対象となる特定領域に固有の色や形状を有する領域を画像中から検出する方法、検出対象となる特定領域の多数の画像サンプルから学習して作成したテンプレートを用いてマッチングを行う方法等、公知の方法によればよい。
【図面の簡単な説明】
【０１０２】
【図１】（Ａ）は、本発明による赤目検出装置の一例を概念的に示すブロック図であり、（Ｂ）、（Ｃ）および（Ｄ）は、本発明による赤目検出を説明するための概念図である。
【図２】（Ａ）、（Ｂ）、（Ｃ）、（Ｄ）および（Ｅ）は、顔検出方法を説明するための概念図である。
【図３】（Ａ）、（Ｂ）および（Ｃ）は、従来および本発明による赤目検出を説明するための概念図である。
【図４】本発明による赤目検出の一例のフローチャートである。
【図５】本発明による赤目検出の別の例のフローチャートである。
【図６】本発明による赤目検出の別の例のフローチャートである。
【図７】本発明による赤目検出の別の例のフローチャートである。
【図８】本発明による赤目検出の別の例のフローチャートである。
【図９】図８のフローチャートの一部を詳細に示したフローチャートである。
【図１０】本発明による赤目検出の別の例のフローチャートである。
【図１１】本発明による赤目検出の別の例のフローチャートである。
【図１２】本発明における主要部領域および非主要部領域の設定方法の別の例を説明するための概念図である。
【符号の説明】
【０１０３】
１０  （赤目）検出装置
１２  領域設定手段
１４  赤目候補検出装置
１６  顔検出手段
１８  赤目特定手段
２０  記憶部
２２  赤目補正手段
【図１】
2005322220.tif 000003
【図２】
2005322220.tif 000004
【図３】
2005322220.tif 000005
【図４】
2005322220.tif 000006
【図５】
2005322220.tif 000007
【図６】
2005322220.tif 000008
【図７】
2005322220.tif 000009
【図８】
2005322220.tif 000010
【図９】
2005322220.tif 000011
【図１０】
2005322220.tif 000012
【図１１】
2005322220.tif 000013
【図１２】
2005322220.tif 000014