(57)【要約】【課題】視線方向の検出精度を向上可能な視線検出用コンピュータプログラムを提供する。【解決手段】視線検出用コンピュータプログラムは、撮像部がユーザの眼を撮影することで生成された画像から、眼の瞳孔が写っている瞳孔領域、及び、複数の照明光源のうち、点灯している照明光源の角膜反射像を検出し、瞳孔領域及び角膜反射像に基づいてユーザの視線方向を検出し、生成されたタイミングが異なる少なくとも２枚の画像のそれぞれから検出されたユーザの視線方向に基づいて、撮像部の次回撮影時におけるユーザの視線方向を予測し、複数の照明光源のうち、予測されたユーザの視線方向が含まれる検出可能範囲に対応する照明光源の少なくとも一つを撮像部の次回撮影時に点灯させる、ことをコンピュータに実行させるための命令を含む。【選択図】図１０
2018197974.tif 000002
【特許請求の範囲】
【請求項１】
撮像部がユーザの眼を撮影することで生成された画像から、前記眼の瞳孔が写っている瞳孔領域、及び、複数の照明光源のうち、点灯している照明光源の角膜反射像を検出し、
前記瞳孔領域及び前記角膜反射像に基づいて前記ユーザの視線方向を検出し、
生成されたタイミングが異なる少なくとも２枚の前記画像のそれぞれから検出された前記ユーザの視線方向に基づいて、前記撮像部の次回撮影時における前記ユーザの視線方向を予測し、
前記複数の照明光源のそれぞれについて、当該照明光源と前記撮像部との位置関係に応じて視線方向の検出可能範囲が規定され、前記複数の照明光源のうち、予測された前記ユーザの視線方向が含まれる前記検出可能範囲に対応する照明光源の少なくとも一つを前記撮像部の次回撮影時に点灯させる、
ことをコンピュータに実行させるための視線検出用コンピュータプログラム。
【請求項２】
前記照明光源を点灯させることは、前記複数の照明光源のうち、最新の前記画像から検出された前記ユーザの視線方向と前記予測されたユーザの視線方向の両方が含まれる前記検出可能範囲に対応する少なくとも一つの照明光源を点灯させる、請求項１に記載の視線検出用コンピュータプログラム。
【請求項３】
前記照明光源を点灯させることは、前記複数の照明光源のうち、最新の前記画像から検出された前記ユーザの視線方向と前記予測されたユーザの視線方向の両方が含まれる前記検出可能範囲に対応する照明光源が３個以上ある場合、当該３個以上の照明光源のうちの最も離れた二つの照明光源を点灯させる、請求項２に記載の視線検出用コンピュータプログラム。
【請求項４】
撮像部がユーザの眼を撮影することで生成された画像から、前記眼の瞳孔が写っている瞳孔領域、及び、複数の照明光源のうち、点灯している照明光源の角膜反射像を検出し、
前記瞳孔領域及び前記角膜反射像に基づいて前記ユーザの視線方向を検出し、
生成されたタイミングが異なる少なくとも２枚の前記画像のそれぞれから検出された前記ユーザの視線方向に基づいて、前記撮像部の次回撮影時における前記ユーザの視線方向を予測し、
前記複数の照明光源のそれぞれについて、当該照明光源と前記撮像部との位置関係に応じて視線方向の検出可能範囲が規定され、前記複数の照明光源のうち、予測された前記ユーザの視線方向が含まれる前記検出可能範囲に対応する照明光源の少なくとも一つを前記撮像部の次回撮影時に点灯させる、
ことを含む視線検出方法。
【請求項５】
撮像部がユーザの眼を撮影することで生成された画像から、前記眼の瞳孔が写っている瞳孔領域、及び、複数の照明光源のうち、点灯している照明光源の角膜反射像を検出し、前記瞳孔領域及び前記角膜反射像に基づいて前記ユーザの視線方向を検出する視線検出部と、
生成されたタイミングが異なる少なくとも２枚の前記画像のそれぞれから検出された前記ユーザの視線方向に基づいて、前記撮像部の次回撮影時における前記ユーザの視線方向を予測する予測部と、
前記複数の照明光源のそれぞれについて、当該照明光源と前記撮像部との位置関係に応じて視線方向の検出可能範囲が規定され、前記複数の照明光源のうち、予測された前記ユーザの視線方向が含まれる前記検出可能範囲に対応する照明光源の少なくとも一つを前記撮像部の次回撮影時に点灯させる光源制御部と、
を有する視線検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、人の眼を撮影して得られた画像に基づいて人の視線方向を検出する視線検出用コンピュータプログラム、視線検出装置及び視線検出方法に関する。
【背景技術】
【０００２】
人の視線方向または人が注視している位置を追跡することで、その人が興味を有しているものに関する情報を得たり、あるいは、その注視している位置に関連する操作を自動的に実行することが検討されている。なお、以下では、便宜上、人が注視している位置を単に注視位置と呼ぶ。
【０００３】
人の注視位置、あるいは、視線方向は、その人の瞳孔の向きと密接に関連している。そこで、人の眼を撮影して得られた画像から瞳孔を検出し、その瞳孔と基準点との位置関係により、その人の視線方向または注視位置を特定する技術が知られている。なお、基準点としては、例えば、光源の角膜反射像（以下、プルキンエ像と呼ぶ）が用いられる。プルキンエ像の位置は、人の顔の向き及び瞳孔の向きによらず、ほぼ一定となるので、プルキンエ像を基準点として用いることで、比較的高精度で視線方向を検出することが可能となる。
【０００４】
しかし、画像上にプルキンエ像が写るためには、人の眼を撮影するカメラから見て、光源からの光を反射する位置が角膜上に位置していることが要求される。そのため、画像上にプルキンエ像が写るためには、光源とカメラと眼の相対的な位置関係、及び、視線方向に関する制約がある。そこで、複数の光源のうち、点灯する光源を制御することで、視線方向の検出精度を向上する技術が提案されている（例えば、特許文献１〜３を参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平６−１３８３６７号公報
【特許文献２】特開２００５−２９６３８３号公報
【特許文献３】特開２０１４−１８３３９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１〜３に開示された技術では、例えば、顔の向き、光源を順次点灯させたときの視線方向の検出精度の良否の評価、あるいは、瞳孔とプルキンエ像間の位置ずれに応じて、点灯する光源が制御される。
【０００７】
しかし、顔の向きと視線方向とは、必ずしも一致しないので、顔の向きに基づいて点灯する光源を制御しても、プルキンエ像が観察可能な適切な光源が点灯されるとは限らない。また、光源を順次点灯させる場合、適切な光源が選択されるまでに要する時間が長くなり、その結果として、視線方向が検出可能となるまでに要する時間が長くなってしまう。そして光源が順次点灯している間に視線方向が移動してしまうと、移動前の視線方向に対して最適な光源が点灯され、現在の視線方向に対して適切な光源が点灯されるとは限らない。また、瞳孔とプルキンエ像間の位置ずれに応じて、点灯する光源が制御される場合も、視線方向が移動すると、移動前の視線方向に対して最適な光源が点灯され、現在の視線方向に対して適切な光源が点灯されるとは限らない。その結果として、上記の技術では、プルキンエ像が画像上に写らなくなり、視線方向の検出精度が不十分となることがある。
【０００８】
一つの側面では、本発明は、視線方向の検出精度を向上可能な視線検出用コンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
一つの実施形態によれば、視線検出用コンピュータプログラムが提供される。この視線検出用コンピュータプログラムは、撮像部がユーザの眼を撮影することで生成された画像から、眼の瞳孔が写っている瞳孔領域、及び、複数の照明光源のうち、点灯した照明光源の角膜反射像を検出し、瞳孔領域及び角膜反射像に基づいてユーザの視線方向を検出し、生成されたタイミングが異なる少なくとも２枚の画像のそれぞれから検出されたユーザの視線方向に基づいて、撮像部の次回撮影時におけるユーザの視線方向を予測し、複数の照明光源のそれぞれについて、その照明光源と撮像部との位置関係に応じて視線方向の検出可能範囲が規定され、複数の照明光源のうち、予測されたユーザの視線方向が含まれる検出可能範囲に対応する照明光源の少なくとも一つを撮像部の次回撮影時に点灯させる、ことをコンピュータに実行させるための命令を含む。
【発明の効果】
【００１０】
視線方向の検出精度を向上できる。
【図面の簡単な説明】
【００１１】
【図１】視線検出装置の一実施形態であるデジタルサイネージシステムのハードウェア構成図である。
【図２】複数の照明光源及び赤外カメラの配置の一例を示す図である。
【図３】プロセッサの視線検出処理に関する機能ブロック図である。
【図４】画像上で検出されるプルキンエ像が一つである場合の、点灯光源及び赤外カメラと、ユーザの視線方向との関係の一例を示す図である。
【図５】注視位置テーブルの一例を示す図である。
【図６】点灯モデルの一例を示す図である。
【図７】視線方向の予測結果が利用可能となるまでにおける、点灯する照明光源を選択する処理の原理を説明する図である。
【図８】視線方向の予測結果が利用可能となった以降での、点灯する照明光源を選択する処理の原理を説明する図である。
【図９】視線方向の予測結果が照明光源の点灯制御に利用可能となるまでの、視線検出処理の動作フローチャートを示す図である。
【図１０】視線方向の予測結果が照明光源の点灯制御に利用可能となった以降の、視線検出処理の動作フローチャートを示す図である。
【発明を実施するための形態】
【００１２】
以下、図を参照しつつ、視線検出装置について説明する。
この視線検出装置は、複数の照明光源のうちの何れかにて照明されたユーザの眼をカメラにより撮影して画像を生成し、その画像上で眼の瞳孔及びプルキンエ像を検出し、検出された瞳孔及びプルキンエ像に基づいて、ユーザの視線方向を検出する。この視線検出装置は、それまでに得られた画像から検出された視線方向に基づいて次回撮影時の視線方向を予測する。そしてこの視線検出装置は、予測された視線方向が視線方向を検出可能な視線方向の範囲、すなわち、プルキンエ像が観察可能な視線方向の範囲に含まれるように、複数の照明光源のなかから点灯させる照明光源を選択する。
【００１３】
なお、以下に説明する実施形態では、視線検出装置は、デジタルサイネージシステムに実装され、そして視線検出装置は、デジタルサイネージシステムのユーザである人の視線方向及び注視位置を追跡する。しかしこの視線検出装置は、視線方向を追跡し、その追跡結果を利用する様々な装置に利用可能である。
【００１４】
図１は、視線検出装置の一実施形態であるデジタルサイネージシステムのハードウェア構成図である。デジタルサイネージシステム１は、表示装置２と、複数の照明光源３−１〜３−ｎ（ただし、ｎは３以上の整数）と、赤外カメラ４と、入力装置５と、記憶媒体アクセス装置６と、メモリ７と、プロセッサ８とを有する。さらにデジタルサイネージシステム１は、デジタルサイネージシステム１を他の機器に接続するための通信インターフェース回路（図示せず）を有していてもよい。
【００１５】
表示装置２は、例えば、液晶ディスプレイまたは有機エレクトロルミネッセンスディスプレイを有する。そして表示装置２は、例えば、様々なテキスト、アイコン、静止画像または動画像をプロセッサ８からの映像信号に応じて表示する。
【００１６】
複数の照明光源３−１〜３−ｎのそれぞれは、赤外光を発光する光源、例えば、少なくとも一つの赤外発光ダイオードと、プロセッサ８からの制御信号に応じて、赤外発光ダイオードに電源（図示せず）からの電力を供給する駆動回路（図示せず）とを有する。照明光源３−１〜３−ｎのそれぞれは、赤外カメラ４の撮影方向を照明可能なように、赤外カメラ４の撮影方向へ照明光源３−１〜３−ｎのそれぞれの発光面が向くように取り付けられている。そして照明光源３−１〜３−ｎのそれぞれは、プロセッサ８からその照明光源を点灯させる制御信号を受信してから、その照明光源を消灯させる制御信号を受信するまでの間、照明光を発する。
【００１７】
なお、本実施形態では、照明光源の数は、同時に点灯する照明光源の数（本実施形態では、２）よりも多ければよく、例えば、照明光源の数は、６個とすることができる（すなわち、ｎ＝６）。また、照明光源３−１〜３−ｎのそれぞれは、検出可能なユーザの視線方向の範囲が互いに異なるように、互いに異なる位置に配置される。なお、検出可能なユーザの視線方向の範囲を、以下では、単に検出可能範囲と呼ぶ。
【００１８】
赤外カメラ４は、撮像部の一例であり、ユーザの少なくとも一方の眼が写った画像を生成する。そのために、赤外カメラ４は、照明光源３−１〜３−ｎが発する赤外光に感度を持つ２次元状に配列された固体撮像素子を有するイメージセンサと、そのイメージセンサ上に被写体の像を結像する撮像光学系を有する。赤外カメラ４は、虹彩による反射像及び照明光源３−１〜３−ｎ以外の光源からの光のプルキンエ像が検出されることを抑制するために、イメージセンサと撮像光学系の間に、可視光カットフィルタをさらに有してもよい。また、撮像光学系は、単焦点の光学系でもよく、あるいは、可変焦点光学系であってもよい。赤外カメラ４は、視線検出処理の実行中、所定のフレームレートで撮影して画像を生成する。なお、赤外カメラ４は、この画像上でデジタルサイネージシステム１を利用するユーザの瞳に写った照明光源３−１〜３−ｎのプルキンエ像及び瞳孔が識別可能な解像度を有する。そして赤外カメラ４は、画像を生成する度に、その画像をプロセッサ８へ渡す。なお、以下の説明において、「画像」とは、特に説明が無い限り、赤外カメラ４により生成され、かつ、ユーザの眼が写った画像を表す。
【００１９】
また、本実施形態では、照明光源３−１〜３−ｎ及び赤外カメラ４は、同一の筐体１０に取り付けられる。なお、照明光源３−１〜３−ｎと赤外カメラ４とは、別個に設けられてもよい。
【００２０】
図２は、照明光源３−１〜３−ｎ及び赤外カメラ４の配置の一例を示す図である。この例では、照明光源の数は６個であり、表示装置２の近傍に配置された商品棚１１に、照明光源３−１〜３−６及び赤外カメラ４が取り付けられた筐体１０が取り付けられている。そして照明光源３−１〜３−６及び赤外カメラ４が商品棚１１上に載置された商品を見るユーザ２００の顔へ向けられるように、筐体１０は、商品棚１１のユーザ２００に対向する側の面に配置される。また、照明光源３−１〜３−６は、ユーザ２００から見て左から順に、ユーザ２００の両眼の並び方向に沿って、すなわち、水平方向に沿って、一列に並べて配置される。そして、赤外カメラ４は、照明光源３−３と照明光源３−４の間に、配置され、ユーザ２００の少なくとも一方の眼を含む、ユーザ２００の顔全体あるいは顔の一部を撮影する。
なお、照明光源３−１〜３−ｎ及び赤外カメラ４の配置はこの例に限られず、例えば、照明光源３−１〜３−ｎは、垂直方向に対しても互いに異なる位置に配置されてもよい。さらに、照明光源３−１〜３−ｎの垂直方向の位置と赤外カメラ４の垂直方向の位置とは、互いに異なっていてもよい。
【００２１】
入力装置５は、例えば、キーボードと、マウスのようなポインティングデバイスとを有する。そして入力装置５を介してユーザにより入力された操作信号は、プロセッサ８へ渡される。
【００２２】
なお、表示装置２と入力装置５とは、例えば、タッチパネルディスプレイのように一体化されていてもよい。この場合、入力装置５は、表示装置２の表示画面上に表示されたアイコンの位置にユーザが触れた場合に、その位置に応じた操作信号を生成し、その操作信号をプロセッサ８へ出力する。
【００２３】
記憶媒体アクセス装置６は、記憶部の一例であり、例えば、磁気ディスク、半導体メモリカード及び光記憶媒体といった記憶媒体９にアクセスする装置である。記憶媒体アクセス装置６は、例えば、記憶媒体９に記憶された、プロセッサ８上で実行される、視線検出処理用のコンピュータプログラムを読み込み、プロセッサ８に渡す。
【００２４】
メモリ７は、記憶部の他の一例であり、例えば、読み書き可能な不揮発性の半導体メモリ、及び読み書き可能な揮発性の半導体メモリを有する。そしてメモリ７は、プロセッサ８上で実行される、視線検出処理用のコンピュータプログラム、各種のアプリケーションプログラム及び各種のデータを記憶する。
【００２５】
さらに、メモリ７は、ユーザの視線方向及び注視位置を検出するために利用される各種のデータを記憶する。例えば、メモリ７は、照明光源３−１〜３−ｎ及び赤外カメラ４の実空間での位置、赤外カメラ４の焦点距離などを記憶する。また、メモリ７は、点灯モデル及び視線方向の検出履歴を記憶してもよい。なお、点灯モデルの詳細については後述する。さらに、ユーザと赤外カメラ４間の距離が予め設定された距離となることが想定される場合には、メモリ７は、その予め設定された距離を記憶してもよい。
【００２６】
プロセッサ８は、制御部の一例であり、例えば、少なくとも一つのCentral Processing Unit(CPU)及びその周辺回路を有する。さらに、プロセッサ８は、数値演算プロセッサまたはGraphics Processing Unit(GPU)を有していてもよい。そしてプロセッサ８は、デジタルサイネージシステム１の各部と信号線を介して接続されており、デジタルサイネージシステム１全体を制御する。例えば、プロセッサ８は、入力装置５から受け取った操作信号と実行中のアプリケーションプログラムに応じて、所定の動画像などを表示装置２に表示させる。
【００２７】
さらに、プロセッサ８は、画像が得られる度に、視線検出処理を実行することにより、ユーザの視線方向及び注視位置を検出する。そしてプロセッサ８は、その検出結果に応じた処理を実行する。例えば、プロセッサ８は、メモリ７に記憶された商品の位置情報を参照して、検出された注視位置に最も近い商品を特定し、特定された商品に関する情報をメモリ７から読み出して表示装置２に表示させる。
【００２８】
図３は、プロセッサ８の視線検出処理に関する機能ブロック図である。プロセッサ８は、視線検出部２１と、注視位置推定部２２と、予測部２３と、光源制御部２４とを有する。
プロセッサ８が有するこれらの各部は、プロセッサ８上で実行されるコンピュータプログラムにより実現される機能モジュールである。またプロセッサ８が有するこれらの各部は、その各部の機能を実現するプロセッサ８内の回路の一部として実装されてもよい。
【００２９】
本実施形態では、プロセッサ８は、視線検出処理を開始するまで、赤外カメラ４から画像が得られる度に、その画像とメモリ７に記憶されている背景画像との間で背景差分処理を実行して、対応画素間の差分絶対値が所定値以上となる画素を抽出する。そしてプロセッサ８は、抽出された画素の数が所定数以上になると、視線検出処理を開始する。
なお、デジタルサイネージシステム１は、近接センサ（図示せず）を有していてもよい。そして近接センサが、赤外カメラ４の正面に位置する物体を検知すると、プロセッサ８は、視線検出処理を開始してもよい。
【００３０】
本実施形態では、視線検出処理が実行されている間、プロセッサ８は、照明光源３−１〜３−ｎのうちの二つを点灯させる。そしてプロセッサ８は、所定の周期、例えば、赤外カメラ４の撮影周期ごとに、予測された視線方向に基づいて、点灯させる照明光源を選択する。
【００３１】
視線検出部２１は、視線検出処理の実行中において、画像が得られる度に、画像上でユーザの眼の瞳孔及び照明光源３−１〜３−ｎのうちの点灯している照明光源のプルキンエ像を検出する。そして視線検出部２１は、瞳孔とプルキンエ像の位置関係に基づいて、ユーザの視線方向を検出する。なお、以下では、説明の便宜上、点灯している照明光源を、単に点灯光源と呼ぶことがある。
【００３２】
視線検出部２１は、画像から、先ず、ユーザの左右の眼のそれぞれについて、その眼が写っている領域（以下、単に眼領域と呼ぶ）を検出する。そのために、視線検出部２１は、例えば、画像から眼領域を検出するように予め学習された識別器を用いて眼領域を検出する。この場合、識別器として、例えば、アダブーストまたはリアルアダブースト、サポートベクトルマシン、あるいは、ディープニューラルネットワークが利用される。そして視線検出部２１は、画像上にウインドウを設定し、そのウインドウの位置を変えながら、ウインドウ内の各画素の値またはそのウインドウから抽出した特徴量を識別器に入力することで、そのウインドウが眼領域か否かを判定する。また、特徴量として、例えば、Haar-like特徴量あるいはHistograms of Oriented Gradients特徴量が抽出される。
【００３３】
あるいは、視線検出部２１は、眼を表すテンプレートと、画像とのテンプレートマッチングにより、テンプレートに最も一致する領域を検出し、その検出した領域を眼領域としてもよい。あるいはまた、視線検出部２１は、画像上に写っている眼の領域を検出する他の様々な方法の何れかに従って眼領域を検出してもよい。
【００３４】
眼領域が検出されると、視線検出部２１は、何れか一方の眼領域内で瞳孔及び点灯光源のプルキンエ像を検出する。
【００３５】
例えば、視線検出部２１は、瞳孔を検出するために、瞳孔に相当するテンプレートと眼領域との間でテンプレートマッチングを行い、眼領域内でテンプレートとの一致度が最も高くなる領域を検出する。そして視線検出部２１は、一致度の最高値が所定の一致度閾値よりも高い場合、その検出した領域を、瞳孔が写っている瞳孔領域と判定する。なお、ユーザの周囲の明るさに応じて瞳孔のサイズは変化する。また、瞳孔は略円形であるが、赤外カメラ４が瞳孔を斜めから見ている場合、画像上での瞳孔の形状は垂直方向に長い楕円形状となる。そこでテンプレートは、瞳孔の大きさまたは形状に応じて複数準備されてもよい。この場合、視線検出部２１は、各テンプレートと眼領域とのテンプレートマッチングをそれぞれ実行し、一致度の最高値を求める。そして一致度の最高値が一致度閾値よりも高い場合、視線検出部２１は、一致度の最高値に対応するテンプレートと重なった領域を瞳孔領域と判定する。なお、一致度は、例えば、テンプレートとそのテンプレートと重なった領域との正規化相互相関値として算出される。また一致度閾値は、例えば、0.7または0.8に設定される。
【００３６】
また瞳孔が写っている領域の輝度は、その周囲の領域の輝度よりも低く、瞳孔は略円形である。そこで視線検出部２１は、眼領域内で、同心円状に半径の異なる２本のリングを持つ２重リングフィルタを設定する。そして視線検出部２１は、外側のリングに相当する画素の輝度の平均値から内側の画素の輝度の平均値を引いた差分値が所定の閾値よりも大きい場合、その内側のリングで囲まれた領域を瞳孔領域としてもよい。また視線検出部２１は、内側のリングで囲まれた領域の平均輝度値が所定の閾値以下であることを、瞳孔領域として検出する条件に加えてもよい。この場合、所定の閾値は、例えば、眼領域内の最大輝度値と最小輝度値の差の10％〜20％を、最小輝度値に加えた値に設定される。
【００３７】
なお、視線検出部２１は、画像上で瞳孔が写っている領域を検出する他の様々な方法の何れかを用いて、瞳孔領域を検出してもよい。
【００３８】
また、点灯光源のプルキンエ像が写っている領域の輝度は、その周囲の領域の輝度よりも高く、その輝度値は略飽和している（すなわち、輝度値が、画素値が取り得る輝度の値の略最高値となっている）。また、点灯光源のプルキンエ像が写っている領域の形状は、点灯光源の発光面の形状と略一致する。そこで視線検出部２１は、点灯光源のプルキンエ像を検出するために、眼領域内で、点灯光源の発光面の輪郭形状と略一致する形状を持ち、かつ、大きさが異なるとともに中心が一致する２本のリングを設定する。そして視線検出部２１は、内側のリングに相当する画素の輝度の平均値である内部輝度平均値から外側の画素の輝度の平均値を引いた差分値を求める。視線検出部２１は、その差分値が所定の差分閾値よりも大きく、かつ内側輝度平均値が所定の輝度閾値よりも高い場合、その内側のリングで囲まれた領域を点灯光源のプルキンエ像とする。なお、差分閾値は、例えば、眼領域内の近傍画素間の差分値の平均値とすることができる。また所定の輝度閾値は、例えば、眼領域内での輝度値の最高値の80%とすることができる。
【００３９】
なお、視線検出部２１は、画像上で光源のプルキンエ像が写っている領域を検出する他の様々な方法の何れかを用いて、点灯光源のプルキンエ像が写っている領域を検出してもよい。
【００４０】
視線検出部２１は、瞳孔領域に含まれる各画素の水平方向座標値の平均値及び垂直方向座標値の平均値を、瞳孔領域の重心（以下、単に瞳孔重心と呼ぶ）の位置座標として算出する。同様に、視線検出部２１は、プルキンエ像が写っている領域に含まれる各画素の水平方向座標値の平均値及び垂直方向座標値の平均値を、プルキンエ像の重心の位置座標として算出する。
【００４１】
本実施形態では、視線検出部２１は、検出されたプルキンエ像が一つの場合と二つの場合とで、異なる方式に従ってユーザの視線方向を検出する。
【００４２】
検出されたプルキンエ像が一つの場合、視線検出部２１は、二つの点灯光源のうち、画像上で検出されたプルキンエ像に対応する点灯光源を特定する。
【００４３】
図４は、画像上で検出されるプルキンエ像が一つである場合の、点灯光源及び赤外カメラ４と、ユーザの視線方向との関係の一例を示す図である。この例では、赤外カメラ４の左側に位置する照明光源３−２と、赤外カメラ４の右側に位置する照明光源３−５とが点灯しているものとする。ユーザが赤外カメラ４の方を向いていれば、ユーザの角膜４０１は、赤外カメラ４と対向している。そのため、赤外カメラ４から見て、照明光源３−２及び３−５からの光を反射する位置は、ユーザの角膜４０１上に位置し、画像上に二つのプルキンエ像が写ると想定される。したがって、画像上でプルキンエ像が一つしか表れない場合には、例えば、図４において矢印４０２で示されるように、ユーザの視線が、赤外カメラ４から離れた位置を向いていると想定される。そして矢印４０３で示されるように、点灯している二つの照明光源のうち、ユーザの視線方向に近い方の照明光源（図４では、照明光源３−２）からの光が、角膜４０１で反射されて赤外カメラ４に達する。一方、矢印４０４で示されるように、ユーザの視線方向から遠い方の照明光源（図４では、照明光源３−５）からの光は、角膜４０１から外れた眼球の表面で反射されて赤外カメラ４に達するため、その照明光源のプルキンエ像は画像上に写らない。正確には、角膜以外の眼球の表面は白いため、角膜以外の眼球の表面で照明光源からの光が反射されると、画像上ではプルキンエ像とその周囲の輝度差が少なく、プルキンエ像を識別することが困難となる。
【００４４】
そこで、視線検出部２１は、何れか一方の眼について、眼頭と目尻に対する瞳孔の相対的な位置関係に基づいて、視線方向が赤外カメラ４よりも右側または左側の何れを見ているかを判定する。そして視線検出部２１は、点灯している二つの照明光源のうち、視線方向に近い方の照明光源のプルキンエ像が画像上に表されていると判定する。
【００４５】
例えば、視線検出部２１は、検出された二つの眼領域のうちの一方に対して、例えば、harrisフィルタといったコーナー検出フィルタ処理を行って、眼領域中のコーナーを検出する。そして視線検出部２１は、検出された二つのコーナーのうち、他方の眼領域に近い方のコーナーを眼頭とし、他方のコーナーを目尻とする。視線検出部２１は、眼頭と目尻の中点を算出し、その中点と瞳孔の位置を比較することで、視線方向を判定する。例えば、二つの眼領域のうち、画像上で右側に位置する眼領域（すなわち、ユーザの左眼）について、瞳孔が眼頭と目尻の中点よりも眼頭側に近ければ、視線検出部２１は、視線方向が赤外カメラ４よりも左側を向いていると判定する。そして視線検出部２１は、画像上のプルキンエ像は、赤外カメラ４よりも左側に位置する照明光源のものであると判定する。一方、瞳孔が眼頭と目尻の中点よりも目尻側に近ければ、視線検出部２１は、視線方向が赤外カメラ４よりも右側を向いていると判定する。そして視線検出部２１は、画像上のプルキンエ像は、赤外カメラ４よりも右側に位置する照明光源のものであると判定する。
【００４６】
また、二つの眼領域のうち、画像上で左側に位置する眼領域（すなわち、ユーザの右眼）について、瞳孔が眼頭と目尻の中点よりも眼頭側に近ければ、視線検出部２１は、視線方向が赤外カメラ４よりも右側を向いていると判定する。そして視線検出部２１は、画像上のプルキンエ像は、赤外カメラ４よりも右側に位置する照明光源のものであると判定する。一方、瞳孔が眼頭と目尻の中点よりも目尻側に近ければ、視線検出部２１は、視線方向が赤外カメラ４よりも左側を向いていると判定する。そして視線検出部２１は、画像上のプルキンエ像は、赤外カメラ４よりも左側に位置する照明光源のものであると判定する。
【００４７】
プルキンエ像に対応する点灯光源が特定されると、視線検出部２１は、特定された点灯光源と赤外カメラ４との位置関係と、プルキンエ像と瞳孔重心との位置関係とに基づいて、ユーザの視線方向を検出する。
【００４８】
角膜の表面は略球形であるため、視線方向によらず、点灯光源のプルキンエ像の位置はほぼ一定となる。一方、瞳孔重心は、視線方向に応じて移動する。そのため、視線検出部２１は、プルキンエ像の重心を基準とする瞳孔重心の相対的な位置を求めることにより、視線方向を検出できる。
【００４９】
例えば、視線検出部２１は、点灯光源のプルキンエ像の重心を基準とする瞳孔重心の相対的な位置を、例えば、瞳孔重心の水平方向座標及び垂直方向座標からプルキンエ像の重心の水平方向座標及び垂直方向座標を減算することにより求める。そして視線検出部２１は、瞳孔重心の相対的な位置と視線方向との関係を表す参照テーブルを参照することにより、視線方向を決定する。
【００５０】
赤外カメラ４と点灯光源の位置関係に応じて、プルキンエ像に対応する視線方向が異なるため、瞳孔重心の相対的な位置と視線方向との関係を表す参照テーブルは、照明光源３−１〜３−ｎのそれぞれごとに予め用意され、メモリ７に保存される。そこで視線検出部２１は、特定された点灯光源に対応する参照テーブルをメモリ７から読み込んで、視線方向を検出するために利用すればよい。
【００５１】
また、画像上に、点灯している二つの照明光源のそれぞれのプルキンエ像が写っている場合、視線検出部２１は、例えば、文献（大野健彦、「１点キャリブレーションによる視線計測とその応用」、情報処理学会  研究報告、2006年）に記載されている方法に従って、視線方向を検出してもよい。すなわち、視線検出部２１は、二つのプルキンエ像間の間隔と、仮定される角膜曲率半径と、赤外カメラ４から角膜までの距離とに基づいて角膜の曲率中心の３次元位置を算出する。また、視線検出部２１は、画像上の瞳孔重心の位置（すなわち、赤外カメラ４の光軸を基準とした、赤外カメラ４から瞳孔重心へ向かう方向を表す）と、赤外カメラ４から角膜までの距離とに基づいて、瞳孔重心の３次元位置を算出する。そして視線検出部２１は、瞳孔重心の３次元位置から角膜の曲率中心の３次元位置を減じることで得られるベクトルを、ユーザの視線方向を表すベクトルとする。なお、赤外カメラ４から角膜までの距離は、例えば、赤外カメラ４の焦点距離、及び、人の平均的な両眼の中心間距離（64mm）に対応する画像上での距離に対する画像上での両眼の中心間距離の比に基づいて算出される。この場合、画像上での両眼の中心間距離は、例えば、左右それぞれの眼の目尻と眼頭間の中点間の距離として算出されればよい。あるいは、赤外カメラ４から角膜までの距離は、デジタルサイネージシステム１がステレオカメラあるいはデプスカメラといった距離センサ（図示せず）を有している場合、その距離センサによる測定値に基づいて求められてもよい。あるいはまた、ユーザの位置が予め想定される場合、赤外カメラ４から角膜までの距離は、メモリ７に予め記憶されていてもよい。
【００５２】
なお、視線検出部２１は、画像上に二つのプルキンエ像が写っている場合でも、何れか一方のプルキンエ像と瞳孔重心の位置関係に基づいてユーザの視線方向を検出してもよい。この場合には、視線検出部２１は、一つのプルキンエ像が写っている場合と同様の方法により、ユーザの視線方向を検出できる。また、視線検出部２１は、二つのプルキンエ像の並びに応じて、各プルキンエ像に対応する、点灯光源を特定できる。例えば、二つのプルキンエ像のうち、画像上で右側に位置するプルキンエ像に対応する点灯光源は、点灯中の二つの照明光源のうちの右側に位置する照明光源である。
【００５３】
視線検出部２１は、検出した視線方向を注視位置推定部２２にわたす。
【００５４】
注視位置推定部２２は、検出されたユーザの視線方向に基づいて、ユーザの注視位置を推定する。
本実施形態では、注視位置推定部２２は、視線方向と注視位置との関係を表す注視位置テーブルを参照することにより、注視位置を推定する。なお、視線方向と注視位置との関係は、その注視位置（例えば、表示装置２の表示画面）と視線方向が検出されたユーザとの間の距離に応じて変化する。
【００５５】
そこで、注視位置テーブルは、赤外カメラ４とデジタルサイネージシステム１を利用するユーザとの間の想定される距離（例えば、1m、2mなど）に応じて、予め複数用意され、メモリ７に保存される。そして注視位置推定部２２は、複数の注視位置テーブルのうち、赤外カメラ４から角膜までの距離に対応する注視位置テーブルを選択する。そして注視位置推定部２２は、選択した注視位置テーブルを参照して、視線方向に対応する注視位置を求める。
【００５６】
図５は、注視位置テーブルの一例を示す図である。注視位置テーブル５００の上端の行には、視線方向が表される。そして注視位置テーブル５００の各欄には、同じ列の視線方向に対応する、注視位置の座標が所定の単位（例えば、表示装置２の表示画面の画素単位、あるいは、mm単位）で表される。例えば、注視位置テーブル５００の欄５０１には、視線方向が水平方向0°、垂直方向1°の場合の注視位置が(cx,cy+40)であることが示されている。なお、cx、cyは、視線方向が(0,0)のときの注視位置、すなわち基準注視位置の座標、例えば、赤外カメラ４の取り付け位置における、鉛直平面上の水平座標及び垂直座標である。
【００５７】
なお、注視位置推定部２２は、ユーザの実空間の位置（例えば、ユーザの両眼間の中点の実空間の位置）と、ユーザの観察対象となる物体（例えば、商品棚または表示装置２の表示画面）との相対的な位置関係と視線方向とに基づいて、注視位置を推定してもよい。
【００５８】
注視位置推定部２２は、ユーザの視線方向及び注視位置が検出される度に、検出した視線方向及び注意位置を、メモリ７に保存されている検出履歴に書き込む。
【００５９】
予測部２３は、生成されたタイミングが異なる少なくとも２枚の画像のそれぞれから検出されたユーザの視線方向に基づいて、赤外カメラ４が次に撮影するときのユーザの視線方向を予測する。例えば、予測部２３は、現フレームの画像、すなわち、最新の画像から検出されたユーザの視線方向及び１フレーム前の画像から検出されたユーザの視線方向に基づいて、赤外カメラ４が次に撮影するときのユーザの視線方向を予測する。なお、予測部２３は、２回分の視線方向の検出結果が得られるまでは、視線方向を予測しなくてもよい。そして予測部２３は、２回分の視線方向の検出結果が得られた後、様々な予測方法の何れかに従って視線方向を予測すればよい。例えば、予測部２３は、得られた視線方向の検出結果が２以上の所定数に達するまでは、次式で表される線形予測方法に従って、視線方向を予測する。
【数１】
2018197974.tif 000003
ここで、Ptは、最新の画像に基づいて検出された視線方向であり、Pt-1は、１フレーム前の画像に基づいて検出された視線方向である。そしてPt+1は、次フレームの赤外カメラ４による撮影時における、視線方向の予測値である。またαは補正係数であり、例えば、1に設定される。なお、補正係数αは、例えば、ユーザの眼から赤外カメラ４へ向かう方向と、視線方向とがなす角θが大きいほど、大きい値に設定される。そして補正係数αと角θとの関係を表すテーブルが予めメモリ７に保存され、予測部２３は、そのテーブルを参照して、角θに対応する補正係数αを決定すればよい。
【００６０】
また、得られた視線方向の検出結果が２以上の所定数に達すると、予測部２３は、カルマンフィルタといった予測フィルタを用いて次フレームの画像取得時における視線方向の予測値Pt+1を算出してもよい。
【００６１】
その際、予測部２３は、時系列で得られる、検出された複数の視線方向のそれぞれを変数とする多項式近似により、視線方向の予測値Pt+1を算出してもよい。そして予測部２３は、その多項式を決定する際、次式に従って算出される残差Qが最小となるように、多項式を決定してもよい。
【数２】
2018197974.tif 000004
ここでf(xi)は、視線方向の予測値を算出するための多項式であり、xiは、i番目の画像についての視線方向の予測値を算出するために利用される、i番目の画像よりも前のn個のフレームのそれぞれの画像において検出された視線方向を表す。yiは、i番目の画像について検出された視線方向を表す。なお、nは、視線方向の予測に用いられる、過去に検出された視線方向の数である。またσiは、正規化された、プルキンエ像間の距離に依存する視線方向の検出精度であり、プルキンエ像間の距離が大きいほど小さくなるように予め求められる。そしてσiは、i番目の画像におけるプルキンエ像間の距離に応じて決定されればよい。視線方向の検出に用いる二つのプルキンエ像間の間隔が大きいほど、計測分解能が向上するため、視線方向の検出精度が向上する。そこで、（２）式のように、視線検出精度を視線方向の予測に反映させることで、予測部２３は、視線方向の予測精度をより向上できる。
【００６２】
予測部２３は、次フレームの撮影時における視線方向の予測値Pt+1を光源制御部２４へわたす。
【００６３】
光源制御部２４は、次フレームの撮影時における視線方向の予測値Pt+1に基づいて、複数の照明光源３−１〜３−ｎのうち、次フレームの画像取得時に点灯させる二つの照明光源を選択する。そして光源制御部２４は、選択した二つの照明光源を点灯させ、かつ、複数の照明光源３−１〜３−ｎのうちの他の照明光源を消灯する制御信号を生成し、その制御信号を照明光源３−１〜３−ｎへ出力する。
【００６４】
本実施形態では、光源制御部２４は、視線方向ごとに、画像上でプルキンエ像が写る照明光源を示した点灯モデルを参照して、視線方向の予測値Pt+1が、視線方向の検出可能範囲に含まれる照明光源、すなわわち、画像上にプルキンエ像が写る照明光源を特定する。
【００６５】
図６は、点灯モデルの一例を示す図である。点灯モデル６００は、行ごとに、一つのモデルが示され、一つのモデルには、頭部の実空間位置(x, y, z)と、視線方向(θx,θy)と、点灯する照明光源の識別番号とが含まれる。なお、xは水平方向の座標を表し、yは垂直方向の座標を表し、zは、赤外カメラ４の光軸に沿った奥行き方向の座標を表す。またθxは、水平方向の角度を表し、θyは、垂直方向の角度を表す。なお、頭部の実空間位置は、例えば、ユーザの両眼間の中点とすることができる。
【００６６】
例えば、光源制御部２４は、点灯モデル６００に表された各モデルのうち、視線方向の予測値Pt+1に最も近い視線方向が表されたモデルを特定する。光源制御部２４は、特定したモデルのうちでユーザの頭部の位置に最も近い頭部の実空間位置が表されたモデルを参照して、視線方向の予測値Pt+1に対応する照明光源を特定すればよい。
【００６７】
図７及び図８は、点灯する照明光源を選択する処理の原理を説明する図である。図７及び図８において、検出可能範囲７０１は、検出可能なユーザの視線方向の範囲、すなわち、画像上で照明光源３−１のプルキンエ像が写る視線方向の範囲を表す。同様に、検出可能範囲７０２〜７０６は、それぞれ、画像上で照明光源３−２〜３−６のプルキンエ像が写る視線方向の範囲を表す。
【００６８】
図７を参照して、視線方向の予測結果が利用可能となるまでにおける、点灯させる照明光源の制御について説明する。
視線検出処理が開始されると、最初に、光源制御部２４は、視線方向の検出可能範囲が最も広くなり、かつ、赤外カメラ４へ向かう方向の近くにて視線方向が検出できない範囲が生じないように、照明光源３−２と３−５とを点灯させる。この場合において、矢印７１１で示される、ユーザの視線方向が、検出可能範囲７０１〜７０３のそれぞれが重なる部分へ向いているとする。光源制御部２４は、点灯モデルを参照して、照明光源３−１〜３−６のうち、視線方向を検出可能な照明光源として、照明光源３−１〜３−３を特定する。すなわち、照明光源３−１〜３−３からの光は、それぞれ、ユーザの角膜７００上の点７２１〜７２３で反射されて赤外カメラ４に達する。一方、照明光源３−４〜３−６からの光は、ユーザの角膜７００以外の眼球の表面で反射されて赤外カメラ４に達するため、プルキンエ像が写らない。この３個の照明光源のうち、視線方向を検出可能な範囲が最も広くなり、かつ、二つのプルキンエ像を用いて視線方向を検出する際の検出精度が向上するように、光源制御部２４は、最も離れた照明光源３−１と３−３とを、点灯させる照明光源として選択する。そして光源制御部２４は、赤外カメラ４の次回撮影時に、照明光源３−１と３−３とを点灯させ、その他の照明光源を消灯する。
【００６９】
次に、図８を参照して、視線方向の予測結果が利用可能となった以降での、点灯させる照明光源の制御について説明する。矢印８１１は、１フレーム前の画像に基づいて検出された視線方向を表し、矢印８１２は、現フレームの画像に基づいて検出された視線方向を表す。そして矢印８１３は、次フレームについて予測された視線方向を表す。
【００７０】
光源制御部２４は、次フレームにおいて、予測された視線方向と、実際の視線方向との間に誤差が生じていても、視線方向を検出できるように、点灯する照明光源を選択する。そこで、光源制御部２４は、次フレームについて予測された視線方向と現フレームについての視線方向の両方が検出可能範囲に含まれる照明光源のなかから、点灯させる照明光源を選択する。
【００７１】
図８では、矢印８１３で示されるように、予測された視線方向は、検出可能範囲７０２〜７０４と重なっているので、予測された視線方向について検出可能となる照明光源は、照明光源３−２〜３−４である。すなわち、照明光源３−２〜３−４からの光は、それぞれ、角膜７００上の点８２１〜８２３で反射されて赤外カメラ４に達すると想定される。一方、照明光源３−１、３−５及び３−６からの光は、角膜７００以外の眼球の表面で反射されて赤外カメラ４に達すると想定される。また、矢印８１２で示されるように、現フレームでの検出された視線方向は、検出可能範囲７０１〜７０３と重なっているので、現フレームでの視線方向について検出可能となる照明光源は、照明光源３−１〜３−３である。すなわち、照明光源３−１〜３−３からの光は、それぞれ、角膜７００上の点８３１〜８３３で反射されて赤外カメラ４に達する。そこで光源制御部２４は、現フレームと次フレームの両方で視線方向を検出可能な照明光源３−２と照明光源３−３とを選択する。
なお、現フレームと次フレームの両方で視線方向を検出可能な照明光源が３個以上ある場合、光源制御部２４は、それらの照明光源の中から、最も離れた二つの照明光源を選択すればよい。
【００７２】
光源制御部２４は、フレームごとに、照明光源３−１〜３−ｎのうち、選択した二つの照明光源を点灯させ、かつ、その他の照明光源を消灯する制御信号を生成し、その制御信号を照明光源３−１〜３−ｎへ出力する。また、光源制御部２４は、フレームごとに、選択した二つの照明光源の識別番号を検出履歴に追加する。
【００７３】
図９は、プロセッサ８により実行される、視線方向の予測結果が照明光源の点灯制御に利用可能となるまでの、視線検出処理の動作フローチャートを示す。プロセッサ８は、画像が取得される度に、下記の動作フローチャートに従って視線検出処理を実行する。
【００７４】
光源制御部２４は、視線方向が既に検出されたか否か判定する（ステップＳ１０１）。視線方向が一回も検出されていなければ、すなわち、視線検出処理の開始直後であれば（ステップＳ１０１−Ｎｏ）、光源制御部２４は、照明光源３−１〜３−ｎのうち、予め定められた二つの照明光源を点灯させる（ステップＳ１０２）。一方、直前のフレームの画像で視線方向が検出されていれば（ステップＳ１０１−Ｙｅｓ）、光源制御部２４は、検出された視線方向と点灯モデルに基づいて選択された二つの照明光源を点灯させる（ステップＳ１０３）。
【００７５】
ステップＳ１０２またはステップＳ１０３の後、赤外カメラ４はユーザを撮影して画像を生成する。そして視線検出部２１は、生成された画像上で瞳孔及びプルキンエ像を検出する（ステップＳ１０４）。視線検出部２１は、検出されたプルキンエ像が一つか否か判定する（ステップＳ１０５）。検出されたプルキンエ像が一つであれば（ステップＳ１０５−Ｙｅｓ）、視線検出部２１は、一つのプルキンエ像と瞳孔に基づいて視線方向を検出する（ステップＳ１０６）。一方、検出されたプルキンエ像が二つであれば（ステップＳ１０５−Ｎｏ）、視線検出部２１は、二つのプルキンエ像と瞳孔に基づいて視線方向を検出する（ステップＳ１０７）。
【００７６】
ステップＳ１０６またはＳ１０７の後、注視位置推定部２２は、検出された視線方向に基づいてユーザの注視位置を推定する（ステップＳ１０８）。
【００７７】
また、予測部２３は、２フレーム以上視線方向が検出されたか否か判定する（ステップＳ１０９）。２フレーム以上視線方向が検出されていれば、予測部２３は、現フレームの視線方向と一つ前のフレームの視線方向とに基づいて次フレームの撮影時における視線方向を予測する（ステップＳ１１０）。ステップＳ１１０の後、または、ステップＳ１０９にて視線方向が検出されたフレーム数が２未満であれば、プロセッサ８は、視線検出処理を終了する。
【００７８】
図１０は、プロセッサ８により実行される、視線方向の予測結果が照明光源の点灯制御に利用可能となった以降の、視線検出処理の動作フローチャートを示す。プロセッサ８は、画像が取得される度に、下記の動作フローチャートに従って視線検出処理を実行する。
【００７９】
光源制御部２４は、直前のフレームにおいて予測された視線方向及び直前のフレームにて検出された視線方向と点灯モデルに基づいて選択された二つの照明光源を点灯させる（ステップＳ２０１）。
【００８０】
二つの照明光源が点灯した後、赤外カメラ４はユーザを撮影して画像を生成する。そして視線検出部２１は、生成された画像上で瞳孔及びプルキンエ像を検出する（ステップＳ２０２）。そして視線検出部２１は、二つのプルキンエ像と瞳孔に基づいて視線方向を検出する（ステップＳ２０３）。また、注視位置推定部２２は、検出された視線方向に基づいてユーザの注視位置を推定する（ステップＳ２０４）。
【００８１】
予測部２３は、少なくとも現フレームの視線方向と一つ前のフレームの視線方向とに基づいて次フレームの撮影時における視線方向を予測する（ステップＳ２０５）。ステップＳ２０５の後、プロセッサ８は、視線検出処理を終了する。
【００８２】
以上に説明してきたように、この視線検出装置は、複数の照明光源のうちの点灯させる照明光源を、予測された視線方向に基づいて、プルキンエ像が画像上に写るように、すなわち、プルキンエ像に基づいて視線方向を検出可能なように選択する。その際、この視線検出装置は、次フレームについて予測された視線方向と、現フレームについて検出された視線方向の両方について、点灯させる照明光源のプルキンエ像が画像上に写るように点灯させる照明光源を選択する。これにより、この視線検出装置は、画像上でプルキンエ像が常に写るようにすることができるので、視線方向の検出精度を向上できる。また、プルキンエ像が画像上に写る照明光源が３個以上ある場合、視線検出装置は、その３個以上の照明光源の中から、互いに最も離れた二つの照明光源を点灯させる。これにより、この視線検出装置は、画像上でのプルキンエ像間の間隔をできるだけ大きくすることができるので、視線方向の検出精度をより向上させることができる。
【００８３】
変形例によれば、視線検出装置は、フレームごとに、複数の照明光源のうちの一つだけを点灯させ、その他を消灯するようにしてもよい。この場合には、視線検出部２１は、赤外カメラ４により生成された画像が得られる度に、図１０のステップＳ２０３において、一つのプルキンエ像を用いて視線方向を検出する方法に従ってユーザの視線方向を検出すればよい。
【００８４】
また、光源制御部２４は、視線検出処理が開始された直後、図９のステップＳ１０２において、予め設定された一つの照明光源を点灯させる。そして光源制御部２４は、視線方向の予測結果が得られるまでは、図９のステップＳ１０３において、最新の視線方向の検出結果に基づいて、点灯モデルを参照して、検出された視線方向が検出可能範囲に含まれる一つの照明光源を点灯させる。そして光源制御部２４は、視線方向の予測結果が得られると、図１０のステップＳ２０１にて、点灯モデルを参照して、予測された視線方向と最新の視線方向の何れもが検出可能範囲内に含まれる一つの照明光源を点灯させればよい。
【００８５】
この変形例による視線検出装置も、上記の実施形態による視線検出装置と同様に、赤外カメラ４により得られる画像上にプルキンエ像が写るように、複数の照明光源のなかから点灯する照明光源を選択するので、視線方向の検出精度を向上できる。
【００８６】
また、他の変形例によれば、光源制御部２４は、最新の画像から検出された視線方向によらず、赤外カメラ４による次回撮影時において予測されたユーザの視線方向が含まれる検出可能範囲に対応する照明光源を、次回撮影時に点灯させてもよい。これにより、特に、視線方向が、速く、かつ、大きく移動している場合でも、視線検出装置は、画像上にプルキンエ像が写る照明光源を点灯させることができる。なお、光源制御部２４は、現フレームの検出された視線方向と次フレームの予測された視線方向の差に基づいて、点灯させる照明光源の選択方法を切り替えてもよい。例えば、光源制御部２４は、現フレームの検出された視線方向と次フレームの予測された視線方向間の差分絶対値を所定の閾値と比較してもよい。そして光源制御部２４は、差分絶対値が所定の閾値よりも大きければ、最新の画像から検出された視線方向によらず、赤外カメラ４による次回撮影時において予測されたユーザの視線方向が含まれる検出可能範囲に対応する照明光源を、次回撮影時に点灯させる。一方、光源制御部２４は、差分絶対値が所定の閾値以下であれば、最新の画像から検出された視線方向と次回撮影時において予測されたユーザの視線方向の両方が含まれる検出可能範囲に対応する照明光源を、次回撮影時に点灯させればよい。
【００８７】
さらに、他の変形例によれば、点灯モデルは、照明光源ごとの検出可能範囲に相当する視線方向の範囲を表していてもよい。この場合も、光源制御部２４は、点灯モデルを参照して、予測された視線方向及び現フレームの検出された視線方向が検出可能範囲に含まれる照明光源を特定すればよい。
【００８８】
上記の実施形態またはその変形例による視線検出装置のプロセッサの機能を実現するコンピュータプログラムは、磁気記録媒体、光記録媒体といったコンピュータ読み取り可能な記録媒体に記録された形で提供されてもよい。なお、この記録媒体には、搬送波は含まれない。
【００８９】
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【００９０】
以上説明した実施形態及びその変形例に関し、更に以下の付記を開示する。
（付記１）
撮像部がユーザの眼を撮影することで生成された画像から、前記眼の瞳孔が写っている瞳孔領域、及び、複数の照明光源のうち、点灯している照明光源の角膜反射像を検出し、
前記瞳孔領域及び前記角膜反射像に基づいて前記ユーザの視線方向を検出し、
生成されたタイミングが異なる少なくとも２枚の前記画像のそれぞれから検出された前記ユーザの視線方向に基づいて、前記撮像部の次回撮影時における前記ユーザの視線方向を予測し、
前記複数の照明光源のそれぞれについて、当該照明光源と前記撮像部との位置関係に応じて視線方向の検出可能範囲が規定され、前記複数の照明光源のうち、予測された前記ユーザの視線方向が含まれる前記検出可能範囲に対応する照明光源の少なくとも一つを前記撮像部の次回撮影時に点灯させる、
ことをコンピュータに実行させるための視線検出用コンピュータプログラム。
（付記２）
前記照明光源を点灯させることは、前記複数の照明光源のうち、最新の前記画像から検出された前記ユーザの視線方向と前記予測されたユーザの視線方向の両方が含まれる前記検出可能範囲に対応する少なくとも一つの照明光源を点灯させる、付記１に記載の視線検出用コンピュータプログラム。
（付記３）
前記照明光源を点灯させることは、前記複数の照明光源のうち、最新の前記画像から検出された前記ユーザの視線方向と前記予測されたユーザの視線方向の両方が含まれる前記検出可能範囲に対応する照明光源が３個以上ある場合、当該３個以上の照明光源のうちの最も離れた二つの照明光源を点灯させる、付記２に記載の視線検出用コンピュータプログラム。
（付記４）
前記照明光源を点灯させることは、前記複数の照明光源のうち、前記予測されたユーザの視線方向が含まれる前記検出可能範囲に対応する照明光源のうちの二つを点灯させる、付記１に記載の視線検出用コンピュータプログラム。
（付記５）
前記照明光源を点灯させることは、前記複数の照明光源のうち、前記予測されたユーザの視線方向が含まれる前記検出可能範囲に対応する前記照明光源が３個以上ある場合、当該３個以上の照明光源のうちの最も離れた二つの照明光源を点灯させる、付記４に記載の視線検出用コンピュータプログラム。
（付記６）
撮像部がユーザの眼を撮影することで生成された画像から、前記眼の瞳孔が写っている瞳孔領域、及び、複数の照明光源のうち、点灯している照明光源の角膜反射像を検出し、
前記瞳孔領域及び前記角膜反射像に基づいて前記ユーザの視線方向を検出し、
生成されたタイミングが異なる少なくとも２枚の前記画像のそれぞれから検出された前記ユーザの視線方向に基づいて、前記撮像部の次回撮影時における前記ユーザの視線方向を予測し、
前記複数の照明光源のそれぞれについて、当該照明光源と前記撮像部との位置関係に応じて視線方向の検出可能範囲が規定され、前記複数の照明光源のうち、予測された前記ユーザの視線方向が含まれる前記検出可能範囲に対応する照明光源の少なくとも一つを前記撮像部の次回撮影時に点灯させる、
ことを含む視線検出方法。
（付記７）
撮像部がユーザの眼を撮影することで生成された画像から、前記眼の瞳孔が写っている瞳孔領域、及び、複数の照明光源のうち、点灯している照明光源の角膜反射像を検出し、前記瞳孔領域及び前記角膜反射像に基づいて前記ユーザの視線方向を検出する視線検出部と、
生成されたタイミングが異なる少なくとも２枚の前記画像のそれぞれから検出された前記ユーザの視線方向に基づいて、前記撮像部の次回撮影時における前記ユーザの視線方向を予測する予測部と、
前記複数の照明光源のそれぞれについて、当該照明光源と前記撮像部との位置関係に応じて視線方向の検出可能範囲が規定され、前記複数の照明光源のうち、予測された前記ユーザの視線方向が含まれる前記検出可能範囲に対応する照明光源の少なくとも一つを前記撮像部の次回撮影時に点灯させる光源制御部と、
を有する視線検出装置。
【符号の説明】
【００９１】
１    デジタルサイネージシステム（視線検出装置）
２    表示装置
３−１〜３−ｎ    照明光源
４    赤外カメラ
５    入力装置
６    記憶媒体アクセス装置
７    メモリ
８    プロセッサ
９    記憶媒体
１０    筐体
２１    視線検出部
２２    注視位置推定部
２３    予測部
２４    光源制御部
【図１】
2018197974.tif 000005
【図２】
2018197974.tif 000006
【図３】
2018197974.tif 000007
【図４】
2018197974.tif 000008
【図５】
2018197974.tif 000009
【図６】
2018197974.tif 000010
【図７】
2018197974.tif 000011
【図８】
2018197974.tif 000012
【図９】
2018197974.tif 000013
【図１０】
2018197974.tif 000014