(57)【要約】【課題】  画像中の赤目を検出する際に、片目のみが赤目の場合と電飾などとを区別して、赤目のみを検出できるようにする。【解決手段】  赤目候補検出部５において赤目候補として検出されたのにも拘わらず、赤目ペア特定部６において赤目のペアとして特定されなかったために、ペア赤目候補検証部７においてペアの特徴を利用して真の赤目か否かを検証することができない孤立した赤目候補に対し、孤立赤目候補検証部８において別途真の赤目か否かの検証を行って、検出漏れや誤検出を防止する。【選択図】          図１
2005316973.tif 000002
【特許請求の範囲】
【請求項１】
画像の中から、瞳孔の少なくとも一部が赤く表示された赤目を検出する赤目検出装置であって、
前記画像が備える特徴の中から赤く表示された領域を有する瞳孔が備える特徴を識別することによって、赤目と推定し得る赤目候補を検出する赤目候補検出部と、
前記画像から得られる顔領域の情報を利用して、前記赤目候補検出部により検出された赤目候補を、右目に相当する赤目候補と左目に相当する赤目候補のペアとして特定する赤目ペア特定部と、
前記赤目候補検出部により検出されたのにも拘わらず前記赤目ペア特定部によりペアとして特定されなかった孤立した赤目候補について、該赤目候補が真の赤目であるか否かを検証する孤立赤目候補検証部と
を備えることを特徴とする赤目検出装置。
【請求項２】
前記孤立赤目候補検証部は、前記孤立した赤目候補の周辺の画像が備える特徴の中から、目が備える特徴を識別し得るか否かによって、前記赤目候補が真の赤目であるか否かを検証することを特徴とする請求項１記載の赤目検出装置。
【請求項３】
前記孤立赤目候補検証部は、前記孤立した赤目候補の周辺の画像が備える特徴の中から、赤く表示された領域を有する瞳孔が備える特徴を再識別し得るか否かによって、赤目候補が真の赤目であるか否かを検証することを特徴とする請求項１または２記載の赤目検出装置。
【請求項４】
前記孤立赤目候補検証部による前記再識別の識別精度が、前記赤目候補検出部による前記識別の識別精度よりも高いことを特徴とする請求項３記載の赤目検出装置。
【請求項５】
画像の中から、瞳孔の少なくとも一部が赤く表示された赤目を検出する赤目検出方法において、
前記画像が備える特徴の中から赤く表示された領域を有する瞳孔が備える特徴を識別することによって、赤目と推定し得る赤目候補を検出し、
前記画像から得られる顔領域の情報を利用して、検出された赤目候補を、右目に相当する赤目候補と左目に相当する赤目候補のペアとして特定し、
前記赤目候補として検出されたのにも拘わらず前記ペアとしては特定されなかった孤立した赤目候補について、該赤目候補が真の赤目であるか否かを検証することを特徴とする赤目検出方法。
【請求項６】
画像の中から、瞳孔の少なくとも一部が赤く表示された赤目を検出する処理をコンピュータに実行させる赤目検出プログラムであって、コンピュータに、
前記画像が備える特徴の中から赤く表示された領域を有する瞳孔が備える特徴を識別することによって、赤目と推定し得る赤目候補を検出する処理と、
前記画像から得られる顔領域の情報を利用して、検出された赤目候補を、右目に相当する赤目候補と左目に相当する赤目候補のペアとして特定する処理と、
前記赤目候補として検出されたのにも拘わらず前記ペアとしては特定されなかった孤立した赤目候補について、該赤目候補が真の赤目であるか否かを検証する処理とを実行させることを特徴とする赤目検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、写真画像に対し局所的な色補正を行うときに、補正の対象となる部分を検出する処理に関する。詳しくは、目が赤く撮影されてしまった写真画像から、赤い部分を検出する赤目検出装置および方法並びにプログラムに関する。
【背景技術】
【０００２】
夜間あるいは暗い場所で人物や動物をストロボ撮影すると、瞳孔（あるいは瞳孔の一部）が、赤色あるいは金色に撮影されてしまうことがある。このため、赤く、あるいは金色に撮影されてしまった瞳孔（以下、金色の場合も含めて「赤目」と称する）を、デジタル画像処理により本来の瞳孔の色に補正する方法が種々提案されている。
【０００３】
例えば、特許文献１には、オペレータが指定した領域の中から、瞳孔の色、位置、大きさに基づいて赤目を自動認識する方法および装置が開示されている。また、特許文献２にも、オペレータが指定した領域について画素ごとに所定の特徴量を計算し、瞳孔部分の特徴を最も有する部分を補正対象として選択する方法が開示されている。但し、瞳孔部分の特徴のみに基づく認識処理では、赤い電飾など局所的に赤みを持つ対象を赤目と区別することが難しい。このため、オペレータの操作を介さず、すべて自動で処理することは困難である。
【０００４】
これに対し、特許文献３には、赤目を自動検出する方法が示されている。この方法では、顔の検出を行い、顔の特徴に基づいて、検出された赤目候補の中から右目と左目の組を特定する。さらに、顔の特徴に基づいて、その組が赤目の条件を満たしているか否かを評価する。例えば、顔の大きさから目と目の距離がわかるので、その距離から瞳孔の大きさの上限を推定し、検出された赤目候補の大きさが瞳孔の大きさを超えていないことを確認するなどして、検出の精度を高めている。この方法は、右目、左目が両方とも赤目である場合には、有効な検出方法といえる。
【特許文献１】特開２０００−１３６８０号公報
【特許文献２】特開２００１−１４８７８０号公報
【特許文献３】特開２０００−１２５３２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、赤目現象は必ず両目に発生するというものでもなく、片目のみが赤目となる場合も少なくない。また、両目ともに赤目であるのに、一方の目のみが赤目候補として検出されてしまう場合もある。
【０００６】
特許文献３の方法では、組を特定できなかった赤目候補については、赤目の条件を満たしているか否かの評価を行うことができない。この場合、精度の低い検出結果に基づいて補正するか否かの判断をしなければならないため、結果的に赤目以外の対象が補正されてしまったり、両目ともに赤目であったのにも拘わらず片目のみが補正されてしまうといった問題が起こる。
【０００７】
本発明は、上記問題に鑑みて、片方の目のみに赤目現象が発生した場合や、両目ともに赤目であるにも係わらず一方の目のみが赤目候補として検出されてしまった場合でも、正確に赤目を検出することができる赤目検出装置および赤目検出方法ならびに赤目検出プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の赤目検出装置は、画像の中から、瞳孔の少なくとも一部が赤く表示された赤目を検出する赤目検出装置であって、次の赤目候補検出部、赤目ペア特定部および孤立赤目候補検証部を備えることを特徴とする。
【０００９】
赤目候補検出部は、画像が備える特徴の中から赤く表示された領域を有する瞳孔が備える特徴を識別することによって、赤目と推定し得る赤目候補を検出する。「赤く表示された領域を有する瞳孔が備える特徴」は、赤く表示された領域を有する瞳孔のみが備える特徴に限らず、赤目らしさを判断する上で基準となり得るあらゆる特徴をいう。例えば、「赤い」という特徴は、「赤く表示された領域を有する瞳孔」以外にも見られる特徴であるが、そのような特徴も「赤く表示された領域を有する瞳孔が備える特徴」に含まれる。特徴の識別も、必ずしも赤目が備えるすべての特徴について行う必要はなく、赤目を検出する上で特に有効と思われる特徴のみを利用して検出を行ってもよい。例えば、「赤い」というだけで赤目と推定してもよい。
【００１０】
赤目ペア特定部は、画像から得られる顔領域の情報を利用して、赤目候補検出部により検出された赤目候補を、右目に相当する赤目候補と左目に相当する赤目候補のペアとして特定する。顔領域の情報とは、画像中の顔の位置、顔の大きさなどの情報である。
【００１１】
孤立赤目候補検証部は、赤目候補検出部により検出されたのにも拘わらず赤目ペア特定部によりペアとして特定されなかった孤立した赤目候補について、その赤目候補が真の赤目であるか否かを検証する。具体的には、例えば、孤立した赤目候補の周辺の画像が備える特徴の中から、目が備える特徴を識別し得るか否かによって、赤目候補が真の赤目であるか否かを検証する。例えば、赤目候補を含む目と異なるもう一方の目を検出できた場合に赤目候補が真の赤目であると判断してもよいし、赤目候補自体が目の一部であることが確認された場合に真の赤目であると判断してもよい。
【００１２】
前記孤立赤目候補検証部は、孤立した赤目候補の周辺の画像が備える特徴の中から、赤く表示された領域を有する瞳孔が備える特徴を再識別し得るか否かによって、赤目候補が真の赤目であるか否かを検証してもよい。再識別の識別精度は、赤目候補検出部による識別の識別精度よりも高いことが好ましい。識別精度を変えるには、例えば検出器を用いた識別処理であれば検出器の精度を高くしたり、判定時の閾値を調整したりすればよい。
【００１３】
また、本発明の赤目検出方法は、画像の中から、瞳孔の少なくとも一部が赤く表示された赤目を検出する赤目検出方法において、画像が備える特徴の中から赤く表示された領域を有する瞳孔が備える特徴を識別することによって、赤目と推定し得る赤目候補を検出し、画像から得られる顔領域の情報を利用して、検出された赤目候補を、右目に相当する赤目候補と左目に相当する赤目候補のペアとして特定し、赤目候補として検出されたのにも拘わらずペアとしては特定されなかった孤立した赤目候補について、その赤目候補が真の赤目であるか否かを検証することを特徴とする。
【００１４】
また、本発明の赤目検出プログラムは、画像の中から、瞳孔の少なくとも一部が赤く表示された赤目を検出する処理をコンピュータに実行させる赤目検出プログラムであって、コンピュータに、画像が備える特徴の中から、赤く表示された領域を有する瞳孔が備える特徴を識別することによって、赤目と推定し得る赤目候補を検出する処理と、画像から得られる顔領域の情報を利用して、検出された赤目候補を、右目に相当する赤目候補と左目に相当する赤目候補のペアとして特定する処理と、赤目候補として検出されたのにも拘わらずペアとしては特定されなかった孤立した赤目候補について、その赤目候補が真の赤目であるか否かを検証する処理とを実行させることを特徴とする。
【発明の効果】
【００１５】
本発明の赤目検出装置、方法およびプログラムによれば、赤目のペアとして検出されなかった孤立した赤目候補に対して、真の赤目であるか否かの検証が行われる。このため、片目のみが赤目である場合、両目ともに赤目であるのにも拘わらず最初の検出で一方の検出が漏れてしまった場合、最初の検出で電飾などを赤目と誤って検出していた場合に、検証により真の赤目のみを抽出することができる。
【００１６】
したがって、本発明の赤目検出装置、方法およびプログラムによる検出の結果を利用して赤目を修正すれば、中途半端な修正により一方の目が黒目、他方の目が赤目となってしまったり、誤修正により電飾などが目の色とされることを防止できる。
【００１７】
赤目候補の周辺の画像から、赤目候補が目の一部を構成しているか、あるいは赤目候補の近くにもう一方の目があるかを識別し、その結果に基づいて検証を行えば、電飾などの誤検出を確実に排除することができる。
【００１８】
また、赤目候補の周辺の限られた範囲の画像を対象として、最初に行った赤目候補検出よりも高い精度で、再度検出処理を行えば、赤目以外の目を赤目候補と誤認識していた場合に、検出結果を出力前に訂正することができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の一実施の形態について、図面を参照して説明する。
【００２０】
図１は、赤目を補正するシステムの概略構成を示す図である。このシステムは、本実施の形態の赤目検出装置１と、赤目修正装置２とにより構成される。赤目修正装置２は、赤目検出装置１により検出された赤目の色が本来の瞳孔の色となるように画像に対し局所的に色補正を施した後に、修正済画像を出力する装置である。
【００２１】
赤目検出装置１は、図に示すように、入力画像を受け付ける画像入力部３と、受け付けた画像の中から顔と推定される領域を検出する顔検出部４と、受け付けた画像の中から赤目と推定される赤目候補を検出する赤目候補検出部５を備える。また、赤目検出装置１は、赤目ペア特定部６を備える。赤目ペア特定部６は、顔検出部４により検出された顔領域の情報を利用して、赤目候補検出部５により検出された赤目候補の中から右目と左目のペアを特定する機能を提供する。
【００２２】
赤目検出装置１は、さらに、赤目ペア特定部６の処理結果を検証するペア赤目候補検証部７および孤立赤目候補検証部８を備える。ペア赤目候補検証部７は、赤目ペア特定部６により特定された赤目候補のペアについて、それらが真の赤目か否かを検証する機能を提供する。一方、孤立赤目候補検証部８は、赤目候補検出部５により検出された赤目候補のうち赤目ペア特定部６でペアと特定されなかった赤目候補（孤立赤目候補と称することとする）について、それが真の赤目か否かを検証する機能を提供する。
【００２３】
また、赤目検出装置１は、ペア赤目候補検証部７または孤立赤目候補検証部８のいずれかによって、真の赤目であると判定された赤目候補のリストを、検出された赤目のリストとして出力する検出結果出力部９を備える。
【００２４】
上記赤目検出装置１の各部の機能は、ソフトウエアプログラムにより実現される。したがって赤目検出装置１は、そのプログラムや画像データを記憶し得る記憶手段と、記憶されたプログラムを実行し得る演算手段を備えている装置であればよく、外観、大きさは特に問わない。各部を実現する演算手段や記憶手段は、共通であってもよいし、各部がそれぞれ専用の演算手段や記憶手段を備えていてもよい。
【００２５】
具体的には、例えば、ＣＰＵ、メモリ、ハードディスク、その他各種入出力インタフェースを備えた汎用コンピュータに、赤目検出プログラムをインストールすれば、その汎用コンピュータは赤目検出装置１として機能する。
【００２６】
また、デジタル写真プリンタのような専用機の場合も、赤目検出プログラムを組み込んで実行させることが可能であれば、その装置に赤目検出機能を追加することができる。
【００２７】
あるいは、メモリ・ロジック混載型の半導体デバイスとして提供することも可能である。半導体デバイスとして提供した場合には、そのデバイスをデジタルカメラなどに搭載して動作させれば、そのデジタルカメラが赤目検出機能つきのカメラとして機能するようになる。
【００２８】
このように、赤目検出装置１の外観や、ハードウェアの具体的な構成は種々考えられ、特に限定されない。前述のとおり、本実施の形態の赤目検出装置の特徴は、プログラムが実行する処理にあるため、以下、プログラムの処理について説明する。
【００２９】
図２に、入力画像の一例として、３名の人物と電飾されたクリスマスツリーが写った画像１０を示す。以下、この画像１０がプログラムにより処理される過程を説明する。画像入力部３により取得された画像１０は、前述のように顔検出部４と赤目候補検出部５に、それぞれ入力される。
【００３０】
顔検出部４は、図３（ａ）に示すように、画像１０を構成する各画素の色彩、濃度などに基づいて顔領域を検出する処理を実行する。図は、写真に写っている３名の顔領域１１ａ、１１ｂ、１１ｃが検出された結果を表している。顔領域の検出は、例えば前述の特許文献３に記載されている方法など公知の画像認識技術を用いて実現することができ、どのような技術を用いて検出を行うかは本発明において特に限定されない。
【００３１】
一方、赤目候補検出部５は、図３（ｂ）に示すように、赤目と推定される赤目候補を検出する処理を実行する。図は、写真に写っている３名のうち写真左の人物の一方の目と写真中央の人物の両目が赤目候補１２ａ、１２ｂ、１２ｃとして検出され、さらにクリスマスツリーの電飾の１つが赤目候補１２ｄとして誤検出された様子を示している。
【００３２】
赤目候補の検出も、特許文献１，２に記載されている方法など公知の技術を用いて実現することができ、どのような技術を用いて検出を行うかは本発明において特に限定されない。しかしながら、赤目候補検出処理は、後述する孤立赤目候補検証部の処理に関係するため、以下、本実施の形態における赤目検出装置５の赤目候補検出部５の処理について詳細に説明する。
【００３３】
図４は、赤目候補検出処理の概要を示すフローチャートである。赤目候補検出部５は、はじめに解像度別画像を取得する（Ｓ１０１）。図５は解像度別画像について説明するための図である。本実施の形態では、図に示すように、入力画像１０と同じ解像度の画像１５、入力画像１０の１／２の解像度の画像１６、入力画像１０の１／４の解像度の画像１７が、前もって生成され、メモリに記憶されている。
【００３４】
入力画像１０と解像度が同じ画像１５は、入力画像１０をコピーすることにより生成され、入力画像１０と解像度が異なる画像１６、１７は、入力画像１０のデータに対し画素数を低減する、いわゆる間引き処理を実行することによって生成される。赤目候補検出部５は、図４のステップＳ１０１において、メモリ内に記憶されている一の解像度別画像を読み出すことにより、解像度別画像を取得する。
【００３５】
次に、赤目候補検出部５は、取得した解像度別画像に対し、色空間変換処理を施す（Ｓ１０２）。具体的には、解像度別画像を構成する各画素のＲ(赤)，Ｇ（緑），Ｂ(青)の値を、所定の変換式により、Ｙ（輝度）、Ｃｂ（緑と青の色差）、Ｃｒ（緑と赤の色差）、Ｃｒ＊（肌色と赤の色差）の値に置き換えることにより、画像の表色系を変換する。
【００３６】
Ｙ，Ｃｂ，Ｃｒは、一般にＪＰＥＧ画像などで利用されている座標系であり、Ｃｒ＊は、ＲＧＢ空間において赤色と肌色とをもっともよく分離する方向を表す座標軸である。この座標軸の方向は、赤色のサンプルと肌色のサンプルに線形判別分析法を適用して予め決定しておく。このような座標軸を定義することにより、赤目候補の検出精度を、通常のＹＣｂＣｒ空間で検出を行う場合よりも高めることができる。
【００３７】
続いて、赤目候補検出部５は、色空間変換後の画像上に判定対象範囲を設定し（Ｓ１０３）、その判定対象範囲について赤目候補の識別判定処理を行う（Ｓ１０４）。図６に、ステップＳ１０３の対象範囲設定処理と、ステップＳ１０４の識別判定処理の概要を示す。
【００３８】
図６（ａ）は、ステップＳ１０２において色空間変換された解像度別画像１５上に、判定対象範囲１８を設定した状態を表している。本実施の形態では、判定対象範囲１８は１３画素×１３画素の領域であるが、説明の便宜上、図では判定対象範囲１８を大きめに表している。
【００３９】
識別判定処理では、設定された判定対象範囲１８に含まれる画像を、複数の赤目候補検出器にかけ、その複数の検出器の検出結果の組み合わせから、その判定対象範囲１８に含まれる画像が、赤目と推定し得るか否か判断する。赤目と推定し得る場合には、その領域を赤目候補として検出する。
【００４０】
但しここで、赤目候補検出器とは、赤目と非赤目との区別に有効な特徴量を算出するためのパラメータと、算出された特徴量を入力として赤目らしさの度合いを表す識別ポイントを出力する識別器と、そのパラメータと識別器を多数の赤目サンプルに適用して識別ポイントの累積加算値を算出し、所定の正検出率を維持できるように決定された閾値の組み合わせを意味する。
【００４１】
パラメータや識別器は、多数の赤目サンプルと非赤目サンプルを利用してあらかじめ学習を行うことにより決定する。学習は、マシーンラーニング技術として知られているニューラルネットワークの手法あるいはブースティングの手法など、公知の方法を用いて行うことができる。
【００４２】
学習に用いられるサンプルは、例えば図７（ａ）、（ｂ）、（ｃ）に示すように、瞳孔全体が赤いサンプル、瞳孔の８０％の領域が赤いサンプル、瞳孔の６０％が赤いサンプルというように、単位矩形内に締める赤色領域の大きさに所定のバリエーションをもたせることが好ましい。
【００４３】
また学習用サンプルの中に、赤色領域の中心が単位矩形の中心から少しずれたサンプルを含めておけば、ずれた状態でも赤色領域を抽出できるようになる。このため、画像上に特徴量を算出する判定対象範囲を設定し、走査する際に、間隔をあけても抽出の精度を保つことができ、処理時間を短縮することができる。
【００４４】
また、閾値は、学習により決定された特徴量算出パラメータおよび識別器を、できるだけ多くの赤目サンプルに対して適用して識別ポイントの累積加算値を算出し、所定の確率以上の確率で正しく検出できるように定めるとよい。
【００４５】
図８は、図４のステップＳ１０４の識別判定処理の具体的な処理ステップを示すフローチャートである。フローチャート中の記号ｉは赤目候補検出器を区別するための記号であり、赤目候補検出器がＮ個ある場合には、０≦ｉ≦Ｎ−１となる。Ｎ個の赤目候補検出器、すなわち特徴量の算出に利用されるパラメータｉ、識別器ｉ、閾値ｉ（０≦ｉ≦Ｎ−１）は、メモリあるいはハードディスクなどに記憶されている。
【００４６】
はじめに、ｉおよび累積識別ポイントの値を、いずれも０に初期化する（Ｓ２０１）。次に、特徴量算出パラメータｉを利用して前述の判定対象範囲１８について、特徴量を算出し、算出結果を得る（Ｓ２０２）。次に、算出結果に基づいて識別器ｉを参照して識別ポイントを得（Ｓ２０３）、その識別ポイントを累積識別ポイントに加算する（Ｓ２０４）。次に、その累積識別ポイントを、閾値ｉと比較する（Ｓ２０５）。この時点で、累積識別ポイントが閾値ｉを下回っていれば、非赤目と判定する。
【００４７】
一方、累積識別ポイントが閾値ｉを越えていれば、ｉがＮ−１か否かを判定することによって全識別器について処理が終了したか否かを判定する（Ｓ２０６）。ｉがＮ−１より小さい場合には、ｉを１つカウントアップして（Ｓ２０７）、同様に、ステップＳ２０２からＳ２０７までの処理を繰り返す。全識別器について処理が終了した場合には（Ｓ２０６）、その時点で判定対象範囲１８内の画像を、赤目候補領域と判断し、候補リストに登録する。
【００４８】
なお、本実施の形態では、特徴量算出パラメータは、参照するチャンネル（Ｙ、Ｃｂ、Ｃｒ、Ｃｒ＊）、特徴量のタイプ（画素値そのもの、２点差分、４点差分）、参照する画素の判定対象範囲内における座標からなる。
【００４９】
以上に説明した識別判定処理は、図６の画像１５中の矢印に示すように、判定対象範囲１８を少しずつずらしながら（走査しながら）、繰り返し実行する。判定対象範囲の設定と識別判定処理は、図４のフローチャートのステップＳ１０５において走査終了と判定された時点で終了する。
【００５０】
赤目候補検出部５は、次に、図４のステップＳ１０６において、全解像度画像についての処理が終了したか否かを判定する。他の解像度別画像が未処理であれば、赤目候補検出部５の処理はステップＳ１０１に戻り、図５の次の解像度別画像１６が取得されて、同様の処理が繰り返される。
【００５１】
なお、解像度を異ならせて処理を繰り返すのは、以下の理由による。図６（ｂ）は、解像度別画像１５よりも解像度が低い画像１６上に、判定対象範囲１８を設定した状態を表している。判定対象範囲１８の大きさは前述のとおり１３画素×１３画素である。解像度を低くすると、判定対象範囲１８には、解像度が高い場合よりも、より広い範囲が含まれることになる。
【００５２】
したがって、例えば図６（ａ）、（ｂ）に示すように、画像中に瞳孔１９の画像が含まれている場合、図６（ａ）の解像度別画像１５に対する識別処理では検出できなかった瞳孔１９が、解像度別画像１６に対する識別処理では検出できる場合がある。赤目候補を検出できたときの画像の解像度の情報は、メモリなどに記憶され、後述する赤目候補検証部８により参照される。
【００５３】
ステップＳ１０６において、全解像度別画像についての処理が終了したと判定されると、次に、赤目候補検出部５は、候補整理処理を実行する（Ｓ１０７）。図９は候補整理処理について説明するための図である。図に示すように、上記判定対象範囲設定処理および識別判定処理では、１つの赤目が２個の赤目候補として検出されてしまう場合がある。
【００５４】
例えば赤目が図９に示される楕円領域２０である場合に、判定対象範囲１８ａに対して行われた識別判定処理で領域２１ａが赤目候補と判定され、判定対象範囲１８ｂに対して行われた識別判定処理で、領域２１ｂが赤目候補と判定されるような場合である。候補整理処理は、このような場合に、赤目候補２１ａと赤目候補２１ｂのうち、前述の識別ポイントが高いほうの領域のみを赤目候補として残し、他方をリストから削除する処理である。
【００５５】
赤目候補検出部５は、以上の処理により最終的に赤目候補として残った領域の中心座標およびサイズを赤目候補リストとして出力する。
【００５６】
以上赤目候補検出部５の処理について説明した。次に、再び図１に戻って説明する。顔検出部４および赤目候補検出部５の検出結果は、図１に示したように赤目ペア特定部６に入力される。赤目ペア特定部６は、図３（ａ）に例示したような顔領域の検出結果と図３（ｂ）に例示したような赤目候補の検出結果とを照合することによって、個々の赤目候補が人物の右目あるいは左目に相当するものか否かを判断し、１個の顔の右目と左目を検出した場合に、それらを赤目ペアとして特定する。例えば図３（ｃ）は写真中央の人物の両目が赤目ペア１３として特定された様子を示している。赤目ペアを特定する処理については、例えば特許文献３に記載されている方法など公知の技術を用いることができる。
【００５７】
なお、図中×印で表されているのは、赤目ペアとして特定されなかった赤目候補である。以降の説明では、これを孤立赤目候補１４ａ、１４ｂと称する。特定された赤目ペア１３の情報はペア赤目候補検証部７に与えられる。一方孤立赤目候補１４ａおよび１４ｂの情報は孤立赤目候補検証部８に与えられる。
【００５８】
ペア赤目候補検証部７は、顔検出部４により得られた情報を利用して、赤目ペアが真に赤目のペアか否かを検証する。例えば特許文献３には、人間の顔は顔を二等分する線でほぼ対象であるという事実を用いて検出された赤目の組が真の赤目の組か否かを評価する方法などが開示されている。ペア赤目候補検証部７の処理についても、公知の種々の技術を利用することができ、本発明において、その検証方法は特に限定されない。
【００５９】
次に、孤立赤目候補検証部８の処理について説明する。前述のとおり、従来の赤目検出装置では、ペアとして検出されなかった赤目候補については、何の検証も行われていなかった。孤立赤目候補検証部８は、このペアとして特定されなかった赤目候補が真の赤目か否かを検証する機能を提供する。
【００６０】
図１０は、孤立赤目候補検証部８により実行される孤立赤目候補検証処理の概要を示すフローチャートである。孤立赤目候補検証部８は、検証すべき個々の孤立赤目候補について、まず、その孤立赤目候補のペアとなるもう一方の目がありそうな領域を探索する（Ｓ３０１）。この場合の探索の対象は、「赤目」ではなく「目」である。すなわち黒目の場合も含まれる。そして、もう一方の目がある領域を特定できなければ（Ｓ３０２）、その赤目候補をリストから削除する（Ｓ３０６）。ここまでの処理により、電飾などを孤立赤目候補として誤検出してしまった場合を排除することができる。
【００６１】
目がある領域を特定できたら、その領域と、孤立赤目候補の周辺領域の２つの領域について、それぞれ、赤目候補検出処理を実行する（Ｓ３０３）。この処理は、新たに特定された領域にとっては、はじめての赤目候補検出処理となるが、孤立赤目候補の周辺領域にとっては、２回目の赤目候補検出処理となる。
【００６２】
新たに特定された領域から赤目候補が検出された（Ｓ３０４）場合には、その赤目候補は赤目リストに登録される（Ｓ３０５）。この処理により、最初の赤目候補検出部５の処理で検出が漏れてしまった赤目を、あらためて赤目として検出することができる。一方、ステップＳ３０４において、赤目候補が検出されなかった場合には、あらたに特定された領域にある目は黒目と推定されるので、赤目リストは変更されない。
【００６３】
もとの孤立赤目候補は、ステップＳ３０４の赤目候補検出処理により再度赤目候補として検出されれば、赤目リストに登録される（Ｓ３０５）。これにより、孤立赤目候補が真の赤目か否かを検証することができる。
【００６４】
１個の孤立赤目候補について、ステップＳ３０１からＳ３０５あるいはＳ３０６の処理が完了すると、ステップＳ３０７において、次の孤立赤目候補の有無が判定され、フローチャートに示されるように、すべての孤立赤目候補についてステップＳ３０１からＳ３０５あるいはＳ３０６の処理が繰り返される。
【００６５】
続いて、図１０のフローチャートの一部のステップについて、さらに詳細に説明する。図１１は、ステップＳ３０１の処理について説明するための図である。もう一方の目の探索処理では、まず、図に示すように、画像１０中の孤立赤目候補１４ａの周辺の領域２２がトリミングされる。トリミング処理は、赤目候補検出部５の処理で孤立赤目候補１４ａが検出されたときの画像の解像度と同じ解像度の画像に対して行う。孤立赤目候補１４ａを瞳孔と仮定した場合、その大きさから、目と目のおおよその距離ｄを推定することができる。したがって、孤立赤目候補１４ａを中心として半径ｄの円が含まれる程度の領域をトリミングする。
【００６６】
次に、トリミングされた領域２２の中に、判定対象範囲２３を設定し、その判定対象範囲２３について目の識別判定処理を行う。目は、設定された判定対象範囲２３に含まれる画像を複数の目検出器にかけ、その複数の目検出器の検出結果の組み合わせから、その判定対象範囲２３に含まれる画像が目か否かを判定することによって識別する。
【００６７】
目検出器は、目と、目以外の対象との区別に有効な特徴量を算出するためのパラメータと、算出された特徴量を入力として目らしさの度合いを表す識別ポイントを出力する識別器と、そのパラメータと識別器を多数の目サンプルに適用して識別ポイントの累積加算値を算出し、所定の正検出率を維持できるように決定された閾値の組み合わせを意味する。
【００６８】
パラメータや識別器は、多数の目のサンプルと目以外の対象を表すサンプルを利用してあらかじめ学習を行うことにより決定する。学習は、マシーンラーニング技術として知られているニューラルネットワークの手法あるいはブースティングの手法など、公知の方法を用いて行うことができる。
【００６９】
学習に用いられるサンプルは、例えば図１２（ａ）、（ｂ）、（ｃ）に示すように、一重の目、二重の目、瞳孔が小さい目など、種々のバリエーションをもたせることが好ましい。また、図１２（ｄ）のように瞳孔が目の中心に無いサンプルなども含めておくとよい。さらに、多少傾いて配置された目も識別できるように、図１１（ｅ）のような少し傾いた目のサンプルも含めておくのがよい。本実施の形態では、−１５度〜１５度の範囲で傾きを変えた複数のサンプルを用いて学習を行っている。このほか、サンプルの全体領域に締める目の割合が異なるサンプルも多数用意して学習を行わせるのがよい。
【００７０】
なお、目の識別判定処理の具体的な処理ステップは、図８に示した赤目候補の識別判定処理のステップと同じである。但し、例えばウェーブレット係数を利用してエッジやテクスチャに関する特徴を抽出して使用するなど、赤目候補の識別判定処理と異なる方法により目の識別判定を行ってもよい。
【００７１】
目の識別判定処理は、図１１のトリミング領域２２内で、判定対象範囲２３を少しずつずらしながら（走査しながら）、繰り返し実行する。トリミング領域２２の走査が終了するまでに目を検出できなかった場合には、孤立赤目候補１４ａを中心としてトリミング領域２２を回転させることにより得られる領域をトリミングする。
【００７２】
本実施の形態では、トリミング領域の回転は３０度刻みで行っている。すなわち、３０度（あるいは−３０度）傾けたトリミング領域について上記識別判定処理を実行して目が検出できなければ、さらに３０度（あるいは−３０度）傾けたトリミング領域について同様の処理を繰り返す。
【００７３】
なお、傾いた目の検出は、あらゆる傾きを有する目のサンプルを用いて予め学習を行うことによっても実現できるが、本実施の形態では検出精度と処理時間のバランスを考慮し、−１５度〜１５度程度傾いた目は学習により識別できるようにしておき、その範囲を越えて大きく傾いた目についてはトリミング領域を回転させて識別することとしている。
【００７４】
さらに、解像度を少し変更した画像に対してトリミング、対象範囲設定、識別判定の処理を行ってみてもよい。解像度を変更するときは、赤目候補検出の場合と異なり、２-1/4倍し、さらに２-1/4倍するというように、解像度を細かく調整する。他の解像度、他の回転角度をすべて試しても、なお目を検出できなかった場合には、孤立赤目候補と対となる目は存在しないものと判断する。
【００７５】
次に、図１０のステップＳ３０３の処理について、図１３および図１４を参照して、詳細に説明する。ステップＳ３０３の処理が実行されるケースとしては、次の３通りのケースが考えられる。
【００７６】
第１のケースは、図１３（ａ）に示すように、両目ともに真の赤目であるにも拘わらず、赤目候補検出部５により孤立赤目候補１４ａのみが検出され、もう一方の赤目２４が検出されなかったケースである。第２のケースは、図１３（ｂ）に示すように、孤立赤目候補１４ａは真の赤目であるが、他方の目２５が赤目でない（黒目だった）ために他方の目２５は赤目候補検出部５で検出されなかったケースである。第３のケースは、孤立赤目候補１４ａは実は黒目であり誤検出により赤目候補と判定された場合である。
【００７７】
そこで、ステップＳ３０３では、これらのケースを区別するために、まず、図１４（ａ）に示すように、孤立赤目候補１４ａを含む領域２６を対象として、あらためて赤目候補検出処理を実行することによって、孤立赤目候補１４ａを赤目の候補と判断したことが正しかったか否かを検証する。ここで実行する赤目候補検出処理は、検証を目的として実行する処理であるため、赤目候補検出部５による処理以上に高い精度が要求される。
【００７８】
このため、本実施の形態では、赤目候補検出部５で用いられた検出器よりも検出性能の高い赤目検出器を用いて検出を行う。検出性能が高まれば、その分検出に時間はかかるものの、ステップＳ３０３で実行する赤目候補検出処理は、赤目候補検出部５による処理と異なり処理範囲が限られていること、また画像の解像度も孤立赤目候補１４ａが検出されたときの解像度に限定して行えばよいことなどから、処理時間について実質的な問題は生じないと考えられる。
【００７９】
さらに、ステップＳ３０３では、図１４（ｂ）に示すように、新たに目が検出された領域２７に対しても赤目候補検出処理を実行する。これにより、その目が赤目か黒目かを判定する。領域２７に対する赤目候補検出処理は、赤目候補検出部５による処理と同程度の精度で行えばよい。
【００８０】
なお、赤目候補検出の精度は、図８に示した識別判定処理のステップＳ２０５の判定の際の閾値を調整することによっても調整することができる。よって、領域２６と領域２７とで閾値に差をつけて検出を行ってもよい。
【００８１】
ペア赤目候補検証部７と孤立赤目候補検証部８により、真の赤目であることが検証された赤目候補のデータは、検出結果出力部９により赤目リストの情報として整理され、出力される。
【００８２】
最後に、赤目修正装置２の処理について簡単に説明する。図１５は図１の赤目修正装置２の処理の概要を表す図である。図に示すように、本実施の形態では、赤目修正装置２は、赤目検出装置１により検出された各赤目について、色差Ｃｒの値が所定の値を越えている画素を抽出し、モフォロジー処理により、その領域を整形し、整形した領域を構成する各画素の色を、所定の明るさのグレーなど、瞳孔の色として適切な色に置き換えている。
【００８３】
以上に説明したように、本実施の形態の赤目検出装置は、赤目ペアとして認識されなかった孤立赤目候補に対して、赤目か否かをあらためて検証する。したがって、両目ともに赤目現象が発生している場合のみならず、片目のみが赤目である場合、最初の赤目候補検出で片目のみが検出され他方の目が検出から漏れてしまった場合、あるいは最初の赤目候補検出で黒目あるいは電飾などを誤って赤目として検出してしまった場合でも、真の赤目のみを正確に検出することができる。
【００８４】
なお、本発明の特徴は、赤目候補として検出されたのにも拘わらず、ペアとして認識されなかったために検証、補正の対象からはずされていた孤立赤目候補に対しても、赤目か否かの検証を行うという点にある。したがって、赤目候補の検出、検証の手法は、上記実施の形態に限定されるものではなく、他の手法を採用してもよい。
【００８５】
例えば、上記実施の形態では、孤立赤目候補検証部８は、目の検出器を用いてもう一方の目の探索を行っているが、顔検出部４の検出結果が孤立赤目候補検証部８に入力されるようにし、顔の大きさ、両目間の距離などの情報を利用して他方の目が含まれていそうな領域を特定してもよい。さらには、顔検出結果を利用した領域特定と目検出器による検出とを組み合わせることによって、他方の目を探索してもよい。
【００８６】
また、孤立赤目候補検証部８による検証の手法としては、もう一方の目の情報を利用せずに検証する手法も考えられる。例えば、上記実施の形態では、図１３を参照して説明したように領域２６、領域２７についてそれぞれ赤目候補検出処理を施しているが、孤立赤目候補１４ａのみを対象として、あるいは孤立赤目候補１４ａを含む領域２６のみを対象として精度の高い赤目候補検出処理を実行するだけでもよい。例えば、孤立赤目候補内（孤立赤目候補として検出された領域内）の色が赤色であることを確認したり、孤立赤目候補内の輝度分布を求めることによって真の赤目か否かを検証することができる。輝度分布は、孤立赤目候補を含む所定の大きさの領域の輝度分布を参照してもよい。孤立赤目候補が真の赤目である場合には、特徴的な輝度分布が観察されるので、これをもとに真の赤目か否かを判定することができる。
【００８７】
また、孤立赤目候補検証部８は、複数の手法を使い分けながら検証を行ってもよい。例えば、赤目候補検出部５で検出された段階で真の赤目である可能性が高いことがわかっている場合には簡単な手法を用い、真の赤目かどうか定かでなく慎重に判断する必要がある場合には、検証精度の高い手法を用いるという形態が考えられる。例えば上記実施形態の赤目候補検出部５は、図８を参照して説明したように累積識別ポイントと閾値の比較により赤目か否かを判定している。この場合、累積識別ポイントが閾値を大幅に越えているときは真の赤目である可能性が高く、累積識別ポイントが閾値をわずかに越える程度であるときは真の赤目かどうか定かではないと考えることができるので、孤立赤目と判定されたときの累積識別ポイントに基づいて孤立赤目候補ごとに検証の手法を使い分ければよい。
【００８８】
また、孤立赤目候補検証部８は、複数の手法を組み合わせて検証を行ってもよい。例えば、赤目候補検出部５で検出された段階で真の赤目である可能性が高いことがわかっている場合には一つの手法のみを用いて検証を行い、真の赤目かどうか定かでなく慎重に判断する必要がある場合には、複数の手法を組み合わせて段階的に検証を行うという形態が考えられる。この場合も累積識別ポイントに基づいて、検証手法の組み合わせを決めればよい。
【００８９】
また、赤目修正装置２の処理も上記実施形態に限定されるものではない。例えば、赤目修正装置２が赤目を修正するための手法として複数の手法を使い分けたり、複数の手法を組み合わせて赤目を修正する形態が考えられる。孤立赤目候補検証部８が用いた検証手法によって、赤目修正装置２が用いる修正の手法を切り替えるという形態も考えられる。
【図面の簡単な説明】
【００９０】
【図１】赤目補正システムの概略構成を示す図
【図２】入力画像の一例を示す図
【図３】（ａ）は顔検出部の検出結果、（ｂ）は赤目候補検出部の検出結果、（ｃ）は赤目ペア特定部の処理結果の一例を示す図
【図４】赤目候補検出処理の概要を示すフローチャート
【図５】解像度別画像について説明するための図
【図６】判定対象範囲設定処理と識別判定処理の概要を示す図
【図７】赤目候補検出器の学習に用いられるサンプルの例を示す図
【図８】識別判定処理の具体的な処理ステップを示すフローチャート
【図９】候補整理処理について説明するための図
【図１０】孤立赤目候補検証部の処理の概要を示すフローチャート
【図１１】目の探索処理について説明するための図
【図１２】目検出器の学習に用いられるサンプルの例を示す図
【図１３】孤立赤目候補検証部による赤目候補検出処理について説明するための図
【図１４】孤立赤目候補検証部による赤目候補検出処理について説明するための図
【図１５】赤目修正装置の処理の概要を表す図
【符号の説明】
【００９１】
１０  入力画像
１１ａ，１１ｂ，１１ｃ  顔領域
１２ａ，１２ｂ，１２ｃ，１２ｄ  赤目候補
１３  赤目ペア
１４ａ，１４ｂ  孤立赤目候補
１５，１６，１７  解像度別画像
１８，１８ａ，１８ｂ，２３  判定対象範囲
１９  瞳孔
２０  赤目
２１ａ，２１ｂ  赤目候補
２２  トリミング範囲
２４  あらたに検出された赤目
２５  検出された黒目
２６  孤立赤目候補を含む目領域
２７  新たに検出された目領域
【図１】
2005316973.tif 000003
【図２】
2005316973.tif 000004
【図３】
2005316973.tif 000005
【図４】
2005316973.tif 000006
【図５】
2005316973.tif 000007
【図６】
2005316973.tif 000008
【図８】
2005316973.tif 000009
【図９】
2005316973.tif 000010
【図１０】
2005316973.tif 000011
【図１１】
2005316973.tif 000012
【図１２】
2005316973.tif 000013
【図１４】
2005316973.tif 000014
【図１５】
2005316973.tif 000015
【図７】
2005316973.tif 000016
【図１３】
2005316973.tif 000017