しかしながら、デジタル写真画像中に生じる赤目領域には様々なパターンがあり、予め設定した固定基準を用いる半自動的または全自動的な赤目検出手法では、固定基準設定のための事前のパターン分析や学習においてそれらのパターンすべてを網羅するのは不可能であるため、赤目領域の検出漏れまたは誤検出が生じるのは避けられないという問題があった。さらに、固定基準を用いる赤目検出手法では、実際には頻繁に生じるパターンであるが事前の学習等において考慮されなかったパターンの赤目領域や、事前の学習等では赤目領域のパターンとして考慮されたが、実際には赤いランプ等の赤目以外の対象である可能性の方が高いパターンの領域においては、常に検出漏れまたは誤検出が生じてしまうという問題もあった。
本発明は、上記事情に鑑み、赤目検出装置、プログラムおよびプログラムを記録した記録媒体において、赤目領域の検出精度を改善すること、とりわけ実際の撮影環境下で頻繁に生じる赤目領域のパターンに合わせて赤目領域の検出精度を改善することを目的とするものである。
すなわち、本発明の赤目検出装置は、デジタル写真画像の入力を受け付ける画像入力受付手段と、赤目領域の特徴を規定した参照データを用いて、そのデジタル写真画像中の赤目候補領域を特定する赤目候補領域特定手段と、特定された赤目候補領域の位置をユーザーが確認できるような態様で、上記のデジタル写真画像を出力表示する表示手段と、ユーザーが、上記の赤目候補領域として特定されなかった赤目領域を、特定漏れ赤目領域として指定できる指定手段と、指定された特定漏れ赤目領域の特徴を学習することにより、その特定漏れ赤目領域に類似の特徴を有する領域が赤目候補領域として特定される確率が高まるように、上記の参照データを更新する更新手段を備えていることを特徴とするものである。
ここで、上記の「特定された赤目候補領域の位置をユーザーが確認できるような態様で、上記のデジタル写真画像を出力表示する」とは、赤目候補領域の位置の確認が可能であれば、いかなる表示態様でもよく、たとえば、特定されたすべての赤目候補領域を矩形枠等でマーキングして表示する態様のほか、それに代えてあるいは併せて、特定されたすべての赤目候補領域に対して仮修正を施して表示する態様等であってもよい。
また、上記の本発明の赤目検出装置は、特定された赤目候補領域および指定された特定漏れ赤目領域に対し、見かけの赤目状態が軽減されるような画像修正を施す修正手段をさらに備えているものであってもよい。
さらに、上記の本発明の赤目検出装置は、上記の更新手段による参照データの更新の履歴を保持する履歴保持手段と、上記の指定手段において特定漏れ赤目領域が指定される頻度に基づく検出精度の変化を監視するモニター手段と、その検出精度が所定の基準を超えて低下したときに、履歴保持手段が記憶している過去の一時点の状態に上記の参照データをリセットするリセット手段をさらに備えているものであってもよい。
また、上記の本発明の赤目検出装置における初期の参照データは、赤目領域の画像であることが分かっている複数のサンプル画像および/または赤目領域の画像でないことが分かっている複数のサンプル画像からなる、サンプル画像群を学習することにより導出されたものであってもよく、その場合、上記の更新手段は、上記のサンプル画像群のデータが格納されている記憶手段を備えており、そのサンプル画像群を構成する各サンプル画像の特徴と、指定された特定漏れ赤目領域の特徴とを併せて再学習することにより、参照データを更新するものであってもよい。
さらに、上記の本発明の赤目検出装置における上記の指定手段において、ユーザーが、特定された赤目候補領域のうち実際には赤目領域でない領域を、誤特定領域として指定できることとし、上記の更新手段を、指定された誤特定領域の特徴を学習することにより、その誤特定領域に類似の特徴を有する領域が赤目候補領域として特定される確率が低くなるようにも、上記の参照データを更新するものとしてもよい。その場合において、上記の本発明の赤目検出装置は、特定された赤目候補領域のうち指定された誤特定領域を除くもの、および指定された特定漏れ赤目領域に対し、見かけの赤目状態が軽減されるような画像修正を施す修正手段をさらに備えているものであってもよい。また、上記の更新手段による上記の参照データの更新の履歴を保持する履歴保持手段と、上記の指定手段において特定漏れ赤目領域および誤特定領域が指定される頻度に基づく検出精度の変化を監視するモニター手段と、その検出精度が所定の基準を超えて低下したときに、上記の履歴保持手段が記憶している過去の一時点の状態に参照データをリセットするリセット手段をさらに備えているものであってもよい。さらに、初期の参照データを、赤目領域の画像であることが分かっている複数のサンプル画像および/または赤目領域の画像でないことが分かっている複数のサンプル画像からなる、サンプル画像群を学習することにより導出されたものとし、上記の更新手段を、上記のサンプル画像群のデータが格納されている記憶手段を備えており、そのサンプル画像群を構成する各サンプル画像の特徴と、指定された特定漏れ赤目領域および誤特定領域の特徴とを併せて再学習することにより、参照データを更新するものとしてもよい。
本発明の赤目検出プログラムは、コンピュータを、デジタル写真画像の入力を受け付ける画像入力受付手段、赤目領域の特徴を規定した参照データを用いて、そのデジタル写真画像中の赤目候補領域を特定する赤目候補領域特定手段、特定された赤目候補領域の位置をユーザーが確認できるような態様で、上記のデジタル写真画像を出力表示する表示手段、ユーザーが、上記の赤目候補領域として特定されなかった赤目領域を、特定漏れ赤目領域として指定できる指定手段、および指定された特定漏れ赤目領域の特徴を学習することにより、その特定漏れ赤目領域に類似の特徴を有する領域が赤目候補領域として特定される確率が高まるように、前記参照データを更新する更新手段として機能させるためのプログラムである。また、本発明の記録媒体は、そのような赤目検出プログラムを記録したコンピュータ読取可能な記録媒体である。
なお、本明細書では赤目について代表的に説明するが、金目、銀目など本来の色と異なる異常な色に撮影されてしまう目も本発明の対象となるものであり、請求項で「赤目」と記載したものも、それはそれらを含んで代表的に赤目と言うものであり、それらの異常な色の目を全て含むものである。
本発明の赤目検出装置、プログラムおよびプログラムを記録した記録媒体は、ユーザーにより指定された特定漏れ赤目領域の特徴を学習することにより、その特定漏れ赤目領域に類似の特徴を有する領域が赤目候補領域として特定される確率が高まるように、赤目候補領域の特定に用いられる参照データを更新するものであるので、実際の撮影環境下で頻繁に生じる赤目領域のパターンに合わせて赤目領域の検出精度を動的に改善することができる。特に、かかる装置、プログラムおよびプログラムを記録した記録媒体を、デジタルカメラに実装した場合には、ユーザーの嗜好により異なる頻繁に撮影される人物や環境下において生じ易い赤目領域のパターンに合わせて、赤目領域の検出精度を改善することができる。また、デジタル写真のプリントラボシステムに実装した場合には、その地域に多い人種等において生じ易い赤目領域のパターンに合わせて、赤目領域の検出精度を改善することができる。
さらに、ユーザーによる誤特定領域の指定も可能とし、指定された誤特定領域の特徴を学習することにより、誤特定領域に類似の特徴を有する領域が赤目候補領域として特定される確率が低くなるようにも、参照データを更新する態様とした場合には、実際の撮影環境下では赤目以外の対象である可能性の方が高いパターンに合わせて、赤目領域の検出精度を動的に改善することができる。
また、見かけの赤目状態が軽減されるような画像修正を施す修正手段を併せて設ける態様とした場合には、ユーザーによる特定漏れ赤目領域および/または誤特定領域の指定の情報を活かして、実際の赤目領域のみに確実に画像修正を施すことができる。このことを、逆に修正作業を主とした観点から見れば、従来から、赤目領域を半自動的または全自動的に検出および修正する処理において、誤って修正された赤目領域でない領域および/または赤目領域であるのに正しく修正されなかった領域が生じた場合は、手動操作によりそれらの位置等を指定して追加修正を行う必要があったが、本発明は、追加修正のために指定が必要であった情報を、追加修正のみならず、検出精度改善のためのフィードバック情報としても利用するものである。
さらに、履歴保持手段、モニター手段およびリセット手段を設ける態様とした場合には、稀にしか起こらない特殊な撮影条件下等で生じた特定漏れ赤目領域の特徴や、頻繁に生じる赤目領域のパターンに極めて類似したパターンを偶然有する誤特定領域の特徴を学習してしまったために、却って赤目領域の検出精度が低下してしまったときに、過去の一時点の状態に参照データをリセットし、高い検出精度を回復することができる。
また、初期の参照データの導出に使用された各サンプル画像の特徴と、指定された特定漏れ赤目領域や誤特定領域の特徴とを併せて再学習することにより、参照データを更新する態様とした場合には、1つ1つの特定漏れ赤目領域や誤特定領域の特徴に過度な重みを置くことなく、参照データの一般性を維持しながら徐々に更新を行うことができる。
以下、図面により、本発明の例示的な実施形態を詳細に説明する。
図1は、本発明の第1の実施形態に係る赤目検出装置10の構成を示したブロック図である。この赤目検出装置10は、デジタル写真画像の入力を受け付ける画像入力受付部12と、参照データが格納されたメモリ14と、参照データに基づいて入力されたデジタル写真画像中の赤目候補領域を特定する赤目候補領域特定部16と、赤目状態を軽減する画像修正を施す修正部18と、表示部20と、ユーザーによる特定漏れ赤目領域と誤特定領域との指定を受け付ける指定部22と、メモリ14にアクセスして参照データを更新する更新部24とを備えている。
メモリ14に格納されている参照データは、検出すべき赤目領域の特徴を規定したものであり、装置10に入力されたデジタル写真画像中のある領域を赤目候補領域として特定すべきか否かの基準を提供するものである。本実施形態では、この参照データとして、図2に示すようなサンプル画像群を予め学習することにより導出されたものを用いることとする。サンプル画像群は、赤目領域の画像であることが分かっている複数のサンプル画像(以下、「正サンプル画像」と呼ぶ)と、赤目領域の画像でないことが分かっている複数のサンプル画像(以下、「負サンプル画像」と呼ぶ)からなる。各正サンプル画像としては、赤目部分を含む略同一の範囲の目の領域の特徴を学習できるように、図2の(a)に示すように互いに規格化された範囲の画像が使用される。負サンプル画像には、赤目領域以外のあらゆる画像が偏りなく含まれていてもよいし、図2の(b)に示すように、夕日や赤いランプの拡大画像等、赤目領域と誤認識されやすい特徴を有する画像が重点的に含まれていてもよい。各サンプル画像は、同じ大きさとされている。
サンプル画像群の学習処理はいかなる手法によるものであってもよく、導出される参照データも参照表形式等のいかなる形式のものであってもよいが、本実施形態では、ブースティングとして知られている手法を応用した学習処理により、関数形式の参照データを導出するものとする。ブースティングとは、典型的には、学習対象のサンプルデータ群のうちの一部のからなる第1組のサンプルデータのそれぞれから、「特徴量」すなわちそのサンプルデータの特徴を表すパラメータを抽出して特徴量空間にプロットし、ある特定内容のデータに対応するプロット点とその特定内容でないデータに対応するプロット点とを、特徴量空間上において最も良好に分類する第1の比較的単純な曲面等を規定し、次にその第1の曲面等では良好に分類できないサンプルデータの第2組を選択し、それら第2組に対応するプロット点を最も良好に分類する第2の曲面等を規定し、・・・という処理を繰り返して学習を行なうものである。最後に、一連の処理で規定された複数の曲面等を総合して、多数決の手法等により、特徴量空間を分割する最適な曲面または関数が決定される。
本実施形態では、図2に示したような各サンプル画像から、それぞれ1つずつの輝度平均値Y、色差平均値CrおよびCbを、特徴量として抽出してYCC表色系空間にプロットし、YCC表色系空間内の各点について赤目領域の画像に対応する点か赤目領域でない画像に対応する点かを規定する、関数f(Y,Cr,Cb)を参照データとして求めるものとする。ここでは、説明のためY−Cr平面の2次元に簡略化して、図3を用いて上記の学習手法を説明する。
まず、サンプル画像群からN個ずつの正サンプル画像および負サンプル画像がランダムに選択され、各サンプル画像から輝度平均値Yおよび色差平均値Crが抽出されて、図3の(a)のようにY−Cr平面上にプロットされる。その後、正サンプル画像に対応するプロット点と負サンプル画像に対応するプロット点とを最も良好に分類する二次曲線g
1(Y,Cr)が規定される。関数f
1(Y,Cr)は、その二次曲線g
1(Y,Cr)により分けられた、正サンプル画像に対応するプロット点が含まれる可能性の高い領域において正の値、負サンプル画像に対応するプロット点が含まれる可能性の高い領域において負の値を取る関数として規定される。Y−Cr平面上の各点における関数f
1(Y,Cr)の絶対値としては、その点と曲線g
1(Y,Cr)との距離等を用いることができる。二次曲線g
1(Y,Cr)および関数f
1(Y,Cr)の規定は、たとえば評価関数
の値が最小になるように行われる。ここで、YiおよびCriは各サンプル画像に対応するプロット点の座標を表す。yiは、正サンプル画像に対して+1、負サンプル画像に対して−1の値を取るパラメータである。
次に、サンプル画像群から別のN個ずつの正サンプル画像および負サンプル画像が選択され、各サンプル画像から輝度平均値Yおよび色差平均値Crが抽出されて、図3の(b)のようにY−Cr平面上にプロットされる。サンプル画像の選択はランダムに行ってもよいし、あるいは、すでに導出した関数f1(Y,Cr)では精度よく分類できないサンプル画像を重点的に学習するため、関数f1(Y,Cr)による分類では正解率が所定の閾値以下となるような正サンプル画像および負サンプル画像の群を選択することとしてもよい。これらの新たに選択されたサンプル画像のプロット点に対して、上記と同様の手法により、二次曲線g2(Y,Cr)および関数f2(Y,Cr)が、図3の(b)のように規定される。
と規定すると、現時点での関数f(Y,Cr)すなわちf1(Y,Cr)+f2(Y,Cr)の値の正負の分布は、図3の(c)のようになる。この後、サンプル画像群から、さらに別のN個ずつの正サンプル画像および負サンプル画像が順次選択され、たとえば関数f(Y,Cr)によりサンプル画像群全体を分類した際の正解率が収束して所定の微小幅以上は改善しなくなるまで、上記と同様の手法により、関数f3(Y,Cr)、f4(Y,Cr)・・・が順次求められ、関数f(Y,Cr)が更新されていく。
最終的に確定した関数f(Y,Cr)は参照データとして働き、デジタル写真画像のある領域から抽出した輝度平均値Yおよび色差平均値Crに対する関数f(Y,Cr)の値が正であれば、その領域を赤目候補領域として特定することができ、負であれば、赤目候補領域でないものと判断することができる。なお、上記の図3を用いた説明は2次元に簡略化したものであり、前述のとおり、本実施形態において実際に参照データとして導出されメモリ14に格納されているのは、YCC表色系空間内の各点について赤目領域の画像に対応する点か赤目領域でない画像に対応する点かを規定する、関数f(Y,Cr,Cb)である。
以下、図1の赤目検出装置10の各部の作用により行われる全体的な処理について、詳細に説明する。
まず、画像入力受付部12がデジタル写真画像の入力を受け付けると、そのデジタル写真画像は、赤目候補領域特定部16へと送られる。
赤目候補領域特定部16は、図4のフローチャートに示す処理により、入力されたデジタル写真画像中の赤目候補領域を特定する。まず、ステップS2において、入力されたデジタル写真画像をブロック領域に分割するための複数のブロックサイズ(たとえば、4×4画素、8×8画素、16×16画素・・・)を設定する。ここで複数のブロックサイズを設定するのは、本実施形態において赤目候補領域特定の基準となる参照データは、図2の(a)に示すような互いに規格化された正サンプル画像を含むサンプル画像群の学習により導出されたものであるが、実際のデジタル写真画像中においては人物全体および赤目領域の大きさが画像ごとに異なるため、複数のブロックサイズを適用してみて、学習した各正サンプル画像と略同一の範囲の目の領域の特徴を抽出することができるようにするためである。
次に、ステップS4において、赤目候補領域特定部16は、ステップS2で設定されたブロックサイズのうちの1つを適用して、デジタル写真画像全体をブロック領域に分割する。
続いて、ステップS6において、赤目候補領域特定部16は、ステップS4で得られた多数のブロック領域の1つから、特徴量として、輝度平均値Y、色差平均値CrおよびCbを抽出する。
次に、ステップS8において、赤目候補領域特定部16は、メモリ14内に格納された参照データとしての関数f(Y,Cr,Cb)を参照して、直前のステップS4で抽出したY、CrおよびCbの値に対する関数f(Y,Cr,Cb)の値が正であるか否かを確認する。正であれば、ステップS10において、現在のブロック領域を赤目候補領域として特定し、矩形枠によりマーキングした後、ステップS12へと進む。負であれば、現在のブロック領域は赤目候補領域でないものと判断し、ステップS8からそのままステップS12へと進む。
ステップS12では、次のブロック領域があるか否かが確認され、まだ調べていないブロック領域があれば、図4の処理はステップS6へと戻る。現在のブロックサイズのすべてのブロック領域について、赤目候補領域であるか否かの判断が終了すると、図4の処理はステップS14へと進み、次のブロックサイズがあるか否かが確認される。まだ調べていないブロックサイズがあれば、図4の処理はステップS4へと戻り、あらゆるブロックサイズで分割されたすべてのブロック領域について、赤目候補領域であるか否かの判断が終了するまで、ステップS4からS14の処理が繰り返される。
上記の図4に示した赤目特定処理が終了すると、赤目候補領域特定部16は、入力されたデジタル写真画像上で特定されたすべての赤目候補領域を矩形枠でマーキングしたマーキング画像を、修正部18へと送る。修正部18は、マーキング画像の各赤目候補領域中の赤目らしい部分に、見かけの赤目状態が軽減されるような仮修正を施す。この仮修正は、いかなる手法によるものであってもよい。一例として、各赤目候補領域に領域分割処理を施し、分割後の各領域のうち色味(赤味)や形状(円形度)等の特徴が最も赤目らしいものを赤目らしい部分として画定し、その画定された部分に修正を施す手法を用いることができる(特開2003−283849号公報参照)。その手法を用いる際の修正は、たとえば、赤目らしい部分として画定された部分を構成する画素のうち、最小明度を示す画素に全画素の明度を一致させ、さらに最小彩度を示す画素に全画素の彩度を一致させる等の処理により行うことができる。明度の修正と彩度の修正のうちいずれか一方のみを行ってもよい。
以上のようにしてマーキングおよび仮修正が施されたデジタル写真画像は、修正部18から表示部20へと送られ、ユーザーによる確認ができるように表示される。ここで、たとえば入力されたオリジナルのデジタル写真画像30が図5の(a)に示すようなものである場合に、赤目候補領域特定部16および修正部18を経て表示部20に表示された画像が、図5の(b)に示すような画像32であったとする。画像32において、領域34は、正しく特定、マーキングおよび仮修正された赤目候補領域である。領域36は、実際には赤目領域ではないにも拘わらず、誤って赤目候補領域として特定、マーキングおよび仮修正されてしまった誤特定領域である。領域38は、実際には赤目領域であるのに、赤目候補領域として特定されなかった特定漏れ赤目領域である。
この画像32を確認したユーザーは、装置10の指定部22に対し、領域36を誤特定領域として、領域38を特定漏れ赤目領域として、それぞれ手動で指定することができる。指定された誤特定領域36および特定漏れ赤目領域38に関する情報は、指定部22から、修正部18および更新部24へと送られる。
修正部18では、誤特定領域36を仮修正前の状態に戻し、特定漏れ赤目領域38中の赤目部分に見かけの赤目状態が軽減されるような画像修正を施す、本修正が行われる。特定漏れ赤目領域38に対する画像修正は、上記に説明した仮修正と同様の手法により行うことができる。あるいは、誤特定領域36を仮修正前の状態に戻す処理のみ修正部18により行うこととし、特定漏れ赤目領域38に対する画像修正はユーザーが手動で行うこととしてもよい。本修正が施されたデジタル写真画像40は、図5の(c)に示すような状態となり、再び表示部20へと出力表示される。
一方、更新部24は、指定された誤特定領域36および特定漏れ赤目領域38から、それぞれ特徴量として、輝度平均値Y、色差平均値CrおよびCbを抽出して参照データ更新のための再学習データとして蓄積する。一定数の再学習データが蓄積されたところで、更新部24は、メモリ14にアクセスし、参照データとしての関数f(Y,Cr,Cb)を更新する。この更新は、たとえば、蓄積された再学習データをYCC表色系空間にプロットして、図3の(a)を用いて説明した手法と同様の手法により追加の関数fj(Y,Cr,Cb)を導出し、それをこれまでの関数f(Y,Cr,Cb)に足し合わせて更新する等の手法により行うことができる。あるいは、更新部24内に、もとの関数f(Y,Cr,Cb)の導出に用いたサンプル画像群のデータを格納するメモリを設けておき、サンプル画像群のデータと再学習データとをすべて併せて、図3を用いて説明した手法等により始めから学習し直すことにより、関数f(Y,Cr,Cb)を更新することとしてもよい。
上記の本発明の第1の実施形態に係る赤目検出装置10によれば、特定漏れ赤目領域に類似の特徴を有する領域が赤目候補領域として特定される確率が高まり、誤特定領域に類似の特徴を有する領域が赤目候補領域として特定される確率が低くなるように、順次、赤目候補領域の特定に用いる参照データを更新していくことができる。したがって、実際の撮影環境下で頻繁に生じる赤目領域のパターンおよび実際の撮影環境下では赤目以外の対象である可能性の方が高いパターンに合わせて、赤目領域の検出精度を動的に改善していくことができる。
この第1の実施形態に係る赤目検出装置10は、内蔵や接続の形で、デジタルカメラやデジタル写真のプリントラボシステム等に実装することができる。装置10をデジタルカメラに実装した場合には、ユーザーの嗜好により異なる頻繁に撮影される人物や環境下において生じ易い赤目領域のパターンに合わせて、赤目領域の検出精度を改善することができる。デジタル写真のプリントラボシステムに実装した場合には、その地域に多い人種等において生じ易い赤目領域のパターンに合わせて、赤目領域の検出精度を改善することができる。また、デジタルカメラの使用時や、プリントラボシステムが稼動中の昼間は、再学習データを蓄積しておくこととし、計算資源が豊富な充電中や夜間に、参照データの更新処理を行うこととしてもよい。
なお、上記の本発明の第1の実施形態に係る装置10では、修正部18において仮修正が行われた後、マーキングおよび仮修正が施されたデジタル写真画像を表示部20に表示して、ユーザーによる確認に供することとしたが、赤目候補領域特定部16からマーキング画像を直接に表示部20に送って未修正の状態で表示することとし、特定漏れ赤目領域および誤特定領域が指定された後に一括して修正を行うこととしてもよい。その他、表示部20への最初の表示の態様は、特定された赤目候補領域の位置をユーザーが確認できるような態様であれば、いかなるものであってもよい。
また、上記の本発明の第1の実施形態に係る装置10は、修正部18を備え、修正処理も一括して行うものであったが、修正処理は別途の装置等において行うこととし、赤目候補領域の特定、特定漏れ赤目領域ならびに誤特定領域の指定および参照データの更新のみを行う形態としてもよい。
さらに、上記の本発明の第1の実施形態に係る装置10では、ユーザーは特定漏れ赤目領域ならびに誤特定領域の両方を指定することができ、指定された特定漏れ赤目領域ならびに誤特定領域の特徴の学習により参照データを更新することとしたが、特定漏れ赤目領域の特徴のみを学習する形態としてもよい。
また、更新部24による参照データ更新のための学習処理は、上記のブースティングを応用した手法による処理に限られず、いかなる学習処理であってもよい。
さらに、メモリ14に格納されている初期の参照データは、機械的学習により得たものに限られず、経験的に定められたものであってもよい。
以上、本発明の第1の実施形態に係る装置10について説明したが、コンピュータを、上記の画像入力受付部12、赤目候補領域特定部16、修正部18、表示部20、指定部22および更新部24に対応する手段として機能させ、上記に説明したような赤目検出処理を行わせるプログラムも、本発明の実施形態の1つである。また、そのようなプログラムを記録したコンピュータ読取可能な記録媒体も、本発明の実施形態の1つである。これらのプログラムおよび記録媒体に関しても、修正部18に対応する手段としてコンピュータを機能させる処理は、別のプログラム等に担わせることとして省略する等、上記に説明したような種々の変更が可能である。
次に、図6を用いて、本発明の第2の実施形態に係る装置について説明する。図6は、本発明の第2の実施形態に係る赤目検出装置50の構成を示したブロック図である。装置50に含まれる画像入力受付部52、メモリ54、赤目候補領域特定部56、修正部58、表示部60、指定部62および更新部64の機能は、上記に説明した第1の実施形態に係る装置10の対応部分の機能と同様であり、それらが行なう処理も、上記で図1から図5を用いて説明した処理と同様である。そこで、これらについては説明を省略し、以下、第1の実施形態に係る装置10と異なる部分についてのみ説明する。
第2の実施形態に係る装置50は、履歴保持部66、モニター部68およびリセット部70を備え、赤目領域の検出精度が所定の基準を超えて低下したときに、過去の一時点の状態に参照データをリセットする回復機能を有する点で、第1の実施形態に係る装置10と異なる。
図7は、赤目検出装置50における回復動作の実行タイミングの例を示したグラフである。装置50では、メモリ54内の参照データが順次更新されていく間、履歴保持部66が、更新部64による参照データの更新の履歴を、絶えず保持している。更新が進むと、通常は、実際のデジタル写真画像に対する赤目領域の検出精度は次第に向上していく。しかしながら、稀にしか起こらない特殊な撮影条件下等で生じた特定漏れ赤目領域の特徴や、頻繁に生じる赤目領域のパターンに極めて類似したパターンを偶然有する誤特定領域の特徴を学習してしまうと、却って赤目領域の検出精度が低下してしまう場合もある。そこで、本実施形態では、モニター部68により、指定部62において特定漏れ赤目領域および誤特定領域が指定される頻度に基づく赤目領域の検出精度rの変化を監視することとする。そして、図7に示すように、検出精度rがそれまでの最高値rmaxに対して0.8rmaxまで低下したときは、その時点でリセット部70を動作させ、検出精度の最高値rmaxを達成した時点の状態に参照データをリセットする。これにより、検出精度rが却って低下してしまったときに、それまでの検出精度の最高値rmaxを回復することができる。
なお、図7を用いて説明した回復動作の実行タイミングは一例に過ぎず、他のいかなる基準を設けてもよい。また、検出精度の最高値rmaxを達成した時点の状態に参照データをリセットする態様にも限られず、デフォルトの状態にリセットする態様等であってもよい。
以上、本発明の第2の実施形態に係る装置50について説明したが、コンピュータを、上記の画像入力受付部52、赤目候補領域特定部56、修正部58、表示部60、指定部62、更新部64、履歴保持部66、モニター部68およびリセット部70に対応する手段として機能させ、上記に説明したような赤目検出処理および回復動作を行わせるプログラムも、本発明の実施形態の1つである。また、そのようなプログラムを記録したコンピュータ読取可能な記録媒体も、本発明の実施形態の1つである。これらのプログラムおよび記録媒体に関しても、修正部58に対応する手段としてコンピュータを機能させる処理は、別のプログラム等に担わせることとして省略する等、図1の装置10に関連して上記に説明したような種々の変更が可能である。
また、赤目候補領域を特定するとき、特定漏れをする可能性があるが、その特定漏れ箇所をユーザーが探して指定しやすいように、赤目や顔を検出した結果を用いて特定漏れの可能性のある箇所をユーザーに提示するようにすることもできる。例えば片方の目のみが赤目と判断された場合に、もう片方の目の位置を顔検出の結果から推定して、その位置の辺りの部分を拡大表示してユーザーに提示するようにすることもできる。あるいは、顔が検出されても赤目が検出されていない場合、顔検出の結果から両目の位置を推定して、その位置の辺りの部分を拡大表示してユーザーに提示するようにすることもできる。
なお、上記特定漏れ赤目領域の特徴の学習については、撮影条件やカメラ情報を合わせて学習するようにしてもよい。例えば、撮影時のストロボの強度やシーンの輝度情報などによって赤目領域を分類しておき、それぞれに特化した赤目領域特定手段を保持しておき、ユーザー指定によって追加される学習サンプルは上記と同様な分類を行った後に、その分類結果に応じて対応する赤目領域特定手段の再学習を行うようにしてもよい。また、その学習を人物ごとに学習するようにしてもよい。このように、分類を行った後に学習するようにすることにより、学習の効果を高め、赤目候補領域の特定確率を高めることができる。
なお、再学習の際には、特定漏れ領域や誤特定領域のみならず、正しく特定できた領域も正しい特定結果として再学習データに加えるのが望ましい。
その他、上記において詳細に説明した本発明の各実施形態は例示的なものに過ぎず、本発明の技術的範囲は、特許請求の範囲のみによって定められるべきものであることは言うまでもない。