(57)【特許請求の範囲】
【請求項１】
画面上のユーザの注視点を計算するのに使用される、注視点を検出する装置であって、
前記ユーザの顔画像を取り込むカメラと、
眼球の鉛直回転角の列、眼球の水平回転角の列及びひとみの輪郭の列を含む眼球方向テーブルを含む基準テーブルを取得する基準テーブル取得ユニットと、
取り込んだ前記ユーザの顔画像に基づいてひとみの輪郭を検出し、前記眼球方向テーブルから最も適切な輪郭を見つけることによって前記検出されたひとみの輪郭の関数として眼球の回転角を計算し、前記眼球の回転角の関数として視線方向を判定し、前記視線方向に基づいて、前記ユーザの注視点を判定する計算ユニットと
を備える装置。
【請求項２】
前記基準テーブル取得ユニットが、
前記カメラで取り込まれた前記ユーザの少なくとも１つの基準顔画像に基づいて前記基準テーブルを構築する基準テーブル構築ユニットと、
既に構築された前記基準テーブルを格納する基準テーブル格納ユニット
のうちの少なくとも１つを備える請求項１に記載の注視点を検出する装置。
【請求項３】
前記計算ユニットが、
前記カメラの位置に基づいて、前記ユーザの顔画像中の前記ユーザの２つのひとみの中点と前記カメラとの間の距離を測定し、前記基準テーブルを探索することによって前記ユーザの前記視線方向を計算する視線方向計算ユニットと、
前記カメラの前記位置、前記ユーザの２つのひとみの前記中点と前記カメラとの間の前記距離、および前記ユーザの前記視線方向に基づいて前記画面上の前記ユーザの前記注視点を計算する注視点計算ユニットと
を備える請求項１に記載の注視点を検出する装置。
【請求項４】
前記注視点を計算した後、前記注視点が前記画面内に位置する場合、前記画面上の前記カーソルを前記注視点に移動させるカーソル移動ユニットをさらに備える請求項１に記載の注視点を検出する装置。
【請求項５】
前記注視点と現カーソルとの間の距離が事前定義された値未満である場合、前記カーソル移動ユニットが前記カーソルを移動させない請求項１に記載の注視点を検出する装置。
【請求項６】
前記カーソル位置で操作を実施する補助ユニットをさらに備える請求項４または５に記載の注視点を検出する装置。
【請求項７】
前記補助ユニットが、マウス、キーボード、タッチパッド、ハンドル、およびリモート・コントローラのうちの少なくとも１つを含む請求項６に記載の注視点を検出する装置。
【請求項８】
画面上のユーザの注視点を計算するために、注視点を検出する方法であって、
眼球の鉛直回転角の列、眼球の水平回転角の列及びひとみの輪郭の列を含む眼球方向テーブルを含む基準テーブルを取得する基準テーブル取得ステップと、
前記ユーザの顔画像を取り込み、取り込んだ前記ユーザの顔画像に基づいてひとみの輪郭を検出し、前記眼球方向テーブルから最も適切な輪郭を見つけることによって前記検出されたひとみの輪郭の関数として眼球の回転角を計算し、前記眼球の回転角の関数として視線方向を判定し、前記視線方向に基づいて、前記ユーザの注視点を判定するステップと
を含む方法。
【請求項９】
前記基準テーブル取得ステップが、
カメラを使用して、前記ユーザの少なくとも１つの基準顔画像を取り込み、前記基準顔画像と前記ユーザの前記視線方向との間の関係を含む前記基準テーブルを構築するステップ、または
既に構築されている前記基準テーブルを直接取得するステップ
を含む請求項８に記載の方法。
【請求項１０】
前記注視点判定ステップが、
前記カメラの位置に基づいて、前記ユーザの前記顔画像中の前記ユーザの２つのひとみの中点と前記カメラとの間の距離を測定し、前記基準テーブルを探索することによって前記ユーザの視線方向を計算するステップと、
前記カメラの前記位置、前記ユーザの２つのひとみの前記中点と前記カメラとの間の前記距離、および前記ユーザの前記視線方向に基づいて前記画面上の前記ユーザの前記注視点を計算するステップと
を含む請求項８に記載の方法。
【請求項１１】
前記注視点を判定した後、前記注視点が前記画面内にある場合、前記画面上の前記カーソルが前記注視点に移動することをさらに含む請求項８に記載の方法。
【請求項１２】
前記注視点と現カーソルとの間の距離が事前定義された値未満である場合、前記カーソルは移動しない、請求項１１に記載の方法。
【請求項１３】
前記事前定義された値が必要に応じて設定される、請求項１２に記載の方法。
【請求項１４】
ユーザの周りに複数の画面を有するマルチスクリーン・コンピュータであって、請求項１乃至７のいずれか１項に記載の注視点を検出する装置を備えるマルチスクリーン・コンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、画像処理の分野に関し、詳細には、顔検出および画像測定に基づいて注視点を検出する方法および装置に関する。
【背景技術】
【０００２】
画像処理技術の進化と共に、ユーザが現在のビデオ・ディスプレイの画面（例えば、デスクトップまたはラップトップの画面、ＴＶの画面など）上のエリアから別のエリアにカーソルを移動したいとき、ユーザは通常、補助デバイス（例えば、マウス、またはタッチパッド、またはリモート・コントローラ）を活用して操作を実施する必要がある。しかし、あるユーザにとっては、何らかの理由、例えば生理的障害または負傷のために、手の移動が制限される。したがって、カーソルを移動することが難しくなり、さらには不可能となる。さらに、手が正常に動く場合であっても、ある特別なシナリオでは、手を用いずにカーソル移動を実施すること、または少なくとも手の移動距離を短縮することが望ましい。
【０００３】
さらに、カーソルを移動しない場合であっても、あるアプリケーションは、後続の処理および操作を実施するように、画面上のユーザの注視点を検出する必要があることがある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
今日では、カメラの普及の増大および成熟した顔検出アルゴリズムの出現の増加に伴って、カメラに基づいてビデオ画像を検出することが実現可能となっている。したがって、画面上のユーザの注視点を検出するように、カメラを利用して注視点を検出する技法が望ましい。
【課題を解決するための手段】
【０００５】
本発明の一態様によれば、画面上のユーザの注視点を計算するのに使用される、注視点を検出する装置であって、ユーザの顔画像を取り込むカメラと、基準顔画像とユーザの視線方向との間の関係を含む基準テーブルを取得する基準テーブル取得ユニットと、カメラで取り込まれたユーザの顔画像に基づいて画像測定を実施し、基準テーブル取得ユニット内の基準テーブルを探索し、画面上のユーザの注視点を計算する計算ユニットとを備える装置が提供される。
【０００６】
好ましくは、基準テーブル取得ユニットは以下のうちの少なくとも１つを含む。カメラで取り込まれたユーザの少なくとも１つの基準顔画像に基づいて基準テーブルを構築する基準テーブル構築ユニットと、既に構築された基準テーブルを格納する基準テーブル格納ユニット。
【０００７】
好ましくは、計算ユニットは、カメラの位置に基づいて、ユーザの顔画像中のユーザの２つのひとみの中点とカメラとの間の距離を測定し、基準テーブルを探索することによってユーザの視線方向を計算する視線方向計算ユニットと、カメラの位置、ユーザの２つのひとみの中点とカメラとの間の距離、およびユーザの視線方向に基づいて画面上のユーザの注視点を計算する注視点計算ユニットとを備える。
【０００８】
好ましくは、注視点を検出する装置は、注視点を計算した後、注視点が画面内に位置する場合、画面上のカーソルを注視点に移動するカーソル移動ユニットをさらに備える。
【０００９】
好ましくは、注視点と現カーソルとの間の距離が事前定義された値未満である場合、カーソル移動ユニットはカーソルを移動しない。
【００１０】
好ましくは、注視点を検出する装置は、カーソル位置で操作を実施する補助ユニットをさらに備える。好ましくは、補助ユニットは、マウス、キーボード、タッチパッド、ハンドル、およびリモート・コントローラのうちの少なくとも１つを含む。
【００１１】
本発明の別の態様によれば、画面上のユーザの注視点を計算するために、注視点を検出する方法であって、以下のステップを含む方法が提供される。基準顔画像とユーザの視線方向との間の関係を含む基準テーブルを取得する基準テーブル取得ステップと、カメラを使用してユーザの顔画像を取り込み、画像測定を実施し、基準テーブルを探索し、画面上のユーザの注視点を計算する注視点計算ステップ。
【００１２】
好ましくは、基準テーブル取得ステップは、カメラを使用して、ユーザの少なくとも１つの基準顔画像を取り込み、基準顔画像とユーザの視線方向との間の関係を含む基準テーブルを構築すること、または既に構築されている基準テーブルを直接取得することを含む。
【００１３】
好ましくは、注視点計算ステップは、カメラの位置に基づいて、ユーザの顔画像中のユーザの２つのひとみの中点とカメラとの間の距離を測定し、基準テーブルを探索することによってユーザの視線方向を計算すること、ならびにカメラの位置、ユーザの２つのひとみの中点とカメラとの間の距離、およびユーザの視線方向に基づいて画面上のユーザの注視点を計算することを含む。
【００１４】
好ましくは、注視点を検出する方法は、注視点を計算した後、注視点が画面内に位置する場合、画面上のカーソルを注視点に移動することをさらに含む。
【００１５】
好ましくは、注視点と現カーソルとの間の距離が事前定義された値未満である場合、カーソルを移動しない。好ましくは、事前定義された値を必要に応じて設定することができる。
【００１６】
本発明の別の態様によれば、ユーザの周りに複数の画面を有するマルチスクリーン・コンピュータであって、本発明による注視点を検出する装置を備えるマルチスクリーン・コンピュータが提供される。
【００１７】
添付の図面を参照しながら以下の説明によって本発明の上記および他の特徴がより明らかとなるであろう。
【図面の簡単な説明】
【００１８】
【図１】本発明による注視点を検出する装置の一実施形態のブロック図である。
【図２ａ】本発明による注視点を検出する方法の一実施形態の流れ図である。
【図２ｂ】図２ａの注視点を検出する方法のサブステップの流れ図である。
【図３】例示的な座標系での基準顔画像の図である。
【図４】例示的な顔画像の図である。
【図５ａ】様々な顔方向の図である。
【図５ｂ】様々な顔方向の符号化マップである。
【図６ａ】様々な方向の眼球モデルの図である。
【図６ｂ】例示的座標系での眼球モデルの鉛直角と水平角の間の関係の図である。
【図７】射影円半径と円錐頂角との間の関係の図である。
【図８】カメラとユーザとの間の接続線の射影（Ａｎ’  Ｂ’）とＸ軸（Ａ０’  Ｃ’）との間の角度の図である。
【図９】本発明による注視点を検出する原理図である。
【図１０】眼球方向テーブルの一例のブロック図である。
【図１１】射影円半径−円錐頂角テーブルの一例のブロック図である。
【発明を実施するための形態】
【００１９】
以下で、添付の図面を参照しながら本発明の実施形態に関する説明によって本発明の原理および実装がより明らかとなるであろう。本発明が以下に記載の特定の実施形態に限定されないものとすることに留意されたい。
【００２０】
図１は、本発明による注視点を検出する装置１００の一実施形態のブロック図である。
【００２１】
図１に示すように、注視点を検出する装置１００は、カメラ１０２、基準テーブル取得ユニット１０４、および計算ユニット１０６を備える。カメラ１０２は、ユーザの顔画像を取り込む、当技術分野で一般的なカメラでよい。基準テーブル取得ユニット１０４は、基準顔画像とユーザの視線方向との間の関係を含む基準テーブルを取得するためのものである。計算ユニット１０６は、基準テーブルを通じてユーザの視線方向を計算し、画面１０８上のユーザの注視点を計算する。
【００２２】
以下で、一例として、図３〜９を参照しながら、基準顔画像および基準テーブルの特定の実装、ならびに注視点を検出する装置１００内の各構成要素の動作を示す。
【００２３】
位置特定および計算を実施するために、図３に示す、座標系の原点が画面の左上隅に位置する３軸座標系を確立することができる。コンピュータ・ユーザの観点から、画面の上縁部に沿って左から右に延びる軸がＸ軸であり、画面の左縁部に沿って上から下に延びる軸がＹ軸であり、一方、画面に対して垂直な、遠方（画面端）から近く（ユーザ端）まで延びる軸がＺ軸である。カメラ１０２が、座標（ｘ１，ｙ１，０）の点Ａに設置される。図４に示すように、点Ｂは、ユーザの２つのひとみの中点である。ＡＢ距離は、点Ａ（カメラの位置）と点Ｂとの間の距離である。ひとみ距離は、画像内のユーザの２つのひとみの中心間の距離である。
【００２４】
例えば、画面が平面１（Ｐ１）内にあり、カメラ１０２の前面が平面１に平行であると仮定する。また、点Ｂが平面１に平行な平面２（Ｐ２）または平面３（Ｐ３）内に位置すると仮定する。図９に示すように、平面Ｐｂは、点Ｂが位置し、直線ＡＢに対して垂直な平面を指す。平面Ｐｂ内で、Ｙｂ軸は、直線ＡＢが位置する鉛直面と平面Ｐｂとの間の交線であり、Ｘｂ軸は、平面Ｐｂ内にある直線であり、Ｙｂ軸に対して垂直である。
【００２５】
「遠いほど小さく、近いほど大きい（ｔｈｅ  ｆａｒｔｈｅｒ，  ｔｈｅ  ｓｍａｌｌｅｒ；  ｔｈｅ  ｎｅａｒｅｒ，  ｔｈｅ  ｇｒｅａｔｅｒ）」という原理に従って、顔画像のサイズまたは関連構成要素距離に基づいて、点Ａと点Ｂとの間の距離を検出することができる。測定を実施するために、基準顔画像を導入する。図３に示すように、基準顔画像とは、ユーザの顔がカメラの正面にあり、ＡとＢとの距離（カメラと２つのひとみの中点との間の距離）がＤ０であるときに、カメラで取り込まれた画像を指す。相対的誤差の存在の可能性のために、より多数の基準画像によって相対的誤差を低減することができ、その結果、より正確な検出結果が得られる。例えば、一方がＡＢ距離Ｄ０を有し、他方がより短いＡＢ距離Ｄ１を有する２つの基準顔画像を導入する。基準顔画像を得るために、座標系内の座標（ｘ１，ｙ１，０）を有する点Ａにカメラ１０２を設定すべきであり、点Ｂ（図４に示すように、２つの目の間の中点）が座標系内の（ｘ１，ｙ１，ｚ０）または（ｘ１，ｙ１，ｚ１）に位置することを保証するようにユーザを適切な位置に配置すべきであり、（ｘ１，ｙ１，ｚ０）または（ｘ１，ｙ１，ｚ１）は以下の式を満たすべきである。
ｚ０−０＝Ｄ０  （１）
ｚ１−０＝Ｄ１  （２）
【００２６】
顔検出／識別アルゴリズムを使用してユーザの顔を検出するとき、各ひとみの中心の位置を特定することができ、したがって、図４に示すように、点Ｂ、および２つのひとみの中心間の距離を得ることができる。ユーザの顔画像が距離Ｄ０を有する基準顔画像である場合、２つのひとみの中心間の距離は基準ひとみ距離Ｐ０である。ユーザの顔画像が距離Ｄ１を有する基準顔画像である場合、２つのひとみの中心間の距離は基準ひとみ距離Ｐ１である。
【００２７】
この実施形態では、基準テーブルは、図１０および１１を参照しながら以下で詳細に説明する眼球方向テーブルおよび射影円半径−円錐頂角テーブルを含む。
【００２８】
ユーザが画面内の様々なエリアに目を向けるとき、ユーザは、顔がそのエリアにまっすぐに（またはほぼまっすぐに）向くように頭を動かすことがある。図５ａに可能な顔方向を示す。顔の様々な向きに基づいて、本明細書では顔の向きを実質的に９つの方向に分割することができ、様々な顔方向が、図５ｂに示す特定のコードで符号化される。
【００２９】
ユーザの顔を取り込むとき、ユーザの目のひとみの輪郭を同時に求めることができる。この実施形態では、ユーザの目を球体とみなすことができ、ひとみを眼球の表面上の円とみなすことができる。さらに、ひとみは、画面上の注視点にまっすぐに向くことができる。図６ａに、２つの異なる眼球方向を有する眼球モデルを示す。図６ａに示すように、ユーザが異なる方向に目を向けるとき、ひとみは目と共に方向を変化させる。カメラで取り込まれる画像では、ひとみの輪郭が、ある種類の楕円形状から別の種類の楕円形状に変化する。ひとみの輪郭および顔方向に基づいて、以下を含む各眼球の回転角を得ることができる。
左眼球の鉛直回転角：θＶｅｒ−Ｌ
左眼球の水平回転角：θＨｏｒ−Ｌ
右眼球の鉛直回転角：θＶｅｒ−Ｒ
右眼球の水平回転角：θＨｏｒ−Ｒ
【００３０】
本明細書のθＶｅｒは、ひとみ方向とＹｂ軸との間の角度を指し、θＨｏｒは、ひとみ方向とＸｂ軸との間の角度を指す。上記の４つの角度、すなわちθＶｅｒ−Ｌ、θＨｏｒ−Ｌ、θＶｅｒ−Ｒ、θＨｏｒ−Ｒを得るように、眼球方向の計算の性能を高めるために、眼球方向テーブルを導入し、すべての可能な眼球方向およびその回転角を列挙する。図１０を参照すると、テーブルは少なくとも以下の５つの列の情報を含む。第１の列は索引を表し、第２の列は鉛直回転角θＶｅｒを表し、第３の列は水平回転角θＨｏｒを表し、第４の列は対応する実質的な顔方向を表し、第５の列は、目（ひとみ）が鉛直方向または水平方向に回転した後の、ひとみの輪郭に関する画像を含む。第２の列中の値（θＶｅｒ）および第３の列中の値（θＨｏｒ）は、０．０°〜１８０．０°の間で変化する。図６ｂに示すように、θＶｅｒおよびθＨｏｒの値は、点０が球面上に位置することを満たさなければならない。眼球方向テーブルの値範囲は、球面のカメラに向く側（すなわち、Ｚ軸の負の軸方向）のサンプリング点に対応するθＶｅｒおよびθＨｏｒと、カメラが見るサンプリング点でのひとみの輪郭形状である。サンプリング点がより集中すると、θＶｅｒおよびθＨｏｒの増分がより少なくなり、結果がより正確になるが、実施すべき負荷が大きくなる。デフォルト角度増分は０．１°である。一例として、図１０は単に、ひとみが点Ｍ、点Ｎ、点Ｑ、および点Ｑ’にあるときのテーブル内容を示す（実際の実装では、索引列は、１、２、３など、整数値だけ徐々に増分すべきであり、ここでは、説明の都合上、ＩＭ、ＩＮ、ＩＱなどと書く）。
【００３１】
このテーブルの使用プロセスは以下で指定される。目の画像を得た後、左目（または右目）の輪郭を抽出し、テーブル内の最も適した輪郭を見つけ、それによって以下の角度を得る：θＶｅｒ−Ｌ、θＨｏｒ−Ｌ（またはθＶｅｒ−Ｒ、θＨｏｒ−Ｒ）。テーブルから、図６の球の中心点の周りに対称的な点、例えば点ＱおよびＱ’が、カメラが見るひとみ輪郭と同一であることがわかり、これは顔方向による判断を必要とする。実際の動作プロセスでは、カメラ１０２に対するユーザの位置関係および画面のサイズに基づいて、ユーザの可能な角度θＶｅｒ、θＨｏｒの範囲の補間を高密度化することができ、このことは、結果の精度を改善する助けとなる。
【００３２】
カメラ１０２について、円錐側面上のすべての点が、カメラで取り込まれる画像内の円上に射影される。したがって、図７に示すように、カメラで取り込まれる画像内の円の半径を得ると、円錐の頂角を求めることができる。円錐の頂角をより良く記述するために、図１１に、円錐のすべての可能な頂角と、あるカメラに関する射影円の半径との間の関係を示す。テーブル内の距離単位はピクセルであり、ピクセルは他の単位に変換することができる。射影円の半径値の範囲は０〜ＲＭＡＸである。ＲＭＡＸは、画像中心から画像の隅までの最も遠い距離である。異なるカメラは異なる解像度、焦点距離、および広角を有するので、テーブル内の内容は様々なカメラに基づいて設定することができる。提案される射影円半径の増分の細分性（粒度）は５ピクセルである。細分性が小さいほど結果が正確となるが、実行中に必要な計算および比較の時間が長くなる。一例として、図１１に示す射影円半径−円錐頂角テーブルは１０ピクセルの単位を採用し、カメラのＲＭＡＸが２００ピクセルであり、カメラの最大視野角が４０°（左と右それぞれについて２０°）である。
【００３３】
実際の実装プロセスでは、ユーザが常に位置する位置に対応する角度（すなわち、円錐の頂角）の補間が、カメラ１０２に対するユーザの位置関係に基づいて高密度化され、このことは、結果の精度を改善する助けになる。
【００３４】
この実施形態では、基準テーブル取得ユニット１０４は、カメラ１０２で取り込まれた距離Ｄ０およびＤ１を有する基準顔画像を使用して、前述の眼球方向テーブルおよび射影円半径−円錐頂角テーブルを構築する基準テーブル構築ユニット１０４２を備える。加えて、基準テーブル取得ユニット１０４は基準テーブル格納ユニット１０４４をさらに備える。基準テーブルが構築され、基準テーブル格納ユニット１０４４に格納された場合、基準テーブル取得ユニット１０４は、基準テーブル格納ユニット１０４４から基準テーブルを直接読み取ることができる。さらに、基準テーブル構築ユニット１０４２によって構築された基準テーブルを基準テーブル格納ユニット１０４４に格納することができる。
【００３５】
計算ユニット１０６は、視線方向計算ユニット１０６２および注視点計算ユニット１０６４を備えることができる。本明細書では、視線方向計算ユニット１０６２は、カメラの位置に基づいて、ユーザの顔画像内のユーザの２つのひとみの中点からカメラまでの距離を測定し、基準テーブルを探索することによってユーザの視線方向を計算する。具体的には、視線方向計算ユニット１０６２は、成熟した顔検出／識別アルゴリズム、例えばＯｐｅｎＣＶを採用し、ユーザの顔の実質的な方向、ユーザの目およびひとみの輪郭、ならびにひとみ距離Ｐを検出する。ひとみ距離Ｐ、基準ひとみ距離Ｐ０およびＰ１を使用して、ＡＢ距離Ｌを計算する。距離および画像サイズは以下の関係を有する。
距離×画像サイズ≒一定  （３）
【００３６】
したがって、ＡＢ距離Ｌおよびひとみ距離Ｐは以下の式を満たす。
Ｌ×Ｐ≒Ｄ０×Ｐ０  （４）
Ｌ×Ｐ≒Ｄ１×Ｐ１  （５）
【００３７】
結果の精度を改善するために、式（４）および（５）を組み合わせ、以下を得る。
Ｌ＝（Ｐ０×Ｄ０／Ｐ＋Ｐ１×Ｄ１／Ｐ）／２  （６）
【００３８】
視線方向計算ユニット１０６２はさらに、角度αおよびβを計算する。具体的には、αは、平面２内の中心線Ａ０ＢとＸ軸との間の角度を指し、Ａ０は平面Ｐ２上の点Ａの鉛直射影点であり、点Ｂは２つのひとみの間の中点である（図９に示す）。平面２は平面１に平行であるので、角度αは、カメラで取り込まれる画像内の射影角α’と同一である。
α＝α’  （７）
【００３９】
図８に、点Ａ０’、Ｂ’、および画像内の角度α’を示し、これらは以下を満たす。
Ａ０’Ｂ’×ｓｉｎ（α’）＝Ｂ’Ｃ’  （８）
【００４０】
Ａ０’Ｂ’およびＢ’Ｃ’は、画像内のこれらの点の間の長さを示す。したがって、角度α’の値は、
α’＝ａｒｃｓｉｎ（Ｂ’Ｃ’／Ａ０’Ｂ’）  （９）
【００４１】
カメラで取り込まれる画像内のＡ０’Ｂ’の長さを得た後、視線方向計算ユニット１０６２は、射影円半径−円錐頂角テーブルを探索し、射影円半径値が長さＡ０’Ｂ’に合致する最も適した行を見つける。このようにして、同一の行内の円錐頂角がβである。次いで、視線方向計算ユニット１０６２は点Ｂの座標を計算する。以前に得た結果を利用することにより、点Ｂが点Ａ０の左下に位置するとき（図９に示すように、正面から画像角度を見て。以下同じ）、以下の式に従って点Ｂの座標（ｘ３，ｙ３，ｚ３）を計算することができる：
ｘ３＝ｘ１＋Ｌ×ｓｉｎ（β）×ｃｏｓ（α）  （１０）
ｙ３＝ｙ１＋Ｌ×ｓｉｎ（β）×ｓｉｎ（α）  （１１）
ｚ３＝ｚ２＝Ｌ×ｃｏｓ（β）  （１２）
【００４２】
点Ｂが点Ａ０の右側に位置するとき（右上、右下を含む）、式（１０）の加算のための符号が、減算のための符号に変化し、点Ｂが点Ａ０の上に位置するとき（左上、右上を含む）、式（１１）の加算のための符号が、減算のための符号に変化する。
【００４３】
次に、視線方向計算ユニット１０６２が眼球の回転角を計算する。具体的には、カメラで取り込まれた画像に基づいて、左目のひとみの輪郭を検出し、前述の眼球方向テーブルから最も適切な輪郭を見つけ、さらに、顔方向と組み合わせ、それによってＹｂ軸に対する眼球の鉛直回転角θＶｅｒ−Ｌと、Ｘｂ軸に対する水平回転角θＨｏｒ−Ｌとを得る。同じステップに従って、右目のθＶｅｒ−ＲおよびθＨｏｒ−Ｒも得ることができる。
【００４４】
次いで、視線方向計算ユニット１０６２がユーザの視線方向を計算する：
θＶｅｒ＝（θＶｅｒ−Ｌ＋θＶｅｒ−Ｒ）／２  （１３）
θＨｏｒ＝（θＨｏｒ−Ｌ＋θＨｏｒ−Ｒ）／２  （１４）
【００４５】
上記の視線方向は、平面Ｐｂ内のＸｂ軸およびＹｂ軸に対するものであり、Ｘ軸およびＹ軸に対する角度にさらに変換すべきである。したがって、図９に示すように、視線方向計算ユニット１０６２は、平面Ｐｂの水平軸Ｘｂと平面Ｐ１の水平軸Ｘとの間の角度δＨｏｒと、Ｙｂ軸と平面Ｐ１の垂直軸Ｙとの間の角度δＶｅｒとを計算し、それらは以下を満たす。
ｔａｎ（δＨｏｒ）＝［Ｌ×ｓｉｎ（β）×ｃｏｓ（α）］／［Ｌ×ｃｏｓ（β）］  （１５）
ｔａｎ（δＶｅｒ）＝［Ｌ×ｓｉｎ（β）×ｓｉｎ（α）］／［Ｌ×ｃｏｓ（β）］  （１６）
【００４６】
それによって、δＨｏｒおよびδＶｅｒを得ることができる。
δＨｏｒ＝ａｒｃｔａｎ｛Ｌ×ｓｉｎ（β）×ｃｏｓ（α）／［Ｌ×ｃｏｓ（β）］｝  （１７）
δＶｅｒ＝ａｒｃｔａｎ｛Ｌ×ｓｉｎ（β）×ｓｉｎ（α）／［Ｌ×ｃｏｓ（β）］｝  （１８）
【００４７】
前に得られたθＶｅｒおよびθＨｏｒと組み合わせて、視線方向計算ユニット１０６２は、最終的なθＶｅｒ−ＦｉｎａｌおよびθＨｏｒ−Ｆｉｎａｌを得ることができる。
θＶｅｒ−Ｆｉｎａｌ＝θＶｅｒ＋δＶｅｒ  （１９）
θＨｏｒ−Ｆｉｎａｌ＝θＨｏｒ＋δＨｏｒ  （２０）
【００４８】
その後で、注視点計算ユニット１０６４は、カメラの位置、ユーザの２つのひとみの間の中点からカメラまでの距離、およびユーザの視線方向に基づいて、画面１０８上のユーザの注視点を計算する。具体的には、注視点計算ユニット１０６４は、視線方向計算ユニット１０６２で計算されたθＶｅｒ−ＦｉｎａｌおよびθＨｏｒ−Ｆｉｎａｌに基づく以下の式に従って、画面１０８上の注視点Ｄの座標（ｘ４，ｙ４，０）を計算する：
Ｌ０＝Ｌ×ｃｏｓ（β）  （２１）
ｘ４＝Ｌ０／ｔａｎ（θＶｅｒ−Ｆｉｎａｌ）＋ｘ３  （２２）
ｙ４＝Ｌ０／ｔａｎ（θＶｅｒ−Ｆｉｎａｌ）×ｃｏｓ（θＨｏｒ−Ｆｉｎａｌ）＋ｙ３  （２３）
【００４９】
あるいは、注視点を検出する装置１００は、カーソル移動ユニット１１２をさらに備えることができる。カーソル移動ユニット１１２は、カーソルを移動する必要があるかどうかを判定する。必要である場合、カーソルを注視点に移動する。そうでない場合、カーソルを移動しない。好ましくは、計算精度および他の要素に影響を受けて、実際の注視点と計算した注視点Ｄとの間に一定の偏差が存在することがある。この偏差を許容するために、注視エリアの概念を導入する。このエリアは、点Ｄ（計算した注視点）を中心とし、事前定義された長さＧを半径とする画面上の円形エリアを指す。したがって、新しい注視点Ｄが得られたとき、注視点が画面の標示可能範囲を超えて位置する場合、カーソルを移動しない。加えて、現カーソルと点Ｄとの間の距離が事前定義された値Ｇ未満である限り、カーソルを移動しない。そうでない場合、カーソルを注視点Ｄに移動する。
【００５０】
あるいは、注視点を検出する装置１００は、補助ユニット１１０をさらに備えることができる。ユーザは、補助ユニット、例えばマウス、キーボード、タッチパッド、ハンドル、およびリモート・コントローラのうちの１つまたは複数を通じて、カーソル位置で操作を実施することができる。例えば、ユーザは、マウスを使用してシングルクリックまたはダブルクリック操作を実施することができ、あるいはハンドルまたはリモート・コントローラを使用して様々な種類のキー操作を実施することができる。
【００５１】
以下では、図２ａおよび２ｂを参照しながら、本発明の実施形態による注視点を検出する方法の様々なステップを説明する。
【００５２】
図２ａに示すように、方法はステップＳ２０から開始する。
【００５３】
ステップＳ２２で、準備作業を実施する。準備作業は、基準顔画像をカメラで収集することを含み、この実施形態では、基準顔画像を距離Ｄ０およびＤ１で得る。基準顔画像は、ユーザの顔検出／識別に不可欠である。基準顔画像を求めた後、２つのひとみの２つの中心点間の距離を、基準ひとみ距離Ｐ０およびＰ１として得る。次に、前述の眼球方向テーブルおよび射影円半径−円錐頂角テーブルを構築する。または、２つのテーブルが構築され、基準テーブル格納ユニットに格納されている場合、単にそれを直接読み取る。最後に、カメラの位置、すなわち点Ａの座標（ｘ１，ｙ１，０）を特定する。
【００５４】
ステップＳ２４で、注視点検出を実施する。図２ｂに、注視点を検出する特定のステップを示す。具体的には、ステップＳ２４１で、ユーザの顔、ひとみの輪郭、ひとみ距離Ｐを検出する。ステップＳ２４３で、ひとみ距離Ｐ、基準ひとみ距離Ｐ０およびＰ１に基づいてＡＢ距離Ｌを計算する。ステップＳ２４５で、角度αおよびβを得る。ステップＳ２４７で、点Ｂの座標を計算する。その後で、ステップＳ２４９で、眼球の回転角を計算する。前述のように、カメラで取り込まれた画像に基づいて左目のひとみの輪郭を検出し、前述のように、眼球方向テーブルで最も適した輪郭を探索する。顔方向と組み合わせて、Ｙｂ軸に対する眼球の鉛直回転角θＶｅｒ−Ｌと、Ｘｂ軸に対する水平回転角θＨｏｒ−Ｌとを得る。同じステップに従って、右目のθＶｅｒ−ＲおよびθＨｏｒ−Ｒも得ることができる。次いで、ユーザの視線方向を計算する。最後に、ステップＳ２５１で、計算したユーザの視線方向に基づいて、画面１０８上の注視点Ｄの座標（ｘ４，ｙ４，０）を計算する。
【００５５】
注視点を検出するステップＳ２４を実施した後、図２ａを参照すると、ステップＳ２６で、二者択一的に、カーソルを移動する必要があるかどうかを判定する。必要である場合、ステップＳ２８で、カーソルを注視点に移動する。そうでない場合、カーソルを移動しない。その後で、方法のフローはステップＳ２４に戻り、注視点の検出を循環式に実施することができる。方法を終了させる場合、方法はステップＳ３０で終了する。
【００５６】
要約すると、本発明は、顔検出および画像測定に基づいて注視点を検出する方法および装置を提供する。ユーザの顔方向および眼球方向を検出し、画面上のユーザの注視点を計算することにより、カーソルをエリアに移動することができる。計算精度の必要に応じて、カーソルをその中に移動する、可能な注視エリアを計算することができ、次いで、ユーザは、期待される正確な位置にカーソルを手動で移動し、したがってユーザの実際の移動距離が劇的に短縮され、その一方で、注視点を検出するための装置の計算負荷が軽減される。実際の装置精度に基づいて、より大きい事前定義された半径Ｇを設定することにより、上記の解決策を意図的に実装することができる。
【００５７】
加えて、本発明による検出方法および装置は、ユーザの周りに複数の画面を有するマルチスクリーン・コンピュータに適用することができる。特定の実装は、複数の画面があるとき、それぞれの画面の向きと、カメラが位置する平面との間の画面の角度関係である。本発明の上記の原理を利用し、視線延長線と関連する平面との交点を計算することによってユーザの視線を検出するとき、注視点が最終的に得られる。
【００５８】
本明細書の好ましい実施形態を参照しながら本発明を示したが、本発明の趣旨および範囲から逸脱することなく、本発明に対して様々な補正、置換、および改変を実施できることを当業者なら理解されよう。したがって、本発明は、上述の実施形態で定義されるのではなく、添付の特許請求の範囲およびその均等物で定義されるものとする。
【図１】
0005474202.tif 000002
【図２ａ】
0005474202.tif 000003
【図２ｂ】
0005474202.tif 000004
【図３】
0005474202.tif 000005
【図４】
0005474202.tif 000006
【図５ａ】
0005474202.tif 000007
【図５ｂ】
0005474202.tif 000008
【図６ａ】
0005474202.tif 000009
【図６ｂ】
0005474202.tif 000010
【図７】
0005474202.tif 000011
【図８】
0005474202.tif 000012
【図９】
0005474202.tif 000013
【図１０】
0005474202.tif 000014
【図１１】
0005474202.tif 000015