(57)【要約】【課題】輪郭形状に関係なく、正確な輪郭形状を少ない計算量で求めることができる輪郭検出装置を提供する。【解決手段】輪郭検出手段２は、撮像デバイス１により撮影された画像から複数の仮の輪郭データを検出する。演算手段３は、輪郭検出手段２によって検出された複数の仮の輪郭データを母集団としたときの複数の仮の輪郭データと母集団の重心との複数の第１の距離のばらつきを検出し、その検出したばらつきの重心と複数の仮の輪郭データとの複数の第２の距離と複数の第２の距離の平均とを演算する。判定手段４は、演算手段３によって演算された複数の第２の距離と複数の第２の距離の平均とを用いて第２の距離が複数の第２の距離の平均から相対的に離れている仮の輪郭データを偽の輪郭データとして複数の仮の輪郭データから除去して真の輪郭データを求める。 【選択図】図１
2009059165.tif 000002
【特許請求の範囲】
【請求項１】
撮影器により撮影された画像から複数の仮の輪郭データを検出する輪郭検出手段と、
前記輪郭検出手段によって検出された複数の仮の輪郭データを母集団としたときの前記複数の仮の輪郭データと前記母集団の重心との複数の第１の距離のばらつきを検出し、その検出したばらつきの重心と前記複数の仮の輪郭データとの複数の第２の距離と前記複数の第２の距離の平均とを演算する演算手段と、
前記演算された複数の第２の距離と前記複数の第２の距離の平均とを用いて前記第２の距離が前記複数の第２の距離の平均から相対的に離れている仮の輪郭データを偽の輪郭データとして前記複数の仮の輪郭データから除去して真の輪郭データを求める判定手段とを備える輪郭検出装置。
【請求項２】
前記演算手段は、前記複数の第２の距離として複数のマハラノビス距離を演算し、前記複数の第２の距離の平均として平均マハラノビス距離を演算し、
前記判定手段は、前記複数のマハラノビス距離および前記平均マハラノビス距離を用いてマハラノビス距離が前記平均マハラノビス距離から相対的に離れている仮の輪郭データを偽の輪郭データとして前記複数の仮の輪郭データから除去して真の輪郭データを求める、請求項１に記載の輪郭検出装置。
【請求項３】
前記判定手段は、仮の輪郭データに対するマハラノビス距離と前記平均マハラノビス距離との差を演算し、その演算した差がしきい値以上であるとき前記仮の輪郭データを前記偽の輪郭データとして除去する処理を前記複数の仮の輪郭データの全てに対して実行し、前記真の輪郭データを求める、請求項２に記載の輪郭検出装置。
【請求項４】
前記輪郭データは、瞳孔の輪郭データである、請求項１から請求項３のいずれか１項に記載の輪郭検出装置。
【請求項５】
撮影器により撮影された瞳孔画像から複数の仮の瞳孔輪郭データを検出する輪郭検出手段と、
前記輪郭検出手段によって検出された複数の仮の瞳孔輪郭データを母集団としたときの前記複数の仮の瞳孔輪郭データと前記母集団の重心との複数の第１の距離のばらつきを検出し、その検出したばらつきの重心と前記複数の仮の瞳孔輪郭データとの複数の第２の距離と前記複数の第２の距離の平均とを演算する演算手段と、
前記演算された複数の第２の距離と前記複数の第２の距離の平均とを用いて前記第２の距離が前記複数の第２の距離の平均から相対的に離れている仮の瞳孔輪郭データを偽の瞳孔輪郭データとして前記複数の仮の瞳孔輪郭データから除去して真の瞳孔輪郭データを求める判定手段と、
前記真の瞳孔輪郭データを用いて操作者の視線方向を検出する視線検出手段とを備える視線検出装置。
【請求項６】
輪郭検出手段が、撮影器により撮影された画像から複数の仮の輪郭データを検出する第１のステップと、
演算手段が、前記第１のステップにおいて検出された複数の仮の輪郭データを母集団としたときの前記複数の仮の輪郭データと前記母集団の重心との複数の第１の距離のばらつきを検出し、その検出したばらつきの重心と前記複数の仮の輪郭データとの複数の第２の距離と前記複数の第２の距離の平均とを演算する第２のステップと、
判定手段が、前記演算された複数の第２の距離と前記複数の第２の距離の平均とを用いて前記第２の距離が前記複数の第２の距離の平均から相対的に離れている仮の輪郭データを偽の輪郭データとして前記複数の仮の輪郭データから除去して真の輪郭データを求める第３のステップとをコンピュータに実行させるためのプログラム。
【請求項７】
前記演算手段は、前記第２のステップにおいて、前記複数の第２の距離として複数のマハラノビス距離を演算し、前記複数の第２の距離の平均として平均マハラノビス距離を演算し、
前記判定手段は、前記第３のステップにおいて、複数のマハラノビス距離および平均マハラノビス距離を用いてマハラノビス距離が前記平均マハラノビス距離から相対的に離れている仮の輪郭データを偽の輪郭データとして前記複数の仮の輪郭データから除去して真の輪郭データを求める、請求項６に記載のコンピュータに実行させるためのプログラム。
【請求項８】
前記判定手段は、前記第３のステップにおいて、仮の輪郭データに対するマハラノビス距離と前記平均マハラノビス距離との差を演算し、その演算した差がしきい値以上であるとき前記仮の輪郭データを前記偽の輪郭データとして除去する処理を前記複数の仮の輪郭データの全てに対して実行し、前記真の輪郭データを求める、請求項７に記載のコンピュータに実行させるためのプログラム。
【請求項９】
前記輪郭データは、瞳孔の輪郭データである、請求項６から請求項８のいずれか１項に記載のコンピュータに実行させるためのプログラム。
【請求項１０】
視線検出手段が、前記真の瞳孔輪郭データを用いて操作者の視線方向を検出する第４のステップをさらにコンピュータに実行させる、請求項９に記載のコンピュータに実行させるためのプログラム。
【請求項１１】
請求項６から請求項１０のいずれか１項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、輪郭検出装置、それを用いた視線検出装置、偽の輪郭データの除去をコンピュータに実行させるためのプログラム、視線方向の検出をコンピュータに実行させるためのプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体に関するものである。 
【背景技術】
【０００２】
従来より、観察者が画面上のどの部分を注視しているかを検出する、いわゆる視線算出システムがある。視線算出システムには種々の技術が必要であるが、その中の一つとして、カメラにより撮影した瞳孔画像の瞳孔輪郭を計測するという技術がある。この技術において、瞳孔輪郭形状の推定時に抽出した瞳孔輪郭座標に偽の輪郭座標が含まれる場合、視線算出の精度が大きく劣化するという問題点がある。 
【０００３】
この問題に対し、例えば、特許文献１においては、瞳孔形状を円として考え、エッジ検出により抽出した瞳孔輪郭座標について、通常の最小２乗法を用いて瞳孔を円近似するだけではなく、観測点と推定円の誤差の２乗和で表される誤差量も同時に計算し、この誤差量が所定値以上の場合には、偽の観測点が計算されていると考え、計算すべき観測点からの組み合わせを変更して、再度、円の推定計算を実行することによって、最小２乗法の不備を補い、正確な瞳孔輪郭を計測している。 
【０００４】
また、特許文献２においては、瞳孔輪郭形状を楕円で近似する方法において、楕円の幾何学的な性質を用いて偽の観測点を除去している。以下、図９を用いて説明する。図９は、楕円の幾何学的性質を説明する図である。直線ｌ，ｍ，ｎは、各々平行であり、直線ｌ，ｎと直線ｍとの間隔は、等距離である。楕円と直線ｌ，ｎとの交点をそれぞれａ、ｂ及びｃ、ｄとし、楕円と直線ｍの交点の中点をｏとする。点ａ，ｂの中点と点ｃ，ｄの中点を結ぶ線の中点をｏ'とすると、ｏ'は、ｏと重なるという性質がある。
【０００５】
そこで、瞳孔の画像について瞳孔画像のほぼ中央に直線ｍを引き、直線ｍから等距離にあるＮ個の組のｏ'ｉ（ｉ＝１〜Ｎ）を求めると、これらは、直線ｍの上に分布する。偽の観測点が十分少ないときは、最も多くの点ｏ'が集まった位置がｏの位置に相当するので、その位置から離れている点は、ノイズを含んでいるとし、これらを除去することにより、正確な瞳孔輪郭を計測する。
【特許文献１】特開平４−３４７１３１号公報
【特許文献２】特開平８−１４５６４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１に記載の方法によると、円の推定計算を繰り返し行なう必要があり、計算量が多くなるという問題がある。また、特許文献２に記載の方法は、輪郭形状が楕円のものしか適用できないという問題がある。
【０００７】
そこで、この発明は、かかる問題を解決するためになされたものであり、その目的は、輪郭形状に関係なく、正確な輪郭形状を少ない計算量で求めることができる輪郭検出装置を提供することである。
【０００８】
また、この発明の別の目的は、輪郭形状に関係なく、正確な輪郭形状を少ない計算量で求めることができる輪郭検出装置を用いた視線検出装置を提供することである。
【０００９】
さらに、この発明の別の目的は、任意の輪郭形状に対して、正確な輪郭形状の演算を少ない計算量でコンピュータに実行させるためのプログラムを提供することである。
【００１０】
さらに、この発明の別の目的は、正確な輪郭形状を用いた視線方向の演算を少ない計算量でコンピュータに実行させるためのプログラムを提供することである。
【００１１】
さらに、この発明の別の目的は、任意の輪郭形状に対して、正確な輪郭形状の演算を少ない計算量でコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体を提供することである。
【００１２】
さらに、この発明の別の目的は、正確な輪郭形状を用いた視線方向の演算を少ない計算量でコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体を提供することである。
【課題を解決するための手段】
【００１３】
この発明によれば、輪郭検出装置は、輪郭検出手段と、演算手段と、判定手段とを備える。輪郭検出手段は、撮影器により撮影された画像から複数の仮の輪郭データを検出する。演算手段は、輪郭検出手段によって検出された複数の仮の輪郭データを母集団としたときの複数の仮の輪郭データと母集団の重心との複数の第１の距離のばらつきを検出し、その検出したばらつきの重心と複数の仮の輪郭データとの複数の第２の距離と複数の第２の距離の平均とを演算する。判定手段は、演算手段によって演算された複数の第２の距離と複数の第２の距離の平均とを用いて第２の距離が複数の第２の距離の平均から相対的に離れている仮の輪郭データを偽の輪郭データとして複数の仮の輪郭データから除去して真の輪郭データを求める。
【００１４】
好ましくは、演算手段は、複数の第２の距離として複数のマハラノビス距離を演算し、複数の第２の距離の平均として平均マハラノビス距離を演算する。判定手段は、複数のマハラノビス距離および平均マハラノビス距離を用いてマハラノビス距離が平均マハラノビス距離から相対的に離れている仮の輪郭データを偽の輪郭データとして複数の仮の輪郭データから除去して真の輪郭データを求める。
【００１５】
好ましくは、判定手段は、仮の輪郭データに対するマハラノビス距離と平均マハラノビス距離との差を演算し、その演算した差がしきい値以上であるとき仮の輪郭データを偽の輪郭データとして除去する処理を複数の仮の輪郭データの全てに対して実行し、真の輪郭データを求める。
【００１６】
好ましくは、輪郭データは、瞳孔の輪郭データである。
【００１７】
また、この発明によれば、視線検出装置は、輪郭検出手段と、演算手段と、判定手段と、視線検出手段とを備える。輪郭検出手段は、撮影器により撮影された瞳孔画像から複数の仮の瞳孔輪郭データを検出する。演算手段は、輪郭検出手段によって検出された複数の仮の瞳孔輪郭データを母集団としたときの複数の仮の瞳孔輪郭データと母集団の重心との複数の第１の距離のばらつきを検出し、その検出したばらつきの重心と複数の仮の瞳孔輪郭データとの複数の第２の距離と複数の第２の距離の平均とを演算する。判定手段は、演算手段によって演算された複数の第２の距離と複数の第２の距離の平均とを用いて第２の距離が複数の第２の距離の平均から相対的に離れている仮の瞳孔輪郭データを偽の瞳孔輪郭データとして複数の仮の瞳孔輪郭データから除去して真の瞳孔輪郭データを求める。視線検出手段は、真の瞳孔輪郭データを用いて操作者の視線方向を検出する。
【００１８】
さらに、この発明によれば、コンピュータに実行させるためのプログラムは、輪郭検出手段が、撮影器により撮影された画像から複数の仮の輪郭データを検出する第１のステップと、演算手段が、第１のステップにおいて検出された複数の仮の輪郭データを母集団としたときの複数の仮の輪郭データと母集団の重心との複数の第１の距離のばらつきを検出し、その検出したばらつきの重心と複数の仮の輪郭データとの複数の第２の距離と複数の第２の距離の平均とを演算する第２のステップと、判定手段が、演算された複数の第２の距離と複数の第２の距離の平均とを用いて第２の距離が複数の第２の距離の平均から相対的に離れている仮の輪郭データを偽の輪郭データとして複数の仮の輪郭データから除去して真の輪郭データを求める第３のステップとをコンピュータに実行させるためのプログラムである。
【００１９】
好ましくは、演算手段は、第２のステップにおいて、複数の第２の距離として複数のマハラノビス距離を演算し、複数の第２の距離の平均として平均マハラノビス距離を演算する。判定手段は、第３のステップにおいて、複数のマハラノビス距離および平均マハラノビス距離を用いてマハラノビス距離が平均マハラノビス距離から相対的に離れている仮の輪郭データを偽の輪郭データとして複数の仮の輪郭データから除去して真の輪郭データを求める。
【００２０】
好ましくは、判定手段は、第３のステップにおいて、仮の輪郭データに対するマハラノビス距離と平均マハラノビス距離との差を演算し、その演算した差がしきい値以上であるとき仮の輪郭データを偽の輪郭データとして除去する処理を複数の仮の輪郭データの全てに対して実行し、真の輪郭データを求める。
【００２１】
好ましくは、コンピュータに実行させるためのプログラムは、視線検出手段が、真の瞳孔輪郭データを用いて操作者の視線方向を検出する第４のステップをさらにコンピュータに実行させる。
【００２２】
さらに、この発明によれば、記録媒体は、請求項６から請求項１０のいずれか１項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００２３】
この発明においては、複数の仮の輪郭データからなる母集団の重心と複数の仮の輪郭データとの複数の第１の距離のばらつきを検出し、その検出したばらつきの重心と複数の仮の輪郭データとの複数の第２の距離およびその複数の第２の距離の平均を演算し、第２の距離が複数の第２の距離の平均から相対的に離れている仮の輪郭データを偽の輪郭データとして除去して真の輪郭データを求める。つまり、第２の距離と複数の第２の距離の平均との差が相対的に小さい仮の輪郭データを真の輪郭データとして求める。
【００２４】
したがって、この発明によれば、従来法のように推定計算を複数回行なう必要がなく、対象とする輪郭形状が限定されないので、輪郭形状に関係なく、正確な輪郭形状を少ない計算量で求めることができる。
【発明を実施するための最良の形態】
【００２５】
本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
【００２６】
図１は、この発明の実施の形態による輪郭検出装置の構成を示す概略ブロック図である。図１を参照して、この発明の実施の形態による輪郭検出装置１０は、撮像デバイス１と、輪郭検出手段２と、演算手段３と、判定手段４とを備える。
【００２７】
撮像デバイス１は、たとえば、カメラからなり、操作者の目を含む画像を撮影し、その撮影した画像を輪郭検出手段２へ出力する。
【００２８】
輪郭検出手段２は、撮像デバイス１から画像を受け、その受けた画像に基づいて、目の瞳孔の複数の輪郭データを後述する方法によって検出し、その検出した複数の輪郭データを複数の仮の瞳孔輪郭データとして演算手段３へ出力する。
【００２９】
演算手段３は、輪郭検出手段２から受けた複数の仮の瞳孔輪郭データに基づいて、後述する方法によって各仮の瞳孔輪郭データに対するマハラノビス距離を演算して複数の仮の瞳孔輪郭データに対する複数のマハラノビス距離を求め、その求めた複数のアマハラノビス距離の平均を演算して平均マハラノビス距離を求める。そして、演算手段３は、その求めた複数のマハラノビス距離および平均マハラノビス距離を判定手段４へ出力する。
【００３０】
判定手段４は、複数のマハラノビス距離および平均マハラノビス距離を演算手段３から受け、その受けた複数のマハラノビス距離および平均マハラノビス距離に基づいて、後述する方法によって、偽の瞳孔輪郭データを複数の仮の瞳孔輪郭データから除去して真の瞳孔輪郭データを求める。
【００３１】
図２は、図１に示す撮像デバイス１により撮影された瞳孔画像の簡略図である。瞳孔画像とは、図２に示すように瞳孔の全体とその周辺部位である虹彩が撮影された画像を意味する。瞳孔画像は、２５６階調の８ｂｉｔグレイスケール画像（０が黒色、２５５が白色に対応）である。
【００３２】
図２を参照して、瞳孔画像の横幅をＷ、縦幅をＨとし、瞳孔画像の左下を原点（０，０）とするｘｙ座標を定義する。この座標系において、座標（ｉ，ｊ）の画素値をＰ（ｉ，ｊ）とする。 
【００３３】
輪郭検出手段２は、図２に示す画像から、仮の瞳孔輪郭をエッジ検出手法（例として以下に説明する手法）を用いて求める。
【００３４】
図３は、仮の瞳孔輪郭を検出する方法を説明するための図である。また、図４は、偽の瞳孔輪郭を除去するフローチャートである。図３および図４を参照して、輪郭検出手段２は、仮の瞳孔中心を座標（Ｗ／２，Ｈ／２）に設定する。そして、輪郭検出手段２は、仮の瞳孔中心から、放射線状に延びた直線上に存在する各画素において、注目する画素とそれに隣接する画素との画素値の差を計算する。すなわち、輪郭検出手段２は、注目する座標を（ｉ，ｊ）とし、その隣接ピクセルを（ｉ'，ｊ'）とし、画素値の差をＤＰとすると、ＤＰ＝｜Ｐ（ｉ，ｊ）−Ｐ（ｉ'，ｊ'）｜を演算して画素値の差を計算する。 
【００３５】
そして、輪郭検出手段２は、画素値の差ＤＰがあるしきい値ＴＨ１以上である場合、すなわち、式（１）を満たすとき、注目している座標（ｉ，ｊ）をエッジ画素、すなわち、仮の瞳孔輪郭座標とする。図３では、一例として０度、４５度、９０度の各放射線方向におけるエッジ検出を示しており、図中の×印が検出した仮の瞳孔輪郭位置である。
【００３６】
【数１】
2009059165.tif 000003
【００３７】
このとき、輪郭検出手段２は、ある放射線上において、式（１）を満たす画素が存在した場合、その時点で同放射線上におけるエッジ検出を終了し、次の角度におけるエッジ検出を開始する。また、輪郭検出手段２は、式（１）を満たす画素が存在しなかった場合、その放射線上にはエッジ無しとし、次の角度におけるエッジ検出を開始する。このように、輪郭検出手段２は、エッジ方を用いて複数の仮の瞳孔輪郭データを検出する（ステップＳ１）。 
【００３８】
上記手法を用いて瞳孔輪郭を検出する場合、放射線方向の数は、瞳孔画像の画像サイズがＷ＝６０、Ｈ＝６０（単位：ピクセル）程度であった場合、０度の角度から始め、３６０度までの３２方向について考えれば良い。ただし、放射線角度方向の数は、３２方向以上あっても問題はなく、むしろより多くの放射線方向においてエッジ検出を実行するのが望ましいが、その数は瞳孔画像の画像サイズに依存する。 
【００３９】
以上の処理により得られた仮の瞳孔輪郭の座標をＣ（ｘｉ，ｙｉ）、ｉ＝１〜Ｎとする。ここでｘｉ，ｙｉは、それぞれｉ番目の仮の瞳孔輪郭データのｘ座標及びｙ座標であり、Ｎは、得られた座標の総数である。 
【００４０】
仮の瞳孔輪郭データから、ノイズ成分などの影響で検出されてしまう偽の瞳孔輪郭を除去するため、ステップＳ１の後、次に説明する偽の瞳孔輪郭除去が実行される。
【００４１】
演算手段３は、仮の瞳孔輪郭の全データを一つの母集団として定義し、これに対する各瞳孔輪郭データのマハラノビス距離ＭＤｉを計算し（ステップＳ２）、得られたＮ個のマハラノビス距離の平均値（＝平均マハラノビス距離ＭＤ＿ＡＶＥ）を計算する（ステップＳ３）。
【００４２】
ここで、マハラノビス距離とは、次の計算により求めることができる。まず、演算手段３は、瞳孔輪郭データの分散共分散行列ＣＯＶを式（２）により求める。
【００４３】
【数２】
2009059165.tif 000004
【００４４】
次に、演算手段３は、式（３）によりＣＯＶの逆行列ＣＯＶ'を求め、式（４）の行列演算により瞳孔輪郭Ｃ（ｘｉ，ｙｉ）のマハラノビス距離ＭＤｉと、平均マハラノビス距離ＭＤ＿ＡＶＥとを計算する。
【００４５】
【数３】
2009059165.tif 000005
【００４６】
【数４】
2009059165.tif 000006
【００４７】
その後、判定手段４は、ｉ＝１およびｊ＝１を設定し（ステップＳ３）、ｉ≦Ｎであるか否かを判定する（ステップＳ５）。
【００４８】
ステップＳ５において、ｉ≦Ｎであると判定されたとき、判定手段４は、マハラノビス距離ＭＤｉと平均マハラノビス距離ＭＤ＿ＡＶＥとの差ＤＭＤを演算し（ステップＳ６）、その演算した差ＤＭＤがしきい値ＴＨ２以上であるか否かを判定する（ステップＳ７）。
【００４９】
そして、ステップＳ７において、差ＤＭＤがしきい値ＴＨ２以上であると判定されたとき、判定手段４は、瞳孔輪郭座標Ｃ（ｘｉ，ｙｉ）を偽の瞳孔輪郭とみなして除去する（ステップＳ８）。その後、判定手段４は、ｉ＝ｉ＋１を設定する（ステップＳ９）。そして、一連の動作は、ステップＳ５へ戻る。
【００５０】
一方、ステップＳ７において、差ＤＭＤがしきい値ＴＨ２以上でないと判定されたとき、判定手段４は、瞳孔輪郭座標Ｃ（ｘｉ，ｙｉ）を真の瞳孔輪郭ＣＧ（ｘｊ，ｙｊ）＝Ｃ（ｘｉ，ｙｉ）と設定するとともに、ｉ＝ｉ＋１およびｊ＝ｊ＋１を設定する（ステップＳ１０）。その後、一連の動作は、ステップＳ５へ戻る。
【００５１】
そして、ステップＳ５において、ｉ≦Ｎではないと判定されるまで、上述したステップＳ５〜ステップＳ１０が繰り返し実行される。すなわち、全ての仮の瞳孔輪郭データに対して偽の瞳孔輪郭データか真の瞳孔輪郭データかが判定されるまで、ステップＳ５〜ステップＳ１０が繰り返し実行される。
【００５２】
そして、ステップＳ５において、ｉ≦Ｎではないと判定されると、一連の動作は終了する。
【００５３】
図４に示すフローチャートを実行することによって、残ったデータ集合ＣＧ（ｘｊ，ｙｊ）を真の瞳孔輪郭データ集合として得ることができる。
【００５４】
なお、図４に示すフローチャートは、仮の瞳孔輪郭データから偽の瞳孔輪郭データを排除することを目的としているため、上記に挙げたエッジ検出手法とは異なった手法を利用して仮の瞳孔輪郭データを求めた場合でも、瞳孔輪郭が座標データとして与えられるすべての場合に対して対応可能である。
【００５５】
以上の方法により、撮影された瞳孔画像の正確な瞳孔輪郭を計測することができる。
【００５６】
上述したように、この発明によれば、複数の仮の瞳孔輪郭データを母集団として複数の仮の瞳孔輪郭データに対する複数のマハラノビス距離と平均マハラノビス距離とを演算し、その演算した複数のマハラノビス距離および平均マハラノビス距離を用いて偽の瞳孔輪郭データを除去して真の瞳孔輪郭データを求めるので、計算量を少なくして真の瞳孔輪郭データを正確に求めることができる。
【００５７】
この発明においては、撮像デバイス１をコンピュータに直接繋ぐことで、コンピュータ上のソフトウエアにより図１に示す輪郭検出手段２、演算手段３および判定手段４の機能を実現することもできる。 
【００５８】
図５は、この発明の実施の形態による他の輪郭検出装置の構成を示す概略図である。この発明の実施の形態によるポインティングデバイスは、図５に示す輪郭検出装置１０Ａであってもよい。図５を参照して、輪郭検出装置１０Ａは、撮像デバイス１と、コンピュータ２０とを備える。
【００５９】
撮像デバイス１は、操作者の目を含む画像を撮影し、その撮影した画像をコンピュータ２０へ出力する。
【００６０】
コンピュータ２０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２３と、インターフェース２４と、バスＢＳとを含む。
【００６１】
ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３およびインターフェース２４は、バスＢＳを介して相互に接続される。
【００６２】
ＣＰＵ２１は、インターフェース２４およびバスＢＳを介して撮像デバイス１から画像を取得する。そして、ＣＰＵ２１は、バスＢＳを介してＲＯＭ２２からプログラムを読み出し、その読み出したプログラムを実行して、図４に示すフローチャートに従って真の瞳孔輪郭データを求める。
【００６３】
ＲＯＭ２２は、図４に示すフローチャートからなるプログラムを記憶する。ＲＡＭ２３は、ＣＰＵ２１のワークメモリとして機能する。
【００６４】
インターフェース２４は、撮像デバイス１に接続され、撮像デバイス１が撮影した画像を撮像デバイス１から受けるとともに、その受けた画像をバスＢＳを介してＣＰＵ２１へ出力する。
【００６５】
このように、輪郭検出装置１０Ａは、輪郭検出装置１０の輪郭検出手段２、演算手段３および判定手段４をソフトウエアによって実現したものである。
【００６６】
そして、輪郭検出装置１０Ａにおいては、図４に示すステップＳ１を実行するＣＰＵ２１は、「輪郭検出手段」を構成し、ステップＳ２，Ｓ３を実行するＣＰＵ２１は、「演算手段」を構成し、ステップＳ４〜ステップＳ１０を実行するＣＰＵ２１は、「判定手段」を構成する。
【００６７】
また、ＲＯＭ２２は、図４に示すフローチャートからなるプログラムを記憶するので、プログラムを記録したコンピュータ（ＣＰＵ２１）読み取り可能な記録媒体に相当する。なお、図４に示すフローチャートからなるプログラムは、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）およびＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等の各種の記録媒体に記録されて販売され、ＣＤ等の記録媒体がパーソナルコンピュータ等に装着されると、ＣＰＵ２１によって読み出されて実行されるので、図４に示すフローチャートからなるプログラムを記録したＣＤ等の記録媒体も、プログラムを記録したコンピュータ（ＣＰＵ２１）読み取り可能な記録媒体に相当する。
【００６８】
図６は、図１に示す輪郭検出装置１０を用いた視線検出装置の構成を示す概略ブロック図である。図６を参照して、視線検出装置１００は、図１に示す輪郭検出装置１０に視線検出手段５および光源６Ａ，６Ｂを追加したものであり、その他は、輪郭検出装置１０と同じである。
【００６９】
光源６Ａ，６Ｂは、操作者の顔に向けて照明光を照射する。なお、視線検出装置１００においては、光源６Ａ，６Ｂが照明光を照射したときの操作者の目を含む画像を撮影して輪郭検出手段２および視線検出手段５へ出力する。
【００７０】
視線検出手段５は、判定手段４によって判定された真の瞳孔輪郭データＣＧ（ｘｊ，ｙｊ）を判定手段４から受け、操作者の目を含む画像を撮像デバイス１から画像を受ける。そして、視線検出手段５は、その受けた真の瞳孔輪郭データＣＧ（ｘｊ，ｙｊ）および画像に基づいて、公知の方法により操作者の視線方向を計算する。
【００７１】
すなわち、視線検出手段５は、真の瞳孔輪郭データＣＧ（ｘｊ，ｙｊ）から操作者の瞳孔中心位置を求め、操作者の目の画像から角膜曲率中心を求め、その求めた瞳孔中心位置および角膜曲率中心の２点を通る直線ＳＬ１を視線方向として計算する。
【００７２】
この場合、視線検出手段５は、真の瞳孔輪郭データＣＧ（ｘｊ，ｙｊ）からなる円を描き、その描いた円が直径と交差する２点の座標値を求め、その求めた２つの座標値を平均して瞳孔中心位置を求める。
【００７３】
また、視線検出手段５は、２つの光源６Ａ，６Ｂの座標値と２つの光源６Ａ，６Ｂに対応して形成される２つのプルキニエ像Ｐ１，Ｐ２の座標値とを用いて、光源６Ａとプルキニエ像Ｐ１とを結ぶ直線ＳＬ２と、光源６Ｂとプルキニエ像Ｐ２とを結ぶ直線ＳＬ３とを求め、その求めた直線ＳＬ２，ＳＬ３が視線方向（＝直線ＳＬ１）と交差する点を角膜曲率中心として求める。
【００７４】
図７は、視線方向を求めるためのフローチャートである。図７を参照して、一連の動作が開始されると、視線検出装置１００の輪郭検出手段２、演算手段３および判定手段４は、撮像デバイス１が撮影した画像に基づいて、図４に示すフローチャートに従って真の瞳孔輪郭データを検出する（ステップＳ１１）。
【００７５】
そして、視線検出手段５は、真の瞳孔輪郭データと、撮像デバイス１が撮影した画像とに基づいて、上述した方法によって、操作者の視線方向を検出する（ステップＳ１２）。これによって、一連の動作は終了する。
【００７６】
上述したように、視線検出手段５は、正確に求められた真の瞳孔輪郭データを用いて瞳孔中心位置を求め、その求めた瞳孔中心位置を用いて視線方向を検出する。したがって、この発明によれば、視線方向を正確に検出できる。
【００７７】
なお、この発明においては、視線検出装置１００の輪郭検出手段２、演算手段３、判定手段４および視線検出手段５をソフトウエアによって実現してもよい。この場合、ＲＯＭ２２は、図４および図７に示すフローチャートからなるプログラムを記憶しており、ＣＰＵ２１は、図４および図７に示すフローチャートからなるプログラムをＲＯＭ２２から読み出し、その読み出したプログラムを実行して操作者の視線方向を検出する。
【００７８】
上記においては、輪郭検出装置１０，１０Ａは、マハラノビス距離および平均マハラノビス距離を用いて偽の瞳孔輪郭データを除去すると説明したが、この発明においては、輪郭検出装置１０，１０Ａは、一般的には、次の方法によって偽の瞳孔輪郭データを除去する。
【００７９】
図８は、偽の瞳孔輪郭データを除去する他の方法を説明するためのフローチャートである。一連の動作が開始されると、輪郭検出装置１０の輪郭検出手段２は、図４に示すステップＳ１と同じ方法によって複数の仮の瞳孔輪郭データを検出する（ステップＳ２１）。
【００８０】
そして、演算手段３は、複数の仮の瞳孔輪郭データを母集団としたときの複数の仮の瞳孔輪郭データと母集団の重心との複数の距離Ｌ１のばらつきを検出する（ステップＳ２２）。その後、演算手段３は、検出したばらつきの重心と複数の仮の輪郭データとの複数の距離Ｌ２を演算し（ステップＳ２３）、その複数の距離Ｌ２の平均を演算する（ステップＳ２４）。
【００８１】
そして、判定手段４は、演算された複数の距離Ｌ２と複数の距離Ｌ２の平均とを用いて、距離Ｌ２が複数の距離Ｌ２の平均から相対的に離れている仮の輪郭データを偽の輪郭データとして複数の仮の輪郭データから除去して真の輪郭データを求める（ステップＳ２５）。これによって、一連の動作は終了する。
【００８２】
なお、ステップＳ２５において、偽の輪郭瞳孔データを除去する具体的な方法は、次の方法からなる。判定手段４は、複数の距離Ｌ２の各距離Ｌ２と複数の距離Ｌ２の平均との差を求め、その求めた差がしきい値以上であるとき、その差を有する仮の瞳孔輪郭データを除去し、その求めた差がしきい値よりも小さいとき、その差を有する仮の瞳孔輪郭データを真の瞳孔輪郭データとする。
【００８３】
また、図８に示すフローチャートは、図４に示すフローチャートを一般化したものである。その理由は、次のとおりである。
【００８４】
演算手段３がステップＳ２２において複数の距離Ｌ１のばらつきを検出し、ステップＳ２３において複数の距離Ｌ２を演算することは、式（２）を用いて分散共分散行列ＣＯＶを演算し、式（３）および式（４）を用いてマハラノビス距離ＭＤｉを演算することに相当し、演算手段３がステップＳ２４において複数の距離Ｌ２の平均を演算することは、式（４）を用いて平均マハラノビス距離ＭＤ＿ＡＶＥを演算することに相当し、判定手段４がステップＳ２５において複数の距離Ｌ２と複数の距離Ｌ２の平均とを用いて距離Ｌ２が複数の距離Ｌ２の平均から相対的に離れている仮の瞳孔輪郭データを偽の瞳孔輪郭データとして除去し、真の瞳孔輪郭データを検出することは、マハラノビス距離と平均マハラノビス距離との差がしきい値ＴＨ２以上の仮の瞳孔輪郭データを除去し、マハラノビス距離と平均マハラノビス距離との差がしきい値ＴＨ２よりも小さい仮の瞳孔輪郭データを真の瞳孔輪郭データとすることに相当するからである。
【００８５】
そして、演算手段３がステップＳ２２において複数の距離Ｌ１のばらつきを検出し、ステップＳ２３において複数の距離Ｌ２を演算することが、式（２）を用いて分散共分散行列ＣＯＶを演算し、式（３）および式（４）を用いてマハラノビス距離ＭＤｉを演算することに相当するのは、式（２）において演算される分散共分散行列ＣＯＶは、複数の仮の瞳孔輪郭データを母集団としたときの複数の仮の瞳孔輪郭データと母集団の重心との複数の距離Ｌ１のばらつきを表し、式（３）および式（４）を用いて演算されるマハラノビス距離ＭＤｉは、複数の距離Ｌ１のばらつきの重心と複数の仮の瞳孔輪郭データとの複数の距離Ｌ２を表すからである。
【００８６】
したがって、図８に示すステップＳ２２，Ｓ２３は、図４に示すステップＳ２に相当し、図８に示すステップＳ２４は、図４に示すステップＳ３に相当し、図８に示すステップＳ２５は、図４に示すステップＳ４〜ステップＳ１０に相当する。
【００８７】
その結果、この発明においては、マハラノビス距離以外の指標を用いて偽の瞳孔輪郭データを除去して真の輪郭瞳孔データを求める輪郭検出装置が存在しても、その輪郭検出装置が図８に示すフローチャートに従って偽の瞳孔輪郭データを除去して真の輪郭瞳孔データを求めていれば、その輪郭検出装置は、この発明による輪郭検出装置に含まれる。
【００８８】
上述した図４および図８に示すフローチャートは、マハラノビス距離（＝上述したばらつきの重心と仮の瞳孔輪郭データとの距離）の差が小さい仮の瞳孔輪郭データが母集団に含まれる確率が高くなるという思想を基本とする。そして、この差が小さい仮の瞳孔輪郭データを母集団に含めることを実現するために、マハラノビス距離と平均マハラノビス距離との差がしきい値ＴＨ２以上であるか否かを判定するのである。
【００８９】
一方、従来、行なわれているマハラノビス距離を用いた判定は、複数の母集団が存在した場合に、マハラノビス距離を用いて判別対象のデータが複数の母集団のうちのどの母集団に含まれるかを判定するものである。具体的には、判別対象のデータと複数の母集団の重心との複数のマハラノビス距離を演算し、その演算した複数のマハラノビス距離のうち、最も小さいマハラノビス距離を有する母集団に判別対象のデータが含まれると判定する。
【００９０】
しかし、この発明においては、母集団は、１個しか存在せず、複数の仮の瞳孔輪郭データは、母集団の重心からある距離を保って存在しているので、マハラノビス距離が小さい仮の瞳孔輪郭データは、母集団から外れることになる。
【００９１】
そこで、上述したように、マハラノビス距離（＝上述したばらつきの重心と仮の瞳孔輪郭データとの距離）の差が小さい仮の瞳孔輪郭データが母集団に含まれる確率が高くなるという思想を採用することにしたものである。
【００９２】
輪郭検出装置１０Ａが図８に示すフローチャートに従って真の瞳孔輪郭データを求める場合、ＲＯＭ２２は、図８に示すフローチャートを記憶し、ＣＰＵ２１は、ＲＯＭ２２に格納されたプログラムを読み出して実行し、真の瞳孔輪郭データを求める。
【００９３】
なお、上記においては、操作者の目の瞳孔の輪郭を検出する輪郭検出装置１０，１０Ａについて説明したが、この発明においては、これに限らず、この発明による輪郭検出装置１０，１０Ａは、一般的に、撮像デバイス１が撮影した画像の任意の対象物の輪郭を図４または図８に示すフローチャートに従って検出する輪郭検出装置であればよい。この場合、図４および図８に示すフローチャートにおいて、瞳孔輪郭データは、輪郭データに読み替えられる。
【００９４】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【産業上の利用可能性】
【００９５】
この発明は、輪郭形状に関係なく、正確な輪郭形状を少ない計算量で求めることができる輪郭検出装置に適用される。また、この発明は、輪郭形状に関係なく、正確な輪郭形状を少ない計算量で求めることができる輪郭検出装置を用いた視線検出装置に適用される。さらに、この発明は、任意の輪郭形状に対して、正確な輪郭形状の演算を少ない計算量でコンピュータに実行させるためのプログラムに適用される。さらに、この発明は、正確な輪郭形状を用いた視線方向の演算を少ない計算量でコンピュータに実行させるためのプログラムに適用される。さらに、この発明は、任意の輪郭形状に対して、正確な輪郭形状の演算を少ない計算量でコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体に適用される。さらに、この発明は、正確な輪郭形状を用いた視線方向の演算を少ない計算量でコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体に適用される。
【図面の簡単な説明】
【００９６】
【図１】この発明の実施の形態による輪郭検出装置の構成を示す概略ブロック図である。
【図２】カメラにより撮影された瞳孔画像を簡略化した図である。
【図３】仮の瞳孔輪郭を検出する方法を説明する図である。
【図４】偽の瞳孔輪郭を除去するフローチャート図である。
【図５】この発明の実施の形態による他の輪郭検出装置の構成を示す概略図である。
【図６】図１に示す輪郭検出装置を用いた視線検出装置の構成を示す概略ブロック図である。
【図７】視線方向を求めるためのフローチャートである。
【図８】偽の瞳孔輪郭データを除去する他の方法を説明するためのフローチャートである。
【図９】楕円の幾何学的性質を説明する図である。
【符号の説明】
【００９７】
１  撮像デバイス、２  輪郭検出手段、３  演算手段、４  判定手段。
【図１】
2009059165.tif 000007
【図２】
2009059165.tif 000008
【図３】
2009059165.tif 000009
【図４】
2009059165.tif 000010
【図５】
2009059165.tif 000011
【図６】
2009059165.tif 000012
【図７】
2009059165.tif 000013
【図８】
2009059165.tif 000014
【図９】
2009059165.tif 000015