(57)【要約】【課題】顔を撮影した画像からその顔に含まれる目領域を適切に検出することを目的とする。【解決手段】記録メディア３００等の記録媒体や撮像部４００から入力された画像データに含まれる顔を検出する顔検出エンジン１６０と、その検出された顔に含まれる目頭および目尻を検出する目頭目尻検出エンジン１７０とを具備し、目頭目尻検出エンジン１７０により検出された目頭および目尻に基づいて顔検出エンジン１６０により検出された顔に含まれる目領域を設定する画像処理装置である。また、目頭目尻検出エンジン１７０により目頭または目尻の少なくとも１つが検出されなかった場合には、目頭目尻検出エンジン１７０により検出された目頭または目尻、顔検出エンジン１６０により検出された顔の領域情報、統計データに基づいて目領域を推定する。【選択図】図１
2008129664.tif 000002
【特許請求の範囲】
【請求項１】
画像データを入力する入力手段と、
前記入力された画像データに含まれる顔を検出する顔検出手段と、
前記顔検出手段により検出された顔に含まれる目頭を検出する目頭検出手段と、
前記顔検出手段により検出された顔に含まれる目尻を検出する目尻検出手段と、
前記目頭検出手段により検出された目頭と前記目尻検出手段により検出された目尻とに基づいて前記顔検出手段により検出された顔に含まれる目領域を設定する目領域設定手段と
を具備することを特徴とする画像処理装置。
【請求項２】
前記目領域設定手段は、前記目頭検出手段または前記目尻検出手段により目頭または目尻の少なくとも１つが検出されなかった場合には前記目頭検出手段または前記目尻検出手段により検出された目頭または目尻に基づいて前記目領域を推定して当該推定された目領域を設定する
ことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記目領域設定手段は、前記顔検出手段により検出された顔に含まれる両目のうちの一方の目については前記目頭検出手段および前記目尻検出手段により目頭および目尻が検出された場合であって当該両目のうちの他方の目については前記目頭検出手段または前記目尻検出手段により目頭または目尻の何れかが検出されなかった場合には、前記一方の目については当該一方の目に係る前記検出された目頭および目尻に基づいて目領域を設定し、前記他方の目については当該他方の目に係る前記検出された目頭または目尻に基づいて目領域の中心位置を設定するとともに前記一方の目に係る前記検出された目頭および目尻に基づいて目領域の左右方向の長さおよび上下方向の長さを設定する
ことを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記目領域設定手段は、前記顔検出手段により検出された顔に含まれる両目のうちの一方の目については前記目頭検出手段および前記目尻検出手段により目頭および目尻が検出された場合であって当該両目のうちの他方の目については前記目頭検出手段および前記目尻検出手段により目頭および目尻の何れも検出されなかった場合には、前記両目については当該一方の目に係る前記検出された目頭および目尻に基づいて目領域を設定する
ことを特徴とする請求項２記載の画像処理装置。
【請求項５】
前記目領域設定手段は、前記顔検出手段により検出された顔に含まれる両目のそれぞれについて目頭または目尻の何れかが検出されなかった場合には前記目頭検出手段または前記目尻検出手段により検出された目頭または目尻と前記顔検出手段により検出された顔の領域情報とに基づいて前記目領域を推定して当該推定された目領域を設定する
ことを特徴とする請求項１記載の画像処理装置。
【請求項６】
前記目領域設定手段は、前記顔検出手段により検出された顔に含まれる両目のそれぞれについて目頭または目尻の何れかが検出されなかった場合には、前記両目のそれぞれについて前記検出された目頭または目尻に基づいて当該目頭または目尻に係る目の目領域の中心位置を設定するとともに前記顔検出手段により検出された顔の左右方向の最大長さに基づいて前記両目の目領域の左右方向の長さおよび上下方向の長さを設定する
ことを特徴とする請求項５記載の画像処理装置。
【請求項７】
前記目領域設定手段は、前記顔検出手段により検出された顔に含まれる両目のうちの一方の目頭または目尻の何れかのみが前記目頭検出手段または前記目尻検出手段により検出された場合には、前記両目の目領域の中心位置については当該検出された目頭または目尻に基づいて設定するとともに前記両目の目領域の左右方向の長さおよび上下方向の長さについては前記顔検出手段により検出された顔の左右方向の最大長さに基づいて設定する
ことを特徴とする請求項５記載の画像処理装置。
【請求項８】
顔における目頭および目尻の分布について統計により求められたデータである統計データを記憶する記憶手段をさらに具備し、
前記目領域設定手段は、前記顔検出手段により検出された顔に含まれる両目のそれぞれについて目頭または目尻の何れかが検出されなかった場合には前記目頭検出手段または前記目尻検出手段により検出された目頭または目尻と前記記憶手段に記憶されている統計データと前記顔検出手段により検出された顔の領域情報とに基づいて前記目領域を推定して当該推定された目領域を設定する
ことを特徴とする請求項１記載の画像処理装置。
【請求項９】
顔における目頭および目尻の分布について統計により求められたデータである統計データを記憶する記憶手段をさらに具備し、
前記目領域設定手段は、前記顔検出手段により検出された顔に含まれる両目の目頭または目尻の何れも前記目頭検出手段または前記目尻検出手段により検出されなかった場合には前記記憶手段に記憶されている統計データと前記顔検出手段により検出された顔の領域情報とに基づいて前記目領域を推定して当該推定された目領域を設定する
ことを特徴とする請求項１記載の画像処理装置。
【請求項１０】
前記目領域設定手段は、前記顔検出手段により検出された顔に含まれる両目の目頭または目尻の何れも前記目頭検出手段または前記目尻検出手段により検出されなかった場合には、前記両目の目領域の中心位置については前記記憶手段に記憶されている統計データに基づいて設定するとともに前記両目の目領域の左右方向の長さおよび上下方向の長さについては前記顔検出手段により検出された顔の左右方向の最大長さに基づいて設定する
ことを特徴とする請求項９記載の画像処理装置。
【請求項１１】
前記目領域設定手段により設定された目領域を含む領域であって赤目領域を抽出するための領域である赤目探索領域を設定する赤目探索領域設定手段をさらに具備し、
前記赤目探索領域設定手段は、前記目頭検出手段および前記目尻検出手段により目頭および目尻が検出された場合と前記目頭検出手段または前記目尻検出手段により目頭または目尻の少なくとも１つが検出されなかった場合との何れであるかに応じて前記赤目探索領域の設定方法を変更する
ことを特徴とする請求項１記載の画像処理装置。
【請求項１２】
前記目領域設定手段により設定された目領域を含む領域であって赤目領域を抽出するための領域である赤目探索領域を設定する赤目探索領域設定手段と、
前記赤目探索領域設定手段により設定された赤目探索領域から赤目領域を抽出する赤目領域抽出手段とをさらに具備し、
前記赤目領域抽出手段は、前記目頭検出手段および前記目尻検出手段により目頭および目尻が検出された場合と前記目頭検出手段または前記目尻検出手段により目頭または目尻の少なくとも１つが検出されなかった場合との何れであるかに応じて赤目領域の抽出方法を変更する
ことを特徴とする請求項１記載の画像処理装置。
【請求項１３】
前記目領域設定手段により設定された目領域を含む領域であって赤目領域を抽出するための領域である赤目探索領域を設定する赤目探索領域設定手段と、
前記赤目探索領域設定手段により設定された赤目探索領域から赤目領域を抽出する赤目領域抽出手段と、
前記赤目領域抽出手段により抽出された赤目領域における赤目部分について赤目補正処理を施す赤目補正処理手段とをさらに具備し、
前記赤目補正処理手段は、前記目頭検出手段および前記目尻検出手段により目頭および目尻が検出された場合と前記目頭検出手段または前記目尻検出手段により目頭または目尻の少なくとも１つが検出されなかった場合との何れであるかに応じて赤目部分についての赤目補正処理方法を変更する
ことを特徴とする請求項１記載の画像処理装置。
【請求項１４】
前記目領域設定手段により設定された目領域を含む領域であって赤目領域を抽出するための領域である赤目探索領域を設定する赤目探索領域設定手段と、
前記赤目探索領域設定手段により設定された赤目探索領域から赤目領域を抽出する赤目領域抽出手段とをさらに具備し、
前記赤目領域抽出手段は、前記赤目探索領域設定手段により設定された赤目探索領域において瞳孔領域が存在する可能性の高い位置から判別対象範囲を順次設定して前記設定された判別対象範囲を順次走査することにより前記赤目領域を抽出する
ことを特徴とする請求項１記載の画像処理装置。
【請求項１５】
前記赤目領域抽出手段は、前記赤目探索領域設定手段により設定された赤目探索領域において前記判別対象範囲を設定する場合に移動元の判別対象範囲と移動先の判別対象範囲とについて一部の範囲がオーバーラップするように設定する
ことを特徴とする請求項１４記載の画像処理装置。
【請求項１６】
被写体の画像を撮像する撮像手段と、
前記撮像手段により撮像された画像に対応する画像データを入力する入力手段と、
前記入力された画像データに含まれる顔を検出する顔検出手段と、
前記顔検出手段により検出された顔に含まれる目頭を検出する目頭検出手段と、
前記顔検出手段により検出された顔に含まれる目尻を検出する目尻検出手段と、
前記目頭検出手段により検出された目頭と前記目尻検出手段により検出された目尻とに基づいて前記顔検出手段により検出された顔に含まれる目領域を設定する目領域設定手段と
を具備することを特徴とする撮像装置。
【請求項１７】
画像データを入力する入力手順と、
前記入力された画像データに含まれる顔を検出する顔検出手順と、
前記顔検出手順で検出された顔に含まれる目頭を検出する目頭検出手順と、
前記顔検出手順で検出された顔に含まれる目尻を検出する目尻検出手順と、
前記目頭検出手順で検出された目頭と前記目尻検出手順で検出された目尻とに基づいて前記顔検出手順で検出された顔に含まれる目領域を設定する目領域設定手順と
を具備することを特徴とする画像処理方法。
【請求項１８】
画像データを入力する入力手順と、
前記入力された画像データに含まれる顔を検出する顔検出手順と、
前記顔検出手順で検出された顔に含まれる目頭を検出する目頭検出手順と、
前記顔検出手順で検出された顔に含まれる目尻を検出する目尻検出手順と、
前記目頭検出手順で検出された目頭と前記目尻検出手順で検出された目尻とに基づいて前記顔検出手順で検出された顔に含まれる目領域を設定する目領域設定手順と
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関し、特に、顔が含まれる画像からその顔における目領域を検出する画像処理装置、撮影装置、および、これらにおける画像処理方法ならびに当該方法をコンピュータに実行させるプログラムに関する。
【背景技術】
【０００２】
暗い場所においてデジタルスチルカメラ等の撮像装置で被写体を撮影する場合、フラッシュやストロボを用いて撮影する場合が多い。このような暗い場所で被写体として人間を撮影する場合に、フラッシュ等を用いて撮影すると、人の目が赤色や金色に光って写ってしまう、いわゆる赤目現象が発生することが多い。
【０００３】
このように、フラッシュ等を用いて撮影すると赤目現象が発生することが多いため、撮影した画像（撮影画像）から赤目を検出し、検出された赤目を画像処理によって自動的に補正するデジタルスチルカメラ等の撮像装置が多数提案されている。このような赤目に関する画像処理を行うためには、補正対象である目領域または赤目領域を撮影画像から検出する必要がある。
【０００４】
例えば、識別対象画像の特徴量を算出し、算出された特徴量に基づいて、第１の参照データを参照して識別対象画像に顔が含まれるか否かを識別し、識別対象画像に顔が含まれている場合には、第２の参照データを参照してその顔に含まれる目の位置を識別する対象物識別方法が提案されている（例えば、特許文献１参照。）。なお、第１の参照データおよび第２の参照データは、顔であることが分かっている複数のサンプル画像における両目を含む所定領域に含まれる特徴量と、顔でないことが分かっている複数のサンプル画像における所定領域に対応する領域に含まれる特徴量とを学習して得られるデータである。
【特許文献１】特開２００５−１０８１９７号公報（図１）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述の従来技術によれば、識別対象画像の特徴量に基づいて識別対象画像に含まれる顔の目の位置を識別することができる。
【０００６】
しかしながら、いわゆる赤目現象は、人の目が赤色や金色に光って写ってしまう現象であるものの、撮影環境や撮影条件等によっては人の目が赤色や金色に限らず他のさまざまな色となることがある。このような場合において、識別対象画像の特徴量に基づいて識別対象画像に含まれる顔の目の位置を識別すると、目に係る特徴量を適切に算出することができないため、顔に含まれる目の位置を適切に識別することができない場合がある。
【０００７】
また、暗い場所において撮像装置で被写体を撮影する場合においては、フラッシュ等を用いて撮影しても画像の詳細部が不明瞭になることがある。さらに、朝夕や曇りの日などの比較的光量が少ない状況（低照度）において撮影した場合でも、画像の詳細部が不明瞭になることが多い。このように、暗い場所や低照度での撮影においては、画像の詳細部が不明瞭となるため、補正対象である目領域または赤目領域を適切に検出できない場合がある。
【０００８】
以上で示したように、従来技術では、人間の顔を撮影した画像からその顔に含まれる目領域を適切に検出することができず、いわゆる赤目現象が発生した場合に適切な赤目補正をすることができないという問題があった。
【０００９】
そこで、本発明は、顔を撮影した画像からその顔に含まれる目領域を適切に検出することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、上記課題を解決するためになされたものであり、その第１の側面は、画像データを入力する入力手段と、上記入力された画像データに含まれる顔を検出する顔検出手段と、上記顔検出手段により検出された顔に含まれる目頭を検出する目頭検出手段と、上記顔検出手段により検出された顔に含まれる目尻を検出する目尻検出手段と、上記目頭検出手段により検出された目頭と上記目尻検出手段により検出された目尻とに基づいて上記顔検出手段により検出された顔に含まれる目領域を設定する目領域設定手段とを具備することを特徴とする画像処理装置、および、これにおける画像処理方法ならびに当該方法をコンピュータに実行させるプログラムである。これにより、画像データに含まれる顔を検出するとともにその顔に含まれる目頭および目尻を検出し、検出された目頭および目尻に基づいてその顔に含まれる目領域を設定するという作用をもたらす。
【００１１】
また、この第１の側面において、上記目領域設定手段は、上記目頭検出手段または上記目尻検出手段により目頭または目尻の少なくとも１つが検出されなかった場合には上記目頭検出手段または上記目尻検出手段により検出された目頭または目尻に基づいて上記目領域を推定して当該推定された目領域を設定することができる。これにより、目頭または目尻の少なくとも１つが検出されなかった場合には検出された目頭または目尻に基づいて目領域を推定して設定するという作用をもたらす。また、この場合において、上記目領域設定手段は、上記顔検出手段により検出された顔に含まれる両目のうちの一方の目については上記目頭検出手段および上記目尻検出手段により目頭および目尻が検出された場合であって当該両目のうちの他方の目については上記目頭検出手段または上記目尻検出手段により目頭または目尻の何れかが検出されなかった場合には、上記一方の目については当該一方の目に係る上記検出された目頭および目尻に基づいて目領域を設定し、上記他方の目については当該他方の目に係る上記検出された目頭または目尻に基づいて目領域の中心位置を設定するとともに上記一方の目に係る上記検出された目頭および目尻に基づいて目領域の左右方向の長さおよび上下方向の長さを設定することができる。これにより、両目のうちの一方の目について目頭および目尻が検出された場合であって、他方の目について目頭または目尻の何れかが検出されなかった場合には、一方の目についてはこの目の目頭および目尻に基づいて目領域を設定し、他方の目についてはこの目の目頭または目尻に基づいて目領域の中心位置を設定するとともに一方の目の目頭および目尻に基づいて目領域の左右方向の長さおよび上下方向の長さを設定するという作用をもたらす。また、この場合において、上記目領域設定手段は、上記顔検出手段により検出された顔に含まれる両目のうちの一方の目については上記目頭検出手段および上記目尻検出手段により目頭および目尻が検出された場合であって当該両目のうちの他方の目については上記目頭検出手段および上記目尻検出手段により目頭および目尻の何れも検出されなかった場合には、上記両目については当該一方の目に係る上記検出された目頭および目尻に基づいて目領域を設定することができる。これにより、両目のうちの一方の目について目頭および目尻が検出された場合であって、他方の目について目頭および目尻の何れも検出されなかった場合には、その一方の目の目頭および目尻に基づいて両目の目領域を設定するという作用をもたらす。
【００１２】
また、この第１の側面において、上記目領域設定手段は、上記顔検出手段により検出された顔に含まれる両目のそれぞれについて目頭または目尻の何れかが検出されなかった場合には上記目頭検出手段または上記目尻検出手段により検出された目頭または目尻と上記顔検出手段により検出された顔の領域情報とに基づいて上記目領域を推定して当該推定された目領域を設定することができる。これにより、両目のそれぞれについて目頭または目尻の何れかが検出されなかった場合には、検出された目頭または目尻と顔の領域情報とに基づいて目領域を推定して設定するという作用をもたらす。また、この場合において、上記目領域設定手段は、上記顔検出手段により検出された顔に含まれる両目のそれぞれについて目頭または目尻の何れかが検出されなかった場合には、上記両目のそれぞれについて上記検出された目頭または目尻に基づいて当該目頭または目尻に係る目の目領域の中心位置を設定するとともに上記顔検出手段により検出された顔の左右方向の最大長さに基づいて上記両目の目領域の左右方向の長さおよび上下方向の長さを設定することができる。これにより、両目のそれぞれについて目頭または目尻の何れかが検出されなかった場合には、両目のそれぞれについて目頭または目尻に基づいて目領域の中心位置を設定するとともに顔の左右方向の最大長さに基づいて両目の目領域の左右方向の長さおよび上下方向の長さを設定するという作用をもたらす。また、この場合において、上記目領域設定手段は、上記顔検出手段により検出された顔に含まれる両目のうちの一方の目頭または目尻の何れかのみが上記目頭検出手段または上記目尻検出手段により検出された場合には、上記両目の目領域の中心位置については当該検出された目頭または目尻に基づいて設定するとともに上記両目の目領域の左右方向の長さおよび上下方向の長さについては上記顔検出手段により検出された顔の左右方向の最大長さに基づいて設定することができる。これにより、両目のうちの一方の目頭または目尻の何れかのみが検出された場合には、両目の目領域の中心位置については目頭または目尻に基づいて設定するとともに目領域の左右方向の長さおよび上下方向の長さについては顔の左右方向の最大長さに基づいて設定するという作用をもたらす。
【００１３】
また、この第１の側面において、顔における目頭および目尻の分布について統計により求められたデータである統計データを記憶する記憶手段をさらに具備し、上記目領域設定手段は、上記顔検出手段により検出された顔に含まれる両目のそれぞれについて目頭または目尻の何れかが検出されなかった場合には上記目頭検出手段または上記目尻検出手段により検出された目頭または目尻と上記記憶手段に記憶されている統計データと上記顔検出手段により検出された顔の領域情報とに基づいて上記目領域を推定して当該推定された目領域を設定することができる。これにより、両目のそれぞれについて目頭または目尻の何れかが検出されなかった場合には、目頭または目尻と統計データと顔の領域情報とに基づいて目領域を推定して設定するという作用をもたらす。
【００１４】
また、この第１の側面において、顔における目頭および目尻の分布について統計により求められたデータである統計データを記憶する記憶手段をさらに具備し、上記目領域設定手段は、上記顔検出手段により検出された顔に含まれる両目の目頭または目尻の何れも上記目頭検出手段または上記目尻検出手段により検出されなかった場合には上記記憶手段に記憶されている統計データと上記顔検出手段により検出された顔の領域情報とに基づいて上記目領域を推定して当該推定された目領域を設定することができる。これにより、両目の目頭または目尻の何れも検出されなかった場合には、統計データと顔の領域情報とに基づいて目領域を推定して設定するという作用をもたらす。また、この場合において、上記目領域設定手段は、上記顔検出手段により検出された顔に含まれる両目の目頭または目尻の何れも上記目頭検出手段または上記目尻検出手段により検出されなかった場合には、上記両目の目領域の中心位置については上記記憶手段に記憶されている統計データに基づいて設定するとともに上記両目の目領域の左右方向の長さおよび上下方向の長さについては上記顔検出手段により検出された顔の左右方向の最大長さに基づいて設定することができる。これにより、両目の目頭または目尻の何れも検出されなかった場合には、両目の目領域の中心位置については統計データに基づいて設定するとともに両目の目領域の左右方向の長さおよび上下方向の長さについては顔の左右方向の最大長さに基づいて設定するという作用をもたらす。
【００１５】
また、この第１の側面において、上記目領域設定手段により設定された目領域を含む領域であって赤目領域を抽出するための領域である赤目探索領域を設定する赤目探索領域設定手段をさらに具備し、上記赤目探索領域設定手段は、上記目頭検出手段および上記目尻検出手段により目頭および目尻が検出された場合と上記目頭検出手段または上記目尻検出手段により目頭または目尻の少なくとも１つが検出されなかった場合との何れであるかに応じて上記赤目探索領域の設定方法を変更することができる。これにより、目頭および目尻が検出された場合と目頭または目尻の少なくとも１つが検出されなかった場合との何れであるかに応じて、赤目領域を抽出するための赤目探索領域の設定方法を変更するという作用をもたらす。
【００１６】
また、この第１の側面において、上記目領域設定手段により設定された目領域を含む領域であって赤目領域を抽出するための領域である赤目探索領域を設定する赤目探索領域設定手段と、上記赤目探索領域設定手段により設定された赤目探索領域から赤目領域を抽出する赤目領域抽出手段とをさらに具備し、上記赤目領域抽出手段は、上記目頭検出手段および上記目尻検出手段により目頭および目尻が検出された場合と上記目頭検出手段または上記目尻検出手段により目頭または目尻の少なくとも１つが検出されなかった場合との何れであるかに応じて赤目領域の抽出方法を変更することができる。これにより、目頭および目尻が検出された場合と目頭または目尻の少なくとも１つが検出されなかった場合との何れであるかに応じて、赤目領域の抽出方法を変更するという作用をもたらす。
【００１７】
また、この第１の側面において、上記目領域設定手段により設定された目領域を含む領域であって赤目領域を抽出するための領域である赤目探索領域を設定する赤目探索領域設定手段と、上記赤目探索領域設定手段により設定された赤目探索領域から赤目領域を抽出する赤目領域抽出手段と、上記赤目領域抽出手段により抽出された赤目領域における赤目部分について赤目補正処理を施す赤目補正処理手段とをさらに具備し、上記赤目補正処理手段は、上記目頭検出手段および上記目尻検出手段により目頭および目尻が検出された場合と上記目頭検出手段または上記目尻検出手段により目頭または目尻の少なくとも１つが検出されなかった場合との何れであるかに応じて赤目部分についての赤目補正処理方法を変更することができる。これにより、目頭および目尻が検出された場合と目頭または目尻の少なくとも１つが検出されなかった場合との何れであるかに応じて、赤目領域における赤目部分についての赤目補正処理方法を変更するという作用をもたらす。
【００１８】
また、この第１の側面において、上記目領域設定手段により設定された目領域を含む領域であって赤目領域を抽出するための領域である赤目探索領域を設定する赤目探索領域設定手段と、上記赤目探索領域設定手段により設定された赤目探索領域から赤目領域を抽出する赤目領域抽出手段とをさらに具備し、上記赤目領域抽出手段は、上記赤目探索領域設定手段により設定された赤目探索領域において瞳孔領域が存在する可能性の高い位置から判別対象範囲を順次設定して上記設定された判別対象範囲を順次走査することにより上記赤目領域を抽出することができる。これにより、赤目探索領域において瞳孔領域が存在する可能性の高い位置から判別対象範囲を順次設定して判別対象範囲を順次走査することにより赤目領域を抽出するという作用をもたらす。また、この場合において、上記赤目領域抽出手段は、上記赤目探索領域設定手段により設定された赤目探索領域において上記判別対象範囲を設定する場合に移動元の判別対象範囲と移動先の判別対象範囲とについて一部の範囲がオーバーラップするように設定することができる。これにより、赤目探索領域において判別対象範囲を設定する場合に移動元の判別対象範囲と移動先の判別対象範囲とについて一部の範囲がオーバーラップするように設定するという作用をもたらす。
【００１９】
また、本発明の第２の側面は、被写体の画像を撮像する撮像手段と、上記撮像手段により撮像された画像に対応する画像データを入力する入力手段と、上記入力された画像データに含まれる顔を検出する顔検出手段と、上記顔検出手段により検出された顔に含まれる目頭を検出する目頭検出手段と、上記顔検出手段により検出された顔に含まれる目尻を検出する目尻検出手段と、上記目頭検出手段により検出された目頭と上記目尻検出手段により検出された目尻とに基づいて上記顔検出手段により検出された顔に含まれる目領域を設定する目領域設定手段とを具備することを特徴とする撮像装置である。これにより、画像データに含まれる顔を検出するとともにその顔に含まれる目頭および目尻を検出し、検出された目頭および目尻に基づいてその顔に含まれる目領域を設定するという作用をもたらす。
【発明の効果】
【００２０】
本発明によれば、顔を撮影した画像からその顔に含まれる目領域を適切に検出することができるという優れた効果を奏し得る。
【発明を実施するための最良の形態】
【００２１】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【００２２】
図１は、本発明の実施の形態における画像処理装置１００の機能構成例を示すブロック図である。
【００２３】
画像処理装置１００は、ＣＰＵ１１０と、ＲＡＭ１２０と、カメラ信号処理エンジン１３０と、解像度変換エンジン１４０と、画像圧縮伸張エンジン１５０と、顔検出エンジン１６０と、目頭目尻検出エンジン１７０と、画像回転エンジン１８０と、画像表示エンジン１９０と、外部メディアコントローラ２００と、データバス２１０と、画像信号用バス２２０と、バス２３０とを備える。
【００２４】
また、画像処理装置１００は、記録メディア３００と、撮像部４００と、画像表示装置５００とに接続される。
【００２５】
記録メディア３００は、ＪＰＥＧ（Joint Photographic Experts Group）形式の画像データ等の各種データを記録する情報記録媒体である。
【００２６】
撮像部４００は、光学系と撮像素子とから構成され、光学系を通して撮影された画像を画像信号に光電変換し、光電変換された画像信号をカメラ信号処理エンジン１３０に出力するものである。
【００２７】
画像表示装置５００は、画像表示エンジン１９０から出力された各種画像データに対応する画像を表示する画像表示装置である。画像表示装置として、例えば、液晶ディスプレイ（ＬＣＤ）や電子ビューファインダ（ＥＶＦ）が用いられる。
【００２８】
ＣＰＵ（Central Processing Unit）１１０は、各種制御プログラムに基づいて画像処理装置１００全体を制御するものである。
【００２９】
ＲＡＭ（Random Access Memory）１２０は、各種データを格納するメモリであり、画像処理のための各種の画像保存領域を備える。具体的には、ＲＡＭ１２０は、再生画像保存領域１２０ａと、顔検出用画像保存領域１２０ｂと、目検出用顔画像保存領域１２０ｃと、赤目領域抽出用顔画像保存領域１２０ｄとを備える。再生画像保存領域１２０ａは、画像圧縮伸張エンジン１５０により展開された静止画像データ等を保存する保存領域である。顔検出用画像保存領域１２０ｂは、顔検出エンジン１６０が静止画像データから顔画像を検出する場合に、解像度変換エンジン１４０により顔検出に適した解像度に変換された静止画像データ等を保存する保存領域である。目検出用顔画像保存領域１２０ｃは、目頭目尻検出エンジン１７０が顔画像を含む周辺画像から目尻および目頭を検出する場合に、解像度変換エンジン１４０により解像度変換された周辺画像等を保存する保存領域である。赤目領域抽出用顔画像保存領域１２０ｄは、ＣＰＵ１１０が顔画像を含む周辺画像から赤目領域を抽出する場合に、解像度変換エンジン１４０により解像度変換された周辺画像等を保存する保存領域である。また、ＲＡＭ１２０は、顔検出、目頭目尻検出をする場合に用いられる各種サンプル画像を格納する。
【００３０】
カメラ信号処理エンジン１３０は、撮像部４００から出力された画像信号に対して適正な信号処理を施して画像信号用バス２２０に出力するものである。
【００３１】
解像度変換エンジン１４０は、入力された各種画像データを各画像処理に適した解像度に変換するものである。
【００３２】
画像圧縮伸張エンジン１５０は、入力された各種画像データを各画像処理に応じて圧縮または伸張するものである。
【００３３】
顔検出エンジン１６０は、ＲＡＭ１２０の顔検出用画像保存領域１２０ｂに保存されている静止画像から顔画像を検出するものである。具体的には、顔検出エンジン１６０は、顔検出用画像保存領域１２０ｂに保存されている静止画像に含まれている顔画像について顔領域の位置、大きさ、顔の向き等を検出する。なお、顔検出用画像保存領域１２０ｂに保存されている静止画像に複数の顔画像が含まれている場合には、検出可能な複数の顔画像を顔検出エンジン１６０が検出する。
【００３４】
図２（ａ）は、顔検出エンジン１６０が画像Ｐ１から顔Ｆ１〜Ｆ３を検出する場合における検出例の概略を示す図である。ここで、画像Ｐ１１〜Ｐ１３は、顔Ｆ１〜Ｆ３を含む周辺画像である。
【００３５】
目頭目尻検出エンジン１７０は、ＲＡＭ１２０の目検出用顔画像保存領域１２０ｃに保存されている顔画像を含む周辺画像から左右の目頭および目尻を検出するものである。
【００３６】
図２（ｂ）は、目頭目尻検出エンジン１７０が画像Ｐ１１から右目の目頭を検出する場合における検出例の概略を示す図であり、図２（ｃ）は、目頭目尻検出エンジン１７０が画像Ｐ１１から右目の目尻を検出する場合における検出例の概略を示す図である。目頭目尻検出エンジン１７０は、判別対象枠Ｗ１を用いて、図２（ｂ）に示すように、画像Ｐ１１から右目の目頭を検出し、図２（ｃ）に示すように、画像Ｐ１１から右目の目尻を検出する。なお、左目の目頭および目尻についても同様に目頭目尻検出エンジン１７０が検出する。
【００３７】
画像回転エンジン１８０は、ＲＡＭ１２０の目検出用顔画像保存領域１２０ｃに保存されている周辺画像に含まれる顔が当該顔の前後方向を軸にして回転している場合（顔の向きが正面を向いている場合であって顔の上下左右方向と顔を含む周辺画像の上下左右方向が一致していない場合を意味し、以下では、「顔が回転している場合」と称する。）に、当該顔の上下左右方向と周辺画像の上下左右方向とが一致するように当該顔画像を回転処理するための画像処理を実行するものである。
【００３８】
画像表示エンジン１９０は、ＣＰＵ１１０の制御に基づいて、各種画像データを画像表示装置５００に出力するものである。
【００３９】
外部メディアコントローラ２００は、記録メディア３００と接続され、記録メディア３００から入力された画像データをデータバス２１０を介してＲＡＭ１２０等に出力するとともに、各種画像データを記録メディア３００に出力するものである。
【００４０】
次に本発明の実施の形態における画像処理装置１００の動作について図面を参照して説明する。
【００４１】
図３は、画像処理装置１００による赤目補正処理の処理手順を示すフローチャートである。
【００４２】
本実施の形態では、画像処理装置１００において記録メディア３００に記録されているＪＰＥＧ画像データを再生する場合における赤目補正処理の例について説明する。
【００４３】
最初に、画像処理装置１００において、記録メディア３００に記録されているＪＰＥＧ画像データに対応する画像から顔画像を検出する顔検出処理が実行される（ステップＳ９０１〜ステップＳ９０４）。
【００４４】
具体的には、ＪＰＥＧ画像データが保存されている記録メディア３００が外部メディアコントローラ２００に接続されると、記録メディア３００に保存されているＪＰＥＧ画像データが読み出され、読み出されたＪＰＥＧ画像データが外部メディアコントローラ２００を経由してＲＡＭ１２０に出力される（ステップＳ９０１）。そして、読み出されたＪＰＥＧ画像データがＲＡＭ１２０に保存される。
【００４５】
続いて、ＲＡＭ１２０に保存されているＪＰＥＧ画像データが画像圧縮伸張エンジン１５０に転送される。ＪＰＥＧ画像データが転送されると、転送されたＪＰＥＧ画像データを画像圧縮伸張エンジン１５０が伸張して静止画像データとして展開する（ステップＳ９０２）。
【００４６】
続いて、画像圧縮伸張エンジン１５０により展開された静止画像データが、ＲＡＭ１２０の再生画像保存領域１２０ａに順次転送されて保存される。
【００４７】
ＲＡＭ１２０に保存されているＪＰＥＧ画像データの全ての画像データについて展開・転送処理が終了した後に、ＲＡＭ１２０の再生画像保存領域１２０ａに保存されている静止画像データが解像度変換エンジン１４０に転送される。続いて、解像度変換エンジン１４０に静止画像データが転送されると、転送された静止画像データを解像度変換エンジン１４０が顔検出に適した解像度に変換する（ステップＳ９０３）。続いて、解像度変換された静止画像データがＲＡＭ１２０の顔検出用画像保存領域１２０ｂに出力され、顔検出用画像保存領域１２０ｂに保存される。
【００４８】
続いて、顔検出用画像保存領域１２０ｂに保存されている静止画像データが顔検出エンジン１６０に入力される。静止画像データが顔検出エンジン１６０に入力されると、静止画像データに対応する画像から顔画像を顔検出エンジン１６０が検出する（ステップＳ９０４）。例えば、図２（ａ）に示すように、画像Ｐ１が顔検出エンジン１６０に入力されると、画像Ｐ１に含まれる人間の顔Ｆ１〜Ｆ３を検出する。このとき、顔検出エンジン１６０は、検出された顔について、その顔の顔領域の位置と大きさと顔の向きとを含む顔情報を生成する。さらに、図２（ａ）に示すように、静止画像データに対応する画像に複数の顔が含まれている場合には、その複数人の顔を検出する。なお、静止画像データに対応する画像から顔画像を検出する場合には、図４に示す目頭検出方法と同様に、静止画像データに対応する画像を順次縮小し、縮小された画像について顔検出エンジン１６０が顔検出処理を順次実行する。
【００４９】
次に、顔検出エンジン１６０によって検出された顔画像から目頭および目尻を検出し、その検出された目頭および目尻から目領域を設定する目領域設定処理が実行される（ステップＳ９０５〜ステップＳ９０９、ステップＳ９５０）。
【００５０】
具体的には、顔検出エンジン１６０が検出した顔の顔領域の位置および大きさは、顔検出用画像に対応する位置および大きさであるため、顔検出エンジン１６０が検出した顔の顔領域の位置および大きさは再生画像に対応する位置および大きさに変換される（ステップＳ９０５）。
【００５１】
続いて、顔検出エンジン１６０が検出した顔領域の位置および大きさに基づいて、再生画像保存領域１２０ａに保存されている静止画像データに対応する画像から顔領域とその周辺部が取り出され（ステップＳ９０６）、その取り出された顔画像を含む周辺画像が解像度変換エンジン１４０に出力される。なお、顔検出エンジン１６０によって検出された顔画像が複数存在する場合には、それぞれの顔画像について同様に処理される。例えば、図２（ａ）に示す画像Ｐ１から画像Ｐ１１〜Ｐ１３が取り出され、取り出された画像Ｐ１１〜Ｐ１３が解像度変換エンジン１４０に出力される。
【００５２】
周辺画像が解像度変換エンジン１４０に入力されると、解像度変換エンジン１４０は入力された周辺画像を目頭目尻検出に適する解像度に変換する（ステップＳ９０７）。その結果、解像度変換エンジン１４０は、解像度変換された周辺画像をＲＡＭ１２０の目検出用顔画像保存領域１２０ｃに出力する。すなわち、解像度変換された周辺画像が目検出用顔画像保存領域１２０ｃに保存される。
【００５３】
続いて、目検出用顔画像保存領域１２０ｃに保存されている周辺画像に含まれる顔が回転している場合には、その周辺画像が画像回転エンジン１８０に出力される。周辺画像が画像回転エンジン１８０に入力されると、周辺画像に含まれる顔の上下左右方向と周辺画像の上下左右方向とが一致するように、周辺画像に含まれる顔を画像回転エンジン１８０が回転補正し（ステップＳ９０８）、その回転補正された周辺画像を目検出用顔画像保存領域１２０ｃに出力する。すなわち、その回転補正された周辺画像が目検出用顔画像保存領域１２０ｃに保存される。
【００５４】
続いて、目検出用顔画像保存領域１２０ｃに保存されている周辺画像が目頭目尻検出エンジン１７０に出力される。周辺画像が目頭目尻検出エンジン１７０に入力されると、入力された周辺画像において目頭目尻検出エンジン１７０が判別対象枠内の判別対象範囲を順次走査して目頭および目尻を検出する（ステップＳ９０９）。
【００５５】
続いて、検出された目頭および目尻に基づいて顔画像に含まれる左右の目の目領域が設定される（ステップＳ９５０）。なお、左右の目のうちで目頭および目尻の少なくとも１つが検出できなかった場合には、検出された目頭または目尻や過去の統計データ等に基づいて顔画像に含まれる左右の目の目領域が推定され設定される（ステップＳ９５０）。なお、左右の目の目領域が設定される場合に、周辺画像における目領域の位置および大きさを含む目領域情報が生成される。
【００５６】
続いて、顔検出エンジン１６０によって検出された顔領域の位置および大きさに基づいて、再生画像保存領域１２０ａに保存されている静止画像データに対応する画像から顔領域とその周辺部が取り出され、その取り出された顔画像を含む周辺画像が解像度変換エンジン１４０に出力される。周辺画像が解像度変換エンジン１４０に入力されると、解像度変換エンジン１４０は入力された周辺画像を赤目領域抽出処理に適する解像度に変換する（ステップＳ９１１）。なお、顔検出エンジン１６０が検出した顔画像が複数存在する場合には、それぞれの顔画像について同様に処理される。続いて、解像度変換された周辺画像を解像度変換エンジン１４０がＲＡＭ１２０の赤目領域抽出用顔画像保存領域１２０ｄに出力する。すなわち、解像度変換された周辺画像が赤目領域抽出用顔画像保存領域１２０ｄに保存される。
【００５７】
続いて、赤目領域抽出用顔画像保存領域１２０ｄに保存されている周辺画像に含まれる顔が回転している場合には、その周辺画像が画像回転エンジン１８０に出力される。周辺画像が画像回転エンジン１８０に入力されると、周辺画像に含まれる顔の上下左右方向と周辺画像の上下左右方向とが一致するように、周辺画像に含まれる顔を画像回転エンジン１８０が回転補正し（ステップＳ９１２）、その回転補正された周辺画像を赤目領域抽出用顔画像保存領域１２０ｄに出力する。すなわち、その回転補正された周辺画像が赤目領域抽出用顔画像保存領域１２０ｄに保存される。
【００５８】
続いて、目領域の設定の際に検出された目領域情報が赤目領域抽出用顔画像保存領域１２０ｄに保存されている周辺画像に対応するように変換され、変換された目領域情報に基づいて、赤目領域抽出用顔画像保存領域１２０ｄに保存されている周辺画像に含まれる顔から、赤目領域抽出用の左右の目領域が設定される。そして、設定された赤目領域抽出用の目領域について、赤目領域の抽出処理が行われる（ステップＳ９７０）。このとき、抽出された赤目領域について、その赤目領域の位置および大きさを含む赤目領域情報が生成される。これらの処理は、ＣＰＵ１１０によって実行される。
【００５９】
続いて、抽出された赤目領域の位置および大きさは、赤目抽出用画像に対応する位置および大きさであるため、補正対象であるＲＡＭ１２０の再生画像保存領域１２０ａに保存されている静止画像データに対応する再生静止画像の大きさに対応するように、抽出された赤目領域の位置および大きさが変換される（ステップＳ９１３）。
【００６０】
続いて、抽出された赤目領域内の画素に対して１画素ずつ赤目条件を満たすかどうかが判断される。これにより、赤目条件を満たす場合には、どのような補正処理を実行するのかが画素値等に基づいて決定され、自然な赤目のない目に見えるように、赤目の補正処理が実行される（ステップＳ９１４）。
【００６１】
次に、顔検出エンジン１６０が検出した顔画像を含む周辺画像から、目頭目尻検出エンジン１７０が右目の目頭を検出する目頭検出方法について図面を参照して説明する。なお、右目の目尻、左目の目頭および目尻、顔の検出についても、この目頭検出方法と同様の方法で検出することができる。
【００６２】
図４は、目頭目尻検出エンジン１７０が、顔Ｆ１を含む周辺画像Ｐ１１から顔Ｆ１の右目Ｅ１の目頭を検出する場合における検出方法の概略を示す図である。図４に示すように、目頭目尻検出エンジン１７０に入力された周辺画像Ｐ１１において判別対象枠Ｗ１が順次走査することによって顔Ｆ１を含む周辺画像Ｐ１１から顔Ｆ１の右目Ｅ１の目頭を検出する。なお、詳細については図６を参照して説明する。
【００６３】
図５は、目頭目尻検出エンジン１７０が右目の目頭を検出する場合において用いられる対象物サンプル（目頭画像）および非対象物サンプル（目頭以外の画像）の例を示す図である。これらのサンプル画像の特徴量を用いるようにしてもよく、目頭目尻検出エンジン１７０においてこれらのサンプル画像を用いた学習を予め行わせ、学習によって得られた特徴量等のデータを用いるようにしてもよい。
【００６４】
図６は、目頭目尻検出エンジン１７０による右目の目頭検出処理の処理手順を示すフローチャートである。なお、この処理手順は、図３に示すステップＳ９０９における目頭・目尻検出処理のうちの右目の目頭検出処理を示すものであるが、目頭・目尻検出処理のうちの右目の目尻、左目の目頭および目尻、顔の検出処理についても同様の処理手順である。
【００６５】
最初に、目検出用顔画像保存領域１２０ｃに保存されている周辺画像が目頭目尻検出エンジン１７０に入力される（ステップＳ９３０）。周辺画像が目頭目尻検出エンジン１７０に入力されると（ステップＳ９３０）、入力された周辺画像において判別対象枠が左上隅に配置される（ステップＳ９３１）。
【００６６】
続いて、入力された周辺画像において判別対象枠内の画像が取り出され（ステップＳ９３２）、取り出された画像が目頭画像であるか否かが判別される（ステップＳ９３３）。例えば、判別対象枠内の画像から検出された特徴量と、ＲＡＭ１２０に保存されている対象物サンプルおよび非対象物サンプルから抽出された特徴量とを比較し、比較した結果に基づいて、取り出された画像が目頭画像であるか否かが判別される。なお、特徴量とは、対象となる画像の特徴を表すパラメータであり、対象となる画像における各画素の色情報（色相、彩度）、濃度等である。例えば、２つのピクセル間の輝度値の差を用いることができる。なお、判別対象枠内の画像の判別方法としては、これらに限定されるものではなく、他の判別方法を用いるようにしてもよい。
【００６７】
その結果、取り出された画像が目頭画像であると判別された場合には（ステップＳ９３４）、取り出された画像の位置および大きさがＲＡＭ１２０に記憶される。
【００６８】
例えば、図４（ａ）に示す周辺画像Ｐ１１が目頭目尻検出エンジン１７０に入力されると（ステップＳ９３０）、入力された周辺画像Ｐ１１において判別対象枠Ｗ１が左上隅に配置される（ステップＳ９３１）。
【００６９】
続いて、入力された周辺画像Ｐ１１において判別対象枠Ｗ１内の画像が取り出され（ステップＳ９３２）、ＲＡＭ１２０に保存されている対象物サンプルおよび非対象物サンプルに基づいて、取り出された画像が目頭画像であるか否かが判別される（ステップＳ９３３）。ここでは、図４（ａ）に示す周辺画像Ｐ１１に含まれる顔の大きさが大きいため、取り出された各画像が目頭画像ではないと判別される（ステップＳ９３４）。
【００７０】
取り出された画像について判別された結果、取り出された画像が目頭画像ではないと判別された後（ステップＳ９３４）、または、取り出された画像が目頭画像であると判別され（ステップＳ９３４）、取り出された画像の位置および大きさがＲＡＭ１２０に記憶された後に（ステップＳ９３５）、入力された周辺画像において判別対象枠が右端に配置されているか否かが判断される（ステップＳ９３６）。
【００７１】
入力された周辺画像において判別対象枠が右端に配置されていなければ（ステップＳ９３６）、判別対象枠が左右方向の右側に１画素分進められ（ステップＳ９３７）、入力された周辺画像において判別対象枠内の画像が取り出される（ステップＳ９３２）。
【００７２】
一方、入力された周辺画像において判別対象枠が右端に配置されていれば（ステップＳ９３６）、入力された周辺画像において判別対象枠が下端に配置されているか否かが判断される（ステップＳ９３８）。
【００７３】
入力された周辺画像において判別対象枠が下端に配置されていなければ（ステップＳ９３８）、判別対象枠が左端に進められるとともに上下方向の下側に１画素分進められ（ステップＳ９３９）、入力された周辺画像において判別対象枠内の画像が取り出される（ステップＳ９３２）。
【００７４】
つまり、本実施の形態では、入力された周辺画像が判別対象枠により左右方向に順次走査され、判別対象枠が周辺画像の右端に達した場合には、判別対象枠が左端に進められるとともに上下方向の下側にも進められ、引き続き、周辺画像が判別対象枠により左右方向に順次走査される。
【００７５】
一方、入力された周辺画像において判別対象枠が下端に配置されていれば（ステップＳ９３８）、入力された周辺画像の一辺の長さが判別対象枠の一辺の長さ以下になっているか否かが判断される（ステップＳ９４０）。つまり、入力された周辺画像において判別対象枠が右端および下端に配置されていれば、入力された周辺画像の全ての領域を走査したことになるため、入力された周辺画像をさらに縮小して走査をする必要があるか否かが判断される。
【００７６】
入力された周辺画像の一辺の長さが、判別対象枠の一辺の長さ以下とはなっていなければ（ステップＳ９４０）、入力された周辺画像をさらに縮小して走査をする必要があるため、入力された周辺画像が所定の縮小率で縮小され（ステップＳ９４１）、縮小された周辺画像において判別対象枠が左上隅に配置される（ステップＳ９３１）。
【００７７】
一方、入力された周辺画像の一辺の長さが、判別対象枠の一辺の長さ以下となっていれば（ステップＳ９４０）、目頭画像であると判別された画像が複数存在するか否かが判断される（ステップＳ９４２）。
【００７８】
例えば、図４（ｃ）に示すように、周辺画像Ｐ１１ｂの一辺の長さが判別対象枠Ｗ１の矩形の一辺の長さ以下になった場合には、入力された周辺画像の走査が終了したことになるため、走査の動作を終了する。
【００７９】
続いて、目頭画像であると判別された画像が複数存在する場合には（ステップＳ９４２）、複数の目頭画像の中から２個の目頭画像が抽出され（ステップＳ９４３）、抽出された２個の目頭画像について、それらの特徴量に基づいて何れかの目頭画像が選択され、選択されなかった目頭画像が削除される（ステップＳ９４４）。続いて、目頭画像であると判別された画像が複数存在するか否かが判断され（ステップＳ９４２）、目頭画像であると判別された画像が１個になるまで繰り返される（ステップＳ９４２〜ステップＳ９４４）。このように選択処理をすることによって適切な目頭画像を判別することができる。
【００８０】
以上で示したように、入力された周辺画像において右目の目頭画像が検出されることによって、右目の目頭が検出される。また、検出された右目の目頭に基づいて、周辺画像における右目の目頭の位置および大きさが検出される。
【００８１】
次に、顔検出エンジン１６０によって検出された顔画像において目領域を設定する目領域設定方法について図面を参照して説明する。
【００８２】
最初に、顔領域と目領域との関係、および、目の横幅と縦幅との関係について簡単に説明する。
【００８３】
調査して得られた統計データに基づけば、人間の顔の左右方向の最大長さの値を１とした場合において、その顔の目の左右方向の最大長さの値は、例えば０．１〜０．２であり、その顔の目の上下方向の最大長さの値は、例えば０．１である。また、目の目頭と目尻との左右方向の距離の値を１とした場合に、その目の上下方向の最大長さの値は、例えば０．６５である。なお、これらの数値は、事前に調査して得られた結果を示す一例であり、さらに統計データを取って事前に調査して、これらと異なる数値を使用することもできる。
【００８４】
また、本実施の形態において、目頭および目尻の位置に対する目領域の上下位置の決定については、個人差や顔の傾きの影響を受けること、および、目領域に対して赤目となる瞳孔領域は小さく余裕があること等に基づいて、目頭および目尻の上下方向の位置の平均位置を中心位置とした場合に、中心位置から上端および下端までの長さは等しいものと想定する。
【００８５】
次に、顔検出エンジン１６０が検出した顔画像において右目の目頭および目尻が検出された場合における右目の目領域の設定方法について図面を参照して説明する。
【００８６】
図７は、検出された目頭または目尻と、これらに基づいて設定される目領域との関係を示す図である。
【００８７】
図７（ａ）は、右目Ｅ１の目頭Ｅ１ａと目尻Ｅ１ｂ、および左目Ｅ２の目頭Ｅ２ａと目尻Ｅ２ｂが検出されている場合において、右目Ｅ１の目頭Ｅ１ａと目尻Ｅ１ｂに基づいて右目の目領域ＥＥ１が設定され、左目Ｅ２の目頭Ｅ２ａと目尻Ｅ２ｂに基づいて左目の目領域ＥＥ２が設定される場合の概略を示す図である。
【００８８】
図７（ｂ）は、右目Ｅ１の目尻Ｅ１ｂ、および左目Ｅ２の目頭Ｅ２ａと目尻Ｅ２ｂが検出されている場合において、右目Ｅ１の目尻Ｅ１ｂ、および左目Ｅ２の目頭Ｅ２ａと目尻Ｅ２ｂとに基づいて右目の目領域ＥＥ１が設定され、左目Ｅ２の目頭Ｅ２ａと目尻Ｅ２ｂに基づいて左目の目領域ＥＥ２が設定される場合の概略を示す図である。
【００８９】
図７（ｃ）は、左目Ｅ２の目頭Ｅ２ａおよび目尻Ｅ２ｂが検出されている場合において、左目Ｅ２の目頭Ｅ２ａおよび目尻Ｅ２ｂに基づいて右目の目領域ＥＥ１および左目の目領域ＥＥ２が設定される場合の概略を示す図である。
【００９０】
図７（ｄ）は、左目Ｅ２の目頭Ｅ２ａのみが検出されている場合において、左目Ｅ２の目頭Ｅ２ａと顔Ｆ１の左右方向の最大長さの値ＨＬ１とに基づいて右目の目領域ＥＥ１および左目の目領域ＥＥ２が設定される場合の概略を示す図である。
【００９１】
図７（ｅ）は、右目Ｅ１および左目Ｅ２の目頭および目尻の何れも検出されなかった場合において、過去の統計データと顔Ｆ１の左右方向の最大長さの値ＨＬ１とに基づいて右目の目領域ＥＥ１および左目の目領域ＥＥ２が設定される場合の概略を示す図である。
【００９２】
図８は、目頭目尻検出エンジン１７０が検出した右目Ｅ１の目頭Ｅ１ａおよび目尻Ｅ１ｂに基づいて目領域ＥＥ１を設定する目領域設定方法の概略を示す図である。
【００９３】
例えば、図７（ａ）および図８に示すように、右目Ｅ１について目頭Ｅ１ａおよび目尻Ｅ１ｂが検出された場合には、検出された目頭Ｅ１ａおよび目尻Ｅ１ｂに基づいて目領域が設定される。具体的には、目頭Ｅ１ａの上下方向の位置と目尻Ｅ１ｂの上下方向の位置とから、目頭Ｅ１ａの上下方向の位置と目尻Ｅ１ｂの上下方向の位置との平均位置Ｏ１を求める。そして、求めた平均位置Ｏ１を目領域ＥＥ１の上下方向に対する中心位置として決定する。
【００９４】
続いて、目頭Ｅ１ａの位置と目尻Ｅ１ｂの位置との左右方向の距離の値Ｌ１を求める。そして、次の（式１）を用いて、求めた距離の値Ｌ１に所定の値Ａを乗じた値を、目領域ＥＥ１の上下方向の値Ｈ１とする。
Ｈ１＝Ｌ１×Ａ……（式１）
【００９５】
本実施の形態では、「Ａ＝０．６５＋α」を用いる。なお、αは目領域に余裕を持たせるために使用する値であり、本実施の形態では、例えば「α＝０．０５」を使用する。
【００９６】
続いて、次の（式２）を用いて、目領域ＥＥ１において、中心位置から上端までの距離を示す値Ｈ１ａを求める。また、次の（式３）を用いて、目領域ＥＥ１において、中心位置から下端までの距離を示す値Ｈ１ｂを求める。
Ｈ１ａ＝Ｈ１×（１／２）……（式２）
Ｈ１ｂ＝Ｈ１×（１／２）……（式３）
【００９７】
続いて、求めた値Ｌ１と値Ｈ１ａと値Ｈ１ｂとを用いて、検出された目頭Ｅ１ａおよび目尻Ｅ１ｂのそれぞれが両端に位置するように、目領域ＥＥ１を設定する。このようにして、周辺画像における目領域ＥＥ１の位置および大きさを求める。
【００９８】
次に、顔検出エンジン１６０が検出した顔画像において右目の目尻のみが検出された場合における右目の目領域の設定方法について図面を参照して説明する。
【００９９】
図９は、目頭目尻検出エンジン１７０が検出した右目Ｅ１の目尻に基づいて目領域を設定する目領域設定方法の概略を示す図である。
【０１００】
例えば、図７（ｂ）および図９に示すように、右目Ｅ１について目尻Ｅ１ｂのみが検出された場合には、検出された目尻Ｅ１ｂに基づいて目領域が設定される。具体的には、目尻Ｅ１ｂの上下方向の位置を目領域ＥＥ１の上下方向に対する中心位置Ｏ１として決定する。
【０１０１】
続いて、目頭の位置と目尻Ｅ１ｂの位置との左右方向の距離の値Ｌ３を求める。ただし、右目Ｅ１の目頭を検出できなかったため、左右方向の距離の値Ｌ３を直接求めることができない。
【０１０２】
ここで、図７（ｂ）に示すように、左目Ｅ２の目頭Ｅ２ａと目尻Ｅ２ｂとが検出されている場合には、左目Ｅ２の目頭Ｅ２ａと目尻Ｅ２ｂとの左右方向の距離の値Ｌ２を求める。また、左目の目頭または目尻の何れか一方が検出されていない場合には、左右方向の距離の値Ｌ２を求めることができないため、上述した人間の顔領域と目領域との関係を利用して目頭と目尻との左右方向の距離の値Ｌ３を求める。具体的には、周辺画像に含まれる顔Ｆ１の左右方向の最大長さの値を１とした場合に、顔Ｆ１の目の左右方向の最大長さの値は、例えば０．２とする。そして、周辺画像に含まれる顔Ｆ１の左右方向の最大長さの値をＨＬ１とした場合に、次の（式４）を用いて、目頭と目尻との左右方向の距離の値Ｌ３を求める。
Ｌ３＝０．２×ＨＬ１……（式４）
【０１０３】
続いて、次の（式５）を用いて、求めた距離の値Ｌ２またはＬ３に所定の値Ａを乗じた値を、目領域ＥＥ１の上下方向の値Ｈ１とする。なお、Ａは、上記で示した（式１）のＡと同様の値である。
Ｈ１＝Ｌ２（Ｌ３）×Ａ……（式５）
【０１０４】
また、上記で示した（式２）および（式３）を用いて、目領域ＥＥ１において、中心位置から上端までの距離を示す値Ｈ１ａ、および、中心位置から下端までの距離を示す値Ｈ１ｂを求める。
【０１０５】
続いて、求めた値Ｌ２またはＬ３と値Ｈ１ａと値Ｈ１ｂとを用いて、検出された目尻Ｅ１ｂが右端に位置するように、目領域ＥＥ１を設定する。また、周辺画像における目領域ＥＥ１の位置と大きさを求める。
【０１０６】
次に、顔検出エンジン１６０が検出した顔画像において右目の目頭および目尻の何れも検出されなかった場合における右目の目領域の設定方法について図７を参照して説明する。
【０１０７】
例えば、図７（ｃ）〜（ｅ）に示すように、右目Ｅ１について目頭および目尻の何れも検出されなかった場合には、左目の目頭または目尻、または、過去の統計データに基づいて右目の目領域が設定される。
【０１０８】
具体的には、図７（ｃ）に示すように、左目の目頭Ｅ２ａおよび目尻Ｅ２ｂが検出されている場合には、目頭Ｅ２ａの上下方向の位置と目尻Ｅ２ｂの上下方向の位置とから、目頭Ｅ２ａの上下方向の位置と目尻Ｅ２ｂの上下方向の位置との平均位置を求める。そして、求めた平均位置を目領域ＥＥ１の上下方向に対する中心位置として決定する。
【０１０９】
続いて、左目Ｅ２の目頭Ｅ２ａと目尻Ｅ２ｂとの左右方向の距離の値Ｌ２を求める。
【０１１０】
続いて、上述した（式５）を用いて、求めた距離の値Ｌ２に所定の値Ａを乗じた値を、目領域ＥＥ１の上下方向の値Ｈ１とする。
【０１１１】
続いて、目領域ＥＥ１の上下方向の値Ｈ１を用いて、上記で示した（式２）および（式３）を用いて、目領域ＥＥ１において、中心位置から上端までの距離を示す値Ｈ１ａ、および、中心位置から下端までの距離を示す値Ｈ１ｂを求める。
【０１１２】
続いて、求めた値Ｌ２と値Ｈ１ａと値Ｈ１ｂとを用いて、左目の目頭Ｅ２ａおよび目尻Ｅ２ｂの位置に基づいて目領域ＥＥ１を設定する。なお、周辺画像における目領域ＥＥ１の左右方向の位置は、周辺画像に含まれる顔Ｆ１の中心位置に対して目領域ＥＥ２と左右対称となる位置とする。そして、周辺画像における目領域ＥＥ１の位置と大きさを求める。
【０１１３】
また、図７（ｄ）に示すように、左目の目頭または目尻の何れかが検出されている場合には、検出された目頭または目尻の上下方向の位置を目領域ＥＥ１の上下方向に対する中心位置として決定する。例えば、左目の目頭Ｅ２ａが検出された場合には、検出された目頭Ｅ２ａの上下方向の位置を目領域ＥＥ１の上下方向に対する中心位置として決定する。
【０１１４】
続いて、周辺画像に含まれる顔Ｆ１の左右方向の最大長さの値をＨＬ１とした場合に、上述した（式４）を用いて、目頭と目尻との左右方向の距離の値Ｌ３を求める。
【０１１５】
続いて、上述した（式５）を用いて、求めた距離の値Ｌ３に所定の値Ａを乗じた値を、目領域ＥＥ１の上下方向の値Ｈ１とする。
【０１１６】
続いて、目領域ＥＥ１の上下方向の値Ｈ１を用いて、上記で示した（式２）および（式３）を用いて、目領域ＥＥ１において、中心位置から上端までの距離を示す値Ｈ１ａ、および、中心位置から下端までの距離を示す値Ｈ１ｂを求める。
【０１１７】
続いて、求めた値Ｌ３と値Ｈ１ａと値Ｈ１ｂとを用いて、左目Ｅ２の目頭Ｅ２ａまたは目尻Ｅ２ｂの位置に基づいて目領域ＥＥ１を設定する。なお、周辺画像における目領域ＥＥ１の左右方向の位置は、周辺画像に含まれる顔Ｆ１の中心位置に対して目領域ＥＥ２と左右対称となる位置とする。そして、周辺画像における目領域ＥＥ１の位置と大きさを求める。
【０１１８】
図１０は、顔の上下方向の最大長さおよび左右方向の最大長さをそれぞれ１とした場合における右目の目頭および目尻の分布について、調査して求められた統計データを示す図である。なお、図１０（ａ）に示す矩形の枠ＷＥ１は、９９．７％の右目の目頭が存在した領域を示すものであり、図１０（ｂ）に示す矩形の枠ＷＥ２は、９９．７％の右目の目尻が存在した領域を示すものである。
【０１１９】
この統計データは、顔検出エンジン１６０が検出した顔画像の顔領域において、顔の上下方向の最大長さおよび左右方向の最大長さをそれぞれ１とした場合に、この顔の右目の目頭および目尻の分布を順次求めたものである。なお、この統計データとしては、顔検出エンジン１６０が検出した顔画像のうちで、顔が正面を向いているものを使用した。
【０１２０】
また、本実施の形態では、右目の目頭または目尻の９９．７％を占める領域（枠ＷＥ１または枠ＷＥ２に含まれる領域）を用いて、目領域を設定するが、スピードを優先する場合には、性能の低下を招くことが予想されるが領域をさらに狭めたものを使用することも可能である。
【０１２１】
なお、図１０には右目のみを示すが、左目も左右対称に折り返した位置にあると考えて問題ない。また、図１０に示す数値は一例であり、顔検出の結果に応じて具体的な数値を順次求めるようにしてもよい。また、顔の検出後に、検出された顔の人種の推定が可能な場合には、人種に応じた目領域サイズの違いを考慮するようにしてもよい。このようにすることによって、さらに確度の高い推定をすることができる。
【０１２２】
ここで、図７（ｅ）に示すように、左目の目頭および目尻の何れも検出されなかった場合には、図１０に示す過去の統計データに基づいて、右目の目頭および目尻の存在する可能性が高い位置を求める。具体的には、図１０（ａ）に示す矩形の枠ＷＥ１の中心位置を目頭の位置とし、図１０（ｂ）に示す矩形の枠ＷＥ２の中心位置を目尻の位置とする。続いて、過去の統計データに基づいて求めた目頭の位置および目尻の位置を用いて、目頭の上下方向の位置と目尻の上下方向の位置との平均位置を求める。そして、求めた平均位置を目領域ＥＥ１の上下方向に対する中心位置として決定する。
【０１２３】
続いて、周辺画像に含まれる顔Ｆ１の左右方向の最大長さの値をＨＬ１とした場合に、上述した（式４）を用いて、目頭と目尻との左右方向の距離の値Ｌ３を求める。
【０１２４】
続いて、上述した（式５）を用いて、求めた距離の値Ｌ３に所定の値Ａを乗じた値を、目領域ＥＥ１の上下方向の値Ｈ１とする。
【０１２５】
続いて、目領域ＥＥ１の上下方向の値Ｈ１を用いて、上記で示した（式２）および（式３）を用いて、目領域ＥＥ１において、中心位置から上端までの距離を示す値Ｈ１ａ、および、中心位置から下端までの距離を示す値Ｈ１ｂを求める。
【０１２６】
続いて、求めた値Ｌ３と値Ｈ１ａと値Ｈ１ｂとを用いて、過去の統計データに基づいて求めた目頭の位置および目尻が両端に位置するように、目領域ＥＥ１を設定する。また、周辺画像における目領域ＥＥ１の位置と大きさを求める。
【０１２７】
なお、目頭と目尻との左右方向の距離については、周辺画像に含まれる顔Ｆ１の左右方向の最大長さからＬ３を求める代わりに、過去の統計データに基づいて求めた目頭および目尻に基づいて求めるようにしてもよい。
【０１２８】
図１１は、画像処理装置１００による目領域設定の処理手順を示すフローチャートである。なお、この処理手順は、図３に示すステップＳ９５０における目領域設定処理を示すものである。また、これらの処理手順は、ＣＰＵ１１０が実行するものである。
【０１２９】
最初に、ＲＡＭ１２０に記憶されている顔情報と、その顔画像に対応する顔の両目の目頭および目尻の検出結果とが入力される（ステップＳ９５１）。入力された両目の目頭および目尻の検出結果のうちで、片方の目の目頭および目尻の検出結果が抽出され（ステップＳ９５２）、抽出された片方の目において目頭および目尻の検出に成功しているか否かが判断される（ステップＳ９５３）。
【０１３０】
例えば、図８および図７（ａ）に示すように、右目Ｅ１について目頭Ｅ１ａおよび目尻Ｅ１ｂが検出されている場合には（ステップＳ９５３）、目頭Ｅ１ａの上下方向の位置と目尻Ｅ１ｂの上下方向の位置とから、目頭Ｅ１ａの上下方向の位置と目尻Ｅ１ｂの上下方向の位置との平均位置Ｏ１を求め、求めた平均位置Ｏ１を目領域ＥＥ１の上下方向に対する中心位置として決定する（ステップＳ９５４）。
【０１３１】
続いて、目頭Ｅ１ａの位置と目尻Ｅ１ｂの位置との左右方向の距離の値Ｌ１を求め、上述した（式１）を用いて、求めた距離の値Ｌ１に所定の値Ａを乗じた値を、目領域ＥＥ１の上下方向の値Ｈ１とする（ステップＳ９５５）。
【０１３２】
続いて、上述した（式２）を用いて、目領域ＥＥ１において、中心位置から上端までの距離を示す値Ｈ１ａを求め、上述した（式３）を用いて、目領域ＥＥ１において、中心位置から下端までの距離を示す値Ｈ１ｂを求める。そして、求めた値Ｌ１と値Ｈ１ａと値Ｈ１ｂとを用いて、検出された目頭Ｅ１ａおよび目尻Ｅ１ｂのそれぞれが両端に位置するように、目領域ＥＥ１を設定する。また、周辺画像における目領域ＥＥ１の位置と大きさを求める（ステップＳ９５６）。
【０１３３】
一方、抽出された片方の目において目頭および目尻の検出に成功していない場合には（ステップＳ９５３）、抽出された片方の目において目頭または目尻の何れかの検出に成功しているか否かが判断される（ステップＳ９５７）。抽出された片方の目において目頭または目尻の何れかの検出に成功している場合には（ステップＳ９５７）、検出された目頭の上下方向の位置または目尻の上下方向の位置を目領域の上下方向に対する中心位置として決定する（ステップＳ９５８）。
【０１３４】
例えば、図９および図７（ｂ）に示すように、右目Ｅ１において目尻Ｅ１ｂが検出されている場合には（ステップＳ９５７）、目尻Ｅ１ｂの上下方向の位置を目領域ＥＥ１の上下方向に対する中心位置Ｏ１として決定する（ステップＳ９５８）。
【０１３５】
続いて、他方の目の目頭および目尻の検出に成功しているか否かが判断される（ステップＳ９５９）。他方の目の目頭および目尻の検出に成功している場合には（ステップＳ９５９）、他方の目の目頭と目尻との左右方向の距離の値を求め、求めた値に所定値を乗じた値を目領域の上下方向の値として決定する（ステップＳ９６０）。
【０１３６】
例えば、図７（ｂ）に示すように、左目Ｅ２の目頭Ｅ２ａと目尻Ｅ２ｂとが検出されている場合には（ステップＳ９５９）、左目Ｅ２の目頭Ｅ２ａと目尻Ｅ２ｂとの左右方向の距離の値Ｌ２を求める。続いて、上述した（式５）を用いて、求めた距離の値Ｌ２に所定の値Ａを乗じた値を、目領域ＥＥ１の上下方向の値Ｈ１とする。
【０１３７】
一方、他方の目の目頭および目尻の検出に成功していない場合には（ステップＳ９５９）、周辺画像に含まれる顔の左右方向の最大長さの値をＨＬ１とし、上述した（式４）を用いて、目頭と目尻との左右方向の距離の値Ｌ３を求める。そして、上述した（式５）を用いて、求めた距離の値Ｌ３に所定の値Ａを乗じた値を、目領域ＥＥ１の上下方向の値Ｈ１とする（ステップＳ９６４）。
【０１３８】
また、抽出された片方の目において目頭および目尻の何れの検出にも成功していない場合には（ステップＳ９５７）、他方の目の目頭または目尻の何れかの検出に成功しているか否かが判断される（ステップＳ９６１）。他方の目の目頭または目尻の何れかの検出に成功している場合には（ステップＳ９６１）、検出された他方の目の目頭の上下方向の位置または目尻の上下方向の位置に基づいて目領域の上下方向に対する中心位置を決定する（ステップＳ９６２）。
【０１３９】
例えば、図７（ｃ）に示すように、他方の目の目頭Ｅ２ａおよび目尻Ｅ２ｂが検出されている場合には（ステップＳ９６１）、他方の目の目頭の上下方向の位置と目尻の上下方向の位置とから、これらの平均位置が求められ、求めた平均位置が目領域の上下方向に対する中心位置として決定される（ステップＳ９６２）。また、図７（ｄ）に示すように、他方の目の目頭または目尻の何れかが検出されている場合には（ステップＳ９６１）、検出された他方の目の目頭の上下方向の位置または目尻の上下方向の位置が目領域の上下方向に対する中心位置として決定される（ステップＳ９６２）。
【０１４０】
検出された他方の目の目頭の上下方向の位置または目尻の上下方向の位置に基づいて目領域の上下方向に対する中心位置が決定された後に（ステップＳ９６２）、ステップＳ９５９に進む。
【０１４１】
一方、他方の目の目頭または目尻の何れの検出にも成功していない場合には（ステップＳ９６１）、過去の統計データに基づいて右目の目頭および目尻の存在する可能性が高い位置を求め、過去の統計データに基づいて求めた目頭の上下方向の位置と目尻の上下方向の位置との平均位置を求め、求めた平均位置を目領域の上下方向に対する中心位置として決定する（ステップＳ９６３）。
【０１４２】
例えば、図７（ｅ）に示すように、左目の目頭および目尻の何れも検出されなかった場合には（ステップＳ９６１）、図１０に示す過去の統計データに基づいて、右目の目頭および目尻の存在する可能性が高い位置を求め、過去の統計データに基づいて求めた目頭の上下方向の位置と目尻の上下方向の位置との平均位置を求め、求めた平均位置を目領域ＥＥ１の上下方向に対する中心位置として決定する（ステップＳ９６３）。
【０１４３】
続いて、周辺画像に含まれる顔の左右方向の最大長さの値をＨＬ１とし、上述した（式４）を用いて、目頭と目尻との左右方向の距離の値Ｌ３を求める。そして、上述した（式５）を用いて、求めた距離の値Ｌ３に所定の値Ａを乗じた値を、目領域ＥＥ１の上下方向の値Ｈ１とする（ステップＳ９６４）。
【０１４４】
続いて、以上で求めた目領域ＥＥ１の上下方向の値Ｈ１を用いて、上記で示した（式２）および（式３）を用いて、目領域ＥＥ１において、中心位置から上端までの距離を示す値Ｈ１ａ、および、中心位置から下端までの距離を示す値Ｈ１ｂを求める。そして、求めた値Ｌ２またはＬ３と値Ｈ１ａと値Ｈ１ｂとを用いて目領域ＥＥ１を設定する。また、周辺画像における目領域ＥＥ１の位置と大きさを求める（ステップＳ９５６）。
【０１４５】
続いて、入力された顔の両目の目領域が設定されたか否かが判断される（ステップＳ９６５）。入力された顔の両目の目領域が設定されていれば（ステップＳ９６５）、目領域設定の処理手順の動作を終了する。一方、入力された顔の両目の目領域が設定されていなければ（ステップＳ９６５）、残っている他方の目について、目領域設定の処理手順の動作を繰り返す（ステップＳ９５２〜ステップＳ９６４）。
【０１４６】
次に、顔検出エンジン１６０が検出した顔画像において赤目領域を抽出する赤目領域抽出方法について図面を参照して説明する。
【０１４７】
図１２は、赤目領域抽出の処理が実行される場合に設定される赤目探索領域ＭＷ１および赤目探索領域ＭＷ２と赤目探索領域において配置される判別対象枠ＷＲとの一例を示す図である。
【０１４８】
図１２は、図１０と同様に、顔の上下方向の最大長さおよび左右方向の最大長さをそれぞれ１とした場合における右目の目頭および目尻の分布について、調査して求められた統計データを示すとともに、この統計データ上に赤目探索領域ＭＷ１およびＭＷ２と判別対象枠ＷＲとを一例として配置したものである。例えば、赤目探索領域ＭＷ１として、図１０（ａ）に示す枠ＷＥ１と図１０（ｂ）に示す枠ＷＥ２とを重ねた範囲の領域を設定することができる。また、例えば、赤目探索領域ＭＷ１として、設定された目領域ＥＥ１を縦方向および横方向にそれぞれ所定の拡大率で拡大した領域を設定することができる。さらに、例えば、赤目探索領域ＭＷ２として、赤目探索領域ＭＷ１を縦方向および横方向にそれぞれ所定の拡大率で拡大した領域を設定することができる。なお、図１２に示す数字は、赤目探索領域ＭＷ１において判別対象枠ＷＲが配置される順番を示す数字である。また、判別対象枠ＷＲにより囲まれるそれぞれの領域を領域１〜領域９とする。
【０１４９】
図１３は、画像処理装置１００による赤目領域抽出の処理手順を示すフローチャートである。なお、この処理手順は、図３に示すステップＳ９７０における赤目領域抽出処理を示すものである。また、この処理手順は、ＣＰＵ１１０が実行するものである。
【０１５０】
最初に、赤目領域抽出用顔画像保存領域１２０ｄに保存されている周辺画像が入力される（ステップＳ９７１）。続いて、入力された周辺画像において設定されている目領域は、目頭および目尻の検出に成功したものであるか否かが判断される（ステップＳ９７２）。
【０１５１】
入力された周辺画像において設定されている目領域が、目頭および目尻の検出に成功したものである場合には（ステップＳ９７２）、検出に成功した場合における赤目探索領域および抽出方法が設定される（ステップＳ９７３）。一方、目頭および目尻の検出に失敗したものである場合には（ステップＳ９７２）、検出に失敗した場合における赤目探索領域および抽出方法が設定される（ステップＳ９７４）。
【０１５２】
例えば、入力された周辺画像において設定されている右目の目領域が、目頭および目尻の検出に成功したものである場合には、右目の赤目探索領域として、設定された右目の目領域を含む領域であって比較的小さい領域が設定される。例えば、図１２に示すように、図１０（ａ）に示す枠ＷＥ１と図１０（ｂ）に示す枠ＷＥ２とを重ねた範囲の領域である赤目探索領域ＭＷ１が設定される。一方、目頭および目尻の検出に失敗したものである場合には、右目の赤目探索領域として、設定された右目の目領域を含む領域であって比較的大きな領域が設定される。例えば、赤目探索領域ＭＷ１を縦方向および横方向にそれぞれ所定の拡大率で拡大した領域である赤目探索領域ＭＷ２が設定される。
【０１５３】
また、例えば、目頭および目尻の検出に成功した場合または検出に失敗した場合における変更方法として、赤目探索領域の設定方法や赤目領域の抽出に用いるパラメータを異なるものとする方法、設定された赤目探索領域における判別対象枠内の判定方法を異なるものとする方法、赤目探索領域内において赤目領域を抽出できなかった場合に行う処理を異なるものとする方法等がある。また、例えば、目頭および目尻の検出に成功した場合には、積極的に優しい条件で赤目領域を探すようにする。一方、目頭および目尻の検出に失敗した場合には、条件を厳しくして確度の高い赤目領域だけを探すようにする。このように、目頭または目尻の検出の成功または失敗に応じて、赤目探索領域の設定方法、赤目領域の抽出処理方法、赤目補正処理方法を変更することによって、誤補正率を極力下げ、赤目領域の抽出率を高めることができる。
【０１５４】
続いて、設定された赤目探索領域において判別対象枠ＷＲが配置される（ステップＳ９７５）。この場合に、設定された赤目探索領域において、瞳孔領域（赤目領域）の存在する可能性が最も高い領域から判別対象枠ＷＲが配置される。例えば、右目の目頭および目尻の検出に成功した場合には、設定された目領域ＥＥ１を含むように判別対象枠ＷＲが設定される。また、例えば、目領域ＥＥ１を中心にして判別対象枠ＷＲが順次配置される。また、例えば、図１２に示す数字の順番通りに判別対象枠ＷＲが配置される。
【０１５５】
続いて、判別対象枠ＷＲ内の画像が取り出され（ステップＳ９７６）、取り出された画像に赤目領域が含まれているか否かが判別される（ステップＳ９７７）。例えば、判別対象の画像データが輝度と色差（赤および青）である場合には、画像データの色差（赤）の値に基づいて赤目領域の存否が判断される。判別された結果、取り出された画像に赤目領域が含まれていると判別された場合には（ステップＳ９７８）、判別された赤目領域の位置および大きさがＲＡＭ１２０に記憶される（ステップＳ９７９）。
【０１５６】
判別された赤目領域の位置および大きさがＲＡＭ１２０に記憶された後（ステップＳ９７９）、または、取り出された画像に赤目領域が含まれていないと判別された場合には（ステップＳ９７８）、設定された赤目探索領域の全ての領域に判別対象枠ＷＲが配置されたか否かが判断される（ステップＳ９８０）。例えば、図１２に示す赤目探索領域ＭＷ１において領域９に判別対象枠ＷＲが配置されたか否かが判断される（ステップＳ９８０）。
【０１５７】
設定された赤目探索領域の全ての領域に判別対象枠ＷＲが配置されていなければ（ステップＳ９８０）、判別対象枠ＷＲが次の領域に移動され（ステップＳ９８１）、判別対象枠ＷＲ内の赤目判別処理が繰り返される（ステップＳ９７６〜ステップＳ９８０）。
【０１５８】
なお、判別対象枠ＷＲが移動される場合には（ステップＳ９８１）、瞳孔領域（赤目領域）の存在する可能性の最も高い領域から可能性の高い順に順次移動させる。このとき、例えば図１２に示したように、移動前の判別対象枠ＷＲの一部と移動先の判別対象枠ＷＲの一部とがオーバーラップするように判別対象枠ＷＲが配置される。
【０１５９】
一方、設定された赤目探索領域の全ての領域に判別対象枠ＷＲが配置されていれば（ステップＳ９８０）、赤目領域の抽出に成功したか否かが判断される（ステップＳ９８２）。赤目領域の抽出に成功していなければ（ステップＳ９８２）、設定された赤目探索領域の拡大、または、設定された赤目探索領域の変更等を実行し、赤目探索領域を再設定して、ステップＳ９７５に進む。赤目領域の抽出に成功していれば（ステップＳ９８２）、赤目領域抽出処理の動作を終了する。
【０１６０】
なお、設定された赤目探索領域において赤目領域の抽出ができなかった場合には（ステップＳ９８１）、同一の赤目探索領域において赤目領域抽出処理をさらに厳しい条件で行うようにしてもよい。
【０１６１】
なお、解像度変換エンジン１４０と、画像圧縮伸張エンジン１５０と、顔検出エンジン１６０と、目頭目尻検出エンジン１７０と、画像回転エンジン１８０とについては、ハードウェアとソフトウェアの何れで実現するようにしてもよく、ＤＳＰ（Digital Signal Processor）等のプログラマブルなハードウェアを使用するようにしてもよい。また、顔検出処理、目頭目尻検出処理、赤目領域抽出処理において、処理の対象となる画像についてそれぞれの処理に適した解像度に変換する解像度変換処理を独立して実行しているが、処理の対象となる画像を共通して使用することができる場合には、共通で使用するようにしてもよい。
【０１６２】
なお、本実施の形態では、目頭目尻検出処理、赤目領域抽出処理において、周辺画像に含まれる顔が回転している場合には、画像回転エンジン１８０が回転処理を実行するが、目頭目尻検出処理または赤目領域抽出処理に係るアルゴリズムが、顔の回転に対応している場合には、画像回転処理を実行しなくてもよい。
【０１６３】
また、目頭目尻の検出に失敗した場合や赤目領域を抽出することができなかった場合においては、検出された顔領域の大きさと向きに基づいて目領域の存在範囲を推定し、この目領域の存在範囲内において判別対象枠ＷＲを順次移動させていくことによってリトライ処理を実行し、検出率を上げていくようにしてもよい。
【０１６４】
このように、本発明の実施の形態によれば、例えば、暗い場所や低照度の場所で人の顔をフラッシュ等を用いて撮影する場合において、環境や撮影条件等によって人の目が赤色や金色に限らず他のさまざまな色となった場合であっても、検出の可能性が比較的高い目尻と目頭とを撮影画像から検出し、検出された目頭および目尻に基づいて目領域を設定するため、撮影画像からその顔に含まれる目領域を適切に検出することができる。
【０１６５】
また、少なくとも１つの目頭または目尻の検出に失敗した場合には、検出に成功した目頭または目尻、または、検出された顔の大きさ、または、過去の統計データに基づいて目領域の推定を行うことができる。このため、目領域の信頼度を高めることができ、赤目補正の補正率を高めることができる。
【０１６６】
また、目頭または目尻の検出の成功または失敗に応じて、赤目探索領域の設定方法、赤目領域の抽出処理方法、赤目補正処理方法を変更することによって、誤補正率を極力下げ、赤目領域の抽出率を高めることができる。
【０１６７】
以上で示したように、本実施の形態によれば、人間の顔を撮影した画像からその顔に含まれる目領域を適切に検出することができる。これにより、いわゆる赤目現象が発生した場合であっても適切な赤目補正をすることができる。
【０１６８】
なお、本実施の形態においては、人間の目について説明したが、人間以外の動物（例えば、犬や猫のペット）の目についても本実施の形態を適用することができる。
【０１６９】
また、画像処理装置１００と撮像部４００とをデジタルスチルカメラ等の撮像装置に備え、撮像部４００により撮像された画像に対応する画像データについてその撮像装置が目領域設定処理または赤目補正処理を実行する場合に、本実施の形態を適用することができる。さらに、パーソナルコンピュータ等の情報処理装置に本実施の形態を適用することができる。
【０１７０】
なお、本発明の実施の形態は本発明を具現化するための一例を示したものであり、以下に示すように特許請求の範囲における発明特定事項とそれぞれ対応関係を有するが、これに限定されるものではなく本発明の要旨を逸脱しない範囲において種々の変形を施すことができる。
【０１７１】
すなわち、請求項１において、入力手段は、例えば外部メディアコントローラ２００に対応する。また、顔検出手段は、例えば顔検出エンジン１６０に対応する。また、目頭検出手段は、例えば目頭目尻検出エンジン１７０に対応する。また、目尻検出手段は、例えば目頭目尻検出エンジン１７０に対応する。
【０１７２】
また、請求項１乃至請求項１０、請求項１６において、目領域設定手段は、例えばＣＰＵ１１０に対応する。
【０１７３】
また、請求項８または請求項９において、記憶手段は、例えばＲＡＭ１２０に対応する。
【０１７４】
また、請求項１１乃至請求項１４において、赤目探索領域設定手段は、例えばＣＰＵ１１０に対応する。
【０１７５】
また、請求項１２乃至請求項１５において、赤目領域抽出手段は、例えばＣＰＵ１１０に対応する。
【０１７６】
また、請求項１３において、赤目補正処理手段は、例えばＣＰＵ１１０に対応する。
【０１７７】
また、請求項１４または請求項１５において、判別対象範囲は、例えば判別対象枠ＷＲに対応する。
【０１７８】
また、請求項１６において、撮像手段は、例えば撮像部４００に対応する。また、入力手段は、例えばカメラ信号処理エンジン１３０に対応する。
【０１７９】
また、請求項１７または請求項１８において、入力手順は、例えばステップＳ９０１に対応する。また、顔検出手順は、例えばステップＳ９０４に対応する。また、目頭検出手順は、例えばステップＳ９０９に対応する。また、目尻検出手順は、例えばステップＳ９０９に対応する。目領域設定手順は、例えばステップＳ９５０に対応する。
【０１８０】
なお、本発明の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。
【図面の簡単な説明】
【０１８１】
【図１】本発明の実施の形態における画像処理装置１００の機能構成例を示すブロック図である。
【図２】画像Ｐ１から顔Ｆ１〜Ｆ３を検出する場合における検出例、および、画像Ｐ１１から右目の目頭または目尻を検出する場合における検出例の概略を示す図である。
【図３】画像処理装置１００による赤目補正処理の処理手順を示すフローチャートである。
【図４】顔Ｆ１を含む周辺画像Ｐ１１から顔Ｆ１の右目Ｅ１の目頭を検出する場合における検出方法の概略を示す図である。
【図５】対象物サンプル（目頭画像）および非対象物サンプル（目頭以外の画像）の例を示す図である。
【図６】目頭目尻検出エンジン１７０による右目の目頭検出処理の処理手順を示すフローチャートである。
【図７】検出された目頭または目尻と、これらに基づいて設定される目領域との関係を示す図である。
【図８】目頭目尻検出エンジン１７０が検出した右目Ｅ１の目頭Ｅ１ａおよび目尻Ｅ１ｂに基づいて目領域ＥＥ１を設定する目領域設定方法の概略を示す図である。
【図９】目頭目尻検出エンジン１７０が検出した右目Ｅ１の目尻に基づいて目領域を設定する目領域設定方法の概略を示す図である。
【図１０】顔の上下方向の最大長さおよび左右方向の最大長さをそれぞれ１とした場合における右目の目頭および目尻の分布について、調査して求められた統計データを示す図である。
【図１１】画像処理装置１００による目領域設定の処理手順を示すフローチャートである。
【図１２】赤目領域抽出の処理が実行される場合に設定される赤目探索領域ＭＷ１および赤目探索領域ＭＷ２と赤目探索領域において配置される判別対象枠ＷＲとの一例を示す図である。
【図１３】画像処理装置１００による赤目領域抽出の処理手順を示すフローチャートである。
【符号の説明】
【０１８２】
１００  画像処理装置
１１０  ＣＰＵ
１２０  ＲＡＭ
１２０ａ  再生画像保存領域
１２０ｂ  顔検出用画像保存領域
１２０ｃ  目検出用顔画像保存領域
１２０ｄ  赤目領域抽出用顔画像保存領域
１３０  カメラ信号処理エンジン
１４０  解像度変換エンジン
１５０  画像圧縮伸張エンジン
１６０  顔検出エンジン
１７０  目頭目尻検出エンジン
１８０  画像回転エンジン
１９０  画像表示エンジン
２００  外部メディアコントローラ
２１０  データバス
２２０  画像信号用バス
２３０  バス
３００  記録メディア
４００  撮像部
５００  画像表示装置
Ｗ１  判別対象枠
ＷＲ  判別対象枠
【図１】
2008129664.tif 000003
【図２】
2008129664.tif 000004
【図３】
2008129664.tif 000005
【図４】
2008129664.tif 000006
【図５】
2008129664.tif 000007
【図６】
2008129664.tif 000008
【図７】
2008129664.tif 000009
【図８】
2008129664.tif 000010
【図９】
2008129664.tif 000011
【図１１】
2008129664.tif 000012
【図１３】
2008129664.tif 000013
【図１０】
2008129664.tif 000014
【図１２】
2008129664.tif 000015