(57)【特許請求の範囲】
【請求項１】
球面眼球モデルによる瞳孔−角膜反射法で測定された視線の誤差を補正する視線誤差補正装置であって、
所定位置にマーカが配置されたマーカ画像と、前記瞳孔−角膜反射法で測定された前記マーカに対するマーカ視線の位置とを表示手段に表示させる表示制御手段と、
前記表示手段に表示されたマーカとマーカ視線との位置ずれを示す誤差情報が入力される誤差情報入力手段と、
前記誤差情報入力手段に入力された誤差情報に基づいて、前記マーカ画像と同一サイズで前記マーカ視線の位置を示した平面画像から、前記マーカ視線の位置を前記マーカに一致させるように歪ませた歪み平面を生成し、画像座標系で前記歪み平面の歪みを示す歪ベクトルを算出する歪ベクトル算出手段と、
前記歪ベクトルに基づいて、非球面な角膜形状を示す非球面眼球モデルを生成する非球面眼球モデル生成手段と、
前記非球面眼球モデル生成手段で生成された非球面眼球モデルに基づく回転により、前記瞳孔−角膜反射法で測定された視線の誤差を補正する視線誤差補正手段と、
を備えることを特徴とする視線誤差補正装置。
【請求項２】
前記非球面眼球モデル生成手段は、
前記非球面眼球モデルとして、前記画像座標系の歪ベクトルを、眼球中心を原点とする眼球中心極座標系に座標変換することで、前記球面眼球モデルに対する視線の差分角度を示す差分角度眼球モデルを生成する差分角度眼球モデル生成手段、を備え、
前記視線誤差補正手段は、
前記差分角度眼球モデルを参照して、前記眼球中心極座標系の原点を中心として、前記瞳孔−角膜反射法で測定された視線を前記差分角度だけ回転させることで、当該視線の誤差を補正する差分角度眼球モデル視線誤差補正手段、
を備えることを特徴とする請求項１に記載の視線誤差補正装置。
【請求項３】
前記非球面眼球モデル生成手段は、
前記瞳孔−角膜反射法で測定された視線を測定するための撮影カメラの位置ｌと、眼球の回転角度θと、角膜表面上でプルキニエ像の位置ｕ’θと、瞳孔中心の位置（ｘθ，ｙθ，ｚθ）と、前記撮影カメラの位置ｌを基点に前記歪ベクトルが示す当該撮影カメラの仮想位置ｌ’とし、前記瞳孔中心を原点とした瞳孔中心極座標系において、以下の（３）式で法線ベクトルｎθが定義された法線ベクトル眼球モデルを前記非球面眼球モデルとして生成する法線ベクトル眼球モデル生成手段、を備え、
前記視線誤差補正手段は、
前記法線ベクトル眼球モデルを参照して、前記プルキニエ像の位置にある法線ベクトルが前記撮影カメラを向く回転角を算出し、算出した前記回転角だけ前記法線ベクトル眼球モデルを回転させ、回転後の前記法線ベクトル眼球モデルにおいて、角膜曲率中心から前記瞳孔中心を向くベクトルを、誤差が補正された前記視線として出力する法線ベクトル眼球モデル視線誤差補正手段、
を備えることを特徴とする請求項１に記載の視線誤差補正装置。
【数１】
0005873362.tif 000005
【請求項４】
前記歪ベクトル算出手段で算出された歪ベクトルを、前記画像座標系で予め設定されたサイズの小領域に対応付けることで、ルックアップテーブルを生成するルックアップテーブル生成手段、を備え、
前記非球面眼球モデル生成手段は、前記テーブル生成手段が生成したルックアップテーブルを参照して、前記非球面眼球モデルを生成することを特徴とする請求項１から請求項３の何れか一項に記載の視線誤差補正装置。
【請求項５】
球面眼球モデルによる瞳孔−角膜反射法で測定された視線の誤差を補正するために、コンピュータを、
所定位置にマーカが配置されたマーカ画像と、前記瞳孔−角膜反射法で測定された前記マーカに対するマーカ視線の位置とを表示手段に表示させる表示制御手段、
前記表示手段に表示されたマーカとマーカ視線との位置ずれを示す誤差情報が入力される誤差情報入力手段、
前記誤差情報入力手段に入力された誤差情報に基づいて、前記マーカ画像と同一サイズで前記マーカ視線の位置を示した平面画像から、前記マーカ視線の位置を前記マーカに一致させるように歪ませた歪み平面を生成し、画像座標系で前記歪み平面の歪みを示す歪ベクトルを算出する歪ベクトル算出手段、
前記歪ベクトルに基づいて、非球面な角膜形状を示す非球面眼球モデルを生成する非球面眼球モデル生成手段、
前記非球面眼球モデル生成手段で生成された非球面眼球モデルに基づく回転により、前記瞳孔−角膜反射法で測定された視線の誤差を補正する視線誤差補正手段、
として機能させるための視線誤差補正プログラム。
【請求項６】
球面眼球モデルによる瞳孔−角膜反射法で測定された視線の誤差を補正する視線誤差補正装置の視線誤差補正方法であって、
表示制御手段が、所定位置にマーカが配置されたマーカ画像を表示手段に表示させるマーカ表示ステップと、
マーカ視線入力手段が、前記瞳孔−角膜反射法で測定された前記マーカに対するマーカ視線が入力されるマーカ視線入力ステップと、
前記表示制御手段が、前記マーカ画像と、前記マーカ視線の位置とを前記表示手段に表示させるマーカ視線表示ステップと、
誤差情報入力手段が、前記表示手段に表示されたマーカとマーカ視線との位置ずれを示す誤差情報が入力される誤差情報入力ステップと、
歪ベクトル算出手段が、前記誤差情報に基づいて、前記マーカ画像と同一サイズで前記マーカ視線の位置を示した平面画像から、前記マーカ視線の位置を前記マーカに一致させるように歪ませた歪み平面を生成し、画像座標系で前記歪み平面の歪みを示す歪ベクトルを算出する歪ベクトル算出ステップと、
非球面眼球モデル生成手段が、前記歪ベクトルに基づいて、非球面な角膜形状を示す非球面眼球モデルを生成する非球面眼球モデル生成ステップと、
視線誤差補正手段が、前記非球面眼球モデルに基づく回転により、前記瞳孔−角膜反射法で測定された視線の誤差を補正する視線誤差補正ステップと、
を順に実行することを特徴とする視線誤差補正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、球面眼球モデルによる瞳孔−角膜反射法で測定された視線の誤差を補正する視線誤差補正装置、そのプログラム及びその方法に関する。
【背景技術】
【０００２】
例えば、表示画面に表示される対象物の中から目をひくものを調べたいときに、視線の測定が行われている。また、ＰＣ（パーソナルコンピュータ）では、マウスに代わるポインティングデバイスとして、視線の測定が行われる。このとき、ユーザの頭部を拘束しない自然な状態で正確に視線を測定するため、瞳孔−角膜反射法が広く利用されている（非特許文献１）。
【０００３】
以下、図１６を参照して、非特許文献１に記載の視線測定装置１０の構成について説明する。
図１６に示すように、視線測定装置１０は、瞳孔−角膜反射法で視線を測定するものであり、瞳孔・プルキニエ像検出手段１１と、視線ベクトル・基準点算出手段１２と、個人キャリブレーション手段１３と、視線座標変換・出力手段１４とを備える。
この視線測定装置１０は、視線を測定するために、後記する赤外線光源９０と、撮影カメラ９１と、表示手段９２とが必要になる。
【０００４】
赤外線光源９０は、例えば、ユーザの眼球９００（図１７）に赤外線を照射する赤外線ＬＥＤ（Light Emitting Diode）である。
撮影カメラ９１は、例えば、赤外線光源９０が赤外線を照射した状態で、ユーザの眼球９００を撮影する赤外線ＣＣＤ（Charge Coupled Device）である。
ここで、撮影カメラ９１は、Ｔｓａｉのカメラキャリブレーション（非特許文献２）によって、内部パラメータ（例えば、焦点距離、レンズ歪み、画像の光軸中心位置、ＣＣＤ画素の縦横比）と、外部パラメータ(例えば、位置、回転角)を予め求めておく。
表示手段９２は、例えば、視線測定装置１０が測定した視線の位置を表示画面に表示するディスプレイである。
【０００５】
瞳孔・プルキニエ像検出手段１１は、図１７（ａ）に示すように、撮影カメラ９１で眼球９００を撮影した眼球画像９３から、プルキニエ像（角膜反射像）ｕ及び瞳孔９０２を検出するものである。
例えば、瞳孔９０２は、虹彩９０３に比べ、眼球画像９３で暗い像として映る。従って、瞳孔・プルキニエ像検出手段１１は、眼球画像９３を類似輝度の領域別にセグメント化し、セグメント化された各領域の中から瞳孔領域を検出する。そして、瞳孔・プルキニエ像検出手段１１は、図１７（ｂ）に示すように、検出した瞳孔領域に対して、瞳孔輪郭を誤差二乗和による楕円近似を行い、領域中心を瞳孔中心ｅとして求める。さらに、瞳孔・プルキニエ像検出手段１１は、瞳孔中心ｅから一定距離内でプルキニエ像の位置ｕを検出する。このとき、プルキニエ像は、面積を持たない点として検出されることが多い。
なお、図１７（ａ）では、説明を簡易にするため、ユーザの眼球９００のみを図示した。
また、図１７（ｂ）では、眼球画像９３のうち瞳孔９０２の部分のみを図示した。
【０００６】
視線ベクトル・基準点算出手段１２は、瞳孔・プルキニエ像検出手段１１が検出したプルキニエ像の位置ｕ及び瞳孔中心ｅを用いて、図１８に示すように、視線（視線ベクトルｖ）を算出するものである。
つまり、視線ベクトル・基準点算出手段１２は、３次元空間上における眼球位置を測定し、この眼球位置に基づいて、基準点（角膜曲率中心ｃ）と、視線を示すベクトルである視線ベクトルｖ＝ｅ−ｃとを算出する。
【０００７】
ここで、図１８には、角膜曲率中心ｃと、角膜曲率中心ｃから実際の瞳孔輪郭へのベクトルｄと、瞳孔輪郭像ｐにおいて角膜表面に接する平面の法線ベクトルの単位ベクトルｎと、角膜表面における瞳孔輪郭像ｐと、瞳孔輪郭像の位置ベクトルｐ０と、観察された瞳孔輪郭ｑと、補正された瞳孔輪郭ｑ’とを図示した。
なお、図１８では、図面を見やすくするため、瞳孔輪郭像の位置ベクトルｐ０を点として図示した。
また、図１８では、瞳孔輪郭ｑ，ｑ’は、正面視した際に円状となる瞳孔輪郭の断面を示すため、線状になっている。
【０００８】
また、図１８には、撮影カメラ９１から瞳孔輪郭像の位置ベクトルｐ０までの方向ベクトルの単位ベクトルｒを図示した。ここで、上側の単位ベクトルｒは、瞳孔輪郭像の位置ベクトルｐ０から単位ベクトルｒを求めることを説明するために図示した。また、下側の単位ベクトルｒは、上側の単位ベクトルｒをプルキニエ像の位置ｕを指すように移動させて図示した。
【０００９】
また、図１８には、瞳孔輪郭像ｐにおいて屈折後の撮影カメラ９１からの光線の単位ベクトルｔと、角膜曲率半径Ｃと、角膜曲率中心ｃから瞳孔輪郭までの距離Ｄと、瞳孔輪郭像の位置ベクトルｐ０からプルキニエ像の位置ｕまでの距離Ｍと、瞳孔の半径Ｒとを図示した。これら各項目は、必要に応じて説明を後記する。
【００１０】
ここで、瞳孔−角膜反射法では、瞳孔中心ｅと、プルキニエ像の位置ｕの位置関係から視線を推定する。このとき、赤外線光源９０と撮影カメラ９１との位置関係は、事前に測定されているため、既知である。従って、眼球９００の位置は、カメラキャリブレーションにより導くことができる。
【００１１】
つまり、カメラ座標系において、プルキニエ像の位置ｕ及び瞳孔中心ｅの２次元座標（ｘ，ｙ）を求めることができる。また、奥行座標ｚは、撮影カメラ９１の焦点距離やステレオ画像の視差により、高い精度で求めることができる。従って、図１８に示すように、世界座標系において、角膜曲率中心ｃ及び瞳孔中心eの位置ベクトルを求めることができる。
【００１２】
個人キャリブレーション手段１３は、図１９に示すように、視線ベクトル・基準点算出手段１２が算出した視線ベクトルｖに、個人キャリブレーションによる補正を施すものである。
図１９の距離Ｌ及び角膜曲率半径Ｃは、個人差のある定数である。そこで、個人キャリブレーション手段１３は、角膜曲率中心ｃから瞳孔中心ｅまでの距離Ｌと、角膜曲率半径Ｃとを求める個人キャリブレーションを行う。
なお、図１９では、角膜曲率中心ｃを中心として、角膜曲率半径Ｃを有する円を破線で図示した。
【００１３】
ここで、個人キャリブレーションでは、図２０に示すように、ヒトの眼球９００の形状を想定した球面眼球モデル９１０を用いる。この図２０では、図面を見やすくするため、角膜９０１の一部について、角膜９０１の表面を、角膜曲率中心ｃを基準とする極座標系において等角度で分割した球面眼球モデル９１０を図示した。つまり、球面眼球モデル９１０は、角膜９０１の形状を球面状としている。
【００１４】
そして、個人キャリブレーションでは、球面眼球モデル９１０を用いて、距離Ｌ及び角膜曲率半径Ｃを求める。具体的には、個人キャリブレーションでは、表示画面上で基準となるマーカに視線を向けた際の測定データを、２次以上の曲面で表した眼球モデルに対して最小二乗法を適用して近似する。ここで、非特許文献１には、３次以上の近似を行っても誤差が増大すると記載されている。従って、個人キャリブレーションでは、２次の曲面、つまり、球面を組み合わせて、眼球及び角膜からなる球面眼球モデルを作成し、視線ベクトルｖの補正に用いる。
【００１５】
視線座標変換・出力手段１４は、個人キャリブレーション手段１３で補正した視線ベクトルｖを任意の座標系に座標変換して出力するものである。
ここで、瞳孔−角膜反射法では、図２１に示すように、世界座標系（ｘ’，ｙ’，ｚ’）と、カメラ座標系（ｘ，ｙ，ｚ）と、画像座標系（ｘ０，ｙ０）とを用いている。
この世界座標系は、表示手段９２に対して固定された３次元座標系であり、例えば、表示手段９２の表示画面下部を原点とする。
また、カメラ座標系は、例えば、撮影カメラ９１の光学主点を原点とする３次元座標系である。
また、画像座標系は、表示手段９２の表示画面（つまり、眼球画像９３）を指す２次元座標系であり、例えば、世界座標系の奥行位置をゼロとした座標系である。
なお、図２１では、表示手段９２において、眼球９００からの視線ベクトルｖの延長線と表示手段９２の表示画面との交点を点９２ａとして図示した。
【００１６】
そして、画像座標系における位置ベクトルｐ０、世界座標系における位置ベクトルｐ’、および、カメラ座標系における位置ベクトルｐは、Ｔｓａｉのカメラキャリブレーションで得られる変換行列Ｒｗ，Ｒｃを用いて、以下の（１）式のように座標変換できる（非特許文献３）。
つまり、視線座標変換・出力手段１４は、この（１）式によって、世界座標系と、カメラ座標系と、画像座標系との間で、自在に座標変換を行うことができる。なお、（１）式では、Ｔが転置行列である。
【００１７】
【数１】
0005873362.tif 000002
【先行技術文献】
【非特許文献】
【００１８】
【非特許文献１】「２点補正による簡易キャリブレーションを実現した視線測定システム」、大野他、情報処理学会論文誌、2003、Vol.44、No.4
【非特許文献２】“A versatile Camera Calibration Technique for High-Accuracy 3D Machine Vision”,Tsai,R.Y.,IEEE Journal on Robotics and Automation (1987),Volume 3, Issue 4,P323-344
【非特許文献３】「眼球形状モデルに基づく視線測定システム−視線入力デバイスの実現に向けて−」、大野、情処研報2001-HI-93、2001、pp.47-54
【発明の概要】
【発明が解決しようとする課題】
【００１９】
しかし、非特許文献１に記載の技術では、測定された視線の誤差が大きいという問題がある。
例えば、測定した視線を用いて、ＰＣ上でポインティング操作を行う場合を考える。この場合、視線に１度でも誤差があると、ユーザが表示画面上のアイコンを指定する際、違和感を覚えることになる。つまり、視線によるポインティングでは、少しでも誤差があると、視線の中心でポインタを捉えることが原理的に不可能であり、この誤差の修正が困難である。
また、テレビやＰＣの表示画面は、臨場感及び操作性の高さを追及するため、広視野化が進んでいる。広視野な表示画面において視線測定を行う場合、その周辺部でも誤差を小さく抑える必要がある。
【００２０】
そこで、視線の誤差を小さくするため、従来の瞳孔−角膜反射法は、個人キャリブレーションを何度も行うことが多い。従って、個人キャリブレーションの作業にかかる手間が、視線測定を行う際に大きな負担となる。さらに、一旦、個人キャリブレーションを終了した後、どのくらい正確に視線を測定できているかの判断が極めて困難である。言い換えるなら、測定した視線を後で分析する際、測定前の個人キャリブレーションの結果を、唯一無比な正解データとして信用せざるを得ない。このため、個人キャリブレーション作業は、丁寧に行わねばならず、視線測定の作業負担が大きくなる原因となっている。
【００２１】
ここで、個人キャリブレーションが一度で済まない原因は、角膜を球面とした球面眼球モデルを用いるため、表示画面の中心部及び周辺部の両方で視線の誤差をゼロにできないことと考えられる。図２２（ａ）に示すように、眼球画像９３は、例えば、角膜９０１と、瞳孔９０２と、虹彩９０３とが撮影される。また、図２２（ｂ）に示すように、眼球９００は、角膜９０１と、瞳孔９０２と、虹彩９０３と、強膜９０４と、房水９０５と、水晶体９０６と、網膜９０７と、中心窩９０８とで構成される。そして、この角膜９０１は、その曲率が一様ではなく、周辺になるほど曲率半径が大きくなる人が多い。さらに、角膜９０１は、同じ個人でも曲率変化が一様ではない。このため、個人キャリブレーションが一度で済むような、万人に最適化された眼球モデルは、その生成が極めて困難である。
【００２２】
そこで、本発明は、作業負担が少なく、視線の誤差を小さく抑える視線誤差補正装置、そのプログラム及びその方法を提供することを課題とする。
【課題を解決するための手段】
【００２３】
本発明者は、前記した個人キャリブレーションにおいて、球面眼球モデルの球面性と、角膜形状の非球面性との相違に起因した誤差が生じ、かつ、この誤差が座標変換を経ても残ることに着目し、座標変換後に視線の誤差を補正するための非球面眼球モデルを生成すれば、前記した課題を解決できることを見出し、本発明を完成させた。
【００２４】
すなわち、本願第１発明に係る視線誤差補正装置は、球面眼球モデルによる瞳孔−角膜反射法で測定された視線の誤差を補正する視線誤差補正装置であって、表示制御手段と、誤差情報入力手段と、歪ベクトル算出手段と、非球面眼球モデル生成手段と、視線誤差補正手段と、を備えることを特徴とする。
【００２５】
かかる構成によれば、視線誤差補正装置は、表示制御手段によって、所定位置にマーカが配置されたマーカ画像と、前記瞳孔−角膜反射法で測定された前記マーカに対するマーカ視線の位置とを表示手段に表示させる。ここで、マーカ視線は、画像座標系において、ユーザがマーカを注視したときの視線が瞳孔−角膜反射法で測定されたものである。
【００２６】
また、視線誤差補正装置は、誤差情報入力手段によって、表示手段に表示されたマーカとマーカ視線との位置ずれを示す誤差情報が入力される。この誤差情報入力手段に入力された誤差情報は、ユーザがマーカを注視したとき、瞳孔−角膜反射法で測定した視線と、実際の視線との位置ずれを示している。
【００２７】
また、視線誤差補正装置は、歪ベクトル算出手段によって、誤差情報入力手段に入力された誤差情報に基づいて、マーカ画像と同一サイズでマーカ視線の位置を示した平面画像から、マーカ視線の位置を前記マーカに一致させるように歪ませた歪み平面を生成し、画像座標系で歪み平面の歪みを示す歪ベクトルを算出する。この歪ベクトル算出手段で算出された歪ベクトルは、平面画像と歪み平面との対応点の位置ずれ量及び位置ずれ方向を示している。
【００２８】
また、視線誤差補正装置は、非球面眼球モデル生成手段によって、歪ベクトルに基づいて、球面な球面眼球モデルに起因する視線の誤差を補正するために、非球面な角膜形状を示す非球面眼球モデルを生成する。そして、視線誤差補正装置は、視線誤差補正手段によって、非球面眼球モデル生成手段で生成された非球面眼球モデルに基づく回転により、瞳孔−角膜反射法で測定された視線の誤差を補正する。このように、視線誤差補正装置は、座標変換後に生成された非球面眼球モデルを用いて、視線の誤差を補正する。
【００２９】
また、本願第２発明に係る視線誤差補正装置は、非球面眼球モデル生成手段が、非球面眼球モデルとして、画像座標系の歪ベクトルを、眼球中心を原点とする眼球中心極座標系に座標変換することで、球面眼球モデルに対する視線の差分角度を示す差分角度眼球モデルを生成する差分角度眼球モデル生成手段、を備え、視線誤差補正手段が、差分角度眼球モデルを参照して、眼球中心極座標系の原点を中心として、瞳孔−角膜反射法で測定された視線を差分角度だけ回転させることで、視線の誤差を補正する差分角度眼球モデル視線誤差補正手段、を備えることを特徴とする。
かかる構成によれば、視線誤差補正装置は、簡易な座標変換で差分角度眼球モデルを生成することができる。
【００３０】
また、本願第３発明に係る視線誤差補正装置は、非球面眼球モデル生成手段が、瞳孔−角膜反射法で測定された視線を測定するための撮影カメラの位置ｌと、眼球の回転角度θと、角膜表面上でプルキニエ像の位置ｕ’θと、瞳孔中心の位置（ｘθ，ｙθ，ｚθ）と、撮影カメラの位置ｌを基点に歪ベクトルが示す撮影カメラの仮想位置ｌ’とし、瞳孔中心を原点とした瞳孔中心極座標系において、以下の（３）式で法線ベクトルｎθが定義された法線ベクトル眼球モデルを非球面眼球モデルとして生成する法線ベクトル眼球モデル生成手段、を備え、視線誤差補正手段が、法線ベクトル眼球モデルを参照して、プルキニエ像の位置にある法線ベクトルが撮影カメラを向く回転角を算出し、算出した回転角だけ法線ベクトル眼球モデルを回転させ、回転後の法線ベクトル眼球モデルにおいて、角膜曲率中心から瞳孔中心を向くベクトルを、誤差が補正された前記視線として出力する法線ベクトル眼球モデル視線誤差補正手段、を備えることを特徴とする。
【００３１】
ここで、瞳孔−角膜反射法は、瞳孔中心を基準として視線を測定する。また、法線ベクトル眼球モデルは、瞳孔中心を基準（原点）とした瞳孔中心極座標系である。このように、視線誤差補正装置は、瞳孔−角膜反射法と法線ベクトル眼球モデルとの基準位置を同一にできるため、視線測定時に頭部が動いた場合でも、視線の誤差を補正することができる。
【００３２】
また、本願第４発明に係る視線誤差補正装置は、歪ベクトル算出手段で算出された歪ベクトルを、画像座標系で予め設定されたサイズの領域に対応付けることで、ルックアップテーブルを生成するルックアップテーブル生成手段、を備え、非球面眼球モデル生成手段が、ルックアップテーブル生成手段が生成したルックアップテーブルを参照して、非球面眼球モデルを生成することを特徴とする。
かかる構成によれば、視線誤差補正装置は、ルックアップテーブルを参照することで、補間計算を都度行う必要がなくなる。
【００３３】
また、本願第５発明に係る視線誤差補正プログラムは、球面眼球モデルによる瞳孔−角膜反射法で測定された視線の誤差を補正するために、一般的なコンピュータが備えるＣＰＵ、メモリ、ハードディスクなどのハードウェア資源を、表示制御手段、誤差情報入力手段、歪ベクトル算出手段、非球面眼球モデル生成手段、視線誤差補正手段、として機能させることを特徴とする。このプログラムは、通信回線を介して配布してもよく、ＣＤ−ＲＯＭやフラッシュメモリ等の記録媒体に書き込んで配布してもよい。
【００３４】
また、本願第６発明に係る視線誤差補正方法は、球面眼球モデルによる瞳孔−角膜反射法で測定された視線の誤差を補正する視線誤差補正装置の視線誤差補正方法であって、マーカ表示ステップと、マーカ視線入力ステップと、マーカ視線表示ステップと、誤差情報入力ステップと、歪ベクトル算出ステップと、非球面眼球モデル生成ステップと、視線誤差補正ステップと、を順に実行することを特徴とする。
【発明の効果】
【００３５】
本発明によれば、以下のような優れた効果を奏する。
本願第１，５，６発明によれば、座標変換後に生成された非球面眼球モデルにより、瞳孔−角膜反射法で測定された視線の誤差を補正するため、個人キャリブレーションを繰り返し行う必要がなく、作業負担を少なくすることができる。さらに、本願第１，５，６発明によれば、非球面眼球モデルを用いて、球面眼球モデルの球面性と角膜形状の非球面性との相違に起因する誤差も補正できるため、視線の誤差を小さく抑えることができる
【００３６】
本願第２発明によれば、簡易な座標変換で差分角度眼球モデルを生成することができる。
本願第３発明によれば、瞳孔−角膜反射法と法線ベクトル眼球モデルとの基準位置が同一のため、視線測定時に頭部が動いた場合でも、視線の誤差を補正することができる。
本願第４発明によれば、ルックアップテーブルを参照することで、補間計算を都度行う必要がなくなり、演算処理の高速化を図ることができる。
【図面の簡単な説明】
【００３７】
【図１】本発明の実施形態に係る視線誤差補正装置の構成を示すブロック図である。
【図２】図１の視線誤差補正装置において、マーカ及びポインタの表示を説明する図である。
【図３】図１の視線誤差補正装置において、誤差情報の入力を説明する図である。
【図４】図１の視線誤差補正装置において歪み平面の生成を説明する図であり、（ａ）は平面を歪ませる前を示し、（ｂ）平面を歪ませた後を示す。
【図５】図１の視線誤差補正装置において、極座標系への座標変換を説明する図である。
【図６】図１の視線誤差補正装置において、差分角度眼球モデルの生成を説明する図である。
【図７】図１の視線誤差補正装置において、差分角度眼球モデルによる補正を説明する図である。
【図８】図１の視線誤差補正装置において、法線ベクトル眼球モデルの生成を説明する第１図である。
【図９】図１の視線誤差補正装置において、法線ベクトル眼球モデルの生成を説明する第２図である。
【図１０】図１の視線誤差補正装置において、法線ベクトル眼球モデルの生成を説明する第３図である。
【図１１】図１の視線誤差補正装置において、法線ベクトル眼球モデルによる補正を説明する第１図である。
【図１２】図１の視線誤差補正装置において、法線ベクトル眼球モデルによる補正を説明する第２図である。
【図１３】図１の視線誤差補正装置において、法線ベクトル眼球モデルによる補正を説明する第３図である。
【図１４】図１の視線誤差補正装置の動作を示すフローチャートである。
【図１５】本発明の変形例に係る視線誤差補正装置の構成を示すブロック図である。
【図１６】従来の視線測定装置の構成を示すブロック図である。
【図１７】従来の瞳孔−角膜反射法を説明する図であり、（ａ）は撮影カメラ及び赤外線光源の配置を示し、（ｂ）は瞳孔中心及びプルキニエ像の位置関係を示す。
【図１８】従来の瞳孔−角膜反射法において、視線ベクトルの算出を説明する図である。
【図１９】従来の個人キャリブレーションを説明する図である。
【図２０】従来の視線測定装置で用いられる球面眼球モデルを説明する図である。
【図２１】従来の視線測定装置における座標変換を説明する図である。
【図２２】眼球の構造を説明する図であり、（ａ）は眼球を撮影した眼球画像の一例であり、（ｂ）は眼球の断面を示す。
【発明を実施するための形態】
【００３８】
（実施形態）
［視線測定・誤差補正装置の構成］
以下、本発明の実施形態について、適宜図面を参照しながら詳細に説明する。なお、同一の機能を有する手段には同一の符号を付し、説明を省略した。
図１を参照して、本発明の実施形態に係る視線測定・誤差補正装置１の構成について、説明する。
図１に示すように、視線測定・誤差補正装置１は、球面眼球モデルによる瞳孔−角膜反射法で視線を測定すると共に、測定した視線の誤差を補正するものであり、視線測定装置１０Ａと、視線誤差補正装置２０とを備える。
【００３９】
視線測定装置１０Ａは、瞳孔−角膜反射法でユーザ（不図示）の視線（視線ベクトル）を測定するものであり、瞳孔・プルキニエ像検出手段１１と、視線ベクトル・基準点算出手段１２と、視線座標変換・出力手段１４とを備える。
【００４０】
ここで、視線誤差補正装置２０で非球面眼球モデルを生成するとき（以後、「モデル生成」）、視線測定装置１０Ａは、ユーザがマーカＭｋ（図２）を注視しているときの視線（マーカ視線）を測定する。そして、視線測定装置１０Ａは、このマーカ視線を画像座標系に座標変換して、マーカ視線入力手段２１ａに出力する。
【００４１】
一方、非球面眼球モデルを用いて視線誤差補正装置２０で視線の誤差を補正するとき（以後、「視線誤差補正」）、視線測定装置１０Ａは、ユーザが任意のオブジェクト（例えば、表示画面内のアイコン）を注視しているときの視線を測定する。そして、視線測定装置１０Ａは、後記する極座標系に視線を座標変換して、視線誤差補正手段２４に出力する。
【００４２】
なお、視線測定・誤差補正装置１は、モデル生成又は視線誤差補正の何れの動作を行うか、ユーザが手動で切り替えることができる。
また、視線測定装置１０Ａは、図１６の個人キャリブレーション手段１３を備えない以外、図１６の視線測定装置１０と同様のため、詳細な説明を省略する。
【００４３】
［視線誤差補正装置の構成］
視線誤差補正装置２０は、視線測定装置１０Ａで測定された視線の誤差を補正するものであり、入出力制御手段２１と、歪ベクトル算出手段２２と、非球面眼球モデル生成手段２３と、視線誤差補正手段２４とを備える。
この入出力制御手段２１、歪ベクトル算出手段２２及び非球面眼球モデル生成手段２３は、モデル生成に用いる手段である。一方、視線誤差補正手段２４は、視線誤差補正に用いる手段である。
【００４４】
入出力制御手段２１は、モデル生成時、マーカ視線及び誤差情報の入力と、マーカ画像等の各画像の出力とを行うものであり、マーカ視線入力手段２１ａと、表示制御手段２１ｂと、誤差情報入力手段２１ｃとを備える。
【００４５】
マーカ視線入力手段２１ａは、視線測定装置１０Ａからマーカ視線が入力され、入力されたマーカ視線を表示制御手段２１ｂに出力するものである。
表示制御手段２１ｂは、後記するマーカ画像と、マーカ視線入力手段２１ａから入力されたマーカ視線の位置を示すポインタＰｔ（図２）とを、表示手段９２に表示させるものである。
誤差情報入力手段２１ｃは、外部（例えば、ユーザ）から、誤差情報が入力され、入力された誤差情報を、歪ベクトル算出手段２２に出力するものである。
【００４６】
＜マーカ及びポインタの表示、誤差情報の入力＞
図２，図３を参照して、マーカ及びポインタの表示と、誤差情報の入力とについて、詳細に説明する（適宜図１参照）。
図２に示すように、モデル生成時、表示制御手段２１ｂは、マーカ画像９４を表示手段９２に表示させる。このマーカ画像９４は、所定位置にマーカＭｋが配置された画像である。図２の例では、マーカ画像９４は、９個のマーカＭｋ１〜Ｍｋ９がマトリクス状に配置されている。また、マーカ画像９４は、後記する歪み平面を生成する都合上、表示手段９２の表示画面と同じサイズ又はより小さなサイズとする。
【００４７】
ここで、ユーザは、表示手段９２に表示されたマーカ画像９４のマーカＭｋの何れかを注視する。すると、マーカ視線入力手段２１ａは、視線測定装置１０Ａから、マーカＭｋに対する視線であるマーカ視線が入力され、入力されたマーカ視線を表示制御手段２１ｂに出力する。そして、表示制御手段２１ｂは、このマーカ視線の位置を示すポインタＰｔを表示手段９２に表示させる。図２の例では、マーカＭｋ５に対するポインタＰｔが、表示手段９２に表示されている。
【００４８】
さらに、ユーザは、表示手段９２に表示されたマーカＭｋとポインタＰｔとの位置ずれを確認し、図示を省略したマウスを操作して、この位置ずれ（誤差情報）を誤差情報入力手段２１ｃに入力する。図３の例では、ユーザがマーカＭｋ５を注視したときのポインタＰｔは、マーカＭｋ５の左下に位置している。従って、ユーザは、ポインタＰｔの中心がマーカＭｋ５に一致するように、ポインタＰｔをマウスでドラッグする。つまり、ポインタＰｔは、ユーザの操作により、ポインタＰｔ’の位置に移動する。この例では、誤差情報は、マーカＭｋ５に対するポインタＰｔの位置ずれを示しており、マーカＭｋとポインタＰｔとポインタＰｔ’との座標情報で表すことができる。
【００４９】
なお、表示制御手段２１ｂは、視線誤差補正時、ポインタＰｔを表示手段９２にリアルタイムに表示させる。さらに、表示制御手段２１ｂは、視線誤差補正後であっても、誤差の補正が正確に行われたか否かを確認するため、ポインタＰｔを表示手段９２に表示させてもよい。
また、ユーザは、マーカＭｋ５と同様、全てのマーカＭｋを注視して、全てのマーカＭｋに対する誤差情報を入力する。
【００５０】
＜歪ベクトルの算出＞
以下、図４を参照して、図１の歪ベクトル算出手段２２について、詳細に説明する（適宜図１参照）。
歪ベクトル算出手段２２は、モデル生成時、誤差情報入力手段２１ｃから入力された誤差情報に基づいて、マーカ画像９４と同一サイズでポインタＰｔの位置を示した平面画像９５から、ポインタＰｔをマーカＭｋに一致させた歪み平面９５’を生成して、歪ベクトルを算出するものである。
【００５１】
最初に、歪ベクトル算出手段２２による歪み平面９５’の生成を詳細に説明する。
歪ベクトル算出手段２２は、図４（ａ）に示すように、誤差情報のポインタＰｔの座標情報により、平面画像９５を生成する。図４（ａ）の例では、平面画像９５は、図２及び図３のマーカ画像９４と同一サイズであり、９個のマーカＭｋのそれぞれに対して、ポインタＰｔの位置を示している。また、図４（ａ）では、説明をわかりやすくするため、マーカ画像９４と平面画像９５とを重ねて図示した。
【００５２】
次に、歪ベクトル算出手段２２は、図４（ｂ）に示すように、誤差情報のマーカＭｋ及びポインタＰｔの座標情報により、９個のポインタＰｔがそれぞれに対応するマーカＭｋに一致するように平面画像９５を歪ませて、歪み平面９５’を生成する。この歪み平面９５’は、複数の曲線で構成される曲面として表すことができる。例えば、歪ベクトル算出手段２２は、ベジエ曲線又はＢスプライン曲線で構成される曲面によって歪み平面９５’を生成する。また、歪ベクトル算出手段２２は、ＮＵＲＢＳ（Non-Uniform Rational B-Spline）曲面、ＵＶ（曲面上のＸＹ座標）平面を歪ませた曲面、又は、多角形（ポリゴン）を用いた擬似曲線によって、歪み平面９５’を生成してもよい。
【００５３】
本実施形態では、歪ベクトル算出手段２２は、ＮＵＲＢＳ曲面によって、歪み平面９５’を生成することとする。また、歪ベクトル算出手段２２は、表示制御手段２１ｂを介して、生成した歪み平面９５’を表示手段９２に表示させてもよい。さらに、歪ベクトル算出手段２２は、表示手段９２に表示された歪み平面９５’を、各ユーザが変形可能としてもよい。
なお、マーカＭｋは表示画面に対して固定される。一方、ポインタＰｔは、歪み平面９５’にテクスチャマッピングして表示されるため、図４（ｂ）のように歪んでしまう。
【００５４】
このＮＵＲＢＳ曲面は、複数のコントロールポイント（ＣＶコントロールポイント)を持つ曲面である。このコントロールポイントは、表示画面内で任意位置に配置できる。また、ＮＵＲＢＳ曲面は、次数の値によって、何次の方程式で曲面を表すかが決まる。
【００５５】
また、ＮＵＲＢＳ曲面において、それぞれのマーカＭｋは、１個〜４個のコントロールポイントにリンクされている。このコントロールポイントは、ポインタＰｔと一定距離よりも近いマーカＭｋにリンクされたものが、コントロール権を有する。このコントロール権は、ユーザによりコントロール（移動）可能なコントロールポイントだけに付加される。つまり、ユーザがコントロールできるのは、１個のマーカＭｋにリンクされたコントロールポイントだけである。そして、コントロール権を有するコントロールポイントは、ドラックアンドドロップ操作によって、歪み平面９５’上を移動させることができる。このコントロールポイントの移動に応じて、ＮＵＲＢＳ曲面が変形する。さらに、コントロール権は、ドラッグ操作中のコントロールポイントから、他のコントロールポイントに付加されないこととする。さらに、コントロールポイントの数を増やせば、表示画面の周辺部に位置するポインタＰｔを移動させたとき、他のポインタＰｔがマーカＭｋに一致しなくなる事態を解消できる。
なお、ＮＵＲＢＳ曲面は、例えば、参考文献“「Ｍａｙａ教科書１−モデリング＆質感設定の基礎」、川上、2009”に詳細に記載されている。
【００５６】
次に、歪ベクトル算出手段２２による歪ベクトルの算出を詳細に説明する。
歪ベクトル算出手段２２は、画像座標系で歪み平面９５’の歪みを示す歪ベクトルを算出する。ここで、歪ベクトル算出手段２２は、平面画像９５と歪み平面９５’との間で、対応する点（画素）である対応点の位置ずれを求める。そして、歪ベクトル算出手段２２は、画像座標系において、対応点の位置ずれ量及び位置ずれ方向を示すベクトルを、歪ベクトルとして算出する。
【００５７】
このとき、歪ベクトル算出手段２２は、全ての対応点から歪ベクトルを算出する、マーカＭｋの位置にある対応点から歪ベクトルを算出するというように、任意の対応点から歪ベクトルを算出すればよい。本実施形態では、マーカＭｋの位置にある対応点から歪ベクトルを算出することとする。その後、歪ベクトル算出手段２２は、算出した歪ベクトルを非球面眼球モデル生成手段２３に出力する。
【００５８】
図１に戻り、視線誤差補正装置２０の構成について、説明を続ける。
非球面眼球モデル生成手段２３は、モデル生成時、歪ベクトル算出手段２２から入力された歪ベクトルに基づいて、各ユーザに対応した非球面眼球モデルを生成するものである。
この非球面眼球モデルは、非球面な角膜形状を示した眼球モデルであり、差分角度眼球モデル及び法線ベクトル眼球モデルの２種類がある。従って、非球面眼球モデル生成手段２３は、それぞれの非球面眼球モデルを生成するために、差分角度眼球モデル生成手段２３ａと、法線ベクトル眼球モデル生成手段２３ｂとを備える。
なお、差分角度眼球モデル生成手段２３ａ及び法線ベクトル眼球モデル生成手段２３ｂの詳細は、後記する。
【００５９】
視線誤差補正手段２４は、視線誤差補正時、非球面眼球モデル生成手段２３で生成された非球面眼球モデルに基づく回転により、視線の誤差を補正するものである。
また、視線誤差補正手段２４は、２種類の非球面眼球モデルで視線の補正方法が異なるために、差分角度眼球モデル視線誤差補正手段２４ａと、法線ベクトル眼球モデル視線誤差補正手段２４ｂとを備える。
【００６０】
まず、非球面眼球モデルの前提となる極座標系への座標変換を説明した後、差分角度眼球モデルの生成と、差分角度眼球モデルによる補正と、法線ベクトル眼球モデルの生成と、法線ベクトル眼球モデルによる補正とを順に説明する。
【００６１】
＜極座標系への座標変換＞
以下、図５を参照して、極座標系への座標変換について、詳細に説明する。
差分角度眼球モデルは、眼球中心を原点とする眼球中心極座標系で表される。このため、視線誤差補正装置２０は、眼球中心極座標系への座標変換を行う必要がある。
【００６２】
図５に示すように、空間上で点α，点βの位置が既知であるとする。例えば、点αが撮影カメラ９１の位置（光学主点）であり、世界座標系で（ｘ’，ｙ’）に位置する。また、点βが、眼球中心、つまり、眼球中心極座標系の原点（ｘ０，ｙ０）である。さらに、点α，点βの距離をｚ’とする。
なお、図５では、図面の重複を避けるため、２軸回りの回転を１枚の図面にまとめて図示した。
【００６３】
このとき、例えば、点αを向いている眼球９００が、目標物γを向くために必要なｘ軸回転角θ及びｙ軸回転角φは、以下の（２）式で定義される。この（２）式において、ｆｉ−ｗは、Ｔｓａｉのカメラキャリブレーションで得ることができる。つまり、空間上で点α，点βが既知であれば、（１）式及び（２）式を用いて、世界座標系と、カメラ座標系と、画像座標系と、眼球中心極座標系との間で、自在に座標変換を行うことができる。これと同様、点βを瞳孔中心とすれば、（１）式及び（２）式を瞳孔中心極座標系にも適用することができる。
【００６４】
【数２】
0005873362.tif 000003
【００６５】
＜差分角度眼球モデルの生成＞
以下、図６を参照して、差分角度眼球モデル生成手段２３ａによる差分角度眼球モデルの生成について、詳細に説明する（適宜図１参照）。
図６に示すように、差分角度眼球モデル生成手段２３ａは、歪ベクトル算出手段２２から入力された画像座標系の歪ベクトルを、眼球中心極座標系に座標変換することで、差分角度眼球モデル９６を生成するものである。
【００６６】
ここで、差分角度眼球モデル生成手段２３ａは、マーカＭｋ（図２）の位置にある歪ベクトルから差分角度眼球モデルを生成する。図６では、説明を簡易にするため、マーカＭｋ（歪ベクトル）が５個であることとする。また、図６では、図面を見やすくするため、角膜９０１の一部について、差分角度眼球モデル９６を図示した。
【００６７】
まず、差分角度眼球モデル生成手段２３ａは、球面眼球モデル９１０（図２０）と同様、角膜表面の中心を極として、球面表面を領域に分割する。この領域のサイズは、予め任意に設定される。そして、差分角度眼球モデル９６の精度は、領域のサイズに比例し、この領域が小さくなるほど向上する。
【００６８】
また、差分角度眼球モデル生成手段２３ａは、マーカＭｋの位置に対応する領域を求める。つまり、差分角度眼球モデル生成手段２３ａは、画像座標系で表されたマーカＭｋの座標を眼球中心極座標系に座標変換して、座標変換後のマーカＭｋが含まれる領域を５個求める。そして、差分角度眼球モデル生成手段２３ａは、この５個の領域に対して、後記する差分角度ベクトルを対応付けるマッピングを行う。
【００６９】
また、差分角度眼球モデル生成手段２３ａは、マーカＭｋの位置にある歪ベクトルを眼球中心極座標系に座標変換して差分角度ベクトル９６ａを求める。つまり、差分角度眼球モデル生成手段２３ａは、５個の歪ベクトルの先端及び終端を、画像座標系から眼球中心極座標系へ座標変換する。そして、差分角度眼球モデル生成手段２３ａは、座標変換後の先端位置と終端位置とを結ぶベクトルを、眼球中心極座標系での差分角度ベクトル９６ａとして求める。さらに、差分角度眼球モデル生成手段２３ａは、図６に示すように、５個の領域に対して、５個の差分角度ベクトル９６ａを対応付けるマッピングを行う。
【００７０】
その後、差分角度眼球モデル生成手段２３ａは、差分角度ベクトル９６ａが存在しない空の領域について、線形補間等の補間手法により、差分角度ベクトル９６ａを補間する（不図示）。このようにして、差分角度眼球モデル生成手段２３ａは、全ての領域に差分角度ベクトル９６ａが対応付けられた差分角度眼球モデル９６を生成する。
【００７１】
この差分角度ベクトル９６ａは、球面眼球モデル９１０（図２０）に対する視線の差分角度（補正回転角度）を示したものである。
つまり、差分角度眼球モデル９６は、球面眼球モデル９１０の球面性と、角膜９０１の非球面性との相違に起因した誤差を、領域ごとの差分角度ベクトル９６ａで示したものである。
【００７２】
＜差分角度眼球モデルによる補正＞
以下、図７を参照して、差分角度眼球モデル視線誤差補正手段２４ａで行われる差分角度眼球モデルによる補正について、詳細に説明する（適宜図１参照）。
図７に示すように、差分角度眼球モデル視線誤差補正手段２４ａは、差分角度眼球モデル９６（図６）を参照して、眼球中心極座標系の原点（眼球中心ｂ）を中心として、瞳孔−角膜反射法で測定された視線を差分角度だけ回転させることで、視線の誤差を補正するものである。
【００７３】
この図７では、説明を簡易にするため、２次元方向の差分角度（Δθ，Δφ）を１次元方向の差分角度Δφとして図示し、赤外線光源９０及び撮影カメラ９１が同一の位置であることとした。
また、図７では、平面画像９５の点（画素）Ｐ、及び、歪み平面９５’の点（画素）Ｐ’が、対応点（対応画素）であることとする。つまり、歪ベクトルがＰ−Ｐ’となる。
【００７４】
ここで、差分角度眼球モデル視線誤差補正手段２４ａは、視線誤差補正時、ユーザが任意のオブジェクトを注視しているときの視線（視線ベクトル）が入力される。また、差分角度眼球モデル視線誤差補正手段２４ａは、座標変換の視線ベクトルｖが、差分角度眼球モデル９６で何れの領域（図６）に含まれるか求める。そして、差分角度眼球モデル視線誤差補正手段２４ａは、差分角度眼球モデル９６から、視線ベクトルｖが含まれる領域の差分角度Δφを取得する。
【００７５】
そして、差分角度眼球モデル視線誤差補正手段２４ａは、眼球中心ｂを中心として、視線ベクトルｖを差分角度Δφだけ回転させて、誤差を補正した視線ベクトルｖ’を求める。言い換えるなら、差分角度眼球モデル視線誤差補正手段２４ａは、角膜９０１を角膜９０１’まで回転させ、プルキニエ像の位置ｕで求めた視線ベクトルｖを、プルキニエ像の位置ｕ’で求めた視線ベクトルｖ’に補正する。つまり、図７では、角膜９０１の回転に伴い、赤外線光源９０、撮影カメラ９１及び角膜曲率中心ｃの位置が、赤外線光源９０’、撮影カメラ９１’及び角膜曲率中心ｃ’の位置まで移動することになる。
【００７６】
その後、差分角度眼球モデル視線誤差補正手段２４ａは、誤差が補正された視線（視線ベクトルｖ’）を出力する。本実施形態では、差分角度眼球モデル視線誤差補正手段２４ａは、誤差が補正された視線（「補正後の視線」と図示）を表示制御手段２１ｂに出力して、この視線を表示手段９２に表示させる。
なお、差分角度眼球モデル視線誤差補正手段２４ａは、誤差が補正された視線の利用方法に応じて、様々な出力先に対して、任意の座標系で視線を出力できる。
【００７７】
＜法線ベクトル眼球モデルの生成＞
以下、図８〜図１０を参照して、法線ベクトル眼球モデル生成手段２３ｂによる法線ベクトル眼球モデルの生成について、説明する（適宜図１参照）。
図８に示すように、法線ベクトル眼球モデル生成手段２３ｂは、瞳孔中心極座標系において、以下の（３）式で法線ベクトルｎθが定義された法線ベクトル眼球モデル９７（図９）を生成するものである。
【００７８】
【数３】
0005873362.tif 000004
【００７９】
この（３）式では、撮影カメラ９１（図１）の位置ｌと、眼球の回転角度θと、角膜表面上でプルキニエ像の位置ｕ’θと、瞳孔中心ｅの位置（ｘθ，ｙθ，ｚθ）と、仮想カメラの位置ｌ’とである。また、（３）式では、‘｜｜  ｜｜’がノルムである。
また、撮影カメラ９１の仮想位置ｌ’は、角膜が理想的な球面の場合において、撮影カメラ９１の位置ｌを基点に歪ベクトルが示す位置である。言い換えるなら、歪ベクトルは、撮影カメラ９１の位置ｌから仮想位置ｌ’までを結ぶベクトルである。
また、法線ベクトルｎθは、プルキニエ像の位置ｕ’θから撮影カメラ９１の位置ｌまでを結ぶベクトルである。
【００８０】
なお、図８では、説明を簡易にするため、２次元方向の眼球の回転角度（θ，φ）を１次元方向の回転角度θとして図示した。ここで、眼球の回転角度θ及び、瞳孔中心ｅの位置（ｘθ，ｙθ，ｚθ）は、Ｔｓａｉのカメラキャリブレーションで予め求めておく。
また、図８では、瞳孔中心ｅを中心とし、瞳孔中心ｅからプルキニエ像の位置ｕ’θまでの半径を有する円を図示した。このとき、法線ベクトルｎθは、非球面な角膜形状に対し、球面眼球モデルに誤差があるため、プルキニエ像の位置ｕ’θで球面表面の接線に対して垂直になっていない。言い換えるなら、法線ベクトルｎθは、非球面な角膜の表面に対する法線を示す。
【００８１】
つまり、仮想カメラの位置ｌ’で撮影されるべきプルキニエ像が、球面眼球モデルの球面性と、角膜形状の非球面性との相違に起因した誤差のために、撮影カメラ９１（現実のカメラ）の位置ｌで撮影されることを意味する。この誤差を補正するには、位置ｕ’θにおいて、図８に示すように、法線ベクトルｎθを定義すればよい。
【００８２】
図８に示すように、法線ベクトルｎθ＝ｌ−ｕ’θとなる。また、撮影カメラの位置ｌは、Ｔｓａｉのカメラキャリブレーションにより世界座標系での位置を求めて、瞳孔中心極座標系に座標変換する。従って、法線ベクトルｎθを算出するために、プルキニエ像の位置ｕ’θを求めればよい。また、プルキニエ像の位置ｕ’θは、瞳孔中心極座標系において、仮想カメラの位置ｌ’と、瞳孔中心ｅの位置（ｘθ，ｙθ，ｚθ）とを結ぶ直線上にある。また、プルキニエ像の位置ｕ’θは、瞳孔中心ｅの位置（ｘθ，ｙθ，ｚθ）との距離は、一定であり、１とする。すると、プルキニエ像の位置ｕ’θは、前記した（３）式で定義できる。
【００８３】
ここで、法線ベクトル眼球モデル生成手段２３ｂは、図９に示すように、差分角度眼球モデル生成手段２３ａと同様、角膜表面の中心を極として、球面表面を各領域に分割する。そして、法線ベクトル眼球モデル生成手段２３ｂは、眼球の回転角度θを変化させながら、法線ベクトルｎ（ｎθ）を求め、各領域に対応づけるマッピングを行う。図９の例では、法線ベクトル眼球モデル生成手段２３ｂは、マーカＭｋ（図２）の位置に対応する５個の領域について、５個の法線ベクトルｎを求める。
【００８４】
その後、法線ベクトル眼球モデル生成手段２３ｂは、法線ベクトルｎが存在しない空き領域について、線形補間等の補間手法により、法線ベクトルｎを補間する（不図示）。このようにして、法線ベクトル眼球モデル生成手段２３ｂは、全ての領域に法線ベクトルｎが対応付けられた法線ベクトル眼球モデル９７を生成する。
【００８５】
この法線ベクトルｎは、領域ごとに角膜９０１の表面の法線を示したものである。
この法線ベクトル眼球モデル９７は、角膜表面の光学的な反射特性の違いを角膜表面の形状（傾斜）の違いとして示したものである。つまり、法線ベクトル眼球モデル９７は、各領域の傾斜が、角膜形状の非球面性を表わしている。
【００８６】
言い換えるなら、図１０に示すように、法線ベクトル眼球モデル９７は、眼球９００を眼球９００’まで回転させて、プルキニエ像の位置ｕで求めた視線ベクトルｖを、プルキニエ像の位置ｕ’で求めた視線ベクトルｖ’に補正する眼球モデルである。つまり、図１０では、眼球９００の回転に伴い、赤外線光源９０、撮影カメラ９１及び角膜曲率中心ｃの位置が、赤外線光源９０’、撮影カメラ９１’及び角膜曲率中心ｃ’の位置まで移動することになる。
【００８７】
＜法線ベクトル眼球モデルによる補正＞
以下、図１１〜図１３を参照して、法線ベクトル眼球モデル視線誤差補正手段２４ｂで行われる法線ベクトル眼球モデルによる補正について、詳細に説明する（適宜図１参照）。
【００８８】
法線ベクトル眼球モデル視線誤差補正手段２４ｂは、法線ベクトル眼球モデル９７を参照して、プルキニエ像の位置ｕにある法線ベクトルｎが撮影カメラ９１を向く回転角を算出し、算出した回転角だけ法線ベクトル眼球モデル９７を回転させ、回転後の法線ベクトル眼球モデル９７において、角膜曲率中心ｃ’（図１３）から瞳孔中心ｅを向くベクトルを、誤差が補正された視線ベクトルｖ’として出力するものである。
【００８９】
図１１に示すように、法線ベクトル眼球モデル視線誤差補正手段２４ｂは、視線誤差補正時、ユーザが任意のオブジェクトを注視しているときの視線（視線ベクトルｖ）が入力される。ここで、瞳孔中心ｅ及び角膜曲率中心ｃは、瞳孔−角膜反射法において、瞳孔中心ｅとプルキニエ像の位置ｕとの位置関係から求められる。また、視線ベクトルｖは、世界座標系において、角膜曲率中心ｃと瞳孔中心ｅとの差になる（ｖ＝ｅ−ｃ）。
なお、図１１では、眼球中心ｂと、瞳孔中心極座標系（一点鎖線）とを図示した（図１２，図１３も同様）。
【００９０】
また、図１２に示すように、プルキニエ像の位置ｕにある法線ベクトルｎは、視線の誤差を補正する前、撮影カメラ９１の方向を向いていない。従って、法線ベクトル眼球モデル視線誤差補正手段２４ｂは、プルキニエ像の位置ｕにある法線ベクトルｎが撮影カメラ９１を向く回転角を算出する。
【００９１】
そして、図１３に示すように、法線ベクトル眼球モデル視線誤差補正手段２４ｂは、算出した回転角だけ法線ベクトル眼球モデル９７を回転させて、補正する前のプルキニエ像の位置ｕから見て、プルキニエ像の位置ｕにある法線ベクトルｎが、撮影カメラ９１を向くようにする。さらに、法線ベクトル眼球モデル視線誤差補正手段２４ｂは、図１３の法線ベクトル眼球モデル９７において、角膜曲率中心ｃ’から瞳孔中心ｅを向くベクトルを、誤差が補正された視線ベクトルｖ’として求める。このようにして、視線ベクトルｖが視線ベクトルｖ’に補正される。
なお、図１３では、眼球９００を眼球９００’まで回転させることで、角膜曲率中心ｃの位置が角膜曲率中心ｃ’の位置まで移動することになる。
【００９２】
その後、法線ベクトル眼球モデル視線誤差補正手段２４ｂは、誤差が補正された視線（視線ベクトルｖ’）を出力する。本実施形態では、法線ベクトル眼球モデル視線誤差補正手段２４ｂは、誤差が補正された視線を表示制御手段２１ｂに出力して、この視線を表示手段９２に表示させる。
なお、法線ベクトル眼球モデル視線誤差補正手段２４ｂは、誤差が補正された視線の利用方法に応じて、様々な出力先に対して、任意の座標系で視線を出力できる。
【００９３】
［視線誤差補正装置の動作］
以下、図１４を参照して、図１の視線誤差補正装置２０の動作について、説明する（適宜図１参照）。
視線誤差補正装置２０は、表示制御手段２１ｂによって、マーカ画像を、表示手段９２に表示させる（ステップＳ１：マーカ表示ステップ）。
視線誤差補正装置２０は、マーカ視線入力手段２１ａによって、視線測定装置１０Ａからマーカ視線が入力される（ステップＳ２：マーカ視線入力ステップ）。
【００９４】
視線誤差補正装置２０は、表示制御手段２１ｂによって、マーカ画像とポインタとを表示手段９２に表示させる（ステップＳ３：マーカ視線表示ステップ）。
視線誤差補正装置２０は、誤差情報入力手段２１ｃによって、外部から、誤差情報が入力される（ステップＳ４：誤差情報入力ステップ）。
【００９５】
視線誤差補正装置２０は、歪ベクトル算出手段２２によって、誤差情報に基づいて、マーカ画像と同一サイズでポインタの位置を示した平面画像から、ポインタをマーカに一致させた歪み平面を生成し、歪ベクトルを算出する（ステップＳ５：歪ベクトル算出ステップ）。
【００９６】
視線誤差補正装置２０は、非球面眼球モデル生成手段２３によって、歪ベクトルに基づいて、各ユーザに対応した非球面眼球モデルを生成する。
つまり、差分角度眼球モデル生成手段２３ａは、画像座標系の歪ベクトルを眼球中心極座標系に座標変換することで、差分角度眼球モデルを生成する。
また、法線ベクトル眼球モデル生成手段２３ｂは、瞳孔中心極座標系において、前記した（３）式で法線ベクトルが定義された法線ベクトル眼球モデルを生成する（ステップＳ６：非球面眼球モデル生成ステップ）。
【００９７】
視線誤差補正装置２０は、視線誤差補正手段２４によって、非球面眼球モデルに基づいて、視線の誤差を補正する。
つまり、差分角度眼球モデル視線誤差補正手段２４ａは、差分角度眼球モデルを参照して、眼球中心極座標系の原点を中心として、視線を差分角度だけ回転させることで、視線の誤差を補正する。
また、法線ベクトル眼球モデル視線誤差補正手段２４ｂは、法線ベクトル眼球モデルを参照して、プルキニエ像の位置にある法線ベクトルｎが撮影カメラを向くように法線ベクトル眼球モデルを回転させ、回転後の法線ベクトル眼球モデルにおいて、角膜曲率中心から瞳孔中心を向くベクトルを求めて、誤差が補正された視線として出力する（ステップＳ７：視線誤差補正ステップ）。
なお、ステップＳ１〜Ｓ６がモデル生成時の処理であり、ステップＳ７が視線誤差補正時の動作である。
【００９８】
以上のように、本発明の実施形態に係る視線誤差補正装置２０は、視線座標変換・出力手段１４で座標変換されたマーカ視線を用いて、非球面眼球モデルを生成する。そして、視線誤差補正装置２０は、この非球面眼球モデルを視線誤差補正時に用いるため、個人キャリブレーションを繰り返し行う必要がなく、作業負担を少なくすることができる。さらに、視線誤差補正装置２０は、この非球面眼球モデルを用いて、球面眼球モデルの球面性と角膜形状の非球面性との相違に起因する誤差も補正できるため、視線の誤差を小さく抑えることができる
【００９９】
さらに、視線誤差補正装置２０は、簡易な座標変換で差分角度眼球モデルを生成することができる。
さらに、視線誤差補正装置２０は、瞳孔−角膜反射法と法線ベクトル眼球モデルとの基準位置が同一のため、視線誤差補正時に頭部が動いた場合でも、視線の誤差を補正することができる。
【０１００】
例えば、従来の瞳孔−角膜反射法では、個人キャリブレーションを繰返し行って、最良のデータを用いた場合でも、表示画面の周辺部で視線に１°以上の誤差が発生する。一方、視線誤差補正装置２０では、表示画面の周辺部であっても視線の誤差を無視することができる。このように、視線誤差補正装置２０では、従来の瞳孔−角膜反射法に比べて、視線の誤差を小さく抑えることができる。
【０１０１】
ここで、法線ベクトル眼球モデルは、角膜表面の一様でない形状を法線ベクトルのマップで示した絶対的な非球面眼球モデルと言うこともできる。一方、差分角度眼球モデルは、瞳孔−角膜反射法の球面眼球モデルに対する相対的な差分角度（補正回転角度）を示す非球面眼球モデルと言うこともできる。何れの非球面眼球モデルを用いた場合でも、視線誤差補正装置２０は、視線の誤差を極めて小さくすることができる。以上の点を考慮して、視線誤差補正装置２０は、差分角度眼球モデル又は法線ベクトル眼球モデルの何れを用いるか、ユーザが手動で切り替えることができる。
【０１０２】
なお、本実施形態では、視線誤差補正装置２０は、差分角度眼球モデル及び法線ベクトル眼球モデルの両方を用いることとして説明したが、何れか一方のみを用いてもよい。つまり、視線誤差補正装置２０は、差分角度眼球モデル生成手段２３ａと差分角度眼球モデル視線誤差補正手段２４ａとの組み合わせ、又は、法線ベクトル眼球モデル生成手段２３ｂと法線ベクトル眼球モデル視線誤差補正手段２４ｂとの組み合わせの何れか一方のみを備えてもよい。さらに、視線誤差補正装置２０は、差分角度眼球モデル及び法線ベクトル眼球モデルの両方を組み合わせた非球面眼球モデル、例えば、瞳孔中心を基準とした極座標で、差分角度を保持する中間的な非球面眼球モデルを用いてもよい。
【０１０３】
なお、本実施形態では、視線誤差補正装置２０は、非球面眼球モデル生成手段２３において、差分角度ベクトル及び法線ベクトルの補間を行うこととして説明したが、本発明は、これに限定されない。つまり、視線誤差補正装置２０は、歪ベクトル算出手段２２において、マーカの位置で算出された歪ベクトルを用いて、線形補間等の補間手法により、マーカがない位置の歪ベクトルを補間してもよい。
【０１０４】
なお、本実施形態では、視線誤差補正装置２０は、モデル生成を行った後、視線誤差補正を行うという一連の処理で説明したが、視線誤差補正の都度、非球面眼球モデルを生成しなくともよい。
例えば、視線誤差補正装置２０は、認証機能（ログイン機能）により各ユーザを認証する。そして、視線誤差補正装置２０は、各ユーザに対応する非球面眼球モデルが存在しない場合、そのユーザに対応する非球面眼球モデルを生成し、図示を省略した非球面眼球モデル記憶手段に格納する。以後、視線誤差補正装置２０は、そのユーザに対応する非球面眼球モデルを非球面眼球モデル記憶手段から読み出して、視線誤差補正を行えばよい。
【０１０５】
なお、本実施形態では、歪み平面がＮＵＲＢＳ曲面であることとして説明したが、本発明は、これに限定されない。つまり、本発明において、歪み平面は、ベジエ曲線又はＢスプライン曲線で構成される曲面といった、コントロールポイントにより変形できるパラメトリック曲面であればよい。何れの曲面を用いた場合でも、視線誤差補正装置２０は、コントロールポイントの数を増やせば、任意の歪み曲面を表現可能である。
【０１０６】
なお、本実施形態では、ポインタをテクスチャマッピングとして表示することとして説明した。このとき、円形のポインタは、平面画像を歪ませると、これに伴って歪んでしまう。これを回避したい場合、視線誤差補正装置２０は、ポインタのＵＶ座標を導いて、このＵＶ座標に円形のポインタを配置すればよい。
【０１０７】
なお、本実施形態では、従来の球面眼球モデルを前提とした個人キャリブレーションを行わないこととして説明してが、本発明は、前記した個人キャリブレーションを行ってもよい。つまり、視線測定装置１０Ａは、個人キャリブレーション手段１３を備えてもよい。
【０１０８】
なお、本実施形態では、視線測定・誤差補正装置１を独立した装置として説明したが、本発明は、これに限定されない。つまり、本発明は、一般的なコンピュータを視線測定・誤差補正装置１の各手段として動作させる視線誤差補正プログラムにより、実現することもできる。
【０１０９】
また、本発明では、スマートフォン又はタブレット端末に視線誤差補正プログラムをインストールしてもよい。この場合、ユーザは、ポインタの中心をマーカに一致させるように、スマートフォン又はタブレット端末の表示画面（表示手段９２）を指でなぞる操作を行うことで、誤差情報を入力できる。そして、本発明をスマートフォン又はタブレット端末で実現した場合、ユーザがスマートフォン又はタブレット端末を大きく動かすことで、表示画面とユーザの頭部との位置関係が大きく変化する場合でも、正確な視線を測定することができる。
【０１１０】
（変形例）
以下、図１５を参照して、本発明の変形例に係る視線誤差補正装置２０Ｂについて、第１実施形態と異なる点を説明する。
図１の視線誤差補正装置２０は、ユーザがマーカと異なる位置を見た場合に補間計算を行う必要がある。そこで、視線誤差補正装置２０Ｂは、予め補間演算を行って、その演算結果をルックアップテーブルに格納する。
【０１１１】
ルックアップテーブル生成手段２５は、歪ベクトル算出手段２２から歪ベクトルが入力され、この歪ベクトルを画像座標系で予め設定されたサイズの小領域に対応付けることで、ルックアップテーブルを生成するものである。
ここで、ルックアップテーブル生成手段２５は、１以上の画素で構成される小領域に画像座標系を分割する。そして、ルックアップテーブル生成手段２５は、画素単位で算出された歪ベクトルを各小領域に対応付けて、ルックアップテーブルを生成する。このとき、ルックアップテーブル生成手段２５は、歪ベクトルを対応付けできなかった各小領域について、線形補間等の補間手法により、その小領域の歪ベクトルを補間してもよい。
【０１１２】
なお、視線誤差補正装置２０Ｂは、入出力制御手段２１、歪ベクトル算出手段２２及び視線誤差補正手段２４が図１の各手段と同様のため、詳細な説明を省略する。
また、非球面眼球モデル生成手段２３Ｂは、ルックアップテーブル生成手段２５が生成したルックアップテーブルの歪ベクトルを用いる以外、図１と同様のため、詳細な説明を省略する。
【０１１３】
以上のように、本発明の変形例に係る視線誤差補正装置２０Ｂは、ルックアップテーブルを参照することで、補間計算を都度行う必要がなくなり、演算処理の高速化を図ることができる。
なお、視線誤差補正装置２０Ｂは、２次元の画像処理しか行っていないため、頭部が動くと誤差が生じることになる。
【符号の説明】
【０１１４】
１，１Ｂ  視線測定・誤差補正装置
１０，１０Ａ  視線測定装置
１１  瞳孔・プルキニエ像検出手段
１２  視線ベクトル・基準点算出手段
１３  個人キャリブレーション手段
１４  視線座標変換・出力手段
２０，２０Ｂ  視線誤差補正装置
２１  入出力制御手段
２２  歪ベクトル算出手段
２３，２３Ｂ  非球面眼球モデル生成手段
２４  視線誤差補正手段
２５  ルックアップテーブル生成手段
【図１】
0005873362.tif 000006
【図２】
0005873362.tif 000007
【図３】
0005873362.tif 000008
【図４】
0005873362.tif 000009
【図５】
0005873362.tif 000010
【図６】
0005873362.tif 000011
【図７】
0005873362.tif 000012
【図８】
0005873362.tif 000013
【図９】
0005873362.tif 000014
【図１０】
0005873362.tif 000015
【図１１】
0005873362.tif 000016
【図１２】
0005873362.tif 000017
【図１３】
0005873362.tif 000018
【図１４】
0005873362.tif 000019
【図１５】
0005873362.tif 000020
【図１６】
0005873362.tif 000021
【図１７】
0005873362.tif 000022
【図１８】
0005873362.tif 000023
【図１９】
0005873362.tif 000024
【図２０】
0005873362.tif 000025
【図２１】
0005873362.tif 000026
【図２２】
0005873362.tif 000027