(54)【発明の名称】回転角度算出方法、注視点検出方法、情報入力方法、回転角度算出装置、注視点検出装置、情報入力装置、回転角度算出プログラム、注視点検出プログラム及び情報入力プログラム
【解決手段】注視点検出装置1は、対象者Aの顔画像を取得する2台のステレオカメラ2a,2bと、光源3a,3bと、制御回路4〜6と、画像処理装置7とを備える。画像処理装置7は、ステレオカメラ2a,2bによる顔画像に基づいて、対象者の角膜反射点と瞳孔中心の座標を計算し、これに基づいて光軸の方向を計算する。また、対象者が一の姿勢をとった時の光軸と視軸のずれとして原点補正ベクトルr
前記回転角度算出ステップでは、前記対象者の左眼の瞳孔の中心と右眼の瞳孔の中心とを結ぶ直線に平行な方向を第一方向とし、前記第一方向及び前記カメラの光軸の両方に垂直な方向を第二方向として、前記第二方向の成分を用いて前記視軸回りの回転角度を算出する請求項1に記載の回転角度算出方法。
請求項1または2に記載の回転角度算出方法における前記光軸方向計算ステップで計算された光軸の方向を、請求項1または2に記載の回転角度算出方法で算出された前記視軸回りの回転角度に基づいて前記ずれを補正することにより前記視軸の方向を計算し、前記視軸の方向に基づいて前記対象者の注視点を検出する、
注視点検出方法。
前記視軸回りの回転角度を算出する際には、前記対象者の左眼の瞳孔の中心と右眼の瞳孔の中心とを結ぶ直線に平行な方向を第一方向とし、前記第一方向及び前記カメラの光軸の両方に垂直な方向を第二方向として、前記第二方向の成分を用いて前記視軸回りの回転角度を算出する請求項5に記載の回転角度算出装置。
請求項5または6に記載の回転角度算出装置により計算された光軸の方向を、請求項5または6に記載の回転角度算出装置で算出された前記視軸回りの回転角度に基づいて前記ずれを補正することにより前記視軸の方向を計算し、前記視軸の方向に基づいて前記対象者の注視点を検出する、注視点検出装置。
前記回転角度算出手段は、前記対象者の左眼の瞳孔の中心と右眼の瞳孔の中心とを結ぶ直線に平行な方向を第一方向とし、前記第一方向及び前記カメラの光軸の両方に垂直な方向を第二方向として、前記第二方向の成分を用いて前記視軸回りの回転角度を算出する請求項9に記載の回転角度算出プログラム。
請求項9または10に記載の回転角度算出プログラムにおける前記光軸方向計算手段により計算された光軸の方向を、請求項1または2に記載の回転角度算出プログラムで算出された前記視軸回りの回転角度に基づいて前記ずれを補正することにより前記視軸の方向を計算し、前記視軸の方向に基づいて前記対象者の注視点を検出する、
注視点検出プログラム。
【発明を実施するための形態】
【0020】
以下、図面を参照しつつ本発明に係る注視点検出方法及び注視点検出装置の好適な実施形態について詳細に説明する。なお、図面の説明においては同一又は相当部分には同一符号を付し、重複する説明を省略する。
【0021】
(注視点検出装置の構成)
まず、本発明にかかる注視点検出装置を実施するための注視点検出装置の構成について、図面を参照しながら説明する。本発明の注視点検出装置は、対象者の顔画像を基にパーソナルコンピュータ等の情報処理端末のモニター画面上の注視点を検出する装置である。なお、この注視点検出装置は、回転角度算出装置としても機能する。
【0022】
図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の動作を制御するための制御回路を構成する。
【0023】
ステレオカメラ2a,2bは、対象者Aの顔面を撮像することによって画像データを生成する。このステレオカメラ2a,2bとしては、インターレーススキャン方式の1つであるNTSC方式のカメラを用いる。NTSC方式では、1秒間に30枚得られる1フレームの画像データは、奇数番目の水平画素ラインで構成される奇数フィールドと奇数フィールドを除く偶数番目の水平画素ラインで構成される偶数フィールドから構成され、奇数フィールドの画像と偶数フィールドの画像とが1/60秒の間隔で交互に撮影されて生成される。具体的には、1フレーム内では、奇数フィールドの画素ラインと偶数フィールドの画素ラインとが交互に並ぶように生成される。
【0024】
この一方のステレオカメラ2aには、同期信号発生器5から垂直同期信号(VD信号)が入力され、他方のステレオカメラ2bには、同期信号発生器5から遅延回路6を経由して遅延された垂直同期信号(VD信号)が入力されることにより、2つのステレオカメラ2a,2bの撮影タイミングが互いにずらされる。
【0025】
また、このステレオカメラ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上に設けられている。
【0026】
これらの発光素子11,12は、発光回路4によって、それぞれ独立に発光タイミングを制御可能にされる。具体的には、同期信号発生器5から出力されるVD信号に同期したステレオカメラ2a,2bのシャッタタイミングに合わせて、発光素子11,12が交互に発光するように、発光タイミングが制御される。
【0027】
なお、ステレオカメラ2a,2bに代えて、3台以上のカメラを配置し、そのうちの2台を使用するようにしてもよい。すなわち、注視点検出装置は、2台以上のカメラを備えていればよい。
【0028】
このような制御回路の動作により、光源3aの発光素子11から対象者Aの左右の眼球Bに照明光が照射されると、眼球Bにおいて明瞳孔像が生成され、発光素子12から眼球Bに照明光が照射されると、眼球Bにおいて暗瞳孔像が生成される。これは、波長が900nmより短い照明光を受ける場合は、波長が900nmより長い照明光を受ける場合に比較して瞳孔が明るく映る、眼球Bへの照明光がカメラの光軸からより離れた位置から入射した場合は瞳孔がより暗く映るという性質によるものである。その結果、ステレオカメラ2a,2bの生成する奇数フィールド及び偶数フィールドには、それぞれ、眼球Bの明瞳孔画像及び暗瞳孔画像が反映される。
【0029】
画像処理装置7は、2台のステレオカメラ2a,2bから出力された画像データを処理する。具体的には、画像処理装置7は、ステレオカメラ2a,2bから出力された1フレームの画像データを、奇数フィールドと偶数フィールドとに分離する。例えば、この奇数フィールドの画像データ(奇数画像データ)は明瞳孔画像となっており、偶数フィールドの画像データ(偶数画像データ)は暗瞳孔画像となっている。これらの画像データは、奇数フィールド又は偶数フィールドのみに有効画素を有しているため、画像処理装置7は、隣接する有効画素の画素ラインの輝度平均をそのライン間の画素値に埋め込むことによって、明瞳孔画像データ及び暗瞳孔画像データを生成する。
【0030】
また、画像処理装置7は、明瞳孔画像データ及び暗瞳孔画像データを対象にして、対象者Aの左右の角膜反射点の位置も検出する。すなわち、検出した瞳孔を中心としたウィンドウを設定し、そのウィンドウ範囲のみを高分解像度化した画像データを作成し、その画像データから角膜反射を検出する。具体的には、Pタイル法によって2値化の閾値を決定し、その画像から2値化画像を作成し、ラベリングを行い、面積が一定以下である部分を選択する。ここで、画像処理装置7は、選択した部分の中心座標に対し、分離度フィルタを与え、分離度と輝度とを掛けた特徴量を求め、その値が一定値以下であれば角膜反射ではないと判断する。さらに、画像処理装置7は、明瞳孔画像データと暗瞳孔画像データにおいて、角膜反射の移動量を計算し、その移動量を差分位置補正量とする。そして、画像処理装置7は、明瞳孔画像データ及び暗瞳孔画像データの角膜反射位置が一致するように差分位置補正量分だけずらし、画像データの輝度を足し算し、輝度重心座標を角膜反射の座標と決定する。
【0031】
さらに、画像処理装置7は、2台のステレオカメラ2a,2bから出力された画像データを元に検出した瞳孔中心座標から、対象者Aの左右の瞳孔の3次元位置を計算する。この際、画像処理装置7は、ステレオ法によって左右の瞳孔の3次元座標を計測する。ステレオ法とは、カメラのレンズの焦点距離、画像中心、画素サイズなどの内部パラメータと、カメラの位置や姿勢等の外部パラメータを予め計測しておき、複数台のステレオカメラで対象物を撮影したときに画像中の点の座標を基に、内部パラメータ及び外部パラメータを用いてその点の空間上の位置を決定する方法である。
【0032】
なお、画像処理装置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に記憶される。
【0033】
そして、画像処理装置7は、2台のステレオカメラ2a,2bからの出力データを元に検出した画像座標系における瞳孔中心座標と、世界座標系における瞳孔中心座標との関係式を、キャリブレーションデータを参照しながら取得する。次に、画像処理装置7は、2つの関係式から対象者Aの瞳孔の世界座標系における3次元位置座標を求める。同様にして、画像処理装置7は、対象者Aの左右の瞳孔の3次元位置を求めることができる。
【0034】
また、画像処理装置7は、検出した対象者Aの左右の角膜反射点の位置、及び左右の瞳孔中心の位置を用いて、ディスプレイ装置8上の対象者の注視点を検出する。以下に、
図4及び
図5を参照しながら、画像処理装置7による注視点の検出手順について説明する。この注視点の検出手順は、本実施形態の注視点検出方法を行うための前提である。
【0035】
(注視点検出手順)
ここでは、
図4に示すように、検出した瞳孔の3次元位置Pを元に、ステレオカメラ2a,2bの開口部9a,9bの中心を原点Oとし、その原点Oと瞳孔中心Pを結ぶ基準線OPを法線とする仮想視点平面X’−Y’を設定する。ここで、X’軸は、世界座標系のX
W−Y
W平面と仮想視点平面X’−Y’との交線に相当する。
【0036】
まず、画像処理装置7は、画像面S
Gにおける角膜反射点Gから瞳孔中心Pまでのベクトルr
Gを算出する。そして、ベクトルr
Gを、距離OPから求められたカメラの拡大率を用いて実寸に換算したベクトルr’に変換する。このとき、各ステレオカメラ2a,2bをピンホールモデルと考え、角膜反射点Gと瞳孔中心Pとが、仮想視点平面X’−Y’と平行な平面上にあると仮定している。つまり、画像処理装置7は、仮想視点平面と平行であって瞳孔中心Pの3次元座標を含む平面上において、瞳孔中心Pと角膜反射点Gの相対座標をベクトルr’として算出しており、このベクトルr’は角膜反射点Gから瞳孔中心Pまでの実距離を表す。
【0037】
その後、画像処理装置7は、対象者Aの仮想視点平面上の注視点Tに関して、直線OTの水平軸X’に対する角度φを、ベクトルrの画像面上の水平軸X
Gに対する角度φ’と等しいとして求める。さらに、画像処理装置7は、対象者Aの視線ベクトル、すなわち、瞳孔中心Pと注視点Tを結ぶベクトルPTと、基準線OPとの成す角度θを、ゲイン値k及び原点補正ベクトル(オフセットベクトル)r
0を含むパラメータを使った関数f
1を用いて、下記式(1);
【数1】
によって計算する。ここで、ベクトルr’は、角膜反射点Gから瞳孔中心Pに向かう瞳孔ベクトルの実測値を表す。
【0038】
このような角度φ,θの計算は、瞳孔中心Pの存在する平面上のベクトルr(=r’−r
0)を仮想視点平面上で拡大したものがそのまま対象者Aの注視点に対応するとみなすことにより行われている。より詳しくは、対象者Aの視線PTの基準線OPに対する角度θは、瞳孔中心と角膜反射の距離の修正値|r’−r
0|との間で線形関係を有すると仮定している。なお、関数f
1に含まれる原点補正ベクトルr
0には、対象者Aがカメラを見たとき(θ=0)の実寸の角膜反射−瞳孔中心間のベクトルが零ではないために、この角膜反射−瞳孔中心間のベクトルとして、ベクトルr
0が設定される。ここで、上記ゲイン値k及び原点補正ベクトルr
0は、各対象者Aや左右の眼球によって異なるため較正を行う必要がある。そこで、ゲイン値k及び原点補正ベクトルr
0は予め設定された初期値に対して後述するパラメータ補正処理によって補正された値が使用される。
【0039】
さらに、画像処理装置7は、2台のステレオカメラ2a,2bのカメラ画像に対応して計算された角度φ,θであるφ
1,φ
2,θ
1,θ
2を参照して、対象者Aのディスプレイ装置8の画面上の注視点を検出する。ここで、注視点検出のメカニズムを説明するために
図5に示すような座標系を定義する。2台のステレオカメラ2b,2aの位置に対応した原点O
1’,O
2’を有する2つの仮想視点平面H
1,H
2と、瞳孔中心Pを中心とした半径を任意とした仮想視点球面Sを定義する。2つの仮想視点平面H
1,H
2は、それぞれ、直線PO
1’,PO
2’に対して垂直な平面である。そして、瞳孔中心Pとディスプレイ画面上の注視点Qを通る直線(視線)と仮想視点球面Sとの交点をG
S、瞳孔中心Pと原点O
1’を通る直線と仮想視点球面Sとの交点をO
1、瞳孔中心Pと原点O
2’を通る直線と仮想視点球面Sとの交点をO
2とする。なお、視線PQと仮想視点平面H
1との交点をG
1とすると、直線O
1’G
1と仮想視点平面H
1との水平軸の成す角がφ
1となる。同様に、視線PQと仮想視点平面H
2との交点をG
2とすると、直線O
2’G
2と仮想視点平面H
2との水平軸の成す角がφ
2となる。さらに、仮想視点球面S上において、点O
1における点O
1を通る水平面と球面Sとの交線(曲線)と曲線O
1G
Sの成す角は、上記角度φ
1と等しくなる。同様に、仮想視点球面S上において、点O
2における点O
2を通る水平面と仮想視点球面Sとの交線(曲線)と曲線O
2G
Sの成す角は、上記角度φ
2と等しくなる。また、上述したように、点P,O
1,O
1’は同じ直線L
1上に存在し、点P,O
2,O
2’は同じ直線L
2上に存在するので、直線L
1と視線の成す角がθ
1となり、直線L
2と視線の成す角がθ
2となる。
【0040】
画像処理装置7は、上記のような関係を用いることにより、予め既知である原点O
1’,O
2’の位置座標、及びディスプレイ装置8の位置及び向きのデータを参照しながら、画面上の注視点を算出することができる。すなわち、2台のステレオカメラ2a,2bのカメラ画像によって計算された角度φ
1,φ
2,θ
1,θ
2から、仮想視点球面S上の点G
S,O
1,O
2の相対的位置関係を取得することができる。従って、画像処理装置7は、既知である原点O
1’,O
2’の座標と、既に計算された瞳孔中心Pの座標から、一意に視線PG
Sを求めることができ、その視線PG
Sとディスプレイ装置8の画面との交点を計算することにより注視点Qを検出することができる。なお、角度φ
1,θ
1から求められる視線PG
Sと、角度φ
2,θ
2から求められる視線PG
Sがずれている場合にはそれらを平均したものを最終的な視線ベクトルとして計算することもできる。
【0041】
ここで、画像処理装置7が視線方向の計算に用いる関数f
1には、パラメータとしてゲイン値k及び原点補正ベクトルr
0が含まれている。このゲイン値kは、上記式(1)を見ても分かるように、角膜反射−瞳孔中心ベクトルr’を調整後のベクトルr=r’−r
0の大きさと視線方向を示す角度θが線形関係にあると仮定して、そのベクトルrから角度θを求める時に使用する倍率である。理想的には、角度θとベクトル|r’|とが線形関係にあれば、ゲイン値kさえ求まれば角度θが計算できるはずである。言い換えれば角度θ=0のとき、つまり対象者Aがカメラを注視したときはベクトル|r’|=0になるはずである。しかしながら、実際には眼球の視軸(視線)と光軸とは一致せず、角度θ=0のときベクトル|r’|≠0となる。さらに、対象者Aが変われば角度θ=0のときのベクトル|r|は異なる。なお、眼球の視軸とは、対象者の眼球の中心窩と対象者の注視点とを結ぶ直線である。
【0042】
以下、k及びベクトルr
0の求め方について説明する。式(1)より、ベクトルθ
1,θ
2は、以下の式でそれぞれ表される。
【数2】
【数3】
【0043】
なお、式(2)及び(3)において、原点補正ベクトルr
0は、個々の眼球において一意に決定されるため、カメラに関係なくr
0とした。また、2台のカメラの間隔は角度で表され、次式(4)で定義できる。
【数4】
【0044】
式(2)〜(4)から、次式(5)が得られ、式(3)の係数k(較正値)が算出される。
【数5】
【0045】
ここで、2台のカメラの位置は既知であるから、式(5)における∠O
1PO
2は常に既知である。すなわち、対象者が特定の位置を注視しなくても、各カメラにおいて実測されるベクトルr’から係数kを算出することができる。
【0046】
さらに、画像処理装置7は、1点較正法により、原点補正ベクトルr
0を求める。1点較正法による原点補正ベクトルr
0の求め方は、具体的には次の通りである。まず、画像処理装置7は、ディスプレイ装置8の表示画面上の任意の位置に1点の視標(規定点)を表示させて、対象者Aに当該視標を注視させる。この状態で、画像処理装置7は、投影仮想視点平面上の注視点を検出する。次に、画像処理装置7は、検出した注視点と視標の座標を投影仮想視点平面上に投影した点との差分を補正量として算出する。そして、画像処理装置7は、この補正量に基づいて原点補正ベクトルr
0を決定する。これにより、画像処理装置7は、式(1)による高精度な注視点検出を行うことができる。
【0047】
(頭部側屈による注視点検出誤差補正法)
上述した注視点検出手順において用いられる原点補正ベクトルr
0は、対象者が一の姿勢をとった場合において定まるベクトルであり、対象者の姿勢が変化した場合、特に対象者が頭部を側屈させた場合においては、原点補正ベクトルr
0の方向が変化する。そこで、本実施形態の注視点検出方法では、画像処理装置7は、対象者の頭部側屈に応じて、原点補正ベクトルr
0を補正する。
【0048】
以下、
図6を参照して、対象者の頭部側屈による注視点の誤差を補正する方法について説明する。
図6において、1台のカメラO’により、対象者Aの左眼及び右眼の瞳孔中心P
L及びP
Rが撮影されている。両瞳孔は視対象平面上の注視点Qを注視しており、両眼の視軸と視対象平面との交点は、注視点Qで一致している。一般的に、視軸と光軸との間にはずれが存在するため、光軸と視対象平面との交点は、注視点Qとは異なった位置に検出される。
図6では、対象者Aの左右の眼球の光軸を破線の矢印で示している。カメラ−瞳孔ベクトルP
LO’,P
RO’と左右の視線ベクトルP
LQ,P
RQとのなす角は、それぞれ角度ベクトルθ
L及びθ
Rで表される。
【0049】
図7は、左眼及び右眼のそれぞれについてのベクトルO’Qを一の平面上に表したものである。眼球の視軸と光軸との間にずれが存在しない場合、世界座標系において、θ
L(=k
Lr
L)及びθ
R(=k
Rr
R)は、カメラO’から注視点方向に向かう角度ベクトルとして表現される。言い換えれば、瞳孔中心P
L,P
Rから見た場合の、カメラO’と注視点Qとの間の角度は、角度θ
L,θ
Rとして検出される。しかしながら、実際には、視軸と光軸とのずれが存在するため、実際に検出されるのは、瞳孔中心P
L,P
Rから見た場合の、カメラO’の方向と光軸方向とがなす角度である。この角度は、ベクトルk
Lr’
L及びk
Rr’
Rとして検出される。そこで、検出されたベクトルk
Lr’
L及びk
Rr’
Rから原点補正ベクトルr
0L及びr
0Rに係数(k
L,k
R)を乗じたベクトルを減算することによって、注視点検出を行う。
【0050】
ここで、式(1)から、k・r=k(r’−r
0)であるが、この両辺を共通のゲイン値kで除することで、r=r’−r
0となる。したがって、
図7に示した世界座標系における関係を、角膜反射−瞳孔ベクトルr平面上での関係として置き換えることができる。さらに、係数k
L及びk
Rがほぼ同じ値であると仮定し、
図7に示した各ベクトルをk
L又はk
Rで除すると、
図8に示すように、各ベクトルを角膜反射−瞳孔ベクトル平面上に表現することができる。
図8の表現は、各ベクトルの最も簡単な表現である。
図8では、視軸と光軸とのずれによって、角膜反射が本来の位置からずれた位置に検出されている。このようにずれた位置に検出された角膜反射を、原点補正ベクトルr
0L,r
0Rによって補正している。
【0051】
次に、説明の便宜のために、
図8の原点補正ベクトルr
0L,r
0Rの始点をベクトルr
L,r
Rの終点に平行移動させたものを
図9に示す。また、
図6における角度ベクトルθ
L及びθ
Rは、同一の注視点Qに向かうため、ベクトルの終点は一致する。したがって、θ
L,θ
Rを係数k
L,k
Rで除したベクトルであるr
L及びr
Rについても、終点は一致すると考えられる。そこで、
図9においては、ベクトルr
L及びr
Rの終点が一致するように、両眼の各ベクトルを平行移動させている。
【0052】
一般に、対象者の頭部が左右に傾くと、その傾きを補償する、眼球の視軸回りの回転が生じる。この回転は、回旋運動と呼ばれる。回旋運動は、ゴーグル型の装置で計測されることが多く、一般的に、回旋運動は頭部に対する視軸回りの回転角として計測される。しかし、本明細書では、回旋運動の角度は、頭部に対してではなく、世界座標系での回転の角度を意味する。
【0053】
いま、対象者の頭部が左方向に角度γ
Hだけ倒れたときに、両方の眼球が視軸回りに角度γだけ回転したとすると、それに伴って原点補正ベクトルr
0L及びr
0Rがそれぞれ角度γだけ回転する。この様子を
図10に示す。
【0054】
図10において、点Gは、対象者の注視点に相当するr平面上の点を表す。以下、単に注視点と呼ぶ。点a
L,a
Rは、原点補正ベクトルr
0L,r
0Rが角度γだけ回転したことを考慮しない場合に、ベクトルr’
L,r’
Rの終点となる点である。点a’
L,a’
Rは、実際に検出されるベクトルr’
L,r’
Rの終点である。点g
L,g
Rは、原点補正ベクトルr
0L,r
0Rが角度γだけ回転したことを考慮せずに、点a’
L,a’
Rを原点補正ベクトルr
0L,r
0Rと逆方向に移動した点である。すなわち、点g
L,g
Rは、原点補正ベクトルr
0L,r
0Rが角度γだけ回転したことを考慮しない場合に注視点として計算される点である。
【0055】
ここで、原点補正ベクトルr
0の方向は、視軸と光軸との間のずれ方向を反映していると仮定できるため、視軸回りの回転に伴って、r
0はその大きさを変えずに回転するはずである。眼球を大きく拡大して撮影する場合には、瞳孔中心を原点とする楕円状の虹彩像の明暗を利用して視軸回りの眼球回転角度を直接的に計測する方法がある。しかしながら、カメラで取得できる画像の画質によっては、そのような方法を実行することは困難であり、片眼ごとにr
0を決定することはできない。
【0056】
そこで、本実施形態では、対象者が頭部を側屈させたとき、両眼のr
0が同じ角度γだけ、視軸回りに回転するという拘束条件を設ける。さらに、角度γを求める際にだけ、常に両眼の視軸が共にカメラ(光源)(
図6の点O’)を通り、かつ両眼の瞳孔が同一平面上にあると仮定する。
【0057】
以下、このような拘束条件を用いた注視点検出方法について説明する。まず、注視点検出処理を開始する前に予め、対象者が一の姿勢をとった時の光軸と視軸のずれを、角膜反射点の座標及び瞳孔中心の座標に基づいて計算する(ずれ計算ステップ)。具体的には、注視点を較正するため、画像処理装置7が、画面中央の座標が既知の視標をディスプレイ装置8に提示し、この視標を対象者に注視させる。これにより、ずれとしての原点補正ベクトルr
0及び係数kが決定される。
【0058】
その後、ステレオカメラ2a,2bと、光源3a,3bと、を用いて対象者の顔画像を生成する(顔画像生成ステップ)。続いて、ステレオカメラ2a,2bによるそれぞれの顔画像(例えば明瞳孔画像及び暗瞳孔画像)に基づいて、光源3a,3bからの光の、対象者の角膜上の反射点である角膜反射点の座標と、対象者の瞳孔の中心である瞳孔中心の座標と、を計算する(座標計算ステップ)。
【0059】
次に、角膜反射点の座標及び瞳孔中心の座標に基づいて、対象者の眼球の中心軸である光軸の方向を計算する(光軸方向計算ステップ)。この光軸方向計算ステップにより、
図6の点a’
L,a’
Rの座標が得られる。
【0060】
次に、光軸と視軸とのずれの視軸回りの回転角が対象者の左眼と右眼とで同一であるという拘束条件に基づいて、光軸と視軸とのずれの視軸回りの回転角度を算出する(回転角度算出ステップ)。ここで、ずれとは、上述した原点補正ベクトルr
0に相当する。ずれ補正ステップについて次に詳述する。
【0061】
いま、頭部が左側屈し、両眼が視軸回りに同一の未知の角度γだけ反時計回りに回転したとする。それに伴い、原点補正ベクトルr
0L,r
0Rが共に角度γだけ回転することにより、ベクトルr’
L,r’
Rが変化する(
図10)。つまり、頭部側屈による回転の補正を行わない場合、左右の眼の注視点(視線方向)がもともとGの位置で一致していたのが、ベクトルg
L,g
Rの位置にそれぞれずれて算出される。
【0062】
ここで角度γの回転行列である行列{γ}を次の式(6)で表現する。
【数6】
【0063】
この場合、右眼の注視点は、次の式(7)及び式(8)で表される。
【数7】
【数8】
【0064】
同様に左眼の注視点も算出できるため、ベクトルg
Rg
Lは、次の式(9)により得られる。
【数9】
【0065】
式(9)を変形すると、次の式(10)が得られる。
【数10】
【0066】
ここで、次の式(11)のようにベクトルA,Bを定める。
【数11】
【0067】
この場合、式(10)は、次の式(12)のように書くことができる。
【数12】
【0068】
式(12)は、ベクトルAを角度γだけ回転させるとベクトルBに等しくなることを意味する。したがって、次式(13)により角度γを算出することができる。
【数13】
【0069】
なお、式(13)からは、γの正負が不明である。しかしながら、γの正負は、例えばベクトルAとベクトルBとの外積の正負に基づいて決定することができる。
【0070】
このようにして得た角度γに対応する回転行列{γ}を原点補正ベクトルr
0に乗算して回転補正することにより、補正後の原点補正ベクトル{γ}r
0が得られる。
【0071】
次に、光軸の方向を、回転補正されたずれに基づいて補正することにより、視軸の方向を計算し、視軸の方向に基づいて注視点を検出する(注視点検出ステップ)。具体的には、式(13)により算出したγにより補正された原点補正ベクトル{γ}r
0を利用して、正しい注視点を求める。回転後の光軸ベクトルa’
Rは、式(8)を変形して得られる次の式(14)で表すことができる。
【数14】
【0072】
式(7)及び式(14)から、最終的に次式(15)が導出される。式(15)において、G
newRは、右眼における原点補正ベクトルr
0Rの回転補正を行った後の正しい注視点を表す。
【数15】
【0073】
なお、式(12)を成分表示して2つの式を得て、これらの2つの式の少なくとも一方に基づいて角度γを求めるようにしてもよい。式(12)の成分表示をする際には、座標軸として、例えば対象者の左眼の瞳孔の中心と右眼の瞳孔の中心とを結ぶ直線に平行な方向を第一方向とし、この第一方向及びカメラの光軸の両方に垂直な方向を第二方向として、これらの第一方向及び第二方向の二方向の成分表示とすることができる。また、特に、第二方向の成分を用いて計算することにより角度γを求めるようにしてもよい。
【0074】
(両眼の注視点が一致しない場合)
注視点検出を開始する前の注視点較正を行う段階では、非常に小さな一点を対象者に凝視させることになるため、対象者の両眼の注視点は、この非常に小さな一点にほぼ一致する。この段階で、左眼及び右眼の原点補正ベクトルr
0L及びr
0Rは決定される。しかしながら、注視点較正を行った後に、対象者の両眼の視軸のなす角度である輻輳角が小さくなって対象者の両眼の注視点が離れたり、逆に輻輳角が大きくなって左右の眼の視軸が交差し、左右の眼球の注視点が入れ替わったりする場合がある。この場合、先に述べた方法では角度γを正確に算出することができず、その結果、左右の眼球の注視点も正確に算出することができない。
【0075】
以下では、そのような場合においても角度γ及び左右の眼球の注視点をより精度よく算出する方法について説明する。
図11に示すように、対象者の頭部が回転したときの対象者の頭部の回転角度は、各カメラから見た左右の瞳孔を結ぶ直線の回転角である角度γ
Hとして得られる。
【0076】
また、
図12は、対象者の左右両眼での注視点が離れた場合における、
図10に対応する図である。なお、ベクトルr
L,r
R,r’
L,r’
Rについては、以下の計算に必要ではないので、図示を省略している。また、本明細書中の以下の記載においては、
図12における文字x,yの上部に記号「^」を付した文字を、それぞれ「x^」、「y^」と表記する。
図12において、x^軸及びy^軸は、それぞれx軸及びy軸を角度γ
Hだけ回転させた軸である。なお、上述した第一方向及び第二方向は、それぞれx^軸方向及びy^軸方向に対応する。
【0077】
図12において、注視点較正時の基準の頭部位置での原点補正ベクトルr
0R,r
0Lは、それぞれ
図10と同様に破線で示されている。さらに、
図10に示した場合と同様に、対象者の頭部が角度γ
Hだけ回転したことに伴い、原点補正ベクトルr
0R,r
0Lが角度γだけ回転したとする。このとき、左右の眼の注視点が、注視点較正時には一致しており、注視点較正後にベクトルG’だけ離れたとする。ここで、3次元空間上において、左右の瞳孔と、左右の眼の注視点とが、同一平面上に存在すると仮定する。また、対象者が頭を傾けた場合にも、この仮定が成立すると仮定する。以下の計算では、この仮定を拘束条件として計算する。この仮定の下では、ベクトルG’は、x^軸と平行になる。
【0078】
いま、x−y座標系において、式(7),(9)は、それぞれ次の式(16),(17)のように変更される。
【数16】
【数17】
【0079】
式(17)において、ベクトルG’は、未知の2次元ベクトルであり、先述した左右の眼の注視点が一致している場合に比べ未知数が2つ増えたことになる。このような条件でも、角度γを求め、更に左右の眼の注視点を推定するために、以下の方法をとる。
【0080】
まず、先述のように、
図11において、x−y座標系を角度γ
Hだけ回転させたx^−y^座標系を新たに設定すると、G’は、x^成分のみのベクトルとなる。これにより、未定定数を1つ減らすことができる。
【0081】
これにより、式(17)は、次の式(18)に変更される。
【数18】
【0082】
なお、^を付したベクトルは、それぞれ座標系を反時計回りに角度γ
Hだけ回転させたときのベクトルである。
【0083】
ここで、次の式(19),(20)のように変数p,q,s,tを定める。
【数19】
【数20】
【0084】
この場合、未知の値Xを使用して、ベクトルG’^=(X,0)とおき、式(6)の行列{γ}を使用して、各項を成分表示することにより、次の式(21)が得られる。
【数21】
【0085】
式(21)から、第一方向の式として式(22)と第二方向の式として式(23)の2つの式が得られる。
【数22】
【数23】
【0086】
このうち式(23)は、未知数がγのみであるため、式(23)からγを決定することができ、このγと式(24)を使用して左眼と右眼の注視点が算出できるとともに、2つの注視点の間の距離を求めることができる。
【数24】
【0087】
さらに、式(23)から決定されたγを式(22)に代入することで、2つの注視点の間の距離に相当する未知数Xも求まる。
【0088】
γが求まれば、先述の式(15)を用いて、右眼の注視点G
newRを算出することができる。また、同様に左眼の注視点を算出することもできる。
【0089】
(実験例)
頭部の左右側屈による注視点検出誤差を、上述した補正法による回転補正の前後で比較した。被験者は大学生6名とし、ディスプレイ装置の正面から約80cmの位置において、被験者の頭部を顎台に乗せた状態で実験を行った。予め注視点較正を行った後、画面上に3行3列に配置した視標9点を順に1秒間ずつ被験者に注視させた。なお、頭部の側屈の角度は、約30°〜45°の範囲であり、被験者毎に異なっている。
【0090】
図13は、補正の前後での各被験者における注視点検出誤差を示す。縦軸は、注視点検出誤差(単位:°)である。特に被験者A、Bにおいて、本実施形態の補正方法を行うことで、誤差の改善がみられた。被験者C、Dでは、本実施形態の補正方法による効果はあまり見られず、被験者E、Fでは、誤差が大きくなっている。
【0091】
図14は、被験者Aにおける、補正前後それぞれの注視点の分布を示す。頭部を側屈させた場合、補正前では、
図14(a)に示すように左右の注視点は一致しておらず、視標からずれた位置に注視点が検出されていた。これに対し、補正後では、
図14(b)に示すように左右の注視点が一致している。上述した補正方法により、被験者Aにおいては、注視点検出誤差を左眼で28.2%低減でき、右眼で61.2%低減することができた。なお、被験者Bにおいても同様に誤差を低減することができた。
【0092】
被験者C及びDについては、回転補正前と回転補正後において、注視点検出誤差に大きな差は見られなかった。被験者Cにおいては、左右に頭部を側屈させているにもかかわらず、光軸と視対象平面との交点は側屈の有無によってあまり変わらず、大きく回転していなかった。この原因としては、ヒトが頭部を側屈させた際に、頭部の回転方向とは逆向きに、視軸回りの眼球回転である回旋運動が生じたことが考えられる。このような被験者Cにおいては、本実施形態の回転補正は不要であると考えられる。
【0093】
被験者E及びFにおいては、回転補正前よりも補正後において誤差が大きくなっていた。本実施形態の補正方法では、両眼の視軸が画面上の注視点で一致すると仮定している。しかしながら、両被験者は、頭部が回転していない場合でも、両眼の視軸交点が注視点上で一致せず、回転角度γを正確に算出できなかった。このことが、誤差の増加した要因の一つであると考えられる。
【0094】
以上の結果から、両眼において光軸が視軸回りに同じだけ回転している、画面上で両眼の視軸交点が一致している、等の拘束条件を満たすと考えられる被験者においては、本実施形態の補正方法が有効であるといえる。
【0095】
本実施形態の回転角度算出方法及び回転角度算出装置によれば、まず、角膜反射点の座標及び瞳孔中心の座標に基づいて、対象者の眼球の光軸の方向が計算される。また、対象者が一の姿勢をとった時の光軸と視軸とのずれとして、原点補正ベクトルr
0が計算される。次に、原点補正ベクトルr
0の視軸回りの回転角が対象者の左眼と右眼とで同一であるという拘束条件に基づいて、原点補正ベクトルr
0の視軸回りの回転角度が算出される。このように、対象者の姿勢に応じて原点補正ベクトルr
0の視軸回りの回転角度が算出されるため、対象者の姿勢によらず高精度に原点補正ベクトルr
0の視軸回りの回転角度を算出することができる。
【0096】
また、回転角度算出ステップでは、対象者の左眼の瞳孔の中心と右眼の瞳孔の中心とを結ぶ直線に平行な方向を第一方向(x^軸方向)とし、第一方向及びカメラの光軸の両方に垂直な方向を第二方向(y^軸方向)として、第二方向の成分を用いて原点補正ベクトルr
0を計算してもよい。人間の眼の性質として、左眼と右眼の視線の方向は、第二方向に沿っては離れにくい。したがって、対象者の左眼と右眼の視線の方向が離れてしまった場合の回転角度算出の精度を向上させることができる。
【0097】
なお、上述した回転角度算出方法及び注視点検出方法は、コンピュータが回転角度算出プログラム又は注視点検出プログラムをメモリ上にダウンロードして当該プログラムを実行することによって、実行されてもよい。
【0098】
(情報入力方法)
上述した注視点検出方法によれば、対象者の頭部回転によらずに注視点を検出することができる。さらに式(21)から未知数Xを計算することにより、左右の眼の注視点がどの程度離れているかを算出することもできる。そこで、上述した注視点検出方法に基づいて、以下のような情報入力方法を実施することができる。
【0099】
この情報入力方法を実施するための情報入力装置は、
図1に示した注視点検出装置と概ね同様の構成を有する。画像処理装置7は、ディスプレイ装置8に、例えばマトリックス状に配列された複数の文字を表示させる。対象者は、ディスプレイ装置8に表示された複数の文字のうち1つの文字を注視することにより、当該注視された文字に対応する情報をパーソナルコンピュータ等の情報処理端末に入力する。この情報処理端末は、画像処理装置7と同一の情報処理端末であってもよいし、画像処理装置7とは別の情報処理端末であってもよい。
【0100】
次にこの情報入力方法の手順について説明する。まず、上述した手順により、対象者の両眼の注視点を検出する(両眼注視点検出ステップ)。これにより、対象者の両眼の注視点間の距離を検出することができる。
【0101】
続いて、対象者の両眼の注視点の間の距離及びこの距離が所定の範囲にある時間に基づいて、対象者による入力がなされたと判定する。一例として、対象者の両眼の注視点の間の距離が所定値(例えば8mm)以下である状態が所定時間(例えば0.5秒)以上続いた場合に、情報処理端末は、対象者による入力がなされたと判定する。そして、ディスプレイ装置8の画面上の、対象者の注視点に表示されている文字に対応する情報が情報処理端末に入力される。
【0102】
または、対象者の両眼の注視点の間の距離の絶対値の大きさに応じて重みづけ加点をフレーム毎にしてもよい。例えば、重みづけ値をw、所定値をDisとして、Disが8mm以下であるとき、w=8−Disで与える。そして注視点検出ごとに(例えば60回/秒)加算する。この加算値が所定の値(例えば100)を超えたときに情報を情報処理端末に入力されるようにする。ここで、Disが8mmを超えたときは、加算値を零に戻す。
【0103】
なお、対象者の両眼の注視点の間の距離が短ければ短いほど、対象者による入力がなされたと情報処理端末が判定するまでの時間を短くしてもよい。
【0104】
この情報入力方法によれば、対象者の両眼の注視点を検出し、検出された両眼の注視点の間の距離及びこの距離が所定の範囲にある時間に基づいて、対象者による情報の入力がなされたと判定する。ここで、一般的に、人間が何らかの情報の入力をしようと考えているときには、両眼の注視点の間の距離が狭くなる傾向がある。一方、人間が何を入力しようかと迷っていたり、画面全体を見渡していたり、意識が散漫になっていたりするときには、両眼の注視点の間の距離は広くなる傾向がある。このため、上記の情報入力方法によれば、対象者が何らかの情報の入力をしようとしていることを適切に検出することができる。例えば、対象者がたまたまディスプレイ装置8の方を向いていた場合において、対象者が特に何らかの文字を入力する意図を有していないにもかかわらず、対象者の注視点(例えば両眼の注視点の中点)として検出された点に表示された文字が対象者の意図に反して入力されてしまう、といったことが抑制される。このため、対象者が効率よく入力操作を行うことができる。
【0105】
なお、上述した情報入力方法は、コンピュータが情報入力プログラムをメモリ上にダウンロードして当該プログラムを実行することによって、実行されてもよい。