(57)【要約】【課題】人物を撮影した画像から瞳の色異常として発生する赤目等、画像内に局在する特定色の画素を適切かつ容易に検出する。【解決手段】入力画像から低周波成分を抽出して低周波成分画像を生成し（Ｓ２０１）、入力画像について、その画素ごとに低周波成分画像に基づく周辺色を除去するように変換した変換後画像を作成する（Ｓ２０２）。そして、該変換後画像に対して、その内部に局在する特定色の画素を検出処理を施す（Ｓ２０３〜Ｓ２０７）。これにより、局所的な特定色の画素の検出精度が向上する。【選択図】図２
2009070103.tif 000002
【特許請求の範囲】
【請求項１】
低周波成分抽出手段が、入力画像から低周波成分を抽出して低周波成分画像を生成する低周波成分抽出ステップと、
画像変換手段が、前記入力画像について、その画素ごとに前記低周波成分画像に基づく周辺色を除去するように変換した変換後画像を作成する画像変換ステップと、
特定色検出手段が、前記変換後画像に局在する特定色の画素を検出する特定色検出ステップと、
を有することを特徴とする画像処理方法。
【請求項２】
前記低周波成分抽出ステップにおいては、周波数特性の異なる複数の低周波成分画像を抽出し、
前記画像変換ステップにおいては、前記複数の低周波成分画像を用いて、前記変換後画像を作成することを特徴とする請求項１に記載の画像処理方法。
【請求項３】
前記画像変換ステップにおいては、前記複数の低周波成分画像を合成した合成低周波成分画像を用いて、前記変換後画像を作成することを特徴とする請求項２に記載の画像処理方法。
【請求項４】
前記画像変換ステップにおいては、前記複数の低周波成分画像のそれぞれについて前記変換後画像を作成し、該作成された複数の変換後画像を合成することを特徴とする請求項２に記載の画像処理方法。
【請求項５】
前記特定色検出ステップは、
前記変換後画像において前記特定色に相当する画素を候補画素として抽出する候補画素検出ステップと、
前記変換後画像における前記候補画素をその空間的な連続性に基づいてグルーピングすることにより候補画素グループを作成するグルーピングステップと、
前記候補画素グループの特性に応じて、前記特定色の画素グループを決定するグループ決定ステップと、
を有することを特徴とする請求項１乃至４のいずれか１項に記載の画像処理方法。
【請求項６】
前記特定色検出ステップはさらに、前記変換後画像における前記候補画素の分布に対し、小領域または小欠損領域の少なくともいずれかの除去処理を行う小領域除去ステップを有することを特徴とする請求項５に記載の画像処理方法。
【請求項７】
前記特定色検出ステップはさらに、前記候補画素グループに対し、その種画素に基づく領域成長処理を施すグループ調整ステップを有することを特徴とする請求項５に記載の画像処理方法。
【請求項８】
前記グループ決定ステップにおいて前記候補画素グループの特性は、面積や形状、あるいは代表色の少なくともいずれか１つであることを特徴とする請求項５に記載の画像処理方法。
【請求項９】
さらに、特定領域入力手段が、前記入力画像における特定領域を示す特定領域情報を入力する特定領域入力ステップを有し、
前記特定色検出ステップにおいては、前記特定領域情報で示される特定領域について、前記特定色の画素を検出することを特徴とする請求項１乃至８のいずれか１項に記載の画像処理方法。
【請求項１０】
さらに、特定領域入力手段が、前記入力画像における特定領域を示す特定領域情報を入力する特定領域入力ステップを有し、
前記低周波成分抽出ステップにおいては、前記入力画像から抽出する低周波成分の周波数特性を前記特定領域情報に応じて決定することを特徴とする請求項１乃至８のいずれか１項に記載の画像処理方法。
【請求項１１】
さらに、特定領域入力手段が、前記入力画像における特定領域を示す特定領域情報を入力する特定領域入力ステップを有し、
前記画像変換ステップにおいては、前記複数の低周波成分画像の合成方法を前記特定領域情報に応じて制御することを特徴とする請求項３に記載の画像処理方法。
【請求項１２】
さらに、特定領域入力手段が、前記入力画像における特定領域を示す特定領域情報を入力する特定領域入力ステップを有し、
前記画像変換ステップにおいては、前記複数の変換後画像の合成方法を前記特定領域情報に応じて制御することを特徴とする請求項４に記載の画像処理方法。
【請求項１３】
前記特定色は、人物画像の撮影時に瞳の色異常として発生する赤目の色であることを特徴とする請求項１乃至１２のいずれか１項に記載の画像処理方法。
【請求項１４】
入力画像から低周波成分を抽出して低周波成分画像を生成する低周波成分抽出手段と、
前記入力画像について、その画素ごとに前記低周波成分画像に基づく周辺色を除去するように変換した変換後画像を作成する画像変換手段と、
前記変換後画像に局在する特定色の画素を検出する特定色検出手段と、
を有することを特徴とする画像処理装置。
【請求項１５】
コンピュータで実行されることにより、該コンピュータにおいて請求項１乃至１３のいずれか１項に記載の画像処理方法を実行させることを特徴とするコンピュータプログラム。
【請求項１６】
請求項１５に記載のコンピュータプログラムを記録したことを特徴とするコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置および画像処理方法に関し、特に、画像内に局在する特定色の画素を検出する画像処理装置および画像処理方法に関する。
【背景技術】
【０００２】
人物画像の撮影時に発生する、いわゆる赤目等の瞳の色異常に対して修正を施すために、各種の赤目修正技術が提案されている。このような赤目修正技術においては通常、処理対象画像をオペレータが黙視によって確認し、赤目修正が必要であるか否かを判定し、該判定結果に応じて修正を施すものであった。
【０００３】
しかしながら、例えば業務などで大量の画像を処理する必要がある場合に、上記のように処理対象画像の一枚一枚をオペレータが黙視で確認していたのでは、多大な労力が必要となってしまうという問題がある。
【０００４】
したがって、処理対象画像中に赤目が発生したかどうか、またそれは画像中のどの部位に発生したかという判断を自動的に行う（赤目検出）ことが求められる。また、特に大量処理を行う場合でなくても、例えば専門的な知識を持たないコンシューマユーザの場合、そもそも赤目の修正処理を好適に行うことは困難であり、やはり赤目検出処理および赤目修正処理が自動的に行われることが好ましい。
【０００５】
上記状況を踏まえ、自動的な赤目検出処理に関しても様々な方法が提案されている。例えば、赤目を囲む画像上の領域と、赤目を表す色空間上の範囲を設定し、設定した領域内において、設定した色範囲の画素を目的の色に修正する方法が開示されている（特許文献１参照）。あるいは、赤目候補画素を検出して空間的なグループに分類した後に種画素を探し、リージョングローで領域を決定し、補正する方法が開示されている（特許文献２参照）。また、赤強調を行った結果に対して、空間フィルタを用いた畳み込みを行い、形状とサイズによって赤目の画素領域を判別し、色調整する方法が開示されている（特許文献３参照）。また、顔検出を行い、該検出された顔が赤い瞳孔を含むか否か、またその位置とサイズを検出する方法が開示されている（特許文献４参照）。また、赤目検出アルゴリズムで赤目を検出し、さらに顔検出を行うことにより、顔画像があるか否かによって赤目を確認する方法が開示されている（特許文献５参照）。
【特許文献１】USP5130789
【特許文献２】USP5432863
【特許文献３】USP6204858
【特許文献４】USP6278491
【特許文献５】特開2001-309225号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記従来例で示したように、赤目検出方法の多くは入力画像の画素値をそのまま判定するものである。つまり、赤目を検出するためには画像中の赤い画素に注目して検出を行っている。
【０００７】
しかしながら、目の周囲にある人の肌の色も、概略赤〜オレンジの色を持っている場合が多いので、赤目と肌との弁別のためのパラメータチューニングが困難であるという課題がある。また、撮影時の状況によっては画像全体が赤〜オレンジに色かぶりしている場合があり、そのような場合にはさらに赤目と肌との弁別が困難になるという課題がある。
【０００８】
この弁別精度をあげるために、例えば上記特許文献３では赤強調を行う方法が開示されているが、先に述べたように画像全体が赤〜オレンジに色かぶりしている場合にはそれらが全て赤強調されるため、依然として弁別が困難であるという課題が残る。
【０００９】
また、上記特許文献４や特許文献５では、顔検出などの情報を利用する方法が開示されているが、この方法はそもそも、顔の肌の色が赤目と弁別困難であるという課題を解決するものではない。むしろ、誤検出（例えば赤信号の赤いランプを誤検出する、等）の削減を目的としたものであるといえよう。
【００１０】
本発明は上述した課題を解決するためになされたものであり、画像内に局在する特定色の画素を適切かつ容易に検出する画像処理装置および画像処理方法を提供することを目的とする。
【００１１】
特に、人物を撮影した画像から瞳の色異常として発生する赤目の色を適切に検出する画像処理装置および画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するための一手法として、本発明の画像処理方法は以下のステップを備える。
【００１３】
すなわち、入力画像から低周波成分を抽出して低周波成分画像を生成する低周波成分抽出ステップと、前記入力画像について、その画素ごとに前記低周波成分画像に基づく周辺色を除去するように変換した変換後画像を作成する画像変換ステップと、前記変換後画像に局在する特定色の画素を検出する特定色検出ステップと、を有することを特徴とする。
【発明の効果】
【００１４】
以上の構成からなる本発明によれば、画像内に局在する特定色の画素を適切かつ容易に検出することができる。
【００１５】
特に、人物を撮影した画像から瞳の色異常として発生する赤目の色を適切かつ容易に検出することができる。
【発明を実施するための最良の形態】
【００１６】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１７】
＜第１実施形態＞
●装置構成
図１は、本実施形態に係る画像処理方法を実現する画像処理装置の構成例を示すブロック図である。
【００１８】
同図において、入力部１０１は、ユーザからの指示や、データ等を入力する装置であり、キーボードやポインティングデバイスを含む。なお、ポインティングデバイスとしてはマウス、トラックボール、トラックパッド、タブレット等が挙げられる。あるいは、本実施形態の画像処理装置が例えばデジタルカメラやプリンタ等であった場合には、ボタンやモードダイヤル等で構成されるものであっても良い。また、キーボードをソフトウェアで構成し（いわゆるソフトウェアキーボード）、ボタンやモードダイヤル、あるいは先に挙げたポインティングデバイスを操作して文字を入力するように構成しても良い。
【００１９】
データ保存部１０２は、画像データを保持するための構成である。具体的には、ハードディスク、フロッピーディスク(登録商標)、ＣＤ−ＲＯＭ、ＣＤ−ＲやＤＶＤ、メモリーカード、ＣＦカード、スマートメディア、ＳＤカード、メモリスティック、ｘＤピクチャーカード、ＵＳＢメモリ等で構成される。データ保存部１０２には画像データ以外にも、プログラムやその他のデータを保存することも可能である。データ保存部１０２は上述したように実在の装置によって構成しても良いし、あるいは、後述するＲＡＭ１０６の一部を用いても良い。あるいは、後述する通信部１０７で接続された先の機器のデータ保存部を通信部１０７を介して利用する、というように仮想的に構成しても良い。
【００２０】
表示部１０３は、画像処理の前後の画像を表示、あるいはＧＵＩ等の画像を表示する装置であり、一般的にはＣＲＴや液晶ディスプレイなどが用いられる。あるいは、ケーブル等で接続された装置外部のディスプレイ装置を利用しても良い。
【００２１】
１０４はＣＰＵであり、上述した各構成の処理の全てに関わる。ＲＯＭ１０５とＲＡＭ１０６は、その処理に必要なプログラム、データ、作業領域などをＣＰＵ１０４に提供する。また、後述する処理に必要な制御プログラムは、データ保存部１０２またはＲＯＭ１０５に格納されている場合には、一旦ＲＡＭ１０６に読み込まれてから実行される。またあるいは、通信部１０７を経由して装置がプログラムを受信する場合には、一旦データ保存部１０２に記録した後にＲＡＭ１０６に読み込まれるか、通信部１０７から直接、ＲＡＭ１０６に読み込まれてから実行される。
【００２２】
通信部１０７は、機器間の通信を行うためのＩ／Ｆである。通信部１０７としては例えば、周知のイーサネット(登録商標)、ＵＳＢ、ＩＥＥＥ１２８４、ＩＥＥＥ１３９４、電話回線などの有線による通信方式を用いることができる。あるいは、赤外線(ＩｒＤＡ)、ＩＥＥＥ８０２．１１ａ，ＩＥＥＥ８０２．１１ｂ，ＩＥＥＥ８０２．１１ｇ，Ｂｌｕｅｔｏｏｔｈ，ＵＷＢ（Ultra Wide Band）等の無線通信方式であっても良い。
【００２３】
なお、図１では入力部１０１、データ保存部１０２、表示部１０３が全て１つの装置内に含まれるように示したが、あるいはこれらの部分が周知の通信方式による通信路で接続されており、全体としてこのような構成となっているのであっても構わない。
【００２４】
なお、システム構成については、上記以外にも、様々な構成要素が存在するが、本発明の主眼ではないので、その説明は省略する。
【００２５】
●赤目領域検出処理概要
図２は、上記構成によって実現される、本実施形態における赤目領域検出処理を示すフローチャートである。
【００２６】
図２に示す処理に先立って、本実施形態による赤目領域検出の処理対象となる画像を読み込む必要がある。処理対象画像は、例えば図１に示すデータ保存部１０２などに所定のファイルフォーマットに従って格納されている。例えば、入力部１０１におけるユーザ操作による処理開始指示をトリガとして、データ保存部１０２に保持された画像に対して順番に図２で示す画像処理を行う。あるいは、通信部１０７を介して接続した他の機器から画像データを受信したことをトリガとして、画像処理を開始するように構成しても良い。本実施形態では、表示部１０３に画像データの一覧を表示し、該一覧の中からユーザが所望する画像を入力部１０１を操作して選択し、このユーザの画像選択をトリガとして、本実施形態の画像処理を開始するとする。
【００２７】
本実施形態における赤目領域検出処理は、いわゆる「赤目」に代表される色異常が非常に局所的な色の異常であることに注目し、その局所的な特性を相対的に他より際立たせる処理を行うことによって、その検出精度を向上させるものである。したがって、本実施形態では特に赤目を検出する例を説明するが、本発明は赤目検出に限らず、局所的に孤立した色を検出する他の目的に応用することも可能である。
【００２８】
以下、図２のフローチャートに従って説明する。
【００２９】
まずステップＳ２０１において、読み込んだ処理対象画像に対して、その低周波成分を抽出することにより、低周波成分画像を生成する。ここで抽出される低周波成分は少なくとも、ある１つの周波数特性のもので良いが、好ましくは、周波数特性が異なる複数種類の低周波成分をそれぞれ抽出する。本実施形態では、２種類の周波数特性の異なる低周波成分画像を抽出する例を示す。
【００３０】
なお、ここでの低周波成分の抽出処理方法としては任意の方法を用いて構わないが、例えば、入力画像に対してガウシアンフィルタを適用することによって低周波成分の抽出を行うことができる。また、この時のフィルタサイズ（参照領域の広さ）を変えることにより、周波数特性が異なる低周波成分を抽出することができる。あるいは、入力画像に対して縮小処理を施した後に入力画像と同じ解像度に拡大することで、低周波成分を抽出することも可能である。この時、縮小するサイズを変更することで、周波数特性を変えることができる。
【００３１】
抽出する低周波成分の周波数特性は予め定めておけば良い。具体的には、処理に用いるフィルタのサイズや、あるいは画像の縮小を伴う場合は、その画像の縮小率や、あるいは縮小後の画像サイズを決めておけば良い。
【００３２】
なお本実施形態では、ここで抽出した低周波成分画像を用いて、注目画素に対して周辺色の影響を除去することにより、局所的に特異な色の特性を多く残したまま、大域的な色（色かぶりなど）を除去することを特徴とする。これにより、カラーバランスの影響を除去するとともに、目に比べて比較的大域的な目の周辺にある肌の色味が抑制され、赤目を代表とする局所的な色異常の検出を容易にすることができる。したがって、入力画像がカラー画像で複数のチャネルデータからなる場合には、各チャネル画像別に低周波成分を抽出し、複数のチャネルデータからなる低周波成分画像を作成する。
【００３３】
なお、本実施形態において入力画像の色を規定する色空間については特に制限はない。例えば、ＲＧＢやＹＣbＣr、あるいはＸＹＺ、Ｌ*ａ*ｂ*などであっても良い。以下では、色空間はＲＧＢであるとして説明する。
【００３４】
●入力画像の変換
続くステップＳ２０２では、ステップＳ２０１で抽出した低周波成分画像を用いて、入力画像を変換する。この画像変換ステップでは、入力画像の各画素について、その周囲の色を取り除く処理を行う。除去対象となる周囲の色としては、ステップＳ２０１で作成した低周波成分画像を用いる。具体的には、まず、入力画像、低周波画像および変換後画像のそれぞれの画素値を以下のように定義する。
【００３５】
Ｒsrc(x,y)：入力画像の位置(x,y)の画素値のＲ値
Ｇsrc(x,y)：入力画像の位置(x,y)の画素値のＧ値
Ｂsrc(x,y)：入力画像の位置(x,y)の画素値のＢ値
Ｒdim(x,y)：低周波画像の位置(x,y)の画素値のＲ値
Ｇdim(x,y)：低周波画像の位置(x,y)の画素値のＧ値
Ｂdim(x,y)：低周波画像の位置(x,y)の画素値のＢ値
Ｒdst(x,y)：変換後画像の位置(x,y)の画素値のＲ値
Ｇdst(x,y)：変換後画像の位置(x,y)の画素値のＧ値
Ｂdst(x,y)：変換後画像の位置(x,y)の画素値のＢ値
この場合、変換後画像の画素値は以下の式１によって求められる。
【００３６】
2009070103.tif 000003
【００３７】
なお、式１において、Ｒdim(x,y)，Ｇdim(x,y)，Ｂdim(x,y)が０となる場合があるが、その場合は０に代えて非常に小さな値を用いる等すれば良い。
【００３８】
式１による変換後画像であるＲdst(x,y)，Ｇdst(x,y)，Ｂdst(x,y)の値を用いて、後続するステップＳ２０３以降の処理を行っても良いが、処理の簡便化のため、これを８ビット整数などに変換することも有効である。そのような場合は、上記式１を例えば、以下の式２とするような変形も考えられる。
【００３９】
2009070103.tif 000004
【００４０】
式２による演算結果は実数となるが、その小数部を四捨五入するなどして整数化すれば良い。なお、式２による変換の結果、Ｒdst(x,y)，Ｇdst(x,y)，Ｂdst(x,y)が２５５を越える場合があるが、その場合は２５５となるようにクリッピングすれば良い。
【００４１】
式２によれば、例えばＲsrc(x,y)＝Ｒdim(x,y)の場合に、Ｒdst(x,y)が２５５／２（整数化すると四捨五入して１２８）となる。この変換によればすなわち、注目画素と周囲の色が一致する場合に、変換後の画素はＲＧＢ値が全て１２８となり、無彩色値となる。
【００４２】
また、あるいは、以下の式３に示すような変換も考えられる。
【００４３】
2009070103.tif 000005
【００４４】
式３において、Ｙ(x,y)は入力画像の位置(x,y)の画素の輝度値であり、以下の式４に示すＲＧＢ−ＹＣbＣr変換式に対して、Ｒsrc，Ｇsrc，Ｂsrcを適用して算出する。
【００４５】
2009070103.tif 000006
【００４６】
式３はすなわち、式２における２５５／２に代えて入力画像の輝度を用いたものである。また、Ｙ(x,y)を算出する際に、入力画像のＲsrc(x,y)，Ｇsrc(x,y)，Ｂsrc(x,y)に代えてＲdim(x,y)，Ｇdim(x,y)，Ｂdim(x,y)を用いるように変形することも可能である。
【００４７】
式３による変換結果においても、Ｒdst(x,y)，Ｇdst(x,y)，Ｂdst(x,y)が２５５を越える場合があるが、その場合はやはり２５５にクリッピングすれば良い。
【００４８】
またあるいは、以下の式５に示すような変換も考えられる。
【００４９】
2009070103.tif 000007
【００５０】
ただし、式５においてＹsrc(x,y)は、入力画像の位置(x,y)の輝度値であり、Ｙ'は式５のＲ',Ｇ',Ｂ'を用いて式４で算出した輝度値である。式５は、一旦、画素値をＲ'，Ｇ'，Ｂ'という値に変換した後、入力画像の輝度との差分（Ｙsrc(x,y)−Ｙ'）を加算する処理である。したがって概略入力画像の輝度値を保ちながら、周囲の色みを除去することが実現される。
【００５１】
式５による変換により、Ｒdst(x,y)，Ｇdst(x,y)，Ｂdst(x,y)は２５５を越えたり、あるいは負の値になる場合があるが、その場合はそれぞれ２５５，０となるようにクリッピングすれば良い。
【００５２】
なお、先に述べたように本実施形態では２種類の低周波成分画像を用いるが、このステップＳ２０２における変換に先立ち、２種類の低周波成分画像を合成して１つの低周波成分画像を得て、これを利用しても良い。すなわち、合成した低周波成分画像を用いて、上記式１〜式３、あるいは式５による変換を行えば、演算量を削減することができる。またあるいは、複数種類の低周波成分画像を用いて、それぞれ式１〜式３、あるいは式５による変換を施して複数の変換後画像を得た後にこれらを合成し、１つの変換後画像を得るようにしても良い。なお、低周波成分画像や変換後画像の合成方法としては任意で良いが、簡単には、各対応する画素の重み付け平均（特に簡単には単純平均）を取ることによって合成すれば良い。
【００５３】
また、本実施形態のステップＳ２０２における処理の本質は、低周波成分画像を用いて画像の大域的な色味を除去するよう画素値変換を行うことである。したがって、上述した式１〜式３、あるいは式５に例示した変換以外であっても、この本質を満足する変換であれば、本発明の意図するところである。
【００５４】
以下、本実施形態のステップＳ２０２では、ステップＳ２０１で得た２種類の低周波成分画像について、それらの平均により１つの合成低周波成分画像を得、該合成低周波成分画像を用いて式５による変換を行うことによって変換後画像を得る、として説明する。式５による変換によれば、変換後画像の各画素の輝度値は、入力画像の輝度値と概略同じであるが、各画素からは周囲の色味が除去されている。
【００５５】
●特定色検出
続くステップＳ２０３以降の処理では、ステップＳ２０２で作成した変換後画像に対して、赤目などの目の色異常に代表される特定色の画素を検出する特定色検出処理を行う。。
【００５６】
本実施形態では、まず変換後画像の各画素についてその画素値を判定することによって、赤目の候補となる画素を選択し、空間的な連続性に基づいてグループ化し、該グループの特性に応じて適切な赤目領域を検出する。
【００５７】
ステップＳ２０３では、ステップＳ２０２で作成した変換後画像の各画素について、その画素値を調べて特定色の候補画素を検出する。
【００５８】
特定色の候補画素検出方法としては、変換後画像の画素値に対して色範囲を設定し、各画素値がその範囲内にあるか否かを判定する。この色範囲をＲＧＢのままで設定しても良いが、好ましくは色相や彩度に相当する軸を持つ色空間に変換する。例えば、ＲＧＢを周知のＨＳＶに変換し、Ｈ（色相）やＳ（飽和度）、あるいはＶ（明るさ）に関する範囲を設定して判定を行う。本出願人が行った実験によれば、色相Ｈでは０°〜３０°、３００°〜３６０°程度の範囲において、良好な結果が得られている。ここで特定色が赤目である場合、この色相Ｈの範囲には人物の肌色に相当する画素が多く該当するが、ステップＳ２０２により変換後画像における肌色部分は無彩色に近づいている。したがって、飽和度Ｓとして適当な閾値を設け、無彩色に近い画素を除去することで、肌領域の大部分を除去できる。
【００５９】
あるいは、上記のような各色空間軸に沿った範囲ではなく、例えば平均的な赤目画素の画素値を予め定めておき、赤目画素値を中心として色空間上で円、もしくは楕円状の範囲を設定し、その範囲に入るか否かによる判定を行っても良い。
【００６０】
また、判定を行う色空間としてＨＳＶを用いる例を示したが、他にも例えば周知のＨＬＳ，ＹＣbＣr，ＣＩＥ Ｌ*ａ*ｂ*色空間等、他の色空間を用いても良い。また、この判定については単一の色空間で行わなければならない理由はないので、複数の色空間を用いた判定を行っても良い。
【００６１】
本実施形態では、ステップＳ２０３における判定結果を格納するために、ステップＳ２０２による変換後画像と同じ幅と高さのメモリ（判定マップ）を有し、各画素の判定結果を該判定マップに書き込むものとする。なお、判定マップは例えば、データ保存部１０２やＲＡＭ１０６に保持されるとする。本実施形態では、判定マップに格納されている値が０である場合には、その値と対応する画素はステップＳ２０３での判定結果が偽、すなわち赤目候補画素ではないとする。また、判定マップに格納されている値が１である場合には、その値と対応する画素はステップＳ２０３での判定結果が真、すなわち赤目候補画素である、とする。
【００６２】
ここで図３に、本実施形態における変換後画像と判定マップの関係を示す。同図において、３０１は変換後画像を示し、その内部の正方形領域が各画素に対応し、それぞれ変換後の画素値を有している。また３０２は判定マップを示し、やはり内部の正方形領域が各画素に対応している。変換後画像３０１と判定マップ３０２における画素位置は対応しており、すなわち図３において、変換後画像の画素３１１は、判定マップ３０２の画素位置３１２に対応している。図３に示す例では、判定マップ３０２の画素位置３１２に格納されている値は１、つまり真であるため、変換後画像３０１の画素３１１は赤目候補画素であることを示している。
【００６３】
続くステップＳ２０４では、ステップＳ２０３で作成した判定マップに対して、小領域除去処理および／または小欠損領域除去処理を行う。これは、後段のステップＳ２０５におけるグルーピング処理の処理数を減らすための前処理であり、判定マップにおける候補画素の分布に対し、空間的に孤立した候補画素を除去したり、あるいは空間的にまとまった候補領域の小欠損を埋める処理である。
【００６４】
小領域除去、あるいは小欠損領域除去の処理としては任意の方式を利用して良いが、本実施形態では周知のモルフォロジ変換を用いるとし、以下、これを説明する。
【００６５】
モルフォロジ変換には、例えば３×３の範囲で処理を行うとすると、中心の注目画素を除いた８画素のいずれかがＯＮであれば注目画素をＯＮにする拡張処理（Dilation）がある。逆に、８画素のいずれかがＯＦＦであれば注目画素をＯＦＦにする侵食処理（Erosion）がある。また、侵食処理を行った結果に対して拡張処理を行う処理をＯｐｅｎ処理、逆に拡張処理を行った結果に対して侵食処理を行う処理をＣｌｏｓｅ処理と呼ぶ。
【００６６】
これらの拡張処理や侵食処理は、そのままでは効果が強いため、本実施形態ではこれを以下のように変形して適用する。
【００６７】
・拡張処理は、近傍８画素の過半数がＯＮであれば注目画素をＯＮとし、それ以外の場合は元の値を保持する。
【００６８】
・侵食処理は、近傍８画素の過半数がＯＦＦであれば注目画素をＯＦＦとし、それ以外の場合は元の値を保持する。
【００６９】
図４は、本実施形態における変形モルフォロジ変換を説明するための図である。図４において、４００は判定マップにおける注目画素であり、４０１〜４０８はその近傍の８画素である。判定マップにおいては対応する画素が赤目候補であれば１が、そうでない場合には０が格納されているため、以下では１をＯＮ、０をＯＦＦとして処理を行う。
【００７０】
まず、拡張処理について説明する。拡張処理では、上述したように注目画素の近傍８画素のＯＮ／ＯＦＦを調べ、過半数がＯＮであれば注目画素をＯＮとし、そうでない場合には前の値を保持する。本実施形態の場合、ＯＮは１、ＯＦＦは０であるから、近傍８画素（４０１〜４０８）の値を加算し、得られる加算値が５以上である場合に、注目画素をＯＮ（すなわち１）に変更する。
【００７１】
続いて、侵食処理について説明する。侵食処理では、上述したように注目画素の近傍８画素のＯＮ／ＯＦＦを調べ、過半数がＯＦＦであれば注目画素をＯＦＦとし、そうでない場合には前の値を保持する。したがって、近傍８画素（４０１〜４０８）の値を加算し、得られる加算値が４以下である場合に、注目画素をＯＦＦ（すなわち０）に変更する。
【００７２】
ステップＳ２０４では、上記拡張処理、侵食処理、あるいはその両方を適当回数実行することによって、小領域、あるいは小欠損領域の削除を行う。なお、この実行回数は予め定めておけば良い。
【００７３】
続くステップＳ２０５では、ステップＳ２０４で小領域・小欠損領域を除去した判定マップにおいて、値がＯＮである画素について、空間的に連結しているものをグループ化することによって、候補画素グループを作成する。そのために、空間的に連結している画素に同一のラベルが付与されるようにラベル付けを行う。
【００７４】
本実施形態では、注目しているＯＮ画素の８近傍にＯＮ画素がある場合に、それらは連結しているものとする。なお、この連結判定は一例であって、例えば判定を上下左右の４近傍のみに限定しても良いし、他の定義であっても良い。
【００７５】
図５は、このラベリング処理を説明する図である。同図において、５０１は修正した判定マップの例を示し、白い正方形は判定結果がＯＮである画素、グレーの正方形は判定結果がＯＦＦである画素をそれぞれ表している。また、５０２は５０１に対するラベリング結果であり、ｘ座標５〜１０、ｙ座標２〜４にあるＯＮの連結領域にはラベルＡが、ｘ座標１３，１４、ｙ座標３，４にあるＯＮの連結領域には別のラベルＢが付与されている。なお、ラベリングの方法については任意である。
【００７６】
本実施形態では、ステップＳ２０５でのラベリング結果を格納するために、変換後画像と同じ幅と高さのメモリ（ＩＤマップ）を用意し、各画素のラベリング結果をそのメモリに書き込む。
【００７７】
続くステップＳ２０６では、ステップＳ２０５で決定したグループ化結果に対してさらに、グループ調整処理を行う。
【００７８】
図６は、ステップＳ２０６によるグループ調整処理の一例を示すフローチャートである。ステップＳ２０６では、各グループに対してこのグループ調整処理を施す。
【００７９】
まずステップＳ６０１において、グループ調整のための種画素を決定する。これは、ステップＳ６０２での領域成長処理の処理開始位置として用いるものであり、グループを代表する画素である。本実施形態では、調整前のグループの重心座標を求め、該グループにおいて、その重心座標に最も近い画素を種画素として選択する。
【００８０】
続くステップＳ６０２では、ステップＳ６０１で決定した種画素を起点として、周知の領域成長処理（リージョングロー）を実行する。領域成長処理においてはその処理を終了するために閾値が必要であるが、この閾値は予め定めておけば良い。あるいは領域の平均色や分散などに応じて、閾値を適応的に設定しても良い。
【００８１】
ステップＳ６０３は、ステップＳ６０２における領域成長処理の結果、種画素を起点として検出した領域をグループ情報として記録し、グループ画素を決定する。すなわち、ステップＳ２０５で用いたＩＤマップと同じ大きさのメモリを用意し、そこに調整したラベリング結果を書き込む。
【００８２】
続くステップＳ２０７では、候補画素グループのうち、最終的な色異常画素グループを決定する。このグループ決定においては、ステップＳ２０６で調整したグルーピングに対して絞込みを行い、最終的な赤目を構成する領域を決定する。絞込みの方法については、様々な方法が適用可能であるが、例えば本実施形態では、領域の面積（領域を構成する画素数）を求め、その値が面積閾値を越えたものを赤目を構成する領域として決定する。この面積閾値としては予め適切な値を設定しておけば良い。あるいは、入力画像、もしくは変換後画像の画素数に応じて適応的に決定しても良い。
【００８３】
またあるいは、面積による閾値処理ではなく、領域に対して円形度などを規定し、その円形度に応じて赤目領域を決定するようにしても良い。円形度の一例としては、領域に外接する矩形を設定し、その矩形に内接する円、もしくは楕円の面積を求め、それと領域の面積を比較する。領域が概略円もしくは楕円状になっている場合、領域の面積は円もしくは楕円の面積に近いが、そうでない場合には、領域の面積と円もしくは楕円の面積は違ってくることを利用して判定を行い、比較的円もしくは楕円に近い領域を選択すれば良い。  またあるいは、グループの代表色を決定し、その代表色を用いて判定するようにしても良い。代表色はグループに対応する入力画像もしくは変換後画像の画素値を参照して決定すればよく、例えば、画素の平均画素値を用いれば良い。
【００８４】
あるいは、上記面積やあるいは円形度、代表色に基づいて、尤もらしい順にグループを並び替えし、上位Ｎ個を候補として抽出するようにしてもよい。このＮとしては、所定の定数で良い。
【００８５】
また、あるいは複数の尺度を用いて赤目領域を判定するようにしても良い。これは例えば、上記判定基準に応じて、各判定基準毎に各グループの尤度（もっともらしさ）を算出し、各基準毎の尤度を合成してグループの尤度とする。尤度の合成としては、各尤度を足し合わせたり掛け合わせたりすることで実現できる。
【００８６】
またあるいは、変換後画像だけでなく入力画像も参照し、例えば入力画像の対応する画素も赤目らしい色であるか否かを判定する等により、さらなる絞込みを行うことも有効である。
【００８７】
以上説明したように本実施形態によれば、入力画像に対して低周波成分を抽出し、その低周波成分画像を注目画素の周辺色として除去することにより、局所的な特定色の画素の検出精度が向上する。すなわち、人物の撮影画像において瞳の色異常候補を適切かつ容易に検出することができる。
【００８８】
＜第２実施形態＞
以下、本発明に係る第２実施形態について説明する。
【００８９】
上述した第１実施形態に対し、第２実施形態ではさらに、顔あるいは目等の特定領域の情報を用いることによって、赤目領域の検出精度を向上させることを特徴とする。第１実施形態では、色異常画素グループを、その大きさ、円形度、あるいはグループの代表色に基づいて決定する例を示したが、第２実施形態ではさらに、顔あるいは目等の特定領域情報に基づいて赤目領域を決定する。
【００９０】
以下、第２実施形態においては、上述した第１実施形態と特に異なる部分についてのみ説明を行う。
【００９１】
第２実施形態では、図２のステップＳ２０７において、人物の顔がある領域を表す顔領域情報を用い、該顔領域内に存在する色異常画素グループを選択するように構成する。この時、第１実施形態と同様に、さらにグループ領域の面積、円形度、代表色などで絞り込みを行っても良い。
【００９２】
第２実施形態における顔領域情報入力（特定領域入力）は例えば、ユーザによって行うことができる。すなわち、処理対象画像を表示部１０３に表示することによってユーザに提示し、ユーザが入力部１０１を操作して顔領域を設定するように、ユーザインターフェースを構成すれば良い。なお、このユーザ入力は、ステップＳ２０７に先んじて行うのであれば、任意のタイミングで行っても良い。
【００９３】
また、好ましくは、周知の顔検出処理によって顔領域を自動的に検出すれば良い。顔検出処理としては任意の方法で構わないが、例えば特開2000-322588号公報に開示されている顔検出処理を用いればよい。この顔検出処理は、ユーザによる入力と同様に、ステップＳ２０７に先んじて行うのであれば、任意のタイミングで行っても良い。
【００９４】
特定領域として、顔領域ではなく、目の領域情報を用いるように構成することも可能である。すなわち、目の領域をユーザに指定させても良いし、目の領域を自動検出するように構成しても良い。目の領域検出としては任意の方法で構わないが、例えば特開2000-322588号公報に開示されている方法が適用可能である。
【００９５】
以上説明したように第２実施形態によれば、上述した第１実施形態に対してさらに、人物の顔や目の領域情報を検出条件として用いることにより、より精度の高い赤目検出を行うことができる。
【００９６】
＜第３実施形態＞
以下、本発明に係る第３実施形態について説明する。
【００９７】
上述した第２実施形態においては、第１実施形態の処理において色異常画素グループを検出する際に、顔あるいは目の特定領域情報を用いて色異常画素グループを決定する例を示した。第３実施形態においては、この色異常画素グループの検出対象となる画素を、顔あるいは目等の特定領域情報を用いて予め限定することを特徴とする。
【００９８】
以下、第３実施形態においては、上述した第１および第２実施形態と特に異なる部分についてのみ説明を行う。
【００９９】
図７は、第３実施形態における赤目領域検出処理を示すフローチャートである。なお、図７において図２と同様の処理を行うステップについては同一ステップ番号を付し、説明を省略する。
【０１００】
第３実施形態のステップＳ７０１では、顔、あるいは目の特定領域情報に従って、処理対象の画素を制限する。そのため、ステップＳ２０２で作成した変換後画像から、顔、あるいは目の特定領域情報に対応する部分領域を切り出し、該切り出した部分領域についてのみ、ステップＳ２０３以降の処理を行う。
【０１０１】
なお、顔、あるいは目の特定領域情報については、上述した第２実施形態と同様に、ユーザが入力するか、あるいは周知の検出処理により自動設定する。この特定領域設定は、ステップＳ７０１に先んじて行うのであれば、任意のタイミングで構わない。
【０１０２】
以上説明したように第３実施形態によれば、顔や目の特定領域情報を用いて処理対象画素を制限することにより、色異常候補画素の検出処理に係る演算量を削減することができる。すなわち、上述した第２実施形態と同様に、より精度の高い赤目検出を可能とするともに、処理の早い段階で処理対象画素を限定するために、処理に必要なメモリ量を削減できる、あるいは処理を高速化することができる。
【０１０３】
＜第４実施形態＞
以下、本発明に係る第４実施形態について説明する。
【０１０４】
上述した第１乃至第３実施形態では、抽出する低周波成分の周波数特性を予め定めておく例を示したが、第４実施形態においては、顔あるいは目等の特定領域の大きさに応じて、該周波数特性を適応的に決定することを特徴とする。
【０１０５】
以下、第４実施形態においては、上述した第１乃至第３実施形態と特に異なる部分についてのみ説明を行う。
【０１０６】
図８は、第４実施形態における赤目領域検出処理を示すフローチャートである。なお、図８において図２と同様の処理を行うステップについては同一ステップ番号を付し、説明を省略する。
【０１０７】
第４実施形態のステップＳ８０１では、顔、あるいは目等の特定領域情報に基づいて、ステップＳ２０１で抽出する低周波成分の周波数特性を決定する。例えば、与えられた顔、あるいは目等の特定領域情報に対して予め設定した比率（例えば２倍）の大きさのフィルタによるフィルタ処理を行い、低周波成分を抽出するように構成する。複数種の周波数特性の低周波成分を用いる場合には、この比率を、使用するフィルタの分を用意しておき、それぞれのフィルタサイズを計算すれば良い。
【０１０８】
特定領域情報としては、円形や矩形、任意の形状（マスク情報など）等、様々なものが考えられるが、例えば、特定領域に外接する矩形を調べ、その長辺と短辺を求めて大きさを決定することができる。長辺、もしくは短辺を特定領域の大きさとしても良いし、あるいは長辺と短辺の平均を求めて特定領域の大きさとしても良い。そして、決定した特定領域の大きさに対して、予め定めた比率を適用し、フィルタの大きさを決定する。
【０１０９】
あるいは、特定領域の大きさの、画像全体に対する比率に基づいて周波数特性を決定するように変形しても、それは本発明の意図することころである。
【０１１０】
なお、顔、あるいは目等の特定領域情報については、上述した第２および第３実施形態と同様に、ユーザが入力するか、あるいは周知の検出処理により自動設定する。この領域設定は、ステップＳ８０１に先んじて行うのであれば、任意のタイミングで構わない。
【０１１１】
続くステップＳ２０１では、ステップＳ８０１で決定したフィルタサイズに基づいて、低周波成分を抽出することになる。
【０１１２】
なお、顔や目の領域は１枚の画像中に複数あらわれる可能性があるが、その場合には、例えばその中の１つを選択して処理するように構成すれば良い。１つを選択する場合、最も重要であると推測される被写体の顔、もしくは目領域を選択することが好ましい。経験的に、重要な被写体は、画像のより中央に位置し、また、より大きく撮影されることから、大きな領域、あるいは画像の中央に近い領域、またあるいは大きさと位置の両方を勘案しながら、１つの領域を決定すれば良い。
【０１１３】
逆に、複数検出された領域について、大きさを平均するなどして１つの大きさを決定するような変形も考えられる。
【０１１４】
また、上述した第３実施形態に示したように、検出された領域ごとに処理を行う場合には、その領域ごとに周波数特性を決定し、適用することも可能である。
【０１１５】
以上説明したように第４実施形態によれば、顔あるいは目等の特定領域情報に基づいて、処理対象画像から抽出する低周波成分の周波数特性を適応的に決定する。これにより、画像全体に対する被写体の顔の大きさや、あるいは画像サイズの違いに関わらず、概略同等な赤目領域検出を行うことができる。
【０１１６】
＜第５実施形態＞
以下、本発明に係る第５実施形態について説明する。
【０１１７】
上述した第４実施形態では、顔、あるいは目等の特定領域の大きさに基づいて、抽出する低周波成分の周波数特性を設定する例を示した。第５実施形態では、特に複数種類の低周波成分を用いる場合に、それらの周波数特性を固定し、特定領域の大きさに基づいて、合成時の重み付け係数（合成係数）を変更することを特徴とする。
【０１１８】
以下、第５実施形態においては、上述した第１乃至第４実施形態と特に異なる部分についてのみ説明を行う。
【０１１９】
図９は、第５実施形態における赤目領域検出処理を示すフローチャートである。なお、図９において図２と同様の処理を行うステップについては同一ステップ番号を付し、説明を省略する。
【０１２０】
第５実施形態のステップＳ９０１では、顔、あるいは目等の特定領域の大きさに基づき、該特定領域が小さい場合には、高い周波数成分ほど重みが大きくなるように、合成係数を決定する。逆に、特定領域が大きい場合には、高い周波数成分ほど重みが小さくなるように、合成係数を決定する。なお、顔、もしくは目の領域が複数ある場合については、上述した第４実施形態と同様に、そのうちの１つを選択すれば良い。
【０１２１】
ステップＳ９０１で決定した合成係数は、低周波成分画像を合成する際、あるいは、それらに対応する変換後画像の合成の際に、重み付け平均の係数として用いられる。
【０１２２】
また、上述した第３実施形態に示したように、検出された領域ごとに処理を行う場合には、その領域ごとに合成係数を決定し、適用することも可能である。
【０１２３】
以上説明したように第５実施形態によれば、顔あるいは目等の特定領域情報に基づいて、処理対象画像から抽出した低周波成分画像の合成係数を適応的に決定する。これにより、検出する周波数特性を固定とした場合でも、画像全体に対する被写体の顔の大きさや、あるいは画像サイズの違いに関わらず、概略同等な赤目領域検出を行うことができる。特に、ステップＳ２０２の低周波成分抽出処理をハードウェアにより実装する場合等、抽出する低周波成分の周波数特性を動的に変更することが困難である場合に、第５実施形態は有効である。
【０１２４】
＜他の実施形態＞
以上、実施形態例を詳述したが、本発明は例えば、システム、装置、方法、プログラム若しくは記録媒体(記憶媒体)等としての実施態様をとることが可能である。具体的には、複数の機器（例えば、ホストコンピュータ、インタフェース機器、撮像装置、webアプリケーション等）から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１２５】
尚本発明は、前述した実施形態の機能を実現するソフトウェアプログラムを、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される。なお、この場合のプログラムとは、コンピュータ読取可能であり、実施形態において図に示したフローチャートに対応したプログラムである。
【０１２６】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１２７】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
【０１２８】
プログラムを供給するための記録媒体としては、以下に示す媒体がある。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD-ROM、CD-R、CD-RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD-ROM，DVD-R)などである。
【０１２９】
プログラムの供給方法としては、以下に示す方法も可能である。すなわち、クライアントコンピュータのブラウザからインターネットのホームページに接続し、そこから本発明のコンピュータプログラムそのもの(又は圧縮され自動インストール機能を含むファイル)をハードディスク等の記録媒体にダウンロードする。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【０１３０】
また、本発明のプログラムを暗号化してCD-ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせることも可能である。すなわち該ユーザは、その鍵情報を使用することによって暗号化されたプログラムを実行し、コンピュータにインストールさせることができる。
【０１３１】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１３２】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、実行されることによっても、前述した実施形態の機能が実現される。すなわち、該プログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行うことが可能である。
【図面の簡単な説明】
【０１３３】
【図１】本発明に係る一実施形態における画像処理装置の構成を示すブロック図である。
【図２】本実施形態における赤目領域検出処理を示すフローチャートである。
【図３】本実施形態における変換後画像と判定マップの関係を示す図である。
【図４】本実施形態における変形モルフォロジ変換を説明するための図である。
【図５】本実施形態におけるラベリング処理を説明するための図である。
【図６】本実施形態におけるグループ調整処理を示すフローチャートである。
【図７】第３実施形態における赤目領域検出処理を示すフローチャートである。
【図８】第４実施形態における赤目領域検出処理を示すフローチャートである。
【図９】第５実施形態における赤目領域検出処理を示すフローチャートである。
【図１】
2009070103.tif 000008
【図２】
2009070103.tif 000009
【図３】
2009070103.tif 000010
【図４】
2009070103.tif 000011
【図６】
2009070103.tif 000012
【図７】
2009070103.tif 000013
【図８】
2009070103.tif 000014
【図９】
2009070103.tif 000015
【図５】
2009070103.tif 000016