(57)【要約】【課題】目の内部に発生したハレーションの状態を正しく判定できる画像処理装置を提供する。【解決手段】顔画像の少なくとも一部を補正する画像処理装置であって、入力画像を取得する画像取得手段と、前記入力画像から、人間の目に対応する領域である瞳領域を抽出する領域抽出手段と、前記瞳領域において、輝度値が所定の閾値よりも高い画素を抽出する画素抽出手段と、前記画素抽出手段が行った抽出結果に基づいて、前記瞳領域内におけるハレーションの発生有無を判定する判定手段と、前記判定手段が行った判定結果に基づいて、前記瞳領域に対して、ハレーションを補正する処理を行う補正手段と、を有し、前記画素抽出手段は、前記瞳領域に含まれる画素の輝度分布の偏りに基づいて、前記所定の閾値を設定することを特徴とする。【選択図】図１
2015176301.tif 000002
【特許請求の範囲】
【請求項１】
顔画像の少なくとも一部を補正する画像処理装置であって、
入力画像を取得する画像取得手段と、
前記入力画像から、人間の目に対応する領域である瞳領域を抽出する領域抽出手段と、
前記瞳領域において、輝度値が所定の閾値よりも高い画素を抽出する画素抽出手段と、
前記画素抽出手段が行った抽出結果に基づいて、前記瞳領域内におけるハレーションの発生有無を判定する判定手段と、
前記判定手段が行った判定結果に基づいて、前記瞳領域に対して、ハレーションを補正する処理を行う補正手段と、
を有し、
前記画素抽出手段は、前記瞳領域に含まれる画素の輝度分布の偏りに基づいて、前記所定の閾値を設定する
ことを特徴とする、画像処理装置。
【請求項２】
前記判定手段は、前記画素抽出手段によって抽出された画素が、前記瞳領域内に所定の割合以上存在する場合に、前記瞳領域内においてハレーションが発生していると判定する
ことを特徴とする、請求項１に記載の画像処理装置。
【請求項３】
前記所定の閾値は、前記瞳領域に含まれる画素の輝度分布を低輝度クラスと高輝度クラスに分離する値である
ことを特徴とする、請求項１または２に記載の画像処理装置。
【請求項４】
前記判定手段は、前記瞳領域に含まれる画素の輝度分布における、クラス内分散とクラス間分散の比である分離度を算出し、前記分離度が最大となるような値に、前記所定の閾値を設定する
ことを特徴とする、請求項３に記載の画像処理装置。
【請求項５】
前記補正手段は、前記分離度が所定の値以下であり、かつ、前記瞳領域に含まれる画素の輝度値の平均が所定の値以上である場合に、前記判定手段が行った判定結果にかかわらず、ハレーションの補正処理を行う
ことを特徴とする、請求項４に記載の画像処理装置。
【請求項６】
前記補正手段は、前記分離度が所定の値以下であり、かつ、前記瞳領域に含まれる画素の輝度値の平均が所定の値以下である場合に、前記判定手段が行った判定結果にかかわらず、ハレーションの補正処理を行わない
ことを特徴とする、請求項４または５に記載の画像処理装置。
【請求項７】
前記補正手段は、瞳領域に対応する瞳画像を記憶しており、瞳領域にハレーションが発生した場合に、対応する瞳画像を対象の瞳領域に貼り付けることでハレーションの補正を行う
ことを特徴とする、請求項１から６のいずれかに記載の画像処理装置。
【請求項８】
前記補正手段は、前記瞳画像を、対象の瞳領域に適合する形状に変形したうえで前記瞳領域に貼り付ける
ことを特徴とする、請求項７に記載の画像処理装置。
【請求項９】
前記補正手段は、前記瞳画像を、対象の瞳領域に適合する色調に補正したうえで前記瞳領域に貼り付ける
ことを特徴とする、請求項７に記載の画像処理装置。
【請求項１０】
前記補正手段は、第一の瞳領域にハレーションが発生しており、かつ、前記第一の瞳領域と反対側の目における瞳領域である第二の瞳領域にハレーションが発生していない場合に、前記第二の瞳領域から取得した瞳画像を、前記第一の瞳領域に貼り付けることでハレーションの補正を行う
ことを特徴とする、請求項１から６のいずれかに記載の画像処理装置。
【請求項１１】
顔画像に発生したハレーションを補正する画像処理装置であって、
入力画像を取得する画像取得手段と、
前記入力画像から、人間の目に対応する領域である瞳領域を抽出する領域抽出手段と、
前記瞳領域内におけるハレーションの発生有無を判定する判定手段と、
前記瞳領域にハレーションが発生した場合に、対応する瞳画像を対象の瞳領域に貼り付けることでハレーションの補正を行う補正手段と、
を有することを特徴とする、画像処理装置。
【請求項１２】
顔画像の少なくとも一部を補正する画像処理装置が行う画像処理方法であって、
入力画像を取得する画像取得ステップと、
前記入力画像から、人間の目に対応する領域である瞳領域を抽出する領域抽出ステップと、
前記瞳領域において、輝度値が所定の閾値よりも高い画素を抽出する画素抽出ステップと、
前記画素抽出ステップにて行った抽出結果に基づいて、前記瞳領域内におけるハレーションの発生有無を判定する判定ステップと、
前記判定ステップにて行った判定結果に基づいて、前記瞳領域に対して、ハレーションを補正する処理を行う補正ステップと、
を含み、
前記判定ステップでは、前記瞳領域に含まれる画素の輝度分布の偏りに基づいて、前記所定の閾値を設定する
ことを特徴とする、画像処理方法。
【請求項１３】
顔画像の少なくとも一部を補正する画像処理装置に、
入力画像を取得する画像取得ステップと、
前記入力画像から、人間の目に対応する領域である瞳領域を抽出する領域抽出ステップと、
前記瞳領域において、輝度値が所定の閾値よりも高い画素を抽出する画素抽出ステップと、
前記画素抽出ステップにて行った抽出結果に基づいて、前記瞳領域内におけるハレーションの発生有無を判定する判定ステップと、
前記判定ステップにて行った判定結果に基づいて、前記瞳領域に対して、ハレーションを補正する処理を行う補正ステップと、
を実行させ、
前記判定ステップでは、前記瞳領域に含まれる画素の輝度分布の偏りに基づいて、前記所定の閾値を設定する
ことを特徴とする、画像処理プログラム。
【請求項１４】
請求項１３に記載の画像処理プログラムが記録された記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、輝度不良が発生した画像を補正する画像処理装置に関する。
【背景技術】
【０００２】
カメラ等の撮像装置によって、ストロボ光を照射して人物の顔を撮影した場合、ストロボの光に起因して、人物の瞳が赤く写ってしまう色調不良現象（赤目現象）が発生する。これに対応するため、赤目現象が発生した画像を補正し、本来の色調に修正する技術が数多く提案されている。例えば、特許文献１には、撮影した画像から赤目が発生した領域を検出し、当該領域に対して色調の補正を行うデジタルカメラが記載されている。
【０００３】
赤目現象とは別の現象として、ハレーションがある。ハレーションとは、ストロボが瞳に強く反射することによって、瞳が白飛びしてしまう現象である。ハレーションが発生すると、輝度の階調情報と虹彩内の模様情報が失われてしまうため、赤目補正と同様の処理では対応することができない。
【０００４】
ハレーションを補正するための発明として、例えば特許文献２には、赤目が発生した領域と、ハレーションが発生した領域を分けて抽出し、それぞれを異なる手法で補正する画像処理方法が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−２３５５３１号公報
【特許文献２】特許第４５３７１４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献２に記載の方法では、色調不良が発生している領域から、閾値以上の輝度値を持つ画素を抽出し、当該画素においてハレーションが発生していると判定している。
しかし、ハレーションの発生を固定の閾値で判定した場合、誤判定が発生しやすいという問題がある。すなわち、画像全体の明度が明るくなった場合、閾値以上の輝度値を持つ画素が増えるため、ハレーションが発生していないにもかかわらず、ハレーションが発生していると判定されてしまうおそれがある。逆も同様であり、画像全体が露出不足で暗い場合、ハレーションが発生しているにもかかわらず、輝度値が閾値を越えず、結果としてハレーションが発生していないと判定されてしまうおそれがある。
【０００７】
この問題は、画像の明暗だけでなく、撮影された人物の個人差によっても発生する。例えば、虹彩が青色などの明るい色である場合、虹彩が茶色などの暗い色である場合と比較して、画素の輝度値が高くなる。すなわち、ハレーションの状態が同一であっても、ハレーションが発生していると判定される確率が高くなってしまう。
【０００８】
本発明は上記の課題を考慮してなされたものであり、目の内部に発生したハレーションの状態を正しく判定できる画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
前述した課題を解決するために、本発明に係る画像処理装置は、
顔画像の少なくとも一部を補正する画像処理装置であって、入力画像を取得する画像取得手段と、前記入力画像から、人間の目に対応する領域である瞳領域を抽出する領域抽出
手段と、前記瞳領域において、輝度値が所定の閾値よりも高い画素を抽出する画素抽出手段と、前記画素抽出手段が行った抽出結果に基づいて、前記瞳領域内におけるハレーションの発生有無を判定する判定手段と、前記判定手段が行った判定結果に基づいて、前記瞳領域に対して、ハレーションを補正する処理を行う補正手段と、を有し、前記画素抽出手段は、前記瞳領域に含まれる画素の輝度分布の偏りに基づいて、前記所定の閾値を設定することを特徴とする。
【００１０】
本発明に係る画像処理装置は、入力画像から瞳領域を抽出し、当該瞳領域内におけるハレーションの発生有無を判定したうえで、ハレーションの補正を行う装置である。瞳領域とは、人の瞳に対応する領域であり、典型的には、瞳の中心点を中心座標とする円形領域であるが、これに限られない。
ハレーションの発生有無は、瞳領域内において、輝度値が所定の閾値よりも高い画素を抽出することで判定することができるが、本発明ではこれに加え、当該閾値を、瞳領域に含まれる画素の輝度分布の偏りに基づいて設定する。
【００１１】
例えば、分布が高輝度側に偏っている場合、閾値を高輝度側に設定し、分布が低輝度側に偏っている場合、閾値を低輝度側に設定する。また、輝度分布が多峰性を有している場合、すなわち高輝度クラスと低輝度クラスに分かれて分布している場合、閾値を、各クラスを分割するような値に設定してもよい。
かかる構成によると、ハレーションの補正において、画像の輝度分布の偏りに起因して発生する誤判定を抑制することができる。
【００１２】
また、前記判定手段は、前記画素抽出手段によって抽出された画素が、前記瞳領域内に所定の割合以上存在する場合に、前記瞳領域内においてハレーションが発生していると判定することを特徴としてもよい。
【００１３】
瞳領域の内部においてハレーションが発生している場合、瞳領域の内部にハイライトのみが存在する場合と比べて、輝度値が閾値よりも高い画素が多くなる。すなわち、瞳領域内における当該画素の割合を判定することで、ハレーションの発生有無を推定することができる。
【００１４】
また、前記所定の閾値は、前記瞳領域に含まれる画素の輝度分布を低輝度クラスと高輝度クラスに分離する値であることを特徴としてもよい。
【００１５】
ハレーションが発生した場合、輝度分布が高輝度側において突出する。すなわち、所定の閾値を、ハレーションに対応するクラスである高輝度クラスと、それ以外のクラスである低輝度クラスを分離するような値にすることで、ハレーションの判定精度を向上させることができる。クラスの分離は、任意の手法によって行うことができる。
【００１６】
また、前記判定手段は、前記瞳領域に含まれる画素の輝度分布における、クラス内分散とクラス間分散の比である分離度を算出し、前記分離度が最大となるような値に、前記所定の閾値を設定することを特徴としてもよい。
【００１７】
高輝度クラスと低輝度クラスとの分離は、判別分析法によって行うことが好ましい。具体的には、クラス内分散とクラス間分散の比を分離度として求め、分離度が最大となるような閾値を求める。このようにして求めた閾値は、各クラスを最もよく分離する値となる。
【００１８】
また、前記補正手段は、前記分離度が所定の値以下であり、かつ、前記瞳領域に含まれる画素の輝度値の平均が所定の値以上である場合に、前記判定手段が行った判定結果にか
かわらず、ハレーションの補正処理を行うことを特徴としてもよい。
また、前記補正手段は、前記分離度が所定の値以下であり、かつ、前記瞳領域に含まれる画素の輝度値の平均が所定の値以下である場合に、前記判定手段が行った判定結果にかかわらず、ハレーションの補正処理を行わないことを特徴としてもよい。
【００１９】
輝度分布の分離度が低いということは、瞳領域の内部において独立したハレーション領域が検出できないことを意味する。すなわち、補正すべきレベルのハレーションが発生していないか、あるいは、瞳領域全体がハレーションを起こしているかのいずれかである。
この二つは、瞳領域に含まれる画素の輝度値の平均を求めることで判別することができる。例えば、瞳領域に含まれる画素の輝度値の平均が所定の値よりも高い場合、瞳領域全体がハレーションを起こしていると推定できる。このような場合、判定手段が行った判定の結果にかかわらず、瞳領域に対してハレーションの補正処理を行うことが好ましい。また、瞳領域に含まれる画素の輝度値の平均が所定の値よりも低い場合、補正が必要なハレーションは発生していないと推定できる。このような場合、判定手段が行った判定の結果にかかわらず、瞳領域に対するハレーションの補正処理を行わないようにすることが好ましい。
このように構成することで、輝度分布の分離度が低い場合であっても、適切にハレーションの発生を検出し、補正を行うことができるようになる。
【００２０】
また、前記補正手段は、瞳領域に対応する瞳画像を記憶しており、瞳領域にハレーションが発生した場合に、対応する瞳画像を対象の瞳領域に貼り付けることでハレーションの補正を行うことを特徴としてもよい。
【００２１】
ハレーションの補正は、正常な状態の瞳画像を、対象の瞳領域に貼り付けることで行うことができる。
【００２２】
また、前記補正手段は、前記瞳画像を、対象の瞳領域に適合する形状に変形したうえで前記瞳領域に貼り付けることを特徴としてもよく、前記補正手段は、前記瞳画像を、対象の瞳領域に適合する色調に補正したうえで前記瞳領域に貼り付けることを特徴としてもよい。
【００２３】
このように、形状や色調を補正したうえで瞳画像を貼り付けることで、より自然な補正結果を得ることができる。
【００２４】
また、前記補正手段は、第一の瞳領域にハレーションが発生しており、かつ、前記第一の瞳領域と反対側の目における瞳領域である第二の瞳領域にハレーションが発生していない場合に、前記第二の瞳領域から取得した瞳画像を、前記第一の瞳領域に貼り付けることでハレーションの補正を行うことを特徴としてもよい。
【００２５】
このように、二つの目のうち、どちらか片方にのみハレーションが発生している場合、もう片方の瞳領域から正常な状態の瞳画像を取得することができる。
【００２６】
また、本発明の他の形態に係る画像処理装置は、
顔画像に発生したハレーションを補正する画像処理装置であって、入力画像を取得する画像取得手段と、前記入力画像から、人間の目に対応する領域である瞳領域を抽出する領域抽出手段と、前記瞳領域内におけるハレーションの発生有無を判定する判定手段と、前記瞳領域にハレーションが発生した場合に、対応する瞳画像を対象の瞳領域に貼り付けることでハレーションの補正を行う補正手段と、を有することを特徴とする。
【００２７】
かかる構成によると、違和感の少ないハレーション補正が可能な画像処理装置を提供す
ることができる。
【００２８】
なお、本発明は、上記手段の少なくとも一部を含む画像処理装置として特定することができる。また、本発明は、画像処理方法として特定することもできる。また、本発明は、コンピュータに上記画像処理方法を実行させるプログラムとして特定することもできる。上記処理や手段は、技術的な矛盾が生じない限りにおいて、自由に組み合わせて実施することができる。
【発明の効果】
【００２９】
本発明によれば、目の内部に発生したハレーションの状態を正しく判定できる画像処理装置を提供することができる。
【図面の簡単な説明】
【００３０】
【図１】実施形態に係る画像処理装置のシステム構成図である。
【図２】顔画像および輝度値ヒストグラムの例である。
【図３】露出不足状態における顔画像および輝度値ヒストグラムの例である。
【図４】露出過多状態における顔画像および輝度値ヒストグラムの例である。
【図５】判別分析法によって輝度分布を分離する方法を説明する図である。
【図６】正しくハレーション判定が行えない例を説明する図である。
【図７】正しくハレーション判定が行えない例を説明する第二の図である。
【図８】画像処理装置が行う処理のフローチャート図である。
【図９】顔および瞳領域の検出処理を詳細に説明するフローチャート図である。
【図１０】瞳の状態判定を行う処理を詳細に説明するフローチャート図である。
【図１１】赤目および金目のチェック処理を詳細に説明するフローチャート図である。
【図１２】ハレーションのチェック処理を詳細に説明するフローチャート図である。
【図１３】画像の補正処理を詳細に説明するフローチャート図である。
【発明を実施するための形態】
【００３１】
以下、本発明の好ましい実施形態について図面を参照しながら説明する。
本実施形態に係る画像処理装置は、画像に含まれる人の瞳に色調異常または輝度異常が発生していることを検出したうえで、当該瞳に対する補正を行う装置である。図１は、本実施形態に係る画像処理装置１０のシステム構成図である。
【００３２】
（システム構成）
画像処理装置１０は、画像取得部１１、瞳検出部１２、瞳状態判定部１３、補正部１４、入出力部１５から構成される。
【００３３】
画像取得部１１は、処理対象の画像を取得する手段であり、典型的には、固定ディスクドライブやフラッシュメモリといった記憶装置である。なお、画像取得部１１は、装置の外部から画像を取得する手段（例えば、インタフェース装置や無線通信装置）であってもよいし、レンズと撮像素子を介して画像を撮像する手段であってもよい。
【００３４】
瞳検出部１２は、画像取得部１１が取得した画像から、人間の瞳に対応する領域を抽出する手段である。具体的には、画像から人間の顔を検出し、両目が含まれる画像をクリッピングしたうえで、当該画像から目の位置を特定し、瞳の中心点を決定する。また、瞳の中心点を中心とする円形領域（以下、瞳領域）を抽出する。なお、本明細書において、瞳領域という語は、瞳孔の中心点を中心座標とした、所定の大きさを持つ領域を表す語として用いる。
【００３５】
瞳状態判定部１３は、瞳検出部１２が抽出した瞳領域に対して、その状態を判定する手段である。具体的には、赤目の発生有無、金目の発生有無、ハレーションの発生有無を判定する。詳細な判定方法については後述する。なお、金目とは、赤目と同様の原理によって、瞳が黄色に写ってしまう色調不良現象である。
【００３６】
補正部１４は、瞳状態判定部１３が行った判定結果に基づいて、赤目または金目、および、ハレーションの補正を行う手段である。なお、補正部１４が補正を行う対象の領域は、必ずしも瞳領域と同一でなくてもよい。例えば、瞳領域から、肌に対応する領域を削除した領域であってもよい。
【００３７】
また、入出力部１５は、ユーザが行った入力操作を受け付け、ユーザに対して情報を提示する手段である。具体的には、タッチパネルとその制御手段、液晶ディスプレイとその制御手段から構成される。タッチパネルおよび液晶ディスプレイは、本実施形態では一つのタッチパネルディスプレイからなる。
【００３８】
以上に説明した各手段の制御は、制御プログラムをＣＰＵなどの処理装置が実行することによって実現される。また、当該制御機能は、ＦＰＧＡ（Field Programmable Gate Array）やＡＳＩＣ（Application Specific Integrated Circuit）などによって実現されてもよいし、これらの組合せによって実現されてもよい。
【００３９】
（従来技術の問題点）
まず、従来技術の問題点について説明する。
図２（Ａ）に示した画像２０１は、画像取得部１１によって取得された人物画像のうち、目の周辺領域を切り取った画像の例である。符号２０２は、瞳に対応する領域（瞳領域）である。ここでは、瞳領域２０２の内部に、ストロボの反射に起因するハレーションが発生しているものとする。
【００４０】
図２（Ｂ）は、瞳領域２０２に含まれる画素の輝度値ヒストグラムである。画像２０１はＲＧＢ画像であるが、ここでは、説明を簡単にするために、画像が単一色であるものとしてヒストグラムを例示する。ヒストグラムの横軸は輝度値、縦軸は度数（画素数）である。
瞳領域にハレーションが発生しているか否かは、輝度の分布によって判断することができる。ハレーションが発生している場合、輝度分布が高輝度側において突出する。本例では、符号２０３で示した部分が、ハレーションに起因する輝度分布の突出部である。また、輝度分布が高輝度側において突出していることは、閾値を越える輝度値を持つ画素の割合で判断することができる。例えば、閾値２０４よりも輝度値が高い画素が、瞳領域２０２に含まれる画素のうち、所定の割合以上（例えば２０％以上）あった場合に、当該瞳領域にてハレーションが発生していると判定することができる。
【００４１】
ここで問題となるのが、輝度分布が特定の方向に偏っていた場合、正しくハレーションの判別が行えなくなるという点である。図３は、輝度分布が低輝度方向に偏っていた場合、すなわち、画像全体が露出不足の状態であった場合の例である。このような場合、輝度分布の突出している部分が低輝度側に移動するため、閾値２０４よりも輝度が高い画素の割合が減少してしまう。すなわち、ハレーションが発生しているにもかかわらず、ハレーションが発生していないと判定されてしまうおそれがある。
【００４２】
図４は、反対に、輝度分布が高輝度方向に偏っていた場合、すなわち、露出過多の状態であった場合の例である。このような場合、輝度分布が全体的に高輝度側に移動するため、閾値２０４よりも輝度が高い画素の割合が増加してしまう。すなわち、ハレーションが発生していないにもかかわらず、ハレーションが発生していると判定されてしまうおそれ
がある。
【００４３】
この問題は、露出の状態だけでなく、虹彩の色の差異によっても発生する。例えば、対象人物の虹彩が明るい色であった場合、暗い色であった場合と比較して、輝度値が高輝度方向にシフトする。すなわち、前述したのと同様の判定ミスが発生しうる。
このように、単一の閾値を用いた方法では、輝度分布の状態によって、正しくハレーションの発生を判別することができないケースが発生してしまう。
【００４４】
（閾値の決定方法）
そこで、本実施形態に係る画像処理装置では、瞳領域に含まれる画素の輝度分布の偏りに基づいて、閾値を自動的に設定するという手法をとった。以下、具体的な方法について説明する。
前述したように、ハレーションが発生している場合、輝度分布が高輝度側において突出する。すなわち、高輝度側にあるヒストグラムの峰と、低輝度側にあるヒストグラムの峰を分離するような値に閾値を設定すれば、正しくハレーションの発生を判別することができる。
【００４５】
図５を参照しながら説明する。ここで、輝度分布中に閾値ｔを設定し、閾値ｔよりも輝度値が低いクラスを低輝度クラス、閾値ｔよりも輝度値が高いクラスを高輝度クラスとする。また、低輝度クラスにおける画素数、輝度値の平均、輝度値の分散をそれぞれω1、
ｍ1、σ1とし、高輝度クラスにおける画素数、輝度値の平均、輝度値の分散をそれぞれω2、ｍ2、σ2とする。また、瞳領域に含まれる全画素の画素数、輝度値の平均、輝度値の
分散をそれぞれωt、ｍt、σtとする。
【００４６】
このように変数を定義すると、各クラスの分散を合計した値（クラス内分散）は、式１で表すことができる。また、各クラスの平均値の分散（クラス間分散）は、式２で表すことができる。また、全分散は、上記クラス内分散とクラス間分散の合計値となる。
【数１】
2015176301.tif 000003
【数２】
2015176301.tif 000004
【００４７】
クラス内分散は、小さいほどデータがまとまっていることを意味し、クラス間分散は、小さいほどクラスの中心同士が近いことを意味する。すなわち、これらの比を用いることで、低輝度クラスと高輝度クラスがどの程度分離しているか（分離度）を表すことができる。分離度は、式３で表すことができる。
【数３】
2015176301.tif 000005
なお、全分散は閾値ｔに関係なく一定であるため、クラス間分散が最大となる閾値ｔを求めれば、分離度が最も高くなる閾値ｔを求めることができる。さらに、クラス間分散の分母も閾値ｔに関係なく一定であるため、ω1ω2（ｍ1−ｍ2）2が最大になる閾値ｔを求
めれば、当該ｔの値が、低輝度クラスと高輝度クラスとを最も良く分離する値になる。このような方法を判別分析法と呼ぶ。
【００４８】
本実施形態に係る画像処理装置は、このようにして求めた閾値ｔを用いて、従来の手法と同じように、瞳領域に含まれる画素のうち、高輝度クラスに対応する画素の割合を算出し、ハレーションの判定を行う。このように、閾値ｔを動的に設定することで、瞳領域においてハレーションが発生しているか否かを正確に判定することができる。
【００４９】
（分離度が低い場合の処理）
以上に説明した処理は、輝度分布が、低輝度クラスと高輝度クラスに十分に分離していた場合に有効な処理である。一方、低輝度クラスと高輝度クラスが十分に分離していなかった場合、正しくハレーションの補正が行えないケースが存在する。
【００５０】
当該ケースにおける処理方法を説明する。
図６は、輝度が低い方向に分布が偏っていた場合の例である。この場合、ストロボの反射を表すクラスは符号６０１で表される。このレベルの反射は通常のハイライトであって、ハレーションではない。しかし、前述した方法では、閾値ｔが、符号６０２で示した位置など、望ましくない位置に設定されてしまうことがあり、この結果、瞳領域においてハレーションが発生しているという誤った判定がなされてしまうことがある。
【００５１】
図７は、輝度が高い方向に分布が偏っている場合の例である。瞳領域の全体がハレーションを起こしている場合、このように、高輝度方向に偏った輝度分布になる。しかし、前述した方法では、閾値ｔが、符号７０１で示した位置など、望ましくない位置に設定されてしまうことがあり、この結果、瞳領域においてハレーションは発生していないという誤った判定がなされてしまうことがある。
【００５２】
このように、クラスの分離度が低い値である場合、ハレーションの発生状態を正しく判定することができない場合がある。
【００５３】
そこで、本実施形態に係る画像処理装置は、閾値ｔを用いたハレーションの判定に例外を設け、当該判定結果に関わらず、ハレーションの補正を行わないパターンと、ハレーションの補正を行うパターンを定義する。
具体的には、瞳領域内の輝度分布の分離度が所定の値よりも低く、かつ、輝度値の平均値が所定の値よりも低い場合、「（判定結果に関わらず）ハレーションの補正を行わない」ものとする。クラスの分離度が十分に低く、かつ、輝度値の平均が十分に低い場合、そもそもハレーションが発生していないことが推定できるためである。
また、瞳領域内の輝度分布の分離度が所定の値よりも低く、かつ、輝度値の平均値が所定の値よりも高い場合、「（判定結果に関わらず）ハレーションの補正を行う」ものとする。クラスの分離度が十分に低く、かつ、輝度値の平均が十分に高い場合、瞳領域のほとんどでハレーションが発生していることが推定できるためである。
【００５４】
（処理フローチャート）
次に、以上に説明した機能を実現するための処理フローチャートについて説明する。
図８は、本実施形態に係る画像処理装置１０の処理フローチャートである。当該処理は、ユーザの操作（例えば、記憶された画像を読み込む操作）によって開始される。なお、本実施形態では、ハレーションの補正処理と同時に、赤目および金目を補正する処理を同時に行う。赤目および金目を補正する処理については、随時説明する。
【００５５】
まず、ステップＳ１１で、画像取得部１１が画像を取得する。本実施形態では、予め記憶されている画像を記憶装置から取得するが、通信手段や撮像手段を介して画像を取得してもよい。
次に、ステップＳ１２で、瞳検出部１２が、取得した画像から顔および瞳に対応する領域を抽出する。図９は、ステップＳ１２で行う処理の内容を詳細に示したフローチャート
である。ステップＳ１２１〜Ｓ１２４は、瞳検出部１２によって実行される。
【００５６】
まず、ステップＳ１２１で、画像に含まれる顔に対応する矩形領域（顔領域）を抽出する。画像から顔領域を抽出する方法は公知のものであるため、詳細な説明は省略する。
次に、ステップＳ１２２で、顔領域に含まれる目を検出する。具体的には、顔領域に対応するＲＧＢ画像を単一色の画像に変換し、目尻、目頭、目の中心に対応する特徴点を抽出する。本ステップにより、瞳を探索するための領域が特定される。なお、特徴点の抽出に失敗した場合、フィルタリングを行った後、マッチング処理によって目を検出するようにしてもよい。
次に、ステップＳ１２３で、画像の正規化を行う。具体的には、顔領域をクリッピングして、目を含む所定のサイズの矩形画像を生成する。この際、任意の補間手法を用いて解像度の変換を行ってもよい。また、顔領域が水平ではない場合、画像を回転する処理を行ってもよい。なお、ステップＳ１２３〜Ｓ１２４の処理は片目ずつ行う。
【００５７】
次に、ステップＳ１２４で、検出した目の中に位置する瞳の中心点を探索する。瞳の中心点を探索する方法は公知のものであるため、詳細な説明は省略する。例えば、３重フィルタによって候補点を抽出したうえで、最もスコアが高い候補点を瞳の中心点として決定してもよい。
瞳の中心点が決定されると、当該点を中心とする所定の大きさの円形領域を生成し、瞳領域とする。所定の大きさとは、固定の大きさであってもよいし、人物ごとに異なる大きさであってもよい。また、領域の形は正円であってもよいし、楕円であってもよい。また、他の形状であってもよい。
【００５８】
次に、ステップＳ１３で、瞳状態判定部１３が、瞳領域の状態を判定する。瞳に発生する色調不良および輝度不良には、「赤目」「金目」「ハレーション」の三種類が存在するため、本ステップでは、瞳の状態がどれに当てはまるかを判定する。図１０は、ステップＳ１３で行う処理の内容を詳細に示したフローチャートである。ステップＳ１３１〜Ｓ１２３は、瞳状態判定部１３によって実行される。なお、ステップＳ１３の処理は片目ずつ行う。
【００５９】
まず、ステップＳ１３１で、瞳領域に色調不良がみられるか、すなわち、赤目または金目が発生しているかをチェックする。図１１は、ステップＳ１３１で行う処理の内容を詳細に示したフローチャートである。
ステップＳ１３１１では、画像の色空間を、ＲＧＢ色空間からＬａｂ色空間へと変換する。
次に、ステップＳ１３１２で、瞳領域に含まれる各画素について、以下のいずれかに該当するかをそれぞれ判定する。
・θが３５０度〜５５度の範囲にあり、かつ、ｄが０．２以上（半径が１の場合）
・θが３１５度〜３５０度の範囲にあり、かつ、ｄが０．７以上（半径が１の場合）
なお、θおよびｄは、ＣＩＥ  Ｌａｂ表色系における色のパラメータである。すなわち、画素の色が赤色であるか否かを判定する。
【００６０】
次に、ステップＳ１３１３で、上記条件を満たす画素の数が、瞳領域に存在する画素数に対して所定の割合（例えば１０％以上）以上存在するか否かを判定し、存在する場合は、当該瞳領域において赤目が発生していると判定する（Ｓ１３１４）。また、存在しない場合は、当該瞳領域において赤目は発生していないと判定する（Ｓ１３１５）。
【００６１】
金目の判定も、赤目の判定と同様の方法で行うことができる。金目の判定を行う場合、色条件を、金色（黄色）に対応するものに置き換えればよい。例えば、以下のような条件を用いることができる。
・θが６５度〜１１５度の範囲にあり、かつ、ｄが０．２以上（半径が１の場合）
なお、本例では、画像の色空間をＬａｂに変換したうえで色相の判定を行ったが、他の方法を用いて色相の判定を行ってもよい。
【００６２】
ステップＳ１３２は、瞳領域にハレーションが発生しているかをチェックする処理である。図１２は、ステップＳ１３２で行う処理の内容を詳細に示したフローチャートである。ステップＳ１３２１〜Ｓ１３２６は、瞳状態判定部１３によって実行される。
【００６３】
まず、ステップＳ１３２１で、画像の色空間を、ＲＧＢ色空間からグレースケールへと変換する。
次に、ステップＳ１３２２で、瞳領域に含まれる画素の輝度値を高輝度クラスと低輝度クラスに分離するための閾値ｔを判別分析法によって算出し、その際の分離度を求める。この結果、得られた分離度が所定の閾値より高い場合、ハレーションの判定を行うため、処理をステップＳ１３２３に遷移させる。
【００６４】
ステップＳ１３２３では、ステップＳ１３２２で求めた閾値ｔを用いて、ハレーションの判定を行う。すなわち、閾値ｔを超える輝度を持つ画素の数の、全体に対する割合を算出し、得られた割合が所定の割合より大きい場合、ハレーションありと判定し（ステップＳ１３２５）、所定の割合より小さい場合、ハレーションなしと判定する（ステップＳ１３２６）。
【００６５】
ステップＳ１３２２で得られた分離度が所定の閾値より低い、すなわち、輝度分布が高輝度クラスと低輝度クラスに十分に分離していない場合、ハレーションが発生していないか、瞳領域のほとんどでハレーションが発生しているかのどちらかであるため、判別を行うため、処理をステップＳ１３２４に遷移させる。
ステップＳ１３２４では、瞳領域内の画素の輝度値の平均を取得し、平均値が閾値よりも高いか低いかを判定する。この結果、平均値が閾値よりも高い場合、瞳領域のほとんどでハレーションが発生していると推定できるため、ハレーションありと判定する（ステップＳ１３２５）。また、平均値が閾値よりも低い場合、ハレーションは発生していないと判定する（ステップＳ１３２６）。
【００６６】
図１０に戻って説明を続ける。赤目および金目のチェック、および、ハレーションのチェックを行った結果、少なくともいずれかに該当すると判断された場合、処理をステップＳ１４へ遷移させる（ステップＳ１３３）。どちらにも該当しないと判断された場合は、処理を終了させる。
【００６７】
図８に戻って説明を続ける。
ステップＳ１４では、補正部１４が、瞳領域に対して補正を行う。図１３は、ステップＳ１４で行う処理の内容を詳細に示したフローチャートである。ステップＳ１４１〜Ｓ１４６は、補正部１４によって実行される。なお、ステップＳ１４の処理は片目ずつ行う。
【００６８】
まず、ステップＳ１４１で、画像の正規化を行う。具体的には、顔領域をクリッピングして、瞳の中心座標を中心とした、所定のサイズの矩形画像を生成する。この際、任意の補間手法を用いて解像度の変換を行ってもよい。また、顔領域が水平ではない場合、画像を回転する処理を行ってもよい。
次に、ステップＳ１４２で、補正領域を生成する。補正領域とは、補正を行う対象の領域である。ここで生成される補正領域は、瞳の中心座標を中心とする、所定の大きさを持つ楕円領域である。補正領域は、瞳領域と同一の領域であってもよい。
【００６９】
ステップＳ１４２で生成した補正領域は、肌を含んでいる可能性があるため、ステップ
Ｓ１４３で、肌に対応する領域を除去し、領域を整形する。具体的には、Ｌａｂ色空間を用いて肌色領域を検出し、対応する領域を削除する。この際、色情報以外に、形状や配置についての情報を用いて、肌に対応する領域を削除してもよいし、ノイズを除去する処理を追加してもよい。また、異なる基準を用いて複数の処理を行い、処理結果を結合するようにしてもよい。本ステップを実行することで、目の内側に対応する領域のみが抽出された状態となる。
【００７０】
ステップＳ１４４では、補正対象によって処理を分岐させる。ステップＳ１３で判定を行った結果は、（１）赤目または金目、（２）ハレーション、（３）両方、の三パターンが考えられる。このうち、（１）については、色調の補正のみで対応することができるが、（２）については、ハレーションによって輝度情報と虹彩内の模様情報が失われているため、情報の補完（ハレーション補正）を行う必要がある。また、（３）についても、輝度情報が失われているため、ハレーション補正を優先して行う必要がある。
【００７１】
したがって、判定結果が上記（１）のみであった場合、赤目または金目の補正を行い（ステップＳ１４５）、判定結果が上記（２）または（３）であった場合、ハレーションの補正を行う（ステップＳ１４６）。
赤目または金目の補正は、色調を変更する既知の手法によって行うことができる。
【００７２】
ハレーションを補正する方法について説明する。
ハレーションを補正する方法の一つに、正常な状態の瞳の画像を、ハレーションが発生した領域にペーストするという方法がある。例えば、修正用の瞳画像を予め記憶させておき、当該瞳画像を、ハレーションが発生した領域に貼り込む。この際、拡大縮小によってサイズを適合させる処理を行ってもよいし、クリッピング処理を行ってもよい。また、瞳孔の色を適合させるための色調補正や、明度を適合させるための輝度補正を行ってもよい。
また、複数のサイズの瞳画像から、サイズが適合する瞳画像を選択するようにしてもよい。また、異なる瞳孔色を持つ複数の瞳画像から、瞳孔色が適合する瞳画像を選択するようにしてもよい。
なお、修正用の瞳画像は、予め多数の人物の顔画像から抽出した瞳（虹彩）領域画像から生成した、平均的な瞳の画像であることが好ましい。
また、片方の目にのみハレーションが発生している場合、ハレーションが発生していない側の目から瞳画像を取得するようにしてもよい。
【００７３】
このように、ハレーションの補正は、正常な状態の瞳の画像を、ハレーションが発生した領域にペーストすることで行うことができる。上記（３）のケースについては、画像のペーストを行うことで、色調異常が発生した領域も同時に補正することができる。なお、ハレーションの補正と、色調補正を独立して行うようにしてもよい。
【００７４】
以上に説明した実施形態では、瞳領域内における輝度値の分布の偏りに基づいて、ハレーション発生の有無を判定するための閾値を動的に設定する。これにより、輝度分布が偏っている場合であっても、ハレーションの発生を正確に判定することができる。また、輝度分布の分離度が低い場合は、閾値を用いずにハレーションの発生有無を推定する。これにより、閾値による判定が不適切なケースを除外することができ、判定精度をより向上させることができる。
【００７５】
（変形例）
上記の実施形態はあくまでも一例であって、本発明はその要旨を逸脱しない範囲内で適宜変更して実施しうる。
【００７６】
例えば、実施形態の説明では、記憶装置に記憶された画像に対して処理を行う画像処理装置を例に説明を行ったが、画像は必ずしも記憶装置から取得する必要はなく、例えば、装置の外部から有線または無線ネットワークを介して画像を取得してもよい。
また、内蔵されたカメラを介して画像を取得するようにしてもよい。本発明は、撮影した画像に対して処理を行う撮像装置として実施することもできる。
【００７７】
また、ハレーション補正や色調補正を行う際の、補正の度合いや方法を別途決定するようにしてもよい。例えば、赤目を補正する際の色相の変更量を、ステップＳ１３１の実行結果に基づいて決定してもよい。また、ステップＳ１３１で、人物が有する瞳孔の色を検出し、当該検出結果に基づいて、ハレーション補正を行う際に使用する瞳の部分画像を選択するようにしてもよい。
【００７８】
また、実施形態の説明では、片目ずつ処理を行う例について述べたが、両目を対象として処理を行ってもよい。また、片目にのみ赤目／金目やハレーションが発生している場合、反対側の瞳を参照することで、補正に関する情報（例えば瞳孔色や瞳の大きさなど）を取得してもよい。
【符号の説明】
【００７９】
１０  画像処理装置
１１  画像取得部
１２  瞳検出部
１３  瞳状態判定部
１４  補正部
１５  入出力部
【図１】
2015176301.tif 000006
【図２】
2015176301.tif 000007
【図３】
2015176301.tif 000008
【図４】
2015176301.tif 000009
【図５】
2015176301.tif 000010
【図６】
2015176301.tif 000011
【図７】
2015176301.tif 000012
【図８】
2015176301.tif 000013
【図９】
2015176301.tif 000014
【図１０】
2015176301.tif 000015
【図１１】
2015176301.tif 000016
【図１２】
2015176301.tif 000017
【図１３】
2015176301.tif 000018