(58)【調査した分野】(Int.Cl.,DB名)
前記歪ベクトル算出手段で算出された歪ベクトルを、前記画像座標系で予め設定されたサイズの小領域に対応付けることで、ルックアップテーブルを生成するルックアップテーブル生成手段、を備え、
前記非球面眼球モデル生成手段は、前記テーブル生成手段が生成したルックアップテーブルを参照して、前記非球面眼球モデルを生成することを特徴とする請求項1から請求項3の何れか一項に記載の視線誤差補正装置。
【背景技術】
【0002】
例えば、表示画面に表示される対象物の中から目をひくものを調べたいときに、視線の測定が行われている。また、PC(パーソナルコンピュータ)では、マウスに代わるポインティングデバイスとして、視線の測定が行われる。このとき、ユーザの頭部を拘束しない自然な状態で正確に視線を測定するため、瞳孔−角膜反射法が広く利用されている(非特許文献1)。
【0003】
以下、
図16を参照して、非特許文献1に記載の視線測定装置10の構成について説明する。
図16に示すように、視線測定装置10は、瞳孔−角膜反射法で視線を測定するものであり、瞳孔・プルキニエ像検出手段11と、視線ベクトル・基準点算出手段12と、個人キャリブレーション手段13と、視線座標変換・出力手段14とを備える。
この視線測定装置10は、視線を測定するために、後記する赤外線光源90と、撮影カメラ91と、表示手段92とが必要になる。
【0004】
赤外線光源90は、例えば、ユーザの眼球900(
図17)に赤外線を照射する赤外線LED(Light Emitting Diode)である。
撮影カメラ91は、例えば、赤外線光源90が赤外線を照射した状態で、ユーザの眼球900を撮影する赤外線CCD(Charge Coupled Device)である。
ここで、撮影カメラ91は、Tsaiのカメラキャリブレーション(非特許文献2)によって、内部パラメータ(例えば、焦点距離、レンズ歪み、画像の光軸中心位置、CCD画素の縦横比)と、外部パラメータ(例えば、位置、回転角)を予め求めておく。
表示手段92は、例えば、視線測定装置10が測定した視線の位置を表示画面に表示するディスプレイである。
【0005】
瞳孔・プルキニエ像検出手段11は、
図17(a)に示すように、撮影カメラ91で眼球900を撮影した眼球画像93から、プルキニエ像(角膜反射像)u及び瞳孔902を検出するものである。
例えば、瞳孔902は、虹彩903に比べ、眼球画像93で暗い像として映る。従って、瞳孔・プルキニエ像検出手段11は、眼球画像93を類似輝度の領域別にセグメント化し、セグメント化された各領域の中から瞳孔領域を検出する。そして、瞳孔・プルキニエ像検出手段11は、
図17(b)に示すように、検出した瞳孔領域に対して、瞳孔輪郭を誤差二乗和による楕円近似を行い、領域中心を瞳孔中心eとして求める。さらに、瞳孔・プルキニエ像検出手段11は、瞳孔中心eから一定距離内でプルキニエ像の位置uを検出する。このとき、プルキニエ像は、面積を持たない点として検出されることが多い。
なお、
図17(a)では、説明を簡易にするため、ユーザの眼球900のみを図示した。
また、
図17(b)では、眼球画像93のうち瞳孔902の部分のみを図示した。
【0006】
視線ベクトル・基準点算出手段12は、瞳孔・プルキニエ像検出手段11が検出したプルキニエ像の位置u及び瞳孔中心eを用いて、
図18に示すように、視線(視線ベクトルv)を算出するものである。
つまり、視線ベクトル・基準点算出手段12は、3次元空間上における眼球位置を測定し、この眼球位置に基づいて、基準点(角膜曲率中心c)と、視線を示すベクトルである視線ベクトルv=e−cとを算出する。
【0007】
ここで、
図18には、角膜曲率中心cと、角膜曲率中心cから実際の瞳孔輪郭へのベクトルdと、瞳孔輪郭像pにおいて角膜表面に接する平面の法線ベクトルの単位ベクトルnと、角膜表面における瞳孔輪郭像pと、瞳孔輪郭像の位置ベクトルp
0と、観察された瞳孔輪郭qと、補正された瞳孔輪郭q’とを図示した。
なお、
図18では、図面を見やすくするため、瞳孔輪郭像の位置ベクトルp
0を点として図示した。
また、
図18では、瞳孔輪郭q,q’は、正面視した際に円状となる瞳孔輪郭の断面を示すため、線状になっている。
【0008】
また、
図18には、撮影カメラ91から瞳孔輪郭像の位置ベクトルp
0までの方向ベクトルの単位ベクトルrを図示した。ここで、上側の単位ベクトルrは、瞳孔輪郭像の位置ベクトルp
0から単位ベクトルrを求めることを説明するために図示した。また、下側の単位ベクトルrは、上側の単位ベクトルrをプルキニエ像の位置uを指すように移動させて図示した。
【0009】
また、
図18には、瞳孔輪郭像pにおいて屈折後の撮影カメラ91からの光線の単位ベクトルtと、角膜曲率半径Cと、角膜曲率中心cから瞳孔輪郭までの距離Dと、瞳孔輪郭像の位置ベクトルp
0からプルキニエ像の位置uまでの距離Mと、瞳孔の半径Rとを図示した。これら各項目は、必要に応じて説明を後記する。
【0010】
ここで、瞳孔−角膜反射法では、瞳孔中心eと、プルキニエ像の位置uの位置関係から視線を推定する。このとき、赤外線光源90と撮影カメラ91との位置関係は、事前に測定されているため、既知である。従って、眼球900の位置は、カメラキャリブレーションにより導くことができる。
【0011】
つまり、カメラ座標系において、プルキニエ像の位置u及び瞳孔中心eの2次元座標(x,y)を求めることができる。また、奥行座標zは、撮影カメラ91の焦点距離やステレオ画像の視差により、高い精度で求めることができる。従って、
図18に示すように、世界座標系において、角膜曲率中心c及び瞳孔中心eの位置ベクトルを求めることができる。
【0012】
個人キャリブレーション手段13は、
図19に示すように、視線ベクトル・基準点算出手段12が算出した視線ベクトルvに、個人キャリブレーションによる補正を施すものである。
図19の距離L及び角膜曲率半径Cは、個人差のある定数である。そこで、個人キャリブレーション手段13は、角膜曲率中心cから瞳孔中心eまでの距離Lと、角膜曲率半径Cとを求める個人キャリブレーションを行う。
なお、
図19では、角膜曲率中心cを中心として、角膜曲率半径Cを有する円を破線で図示した。
【0013】
ここで、個人キャリブレーションでは、
図20に示すように、ヒトの眼球900の形状を想定した球面眼球モデル910を用いる。この
図20では、図面を見やすくするため、角膜901の一部について、角膜901の表面を、角膜曲率中心cを基準とする極座標系において等角度で分割した球面眼球モデル910を図示した。つまり、球面眼球モデル910は、角膜901の形状を球面状としている。
【0014】
そして、個人キャリブレーションでは、球面眼球モデル910を用いて、距離L及び角膜曲率半径Cを求める。具体的には、個人キャリブレーションでは、表示画面上で基準となるマーカに視線を向けた際の測定データを、2次以上の曲面で表した眼球モデルに対して最小二乗法を適用して近似する。ここで、非特許文献1には、3次以上の近似を行っても誤差が増大すると記載されている。従って、個人キャリブレーションでは、2次の曲面、つまり、球面を組み合わせて、眼球及び角膜からなる球面眼球モデルを作成し、視線ベクトルvの補正に用いる。
【0015】
視線座標変換・出力手段14は、個人キャリブレーション手段13で補正した視線ベクトルvを任意の座標系に座標変換して出力するものである。
ここで、瞳孔−角膜反射法では、
図21に示すように、世界座標系(x’,y’,z’)と、カメラ座標系(x,y,z)と、画像座標系(x
0,y
0)とを用いている。
この世界座標系は、表示手段92に対して固定された3次元座標系であり、例えば、表示手段92の表示画面下部を原点とする。
また、カメラ座標系は、例えば、撮影カメラ91の光学主点を原点とする3次元座標系である。
また、画像座標系は、表示手段92の表示画面(つまり、眼球画像93)を指す2次元座標系であり、例えば、世界座標系の奥行位置をゼロとした座標系である。
なお、
図21では、表示手段92において、眼球900からの視線ベクトルvの延長線と表示手段92の表示画面との交点を点92aとして図示した。
【0016】
そして、画像座標系における位置ベクトルp
0、世界座標系における位置ベクトルp’、および、カメラ座標系における位置ベクトルpは、Tsaiのカメラキャリブレーションで得られる変換行列Rw,Rcを用いて、以下の(1)式のように座標変換できる(非特許文献3)。
つまり、視線座標変換・出力手段14は、この(1)式によって、世界座標系と、カメラ座標系と、画像座標系との間で、自在に座標変換を行うことができる。なお、(1)式では、Tが転置行列である。
【0017】
【数1】
【発明の概要】
【発明が解決しようとする課題】
【0019】
しかし、非特許文献1に記載の技術では、測定された視線の誤差が大きいという問題がある。
例えば、測定した視線を用いて、PC上でポインティング操作を行う場合を考える。この場合、視線に1度でも誤差があると、ユーザが表示画面上のアイコンを指定する際、違和感を覚えることになる。つまり、視線によるポインティングでは、少しでも誤差があると、視線の中心でポインタを捉えることが原理的に不可能であり、この誤差の修正が困難である。
また、テレビやPCの表示画面は、臨場感及び操作性の高さを追及するため、広視野化が進んでいる。広視野な表示画面において視線測定を行う場合、その周辺部でも誤差を小さく抑える必要がある。
【0020】
そこで、視線の誤差を小さくするため、従来の瞳孔−角膜反射法は、個人キャリブレーションを何度も行うことが多い。従って、個人キャリブレーションの作業にかかる手間が、視線測定を行う際に大きな負担となる。さらに、一旦、個人キャリブレーションを終了した後、どのくらい正確に視線を測定できているかの判断が極めて困難である。言い換えるなら、測定した視線を後で分析する際、測定前の個人キャリブレーションの結果を、唯一無比な正解データとして信用せざるを得ない。このため、個人キャリブレーション作業は、丁寧に行わねばならず、視線測定の作業負担が大きくなる原因となっている。
【0021】
ここで、個人キャリブレーションが一度で済まない原因は、角膜を球面とした球面眼球モデルを用いるため、表示画面の中心部及び周辺部の両方で視線の誤差をゼロにできないことと考えられる。
図22(a)に示すように、眼球画像93は、例えば、角膜901と、瞳孔902と、虹彩903とが撮影される。また、
図22(b)に示すように、眼球900は、角膜901と、瞳孔902と、虹彩903と、強膜904と、房水905と、水晶体906と、網膜907と、中心窩908とで構成される。そして、この角膜901は、その曲率が一様ではなく、周辺になるほど曲率半径が大きくなる人が多い。さらに、角膜901は、同じ個人でも曲率変化が一様ではない。このため、個人キャリブレーションが一度で済むような、万人に最適化された眼球モデルは、その生成が極めて困難である。
【0022】
そこで、本発明は、作業負担が少なく、視線の誤差を小さく抑える視線誤差補正装置、そのプログラム及びその方法を提供することを課題とする。
【課題を解決するための手段】
【0023】
本発明者は、前記した個人キャリブレーションにおいて、球面眼球モデルの球面性と、角膜形状の非球面性との相違に起因した誤差が生じ、かつ、この誤差が座標変換を経ても残ることに着目し、座標変換後に視線の誤差を補正するための非球面眼球モデルを生成すれば、前記した課題を解決できることを見出し、本発明を完成させた。
【0024】
すなわち、本願第1発明に係る視線誤差補正装置は、球面眼球モデルによる瞳孔−角膜反射法で測定された視線の誤差を補正する視線誤差補正装置であって、表示制御手段と、誤差情報入力手段と、歪ベクトル算出手段と、非球面眼球モデル生成手段と、視線誤差補正手段と、を備えることを特徴とする。
【0025】
かかる構成によれば、視線誤差補正装置は、表示制御手段によって、所定位置にマーカが配置されたマーカ画像と、前記瞳孔−角膜反射法で測定された前記マーカに対するマーカ視線の位置とを表示手段に表示させる。ここで、マーカ視線は、画像座標系において、ユーザがマーカを注視したときの視線が瞳孔−角膜反射法で測定されたものである。
【0026】
また、視線誤差補正装置は、誤差情報入力手段によって、表示手段に表示されたマーカとマーカ視線との位置ずれを示す誤差情報が入力される。この誤差情報入力手段に入力された誤差情報は、ユーザがマーカを注視したとき、瞳孔−角膜反射法で測定した視線と、実際の視線との位置ずれを示している。
【0027】
また、視線誤差補正装置は、歪ベクトル算出手段によって、誤差情報入力手段に入力された誤差情報に基づいて、マーカ画像と同一サイズでマーカ視線の位置を示した平面画像から、マーカ視線の位置を前記マーカに一致させるように歪ませた歪み平面を生成し、画像座標系で歪み平面の歪みを示す歪ベクトルを算出する。この歪ベクトル算出手段で算出された歪ベクトルは、平面画像と歪み平面との対応点の位置ずれ量及び位置ずれ方向を示している。
【0028】
また、視線誤差補正装置は、非球面眼球モデル生成手段によって、歪ベクトルに基づいて、球面な球面眼球モデルに起因する視線の誤差を補正するために、非球面な角膜形状を示す非球面眼球モデルを生成する。そして、視線誤差補正装置は、視線誤差補正手段によって、非球面眼球モデル生成手段で生成された非球面眼球モデルに基づく回転により、瞳孔−角膜反射法で測定された視線の誤差を補正する。このように、視線誤差補正装置は、座標変換後に生成された非球面眼球モデルを用いて、視線の誤差を補正する。
【0029】
また、本願第2発明に係る視線誤差補正装置は、非球面眼球モデル生成手段が、非球面眼球モデルとして、画像座標系の歪ベクトルを、眼球中心を原点とする眼球中心極座標系に座標変換することで、球面眼球モデルに対する視線の差分角度を示す差分角度眼球モデルを生成する差分角度眼球モデル生成手段、を備え、視線誤差補正手段が、差分角度眼球モデルを参照して、眼球中心極座標系の原点を中心として、瞳孔−角膜反射法で測定された視線を差分角度だけ回転させることで、視線の誤差を補正する差分角度眼球モデル視線誤差補正手段、を備えることを特徴とする。
かかる構成によれば、視線誤差補正装置は、簡易な座標変換で差分角度眼球モデルを生成することができる。
【0030】
また、本願第3発明に係る視線誤差補正装置は、非球面眼球モデル生成手段が、瞳孔−角膜反射法で測定された視線を測定するための撮影カメラの位置lと、眼球の回転角度θと、角膜表面上でプルキニエ像の位置u’
θと、瞳孔中心の位置(x
θ,y
θ,z
θ)と、撮影カメラの位置lを基点に歪ベクトルが示す撮影カメラの仮想位置l’とし、瞳孔中心を原点とした瞳孔中心極座標系において、以下の(3)式で法線ベクトルn
θが定義された法線ベクトル眼球モデルを非球面眼球モデルとして生成する法線ベクトル眼球モデル生成手段、を備え、視線誤差補正手段が、法線ベクトル眼球モデルを参照して、プルキニエ像の位置にある法線ベクトルが撮影カメラを向く回転角を算出し、算出した回転角だけ法線ベクトル眼球モデルを回転させ、回転後の法線ベクトル眼球モデルにおいて、角膜曲率中心から瞳孔中心を向くベクトルを、誤差が補正された前記視線として出力する法線ベクトル眼球モデル視線誤差補正手段、を備えることを特徴とする。
【0031】
ここで、瞳孔−角膜反射法は、瞳孔中心を基準として視線を測定する。また、法線ベクトル眼球モデルは、瞳孔中心を基準(原点)とした瞳孔中心極座標系である。このように、視線誤差補正装置は、瞳孔−角膜反射法と法線ベクトル眼球モデルとの基準位置を同一にできるため、視線測定時に頭部が動いた場合でも、視線の誤差を補正することができる。
【0032】
また、本願第4発明に係る視線誤差補正装置は、歪ベクトル算出手段で算出された歪ベクトルを、画像座標系で予め設定されたサイズの領域に対応付けることで、ルックアップテーブルを生成するルックアップテーブル生成手段、を備え、非球面眼球モデル生成手段が、ルックアップテーブル生成手段が生成したルックアップテーブルを参照して、非球面眼球モデルを生成することを特徴とする。
かかる構成によれば、視線誤差補正装置は、ルックアップテーブルを参照することで、補間計算を都度行う必要がなくなる。
【0033】
また、本願第5発明に係る視線誤差補正プログラムは、球面眼球モデルによる瞳孔−角膜反射法で測定された視線の誤差を補正するために、一般的なコンピュータが備えるCPU、メモリ、ハードディスクなどのハードウェア資源を、表示制御手段、誤差情報入力手段、歪ベクトル算出手段、非球面眼球モデル生成手段、視線誤差補正手段、として機能させることを特徴とする。このプログラムは、通信回線を介して配布してもよく、CD−ROMやフラッシュメモリ等の記録媒体に書き込んで配布してもよい。
【0034】
また、本願第6発明に係る視線誤差補正方法は、球面眼球モデルによる瞳孔−角膜反射法で測定された視線の誤差を補正する視線誤差補正装置の視線誤差補正方法であって、マーカ表示ステップと、マーカ視線入力ステップと、マーカ視線表示ステップと、誤差情報入力ステップと、歪ベクトル算出ステップと、非球面眼球モデル生成ステップと、視線誤差補正ステップと、を順に実行することを特徴とする。
【発明の効果】
【0035】
本発明によれば、以下のような優れた効果を奏する。
本願第1,5,6発明によれば、座標変換後に生成された非球面眼球モデルにより、瞳孔−角膜反射法で測定された視線の誤差を補正するため、個人キャリブレーションを繰り返し行う必要がなく、作業負担を少なくすることができる。さらに、本願第1,5,6発明によれば、非球面眼球モデルを用いて、球面眼球モデルの球面性と角膜形状の非球面性との相違に起因する誤差も補正できるため、視線の誤差を小さく抑えることができる
【0036】
本願第2発明によれば、簡易な座標変換で差分角度眼球モデルを生成することができる。
本願第3発明によれば、瞳孔−角膜反射法と法線ベクトル眼球モデルとの基準位置が同一のため、視線測定時に頭部が動いた場合でも、視線の誤差を補正することができる。
本願第4発明によれば、ルックアップテーブルを参照することで、補間計算を都度行う必要がなくなり、演算処理の高速化を図ることができる。
【発明を実施するための形態】
【0038】
(実施形態)
[視線測定・誤差補正装置の構成]
以下、本発明の実施形態について、適宜図面を参照しながら詳細に説明する。なお、同一の機能を有する手段には同一の符号を付し、説明を省略した。
図1を参照して、本発明の実施形態に係る視線測定・誤差補正装置1の構成について、説明する。
図1に示すように、視線測定・誤差補正装置1は、球面眼球モデルによる瞳孔−角膜反射法で視線を測定すると共に、測定した視線の誤差を補正するものであり、視線測定装置10Aと、視線誤差補正装置20とを備える。
【0039】
視線測定装置10Aは、瞳孔−角膜反射法でユーザ(不図示)の視線(視線ベクトル)を測定するものであり、瞳孔・プルキニエ像検出手段11と、視線ベクトル・基準点算出手段12と、視線座標変換・出力手段14とを備える。
【0040】
ここで、視線誤差補正装置20で非球面眼球モデルを生成するとき(以後、「モデル生成」)、視線測定装置10Aは、ユーザがマーカMk(
図2)を注視しているときの視線(マーカ視線)を測定する。そして、視線測定装置10Aは、このマーカ視線を画像座標系に座標変換して、マーカ視線入力手段21aに出力する。
【0041】
一方、非球面眼球モデルを用いて視線誤差補正装置20で視線の誤差を補正するとき(以後、「視線誤差補正」)、視線測定装置10Aは、ユーザが任意のオブジェクト(例えば、表示画面内のアイコン)を注視しているときの視線を測定する。そして、視線測定装置10Aは、後記する極座標系に視線を座標変換して、視線誤差補正手段24に出力する。
【0042】
なお、視線測定・誤差補正装置1は、モデル生成又は視線誤差補正の何れの動作を行うか、ユーザが手動で切り替えることができる。
また、視線測定装置10Aは、
図16の個人キャリブレーション手段13を備えない以外、
図16の視線測定装置10と同様のため、詳細な説明を省略する。
【0043】
[視線誤差補正装置の構成]
視線誤差補正装置20は、視線測定装置10Aで測定された視線の誤差を補正するものであり、入出力制御手段21と、歪ベクトル算出手段22と、非球面眼球モデル生成手段23と、視線誤差補正手段24とを備える。
この入出力制御手段21、歪ベクトル算出手段22及び非球面眼球モデル生成手段23は、モデル生成に用いる手段である。一方、視線誤差補正手段24は、視線誤差補正に用いる手段である。
【0044】
入出力制御手段21は、モデル生成時、マーカ視線及び誤差情報の入力と、マーカ画像等の各画像の出力とを行うものであり、マーカ視線入力手段21aと、表示制御手段21bと、誤差情報入力手段21cとを備える。
【0045】
マーカ視線入力手段21aは、視線測定装置10Aからマーカ視線が入力され、入力されたマーカ視線を表示制御手段21bに出力するものである。
表示制御手段21bは、後記するマーカ画像と、マーカ視線入力手段21aから入力されたマーカ視線の位置を示すポインタPt(
図2)とを、表示手段92に表示させるものである。
誤差情報入力手段21cは、外部(例えば、ユーザ)から、誤差情報が入力され、入力された誤差情報を、歪ベクトル算出手段22に出力するものである。
【0046】
<マーカ及びポインタの表示、誤差情報の入力>
図2,
図3を参照して、マーカ及びポインタの表示と、誤差情報の入力とについて、詳細に説明する(適宜
図1参照)。
図2に示すように、モデル生成時、表示制御手段21bは、マーカ画像94を表示手段92に表示させる。このマーカ画像94は、所定位置にマーカMkが配置された画像である。
図2の例では、マーカ画像94は、9個のマーカMk
1〜Mk
9がマトリクス状に配置されている。また、マーカ画像94は、後記する歪み平面を生成する都合上、表示手段92の表示画面と同じサイズ又はより小さなサイズとする。
【0047】
ここで、ユーザは、表示手段92に表示されたマーカ画像94のマーカMkの何れかを注視する。すると、マーカ視線入力手段21aは、視線測定装置10Aから、マーカMkに対する視線であるマーカ視線が入力され、入力されたマーカ視線を表示制御手段21bに出力する。そして、表示制御手段21bは、このマーカ視線の位置を示すポインタPtを表示手段92に表示させる。
図2の例では、マーカMk
5に対するポインタPtが、表示手段92に表示されている。
【0048】
さらに、ユーザは、表示手段92に表示されたマーカMkとポインタPtとの位置ずれを確認し、図示を省略したマウスを操作して、この位置ずれ(誤差情報)を誤差情報入力手段21cに入力する。
図3の例では、ユーザがマーカMk
5を注視したときのポインタPtは、マーカMk
5の左下に位置している。従って、ユーザは、ポインタPtの中心がマーカMk
5に一致するように、ポインタPtをマウスでドラッグする。つまり、ポインタPtは、ユーザの操作により、ポインタPt’の位置に移動する。この例では、誤差情報は、マーカMk
5に対するポインタPtの位置ずれを示しており、マーカMkとポインタPtとポインタPt’との座標情報で表すことができる。
【0049】
なお、表示制御手段21bは、視線誤差補正時、ポインタPtを表示手段92にリアルタイムに表示させる。さらに、表示制御手段21bは、視線誤差補正後であっても、誤差の補正が正確に行われたか否かを確認するため、ポインタPtを表示手段92に表示させてもよい。
また、ユーザは、マーカMk
5と同様、全てのマーカMkを注視して、全てのマーカMkに対する誤差情報を入力する。
【0050】
<歪ベクトルの算出>
以下、
図4を参照して、
図1の歪ベクトル算出手段22について、詳細に説明する(適宜
図1参照)。
歪ベクトル算出手段22は、モデル生成時、誤差情報入力手段21cから入力された誤差情報に基づいて、マーカ画像94と同一サイズでポインタPtの位置を示した平面画像95から、ポインタPtをマーカMkに一致させた歪み平面95’を生成して、歪ベクトルを算出するものである。
【0051】
最初に、歪ベクトル算出手段22による歪み平面95’の生成を詳細に説明する。
歪ベクトル算出手段22は、
図4(a)に示すように、誤差情報のポインタPtの座標情報により、平面画像95を生成する。
図4(a)の例では、平面画像95は、
図2及び
図3のマーカ画像94と同一サイズであり、9個のマーカMkのそれぞれに対して、ポインタPtの位置を示している。また、
図4(a)では、説明をわかりやすくするため、マーカ画像94と平面画像95とを重ねて図示した。
【0052】
次に、歪ベクトル算出手段22は、
図4(b)に示すように、誤差情報のマーカMk及びポインタPtの座標情報により、9個のポインタPtがそれぞれに対応するマーカMkに一致するように平面画像95を歪ませて、歪み平面95’を生成する。この歪み平面95’は、複数の曲線で構成される曲面として表すことができる。例えば、歪ベクトル算出手段22は、ベジエ曲線又はBスプライン曲線で構成される曲面によって歪み平面95’を生成する。また、歪ベクトル算出手段22は、NURBS(Non-Uniform Rational B-Spline)曲面、UV(曲面上のXY座標)平面を歪ませた曲面、又は、多角形(ポリゴン)を用いた擬似曲線によって、歪み平面95’を生成してもよい。
【0053】
本実施形態では、歪ベクトル算出手段22は、NURBS曲面によって、歪み平面95’を生成することとする。また、歪ベクトル算出手段22は、表示制御手段21bを介して、生成した歪み平面95’を表示手段92に表示させてもよい。さらに、歪ベクトル算出手段22は、表示手段92に表示された歪み平面95’を、各ユーザが変形可能としてもよい。
なお、マーカMkは表示画面に対して固定される。一方、ポインタPtは、歪み平面95’にテクスチャマッピングして表示されるため、
図4(b)のように歪んでしまう。
【0054】
このNURBS曲面は、複数のコントロールポイント(CVコントロールポイント)を持つ曲面である。このコントロールポイントは、表示画面内で任意位置に配置できる。また、NURBS曲面は、次数の値によって、何次の方程式で曲面を表すかが決まる。
【0055】
また、NURBS曲面において、それぞれのマーカMkは、1個〜4個のコントロールポイントにリンクされている。このコントロールポイントは、ポインタPtと一定距離よりも近いマーカMkにリンクされたものが、コントロール権を有する。このコントロール権は、ユーザによりコントロール(移動)可能なコントロールポイントだけに付加される。つまり、ユーザがコントロールできるのは、1個のマーカMkにリンクされたコントロールポイントだけである。そして、コントロール権を有するコントロールポイントは、ドラックアンドドロップ操作によって、歪み平面95’上を移動させることができる。このコントロールポイントの移動に応じて、NURBS曲面が変形する。さらに、コントロール権は、ドラッグ操作中のコントロールポイントから、他のコントロールポイントに付加されないこととする。さらに、コントロールポイントの数を増やせば、表示画面の周辺部に位置するポインタPtを移動させたとき、他のポインタPtがマーカMkに一致しなくなる事態を解消できる。
なお、NURBS曲面は、例えば、参考文献“「Maya教科書1−モデリング&質感設定の基礎」、川上、2009”に詳細に記載されている。
【0056】
次に、歪ベクトル算出手段22による歪ベクトルの算出を詳細に説明する。
歪ベクトル算出手段22は、画像座標系で歪み平面95’の歪みを示す歪ベクトルを算出する。ここで、歪ベクトル算出手段22は、平面画像95と歪み平面95’との間で、対応する点(画素)である対応点の位置ずれを求める。そして、歪ベクトル算出手段22は、画像座標系において、対応点の位置ずれ量及び位置ずれ方向を示すベクトルを、歪ベクトルとして算出する。
【0057】
このとき、歪ベクトル算出手段22は、全ての対応点から歪ベクトルを算出する、マーカMkの位置にある対応点から歪ベクトルを算出するというように、任意の対応点から歪ベクトルを算出すればよい。本実施形態では、マーカMkの位置にある対応点から歪ベクトルを算出することとする。その後、歪ベクトル算出手段22は、算出した歪ベクトルを非球面眼球モデル生成手段23に出力する。
【0058】
図1に戻り、視線誤差補正装置20の構成について、説明を続ける。
非球面眼球モデル生成手段23は、モデル生成時、歪ベクトル算出手段22から入力された歪ベクトルに基づいて、各ユーザに対応した非球面眼球モデルを生成するものである。
この非球面眼球モデルは、非球面な角膜形状を示した眼球モデルであり、差分角度眼球モデル及び法線ベクトル眼球モデルの2種類がある。従って、非球面眼球モデル生成手段23は、それぞれの非球面眼球モデルを生成するために、差分角度眼球モデル生成手段23aと、法線ベクトル眼球モデル生成手段23bとを備える。
なお、差分角度眼球モデル生成手段23a及び法線ベクトル眼球モデル生成手段23bの詳細は、後記する。
【0059】
視線誤差補正手段24は、視線誤差補正時、非球面眼球モデル生成手段23で生成された非球面眼球モデルに基づく回転により、視線の誤差を補正するものである。
また、視線誤差補正手段24は、2種類の非球面眼球モデルで視線の補正方法が異なるために、差分角度眼球モデル視線誤差補正手段24aと、法線ベクトル眼球モデル視線誤差補正手段24bとを備える。
【0060】
まず、非球面眼球モデルの前提となる極座標系への座標変換を説明した後、差分角度眼球モデルの生成と、差分角度眼球モデルによる補正と、法線ベクトル眼球モデルの生成と、法線ベクトル眼球モデルによる補正とを順に説明する。
【0061】
<極座標系への座標変換>
以下、
図5を参照して、極座標系への座標変換について、詳細に説明する。
差分角度眼球モデルは、眼球中心を原点とする眼球中心極座標系で表される。このため、視線誤差補正装置20は、眼球中心極座標系への座標変換を行う必要がある。
【0062】
図5に示すように、空間上で点α,点βの位置が既知であるとする。例えば、点αが撮影カメラ91の位置(光学主点)であり、世界座標系で(x’,y’)に位置する。また、点βが、眼球中心、つまり、眼球中心極座標系の原点(x
0,y
0)である。さらに、点α,点βの距離をz’とする。
なお、
図5では、図面の重複を避けるため、2軸回りの回転を1枚の図面にまとめて図示した。
【0063】
このとき、例えば、点αを向いている眼球900が、目標物γを向くために必要なx軸回転角θ及びy軸回転角φは、以下の(2)式で定義される。この(2)式において、f
i−wは、Tsaiのカメラキャリブレーションで得ることができる。つまり、空間上で点α,点βが既知であれば、(1)式及び(2)式を用いて、世界座標系と、カメラ座標系と、画像座標系と、眼球中心極座標系との間で、自在に座標変換を行うことができる。これと同様、点βを瞳孔中心とすれば、(1)式及び(2)式を瞳孔中心極座標系にも適用することができる。
【0065】
<差分角度眼球モデルの生成>
以下、
図6を参照して、差分角度眼球モデル生成手段23aによる差分角度眼球モデルの生成について、詳細に説明する(適宜
図1参照)。
図6に示すように、差分角度眼球モデル生成手段23aは、歪ベクトル算出手段22から入力された画像座標系の歪ベクトルを、眼球中心極座標系に座標変換することで、差分角度眼球モデル96を生成するものである。
【0066】
ここで、差分角度眼球モデル生成手段23aは、マーカMk(
図2)の位置にある歪ベクトルから差分角度眼球モデルを生成する。
図6では、説明を簡易にするため、マーカMk(歪ベクトル)が5個であることとする。また、
図6では、図面を見やすくするため、角膜901の一部について、差分角度眼球モデル96を図示した。
【0067】
まず、差分角度眼球モデル生成手段23aは、球面眼球モデル910(
図20)と同様、角膜表面の中心を極として、球面表面を領域に分割する。この領域のサイズは、予め任意に設定される。そして、差分角度眼球モデル96の精度は、領域のサイズに比例し、この領域が小さくなるほど向上する。
【0068】
また、差分角度眼球モデル生成手段23aは、マーカMkの位置に対応する領域を求める。つまり、差分角度眼球モデル生成手段23aは、画像座標系で表されたマーカMkの座標を眼球中心極座標系に座標変換して、座標変換後のマーカMkが含まれる領域を5個求める。そして、差分角度眼球モデル生成手段23aは、この5個の領域に対して、後記する差分角度ベクトルを対応付けるマッピングを行う。
【0069】
また、差分角度眼球モデル生成手段23aは、マーカMkの位置にある歪ベクトルを眼球中心極座標系に座標変換して差分角度ベクトル96aを求める。つまり、差分角度眼球モデル生成手段23aは、5個の歪ベクトルの先端及び終端を、画像座標系から眼球中心極座標系へ座標変換する。そして、差分角度眼球モデル生成手段23aは、座標変換後の先端位置と終端位置とを結ぶベクトルを、眼球中心極座標系での差分角度ベクトル96aとして求める。さらに、差分角度眼球モデル生成手段23aは、
図6に示すように、5個の領域に対して、5個の差分角度ベクトル96aを対応付けるマッピングを行う。
【0070】
その後、差分角度眼球モデル生成手段23aは、差分角度ベクトル96aが存在しない空の領域について、線形補間等の補間手法により、差分角度ベクトル96aを補間する(不図示)。このようにして、差分角度眼球モデル生成手段23aは、全ての領域に差分角度ベクトル96aが対応付けられた差分角度眼球モデル96を生成する。
【0071】
この差分角度ベクトル96aは、球面眼球モデル910(
図20)に対する視線の差分角度(補正回転角度)を示したものである。
つまり、差分角度眼球モデル96は、球面眼球モデル910の球面性と、角膜901の非球面性との相違に起因した誤差を、領域ごとの差分角度ベクトル96aで示したものである。
【0072】
<差分角度眼球モデルによる補正>
以下、
図7を参照して、差分角度眼球モデル視線誤差補正手段24aで行われる差分角度眼球モデルによる補正について、詳細に説明する(適宜
図1参照)。
図7に示すように、差分角度眼球モデル視線誤差補正手段24aは、差分角度眼球モデル96(
図6)を参照して、眼球中心極座標系の原点(眼球中心b)を中心として、瞳孔−角膜反射法で測定された視線を差分角度だけ回転させることで、視線の誤差を補正するものである。
【0073】
この
図7では、説明を簡易にするため、2次元方向の差分角度(Δθ,Δφ)を1次元方向の差分角度Δφとして図示し、赤外線光源90及び撮影カメラ91が同一の位置であることとした。
また、
図7では、平面画像95の点(画素)P、及び、歪み平面95’の点(画素)P’が、対応点(対応画素)であることとする。つまり、歪ベクトルがP−P’となる。
【0074】
ここで、差分角度眼球モデル視線誤差補正手段24aは、視線誤差補正時、ユーザが任意のオブジェクトを注視しているときの視線(視線ベクトル)が入力される。また、差分角度眼球モデル視線誤差補正手段24aは、座標変換の視線ベクトルvが、差分角度眼球モデル96で何れの領域(
図6)に含まれるか求める。そして、差分角度眼球モデル視線誤差補正手段24aは、差分角度眼球モデル96から、視線ベクトルvが含まれる領域の差分角度Δφを取得する。
【0075】
そして、差分角度眼球モデル視線誤差補正手段24aは、眼球中心bを中心として、視線ベクトルvを差分角度Δφだけ回転させて、誤差を補正した視線ベクトルv’を求める。言い換えるなら、差分角度眼球モデル視線誤差補正手段24aは、角膜901を角膜901’まで回転させ、プルキニエ像の位置uで求めた視線ベクトルvを、プルキニエ像の位置u’で求めた視線ベクトルv’に補正する。つまり、
図7では、角膜901の回転に伴い、赤外線光源90、撮影カメラ91及び角膜曲率中心cの位置が、赤外線光源90’、撮影カメラ91’及び角膜曲率中心c’の位置まで移動することになる。
【0076】
その後、差分角度眼球モデル視線誤差補正手段24aは、誤差が補正された視線(視線ベクトルv’)を出力する。本実施形態では、差分角度眼球モデル視線誤差補正手段24aは、誤差が補正された視線(「補正後の視線」と図示)を表示制御手段21bに出力して、この視線を表示手段92に表示させる。
なお、差分角度眼球モデル視線誤差補正手段24aは、誤差が補正された視線の利用方法に応じて、様々な出力先に対して、任意の座標系で視線を出力できる。
【0077】
<法線ベクトル眼球モデルの生成>
以下、
図8〜
図10を参照して、法線ベクトル眼球モデル生成手段23bによる法線ベクトル眼球モデルの生成について、説明する(適宜
図1参照)。
図8に示すように、法線ベクトル眼球モデル生成手段23bは、瞳孔中心極座標系において、以下の(3)式で法線ベクトルn
θが定義された法線ベクトル眼球モデル97(
図9)を生成するものである。
【0079】
この(3)式では、撮影カメラ91(
図1)の位置lと、眼球の回転角度θと、角膜表面上でプルキニエ像の位置u’
θと、瞳孔中心eの位置(x
θ,y
θ,z
θ)と、仮想カメラの位置l’とである。また、(3)式では、‘|| ||’がノルムである。
また、撮影カメラ91の仮想位置l’は、角膜が理想的な球面の場合において、撮影カメラ91の位置lを基点に歪ベクトルが示す位置である。言い換えるなら、歪ベクトルは、撮影カメラ91の位置lから仮想位置l’までを結ぶベクトルである。
また、法線ベクトルn
θは、プルキニエ像の位置u’
θから撮影カメラ91の位置lまでを結ぶベクトルである。
【0080】
なお、
図8では、説明を簡易にするため、2次元方向の眼球の回転角度(θ,φ)を1次元方向の回転角度θとして図示した。ここで、眼球の回転角度θ及び、瞳孔中心eの位置(x
θ,y
θ,z
θ)は、Tsaiのカメラキャリブレーションで予め求めておく。
また、
図8では、瞳孔中心eを中心とし、瞳孔中心eからプルキニエ像の位置u’
θまでの半径を有する円を図示した。このとき、法線ベクトルn
θは、非球面な角膜形状に対し、球面眼球モデルに誤差があるため、プルキニエ像の位置u’
θで球面表面の接線に対して垂直になっていない。言い換えるなら、法線ベクトルn
θは、非球面な角膜の表面に対する法線を示す。
【0081】
つまり、仮想カメラの位置l’で撮影されるべきプルキニエ像が、球面眼球モデルの球面性と、角膜形状の非球面性との相違に起因した誤差のために、撮影カメラ91(現実のカメラ)の位置lで撮影されることを意味する。この誤差を補正するには、位置u’
θにおいて、
図8に示すように、法線ベクトルn
θを定義すればよい。
【0082】
図8に示すように、法線ベクトルn
θ=l−u’
θとなる。また、撮影カメラの位置lは、Tsaiのカメラキャリブレーションにより世界座標系での位置を求めて、瞳孔中心極座標系に座標変換する。従って、法線ベクトルn
θを算出するために、プルキニエ像の位置u’
θを求めればよい。また、プルキニエ像の位置u’
θは、瞳孔中心極座標系において、仮想カメラの位置l’と、瞳孔中心eの位置(x
θ,y
θ,z
θ)とを結ぶ直線上にある。また、プルキニエ像の位置u’
θは、瞳孔中心eの位置(x
θ,y
θ,z
θ)との距離は、一定であり、1とする。すると、プルキニエ像の位置u’
θは、前記した(3)式で定義できる。
【0083】
ここで、法線ベクトル眼球モデル生成手段23bは、
図9に示すように、差分角度眼球モデル生成手段23aと同様、角膜表面の中心を極として、球面表面を各領域に分割する。そして、法線ベクトル眼球モデル生成手段23bは、眼球の回転角度θを変化させながら、法線ベクトルn(n
θ)を求め、各領域に対応づけるマッピングを行う。
図9の例では、法線ベクトル眼球モデル生成手段23bは、マーカMk(
図2)の位置に対応する5個の領域について、5個の法線ベクトルnを求める。
【0084】
その後、法線ベクトル眼球モデル生成手段23bは、法線ベクトルnが存在しない空き領域について、線形補間等の補間手法により、法線ベクトルnを補間する(不図示)。このようにして、法線ベクトル眼球モデル生成手段23bは、全ての領域に法線ベクトルnが対応付けられた法線ベクトル眼球モデル97を生成する。
【0085】
この法線ベクトルnは、領域ごとに角膜901の表面の法線を示したものである。
この法線ベクトル眼球モデル97は、角膜表面の光学的な反射特性の違いを角膜表面の形状(傾斜)の違いとして示したものである。つまり、法線ベクトル眼球モデル97は、各領域の傾斜が、角膜形状の非球面性を表わしている。
【0086】
言い換えるなら、
図10に示すように、法線ベクトル眼球モデル97は、眼球900を眼球900’まで回転させて、プルキニエ像の位置uで求めた視線ベクトルvを、プルキニエ像の位置u’で求めた視線ベクトルv’に補正する眼球モデルである。つまり、
図10では、眼球900の回転に伴い、赤外線光源90、撮影カメラ91及び角膜曲率中心cの位置が、赤外線光源90’、撮影カメラ91’及び角膜曲率中心c’の位置まで移動することになる。
【0087】
<法線ベクトル眼球モデルによる補正>
以下、
図11〜
図13を参照して、法線ベクトル眼球モデル視線誤差補正手段24bで行われる法線ベクトル眼球モデルによる補正について、詳細に説明する(適宜
図1参照)。
【0088】
法線ベクトル眼球モデル視線誤差補正手段24bは、法線ベクトル眼球モデル97を参照して、プルキニエ像の位置uにある法線ベクトルnが撮影カメラ91を向く回転角を算出し、算出した回転角だけ法線ベクトル眼球モデル97を回転させ、回転後の法線ベクトル眼球モデル97において、角膜曲率中心c’(
図13)から瞳孔中心eを向くベクトルを、誤差が補正された視線ベクトルv’として出力するものである。
【0089】
図11に示すように、法線ベクトル眼球モデル視線誤差補正手段24bは、視線誤差補正時、ユーザが任意のオブジェクトを注視しているときの視線(視線ベクトルv)が入力される。ここで、瞳孔中心e及び角膜曲率中心cは、瞳孔−角膜反射法において、瞳孔中心eとプルキニエ像の位置uとの位置関係から求められる。また、視線ベクトルvは、世界座標系において、角膜曲率中心cと瞳孔中心eとの差になる(v=e−c)。
なお、
図11では、眼球中心bと、瞳孔中心極座標系(一点鎖線)とを図示した(
図12,
図13も同様)。
【0090】
また、
図12に示すように、プルキニエ像の位置uにある法線ベクトルnは、視線の誤差を補正する前、撮影カメラ91の方向を向いていない。従って、法線ベクトル眼球モデル視線誤差補正手段24bは、プルキニエ像の位置uにある法線ベクトルnが撮影カメラ91を向く回転角を算出する。
【0091】
そして、
図13に示すように、法線ベクトル眼球モデル視線誤差補正手段24bは、算出した回転角だけ法線ベクトル眼球モデル97を回転させて、補正する前のプルキニエ像の位置uから見て、プルキニエ像の位置uにある法線ベクトルnが、撮影カメラ91を向くようにする。さらに、法線ベクトル眼球モデル視線誤差補正手段24bは、
図13の法線ベクトル眼球モデル97において、角膜曲率中心c’から瞳孔中心eを向くベクトルを、誤差が補正された視線ベクトルv’として求める。このようにして、視線ベクトルvが視線ベクトルv’に補正される。
なお、
図13では、眼球900を眼球900’まで回転させることで、角膜曲率中心cの位置が角膜曲率中心c’の位置まで移動することになる。
【0092】
その後、法線ベクトル眼球モデル視線誤差補正手段24bは、誤差が補正された視線(視線ベクトルv’)を出力する。本実施形態では、法線ベクトル眼球モデル視線誤差補正手段24bは、誤差が補正された視線を表示制御手段21bに出力して、この視線を表示手段92に表示させる。
なお、法線ベクトル眼球モデル視線誤差補正手段24bは、誤差が補正された視線の利用方法に応じて、様々な出力先に対して、任意の座標系で視線を出力できる。
【0093】
[視線誤差補正装置の動作]
以下、
図14を参照して、
図1の視線誤差補正装置20の動作について、説明する(適宜
図1参照)。
視線誤差補正装置20は、表示制御手段21bによって、マーカ画像を、表示手段92に表示させる(ステップS1:マーカ表示ステップ)。
視線誤差補正装置20は、マーカ視線入力手段21aによって、視線測定装置10Aからマーカ視線が入力される(ステップS2:マーカ視線入力ステップ)。
【0094】
視線誤差補正装置20は、表示制御手段21bによって、マーカ画像とポインタとを表示手段92に表示させる(ステップS3:マーカ視線表示ステップ)。
視線誤差補正装置20は、誤差情報入力手段21cによって、外部から、誤差情報が入力される(ステップS4:誤差情報入力ステップ)。
【0095】
視線誤差補正装置20は、歪ベクトル算出手段22によって、誤差情報に基づいて、マーカ画像と同一サイズでポインタの位置を示した平面画像から、ポインタをマーカに一致させた歪み平面を生成し、歪ベクトルを算出する(ステップS5:歪ベクトル算出ステップ)。
【0096】
視線誤差補正装置20は、非球面眼球モデル生成手段23によって、歪ベクトルに基づいて、各ユーザに対応した非球面眼球モデルを生成する。
つまり、差分角度眼球モデル生成手段23aは、画像座標系の歪ベクトルを眼球中心極座標系に座標変換することで、差分角度眼球モデルを生成する。
また、法線ベクトル眼球モデル生成手段23bは、瞳孔中心極座標系において、前記した(3)式で法線ベクトルが定義された法線ベクトル眼球モデルを生成する(ステップS6:非球面眼球モデル生成ステップ)。
【0097】
視線誤差補正装置20は、視線誤差補正手段24によって、非球面眼球モデルに基づいて、視線の誤差を補正する。
つまり、差分角度眼球モデル視線誤差補正手段24aは、差分角度眼球モデルを参照して、眼球中心極座標系の原点を中心として、視線を差分角度だけ回転させることで、視線の誤差を補正する。
また、法線ベクトル眼球モデル視線誤差補正手段24bは、法線ベクトル眼球モデルを参照して、プルキニエ像の位置にある法線ベクトルnが撮影カメラを向くように法線ベクトル眼球モデルを回転させ、回転後の法線ベクトル眼球モデルにおいて、角膜曲率中心から瞳孔中心を向くベクトルを求めて、誤差が補正された視線として出力する(ステップS7:視線誤差補正ステップ)。
なお、ステップS1〜S6がモデル生成時の処理であり、ステップS7が視線誤差補正時の動作である。
【0098】
以上のように、本発明の実施形態に係る視線誤差補正装置20は、視線座標変換・出力手段14で座標変換されたマーカ視線を用いて、非球面眼球モデルを生成する。そして、視線誤差補正装置20は、この非球面眼球モデルを視線誤差補正時に用いるため、個人キャリブレーションを繰り返し行う必要がなく、作業負担を少なくすることができる。さらに、視線誤差補正装置20は、この非球面眼球モデルを用いて、球面眼球モデルの球面性と角膜形状の非球面性との相違に起因する誤差も補正できるため、視線の誤差を小さく抑えることができる
【0099】
さらに、視線誤差補正装置20は、簡易な座標変換で差分角度眼球モデルを生成することができる。
さらに、視線誤差補正装置20は、瞳孔−角膜反射法と法線ベクトル眼球モデルとの基準位置が同一のため、視線誤差補正時に頭部が動いた場合でも、視線の誤差を補正することができる。
【0100】
例えば、従来の瞳孔−角膜反射法では、個人キャリブレーションを繰返し行って、最良のデータを用いた場合でも、表示画面の周辺部で視線に1°以上の誤差が発生する。一方、視線誤差補正装置20では、表示画面の周辺部であっても視線の誤差を無視することができる。このように、視線誤差補正装置20では、従来の瞳孔−角膜反射法に比べて、視線の誤差を小さく抑えることができる。
【0101】
ここで、法線ベクトル眼球モデルは、角膜表面の一様でない形状を法線ベクトルのマップで示した絶対的な非球面眼球モデルと言うこともできる。一方、差分角度眼球モデルは、瞳孔−角膜反射法の球面眼球モデルに対する相対的な差分角度(補正回転角度)を示す非球面眼球モデルと言うこともできる。何れの非球面眼球モデルを用いた場合でも、視線誤差補正装置20は、視線の誤差を極めて小さくすることができる。以上の点を考慮して、視線誤差補正装置20は、差分角度眼球モデル又は法線ベクトル眼球モデルの何れを用いるか、ユーザが手動で切り替えることができる。
【0102】
なお、本実施形態では、視線誤差補正装置20は、差分角度眼球モデル及び法線ベクトル眼球モデルの両方を用いることとして説明したが、何れか一方のみを用いてもよい。つまり、視線誤差補正装置20は、差分角度眼球モデル生成手段23aと差分角度眼球モデル視線誤差補正手段24aとの組み合わせ、又は、法線ベクトル眼球モデル生成手段23bと法線ベクトル眼球モデル視線誤差補正手段24bとの組み合わせの何れか一方のみを備えてもよい。さらに、視線誤差補正装置20は、差分角度眼球モデル及び法線ベクトル眼球モデルの両方を組み合わせた非球面眼球モデル、例えば、瞳孔中心を基準とした極座標で、差分角度を保持する中間的な非球面眼球モデルを用いてもよい。
【0103】
なお、本実施形態では、視線誤差補正装置20は、非球面眼球モデル生成手段23において、差分角度ベクトル及び法線ベクトルの補間を行うこととして説明したが、本発明は、これに限定されない。つまり、視線誤差補正装置20は、歪ベクトル算出手段22において、マーカの位置で算出された歪ベクトルを用いて、線形補間等の補間手法により、マーカがない位置の歪ベクトルを補間してもよい。
【0104】
なお、本実施形態では、視線誤差補正装置20は、モデル生成を行った後、視線誤差補正を行うという一連の処理で説明したが、視線誤差補正の都度、非球面眼球モデルを生成しなくともよい。
例えば、視線誤差補正装置20は、認証機能(ログイン機能)により各ユーザを認証する。そして、視線誤差補正装置20は、各ユーザに対応する非球面眼球モデルが存在しない場合、そのユーザに対応する非球面眼球モデルを生成し、図示を省略した非球面眼球モデル記憶手段に格納する。以後、視線誤差補正装置20は、そのユーザに対応する非球面眼球モデルを非球面眼球モデル記憶手段から読み出して、視線誤差補正を行えばよい。
【0105】
なお、本実施形態では、歪み平面がNURBS曲面であることとして説明したが、本発明は、これに限定されない。つまり、本発明において、歪み平面は、ベジエ曲線又はBスプライン曲線で構成される曲面といった、コントロールポイントにより変形できるパラメトリック曲面であればよい。何れの曲面を用いた場合でも、視線誤差補正装置20は、コントロールポイントの数を増やせば、任意の歪み曲面を表現可能である。
【0106】
なお、本実施形態では、ポインタをテクスチャマッピングとして表示することとして説明した。このとき、円形のポインタは、平面画像を歪ませると、これに伴って歪んでしまう。これを回避したい場合、視線誤差補正装置20は、ポインタのUV座標を導いて、このUV座標に円形のポインタを配置すればよい。
【0107】
なお、本実施形態では、従来の球面眼球モデルを前提とした個人キャリブレーションを行わないこととして説明してが、本発明は、前記した個人キャリブレーションを行ってもよい。つまり、視線測定装置10Aは、個人キャリブレーション手段13を備えてもよい。
【0108】
なお、本実施形態では、視線測定・誤差補正装置1を独立した装置として説明したが、本発明は、これに限定されない。つまり、本発明は、一般的なコンピュータを視線測定・誤差補正装置1の各手段として動作させる視線誤差補正プログラムにより、実現することもできる。
【0109】
また、本発明では、スマートフォン又はタブレット端末に視線誤差補正プログラムをインストールしてもよい。この場合、ユーザは、ポインタの中心をマーカに一致させるように、スマートフォン又はタブレット端末の表示画面(表示手段92)を指でなぞる操作を行うことで、誤差情報を入力できる。そして、本発明をスマートフォン又はタブレット端末で実現した場合、ユーザがスマートフォン又はタブレット端末を大きく動かすことで、表示画面とユーザの頭部との位置関係が大きく変化する場合でも、正確な視線を測定することができる。
【0110】
(変形例)
以下、
図15を参照して、本発明の変形例に係る視線誤差補正装置20Bについて、第1実施形態と異なる点を説明する。
図1の視線誤差補正装置20は、ユーザがマーカと異なる位置を見た場合に補間計算を行う必要がある。そこで、視線誤差補正装置20Bは、予め補間演算を行って、その演算結果をルックアップテーブルに格納する。
【0111】
ルックアップテーブル生成手段25は、歪ベクトル算出手段22から歪ベクトルが入力され、この歪ベクトルを画像座標系で予め設定されたサイズの小領域に対応付けることで、ルックアップテーブルを生成するものである。
ここで、ルックアップテーブル生成手段25は、1以上の画素で構成される小領域に画像座標系を分割する。そして、ルックアップテーブル生成手段25は、画素単位で算出された歪ベクトルを各小領域に対応付けて、ルックアップテーブルを生成する。このとき、ルックアップテーブル生成手段25は、歪ベクトルを対応付けできなかった各小領域について、線形補間等の補間手法により、その小領域の歪ベクトルを補間してもよい。
【0112】
なお、視線誤差補正装置20Bは、入出力制御手段21、歪ベクトル算出手段22及び視線誤差補正手段24が
図1の各手段と同様のため、詳細な説明を省略する。
また、非球面眼球モデル生成手段23Bは、ルックアップテーブル生成手段25が生成したルックアップテーブルの歪ベクトルを用いる以外、
図1と同様のため、詳細な説明を省略する。
【0113】
以上のように、本発明の変形例に係る視線誤差補正装置20Bは、ルックアップテーブルを参照することで、補間計算を都度行う必要がなくなり、演算処理の高速化を図ることができる。
なお、視線誤差補正装置20Bは、2次元の画像処理しか行っていないため、頭部が動くと誤差が生じることになる。