以下、本発明に係る視線検出装置及び視線検出方法の実施形態について図面を参照しながら詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、以下では、視線検出結果を用いて斜視などの診断を支援する診断支援装置に視線検出装置を用いた例を説明する。適用可能な装置は診断支援装置に限られるものではない。
被験者によっては、角膜曲率半径が左右の眼球で大きく異なっていたり、斜視などの影響により左右の眼球の視線方向が大きく異なっていたりする場合がある。本実施形態の診断支援装置は、左右の眼球の角膜曲率半径を個別に求め、更にモニタ画面に対する被験者の左右の眼球の視点を個別に検出することで、様々な被験者についての視点検出を適切に実施可能である。
本実施形態の視線検出装置は、2ヵ所に設置された照明部を用いて視線を検出する。また、本実施形態の視線検出装置は、視線検出前に被験者に1点を注視させて測定した結果を用いて、角膜曲率中心の位置及び角膜曲率半径を高精度に算出する。
なお、照明部とは、光源を含み、被験者の眼球に光を照射可能な要素である。光源とは、例えばLED(Light Emitting Diode)などの光を発生する素子である。光源は、1個のLEDから構成されてもよいし、複数のLEDを組み合わせて1ヵ所に配置することにより構成されてもよい。以下では、このように照明部を表す用語として「光源」を用いる場合がある。
視点検出を精度良く行うためには、瞳孔の位置を正しく検出できることが重要となっている。近赤外の光源を点灯させカメラで撮影した場合、カメラと光源との距離が一定以上離れていると、瞳孔は他の部分より暗くなることがわかっている。この特徴を用いて瞳孔位置が検出される。
本実施形態では、2台のカメラに対して、光源をそれぞれのカメラの外側に2ヶ所配置する。そして、これらの2つの光源を相互に異なるタイミングで点灯させ、点灯している光源からの距離が長い方(遠い方)のカメラで撮影する。これにより、瞳孔をより暗く撮影し、瞳孔と他の部分とを、より高精度に区別することが可能となる。
この場合、点灯させる光源が異なるため、通常のステレオ方式による三次元計測を単純に適用することができない。すなわち、視点を求める際の光源と角膜反射とを結ぶ直線を世界座標で算出することができない。そこで本実施形態では、2つのタイミングでの、撮像に用いるカメラ相互の位置関係、及び、点灯させる光源相互の位置関係を、仮想的な光源の位置を示す仮想光源位置に対してそれぞれ対称とする。そして、2つの光源それぞれの点灯時に得られる2つの座標値を、左カメラによる座標値及び右カメラによる座標値として世界座標に変換する。これにより、2つの光源それぞれの点灯時に得られる角膜反射の位置を用いて、仮想光源と角膜反射とを結ぶ直線を世界座標で算出すること、及び、この直線に基づき視点を算出することが可能となる。
図1は、1つの光源を使用した場合の被験者の目11の様子を示す図である。図1に示すように、虹彩12と瞳孔13との暗さの差が十分ではなく、区別が困難となる。図2は、2つの光源を使用した場合の被験者の目21の様子を示す図である。図2に示すように、虹彩22と瞳孔23との暗さの差は、図1と比較して大きくなっている。
図3及び図4は、本実施形態の表示部、ステレオカメラ、赤外線光源及び被験者の配置の一例を示す図である。
図3に示すように、本実施形態の診断支援装置は、表示部101と、ステレオカメラを構成する右カメラ102a及び左カメラ102bと、LED光源103a,103bと、を含む。右カメラ102a及び左カメラ102bは、表示部101の下に配置される。LED光源103a,103bは、右カメラ102a及び左カメラ102bそれぞれの外側の位置に配置される。LED光源103a,103bは、例えば波長850[nm]の近赤外線を照射する光源である。図3では、9個のLEDによりLED光源103a,103bを構成する例が示されている。なお、右カメラ102a及び左カメラ102bは、波長850[nm]の近赤外光を透過できるレンズを使用する。なお、LED光源103a,103bと、右カメラ102a及び左カメラ102bとの位置を逆にして、LED光源103a,103bが、右カメラ102a及び左カメラ102bそれぞれの内側の位置に配置されていてもよい。
図4に示すように、LED光源103a,103bは、被験者の眼球111に向かって検出光である近赤外光を照射する。LED光源103aを照射したときに左カメラ102bで撮影を行い、LED光源103bを照射したときに右カメラ102aで撮影を行う。右カメラ102a及び左カメラ102bと、LED光源103a,103bとの位置関係を適切に設定することにより、撮影される画像では、瞳孔112が低輝度で反射して暗くなり、眼球111内に虚像として生じる角膜反射113が高輝度で反射して明るくなる。したがって、瞳孔112及び角膜反射113の画像上の位置を2台のカメラ(右カメラ102a及び左カメラ102b)それぞれで取得することができる。
さらに2台のカメラにより得られる瞳孔112及び角膜反射113の位置から、瞳孔112及び角膜反射113の位置の三次元世界座標値を算出する。本実施形態では、三次元世界座標として、表示部101の画面の中央位置を原点として、上下をY座標(上が+)、横をX座標(向かって右が+)、奥行きをZ座標(手前が+)としている。
図5は、診断支援装置100の機能の概要を示す図である。図5では、図3及び図4に示した構成の一部と、この構成の駆動などに用いられる構成を示している。図5に示すように、診断支援装置100は、右カメラ102aと、左カメラ102bと、左カメラ102b用のLED光源103aと、右カメラ102a用のLED光源103bと、スピーカ205と、駆動・IF(interface)部313と、制御部300と、記憶部150と、表示部101と、を含む。図5において、表示画面201は、右カメラ102a及び左カメラ102bとの位置関係を分かりやすく示しているが、表示画面201は表示部101において表示される画面である。なお、駆動部とIF部とは一体でもよいし、別体でもよい。
スピーカ205は、キャリブレーション時などに、被験者に注意を促すための音声などを出力する音声出力部として機能する。
駆動・IF部313は、ステレオカメラに含まれる各部を駆動する。また、駆動・IF部313は、ステレオカメラに含まれる各部と、制御部300とのインタフェースとなる。
制御部300は、例えば、CPU(Central Processing Unit)などの制御装置と、ROM(Read Only Memory)やRAM(Random Access Memory)などの記憶装置と、ネットワークに接続して通信を行う通信IFと、各部を接続するバスを備えているコンピュータなどにより実現できる。
記憶部150は、制御プログラム、測定結果、診断支援結果など各種情報を記憶する。記憶部150は、例えば、表示部101に表示する画像等を記憶する。表示部101は、診断のための対象画像等、各種情報を表示する。
図6は、図5に示す各部の詳細な機能の一例を示すブロック図である。図6に示すように、制御部300には、表示部101と、駆動・IF部313とが接続される。駆動・IF部313は、カメラIF314,315と、LED駆動制御部316と、スピーカ駆動部322と、を備える。
駆動・IF部313には、カメラIF314,315を介して、それぞれ、右カメラ102a及び左カメラ102bが接続される。駆動・IF部313がこれらのカメラを駆動することにより、被験者を撮像する。右カメラ102aからはフレーム同期信号が出力される。フレーム同期信号は、左カメラ102bとLED駆動制御部316とに入力される。これにより、LED光源103a,103bを発光させ、それに対応して左右カメラによる画像を取り込んでいる。
スピーカ駆動部322は、スピーカ205を駆動する。なお、診断支援装置100が、印刷部としてのプリンタと接続するためのインタフェース(プリンタIF)を備えてもよい。また、プリンタを診断支援装置100の内部に備えるように構成してもよい。
制御部300は、診断支援装置100全体を制御する。制御部300は、点灯制御部351と、位置検出部352と、曲率半径算出部353と、視線検出部354と、視点検出部355と、出力制御部356と、評価部357と、判定部358と、を備えている。
制御部300に含まれる各要素(点灯制御部351、位置検出部352、曲率半径算出部353、視線検出部354、視点検出部355、出力制御部356、評価部357、及び、判定部358)は、ソフトウェア(プログラム)で実現してもよいし、ハードウェア回路で実現してもよいし、ソフトウェアとハードウェア回路とを併用して実現してもよい。
プログラムで実現する場合、当該プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フレキシブ
ルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されてコンピュータプログラムプロダクトとして提供される。プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、プログラムをインターネット等のネットワーク経由で提供又は配布するように構成してもよい。また、プログラムを、ROM等に予め組み込んで提供するように構成してもよい。
点灯制御部351は、LED駆動制御部316を用いて、LED光源103a,103bの点灯を制御する。例えば点灯制御部351は、LED光源103a,103bを、相互に異なるタイミングで点灯するように制御する。タイミングの差(時間)は、例えば、被験者の視線の移動等による視線検出結果への影響が生じない時間として予め定められた時間とすればよい。
位置検出部352は、近赤外光が照射されステレオカメラにより撮像された被験者の左右の眼球の画像から、左右それぞれの眼球の瞳孔を示す瞳孔領域、及び、左右それぞれの眼球の角膜反射を示す角膜反射領域を検出する。また位置検出部352は、瞳孔領域に基づき、左右それぞれの眼球の瞳孔の中心を示す瞳孔中心の位置を検出する。例えば位置検出部352は、瞳孔領域の輪郭上の複数の点を選択し、選択した複数の点を通る円の中心を、瞳孔中心の位置として算出する。同様に、位置検出部352は、角膜反射領域に基づき、左右それぞれの眼球の角膜反射の中心を示す角膜反射中心の位置を検出する。
曲率半径算出部353は、仮想光源位置と角膜反射中心とを結ぶ第1直線から、角膜曲率中心の位置を算出する。また、曲率半径算出部353は、仮想光源位置と角膜反射中心の位置とから、被験者の左右それぞれの眼球の角膜表面と角膜曲率中心との距離である角膜曲率半径を算出する。
曲率半径算出部353は、目標位置を被験者に注視させたときに算出された瞳孔中心及び角膜反射中心を用いて、瞳孔中心と目標位置とを結ぶ第2直線と、角膜反射中心と仮想光源位置とを結ぶ第1直線と、の交点を算出する。算出された交点が、角膜曲率中心である。曲率半径算出部353は、瞳孔中心と角膜曲率中心との距離を算出し、記憶部150に記憶する。また、曲率半径算出部353は、角膜表面と角膜曲率中心との距離である角膜曲率半径を算出し、記憶部150に記憶する。
目標位置は、予め定められ、三次元世界座標値が算出できる位置であればよい。例えば、表示画面201の中央位置(三次元世界座標の原点)を目標位置とすることができる。この場合、例えば出力制御部356が、表示画面201上の目標位置(中央位置)に、被験者に注視させる目標画像等を表示する。これにより、被験者に目標位置を注視させることができる。
目標画像は、被験者を注目させることができる画像であればどのような画像であってもよい。例えば、輝度や色などの表示態様が変化する画像、及び、表示態様が他の領域と異なる画像などを目標画像として用いることができる。
なお、目標位置は表示画面201の中央位置に限られるものではなく、任意の位置でよい。表示画面201の中央位置を目標位置とすれば、表示画面201の任意の端部との距離が最小になる。このため、例えば視線検出時の測定誤差をより小さくすることが可能となる。
瞳孔中心と角膜曲率中心との距離の算出及び角膜曲率半径の算出までの処理は、例えば実際の視線検出を開始するまでに事前に実行しておく。視線検出時には、曲率半径算出部353は、仮想光源位置と角膜反射中心とを結ぶ第1直線上で、瞳孔中心からの距離が、事前に算出した距離となる位置を、角膜曲率中心として算出可能である。曲率半径算出部353は、仮想光源位置と、表示部上の目標画像を示す所定の位置と、瞳孔中心の位置と、角膜反射中心の位置と、から角膜曲率中心の位置を算出し、角膜曲率半径を算出する。
視線検出部354は、瞳孔中心の位置と角膜曲率半径又は角膜曲率中心の位置とから、被験者の左右それぞれの眼球の視線方向を検出する。例えば視線検出部354は、角膜曲率中心から瞳孔中心へ向かう方向を被験者の視線方向として検出する。
視点検出部355は、視線検出部354で検出された視線方向から、被験者の左右それぞれの眼球の視点を検出する。視点検出部355は、例えば、表示画面201で被験者が注視する点である視点(注視点)を検出する。視点検出部355は、例えば図2のような三次元世界座標系で表される視線ベクトルとXY平面との交点を、被験者の視点として検出する。
出力制御部356は、表示部101及びスピーカ205などに対する各種情報の出力を制御する。本実施形態において、出力制御部356は、被験者の左右それぞれの眼球の視線方向を表示部101に表示させる。出力制御部356は、視線検出部354で検出された視線方向を用いて視点検出部355により検出された左右それぞれの眼球の視点を表示部101に表示させる。また、出力制御部356は、表示部101上の目標位置に目標画像を出力させる。また、出力制御部356は、診断画像、及び、評価部357による評価結果などの表示部101に対する出力を制御する。
評価部357は、左右それぞれの眼球の視点の移動軌跡から、左右の眼球それぞれの状態を評価する。例えば、評価部357は、左右それぞれの眼球の視点の移動軌跡から、左右の眼球の動き方を評価したり、左右の眼球のいずれか一方が斜視であるか否かを評価したりする。
判定部358は、視線検出部354で検出された視線方向又は視点検出部355で検出された視点から、左右それぞれの眼球が目標方向を向いているか否かを判定する。例えば、判定部358は、左の眼球の視点の第1移動軌跡及び右の眼球の視点の第2移動軌跡の少なくとも一方に基づいて、左右の眼球が目標方向を向いているか否かを判定する。ここでいう目標方向とは、後述する目標軌跡に沿って左右の眼球が動いている方向のことを指す。
図7は、1つの光源を用いると仮定した場合の処理の概要を説明する図である。図3から図6で説明した要素については同一の符号を付し説明を省略する。図7の例では、2つのLED光源103a,103bの代わりに、1つのLED光源203が用いられる。
瞳孔中心407及び角膜反射中心408は、それぞれ、1つのLED光源203を点灯させた際に検出される瞳孔中心、及び、角膜反射中心を表している。角膜反射中心408は、LED光源203と角膜曲率中心410とを結んだ直線上に存在し、その位置は角膜曲率中心410と角膜表面との中間点に現れる。角膜曲率半径409は、角膜表面から角膜曲率中心410までの距離を表す。LED光源203は、ここでは1個のLEDとしているが、数個の小さいLEDを組み合わせて1ヵ所に配置されたものであっても構わない。
図8は、本実施形態の診断支援装置100により実行される処理の概要を説明する図である。図3から図6で説明した要素については同一の符号を付し説明を省略する。
角膜反射点621は左カメラ102bで撮影したときの画像上の角膜反射点を表す。角膜反射点622は右カメラ102aで撮影したときの画像上の角膜反射点を表す。本実施形態では、右カメラ102aと右カメラ用のLED光源103b、及び、左カメラ102bと左カメラ用のLED光源103aは、例えば右カメラ102aと左カメラ102bの中間位置を通る直線に対して左右対称の位置関係にある。このため、右カメラ102aと左カメラ102bの中間位置(仮想光源位置)に仮想光源303があるとみなすことができる。角膜反射点624は、仮想光源303に対応する角膜反射点を表す。角膜反射点621の座標値と角膜反射点622の座標値を、左右カメラの座標値を三次元世界座標に変換する変換パラメータを用いて変換することにより、角膜反射点624の世界座標値が算出される。仮想光源303と角膜反射点624を結ぶ直線523上に角膜曲率中心505が存在する。角膜曲率中心505の位置及び角膜表面の位置が算出されることにより、角膜曲率半径509が算出される。このように、図7で表した光源が1ヵ所の視線検出方法と同等の方法で視点検出が可能である。
なお右カメラ102aと左カメラ102bとの位置関係、及び、LED光源103aとLED光源103bとの位置関係は、上述の位置関係に限られるものではない。例えば同一の直線に対して、それぞれの位置関係が左右対称となる関係であってもよいし、右カメラ102aと左カメラ102bと、LED光源103aとLED光源103bとは同一直線上になくてもよい。
図9は、視線検出又は視点検出を行う前に、角膜曲率中心615の位置、及び、瞳孔中心611の位置と角膜曲率中心615の位置との距離616を算出するキャリブレーション処理を説明するための図である。図3から図6で説明した要素については同一の符号を付し説明を省略する。
目標位置605は、表示部101上の一点に目標画像等を出して、被験者に見つめさせるための位置である。本実施形態では表示部101の画面の中央位置としている。直線613は、仮想光源303と角膜反射中心612とを結ぶ直線である。直線614は、被験者が見つめる注視点である目標位置605と瞳孔中心611とを結ぶ直線である。角膜曲率中心615は、直線613と直線614との交点である。角膜曲率半径609は、角膜表面と角膜曲率中心615との距離である。曲率半径算出部353は、瞳孔中心611と角膜曲率中心615との距離616及び角膜曲率半径609を算出して記憶部150に記憶する。
図10は、本実施形態のキャリブレーション処理の一例を示すフローチャートである。出力制御部356は、表示部101の画面上の1点に目標画像を再生し(ステップS101)、被験者にその1点を注視させる。次に、点灯制御部351は、LED駆動制御部316を用いてLED光源103a,103bのうち一方を被験者の眼に向けて点灯させる(ステップ102)。制御部300は、左右カメラ(右カメラ102a,左カメラ102b)のうち点灯したLED光源からの距離が長い方のカメラで被験者の眼を撮像する(ステップS103)。次に、点灯制御部351は、LED光源103a,103bのうち他方を被験者の眼に向けて点灯させる(ステップS104)。制御部300は、左右カメラのうち点灯したLED光源からの距離が長い方のカメラで被験者の眼を撮像する(ステップS105)。
なお、点灯したLED光源からの距離が長いカメラ以外のカメラによる撮像を停止しなくてもよい。すなわち、少なくとも点灯したLED光源からの距離が長い方のカメラで被験者の眼を撮像し、撮像した画像が座標算出等に利用可能となっていればよい。
ステップS105の後、左の眼球である左眼についての処理と、右の眼球である右眼についての処理とが別々に実施される。まず、左眼についてのキャリブレーション処理について説明する。
LED光源103a又はLED光源103bの照射により、左眼の瞳孔領域は暗い部分(暗瞳孔)として検出される。またLED照射の反射として、左眼の角膜反射の虚像が発生し、明るい部分として角膜反射点(角膜反射中心)が検出される。すなわち、位置検出部352は、撮像された画像から左眼の瞳孔領域を検出し、左眼の瞳孔中心の位置を示す座標を算出する。位置検出部352は、例えば左眼を含む一定領域の中で最も暗い部分を含む所定の明るさ以下の領域を瞳孔領域として検出し、最も明るい部分を含む所定の明るさ以上の領域を角膜反射として検出する。また、位置検出部352は、撮像された画像から左眼の角膜反射領域を検出し、角膜反射中心の位置を示す座標を算出する。なお、位置検出部352は、左右カメラで取得した2つの画像それぞれに対して、左眼の瞳孔中心の座標値及び角膜反射中心の座標値を算出する(ステップS106L)。
なお、左右カメラは、三次元世界座標を取得するために、事前にステレオ較正法によるカメラ較正が行われており、変換パラメータが算出されている。ステレオ較正法は、Tsaiのカメラキャリブレーション理論を用いた方法など従来から用いられているあらゆる方法を適用できる。
位置検出部352は、この変換パラメータを使用して、左右カメラの座標から、左眼の瞳孔中心と角膜反射中心の三次元世界座標に変換を行う(ステップS107L)。例えば位置検出部352は、LED光源103aが点灯されたときに左カメラ102bにより撮像された画像から得られた座標を左カメラの座標とし、LED光源103bが点灯されたときに右カメラ102aにより撮像された画像から得られた座標を右カメラの座標として、変換パラメータを用いて三次元世界座標への変換を行う。この結果得られる世界座標値は、仮想光源303から光が照射されたと仮定したときに左右カメラで撮像された画像から得られる世界座標値に対応する。曲率半径算出部353は、求めた角膜反射中心の世界座標と、仮想光源303の中心位置の世界座標とを結ぶ直線を求める(ステップS108L)。次に、曲率半径算出部353は、表示部101の画面上の1点に表示される目標画像の中心の世界座標と、左眼の瞳孔中心の世界座標とを結ぶ直線を算出する(ステップS109L)。曲率半径算出部353は、ステップS108Lで算出した直線とステップS109Lで算出した直線との交点を求め、この交点を左眼の角膜曲率中心とする(ステップS110L)。曲率半径算出部353は、このときの瞳孔中心と角膜曲率中心との間の距離を算出して記憶部150に記憶する(ステップS111L)。また、曲率半径算出部353は、左眼の角膜曲率半径を算出する(ステップS112L)。
キャリブレーション処理で表示部101上の1点を見つめる際の瞳孔中心と角膜曲率中心との距離は、表示部101内の視点を検出する範囲で一定に保たれている。瞳孔中心と角膜曲率中心との距離は、目標画像を再生中に算出された値全体の平均から求めてもよいし、再生中に算出された値のうち何回かの値の平均から求めてもよい。
以上、左眼の角膜曲率半径の算出までの手順について説明した。左眼についてのステップS106LからステップS112Lと同様の手順が、右眼についても実施され(ステップS106RからステップS112R)、右眼の角膜曲率半径が算出される。右眼の角膜曲率半径の算出までの手順についての説明は省略する。
左眼の角膜曲率半径が算出され、右眼の角膜曲率半径が算出された後、曲率半径算出部353は、左右の眼球の角膜曲率半径を平均化する(ステップS113)。すなわち、左眼の角膜曲率半径をr1、右眼の角膜曲率半径をr2とした場合、曲率半径算出部353は、(r1+r2)/2の演算を実施して、平均化された角膜曲率半径raを算出する。曲率半径算出部353は、平均化された角膜曲率半径raを記憶部150に記憶する(ステップS114)。
図11は、視点検出を行う際に、事前に求めた瞳孔中心と角膜曲率中心との距離を使用して、補正された角膜曲率中心の位置を算出する方法を示した図である。注視点805は、一般的な曲率半径値を用いて算出した角膜曲率中心から求めた注視点を表す。注視点806は、事前に求めた距離を用いて算出した角膜曲率中心から求めた注視点を表す。
瞳孔中心811及び角膜反射中心812は、それぞれ、視点検出時に算出された瞳孔中心の位置、及び、角膜反射中心の位置を示す。直線813は、仮想光源303と角膜反射中心812とを結ぶ直線である。角膜曲率中心814は、一般的な曲率半径値から算出した角膜曲率中心の位置である。距離815は、事前のキャリブレーション処理により算出した瞳孔中心と角膜曲率中心との距離である。角膜曲率中心816は、事前に求めた距離を用いて算出した角膜曲率中心の位置である。角膜曲率中心816は、角膜曲率中心が直線813上に存在すること、及び、瞳孔中心と角膜曲率中心との距離が距離815であることから求められる。これにより一般的な曲率半径値を用いる場合に算出される視線817は、視線818に補正される。また、表示部101の画面上の注視点は、注視点805から注視点806に補正される。
図12は、本実施形態の視線検出処理の一例を示すフローチャートである。まず、図12に示すステップS201からステップS204までの処理が実施される。ステップS201からステップS204は、図10のステップS102からステップS104と同様であるため説明を省略する。
ステップS204の後、左の眼球である左眼についての処理と、右の眼球である右眼についての処理とが別々に実施される。まず、左眼についての視線検出処理について説明する。なお、図12に示すステップS205LからステップS207Lまでの処理は、図10のステップS106LからステップS108Lまでの処理と同様であるため説明を省略する。
曲率半径算出部353は、ステップS207Lで算出した直線上であって、図10のステップS114で記憶部150に記憶した角膜曲率半径raの角膜曲率中心と等しい位置を左眼の角膜曲率中心として算出する(ステップS208L)。
視線検出部354は、左眼の瞳孔中心と角膜曲率中心とを結ぶ視線ベクトルを求める(ステップS209L)。このベクトルが、被験者の左眼が見ている視線方向を示している。視点検出部355は、この視線方向と表示部101の画面との交点の三次元世界座標値を算出する(ステップS210L)。この値が、被験者の左眼が注視する表示部101上の1点を世界座標で表した座標値である。視点検出部355は、求めた三次元世界座標値を、表示部101の二次元座標系で表される座標値(x,y)に変換する(ステップS211L)。これにより、被験者の左眼が見つめる表示部101上の視点(注視点)が算出される。
以上、左眼の視点の算出までの手順について説明した。左眼についてのステップS205LからステップS211Lと同様の手順が、右眼についても実施され(ステップS205RからステップS211R)、右眼の視点が算出される。右眼の視点の算出までの手順についての説明は省略する。
左眼の視線方向及び視点が算出され、右眼の視線方向及び視点が算出された後、視点検出部355は、左右の眼球の視点を平均化する(ステップS212)。すなわち、左眼の注視点の座標値が(x1,y1)であり、右眼の注視点の座標値が(x2,y2)である場合、視点検出部355は、(x1+x2)/2の演算を実施して平均化されたX座標xaを算出し、(y1+y2)/2の演算を実施して平均化されたY座標yaを算出する。出力制御部356は、平均化された視点の座標値(xa,ya)を表示部101に表示する(ステップS213)。
図13は、ステップS213において出力制御部356により表示部101に表示される視点の一例を示す図である。図15に示すように、表示部101には、指標画像C1,C2,C3,C4、C5が表示される。被験者の眼球の動き方を評価するために、左右両方の眼球の視点が、指標画像C1、C2,C3,C4,C5の順番で移動するように、被験者に指示がなされる。
左右両方の眼球の平均化された視点を示すプロット点Pが表示部101に表示される。視点の検出が実施された後、診断支援装置100に設けられた操作入力部が操作者又は被験者によって操作され、その操作によりプロット点Pが表示部101に表示される。視点の検出は、左右カメラから出力されるフレーム同期信号の周期(例えば50[msec]毎)に実施される。したがって、プロット点Pの間隔が大きいほど視点の動きが速いことを示す。
図10及び図12を参照して説明した処理は、左右の眼球の角膜曲率半径を平均化し、左右の眼球の視線方向又は視点を平均化している。角膜曲率半径が左右の眼球で同じ値であるとの仮定のもと左右の眼球の角膜曲率半径が平均化され、左右の眼球の視線方向は同じであるとの仮定のもと左右の眼球の視点が平均化される。角膜曲率半径が左右の眼球でほぼ等しい被験者の場合、又は左右の眼球の視線方向がほぼ等しい被験者の場合には、図10及び図12を参照して説明した処理でも視線方向を正確に検出することが可能である。しかし、角膜曲率半径(角膜曲率中心の位置)が左右の眼球で大きく異なる被験者、又は斜視などの影響により左右の眼球の視線方向が大きく異なる被験者について、左右の眼球の角膜曲率半径を平均化したり、左右の眼球の視線方向又は視点を平均化したりすると、正しい視線方向又は視点を検出することが困難となる。
そこで、本実施形態においては、制御部300は、左眼の角膜曲率半径と右眼の角膜曲率半径とを記憶部150に個別に記憶し、左眼の視線方向又は視点と右眼の視線方向又は視点とを表示部101に個別に表示させる。
図14は、左右の眼球の角膜曲率半径を個別に記憶部150に記憶させるときのキャリブレーション処理の一例を示すフローチャートである。図15は、左右の眼球の視点を表示部101に個別に表示させるときの視線検出処理の一例を示すフローチャートである。
まず、図14を参照して、本実施形態に係るキャリブレーション処理について説明する。ステップS301からステップS305までの処理は、図10を参照して説明したステップS101からステップS105までの処理と同様であるため説明を省略する。左眼についてのステップS306LからステップS312Lまでの処理は、図10を参照して説明したステップS106LからステップS112Lまでの処理と同様であるため説明を省略する。右眼についてのステップS306RからステップS312Rまでの処理は、図10を参照して説明したステップS106RからステップS112Rまでの処理と同様であるため説明を省略する。
曲率半径算出部353は、被験者の左眼の角膜曲率半径r1を算出し(ステップS312L)、算出した右眼の角膜曲率半径r1を記憶部150に記憶する(ステップS313L)。また、曲率半径算出部353は、被験者の右眼の角膜曲率半径r2を算出し(ステップS312R)、算出した右眼の角膜曲率半径r2を記憶部150に記憶する(ステップS313R)。
次に、図15を参照して、本実施形態に係る視線検出処理について説明する。ステップS401からステップS404までの処理は、図12を参照して説明したステップS201からステップS204までの処理と同様であるため説明を省略する。左眼についてのステップS405LからステップS407Lまでの処理は、図12を参照して説明したステップS205LからステップS207Lまでの処理と同様であるため説明を省略する。右眼についてのステップS405RからステップS407Rまでの処理は、図10を参照して説明したステップS205RからステップS207Rまでの処理と同様であるため説明を省略する。
視線検出部354は、被験者の左眼の瞳孔中心及び角膜反射中心の世界座標値を算出し、図14のステップS313Lで記憶部150に記憶した角膜曲率半径r1に基づいて、被験者の左眼の角膜曲率中心を算出する(ステップS408L)。
視線検出部354は、左眼の瞳孔中心と角膜曲率中心とを結ぶ視線ベクトルを求める(ステップS409L)。視点検出部355は、左眼の視線ベクトルと表示部101の画面との交点の三次元世界座標値を算出する(ステップS410L)。視点検出部355は、求めた三次元世界座標値を、表示部101の二次元座標系で表される座標値(x1,y1)に変換する。これにより、被験者の左眼が見つめる表示部101上の視点の位置が算出される(ステップS411L)。出力制御部356は、ステップS411Lで算出された左眼の視点の座標値(x1,y1)を表示部101に表示する(ステップS412L)。
また、視線検出部354は、被験者の右眼の瞳孔中心及び角膜反射中心の世界座標値を算出し、図14のステップS313Rで記憶部150に記憶した角膜曲率半径r2に基づいて、被験者の右眼の角膜曲率中心を算出する(ステップS408R)。
視線検出部354は、右眼の瞳孔中心と角膜曲率中心とを結ぶ視線ベクトルを求める(ステップS409R)。視点検出部355は、右眼の視線ベクトルと表示部101の画面との交点の三次元世界座標値を算出する(ステップS410R)。視点検出部355は、求めた三次元世界座標値を、表示部101の二次元座標系で表される座標値(x2,y2)に変換する。これにより、被験者の右眼が見つめる表示部101上の視点の位置が算出される(ステップS411R)。出力制御部356は、ステップS411Rで算出された右眼の視点の座標値(x2,y2)を表示部101に表示する(ステップS412R)。
図16は、ステップS412L,S412Rにおいて出力制御部356により表示部101に表示される視点の一例を示す図である。表示部101には、指標画像C1,C2,C3,C4、C5が表示される。被験者の眼球の動き方を評価するために、左右両方の眼球の視点が、指標画像C1、C2,C3,C4,C5の順番で移動するように、被験者に指示がなされる。
視点の検出が実施された後、診断支援装置100に設けられた操作入力部が操作者又は被験者によって操作され、その操作により左眼の視点を示すプロット点P1と、右眼の視点を示すプロット点P2とが、表示部101に別々に表示される。
図16に示すように、出力制御部356は、左右それぞれの眼球の視点を示すプロット点P1,P2を異なる態様で表示部101に表示させる。表示部101に表示されるプロット点P1,P2の態様は、色、形、及び大きさの少なくとも一つを含む。例えば、プロット点P1が「青」で表示され、プロット点P2が「グレー」で表示されてもよいし、プロット点P1が「○」で表示され、プロット点P2が「×」で表示されてもよいし、プロット点P1が大きい「○」で表示され、プロット点P2が小さい「○」で表示されてもよい。
また、図17に示すように、出力制御部356は、左眼の視点を示すプロット点P1と右眼の視点を示すプロット点P2との表示態様を切り替えることができる。例えば、図16に示した例において、プロット点P1が「青」で表示され、プロット点P2が「グレー」で表示されている場合、出力制御部356は、図17に示すように、プロット点P1を「グレー」で表示し、プロット点P2を「青」で表示することができる。同様に、出力制御部356は、プロット点P1が「○」で表示され、プロット点P2が「×」で表示されている状態から、プロット点P1が「×」で表示され、プロット点P2が「○」で表示されている状態へ切り替えることができる。
左右それぞれの眼球の視点が異なる態様で表示部101に表示されることにより、操作者又は被験者は、どちらのプロット点が左眼の視点又は右眼の視点を表しているのかを容易に知ることができる。
図18は、本実施形態に係る表示部101の一部を拡大した図である。例えば、斜視などの影響により左右の眼球の視線方向が大きく異なる被験者においては、図18に示すように、左眼の視点を示すプロット点P1の第1移動軌跡T1と、右眼の視点を示すプロット点P2の第2移動軌跡T2とが大きく異なる可能性が高い。図18に示すように、例えば指標画像C2から指標画像C3に視点が移動するように被験者が指示された場合において、右眼が斜視である場合、斜視でない方の左眼の注視点を示すプロット点P1の第1移動軌跡T1は、指標画像C2と指標画像C3とを結ぶ直線状の目標軌跡Trに沿って移動するのに対し、斜視である方の右眼の注視点を示すプロット点P2の第2移動軌跡T2は、目標軌跡Trから大きく逸脱する可能性が高い。第1移動軌跡T1と第2移動軌跡T2とが大きく異なる被験者について左右の眼球の注視点が平均化された注視点Paが算出されると、その注視点Paの移動軌跡Taは、正しい第1移動軌跡T1から外れてしまい、正しい視線方向又は視点を検出することが困難となる。
また、例えば、右眼が斜視である場合であって、表示画面の右側に物体A、左側に物体Bが表示されたとき、右眼の視点が物体A付近にあるときには、左眼の視点は表示画面上において物体Aより左側に存在することとなる。同様に、左眼の視点が物体B付近にあるときには、右眼の視点は表示画面上において物体Bより右側に存在することとなる。それら視点の位置を平均化すると、平均化された視点は物体A,B上に存在しないこととなり、正確な診断を実施できないこととなる。
本実施形態によれば、左右それぞれの眼球の角膜曲率半径が記憶部150に記憶され、視線方向又は視点の位置が表示部101に個別に表示される。そのため、正確な診断を実施することができる。
次に、本実施形態に係る左右の眼球のそれぞれの状態の評価方法について説明する。図19は、本実施形態に係る評価方法の一例を示すフローチャートである。図20は、本実施形態に係る評価方法の一例を説明するための模式図である。
視点検出部355は、左眼の視点を示すプロット点P1の第1移動軌跡T1と、右眼の視点を示すプロット点P2の第2移動軌跡T2とのそれぞれを算出する(ステップS501)。視点検出部355は、予め決められた期間又は視点の移動距離における、複数のプロット点P1を抽出し、それら複数のプロット点P1をフィッティング処理して、第1移動軌跡T1を算出する。同様に、視点検出部355は、抽出した複数のプロット点P2をフィッティング処理して、第2移動軌跡T2を算出する。
例えば図20に示すように、予め決められた期間又は視点の移動距離において、7つのプロット点p1が抽出され、7つのプロット点p2が抽出された場合、視点検出部355は、7つのプロット点P1をフィッティング処理して第1移動軌跡T1を示す曲線を求め、7つのプロット点P2をフィッティング処理して第2移動軌跡T2を示す曲線を求める。
視点検出部355は、第1移動軌跡T1と第2移動軌跡T2とで規定される面積ATを算出する(ステップS502)。具体的には、視点検出部355は、予め決められた期間又は移動距離の始点に最も近いプロット点P1とプロット点P2とを結ぶ直線と、その期間又は移動距離の終点に最も近いプロット点P1とプロット点P2とを結ぶ直線と、第1移動軌跡T1を示す曲線と、第2移動軌跡T2を示す曲線とで囲まれた領域の面積ATを算出する。
判定部358は、ステップS502で算出された面積ATが予め決められている閾値以上であるか否かを判定する(ステップS503)。
ステップS503において、面積ATは閾値以上であると判定された場合(ステップS503:Yes)、判定部358は、左右の眼球の少なくとも一方が目標方向を向いていないと判定する。
評価部357は、左右それぞれの眼球の視点の移動軌跡T1,T2から、左右の眼球それぞれの状態を評価する。評価部357は、第1移動軌跡T1と第2移動軌跡T2と目標移動軌跡Trとを比べて、目標移動軌跡Trからの第1移動軌跡T1の逸脱量(シフト量)が小さく、目標移動軌跡Trからの第2移動軌跡T2の逸脱量が大きく、且つ、面積ATが閾値以上である場合、評価部357は、右眼の状態が斜視のような何らかの非正常状態であると評価する(ステップS504)。
判定部358において左右のいずれか一方の眼球が目標方向を向いていないと判定されたとき、出力制御部356は、左眼の視点を示すプロット点P1と右眼の視点を示すプロット点P2とを別々に表示部101に表示させる。
本実施形態においては、判定部358において左右のいずれか一方の眼球が目標方向を向いていないと判定されたとき、出力制御部356は、目標方向を向いていないと判定された眼球の視線方向又は視点と、目標方向を向いていると判定された眼球の視線方向又は視点とを異なる態様で表示部101に表示させる(ステップS505)。例えば、左眼が目標方向を向いており、右眼が目標方向を向いていない(斜視である)と判定された場合、出力制御部356は、プロット点P1を高い明度で表示したり、プロット点P1を大きく表示したり、プロット点P1を連続点灯表示させたりして、強調表示させ、プロット点P2を低い明度で表示したり、プロット点P2を小さく表示したり、プロット点P2を点滅表示させたりすることができる。また、出力制御部356は、プロット点P1を表示し、プロット点P2を表示しないようにしてもよい。
ステップS503において、面積ATは閾値よりも小さいと判定された場合(ステップS503:No)、判定部358は、左右両方の眼球が目標方向を向いていると判定する。すなわち、判定部358は、左眼の視線方向と右眼の視線方向とは一致していると判定する。
評価部357は、第1移動軌跡T1と第2移動軌跡T2と目標移動軌跡Trとを比べて、目標移動軌跡Trからの第1移動軌跡T1の逸脱量及び第2移動軌跡T2の逸脱量が小さく、且つ、面積ATが閾値よりも小さい場合、評価部357は、被験者は斜視ではなく、左右それぞれの眼球は正常状態であると評価する(ステップS506)。
判定部358において左右両方の眼球が目標方向を向いていると判定されたとき、出力制御部356は、左の眼球の視線方向と左の眼球の視線方向とが合成された合成視線方向を表示部101に表示させる(ステップS507)。すなわち、本実施形態においては、被験者が斜視ではないと判定されたとき、出力制御部356は、左眼の視点と右眼の視点とを別々に表示するのではなく、図13等を参照して説明したように、右の眼球の視点の位置と左の眼球の視点の位置とを平均化し、右の眼球の視線方向と左の眼球の視線方向とが合成された合成視線方向を表示部101に表示させる。
なお、判定部358において左右両方の眼球が目標方向を向いていると判定されたときにおいても、出力制御部356は、左の眼球の視線方向又は視点と右の眼球の視線方向又は視点とを別々に表示部101に表示させてもよい。
以上説明したように、本実施形態によれば、左右それぞれの眼球の角膜曲率半径が算出されて別々に記憶部150に記憶され、左右それぞれの眼球の視線方向が検出されて別々に表示部101に表示される。これにより、左右の眼球の視線方向が大きく異なる被験者及び左右の眼球の視線方向がほぼ等しい被験者の両方について、視線方向を正確に検出することができる。
また、本実施形態によれば、左眼の視線方向又は視点と、右眼の視点方向又は視点との両方が表示部101に表示される。したがって、操作者又は被験者は、表示部101を見て左眼の状態及び右眼の状態をそれぞれ把握することができる。
また、本実施形態においては、左眼の視点と右眼の視点とが表示部101において異なる態様で表示されることにより、操作者又は被験者は、表示部101を見て、左眼の視点と右眼の視点とを容易に区別することができる。
また、本実施形態においては、左眼の視点の第1移動軌跡T1と右眼の視点の第2移動軌跡T2とがそれぞれ算出されることにより、左眼の状態と右眼の状態とを個別に評価することができる。
また、本実施形態においては、左眼の視線方向及び右眼の視線方向が別々に検出されることにより、左右それぞれの眼球が目標方向に向いているか否かを判定することができ、左右のいずれか一方の眼球が目標方向を向いていないと判定されたとき、目標方向を向いていないと判定された眼球の視線方向と、目標方向を向いていると判定された眼球の視線方向とを異なる態様で表示部101に表示させる。これにより、操作者又は被験者は、表示部101を見て左眼及び右眼のうちどちらの眼が目標方向を向いていないのかを容易に把握することができる。また、目標方向を向いていると判定された方の眼の視点を強調表示したり、目標方向を向いていない判定された方の眼の視点を表示しないようにしたりすることにより、操作者又は被験者は、表示部101を見て正常な状態の方の眼の視点を円滑に把握することができる。
また、本実施形態においては、左右両方の眼球が目標方向を向いていると判定されたときには、右の眼球の視線方向と左の眼球の視線方向とが合成された合成視線方向(平均化された視点)が表示部101に表示される。これにより、操作者又は被験者は、斜視ではない被験者の視線の動きを把握することができる。
また、本実施形態においては、左眼の視点の第1移動軌跡T1と、右眼の視点の第2移動軌跡T2と、第1移動軌跡T1と第2移動軌跡T2とで規定される面積ATとに基づいて、左右両方の眼球が目標方向を向いているか否かを正確に判定することができる。
なお、本実施形態においては、被験者が斜視であるか否かを評価する例について主に説明した。被験者が斜視でない場合においても、評価部357は、左右それぞれの眼球の視点の移動軌跡から、左右の眼球それぞれの状態を評価することができる。例えば図21に示すように、評価部357は、プロット点P1からその隣のプロット点P1へ向かうベクトルに基づいて、左眼の動き方を評価することができるし、プロット点P2からその隣のプロット点P2へ向かうベクトルに基づいて、右眼の動き方を評価することができる。プロット点P1とプロット点P2との両方が表示されるので、左眼の動き方と右眼の動き方とを別々に評価することができる。また、左眼の視点の動き及び右眼の視点の動きの少なくとも一方がぶれてしまい、図21に示すように、第1移動軌跡T1と第2移動軌跡T2とが交差する場合がある。また、左右の眼のまばたきの長さの違い又はタイミングの違いにより、所定の期間又は視線の移動距離において、取得されるプロット点の数が左眼と右眼とで異なる可能性がある。その場合、被験者の視点は、第1移動軌跡T1の一部と第2移動軌跡T2の一部とを含む直線状のラインTsに沿って動いたと評価されてもよい。
(変形例)
瞳孔中心位置と角膜曲率中心位置との距離を算出するキャリブレーション処理は、図9及び図10で説明した方法に限られるものではない。以下では、算出処理の他の例について図22及び図23を用いて説明する。
図22は、本変形例の算出処理を説明するための図である。図3から図6及び図9で説明した要素については同一の符号を付し説明を省略する。
線分1101は、目標位置605と仮想光源位置とを結ぶ線分(第1線分)である。線分1102は、線分1101と平行で、瞳孔中心611と直線613とを結ぶ線分(第2線分)である。本変形例では、以下のように、線分1101、線分1102を用いて瞳孔中心611と角膜曲率中心615との距離616を算出して記憶しておく。
図23は、本変形例の算出処理の一例を示すフローチャートである。なお、図23は、左右の眼球のうち一方の眼球についての処理を示す。
ステップS601からステップS609は、図10のステップS101LからステップS109Lと同様であるため説明を省略する。
曲率半径算出部353は、表示部101の画面上の1点に表示される目標画像の中心と、仮想光源位置とを結ぶ線分(図22では線分1101)を算出するとともに、算出した線分の長さ(L1101とする)を算出する(ステップS610)。
曲率半径算出部353は、瞳孔中心611を通り、ステップS610で算出した線分と平行な線分(図22では線分1102)を算出するとともに、算出した線分の長さ(L1102とする)を算出する(ステップS611)。
曲率半径算出部353は、角膜曲率中心615を頂点とし、ステップS610で算出した線分を下辺とする三角形と、角膜曲率中心615を頂点とし、ステップS311で算出した線分を下辺とする三角形とが相似関係にあることに基づき、瞳孔中心611と角膜曲率中心615との間の距離616を算出する(ステップS612)。例えば曲率半径算出部353は、線分1101の長さに対する線分1102の長さの比率と、目標位置605と角膜曲率中心615との間の距離に対する距離616の比率と、が等しくなるように、距離616を算出する。
距離616は、以下の(1)式により算出することができる。なおL614は、目標位置605から瞳孔中心611までの距離である。
距離616=(L614×L1102)/(L1101−L1102)・・・(1)
曲率半径算出部353は、算出した距離616を記憶部150などに記憶する(ステップS613)。記憶された距離は、その後の視点(視線)検出時に、角膜曲率中心を算出するために使用される。