JP2012065719A - 視線検出装置、視線検出方法及び視線検出用コンピュータプログラムならびに携帯端末 - Google Patents

視線検出装置、視線検出方法及び視線検出用コンピュータプログラムならびに携帯端末 Download PDF

Info

Publication number
JP2012065719A
JP2012065719A JP2010211060A JP2010211060A JP2012065719A JP 2012065719 A JP2012065719 A JP 2012065719A JP 2010211060 A JP2010211060 A JP 2010211060A JP 2010211060 A JP2010211060 A JP 2010211060A JP 2012065719 A JP2012065719 A JP 2012065719A
Authority
JP
Japan
Prior art keywords
image
user
light source
pupil
detected
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010211060A
Other languages
English (en)
Other versions
JP5621456B2 (ja
Inventor
Takuya Kamimura
拓也 上村
Yukio Hirai
由樹雄 平井
Hiroyasu Yoshikawa
浩寧 吉川
Nobuyuki Kanto
信之 神頭
Satoshi Shimokawa
聡 下川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010211060A priority Critical patent/JP5621456B2/ja
Publication of JP2012065719A publication Critical patent/JP2012065719A/ja
Application granted granted Critical
Publication of JP5621456B2 publication Critical patent/JP5621456B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

【課題】光源のプルキンエ像の検出に失敗してから光源のプルキンエ像を検出できるまでのタイムラグを短縮できる視線検出装置を提供する。
【解決手段】視線検出装置1は、互いに異なる位置に配置された複数の光源(11−1〜11−4)と、所定の周期ごとに、第1の光源がユーザの眼を照明している間にユーザの眼を撮影した第1の画像と、第2の光源がユーザの眼を照明している間にユーザの眼を撮影した第2の画像を生成する撮像部12と、所定の周期ごとに、第1及び第2の画像の一方から、第1及び第2の光源のうちの一方による角膜反射像とユーザの瞳孔重心とを検出できるか否か判定し、角膜反射像及び瞳孔重心を検出した場合、瞳孔重心と角膜反射像との位置関係に応じてユーザの視線方向を検出し、一方、角膜反射像または瞳孔重心の何れかを検出できない場合、第1及び第2の画像の他方から瞳孔重心及び角膜反射像を検出する制御部14とを有する。
【選択図】図1

Description

本発明は、例えば、角膜反射像を検出することにより視線方向を検出する視線検出装置、視線検出方法及び視線検出用コンピュータプログラムならびにそのような視線検出装置を用いた携帯端末に関する。
従来より、ユーザの眼を撮影した画像を解析することにより光源の角膜反射像(プルキンエ像)を検出することで、ユーザの視線方向を検出する視線検出装置が開発されている。
このような視線検出装置は、プルキンエ像を検出できなければ、視線方向を検出することができない。例えば、ユーザが眼鏡を掛けている場合、視線検出装置は、光源からの照明光が眼鏡レンズにより反射された像とプルキンエ像が重なって、プルキンエ像を検出できないことがある。そこで、視線検出装置がユーザの眼を撮影した画像上でプルキンエ像を検出できなければ、撮影条件または画像取得条件を変更して再度ユーザの眼を撮影し、再撮影された画像上でプルキンエ像を検出する技術が提案されている(例えば、特許文献1〜4を参照)。例えば、このような公知技術の一例では、視線検出装置は複数の照明光源を有し、そのうちの何れかの光源を点灯させた状態でユーザの眼を撮影する。そして視線検出装置は、その撮影画像上でプルキンエ像を検出できない場合、他の光源を点灯させた状態でユーザの眼を再度撮影し、その再撮影された画像上でプルキンエ像を検出する。
特開平6−138367号公報 特開2005−296383号公報 特開2003−339642号公報 特表2001−524703号公報
しかしながら、視線検出装置が、プルキンエ像の検出処理を行い、その検出に失敗してからユーザの眼を再撮影すると、プルキンエ像が検出できるまでにタイムラグが生じてしまう。そして最初の撮影時から再撮影時までの間にユーザが眼を動かすと、視線検出装置は、最初の撮影時におけるユーザの視線方向を検出できなくなってしまう。
そこで本明細書は、光源のプルキンエ像の検出に失敗してから、光源のプルキンエ像を検出できるまでのタイムラグを短縮できる視線検出装置及び視線検出方法を提供することを目的とする。
一つの実施形態によれば、視線検出装置が提供される。この視線検出装置は、互いに異なる位置に配置された複数の光源と、所定の周期ごとに、複数の光源のうちの第1の光源がユーザの眼を照明している間にユーザの眼を撮影した第1の画像と、複数の光源のうちの第2の光源がユーザの眼を照明している間にユーザの眼を撮影した第2の画像を生成する撮像部と、所定の周期ごとに、第1の画像及び第2の画像のうちの一方から、第1の光源及び第2の光源のうちの一方による角膜反射像とユーザの瞳孔重心とを検出できるか否か判定し、角膜反射像及び瞳孔重心を検出した場合、その瞳孔重心と角膜反射像との位置関係に応じてユーザの視線方向を検出し、一方、角膜反射像または瞳孔重心の何れかを検出できない場合、第1の画像及び第2の画像のうちの他方から瞳孔重心及び角膜反射像を検出し、瞳孔重心と角膜反射像との位置関係に応じてユーザの視線方向を検出する制御部とを有する。
また他の実施形態によれば、携帯端末が提供される。この携帯端末は、表示部と、表示部の周囲の互いに異なる位置に配置された複数の光源と、所定の周期ごとに、複数の光源のうちの第1の光源がユーザの眼を照明している間にユーザの眼を撮影した第1の画像と、複数の光源のうちの第2の光源がユーザの眼を照明している間にユーザの眼を撮影した第2の画像を生成する撮像部と、所定の周期ごとに、第1の画像及び第2の画像のうちの一方から、第1の光源及び第2の光源のうちの一方による角膜反射像とユーザの瞳孔重心とを検出できるか否か判定し、角膜反射像及び瞳孔重心を検出できる場合、その瞳孔重心と角膜反射像との位置関係に応じてユーザが表示部上で注視している注視位置を検出し、一方、角膜反射像または瞳孔重心の何れかを検出できない場合、第1の画像及び第2の画像のうちの他方から瞳孔重心及び角膜反射像を検出し、瞳孔重心と角膜反射像との位置関係に応じて注視位置を検出する制御部と、注視位置と関連付けられた処理を実行するアプリケーション実行部とを有する。
さらに他の実施形態によれば、視線検出方法が提供される。この視線検出方法は、所定の周期ごとに、互いに異なる位置に配置された複数の光源のうちの第1の光源がユーザの眼を照明している間にユーザの眼を撮影した第1の画像と、複数の光源のうちの第2の光源がユーザの眼を照明している間にユーザの眼を撮影した第2の画像を取得し、所定の周期ごとに、第1の画像及び第2の画像のうちの一方から、第1の光源及び第2の光源のうちの一方による角膜反射像とユーザの瞳孔重心とを検出できるか否か判定し、角膜反射像及び瞳孔重心を検出した場合、その瞳孔重心と角膜反射像との位置関係に応じてユーザの視線方向を検出し、一方、角膜反射像または瞳孔重心の何れかを検出できない場合、第1の画像及び第2の画像のうちの他方から瞳孔重心及び角膜反射像を検出し、瞳孔重心と角膜反射像との位置関係に応じてユーザの視線方向を検出することを含む。
本発明の目的及び利点は、請求項において特に指摘されたエレメント及び組み合わせにより実現され、かつ達成される。
上記の一般的な記述及び下記の詳細な記述の何れも、例示的かつ説明的なものであり、請求項のように、本発明を限定するものではないことを理解されたい。
本明細書に開示された視線検出装置及び視線検出方法は、光源のプルキンエ像の検出に失敗してから、光源のプルキンエ像を検出できるまでのタイムラグを短縮できる。
一つの実施形態による視線検出装置を搭載した携帯端末のハードウェア構成図である。 携帯端末の概略正面図である。 光源のプルキンエ像と眼鏡レンズで反射された光源の像とが写った画像の一例を示す図である。 視線検出装置の制御部の機能ブロック図である。 参照テーブルの一例を示す図である。 キャリブレーション処理の動作フローチャートを示す図である。 視線検出処理の動作フローチャートを示す図である。
以下、図を参照しつつ、一つの実施形態による、視線検出装置について説明する。
この視線検出装置は、異なる位置に配置された複数の光源を有し、一定の周期ごとに、各光源のうち点灯する光源を変えつつ複数回ユーザの眼を撮影することで、眼を照明する光源が異なる複数の画像を生成する。そしてこの視線検出装置は、一定の周期ごとに生成された複数の画像に対して順次プルキンエ像及び瞳孔の重心を検出し、プルキンエ像及び瞳孔の重心が検出された画像を用いてユーザの視線を検出する。このように、この視線検出装置は、プルキンエ像または瞳孔の重心の検出に失敗してからユーザの眼を再撮影するのではなく、予めユーザの眼を照明する光源が異なる複数の画像を取得しているので、最初に解析した画像上でプルキンエ像または瞳孔の重心の検出に失敗した場合でも、ユーザの視線方向が検出できるまでのタイムラグを短縮できる。
図1は、一つの実施形態による視線検出装置を搭載した携帯端末のハードウェア構成図である。携帯端末1は、ユーザインターフェース2と、メモリ3と、制御部4と、筺体5と、視線検出装置10とを有するコンピュータである。なお、携帯端末1は、例えば、携帯電話機または携帯情報端末である。さらに携帯端末1は、携帯端末1を他の機器に接続するための通信インターフェース回路(図示せず)を有していてもよい。なお、図1は、携帯端末1が有する構成要素を説明するための図であり、携帯端末1の各構成要素の実際の配置を表した図ではないことに留意されたい。
ユーザインターフェース2は、例えば、タッチパネルディスプレイを有する。そしてユーザインターフェース2は、筺体5の正面において、ユーザインターフェース2の表示画面が、筺体5の正面に対向するユーザを向くように配置される。そしてユーザインターフェース2は、例えば、様々なアイコンを制御部4からの制御信号に応じて表示する。またユーザインターフェース2は、表示されたアイコンの位置にユーザが触れた場合に、その位置に応じた操作信号を生成し、その操作信号を制御部4へ出力する。
なお、ユーザインターフェース2は、液晶ディスプレイといった表示装置と、キーパッドなどの複数の操作スイッチを有していてもよい。
メモリ3は、例えば、読み書き可能な不揮発性の半導体メモリを有する。そしてメモリ3は、制御部4上で実行される各種のアプリケーションプログラム及び各種のデータを記憶する。またメモリ3は、ユーザインターフェース2の表示画面に表示中のアイコンの領域を表す情報を記憶する。
さらに、メモリ3は、視線検出装置10の記憶部としても機能する。そしてメモリ3は、例えば、プルキンエ像の重心に対する瞳孔重心の相対的な位置とユーザが注視する位置との関係を表す参照テーブルなど、ユーザが注視する位置を検出するために利用される各種のデータを記憶する。また、メモリ3は、キャリブレーション処理の実行時において使用される、ユーザが眼鏡を装着しているか否かを表す眼鏡装着フラグを記憶する。さらに、メモリ3は、視線検出処理を実行するプログラムを記憶する。
なお、視線検出装置10の記憶部として機能するメモリ回路は、メモリ3とは別個に携帯端末1に実装されてもよい。
視線検出装置10は、ユーザインターフェース2の表示画面上でユーザが注視している位置、すなわち、ユーザの視線方向を求める。そして視線検出装置10は、ユーザが注視している位置を表す情報を制御部4が実行中のアプリケーションプログラムに渡す。なお、視線検出装置10の詳細については後述する。
制御部4は、一つまたは複数のプロセッサ及びその周辺回路を有する。そして制御部4は、携帯端末1の各部と信号線を介して接続されており、携帯端末1全体を制御する。例えば、制御部4は、ユーザインターフェース2から受け取った操作信号と実行中のアプリケーションプログラムに応じた処理を実行する。
また制御部4は、視線検出装置10の制御部としても機能する。なお、視線検出装置10の制御部としての機能及び動作に関しては後述する。
さらに、制御部4は、アプリケーション実行部の一例であり、例えば、視線検出装置10により求められた、ユーザが注視している位置とメモリ3に記憶されているユーザインターフェース2の表示画面上の各アイコンの表示領域とを比較する。そして制御部4は、ユーザが注視している位置と何れかのアイコンの表示領域とが重なっている場合、そのアイコンに応じた処理を実行する。例えば、表示画面に現在地に近いホテルを表すアイコンが表示されており、各アイコンには、ホテルの詳細情報を表示画面の下方に表示する処理が関連付けられているとする。
この場合、ユーザが注視する位置が何れかのアイコンの表示領域と重なっていれば、制御部4は、ユーザインターフェース2に、そのアイコンに関連するホテルの詳細情報を表示画面の下方に表示させる。本実施形態では、視線検出装置10が一定の周期ごとに眼を照明する光源が異なる複数の画像に基づいてユーザが注視する位置を検出するので、制御部4は、ユーザが注視している位置を各周期において知ることができる。そのため、ユーザが注視するアイコンを次々に変えても、制御部4は、ユーザが注視したアイコンに関連付けられた情報を確実に表示させることができる。
視線検出装置10は、ユーザの視線を検出するために、4個の光源11−1〜11−4と、カメラ12と、メモリ3と、制御部4とを有する。
光源11−1〜11−4は、携帯端末1を操作するユーザの眼及びその周囲を照明する。そのため、各光源11−1〜11−4は、例えば、少なくとも一つの赤外発光ダイオードと、制御部4からの制御信号に応じて、赤外発光ダイオードに図示しない電源からの電力を供給する駆動回路とを有する。そして各光源11−1〜11−4は、制御部4から光源を点灯させる制御信号を受信している間、照明光を発する。
なお、視線検出装置10が有する光源の数は、4個に限られない。視線検出装置10は、互いに異なる位置に配置された2個以上の光源を有すればよい。
カメラ12は、撮像部の一例であり、ユーザの眼が写った画像を生成する。そのために、カメラ12は、光源11−1〜11−4の光に感度を持つ2次元状に配列された固体撮像素子を有するイメージセンサと、そのイメージセンサ上にユーザの眼の像を結像する撮像光学系を有する。カメラ12は、虹彩による反射像及び光源11−1〜11−4以外の光源からの光の角膜反射像が検出されることを抑制するために、イメージセンサと撮像光学系の間に、可視光カットフィルタをさらに有してもよい。
また、画像が光源11−1〜11−4のプルキンエ像を識別できる程度の解像度を有するように、カメラ12のイメージセンサの画素数は、例えば、100万、200万、あるいは400万とすることができる。またイメージセンサにより生成される画像はカラー画像であり、画素ごとに赤色(R)、緑色(G)及び青色(B)の3色の成分を持つ。各色成分は、例えば、0〜255の何れかの値をとり、色成分値が大きいほど、その色の輝度が高い。あるいは、イメージセンサにより生成される画像は、光の強度が強いほど各画素の輝度が高くなるモノクロ画像であってもよい。
カメラ12は、制御部4から撮影指示信号を受け取ると、光源11−1〜11−4の何れかが点灯している間に撮影することにより、点灯している光源により照明されたユーザの少なくとも一方の眼、好ましくは両方の眼が写った画像を生成する。そしてカメラ12は、画像を生成する度に、生成した画像を制御部4へ出力する。
図2は、携帯端末1の概略正面図である。本実施形態では、図2に示されるように、携帯端末1のユーザインターフェース2の表示画面2aの上端に近接してカメラ12が配置される。このカメラ12は、表示画面2aに対向するユーザの顔を撮影できるように向けられる。なお、表示画面2aは、ユーザが注視する可能性がある注視領域の一例である。
各光源11−1〜11−4は、表示画面2aに対向するユーザの顔を照明できるように、ユーザインターフェース2の外周に沿って配置される。また、ユーザが眼鏡を掛けている場合に、光源11−1〜11−4の少なくとも一つの眼鏡レンズによる反射像とユーザの角膜による反射像とがカメラ12の像面で重複しないように、各光源11−1〜11−4は、互いに異なる位置に配置される。例えば、光源11−1〜11−4のうちの少なくとも二つの間隔が、ユーザが携帯端末1を操作する際のユーザと表示画面2a間の距離においてその二つの光源の眼鏡レンズによる反射像間の距離が瞳孔の直径よりも大きくなるように設定される。例えば、光源11−1と光源11−2間の距離は、50mm以上に設定されることが好ましい。この例では、光源11−1は、ユーザインターフェース2の上側に配置される。また光源11−2〜11−4は、それぞれ、ユーザインターフェース2の下側、左側、右側に配置される。
一般に、眼鏡レンズのユーザと対向しない側の表面は凸状に形成されるが、その曲率半径は、角膜の曲率半径よりも非常に大きい。すなわち、カメラ12にとって、眼鏡レンズと角膜の両方とも、凸面鏡として機能するが、角膜の光学パワーの絶対値の方が、眼鏡レンズの光学パワーの絶対値よりも強い。したがって、光源の位置が変化すると、角膜による光源の反射像の位置変化量は、眼鏡レンズによる光源の反射像の位置変化量よりも小さい。そのため、ある光源の眼鏡レンズによる反射像と角膜による反射像がカメラ12の像面で重なる場合、他の位置にある光源の眼鏡レンズによる反射像と角膜による反射像は、カメラ12の像面では異なる位置になる。
したがって、互いに異なる位置に配置された複数の光源11−1〜11−4のうちの点灯する光源を変えることで、視線検出装置1は、光源11からの照明光の眼鏡レンズによる反射像とその照明光のプルキンエ像とをカメラ12の像面上で異なる位置に分離できる。
図3は、光源のプルキンエ像と眼鏡レンズで反射された光源の像とが写った画像の一例を示す図である。図3に示された画像300では、上下方向に並んだ二つの光源により照明されたユーザの眼が写っている。画像300上の輝点301、302は、それぞれ、二つの光源のプルキンエ像である。一方、輝点311、312は、それぞれ、眼鏡レンズの表面で反射された二つの光源の反射像である。眼鏡レンズによる反射像は明るいので、その反射像と光源のプルキンエ像が重なると、視線検出装置10がそのプルキンエ像を検出するのは困難である。しかし、輝点311と輝点312の間隔は、輝点301と302間の間隔よりも非常に大きい。したがって、上側の光源または下側の光源の何れか一方に関して、光源のプルキンエ像と眼鏡レンズによる反射像が重なる場合には、他方の光源については、光源のプルキンエ像と眼鏡レンズによる反射像が重ならないことが分かる。
また各光源11−1〜11−4とカメラ12とを結ぶ線が、表示画面2aの中心から外れるように各光源11−1〜11−4及びカメラ12は配置されることが好ましい。このように各光源とカメラ12を配置することにより、表示画面2aに対して正対しているユーザが眼鏡を掛けていても、眼鏡レンズで反射された光源の光はカメラ12と異なる方向へ向かう可能性が高くなる。そのため、視線検出装置10は、ユーザが眼鏡を掛けている場合でも、光源のプルキンエ像及び瞳孔の重心と眼鏡レンズによる光源の像とが重なる可能性を低減できる。
制御部4は、上述したように、携帯端末1の制御部でもあり、視線検出装置10の各部と信号線を通じて接続されている。そして制御部4は、視線検出装置10の各部へ信号線を通じて制御信号を送信することで視線検出装置10の各部を制御する。
また制御部4は、ユーザが注視している位置の情報を用いるアプリケーションが携帯端末1で実行されている間、ユーザが注視している位置を求める視線方向検出処理を実行する。また、制御部4は、携帯端末1の起動時、あるいは上記のようなアプリケーションの起動時など、特定のタイミングにおいて、光源のプルキンエ像と瞳孔重心との相対的な位置関係とユーザが注視している位置との関係を求めるキャリブレーション処理を実行する。
図4は、制御部4の視線検出処理に関する機能ブロック図である。制御部4は、光源制御部21と、カメラ制御部22と、顔検出部23と、プルキンエ像検出部24と、視線検出部25と、キャリブレーション部26とを有する。
光源制御部21、カメラ制御部22、顔検出部23、プルキンエ像検出部24、視線検出部25及びキャリブレーション部26は、制御部4が有するプロセッサ上で実行されるコンピュータプログラムにより実現される機能モジュールである。
あるいは、光源制御部21、カメラ制御部22、顔検出部23、プルキンエ像検出部24、視線検出部25及びキャリブレーション部26は、それぞれ、制御部4が有するプロセッサとは別個の回路として形成されてもよい。あるいは光源制御部21、カメラ制御部22、顔検出部23、プルキンエ像検出部24、視線検出部25及びキャリブレーション部26は、その各部に対応する回路が集積された一つの集積回路として、制御部4が有するプロセッサとは別個に携帯端末1に実装されてもよい。この場合、その集積回路は、メモリ3とは別個に、参照テーブルなどを記憶して、視線検出装置10が有する記憶部として機能する記憶回路を含んでいてもよい。
光源制御部21は、光源11−1〜11−4のそれぞれについて点灯するタイミングを制御する。そして光源制御部21は、視線検出処理の実行中において、点灯する光源が一定の周期で切り替わるように各光源へ制御信号を送信する。例えば、光源制御部21は、一定周期ごとに、点灯する光源が、11−1→11−2→11−3→11−4の順序で切り替わるように各光源へ制御信号を送信してもよい。
また光源制御部21は、同時に2個以上の光源が点灯するように各光源へ制御信号を送信してもよい。同時に複数の光源が点灯すると、プルキンエ像にも点灯している複数の光源の像が含まれるので、視線検出装置10は、画像上での輝点の配置パターンが、実際に点灯している光源の配置パターンと一致するか否か調べることができる。そのため、視線検出装置10は、室内灯または太陽など、他の光源の像と視線検出装置10が有する光源の像とを識別し易くなる。
例えば、光源制御部21は、一定周期ごとに、点灯する光源が、(11−1、11−3)→(11−2、11−4)の順序で切り替わるように各光源へ制御信号を送信してもよい。あるいは、光源制御部21は、一定周期ごとに、点灯する光源が、(11−1、11−3)→(11−2、11−4)→(11−1、11−4)→(11−2、11−3)の順序で切り替わるように各光源へ制御信号を送信してもよい。
また一定周期は、例えば、ユーザの視線の移動に追随して必要な操作が実行されるように決定される。例えば、一定周期は、50ミリ秒〜100ミリ秒に設定される。
また光源制御部21は、キャリブレーション処理の実行中において、1回の周期における光源の点灯順序に従って、各光源を順次点灯させる。
光源制御部21は、点灯させる光源を切り替える度に、その旨をカメラ制御部22へ通知する。
カメラ制御部22は、視線検出処理またはキャリブレーション処理の実行中において、カメラ12が撮影するタイミングを制御する。カメラ制御部22は、光源制御部21から点灯させる光源を切り替えることを通知されると、カメラ12に対して撮影を実行させる撮影指示信号を送信する。そしてカメラ制御部22は、カメラ12から画像を受け取ると、その画像を一旦メモリ3に記憶させる。
したがって、カメラ制御部22は、光源11−1〜11−4の点灯パターンが一巡する一定周期ごとに、カメラ12から複数の画像を受け取る。例えば、上記のように、光源11−1〜11−4が一定周期内で1個ずつ点灯する場合、カメラ制御部22は、各光源が点灯している間に撮影された4枚の画像を受け取る。また、光源11−1〜11−4が、一定周期内で2個ずつ、2通りのパターンで点灯する場合、カメラ制御部22は、それぞれの点灯パターンで光源が点灯している間に撮影された2枚の画像を受け取る。
顔検出部23は、視線検出処理またはキャリブレーション処理の実行中において、画像上でユーザの眼が写っている可能性のある領域を特定するために、カメラ12から受け取った画像上で、ユーザの顔が写っている領域を検出する。
本実施形態では、撮影時において、ユーザの顔は光源11−1〜11−4からの赤外光で照明されており、赤外光に対する肌の反射率は比較的高い(例えば、肌の反射率は近赤外の波長域で数10%)ので、画像上で顔の肌の部分が写っている画素の輝度は高い。一方、画像上で髪の毛またはユーザの背後の領域は赤外光に対する反射率が低いかまたは光源から遠いため、髪の毛またはユーザの背後の領域が写っている画素の輝度は、相対的に低くなる。
そこで、顔検出部23は、画像の各画素の値がRGB表色系により表されているカラー画像である場合、各画素の値をYUV表色系により表される値に変換する。そして顔検出部23は、各画素の輝度成分(Y成分)の値が所定の閾値以上の画素を、顔が写っている可能性がある顔領域候補画素として抽出する。なお、画像の各画素の値が輝度を表すモノクロ画像である場合、顔検出部23は、各画素の値を所定の閾値と比較する。所定の閾値は、例えば、画像上の輝度成分の最大値に0.8を乗じた値に設定される。
また、ユーザの視線に応じて携帯端末1の操作が実行される場合、ユーザの顔は、携帯端末1の正面を向いており、かつ、携帯端末1の正面から略数十cm離れた位置にあると想定される。そのため、画像上でユーザの顔が占める領域は比較的大きく、かつ、画像上で顔が占める領域の大きさもある程度推定される。
そこで顔検出部23は、顔領域候補画素に対してラベリング処理を行って、互いに隣接している顔領域候補画素の集合を顔候補領域とする。そして顔検出部23は、顔候補領域の大きさがユーザの顔の大きさに相当する基準範囲に含まれているか否か判定する。顔候補領域の大きさがユーザの顔の大きさに相当する基準範囲に含まれていれば、顔検出部23はその顔候補領域をユーザの顔が写っている顔領域と判定する。
なお、顔候補領域の大きさは、例えば、顔候補領域の水平方向の最大幅の画素数で表される。この場合、基準範囲は、例えば、画像の水平方向画素数の1/4以上〜2/3以下に設定される。あるいは、顔候補領域の大きさは、例えば、顔候補領域に含まれる画素数で表されてもよい。この場合、基準範囲は、例えば、画像全体の画素数の1/16以上〜4/9以下に設定される。
顔検出部23は、顔候補領域の大きさだけでなく、顔候補領域の形状も、顔候補領域を顔領域と判定するための判定条件に加えてもよい。人の顔は、一般に略楕円形状を有している。そこで顔検出部23は、例えば、顔候補領域の大きさが上記の基準範囲に含まれ、かつ、顔候補領域の円形度が、一般的な顔の輪郭に相当する所定の閾値以上である場合に顔候補領域を顔領域としてもよい。なお顔検出部23は、顔候補領域の輪郭上に位置する画素の合計を顔候補領域の周囲長として求め、顔候補領域内の総画素数に4πを乗じた値を周囲長の2乗で除することにより円形度を算出できる。
あるいは、顔検出部23は、顔候補領域の輪郭上の各画素の座標を楕円方程式に当てはめて最小二乗法を適用することにより、顔候補領域を楕円近似してもよい。そして顔検出部23は、その楕円の長軸と短軸の比が一般的な顔の長軸と短軸の比の範囲に含まれる場合に、顔候補領域を顔領域としてもよい。なお、顔検出部23は、楕円近似により顔候補領域の形状を評価する場合、画像の各画素の輝度成分に対して近傍画素間演算を行ってエッジに相当するエッジ画素を検出してもよい。この場合、顔検出部23は、エッジ画素を例えばラベリング処理を用いて連結し、一定の長さ以上に連結されたエッジ画素を顔候補領域の輪郭とする。
なお、顔検出部23は、画像上に写っている顔の領域を検出する他の様々な方法の何れかに従って顔領域を検出してもよい。例えば、顔検出部23は、顔候補領域と一般的な顔の形状に相当するテンプレートとの間でテンプレートマッチングを行って、顔候補領域とテンプレートとの一致度を算出し、その一致度が所定値以上である場合に、顔候補領域を顔領域と判定してもよい。
顔検出部23は、顔領域を抽出できると、顔領域を表す情報を生成する。例えば、顔領域を表す情報は、画像と同一のサイズを有し、かつ顔領域内の画素と顔領域外の画素とが異なる画素値を持つ2値画像とすることができる。
そして顔検出部23は、顔領域を表す情報をプルキンエ像検出部24へ渡す。
プルキンエ像検出部24は、視線検出処理またはキャリブレーション処理の実行中において、顔領域内でユーザの眼が写っている領域を検出し、眼が写っている領域内でプルキンエ像を検出する。
眼に相当する画素の輝度は、眼の周囲に相当する画素の輝度と大きく異なる。そこでプルキンエ像検出部24は、顔領域内の各画素に対して、例えば、Sobelフィルタを用いて垂直方向の近傍画素間差分演算を行って垂直方向に輝度が変化するエッジ画素を検出する。そしてプルキンエ像検出部24は、例えば、エッジ画素が略水平方向に眼の大きさに相当する所定数以上連結された2本のエッジ線で囲まれた領域を眼の領域とする。
あるいは、プルキンエ像検出部24は、画像上の眼の像を表すテンプレートと、顔領域とのテンプレートマッチングにより、顔領域内でテンプレートに最も一致する領域を検出し、その検出した領域を眼の領域としてもよい。
さらに、プルキンエ像検出部24は、眼の領域内で瞳孔が写っている領域を検出する。本実施形態では、プルキンエ像検出部24は、瞳孔に相当するテンプレートと眼の領域との間でテンプレートマッチングを行い、眼の領域内でテンプレートとの一致度が最も高くなる領域を検出する。そしてプルキンエ像検出部24は、一致度の最高値が所定の一致度閾値よりも高い場合、その検出した領域に瞳孔が写っていると判定する。なお、テンプレートは、瞳孔の大きさに応じて複数準備されてもよい。この場合、プルキンエ像検出部24は、各テンプレートと眼の領域とのテンプレートマッチングをそれぞれ実行し、一致度の最高値を求める。そして一致度の最高値が一致度閾値よりも高い場合、プルキンエ像検出部24は、一致度の最高値に対応するテンプレートと重なった領域に瞳孔が写っていると判定する。なお、一致度は、例えば、テンプレートとそのテンプレートと重なった領域との正規化相互相関値として算出される。また一致度閾値は、例えば、0.7または0.8に設定される。
また瞳孔が写っている領域の輝度は、その周囲の領域の輝度よりも低く、瞳孔は略円形である。そこでプルキンエ像検出部24は、眼の領域内で、同心円状に半径の異なる2本のリングを設定する。そしてプルキンエ像検出部24は、外側のリングに相当する画素の輝度の平均値から内側の画素の輝度の平均値を引いた差分値が所定の閾値よりも大きい場合、その内側のリングで囲まれた領域を瞳孔領域としてもよい。またプルキンエ像検出部24は、内側のリングで囲まれた領域の平均輝度値が所定の閾値以下であることを、瞳孔領域として検出する条件に加えてもよい。この場合、所定の閾値は、例えば、眼の領域内の最大輝度値と最小輝度値の差の10%〜20%を、最小輝度値に加えた値に設定される。
プルキンエ像検出部24は、瞳孔領域の検出に成功した場合、瞳孔領域に含まれる各画素の水平方向座標値の平均値及び垂直方向座標値の平均値を、瞳孔領域の重心の座標として算出する。一方、プルキンエ像検出部24は、瞳孔領域の検出に失敗した場合、制御部4へその旨を表す信号を返す。
またプルキンエ像検出部24は、眼の領域内で光源11−1〜11−4のプルキンエ像を検出する。光源11−1〜11−4のプルキンエ像が写っている領域の輝度は、その周囲の領域の輝度よりも高く、その輝度値は略飽和している(すなわち、輝度値が、画素値が取り得る輝度の値の略最高値となっている)。また、光源11−1〜11−4のプルキンエ像が写っている領域の形状は、各光源の発光面の形状と略一致する。そこでプルキンエ像検出部24は、眼の領域内で、光源の発光面の輪郭形状と略一致する形状を持ち、かつ、大きさが異なるとともに中心が一致する2本のリングを設定する。そしてプルキンエ像検出部24は、内側のリングに相当する画素の輝度の平均値である内部輝度平均値から外側の画素の輝度の平均値を引いた差分値が所定の差分閾値よりも大きく、かつ内側輝度平均値が所定の輝度閾値よりも高い場合、その内側のリングで囲まれた領域を光源11−1〜11−4のプルキンエ像とする。なお、差分閾値は、例えば、眼の領域内の近傍画素間の差分値の平均値とすることができる。また所定の輝度閾値は、例えば、眼の領域内での輝度値の最高値の80%とすることができる。
なお、プルキンエ像検出部24は、画像上で瞳孔が写っている領域を検出する他の様々な方法の何れかを用いて、瞳孔が写っている領域を検出してもよい。同様に、プルキンエ像検出部24は、画像上で光源のプルキンエ像が写っている領域を検出する他の様々な方法の何れかを用いて、光源のプルキンエ像が写っている領域を検出してもよい。
プルキンエ像検出部24は、光源11−1〜11−4の何れかのプルキンエ像の検出に成功した場合、光源に含まれる各画素の水平方向座標値の平均値及び垂直方向座標値の平均値を、プルキンエ像の重心の座標として算出する。一方、プルキンエ像検出部24は、光源のプルキンエ像の検出に失敗した場合、制御部4へその旨を表す信号を返す。
プルキンエ像検出部24は、キャリブレーション処理の実行時の場合、プルキンエ像の重心及び瞳孔重心をキャリブレーション部26へ通知する。一方、プルキンエ像検出部24は、視線検出処理の実行時には、プルキンエ像の重心及び瞳孔重心を視線検出部25へ通知する。
視線検出部25は、視線検出処理の実行中において、プルキンエ像の重心及び瞳孔重心に基づいて、ユーザが、ユーザインターフェース2の表示画面2a上で注視している位置、すなわち、ユーザの視線方向を検出する。なお、以下では、便宜上、ユーザが表示画面2a上で注視している位置を単に注視位置と呼ぶ。
角膜の表面は略球形であるため、視線方向によらず、光源のプルキンエ像の位置はほぼ一定となる。一方、瞳孔重心は、ユーザの視線方向に応じて移動する。そのため、視線検出部25は、プルキンエ像の重心を基準とする瞳孔重心の相対的な位置を求めることにより、ユーザの視線方向を検出できる。
本実施形態では、視線検出部25は、光源のプルキンエ像の重心を基準とする瞳孔重心の相対的な位置を、例えば、瞳孔重心の水平方向座標及び垂直方向座標からプルキンエ像の重心の水平方向座標及び垂直方向座標を減算することにより求める。そして視線検出部25は、瞳孔重心の相対的な位置と表示画面2a上でのユーザの注視位置との関係を表す参照テーブルを参照することにより、ユーザの注視位置を決定する。
そして視線検出部25は、ユーザの注視位置を制御部4で実行中のアプリケーションプログラムへ通知する。
図5は、参照テーブルの一例を示す図である。参照テーブル500の左側の列の各欄には、光源のプルキンエ像の重心を基準とする瞳孔重心の相対的な位置の座標が表される。また参照テーブル500の右側の列の各欄には、同じ行の瞳孔重心の相対的な位置の座標に対応する注視位置の座標が表される。なお、瞳孔重心の相対的な位置の座標は、画像上の画素単位で表され、一方、注視位置の座標は、表示画面2aの画素単位で表される。例えば、行501には、瞳孔重心の相対的な位置の座標(0,0)に対する注視位置の座標が(cx,cy)であることが示されている。なお、cx、cyは、例えば、表示画面2aの中心の水平座標及び垂直座標である。また、行502には、瞳孔重心の相対的な位置の座標(-2,0)に対する注視位置の座標が(cx-10,cy)であることが示されている。
キャリブレーション部26は、参照テーブルを更新する。またキャリブレーション部26は、キャリブレーション処理の実行タイミングを決定する。
キャリブレーション部26は、例えば、制御部4から携帯端末1が起動したことを示す信号を受信したとき、あるいは、特定のアプリケーションが起動されたことを示す信号を受信したときに、最初のキャリブレーション処理を実行する。
キャリブレーション処理が開始されると、キャリブレーション部26は、ユーザインターフェース2の表示画面2a上の所定の基準位置にキャリブレーション用のマークを表示させる。基準位置は、例えば、表示画面2aの中心、あるいは表示画面2aの4角の何れかとすることができる。またキャリブレーションの実行中、ユーザは、表示画面2a上に表示されているキャリブレーション用のマークを注視するものとする。
キャリブレーション部26は、表示画面2aの中心にマークが表示されているときに撮影された画像に基づいて検出された、プルキンエ像の重心及び瞳孔重心の座標をプルキンエ像検出部24から受け取る。そしてキャリブレーション部26は、プルキンエ像の重心を基準とする瞳孔重心の相対的な位置を、表示画面2aの中心に対応させるよう、参照テーブルを更新する。
またキャリブレーション部26は、表示画面2aの左上の角にマークが表示されているときに撮影された画像に基づいて検出された、プルキンエ像の重心及び瞳孔重心の座標をプルキンエ像検出部24から受け取る。そしてキャリブレーション部26は、このときのプルキンエ像の重心を基準とする瞳孔重心の相対的な位置を、表示画面2aの左上の角に対応させるよう、参照テーブルを更新する。同様に、キャリブレーション部26は、マークが表示画面2aのそれぞれの角に表示されているときの撮影画像から求められたプルキンエ像の重心を基準とする瞳孔重心の相対的な位置を、そのマークの表示位置と対応づけるよう参照テーブルを更新する。
さらに、キャリブレーション部26は、表示画面2a上のその他の位置に対するプルキンエ像の重心を基準とする瞳孔重心の相対的な位置を、既に求められている上記の5個のマークの位置に対応する瞳孔重心の相対的な位置を用いて例えば線形補間することにより決定する。そしてキャリブレーション部26は、様々な表示画面2a上の位置に対する瞳孔重心の相対的な位置を対応づけるように参照テーブルを更新する。
キャリブレーション部26は、表示画面2a上の各点に対する瞳孔重心の相対的な位置を決定すると、更新された参照テーブルをメモリ3に保存する。
なお、参照テーブルは、点灯している光源ごとに予め作成され、各参照テーブルは、対応する光源の識別番号と関連付けてメモリ3に記憶されてもよい。この場合、キャリブレーション部26は、制御部4から点灯している光源についての識別情報を取得して、更新対象となる参照テーブルを特定する。
またキャリブレーション部26は、プルキンエ像の検出に成功したか否かに基づいて、キャリブレーションの実行タイミングを決定する。例えば、ユーザが眼鏡を掛けている場合、眼鏡レンズによる光源の反射像が瞳孔重心または光源のプルキンエ像と重なる可能性があるため、ユーザが眼鏡を掛けていない場合よりもプルキンエ像検出部24が光源のプルキンエ像の検出に失敗する可能性が高い。そこでキャリブレーション部26は、ユーザが眼鏡を掛けている場合のキャリブレーションの実行頻度が、ユーザが眼鏡を掛けていない場合の実行頻度よりも多くなるように、キャリブレーションの実行タイミングを決定する。
本実施形態において、プルキンエ像検出部24が、何れかの光源が点灯しているときの画像について光源のプルキンエ像または瞳孔重心の検出に失敗した場合、ユーザが眼鏡を掛けていると推定される。そこでこの場合、キャリブレーション部26は、所定の期間が経過する度にキャリブレーション処理を実行するよう、キャリブレーション処理の実行タイミングを設定する。なお、所定の期間は、例えば、5分間に設定される。またキャリブレーション部26は、携帯端末1が表示画面2aに何らかの操作を伴う情報を表示させるアプリケーションを起動した時にもキャリブレーション処理を実行してもよい。さらにキャリブレーション部26は、最新の画像における顔領域の重心位置が、過去に撮影された画像における顔領域の重心位置から所定画素数以上ずれたときにもキャリブレーション処理を実行してもよい。
さらに、キャリブレーション部26は、視線検出処理の実行時において、各周期における瞳孔重心及びプルキンエ像の検出を行う画像の順序を設定してもよい。例えば、キャリブレーション部26は、光源のプルキンエ像または瞳孔重心の検出に成功した画像に対応する光源が点灯している間に撮影された画像について、先に瞳孔重心及びプルキンエ像の検出を行うようにしてもよい。これにより、視線検出装置1は、視線検出処理の実行中に、瞳孔重心及びプルキンエ像の検出に失敗する可能性を低減できるので、視線検出処理に要する演算負荷を軽減できる。
一方、前回のキャリブレーション処理の実行時において、キャリブレーション部26が何れの光源が点灯しているときに撮影された画像についても、光源のプルキンエ像または瞳孔重心の検出に成功した場合、ユーザは眼鏡を掛けていないと推定される。
そこでこの場合、キャリブレーション部26は、携帯端末1が表示画面2aに何らかの操作を伴う情報を表示させるアプリケーションを起動した時にキャリブレーション処理を実行する。また、キャリブレーション部26は、最新の画像における顔領域の重心位置が、過去に撮影された画像における顔領域の重心位置から所定画素数以上ずれたときにもキャリブレーション処理を実行してもよい。
図6は、制御部4により実行される、キャリブレーション処理の動作フローチャートを示す。
図6に示されるように、制御部4は、ユーザインターフェース2の表示画面2a上の基準位置に所定のマークを表示させる。また制御部4は、ユーザが眼鏡を装着しているか否かを表す眼鏡装着フラグを、眼鏡を装着していないことを表す値(以下、便宜上OFFと表記する)に設定する(ステップS101)。
次に、制御部4は、点灯する光源が異なる状態で撮影された複数の画像を取得する(ステップS102)。そして制御部4は、未着目の画像のうちで着目する画像を設定する(ステップS103)。
制御部4の顔検出部23は、着目画像上で顔が写っている顔領域を抽出する(ステップS104)。そして顔検出部23は、顔領域を表す情報を制御部4のプルキンエ像検出部24へ渡す。
プルキンエ像検出部24は、顔領域内で眼の領域を検出する(ステップS105)。そしてプルキンエ像検出部24は、眼の領域内で瞳孔重心を検出する(ステップS106)。またプルキンエ像検出部24は、眼の領域内で点灯している光源のプルキンエ像を検出する(ステップS107)。
プルキンエ像検出部24は、プルキンエ像検出部24が瞳孔重心及び光源のプルキンエ像の検出に成功したか否か判定する(ステップS108)。
プルキンエ像検出部24が瞳孔重心及び光源のプルキンエ像の検出に成功した場合(ステップS108−Yes)、プルキンエ像検出部24は、光源のプルキンエ像の重心及び瞳孔重心を制御部4のキャリブレーション部26へ通知する。
キャリブレーション部26は、プルキンエ像の重心を基準とする瞳孔重心の相対的な位置を求める。そしてキャリブレーション部26は、その相対的な位置と表示画面2aに表示されているマークの位置により決定される注視位置とに基づいて、参照テーブルを更新する(ステップS109)。
一方、プルキンエ像検出部24が瞳孔重心または光源のプルキンエ像の検出に失敗した場合(ステップS108−No)、制御部4は、眼鏡装着フラグの値をユーザが眼鏡を装着していることを表す値に設定する(ステップS110)。なお、以下では、ユーザが眼鏡を装着していることを表す眼鏡装着フラグの値を、便宜上ONと表記する。
制御部4は、全ての画像を着目画像に設定したか否か判定する(ステップS111)。何れかの画像が着目画像に設定されていなければ(ステップS111−No)、制御部4は、ステップS103以降の処理を再度実行する。
一方、全ての画像が着目画像に設定されていれば(ステップS111−Yes)、キャリブレーション部26は、眼鏡装着フラグがONか否か判定する(ステップS112)。
眼鏡装着フラグがONであれば(ステップS112−Yes)、キャリブレーション部26は、ユーザが眼鏡を未装着の時よりもキャリブレーション頻度が高くなるようにキャリブレーションタイミングを設定する(ステップS113)。
一方、眼鏡装着フラグがOFFであれば(ステップS112−No)、キャリブレーション部26は、ユーザが眼鏡を装着の時よりもキャリブレーション頻度が低くなるようにキャリブレーションタイミングを設定する(ステップS114)。
ステップS113またはS114その後、制御部4は、キャリブレーション処理を終了する。なお、プルキンエ像検出部24は、ステップS106の処理とステップS107の処理の順序を入れ替えてもよい。またプルキンエ像検出部24は、顔領域全体でユーザの瞳孔及び光源のプルキンエ像を探索してもよい。この場合、ステップS105の処理は省略される。
図7は、制御部4により実行される、視線検出処理の動作フローチャートを示す。
図7に示されるように、制御部4は、点灯する光源が異なる状態で撮影された複数の画像を取得する(ステップS201)。そして制御部4は、未着目の画像のうちで着目する画像を設定する(ステップS202)。
ここで制御部4は、例えば、複数の画像のうち、撮影時に点灯していた光源がカメラ12に近い順に着目する画像を設定してもよい。ユーザが眼鏡を掛けている場合、一般に、眼鏡レンズの光軸は、ユーザの顔の正面方向よりも下方を向いている。そのため、ユーザが表示画面2aに正対していると、カメラ12に近い光源から照射された光は、眼鏡レンズでその光源よりも下方へ反射される。その結果、眼鏡レンズによる光源の像(虚像)は、その光源よりも上方にできるので、眼鏡レンズによる光源の像は、光源のプルキンエ像及び瞳孔重心と重ならない。したがって、撮影時に点灯していた光源がカメラ12に近い画像ほど、制御部4は、瞳孔重心及び光源のプルキンエ像を検出できる可能性が高い。そのため、制御部4は、このような順序で着目する画像を設定することで、瞳孔重心及び光源のプルキンエ像の検出をやり直す確率を低減できるので、結果として各周期における視線検出処理の演算負荷を軽減できる。
あるいは、制御部4は、最新のキャリブレーションの際に、光源のプルキンエ像及び瞳孔重心が検出された画像が、光源のプルキンエ像または瞳孔重心が検出されなかった画像よりも先に着目画像となるように、着目画像の設定順序を決定してもよい。
制御部4の顔検出部23は、着目画像上で顔が写っている顔領域を抽出する(ステップS203)。そして顔検出部23は、顔領域の抽出に成功したか否か判定する(ステップS204)。顔領域の抽出に失敗した場合(ステップS204−No)、ユーザは携帯端末1を向いていない。そのため、制御部4は、視線検出処理を終了する。その後制御部4は、キャリブレーション処理を実行してもよい。
一方、顔検出部23が顔領域の抽出に成功した場合(ステップS204−Yes)、顔検出部23は、顔領域を表す情報を制御部4のプルキンエ像検出部24へ渡す。
プルキンエ像検出部24は、顔領域内で眼の領域を検出する(ステップS205)。そしてプルキンエ像検出部24は、眼の領域内で瞳孔重心を検出する(ステップS206)。またプルキンエ像検出部24は、眼の領域内で点灯している光源のプルキンエ像を検出する(ステップS207)。そしてプルキンエ像検出部24は、プルキンエ像検出部24が瞳孔重心及び光源のプルキンエ像の検出に成功したか否か判定する(ステップS208)。
プルキンエ像検出部24が瞳孔重心及び光源のプルキンエ像の検出に失敗した場合(ステップS208−No)、制御部4は、ステップS202以降の処理を再度実行する。
一方、プルキンエ像検出部24が瞳孔重心及び光源のプルキンエ像の検出に成功した場合(ステップS208−Yes)、プルキンエ像検出部24は、光源のプルキンエ像の重心及び瞳孔重心を制御部4の視線検出部25へ通知する。
視線検出部25は、参照テーブルを参照してプルキンエ像の重心を基準とする瞳孔重心の位置に対応する注視位置を検出する(ステップS209)。そして視線検出部25は、その注視位置を表す情報を、制御部4が実行中のアプリケーションプログラムへ渡す。
その後、制御部4は、視線検出処理を終了する。なお、プルキンエ像検出部24は、ステップS206の処理とステップS207の処理の順序を入れ替えてもよい。またプルキンエ像検出部24は、顔領域全体でユーザの瞳孔及び光源のプルキンエ像を探索してもよい。この場合、ステップS205の処理は省略される。あるいは、プルキンエ像検出部24が着目画像上で瞳孔重心または光源のプルキンエ像の何れか一方の検出に失敗した時点で、他方の検出処理を行わずに、制御部4は、ステップS202以降の処理を再実行してもよい。
以上に説明してきたように、この視線検出装置は、一定の周期ごとに、異なる位置に配置された複数の光源のうち点灯する光源を変えつつ複数回ユーザの眼を撮影することで、眼を照明した光源が異なる複数の画像を生成する。そしてこの視線検出装置は、各周期において、複数の画像に対して順次瞳孔重心及び光源のプルキンエ像の検出処理を行い、プルキンエ像が検出された画像を用いてユーザの視線を検出する。このように、この視線検出装置は、瞳孔重心または光源のプルキンエ像の検出に失敗してからユーザの眼を再撮影するのではなく、予め光源の点灯パターンが異なる複数の画像を取得している。そのため、この視線検出装置は、最初に解析した画像上で瞳孔重心または光源のプルキンエ像の検出に失敗した場合でも、プルキンエ像が検出できるまでのタイムラグを短縮できる。
なお、本発明は上記の実施形態に限定されるものではない。例えば、カメラは、視線検出処理の実行中、各周期において、全ての光源が消灯した状態で撮影した画像を生成してもよい。そして制御部のプルキンエ像検出部は、光源のプルキンエ像を検出するために、何れかの光源が点灯している状態で撮影された画像と、全ての光源が消灯した状態で撮影された画像との間で、対応画素間の差分演算を行って差分画像を算出する。差分画像では、光源のプルキンエ像に相当する領域以外の画素の値は非常に小さくなる。そのため、プルキンエ像検出部は、差分画像を、例えば、その差分画像の各画素の値の平均値で2値化することにより光源のプルキンエ像を検出できる。またこれにより、角膜上に太陽または室内灯など他の光源の像が写っていても、プルキンエ像検出部は、他の光源の像を、視線検出装置が有する光源のプルキンエ像として誤検出することを防止できる。
また、カメラは、視線検出処理の実行中、各周期において、全ての光源が消灯した状態で撮影した画像と、全ての光源が点灯した状態で撮影した画像とを生成してもよい。そして制御部のプルキンエ像検出部は、全ての光源が点灯している状態で撮影された画像と、全ての光源が消灯した状態で撮影された画像との間で、対応画素間の差分演算を行って差分画像を算出する。差分画像では、光源のプルキンエ像に相当する領域以外の画素の値は非常に小さくなる。そのため、プルキンエ像検出部は、差分画像を、例えば、その差分画像の各画素の値の平均値で2値化することにより、光源のプルキンエ像が写っている可能性があるプルキンエ像候補領域を特定できる。そこでプルキンエ像検出部は、プルキンエ像候補領域内で光源のプルキンエ像の検出処理を実行すればよい。またこれにより、角膜上に太陽または室内灯など他の光源の像が写っていても、プルキンエ像検出部は、他の光源の像を、視線検出装置が有する光源のプルキンエ像として誤検出することを防止できる。
さらに他の変形例では、参照テーブルは、光源のプルキンエ像に対する瞳孔重心の相対的な位置と、ユーザの視線方向を表すヨー角とピッチ角とを関連付けてもよい。この場合、ユーザの視線方向を表す角度は、例えば、表示画面の中心をユーザが注視しているときにヨー角及びピッチ角はそれぞれ0°に設定される。それ以外の表示画面の各点をユーザが注視している場合のヨー角及びピッチ角は、ユーザの眼と表示画面の中心間の距離を仮定することにより、3点間の距離と角度との関係を表す式により求められる。
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
以上説明した実施形態及びその変形例に関し、更に以下の付記を開示する。
(付記1)
互いに異なる位置に配置された複数の光源と、
所定の周期ごとに、前記複数の光源のうちの第1の光源がユーザの眼を照明している間に前記ユーザの眼を撮影した第1の画像と、前記複数の光源のうちの第2の光源が前記ユーザの眼を照明している間に前記ユーザの眼を撮影した第2の画像を生成する撮像部と、
前記所定の周期ごとに、前記第1の画像及び前記第2の画像のうちの一方から、前記第1の光源及び前記第2の光源のうちの一方による角膜反射像と前記ユーザの瞳孔重心とを検出できるか否か判定し、前記角膜反射像及び前記瞳孔重心を検出した場合、当該瞳孔重心と当該角膜反射像との位置関係に応じて前記ユーザの視線方向を検出し、一方、前記角膜反射像または前記瞳孔重心の何れかを検出できない場合、前記第1の画像及び前記第2の画像のうちの他方の画像から前記瞳孔重心及び前記角膜反射像を検出し、前記瞳孔重心と前記角膜反射像との位置関係に応じて前記ユーザの視線方向を検出する制御部と、
を有する視線検出装置。
(付記2)
前記第1の光源は前記第2の光源よりも前記撮像部に近く、
前記制御部は、前記第1の画像から前記瞳孔重心及び前記角膜反射像を検出できるか否か判定し、前記角膜反射像または前記瞳孔重心の何れかを検出できない場合に前記第2の画像から前記瞳孔重心及び前記角膜反射像を検出する、付記1に記載の視線検出装置。
(付記3)
前記制御部は、前記角膜反射像と前記瞳孔重心との位置関係と前記視線方向との対応を表す参照テーブルを参照することにより前記視線方向を検出し、かつ
前記制御部は、前記第1の画像及び前記第2の画像の少なくとも何れかについて前記角膜反射像または前記瞳孔重心の何れかを検出できない場合、前記参照テーブルを更新するキャリブレーションの実行頻度を、前記第1及び第2の画像の両方について前記角膜反射像及び前記瞳孔重心を検出できる場合の前記キャリブレーションの実行頻度よりも高く設定する、付記1に記載の視線検出装置。
(付記4)
前記制御部は、前記キャリブレーションにおいて、前記第1の画像について前記角膜反射像または前記瞳孔重心の何れかを検出できない場合、当該キャリブレーション以降の各所定の周期において、前記第1の画像よりも先に前記第2の画像から前記瞳孔重心及び前記角膜反射像を検出できるか否か判定し、一方、前記キャリブレーションにおいて、前記第2の画像について前記角膜反射像または前記瞳孔重心の何れかを検出できない場合、当該キャリブレーション以降の各所定の周期において、前記第2の画像よりも先に前記第1の画像から前記瞳孔重心及び前記角膜反射像を検出できるか否か判定する、付記3に記載の視線検出装置。
(付記5)
前記複数の光源及び前記撮像部は、ユーザが注視する可能性がある注視領域の周囲に配置され、かつ前記複数の光源のそれぞれについて、当該光源と前記撮像部とを結ぶ直線が前記注視領域の中心を通らないように、前記複数の光源及び前記撮像部は配置される、付記1〜4の何れか一項に記載の視線検出装置。
(付記6)
表示部と、
前記表示部の周囲の互いに異なる位置に配置された複数の光源と、
所定の周期ごとに、前記複数の光源のうちの第1の光源がユーザの眼を照明している間に前記ユーザの眼を撮影した第1の画像と、前記複数の光源のうちの第2の光源が前記ユーザの眼を照明している間に前記ユーザの眼を撮影した第2の画像を生成する撮像部と、
前記所定の周期ごとに、前記第1の画像及び前記第2の画像のうちの一方から、前記第1の光源及び前記第2の光源のうちの一方による角膜反射像と前記ユーザの瞳孔重心とを検出できるか否か判定し、前記角膜反射像及び前記瞳孔重心を検出できる場合、当該瞳孔重心と当該角膜反射像との位置関係に応じて前記ユーザが前記表示部上で注視している注視位置を検出し、一方、前記角膜反射像または前記瞳孔重心の何れかを検出できない場合、前記第1の画像及び前記第2の画像のうちの他方の画像から前記瞳孔重心及び前記角膜反射像を検出し、前記瞳孔重心と前記角膜反射像との位置関係に応じて前記注視位置を検出する制御部と、
前記注視位置と関連付けられた処理を実行するアプリケーション実行部と、
を有する携帯端末。
(付記7)
コンピュータが、
所定の周期ごとに、互いに異なる位置に配置された複数の光源のうちの第1の光源がユーザの眼を照明している間に前記ユーザの眼を撮影した第1の画像と、前記複数の光源のうちの第2の光源が前記ユーザの眼を照明している間に前記ユーザの眼を撮影した第2の画像を取得し、
前記所定の周期ごとに、前記第1の画像及び前記第2の画像のうちの一方から、前記第1の光源及び前記第2の光源のうちの一方による角膜反射像と前記ユーザの瞳孔重心とを検出できるか否か判定し、
前記角膜反射像及び前記瞳孔重心を検出した場合、当該瞳孔重心と当該角膜反射像との位置関係に応じて前記ユーザの視線方向を検出し、一方、前記角膜反射像または前記瞳孔重心の何れかを検出できない場合、前記第1の画像及び前記第2の画像のうちの他方の画像から前記瞳孔重心及び前記角膜反射像を検出し、前記瞳孔重心と前記角膜反射像との位置関係に応じて前記ユーザの視線方向を検出する、
ことを含む視線検出方法。
(付記7)
所定の周期ごとに、互いに異なる位置に配置された複数の光源のうちの第1の光源がユーザの眼を照明している間に前記ユーザの眼を撮影した第1の画像と、前記複数の光源のうちの第2の光源が前記ユーザの眼を照明している間に前記ユーザの眼を撮影した第2の画像を取得し、
前記所定の周期ごとに、前記第1の画像及び前記第2の画像のうちの一方から、前記第1の光源及び前記第2の光源のうちの一方による角膜反射像と前記ユーザの瞳孔重心とを検出できるか否か判定し、
前記角膜反射像及び前記瞳孔重心を検出した場合、当該瞳孔重心と当該角膜反射像との位置関係に応じて前記ユーザの視線方向を検出し、一方、前記角膜反射像または前記瞳孔重心の何れかを検出できない場合、前記第1の画像及び前記第2の画像のうちの他方の画像から前記瞳孔重心及び前記角膜反射像を検出し、前記瞳孔重心と前記角膜反射像との位置関係に応じて前記ユーザの視線方向を検出する、
ことをコンピュータに実行させる視線検出用コンピュータプログラム。
1 携帯端末
2 ユーザインターフェース
3 メモリ
4 制御部
5 筺体
10 視線検出装置
11−1〜11−4 光源
12 カメラ
21 光源制御部
22 カメラ制御部
23 顔検出部
24 プルキンエ像検出部
25 視線検出部
26 キャリブレーション部

Claims (7)

  1. 互いに異なる位置に配置された複数の光源と、
    所定の周期ごとに、前記複数の光源のうちの第1の光源がユーザの眼を照明している間に前記ユーザの眼を撮影した第1の画像と、前記複数の光源のうちの第2の光源が前記ユーザの眼を照明している間に前記ユーザの眼を撮影した第2の画像を生成する撮像部と、
    前記所定の周期ごとに、前記第1の画像及び前記第2の画像のうちの一方から、前記第1の光源及び前記第2の光源のうちの一方による角膜反射像と前記ユーザの瞳孔重心とを検出できるか否か判定し、前記角膜反射像及び前記瞳孔重心を検出した場合、当該瞳孔重心と当該角膜反射像との位置関係に応じて前記ユーザの視線方向を検出し、一方、前記角膜反射像または前記瞳孔重心の何れかを検出できない場合、前記第1の画像及び前記第2の画像のうちの他方の画像から前記瞳孔重心及び前記角膜反射像を検出し、前記瞳孔重心と前記角膜反射像との位置関係に応じて前記ユーザの視線方向を検出する制御部と、
    を有する視線検出装置。
  2. 前記第1の光源は前記第2の光源よりも前記撮像部に近く、
    前記制御部は、前記第1の画像から前記瞳孔重心及び前記角膜反射像を検出できるか否か判定し、前記角膜反射像または前記瞳孔重心の何れかを検出できない場合に前記第2の画像から前記瞳孔重心及び前記角膜反射像を検出する、請求項1に記載の視線検出装置。
  3. 前記制御部は、前記角膜反射像と前記瞳孔重心との位置関係と前記視線方向との対応を表す参照テーブルを参照することにより前記視線方向を検出し、かつ
    前記制御部は、前記第1の画像及び前記第2の画像の少なくとも何れかについて前記角膜反射像または前記瞳孔重心の何れかを検出できない場合、前記参照テーブルを更新するキャリブレーションの実行頻度を、前記第1及び第2の画像の両方について前記角膜反射像及び前記瞳孔重心を検出できる場合の前記キャリブレーションの実行頻度よりも高く設定する、請求項1に記載の視線検出装置。
  4. 前記制御部は、前記キャリブレーションにおいて、前記第1の画像について前記角膜反射像または前記瞳孔重心の何れかを検出できない場合、当該キャリブレーション以降の各所定の周期において、前記第1の画像よりも先に前記第2の画像から前記瞳孔重心及び前記角膜反射像を検出できるか否か判定し、一方、前記キャリブレーションにおいて、前記第2の画像について前記角膜反射像または前記瞳孔重心の何れかを検出できない場合、当該キャリブレーション以降の各所定の周期において、前記第2の画像よりも先に前記第1の画像から前記瞳孔重心及び前記角膜反射像を検出できるか否か判定する、請求項3に記載の視線検出装置。
  5. 表示部と、
    前記表示部の周囲の互いに異なる位置に配置された複数の光源と、
    所定の周期ごとに、前記複数の光源のうちの第1の光源がユーザの眼を照明している間に前記ユーザの眼を撮影した第1の画像と、前記複数の光源のうちの第2の光源が前記ユーザの眼を照明している間に前記ユーザの眼を撮影した第2の画像を生成する撮像部と、
    前記所定の周期ごとに、前記第1の画像及び前記第2の画像のうちの一方から、前記第1の光源及び前記第2の光源のうちの一方による角膜反射像と前記ユーザの瞳孔重心とを検出できるか否か判定し、前記角膜反射像及び前記瞳孔重心を検出できる場合、当該瞳孔重心と当該角膜反射像との位置関係に応じて前記ユーザが前記表示部上で注視している注視位置を検出し、一方、前記角膜反射像または前記瞳孔重心の何れかを検出できない場合、前記第1の画像及び前記第2の画像のうちの他方の画像から前記瞳孔重心及び前記角膜反射像を検出し、前記瞳孔重心と前記角膜反射像との位置関係に応じて前記注視位置を検出する制御部と、
    前記注視位置と関連付けられた処理を実行するアプリケーション実行部と、
    を有する携帯端末。
  6. コンピュータが、
    所定の周期ごとに、互いに異なる位置に配置された複数の光源のうちの第1の光源がユーザの眼を照明している間に前記ユーザの眼を撮影した第1の画像と、前記複数の光源のうちの第2の光源が前記ユーザの眼を照明している間に前記ユーザの眼を撮影した第2の画像を取得し、
    前記所定の周期ごとに、前記第1の画像及び前記第2の画像のうちの一方から、前記第1の光源及び前記第2の光源のうちの一方による角膜反射像と前記ユーザの瞳孔重心とを検出できるか否か判定し、
    前記角膜反射像及び前記瞳孔重心を検出した場合、当該瞳孔重心と当該角膜反射像との位置関係に応じて前記ユーザの視線方向を検出し、一方、前記角膜反射像または前記瞳孔重心の何れかを検出できない場合、前記第1の画像及び前記第2の画像のうちの他方から前記瞳孔重心及び前記角膜反射像を検出し、前記瞳孔重心と前記角膜反射像との位置関係に応じて前記ユーザの視線方向を検出する、
    ことを含む視線検出方法。
  7. 所定の周期ごとに、互いに異なる位置に配置された複数の光源のうちの第1の光源がユーザの眼を照明している間に前記ユーザの眼を撮影した第1の画像と、前記複数の光源のうちの第2の光源が前記ユーザの眼を照明している間に前記ユーザの眼を撮影した第2の画像を取得し、
    前記所定の周期ごとに、前記第1の画像及び前記第2の画像のうちの一方から、前記第1の光源及び前記第2の光源のうちの一方による角膜反射像と前記ユーザの瞳孔重心とを検出できるか否か判定し、
    前記角膜反射像及び前記瞳孔重心を検出した場合、当該瞳孔重心と当該角膜反射像との位置関係に応じて前記ユーザの視線方向を検出し、一方、前記角膜反射像または前記瞳孔重心の何れかを検出できない場合、前記第1の画像及び前記第2の画像のうちの他方の画像から前記瞳孔重心及び前記角膜反射像を検出し、前記瞳孔重心と前記角膜反射像との位置関係に応じて前記ユーザの視線方向を検出する、
    ことをコンピュータに実行させる視線検出用コンピュータプログラム。
JP2010211060A 2010-09-21 2010-09-21 視線検出装置、視線検出方法及び視線検出用コンピュータプログラムならびに携帯端末 Expired - Fee Related JP5621456B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010211060A JP5621456B2 (ja) 2010-09-21 2010-09-21 視線検出装置、視線検出方法及び視線検出用コンピュータプログラムならびに携帯端末

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010211060A JP5621456B2 (ja) 2010-09-21 2010-09-21 視線検出装置、視線検出方法及び視線検出用コンピュータプログラムならびに携帯端末

Publications (2)

Publication Number Publication Date
JP2012065719A true JP2012065719A (ja) 2012-04-05
JP5621456B2 JP5621456B2 (ja) 2014-11-12

Family

ID=46163732

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010211060A Expired - Fee Related JP5621456B2 (ja) 2010-09-21 2010-09-21 視線検出装置、視線検出方法及び視線検出用コンピュータプログラムならびに携帯端末

Country Status (1)

Country Link
JP (1) JP5621456B2 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014064634A (ja) * 2012-09-25 2014-04-17 Kyocera Corp 画像処理装置および視線特定装置ならびに瞳画像検出プログラムおよび方法
JP2016532217A (ja) * 2013-09-02 2016-10-13 シーイング マシーンズ リミテッド グリントにより眼を検出する方法および装置
US9473696B2 (en) 2012-09-24 2016-10-18 Fujitsu Limited Gaze detection apparatus, gaze detection computer program, and display apparatus
JP2016224691A (ja) * 2015-05-29 2016-12-28 富士通株式会社 視線キャリブレーションプログラム、視線キャリブレーション装置、および視線キャリブレーション方法
EP3119267A4 (en) * 2014-03-19 2017-11-22 Visunex Medical Systems Co. Ltd. Eye imaging apparatus and systems
WO2017217026A1 (ja) * 2016-06-16 2017-12-21 アルプス電気株式会社 角膜中心検出装置および視線検出装置
US10552675B2 (en) 2014-03-12 2020-02-04 Seeing Machines Limited Method and apparatus for eye detection from glints
WO2022044395A1 (ja) * 2020-08-24 2022-03-03 株式会社Jvcケンウッド 視線検出装置、視線検出方法及び視線検出プログラム
JP7444358B2 (ja) 2020-02-18 2024-03-06 学校法人明治大学 眼球運動測定装置、キャリブレーションシステム、眼球運動測定方法及び眼球運動測定プログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0694980A (ja) * 1992-09-14 1994-04-08 Nikon Corp 視線検出装置付きカメラ
JPH0694977A (ja) * 1992-09-14 1994-04-08 Nikon Corp 視線検出装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0694980A (ja) * 1992-09-14 1994-04-08 Nikon Corp 視線検出装置付きカメラ
JPH0694977A (ja) * 1992-09-14 1994-04-08 Nikon Corp 視線検出装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9473696B2 (en) 2012-09-24 2016-10-18 Fujitsu Limited Gaze detection apparatus, gaze detection computer program, and display apparatus
JP2014064634A (ja) * 2012-09-25 2014-04-17 Kyocera Corp 画像処理装置および視線特定装置ならびに瞳画像検出プログラムおよび方法
JP2016532217A (ja) * 2013-09-02 2016-10-13 シーイング マシーンズ リミテッド グリントにより眼を検出する方法および装置
US10552675B2 (en) 2014-03-12 2020-02-04 Seeing Machines Limited Method and apparatus for eye detection from glints
EP3119267A4 (en) * 2014-03-19 2017-11-22 Visunex Medical Systems Co. Ltd. Eye imaging apparatus and systems
JP2016224691A (ja) * 2015-05-29 2016-12-28 富士通株式会社 視線キャリブレーションプログラム、視線キャリブレーション装置、および視線キャリブレーション方法
WO2017217026A1 (ja) * 2016-06-16 2017-12-21 アルプス電気株式会社 角膜中心検出装置および視線検出装置
JP7444358B2 (ja) 2020-02-18 2024-03-06 学校法人明治大学 眼球運動測定装置、キャリブレーションシステム、眼球運動測定方法及び眼球運動測定プログラム
WO2022044395A1 (ja) * 2020-08-24 2022-03-03 株式会社Jvcケンウッド 視線検出装置、視線検出方法及び視線検出プログラム

Also Published As

Publication number Publication date
JP5621456B2 (ja) 2014-11-12

Similar Documents

Publication Publication Date Title
JP5621456B2 (ja) 視線検出装置、視線検出方法及び視線検出用コンピュータプログラムならびに携帯端末
JP5949319B2 (ja) 視線検出装置及び視線検出方法
EP3453316B1 (en) Eye tracking using eyeball center position
JP6056323B2 (ja) 視線検出装置、視線検出用コンピュータプログラム
JP6930223B2 (ja) 瞳孔検出用コンピュータプログラム、瞳孔検出装置及び瞳孔検出方法
JP2017182739A (ja) 視線検出装置、視線検出方法及び視線検出用コンピュータプログラム
JP6308940B2 (ja) 視線追跡シーン参照位置を識別するシステム及び方法
JP5626039B2 (ja) 視線検出装置及び視線検出方法
JP2012187178A (ja) 視線検出装置及び視線検出方法
EP2881891B1 (en) Image processing device and image processing method
JP4491604B2 (ja) 瞳孔検出装置
US11243607B2 (en) Method and system for glint/reflection identification
JP6870474B2 (ja) 視線検出用コンピュータプログラム、視線検出装置及び視線検出方法
JP2018205819A (ja) 注視位置検出用コンピュータプログラム、注視位置検出装置及び注視位置検出方法
US20200187774A1 (en) Method and system for controlling illuminators
JP5601179B2 (ja) 視線検出装置及び視線検出方法
US11216066B2 (en) Display device, learning device, and control method of display device
WO2019185136A1 (en) Method and system for controlling illuminators
JP2017199148A (ja) 視線検出装置、視線検出方法及び視線検出用コンピュータプログラム
WO2017154356A1 (ja) 視線検出装置および視線検出方法
KR101673694B1 (ko) 시선추적장치 및 그의 반사점 검출 방법
EP3801196B1 (en) Method and system for glint/reflection identification
JP6575353B2 (ja) 視線検出装置、視線検出方法及び視線検出用コンピュータプログラム
JP2018120299A (ja) 視線検出用コンピュータプログラム、視線検出装置及び視線検出方法
CN218413524U (zh) 眼部追踪装置及智能眼镜

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130702

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140325

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140521

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140826

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140908

R150 Certificate of patent or registration of utility model

Ref document number: 5621456

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees