(57)【特許請求の範囲】
【請求項１】
人物の目が含まれた画像である第一の画像を取得する画像取得手段と、
前記第一の画像のエッジを表す二値画像である第二の画像を生成する画像生成手段と、
前記第二の画像に含まれる画素を、エッジの有無に基づいて分類する分類手段と、
前記分類結果に基づいて、前記第一の画像中における、人物の瞳に対応する領域である瞳領域を生成する瞳領域生成手段と、を有し、
前記分類手段は、
前記第二の画像に含まれる画素のうち、エッジに対応しない画素を第一の画素タイプに、エッジに対応する画素を第二の画素タイプに分類する第一の分類手段と、
エッジに対応しない画素が、複数のブロックに分かれて存在する場合であって、面積が第一の閾値よりも小さいブロック、または、第一の画像の対応する領域における画素の平均輝度値が第二の閾値よりも高いブロックがある場合に、当該ブロックに含まれる画素を第二の画素タイプに分類し直す第二の分類手段と、からなり、
前記瞳領域生成手段は、前記第一の画素タイプに分類された画素の分布に基づいて、瞳領域を生成する
ことを特徴とする、画像処理装置。
【請求項２】
前記分類手段は、第二の画素タイプに分類された画素のブロックが、第一の画素タイプに分類された画素で囲まれている場合に、当該ブロックに含まれる画素を第一の画素タイプに分類し直す第三の分類手段をさらに含む
ことを特徴とする、請求項１に記載の画像処理装置。
【請求項３】
前記第一の閾値は、前記複数のブロックがそれぞれ有する面積のうち、最も大きい面積に対して所定の比率を乗算した値である
ことを特徴とする、請求項１または２に記載の画像処理装置。
【請求項４】
前記第二の閾値は、前記複数のブロックにそれぞれ対応する平均輝度値のうち、最も低い値に対して所定の値を加算した値である
ことを特徴とする、請求項１から３のいずれかに記載の画像処理装置。
【請求項５】
前記第一の画像の横方向をＸ軸、縦方向をＹ軸とし、前記第一の画素タイプに分類された画素で構成された領域を仮瞳領域とした場合に、
前記瞳領域生成手段は、
前記仮瞳領域のＹ座標の最大値および最小値の中間値を、瞳領域の中心のＹ座標とし、
前記仮瞳領域のＸ軸上の中心点であるＸ座標をＹ座標ごとに求め、得られたＸ座標の分布に基づいて、瞳領域の中心のＸ座標を決定する
ことを特徴とする、請求項１から４のいずれか１項に記載の画像処理装置。
【請求項６】
前記瞳領域生成手段は、
前記瞳領域の中心を通り、Ｘ軸と平行な軸における、前記仮瞳領域の径を、瞳領域の直径とする
ことを特徴とする、請求項５に記載の画像処理装置。
【請求項７】
瞼の境界位置を表す位置情報を取得する位置情報取得手段をさらに有し、
前記瞳領域生成手段は、前記位置情報に基づいて、生成した瞳領域の形状を補正する
ことを特徴とする、請求項１から６のいずれか１項に記載の画像処理装置。
【請求項８】
前記第一の分類手段は、目の中心点を中心とする所定の大きさの円領域を設定し、当該円領域の外にある画素を、無条件に第二の画素タイプに分類する
ことを特徴とする、請求項１から７のいずれか１項に記載の画像処理装置。
【請求項９】
人物の目が含まれた画像である第一の画像から、当該人物の瞳に対応する領域である瞳領域を抽出する画像処理装置が行う画像処理方法であって、
第一の画像を取得する画像取得ステップと、
前記第一の画像のエッジを表す二値画像である第二の画像を生成する画像生成ステップと、
前記第二の画像に含まれる画素を、エッジの有無に基づいて分類する分類ステップと、
前記分類結果に基づいて、前記第一の画像中における、人物の瞳に対応する領域である瞳領域を生成する瞳領域生成ステップと、を含み、
前記分類ステップは、
前記第二の画像に含まれる画素のうち、エッジに対応しない画素を第一の画素タイプに、エッジに対応する画素を第二の画素タイプに分類するステップと、
エッジに対応しない画素が、複数のブロックに分かれて存在する場合であって、面積が第一の閾値よりも小さいブロック、または、第一の画像の対応する領域における画素の平均輝度値が第二の閾値よりも高いブロックがある場合に、当該ブロックに含まれる画素を第二の画素タイプに分類し直すステップと、
を含み、
前記瞳領域生成ステップでは、前記第一の画素タイプに分類された画素の分布に基づいて、瞳領域を生成する
ことを特徴とする、画像処理方法。
【請求項１０】
請求項９に記載の画像処理方法の各ステップをコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、顔が含まれる画像から、人の瞳に対応する領域を抽出する画像処理技術に関する。
【背景技術】
【０００２】
近年、デジタルカメラ等を用いて撮影された、人の顔が含まれる画像（顔画像）を自動的に補正する技術が普及し始めている。特に、顔画像から瞳を検出することで、例えば、ストロボの光に起因して、人物の瞳が赤く写ってしまう色調不良現象を補正したり、瞳を大きく補正することで見栄えを向上させたりするといった補正が可能になる。
【０００３】
顔画像から、瞳が存在する領域（瞳領域）を検出するための技術として、例えば、特許文献１に記載の画像処理装置がある。当該画像処理装置では、顔画像の輝度勾配からエッジ点を求め、瞳の輪郭を表す楕円を特定している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１９０３５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の方法では、顔画像の縦方向のエッジを抽出することで瞳の境界を特定している。しかし、このような方法では、瞳の境界以外にエッジが存在する場合に、誤検出を招きやすいという問題がある。例えば、瞳の中にキャッチライトが存在するような場合、正確に瞳領域のみを抽出できないケースが発生する。
【０００６】
本発明は上記の課題を考慮してなされたものであり、顔画像から瞳に対応する領域を抽出する画像処理装置において、精度を向上させる技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る画像処理装置は、
人物の目が含まれた画像である第一の画像を取得する画像取得手段と、前記第一の画像のエッジを表す二値画像である第二の画像を生成する画像生成手段と、前記第二の画像に含まれる画素を、エッジの有無に基づいて分類する分類手段と、前記分類結果に基づいて、前記第一の画像中における、人物の瞳に対応する領域である瞳領域を生成する瞳領域生成手段と、を有し、前記分類手段は、前記第二の画像において同一の値を持つ画素が複数のブロックに分かれて存在する場合に、当該ブロックの面積、または、当該ブロックに対応する第一の画像中の画素の輝度値にさらに基づいて、画素の分類を行うことを特徴とする。
【０００８】
本発明に係る画像処理装置は、取得した顔画像から瞳領域を抽出する装置である。瞳領域とは、人の瞳（白目以外の虹彩および瞳孔）が含まれる領域であり、典型的には、瞳の中心点を中心座標とする円形の領域である。
瞳領域の抽出は、入力画像である第一の画像のエッジを抽出し、二値化した結果の画像（第二の画像）に基づいて行う。第二の画像は、エッジに対応しない画素と、エッジに対応する画素からなる二値画像である。瞳の境界にはエッジが存在し、瞳の内部にはエッジが存在しないため、瞳領域を抽出するため、エッジの有無に基づいて画素を分類する。
【０００９】
ただし、エッジに対応しない画素は、瞳領域の外側にも存在するため、単純にエッジのみに基づいて分類を行った場合、瞳領域以外の領域も抽出されてしまい、正しく瞳領域のみを抽出することができない。
そこで、本発明に係る画像処理装置は、第二の画像において同一の値を持つ画素が、複数のブロック（固まり）に分かれて存在する場合に、当該ブロックの面積や、当該ブロックに対応する第一の画像中の画素の輝度値にさらに基づいて、画素の分類を行う。
かかる構成によると、不要なエッジ情報に影響されることなく、精度良く瞳領域のみを抽出することができる。
【００１０】
また、前記分類手段は、前記第二の画像に含まれる画素のうち、エッジに対応しない画素を第一の画素タイプに、エッジに対応する画素を第二の画素タイプに分類する第一の分類手段と、エッジに対応しない画素が、複数のブロックに分かれて存在する場合であって、面積が第一の閾値よりも小さいブロック、または、第一の画像の対応する領域における画素の平均輝度値が第二の閾値よりも高いブロックがある場合に、当該ブロックに含まれる画素を第二の画素タイプに分類し直す第二の分類手段と、からなり、前記瞳領域生成手段は、前記第一の画素タイプに分類された画素の分布に基づいて、瞳領域を生成することを特徴としてもよい。
【００１１】
このように、第一の画素タイプとして分類された画素からなるブロックの面積が、想定される瞳領域の面積よりも十分に小さい場合、あるいは、第一の画像の対応する領域における画素の平均輝度が、想定される瞳領域内の輝度よりも十分に大きい場合、当該ブロックに含まれる画素は、瞳に対応する画素ではないことが想定される。そこで、このような画素を第二の画素タイプに分類し直すことで、精度を向上させることができる。
【００１２】
また、前記分類手段は、第二の画素タイプに分類された画素のブロックが、第一の画素タイプに分類された画素で囲まれている場合に、当該ブロックに含まれる画素を第一の画素タイプに分類し直す第三の分類手段をさらに含むことを特徴としてもよい。
【００１３】
例えば、キャッチライト（ハイライト）が瞳の内側に存在するような場合など、エッジに対応する画素が、瞳領域の内側に存在する場合がある。そこで、エッジに対応する画素が、エッジに対応しない画素によって囲まれていた場合、当該画素の分類結果を反転させる。これにより、瞳の内側に存在するエッジ情報を削除することができる。
【００１４】
また、前記第一の閾値は、前記複数のブロックがそれぞれ有する面積のうち、最も大きい面積に対して所定の比率を乗算した値であることを特徴としてもよい。
また、前記第二の閾値は、前記複数のブロックにそれぞれ対応する平均輝度値のうち、最も低い値に対して所定の値を加算した値であることを特徴としてもよい。
【００１５】
ブロックが有する面積がより小さくなるほど、また、平均輝度値がより大きくなるほど、当該ブロックが瞳に対応するブロックである可能性は小さくなる。そこで、複数ブロックにおける面積の最大値と、平均輝度値の最低値を基準として閾値を設定し、大小を判定することで、瞳である確率が低い領域をフィルタリングすることができる。
【００１６】
また、前記第一の画像の横方向をＸ軸、縦方向をＹ軸とし、前記第一の画素タイプに分類された画素で構成された領域を仮瞳領域とした場合に、前記瞳領域生成手段は、前記仮瞳領域のＹ座標の最大値および最小値の中間値を、瞳領域の中心のＹ座標とし、前記仮瞳領域のＸ軸上の中心点であるＸ座標をＹ座標ごとに求め、得られたＸ座標の分布に基づいて、瞳領域の中心のＸ座標を決定することを特徴としてもよい。
【００１７】
第一の画素タイプに分類された画素で構成された領域（仮瞳領域）は、瞳を包含すると
想定される領域となる。しかし、瞳と瞼との境界など、輝度値が大きくなく、明確なエッジが存在しない箇所が瞳の周辺にある場合、瞳以外の領域が仮瞳領域に含まれてしまうことがある。このような場合、仮瞳領域が円形ではなく、一部が突出したいびつな形状となる。
そこで、瞳領域生成手段が、仮瞳領域の形状に基づいて、瞳領域の中心位置を特定する。
具体的には、仮瞳領域のＹ座標の最大値および最小値の中間値を、瞳領域の中心のＹ座標とする。Ｙ軸方向の大きさについては、仮瞳領域と瞳領域はほぼ一致するため、中間の座標を用いることができる。
一方で、瞼の存在により、仮瞳領域は左右方向に突出する傾向がある。そこで、仮瞳領域のＸ軸方向の中心点を、Ｙ座標ごとに求め、得られたＸ座標の分布に基づいて、瞳領域の中心のＸ座標を決定する。これにより、仮瞳領域がいびつな形状であっても、本来の瞳領域の位置を推定することができる。
【００１８】
また、前記瞳領域生成手段は、前記瞳領域の中心を通り、Ｘ軸と平行な軸における、前記仮瞳領域の径を、瞳領域の直径とすることを特徴としてもよい。
係る構成によると、瞳領域の直径を精度よく取得することができる。
【００１９】
また、本発明に係る画像処理装置は、瞼の境界位置を表す位置情報を取得する位置情報取得手段をさらに有し、前記瞳領域生成手段は、前記位置情報に基づいて、生成した瞳領域の形状を補正することを特徴としてもよい。
【００２０】
人の瞳は、瞼に隠れることがあるため、生成した瞳領域をそのまま用いて他の処理を行った場合、不自然な画像となる場合がある。これを防ぐため、瞼の位置を表す情報を取得したうえで、瞳領域の形状を補正するようにしてもよい。例えば、瞼によって隠れる領域を削除してもよい。これにより、瞳に対する自然な画像処理を行うことが可能になる。
【００２１】
また、前記第一の分類手段は、目の中心点を中心とする所定の大きさの円領域を設定し、当該円領域の外にある画素を、無条件に第二の画素タイプに分類することを特徴としてもよい。
【００２２】
分類手段が設定する円領域とは、瞳を内包すると推定される領域である。このように構成することで、明らかに瞳が存在しない領域に対する処理を省くことができ、処理を高速化することができる。
【００２３】
なお、本発明は、上記手段の少なくとも一部を含む画像処理装置として特定することができる。また、本発明は、上記画像処理装置が行う画像処理方法として特定することもできる。また、本発明は、コンピュータに上記画像処理方法を実行させるプログラムとして特定することもできる。上記処理や手段は、技術的な矛盾が生じない限りにおいて、自由に組み合わせて実施することができる。
【発明の効果】
【００２４】
本発明によれば、顔画像から瞳に対応する領域を抽出する画像処理装置において、精度を向上させることができる。
【図面の簡単な説明】
【００２５】
【図１】実施形態に係る画像処理装置のシステム構成図である。
【図２】画像処理装置が行う処理のフローチャートである。
【図３】第一の画像を生成する処理を詳細に説明するフローチャートである。
【図４】第一の画像および第二の画像の例である。
【図５】瞳領域を生成する処理を詳細に説明するフローチャートである。
【図６】ノイズ除去処理を行う過程を説明する図である。
【図７】瞳領域を特定する過程を説明する図である。
【図８】瞳領域を特定する過程を説明する図である。
【図９】瞳領域を特定する過程を説明する図である。
【図１０】瞼の位置によって瞳領域を補正する例を示した図である。
【発明を実施するための形態】
【００２６】
（第一の実施形態）
以下、本発明の好ましい実施形態について図面を参照しながら説明する。
本実施形態に係る画像処理装置は、顔が含まれる画像から、人の瞳に対応する領域である瞳領域を抽出し、当該瞳領域に対して補正を行う装置である。図１は、本実施形態に係る画像処理装置１０のシステム構成図である。
【００２７】
<システム構成>
本実施形態に係る画像処理装置１０は、画像取得部１１、瞳検出部１２、処理画像生成部１３、瞳領域生成部１４、画像補正部１５から構成される。
【００２８】
画像取得部１１は、処理対象の画像（人間の顔を含む画像。以下、顔画像）を取得する手段であり、典型的には、固定ディスクドライブやフラッシュメモリといった記憶装置である。なお、画像取得部１１は、装置の外部から画像を取得する手段（例えば、インタフェース装置や無線通信装置）であってもよいし、レンズと撮像素子を介して画像を撮像する手段であってもよい。また、処理対象の画像は、動画を構成する各フレームに対応する画像であってもよい。
【００２９】
瞳検出部１２は、画像取得部１１が取得した顔画像から、人間の目に対応する領域を抽出する手段である。具体的には、顔画像から人間の目に対応する特徴点を検出し、目が存在する領域を特定したうえで、左右のいずれかの目が含まれる画像をクリッピングする。検出する特徴点は、瞼の境界を表す点や、目の中心点であることが好ましい。
【００３０】
処理画像生成部１３は、瞳検出部１２がクリッピングした画像に対して、エッジを抽出し、得られた画像を二値化する手段である。以降、瞳検出部１２がクリッピングを行った後の画像を第一の画像、処理画像生成部１３が生成した画像を第二の画像と称する。
【００３１】
瞳領域生成部１４は、第一の画像と、第二の画像に基づいて、人の瞳に対応する領域である瞳領域を生成する手段である。具体的な処理方法については後述する。
【００３２】
画像補正部１５は、瞳領域生成部１４が生成した瞳領域を用いて、顔画像に対する補正を行う手段である。画像補正部１５が行う補正は、瞳に対して補正を行うものであれば、どのようなものであってもよい。例えば、瞳にカラーコンタクトを合成する補正、瞳にキャッチライトを入れる補正、強いキャッチライトを除去ないし低減する補正、瞳のコントラストを強調する補正などであるが、これらに限られない。
【００３３】
なお、以上に説明した各手段は、専用に設計されたハードウェアによって実現されてもよいし、ソフトウェアモジュールによって実現されてもよい。また、ＦＰＧＡ（Field Programmable Gate Array）やＡＳＩＣ（Application Specific Integrated Circuit）などによって実現されてもよいし、これらの組合せによって実現されてもよい。
前述した手段がソフトウェアとして構成される場合、補助記憶装置に記憶されたプログラムが主記憶装置にロードされ、ＣＰＵによって実行されることによって各手段が機能する。（ＣＰＵ、補助記憶装置、主記憶装置はいずれも不図示）
また、プログラムを実行する手段は、ＣＰＵに限られず、ＩＳＰ（Image Signal Processor）やＤＳＰ（Digital Signal Processor）、ＧＰＵ（Graphics Processing Unit）などであってもよい。
【００３４】
次に、取得した顔画像から瞳領域を抽出し、当該瞳領域に対して補正を行う処理を、画像処理装置１０が行う処理フローチャートである図２を参照しながら順番に説明する。
【００３５】
まず、画像取得部１１が顔画像を取得する（ステップＳ１１）。本実施形態では、予め記憶されている顔画像を記憶装置から取得するものとするが、通信手段や撮像手段を介して顔画像を取得してもよい。
【００３６】
次に、瞳検出部１２が、取得した顔画像から、目に対応する領域を抽出し、クリッピングすることで第一の画像を生成する（ステップＳ１２）。図３は、ステップＳ１２で行う処理の内容を詳細に示したフローチャートである。
【００３７】
まず、ステップＳ１２１で、画像に含まれる顔に対応する矩形領域（顔領域）を抽出する。画像から顔領域を抽出する方法は公知であるため、詳細な説明は省略する。
次に、ステップＳ１２２で、顔領域に含まれる目を検出する。具体的には、目尻、目頭、目の中心などに対応する特徴点を、既知の方法によって検出する。なお、特徴点の検出に失敗した場合、フィルタリングを行った後、マッチング処理によって目を検出するようにしてもよい。
【００３８】
次に、ステップＳ１２３で、画像の正規化を行う。具体的には、顔領域をクリッピングして、目の中心点を中心とする所定のサイズの矩形画像を生成する。この際、任意の補間手法を用いて解像度の変換を行ってもよい。また、顔画像に含まれる顔が水平ではない場合、アフィン変換などによって、顔画像を回転する処理を行ったのちにクリッピングを行ってもよい。顔が水平であるか否かは、左右の目の中心点を結ぶ直線の傾きによって判定することができる。
【００３９】
本ステップで生成される画像が、第一の画像である。なお、第一の画像は、カラー情報を含まない画像である。例えば、顔画像の色空間がＹＵＶである場合、色相に関する成分を削除し、輝度成分のみを用いる。図４（Ａ）に示した画像４０１は、第一の画像の例である。なお、本例では、人物の右目のみを処理対象とするが、両目を処理対象とする場合、ステップＳ１２３以降、本明細書によって説明する処理を繰り返せばよい。
【００４０】
次に、処理画像生成部１３が、第一の画像に基づいて、第二の画像を生成する（ステップＳ１３）。
ステップＳ１３では、まず、第一の画像に対して、エッジを抽出するフィルタを適用する。フィルタは、例えば、縦横の二方向に対して適用されるＳｏｂｅｌフィルタなどを好適に用いることができる。
次に、得られた画像を二値化する。この結果、第一の画像のエッジを表す二値画像（第二の画像）を得ることができる。なお、二値化を行う際の閾値は、全体の画素の２０％〜４０％が、高輝度側に分類されるような値であることが好ましい。図４（Ｂ）に示した画像４０２は、第二の画像の例である。
【００４１】
次に、瞳領域生成部１４が、第一の画像および第二の画像に基づいて、瞳領域を生成する（ステップＳ１４）。図５は、ステップＳ１４で行う処理の内容を詳細に示したフローチャートである。
【００４２】
まず、ステップＳ１４１で、処理対象の領域（以下、処理対象領域）を生成する。本実
施形態では、目の中心点を中心とする、所定の直径を有する円領域を処理対象領域（図６（Ａ）に示した符号６０１）とする。なお、所定の直径とは、左右の目の中心を結ぶ距離の１５％〜３０％程度であることが好ましい。
【００４３】
ステップＳ１４２〜Ｓ１４６は、第二の画像のノイズを除去するステップである。
まず、ステップＳ１４２で、第二の画像が有する画素のうち、エッジを表さない画素を第一の画素タイプに、エッジを表す画素を第二の画素タイプに分類する。また、処理対象領域の外側にある画素については、無条件で第二の画素タイプに分類する。
図６（Ｂ）に示した画像６０２では、第一の画素タイプに分類された画素（すなわちエッジに対応しない画素）を白色で、第二の画素タイプに分類された画素（すなわちエッジに対応する画素）を黒色で表している。
【００４４】
本実施形態に係る画像処理装置は、画素の分類結果（すなわちエッジの有無）に基づいて、瞳が存在する領域を推定する。しかし、エッジの有無によってのみ分類を行うと、瞳とは無関係の場所が含まれてしまうケースが発生する。そこで、本実施形態では、ステップＳ１４３〜Ｓ１４５の処理を行うことで、ノイズを除去する。
【００４５】
まず、第一の画素タイプに分類された画素に対して、４近傍によるラベリングを行う（ステップＳ１４３）。すなわち、ある画素が第一の画素タイプに分類されていた場合であって、上下左右の４画素が共に第一の画素タイプに分類されていた場合、対応する画素に同一のラベルを付与する。これにより、複数のブロックに分かれて存在する、第一の画素タイプに分類された画素の集まりごとに、それぞれ異なるラベルが付与される。
なお、ラベリングの方法は４近傍に限られず、８近傍など、他の方法であってもよい。
【００４６】
次に、面積を判定基準としたノイズ除去を行う（ステップＳ１４４）。
まず、ラベリングされた各ブロックの面積をラベルごとに算出し、最大面積を求める。そして、面積が、当該最大面積のｎ％以下であるブロックについては、含まれる画素を第二の画素タイプに分類し直す。これにより、細かなノイズを除去することができる。なお、ｎの値は、５〜３０であることが好ましい。
【００４７】
次に、輝度を判定基準としたノイズ除去を行う（ステップＳ１４５）。
まず、ラベリングされた各ブロックについて、第一の画像の対応する領域における画素の平均輝度値を取得し、その中から最も低い値（最低平均輝度値）を求める。
そして、平均輝度値が、最低平均輝度値にｍを加えた値よりも高いブロックについては、含まれる画素を第二の画素タイプに分類し直す。なお、輝度値が２５６階調である場合、ｍは２０〜６０であることが好ましい。
【００４８】
例えば、輝度値が２５６階調で表される場合であって、平均輝度値の最低が２０、ｍの値が３０であった場合、平均輝度値が５０よりも大きいブロックについては、含まれる全ての画素を第二の画素タイプに分類し直す。
これにより、瞳以外の領域であって、エッジが存在しない領域（例えば、白目に対応する領域や、肌に対応する領域など）を除去することができる。
画像６０２に対して、以上に説明した処理を行った後の画像が、図６（Ｃ）に示した画像６０３である。
【００４９】
ここまでに説明したステップを実行することで、白目や肌に対応する領域や、ノイズに起因する領域を除去することができる。
一方で、画像６０３を見てわかるように、瞳の内部にキャッチライトが存在する場合、エッジが検出されてしまうため、対応する部分の画素が第二の画素タイプに分類されてしまう。そこで、ステップＳ１４６では、第一の画素タイプに分類された画素に囲まれて存
在する、第二の画素タイプに分類された画素のブロックを検出し、このようなブロックがある場合に、当該ブロックに含まれる画素を第一の画素タイプに分類し直す。これにより、瞳の中に存在するエッジ情報に影響されることなく、第一の画素タイプを分類することができる。
【００５０】
なお、本例では、第二の画素タイプに分類された画素が、第一の画素タイプに分類された画素に完全に囲まれていた場合にのみ再分類を行ったが、例えば、第二の画素タイプに分類された画素が極端な凸形状をなしているなど、瞳領域として不自然な形状をしていた場合、当該突出した部分に対応する画素のみを第一の画素タイプに再分類するようにしてもよい。
【００５１】
画像６０３に対して、ステップＳ１４６の処理を行った後の画像が、図６（Ｄ）に示した画像６０４である。以下、第一の画素タイプに分類された画素によって構成された領域（画像６０４に示した白色の領域）を、仮瞳領域と称する。
なお、画像６０４では、仮瞳領域の境界に細かな凹凸があるが、スムージング処理などを行うことで、当該凹凸を除去するようにしてもよい。
【００５２】
画像６０４からわかるように、仮瞳領域は、瞳に対応する円形の領域と、瞼に対応する三日月形状の領域からなる。このうち、瞼に対応する領域は、輝度値が低く、エッジが存在しないため、除去することができない。
そこで、本実施形態に係る画像処理装置は、以下に説明する方法によって、仮瞳領域から、瞳に対応する円形の領域のみを抽出する。
【００５３】
ステップＳ１４７では、以下に説明する三つのステップを実行することで、瞳領域を生成する。
（１）瞳の中心点のＸ座標を決定
本ステップは、瞳領域の中心のＸ座標を決定するステップである。
具体的には、まず、仮瞳領域のＸ軸上の中心点であるＸ座標を、Ｙ座標ごとに求める。図７（Ａ）は、Ｙ座標のそれぞれについて、中心点であるＸ座標を算出する概要を示した図である。図中の丸印が、求まったＸ座標を表す。なお、図７（Ａ）は、８つのＹ座標のみを示しているが、実際の算出回数は、画像の解像度によって異なる。
次に、得られたＸ座標の分布に基づいて、瞳領域の中心のＸ座標を決定する。例えば、最も多く得られたＸ座標の値を瞳領域の中心としてもよい。また、この他にも、複数のＸ座標の分布に基づいて算出することができれば、平均値や中央値など、どのような値を採用してもよい。図７（Ｂ）は、本ステップで決定した、瞳の中心のＸ座標を表したものである。
【００５４】
（２）瞳の中心点のＹ座標を決定
本ステップは、瞳領域の中心のＹ座標を決定するステップである。
具体的には、仮瞳領域のＹ座標の最大値および最小値の中間値を、瞳領域の中心のＹ座標とする。図８では、白色の点線が、仮瞳領域のＹ座標の最大値および最小値を表し、黒色の点線が、その中間値を表す。
上述した処理によって、瞳領域の中心座標が求まる。
【００５５】
（３）瞳の直径（瞳径）を決定
本ステップは、瞳領域の直径（瞳径）を決定するステップである。
具体的には、瞳領域の中心を通り、Ｘ軸と平行な軸における、仮瞳領域の径を、瞳領域の直径とする。すなわち、図８における、黒色の点線の長さが、瞳領域の直径となる。
このような方法を用いることで、仮瞳領域に瞼が含まれている場合であっても、瞼が瞳の中心より上方に位置する限り、瞳の直径を適切に決定することができる。
なお、瞼やまつげの形状に起因して、瞳の中心点のＸ座標にずれが生じることがある。例えば、本ステップで求めた瞳領域の直径の中点が、前ステップで求めた瞳の中心点の座標とずれてしまうような場合である。このような場合、他の方法によって瞳の中心点を求め直してもよいし、他の方法によって、求めた中心点の座標を補正してもよい。
【００５６】
ステップＳ１４８では、ステップＳ１４７で決定した、瞳領域の中心座標と、瞳領域の直径を用いて、瞳領域を生成する。図９（Ａ）のハッチングで示した領域が、瞳領域の中心座標と、瞳領域の直径とを用いて表した瞳領域である。また、図９（Ｂ）が、当該瞳領域を、第一の画像に重畳した例である。
【００５７】
なお、本例では、瞳の一部が瞼に隠れているため、このような場合、瞼の形状を用いて、瞳領域の形状を補正することが好ましい。瞼の形状は、例えば、瞳検出部１２が取得した特徴点の位置情報を用いて、スプライン補間などによって推定することができる。このような技術は、例えば、特開２０１２−１９０３５０号公報や、特開２０１２−１９０３５１号公報に開示されている。この他にも、瞼の形状が他の手段によって取得できている場合は、それを用いてもよい。
図１０の点線は、瞼の形状を表したものである。例えば、瞼よりも外方にはみ出た領域を、瞳領域から削除するようにしてもよい。
【００５８】
生成された瞳領域についての情報は、画像補正部１５に送信され、画像補正部１５が、取得した瞳領域を用いて、顔画像に対する補正を実行する（ステップＳ１５）。画像補正部１５が行う補正の例として、例えば、瞳の色を変更する補正（カラーコンタクトを合成する補正）が挙げられる。瞳の色の変更は、例えば、瞳のテンプレート画像を、生成した瞳領域にペーストすることで行ってもよいし、瞳領域内の画素の色相を変更することで行ってもよい。もちろん、画像補正部１５は、瞳を補正するものであれば、他のどのような補正を行ってもよい。例えば、瞳の内部にキャッチライトを追加する補正や、瞳のコントラストを強調する補正、瞳孔を綺麗に見せる補正などであってもよい。
補正された画像は、不図示の記憶装置に記憶、または、外部に送信され、ユーザに提供される。
【００５９】
以上に説明したように、本実施形態に係る画像処理装置は、人物の目が含まれる画像から、エッジを表す二値画像を生成し、ノイズを除去することで瞳領域を特定する。これにより、瞼や白目、瞳の内部に存在するキャッチライト、目の周辺に存在する肌などを除外しつつ、精度よく瞳領域のみを抽出することができる。
【００６０】
（第二の実施形態）
第一の実施形態では、ステップＳ１４の処理において、面積を基準としたノイズ除去（ステップＳ１４４）と、輝度を基準としたノイズ除去（ステップＳ１４５）の双方を実行した。これに対し、第二の実施形態は、ステップＳ１４４の処理を省略し、輝度を基準としたノイズ除去のみを行う実施形態である。
【００６１】
第二の実施形態に係る画像処理装置１０は、瞳領域生成部１４が、ステップＳ１４４の処理を行わないという点を除き、第一の実施形態と同様である。
このように、面積を基準としたノイズ除去処理を省略し、輝度を基準としたノイズ除去処理のみを行っても、本発明の効果を得ることができる。
【００６２】
（変形例）
上記の実施形態はあくまでも一例であって、本発明はその要旨を逸脱しない範囲内で適宜変更して実施しうる。
【００６３】
例えば、実施形態の説明では、顔画像の補正を行う装置を例示したが、画像補正部１５は、発明の構成要素として必須ではない。例えば、画像の補正を行う装置やプログラムに対して、瞳領域の位置を通知する装置やプログラムとして発明を実施してもよい。
【００６４】
また、実施形態の説明では、記憶装置に記憶された画像に対して処理を行う画像処理装置を例に説明を行ったが、画像は必ずしも記憶装置から取得する必要はなく、例えば、装置の外部から有線または無線ネットワークを介して取得してもよい。
また、本発明は、画像を撮像する撮像手段と、前述した画像処理装置とを組み合わせ、人物の瞳を補正する機能を有する撮像装置として実施してもよい。
【符号の説明】
【００６５】
１０  画像処理装置
１１  画像取得部
１２  瞳検出部
１３  処理画像生成部
１４  瞳領域生成部
１５  画像補正部
【図１】
0006497162.tif 000002
【図２】
0006497162.tif 000003
【図３】
0006497162.tif 000004
【図４】
0006497162.tif 000005
【図５】
0006497162.tif 000006
【図６】
0006497162.tif 000007
【図７】
0006497162.tif 000008
【図８】
0006497162.tif 000009
【図９】
0006497162.tif 000010
【図１０】
0006497162.tif 000011