(57)【要約】      （修正有）【課題】ユーザが注視している位置を検出するために利用されるカメラとユーザとの相対的な位置関係が不定であっても、そのカメラを機械的に動かさずに、ユーザの注視位置を検出できる視線検出装置を提供する。【解決手段】視線検出装置は、光源と、第１の画角を有し、第１の画像を生成する第１の撮像部と、第１の画角よりも狭い第２の画角を有し、第２の画像を生成する第２の撮像部と、第１の画像からユーザの顔が写っている顔領域を検出する顔検出部２１と、顔領域またはユーザの眼が写っている眼周辺領域に対応する第２の画像上の第１の領域を特定する座標変換部２３と、第１の領域に基づいて特定される第２の画像上でユーザの眼が写っている眼領域内で、光源の角膜反射像と瞳孔重心とを検出するプルキンエ像検出部２４と、瞳孔重心と角膜反射像との位置関係に応じてユーザの視線方向または注視位置を検出する視線検出部２５とを有する。【選択図】図３
2014039617.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの眼を照明する光源と、
第１の画角を有し、前記ユーザの顔を撮影した第１の画像を生成する第１の撮像部と、
前記第１の画角よりも狭い第２の画角を有し、前記ユーザの顔の少なくとも一部を撮影した第２の画像を生成する第２の撮像部と、
前記第１の画像から前記ユーザの顔が写っている顔領域を検出する顔検出部と、
前記顔領域または前記顔領域内で前記ユーザの眼が写っている眼周辺領域に対応する前記第２の画像上の第１の領域を特定する座標変換部と、
前記第１の領域に基づいて特定される、前記第２の画像上で前記ユーザの眼が写っている眼領域内で、前記光源の角膜反射像と前記ユーザの瞳孔重心とを検出するプルキンエ像検出部と、
前記瞳孔重心と角膜反射像との位置関係に応じて前記ユーザの視線方向または注視位置を検出する視線検出部と、
を有する視線検出装置。
【請求項２】
前記第１の画像上の前記顔領域内で前記眼周辺領域を検出する眼周辺領域検出部をさらに有する、請求項１に記載の視線検出装置。
【請求項３】
前記第１の領域は、前記第２の画像上の前記眼周辺領域に対応する領域であり、
前記第１の領域にしたがって設定される前記第２の画像上の探索範囲内で前記眼領域を検出する眼精密検出部をさらに有する、請求項２に記載の視線検出装置。
【請求項４】
前記眼精密検出部は、前記第１の領域全体が前記第２の画像に含まれる場合、前記ユーザの両方の眼に相当する情報を利用して前記眼領域を検出し、一方、前記第１の領域の一部が前記第２の画像に含まれない場合、前記ユーザの何れか一方の眼及び前記ユーザの顔の眼以外の部位に相当する情報を利用して前記眼領域を検出する、請求項３に記載の視線検出装置。
【請求項５】
前記眼精密検出部は、前記第１の領域全体が前記第２の画像に含まれる場合、前記第１の領域を前記探索範囲とし、一方、前記第１の領域の一部が前記第２の画像に含まれない場合、前記第１の領域及び前記第１の領域周囲の前記部位が含まれ得る領域を前記探索範囲とする、請求項４に記載の視線検出装置。
【請求項６】
前記第１の撮像部と前記第２の撮像部とは、垂直方向に沿って離して配置され、
前記眼精密検出部は、前記第１の領域の左端と右端との間に前記探索範囲を設定する、請求項３に記載の視線検出装置。
【請求項７】
前記第１の領域は、前記第２の画像上での前記顔領域に対応する領域であり、
前記第１の領域にしたがって設定される前記第２の画像上の第２の探索範囲内で前記眼領域を検出する眼精密検出部をさらに有する、請求項１に記載の視線検出装置。
【請求項８】
前記第１の領域にしたがって設定される前記第２の画像上の前記第２の探索範囲内で前記ユーザの顔が写っている第２の顔領域を検出する顔精密検出部をさらに有し、
前記眼精密検出部は、前記第２の顔領域内で前記眼領域を検出する、請求項７に記載の視線検出装置。
【請求項９】
前記第１の撮像部と前記第２の撮像部とは、垂直方向に沿って離して配置され、
前記顔精密検出部は、前記第１の領域の左端と右端との間に前記第２の探索範囲を設定する、請求項８に記載の視線検出装置。
【請求項１０】
第１の画角を有する第１の撮像部により生成された第１の画像からユーザの顔が写っている顔領域を検出し、
前記顔領域または前記顔領域内で前記ユーザの眼が写っている眼周辺領域に対応する、前記第１の画角よりも狭い第２の画角を有する第２の撮像部により生成された第２の画像上の第１の領域を特定し、
前記第１の領域に基づいて特定される、前記第２の画像上で前記ユーザの眼が写っている眼領域内で、前記ユーザの眼を照明する光源の角膜反射像と前記ユーザの瞳孔重心とを検出し、
前記瞳孔重心と前記角膜反射像との位置関係に応じて前記ユーザの視線方向または注視位置を検出する、
ことを含む視線検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、プルキンエ像を検出することにより視線方向を検出する視線検出装置及び視線検出方法に関する。
【背景技術】
【０００２】
従来より、ディスプレイの周囲に配置された光源及び検知器を用いて、ディスプレイ上でユーザが注視している位置を検出する技術が提案されている（例えば、特許文献１及び２を参照）。
【０００３】
このような技術では、ユーザが注視する位置を正確に検出するために、検知器により得られたユーザの眼が写った画像を解析することで、光源の角膜反射像と瞳孔とが検出され、そのプルキンエ像の位置と瞳孔の位置の差が求められる。そして例えば、角膜反射像の位置と瞳孔の位置の差と、注視位置との対応関係を表したテーブルを参照することにより、注視位置が特定される。なお、光源の角膜反射像は、プルキンエ像またはプルキニエ像と呼ばれる。本願では、光源の角膜反射像をプルキンエ像と呼ぶ。
【０００４】
ディスプレイとユーザの頭部の位置関係は一定ではないので、画像上にユーザの眼が写るためには、ユーザの眼を撮影するカメラとしては、画角が広いカメラが用いられることが好ましい。一方、上記の技術では、画像上での眼のサイズが、画像上に写っている瞳孔及びプルキンエ像が識別可能な程度よりも大きいことが求められる。しかし、画角が広いカメラでは、画像上の眼のサイズが相対的に小さくなるので、画角が広いカメラにより撮影された画像上で瞳孔及びプルキンエ像を検出することは困難となるおそれがあった。さらに、このような画像では、検出すべきユーザの注視位置の移動量の最小値（例えば、ディスプレイ上に表示された、隣接する二つのアイコン間の距離に相当）に対応する瞳孔とプルキンエ像間の画像上の距離の変化量が1画素未満となることがあった。そのため、例え瞳孔及びプルキンエ像の検出がされたとしても、注視位置の変化が検出できないおそれがあった。
【０００５】
一方、被験者を広角に撮影する第１の撮像装置により撮影された映像から、被験者の眼球を撮影する第２の撮像装置の向きを制御して、第２の撮像装置により撮影された映像から視線の位置情報を算出する技術が提案されている（例えば、特許文献３を参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】国際公開第２００４／０４５３９９号
【特許文献２】特開２０１１−１１５６０６号公報
【特許文献３】特開２００５−３２３９０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献３に開示された技術では、眼球の位置を特定してからユーザの視線を検出するために利用されるカメラの向きを変更し、その後にそのカメラにより得られた画像から視線を検出するので、視線を検出するまでに遅延が生じてしまう。また、ユーザの視線を検出するために利用されるカメラの向きを変更するための機構が必要なので、その技術を採用する装置のコストが高くなってしまう。
【０００８】
そこで本明細書は、ユーザが注視している位置を検出するために利用されるカメラとユーザとの相対的な位置関係が不定であっても、そのカメラを機械的に動かさずに、ユーザの注視位置を検出できる視線検出装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
一つの実施形態によれば、視線検出装置が提供される。この視線検出装置は、ユーザの眼を照明する光源と、第１の画角を有し、ユーザの顔を撮影した第１の画像を生成する第１の撮像部と、第１の画角よりも狭い第２の画角を有し、ユーザの顔の少なくとも一部を撮影した第２の画像を生成する第２の撮像部と、第１の画像からユーザの顔が写っている顔領域を検出する顔検出部と、顔領域または顔領域内でユーザの眼が写っている眼周辺領域に対応する第２の画像上の第１の領域を特定する座標変換部と、第１の領域に基づいて特定される、第２の画像上でユーザの眼が写っている眼領域内で、光源の角膜反射像とユーザの瞳孔重心とを検出するプルキンエ像検出部と、瞳孔重心と角膜反射像との位置関係に応じてユーザの視線方向または注視位置を検出する視線検出部とを有する。
【００１０】
本発明の目的及び利点は、請求項において特に指摘されたエレメント及び組み合わせにより実現され、かつ達成される。
上記の一般的な記述及び下記の詳細な記述の何れも、例示的かつ説明的なものであり、請求項のように、本発明を限定するものではないことを理解されたい。
【発明の効果】
【００１１】
本明細書に開示された視線検出装置は、ユーザが注視している位置を検出するために利用されるカメラとユーザとの相対的な位置関係が不定であっても、そのカメラを機械的に動かさずに、ユーザの注視位置を検出できる。
【図面の簡単な説明】
【００１２】
【図１】視線検出装置の一実施形態であるコンピュータのハードウェア構成図である。
【図２】表示部の概略正面図である。
【図３】制御部の視線検出処理に関する機能ブロック図である。
【図４】表示部の表示画面から所定距離離れた位置における、広角カメラの視野と赤外カメラの視野との対応関係を示す図である。
【図５】参照テーブルの一例を示す図である。
【図６】注視位置テーブルの一例を示す図である。
【図７】視線検出処理の動作フローチャートを示す図である。
【図８】第２の実施形態による視線検出装置が有する制御部の視線検出処理に関する機能ブロック図である。
【図９】（ａ）は、拡大眼周辺領域と狭角画像の位置関係の一例を示す図であり、（ｂ）は、拡大眼周辺領域と狭角画像の位置関係の他の一例を示す図である。
【図１０】第２の実施形態による視線検出装置が実行する視線検出処理のうち、眼精密検出部に関する部分の動作フローチャートを示す図である。
【図１１】第３の実施形態による視線検出装置が有する制御部の視線検出処理に関する機能ブロック図である。
【発明を実施するための形態】
【００１３】
以下、図を参照しつつ、一つの実施形態による視線検出装置について説明する。
この視線検出装置は、ユーザの顔の位置が想定される範囲内にある限り、その顔全体を撮影可能な画角を持つ第１のカメラと、画像上で瞳孔及びプルキンエ像が識別可能なサイズとなるように、第１のカメラの画角よりも狭い画角を持つ第２のカメラを有する。この視線検出装置は、第１のカメラにより撮影された第１の画像から、ユーザの顔の位置またはユーザの眼の位置を検出する。そしてこの視線検出装置は、その顔の位置または眼の位置を表す情報を利用して、第２のカメラにより撮影された第２の画像上で瞳孔及びプルキンエ像を検出する範囲を限定することで、瞳孔及びプルキンエ像の検出精度の向上を図る。
【００１４】
なお、以下に説明する実施形態では、視線検出装置は、コンピュータに実装され、そして視線検出装置は、コンピュータのディスプレイ上のユーザの注視位置を検出する。しかしこの視線検出装置は、ユーザの注視位置または視線方向を検出し、その注視位置または視線方向を利用する様々な装置、例えば、携帯情報端末、携帯電話機、運転支援装置あるいはカーナビゲーションシステムに利用可能である。
【００１５】
図１は、視線検出装置の一実施形態であるコンピュータのハードウェア構成図である。コンピュータ１は、表示部２と、広角カメラ３と、照明光源４と、赤外カメラ５と、入力部６と、記憶媒体アクセス装置７と、記憶部８と、制御部９とを有する。さらにコンピュータ１は、コンピュータ１を他の機器に接続するための通信インターフェース回路（図示せず）を有していてもよい。コンピュータ１は、いわゆるデスクトップ型のコンピュータとすることができる。この場合、コンピュータ１の各構成要素のうち、記憶媒体アクセス装置７、記憶部８及び制御部９は、筐体（図示せず）内に収容され、一方、表示部２、広角カメラ３、照明光源４、赤外カメラ５及び入力部６は、その筐体とは別個に設けられる。あるいは、コンピュータ１は、いわゆるノート型のコンピュータであってもよい。この場合には、コンピュータ１の全ての構成要素は、一つの筐体内に収容されてもよい。さらにまた、コンピュータ１は、入力部６以外の構成要素が一つの筐体内に収容される、ディスプレイ一体型のコンピュータであってもよい。
【００１６】
表示部２は、例えば、液晶ディスプレイまたは有機エレクトロルミネッセンスディスプレイを有する。そして表示部２は、例えば、様々なアイコンまたは操作メニューを制御部９からの制御信号に応じて表示する。各アイコンまたは操作メニューには、表示部２の表示画面上の位置及び範囲を表す情報が関連付けられている。そのため、後述するように、制御部９により検出されたユーザの注視位置が、何れかのアイコンまたは操作メニューと重なるとそのアイコンまたは操作メニューが選択されたと判定することが可能となっている。
【００１７】
図２は、表示部２の概略正面図である。表示部２の中央には、様々なアイコンなどを表示するための表示画面２ａが設けられており、表示画面２ａは、その周囲の枠２ｂにより保持されている。表示画面２ａの上側には、枠２ｂの略中央に、広角カメラ３が取り付けられている。一方、表示画面２ａの下側には、枠２ｂの略中央に、照明光源４及び赤外カメラ５が並んで取り付けられている。本実施形態では、広角カメラ３の水平位置と赤外カメラ５の水平位置は一致するように、広角カメラ３及び赤外カメラ５は取り付けられる。
なお、表示画面２ａを注視するユーザの顔全体が画像上に写るように、広角カメラ３の光軸が表示画面２ａと直交するように、広角カメラ３は取り付けられることが好ましい。一方、赤外カメラ５により撮影された画像上にユーザの眼及びその周囲が写るように、赤外カメラ５の光軸が表示画面２ａと直交するか、表示画面２ａの法線よりも上方を向くように、赤外カメラ５は取り付けられることが好ましい。
【００１８】
広角カメラ３は、第１の撮像部の一例であり、可視光に感度を有し、コンピュータ１の表示部２を注視するユーザの顔の位置が想定される範囲内の何れにあってもその顔全体を撮影可能な画角（例えば、対角60度〜80度）を持つ。そして広角カメラ３は、視線検出処理の実行中、所定のフレームレートで表示画面２ａと対向するユーザの顔全体を撮影することにより、ユーザの顔全体が写った画像を生成する。そして広角カメラ３は、画像を生成する度に、その画像を制御部９へ渡す。
なお、広角カメラ３も、赤外カメラ５と同様に、照明光源４から発せられる赤外光に感度を有するカメラであってもよい。
【００１９】
照明光源４は、赤外光を発光する光源、例えば、少なくとも一つの赤外発光ダイオードと、制御部９からの制御信号に応じて、赤外発光ダイオードに図示しない電源からの電力を供給する駆動回路とを有する。照明光源４は、表示画面２ａを見るために表示画面２ａと対向するユーザの顔、特にユーザの眼を照明可能なように、枠２ｂに赤外カメラ５と並べて取り付けられている。そして照明光源４は、制御部９から光源を点灯させる制御信号を受信している間、照明光を発する。
なお、照明光源４が有する赤外発光ダイオードの数は、１個に限られず、互いに異なる位置に配置される複数個の赤外発光ダイオードを有してもよい。例えば、照明光源４は二つの赤外発光ダイオードを有し、その二つの赤外発光ダイオードの間に赤外カメラ５が位置するように、各赤外発光ダイオードが表示部２の枠２ｂに取り付けられてもよい。
【００２０】
赤外カメラ５は、第２の撮像部の一例であり、眼を含むユーザの顔の少なくとも一部の領域が写った画像を生成する。そのために、赤外カメラ５は、照明光源４が発する赤外光に感度を持つ２次元状に配列された固体撮像素子を有するイメージセンサと、そのイメージセンサ上にユーザの眼の像を結像する撮像光学系を有する。赤外カメラ５は、虹彩による反射像及び照明光源４以外の光源からの光のプルキンエ像が検出されることを抑制するために、イメージセンサと撮像光学系の間に、可視光カットフィルタをさらに有してもよい。
【００２１】
また赤外カメラ５は、広角カメラ３の画角よりも狭い画角（例えば、対角30度〜40度）を持つ。そして赤外カメラ５は、視線検出処理の実行中、所定のフレームレートでユーザの眼を撮影することにより、ユーザの眼が写った画像を生成する。なお、赤外カメラ５は、この画像上でユーザの瞳に写った照明光源４のプルキンエ像及び瞳孔が識別可能な解像度を有する。そして赤外カメラ５は、画像を生成する度に、その画像を制御部９へ渡す。
【００２２】
上記のように、赤外カメラ５は、表示部２の表示画面２ａの下方に取り付けられているので、赤外カメラ５は、表示画面２ａを注視するユーザの顔を下方から撮影することになる。そのため、コンピュータ１は、赤外カメラ５に対してプルキンエ像及び瞳孔が睫毛に隠れてしまう可能性を低減できる。
【００２３】
また、広角カメラ３の感度と赤外カメラ５の感度は、それぞれ別個に最適化されてもよい。例えば、広角カメラ３の感度は、画像上で顔の輪郭が識別できるように、相対的に低く設定され、一方、赤外カメラ５の感度は、画像上でプルキンエ像及び瞳孔が識別できるように、相対的に高く設定されてもよい。
【００２４】
以下では、便宜上、広角カメラ３により生成された画像を広角画像と呼び、赤外カメラ５により生成された画像を狭角画像と呼ぶ。
【００２５】
入力部６は、例えば、キーボードと、マウスのようなポインティングデバイスとを有する。そして入力部６を介してユーザにより入力された操作信号は、制御部９へ渡される。
【００２６】
なお、表示部２と入力部６とは、例えば、タッチパネルディスプレイのように一体化されていてもよい。この場合、入力部６は、表示部２の表示画面上に表示されたアイコンの位置にユーザが触れた場合に、その位置に応じた操作信号を生成し、その操作信号を制御部９へ出力する。
【００２７】
記憶媒体アクセス装置７は、例えば、磁気ディスク、半導体メモリカード及び光記憶媒体といった記憶媒体１０にアクセスする装置である。記憶媒体アクセス装置７は、例えば、記憶媒体１０に記憶された、制御部９上で実行される、視線検出処理用のコンピュータプログラムを読み込み、制御部９に渡す。
【００２８】
記憶部８は、例えば、読み書き可能な不揮発性の半導体メモリ、及び読み書き可能な揮発性の半導体メモリを有する。そして記憶部８は、制御部９上で実行される、視線検出処理用のコンピュータプログラム、各種のアプリケーションプログラム及び各種のデータを記憶する。また記憶部８は、表示部２の表示画面に表示中のアイコンの位置及び範囲または操作メニューの位置及び範囲を表す情報を記憶する。
【００２９】
さらに、記憶部８は、ユーザが注視する位置を検出するために利用される各種のデータを記憶する。例えば、記憶部８は、プルキンエ像の重心に対する瞳孔重心の相対的な位置とユーザの視線方向との関係を表す参照テーブルを記憶する。また記憶部８は、広角画像上の位置座標と狭角画像上の位置座標との対応関係を表す座標変換テーブルを記憶してもよい。
【００３０】
制御部９は、一つまたは複数のプロセッサ及びその周辺回路を有する。そして制御部９は、コンピュータ１の各部と信号線を介して接続されており、コンピュータ１全体を制御する。例えば、制御部９は、入力部６から受け取った操作信号と実行中のアプリケーションプログラムに応じた処理を実行する。
【００３１】
さらに、制御部９は、視線検出処理を実行することにより、表示部２の表示画面２ａ上でユーザが注視している位置を求める。そして制御部９は、ユーザが注視している位置と記憶部８に記憶されている表示部２の表示画面２ａ上の各アイコンまたは操作メニューの表示領域とを比較する。そして制御部９は、ユーザが注視している位置と何れかのアイコンまたは操作メニューの表示領域とが重なっている場合、そのアイコンまたは操作メニューに応じた処理を実行する。あるいは、制御部９は、ユーザが注視している位置を表す情報を制御部９が実行中のアプリケーションプログラムに渡す。
【００３２】
図３は、制御部９の視線検出処理に関する機能ブロック図である。制御部９は、顔検出部２１と、眼周辺領域検出部２２と、座標変換部２３と、プルキンエ像検出部２４と、視線検出部２５とを有する。
制御部９が有するこれらの各部は、制御部９が有するプロセッサ上で実行されるコンピュータプログラムにより実現される機能モジュールである。また制御部９が有するこれらの各部は、その各部に対応する回路が集積された一つの集積回路として、制御部９が有するプロセッサとは別個にコンピュータ１に実装されてもよい。この場合、その集積回路は、記憶部８とは別個に、視線検出処理で利用される各種のデータを記憶して、視線検出装置が有する記憶部として機能する記憶回路を含んでいてもよい。
【００３３】
顔検出部２１は、視線検出処理の実行中において、広角画像上でユーザの眼が写っている可能性のある領域を特定するために、広角画像上で、ユーザの顔が写っている領域である顔領域を検出する。
例えば、顔検出部２１は、広角画像の各画素の値をHSV表色系により表される値に変換する。そして顔検出部２１は、各画素の色相成分（H成分）の値が肌色に相当する値（例えば、0°〜30°の範囲内の値）となる画素を、顔の一部が写っている可能性がある顔領域候補画素として抽出する。
【００３４】
また、ユーザの視線に応じてコンピュータ１の操作が実行される場合、ユーザの顔は、表示部２の表示画面２ａを向いており、かつ、表示画面２ａから数十cm離れた位置にあると想定される。そのため、広角画像上でユーザの顔が占める領域は比較的大きく、かつ、広角画像上で顔が占める領域の大きさもある程度推定される。
そこで顔検出部２１は、顔領域候補画素に対してラベリング処理を行って、互いに隣接している顔領域候補画素の集合を顔候補領域とする。そして顔検出部２１は、顔候補領域の大きさがユーザの顔の大きさに相当する基準範囲に含まれているか否か判定する。顔候補領域の大きさがユーザの顔の大きさに相当する基準範囲に含まれていれば、顔検出部２１はその顔候補領域を顔領域と判定する。
なお、顔候補領域の大きさは、例えば、顔候補領域の水平方向の最大幅の画素数で表される。この場合、基準範囲は、例えば、画像の水平方向画素数の1/4以上〜2/3以下に設定される。あるいは、顔候補領域の大きさは、例えば、顔候補領域に含まれる画素数で表されてもよい。この場合、基準範囲は、例えば、画像全体の画素数の1/16以上〜4/9以下に設定される。
【００３５】
顔検出部２１は、顔候補領域の大きさだけでなく、顔候補領域の形状も、顔候補領域を顔領域と判定するための判定条件に加えてもよい。人の顔は、一般に略楕円形状を有している。そこで顔検出部２１は、例えば、顔候補領域の大きさが上記の基準範囲に含まれ、かつ、顔候補領域の円形度が、一般的な顔の輪郭に相当する所定の閾値以上である場合に顔候補領域を顔領域としてもよい。なお顔検出部２１は、顔候補領域の輪郭上に位置する画素の合計を顔候補領域の周囲長として求め、顔候補領域内の総画素数に4πを乗じた値を周囲長の２乗で除することにより円形度を算出できる。
【００３６】
あるいは、顔検出部２１は、顔候補領域の輪郭上の各画素の座標を楕円方程式に当てはめて最小二乗法を適用することにより、顔候補領域を楕円近似してもよい。そして顔検出部２１は、その楕円の長軸と短軸の比が一般的な顔の長軸と短軸の比の範囲に含まれる場合に、顔候補領域を顔領域としてもよい。なお、顔検出部２１は、楕円近似により顔候補領域の形状を評価する場合、画像の各画素の輝度成分に対して近傍画素間演算を行ってエッジに相当するエッジ画素を検出してもよい。この場合、顔検出部２１は、エッジ画素を例えばラベリング処理を用いて連結し、一定の長さ以上に連結されたエッジ画素を顔候補領域の輪郭とする。
【００３７】
なお、顔検出部２１は、画像上に写っている顔の領域を検出する他の様々な方法の何れかに従って顔領域を検出してもよい。例えば、顔検出部２１は、顔候補領域と一般的な顔の形状に相当するテンプレートとの間でテンプレートマッチングを行って、顔候補領域とテンプレートとの一致度を算出し、その一致度が所定値以上である場合に、顔候補領域を顔領域と判定してもよい。
【００３８】
顔検出部２１は、顔領域を検出できると、顔領域の位置及び範囲を表す情報である顔領域情報を生成する。例えば、顔領域情報は、画像と同一のサイズを有し、かつ顔領域内の画素と顔領域外の画素とが異なる画素値を持つ２値画像とすることができる。あるいは、顔領域情報は、顔領域の外接矩形の各コーナーの座標を含んでいてもよい。
そして顔検出部２１は、顔領域を表す情報を眼周辺領域検出部２２へ渡す。
【００３９】
眼周辺領域検出部２２は、広角画像の顔領域内でユーザの眼及び眼周辺が写っている領域である眼周辺領域を検出する。
【００４０】
画角が狭い赤外カメラ５により生成された狭角画像には、顔全体が写らず、場合によっては、一方の眼が写っていない可能性がある。このような場合、顔の輪郭といった顔の他の部分の情報を眼の位置を特定するために利用できないことで、眼の位置が正確に検出されなかったり、写っていない眼の代わりに、眼の特徴と似た特徴を持つ顔の他の部位が眼と誤検出されてしまうことがあった。その結果、瞳孔及びプルキンエ像が正確に検出されないおそれがあった。そこで本実施形態では、制御部９は、顔全体が写っている広角画像の顔領域内で眼周辺領域を検出し、その眼周辺領域を、狭角画像上で眼を探索する領域を限定するために利用する。
【００４１】
眼に相当する画素の輝度は、眼の周囲に相当する画素の輝度と大きく異なる。そこで眼周辺領域検出部２２は、顔領域内の各画素に対して、例えば、Sobelフィルタを用いて垂直方向の近傍画素間差分演算を行って垂直方向に輝度が変化するエッジ画素を検出する。そして眼周辺領域検出部２２は、例えば、エッジ画素が略水平方向に眼の大きさに相当する所定数以上連結された２本のエッジ線で囲まれた領域を眼周辺領域候補とする。
人の眼は、水平方向に二つ並んでいる。そこで、眼周辺領域検出部２２は、検出された眼周辺領域候補のうち、眼周辺領域候補の重心間の垂直方向の位置差がもっとも少なく、かつ、水平方向に左眼と右眼間の間隔に相当する距離だけ離れている二つの眼周辺領域候補を抽出する。そして眼周辺領域検出部２２は、その二つの眼周辺領域候補の外接矩形領域を眼周辺領域とする。
【００４２】
あるいは、眼周辺領域検出部２２は、両眼を表すテンプレートと、顔領域とのテンプレートマッチングにより、顔領域内でテンプレートに最も一致する領域を検出し、その検出した領域を眼周辺領域としてもよい。
眼周辺領域検出部２２は、広角画像上の眼周辺領域の位置及び範囲を表す情報である眼周辺領域情報を、座標変換部２３へ渡す。なお、眼周辺領域情報は、例えば、眼周辺領域の各コーナーの広角画像上での位置座標を含む。
【００４３】
座標変換部２３は、広角画像上で検出された眼周辺領域の位置座標、例えば、眼周辺領域の各コーナーの位置座標を、広角カメラ３及び赤外カメラ５の画角、画素数、設置位置及び撮影方向に基づいて狭角画像上の位置座標に変換する。これにより、座標変換部２３は、眼周辺領域に対応する狭角画像上の領域を特定する。以下では、便宜上、眼周辺領域に対応する狭角画像上の領域を、拡大眼周辺領域と呼ぶ。この拡大眼周辺領域は、第１の領域の一例である。
【００４４】
図４は、表示部２の表示画面２ａから所定距離離れた位置における、広角カメラ３の視野と赤外カメラ５の視野との対応関係を示す図である。この例では、広角カメラ３と赤外カメラ５の水平方向の位置は同一であり、表示画面２ａからその所定距離の位置で、広角カメラ３の光軸と赤外カメラ５の光軸が交差するとした。そのため、広角カメラ３の視野４００の中心と赤外カメラ５の視野４１０の中心は一致する。ここで、広角カメラ３の水平方向の画素数がNhwであり、広角カメラ３の垂直方向の画素数がNvwであるとする。一方、赤外カメラ５の水平方向の画素数がNhnであり、赤外カメラ５の垂直方向の画素数がNvnであるとする。また、広角カメラ３の水平方向の画角及び垂直方向の画角が、それぞれ、ωhw、ωvwであり、赤外カメラ５の水平方向の画角及び垂直方向の画角が、それぞれ、ωhn、ωvnであるとする。このとき、広角画像の中心を原点とする座標系で表される、広角画像の画素の座標(px,py)に対応する、狭角画像の画素の狭角画像の中心を原点とする座標(qx,qy)は、次式で表される。
【数１】
2014039617.tif 000003
【００４５】
座標変換部２３は、例えば、上記の（１）式に従って、広角画像上の眼周辺領域の各コーナーの位置座標を狭角画像上の対応する位置座標に変換することで、拡大眼周辺領域を特定できる。
なお、ユーザの顔の位置で、広角カメラ３の光軸と赤外カメラ５の光軸とが所定の間隔だけ離れている場合、座標変換部２３は、座標(qx,qy)を求めるために、上記の（１）式において、その所定の間隔に相当するオフセットを（１）式の右辺に加えればよい。
【００４６】
変形例によれば、広角画像上の位置座標と狭角画像上の位置座標との対応関係を表した座標変換テーブルが予め準備され、記憶部８に記憶されていてもよい。この場合には、座標変換部２３は、座標変換テーブルを参照することにより、広角画像上の眼周辺領域の各コーナーの位置座標を狭角画像上の対応する位置座標に変換できる。
この変形例によれば、広角カメラ３の歪曲収差と赤外カメラ５の歪曲収差が無視できないほど大きい場合でも、座標変換部２３は、広角画像上の眼周辺領域に相当する狭角画像上の拡大眼周辺領域を正確に特定できる。
【００４７】
またさらに他の変形例によれば、座標変換部２３は、広角画像上の眼周辺領域をテンプレートとして、狭角画像とテンプレートマッチングを行うことにより、そのテンプレートと最も一致する領域を拡大眼周辺領域としてもよい。
【００４８】
座標変換部２３は、拡大眼周辺領域の位置及び範囲を表す情報である拡大眼周辺領域情報を、プルキンエ像検出部２４へ通知する。なお、拡大眼周辺領域情報は、例えば、狭角画像上の拡大眼周辺領域の各コーナーの位置座標を含む。
【００４９】
プルキンエ像検出部２４は、視線検出処理の実行中において、狭角画像上の拡大眼周辺領域内でプルキンエ像及び瞳孔を検出する。
本実施形態では、プルキンエ像検出部２４は、一方の眼の瞳孔に相当するテンプレートと拡大眼周辺領域との間でテンプレートマッチングを行い、拡大眼周辺領域内でテンプレートとの一致度が最も高くなる領域を検出する。そしてプルキンエ像検出部２４は、一致度の最高値が所定の一致度閾値よりも高い場合、その検出した領域に瞳孔が写っていると判定する。なお、テンプレートは、瞳孔の大きさに応じて複数準備されてもよい。この場合、プルキンエ像検出部２４は、各テンプレートと拡大眼周辺領域とのテンプレートマッチングをそれぞれ実行し、一致度の最高値を求める。そして一致度の最高値が一致度閾値よりも高い場合、プルキンエ像検出部２４は、一致度の最高値に対応するテンプレートと重なった領域に瞳孔が写っていると判定する。なお、一致度は、例えば、テンプレートとそのテンプレートと重なった領域との正規化相互相関値として算出される。また一致度閾値は、例えば、0.7または0.8に設定される。
【００５０】
また瞳孔が写っている領域の輝度は、その周囲の領域の輝度よりも低く、瞳孔は略円形である。そこでプルキンエ像検出部２４は、拡大眼周辺領域内で、同心円状に半径の異なる２本のリングを設定する。そしてプルキンエ像検出部２４は、外側のリングに相当する画素の輝度の平均値から内側の画素の輝度の平均値を引いた差分値が所定の閾値よりも大きい場合、その内側のリングで囲まれた領域を瞳孔領域としてもよい。またプルキンエ像検出部２４は、内側のリングで囲まれた領域の平均輝度値が所定の閾値以下であることを、瞳孔領域として検出する条件に加えてもよい。この場合、所定の閾値は、例えば、拡大眼周辺領域内の最大輝度値と最小輝度値の差の10％〜20％を、最小輝度値に加えた値に設定される。
プルキンエ像検出部２４は、瞳孔領域の検出に成功した場合、瞳孔領域に含まれる各画素の水平方向座標値の平均値及び垂直方向座標値の平均値を、瞳孔領域の重心の位置座標として算出する。一方、プルキンエ像検出部２４は、瞳孔領域の検出に失敗した場合、制御部９へその旨を表す信号を返す。
【００５１】
またプルキンエ像検出部２４は、拡大眼周辺領域内で照明光源４のプルキンエ像を検出する。照明光源４のプルキンエ像が写っている領域の輝度は、その周囲の領域の輝度よりも高く、その輝度値は略飽和している（すなわち、輝度値が、画素値が取り得る輝度の値の略最高値となっている）。また、照明光源４のプルキンエ像が写っている領域の形状は、各光源の発光面の形状と略一致する。そこでプルキンエ像検出部２４は、拡大眼周辺領域内で、照明光源４の発光面の輪郭形状と略一致する形状を持ち、かつ、大きさが異なるとともに中心が一致する２本のリングを設定する。そしてプルキンエ像検出部２４は、内側のリングに相当する画素の輝度の平均値である内部輝度平均値から外側の画素の輝度の平均値を引いた差分値を求める。プルキンエ像検出部２４は、その差分値が所定の差分閾値よりも大きく、かつ内側輝度平均値が所定の輝度閾値よりも高い場合、その内側のリングで囲まれた領域を照明光源４のプルキンエ像とする。なお、差分閾値は、例えば、拡大眼周辺領域内の近傍画素間の差分値の平均値とすることができる。また所定の輝度閾値は、例えば、拡大眼周辺領域内での輝度値の最高値の80%とすることができる。
なお、プルキンエ像検出部２４は、画像上で瞳孔が写っている領域を検出する他の様々な方法の何れかを用いて、瞳孔が写っている領域を検出してもよい。同様に、プルキンエ像検出部２４は、画像上で光源のプルキンエ像が写っている領域を検出する他の様々な方法の何れかを用いて、光源のプルキンエ像が写っている領域を検出してもよい。
【００５２】
プルキンエ像検出部２４は、照明光源４のプルキンエ像の検出に成功した場合、プルキンエ像に含まれる各画素の水平方向座標値の平均値及び垂直方向座標値の平均値を、プルキンエ像の重心の位置座標として算出する。一方、プルキンエ像検出部２４は、照明光源４のプルキンエ像の検出に失敗した場合、制御部９へその旨を表す信号を返す。
プルキンエ像検出部２４は、プルキンエ像の重心及び瞳孔重心を視線検出部２５へ通知する。
【００５３】
視線検出部２５は、視線検出処理の実行中において、プルキンエ像の重心及び瞳孔重心に基づいてユーザの視線方向またはユーザの注視位置を検出する。
【００５４】
角膜の表面は略球形であるため、視線方向によらず、光源のプルキンエ像の位置はほぼ一定となる。一方、瞳孔重心は、ユーザの視線方向に応じて移動する。そのため、視線検出部２５は、プルキンエ像の重心を基準とする瞳孔重心の相対的な位置を求めることにより、ユーザの視線方向を検出できる。
本実施形態では、視線検出部２５は、光源のプルキンエ像の重心を基準とする瞳孔重心の相対的な位置を、例えば、瞳孔重心の水平方向座標及び垂直方向座標からプルキンエ像の重心の水平方向座標及び垂直方向座標を減算することにより求める。そして視線検出部２５は、瞳孔重心の相対的な位置とユーザの視線方向との関係を表す参照テーブルを参照することにより、ユーザの視線方向を決定する。
【００５５】
図５は、参照テーブルの一例を示す図である。参照テーブル５００の左側の列の各欄には、光源のプルキンエ像の重心を基準とする瞳孔重心の相対的な位置の座標が表される。また参照テーブル５００の右側の列の各欄には、同じ行の瞳孔重心の相対的な位置の座標に対応するユーザの視線方向が表される。なお、この例では、視線方向は、所定の基準点（例えば、表示画面２ａの中心または赤外カメラ５の取り付け位置）をユーザが注視しているときの視線方向を基準方向として、その基準方向からの水平方向及び垂直方向の角度の差で表される。なお、瞳孔重心の相対的な位置の座標は、画像上の画素単位で表される。
【００５６】
視線検出部２５は、さらに、ユーザの視線方向に基づいて、ユーザが表示部２の表示画面２ａ上で注視している位置を検出する。なお、以下では、便宜上、ユーザが表示画面２ａ上で注視している位置を単に注視位置と呼ぶ。
本実施形態では、視線検出部２５は、ユーザの視線方向と表示画面上でのユーザの注視位置との関係を表す注視位置テーブルを参照することにより、ユーザの注視位置を決定する。
【００５７】
図６は、注視位置テーブルの一例を示す図である。注視位置テーブル６００の上端の行には、ユーザの視線方向が表される。そして注視位置テーブル６００の各欄には、同じ列の視線方向に対応する、表示画面上の注視位置の座標が表示画面の画素単位で表される。例えば、注視位置テーブル６００の欄６０１には、視線方向が水平方向0°、垂直方向1°の場合の注視位置が(cx,cy+40)であることが示されている。なお、cx、cyは、視線方向が(0,0)のときの注視位置、すなわち基準注視位置の座標、例えば、表示画面２ａの中心の水平座標及び垂直座標である。
視線検出部２５は、ユーザの注視位置を制御部９で実行中のアプリケーションプログラムへ通知する。
【００５８】
図７は、制御部９により実行される、視線検出処理の動作フローチャートを示す。制御部９は、広角画像及び狭角画像が生成される度に、以下の動作フローチャートに従って視線検出処理を実行する。
【００５９】
制御部９は、広角カメラ３から広角画像を取得し、赤外カメラ５から、照明光源４が点灯した状態でユーザの顔を撮影した狭角画像を取得する（ステップＳ１０１）。そして制御部９の顔検出部２１は、広角画像上で顔が写っている顔領域を検出する（ステップＳ１０２）。顔検出部２１は、顔領域の検出に成功したか否か判定する（ステップＳ１０３）。顔領域の検出に失敗した場合（ステップＳ１０３−Ｎｏ）、ユーザは表示部２の表示画面２ａを向いていないと推定される。そのため、制御部９は、視線検出処理を終了する。
【００６０】
一方、顔検出部２１が顔領域の検出に成功した場合（ステップＳ１０３−Ｙｅｓ）、顔検出部２１は、顔領域情報を制御部９の眼周辺領域検出部２２へ渡す。
眼周辺領域検出部２２は、広角画像の顔領域内で眼周辺領域を検出する（ステップＳ１０４）。そして眼周辺領域検出部２２は、眼周辺領域情報を制御部９の座標変換部２３へ渡す。
【００６１】
座標変換部２３は、狭角画像上で広角画像上の眼周辺領域に対応する拡大眼周辺領域を特定する（ステップＳ１０５）。そして座標変換部２３は、拡大眼周辺領域情報を制御部９のプルキンエ像検出部２４へ渡す。
【００６２】
プルキンエ像検出部２４は、狭角画像上の拡大眼周辺領域内で瞳孔重心を検出する（ステップＳ１０６）。またプルキンエ像検出部２４は、拡大眼周辺領域内で照明光源４のプルキンエ像を検出する（ステップＳ１０７）。そしてプルキンエ像検出部２４は、瞳孔重心及びプルキンエ像の検出に成功したか否か判定する（ステップＳ１０８）。
【００６３】
プルキンエ像検出部２４が瞳孔重心の検出または照明光源４のプルキンエ像の検出に失敗した場合（ステップＳ１０８−Ｎｏ）、制御部９は、視線検出処理を終了する。その後、制御部９は、前回の撮影時の露出条件と異なる露出条件でユーザの顔を撮影するように広角カメラ３及び赤外カメラ５に変更後の露出条件を表す制御信号を送信してもよい。
一方、プルキンエ像検出部２４が瞳孔重心及び照明光源４のプルキンエ像の検出に成功した場合（ステップＳ１０８−Ｙｅｓ）、プルキンエ像検出部２４は、プルキンエ像の重心及び瞳孔重心を制御部９の視線検出部２５へ通知する。
【００６４】
視線検出部２５は、参照テーブルを参照してプルキンエ像の重心を基準とする瞳孔重心の位置に対応する視線方向を検出する（ステップＳ１０９）。
【００６５】
視線検出部２５は、注視位置テーブルを参照して、視線方向に対応する表示部２の表示画面２ａ上の注視位置を求める（ステップＳ１１０）。そして視線検出部２５は、その注視位置を表す情報を、制御部９が実行中のアプリケーションプログラムへ渡す。
その後、制御部９は、視線検出処理を終了する。なお、プルキンエ像検出部２４は、ステップＳ１０６の処理とステップＳ１０７の処理の順序を入れ替えてもよい。
【００６６】
以上に説明してきたように、第１の実施形態による視線検出装置は、ユーザの顔全体が写る広角画像上で顔領域を検出し、その顔領域内で眼周辺領域を検出するので、眼周辺領域の検出精度を向上できる。そしてこの視線検出装置は、狭角画像上でプルキンエ像及び瞳孔を検出する探索範囲を、広角画像で検出された眼周辺領域に対応する拡大眼周辺領域に限定する。これにより、この視線検出装置は、狭角画像にユーザの顔全体が写っていなくても、プルキンエ像及び瞳孔の検出精度が低下することを防止できる。またこの視線検出装置は、赤外カメラの向きを調節しなくても、瞳孔及びプルキンエ像を検出できるので、ユーザの視線方向の検出に要する時間を短縮できるとともに、装置構成を簡単化できる。
【００６７】
次に、第２の実施形態による視線検出装置について説明する。第２の実施形態による視線検出装置は、広角画像から求められた眼周辺領域に相当する、狭角画像の拡大眼周辺領域及びその周囲で再度眼が写っている領域を検出することで、狭角画像上での眼の位置をより正確に検出する。そしてこの視線検出装置は、再検出された眼が写っている領域内で瞳孔及びプルキンエ像を検出することで、眼の外にある他の部位、例えば、ほくろを、瞳孔などと誤検出することを抑制する。
【００６８】
第２の実施形態による視線検出装置は、第１の実施形態による視線検出装置と比較して、制御部の処理が異なる。そこで、制御部について説明する。視線検出装置のその他の部分に関しては、第１の実施形態における関連部分の説明を参照されたい。
【００６９】
図８は、第２の実施形態による視線検出装置が有する制御部の視線検出処理に関する機能ブロック図である。制御部９は、顔検出部２１と、眼周辺領域検出部２２と、座標変換部２３と、眼精密検出部２６と、プルキンエ像検出部２４と、視線検出部２５とを有する。
制御部９が有するこれらの各部は、制御部９が有するプロセッサ上で実行されるコンピュータプログラムにより実現される機能モジュールである。また制御部９が有するこれらの各部は、その各部に対応する回路が集積された一つの集積回路として、制御部９が有するプロセッサとは別個にコンピュータ１に実装されてもよい。
図８において、制御部９の各構成要素には、図３に示された第１の実施形態による視線検出装置の制御部の対応する構成要素に付した参照番号と同じ参照番号を付した。また、第２の実施形態による視線検出装置の制御部９は、第１の実施形態による視線検出装置の制御部と比較して、眼精密検出部２６を有する点で異なる。そこで、以下では、眼精密検出部２６及びその関連部分について説明する。
【００７０】
眼精密検出部２６は、座標変換部２３から、拡大眼周辺領域情報を受け取る。そして眼精密検出部２６は、狭角画像の拡大眼周辺領域及びその周囲で、再度眼が写っている領域を検出する。以下では、便宜上、眼精密検出部２６により検出された眼が写っている領域を、精密眼領域と呼ぶ。
狭角画像上のユーザの眼のサイズは、広角画像上のユーザの眼のサイズよりも大きいので、眼精密検出部２６は、眼及びその周囲のより詳細な情報を利用できるため、眼周辺領域検出部２２よりも正確な眼の位置を特定できる。
【００７１】
なお、眼精密検出部２６は、眼周辺領域検出部２２が眼周辺領域を検出するのと同様に、例えば、両眼に相当するテンプレートと狭角画像上の拡大眼周辺領域とのテンプレートマッチングを行う。そして、眼精密検出部２６は、拡大眼周辺領域内でテンプレートと最も一致する領域を精密眼領域として検出できる。
【００７２】
ただし、赤外カメラ５の視野は広角カメラ３の視野よりも狭いため、狭角画像にはユーザの顔全体が写らないことがある。この場合、眼精密検出部２６が両眼に相当するテンプレートを利用すると、拡大眼周辺領域ではそのテンプレートと片方の眼しか一致しないので、精密眼領域の検出精度が低下するおそれがある。そこで眼精密検出部２６は、拡大眼周辺領域全体が狭角画像に含まれるか否かによって、利用するテンプレートを変更してもよい。
【００７３】
図９（ａ）は、拡大眼周辺領域と狭角画像の位置関係の一例を示す図であり、図９（ｂ）は、拡大眼周辺領域と狭角画像の位置関係の他の一例を示す図である。
図９（ａ）に示される例では拡大眼周辺領域９００全体が、狭角画像９０１に含まれている。このような場合、眼精密検出部２６は、例えば、精密眼領域を検出するために、両眼に相当するテンプレートを利用できる。一方、図９（ｂ）に示される例では、拡大眼周辺領域９１０の一部が狭角画像９１１から外れている。この場合、眼精密検出部２６は、狭角画像に含まれる方の眼と、顔の眼以外の部位（例えば、鼻孔、口、眉毛など）とを含むテンプレートを利用してもよい。またこの場合、顔の眼以外の部位は、眼と離れているので、拡大眼周辺領域内に含まれていない可能性がある。そこで図９（ｂ）に示されるように、精密眼領域の探索範囲９１２は、拡大眼周辺領域だけでなく、拡大眼周辺領域の周囲の、テンプレートに含まれる他の部位が写っている可能性がある領域も含むように設定されてもよい。
【００７４】
また、広角カメラ３と赤外カメラ５とは、表示画面２ａの垂直方向に沿って離れて設置されているので、広角カメラ３の視野と赤外カメラ５の視野との間には、垂直方向の視差がある。そして表示部２からユーザの顔までの距離に応じて、その視差は変動する。そこで眼精密検出部２６は、精密眼領域の垂直方向の探索範囲を拡大眼周辺領域の上端と下端の間に限定せず、水平方向の探索範囲のみ、拡大眼周辺領域の左端と右端の間に限定してもよい。
【００７５】
眼精密検出部２６は、狭角画像上の拡大眼周辺領域及びその周囲の探索範囲内でテンプレートと最も一致する領域のうち、そのテンプレート中の何れかの眼に相当する部分を、精密眼領域とする。そして眼精密検出部２６は、精密眼領域の位置及び範囲を表す精密眼領域情報をプルキンエ像検出部２４へ渡す。そしてプルキンエ像検出部２４は、精密眼領域内で、ユーザの瞳孔及び照明光源４のプルキンエ像を検出する。
【００７６】
図１０は、第２の実施形態による視線検出装置が実行する視線検出処理のうち、眼精密検出部２６に関する部分の動作フローチャートを示す。図１０に示される各ステップの処理は、例えば、図７に示された視線検出処理のステップＳ１０５の処理とステップＳ１０６の処理の間に実行される。
【００７７】
眼精密検出部２６は、拡大眼周辺領域情報を座標変換部２３から受け取ると、拡大眼周辺領域全体が狭角画像に含まれるか否か判定する（ステップＳ２０１）。なお眼精密検出部２６は、例えば、狭角画像の座標系での拡大眼周辺領域の全てのコーナーの座標が狭角画像に含まれていれば、拡大眼周辺領域全体が狭角画像に含まれると判定する。一方、眼精密検出部２６は、拡大眼周辺領域の何れかのコーナーの位置座標が狭角画像から外れていれば、拡大眼周辺領域の一部が狭角画像に含まれないと判定する。
【００７８】
拡大眼周辺領域全体が狭角画像に含まれる場合（ステップＳ２０１−Ｙｅｓ）、眼精密検出部２６は、両眼に相当するテンプレートを記憶部８から読み込む。そして眼精密検出部２６は、読み込んだテンプレートと拡大眼周辺領域とのテンプレートマッチングにより、精密眼領域を検出する（ステップＳ２０２）。一方、拡大眼周辺領域の一部が狭角画像から外れる場合（ステップＳ２０１−Ｎｏ）、眼精密検出部２６は、狭角画像に含まれる方の眼と顔の他の部位に相当するテンプレートを記憶部８から読み込む。なお、拡大眼周辺領域の左側が狭角画像から外れる場合、ユーザの右眼は狭角画像に写っていない可能性がある。そこで眼精密検出部２６は、ユーザの左眼と顔の他の部位に相当するテンプレートを利用する。逆に、拡大眼周辺領域の右側が狭角画像から外れる場合、眼精密検出部２６は、ユーザの右眼と顔の他の部位に相当するテンプレートを利用する。そして眼精密検出部２６は、読み込んだテンプレートと拡大眼周辺領域及びその周囲とのテンプレートマッチングにより精密眼領域を検出する（ステップＳ２０３）。
ステップＳ２０２またはＳ２０３の後、眼精密検出部２６は、精密眼領域を表す情報をプルキンエ像検出部２４へ渡す。そして制御部９は、図７に示されたステップＳ１０６以降の処理を実行する。
【００７９】
以上に説明してきたように、第２の実施形態による視線検出装置は、広角画像から検出された眼周辺領域に対応する狭角画像上の拡大眼周辺領域及びその周囲で再度ユーザの眼が写っている領域を検出する。そのため、この視線検出装置は、顔の他の部位を誤って眼と検出する可能性をより低減できるので、プルキンエ像及び瞳孔の検出精度もより向上できる。その結果として、この視線検出装置は、ユーザの視線方向及び注視位置の検出精度もより向上できる。
【００８０】
また、第２の実施形態の他の変形例によれば、視線検出部２５は、広角画像から検出された眼周辺領域と、狭角画像から検出された精密眼領域とから、表示部２からユーザの顔までの距離を推定してもよい。
【００８１】
一般に、画像上の各画素の座標は、その画像を生成したカメラからその画素に写っている物体の方向に対応している。また、広角カメラ３と赤外カメラ５間の距離、広角カメラ３の光軸方向及び赤外カメラ５の光軸方向は予め分かっている。そこで視線検出部２５は、例えば、広角画像上の眼周辺領域内の何れかの眼に相当する位置から、広角カメラ３からユーザのその眼への方向ベクトルを求める。同様に、視線検出部２５は、狭角画像上の精密眼領域内のその眼に相当する位置から、赤外カメラ５からその眼への方向ベクトルを求める。そして視線検出部２５は、三角測量の原理に基づいて、広角カメラ３と赤外カメラ５間の距離と、それぞれのカメラからユーザの眼への方向ベクトルとから、その方向ベクトル同士が交差する位置を求める。視線検出部２５は、表示部２の表示画面２ａの中心からその交差位置までの距離を、表示部２からユーザの顔までの距離と推定する。
【００８２】
この変形例では、視線検出部２５は、表示部２からユーザの顔までの推定距離を、表示画面２ａ上のユーザの注視位置をより正確に求めるために利用できる。例えば、表示部２からユーザの顔までの距離ごとに、視線方向と注視位置の関係を表す注視位置テーブルが記憶部８に予め記憶されていてもよい。そして視線検出部２５は、表示部２からユーザの顔までの推定距離に相当する注視位置テーブルを記憶部８から読み込んで、注視位置を特定するために利用する。
【００８３】
また、表示部２からユーザの顔までの想定距離（以下、基準距離と呼ぶ）についての注視位置テーブルのみが記憶部８に記憶されている場合、視線検出部２５は、基準距離に対する、表示部２からユーザの顔までの推定距離の比を求める。そして視線検出部２５は、その比を、注視位置テーブルを参照して得られた視線方向に対応する注視位置の座標と基準注視位置の座標との差に乗じた距離だけ、基準注視位置からその注視位置へ向かう方向に沿って離れた位置に、注視位置を補正してもよい。
これにより、視線検出部２５は、表示部２からユーザの顔までの距離によらず、正確にユーザの注視位置を検出できる。
【００８４】
次に、第３の実施形態による視線検出装置について説明する。第３の実施形態による視線検出装置は、広角画像から求められた顔領域に相当する狭角画像上の領域及びその周囲で再度顔領域を検出し、狭角画像上で検出された顔領域の範囲内で、精密眼領域を検出する。
【００８５】
第３の実施形態による視線検出装置は、第１及び第２の実施形態による視線検出装置と比較して、制御部の処理が異なる。そこで、制御部について説明する。視線検出装置のその他の部分に関しては、第１の実施形態における関連部分の説明を参照されたい。
【００８６】
図１１は、第３の実施形態による視線検出装置が有する制御部の視線検出処理に関する機能ブロック図である。制御部９は、顔検出部２１と、座標変換部２３と、顔精密検出部２７と、眼精密検出部２６と、プルキンエ像検出部２４と、視線検出部２５とを有する。
制御部９が有するこれらの各部は、制御部９が有するプロセッサ上で実行されるコンピュータプログラムにより実現される機能モジュールである。また制御部９が有するこれらの各部は、その各部に対応する回路が集積された一つの集積回路として、制御部９が有するプロセッサとは別個にコンピュータ１に実装されてもよい。
【００８７】
図１１において、制御部９の各構成要素には、図８に示された第２の実施形態による視線検出装置の制御部の対応する構成要素に付した参照番号と同じ参照番号を付した。また、第３の実施形態による視線検出装置の制御部９は、第２の実施形態による視線検出装置の制御部と比較して、眼周辺領域検出部２２の代わりに顔精密検出部２７を有する点で異なる。そこで、以下では、顔精密検出部２７及びその関連部分について説明する。
【００８８】
顔検出部２１は、顔領域情報を座標変換部２３へ渡す。座標変換部２３は、広角画像上の顔領域の各コーナーの狭角画像上の位置を、上記の（１）式または座標変換テーブルを参照して求めることにより、広角画像上の顔領域に相当する、狭角画像上の領域（以下、便宜上拡大顔領域と呼ぶ）を特定する。そして位置検出部２３は、拡大顔領域の位置及び範囲を表す情報である拡大顔領域情報を顔精密検出部２７へ渡す。なお、この拡大顔領域は、第１の領域の他の一例である。
【００８９】
顔精密検出部２７は、狭角画像上の拡大顔領域及びその周囲で、ユーザの顔が写っている領域（以下、便宜上、精密顔領域と呼ぶ）を検出する。
本実施形態では、撮影時において、ユーザの顔は照明光源４からの赤外光で照明されており、赤外光に対する肌の反射率は比較的高い（例えば、肌の反射率は近赤外の波長域で数10%）ので、狭角画像上で顔の肌の部分が写っている画素の輝度は高い。一方、狭角画像上で髪の毛またはユーザの背後の領域は赤外光に対する反射率が低いかまたは照明光源４から遠いため、髪の毛またはユーザの背後の領域が写っている画素の輝度は、相対的に低くなる。
そこで、顔精密検出部２７は、拡大顔領域内の各画素の値を所定の閾値と比較する。所定の閾値は、例えば、狭角画像上の輝度成分の最大値に0.5を乗じた値に設定される。そして顔精密検出部２７は、各画素の輝度成分の値が所定の閾値以上の画素を、顔が写っている可能性がある顔領域候補画素として抽出する。
【００９０】
顔領域候補画素が検出されると、顔精密検出部２７は、その顔領域候補画素に対して、顔検出部２１と同様の処理を実行することにより、精密顔領域を検出できる。
顔精密検出部２７は、精密顔領域を表す情報を眼精密検出部２６へ渡す。
【００９１】
眼精密検出部２６は、第２の実施形態による眼精密検出部と異なり、狭角画像の精密顔領域内でユーザの眼が写っている精密眼領域を検出する。そしてプルキンエ像検出部２４は、その精密眼領域内で瞳孔及びプルキンエ像を検出する。
【００９２】
なお、精密顔領域が狭角画像の左端と接している場合、ユーザの右眼が狭角画像に写っていない可能性がある。この場合、眼精密検出部２６は、ユーザの左眼と顔の他の部位に相当するテンプレートを記憶部８から読み込んで、精密眼領域を検出するために利用してもよい。逆に、精密顔領域が狭角画像の右端と接している場合、ユーザの左眼が狭角画像に写っていない可能性がある。そこでこの場合、眼精密検出部２６は、ユーザの右眼と顔の他の部位に相当するテンプレートを記憶部８から読み込んで、精密眼領域を検出するために利用してもよい。
【００９３】
なお、上記のように、広角カメラ３と赤外カメラ５とは、表示画面の垂直方向に沿って離れて設置されているので、広角カメラ３の視野と赤外カメラ５の視野との間には、垂直方向の視差がある。そこで第３の実施形態の変形例によれば、顔精密検出部２７は、精密顔領域の垂直方向の探索範囲を拡大顔領域の上端と下端の間に限定せず、水平方向の探索範囲のみ、拡大顔領域の左端と右端の間に限定してもよい。
【００９４】
また、第３の実施形態による視線検出処理では、図７に示された第１の実施形態による視線検出処理におけるステップＳ１０４の処理が省略される。その代わりに、第３の実施形態による視線検出処理では、制御部９は、ステップＳ１０５にて顔領域に対応する拡大顔領域を特定する。そして制御部９は、ステップＳ１０５の後、かつステップＳ１０６の前において、拡大顔領域に基づいて設定される探索範囲内で精密顔領域及び精密眼領域を検出する。そしてステップＳ１０６、Ｓ１０７では、制御部９は、それぞれ、精密眼領域内で瞳孔重心及びプルキンエ像を検出する。
【００９５】
以上に説明してきたように、第３の実施形態による視線検出装置は、広角画像から検出された顔領域に対応する狭角画像上の拡大顔領域及びその周囲で再度ユーザの顔が写っている領域を検出する。そのため、この視線検出装置は、狭角画像上で顔が写っている領域を誤検出する可能性をより低減できるので、顔が写っている領域に含まれるプルキンエ像及び瞳孔の検出精度もより向上できる。その結果として、この視線検出装置は、ユーザの視線方向及び注視位置の検出精度もより向上できる。
【００９６】
また第３の実施形態の変形例によれば、顔精密検出部２７が省略され、眼精密検出部２６は、拡大顔領域内で直接精密眼領域を検出してもよい。この変形例でも、眼精密検出部２６は、拡大顔領域全体が狭角画像に含まれるか否かに応じて、精密眼領域の検出に利用するテンプレートを変更できるので、狭角画像から眼が写っている領域を直接検出するよりも、高い精度で眼が写っている領域を検出できる。
【００９７】
また、上記の各実施形態及びその変形例において、制御部９は、広角画像及び狭角画像のそれぞれについて、所定間隔で画素を間引くことにより縮小画像を生成し、その縮小画像に対して、上記の各部の処理を実行させてもよい。これにより、視線検出処理に用いられるデータの量が削減されるので、制御部９は、視線検出処理の処理時間を短縮できる。
【００９８】
さらに、上記の各実施形態またはその変形例による視線検出装置は、ユーザの視線方向を利用する装置、例えば、ドライバの視線方向の変化に応じてドライバに注意喚起するか否かを決定する運転支援装置に実装されてもよい。この場合、視線検出部は、ユーザの視線方向のみを検出し、ユーザの注視位置を検出しなくてもよい。
【００９９】
上記の実施形態またはその変形例による視線検出装置の制御部の機能を実現するコンピュータプログラムは、磁気記録媒体、光記録媒体といったコンピュータ読み取り可能な記録媒体に記録された形で提供されてもよい。なお、この記録媒体には、搬送波は含まれない。
【０１００】
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【０１０１】
以上説明した実施形態及びその変形例に関し、更に以下の付記を開示する。
（付記１）
ユーザの眼を照明する光源と、
第１の画角を有し、前記ユーザの顔を撮影した第１の画像を生成する第１の撮像部と、
前記第１の画角よりも狭い第２の画角を有し、前記ユーザの顔の少なくとも一部を撮影した第２の画像を生成する第２の撮像部と、
前記第１の画像から前記ユーザの顔が写っている顔領域を検出する顔検出部と、
前記顔領域または前記顔領域内で前記ユーザの眼が写っている眼周辺領域に対応する前記第２の画像上の第１の領域を特定する座標変換部と、
前記第１の領域に基づいて特定される、前記第２の画像上で前記ユーザの眼が写っている眼領域内で、前記光源の角膜反射像と前記ユーザの瞳孔重心とを検出するプルキンエ像検出部と、
前記瞳孔重心と角膜反射像との位置関係に応じて前記ユーザの視線方向または注視位置を検出する視線検出部と、
を有する視線検出装置。
（付記２）
前記第１の画像上の前記顔領域内で前記眼周辺領域を検出する眼周辺領域検出部をさらに有する、付記１に記載の視線検出装置。
（付記３）
前記第１の領域は、前記第２の画像上の前記眼周辺領域に対応する領域であり、
前記第１の領域にしたがって設定される前記第２の画像上の探索範囲内で前記眼領域を検出する眼精密検出部をさらに有する、付記２に記載の視線検出装置。
（付記４）
前記眼精密検出部は、前記第１の領域全体が前記第２の画像に含まれる場合、前記ユーザの両方の眼に相当する情報を利用して前記眼領域を検出し、一方、前記第１の領域の一部が前記第２の画像に含まれない場合、前記ユーザの何れか一方の眼及び前記ユーザの顔の眼以外の部位に相当する情報を利用して前記眼領域を検出する、付記３に記載の視線検出装置。
（付記５）
前記眼精密検出部は、前記第１の領域全体が前記第２の画像に含まれる場合、前記第１の領域を前記探索範囲とし、一方、前記第１の領域の一部が前記第２の画像に含まれない場合、前記第１の領域及び前記第１の領域周囲の前記部位が含まれ得る領域を前記探索範囲とする、付記４に記載の視線検出装置。
（付記６）
前記第１の撮像部と前記第２の撮像部とは、垂直方向に沿って離して配置され、
前記眼精密検出部は、前記第１の領域の左端と右端との間に前記探索範囲を設定する、付記３に記載の視線検出装置。
（付記７）
前記第１の領域は、前記第２の画像上での前記顔領域に対応する領域であり、
前記第１の領域にしたがって設定される前記第２の画像上の第２の探索範囲内で前記眼領域を検出する眼精密検出部をさらに有する、付記１に記載の視線検出装置。
（付記８）
前記第１の領域にしたがって設定される前記第２の画像上の前記第２の探索範囲内で前記ユーザの顔が写っている第２の顔領域を検出する顔精密検出部をさらに有し、
前記眼精密検出部は、前記第２の顔領域内で前記眼領域を検出する、付記７に記載の視線検出装置。
（付記９）
前記第１の撮像部と前記第２の撮像部とは、垂直方向に沿って離して配置され、
前記顔精密検出部は、前記第１の領域の左端と右端との間に前記第２の探索範囲を設定する、付記８に記載の視線検出装置。
（付記１０）
前記第１の撮像部及び前記第２の撮像部は、表示装置の表示画面の周囲に配置され、
前記視線検出部は、前記瞳孔重心と角膜反射像との位置関係に応じて前記表示画面上の前記ユーザの注視位置を検出する、付記１に記載の視線検出装置。
（付記１１）
前記第１の撮像部は、前記表示画面の上方に配置され、かつ、前記第２の撮像部は、前記表示画面の下方に配置される、付記１０に記載の視線検出装置。
（付記１２）
前記第１の撮像部及び前記第２の撮像部は、表示装置の表示画面の周囲に配置され、
前記視線検出部は、前記第１の画像上の前記第１の領域内の前記ユーザの眼の位置と、前記第２の画像上の前記眼領域内の前記ユーザの眼の位置と、前記第１の撮像部と前記第２の撮像部との間の距離とに基づいて前記表示装置から前記ユーザの顔までの距離を推定し、当該推定された距離及び前記瞳孔重心と前記角膜反射像との位置関係に応じて前記表示画面上の前記ユーザの注視位置を検出する、付記１に記載の視線検出装置。
（付記１３）
第１の画角を有する第１の撮像部により生成された第１の画像からユーザの顔が写っている顔領域を検出し、
前記顔領域または前記顔領域内で前記ユーザの眼が写っている眼周辺領域に対応する、前記第１の画角よりも狭い第２の画角を有する第２の撮像部により生成された第２の画像上の第１の領域を特定し、
前記第１の領域に基づいて特定される、前記第２の画像上で前記ユーザの眼が写っている眼領域内で、前記ユーザの眼を照明する光源の角膜反射像と前記ユーザの瞳孔重心とを検出し、
前記瞳孔重心と前記角膜反射像との位置関係に応じて前記ユーザの視線方向または注視位置を検出する、
ことを含む視線検出方法。
（付記１４）
第１の画角を有する第１の撮像部により生成された第１の画像からユーザの顔が写っている顔領域を検出し、
前記顔領域または前記顔領域内で前記ユーザの眼が写っている眼周辺領域に対応する、前記第１の画角よりも狭い第２の画角を有する第２の撮像部により生成された第２の画像上の第１の領域を特定し、
前記第１の領域に基づいて特定される、前記第２の画像上で前記ユーザの眼が写っている眼領域内で、前記ユーザの眼を照明する光源の角膜反射像と前記ユーザの瞳孔重心とを検出し、
前記瞳孔重心と前記角膜反射像との位置関係に応じて前記ユーザの視線方向または注視位置を検出する、
ことをコンピュータに実行させるための視線検出用コンピュータプログラム。
【符号の説明】
【０１０２】
１    コンピュータ
２    表示部
２ａ    表示画面
３    広角カメラ
４    照明光源
５    赤外カメラ
６    入力部
７    記憶媒体アクセス装置
８    記憶部
９    制御部
１０    記憶媒体
２１    顔検出部
２２    眼周辺領域検出部
２３    座標変換部
２４    プルキンエ像検出部
２５    視線検出部
２６    眼精密検出部
２７    顔精密検出部
【図１】
2014039617.tif 000004
【図２】
2014039617.tif 000005
【図３】
2014039617.tif 000006
【図４】
2014039617.tif 000007
【図５】
2014039617.tif 000008
【図６】
2014039617.tif 000009
【図７】
2014039617.tif 000010
【図８】
2014039617.tif 000011
【図９】
2014039617.tif 000012
【図１０】
2014039617.tif 000013
【図１１】
2014039617.tif 000014