(57)【要約】【課題】  瞳の中心位置を正確に検出する。【解決手段】  トリミング部１０は写真画像Ｓ０における目の近傍を外枠にしてトリミングしてトリミング画像Ｓ１を得る。トリミング画像Ｓ１が、グレー変換部１２、前処理部１４、２値化部２０の処理により２値画像Ｓ４となる。投票部３０は、２値画像Ｓ４の各画素の座標を円環のハフ空間に投票し、投票された各投票位置の投票値を得ると共に、同じ円心座標を有する投票位置の統合投票値Ｗを算出する。中心位置候補取得部３５は、投票部３５により得られた各統合投票値のうちの最も大きい統合投票値が対応する円心座標により示される位置を中心位置候補Ｇとする。【選択図】          図１
2005108206.tif 000002
【特許請求の範囲】
【請求項１】
写真画像から、該写真画像に含まれる円の中心位置を検出する円中心位置検出方法において、
該写真画像の各画素の座標を、円環のハフ空間（円中心点のＸ座標，円中心点のＹ座標，半径方向座標ｒ）上に投票し、投票された前記ハフ空間上の各投票位置（Ｘ，Ｙ，ｒ）の、投票された回数を求めて得た該投票位置の投票値を第１の統合投票値とし、
最も大きい前記第１の統合投票値を有する前記投票位置の前記（Ｘ，Ｙ）座標値により示される位置を前記円の中心とすることを特徴とする円中心位置検出方法。
【請求項２】
写真画像から、該写真画像に含まれる円の中心位置を検出する円中心位置検出方法において、
該写真画像の各画素の座標を、円環のハフ空間（円中心点のＸ座標，円中心点のＹ座標，半径方向座標ｒ）上に投票し、投票された前記ハフ空間上の各投票位置（Ｘ，Ｙ，ｒ）の、投票された回数を求めて該投票位置の投票値を得、
各前記投票位置のうちの、前記（Ｘ，Ｙ）座標値が同じである前記投票位置の前記投票値を加算して第２の統合投票値を得、
最も大きい前記第２の統合投票値に対応する前記（Ｘ，Ｙ）座標値により示される位置を前記円の中心とすることを特徴とする円中心位置検出方法。
【請求項３】
前記（Ｘ，Ｙ）座標値が同じである前記投票位置のうちの、前記円の半径範囲内にある前記投票位置の前記投票値のみを加算して前記第２の統合投票値を得ることを特徴とする請求項２記載の円中心位置検出方法。
【請求項４】
前記写真画像が、瞳を含むものであり、
前記円が、前記瞳であることを特徴とする請求項１から３のいずれか１項記載の円中心位置検出方法。
【請求項５】
投票をした前記画素の有色度が大きいほど重みが小さくなるように、各前記画素の投票回数を重み付け加算して得た値を前記投票値とすることを特徴とする請求項４記載の円中心位置検出方法。
【請求項６】
カラー画像である前記写真画像をグレースケール写真画像に変換し、該グレースケール写真画像を用いて前記投票を行うことを特徴とする請求項４または５記載の円中心位置検出方法。
【請求項７】
前記グレースケール写真画像を所定の閾値で２値化して２値画像を得、該２値画像を用いて前記投票を行うことを特徴とする請求項６記載の円中心位置検出方法。
【請求項８】
投票をした前記画素の輝度が小さいほど重みが大きくなるように、各前記画素の投票回数を重み付け加算して得た値を前記投票値とすることを特徴とする請求項４から７のいずれか１記載の円中心位置検出方法。
【請求項９】
目の近傍を外枠にして、顔写真画像をトリミングして得たトリミング画像を前記写真画像とする請求項４から８のいずれか１項記載の円中心位置検出方法。
【請求項１０】
前記顔写真画像から目の位置を検出し、
検出された前記目の位置に基づいて前記トリミングを行うことを特徴とする請求項９記載の円中心位置検出方法。
【請求項１１】
写真画像から、該写真画像に含まれる円の中心位置を検出する円中心位置検出装置であって、
該写真画像の各画素の座標を、円環のハフ空間（円中心点のＸ座標，円中心点のＹ座標，半径方向座標ｒ）上に投票し、投票された前記ハフ空間上の各投票位置（Ｘ，Ｙ，ｒ）の、投票された回数を求めて得た該投票位置の投票値を第１の統合投票値とする投票値取得手段と、
最も大きい前記第１の統合投票値を有する前記投票位置の前記（Ｘ，Ｙ）座標値により示される位置を前記円の中心として決定する中心位置決定手段とを有してなることを特徴とする円中心位置検出装置。
【請求項１２】
写真画像から、該写真画像に含まれる円の中心位置を検出する円中心位置検出装置であって、
該写真画像の各画素の座標を、円環のハフ空間（円中心点のＸ座標，円中心点のＹ座標，半径方向座標ｒ）上に投票し、投票された前記ハフ空間上の各投票位置（Ｘ，Ｙ，ｒ）の、投票された回数を求めて該投票位置の投票値を得る投票値取得手段と、
各前記投票位置のうちの、前記（Ｘ，Ｙ）座標値が同じである前記投票位置の前記投票値を加算して第２の統合投票値を得る投票値統合手段と、
最も大きい前記第２の統合投票値に対応する前記（Ｘ，Ｙ）座標値により示される位置を前記円の中心とする中心位置決定手段とを有してなることを特徴とする円中心位置検出装置。
【請求項１３】
前記投票値統合手段が、前記（Ｘ，Ｙ）座標値が同じである前記投票位置のうちの、前記円の半径範囲内にある前記投票位置の前記投票値のみを加算して前記第２の統合投票値を得るものであることを特徴とする請求項１２記載の円中心位置検出装置。
【請求項１４】
前記写真画像が、瞳を含むものであり、
前記円が、前記瞳であることを特徴とする請求項１１から１３のいずれか１項記載の円中心位置検出装置。
【請求項１５】
前記投票値取得手段が、投票をした前記画素の有色度が大きいほど重みが小さくなるように、各前記画素の投票回数を重み付け加算して得た値を前記投票値とするものであることを特徴とする請求項１４記載の円中心位置検出装置。
【請求項１６】
カラー画像である前記写真画像をグレー変換してグレースケール写真画像を得る画像変換手段を備え、
前記投票値取得手段が、前記グレースケール写真画像を用いて前記投票を行うことを特徴とする請求項１４または１５記載の円中心位置検出装置。
【請求項１７】
前記グレースケール写真画像を所定の閾値で２値化して２値化画像を得る２値化手段を備え、
前記投票値取得手段が、該２値化画像を用いて前記投票を行うことを特徴とする請求項１６記載の円中心位置検出装置。
【請求項１８】
前記投票値取得手段が、投票をした前記画素の輝度が小さいほど重みが大きくなるように、各前記画素の投票回数を重み付け加算して得た値を前記投票値とするものであることを特徴とする請求項１４から１７のいずれか１項記載の円中心位置検出装置。
【請求項１９】
目の近傍を外枠にして、顔写真画像をトリミングして得たトリミング画像を前記写真画像とするトリミング手段をさらに備えたことを特徴とする請求項１４から１８のいずれか１項記載の円中心位置検出装置。
【請求項２０】
前記顔写真画像から前記目の位置を検出して、該検出された前記目の位置を示す情報を前記トリミング手段に供する目位置検出手段をさらに備えたことを特徴とする請求項１９記載の円中心位置検出装置。
【請求項２１】
左目の前記トリミング画像と右目の前記トリミング画像とを夫々用いて求められた左瞳の中心位置と右瞳の中心位置との差が、前記左目と前記右目との距離に応じた所定の範囲内であることを基準として前記瞳の中心位置が正しいか否かを判別すると共に、前記中心位置が正しいであるように判別されるまで、前回に求められた前記中心位置に対応する前記統合投票値の次に大きい統合投票値を求め、該次に大きい統合投票値に対応する前記（Ｘ，Ｙ）座標値により示される位置を前記瞳の中心として求め直す照合手段とをさらに備えたことを特徴とする請求項１９または２０記載の円中心位置検出装置。
【請求項２２】
前記照合手段が、前回に求められた前記中心位置から所定の距離以上に離れた位置を示す（Ｘ，Ｙ）座標値に対応する各々の前記統合投票値から前記次に大きい統合投票値を求めることを特徴とする請求項２１記載の円中心位置検出装置。
【請求項２３】
前記写真画像に対して穴埋め処理を行い、該穴埋め処理がされた前記写真画像を前記投票値取得手段に供する前処理手段をさらに備えたことを特徴とする請求項１４から２２のいずれか１項記載の円中心位置検出装置。
【請求項２４】
写真画像から、該写真画像に含まれる円の中心位置を検出する円中心位置検出処理をコンピュータに実行させるプログラムであって、
前記円中心位置検出処理が、該写真画像の各画素の座標を、円環のハフ空間（円中心点のＸ座標，円中心点のＹ座標，半径方向座標ｒ）上に投票し、投票された前記ハフ空間上の各投票位置（Ｘ，Ｙ，ｒ）の、投票された回数を求めて得た該投票位置の投票値を第１の統合投票値とする投票値取得処理と、
最も大きい前記第１の統合投票値を有する前記投票位置の前記（Ｘ，Ｙ）座標値により示される位置を前記円の中心として決定する中心位置決定処理とを有することを特徴とするプログラム。
【請求項２５】
写真画像から、該写真画像に含まれる円の中心位置を検出する円中心位置検出処理をコンピュータに実行させるプログラムであって、
前記円中心位置検出処理が、該写真画像の各画素の座標を、円環のハフ空間（円中心点のＸ座標，円中心点のＹ座標，半径方向座標ｒ）上に投票し、投票された前記ハフ空間上の各投票位置（Ｘ，Ｙ，ｒ）の、投票された回数を求めて該投票位置の投票値を得る投票値取得処理と、
各前記投票位置のうちの、前記（Ｘ，Ｙ）座標値が同じである前記投票位置の前記投票値を加算して第２の統合投票値を得る投票値統合処理と、
最も大きい前記第２の統合投票値に対応する前記（Ｘ，Ｙ）座標値により示される位置を前記円の中心とする中心位置決定処理とを有してなることを特徴とするプログラム。
【請求項２６】
前記投票値統合処理が、前記（Ｘ，Ｙ）座標値が同じである前記投票位置のうちの、前記円の半径範囲内にある前記投票位置の前記投票値のみを加算して前記第２の統合投票値を得ることを特徴とする請求項２５記載のプログラム。
【請求項２７】
前記写真画像が、瞳を含むものであり、
前記円が、前記瞳であることを特徴とする請求項２４から２６のいずれか１項記載のプログラム。
【請求項２８】
前記投票値取得処理が、投票をした前記画素の有色度が大きいほど重みが小さくなるように、各前記画素の投票回数を重み付け加算して得た値を前記投票値とすることを特徴とする請求項２７記載のプログラム。
【請求項２９】
前記円中心位置検出処理が、カラー画像である前記写真画像をグレー変換してグレースケール写真画像を得る画像変換処理を有し、
前記投票値取得処理が、前記グレースケール写真画像を用いて前記投票を行うことを特徴とする請求項２７または２８記載のプログラム。
【請求項３０】
前記円中心位置検出処理が、前記グレースケール写真画像を所定の閾値で２値化して２値化画像を得る２値化処理を有し、
前記投票値取得処理が、該２値化画像を用いて前記投票を行うことを特徴とする請求項２９記載のプログラム。
【請求項３１】
前記投票値取得処理が、投票をした前記画素の輝度が小さいほど重みが大きくなるように、各前記画素の投票回数を重み付け加算して得た値を前記投票値とすることを特徴とする請求項２７から３０のいずれか１項記載のプログラム。
【請求項３２】
前記円中心位置検出処理が、目の近傍を外枠にして、顔写真画像をトリミングして得たトリミング画像を前記写真画像とするトリミング処理をさらに有することを特徴とする請求項２７から３１のいずれか１項記載のプログラム。
【請求項３３】
前記トリミング処理が、前記顔写真画像から前記目の位置を検出する目位置検出処理を有し、該目検出処理により検出された前記目の位置に基づいて前記トリミングを行うことを特徴とする請求項３２記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデジタル写真画像から、円、例えば瞳などの中心位置を検出する円中心位置検出する方法および装置並びにそのためのプログラムに関するものである。
【背景技術】
【０００２】
機械における円形部品の中心位置の確定や、顔写真画像における瞳の位置の確定など、様々な分野において、デジタル写真画像から円の中心位置を検出ことが必要である。従来、被検体を撮影してデジタル写真画像から円を検出するために、テンプレートマッチングやハフ変換など様々な方法が用いられている。これらの方法のうち、不完全な円、例えばノイズなどにより破損が生じた円や、目つぶりによって一部しか現れない瞳なども検出できる方法としてハフ変換が用いられる（特許文献１参照）。具体的には、まず、デジタル写真画像に対して２値化処理を行って２値画像を得、この２値画像からエッジを検出し、検出されたエッジの画素データを用いて、円環を検出するための３つのパラメータ（円心のＸ座標，円心のＹ座標，半径ｒ）に対応するハフ空間に投票を行う。投票の結果、最も高い票数を得た座標を取得し、該座標により円環の３つのパラメータの値を決定し、決定された円環の中心座標値（Ｘ，Ｙ）を検出したい円の中心とするようにして円の中心位置を検出する。
【特許文献１】特開２００３−７０７４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上述のようにハフ変換を行って円の中心位置を検出する方法は、欠損のある円およびその中心位置を検出することに大きな効果を奏するが、デジタル写真画像中のエッジの画素データのみを用いるため、ノイズの影響を受けやすい欠点がある。
【０００４】
本発明は、上記事情に鑑み、欠損のある円の中心位置を検出することができると共に、ノイズの影響に強い円中心位置検出方法および装置並びにそのためのプログラムを提供することを目的とするものである。
【課題を解決するための手段】
【０００５】
本発明の第１の円中心位置検出方法は、写真画像から、該写真画像に含まれる円の中心位置を検出する円中心位置検出方法において、
該写真画像の各画素の座標を、円環のハフ空間（円中心点のＸ座標，円中心点のＹ座標，半径方向座標ｒ）上に投票し、投票された前記ハフ空間上の各投票位置（Ｘ，Ｙ，ｒ）の、投票された回数を求めて得た該投票位置の投票値を第１の統合投票値とし、
最も大きい前記第１の統合投票値を有する前記投票位置の前記（Ｘ，Ｙ）座標値により示される位置を前記円の中心とすることを特徴とするものである。
【０００６】
すなわち、本発明の第１の円中心位置検出方法は、エッジ画素のみを用いて円環のハフ空間に投票して最も大きい投票値を有する投票位置を円環として見付けるようによって円の中心位置を検出する方法と異なり、円を多数の同心円環として捉え、処理対象となるグレースケール写真画像の全画素のデータを用いて円環のハフ空間に投票して各投票位置の投票値（第１の統合投票値）に基づいて、最も大きい投票値を有する投票位置の（Ｘ，Ｙ）座標値により示される位置を円の中心位置として検出する。この方法は、多数の同心円環は夫々半径が異なるものの円心の位置が同じであるので、この円心位置に対応する（Ｘ，Ｙ）座標値を有する投票位置が最も多く投票されるはずであることに基づいたものである。
【０００７】
本発明の第２の円中心位置検出方法は、写真画像から、該写真画像に含まれる円の中心位置を検出する円中心位置検出方法において、
該写真画像の各画素の座標を、円環のハフ空間（円中心点のＸ座標，円中心点のＹ座標，半径方向座標ｒ）上に投票し、投票された前記ハフ空間上の各投票位置（Ｘ，Ｙ，ｒ）の、投票された回数を求めて該投票位置の投票値を得、
各前記投票位置のうちの、前記（Ｘ，Ｙ）座標値が同じである前記投票位置の前記投票値を加算して第２の統合投票値を得、
最も大きい前記第２の統合投票値に対応する前記（Ｘ，Ｙ）座標値により示される位置を前記円の中心とすることを特徴とするものである。
【０００８】
すなわち、本発明の第２の円中心位置検出方法は、エッジの画素のデータのみを用いて円環のハフ空間に投票して最も大きい投票値を有する投票位置を円環として見付けるようによって円の中心位置を検出する方法と異なり、円を多数の同心円環として捉え、処理対象となるグレースケール写真画像の全画素のデータを用いて円環のハフ空間に投票し、（Ｘ，Ｙ）座標値が同じである前記投票位置（これらの投票位置が同じ（Ｘ，Ｙ）座標値を有するため、半径が異なる同心円となる）の前記投票値を加算して得た第２の統合投票値に基づいて、最も大きい第２の統合投票値が対応する前記（Ｘ，Ｙ）座標値により示される位置を円の中心位置として検出する。
【０００９】
また、本発明の第２の円中心位置検出方法は、前記（Ｘ，Ｙ）座標値が同じである前記投票位置のうちの、前記円の半径範囲内にある前記投票位置の前記投票値のみを加算して前記第２の統合投票値を得ることが好ましい。
【００１０】
前記写真画像において、目的の円以外に他の円も存在する可能性があるため、目的の円の半径の大きさの範囲が知られている場合、この半径範囲内で前記投票値を加算するようにして前記第２の統合投票値を得るようにすることが望ましい。このようにすれば、複数の円が存在する写真画像から検出した円の中心位置は目的の円の中心位置となる確率が高い。
【００１１】
ここで、円の半径範囲とは、所定の大きさ以上から所定の大きさ以下のような上下限とも規定された範囲に限らず、所定の大きさ以下、所定の大きさ以上のように、上限のみまたは下限のみにより規定される範囲であってもよい。
【００１２】
本発明の円中心位置検出方法は、瞳を含む写真画像から瞳の中心位置を検出ことに適用することができる。２
本発明の円中心位置検出方法により瞳の中心位置を検出する際に、投票をした前記画素の有色度が大きいほど重みが小さくなるように、各前記画素の投票回数を重み付け加算して得た値を前記投票値とすることが好ましい。
【００１３】
ここで、画素の「有色度」は、その画素の色合いがグレー軸から離れた距離の大きさを示すことができるものであればいかなるパラメータを用いてもよく、例えば、下記の式（１）を用いて画素の有色度を求めてもよい。
【００１４】
Ｕ＝（Ｒ−Ｇ）２＋（Ｇ―Ｂ）２＋（Ｂ−Ｒ）２        （１）
但し、Ｕ：画素の有色度
Ｒ，Ｇ，Ｂ：画素のＲ値、Ｇ値、Ｂ値
すなわち、本発明の円中心位置検出方法は、１つの投票位置に対して、１つの画素から投票があれば（１つの画素は１つの投票位置に対して１回しか投票しない）、その投票値を１として累積計上するようにして各投票位置の投票値を得るようにしてもよいが（この場合、投票位置の投票値がこの投票位置に投票した画素の数に相当する）、瞳を含む写真画像、すなわち顔写真画像の場合には、その他の部分に対して、瞳の部分の有色度が低いので、有色度が大きいほど重みが小さくなるように各画素の投票回数を重み付け加算して当該投票位置の投票値とするようにすれば、顔写真画像に含まれた眼鏡のカラーフレームや、色染めされた髪や、肌などのノイズによる影響を軽減することができ、より正確な検出結果を得ることができる。
【００１５】
本発明の円中心位置検出方法は、グレースケール写真画像は勿論、カラー写真画像にも対応することができる。なお、カラー写真画像に対しては、グレー変換を施してグレースケール写真画像を得、該グレースケール写真画像を用いて円中心位置の検出を行うようにしてもよい。
【００１６】
さらに、グレースケール写真画像、またはカラー画像をグレー変換して得たグレースケール写真画像を用いて円中心位置の検出を行う際に、該グレースケール写真画像を所定の閾値で２値化して２値画像を得、該２値画像を用いて円中心位置の検出を行うことが好ましく、こうすることによって、処理を高速化することができ、検出のための演算に必要なメモリを節約することができる。
【００１７】
なお、２値化する際に用いられる２値化用の前記所定の閾値は、前記グレースケール写真画像の画素数および各前記画素の輝度に基づいて求められたものであることが好ましい。
【００１８】
本発明の円中心位置検出方法により瞳の中心位置を検出する際に、投票をした前記画素の輝度が小さいほど重みが大きくなるように、各前記画素の投票回数を重み付け加算して得た値を前記投票値とすることが好ましい。
【００１９】
すなわち、本発明の円中心位置検出方法は、１つの投票位置に対して、１つの画素から投票があれば（１つの画素は１つの投票位置に対して１回しか投票しない）、その投票値を１として累積計上するようにして各投票位置の投票値を得るようにしてもよく（この場合、投票位置の投票値がこの投票位置に投票した画素の数に相当する）、瞳のような中心に近いほど輝度が小さい（すなわち暗い）円に対して各投票位置の投票値を求める際に、該投票位置に投票した画素の輝度が小さいほど、重みが大きくなるように各画素の投票回数（１つの画素の投票回数が１回となるが）を重み付け加算して当該投票位置の投票値とすることが好ましい。
【００２０】
また、前記瞳を含む写真画像は、目の近傍を外枠にして、顔写真画像をトリミングして得たトリミング画像とすることができる。
【００２１】
本発明の第１の円中心位置検出装置は、写真画像から、該写真画像に含まれる円の中心位置を検出する円中心位置検出装置であって、
該写真画像の各画素の座標を、円環のハフ空間（円中心点のＸ座標，円中心点のＹ座標，半径方向座標ｒ）上に投票し、投票された前記ハフ空間上の各投票位置（Ｘ，Ｙ，ｒ）の、投票された回数を求めて得た該投票位置の投票値を第１の統合投票値とする投票値取得手段と、
最も大きい前記第１の統合投票値を有する前記投票位置の前記（Ｘ，Ｙ）座標値により示される位置を前記円の中心として決定する中心位置決定手段とを有してなることを特徴とするものである。
【００２２】
本発明の第２の円中心位置検出装置は、写真画像から、該写真画像に含まれる円の中心位置を検出する円中心位置検出装置であって、
該写真画像の各画素の座標を、円環のハフ空間（円中心点のＸ座標，円中心点のＹ座標，半径方向座標ｒ）上に投票し、投票された前記ハフ空間上の各投票位置（Ｘ，Ｙ，ｒ）の、投票された回数を求めて該投票位置の投票値を得る投票値取得手段と、
各前記投票位置のうちの、前記（Ｘ，Ｙ）座標値が同じである前記投票位置の前記投票値を加算して第２の統合投票値を得る投票値統合手段と、
最も大きい前記第２の統合投票値に対応する前記（Ｘ，Ｙ）座標値により示される位置を前記円の中心とする中心位置決定手段とを有してなることを特徴とするものである。
【００２３】
また、前記投票値統合手段は、前記（Ｘ，Ｙ）座標値が同じである前記投票位置のうちの、前記円の半径範囲内にある前記投票位置の前記投票値のみを加算して前記第２の統合投票値を得るものであることが好ましい。
【００２４】
本発明の円中心位置検出装置は、瞳を含む写真画像から瞳の中心位置を検出することに適用することができる。
【００２５】
本発明の円中心位置検出手段は、瞳の中心位置を検出する際に、前記投票値取得手段が、前記画素の有色度が大きいほど重みが小さくなるように、各前記画素の投票回数を重み付け加算して得た値を前記投票値とするものであることが好ましい。
【００２６】
本発明の円中心位置検出装置は、グレースケール写真画像は勿論、カラー写真画像にも適用することができる。なお、本発明の円中心位置検出装置は、カラー写真画像をグレー変換してグレースケール写真画像を得る画像変換手段を備え、前記投票値取得手段が、前記グレースケール写真画像を用いて前記投票を行うものであってもよい。
【００２７】
本発明の円中心位置検出装置は、２値化手段を備え、該２値化手段により、グレースケール写真画像、または前記画像変換手段によりカラー画像をグレー変換して得たグレースケール写真を所定の閾値で２値化して２値化画像を得、前記投票値取得手段が、該２値化画像を用いて前記投票を行うことが好ましい。
【００２８】
本発明の円中心位置検出手段は、瞳の中心位置を検出する際に、前記投票値取得手段が、投票をした前記画素の輝度が小さいほど重みが大きくなるように、各前記画素の投票回数を重み付け加算して得た値を前記投票値とするものであることが好ましい。
【００２９】
瞳の中心位置を検出する本発明の円中心位置検出装置は、目の近傍を外枠にして、顔写真画像をトリミングして得たトリミング画像を前記写真画像とするトリミング手段をさらに備えたことが好ましい。
【００３０】
また、本発明の円中心位置検出装置において、操作者により手動で前記「目の近傍」を指定するようにしてもよいが、前記顔写真画像から前記目の位置を検出して、該検出された前記目の位置を示す情報を前記トリミング手段に供する目位置検出手段をさらに備え、該目の位置を示す情報に基づいて前記「目の近傍」を規定するようにしてもよい。
【００３１】
また、瞳の中心位置を検出するための本発明の円中心位置検出装置は、左目の前記トリミング画像と右目の前記トリミング画像とを夫々用いて求められた左瞳の中心位置と右瞳の中心位置との差が、前記左目と前記右目との距離に応じた所定の範囲内であることを基準として前記瞳の中心位置が正しいか否かを判別すると共に、前記中心位置が正しいであるように判別されるまで、前回に求められた前記中心位置に対応する前記統合投票値の次に大きい統合投票値を求め、該次に大きい統合投票値に対応する前記（Ｘ，Ｙ）座標値により示される位置を前記瞳の中心として求め直す照合手段をさらに備えたことが好ましい。
【００３２】
ここで、「統合投票値」は、前記第１の統合投票値（すなわち、投票値）または前記第２の統合投票値のいずれか１つを意味する。
【００３３】
同じ顔にある左目と右目は、上下方向の目の位置の差が通常僅かである。瞳は目の中に位置するので、左瞳の中心位置と右瞳の中心位置の上下方向の差も僅かな大きさの範囲（左目と右目との距離をＤ画素数とすると、例えば範囲Ｄ／５０）以内であるはず。また、左瞳の中心位置と右瞳の中心位置との差、すなわち両瞳の中心位置間の距離が、左目と右目の距離（Ｄ画素数）と略同である理由から、左瞳の中心位置と右瞳の中心位置との差を例えば０．８×Ｄ〜１．２×Ｄの範囲内にすることができる。本発明の円中心位置検出装置における前記照合手段は、この点に着目し、同じ顔画像にある左瞳の中心位置と右瞳の中心位置（上下方向の位置および／または左右方向の位置）の差が、両目の位置に応じた所定の範囲にあるべきことを基準にして、瞳の中心位置が正しか否かを判別する。
【００３４】
さらに、前記照合手段は、前回に求められた前記中心位置に対応する前記統合投票値の次に大きい統合投票値を求める際に、全ての統合投票値からではなく、前回に求められた前記中心位置から所定の距離以上に離れた位置を示す（Ｘ，Ｙ）座標値に対応する各々の前記統合投票値から前記次に大きい統合投票値を求めるものであることが好ましい。
【００３５】
すなわち、求められた中心位置が、例えば目の近傍の痣などの他の円の中心位置であって、瞳の中心位置ではない（瞳の中心位置が正しくない）と判別されたとき、この中心位置の近くに瞳の中心位置がある可能性が少ないので、この中心位置に対応する前記統合投票値の次に大きい統合投票値を求める際に、全ての統合投票値からではなく、この中心位置から所定の距離以上に離れた位置を示す（Ｘ，Ｙ）座標値に対応する各々の前記統合投票値から前記次に大きい統合投票値を求めるようにすれば、より早く真の瞳の中心位置を検出することができる。
【００３６】
また、前記「所定の距離」は、両目間の距離に基づいて求められた値であることが望ましく、例えばＤ／３０（Ｄは両目間の距離を示す画素数）を用いることができる。
【００３７】
瞳の中心位置を検出するための本発明の円中心位置検出装置は、前記写真画像に対して穴埋め処理を行い、該穴埋め処理がされた前記写真画像を前記投票値取得手段に供する前処理手段をさらに備えたことが好ましい。
【００３８】
なお、顔写真画像をトリミングするトリミング手段と、グレー変換を行う画像変換手段とを備えた本発明の円中心位置検出装置の場合、グレー変換をした後にトリミングしてもよいが、演算量を軽減し、早い処理を図るために、トリミング手段によるトリミングの後に、画像変換手段によりグレー変換を行うことが望ましい。
【００３９】
本発明の円中心位置検出方法は、コンピュータに実行させるプログラムとして提供するようにしてもよい。
【発明の効果】
【００４０】
本発明の円中心位置検出方法および装置並びにプログラムによれば、写真画像から、該写真画像に含まれる円の中心位置を検出する際に、円を多数の同心円環の集合として捉え、写真画像の全画素の座標を円環のハフ空間に投票し、投票された各投票位置の投票値そのもの、または投票された各投票位置のうち、同じ（円心のＸ座標値，円心のＹ座標値）を有する投票位置の投票値を加算して得た値を統合投票値（夫々第１の統合投票値、第２の統合投票値）とし、最も大きい統合投票値に対応する（Ｘ，Ｙ）座標値により示される位置を円中心の位置として検出するようにしているので、欠損のある円の中心位置も検出することができるハフ変換の長所を生かすと共に、エッジの画素のみを用いる従来の技術よりノイズの影響を受けにくく、より正確に円の中心位置を検出することができる。
【００４１】
また、第２の統合投票値を得る際に、目的の円の半径範囲内の投票位置の投票値のみを加算するようにすれば、複数の半径が異なる円が存在するグレースケール写真画像において、目的の円の中心位置を検出する確率が高くなる。
【００４２】
本発明の円中心位置検出方法および装置並びにそのためのプログラムを、顔写真画像から瞳の中心位置を検出することに適用する際に、瞳の中心に近いほど輝度が小さい特徴を利用して、各投票位置に対して、投票する画素の輝度が小さいほど重みが大きくなるように、各画素の投票回数を重み付け加算して得た値を当該投票位置の投票値としているので、より正確に瞳の中心位置を検出することができる。
【００４３】
また、本発明の円中心位置検出装置を瞳の中心位置の検出に適用する際に、照合手段を設け、同じ顔にある両目の瞳の中心位置の差が所定の範囲内であることを基準にして検出された瞳の中心位置が正しいか否かを判別し、瞳の位置が正しくなければ求め直すようにすることによって、目の近傍の痣などの他の円の中心位置を瞳の中心位置として検出してしまうことを防ぐことができるので、より正確に瞳の中心位置を検出することができる。
【発明を実施するための最良の形態】
【００４４】
以下、図面を参照して、本発明の実施形態について説明する。
【００４５】
図１は、本発明の円中心位置検出方法および装置並びにそのためのプログラムの第１の実施形態となる瞳中心位置検出装置の実施形態を示すブロック図である。図示のように、本実施形態の瞳中心位置検出装置は、入力された写真画像Ｓ０に顔部分が含まれているか否かを識別すると共に、顔部分が含まれていない場合には写真画像Ｓ０をそのまま後述する出力部５０に出力する一方、顔部分が含まれている場合にはさらに左目と右目を検出し、両目の位置および両目間の距離Ｄを含む情報Ｑを後述するトリミング部１０および照合部４０に出力する検出部１と、検出部１からの情報Ｑに基づいて、写真画像Ｓ０をトリミングして左目と右目とを夫々含むトリミング画像Ｓ１ａ、Ｓ１ｂ（以下、区別して説明する必要がない場合には、両方を指す意味でＳ１という）を得るトリミング部１０と、トリミング画像Ｓ１に対してグレー変換を行い、トリミング画像Ｓ１のグレースケール画像Ｓ２（Ｓ２ａ，Ｓ２ｂ）を得るグレー変換部１２と、グレースケール画像Ｓ２に対して前処理を行って前処理済み画像Ｓ３（Ｓ３ａ，Ｓ３ｂ）を得る前処理部１４と、前処理済み画像Ｓ３を２値化するための閾値Ｔを算出する２値化閾値算出部１８を有し、該２値化閾値算出部１８により得られた閾値Ｔを用いて前処理済み画像Ｓ３を２値化処理して２値画像Ｓ４（Ｓ４ａ，Ｓ４ｂ）を得る２値化部２０と、２値画像Ｓ４の各画素の座標を円環のハフ空間に投票し、投票された各投票位置の投票値を得ると共に、同じ円心座標を有する投票位置の統合投票値Ｗ（Ｗａ，Ｗｂ）を算出する投票部３５と、投票部３５により得られた各統合投票値のうちの最も大きい統合投票値が対応する円心座標を中心位置候補Ｇ（Ｇａ，Ｇｂ）とすると共に、後述する照合部４０から次の中心位置候補を探すように指示されたとき、次の中心位置候補を求める中心位置候補取得部３５と、中心位置候補取得部３５により取得した中心位置候補は照合基準に満たしているか否かを判別し、照合基準に満たしていればこの中心位置候補を瞳の中心位置として後述する微調整部４５に出力する一方、照合基準に満たしていなければ中心位置候補取得部３５に中心位置候補を取得し直すことをさせると共に、中心位置候補取得部３５により取得された中心位置候補が照合基準を満たすようになるまで中心位置候補取得部３５に中心位置候補の取得し直しを繰り返させる照合部４０と、照合部４０から出力されてきた瞳の中心位置Ｇ（Ｇａ，Ｇｂ）に対して微調整を行い、最終中心位置Ｇ’（Ｇ’ａ，Ｇ’ｂ）を出力部５０に出力する微調整部４５と、検出部１から出力されてきた写真画像Ｓ０（顔部分が含まれない写真画像）および微調整部４５からの中心位置Ｇを出力する出力部５０とを有してなるものである。
【００４６】
以下、図１に示す瞳中心位置検出装置の各構成の詳細について説明する。
【００４７】
まず、検出部１の詳細について説明する。
【００４８】
図２は、検出部１の詳細構成を示すブロック図である。図示のように、検出部１は、写真画像Ｓ０から特徴量Ｃ０を算出する特徴量算出部２と、後述する第１および第２の参照データＥ１，Ｅ２が格納されている記憶部４と、特徴量算出部２が算出した特徴量Ｃ０と記憶部４内の第１の参照データＥ１とに基づいて、写真画像Ｓ０に人物の顔が含まれているか否かを識別する第１の識別部５と、第１の識別部５により写真画像Ｓ０に顔が含まれていると識別された場合に、特徴量算出部２が算出した顔の画像内の特徴量Ｃ０と記憶部４内の第２の参照データＥ２とに基づいて、その顔に含まれる目の位置を識別する第２の識別部６と、並びに第１の出力部７とを備えてなる。
【００４９】
なお、検出部１により識別される目の位置とは、顔における目尻から目頭の間の中心位置（図３中×で示す）であり、図３（ａ）に示すように真正面を向いた目の場合においては瞳の中心位置と同様であるが、図３（ｂ）に示すように右を向いた目の場合は瞳の中心位置ではなく、瞳の中心から外れた位置または白目部分に位置する。
【００５０】
特徴量算出部２は、顔の識別に用いる特徴量Ｃ０を写真画像Ｓ０から算出する。また、写真画像Ｓ０に顔が含まれると識別された場合には、後述するように抽出された顔の画像から同様の特徴量Ｃ０を算出する。具体的には、勾配ベクトル（すなわち写真画像Ｓ０上および顔画像上の各画素における濃度が変化する方向および変化の大きさ）を特徴量Ｃ０として算出する。以下、勾配ベクトルの算出について説明する。まず、特徴量算出部２は、写真画像Ｓ０に対して図４（ａ）に示す水平方向のエッジ検出フィルタによるフィルタリング処理を施して写真画像Ｓ０における水平方向のエッジを検出する。また、特徴量算出部２は、写真画像Ｓ０に対して図４（ｂ）に示す垂直方向のエッジ検出フィルタによるフィルタリング処理を施して写真画像Ｓ０における垂直方向のエッジを検出する。そして、写真画像Ｓ０上の各画素における水平方向のエッジの大きさＨおよび垂直方向のエッジの大きさＶとから、図５に示すように、各画素における勾配ベクトルＫを算出する。また、顔画像についても同様に勾配ベクトルＫを算出する。なお、特徴量算出部２は、後述するように写真画像Ｓ０および顔画像の変形の各段階において特徴量Ｃ０を算出する。
【００５１】
なお、このようにして算出された勾配ベクトルＫは、図６（ａ）に示すような人物の顔の場合、図６（ｂ）に示すように、目および口のように暗い部分においては目および口の中央を向き、鼻のように明るい部分においては鼻の位置から外側を向くものとなる。また、口よりも目の方が濃度の変化が大きいため、勾配ベクトルＫは口よりも目の方が大きくなる。
【００５２】
そして、この勾配ベクトルＫの方向および大きさを特徴量Ｃ０とする。なお、勾配ベクトルＫの方向は、勾配ベクトルＫの所定方向（例えば図５におけるｘ方向）を基準とした０から３５９度の値となる。
【００５３】
ここで、勾配ベクトルＫの大きさは正規化される。この正規化は、写真画像Ｓ０の全画素における勾配ベクトルＫの大きさのヒストグラムを求め、その大きさの分布が写真画像Ｓ０の各画素が取り得る値（８ビットであれば０〜２５５）に均一に分布されるようにヒストグラムを平滑化して勾配ベクトルＫの大きさを修正することにより行う。例えば、勾配ベクトルＫの大きさが小さく、図７（ａ）に示すように勾配ベクトルＫの大きさが小さい側に偏ってヒストグラムが分布している場合には、大きさが０〜２５５の全領域に亘るものとなるように勾配ベクトルＫの大きさを正規化して図７（ｂ）に示すようにヒストグラムが分布するようにする。なお、演算量を低減するために、図７（ｃ）に示すように、勾配ベクトルＫのヒストグラムにおける分布範囲を例えば５分割し、５分割された頻度分布が図７（ｄ）に示すように０〜２５５の値を５分割した範囲に亘るものとなるように正規化することが好ましい。
【００５４】
記憶部４内に格納されている第１および第２の参照データＥ１，Ｅ２は、後述するサンプル画像から選択された複数画素の組み合わせからなる複数種類の画素群のそれぞれについて、各画素群を構成する各画素における特徴量Ｃ０の組み合わせに対する識別条件を規定したものである。
【００５５】
第１および第２の参照データＥ１，Ｅ２中の、各画素群を構成する各画素における特徴量Ｃ０の組み合わせおよび識別条件は、顔であることが分かっている複数のサンプル画像と顔でないことが分かっている複数のサンプル画像とからなるサンプル画像群の学習により、あらかじめ決められたものである。
【００５６】
なお、本実施形態においては、第１の参照データＥ１を生成する際には、顔であることが分かっているサンプル画像として、３０×３０画素サイズを有し、図８に示すように、１つの顔の画像について両目の中心間の距離が１０画素、９画素および１１画素であり、両目の中心間距離において垂直に立った顔を平面上±１５度の範囲において３度単位で段階的に回転させた（すなわち、回転角度が−１５度，−１２度，−９度，−６度，−３度，０度，３度，６度，９度，１２度，１５度）サンプル画像を用いるものとする。したがって、１つの顔の画像につきサンプル画像は３×１１＝３３通り用意される。なお、図８においては−１５度、０度および＋１５度に回転させたサンプル画像のみを示す。また、回転の中心はサンプル画像の対角線の交点である。ここで、両目の中心間の距離が１０画素のサンプル画像であれば、目の中心位置はすべて同一となっている。この目の中心位置をサンプル画像の左上隅を原点とする座標上において（ｘ１，ｙ１）、（ｘ２，ｙ２）とする。また、図面上上下方向における目の位置（すなわちｙ１，ｙ２）はすべてのサンプル画像において同一である。
【００５７】
また、第２の参照データＥ２を生成する際には、顔であることが分かっているサンプル画像として、３０×３０画素サイズを有し、図９に示すように、１つの顔の画像について両目の中心間の距離が１０画素、９．７画素および１０．３画素であり、各両目の中心間距離において垂直に立った顔を平面上±３度の範囲において１度単位で段階的に回転させた（すなわち、回転角度が−３度，−２度，−１度，０度，１度，２度，３度）サンプル画像を用いるものとする。したがって、１つの顔の画像につきサンプル画像は３×７＝２１通り用意される。なお、図９においては−３度、０度および＋３度に回転させたサンプル画像のみを示す。また、回転の中心はサンプル画像の対角線の交点である。ここで、図面上上下方向における目の位置はすべてのサンプル画像において同一である。なお、両目の中心間の距離を９．７画素および１０．３画素とするためには、両目の中心間の距離が１０画素のサンプル画像を９．７倍あるいは１０．３倍に拡大縮小して、拡大縮小後のサンプル画像のサイズを３０×３０画素とすればよい。
【００５８】
そして、第２の参照データＥ２の学習に用いられるサンプル画像における目の中心位置を、本実施形態において識別する目の位置とする。
【００５９】
また、顔でないことが分かっているサンプル画像としては、３０×３０画素サイズを有する任意の画像を用いるものとする。
【００６０】
ここで、顔であることが分かっているサンプル画像として、両目の中心間距離が１０画素であり、平面上の回転角度が０度（すなわち顔が垂直な状態）のもののみを用いて学習を行った場合、第１および第２の参照データＥ１，Ｅ２を参照して顔または目の位置であると識別されるのは、両目の中心間距離が１０画素で全く回転していない顔のみである。写真画像Ｓ０に含まれる可能性がある顔のサイズは一定ではないため、顔が含まれるか否かあるいは目の位置を識別する際には、後述するように写真画像Ｓ０を拡大縮小して、サンプル画像のサイズに適合するサイズの顔および目の位置を識別できるようにしている。しかしながら、両目の中心間距離を正確に１０画素とするためには、写真画像Ｓ０のサイズを拡大率として例えば１．１単位で段階的に拡大縮小しつつ識別を行う必要があるため、演算量が膨大なものとなる。
【００６１】
また、写真画像Ｓ０に含まれる可能性がある顔は、図１０（ａ）に示すように平面上の回転角度が０度のみではなく、図１０（ｂ）、（ｃ）に示すように回転している場合もある。しかしながら、両目の中心間距離が１０画素であり、顔の回転角度が０度のサンプル画像のみを使用して学習を行った場合、顔であるにも拘わらず、図１０（ｂ）、（ｃ）に示すように回転した顔については識別を行うことができなくなってしまう。
【００６２】
このため、本実施形態においては、顔であることが分かっているサンプル画像として、図８に示すように両目の中心間距離が９，１０，１１画素であり、各距離において平面上±１５度の範囲にて３度単位で段階的に顔を回転させたサンプル画像を用いて、第１の参照データＥ１の学習に許容度を持たせるようにしたものである。これにより、後述する第１の識別部５において識別を行う際には、写真画像Ｓ０を拡大率として１１／９単位で段階的に拡大縮小すればよいため、写真画像Ｓ０のサイズを例えば拡大率として例えば１．１単位で段階的に拡大縮小する場合と比較して、演算時間を低減できる。また、図１０（ｂ）、（ｃ）に示すように回転している顔も識別することができる。
【００６３】
一方、第２の参照データＥ２の学習には、図９に示すように両目の中心間距離が９．７，１０，１０．３画素であり、各距離において平面上±３度の範囲にて１度単位で段階的に顔を回転させたサンプル画像を用いているため、第１の参照データＥ１と比較して学習の許容度は小さい。また、後述する第２の識別部６において識別を行う際には、写真画像Ｓ０を拡大率として１０．３／９．７単位で拡大縮小する必要があるため、第１の識別部５において行われる識別よりも演算に長時間を要する。しかしながら、第２の識別部６において識別を行うのは第１の識別部５が識別した顔内の画像のみであるため、写真画像Ｓ０の全体を用いる場合と比較して目の位置の識別を行うための演算量を低減することができる。
【００６４】
以下、図１１のフローチャートを参照しながらサンプル画像群の学習手法の一例を説明する。なお、ここでは第１の参照データＥ１の学習について説明する。
【００６５】
学習の対象となるサンプル画像群は、顔であることが分かっている複数のサンプル画像と、顔でないことが分かっている複数のサンプル画像とからなる。なお、顔であることが分かっているサンプル画像は、上述したように１つのサンプル画像につき両目の中心位置が９，１０，１１画素であり、各距離において平面上±１５度の範囲にて３度単位で段階的に顔を回転させたものを用いる。各サンプル画像には、重みすなわち重要度が割り当てられる。まず、すべてのサンプル画像の重みの初期値が等しく１に設定される（Ｓ１）。
【００６６】
次に、サンプル画像における複数種類の画素群のそれぞれについて識別器が作成される（Ｓ２）。ここで、それぞれの識別器とは、１つの画素群を構成する各画素における特徴量Ｃ０の組み合わせを用いて、顔の画像と顔でない画像とを識別する基準を提供するものである。本実施形態においては、１つの画素群を構成する各画素における特徴量Ｃ０の組み合わせについてのヒストグラムを識別器として使用する。
【００６７】
図１２を参照しながらある識別器の作成について説明する。図１２の左側のサンプル画像に示すように、この識別器を作成するための画素群を構成する各画素は、顔であることが分かっている複数のサンプル画像上における、右目の中心にある画素Ｐ１、右側の頬の部分にある画素Ｐ２、額の部分にある画素Ｐ３および左側の頬の部分にある画素Ｐ４である。そして顔であることが分かっているすべてのサンプル画像について全画素Ｐ１〜Ｐ４における特徴量Ｃ０の組み合わせが求められ、そのヒストグラムが作成される。ここで、特徴量Ｃ０は勾配ベクトルＫの方向および大きさを表すが、勾配ベクトルＫの方向は０〜３５９の３６０通り、勾配ベクトルＫの大きさは０〜２５５の２５６通りあるため、これをそのまま用いたのでは、組み合わせの数は１画素につき３６０×２５６通りの４画素分、すなわち（３６０×２５６）4通りとなってしまい、学習および検出のために多大なサンプルの数、時間およびメモリを要することとなる。このため、本実施形態においては、勾配ベクトルの方向を０〜３５９を０〜４４と３１５〜３５９（右方向、値：０），４５〜１３４（上方向値：１），１３５〜２２４（左方向、値：２），２２５〜３１４（下方向、値３）に４値化し、勾配ベクトルの大きさを３値化（値：０〜２）する。そして、以下の式を用いて組み合わせの値を算出する。
【００６８】
組み合わせの値＝０（勾配ベクトルの大きさ＝０の場合）
組み合わせの値＝（（勾配ベクトルの方向＋１）×勾配ベクトルの大きさ（勾配ベクトルの大きさ＞０の場合）
これにより、組み合わせ数が９4通りとなるため、特徴量Ｃ０のデータ数を低減できる。
【００６９】
同様に、顔でないことが分かっている複数のサンプル画像についても、ヒストグラムが作成される。なお、顔でないことが分かっているサンプル画像については、顔であることが分かっているサンプル画像上における上記画素Ｐ１〜Ｐ４の位置に対応する画素が用いられる。これらの２つのヒストグラムが示す頻度値の比の対数値を取ってヒストグラムで表したものが、図１２の一番右側に示す、識別器として用いられるヒストグラムである。この識別器のヒストグラムが示す各縦軸の値を、以下、識別ポイントと称する。この識別器によれば、正の識別ポイントに対応する特徴量Ｃ０の分布を示す画像は顔である可能性が高く、識別ポイントの絶対値が大きいほどその可能性は高まると言える。逆に、負の識別ポイントに対応する特徴量Ｃ０の分布を示す画像は顔でない可能性が高く、やはり識別ポイントの絶対値が大きいほどその可能性は高まる。ステップＳ２では、識別に使用され得る複数種類の画素群を構成する各画素における特徴量Ｃ０の組み合わせについて、上記のヒストグラム形式の複数の識別器が作成される。
【００７０】
続いて、ステップＳ２で作成した複数の識別器のうち、画像が顔であるか否かを識別するのに最も有効な識別器が選択される。最も有効な識別器の選択は、各サンプル画像の重みを考慮して行われる。この例では、各識別器の重み付き正答率が比較され、最も高い重み付き正答率を示す識別器が選択される（Ｓ３）。すなわち、最初のステップＳ３では、各サンプル画像の重みは等しく１であるので、単純にその識別器によって画像が顔であるか否かが正しく識別されるサンプル画像の数が最も多いものが、最も有効な識別器として選択される。一方、後述するステップＳ５において各サンプル画像の重みが更新された後の２回目のステップＳ３では、重みが１のサンプル画像、重みが１よりも大きいサンプル画像、および重みが１よりも小さいサンプル画像が混在しており、重みが１よりも大きいサンプル画像は、正答率の評価において、重みが１のサンプル画像よりも重みが大きい分多くカウントされる。これにより、２回目以降のステップＳ３では、重みが小さいサンプル画像よりも、重みが大きいサンプル画像が正しく識別されることに、より重点が置かれる。
【００７１】
次に、それまでに選択した識別器の組み合わせの正答率、すなわち、それまでに選択した識別器を組み合わせて使用して各サンプル画像が顔の画像であるか否かを識別した結果が、実際に顔の画像であるか否かの答えと一致する率が、所定の閾値を超えたか否かが確かめられる（Ｓ４）。ここで、組み合わせの正答率の評価に用いられるのは、現在の重みが付けられたサンプル画像群でも、重みが等しくされたサンプル画像群でもよい。所定の閾値を超えた場合は、それまでに選択した識別器を用いれば画像が顔であるか否かを十分に高い確率で識別できるため、学習は終了する。所定の閾値以下である場合は、それまでに選択した識別器と組み合わせて用いるための追加の識別器を選択するために、ステップＳ６へと進む。
【００７２】
ステップＳ６では、直近のステップＳ３で選択された識別器が再び選択されないようにするため、その識別器が除外される。
【００７３】
次に、直近のステップＳ３で選択された識別器では顔であるか否かを正しく識別できなかったサンプル画像の重みが大きくされ、画像が顔であるか否かを正しく識別できたサンプル画像の重みが小さくされる（Ｓ５）。このように重みを大小させる理由は、次の識別器の選択において、既に選択された識別器では正しく識別できなかった画像を重要視し、それらの画像が顔であるか否かを正しく識別できる識別器が選択されるようにして、識別器の組み合わせの効果を高めるためである。
【００７４】
続いて、ステップＳ３へと戻り、上記したように重み付き正答率を基準にして次に有効な識別器が選択される。
【００７５】
以上のステップＳ３からＳ６を繰り返して、顔が含まれるか否かを識別するのに適した識別器として、特定の画素群を構成する各画素における特徴量Ｃ０の組み合わせに対応する識別器が選択されたところで、ステップＳ４で確認される正答率が閾値を超えたとすると、顔が含まれるか否かの識別に用いる識別器の種類と識別条件とが確定され（Ｓ７）、これにより第１の参照データＥ１の学習を終了する。
【００７６】
そして、上記と同様に識別器の種類と識別条件とを求めることにより第２の参照データＥ２の学習がなされる。
【００７７】
なお、上記の学習手法を採用する場合において、識別器は、特定の画素群を構成する各画素における特徴量Ｃ０の組み合わせを用いて顔の画像と顔でない画像とを識別する基準を提供するものであれば、上記のヒストグラムの形式のものに限られずいかなるものであってもよく、例えば２値データ、閾値または関数等であってもよい。また、同じヒストグラムの形式であっても、図１２の中央に示した２つのヒストグラムの差分値の分布を示すヒストグラム等を用いてもよい。
【００７８】
また、学習の方法としては上記手法に限定されるものではなく、ニューラルネットワーク等他のマシンラーニングの手法を用いることができる。
【００７９】
第１の識別部５は、複数種類の画素群を構成する各画素における特徴量Ｃ０の組み合わせのすべてについて第１の参照データＥ１が学習した識別条件を参照して、各々の画素群を構成する各画素における特徴量Ｃ０の組み合わせについての識別ポイントを求め、すべての識別ポイントを総合して写真画像Ｓ０に顔が含まれるか否かを識別する。この際、特徴量Ｃ０である勾配ベクトルＫの方向は４値化され大きさは５値化される。本実施形態では、すべての識別ポイントを加算して、その加算値の正負によって識別を行うものとする。例えば、識別ポイントの総和が正の値である場合には写真画像Ｓ０には顔が含まれると判断し、負の値である場合には顔は含まれないと判断する。なお、第１の識別部５が行う写真画像Ｓ０に顔が含まれるか否かの識別を第１の識別と称する。
【００８０】
ここで、写真画像Ｓ０のサイズは３０×３０画素のサンプル画像とは異なり、各種サイズを有するものとなっている。また、顔が含まれる場合、平面上における顔の回転角度が０度であるとは限らない。このため、第１の識別部５は、図１３に示すように、写真画像Ｓ０を縦または横のサイズが３０画素となるまで段階的に拡大縮小するとともに平面上で段階的に３６０度回転させつつ（図１３においては縮小する状態を示す）、各段階において拡大縮小された写真画像Ｓ０上に３０×３０画素サイズのマスクＭを設定し、マスクＭを拡大縮小された写真画像Ｓ０上において１画素ずつ移動させながら、マスク内の画像が顔の画像であるか否かの識別を行うことにより、写真画像Ｓ０に顔が含まれるか否かを識別する。
【００８１】
なお、第１参照データＥ１の生成時に学習したサンプル画像として両目の中心位置の画素数が９，１０，１１画素のものを使用しているため、写真画像Ｓ０の拡大縮小時の拡大率は１１／９とすればよい。また、第１および第２の参照データＥ１，Ｅ２の生成時に学習したサンプル画像として、顔が平面上で±１５度の範囲において回転させたものを使用しているため、写真画像Ｓ０は３０度単位で３６０度回転させればよい。
【００８２】
なお、特徴量算出部２は、写真画像Ｓ０の拡大縮小および回転という変形の各段階において特徴量Ｃ０を算出する。
【００８３】
そして、写真画像Ｓ０に顔が含まれるか否かの識別を拡大縮小および回転の全段階の写真画像Ｓ０について行い、一度でも顔が含まれると識別された場合には、写真画像Ｓ０には顔が含まれると識別し、顔が含まれると識別された段階におけるサイズおよび回転角度の写真画像Ｓ０から、識別されたマスクＭの位置に対応する３０×３０画素の領域を顔の画像として抽出する。
【００８４】
第２の識別部６は、第１の識別部５が抽出した顔の画像上において、複数種類の画素群を構成する各画素における特徴量Ｃ０の組み合わせのすべてについて第２の参照データＥ２が学習した識別条件を参照して、各々の画素群を構成する各画素における特徴量Ｃ０の組み合わせについての識別ポイントを求め、すべての識別ポイントを総合して顔に含まれる目の位置を識別する。この際、特徴量Ｃ０である勾配ベクトルＫの方向は４値化され大きさは５値化される。
【００８５】
ここで、第２の識別部６は、第１の識別部５が抽出した顔画像のサイズを段階的に拡大縮小するとともに平面上で段階的に３６０度回転させつつ、各段階において拡大縮小された顔画像上に３０×３０画素サイズのマスクＭを設定し、マスクＭを拡大縮小された顔上において１画素ずつ移動させながら、マスク内の画像における目の位置の識別を行う。
【００８６】
なお、第２参照データＥ２の生成時に学習したサンプル画像として両目の中心位置の画素数が９．０７，１０，１０．３画素のものを使用しているため、顔画像の拡大縮小時の拡大率は１０．３／９．７とすればよい。また、第２の参照データＥ２の生成時に学習したサンプル画像として、顔が平面上で±３度の範囲において回転させたものを使用しているため、顔画像は６度単位で３６０度回転させればよい。
【００８７】
なお、特徴量算出部２は、顔画像の拡大縮小および回転という変形の各段階において特徴量Ｃ０を算出する。
【００８８】
そして、本実施形態では、抽出された顔画像の変形の全段階においてすべての識別ポイントを加算し、加算値が最も大きい変形の段階における３０×３０画素のマスクＭ内の顔画像において、左上隅を原点とする座標を設定し、サンプル画像における目の位置の座標（ｘ１，ｙ１）、（ｘ２，ｙ２）に対応する位置を求め、変形前の写真画像Ｓ０におけるこの位置に対応する位置を目の位置と識別する。
【００８９】
第１の出力部７は、第１の識別部５が写真画像Ｓ０に顔が含まれないと識別した場合には、写真画像Ｓ０をそのまま出力部５０に出力する一方、第１の識別部５が写真画像Ｓ０に顔が含まれると認識した場合には、第２の識別部６が識別した両目の位置から両目間の距離Ｄを求め、両目の位置および両目間の距離Ｄを情報Ｑとしてトリミング部１０および照合部４０に出力する。
【００９０】
図１４は本実施形態における検出部１の動作を示すフローチャートである。写真画像Ｓ０に対して、まず、特徴量算出部２が写真画像Ｓ０の拡大縮小および回転の各段階において、写真画像Ｓ０の勾配ベクトルＫの方向および大きさを特徴量Ｃ０として算出する（Ｓ１２）。そして、第１の識別部５が記憶部４から第１の参照データＥ１を読み出し（Ｓ１３）、写真画像Ｓ０に顔が含まれるか否かの第１の識別を行う（Ｓ１４）。
【００９１】
第１の識別部５は、写真画像Ｓ０に顔が含まれると判別する（Ｓ１４：Ｙｅｓ）と、写真画像Ｓ０から顔を抽出する（Ｓ１５）。ここでは、１つの顔に限らず複数の顔を抽出してもよい。次いで、特徴量算出部２が顔画像の拡大縮小および回転の各段階において、顔画像の勾配ベクトルＫの方向および大きさを特徴量Ｃ０として算出する（Ｓ１６）。そして、第２の識別部６が記憶部４から第２の参照データＥ２を読み出し（Ｓ１７）、顔に含まれる目の位置を識別する第２の識別を行う（Ｓ１８）。
【００９２】
続いて、第１の出力部７が写真画像Ｓ０から識別された目の位置および、この目の位置に基づいて求められた両目間の距離Ｄを情報Ｑとしてトリミング部１０および照合部４０に出力する（Ｓ１９）。
【００９３】
一方、ステップＳ１４において、写真画像Ｓ０に顔が含まれていないと判別される（Ｓ１４：Ｎｏ）と、第１の出力部７は、写真画像Ｓ０をそのまま出力部５０に出力する（Ｓ１９）。
【００９４】
トリミング部１０は、検出部１から出力されてきた情報Ｑに基づいて、左目のみと右目のみとを夫々含む所定の範囲を切り出してトリミング画像Ｓ１ａとＳ１ｂを得るものである。ここで、トリミングする際の所定の範囲とは、夫々の目の近傍を外枠にした範囲であり、例えば、図１５に示す斜線範囲のように、検出部１より識別した目の位置（目の中心点）を中心とした、図示Ｘ方向とＹ方向の長さが夫々Ｄと０．５Ｄである長方形の範囲とすることができる。なお、図示斜線範囲は、図中の左目のトリミングの範囲であるが、右目についても同様である。
【００９５】
グレー変換部１２は、トリミング部１０により得られたトリミング画像Ｓ１に対して下記の式（２）に従ってグレー変換処理を行ってグレースケール画像Ｓ２を得る。
【００９６】
Ｙ＝０．２９９×Ｒ＋０．５８７×Ｇ＋０．１１４×Ｂ      （２）
但し、Ｙ：輝度値
Ｒ，Ｇ，Ｂ：Ｒ、Ｇ、Ｂ値
前処理部１４は、グレースケール画像Ｓ２に対して前処理を行うものであり、ここでは、前処理として、平滑化処理と穴埋め処理が行われる。また、平滑化処理は、例えばカウシアンフィルタを適用することによって行われ、穴埋め処理は、補間処理とすることができる。
【００９７】
図３に示すように、写真画像における瞳の部分において、中心より上が部分的に明るくなる傾向があるため、穴埋め処理を行ってこの部分のデータを補間することにより瞳の中心位置の検出精度を向上させることができる。
【００９８】
２値化部２０は、２値化閾値算出部１８を有し、該２値化閾値算出部１８により算出した閾値Ｔを用いて、前処理部１４により得られた前処理済み画像Ｓ３を２値化して２値画像Ｓ４を得るものである。２値化閾値算出部１８は、具体的には前処理済み画像Ｓ３に対して、図１６に示す輝度のヒストグラムを作成し、前処理済み画像Ｓ３の全画素数の数分の１（図示では１／５となる２０％）に相当する出現頻度に対応する輝度値を２値化用の閾値Ｔとして求める。２値化部２０は、この閾値Ｔを用いて前処理済み画像Ｓ３を２値化して２値画像Ｓ４を得る。
【００９９】
投票部３０は、まず、２値化画像Ｓ４における各画素（画素値が１となる画素）の座標を円環のハフ空間（円中心点Ｘ座標，円中心点Ｙ座標，半径ｒ）に投票して、各投票位置の投票値を算出する。通常、１つの投票位置がある画素により投票されると、１回投票されたとして投票値に１が加算されるようにして各投票位置の投票値を求めるようにしているが、ここでは、１つの投票位置がある画素に投票されると、投票値に１を加算するのではなく、投票した画素の輝度値を参照して、輝度値が小さいほど、大きい重みを付けて加算するようにして各投票位置の投票値を求める。図１７は、図１に示す実施形態の瞳中心位置検出装置における投票部３０に使用された重付け係数のテーブルを示している。なお、図中Ｔは、２値化閾値算出部１８により算出された２値化用の閾値Ｔである。
【０１００】
投票部３０は、このようにして各投票位置の投票値を求めた後、これらの投票位置のうち、円環中心点座標値、即ち円環ハフ空間（Ｘ，Ｙ，ｒ）における（Ｘ，Ｙ）座標値が同じである投票位置同士の投票値を加算して各々の（Ｘ，Ｙ）座標値に対応する統合投票値Ｗを得て、相対応する（Ｘ，Ｙ）座標値と対応付けて中心位置候補取得部３５に出力する。
【０１０１】
中心位置候補取得部３５は、まず、投票部３０からの各々の統合投票値から、最も大きい統合投票値に対応する（Ｘ，Ｙ）座標値を、瞳の中心位置候補Ｇとして取得して、照合部４０に出力する。ここで、中心位置候補取得部３５により取得された中心位置候補Ｇは、左瞳の中心位置Ｇａと右瞳の中心位置Ｇｂとの２つであり、照合部４０は、検出部１により出力された両目間の距離Ｄに基づいて、２つの中心位置Ｇａ、Ｇｂの照合を行う。
【０１０２】
具体的には、照合部４０は、次の２つの照合基準に基づいて照合を行う。
【０１０３】
１． 左瞳の中心位置と右瞳の中心位置とのＹ座標値の差が（Ｄ／５０）以下。
【０１０４】
２． 左瞳の中心位置と右瞳の中心位置とのＸ座標値の差が（０．８×Ｄ〜１．２×Ｄ）の範囲内。
【０１０５】
照合部４０は、中心位置候補取得部３５からの２つの瞳の中心位置候補Ｇａ、Ｇｂが上記２つの照合基準を満たしているか否かを判別し、２つの基準とも満たしていれば（以下照合基準を満たしているという）、瞳の中心位置候補Ｇａ、Ｇｂを瞳の中心位置として微調整部４５に出力する。一方、２つの基準または２つの基準のうちの１つを満たしていなければ（以下照合基準を満たしていないという）、中心位置候補取得部３５に次の中心位置候補を取得するように指示すると共に、中心位置候補取得部３５により取得された次の中心位置候補に対して上述した照合、照合基準を満たしている場合の中心位置出力、照合基準を満たしていない場合の中心位置候補を再取得する指示などの処理を、照合基準を満たすようになるまで繰り返す。
【０１０６】
片方、中心位置候補取得部３５は、照合部４０から次の中心位置候補の取得が指示されると、まず、片方（ここでは、左瞳）の中心位置を固定して、もう片方（ここでは右瞳）の各々の統合投票値Ｗｂから、下記の３つの条件に合う投票位置の（Ｘ，Ｙ）座標値を次の中心位置候補として取得する。
【０１０７】
１．最後に照合部４０に出力した中心位置候補の（Ｘ、Ｙ）座標値により示される位置とＤ／３０以上（Ｄ：両目間の距離）離れている。
【０１０８】
２．相対応する統合投票値が、条件１を満たす（Ｘ，Ｙ）座標値に対応する統合投票値のうち、最後に照合部４０に出力した中心位置候補の（Ｘ，Ｙ）座標値に対応する統合投票値の次に大きい。
【０１０９】
３．相対応する統合投票値が、１回目に照合部４０に出力した中心位置候補の（Ｘ，Ｙ）座標値に対応する統合投票値（最も大きい統合投票値）の１０パーセント以上である。
【０１１０】
中心位置候補取得部３５は、まず、左瞳の中心位置を固定して、右瞳に対して求められた統合投票値Ｗｂに基づいて上記３つの条件を満たす右瞳の中心位置候補を探すが、上記３つの条件を満たす候補を見つからない場合には、右瞳の中心位置を固定して、左瞳に対して求められた統合投票値Ｗａに基づいて上記の３つの条件を満たす左瞳の中心位置を探す。
【０１１１】
微調整部４５は、照合部４０から出力してきた瞳の中心位置Ｇ（照合基準を満たしている中心位置候補）に対して微調整を行うものである。まず、左瞳の中心位置の微調整を説明する。微調整部４５は、２値化部２０により得られた左目のトリミング画像Ｓ１ａの２値画像Ｓ４ａに対して、サイズが９×９で、オール１のマスクを用いてマスク演算を３回繰り返し、このマスク演算の結果により得られた最大結果値を有する画素の位置（Ｇｍとする）に基づいて、照合部４０から出力してきた左瞳の中心位置Ｇａに対して微調整を行う。具体的には、例えば、位置Ｇｍと中心位置Ｇａとの平均を取って得た平均位置を瞳の最終中心位置Ｇ’aとするようにしてもよいし、中心位置Ｇａの方に重みを付けて平均演算して得た平均位置を瞳の最終中心位置Ｇ’ａとするようにしてもよい。ここでは、中心位置Ｇａの方に重みを付けて平均演算することにする。
【０１１２】
また、右瞳の中心位置の微調整は、右目のトリミング画像Ｓ１ｂの２値画像Ｓ４ｂを用いて上記と同じように行われる。
【０１１３】
微調整部４５は、このようにして、照合部４０から出力してきた瞳の中心位置Ｇａ、Ｇｂに対して微調整を行って得た最終中心位置Ｇ’ａ、Ｇ’ｂを出力部５０に出力する。
【０１１４】
出力部５０は、検出部１からの写真画像Ｓ０（顔が含まれていない写真画像）に「顔が含まれていない」旨の識別情報を付けて記録媒体に出力して記録させる一方、微調整部４５からの中心位置Ｇ’とこの中心位置Ｇ’に対応する写真画像Ｓ０とを対応付けて記録媒体に出力して記録させる。
【０１１５】
図１８は、図１に示す実施形態の瞳中心位置検出装置の処理を示すフローチャートである。図示のように、写真画像Ｓ０は、まず検出部１において顔が含まれているか否かの判別がされる（Ｓ１１０）。判別の結果、写真画像Ｓ０に顔が含まれていなければ（Ｓ１１５：Ｎｏ）、写真画像Ｓ０は検出部１から出力部５０に出力される一方、写真画像Ｓ０に顔が含まれていれば（Ｓ１１５：Ｙｅｓ）、さらに、検出部１において写真画像Ｓ０における目の位置が検出され、両目の位置および両目間の距離Ｄが情報Ｑとしてトリミング部１０に出力される（Ｓ１２０）。トリミング部１０において、写真画像Ｓ０がトリミングされ、左目のみを含むトリミング画像Ｓ１ａと右目のみを含むトリミング画像Ｓ１ｂが得られる（Ｓ１２５）。トリミング画像Ｓ１は、グレー変換部１２によりグレー変換されてグレースケール画像Ｓ２となる（Ｓ１３０）。グレースケール画像Ｓ２は、前処理部１４により平滑化処理と穴埋め処理を施され、さらに２値化部２０により２値化処理されて２値画像Ｓ４となる（Ｓ１３５、Ｓ１４０）。投票部３０において、２値画像Ｓ４の各画素の座標は円環のハフ空間に投票され、その結果、各々の円中心点を示す（Ｘ，Ｙ）座標値に対応する統合投票値Ｗが得られる（Ｓ１４５）。中心位置候補取得部３５は、まず、最も大きい統合投票値に対応する（Ｘ，Ｙ）座標値を瞳の中心位置候補Ｇとして照合部４０に出力する（Ｓ１５０）。照合部４０は、前述した照合基準に基づいて中心位置候補取得部３５からの２つの中心位置候補Ｇａ、Ｇｂに対して照合を行い（Ｓ１１５）、２つの中心位置候補Ｇａ、Ｇｂが照合基準を満たしていれば（Ｓ１６０：Ｙｅｓ）、この２つの中心位置候補Ｇａ、Ｇｂを中心位置として微調整部４５に出力する一方、２つの中心位置候補Ｇａ、Ｇｂが照合基準を満たしていなければ（Ｓ１６０：Ｎｏ）、中心位置候補取得部３５に次の中心位置候補を探すように指示する（Ｓ１５０）。ステップＳ１５０からステップＳ１６０までの処理が、照合部４０により、中心位置候補取得部３５からの中心位置候補Ｇが照合基準を満たすと判別されるまで繰り返される。
【０１１６】
微調整部４５は、照合部４０から出力された中心位置Ｇに対して微調整を行い、最終中心位置Ｇ’を得て出力部５０に出力する（Ｓ１６５）。
【０１１７】
出力部５０は、検出部１からの写真画像Ｓ０（Ｓ１１５：Ｎｏ）に「顔が含まれていない」旨の識別情報を付けて記録媒体に出力して記録させる一方、微調整部４５からの中心位置Ｇ’とこの中心位置Ｇ’に対応する写真画像Ｓ０とを対応付けて記録媒体に出力して記録させる。
【０１１８】
このように、本実施形態の瞳中心検出装置によれば、円となる瞳を多数の同心円環の集合として捉え、トリミング画像Ｓ１の２値画像Ｓ４の全画素の座標を円環のハフ空間に投票し、投票された各投票位置のうち、同じ（円心のＸ座標値，円心のＹ座標値）を有する投票位置の投票値を加算して統合投票値得、最も大きい投票値に対応する（Ｘ，Ｙ）座標値により示される位置を円中心の位置として検出するようにしているので、欠損のある円（例えば目瞑り写真画像中の瞳や、前髪が目に部分的にかかった写真画像中の瞳など）の中心位置も検出することができるハフ変換の長所を生かすと共に、エッジの画素のみを用いる従来の技術よりノイズの影響を受けにくく、正確に瞳の中心位置を検出することができる。
【０１１９】
また、本実施形態の瞳中心位置検出装置は、瞳の中心に近いほど輝度が小さい特徴を利用して、各投票位置に対して、投票する画素の輝度が小さいほど重みが大きくなるように、各画素の投票回数を重み付け加算して得た値を当該投票位置の投票値としているので、より正確に瞳の中心位置を検出することができる。
【０１２０】
さらに、本実施形態の瞳中心位置検出装置において、照合部４０が設けられており、照合部４０により同じ顔にある両目の瞳の中心位置の差が所定の範囲内であることを基準にして検出された瞳の中心位置が正しいか否かを判別し、瞳の位置が正しくなければ求め直すようにすることによって、目の近傍の痣などの他の円の中心位置を瞳の中心位置として検出してしまうことを防ぐことができるので、より正確に瞳の中心位置を検出することができる。
【０１２１】
さらに、目の近傍は肌色しかないことに着目して、目の近傍を外枠にしてトリミングして得たトリミング画像を瞳の検出に用いていることによって、高い検出率で瞳の中心位置を検出することができる。
【０１２２】
図１９は、本発明の第２の実施形態となる瞳中心位置検出装置の構成を示すブロック図である。なお、本実施形態の瞳中心位置検出装置は、後述する投票部３０’が、図１に示す第１の実施形態の瞳中心位置検出装置の投票部３０と異なる点を除いて、他の全ての構成が図１に示す瞳中心位置検出装置の相対応する構成と同様であるので、図１９において、図１に示す実施形態の瞳中心位置検出装置の相対応する構成と同様な構成については同じ符号を付与すると共に、投票部３０’の動作についてのみ説明する。
【０１２３】
図１９に示す本発明の第２の実施形態の瞳中心位置検出装置における投票部３０’は、まず、２値化画像Ｓ４における各画素（画素値が１となる画素）の座標を円環のハフ空間（円中心点Ｘ座標，円中心点Ｙ座標，半径ｒ）に投票して、各投票位置の投票値を算出する。通常、１つの投票位置がある画素により投票されると、１回投票されたとして投票値に１が加算されるようにして各投票位置の投票値を求めるようにしているが、ここでは、１つの投票位置がある画素に投票されると、投票値に１を加算するのではなく、投票した画素の輝度値を参照して、輝度値が小さいほど、大きい重みを付けて加算するようにして各投票位置の投票値を求める。ここで、投票部３０’は、図１７に示す重付け係数のテーブルを用いて投票値の重み付けを行って得た値を各投票位置の統合投票値Ｗとし、相対応する投票位置の（Ｘ，Ｙ,ｒ）座標値と対応付けて中心位置候補取得部３５に出力する。
【０１２４】
図１９に示すような、投票部３０’を備えた瞳中心位置検出装置は、図１に示す瞳中心位置検出装置と比べ、瞳の中心位置の検出精度が低いが、照合部４０や、微調整部４５などを備えているので、正確に瞳の中心位置を検出することができる。また、各投票位置の投票値そのものを統合投票値としているため、演算量が少なく、高速な処理を図ることができる。
【０１２５】
以上、本発明の望ましい実施形態について説明したが、本発明の円中心位置検出方法および装置並びにそのためのプログラムは、本実施形態に限られることがなく、本発明の主旨から逸脱しない限り、種々の変更、増減を加えることができる。
【０１２６】
例えば、図１および図１９に示す実施形態の瞳中心位置検出装置は、写真画像Ｓ０をトリミングして得た目近傍の画像（トリミング画像Ｓ１）をグレー変換してグレースケール画像Ｓ２を得、グレースケール画像Ｓ２に対して前処理部１４からの処理を行って瞳中心位置を検出するようにしているが、グレー変換を施さずにトリミング画像Ｓ１に対して前処理部１４からの処理を行って瞳中心位置を検出するするようにしてもよい。
【０１２７】
また、図１および図９に示す実施形態の瞳中心位置検出装置は、処理の高速化およびメモリの節約を図るため、グレースケール画像Ｓ２を２値化してからハフ空間への投票を行うようにしているが、２値化せずに、直接グレースケール画像Ｓ２を用いてハフ空間への投票を行うようにしてもよい。
【０１２８】
また、図１および図９に示す実施形態の瞳中心位置検出装置において、投票部３０および投票部３０’は、瞳は、中心に近いほど輝度が小さいことに着目し、画素の輝度が小さいほど重みが大きくなるように、各画素の投票回数を重み付け加算するようにし、検出の精度向上を図っている。さらに、瞳は、肌部分や、カラー眼鏡のフレーム部分や、色染めした髪の部分より有色度が低いことを利用し、例えば、図２０（ａ）に示すように、画素の有色度が大きいほど重み（前述した輝度に応じた重みと異なる）が小さくなるように、各画素の投票回数を重み付け加算するようにしてもよい。こうすることによって、瞳以外の有色部分のノイズの影響を軽減することができ、検出の精度をより高めることができる。また、重みの付け方についても、図２０（ａ）に示すような方法に限られるものではなく、例えば、図２０（ｂ）に示すような、画素の有色度に応じた加算値を、該画素の投票回数に加算するようにしてもよい。
【０１２９】
また、眼鏡フレームや髪のノイズを除去する工夫をさらに加えてもよい。例えば、投票されたハフ空間上の各投票位置（Ｘ，Ｙ、ｒ）の投票された回数をＸ−Ｙ平面に対して投影してその分布を見ると、瞳の中心位置に対応する座標（（Ｘ０，Ｙ０）とする）点において、回数が明らかなピークになることに着目し、図２１に示すような、回数のピーク部分が点にならず、連続的に延びる分布を有する場合、これらの部位を、眼鏡フレームや髪のノイズとして判定して、瞳の中心位置の候補から除外するようにすることができる。
【０１３０】
また、顔写真画像の場合、瞳は赤く写されることがある。本発明の円中心位置検出方法および装置は、赤く写された瞳（赤目）の中心位置を検出することにも適用することができる。さらに、カラーの顔写真画像をグレー変換せずに瞳の中心位置を検出すると共に、このカラーの顔写真画像をグレー変換してから瞳の中心位置を検出し、検出された２つの中心位置の差を比較することによって、顔写真画像中の瞳が赤目になっているか否かを判断することに適用してもよい。勿論、例えば、赤目になっていると判断した場合、赤目補正などの処理を施すようにしてもよい。
【０１３１】
また、図１に示す実施形態の瞳中心位置検出装置において、目の近傍を外枠にしてトリミングして得たトリミング画像には通常、瞳以外に円がないことと、照合部４０による照合がされることから、投票部３０は、各々の投票位置のうち、円環中心点座標値、即ち円環ハフ空間（Ｘ，Ｙ，ｒ）における（Ｘ，Ｙ）座標値が同じである投票位置同士の投票値を加算して各々の（Ｘ，Ｙ）座標値に対応する統合投票値を求める際に、加算される投票位置の半径ｒの範囲を限定していないが、例えば、検出しようとする円（ここでは瞳）の半径の範囲が分かっていれば、この半径の範囲内にある投票位置の投票値のみを加算して統合投票値を得るようにしてもよい。こうすることによって、この半径範囲外の半径を有する円の中心位置を、検出しようとする円の中心位置として誤検出することを防ぐことができる。本実施形態の瞳中心位置においては、例えば、両目間の距離Ｄに基づいて、瞳の半径範囲を規定して統合投票値を求めるようにすることができる。
【０１３２】
また、図１および図１９に示す実施形態の瞳中心位置検出装置において、検出部１により顔が含まれているか否かの検出を行っているが、証明写真など顔が含まれているデジタル写真画像のみを対象とする場合には、顔の検出を行わずに、直接目の位置を検出するようにしてもよい。
【０１３３】
また、顔の検出方法、目の位置の検出方法も、検出部１に用いられた方法に限られず、従来公知の方法を用いてもよい。
【０１３４】
また、自動検出せずに、操作者により目の近傍位置を指定し、指定された位置に基づいてトリミングするようにしてもよい。
【０１３５】
また、図１および図１９に示す実施形態の瞳中心位置検出装置は、検出された瞳の中心位置の精度を高めるために、微調整部４５を設けて、検出された瞳の中心位置に対して微調整しているが、微調整は、必ずしも必要ではない。
【０１３６】
さらに、微調整を行う際にも、２値画像の代わりに前処理されたグレースケール画像に対してマスク演算を数回行って、その結果最大値を有する画素の位置を得、この位置に基づいて瞳の中心位置を微調整するようにしてもよい。なお、マスク演算する際のマスクも、本実施形態の瞳検出装置の微調整部４５に用いられた９×９のサイズに限られることがなく、５×５などの他のサイズのマスクを用いてもよい。
【０１３７】
また、検出された瞳の中心位置の出力方法も、本実施形態の瞳中心位置検出装置のように、写真画像と対応付けて記録媒体に記録することに限らず、瞳の中心位置に応じた画像処理を行う画像処理システムに出力したり、瞳の中心位置に基づいて顔の写真画像をトリミングする装置に出力したりするなど、瞳の中心位置を必要とする処理系に供するようにしてもよい。
【０１３８】
さらに、本発明は、瞳に限らず、いかなる円の中心位置の検出にも適用することができる。
【図面の簡単な説明】
【０１３９】
【図１】本発明の第１の実施形態となる瞳中心位置検出装置の構成を示すブロック図
【図２】図１に示す瞳中心位置検出装置の検出部１の構成を示すブロック図
【図３】目の中心位置を説明するための図
【図４】（ａ）は水平方向のエッジ検出フィルタを示す図、（ｂ）は垂直方向のエッジ検出フィルタを示す図
【図５】勾配ベクトルの算出を説明するための図
【図６】（ａ）は人物の顔を示す図、（ｂ）は（ａ）に示す人物の顔の目および口付近の勾配ベクトルを示す図
【図７】（ａ）は正規化前の勾配ベクトルの大きさのヒストグラムを示す図、（ｂ）は正規化後の勾配ベクトルの大きさのヒストグラムを示す図、（ｃ）は５値化した勾配ベクトルの大きさのヒストグラムを示す図、（ｄ）は正規化後の５値化した勾配ベクトルの大きさのヒストグラムを示す図
【図８】第１の参照データの学習に用いられる顔であることが分かっているサンプル画像の例を示す図
【図９】第２の参照データの学習に用いられる顔であることが分かっているサンプル画像の例を示す図
【図１０】顔の回転を説明するための図
【図１１】参照データの学習手法を示すフローチャート
【図１２】識別器の導出方法を示す図
【図１３】識別対象画像の段階的な変形を説明するための図
【図１４】検出部１の処理を示すフローチャート
【図１５】トリミング部１０がトリミングする位置を説明するための図
【図１６】２値化閾値の求め方を説明するための図
【図１７】投票値の重み付けを説明するための図
【図１８】図１に示す実施形態の瞳中心位置検出装置の処理を示すフローチャート
【図１９】本発明の第２の実施形態となる瞳中心位置検出装置の構成を示すブロック図
【図２０】画素の有色度に応じた投票回数の加算方法を説明するための図
【図２１】投票回数のＸ−Ｙ平面に対する分布に基づいたノイズの判断を説明するための図
【符号の説明】
【０１４０】
１    検出部
１０    トリミング部
１２    グレー変換部
１４    前処理部
１８    ２値化閾値算出部
２０    ２値化部
３０，３０’    投票部
３５    中心位置候補取得部
４０    照合部
４５    微調整部
５０    出力部
Ｓ０    写真画像
Ｓ１    トリミング画像
Ｓ２    グレースケール画像
Ｓ３    前処理済み画像
Ｓ４    ２値画像
【図１】
2005108206.tif 000003
【図２】
2005108206.tif 000004
【図３】
2005108206.tif 000005
【図４】
2005108206.tif 000006
【図５】
2005108206.tif 000007
【図６】
2005108206.tif 000008
【図７】
2005108206.tif 000009
【図８】
2005108206.tif 000010
【図９】
2005108206.tif 000011
【図１０】
2005108206.tif 000012
【図１１】
2005108206.tif 000013
【図１２】
2005108206.tif 000014
【図１３】
2005108206.tif 000015
【図１４】
2005108206.tif 000016
【図１５】
2005108206.tif 000017
【図１６】
2005108206.tif 000018
【図１７】
2005108206.tif 000019
【図１８】
2005108206.tif 000020
【図１９】
2005108206.tif 000021
【図２０】
2005108206.tif 000022
【図２１】
2005108206.tif 000023