(57)【要約】 【課題】  顔の検出が困難な場合でも、オペレータに負担をかけることなく、赤目を高精度に検出できるようにする。【解決手段】  赤目候補検出部３は、赤目領域を有する瞳孔が備える特徴を利用した識別処理によって、赤目候補領域を検出する。赤目確定処理部４は、検出された赤目候補領域について、赤目候補領域よりも広い範囲を判定対象範囲として設定し、その範囲で目の検出を行う。目が検出された場合には、赤目候補領域を赤目領域として確定する。赤目候補領域を検出する段階で、電飾などを誤って赤目候補領域として検出してしまっても、赤目確定処理部で確定された赤目領域のみの情報が検出結果として出力されるので、検出結果の信頼性が高まる。【選択図】          図１
2005316958.tif 000002
【特許請求の範囲】
【請求項１】
赤目領域を有する瞳孔が含まれた画像から、前記赤目領域を検出する赤目検出装置であって、
前記画像が備える特徴の中から、赤目領域を有する瞳孔が備える特徴の中の少なくとも一部の特徴を識別することによって、赤目領域と推定し得る１以上の赤目候補領域を検出する赤目候補検出部と、
前記赤目候補検出部により検出された赤目候補領域を１つのみ含む該赤目候補領域よりも広い領域の中から、赤目領域を有する瞳孔を１つのみ含む所定の大きさの顔領域が備える特徴の中の少なくとも一部の特徴を識別し、該識別の結果に基づいて前記赤目候補領域を赤目領域として確定する赤目確定処理部とを備え、
前記赤目確定処理部により赤目領域として確定された領域の情報を、検出した赤目領域の情報として出力することを特徴とする赤目検出装置。
【請求項２】
前記所定の大きさの顔領域は、少なくとも一方向について該顔領域に含まれる前記赤目領域の５倍の寸法を有する領域であることを特徴とする請求項１記載の赤目検出装置。
【請求項３】
前記所定の大きさの顔領域は目の輪郭を含むような大きさの領域であることを特徴とする請求項１または２記載の赤目検出装置。
【請求項４】
前記赤目候補検出部および／または前記赤目確定処理部は、赤色と肌色の色差を表す軸を備えた色空間において、前記特徴の識別を行うことを特徴とする請求項１から３のいずれか１項記載の赤目検出装置。
【請求項５】
赤目領域を有する瞳孔が含まれた画像から、前記赤目領域を検出する赤目検出方法において、
前記画像が備える特徴の中から、赤目領域を有する瞳孔が備える特徴の中の少なくとも一部の特徴を識別することによって、赤目領域と推定し得る１以上の赤目候補領域を検出し、
検出された赤目候補領域を１つのみ含む該赤目候補領域よりも広い領域の中から、赤目領域を有する瞳孔を１つのみ含む所定の大きさの顔領域が備える特徴の中の少なくとも一部の特徴を識別し、
前記識別の結果に基づいて前記赤目候補領域を赤目領域として確定し、
前記赤目領域として確定された領域の情報を、検出した赤目領域の情報として出力することを特徴とする赤目検出方法。
【請求項６】
赤目領域を有する瞳孔が含まれた画像から、前記赤目領域を検出する処理をコンピュータに実行させる赤目検出プログラムであって、
前記画像が備える特徴の中から、赤目領域を有する瞳孔が備える特徴の中の少なくとも一部の特徴を識別することによって、赤目領域と推定し得る１以上の赤目候補領域を検出する赤目候補検出処理と、
前記赤目候補検出処理により検出された赤目候補領域を１つのみ含む該赤目候補領域よりも広い領域の中から、赤目領域を有する瞳孔を１つのみ含む所定の大きさの顔領域が備える特徴の中の少なくとも一部の特徴を識別し、該識別の結果に基づいて前記赤目候補領域を赤目領域として確定する赤目確定処理と、
前記赤目確定処理により赤目領域として確定された領域の情報を、検出した赤目領域の情報として出力する処理とをコンピュータに実行させることを特徴とする赤目検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、写真画像の色について局所的な補正が必要な場合に、補正が必要な箇所を検出する技術に関する。詳しくは、いわゆる赤目を検出する装置、方法およびプログラムに関する。
【背景技術】
【０００２】
夜間あるいは暗い場所で人物や動物をストロボ撮影すると、瞳孔（あるいは瞳孔の一部）が、赤色あるいは金色に撮影されてしまうことがある。このため、赤くあるいは金色に撮影されてしまった瞳孔を、デジタル画像処理により本来の瞳孔の色に補正する方法が種々提案されている。
【０００３】
例えば、特許文献１には、オペレータが指定した領域の中から、瞳孔の色、位置、大きさに基づいて赤目を自動認識する方法および装置が開示されている。また、特許文献２にも、オペレータが指定した領域について画素ごとに所定の特徴量を計算し、瞳孔部分の特徴を最も有する部分を補正対象として選択する方法が開示されている。但し、瞳孔部分の特徴のみに基づく認識処理では、赤い電飾など局所的に赤みを持つ対象を赤目と区別することは難しい。このため、オペレータの操作を介さず、すべて自動で処理することは困難である。
【０００４】
これに対し、特許文献３には、顔検出処理との組み合わせにより、赤目を検出する方法が開示されている。この方法では、顔を正確に検出することができれば赤目を自動検出することができる。しかし、横顔、手や髪で顔が覆われている場合など、顔検出が困難な画像では、やはりオペレータの介入なく赤目を検出することは難しい。
【特許文献１】特開２０００−１３６８０号公報
【特許文献２】特開２００１−１４８７８０号公報
【特許文献３】特開２０００−１２５３２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、上記事情に鑑みて、顔の検出が困難な場合でも、オペレータに大きな負担を強いることなく、赤目を高精度に検出することができる赤目検出装置、方法およびプログラムを提供することを目的とする。なお、本明細書では、本来の色と異なる色に撮影されてしまった目のことを、赤以外の色の目も含め「赤目」と称することとする。
【課題を解決するための手段】
【０００６】
本発明は、上記目的を達成するために、赤目領域を有する瞳孔が含まれた画像から赤目領域を検出する赤目検出装置であって、以下に説明する機能を有する赤目候補検出部と赤目確定処理部を備えた装置を提供する。
【０００７】
赤目候補検出部は、画像が備える特徴の中から、赤目領域を有する瞳孔が備える特徴の中の少なくとも一部の特徴を識別することによって、赤目領域と推定し得る１以上の赤目候補領域を検出する機能を備える。
【０００８】
ここで、「赤目領域を有する瞳孔が備える特徴の中の少なくとも一部の特徴を識別する」とは、赤目領域を有する瞳孔が備えるすべての特徴に基づいて識別処理を行う必要はなく、赤目領域の候補を検出する上で特に有効と思われる特徴のみを利用して検出を行ってもよいということである。
【０００９】
また、赤目確定処理部は、赤目候補検出部により検出された赤目候補領域を１つのみ含む赤目候補領域よりも広い領域の中から、赤目領域を有する瞳孔を１つのみ含む所定の大きさの顔領域が備える特徴の中の少なくとも一部の特徴を識別し、その識別の結果に基づいて赤目候補領域を赤目領域として確定する機能を備える。
【００１０】
ここで、「所定の大きさの顔領域」とは、少なくとも一方向について、その顔領域に含まれる赤目領域の５倍の寸法を有する領域とすることが好ましい。赤目領域の５倍とは、目頭から目尻までの寸法の目安である。つまり「所定の大きさの顔領域」とは、目の輪郭を含む程度の大きさの領域とすることが好ましい。
【００１１】
なお、赤目候補検出部や前記赤目確定処理部は、赤色と肌色の色差を表す軸を備えた色空間において、特徴の識別を行うことが好ましい。
【００１２】
また、本発明は、赤目領域を有する瞳孔が含まれた画像から赤目領域を検出する赤目検出方法も提案する。この方法では、まず、画像が備える特徴の中から、赤目領域を有する瞳孔が備える特徴の中の少なくとも一部の特徴を識別することによって、赤目領域と推定し得る１以上の赤目候補領域を検出する。
【００１３】
続いて、検出された赤目候補領域を１つのみ含む、その赤目候補領域よりも広い領域の中から、赤目領域を有する瞳孔を１つのみ含む所定の大きさの顔領域が備える特徴の中の少なくとも一部の特徴を識別する。そして、その識別の結果に基づいて赤目候補領域を赤目領域として確定する。この方法では、最終的に、赤目領域として確定された領域の情報を、検出した赤目領域の情報として出力する。
【００１４】
また、本発明は、赤目領域を有する瞳孔が含まれた画像から赤目領域を検出するための処理として、以下に説明する赤目候補検出処理と、赤目確定処理をコンピュータに実行させる赤目検出プログラムを提供する。
【００１５】
赤目候補検出処理は、画像が備える特徴の中から、赤目領域を有する瞳孔が備える特徴の中の少なくとも一部の特徴を識別することによって、赤目領域と推定し得る１以上の赤目候補領域を検出する処理である。また、赤目確定処理は、赤目候補検出処理により検出された赤目候補領域を１つのみ含む、赤目候補領域よりも広い領域の中から、赤目領域を有する瞳孔を１つのみ含む所定の大きさの顔領域が備える特徴の中の少なくとも一部の特徴を識別し、その識別の結果に基づいて赤目候補領域を赤目領域として確定する処理である。このプログラムがコンピュータにより実行された場合、赤目確定処理により赤目領域として確定された領域の情報が、検出した赤目領域の情報として出力される。
【発明の効果】
【００１６】
本発明の赤目検出装置、方法およびプログラムによれば、赤目領域を有する瞳孔が備える特徴を利用して識別された赤目候補領域は、より広い範囲の特徴を利用して再識別されてはじめて赤目領域として確定されるので、検出結果に赤目以外の電飾などが含まれる可能性は低くなり、検出結果の信頼性が高まる。
【００１７】
特に、赤色と肌色の色差を表す軸を備えた色空間において、特徴の識別を行えば、肌色の顔の中から、赤目を精度よく検出することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の好ましい実施形態について、図面を参照して説明する。
【００１９】
（第１実施形態）
図１は、赤目を補正するシステムの一構成例を示す図である。このシステムは、本発明の赤目検出装置の第１実施形態に相当する赤目検出装置１と、赤目検出装置１により検出された赤目領域の色が本来の瞳孔の色となるように画像に対し局所的に色補正を施す赤目修正装置２とにより構成される。図に示すように、赤目検出装置１は、修正前画像５から赤目領域と推定される赤目候補領域を検出する赤目候補検出部３と、検出された候補領域が真に赤目領域か否かを検証して赤目領域を確定する赤目確定処理部４を備えている。また、赤目修正装置２は、赤目検出装置１の赤目確定処理部４により確定された赤目領域の情報を参照して、その赤目領域の色を修正し、修正済画像６を出力する。
【００２０】
図２は、赤目候補検出部３により実行される赤目候補検出処理の概要を表すフローチャートである。赤目候補検出部３は、はじめに解像度別画像を取得する（Ｓ１０１）。図３は解像度別画像について説明するための図である。本実施形態では、図に示すように、修正前画像５と同じ解像度の画像７、修正前画像５の１／２の解像度の画像８、修正前画像５の１／４の解像度の画像９が、前もって生成され、メモリに記憶されている。
【００２１】
修正前画像５と解像度が同じ画像７は、修正前画像５をコピーすることにより生成され、修正前画像５と解像度が異なる画像８、９は、修正前画像５のデータに対し画素数を低減する、いわゆる間引き処理を実行することによって生成される。赤目候補検出部３は、図２のステップＳ１０１において、メモリ内に記憶されている一の解像度別画像を読み出すことにより、解像度別画像を取得する。
【００２２】
次に、赤目候補検出部３は、取得した解像度別画像に対し、色空間変換処理を施す（Ｓ１０２）。具体的には、解像度別画像を構成する各画素のＲ(赤)，Ｇ（緑），Ｂ(青)の値を、所定の変換式により、Ｙ（輝度）、Ｃｂ（緑と青の色差）、Ｃｒ（緑と赤の色差）、Ｃｒ＊（肌色と赤の色差）の値に置き換えることにより、画像の表色系を変換する。
【００２３】
Ｙ，Ｃｂ，Ｃｒは、一般にＪＰＥＧ画像などで利用されている座標系であり、Ｃｒ＊は、ＲＧＢ空間において赤色と肌色とをもっともよく分離する方向を表す座標軸である。この座標軸の方向は、赤色のサンプルと肌色のサンプルに線形判別分析法を適用して予め決定しておく。このような座標軸を定義することにより、後述する赤目候補領域の検出精度を、通常のＹＣｂＣｒ空間で検出を行う場合よりも高めることができる。
【００２４】
続いて、赤目候補検出部３は、色空間変換後の画像上に判定対象範囲を設定し（Ｓ１０３）、その判定対象範囲について赤目候補領域の識別判定処理を行う（Ｓ１０４）。図４に、ステップＳ１０３の判定対象範囲設定処理と、ステップＳ１０４の識別判定処理の概要を示す。
【００２５】
図４（ａ）は、ステップＳ１０２において色空間変換された解像度別画像７上に、判定対象範囲１０を設定した状態を表している。本実施形態では、判定対象範囲１０は１３画素×１３画素の領域であるが、説明の便宜上、図では判定対象範囲１０を大きめに表している。
【００２６】
識別判定処理では、設定された判定対象範囲１０に含まれる画像を、複数の赤目候補検出器にかけ、その複数の検出器の検出結果の組み合わせから、その判定対象範囲１０に含まれる画像が、赤目領域と推定し得るか否か判断する。赤目領域と推定し得る場合には、その領域を赤目候補領域として検出する。
【００２７】
但しここで、赤目候補検出器とは、赤目と非赤目との区別に有効な特徴量を算出するためのパラメータと、算出された特徴量を入力として赤目らしさの度合いを表す識別ポイントを出力する識別器と、そのパラメータと識別器を多数の赤目サンプルに適用して識別ポイントの累積加算値を算出し、所定の正検出率を維持できるように決定された閾値の組み合わせを意味する。
【００２８】
パラメータや識別器は、多数の赤目サンプルと非赤目サンプルを利用してあらかじめ学習を行うことにより決定する。学習は、マシーンラーニング技術として知られているニューラルネットワークの手法あるいはブースティングの手法など、公知の方法を用いて行うことができる。
【００２９】
学習に用いられるサンプルは、例えば図５（ａ）、（ｂ）、（ｃ）に示すように、瞳孔全体が赤いサンプル、瞳孔の８０％の領域が赤いサンプル、瞳孔の６０％が赤いサンプルというように、単位矩形内に締める赤色領域の大きさに所定のバリエーションをもたせることが好ましい。
【００３０】
また学習用サンプルの中に、赤色領域の中心が単位矩形の中心から少しずれたサンプルを含めておけば、ずれた状態でも赤色領域を抽出できるようになる。このため、画像上に特徴量を算出する判定対象範囲を設定し、走査する際に、間隔をあけても抽出の精度を保つことができ、処理時間を短縮することができる。
【００３１】
また、閾値は、学習により決定された特徴量算出パラメータおよび識別器を、できるだけ多くの赤目サンプルに対して適用して識別ポイントの累積加算値を算出し、所定の確率以上の確率で正しく検出できるように定めるとよい。
【００３２】
図６は、図２のステップＳ１０４の識別判定処理の具体的な処理ステップを示すフローチャートである。フローチャート中の記号ｉは赤目候補検出器を区別するための記号であり、赤目候補検出器がＮ個ある場合には、０≦ｉ≦Ｎ−１となる。Ｎ個の赤目候補検出器、すなわち特徴量の算出に利用されるパラメータｉ、識別器ｉ、閾値ｉ（０≦ｉ≦Ｎ−１）は、メモリあるいはハードディスクなどに記憶されている。
【００３３】
はじめに、ｉおよび累積識別ポイントの値を、いずれも０に初期化する（Ｓ２０１）。次に、特徴量算出パラメータｉを利用して前述の判定対象範囲１０について、特徴量を算出し、算出結果を得る（Ｓ２０２）。次に、算出結果に基づいて識別器ｉを参照して識別ポイントを得（Ｓ２０３）、その識別ポイントを累積識別ポイントに加算する（Ｓ２０４）。次に、その累積識別ポイントを、閾値ｉと比較する（Ｓ２０５）。この時点で、累積識別ポイントが閾値ｉを下回っていれば、非赤目と判定する。
【００３４】
一方、累積識別ポイントが閾値ｉを越えていれば、ｉがＮ−１か否かを判定することによって全識別器について処理が終了したか否かを判定する（Ｓ２０６）。ｉがＮ−１より小さい場合には、ｉを１つカウントアップして（Ｓ２０７）、同様に、ステップＳ２０２からＳ２０７までの処理を繰り返す。全識別器について処理が終了した場合には（Ｓ２０６）、その時点で判定対象範囲１０内の画像を、赤目候補領域と判断し、候補リストに登録する。
【００３５】
なお、本実施形態では、特徴量算出パラメータは、参照するチャンネル（Ｙ、Ｃｂ、Ｃｒ、Ｃｒ＊）、特徴量のタイプ（画素値そのもの、２点差分、４点差分）、参照する画素の判定対象範囲内における座標からなる。
【００３６】
以上に説明した識別判定処理は、図４の画像７中の矢印に示すように、判定対象範囲１０を少しずつずらしながら（走査しながら）、繰り返し実行する。判定対象範囲の設定と識別判定処理は、図２のフローチャートのステップＳ１０５において走査終了と判定された時点で終了する。
【００３７】
赤目候補検出部３は、次に、図２のステップＳ１０６において、全解像度別画像についての処理が終了したか否かを判定する。他の解像度別画像が未処理であれば、赤目候補検出部３の処理はステップＳ１０１に戻り、図３の次の解像度別画像８が取得されて、同様の処理が繰り返される。
【００３８】
なお、解像度を異ならせて処理を繰り返すのは、以下の理由による。図４（ｂ）は、解像度別画像７よりも解像度が低い画像８上に、判定対象範囲１０を設定した状態を表している。判定対象範囲１０の大きさは前述のとおり１３画素×１３画素である。解像度を低くすると、判定対象範囲１０には、解像度が高い場合よりも、より広い範囲が含まれることになる。
【００３９】
したがって、例えば図４（ａ）、（ｂ）に示すように、画像中に瞳孔１２の画像が含まれている場合、図４（ａ）の解像度別画像７に対する識別処理では検出できなかった瞳孔１２が、解像度別画像８に対する識別処理では検出できる場合がある。赤目候補領域を検出できたときの画像の解像度の情報は、メモリなどに記憶され、後述する赤目確定処理部４により参照される。
【００４０】
ステップＳ１０６において、全解像度別画像についての処理が終了したと判定されると、次に、赤目候補検出部３は、候補整理処理を実行する（Ｓ１０７）。図７は候補整理処理について説明するための図である。図に示すように、上記判定対象範囲設定処理および識別判定処理では、１つの赤目領域が２個の赤目候補領域として検出されてしまう場合がある。
【００４１】
例えば赤目領域が図７に示される楕円領域１３である場合に、判定対象範囲１０ａに対して行われた識別判定処理で領域１４ａが赤目候補領域と判定され、判定対象範囲１０ｂに対して行われた識別判定処理で、領域１４ｂが赤目候補領域と判定されるような場合である。候補整理処理は、このような場合に、赤目候補領域１４ａと赤目候補領域１４ｂのうち、前述の識別ポイントが高いほうの領域のみを赤目候補領域として残し、他方をリストから削除する処理である。
【００４２】
赤目候補検出部３は、以上の処理により最終的に赤目候補領域として残った領域の中心座標およびサイズを赤目候補リストとして出力する。
【００４３】
続いて、図１の赤目確定処理部４の処理について説明する。図８は、赤目確定処理部４の処理を示すフローチャートである。赤目確定処理部４は、赤目候補検出部３が出力した赤目候補リストに含まれる個々の赤目候補領域について、順番に以下の確定処理を施す。以下の処理は、ステップＳ３０１において、未確定の赤目候補領域がなくなったと判断されるまで繰り返される。
【００４４】
まず、赤目候補リストの中から一の赤目候補領域が選択され、確定処理の対象として設定される（Ｓ３０２）。続いて、選択された赤目候補領域の周辺領域の画像がトリミングされる（Ｓ３０４）。
【００４５】
図９はトリミング処理について説明するための図である。例えば、図９は、赤目候補検出部３により、３つの赤目候補領域１６ａ、１６ｂおよび１６ｃが検出された例を示しているが、ここでは、その中の赤目候補領域１６ａを確定処理の対象として説明する。
【００４６】
トリミング処理は、赤目候補検出処理で赤目候補領域１６ａが検出されたときの画像の解像度と同じ解像度の画像１５に対して行う。また、赤目候補領域１６ａを瞳孔と仮定した場合にその瞳孔を含む目全体が入る領域１７をトリミングする。目全体が入る領域とは、上瞼から下瞼まで、目頭から目尻までを含むような領域である。言い換えれば目の輪郭をすべて含むような領域である。
【００４７】
次に、図１０に示すように、トリミングされた領域１７の中に、判定対象範囲１９を設定し、その判定対象範囲１９について目の識別判定処理を行う（Ｓ３０５）。
【００４８】
目の識別判定処理は、設定された判定対象範囲１９に含まれる画像を、複数の目検出器にかけ、その複数の目検出器の検出結果の組み合わせから、その判定対象範囲１９に含まれる画像が、目か否か判断する。目であると判断した場合には、その目の中に含まれる赤目候補領域１６ａを赤目領域として確定する。
【００４９】
目検出器は、目と、目以外の対象との区別に有効な特徴量を算出するためのパラメータと、算出された特徴量を入力として目らしさの度合いを表す識別ポイントを出力する識別器と、そのパラメータと識別器を多数の目サンプルに適用して識別ポイントの累積加算値を算出し、所定の正検出率を維持できるように決定された閾値の組み合わせを意味する。
【００５０】
パラメータや識別器は、多数の目のサンプルと目以外の対象を表すサンプルを利用してあらかじめ学習を行うことにより決定する。学習は、マシーンラーニング技術として知られているニューラルネットワークの手法あるいはブースティングの手法など、公知の方法を用いて行うことができる。
【００５１】
学習に用いられるサンプルは、例えば図１１（ａ）、（ｂ）、（ｃ）に示すように、一重の目、二重の目、瞳孔が小さい目など、種々のバリエーションをもたせることが好ましい。また、図１１（ｄ）のように瞳孔が目の中心に無いサンプルなども含めておくとよい。さらに、多少傾いて配置された目も識別できるように、図１１（ｅ）のような少し傾いた目のサンプルも含めておくのがよい。本実施形態では、−１５度〜１５度の範囲で傾きを変えた複数のサンプルを用いて学習を行っている。このほか、サンプルの全体領域に締める目の割合が異なるサンプルも多数用意して学習を行わせるのがよい。
【００５２】
なお、目の識別判定処理の具体的な処理ステップは、図６に示した赤目候補領域の識別判定処理のステップと同じである。但し、例えばウェーブレット係数を利用してエッジやテクスチャに関する特徴を抽出して使用するなど、赤目候補領域の識別判定処理と異なる方法により目の識別判定を行ってもよい。
【００５３】
目の識別判定処理は、図１０のトリミング領域１７内で、判定対象範囲１９を少しずつずらしながら（走査しながら）、繰り返し実行する。トリミング領域１７は赤目候補領域１６ａを中心として切り出された領域であるため、通常はその部分を瞳孔とした目が検出されるはずであるが、ずれが生じていることもあるため、本実施形態の赤目検出装置では、このような走査を行うことによって、瞳孔の正確な位置を取得している。
【００５４】
判定対象範囲１９の設定と識別判定処理は、図８のフローチャートのステップＳ３０６に示されるように、目が検出され、赤目候補領域１６ａを赤目領域として確定できた時点で終了する。確定できなかった場合で、まだトリミング領域１７を走査し終えていない場合には、ステップＳ３０４に戻って判定対象範囲１９を設定しなおし（ずらし）、再び識別判定処理を実行する。
【００５５】
トリミング領域１７の走査が終了するまでに目を検出できなかった場合には（Ｓ３０７）、次に図１２（ａ）に示すように、赤目候補領域１６ａを中心としてトリミング領域１７を回転させることにより得られる領域１８をトリミングする。目は、上下方向と左右方向で特徴が大きく異なるため画像中に斜めに目が配置されていた場合には、図９のようにトリミングした領域について識別判定を行っても検出できない可能性があるからである。
【００５６】
本実施形態では、トリミング領域の回転は３０度刻みで行っている。すなわち、３０度（あるいは−３０度）傾けたトリミング領域について上記識別判定処理を実行して目が検出できなければ、さらに３０度（あるいは−３０度）傾けたトリミング領域について同様の処理を繰り返す。
【００５７】
なお、傾いた目の検出は、あらゆる傾きを有する目のサンプルを用いて予め学習を行うことによっても実現できるが、本実施形態では検出精度と処理時間のバランスを考慮し、−１５度〜１５度程度傾いた目は学習により識別できるようにしておき、その範囲を越えて大きく傾いた目についてはトリミング領域を回転させて識別することとしている。
【００５８】
さらに、図１２（ｂ）に示すように、画像１５の解像度を変更した画像２０に対してトリミング、対象範囲設定、識別判定の処理を行ってみてもよい。解像度を変更するときは、赤目候補検出の場合と異なり、２-1/4倍し、さらに２-1/4倍するというように、解像度を細かく調整する。他の解像度、他の回転角度をすべて試しても、なお目を検出できなかった場合には、赤目候補領域１６ａを候補リストから削除し（Ｓ３０８）、赤目候補リストに載っている次の候補について、同様の処理を繰り返す。
【００５９】
本実施形態では、赤目候補検出部３は瞳孔の特徴のみに基づいて識別判定を行っているため、赤目候補リストの中には赤い電飾などが赤目候補領域として混ざっている可能性は否定できない。しかし、赤目確定処理部４が行う目の識別判定処理は、白目、瞼などの肌色部分、まつ毛などの情報を利用して、確実に目を検出できるので、検出結果の信頼度は高い。
【００６０】
一方、目は、顔の場合と異なり、比較的小さい領域であるため、検出できないケースは少ない。特に、赤目検出の場合には、検出の対象となる目は必ず開いているため、一般の目検出処理よりも目の検出精度は高くなる。以上から、上記赤目検出装置１によれば、赤目領域を精度よく検出することができる。
【００６１】
次に、赤目修正装置２の処理について簡単に説明する。図１３は赤目修正装置２の処理の概要を表す図である。本実施形態では、赤目確定処理部により確定された赤目領域から、色差Ｃｒの値が所定の値を越えている画素を抽出し、モフォロジー処理により、その領域を整形し、整形した領域を構成する各画素の色を、所定の明るさのグレーなど、瞳孔の色として適切な色に置き換えている。
【００６２】
以上に説明した赤目検出処理、赤目修正処理によれば、オペレータの介入がなくても十分な程度に高い精度で赤目を検出し修正することができる。したがって、本発明の赤目検出装置は、修正したい領域を指定することが難しい環境で特に有用である。例えば、本発明の赤目検出装置および前述の赤目修正装置を、半導体装置として提供し、カメラ付携帯電話のようにモニタが小さく画像中の領域を指定することが難しい装置に実装すれば、従来赤目の補正が行えなかった環境でも赤目が補正された高品質の画像を得ることが可能になる。
【００６３】
なお、本発明の赤目検出装置、方法およびプログラムの特徴は、瞳孔という狭い領域の特徴に基づいてまず候補を検出し、その後、顔よりは小さいが瞳孔よりは大きい「目」を検出することによって、その候補が真の赤目領域か否かの検証を行ってから赤目領域を確定する点にある。したがって、赤目候補領域や目の識別判定処理など個々の処理の手法は、上記実施形態に限定されるものではない。例えば、従来技術として例示した各特許文献に記載されている手法をはじめとする他の公知の手法を用いて、識別判定処理を行ってもよい。
【００６４】
（第２実施形態）
次に、赤目を補正するシステムの他の構成例として、本発明の第２実施形態に相当する画像処理装置を示す。この画像処理装置は、第１実施形態のシステムと同等の赤目検出機能および赤目修正機能に加え、さらにオペレータによる赤目修正作業を支援する機能を備えている。
【００６５】
第１実施形態のシステムはオペレータの介入がなくても十分な程度に高い精度で赤目を検出し修正することができるとはいえ、画像の構成が複雑だったり、画質が悪い場合など、検出精度に不安がある場合もある。第２実施形態および後述する第３、第４実施形態では、オペレータに必要最小限の介入を要求することで、この不安を解消する。
【００６６】
図１４は、この画像処理装置が実行する赤目検出処理および赤目修正処理の概要を示す図である。図１４のフローチャートに示すように、画像処理装置は、赤目検出、補正処理の対象となる画像を取得する（Ｓ４０１）。画像は、ハードディスクや各種メディアに記憶されているデータを読み出すことにより取得する。続いて、取得した画像に対し赤目検出（Ｓ４０２）および赤目修正（Ｓ４０３）の処理を施す。
【００６７】
ステップＳ４０２の赤目検出処理は、第１実施形態の赤目検出装置により実行される処理と同等の処理、すなわち赤目候補検出処理と赤目確定処理である。
【００６８】
ステップＳ４０３の赤目修正処理は、第１実施形態の赤目修正装置により実行される処理と同等の処理とする。但し、第１実施形態に示した処理とは異なる処理により赤目を修正してもよい。
【００６９】
続いて、赤目検出、修正処理の自信度を算出する（Ｓ４０４）。自信度は赤目検出が正確に行われたか否か、あるいは画像の修正が適切に行われたか否かを表す指標である。
【００７０】
ステップＳ４０５において、算出された自信度が所定の閾値よりも大きいと判定された場合には、ステップＳ４０３において修正された画像が、そのままステップＳ４０９において出力される。
【００７１】
ステップＳ４０５において、算出された自信度が所定の閾値以下であると判定された場合には、画像処理装置は通知音を発生させるとともにステップＳ４０３において修正された画像を画像処理装置の表示画面に表示する（Ｓ４０６）。オペレータからの修正を指示する入力が検出された場合（Ｓ４０７）には、その指示にしたがって画像を修正した後（Ｓ４０８）、修正画像を出力する（Ｓ４０９）。
【００７２】
一方、オペレータからの入力がない場合には、ステップＳ４０３において修正された画像を、修正前の画像、およびステップＳ４０２において得られた検出結果とともに、確認待ちリストに登録する（Ｓ４１０）。以上の処理が完了したら、ステップＳ４０１に戻り次の画像を取得して同様の処理を繰り返す。
【００７３】
図１５は、確認待ちリストに登録された画像に対する確認処理の概要を示すフローチャートである。図に示すように、画像処理装置は、最初に確認待ちリストを画面に表示する（Ｓ５０１）。オペレータがリストの中から一の画像を選択すると、その選択を受け付け（Ｓ５０２）、選択された画像を表示画面に表示する（Ｓ５０３）。オペレータからの修正を指示する入力が検出された場合（Ｓ５０４）には、その指示にしたがって画像を修正した後（Ｓ５０５）、修正画像を出力する（Ｓ５０６）。オペレータからの指示入力がない場合には、図１４のステップＳ４０３において得られ、ステップＳ４１０において保存された修正画像をそのまま出力する。
【００７４】
以上の説明から明らかであるように、上記処理では、赤目検出・修正処理の自信度が高い場合には、オペレータが介入することなく修正画像が自動的に出力される。一方、自信度が低い場合には、オペレータの介入を促す通知音が発生し、オペレータからの修正を受け付ける。また、オペレータが直ぐに修正作業を行えない場合に備え、後で修正作業を行えるように一旦確認待ちリストに登録しておいて、後で確認を行う機能も提供している。
【００７５】
したがって、オペレータはすべての画像を１つ１つ確認しながら介入が必要か否かを判断する必要はなく、通知があったときのみ画像に注意を向ければよい。さらには、リストに登録しておき、後にまとめて処理することもできるため、自分の都合に合わせて作業を進めることができる。これによりオペレータの負担は大幅に軽減される。
【００７６】
次に、ステップＳ４０４の自信度算出処理について説明する。本実施形態では、自信度は、上記赤目検出処理の過程で算出される識別ポイントを利用して算出される。赤目検出処理では、前述のように、識別ポイントが閾値ｉ以上であれば赤目、閾値ｉを下回っていれば非赤目と判定しているが、この方法では、識別ポイントと閾値との差が小さいときよりも識別ポイントと閾値の差が大きいときのほうが判定結果の信頼性は高いと考えられる。そこで、自信度を、その差が大きいときに高く、差が小さいときに低くなるように予め定義しておけば、検出処理後に、その検出の信頼性を表す指標となる自信度を求めることができる。
【００７７】
続いて、ステップＳ４０５の判定処理について説明する。ステップＳ４０５では前述のように、算出された自信度が所定の閾値よりも大きいか否かの判定がなされる。閾値は常時一定の値としてもよいが、誤検出・誤修正がもたらす影響は画像の用途によっても変わるため、本実施形態では、用途に応じて、それぞれ最適な閾値を設定した上で判定を行っている。
【００７８】
例えば、赤目補正後の画像をプリント出力する場合、プリントサイズが大きくなるほど、誤検出や誤修正は目立ちやすい。そこで、本実施形態では、閾値を、プリントサイズが大きいほど高くなるように設定している。
【００７９】
また、プリントサイズが大きくなくても、人物の顔がアップで写された写真など、画像の中で赤目の占める割合が大きい画像でも、同様に誤検出や誤修正が目立ちやすいので、閾値を高く設定している。
【００８０】
さらに、フィルムに記録された画像をデジタル化してメディアなどに保管するサービスの場合、その画像は将来あらゆる用途に利用される可能性がある。そこで、このようなサービスでは、その画像がどのような用途に利用されても誤検出や誤修正の影響が気にならないように、閾値を高めに設定して判定を行う。
【００８１】
ステップＳ４０６の処理は、本実施形態では通知音を発生し、修正画像を画面上に表示する処理としているが、オペレータの注意を喚起することができる処理であれば、他の処理であってもよい。例えば、音に代えて、画面全体を点滅させることにより注意を喚起する方法なども考えられる。また、自信度に応じて段階的に通知のしかたを代えてもよい。例えば音量を自信度に応じて変化させたり、画面を表示して修正指示入力を待つ時間を自信度に応じて変化させてもよい。
【００８２】
次にステップＳ４０７およびＳ４０８の処理について説明する。ユーザから入力される修正指示としては、例えば次のような指示が考えられる。１つは、誤検出の除去の指示である。本実施形態では、赤目以外の例えば電飾などが赤目として検出され、目の色に修正されてしまっている場合に、ユーザが修正を要求できるように、画面上の所望の領域を指定する手段と修正のキャンセル指示を入力するためのメニュー、ボタンなどを画面に表示する。さらには、誤って修正された箇所をユーザが直接修正できる機能も提供する。
【００８３】
一方、検出から漏れた赤目を画面上で直接指定して修正を指示したり、検出から漏れた赤目を含む領域を指定して、その限られた領域で赤目の再検出処理を実行させ、自動修正を行う機能も提供する。あるいは、特に領域は指定させず、赤目の自動検出、自動補正処理を再実行させてもよい。再実行の際に、識別ポイントの閾値を低めに設定して検出処理を行えば、赤目の検出数が増加し、未検出を減らすことができる。
【００８４】
なお、ステップＳ４０９において修正済画像を出力する際には、ステップＳ４０１で取得した画像を直接書き換えた画像を出力してもよいし、もとの画像と修正済画像との差分情報を出力してもよい。後者の場合には、その結果を利用する装置（プリンタなど）において、もとの画像と差分情報を合成して、修正画像を形成する。
【００８５】
（第３実施形態）
次に、赤目を補正するシステムのさらに他の構成例として、本発明の第３実施形態に相当する第１の画像処理装置と、第１の画像処理装置と異なる第２の画像処理装置の、２台の画像処理装置からなるシステムを示す。第１の画像処理装置は、赤目検出機能と、赤目修正作業支援機能とを備える。また第２の画像処理装置は、赤目修正機能を備える。
【００８６】
図１６に、第１の画像処理装置が実行する赤目検出処理の概要を示す。フローチャートに示すように、画像処理装置は、赤目検出処理の対象となる画像を取得する（Ｓ６０１）。画像は、ハードディスクや各種メディアに記憶されているデータを読み出すことにより取得する。続いて、取得した画像に対し赤目検出の処理が自動的に施される（Ｓ６０２）。
【００８７】
続いて、赤目検出の自信度を算出する（Ｓ６０３）。ステップＳ６０４において、算出された自信度が所定の閾値よりも大きいと判定された場合には、ステップＳ６０２において検出された結果が、ステップＳ６０８において、そのまま出力される。
【００８８】
ステップＳ６０４において、算出された自信度が所定の閾値以下であると判定された場合には、画像処理装置は通知音を発生させるとともにステップＳ６０２において検出された赤目の位置や大きさなど、赤目検出結果を表示画面に表示する（Ｓ６０５）。オペレータからの修正を指示する入力が検出された場合（Ｓ６０６）には、その指示にしたがって検出結果を修正した後（Ｓ６０７）、検出結果を出力する（Ｓ６０８）。
【００８９】
一方、オペレータからの入力がない場合には、ステップＳ６０２において赤目検出の対象となった画像を、その赤目検出結果とともに、確認待ちリストに登録する（Ｓ６０９）。以上の処理が完了したら、ステップＳ６０１に戻り、次の画像を取得して同様の処理を繰り返す。
【００９０】
図１７は、確認待ちリストに登録された画像に対する確認処理の概要を示すフローチャートである。図に示すように、画像処理装置は、最初に確認待ちリストを画面に表示する（Ｓ７０１）。オペレータがリストの中から一の画像を選択すると、その選択を受け付け（Ｓ７０２）、選択された画像に対する赤目検出の結果を表示画面に表示する（Ｓ７０３）。オペレータからの修正を指示する入力が検出された場合（Ｓ７０４）には、その指示にしたがって画像を修正した後（Ｓ７０５）、修正済みの検出結果を出力する（Ｓ７０６）。オペレータからの指示入力がない場合には、図１６のステップＳ７０２において得られた検出結果をそのまま出力する。
【００９１】
図１８は、第２の画像処理装置が実行する赤目修正処理の概要を示すフローチャートである。図に示すように第２の画像処理装置は、第１の画像処理装置が出力した画像および赤目検出結果を取得する（Ｓ８０１）。そして、検出された赤目を修正して（Ｓ８０２）、修正画像を出力する（Ｓ８０３）。
【００９２】
なお、赤目検出や赤目修正の方法および自信度の算出方法については、第２実施形態と同じであるため説明を省略する。
【００９３】
第２実施形態は、ユーザが自動修正された後の画像を確認して修正の指示を入力する形態であったが、第３実施形態は画像を修正する前の検出結果のみの段階で、自信度が低い場合にはユーザに確認を促す。画像の修正処理を実行する前に、オペレータに誤認識などを訂正させるので、第２実施形態よりも装置にかかる負担は少なくなる。
【００９４】
（第４実施形態）
次に、本発明の第４実施形態として、赤目修正作業支援機能が組み込まれたデジタルカメラを示す。図１９は、デジタルカメラが実行する赤目検出処理および赤目修正処理の概要を示す図である。
【００９５】
図１９のフローチャートに示すように、デジタルカメラは、赤目検出、補正処理の対象となる画像を撮影もしくはメモリから読み出すことにより取得する（Ｓ９０１）。続いて、取得した画像に対し赤目検出（Ｓ９０２）および赤目修正（Ｓ９０３）の処理を施す。
【００９６】
続いて、赤目検出、修正処理の自信度を算出する（Ｓ９０４）。ステップＳ９０５において、算出された自信度が所定の閾値よりも大きいと判定した場合には、修正画像をデジタルカメラが備える液晶モニタに出力する（Ｓ９０６）。
【００９７】
ステップＳ９０５において、算出された自信度が所定の閾値以下であると判定した場合には、デジタルカメラは通知音を発生させるとともにステップＳ９０３において修正された画像を液晶モニタに表示する。この際、デジタルカメラはモニタのサイズが小さく確認が難しいため、修正画像を表示するときは修正箇所に枠をつけて強調表示したり、修正箇所を拡大表示するなどして確認が容易になるようにする（Ｓ９０７）。
【００９８】
オペレータからの修正を指示する入力を検出した場合（Ｓ９０８）には、その指示にしたがって画像を修正した後（Ｓ９０９）、修正画像を出力する（Ｓ９１０）。
【００９９】
一方、オペレータからの入力がない場合には、ステップＳ９０３において修正された画像を、そのまま修正画像として保存する（Ｓ９１０）。以上の処理が完了したら、ステップＳ９０１に戻り次の画像を取得して同様の処理を繰り返す。
【０１００】
なお、赤目検出や赤目修正の方法および自信度の算出方法については、第２実施形態と同じであるため説明を省略する。
【０１０１】
デジタルカメラの場合には、特に液晶モニタが小さい場合、修正操作が必要な画像か否かを判断することは困難である。このため、本実施形態の装置のように、検出処理の自信度に基づいて自動的に修正を要する画像と修正を必要としない画像とを振り分けることができれば、ユーザの負担は軽減される。
【０１０２】
（他の実施形態）
以上、本発明の好ましい実施形態として、画像処理装置やデジタルカメラを例示したが、本発明の機能は、主としてソフトウエアプログラムにより実現されるので、ハードウエアの外観や大きさは特に限定されない。プログラムや画像データを記憶し得る記憶手段と、記憶されたプログラムを実行し得る演算手段を備えるすべての装置は、本発明のプログラムを組み込むことにより本発明の赤目検出装置となり得る。
【０１０３】
例えば、ＣＰＵ、メモリ、ハードディスク、その他各種入出力インタフェースを備えた汎用コンピュータに、赤目検出プログラムをインストールすれば、その汎用コンピュータは赤目検出装置として機能する。
【０１０４】
また、デジタル写真プリンタのような専用機の場合も、赤目検出プログラムを組み込んで実行させることが可能であれば、その装置に赤目検出機能を追加することができる。この際、汎用コンピュータやデジタル写真プリンタが、ＣＰＵやメモリを複数備えたコンピュータである場合には、ＣＰＵやメモリを、処理部ごとに１つ割り当ててもよい。
【０１０５】
また、本発明の装置は、メモリ・ロジック混載型の半導体デバイスでもよい。この場合、そのデバイスを搭載した装置もまた本発明の赤目検出装置として機能することとなる。
【０１０６】
このように、赤目検出装置の外観やハードウエアの具体的な構成は種々考えられ、特に限定されない。
【０１０７】
なお、赤目の発生しやすさや目の色は、撮影時の照明環境のほか、目の構造にも依存する。例えば、夜行性動物の目は、網膜の裏に光を反射させる層(タペータム)があるため、人間の目よりも光りやすい。タペータムでの反射が原因の場合、目の色は赤以外の色、例えば黄緑色に写ることが多い。本発明は、このように、目が光る要因が異なる場合でも、また光った目の色が赤色以外の場合でも、適用可能である。
【図面の簡単な説明】
【０１０８】
【図１】第１実施形態における赤目補正システムの概略構成を示す図
【図２】第１実施形態における赤目候補検出処理の概要を表すフローチャート
【図３】解像度別画像について説明するための図
【図４】判定対象範囲設定処理と識別判定処理の概要を示す図
【図５】赤目候補検出器の学習に用いられるサンプルの例を示す図
【図６】識別判定処理の具体的な処理ステップを示すフローチャート
【図７】候補整理処理について説明するための図
【図８】第１実施形態における赤目確定処理部の処理を示すフローチャート
【図９】トリミング処理について説明するための図
【図１０】目の識別判定処理のトリミング領域の一例を示す図
【図１１】目検出器の学習に用いられるサンプルの例を示す図
【図１２】目の識別判定処理のトリミング領域の他の例を示す図
【図１３】赤目修正装置の処理の概要を表す図
【図１４】第２実施形態における赤目検出・修正処理の一例を示すフローチャート
【図１５】リスト登録された画像の確認処理の概要を示すフローチャート
【図１６】第３実施形態における赤目検出処理の概要を示すフローチャート
【図１７】リスト登録された検出結果の確認処理の概要を示すフローチャート
【図１８】第３実施形態における赤目修正処理の概要を示すフローチャート
【図１９】第４実施形態における赤目検出・修正処理の概要を示すフローチャート
【符号の説明】
【０１０９】
７，８，９  解像度別画像  
１０，１９  判定対象範囲
１２  瞳孔
１３  赤目領域
１４ａ、１４ｂ  赤目候補領域
１５，２０  画像
１６ａ，１６ｂ，１６ｃ        赤目候補領域
１７，１８  トリミング領域
【図１】
2005316958.tif 000003
【図２】
2005316958.tif 000004
【図３】
2005316958.tif 000005
【図４】
2005316958.tif 000006
【図６】
2005316958.tif 000007
【図７】
2005316958.tif 000008
【図８】
2005316958.tif 000009
【図９】
2005316958.tif 000010
【図１０】
2005316958.tif 000011
【図１１】
2005316958.tif 000012
【図１２】
2005316958.tif 000013
【図１３】
2005316958.tif 000014
【図１４】
2005316958.tif 000015
【図１５】
2005316958.tif 000016
【図１６】
2005316958.tif 000017
【図１７】
2005316958.tif 000018
【図１８】
2005316958.tif 000019
【図１９】
2005316958.tif 000020
【図５】
2005316958.tif 000021