(57)【要約】【課題】高速にかつ精度よく瞳孔位置の検出が可能な瞳孔検出装置を提供する。【解決手段】本発明の瞳孔検出装置は、同心円状の複数の円をそれぞれ積分円として目画像上に設定し積分円の円周上に位置する目画像の画像データを抽出する画像データ抽出部２２０と、その画像データを積分円の円周に沿って積分する周回積分部と、周回積分部の積分値が積分円の半径に対してステップ状に変化するような積分円の中心座標を瞳孔位置座標として検出する瞳孔位置検出部とを備え、画像データ抽出部２２０は、ランダムアクセス可能な複数のラインメモリ２２４１〜２２４Ｌと、ラインメモリ２２４１〜２２４Ｌから読出された画像データを順次切替えて積分円のそれぞれに対応する画像データを選択する複数のセレクタ２２８１〜２２８ｎとを有する。【選択図】図５
2006048204.tif 000002
【特許請求の範囲】
【請求項１】
同心円状の複数の円をそれぞれ積分円として目画像上に設定し、前記積分円の円周上に位置する目画像の画像データを抽出する画像データ抽出部と、
前記画像データ抽出部が抽出した画像データを前記積分円のそれぞれの円周に沿って積分する周回積分部と、
前記周回積分部の積分値が前記積分円の半径に対してステップ状に変化するような積分円の中心座標を瞳孔位置座標として検出する瞳孔位置検出部とを備え、
前記画像データ抽出部は、ランダムアクセス可能な複数のラインメモリを有する部分フレームメモリと、前記部分フレームメモリから読出された画像データを順次切替えて前記積分円のそれぞれに対応して抽出すべき画像データを選択するマルチプレクサとを有することを特徴とする瞳孔検出装置。
【請求項２】
前記画像データ抽出部は、前記積分円のそれぞれに対応する複数の画像データを同時に抽出することを特徴とする請求項１に記載の瞳孔検出装置。
【請求項３】
前記部分フレームメモリに目画像の画像データを入力する周期内に、前記複数のラインメモリのそれぞれから抽出すべき画像データの数が前記積分円のそれぞれに対応して抽出すべき画像データの数の最大値以下となるように、前記抽出すべき画像データの位置が設定されていることを特徴とする請求項１または請求項２に記載の瞳孔検出装置。
【請求項４】
請求項１から請求項３までのいずれかに記載の瞳孔検出装置を備えたことを特徴とする虹彩認証装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、個人認証等に用いられる虹彩認証装置に関し、特に目を含む画像（以下、「目画像」と記する）の中から瞳孔の位置を検出する瞳孔検出装置に関する。
【背景技術】
【０００２】
従来より目画像の中から瞳孔の位置を検出する様々な方法が提案されており、たとえば、目画像の画像データ（以下、「目画像データ」と記する）を２値化し、低輝度領域の中の円形の領域を検出する方法や、半径がｒであり、中心座標が（ｘ０、ｙ０）である円の弧に対して画像強度Ｉ（ｘ、ｙ）の周回積分を計算し、半径ｒが増加するにしたがってｒに関するこの量の部分的な導関数を計算する方法（特許文献１参照）等が知られている。
【特許文献１】特表平８−５０４９７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
これらの方法を用いて精度よく瞳孔を検出するためには膨大な画像データを高速に処理する必要があり、処理能力の高い大きなＣＰＵや大容量メモリを用いても、現状では目画像の画像データをリアルタイムで処理することは難しい。また、画像データをリアルタイムで処理できる程度にＣＰＵの処理量を減らすと検出精度が低下する等の課題があり実用的ではなかった。
【０００４】
本発明の瞳孔検出装置は、これらの課題に鑑みなされたものであり、高速にかつ精度よく瞳孔位置の検出が可能な瞳孔検出装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の瞳孔検出装置は、同心円状の複数の円をそれぞれ積分円として目画像上に設定し積分円の円周上に位置する目画像の画像データを抽出する画像データ抽出部と、画像データ抽出部が抽出した画像データを積分円のそれぞれの円周に沿って積分する周回積分部と、周回積分部の積分値が積分円の半径に対してステップ状に変化するような積分円の中心座標を瞳孔位置座標として検出する瞳孔位置検出部とを備え、画像データ抽出部は、ランダムアクセス可能な複数のラインメモリを有する部分フレームメモリと、部分フレームメモリから読出された画像データを順次切替えて積分円のそれぞれに対応して抽出すべき画像データを選択するマルチプレクサとを有することを特徴とする。この構成により、高速にかつ精度よく瞳孔位置の検出が可能な瞳孔検出装置を提供することが可能となる。
【０００６】
また、本発明の瞳孔検出装置の画像データ抽出部は、積分円のそれぞれに対応する複数の画像データを同時に抽出することが望ましい。この構成により、各積分円に対する演算を並列に行うことができ、高速な瞳孔検出が可能となる。
【０００７】
また、本発明の瞳孔検出装置は、部分フレームメモリに目画像の画像データを入力する周期内に、複数のラインメモリのそれぞれから抽出すべき画像データの数が積分円のそれぞれに対応して抽出すべき画像データの数の最大値以下となるように、抽出すべき画像データの位置を設定することが望ましい。この構成により、ラインメモリのアクセス回数を減らすことができるので、ある程度動作速度の遅いラインメモリを用いることができ、部分フレームメモリの設計の自由度が上がる。
【０００８】
また、本発明の虹彩認証装置は、請求項１から請求項３までのいずれかに記載の瞳孔検出装置を備えたことを特徴とする。この構成により、精度よくかつ高速に瞳孔位置の検出が可能な虹彩認証装置を提供することができる。
【発明の効果】
【０００９】
本発明によれば、精度よくかつ高速に瞳孔位置の検出が可能な瞳孔検出装置および虹彩認証装置を提供することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施の形態における瞳孔検出装置を用いた虹彩認証装置について、図面を用いて説明する。
【００１１】
（第１の実施の形態）
図１は本発明の第１の実施の形態における瞳孔検出装置を用いた虹彩認証装置の回路ブロック図である。図１には、瞳孔検出装置２００に加えて虹彩認証装置１００を構成するために必要な撮像部１２０、照明部１３０、認証処理部１４０も示している。
【００１２】
第１の実施の形態における虹彩認証装置１００は、使用者の目画像を撮像する撮像部１２０、目画像の中から瞳孔位置とその半径を検出する瞳孔検出装置２００、目画像から得られた虹彩コードを登録されている虹彩コードと比較して個人認証を行う認証処理部１４０、目画像取得に適した光量の近赤外線を照射し使用者の目とその周辺部分を照明する照明部１３０を備えている。
【００１３】
撮像部１２０は、誘導ミラー１２１、可視光カットフィルタ１２２、レンズ１２３、撮像素子１２４および前処理部１２５を有する。本実施の形態においては、レンズ１２３として固定焦点レンズを用いることにより光学系の小型、軽量化と低コスト化を実現している。誘導ミラー１２１は使用者が自らの目を映すことにより目を正しい撮像位置へ誘導する。そして、使用者の目はレンズ１２３、可視光カットフィルタ１２２を通して撮像素子１２４で撮像される。前処理部１２５は、撮像素子１２４の出力信号から画像データ成分を取り出し、ゲイン調整等画像データとして必要な処理を行った上で、使用者の目画像データとして出力する。
【００１４】
瞳孔検出装置２００は画像データ抽出部２２０、周回積分部２３０、輝度差算出部２４０、変化円検出部２５０、ポインタ部２６０、瞳孔位置検出部２７０を有し、目画像の中から瞳孔位置とその半径を検出し、認証処理部１４０へ出力する。瞳孔検出装置２００の詳細については後述する。
【００１５】
認証処理部１４０は、瞳孔検出装置２００が検出した瞳孔中心座標および瞳孔半径にもとづき、目画像データの中から虹彩画像を切り出す。そして、虹彩画像を虹彩の模様を示す固有の虹彩コードに変換し、登録されている虹彩コードと比較することによって認証動作を実行する。
【００１６】
次に、瞳孔検出装置２００の瞳孔検出方法について説明する。図２は、本発明の第１の実施の形態における瞳孔検出装置の瞳孔検出方法を説明するための図である。瞳孔を含む画像は図２（ａ）に示すように、瞳孔を示す円盤状の低輝度領域と、その外側に虹彩を示す円環状の中輝度領域とが存在する。したがって、瞳孔中心の位置座標（Ｘｏ、Ｙｏ）を中心として半径Ｒの積分円Ｃの円周に沿って画像データを周回積分すると図２（ｂ）に示すように積分値Ｉは瞳孔半径Ｒｏのところでステップ状に変化することになる。そこで、図２（ｃ）に示すように積分値Ｉを半径Ｒで微分した値ｄＩ／ｄＲが閾値（以下、「差分閾値」と記する）ΔＩｔｈを超えるときの積分円の半径を求めることにより瞳孔半径Ｒｏを知ることができる。
【００１７】
以上の考え方にもとづき、瞳孔検出装置２００は、瞳孔の位置座標（Ｘｏ、Ｙｏ）と瞳孔半径Ｒｏを検出する。まず、図２（ｄ）に示すように中心座標が等しく半径の異なるｎ個の積分円Ｃ１〜Ｃｎを目画像上に設定し、各々の積分円Ｃｉ（ｉ＝１〜ｎ）に対してその円周上に位置する画像データを積分する。現実的には各々の積分円Ｃｉの円周上に位置する画素の画像データの平均値を計算するか、円周上に位置する画素の中から一定数（ｍ個）の画素を選んでその画像データを加算する。本実施の形態においては同心円状の積分円の数ｎを２０とし、各積分円Ｃｉの円周上に位置する画素の中からｍ＝８画素を選んでその画像データを加算し周回積分の積分値Ｉとした。このとき、積分円Ｃ１〜Ｃｎの中心が瞳孔中心と一致している場合には、上述したように、各積分円Ｃｉに対する積分値Ｉｉがステップ状に変化するので、積分値Ｉｉの半径Ｒに対する差分値ΔＩｉを求めると瞳孔半径Ｒｏに等しいところで大きな極大値を示すことになる。ところが、積分円Ｃ１〜Ｃｎの中心が瞳孔中心に一致しない場合は、積分値Ｉｉは緩やかに変化するので、その差分値ΔＩｉは大きな値を示さない。したがって、差分値ΔＩｉが差分閾値ΔＩｔｈよりも大きな値を示す積分円Ｃｉを求めることで、瞳孔の位置とその半径を求めることができる。
【００１８】
そして、目画像上の各位置に積分円Ｃ１〜Ｃｎを移動させて上述の動作を繰り返す。こうして差分値ΔＩｉが大きな値を示すときの積分円Ｃｉの中心座標（Ｘ、Ｙ）とそのときの半径Ｒを求めることにより、瞳孔の位置座標（Ｘｏ、Ｙｏ）と瞳孔半径Ｒｏを求めることができる。
【００１９】
しかしながら、画像によっては偶発的に差分値ΔＩｉが大きな値を示す可能性がある。特に、積分円の数ｎや各積分円上で選択する画素の数ｍを小さくすると計算量を減らすことができ高速な瞳孔検出が可能となるが、反面、偶発的に差分値ΔＩｉが大きな値を示す可能性が高くなり瞳孔検出精度が低下する。そのため瞳孔検出装置２００に輝度差算出部２４０を設け、積分円Ｃｉの各々に対して、円周上における輝度の最大値と最小値の差Ｂｉを求め、その差Ｂｉが所定の閾値（以下、「輝度差閾値」と記する）Ｂｔｈより小さい場合に限り積分値Ｉｉ、あるいはその差分値ΔＩｉが有効であるとすることで瞳孔検出精度の低下を防いでいる。
【００２０】
図３は、輝度差算出部２４０の動作を説明するための図である。積分円Ｃ１〜Ｃｎの中心が瞳孔中心と一致している場合には、各積分円Ｃｉは瞳孔領域内部、虹彩領域内部等、比較的輝度の均一な領域に位置するため、円周上の画像データの輝度ばらつきは小さい。図３（ａ）に、円環状の中輝度領域である虹彩領域に位置する積分円を示している。この場合、円周上の輝度の最大値と最小値との差Ｂｉは小さく、輝度差閾値Ｂｔｈ以下となる。しかし、たとえば図３（ｂ）に示すように、積分円Ｃ１〜Ｃｎの中心が黒いメガネフレームの一部に位置するときには、円周上の輝度はメガネフレーム上では低く皮膚の部分では高くなるため、輝度の最大値と最小値との差Ｂｉは大きくなる。このように、各積分円Ｃｉの円周上の輝度の最大値と最小値との差Ｂｉを求め、その差Ｂｉが輝度差閾値Ｂｔｈより小さい場合に限り積分値Ｉｉ、あるいはその差分値ΔＩｉが有効であるとすることで、メガネフレーム等を誤って瞳孔と判定する等の誤判定を防ぐことができ、瞳孔検出精度の低下を防止できる。
【００２１】
なお、輝度差閾値Ｂｔｈとしては円周上の輝度データの予想されるばらつきよりわずかに大きく設定することが望ましい。経験的には、虹彩の平均輝度と瞳孔の平均輝度との差よりも大きく、肌の平均輝度と瞳孔の平均輝度との差よりも小さく設定するとよい。たとえば、２５６階調の画像信号の場合、瞳孔の平均輝度が４０階調程度、虹彩の平均輝度が１００階調程度、肌の平均輝度が２００階調程度となるため、輝度差閾値Ｂｔｈとしては６０〜１６０の間で設定するとよい。
【００２２】
また、差分閾値ΔＩｔｈとしては、積分円が瞳孔上にある場合の積分値Ｉはおよそ４０×８＝３２０であり、積分円が虹彩上にある場合の積分値Ｉはおよそ１００×８＝８００であるので、差分閾値ΔＩｔｈとしては、その差４８０の半分程度、すなわち２４０程度に設定するとよい。
【００２３】
図４は、本発明の第１の実施の形態における瞳孔検出装置の回路ブロック図である。瞳孔検出装置２００は、目画像上に積分円Ｃ１〜Ｃｎを設定し各積分円Ｃｉの円周上の画像データを抽出する画像データ抽出部２２０、抽出された画像データを積分円Ｃｉ毎に周回積分する周回積分部２３０、各積分円毎に画像データの最大値と最小値との差Ｂｉを求める輝度差算出部２４０、積分値Ｉｉの半径Ｒｉに対する差分値ΔＩｉを求め差分値の最大値ΔＩが差分閾値ΔＩｔｈよりも大きいときの差分値ΔＩｉと積分円の半径Ｒを出力する変化円検出部２５０、積分円Ｃ１〜Ｃｎの中心座標（Ｘ、Ｙ）を指示するポインタ部２６０、瞳孔候補保持部２８０と瞳孔選択部２９０とからなる瞳孔位置検出部２７０を備えている。瞳孔候補保持部２８０は、変化円検出部２５０が差分閾値ΔＩｔｈよりも大きい差分値ΔＩｉを出力したとき瞳孔候補を検出したものとみなし、複数の瞳孔候補の位置座標（Ｘ、Ｙ）と半径Ｒを記憶し、瞳孔選択部２９０は、複数の瞳孔候補の中から１つの瞳孔を選び出す。このようにして瞳孔位置検出部２７０は、目画像の中から瞳孔の位置座標と瞳孔の半径を検出する。
【００２４】
図５は画像データ抽出部２２０の回路ブロック図である。画像データ抽出部２２０は部分フレームメモリ２２２と、部分フレームメモリ２２２から読出された画像データを各々の積分円Ｃｉ毎にまとめて出力するためのマルチプレクサ２２６とから構成されている。部分フレームメモリ２２２はランダムアクセス可能なラインメモリ２２４１〜２２４Ｌを複数個接続して構成されており、メモリ制御部２２５１〜２２５Ｌによって対応するラインメモリ２２４１〜２２４Ｌの読出し、書込みが制御されている。マルチプレクサ２２６は、ｎ個の積分円Ｃ１〜Ｃｎに対応するｎ個のセレクタ２２８１〜２２８ｎとセレクタ制御部２２９とから構成されている。セレクタ２２８ｉは部分フレームメモリ２２２から出力される画像データのうち、対応する積分円Ｃｉの円周上に位置する画像データを選択し出力する。
【００２５】
図６および図７は画像データ抽出部２２０の動作を説明するための図である。以下では簡単のために、７本のラインメモリ２２４１〜２２４７が部分フレームメモリ２２２を構成し、その上に３つの同心円状の積分円Ｃ１〜Ｃ３を設定し、それぞれの積分円Ｃ１〜Ｃ３の円周上に位置する画素の中からそれぞれ４画素ずつを選んでその画素データを抽出するものとして説明する。図６は部分フレームメモリ２２２上に設定された３つの積分円Ｃ１〜Ｃ３とそれぞれの積分円上から抽出すべき１２の画像データＤｉ，ｊを示している。ここで画像データＤｉ，ｊのｉはラインメモリ２２４１〜２２４７を識別するための添字でありｊは積分円Ｃ１〜Ｃ３を識別するための添字である。
【００２６】
図７は前処理部１２５から送られる画像データＳｉｇとラインメモリ２２４１〜２２４７から出力される画像データを示すタイミングチャートである。ここで、前処理部１２５から１つの画像データが送られる期間Ｔｓｉｇの間にラインメモリ２２４１〜２２４７が合計８回の読出し、書込み動作を行う期間Ｔ１〜Ｔ８が設けられているものとする。
【００２７】
まず最初の期間Ｔ１では、各ラインメモリ２２４ｉは書込まれている最も古い画像データを次のラインメモリ２２４ｉ＋１に出力する。次の期間Ｔ２では、１つ前のラインメモリ２２４ｉ−１から出力された画像データを空いたデータエリアへ書込む。このとき最初のラインメモリ２２４１は前処理部１２５から出力された画像データを空いたエリアへ書込む。このように最初の２つの期間Ｔ１、Ｔ２はラインメモリ２２４１〜２２４７を部分フレームメモリ２２２として機能させるために使用する。
【００２８】
続く６つの期間Ｔ３〜Ｔ８は画像データＤｉ，ｊを抽出するために使われる。ラインメモリ２２４１は積分円Ｃ１に対応する１つの画像データＤ１，１を出力し、ラインメモリ２２４２は１つの画像データＤ２，２を出力し、ラインメモリ２２４３は１つの画像データＤ３，３を出力する。そして、ラインメモリ２２４４は画像データＤ４，１、Ｄ４，２、Ｄ４，３をそれぞれ２つずつ、合計６つのデータを出力する。ラインメモリ２２４５は１つの画像データＤ５，３を出力し、ラインメモリ２２４６は１つの画像データＤ６，２を出力し、ラインメモリ２２４７は１つの画像データＤ７，１を出力する。画像データの出力においては、それぞれのラインメモリがどのタイミングでどの画像データを出力するかはある程度自由に設定できるが、同一の積分円に対応する画像データを同一タイミングで出力しないように決められている。
【００２９】
次に、各ラインメモリは図７に示した順にそれぞれの画像データを出力するものとして、マルチプレクサ２２６の動作について説明する。積分円Ｃ１に対応するセレクタ２２８１は、期間Ｔ３においてラインメモリ２２４４の出力を選択し画像データＤ４，１を出力する。期間Ｔ４においてもラインメモリ２２４４の出力を選択しもう１つの画像データＤ４，１を出力する。期間Ｔ５においてはラインメモリ２２４１の出力を選択し画像データＤ１，１を出力し、期間Ｔ６においてはラインメモリ２２４７の出力を選択し画像データＤ７，１を出力する。選択すべきラインメモリが存在しない期間Ｔ７、Ｔ８では値「０」（図５においては接地記号で表示）を選択する。こうしてセレクタ２２８１からは積分円Ｃ１の円周上の画像データＤ４，１、Ｄ４，１、Ｄ１，１、Ｄ７，１だけが出力される。セレクタ２２８２は、期間Ｔ３ではラインメモリ２２４２、期間Ｔ４ではラインメモリ２２４６、期間Ｔ５およびＴ６ではラインメモリ２２４４の出力を選択し、積分円Ｃ２の円周上の画像データＤ２，２、Ｄ６，２、Ｄ４，２、Ｄ４，２を出力する。セレクタ２２８３も同様に、期間Ｔ５ではラインメモリ２２４３、期間Ｔ６ではラインメモリ２２４５、期間Ｔ７およびＴ８ではラインメモリ２２４４の出力を選択し、積分円Ｃ３の円周上の画像データＤ３，３、Ｄ５，３、Ｄ４，３、Ｄ４，３を出力する。こうしてマルチプレクサ２２６からは部分フレームメモリ２２２から読出された画像データが積分円毎にまとめて同時に抽出され出力される。
【００３０】
そして、部分フレームメモリ２２２へ画像データＳｉｇを１画素入力する毎に、出力すべき画像データＤｉ，ｊを１画素分移動するようにメモリ制御部２２５１〜２２５Ｌはラインメモリ２２４１〜２２４Ｌのアドレスを制御する。その結果、１フレーム分の画像データが部分フレームメモリ２２２に入力する間に、目画像上では積分円Ｃ１〜Ｃｎが目画像全体を走査することになる。このときの積分円の中心座標（Ｘ、Ｙ）はＸカウンタ２６２およびＹカウンタ２６４の出力によって示される。
【００３１】
以上の説明では、ラインメモリの数Ｌ＝７、積分円の数ｎ＝３、１つの積分円の円周上から取り出すべき画像データの数ｍ＝４として説明したが、これらの数は検出精度、処理時間、回路規模等との兼ね合いで決定することが望ましい。以上が画像データ抽出部２２０の構成とその動作である。
【００３２】
周回積分部２３０は積分円Ｃ１〜Ｃｎの各々に対して独立な加算器２３０１〜２３０ｎを備え、各積分円Ｃｉの円周上に位置するｍ個の画像データを加算し、各々の加算結果を積分値Ｉｉとして変化円検出部２５０へ出力する。
【００３３】
輝度差算出部２４０は積分円Ｃ１〜Ｃｎの各々に対して独立な輝度差算出器２４０１〜２４０ｎを備え、各々の輝度差算出器２４０ｉは積分円Ｃｉの円周上に位置するｍ個の画素データの最大値と最小値とを検出し、その差Ｂｉと輝度差閾値Ｂｔｈとを比較してｎ個の比較結果を変化円検出部２５０へ出力する。
【００３４】
変化円検出部２５０は、減算器２５２１〜２５２ｎ−１、セレクタ２５３、コンパレータ２５４とを備える。減算器２５２ｉは、各積分円Ｃｉに対する積分値Ｉｉの半径Ｒに対する差分を求める。すなわち、積分円Ｃ１〜Ｃｎのうち、半径の１つ違う積分円ＣｉとＣｉ−１とに対する積分値ＩｉとＩｉ−１との差分値ΔＩｉを求める。ただし、積分円Ｃｉに対する画像データの最大値と最小値との差Ｂｉが輝度差閾値Ｂｔｈよりも大きい場合には差分値ΔＩｉを強制的に０に設定する。そしてセレクタ２５３およびコンパレータ２５４は、差分値ΔＩｉが差分閾値ΔＩｔｈより大きくなる積分円Ｃの半径Ｒを瞳孔候補保持部２８０に出力するとともに、その差分値ΔＩも評価値Ｊ０として瞳孔候補保持部２８０に出力する。このとき積分円Ｃｉに対する画像データの最大値と最小値との差Ｂｉが輝度差閾値Ｂｔｈよりも大きい場合、減算器２５２ｉは差分値ΔＩｉを強制的に０に設定するので、差Ｂｉが輝度差閾値Ｂｔｈよりも大きい場合には半径Ｒｉが瞳孔候補保持部２８０に出力されることはない。図３を用いて説明したように、積分円Ｃ１〜Ｃｎの中心が瞳孔の中心と一致している場合には、画素データの最大値と最小値との差Ｂｉはある限られた値以下となる。しかし、瞳孔の中心と一致していない場合には差Ｂｉは大きくなる。したがって、差Ｂｉが輝度差閾値Ｂｔｈよりも大きい場合の情報を除くことにより誤検出の可能性を減らすことができ、瞳孔検出精度を上げることができる。
【００３５】
図８は瞳孔位置検出部２７０、すなわち瞳孔候補保持部２８０および瞳孔選択部２９０の回路ブロック図である。瞳孔候補保持部２８０は、複数の最大値検出器２８０１〜２８０ｋがそれぞれ直列に接続されている。最大値検出器２８０ｉの各々は、瞳孔候補のＸ座標、Ｙ座標、半径Ｒおよび評価値Ｊの最大値を保持するレジスタ２８２ｉ、２８３ｉ、２８４ｉおよび２８５ｉ、入力した評価値Ｊｉ−１とレジスタ２８５ｉに保持している評価値Ｊｉとを比較するコンパレータ２８１ｉ、入力したＸ座標、Ｙ座標、半径Ｒおよび評価値Ｊと保持しているＸ座標、Ｙ座標、半径Ｒおよび評価値Ｊのいずれかを選択するセレクタ２８６ｉ、２８７ｉ、２８８ｉおよび２８９ｉを備えている。
【００３６】
先頭の最大値検出器２８０１には、積分円の座標を示すＸカウンタ２６２およびＹカウンタ２６４の出力Ｘ０、Ｙ０が入力され、変化円検出部２５０の出力Ｒ０も入力されている。そして、変化円検出部２５０から出力される評価値Ｊ０がレジスタ２８５１の保持している評価値Ｊ１よりも大きい場合には、それまでレジスタ２８２１〜２８５１に保持していたＸ座標Ｘ１、Ｙ座標Ｙ１、半径Ｒ１、評価値Ｊ１をセレクタ２８６１〜２８９１を介して２番目の最大値検出器２８０２に出力するとともに、新しく入力したＸ座標Ｘ０、Ｙ座標Ｙ０、半径Ｒ０、評価値Ｊ０をレジスタ２８２１〜２８５１に保持する。評価値Ｊ０が評価値Ｊ１以下の場合には新しく入力したＸ座標Ｘ０、Ｙ座標Ｙ０、半径Ｒ０、評価値Ｊ０をセレクタ２８６１〜２８９１を介して２番目の最大値検出器２８０２に出力する。
【００３７】
２番目の最大値検出器２８０２は、１番目の最大値検出器２８０１から出力される評価値Ｊ１がレジスタ２８５２の保持している評価値Ｊ２よりも大きい場合には、それまでレジスタ２８２２〜２８５２に保持していたＸ座標Ｘ２、Ｙ座標Ｙ２、半径Ｒ２、評価値Ｊ２を３番目の最大値検出器２８０３に出力するとともに、新しく入力したＸ座標Ｘ１、Ｙ座標Ｙ１、半径Ｒ１、評価値Ｊ１をレジスタ２８２２〜２８５２に保持する。評価値Ｊ１が評価値Ｊ２以下の場合には新しく入力したＸ座標Ｘ１、Ｙ座標Ｙ１、半径Ｒ１、評価値Ｊ１を３番目の最大値検出器２８０３に出力する。
【００３８】
以下同様に、ｉ番目の最大値検出器２８０ｉは、上流側の最大値検出器２８０ｉ−１から出力される評価値Ｊｉ−１がそれまで保持していた評価値Ｊｉよりも大きい場合には、それまで保持していたデータを下流側の最大値検出器２８０ｉ＋１に出力するとともに上流側のデータを保持する。評価値Ｊｉ−１が評価値Ｊｉ以下の場合には上流側のデータを下流側に出力する。
【００３９】
その結果、先頭の最大値検出器２８０１には最も評価値の大きい瞳孔候補に対するＸ座標Ｘ１、Ｙ座標Ｙ１、半径Ｒ１、評価値Ｊ１が保持され、２番目の最大値検出器２８０２には２番目に評価値の大きい瞳孔候補に対するＸ座標Ｘ２、Ｙ座標Ｙ２、半径Ｒ２、評価値Ｊ２が保持され、ｉ番目の最大値検出器２８０ｉにはｉ番目に評価値の大きい瞳孔候補に対するＸ座標Ｘｉ、Ｙ座標Ｙｉ、半径Ｒｉ、評価値Ｊｉが保持される。
【００４０】
なお、本実施の形態の変化円検出部２５０のセレクタ２５３は、差分値ΔＩｉの最大値とそのときの積分円Ｃの半径Ｒを選択する機能をもっている。しかしながら、瞳孔候補保持部２８０はもともと最大値を検出する機能をもっている。したがってセレクタ２５３として、単純に時分割で減算器２５２１〜２５２ｎ−１の出力と積分円の半径とを出力する構成とすることも可能である。
【００４１】
瞳孔選択部２９０は瞳孔候補保持部２８０に保持されている複数の瞳孔候補の中から１つを選び出し、その位置座標および半径を瞳孔の位置座標および半径として認証処理部１４０へ出力する。
【００４２】
図９は瞳孔選択部２９０の動作を説明するための図である。瞳孔候補Ｐ１、Ｐ２はまつげを瞳孔と間違って検出したものであり、瞳孔候補Ｐ３〜Ｐ１１は真の瞳孔を検出したものである。このように、一般に誤検出された瞳孔候補が密集することはほとんどないが、真の瞳孔の周囲には瞳孔候補が密集する傾向がある。これは瞳孔候補の検出精度に依存し、検出精度がよくなるほど密集する瞳孔候補の数は少なくなる。しかし、精度を上げても撮像素子に依存する１画素程度の誤差は残るため、真の瞳孔の中心位置に隣接する画素位置には他の瞳孔候補の中心が存在する可能性が高い。また、照明光が角膜で反射する等の影響で真の瞳孔の周囲に瞳孔候補が生じる場合もある。したがって、周囲に他の瞳孔候補の存在する瞳孔候補を真の瞳孔として選択することにより、まつげ等を瞳孔と間違って検出する等の誤検出をなくし瞳孔検出精度を向上させることができる。
【００４３】
本実施の形態においては、次のようにして複数の瞳孔候補の中から１つを選び出している。複数の瞳孔候補に対して互いに距離の近いものを１つのグループとしてグループ分けし、それぞれのグループに含まれる瞳孔候補の数の多いもの、あるいは含まれる瞳孔候補の評価値の合計が高いものを手がかりにして真の瞳孔を選択している。図１０はこのような考え方にもとづいて瞳孔候補の中から瞳孔を選択する動作を示すフローチャートである。
【００４４】
まず、瞳孔選択部２９０は瞳孔候補を１つ取り込む。取り込んだ瞳孔候補のＸ座標、Ｙ座標、半径および評価値をそれぞれＸｉ、Ｙｉ、ＲｉおよびＪｉとする（Ｓ７１）。次に、Ｘ座標、Ｙ座標および半径のそれぞれについて、瞳孔候補の値Ｘｉ、ＹｉおよびＲｉとグループの平均値Ｘｇｊ、ＹｇｊおよびＲｇｊ（ｊは正の整数）との差が所定の閾値Ｘｔｈ、ＹｔｈおよびＲｔｈより小さくなるグループが存在するか調べる。すなわち、｜Ｘｉ−Ｘｇｊ｜＜Ｘｔｈ、｜Ｙｉ−Ｙｇｊ｜＜Ｙｔｈ、｜Ｒｉ−Ｒｇｊ｜＜Ｒｔｈを満たすグループが存在するか調べる（Ｓ７２）。存在する場合には、ステップＳ７１で取り込んだ瞳孔候補をそのグループに追加する（Ｓ７３）。存在しない場合には、ステップＳ７１で取り込んだ瞳孔候補だけを含む新たなグループを作成する（Ｓ７４）。次に、ステップＳ７３で瞳孔候補を追加されたグループあるいはステップＳ７４で新たに作成されたグループに対して平均値Ｘｇｊ、ＹｇｊおよびＲｇｊの再計算を行う（Ｓ７５）。グループ分けの終えていない瞳孔候補が残っている場合はステップＳ７１に戻る（Ｓ７６）。すべての瞳孔候補のグループ分けを終えると、各々のグループに対して、そのグループに含まれる各瞳孔候補の評価値の合計ΣＪを求める（Ｓ７７）。そして、評価値の合計ΣＪが最大のグループのＸ座標、Ｙ座標および半径の平均値Ｘｇｊ、ＹｇｊおよびＲｇｊを瞳孔のＸ座標、Ｙ座標および半径として認証処理部１４０へ出力する（Ｓ７８）。
【００４５】
以上の方法によれば、原理的には瞳孔候補の順序によりグループ分けの結果が変わる等の不安定さはあるが、誤検出される瞳孔候補は孤立しており、真の瞳孔を含む瞳孔候補の集まりは密集しているため、たとえばＸｔｈ、Ｙｔｈの値を予想される瞳孔半径の１／２程度に設定すれば事実上問題は発生しない。瞳孔選択部２９０は以上の動作を行う専用回路を用いて構成することも可能であるが、本実施の形態においては認証処理部１４０に設けられているＣＰＵ（図示せず）を用いて上述の処理を行っている。そしてこのフローによればデータ処理が比較的簡単であり高速動作に適している。
【００４６】
次に、瞳孔検出装置２００の動作について説明する。以下の説明では、目画像データが順次走査データであり、１フレームが、たとえば４８０ライン×６４０ピクセルのデジタルデータで構成されているものとする。図１１は、本発明の第１の実施の形態における瞳孔検出装置の目画像１フレーム分の動作を示すフローチャートである。
【００４７】
まず瞳孔検出装置２００は１画素分の画像データを取り込む（Ｓ５１）。取り込んだ画像データが１フレームの先頭のデータであれば（Ｓ５２）、Ｙカウンタ２６３をリセットするとともに、瞳孔候補保持部２８０の各レジスタ２８２〜２８５をリセットする（Ｓ５３）。取り込んだ画像データが１ラインの先頭のデータであれば（Ｓ５４）、Ｘカウンタ２６２をリセットし、Ｙカウンタ２６４をインクリメントする（Ｓ５５）。そして、Ｘカウンタ２６２をインクリメントする（Ｓ５６）。
【００４８】
次に、取り込んだ画像データを部分フレームメモリ２２２に取り込む。すると目画像上でｎ個の積分円Ｃ１〜Ｃｎに対応する画素のうち各々の積分円Ｃｉからｍ個ずつ、ｎ×ｍ個の画像データが引出される。そして各積分円Ｃｉに対応する加算器２３０ｉはそれぞれ画像データの積分値Ｉｉを算出し、輝度差算出器２４０ｉは画像データの最大値と最小値との差Ｂｉを算出する。変化円検出部２５０はそれぞれの積分値Ｉｉの差分値ΔＩｉを計算する。ただしこのとき、差Ｂｉが輝度差閾値Ｂｔｈよりも大きい場合には差分値ΔＩｉを強制的に０とする（Ｓ５７）。そして、コンパレータ２５４が差分値ΔＩｉと差分閾値ΔＩｔｈとを比較し（Ｓ５８）、差分値ΔＩｉが差分閾値ΔＩｔｈより大きい場合には、瞳孔候補保持部２８０はこのときのＸカウンタ２６２、Ｙカウンタ２６４および積分円の半径Ｒｏを瞳孔候補として保持するとともにその差分値ΔＩｉも評価値Ｊｏとして保持する。このとき瞳孔候補保持部２８０は評価値の大きい順に瞳孔候補を並べ替え最大ｋ個の瞳孔候補を保持する（Ｓ５９）。次に、取り込んだ画像データが１フレームの末尾のデータであるか否かを判定し（Ｓ６０）、末尾でなければステップＳ５１に戻る。
【００４９】
入力される画像データが１フレームの最後の画素にいたったときは、瞳孔選択部２９０は、それぞれの瞳孔候補に対してその中心座標に隣接する画素位置に存在する他の瞳孔候補の数を計算し、その値が最も大きい瞳孔候補のＸ座標、Ｙ座標および半径の値を真の瞳孔のＸ座標Ｘｏ、Ｙ座標Ｙｏおよび瞳孔半径Ｒｏとして認証処理部１４０へ出力する（Ｓ６１）。
【００５０】
以上の、ステップＳ５１からステップＳ６１までの一連の動作は、部分フレームメモリ２２２に画像データを１画素分入力する毎に実行される。たとえばフレーム周波数が３０Ｈｚ、目画像が６４０×４８０画素で構成されている場合、１／（３０×６４０×４８０）秒以下の時間で上記の一連の動作が実行される。そして、部分フレームメモリ２２２に１画素入力されると積分円は画像上で１画素分移動するので、１フレームの画像を入力する間に積分円が画像上を１回走査することになる。このようにして、比較的小規模な回路を用いて、撮像部１２０で撮像された画像データに対してリアルタイムで瞳孔検出することができる。
【００５１】
（第２の実施の形態）
本発明の第２の実施の形態における瞳孔検出装置の回路ブロックは第１の実施の形態と同様であるので、それぞれに第１の実施の形態と同一の符号を付して説明を省略する。第２の実施の形態における瞳孔検出装置が第１の実施の形態と大きく異なるところは、画像データ抽出部２２０において、それぞれの積分円に対応して選び出す画像データの選び方と、各ラインメモリ２２４１〜２２４Ｌのアクセスのタイミングである。
【００５２】
図１２、図１３は本発明の第２の実施の形態における画像データ抽出部２２０の動作を説明するための図である。ここでも第１の実施の形態と同様、説明を簡単にするために、７本のラインメモリ２２４１〜２２４７が部分フレームメモリ２２２を構成し、その上に３つの同心円状の積分円Ｃ１〜Ｃ３を設定し、それぞれの積分円Ｃ１〜Ｃ３の円周上に位置する画素の中からそれぞれ４画素ずつを選んでその画素データを抽出するものとして説明する。第１の実施の形態においては、図６に示したように、抽出すべき画像データがラインメモリ２２４４に集中していた。しかし第２の実施の形態においては抽出すべき画像データが１つのラインメモリに集中しないように選択されている。特に、１つのラインメモリから抽出すべき画像データの数が１つの積分円から抽出すべき画像データの数ｍ（ここではｍ＝４）を超えないように、画像データを選択している。すなわち、最もアクセス回数の多いラインメモリ２２４４から抽出すべき画像データの数は４であり、１つの積分円から抽出すべき画像データの数ｍ＝４を超えない。
【００５３】
図１３は前処理部１２５から送られる画像データＳｉｇとラインメモリ２２４１〜２２４７から出力される画像データを示すタイミングチャートである。第２の実施の形態においては、前処理部１２５から１つの画像データが送られる期間Ｔｓｉｇの間にラインメモリ２２４１〜２２４７が合計６回の読出し、書込み動作を行う期間Ｔ１〜Ｔ６が設けられている。第２の実施の形態におけるラインメモリのアクセス回数はｍ＋２回（ここでは６回）であり、第１の実施の形態におけるアクセス回数よりも少なくなっている。
【００５４】
まず最初の期間Ｔ１では、各ラインメモリ２２４ｉは書込まれている最も古い画像データを次のラインメモリ２２４ｉ＋１に出力する。次の期間Ｔ２では、１つ前のラインメモリ２２４ｉ−１から出力された画像データを空いたデータエリアへ書込む。このとき最初のラインメモリ２２４１は前処理部１２５から出力された画像データを空いたエリアへ書込む。このように最初の２つの期間Ｔ１、Ｔ２は、第１の実施の形態と同じく、ラインメモリ２２４１〜２２４７を部分フレームメモリ２２２として機能させるために使用する。
【００５５】
続く４つの期間Ｔ３〜Ｔ６は画像データＤｉ，ｊを取り出すために使われる。ラインメモリ２２４１は積分円Ｃ１に対応する１つの画像データＤ１，１を出力し、ラインメモリ２２４２は１つの画像データＤ２，２を出力し、ラインメモリ２２４３は２つの画像データＤ３，２とＤ３，３とを出力する。そして、ラインメモリ２２４４は画像データＤ４，１、Ｄ４，３をそれぞれ２つずつ、合計４つのデータを出力する。ラインメモリ２２４５は２つの画像データＤ５，３、Ｄ５，２を出力し、ラインメモリ２２４６は１つの画像データＤ６，２を出力し、ラインメモリ２２４７は１つの画像データＤ７，１を出力する。画像データの出力においては、それぞれのラインメモリがどのタイミングでどの画像データを出力するかはある程度自由に設定できるが、同一の積分円に対応する画像データを同一タイミングで出力しないように決められている。
【００５６】
次に、各ラインメモリは図１３に示した順にそれぞれの画像データを出力するものとして、マルチプレクサ２２６の動作について説明する。積分円Ｃ１に対応するセレクタ２２８１は、期間Ｔ３においてラインメモリ２２４４の出力を選択し画像データＤ４，１を出力する。期間Ｔ４においてもラインメモリ２２４４の出力を選択しもう１つの画像データＤ４，１を出力する。期間Ｔ５においてはラインメモリ２２４１の出力を選択し画像データＤ１，１を出力し、期間Ｔ６においてはラインメモリ２２４７の出力を選択し画像データＤ７，１を出力する。こうしてセレクタ２２８１からは積分円Ｃ１の円周上の画像データＤ４，１、Ｄ４，１、Ｄ１，１、Ｄ７，１だけが出力される。セレクタ２２８２は、期間Ｔ３ではラインメモリ２２４３、期間Ｔ４ではラインメモリ２２４５、期間Ｔ５ではラインメモリ２２４２、期間Ｔ６ではラインメモリ２２４６の出力を選択し、積分円Ｃ２の円周上の画像データＤ３，２、Ｄ５，２、Ｄ２，２、Ｄ６，２を出力する。セレクタ２２８３も同様に、期間Ｔ３ではラインメモリ２２４５、期間Ｔ４ではラインメモリ２２４３、期間Ｔ５およびＴ６ではラインメモリ２２４４の出力を選択し、積分円Ｃ３の円周上の画像データＤ５，３、Ｄ３，３、Ｄ４，３、Ｄ４，３を出力する。こうしてマルチプレクサ２２６からは部分フレームメモリ２２２から読出された画像データが積分円毎にまとめて出力される。
【００５７】
そして、部分フレームメモリ２２２へ画像データＳｉｇを１画素入力する毎に、出力すべき画像データＤｉ，ｊを１画素分移動するようにメモリ制御部２２５１〜２２５Ｌはラインメモリ２２４１〜２２４Ｌのアドレスを制御する。その結果、１フレーム分の画像データを部分フレームメモリ２２２に入力する間に、目画像上では積分円Ｃ１〜Ｃｎが目画像全体を走査することになる。このときの積分円の中心座標（Ｘ、Ｙ）はＸカウンタ２６２およびＹカウンタ２６４の出力によって示される。
【００５８】
以上の説明では、ラインメモリの数Ｌ＝７、積分円の数ｎ＝３、１つの積分円の円周上から取り出すべき画像データの数ｍ＝４として説明したが、本実施の形態においては、ラインメモリの数Ｌ＝４１、積分円の数ｎ＝２０、１つの積分円の円周上から取り出すべき画像データの数ｍ＝８と設定している。このように画像データ抽出部２２０から取り出すべき画像データの総数は多いが、これらの画像データが特定のラインメモリに集中しないように配置されている。これは、１つの画像データが送られる期間Ｔｓｉｇの間にラインメモリをアクセスできる回数には上限があり、すべてのラインメモリのアクセス回数をそれ以下に抑えるためである。
【００５９】
ここで、ラインメモリのアクセス回数および取り出すべき画像データの配置についての考え方を説明する。ラインメモリ２２４１〜２２４Ｌを部分フレームメモリとして機能させるために２回のアクセスが必要であるから、１つの積分円の円周上から取り出すべき画像データの数をｍとするとき、期間Ｔｓｉｇの間に各ラインメモリをアクセスすべき回数は少なくともｍ＋２回必要である。したがって、ラインメモリのアクセス回数を少なくするためには、１つのラインメモリから取り出すべき画像データの数もｍ個以下にすることが望ましい。本実施の形態においてはｍ＝８と設定しているので、期間Ｔｓｉｇにおけるラインメモリのアクセス回数を１０回と設定し、１つのラインメモリあたりの画像データの数も８個以下となるように、取り出すべき画像データを配置している。
【００６０】
このように、ラインメモリの最大アクセス回数を制限することにより、１回あたりのアクセス期間を長く設定できるので、ある程度動作速度の遅いラインメモリを用いることができ、部分フレームメモリの設計の自由度が上がる。
【００６１】
なお、本発明の第１の実施の形態および第２の実施の形態においては同心円状の積分円の数を２０、１つの積分円から引出す画像データの数を８個としたが、これらの数は検出精度、処理時間、回路規模等との兼ね合いで決定することが望ましい。また、１つの積分円から引出す画像データの数をすべての積分円に対して同じにする必要はなく、この場合には正規化するために、各積分円の積分値をその積分円から引出す画像データの数で除しておくとよい。
【産業上の利用可能性】
【００６２】
本発明は、精度よくかつ高速に瞳孔位置検出可能な瞳孔検出装置を提供することができるので、個人認証等に用いられる虹彩認証装置等として有用である。
【図面の簡単な説明】
【００６３】
【図１】本発明の第１の実施の形態における瞳孔検出装置を用いた虹彩認証装置の回路ブロック図
【図２】同瞳孔検出装置の瞳孔検出方法を説明するための図
【図３】同瞳孔検出装置の輝度差算出部の動作を説明するための図
【図４】同瞳孔検出装置の回路ブロック図
【図５】同瞳孔検出装置の画像データ抽出部の回路ブロック図
【図６】同瞳孔検出装置の画像データ抽出部の動作を説明するための図
【図７】同瞳孔検出装置の画像データ抽出部の動作を説明するための図
【図８】同瞳孔検出装置の瞳孔位置検出部の回路ブロック図
【図９】同瞳孔検出装置の瞳孔選択部の動作を説明するための図
【図１０】同瞳孔検出装置の瞳孔選択部の動作を示すフローチャート
【図１１】同瞳孔検出装置の目画像１フレーム分の動作を示すフローチャート
【図１２】本発明の第２の実施の形態における瞳孔検出装置の画像データ抽出部の動作を説明するための図
【図１３】同瞳孔検出装置の画像データ抽出部の動作を説明するための図
【符号の説明】
【００６４】
１２０    撮像部
１３０    照明部
１４０    認証処理部
２００    瞳孔検出装置
２２０    画像データ抽出部
２２２    部分フレームメモリ
２２４１〜２２４Ｌ    ラインメモリ
２２５１〜２２５Ｌ    メモリ制御部
２２６    マルチプレクサ
２２８１〜２２８ｎ    セレクタ
２２９    セレクタ制御部
２３０    周回積分部
２４０    輝度差算出部
２５０    変化円検出部
２６０    ポインタ部
２７０    瞳孔位置検出部
２８０    瞳孔候補保持部
２９０    瞳孔選択部
【図１】
2006048204.tif 000003
【図２】
2006048204.tif 000004
【図３】
2006048204.tif 000005
【図４】
2006048204.tif 000006
【図５】
2006048204.tif 000007
【図６】
2006048204.tif 000008
【図７】
2006048204.tif 000009
【図８】
2006048204.tif 000010
【図９】
2006048204.tif 000011
【図１０】
2006048204.tif 000012
【図１１】
2006048204.tif 000013
【図１２】
2006048204.tif 000014
【図１３】
2006048204.tif 000015