以下、本発明に係る実施形態について図面を参照しながら説明するが、本発明はこれに限定されない。以下で説明する実施形態の構成要素は、適宜組み合わせることができる。また、一部の構成要素を用いない場合もある。
以下の説明においては、三次元グローバル座標系を設定して各部の位置関係について説明する。所定面の第一軸と平行な方向をX軸方向とし、第一軸と直交する所定面の第二軸と平行な方向をY軸方向とし、第一軸及び第二軸のそれぞれと直交する第3軸と平行な方向をZ軸方向とする。所定面はXY平面を含む。
図1を用いて、視線検出装置について説明する。図1は、本実施形態に係る視線検出装置の一例を模式的に示す斜視図である。図1に示すように、視線検出装置100は、表示装置101と、ステレオカメラ装置(撮像部)102と、照明装置(光源)103とを備える。
表示装置101は、液晶ディスプレイ(Liquid Crystal Display:LCD)または有機ELディスプレイ(organic electroluminescence display:OLED)のようなフラットパネルディスプレイを含む。
本実施形態において、表示装置101の表示画面101Sは、XY平面と実質的に平行である。X軸方向は表示画面101Sの左右方向であり、Y軸方向は表示画面101Sの上下方向であり、Z軸方向は表示画面101Sと直交する奥行方向である。また、表示画面101Sに向かって右方向が+X方向、左方向が-X方向であり、上方向が+Y方向、下方向が-Y方向であり、手前方向が+Z方向、奥方向が-Z方向である。
ステレオカメラ装置102は、第一カメラ102A及び第二カメラ102Bを有する。ステレオカメラ装置102は、被験者の眼球111に対して上下方向にずれた位置から撮影する。ステレオカメラ装置102は、表示装置101の表示画面101Sよりも下方に配置される。本実施形態では、ステレオカメラ装置102は、被験者の眼球111に対して下方向にずれた位置から見上げる角度で撮影する。第一カメラ102Aと第二カメラ102BとはX軸方向に配置される。第一カメラ102Aは、第二カメラ102Bよりも-X方向に配置される。第一カメラ102A及び第二カメラ102Bはそれぞれ、赤外線カメラを含み、例えば波長850[nm]の近赤外光を透過可能な光学系と、その近赤外光を受光可能な撮像素子とを有する。
照明装置103は、第一光源103A及び第二光源103Bを有する。照明装置103は、表示装置101の表示画面101Sよりも下方に配置される。第一光源103Aと第二光源103BとはX軸方向に配置される。第一光源103Aは、第一カメラ102Aよりも-X方向に配置される。第二光源103Bは、第二カメラ102Bよりも+X方向に配置される。第一光源103A及び第二光源103Bはそれぞれ、LED(light emitting diode)光源を含み、例えば波長850[nm]の近赤外光を射出可能である。なお、第一光源103A及び第二光源103Bは、第一カメラ102Aと第二カメラ102Bとの間に配置されてもよい。
図2を用いて、被験者の眼球111の撮影について説明する。図2は、本実施形態に係る表示装置とステレオカメラ装置と照明装置と被験者の眼球との位置関係を模式的に示す図である。
照明装置103は、検出光である近赤外光を射出して、被験者の眼球111を照明する。ステレオカメラ装置102は、第一光源103Aから射出された検出光が眼球111に照射されたときに第二カメラ102Bで眼球111を撮影し、第二光源103Bから射出された検出光が眼球111に照射されたときに第一カメラ102Aで眼球111を撮影する。
第一カメラ102A及び第二カメラ102Bの少なくとも一方からフレーム同期信号が出力される。第一光源103A及び第二光源103Bは、フレーム同期信号に基づいて検出光を射出する。第一カメラ102Aは、第二光源103Bから射出された検出光が眼球111に照射されたときに、眼球111の画像データを撮影する。第二カメラ102Bは、第一光源103Aから射出された検出光が眼球111に照射されたときに、眼球111の画像データを撮影する。
眼球111に検出光が照射されると、その検出光の一部は瞳孔112で反射し、その瞳孔112からの光がステレオカメラ装置102に入射する。また、眼球111に検出光が照射されると、角膜の虚像である角膜反射像113が眼球111に形成され、その角膜反射像113からの光がステレオカメラ装置102に入射する。
第一カメラ102A及び第二カメラ102Bと第一光源103A及び第二光源103Bとの相対位置が適切に設定されることにより、瞳孔112からステレオカメラ装置102に入射する光の強度は低くなり、角膜反射像113からステレオカメラ装置102に入射する光の強度は高くなる。すなわち、ステレオカメラ装置102で撮影される瞳孔112の画像は低輝度となり、角膜反射像113の画像は高輝度となる。ステレオカメラ装置102は、撮影される画像の輝度に基づいて、瞳孔112の位置及び角膜反射像113の位置を検出することができる。
図3を用いて、コンピュータシステム20と、駆動回路40と、出力装置50と、入力装置60と、音声出力装置70とについて説明する。図3は、本実施形態に係る視線検出装置のハードウェア構成の一例を示す図である。図3に示すように、視線検出装置100は、表示装置101と、ステレオカメラ装置102と、照明装置103と、コンピュータシステム20と、入出力インターフェース装置30と、駆動回路40と、出力装置50と、入力装置60と、音声出力装置70とを備える。コンピュータシステム20は、演算処理装置20A及び記憶装置20Bを含む。
コンピュータシステム20と、駆動回路40と、出力装置50と、入力装置60と、音声出力装置70とは、入出力インターフェース装置30を介してデータ通信する。
演算処理装置20Aは、CPU(central processing unit)のようなマイクロプロセッサを含む。記憶装置20Bは、ROM(read only memory)及びRAM(random access memory)のようなメモリまたはストレージを含む。演算処理装置20Aは、記憶装置20Bに記憶されているコンピュータプログラム20Cに従って演算処理を実施する。
駆動回路40は、駆動信号を生成して、表示装置101、ステレオカメラ装置102、及び照明装置103に出力する。また、駆動回路40は、ステレオカメラ装置102で撮影された眼球111の画像データを、入出力インターフェース装置30を介してコンピュータシステム20に供給する。
出力装置50は、フラットパネルディスプレイのような表示装置を含む。なお、出力装置50は、印刷装置を含んでもよい。入力装置60は、操作されることにより入力データを生成する。入力装置60は、コンピュータシステム用のキーボードまたはマウスを含む。なお、入力装置60が表示装置である出力装置50の表示画面に設けられたタッチセンサを含んでもよい。音声出力装置70は、スピーカを含み、例えば被験者に注意を促すための音声を出力する。
本実施形態においては、表示装置101とコンピュータシステム20とは別々の装置である。なお、表示装置101とコンピュータシステム20とが一体でもよい。例えば視線検出装置100がタブレット型パーソナルコンピュータを含む場合、そのタブレット型コンピュータに、コンピュータシステム20、入出力インターフェース装置30、駆動回路40、及び表示装置101が搭載されてもよい。
図4を用いて、入出力インターフェース装置30について説明する。図4は、本実施形態に係る視線検出装置の一例を示す機能ブロック図である。図4に示すように、入出力インターフェース装置30は、入出力部302を有する。駆動回路40は、表示装置101を駆動するための駆動信号を生成して表示装置101に出力する表示装置駆動部402と、第一カメラ102Aを駆動するための駆動信号を生成して第一カメラ102Aに出力する第一カメラ入出力部404Aと、第二カメラ102Bを駆動するための駆動信号を生成して第二カメラ102Bに出力する第二カメラ入出力部404Bと、第一光源103A及び第二光源103Bを駆動するための駆動信号を生成して第一光源103A及び第二光源103Bに出力する光源駆動部406とを有する。また、第一カメラ入出力部404Aは、第一カメラ102Aで撮影された眼球111の画像データを、入出力部302を介してコンピュータシステム20に供給する。第二カメラ入出力部404Bは、第二カメラ102Bで撮影された眼球111の画像データを、入出力部302を介してコンピュータシステム20に供給する。
コンピュータシステム20は、視線検出装置100を制御する。コンピュータシステム20は、表示制御部202と、光源制御部204と、画像データ取得部206と、入力データ取得部208と、位置検出部210と、曲率中心算出部212と、補正位置算出部214と、注視点検出部216と、理想位置算出部218と、演算部220と、判定部222と、記憶部224と、出力制御部226とを有する。コンピュータシステム20の機能は、演算処理装置20A及び記憶装置20Bによって発揮される。
表示制御部202は、被験者に見せるための画像を表示装置101の表示画面101Sに表示させる。表示制御部202は、例えば表示画面101Sに画像を表示可能である。
光源制御部204は、光源駆動部406を制御して、第一光源103A及び第二光源103Bの作動状態を制御する。光源制御部204は、第一光源103Aと第二光源103Bとが異なるタイミングで検出光を射出するように第一光源103A及び第二光源103Bを制御する。
画像データ取得部206は、第一カメラ102A及び第二カメラ102Bを含むステレオカメラ装置102によって撮影された被験者の眼球111の画像データを、入出力部302を介してステレオカメラ装置102から取得する。
入力データ取得部208は、入力装置60が操作されることにより生成された入力データを、入出力部302を介して入力装置60から取得する。
位置検出部210は、画像データ取得部206で取得された眼球111の画像データに基づいて、瞳孔中心112Cの位置を検出する。また、位置検出部210は、画像データ取得部206で取得された眼球111の画像データに基づいて、角膜反射中心の位置を検出する。瞳孔中心112Cは、瞳孔112の中心である。角膜反射中心は、角膜反射像113の中心である。位置検出部210は、被験者の左右それぞれの眼球111について、瞳孔中心112Cの位置及び角膜反射中心の位置を検出する。
曲率中心算出部212は、画像データ取得部206で取得された眼球111の画像データに基づいて、眼球111の角膜曲率中心の位置を算出する。
補正位置算出部214は、位置検出部210で検出された瞳孔112の中心と、曲率中心算出部212で算出された角膜曲率中心110との距離に基づいて、角膜曲率中心110の位置を補正し、左右それぞれの眼球111の補正後の角膜曲率中心110Hの位置を算出する。
注視点検出部216は、画像データ取得部206で取得された眼球111の画像データに基づいて、被験者の注視点の位置を検出する。本実施形態において、注視点の位置とは、三次元グローバル座標系で規定される被験者の視線ベクトルと表示装置101の表示画面101Sとの交点の位置をいう。注視点検出部216は、眼球111の画像データから取得された瞳孔中心112Cの位置及び角膜曲率中心の位置に基づいて、被験者の左右それぞれの眼球111の視線方向である視線ベクトルを検出する。つまり、注視点検出部216は、被験者の左右それぞれの眼球111の視線方向を検出する視線検出部でもある。被験者の左右それぞれの眼球111の視線ベクトルが検出された後、注視点検出部216は、視線ベクトルと表示画面101Sとの交点を示す注視点の位置を検出する。
演算部220は、画像データ取得部206で取得された眼球111の画像データに基づいて、左右の眼球111の瞳孔中心112Cの距離の差分と、左右の眼球111の瞳孔中心112Cの位置の上下方向の差分との少なくともどちらかを算出する。左右の眼球111の瞳孔中心112Cの位置は、位置検出部210によって算出されている。本実施形態では、演算部220は、左右の眼球111の瞳孔中心112Cの距離の差分と、左右の眼球111の瞳孔中心112Cの位置の上下方向の差分とをいずれも算出する。
判定部222は、演算部220が算出した、左右の眼球111の瞳孔中心112Cの距離の差分と、左右の眼球111の瞳孔中心112Cの位置の上下方向の差分との少なくともどちらかに基づいて、注視点検出部216の検出結果が有効か否かを判定する。本実施形態では、左右の眼球111の瞳孔中心112Cの距離の差分と、左右の眼球111の瞳孔中心112Cの位置の上下方向の差分との両方に基づいて、注視点検出部216の検出結果が有効か否かを判定する。
記憶部224は、視線検出装置100が実行する処理をコンピュータに実行させる視線検出プログラムを記憶する。
出力制御部226は、表示装置101、出力装置50、及び音声出力装置70の少なくとも一つにデータを出力する。本実施形態において、出力制御部226は、表示画面101Sに画像を表示させる。また、出力制御部226は、被験者の左右それぞれの眼球111の注視点の位置を表示画面101Sまたは出力装置50に表示させる。
次に、図5、図6を用いて、本実施形態に係る曲率中心算出部212の処理について説明する。図5は、本実施形態に係る角膜曲率中心の位置の算出方法を説明するための模式図である。図6は、本実施形態に係る角膜曲率中心の位置の算出方法を説明するための模式図である。
まず、図5を用いて、1つの光源を使用する場合について説明する。図5において、眼球111は、1つの光源103Cで照明されている。光源103Cは、第一カメラ102Aと第二カメラ102Bとの間に配置される。瞳孔中心112Cは、光源103Cを点灯させた際に検出される瞳孔112の中心である。角膜反射中心113Cは、光源103Cを点灯させた際に検出される角膜反射像113の中心である。
角膜反射中心113Cは、光源103Cと角膜曲率中心110とを結ぶ直線上に位置する。角膜反射中心113Cは、角膜の表面(以下、「角膜表面」という。)と角膜曲率中心110との中間点に位置付けられる。角膜曲率半径109は、角膜表面と角膜曲率中心110との距離である。
角膜反射中心113Cの位置は、ステレオカメラ装置102が撮影した画像データから検出される。角膜曲率中心110は、光源103Cと角膜反射中心113Cとを結ぶ直線上に位置する。曲率中心算出部212は、その直線上において角膜反射中心113Cからの距離が所定値となる位置を、角膜曲率中心110の位置として算出する。所定値は、一般的な角膜の曲率半径値などから事前に定められた値であり、記憶部228に記憶されている。
つづいて、図6を用いて、2つの第一光源103Aと第二光源103Bとを使用する場合について説明する。本実施形態においては、第一カメラ102A及び第二光源103Bと、第二カメラ102B及び第一光源103Aとは、第一カメラ102Aと第二カメラ102Bとの中間位置を通る直線123に対して左右対称の位置に配置される。第一カメラ102Aと第二カメラ102Bとの中間位置に仮想光源103Vが位置するとみなす。
角膜反射中心121は、第二カメラ102Bによって眼球111を撮影した画像における角膜反射中心である。角膜反射中心122は、第一カメラ102Aによって眼球111を撮影した画像における角膜反射中心である。角膜反射中心124は、仮想光源103Vに対応する角膜反射中心である。
角膜反射中心124の位置は、ステレオカメラ装置102が撮影した画像データから検出された角膜反射中心121の位置と角膜反射中心122の位置とに基づいて算出される。ステレオカメラ装置102は、ステレオカメラ装置102に規定される三次元ローカル座標系において角膜反射中心121の位置と角膜反射中心122の位置とを検出する。ステレオカメラ装置102について、事前にステレオ較正法によるカメラ較正が実施され、ステレオカメラ装置102の三次元ローカル座標系を三次元グローバル座標系に変換する変換パラメータが算出される。その変換パラメータは、記憶部228に記憶されている。
曲率中心算出部212は、ステレオカメラ装置102が撮影した画像データから検出された角膜反射中心121の位置と角膜反射中心122の位置とを、変換パラメータを使って、三次元グローバル座標系における位置に変換する。曲率中心算出部212は、三次元グローバル座標系で規定される角膜反射中心121の位置と角膜反射中心122の位置とに基づいて、三次元グローバル座標系における角膜反射中心124の位置を算出する。
角膜曲率中心110は、仮想光源103Vと角膜反射中心124とを結ぶ直線123上に位置する。曲率中心算出部212は、直線123上において角膜反射中心124からの距離が所定値となる位置を、角膜曲率中心110の位置として算出する。所定値は、一般的な角膜の曲率半径値などから事前に定められた値であり、記憶部228に記憶されている。
このように、光源が2つある場合でも、光源が1つである場合の方法と同様の方法で、角膜曲率中心110が算出される。
角膜曲率半径109は、角膜表面と角膜曲率中心110との距離である。したがって、角膜表面の位置と角膜曲率中心110の位置とが算出されることにより、角膜曲率半径109が算出される。
次に、図7を用いて、本実施形態に係る視線検出方法の一例について説明する。図7は、本実施形態に係る視線検出方法の一例を示すフローチャートである。本実施形態においては、角膜曲率中心110の位置の算出処理及び瞳孔中心112Cと角膜曲率中心110との距離データの算出処理を含むキャリブレーション処理(ステップS100)と、注視点検出処理(ステップS200)と、注視点の検出結果が有効か否かを判定する有効判定処理(ステップS300)とが実施される。
まず、図8を用いて、キャリブレーション処理の概略を説明する。図8は、本実施形態に係るキャリブレーション処理の一例を説明するための模式図である。キャリブレーション処理では、被験者に注視させるため、目標位置130が設定される。目標位置130は、三次元グローバル座標系において規定される。本実施形態において、目標位置130は、例えば、表示装置101の表示画面101Sの中央位置に設定される。目標位置130は、表示画面101Sの端部位置に設定されてもよい。
表示制御部202は、設定された目標位置130に目標画像を表示させる。これにより、被験者は、目標位置130を注視し易くなる。
直線131は、仮想光源103Vと角膜反射中心113Cとを結ぶ直線である。直線132は、目標位置130と瞳孔中心112Cとを結ぶ直線である。角膜曲率中心110は、直線131と直線132との交点である。曲率中心算出部212は、仮想光源103Vの位置データと、目標位置130の位置データと、瞳孔中心112Cの位置データと、角膜反射中心113Cの位置データとに基づいて、角膜曲率中心110の位置データが算出可能である。
つづいて、図9を用いて、キャリブレーション処理の方法について、フローチャートに沿って説明する。図9は、本実施形態に係るキャリブレーション処理の一例を示すフローチャートである。ステップS101ないしステップS109の処理は、図7のステップS100に対応する。
表示制御部202は、表示装置101の表示画面101Sに目標画像を表示させる(ステップS101)。被験者は、目標画像を注視することにより、目標位置130を注視することができる。
次に、光源制御部204は、光源駆動部406を制御して、第一光源103A及び第二光源103Bのうち一方の光源から検出光を射出させる(ステップS102)。
ステレオカメラ装置102は、第一カメラ102A及び第二カメラ102Bのうち検出光を射出した光源からの距離が長い方のカメラで被験者の眼を撮影する(ステップS103)。
次に、光源制御部204は、光源駆動部406を制御して、第一光源103A及び第二光源103Bのうち他方の光源から検出光を射出させる(ステップS104)。
ステレオカメラ装置102は、第一カメラ102A及び第二カメラ102Bのうち検出光を射出した光源からの距離が長い方のカメラで被験者の眼を撮影する(ステップS105)。
ステップS102ないしステップS105においては、照明装置103が照射されているので、瞳孔112は、暗い部分としてステレオカメラ装置102に検出され、角膜反射像113は、明るい部分としてステレオカメラ装置102に検出される。すなわち、ステレオカメラ装置102で撮影される瞳孔112の画像は低輝度となり、角膜反射像113の画像は高輝度となる。これらにより、位置検出部210は、撮影される画像の輝度に基づいて、瞳孔112の位置及び角膜反射像113の位置を検出することができる。
位置検出部210は、瞳孔112の画像データに基づいて、瞳孔中心112Cの位置を算出する。また、位置検出部210は、角膜反射像113の画像データに基づいて、角膜反射中心113Cの位置を算出する(ステップS106)。
ステレオカメラ装置102によって検出された位置は、3次元のローカル座標系で規定される位置である。位置検出部210は、記憶部224に記憶されている変換パラメータを使用して、ステレオカメラ装置102で検出された瞳孔中心112Cの位置及び角膜反射中心113Cの位置を座標変換して、三次元グローバル座標系で規定される瞳孔中心112Cの位置及び角膜反射中心113Cの位置を算出する(ステップS107)。
曲率中心算出部212は、グローバル座標系で規定される角膜反射中心113Cと仮想光源103Vとを結ぶ直線131を算出する(ステップS108)。
曲率中心算出部212は、表示装置101の表示画面101Sに規定される目標位置130と瞳孔中心112Cとを結ぶ直線132を算出する(ステップS109)。
曲率中心算出部212は、ステップS108で算出した直線131とステップS109で算出した直線132との交点を求め、この交点を角膜曲率中心110とする(ステップS110)。
曲率中心算出部212は、瞳孔中心112Cと角膜曲率中心110との距離126を算出して、記憶部224に記憶する(ステップS111)。より詳しくは、曲率中心算出部212は、瞳孔中心112Cと角膜曲率中心110との距離126を算出して、キャリブレーション結果として記憶部228に記憶する。記憶された距離126は、ステップS200の注視点検出処理において、角膜曲率中心110を算出する際の補正に使用される。
次に、図10、図11を用いて、本実施形態に係る注視点検出処理の一例について説明する。図10は、本実施形態に係る注視点検出処理の一例を説明するための模式図である。図11は、本実施形態に係る視線検出処理の一例を示すフローチャートである。注視点検出処理は、キャリブレーション処理の後に実施される。注視点検出処理は、キャリブレーション処理で求めた瞳孔中心112Cと角膜曲率中心110との距離126を用いて、角膜曲率中心110の位置を補正することと、補正された角膜曲率中心110の位置を使って注視点を算出することとを含む。
まず、図10を用いて、注視点検出処理の概略を説明する。注視点165は、一般的な曲率半径値を用いて算出された角膜曲率中心110から求めた注視点である。注視点166は、キャリブレーション処理で求められた距離126を用いて算出された角膜曲率中心110Hから求めた注視点である。
瞳孔中心112Cは、キャリブレーション処理において算出された瞳孔中心を示し、角膜反射中心113Cは、キャリブレーション処理において算出された角膜反射中心を示す。
直線173は、仮想光源103Vと角膜反射中心113Cとを結ぶ直線である。角膜曲率中心110は、一般的な曲率半径値から算出した角膜曲率中心の位置である。
距離126は、キャリブレーション処理により算出した瞳孔中心112Cと角膜曲率中心110との距離である。
角膜曲率中心110Hは、距離126を用いて角膜曲率中心110を補正した補正後の角膜曲率中心の位置を示す。
角膜曲率中心110Hは、角膜曲率中心110が直線173上に存在すること、及び瞳孔中心112Cと角膜曲率中心110との距離が距離126であることから求められる。これにより、一般的な曲率半径値を用いる場合に算出される視線177は、視線178に補正される。また、表示装置101の表示画面101S上の注視点は、注視点165から注視点166に補正される。
つづいて、図11を用いて、視線検出処理の方法について、フローチャートに沿って説明する。ステップS201ないしステップS207の処理は、図9のステップS102~ステップS108と同様の処理を行う。ステップS201ないしステップS1211処理は、図7のステップS200に対応する。
補正位置算出部214は、ステップS207で算出した直線173上であって、瞳孔中心112Cからの距離がキャリブレーション処理によって求めた距離126と等しい位置を、補正後の角膜曲率中心である角膜曲率中心110Hとして算出する(ステップS208)。
注視点検出部216は、瞳孔中心112Cと角膜曲率中心110Hとを結ぶ視線ベクトルを算出する(ステップS209)。視線ベクトルは、被験者が見ている視線方向を示す。注視点検出部216は、視線ベクトルと表示装置101の表示画面101Sとの交点の位置を算出する(ステップS210)。視線ベクトルと表示装置101の表示画面101Sとの交点の位置が、三次元グローバル座標系で規定される表示画面101Sにおける被験者の注視点の位置である。
注視点検出部216は、三次元グローバル座標系で規定される注視点の位置を、2次元座標系で規定される表示装置101の表示画面101Sにおける位置に変換する(ステップS211)。これにより、被験者が見つめる表示装置101の表示画面101S上の注視点の位置が算出される。
次に、有効判定処理について説明する。有効判定処理では、左右それぞれの眼球111の位置に基づいて、視線検出結果が有効か否かを判定する。
図12、図13を用いて、ステレオカメラ装置102に対する被検者の顔向きが変わったときの画像の違いについて説明する。図12は、被験者の顔が正面を向いている場合の模式図である。図13は、被験者の顔が傾いている場合の模式図である。本実施形態では、ステレオカメラ装置102は、表示装置101の下側に配置されている。また、被検者は、表示装置101の表示画面101Sと正対する。これにより、ステレオカメラ装置102は、被験者を下から一定の煽り角度を持って撮影する。図12において、ステレオカメラ装置102に対して被検者の顔が正面を向いている場合を示す。この場合、画像上の被験者の左右の眼(左右の瞳孔中心112C)の高さ位置は同一となる。図13において、ステレオカメラ装置102に対して被験者が向かって右を向いている場合を示す。この場合、画像上の向かって右側の眼は、左側の眼より高さ位置が低くなる。このような特徴を使用して、視線検出時の被検者の顔向きを判定することが可能である。
図14、図15を用いて、ステレオカメラ装置102に対する被検者の顔向きが変わったときの被検者とステレオカメラ装置102との距離に違いについて説明する。図14は、図12における、ステレオカメラ装置と被験者の眼球とを説明する模式図である。図15は、図13における、ステレオカメラ装置と被験者の眼球とを説明する模式図である。図14は、ステレオカメラ装置102に対して被検者の顔が正面を向いている場合である。この場合、2つのステレオカメラ装置102の中心位置に対して、左右の眼(左右の瞳孔中心112C)までの距離は、同一である。図15は、被験者が向かって右を向いた場合であり、2つのステレオカメラ装置102の中心位置に対しての距離は、右眼の方が左眼より長くなっている。本このような特徴を使用して、視線検出時の被検者の顔向きを判定することが可能である。ステレオカメラ装置102と左右の瞳孔中心112Cとの距離を測定する方法は、本実施形態のステレオカメラ装置102による視差を使用してもよいし、別の方法を使用してもよい。
次に、図16を用いて、本実施形態に係る有効判定処理の一例について説明する。図16は、本実施形態に係る有効判定処理の一例を示すフローチャートである。有効判定処理は、注視点判定処理の後に実施される。
演算部220は、視線検出処理の結果を取得する(ステップS301)。より詳しくは、演算部220は、視線検出処理の結果から、右眼と左眼とについて、三次元グローバル座標系で規定される瞳孔中心112Cの位置を取得する。
演算部220は、視線検出処理の結果を取得したときのカメラと左右の眼(瞳孔中心)との距離をそれぞれ算出する(ステップS302)。より詳しくは、演算部220は、視線検出処理の結果を取得したときの、右眼の三次元グローバル座標系で規定される瞳孔中心112Cの位置とステレオカメラ装置102の中心位置との距離を算出する。演算部220は、視線検出処理の結果を取得したときの、左眼の三次元グローバル座標系で規定される瞳孔中心112Cの位置とステレオカメラ装置102の中心位置との距離を算出する。
演算部220は、視線検出処理の結果を取得したときの画像から、左右の眼球の瞳孔中心112Cの高さ方向の位置を算出する(ステップS303)。より詳しくは、演算部220は、画像上における左右の眼球の瞳孔中心112Cの高さ方向(Y方向)の位置をそれぞれ算出する。
ステップS302、ステップS303における演算結果から、被検者の顔向きがわかる。ステレオカメラ装置102に対して被検者の顔が正面を向いている場合、被験者の位置から見て、視線方向と顔向き方向とは近い方向になる。ステレオカメラ装置102に対して被検者の顔が正面を向いていない場合、被験者の位置から見て、視線方向と顔向き方向とは異なる方向になる。この場合、視線検出装置100によって検出した被験者の視線は、誤検出して結果が正しくない可能性が高い。そこで、被検者の顔が正面から一定範囲以内に入っているか否かで、視線検出の結果が有効であるか無効であるかを判定する。具体的には、被験者の顔が正面向きに対して30°以上ずれた方向を向いている場合、正しく視線検出ができない可能性が高い。
図15を用いて、被検者の顔向きについて説明する。例えば、顔向きが30°ずれている場合における、ステップS302で算出したカメラと左右の眼球の瞳孔中心112Cとの距離の差は、左右の瞳孔中心112Cの距離をrdとすると、三角比によって(1/2×rd)として表すことができる。また、例えば、顔向きが30°ずれている場合における、ステップS303で算出した左右の眼球の瞳孔中心112Cの高さ方向の位置の差は、ステレオカメラ装置102と被験者との距離が本実施形態における標準の60cmとすると、ステレオカメラ装置102のセンサーサイズと焦点距離との関係から、表示画面101S上において、50ピクセル程度のずれに相当する。これらより、被験者の顔が正面向きに対して30°以上ずれた方向を向くと視線検出の結果を無効と判定する場合、(1/2×rd)が瞳孔中心距離差分しきい値であり、50ピクセルが瞳孔中心高さ差分しきい値となる。
本実施形態では、左右の瞳孔中心112Cの距離の差が瞳孔中心距離差分しきい値以下であり、左右の瞳孔中心112Cの高さの差が瞳孔中心高さ差分しきい値以下であるとき、視線検出の結果を有効とする。左右の瞳孔中心112Cの距離の差が瞳孔中心距離差分しきい値以下ではない、または、左右の瞳孔中心112Cの高さの差が瞳孔中心高さ差分しきい値以下ではないとき、視線検出の結果を無効とする。
判定部222は、ステレオカメラ装置102の中心位置からの瞳孔中心112Cの距離の差が、瞳孔中心距離差分しきい値以下であるか否かを判定する(ステップS304)。判定部222は、ステップS302で算出した、右眼球の瞳孔中心112Cの位置とステレオカメラ装置102の中心位置との距離と、左眼球の瞳孔中心112Cの位置とステレオカメラ装置102の中心位置との距離との差が、瞳孔中心距離差分しきい値以下ではない場合(ステップS304でNo)、ステップS305に進む。判定部222は、ステップS302で算出した、右眼球の瞳孔中心112Cの位置とステレオカメラ装置102の中心位置との距離と、左眼球の瞳孔中心112Cの位置とステレオカメラ装置102の中心位置との距離との差が、瞳孔中心距離差分しきい値以下である場合(ステップS304でYes)、ステップS307に進む。
判定部222は、視線検出処理の結果は無効であると判定する(ステップS305)。
出力制御部226は、視線検出処理の結果は無効である旨を出力装置50にアラート表示する(ステップS306)。
判定部222は、左右の瞳孔中心112Cの高さ方向の差が、瞳孔中心高さ差分しきい値以下であるか否かを判定する(ステップS307)。判定部222は、ステップS303で算出した、右眼球の瞳孔中心112Cの高さ方向の位置と、左眼球の瞳孔中心112Cの高さ方向の位置との差が、瞳孔中心高さ差分しきい値以下ではない場合(ステップS307でNo)、ステップS308に進む。判定部222は、ステップS303で算出した、右眼球の瞳孔中心112Cの高さ方向の位置と、左眼球の瞳孔中心112Cの高さ方向の位置との差が、瞳孔中心高さ差分しきい値以下である場合(ステップS307でYes)、ステップS309に進む。
判定部222は、視線検出処理の結果は無効であると判定する(ステップS308)。
判定部222は、視線検出処理の結果は有効であると判定する(ステップS309)。
このようにして、視線検出処理によって視線を誤検出するおそれがあるような、被験者の顔向きであると判定されると、視線検出の結果を無効として表示する。有効判定処理によって無効と判定された視線抽出処理の結果が、そのまま後続処理において使用されないようにする。有効判定処理によって有効と判定された視線検出処理の結果のみ、後続処理において使用されるようにする。
有効判定処理の後続処理の一例について説明する。有効判定処理によって有効とされた場合、後続処理として、理想位置算出部218によって、左右それぞれの眼球111の理想的な角膜曲率中心110Fの位置を算出する、第二キャリブレーション処理を実行してもよい。なお、有効判定処理によって無効とされた場合、第二キャリブレーション処理を実行しない。
理想位置算出部218は、表示画面101Sの1点に表示される画像の位置と、瞳孔112の中心の位置とから、左右それぞれの眼球111の理想的な角膜曲率中心の位置を算出する。
以上のように、本実施形態は、演算部220が算出した、左右の眼球111の瞳孔中心112Cの距離の差分と、左右の眼球111の瞳孔中心112Cの位置の上下方向の差分との少なくともどちらかに基づいて、注視点検出部216の検出結果が有効か否かを判定する。本実施形態では、ステレオカメラ装置102に対する被検者の顔向きが、視線検出処理によって視線を誤検出するおそれがあるとき、視線検出結果を無効と判定する。このように、本実施形態によれば、被験者の顔向きに応じて、視線を正確に検出することができるか否かを判断することができる。また、視線を正確に検出することができたと判定された場合にのみ、後続処理を行うようにすることで、後続処理の精度も向上することができる。
本実施形態によれば、注視点検出部216で検出される視線方向の有効性について、視線検出処理によって算出した、三次元グローバル座標系で規定される左右の瞳孔中心112Cの位置に基づいて判定する。これにより、本実施形態によれば、別途視線方向の有効性を検出するための装置などを使用することなく、容易かつ効果的に視線方向の有効性を判定することができる。
また、本実施形態において、判定部222は、左右の眼球111の瞳孔中心112Cの距離の差分が、瞳孔中心距離差分しきい値より大きい場合、注視点検出部216の検出結果が無効であると判定する。これにより、本実施形態によれば、被験者の顔が正面向きに対して30°以上ずれて、視線検出に影響を与える場合、注視点検出部216の検出結果が無効であると判定することができる。
また、本実施形態において、左右の眼球111の瞳孔中心112Cの位置の上下方向の差分が、瞳孔中心高さ差分しきい値より大きい場合、注視点検出部216の検出結果が無効であると判定する。これにより、本実施形態によれば、被験者の顔が正面向きに対して30°以上ずれて、視線検出に影響を与える場合、注視点検出部216の検出結果が無効であると判定することができる。
これまで本発明に係る視線検出装置100について説明したが、上述した実施形態以外にも種々の異なる形態にて実施されてよいものである。
図示した視線検出装置100の各構成要素は、機能概念的なものであり、必ずしも物理的に図示の如く構成されていなくてもよい。すなわち、各装置の具体的形態は、図示のものに限られず、各装置の処理負担や使用状況などに応じて、その全部または一部を任意の単位で機能的または物理的に分散または統合してもよい。
視線検出装置100の構成は、例えば、ソフトウェアとして、メモリにロードされたプログラムなどによって実現される。上記実施形態では、これらのハードウェアまたはソフトウェアの連携によって実現される機能ブロックとして説明した。すなわち、これらの機能ブロックについては、ハードウェアのみ、ソフトウェアのみ、または、それらの組み合わせによって種々の形で実現できる。
ステップS304において、視線検出処理の結果を取得したときの左右の瞳孔中心112Cの距離の差を比較したが、これに限定されない。例えば、左右の瞳孔中心112Cの距離の基準値として、計測開始前のキャリブレーション時に被験者が正面を向いたときの左右の瞳孔中心112Cの距離の差を測定しておき、視線検出処理の結果を取得したときの左右の瞳孔中心112Cの距離の差の変化量に基づいて、判定するようにしてもよい。
ステップS307において、視線検出処理の結果を取得したときの左右の瞳孔中心112Cの高さの差を比較したが、これに限定されない。例えば、左右の瞳孔中心112Cの高さの基準値として、計測開始前のキャリブレーション時に被験者が正面を向いたときの左右の瞳孔中心112Cの高さの差を測定しておき、視線検出処理の結果を取得したときの左右の瞳孔中心112Cの高さの差の変化量に基づいて、判定するようにしてもよい。
上記では、ステレオカメラ装置102は、独立した第一カメラ102A及び第二カメラ102Bの2台のカメラを有するものとして説明したが、一つの筐体に配置された第一カメラ102A及び第二カメラ102Bであってもよい。
上記に記載した構成要素には、当業者が容易に想定できるもの、実質的に同一のものを含む。さらに、上記に記載した構成は適宜組み合わせが可能である。また、本発明の要旨を逸脱しない範囲において構成の種々の省略、置換または変更が可能である。