(58)【調査した分野】(Int.Cl.,DB名)
前記第1光軸取得部は、前記第2ベクトル(r)の大きさ(|r|)を、第1係数(k)を利用して前記角(θ)の大きさ(|θ|)に関連付ける、請求項3に記載の視線検出装置。
前記第2光軸取得部は、前記評価値(R)の逆数の逆余弦成分を、第2係数(h)を利用して前記角(θ)の大きさ(|θ|)に関連付ける、請求項3〜6のいずれか一項に記載の視線検出装置。
前記第2光軸取得部は、前記角(θ)の大きさ(|θ|)の取得において、前記対象者が有する眼球の角膜における屈折に起因する瞳孔輪郭のずれが補正された補正評価値(R’)を利用する、請求項3〜7のいずれか一項に記載の視線検出装置。
前記画像取得部は、前記対象者の顔を含む第1画像を得る第1カメラと、前記第1カメラから離間した位置に配置されると共に前記対象者の顔を含む第2画像を得る第2カメラを有し、
前記座標取得部は、前記第1画像及び前記第2画像に基づくステレオマッチング法により、前記第1眼における瞳孔中心の位置(PS1)、前記第2眼における瞳孔中心の位置(PS2)、前記第1鼻孔の位置(NS1)、及び、前記第2鼻孔の位置(NS2)のそれぞれの三次元座標を取得する、請求項9に記載の視線検出装置。
前記光軸情報取得部は、前記瞳孔形状に基づいて、前記第1光軸候補及び前記第2光軸候補のいずれか一方を前記光軸として選択するための情報を生成する、請求項1〜11のいずれか一項に記載の視線検出装置。
【発明を実施するための形態】
【0028】
以下、添付図面を参照しながら本発明を実施するための形態を詳細に説明する。図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。
【0029】
図1に示されるように、視線検出装置1は、ディスプレイ装置30を見ている対象者Mの視線方向を検出するコンピュータシステムである。視線検出装置1は、対象者Mの眼を光学系15によって撮像する。光学系15は、カメラ10(画像取得部、第1カメラ、第2カメラ、第3カメラ)と光源13とを有する。そして、視線検出装置1は、画像処理装置20(画像処理部)を利用して対象者Mの視線方向を検出する。対象者Mとは、視線方向を検出する対象となる人である。つまり、対象者Mは被験者である。視線検出装置1の利用目的は何ら限定されない。視線検出装置1は、例えば、よそ見運転の検出、運転者のサイドミラー及びルームミラーの安全確認動作の確認、運転者の眠気の検出、商品の興味の度合いの調査、アミューズメント装置等に利用されるコンピュータへのデータ入力、乳幼児の自閉症診断等の診断用装置などに利用することができる。
【0030】
視線検出装置1は、画像処理装置20が2個の視線検出処理を適宜選択する。その結果、所望の精度が得られる視線の範囲が拡大する。第1の視線検出処理は、角膜反射−瞳孔中心法である。角膜反射−瞳孔中心法は、対象者Mがカメラ10に近い位置に表示された視標A1を見ている場合に選択される。第2の視線検出処理は、瞳孔形状法である。瞳孔形状法は、対象者Mがカメラ10から遠い位置に表示された視標A2を見ている場合に選択される。
【0031】
図2に示されるように、以下の説明において、視線とは、対象者Mの瞳孔中心の位置P
Sと該対象者Mの注視点とを結ぶ線である。「注視点」とは、対象者Mが見ている点である。「視線」という用語は、起点、終点、及び方向の意味(概念)を含む。「視線ベクトル」とは、対象者Mの視線方向を示す。「視線ベクトル」は、「視線方向」を表す一形態である。画像処理装置20の検出結果である視線方向の出力先は何ら限定されない。例えば、画像処理装置20は判定結果を画像、図形、またはテキストでモニタに表示してもよい。また、画像処理装置20は、判定結果をメモリやデータベースなどの記憶装置に格納してもよい。さらに、画像処理装置20は、判定結果を通信ネットワーク経由で他のコンピュータシステムに送信してもよい。
【0032】
〔角膜反射−瞳孔中心法〕
角膜反射−瞳孔中心法の原理について説明する。
図2は、対象者Mと、カメラ10と、ディスプレイ装置30と、仮想視点平面VSと、画像例S
Gと、を示す。ディスプレイ装置30には、注視点Qが示される。仮想視点平面VSには、注視点Tが示される。仮想視点平面VSとは、後述するカメラ−瞳孔中心ベクトルOP(第1ベクトル)を法線とする仮想的な平面である。画像例S
Gは、対象者Mの瞳孔Pを含む高解像度画像の一例である。画像例S
Gには、瞳孔Pと角膜反射Gとが示される。
【0033】
カメラ−瞳孔中心ベクトルOPは、瞳孔中心の位置P
Sからカメラの位置O
Sへ向かう。視線ベクトルPQは、瞳孔中心の位置P
Sから注視点Qの位置(Q
S)へ向かう。視線ベクトルPTは、瞳孔中心の位置P
Sから注視点Tの位置T
Sへ向かう。角膜反射−瞳孔中心法では、視線として、視線ベクトルPTを得る。画像例S
Gに示された角膜反射−瞳孔中心ベクトルr(第2ベクトル)は、角膜反射の位置G
Sから瞳孔中心の位置P
Sへ向かう。角膜反射−瞳孔中心ベクトルrは、カメラ10の光軸をZ軸としたピンホールモデルにおいて、角膜反射の位置G
Sと瞳孔中心の位置P
Sとが共通のX−Y平面上に存在するという仮定に基づく。
【0034】
傾きφは、仮想視点平面VSにおけるカメラ−瞳孔中心ベクトルOP周りの回転角である。傾きφは、水平軸X’に対するカメラの位置O
Sと注視点Tの位置T
Sとをとおる直線の傾きである。傾きφは、仮想視点平面VSにおける平面的な角である。傾きφは、大きさ|φ|を有するスカラである。角θは、カメラ−瞳孔中心ベクトルOPと視線ベクトルPQとのなす角である。角θは、三次元空間における立体的な角である。角θは、大きさ|θ|と偏角としての傾きφとによって一つの直線(視線)を示す。従って、角θは、θ=(|θ|,φ)のように示される。画像例S
Gに示された傾きφ’は、角膜反射−瞳孔中心ベクトルrと画像面における水平軸X’とのなす角である。傾きφ’は、画像面における平面的な角である。傾きφ’は、大きさ|φ’|を有するスカラである。
【0035】
ここで、
図2に示された構成に対して、2個の仮定を設ける。
【0036】
第1の仮定は、式(1)に示される。第1の仮定とは、角θが角膜反射−瞳孔中心ベクトルrに比例するという関係である。
【数1】
前述したように角θは、角θの大きさ|θ|と傾きφとにより示される。第1係数kは所定の定数である。角膜反射−瞳孔中心ベクトルrは、カメラ−瞳孔中心ベクトルOPの大きさを利用して補正される。この補正により、角膜反射−瞳孔中心ベクトルrは、実寸に変換される。これらの定義と式(1)とによれば、式(2)が示される。
【数2】
【0037】
第2の仮定は、式(3)に示される。第2の仮定とは、仮想視点平面VSにおける傾きφが瞳孔Pを含む画像における傾きφ’と等しいという関係である。
【数3】
【0038】
第1の仮定と第2の仮定とを利用することにより(|θ|,φ)と(|r|,φ’)とを一対一に対応させることができる。従って、角膜反射−瞳孔中心ベクトルrと傾きφ’とを利用することにより、角θの大きさ|θ|と傾きφとを得る。ここで、角膜反射−瞳孔中心ベクトルrは、カメラ10によって取得した画像例S
Gから得る。これら角θの大きさ|θ|と傾きφとによれば、角θを得ることができる。
【0039】
なお、視線ベクトルPQを利用して、ディスプレイ装置30における注視点Qの三次元座標を得てもよい。注視点Qは、式(4)に示されるように、視線ベクトルPQとディスプレイ装置30との交点である。
【数4】
【0040】
〔瞳孔形状法〕
瞳孔形状法について説明する。
図3の(a)部は、対象者Mがカメラ10を含む光学系15を見ているときの対象者Mの眼球50を示す。
図3の(b)部は、対象者Mが光学系15とは別の場所を見ているときの対象者Mの眼球50を示す。
図3の(a)部及び
図3の(b)部に示す例示では、対象者Mの眼球50がカメラ10を含む光学系15から無限遠にあると仮定する。
図3の(a)部に示されるように、対象者Mが光学系15を見ているとき、カメラ10から得られる画像における瞳孔Pの形状は、円である。この円の直径TDは長さAである。一方、
図3の(b)部に示されるように、軸線A3に対して眼球50の光軸ALが傾きθ
Sだけ傾いた場合、画像における瞳孔Pの形状は、楕円である。この楕円は、長径L
Aと短径L
Bとにより示される(式(5)参照)。
【数5】
【0041】
ここで、楕円度Rを定義する。画像における瞳孔Pの形状が楕円であるとき、楕円度Rは長径L
Aと短径L
Bとにより示される(式(6)参照)。
【数6】
そして、式(5)及び式(6)によれば、傾きθ
Sは式(7)により示される。この傾きθ
Sは、
図3の(a)部における角θの大きさ|θ|に対応する。
【数7】
【0042】
図4は、光学系15から見た眼球50を示す。例えば、瞳孔Paは、対象者Mが光学系15を見ているときの様子を示す。瞳孔Pbは、対象者Mが光学系15よりも上方を見ているときの様子を示す。その他の瞳孔Pcは、対象者Mが光学系15とは別の位置を見ているときの様子をそれぞれ示す。矢印Dは、視線方向を示す。
図4に示されるように、視線方向(矢印D)によって、瞳孔Pの形状を示す楕円の短軸方向が変化する。短軸方向は、水平軸X’に対する視線方向(矢印D)の傾きγ’により示される。傾きγ’は、
図2における傾きφに対応する(γ’=φ)。
【0043】
従って、逆余弦成分(傾きθ
S)と短軸の方向(傾きγ’)とを得ることにより、角θの大きさ|θ|と傾きφとを得る。ここで、逆余弦成分(傾きθ
S)は、画像に含まれた瞳孔Pの形状から得る。従って、角θの大きさ|θ|と傾きφとにより示される視線ベクトルPTを得る。
【0044】
〔光軸と視軸との間のずれ〕
図5は、眼球50における光軸ALと視軸ASとを示す。光軸ALは、眼球50の光学系の対称軸である。視軸ASは、対象者Mが実際に視標を見ている軸である。視軸ASは、網膜56における中心窩57をとおる。一般に、視軸ASは、光軸ALに対して約5度程度ずれる。
【0045】
上述した角膜反射−瞳孔中心法及び瞳孔形状法の結果は、光軸ALである。従って、角膜反射−瞳孔中心法及び瞳孔形状法では、光軸ALが視線に対応すると仮定する。視軸ASと光軸ALとの間にはずれがある。視軸ASは、瞳孔中心の位置P
S及び中心窩57をとおる軸である。光軸ALは、角膜52から水晶体53の中心へと延びる法線である。このずれによれば、対象者Mが光学系15を注視した場合、角膜反射の位置G
Sは瞳孔中心の位置P
Sに一致しない。従って、角膜反射−瞳孔中心法及び瞳孔形状法によって得られる結果を較正すれば、視線検出装置1の出力結果は、実際の視線に近づく。
【0046】
〔比較例に係る光軸の較正方法〕
眼球50の光軸ALが視軸ASに対応すると仮定する。この場合、角膜反射−瞳孔中心法では、角膜反射−瞳孔中心ベクトルrと、カメラ−瞳孔中心ベクトルOPと視線ベクトルPQとなす角θとの間に、式(8)に示される関係が成立する。ここで、角θ
Lは、光軸ALが視線であるとした仮定に基づくことを示す。
【数8】
ここで、視軸ASと光軸ALとのずれは眼球50に依存する。そして、ずれの原因は式(8)において角膜反射−瞳孔中心ベクトルrに含まれると仮定する。この仮定は、下記式(9)により示される。
【数9】
式(9)において、ずれベクトルr
0は視軸ASと光軸ALのずれを示す。ずれベクトルr
0は、注視点較正により得られる。角膜反射−瞳孔中心ベクトルrは、光軸ALに対応する。角膜反射−瞳孔中心ベクトルrは、画像上の瞳孔Pと角膜反射Gとを利用して得る。ベクトルr
Sは、光軸ALからずれ(ずれベクトルr
0)が除かれた視軸ASに対応する。ここで、眼球50の光軸ALを視軸AS(視線)とした仮定に代えて、式(6)における角膜反射−瞳孔中心ベクトルrが視軸ASを示すベクトルr
Sであると仮定する。この仮定によれば、式(10)を得る。式(10)において、傾きθ
Sは、視軸ASを視線とする仮定に基づくことを示す。
【数10】
ここで、第1係数kは一定値である。角膜反射−瞳孔中心法の説明において、角θの大きさ|θ|と角膜反射−瞳孔中心ベクトルrの大きさ|r|との間には線形関係があると仮定した(式(2)参照)。この関係は、角θが小さいときに成立する。しかし、この関係は、角θが大きいときに成立しない。そこで、角θの大きさ|θ|または角膜反射−瞳孔中心ベクトルrの大きさ|r|に応じて、第1係数kを変化させる。すなわち、角θの大きさ|θ|と角膜反射−瞳孔中心ベクトルrの大きさ|r|との関係は、非線形であると仮定する。そうすると、視軸ASと光軸ALとの間のずれによって生じる式(10)の第2項(−k|r
0|)は、第1係数kに依存して変化する。従って、眼球50に固有であるはずの視軸ASと光軸ALとのずれ(ずれベクトルr
0)が角θの大きさ|θ|に応じて変化することになり、矛盾が生じる。
【0047】
〔本実施形態に係る光軸の較正方法〕
視線検出装置1は、ずれ角θ
0を導入する。ずれ角θ
0は、視軸ASに対する光軸ALのずれを示す。
図6に示されるように、ずれ角θ
0によれば、式(10)に代わる新たな定義式として式(11)を得る。
【数11】
式(11)において、傾きθ
Sは、視軸ASを示すベクトルに対応する。ずれ角θ
0は、視軸ASに対する光軸ALのずれを示すベクトルに対応する。ずれ角θ
0は、ずれ角θ
0の大きさ|θ
0|と傾きφ
0とにより定義される。ずれ角θ
0は、θ
0=(|θ
0|,φ
0)である。式(11)によれば、比較例に係る較正方法において生じる矛盾が生じない。また、式(11)は、角膜反射−瞳孔中心法に適用可能である。また、式(11)は、瞳孔形状法にも適用可能である。
【0048】
〔視線検出装置の構成〕
以下、視線検出装置1の構成について詳細に説明する。その後、視線検出装置1の動作について詳細に説明する。
【0049】
図1に示されるように、視線検出装置1は、一対のカメラ(第1カメラ及び第2カメラ)10と画像処理装置20とを有する。一対のカメラ10は、ステレオカメラである。視線検出装置1は、対象者Mが見る対象であるディスプレイ装置30をさらに備えてもよい。しかし、視線検出装置1の利用目的は既に述べたように限定されない。従って、対象者Mの視線の先にある物体はディスプレイ装置30に限定されない。例えば、対象者Mの視線の先にある物体は、自動車のフロントガラスであってもよい。要するに、ディスプレイ装置30は視線検出装置1における必須の要素ではない。
【0050】
カメラ10は、対象者Mの眼を撮影する。対象者Mの眼は、瞳孔P及び瞳孔Pの周辺を含む。カメラ10は、画像処理装置20からの命令に応じて対象者Mを撮像する。そしてカメラ10は、画像を画像処理装置20に出力する。カメラ10は予めカメラ較正が行われている。以下の説明において、必要に応じて、一対のカメラ10を、カメラ10
Lと、カメラ10
Rとに区別する。カメラ10
Lは、対象者Mの左側に配置される。カメラ10
Rは、対象者Mの右側に配置される。一対のカメラ10
L,10
Rは画像処理装置20と無線または有線により接続される。その結果、カメラ10と画像処理装置20との間で各種のデータまたは命令が送受信される。一対のカメラ10
L,10
Rは水平方向に沿って所定の間隔を設けて配置される。一対のカメラ10
L,10
Rは、対象者Mの顔より低い位置に配置される。その結果、対象者Mが眼鏡をかけているときに生じ得る顔画像における反射光の写り込みを防止できる。水平軸線に対するカメラ10の仰角は、例えば20度以上35度以下である。この範囲によれば、瞳孔Pを確実に検出できる。また、この範囲によれば、対象者Mの視野範囲を妨げることを回避できる。
【0051】
カメラ10は、インターレーススキャン方式の一つであるNTSC方式を採用する。NTSC方式によれば、画像は、1秒間に30枚得られる。画像は、奇数番目の水平画素ラインで構成される奇数フィールドと、偶数番目の水平画素ラインで構成される偶数フィールドと、を含む。画像は、奇数フィールドの画像と偶数フィールドの画像とが1/60秒の間隔で交互に撮影されることで生成される。従って、一つのフレームは、一対の奇数フィールド及び偶数フィールドに相当する。
【0052】
図7に示されるように、カメラ10は、対物レンズ11と、光源13とを有する。対物レンズ11は、円形状の開口部12に収容される。光源13は、開口部12の外側に設けられる。光源13は、対象者Mの眼に向けて照明光を照射する。光源13は、複数の発光素子13aと複数の発光素子13bとを有する。発光素子13aは、中心波長が850nmの出力光を出射する半導体発光素子(LED)である。発光素子13aは、開口部12の縁に沿って等間隔でリング状に配置される。発光素子13bは、中心波長が940nmの出力光を出射する半導体発光素子である。発光素子13bは、発光素子13aの外側に等間隔でリング状に配される。発光素子13a,13bは、カメラ10の光軸に沿って照明光を出射する。なお、光源13の配置は
図7に示す構成に限定されず、カメラ10をピンホールモデルとみなすことができれば他の配置であってもよい。光源13は、画像処理装置20からの命令に応じたタイミングに従って、照明光を出射する。
【0053】
画像処理装置20は、カメラ10及び光源13の動作を制御する。また、画像処理装置20は、対象者Mの視線方向の検出処理を実行する。画像処理装置20は、据置型または携帯型のパーソナルコンピュータにより構築されてもよい。また、画像処理装置20は、ワークステーションにより構築されてもよい。さらに、画像処理装置20は、他の種類のコンピュータにより構築されてもよい。あるいは、画像処理装置20は、複数台の任意の種類のコンピュータを組み合わせて構築されてもよい。複数台のコンピュータを用いる場合、これらのコンピュータはインターネット又はイントラネットなどの通信ネットワークを介して互いに接続される。
【0054】
図8は、画像処理装置20の一般的なハードウェア構成を示す。
図8に示されるように、画像処理装置20は、CPU(プロセッサ)101と、主記憶部102と、補助記憶部103と、通信制御部104と、入力装置105と、出力装置106とを有する。CPU101は、オペレーティングシステムやアプリケーション・プログラムなどを実行する。主記憶部102は、ROM及びRAMにより構成される。補助記憶部103は、ハードディスク及びフラッシュメモリなどにより構成される。通信制御部104は、ネットワークカード又は無線通信モジュールにより構成される。入力装置105は、キーボード及びマウスなどにより構成される。出力装置106は、ディスプレイ及びプリンタなどにより構成される。
【0055】
〔画像処理装置〕
画像処理装置20の各機能要素は、以下の動作により実現される。CPU101または主記憶部102は、所定のソフトウェアを読み込む。CPU101は、通信制御部104、入力装置105及び出力装置106などを動作させる。主記憶部102または補助記憶部103は、データの読み出し及び書き込みを行う。なお、処理に必要なデータやデータベースは主記憶部102または補助記憶部103内に格納される。
【0056】
図9に示されるように、画像処理装置20は、点灯制御部21と、画像入力部22と、算出部23と、を有する。点灯制御部21は、光源13の点灯タイミングを制御する。画像入力部22は、カメラ10の撮影タイミングを光源13の点灯タイミングに同期して制御する。その結果、画像処理装置20は、カメラ10から画像(複数の眼画像のデータ)を得る。算出部23は、画像入力部22から入力された画像を利用して、対象者Mの視線を検出する。
【0057】
算出部23は機能的構成要素として、記録部24と、前処理部26と、演算部27と、第1光軸取得部28と、第2光軸取得部29と、光軸情報取得部31と、視軸取得部32と、較正情報部33と、係数部34と、を有する。
【0058】
記録部24は、視線検出処理に利用される種々の情報を有する。記録部24は、前処理部26及び演算部27から参照可能である。記録部24は、例えば、カメラ10に関する内部パラメータや、カメラの位置O
Sといった予め取得される情報を有する。
【0059】
前処理部26は、画像入力部22及び記録部24から情報を受け入れる。そして、前処理部26は、演算部27へ結果を出力する。具体的には、前処理部26は、画像入力部22から画像を受け入れる。次に、前処理部26は、それらの画像から暗瞳孔画像及び明瞳孔画像を得る。また、前処理部26は、記録部24からカメラ10に関する情報を受け入れる。前処理部26は、これらの情報を利用して、瞳孔中心の位置P
S、角膜反射の位置G
S、瞳孔Pの長軸及び瞳孔Pの短軸を得る。そして、前処理部26は、瞳孔中心の位置P
S、角膜反射の位置G
S、瞳孔Pの長軸、及び瞳孔Pの短軸を含む情報を、演算部27に出力する。
【0060】
演算部27は、前処理部26及び記録部24から情報を受け入れる。そして、演算部27は、光軸情報取得部31、第1光軸取得部28及び第2光軸取得部29へ結果を出力する。具体的には、演算部27は、前処理部26から瞳孔中心の位置P
S、角膜反射の位置G
S、瞳孔Pの長径L
A及び瞳孔Pの短径L
Bを含む情報を受け入れる。また、演算部27は、記録部24からカメラ10に関する情報を受け入れる。演算部27は、これらの情報を利用して、視線検出処理に用いられる種々の情報を得る。演算部27は、第1演算部27aと、第2演算部27bと、第3演算部27cと、第4演算部27dと、第5演算部27eと、第6演算部27fと、を有する。
【0061】
第1演算部27aは、カメラ−瞳孔中心ベクトルOP(第1ベクトル)を得る。
カメラ−瞳孔中心ベクトルOPは、カメラの位置O
Sから瞳孔中心の位置P
Sへ向かう。第2演算部27bは、角膜反射−瞳孔中心ベクトルr(第2ベクトル)を得る。角膜反射−瞳孔中心ベクトルrは、角膜反射の位置G
Sから瞳孔中心の位置P
Sへ向かう。第3演算部27cは、仮想視点平面VSを得る。仮想視点平面VSは、カメラ−瞳孔中心ベクトルOPを法線とする仮想的な平面である。第4演算部27dは、瞳孔Pの外形形状を楕円として近似する。その結果、第4演算部27dは、楕円度Rを得る。楕円度Rは、楕円の長径と短径との比である。第5演算部27eは、瞳孔を示す楕円の短軸と水平軸との間の傾きγ’を得る。第6演算部27fは、第1眼画像を利用して、第1仮想光軸平面に関する情報を得る。第1仮想光軸平面に関する情報は、第1角膜反射の位置G
Sから第1瞳孔中心の位置P
Sへ向かう第3ベクトルと、第1カメラ位置から第1瞳孔中心の位置P
Sへ向かう第4ベクトルとに基づく。第1仮想光軸平面に関する情報は、第1カメラ位置と、第1瞳孔中心の位置P
Sと、第4ベクトルを法線とする第1仮想視点平面に第1光軸AL1が交差する位置と、を含む。第7演算部27gは、第2眼画像を利用して、第2仮想光軸平面に関する情報を得る。第2仮想光軸平面に関する情報は、第2角膜反射の位置G
Sから第2瞳孔中心の位置P
Sへ向かう第5ベクトルと第2カメラ位置から第2瞳孔中心の位置P
Sへ向かう第6ベクトルとに基づく。第2仮想光軸平面に関する情報は、第2カメラ位置と、第2瞳孔中心の位置P
Sと、第6ベクトルを法線とする第2仮想光軸平面に第2光軸AL2が交差する位置と、を含む。
【0062】
第1光軸取得部28は、角膜反射−瞳孔中心法に基づく処理により光軸ALを得る。第1光軸取得部28は、演算部27から情報を受け入れる。第1光軸取得部28は、光軸情報取得部31に結果を出力する。第1光軸取得部28は、画像から得られる瞳孔中心の位置P
S及び角膜反射の位置G
Sを利用して、光軸ALを得る。より詳細には、第1光軸取得部28は、角膜反射−瞳孔中心ベクトルr(第2ベクトル)の大きさ|r|と、角膜反射−瞳孔中心ベクトルrと水平軸X’とがなす傾きφ’と、を利用して、光軸ALを得る。光軸ALは、カメラ−瞳孔中心ベクトルOPを基準とした角θ(第1角度)と、仮想視点平面VSに含まれた水平軸X’を基準とした傾きφ(第2角度)とにより示される。角膜反射−瞳孔中心ベクトルr(第2ベクトル)の大きさ|r|は、角θに関連付けられる。角膜反射−瞳孔中心ベクトルrは、傾きφに関連付けられる。
【0063】
第2光軸取得部29は、瞳孔形状法に基づく処理により光軸ALを得る。第2光軸取得部29は、演算部27から情報を受け入れる。第2光軸取得部29は、光軸情報取得部31に処理結果を出力する。第2光軸取得部29は、楕円度R及び傾きγ’(第4角度)を得る。傾きγ’は、短径の軸線と水平軸X’との間の傾きである。第2光軸取得部29は、角θに関連付けられた楕円度Rと、傾きφに関連付けられた傾きγ’と、を利用して光軸ALを得る。
【0064】
光軸情報取得部31は、演算部27、第1光軸取得部28及び第2光軸取得部29から情報を受け入れる。光軸情報取得部31は、視軸取得部32に結果を出力する。光軸情報取得部31は、瞳孔形状に基づき、第1光軸候補及び第2光軸候補の少なくとも一方を利用して、光軸ALを得るための情報を生成する。光軸ALを得るための情報とは、第1光軸候補及び第2光軸候補のいずれか一方を光軸ALとして選択するための情報である。具体的には、光軸情報取得部31は、画像から得られる瞳孔Pの形状を利用して、第1光軸候補または第2光軸候補のいずれか一方を選択する。そして光軸情報取得部31は、選択した光軸候補を視軸取得部32に出力する。このような処理では、第1光軸取得部28及び第2光軸取得部29においてそれぞれ光軸候補を得る。その後、視軸の傾きに応じて適切な候補を最終的な結果として選択する。例えば、光軸情報取得部31は、カメラ−瞳孔中心ベクトルOPに対する角θが30度以下であるとき、第1光軸候補を選択する。光軸情報取得部31は、カメラ−瞳孔中心ベクトルOPに対する角θが30度より大きいとき、第2光軸候補を選択する。なお、この角θの閾値は、所望の値に設定してよい。
【0065】
視軸取得部32は、第1光軸取得部28または第2光軸取得部29から情報を受け入れる。視軸取得部32は、較正情報部33からも情報を受け入れる。視軸取得部32は、較正情報を利用して、第1光軸取得部28または第2光軸取得部29から入力された光軸ALを較正する。その結果、視軸取得部32は、視軸ASを得る。
【0066】
較正情報部33は、視軸取得部32に較正情報を提供する。較正情報とは、上述したずれ角θ
0である。較正情報は、予め取得されて較正情報部33に記録されてもよい。較正情報は、較正情報部33において算出されたてもよい。較正情報部33が較正情報を得る場合、較正情報部33は、演算部27、第1光軸取得部28及び第2光軸取得部29などと接続される。そして、較正情報部33は、これら機能的要素より入力される情報を利用して、較正情報を得る。
【0067】
係数部34は、第1光軸取得部28に第1係数kを提供する。この第1係数kは予め取得されて係数部34に記録されてもよい。また、第1係数kは、係数部34において算出されてもよい。係数部34が第1係数kを得る場合、係数部34は、演算部27、第1光軸取得部28及び第2光軸取得部29などと接続される。そして、係数部34は、これら機能的構成要素から入力される情報を利用して、第1係数kを得る。
【0068】
〔視線検出処理〕
次に、
図10を参照しつつ、視線検出装置1の動作について説明する。
【0069】
〔処理の概要〕
図10に示されるように、点灯制御部21は光源13の点灯タイミングを制御する。画像入力部22は、点灯タイミングに同期するように、それぞれのカメラ10から明瞳孔画像(眼画像)及び暗瞳孔画像(眼画像)を得る(ステップS11)。続いて、第1光軸取得部28は、第1光軸候補を得る(ステップS12)。続いて、第2光軸取得部29は、第2光軸候補を得る(ステップS13)。続いて、光軸情報取得部31は、瞳孔Pの形状を利用して、視線検出処理として角膜反射−瞳孔中心法または瞳孔形状法のいずれの結果を出力として選択するかを決定する(ステップS14,S15,S16)。続いて、視軸取得部32は、較正情報を利用して光軸候補を較正する(ステップS17)。これらステップS11,S12,S13,S14,S15,S16,S17を実行することにより、視線としての視軸ASを得る。続いて、算出部23は、視線を得る処理を終了するか否かを判断する(ステップS18)。処理を終了すると判断した場合、画像処理装置20は、視線検出処理を終了する(ステップS18:YES)。処理を終了しないと判断した場合、画像処理装置20は、再びステップS11から順に各ステップを実行する。以上の処理は、視線検出処理の終了の指示が受け付けられるまで、繰り返し実行される。
【0070】
以下、各ステップの処理について詳細に説明する。
【0071】
〔眼画像の取得〕
眼に入った光は網膜で乱反射する。乱反射した光のうち、瞳孔Pを通り抜けた光は強い指向性をもって光源へ戻る性質を有する。カメラの露光と、カメラの開口部近傍に配置された光源の発光とが同時に行われたとき、網膜で反射した光の一部は、カメラ10の開口部12に入射する。従って、光学系15によれば、明瞳孔画像を得ることができる。明瞳孔画像では、瞳孔Pの周辺よりも瞳孔Pが明るく写っている。これに対して、カメラ10の露光と、カメラ10の開口部12から離間した位置に配置された光源13の発光とが同時に行われたとき、眼から戻ってきた光はカメラ10の開口部12にほとんど戻らない。従って、光学系15によれば、暗瞳孔画像を得ることができる。暗瞳孔画像では、瞳孔Pが暗く写っている。また、透過率が高い波長の光を眼に照射すると、網膜での光の反射が多くなる。従って、瞳孔Pは明るく写る。一方、透過率が低い波長の光を眼に照射すると、網膜での光の反射が少なくなる。従って、瞳孔Pは暗く写る。視線検出装置1の光源13は、発光素子13aが透過率が高い波長の光(中心波長が850nm)を発する。発光素子13aは、開口部12に隣接した位置に設けられる。また、発光素子13bは、眼の透過率が低い波長の光(中心波長が940nm)を発する。発光素子13bは、開口部12から離れた位置に設けられる。
【0072】
明瞳孔画像を得る場合、点灯制御部21及び画像入力部22は、カメラ10の奇数フィールドに合わせて発光素子13aを点灯させる。暗瞳孔画像を得る場合、点灯制御部21及び画像入力部22は、カメラ10の偶数フィールドに合わせて発光素子13bを点灯させる。さらに、画像入力部22は、カメラ10
Lの作動タイミングをカメラ10
Rの作動タイミングに対してわずかにずらす。カメラ10の露光時間は、ずらし時間以下に設定される。点灯制御部21は、カメラ10の露光時間中に、対応する発光素子13a及び発光素子13bを交互に発光させる。この制御によれば、一方のカメラ10の光源13からの光が他方のカメラ10の画像に与える影響を抑制することができる。換言すると、この制御によれば、クロストークの発生を抑制できる。
【0073】
画像入力部22は、これらの一連の制御により得られる明瞳孔画像及び暗瞳孔画像をカメラ10から受け入れる。入力された画像は、奇数フィールドまたは偶数フィールドのみに有効画素を有する。従って、画像入力部22は、隣接する有効画素の画素ラインの輝度平均をそのライン間の画素値に埋め込む。その結果、画像入力部22は、明瞳孔画像または暗瞳孔画像を得る。画像入力部22は、カメラ10によって得られた明瞳孔画像及び暗瞳孔画像を算出部23に出力する。
【0074】
〔角膜反射の位置G
Sの取得〕
前処理部26は、画像入力部22から入力された明瞳孔画像及び暗瞳孔画像のそれぞれから角膜反射Gを得る。具体的には、前処理部26は1枚の画像に対してPタイル法による2値化とラベリングとを行う。そして、前処理部26は、形状や輝度平均などの情報を利用して、その画像から複数の角膜反射Gを得る。このような処理により、前処理部26は明瞳孔画像及び暗瞳孔画像のそれぞれから、角膜反射Gを得る。続いて、前処理部26は明瞳孔画像及び暗瞳孔画像から得られた角膜反射Gを利用して、明瞳孔画像及び暗瞳孔画像中の角膜反射の位置G
Sを得る。
【0075】
前処理部26は、位置較正量を得る。位置較正量は、明瞳孔画像と暗瞳孔画像との間での角膜反射の移動量である。位置較正量は、推定または算出された角膜反射の位置G
Sに基づく。続いて、前処理部26は、差分画像を得る。具体的には、前処理部26は、二つの角膜反射の位置G
Sが一致するように、前フィールド(i番目のフィールド)の画像を、次フィールド((i+1)番目のフィールド)の画像に位置較正量だけずらす。次に、前処理部26は、これら2画像から差分画像を得る。そして、前処理部26は一致させた角膜反射の位置G
S、つまり画像座標に基づく角膜反射の位置G
Sを示す座標を得る。
【0076】
〔瞳孔中心の位置P
Sの取得〕
前処理部26は、明瞳孔画像及び暗瞳孔画像を利用して、差分画像を得る。差分画像を得る場合、前述した位置較正量を利用して明瞳孔画像及び暗瞳孔画像との位置合わせを行ってもよい。この差分画像は、強調された瞳孔Pを含むため、瞳孔画像とも呼ばれる。続いて、前処理部26は、差分画像から瞳孔中心の位置P
Sを特定する。差分画像は、前フレームと輝度が大きく変化しない。そこで、前処理部26は、前フレームで検出された瞳孔Pの輝度平均を利用して、その平均輝度の半分の値を閾値として差分画像を2値化する。そして、前処理部26は、2値化された差分画像に対して、ラベリングを行う。続いて、前処理部26は、瞳孔Pらしい面積、サイズ、面積比、正方形度、及び瞳孔特徴量等の形状パラメータを利用して、ラベルづけされた画素の連結成分の中から瞳孔Pを得る。そして、前処理部26は、差分画像における瞳孔中心の位置(座標)を得る。
【0077】
続いて、前処理部26は瞳孔中心の三次元座標を得る。具体的には、前処理部26は、2台のカメラ10においてそれぞれ得られた2個の瞳孔画像を準備する。続いて、前処理部26は、2個の瞳孔画像のそれぞれにおける瞳孔中心の位置P
Sの座標を得る。続いて、前処理部26は、瞳孔中心の位置P
Sを利用して、ステレオ法により瞳孔中心の位置P
Sの三次元座標を得る。
【0078】
ステレオ法は、画像中の点の座標について、その点の空間上の位置を決定する。まず、互いに異なる位置に配置された複数台のカメラを利用して対象物を撮影する。次に、カメラの内部パラメータ及び外部パラメータを用いて、空間上の位置を決定する。内部パラメータは、カメラのレンズの焦点距離、画像中心、画素サイズなどを含む。外部パラメータは、カメラの位置や姿勢などを含む。具体的には、前処理部26は、画像座標系における瞳孔中心の位置P
Sの座標と、三次元空間内の世界座標系における瞳孔中心の位置P
Sの座標との関係式を、キャリブレーションデータを参照しながら得る。続いて、前処理部26は、関係式を利用して、世界座標系における瞳孔中心の位置P
Sの三次元座標を得る。
【0079】
前処理部26は、差分画像において瞳孔Pを示す領域の外縁部を抽出する。外縁部を抽出する処理は、特に限定されることはない。そして、前処理部26は、抽出した形状を楕円として近似するための近似式を得る。そして、前処理部26は、当該近似式を利用して、瞳孔Pを楕円とみなした場合における長径L
A及び短径L
Bに関する情報を得る。
【0080】
以上の処理によれば、角膜反射の位置G
S及び瞳孔中心の位置P
Sに関する情報が得られる。演算部27は、これらの情報と、記録部24に記録された情報とを利用して、第1視線検出処理、第2視線検処理、及び視軸算出処理に用いられる情報を得る。
【0081】
第2演算部27bは、
図2に示されるように、瞳孔中心の位置P
Sの三次元位置を利用して、仮想視点平面VS’−Y’を設定する。仮想視点平面VS’−Y’は、カメラ−瞳孔中心ベクトルOPを法線とする平面である。カメラ−瞳孔中心ベクトルOPは、カメラ10の開口部12の中心を原点Oとし、その原点Oと瞳孔中心の位置P
Sを結ぶベクトルである。仮想視点平面VS’−Y’は、カメラ10で捉えられる画像の投影面(画像面)に対応する。ここで、X’軸は、世界座標系のXW−ZW平面と仮想視点平面VS’−Y’との交線に相当する。
【0082】
第2演算部27bは、画像面S
Gにおける角膜反射Gから瞳孔中心の位置P
Sまでのベクトルr
Gを得る。そして、第2演算部27bは、ベクトルr
Gを、角膜反射−瞳孔中心ベクトルrに変換する。角膜反射−瞳孔中心ベクトルrは、カメラの拡大率を用いてベクトルr
Gを実寸に換算したベクトルである。カメラの拡大率は、カメラ−瞳孔中心ベクトルOPの距離から得られる。このとき、各カメラ10をピンホールモデルと考え、角膜反射の位置G
Sと瞳孔中心の位置P
Sとが、仮想視点平面VS’−Y’と平行な平面上にあると仮定する。つまり、第2演算部27bは、角膜反射−瞳孔中心ベクトルrを得る。角膜反射−瞳孔中心ベクトルrは、瞳孔中心の位置P
Sと角膜反射の位置G
Sとの相対座標を示す。相対座標は、仮想視点平面VS’−Y’と平行であって瞳孔中心の位置P
Sの三次元座標を含む平面上における座標である。また、角膜反射−瞳孔中心ベクトルrは、角膜反射の位置G
Sから瞳孔中心の位置P
Sまでの実距離を示す。
【0083】
〔第1視線検出処理〕
第1視線検出処理は、第1光軸取得部28において実行される。第1光軸取得部28は、角膜反射−瞳孔中心法を利用して第1光軸候補を得る。第1視線検出処理において第1光軸取得部28は、式(12)に示された光軸ALに対応する角θを得る。
【数12】
式(12)において、角膜反射−瞳孔中心ベクトルrは第2演算部27bにおいて得られているので既知である。角θの成分である傾きφは、角膜反射−瞳孔中心ベクトルrと水平軸X’とのなす角度である。従って、傾きφは、既知である。そうすると、角θの大きさ|θ|を得ることにより、角θが得られる。角θの大きさ|θ|は、式(13)により得られる。
【数13】
つまり、角θの大きさ|θ|は、角膜反射−瞳孔中心ベクトルrの絶対値を算出し、その絶対値に第1係数kを乗ずることにより得られる。上述の処理により、角θの大きさ|θ|と角θの傾きφとが得られる。その結果、第1光軸候補としての角θが得られる。
【0084】
〔第2視線検出処理〕
第2視線検出処理は、第2光軸取得部29において実行される。第2光軸取得部29は、瞳孔形状法を利用して第2光軸候補を得る。瞳孔形状法においても光軸ALに対応する角θを得る。瞳孔形状法では、角θの成分である大きさ|θ|が、傾きθ
S(
図3の(b)部参照)に対応すると仮定する。傾きθ
Sは、式(14)を利用して得る。
【数14】
【0085】
瞳孔形状法では、角θの成分である傾きφが、傾きγ’(
図4参照)に対応すると仮定する。第2光軸取得部29は、短軸の方向を利用して傾きγ’を得る。上述の処理により、角θの大きさ|θ|に対応する傾きθ
Sと、角θの傾きφに対応する傾きγ’と、が得られる。その結果、第2光軸候補としての角θが得られる。
【0086】
〔視線検出処理の選択〕
光軸情報取得部31は、視線検出処理として、角膜反射−瞳孔中心法に基づく処理または瞳孔形状法に基づく処理のいずれかを選択する。この選択は、カメラ−瞳孔中心ベクトルOPと光軸AL(視線ベクトルPT)とのなす角θの大きさ|θ|に基づく。具体的には、光軸情報取得部31は、角θの大きさ|θ|が小さい場合、角膜反射−瞳孔中心法を選択する。なぜならば、角θの大きさ|θ|が小さい(θ≒0)とき、差分画像における瞳孔Pの外周縁の形状は円形状に近似する。すなわち、長径と短径との差が小さくなる。従って、楕円度Rから求まる傾きθ
Sはばらつきが大きくなる傾向にある。傾きθ
Sは、楕円度Rの逆数の逆余弦成分だからである。従って、角θの大きさ|θ|が小さい(θ≒0)ときには、瞳孔形状法よりも角膜反射−瞳孔中心法が良好な結果を得ることができる。一方、光軸情報取得部31は、角θの大きさ|θ|が大きい場合、瞳孔形状法を選択する。なぜならば、角θの大きさ|θ|が大きくなると、楕円度Rから求まる傾きθ
Sはばらつきが小さくなる傾向にある。従って、角θの大きさ|θ|が大きいときには、角膜反射−瞳孔中心法よりも瞳孔形状法が良好な結果を得ることができる。
【0087】
また、角膜反射−瞳孔中心法では角θの大きさ|θ|が小さい場合、角θと角膜反射−瞳孔中心ベクトルrとの間の線形性(式(1)等参照)が高い。従って、視線の検出精度を高めることが容易である。一方、角θの大きさ|θ|が大きい場合、角膜反射Gが検出し難くなる場合があり得る。さらに、角膜反射Gが出現している場合であっても、角膜の周縁部に角膜反射Gが形成された場合、非線形性が表れたり、画像処理による白目反射との誤検出もしやすい。
【0088】
そこで、画像処理装置20は、閾値を設定する。この閾値は、角膜反射−瞳孔中心ベクトルrと角θとの関係において線形性が支配的である範囲(大多数の対象者Mにおいて角膜反射Gが現れる範囲)と、角膜反射−瞳孔中心ベクトルrと角θとの関係において非線形性が支配的である範囲とを分別する。閾値としては、角θの大きさ|θ|=30度程度が例示される。なお、閾値は、30度に限定されず、所望の値を用いてよい。そして、画像処理装置20は、視線検出処理を選択するための角θの大きさ|θ|を瞳孔Pの楕円度Rを利用して得る。具体的には、画像処理装置20は角θの大きさ|θ|に対応する傾きθ
Sを得る。そして、光軸情報取得部31は、楕円度Rから得た傾きθ
Sが閾値より小さい場合、角膜反射−瞳孔中心法の結果を選択し、第1光軸候補を視軸取得部32に出力する。一方、光軸情報取得部31は、楕円度Rから得た傾きθ
Sが閾値より大きい場合、瞳孔形状法の結果を選択し、第2光軸候補を視軸取得部32に出力する。
【0089】
〔視軸を取得する処理〕
視軸を取得する処理は、視軸取得部32において実行される。視軸を取得する処理とは、視軸ASに対する光軸ALのずれを較正する処理である。例えば、第1光軸候補が光軸AL1として視軸取得部32に出力された場合、視軸取得部32は、式(15)に示される処理を行う。すなわち、視軸取得部32は、光軸ALとしての角θ
AL1からずれ角θ
0を減算するベクトル演算を実行する。式(15)において、傾きθ
Sは、視軸ASである。角θ
AL1は、第1光軸候補である。
【数15】
【0090】
第2光軸候補が光軸ALとして視軸取得部32に出力された場合、視軸取得部32は、式(16)に示される処理を行う。すなわち、視軸取得部32は、光軸ALとしての角θ
AL2から、ずれ角θ
0を減算するベクトル演算を実行する。式(16)において、傾きθ
Sは、視軸ASである。角θ
AL2は、第2光軸候補である。
【数16】
【0091】
視線検出装置1は、第1光軸取得部28と第2光軸取得部29とを有する。第1光軸取得部28は、瞳孔中心の位置P
Sと角膜反射の位置G
Sとを利用して光軸ALを得る。従って、視線検出装置1は、角膜反射Gが得られる視線の範囲において視線検出を行うことができる。第2光軸取得部29は、瞳孔Pの形状を利用して光軸ALを得る。従って、視線検出装置1は、角膜反射Gが得られない視線の範囲であっても視線検出を行うことができる。そして、光軸情報取得部31は、瞳孔Pの形状を利用して第1光軸取得部28または第2光軸取得部29のいずれかを選択する情報を得る。選択された光軸候補は、視軸取得部32において、光軸ALと視軸ASのずれが較正されて視線としての視軸ASが得られる。従って、視線検出装置1は、視線を良好に検出できる範囲を、角膜反射Gが得られる狭い視線の範囲から、角膜反射Gが得られない広い視線の範囲まで拡大することができる。
【0092】
すなわち、視線検出装置1によれば、角膜反射−瞳孔中心法と、瞳孔形状法とを、同じプラットフォーム(土台、基礎的理論)において実行することが可能である。角膜反射−瞳孔中心法は、画像から得られる角膜反射の位置G
Sと瞳孔中心の位置P
Sの相対位置を利用して、視線(或いは注視点)を検出する。瞳孔形状法は、楕円度Rと短軸の方向により規定される瞳孔Pの形状を利用して、視線(或いは注視点)を検出する。
【0093】
具体的には、角膜反射−瞳孔中心法は、カメラ10の較正が実施された光学系15を利用して瞳孔Pの三次元座標を得る。次に、角膜反射−瞳孔中心法は、カメラ―瞳孔中心ベクトルOPと眼球50の光軸ALとの間の角θを得る。これらは、画像から得られる角膜反射−瞳孔中心ベクトルOPと角膜反射−瞳孔中心ベクトルrとを利用して得る。一方、瞳孔形状法は、まず、瞳孔Pの三次元座標を得る。次に、瞳孔形状法は、カメラ―瞳孔中心ベクトルOPを求める。次に、角θを得る。角θは、瞳孔Pの外形形状を示す楕円の楕円度Rと短軸の方向とを利用して得る。従って、視線検出装置1によれば、角膜反射−瞳孔中心法と瞳孔形状法とを同じプラットフォームにおいて実行することができる。
【0094】
さらに、視線検出装置1は、角膜反射−瞳孔中心法において、座標が既知の較正用視標を対象者Mに注視させる。その結果、視線検出装置1は、視軸AS(視軸ASの方向ベクトル)と光軸AL(光軸の方向ベクトル)とのずれをずれ角θ
0として得る。このずれを得る処理を、ユーザ較正又は注視点較正と呼ぶ。視線検出処理(又は注視点検出処理)を行う場合、光軸ALとして取得された出力結果をずれ角θ
0を利用して較正する。その結果、視軸ASを得ることができる。同様に、瞳孔形状法においても、ユーザ較正によって明らかになったずれ角θ
0を、光軸ALとして取得された出力結果の較正に利用することが可能である。
【0095】
より詳細には、視線検出装置1は、視軸ASと光軸ALとのずれの較正を、視線を得る処理における後段で行う。換言すると、視線検出装置1は、光軸ALを得る処理の後に較正処理を行う。この構成によれば、光軸ALを得る処理が異なる処理であっても、それらの処理から得られる結果は光軸ALである。従って、較正処理を容易に実行することができる。
【0096】
なお、較正処理は、1点を見て較正する処理(一点較正法)であってもよいし、その他の処理であってもよい。そうすると、例えば、画面中央に提示した視標を一瞬見たときに、角膜反射−瞳孔中心法を実行する。その結果、較正情報(ずれ角θ
0)が得られる。そして、対象者Mが光学系15から大きく離れた位置を見た場合であって、瞳孔形状法を適用する際にも、較正情報(ずれ角θ
0)を利用することができる。従って、較正に対する対象者Mの負担を軽減できる。さらに、角膜反射−瞳孔中心法のみの場合よりも、広い角度範囲における視線検出が可能となる。
【0097】
発明者らの実験によれば、視線検出装置1における所定の視線検出精度が得られる範囲は、角膜反射−瞳孔中心ベクトルOPを基準として水平方向におよそプラスマイナス45度であった。この範囲は、実際に実験を行って確認された。さらに、検出範囲として、角θの大きさ|θ|=60度を想定する。この場合、楕円度R(短径と長径との比)は0.5である。従って、画像処理の改善及び光源制御をすることにより、|θ|=60度程度までは計測可能と予測できる。なお、検出範囲が45度以上である遠隔の視線検出装置や注視点検出装置は、これまでに報告例はない。
【0098】
〔第1係数kの取得〕
上述の説明では、角膜反射−瞳孔中心法の式(17)には、第1係数kが含まれていた。
【数17】
この第1係数kは、一定値として扱ってもよい。また、第1係数kは、変化する値として扱ってもよい。例えば、角θが小さいときには、式(17)において、角θと角膜反射−瞳孔中心ベクトルrとの関係は線形性が強い。従って、第1係数kは一定値として扱う。一方、角θが大きいときには、式(17)において、角θと角膜反射−瞳孔中心ベクトルrとの関係は非線形が強い。従って、第1係数kは、角膜反射−瞳孔中心ベクトルrに応じて変化する値として扱う。また、第1係数kは、対象者Mの眼球50が有する個性にもよっても変化する。
【0099】
〔一定値としての第1係数kの取得〕
今、対象者Mがディスプレイ装置30における任意の点を見た場合、カメラ10のそれぞれについて式(18)が得られる。ここでカメラ10
Lは、位置(O
S1)に配置され、カメラ10
Rは、位置(O
S2)に配置されている。また、左目(第1眼)に生じる角膜反射Gは位置(G
S1)であり、右目(第2眼)に生じる角膜反射Gは位置(G
S2)である。さらに、左目の瞳孔中心位置は、位置(P
S1)である。右目の瞳孔中心位置は、位置(P
S2)である。角θ
1は、カメラ10
Lから得られる視軸ASを示す。角θ
1’は、カメラ10
Lから得られる光軸ALを示す。角θ
0は、ずれ角を示す。角膜反射−瞳孔中心ベクトルr
1(第3ベクトル)は、カメラ10
Lから得られるベクトルを示す。角θ
2は、カメラ10
Rから得られる視軸ASを示す。角θ
2’は、カメラ10
Rから得られる光軸ALを示す。角膜反射−瞳孔中心ベクトルr
2(第5ベクトル)は、カメラ10
Rから得られるベクトルを示す。ここで、式(18)において、第1係数kとずれ角θ
0は眼球固有の値であるため、共通とする。
【数18】
【0100】
式(18)より、式(19)が得られる。
【数19】
式(19)において、第1係数kは正の実数である。従って、式(19)は、式(20)のように示される。
【数20】
式(20)において、最右辺の分子(|θ
2−θ
1|)は、瞳孔Pから見た2台の光学系15の間の角度である。従って、式(20)を利用することにより、一定値としての第1係数kを取得できる。なお、式(20)によれば、対象者Mが任意の視標を見ている場合であっても、フレームごとに第1係数kを得ることができる。
【0101】
〔可変値としての第1係数kの取得〕
角膜反射−瞳孔中心ベクトルrの大きさ|r|と角θとの関係が非線形である場合、式(17)は、式(21)のように示される。
【数21】
また、式(21)は、式(22)のように示される。式(22)において関数fは、非線形関数である。従って、関数fが既知である場合、第1係数kを得ることができる。次に、関数fを得る方法について説明する。
【数22】
【0102】
まず、関数fは、角θの大きさである|θ|と角膜反射−瞳孔中心ベクトルrの大きさ|r|とを示す。式(22)では、角膜反射−瞳孔中心ベクトルrの傾きφ’と、角θの傾きφとが一致する。換言すると、式(23)に従う。
【数23】
【0103】
上記の式(23)と仮定とに従えば、カメラ10で得られる画像とカメラの内部パラメータとを利用して、角膜反射−瞳孔中心ベクトルrの傾きφ’を得る。
図11には、2台の光学系15について、2個の仮想光軸平面VL
1,VL
2が示される。仮想光軸平面VL
1,VL
2の交線CLは、光軸ALに対応する。仮想光軸平面VL
1は、第1カメラの位置(O
S1)と、瞳孔中心の位置(P
S1)と、第1仮想視点平面に第1光軸が交差する位置と、を含む。第1仮想視点平面は、第1カメラ位置(O
S1)から瞳孔中心の位置(P
S1)へ向かう第4ベクトルを法線とする平面である。仮想光軸平面VL2は、第2カメラの位置(O
S2)と、瞳孔中心の位置(P
S2)と、第2仮想視点平面に第2光軸が交差する位置と、を含む。第2仮想視点平面は、第2カメラ位置(O
S2)から瞳孔中心の位置(P
S2)へ向かう第6ベクトルを法線とする平面である。
【0104】
この光軸ALの求め方によれば、角膜反射−瞳孔中心ベクトルrの大きさ|r|及び角θの大きさ|θ|に関係なく光軸ALを得ることができる。光軸ALが求まるということは、すなわち、光学系15について、角θが求まることに相当する。従って、第5角度(θ
1)と、第3ベクトル(r
1)の大きさ(|r
1|)と、を利用することにより、左目に対応する第1係数(k
1)を得る。第5角度(θ
1)は、第1仮想光軸平面と第2仮想光軸平面とが互いに交差する交線及び第4ベクトルから得られる。さらに、交線及び第6ベクトルから得られる第5角度(θ
2)と、第5ベクトル(r
2)の大きさ(|r
2|)と、を利用して、右目に対応する第1係数(k
2)を得る。
【0105】
それぞれの光学系15から角膜反射−瞳孔中心ベクトルr
1,r
2も求まる。従って、角膜反射−瞳孔中心ベクトルrの大きさ|r|と角θの大きさ|θ|との関係をプロットすれば、式(23)に示された非線形関数fを決定することができる。なお、角膜反射−瞳孔中心ベクトルrの大きさ|r|と大きさ|θ|との関係は、対象者Mがどの方向を見ていても決定できる。従って、対象者Mがいろいろな方向を見ている間にデータを蓄積することができる。なお、この場合、角膜反射の位置G
Sと瞳孔中心の位置P
Sとが共に検出できるときである場合を想定している。
【0106】
関数fを取得した後は、カメラ10において取得された画像から角膜反射−瞳孔中心ベクトルrを利用して角θを得る。従って、カメラ10ごとに眼球50の光軸ALを得ることができる。なお、関数fは、予め取得されたものを繰り返し用いてもよい。また関数fは、データが増えるごとに更新されてもよい。座標が既知である視標を対象者Mに注視させると、角θが求まる。同時に瞳孔Pが求まるので、瞳孔Pと視標位置をとおる視軸ASを得ることができる。
【0107】
〔第2係数hの取得〕
上述の説明において、瞳孔形状法は、角膜反射−瞳孔中心法における第1係数kに相当する係数を含まなかった。しかし、瞳孔形状法においても、式(24)のように第1係数kに相当する第2係数hを含めることができる。
【数24】
第2係数hは、第1係数kと同様に、一定値として扱ってもよい。また第2係数hは、変化する値として扱ってもよい。第2係数hは、第1係数kと同様の方法により得る。
【0108】
瞳孔Pは、角膜というレンズを介して物体を観察している。従って、カメラ10に対する視線の角度が大きくなるほど、角膜に起因する光の屈折により楕円度Rと角θとの関係が乖離する。このため、楕円度Rと角θとの関係において、非線形較正が必要になる。上述の第1係数kの取得処理によれば、瞳孔Pの楕円の短軸方向のみの情報から仮想光軸平面VL
1,VL
2が得られる。従って、第1係数kの取得処理は、屈折による影響を受けない。すなわち、第1係数kの取得処理は、屈折を考慮する必要がない。
【0109】
〔較正情報の取得〕
視線検出処理は、上述したステップS11〜S18を繰り返し行うことにより実行される。上述の説明において、光軸ALと視軸ASのずれを示す較正情報は、ずれ角θ
0として説明した。このずれ角θ
0は、ステップS11〜S18を含む繰り返し処理の前に行われるキャリブレーションステップにおいて取得される。
【0110】
図12に示されるように、対象者Mが中央の視標A4を見た場合、対象者Mの瞳孔Pから視標A4に向かう視軸AS
1が形成される。一方、別の処理を実行することにより、光軸AL1が求まる。そして、光軸AL1とディスプレイ装置30との交点T
1が求まる。
図12は、交点T
1を原点とした仮想平面を示す。
この仮想平面は、
図12における仮想視点平面のカメラの位置を、眼球の光軸ALとディスプレイとの交点に置き換えたものである。このとき、仮想平面VP
1と世界座標系のX−Z平面(水平面)との交線を、仮想平面VP
1の水平軸とする。仮想平面VP
1と視軸ASとの交点を得る。そして、仮想視点平面の座標系におけるベクトルに変換する。その結果、視軸ASと光軸ALとのずれを表す較正情報(ずれ角θ
0)を得る。
【0111】
以上、本発明をその実施形態に基づいて詳細に説明した。しかし、本発明は上記実施形態に限定されない。本発明は、その要旨を逸脱しない範囲で様々な変形が可能である。
【0112】
〔変形例1〕
図13に示されるように、視線検出装置1の画像処理装置20Aは、方向判定部35を有してもよい。方向判定部35は、カメラ―瞳孔中心ベクトルOPに対する視軸ASの方向を判別する。
【0113】
図14の(a)部、(b)部、(c)部、(d)部は、対象者Mの瞳孔P、光彩55及び角膜反射Gの位置関係を示す。
図14の(a)部は、カメラ10の右側における視標を対象者Mが見ている場合の瞳孔P、光彩55及び角膜反射Gの位置関係を示す。
図14の(b)部は、カメラ10の右側であって(a)部における視標よりもカメラ10に近い位置における視標を対象者Mが見ている場合の瞳孔P、光彩55及び角膜反射Gの位置関係を示す。
図14の(c)部は、カメラ10或いは光源13を対象者Mが見ている場合の瞳孔P、光彩55及び角膜反射Gの位置関係を示す。
図14の(d)部は、カメラ10の左側における視標を対象者Mが見ている場合の瞳孔P、光彩55及び角膜反射Gの位置関係を示す。
図14の(e)部は、カメラ10の左側であって(d)部における視標よりもカメラ10から遠い位置における視標を対象者Mが見ている場合の瞳孔P、光彩55及び角膜反射Gの位置関係を示す。
【0114】
図14の(a)部及び(e)部に示されるように、光源13から発せられた光の反射像(角膜反射G)は、角膜より外側に生じている。すなわち、光源13から発せられた光の反射像は、白目の領域に生じている。
図14の(b)部及び(d)部に示されるように、光源13から発せられた光の反射像は、角膜上において瞳孔Pから離れた位置に生じている。
図14の(c)部に示されるように、光源13から発せられた光の反射像は、角膜上において瞳孔Pに近い位置に生じている。
【0115】
図14の(a)部及び
図14の(d)部に示されるように、白目の領域に生じた反射像は、白目の形状の不均一性などにより安定しない。従って、白目の領域に生じた反射像は、高精度な視線検出への利用には不向きである。例えば、白目の領域に生じた反射像が瞳孔Pの左右のどちらに存在するかによって、単に右を見ているか左を見ているかを判定する方法が知られている。しかし、眼鏡をかけている場合に生じる光源の眼鏡反射像は、眼鏡、対象者M及び対象者Mの頭部の角度によって画像の特徴が大きく変化する。さらに、白目反射も変化する。従って、画像の特徴を利用して、右を見ているか左を見ているかを区別することが難しい場合があり得る。また、視線方向によっては白目反射が出現しないこともある。従って、反射像を利用する視線方向の判定によれば、視線方向の判定が困難である場合が生じ得る。
【0116】
図14の(a)部と(e)部と、を比較すると、画像における瞳孔Pの形状は、左の指標を見ている場合でも、右の指標を見ている場合でも、同じである。具体的には、瞳孔Pの形状を示す楕円度Rは、カメラ―瞳孔中心ベクトルOPに対する視軸ASの角度が同じであれば、左の指標を見ている場合でも、右の指標を見ている場合でも、同じである。すなわち、瞳孔Pの楕円度Rを利用する方法は、光学系15を挟んで点対称の位置にある指標を見ている場合(例えば、右上と左下)、どちらも楕円度Rが同じ値を示すために区別できない。
【0117】
そこで、画像処理装置20Aは、方向判定部35を有していてもよい。方向判定部35は、カメラ―瞳孔中心ベクトルOPに対する視線方向を判別する。
図15の(a)部は、2台の水平に並べられた光学系15
L,15
Rの右側を対象者Mが見た場合を示す。このとき、傾きα
1は、傾きα
2より大きい。傾きα
1は、対象者Mの左の光学系15
Lと左目の視線AG
1との間の傾きであり。傾きα
2は、右の光学系15
Rと左目の視線AG
2との間の傾きである。その結果、右側の光学系15
Rの画像GRRから得られる楕円度R
2は、左側の光学系15
Lの画像GRLから得られる楕円度R
1よりも大きい。右目についても同様のことがいえる。逆に
図15の(b)部のように、対象者Mが大きく左側を見た場合、右側の光学系15
Rの画像GRRから得られる楕円度R
2は、左側の光学系15
Lの画像GRLから得られる楕円度R
1よりも大きい。この方法によれば、左右の光学系15
L,15
Rでそれぞれ取得された画像GRL,GRRに含まれた瞳孔Pの楕円度R
1,R
2を比較することによって、対象者Mが大きく右を見ているか、又は、左を見ているかのいずれであるかを区別できる。
【0118】
〔変形例2〕
視線検出装置1は、
図9に示された機能ブロック図の構成に限定されることはない。視線検出装置1は、処理の効率化などのために各機能ブロック間の関係を適宜変更してもよい。例えば、視線検出装置1は、第1光軸取得部28及び第2光軸取得部29が、演算部27を構成する第1演算部27a、第2演算部27b、第3演算部27c、第4演算部27d、第5演算部27e、第6演算部27f及び第7演算部27gを含んでもよい。また、視線検出方法は、
図10のフロー図に示された順に限定されることはなく、各ステップの順を変更してもよい。例えば、視線検出方法は、第1光軸取得部28及び第2光軸取得部29において光軸候補を得る前に、光軸取得部を選択し、選択された光軸取得部においてのみ光軸ALを得てもよい。また、視線検出方法は、光軸の較正処理を第1光軸候補が得られた後に直ちに実行し、且つ、光軸の較正処理を第2光軸候補が得られた後に直ちに実行してもよい。この場合、視線検出方法は、1個の視軸ASを得る処理において、較正処理を2回実行する。
【0119】
〔変形例3〕
ところで、実施形態に係る視線検出装置1の第2光軸取得部29は、瞳孔形状を利用して光軸を得た。瞳孔Pは角膜52に覆われている(
図5参照)。その結果、カメラ10は、角膜52を介した瞳孔Pの画像を出力する。そうすると、光が角膜52を通過する際に屈折が生じる可能性がある。従って、画像上の角膜輪郭の位置は、実際の瞳孔輪郭の位置に対してずれる可能性がある。そこで、視線検出装置1は、楕円度Rを補正する。その結果、実際の瞳孔輪郭の位置に対する画像上における瞳孔輪郭の位置のずれは、補正される。具体的には、視線検出装置1は、楕円度Rが補正された補正楕円度R’を得る。そして、視線検出装置1は、補正楕円度R’を利用して、視線検出処理を行う。楕円度Rの補正は、第2光軸取得部29が実行してもよい。また、楕円度Rの補正は、楕円度Rを得る第4演算部27dが実行してもよい。楕円度Rの補正には、例えば式(25)を利用する。
【数25】
式(25)において、R’は補正楕円度である。Rは楕円度である。a及びbは係数である。これら係数a,bは、実験的に得てもよい。一例として、a=0.3及びb=0.7としてもよい。また、角膜52における屈折の影響を補正可能であれば、数式の構成は式(25)に限定されることはない。
【0120】
第2光軸取得部29は、楕円度Rの逆数の逆余弦成分を直接に利用して、傾きθ
Sを得てもよい(式(7)参照)。
【0121】
第2光軸取得部29は、補正楕円度R’の逆数の逆余弦成分を直接に利用して、傾きθ
Sを得てもよい(式(26)参照)。
【数26】
式(27)に示されるように、第2光軸取得部29は、補正楕円度R’の逆数の逆余弦成分に対して第2係数(h)を乗じてもよい。その結果、さらに補正した値として傾きθ
Sが得られる。
【数27】
【0122】
このような係る視線検出装置1によれば、瞳孔形状法に基づく視線検出の精度をさらに高めることができる。
【0123】
〔変形例4〕
本実施形態に係る視線検出装置1は、角膜反射−瞳孔中心法に基づく処理を行うプラットフォーム上において、瞳孔形状法に基づく処理も実行する。すなわち、本実施形態に係る視線検出装置1は、一つのプラットフォーム上において、角膜反射−瞳孔中心法に基づく処理と瞳孔形状法に基づく処理とを実行する。しかし、このようなプラットフォームに限定されることはなく、別の処理を実行するプラットフォーム上において、角膜反射−瞳孔中心法に基づく処理と瞳孔形状法に基づく処理とを実行してもよい。
【0124】
例えば、対象者Mの顔姿勢を得るプラットフォーム上において、角膜反射−瞳孔中心法に基づく処理と瞳孔形状法に基づく処理とを実行してもよい。ここでいう「顔姿勢」とは、対象者Mの頭蓋骨の位置と方向とを意味する。顔姿勢は、対象者Mの眼球の向き(例えば視線)とは関係がない。例えば、顔姿勢を検出する技術として、発明者らによる特許文献(特開2007−26073号公報)がある。
【0125】
まず、顔検出方法の基本原理について説明する。
図16に示されるように、対象者Mの顔姿勢は、顔姿勢ベクトルV
Bによって示される。顔姿勢ベクトルV
Bは、対象者Mの瞳孔及び鼻孔を利用して得る。例えば、顔姿勢ベクトルV
Bは、左瞳孔中心の位置P
S1、右瞳孔中心の位置P
S2、及び鼻孔間中心の位置P
0の3点を通る平面の法線ベクトルである。これら左瞳孔、右瞳孔、左鼻孔(第1鼻孔)中心、右鼻孔(第2鼻孔)中心及び鼻孔間中心は、特徴点とすることができる。これら特徴点の三次元座標はいくつかの計算手法により得られる。
【0126】
図17に示されるように、視線検出装置1Bは、物理的には実施形態に係る視線検出装置1と同様の構成を有する。一方、視線検出装置1Bは、画像処理装置20Bにおける機能的構成要素が視線検出装置1に対して相違する。視線検出装置1Bは、顔姿勢を検出するための機能的構成要素として座標取得部26aと、顔姿勢取得部36と、を有する。座標取得部26aは、算出部23Bにおける前処理部26Bに含まれる。顔姿勢取得部36は、算出部23Bに含まれる。
【0127】
座標取得部26aは、前処理部26の構成要素である。座標取得部26aは、瞳孔中心の位置(P
S1,P
S2)に関する三次元座標を得る。また、座標取得部26aは、鼻孔の位置(P
0,N
S1,N
S2)に関する三次元座標を得る。なお、座標取得部26aは、当該三次元座標を得ることができればよい。従って、座標取得部26aは、前処理部26の構成要素である必要はない。座標取得部26aは、第1カメラ10
Lによって取得された第1画像と第2カメラ10
Rによって取得された第2画像とを利用して、ステレオマッチング法により、瞳孔中心の位置(P
S1,P
S2)の三次元座標と、鼻孔の位置(P
0,N
S1,N
S2)の三次元座標と、を得る。
【0128】
座標取得部26aは、具体的には以下の動作を行う。
図18に示されるように、ステレオ法による瞳孔中心の三次元座標の決定には、3個の座標系を利用する。
3個の座標系とは、世界座標系C
W(X
W、Y
W、Z
W)、カメラ座標系C
C(X
C、Y
C、Z
C)及び画像座標系C
G(X
G、Y
GZ
G)である。世界座標系C
Wは、複数のカメラの間で共有する任意の点を規定する。特徴点の三次元座標は、世界座標系C
Wに基づく。世界座標系C
Wとカメラ座標系C
Cとの関係は、式(28)により示される。式(28)における回転行列M
R及び並進ベクトルT
Rは、カメラ較正により得られる定数である。座標取得部26aは、式(28)を利用して、世界座標系C
Wにおける瞳孔中心の位置(P
S1,P
S2)を得る。
【数28】
【0129】
顔姿勢取得部36は、瞳孔中心の位置(P
S1、P
S2)の三次元座標と、鼻孔の位置(N
S1、N
S2)の三次元座標と、を利用して顔姿勢ベクトルを得る。
【0130】
顔姿勢取得部36は、4個の座標情報(P
S1、P
S2、N
S1、N
S2)を利用して、3個の基準部位を得る。3個の基準部位の集合は、基準部位群である。次に、顔姿勢取得部36は、仮想平面を設定する。仮想平面は、生成された3つの基準部位により示される点を頂点とする三角形状の平面である。顔姿勢取得部36は、当該仮想平面の重心をとおる顔姿勢ベクトルV
Bを得る。顔姿勢ベクトルV
Bは、顔姿勢を示す情報である。
【0131】
例えば、顔姿勢取得部36は、基準部位群として、右目の瞳孔中心の位置P
S1、左目の瞳孔中心の位置P
S2、及び鼻孔間中心の位置P
0を選択してもよい(
図16参照)。鼻孔間中心の位置P
0とは、右の鼻孔の位置N
S1と左の鼻孔の位置N
S2との平均である。顔姿勢取得部36は、第1基準部位群として、右目の瞳孔中心の位置P
S1、左目の瞳孔中心の位置P
S2及び右の鼻孔の位置N
S1を選択する。そして、顔姿勢取得部36は、これらを利用して第1法線ベクトルを得る。また、顔姿勢取得部36は、第2基準部位群として、右目の瞳孔中心の位置P
S1、左目の瞳孔中心の位置P
S2及び左の鼻孔の位置N
S2を選択する。そして、顔姿勢取得部36は、これらを利用して第2法線ベクトルを得る。なお、顔姿勢取得部36は、第1法線ベクトル及び第2法線ベクトルの平均を顔姿勢ベクトルV
Bとして得てもよい。
【0132】
変形例に係る視線検出装置1Bは、視線検出可能な範囲を拡大することができる。また、視線検出装置1Bは、対象者Mの顔姿勢を得ることができる。
【0133】
〔変形例5〕
座標取得部の動作は、ステレオマッチング法に基づく処理に限定されない。座標取得部の動作は、瞳孔P及び鼻孔の三次元座標が取得可能な処理であれば任意の処理を選択してもよい。例えば、
図19に示されるように、座標取得部26bは、拘束条件法と呼ばれる処理により三次元座標を得てもよい。拘束条件法は、特徴点の間の距離(以下「特徴点間距離」又は単に「距離」という)を拘束条件として利用して、特徴点の三次元座標を得る。特徴点間距離とは、例えば、左瞳孔中心の位置P
S1と右瞳孔中心の位置P
S2との間の距離L
1、左瞳孔中心の位置P
S1と鼻孔間中心の位置P
0との間の距離L
2及び右瞳孔中心の位置P
S2と鼻孔間中心の位置P
0との間の距離L
3である(
図16参照)。また、ステレオ法の実施には光学系(例えばカメラ)が2個必要である。しかし、拘束条件法は、一台のカメラ(第3カメラ)で取得された第3画像だけで三次元座標を得ることができる。従って、拘束条件法によれば、2個の光学系を離間して配置し、それぞれの光学系を利用することにより、顔方向の検出範囲を光学系の離間方向に拡大することが可能になる。
【0134】
図19に示されるように、視線検出装置1Cは、物理的には実施形態に係る視線検出装置1と同様の構成を有する。一方、視線検出装置1Cは、画像処理装置20Cにおける機能的構成要素が視線検出装置1に対して相違する。視線検出装置1Cは、顔姿勢を検出するための機能的構成要素として座標取得部26bを有する。座標取得部26bは、算出部23Cにおける前処理部26Cに含まれる。座標取得部26bは、距離演算部26cと、二次元座標演算部26dと、三次元座標演算部26eとを有する。また、算出部23Cは、顔姿勢取得部36を有する。
【0135】
視線検出装置1Cにおける撮像光学系は、焦点距離fのピンホールモデルと仮定することができる(
図20参照)。カメラ座標系C
Cにおける鼻孔画像(撮像平面PL)上の右瞳孔、左瞳孔、左鼻孔、及び右鼻孔の中心点の二次元座標をそれぞれ、Q
1、Q
2、Q
3、及びQ
4とする。カメラ座標系C
Cは、ピンホールの位置原点O
Rとする。前処理部26は、これら4点の二次元座標を利用して、両鼻孔の中点(鼻孔間中心)の座標(鼻孔間中心座標)P
0と、右瞳孔中心の位置P
S1と、左瞳孔中心の位置P
S2と、を得る。ここで、P
n=(X
n,Y
n,Z
n)(n=0,1,2)である。
【0136】
3個の特徴点(鼻孔間中心、左瞳孔及び右瞳孔)間を結んだ三角形の各辺の距離は、それらのうちの任意の1点をiとし、他の点をjとすると、点i,jの間の距離L
ijで示される(式(29)参照)。この距離L
ijは、予め実測されることにより得られる。この距離L
ijを得る処理は、距離演算部26cにより実行される。
【数29】
【0137】
各特徴点に対応する撮像平面PL上の二次元位置は、ピンホールから各特徴点への位置ベクトルと、カメラの焦点距離fとを用いて示される(式(29)参照)。撮像平面PL上の二次元位置を得る処理は、二次元座標演算部26dにより実行される。
【数30】
また、ピンホールから各特徴点へ向かう位置ベクトルに対応した単位ベクトルは式(30)により示される。
【数31】
各特徴点の位置ベクトルは定数a
n(n=0,1,2)を利用し、式(31)により示される。
【数32】
そうすると、式(33)が成立する。
【数33】
これにより式(34)が得られる。
【数34】
顔姿勢取得部36は、連立方程式(式(34))を利用して、a
0,a
1,a
2を得る。そして、顔姿勢取得部36は、連立方程式の解を式(32)に適用する。その結果、顔姿勢取得部36は、位置ベクトルを得る。位置ベクトルは、各特徴点の三次元座標を示す。三次元座標を得る処理は、三次元座標演算部26eにより実行される。
【0138】
変形例に係る視線検出装置1Cは、視線検出可能な範囲を拡大することができる。また、視線検出装置1Cは、対象者Mの顔姿勢を得ることができる。
【0139】
上記実施形態において、光軸情報取得部31が生成する情報は、第1光軸候補及び第2光軸候補のいずれか一方を光軸ALとして選択するための情報である。例えば、光軸情報取得部31が生成する情報は、第1光軸候補及び第2光軸候補の両方を利用して、光軸ALを生成する情報であってもよい(式(35))。式(35)において、第1光軸候補の情報(大きさ|θ
1|)には重み係数w1が設定され、第2光軸候補の情報(大きさ|θ
2|)には重み係数w2が設定される。従って、光軸情報取得部31が生成する情報は、式(35)を示す情報と、式(35)における重み係数w1,w2としてもよい。
【数35】
【0140】
図21の(a)部及び(b)部に示されるように、重み係数w1,w2は、傾きθ
Sを変数として0から1の間の値を取り得る。
図21の(a)部に示されるように、閾値θ
T(例えば30度)を設定する共に当該閾値θ
Tを含む所定の数値範囲を設定する。傾きθ
Sが所定の数値範囲内に存在しない場合であり、且つ、傾きθ
Sが所定の数値範囲よりも小さい側に存在する場合、重み係数w1を1とし、重み係数w2を0とする。逆に、傾きθ
Sが所定の数値範囲内に存在しない場合であり、且つ、傾きθ
Sが所定の数値範囲よりも大きい側に存在する場合、重み係数w1を0とし、重み係数w2を1とする。換言すると、傾きθ
Sが所定の数値範囲よりも小さい側に存在する場合、第1光軸候補を光軸ALとする。一方、傾きθ
Sが所定の数値範囲よりも大きい側に存在する場合、第2光軸候補を光軸ALとする。さらに、傾きθ
Sが所定の数値範囲内に存在する場合、重み係数w1と重み係数w2とを用いて光軸ALを得てもよい。例えば、傾きθ
Sが閾値θ
Tと等しい場合、重み係数w1を0.5とし、重み係数w2を0.5としてもよい。また、重み係数w1,w2と傾きθ
Sとの関係は、
図21の(b)部に示されるように、ステップ状に変化させてもよい。この場合、傾きθ
Sが閾値θ
Tより小さい場合、光軸ALの取得に第1光軸候補が用いられる。傾きθ
Sが閾値θ
Tより大きい場合、光軸ALの取得に第2光軸候補が用いられる。すなわち、上記実施形態に示された光軸情報取得部31の動作と同じである。