(57)【特許請求の範囲】
【請求項１】
注視位置の複数の登録移動パターンと、前記複数の登録移動パターンのそれぞれについて、当該登録移動パターンに含まれる注視位置の補正情報とを記憶する記憶部と、
互いに異なるタイミングにおいて視線検出デバイスにより生成されたユーザの視線方向を表すデータから得た、ユーザの注視位置の複数の測定点から、ユーザの注視位置の移動パターンを検出する移動パターン検出部と、
前記複数の登録移動パターンの中から、前記移動パターンと類似する登録移動パターンを抽出する類似パターン抽出部と、
前記類似する登録移動パターンについての前記注視位置の補正情報を用いて前記移動パターンに含まれる注視位置を補正する補正部と、
を有する注視位置検出装置。
【請求項２】
前記ユーザに関する第１の特徴と、前記視線検出デバイスの配置に関する第２の特徴と、前記移動パターン取得時の環境に関する第３の特徴のうちの少なくとも一つの特徴を抽出する特徴抽出部をさらに有し、
前記記憶部は、前記複数の登録移動パターンのそれぞれについて、前記第１の特徴と、前記第２の特徴と、前記第３の特徴のうちの前記少なくとも一つの特徴を記憶し、
前記類似パターン抽出部は、前記複数の登録移動パターンのうち、前記移動パターンについての前記少なくとも一つの特徴と当該登録移動パターンの前記少なくとも一つの特徴との差が所定の許容範囲内となる登録移動パターンを選択し、選択した前記登録移動パターンのなかから前記類似する登録移動パターンを抽出する、請求項１に記載の注視位置検出装置。
【請求項３】
前記第１の特徴は、瞳孔サイズ、頭部の姿勢、及び視線の移動速度のうちの少なくとも一つを含む、請求項２に記載の注視位置検出装置。
【請求項４】
前記視線検出デバイスは光源とカメラとを有し、前記第２の特徴は、前記視線検出デバイスと前記ユーザが注視する対象となる面との位置関係、前記光源と前記カメラの位置関係、前記カメラの画角、前記面に表示された内容を表す情報、前記面を含む装置の識別情報のうちの少なくとも一つを含む、請求項２または３に記載の注視位置検出装置。
【請求項５】
前記第３の特徴は、前記移動パターン取得時の照度、前記移動パターン取得時の時間及び日付け、前記視線検出デバイスの設置位置を表す情報の少なくとも一つを含む、請求項２〜４の何れか一項に記載の注視位置検出装置。
【請求項６】
前記移動パターン検出部は、前記ユーザの注視位置の複数の測定点から１以上の固視点を検出し、所定期間が経過する度に、当該所定期間中に得られた一連の前記固視点を前記移動パターンとする、請求項１に記載の注視位置検出装置。
【請求項７】
互いに異なるタイミングにおいて視線検出デバイスにより生成されたユーザの視線方向を表すデータから得た、ユーザの注視位置の複数の測定点から、ユーザの注視位置の移動パターンを検出し、
記憶部に記憶された注視位置の複数の登録移動パターンの中から、前記移動パターンと類似する登録移動パターンを抽出し、
前記類似する登録移動パターンに対応する注視位置の補正情報を用いて前記移動パターンに含まれる注視位置を補正する、
ことを含む注視位置検出方法。
【請求項８】
互いに異なるタイミングにおいて視線検出デバイスにより生成されたユーザの視線方向を表すデータから得た、ユーザの注視位置の複数の測定点から、ユーザの注視位置の移動パターンを検出し、
記憶部に記憶された注視位置の複数の登録移動パターンの中から、前記移動パターンと類似する登録移動パターンを抽出し、
前記類似する登録移動パターンに対応する注視位置の補正情報を用いて前記移動パターンに含まれる注視位置を補正する、
ことをコンピュータに実行させるための注視位置検出用コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、ユーザの眼が写った画像に基づいてユーザの注視位置を検出する注視位置検出装置、注視位置検出方法及び注視位置検出用コンピュータプログラムに関する。
【背景技術】
【０００２】
近年、ユーザの眼が写った画像に基づいてユーザの視線方向を検出できるデバイスが小型化されている。そのため、ユーザの視線方向を検出できるデバイスは、様々な装置に搭載することが可能となっている。そこで、そのようなデバイスによりユーザの視線方向を検出した結果を利用するアプリケーションが研究されている（例えば、特許文献１を参照）。
【０００３】
例えば、特許文献１に記載された指示入力装置は、ユーザが見ている方向である第１の方向と、ユーザがポインティング操作を行う方向である第２の方向を検出する。この指示入力装置は、ユーザの位置及び第１の方向に基づいて、画面上のユーザの注視位置を算出するとともに、注視位置に対応する線であってユーザと画面とを結ぶ空間上の基準線を算出する。この指示入力装置は、ユーザの手の位置を示す入力座標と基準線との間の第２の方向の距離を、注視位置に対応するオフセット量として算出する。そしてこの指示入力装置は、画面上において、注視位置との間の第１の画面規定方向の距離がそのオフセット量となる位置を、ポインタの表示位置として算出する。またこの指示入力装置は、顔の三次元向きと顔における黒目の向きとを合わせることで、実空間における視線方向の検出を行い、その視線方向を第１の方向とする。
【０００４】
この指示入力装置では、ユーザの視線方向が正確に検出できることが前提となっている。しかし、真の視線方向と、測定されたそのものの視線方向、すなわち、生の視線方向との間には、一般にずれがあるので、生の視線方向のデータをそのまま利用しても、ユーザの視線方向を正確に検出することは困難である。そこで、ユーザの視線方向を正確に検出するために、事前に、いわゆるキャリブレーション処理が行われる。
【０００５】
しかし、視線を検出する際における、視線検出用のデバイスとユーザとの位置関係が、キャリブレーション処理の実行時における、視線検出用のデバイスとユーザとの位置関係と異なることがある。そしてユーザとデバイスとの間の位置関係が異なれば、視線方向が同一であっても、装置の画面上での視線の位置は異なる。また、毎回キャリブレーション処理を行うことは、ユーザにとって煩雑であり、実際的でない。
【０００６】
一方、ユーザの挙動に応じて、自動的に視線方向のキャリブレーションを行うアルゴリズムが提案されている（例えば、特許文献２を参照）。特許文献２に開示されたアルゴリズムは、ある対象物をユーザが注視することが想定される一連のタスク、例えば、コンピュータスクリーンの小領域を選択またはクリックするアクションの実行中にユーザの視線方向をモニタする。そしてこのアルゴリズムは、想定される方向とユーザの視線方向との相関をもとめ、その相関から、そのユーザに関して使用される視線方向のパラメータを計算する。
【０００７】
また、被測定者について頭部姿勢ごとの視線方向分布を生成し、基準姿勢に対する視線方向分布を較正する較正パラメータを用いて基準姿勢以外の頭部姿勢に対する視線方向分布を補正する視線検出装置が提案されている（例えば、特許文献３を参照）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】国際公開第２０１１／１５８５１１号
【特許文献２】国際公開第２０１０／０７１９２８号
【特許文献３】国際公開第２０１５／１３６９０８号
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献２に開示されたアルゴリズムでは、ユーザの操作と想定される視線方向とを関連付けるタスクが行われることが前提となっている。そのため、このアルゴリズムは、そのようなタスクが行われない場合には適用できない。また、特許文献３に開示された視線検出装置は、眼球サイズなど、頭部の姿勢以外の要因による視線方向の検出誤差を補正することはできない。
【００１０】
一つの側面では、本発明は、注視位置補正用のユーザの動作を規定しなくても、ユーザの注視位置を補正できる注視位置検出装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
一つの実施形態によれば、注視位置検出装置が提供される。この注視位置検出装置は、注視位置の複数の登録移動パターンと、複数の登録移動パターンのそれぞれについて、その登録移動パターンに含まれる注視位置の補正情報とを記憶する記憶部と、互いに異なるタイミングにおいて視線検出デバイスにより生成されたユーザの視線方向を表すデータから得た、ユーザの注視位置の複数の測定点から、ユーザの注視位置の移動パターンを検出する移動パターン検出部と、複数の登録移動パターンの中から、ユーザの注視位置の移動パターンと類似する登録移動パターンを抽出する類似パターン抽出部と、類似する登録移動パターンについての注視位置の補正情報を用いてユーザの注視位置の移動パターンに含まれる注視位置を補正する補正部とを有する。
【発明の効果】
【００１２】
注視位置補正用のユーザの動作を規定しなくても、ユーザの注視位置を補正できる。
【図面の簡単な説明】
【００１３】
【図１】一つの実施形態による注視位置検出装置を搭載した端末装置のハードウェア構成図である。
【図２】（ａ）は、端末装置の正面から見た、ユーザインターフェース部と視線検出デバイスの配置の一例を示す図であり、（ｂ）は、端末装置の側面から見た、ユーザインターフェース部と視線検出デバイスの配置の一例を示す図である。
【図３】制御部の注視位置検出処理に関する機能ブロック図である。
【図４】ユーザインターフェース部の操作画面の一例を示す図である。
【図５】移動パターンデータベースの一例を示す図である。
【図６】注視位置検出処理の動作フローチャートである。
【図７】注視位置検出システムの概略構成図である。
【発明を実施するための形態】
【００１４】
以下、図を参照しつつ、注視位置検出装置について説明する。
この注視位置検出装置は、様々な条件下で取得された、様々な人の注視位置の移動パターン及び注視位置の補正情報についての大量のデータが保存された移動パターンデータベースを利用して、ユーザの注視位置を補正する。すなわち、この注視位置検出装置は、ユーザの注視位置の移動パターンを比較的短い周期ごとに検出する。そしてこの注視位置検出装置は、その移動パターンと類似する注視位置の移動パターンを移動パターンデータベースから抽出し、抽出した移動パターンについて規定された注視位置の補正情報を利用してユーザの注視位置を補正する。
【００１５】
また、本実施形態では、注視位置検出装置は、KIOSK端末、現金自動預け払い機、電子情報ボードあるいはデジタルサイネージまたはデスクトップ型のコンピュータといった、固定の端末装置に実装される。しかし、この注視位置検出装置は、携帯電話機、スマートフォンあるいはタブレットといった携帯端末に実装されてもよく、あるいは、車載の運転支援装置、プロジェクタ、または、眼鏡式のヘッドマウントディスプレイなどに実装されてもよい。
【００１６】
図１は、一つの実施形態による注視位置検出装置が実装された端末装置のハードウェア構成図である。端末装置１は、ユーザインターフェース部２と、通信インターフェース部３と、視線検出デバイス４と、メモリ５と、制御部６と、ストレージデバイス７とを有する。なお、図１は、端末装置１が有する構成要素を説明するための図であり、端末装置１の各構成要素の実際の配置を表した図ではないことに留意されたい。
【００１７】
ユーザインターフェース部２は、例えば、タッチパネルディスプレイを有する。そしてユーザインターフェース部２は、ユーザインターフェース部２の操作画面が、端末装置１の正面に対向するユーザを向くように配置される。そしてユーザインターフェース部２は、その操作画面上に、例えば、テキスト、画像、アイコンまたは操作ボタンなどを制御部６からの制御信号に応じて表示する。なお、ユーザインターフェース部２の操作画面は、ユーザが注視する対象となる面の一例である。またユーザインターフェース部２は、表示されたアイコンまたは操作ボタンの位置にユーザが触れた場合に、その位置に応じた操作信号を生成し、その操作信号を制御部６へ出力する。
【００１８】
通信インターフェース部３は、端末装置１を通信ネットワーク（図示せず）と接続するための通信回路を有する。そして通信インターフェース部３は、例えば、通信ネットワークを介して接続されたサーバ（図示せず）といった他の機器からの信号を受信して、その信号を制御部６へわたす。また通信インターフェース部３は、他の機器への信号を制御部６から受け取り、その信号を通信ネットワークへ出力する。
【００１９】
視線検出デバイス４は、ユーザインターフェース部２の周囲に配置され、ユーザの視線方向を表す測定データを所定の周期（例えば、1ミリ秒〜33ミリ秒）ごとに生成する。そして視線検出デバイス４は、生成した測定データを制御部６へ出力する。
例えば、視線検出デバイス４は、赤外発光ダイオードと、CCDあるいはC-MOSといった赤外線に感度を持つイメージセンサと撮像光学系を含む赤外カメラとを有する。そして視線検出デバイス４は、測定データとして、ユーザの眼の瞳孔と、赤外発光ダイオードから発した光が角膜で反射された角膜反射像（以下、プルキンエ像と呼ぶ）とが表された画像を赤外カメラにより生成する。
【００２０】
図２（ａ）は、端末装置１の正面から見た、ユーザインターフェース部２と視線検出デバイス４の配置の一例を示す図であり、図２（ｂ）は、端末装置１の側面から見た、ユーザインターフェース部２と視線検出デバイス４の配置の一例を示す図である。本実施形態では、視線検出デバイス４は、ユーザインターフェース部２の下方に、ユーザインターフェース部２の操作画面２ａと対向するユーザへ向けて配置される。視線検出デバイス４が有する赤外発光ダイオード４１は、ユーザの眼を照明する。そして視線検出デバイス４が有するカメラ４２により、ユーザインターフェース部２の操作画面２ａを見るユーザの少なくとも一方の眼を含む、ユーザの顔全体あるいは顔の一部が写った画像が生成される。
【００２１】
メモリ５は、記憶部の一例であり、例えば、読み書き可能な不揮発性の半導体メモリを有する。そしてメモリ５は、制御部６上で実行される各種のアプリケーションプログラム及び各種のデータを記憶する。
【００２２】
さらに、メモリ５は、ユーザの注視位置を検出するために利用される各種のデータを記憶する。例えば、メモリ５は、プルキンエ像の重心に対する瞳孔重心の相対的な位置とユーザの視線方向との関係を表す参照テーブル、視線方向と注視位置との関係を表す参照テーブルを記憶する。さらに、メモリ５は、ユーザインターフェース部２の操作画面上に表示されている各アイコン及び操作ボタンの位置、水平方向及び垂直方向のサイズなどを記憶する。さらにまた、メモリ５は、視線検出デバイス４から得られたユーザの眼の画像、あるいは、その画像に基づいて検出されたキャリブレーション前の生の注視位置の測定点の座標及び取得順番などを記憶する。
【００２３】
制御部６は、一つまたは複数のプロセッサ及びその周辺回路を有する。そして制御部６は、端末装置１の各部と信号線を介して接続されており、端末装置１全体を制御する。例えば、制御部６は、ユーザインターフェース部２から受け取った操作信号と実行中のアプリケーションプログラムに応じた処理を実行する。
また制御部６は、注視位置検出装置としても機能する。
【００２４】
ストレージデバイス７は、記憶部の他の一例であり、例えば、ハードディスク装置、または光記録媒体及びそのアクセス装置を有する。そしてストレージデバイス７は、注視位置の移動パターンのデータベースを保存する。なお、移動パターンのデータベースの詳細については後述する。
【００２５】
図３は、制御部６の注視位置検出処理に関する機能ブロック図である。制御部６は、注視位置検出部１１と、移動パターン検出部１２と、特徴抽出部１３と、類似パターン抽出部１４と、補正部１５と、操作ベース補正部１６と、登録部１７とを有する。
制御部６が有するこれらの各部は、制御部６が有するプロセッサ上で実行されるコンピュータプログラムにより実現される機能モジュールである。また制御部６が有するこれらの各部は、それぞれ、制御部６が有するプロセッサとは別個の回路として形成されてもよい。あるいは制御部６が有するこれらの各部は、その各部に対応する回路が集積された一つまたは複数の集積回路として、制御部６が有するプロセッサとは別個に端末装置１に実装されてもよい。
【００２６】
注視位置検出部１１は、視線検出デバイス４から制御部６が画像を取得する度に、その画像上でユーザの眼が写っている領域を検出し、眼が写っている領域内でプルキンエ像及び瞳孔を検出する。そして注視位置検出部１１は、プルキンエ像と瞳孔重心との位置関係に基づいてユーザの注視位置を検出する。
【００２７】
注視位置検出部１１は、先ず、眼が写っている領域を検出する。眼に相当する画素の輝度は、眼の周囲に相当する画素の輝度と大きく異なる。そこで注視位置検出部１１は、画像内の各画素に対して、例えば、Sobelフィルタを用いて垂直方向の近傍画素間差分演算を行って垂直方向に輝度が変化するエッジ画素を検出する。そして注視位置検出部１１は、例えば、エッジ画素が略水平方向に眼の大きさに相当する所定数以上連結された２本のエッジ線で囲まれた領域を眼の領域とする。
あるいは、注視位置検出部１１は、画像上の眼の像を表すテンプレートと、画像とのテンプレートマッチングにより、画像内でテンプレートに最も一致する領域を検出し、その検出した領域を眼の領域としてもよい。
【００２８】
さらに、注視位置検出部１１は、眼の領域内で瞳孔が写っている領域を検出する。本実施形態では、注視位置検出部１１は、瞳孔に相当するテンプレートと眼の領域との間でテンプレートマッチングを行い、眼の領域内でテンプレートとの一致度が最も高くなる領域を検出する。そして注視位置検出部１１は、一致度の最高値が所定の一致度閾値よりも高い場合、その検出した領域に瞳孔が写っていると判定する。なお、テンプレートは、瞳孔の大きさに応じて複数準備されてもよい。この場合、注視位置検出部１１は、各テンプレートと眼の領域とのテンプレートマッチングをそれぞれ実行し、一致度の最高値を求める。そして一致度の最高値が一致度閾値よりも高い場合、注視位置検出部１１は、一致度の最高値に対応するテンプレートと重なった領域に瞳孔が写っていると判定する。なお、一致度は、例えば、テンプレートとそのテンプレートと重なった領域との正規化相互相関値として算出される。また一致度閾値は、例えば、0.7または0.8に設定される。
【００２９】
また瞳孔が写っている領域の輝度は、その周囲の領域の輝度よりも低く、瞳孔は略円形である。そこで注視位置検出部１１は、眼の領域内で、同心円状に半径の異なる２本のリングを設定する。そして注視位置検出部１１は、外側のリングに相当する画素の輝度の平均値から内側の画素の輝度の平均値を引いた差分値が所定の閾値よりも大きい場合、その内側のリングで囲まれた領域を瞳孔領域としてもよい。また注視位置検出部１１は、内側のリングで囲まれた領域の平均輝度値が所定の閾値以下であることを、瞳孔領域として検出する条件に加えてもよい。この場合、所定の閾値は、例えば、眼の領域内の最大輝度値と最小輝度値の差の10％〜20％を、最小輝度値に加えた値に設定される。
注視位置検出部１１は、瞳孔領域に含まれる各画素の水平方向座標値の平均値及び垂直方向座標値の平均値を、瞳孔領域の重心の座標として算出する。
【００３０】
また注視位置検出部１１は、眼の領域内で視線検出デバイス４が有する赤外発光ダイオードのプルキンエ像を検出する。プルキンエ像が写っている領域の輝度は、その周囲の領域の輝度よりも高く、その輝度値は略飽和している（すなわち、輝度値が、画素値が取り得る輝度の値の略最高値となっている）。また、プルキンエ像が写っている領域の形状は、視線検出デバイス４が有する赤外発光ダイオードの発光面の形状と略一致する。そこで注視位置検出部１１は、眼の領域内で、赤外発光ダイオードの発光面の輪郭形状と略一致する形状を持ち、かつ、大きさが異なるとともに中心が一致する２本のリングを設定する。そして注視位置検出部１１は、内側のリングに相当する画素の輝度の平均値である内部輝度平均値から外側の画素の輝度の平均値を引いた差分値を求める。注視位置検出部１１は、その差分値が所定の差分閾値よりも大きく、かつ内側輝度平均値が所定の輝度閾値よりも高い場合、その内側のリングで囲まれた領域をプルキンエ像とする。なお、差分閾値は、例えば、眼の領域内の近傍画素間の差分値の平均値とすることができる。また所定の輝度閾値は、例えば、眼の領域内での輝度値の最高値の80%とすることができる。
なお、注視位置検出部１１は、画像上で瞳孔が写っている領域を検出する他の様々な方法の何れかを用いて、瞳孔が写っている領域を検出してもよい。同様に、注視位置検出部１１は、画像上でプルキンエ像が写っている領域を検出する他の様々な方法の何れかを用いて、視線検出デバイス４の赤外発光ダイオードのプルキンエ像が写っている領域を検出してもよい。
【００３１】
瞳孔重心及びプルキンエ像の重心を検出すると、注視位置検出部１１は、それらに基づいてユーザの視線方向を検出する。
【００３２】
角膜の表面は略球形であるため、視線方向によらず、視線検出デバイス４が有する光源のプルキンエ像の位置はほぼ一定となる。一方、瞳孔重心は、ユーザの視線方向に応じて移動する。そのため、注視位置検出部１１は、プルキンエ像の重心を基準とする瞳孔重心の相対的な位置を求めることにより、ユーザの視線方向を検出できる。
本実施形態では、注視位置検出部１１は、プルキンエ像の重心を基準とする瞳孔重心の相対的な位置を、例えば、瞳孔重心の水平方向座標及び垂直方向座標からプルキンエ像の重心の水平方向座標及び垂直方向座標を減算することにより求める。そして注視位置検出部１１は、瞳孔重心の相対的な位置とユーザの視線方向との関係を表す参照テーブルを参照することにより、ユーザの視線方向を特定する。
【００３３】
注視位置検出部１１は、ユーザの視線方向を検出すると、ユーザの視線方向及び想定されるユーザの眼とユーザインターフェース部２間の位置関係に基づいて、ユーザがユーザインターフェース部２の操作画面上でのユーザの注視位置を検出する。
【００３４】
本実施形態では、注視位置検出部１１は、ユーザの眼とユーザインターフェース部２間の想定される位置関係における、ユーザの視線方向と注視位置との関係を表す参照テーブルを参照することにより、ユーザの注視位置の測定点を求める。そして注視位置検出部１１は、ユーザの注視位置の測定点の操作画面上での座標を、その取得順序とともにメモリ５に保存する。なお、注視位置の測定点の取得順序は、その順序を表す番号で表れされてもよく、あるいは、その測定点を求めるために利用した、ユーザの眼の画像の取得時刻で表されてもよい。なお、注視位置検出部１１により求められた注視位置の測定点は、キャリブレーション前の生の注視位置の計測データである。
【００３５】
移動パターン検出部１２は、注視位置検出部１１により求められた一連の注視位置の測定点に基づいて、ユーザの注視位置の移動パターンを検出する。
【００３６】
端末装置１のユーザインターフェース部２の操作画面には、端末装置１の用途に応じた様々なアイコンまたは操作ボタンといった比較的小さなサイズの部分領域が所定の配列（例えば、２次元アレイ）に従って配置されている。そして個々の部分領域には、その部分領域に応じた操作、あるいは、入力されるデータを表す比較的短い文字列が表示されている。そのため、ユーザは、例えば、部分領域ごとに、少ない数の固視(fixation)点にてその部分領域に表示されている文字列を読むことができる。またユーザは、一般に、全ての部分領域を見る必要は無く、かつ、各部分領域をどのような順序で見てもよい。
【００３７】
この様子を図４を参照しつつ説明する。
図４は、ユーザインターフェース部２の操作画面の一例を示す図である。この例では、操作画面２ａに、複数のアイコン４０１が２次元アレイ状に配置されている。そして各アイコン４０１には、そのアイコンを押下することで実行される操作を表す文字列が表示されている。この場合において、あるユーザは、例えば、矢印で示される移動パターン４１１に示される順序で幾つかのアイコンを見る。また、他のユーザは、例えば、矢印で示される移動パターン４１２に示される順序で幾つかのアイコンを見る。さらに他のユーザは、例えば、矢印で示される移動パターン４１３に示される順序で幾つかのアイコンを見る。このように、ユーザによって、注視位置の移動パターンは様々である。また、注視位置の移動パターンを調べる期間が長くなるほど、移動パターンのバリエーションも増加する。
【００３８】
そこで、移動パターン検出部１２は、ユーザの注視位置の複数の測定点から１以上の固視点を検出し、所定期間が経過する度に、その所定期間中に得られた一連の固視点を移動パターンとして検出する。なお、移動パターン検出部１２は、例えば、最新の注視位置の測定点の取得時間を終端とする固定期間（例えば、2秒間）をその所定期間とする。あるいは、移動パターン検出部１２は、直近の所定数（例えば、5点）の一連の固視点が得られる度に、その所定期間が終了したと判定してもよい。あるいはまた、移動パターン検出部１２は、一連の固視点間の移動距離の合計が所定の距離閾値に達したときに所定期間が終了したと判定してもよい。所定の距離閾値は、例えば、ユーザインターフェース部２の操作画面に表示される複数の部分領域のうちの隣接する部分領域間の平均距離の所定倍（例えば、3倍）に相当する値とすることができる。なお、ユーザインターフェース部２の操作画面上に表示される個々の部分領域のサイズ及び位置に関する情報は予めメモリ５に保存されているので、移動パターン検出部１２は、その情報を利用して、距離閾値を設定すればよい。
【００３９】
なお、移動パターン検出部１２は、移動量が所定の閾値以下となる、連続する二つの注視位置の測定点の組を固視とし、そのいずれかの測定点または重心を固視点の位置として検出すればよい。
【００４０】
移動パターン検出部１２は、注視位置の移動パターンを検出する度に、その移動パターンに含まれる個々の固視点の座標、固視点の検出順序、及び、各固視点の測定時刻をメモリ５に保存する。
【００４１】
特徴抽出部１３は、移動パターンデータベースから類似移動パターンを抽出する際に、類似移動パターンの候補となる、移動パターンデータベースに登録された移動パターンを選択するために利用される選択用特徴を抽出する。
【００４２】
プルキンエ像と瞳孔重心の位置関係に基づいてユーザの視線方向が検出される場合、眼のサイズなど、様々な条件に応じてプルキンエ像と瞳孔重心間の距離が変化する。例えば、眼のサイズが大きいほど、視線方向が同じでも、眼が写った画像上でのプルキンエ像と瞳孔重心間の距離は大きくなる。同様に、視線検出デバイス４が有する赤外発光ダイオードとカメラ間の距離が大きくなるほど、視線方向が同じでも、眼が写った画像上でのプルキンエ像と瞳孔重心間の距離も大きくなる。また、視線検出デバイス４が有するカメラに対する、ユーザの頭部の位置または姿勢に応じて、視線方向が同じでも、画像上での瞳孔重心の位置は変化する。
【００４３】
さらに、瞳孔のサイズによっては、プルキンエ像が瞳孔から外れることがある。このような場合には、プルキンエ像と虹彩の輝度差が少ないため、プルキンエ像の検出精度が低下することがある。また、ユーザが目を細めている場合、瞳孔の一部が瞼に隠れるために、瞳孔重心の位置が正確に求められなくなることがある。このように、プルキンエ像または瞳孔重心の検出精度が低下すると、制御部６は、ユーザの視線方向を正確に検出できなくなる。
【００４４】
したがって、ユーザの注視点（この例では、固視点）の位置を正確に補正するためには、ユーザの眼の特徴及び移動パターン取得時における環境が、類似移動パターンの眼の特徴及び類似移動パターン取得時における環境が一致していることが好ましい。
【００４５】
そこで特徴抽出部１３は、ユーザに関する特徴であるユーザ特徴（第１の特徴）と、視線検出デバイス４の配置または端末装置１に関するハードウェア特徴（第２の特徴）と、移動パターン取得時の環境に関する環境特徴（第３の特徴）のうちの一つ以上を抽出する。なお、ユーザ特徴は、瞳孔サイズ、頭部の位置、頭部の姿勢、及び視線の移動速度のうちの少なくとも一つを含む。ハードウェア特徴は、視線検出デバイス４とユーザインターフェース部２の操作画面との位置関係、視線検出デバイス４の赤外発光ダイオードとカメラの位置関係、カメラの画角、操作画面の表示内容を表す情報、及び端末装置１の識別情報の少なくとも一つを含む。さらに、環境特徴は、移動パターン取得時の照度、移動パターン取得時の時間及び日付、視線検出デバイス４の設置位置を表す情報の少なくとも一つを含む。
【００４６】
瞳孔のサイズは、視線検出デバイス４が有するカメラにより得られた画像から算出される。また、ユーザの頭部の位置及び姿勢は、例えば、視線検出デバイス４が有するカメラにより得られた画像上でのユーザの頭部の位置及び顔の向きから推定可能である。
【００４７】
そこで、特徴抽出部１３は、視線検出デバイス４が有するカメラにより得られた画像から、ユーザ特徴のうち、ユーザの眼に関する特徴、及び、頭部の姿勢を表す特徴を算出する。そして、抽出した特徴を選択用特徴として用いることができる。
【００４８】
特徴抽出部１３は、例えば、テンプレートマッチングにより瞳孔が検出されている場合、瞳孔と最も一致したテンプレートにおける、瞳孔の水平方向のサイズまたは垂直方向のサイズを、瞳孔サイズとすることができる。あるいは、特徴抽出部１３は、瞳孔の形状をより正確に求められるように、例えば、瞳孔の重心から放射状に複数の線を設定し、各線上で瞳孔の重心側の輝度値が低くなるエッジを検出する。そして特徴抽出部１３は、検出したエッジを、例えば、Snakeといった動的輪郭モデルを用いた輪郭抽出法に従って連結することで、瞳孔の輪郭形状をもとめ、瞳孔の輪郭形状に基づいて、水平方向または垂直方向のサイズを瞳孔のサイズとして算出してもよい。
【００４９】
さらに、ユーザが目を細めている場合のように、瞳孔の一部が瞼などに隠されている場合、特徴抽出部１３は、ユーザの感情に基づいて瞳孔のサイズを推定してもよい。この場合には、ユーザの感情を推定するために、例えば、特徴抽出部１３は、ユーザの顔が写った画像からユーザの表情を検出し、その表情に基づいてユーザの感情を推定する技術を利用できる。また、ユーザの顔が写った画像として、特徴抽出部１３は、視線検出デバイス４が有するカメラにより得られる画像を利用できる。また、端末装置１が、視線検出デバイス４とは別個のカメラを有している場合には、特徴抽出部１３は、そのカメラがユーザの顔を撮影することにより得られた画像を利用してもよい。
【００５０】
また、特徴抽出部１３は、ユーザの頭部の位置及び姿勢を検出するために、画像からユーザの頭部が写っている頭部領域を検出するように予め学習された識別器を用いて、画像から頭部領域を検出する。この場合、識別器として、例えば、アダブーストまたはリアルアダブースト、サポートベクトルマシン、あるいは、ディープニューラルネットワークが利用される。そして特徴抽出部１３は、画像上にウインドウを設定し、そのウインドウの位置を変えながら、ウインドウ内の各画素の値またはそのウインドウから抽出した特徴量を識別器に入力することで、そのウインドウが頭部領域か否かを判定する。また、特徴量として、例えば、Haar-like特徴量あるいはHistograms of Oriented Gradients特徴量が抽出される。なお、そして特徴抽出部１３は、頭部領域の重心をもとめ、画像上でのその重心の位置とカメラの画角に応じて、カメラの光軸に対する、カメラからユーザの頭部へ向かう方向がなす角を算出する。さらに、特徴抽出部１３は、例えば、両方の眼の眼頭の中点と、唇の中点とを結ぶ線を正中線として検出し、正中線に対する鼻尖点の位置関係により、ユーザの顔の向きを判定できる。その際、特徴抽出部１３は、画像から唇及び鼻尖点を検出するために、例えば、唇を検出するように学習された識別器及び鼻尖点を検出するように学習された識別器を用いればよい。また、特徴抽出部１３は、テンプレートマッチング、あるいは、コーナー検出フィルタなどを利用して、眼頭を検出してもよい。あるいは、特徴抽出部１３は、画像から、眼頭、唇及び鼻尖点を検出する他の技術を利用してもよい。
【００５１】
さらに、特徴抽出部１３は、画像上での両方の眼頭間の距離を算出し、その距離に基づいて、視線検出デバイス４からユーザの頭部までの距離を推定し、その距離を、ユーザ特徴の一つとしてもよい。この場合には、特徴抽出部１３は、例えば、両方の眼頭間の距離と視線検出デバイス４からユーザの頭部までの距離との関係を表す参照テーブルを参照することで、両方の眼頭間の距離に対応する視線検出デバイス４からユーザの頭部までの距離を求めればよい。さらに、端末装置１が、視線検出デバイス４とは別個のカメラを有している場合には、特徴抽出部１３は、そのカメラによる画像、及び、視線検出デバイス４による画像のそれぞれからユーザの顔の特徴点を検出してもよい。そして特徴抽出部１３は、その特徴点に基づき、三角測量の原理に従ってユーザの頭部までの距離を算出してもよい。
【００５２】
さらに、特徴抽出部１３は、ユーザ特徴の一つとして、移動パターン中に含まれる各固視点の測定時刻と各固視点間の位置の差に基づいて視線移動の平均速度を算出してもよい。
【００５３】
また、特徴抽出部１３は、環境特徴の一つとして、移動パターン検出時の時刻、日付けなどの時間情報を、端末装置１が有するクロック（図示せず）、あるいは、端末装置１と通信ネットワークを介して接続されている他の機器から取得する。さらに、端末装置１が照度センサ（図示せず）を有している場合、環境特徴の他の一つとして、その照度センサから得た照度の測定値を、端末装置１の周囲の照度として使用してもよい。さらに、端末装置１が視線検出デバイス４以外にカメラを有している場合、特徴抽出部１３は、そのカメラにより得られた画像において、静止物体が写っていると想定される領域内の各画素の輝度値の平均値を、端末装置１の周囲の照度として算出してもよい。また、特徴抽出部１３は、端末装置１の設置位置を表す情報、例えば、端末装置１が設置されている位置の緯度及び経度、屋内または屋外を表す情報を、ストレージデバイス７から読み込む。
【００５４】
さらに、特徴抽出部１３は、ハードウェア特徴をストレージデバイス７から読み込む。
なお、特徴抽出部１３は、上記の全ての選択用特徴を抽出する必要は無く、上記の選択用特徴のうちの少なくとも一つを抽出すればよい。
【００５５】
特徴抽出部１３は、得られた各選択用特徴を、類似パターン抽出部１４へわたす。
【００５６】
類似パターン抽出部１４は、注視位置の移動パターンデータベースから、検出されたユーザの移動パターン（以下、現移動パターンと呼ぶ）に最も類似する移動パターンである類似移動パターンを抽出する。その際、類似パターン抽出部１４は、特徴抽出部１３から受け取った各特徴に基づいて、類似移動パターンの候補となる移動パターンを選択し、選択した移動パターンのなかから類似移動パターンを抽出する。
【００５７】
図５は、移動パターンデータベースの一例を示す図である。移動パターンデータベース５００には、ユーザ識別情報５０１、移動パターンのシーケンス番号５０２、移動パターン内の固視点として検出された各注視点の座標５０３、各注視点の補正ベクトル５０４、選択用特徴５０５、キャリブレーションマップ５０６が登録される。なお、以下では、説明の便宜上、移動パターンデータベースに登録されたユーザを登録ユーザと呼ぶ。また、移動パターンデータベースに登録された移動パターンを登録移動パターンと呼ぶ。
【００５８】
補正ベクトル５０４は、補正情報の一例であり、検出された固視点の位置から、登録ユーザの本当の固視点の推定位置へ向かうベクトルである。選択用特徴５０５は、上記のように、瞳孔サイズまたは頭部の位置といったユーザ特徴、視線検出デバイス４とユーザインターフェース部２の操作画面との位置関係またはカメラの画角といったハードウェア特徴、移動パターン取得時の照度または移動パターン取得時の時間及び日付といった環境特徴のうちの少なくとも一つである。また、キャリブレーションマップ５０６は、登録ユーザについて登録されている各登録移動パターンの何れにも含まれない複数のサンプリング点のそれぞれについて、そのサンプリング点の位置と、そのサンプリング点についての補正ベクトルとを含む。さらに、キャリブレーションマップ５０６は、各サンプリング点における補正ベクトルを算出する際に利用した登録移動パターンに対応する選択用特徴（例えば、頭部の姿勢など）と、最新の更新時刻とを含んでもよい。
【００５９】
例えば、類似パターン抽出部１４は、移動パターンデータベースに登録された各登録移動パターンの中から、現移動パターンについて抽出されたハードウェア特徴と同じハードウェア特徴を持つ登録移動パターンを選択する。例えば、類似パターン抽出部１４は、端末装置１の視線検出デバイス４が有する赤外発光ダイオードとカメラ間の距離と同じ距離だけ離して光源とカメラが配置される他の視線検出デバイスを用いて得られた登録移動パターンを選択する。また、類似パターン抽出部１４は、視線検出デバイス４のカメラの画角同じ画角を持つカメラを有する他の視線検出デバイスを用いて得られた登録移動パターンを選択する。さらに、類似パターン抽出部１４は、端末装置１のユーザインターフェース部２と視線検出デバイス４の位置関係と同じ位置関係でユーザインターフェース部と視線検出デバイスが配置された他の装置により得られた登録移動パターンを選択する。また、類似パターン抽出部１４は、端末装置１自身により得られた登録移動パターンを選択してもよい。さらにまた、類似パターン抽出部１４は、現移動パターンの検出時にユーザインターフェース部２の操作画面の表示内容と同じ内容がユーザインターフェース部２に表示されていたときの登録移動パターンを選択してもよい。
【００６０】
なお、類似パターン抽出部１４は、現移動パターンについて複数のハードウェア特徴が得られている場合には、全てのハードウェア特徴について一致する登録移動パターンを選択することが好ましい。これにより、類似パターン抽出部１４は、視線検出デバイス４の配置の違いなどに起因して、現移動パターン取得時におけるプルキンエ像と瞳孔重心の位置関係と異なる位置関係となる登録移動パターンを選択することを抑制できる。
【００６１】
また、類似パターン抽出部１４は、選択した登録移動パターンの中から、現移動パターンについての環境特徴との差が所定の許容範囲内となる環境特徴を持つ登録移動パターンをさらに選択する。例えば、類似パターン抽出部１４は、現移動パターン取得時の端末装置１の周囲の照度との差が所定の許容範囲内となる照度のときに得られた登録移動パターンを選択する。また、類似パターン抽出部１４は、現移動パターン取得の際の時間及び日付けと、端末装置１の設置位置の緯度とから、現移動パターンの取得時が日中か夜中かを判定してもよい。そして現移動パターンの取得時が日中であれば、類似パターン抽出部１４は、端末装置１または他の端末装置により日中に取得された登録移動パターンを選択する。逆に、現移動パターンの取得時が夜中であれば、類似パターン抽出部１４は、端末装置１または他の端末装置により夜中に取得された登録移動パターンを選択する。
【００６２】
類似パターン抽出部１４は、選択した登録移動パターンの中から、現移動パターンについてのユーザ特徴との差が所定の許容範囲内となるユーザ特徴を持つ登録移動パターンをさらに選択する。例えば、類似パターン抽出部１４は、視線検出デバイス４から頭部への方向の角度及び顔の向きのそれぞれについての差が5°以内となる登録移動パターンを選択する。
【００６３】
さらに、類似パターン抽出部１４は、現移動パターン取得時のユーザの瞳孔サイズとの差が所定の許容範囲内となる瞳孔サイズである登録移動パターンを選択してもよい。また、類似パターン抽出部１４は、現移動パターン取得時の視線検出デバイス４からユーザの頭部までの距離との差が所定の許容範囲内となる距離で得られた登録移動パターンを選択してもよい。さらにまた、類似パターン抽出部１４は、現移動パターンについての視線の移動の平均速度との差が所定の許容範囲（例えば、50度／秒）となる視線の平均速度を持つ登録移動パターンを選択してもよい。
【００６４】
なお、類似パターン抽出部１４は、現移動パターンについて複数の環境特徴が得られている場合には、環境特徴のそれぞれについて、その環境特徴についての許容範囲内に含まれる環境特徴を持つ登録移動パターンを選択することが好ましい。同様に、類似パターン抽出部１４は、現移動パターンについて複数のユーザ特徴が得られている場合には、ユーザ特徴のそれぞれについて、そのユーザ特徴についての許容範囲内に含まれるユーザ特徴を持つ登録移動パターンを選択することが好ましい。これにより、類似パターン抽出部１４は、類似移動パターンの候補となる登録移動パターンの数を減らすことができるので、演算量を削減できる。
【００６５】
類似パターン抽出部１４は、選択された登録移動パターンの中から、類似移動パターンを抽出する。そのために、類似パターン抽出部１４は、例えば、選択された登録移動パターンのそれぞれと、現移動パターンとの間で、固視点ごとの距離の二乗和を評価値として算出する。その際、類似パターン検出部１４は、現移動パターンに含まれる固視点の数と同数の固視点を含む登録移動パターンについてのみ、評価値を算出してもよい。さらに、類似パターン検出部１４は、現移動パターンと登録移動パターンとで、順序が同じ固視点同士で距離の二乗和を算出してもよい。そして類似パターン抽出部１４は、評価値が最小となる登録移動パターンを類似移動パターンとする。
【００６６】
なお、変形例によれば、類似パターン抽出部１４は、評価値として、固視点ごとの距離の二乗和の代わりに、固視点ごとの距離の絶対値和を算出してもよい。
【００６７】
また、現移動パターンの直近の所定数（例えば、3〜5）の移動パターンのそれぞれについて得られた類似移動パターンが同一の登録ユーザのものであることがある。そこでこのような場合、類似パターン抽出部１４は、現移動パターンの直近の所定数の移動パターンについて得られた類似移動パターンに対応する登録ユーザの各登録移動パターンの評価値のうちの最小値を求める。そして類似パターン抽出部１４は、その最小値と、全ての登録移動パターンについて算出された評価値のうちの最小値との差が所定の許容差以内であれば、その登録ユーザについての評価値の最小値に対応する登録移動パターンを類似移動パターンとしてもよい。これにより、類似パターン抽出部１４は、ユーザの注視位置の変え方と同様な注視位置の変え方をする登録ユーザの登録移動パターンを優先的に類似移動パターンとすることができる。そのため、類似パターン抽出部１４は、ユーザの注視位置に対する補正情報としてより適切と想定される補正情報と関連付けられた類似移動パターンを選択できる。
【００６８】
類似パターン抽出部１４は、類似移動パターンを補正部１５へわたす。
【００６９】
補正部１５は、類似移動パターンに基づいて、現移動パターンに含まれる各固視点の位置を補正する。例えば、補正部１５は、現移動パターンに含まれる着目する固視点について、その固視点に最も近い固視点を類似移動パターンに含まれる固視点から選択し、選択した固視点に対応する補正ベクトルを、着目する固視点についての補正ベクトルとして利用する。なお、着目する固視点に対して、類似移動パターンに含まれる何れの固視点よりも、類似移動パターンに対応する登録ユーザのキャリブレーションマップに含まれる何れかのサンプリング点の方が近いことがある。このような場合、補正部１５は、そのサンプリング点についての補正ベクトルを、着目する固視点についての補正ベクトルとして利用してもよい。なお、補正部１５は、現移動パターンについての選択用特徴と同一または許容範囲内となる選択用特徴を持つサンプリング点についての補正ベクトルを利用することが好ましい。これにより、より適切な補正ベクトルを利用できる可能性が高くなる。さらにまた、補正部１５は、類似移動パターンに含まれる固視点のなかから、着目する固視点に近い方から順に複数の固視点を選択してもよい。そして補正部１５は、選択した固視点についての補正ベクトルに対して補間処理を実行することで、着目する固視点についての補正ベクトルを算出してもよい。
【００７０】
補正部１５は、現移動パターンに含まれる各固視点について、その固視点から、その固視点について求めた補正ベクトルだけシフトした位置を、ユーザの本当の固視点として推定する。制御部６は、現移動パターンについて推定したユーザの固視点のそれぞれに応じた処理を実行する。例えば、制御部６は、ユーザの固視点が一定期間以上、特定のアイコン上に位置している場合には、ユーザインターフェース部２の操作画面に、そのアイコンに関する説明が記載されたポップアップウインドウを表示させてもよい。
【００７１】
操作ベース補正部１６は、ユーザがユーザインターフェース部２の操作画面に表示された何れかのアイコンを押下するといった、ユーザインターフェース部２に対する所定の操作を行った場合に、その操作を利用して注視位置を補正する。例えば、ユーザがユーザインターフェース部２に対する所定の操作を行う場合、ユーザはその操作の対象となる操作画面上の位置（例えば、押下するアイコンの位置）を注視すると想定される。そこで、操作ベース補正部１６は、ユーザがユーザインターフェース部２に対する所定の操作を行った直前におけるユーザの注視位置の測定点から、その操作が行われた位置までのベクトルを補正ベクトルとして算出する。なお、操作が行われた位置は、例えば、押下された位置、あるいは、押下された位置を含むアイコンの中心の位置とすることができる。
【００７２】
登録部１７は、ユーザが一連の操作を終了した後に、そのユーザについての移動パターンが最初に検出されてから操作終了時までに得られた各移動パターンに関するデータ（固視点の位置、補正ベクトル、選択用特徴など）を移動パターンデータベースに登録する。その際、登録部１７は、例えば、その一連の操作の実行中に入力された識別情報（例えば、口座番号）を、ユーザの識別情報として利用することができる。また、登録部１７は、ユーザが、一連の操作の終了に相当する操作をユーザインターフェース部２を介して行った場合に、ユーザが一連の操作を終了したと判定すればよい。あるいは、登録部１７は、ユーザの瞳孔及びプルキンエ像が一定期間（例えば、30秒間〜1分間）にわたって検出されなかった場合に、ユーザが一連の操作を終了したと判定してもよい。
【００７３】
また、ユーザが何れの登録ユーザとも異なる場合、登録部１７は、そのユーザの移動パターンが最初に検出されてからその操作終了時までに得られた各移動パターンに基づいて、キャリブレーションマップを生成してもよい。その際、登録部１７は、例えば、隣接するアイコン同士の間隔よりもサンプリング点間の間隔が狭くなるように各サンプリング点を設定する。登録部１７は、各サンプリング点について、そのサンプリング点に近い方から順に、何れかの移動パターンに含まれる固視点を複数選択し、選択した固視点の位置及び補正ベクトルに基づいて補間処理を実行することでそのサンプリング点の補正ベクトルを算出する。
【００７４】
また、ユーザが何れかの登録ユーザである場合、登録部１７は、そのユーザの移動パターンが最初に検出されてからその操作終了時までに得られた各移動パターン、及び、既に登録されている移動パターンに基づいて、キャリブレーションマップを更新してもよい。この場合も、登録部１７は、上記と同様の処理を行って、各サンプリング点についての補正ベクトルを算出すればよい。さらに、登録部１７は、ユーザについて得られた移動パターンの数が増えるほど、隣接するサンプリング点の間隔を狭くしてもよい。
【００７５】
さらにまた、登録部１７は、ユーザインターフェース部２の操作画面を所定数のブロックに分割し、何れのブロックについても所定数（例えば、3〜5）以上の固視点が含まれる場合に、キャリブレーションマップを生成または更新してもよい。
【００７６】
図６は、制御部６により実行される、注視位置検出処理の動作フローチャートである。制御部６は、視線検出デバイス４からユーザの眼を写した画像が得られる度に、下記の動作フローチャートに従って注視位置検出処理を実行する。
【００７７】
注視位置検出部１１は、視線検出デバイス４から取得した、ユーザの眼を写した画像から、ユーザインターフェース部２の操作画面上の注視位置の測定点を求める（ステップＳ１０１）。そして注視位置検出部１１は、操作画面上でのその測定点の座標及び取得順序をメモリ５に保存する。
【００７８】
移動パターン検出部１２は、最新の注視位置の測定点までの複数の注視位置の測定点に基づいて、注視位置の移動パターンを検出できたか否か判定する（ステップＳ１０２）。移動パターン（すなわち、現移動パターン）が検出された場合（ステップＳ１０２−Ｙｅｓ）、特徴抽出部１３は、選択用特徴を抽出する（ステップＳ１０３）。類似パターン抽出部１４は、その選択用特徴に基づいて、移動パターンデータベースに登録されている登録移動パターンの中から類似移動パターンの候補となる登録移動パターンを選択する（ステップＳ１０４）。そして類似パターン抽出部１４は、選択された登録移動パターンの中から、現移動パターンとの比較により類似移動パターンを選択する（ステップＳ１０５）。
【００７９】
補正部１５は、類似移動パターンに含まれる各固視点の補正ベクトルに基づいて、現移動パターンに含まれる各固視点の位置を補正する（ステップＳ１０６）。
【００８０】
一方、ステップＳ１０２にて、移動パターンが検出されていない場合（ステップＳ１０２−Ｎｏ）、制御部６は、ユーザによるユーザインターフェース部２を介した操作が行われたか否か判定する（ステップＳ１０７）。ユーザによるユーザインターフェース部２を介した操作が行われた場合（ステップＳ１０７−Ｙｅｓ）、操作ベース補正部１６は、そのユーザの操作が行われた操作画面上の位置に基づいて、最新の注視点の位置を補正する（ステップＳ１０８）。
【００８１】
ステップＳ１０８の後、または、ユーザによるユーザインターフェース部２を介した操作が行われていない場合（ステップＳ１０７−Ｎｏ）、制御部６は、ユーザの一連の操作が終了したか否か判定する（ステップＳ１０９）。ユーザの一連の操作が終了していない場合（ステップＳ１０９−Ｎｏ）、制御部６は、ステップＳ１０１以降の処理を繰り返す。
【００８２】
一方、ユーザの一連の操作が終了した場合（ステップＳ１０９−Ｙｅｓ）、登録部１７は、移動パターンの検出開始からユーザの一連の操作の終了までに検出された移動パターンのそれぞれを移動パターンデータベースに登録する（ステップＳ１１０）。
ステップＳ１０６またはステップＳ１１０の後、制御部６は、注視位置検出処理を終了する。
【００８３】
以上に説明してきたように、この注視位置検出装置は、検出したユーザの注視位置の移動パターンと類似する、移動パターンデータベースに登録されている類似移動パターンについて規定されている補正情報を利用して、ユーザの注視位置を補正する。そのため、この注視位置検出装置は、ユーザが何らかの操作を行う前、あるいは、ユーザが何の操作を行わなくても、ユーザの注視位置を補正できる。そのため、この注視位置検出装置は、例えば、ユーザが何らかの操作を行う前でも、ユーザが注視している位置に応じた適切なガイダンスをリアルタイムで行うことができる。また、この注視位置検出装置は、より多くのユーザの移動パターンを得るにつれて、そのユーザについてのキャリブレーションマップをより精密化できる。さらにまた、この注視位置検出装置は、より多くのユーザの移動パターンを得るにつれて、移動パターンデータベースに格納される移動パターンを増やすことができる。
【００８４】
図７は、上記の実施形態または変形例による端末装置１を含む注視位置検出システムの概略構成図である。注視位置検出システム１００は、端末装置１と、通信ネットワーク１０２を介して接続されるサーバ１０１とを有する。なお、サーバ１０１は、１台でもよく、あるいは、複数でもよい。そしてサーバ１０１が有するストレージデバイス（図示せず）に、移動パターンデータベースは保存される。この例では、サーバ１０１が有する１以上のプロセッサが、類似パターン抽出部１４及び登録部１７の処理を実行してもよい。この場合には、端末装置１の制御部６は、検出された移動パターンを表す情報と選択用特徴とを含む類似移動パターンの抽出要求信号を、通信インターフェース部３及び通信ネットワーク１０２を介してサーバ１０１へ送信する。そしてサーバ１０１は、その抽出要求信号を受信すると、類似パターン抽出部１４の処理を実行して、移動パターンデータベースから類似移動パターンを抽出する。そしてサーバ１０１は、抽出した類似移動パターンを表す情報を含む応答信号を生成し、その応答信号を、通信ネットワーク１０２を介して端末装置１へ送信する。そして端末装置１では、制御部６が、通信インターフェース部３を介してその応答信号を受け取り、その応答信号に含まれる、類似移動パターンを表す情報を参照して、後続の処理を実行することで、ユーザの注視位置を補正する。さらに、端末装置１の制御部６は、ユーザによる一連の操作が終了したと判断すると、そのユーザについて取得された各移動パターン及び選択用特徴を含む登録要求信号を生成する。そして制御部６は、登録要求信号を、通信インターフェース部３及び通信ネットワーク１０２を介してサーバ１０１へ送信する。サーバ１０１は、その登録要求信号を受信すると、登録部１７の処理を実行して、移動パターンデータベースにそのユーザの移動パターンを登録する。
【００８５】
また他の変形例によれば、類似パターン抽出部１４は、類似移動パターンの候補となる移動パターンを選択する際の処理の順序を上記の実施形態による順序と入れ替えてもよい。さらに、選択用特徴が得られない場合には、類似パターン抽出部１４は、移動パターンデータベースに登録されている全ての登録移動パターンについて評価値を算出し、その評価値が最小となる登録移動パターンを類似移動パターンとして選択してもよい。
【００８６】
さらに、移動パターンには、固視点以外の注視点の測定点が含まれてもよい。この場合には、移動パターンデータベースに登録されている各登録移動パターンについても、各注視点の測定点及び対応する補正ベクトルが含まれてもよい。
【００８７】
また、上記の実施形態及び変形例による制御部の各部の機能を実現するコンピュータプログラムは、半導体メモリ、磁気記録媒体または光記録媒体といった、コンピュータ読取可能な記録媒体に記録された形で提供されてもよい。
【００８８】
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【００８９】
以上説明した実施形態及びその変形例に関し、更に以下の付記を開示する。
（付記１）
注視位置の複数の登録移動パターンと、前記複数の登録移動パターンのそれぞれについて、当該登録移動パターンに含まれる注視位置の補正情報とを記憶する記憶部と、
互いに異なるタイミングにおいて視線検出デバイスにより生成されたユーザの視線方向を表すデータから得た、ユーザの注視位置の複数の測定点から、ユーザの注視位置の移動パターンを検出する移動パターン検出部と、
前記複数の登録移動パターンの中から、前記移動パターンと類似する登録移動パターンを抽出する類似パターン抽出部と、
前記類似する登録移動パターンについての前記注視位置の補正情報を用いて前記移動パターンに含まれる注視位置を補正する補正部と、
を有する注視位置検出装置。
（付記２）
前記ユーザに関する第１の特徴と、前記視線検出デバイスの配置に関する第２の特徴と、前記移動パターン取得時の環境に関する第３の特徴のうちの少なくとも一つの特徴を抽出する特徴抽出部をさらに有し、
前記記憶部は、前記複数の登録移動パターンのそれぞれについて、前記第１の特徴と、前記第２の特徴と、前記第３の特徴のうちの前記少なくとも一つの特徴を記憶し、
前記類似パターン抽出部は、前記複数の登録移動パターンのうち、前記移動パターンについての前記少なくとも一つの特徴と当該登録移動パターンの前記少なくとも一つの特徴との差が所定の許容範囲内となる登録移動パターンを選択し、選択した前記登録移動パターンのなかから前記類似する登録移動パターンを抽出する、付記１に記載の注視位置検出装置。
（付記３）
前記第１の特徴は、瞳孔サイズ、頭部の姿勢、及び視線の移動速度のうちの少なくとも一つを含む、付記２に記載の注視位置検出装置。
（付記４）
前記視線検出デバイスは光源とカメラとを有し、前記第２の特徴は、前記視線検出デバイスと前記ユーザが注視する対象となる面との位置関係、前記光源と前記カメラの位置関係、前記カメラの画角、前記面に表示された内容を表す情報、前記面を含む装置の識別情報のうちの少なくとも一つを含む、付記２または３に記載の注視位置検出装置。
（付記５）
前記第３の特徴は、前記移動パターン取得時の照度、前記移動パターン取得時の時間及び日付け、前記視線検出デバイスの設置位置を表す情報の少なくとも一つを含む、付記２〜４の何れかに記載の注視位置検出装置。
（付記６）
前記移動パターン検出部は、前記ユーザの注視位置の複数の測定点から１以上の固視点を検出し、所定期間が経過する度に、当該所定期間中に得られた一連の前記固視点を前記移動パターンとする、付記１に記載の注視位置検出装置。
（付記７）
前記移動パターン検出部は、所定数の前記固視点が得られる度に、前記所定期間が経過したと判定する、付記６に記載の注視位置検出装置。
（付記８）
前記ユーザが注視する対象となる面に複数の部分領域が表示され、前記移動パターン検出部は、前記固視点間の移動距離の合計が前記複数の部分領域のうちの隣接する部分領域間の平均距離の所定倍以上に達したときに前記所定期間が経過したと判定する、付記６に記載の注視位置検出装置。
（付記９）
互いに異なるタイミングにおいて視線検出デバイスにより生成されたユーザの視線方向を表すデータから得た、ユーザの注視位置の複数の測定点から、ユーザの注視位置の移動パターンを検出し、
記憶部に記憶された注視位置の複数の登録移動パターンの中から、前記移動パターンと類似する登録移動パターンを抽出し、
前記類似する登録移動パターンに対応する注視位置の補正情報を用いて前記移動パターンに含まれる注視位置を補正する、
ことを含む注視位置検出方法。
（付記１０）
互いに異なるタイミングにおいて視線検出デバイスにより生成されたユーザの視線方向を表すデータから得た、ユーザの注視位置の複数の測定点から、ユーザの注視位置の移動パターンを検出し、
記憶部に記憶された注視位置の複数の登録移動パターンの中から、前記移動パターンと類似する登録移動パターンを抽出し、
前記類似する登録移動パターンに対応する注視位置の補正情報を用いて前記移動パターンに含まれる注視位置を補正する、
ことをコンピュータに実行させるための注視位置検出用コンピュータプログラム。
【符号の説明】
【００９０】
１    端末装置
２    ユーザインターフェース部
３    通信インターフェース部
４    視線検出デバイス
５    メモリ
６    制御部
７    ストレージデバイス
１１    注視位置検出部
１２    移動パターン検出部
１３    特徴抽出部
１４    類似パターン抽出部
１５    補正部
１６    操作ベース補正部
１７    登録部
１００    注視位置検出システム
１０１    サーバ
１０２    通信ネットワーク
【図１】
0006604271.tif 000002
【図２】
0006604271.tif 000003
【図３】
0006604271.tif 000004
【図４】
0006604271.tif 000005
【図５】
0006604271.tif 000006
【図６】
0006604271.tif 000007
【図７】
0006604271.tif 000008