(57)【要約】【課題】顔を撮影した画像からその顔に含まれる赤目領域を適切に抽出することを目的とする。【解決手段】記録メディア３００等の記録媒体や撮像部４００から入力された画像データに含まれる顔を検出するとともにその検出された顔に含まれる目領域を設定する画像処理装置において、その目領域において左右方向の各ラインにおける色差の値を抽出するとともに抽出された色差の値の変化の態様に基づいて左右方向の各ラインにおける赤目領域候補を抽出し、さらに、抽出された赤目領域候補からノイズが除去された後に存在する赤目領域候補に基づいて設定された範囲内を上下方向の各ラインにおける色差の値を抽出するとともに抽出された色差の値の変化の態様に基づいて上下方向の各ラインにおける赤目領域候補を抽出し、左右方向および上下方向の各ラインにおける赤目領域候補に基づいて目領域に含まれる赤目領域を設定する。【選択図】図１
2008129665.tif 000002
【特許請求の範囲】
【請求項１】
画像データを入力する入力手段と、
前記入力手段により入力された画像データに含まれる顔を検出する顔検出手段と、
前記顔検出手段により検出された顔に含まれる目領域を設定する目領域設定手段と、
前記目領域設定手段により設定された目領域において所定方向の各ラインにおける色差の値を抽出する色差抽出手段と、
前記色差抽出手段により抽出された色差の値の変化の態様に基づいて前記所定方向の各ラインにおける赤目領域候補を抽出する赤目領域候補抽出手段と、
前記赤目領域候補抽出手段により抽出された赤目領域候補の中からノイズである赤目領域候補を除去するノイズ除去手段と、
前記ノイズ除去手段によりノイズが除去された後に存在する赤目領域候補に基づいて前記目領域設定手段により設定された目領域に含まれる赤目領域を設定する赤目領域設定手段と
を具備することを特徴とする画像処理装置。
【請求項２】
前記赤目領域候補抽出手段は、前記所定方向の一のラインにおいて前記色差抽出手段により抽出された色差の値が一定の増加をする範囲である増加範囲と当該増加範囲の後に前記抽出された色差の値が一定の減少をする範囲である減少範囲とを含む特徴範囲を検出して当該検出された特徴範囲の中から当該一のラインにおける赤目領域候補を抽出する
ことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記赤目領域候補抽出手段は、前記増加範囲において前記色差抽出手段により抽出された色差の値が前記所定方向における１画素前の色差の値よりも第１閾値以上の値となる最初の点である第１の端点を検出するとともに前記減少範囲において前記色差抽出手段により抽出された色差の値が前記特徴範囲における色差の最大値に基づいて決定される第２閾値よりも小さくなった後に最初に増加する点の前記所定方向における１画素前の点である第２の端点を検出して前記検出された第１の端点と第２の端点との範囲を第２の特徴範囲とし当該第２の特徴範囲の中から前記一のラインにおける赤目領域候補を抽出する
ことを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記赤目領域候補抽出手段は、前記検出された特徴範囲の中から範囲内の色差の最大値が第３閾値以下である特徴範囲または範囲内の色差の最大値と最小値との差の値が第４閾値よりも小さい特徴範囲を除去する
ことを特徴とする請求項２記載の画像処理装置。
【請求項５】
前記赤目領域候補抽出手段は、前記一のラインに複数の特徴範囲が存在する場合において当該複数の特徴範囲のうちの隣り合う２つの特徴範囲における色差の最大値の差の値が第５閾値の範囲内であるとともに当該隣り合う２つの特徴範囲における中央点または範囲内最大値に対応する点の前記所定方向の差の値が第６閾値の範囲内である場合には当該２つの特徴範囲を一の特徴範囲として連結する
ことを特徴とする請求項２記載の画像処理装置。
【請求項６】
前記赤目領域候補抽出手段は、
前記第２の特徴範囲に含まれる増加範囲において前記色差抽出手段により抽出された色差の値が第７閾値以下の値となる点を第１点とし、当該第１点の前記所定方向における１画素前の点を第２点とし、当該第１点の前記所定方向における１画素後の点を第３点とした場合において当該第１点および当該第３点の色差の値の差の値が当該第１点および当該第２点の色差の値の差の値よりも第８閾値を超えて大きい場合における当該第１点のうちで最も中央点側にある点を修正第１の端点とし、
前記第２の特徴範囲に含まれる減少範囲において前記色差抽出手段により抽出された色差の値が第９閾値以下の値となる点を第４点とし、当該第４点の前記所定方向における１画素後の点を第５点とし、当該第４点の前記所定方向における１画素前の点を第６点とした場合において当該第４点および当該第６点の色差の値の差の値が当該第４点および当該第５点の色差の値の差の値よりも第１０閾値を超えて大きい場合における当該第４点のうちで最も中央点側にある点を修正第２の端点とし、
前記修正第１の端点と前記修正第２の端点との範囲を修正第２の特徴範囲とし、当該修正第２の特徴範囲の中から前記一のラインにおける赤目領域候補を抽出する
ことを特徴とする請求項３記載の画像処理装置。
【請求項７】
前記色差抽出手段は、前記目領域設定手段により設定された目領域において前記所定方向の各ラインにおける色差の値とともに輝度の値を抽出し、
前記赤目領域候補抽出手段は、
前記第２の特徴範囲に含まれる増加範囲において前記色差抽出手段により抽出された色差の値が第７閾値以下の値となる点を第７点とし、当該第７点の前記所定方向における１画素前の点を第８点とした場合において当該第８点の輝度の値から当該第７点の輝度の値を引いて求められる差の値が第１５閾値を超えている場合における当該第７点のうちで最も中央点側にある点を修正第１の端点候補とし、当該修正第１の端点候補と前記修正第１の端点とのうちで中央点側にある点を第３の端点とし、
前記第２の特徴範囲に含まれる減少範囲において前記色差抽出手段により抽出された色差の値が第９閾値以下の値となる点を第９点とし、当該第９点の前記所定方向における１画素後の点を第１０点とした場合において当該第１０点の輝度の値から当該第９点の輝度の値を引いて求められる差の値が第１６閾値を超えている場合における当該第９点のうちで最も中央点側にある点を修正第２の端点候補とし当該修正第２の端点候補と前記修正第２の端点とのうちで中央点側にある点を第４の端点とし、
前記第３の端点と前記第４の端点との範囲を修正第２の特徴範囲とし、当該修正第２の特徴範囲の中から前記一のラインにおける赤目領域候補を抽出する
ことを特徴とする請求項６記載の画像処理装置。
【請求項８】
前記色差抽出手段は、前記目領域設定手段により設定された目領域において前記所定方向の各ラインにおける色差の値とともに輝度の値を抽出し、
前記赤目領域候補抽出手段は、前記修正第２の特徴範囲の中から前記修正第１の端点および修正第２の端点の輝度の値が第１１閾値以上となる修正第２の特徴範囲を除去する
ことを特徴とする請求項６記載の画像処理装置。
【請求項９】
前記ノイズ除去手段は、前記抽出された各ラインの赤目領域候補のうちで色差の値が最大となるラインの赤目領域候補を基準領域に設定した場合において前記各ラインの赤目領域候補のうちでその一部の領域範囲が当該基準領域の前記所定方向における範囲内に存在するとともにその色差の最大値が前記基準領域の色差の最大値に基づいて求められた第１２閾値以上であるもの以外の赤目領域候補を除去する
ことを特徴とする請求項８記載の画像処理装置。
【請求項１０】
前記ノイズ除去手段は、前記各ラインのうちで一のラインに複数の赤目領域候補が存在する場合には当該一のラインに存在する複数の赤目領域候補のうちから赤目領域候補の範囲内における色差の値が最大となる赤目領域候補以外の赤目領域候補を除去する
ことを特徴とする請求項８記載の画像処理装置。
【請求項１１】
前記ノイズ除去手段は、前記抽出された各ラインの赤目領域候補のうちで前記所定方向の幅が前記顔検出手段により検出された顔に対応する顔領域の大きさに基づいて算出された最大瞳孔サイズよりも大きい赤目領域候補が存在する場合には当該赤目領域候補が存在するライン以外のラインにおける赤目領域候補の前記所定方向の修正第１の端点および修正第２の端点の平均値を求めて当該平均値を前記最大瞳孔サイズよりも大きい赤目領域候補の修正第１の端点および修正第２の端点の値と置き換える
ことを特徴とする請求項８記載の画像処理装置。
【請求項１２】
前記ノイズ除去手段は、前記赤目領域候補抽出手段により抽出された赤目領域候補が存在する各ラインのうちで前記所定方向と直行する方向である直行方向における端部に存在するラインについてその１画素隣のラインに赤目領域候補が存在しない場合には当該端部のラインに存在する赤目領域候補を除去する
ことを特徴とする請求項２記載の画像処理装置。
【請求項１３】
前記顔検出手段により検出された顔の縦横比を保持した状態で当該顔に対応する顔画像の大きさを前記色差抽出手段による色差の値の抽出に適する大きさに変換するとともに当該顔に対応する顔画像を前記色差抽出手段による色差の値の抽出に適する解像度に変換する正規化手段を具備する
ことを特徴とする請求項１記載の画像処理装置。
【請求項１４】
前記赤目領域設定手段は、前記ノイズ除去手段によりノイズが除去された後に存在する赤目領域候補に基づいて前記目領域設定手段により設定された目領域に矩形枠を配置するとともに当該矩形枠に基づいて円形枠を配置して当該矩形枠と当該円形枠との重複範囲を赤目領域として設定する
ことを特徴とする請求項１記載の画像処理装置。
【請求項１５】
画像データを入力する入力手段と、
前記入力手段により入力された画像データに含まれる顔を検出する顔検出手段と、
前記顔検出手段により検出された顔に含まれる目領域を設定する目領域設定手段と、
前記目領域設定手段により設定された目領域において所定方向の各ラインにおける色差の値を抽出する第１の色差抽出手段と、
前記第１の色差抽出手段により抽出された色差の値の変化の態様に基づいて前記所定方向の各ラインにおける赤目領域候補を抽出する第１の赤目領域候補抽出手段と、
前記第１の赤目領域候補抽出手段により抽出された赤目領域候補の中からノイズである赤目領域候補を除去するノイズ除去手段と、
前記ノイズ除去手段によりノイズが除去された後に存在する赤目領域候補に基づいて設定された範囲内において前記所定方向と直行する方向である直行方向の各ラインにおける色差の値を抽出する第２の色差抽出手段と、
前記第２の色差抽出手段により抽出された色差の値の変化の態様に基づいて前記直行方向の各ラインにおける赤目領域候補を抽出する第２の赤目領域候補抽出手段と、
前記ノイズ除去手段によりノイズが除去された後に存在する赤目領域候補と前記第２の赤目領域候補抽出手段により抽出された赤目領域候補とに基づいて前記目領域設定手段により設定された目領域に含まれる赤目領域を設定する赤目領域設定手段と
を具備することを特徴とする画像処理装置。
【請求項１６】
被写体の画像を撮像する撮像手段と、
前記撮像手段により撮像された画像に対応する画像データを入力する入力手段と、
前記入力手段により入力された画像データに含まれる顔を検出する顔検出手段と、
前記顔検出手段により検出された顔に含まれる目領域を設定する目領域設定手段と、
前記目領域設定手段により設定された目領域において所定方向の各ラインにおける色差の値を抽出する色差抽出手段と、
前記色差抽出手段により抽出された色差の値の変化の態様に基づいて前記所定方向の各ラインにおける赤目領域候補を抽出する赤目領域候補抽出手段と、
前記赤目領域候補抽出手段により抽出された赤目領域候補の中からノイズである赤目領域候補を除去するノイズ除去手段と、
前記ノイズ除去手段によりノイズが除去された後に存在する赤目領域候補に基づいて前記目領域設定手段により設定された目領域に含まれる赤目領域を設定する赤目領域設定手段と
を具備することを特徴とする撮像装置。
【請求項１７】
画像データを入力する入力手順と、
前記入力手順で入力された画像データに含まれる顔を検出する顔検出手順と、
前記顔検出手順で検出された顔に含まれる目領域を設定する目領域設定手順と、
前記目領域設定手順で設定された目領域において所定方向の各ラインにおける色差の値を抽出する色差抽出手順と、
前記色差抽出手順で抽出された色差の値の変化の態様に基づいて前記所定方向の各ラインにおける赤目領域候補を抽出する赤目領域候補抽出手順と、
前記赤目領域候補抽出手順で抽出された赤目領域候補の中からノイズである赤目領域候補を除去するノイズ除去手順と、
前記ノイズ除去手順でノイズが除去された後に存在する赤目領域候補に基づいて前記目領域設定手順で設定された目領域に含まれる赤目領域を設定する赤目領域設定手順と
を具備することを特徴とする画像処理方法。
【請求項１８】
画像データを入力する入力手順と、
前記入力手順で入力された画像データに含まれる顔を検出する顔検出手順と、
前記顔検出手順で検出された顔に含まれる目領域を設定する目領域設定手順と、
前記目領域設定手順で設定された目領域において所定方向の各ラインにおける色差の値を抽出する色差抽出手順と、
前記色差抽出手順で抽出された色差の値の変化の態様に基づいて前記所定方向の各ラインにおける赤目領域候補を抽出する赤目領域候補抽出手順と、
前記赤目領域候補抽出手順で抽出された赤目領域候補の中からノイズである赤目領域候補を除去するノイズ除去手順と、
前記ノイズ除去手順でノイズが除去された後に存在する赤目領域候補に基づいて前記目領域設定手順で設定された目領域に含まれる赤目領域を設定する赤目領域設定手順と
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関し、特に、顔が含まれる画像からその顔における赤目領域を抽出する画像処理装置、撮影装置、および、これらにおける画像処理方法ならびに当該方法をコンピュータに実行させるプログラムに関する。
【背景技術】
【０００２】
暗い場所においてデジタルスチルカメラ等の撮像装置で被写体を撮影する場合、フラッシュやストロボを用いて撮影する場合が多い。このような暗い場所で被写体として人間を撮影する場合に、フラッシュ等を用いて撮影すると、人の目が赤色や金色に光って写ってしまう、いわゆる赤目現象が発生することが多い。
【０００３】
このように、フラッシュ等を用いて撮影すると赤目現象が発生することが多いため、撮影した画像（撮影画像）から赤目を検出し、検出された赤目を画像処理によって自動的に補正するデジタルスチルカメラ等の撮像装置が多数提案されている。このような赤目に関する画像処理を行うためには、補正対象である赤目領域を撮影画像から抽出する必要がある。
【０００４】
例えば、撮影画像から顔領域を検出し、検出された顔領域においてクラスタリング処理された目や口等の特徴的部位の特徴領域を検出し、検出された特徴領域の色判別処理により赤目の候補となる赤目候補画素を抽出し、抽出された赤目候補画素をさらにクラスタリングして赤目候補領域とし、この赤目候補領域の特性に関して所定の演算により評価値を算出し、算出された評価値と所定の閾値とを比較した結果に基づいて赤目領域を抽出する画像処理方法が提案されている（例えば、特許文献１参照。）。
【特許文献１】特開２００５−１０８１９７号公報（図１）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述の従来技術によれば、色判別処理により抽出された赤目候補画素に対応する赤目候補領域の特性に基づく評価値と所定の閾値とを比較した結果に基づいて赤目領域を抽出することができる。
【０００６】
しかしながら、いわゆる赤目現象は、人の目が赤色や金色に光って写ってしまう現象であるものの、撮影環境や撮影条件等によっては人の目が真っ赤になるものから明るい茶色になるものまで多種のパターンがある。このように、いわゆる赤目現象は、多種のパターンがあるため、顔領域において検出された特徴領域から色判別処理により赤目の候補となる赤目候補画素を抽出する場合、適切な赤目候補画素を抽出することができない場合がある。
【０００７】
また、例えば、赤みの低い赤目について赤目補正処理を実行する場合には、赤みの低い赤目に対応する色判別処理を実行するとともに、赤みの低い赤目に対応する閾値を設定することが考えられる。しかし、このような処理を実行する場合には、赤みの低い赤目を赤目領域として抽出することができるものの、赤みを帯びた瞼（まぶた）やまつ毛部分等を赤目領域として抽出してしまうことがある。このため、例えば、赤みの低い赤目について赤目補正処理を実行する場合に、補正対象である赤目領域を適切に抽出できないという問題が発生する。
【０００８】
以上で示したように、従来技術では、人間の顔を撮影した画像からその顔に含まれる赤目領域を適切に抽出することができず、いわゆる赤目現象が発生した場合に適切な赤目補正をすることができないという問題があった。
【０００９】
そこで、本発明は、顔を撮影した画像からその顔に含まれる赤目領域を適切に抽出することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、上記課題を解決するためになされたものであり、その第１の側面は、画像データを入力する入力手段と、上記入力手段により入力された画像データに含まれる顔を検出する顔検出手段と、上記顔検出手段により検出された顔に含まれる目領域を設定する目領域設定手段と、上記目領域設定手段により設定された目領域において所定方向の各ラインにおける色差の値を抽出する色差抽出手段と、上記色差抽出手段により抽出された色差の値の変化の態様に基づいて上記所定方向の各ラインにおける赤目領域候補を抽出する赤目領域候補抽出手段と、上記赤目領域候補抽出手段により抽出された赤目領域候補の中からノイズである赤目領域候補を除去するノイズ除去手段と、上記ノイズ除去手段によりノイズが除去された後に存在する赤目領域候補に基づいて上記目領域設定手段により設定された目領域に含まれる赤目領域を設定する赤目領域設定手段とを具備することを特徴とする画像処理装置、およびこれにおける画像処理方法ならびに当該方法をコンピュータに実行させるプログラムである。なお、第１の側面乃至第３の側面においては、上記色差抽出手段により抽出された色差の値のうちの色差（赤）の値を用いる。これにより、画像データに含まれる顔における目領域を設定し、その目領域において所定方向の各ラインにおける色差の値の変化の態様に基づいて各ラインにおける赤目領域候補を抽出するとともにその赤目領域候補の中からノイズである赤目領域候補を除去し、ノイズが除去された後に存在する赤目領域候補に基づいてその目領域に含まれる赤目領域を設定するという作用をもたらす。
【００１１】
また、この第１の側面において、上記赤目領域候補抽出手段は、上記所定方向の一のラインにおいて上記色差抽出手段により抽出された色差の値が一定の増加をする範囲である増加範囲と当該増加範囲の後に上記抽出された色差の値が一定の減少をする範囲である減少範囲とを含む特徴範囲を検出して当該検出された特徴範囲の中から当該一のラインにおける赤目領域候補を抽出することができる。これにより、所定方向の一のラインにおいて抽出された色差の値が一定の増加をする増加範囲と、その増加後にその色差の値が一定の減少をする減少範囲とを含む特徴範囲を検出し、その特徴範囲の中から当該一のラインにおける赤目領域候補を抽出するという作用をもたらす。この場合において、上記赤目領域候補抽出手段は、上記増加範囲において上記色差抽出手段により抽出された色差の値が上記所定方向における１画素前の色差の値よりも第１閾値以上の値となる最初の点である第１の端点を検出するとともに上記減少範囲において上記色差抽出手段により抽出された色差の値が上記特徴範囲における色差の最大値に基づいて決定される第２閾値よりも小さくなった後に最初に増加する点の上記所定方向における１画素前の点である第２の端点を検出して上記検出された第１の端点と第２の端点との範囲を第２の特徴範囲とし当該第２の特徴範囲の中から上記一のラインにおける赤目領域候補を抽出することができる。これにより、増加範囲において抽出された色差の値が、所定方向における１画素前の色差の値よりも第１閾値以上の値となる最初の点である第１の端点を検出するとともに、減少範囲において抽出された色差の値が、特徴範囲における色差の最大値に基づいて決定される第２閾値よりも小さくなった後に最初に増加する点の所定方向における１画素前の点である第２の端点を検出し、その第１の端点と第２の端点との範囲である第２の特徴範囲の中から一のラインにおける赤目領域候補を抽出するという作用をもたらす。
【００１２】
また、この第１の側面において、上記赤目領域候補抽出手段は、上記検出された特徴範囲の中から範囲内の色差の最大値が第３閾値以下である特徴範囲または範囲内の色差の最大値と最小値との差の値が第４閾値よりも小さい特徴範囲を除去することができる。これにより、特徴範囲における色差の最大値が第３閾値以下である場合、または、その特徴範囲における色差の最大値と最小値との差の値が第４閾値よりも小さい場合には、その特徴範囲を除去するという作用をもたらす。
【００１３】
また、この第１の側面において、上記赤目領域候補抽出手段は、上記一のラインに複数の特徴範囲が存在する場合において当該複数の特徴範囲のうちの隣り合う２つの特徴範囲における色差の最大値の差の値が第５閾値の範囲内であるとともに当該隣り合う２つの特徴範囲における中央点または範囲内最大値に対応する点の上記所定方向の差の値が第６閾値の範囲内である場合には当該２つの特徴範囲を一の特徴範囲として連結することができる。これにより、一のラインに複数の特徴範囲が存在する場合において、それらの特徴範囲のうちの隣り合う２つの特徴範囲における色差の最大値の差の値が第５閾値の範囲内であるとともに、その隣り合う２つの特徴範囲における中央点または範囲内最大値に対応する点の所定方向の差の値が第６閾値の範囲内である場合には、その２つの特徴範囲を一の特徴範囲として連結するという作用をもたらす。
【００１４】
また、この第１の側面において、上記赤目領域候補抽出手段は、上記第２の特徴範囲に含まれる増加範囲において上記色差抽出手段により抽出された色差の値が第７閾値以下の値となる点を第１点とし、当該第１点の上記所定方向における１画素前の点を第２点とし、当該第１点の上記所定方向における１画素後の点を第３点とした場合において当該第１点および当該第３点の色差の値の差の値が当該第１点および当該第２点の色差の値の差の値よりも第８閾値を超えて大きい場合における当該第１点のうちで最も中央点側にある点を修正第１の端点とし、上記第２の特徴範囲に含まれる減少範囲において上記色差抽出手段により抽出された色差の値が第９閾値以下の値となる点を第４点とし、当該第４点の上記所定方向における１画素後の点を第５点とし、当該第４点の上記所定方向における１画素前の点を第６点とした場合において当該第４点および当該第６点の色差の値の差の値が当該第４点および当該第５点の色差の値の差の値よりも第１０閾値を超えて大きい場合における当該第４点のうちで最も中央点側にある点を修正第２の端点とし、上記修正第１の端点と上記修正第２の端点との範囲を修正第２の特徴範囲とし、当該修正第２の特徴範囲の中から上記一のラインにおける赤目領域候補を抽出することができる。これにより、第１点と第２点と第３点とに基づいて求められる修正第１の端点と、第４点と第５点と第６点とに基づいて求められる修正第２の端点との範囲を修正第２の特徴範囲とし、修正第２の特徴範囲の中から一のラインにおける赤目領域候補を抽出するという作用をもたらす。この場合において、上記色差抽出手段は、上記目領域設定手段により設定された目領域において上記所定方向の各ラインにおける色差の値とともに輝度の値を抽出し、上記赤目領域候補抽出手段は、上記第２の特徴範囲に含まれる増加範囲において上記色差抽出手段により抽出された色差の値が第７閾値以下の値となる点を第７点とし、当該第７点の上記所定方向における１画素前の点を第８点とした場合において当該第８点の輝度の値から当該第７点の輝度の値を引いて求められる差の値が第１５閾値を超えている場合における当該第７点のうちで最も中央点側にある点を修正第１の端点候補とし、当該修正第１の端点候補と上記修正第１の端点とのうちで中央点側にある点を第３の端点とし、上記第２の特徴範囲に含まれる減少範囲において上記色差抽出手段により抽出された色差の値が第９閾値以下の値となる点を第９点とし、当該第９点の上記所定方向における１画素後の点を第１０点とした場合において当該第１０点の輝度の値から当該第９点の輝度の値を引いて求められる差の値が第１６閾値を超えている場合における当該第９点のうちで最も中央点側にある点を修正第２の端点候補とし当該修正第２の端点候補と上記修正第２の端点とのうちで中央点側にある点を第４の端点とし、上記第３の端点と上記第４の端点との範囲を修正第２の特徴範囲とし、当該修正第２の特徴範囲の中から上記一のラインにおける赤目領域候補を抽出することができる。これにより、第７点の輝度の値と第８点の輝度の値とに基づいて求められる修正第１の端点候補と修正第１の端点とのうちで中央点側にある点を第３の端点とし、第９点の輝度の値と第１０点の輝度の値とに基づいて求められる修正第２の端点候補と修正第２の端点とのうちで中央点側にある点を第４の端点とし、第３の端点と第４の端点との範囲を修正第２の特徴範囲とし、修正第２の特徴範囲の中から上記一のラインにおける赤目領域候補を抽出するという作用をもたらす。
【００１５】
また、この第１の側面において、上記色差抽出手段は、上記目領域設定手段により設定された目領域において上記所定方向の各ラインにおける色差の値とともに輝度の値を抽出し、上記赤目領域候補抽出手段は、上記修正第２の特徴範囲の中から上記修正第１の端点および修正第２の端点の輝度の値が第１１閾値以上となる修正第２の特徴範囲を除去することができる。これにより、修正第２の特徴範囲の中から、修正第１の端点および修正第２の端点の輝度の値が第１１閾値以上となる修正第２の特徴範囲を除去するという作用をもたらす。
【００１６】
また、この第１の側面において、上記ノイズ除去手段は、上記抽出された各ラインの赤目領域候補のうちで色差の値が最大となるラインの赤目領域候補を基準領域に設定した場合において上記各ラインの赤目領域候補のうちでその一部の領域範囲が当該基準領域の上記所定方向における範囲内に存在するとともにその色差の最大値が上記基準領域の色差の最大値に基づいて求められた第１２閾値以上であるもの以外の赤目領域候補を除去することができる。これにより、各ラインの赤目領域候補のうちで色差の値が最大となるラインの赤目領域候補を基準領域に設定し、各ラインの赤目領域候補のうちでその一部の領域範囲が基準領域の所定方向における範囲内に存在するとともにその色差の最大値が第１２閾値以上であるもの以外の赤目領域候補を除去するという作用をもたらす。
【００１７】
また、この第１の側面において、上記ノイズ除去手段は、上記各ラインのうちで一のラインに複数の赤目領域候補が存在する場合には当該一のラインに存在する複数の赤目領域候補のうちから赤目領域候補の範囲内における色差の値が最大となる赤目領域候補以外の赤目領域候補を除去することができる。これにより、各ラインのうちで一のラインに複数の赤目領域候補が存在する場合には、それらの複数の赤目領域候補のうちから赤目領域候補の範囲内における色差の値が最大となる赤目領域候補以外の赤目領域候補を除去するという作用をもたらす。
【００１８】
また、この第１の側面において、上記ノイズ除去手段は、上記抽出された各ラインの赤目領域候補のうちで上記所定方向の幅が上記顔検出手段により検出された顔に対応する顔領域の大きさに基づいて算出された最大瞳孔サイズよりも大きい赤目領域候補が存在する場合には当該赤目領域候補が存在するライン以外のラインにおける赤目領域候補の上記所定方向の修正第１の端点および修正第２の端点の平均値を求めて当該平均値を上記最大瞳孔サイズよりも大きい赤目領域候補の修正第１の端点および修正第２の端点の値と置き換えることができる。これにより、各ラインの赤目領域候補のうちで、所定方向の幅が最大瞳孔サイズよりも大きい赤目領域候補が存在する場合には、その赤目領域候補が存在するライン以外のラインにおける赤目領域候補の所定方向の修正第１の端点および修正第２の端点の平均値を求め、その平均値を、最大瞳孔サイズよりも大きい赤目領域候補の修正第１の端点および修正第２の端点の値と置き換えるという作用をもたらす。
【００１９】
また、この第１の側面において、上記ノイズ除去手段は、上記赤目領域候補抽出手段により抽出された赤目領域候補が存在する各ラインのうちで上記所定方向と直行する方向である直行方向における端部に存在するラインについてその１画素隣のラインに赤目領域候補が存在しない場合には当該端部のラインに存在する赤目領域候補を除去することができる。これにより、赤目領域候補が存在する各ラインのうちで、直行方向における端部に存在するラインについて、その１画素隣のラインに赤目領域候補が存在しない場合には、その端部のラインに存在する赤目領域候補を除去するという作用をもたらす。
【００２０】
また、この第１の側面において、上記顔検出手段により検出された顔の縦横比を保持した状態で当該顔に対応する顔画像の大きさを上記色差抽出手段による色差の値の抽出に適する大きさに変換するとともに当該顔に対応する顔画像を上記色差抽出手段による色差の値の抽出に適する解像度に変換する正規化手段を具備することができる。これにより、検出された顔の縦横比を保持した状態で、その顔画像の大きさを色差の値の抽出に適する大きさに変換するとともに、その顔に対応する顔画像を色差の値の抽出に適する解像度に変換するという作用をもたらす。
【００２１】
また、この第１の側面において、上記赤目領域設定手段は、上記ノイズ除去手段によりノイズが除去された後に存在する赤目領域候補に基づいて上記目領域設定手段により設定された目領域に矩形枠を配置するとともに当該矩形枠に基づいて円形枠を配置して当該矩形枠と当該円形枠との重複範囲を赤目領域として設定することができる。これにより、ノイズが除去された後に存在する赤目領域候補に基づいて目領域に矩形枠を配置するとともに、その矩形枠に基づいて円形枠を配置し、矩形枠と円形枠との重複範囲を赤目領域として設定するという作用をもたらす。
【００２２】
また、本発明の第２の側面は、画像データを入力する入力手段と、上記入力手段により入力された画像データに含まれる顔を検出する顔検出手段と、上記顔検出手段により検出された顔に含まれる目領域を設定する目領域設定手段と、上記目領域設定手段により設定された目領域において所定方向の各ラインにおける色差の値を抽出する第１の色差抽出手段と、上記第１の色差抽出手段により抽出された色差の値の変化の態様に基づいて上記所定方向の各ラインにおける赤目領域候補を抽出する第１の赤目領域候補抽出手段と、上記第１の赤目領域候補抽出手段により抽出された赤目領域候補の中からノイズである赤目領域候補を除去するノイズ除去手段と、上記ノイズ除去手段によりノイズが除去された後に存在する赤目領域候補に基づいて設定された範囲内において上記所定方向と直行する方向である直行方向の各ラインにおける色差の値を抽出する第２の色差抽出手段と、上記第２の色差抽出手段により抽出された色差の値の変化の態様に基づいて上記直行方向の各ラインにおける赤目領域候補を抽出する第２の赤目領域候補抽出手段と、上記ノイズ除去手段によりノイズが除去された後に存在する赤目領域候補と上記第２の赤目領域候補抽出手段により抽出された赤目領域候補とに基づいて上記目領域設定手段により設定された目領域に含まれる赤目領域を設定する赤目領域設定手段とを具備することを特徴とする画像処理装置、およびこれにおける画像処理方法ならびに当該方法をコンピュータに実行させるプログラムである。これにより、画像データに含まれる顔における目領域を設定し、その目領域において所定方向の各ラインにおける色差の値の変化の態様に基づいて各ラインにおける赤目領域候補を抽出するとともにその赤目領域候補の中からノイズである赤目領域候補を除去し、さらに、ノイズが除去された後に存在する赤目領域候補に基づいて設定された範囲内において直行方向の各ラインにおける色差の値を抽出するとともにこの抽出された色差の値の変化の態様に基づいて直行方向の各ラインにおける赤目領域候補を抽出し、この抽出された赤目領域候補と、ノイズが除去された後に存在する赤目領域候補とに基づいてその目領域に含まれる赤目領域を設定するという作用をもたらす。
【００２３】
また、本発明の第３の側面は、被写体の画像を撮像する撮像手段と、上記撮像手段により撮像された画像に対応する画像データを入力する入力手段と、上記入力手段により入力された画像データに含まれる顔を検出する顔検出手段と、上記顔検出手段により検出された顔に含まれる目領域を設定する目領域設定手段と、上記目領域設定手段により設定された目領域において所定方向の各ラインにおける色差の値を抽出する色差抽出手段と、上記色差抽出手段により抽出された色差の値の変化の態様に基づいて上記所定方向の各ラインにおける赤目領域候補を抽出する赤目領域候補抽出手段と、上記赤目領域候補抽出手段により抽出された赤目領域候補の中からノイズである赤目領域候補を除去するノイズ除去手段と、上記ノイズ除去手段によりノイズが除去された後に存在する赤目領域候補に基づいて上記目領域設定手段により設定された目領域に含まれる赤目領域を設定する赤目領域設定手段とを具備することを特徴とする撮像装置、およびこれにおける画像処理方法ならびに当該方法をコンピュータに実行させるプログラムである。これにより、画像データに含まれる顔における目領域を設定し、その目領域において所定方向の各ラインにおける色差の値の変化の態様に基づいて各ラインにおける赤目領域候補を抽出するとともにその赤目領域候補の中からノイズである赤目領域候補を除去し、ノイズが除去された後に存在する赤目領域候補に基づいてその目領域に含まれる赤目領域を設定するという作用をもたらす。
【発明の効果】
【００２４】
本発明によれば、顔を撮影した画像からその顔に含まれる赤目領域を適切に抽出することができるという優れた効果を奏し得る。
【発明を実施するための最良の形態】
【００２５】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【００２６】
図１は、本発明の実施の形態における画像処理装置１００の機能構成例を示すブロック図である。
【００２７】
画像処理装置１００は、ＣＰＵ１１０と、ＲＡＭ１２０と、カメラ信号処理エンジン１３０と、解像度変換エンジン１４０と、画像圧縮伸張エンジン１５０と、顔検出エンジン１６０と、目頭目尻検出エンジン１７０と、画像回転エンジン１８０と、画像表示エンジン１９０と、外部メディアコントローラ２００と、データバス２１０と、画像信号用バス２２０と、バス２３０とを備える。
【００２８】
また、画像処理装置１００は、記録メディア３００と、撮像部４００と、画像表示装置５００とに接続される。
【００２９】
記録メディア３００は、ＪＰＥＧ（Joint Photographic Experts Group）形式の画像データ等の各種データを記録する情報記録媒体である。
【００３０】
撮像部４００は、光学系と撮像素子とから構成され、光学系を通して撮影された画像を画像信号に光電変換し、光電変換された画像信号をカメラ信号処理エンジン１３０に出力するものである。
【００３１】
画像表示装置５００は、画像表示エンジン１９０から出力された各種画像データに対応する画像を表示する画像表示装置である。画像表示装置として、例えば、液晶ディスプレイ（ＬＣＤ）や電子ビューファインダ（ＥＶＦ）が用いられる。
【００３２】
ＣＰＵ（Central Processing Unit）１１０は、各種制御プログラムに基づいて画像処理装置１００全体を制御するものである。
【００３３】
ＲＡＭ（Random Access Memory）１２０は、各種データを格納するメモリであり、画像処理のための各種の画像保存領域を備える。具体的には、ＲＡＭ１２０は、再生画像保存領域１２０ａと、顔検出用画像保存領域１２０ｂと、目検出用顔画像保存領域１２０ｃと、赤目領域抽出用顔画像保存領域１２０ｄとを備える。再生画像保存領域１２０ａは、画像圧縮伸張エンジン１５０により展開された静止画像データ等を保存する保存領域である。顔検出用画像保存領域１２０ｂは、顔検出エンジン１６０が静止画像データから顔画像を検出する場合に、解像度変換エンジン１４０により顔検出に適した解像度に変換された静止画像データ等を保存する保存領域である。目検出用顔画像保存領域１２０ｃは、目頭目尻検出エンジン１７０が顔画像を含む周辺画像から目尻および目頭を検出する場合に、解像度変換エンジン１４０により解像度変換された周辺画像等を保存する保存領域である。赤目領域抽出用顔画像保存領域１２０ｄは、ＣＰＵ１１０が顔画像を含む周辺画像から赤目領域を抽出する場合に、解像度変換エンジン１４０により解像度変換された周辺画像等を保存する保存領域である。また、ＲＡＭ１２０は、顔検出、目頭目尻検出をする場合に用いられる各種サンプル画像を格納する。
【００３４】
カメラ信号処理エンジン１３０は、撮像部４００から出力された画像信号に対して適正な信号処理を施して画像信号用バス２２０に出力するものである。
【００３５】
解像度変換エンジン１４０は、入力された各種画像データを各画像処理に適した解像度に変換するものである。
【００３６】
画像圧縮伸張エンジン１５０は、入力された各種画像データを各画像処理に応じて圧縮または伸張するものである。
【００３７】
顔検出エンジン１６０は、ＲＡＭ１２０の顔検出用画像保存領域１２０ｂに保存されている静止画像から顔画像を検出するものである。具体的には、顔検出エンジン１６０は、顔検出用画像保存領域１２０ｂに保存されている静止画像に含まれている顔画像について顔領域の位置、大きさ、顔の向き等を検出する。なお、顔検出用画像保存領域１２０ｂに保存されている静止画像に複数の顔画像が含まれている場合には、検出可能な複数の顔画像を顔検出エンジン１６０が検出する。
【００３８】
図２（ａ）は、顔検出エンジン１６０が画像Ｐ１から顔Ｆ１〜Ｆ３を検出する場合における検出例の概略を示す図である。ここで、画像Ｐ１１〜Ｐ１３は、顔Ｆ１〜Ｆ３を含む周辺画像である。
【００３９】
目頭目尻検出エンジン１７０は、ＲＡＭ１２０の目検出用顔画像保存領域１２０ｃに保存されている顔画像を含む周辺画像から左右の目頭および目尻を検出するものである。
【００４０】
図２（ｂ）は、目頭目尻検出エンジン１７０が画像Ｐ１１から右目の目頭を検出する場合における検出例の概略を示す図であり、図２（ｃ）は、目頭目尻検出エンジン１７０が画像Ｐ１１から右目の目尻を検出する場合における検出例の概略を示す図である。目頭目尻検出エンジン１７０は、判別対象枠Ｗ１を用いて、図２（ｂ）に示すように、画像Ｐ１１から右目の目頭を検出し、図２（ｃ）に示すように、画像Ｐ１１から右目の目尻を検出する。なお、左目の目頭および目尻についても同様に目頭目尻検出エンジン１７０が検出する。
【００４１】
画像回転エンジン１８０は、ＲＡＭ１２０の目検出用顔画像保存領域１２０ｃに保存されている周辺画像に含まれる顔が当該顔の前後方向を軸にして回転している場合（顔の向きが正面を向いている場合であって顔の上下左右方向と顔を含む周辺画像の上下左右方向が一致していない場合を意味し、以下では、「顔が回転している場合」と称する。）に、当該顔の上下左右方向と周辺画像の上下左右方向とが一致するように当該顔画像を回転処理するための画像処理を実行するものである。
【００４２】
画像表示エンジン１９０は、ＣＰＵ１１０の制御に基づいて、各種画像データを画像表示装置５００に出力するものである。
【００４３】
外部メディアコントローラ２００は、記録メディア３００と接続され、記録メディア３００から入力された画像データをデータバス２１０を介してＲＡＭ１２０等に出力するとともに、各種画像データを記録メディア３００に出力するものである。
【００４４】
次に本発明の実施の形態における画像処理装置１００の動作について図面を参照して説明する。
【００４５】
図３は、画像処理装置１００による赤目補正処理の処理手順を示すフローチャートである。
【００４６】
本実施の形態では、画像処理装置１００において記録メディア３００に記録されているＪＰＥＧ画像データを再生する場合における赤目補正処理の例について説明する。
【００４７】
最初に、画像処理装置１００において、記録メディア３００に記録されているＪＰＥＧ画像データに対応する画像から顔画像を検出する顔検出処理が実行される（ステップＳ９０１〜ステップＳ９０４）。
【００４８】
具体的には、ＪＰＥＧ画像データが保存されている記録メディア３００が外部メディアコントローラ２００に接続されると、記録メディア３００に保存されているＪＰＥＧ画像データが読み出され、読み出されたＪＰＥＧ画像データが外部メディアコントローラ２００を経由してＲＡＭ１２０に出力される（ステップＳ９０１）。そして、読み出されたＪＰＥＧ画像データがＲＡＭ１２０に保存される。
【００４９】
続いて、ＲＡＭ１２０に保存されているＪＰＥＧ画像データが画像圧縮伸張エンジン１５０に転送される。ＪＰＥＧ画像データが転送されると、転送されたＪＰＥＧ画像データを画像圧縮伸張エンジン１５０が伸張して静止画像データとして展開する（ステップＳ９０２）。
【００５０】
続いて、画像圧縮伸張エンジン１５０により展開された静止画像データが、ＲＡＭ１２０の再生画像保存領域１２０ａに順次転送されて保存される。
【００５１】
ＲＡＭ１２０に保存されているＪＰＥＧ画像データの全ての画像データについて展開・転送処理が終了した後に、ＲＡＭ１２０の再生画像保存領域１２０ａに保存されている静止画像データが解像度変換エンジン１４０に転送される。続いて、解像度変換エンジン１４０に静止画像データが転送されると、転送された静止画像データを解像度変換エンジン１４０が顔検出に適した解像度に変換する（ステップＳ９０３）。続いて、解像度変換された静止画像データがＲＡＭ１２０の顔検出用画像保存領域１２０ｂに出力され、顔検出用画像保存領域１２０ｂに保存される。
【００５２】
続いて、顔検出用画像保存領域１２０ｂに保存されている静止画像データが顔検出エンジン１６０に入力される。静止画像データが顔検出エンジン１６０に入力されると、静止画像データに対応する画像から顔画像を顔検出エンジン１６０が検出する（ステップＳ９０４）。例えば、図２（ａ）に示すように、画像Ｐ１が顔検出エンジン１６０に入力されると、画像Ｐ１に含まれる人間の顔Ｆ１〜Ｆ３を検出する。このとき、顔検出エンジン１６０は、検出された顔について、その顔の顔領域の位置と大きさと顔の向きとを含む顔情報を生成する。さらに、図２（ａ）に示すように、静止画像データに対応する画像に複数の顔が含まれている場合には、その複数人の顔を検出する。なお、静止画像データに対応する画像から顔画像を検出する場合には、図４に示す目頭検出方法と同様に、静止画像データに対応する画像を順次縮小し、縮小された画像について顔検出エンジン１６０が顔検出処理を順次実行する。
【００５３】
次に、顔検出エンジン１６０によって検出された顔画像から目頭および目尻を検出し、その検出された目頭および目尻から目領域を設定する目領域設定処理が実行される（ステップＳ９０５〜ステップＳ９０９、ステップＳ９５０）。
【００５４】
具体的には、顔検出エンジン１６０が検出した顔の顔領域の位置および大きさは、顔検出用画像に対応する位置および大きさであるため、顔検出エンジン１６０が検出した顔の顔領域の位置および大きさは再生画像に対応する位置および大きさに変換される（ステップＳ９０５）。
【００５５】
続いて、顔検出エンジン１６０が検出した顔領域の位置および大きさに基づいて、再生画像保存領域１２０ａに保存されている静止画像データに対応する画像から顔領域とその周辺部が取り出され（ステップＳ９０６）、その取り出された顔画像を含む周辺画像が解像度変換エンジン１４０に出力される。なお、顔検出エンジン１６０によって検出された顔画像が複数存在する場合には、それぞれの顔画像について同様に処理される。例えば、図２（ａ）に示す画像Ｐ１から画像Ｐ１１〜Ｐ１３が取り出され、取り出された画像Ｐ１１〜Ｐ１３が解像度変換エンジン１４０に出力される。
【００５６】
周辺画像が解像度変換エンジン１４０に入力されると、解像度変換エンジン１４０は入力された周辺画像を目頭目尻検出に適する解像度に変換する（ステップＳ９０７）。その結果、解像度変換エンジン１４０は、解像度変換された周辺画像をＲＡＭ１２０の目検出用顔画像保存領域１２０ｃに出力する。すなわち、解像度変換された周辺画像が目検出用顔画像保存領域１２０ｃに保存される。
【００５７】
続いて、目検出用顔画像保存領域１２０ｃに保存されている周辺画像に含まれる顔が回転している場合には、その周辺画像が画像回転エンジン１８０に出力される。周辺画像が画像回転エンジン１８０に入力されると、周辺画像に含まれる顔の上下左右方向と周辺画像の上下左右方向とが一致するように、周辺画像に含まれる顔を画像回転エンジン１８０が回転補正し（ステップＳ９０８）、その回転補正された周辺画像を目検出用顔画像保存領域１２０ｃに出力する。すなわち、その回転補正された周辺画像が目検出用顔画像保存領域１２０ｃに保存される。
【００５８】
続いて、目検出用顔画像保存領域１２０ｃに保存されている周辺画像が目頭目尻検出エンジン１７０に出力される。周辺画像が目頭目尻検出エンジン１７０に入力されると、入力された周辺画像において目頭目尻検出エンジン１７０が判別対象枠内の判別対象範囲を順次走査して目頭および目尻を検出する（ステップＳ９０９）。
【００５９】
続いて、検出された目頭および目尻に基づいて顔画像に含まれる左右の目の目領域が設定される（ステップＳ９５０）。なお、左右の目のうちで目頭および目尻の少なくとも１つが検出できなかった場合には、検出された目頭または目尻や過去の統計データ等に基づいて顔画像に含まれる左右の目の目領域が推定され設定される（ステップＳ９５０）。なお、左右の目の目領域が設定される場合に、周辺画像における目領域の位置および大きさを含む目領域情報が生成される。
【００６０】
続いて、顔検出エンジン１６０によって検出された顔領域の位置および大きさに基づいて、再生画像保存領域１２０ａに保存されている静止画像データに対応する画像から顔領域とその周辺部が取り出され、その取り出された顔画像を含む周辺画像が解像度変換エンジン１４０に出力される。周辺画像が解像度変換エンジン１４０に入力されると、解像度変換エンジン１４０は入力された周辺画像を赤目領域抽出処理に適する解像度に変換する（ステップＳ９１１）。なお、顔検出エンジン１６０が検出した顔画像が複数存在する場合には、それぞれの顔画像について同様に処理される。続いて、解像度変換された周辺画像を解像度変換エンジン１４０がＲＡＭ１２０の赤目領域抽出用顔画像保存領域１２０ｄに出力する。すなわち、解像度変換された周辺画像が赤目領域抽出用顔画像保存領域１２０ｄに保存される。
【００６１】
続いて、赤目領域抽出用顔画像保存領域１２０ｄに保存されている周辺画像に含まれる顔が回転している場合には、その周辺画像が画像回転エンジン１８０に出力される。周辺画像が画像回転エンジン１８０に入力されると、周辺画像に含まれる顔の上下左右方向と周辺画像の上下左右方向とが一致するように、周辺画像に含まれる顔を画像回転エンジン１８０が回転補正し（ステップＳ９１２）、その回転補正された周辺画像を赤目領域抽出用顔画像保存領域１２０ｄに出力する。すなわち、その回転補正された周辺画像が赤目領域抽出用顔画像保存領域１２０ｄに保存される。
【００６２】
続いて、目領域の設定の際に検出された目領域情報が赤目領域抽出用顔画像保存領域１２０ｄに保存されている周辺画像に対応するように変換され、変換された目領域情報に基づいて、赤目領域抽出用顔画像保存領域１２０ｄに保存されている周辺画像に含まれる顔から、赤目領域抽出用の左右の目領域が設定される。そして、設定された赤目領域抽出用の目領域について、赤目領域の抽出処理が行われる（ステップＳ１０００）。このとき、抽出された赤目領域について、その赤目領域の位置および大きさを含む赤目領域情報が生成される。これらの処理は、ＣＰＵ１１０によって実行される。
【００６３】
続いて、抽出された赤目領域の位置および大きさは、赤目抽出用画像に対応する位置および大きさであるため、補正対象であるＲＡＭ１２０の再生画像保存領域１２０ａに保存されている静止画像データに対応する再生静止画像の大きさに対応するように、抽出された赤目領域の位置および大きさが変換される（ステップＳ９１３）。
【００６４】
続いて、抽出された赤目領域内の画素に対して１画素ずつ赤目条件を満たすかどうかが判断される。これにより、赤目条件を満たす場合には、どのような補正処理を実行するのかが画素値等に基づいて決定され、自然な赤目のない目に見えるように、赤目の補正処理が実行される（ステップＳ９１４）。
【００６５】
次に、顔検出エンジン１６０が検出した顔画像を含む周辺画像から、目頭目尻検出エンジン１７０が右目の目頭を検出する目頭検出方法について図面を参照して説明する。なお、右目の目尻、左目の目頭および目尻、顔の検出についても、この目頭検出方法と同様の方法で検出することができる。
【００６６】
図４は、目頭目尻検出エンジン１７０が、顔Ｆ１を含む周辺画像Ｐ１１から顔Ｆ１の右目Ｅ１の目頭を検出する場合における検出方法の概略を示す図である。図４に示すように、目頭目尻検出エンジン１７０に入力された周辺画像Ｐ１１において判別対象枠Ｗ１が順次走査することによって顔Ｆ１を含む周辺画像Ｐ１１から顔Ｆ１の右目Ｅ１の目頭を検出する。なお、詳細については図６を参照して説明する。
【００６７】
図５は、目頭目尻検出エンジン１７０が右目の目頭を検出する場合において用いられる対象物サンプル（目頭画像）および非対象物サンプル（目頭以外の画像）の例を示す図である。これらのサンプル画像の特徴量を用いるようにしてもよく、目頭目尻検出エンジン１７０においてこれらのサンプル画像を用いた学習を予め行わせ、学習によって得られた特徴量等のデータを用いるようにしてもよい。
【００６８】
図６は、目頭目尻検出エンジン１７０による右目の目頭検出処理の処理手順を示すフローチャートである。なお、この処理手順は、図３に示すステップＳ９０９における目頭・目尻検出処理のうちの右目の目頭検出処理を示すものであるが、目頭・目尻検出処理のうちの右目の目尻、左目の目頭および目尻、顔の検出処理についても同様の処理手順である。
【００６９】
最初に、目検出用顔画像保存領域１２０ｃに保存されている周辺画像が目頭目尻検出エンジン１７０に入力される（ステップＳ９３０）。周辺画像が目頭目尻検出エンジン１７０に入力されると（ステップＳ９３０）、入力された周辺画像において判別対象枠が左上隅に配置される（ステップＳ９３１）。
【００７０】
続いて、入力された周辺画像において判別対象枠内の画像が取り出され（ステップＳ９３２）、取り出された画像が目頭画像であるか否かが判別される（ステップＳ９３３）。例えば、判別対象枠内の画像から検出された特徴量と、ＲＡＭ１２０に保存されている対象物サンプルおよび非対象物サンプルから抽出された特徴量とを比較し、比較した結果に基づいて、取り出された画像が目頭画像であるか否かが判別される。なお、特徴量とは、対象となる画像の特徴を表すパラメータであり、対象となる画像における各画素の色情報（色相、彩度）、濃度等である。例えば、２つのピクセル間の輝度値の差を用いることができる。なお、判別対象枠内の画像の判別方法としては、これらに限定されるものではなく、他の判別方法を用いるようにしてもよい。
【００７１】
その結果、取り出された画像が目頭画像であると判別された場合には（ステップＳ９３４）、取り出された画像の位置および大きさがＲＡＭ１２０に記憶される。
【００７２】
例えば、図４（ａ）に示す周辺画像Ｐ１１が目頭目尻検出エンジン１７０に入力されると（ステップＳ９３０）、入力された周辺画像Ｐ１１において判別対象枠Ｗ１が左上隅に配置される（ステップＳ９３１）。
【００７３】
続いて、入力された周辺画像Ｐ１１において判別対象枠Ｗ１内の画像が取り出され（ステップＳ９３２）、ＲＡＭ１２０に保存されている対象物サンプルおよび非対象物サンプルに基づいて、取り出された画像が目頭画像であるか否かが判別される（ステップＳ９３３）。ここでは、図４（ａ）に示す周辺画像Ｐ１１に含まれる顔の大きさが大きいため、取り出された各画像が目頭画像ではないと判別される（ステップＳ９３４）。
【００７４】
取り出された画像について判別された結果、取り出された画像が目頭画像ではないと判別された後（ステップＳ９３４）、または、取り出された画像が目頭画像であると判別され（ステップＳ９３４）、取り出された画像の位置および大きさがＲＡＭ１２０に記憶された後に（ステップＳ９３５）、入力された周辺画像において判別対象枠が右端に配置されているか否かが判断される（ステップＳ９３６）。
【００７５】
入力された周辺画像において判別対象枠が右端に配置されていなければ（ステップＳ９３６）、判別対象枠が左右方向の右側に１画素分進められ（ステップＳ９３７）、入力された周辺画像において判別対象枠内の画像が取り出される（ステップＳ９３２）。
【００７６】
一方、入力された周辺画像において判別対象枠が右端に配置されていれば（ステップＳ９３６）、入力された周辺画像において判別対象枠が下端に配置されているか否かが判断される（ステップＳ９３８）。
【００７７】
入力された周辺画像において判別対象枠が下端に配置されていなければ（ステップＳ９３８）、判別対象枠が左端に進められるとともに上下方向の下側に１画素分進められ（ステップＳ９３９）、入力された周辺画像において判別対象枠内の画像が取り出される（ステップＳ９３２）。
【００７８】
つまり、本実施の形態では、入力された周辺画像が判別対象枠により左右方向に順次走査され、判別対象枠が周辺画像の右端に達した場合には、判別対象枠が左端に進められるとともに上下方向の下側にも進められ、引き続き、周辺画像が判別対象枠により左右方向に順次走査される。
【００７９】
一方、入力された周辺画像において判別対象枠が下端に配置されていれば（ステップＳ９３８）、入力された周辺画像の一辺の長さが判別対象枠の一辺の長さ以下になっているか否かが判断される（ステップＳ９４０）。つまり、入力された周辺画像において判別対象枠が右端および下端に配置されていれば、入力された周辺画像の全ての領域を走査したことになるため、入力された周辺画像をさらに縮小して走査をする必要があるか否かが判断される。
【００８０】
入力された周辺画像の一辺の長さが、判別対象枠の一辺の長さ以下とはなっていなければ（ステップＳ９４０）、入力された周辺画像をさらに縮小して走査をする必要があるため、入力された周辺画像が所定の縮小率で縮小され（ステップＳ９４１）、縮小された周辺画像において判別対象枠が左上隅に配置される（ステップＳ９３１）。
【００８１】
一方、入力された周辺画像の一辺の長さが、判別対象枠の一辺の長さ以下となっていれば（ステップＳ９４０）、目頭画像であると判別された画像が複数存在するか否かが判断される（ステップＳ９４２）。
【００８２】
例えば、図４（ｃ）に示すように、周辺画像Ｐ１１ｂの一辺の長さが判別対象枠Ｗ１の矩形の一辺の長さ以下になった場合には、入力された周辺画像の走査が終了したことになるため、走査の動作を終了する。
【００８３】
続いて、目頭画像であると判別された画像が複数存在する場合には（ステップＳ９４２）、複数の目頭画像の中から２個の目頭画像が抽出され（ステップＳ９４３）、抽出された２個の目頭画像について、それらの特徴量に基づいて何れかの目頭画像が選択され、選択されなかった目頭画像が削除される（ステップＳ９４４）。続いて、目頭画像であると判別された画像が複数存在するか否かが判断され（ステップＳ９４２）、目頭画像であると判別された画像が１個になるまで繰り返される（ステップＳ９４２〜ステップＳ９４４）。このように選択処理をすることによって適切な目頭画像を判別することができる。
【００８４】
以上で示したように、入力された周辺画像において右目の目頭画像が検出されることによって、右目の目頭が検出される。また、検出された右目の目頭に基づいて、周辺画像における右目の目頭の位置および大きさが検出される。
【００８５】
次に、顔検出エンジン１６０によって検出された顔画像において目領域を設定する目領域設定方法について図面を参照して説明する。
【００８６】
最初に、顔領域と目領域との関係、および、目の横幅と縦幅との関係について簡単に説明する。
【００８７】
調査して得られた統計データに基づけば、人間の顔の左右方向の最大長さの値を１とした場合において、その顔の目の左右方向の最大長さの値は、例えば０．１〜０．２であり、その顔の目の上下方向の最大長さの値は、例えば０．１である。また、目の目頭と目尻との左右方向の距離の値を１とした場合に、その目の上下方向の最大長さの値は、例えば０．６５である。なお、これらの数値は、事前に調査して得られた結果を示す一例であり、さらに統計データを取って事前に調査して、これらと異なる数値を使用することもできる。
【００８８】
また、本実施の形態において、目頭および目尻の位置に対する目領域の上下位置の決定については、個人差や顔の傾きの影響を受けること、および、目領域に対して赤目となる瞳孔領域は小さく余裕があること等に基づいて、目頭および目尻の上下方向の位置の平均位置を中心位置とした場合に、中心位置から上端および下端までの長さは等しいものと想定する。
【００８９】
次に、顔検出エンジン１６０が検出した顔画像において右目の目頭および目尻が検出された場合における右目の目領域の設定方法について図面を参照して説明する。
【００９０】
図７は、検出された目頭または目尻と、これらに基づいて設定される目領域との関係を示す図である。
【００９１】
図７（ａ）は、右目Ｅ１の目頭Ｅ１ａと目尻Ｅ１ｂ、および左目Ｅ２の目頭Ｅ２ａと目尻Ｅ２ｂが検出されている場合において、右目Ｅ１の目頭Ｅ１ａと目尻Ｅ１ｂに基づいて右目の目領域ＥＥ１が設定され、左目Ｅ２の目頭Ｅ２ａと目尻Ｅ２ｂに基づいて左目の目領域ＥＥ２が設定される場合の概略を示す図である。
【００９２】
図７（ｂ）は、右目Ｅ１の目尻Ｅ１ｂ、および左目Ｅ２の目頭Ｅ２ａと目尻Ｅ２ｂが検出されている場合において、右目Ｅ１の目尻Ｅ１ｂ、および左目Ｅ２の目頭Ｅ２ａと目尻Ｅ２ｂとに基づいて右目の目領域ＥＥ１が設定され、左目Ｅ２の目頭Ｅ２ａと目尻Ｅ２ｂに基づいて左目の目領域ＥＥ２が設定される場合の概略を示す図である。
【００９３】
図７（ｃ）は、左目Ｅ２の目頭Ｅ２ａおよび目尻Ｅ２ｂが検出されている場合において、左目Ｅ２の目頭Ｅ２ａおよび目尻Ｅ２ｂに基づいて右目の目領域ＥＥ１および左目の目領域ＥＥ２が設定される場合の概略を示す図である。
【００９４】
図７（ｄ）は、左目Ｅ２の目頭Ｅ２ａのみが検出されている場合において、左目Ｅ２の目頭Ｅ２ａと顔Ｆ１の左右方向の最大長さの値ＨＬ１とに基づいて右目の目領域ＥＥ１および左目の目領域ＥＥ２が設定される場合の概略を示す図である。
【００９５】
図７（ｅ）は、右目Ｅ１および左目Ｅ２の目頭および目尻の何れも検出されなかった場合において、過去の統計データと顔Ｆ１の左右方向の最大長さの値ＨＬ１とに基づいて右目の目領域ＥＥ１および左目の目領域ＥＥ２が設定される場合の概略を示す図である。
【００９６】
図８は、目頭目尻検出エンジン１７０が検出した右目Ｅ１の目頭Ｅ１ａおよび目尻Ｅ１ｂに基づいて目領域ＥＥ１を設定する目領域設定方法の概略を示す図である。
【００９７】
例えば、図７（ａ）および図８に示すように、右目Ｅ１について目頭Ｅ１ａおよび目尻Ｅ１ｂが検出された場合には、検出された目頭Ｅ１ａおよび目尻Ｅ１ｂに基づいて目領域が設定される。具体的には、目頭Ｅ１ａの上下方向の位置と目尻Ｅ１ｂの上下方向の位置とから、目頭Ｅ１ａの上下方向の位置と目尻Ｅ１ｂの上下方向の位置との平均位置Ｏ１を求める。そして、求めた平均位置Ｏ１を目領域ＥＥ１の上下方向に対する中心位置として決定する。
【００９８】
続いて、目頭Ｅ１ａの位置と目尻Ｅ１ｂの位置との左右方向の距離の値Ｌ１を求める。そして、次の（式１）を用いて、求めた距離の値Ｌ１に所定の値Ａを乗じた値を、目領域ＥＥ１の上下方向の値Ｈ１とする。
Ｈ１＝Ｌ１×Ａ……（式１）
【００９９】
本実施の形態では、「Ａ＝０．６５＋α」を用いる。なお、αは目領域に余裕を持たせるために使用する値であり、本実施の形態では、例えば「α＝０．０５」を使用する。
【０１００】
続いて、次の（式２）を用いて、目領域ＥＥ１において、中心位置から上端までの距離を示す値Ｈ１ａを求める。また、次の（式３）を用いて、目領域ＥＥ１において、中心位置から下端までの距離を示す値Ｈ１ｂを求める。
Ｈ１ａ＝Ｈ１×（１／２）……（式２）
Ｈ１ｂ＝Ｈ１×（１／２）……（式３）
【０１０１】
続いて、求めた値Ｌ１と値Ｈ１ａと値Ｈ１ｂとを用いて、検出された目頭Ｅ１ａおよび目尻Ｅ１ｂのそれぞれが両端に位置するように、目領域ＥＥ１を設定する。このようにして、周辺画像における目領域ＥＥ１の位置および大きさを求める。
【０１０２】
次に、顔検出エンジン１６０が検出した顔画像において右目の目尻のみが検出された場合における右目の目領域の設定方法について図面を参照して説明する。
【０１０３】
図９は、目頭目尻検出エンジン１７０が検出した右目Ｅ１の目尻に基づいて目領域を設定する目領域設定方法の概略を示す図である。
【０１０４】
例えば、図７（ｂ）および図９に示すように、右目Ｅ１について目尻Ｅ１ｂのみが検出された場合には、検出された目尻Ｅ１ｂに基づいて目領域が設定される。具体的には、目尻Ｅ１ｂの上下方向の位置を目領域ＥＥ１の上下方向に対する中心位置Ｏ１として決定する。
【０１０５】
続いて、目頭の位置と目尻Ｅ１ｂの位置との左右方向の距離の値Ｌ３を求める。ただし、右目Ｅ１の目頭を検出できなかったため、左右方向の距離の値Ｌ３を直接求めることができない。
【０１０６】
ここで、図７（ｂ）に示すように、左目Ｅ２の目頭Ｅ２ａと目尻Ｅ２ｂとが検出されている場合には、左目Ｅ２の目頭Ｅ２ａと目尻Ｅ２ｂとの左右方向の距離の値Ｌ２を求める。また、左目の目頭または目尻の何れか一方が検出されていない場合には、左右方向の距離の値Ｌ２を求めることができないため、上述した人間の顔領域と目領域との関係を利用して目頭と目尻との左右方向の距離の値Ｌ３を求める。具体的には、周辺画像に含まれる顔Ｆ１の左右方向の最大長さの値を１とした場合に、顔Ｆ１の目の左右方向の最大長さの値は、例えば０．２とする。そして、周辺画像に含まれる顔Ｆ１の左右方向の最大長さの値をＨＬ１とした場合に、次の（式４）を用いて、目頭と目尻との左右方向の距離の値Ｌ３を求める。
Ｌ３＝０．２×ＨＬ１……（式４）
【０１０７】
続いて、次の（式５）を用いて、求めた距離の値Ｌ２またはＬ３に所定の値Ａを乗じた値を、目領域ＥＥ１の上下方向の値Ｈ１とする。なお、Ａは、上記で示した（式１）のＡと同様の値である。
Ｈ１＝Ｌ２（Ｌ３）×Ａ……（式５）
【０１０８】
また、上記で示した（式２）および（式３）を用いて、目領域ＥＥ１において、中心位置から上端までの距離を示す値Ｈ１ａ、および、中心位置から下端までの距離を示す値Ｈ１ｂを求める。
【０１０９】
続いて、求めた値Ｌ２またはＬ３と値Ｈ１ａと値Ｈ１ｂとを用いて、検出された目尻Ｅ１ｂが右端に位置するように、目領域ＥＥ１を設定する。また、周辺画像における目領域ＥＥ１の位置と大きさを求める。
【０１１０】
次に、顔検出エンジン１６０が検出した顔画像において右目の目頭および目尻の何れも検出されなかった場合における右目の目領域の設定方法について図７を参照して説明する。
【０１１１】
例えば、図７（ｃ）〜（ｅ）に示すように、右目Ｅ１について目頭および目尻の何れも検出されなかった場合には、左目の目頭または目尻、または、過去の統計データに基づいて右目の目領域が設定される。
【０１１２】
具体的には、図７（ｃ）に示すように、左目の目頭Ｅ２ａおよび目尻Ｅ２ｂが検出されている場合には、目頭Ｅ２ａの上下方向の位置と目尻Ｅ２ｂの上下方向の位置とから、目頭Ｅ２ａの上下方向の位置と目尻Ｅ２ｂの上下方向の位置との平均位置を求める。そして、求めた平均位置を目領域ＥＥ１の上下方向に対する中心位置として決定する。
【０１１３】
続いて、左目Ｅ２の目頭Ｅ２ａと目尻Ｅ２ｂとの左右方向の距離の値Ｌ２を求める。
【０１１４】
続いて、上述した（式５）を用いて、求めた距離の値Ｌ２に所定の値Ａを乗じた値を、目領域ＥＥ１の上下方向の値Ｈ１とする。
【０１１５】
続いて、目領域ＥＥ１の上下方向の値Ｈ１を用いて、上記で示した（式２）および（式３）を用いて、目領域ＥＥ１において、中心位置から上端までの距離を示す値Ｈ１ａ、および、中心位置から下端までの距離を示す値Ｈ１ｂを求める。
【０１１６】
続いて、求めた値Ｌ２と値Ｈ１ａと値Ｈ１ｂとを用いて、左目の目頭Ｅ２ａおよび目尻Ｅ２ｂの位置に基づいて目領域ＥＥ１を設定する。なお、周辺画像における目領域ＥＥ１の左右方向の位置は、周辺画像に含まれる顔Ｆ１の中心位置に対して目領域ＥＥ２と左右対称となる位置とする。そして、周辺画像における目領域ＥＥ１の位置と大きさを求める。
【０１１７】
また、図７（ｄ）に示すように、左目の目頭または目尻の何れかが検出されている場合には、検出された目頭または目尻の上下方向の位置を目領域ＥＥ１の上下方向に対する中心位置として決定する。例えば、左目の目頭Ｅ２ａが検出された場合には、検出された目頭Ｅ２ａの上下方向の位置を目領域ＥＥ１の上下方向に対する中心位置として決定する。
【０１１８】
続いて、周辺画像に含まれる顔Ｆ１の左右方向の最大長さの値をＨＬ１とした場合に、上述した（式４）を用いて、目頭と目尻との左右方向の距離の値Ｌ３を求める。
【０１１９】
続いて、上述した（式５）を用いて、求めた距離の値Ｌ３に所定の値Ａを乗じた値を、目領域ＥＥ１の上下方向の値Ｈ１とする。
【０１２０】
続いて、目領域ＥＥ１の上下方向の値Ｈ１を用いて、上記で示した（式２）および（式３）を用いて、目領域ＥＥ１において、中心位置から上端までの距離を示す値Ｈ１ａ、および、中心位置から下端までの距離を示す値Ｈ１ｂを求める。
【０１２１】
続いて、求めた値Ｌ３と値Ｈ１ａと値Ｈ１ｂとを用いて、左目Ｅ２の目頭Ｅ２ａまたは目尻Ｅ２ｂの位置に基づいて目領域ＥＥ１を設定する。なお、周辺画像における目領域ＥＥ１の左右方向の位置は、周辺画像に含まれる顔Ｆ１の中心位置に対して目領域ＥＥ２と左右対称となる位置とする。そして、周辺画像における目領域ＥＥ１の位置と大きさを求める。
【０１２２】
図１０は、顔の上下方向の最大長さおよび左右方向の最大長さをそれぞれ１とした場合における右目の目頭および目尻の分布について、調査して求められた統計データを示す図である。なお、図１０（ａ）に示す矩形の枠ＷＥ１は、９９．７％の右目の目頭が存在した領域を示すものであり、図１０（ｂ）に示す矩形の枠ＷＥ２は、９９．７％の右目の目尻が存在した領域を示すものである。
【０１２３】
この統計データは、顔検出エンジン１６０が検出した顔画像の顔領域において、顔の上下方向の最大長さおよび左右方向の最大長さをそれぞれ１とした場合に、この顔の右目の目頭および目尻の分布を順次求めたものである。なお、この統計データとしては、顔検出エンジン１６０が検出した顔画像のうちで、顔が正面を向いているものを使用した。
【０１２４】
また、本実施の形態では、右目の目頭または目尻の９９．７％を占める領域（枠ＷＥ１または枠ＷＥ２に含まれる領域）を用いて、目領域を設定するが、スピードを優先する場合には、性能の低下を招くことが予想されるが領域をさらに狭めたものを使用することも可能である。
【０１２５】
なお、図１０には右目のみを示すが、左目も左右対称に折り返した位置にあると考えて問題ない。また、図１０に示す数値は一例であり、顔検出の結果に応じて具体的な数値を順次求めるようにしてもよい。また、顔の検出後に、検出された顔の人種の推定が可能な場合には、人種に応じた目領域サイズの違いを考慮するようにしてもよい。このようにすることによって、さらに確度の高い推定をすることができる。
【０１２６】
ここで、図７（ｅ）に示すように、左目の目頭および目尻の何れも検出されなかった場合には、図１０に示す過去の統計データに基づいて、右目の目頭および目尻の存在する可能性が高い位置を求める。具体的には、図１０（ａ）に示す矩形の枠ＷＥ１の中心位置を目頭の位置とし、図１０（ｂ）に示す矩形の枠ＷＥ２の中心位置を目尻の位置とする。続いて、過去の統計データに基づいて求めた目頭の位置および目尻の位置を用いて、目頭の上下方向の位置と目尻の上下方向の位置との平均位置を求める。そして、求めた平均位置を目領域ＥＥ１の上下方向に対する中心位置として決定する。
【０１２７】
続いて、周辺画像に含まれる顔Ｆ１の左右方向の最大長さの値をＨＬ１とした場合に、上述した（式４）を用いて、目頭と目尻との左右方向の距離の値Ｌ３を求める。
【０１２８】
続いて、上述した（式５）を用いて、求めた距離の値Ｌ３に所定の値Ａを乗じた値を、目領域ＥＥ１の上下方向の値Ｈ１とする。
【０１２９】
続いて、目領域ＥＥ１の上下方向の値Ｈ１を用いて、上記で示した（式２）および（式３）を用いて、目領域ＥＥ１において、中心位置から上端までの距離を示す値Ｈ１ａ、および、中心位置から下端までの距離を示す値Ｈ１ｂを求める。
【０１３０】
続いて、求めた値Ｌ３と値Ｈ１ａと値Ｈ１ｂとを用いて、過去の統計データに基づいて求めた目頭の位置および目尻が両端に位置するように、目領域ＥＥ１を設定する。また、周辺画像における目領域ＥＥ１の位置と大きさを求める。
【０１３１】
なお、目頭と目尻との左右方向の距離については、周辺画像に含まれる顔Ｆ１の左右方向の最大長さからＬ３を求める代わりに、過去の統計データに基づいて求めた目頭および目尻に基づいて求めるようにしてもよい。
【０１３２】
図１１は、画像処理装置１００による目領域設定の処理手順を示すフローチャートである。なお、この処理手順は、図３に示すステップＳ９５０における目領域設定処理を示すものである。また、これらの処理手順は、ＣＰＵ１１０が実行するものである。
【０１３３】
最初に、ＲＡＭ１２０に記憶されている顔情報と、その顔画像に対応する顔の両目の目頭および目尻の検出結果とが入力される（ステップＳ９５１）。入力された両目の目頭および目尻の検出結果のうちで、片方の目の目頭および目尻の検出結果が抽出され（ステップＳ９５２）、抽出された片方の目において目頭および目尻の検出に成功しているか否かが判断される（ステップＳ９５３）。
【０１３４】
例えば、図８および図７（ａ）に示すように、右目Ｅ１について目頭Ｅ１ａおよび目尻Ｅ１ｂが検出されている場合には（ステップＳ９５３）、目頭Ｅ１ａの上下方向の位置と目尻Ｅ１ｂの上下方向の位置とから、目頭Ｅ１ａの上下方向の位置と目尻Ｅ１ｂの上下方向の位置との平均位置Ｏ１を求め、求めた平均位置Ｏ１を目領域ＥＥ１の上下方向に対する中心位置として決定する（ステップＳ９５４）。
【０１３５】
続いて、目頭Ｅ１ａの位置と目尻Ｅ１ｂの位置との左右方向の距離の値Ｌ１を求め、上述した（式１）を用いて、求めた距離の値Ｌ１に所定の値Ａを乗じた値を、目領域ＥＥ１の上下方向の値Ｈ１とする（ステップＳ９５５）。
【０１３６】
続いて、上述した（式２）を用いて、目領域ＥＥ１において、中心位置から上端までの距離を示す値Ｈ１ａを求め、上述した（式３）を用いて、目領域ＥＥ１において、中心位置から下端までの距離を示す値Ｈ１ｂを求める。そして、求めた値Ｌ１と値Ｈ１ａと値Ｈ１ｂとを用いて、検出された目頭Ｅ１ａおよび目尻Ｅ１ｂのそれぞれが両端に位置するように、目領域ＥＥ１を設定する。また、周辺画像における目領域ＥＥ１の位置と大きさを求める（ステップＳ９５６）。
【０１３７】
一方、抽出された片方の目において目頭および目尻の検出に成功していない場合には（ステップＳ９５３）、抽出された片方の目において目頭または目尻の何れかの検出に成功しているか否かが判断される（ステップＳ９５７）。抽出された片方の目において目頭または目尻の何れかの検出に成功している場合には（ステップＳ９５７）、検出された目頭の上下方向の位置または目尻の上下方向の位置を目領域の上下方向に対する中心位置として決定する（ステップＳ９５８）。
【０１３８】
例えば、図９および図７（ｂ）に示すように、右目Ｅ１において目尻Ｅ１ｂが検出されている場合には（ステップＳ９５７）、目尻Ｅ１ｂの上下方向の位置を目領域ＥＥ１の上下方向に対する中心位置Ｏ１として決定する（ステップＳ９５８）。
【０１３９】
続いて、他方の目の目頭および目尻の検出に成功しているか否かが判断される（ステップＳ９５９）。他方の目の目頭および目尻の検出に成功している場合には（ステップＳ９５９）、他方の目の目頭と目尻との左右方向の距離の値を求め、求めた値に所定値を乗じた値を目領域の上下方向の値として決定する（ステップＳ９６０）。
【０１４０】
例えば、図７（ｂ）に示すように、左目Ｅ２の目頭Ｅ２ａと目尻Ｅ２ｂとが検出されている場合には（ステップＳ９５９）、左目Ｅ２の目頭Ｅ２ａと目尻Ｅ２ｂとの左右方向の距離の値Ｌ２を求める。続いて、上述した（式５）を用いて、求めた距離の値Ｌ２に所定の値Ａを乗じた値を、目領域ＥＥ１の上下方向の値Ｈ１とする。
【０１４１】
一方、他方の目の目頭および目尻の検出に成功していない場合には（ステップＳ９５９）、周辺画像に含まれる顔の左右方向の最大長さの値をＨＬ１とし、上述した（式４）を用いて、目頭と目尻との左右方向の距離の値Ｌ３を求める。そして、上述した（式５）を用いて、求めた距離の値Ｌ３に所定の値Ａを乗じた値を、目領域ＥＥ１の上下方向の値Ｈ１とする（ステップＳ９６４）。
【０１４２】
また、抽出された片方の目において目頭および目尻の何れの検出にも成功していない場合には（ステップＳ９５７）、他方の目の目頭または目尻の何れかの検出に成功しているか否かが判断される（ステップＳ９６１）。他方の目の目頭または目尻の何れかの検出に成功している場合には（ステップＳ９６１）、検出された他方の目の目頭の上下方向の位置または目尻の上下方向の位置に基づいて目領域の上下方向に対する中心位置を決定する（ステップＳ９６２）。
【０１４３】
例えば、図７（ｃ）に示すように、他方の目の目頭Ｅ２ａおよび目尻Ｅ２ｂが検出されている場合には（ステップＳ９６１）、他方の目の目頭の上下方向の位置と目尻の上下方向の位置とから、これらの平均位置が求められ、求めた平均位置が目領域の上下方向に対する中心位置として決定される（ステップＳ９６２）。また、図７（ｄ）に示すように、他方の目の目頭または目尻の何れかが検出されている場合には（ステップＳ９６１）、検出された他方の目の目頭の上下方向の位置または目尻の上下方向の位置が目領域の上下方向に対する中心位置として決定される（ステップＳ９６２）。
【０１４４】
検出された他方の目の目頭の上下方向の位置または目尻の上下方向の位置に基づいて目領域の上下方向に対する中心位置が決定された後に（ステップＳ９６２）、ステップＳ９５９に進む。
【０１４５】
一方、他方の目の目頭または目尻の何れの検出にも成功していない場合には（ステップＳ９６１）、過去の統計データに基づいて右目の目頭および目尻の存在する可能性が高い位置を求め、過去の統計データに基づいて求めた目頭の上下方向の位置と目尻の上下方向の位置との平均位置を求め、求めた平均位置を目領域の上下方向に対する中心位置として決定する（ステップＳ９６３）。
【０１４６】
例えば、図７（ｅ）に示すように、左目の目頭および目尻の何れも検出されなかった場合には（ステップＳ９６１）、図１０に示す過去の統計データに基づいて、右目の目頭および目尻の存在する可能性が高い位置を求め、過去の統計データに基づいて求めた目頭の上下方向の位置と目尻の上下方向の位置との平均位置を求め、求めた平均位置を目領域ＥＥ１の上下方向に対する中心位置として決定する（ステップＳ９６３）。
【０１４７】
続いて、周辺画像に含まれる顔の左右方向の最大長さの値をＨＬ１とし、上述した（式４）を用いて、目頭と目尻との左右方向の距離の値Ｌ３を求める。そして、上述した（式５）を用いて、求めた距離の値Ｌ３に所定の値Ａを乗じた値を、目領域ＥＥ１の上下方向の値Ｈ１とする（ステップＳ９６４）。
【０１４８】
続いて、以上で求めた目領域ＥＥ１の上下方向の値Ｈ１を用いて、上記で示した（式２）および（式３）を用いて、目領域ＥＥ１において、中心位置から上端までの距離を示す値Ｈ１ａ、および、中心位置から下端までの距離を示す値Ｈ１ｂを求める。そして、求めた値Ｌ２またはＬ３と値Ｈ１ａと値Ｈ１ｂとを用いて目領域ＥＥ１を設定する。また、周辺画像における目領域ＥＥ１の位置と大きさを求める（ステップＳ９５６）。
【０１４９】
続いて、入力された顔の両目の目領域が設定されたか否かが判断される（ステップＳ９６５）。入力された顔の両目の目領域が設定されていれば（ステップＳ９６５）、目領域設定の処理手順の動作を終了する。一方、入力された顔の両目の目領域が設定されていなければ（ステップＳ９６５）、残っている他方の目について、目領域設定の処理手順の動作を繰り返す（ステップＳ９５２〜ステップＳ９６４）。
【０１５０】
次に、顔検出エンジン１６０が検出した顔画像において赤目領域を抽出する赤目領域抽出方法について図面を参照して説明する。
【０１５１】
最初に、図３に示すステップＳ９１１において、解像度変換エンジン１４０により周辺画像を赤目領域抽出処理に適する解像度に変換する解像度変換処理について図面を参照して説明する。
【０１５２】
図１２は、図３に示すステップＳ９５０で設定された右目の目領域において左右方向に右側に向かって１ラインを走査した場合における色差（赤）の値の変化を表すグラフを示す図である。なお、以下で示す各グラフ（図３２に示すグラフを除く）において、横軸は、目領域における左右方向（水平方向）の１ラインの位置を示す軸であり、以下ではｘ軸とする。また、縦軸は、目領域における画像データの色差（赤）の値を示す軸である。
【０１５３】
また、以下で示す各図において、黒塗りの三角は走査によって抽出された山型範囲の開始点を示すものであり、黒塗りの丸は走査によって抽出された山型範囲の範囲内最大点を示すものであり、黒塗りの四角は走査によって抽出された山型範囲の終了点を示すものである。なお、山型範囲とは、例えば、図１３の範囲ＲＥ１０で示すように、目領域の１ラインを走査することによって抽出された色差（赤）の値の変化を表すグラフにおいて、その変化の形状が山型となる範囲である。また、山型範囲の開始点と終了点とは、各グラフにおいて左から右に向かう曲線上における山型範囲の開始点および終了点である。なお、本実施の形態における山型範囲の開始点および終了点については、図１８に示すステップＳ１１０６において詳細に説明する。
【０１５４】
また、本実施の形態における説明において、左側とは各図に向かって左側を意味し、右側とは各図に向かって右側を意味する。
【０１５５】
図１２（ａ）は、顔検出エンジン１６０によって検出された顔画像が高解像度の画像とされた状態で右目の目領域の１ラインが走査された場合において、走査によって抽出された色差（赤）の変化を表すグラフを示す図である。図１２（ａ）に示すように、高解像度の画像では情報量が多いため、色差（赤）の変化に微小変化が含まれる。このように、色差（赤）の変化に微小変化が含まれると、細かい揺らぎや高周波ノイズが発生し易く、これらの影響によって赤目領域を誤検出する可能性が高い。なお、図１２（ａ）においては、山型範囲の開始点と終了点と範囲内最大点との一部を省略して示す。
【０１５６】
図１２（ｂ）は、顔検出エンジン１６０によって検出された顔画像が正規化された状態で右目の目領域の１ラインが走査された場合において、走査によって抽出された色差（赤）の変化を表すグラフを示す図である。図１２（ｂ）に示すように、正規化された画像では情報量が比較的少ないため、微小変化を含むことが少ない。このため、色差（赤）の変化が比較的単純になり、色差（赤）の変化が滑らかになるものの、赤目抽出のために必要な特徴量は問題なく残している。このように、正規化によって顔画像が赤目領域抽出処理に適する解像度に変換されることによって、細かい揺らぎや高周波ノイズの発生を防止する。
【０１５７】
ここで、具体的な正規化処理について説明する。正規化処理とは、顔検出エンジン１６０によって検出された顔画像について、解像度変換エンジン１４０が、赤目領域抽出に適するように、その顔画像の縦横比を保持した状態でその顔画像の大きさを一定の大きさにするとともに、赤目領域抽出に適した解像度に変換して赤目領域抽出用画像を作成する処理である。
【０１５８】
顔検出エンジン１６０および目頭目尻検出エンジン１７０によって検出された顔画像、目頭画像、目尻画像に対応する画像データを検証した結果、縦横比を保持した状態で顔画像の横幅を３２０ピクセル程度にすると効果的であるという結果が得られた。このため、本実施の形態では、この数値を使用して説明する。しかし、使用するＲＡＭの容量や処理時間の制限等に応じて、この数値以下の数値を用いるようにしてもよい。この場合には、抽出精度が多少低下するものの、抽出処理は可能である。このように、正規化のサイズは、抽出精度やスピード条件等に基づいて決定することが好ましい。
【０１５９】
なお、赤目領域抽出の対象となる画像が、赤目領域抽出に適した大きさよりも小さい場合には、正規化処理を省略するようにしてもよい。
【０１６０】
次に、目領域の各ラインを走査することによって抽出された色差（赤）の値に基づいて、単一の閾値により赤目領域を設定する赤目領域設定の例について図面を参照して説明する。
【０１６１】
図１３〜図１５は、目領域の１ラインを走査することによって抽出された色差（赤）の値の変化と、単一の閾値を用いて設定された赤目領域ＲＥ１０〜ＲＥ１２とを表すグラフを示す図である。図１３〜図１５に示すように、単一の閾値を用いて赤目領域を設定する場合において、赤目領域と判断された範囲は、その範囲内の色差（赤）の最低値や高低差がまちまちである。また、必要な領域よりも広い領域を赤目領域と判断する場合があるとともに、必要な領域よりも狭い領域を赤目領域と判断する場合がある。これに対して、本実施の形態では、以下で示すように、単一の閾値を用いるとともに色差（赤）の変化や輝度等に基づいて赤目領域を抽出する。
【０１６２】
次に、図３に示すステップＳ１０００における赤目領域抽出処理について図面を参照して説明する。
【０１６３】
なお、以下で示す赤目領域抽出処理においては、輝度および色差（赤）に基づいて赤目領域抽出処理を実行する。このため、顔画像を含む周辺画像（目領域）に対応する画像データが輝度および色差(赤および青)の画像データではない場合には、赤目抽出処理を実行する前に、顔画像を含む周辺画像（目領域）に対応する画像データのそれぞれを所定の変換式を用いて、輝度および色差(赤および青）に変換する。
【０１６４】
図１６は、画像処理装置１００による赤目領域抽出の処理手順（ステップＳ１０００）を示すフローチャートである。なお、これらの処理手順は、ＣＰＵ１１０が実行するものである。
【０１６５】
図１７は、図１６に示すステップＳ１１００、ステップＳ１２００、ステップＳ１３００、ステップＳ１４００の各処理に応じた目領域における赤目の抽出状況の概略を示す図である。図１７に示すように、以下では、ステップＳ９５０で設定された右目Ｅ１の目領域ＥＥ１を用いて赤目領域抽出処理を説明する。目領域ＥＥ１には右目Ｅ１が含まれ、右目Ｅ１には、目尻Ｅ１ｂと虹彩領域Ｅ１ｃと瞳孔領域Ｅ１ｄとが存在する。なお、右目Ｅ１には、いわゆる赤目現象が発生しており、虹彩領域Ｅ１ｃ内において瞳孔領域Ｅ１ｄの周りに赤色となっている領域ＲＥＥが発生している。
【０１６６】
また、上述したように、黒塗りの三角は走査によって抽出された山型範囲の開始点を示すものであり、黒塗りの丸は走査によって抽出された山型範囲の範囲内最大点を示すものであり、黒塗りの四角は走査によって抽出された山型範囲の終了点を示すものである。なお、図１７（ａ）〜（ｄ）の詳細については、図１６を参照して説明する。
【０１６７】
最初に、赤目領域抽出用顔画像保存領域１２０ｄに保存されている周辺画像に含まれる顔から、ステップＳ９５０で設定された目領域が取り出され、取り出された目領域において左右方向の１画素のライン毎に走査が行われる。この走査によって、目領域の１ラインにおける色差（赤および青）および輝度の値が１画素毎に抽出される。続いて、走査された目領域の１ラインにおける色差（赤）の値とそのラインの位置との関係に基づいて、抽出された色差（赤）の値の変化が山型となる範囲である山型範囲を抽出する。そして、各ラインにおいて、抽出された山型範囲の中から赤目領域候補を抽出する（ステップＳ１１００)。なお、山型範囲とは、走査された目領域の１ラインにおける色差（赤）の値とそのラインの位置との関係を示すグラフにおいて、色差（赤）の値の変化が山型となる範囲を意味し、例えば、図１９に示す開始点Ｍ１ｓからＭ１ｅまでの範囲Ｍ１、および開始点Ｍ２ｓからＭ２ｅまでの範囲Ｍ２である。
【０１６８】
図１７（ａ）は、ステップＳ９５０で設定された右目Ｅ１の目領域ＥＥ１において左右方向に各ラインの走査が行われた結果が目領域ＥＥ１に表示されている状態を示す図である。すなわち、抽出された山型範囲（赤目領域候補）の開始点（黒塗り三角）と範囲内最大点（黒塗り丸）と終了点（黒塗り四角）とが目領域ＥＥ１に表示されている。図１７（ａ）に示すように、赤目現象により赤色となっている虹彩領域Ｅ１ｃの内側付近において、山型範囲の開始点と終了点とが抽出され、瞳孔領域Ｅ１ｄの周辺付近に山型範囲の範囲内最大点が抽出されている。しかし、赤みを帯びている右目Ｅ１の上下瞼（まぶた）付近と、赤みを帯びている目尻Ｅ１ｂ付近の領域ＮＺ１とにおいても、山型範囲の開始点と範囲内最大点と終了点とが抽出されている。
【０１６９】
続いて、各ラインにおいて抽出された赤目領域候補について、上下のライン間の関連を考慮し、ノイズである赤目領域候補を除去する（ステップＳ１２００）。
【０１７０】
図１７（ｂ）は、図１７（ａ）に示した右目Ｅ１の目領域ＥＥ１において、ノイズ除去処理が実行された後の赤目領域候補と右目Ｅ１の目領域ＥＥ１との関係を示す概略図である。図１７（ｂ）に示すように、右目Ｅ１の上下瞼付近と、目尻Ｅ１ｂ付近の領域ＮＺ１とにおいて抽出された赤目領域候補が、ノイズ除去処理により除去される。
【０１７１】
続いて、ノイズを除去した後に残った各ラインにおける赤目領域候補について、各赤目領域候補の左右方向の範囲のうちで、最も左側の位置から最も右側の位置を設定する。続いて、設定された最も左側の位置から最も右側の位置を走査範囲として、ステップＳ９５０で設定された目領域において上下方向（垂直方向）の１画素のライン毎に走査が行われる。この走査によって、ステップＳ１１００の処理と同様に、目領域の１ラインにおける色差（赤および青）および輝度の値が１画素毎に抽出される。続いて、走査された目領域の１ラインにおける色差（赤）の値とそのラインの位置との関係に基づいて、抽出された色差（赤）の値の変化が山型となる範囲である山型範囲を抽出する。そして、各ラインにおいて、抽出された山型範囲の中から赤目領域候補を抽出する（ステップＳ１３００)。このように、左右方向の走査とともに上下方向の走査を実行することによって、赤目領域候補の抽出精度を高めることができる。なお、縦方向の１ラインずつの走査については、処理時間の制限等がある場合には、精度の低下を招くものの省略することも可能である。
【０１７２】
図１７（ｃ）は、図１７（ｂ）に示した右目Ｅ１の目領域ＥＥ１において、上下方向に各ラインの走査が行われた結果、抽出された山型範囲の開始点と範囲内最大点と終了点と、右目Ｅ１の目領域ＥＥ１との関係を示す概略図である。図１７（ｃ）に示すように、ノイズ除去処理により右目Ｅ１の上下瞼付近において除去された赤目領域候補のうちの一部が抽出されている。なお、図１７（ｃ）では、ステップＳ１３００においてのみ抽出された開始点と範囲内最大点と終了点とについて、白抜きの三角、丸、四角で示す。
【０１７３】
続いて、赤目領域候補の中から赤目領域を設定する（ステップＳ１４００)。
【０１７４】
図１７（ｄ）は、図１７（ｃ）に示した右目Ｅ１の目領域ＥＥ１において、抽出された山型範囲の開始点と範囲内最大点と終了点とを囲むように配置された矩形枠Ｓ１および円形枠Ｃ１を示す概略図である。ステップＳ１１００〜ステップＳ１３００において抽出された赤目領域候補に基づいて赤目領域を設定する。
【０１７５】
なお、本実施の形態において、赤目領域を設定する場合における赤目領域の領域情報については、図１７（ｄ）に示すように、円と矩形（長方形）とを組み合わせた図形に基づいて生成する。このため、ステップＳ１１００〜ステップＳ１３００において抽出された左右方向および上下方向の開始点と終了点とを囲むように矩形枠Ｓ１および円形枠Ｃ１が配置され、矩形枠Ｓ１と円形枠Ｃ１との重複範囲が赤目領域の領域情報として生成される。このように、円と矩形とを組み合わせた図形に基づいて赤目領域の領域情報を生成することによって、解像度が異なる画像に対して、抽出された赤目領域を座標変換して処理する際の処理効率を高めることができる。また、図１７（ｄ）に示すように、円と矩形とを組み合わせた図形により赤目領域を設定することによって、赤めの肌、まつ毛、瞼等のように、赤目領域であると誤検出しやすい領域の多くを除外することが可能である。特に、日本人の場合には、瞳孔領域が上瞼によって覆われることが多いため、赤目領域であると誤検出しやすい領域の多くを除外することが可能である。なお、ステップＳ１１００〜ステップＳ１３００において抽出された左右方向および上下方向の赤目領域候補の開始点と終了点とを含む赤目領域候補の各ラインの値の集合を、赤目領域の領域情報として生成するようにしてもよい。
【０１７６】
次に、図１６に示すステップＳ１１００において、目領域から赤目領域候補を抽出する赤目領域候補抽出処理について図面を参照して説明する。
【０１７７】
図１８は、画像処理装置１００による赤目領域候補抽出処理（ステップＳ１１００）の処理手順を示すフローチャートである。なお、これらの処理手順は、ＣＰＵ１１０が実行するものである。
【０１７８】
最初に、赤目領域抽出用顔画像保存領域１２０ｄに保存されている周辺画像が入力される（ステップＳ１１０１）。
【０１７９】
続いて、目領域の設定の際に検出された目領域情報が赤目領域抽出用顔画像保存領域１２０ｄに保存されている周辺画像に対応するように変換される（ステップＳ１１０２）。
【０１８０】
続いて、変換された目領域情報に基づいて、赤目領域抽出用顔画像保存領域１２０ｄに保存されている周辺画像に含まれる顔から、ステップＳ９５０で設定された目領域が取り出される（ステップＳ１１０３）。この場合に、その顔の両目の目領域が取り出される。
【０１８１】
続いて、取り出された両目の目領域のうちの何れかの目領域が選択され、選択された目領域の左上隅に走査ポインタが設定される（ステップＳ１１０４）。例えば、図１７（ａ）に示す右目の目領域ＥＥ１が選択され、右目の目領域ＥＥ１の目尻Ｅ１ｂの上側にある左上隅に走査ポインタが設定される。
【０１８２】
続いて、目領域の左右方向において左から右に向かって、画像データの色差（赤および青）および輝度の値を抽出するための走査が実行される（ステップＳ１１０５）。この走査は、画像データの１画素毎に左右方向の１ラインが走査される。なお、走査によって抽出された画像データの色差（赤および青）および輝度の値は、そのラインの位置と対応してＲＡＭ１２０に順次保存される。
【０１８３】
続いて、走査された目領域における色差（赤）の値とそのラインの位置との関係に基づいて、抽出された色差（赤）の値の変化が山型となる範囲である山型範囲を抽出する（ステップＳ１１０６）。この場合に、開始点と範囲内最大点と終了点とが検出された山型範囲のみを抽出する。なお、山型範囲における開始点とは、基準点における色差（赤）の値が１ピクセル前の点の値よりも所定の閾値である第１閾値以上大きくなった場合における当該基準点を意味し、範囲内最大点とは、山型範囲における色差（赤）の値が最大の値である点を意味し、終了点とは、山型範囲内における範囲内最大点の色差（赤）の値に基づいて求められる第２閾値よりも小さくなった後に最初に現れる谷の点を意味する。また、山型範囲を抽出する場合には、開始点と範囲内最大点と終了点とのｘ座標の値と、ｘ座標の値に対応する色差（赤）および輝度の値とを含む範囲情報が生成される。なお、第１閾値として、例えば、『４×（「目領域の横サイズ」÷６４）』の値を用いることができる。なお、第１閾値は、「目領域の横サイズ」を６４等分して正規化した値に基づいて算出される閾値である。また、第２閾値として、例えば、「{「開始点の色差（赤）の値」＋（「山型範囲における色差（赤）の最大値」×３）}÷４」の値を用いることができる。本発明の実施の形態で示す第１閾値乃至第１６閾値の例は、色差（赤）の値が８ｂｉｔで表され、−１２８〜１２７の値を取る場合における数値を用いたものである。なお、目頭やまつ毛部分等のように、赤目部分と同様に色差（赤）の値が山型に変化する部分が存在する場合があるものの、この時点ではこのような領域を山型範囲として抽出しても問題はない。また、山型範囲を抽出する場合において、色差（赤）の値を８ｂｉｔで−１２８〜１２７で表す場合には、閾値を０とし、色差（赤）の値が閾値０以上となる山型範囲を抽出するようにしてもよい。
【０１８４】
図１９は、目領域の１ラインを走査することによって抽出された色差（赤）の値の変化を表すグラフを示す図である。例えば、図１９に示すグラフにおいて、山型範囲として、山型範囲Ｍ１と山型範囲Ｍ２とが抽出され、山型範囲Ｍ１については、開始点Ｍ１ｓと範囲内最大点Ｍ１ｍと終了点Ｍ１ｅとのｘ座標値が抽出され、山型範囲Ｍ２については、開始点Ｍ２ｓと範囲内最大点Ｍ２ｍと終了点Ｍ２ｅとのｘ座標値が抽出される。
【０１８５】
図２０は、目領域の１ラインを走査することによって抽出された色差（赤）の値の変化を表すグラフを示す図である。例えば、図２０に示すグラフにおける範囲Ｍ３においては、色差（赤）の値が増加しているものの、範囲Ｍ３の範囲内の各点における色差（赤）の値と１ピクセル前の点の値との差が第１閾値以上にならないため、範囲Ｍ３の範囲内における各点は開始点として抽出されない。また、範囲Ｍ４においては、色差（赤）の値の変化が山型の形状をしているものの、範囲Ｍ４の範囲内の各点における色差（赤）の値が、範囲Ｍ４内における範囲内最大点の色差（赤）の値に基づいて求められる第２閾値よりも小さくならないため、範囲Ｍ４の範囲内における各点は終了点として抽出されない。このように、開始点と範囲内最大点と終了点とが検出されなかった場合には、抽出された色差（赤）の値の変化が山型となっている場合であっても山型範囲として抽出されない。
【０１８６】
続いて、走査ポインタが右端に到達したか否かが判断される（ステップＳ１１０７）。走査ポインタが右端に到達していなければ（ステップＳ１１０７）、走査および山型範囲の抽出の処理を繰り返す（ステップＳ１１０５、ステップＳ１１０６）。
【０１８７】
走査ポインタが右端に到達していれば（ステップＳ１１０７）、抽出された山型範囲の中から、次に示す条件（ａ）または条件（ｂ）を満たす山型範囲を除去する（ステップＳ１１０８）。
条件（ａ）：  山型範囲における色差（赤）の最大値が、第３閾値以下であること
条件（ｂ）：  山型範囲において、色差（赤）の最大値から色差（赤）の最小値を引いて求められる差分値が、第４閾値よりも小さいものであること
【０１８８】
例えば、図１９に示すグラフにおいて、山型範囲Ｍ１における色差（赤）の最大値である範囲内最大点Ｍ１ｍの値が、第３閾値以下である場合、または、山型範囲Ｍ１において、色差（赤）の最大値である範囲内最大点Ｍ１ｍの値から、色差（赤）の最小値である開始点Ｍ１ｓの値を引いて求められる差分値ｄが、第４閾値よりも小さい場合には、山型範囲Ｍ１は、条件（ａ）または条件（ｂ）を満たすので、除去される。なお、第３閾値として、例えば、「１２」の値を用いることができる。また、第４閾値として、例えば、「１６」の値を用いることができる。
【０１８９】
図２１は、目領域の１ラインを走査することによって抽出された色差（赤）の値の変化を表すグラフを示す図である。例えば、図２１に示すように、図１９に示したグラフにおいて抽出された山型範囲Ｍ１が除去され、山型範囲Ｍ２が残る。
【０１９０】
続いて、ステップＳ１１０８における除去処理の後において、１ラインに複数の山型範囲が存在するか否かが判断される（ステップＳ１１０９）。１ラインに複数の山型範囲が存在する場合には（ステップＳ１１０９）、複数の山型範囲のうちの隣り合う山型範囲のそれぞれについて、次の条件（ｃ）および条件（ｄ）が満たすか否かが確認され、隣り合う山形範囲が次の条件（ｃ）および条件（ｄ）が満たす場合には、その隣り合う山形範囲を１個の山型範囲として連結する（ステップＳ１１１０）。このように、隣り合う山形範囲を１個の山型範囲として連結した場合においても、連結前の各山型範囲情報が保持される。
条件（ｃ）：  隣り合う２つの山型範囲をそれぞれ第１山型範囲および第２山型範囲とした場合に、第１山型範囲の範囲内最大点と第２山型範囲の範囲内最大点との差の値が、第５閾値の範囲内であること。
条件（ｄ）：  隣り合う山型範囲における中央または範囲内最大点のｘ座標値の差の値が第６閾値の範囲内であること。なお、第６閾値は、顔領域サイズまたは目領域サイズから求められるキャッチライト最大サイズに対応する閾値である。
【０１９１】
図２２は、目領域の１ラインを走査することによって抽出された色差（赤）の値の変化を表すグラフを示す図である。例えば、山型範囲Ｍ６およびＭ７にキャッチライトが含まれている場合には、図２２に示すように、山型範囲Ｍ６とＭ７との間に谷型形状が形成される。例えば、図２２に示すように、ステップＳ１１０８における除去処理の後において、１ラインに複数の山型範囲Ｍ５〜Ｍ７が存在する場合について説明する。この場合には、複数の山型範囲Ｍ５〜Ｍ７のうちで、隣り合う山型範囲（Ｍ５とＭ６、Ｍ６とＭ７）について、上記の条件（ｃ）および条件（ｄ）が満たすか否かが確認される。
【０１９２】
例えば、山型範囲Ｍ５の範囲内最大点と、山型範囲Ｍ６の範囲内最大点との差分値ｄ５が、第５閾値ＳＬ５の範囲内ではなく、または、山型範囲Ｍ５の中央位置または範囲内最大点のｘ座標値と、山型範囲Ｍ６の中央位置または範囲内最大点のｘ座標値との差分値ｍ５が顔領域サイズから求められる第６閾値ＣＬ１の範囲内ではない場合には、条件（ｃ）および条件（ｄ）を満たさないため、１個の山型範囲として連結されない。
【０１９３】
一方、山型範囲Ｍ６の範囲内最大点と、山型範囲Ｍ７の範囲内最大点との差分値ｄ６が、第５閾値ＳＬ５の範囲内であり、かつ、山型範囲Ｍ６の中央位置または範囲内最大点のｘ座標値と、山型範囲Ｍ７の中央位置または範囲内最大点のｘ座標値との差分値ｍ６が顔領域サイズから求められる第６閾値ＣＬ１の範囲内である場合には、条件（ｃ）および条件（ｄ）を満たすため、１個の山型範囲Ｍ６７として連結される。このように、連結処理をすることによって、キャッチライトにより赤目領域の中央付近に色差（赤）の谷が形成されているような場合においても、適切に赤目領域を抽出することができる。なお、第５閾値として、例えば、『（「隣り合う２つの山型範囲における色差（赤）の最大値」−１２）÷２」』の値を用いることができる。また、第６閾値として、例えば、『「目領域の横サイズ」÷５」』の値を用いることができる。
【０１９４】
なお、連結処理の後においても、１ラインに複数の山型範囲が存在する場合には、隣り合う山型範囲について、上記の条件（ｃ）および条件（ｄ）が満たすか否かが確認される。例えば、山型範囲Ｍ６およびＭ７が１個の山型範囲Ｍ６７として連結された場合には、複数の山型範囲Ｍ５、Ｍ６７のうちで、隣り合う山型範囲（Ｍ５とＭ６７）について、上記の条件（ｃ）および条件（ｄ）が満たすか否かが確認される。ただし、ステップＳ１１１０における連結処理が終了した時点でも、山型範囲が複数個存在する場合もある。
【０１９５】
続いて、ステップＳ１１１０における連結処理の後の山型範囲のそれぞれについて、開始点および終了点を修正する（ステップＳ１１１１）。例えば、虹彩領域が茶色の目の場合や赤目の程度が低く明るい茶色程度にしかなっていない場合等においては、赤目領域として虹彩領域を含む領域を抽出している可能性が高い。そこで、赤目領域の色差（赤）の値は、虹彩領域の色差（赤）の変化よりも急峻に変化することが多いことを利用して、開始点および終了点を修正する。これにより、適切に赤目領域を抽出することができる。なお、虹彩領域は、瞳孔領域の外側においてドーナツ状に存在する領域であり、虹彩は、色素に富み、人種によって青、茶、緑等の色彩上の特徴がある。また、虹彩は、その沈着状態によっても茶色や青色の眼になる。
【０１９６】
最初に、開始点の修正処理について説明する。修正対象となる山型範囲内において最も左側にある範囲内最大点から、左方向に色差（赤）の値を確認しながら進み、最初に色差（赤）の値が第７閾値以下になった座標位置を検出する。なお、「最も左側にある範囲内最大点」とは、複数個の山型範囲が連結された場合における連結山型範囲を考慮した記述である。このため、連結処理がされていない山型範囲については、範囲内最大点が１点である。
【０１９７】
続いて、検出された座標位置を基準点として、この基準点における色差（赤）の値が取り出されるとともに、この基準点の左右の点における色差（赤）の値が取り出される。ここで、基準点における色差（赤）の値をｔ１とし、基準点の１画素分左側の点における色差（赤）の値をｔ２とし、基準点の１画素分右側の点における色差（赤）の値をｔ３とした場合において、次の（式６）を満たすか否かが順次判断される。
（ｔ２−ｔ１）−（ｔ１−ｔ３）＞第８閾値…（式６）
【０１９８】
検出された座標位置を基準点とした場合において、上記の（式６）を満たさない場合には、基準点を１画素分左側に進めて、１画素分左側に進めた後の基準点が上記の（式６）を満たすか否かが順次判断される。そして、上記の（式６）を満たす基準点が修正後の開始点として設定される。
【０１９９】
次に、終了点の修正処理について説明する。終了点の修正処理についても開始点の修正処理と同様である。つまり、修正対象となる山型範囲内において最も右側にある範囲内最大点から、右方向に色差（赤）の値を確認しながら進み、最初に色差（赤）の値が第９閾値以下になった座標位置を検出する。
【０２００】
続いて、検出された座標位置を基準点として、この基準点における色差（赤）の値が抽出されるとともに、この基準点の左右の点における色差（赤）の値が抽出される。ここで、基準点における色差（赤）の値をｔ４とし、基準点の１画素分右側の点における色差（赤）の値をｔ５とし、基準点の１画素分左側の点における色差（赤）の値をｔ６とした場合において、次の（式７）を満たすか否かが順次判断される。
（ｔ５−ｔ４）−（ｔ４−ｔ６）＞第１０閾値…（式７）
【０２０１】
検出された座標位置を基準点とした場合において、上記の（式７）を満たさない場合には、基準点を１画素分右側に進めて、１画素分右側に進めた後の基準点が上記の（式７）を満たすか否かが順次判断される。そして、上記の（式７）を満たす基準点が修正後の終了点として設定される。
【０２０２】
図２３は、図２２に示すグラフにおいて、山型範囲Ｍ６およびＭ７を含む周辺部分が拡大されたグラフを示す図である。
【０２０３】
例えば、図２３を用いて、開始点の修正処理について説明する。修正対象となる連結山型範囲Ｍ６７において最も左側にある範囲内最大点Ｍ６ｍから、左方向（矢印Ｚ１方向）に色差（赤）の値を確認しながら進み、最初に色差（赤）の値が第７閾値ＳＬ７以下になった座標位置Ｐ１を検出する。続いて、座標位置Ｐ１を基準点として、この基準点における色差（赤）の値が抽出されるとともに、この基準点の左右の点における色差（赤）の値が抽出される。そして、座標位置Ｐ１を基準点として、上記の（式６）を満たすか否かが順次判断される。
【０２０４】
検出された座標位置を基準点とした場合において、上記の（式６）を満たさない場合には、基準点を矢印Ｚ１方向に１画素分進めて、１画素分進めた後の基準点が上記の（式６）を満たすか否かが順次判断される。そして、上記の（式６）を満たす基準点を修正後の開始点として設定する。
【０２０５】
次に、図２３を用いて、終了点の修正処理について説明する。修正対象となる山型範囲Ｍ６７において最も右側にある範囲内最大点Ｍ７ｍから、右方向（矢印Ｚ２方向）に色差（赤）の値を確認しながら進み、最初に色差（赤）の値が第９閾値ＳＬ７以下になった座標位置を検出する。なお、この例では、第７閾値と第９閾値とを同じ値ＳＬ７として説明するが、第７閾値と第９閾値とを異なる値としてもよい。続いて、座標位置Ｐ２を基準点として、この基準点における色差（赤）の値が抽出されるとともに、この基準点の左右の点における色差（赤）の値が抽出される。そして、座標位置Ｐ２を基準点として、上記の（式７）を満たすか否かが順次判断される。
【０２０６】
検出された座標位置を基準点とした場合において、上記の（式７）を満たさない場合には、基準点を矢印Ｚ２方向に１画素分進めて、１画素分進めた基準点が上記の（式７）を満たすか否かが順次判断される。そして、上記の（式７）を満たす基準点を修正後の終了点として設定する。例えば、図２３に示すＭ６７ｅが終了点として設定される。このように、修正後における開始点および終了点は、修正処理において基準点を進めていく中で、勾配がゆるくなった点が設定される。これにより、山型範囲として急峻な範囲のみが抽出される。なお、第７閾値として、例えば、『（２×「山型範囲における色差（赤）の最大値」＋１２）÷３』の値を用いることができる。また、第８閾値として、例えば、「１」の値を用いることができる。さらに、第９閾値として、例えば、第７閾値と同様に、『（２×「山型範囲における色差（赤）の最大値」＋１２）÷３』の値を用いることができる。また、第１０閾値として、例えば、第８閾値と同様に、「１」の値を用いることができる。
【０２０７】
図２４は、目領域の１ラインを走査することによって抽出された色差（赤）の値の変化を表すグラフを示す図であって、図２２に示した山型範囲Ｍ５と、連結山型範囲Ｍ６７との開始点および終了点の修正処理後における山型範囲Ｍ５Ａおよび連結山型範囲Ｍ６７Ａを示す図である。
【０２０８】
図２５および図２６は、抽出された色差（赤）の値の変化を表すグラフと、目領域に含まれる目との関係を示す図である。図２５は、開始点および終了点について修正処理する前における山型範囲Ｍ８を示す図であり、目の白目部分がややにじんでいるため、その部分が赤目領域として抽出されている。また、図２６は、開始点および終了点について修正処理した後における山型範囲Ｍ８Ａを示す図であり、比較的急峻に変化する範囲のみが抽出され、適切な赤目領域のみが抽出される。図２５および図２６に示すように、開始点および終了点について修正処理をすることによって、赤目領域に対して適切な大きさにすることができる。
【０２０９】
続いて、開始点および終了点の修正処理が終了した山型範囲について、その開始点および終了点の輝度値が参照され、この開始点および終了点の輝度値が、第１１閾値以上の山型範囲が除去される（ステップＳ１１１２)。そして、ステップ１１１２の除去処理により残った山型範囲を赤目領域候補とする。なお、第１１閾値は、検出された顔領域中の肌色領域の輝度値に基づいて求めた値である。このように、肌の色は赤目領域の色よりも明るいという性質を利用して、開始点および終了点の輝度値に基づいた除去処理を実行することによって、赤みのある肌領域等を除去することができる。なお、第１１閾値として、例えば、『「肌色領域の輝度の平均値」×０．７』の値を用いることができる。
【０２１０】
続いて、設定された目領域の全てのラインの走査が終了したか否かが判断される（ステップＳ１１１３）。設定された目領域の全てのラインの走査が終了していなければ（ステップＳ１１１３）、走査ポインタが目領域の左端に進められるとともに下側に１画素分進められ（ステップＳ１１１４）、ステップＳ１１０５に進む。
【０２１１】
設定された目領域の全てのラインの走査が終了していれば（ステップＳ１１１３）、入力された周辺画像に含まれる顔の両目の目領域について赤目領域候補の抽出が終了したか否か判断される（ステップＳ１１１５）。両目の目領域について赤目領域候補の抽出が終了していなければ（ステップＳ１１１５）、赤目領域候補の抽出が終了していない目領域が取り出され（ステップＳ１１１６）、ステップＳ１１０４に進む。
【０２１２】
両目の目領域について赤目領域候補の抽出が終了していれば（ステップＳ１１１５）、赤目領域候補の抽出処理を終了する。
【０２１３】
次に、赤目領域候補の抽出処理において抽出された各ラインの山型範囲について、ライン間の関連を確認し、ノイズ範囲を除去する処理について図面を参照して説明する。
【０２１４】
図２７は、画像処理装置１００によるノイズである赤目領域候補を除去するノイズ除去処理（ステップＳ１２００）の処理手順を示すフローチャートである。なお、この処理手順は、ライン間の関連を考慮してノイズ範囲を除去するものである。また、これらの処理手順は、ＣＰＵ１１０が実行するものである。
【０２１５】
最初に、ステップＳ１１００における赤目領域候補抽出処理において抽出された目領域全体の赤目領域候補の中で、「範囲内最大点」における色差（赤）の値が最も大きい赤目領域候補と、この赤目領域候補が存在するラインを求める（ステップＳ１２０１）。続いて、「範囲内最大点」における色差（赤）の値が最も大きい赤目領域候補の範囲を「基準範囲」として設定する（ステップＳ１２０２）。この場合に、以下で示す条件（ｆ）に用いる第１２閾値を、基準範囲の範囲内最大点の値に基づいて求める。なお、第１２閾値として、例えば、『（「山型範囲における色差（赤）の最大値」＋１２）÷２』の値を用いることができる。
【０２１６】
図２８（ａ）は、ステップＳ１１００において抽出された結果が目領域ＥＥ１に表示されている状態を示す図である。なお、図１７に示す符号と同一のものについては、説明を省略する。例えば、図２８（ａ）に示すように、基準範囲Ｍ１００が設定される。
【０２１７】
続いて、抽出された赤目領域候補の中から、基準範囲に設定されている赤目領域候補以外の赤目領域候補が取り出される（ステップＳ１２０３）。この場合に、左右方向の各ラインにおいて抽出された赤目領域候補の全てが取り出される。なお、何れの赤目領域候補から取り出すようにしてもよい。
【０２１８】
続いて、取り出された赤目領域候補について、それぞれ、次の条件（ｅ）および条件（ｆ）を満たすか否かが判断される（ステップＳ１２０４）。
条件（ｅ）：  取り出された赤目領域候補の左右方向における範囲の一部が、基準範囲の左右方向における領域範囲内にあること
条件（ｆ）：  取り出された赤目領域候補の範囲内最大点の値が、基準範囲の範囲内最大点の値に基づいて求められた第１２閾値以上であること
【０２１９】
取り出された赤目領域候補が、条件（ｅ）および条件（ｆ）を満たさない場合には（ステップＳ１２０４）、取り出された赤目領域候補が除去される（ステップＳ１２０５)。例えば、図２８（ａ）に示す領域ＮＺ１に含まれる２つの赤目領域候補は、その左右方向における範囲の一部が基準範囲Ｍ１００の左右方向における領域範囲内になく、何れも条件（ｅ）を満たさないため、何れも除去される。
【０２２０】
図２８（ｂ）は、条件（ｅ）および条件（ｆ）を満たさない赤目領域候補が除去された結果が目領域ＥＥ１に表示されている状態を示す図である。
【０２２１】
図２８（ｂ）に示すように、条件（ｅ）および条件（ｆ）に基づいて除去処理を実行した場合には、赤目領域のうちの上下部分が除去される場合がある。この場合に、赤目領域のうちの上下部分が除去され過ぎる場合があるものの、ステップＳ１３００で実行される縦ラインの走査処理で再度領域を拡張することが可能であるため、ここでは問題ない。
【０２２２】
続いて、基準範囲に設定されている赤目領域候補以外の赤目領域候補の全てが取り出されたか否かが判断される（ステップＳ１２０６）。全ての赤目領域候補が取り出されていなければ（ステップＳ１２０６）、ステップＳ１２０３に進み、赤目領域候補の除去処理を繰り返す（ステップＳ１２０３〜ステップＳ１２０５）。
【０２２３】
全ての赤目領域候補が取り出されていれば（ステップＳ１２０６）、設定された目領域の１ラインが取り出される（ステップＳ１２０７）。この場合に、取り出されるラインは何れのラインでもよい。
【０２２４】
続いて、取り出された１ラインに複数の赤目領域候補が存在するか否かが判断される（ステップＳ１２０８）。取り出した１ラインに複数の赤目領域候補が存在する場合には（ステップＳ１２０８）、範囲内最大点の色差（赤）の値が一番大きい赤目領域候補のみが残され、それ以外の赤目領域候補が除去される（ステップＳ１２０９）。
【０２２５】
続いて、設定された目領域の全てのラインが取り出されたか否かが判断される（ステップＳ１２１０）。設定された目領域の全てのラインが取り出されていなければ（ステップＳ１２１０）、ステップＳ１２０７に進み、赤目領域候補の除去処理を繰り返す（ステップＳ１２０７〜ステップＳ１２０９）。
【０２２６】
続いて、設定された目領域の１ラインが取り出され（ステップＳ１２１１）、取り出されたラインの赤目領域候補の左右方向の幅が、顔領域の大きさに基づいて算出された最大瞳孔サイズよりも大きいか否かが判断される（ステップＳ１２１２）。なお、最大瞳孔サイズは、目領域の大きさに基づいて算出するようにしてもよい。
【０２２７】
取り出されたラインの赤目領域候補の左右方向の幅が、最大瞳孔サイズよりも大きい場合には（ステップＳ１２１２）、目領域におけるその他のラインの赤目領域候補の左右方向の開始点および終了点の平均値が算出される（ステップＳ１２１３）。そして、算出された開始点および終了点の平均値を、最大瞳孔サイズよりも大きい赤目領域候補の開始点および終了点の値と置き換える（ステップＳ１２１４）。
【０２２８】
続いて、設定された目領域の全てのラインが取り出されたか否かが判断される（ステップＳ１２１５）。設定された目領域の全てのラインが取り出されていなければ（ステップＳ１２１５）、ステップＳ１２１１に進み、赤目領域候補の除去処理を繰り返す（ステップＳ１２１１〜ステップＳ１２１４）。
【０２２９】
続いて、各ラインの赤目領域候補のうちで孤立しているものが存在するか否かが判断される（ステップＳ１２１６）。具体的には、赤目領域候補が抽出された左右方向の各ラインのうちで、一番上に存在するラインについては、その１画素下のラインに赤目領域候補が存在するか否かが判断される（ステップＳ１２１６）。一方、赤目領域候補が抽出された左右方向の各ラインのうちで、一番下に存在するラインについては、その１画素上のラインに赤目領域候補が存在するか否かが判断される（ステップＳ１２１６）。これは、上下の瞼領域が赤目領域であると誤検出されていないかを確認するために実行する処理である。上下方向に隣接する範囲がなく、孤立したラインが存在する場合には（ステップＳ１２１６）、上または下の瞼を赤目領域であると誤検出している可能性が高いため、その範囲を除外する（ステップＳ１２１７）。
【０２３０】
図２９は、右目Ｅ１の目領域ＥＥ１において左右方向に各ラインの走査が行われた結果が目領域ＥＥ１に表示されている状態を示す図である。なお、図１７に示す符号と同一のものについては、説明を省略する。例えば、図２９は、赤目領域候補が抽出されたラインの中の一番下のラインに孤立ラインが発生している例を示す図である。この孤立ラインは、下瞼部分に対応する領域ＮＺ２に存在するものであり、下瞼部分が誤検出されていることを示す。
【０２３１】
続いて、両目の目領域についてノイズ除去処理が終了したか否か判断される（ステップＳ１２１８）。両目の目領域についてノイズ除去処理が終了していなければ（ステップＳ１２１８）、ノイズ除去処理が終了していない目領域が取り出され（ステップＳ１２１９）、ステップＳ１２０１に進む。
【０２３２】
両目の目領域についてノイズ除去処理が終了していれば（ステップＳ１２１８）、ノイズ除去処理を終了する。
【０２３３】
次に、図１６に示すステップＳ１３００において、ノイズ除去後の赤目領域候補において上下方向に走査することによって赤目領域候補を抽出する赤目領域候補抽出処理について図面を参照して説明する。
【０２３４】
図３０は、画像処理装置１００による赤目領域候補抽出処理（ステップＳ１３００）の処理手順を示すフローチャートである。なお、これらの処理手順は、ＣＰＵ１１０が実行するものである。
【０２３５】
図３０に示すステップＳ１３０５〜ステップＳ１３１０、ステップＳ１３１２〜ステップＳ１３１６における各処理は、左右方向に走査する代わりに上下方向に走査することを除けば、図１８に示すステップＳ１１０５〜ステップＳ１１１０、ステップＳ１１１２〜ステップＳ１１１６における各処理と同様であるため、以下では、これらの説明を省略する。
【０２３６】
最初に、両目の目領域のうちの何れかの目領域が選択される（ステップＳ１３０１）。続いて、ステップＳ１２００におけるノイズ除去処理の後に残った赤目領域候補の開始点のうちで、最も左側に位置する開始点を走査範囲の左端とし、ステップＳ１２００におけるノイズ除去処理の後に残った赤目領域候補の終了点のうちで、最も右側に位置する終了点を走査範囲の右端として走査範囲を設定する（ステップＳ１３０２）。このように、ステップＳ１３００における赤目領域候補抽出処理においては、ステップＳ１１００およびステップＳ１２００において抽出された赤目領域候補の左右方向の範囲内において上下方向を走査する。
【０２３７】
目領域のうちで、設定された走査範囲内の領域の左上隅に走査ポインタが設定される（ステップＳ１３０４）。例えば、図３１に示す右目の目領域ＥＥ１の走査範囲ＳＨ１内の左上隅に走査ポインタが設定される。
【０２３８】
図３１は、ステップＳ１２００におけるノイズ除去処理の後の赤目領域候補の開始点および終了点に基づいて設定された上下方向の走査範囲ＳＨ１が目領域ＥＥ１に表示されている状態を示す図である。なお、図１７に示す符号と同一のものについては、説明を省略する。
【０２３９】
このように、上下方向の走査により赤目領域候補の抽出処理をすることによって、ステップＳ１１００およびステップＳ１２００における赤目領域候補の抽出処理において除去しすぎてしまった領域を拡張させることができるとともに、除去することができなかった瞼領域等を除去することができるため、赤目領域の抽出精度を向上させることができる。
【０２４０】
なお、上述したように、上下方向の走査による赤目領域候補の抽出処理は、左右方向の走査による赤目領域候補の抽出処理とほぼ同様であるが、上下方向の走査による抽出処理の場合には、瞼部分が赤目領域と連続している可能性が高い。このため、より範囲を厳しく見るために、山型範囲の開始点および終了点の修正処理において、左右方向の処理で示した処理以外に輝度の確認処理を行う。これは、肌の色は赤目領域の色よりも明るいこと、また、目と肌との間にあるまつ毛は輝度値が小さくなることを利用して瞼部分を除去するためである。
【０２４１】
ここで、左右方向の走査による抽出処理と異なる処理であるステップＳ１３１１について図３２を参照して説明する。
【０２４２】
図３２は、目領域の上下方向を１ライン走査することによって抽出された色差（赤）および輝度の値の変化を表すグラフを示す図である。なお、図３２に示すグラフにおいて、横軸は、目領域における画像データの色差（赤）および輝度の値を示す軸であり、縦軸は、目領域における上下方向の１ラインの位置を示す軸である。また、図３２に示すグラフにおいて、折線ＬＬ１は、色差（赤）の値の変化を示す折線であり、折線ＬＬ２は、輝度の値の変化を示す折線である。図３２（ａ）は、上下方向に走査することによって抽出された山型範囲Ｍ１０と山型範囲Ｍ１１との開始点および終了点の修正処理前における山型範囲Ｍ１０および山型範囲Ｍ１１と、山型範囲Ｍ１０と山型範囲Ｍ１１とが連結された連結山型範囲Ｍ１０１１とを示す図である。図３２（ｂ）は、図３２（ａ）に示す連結山型範囲Ｍ１０１１の開始点および終了点の修正処理後における山型範囲Ｍ１０および山型範囲Ｍ１１と、連結山型範囲Ｍ１０１１Ａとを示す図である。
【０２４３】
ステップＳ１３１０における連結処理の後の山型範囲のそれぞれについて、開始点および終了点を修正する（ステップＳ１３１１）。
【０２４４】
最初に、開始点の修正処理について説明する。修正対象となる山型範囲内において最も上側にある範囲内最大点から、上方向に色差（赤）の値を確認しながら進み、最初に色差（赤）の値が第１３閾値以下になった座標位置を検出する。
【０２４５】
続いて、検出された座標位置を基準点として、この基準点における色差（赤）の値が抽出されるとともに、この基準点の上下の点における色差（赤）の値が抽出される。ここで、基準点における画素の色差（赤）の値をｔ１１とし、基準点の１画素分上側の点における画素の色差（赤）の値をｔ１２とし、基準点の１画素分下側の点における画素の色差（赤）の値をｔ１３とした場合において、次の（式８）を満たすか否かが順次判断される。
（ｔ１２−ｔ１１）−（ｔ１１−ｔ１３）＞第１４閾値…（式８）
【０２４６】
検出された座標位置を基準点とした場合において、上記の（式８）を満たさない場合には、基準点を１画素分上側に進めて、基準点が上記の（式８）を満たすか否かが順次判断される。そして、上記の（式８）を満たす基準点を修正後の第１の開始点候補とする。
【０２４７】
続いて、色差（赤）の値が第１３閾値以下になった座標位置を基準点として、この基準点における輝度の値が抽出されるとともに、この基準点の１画素分上側の点における輝度の値が抽出される。ここで、基準点における画素の輝度の値をｔ１７とし、基準点の１画素分上側の点における画素の輝度の値をｔ１８とした場合において、次の（式９）を満たすか否かが順次判断される。
（ｔ１８−ｔ１７）＞第１５閾値…（式９）
【０２４８】
検出された座標位置を基準点とした場合において、上記の（式９）を満たさない場合には、基準点を１画素分上側に進めて、基準点が上記の（式９）を満たすか否かが順次判断される。そして、上記の（式９）を満たす基準点を修正後の第２の開始点候補とする。
【０２４９】
以上で求められた第１の開始点候補および第２の開始点候補のうちで、修正対象となる山型範囲における中央に近い開始点候補を修正後の開始点とする。
【０２５０】
続いて、終了点の修正処理を行う。なお、終了点の修正処理についても、開始点の修正処理と同様である。
【０２５１】
ここで、例えば、図３２を用いて、開始点の修正処理について説明する。修正対象となる山型範囲Ｍ１０１１において最も上側にある範囲内最大点Ｍ１０ｍから、上方向（矢印Ｚ３方向）に色差（赤）の値を確認しながら進み、最初に色差（赤）の値が第１３閾値ＳＬ１３以下になった座標位置Ｐ１０を検出する。続いて、座標位置Ｐ１０を基準点として、この基準点における色差（赤）の値が抽出されるとともに、この基準点の左右の点における色差（赤）の値が抽出される。そして、座標位置Ｐ１０を基準点として、上記の（式８）を満たすか否かが判断される。
【０２５２】
上記の（式８）を満たさない場合には、基準点を矢印Ｚ３方向に１画素分進めて、基準点が上記の（式８）を満たすか否かが順次判断される。そして、上記の（式８）を満たす基準点を修正後の第１の開始点候補Ｄ１とする。
【０２５３】
続いて、検出された座標位置Ｐ１０を基準点として、基準点Ｐ１０における輝度の値が抽出されるとともに、この基準点の１画素分上側の点における輝度の値が抽出される。そして、座標位置Ｐ１０を基準点として、上記の（式９）を満たすか否かが判断される。
【０２５４】
上記の（式９）を満たさない場合には、基準点を１画素分上側に進めて、基準点が上記の（式９）を満たすか否かが順次判断される。そして、上記の（式９）を満たす基準点を修正後の第２の開始点候補Ｄ２とする。
【０２５５】
以上で求められた第１の開始点候補Ｄ１および第２の開始点候補Ｄ２のうちで、修正対象となる山型範囲における中央に近い開始点候補である第１の開始点候補Ｄ１が修正後の開始点と設定される。なお、第１３閾値として、例えば、第７閾値と同様に、『（２×「山型範囲における色差（赤）の最大値」＋１２）÷３』の値を用いることができる。また、第１４閾値として、例えば、第８閾値と同様に、「１」の値を用いることができる。さらに、第１５閾値として、例えば、「１」の値を用いることができる。また、終了点の修正処理に用いる第１６閾値として、例えば、第１５閾値と同様に、「１」の値を用いることができる。
【０２５６】
図３３は、抽出された赤目領域候補の開始点と範囲内最大点と終了点と、右目Ｅ１の目領域ＥＥ１との関係を示す概略図である。図３３（ａ）は、右目Ｅ１の目領域ＥＥ１において、ステップＳ１１００およびステップＳ１２００において抽出された赤目領域候補の開始点と範囲内最大点と終了点とを示す図である。図３３（ａ）に示すように、ステップＳ１２００においてライン間の関係を考慮してノイズを除去した後の赤目領域候補は、その上下部分が暗く色差の値が小さいため、赤目領域候補から除去されている。図３３（ｂ）は、右目Ｅ１の目領域ＥＥ１において、ステップＳ１３００において抽出された赤目領域候補の開始点と範囲内最大点と終了点とを示す図である。図３３（ｂ）に示すように、ステップＳ１３００において上下方向の走査によって抽出された赤目領域候補は、その上下部分が拡張され、上下範囲の精度が向上している。
【０２５７】
なお、ステップＳ１３１５において、周辺画像に含まれる顔の両目の目領域について赤目領域候補の抽出が終了したか否か判断され、両目の目領域について赤目領域候補の抽出が終了していなければ（ステップＳ１３１５）、赤目領域候補の抽出が終了していない目領域が取り出され（ステップＳ１３１６）、ステップＳ１３０４に進む。
【０２５８】
両目の目領域について赤目領域候補の抽出が終了していれば（ステップＳ１３１５）、赤目領域候補の抽出処理を終了する。
【０２５９】
図３４は、設定された赤目領域についての位置情報を生成する場合に、周辺画像Ｐ１１における生成方法の概略を示す図である。図３４（ａ）は、目領域ＥＥ１と、設定された赤目領域との関係を示す図である。図３４（ｂ）は、周辺画像Ｐ１１と、目領域ＥＥ１および設定された赤目領域との関係を示す図である。図３４（ｃ）は、画像Ｐ１と、周辺画像Ｐ１１との関係を示す図である。なお、図３４（ａ）〜（ｃ）の詳細については、図３６を参照して説明する。
【０２６０】
図３５は、矩形枠Ｓ２と円形枠Ｃ２とを組み合わせた図形枠を用いて赤目領域を設定する場合における左目Ｅ２の目領域ＥＥ２と、その図形枠との関係を示す図である。図３５に示すように、赤目領域を設定する場合には、矩形枠Ｓ２と円形枠Ｃ２とが重なる部分を赤目領域として設定する。このため、矩形枠Ｓ２または円形枠Ｃ２のいずれかに含まれる領域であって、矩形枠Ｓ２と円形枠Ｃ２とが重なる部分以外の部分である領域Ｂ１〜Ｂ６を除外することができる。
【０２６１】
図３６は、画像処理装置１００による赤目領域設定処理（ステップＳ１４００）の処理手順を示すフローチャートである。なお、これらの処理手順は、ＣＰＵ１１０が実行するものである。
【０２６２】
最初に、ステップＳ１２００におけるノイズ除去処理後の赤目領域候補の開始点のうちで最も左側にある開始点が検出され、この開始点の１画素分左側の位置を左端と決定する。同様に、ステップＳ１２００におけるノイズ除去処理後の赤目領域候補の終了点のうちで最も右側にある終了点が検出され、この終了点の１画素分右側の位置を右端と決定する。そして、決定された右端から左端までを矩形の左右方向の範囲として決定する（ステップＳ１４０１）。
【０２６３】
続いて、ステップＳ１２００におけるノイズ除去処理後の赤目領域候補の各ラインのうちで最も上側にあるラインが検出され、さらに、ステップＳ１３００における上下方向の走査により抽出された赤目領域候補の開始点のうちで最も上側にある開始点の位置が検出される。そして、検出された最も上側にあるラインの位置と、検出された最も上側にある開始点の位置とのうちで、最も上側に存在する位置の１画素分上側の位置を上端と決定する。また、同様に、ステップＳ１２００におけるノイズ除去処理後の赤目領域候補の各ラインのうちで最も下側にあるラインが検出され、さらに、ステップＳ１３００における上下方向の走査により抽出された赤目領域候補の終了点のうちで最も下側にある終了点の位置が検出される。そして、検出された最も下側にあるラインの位置と、検出された最も下側にある終了点の位置とのうちで、最も下側に存在する位置の１画素分下側の位置を下端と決定する。そして、決定された上端から下端までを矩形の上下方向の範囲として決定する（ステップＳ１４０２）。
【０２６４】
続いて、ステップＳ１４０１で決定された矩形の左右方向の範囲と、ステップＳ１４０２で決定された矩形の上下方向の範囲とに基づいて矩形枠が設定される（ステップＳ１４０３）。例えば、図３４（ａ）に示すように、矩形枠Ｓ１が設定される。
【０２６５】
続いて、設定された矩形枠の縦横比が、所定の閾値の範囲内であるか否かが判断される（ステップＳ１４０４）。設定された矩形枠の縦横比が、所定の閾値の範囲内でない場合には、赤目ではない領域が抽出された可能性が高いため、赤目設定処理を終了する。
【０２６６】
設定された矩形枠の縦横比が、所定の閾値の範囲内である場合には（ステップＳ１４０４）、設定された矩形の長辺を直径とした円であって、設定された矩形の重心を中心とする円形枠を設定する（ステップＳ１４０５）。例えば、図３４（ａ）に示すように、円形枠Ｃ１が設定される。
【０２６７】
続いて、設定された矩形枠と円形枠とを用いて、矩形枠と円形枠とが重なり合う領域が最終的な赤目補正の対象となる領域である赤目領域として設定される（ステップＳ１４０６）。この場合に、赤目領域の位置情報が生成される。
【０２６８】
次に、補正対象であるＲＡＭ１２０の再生画像保存領域１２０ａに保存されている再生静止画像のサイズに対応するように、設定された赤目領域をサイズ変換する変換処理について図３４を参照して説明する。
【０２６９】
例えば、図３４に示すように、顔Ｆ１および周辺画像Ｐ１１を含む画像Ｐ１において、目領域ＥＥ１に含まれる赤目領域をサイズ変換する場合について説明する。
【０２７０】
図３４（ａ）に示すように、目領域ＥＥ１の左上を原点（０、０）とした場合において、矩形枠Ｓ１の開始点を（ｘ１、ｙ１）とし、矩形枠Ｓ１の幅を（ｗ、ｈ）とする。また、図３４（ｂ）に示すように、周辺画像Ｐ１１の左上を原点（０、０）とした場合において、目領域ＥＥ１の開始点を（ｘ２、ｙ２）とし、赤目領域抽出用画像を作成する場合における赤目領域抽出用画像と、再生静止画像との解像度変換比をαとする。
【０２７１】
また、再生静止画像である画像Ｐ１の左上を原点（０、０）とした場合において、赤目領域抽出用顔画像を取り出した場合における取り出し開始点を（Ｘ１、Ｙ１）とする。
【０２７２】
この場合において、再生静止画像上の赤目領域を形成する矩形の開始点（Ｘ、Ｙ）とサイズ（Ｗ、Ｈ）とは、次の（式１０）〜（式１３）で表すことができる。
Ｘ＝（（ｘ１＋ｘ２）／α）＋Ｘ１…（式１０）
Ｙ＝（（ｙ１＋ｙ２）／α）＋Ｙ１…（式１１）
Ｗ＝ｗ／α…（式１２）
Ｈ＝ｈ／α…（式１３）
【０２７３】
また、図３４（ａ）および図３４（ｂ）に示すように、目領域ＥＥ１の左上を原点（０、０）とした場合において、円形枠Ｃ１の中心座標を（ｘ３、ｙ３）とし、円形枠Ｃ１の半径の長さの値をｒとする。
【０２７４】
この場合において、再生静止画像上の赤目領域を形成する円形の中心点（Ｃｘ、Ｃｙ）および半径Ｒは、次の（式１４）〜（式１６）で表すことができる。
Ｃｘ＝（ｘ３＋ｘ２）／α＋Ｘ１…（式１４）
Ｃｙ＝（ｙ３＋ｙ２）／α＋Ｙ１…（式１５）
Ｒ＝ｒ／α…（式１６）
【０２７５】
以上で示したように、補正対象であるＲＡＭ１２０の再生画像保存領域１２０ａに保存されている再生静止画像のサイズに対応するように、設定された赤目領域をサイズ変換する。
【０２７６】
なお、解像度変換エンジン１４０と、画像圧縮伸張エンジン１５０と、顔検出エンジン１６０と、目頭目尻検出エンジン１７０と、画像回転エンジン１８０とについては、ハードウェアとソフトウェアの何れで実現するようにしてもよく、ＤＳＰ（Digital Signal Processor）等のプログラマブルなハードウェアを使用するようにしてもよい。また、顔検出処理、目頭目尻検出処理、赤目領域抽出処理において、処理の対象となる画像についてそれぞれの処理に適した解像度に変換する解像度変換処理を独立して実行しているが、処理の対象となる画像を共通して使用することができる場合には、共通で使用するようにしてもよい。
【０２７７】
なお、本実施の形態では、目頭目尻検出処理、赤目領域抽出処理において、周辺画像に含まれる顔が回転している場合には、画像回転エンジン１８０が回転処理を実行するが、目頭目尻検出処理または赤目領域抽出処理に係るアルゴリズムが、顔の回転に対応している場合には、画像回転処理を実行しなくてもよい。
【０２７８】
また、目頭目尻の検出に失敗した場合や赤目領域を抽出することができなかった場合においては、検出された顔領域の大きさと向きに基づいて目領域の存在範囲を推定し、この目領域の存在範囲内において判別対象枠を順次移動させていくことによってリトライ処理を実行し、検出率を上げていくようにしてもよい。
【０２７９】
このように、本発明の実施の形態によれば、色差の値の変化の態様（パターン）に基づいて目領域の赤目領域候補を抽出するとともに、この赤目領域候補からノイズ等を除去した後の赤目領域候補に基づいて赤目領域を設定するため、補正対象である赤目領域を適切に抽出することができる。すなわち、閾値等を用いて色差（赤）の値のみに基づいて、赤目領域を抽出する場合には、人の目が真っ赤になるものから明るい茶色になるものまで多種のパターンがある赤目現象に対応することができない場合がある。これに対して、本実施の形態では、色差の値の変化の態様（パターン）に基づいて目領域の赤目領域候補を抽出するとともに補足的に閾値を使用することによって、赤目領域の誤抽出の発生を低減させるとともに、赤みの低い赤目に対しても適切な赤目領域を抽出することができる。
【０２８０】
また、本発明の実施の形態で示した赤目領域抽出処理は、比較的単純な処理を実行するものであるため、組み込みマイコン等の処理に対しても適応することができる。さらに、比較的単純な処理を実行するものであるため、赤目領域抽出処理の処理時間を短縮することができる。また、画像データの保存方法を工夫することによって、赤目領域抽出に必要となるＲＡＭの容量を少なくすることが可能である。
【０２８１】
以上で示したように、本実施の形態では、人間の顔を撮影した画像からその顔に含まれる赤目領域を適切に抽出することができる。これにより、いわゆる赤目現象が発生した場合に適切な赤目補正をすることができる。
【０２８２】
また、近年の高画素化によって赤目領域が多くの情報を含むようになったため、赤目領域の情報が多くのパターンをもつようになった。さらに、これらにはデータの揺らぎや高周波ノイズが多数含まれる場合が多い。このため、赤目領域を抽出する場合に、これらのノイズや揺らぎの影響を受けにくくし、かつ必要な情報を残すように、小さい一定のサイズに顔領域を正規化することによって、誤検出の可能性を低減し、変化のパターン数を減らすことが可能となる。
【０２８３】
このように、本実施の形態においては、色差（赤）の値の変化に基づいて赤目領域を抽出するための正規化処理をすることによって、ノイズの影響を低減させ、適切な赤目補正をすることができる。また、処理の単純化やミスを低減することができ、同時に処理速度を向上させることが可能である。
【０２８４】
また、赤目領域を抽出する場合において、対象となる画像に正規化処理を施した場合には、補正対象の原画像に補正処理を行うため、抽出された領域の座標変換を行う必要がある。この場合、抽出された赤目領域を単純な図形の組み合わせで設定することによって、座標変換を容易に行うことが可能となる。また、矩形と円とを用いた単純な図形を用いて赤目領域を設定することによって、さらに演算処理を高速化させることができる。なお、赤目領域の形状は、円または楕円の形をしている場合が多く、また、瞼が赤目の上下に掛かり赤目の一部が欠けている可能性が高い。このため、矩形と円とを組み合わせた図形を用いることによって、補正対象となる赤目領域が欠けてしまう可能性を低減することができる。また、補正対象である赤目領域と分離することが難しい、赤みがかった瞼等の領域を比較的多く除外することができる。
【０２８５】
なお、本実施の形態においては、人間の目について説明したが、人間以外の動物（例えば、犬や猫のペット）の目についても本実施の形態を適用することができる。
【０２８６】
また、画像処理装置１００と撮像部４００とをデジタルスチルカメラ等の撮像装置に備え、撮像部４００により撮像された画像に対応する画像データについてその撮像装置が目領域設定処理または赤目補正処理を実行する場合に、本実施の形態を適用することができる。さらに、パーソナルコンピュータ等の情報処理装置に本実施の形態を適用することができる。
【０２８７】
本実施の形態では、赤目検出処理において検出された顔における両目について各処理を実行するが、それぞれの目についての処理を順次行うようにしてもよい。
【０２８８】
なお、本発明の実施の形態は本発明を具現化するための一例を示したものであり、以下に示すように特許請求の範囲における発明特定事項とそれぞれ対応関係を有するが、これに限定されるものではなく本発明の要旨を逸脱しない範囲において種々の変形を施すことができる。
【０２８９】
すなわち、請求項１、請求項１５において、入力手段は、例えば外部メディアコントローラ２００に対応する。
【０２９０】
また、請求項１、請求項１５、請求項１６において、顔検出手段は、例えば顔検出エンジン１６０に対応する。また、目領域設定手段は、例えばＣＰＵ１１０に対応する。
【０２９１】
また、請求項１、請求項７、請求項８、請求項１５、請求項１６において、色差抽出手段は、例えばＣＰＵ１１０に対応する。
【０２９２】
また、請求項１乃至請求項８、請求項１６において、赤目領域候補抽出手段は、例えばＣＰＵ１１０に対応する。
【０２９３】
また、請求項１、請求項９乃至請求項１２、請求項１５において、ノイズ除去手段は、例えばＣＰＵ１１０に対応する。
【０２９４】
また、請求項１、請求項１４乃至請求項１６において、赤目領域設定手段は、例えばＣＰＵ１１０に対応する。
【０２９５】
また、請求項１５において、第１の色差抽出手段は、例えばＣＰＵ１１０に対応する。また、第１の赤目領域候補抽出手段は、例えばＣＰＵ１１０に対応する。また、第２の色差抽出手段は、例えばＣＰＵ１１０に対応する。また、第２の赤目領域候補抽出手段は、例えばＣＰＵ１１０に対応する。
【０２９６】
また、請求項１６において、撮像手段は、例えば撮像部４００に対応する。また、入力手段は、例えばカメラ信号処理エンジン１３０に対応する。
【０２９７】
また、請求項１７または請求項１８において、入力手順は、例えばステップＳ９０１に対応する。また、顔検出手順は、例えばステップＳ９０４に対応する。また、目領域設定手順は、例えばステップＳ９５０に対応する。また、色差抽出手順は、例えばステップＳ１１０５に対応する。また、赤目領域候補抽出手順は、例えばステップＳ１１０６に対応する。また、ノイズ除去手順は、例えばステップＳ１２００に対応する。また、赤目領域設定手順は、例えばステップＳ１４００に対応する。
【０２９８】
なお、本発明の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。
【図面の簡単な説明】
【０２９９】
【図１】本発明の実施の形態における画像処理装置１００の機能構成例を示すブロック図である。
【図２】画像Ｐ１から顔Ｆ１〜Ｆ３を検出する場合における検出例、および、画像Ｐ１１から右目の目頭または目尻を検出する場合における検出例の概略を示す図である。
【図３】画像処理装置１００による赤目補正処理の処理手順を示すフローチャートである。
【図４】顔Ｆ１を含む周辺画像Ｐ１１から顔Ｆ１の右目Ｅ１の目頭を検出する場合における検出方法の概略を示す図である。
【図５】対象物サンプル（目頭画像）および非対象物サンプル（目頭以外の画像）の例を示す図である。
【図６】目頭目尻検出エンジン１７０による右目の目頭検出処理の処理手順を示すフローチャートである。
【図７】検出された目頭または目尻と、これらに基づいて設定される目領域との関係を示す図である。
【図８】目頭目尻検出エンジン１７０が検出した右目Ｅ１の目頭Ｅ１ａおよび目尻Ｅ１ｂに基づいて目領域ＥＥ１を設定する目領域設定方法の概略を示す図である。
【図９】目頭目尻検出エンジン１７０が検出した右目Ｅ１の目尻に基づいて目領域を設定する目領域設定方法の概略を示す図である。
【図１０】顔の上下方向の最大長さおよび左右方向の最大長さをそれぞれ１とした場合における右目の目頭および目尻の分布について、調査して求められた統計データを示す図である。
【図１１】画像処理装置１００による目領域設定の処理手順を示すフローチャートである。
【図１２】右目の目領域において左右方向に右側に向かって１ラインを走査した場合における色差（赤）の値の変化を表すグラフを示す図である。
【図１３】目領域の１ラインを走査することによって抽出された色差（赤）の値の変化と、単一の閾値を用いて設定された赤目領域とを表すグラフを示す図である。
【図１４】目領域の１ラインを走査することによって抽出された色差（赤）の値の変化と、単一の閾値を用いて設定された赤目領域とを表すグラフを示す図である。
【図１５】目領域の１ラインを走査することによって抽出された色差（赤）の値の変化と、単一の閾値を用いて設定された赤目領域とを表すグラフを示す図である。
【図１６】画像処理装置１００による赤目領域抽出の処理手順（ステップＳ１０００）を示すフローチャートである。
【図１７】図１６に示す各処理に応じた目領域における赤目の抽出状況の概略を示す図である。
【図１８】画像処理装置１００による赤目領域候補抽出処理（ステップＳ１１００）の処理手順を示すフローチャートである。
【図１９】目領域の１ラインを走査することによって抽出された色差（赤）の値の変化を表すグラフを示す図である。
【図２０】目領域の１ラインを走査することによって抽出された色差（赤）の値の変化を表すグラフを示す図である。
【図２１】目領域の１ラインを走査することによって抽出された色差（赤）の値の変化を表すグラフを示す図である。
【図２２】目領域の１ラインを走査することによって抽出された色差（赤）の値の変化を表すグラフを示す図である。
【図２３】図２２に示すグラフにおいて、山型範囲Ｍ６およびＭ７を含む周辺部分が拡大されたグラフを示す図である。
【図２４】目領域の１ラインを走査することによって抽出された色差（赤）の値の変化を表すグラフを示す図である。
【図２５】抽出された色差（赤）の値の変化を表すグラフと、目領域に含まれる目との関係を示す図である。
【図２６】抽出された色差（赤）の値の変化を表すグラフと、目領域に含まれる目との関係を示す図である。
【図２７】画像処理装置１００によるノイズである赤目領域候補を除去するノイズ除去処理（ステップＳ１２００）の処理手順を示すフローチャートである。
【図２８】抽出結果および除去結果が目領域ＥＥ１に表示されている状態を示す図である。
【図２９】右目Ｅ１の目領域ＥＥ１において左右方向に各ラインの走査が行われた結果が目領域ＥＥ１に表示されている状態を示す図である。
【図３０】画像処理装置１００による赤目領域候補抽出処理（ステップＳ１３００）の処理手順を示すフローチャートである。
【図３１】ノイズ除去処理の後の赤目領域候補の開始点および終了点に基づいて設定された上下方向の走査範囲ＳＨ１が目領域ＥＥ１に表示されている状態を示す図である。
【図３２】目領域の上下方向を１ライン走査することによって抽出された色差（赤）および輝度の値の変化を表すグラフを示す図である。
【図３３】抽出された赤目領域候補の開始点と範囲内最大点と終了点と、右目Ｅ１の目領域ＥＥ１との関係を示す概略図である。
【図３４】設定された赤目領域についての位置情報を生成する場合に、周辺画像Ｐ１１における生成方法の概略を示す図である。
【図３５】矩形枠Ｓ２と円形枠Ｃ２とを組み合わせた図形枠を用いて赤目領域を設定する場合における左目Ｅ２の目領域ＥＥ２と、その図形枠との関係を示す図である。
【図３６】画像処理装置１００による赤目領域設定処理（ステップＳ１４００）の処理手順を示すフローチャートである。
【符号の説明】
【０３００】
１００  画像処理装置
１１０  ＣＰＵ
１２０  ＲＡＭ
１２０ａ  再生画像保存領域
１２０ｂ  顔検出用画像保存領域
１２０ｃ  目検出用顔画像保存領域
１２０ｄ  赤目領域抽出用顔画像保存領域
１３０  カメラ信号処理エンジン
１４０  解像度変換エンジン
１５０  画像圧縮伸張エンジン
１６０  顔検出エンジン
１７０  目頭目尻検出エンジン
１８０  画像回転エンジン
１９０  画像表示エンジン
２００  外部メディアコントローラ
２１０  データバス
２２０  画像信号用バス
２３０  バス
３００  記録メディア
４００  撮像部
５００  画像表示装置
Ｃ１、Ｃ２  円形枠
Ｓ１、Ｓ２  矩形枠
【図１】
2008129665.tif 000003
【図２】
2008129665.tif 000004
【図３】
2008129665.tif 000005
【図４】
2008129665.tif 000006
【図５】
2008129665.tif 000007
【図６】
2008129665.tif 000008
【図７】
2008129665.tif 000009
【図８】
2008129665.tif 000010
【図９】
2008129665.tif 000011
【図１１】
2008129665.tif 000012
【図１６】
2008129665.tif 000013
【図１７】
2008129665.tif 000014
【図１８】
2008129665.tif 000015
【図２７】
2008129665.tif 000016
【図２８】
2008129665.tif 000017
【図２９】
2008129665.tif 000018
【図３０】
2008129665.tif 000019
【図３１】
2008129665.tif 000020
【図３３】
2008129665.tif 000021
【図３４】
2008129665.tif 000022
【図３５】
2008129665.tif 000023
【図３６】
2008129665.tif 000024
【図１０】
2008129665.tif 000025
【図１２】
2008129665.tif 000026
【図１３】
2008129665.tif 000027
【図１４】
2008129665.tif 000028
【図１５】
2008129665.tif 000029
【図１９】
2008129665.tif 000030
【図２０】
2008129665.tif 000031
【図２１】
2008129665.tif 000032
【図２２】
2008129665.tif 000033
【図２３】
2008129665.tif 000034
【図２４】
2008129665.tif 000035
【図２５】
2008129665.tif 000036
【図２６】
2008129665.tif 000037
【図３２】
2008129665.tif 000038