(57)【要約】【課題】画像から瞳を検出する場合の検出精度を向上させる。【解決手段】画像を入力する画像入力部１００と、画像入力部により入力された画像から目領域を検出する目領域検出部１０１と、目領域検出部で検出された目領域における画像の輝度分布に基づいて、瞳領域を抽出する瞳領域抽出部１０２とを具備する。【選択図】      図１
2007206963.tif 000002
【特許請求の範囲】
【請求項１】
画像を入力する画像入力手段と、
前記画像入力手段により入力された画像から目領域を検出する目領域検出手段と、
前記目領域検出手段で検出された目領域における画像の輝度分布に基づいて、瞳領域を抽出する瞳領域抽出手段と、
を具備することを特徴とする画像処理装置。
【請求項２】
前記瞳領域抽出手段は、前記目領域における画像の射影成分分布に基づいて瞳領域を抽出することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記瞳領域抽出手段は、前記目領域における画像の射影成分分布に基づいて、瞳の左右端候補を選出することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記瞳の左右端候補は、前記目領域における画像の上下方向輝度和の左右方向の差分分布に基づいて選出されることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記瞳領域抽出手段は、前記瞳の左右端候補から、瞳の左端及び右端を一対とした瞳の左右端の候補対を選出し、選出された候補対に基づいて瞳領域を抽出することを特徴とする請求項３に記載の画像処理装置。
【請求項６】
前記瞳領域抽出手段は、前記瞳の左右端の候補対を、前記目領域における画像の上下方向輝度和の左右方向分布の極大値および極小値の位置と、前記瞳の左右端候補の位置とに基づいて選出することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記瞳領域抽出手段は、前記瞳の左右端の候補対を、前記目領域における画像の輝度分布を前記目領域の左側からスキャン、又は右側からスキャン、又は左右双方からスキャンすることによって選出することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記目領域における画像の輝度分布を平滑化した後に、前記スキャンを行なうことを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記瞳領域抽出手段は、前記瞳の左右端の候補対内で輝度閾値を設定し、前記候補対内の最大輝度位置を中心として前記輝度閾値以上の輝度を有する領域の円形度に基づいて瞳領域を抽出することを特徴とする請求項５に記載の画像処理装置。
【請求項１０】
画像を入力する画像入力工程と、
前記画像入力工程において入力された画像から目領域を検出する目領域検出工程と、
前記目領域検出工程で検出された目領域における画像の輝度分布に基づいて、瞳領域を抽出する瞳領域抽出工程と、
を具備することを特徴とする画像処理方法。
【請求項１１】
前記瞳領域抽出工程では、前記目領域における画像の射影成分分布に基づいて瞳領域を抽出することを特徴とする請求項１０に記載の画像処理方法。
【請求項１２】
前記瞳領域抽出工程では、前記目領域における画像の射影成分分布に基づいて、瞳の左右端候補を選出することを特徴とする請求項１０に記載の画像処理方法。
【請求項１３】
前記瞳の左右端候補は、前記目領域における画像の上下方向輝度和の左右方向の差分分布に基づいて選出されることを特徴とする請求項１２に記載の画像処理方法。
【請求項１４】
前記瞳領域抽出工程では、前記瞳の左右端候補から、瞳の左端及び右端を一対とした瞳の左右端の候補対を選出し、選出された候補対に基づいて瞳領域を抽出することを特徴とする請求項１２に記載の画像処理方法。
【請求項１５】
前記瞳領域抽出工程では、前記瞳の左右端の候補対を、前記目領域における画像の上下方向輝度和の左右方向分布の極大値および極小値の位置と、前記瞳の左右端候補の位置とに基づいて選出することを特徴とする請求項１４に記載の画像処理方法。
【請求項１６】
前記瞳領域抽出工程では、前記瞳の左右端の候補対を、前記目領域における画像の輝度分布を前記目領域の左側からスキャン、又は右側からスキャン、又は左右双方からスキャンすることによって選出することを特徴とする請求項１５に記載の画像処理方法。
【請求項１７】
前記目領域における画像の輝度分布を平滑化した後に、前記スキャンを行なうことを特徴とする請求項１６に記載の画像処理方法。
【請求項１８】
前記瞳領域抽出工程では、前記瞳の左右端の候補対内で輝度閾値を設定し、前記候補対内の最大輝度位置を中心として前記輝度閾値以上の輝度を有する領域の円形度に基づいて瞳領域を抽出することを特徴とする請求項１４に記載の画像処理方法。
【請求項１９】
請求項１０乃至１８のいずれか１項に記載の画像処理方法をコンピュータに実行させることを特徴とするプログラム。
【請求項２０】
請求項１９に記載のプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、静止画像や動画像から対象物体、特に、顔や目を検出及び抽出する技術に関するものである。
【背景技術】
【０００２】
従来より、画像認識の分野において、認識対象及び背景を含む画像から、認識対象を検出する技術が考案されている。特に、顔や目を特定の認識対象として検出する技術は、検出後の処理も含めて、デジタルカメラなどの民生品からセキュリティなどの公共システムに至る様々な分野で非常に有用な技術である。さらに、目の中の瞳を検出する技術は、目を検出する精度を上げるための補助として利用されたり、視線方向を検出するのに利用されたりしている。
【０００３】
これらの瞳を検出する技術としては、例えば、特開平０８−３２７８８７号公報（特許文献１）に開示されている視線検出装置が知られている。この装置では、目近傍の画像から黒目を横切る水平方向輝度レベル分布を平滑化し、それを微分して絶対値をとった値を求め、閾値を設定して閾値と一致する場所の中間点を瞳の水平方向中心位置としている。
【特許文献１】特開平０８−３２７８８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、このような従来の瞳を検出する技術においては、画像の解像度が低い場合や、高感度で撮影された画像である場合には、輝度レベル分布に本来の被写体にはないノイズ等が載ることがあるため、瞳を誤検出する可能性があるという問題点があった。
【０００５】
従って、本発明は上述した課題に鑑みてなされたものであり、その目的は、画像から瞳を検出する場合の検出精度を向上させることである。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明に係わる画像処理装置は、画像を入力する画像入力手段と、前記画像入力手段により入力された画像から目領域を検出する目領域検出手段と、前記目領域検出手段で検出された目領域における画像の輝度分布に基づいて、瞳領域を抽出する瞳領域抽出手段と、を具備することを特徴とする。
【０００７】
また、本発明に係わる画像処理方法は、画像を入力する画像入力工程と、前記画像入力工程において入力された画像から目領域を検出する目領域検出工程と、前記目領域検出工程で検出された目領域における画像の輝度分布に基づいて、瞳領域を抽出する瞳領域抽出工程と、を具備することを特徴とする。
【０００８】
また、本発明に係わるプログラムは、上記の画像処理方法をコンピュータに実行させることを特徴とする。
【０００９】
また、本発明に係わる記憶媒体は、上記のプログラムを記憶したことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、画像から瞳を検出する場合の検出精度を向上させることが可能となる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の好適な実施形態について、添付図面を参照して詳細に説明する。
【００１２】
（第１の実施形態）
図１は、本発明の第１の実施形態に係わる画像処理装置の構成を示す図である。
【００１３】
図１において、１００は、レンズ及びＣＣＤやＣＭＯＳセンサ等の撮像素子を含む撮像部、あるいはスキャナ、あるいは画像ファイルを読み込む入力部等の画像入力部である。１０１は、入力された画像から目領域を抽出する目領域検出部である。１０２は、目領域検出部１０１で検出された目領域から瞳領域を抽出する瞳領域抽出部である。１０３は、瞳領域抽出部１０２で瞳領域候補として選出された結果を保持するメモリである。１０４は、画像入力部１００で入力された画像や、目領域検出部１０１で検出された目領域の検出結果や、瞳領域抽出部１０２で抽出された瞳領域の抽出結果を保持するメモリである。１０５は、全体を制御するシステム制御部であり、目領域検出動作の指示や瞳領域抽出動作の指示などを司る。１０６は、画像入力部１００で入力された画像や、目領域検出部１０１で検出された目領域の検出結果や、瞳領域抽出部１０２で抽出された瞳領域の抽出結果を表示する表示部である。１０７は、画像入力部１００で入力された画像や、目領域検出部１０１で検出された目領域の検出結果や、瞳領域抽出部１０２で抽出された瞳領域の抽出結果を記録する記録部である。
【００１４】
図２から図１８を参照して、第１の実施形態の瞳抽出動作について説明する。
【００１５】
図２は、瞳抽出動作の主ルーチンを示すフローチャートである。
【００１６】
システム制御部１０５は、画像入力部１００により被写体を撮影したり、画像を読み込んだりして、画像を取り込み（ステップＳ２０１）、目領域検出部１０１で目領域を検出する（ステップＳ２０２）。目領域検出部１０１では、図示しない顔領域検出部などで顔領域検出後にその結果を使用して目領域検出を行ったり、入力画像から直接、目領域検出を行ったりする。ただし、目領域が検出される方法であれば他の方法でもよい。目領域を検出すると、瞳領域抽出部１０２で瞳領域を抽出する（ステップＳ２０３）。瞳領域抽出部１０２で瞳領域が抽出されると（ステップＳ２０３）、表示部１０６に表示を行ったり（ステップＳ２０４）、記録部１０７に記録を行ったりする（ステップＳ２０４）。
【００１７】
図３は、図２のステップＳ２０３における瞳領域抽出処理ルーチンを示すフローチャートである。
【００１８】
図３を用いて、瞳領域抽出処理の概要について説明する。
【００１９】
システム制御部１０５は、目領域検出部１０１で検出された目領域画像を瞳領域抽出部１０２に入力すると、瞳領域抽出部１０２では、まず瞳の左端、右端と想定される位置を結ぶ水平線と概ね直交する上下方向ラインを選出する（ステップＳ３０１）。次に、これら選出された瞳左端右端候補群の中から瞳の左端と右端を一対にした候補を選出する（ステップＳ３０２）。最後に、瞳の複数の左右端候補対があれば、その中から瞳の左端、右端を選出し（ステップＳ３０３）、その間に挟まれた領域を瞳領域として抽出する（ステップＳ３０４）。
【００２０】
以下に、それぞれの選出方法の詳細について説明する。
【００２１】
図４は、図３のステップＳ３０１における瞳左端右端候補群選出処理ルーチンを示すフローチャートである。
【００２２】
システム制御部１０５は、瞳領域抽出部１０２において、目領域検出部１０１で検出された目領域内の画素の輝度を縦方向の１ライン毎に上下方向に足し合わせた値を計算する（ステップＳ４０１）。そして、計算された輝度和の水平方向（左右方向）分布のグラフを作成する（ステップＳ４０２）。求めた水平方向の輝度和に対してその分布を平滑化するものとしないものを準備する（ステップＳ４０３）。これは、入力された画像が粗い場合などには、分布を平滑化することによって、画像に載っているノイズ分を減少させることができるためである。
【００２３】
次に、１つの縦ラインの輝度和とその隣の縦ラインの輝度和との差を計算し（ステップＳ４０４）、その差が増加しているすべての差分値の平均値、及びその差が減少しているすべての差分値の平均値をそれぞれ計算する（ステップＳ４０５）。そこで、隣の縦ラインの輝度和との差が減少しており、且つ減少している差分値の平均値以上に変化している縦ラインを瞳左端候補ラインとする。また、隣の縦ラインの輝度和との差が増加しており、且つ増加している差分値の平均値以上に変化している縦ラインを瞳右端候補ラインとする。そして、それらを瞳左端右端候補群として選出する（ステップＳ４０６）。つまり、隣の縦ラインの輝度和との差が大きく減少しているところは、白っぽい領域から黒っぽい領域に、隣の縦ラインの輝度和との差が大きく増加しているところは、黒っぽい領域から白っぽい領域に、変化していると考えられる。そのため、上記のようにして瞳左端右端候補群を選出することができる。
【００２４】
図５は、瞳左端右端候補群を選出する方法を表す模式図である。
【００２５】
この例では、輝度和分布の中で、隣の縦ラインとの差が減少している差分値の平均値以上の縦ラインが２本あり、増加している差分値の平均値以上の縦ラインが１本選出されている。また、減少している差分値の平均値以上に減少するラインが連続していたり、増加している差分値の平均値以上に増加するラインが連続していたりする場合は、それぞれ、瞳の左端の一連の領域、瞳の右端の一連の領域であると考えられる。そのため、連続して減少または増加している縦ラインの中からそれぞれ一つを瞳左端候補、瞳右端候補として選出するようにしてもよい。このように、それぞれ白から黒、黒から白に大きく変化する縦ラインを瞳の左端、右端に相当する候補として選出すれば、正しい瞳左端候補、瞳右端候補を抽出できる可能性が高いと考えられる。
【００２６】
図６は、図３のステップＳ３０２における瞳左右端候補対選出処理ルーチンを示すフローチャートである。
【００２７】
システム制御部１０５は、瞳領域抽出部１０２において、縦ライン輝度和分布を平滑化するものとしないものを準備する（ステップＳ６０１）。ただし、図３の瞳左端右端候補群選出処理ステップＳ３０１において、縦ライン輝度和分布を平滑化している場合には、ステップＳ６０１では平滑化は行わない。つまり、瞳左端右端候補群選出処理ステップＳ３０１において平滑化したものと、瞳左右端候補対選出処理ステップＳ３０２において平滑化したものと、平滑化を行わないものの３種類の輝度和分布データがその後の処理に使用されることになる。
【００２８】
次に、輝度和分布の極大値、極小値を計算する（ステップＳ６０２）。計算した極小値の数が、１つの場合には（ステップＳ６０３）、瞳左端候補群の中で、極小値よりも目尻側にスキャンして最初に存在する瞳左端候補を瞳左右端候補対の左端側とする（ステップＳ６０４）。さらに、瞳右端候補群の中で、極小値よりも目頭側にスキャンして最初に存在する瞳右端候補を瞳左右端候補対の右端側とする（ステップＳ６０５）。これは、極小値の数が１つの場合は、黒い領域が瞳領域のみで、その極小値を挟んで左方向に瞳左端、右方向に瞳右端があると考えられるためである。
【００２９】
計算した極小値の数が、２つの場合には（ステップＳ６０３）、瞳左端候補群の中で、目尻側からスキャンして最初の極小値よりも目尻側の方向に最初に存在する瞳左端候補を、瞳左右端候補対の左端側とする（ステップＳ６０６）。さらに、瞳右端候補群の中で、目尻側からスキャンして最初の極小値の次にある極小値よりも目頭側の方向に最初に存在する瞳右端候補を、瞳左右端候補対の右端側とする（ステップＳ６０７）。これは、極小値の数が２つの場合は、瞳の中心付近にキャッチライトと呼ばれる光源が写り込んだ高輝度な小領域が存在し、極小値がキャッチライトを挟んだ２つの瞳領域を表していると考えられるからである。そして、キャッチライトの左側の極小値の左方向に瞳左端、キャッチライトの右側の極小値の右方向に瞳右端があると考えられるためである。
【００３０】
計算した極小値の数が、１つ、２つ以外の場合には（ステップＳ６０３）、瞳左端候補群の中で、目尻側からスキャンして最初の極大値の次にある極小値よりも目尻側の方向に最初に存在する瞳左端候補を瞳左右端候補対の左端側とする（ステップＳ６０８）。さらに、瞳右端候補群の中で、目尻側からスキャンして最初の極大値の次にある極小値のさらにその次にある極小値よりも目頭側の方向に最初に存在する瞳右端候補を、瞳左右端候補対の右端側とする（ステップＳ６０９）。また、瞳左端候補群の中で、目頭側からスキャンして最初の極大値の次にある極小値のさらにその次にある極小値よりも目尻側の方向に最初に存在する瞳左端候補を、瞳左右端候補対の左端側とする（ステップＳ６１０）。さらに、瞳右端候補群の中で、目頭側からスキャンして最初の極大値の次にある極小値よりも目頭側の方向に最初に存在する瞳右端候補を、瞳左右端候補対の右端側とする（ステップＳ６１１）。
【００３１】
即ち、極小値の数が１つ、２つ以外の場合は、瞳領域以外にも黒い領域が存在し、スキャン方向によって、瞳左右端候補対が異なる可能性があるため、目尻側からと目頭側からのスキャンを行い、それぞれ瞳左右端候補対を選出する。
【００３２】
以上のように、輝度和分布の極小値の数に応じて瞳左右端候補対の選出方法を変えて、正しい瞳左右端対を外すことのないようにする。
【００３３】
図７乃至図１４は、図３のステップＳ３０２における瞳左右端候補対を選出する方法を表す模式図である。
【００３４】
図７の例は、輝度和分布の極小値が１つの場合を示している。この例では、極小値７０１は瞳の中心付近の縦ライン部分で、そこから左方向に最初に存在する瞳左端候補７０２が瞳左右端候補対の左端に選出される。また、極小値７０１の右方向に最初に存在する瞳右端候補７０３が瞳左右端候補対の右端に選出される。
【００３５】
図８の例は、輝度和分布の極小値が２つの場合を示している。この例では、極小値８０１、極小値８０２は瞳の中心付近のキャッチライト部を挟んだ瞳領域の縦ライン部分で、極小値８０１から左方向に最初に存在する瞳左端候補８０３が瞳左右端候補対の左端に選出される。また、極小値８０２から右方向に最初に存在する瞳右端候補８０４が瞳左右端候補対の右端に選出される。
【００３６】
図７、図８のいずれの場合も、目尻側からスキャンした結果と目頭側からスキャンした結果が同じになるため、目尻側からのスキャンのみを行えばよいことになる。
【００３７】
図９、図１０の例は、輝度和分布の極小値が１つ、２つ以外の場合を示している。極小値は瞳の中心付近のキャッチライト部を挟んだ瞳領域の縦ライン部分と、瞳領域外の部分や、ノイズ部分などに存在する。
【００３８】
図９は、目尻側からスキャンした結果を示している。目尻側からスキャンすると、最初に存在する極大値９０１が瞳の左側にある白目領域付近の縦ライン部分で、その次に存在する極小値９０２がキャッチライトより目尻側の瞳領域の縦ライン部分となる。また、その次に存在する極大値がキャッチライト部の縦ライン部分で、その次に存在する極小値９０３がキャッチライトより目頭側の瞳領域の縦ライン部分となる。最初に存在する極大値９０１の次に存在する極小値９０２から左方向に最初に存在する瞳左端候補９０４が瞳左右端候補対の左端に選出され、その次に存在する極小値９０３から右方向に最初に存在する瞳右端候補９０５が瞳左右端候補対の右端に選出される。
【００３９】
図１０は、目頭側からスキャンした結果を示している。目頭側からスキャンすると、最初に存在する極大値１００１が瞳の右側の白目領域付近に存在するノイズ端付近の縦ライン部分で、その次に存在する極小値１００２がノイズ付近の縦ライン部分となる。その次の極大値が瞳の右側の白目領域付近に存在するノイズ端の左側付近の縦ライン部分で、その次に存在する極小値１００３が、キャッチライトより目頭側の瞳領域の縦ライン部分となる。最初に存在する極大値１００１の次に存在する極小値１００２から右方向に最初に存在する瞳右端候補１００４はノイズ右端になり、その次に存在する極小値１００３から左方向に最初に存在する瞳左端候補１００５はキャッチライト右端になる。即ち、選出された瞳左右端候補対としては間違ったところを示していることになる。
【００４０】
図９、図１０で示したように、目領域にノイズがある場合にも、目尻側からのスキャン、目頭側からのスキャンを行うことにより、正しい瞳左右端が選出される可能性が高くなる。
【００４１】
図１１、図１２の例は、輝度和分布の極小値が１つ、２つ以外の場合で、且つ瞳が目の中で左側に寄っている場合を示している。極小値は瞳の中心付近のキャッチライト部を挟んだ瞳領域の縦ライン部分と、ノイズ部分などに存在する。
【００４２】
図１１は、目尻側からスキャンした結果を示している。目尻側からスキャンすると、最初に存在する極大値１１０１がキャッチライト部の縦ライン部分で、その次に存在する極小値１１０２がキャッチライトより目頭側の瞳領域の縦ライン部分となる。その次の極大値が瞳の右側にある白目領域付近の縦ライン部分で、その次に存在する極小値１１０３が瞳の右側の白目領域付近に存在するノイズ付近の縦ライン部分となる。最初に存在する極大値１１０１の次に存在する極小値１１０２から左方向に最初に存在する瞳左端候補１１０４は、キャッチライト右端になり、その次に存在する極小値１１０３から右方向に最初に存在する瞳右端候補はないため選出されない。
【００４３】
図１２は、目頭側からスキャンした結果を示している。目頭側からスキャンすると、最初に存在する極大値１２０１が瞳の右側にある白目領域付近の縦ライン部分で、その次に存在する極小値１２０２がキャッチライトより目頭側の瞳領域の縦ライン部分となる。その次の極大値がキャッチライト部の縦ライン部分で、その次に存在する極小値１２０３がキャッチライトより目尻側の瞳領域の縦ライン部分となる。最初に存在する極大値１２０１の次に存在する極小値１２０２から右方向に最初に存在する瞳右端候補１２０４が瞳左右端候補対の右端に選出され、その次に存在する極小値から左方向に最初に存在する瞳左端候補１２０５が瞳左右端候補対の左端に選出される。
【００４４】
図１１、図１２で示したように、瞳が目の中で左側に寄っている場合にも、目尻側からのスキャン、目頭側からのスキャンを行うことにより、正しい瞳左右端が選出される可能性が高くなる。また、瞳が目の中で右側に寄っている場合にも、同様にして、正しい瞳左右端が選出される可能性が高くなる。さらに、図１１、図１２において、目領域にノイズがない場合にも、極小値が２つの場合（図８）の例と同様の選出方法で、瞳左右端候補対を選出することができる。
【００４５】
図１３、図１４の例は、目領域にノイズがある場合（図９、図１０）に対して、輝度和分布の平滑化を行った場合を示している。図を見ても明らかなように、ノイズ部分の輝度和分布が滑らかになり、極小値が２つの場合（図８）の例と同様の選出方法で、瞳左右端候補対を選出することができる。
【００４６】
図４のステップＳ４０３で輝度和分布の平滑化を行った場合には、その後の処理ステップも平滑化された輝度和分布に対して行われる。つまり、瞳左端右端候補群を選出するステップでは、平滑化された輝度和分布が計算に使用される。一方、図６のステップＳ６０１で輝度和分布の平滑化を行った場合には、それ以前のステップである瞳左端右端候補群を選出するステップでは、平滑化されていない輝度和分布が計算に使用される。また、瞳左右端候補対を選出するための輝度和分布の極大値、極小値を計算するステップでは、平滑化された輝度和分布が使用される。このように輝度和分布の平滑化を、瞳左端右端候補群を選出するステップの前で行うか、または瞳左端右端候補群を選出するステップと瞳左右端候補対を選出するステップとの間で行うかを選択することができる。これにより、ノイズ等に影響されずに正しい瞳左右端候補対を選出できる可能性を高くすることができる。また、輝度和分布の平滑化を行わない場合も含めて、複数の瞳左右端候補対を選出することができ、正しい瞳左右端候補対を選出する可能性をより高くすることができる。
【００４７】
図１５は、図３のステップＳ３０３における瞳左右端選出処理ルーチンを示すフローチャートである。
【００４８】
システム制御部１０５は、瞳領域抽出部１０２において、瞳左右端候補対で挟まれた領域内で輝度分布を測定し、黒と白に二値化する輝度閾値を設定する（ステップＳ１５０１）。閾値の決定方法としては、輝度分布の平均値や「大津の方法」によるクラス間分散クラス内分散比を最大にする値などが挙げられるが、閾値を決定できる方法であれば他の方法でもよい。
【００４９】
次に、瞳左右端候補対で挟まれた領域内で最大輝度の画素を選出する（ステップＳ１５０２）。正しい瞳左右端候補対であれば、中心付近にキャッチライトに相当する部分があると考えられるため、最大輝度の画素を選出する領域を瞳左右端候補対で挟まれた領域のさらに中心付近に限定してもよい。そして、最大輝度の画素が含まれる輝度閾値以上の領域の円形度を計算する（ステップＳ１５０３）。最後に、各条件で選出された瞳左右端候補対で挟まれた領域について、最大輝度の画素が含まれる輝度閾値以上の領域の円形度を比較して、円形度が最大になるものを瞳左右端とする（ステップＳ１５０４）。例えば、最大輝度の画素が含まれる輝度閾値以上の領域がキャッチライト部分であれば、他の部分が選択された場合に比べて、円形度は大きくなる。以下に、円形度計算処理方法の詳細について説明する。
【００５０】
図１６は、瞳左右端候補対で挟まれた領域の円形度計算処理ルーチンのフローチャートである。
【００５１】
システム制御部１０５は、瞳領域抽出部１０２において、最大輝度の画素から外側に向かって輝度閾値以下の領域に初めて移行する画素までの距離を求める（ステップＳ１６０１）。次に、その距離を回転方向に４５°ずつ一周３６０°求めていく（ステップＳ１６０２）。Ｘ軸に回転方向を、Ｙ軸に求めた距離をとったグラフに回転角度と距離をプロットし（ステップＳ１６０３）、プロットした点の近似直線（ｙ＝ｂで表される直線）を求める（ステップＳ１６０４）。最後に、プロットした点と近似直線との最小二乗誤差を計算する（ステップＳ１６０５）。より円形に近ければ、最大輝度の画素から外側に向かって輝度閾値以下の領域に初めて移行する画素までの距離はより一定になるので、プロットした点と近似直線との最小二乗誤差はより小さくなる。したがって、最小二乗誤差が小さいものほど、円形度が大きいものとする（ステップＳ１６０６）。
【００５２】
図１７、図１８は、瞳左右端を選出する方法を表す模式図である。
【００５３】
図１７の例は、瞳左右端候補対が正しい瞳左右端である場合を示しており、最大輝度の画素がキャッチライト部分内に存在している。この場合、キャッチライト部分が最大輝度の画素が含まれる輝度閾値以上の領域、キャッチライト部分の外側にある瞳部分が輝度閾値以下の領域になる。そのため、最大輝度の画素から外側に向かって輝度閾値以下の領域に初めて移行する画素までの距離は、キャッチライトの縁までの距離となる。つまり、キャッチライト部分が円形に近い形状である可能性が高いため、距離も一定になる可能性が高くなり、回転角度と距離のグラフにプロットした点とその近似直線との最小二乗誤差が小さくなる可能性が高い。この例では、最小二乗誤差は０になる。
【００５４】
図１８の例は、瞳左右端候補対が、瞳右側のノイズの影響で、瞳右側の白目部分になっている場合を示しており、最大輝度の画素が白目部分内に存在している。円形度を図１７の例と同様に計算すると、最大輝度の画素から外側に向かって輝度閾値以下の領域に初めて移行する画素までの距離がまちまちになり、回転角度と距離のグラフにプロットした点とその近似直線との最小二乗誤差はある程度大きさを持った値になる。
【００５５】
図１７、図１８で示したように、瞳左右端候補対が正しい瞳左右端である場合は、正しくない場合に比べて、最大輝度の画素から外側に向かって輝度閾値以下の領域に初めて移行する画素までの距離が一定になる。そのため、距離を回転方向に見ていった時の回転角度と距離のグラフにプロットした点とその近似直線との最小二乗誤差が小さくなることから、瞳左右端を正しく選出することができる。
【００５６】
（第２の実施形態）
第２の実施形態は、第１の実施形態で示したような、瞳左右端候補対で挟まれた領域内で最大輝度の画素から外側に向かって輝度閾値以下の領域に初めて移行する画素までの距離を計算することは行わない。そのかわりに、最大輝度の画素がある輝度閾値以上の領域とその外側に存在する輝度閾値以下の領域との境界線を追跡して円形度を求める。
【００５７】
図１９は、第２の実施形態の瞳左右端選出処理ルーチンのフローチャートである。
【００５８】
図１から図１４までは、第１の実施形態と同じである。
【００５９】
図１９を用いて、瞳左右端選出処理について詳しく説明する。
【００６０】
システム制御部１０５は、瞳領域抽出部１０２において、瞳左右端候補対に挟まれた領域内で左上から右下に向かってスキャンを行う。そして、最大輝度の画素がある輝度閾値以上の領域に初めて移行する画素を求め（ステップＳ１９０１）、その画素を注目画素とする（ステップＳ１９０２）。次に、注目画素を中心に反時計回りに輝度閾値以上の画素を探索し（ステップＳ１９０３）、注目画素から探索した画素までの距離を求める（ステップＳ１９０４）。この時、探索した画素が注目画素の上下左右隣であれば、距離は１、斜めであれば、距離は√２となる。探索した画素が最初の注目画素と同じ画素になければ（ステップＳ１９０５）、ステップＳ１９０２に戻り、探索した画素を注目画素とし（ステップＳ１９０２）、再度、注目画素を中心に反時計回りに輝度閾値以上の画素を探索する（ステップＳ１９０３）。そして、注目画素から探索した画素までの距離を求める（ステップＳ１９０４）。探索した画素が最初の注目画素と同じ画素になったら（ステップＳ１９０５）、最初の画素から同じ画素に戻るまでの総距離Ｌを求める（ステップＳ１９０６）。そして、最大輝度の画素がある輝度閾値以上の領域の総画素数Ｓを求める（ステップＳ１９０７）。最後に、Ｌ2／４πＳが１に近いものを円形度が大きいものとする（ステップＳ１９０８）。
【００６１】
以上説明したように、上記の第１及び第２の実施形態によれば、目や瞳の特徴や位置関係によって複数の瞳候補を抽出し、最終的に瞳と思われる領域をひとつに絞り込んでいる。そのため、画像の輝度レベル分布に本来の被写体にはないノイズ等が載ることがある場合にも、瞳を正確に検出することが可能となる。
【００６２】
（他の実施形態）
また、各実施形態の目的は、次のような方法によっても達成される。すなわち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行する。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、本発明には次のような場合も含まれる。すなわち、プログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【００６３】
さらに、次のような場合も本発明に含まれる。すなわち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【００６４】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した手順に対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【００６５】
【図１】本発明の第１の実施形態に係わる画像処理装置の構成を示す図である。
【図２】瞳抽出動作の主ルーチンを示すフローチャートである。
【図３】図２のステップＳ２０３における瞳領域抽出処理ルーチンを示すフローチャートである。
【図４】図３のステップＳ３０１における瞳左端右端候補群選出処理ルーチンを示すフローチャートである。
【図５】瞳左端右端候補群を選出する方法を表す模式図である。
【図６】図３のステップＳ３０２における瞳左右端候補対選出処理ルーチンを示すフローチャートである。
【図７】図３のステップＳ３０２における瞳左右端候補対を選出する方法を表す模式図である。
【図８】図３のステップＳ３０２における瞳左右端候補対を選出する方法を表す模式図である。
【図９】図３のステップＳ３０２における瞳左右端候補対を選出する方法を表す模式図である。
【図１０】図３のステップＳ３０２における瞳左右端候補対を選出する方法を表す模式図である。
【図１１】図３のステップＳ３０２における瞳左右端候補対を選出する方法を表す模式図である。
【図１２】図３のステップＳ３０２における瞳左右端候補対を選出する方法を表す模式図である。
【図１３】図３のステップＳ３０２における瞳左右端候補対を選出する方法を表す模式図である。
【図１４】図３のステップＳ３０２における瞳左右端候補対を選出する方法を表す模式図である。
【図１５】図３のステップＳ３０３における瞳左右端選出処理ルーチンを示すフローチャートである。
【図１６】瞳左右端候補対で挟まれた領域の円形度計算処理ルーチンのフローチャートである。
【図１７】瞳左右端を選出する方法を表す模式図である。
【図１８】瞳左右端を選出する方法を表す模式図である。
【図１９】第２の実施形態の瞳左右端選出処理ルーチンのフローチャートである。
【符号の説明】
【００６６】
１００  画像入力部
１０１  顔領域検出部
１０２  中間結果メモリ
１０３  目領域抽出部
１０４  メモリ
１０５  システム制御部
１０６  表示部
１０７  記録部
【図１】
2007206963.tif 000003
【図２】
2007206963.tif 000004
【図３】
2007206963.tif 000005
【図４】
2007206963.tif 000006
【図５】
2007206963.tif 000007
【図６】
2007206963.tif 000008
【図７】
2007206963.tif 000009
【図８】
2007206963.tif 000010
【図９】
2007206963.tif 000011
【図１０】
2007206963.tif 000012
【図１１】
2007206963.tif 000013
【図１２】
2007206963.tif 000014
【図１３】
2007206963.tif 000015
【図１４】
2007206963.tif 000016
【図１５】
2007206963.tif 000017
【図１６】
2007206963.tif 000018
【図１７】
2007206963.tif 000019
【図１８】
2007206963.tif 000020
【図１９】
2007206963.tif 000021