(57)【特許請求の範囲】
【請求項１】
人物の顔面画像について両眼の位置を検出する方法であって、
コンピュータ内に、両眼の基準として用いる左右の区別がない基準単眼画像を準備する基準単眼画像準備段階と、
コンピュータ内に、検出の対象となる人物の顔面画像を準備する顔面画像準備段階と、
コンピュータが、前記顔面画像の上の所定の重畳位置に前記基準単眼画像を重ねて配置し、重なった部分の両画像の類似度を求める演算を、第１次候補となる複数通りの重畳位置について実行し、それぞれの類似度を求める類似度演算段階と、
コンピュータが、前記第１次候補のうち、類似度がしきい値未満の候補を除外し、残りの候補を第２次候補とするしきい値未満除外段階と、
コンピュータが、前記第２次候補の各重畳位置について、前記顔面画像上での水平方向に関する類似度の変動を調べ、前記第２次候補の中から、類似度が極大値をとる候補を第３次候補として抽出する極大抽出段階と、
コンピュータが、前記第３次候補の中から、類似度の大きい所定数の重畳位置を第４次候補として選択する上位候補選択段階と、
コンピュータが、前記第４次候補の中から、次の２条件を満たす関係にある一対の重畳位置を最終候補と決定する最終候補決定段階と、
（条件１）前記基準単眼画像を当該一対の重畳位置にそれぞれ配置したときに、両画像枠の「前記顔面画像を左右に二等分する縦方向に伸びる顔中心線に関する対称性」が所定の基準以上であること、
（条件２）前記基準単眼画像を当該一対の重畳位置にそれぞれ配置したときに、両画像枠が互いに重なり合わないこと、
コンピュータが、前記最終候補として決定された一対の重畳位置に前記基準単眼画像を配置したときの当該一対の重畳位置に配置された各基準単眼画像の画像枠内の代表点の位置を両眼の位置の検出結果として出力する検出結果出力段階と、
を有することを特徴とする人物顔面画像についての両眼位置検出方法。
【請求項２】
請求項１に記載の検出方法において、
基準単眼画像準備段階で、ｍ列ｎ行の二次元画素配列（第０列〜第（ｍ−１）列、第０行〜第（ｎ−１）行の行列）をもった基準単眼画像を準備し、
顔面画像準備段階で、Ｍ列Ｎ行の二次元画素配列（但し、Ｍ＞ｍ、Ｎ＞ｎであり、第０列〜第（Ｍ−１）列、第０行〜第（Ｎ−１）行の行列）をもった顔面画像を準備し、
類似度演算段階で、前記基準単眼画像の第０列第０行目の画素を、前記顔面画像上の第ｉ列第ｊ行目の画素に重ねるような配置を行い、ｉを０〜（Ｍ−ｍ）まで１ずつ変え、ｊを０〜（Ｎ−ｎ）まで１ずつ変えた組み合わせの各配置について、それぞれ類似度を求める演算を実行し、第１次候補となる合計（Ｍ−ｍ＋１）×（Ｎ−ｎ＋１）通りの重畳位置についての類似度を求めることを特徴とする人物顔面画像についての両眼位置検出方法。
【請求項３】
請求項１または２に記載の検出方法において、
基準単眼画像準備段階で、ｍ列ｎ行の二次元画素配列（第０列〜第（ｍ−１）列、第０行〜第（ｎ−１）行の行列）をもった基準単眼画像を準備し、
顔面画像準備段階で、Ｍ列Ｎ行の二次元画素配列（但し、Ｍ＞ｍ、Ｎ＞ｎであり、第０列〜第（Ｍ−１）列、第０行〜第（Ｎ−１）行の行列）をもった顔面画像を準備し、
類似度演算段階で、前記基準単眼画像の第０列第０行目の画素を、前記顔面画像上の第ｉ列第ｊ行目（但し、ｉ＝０〜（Ｍ−ｍ），ｊ＝０〜（Ｎ−ｎ））の画素に重ねるような配置を行った際の類似度Ｒ（ｉ，ｊ）を、
Ｒ（ｉ，ｊ）＝
Σβ＝０，n−１（Σα＝０，m−１（Ｆ（ｉ＋α，ｊ＋β）・Ｅ（α，β）））
（但し、Ｆ（ｉ＋α，ｊ＋β）は顔面画像の第（ｉ＋α）列第（ｊ＋β）行目の画素の所定色の画素値、Ｅ（α，β）は基準単眼画像の第α列第β行目の当該所定色の画素値）
なる演算式を用いて求めることを特徴とする人物顔面画像についての両眼位置検出方法。
【請求項４】
請求項３に記載の検出方法において、
基準単眼画像準備段階で、赤緑青の３原色の画素値Ｅｒ，Ｅｇ，Ｅｂをもつ画素の集合からなる基準単眼画像を準備し、
顔面画像準備段階で、赤緑青の３原色の画素値Ｆｒ，Ｆｇ，Ｆｂをもつ画素の集合からなる顔面画像を準備し、
類似度演算段階で、
Ｒ（ｉ，ｊ）＝１／３・
（Σβ＝０，n−１（Σα＝０，m−１（Ｆｒ（ｉ＋α，ｊ＋β）・Ｅｒ（α，β）））
＋Σβ＝０，n−１（Σα＝０，m−１（Ｆｇ（ｉ＋α，ｊ＋β）・Ｅｇ（α，β）））
＋Σβ＝０，n−１（Σα＝０，m−１（Ｆｂ（ｉ＋α，ｊ＋β）・Ｅｂ（α，β））））
（但し、Ｆｒ（ｉ＋α，ｊ＋β）は顔面画像の第（ｉ＋α）列第（ｊ＋β）行目の画素の赤色の画素値、Ｅｒ（α，β）は基準単眼画像の第α列第β行目の赤色の画素値、Ｆｇ（ｉ＋α，ｊ＋β）は顔面画像の第（ｉ＋α）列第（ｊ＋β）行目の画素の緑色の画素値、Ｅｇ（α，β）は基準単眼画像の第α列第β行目の緑色の画素値、Ｆｂ（ｉ＋α，ｊ＋β）は顔面画像の第（ｉ＋α）列第（ｊ＋β）行目の画素の青色の画素値、Ｅｂ（α，β）は基準単眼画像の第α列第β行目の青色の画素値）
なる演算式を用いて類似度Ｒ（ｉ，ｊ）を求めることを特徴とする人物顔面画像についての両眼位置検出方法。
【請求項５】
請求項３に記載の検出方法において、
基準単眼画像準備段階で、赤色の画素値Ｅｒをもつ画素の集合からなる基準単眼画像を準備し、
顔面画像準備段階で、赤緑青の３原色の画素値Ｆｒ，Ｆｇ，Ｆｂをもつ画素の集合からなる顔面画像を準備し、
類似度演算段階で、赤色の画素値のみの類似度を考慮して、
Ｒ（ｉ，ｊ）＝
Σβ＝０，n−１（Σα＝０，m−１（Ｆｒ（ｉ＋α，ｊ＋β）・Ｅｒ（α，β）））
（但し、Ｆｒ（ｉ＋α，ｊ＋β）は顔面画像の第（ｉ＋α）列第（ｊ＋β）行目の画素の赤色の画素値、Ｅｒ（α，β）は基準単眼画像の第α列第β行目の赤色の画素値）
なる演算式を用いて類似度Ｒ（ｉ，ｊ）を求めることを特徴とする人物顔面画像についての両眼位置検出方法。
【請求項６】
請求項１〜５のいずれかに記載の検出方法において、
極大抽出段階で、水平方向に隣接して配列された第２次候補の各重畳位置について、隣接位置間における類似度の変遷を順に調べてゆき、類似度の値が増加から減少に転じたときに、減少に転じる直前の重畳位置を類似度が極大値をとる第３次候補として抽出することを特徴とする人物顔面画像についての両眼位置検出方法。
【請求項７】
請求項１〜６のいずれかに記載の検出方法において、
上位候補選択段階で、第３次候補の中から、類似度の大きい順に候補を選択してゆく処理を、選択された候補数が所定数に達するもしくは所定数を越えるまで繰り返し実行し、選択された候補を暫定的に第４次候補とした後、当該選択された候補内に互いに近傍にある複数の重畳位置が含まれていた場合には、当該複数の重畳位置のうちの代表となる１つのみを第４次候補として残し、それ以外を第４次候補から除外することを特徴とする人物顔面画像についての両眼位置検出方法。
【請求項８】
請求項１〜７のいずれかに記載の検出方法において、
最終候補決定段階で、一方の画像枠の中心点と顔中心線との距離と、他方の画像枠の中心点と顔中心線との距離との差が、所定の範囲内の値となり、かつ、前記一方の画像枠の中心点から顔中心線へ下ろした垂線の足と、前記他方の画像枠の中心点から顔中心線へ下ろした垂線の足との距離が、所定の範囲内の値となる場合に、「顔中心線に関する対称性が所定の基準以上である」と判断することを特徴とする人物顔面画像についての両眼位置検出方法。
【請求項９】
請求項１〜８のいずれかに記載の検出方法において、
最終候補決定段階で、２条件を満たす関係にある一対の重畳位置が複数組存在する場合には、一対の重畳位置についての大きい方の類似度もしくは一対の重畳位置についての類似度の合計値が最大となる１組のみを最終候補と決定することを特徴とする人物顔面画像についての両眼位置検出方法。
【請求項１０】
請求項１〜８のいずれかに記載の検出方法において、
最終候補決定段階で、２条件を満たす関係にある一対の重畳位置が複数組存在する場合には、当該複数組の一対の重畳位置をいずれも最終候補と決定し、
検出結果出力段階で、前記最終候補として決定された複数組の一対の重畳位置に前記基準単眼画像を配置したときの両画像枠内の代表点の位置を、それぞれ複数組の両眼の位置の検出結果として出力することを特徴とする人物顔面画像についての両眼位置検出方法。
【請求項１１】
請求項１〜１０のいずれかに記載の検出方法において、
検出結果出力段階で、画像枠の中心点をその代表点と定め、最終候補として決定された一対の重畳位置に基準単眼画像を配置したときの両画像枠の中心点の位置座標を両眼の位置の検出結果として出力することを特徴とする人物顔面画像についての両眼位置検出方法。
【請求項１２】
請求項１〜１１のいずれかに記載の検出方法において、
基準単眼画像準備段階で、実在の人物の顔写真の眼の部分から切り出した画像に対して修正を加えることにより、基準単眼画像を準備することを特徴とする人物顔面画像についての両眼位置検出方法。
【請求項１３】
請求項１〜１２のいずれかに記載の検出方法において、
顔面画像準備段階が、
実在の人物の顔写真を所定の背景を用いて撮影し、前記背景部分を示す背景画素と前記人物部分を示す人物画素とによって構成される二次元画素配列からなる撮影原画像をコンピュータに与える画像入力段階と、
コンピュータが、前記二次元画素配列上の所定の走査対象行に所属する各画素を、左端から右へと向かう走査経路および右端から左へと向かう走査経路のいずれか一方の走査経路に沿って順に調べ、背景画素から人物画素に転じる反転部が存在するか否かを判定し、反転部が存在する場合には、当該反転部を第１反転部として認識するとともに、前記一方の走査経路とは逆の走査経路に沿って前記走査対象行に所属する各画素を調べ、背景画素から人物画素に転じる反転部を第２の反転部と認識する行走査段階と、
コンピュータが、前記二次元画素配列の最上行から下へ向かって１行ずつ順番に走査対象行を更新しながら、前記行走査段階を繰り返し実行する繰り返し走査段階と、
コンピュータが、前記繰り返し走査段階において、初めて反転部の認識がなされた行を頭頂行と認定し、前記頭頂行以下の各行については、第１反転部から第２反転部までの距離を当該行の顔幅と定め、上から下へと走査対象行を更新する過程で、走査済みの行についての顔幅のうち最大のものを、その時点での最大顔幅Ｗmaxと定める最大顔幅決定段階と、
コンピュータが、前記最大顔幅Ｗmaxに基づく倍率により、前記撮影原画像を拡大もしくは縮小することにより得られる画像を顔面画像とする画像変倍段階と、
を有し、
前記繰り返し走査段階では、前記頭頂行から数えて第Ｗmax行目の行を走査最終行として、第１行目から前記走査最終行に至るまで前記行走査段階を繰り返し実行し、
画像変倍段階では、前記走査最終行の走査が完了した時点における最大顔幅Ｗmaxと、基準単眼画像のサイズに応じて予め定義された基準顔面顔幅Ｇと、の比によって定まる倍率Ｇ／Ｗmaxを用いて、前記撮影原画像を拡大もしくは縮小することにより得られる画像を顔面画像とすることを特徴とする人物顔面画像についての両眼位置検出方法。
【請求項１４】
請求項１３に記載の検出方法において、
画像変倍段階では、前記走査最終行の走査が完了した時点における最大顔幅Ｗmaxをもつ行についての第１反転部となる画素が位置する列から第２反転部となる画素が位置する列に至るまでの合計Ｗmax列に属し、かつ、前記頭頂行から前記走査最終行に至るまでの合計Ｗmax行に属するＷmax画素×Ｗmax画素の正方画素配列の部分を撮影原画像から切り出し、この切り出した画像を縦横ともにＧ／Ｗmax倍に拡大もしくは縮小することにより得られる画像を顔面画像とすることを特徴とする人物顔面画像についての両眼位置検出方法。
【請求項１５】
請求項１３または１４に記載の検出方法において、
行走査段階を行う前に、撮影原画像に対して、エッジ抽出用およびノイズ除去用の画像フィルタを作用させ、フィルタ処理後の画像を用いて反転部の認識を行うことを特徴とする人物顔面画像についての両眼位置検出方法。
【請求項１６】
人物の顔面画像について両眼の位置を検出する装置であって、
実在の人物の顔写真を撮影することにより得られる二次元画素配列データからなる撮影原画像を格納する撮影原画像格納手段と、
前記撮影原画像に対して、エッジ抽出用およびノイズ除去用の画像フィルタを作用させるフィルタ処理手段と、
前記フィルタ処理手段による処理後のデータに基づいて、前記人物の顔の最大幅と推定される最大顔幅Ｗmaxを求める最大顔幅認識手段と、
前記最大顔幅Ｗmaxの値と予め定義された基準顔面顔幅Ｇとの比によって定まる倍率Ｇ／Ｗmaxを用いて、前記撮影原画像を拡大もしくは縮小し、顔面画像を得る画像変倍手段と、
前記基準顔面顔幅Ｇをもった基準顔面の両眼として適した大きさを有し左右の区別がない基準単眼画像を格納した基準単眼画像格納手段と、
前記顔面画像の上の所定の重畳位置に前記基準単眼画像を重ねて配置し、重なった部分の両画像の類似度を求める演算を、第１次候補となる複数通りの重畳位置について実行し、それぞれの類似度を求める類似度演算手段と、
前記第１次候補のうち、類似度がしきい値未満の候補を除外し、残りの候補を第２次候補とするしきい値未満除外手段と、
前記第２次候補の各重畳位置について、前記顔面画像上での水平方向に関する類似度の変動を調べ、前記第２次候補の中から、類似度が極大値をとる候補を第３次候補として抽出する極大抽出手段と、
前記第３次候補の中から、類似度の大きい所定数の重畳位置を第４次候補として選択する上位候補選択手段と、
前記第４次候補の中から、次の２条件を満たす関係にある一対の重畳位置を最終候補と決定する最終候補決定手段と、
（条件１）前記基準単眼画像を当該一対の重畳位置にそれぞれ配置したときに、両画像枠の「前記顔面画像を左右に二等分する縦方向に伸びる顔中心線に関する対称性」が所定の基準以上であること、
（条件２）前記基準単眼画像を当該一対の重畳位置にそれぞれ配置したときに、両画像枠が互いに重なり合わないこと、
前記最終候補として決定された一対の重畳位置に前記基準単眼画像を配置したときの当該一対の重畳位置に配置された各基準単眼画像の画像枠内の代表点の位置を両眼の位置の検出結果として出力する検出結果出力手段と、
を備えることを特徴とする人物顔面画像についての両眼位置検出装置。
【請求項１７】
請求項１６に記載の検出装置において、
最大顔幅認識手段が、
フィルタ処理手段による処理後のデータを構成する二次元画素配列上の所定の走査対象行に所属する各画素を、左端から右へと向かう走査経路および右端から左へと向かう走査経路のいずれか一方の走査経路に沿って順に調べ、背景画素から人物画素に転じる反転部が存在するか否かを判定する反転判定部と、
所定の行走査対象行について、前記反転判定部に、第１の走査方向に向かって走査を行わせ、反転部が存在した場合には、当該反転部を第１反転部として認識するとともに、第１の走査経路とは逆の第２の走査方向に向かって走査を行わせ、反転部が存在した場合には、当該反転部を第２反転部として認識する行走査制御部と、
前記二次元画素配列の最上行から下へ向かって１行ずつ順番に走査対象行を更新しながら、前記行走査制御部に繰り返し走査を実行させる繰り返し制御部と、
前記繰り返し走査において、初めて反転部の認識がなされた行を頭頂行と認定し、前記頭頂行以下の各行については、第１反転部から第２反転部までの距離を当該行の顔幅と定め、上から下へと走査対象行を更新する過程で、走査済みの行についての顔幅のうち最大のものを、その時点での最大顔幅Ｗmaxと定める最大顔幅決定部と、
を有し、
前記繰り返し制御部は、前記頭頂行から数えて第Ｗmax行目の行を走査最終行として、第１行目から前記走査最終行に至るまで１行ずつ順番に走査対象行を更新しながら、前記行走査制御部に繰り返し走査を実行させることを特徴とする人物顔面画像についての両眼位置検出装置。
【請求項１８】
請求項１７に記載の検出装置において、
画像変倍手段は、走査最終行の走査が完了した時点における最大顔幅Ｗmaxをもつ行についての第１反転部となる画素が位置する列から第２反転部となる画素が位置する列に至るまでの合計Ｗmax列に属し、かつ、前記頭頂行から前記走査最終行に至るまでの合計Ｗmax行に属するＷmax画素×Ｗmax画素の正方画素配列の部分を撮影原画像から切り出し、この切り出した画像を縦横ともにＧ／Ｗmax倍に拡大もしくは縮小することにより得られる画像を顔面画像とすることを特徴とする人物顔面画像についての両眼位置検出装置。
【請求項１９】
請求項１６〜１８のいずれかに記載の検出装置において、
基準単眼画像格納手段が、ｍ列ｎ行の二次元画素配列（第０列〜第（ｍ−１）列、第０行〜第（ｎ−１）行の行列）をもった基準単眼画像を格納し、
画像変倍手段が、Ｍ列Ｎ行の二次元画素配列（但し、Ｍ＞ｍ、Ｎ＞ｎであり、第０列〜第（Ｍ−１）列、第０行〜第（Ｎ−１）行の行列）をもった顔面画像を求め、
類似度演算手段が、前記基準単眼画像の第０列第０行目の画素を、前記顔面画像上の第ｉ列第ｊ行目の画素に重ねるような配置を行い、ｉを０〜（Ｍ−ｍ）まで１ずつ変え、ｊを０〜（Ｎ−ｎ）まで１ずつ変えた組み合わせの各配置について、それぞれ類似度を求める演算を実行し、第１次候補となる合計（Ｍ−ｍ＋１）×（Ｎ−ｎ＋１）通りの重畳位置についての類似度を求めることを特徴とする人物顔面画像についての両眼位置検出装置。
【請求項２０】
請求項１９に記載の検出装置において、
類似度演算手段が、基準単眼画像の第０列第０行目の画素を、顔面画像上の第ｉ列第ｊ行目（但し、ｉ＝０〜（Ｍ−ｍ），ｊ＝０〜（Ｎ−ｎ））の画素に重ねるような配置を行った際の類似度Ｒ（ｉ，ｊ）を、
Ｒ（ｉ，ｊ）＝
Σβ＝０，n−１（Σα＝０，m＋１（Ｆ（ｉ＋α，ｊ＋β）・Ｅ（α，β）））
（但し、Ｆ（ｉ＋α，ｊ＋β）は顔面画像の第（ｉ＋α）列第（ｊ＋β）行目の画素の所定色の画素値、Ｅ（α，β）は基準単眼画像の第α列第β行目の当該所定色の画素値）
なる演算式を用いて求めることを特徴とする人物顔面画像についての両眼位置検出装置。
【請求項２１】
請求項１６〜２０のいずれかに記載の検出装置において、
上位候補選択手段が、第３次候補の中から、類似度の大きい順に候補を選択してゆく処理を、選択された候補数が所定数に達するもしくは所定数を越えるまで繰り返し実行し、選択された候補を暫定的に第４次候補とした後、当該選択された候補内に互いに近傍にある複数の重畳位置が含まれていた場合には、当該複数の重畳位置のうちの代表となる１つのみを第４次候補として残し、それ以外を第４次候補から除外することを特徴とする人物顔面画像についての両眼位置検出装置。
【請求項２２】
請求項１６〜２１のいずれかに記載の検出装置において、
最終候補決定手段が、一方の画像枠の中心点と顔中心線との距離と、他方の画像枠の中心点と顔中心線との距離との差が、所定の範囲内の値となり、かつ、前記一方の画像枠の中心点から顔中心線へ下ろした垂線の足と、前記他方の画像枠の中心点から顔中心線へ下ろした垂線の足と、の距離が、所定の範囲内の値となる場合に、「顔中心線に関する対称性が所定の基準以上である」と判断することを特徴とする人物顔面画像についての両眼位置検出装置。
【請求項２３】
請求項１６〜２２のいずれかに記載の検出装置において、
検出結果出力手段が、画像枠の中心点をその代表点と定め、最終候補として決定された一対の重畳位置に基準単眼画像を配置したときの両画像枠の中心点の位置座標を両眼の位置の検出結果として出力することを特徴とする人物顔面画像についての両眼位置検出装置。
【請求項２４】
請求項１６〜２３のいずれかに記載の検出装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルデータとして与えられた人物の顔面画像について、その両眼の位置を自動的に検出する技術に関する。
【背景技術】
【０００２】
人物の顔面画像に基づいて様々な処理を実行する場合、その両眼の位置を検出することは非常に重要である。たとえば、セキュリティの分野では、人物の顔面画像に対して、当該画像が特定個人の顔画像であることを認証するための処理が行われる。また、顔画像から特定の個人を認識する処理は、セキュリティの分野のみならず、ロボットビジョン、人工知能の分野などにおいても有用である。更に、リアルタイムで得られる動画画像に基づいて、特定の人物を追跡したり、特定の人物の行動を解析したりする場合にも、顔画像から特定の個人を認識する処理が必要になる。このような顔認証の処理では、両眼の位置を自動的に検出する技術が不可欠である。
【０００３】
また、デジタルカメラなどでは、人物の赤目補正や肌領域の明るさ補正など、様々な画像補正処理が利用されているが、このような人物に関する写真補正処理を行う際にも、顔面画像から両眼の位置を検出することが重要になる。その他、Ｗｅｂを利用した人相占い、趣向診断などの分野においても、顔面画像から両眼の位置を検出する技術が必要とされている。
【０００４】
一般に、人物の顔面画像の特徴を分析する手法としては、標準となるテンプレート画像との類似度を演算する手法が知られている。たとえば、下記の特許文献１には、顔面画像とテンプレート画像とを色分布のヒストグラムで比較し、類似度を演算することにより、顔領域および目や口の領域を特定する方法が開示されている。また、特許文献２には、ビデオ画像の中から、人物の顔となる領域を自動検出する手法が開示されており、色成分に基づいて目の領域を特定する方法が開示されている。一方、特許文献３には、人物写真の赤目補正のために、２種類のテンプレート画像との類似度を演算することにより、目の位置を検出する技術が示されている。更に、特許文献４には、二値化された顔面画像に対する分析によって目候補を選出した上で、もとの多値画像を用いて細線部分を抽出することにより、より正確な位置検出を行う技術が開示されている。
【特許文献１】特開平８−６３５９７号公報
【特許文献２】特開２０００−８２１４７号公報
【特許文献３】特開２０００−２７８５１０号公報
【特許文献４】特開２０００−３３１１７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述したとおり、人物の顔面画像について、その両眼の位置を自動的に検出する方法としては、これまでにも様々な手法が提案されてきている。しかしながら、いずれの手法を用いても、正しい両眼の位置を正確に検出することは困難である。顔面画像から両眼の位置を検出する場合、通常は、テンプレート画像との類似度の比較を行うことになる。しかしながら、デジタルカメラなどで撮影された任意の顔面画像には、照明環境をはじめとする撮影条件の多様性によって、様々な陰影が生じることになるので、たまたまテンプレート画像に対して高い類似度を示す結果が得られたとしても、当該結果は、両眼ではない別な対象物に基づく結果であることも少なくない。また、顔面画像のスケーリングが適正でないと、テンプレート画像に示されている眼の画像上での寸法と、顔面画像に含まれている眼の画像上での寸法とに大きな食い違いが生じる可能性があり、このようなスケーリング上のミスマッチにより、正しい検出が妨げられることも少なくない。このため、従来の手法で得られた検出結果は、必ずしも信頼できるものではなく、精度の低いものにならざるを得ない。
【０００６】
そこで本発明は、人物の顔面画像について、その両眼の位置を正確に、かつ、高い信頼性をもって自動検出することが可能な人物顔面画像についての両眼位置検出方法および検出装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
(1)   本発明の第１の態様は、人物の顔面画像について両眼の位置を検出する人物顔面画像についての両眼位置検出方法において、
コンピュータ内に、両眼の基準として用いる左右の区別がない基準単眼画像を準備する基準単眼画像準備段階と、
コンピュータ内に、検出の対象となる人物の顔面画像を準備する顔面画像準備段階と、
コンピュータが、顔面画像の上の所定の重畳位置に基準単眼画像を重ねて配置し、重なった部分の両画像の類似度を求める演算を、第１次候補となる複数通りの重畳位置について実行し、それぞれの類似度を求める類似度演算段階と、
コンピュータが、第１次候補のうち、類似度がしきい値未満の候補を除外し、残りの候補を第２次候補とするしきい値未満除外段階と、
コンピュータが、第２次候補の各重畳位置について、顔面画像上での水平方向に関する類似度の変動を調べ、第２次候補の中から、類似度が極大値をとる候補を第３次候補として抽出する極大抽出段階と、
コンピュータが、第３次候補の中から、類似度の大きい所定数の重畳位置を第４次候補として選択する上位候補選択段階と、
コンピュータが、第４次候補の中から、次の２条件を満たす関係にある一対の重畳位置を最終候補と決定する最終候補決定段階と、
（条件１）基準単眼画像を当該一対の重畳位置にそれぞれ配置したときに、両画像枠の「顔面画像を左右に二等分する縦方向に伸びる顔中心線に関する対称性」が所定の基準以上であること、
（条件２）基準単眼画像を当該一対の重畳位置にそれぞれ配置したときに、両画像枠が互いに重なり合わないこと、
コンピュータが、最終候補として決定された一対の重畳位置に基準単眼画像を配置したときの当該一対の重畳位置に配置された各基準単眼画像の画像枠内の代表点の位置を両眼の位置の検出結果として出力する検出結果出力段階と、
を行うようにしたものである。
【０００８】
(2)   本発明の第２の態様は、上述の第１の態様に係る人物顔面画像についての両眼位置検出方法において、
基準単眼画像準備段階で、ｍ列ｎ行の二次元画素配列（第０列〜第（ｍ−１）列、第０行〜第（ｎ−１）行の行列）をもった基準単眼画像を準備し、
顔面画像準備段階で、Ｍ列Ｎ行の二次元画素配列（但し、Ｍ＞ｍ、Ｎ＞ｎであり、第０列〜第（Ｍ−１）列、第０行〜第（Ｎ−１）行の行列）をもった顔面画像を準備し、
類似度演算段階で、基準単眼画像の第０列第０行目の画素を、顔面画像上の第ｉ列第ｊ行目の画素に重ねるような配置を行い、ｉを０〜（Ｍ−ｍ）まで１ずつ変え、ｊを０〜（Ｎ−ｎ）まで１ずつ変えた組み合わせの各配置について、それぞれ類似度を求める演算を実行し、第１次候補となる合計（Ｍ−ｍ＋１）×（Ｎ−ｎ＋１）通りの重畳位置についての類似度を求めるようにしたものである。
【０００９】
(3)   本発明の第３の態様は、上述の第１または第２の態様に係る人物顔面画像についての両眼位置検出方法において、
基準単眼画像準備段階で、ｍ列ｎ行の二次元画素配列（第０列〜第（ｍ−１）列、第０行〜第（ｎ−１）行の行列）をもった基準単眼画像を準備し、
顔面画像準備段階で、Ｍ列Ｎ行の二次元画素配列（但し、Ｍ＞ｍ、Ｎ＞ｎであり、第０列〜第（Ｍ−１）列、第０行〜第（Ｎ−１）行の行列）をもった顔面画像を準備し、
類似度演算段階で、基準単眼画像の第０列第０行目の画素を、顔面画像上の第ｉ列第ｊ行目（但し、ｉ＝０〜（Ｍ−ｍ），ｊ＝０〜（Ｎ−ｎ））の画素に重ねるような配置を行った際の類似度Ｒ（ｉ，ｊ）を、
Ｒ（ｉ，ｊ）＝
Σβ＝０，n−１（Σα＝０，m−１（Ｆ（ｉ＋α，ｊ＋β）・Ｅ（α，β）））
（但し、Ｆ（ｉ＋α，ｊ＋β）は顔面画像の第（ｉ＋α）列第（ｊ＋β）行目の画素の所定色の画素値、Ｅ（α，β）は基準単眼画像の第α列第β行目の当該所定色の画素値）
なる演算式を用いて求めるようにしたものである。
【００１０】
(4)   本発明の第４の態様は、上述の第３の態様に係る人物顔面画像についての両眼位置検出方法において、
基準単眼画像準備段階で、赤緑青の３原色の画素値Ｅｒ，Ｅｇ，Ｅｂをもつ画素の集合からなる基準単眼画像を準備し、
顔面画像準備段階で、赤緑青の３原色の画素値Ｆｒ，Ｆｇ，Ｆｂをもつ画素の集合からなる顔面画像を準備し、
類似度演算段階で、
Ｒ（ｉ，ｊ）＝１／３・
（Σβ＝０，n−１（Σα＝０，m−１（Ｆｒ（ｉ＋α，ｊ＋β）・Ｅｒ（α，β）））
＋Σβ＝０，n−１（Σα＝０，m−１（Ｆｇ（ｉ＋α，ｊ＋β）・Ｅｇ（α，β）））
＋Σβ＝０，n−１（Σα＝０，m−１（Ｆｂ（ｉ＋α，ｊ＋β）・Ｅｂ（α，β））））
（但し、Ｆｒ（ｉ＋α，ｊ＋β）は顔面画像の第（ｉ＋α）列第（ｊ＋β）行目の画素の赤色の画素値、Ｅｒ（α，β）は基準単眼画像の第α列第β行目の赤色の画素値、Ｆｇ（ｉ＋α，ｊ＋β）は顔面画像の第（ｉ＋α）列第（ｊ＋β）行目の画素の緑色の画素値、Ｅｇ（α，β）は基準単眼画像の第α列第β行目の緑色の画素値、Ｆｂ（ｉ＋α，ｊ＋β）は顔面画像の第（ｉ＋α）列第（ｊ＋β）行目の画素の青色の画素値、Ｅｂ（α，β）は基準単眼画像の第α列第β行目の青色の画素値）
なる演算式を用いて類似度Ｒ（ｉ，ｊ）を求めるようにしたものである。
【００１１】
(5)   本発明の第５の態様は、上述の第３の態様に係る人物顔面画像についての両眼位置検出方法において、
基準単眼画像準備段階で、赤色の画素値Ｅｒをもつ画素の集合からなる基準単眼画像を準備し、
顔面画像準備段階で、赤緑青の３原色の画素値Ｆｒ，Ｆｇ，Ｆｂをもつ画素の集合からなる顔面画像を準備し、
類似度演算段階で、赤色の画素値のみの類似度を考慮して、
Ｒ（ｉ，ｊ）＝
Σβ＝０，n−１（Σα＝０，m−１（Ｆｒ（ｉ＋α，ｊ＋β）・Ｅｒ（α，β）））
（但し、Ｆｒ（ｉ＋α，ｊ＋β）は顔面画像の第（ｉ＋α）列第（ｊ＋β）行目の画素の赤色の画素値、Ｅｒ（α，β）は基準単眼画像の第α列第β行目の赤色の画素値）
なる演算式を用いて類似度Ｒ（ｉ，ｊ）を求めるようにしたものである。
【００１２】
(6)   本発明の第６の態様は、上述の第１〜第５の態様に係る人物顔面画像についての両眼位置検出方法において、
極大抽出段階で、水平方向に隣接して配列された第２次候補の各重畳位置について、隣接位置間における類似度の変遷を順に調べてゆき、類似度の値が増加から減少に転じたときに、減少に転じる直前の重畳位置を類似度が極大値をとる第３次候補として抽出するようにしたものである。
【００１３】
(7)   本発明の第７の態様は、上述の第１〜第６の態様に係る人物顔面画像についての両眼位置検出方法において、
上位候補選択段階で、第３次候補の中から、類似度の大きい順に候補を選択してゆく処理を、選択された候補数が所定数に達するもしくは所定数を越えるまで繰り返し実行し、選択された候補を暫定的に第４次候補とした後、当該選択された候補内に互いに近傍にある複数の重畳位置が含まれていた場合には、当該複数の重畳位置のうちの代表となる１つのみを第４次候補として残し、それ以外を第４次候補から除外するようにしたものである。
【００１４】
(8)   本発明の第８の態様は、上述の第１〜第７の態様に係る人物顔面画像についての両眼位置検出方法において、
最終候補決定段階で、一方の画像枠の中心点と顔中心線との距離と、他方の画像枠の中心点と顔中心線との距離との差が、所定の範囲内の値となり、かつ、一方の画像枠の中心点から顔中心線へ下ろした垂線の足と、他方の画像枠の中心点から顔中心線へ下ろした垂線の足との距離が、所定の範囲内の値となる場合に、「顔中心線に関する対称性が所定の基準以上である」と判断するようにしたものである。
【００１５】
(9)   本発明の第９の態様は、上述の第１〜第８の態様に係る人物顔面画像についての両眼位置検出方法において、
最終候補決定段階で、２条件を満たす関係にある一対の重畳位置が複数組存在する場合には、一対の重畳位置についての大きい方の類似度もしくは一対の重畳位置についての類似度の合計値が最大となる１組のみを最終候補と決定するようにしたものである。
【００１６】
(10)  本発明の第１０の態様は、上述の第１〜第８の態様に係る人物顔面画像についての両眼位置検出方法において、
最終候補決定段階で、２条件を満たす関係にある一対の重畳位置が複数組存在する場合には、当該複数組の一対の重畳位置をいずれも最終候補と決定し、
検出結果出力段階で、最終候補として決定された複数組の一対の重畳位置に基準単眼画像を配置したときの両画像枠内の代表点の位置を、それぞれ複数組の両眼の位置の検出結果として出力するようにしたものである。
【００１７】
(11)  本発明の第１１の態様は、上述の第１〜第１０の態様に係る人物顔面画像についての両眼位置検出方法において、
検出結果出力段階で、画像枠の中心点をその代表点と定め、最終候補として決定された一対の重畳位置に基準単眼画像を配置したときの両画像枠の中心点の位置座標を両眼の位置の検出結果として出力するようにしたものである。
【００１８】
(12)  本発明の第１２の態様は、上述の第１〜第１１の態様に係る人物顔面画像についての両眼位置検出方法において、
基準単眼画像準備段階で、実在の人物の顔写真の眼の部分から切り出した画像に対して修正を加えることにより、基準単眼画像を準備するようにしたものである。
【００１９】
(13)  本発明の第１３の態様は、上述の第１〜第１２の態様に係る人物顔面画像についての両眼位置検出方法において、
顔面画像準備段階を、
実在の人物の顔写真を所定の背景を用いて撮影し、背景部分を示す背景画素と人物部分を示す人物画素とによって構成される二次元画素配列からなる撮影原画像をコンピュータに与える画像入力段階と、
コンピュータが、二次元画素配列上の所定の走査対象行に所属する各画素を、左端から右へと向かう走査経路および右端から左へと向かう走査経路のいずれか一方の走査経路に沿って順に調べ、背景画素から人物画素に転じる反転部が存在するか否かを判定し、反転部が存在する場合には、当該反転部を第１反転部として認識するとともに、一方の走査経路とは逆の走査経路に沿って走査対象行に所属する各画素を調べ、背景画素から人物画素に転じる反転部を第２の反転部と認識する行走査段階と、
コンピュータが、二次元画素配列の最上行から下へ向かって１行ずつ順番に走査対象行を更新しながら、行走査段階を繰り返し実行する繰り返し走査段階と、
コンピュータが、繰り返し走査段階において、初めて反転部の認識がなされた行を頭頂行と認定し、頭頂行以下の各行については、第１反転部から第２反転部までの距離を当該行の顔幅と定め、上から下へと走査対象行を更新する過程で、走査済みの行についての顔幅のうち最大のものを、その時点での最大顔幅Ｗmaxと定める最大顔幅決定段階と、
コンピュータが、最大顔幅Ｗmaxに基づく倍率により、撮影原画像を拡大もしくは縮小することにより得られる画像を顔面画像とする画像変倍段階と、
によって構成し、
繰り返し走査段階では、頭頂行から数えて第Ｗmax行目の行を走査最終行として、第１行目から走査最終行に至るまで行走査段階を繰り返し実行し、
画像変倍段階では、走査最終行の走査が完了した時点における最大顔幅Ｗmaxと、基準単眼画像のサイズに応じて予め定義された基準顔面顔幅Ｇと、の比によって定まる倍率Ｇ／Ｗmaxを用いて、撮影原画像を拡大もしくは縮小することにより得られる画像を顔面画像とするようにしたものである。
【００２０】
(14)  本発明の第１４の態様は、上述の第１３の態様に係る人物顔面画像についての両眼位置検出方法において、
画像変倍段階では、走査最終行の走査が完了した時点における最大顔幅Ｗmaxをもつ行についての第１反転部となる画素が位置する列から第２反転部となる画素が位置する列に至るまでの合計Ｗmax列に属し、かつ、頭頂行から走査最終行に至るまでの合計Ｗmax行に属するＷmax画素×Ｗmax画素の正方画素配列の部分を撮影原画像から切り出し、この切り出した画像を縦横ともにＧ／Ｗmax倍に拡大もしくは縮小することにより得られる画像を顔面画像とするようにしたものである。
【００２１】
(15)  本発明の第１５の態様は、上述の第１３または第１４の態様に係る人物顔面画像についての両眼位置検出方法において、
行走査段階を行う前に、撮影原画像に対して、エッジ抽出用およびノイズ除去用の画像フィルタを作用させ、フィルタ処理後の画像を用いて反転部の認識を行うようにしたものである。
【００２２】
(16)  本発明の第１６の態様は、人物の顔面画像について両眼の位置を検出する人物顔面画像についての両眼位置検出装置において、
実在の人物の顔写真を撮影することにより得られる二次元画素配列データからなる撮影原画像を格納する撮影原画像格納手段と、
撮影原画像に対して、エッジ抽出用およびノイズ除去用の画像フィルタを作用させるフィルタ処理手段と、
フィルタ処理手段による処理後のデータに基づいて、人物の顔の最大幅と推定される最大顔幅Ｗmaxを求める最大顔幅認識手段と、
最大顔幅Ｗmaxの値と予め定義された基準顔面顔幅Ｇとの比によって定まる倍率Ｇ／Ｗmaxを用いて、撮影原画像を拡大もしくは縮小し、顔面画像を得る画像変倍手段と、
基準顔面顔幅Ｇをもった基準顔面の両眼として適した大きさを有し左右の区別がない基準単眼画像を格納した基準単眼画像格納手段と、
顔面画像の上の所定の重畳位置に基準単眼画像を重ねて配置し、重なった部分の両画像の類似度を求める演算を、第１次候補となる複数通りの重畳位置について実行し、それぞれの類似度を求める類似度演算手段と、
第１次候補のうち、類似度がしきい値未満の候補を除外し、残りの候補を第２次候補とするしきい値未満除外手段と、
第２次候補の各重畳位置について、顔面画像上での水平方向に関する類似度の変動を調べ、第２次候補の中から、類似度が極大値をとる候補を第３次候補として抽出する極大抽出手段と、
第３次候補の中から、類似度の大きい所定数の重畳位置を第４次候補として選択する上位候補選択手段と、
第４次候補の中から、次の２条件を満たす関係にある一対の重畳位置を最終候補と決定する最終候補決定手段と、
（条件１）基準単眼画像を当該一対の重畳位置にそれぞれ配置したときに、両画像枠の「顔面画像を左右に二等分する縦方向に伸びる顔中心線に関する対称性」が所定の基準以上であること、
（条件２）基準単眼画像を当該一対の重畳位置にそれぞれ配置したときに、両画像枠が互いに重なり合わないこと、
最終候補として決定された一対の重畳位置に基準単眼画像を配置したときの当該一対の重畳位置に配置された各基準単眼画像の画像枠内の代表点の位置を両眼の位置の検出結果として出力する検出結果出力手段と、
を設けるようにしたものである。
【００２３】
(17)  本発明の第１７の態様は、上述の第１６の態様に係る人物顔面画像についての両眼位置検出装置において、
最大顔幅認識手段を、
フィルタ処理手段による処理後のデータを構成する二次元画素配列上の所定の走査対象行に所属する各画素を、左端から右へと向かう走査経路および右端から左へと向かう走査経路のいずれか一方の走査経路に沿って順に調べ、背景画素から人物画素に転じる反転部が存在するか否かを判定する反転判定部と、
所定の行走査対象行について、反転判定部に、第１の走査方向に向かって走査を行わせ、反転部が存在した場合には、当該反転部を第１反転部として認識するとともに、第１の走査経路とは逆の第２の走査方向に向かって走査を行わせ、反転部が存在した場合には、当該反転部を第２反転部として認識する行走査制御部と、
二次元画素配列の最上行から下へ向かって１行ずつ順番に走査対象行を更新しながら、行走査制御部に繰り返し走査を実行させる繰り返し制御部と、
繰り返し走査において、初めて反転部の認識がなされた行を頭頂行と認定し、頭頂行以下の各行については、第１反転部から第２反転部までの距離を当該行の顔幅と定め、上から下へと走査対象行を更新する過程で、走査済みの行についての顔幅のうち最大のものを、その時点での最大顔幅Ｗmaxと定める最大顔幅決定部と、
によって構成し、
繰り返し制御部が、頭頂行から数えて第Ｗmax行目の行を走査最終行として、第１行目から走査最終行に至るまで１行ずつ順番に走査対象行を更新しながら、行走査制御部に繰り返し走査を実行させるようにしたものである。
【００２４】
(18)  本発明の第１８の態様は、上述の第１７の態様に係る人物顔面画像についての両眼位置検出装置において、
画像変倍手段は、走査最終行の走査が完了した時点における最大顔幅Ｗmaxをもつ行についての第１反転部となる画素が位置する列から第２反転部となる画素が位置する列に至るまでの合計Wmax列に属し、かつ、頭頂行から走査最終行に至るまでの合計Ｗmax行に属するWmax画素×Wmax画素の正方画素配列の部分を撮影原画像から切り出し、この切り出した画像を縦横ともにＧ／Ｗmax倍に拡大もしくは縮小することにより得られる画像を顔面画像とするようにしたものである。
【００２５】
(19)  本発明の第１９の態様は、上述の第１６〜第１８の態様に係る人物顔面画像についての両眼位置検出装置において、
基準単眼画像格納手段が、ｍ列ｎ行の二次元画素配列（第０列〜第（ｍ−１）列、第０行〜第（ｎ−１）行の行列）をもった基準単眼画像を格納し、
画像変倍手段が、Ｍ列Ｎ行の二次元画素配列（但し、Ｍ＞ｍ、Ｎ＞ｎであり、第０列〜第（Ｍ−１）列、第０行〜第（Ｎ−１）行の行列）をもった顔面画像を求め、
類似度演算手段が、基準単眼画像の第０列第０行目の画素を、顔面画像上の第ｉ列第ｊ行目の画素に重ねるような配置を行い、ｉを０〜（Ｍ−ｍ）まで１ずつ変え、ｊを０〜（Ｎ−ｎ）まで１ずつ変えた組み合わせの各配置について、それぞれ類似度を求める演算を実行し、第１次候補となる合計（Ｍ−ｍ＋１）×（Ｎ−ｎ＋１）通りの重畳位置についての類似度を求めるようにしたものである。
【００２６】
(20)  本発明の第２０の態様は、上述の第１９の態様に係る人物顔面画像についての両眼位置検出装置において、
類似度演算手段が、基準単眼画像の第０列第０行目の画素を、顔面画像上の第ｉ列第ｊ行目（但し、ｉ＝０〜（Ｍ−ｍ），ｊ＝０〜（Ｎ−ｎ））の画素に重ねるような配置を行った際の類似度Ｒ（ｉ，ｊ）を、
Ｒ（ｉ，ｊ）＝
Σβ＝０，n−１（Σα＝０，m＋１（Ｆ（ｉ＋α，ｊ＋β）・Ｅ（α，β）））
（但し、Ｆ（ｉ＋α，ｊ＋β）は顔面画像の第（ｉ＋α）列第（ｊ＋β）行目の画素の所定色の画素値、Ｅ（α，β）は基準単眼画像の第α列第β行目の当該所定色の画素値）
なる演算式を用いて求めるようにしたものである。
【００２７】
(21)  本発明の第２１の態様は、上述の第１６〜第２０の態様に係る人物顔面画像についての両眼位置検出装置において、
上位候補選択手段が、第３次候補の中から、類似度の大きい順に候補を選択してゆく処理を、選択された候補数が所定数に達するもしくは所定数を越えるまで繰り返し実行し、選択された候補を暫定的に第４次候補とした後、当該選択された候補内に互いに近傍にある複数の重畳位置が含まれていた場合には、当該複数の重畳位置のうちの代表となる１つのみを第４次候補として残し、それ以外を第４次候補から除外するようにしたものである。
【００２８】
(22)  本発明の第２２の態様は、上述の第１６〜第２０の態様に係る人物顔面画像についての両眼位置検出装置において、
最終候補決定手段が、一方の画像枠の中心点と顔中心線との距離と、他方の画像枠の中心点と顔中心線との距離との差が、所定の範囲内の値となり、かつ、一方の画像枠の中心点から顔中心線へ下ろした垂線の足と、他方の画像枠の中心点から顔中心線へ下ろした垂線の足と、の距離が、所定の範囲内の値となる場合に、「顔中心線に関する対称性が所定の基準以上である」と判断するようにしたものである。
【００２９】
(23)  本発明の第２３の態様は、上述の第１６〜第２２の態様に係る人物顔面画像についての両眼位置検出装置において、
検出結果出力手段が、画像枠の中心点をその代表点と定め、最終候補として決定された一対の重畳位置に基準単眼画像を配置したときの両画像枠の中心点の位置座標を両眼の位置の検出結果として出力するようにしたものである。
【００３０】
(24)  本発明の第２４の態様は、上述の第１６〜第２３の態様に係る人物顔面画像についての両眼位置検出装置を、コンピュータにプログラムを組み込むことにより構成したものである。
【発明の効果】
【００３１】
本発明に係る両眼位置検出方法および検出装置によれば、人物の顔面画像について、その両眼の位置を正確に、かつ、高い信頼性をもって自動検出することが可能になる。
【発明を実施するための最良の形態】
【００３２】
以下、本発明を図示する実施形態に基づいて説明する。
【００３３】
＜＜＜  §１．本発明の基本概念  ＞＞＞
はじめに、本発明に係る両眼位置検出方法の基本概念を説明する。ここでは、図１に示すような顔面画像（本願では、Faceの頭文字をとって符号Ｆを付す）を検出対象とする場合を考えよう。この顔面画像Ｆは、人物の顔を含むデジタル画像であり、たとえば、デジタルカメラで撮影した人物写真をそのまま用いることもできるし、銀塩写真上の人物像をスキャナで取り込んだものを用いることもできる。もちろん、動画の１フレームを構成する画像であってもかまわない。
【００３４】
この顔面画像Ｆは、人物の顔を含んでいれば、多少斜めを向いていたり、全身像のようなものであってもかまわないが、実用上は、ある程度の検出精度を確保するため、証明写真などに利用可能な画像、すなわち、「正面を向いた顔を主体とする画像」を用いるのが好ましい。眼鏡を着用した画像であっても、検出は可能であるが、正しい検出を行う上では、眼鏡を外した状態の画像を用いるのが好ましい。また、誤った検出を避けるためには、背景が無地となるような環境で撮影された画像を用いるのが好ましい。なお、顔面画像Ｆは、カラー画像であっても、モノクロ画像であってもよい。
【００３５】
本発明の目的は、このような顔面画像Ｆに基づいて、この人物の両眼の位置を自動的に検出することにある。両眼の位置は、その代表点の位置座標として検出することができる。図２は、図１に示す顔面画像Ｆについて検出された両眼位置Ｐ１，Ｐ２を示す平面図である。なお、図が繁雑になるのを避けるため、図２以降では、顔面画像Ｆには濃淡情報の表現を省略し、顔面の特徴部分のみが示された単純な線画を描くことにする。
【００３６】
実際には、顔面画像Ｆは、二次元マトリックス状に配置された多数の画素の集合体を示すデジタルデータとして与えられる。ここでは、横方向にＸ軸、縦方向にＹ軸を定義し、ＸＹ二次元座標系上に画素が配列されているものとし、画像上の任意の位置を（ｘ，ｙ）座標で示すことにする。図２では、両眼位置がＰ１（ｘ１，ｙ１），Ｐ２（ｘ２，ｙ２）なる座標値で示されている。ここで、位置Ｐ１（ｘ１，ｙ１）は人物の右眼の瞳のほぼ中心位置を示しており、位置Ｐ２（ｘ２，ｙ２）は、人物の左眼の瞳のほぼ中心位置を示している。
【００３７】
既に述べたとおり、このような両眼位置を検出できれば、赤目補正、肌領域の明るさ補正、人相占い、趣向診断などの分野に利用することができる。また、両眼位置に基づいて、更に、鼻の位置、口の位置などの検出技術へと連携させることにより、特定個人の顔であるとの認証が可能になるので、セキュリティ、ロボットビジョン、人工知能などの分野においても、両眼位置の検出は重要な技術になる。
【００３８】
通常、任意の顔面画像Ｆについて眼の位置を検出する場合、予め基準となる眼の画像（一般に、テンプレートと呼ばれている画像）を用意しておき、この眼の画像を顔面画像Ｆ上の様々な位置に重ねてゆき、類似度の高い位置を探し出す、という手法（テンプレートを用いたマッチング手法）が採られる。前掲の各特許文献に開示されている従来の方法においても、このようなマッチング手法が用いられている。本発明も、基本的には、このテンプレートを用いたマッチング手法により、両眼位置の検出を行うことになるが、その具体的な手法の部分に固有の特徴を有している。
【００３９】
図３は、本発明においてテンプレートとして利用される眼の画像の一例を示す平面図である。本発明の特徴のひとつは、テンプレートとして、左右の区別がない共通した単眼画像を用いる点である。ここでは、このテンプレートとして用いる眼の画像を、「基準単眼画像」と呼ぶことにする（以下、Eyeの頭文字をとって符号Ｅを付す）。実際には、人間の右眼と左眼とでは、その形状や特徴が異なっているため、右眼用のテンプレートと左眼用のテンプレートを別個に用意し、それぞれを別個に検出するという手法を採ることも可能であるが、本発明では、左右の眼に対して共通のテンプレートを用いたマッチング手法を採ることになる。
【００４０】
本発明で用いる基準単眼画像Ｅは、両眼の基準として用いる左右の区別がない眼の画像であれば、どのような画像を用いてもかまわないが、ここに示す実施形態では、図３に示すように、横方向に細長い矩形状の単眼画像枠Ｅｆ内の領域にほぼいっぱいに広がるように割り付けられた眼の画像として、基準単眼画像Ｅを用意している。もちろん、単眼画像枠Ｅｆは必ずしも矩形である必要はなく、楕円形や任意の形状であってもかまわない。ただ、実用上は、類似度演算の便宜を考慮して、矩形にするのが好ましい。また、図示の例では、左右対称の画像が用いられているが、基準単眼画像Ｅは必ずしも左右対称にする必要はない。ただ、左右両眼について共通に利用されるテンプレートなので、実用上は、左右対称の画像を用いるのが好ましい。
【００４１】
この基準単眼画像Ｅは、コンピュータの作画ソフトウエアなどを利用して、一から作成することも可能であるが、実際には、実在の人物の顔写真の眼の部分から切り出した画像（どの範囲内の部分を切り出すかも任意である）に対して修正を加えることにより作成することができる。もちろん、標準的な顔をもった人物の顔写真の右眼もしくは左眼から切り出した画像をそのまま基準単眼画像Ｅとして利用することも可能であるが、左右対称の画像にするには、画像レタッチソフトウエアなどを利用して、切り出した一方の眼の画像の左右いずれか半分を反転させて合成するような処理を施せばよい。
【００４２】
この基準単眼画像Ｅも、カラー画像であってもよいし、モノクロ画像であってもよい。ただ、検出対象となる顔面画像Ｆがカラー画像の場合には、基準単眼画像Ｅもカラー画像にするのが好ましく、検出対象となる顔面画像Ｆがモノクロ画像の場合には、基準単眼画像Ｅもモノクロ画像にするのが好ましい。また、カラー画像を利用する場合、人種によって眼の各部の色調が異なるので、必要に応じて、様々な人種ごとに専用の基準単眼画像Ｅを用意しておき、検出処理を行う際に、検出対象となる顔面画像Ｆに写っている人物の人種を指定してもらい、当該人種専用の基準単眼画像Ｅを利用して検出処理を行うことも可能である。
【００４３】
さて、図１に示すような顔面画像Ｆと図３に示すような基準単眼画像Ｅとが準備できたら、この基準単眼画像Ｅをテンプレートとしたマッチング度合いを調べる手順を実行する。すなわち、顔面画像Ｆの上の様々な重畳位置に基準単眼画像Ｅを重ねて配置し、重なった部分の両画像の類似度を求める処理が行われる。
【００４４】
図４は、図１に示す顔面画像Ｆ上のいくつかの重畳位置に、図３に示す基準単眼画像Ｅを配置させた状態を示す平面図である。ここでは、説明の便宜上、図３に示すように、単眼画像枠Ｅｆの左上隅に位置基準点Ｑを定め、顔面画像Ｆ上における位置基準点Ｑが配置される地点を重畳位置と呼ぶことにする（もちろん、位置基準点Ｑは、単眼画像枠Ｅｆの中心点など、別な位置に定義してもかまわない。）。図４に示す顔面画像Ｆ上の点Ｑ１〜Ｑ５は、それぞれ異なる重畳位置を示しており、各点Ｑ１〜Ｑ５を左上隅点とする矩形Ｅｆは、当該重畳位置に配置された基準単眼画像Ｅの単眼画像枠Ｅｆを示している。
【００４５】
図４には、５箇所の重畳位置Ｑ１〜Ｑ５のみが例示されているが、もちろん実際には、よりきめの細かい多数の重畳位置（後述する例の場合、縦横１画素ごと）が定義され、個々の重畳位置に基準単眼画像Ｅを配置したときのマッチング度合い（重なった部分の両画像Ｅ，Ｆの類似度）がそれぞれ求められる。
【００４６】
図５は、このような類似度の算出原理を示す平面図である。上段に示す図５(a) は、図３に示す基準単眼画像Ｅの具体的な画素構成を示す平面図である。図示の例では、基準単眼画像Ｅは、ｍ列ｎ行からなる画素配列によって構成されている。なお、本発明は、コンピュータを用いて実施することを前提としているため、画素配列の列番号および行番号が、コンピュータ処理の慣習に従って、いずれも第０番から始まるものとして以下の説明を行うことにする。したがって、図５(a) に示す基準単眼画像Ｅは、第０列目〜第（ｍ−１）列目、および第０行目〜第（ｎ−１）行目までに配列された合計ｍ×ｎ個の画素によって構成されることになる。ここでは、このような画素配列における第α列第β行目に位置する画素（図にハッチングを施して示す画素）を画素Ｅ（α，β）と呼ぶことにし、当該画素の画素値も同じ符号Ｅ（α，β）を用いて表すことにする。なお、図５(a) に示された点Ｐは、単眼画像枠Ｅｆを構成する矩形の中心点であり、基準単眼画像Ｅの代表点となる。
【００４７】
一方、下段に示す図５(b) は、図１に示す顔面画像Ｆの具体的な画素構成を示す平面図（左上の一部分のみが示されている）である。図示の例では、顔面画像Ｆは、Ｍ列Ｎ行からなる画素配列によって構成されており、第０列目〜第（Ｍ−１）列目、および第０行目〜第（Ｎ−１）行目までに配列された合計Ｍ×Ｎ個の画素によって構成されることになる。
【００４８】
図４に示す例では、単眼画像枠Ｅｆの左上隅に定義された位置基準点Ｑを重ねる位置として重畳位置Ｑ１〜Ｑ５を例示したが、図５に示す例の場合、図５(a) に示す基準単眼画像Ｅの第０列第０行目の画素（左上隅の星印の画素）を重ねる位置として、図５(b) に示すように、顔面画像Ｆ上の第ｉ列第ｊ行目の画素（同じく星印の画素）の位置を指定することにする。別言すれば、ここで述べる実施形態の場合、基準単眼画像Ｅを顔面画像Ｆ上に重ねる際の特定の重畳位置を示すために、顔面画像Ｆを構成する画素配列における特定の列番号ｉおよび特定の行番号ｊを指定することにする。図５(b) に太線で示す枠は、（ｉ，ｊ）で示される重畳位置に基準単眼画像Ｅを重畳して配置した場合の単眼画像枠Ｅｆを示している。
【００４９】
もちろん、重畳位置を示す情報としては、必ずしも基準単眼画像Ｅの第０列第０行目の画素（左上隅の画素）を重ねる位置を用いる必要はない。たとえば、図５(a) に示す代表点Ｐが、顔面画像Ｆ上におけるどの位置に重ねられるか、を示す情報を、重畳位置を示す情報として用いることも可能である。ただ、ここでは、説明の便宜上、図５(a) に星印で示す左上隅の画素が重ねられることになる「顔面画像Ｆ上の特定の画素」の列番号および行番号を用いて、（ｉ，ｊ）のような形式で重畳位置を表現することにする。
【００５０】
なお、基準単眼画像Ｅを顔面画像Ｆ上に重ねる際には、縦横の位置関係を維持したまま、別言すれば、画像を回転させることなく正則な状態のまま重ねることを前提とする。したがって、基準単眼画像Ｅも顔面画像Ｆも、正立顔面画像を前提とした画像となっている必要がある。このため、人物が横向きに写っているような写真（たとえば、頭部が左、顎部が左になっているような写真）を用いるような場合は、事前に当該写真を９０°回転させ、正立顔面画像からなる顔面画像Ｆが用意されるようにする。
【００５１】
ここで述べる実施形態の場合、基準単眼画像Ｅを顔面画像Ｆ上の特定の重畳位置に重ねたときの両画像の類似度は、１対１に対応する画素の画素値の類似性に基づいて求められる。たとえば、図５に示す例のように、基準単眼画像Ｅを顔面画像Ｆ上の特定の重畳位置（ｉ，ｊ）に重ねたときの両画像の類似度は、基準単眼画像Ｅ上の画素Ｅ（α，β）の画素値と、顔面画像Ｆ上の画素Ｆ（ｉ＋α，ｊ＋β）の画素値との類似性に基づいて求められる。ここで、画素Ｅ（α，β）と画素Ｆ（ｉ＋α，ｊ＋β）とは、互いに重なり合う位置に配置された画素である。
【００５２】
具体的な類似度算出の演算式は、§２において説明するが、何らかの演算式を定義して類似度を算出するようにすれば、個々の重畳位置ごとに、それぞれ類似度が数値として求められることになる。したがって、たとえば、図４に示す例の場合、重畳位置Ｑ１〜Ｑ５のそれぞれについて、何らかの類似度が数値として与えられる。この場合、個々の類似度は、顔面画像Ｆ内の重畳領域内の画像と基準単眼画像Ｅとの類似性を定量的に示すパラメータということになるので、類似度が高ければ、当該重畳位置に眼が存在する可能性が高くなる。
【００５３】
図４に示す例の場合、重畳位置Ｑ３，Ｑ４についての類似度は、重畳位置Ｑ１，Ｑ２についての類似度に比べると、かなり高くなることが予測される。ただ、この人物の唇部分の特徴が基準単眼画像Ｅの特徴に類似していた場合、重畳位置Ｑ５についての類似度も、ある程度高くなる可能性がある。また、重畳位置Ｑ２のように、眼や唇とは全く無関係な領域であっても、髪形や撮影時の照明環境といった要因により、その特徴が基準単眼画像Ｅの特徴に類似してしまうケースもあり、このようなケースでは、重畳位置Ｑ２についての類似度もある程度高くなる可能性がある。更に、顔面画像Ｆのスケーリングが適正でないと、基準単眼画像Ｅ内の眼の画像上での寸法（画素数）と、顔面画像に含まれている眼の画像上での寸法（画素数）とに食い違いが生じ、類似性の正しい比較を行うことができない場合もある。
【００５４】
もちろん、一般論としては、図４に示すような５通りの重畳位置Ｑ１〜Ｑ５についての類似度を相互に比較すれば、重畳位置Ｑ３，Ｑ４についての類似度が最も高くなることが予想される。しかしながら、実際には、上述した様々な要因により、必ずしも重畳位置Ｑ３，Ｑ４についての類似度が最も高い値を示すとは限らない。これは裏を返せば、類似度が最も大きな重畳位置と２番目に大きな重畳位置とを選択して両眼位置を定める、という単純なアルゴリズムを適用した場合、両眼位置の誤検出が行われる可能性があることを示している。従来の手法で得られた検出結果が、必ずしも信頼できるものにならない原因は、このような誤検出に対する対処が不十分であるためと考えられる。
【００５５】
そこで、本発明では、類似度の大きさのみに基づいて候補の選択を行うことをせずに、固有の選抜アルゴリズムに基づいて、徐々に候補を絞り込む方法を採っている。この固有の選抜アルゴリズムについての詳細は、§２で説明するが、その概要は、次のとおりである。
【００５６】
まず、所定密度（ここに示す実施形態の場合は、顔面画像Ｆの画素の密度）で多数の重畳位置を第１次候補と定め、この第１次候補となる各重畳位置のそれぞれについて類似度を算出する。続いて、類似度がしきい値未満となる重畳位置を除外し、残りを第２次候補とする。更に、この第２次候補として残った個々の重畳位置について、その水平方向に関する類似度の変動を調べ、極大値となる候補を第３次候補として抽出する。次に、この第３次候補の中から類似度の大きい順に所定個を選択して第４次候補とする。最後に、この第４次候補の中から、顔の中心線に関する単眼画像枠の対称性が所定の基準以上であり、かつ、互いに単眼画像枠が重ならない一対の候補を最終候補として決定する。
【００５７】
このような選抜アルゴリズムを実行すると、たとえば、図４に示す例の場合、重畳位置Ｑ３，Ｑ４が一対の最終候補として選抜されることになる。この場合、重畳位置Ｑ３，Ｑ４に、基準単眼画像Ｅを配置したときの単眼画像枠Ｅｆの代表点（中心点）の位置Ｐ１（ｘ１，ｙ１），Ｐ２（ｘ２，ｙ２）が、最終的に得られる両眼の検出位置ということになる（図２参照）。このような手法を採れば、両眼の位置を正確に、かつ、高い信頼性をもって自動検出することが可能になる。
【００５８】
＜＜＜  §２．本発明に係る検出方法の基本的な処理手順  ＞＞＞
続いて、本発明の一実施形態に係る人物顔面画像についての両眼位置検出方法の基本的な処理手順を、図６の流れ図を参照しながら説明する。本発明は、基本的に、コンピュータを利用して実施する技術であるから、図６の流れ図に示す各ステップは、コンピュータを利用して実行されることになる。別言すれば、図６の流れ図に示す各ステップは、予め用意されたコンピュータプログラムに基づいて、コンピュータが実行する処理ということになる。
【００５９】
まず、ステップＳ１の基準単眼画像準備段階では、コンピュータ内に、両眼の基準として用いる左右の区別がない基準単眼画像Ｅを準備する処理が行われる。§１で述べた例の場合、この基準単眼画像Ｅは、たとえば、図３に示すような画像であり、図５(a) に示すように、ｍ列ｎ行の二次元画素配列（第０列〜第（ｍ−１）列、第０行〜第（ｎ−１）行の行列）からなる画像になる。したがって、このステップＳ１の処理は、このような画像ファイルを作成し、コンピュータ内の所定の格納場所へ格納することによって行われる。
【００６０】
既に述べたとおり、このような基準単眼画像Ｅは、実用上は、実在の人物の顔写真の眼の部分から切り出した画像に対して、画像レタッチソフトウエアなどを利用して、修正を加えることにより作成することができる。また、必要に応じて、様々な人種ごとに専用の基準単眼画像Ｅを用意しておいてもよい。
【００６１】
続いて、ステップＳ２の顔面画像準備段階では、コンピュータ内に、検出の対象となる人物の顔面画像Ｆを準備する処理が行われる。具体的には、デジタルカメラなどで撮影した人物の画像ファイルを、コンピュータに取り込む作業を行えばよい。§１で述べたとおり、実際には、ある程度の検出精度を確保するため、証明写真などに利用可能な「正面を向いた顔を主体とする画像」を顔面画像Ｆとして取り込むのがよい。また、実用上は、デジタルカメラなどで人物の顔を撮影した撮影原画像に対して、トリミングおよび変倍処理を施したものを顔面画像Ｆとして用いるのが好ましい。このようなトリミングおよび変倍処理の詳細については、§３で述べることにする。
【００６２】
§１で述べた例の場合、この顔面画像Ｆは、たとえば、図１に示すような画像であり、図５(b) に示すように、Ｍ列Ｎ行の二次元画素配列（但し、Ｍ＞ｍ、Ｎ＞ｎであり、第０列〜第（Ｍ−１）列、第０行〜第（Ｎ−１）行の行列）からなる画像になる。したがって、このステップＳ２の処理は、このような画像ファイルをコンピュータ内の所定の格納場所へ格納することによって行われる。
【００６３】
こうして、コンピュータ内に、基準単眼画像Ｅおよび顔面画像Ｆが準備できたら、続くステップＳ３の類似度演算段階において、顔面画像Ｆの上の所定の重畳位置に基準単眼画像Ｅを重ねて配置し、重なった部分の両画像Ｅ，Ｆの類似度を求める演算を、第１次候補となる複数通りの重畳位置について実行し、それぞれの類似度を求める処理が行われる。ここで、第１次候補となる重畳位置は、顔面画像Ｆ上に所定密度でほぼ一様に分布している複数通りの位置であれば、どのような位置を定義してもかまわないが、ここに示す実施形態の場合、Ｍ×Ｎの大きさの顔面画像Ｆを構成する個々の画素の位置（但し、基準単眼画像Ｅを重ねた場合に、その一部が顔面画像Ｆから食み出してしまうような位置を除く）を第１次候補となる重畳位置と定めている。
【００６４】
図５を参照して説明したとおり、ここで述べる実施形態では、図５(a) の基準単眼画像Ｅの左上隅の画素（星印で示す第０列第０行目の画素）を位置の基準として、当該画素が重ねられることになる「顔面画像Ｆ上の特定の画素」の列番号ｉおよび行番号ｊを用いて、（ｉ，ｊ）のような形式で重畳位置が表現される。そして、ステップＳ３の類似度演算段階では、図５(b) に示すように、基準単眼画像Ｅの第０列第０行目の画素を、顔面画像Ｆ上の第ｉ列第ｊ行目の画素に重ねるような配置を行い、ｉを０〜（Ｍ−ｍ）まで１ずつ変え、ｊを０〜（Ｎ−ｎ）まで１ずつ変えた組み合わせの各位置について、それぞれ類似度を求める演算を実行し、第１次候補となる合計（Ｍ−ｍ＋１）×（Ｎ−ｎ＋１）通りの重畳位置についての類似度を求める演算が行われる。
【００６５】
ここで、ｉの範囲を０〜（Ｍ−ｍ）とし、ｊの範囲を０〜（Ｎ−ｎ）とするのは、重ねた基準単眼画像Ｅが顔面画像Ｆから食み出さないような重畳位置のみを考慮するためである。もちろん、本発明を実施する上では、ｉ，ｊの値を必ずしも１ずつ変える必要はなく、たとえば、ｉ＝０，２，４，６，...と２ずつ変え、ｊ＝０，２，４，６，...と２ずつ変えた組み合わせを第１次候補としてもかまわない。
【００６６】
既に述べたとおり、ここに示す実施形態では、基準単眼画像Ｅを顔面画像Ｆ上の特定の重畳位置に重ねたときの両画像の類似度は、両画像において１対１に対応する画素の画素値の類似性に基づいて求められる。たとえば、図５(b) に示す顔面画像Ｆ上の太線で囲った領域内に基準単眼画像Ｅを重ねたときの基準単眼画像Ｅと顔面画像Ｆとの類似度は、この太線で囲った領域内で互いに同位置にある対応画素の画素値の類似性に基づいて求められる。具体的には、図５(b) に示す例の場合、α＝０〜（ｍ−１）、β＝０〜（ｎ−１）に変化させたそれぞれの場合について、基準単眼画像Ｅ上の画素Ｅ（α，β）の画素値と顔面画像Ｆ上の画素Ｆ（ｉ＋α，ｊ＋β）の画素値との類似性を定量的に評価し、これらの評価を総合することにより、重畳位置（ｉ，ｊ）についての類似度を求めることができる。
【００６７】
ここでは、このような類似度を算出するために利用可能な具体的な演算式の一例を示しておこう。図７は、２つの関数Ｆ（ｋ），Ｅ（ｋ）の類似度を示す相関係数Ｒの一般的な定義方法の一例を示す図である。いま、図７の上段のグラフに示されているように、変数ｋによって定義される２つの関数Ｆ（ｋ），Ｅ（ｋ）が存在する場合を考える。ここで、変数ｋが、０≦ｋ≦Ｋ−１という範囲内のＫ通りの整数値をとるものとすると、両関数Ｆ（ｋ），Ｅ（ｋ）のユークリッド距離ｄは、図７にも示されているように、ｋ＝０，１，２，...，Ｋ−１における各関数値の差の２乗和の平方根をとることにより、次のような式(1) によって定義できる。
ｄ＝√（Σｋ＝０，Ｋ−１（Ｆ（ｋ）−Ｅ（ｋ））２）          (1) 
この式(1) の両辺を２乗して展開すると、式(2) を得る。
ｄ２ ＝Σｋ＝０，Ｋ−１Ｆ（ｋ）２＋Σｋ＝０，Ｋ−１Ｅ（ｋ）２
−２Σｋ＝０，Ｋ−１Ｆ（ｋ）・Ｅ（ｋ）                  (2) 
ここで、ユークリッド距離ｄの値が０に近ければ近いほど、両関数Ｆ（ｋ），Ｅ（ｋ）の類似性は高いことになる。したがって、上記式(2) において、２乗累積の項（右辺の第１項および第２項）が一定であると仮定すると、右辺第３項が大きければ大きいほど、両関数Ｆ（ｋ），Ｅ（ｋ）の類似性は高いことになる。このため、一般に、両関数Ｆ（ｋ），Ｅ（ｋ）の類似度を示す相関係数Ｒは、式(2) の右辺第３項を、第１項および第２項の大きさで正規化することにより、次のような式(3) で表現される。
Ｒ＝Σｋ＝０，Ｋ−１Ｆ（ｋ）・Ｅ（ｋ）／
（√（Σｋ＝０，Ｋ−１Ｆ（ｋ）２）・√（Σｋ＝０，Ｋ−１Ｅ（ｋ）２））    (3) 
この式(3) は、一次元の変数ｋで定義される両関数Ｆ（ｋ），Ｅ（ｋ）の相関係数Ｒを示すものであるが、これを二次元画素配列をもつ２つの画像の類似度を示す係数に拡張すれば、図８にも示すように、次のような式(4) が得られる。
Ｒ（ｉ，ｊ）＝
Σβ＝０，n−１（Σα＝０，m−１（Ｆ（ｉ＋α，ｊ＋β）・Ｅ（α，β）））    (4) 
【００６８】
この式(4) で示される相関係数Ｒ（ｉ，ｊ）は、図５に示す例のように、ｍ列ｎ行の二次元画素配列（第０列〜第（ｍ−１）列、第０行〜第（ｎ−１）行の行列）をもった基準単眼画像Ｅを、Ｍ列Ｎ行の二次元画素配列（但し、Ｍ＞ｍ、Ｎ＞ｎであり、第０列〜第（Ｍ−１）列、第０行〜第（Ｎ−１）行の行列）をもった顔面画像Ｆ上に、基準単眼画像Ｅの第０列第０行目の画素を、顔面画像Ｆ上の第ｉ列第ｊ行目（但し、ｉ＝０〜（Ｍ−ｍ），ｊ＝０〜（Ｎ−ｎ））の画素に重ねるような配置を行った際の類似度を示すパラメータということになる。ここで、Ｆ（ｉ＋α，ｊ＋β）は顔面画像Ｆの第（ｉ＋α）列第（ｊ＋β）行目の画素の画素値、Ｅ（α，β）は基準単眼画像の第α列第β行目の画素値である。
【００６９】
別言すれば、式(4) で定義された相関係数Ｒ（ｉ，ｊ）は、図５(b) に示す太線枠内において、互いに同じ位置に重なっている２つの画素の画素値の積（Ｆ（ｉ＋α，ｊ＋β）・Ｅ（α，β））の総和ということになる。そして、相関係数Ｒ（ｉ，ｊ）の値が大きければ大きいほど、類似度は高いことになり、顔面画像Ｆの太線枠内の画像は基準単眼画像Ｅに類似していることになる。
【００７０】
なお、顔面画像Ｆおよび基準単眼画像Ｅとして、カラー画像を用いた場合、各画像の画素は、色別に複数の画素値を有していることになる。このように、カラー画像に本発明を適用する場合の第１のアプローチは、すべての色の画素値を考慮した取り扱いを行うことである。
【００７１】
たとえば、ステップＳ１の基準単眼画像準備段階で、赤緑青の３原色の画素値Ｅｒ，Ｅｇ，Ｅｂをもつ画素の集合からなる基準単眼画像Ｅを準備し、顔面画像準備段階で、赤緑青の３原色の画素値Ｆｒ，Ｆｇ，Ｆｂをもつ画素の集合からなる顔面画像を準備した場合を考えよう。この場合、ステップＳ３の類似度演算段階では、図９の上段にも示すように、
Ｒ（ｉ，ｊ）＝１／３・
（Σβ＝０，n−１（Σα＝０，m−１（Ｆｒ（ｉ＋α，ｊ＋β）・Ｅｒ（α，β））））
＋Σβ＝０，n−１（Σα＝０，m−１（Ｆｇ（ｉ＋α，ｊ＋β）・Ｅｇ（α，β））））
＋Σβ＝０，n−１（Σα＝０，m−１（Ｆｂ（ｉ＋α，ｊ＋β）・Ｅｂ（α，β））））
(5) 
なる演算式に基づく演算により、類似度を示す相関係数Ｒ（ｉ，ｊ）を求めればよい。
【００７２】
ここで、Ｆｒ（ｉ＋α，ｊ＋β）は顔面画像の第（ｉ＋α）列第（ｊ＋β）行目の画素の赤色の画素値、Ｅｒ（α，β）は基準単眼画像の第α列第β行目の赤色の画素値、Ｆｇ（ｉ＋α，ｊ＋β）は顔面画像の第（ｉ＋α）列第（ｊ＋β）行目の画素の緑色の画素値、Ｅｇ（α，β）は基準単眼画像の第α列第β行目の緑色の画素値、Ｆｂ（ｉ＋α，ｊ＋β）は顔面画像の第（ｉ＋α）列第（ｊ＋β）行目の画素の青色の画素値、Ｅｂ（α，β）は基準単眼画像の第α列第β行目の青色の画素値であり、３つの色ごとの類似度の平均値として、相関係数Ｒ（ｉ，ｊ）が得られることになる。
【００７３】
ただ、本願発明者が実験を行った結果、上記式(5) の代わりに、図９の下段にも示すように、
Ｒ（ｉ，ｊ）＝Σβ＝０，n−１（Σα＝０，m−１
（Ｆｒ（ｉ＋α，ｊ＋β）・Ｅｒ（α，β）））  (6) 
なる演算式に基づく演算により、類似度を示す相関係数Ｒ（ｉ，ｊ）を求めた場合でも、上記式(5) を用いた場合に比べて遜色のない結果を得ることができた。
【００７４】
この式(6) は、赤色の画素値のみについての類似度を求める式であり、Ｆｒ（ｉ＋α，ｊ＋β）は顔面画像Ｆの第（ｉ＋α）列第（ｊ＋β）行目の画素の赤色の画素値、Ｅｒ（α，β）は基準単眼画像Ｅの第α列第β行目の赤色の画素値である。このように、ステップＳ３の類似度演算段階で、赤色の画素値のみの類似度を考慮した類似度演算を行っても大きな支障が生じない理由は、人間の肌の部分には赤色成分が多く含まれているのに対して、人間の眼の部分には赤色成分が少ないため、赤色成分のみを考慮した類似度演算を行っても、眼の部分に関する類似／非類似の判定結果が正しく得られるためであると考えられる。
【００７５】
このように、式(6) を用いて、赤色の画素値のみの類似度を考慮した類似度演算を行うのであれば、基準単眼画像Ｅとしては、赤緑青の３原色の画素値Ｅｒ，Ｅｇ，Ｅｂのうち、赤色の画素値Ｅｒのみをもつ画素の集合からなる画像を用意しておけば足りる。もちろん、デジタルカメラなどを用いたカラー撮影により得られる顔面画像Ｆは、赤緑青の３原色の画素値Ｆｒ，Ｆｇ，Ｆｂをもつ画素の集合からなる画像になるが、ステップＳ３の類似度演算では、このうち画素値Ｆｒのみを利用した演算を行えば足りる。式(6) を用いた演算は、式(5) を用いた演算に比べて演算負担が軽減されるので、実用上は、式(6) を用いた演算を行えば十分である。
【００７６】
以上、図６の流れ図のステップＳ３において実行される類似度演算に用いる具体的な演算式の例を述べたが、もちろん、本発明を実施する上で利用可能な類似度演算の演算式は上例の式に限定されるものではない。要するに、基準単眼画像Ｅを顔面画像Ｆ上の特定の領域上に重ねたときに、重畳部分に関する両画像の類似性を定量的に示すことができる演算式であれば、どのような式を用いて類似度演算を行ってもかまわない。
【００７７】
続いて、図６のステップＳ４では、類似度がしきい値未満の重畳位置を候補から除外する処理が行われる。本願では、ステップＳ３で類似度演算が行われた個々の重畳位置を、第１次候補の重畳位置と呼んでいる。図５に示す例の場合、ｉを０〜（Ｍ−ｍ）まで１ずつ変え、ｊを０〜（Ｎ−ｎ）まで１ずつ変えた合計（Ｍ−ｍ＋１）×（Ｎ−ｎ＋１）通りの重畳位置が第１次候補となり、これらの候補のそれぞれについて、類似度を求める演算が行われる。ステップＳ４のしきい値未満除外段階は、この第１次候補となる重畳位置のうち、類似度がしきい値未満の候補を除外し、残りの候補を第２次候補とする処理が行われる。
【００７８】
図１０は、ステップＳ３に示す類似度演算の結果を示すグラフである。このグラフの横軸は、第１次候補となる各重畳位置（ｉ，ｊ）を示し、縦軸は、各重畳位置について演算された類似度Ｒ（ｉ，ｊ）の値（たとえば、式(7) で求めた相関係数値）を示している。ここで、重畳位置（ｉ，ｊ）は、顔面画像Ｆを構成する二次元画素配列上の第ｉ列第ｊ行目の画素位置として、二次元的に定義されるパラメータであるが、図１０のグラフでは、便宜上、第ｊ行目の右隣に第（ｊ＋１）行目を配置するようにして、一次元の横軸上に、各重畳位置（ｉ，ｊ）を並べて配置して示している。たとえば、第ｊ行目の第（Ｍ−ｍ）列目の画素位置（第ｊ行目の最も右に位置する重畳位置）として定義される重畳位置（Ｍ−ｍ，ｊ）の右隣には、その１行下の左端の画素位置、すなわち、第（ｊ＋１）行目の第０列目の画素位置として定義される重畳位置（０，ｊ＋１）が配置されている。
【００７９】
この図１０のグラフにプロットされた個々の黒点は、各重畳位置について演算された類似度Ｒ（ｉ，ｊ）の値を示しており、図では、隣接する黒点間に連結線を描くことにより、折れ線グラフが示されている。なお、この折れ線グラフは、後述するステップＳ５の極大抽出段階の処理説明を容易にするための便宜で示したものである。図には、このような折れ線グラフの一部分の区間（第ｊ行目〜第（ｊ＋１）行目にかかる区間）のみしか示されていないが、実際には、このグラフの左端の部分には第０行目に属する重畳位置についての黒点がプロットされ、右端の部分には第（Ｎ−ｎ）行目に属する重畳位置についての黒点がプロットされている。そして、このグラフの横軸の全区間に配置された重畳位置が、第１次候補の重畳位置ということになる。
【００８０】
ステップＳ４のしきい値未満除外段階では、この第１次候補となる重畳位置のうち、類似度が所定のしきい値Ｔ未満の候補を除外し、残りの候補を第２次候補とする処理が行われる。図１０のグラフに一点鎖線で示すラインは、このしきい値Ｔを示すラインであり、このラインより上方に黒点がプロットされている重畳位置のみが、第２次候補として選抜されることになる。
【００８１】
図１１は、このステップＳ４に示す除外処理の結果を示すグラフである。図に第２次候補として示されている黒点は、いずれもしきい値Ｔ以上の類似度をもつ重畳位置を示している。このように、類似度がしきい値Ｔ未満の候補を除外して、第２次候補を選抜するのは、類似度がしきい値Ｔ未満となる重畳位置に実際に眼が存在する可能性は極めて小さいと考えられるからである。
【００８２】
続くステップＳ５の極大抽出段階では、この第２次候補として残った各重畳位置について、顔面画像Ｆ上での水平方向に関する類似度の変動を調べ、第２次候補の中から、類似度が極大値をとる候補を第３次候補として抽出する処理が行われる。図１１に丸印を付して示した２つの黒丸は、こうして抽出された第３次候補となる重畳位置を示している。この第３次候補が極大値をとる候補であることは、図示された折れ線グラフを参照すれば直観的に理解できよう。
【００８３】
このような第３次候補を抽出する最も単純な方法は、水平方向に隣接して配列された第２次候補の各重畳位置について、隣接位置間における類似度の変遷を順に調べてゆき、類似度の値が増加から減少に転じたときに、減少に転じる直前の重畳位置を第３次候補として抽出する方法である。
【００８４】
たとえば、図１１に示す例の場合、折れ線グラフ上の黒点を左側から順に追いながら、類似度の増減を調べてゆくと、左側の山の場合、１つ目、２つ目、３つ目までは増加しているのに、４つ目から減少に転じているので、減少に転じる直前の３つ目の重畳位置が第３次候補として抽出されることになる。同様に、右側の山の場合、１つ目、２つ目、３つ目、４つ目までは増加しているのに、５つ目から減少に転じているので、減少に転じる直前の４つ目の重畳位置が第３次候補として抽出されることになる。
【００８５】
もちろん、類似度が極大値をとる位置を求める方法としては、図１１に示すグラフを横軸方向位置について微分し、微分値が０に近い重畳位置を第３次候補として抽出するような方法を採ることも可能である。
【００８６】
前述したとおり、このグラフの横軸は、顔面画像Ｆの行方向の画素配列を示しており、折れ線グラフの上がり下がりは、顔面画像Ｆ上での水平方向に関する類似度の変動を示すことになる。したがって、ここで第３次候補として抽出された重畳位置は、水平方向に関して局所的に類似度がピークを示す位置ということになる。
【００８７】
このように、ステップＳ５の極大抽出段階において、水平方向に関する類似度の変動に関して極大値をとる候補を第３次候補として抽出するのは、水平方向に関して極大値をとる候補の重畳位置には、実際に眼が存在する可能性が高いと考えられるためである。その理由を、図１２を参照しながら説明しよう。
【００８８】
図１２は、人間の一般的な眼の領域構成を示す平面図である。図示のとおり、人間の眼は、中央の瞳領域Ａ１と、その左右両脇に配置された白目領域Ａ２とを有しており、更にその外側に眼外領域Ａ３（肌の領域）が位置することになる。そして、東洋人の場合、瞳領域Ａ１は黒っぽい領域となり、白目領域Ａ２は白っぽい領域となり、眼外領域Ａ３は肌色っぽい領域となる。西洋人や黒人の場合、各領域の色味は若干異なるが、やはりこの３つの領域は、互いに異なる色調をもった領域となる。
【００８９】
いま、図１２に一点鎖線で示すような水平線を定義し、この水平線に沿った一次元方向（水平方向）に関する領域分布Ｂ１（図１２の下段）を考えてみる。更に、図示のとおり、この領域分布Ｂ１を若干左方向にずらした別な領域分布Ｂ２を考え、両者の一次元方向（水平方向）に関する同じ位置の類似度を求めてみる。すると、水平方向に関して、瞳領域Ａ１、白目領域Ａ２、眼外領域Ａ３は、部分的に重なりを生じており、この重なり部分に応じた類似度が得られることになる。
【００９０】
ここで、この領域分布Ｂ２を、図示の位置から徐々に右側へと移動させていった場合に、類似度がどのように変遷するかを考えてみよう。すると、領域分布Ｂ２の右方向への移動により、瞳領域Ａ１、白目領域Ａ２、眼外領域Ａ３の重なり部分は徐々に増加してゆくため、類似度も徐々に増加してゆくことがわかる。そして、領域分布Ｂ２が領域分布Ｂ１の真下に来た時点で、類似度は極大値をとり、その後、類似度は徐々に減少してゆくことになる。
【００９１】
このように、人間の眼は、中央の瞳領域Ａ１と、その左右両脇に配置された白目領域Ａ２とを有しており、更にその外側に眼外領域Ａ３（肌の領域）が位置するという特性を有しているため、テンプレートとなる基準単眼画像Ｅの重畳位置を顔面画像Ｆ上で水平方向に徐々に移動させてゆくと、テンプレートが顔面画像Ｆ上の眼の位置を通過する前後において、類似度が徐々に増加し、その後、徐々に減少する、という現象が生じることになる。このような理由から、水平方向に関して極大値をとる候補の重畳位置には、実際に眼が存在する可能性が高いと判断できる。ステップＳ５の極大抽出段階は、このような理由に基づいて、第３次候補を抽出するための処理である。
【００９２】
次のステップＳ６の上位候補選択段階では、第３次候補の中から、類似度の大きい所定数の重畳位置を第４次候補として選択する処理が行われる。具体的には、予め所定数を設定しておき、第３次候補の中から、類似度の大きい順に候補を選択してゆく処理を、選択された候補数が設定した所定数に達するもしくは所定数を越えるまで繰り返し実行すればよい。たとえば、所定数＝１０に設定した場合、類似度の大きい順に候補を選択してゆく処理を、選択された候補数が１０に達するもしくは１０を越えるまで続行すればよい。等しい類似度をもつ候補が複数存在した場合には、候補数が１０を越える場合もあり得るが、いずれにしても、類似度が大きい上位のいくつかの候補を第４次候補として選択することができる。
【００９３】
図１３は、ステップＳ５に示す極大値抽出処理の結果として得られた第３次候補の中から、ステップＳ６に示す上位候補選択処理によって第４次候補を選択する処理の一例を示す表である。前述したとおり、ここに示す実施形態では、各重畳位置は、「顔面画像Ｆ上の特定の画素」の列番号ｉおよび行番号ｊを用いて、（ｉ，ｊ）のような形式で示される。図１３の表は、このような（ｉ，ｊ）で示される個々の重畳位置（第３次候補として抽出された重畳位置）についての類似度Ｒ（ｉ，ｊ）の値を示す表であり、類似度Ｒ（ｉ，ｊ）の大きさの降順にソートした結果を示すものである。たとえば、表の第１行目は、顔面画像Ｆを構成する画素配列の第１３２列第２４１行目の画素を重畳位置として基準単眼画像Ｅを重ねた場合、類似度Ｒ（１３２，２４１）＝０．６８３であり、当該類似度の値が最も大きいことを示している。
【００９４】
たとえば、ステップＳ６の上位候補選択段階で、所定数＝１０に設定したとすると、図１３に示すように、順位１〜１０までの重畳位置が第４次候補として選択されることになる。この上位候補選択段階での所定数は、任意の値に設定することが可能であるが、本願発明者が様々な条件で本発明を実施した経験によれば、ほぼ１０程度に設定すると、最も好ましい結果が得られた。
【００９５】
続いて、ステップＳ７では、ステップＳ６で選択された候補の中から、位置の近いものを１つに統合する処理が行われる。すなわち、ここで述べる実施形態の場合、各重畳位置は「顔面画像Ｆ上の特定の画素」の位置として定義されるが、顔面画像Ｆ上で互いに近接した複数の画素がステップＳ６で選択された場合には、これらの画素を１つに統合する処理が行われる。
【００９６】
一対の画素が近接しているか否かは、両画素間のユークリッド距離Ｄが所定のしきい値以下か否かによって判定することが可能である。すなわち、図１４に示すように、顔面画像Ｆ上の第ｉ１列第ｊ１行目に位置する第１の画素（ｉ１，ｊ１）と、第ｉ２列第ｊ２行目に位置する第２の画素（ｉ２，ｊ２）との間のユークリッド距離Ｄは、Ｄ＝√（（ｉ１−ｉ２）２＋（ｊ１−ｊ２）２）なる式によって求めることができる。
【００９７】
そこで、図１３に示す第４次候補として選択された１０個の重畳位置のそれぞれについて、他の９個の重畳位置との間のユークリッド距離Ｄを計算し、所定のしきい値以下のユークリッド距離Ｄをもった一対の候補については、一方（たとえば、類似度の低い方）を除外する処理を行うようにすればよい。もちろん、３つ以上の候補が相互に近接していた場合には、いずれか１つの候補のみを残し、他の候補を除外すればよい。
【００９８】
このステップＳ７の処理を、具体例に即して説明しよう。図１５は、図１３の表の一部を抜き出したものである。ここで、順位第２位の候補と第４位の候補とに注目すると、第２位の候補の重畳位置は、ｉ＝２４３，ｊ＝２３９であるのに対して、第４位の候補の重畳位置は、ｉ＝２４２，ｊ＝２３８である。したがって、この２つの重畳位置について、上述の式で定義されるユークリッド距離Ｄを求めると、Ｄ＝√２となり、画素ピッチのわずか√２の距離であることがわかる。このように、互いに近接する候補については、１つに統合する処理を行えばよい。
【００９９】
たとえば、類似度の低い方を除外して、類似度の高い方に統合するようにするのであれば、図１３の表における第４位の候補を除外すればよい。図１６は、このような統御処理を行った後の第４次候補を示す表である。第４位の候補は除外され、最終的な第４次候補は９個になる。第４位の候補は除外されたものの、第２位の候補が第４位の候補の役割を担うことになり、実質的には、第４位の候補は第２位の候補に統合されたことになる。
【０１００】
このように、ステップＳ７で行われる統合処理の意味は、顔面画像Ｆ上の同一の眼の位置を示す複数の候補があった場合には、これを１つに統合しておき、後の各ステップにおける無駄な処理を省くようにすることにある。図１５に示す例の場合、第２位の候補の重畳位置（ｉ＝２４３，ｊ＝２３９）は、第４位の候補の重畳位置（ｉ＝２４２，ｊ＝２３８）の１行下の位置であり、列方向にも１画素分しかずれていない位置である。したがって、実質的に、顔面画像Ｆ上の同一の眼にマッチングした結果を示すものと考えられる。このように、実質的に同一の眼を示す位置候補は、１つだけあれば十分であり、残りは候補から除外しても問題はない。ステップＳ７の処理は、このような理由により、不要な候補を除外するための処理である。
【０１０１】
もっとも、このステップＳ７の処理は、本発明を実施する上で必須の処理ではない。たとえば、図１５に示す例において、第２位の候補と第４位の候補との双方を第４次候補として残しておいたとしても、後述するステップＳ８以降の処理に支障が生じることはない。すなわち、ステップＳ７の処理を省くと、後に、無用な処理が増えるために演算効率が低下することはあるかもしれないが、原理的には何ら支障は生じない。したがって、個々の候補間についてユークリッド距離Ｄを求める演算負担の方がかえって重くなるような場合には、ステップＳ７の処理は省略することができる。その場合は、ステップＳ６で選択された候補がそのまま第４次候補ということになる。
【０１０２】
一方、ステップＳ７の処理を実行する場合には、ステップＳ６で選択された候補は、暫定的な第４次候補ということになる。ステップＳ７では、この暫定的な第４次候補内に互いに近傍にある複数の重畳位置が含まれていた場合には、当該複数の重畳位置のうちの代表となる１つのみを第４次候補として残し、それ以外を第４次候補から除外する処理が行われる。
【０１０３】
続く、ステップＳ８の最終候補決定段階では、第４次候補の中から、顔の中心線に関する単眼画像枠の対称性が所定の基準以上であり、かつ、互いに単眼画像枠が重ならない一対の候補を最終候補と決定する処理が行われる。この最終候補決定処理の基本概念を、図１７を参照しながら説明しよう。
【０１０４】
図１７において、Ｃ１〜Ｃ９は、第４次候補として残った９つの重畳位置に配置された単眼画像枠を示している。もちろん、この図１７を人間が観察すれば、Ｃ４およびＣ５が、最終候補とすべき一対の候補に対応する単眼画像枠であることが一目で把握できる。しかしながら、コンピュータ処理上は、Ｃ１〜Ｃ９に関して与えられた情報は、図１６の表に示されているとおり、類似度Ｒ（ｉ，ｊ）とその位置（ｉ，ｊ）だけである。そして、類似度Ｒ（ｉ，ｊ）に基づく候補選択は、既に、ステップＳ６において実行済みである。そこで、このステップＳ８では、位置（ｉ，ｊ）の情報に基づいて、最終候補の選抜を行う。
【０１０５】
図１７に示すＣ１〜Ｃ９の画像枠は、いずれもその内部に、基準単眼画像Ｅに類似する画像が存在することを示す画像枠である。ただ、各画像枠Ｃ１〜Ｃ９の内部に存在する画像が、本当にこの人物の眼の画像であるのかどうかは定かではない。
【０１０６】
そこで、このステップＳ８における最終候補決定処理では、「人間の顔がほぼ左右対称である」という対称性が利用される。すなわち、人間の顔には左右一対の眼があり、両眼の配置は、顔中心線Ｌについて左右対称になる、という特徴を利用することになる。図１７に示す例の場合、９つの画像枠Ｃ１〜Ｃ９の中から２つの画像枠を取り出したときに、もし、当該２つの画像枠内の画像が、この人物の左眼と右眼の画像であったとしたら、当該２つの画像枠は、顔中心線Ｌについて左右対称の位置に配置されているはずである。もちろん、人間の左眼と右眼とが空間的に重なっていることは有り得ないから、当該２つの画像枠が、顔中心線Ｌについて左右対称の位置に配置されていたとしても、当該２つの画像枠の一部が重なり合っている場合には、当該２つの画像枠の組み合わせは、この人物の左眼と右眼の位置を示すものにはならない。
【０１０７】
結局、９つの画像枠Ｃ１〜Ｃ９の中から２つの画像枠を取り出したときに、当該両画像枠について、顔の中心線に関する対称性が所定の基準以上であり、かつ、互いに重ならない場合には、当該２つの画像枠は、この人物の左眼と右眼の位置に配置された画像枠である、と推定することができる。これがステップＳ８における最終候補決定処理の基本原理である。
【０１０８】
図１７に示す例の場合、９つの画像枠Ｃ１〜Ｃ９の中から２つを取り出す全組み合わせについて、上記条件を満たすか否かを調べ、上記条件を満たす組み合わせがあれば、当該組み合わせに係る２つを最終候補と決定すればよい。たとえば、まず、画像枠Ｃ１に着目して、この画像枠Ｃ１に対して、上記条件を満たす別な画像枠があるかどうかを調べてみる。図示のとおり、顔中心線Ｌに関して、画像枠Ｃ１と対称になる位置に存在する別な画像枠はないので、画像枠Ｃ１は、最終候補としての資格は有していない。同様に、画像枠Ｃ２，Ｃ３も最終候補にはならない。ところが、一対の画像枠Ｃ４，Ｃ５の組み合わせは、上記条件を満たすことになる。したがって、図１７に示す例の場合、９つの画像枠Ｃ１〜Ｃ９の中から、画像枠Ｃ４，Ｃ５が最終候補として決定されることになる。
【０１０９】
なお、図１７における一対の画像枠Ｃ６，Ｃ７は、「顔中心線Ｌに関して互いにほぼ対称になる」という条件は満たすものの、「互いに重ならない」という条件を満たしていないため、最終候補としての資格は有していない。また、図１７における画像枠Ｃ９は、それ自身は「顔中心線Ｌに関してほぼ対称」となる位置に配置されているが、上記条件を満たす一対の画像枠ではないので、やはり最終候補としての資格は有していない。したがって、図１７に示す例の場合、９つの画像枠Ｃ１〜Ｃ９の中から最終候補として残るのは、画像枠Ｃ４，Ｃ５の組み合わせのみということになる。
【０１１０】
上記条件は、位置（ｉ，ｊ）で表現される個々の重畳位置（第４次候補）について、下記の２条件として表現することができ、ステップＳ８では、下記の２条件を満たす関係にある一対の重畳位置が最終候補と決定される。
（条件１）基準単眼画像Ｅを当該一対の重畳位置にそれぞれ配置したときに、両画像枠の「顔面画像Ｆを左右に二等分する縦方向に伸びる顔中心線Ｌに関する対称性」が所定の基準以上であること、
（条件２）基準単眼画像Ｅを当該一対の重畳位置にそれぞれ配置したときに、両画像枠が互いに重なり合わないこと、
【０１１１】
ここで、（条件１）についての具体的な判断は、図１８に示すように、一方の画像枠Ｃａの中心点Ｐａと顔中心線Ｌとの距離Ｄａと、他方の画像枠Ｃｂの中心点Ｐｂと顔中心線Ｌとの距離Ｄｂとの差が、所定の範囲Ｄ１内の値となり、かつ、一方の画像枠Ｃａの中心点Ｐａから顔中心線Ｌへ下ろした垂線の足Ｌａと、他方の画像枠Ｃｂの中心点Ｐｂから顔中心線Ｌへ下ろした垂線の足Ｌｂと、の距離Ｄｃが、所定の範囲Ｄ２内の値となる場合に、「顔中心線Ｌに関する対称性が所定の基準以上である」と判断するようにすればよい。
【０１１２】
すなわち、図１８において、「Ｄａ−Ｄｂ」の絶対値≦Ｄ１、かつ、Ｄｃ≦Ｄ２の場合に、「顔中心線Ｌに関する対称性が所定の基準以上である」との判断がなされることになる。ここで、所定の範囲Ｄ１，Ｄ２は、対称性判断の基準を定めるパラメータであり、大きな値に設定すると、対称性の判断基準が下がり、（条件１）を満足する一対の重畳位置が増える傾向になり、逆に小さな値に設定すると、対称性の判断基準が上がり、（条件１）を満足する一対の重畳位置が減る傾向になる。理想的には、ステップＳ８で決定される最終候補は１組の重畳位置対のみになるのが好ましい。したがって、実用上は、そのような理想的な結果が得られるように、範囲Ｄ１，Ｄ２を最適な値に設定するようにする。
【０１１３】
一方、（条件２）についての具体的な判断は、画像枠のサイズが既知（ｍ×ｎ画素）であるため、個々の重畳位置に基づく単純な幾何学的演算によって行うことができる。
【０１１４】
なお、上述の実施形態の場合、顔面画像Ｆを左右に二等分する縦方向に伸びる線を顔中心線Ｌとして用いているが、このように、画像の横幅を二等分にする線は、必ずしも、人物の顔の中心線（たとえば、鼻筋の位置を通る線）に一致しているわけではない。しかしながら、デジタルカメラなどを用いて人物の顔を撮影する場合に、ほぼ中央に顔が写るような構図にすれば、実用上、支障は生じない。
【０１１５】
すなわち、図１７に示す顔中心線Ｌが、この人物の顔の正確な中心線でなかったとしても、所定の範囲Ｄ１にある程度の余裕をもたせておくことにより、図１７における一対の画像枠Ｃ６，Ｃ７は、「顔中心線Ｌに関して互いに対称になる」という条件を満たすものとして取り扱われることになる。同様に、人物の顔を撮影する場合に、人物像が多少斜めに傾いて写ってしまったとしても、所定の範囲Ｄ２にある程度の余裕をもたせておくことにより、図１７における一対の画像枠Ｃ６，Ｃ７は、やはり「顔中心線Ｌに関して互いに対称になる」という条件を満たすものとして取り扱われることになる。
【０１１６】
こうして、ステップＳ８における最終候補決定段階が終了すると、最後に、ステップＳ９の検出結果出力段階が行われる。すなわち、ステップＳ８において最終候補として決定された一対の重畳位置に基準単眼画像Ｅを配置したときの当該一対の重畳位置に配置された各基準単眼画像の画像枠内の代表点の位置が、両眼の位置の検出結果として出力される。ここに示す実施形態の場合、図５(a) に示すように、基準単眼画像Ｅの画像枠Ｅｆの中心点Ｐをその代表点と定めているので、最終候補として決定された一対の重畳位置に基準単眼画像Ｅを配置したときの両画像枠の中心点（たとえば、図２に示す点Ｐ１（ｘ１，ｙ１）および点Ｐ（ｘ２，ｙ２））の位置座標が両眼の位置の検出結果として出力されることになる。
【０１１７】
なお、ステップＳ８の最終候補決定段階で、上記２条件を満たす関係にある一対の重畳位置が複数組存在する場合には、一対の重畳位置についての大きい方の類似度もしくは一対の重畳位置についての類似度の合計値が最大となる１組のみを最終候補と決定するようにすればよい。
【０１１８】
あるいは、２条件を満たす関係にある一対の重畳位置が複数組存在する場合には、当該複数組の一対の重畳位置をいずれも最終候補と決定し、ステップＳ９の検出結果出力段階で、最終候補として決定された複数組の一対の重畳位置に基準単眼画像Ｅを配置したときの両画像枠内の代表点の位置を、それぞれ複数組の両眼の位置の検出結果として出力することもできる。この場合、コンピュータによる一対の重畳位置についての最終的な絞り込みは留保され、両眼位置を示す複数通りの結果が提示されることになり、正しい結果がどれであるかは、人間の判断に委ねられることになる。
【０１１９】
＜＜＜  §３．顔面画像のトリミング・変倍処理  ＞＞＞
さて、§２では、図６の流れ図に基づいて、本発明に係る検出方法の基本的な処理手順を説明したが、ここでは、この処理手順におけるステップＳ２で準備される顔面画像Ｆを得るためのトリミング・変倍処理について述べることにする。
【０１２０】
本発明を実施する場合、顔面画像Ｆは、通常、デジタルカメラなどで人物の顔を撮影することにより得られる。この場合、撮影によって得られた撮影原画像上の人物の大きさや位置は、撮影条件によって様々であるが、§２で説明した両眼位置検出プロセスの精度に大きな影響を与える要因になる。
【０１２１】
たとえば、ステップＳ８で最終候補を決定する場合、図１８に示すような条件判断を行うために、顔面画像Ｆを左右に二等分する縦方向に伸びる線を顔中心線Ｌとして用いた処理を行っている。ところが、この画像の横幅を二等分にする線は、必ずしも、人物の顔の中心線には一致しない。すなわち、人物の顔写真撮影時に、人物の顔が正確に中央に配置されるような構図をとらない限り、正しい顔中心線Ｌを用いた処理を行うことはできない。もちろん、顔中心線Ｌが多少不正確でも、所定の範囲Ｄ１にある程度の余裕をもたせておけば、対称性の判断に大きな支障は生じないが、検出精度を向上させる上では、顔面画像Ｆを左右に二等分する線（すなわち、図１８の条件判断において、顔中心線Ｌとして利用される線）が、人物の正しい顔中心線に一致するのが好ましい。
【０１２２】
また、ステップＳ１で準備された基準単眼画像Ｅのサイズと、ステップＳ２で準備された顔面画像Ｆのサイズとの間に、整合性がないと、ステップＳ３における類似度演算の結果が正しいものにならない。たとえば、図４に示す例の場合、単眼画像枠Ｅｆのサイズと、顔面画像Ｆ上の人物の眼のサイズとが、ほぼ等しいサイズとなっているため、重畳位置Ｑ３，Ｑ４についての類似度は比較的高いものとなり、正しい両眼位置の検出が可能になる。ところが、単眼画像枠Ｅｆのサイズが図示の１／２しかなかったり、図示の２倍であったりすると、比較対象となる眼の画像サイズに整合性がなくなり、類似性を正しく判定することはできなくなる。
【０１２３】
このような理由から、ステップＳ２において顔面画像Ｆを準備する際には、デジタルカメラなどによる撮影で得られた撮影原画像に対してトリミング処理および変倍処理を施し、処理後の画像を顔面画像Ｆとして用いるようにするのが好ましい。
【０１２４】
もちろん、本発明を実施する上で、このようなトリミング処理および変倍処理は必須のものではない。たとえば、人物画像を撮影する際に、使用するカメラ、ズーム倍率、被写体までの距離、ファインダー上での被写体の位置などの撮影条件を常に一定にするようにしておき、ステップＳ２では、このような特定の撮影条件の下で得られた撮影原画像をそのまま顔面画像Ｆとして用いるようにし、ステップＳ１では、そのような顔面画像Ｆ上の眼に適したサイズの基準単眼画像Ｅを準備しておくようにすれば、十分な精度で両眼位置の検出が可能である。ただ、実用上は、必ずしも常に同一の撮影条件で顔写真が撮影されるとは限らないので、様々な撮影条件で撮影された任意の顔写真にも対応できるようにするためには、次に述べるようなトリミング処理および変倍処理を施すようにするのが好ましい。
【０１２５】
以下、図１９および図２０に示す流れ図を参照しながら、トリミング処理および変倍処理を含む顔面画像準備段階（図６のステップＳ２）の詳細手順を説明する。
【０１２６】
まず、図１９のステップＳ１１において、撮影原画像を準備する。この撮影原画像は、トリミング処理および変倍処理を行う前の人物の顔画像であり、たとえば、デジタルカメラを用いて任意の撮影条件で実在の人物の顔を撮影することにより、撮影原画像を準備することができる。もちろん、銀塩写真をスキャナで取り込むような方法で、撮影原画像を準備してもかまわない。
【０１２７】
なお、以下の処理を正確に行うことができるようにするために、実在の人物の顔写真を撮影する際には、できるだけ無地の背景を用いた環境で撮影を行うようにするのが好ましい。もちろん、一般の証明写真と同様に、正面を向き、脱帽した状態の人物を撮影するのが好ましい。
【０１２８】
こうして撮影された撮影原画像は、図２１に示すように、背景部分（図の白地部分）を示す背景画素と人物部分を示す人物画素（図のハッチング部分）とによって構成される二次元画素配列からなる。以下のプロセスでは、この背景画素と人物画素とを識別する必要がある。図２１では、説明の便宜上、背景部分を白地で示し、人物部分を斜線ハッチングで示したが、実際の撮影原画像は、このような二値画像ではなく、背景部分も人物部分も様々な画素値をもった画素の集合から構成されている。ただ、撮影時に、できるだけ無地の背景を用いた環境で撮影を行えば、画素値の特性の違いから、背景画素と人物画素とを識別することが可能になる。たとえば、青地のスクリーンを背景にしてカラー撮影を行えば、青色の画素値が所定値以上の画素を背景画素、所定値未満の画素を人物画素と識別する処理が可能である。
【０１２９】
後述するように、ここで行うプロセスでは、背景部分と人物部分との境界線（人物部分の輪郭線）が認識できればよい。そのため、図２１に一点鎖線で示すように、撮影原画像を構成する二次元画素配列上に所定の走査対象行Ｕｊ（第ｊ行目の行）を定義し、まず、この走査対象行Ｕｊに所属する各画素を、左端から右へと向かう走査経路に沿って順に調べてゆき、背景画素から人物画素に転じる反転部が存在するか否かを判定し、反転部が存在する場合には、当該反転部を第１反転部として認識する。たとえば、図２１に示す例の場合、点Ｚ１の位置が第１反転部として認識される。
【０１３０】
こうして、第１反転部Ｚ１が認識できたら、今度は、この走査対象行Ｕｊに所属する各画素を、右端から左へと向かう逆向きの走査経路に沿って順に調べてゆき、背景画素から人物画素に転じる反転部が存在するか否かを判定し、反転部が存在する場合には、当該反転部を第２反転部として認識する。たとえば、図２１に示す例の場合、点Ｚ２の位置が第２反転部として認識される。
【０１３１】
このような行走査段階を、二次元画素配列上のすべての行について行えば、第１反転部および第２反転部として認識された各点の集合体として、人物部分の輪郭線を把握することが可能になる。もちろん、上述の行走査段階とは逆に、右端から左へと向かう走査を先に行って反転部Ｚ２を認識した後、左端から右へと向かう走査を行って反転部Ｚ１を認識する、という順序で走査を行ってもかまわない。
【０１３２】
前述したように、人物の顔の撮影時に、青地のスクリーンを背景にしてカラー撮影を行ったような場合は、背景画素から人物画素に転じる反転部の認識は比較的容易である。ただ、実際には、様々な背景を用いて撮影が行われることが想定され、更に、実際の写真画像には、通常、様々なノイズ成分が含まれている。このため、実用上は、上述した行走査段階を行う前に、撮影原画像に対して、エッジ抽出用およびノイズ除去用の画像フィルタを作用させ、フィルタ処理後の画像を用いて反転部の認識を行うようにするのが好ましい。図１９のステップＳ１２に示すフィルタ処理は、このように、撮影原画像に対して、エッジ抽出用およびノイズ除去用の画像フィルタを作用させる処理である。
【０１３３】
具体的には、エッジ抽出用の画像フィルタとしては、ラプラシアンフィルタと二値化フィルタとの組み合わせが広く利用されており、ノイズ除去用の画像フィルタとしては、メディアンフィルタや孤立点除去フィルタなどが広く利用されている。このような画像フィルタを用いた処理は既に公知の技術であるため、ここでは当該処理の詳細についての説明は省略する。
【０１３４】
図２２は、撮影原画像に対して、このような画像フィルタを適用することにより得られたフィルタ処理画像の一例を示す図である。この画像は、既に二値化フィルタを通した二値化処理が行われているため、白画素および黒画素からなる二値画像になっている。エッジ抽出用の画像フィルタを通すと、様々な構成要素の輪郭線が強調されることになるので、図示されている黒画素部分は、必ずしも人物部分の輪郭線とは限らないが、上述した行走査段階によって、人物部分の輪郭線の認識が可能である。
【０１３５】
なお、このようなフィルタ処理画像は、撮影原画像に対して施すトリミング処理および変倍処理に用いるパラメータを抽出するために利用する画像であり、図６のステップＳ３で行われる類似度演算の対象になる画像ではない。類似度演算に利用される顔面画像Ｆは、フィルタ処理前の撮影原画像に対してトリミング処理および変倍処理を施すことにより得られる画像である。
【０１３６】
さて、図２２に示すようなフィルタ処理画像についての人物部分の輪郭線の認識は、次のような方法によって行うことができる。たとえば、図２２に一点鎖線で示す走査対象行Ｕｊに沿って、左端から右へと向かう走査経路に沿って順に調べてゆけば、白画素から黒画素に転じる部分として第１反転部Ｚ１を認識することができ、逆に、右端から左へと向かう走査経路に沿って順に調べてゆけば、白画素から黒画素に転じる部分として第２反転部Ｚ２を認識することができる。このように、特定の走査対象行Ｕｊについて、第１反転部Ｚ１と第２反転部Ｚ２とが認識できれば、これら両反転部Ｚ１，Ｚ２間の距離（具体的には、画素数）を、当該走査対象行Ｕｊにおける人物の顔幅Ｗｊと認識することができる。
【０１３７】
図１９のステップＳ１３〜Ｓ２６の処理は、ステップＳ１２におけるフィルタ処理後の画像について、個々の行ごとの顔幅を求める処理である。すなわち、まず、ステップＳ１３において、行番号を示すパラメータｊを初期値０に設定し、各時点で認識されている顔幅についての最大値を示す最大顔幅Ｗmaxを初期値０に設定する処理が行われる。続く、ステップＳ１４では、列番号を示すパラメータｉを初期値０に設定する処理が行われ、ステップＳ１５において、第ｊ行第ｉ列目の画素が反転部か否かの判断がなされる。図２２に示す例の場合、第ｊ行第ｉ列目の画素が黒画素であれば、反転部である旨の判定がなされる。反転部でなかった場合は、ステップＳ１６へ進み、ｉが最大値「Ｍ−１」に達していなければ、ステップＳ１７において、ｉの値を１だけ増加させた後、ステップＳ１５の判断処理が繰り返される。これは、第ｊ行目の画素を左端から右へと向かう走査経路に沿って順に調べてゆく処理に相当する。
【０１３８】
もし、ステップＳ１６において、「ｉ＝Ｍ−１である」との判断がなされると、第ｊ行の左端から右端までの全画素にわたっての走査を完了した結果、当該行には反転部が存在しなかったことになる。この場合は、ステップＳ１８において、ｊの値を１だけ増加させた後、ステップＳ１４からの処理が繰り返される。
【０１３９】
一方、ステップＳ１５において、「反転部である」との判断がなされると、ステップＳ１９へと進み、第ｊ行の第ｉ列目の画素を第１反転部とする処理が行われる。そして、ステップＳ２０において、ｉの値を最大値「Ｍ−１」に設定し、ステップＳ２１において、第ｊ行第ｉ列目の画素が反転部か否かの判断がなされる。図２２に示す例の場合、やはり第ｊ行第ｉ列目の画素が黒画素であれば、反転部である旨の判定がなされる。反転部でなかった場合は、ステップＳ２２へ進み、ｉが最小値「０」に達していなければ、ステップＳ２３において、ｉの値を１だけ減少させた後、ステップＳ２１の判断処理が繰り返される。これは、第ｊ行目の画素を右端から左へと向かう走査経路に沿って順に調べてゆく処理に相当する。
【０１４０】
もし、ステップＳ２２において、「ｉ＝０である」との判断がなされると、ステップＳ２４のエラー処理に移行する。これは、左端から右へと向かう走査経路に沿って調べた結果、第１反転部Ｚ１が認識できたのに、逆に、右端から左へと向かう走査経路に沿って調べた場合に、第２反転部Ｚ２が認識できないのは、何らかの論理的な誤りが生じていると考えられるためである。
【０１４１】
ステップＳ２１において、「反転部である」との判断がなされると、ステップＳ２５へと進み、第ｊ行の第ｉ列目の画素を第２反転部とする処理が行われる。そして、ステップＳ２６において、第１反転部〜第２反転部までの画素数を、第ｊ行目の顔幅Ｗｊとする処理が行われる。
【０１４２】
図２３は、上述したステップＳ１３〜Ｓ２５の手順を説明するためのフィルタ処理後の撮影原画像を示す平面図である。図では、説明の便宜上、上部６行の部分のみ、画素配列の形式で画像を示している。図にハッチングを施した画素が人物部分を構成する人物画素であり、白地の画素が背景部分を構成する背景画素である。図２２に示すように、背景画素はいずれも白画素によって構成されており、人物部分の輪郭付近に位置する人物画素は黒画素によって構成されている。
【０１４３】
図１９の手順によれば、まず、ｊ＝０，ｉ＝０に設定され、ステップＳ１５の判定処理が実行される。図２３に示す例の場合、ｊ＝０，ｉ＝０で示される画素は白画素であるから、「反転部ではない」との判断がなされ、ステップＳ１６，Ｓ１７を経て、ｉ＝１，２，３，...と更新されながら、ステップＳ１５の判断が繰り返される。図２３に示すとおり、第０行目には黒画素は存在しないから、最終的に、ｉ＝Ｍ−１に到達し、ステップＳ１６からステップＳ１８へと進み、ｊ＝１に更新された後、ステップＳ１４からの処理が繰り返される。
【０１４４】
図２３に示すとおり、第１行目にも黒画素は存在しないから、最終的に、ｊ＝１，ｉ＝Ｍ−１に到達し、ステップＳ１６からステップＳ１８へと進み、ｊ＝２に更新された後、ステップＳ１４からの処理が繰り返される。すると、ｊ＝２，ｉ＝１２になった時点で、黒画素が判断対象となるため、ステップＳ１５において、「反転部である」との判断がなされ、続くステップＳ１９において、第２行第１２列目の画素の位置が第１反転部として認識される。
【０１４５】
今度は、ステップＳ２０において、ｉ＝Ｍ−１に設定され、第２行目を右端から左へ向かって調べる走査処理が行われる。すると、ｊ＝２，ｉ＝１４になった時点で、黒画素が判断対象となるため、ステップＳ２１において、「反転部である」との判断がなされ、続くステップＳ２５において、第２行第１４列目の画素の位置が第２反転部として認識される。そして、ステップＳ２６において、第１２列目〜第１４列目までの画素数＝３が、第２行目の顔幅Ｗ２と認定される。
【０１４６】
さて、ステップＳ２６において、第ｊ行目の顔幅Ｗｊの認定がなされると、図２０のステップＳ２７において、頭頂行は決定済みか否かが判断され、決定済みでなかった場合には、ステップＳ２８において、第ｊ行目が頭頂行と認定される。更に、ステップＳ２９では、第ｊ行目の顔幅Ｗｊと、その時点での最大顔幅Ｗmaxとが比較され、Ｗｊ＞Ｗmaxであった場合には、ステップＳ３０において、Ｗｊを新たな最大顔幅Ｗmaxとする処理が行われる。
【０１４７】
続いて、ステップＳ３１，３２を経て（これらの処理は後述する）、ステップＳ３３へと至り、ｊの値を１だけ増加させた後、ステップＳ１４からの処理が繰り返される。
【０１４８】
図２３に示す例の場合、ｊ＝２の時点では、まだ頭頂行は決定されていないので、ステップＳ２７からステップＳ２８へと進み、第２行目が頭頂行と決定される。この頭頂行は、文字どおり、「人物の頭の頂点が位置する行」を示すものである。そして、この時点では、最大顔幅Ｗmaxは初期設定の０の状態であるから、ステップＳ２９では、Ｗｊ＞Ｗmaxと判断され、ステップＳ３０において、Ｗ２＝３を新たな最大顔幅Ｗmaxとする処理が行われる。すなわち、この時点で、最大顔幅Ｗmax＝３になる。
【０１４９】
以下、ステップＳ３３において、ｊの値が１ずつ更新され、第３行目、第４行目、第５行目、と各行ごとの行走査段階が実行される。図２３に示す例の場合、第３行目については、第９列目の画素の位置が第１反転部、第１７列目の画素の位置が第２反転部、として認識されるので、ステップＳ２６において、第９列目〜第１７列目までの画素数＝９が、第３行目の顔幅Ｗ３と認定される。同様に、第４行目の顔幅Ｗ４＝１２、第５行目の顔幅Ｗ５＝１６との認定がなされ、その都度、最大顔幅Ｗmaxが更新されてゆく。ｊ＝５についての処理が完了した時点における最大顔幅は、Ｗmax＝１６である。
【０１５０】
このような処理を続けてゆけば、やがて最大顔幅Ｗmaxの値は、この人物の真の最大顔幅に一致することになる。一般的な撮影原画像の場合、各行の顔幅は、頭頂行から徐々に増加してゆき、耳の高さあたりで最大値に達し、その後、減少に転じることが多い。図２０の流れ図では、ステップＳ２９において、Ｗｊ＞Ｗmaxであると判断された場合にのみ、ステップＳ３０における、Ｗｊを新たな最大顔幅Ｗmaxとする処理が行われるので、最大顔幅Ｗmaxは、常に、その時点までに認識された各行の顔幅の中の最大の値を示すことになる。したがって、行走査段階を耳の高さあたりまで繰り返してゆけば、最大顔幅Ｗmaxの値は、この人物の真の最大顔幅に一致するはずである。
【０１５１】
但し、ｊの値を無制限に更新しつづけると、好ましからざる事態が生じるおそれがある。たとえば、図２３に示す例の場合、人物部分は、人物の顔の部分のみならず、上半身の一部分までも含んでいる。したがって、ステップＳ３３におけるｊの値の更新を無制限に行い、人物の上半身の部分に相当する行についてまで行走査段階を実行すると、ステップＳ２９，Ｓ３０において、人物の上半身部分の幅の値が最大顔幅Ｗmaxとして取り扱われてしまうことになる。図２０のステップＳ３１，Ｓ３２の処理は、このような弊害を避けるため、ｊの値更新を制限するためのものである。
【０１５２】
ここで重要な事項は、「ｊの値更新を打ち切るタイミング」である。撮影原画像に対して、上の行から下の行に向かって順に行走査段階（各行の顔幅の認識と、最大顔幅Ｗmaxの値更新）を進める場合に、一番下の行まで続けてしまうと、上述したように、人物の上半身部分の幅の値が最大顔幅Ｗmaxになってしまう。しかし逆に、人物の真の最大顔幅に相当する行に到達する前に打ち切ってしまうと、最大顔幅Ｗmaxは正しい値にはならない。たとえば、図２３に示す例の場合、ｊ＝５の時点で処理を打ち切ってしまうと、最大顔幅Ｗmax＝１６という結果が得られるが、これは正しい最大顔幅ではない。
【０１５３】
結局、「ｊの値更新を打ち切るタイミング」は、「人物の真の最大顔幅に相当する行（通常は耳の付近）」を過ぎており、「人物の上半身部分に相当する行」には到達していない適当なタイミング、に設定する必要がある。本願発明者は、様々な撮影原画像について調査した結果、このようなタイミングとして、「頭頂行から、その時点での最大顔幅Ｗmaxに等しい距離だけ下がった位置」を設定すると、ほとんどの撮影原画像について良好な結果が得られることを確認した。
【０１５４】
いま、図２４に示すような撮影原画像に対して、図１９，図２０の流れ図に示す処理を施す場合を考える。この場合、まず、図示の位置に頭頂行が認識され、やがて最大顔幅Ｗmaxが次々と増加更新されてゆき、図示の最大幅行において、最大顔幅Ｗmaxの増加更新は一旦終了し、以後の行走査段階で得られる顔幅は、最大顔幅Ｗmaxよりも小さいものになる。別言すれば、図示の最大幅行以降は、最大顔幅Ｗmaxの値は、しばらく一定の値を維持することになる。そこで、ｊの値を更新する際に、当該第ｊ番目の行が、「頭頂行から、その時点での最大顔幅Ｗmaxに等しい距離だけ下がった位置」に到達しているか否かを判断するようにし、もし到達していたら、ｊの値の更新を中止し、そこで処理を打ち切るようにするのである。図２４に示す例の場合、「頭頂行から、最大顔幅Ｗmaxに等しい距離だけ下がった位置」に描かれた走査最終行についての行走査段階が完了した時点で、ｊの値の更新が中止されることになる。
【０１５５】
要するに、頭頂行〜走査最終行の長さが、最大幅行の幅（最大顔幅Ｗmax）に等しくなるように、走査最終行を決定することになる。人間の顔の形状には個人差があり、丸顔の人もいれば、細長い顔の人もおり、最大幅の位置も人によって様々である。しかしながら、本願発明者が多数の人の顔写真について実験したところ、上記方法で走査最終行を決定するようにすると、当該走査最終行は、ほとんどのケースにおいて、「顔の最大幅の位置よりも下、かつ、上半身部分よりも上」という条件を満たすことが判明した。
【０１５６】
図２０のステップＳ３１，Ｓ３２の処理は、このような考え方に基づいて、「ｊの値更新を打ち切るタイミング」を設定するための処理である。すなわち、ステップＳ３１では、頭頂行から第ｊ行目までの縦方向の画素数を縦方向幅Ｈｊとして求める処理が行われ、続くステップＳ３２では、この縦方向幅Ｈｊがその時点での最大顔幅Ｗmax以上であるか否かが判断される。Ｈｊ＜Ｗmaxの場合には、ステップＳ３３へと進み、ｊの値を更新してステップＳ１４からの処理を繰り返し実行する処理が行われるが、Ｈｊ≧Ｗmaxの場合には、第ｊ行目が走査最終行であると判断し、ステップＳ３４へと進むことになる。
【０１５７】
たとえば、図２３に示す例の場合、ｊ＝２の行走査段階において、最大顔幅Ｗmax＝３に設定されるが、ｊ＝２に相当する行が頭頂行になるため、ステップＳ３１で求まる縦方向幅はＨｊ＝１になり、Ｈｊ＜Ｗmaxであるから、ステップＳ３２からステップＳ３３へと進み、ｊ＝３に更新する処理が行われる。そして、ｊ＝３の行走査段階では、最大顔幅Ｗmax＝９に設定されるので、ステップＳ３１で求まる縦方向幅Ｈｊ＝２との比較により、Ｈｊ＜Ｗmaxとなり、ステップＳ３２からステップＳ３３へと進み、ｊ＝４に更新する処理が行われる。かくして、結局、図２４に示す走査最終行まで、ｊの値の更新が実行されることになる。
【０１５８】
さて、こうして、最大幅行において最大顔幅Ｗmaxが得られた後、走査最終行まで行走査段階が実行されると、ステップＳ１１で準備された元の撮影原画像（ステップＳ１２のフィルタ処理が施される前の画像）に対して、ステップＳ３４のトリミング処理およびステップＳ３５の変倍処理が実行される。
【０１５９】
ステップＳ３４のトリミング処理は、元の撮影原画像から、縦横Ｗmaxの画素からなる正方画素配列の部分を切り出す処理である。ここで、切り出すべき領域は、縦方向に関しては、図２４に示す頭頂行〜走査最終行に至るまでの長さＷmaxに相当する領域であり、横方向に関しては、図２４に示す最大幅行において最大顔幅Ｗmaxをもつ区間に相当する領域である。図２５(a) は、このようなトリミング処理によって切り出された画像を示している。この画像は、一辺がＷmaxの寸法（画素数で示される寸法）をもった正方形の画像であり、Ｗmax×Ｗmaxの二次元画素配列から構成される。
【０１６０】
続くステップＳ３５の変倍処理は、切り出した画像を縦横ともにＧ／Ｗmax倍に拡大・縮小して、これを顔面画像Ｆとする処理である。ここで、値Ｇは、予め想定した基準顔面の顔幅である。図２５(b) は、このような基準顔面の一例を示す図である。この基準顔面は、図６のステップＳ１で準備する基準単眼画像Ｅのサイズ（画素数）に適した顔幅（画素数）をもった仮想の顔面であり、基準顔面顔幅Ｇを定義するための概念的な顔面である。したがって、実際に基準顔面に相当する画像を用意する必要はない。
【０１６１】
さて、図２５(b) に示すように、基準単眼画像Ｅのサイズに適した顔幅をもった仮想の基準顔面の顔幅がＧであったとすれば、顔面画像Ｆのスケーリングも、この基準顔面顔幅Ｇに基づいて行えばよい。そこで、ステップＳ３５では、図２５(a) に示すトリミング後の画像を、縦横ともにＧ／Ｗmax倍に拡大・縮小して、これを顔面画像Ｆとする処理が行われる。図２６(a) は、このような変倍処理によって得られた顔面画像Ｆである。変倍処理によって、顔面画像Ｆの一辺は基準顔面顔幅Ｇと等しくなっており、基準単眼画像Ｅのサイズに適した顔幅をもつ画像になっている。もちろん、このような変倍処理を行うには、画素の間引きや補間処理が必要になるが、画像の変倍処理は公知の技術であるため、ここでは変倍処理の具体的手法の説明は省略する。
【０１６２】
ステップＳ２で準備される顔面画像Ｆを、上述のような方法で作成すれば、基準単眼画像Ｅとの間にサイズ（画素数）に関する整合性が確保されることになる。しかも、最大顔幅の部分を切り出すトリミングがなされているため、この顔面画像Ｆの横幅を二等分にする線は、ほぼ人物の正しい顔中心線に一致する。
【０１６３】
もちろん、実際には、こうしてトリミングされた顔面画像Ｆは、髪の毛の部分を含めた領域を顔面部分と認識することにより得られた画像になるので、人物の本来の顔幅（髪の毛を含まない部分の顔幅）に基づいたトリミング画像にはなっていない。したがって、たとえば、ボリュームのある髪形をした女性の顔写真などを撮影原画像として用いた場合、最終的に得られる顔面画像Ｆは、このボリュームある髪の毛の部分までを含めた画像になり、基準単眼画像Ｅのサイズとの関係において、若干縮小された画像になる。また、髪形の左右が非対称であった場合、得られた顔面画像Ｆの横幅を二等分にする線は、人物の正しい顔中心線から外れてしまう可能性がある。
【０１６４】
このように、図１９，図２０の流れ図に示す手順に従って用意された顔面画像Ｆは、必ずしも理想的な顔面画像にはならないが、本発明の最終目的は、両眼位置を検出することにあるので、必ずしも理想的な顔面画像Ｆが用意できなくても重大な支障にはならない。ただ、より精度の高い検出を行うためには、写真撮影時に、長い髪の毛は後ろで束ねる、等の配慮を行うのが好ましい。
【０１６５】
最後に、この§３で述べた顔面画像の変倍処理の手順をまとめると、次のような各段階から構成されることになる。
【０１６６】
(1) 実在の人物の顔写真を無地の背景を用いて撮影し、背景部分を示す背景画素と人物部分を示す人物画素とによって構成される二次元画素配列からなる撮影原画像をコンピュータに与える画像入力段階
【０１６７】
(2) コンピュータが、二次元画素配列上の所定の走査対象行に所属する各画素を、左端から右へと向かう走査経路および右端から左へと向かう走査経路のいずれか一方の走査経路に沿って順に調べ、背景画素から人物画素に転じる反転部が存在するか否かを判定し、反転部が存在する場合には、当該反転部を第１反転部として認識するとともに、上記一方の走査経路とは逆の走査経路に沿って走査対象行に所属する各画素を調べ、背景画素から人物画素に転じる反転部を第２の反転部と認識する行走査段階
【０１６８】
(3) コンピュータが、二次元画素配列の最上行から下へ向かって１行ずつ順番に走査対象行を更新しながら、行走査段階を繰り返し実行する繰り返し走査段階
【０１６９】
(4) コンピュータが、この繰り返し走査段階において、初めて反転部の認識がなされた行を頭頂行と認定し、頭頂行以下の各行については、第１反転部から第２反転部までの距離を当該行の顔幅と定め、上から下へと走査対象行を更新する過程で、走査済みの行についての顔幅のうち最大のものを、その時点での最大顔幅Ｗmaxと定める最大顔幅決定段階
【０１７０】
(5) コンピュータが、最大顔幅Ｗmaxに基づく倍率により、撮影原画像を拡大もしくは縮小することにより得られる画像を顔面画像Ｆとする画像変倍段階
【０１７１】
但し、上記(3) の繰り返し走査段階では、頭頂行から数えて第Ｗmax行目の行を走査最終行として、第１行目から走査最終行に至るまで行走査段階を繰り返し実行するようにし、上記(5) の画像変倍段階では、走査最終行の走査が完了した時点における最大顔幅Ｗmaxと、基準単眼画像Ｅのサイズに応じて予め定義された基準顔面顔幅Ｇと、の比によって定まる倍率Ｇ／Ｗmaxを用いて、撮影原画像を拡大もしくは縮小することにより得られる画像を顔面画像Ｆとする。
【０１７２】
そして、更にトリミング処理を行う場合には、上記(5) の画像変倍段階において、走査最終行の走査が完了した時点における最大顔幅Ｗmaxをもつ行についての第１反転部となる画素が位置する列から第２反転部となる画素が位置する列に至るまでの合計Ｗmax列に属し、かつ、頭頂行から走査最終行に至るまでの合計Ｗmax行に属するＷmax画素×Ｗmax画素の正方画素配列の部分を撮影原画像から切り出し、この切り出した画像を縦横ともにＧ／Ｗmax倍に拡大もしくは縮小することにより得られる画像を顔面画像Ｆとすればよい。
【０１７３】
＜＜＜  §４．本発明に係る検出装置の構成および動作  ＞＞＞
これまで、§１〜§３にわたって、本発明に係る人物顔面画像についての両眼位置検出方法の実施形態を説明した。この検出方法は、実際には、前述したとおり、コンピュータを用いた演算処理によって実施されることになる。そこで、ここでは、コンピュータを利用して構成した本発明に係る検出装置の構成および動作を述べることにする。
【０１７４】
図２７は、本発明の一実施形態に係る人物顔面画像についての両眼位置検出装置の構成を示すブロック図である。この装置は、人物の顔面画像について両眼の位置を検出する機能をもった装置であるが、実際にはコンピュータに専用のプログラムを組み込むことにより実現される装置であり、個々のブロック構成要素は、実際には、コンピュータのハードウエアとソフトウエアとの組み合わせによって実現されることになる。
【０１７５】
まず、撮影原画像格納手段１０は、実在の人物の顔写真を撮影することにより得られる二次元画素配列データからなる撮影原画像を格納する構成要素であり、実際には、コンピュータの記憶装置によって実現される。前述したとおり、デジタルカメラなどで撮影された実在の人物の顔写真が、３原色Ｒ，Ｇ，Ｂの各画素値をもった画素の集合体からなる撮影原画像として、撮影原画像格納手段１０内に格納される。
【０１７６】
フィルタ処理手段２０は、撮影原画像格納手段１０内に格納されている撮影原画像に対して、エッジ抽出用およびノイズ除去用の画像フィルタを作用させる構成要素である。具体的には、既に述べたとおり、エッジ抽出用の画像フィルタとしては、ラプラシアンフィルタと二値化フィルタとの組み合わせが利用され、ノイズ除去用の画像フィルタとしては、メディアンフィルタや孤立点除去フィルタなどが利用される。
【０１７７】
最大顔幅認識手段３０は、フィルタ処理手段２０による処理後のデータに基づいて、人物の顔の最大幅と推定される最大顔幅Ｗmaxを求める構成要素である。最大顔幅Ｗmaxを求めるアルゴリズムは、既に§３で述べたとおりであるが、このアルゴリズムを実施するために、最大顔幅認識手段３０は、反転判定部３１、行走査制御部３２、繰り返し制御部３３、最大顔幅決定部３４を有している。
【０１７８】
反転判定部３１は、フィルタ処理手段２０による処理後のデータを構成する二次元画素配列上の所定の走査対象行に所属する各画素を、左端から右へと向かう走査経路および右端から左へと向かう走査経路のいずれか一方の走査経路に沿って順に調べ、背景画素から人物画素に転じる反転部が存在するか否かを判定する機能有している。フィルタ処理手段２０による処理後の画像が、たとえば、図２２に示すような二値画像になっている場合、個々の画素が黒画素か否かを判定することにより、反転部の認識が可能になる。
【０１７９】
行走査制御部３２は、所定の行走査対象行について、反転判定部３１に、第１の走査方向に向かって走査を行わせ、反転部が存在した場合には、当該反転部を第１反転部として認識するとともに、第１の走査経路とは逆の第２の走査方向に向かって走査を行わせ、反転部が存在した場合には、当該反転部を第２反転部として認識する処理を行う構成要素である。
【０１８０】
繰り返し制御部３３は、この二次元画素配列の最上行から下へ向かって１行ずつ順番に走査対象行を更新しながら、行走査制御部３２に繰り返し走査を実行させる構成要素である。
【０１８１】
最大顔幅決定部３４は、上記繰り返し走査において、初めて反転部の認識がなされた行を頭頂行と認定し、この頭頂行以下の各行については、第１反転部から第２反転部までの距離を当該行の顔幅と定め、上から下へと走査対象行を更新する過程で、走査済みの行についての顔幅のうち最大のものを、その時点での最大顔幅Ｗmaxと定める構成要素である。
【０１８２】
ここで、繰り返し制御部３３は、頭頂行から数えて第Ｗmax行目の行を走査最終行として、第１行目から走査最終行に至るまで１行ずつ順番に走査対象行を更新しながら、行走査制御部３２に繰り返し走査を実行させる機能を果たす。
【０１８３】
画像変倍手段４０は、最大顔幅認識手段３０によって認識された最大顔幅Ｗmaxの値と予め定義された基準顔面顔幅Ｇとの比によって定まる倍率Ｇ／Ｗmaxを用いて、撮影原画像格納手段内に格納されている撮影原画像を拡大もしくは縮小する変倍処理を行う機能をもった構成要素である。また、この画像変倍手段４０は、走査最終行の走査が完了した時点における最大顔幅Ｗmaxをもつ行についての第１反転部となる画素が位置する列から第２反転部となる画素が位置する列に至るまでの合計Ｗmax列に属し、かつ、頭頂行から走査最終行に至るまでの合計Ｗmax行に属するＷmax画素×Ｗmax画素の正方画素配列の部分を撮影原画像から切り出すトリミング処理機能も有しており、この切り出した画像を縦横ともにＧ／Ｗmax倍に拡大もしくは縮小する変倍処理を行うことにより得られる画像を顔面画像Ｆとして出力する。
【０１８４】
基準単眼画像格納手段５０は、この基準顔面顔幅Ｇをもった基準顔面の両眼として適した大きさを有し左右の区別がない基準単眼画像Ｅを格納する構成要素であり、実際には、コンピュータの記憶装置によって実現される。§２で述べたとおり、ここに示す実施形態の場合、赤色の画素値のみをもった画素からなる基準単眼画像Ｅが用意されている。
【０１８５】
類似度演算手段６０は、画像変倍手段４０から出力されたトリミング・変倍処理済みの顔面画像Ｆの上の所定の重畳位置に、基準単眼画像格納手段５０に格納されている基準単眼画像Ｅを重ねて配置した場合に、重なった部分の両画像の類似度を求める演算を、第１次候補となる複数通りの重畳位置について実行し、それぞれの類似度を求める構成要素であり、図６のステップＳ３の処理を実行する。
【０１８６】
具体的には、基準単眼画像格納手段５０内に格納されている基準単眼画像Ｅが、ｍ列ｎ行の二次元画素配列（第０列〜第（ｍ−１）列、第０行〜第（ｎ−１）行の行列）から構成され、画像変倍手段４０から出力された顔面画像Ｆが、Ｍ列Ｎ行の二次元画素配列（但し、Ｍ＞ｍ、Ｎ＞ｎであり、第０列〜第（Ｍ−１）列、第０行〜第（Ｎ−１）行の行列）から構成されていた場合に、基準単眼画像Ｅの第０列第０行目の画素を、顔面画像Ｆ上の第ｉ列第ｊ行目の画素に重ねるような配置を行い、ｉを０〜（Ｍ−ｍ）まで１ずつ変え、ｊを０〜（Ｎ−ｎ）まで１ずつ変えた組み合わせの各位置について、それぞれ類似度を求める演算を実行し、第１次候補となる合計（Ｍ−ｍ＋１）×（Ｎ−ｎ＋１）通りの重畳位置についての類似度を求める処理が行われる。
【０１８７】
ここに示す実施形態の場合、顔面画像Ｆは、Ｒ，Ｇ，Ｂの３原色の画素値をもったカラー画像であるが、基準単眼画像Ｅは、赤色の画素値のみをもった画素からなる画像である。そのため、基準単眼画像Ｅの第０列第０行目の画素を、顔面画像Ｆ上の第ｉ列第ｊ行目（但し、ｉ＝０〜（Ｍ−ｍ），ｊ＝０〜（Ｎ−ｎ））の画素に重ねるような配置を行った際の類似度Ｒ（ｉ，ｊ）は、
Ｒ（ｉ，ｊ）＝
Σβ＝０，n−１（Σα＝０，m＋１（Ｆ（ｉ＋α，ｊ＋β）・Ｅ（α，β）））
なる演算式によって算出される。ここで、Ｆ（ｉ＋α，ｊ＋β）は顔面画像Ｆの第（ｉ＋α）列第（ｊ＋β）行目の画素の赤色の画素値、Ｅ（α，β）は基準単眼画像の第α列第β行目の赤色の画素値である。
【０１８８】
もちろん、赤色の画素値の代わりに、青色の画素値や緑色の画素値を用いて類似度Ｒ（ｉ，ｊ）を算出するようにしてもよいし、３原色のそれぞれを用いて算出した類似度の平均値を最終的な類似度Ｒ（ｉ，ｊ）とするようにしてもかまわない。
【０１８９】
しきい値未満除外手段７０は、類似度演算手段６０が類似度の演算を行った第１次候補のうち、類似度がしきい値未満の候補を除外し、残りの候補を第２次候補とする構成要素であり、図６のステップＳ４の処理を実行する。すなわち、しきい値未満除外手段７０は、類似度について所定のしきい値Ｔを記憶しており、第１次候補となる個々の重畳位置について、類似度演算手段６０が求めた類似度をしきい値Ｔと比較し、類似度がしきい値Ｔ以上となる候補のみを第２次候補として記録する処理を行う。
【０１９０】
極大抽出手段８０は、この第２次候補の各重畳位置について、顔面画像Ｆ上での水平方向に関する類似度の変動を調べ、第２次候補の中から、類似度が極大値をとる候補を第３次候補として抽出する構成要素であり、図６のステップＳ５の処理を実行する。具体的には、しきい値未満除外手段７０から与えられる第２次候補の各重畳位置について、行方向に隣接する位置間における類似度の変遷を順に調べてゆき、類似度の値が増加から減少に転じたときに、減少に転じる直前の重畳位置を類似度が極大値をとる第３次候補として抽出する処理が行われる。
【０１９１】
上位候補選択手段９０は、この第３次候補の中から、類似度の大きい所定数の重畳位置を第４次候補として選択し、これを記録する構成要素であり、図６のステップＳ６およびステップＳ７の処理を実行する。具体的には、極大抽出手段８０から与えられる第３次候補の中から、類似度の大きい順に候補を選択してゆく処理を、選択された候補数が所定数を越えるまで繰り返し実行し、選択された候補を暫定的に第４次候補とした後、当該選択された候補内に互いに近傍にある複数の重畳位置が含まれていた場合には、当該複数の重畳位置のうちの代表となる１つのみを第４次候補として残し、それ以外を第４次候補から除外する処理を実行する。
【０１９２】
最終候補決定手段１００は、この第４次候補の中から、次の２条件を満たす関係にある一対の重畳位置を最終候補と決定する構成要素であり、図６のステップＳ８の処理を実行する。
（条件１）基準単眼画像Ｅを当該一対の重畳位置にそれぞれ配置したときに、両画像枠の「顔面画像Ｆを左右に二等分する縦方向に伸びる顔中心線Ｌに関する対称性」が所定の基準以上であること、
（条件２）基準単眼画像Ｅを当該一対の重畳位置にそれぞれ配置したときに、両画像枠が互いに重なり合わないこと、
【０１９３】
ここで、（条件１）についての判断は、具体的には、図１８に示すように、一方の画像枠Ｃａの中心点Ｐａと顔中心線Ｌとの距離Ｄａと、他方の画像枠Ｃｂの中心点Ｐｂと顔中心線Ｌとの距離Ｄｂとの差が、所定の範囲Ｄ１内の値となり、かつ、一方の画像枠Ｃａの中心点Ｐａから顔中心線Ｌへ下ろした垂線の足Ｌａと、他方の画像枠Ｃｂの中心点Ｐｂから顔中心線Ｌへ下ろした垂線の足Ｌｂと、の距離Ｄｃが、所定の範囲Ｄ２内の値となる場合に、「顔中心線に関する対称性が所定の基準以上である」とする。
【０１９４】
検出結果出力手段１１０は、最終候補決定手段１００によって最終候補として決定された一対の重畳位置に、基準単眼画像Ｅを配置したときの当該一対の重畳位置に配置された各基準単眼画像Ｅの画像枠Ｅｆ内の代表点の位置を両眼の位置の検出結果として出力する構成要素であり、図６のステップＳ９の処理を実行する。ここに述べる実施形態の場合、画像枠の中心点Ｐをその代表点と定め、最終候補として決定された一対の重畳位置に基準単眼画像Ｅを配置したときの両画像枠Ｅｆの中心点の位置座標Ｐ１（ｘ１，ｙ１），Ｐ２（ｘ２，ｙ２）を両眼の位置の検出結果として出力する。
【図面の簡単な説明】
【０１９５】
【図１】両眼位置の検出対象となる顔面画像Ｆの一例を示す平面図である。
【図２】図１に示す顔面画像Ｆについて検出された両眼位置Ｐ１，Ｐ２を示す平面図である（顔面画像の濃淡情報は図示省略）。
【図３】本発明においてテンプレートとして利用される基準単眼画像Ｅの一例を示す平面図である。
【図４】図１に示す顔面画像Ｆ上の様々な重畳位置に、図３に示す基準単眼画像Ｅを配置させた状態を示す平面図である。
【図５】上段(a) は、図３に示す基準単眼画像Ｅの具体的な画素構成を示す平面図であり、下段(b) は、図１に示す顔面画像Ｆ上の所定の重畳位置に、上段(a) に示す基準単眼画像Ｅを配置した場合の具体的な画素の対応関係を示す平面図である。
【図６】本発明の一実施形態に係る両眼位置検出方法の具体的な処理手順を示す流れ図である。
【図７】２つの関数Ｆ（ｋ），Ｅ（ｋ）の類似度を示す相関係数Ｒの一般的な定義方法を示す図である。
【図８】本発明に係る両眼位置検出方法で利用可能な相関関数Ｒの定義例を示す図である。
【図９】カラー画像に本発明を適用する場合に利用可能な相関関数Ｒの定義例を示す図である。
【図１０】図６のステップＳ３に示す類似度演算の結果（第１次候補となる各重畳位置およびその類似度）を示すグラフである。
【図１１】図６のステップＳ４に示す除外処理の結果（第２次候補となる各重畳位置およびその類似度）ならびにステップＳ５に示す極大値抽出処理の結果（第３次候補となる各重畳位置およびその類似度）を示すグラフである。
【図１２】図６のステップＳ５において、極大値抽出を行う技術的意味を説明する図である。
【図１３】図６のステップＳ５に示す極大値抽出処理の結果（第３次候補となる各重畳位置およびその類似度）ならびにステップＳ６に示す上位候補選択処理の結果（第４次候補となる各重畳位置および類似度）を示す表である。
【図１４】図６のステップＳ７に示す統合処理の原理を示す図である。
【図１５】図６のステップＳ７に示す統合処理の原理を示す表である。
【図１６】図６のステップＳ７に示す統合処理の結果（一部を統合した第４次候補の各重畳位置およびその類似度）を示す表である。
【図１７】図６のステップＳ８に示す最終候補決定処理の基本概念を説明する平面図である。
【図１８】図１７に示す最終候補決定プロセスの詳細手順を説明する平面図である。
【図１９】図６のステップＳ２に示す顔面画像準備段階の詳細手順を説明する流れ図（前半）である。
【図２０】図６のステップＳ２に示す顔面画像準備段階の詳細手順を説明する流れ図（後半）である。
【図２１】図１９のステップＳ１１で準備される撮影原画像の画素構成を示す平面図である。
【図２２】図１９のステップＳ１２に示されるフィルタ処理後の画像の一例を示す平面図である。
【図２３】図１９のステップＳ１３〜Ｓ２６の手順を説明するための撮影原画像を示す平面図である。
【図２４】図１９のステップＳ２７〜Ｓ３３の手順を説明するための撮影原画像を示す平面図である。
【図２５】図１９のステップＳ３４〜Ｓ３５の手順を説明するための撮影原画像(a) および基準顔面画像(b) を示す平面図である。
【図２６】図１９のステップＳ３５の手順を説明するための顔面画像(a) および基準顔面画像(b) を示す平面図である。
【図２７】本発明の一実施形態に係る人物顔面画像についての両眼位置検出装置の構成を示すブロック図である。
【符号の説明】
【０１９６】
１０：撮影原画像格納手段
２０：フィルタ処理手段
３０：最大顔幅認識手段
３１：反転判定部
３２：行走査制御部
３３：繰り返し制御部
３４：最大顔幅決定部
４０：画像変倍手段
５０：基準単眼画像格納手段
６０：類似度演算手段
７０：しきい値未満除外手段
８０：極大抽出手段
９０：上位候補選択手段
１００：最終候補決定手段
１１０：検出結果出力手段
Ａ１：瞳領域
Ａ２：白目領域
Ａ３：眼外領域
Ｂ１，Ｂ２：水平方向に関する領域分布
Ｃ１〜Ｃ９，Ｃａ，Ｃｂ：候補となる重畳位置に配置された単眼画像枠
Ｄ：２画素間のユークリッド距離
Ｄａ，Ｄｂ，Ｄｃ：距離
ｄ：両関数Ｅ（ｋ），Ｆ（ｋ）のユークリッド距離
Ｅ：基準単眼画像
Ｅ（α，β）：基準単眼画像を構成する画素／その画素値
Ｅｆ：単眼画像枠
Ｅ（ｋ）：第１の関数
Ｅｒ，Ｅｇ，Ｅｂ：基準単眼画像の各色プレーン
Ｆ：顔面画像
Ｆ（ｉ＋α，ｊ＋β）：顔面画像を構成する画素／その画素値
Ｆ（ｋ）：第２の関数
Ｆｒ，Ｆｇ，Ｆｂ：顔面画像の各色プレーン
Ｇ：基準顔面の顔幅
ｉ：画素配列の列番号
ｊ：画素配列の行番号
Ｋ：サンプル総数
ｋ：サンプル番号
Ｌ：顔中心線（顔面画像Ｆの縦方向中心線）
Ｌａ，Ｌｂ：垂線の足
Ｍ：顔面画像Ｆの列数
ｍ：基準単眼画像Ｅの列数
Ｎ：顔面画像Ｆの行数
ｎ：基準単眼画像Ｅの行数
Ｐ：単眼画像枠内の代表点（中心点）
Ｐ１（ｘ１，ｙ１），Ｐ２（ｘ１，ｙ１）：両眼の位置を示す点
Ｐａ，Ｐｂ：単眼画像枠の中心点
Ｑ：位置基準点
Ｑ１〜Ｑ５：重畳位置
Ｒ：両関数の相関係数
Ｒ（ｉ，ｊ）：重畳位置（ｉ，ｊ）に配置したときの相関係数（類似度）
Ｓ１〜Ｓ３５：流れ図の各ステップ
Ｔ：しきい値
Ｕｊ：走査対象行
Ｗmax：最大顔幅
ｘ１，ｘ２：横方向の座標値
ｙ１，ｙ２：縦方向の座標値
Ｚ１，Ｚ２：反転部
α：画素配列の列番号
β：画素配列の行番号
【図１】
0004803148.tif 000002
【図２】
0004803148.tif 000003
【図３】
0004803148.tif 000004
【図４】
0004803148.tif 000005
【図５】
0004803148.tif 000006
【図６】
0004803148.tif 000007
【図７】
0004803148.tif 000008
【図８】
0004803148.tif 000009
【図９】
0004803148.tif 000010
【図１０】
0004803148.tif 000011
【図１１】
0004803148.tif 000012
【図１２】
0004803148.tif 000013
【図１３】
0004803148.tif 000014
【図１４】
0004803148.tif 000015
【図１５】
0004803148.tif 000016
【図１６】
0004803148.tif 000017
【図１７】
0004803148.tif 000018
【図１８】
0004803148.tif 000019
【図１９】
0004803148.tif 000020
【図２０】
0004803148.tif 000021
【図２１】
0004803148.tif 000022
【図２２】
0004803148.tif 000023
【図２３】
0004803148.tif 000024
【図２４】
0004803148.tif 000025
【図２５】
0004803148.tif 000026
【図２６】
0004803148.tif 000027
【図２７】
0004803148.tif 000028