(57)【特許請求の範囲】
【請求項１】
第１の画角を有し、第１の画像を生成する第１の撮像部と、
前記第１の画角よりも狭い第２の画角を有し、第２の画像を生成する第２の撮像部と、
前記第１の画像に人の顔が表されている場合に当該顔の位置を検出する顔検出部と、
前記検出した顔の位置を含む前記第２の画像に人の眼が表されている場合に当該人の注視位置を検出する視線検出部と、
連続して生成された複数の前記第１の画像のそれぞれについて前記顔の位置が検出されている第１の期間において生成された複数の前記第２の画像から検出された前記注視位置を同一人物によるものと判定する同一人物判定部と、
を有する視線検出装置。
【請求項２】
前記同一人物判定部は、前記顔の位置が検出されない連続して生成された一つ以上の前記第１の画像のそれぞれについて前記顔の位置が検出されない第２の期間の直前に生成された前記第１の画像上での前記顔の位置と、前記第２の期間の直後に生成された前記第１の画像上での前記顔の位置との比較結果に基づいて、前記第２の期間の直前に生成された前記第２の画像から検出された前記注視位置と、前記第２の期間の直後に生成された前記第２の画像から検出された前記注視位置とを同一人物によるものか否かを判定する、請求項１に記載の視線検出装置。
【請求項３】
前記同一人物判定部は、前記第２の期間の直前において生成された前記第１の画像上での前記顔の位置が当該第１の画像の水平方向の一方の端部側に位置し、前記第２の期間の直後において生成された前記第１の画像上での前記顔の位置が当該第１の画像の水平方向の他方の端部側に位置する場合、前記第２の期間の直前に生成された前記第２の画像から検出された前記注視位置と、前記第２の期間の直後に生成された前記第２の画像から検出された前記注視位置とを異なる人物によるものと判定する、請求項２に記載の視線検出装置。
【請求項４】
前記同一人物判定部は、前記第２の期間の直前において生成された前記第１の画像上での前記顔の位置、及び、前記第２の期間の直後において生成された前記第１の画像上での前記顔の位置の何れも、前記第１の画像の水平方向の一方の端部側に位置し、かつ、前記第２の期間の直前において生成された前記第１の画像上での前記顔の垂直方向の位置と、前記第２の期間の直後において生成された前記第１の画像上での前記顔の垂直方向の位置との差が所定の長さ以下である場合、前記第２の期間の直前に生成された前記第２の画像から検出された前記注視位置と、前記第２の期間の直後に生成された前記第２の画像から検出された前記注視位置とを同一人物によるものと判定する、請求項２に記載の視線検出装置。
【請求項５】
前記同一人物判定部は、前記第２の期間の直前において生成された前記第１の画像上での前記顔の位置、及び、前記第２の期間の直後において生成された前記第１の画像上での前記顔の位置の何れも、前記第１の画像の水平方向の一方の端部側に位置し、かつ、前記第２の期間の長さが所定の期間以下である場合、前記第２の期間の直前に生成された前記第２の画像から検出された前記注視位置と、前記第２の期間の直後に生成された前記第２の画像から検出された前記注視位置とを同一人物によるものと判定する、請求項２に記載の視線検出装置。
【請求項６】
前記第２の撮像部は、撮影方向を変更可能であり、
前記第２の期間の直前において生成された前記第１の画像上での前記顔の位置が当該第１の画像の水平方向の何れか一方の端部から所定範囲内に位置していた場合、前記第２の撮像部の撮影方向を、前記一方の端部に対応する前記第１の撮像部の撮影範囲の端部から外れる方向へ向ける撮影方向制御部をさらに有する、請求項２〜５の何れか一項に記載の視線検出装置。
【請求項７】
前記同一人物判定部は、前記第２の撮像部の撮影方向を、前記一方の端部に対応する前記第１の撮像部の撮影範囲の端部から外れる方向へ向けた後に生成された前記第２の画像から前記注視位置が検出された場合、当該第２の画像から検出された前記注視位置と、前記第２の期間の直前に生成された前記第２の画像から検出された前記注視位置とを、同一人物によるものと判定する、請求項６に記載の視線検出装置。
【請求項８】
第１の画角を有する第１の撮像部により生成された第１の画像に人の顔が表されている場合に当該顔の位置を検出し、
前記第１の画角よりも狭い第２の画角を有する第２の撮像部により生成され、前記検出した顔の位置を含む第２の画像に人の眼が表されている場合に当該人の注視位置を検出し、
連続して生成された複数の前記第１の画像のそれぞれについて前記顔の位置が検出されている第１の期間において生成された複数の前記第２の画像から検出された前記注視位置を同一人物によるものと判定する、
ことを含む視線検出方法。
【請求項９】
第１の画角を有する第１の撮像部により生成された第１の画像に人の顔が表されている場合に当該顔の位置を検出し、
前記第１の画角よりも狭い第２の画角を有する第２の撮像部により生成され、前記検出した顔の位置を含む第２の画像に人の眼が表されている場合に当該人の注視位置を検出し、
連続して生成された複数の前記第１の画像のそれぞれについて前記顔の位置が検出されている第１の期間において生成された複数の前記第２の画像から検出された前記注視位置を同一人物によるものと判定する、
ことをコンピュータに実行させるための視線検出用コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、人の眼を撮影して得られた画像に基づいて人の注視位置を検出する視線検出装置、視線検出方法及び視線検出用コンピュータプログラムに関する。
【背景技術】
【０００２】
人が注視している位置を追跡することで、その人が興味を有しているものに関する情報を得たり、あるいは、その注視している位置に関連する操作を自動的に実行することが検討されている。なお、以下では、便宜上、人が注視している位置を単に注視位置と呼ぶ。
【０００３】
そこで、相対的に広い画角を持つカメラと、相対的に狭い画角を持つカメラとを用いて、ユーザの視線方向を検出する視線検出装置が提案されている（例えば、特許文献１及び２を参照）。このような視線検出装置では、相対的に広い画角を持つカメラにより得られた画像から、ユーザの顔が検出される。そして、検出されたユーザの顔の位置から推定されるユーザの眼を相対的に狭い画角を持つカメラで撮影して得られた画像から、光源の角膜反射像（以下、プルキンエ像と呼ぶ）と瞳孔とを検出することで、ユーザの視線方向が検出される。
【０００４】
しかしながら、この視線検出装置は、互いに異なる時刻に得られた画像から検出された視線方向が同一人物によるものか否かを判定することはできない。一方、被写体を連続して撮影することにより得られた一連の画像から顔を検出することで、同一人物を追跡する技術が提案されている（例えば、特許文献３を参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−２９７５１８号公報
【特許文献２】特開２０１４−３９６１７号公報
【特許文献３】特開２０１０−２４４４６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、プライバシー保護の観点から、人の顔を撮影することで得られた画像を保存できないことがある。このような場合には、画像から検出された人の顔の位置を表す情報といった、個人のプライバシーとは無関係の情報を保存することはできるものの、人の顔を特定するために利用可能な情報及び画像そのものは破棄される。そのため、上記の視線検出装置に、特許文献３に開示された人物追跡の技術を適用できないことがある。
【０００７】
一つの側面では、本発明は、人の注視位置の時間変化を追跡できる視線検出装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
一つの実施形態によれば、視線検出装置が提供される。この視線検出装置は、第１の画角を有し、第１の画像を生成する第１の撮像部と、第１の画角よりも狭い第２の画角を有し、第２の画像を生成する第２の撮像部と、第１の画像に人の顔が表されている場合に顔の位置を検出する顔検出部と、検出した顔の位置を含む第２の画像に人の眼が表されている場合に人の注視位置を検出する視線検出部と、連続して生成された複数の第１の画像のそれぞれについて顔の位置が検出されている第１の期間において生成された複数の第２の画像から検出された注視位置を同一人物によるものと判定する同一人物判定部を有する。
【発明の効果】
【０００９】
人の注視位置の時間変化を追跡できる。
【図面の簡単な説明】
【００１０】
【図１】視線検出装置の一実施形態であるデジタルサイネージシステムのハードウェア構成図である。
【図２】各カメラと表示部の配置の一例を示す図である。
【図３】広角画像の一例と挟角画像の一例を示す図である。
【図４】制御部の視線検出処理に関する機能ブロック図である。
【図５】参照テーブルの一例を示す図である。
【図６】注視位置テーブルの一例を示す図である。
【図７】顔位置履歴情報の一例を示す図である。
【図８】注視位置履歴情報の一例を示す図である。
【図９】ユーザのポジションと顔位置履歴情報の関係の一例を示す図である。
【図１０】視線検出処理の動作フローチャートを示す図である。
【図１１】視線検出処理の動作フローチャートを示す図である。
【発明を実施するための形態】
【００１１】
以下、図を参照しつつ、視線検出装置について説明する。
この視線検出装置は、人が想定される範囲内に位置している限り、その人の顔全体を撮影可能な画角を持つ広角カメラと、画像上で瞳孔及びプルキンエ像が識別可能なサイズとなるように、広角カメラの画角よりも狭い画角を持つ赤外カメラを有する。この視線検出装置は、広角カメラが一定周期ごとに撮影することにより得られた一連の画像のそれぞれから、顔を検出する。そしてこの視線検出装置は、検出された顔の位置に基づいて想定される眼の位置を赤外カメラにより撮影して画像を生成し、赤外カメラによる画像上で瞳孔及びプルキンエ像を検出することで、人の注視位置を検出する。またこの視線検出装置は、広角カメラによる画像上で顔が検出されている期間内に検出された注視位置を、同一人物によるものと判定する。
【００１２】
なお、注視位置の追跡対象であった人が一時的に移動したり、カメラが設けられた方向とは異なる方向へその人が顔を向けることにより、視線検出装置は、顔及び注視位置を一時的に検出できなくなることがある。そこでこの視線検出装置は、一旦、顔を検出できなくなったときに、検出できなくなる直前の顔の位置と、再度顔が検出されたときの顔の位置との比較結果に基づいて、顔が検出できなかった期間の前後の注視位置が同一人物によるものか否かを判定する。
【００１３】
なお、以下に説明する実施形態では、視線検出装置は、デジタルサイネージシステムに実装され、そして視線検出装置は、デジタルサイネージシステムのユーザである人の注視位置を追跡する。しかしこの視線検出装置は、注視位置を追跡し、その追跡結果を利用する様々な装置に利用可能である。
【００１４】
図１は、視線検出装置の一実施形態であるデジタルサイネージシステムのハードウェア構成図である。デジタルサイネージシステム１は、表示部２と、広角カメラ３と、照明光源４と、赤外カメラ５と、入力部６と、記憶媒体アクセス装置７と、記憶部８と、制御部９とを有する。さらにデジタルサイネージシステム１は、デジタルサイネージシステム１を他の機器に接続するための通信インターフェース回路（図示せず）を有していてもよい。
【００１５】
表示部２は、例えば、液晶ディスプレイまたは有機エレクトロルミネッセンスディスプレイを有する。そして表示部２は、例えば、様々なテキスト、静止画像または動画像を制御部９からの制御信号に応じて表示する。
【００１６】
広角カメラ３は、第１の撮像部の一例であり、可視光に感度を有し、デジタルサイネージシステム１の表示部２などを注視する人が位置すると想定される範囲が広角カメラ３の撮影範囲に含まれるような画角（例えば、対角60度〜80度）を持つ。そして広角カメラ３は、視線検出処理の実行中、所定のフレームレートでその撮影範囲を撮影することにより、その撮影範囲全体が写った画像を生成する。そして広角カメラ３は、画像を生成する度に、その画像を制御部９へ渡す。
なお、広角カメラ３も、赤外カメラ５と同様に、照明光源４から発せられる赤外光に感度を有するカメラであってもよい。
【００１７】
照明光源４は、赤外光を発光する光源、例えば、少なくとも一つの赤外発光ダイオードと、制御部９からの制御信号に応じて、赤外発光ダイオードに電源（図示せず）からの電力を供給する駆動回路（図示せず）とを有する。照明光源４は、赤外カメラ５の撮影方向を照明可能なように、赤外カメラ５と同じ筐体１０に、赤外カメラ５の撮影方向へ照明光源４の発光面が向くように取り付けられている。そして照明光源４は、制御部９から光源を点灯させる制御信号を受信している間、照明光を発する。
【００１８】
赤外カメラ５は、第２の撮像部の一例であり、眼を含む人の顔の少なくとも一部が写った画像を生成する。そのために、赤外カメラ５は、照明光源４が発する赤外光に感度を持つ２次元状に配列された固体撮像素子を有するイメージセンサと、そのイメージセンサ上に被写体の像を結像する撮像光学系を有する。赤外カメラ５は、虹彩による反射像及び照明光源４以外の光源からの光のプルキンエ像が検出されることを抑制するために、イメージセンサと撮像光学系の間に、可視光カットフィルタをさらに有してもよい。また、撮像光学系は、単焦点の光学系でもよく、あるいは、可変焦点光学系であってもよい。そして赤外カメラ５は、広角カメラ３の画角よりも狭い画角（例えば、対角30度〜40度）を持つ。赤外カメラ５は、視線検出処理の実行中、所定のフレームレートで制御部９により指定された撮影方向について撮影して得られる画像を生成する。なお、赤外カメラ５は、この画像上でデジタルサイネージシステム１を利用する人の瞳に写った照明光源４のプルキンエ像及び瞳孔が識別可能な解像度を有する。そして赤外カメラ５は、画像を生成する度に、その画像を制御部９へ渡す。
【００１９】
また、本実施形態では、照明光源４及び赤外カメラ５は、同一の筐体１０に取り付けられる。筐体１０は、照明光源４及び赤外カメラ５を一体的に支持しつつ、筐体１０が載置された台の表面に沿って回動可能な回動支持部材（図示せず）と、回動支持部材を制御部９からの制御信号に応じて回転させるアクチュエータ（図示せず）とを有する。これにより、赤外カメラ５は、その撮影方向を変更可能なように、筐体１０に取り付けられる。
【００２０】
また、広角カメラ３の感度と赤外カメラ５の感度は、それぞれ別個に最適化されてもよい。例えば、広角カメラ３の感度は、画像上で顔の輪郭が識別できるように、相対的に低く設定され、一方、赤外カメラ５の感度は、画像上でプルキンエ像及び瞳孔が識別できるように、相対的に高く設定されてもよい。
【００２１】
図２は、各カメラと表示部２の配置の一例を示す図である。表示部２の周辺には、広角カメラ３が配置されている。そして広角カメラ３は、表示部２と対向するように位置する人２００の顔を撮影可能なように向けられている。同様に、照明光源４及び赤外カメラ５が取り付けられた筐体１０も、表示部２の周辺に配置されている。そして照明光源４及び赤外カメラ５は、制御部９からの制御信号に応じて、人２００の顔へ向けられる。そして、広角カメラ３により生成される画像の垂直方向、及び、赤外カメラ５により生成される画像の垂直方向が、実空間での垂直方向に対応する。したがって、各画像において、人の顔の縦方向が、各画像の垂直方向と略平行となることが想定される。
【００２２】
以下では、便宜上、広角カメラ３により生成された画像を広角画像と呼び、赤外カメラ５により生成された画像を狭角画像と呼ぶ。
【００２３】
図３は、広角画像の一例と挟角画像の一例を示す図である。広角カメラ３により得られる広角画像３００の水平方向の幅は、水平方向における人の顔３０１の幅の数倍程度となっている。そのため、人がある程度移動しても、広角画像３００上にその人の顔３０１が写る。一方、赤外カメラ５により得られる挟角画像３１０では、プルキンエ像及び瞳孔が明りょうに識別可能となるように、挟角画像３１０いっぱいに人の顔３０１が写る。
【００２４】
入力部６は、例えば、キーボードと、マウスのようなポインティングデバイスとを有する。そして入力部６を介してユーザにより入力された操作信号は、制御部９へ渡される。
【００２５】
なお、表示部２と入力部６とは、例えば、タッチパネルディスプレイのように一体化されていてもよい。この場合、入力部６は、表示部２の表示画面上に表示されたアイコンの位置にユーザが触れた場合に、その位置に応じた操作信号を生成し、その操作信号を制御部９へ出力する。
【００２６】
記憶媒体アクセス装置７は、例えば、磁気ディスク、半導体メモリカード及び光記憶媒体といった記憶媒体１１にアクセスする装置である。記憶媒体アクセス装置７は、例えば、記憶媒体１１に記憶された、制御部９上で実行される、視線検出処理用のコンピュータプログラムを読み込み、制御部９に渡す。
【００２７】
記憶部８は、例えば、読み書き可能な不揮発性の半導体メモリ、及び読み書き可能な揮発性の半導体メモリを有する。そして記憶部８は、制御部９上で実行される、視線検出処理用のコンピュータプログラム、各種のアプリケーションプログラム及び各種のデータを記憶する。
【００２８】
さらに、記憶部８は、人が注視する位置を検出するために利用される各種のデータを記憶する。例えば、記憶部８は、プルキンエ像の重心に対する瞳孔重心の相対的な位置と視線方向との関係を表す参照テーブルを記憶する。また記憶部８は、検出された顔の位置の履歴を表す顔位置履歴情報と、検出された注視位置の履歴を表す注視位置履歴情報とを記憶する。
【００２９】
制御部９は、一つまたは複数のプロセッサ及びその周辺回路を有する。そして制御部９は、デジタルサイネージシステム１の各部と信号線を介して接続されており、デジタルサイネージシステム１全体を制御する。例えば、制御部９は、入力部６から受け取った操作信号と実行中のアプリケーションプログラムに応じて、所定の動画像などを表示部２に表示させる。
【００３０】
さらに、制御部９は、広角画像及び挟角画像が得られる度に、視線検出処理を実行することにより、ユーザの顔を検出するとともに、ユーザが注視している位置を求める。そして制御部９は、広角画像の取得時刻とともに、ユーザの顔の位置を、顔位置履歴情報に含める。また制御部９は、挟角画像の取得時刻とともに、ユーザの注視位置を、注視位置履歴情報に含める。
【００３１】
図４は、制御部９の視線検出処理に関する機能ブロック図である。制御部９は、顔検出部２１と、撮影方向制御部２２と、視線検出部２３と、履歴情報記録部２４と、同一人物判定部２５とを有する。
制御部９が有するこれらの各部は、制御部９が有するプロセッサ上で実行されるコンピュータプログラムにより実現される機能モジュールである。また制御部９が有するこれらの各部は、その各部に対応する回路が集積された一つまたは複数の集積回路として、制御部９が有するプロセッサとは別個にデジタルサイネージシステム１に実装されてもよい。
【００３２】
顔検出部２１は、視線検出処理の実行中において、広角画像が得られる度に、広角画像上で人の顔が写っている場合に、顔の領域である顔領域及び顔の位置を検出する。なお、顔検出部２１は、全ての広角画像に対して同一の処理を実行すればよいので、以下では、一つの広角画像に対する処理について説明する。
【００３３】
例えば、顔検出部２１は、広角画像の各画素の値をHSV表色系により表される値に変換する。そして顔検出部２１は、各画素の色相成分（H成分）の値が肌色に相当する値（例えば、0°〜30°の範囲内の値）となる画素を、顔の一部が写っている可能性がある顔領域候補画素として抽出する。
【００３４】
また、ある人物がデジタルサイネージシステム１を利用している場合、その人物の顔は、表示部２の方を向いており、かつ、表示部２から所定の距離（例えば、1m〜2m）だけ離れた位置にあると想定される。そのため、広角画像上で顔が占める領域の大きさもある程度推定される。
そこで顔検出部２１は、顔領域候補画素に対してラベリング処理を行って、互いに隣接している顔領域候補画素の集合を顔候補領域とする。そして顔検出部２１は、顔候補領域の大きさが人の顔の大きさに相当する基準範囲に含まれているか否か判定する。顔候補領域の大きさが人の顔の大きさに相当する基準範囲に含まれていれば、顔検出部２１はその顔候補領域を顔領域と判定する。
なお、顔候補領域の大きさは、例えば、顔候補領域の水平方向の最大幅の画素数で表される。この場合、基準範囲は、例えば、広角画像の水平方向画素数の1/10以上〜1/3以下に設定される。あるいは、顔候補領域の大きさは、例えば、顔候補領域に含まれる画素数で表されてもよい。この場合、基準範囲は、例えば、画像全体の画素数の1/100以上〜1/9以下に設定される。
【００３５】
顔検出部２１は、顔候補領域の大きさだけでなく、顔候補領域の形状も、顔候補領域を顔領域と判定するための判定条件に加えてもよい。人の顔は、一般に略楕円形状を有している。そこで顔検出部２１は、例えば、顔候補領域の大きさが上記の基準範囲に含まれ、かつ、顔候補領域の円形度が、一般的な顔の輪郭に相当する所定の閾値以上である場合に顔候補領域を顔領域としてもよい。なお顔検出部２１は、顔候補領域の輪郭上に位置する画素の合計を顔候補領域の周囲長として求め、顔候補領域内の総画素数に4πを乗じた値を周囲長の２乗で除することにより円形度を算出できる。
【００３６】
あるいは、顔検出部２１は、顔候補領域の輪郭上の各画素の座標を楕円方程式に当てはめて最小二乗法を適用することにより、顔候補領域を楕円近似してもよい。そして顔検出部２１は、その楕円の長軸と短軸の比が一般的な顔の長軸と短軸の比の範囲に含まれる場合に、顔候補領域を顔領域としてもよい。なお、顔検出部２１は、楕円近似により顔候補領域の形状を評価する場合、画像の各画素の輝度成分に対して近傍画素間演算を行ってエッジに相当するエッジ画素を検出してもよい。この場合、顔検出部２１は、エッジ画素を例えばラベリング処理を用いて連結し、一定の長さ以上に連結されたエッジ画素を顔候補領域の輪郭とする。
【００３７】
なお、顔検出部２１は、画像上に写っている顔の領域を検出する他の様々な方法の何れかに従って顔領域を検出してもよい。例えば、顔検出部２１は、顔候補領域と一般的な顔の形状に相当するテンプレートとの間でテンプレートマッチングを行って、顔候補領域とテンプレートとの一致度を算出し、その一致度が所定値以上である場合に、顔候補領域を顔領域と判定してもよい。
【００３８】
顔検出部２１は、顔領域を検出できると、広角画像上での顔領域の重心位置を、検出された顔の位置として算出する。また、顔検出部２１は、顔領域を検出できない場合、顔の位置として、所定のデフォルト座標値（例えば、(-1,-1)）を設定する。
そして顔検出部２１は、顔の位置の座標を撮影方向制御部２２へ渡す。また顔検出部２１は、広角画像の取得時刻とともに、顔の位置の座標を履歴情報記録部２４へ渡す。さらに、顔検出部２１は、顔領域の水平方向の幅を視線検出部２３へ通知する。
【００３９】
撮影方向制御部２２は、顔検出部２１から通知された顔の検出位置に基づいて、照明光源４の照明方向及び赤外カメラ５の撮影方向を調整する。
【００４０】
広角画像上での画素の座標は、広角カメラ３の光軸方向に対する角度と１対１に対応している。したがって、広角画像上での顔の位置が分かれば、広角カメラ３に対する顔の方向も分かる。さらに、広角カメラ３と赤外カメラ５との位置関係も既知であり、かつ、広角カメラ３及び赤外カメラ５と、広角画像に顔が写っている人物との間の距離もある程度想定される。そのため、広角画像上での顔の位置が分かれば、赤外カメラ５からの顔の方向も求められる。そこで、例えば、広角画像上での顔の位置と、赤外カメラ５の撮影方向との関係を表すテーブルが予め作成され、記憶部８に記憶される。そして撮影方向制御部２２は、そのテーブルを参照して、広角画像上での顔の位置に対応する、赤外カメラ５の撮影方向を求める。さらに、撮影方向制御部２２は、求めた撮影方向と、現在の赤外カメラ５の撮影方向との差に基づいて、赤外カメラ５が支持された筐体の回動支持部材の回転方向及び回転角度を算出する。そして撮影方向制御部２２は、算出した回転方向及び回転角度に応じた制御信号を筐体へ出力することで、赤外カメラ５の撮影方向を、検出された顔の位置に対応する方向へ向けさせる。なお、検出された顔の位置がデフォルト値になっている場合、すなわち、直前に得られた広角画像において、顔が検出されていない場合には、撮影方向制御部２２は、赤外カメラ５の撮影方向を、現在の撮影方向のまま維持してもよい。あるいは、撮影方向制御部２２は、直前に得られた挟角画像から注視位置が検出できない場合に限り、赤外カメラ５の撮影方向を調整してもよい。
【００４１】
視線検出部２３は、視線検出処理の実行中において、挟角画像が得られる度に、狭角画像上で人の眼が写っている場合にプルキンエ像及び瞳孔を検出し、プルキンエ像と瞳孔の位置関係に基づいて、人の視線方向及び注視位置を検出する。なお、視線検出部２３は、全ての挟角画像に対して同一の処理を実行すればよいので、以下では、一つの挟角画像に対する処理について説明する。
【００４２】
本実施形態では、視線検出部２３は、一方の眼の瞳孔に相当するテンプレートと挟角画像との間でテンプレートマッチングを行い、挟角画像上でテンプレートとの一致度が最も高くなる領域を検出する。そして視線検出部２３は、一致度の最高値が所定の一致度閾値よりも高い場合、その検出した領域を、瞳孔が写っている瞳孔領域と判定する。なお、テンプレートは、瞳孔の大きさに応じて複数準備されてもよい。この場合、視線検出部２３は、各テンプレートと挟角画像とのテンプレートマッチングをそれぞれ実行し、一致度の最高値を求める。そして一致度の最高値が一致度閾値よりも高い場合、視線検出部２３は、一致度の最高値に対応するテンプレートと重なった領域を瞳孔領域と判定する。なお、一致度は、例えば、テンプレートとそのテンプレートと重なった領域との正規化相互相関値として算出される。また一致度閾値は、例えば、0.7または0.8に設定される。
【００４３】
また瞳孔が写っている領域の輝度は、その周囲の領域の輝度よりも低く、瞳孔は略円形である。そこで視線検出部２３は、挟角画像上で、同心円状に半径の異なる２本のリングを設定する。そして視線検出部２３は、外側のリングに相当する画素の輝度の平均値から内側の画素の輝度の平均値を引いた差分値が所定の閾値よりも大きい場合、その内側のリングで囲まれた領域を瞳孔領域としてもよい。また視線検出部２３は、内側のリングで囲まれた領域の平均輝度値が所定の閾値以下であることを、瞳孔領域として検出する条件に加えてもよい。この場合、所定の閾値は、例えば、拡大眼周辺領域内の最大輝度値と最小輝度値の差の10％〜20％を、最小輝度値に加えた値に設定される。
視線検出部２３は、瞳孔領域の検出に成功した場合、瞳孔領域に含まれる各画素の水平方向座標値の平均値及び垂直方向座標値の平均値を、瞳孔領域の重心の位置座標として算出する。
【００４４】
また視線検出部２３は、瞳孔領域及びその周辺領域内で照明光源４のプルキンエ像を検出する。照明光源４のプルキンエ像が写っている領域の輝度は、その周囲の領域の輝度よりも高く、その輝度値は略飽和している（すなわち、輝度値が、画素値が取り得る輝度の値の略最高値となっている）。また、照明光源４のプルキンエ像が写っている領域の形状は、照明光源４の発光面の形状と略一致する。そこで視線検出部２３は、瞳孔領域及びその周辺領域内で、照明光源４の発光面の輪郭形状と略一致する形状を持ち、かつ、大きさが異なるとともに中心が一致する２本のリングを設定する。そして視線検出部２３は、内側のリングに相当する画素の輝度の平均値である内部輝度平均値から外側の画素の輝度の平均値を引いた差分値を求める。視線検出部２３は、その差分値が所定の差分閾値よりも大きく、かつ内側輝度平均値が所定の輝度閾値よりも高い場合、その内側のリングで囲まれた領域を照明光源４のプルキンエ像とする。なお、差分閾値は、例えば、瞳孔領域及びその周辺領域内の近傍画素間の差分値の平均値とすることができる。また所定の輝度閾値は、例えば、瞳孔領域及びその周辺領域内での輝度値の最高値の80%とすることができる。
【００４５】
なお、視線検出部２３は、画像上で瞳孔が写っている領域を検出する他の様々な方法の何れかを用いて、瞳孔が写っている領域を検出してもよい。同様に、視線検出部２３は、画像上で光源のプルキンエ像が写っている領域を検出する他の様々な方法の何れかを用いて、光源のプルキンエ像が写っている領域を検出してもよい。
【００４６】
視線検出部２３は、照明光源４のプルキンエ像の検出に成功した場合、プルキンエ像に含まれる各画素の水平方向座標値の平均値及び垂直方向座標値の平均値を、プルキンエ像の重心の位置座標として算出する。そしてプルキンエ像の重心及び瞳孔重心が検出されると、視線検出部２３は、視線方向及び注視位置を検出する。
【００４７】
角膜の表面は略球形であるため、視線方向によらず、光源のプルキンエ像の位置はほぼ一定となる。一方、瞳孔重心は、視線方向に応じて移動する。そのため、視線検出部２３は、プルキンエ像の重心を基準とする瞳孔重心の相対的な位置を求めることにより、視線方向を検出できる。
【００４８】
本実施形態では、視線検出部２３は、光源のプルキンエ像の重心を基準とする瞳孔重心の相対的な位置を、例えば、瞳孔重心の水平方向座標及び垂直方向座標からプルキンエ像の重心の水平方向座標及び垂直方向座標を減算することにより求める。そして視線検出部２３は、瞳孔重心の相対的な位置と視線方向との関係を表す参照テーブルを参照することにより、視線方向を決定する。
【００４９】
図５は、参照テーブルの一例を示す図である。参照テーブル５００の左側の列の各欄には、光源のプルキンエ像の重心を基準とする瞳孔重心の相対的な位置の座標が表される。また参照テーブル５００の右側の列の各欄には、同じ行の瞳孔重心の相対的な位置の座標に対応する視線方向が表される。なお、この例では、視線方向は、所定の基準点（例えば、表示部２の表示画面の中心または赤外カメラ５の取り付け位置）を人が注視しているときの視線方向を基準方向として、その基準方向からの水平方向及び垂直方向の角度の差で表される。なお、瞳孔重心の相対的な位置の座標は、挟角画像上の画素単位で表される。
【００５０】
視線検出部２３は、さらに、検出した視線方向に基づいて、人の注視位置を検出する。
本実施形態では、視線検出部２３は、視線方向と注視位置との関係を表す注視位置テーブルを参照することにより、注視位置を決定する。なお、視線方向と注視位置との関係は、その注視位置（例えば、表示部２の表示画面）と視線方向が検出された人物との間の距離に応じて変化する。また、広角画像上での水平方向の顔の幅も、広角カメラ３とその人物との間の距離に応じて変化する。そして広角カメラ３は、表示部２の周辺に配置されているので、広角カメラ３とその人物との間の距離と、その人物の注視位置とその人物との間の距離は、略等しいことが想定される。
【００５１】
そこで、注視位置テーブルは、広角カメラ３とデジタルサイネージシステム１を利用する人との間の想定される距離（例えば、1m、2mなど）に応じて、予め複数用意され、記憶部８に保存される。また各注視位置テーブルには、その注視位置テーブルに対応する、広角カメラ３とのその人物との間の距離に応じた、広角画像上での水平方向の顔領域の幅の範囲が対応付けられる。そして視線検出部２３は、顔検出部２１から受け取った、最新の顔領域の水平方向の幅をその範囲に含む注視位置テーブルを選択する。そして視線検出部２３は、選択した注視位置テーブルを参照して、視線方向に対応する注視位置を求める。
なお、変形例によれば、視線検出装置は、デプスカメラといった距離センサを有していてもよい。この場合には、視線検出部２３は、距離センサにより得られた、広角画像上で検出された顔までの距離に応じて、注視位置テーブルを選択すればよい。
【００５２】
図６は、注視位置テーブルの一例を示す図である。注視位置テーブル６００の上端の行には、視線方向が表される。そして注視位置テーブル６００の各欄には、同じ列の視線方向に対応する、注視位置の座標が所定の単位（例えば、表示部２の表示画面の画素単位、あるいは、mm単位）で表される。例えば、注視位置テーブル６００の欄６０１には、視線方向が水平方向0°、垂直方向1°の場合の注視位置が(cx,cy+40)であることが示されている。なお、cx、cyは、視線方向が(0,0)のときの注視位置、すなわち基準注視位置の座標、例えば、赤外カメラ５の取り付け位置における、鉛直平面上の水平座標及び垂直座標である。
【００５３】
なお、視線検出部２３は、視線方向及び注視位置の検出に失敗した場合、すなわち、瞳孔またはプルキンエ像の検出に失敗した場合、注視位置の座標として、注視位置の検出に失敗したことを表す座標値、例えば、(0,0)に設定する。
視線検出部２３は、注視位置を、挟角画像の取得時刻とともに履歴情報記録部２４へ通知する。
【００５４】
履歴情報記録部２４は、顔検出部２１から、広角画像上での顔の位置と広角画像の取得時刻を受け取る度に、広角画像上での顔の位置と広角画像の取得時刻を、顔位置履歴情報に登録する。
【００５５】
図７は、顔位置履歴情報の一例を示す図である。顔位置履歴情報７００には、行ごとに、広角画像の取得時刻７０１と、検出された顔の位置についての広角画像上の水平方向（すなわち、X方向）の座標値及び垂直方向（すなわち、Y方向）の座標値との組７０２が含まれる。そして取得時刻と座標値の組が得られる度に、顔位置履歴情報７００の最下行に、その取得時刻と座標値の組が追加される。なお、この例では、X方向及びY方向の原点は、広角画像の左上端の画素の位置となり、原点よりも右側であればX方向の座標値は正となり、原点よりも下側であればY方向の座標値は正となる。またこの例では、広角画像上で顔が検出されていない場合、顔位置履歴情報７００において、行７１０に示されるように、X方向の座標値及びY方向の座標値は、(-1,-1)で表される。
【００５６】
また、履歴情報記録部２４は、後述する同一人物判定部２５より、現在の注視位置履歴情報に注視位置が記録されている人物と、最新の広角画像の取得時において顔が検出された人物とが同一であるか否かの判定結果を受け取る。そして履歴情報記録部２４は、現在の注視位置履歴情報に注視位置が記録されている人物と、最新の広角画像の取得時において顔が検出された人物とが同一であれば、その注視位置履歴情報に、最新の挟角画像の取得時刻と注視位置とを記録する。
【００５７】
一方、現在の注視位置履歴情報に注視位置が記録されている人物と、最新の広角画像の取得時において顔が検出された人物とが同一でなければ、履歴情報記録部２４は、現在の注視位置履歴情報の更新を停止する。そして履歴情報記録部２４は、注視位置履歴情報を新たに作成する。そして履歴情報記録部２４は、新たに作成した注視位置履歴情報に、視線検出部２３から受け取った、最新の挟角画像の取得時刻と注視位置とを記録する。
【００５８】
図８は、注視位置履歴情報の一例を示す図である。注視位置履歴情報８００には、行ごとに、挟角画像の取得時刻８０１と、検出された注視位置についての所定の面上での水平方向（すなわち、X方向）の座標値及び垂直方向（すなわち、Y方向）の座標値の組８０２が含まれる。なお、所定の面は、デジタルサイネージシステム１のユーザが注視する対象となる物体が存在する面であり、例えば、表示部２の表示画面である。そして取得時刻と座標値の組が得られる度に、注視位置履歴情報８００の最下行に、その取得時刻と座標値の組が追加される。この例では、注視位置が検出されていない場合、注視位置履歴情報８００において、行８１０に示されるように、X方向の座標値及びY方向の座標値は、(0,0)で表される。
【００５９】
なお、変形例によれば、履歴情報記録部２４は、注視位置が追跡される人物ごとに注視位置履歴情報を作成する代わりに、一つの注視位置履歴情報において、挟角画像の取得時刻ごとに、対応する人物の識別情報を付してもよい。
【００６０】
同一人物判定部２５は、顔位置履歴情報に基づいて、注視位置履歴情報に記録されている、一連の注視位置の座標の組のうち、同一人物による注視位置の座標の組を判定する。
【００６１】
一般に、一人の人物がデジタルサイネージシステム１を利用している間、その人物は、広角カメラ３の撮影範囲内にいるので、広角画像上でその人物の顔が検出される。したがって、顔位置履歴情報において、連続して顔の位置が記録されている期間については、同じ人物の顔が検出されていると想定されるので、その期間において検出された注視位置も、同一人物によるものと想定される。
【００６２】
しかしながら、デジタルサイネージシステム１を利用している人物が広角カメラ３の撮影範囲の端部近辺に位置している場合、その人物が立つ位置を少し変えただけで、その人物の顔が広角カメラ３の撮影範囲から外れることがある。このような場合、広角画像上で顔が検出されなくなる。そしてその人物が広角カメラ３の撮影範囲から外れた後、再度広角カメラ３の撮影範囲内に戻り、再度、顔が検出可能になることがある。
【００６３】
図９は、人物のポジションと顔位置履歴情報の関係の一例を示す図である。この例では、期間９０１では、人物９１０が、広角カメラ３の撮影範囲の端部近傍に位置しており、広角画像９２１の端部近傍に人物９１０の顔が写っている。そのため、期間９０１では、顔位置履歴情報９００において、連続して顔の位置が記録されている。一方、期間９０２では、人物９１０が、広角カメラ３の撮影範囲から人物９１０の顔が外れる位置まで移動しており、広角画像９２２でも、人物９１０の顔は写っていない。そのため、期間９０２では、顔位置履歴情報９００において、顔の位置が記録されていない。その後、期間９０３において、人物９１０が再度広角カメラ３の撮影範囲内へ戻っており、広角画像９２３の端部近傍に人物９１０の顔が写っている。そのため、期間９０３では、顔位置履歴情報９００において、顔の位置が記録されている。
【００６４】
このように、顔位置履歴情報において、顔の位置の記録が途切れている期間があっても、その期間の前後における、検出された顔の位置は、同一人物の顔の位置である可能性がある。ここで再度図９を参照すると、期間９０１に対応する広角画像９２１上での人物９１０の顔の垂直方向の位置y1と、期間９０３に対応する広角画像９２３上での人物９１０顔の垂直方向の位置y3とは、略同一である。一方、期間９０３において、人物９１０とは別の人物が広角カメラ３の撮影範囲内に移動してきたと仮定する。この場合には、その人物の身長と人物９１０の身長が異なる可能性が高いので、期間９０１において検出されている顔の垂直方向の位置と、期間９０３において検出されている顔の垂直方向の位置の差が相対的に大きくなると想定される。
【００６５】
さらに、顔位置履歴情報において、顔の位置の記録が途切れている期間が、人物の立ち位置の変化によるものであれば、その期間の前後において検出された顔の水平方向の位置は、何れも、広角画像の同じ側の端部の近傍に位置していると想定される。例えば、図９に示される例では、期間９０１における顔の水平方向の位置、及び、期間９０３における顔の水平方向の位置は、何れも、広角画像の左端近傍に位置している。
【００６６】
そこで、同一人物判定部２５は、顔位置履歴情報において、連続して顔の位置が記録されている期間において検出された注視位置を、同一人物によるものと判定する。また、同一人物判定部２５は、顔位置履歴情報において、顔の位置が記録されていない中断期間があると、中断期間の前後における、顔の位置を比較する。そして、中断期間の前後における顔の垂直方向の位置の差が所定範囲内であり、かつ、中断期間の前後における顔の水平方向の位置が、広角画像の同じ側の端部の方に近ければ、中断期間の前後の広角画像に写っている人物は同一であると想定される。そこでこの場合、同一人物判定部２５は、中断期間の直前に取得された挟角画像から検出された注視位置と、中断期間の直後に取得された挟角画像から検出された注視位置とを、同一人物によるものと判定する。これにより、制御部９は、デジタルサイネージシステム１を利用する人物が立ち位置を少しずらすことで一時的に疎の人物の顔及び注視位置が検出できなくなっても、その人物の注視位置を追跡できる。
【００６７】
図１０及び図１１は、制御部９により実行される、視線検出処理の動作フローチャートを示す。制御部９は、広角画像と挟角画像の組が取得される度に、下記の動作フローチャートに従って視線検出処理を実行する。
【００６８】
顔検出部２１は、広角カメラ３から取得した広角画像上で顔が写っている顔領域を検出する（ステップＳ１０１）。そして、顔検出部２１は、顔領域の検出に成功したか否か判定する（ステップＳ１０２）。顔領域の検出に失敗した場合（ステップＳ１０２−Ｎｏ）、顔検出部２１は、顔の位置を、顔が検出されていないことを表すデフォルト値に設定する（ステップＳ１０３）。一方、顔検出部２１が顔領域の検出に成功した場合（ステップＳ１０２−Ｙｅｓ）、顔検出部２１は、顔領域の重心を顔の位置とする（ステップＳ１０４）。
【００６９】
撮影方向制御部２２は、検出された顔の位置に基づいて、その位置が赤外カメラ５の撮影範囲に含まれるように、赤外カメラ５の撮影方向を調整する（ステップＳ１０５）。そして視線検出部２３は、赤外カメラ５から取得した狭角画像上で瞳孔重心及び照明光源４のプルキンエ像を検出する（ステップＳ１０６）。
【００７０】
視線検出部２３は、プルキンエ像の重心と瞳孔重心の位置関係に基づいて、注視位置を検出する（ステップＳ１０７）。ただし、プルキンエ像及び瞳孔の何れか一方が検出されていない場合、視線検出部２３は、注視位置の座標を、注視位置が検出されていないことを表すデフォルト値に設定する。
【００７１】
履歴情報記録部２４は、顔の位置及び広角画像の取得時刻を顔位置履歴情報に登録する（ステップＳ１０８）。
【００７２】
図１１に示されるように、同一人物判定部２５は、顔位置履歴情報に記録されている最新の広角画像の取得時刻において、顔の位置が検出されているか否か判定する（ステップＳ１０９）。顔の位置が検出されていなければ（ステップＳ１０９−Ｎｏ）、履歴情報記録部２４は、最新の注視位置及び挟角画像の取得時刻を注視位置履歴情報に登録する（ステップＳ１１１）。なお、この場合、最新の広角画像上で顔が検出されていないので、最新の挟角画像においても、注視位置が検出されていない可能性が高い。そのため、注視位置がデフォルト値となっていれば、すなわち、注視位置が検出されていなければ、履歴情報記録部２４は、最新の注視位置及び挟角画像の取得時刻を注視位置履歴情報に登録しなくてもよい。そして制御部９は、視線検出処理を終了する。
【００７３】
一方、最新の広角画像の取得時刻において、顔の位置が検出されていれば（ステップＳ１０９−Ｙｅｓ）、同一人物判定部２５は、直前の広角画像の取得時刻において、顔の位置が検出されているか否か判定する（ステップＳ１１０）。直前の広角画像の取得時刻において、顔の位置が検出されていれば（ステップＳ１１０−Ｙｅｓ）、同一人物判定部２５は、直前の挟角画像において検出された注視位置と、最新の挟角画像において検出された注視位置とは、同一人物によるものと判定する。そして履歴情報記録部２４は、注視位置及び挟角画像の取得時刻を注視位置履歴情報に登録する（ステップＳ１１１）。
【００７４】
一方、直前の広角画像の取得時刻において、顔の位置が記録されていなければ（ステップＳ１１０−Ｎｏ）、同一人物判定部２５は、顔位置履歴情報を参照して、最新の広角画像の取得時刻以前において最後に記録された顔の位置及び広角画像の取得時刻を特定する。なお、以下では、便宜上、最後に顔の位置が記録されたときの広角画像の取得時刻を、前回検出時刻と呼ぶ。そして同一人物判定部２５は、前回検出時刻における顔の位置と、最新の広角画像の取得時における顔の位置とが、広角画像の同一の端部側に位置するか否か判定する（ステップＳ１１２）。なお、同一人物判定部２５は、例えば、前回検出時刻における顔の位置と、最新の広角画像の取得時における顔の位置とが、広角画像の同一の側の端部から所定の長さ以内であれば、広角画像の同一の端部側に位置すると判定する。また所定の長さは、例えば、広角画像の水平方向の幅の1/2未満、例えば、広角画像の水平方向の幅の1/3に設定される。
【００７５】
前回検出時刻と最新の広角画像の取得時とで、広角画像の同一端部側に顔が位置していなければ（ステップＳ１１２−Ｎｏ）、同一人物判定部２５は、前回検出時刻での顔の位置が広角画像の水平方向の端部よりも中心に近いか否か判定する（ステップＳ１１３）。前回検出時刻における顔の位置が広角画像の水平方向の端部よりも中心に近い場合（ステップＳ１１３−Ｙｅｓ）、注視位置を追跡中の人物が顔の向きを変えたといった理由により、顔検出部２１が一時的に顔の検出に失敗したと想定される。そこでこの場合、同一人物判定部２５は、その二つの取得時刻における顔は、同一人物の顔であると判定する。そして履歴情報記録部２４は、注視位置及び挟角画像の取得時刻を注視位置履歴情報に登録する（ステップＳ１１１）。
【００７６】
一方、前回検出時刻における顔の位置が、広角画像の水平方向の中心よりも端部に近い場合（ステップＳ１１３−Ｎｏ）、前回検出時刻での顔の位置と、最新の広角画像の取得時での顔の位置は、広角画像の中心を挟んで反対側に位置していることになる。このことから、同一人物判定部２５は、その二つの取得時刻における顔は、互いに異なる人物の顔であると判定し、その判定結果を履歴情報記録部２４に通知する。そして履歴情報記録部２４は、新たに検出された人物についての注視位置履歴情報を作成し、最新の挟角画像の取得時刻及び注視位置の組をその新たに作成した注視位置履歴情報に記録する（ステップＳ１１４）。
【００７７】
一方、前回検出時刻と、最新の広角画像の取得時とで、顔が広角画像の同一の端部側に位置している場合（ステップＳ１１２−Ｙｅｓ）、同一人物判定部２５は、その二つの取得時刻における、顔の垂直方向の位置の差の絶対値を算出する（ステップＳ１１５）。そして同一人物判定部２５は、その差の絶対値が所定の閾値Th以下か否か判定する（ステップＳ１１６）。なお、所定の閾値は、例えば、広角カメラ３と人との距離が所定距離となる場合の広角画像上での顔の縦方向の長さの平均値の1/2とすることができる。
【００７８】
二つの取得時刻における、顔の垂直方向の位置の差の絶対値が所定の閾値Thよりも大きければ（ステップＳ１１６−Ｎｏ）、同一人物判定部２５は、その二つの取得時刻における顔は、互いに異なる人物の顔であると判定する。そして同一人物判定部２５は、ステップＳ１１４の処理を実行する。
【００７９】
一方、二つの取得時刻における、顔の垂直方向の位置の差の絶対値が所定の閾値Th以下であれば（ステップＳ１１６−Ｙｅｓ）、その二つの取得時刻における顔は、同一人物の顔であると判定し、その判定結果を履歴情報記録部２４へ通知する。そして同一人物判定部２５は、ステップＳ１１１の処理を実行する。
ステップＳ１１１またはＳ１１４の後、制御部９は、視線検出処理を終了する。
【００８０】
以上に説明してきたように、この視線検出装置は、広角画像において連続して顔の位置が検出されている期間中に取得された注視位置を、同一人物によるものと判定する。これにより、この視線検出装置は、眼が閉じられるといった理由で一時的に注視位置が検出できないことがあっても、同一人物による注視位置の時間変化を追跡できる。またこの視線検出装置は、一時的に顔が検出さなかった期間の前後における顔の位置を比較する。そしてこの視線検出装置は、その期間の前後における、検出された顔の位置が比較的近ければ、その期間の前後において検出された顔は同一人物の顔であると判定する。そしてこの視線検出装置は、同一人物の顔が検出されている間の一連の挟角画像から検出された注視位置を、同一人物によるものとする。そのため、この視線検出装置は、一時的に顔及び注視位置が検出できなくなったとしても、人物ごとに、その人物の注視位置の時間変化を追跡できる。
【００８１】
なお、変形例によれば、同一人物判定部２５は、顔の位置が検出されなかった期間の前後での、広角画像上での垂直方向の顔の位置の差の代わりに、その期間の長さに基づいて、その期間の前後において検出された顔が同一人物の顔か否かを判定してもよい。これは、ある人物がデジタルサイネージシステム１を利用している状態で、ただ単に立ち位置を一時的にずらしただけであれば、その人物は、比較的短時間で元の位置に戻ることが想定されるためである。
【００８２】
この場合、同一人物判定部２５は、図１０に示される動作フローチャートのステップＳ１１５及びＳ１１６の代わりに、前回検出時刻と、最新の広角画像の取得時の差を所定の閾値と比較すればよい。そして同一人物判定部２５は、その差が所定の閾値以下であれば、その二つの取得時刻における顔は、同一人物の顔であると判定すればよい。すなわち、同一人物判定部２５は、中断期間の直前に取得された挟角画像から検出された注視位置と、中断期間の直後に取得された挟角画像から検出された注視位置とを、同一人物によるものと判定する。一方、その差が所定の閾値よりも大きければ、同一人物判定部２５は、その二つの取得時刻における顔は、異なる人物の顔であると判定すればよい。なお、所定の閾値は、例えば、数秒から数十秒程度に設定される。
【００８３】
また、ある人物が、広角カメラ３の撮影範囲の中心付近にいたとしても、その後、その人物が後方を向いて去って行くことがある。このような場合には、最後に顔が検出されたときの顔の位置が広角画像の中心付近となることがある。この場合、次に検出された顔は、他の人物の顔である可能性が高い。そこで他の変形例によれば、同一人物判定部２５は、ステップＳ１１３において、前回検出時刻における顔の位置が、広角画像の水平方向の端部よりも中心に近いと判定された場合も、前回検出時刻と最新の広角画像の取得時の差を所定の閾値と比較する。そして同一人物判定部２５は、その差が所定の閾値よりも大きければ、その二つの取得時刻における顔は、異なる人物の顔であると判定してもよい。
【００８４】
ある人物の顔の検出に失敗する直前において、顔が広角画像の水平方向の何れかの端部近傍に位置している場合には、顔検出部２１が顔の検出に失敗した以降も、その人物が、広角カメラ３の撮影範囲の対応する端部近傍に位置している可能性がある。そこで他の変形例によれば、撮影方向制御部２２は、顔検出部２１が顔の検出に失敗した場合、顔位置履歴情報を参照して、その直前において検出された顔の位置が、広角画像の水平方向の何れかの端部から所定幅以内か否か判定する。なお、所定幅は、例えば、広角画像の水平方向の幅の1/5〜1/3とすることができる。そして撮影方向制御部２２は、その顔の位置が、広角画像の水平方向の何れかの端部から所定幅以内である場合、赤外カメラ５の撮影方向を、その端部に対応する、広角カメラ３の撮影範囲の端部から所定角度だけ外れる方向へ向けてさせてもよい。なお、所定角度は、例えば、顔の水平方向の平均的な幅〜その幅の2倍に相当する角度とすることができる。
【００８５】
赤外カメラ５の撮影方向を上記のように変更した後の所定期間内に得た挟角画像から注視位置が検出された場合、同一人物判定部２５は、その注視位置と、顔の検出に失敗する直前に取得された挟角画像上での注視位置とを、同一人物によるものと判定してもよい。なお、所定期間は、例えば、1秒〜数秒とすることができる。また、所定期間内に得られた挟角画像において、注視位置が検出されなかった場合には、撮影方向制御部２２は、赤外カメラ５の撮影方向を、広角カメラ３の撮影範囲内に戻すように調整してもよい。
【００８６】
この変形例によれば、視線検出装置は、注視位置を追跡中の人物が広角カメラの撮影範囲からわずかに外れる位置へ移動しても、その人物の注視位置の追跡を継続できる。
【００８７】
上記の実施形態またはその変形例による視線検出装置の制御部の機能を実現するコンピュータプログラムは、磁気記録媒体、光記録媒体といったコンピュータ読み取り可能な記録媒体に記録された形で提供されてもよい。なお、この記録媒体には、搬送波は含まれない。
【００８８】
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【００８９】
以上説明した実施形態及びその変形例に関し、更に以下の付記を開示する。
（付記１）
第１の画角を有し、第１の画像を生成する第１の撮像部と、
前記第１の画角よりも狭い第２の画角を有し、第２の画像を生成する第２の撮像部と、
前記第１の画像に人の顔が表されている場合に当該顔の位置を検出する顔検出部と、
前記検出した顔の位置を含む前記第２の画像に人の眼が表されている場合に当該人の注視位置を検出する視線検出部と、
連続して生成された複数の前記第１の画像のそれぞれについて前記顔の位置が検出されている第１の期間において生成された複数の前記第２の画像から検出された前記注視位置を同一人物によるものと判定する同一人物判定部と、
を有する視線検出装置。
（付記２）
前記同一人物判定部は、前記顔の位置が検出されない連続して生成された一つ以上の前記第１の画像のそれぞれについて前記顔の位置が検出されない第２の期間の直前に生成された前記第１の画像上での前記顔の位置と、前記第２の期間の直後に生成された前記第１の画像上での前記顔の位置との比較結果に基づいて、前記第２の期間の直前に生成された前記第２の画像から検出された前記注視位置と、前記第２の期間の直後に生成された前記第２の画像から検出された前記注視位置とを同一人物によるものか否かを判定する、付記１に記載の視線検出装置。
（付記３）
前記同一人物判定部は、前記第２の期間の直前において生成された前記第１の画像上での前記顔の位置が当該第１の画像の水平方向の一方の端部側に位置し、前記第２の期間の直後において生成された前記第１の画像上での前記顔の位置が当該第１の画像の水平方向の他方の端部側に位置する場合、前記第２の期間の直前に生成された前記第２の画像から検出された前記注視位置と、前記第２の期間の直後に生成された前記第２の画像から検出された前記注視位置とを異なる人物によるものと判定する、付記２に記載の視線検出装置。
（付記４）
前記同一人物判定部は、前記第２の期間の直前において生成された前記第１の画像上での前記顔の位置、及び、前記第２の期間の直後において生成された前記第１の画像上での前記顔の位置の何れも、前記第１の画像の水平方向の一方の端部側に位置し、かつ、前記第２の期間の直前において生成された前記第１の画像上での前記顔の垂直方向の位置と、前記第２の期間の直後において生成された前記第１の画像上での前記顔の垂直方向の位置との差が所定の長さ以下である場合、前記第２の期間の直前に生成された前記第２の画像から検出された前記注視位置と、前記第２の期間の直後に生成された前記第２の画像から検出された前記注視位置とを同一人物によるものと判定する、付記２に記載の視線検出装置。
（付記５）
前記同一人物判定部は、前記第２の期間の直前において生成された前記第１の画像上での前記顔の位置、及び、前記第２の期間の直後において生成された前記第１の画像上での前記顔の位置の何れも、前記第１の画像の水平方向の一方の端部側に位置し、かつ、前記第２の期間の長さが所定の期間以下である場合、前記第２の期間の直前に生成された前記第２の画像から検出された前記注視位置と、前記第２の期間の直後に生成された前記第２の画像から検出された前記注視位置とを同一人物によるものと判定する、付記２に記載の視線検出装置。
（付記６）
前記第２の撮像部は、撮影方向を変更可能であり、
前記第２の期間の直前において生成された前記第１の画像上での前記顔の位置が当該第１の画像の水平方向の何れか一方の端部から所定範囲内に位置していた場合、前記第２の撮像部の撮影方向を、前記一方の端部に対応する前記第１の撮像部の撮影範囲の端部から外れる方向へ向ける撮影方向制御部をさらに有する、
付記２〜５の何れかに記載の視線検出装置。
（付記７）
前記同一人物判定部は、前記第２の撮像部の撮影方向を、前記一方の端部に対応する前記第１の撮像部の撮影範囲の端部から外れる方向へ向けた後に生成された前記第２の画像から前記注視位置が検出された場合、当該第２の画像から検出された前記注視位置と、前記第２の期間の直前に生成された前記第２の画像から検出された前記注視位置とを、同一人物によるものと判定する、付記６に記載の視線検出装置。
（付記８）
同一人物による前記注視位置と、対応する前記第２の画像の取得時刻とを含む注視位置履歴情報を作成する履歴情報記録部をさらに有する、付記１〜７の何れかに記載の視線検出装置。
（付記９）
第１の画角を有する第１の撮像部により生成された第１の画像に人の顔が表されている場合に当該顔の位置を検出し、
前記第１の画角よりも狭い第２の画角を有する第２の撮像部により生成され、前記検出した顔の位置を含む第２の画像に人の眼が表されている場合に当該人の注視位置を検出し、
連続して生成された複数の前記第１の画像のそれぞれについて前記顔の位置が検出されている第１の期間において生成された複数の前記第２の画像から検出された前記注視位置を同一人物によるものと判定する、
ことを含む視線検出方法。
（付記１０）
第１の画角を有する第１の撮像部により生成された第１の画像に人の顔が表されている場合に当該顔の位置を検出し、
前記第１の画角よりも狭い第２の画角を有する第２の撮像部により生成され、前記検出した顔の位置を含む第２の画像に人の眼が表されている場合に当該人の注視位置を検出し、
連続して生成された複数の前記第１の画像のそれぞれについて前記顔の位置が検出されている第１の期間において生成された複数の前記第２の画像から検出された前記注視位置を同一人物によるものと判定する、
ことをコンピュータに実行させるための視線検出用コンピュータプログラム。
【符号の説明】
【００９０】
１    デジタルサイネージシステム（視線検出装置）
２    表示部
３    広角カメラ
４    照明光源
５    赤外カメラ
６    入力部
７    記憶媒体アクセス装置
８    記憶部
９    制御部
１０    筐体
１１    記憶媒体
２１    顔検出部
２２    撮影方向制御部
２３    視線検出部
２４    履歴情報記録部
２５    同一人物判定部
【図１】
0006575353.tif 000002
【図２】
0006575353.tif 000003
【図３】
0006575353.tif 000004
【図４】
0006575353.tif 000005
【図５】
0006575353.tif 000006
【図６】
0006575353.tif 000007
【図７】
0006575353.tif 000008
【図８】
0006575353.tif 000009
【図９】
0006575353.tif 000010
【図１０】
0006575353.tif 000011
【図１１】
0006575353.tif 000012