(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024090775
(43)【公開日】2024-07-04
(54)【発明の名称】視線検出装置、視線検出方法及び視線検出プログラム
(51)【国際特許分類】
A61B 3/113 20060101AFI20240627BHJP
A61B 3/107 20060101ALI20240627BHJP
【FI】
A61B3/113
A61B3/107
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2022206874
(22)【出願日】2022-12-23
(71)【出願人】
【識別番号】308036402
【氏名又は名称】株式会社JVCケンウッド
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】箱嶋 修二
【テーマコード(参考)】
4C316
【Fターム(参考)】
4C316AA03
4C316AA06
4C316AA21
4C316AA24
4C316FB05
4C316FB26
4C316FZ01
(57)【要約】
【課題】角膜曲率半径を用いた視線検出において、検出精度の低下を抑制する。
【解決手段】視線検出装置は、検出光を被験者の眼球に照射する光源と、検出光が照射された眼球の画像を撮像する撮像部と、撮像された画像から、瞳孔中心の位置と角膜反射中心の位置とを検出する位置検出部と、角膜上の位置と角膜曲率半径との関係を示す曲率半径テーブルに基づいて、検出された角膜反射中心の位置に対応する角膜曲率半径を導出する角膜曲率半径導出部と、検出された角膜反射中心の位置と、導出された角膜曲率半径とを用いて被験者の視線を算出する視線処理部とを備え、視線処理部は、光源と角膜反射中心とを結ぶ直線を算出し、算出した直線上で、角膜反射中心から光源とは反対の方向に角膜曲率半径導出部によって導出された角膜曲率半径に対応する距離だけ離れた位置を角膜曲率中心として算出し、角膜曲率中心と瞳孔中心とを結ぶ視線ベクトルを視線として算出する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
検出光を発光して被験者の少なくとも一方の眼球に照射する光源と、
前記検出光が照射された眼球の画像を撮像する撮像部と、
撮像された前記画像から、前記検出光が照射された眼球の瞳孔の中心を示す瞳孔中心の位置と角膜反射の中心を示す角膜反射中心の位置とを検出する位置検出部と、
角膜上の位置と角膜曲率半径との関係を示す曲率半径テーブルに基づいて、検出された前記角膜反射中心の位置に対応する角膜曲率半径を導出する角膜曲率半径導出部と、
検出された前記角膜反射中心の位置と、導出された前記角膜曲率半径とを用いて前記被験者の視線を算出する視線処理部と
を備え、
前記視線処理部は、
前記光源と前記角膜反射中心とを結ぶ直線を算出し、
算出した前記直線上で、前記角膜反射中心から前記光源とは反対の方向に前記角膜曲率半径導出部によって導出された前記角膜曲率半径に対応する距離だけ離れた位置を角膜曲率中心として算出し、
前記角膜曲率中心と前記瞳孔中心とを結ぶ視線ベクトルを前記視線として算出する
視線検出装置。
【請求項2】
前記光源は、異なる位置に2つ配置され、
前記位置検出部は、2つの前記光源による前記被験者の眼球の2つの前記角膜反射から、それぞれ角膜反射中心の位置を検出し、
前記位置検出部が検出した2つの前記角膜反射中心間の距離と、前記撮像部と前記被験者との距離とに基づいて前記角膜曲率半径を算出し、算出した前記角膜曲率半径を用いて前記曲率半径テーブルを生成するテーブル生成部を更に備える
請求項1に記載の視線検出装置。
【請求項3】
前記テーブル生成部は、
前記角膜上の位置として前記瞳孔中心の位置を中心としたグリッドを設定し、
前記グリッドのうち2つの前記角膜反射中心の位置に対応する部位に、算出した前記角膜曲率半径を対応付けた情報を前記曲率半径テーブルとして生成し、
前記グリッドに前記瞳孔中心を中心とした径が異なる複数の同心円を設定し、複数の同心円で区画される複数の領域について同一の前記領域に存在する前記部位同士の前記角膜曲率半径が同一の値となるように前記曲率半径テーブルを補間する
請求項2に記載の視線検出装置。
【請求項4】
光源から検出光を発光して被験者の少なくとも一方の眼球に照射することと、
前記検出光が照射された眼球の画像を撮像することと、
撮像された前記画像から、前記検出光が照射された眼球の瞳孔の中心を示す瞳孔中心の位置と角膜反射の中心を示す角膜反射中心の位置とを検出することと、
角膜上の位置と角膜曲率半径との関係を示す曲率半径テーブルに基づいて、検出された前記角膜反射中心の位置に対応する角膜曲率半径を導出することと、
検出された前記角膜反射中心の位置と、導出された前記角膜曲率半径とを用いて前記被験者の視線を算出することと
を含み、
前記視線の算出においては、
前記光源と前記角膜反射中心とを結ぶ直線を算出し、
算出した前記直線上で、前記角膜反射中心から前記光源とは反対の方向に前記角膜曲率半径に対応する距離だけ離れた位置を角膜曲率中心として算出し、
前記角膜曲率中心と前記瞳孔中心とを結ぶ視線ベクトルを前記視線として算出する
視線検出方法。
【請求項5】
光源から検出光を発光して被験者の少なくとも一方の眼球に照射する処理と、
前記検出光が照射された眼球の画像を撮像する処理と、
撮像された前記画像から、前記検出光が照射された眼球の瞳孔の中心を示す瞳孔中心の位置と角膜反射の中心を示す角膜反射中心の位置とを検出する処理と、
角膜上の位置と角膜曲率半径との関係を示す曲率半径テーブルに基づいて、検出された前記角膜反射中心の位置に対応する角膜曲率半径を導出する処理と、
検出された前記角膜反射中心の位置と、導出された前記角膜曲率半径とを用いて前記被験者の視線を算出する処理と
をコンピュータに実行させ、
前記視線を算出する処理では、
前記光源と前記角膜反射中心とを結ぶ直線を算出する処理と、
算出した前記直線上で、前記角膜反射中心から前記光源とは反対の方向に前記角膜曲率半径に対応する距離だけ離れた位置を角膜曲率中心として算出する処理と、
前記角膜曲率中心と前記瞳孔中心とを結ぶ視線ベクトルを前記視線として算出する処理とを前記コンピュータに実行させる
視線検出プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、視線検出装置、視線検出方法及び視線検出プログラムに関する。
【背景技術】
【0002】
光源で検出光を発光して被験者の眼球に照射し、検出光が照射された眼球の画像を取得し、取得した画像における瞳孔の像と検出光の反射像とに基づいて、瞳孔中心及び角膜曲率中心を算出し、角膜曲率中心から瞳孔中心へ向かうベクトルを被験者の視線方向として検出する視線検出装置が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のような視線検出装置では、被験者の角膜形状が球の一部と等価であるという前提で角膜曲率中心を算出している。しかしながら、実際の角膜形状は、球の一部ではなく複雑な形状であるため、角膜曲率半径を用いた視線検出において、視線の検出精度が低下する可能性がある。
【0005】
本発明は、上記に鑑みてなされたものであり、角膜曲率半径を用いた視線検出において、検出精度の低下を抑制することが可能な視線検出装置、視線検出方法及び視線検出プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明に係る視線検出装置は、検出光を発光して被験者の少なくとも一方の眼球に照射する光源と、前記検出光が照射された眼球の画像を撮像する撮像部と、撮像された前記画像から、前記検出光が照射された眼球の瞳孔の中心を示す瞳孔中心の位置と角膜反射の中心を示す角膜反射中心の位置とを検出する位置検出部と、角膜上の位置と角膜曲率半径との関係を示す曲率半径テーブルに基づいて、検出された前記角膜反射中心の位置に対応する角膜曲率半径を導出する角膜曲率半径導出部と、検出された前記角膜反射中心の位置と、導出された前記角膜曲率半径とを用いて前記被験者の視線を算出する視線処理部とを備え、前記視線処理部は、前記光源と前記角膜反射中心とを結ぶ直線を算出し、算出した前記直線上で、前記角膜反射中心から前記光源とは反対の方向に前記角膜曲率半径導出部によって導出された前記角膜曲率半径に対応する距離だけ離れた位置を角膜曲率中心として算出し、前記角膜曲率中心と前記瞳孔中心とを結ぶ視線ベクトルを前記視線として算出する。
【0007】
本発明に係る視線検出方法は、光源から検出光を発光して被験者の少なくとも一方の眼球に照射することと、前記検出光が照射された眼球の画像を撮像することと、撮像された前記画像から、前記検出光が照射された眼球の瞳孔の中心を示す瞳孔中心の位置と角膜反射の中心を示す角膜反射中心の位置とを検出することと、角膜上の位置と角膜曲率半径との関係を示す曲率半径テーブルに基づいて、検出された前記角膜反射中心の位置に対応する角膜曲率半径を導出することと、検出された前記角膜反射中心の位置と、導出された前記角膜曲率半径とを用いて前記被験者の視線を算出することとを含み、前記視線の算出においては、前記光源と前記角膜反射中心とを結ぶ直線を算出し、算出した前記直線上で、前記角膜反射中心から前記光源とは反対の方向に前記角膜曲率半径に対応する距離だけ離れた位置を角膜曲率中心として算出し、前記角膜曲率中心と前記瞳孔中心とを結ぶ視線ベクトルを前記視線として算出する。
【0008】
本発明に係る視線検出プログラムは、光源から検出光を発光して被験者の少なくとも一方の眼球に照射する処理と、前記検出光が照射された眼球の画像を撮像する処理と、撮像された前記画像から、前記検出光が照射された眼球の瞳孔の中心を示す瞳孔中心の位置と角膜反射の中心を示す角膜反射中心の位置とを検出する処理と、角膜上の位置と角膜曲率半径との関係を示す曲率半径テーブルに基づいて、検出された前記角膜反射中心の位置に対応する角膜曲率半径を導出する処理と、検出された前記角膜反射中心の位置と、導出された前記角膜曲率半径とを用いて前記被験者の視線を算出する処理とをコンピュータに実行させ、前記視線を算出する処理では、前記光源と前記角膜反射中心とを結ぶ直線を算出する処理と、算出した前記直線上で、前記角膜反射中心から前記光源とは反対の方向に前記角膜曲率半径に対応する距離だけ離れた位置を角膜曲率中心として算出する処理と、前記角膜曲率中心と前記瞳孔中心とを結ぶ視線ベクトルを前記視線として算出する処理とを前記コンピュータに実行させる。
【発明の効果】
【0009】
本発明によれば、角膜曲率半径を用いた視線検出において、検出精度の低下を抑制することが可能な視線検出装置、視線検出方法及び視線検出プログラムを提供することができる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、本実施形態に係る視線検出装置の一例を模式的に示す図である。
【
図2】
図2は、視線検出装置の一例を示す機能ブロック図である。
【
図3】
図3は、本実施形態で用いられる曲率半径テーブルの一例を示す模式図である。
【
図4】
図4は、本実施形態の視線検出装置において被験者の視線を検出する原理を模式的に示す図である。
【
図5】
図5は、光源部からの検出光が被験者の眼球に照射される状態を模式的に示す図である。
【
図6】
図6は、光源部からの検出光が被験者の眼球に照射される状態を模式的に示す図である。
【
図7】
図7は、光源部、撮像部及び被験者の眼球の位置関係の一例を示す図である。
【
図8】
図8は、撮像部により撮像された眼球の画像データの一例を示す図である。
【
図9】
図9は、曲率半径テーブルの生成過程の一例を模式的に示す図である。
【
図10】
図10は、眼球を正面から見た一例を模式的に示す図である。
【
図11】
図11は、テーブル生成部による補間処理の一例を模式的に示す図である。
【
図12】
図12は、本実施形態に係る視線検出方法における視線検出処理の一例を示すフローチャートである。
【
図13】
図13は、曲率半径テーブルを生成する処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、本発明に係る視線検出装置、視線検出方法及び視線検出プログラムの実施形態を図面に基づいて説明する。なお、この実施形態によりこの発明が限定されるものではない。また、下記実施形態における構成要素には、当業者が置換可能かつ容易なもの、あるいは実質的に同一のものが含まれる。
【0012】
以下の説明においては、三次元グローバル座標系を設定して各部の位置関係について説明する。所定面の第1軸と平行な方向をX軸方向とし、第1軸と直交する所定面の第2軸と平行な方向をY軸方向とし、第1軸及び第2軸のそれぞれと直交する第3軸と平行な方向をZ軸方向とする。所定面はXY平面を含む。
【0013】
[視線検出装置]
図1は、本実施形態に係る視線検出装置100の一例を模式的に示す図である。本実施形態に係る視線検出装置100は、被験者の視線を検出し、検出結果を出力する。視線検出装置100は、例えば被験者の瞳孔の位置と角膜反射像の位置とに基づいて視線を検出する。
【0014】
図1に示すように、視線検出装置100は、表示装置10と、画像取得装置20と、コンピュータシステム30と、出力装置40と、入力装置50と、入出力インターフェース装置60とを備える。表示装置10、画像取得装置20、コンピュータシステム30、出力装置40及び入力装置50は、入出力インターフェース装置60を介してデータ通信を行う。表示装置10及び画像取得装置20は、それぞれ不図示の駆動回路を有する。
【0015】
表示装置10は、液晶ディスプレイ(liquid crystal display:LCD)又は有機ELディスプレイ(organic electroluminescence display:OLED)のようなフラットパネルディスプレイを含む。本実施形態において、表示装置10は、表示部11を有する。表示部11は、画像等の情報を表示する。表示部11は、XY平面と実質的に平行である。X軸方向は表示部11の左右方向であり、Y軸方向は表示部11の上下方向であり、Z軸方向は表示部11と直交する奥行方向である。表示装置10は、ヘッドマウント型ディスプレイ装置であってもよい。ヘッドマウント型ディスプレイの場合、ヘッドマウントモジュール内に画像取得装置20のような構成が配置されることになる。
【0016】
画像取得装置20は、被験者の左右の眼球EBの画像データを取得し、取得した画像データをコンピュータシステム30に送信する。画像取得装置20は、光源部(光源)21及び撮像部22を有する。
【0017】
光源部21は、被験者の眼球EBに検出光を射出する。光源部21は、互いに異なる位置に配置される第1光源21A及び第2光源21Bを有する。第1光源21A及び第2光源21Bは、LED(light emitting diode)光源を含み、例えば波長850[nm]の近赤外光を射出可能である。光源部21は、撮像部22のフレーム同期信号に同期するように検出光を射出する。光源部21は、単一の光源で構成されてもよい。
【0018】
撮像部22は、被験者の左右の眼球EBを撮像することで画像データを生成する。撮像部22は、被験者の視線を検出する方法に応じた各種カメラを有する。本実施形態のように、被験者の瞳孔の位置と角膜反射像の位置とに基づいて視線を検出する方式の場合、撮像部22は、赤外線カメラを有し、例えば波長850[nm]の近赤外光を透過可能な光学系と、その近赤外光を受光可能な撮像素子とを有する。撮像部22は、フレーム同期信号を出力する。フレーム同期信号の周期は、例えば20[msec]とすることができるが、これに限定されない。撮像部22は、第1カメラ22A及び第2カメラ22Bを有するステレオカメラの構成である。第1カメラ22A及び第2カメラ22Bは、互いに異なる撮像位置に配置される。第1カメラ22A及び第2カメラ22Bにより取得される画像データは、例えば8ビットの値(0~255)で設定される輝度を有する画素が2次元状に配列された構成である。輝度は、値が小さいほど暗く、値が大きいほど明るいことを示す。輝度の値が0の画素は、画像データに黒色として表示される。輝度の値が255の画素は、画像データに白色として表示される。第1カメラ22A及び第2カメラ22Bは、例えば同一の解像度を有する。この場合、第1カメラ22A及び第2カメラ22Bにより取得される画像データは、縦横の画素数が互いに等しくなる。撮像部22は、単一のカメラで構成されてもよい。
【0019】
コンピュータシステム30は、視線検出装置100の動作を統括的に制御する。コンピュータシステム30は、演算処理装置30A及び記憶装置30Bを含む。演算処理装置30Aは、CPU(central processing unit)のようなマイクロプロセッサを含む。記憶装置30Bは、ROM(read only memory)及びRAM(random access memory)のようなメモリ又はストレージを含む。演算処理装置30Aは、記憶装置30Bに記憶されているコンピュータプログラム30Cに従って演算処理を実施する。
【0020】
出力装置40は、フラットパネルディスプレイのような表示装置を含む。なお、出力装置40は、印刷装置を含んでもよい。入力装置50は、操作されることにより入力データを生成する。入力装置50は、コンピュータシステム用のキーボード又はマウスを含む。なお、入力装置50が表示装置である出力装置40の表示部に設けられたタッチセンサを含んでもよい。
【0021】
本実施形態に係る視線検出装置100は、表示装置10とコンピュータシステム30とが別々の装置である。なお、表示装置10とコンピュータシステム30とが一体でもよい。例えば視線検出装置100がタブレット型パーソナルコンピュータを含んでもよい。この場合、当該タブレット型パーソナルコンピュータに、表示装置、画像取得装置、コンピュータシステム、入力装置、出力装置等が搭載されてもよい。
【0022】
図2は、視線検出装置100の一例を示す機能ブロック図である。
図2に示すように、コンピュータシステム30は、撮像制御部31と、位置検出部32と、角膜曲率半径導出部33と、視線処理部34と、テーブル生成部35と、記憶部36とを有する。コンピュータシステム30の機能は、演算処理装置30A及び記憶装置30B(
図1参照)によって発揮される。なお、コンピュータシステム30は、一部の機能が視線検出装置100の外部に設けられてもよい。
【0023】
撮像制御部31は、光源部21及び撮像部22を制御する。撮像制御部31は、光源部21の第1光源21A及び第2光源21Bのそれぞれについて、検出光の射出のタイミング、射出時間等を制御する。撮像制御部31は、撮像部22の第1カメラ22A及び第2カメラ22Bについて、撮像のタイミング等を制御する。撮像制御部31は、撮像部22のフレーム同期信号と同期して、第1光源21A及び第2光源21Bから検出光を射出させる。本実施形態において、撮像制御部31は、例えばフレーム同期信号の周期ごとに、第1光源21A及び第2光源21Bに交互に検出光を射出させる。撮像制御部31は、画像取得装置20により取得される画像データを取得する。撮像制御部31は、取得した画像データを記憶部36に記憶する。
【0024】
位置検出部32は、撮像部22で撮像された被験者の眼球の画像データに基づいて、検出光が照射された被験者の眼球の瞳孔の中心を示す瞳孔中心の位置データを検出する。また、位置検出部32は、撮像部22で撮像された被験者の眼球の画像データに基づいて、検出光が照射された被験者の眼球の角膜反射の中心を示す角膜反射中心の位置データを検出する。位置検出部32は、被験者の左右それぞれの眼球について、瞳孔中心の位置データ及び角膜反射中心の位置データを検出する。位置検出部32は、撮像部22で撮像された被験者の眼球の画像データに基づいて、光源部21からの検出光による角膜反射中心の位置を算出する。角膜反射中心は、それぞれの検出光による角膜反射像の中心である。また、位置検出部32は、撮像部22の第1カメラ22A及び第2カメラ22Bの2つのカメラで撮像された画像データに基づいて、三角測量法により被験者と撮像部22との距離(以下、カメラ被験者間距離と表記する)を検出する。位置検出部32は、検出した瞳孔中心、角膜反射中心の位置及びカメラ被験者間距離を記憶部36に記憶する。
【0025】
角膜曲率半径導出部33は、被験者の眼球の角膜上の位置と角膜曲率半径との関係を示す曲率半径テーブルに基づいて、検出された角膜反射中心の位置に対応する角膜曲率半径を導出する。曲率半径テーブルは、例えば記憶部36に記憶される。曲率半径テーブルは、予め生成されたものであってもよいし、後述するテーブル生成部35により生成されたものであってもよい。
【0026】
図3は、本実施形態で用いられる曲率半径テーブルの一例を示す模式図である。
図3に示すように、曲率半径テーブルTでは、被験者の眼球を正面から見た場合において瞳孔中心112の位置を中心としたグリッドGが設定される。グリッドGは、仮想直線により格子状に形成される。グリッドGは、例えば横方向をX方向とし、縦方向をY方向とすることができる。曲率半径テーブルTでは、グリッドGを構成する仮想直線で格子状に区画される部位Gaにより、角膜上の位置が規定される。1つの部位Gaごとに、角膜上の1つの位置が規定される。各部位Gaは、例えばX座標及びY座標により規定することができる。曲率半径テーブルTは、被験者ごとに生成される。
【0027】
図3の一部に、グリッドGを拡大して示す。曲率半径テーブルTは、グリッドGで区画される1つの部位Gaごとに、算出した角膜曲率半径が対応付けられたデータである。
図3のグリッドGでは、同一の角膜曲率半径を同一の色で示している。グリッドGの拡大図に示す例において、グリッドGの部位Gaに対応付けられる角膜曲率半径は、被験者の瞳孔中心112を中心として、同心円状に広がるにつれて段階的に大きくなっている。
【0028】
視線処理部34は、撮像部22により撮像された画像データに基づいて、被験者の瞳孔中心の位置を検出する。瞳孔中心は、瞳孔の中心である。視線処理部34は、算出した瞳孔中心の位置と、光源部21の位置と、位置検出部32により算出された角膜反射中心の位置と、記憶部36に記憶される曲率半径テーブルTから導出された角膜曲率半径の値とに基づいて、被験者の眼球EBの視線ベクトルを視線として検出する。
【0029】
図4は、本実施形態の視線検出装置100において被験者の視線を検出する原理を模式的に示す図である。以降、被験者の右側の眼球EB(右眼ER)について説明するが、左側の眼球EB(左眼EL)についても同様の説明が可能である。本実施形態では、被験者の眼球EBにおける瞳孔中心112と角膜曲率中心110とを結ぶ直線130を求め、当該直線130の三次元ベクトルを視線として検出する。
【0030】
図4に示すように、第1光源21A及び第2光源21Bの一方(例えば、第1光源21A)から被験者の眼球EBに検出光を照射する。被験者の眼球EBの角膜上には、検出光による角膜反射像120が形成される。被験者の眼球EBを撮像部22で撮像することにより、角膜反射像120が形成された眼球EBの画像データを取得できる。当該画像データには、被験者の瞳孔の画像についても含まれている。したがって、当該画像データに基づいて、被験者の眼球EBの瞳孔中心112の位置と角膜反射中心125の位置とを算出することができる。瞳孔中心112は、被験者の瞳孔の中心を示す。角膜反射中心125は、角膜反射像120の中心を示す。このとき、第1カメラ22A及び第2カメラ22Bの2つのカメラを用いることで、三角測量法により被験者の瞳孔中心112及び角膜反射中心125の位置を算出できる。
【0031】
角膜反射中心125は、被験者の眼球EBの角膜上の位置である。本実施形態では、被験者の眼球EBの角膜上の位置と、当該角膜上の位置における角膜曲率半径の値とが対応付けられた曲率半径テーブルTが記憶部36に記憶されている。したがって、角膜反射中心125の位置が判別することで、曲率半径テーブルTを用いて当該角膜反射中心125の位置における角膜曲率半径の値が導出される。
【0032】
被験者の眼球EBにおいて、角膜曲率中心110は、角膜反射像120を形成した光源である第1光源21Aと、当該角膜反射像120の角膜反射中心125とを結ぶ直線123上の位置である。具体的には、角膜曲率中心110の位置は、直線123上のうち、角膜反射中心125から第1光源21Aとは反対方向について角膜曲率半径に対応する距離だけ離れた位置である。
【0033】
瞳孔中心112の位置と角膜曲率中心110の位置とを求めることにより、当該瞳孔中心112と角膜曲率中心110とを通る直線130を算出することができる。そして、この直線130の三次元ベクトルを、被験者の視線として算出することができる。なお、視線ベクトルを検出した後、直線130(視線ベクトル)と表示部11との交点を示す注視点の位置を検出することができる。
【0034】
図2に戻り、テーブル生成部35は、上記した曲率半径テーブルTを生成する。テーブル生成部35は、第1光源21A及び第2光源21Bの2つの光源から眼球EBに検出光を照射した場合において、眼球EBの角膜に形成される2つの角膜反射中心の距離(以下、中心間距離と表記する)と、カメラ被験者間距離(撮像部22と被験者との距離)とに基づいて被験者の眼球の角膜曲率半径を算出し、算出した角膜曲率半径を用いて曲率半径テーブルを生成する。
【0035】
ここで、テーブル生成部35により角膜曲率半径を算出する原理について説明する。
図5及び
図6は、光源部21からの検出光が被験者の眼球EBに照射される状態を模式的に示す図である。以降、被験者の右側の眼球EB(右眼ER)について説明するが、左側の眼球EB(左眼EL)についても同様の説明が可能である。また、
図5及び
図6では、撮像部22として第1カメラ22Aのみを示し、第2カメラ22Bについては省略しているが、実際には第1カメラ22A及び第2カメラ22Bの両方が配置される。
【0036】
図5及び
図6に示すように、第1光源21A及び第2光源21Bから眼球EBに検出光が照射された場合、眼球EBの角膜には角膜反射像が形成される。ここで、第1光源21Aの角膜反射像120Aの中心が第1角膜反射中心121である。また、第2光源21Bの角膜反射像120Bの中心が第2角膜反射中心122である。
【0037】
図6に示すように、撮像部22と被験者との距離が変化することに伴い、第1角膜反射中心121と第2角膜反射中心122との中心間距離dが変化する。例えば、撮像部22と被験者の眼球EBとの距離であるカメラ被験者間距離がx1となる場合(位置P1)の中心間距離d1と、カメラ被験者間距離がx1よりも大きいx2となる場合(位置P2)の中心間距離d2との間には、d1>d2が成立する。
【0038】
図7は、光源部、撮像部及び被験者の眼球の位置関係の一例を示す図である。
図7に示すように、第1光源21Aと撮像部22との距離をa、第2光源21Bと撮像部22との距離をb、撮像部22と被験者との間のカメラ被験者間距離をx、眼球EBに検出される第1角膜反射中心121と第2角膜反射中心122との距離をd、角膜曲率半径をrとする。この例において、カメラ被験者間距離xは、撮像部22と被験者の眼球EBの角膜曲率中心110との間の距離とする。なお、カメラ被験者間距離xは、例えば第1カメラ22A及び第2カメラ22Bの2つのカメラで撮像された画像データに基づいて三角測量法により検出される値を用いることができる。ここで、r<<xであることから、角膜曲率中心110及び第1光源21Aを通る直線L1と角膜曲率中心110及び第1角膜反射中心121を通る直線L2とがなす角度と、角膜曲率中心110及び撮像部22を通る直線L3と上記直線L2とがなす角度とが同等であると近似することができる。以下、この角度をθ1とする。同様に、角膜曲率中心110及び第2光源21Bを通る直線L4と角膜曲率中心110及び第1角膜反射中心121を通る直線L5とがなす角度と、角膜曲率中心110及び撮像部22を通る直線L3と上記直線L5とがなす角度とが同等であると近似することができる。以下、この角度をθ2とする。
【0039】
この場合において、以下の式1から式3が成立する。
θ1=arctan(a/x)/2 ・・・(式1)
θ2=arctan(b/x)/2 ・・・(式2)
d=r・sinθ1+r・sinθ2 ・・・(式3)
【0040】
図8は、撮像部22により撮像された眼球EBの画像データの一例を示す図である。
図8に示すように、本実施形態においては、第1光源21Aから検出光を眼球EBに照射した状態で撮像した場合の画像データIM1と、第2光源21Bから検出光を眼球EBに照射した状態で撮像した場合の画像データIM2とが別個の画像データとして取得される。画像データIM1には、第1光源21Aからの検出光による角膜反射像(以下、第1角膜反射像120Aと表記する)が映っている。画像データIM2には、第2光源21Bからの検出光による角膜反射像(以下、第2角膜反射像120Bと表記する)が映っている。本実施形態では、第1光源21Aと第2光源21Bとを異なるタイミングで点灯させる。このため、第1角膜反射像120A及び第2角膜反射像120Bの映り方としては、一方の画像データIM1には第1角膜反射像120Aのみが映り、他方の画像データIM2には第2角膜反射像120Bのみが映る。位置検出部32は、取得された第1画像データ及び第2画像データに基づいて、第1角膜反射中心121及び第2角膜反射中心122の位置を算出する。
【0041】
テーブル生成部35は、画像データIM1に含まれる第1角膜反射中心121と、画像データIM2に含まれる第2角膜反射中心122との距離(撮像素子の画素数)d´(pixel)から、第1角膜反射中心121と第2角膜反射中心122との実際の距離d(mm)を算出する。なお、
図8では、第1角膜反射中心121及び第2角膜反射中心122の位置を判別しやすくするため、黒色の点で示しているが、実際には黒色の点は存在しない。
【0042】
ここで、撮像部22を構成するレンズの焦点距離をf、撮像部22を構成する撮像素子の画素間距離(ピッチ)をpとすると、以下の式4が成立する。
【0043】
d´=(f・d/x)/p ・・・(式4)
【0044】
上記の式1から式4をd´について解くと、
d´=r・(sin(arctan(a/x)/2)
+sin(arctan(b/x)/2))・f/(p・x)・・・(式5)
となる。
【0045】
式5において、例えばa、b=100(mm)、f=12(mm)、x=600(mm)、p=0.0048(mm/pixel)とすると、以下の式6のようなxとd´との関係式が求められる。
【0046】
d´=r・(2・sin(arctan(100/600)/2))・12
/(0.0048・600)
=r・α (ただし、αは定数) ・・・(式6)
【0047】
テーブル生成部35は、上記の式6を用いることにより、中心間距離d´に基づいて角膜曲率半径rを算出することができる。
【0048】
図9は、曲率半径テーブルTの生成過程の一例を模式的に示す図である。
図9に示すように、被験者の眼球EBに角膜反射を形成した状態で視線(眼球EB)が移動した場合、角膜上における第1角膜反射中心121及び第2角膜反射中心122の位置が相対的に移動する。
図9では、第2角膜反射中心122の位置がグリッドGの部位Gaを跨いで移動する場合を例に挙げて説明する。なお、第1角膜反射中心121の位置が移動する場合も同様の説明が可能である。テーブル生成部35は、角膜上における第2角膜反射中心122の位置が
図9に示す軌跡122RでグリッドGの部位Gaを跨いで移動する場合、部位Gaごとに角膜曲率半径の値を算出し、算出した値を当該部位Gaに対応付けて記憶する。なお、テーブル生成部35は、同一の部位Gaにおいて角膜曲率半径の値を複数回算出した場合、複数回の算出結果の平均値を角膜曲率半径の値として対応付けてもよい。このように、テーブル生成部35は、生成した曲率半径テーブルTを更新することができる。テーブル生成部35は、例えば上記の処理を所定時間行うことにより、
図3に示す曲率半径テーブルTを生成することができる。
【0049】
なお、
図3に示す曲率半径テーブルTにおいて、一部の部位Gaについては、上記手順によらなくても角膜曲率半径を算出することができる。
図10は、眼球EBを正面から見た一例を模式的に示す図である。
図10には、瞳孔114、虹彩116及びその付近における角膜曲率半径を示す近似円C1~C3が示されている。
図10に示すように、一般的に人の眼球EBの角膜曲率半径は、正面から見た場合には瞳孔中心112を中心に同心円状になだらかに変化する。つまり、瞳孔中心112から離れるにつれて近似円の径が徐々に大きくなる。また、近似円に沿った部分の角膜曲率半径は、当該近似円の一周に亘ってほぼ等しくなっている。このため、テーブル生成部35は、曲率半径テーブルTのグリッドGのうち角膜曲率半径の値が算出されなかった部位Gaに対して、瞳孔中心112を中心に角膜曲率半径が同心円状に大きくなるように、かつ同心円に沿った部位Gaの角膜曲率半径が同一となるように補間処理を行うことで、全ての部位Gaについて角膜曲率半径を算出することができる。
【0050】
図11は、テーブル生成部35による補間処理の一例を模式的に示す図である。
図11に示すように、テーブル生成部35は、補間処理として、グリッドGに瞳孔中心112を中心とした径が異なる複数の同心円を設定し、複数の同心円で区画される複数の領域について同一の領域に存在する部位Ga同士の角膜曲率半径が同一の値となるように曲率半径テーブルTを補間することができる。また、テーブル生成部35は、同心円の径が大きくなるほど角膜曲率半径の値が大きくなるように曲率半径テーブルTを補間することができる。
図11では、テーブル生成部35が3つの仮想の同心円を設定する場合を例に挙げている。以下、最も径が小さい仮想円を第1仮想円と表記し、2番目に径が小さい仮想円を第2仮想円と表記し、最も径が大きい仮想円を第3仮想円と表記する。第1仮想円から第3仮想円は、例えば上記した近似円C1~C3に対応する。
図11に示すように、テーブル生成部35は、第1仮想円の内側の領域に位置する部位Ga同士が同値となり、第1仮想円と第2仮想円との間の領域に位置する部位Ga同士が同値となり、第2仮想円と第3仮想円との間の領域に位置する部位Ga同士が同値となり、第3仮想円の外側の領域に位置する部位Ga同士が同値となるように、角膜曲率半径を補間することができる。テーブル生成部35による曲率半径テーブルTの生成は、いわゆる従来のキャリブレーション動作とは異なり、被験者が予め指定された特定の位置を注視する必要が無く、被験者が撮像部22で撮像可能な範囲にいる状態であれば実行可能である。
【0051】
記憶部36は、コンピュータシステム30の各部における処理を行うための各種データやプログラムを記憶する。記憶部36は、例えば表示部11に表示させる画像についてのデータを記憶する。記憶部36は、撮像制御部31によって取得された画像データ、位置検出部32によって算出された第1角膜反射中心121及び第2角膜反射中心122の位置、テーブル生成部35により算出された角膜曲率半径と角膜上の位置とを対応付けた曲率半径テーブルT、等の各種情報を記憶する。
【0052】
また、記憶部36は、光源部21から検出光を発光して被験者の少なくとも一方の眼球EBに照射する処理と、検出光が照射された眼球EBの画像を撮像する処理と、撮像された画像から、検出光が照射された眼球EBの瞳孔の中心を示す瞳孔中心112の位置と第1角膜反射中心121及び第2角膜反射中心122の位置とを検出する処理と、角膜上の位置と角膜曲率半径との関係を示す曲率半径テーブルに基づいて、検出された第1角膜反射中心121及び第2角膜反射中心122の位置に対応する角膜曲率半径を導出する処理と、検出された第1角膜反射中心121及び第2角膜反射中心122の位置と、導出された角膜曲率半径とを用いて被験者の視線を算出する処理とをコンピュータに実行させ、視線を算出する処理では、光源部21と第1角膜反射中心121及び第2角膜反射中心122とを結ぶ直線を算出する処理と、算出した直線上で、第1角膜反射中心121及び第2角膜反射中心122から光源部21とは反対の方向に角膜曲率半径に対応する距離だけ離れた位置を角膜曲率中心110として算出する処理と、角膜曲率中心110と瞳孔中心とを結ぶ視線ベクトルを視線として算出する処理とをコンピュータに実行させる視線検出プログラムを記憶する。
【0053】
[視線検出方法]
次に、本実施形態に係る視線検出装置100を用いた視線検出方法の一例を説明する。本実施形態における視線検出方法では、上記したように、被験者の眼球EBの角膜上に角膜反射像を形成して角膜反射中心の位置を求め、当該角膜反射中心の位置と、予め記憶部36に記憶された曲率半径テーブルTとを用いて角膜曲率半径rを導出することができる。
【0054】
図12は、本実施形態に係る視線検出方法における視線検出処理の一例を示すフローチャートである。
図12に示すように、視線検出処理では、光源部21の第1光源21A又は第2光源21Bの一方から検出光を射出して眼球EBを照明し(ステップS101)、撮像部22の第1カメラ22A及び第2カメラ22Bの両方で眼球EBを撮像する(ステップS102)。位置検出部32は、取得された眼球EBの画像データに基づいて、瞳孔中心112の位置及び角膜反射中心125の位置を検出する(ステップS103)。位置検出部32は、三角測量法等により、瞳孔中心112及び角膜反射中心125の各位置を世界座標(グローバル座標系)に変換する(ステップS104)。
【0055】
角膜曲率半径導出部33は、算出された角膜反射中心125の位置と、曲率半径テーブルTとに基づいて、角膜反射中心125の位置に対応する角膜曲率半径を導出する(ステップS105)。
【0056】
視線処理部34は、第1光源21A及び第2光源21Bのうち検出光を射出した光源の位置と、瞳孔中心112の位置と、角膜反射中心125の位置と、角膜曲率半径導出部33によって導出された角膜曲率半径rとに基づいて、角膜曲率中心110の位置を算出する(ステップS106)。この場合、視線処理部34は、検出光を射出した光源の位置と、角膜反射中心125とを結ぶ直線123を求める。視線処理部34は、求めた直線123上において、角膜反射中心125から眼球EBの内側に対して角膜曲率半径rに相当する距離だけ離れた位置を角膜曲率中心110の位置として求める。
【0057】
視線処理部34は、瞳孔中心112と角膜曲率中心110とを結ぶ直線130を求め、当該直線130の三次元ベクトルを視線ベクトルとして算出する(ステップS107)。
【0058】
次に、視線検出方法において、曲率半径テーブルTを生成する処理の一例を説明する。曲率半径テーブルTを生成する処理は、例えば上記の視線検出処理に先立って行うキャリブレーション処理として、例えば所定の期間を設定し、当該所定の期間内で行うようにすることができる。また、曲率半径テーブルTを生成する処理は、目標位置を設定し、設定した目標位置を被験者に注視させて光源部21から検出光を被験者の眼球に照射し、被験者の眼球を撮像部22により撮像して、撮像した画像データに基づいて角膜曲率半径を算出する、いわゆる従来のキャリブレーション処理に加えて行ってもよい。
【0059】
図13は、曲率半径テーブルTを生成する処理の一例を示すフローチャートである。
図13に示すように、曲率半径テーブルTを生成する処理においては、視線検出処理とは異なり、例えば第1光源21A及び第2光源21Bから検出光を交互に射出して眼球EBを照明し(ステップS201)、第2カメラ22B及び第1カメラ22Aにより交互に眼球EBを撮像する(ステップS202)。位置検出部32は、取得された眼球EBの画像データに基づいて、第1角膜反射中心121及び第2角膜反射中心122の位置、及びカメラ被験者間距離xを検出する(ステップS203)。位置検出部32は、検出した第1角膜反射中心121及び第2角膜反射中心122の各位置をグローバル座標系に変換する(ステップS204)。
【0060】
テーブル生成部35は、第1角膜反射中心121と第2角膜反射中心122との距離である中心間距離d´を算出する(ステップS205)。テーブル生成部35は、算出された中心間距離d´と、別途検出されたカメラ被験者間距離xとに基づいて、角膜曲率半径rを算出する(ステップS206)。カメラ被験者間距離xについては、例えば不図示の測距装置等で予め検出した値を定数として用いてもよいし、曲率半径テーブルTの生成時に測距装置等で検出してもよい。
【0061】
テーブル生成部35は、曲率半径テーブルTを構成するグリッドGのうち、第1角膜反射中心121及び第2角膜反射中心122の一方又は両方に対応する部位Gaについて、算出した角膜曲率半径の値を対応付けて記憶部36に記憶させる(ステップS207)。
【0062】
テーブル生成部35は、曲率半径テーブルTの生成が終了したか否かの判定を行う(ステップS208)。ステップS208において、テーブル生成部35は、例えば所定の期間が経過したか否か等に基づいて、曲率半径テーブルTの生成が終了したか否かの判定を行うことができる。
【0063】
ステップS208において、曲率半径テーブルTの生成が終了していないと判定した場合(ステップS208のNo)、テーブル生成部35は、ステップS201以降の処理を繰り返し行う。一方、ステップS208において、曲率半径テーブルTの生成が終了したと判定した場合(ステップS208のYes)、テーブル生成部35は、グリッドGの全ての部位Gaについて角膜曲率半径が対応付けられているか否かの判定を行う(ステップS209)。
【0064】
ステップS209において、グリッドGの少なくとも一部の部位Gaについて角膜曲率半径が対応付けられていないと判定した場合(ステップS209のNo)、テーブル生成部35は、角膜曲率半径が対応付けられていないと判定した部位Gaについて、補間処理を行うことで角膜曲率半径を算出して(ステップS210)、処理を終了する。一方、ステップS209において、グリッドGの全ての部位Gaについて角膜曲率半径が対応付けられていると判定した場合(ステップS209のYes)、テーブル生成部35は、ステップS210をスキップして処理を終了する。
【0065】
以上のように、本実施形態に係る視線検出装置100は、検出光を発光して被験者の少なくとも一方の眼球に照射する光源部21と、検出光が照射された眼球の画像を撮像する撮像部22と、撮像された画像から、検出光が照射された眼球の瞳孔の中心を示す瞳孔中心の位置と角膜反射の中心を示す角膜反射中心の位置とを検出する位置検出部32と、角膜上の位置と角膜曲率半径との関係を示す曲率半径テーブルTに基づいて、検出された角膜反射中心の位置に対応する角膜曲率半径を導出する角膜曲率半径導出部33と、検出された角膜反射中心の位置と、導出された角膜曲率半径とを用いて被験者の視線を算出する視線処理部34とを備え、視線処理部34は、光源部21と角膜反射中心とを結ぶ直線を算出し、算出した直線上で、角膜反射中心から光源部21とは反対の方向に角膜曲率半径導出部33によって導出された角膜曲率半径に対応する距離だけ離れた位置を角膜曲率中心として算出し、角膜曲率中心と瞳孔中心とを結ぶ視線ベクトルを視線として算出する。
【0066】
本実施形態に係る視線検出方法は、光源部21から検出光を発光して被験者の少なくとも一方の眼球に照射することと、検出光が照射された眼球の画像を撮像することと、撮像された画像から、検出光が照射された眼球の瞳孔の中心を示す瞳孔中心の位置と角膜反射の中心を示す角膜反射中心の位置とを検出することと、角膜上の位置と角膜曲率半径との関係を示す曲率半径テーブルTに基づいて、検出された角膜反射中心の位置に対応する角膜曲率半径を導出することと、検出された角膜反射中心の位置と、導出された角膜曲率半径とを用いて被験者の視線を算出することとを含み、視線の算出においては、光源部21と角膜反射中心とを結ぶ直線を算出し、算出した直線上で、角膜反射中心から光源部21とは反対の方向に角膜曲率半径に対応する距離だけ離れた位置を角膜曲率中心として算出し、角膜曲率中心と瞳孔中心とを結ぶ視線ベクトルを視線として算出する。
【0067】
本実施形態に係る視線検出プログラムは、光源部21から検出光を発光して被験者の少なくとも一方の眼球に照射する処理と、検出光が照射された眼球の画像を撮像する処理と、撮像された画像から、検出光が照射された眼球の瞳孔の中心を示す瞳孔中心の位置と角膜反射の中心を示す角膜反射中心の位置とを検出する処理と、角膜上の位置と角膜曲率半径との関係を示す曲率半径テーブルTに基づいて、検出された角膜反射中心の位置に対応する角膜曲率半径を導出する処理と、検出された角膜反射中心の位置と、導出された角膜曲率半径とを用いて被験者の視線を算出する処理とをコンピュータに実行させ、視線を算出する処理では、光源部21と角膜反射中心とを結ぶ直線を算出する処理と、算出した直線上で、角膜反射中心から光源部21とは反対の方向に角膜曲率半径に対応する距離だけ離れた位置を角膜曲率中心として算出する処理と、角膜曲率中心と瞳孔中心とを結ぶ視線ベクトルを視線として算出する処理とをコンピュータに実行させる。
【0068】
この構成によれば、被験者の眼球の角膜反射中心の位置に応じた角膜曲率半径を導出することができるため、被験者の角膜形状に応じた角膜曲率半径を精度よく求めることができる。これにより、角膜曲率半径を用いた視線検出において、検出精度の低下を抑制することが可能となる。
【0069】
本実施形態に係る視線検出装置100において、光源部21は、異なる位置に第1光源21A及び第2光源21Bの2つの光源が配置され、位置検出部32は、第1光源21A及び第2光源21Bの2つの光源による被験者の眼球の2つの角膜反射から、それぞれ角膜反射中心の位置を検出し、位置検出部32が検出した2つの角膜反射中心間の距離と、撮像部22と被験者との距離とに基づいて角膜曲率半径を算出し、算出した角膜曲率半径を用いて曲率半径テーブルTを生成するテーブル生成部35を更に備える。
【0070】
この構成によれば、第1光源21A及び第2光源21Bの2つの光源による被験者の眼球の2つの角膜反射について角膜反射中心の位置を検出し、位置検出部32が検出した2つの角膜反射中心の距離と、撮像部22と被験者との距離とに基づいて角膜曲率半径を算出することができるため、曲率半径テーブルTを精度よく生成することができる。また、視線検出を行う際のキャリブレーション処理において曲率半径テーブルTを生成することが可能となる。
【0071】
本実施形態に係る視線検出装置100において、テーブル生成部35は、角膜上の位置として瞳孔中心の位置を中心としたグリッドGを設定し、グリッドGのうち2つの角膜反射中心の位置に対応する部位Gaに、算出した角膜曲率半径を対応付けた情報を曲率半径テーブルTとして生成し、グリッドGのうち瞳孔中心の位置に対応する部位Gaを中心とした同心円に沿う部位Gaの角膜曲率半径が同値となるように曲率半径テーブルTを補間する。
【0072】
この構成によれば、グリッドGのうち瞳孔中心の位置に対応する部位Gaを中心とした同心円に沿う部位Gaの角膜曲率半径が同一の値となるように曲率半径テーブルTを補間することができるため、一部のグリッドGについて角膜曲率半径の値が検出されない場合であっても、曲率半径テーブルTを精度よく生成することができる。
【0073】
本発明の技術範囲は上記実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更を加えることができる。例えば、上記した実施形態では、第1光源21Aと第2光源21Bとを異なるタイミングで点灯させる場合を例に挙げているが、これに限定されず、第1光源21Aと第2光源21Bとを同一のタイミングで点灯させて撮像部22で撮像してもよい。
【0074】
また、上記した実施形態では、撮像部22が2つである構成を例に挙げて説明したが、これに限定されない。撮像部22は、1つ又は3つ以上設けられた構成であってもよい。
【0075】
また、上記した実施形態では、曲率半径テーブルTのグリッドGの部位Gaに対応させる値として、角膜曲率半径の値を用いる構成を例に挙げて説明したが、これに限定されない。例えば、各部位Gaに対応させる値として、曲率の値を用いてもよい。この場合、テーブル生成部35は、曲率の逆数に基づいて角膜曲率半径を算出することができる。
【符号の説明】
【0076】
C1~C3…近似円、EB…眼球、G…グリッド、Ga…部位、IM1,IM2…画像データ、r…角膜曲率半径、T…曲率半径テーブル、x…カメラ被験者間距離、10…表示装置、11…表示部、20…画像取得装置、21…光源部、21A…第1光源、21B…第2光源、22…撮像部、22A…第1カメラ、22B…第2カメラ、30…コンピュータシステム、30A…演算処理装置、30B…記憶装置、30C…コンピュータプログラム、31…撮像制御部、32…位置検出部、33…角膜曲率半径導出部、34…視線処理部、35…テーブル生成部、36…記憶部、40…出力装置、50…入力装置、60…入出力インターフェース装置、100…視線検出装置、110…角膜曲率中心、112…瞳孔中心、114…瞳孔、116…虹彩、120…角膜反射像、120A…第1角膜反射像、120B…第2角膜反射像、121…第1角膜反射中心、122…第2角膜反射中心、122R…軌跡、123,130…直線、125…角膜反射中心