視線計測装置、方法及びプログラム
【課題】ユーザの視線を精度よく計測できる視線計測装置、方法及びプログラムを提供する。
【解決手段】この視線計測装置1は、光源7,7からユーザの眼球に向けて照射された光の反射光をカメラ2,2で撮像する撮像手段と、この撮像データを眼球モデルに適用することにより、前記ユーザの注視対象に対する視線を計測する視線計測手段とを備え、眼球モデルは、眼球の光軸を中心として自由曲線を回転することによって構成される回転面からなる非球面回転体モデルであることを特徴としている。
【解決手段】この視線計測装置1は、光源7,7からユーザの眼球に向けて照射された光の反射光をカメラ2,2で撮像する撮像手段と、この撮像データを眼球モデルに適用することにより、前記ユーザの注視対象に対する視線を計測する視線計測手段とを備え、眼球モデルは、眼球の光軸を中心として自由曲線を回転することによって構成される回転面からなる非球面回転体モデルであることを特徴としている。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザの視線を精度よく計測できる視線計測装置、方法及びプログラムに関するものである。
【背景技術】
【0002】
人間の視線は、操作対象や関心、意図などを反映する。両手が使えないような環境等、視線で操作できるインタフェースがあれば、このような環境でも機器を利用することができる。近年、かかるインタフェースの実現を目指したさまざまな研究・開発がなされている。特に、ユーザによるキャリブレーションを簡素化するために、角膜の球面モデルを用いた手法がいくつか研究・開発されている。
【0003】
たとえば特許文献1では、ユーザの眼球に赤外線を照射して眼球を撮影し、撮影した画像の角膜表面における赤外線の反射光と瞳孔との位置から算出される方向データからユーザの推定視線データを検出するが、その際に角膜の球面モデルのみを用いており、2つのカメラと3つの光源とで実装した視線計測装置を記載している。
【0004】
非特許文献1では、角膜の球面モデルのみを用いて、光源2つ(カメラと光源とは別の位置)での視線計測手法を初めて示している。当該手法を適用した装置には、2つのカメラと3つの光源とで実装している。非特許文献2では、角膜の球面モデルのみを用いており、かつ光源を取り付けたカメラを2つ使っているが、各カメラの中心点に光源の中心を一致させている。非特許文献3では、角膜の球面モデルのみを用いており、2つのカメラと2つ以上の光源(実装例は4つの光源である。)を用いているが、基本的には上記非特許文献1と同じ手法である。非特許文献4,5では、角膜の球面モデルのみを用いており、かつ光軸を求める手法は上記非特許文献1と同じ手法であるが、視軸を用いる時にリスティングの法則を利用している。
【発明の概要】
【発明が解決しようとする課題】
【0005】
図10は角膜の球面モデルを示す図である。たとえば特許文献1では、注視点(Point of Gaze:POG)を推定してコンピュータのディスプレイに表示するシステムを提案しているが、これは図10に示されるような角膜の球面モデルに基づくものであった。他の文献についても同様であった。角膜の球面モデルに基づく手法では、ディスプレイ全体で高い精度を実現するためには、光源を増やす、カメラを増やすなどして多重化することが必要であった。
【0006】
図11は角膜の球面モデルに基づく推定手法により、2個のカメラと2つの光源を使用したシステムの被験者3名(a,b,c)がコンピュータのディスプレイを見た場合の評価結果を示す図である。図11に示すように、ディスプレイの下半分を見た場合の評価結果は良好である。ところが、ディスプレイの左上と右上の周りでPOGを推定する精度が低下するものであった。かかる評価結果は、実際の角膜がモデルと異なり球面でない、あるいは、光源(LED)からの光がモデル化されていない強膜(白目)から反射されたことに起因するものであると推察される。
【0007】
本発明は、上記事情に鑑みてなされたものであり、その目的とするところは、ユーザの視線を精度よく計測できる視線計測装置、方法及びプログラムを提供することである。
【課題を解決するための手段】
【0008】
本発明(装置)は、光源からユーザの眼球に向けて照射された光の反射光をカメラで撮像する撮像手段と、この撮像データを眼球モデルに適用することにより、前記ユーザの注視対象に対する視線を計測する視線計測手段とを備えた装置であって、前記眼球モデルは、眼球の光軸を中心として自由曲線を回転することによって構成される回転面からなる非球面回転体モデルであることを特徴とするものである。
【0009】
本発明(方法)は、光源からユーザの眼球に向けて照射された光の反射光をカメラで撮像し、これらの撮像データを眼球モデルに適用することにより、前記ユーザの注視対象に対する視線を計測する方法であって、前記眼球モデルは、眼球の光軸を中心として自由曲線を回転することによって構成される回転面からなる非球面回転体モデルであることを特徴とするものである。
【0010】
本発明(プログラム)は、光源からユーザの眼球に向けて照射された光の反射光をカメラで撮像する機能と、この撮像データを眼球モデルに適用することにより、前記ユーザの注視対象に対する視線を計測する機能とをコンピュータに実現させる視線計測プログラムであって、前記眼球モデルは、眼球の光軸を中心として自由曲線を回転することによって構成される回転面からなる非球面回転体モデルであることを特徴とするものである。
【0011】
本発明によれば、前記眼球モデルは、眼球の光軸を中心として自由曲線を回転することによって構成される回転面からなる非球面回転体モデルであるので、実際の角膜形状との差異が少なくなる。また、強膜(白目)もモデル化している。したがって、従来例におけるような、ディスプレイの左上と右上の周りで注視点を推定する精度の低下現象がほとんど生じなくなる。その結果、ユーザの視線を精度よく計測できるようになる。
【0012】
請求項2記載の発明のように、前記眼球の非球面回転体モデルに基づいて、前記眼球の光軸を決定する光軸決定手段と、空間座標がわかっている1点をユーザが注視したときの、前記撮像データに基づいて、当該ユーザに依存するパラメータを推定するパラメータ推定手段と、前記決定した光軸と、前記推定したパラメータとに基づいて、眼球の視軸を推定するとともに、前記推定した眼球の視軸と、注視対象の3次元モデルとに基づいて、注視点の空間座標を推定する視軸推定手段とを備えることが好ましい。
【0013】
また、請求項6記載の発明のように、光軸決定手段は、前記眼球の非球面回転体モデルに基づいて、前記眼球の光軸を決定し、パラメータ推定手段は、空間座標がわかっている1点をユーザが注視したときの、前記撮像データに基づいて、当該ユーザに依存するパラメータを推定し、視軸推定手段は、前記決定した光軸と、前記推定したパラメータとに基づいて、眼球の視軸を推定するとともに、前記推定した眼球の視軸と、注視対象の3次元モデルとに基づいて、注視点の空間座標を推定することが好ましい。
【0014】
さらに、請求項10記載の発明のように、前記眼球の非球面回転体モデルに基づいて、前記眼球の光軸を決定する機能と、空間座標がわかっている1点をユーザが注視したときの、前記撮像データに基づいて、当該ユーザに依存するパラメータを推定する機能と、前記決定した光軸と、前記推定したパラメータとに基づいて、眼球の視軸を推定するとともに、前記推定した眼球の視軸と、注視対象の3次元モデルとに基づいて、注視点の空間座標を推定する機能とをコンピュータに実現させることが好ましい。
【0015】
請求項2,6,10記載の発明によれば、前記眼球の非球面回転体モデルに基づいて、前記眼球の光軸が決定され、空間座標がわかっている1点をユーザが注視したときの、前記撮像データに基づいて、当該ユーザに依存するパラメータが推定され、前記決定された光軸と、前記推定したパラメータとに基づいて、眼球の視軸が推定されるとともに、前記推定された眼球の視軸と、注視対象の3次元モデルとに基づいて、注視点の空間座標が推定されるので、実際の角膜形状との差異が少なくなる。したがって、従来例におけるような、ディスプレイの左上と右上の周りで注視点を推定する精度の低下現象がほとんど生じなくなる。その結果、ユーザの視線を精度よく計測できるようになる。
【0016】
ところで、光源を3個以上設けたときには、ユーザの手などで光源からの光線をさえぎってしまうことがあり不具合である。そこで、請求項3記載の発明のように、前記光源は2個、前記カメラは2台で構成できることが好ましい。
【0017】
また、請求項7記載の発明のように、前記光源は2個、前記カメラは2台で構成できる条件下であることが好ましい。
【0018】
さらに、請求項11記載の発明のように、前記光源は2個、前記カメラは2台で構成できる条件下であることが好ましい。
【0019】
請求項3,7,11記載の発明によれば、前記光源を2個、前記カメラを2台で構成できるので、光源を3個以上設けたときのように、ユーザの手などで光源からの光線をさえぎってしまうおそれが少ない。その結果、ユーザの視線を常に精度よく計測できるようになる。
【0020】
請求項4記載の発明のように、光源の中心をカメラの中心点に一致させるように、あるいは前記光源が前記カメラの中心近傍になるように、前記光源と前記カメラとを配置することが好ましい。
【0021】
また、請求項8記載の発明のように、光源の中心をカメラの中心点に一致させるように、あるいは前記光源が前記カメラの中心近傍になるように、前記光源と前記カメラとを配置する条件下であることが好ましい。
【0022】
さらに、請求項12記載の発明のように、光源の中心をカメラの中心点に一致させるように、あるいは前記光源が前記カメラの中心近傍になるように、前記光源と前記カメラとを配置する条件下であることが好ましい。
【0023】
請求項4,8,12記載の発明によれば、光源の中心をカメラの中心点に一致させるように、あるいは前記光源が前記カメラの中心近傍になるように、前記光源と前記カメラとを配置するので、ユーザの手などで光源からの光線をさえぎってしまうおそれがさらに少なくなる。
【発明の効果】
【0024】
本発明によれば、前記眼球モデルは、眼球の光軸を中心として自由曲線を回転することによって構成される回転面からなる非球面回転体モデルであるので、実際の角膜形状との差異が少なくなる。また、強膜(白目)もモデル化している。したがって、従来例におけるような、ディスプレイの左上と右上の周りで注視点を推定する精度の低下現象がほとんど生じなくなる。その結果、ユーザの視線を精度よく計測できるようになる。
【図面の簡単な説明】
【0025】
【図1】本発明の一実施形態に係る視線計測装置の全体構成を示すブロック図である。
【図2】眼球の非球面回転体モデルを示す図である。
【図3】ディスプレイ上の注視点を計測している場合に、カメラに取り付けられた光源から赤外線を眼球に照射し、カメラで撮影した画像を示す図であって、(a)は中央付近を注視した場合、(b)は左上を注視した場合である。
【図4】眼球の部分断面を示す図である。
【図5】角膜曲率の中心、2個の光源の位置、2台のカメラの中心位置を含む角膜の断面を示す図である。
【図6】角膜での屈折を示す図である。
【図7】本装置の動作を示すフローチャートであって、(a)はメインフローチャート、(b)はステップS2のサブフローチャートである。
【図8】本装置の動作を示すフローチャートであって、(a)はステップS3のサブフローチャート、(b)はステップS3aのさらなるサブフローチャートである。
【図9】本方法とチェンらの方法との比較による評価結果を示す図である。
【図10】角膜の球面モデルを示す図である。
【図11】従来の球面の角膜モデルを利用して2個のカメラと2つの光源を使用したときの評価結果を示す図である。
【発明を実施するための最良の形態】
【0026】
図1は本発明の一実施形態に係る視線計測装置(以下、本装置という。)1の全体構成を示すブロック図である。本装置1は、図1に示すように、2台の同期しているカメラ(撮像手段に相当する。)2,2と、ディスプレイ(注視対象に相当する。)3と、キーボード4と、マウス5と、コンピュータ(視線測定手段に相当する。)6とからなっている。
【0027】
各カメラ2,2は、イメージセンサを備えており、その解像度は752×480ピクセルである。35mmのレンズとIRフィルタとが、各カメラ2,2に取り付けられている。光源(たとえば赤外線LEDである。)7,7が、カメラの中心点と一致するように、各カメラ2,2に取り付けられている。これらのカメラ2,2はディスプレイ3の下に配置されている。本装置1をセットアップする前に、カメラ2,2の固有パラメータは決定されている。
【0028】
コンピュータ6は、メモリ6aと、ハードディスク6bと、CPU6cと、光学式ドライブ6dといったハードウエアで構成されている。メモリ6aは、データを一時的に記憶するものであり、ハードディスク6bは、本発明方法を記述したプログラムを含む各種プログラムや各種データを記憶するものである。この本発明方法を記述したプログラムを呼び出して実行することにより、CPU6cには、光軸決定手段61と、パラメータ推定手段62(曲率半径推定手段63、中心間距離推定手段64及びオフセット推定手段65を含む。)と、視軸推定手段66(曲率中心推定手段67及びPOG(注視点)推定手段68を含む。)とが構築される。なお、光学式ドライブ6dは、たとえばCDドライブやDVDドライブであって、上記プログラムのバージョンアップ版をインストールするときなどに用いられる。
【0029】
光軸決定手段61は、眼球の非球面回転体モデルに基づいて、前記眼球の光軸を決定するものである。
【0030】
図2は眼球の非球面回転体モデルを示す図である。図2に示すように、眼球の非球面回転体モデルは眼球の光軸を中心として自由曲線を回転することによって構成される回転面からなるモデルであって、このモデルによりスムーズに角膜と強膜との間の境界を与えることができる。実際の眼球の形状には個人差があるが、光軸まわりの回転面であればどのような曲面でもかまわない。
【0031】
光軸決定手段61は、眼球の非球面回転体モデルに基づく眼球の光軸の決定を行うために、2台のカメラ2,2と、各カメラに取り付けられる光源7,7とを使用する。それぞれの光源の位置は、カメラの中心点と同じであるとする。かかる対応関係を説明するために、以下では、向かって右側のカメラをカメラ0と記述し、向かって左側のカメラをカメラ1と記述し、向かって右側の光源を光源0と記述し、向かって左側の光源を光源1と記述するとともに、各ポイント(位置ベクトル)についても、必要な場合それらの添字を付して記述することとする。0,1どちらにも適用可能な場合は添え字をjとして記述することとする。
【0032】
図3はカメラjに取り付けられた光源から赤外線を眼球に照射し、カメラjで撮影した画像を示す図であって、(a)は中央付近を注視した場合、(b)は左上を注視した場合である。図3(a)(b)において、周囲の白目部分を強膜、その内側の円環領域を虹彩、さらに内側の楕円領域を瞳孔とし、瞳孔中心から最も近い輝点2つをプルキニエ像と推定する。このうち、カメラjに取り付けられてある光源jによるプルキニエ像は、向かって左側のカメラの場合は右側、向かって右側のカメラの場合は左側である。このプルキニエ像をカメラのイメージセンサ上の3次元位置に変換した点がポイントP’jとなる。
【0033】
図4は、カメラjの中心と眼球の光軸を通る眼球の部分断面を示す図である。図4において、ポイントAは光軸の近くの角膜曲率の中心である。ポイントLjとポイントCjとは、それぞれ光源jの位置とカメラjの中心点とを示している。CjはLjと同じ位置であるとする。Cj(=Lj)の値は、あらかじめカメラjをキャリブレーションすることによって決定される。瞳孔中心位置のポイントBからの光線は、ポイントB”jで屈折して、Cjを通り抜けて、ポイントB’jでイメージセンサと交差する。
【0034】
Ljからの光線は、角膜表面のポイントPjで反射され、元の経路を戻り、この反射された光線は、Cjを通り抜けて、ポイントP’jでイメージセンサと交差する。もし、角膜が完全に球面であるならば、光源jの位置LjとポイントPjとを接続する線はAを通るので、Aは2個のカメラを使用することによって決定できる。しかしながら、角膜の縁付近などの非球面の眼球の表面から反射するとき、正確にAの位置を推定することができない。この不正確なAの位置を用いて光軸の推定を行うと視軸(視線)や注視点の推定には大きな誤差が含まれてしまう。
【0035】
そこで、眼球の光軸周りの回転面からなる非球面回転体モデルを使用することとする。このモデルによれば、Ljからの光線は、眼球の表面において、眼球の光軸を含む平面内で反射し、カメラjで撮影される。それゆえ、A,B,B’j,B”j,Cj,Lj,Pj,P’j,および眼球の光軸とは同一平面上にある(coplanar)。
【0036】
眼球の光軸を含んでいる平面の法線ベクトルは、{(Cj−B’j)×(P’j−Cj)}であり、その平面は(1)式で表現される。
{(Cj−B’j)×(P’j−Cj)}・(X−Cj)=0 ・・・(1)
ここに、X(=(x,y,z)T)が平面上のポイントである。2個のカメラ(j=0,1)を使用するときは、2つの平面が得られる。眼球の光軸は2平面の交線から決定できる。
【0037】
この眼球の光軸を中心とした回転モデルを用いた計算手法では、任意の回転面で眼球の光軸を計算できるので、眼球の表面で光が反射する場所(角膜表面の中央部の領域、角膜の境界領域、強膜領域など)に関係なく、眼球の光軸は数学的に決定できる。強膜(白目)で反射する場合も反射の位置が特定できれば計算可能である。
【0038】
一般に眼球の視軸と光軸とはAで交差するとされているので、眼球の視軸を決定するためには、Aを決定することが必要である。眼球の視軸は、tをパラメータとして、X=A+tcと記述できる。ここで、cは、眼球の視軸の単位方向ベクトルである。
【0039】
2本の直線(X=Cj+tj(Cj−B’j),j=0,1)の交点は、Aの近似位置を与えるが、その近似誤差は、約7.8mm(角膜の半径の平均値)未満である。Aの推定誤差は、眼球の視軸の平行移動を生じる。したがって、ユーザとその注視対象であるオブジェクトとの間の距離の増大につれて、視野角としてのオブジェクト上のPOGの推定誤差は減少する。オブジェクトが十分遠くにある場合は、この計算で十分な精度が得られる。
【0040】
しかしながら、ユーザとオブジェクトとの間の距離が近いときに、Aの推定誤差に起因するPOGの推定誤差は視野角では無視できなくなる場合があると考えられる。この問題を解決するためには、正確なAの推定方法と眼球の視軸の決定とが必要である。
【0041】
パラメータ推定手段62は、この正確なAの推定方法と眼球の視軸の決定のために、ユーザに依存するパラメ−タの推定(ユーザキャリブレーション)を行うものである。ここで、ユーザに依存するパラメ−タとは、眼球の光軸近くの角膜曲率の半径R、角膜曲率と瞳孔との中心間の距離K、そして、光軸と視軸との間のオフセットα,βである。
【0042】
これらのユーザに依存するパラメ−タを推定するために、ユーザは、位置がわかっている1点(キャリブレーションポイント)を凝視するよう指示される。キャリブレーションポイントの位置は、眼球の光軸付近で球として近似できる角膜表面で、光源からの光線が反射するように選択される。この時、球として近似できる角膜表面を通して瞳孔を観察できる。したがって、角膜表面での屈折は、角膜の球面モデルに基づいて決定される。
【0043】
曲率半径推定手段63は、角膜の球面モデルに基づいた角膜曲率の半径の推定を行うものである。上記キャリブレーションプロセスにおいて、ユーザがカメラの近くでキャリブレーションポイントを凝視するとき、光は、それを球面と近似しても問題がない角膜の表面から反射する。この場合には、角膜の球面モデルを使用できる。
【0044】
この曲率半径推定手段63は、角膜曲率の中心の位置Aを推定する。図5は角膜曲率の中心A、光源1の位置であるポイントL1、光源0の位置であるポイントL0、カメラ1の中心位置であるポイントC1、およびカメラ0の中心位置であるポイントC0を含む角膜の断面を示す図である。C1(=L1)と、C0(=L0)との各位置はカメラキャリブレーションにより事前に求めてあるものとする。図5に示すように、角膜表面で反射したL1からの光線は、角膜表面で反射してC1へ戻り、それからポイントP’11に到達するといった経路を辿る。角膜表面は球とみなされるので、この経路の延長線上にAがある。同様に、C0とポイントP’00とを結ぶ直線はAを含む。したがって、以下の2本の線の交点からAを推定することができる。
X=C1+t11(C1−P’11) ・・・(2)
X=C0+t00(C0−P’00) ・・・(3)
ここに、t11とt00とはパラメータである。
【0045】
L1からの光線は、角膜表面のポイントP01で反射され、その反射光線がC0を通り、ポイントP’01でカメラ0のイメージセンサと交差する。同様に、L0からの光線は、角膜表面においてポイントP10で反射され、その反射光線がC1を通り、ポイントP’10でカメラ1のイメージセンサと交差する。角膜の半径を推定するために、反射点P01(=P10)、すなわち、以下の線の交点を推定する。
X=C1+t10(C1−P’10) ・・・(4)
X=C0+t01(C0−P’01) ・・・(5)
ここに、t10とt01とはパラメータである。したがって、角膜曲率の半径Rは、R=||P01−A||として、決定される。
【0046】
中心間距離推定手段64は、角膜曲率と瞳孔の中心間の距離の推定を行うものである。図6はカメラjと眼球の光軸とを含む面での屈折を示す図である。図6に示すように、瞳孔中心Bからの光は、ポイントB”jで屈折し、カメラjの中心点Cjを通り、ポイントB’jでイメージセンサと交差する。B”jは、以下に与えられた方程式を解くことにより決定できる。
X=Cj+tj(Cj−B’j) ・・・(6)
R=||X−A|| ・・・(7)
これらの方程式には、2つの解がありうる。そこで、Cjにより近いものを選択する。
【0047】
以下のスネルの法則を用いて、ベクトルtj(図6において、B”jで屈折してBに向かうベクトルである。)の方程式が得られる。
tj=(−ρnj・vj−√(1−ρ2(1−(nj・vj)2))nj+ρvj
・・・(8)
ここで、屈折のポイントにおける入射ベクトルvj=(Cj−B’j)/||Cj−B’||、法線ベクトルnj=(B”j−A)/||B”j−A||、そして、ρ=n1/n2 (n1は空気の屈折率≒1、n2は実効屈折率≒1.3375)である。
【0048】
瞳孔中心Bは2台のカメラからの2本の角膜内の光線
X=B”j+sj・tj (j=0,1) ・・・(9)
の交点として決定できる。ここに、sjはパラメータである。したがって、角膜曲率と瞳孔の各中心間の距離Kは、K=||B−A||として決定される。
【0049】
オフセット推定手段65は、光軸と視軸との間のオフセットの推定を行うものである。光軸と視軸との間のオフセットは2つのパラメータによって表現される。たとえば、水平角と垂直角である。光軸と視軸との間のオフセットは、上記光軸決定手段61で計算された光軸と、空間座標がわかっている1点をユーザが注視することにより求めた視軸との位置関係から計算されるが、たとえば、非特許文献5に記述された方法ではリスティングの法則に基づき計算できる。
【0050】
視軸推定手段66は、ユーザキャリブレーション後の眼球の視軸の推定を行うものである。ユーザキャリブレーション後に、ユーザは自由にその人の眼球を動かす。眼球の光軸については、上記光軸決定手段61で計算できる。R,K、および眼球の光軸と視軸との間のオフセットは、ユーザキャリブレーションからわかっている。角膜曲率の中心の位置A、および眼球の視軸に沿った単位方向ベクトルcは、眼球の視軸の計算に必要である。
【0051】
曲率中心推定手段67は、角膜曲率の中心の推定を行うものである。光源からの光が反射する眼球表面は非球面であるが、瞳孔が観察される角膜表面は球面に近似できるとする。Aの位置を捜すためのアルゴリズムは以下の通りである。
【0052】
1)光軸の上にAの位置を設定する。2本の線、X=Cj+tj(Cj−B’j) (j=0,1)の交点に最も近い位置を選択する。
2)方程式(6)、(7)および(8)を用いて、B”jを計算する。Rはユーザキャリブレーションから既にわかっている。
3)方程式(9)を用いて、2本の線の交点から、瞳孔中心の位置Bを計算する。
4)BとAとの間の距離を計算し、その計算した距離とユーザキャリブレーションの間に推定されたKとを比較する。
5)眼球の光軸に沿って、眼球の回転中心の方に向かってAの位置を移行させ、そして、Aの正確な位置を決定するために1)〜4)を繰り返す。角膜の平均した半径が約7.8mmであるので、10mmの長さの間でAの位置を捜すことで十分である。この探索は、||B−A||=Kとなったときに終了する。
【0053】
POG推定手段68は、眼球の視軸とPOGとの推定を行うものである。眼球の視軸の単位方向ベクトルcは、たとえば、リスティングの法則に基づいて、眼球の光軸の単位方向ベクトルd、および眼球の光軸と視軸とのオフセットから決定される。これは、非特許文献5に記述された方法によって計算できる。これにより、眼球の視軸(X=A+tc)とオブジェクトとの交点としてPOGを与えることができる。ここで、リスティングの法則とは、第一眼位と呼ばれる眼球の位置があって、どのような眼球の位置でも第一眼位からのただ一つの回転で達することができ、どの向きへの回転軸も、ある平面(リスティング平面)内にあるというものである。
【0054】
以下、本装置1の動作について説明する。図7および図8は本装置1の動作を示すフローチャートである。かかる動作を通じて本方法の各ステップやプログラムの各機能が具現化される。実験室における評価では、ディスプレイから眼球までの距離を約500mmとし、ディスプレイに表示されるマーカ25点を注視して、データを記録した。
【0055】
本装置1では、図7(a)に示すように、光軸決定手段61は、2台のカメラ2,2と、各カメラに取り付けられる光源7,7とを使用して、角膜の非球面回転体モデルに基づく眼球の光軸の決定を行う(ステップS1)。パラメータ推定手段62は、ユーザに依存するパラメータの推定を行う(ステップS2)。ここでは、図7(b)に示すように、曲率半径推定手段63は、角膜曲率の半径の推定を行う(ステップS21)。中心間距離推定手段64は、角膜曲率と瞳孔との中心間距離の推定を行う(ステップS22)。オフセット推定手段65は、光軸と視軸との間のオフセットの推定を行う(ステップS23)。そして、図7(a)に戻り、視軸推定手段66は、ユーザキャリブレーション後の眼球の視軸の推定を行う(ステップS3)。ここでは、図8(a)に示すように、曲率中心推定手段67は、角膜曲率の中心の推定を行う(ステップS3a)。
【0056】
具体的には、図8(b)に示すように、光軸にA位置を設定する(ステップS31)。ポイントB”jを計算する(ステップS32)。瞳孔中心位置Bを計算する(ステップS33)。AとBの距離を計算する(ステップS34)。AとBの距離がKとなるまで、上記ステップS31〜S34を繰り返し、A位置を徐々に移行していく。そして、AとBの距離がKとなると、図8(a)のステップS3aの直後にリターンする。POG推定手段68は、眼球の視軸とPOGとの推定を行い(ステップS3b)、図7(a)のステップ3の直後に戻って、すべてのプロセスを終了する。
【0057】
本装置1の動作で具現化された本方法の有効性を確認するために、非特許文献2のチェンらの方法と比較した。この方法では、角膜の球面モデルに基づき視軸が決定された。図9は、その評価結果を示す図である。図中の×字形は本方法、三角形はチェンの方法でそれぞれ推定されたPOGを示した。本方法によって推定されたPOGは、図9に示すように、ディスプレイの左上と右上とでPOGを決定する場合において、チェンの方法で推定されたPOGより正確なものであった。RとKとは、それぞれ8.04mmと4.43mmと推定された。なお、左上を注視した時の様子を図3(b)に示す。眼球が大きく傾くと、プルキニエ像が虹彩と強膜との境に達し、球面モデルでは実際の眼球形状から乖離し、計算に大きなずれが生じるため、誤差が大きくなっている。
【0058】
以上説明したように、本発明は、注視点(POG)を追跡するために眼球の新しい物理的なモデルを提案するものである。このモデルは眼球の光軸を中心として自由曲線を回転することによって構成される回転面からなる非球面回転体モデルである。かかるモデルに基づいてPOGを推定するための数式を決定するとともに、本発明に基づいて開発された装置などを評価することによって、コンピュータのディスプレイの全範囲についてPOGを正確に推定できることがわかった。
【0059】
なお、上記実施形態における装置1は、実験室での評価に用いたプロトタイプ(原型)として位置付けられるものである。したがって、実機においては、ハードウエア及びソフトウエアの両方において、さらなる改良が加えられる。
【符号の説明】
【0060】
1 視線計測装置(本装置という。)
2 カメラ(撮像手段に相当する。)
3 ディスプレイ(注視対象に相当する。)
4 キーボード
5 マウス
6 コンピュータ(視線計測手段に相当する。)
61 光軸決定手段
62 パラメータ推定手段
63 曲率半径推定手段
64 中心間距離推定手段
65 オフセット推定手段
66 視軸推定手段
67 曲率中心推定手段
68 POG(注視点)推定手段
7 赤外線LED(光源)
【先行技術文献】
【特許文献】
【0061】
【特許文献1】特開2009−297323号公報
【非特許文献】
【0062】
【非特許文献1】SHIH,S.W.,AND LIU,J.2004.A Novel Approach to 3−D Gaze Tracking Using Stereo Cameras.IEEE Transactions on Systems,Man and Cybernetics,Part B34,1,234−235.
【非特許文献2】CHEN,J.,TONG,Y.,GRAY,W.,AND JI,Q.2008.A Robust 3D Eye Gaze Tracking System using Noise Reduction.In Proceedings of the 2008 Symposium on Eye Tracking Research & Applications,189−196.
【非特許文献3】GUESTRIN,E.D.,AND EIZENMAN,M.2007.Remote Point−of−Gaze Estimation with Free Head Movements Requiring a Single−Point Calibration.In Proceedings of the 29th Annual International Conference of the IEEE EMBS,4556−4560.
【非特許文献4】NAGAMATSU,T.,KAMAHARA,J.,IKO,T.,TANAKA,N.2008.One−point Calibration Gaze Tracking Based on Eyeball Kinematics Using Stereo Cameras.In Proceedings of the 2008 Symposium on Eye Tracking Research & Applications,95−98.
【非特許文献5】NAGAMATSU,T.,KAMAHARA,J.,TANAKA,N.2008.3D Gaze Tracking with Easy Calibration Using Stereo Cameras for Robot and Human Communicaton.In Proceedings of IEEE RO−MAN 2008,59−64.
【技術分野】
【0001】
本発明は、ユーザの視線を精度よく計測できる視線計測装置、方法及びプログラムに関するものである。
【背景技術】
【0002】
人間の視線は、操作対象や関心、意図などを反映する。両手が使えないような環境等、視線で操作できるインタフェースがあれば、このような環境でも機器を利用することができる。近年、かかるインタフェースの実現を目指したさまざまな研究・開発がなされている。特に、ユーザによるキャリブレーションを簡素化するために、角膜の球面モデルを用いた手法がいくつか研究・開発されている。
【0003】
たとえば特許文献1では、ユーザの眼球に赤外線を照射して眼球を撮影し、撮影した画像の角膜表面における赤外線の反射光と瞳孔との位置から算出される方向データからユーザの推定視線データを検出するが、その際に角膜の球面モデルのみを用いており、2つのカメラと3つの光源とで実装した視線計測装置を記載している。
【0004】
非特許文献1では、角膜の球面モデルのみを用いて、光源2つ(カメラと光源とは別の位置)での視線計測手法を初めて示している。当該手法を適用した装置には、2つのカメラと3つの光源とで実装している。非特許文献2では、角膜の球面モデルのみを用いており、かつ光源を取り付けたカメラを2つ使っているが、各カメラの中心点に光源の中心を一致させている。非特許文献3では、角膜の球面モデルのみを用いており、2つのカメラと2つ以上の光源(実装例は4つの光源である。)を用いているが、基本的には上記非特許文献1と同じ手法である。非特許文献4,5では、角膜の球面モデルのみを用いており、かつ光軸を求める手法は上記非特許文献1と同じ手法であるが、視軸を用いる時にリスティングの法則を利用している。
【発明の概要】
【発明が解決しようとする課題】
【0005】
図10は角膜の球面モデルを示す図である。たとえば特許文献1では、注視点(Point of Gaze:POG)を推定してコンピュータのディスプレイに表示するシステムを提案しているが、これは図10に示されるような角膜の球面モデルに基づくものであった。他の文献についても同様であった。角膜の球面モデルに基づく手法では、ディスプレイ全体で高い精度を実現するためには、光源を増やす、カメラを増やすなどして多重化することが必要であった。
【0006】
図11は角膜の球面モデルに基づく推定手法により、2個のカメラと2つの光源を使用したシステムの被験者3名(a,b,c)がコンピュータのディスプレイを見た場合の評価結果を示す図である。図11に示すように、ディスプレイの下半分を見た場合の評価結果は良好である。ところが、ディスプレイの左上と右上の周りでPOGを推定する精度が低下するものであった。かかる評価結果は、実際の角膜がモデルと異なり球面でない、あるいは、光源(LED)からの光がモデル化されていない強膜(白目)から反射されたことに起因するものであると推察される。
【0007】
本発明は、上記事情に鑑みてなされたものであり、その目的とするところは、ユーザの視線を精度よく計測できる視線計測装置、方法及びプログラムを提供することである。
【課題を解決するための手段】
【0008】
本発明(装置)は、光源からユーザの眼球に向けて照射された光の反射光をカメラで撮像する撮像手段と、この撮像データを眼球モデルに適用することにより、前記ユーザの注視対象に対する視線を計測する視線計測手段とを備えた装置であって、前記眼球モデルは、眼球の光軸を中心として自由曲線を回転することによって構成される回転面からなる非球面回転体モデルであることを特徴とするものである。
【0009】
本発明(方法)は、光源からユーザの眼球に向けて照射された光の反射光をカメラで撮像し、これらの撮像データを眼球モデルに適用することにより、前記ユーザの注視対象に対する視線を計測する方法であって、前記眼球モデルは、眼球の光軸を中心として自由曲線を回転することによって構成される回転面からなる非球面回転体モデルであることを特徴とするものである。
【0010】
本発明(プログラム)は、光源からユーザの眼球に向けて照射された光の反射光をカメラで撮像する機能と、この撮像データを眼球モデルに適用することにより、前記ユーザの注視対象に対する視線を計測する機能とをコンピュータに実現させる視線計測プログラムであって、前記眼球モデルは、眼球の光軸を中心として自由曲線を回転することによって構成される回転面からなる非球面回転体モデルであることを特徴とするものである。
【0011】
本発明によれば、前記眼球モデルは、眼球の光軸を中心として自由曲線を回転することによって構成される回転面からなる非球面回転体モデルであるので、実際の角膜形状との差異が少なくなる。また、強膜(白目)もモデル化している。したがって、従来例におけるような、ディスプレイの左上と右上の周りで注視点を推定する精度の低下現象がほとんど生じなくなる。その結果、ユーザの視線を精度よく計測できるようになる。
【0012】
請求項2記載の発明のように、前記眼球の非球面回転体モデルに基づいて、前記眼球の光軸を決定する光軸決定手段と、空間座標がわかっている1点をユーザが注視したときの、前記撮像データに基づいて、当該ユーザに依存するパラメータを推定するパラメータ推定手段と、前記決定した光軸と、前記推定したパラメータとに基づいて、眼球の視軸を推定するとともに、前記推定した眼球の視軸と、注視対象の3次元モデルとに基づいて、注視点の空間座標を推定する視軸推定手段とを備えることが好ましい。
【0013】
また、請求項6記載の発明のように、光軸決定手段は、前記眼球の非球面回転体モデルに基づいて、前記眼球の光軸を決定し、パラメータ推定手段は、空間座標がわかっている1点をユーザが注視したときの、前記撮像データに基づいて、当該ユーザに依存するパラメータを推定し、視軸推定手段は、前記決定した光軸と、前記推定したパラメータとに基づいて、眼球の視軸を推定するとともに、前記推定した眼球の視軸と、注視対象の3次元モデルとに基づいて、注視点の空間座標を推定することが好ましい。
【0014】
さらに、請求項10記載の発明のように、前記眼球の非球面回転体モデルに基づいて、前記眼球の光軸を決定する機能と、空間座標がわかっている1点をユーザが注視したときの、前記撮像データに基づいて、当該ユーザに依存するパラメータを推定する機能と、前記決定した光軸と、前記推定したパラメータとに基づいて、眼球の視軸を推定するとともに、前記推定した眼球の視軸と、注視対象の3次元モデルとに基づいて、注視点の空間座標を推定する機能とをコンピュータに実現させることが好ましい。
【0015】
請求項2,6,10記載の発明によれば、前記眼球の非球面回転体モデルに基づいて、前記眼球の光軸が決定され、空間座標がわかっている1点をユーザが注視したときの、前記撮像データに基づいて、当該ユーザに依存するパラメータが推定され、前記決定された光軸と、前記推定したパラメータとに基づいて、眼球の視軸が推定されるとともに、前記推定された眼球の視軸と、注視対象の3次元モデルとに基づいて、注視点の空間座標が推定されるので、実際の角膜形状との差異が少なくなる。したがって、従来例におけるような、ディスプレイの左上と右上の周りで注視点を推定する精度の低下現象がほとんど生じなくなる。その結果、ユーザの視線を精度よく計測できるようになる。
【0016】
ところで、光源を3個以上設けたときには、ユーザの手などで光源からの光線をさえぎってしまうことがあり不具合である。そこで、請求項3記載の発明のように、前記光源は2個、前記カメラは2台で構成できることが好ましい。
【0017】
また、請求項7記載の発明のように、前記光源は2個、前記カメラは2台で構成できる条件下であることが好ましい。
【0018】
さらに、請求項11記載の発明のように、前記光源は2個、前記カメラは2台で構成できる条件下であることが好ましい。
【0019】
請求項3,7,11記載の発明によれば、前記光源を2個、前記カメラを2台で構成できるので、光源を3個以上設けたときのように、ユーザの手などで光源からの光線をさえぎってしまうおそれが少ない。その結果、ユーザの視線を常に精度よく計測できるようになる。
【0020】
請求項4記載の発明のように、光源の中心をカメラの中心点に一致させるように、あるいは前記光源が前記カメラの中心近傍になるように、前記光源と前記カメラとを配置することが好ましい。
【0021】
また、請求項8記載の発明のように、光源の中心をカメラの中心点に一致させるように、あるいは前記光源が前記カメラの中心近傍になるように、前記光源と前記カメラとを配置する条件下であることが好ましい。
【0022】
さらに、請求項12記載の発明のように、光源の中心をカメラの中心点に一致させるように、あるいは前記光源が前記カメラの中心近傍になるように、前記光源と前記カメラとを配置する条件下であることが好ましい。
【0023】
請求項4,8,12記載の発明によれば、光源の中心をカメラの中心点に一致させるように、あるいは前記光源が前記カメラの中心近傍になるように、前記光源と前記カメラとを配置するので、ユーザの手などで光源からの光線をさえぎってしまうおそれがさらに少なくなる。
【発明の効果】
【0024】
本発明によれば、前記眼球モデルは、眼球の光軸を中心として自由曲線を回転することによって構成される回転面からなる非球面回転体モデルであるので、実際の角膜形状との差異が少なくなる。また、強膜(白目)もモデル化している。したがって、従来例におけるような、ディスプレイの左上と右上の周りで注視点を推定する精度の低下現象がほとんど生じなくなる。その結果、ユーザの視線を精度よく計測できるようになる。
【図面の簡単な説明】
【0025】
【図1】本発明の一実施形態に係る視線計測装置の全体構成を示すブロック図である。
【図2】眼球の非球面回転体モデルを示す図である。
【図3】ディスプレイ上の注視点を計測している場合に、カメラに取り付けられた光源から赤外線を眼球に照射し、カメラで撮影した画像を示す図であって、(a)は中央付近を注視した場合、(b)は左上を注視した場合である。
【図4】眼球の部分断面を示す図である。
【図5】角膜曲率の中心、2個の光源の位置、2台のカメラの中心位置を含む角膜の断面を示す図である。
【図6】角膜での屈折を示す図である。
【図7】本装置の動作を示すフローチャートであって、(a)はメインフローチャート、(b)はステップS2のサブフローチャートである。
【図8】本装置の動作を示すフローチャートであって、(a)はステップS3のサブフローチャート、(b)はステップS3aのさらなるサブフローチャートである。
【図9】本方法とチェンらの方法との比較による評価結果を示す図である。
【図10】角膜の球面モデルを示す図である。
【図11】従来の球面の角膜モデルを利用して2個のカメラと2つの光源を使用したときの評価結果を示す図である。
【発明を実施するための最良の形態】
【0026】
図1は本発明の一実施形態に係る視線計測装置(以下、本装置という。)1の全体構成を示すブロック図である。本装置1は、図1に示すように、2台の同期しているカメラ(撮像手段に相当する。)2,2と、ディスプレイ(注視対象に相当する。)3と、キーボード4と、マウス5と、コンピュータ(視線測定手段に相当する。)6とからなっている。
【0027】
各カメラ2,2は、イメージセンサを備えており、その解像度は752×480ピクセルである。35mmのレンズとIRフィルタとが、各カメラ2,2に取り付けられている。光源(たとえば赤外線LEDである。)7,7が、カメラの中心点と一致するように、各カメラ2,2に取り付けられている。これらのカメラ2,2はディスプレイ3の下に配置されている。本装置1をセットアップする前に、カメラ2,2の固有パラメータは決定されている。
【0028】
コンピュータ6は、メモリ6aと、ハードディスク6bと、CPU6cと、光学式ドライブ6dといったハードウエアで構成されている。メモリ6aは、データを一時的に記憶するものであり、ハードディスク6bは、本発明方法を記述したプログラムを含む各種プログラムや各種データを記憶するものである。この本発明方法を記述したプログラムを呼び出して実行することにより、CPU6cには、光軸決定手段61と、パラメータ推定手段62(曲率半径推定手段63、中心間距離推定手段64及びオフセット推定手段65を含む。)と、視軸推定手段66(曲率中心推定手段67及びPOG(注視点)推定手段68を含む。)とが構築される。なお、光学式ドライブ6dは、たとえばCDドライブやDVDドライブであって、上記プログラムのバージョンアップ版をインストールするときなどに用いられる。
【0029】
光軸決定手段61は、眼球の非球面回転体モデルに基づいて、前記眼球の光軸を決定するものである。
【0030】
図2は眼球の非球面回転体モデルを示す図である。図2に示すように、眼球の非球面回転体モデルは眼球の光軸を中心として自由曲線を回転することによって構成される回転面からなるモデルであって、このモデルによりスムーズに角膜と強膜との間の境界を与えることができる。実際の眼球の形状には個人差があるが、光軸まわりの回転面であればどのような曲面でもかまわない。
【0031】
光軸決定手段61は、眼球の非球面回転体モデルに基づく眼球の光軸の決定を行うために、2台のカメラ2,2と、各カメラに取り付けられる光源7,7とを使用する。それぞれの光源の位置は、カメラの中心点と同じであるとする。かかる対応関係を説明するために、以下では、向かって右側のカメラをカメラ0と記述し、向かって左側のカメラをカメラ1と記述し、向かって右側の光源を光源0と記述し、向かって左側の光源を光源1と記述するとともに、各ポイント(位置ベクトル)についても、必要な場合それらの添字を付して記述することとする。0,1どちらにも適用可能な場合は添え字をjとして記述することとする。
【0032】
図3はカメラjに取り付けられた光源から赤外線を眼球に照射し、カメラjで撮影した画像を示す図であって、(a)は中央付近を注視した場合、(b)は左上を注視した場合である。図3(a)(b)において、周囲の白目部分を強膜、その内側の円環領域を虹彩、さらに内側の楕円領域を瞳孔とし、瞳孔中心から最も近い輝点2つをプルキニエ像と推定する。このうち、カメラjに取り付けられてある光源jによるプルキニエ像は、向かって左側のカメラの場合は右側、向かって右側のカメラの場合は左側である。このプルキニエ像をカメラのイメージセンサ上の3次元位置に変換した点がポイントP’jとなる。
【0033】
図4は、カメラjの中心と眼球の光軸を通る眼球の部分断面を示す図である。図4において、ポイントAは光軸の近くの角膜曲率の中心である。ポイントLjとポイントCjとは、それぞれ光源jの位置とカメラjの中心点とを示している。CjはLjと同じ位置であるとする。Cj(=Lj)の値は、あらかじめカメラjをキャリブレーションすることによって決定される。瞳孔中心位置のポイントBからの光線は、ポイントB”jで屈折して、Cjを通り抜けて、ポイントB’jでイメージセンサと交差する。
【0034】
Ljからの光線は、角膜表面のポイントPjで反射され、元の経路を戻り、この反射された光線は、Cjを通り抜けて、ポイントP’jでイメージセンサと交差する。もし、角膜が完全に球面であるならば、光源jの位置LjとポイントPjとを接続する線はAを通るので、Aは2個のカメラを使用することによって決定できる。しかしながら、角膜の縁付近などの非球面の眼球の表面から反射するとき、正確にAの位置を推定することができない。この不正確なAの位置を用いて光軸の推定を行うと視軸(視線)や注視点の推定には大きな誤差が含まれてしまう。
【0035】
そこで、眼球の光軸周りの回転面からなる非球面回転体モデルを使用することとする。このモデルによれば、Ljからの光線は、眼球の表面において、眼球の光軸を含む平面内で反射し、カメラjで撮影される。それゆえ、A,B,B’j,B”j,Cj,Lj,Pj,P’j,および眼球の光軸とは同一平面上にある(coplanar)。
【0036】
眼球の光軸を含んでいる平面の法線ベクトルは、{(Cj−B’j)×(P’j−Cj)}であり、その平面は(1)式で表現される。
{(Cj−B’j)×(P’j−Cj)}・(X−Cj)=0 ・・・(1)
ここに、X(=(x,y,z)T)が平面上のポイントである。2個のカメラ(j=0,1)を使用するときは、2つの平面が得られる。眼球の光軸は2平面の交線から決定できる。
【0037】
この眼球の光軸を中心とした回転モデルを用いた計算手法では、任意の回転面で眼球の光軸を計算できるので、眼球の表面で光が反射する場所(角膜表面の中央部の領域、角膜の境界領域、強膜領域など)に関係なく、眼球の光軸は数学的に決定できる。強膜(白目)で反射する場合も反射の位置が特定できれば計算可能である。
【0038】
一般に眼球の視軸と光軸とはAで交差するとされているので、眼球の視軸を決定するためには、Aを決定することが必要である。眼球の視軸は、tをパラメータとして、X=A+tcと記述できる。ここで、cは、眼球の視軸の単位方向ベクトルである。
【0039】
2本の直線(X=Cj+tj(Cj−B’j),j=0,1)の交点は、Aの近似位置を与えるが、その近似誤差は、約7.8mm(角膜の半径の平均値)未満である。Aの推定誤差は、眼球の視軸の平行移動を生じる。したがって、ユーザとその注視対象であるオブジェクトとの間の距離の増大につれて、視野角としてのオブジェクト上のPOGの推定誤差は減少する。オブジェクトが十分遠くにある場合は、この計算で十分な精度が得られる。
【0040】
しかしながら、ユーザとオブジェクトとの間の距離が近いときに、Aの推定誤差に起因するPOGの推定誤差は視野角では無視できなくなる場合があると考えられる。この問題を解決するためには、正確なAの推定方法と眼球の視軸の決定とが必要である。
【0041】
パラメータ推定手段62は、この正確なAの推定方法と眼球の視軸の決定のために、ユーザに依存するパラメ−タの推定(ユーザキャリブレーション)を行うものである。ここで、ユーザに依存するパラメ−タとは、眼球の光軸近くの角膜曲率の半径R、角膜曲率と瞳孔との中心間の距離K、そして、光軸と視軸との間のオフセットα,βである。
【0042】
これらのユーザに依存するパラメ−タを推定するために、ユーザは、位置がわかっている1点(キャリブレーションポイント)を凝視するよう指示される。キャリブレーションポイントの位置は、眼球の光軸付近で球として近似できる角膜表面で、光源からの光線が反射するように選択される。この時、球として近似できる角膜表面を通して瞳孔を観察できる。したがって、角膜表面での屈折は、角膜の球面モデルに基づいて決定される。
【0043】
曲率半径推定手段63は、角膜の球面モデルに基づいた角膜曲率の半径の推定を行うものである。上記キャリブレーションプロセスにおいて、ユーザがカメラの近くでキャリブレーションポイントを凝視するとき、光は、それを球面と近似しても問題がない角膜の表面から反射する。この場合には、角膜の球面モデルを使用できる。
【0044】
この曲率半径推定手段63は、角膜曲率の中心の位置Aを推定する。図5は角膜曲率の中心A、光源1の位置であるポイントL1、光源0の位置であるポイントL0、カメラ1の中心位置であるポイントC1、およびカメラ0の中心位置であるポイントC0を含む角膜の断面を示す図である。C1(=L1)と、C0(=L0)との各位置はカメラキャリブレーションにより事前に求めてあるものとする。図5に示すように、角膜表面で反射したL1からの光線は、角膜表面で反射してC1へ戻り、それからポイントP’11に到達するといった経路を辿る。角膜表面は球とみなされるので、この経路の延長線上にAがある。同様に、C0とポイントP’00とを結ぶ直線はAを含む。したがって、以下の2本の線の交点からAを推定することができる。
X=C1+t11(C1−P’11) ・・・(2)
X=C0+t00(C0−P’00) ・・・(3)
ここに、t11とt00とはパラメータである。
【0045】
L1からの光線は、角膜表面のポイントP01で反射され、その反射光線がC0を通り、ポイントP’01でカメラ0のイメージセンサと交差する。同様に、L0からの光線は、角膜表面においてポイントP10で反射され、その反射光線がC1を通り、ポイントP’10でカメラ1のイメージセンサと交差する。角膜の半径を推定するために、反射点P01(=P10)、すなわち、以下の線の交点を推定する。
X=C1+t10(C1−P’10) ・・・(4)
X=C0+t01(C0−P’01) ・・・(5)
ここに、t10とt01とはパラメータである。したがって、角膜曲率の半径Rは、R=||P01−A||として、決定される。
【0046】
中心間距離推定手段64は、角膜曲率と瞳孔の中心間の距離の推定を行うものである。図6はカメラjと眼球の光軸とを含む面での屈折を示す図である。図6に示すように、瞳孔中心Bからの光は、ポイントB”jで屈折し、カメラjの中心点Cjを通り、ポイントB’jでイメージセンサと交差する。B”jは、以下に与えられた方程式を解くことにより決定できる。
X=Cj+tj(Cj−B’j) ・・・(6)
R=||X−A|| ・・・(7)
これらの方程式には、2つの解がありうる。そこで、Cjにより近いものを選択する。
【0047】
以下のスネルの法則を用いて、ベクトルtj(図6において、B”jで屈折してBに向かうベクトルである。)の方程式が得られる。
tj=(−ρnj・vj−√(1−ρ2(1−(nj・vj)2))nj+ρvj
・・・(8)
ここで、屈折のポイントにおける入射ベクトルvj=(Cj−B’j)/||Cj−B’||、法線ベクトルnj=(B”j−A)/||B”j−A||、そして、ρ=n1/n2 (n1は空気の屈折率≒1、n2は実効屈折率≒1.3375)である。
【0048】
瞳孔中心Bは2台のカメラからの2本の角膜内の光線
X=B”j+sj・tj (j=0,1) ・・・(9)
の交点として決定できる。ここに、sjはパラメータである。したがって、角膜曲率と瞳孔の各中心間の距離Kは、K=||B−A||として決定される。
【0049】
オフセット推定手段65は、光軸と視軸との間のオフセットの推定を行うものである。光軸と視軸との間のオフセットは2つのパラメータによって表現される。たとえば、水平角と垂直角である。光軸と視軸との間のオフセットは、上記光軸決定手段61で計算された光軸と、空間座標がわかっている1点をユーザが注視することにより求めた視軸との位置関係から計算されるが、たとえば、非特許文献5に記述された方法ではリスティングの法則に基づき計算できる。
【0050】
視軸推定手段66は、ユーザキャリブレーション後の眼球の視軸の推定を行うものである。ユーザキャリブレーション後に、ユーザは自由にその人の眼球を動かす。眼球の光軸については、上記光軸決定手段61で計算できる。R,K、および眼球の光軸と視軸との間のオフセットは、ユーザキャリブレーションからわかっている。角膜曲率の中心の位置A、および眼球の視軸に沿った単位方向ベクトルcは、眼球の視軸の計算に必要である。
【0051】
曲率中心推定手段67は、角膜曲率の中心の推定を行うものである。光源からの光が反射する眼球表面は非球面であるが、瞳孔が観察される角膜表面は球面に近似できるとする。Aの位置を捜すためのアルゴリズムは以下の通りである。
【0052】
1)光軸の上にAの位置を設定する。2本の線、X=Cj+tj(Cj−B’j) (j=0,1)の交点に最も近い位置を選択する。
2)方程式(6)、(7)および(8)を用いて、B”jを計算する。Rはユーザキャリブレーションから既にわかっている。
3)方程式(9)を用いて、2本の線の交点から、瞳孔中心の位置Bを計算する。
4)BとAとの間の距離を計算し、その計算した距離とユーザキャリブレーションの間に推定されたKとを比較する。
5)眼球の光軸に沿って、眼球の回転中心の方に向かってAの位置を移行させ、そして、Aの正確な位置を決定するために1)〜4)を繰り返す。角膜の平均した半径が約7.8mmであるので、10mmの長さの間でAの位置を捜すことで十分である。この探索は、||B−A||=Kとなったときに終了する。
【0053】
POG推定手段68は、眼球の視軸とPOGとの推定を行うものである。眼球の視軸の単位方向ベクトルcは、たとえば、リスティングの法則に基づいて、眼球の光軸の単位方向ベクトルd、および眼球の光軸と視軸とのオフセットから決定される。これは、非特許文献5に記述された方法によって計算できる。これにより、眼球の視軸(X=A+tc)とオブジェクトとの交点としてPOGを与えることができる。ここで、リスティングの法則とは、第一眼位と呼ばれる眼球の位置があって、どのような眼球の位置でも第一眼位からのただ一つの回転で達することができ、どの向きへの回転軸も、ある平面(リスティング平面)内にあるというものである。
【0054】
以下、本装置1の動作について説明する。図7および図8は本装置1の動作を示すフローチャートである。かかる動作を通じて本方法の各ステップやプログラムの各機能が具現化される。実験室における評価では、ディスプレイから眼球までの距離を約500mmとし、ディスプレイに表示されるマーカ25点を注視して、データを記録した。
【0055】
本装置1では、図7(a)に示すように、光軸決定手段61は、2台のカメラ2,2と、各カメラに取り付けられる光源7,7とを使用して、角膜の非球面回転体モデルに基づく眼球の光軸の決定を行う(ステップS1)。パラメータ推定手段62は、ユーザに依存するパラメータの推定を行う(ステップS2)。ここでは、図7(b)に示すように、曲率半径推定手段63は、角膜曲率の半径の推定を行う(ステップS21)。中心間距離推定手段64は、角膜曲率と瞳孔との中心間距離の推定を行う(ステップS22)。オフセット推定手段65は、光軸と視軸との間のオフセットの推定を行う(ステップS23)。そして、図7(a)に戻り、視軸推定手段66は、ユーザキャリブレーション後の眼球の視軸の推定を行う(ステップS3)。ここでは、図8(a)に示すように、曲率中心推定手段67は、角膜曲率の中心の推定を行う(ステップS3a)。
【0056】
具体的には、図8(b)に示すように、光軸にA位置を設定する(ステップS31)。ポイントB”jを計算する(ステップS32)。瞳孔中心位置Bを計算する(ステップS33)。AとBの距離を計算する(ステップS34)。AとBの距離がKとなるまで、上記ステップS31〜S34を繰り返し、A位置を徐々に移行していく。そして、AとBの距離がKとなると、図8(a)のステップS3aの直後にリターンする。POG推定手段68は、眼球の視軸とPOGとの推定を行い(ステップS3b)、図7(a)のステップ3の直後に戻って、すべてのプロセスを終了する。
【0057】
本装置1の動作で具現化された本方法の有効性を確認するために、非特許文献2のチェンらの方法と比較した。この方法では、角膜の球面モデルに基づき視軸が決定された。図9は、その評価結果を示す図である。図中の×字形は本方法、三角形はチェンの方法でそれぞれ推定されたPOGを示した。本方法によって推定されたPOGは、図9に示すように、ディスプレイの左上と右上とでPOGを決定する場合において、チェンの方法で推定されたPOGより正確なものであった。RとKとは、それぞれ8.04mmと4.43mmと推定された。なお、左上を注視した時の様子を図3(b)に示す。眼球が大きく傾くと、プルキニエ像が虹彩と強膜との境に達し、球面モデルでは実際の眼球形状から乖離し、計算に大きなずれが生じるため、誤差が大きくなっている。
【0058】
以上説明したように、本発明は、注視点(POG)を追跡するために眼球の新しい物理的なモデルを提案するものである。このモデルは眼球の光軸を中心として自由曲線を回転することによって構成される回転面からなる非球面回転体モデルである。かかるモデルに基づいてPOGを推定するための数式を決定するとともに、本発明に基づいて開発された装置などを評価することによって、コンピュータのディスプレイの全範囲についてPOGを正確に推定できることがわかった。
【0059】
なお、上記実施形態における装置1は、実験室での評価に用いたプロトタイプ(原型)として位置付けられるものである。したがって、実機においては、ハードウエア及びソフトウエアの両方において、さらなる改良が加えられる。
【符号の説明】
【0060】
1 視線計測装置(本装置という。)
2 カメラ(撮像手段に相当する。)
3 ディスプレイ(注視対象に相当する。)
4 キーボード
5 マウス
6 コンピュータ(視線計測手段に相当する。)
61 光軸決定手段
62 パラメータ推定手段
63 曲率半径推定手段
64 中心間距離推定手段
65 オフセット推定手段
66 視軸推定手段
67 曲率中心推定手段
68 POG(注視点)推定手段
7 赤外線LED(光源)
【先行技術文献】
【特許文献】
【0061】
【特許文献1】特開2009−297323号公報
【非特許文献】
【0062】
【非特許文献1】SHIH,S.W.,AND LIU,J.2004.A Novel Approach to 3−D Gaze Tracking Using Stereo Cameras.IEEE Transactions on Systems,Man and Cybernetics,Part B34,1,234−235.
【非特許文献2】CHEN,J.,TONG,Y.,GRAY,W.,AND JI,Q.2008.A Robust 3D Eye Gaze Tracking System using Noise Reduction.In Proceedings of the 2008 Symposium on Eye Tracking Research & Applications,189−196.
【非特許文献3】GUESTRIN,E.D.,AND EIZENMAN,M.2007.Remote Point−of−Gaze Estimation with Free Head Movements Requiring a Single−Point Calibration.In Proceedings of the 29th Annual International Conference of the IEEE EMBS,4556−4560.
【非特許文献4】NAGAMATSU,T.,KAMAHARA,J.,IKO,T.,TANAKA,N.2008.One−point Calibration Gaze Tracking Based on Eyeball Kinematics Using Stereo Cameras.In Proceedings of the 2008 Symposium on Eye Tracking Research & Applications,95−98.
【非特許文献5】NAGAMATSU,T.,KAMAHARA,J.,TANAKA,N.2008.3D Gaze Tracking with Easy Calibration Using Stereo Cameras for Robot and Human Communicaton.In Proceedings of IEEE RO−MAN 2008,59−64.
【特許請求の範囲】
【請求項1】
光源からユーザの眼球に向けて照射された光の反射光をカメラで撮像する撮像手段と、この撮像データを眼球モデルに適用することにより、前記ユーザの注視対象に対する視線を計測する視線計測手段とを備えた装置であって、
前記眼球モデルは、眼球の光軸を中心として自由曲線を回転することによって構成される回転面からなる非球面回転体モデルであることを特徴とする視線計測装置。
【請求項2】
前記眼球の非球面回転体モデルに基づいて、前記眼球の光軸を決定する光軸決定手段と、
空間座標がわかっている1点をユーザが注視したときの、前記撮像データに基づいて、当該ユーザに依存するパラメータを推定するパラメータ推定手段と、
前記決定した光軸と、前記推定したパラメータとに基づいて、眼球の視軸を推定するとともに、前記推定した眼球の視軸と、注視対象の3次元モデルとに基づいて、注視点の空間座標を推定する視軸推定手段とを備えたことを特徴とする請求項1記載の視線計測装置。
【請求項3】
前記光源は2個、前記カメラは2台で構成できることを特徴とする請求項1又は2記載の視線計測装置。
【請求項4】
光源の中心をカメラの中心点に一致させるように、あるいは前記光源が前記カメラの中心近傍になるように、前記光源と前記カメラとを配置することを特徴とする請求項3記載の視線計測装置。
【請求項5】
光源からユーザの眼球に向けて照射された光の反射光をカメラで撮像し、これらの撮像データを眼球モデルに適用することにより、前記ユーザの注視対象に対する視線を計測する方法であって、
前記眼球モデルは、眼球の光軸を中心として自由曲線を回転することによって構成される回転面からなる非球面回転体モデルであることを特徴とする視線計測方法。
【請求項6】
光軸決定手段は、前記眼球の非球面回転体モデルに基づいて、前記眼球の光軸を決定し、
パラメータ推定手段は、空間座標がわかっている1点をユーザが注視したときの、前記撮像データに基づいて、当該ユーザに依存するパラメータを推定し、
視軸推定手段は、前記決定した光軸と、前記推定したパラメータとに基づいて、眼球の視軸を推定するとともに、前記推定した眼球の視軸と、注視対象の3次元モデルとに基づいて、注視点の空間座標を推定することを特徴とする請求項5記載の視線計測方法。
【請求項7】
前記光源は2個、前記カメラは2台で構成できる条件下であることを特徴とする請求項5又は6記載の視線計測方法。
【請求項8】
光源の中心をカメラの中心点に一致させるように、あるいは前記光源が前記カメラの中心近傍になるように、前記光源と前記カメラとを配置する条件下であることを特徴とする請求項7記載の視線計測方法。
【請求項9】
光源からユーザの眼球に向けて照射された光の反射光をカメラで撮像する機能と、この撮像データを眼球モデルに適用することにより、前記ユーザの注視対象に対する視線を計測する機能とをコンピュータに実現させる視線計測プログラムであって、
前記眼球モデルは、眼球の光軸を中心として自由曲線を回転することによって構成される回転面からなる非球面回転体モデルであることを特徴とする視線計測プログラム。
【請求項10】
前記眼球の非球面回転体モデルに基づいて、前記眼球の光軸を決定する機能と、
空間座標がわかっている1点をユーザが注視したときの、前記撮像データに基づいて、当該ユーザに依存するパラメータを推定する機能と、
前記決定した光軸と、前記推定したパラメータとに基づいて、眼球の視軸を推定するとともに、前記推定した眼球の視軸と、注視対象の3次元モデルとに基づいて、注視点の空間座標を推定する機能とをコンピュータにさらに実現させることを特徴とする請求項9記載の視線計測プログラム。
【請求項11】
前記光源は2個、前記カメラは2台で構成できる条件下であることを特徴とする請求項9又は10記載の視線計測プログラム。
【請求項12】
光源の中心をカメラの中心点に一致させるように、あるいは前記光源が前記カメラの中心近傍になるように、前記光源と前記カメラとを配置する条件下であることを特徴とする請求項11記載の視線計測プログラム。
【請求項1】
光源からユーザの眼球に向けて照射された光の反射光をカメラで撮像する撮像手段と、この撮像データを眼球モデルに適用することにより、前記ユーザの注視対象に対する視線を計測する視線計測手段とを備えた装置であって、
前記眼球モデルは、眼球の光軸を中心として自由曲線を回転することによって構成される回転面からなる非球面回転体モデルであることを特徴とする視線計測装置。
【請求項2】
前記眼球の非球面回転体モデルに基づいて、前記眼球の光軸を決定する光軸決定手段と、
空間座標がわかっている1点をユーザが注視したときの、前記撮像データに基づいて、当該ユーザに依存するパラメータを推定するパラメータ推定手段と、
前記決定した光軸と、前記推定したパラメータとに基づいて、眼球の視軸を推定するとともに、前記推定した眼球の視軸と、注視対象の3次元モデルとに基づいて、注視点の空間座標を推定する視軸推定手段とを備えたことを特徴とする請求項1記載の視線計測装置。
【請求項3】
前記光源は2個、前記カメラは2台で構成できることを特徴とする請求項1又は2記載の視線計測装置。
【請求項4】
光源の中心をカメラの中心点に一致させるように、あるいは前記光源が前記カメラの中心近傍になるように、前記光源と前記カメラとを配置することを特徴とする請求項3記載の視線計測装置。
【請求項5】
光源からユーザの眼球に向けて照射された光の反射光をカメラで撮像し、これらの撮像データを眼球モデルに適用することにより、前記ユーザの注視対象に対する視線を計測する方法であって、
前記眼球モデルは、眼球の光軸を中心として自由曲線を回転することによって構成される回転面からなる非球面回転体モデルであることを特徴とする視線計測方法。
【請求項6】
光軸決定手段は、前記眼球の非球面回転体モデルに基づいて、前記眼球の光軸を決定し、
パラメータ推定手段は、空間座標がわかっている1点をユーザが注視したときの、前記撮像データに基づいて、当該ユーザに依存するパラメータを推定し、
視軸推定手段は、前記決定した光軸と、前記推定したパラメータとに基づいて、眼球の視軸を推定するとともに、前記推定した眼球の視軸と、注視対象の3次元モデルとに基づいて、注視点の空間座標を推定することを特徴とする請求項5記載の視線計測方法。
【請求項7】
前記光源は2個、前記カメラは2台で構成できる条件下であることを特徴とする請求項5又は6記載の視線計測方法。
【請求項8】
光源の中心をカメラの中心点に一致させるように、あるいは前記光源が前記カメラの中心近傍になるように、前記光源と前記カメラとを配置する条件下であることを特徴とする請求項7記載の視線計測方法。
【請求項9】
光源からユーザの眼球に向けて照射された光の反射光をカメラで撮像する機能と、この撮像データを眼球モデルに適用することにより、前記ユーザの注視対象に対する視線を計測する機能とをコンピュータに実現させる視線計測プログラムであって、
前記眼球モデルは、眼球の光軸を中心として自由曲線を回転することによって構成される回転面からなる非球面回転体モデルであることを特徴とする視線計測プログラム。
【請求項10】
前記眼球の非球面回転体モデルに基づいて、前記眼球の光軸を決定する機能と、
空間座標がわかっている1点をユーザが注視したときの、前記撮像データに基づいて、当該ユーザに依存するパラメータを推定する機能と、
前記決定した光軸と、前記推定したパラメータとに基づいて、眼球の視軸を推定するとともに、前記推定した眼球の視軸と、注視対象の3次元モデルとに基づいて、注視点の空間座標を推定する機能とをコンピュータにさらに実現させることを特徴とする請求項9記載の視線計測プログラム。
【請求項11】
前記光源は2個、前記カメラは2台で構成できる条件下であることを特徴とする請求項9又は10記載の視線計測プログラム。
【請求項12】
光源の中心をカメラの中心点に一致させるように、あるいは前記光源が前記カメラの中心近傍になるように、前記光源と前記カメラとを配置する条件下であることを特徴とする請求項11記載の視線計測プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2011−172853(P2011−172853A)
【公開日】平成23年9月8日(2011.9.8)
【国際特許分類】
【出願番号】特願2010−41039(P2010−41039)
【出願日】平成22年2月25日(2010.2.25)
【出願人】(504150450)国立大学法人神戸大学 (421)
【出願人】(503092180)学校法人関西学院 (71)
【Fターム(参考)】
【公開日】平成23年9月8日(2011.9.8)
【国際特許分類】
【出願日】平成22年2月25日(2010.2.25)
【出願人】(504150450)国立大学法人神戸大学 (421)
【出願人】(503092180)学校法人関西学院 (71)
【Fターム(参考)】
[ Back to top ]