【文献】
近藤祐輝,他4名,ステレオカメラを利用した3次元注視位置検出システム,ViEWビジョン技術の実利用ワークショップ講演論文集,日本,2009年12月 3日,Vol.2009,Page.343-348
(58)【調査した分野】(Int.Cl.,DB名)
前記パラメータ補正ステップでは、前記対象者の注視点を変化させることにより、それぞれの前記ベクトルrを様々変化させたときのパラメータkを算出することによって、パラメータkをベクトルrの大きさ|r|の関数として求め、
前記注視点検出ステップでは、当該関数及び前記式(2)を用いて前記視線の方向を計算する、
ことを特徴とする請求項3に記載の注視点検出方法。
【発明を実施するための形態】
【0012】
以下、図面を参照しつつ本発明に係る注視点検出方法及び注視点検出装置の好適な実施形態について詳細に説明する。なお、図面の説明においては同一又は相当部分には同一符号を付し、重複する説明を省略する。
【0013】
(注視点検出装置の構成)
まず、本発明にかかる注視点検出装置を実施するための注視点検出装置の構成について、図面を参照しながら説明する。本発明の注視点検出装置は、対象者の顔画像を基にパーソナルコンピュータ等の情報処理端末のモニター画面上の注視点を検出する装置である。
【0014】
図1は、本発明の好適な一実施形態である注視点検出装置1を示す斜視図である。同図に示すように、注視点検出装置1は、対象者Aの顔画像を撮像する2台のステレオカメラ2a,2bと、それぞれのステレオカメラ2a,2bの開口部の撮像レンズの外側に設けられた光源3a,3bと、光源3a,3bの給電用の発光回路(制御回路)4と、ステレオカメラ2a,2bに入力する同期信号を生成する同期信号発生器(制御回路)5と、同期信号を遅延させるための遅延回路(制御回路)6と、ステレオカメラ2a,2bの生成した画像信号を処理するパーソナルコンピュータ等の画像処理装置(画像処理部)7と、ステレオカメラ2a,2bの上方において対象者Aに対向するように配置され、画像処理装置7に接続されたディスプレイ装置8とを備えている。これらの発光回路4、同期信号発生器5、及び遅延回路6は、ステレオカメラ2a,2b及び光源3a,3bの動作を制御するための制御回路を構成する。
【0015】
ステレオカメラ2a,2bは、対象者Aの顔面を撮像することによって画像データを生成する。このステレオカメラ2a,2bとしては、インターレーススキャン方式の1つであるNTSC方式のカメラを用いる。NTSC方式では、1秒間に30枚得られる1フレームの画像データは、奇数番目の水平画素ラインで構成される奇数フィールドと奇数フィールドを除く偶数番目の水平画素ラインで構成される偶数フィールドから構成され、奇数フィールドの画像と偶数フィールドの画像とが1/60秒の間隔で交互に撮影されて生成される。具体的には、1フレーム内では、奇数フィールドの画素ラインと偶数フィールドの画素ラインとが交互に並ぶように生成される。
【0016】
この一方のステレオカメラ2aには、同期信号発生器5から垂直同期信号(VD信号)が入力され、他方のステレオカメラ2bには、同期信号発生器5から遅延回路6を経由して遅延された垂直同期信号(VD信号)が入力されることにより、2つのステレオカメラ2a,2bの撮影タイミングが互いにずらされる。
【0017】
また、このステレオカメラ2a,2bの対物レンズが収容された円形状の開口部9a,9bの外側には、それぞれ、光源3a,3bが固定されている。
図2には、光源3a,3bの平面図を示している。光源3a,3bは、対象者Aの顔に向けて照明光を照射するためのものであり、リング状の台座部10に2種類の発光素子11,12が複数埋め込まれた構造を有している。この発光素子11は、出力光の中心波長が850nmの半導体発光素子(LED)であり、台座部10上において開口部9a,9bの縁に沿って等間隔でリング状に配設されている。また、発光素子12は、出力光の中心波長が950nmの半導体発光素子であり、台座部10上において発光素子11の外側に隣接して等間隔にリング状に配設されている。すなわち、発光素子12のカメラ2a,2bの光軸からの距離は、発光素子11の光軸からの距離よりも大きくなるように設定されている。このとき、それぞれの発光素子11,12は、カメラ2a,2bの光軸に沿って照明光を出射するように台座部10上に設けられている。
【0018】
これらの発光素子11,12は、発光回路4によって、それぞれ独立に発光タイミングを制御可能にされる。具体的には、同期信号発生器5から出力されるVD信号に同期したカメラ2a,2bのシャッタタイミングに合わせて、発光素子11,12が交互に発光するように、発光タイミングが制御される。
【0019】
このような制御回路の動作により、光源3aの発光素子11から対象者Aの左右の眼球Bに照明光が照射されると、眼球Bにおいて明瞳孔像が生成され、発光素子12から眼球Bに照明光が照射されると、眼球Bにおいて暗瞳孔像が生成される。これは、波長が900nmより短い照明光を受ける場合は、波長が900nmより長い照明光を受ける場合に比較して瞳孔が明るく映る、眼球Bへの照明光がカメラの光軸からより離れた位置から入射した場合は瞳孔がより暗く映るという性質によるものである。その結果、ステレオカメラ2a,2bの生成する奇数フィールド及び偶数フィールドには、それぞれ、眼球Bの明瞳孔画像及び暗瞳孔画像が反映される。
【0020】
画像処理装置7は、2台のステレオカメラ2a,2bから出力された画像データを処理する。具体的には、画像処理装置7は、ステレオカメラ2a,2bから出力された1フレームの画像データを、奇数フィールドと偶数フィールドとに分離する。例えば、この奇数フィールドの画像データ(奇数画像データ)は明瞳孔画像となっており、偶数フィールドの画像データ(偶数画像データ)は暗瞳孔画像となっている。これらの画像データは、奇数フィールド又は偶数フィールドのみに有効画素を有しているため、画像処理装置7は、隣接する有効画素の画素ラインの輝度平均をそのライン間の画素値に埋め込むことによって、明瞳孔画像データ及び暗瞳孔画像データを生成する。
【0021】
さらに、画像処理装置7は、明瞳孔画像データ及び暗瞳孔画像データを用いて、対象者Aの左右の瞳孔の検出を繰り返し行う。すなわち、明瞳孔画像データと暗瞳孔画像データの差分画像を生成し、前回の瞳孔検出処理で検出された瞳孔の位置を基にウィンドウを設定し、そのウィンドウの範囲内で瞳孔の探索を行う。具体的には、画像処理装置7は、差分画像に対してPタイル法によって決定された閾値で2値化を行った後、孤立点除去及びラベリングを行い、ラベルづけされた画素の連結成分の中から、瞳孔らしい面積、サイズ、面積比、正方形度、及び瞳孔特徴量等の形状パラメータから瞳孔候補を選択する。さらに、選択された瞳孔候補の連結成分の中から、2つの瞳孔候補の関係が所定の関係にあるものを左右の瞳孔として決定し、画像データにおける左右の瞳孔の中心座標を算出する。
【0022】
また、画像処理装置7は、明瞳孔画像データ及び暗瞳孔画像データを対象にして、対象者Aの左右の角膜反射点の位置も検出する。すなわち、検出した瞳孔を中心としたウィンドウを設定し、そのウィンドウ範囲のみを高分解像度化した画像データを作成し、その画像データから角膜反射を検出する。具体的には、Pタイル法によって2値化の閾値を決定し、その画像から2値化画像を作成し、ラベリングを行い、面積が一定以下である部分を選択する。ここで、画像処理装置7は、選択した部分の中心座標に対し、分離度フィルタを与え、分離度と輝度とを掛けた特徴量を求め、その値が一定値以下であれば角膜反射ではないと判断する。さらに、画像処理装置7は、明瞳孔画像データと暗瞳孔画像データにおいて、角膜反射の移動量を計算し、その移動量を差分位置補正量とする。そして、画像処理装置7は、明瞳孔画像データ及び暗瞳孔画像データの角膜反射位置が一致するように差分位置補正量分だけずらし、画像データの輝度を足し算し、輝度重心座標を角膜反射の座標と決定する。
【0023】
さらに、画像処理装置7は、2台のステレオカメラ2a,2bから出力された画像データを元に検出した瞳孔中心座標から、対象者Aの左右の瞳孔の3次元位置を計算する。この際、画像処理装置7は、ステレオ法によって左右の瞳孔の3次元座標を計測する。ステレオ法とは、カメラのレンズの焦点距離、画像中心、画素サイズなどの内部パラメータと、カメラの位置や姿勢等の外部パラメータを予め計測しておき、複数台のステレオカメラで対象物を撮影したときに画像中の点の座標を基に、内部パラメータ及び外部パラメータを用いてその点の空間上の位置を決定する方法である。
【0024】
なお、画像処理装置7がステレオ法を用いて瞳孔の3次元座標を計算する際には、
図3に示すような座標系を用いる。同図に示す世界座標系(X
W,Y
W,Z
W)は、2台のステレオカメラ2a,2bで共有する原点O
Wが例えばディスプレイ装置8の画面中央に位置する座標系であり、カメラ座標系(X,Y,Z)は、その原点Cがカメラ2a,2bの光学中心とされ、Z軸が光学中心から画像面に垂直に引いた光軸と平行とされた座標系であり、画像座標系(X
G,Y
G)は、撮像素子が置かれる画像面に沿ってXY平面と平行にされ、光軸と画像面の交点(画像中心)を原点Ciとする座標系である。点Pが目標点の座標とすると、カメラ2a,2bを用いた際の画像座標系への投影点(X
d,Y
d)は、画像のゆがみにより理想的な投影点(X
u,Y
u)からずれることになる。従って、ステレオ法を用いた3次元位置計測を精度良く行うためには、目標点Pの世界座標とその画像座標の対応づけを記録したキャリブレーションデータを予め取得する必要がある。例えば、このようなキャリブレーションデータとしては、外部パラメータとしての世界座標に対するカメラ座標系の平行移動ベクトル及び世界座標系に対するカメラ座標系の回転行列や、内部パラメータとしての焦点距離、画像中心座標、スケール係数、レンズひずみ係数、撮像素子間隔等が予め取得されて、画像処理装置7に記憶される。
【0025】
そして、画像処理装置7は、2台のステレオカメラ2a,2bからの出力データを元に検出した画像座標系における瞳孔中心座標と、世界座標系における瞳孔中心座標との関係式を、キャリブレーションデータを参照しながら取得する。次に、画像処理装置7は、2つの関係式から対象者Aの瞳孔の世界座標系における3次元位置座標を求める。同様にして、画像処理装置7は、対象者Aの左右の瞳孔の3次元位置を求めることができる。
【0026】
また、画像処理装置7は、検出した対象者Aの左右の角膜反射点の位置、及び左右の瞳孔中心の位置とを用いて、ディスプレイ装置8上の対象者の注視点を検出する。以下に、
図4及び
図5を参照しながら、画像処理装置7による注視点の検出手順について説明する。
【0027】
(自動較正法による注視点検出手順)
ここでは、
図4に示すように、検出した瞳孔の3次元位置Pを元に、カメラ2a,2bの開口部9a,9bの中心を原点Oとし、その原点Oと瞳孔Pを結ぶ基準線OPを法線とする仮想視点平面X’−Y’を設定する。
【0028】
まず、画像処理装置7は、画像面S
Gにおける角膜反射点Gから瞳孔中心Pまでのベクトルr
0を算出する。そして、ベクトルr
0を、距離OPから求められたカメラの拡大率を用いて実寸に換算したベクトルrに変換する(ベクトル計算ステップ)。このとき、各カメラ2a,2bをピンホールモデルと考え、角膜反射点Gと瞳孔中心Pとが、仮想視点平面X’−Y’と平行な平面上にあると仮定している。つまり、画像処理装置7は、仮想視点平面と平行であって瞳孔Pの3次元座標を含む平面上において、瞳孔中心Pと角膜反射点Gの相対座標をベクトルrとして算出している。
【0029】
その後、画像処理装置7は、対象者Aの仮想視点平面上の注視点Tに関して、直線OTの水平軸X’に対する傾きφを、ベクトルrの画像面上の水平軸X
Gに対する傾きφ’と等しいとして求める。さらに、画像処理装置7は、対象者Aの視線ベクトル、すなわち、瞳孔中心Pと注視点Tを結ぶベクトルPTと、基準線OPとの成す角θを、係数kを使った関数f
1を用いて、下記式(3);
θ=f
1(|r|)=k×|r| …(3)
によって計算する(視線方向計算ステップ)。
【0030】
ここで、係数kは予め設定された初期値が使用される。このような角度φ,θの計算は、瞳孔中心Pの存在する平面上のベクトルrを仮想視点平面上で拡大したものがそのまま対象者Aの注視点に対応するとみなすことにより行われている。より詳しくは、対象者Aの視線PTの基準線OPに対する角度θは、瞳孔中心と角膜反射の距離|r|との間で線形関係を有すると仮定している。ただし、上記係数kは、各対象者Aや左右の眼球によって異なるため較正を行う必要がある。
【0031】
そこで、画像処理装置7は、次のようにして係数kを補正する(パラメータ補正ステップ)。係数kの補正は、連続する100フレームの画像データを基に、1フレーム毎に係数kを求めて、それらの平均を最終的な係数kとすることにより行われる。
【0032】
具体的には、
図5に示すように、画像処理装置7は、左右のステレオカメラ2a,2bを用いて、それぞれの仮想視点平面X
L−Y
L,X
R−Y
R上の1つの瞳孔P
Vからの注視点T
VL,T
VRを求める。そして、画像処理装置7は、2つの注視点T
VL,T
VRと、仮想視点平面の原点O
VL,O
VRとを、それぞれ、投影仮想視点平面X’−Y’上の点T’
VL,T’
VR,O’
VL,O’
VRに投影する。そして、画像処理装置7は、投影仮想視点平面上の2つの注視点間の距離|T’
VLT’
VR|を計算する。ここで、投影仮想視点平面X’−Y’とは、2つの仮想視点平面の原点O
VL,O
VRと瞳孔P
Vとを結ぶ線によって形成される角O
VLP
VO
VRの2等分線に垂直な平面であって、瞳孔P
Vからの距離が瞳孔P
Vから2つの仮想視点平面までの距離の和に設定された平面である。なお、投影仮想視点平面X’−Y’は、2つの仮想視点平面X
L−Y
L,X
R−Y
Rの傾きに対して平均的な傾きを有し、両平面との間の交差角が同時に小さくなる平面であれば角O
VLP
VO
VRの2等分線に垂直な平面に限られるものではなく、瞳孔P
Vからの距離は任意の距離に設定されてよい。
【0033】
次に、画像処理装置7は、係数kを初期値k
0から二分探索を行うことにより補正する。詳細には、係数kを初期値k
0に加算値を加算することにより変化させ、その都度投影仮想視点平面上の2つの注視点間の距離|T’
VLT’
VR|を計算し、距離|T’
VLT’
VR|が最小となる係数kを探索する。これによって、2台のカメラ2a,2bによって求められた2つの注視点が所定平面上で近くなるように係数kが補正される結果、2台のカメラ2a,2bを使用して計算される視線ベクトルの方向も近くなる。
【0034】
このように求めた係数kを用いて、画像処理装置7は、所望のタイミングにおいて、対象者Aの視線ベクトルを決定し、その視線ベクトルとディスプレイ装置8の表示画面との交点を求めることによって、最終的な対象者Aの注視点Qを検出する(注視点検出ステップ)。具体的には、画像処理装置7は、較正した係数kを用いて求めた2つの注視点T’
VL,T’
VRの中点T’を、投影仮想視点平面上の注視点とし、瞳孔中心Pと視点T’を結ぶベクトルPT’を視線ベクトルとする。次に、画像処理装置7は、視線ベクトルPT’と表示画面に沿った平面との交点を注視点Qとして算出する。ただし、このような注視点Qは、表示画面以外の予め定められた所定平面上で検出されてもよい。その後、画像処理装置7は、算出した注視点Qを表示画面上にマーカで表示させる。
【0035】
以上が画像処理装置7による注視点検出手順であるが、画像処理装置7は、検出する注視点の精度を上げるために、次のような較正手順を追加することもできる。
【0036】
(1点較正手順)
上記式(3)を用いて対象者Aの視線ベクトルPTの成す角θを求める際には、対象者Aがカメラ2a,2bの開口部9a,9bを注視したときに瞳孔中心と角膜反射との距離|r|が零になると想定している。しかしながら、人間の眼球の構造上、対象者Aがカメラ2a,2bを見たときには角膜反射点と瞳孔中心は一致しない場合も多い。そこで、画像処理装置7は、この現象に起因する注視点のずれの補正を行う。
【0037】
すなわち、画像処理装置7は、自動較正法による係数kの二分探索と同時に、注視点の原点補正量の算出を行う。まず、画像処理装置7は、表示画面上の任意の位置に1点の指標(規定点)を表示させて対象者Aにその指標を注視させた状態で、投影仮想視点平面上の注視点T’を検出する。次に、検出した注視点T’と指標の座標を投影仮想視点平面上に投影した点との差分が補正量ΔQとして算出される。画像処理装置7は、この補正量ΔQを用いて、その都度検出する注視点T’を補正することによって、検出する注視点Qを誤差分だけシフトして補正することができる。
【0038】
なお、画像処理装置7は、対象者Aに1点の指標を注視させた状態で注視点を検出した後に、その注視点と指標の位置とに基づいて、上記式(3)を用いた係数kの値の決定と、補正量ΔQの算出の両方を行ってもよい。
【0039】
(2点較正手順)
また、画像処理装置7は、2つの指標を用いた2点較正手順によって、注視点の原点補正に加えて、瞳孔中心と角膜反射との距離|r|と視線ベクトルPTの成す角θとの関係が非線形関係になることによる注視点検出誤差も補正することができる。
【0040】
詳細には、画像処理装置7は、まず、1つ目の指標を表示画面上の中央に表示させて対象者Aに注視させながら、二分探索による係数k
1の決定(自動較正)、及び1点較正手順による原点補正量ΔQの算出を行う。このとき、画像処理装置7は、上記式(3)に代えて下記式(4);
【数1】
を用いて、視線ベクトルPTの成す角θを算出する。上記式(4)中、|r
B|,θ
Bは、1点目の指標を表示させたときに検出されたベクトルの大きさ|r|及び角度θであり、点(|r
B|,θ
B)を基点として、ベクトルの大きさ|r|の変化に対する角度θの変化が異なるような関係が設定され、角度θが大きいときの両者の関係における非線形成分が考慮されている(
図6)。
【0041】
次に、画像処理装置7は、2つ目の指標を表示画面上の中央上端に表示させて対象者Aに注視させながら、画像データを基にこのときのベクトルrの大きさ|r
S|を検出し、既定の指標点から求まる視線ベクトルPTの成す角θ
Sを用いて、下記式(5);
【数2】
により、係数k
2を算出する。以降、画像処理装置7は、決定した係数k
1,k
2を基に関数f
2を補正し、その関数f
2を用いてベクトルrから視線ベクトルPTの成す角θを導くようにする。
【0042】
以上説明した注視点検出装置1及び注視点検出装置1を用いた注視点検出方法によれば、2台のステレオカメラ2a,2b及びその開口部9a,9bの外側の光源3a,3bによって対象者Aの顔画像が明瞳孔画像及び暗瞳孔画像として生成され、それぞれの顔画像を基に対象者の角膜反射点から瞳孔までのベクトルrが計算され、それぞれのベクトルrを関数f
1,f
2に適用することによって、対象者Aの視線の基準線に対する角度θが計算される。さらに、2台のステレオカメラ2a,2bを用いて計算されたそれぞれの視線の方向が互いに近くなるように、関数f
1,f
2が補正され、その関数f
1,f
2を用いて視線の方向が計算された後に、その視線の方向を基に表示画面上の注視点Qが検出される。これにより、対象者Aが意識することなく視線方向を算出するための関数f
1,f
2に関する自動補正が実行されるので、対象者Aの負担が軽減されるとともに、高精度の注視点検出が可能になる。
【0043】
また、注視点検出装置1では、2台のステレオカメラ2a,2bによるそれぞれの顔画像に基づいて、瞳孔の3次元座標を含みステレオカメラ2a,2bの基準線に垂直な平面上におけるベクトルrが計算されるので、対象者Aの瞳孔位置及び角膜反射点を基に、視線の角度θをより正確に計算することができる。
【0044】
また、注視点検出装置1では、2台のステレオカメラ2a,2bに対応する仮想視点平面上における視線との交点を求め、2つの交点を所定の投影仮想視点平面上に投影した後、2つの交点が投影仮想視点平面上で近くなるように関数f
1,f
2が補正される。こうすれば、2台のステレオカメラ2a,2bによって検出される視線の方向が近くなるように、2つの投影点間の距離を評価して関数f
1,f
2を補正することができる。
【0045】
さらに、注視点検出装置1では、ベクトルrから視線方向を検出するために関数f
1を使用しているので、関数f
1の補正処理が単純化され、即座に高精度の注視点検出が可能になる。
【0046】
またさらに、注視点検出装置1では、1点較正手順が追加可能にされているので、自動較正のみによって生じる人間の眼球の構造に起因した注視点の検出ずれをさらに補正することができる。
【0047】
また、注視点検出装置1では、2点較正手順も追加可能にされているので、ベクトルrと視線の角度θとの関係が非線形性を示す場合も考慮して関数f
1を関数f
2を用いて補正することができ、視線の角度がカメラの基準線に対して大きくなった場合でも高精度な注視点検出が実現される。
【0048】
なお、本発明は、前述した実施形態に限定されるものではない。例えば、本発明の注視点検出方法においては、角膜反射点と瞳孔中心を結ぶベクトルrから視線の角度θを検出する為に使用する関数fは、様々な関数で代用することもできる。
【0049】
例えば、本発明の変形例にかかる注視点検出方法においては、次のようにして関数fを決定しても良い。
【0050】
すなわち、画像処理装置7は、上述した自動較正手順を用いて左右のステレオカメラ2a,2bによって検出された2つの注視点T’
VL,T’
VRから中点T’を求める。そして、画像処理装置7は、投影仮想視点平面上の投影点O’
VL,O’
VR(
図5)から中点T’に向かうベクトルT
1,T
2を求める。
【0051】
次に、画像処理装置7は、下記式(6);
k=g
1−1(|T
1|)/|r
1| …(6)
及び、下記式(7);
k=g
1−1(|T
2|)/|r
2| …(7)
を用いて、それぞれの係数kの値を求める。ここで、|r
1|,|r
2|は、それぞれのカメラ2a,2bによって検出されたベクトルrの大きさであり、g
1は、各カメラの仮想視点平面から投影仮想視点平面への写像関数であり、g
1−1は、その逆写像関数である。このようにして、画像処理装置7は、1点の注視点の検出時に2つのkの値を取得する。中点T’が実際の注視点位置に近いと考えられるので、このような処理を繰り返すことで、対象者Aの注視点を変化させることにより画像処理装置7は、|r|の大きさが様々に変化した状態での係数kの値を得ることができる。
【0052】
その後、画像処理装置7は、角膜反射点から瞳孔中心までのベクトルrから視線の角度θを計算するための関数が、係数kをベクトルrの大きさ|r|に応じて変化する未知関数として、下記式(8);
θ=f
3(|r|)=k(|r|)×|r| …(8)
で与えられるものと仮定する。そして、画像処理装置7は、前述した方法で様々な|r|の値に対して得られた係数kの値を用いて、非線形関数で回帰することによって、関数k(|r|)を|r|を変数とした多項式もしくは他の適切な非線形式として求める。さらに、画像処理装置7は、式(8)を用いて、左右のステレオカメラ2a,2bを用いて2つの注視点T’
VL,T’
VRを検出する。これにより、画像処理装置7は、ベクトルrと角度θとの間の非線形関係をも考慮した状態で、表示画面上の注視点Qを精度良く算出することができる。
【0053】
また、画像処理装置7はステレオカメラ2a,2bによって得られた画像データを基に、対象者Aの瞳孔の3次元座標をステレオ法を用いて計測していたが、特開2005−230049号公報に記載されたように、光飛行時間型距離イメージセンサをカメラとして用いて、そのカメラから出力される距離情報を用いて瞳孔の3次元座標を算出してもよい。
【0054】
また、ステレオカメラ2a,2bとしては、CCDカメラ、CMOSカメラ等のデジタルカメラを用いてもよい。
【0055】
また、注視点検出装置1には、2台のステレオカメラ2a,2bが備えられているが、3台以上のカメラと、それぞれのカメラに対応する光源とが設けられていてもよい。この場合、注視点検出装置1は、それぞれのカメラを用いて計算された視線の方向が互いに近くなるように、それぞれのカメラに対応する視線方向検出用の関数を補正するように動作してもよい。
【0056】
上記の側面に係る発明では、2台以上のカメラによるそれぞれの顔画像に基づいて、対象者の瞳孔の3次元座標を検出する瞳孔座標検出ステップをさらに備え、ベクトル計算ステップでは、瞳孔の3次元座標を含みカメラの基準線に垂直な平面上におけるベクトルrを計算する、ことが好ましい。この場合、対象者の瞳孔位置及び角膜反射点を基に、視線の角度θをより正確に計算することができる。
【0057】
また、パラメータ補正ステップでは、2台以上のカメラの位置を含み基準線に垂直なそれぞれの仮想視点平面上における視線との交点を求め、交点を所定の投影仮想視点平面上に投影した後、交点が投影仮想視点平面上で近くなるように関数fを補正する、ことも好ましい。こうすれば、2台以上のカメラによって検出される視線の方向が近くなるように、2つの投影点間の距離を評価して関数fを補正することができる。
【0058】
さらに、視線方向計算ステップでは、対象者の視線の角度θを、パラメータkを用いて下記式(2);
θ=k×|r| …(2)
によって計算し、パラメータ補正ステップでは、パラメータkを補正する、ことも好ましい。このような構成を採れば、関数fの補正処理が単純化され、即座に高精度の注視点検出が可能になる。
【0059】
またさらに、パラメータ補正ステップでは、対象者の注視点を変化させることにより、それぞれのベクトルrを様々変化させたときのパラメータkを算出することによって、パラメータkをベクトルrの大きさ|r|の関数として求め、注視点検出ステップでは、当該関数及び式(2)を用いて視線の方向を計算する、ことも好ましい。このようにすれば、視線方向がカメラの光軸から大きくずれた場合であっても、視線方向を高精度に検出することができる。
【0060】
さらにまた、注視点検出ステップでは、所定平面上の1点の規定点を対象者に注視させた際の注視点を検出し、規定点と注視点とのずれに基づいて、視線の所定平面上の交点を補正する、ことも好ましい。この場合、自動較正のみによって生じる注視点の検出ずれをさらに補正することができる。
【0061】
また、注視点検出ステップでは、所定平面上の2点以上の規定点を対象者に注視させた際の注視点をそれぞれ検出し、パラメータ補正ステップでは、規定点と注視点とのずれに基づいて、関数fをさらに補正する、ことも好ましい。こうすれば、ベクトルrと視線の角度θとの関係が非線形性を示す場合も考慮して関数fを補正することができ、より高精度な注視点検出が実現される。
【0062】
さらに、ベクトル計算ステップでは、明瞳孔画像及び暗瞳孔画像の差分を取ることによって、対象者の瞳孔位置を検出する、ことも好ましい。かかる構成を採れば、対象者の瞳孔位置が容易に検出される。