(57)【要約】      （修正有）【課題】ユーザの一方の眼の瞳孔が画像上で部分的に隠れている場合でも、その眼の瞳孔の位置を推定できる視線検出装置を提供する。【解決手段】視線検出装置は、ユーザの両方の眼が表された画像を生成する撮像部と、画像から、両方の眼のそれぞれについてその眼が写っている眼領域を検出する眼検出部２１、両方の眼のうちの一方について眼領域から瞳孔が写っている瞳孔領域を検出する瞳孔検出部２３、一方の眼についての瞳孔領域に基づいて、両方の眼のうちの他方についての画像上での瞳孔領域の推定形状を求める推定部２５、他方の眼についての眼領域内で推定形状を持つ領域を探索して瞳孔領域を検出する瞳孔再検出部２６及び両方の眼のそれぞれの瞳孔領域の位置に基づいてユーザの視線方向を検出する視線検出部２７とを有する制御部８と、を備える。【選択図】図３
2017182739.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの両方の眼が表された画像を生成する撮像部と、
前記画像から、前記両方の眼のそれぞれについて当該眼が写っている眼領域を検出する眼検出部と、
前記両方の眼のうちの一方について前記眼領域から瞳孔が写っている瞳孔領域を検出する瞳孔検出部と、
前記一方の眼についての前記瞳孔領域に基づいて、前記両方の眼のうちの他方についての前記画像上での前記瞳孔領域の推定形状を求める推定部と、
前記他方の眼についての前記眼領域内で前記推定形状を持つ領域を探索して前記瞳孔領域を検出する瞳孔再検出部と、
前記両方の眼のそれぞれの前記瞳孔領域の位置に基づいて前記ユーザの視線方向を検出する視線検出部と、
を有する視線検出装置。
【請求項２】
前記推定部は、前記一方の眼についての前記視線方向と前記一方の眼と前記撮像部とを結ぶ線とがなす第１の角度が、前記他方の眼について推定される前記視線方向と前記他方の眼と前記撮像部とを結ぶ線とがなす第２の角度よりも小さい場合、前記他方の眼の前記瞳孔領域の前記推定形状についての、前記両方の眼が並ぶ第１の方向と直交する第２の方向に沿った幅に対する前記第１の方向に沿った幅の比を、前記一方の眼の前記瞳孔領域についての前記第２の方向に沿った幅に対する前記第１の方向に沿った幅の比よりも小さくし、一方、前記第１の角度が前記第２の角度よりも大きい場合、前記他方の眼の前記瞳孔領域の前記推定形状についての前記第２の方向に沿った幅に対する前記第１の方向に沿った幅の比を、前記一方の眼の前記瞳孔領域についての前記第２の方向に沿った幅に対する前記第１の方向に沿った幅の比よりも大きくする、請求項１に記載の視線検出装置。
【請求項３】
前記画像から、前記両方の眼のそれぞれについて前記ユーザの視線方向によって位置が変化しない基準点を検出する基準点検出部をさらに有し、
前記推定部は、前記一方の眼についての前記基準点と前記瞳孔領域との位置関係と、前記他方の眼についての前記基準点とに基づいて前記他方の眼について前記瞳孔領域が存在する推定範囲を求め、当該推定範囲内で前記推定形状を持つ領域を探索して前記瞳孔領域を検出する、請求項１に記載の視線検出装置。
【請求項４】
前記両方の眼を照明する照明光源をさらに有し、
前記基準点検出部は、前記両方の眼のそれぞれについて、前記照明光源（３）の角膜反射像の位置を前記基準点として検出し、
前記推定部は、前記一方の眼についての前記基準点と前記瞳孔領域との位置関係に基づいて、前記両方の眼が並ぶ第１の方向における前記視線方向と前記照明光源の位置関係を推定し、当該位置関係に応じて前記推定範囲を求める、請求項３に記載の視線検出装置。
【請求項５】
瞳孔検出部は、前記両方の眼のそれぞれについて前記眼領域から前記瞳孔領域を検出し、かつ、検出した前記瞳孔領域の確からしさを表す評価値を算出し、
前記両方の眼のそれぞれについての前記評価値のうちの低い方に対応する眼を前記他方の眼と判定する再検出判定部をさらに有する、請求項１〜４の何れか一項に記載の視線検出装置。
【請求項６】
ユーザの両方の眼が表された画像を生成し、
前記画像から、前記両方の眼のそれぞれについて当該眼が写っている眼領域を検出し、
前記両方の眼のうちの一方について前記眼領域から瞳孔が写っている瞳孔領域を検出し、
前記一方の眼についての前記瞳孔領域に基づいて、前記両方の眼のうちの他方についての前記画像上での前記瞳孔領域の推定形状を求め、
前記他方の眼についての前記眼領域内で前記推定形状を持つ領域を探索して前記瞳孔領域を検出し、
前記両方の眼のそれぞれの前記瞳孔領域の位置に基づいて前記ユーザの視線方向を検出する、
ことを含む視線検出方法。
【請求項７】
ユーザの両方の眼が表された画像から、前記両方の眼のそれぞれについて当該眼が写っている眼領域を検出し、
前記両方の眼のうちの一方について前記眼領域から瞳孔が写っている瞳孔領域を検出し、
前記一方の眼についての前記瞳孔領域に基づいて、前記両方の眼のうちの他方についての前記画像上での前記瞳孔領域の推定形状を求め、
前記他方の眼についての前記眼領域内で前記推定形状を持つ領域を探索して前記瞳孔領域を検出し、
前記両方の眼のそれぞれの前記瞳孔領域の位置に基づいて前記ユーザの視線方向を検出する、
ことをコンピュータに実行させるための視線検出用コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、眼を撮影して得られた画像に基づいて視線方向を検出する視線検出装置、視線検出方法及び視線検出用コンピュータプログラムに関する。
【背景技術】
【０００２】
人の視線方向を検出することで、その人が興味を有しているものに関する情報を得たり、あるいは、視線方向または注視している位置に関連する操作を自動的に実行することが検討されている。なお、以下では、便宜上、人が注視している位置を単に注視位置と呼ぶ。
【０００３】
人の注視位置、あるいは、視線方向は、その人の瞳孔の向きと密接に関連している。そこで、人の眼を撮影して得られた画像から瞳孔を検出し、その瞳孔と基準点との位置関係により、その人の視線方向または注視位置を特定する技術が知られている。なお、基準点としては、例えば、光源の角膜反射像（以下、プルキンエ像と呼ぶ）が用いられる。
【０００４】
しかしながら、場合によっては、プルキンエ像と瞳孔が重なることで、画像上に瞳孔全体が写らなくなることがある。このような場合、画像から瞳孔が正確に検出されなくなることがある。そこで、プルキンエ像によって瞳孔の大部分が隠されてしまっている場合でも、プルキンエ像の情報を積極的に利用することにより、瞳孔を安定的に検出する技術が提案されている（例えば、特許文献１を参照）。
【０００５】
特許文献１に開示された瞳孔検出装置は、プルキンエ像内の基準点を一端とし且つ所定の長さを持つ複数の線分を設定し、各線分における各画素の輝度及び基準輝度に基づいて輝度評価値を算出する。そしてこの瞳孔検出装置は、輝度評価値に基づいて、複数の線分の中から瞳孔画像の中心を通る瞳孔中心直線を特定し、瞳孔中心直線の周辺における輝度状態に基づいて瞳孔画像を検出する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−２４１５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、画像上で瞳孔の像と重なる可能性が有るのはプルキンエ像だけではない。例えば、人が眼鏡を装着している場合、眼鏡で反射した光源の像が瞳孔の像と重なることがある。また、複数の光源の像が画像上に写り込むことがある。このような場合、特許文献１に開示された技術では、瞳孔が正確に検出されないことがある。
【０００８】
一つの側面では、本発明は、ユーザの一方の眼の瞳孔が画像上で部分的に隠れている場合でも、その眼の瞳孔の位置を推定できる視線検出装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
一つの実施形態によれば、視線検出装置が提供される。この視線検出装置は、ユーザの両方の眼が表された画像を生成する撮像部と、画像から、両方の眼のそれぞれについてその眼が写っている眼領域を検出する眼検出部と、両方の眼のうちの一方について眼領域から瞳孔が写っている瞳孔領域を検出する瞳孔検出部と、一方の眼についての瞳孔領域に基づいて、両方の眼のうちの他方についての画像上での瞳孔領域の推定形状を求める推定部と、他方の眼についての眼領域内で推定形状を持つ領域を探索して瞳孔領域を検出する再検出部と、両方の眼のそれぞれの瞳孔領域の位置に基づいてユーザの視線方向を検出する視線検出部とを有する。
【発明の効果】
【００１０】
ユーザの一方の眼の瞳孔が画像上で部分的に隠れている場合でも、その眼の瞳孔の位置を推定できる。
【図面の簡単な説明】
【００１１】
【図１】視線検出装置の一実施形態であるデジタルサイネージシステムのハードウェア構成図である。
【図２】照明光源、赤外カメラ及び表示部の配置の一例を示す図である。
【図３】制御部の視線検出処理に関する機能ブロック図である。
【図４】推定範囲の一例を示す図である。
【図５】照明光源とユーザの視線方向との関係の一例を示す図である。
【図６】推定範囲の位置の補正の一例を示す図である。
【図７】推定範囲の位置の決定方法の他の一例を示す図である。
【図８】視線方向と瞳孔領域の形状の関係の一例を示す図である。
【図９】ユーザの顔が赤外カメラに対して傾けられているときの視線方向と瞳孔領域の形状の関係の一例を示す図である。
【図１０】遮蔽されていない瞳孔領域の部分の輪郭に基づく瞳孔重心位置の推定の概要の説明図である。
【図１１】参照テーブルの一例を示す図である。
【図１２】注視位置テーブルの一例を示す図である。
【図１３】視線検出処理の動作フローチャートを示す図である。
【発明を実施するための形態】
【００１２】
以下、図を参照しつつ、視線検出装置について説明する。
この視線検出装置は、カメラにより、光源により照明されたユーザの両眼を撮影して画像を生成し、その画像上でそれぞれの眼の瞳孔を検出することで、ユーザの視線方向を検出する。その際、この視線検出装置は、瞳孔が検出された一方の眼について、瞳孔と眼ごとに設定される基準点との位置関係に基づいて、他方の眼において瞳孔が存在する推定範囲を設定する。また、この視線検出装置は、一方の眼について検出された画像上での瞳孔の形状に基づいて、他方の眼についての画像上での瞳孔の推定形状をもとめる。そしてこの視線検出装置は、その推定範囲及び瞳孔の推定形状に基づいて、他方の眼の瞳孔の検出処理を再度実行する。
【００１３】
なお、以下に説明する実施形態では、視線検出装置は、デジタルサイネージシステムに実装され、そして視線検出装置は、デジタルサイネージシステムのユーザの注視位置を検出する。
【００１４】
図１は、視線検出装置の一実施形態であるデジタルサイネージシステムのハードウェア構成図である。デジタルサイネージシステム１は、表示部２と、照明光源３と、赤外カメラ４と、入力部５と、記憶媒体アクセス装置６と、記憶部７と、制御部８とを有する。さらにデジタルサイネージシステム１は、デジタルサイネージシステム１を他の機器に接続するための通信インターフェース回路（図示せず）を有していてもよい。
【００１５】
表示部２は、例えば、液晶ディスプレイまたは有機エレクトロルミネッセンスディスプレイを有する。そして表示部２は、例えば、様々なテキスト、アイコン、静止画像または動画像を制御部８からの制御信号に応じて表示する。
【００１６】
照明光源３は、赤外光を発光する光源、例えば、少なくとも一つの赤外発光ダイオードと、制御部８からの制御信号に応じて、赤外発光ダイオードに電源（図示せず）からの電力を供給する駆動回路（図示せず）とを有する。照明光源３は、赤外カメラ４の撮影方向を照明可能なように、赤外カメラ４と同じ筐体１０に、赤外カメラ４の撮影方向へ照明光源３の発光面が向くように取り付けられている。そして照明光源３は、制御部８から光源を点灯させる制御信号を受信している間、照明光を発する。
【００１７】
赤外カメラ４は、撮像部の一例であり、両眼を含むユーザの顔の少なくとも一部が写った画像を生成する。そのために、赤外カメラ４は、照明光源３が発する赤外光に感度を持つ２次元状に配列された固体撮像素子を有するイメージセンサと、そのイメージセンサ上に被写体の像を結像する撮像光学系を有する。赤外カメラ４は、虹彩による反射像及び照明光源３以外の光源からの光のプルキンエ像が検出されることを抑制するために、イメージセンサと撮像光学系の間に、可視光カットフィルタをさらに有してもよい。また、撮像光学系は、単焦点の光学系でもよく、あるいは、可変焦点光学系であってもよい。赤外カメラ４は、視線検出処理の実行中、所定のフレームレートで撮影して画像を生成する。なお、赤外カメラ４は、この画像上でデジタルサイネージシステム１を利用するユーザの瞳に写った照明光源３のプルキンエ像及び瞳孔が識別可能な解像度を有する。そして赤外カメラ４は、画像を生成する度に、その画像を制御部８へ渡す。
【００１８】
また、本実施形態では、照明光源３及び赤外カメラ４は、同一の筐体１０に取り付けられる。筐体１０は、照明光源３及び赤外カメラ４を一体的に支持しつつ、筐体１０が載置された台の表面に沿って回動可能な回動支持部材（図示せず）と、回動支持部材を制御部８からの制御信号に応じて回転させるアクチュエータ（図示せず）とを有してもよい。これにより、赤外カメラ４は、その撮影方向を変更可能なように、筐体１０に取り付けられる。
【００１９】
図２は、照明光源３、赤外カメラ４及び表示部２の配置の一例を示す図である。表示部２の周辺には、照明光源３及び赤外カメラ４が取り付けられた筐体１０が配置されている。そして照明光源３及び赤外カメラ４は、表示部２の表示画面を見るユーザ２００の顔へ向けられる。そして、赤外カメラ４は、ユーザ２００の両眼を含む、ユーザ２００の顔全体あるいは顔の一部を撮影する。
【００２０】
入力部５は、例えば、キーボードと、マウスのようなポインティングデバイスとを有する。そして入力部５を介してユーザにより入力された操作信号は、制御部８へ渡される。
【００２１】
なお、表示部２と入力部５とは、例えば、タッチパネルディスプレイのように一体化されていてもよい。この場合、入力部５は、表示部２の表示画面上に表示されたアイコンの位置にユーザが触れた場合に、その位置に応じた操作信号を生成し、その操作信号を制御部８へ出力する。
【００２２】
記憶媒体アクセス装置６は、例えば、磁気ディスク、半導体メモリカード及び光記憶媒体といった記憶媒体１１にアクセスする装置である。記憶媒体アクセス装置６は、例えば、記憶媒体１１に記憶された、制御部８上で実行される、視線検出処理用のコンピュータプログラムを読み込み、制御部８に渡す。
【００２３】
記憶部７は、例えば、読み書き可能な不揮発性の半導体メモリ、及び読み書き可能な揮発性の半導体メモリを有する。そして記憶部７は、制御部８上で実行される、視線検出処理用のコンピュータプログラム、各種のアプリケーションプログラム及び各種のデータを記憶する。
【００２４】
さらに、記憶部７は、ユーザが注視する位置を検出するために利用される各種のデータを記憶する。例えば、記憶部７は、プルキンエ像の重心に対する瞳孔重心の相対的な位置と視線方向との関係を表す参照テーブルを記憶する。
【００２５】
制御部８は、一つまたは複数のプロセッサ及びその周辺回路を有する。そして制御部８は、デジタルサイネージシステム１の各部と信号線を介して接続されており、デジタルサイネージシステム１全体を制御する。例えば、制御部８は、入力部５から受け取った操作信号と実行中のアプリケーションプログラムに応じて、所定の動画像などを表示部２に表示させる。
【００２６】
さらに、制御部８は、画像及び挟角画像が得られる度に、視線検出処理を実行することにより、ユーザの視線方向及び注視位置を検出する。
【００２７】
図３は、制御部８の視線検出処理に関する機能ブロック図である。制御部８は、眼検出部２１と、基準点検出部２２と、瞳孔検出部２３と、再検出判定部２４と、推定部２５と、瞳孔再検出部２６と、視線検出部２７とを有する。
制御部８が有するこれらの各部は、制御部８が有するプロセッサ上で実行されるコンピュータプログラムにより実現される機能モジュールである。また制御部８が有するこれらの各部は、その各部に対応する回路が集積された一つまたは複数の集積回路として、制御部８が有するプロセッサとは別個にデジタルサイネージシステム１に実装されてもよい。
【００２８】
眼検出部２１は、視線検出処理の実行中において、画像が得られる度に、画像上でユーザの左右のそれぞれの眼ごとに、その眼が写っている領域である眼領域を検出する。なお、眼検出部２１は、全ての画像に対して同一の処理を実行すればよいので、以下では、一つの画像に対する処理について説明する。
【００２９】
例えば、画像にユーザの顔全体が写っていると想定される場合、眼検出部２１は、先ず、画像からユーザの顔が写っている領域である顔領域を検出する。そのために、眼検出部２１は、例えば、画像の各画素の値をHSV表色系により表される値に変換する。そして眼検出部２１は、各画素の色相成分（H成分）の値が肌色に相当する値（例えば、0°〜30°の範囲内の値）となる画素を、顔の一部が写っている可能性がある顔領域候補画素として抽出する。
【００３０】
また、ユーザがデジタルサイネージシステム１を利用している場合、ユーザの顔は、表示部２の方を向いており、かつ、表示部２から所定の距離（例えば、1m〜2m）だけ離れた位置にあると想定される。そのため、画像上で顔が占める領域の大きさもある程度推定される。
そこで眼検出部２１は、顔領域候補画素に対してラベリング処理を行って、互いに隣接している顔領域候補画素の集合を顔候補領域とする。そして眼検出部２１は、顔候補領域の大きさがユーザの顔の大きさに相当する基準範囲に含まれているか否か判定する。顔候補領域の大きさがユーザの顔の大きさに相当する基準範囲に含まれていれば、眼検出部２１はその顔候補領域を顔領域と判定する。
【００３１】
眼検出部２１は、顔候補領域の大きさだけでなく、顔候補領域の形状も、顔候補領域を顔領域と判定するための判定条件に加えてもよい。人の顔は、一般に略楕円形状を有している。そこで眼検出部２１は、例えば、顔候補領域の大きさが上記の基準範囲に含まれ、かつ、顔候補領域の円形度が、一般的な顔の輪郭に相当する所定の閾値以上である場合に顔候補領域を顔領域としてもよい。なお眼検出部２１は、顔候補領域の輪郭上に位置する画素の合計を顔候補領域の周囲長として求め、顔候補領域内の総画素数に4πを乗じた値を周囲長の２乗で除することにより円形度を算出できる。
【００３２】
あるいは、眼検出部２１は、顔候補領域の輪郭上の各画素の座標を楕円方程式に当てはめて最小二乗法を適用することにより、顔候補領域を楕円近似してもよい。そして眼検出部２１は、その楕円の長軸と短軸の比が一般的な顔の長軸と短軸の比の範囲に含まれる場合に、顔候補領域を顔領域としてもよい。なお、眼検出部２１は、楕円近似により顔候補領域の形状を評価する場合、画像の各画素の輝度成分に対して近傍画素間演算を行ってエッジに相当するエッジ画素を検出してもよい。この場合、眼検出部２１は、エッジ画素を例えばラベリング処理を用いて連結し、一定の長さ以上に連結されたエッジ画素を顔候補領域の輪郭とする。
【００３３】
なお、眼検出部２１は、画像上に写っている顔の領域を検出する他の様々な方法の何れかに従って顔領域を検出してもよい。例えば、眼検出部２１は、顔候補領域と一般的な顔の形状に相当するテンプレートとの間でテンプレートマッチングを行って、顔候補領域とテンプレートとの一致度を算出し、その一致度が所定値以上である場合に、顔候補領域を顔領域と判定してもよい。
【００３４】
あるいは、眼検出部２１は、画像から顔領域を検出するように予め学習された識別器を用いて、画像から顔領域を検出してもよい。この場合、識別器として、例えば、アダブーストまたはリアルアダブースト、サポートベクトルマシン、あるいは、ディープニューラルネットワークが利用される。そして眼検出部２１は、画像上にウインドウを設定し、そのウインドウの位置を変えながら、ウインドウ内の各画素の値またはそのウインドウから抽出した特徴量を識別器に入力することで、そのウインドウが顔領域か否かを判定する。また、特徴量として、例えば、Haar-like特徴量あるいはHistograms of Oriented Gradients特徴量が抽出される。
【００３５】
眼検出部２１は、顔領域から、左右それぞれの眼について、眼領域を検出する。
【００３６】
眼に相当する画素の輝度は、眼の周囲に相当する画素の輝度と大きく異なる。そこで眼検出部２１は、顔領域内の各画素に対して、例えば、Sobelフィルタを用いて垂直方向の近傍画素間差分演算を行って垂直方向に輝度が変化するエッジ画素を検出する。そして眼検出部２１は、例えば、エッジ画素が略水平方向に眼の大きさに相当する所定数以上連結された２本のエッジ線で囲まれた領域を眼領域候補とする。
人の眼は、水平方向に二つ並んでいる。そこで、眼検出部２１は、検出された眼領域候補のうち、眼領域候補の重心間の垂直方向の位置差がもっとも少なく、かつ、水平方向に左眼と右眼間の間隔に相当する距離だけ離れている二つの眼領域候補を抽出する。そして眼検出部２１は、その二つの眼領域候補をそれぞれ眼領域とする。
【００３７】
あるいは、眼検出部２１は、眼を表すテンプレートと、顔領域とのテンプレートマッチングにより、顔領域の左半分と右半分とでそれぞれテンプレートに最も一致する領域を検出し、その検出した領域を眼領域としてもよい。あるいはまた、眼検出部２１は、画像から眼領域を検出するように予め学習された識別器を用いて、顔領域から眼領域を検出してもよい。この場合も、識別器として、例えば、アダブーストまたはリアルアダブースト、サポートベクトルマシン、あるいは、ディープニューラルネットワークが利用される。そして眼検出部２１は、顔領域内に着目するウインドウを設定し、そのウインドウの各画素の値またはそのウインドウから抽出した特徴量を識別器に入力することで、そのウインドウが眼領域か否かを判定すればよい。
【００３８】
あるいはまた、眼検出部２１は、画像に対してDeformable Part Model法を適用して、顔領域と左右の眼領域とを同時に検出してもよい。なお、Deformable Part Model法については、例えば、P. Felzenszwalb他、「A discriminatively trained, multiscale, deformable part model」、Computer Vision and Pattern Recognition 2008、 IEEE Conference on Year、pp. 1-8、2008年を参照されたい。
【００３９】
なお、画像に顔の一部だけが写っている場合には、眼検出部２１は、顔領域の検出処理を省略してもよい。そして眼検出部２１は、画像全体に対して、上記の何れかの眼領域検出処理を行って、左右それぞれの眼についての眼領域を検出してもよい。
【００４０】
眼検出部２１は、左右それぞれの眼についての眼領域を表す情報を基準点検出部２２及び瞳孔検出部２３へわたす。
【００４１】
基準点検出部２２は、眼検出部２１から眼領域を表す情報を受け取る度に、左右それぞれの眼について、瞳孔を再検出する際に参照される、視線方向によって位置が変化しない基準点をその眼領域を表す情報が求められた画像から検出する。なお、基準点検出部２２は、左右それぞれの眼について、同じ処理を実行すればよいので、以下では、一方の眼についての処理について説明する。
【００４２】
本実施形態では、基準点検出部２２は、基準点を、照明光源３のプルキンエ像に基づいて設定する。照明光源３のプルキンエ像が写っている領域の輝度は、その周囲の領域の輝度よりも高く、その輝度値は略飽和している（すなわち、輝度値が、画素値が取り得る輝度の値の略最高値となっている）。また、照明光源３のプルキンエ像が写っている領域の形状は、照明光源３の発光面の形状と略一致する。そこで基準点検出部２２は、眼領域内で、照明光源３の発光面の輪郭形状と略一致する形状を持ち、かつ、大きさが異なるとともに中心が一致する２本のリングを設定する。そして基準点検出部２２は、内側のリングに相当する画素の輝度の平均値である内部輝度平均値から外側の画素の輝度の平均値を引いた差分値を求める。基準点検出部２２は、その差分値が所定の差分閾値よりも大きく、かつ内側輝度平均値が所定の輝度閾値よりも高い場合、その内側のリングで囲まれた領域を照明光源３のプルキンエ像とする。なお、差分閾値は、例えば、眼領域内の近傍画素間の差分値の平均値とすることができる。また所定の輝度閾値は、例えば、眼領域内での輝度値の最高値の80%とすることができる。
【００４３】
なお、基準点検出部２２は、画像上で光源のプルキンエ像が写っている領域を検出する他の様々な方法の何れかを用いて、照明光源３のプルキンエ像が写っている領域を検出してもよい。
【００４４】
基準点検出部２２は、プルキンエ像が写っている領域の重心を基準点として求める。
【００４５】
変形例によれば、基準点検出部２２は、眼そのものの形状から基準点を検出してもよい。例えば、基準点検出部２２は、眼頭、目尻、あるいは、眼頭と目尻間の中点を基準点として検出してもよい。あるいはまた、基準点検出部２２は、眼領域を垂直方向及び水平方向のそれぞれについて所定ピッチを持つ格子状に区切り、何れかの格子の交点を基準点としてもよい。
【００４６】
例えば、基準点として、眼頭が検出される場合、基準点検出部２２は、眼領域の周辺でコーナー検出フィルタを適用することで、顔の中心側が凸となるコーナーを眼頭として検出する。あるいは、基準点検出部２２は、眼頭を表すテンプレートを用いたテンプレートマッチングを眼領域周辺で実行することで、眼頭を検出してもよい。あるいはまた、基準点検出部２２は、眼頭検出用に予め学習された識別器を利用して、眼頭を検出してもよい。同様に、基準点として、目尻が検出される場合、基準点検出部２２は、眼領域の周辺でコーナー検出フィルタを適用することで、顔の外側が凸となるコーナーを眼尻として検出する。あるいは、基準点検出部２２は、眼尻を表すテンプレートを用いたテンプレートマッチングを眼領域周辺で実行することで、眼尻を検出してもよい。あるいはまた、基準点検出部２２は、眼尻検出用に予め学習された識別器を利用して、眼尻を検出してもよい。
【００４７】
さらに、眼頭と目尻間の中点が基準点となる場合には、基準点検出部２２は、上記のように眼頭と目尻を検出し、その中点をもとめればよい。
【００４８】
基準点検出部２２は、左右それぞれの眼についての画像上での基準点の位置を表す座標を推定部２５、瞳孔再検出部２６及び視線検出部２７に通知する。
【００４９】
瞳孔検出部２３は、眼検出部２１から眼領域を表す情報を受け取る度に、その眼領域を表す情報が求められた画像から、左右それぞれの眼について、瞳孔が写っている瞳孔領域を検出する。なお、瞳孔検出部２３は、左右それぞれの眼について、同じ処理を実行すればよいので、以下では、一方の眼についての処理について説明する。
【００５０】
本実施形態では、瞳孔検出部２３は、瞳孔に相当するテンプレートと眼領域との間でテンプレートマッチングを行い、眼領域内でテンプレートとの一致度が最も高くなる領域を検出する。そして瞳孔検出部２３は、一致度の最高値が所定の一致度閾値よりも高い場合、その検出した領域を、瞳孔が写っている瞳孔領域と判定する。なお、ユーザの周囲の明るさに応じて瞳孔のサイズは変化する。また、瞳孔は略円形であるが、赤外カメラ４が瞳孔を斜めから見ている場合、画像上での瞳孔の形状は垂直方向に長い楕円形状となる。そこでテンプレートは、瞳孔の大きさまたは形状に応じて複数準備されてもよい。この場合、瞳孔検出部２３は、各テンプレートと眼領域とのテンプレートマッチングをそれぞれ実行し、一致度の最高値を求める。そして一致度の最高値が一致度閾値よりも高い場合、瞳孔検出部２３は、一致度の最高値に対応するテンプレートと重なった領域を瞳孔領域と判定する。なお、一致度は、例えば、テンプレートとそのテンプレートと重なった領域との正規化相互相関値として算出される。また一致度閾値は、例えば、0.7または0.8に設定される。
【００５１】
また瞳孔が写っている領域の輝度は、その周囲の領域の輝度よりも低く、瞳孔は略円形である。そこで瞳孔検出部２３は、眼領域内で、同心円状に半径の異なる２本のリングを持つ２重リングフィルタを設定する。そして瞳孔検出部２３は、外側のリングに相当する画素の輝度の平均値から内側の画素の輝度の平均値を引いた差分値が所定の閾値よりも大きい場合、その内側のリングで囲まれた領域を瞳孔領域としてもよい。また瞳孔検出部２３は、内側のリングで囲まれた領域の平均輝度値が所定の閾値以下であることを、瞳孔領域として検出する条件に加えてもよい。この場合、所定の閾値は、例えば、眼領域内の最大輝度値と最小輝度値の差の10％〜20％を、最小輝度値に加えた値に設定される。
【００５２】
あるいは、瞳孔検出部２３は、瞳孔領域の検出用に予め学習された、アダブーストまたはサポートベクトルマシンといった識別器を利用して、瞳孔領域を検出してもよい。あるいはまた、瞳孔検出部２３は、瞳孔領域の色または輝度の分布がその周囲の色または輝度の分布と異なることを利用して瞳孔領域を検出してもよい。この場合、瞳孔検出部２３は、眼領域内で最小輝度値を持つ画素を含み、かつ最小輝度値から所定の輝度範囲内の輝度を持つ画素の集合を、例えば領域拡張法を用いて求め、その画素の集合を瞳孔領域としてもよい。
【００５３】
なお、瞳孔検出部２３は、画像上で瞳孔が写っている領域を検出する他の様々な方法の何れかを用いて、瞳孔が写っている領域を検出してもよい。
【００５４】
瞳孔検出部２３は、瞳孔領域の検出に成功した場合、瞳孔領域に含まれる各画素の水平方向座標値の平均値及び垂直方向座標値の平均値を、瞳孔領域の重心（以下、瞳孔重心と呼ぶ）の位置座標として算出する。
【００５５】
瞳孔検出部２３は、左右それぞれの眼について、瞳孔領域の検出に成功したか否かを表す情報、及び、瞳孔領域検出の際に算出された、瞳孔領域の確からしさを表す評価値を再検出判定部２４へ通知する。なお、評価値は、例えば、瞳孔領域の検出にテンプレートマッチングが利用された場合の一致度の最高値である。また、瞳孔領域の検出に２重リングフィルタが利用された場合、評価値は、瞳孔領域が検出された位置での２重リングフィルタの出力値である差分値とすることができる。また、瞳孔領域の検出に識別器が利用された場合には、瞳孔領域か否かを判別するための閾値と比較される、その識別器による出力値が、評価値として用いられてもよい。さらに、領域拡張法を用いて瞳孔領域が検出される場合には、瞳孔領域の円形度が評価値として用いられてもよい。
瞳孔検出部２３は、瞳孔領域の検出に成功した方の眼について、瞳孔重心の位置座標を推定部２５及び視線検出部２７へ通知し、瞳孔領域を表す情報を推定部２５へ通知する。
【００５６】
再検出判定部２４は、左右それぞれの眼について、瞳孔領域の検出に成功したか否かを表す情報、及び、瞳孔領域の確からしさを表す評価値を受け取る度に、左右それぞれの眼のうち、瞳孔領域を再検出する方の眼を判定する。
【００５７】
例えば、再検出判定部２４は、左右それぞれの眼のうち、何れか一方について瞳孔領域の検出に成功し、他方について瞳孔領域の検出に失敗している場合、瞳孔領域の検出に失敗した方の眼を、瞳孔領域の再検出対象とする。
【００５８】
一方、左右何れの眼についても瞳孔領域の検出が成功している場合、再検出判定部２４は、評価値が低い方の眼を、瞳孔領域の再検出対象とする。
【００５９】
また、左右何れの眼についても瞳孔領域の検出が成功している場合において、左右それぞれの眼の評価値の何れも所定の閾値以上となっている場合には、再検出判定部２４は、何れの眼についても瞳孔領域の再検出を行わないと判定してもよい。この場合には、比較的高い精度で両方の眼の瞳孔領域が検出されていると想定されるためである。なお、左右何れの眼についても瞳孔領域の検出に失敗している場合には、再検出判定部２４は、その画像については視線方向及び注視位置を検出しないと判定してもよい。
【００６０】
再検出判定部２４は、瞳孔領域の再検出を行う方の眼を識別する情報を推定部２５及び瞳孔再検出部２６へ通知する。
【００６１】
推定部２５は、瞳孔領域の再検出を行う方の眼を識別する情報及び瞳孔領域を表す情報を受け取る度に、瞳孔領域を再検出しない方の眼についての瞳孔領域及び基準点に基づいて、他方の眼について瞳孔領域を再検出する際の検出条件である再検出条件を設定する。なお、以下では、便宜上、瞳孔領域の再検出を行う方の眼を再検出眼と呼び、瞳孔領域を再検出しない方の眼を参照眼と呼ぶ。
【００６２】
本実施形態では、推定部２５は、再検出条件として、瞳孔領域が存在すると推定される推定範囲、及び、検出対象となる瞳孔領域の推定形状を設定する。
【００６３】
そこで先ず、推定部２５は、参照眼についての瞳孔領域の水平方向（すなわち、両眼が並ぶ方向）の幅及び垂直方向（すなわち、両眼が並ぶ方向と直交する方向）の幅をもとめる。例えば、テンプレートマッチングにより瞳孔が検出されている場合、推定部２５は、瞳孔と最も一致したテンプレートにおける、瞳孔の水平方向の幅及び垂直方向の幅を、それぞれ、瞳孔の水平方向の幅及び垂直方向の幅とすればよい。また、推定部２５は、瞳孔の形状をより正確に求められるように、例えば、瞳孔の重心から放射状に複数の線を設定し、各線上で瞳孔の重心側の輝度値が低くなるエッジを検出する。そして推定部２５は、検出したエッジを、例えば、Snakeといった動的輪郭モデルを用いた輪郭抽出法に従って連結することで、瞳孔の輪郭形状をもとめてもよい。そして推定部２５は、瞳孔の輪郭形状に基づいて、水平方向の幅及び垂直方向の幅を算出してもよい。
【００６４】
瞳孔領域の推定範囲を設定するために、推定部２５は、例えば、参照眼についての基準点から瞳孔重心までの距離及び方向を表すベクトルを算出する。そして推定部２５は、基準点がプルキンエ像あるいは眼頭と目尻間の中点である場合、再検出眼についての基準点からそのベクトルで示される点を中心とするように推定範囲を設定する。一方、基準点が眼頭または目尻といった、左眼と右眼とで、瞳孔に対する基準点の位置が反対となる点である場合には、推定部２５は、参照眼について算出されたベクトルについての水平方向についての向きを反転する。その上で、推定部２５は、再検出眼についての基準点から向きが反転されたベクトルで示される点を中心とするように推定範囲を設定する。
【００６５】
図４は、推定範囲の一例を示す図である。この例では、画像上での右側の眼（すなわち、ユーザの左眼）について瞳孔領域が再検出されるものとする。この場合、右側の眼の基準点４０１から、画像上での左側の眼の基準点から瞳孔重心までのベクトル４００と同じベクトル４００で示される位置４０２が推定範囲４１０の中心となる。また、上下方向については、ユーザの左眼の位置と右眼の位置の差は小さいと想定される。そこで推定部２５は、推定範囲４１０の上下方向の幅を、瞳孔領域を再検出しない方の左側の眼についての瞳孔領域４２０の上下方向の幅と等しいか、瞳孔領域の上下方向の幅に相対的に小さいオフセット（例えば、2〜5画素）を加えた幅とする。また、推定部２５は、推定範囲４１０の水平方向の幅を、瞳孔領域４２０の幅に相対的に大きなオフセット（例えば、5〜20画素）を加えた幅とする。
【００６６】
また、基準点が照明光源３のプルキンエ像である場合、推定部２５は、参照眼についての瞳孔重心とプルキンエ像との位置関係により、推定範囲の位置を補正してもよい。
【００６７】
図５は、照明光源３とユーザの視線方向との関係の一例を示す図である。一般的に、プルキンエ像の位置は、ユーザの視線方向によらず変化しない。一方、瞳孔重心の位置は、ユーザの視線方向に応じて変化する。また、角膜の表面は略球面となっている。そのため、赤外カメラ４から見たときの、プルキンエ像と瞳孔重心間の相対的な位置関係は、ユーザの視線方向に応じて変化する。さらに、右眼と左眼とで、照明光源３とプルキンエ像とを結ぶ線と視線方向とがなす角は異なる。
【００６８】
例えば、図５に示されるように、ユーザの視線方向５００よりも照明光源３が右側に位置するとする。この場合、右側の眼についての照明光源３とプルキンエ像とを結ぶ線５０１と視線方向５００とがなす角θ1よりも、左側の眼についての照明光源３とプルキンエ像とを結ぶ線５０２と視線方向５００とがなす角θ2の方が大きくなる。すなわち、右側の眼における、プルキンエ像と瞳孔重心間の距離よりも、左側の眼における、プルキンエ像と瞳孔重心間の距離の方が大きくなる。逆に、ユーザの視線方向よりも照明光源３が左側に位置する場合、左側の眼についての照明光源３とプルキンエ像とを結ぶ線と視線方向とがなす角よりも、右側の眼についての照明光源３とプルキンエ像とを結ぶ線と視線方向とがなす角の方が大きくなる。すなわち、左側の眼における、プルキンエ像と瞳孔重心間の距離よりも、右側の眼における、プルキンエ像と瞳孔重心間の距離の方が大きくなる。
【００６９】
そこで、推定部２５は、例えば、プルキンエ像と瞳孔重心の位置関係に応じて、ユーザの視線方向に対して照明光源３が左右何れの側にあるか判断する。ユーザが照明光源を見ていれば、プルキンエ像と瞳孔重心は略一致する。したがって、瞳孔重心がプルキンエ像よりも左側にあれば、照明光源３よりも視線方向は左側に位置し、一方、瞳孔重心がプルキンエ像よりも右側にあれば、照明光源３よりも視線方向は右側に位置する。そして推定部２５は、照明光源３を基準とする視線方向の左右の位置関係と、画像上での参照眼を基準とする再検出眼の左右の位置関係が同じである場合、水平方向における推定範囲の位置を照明光源３から視線方向へ向かう方向に所定の補正量ずらす。逆に、推定部２５は、照明光源３を基準とする視線方向の左右の位置関係と、画像上での参照眼を基準とする再検出眼の左右の位置関係が逆である場合、水平方向における推定範囲の位置を視線方向から照明光源３へ向かう方向に所定の補正量ずらす。
【００７０】
例えば、図５に示されるように、ユーザの視線方向５００が照明光源３よりも左側である場合において、再検出眼が画像上で左側の眼であるとする。この場合、推定部２５は、右側の眼のプルキンエ像から瞳孔重心へのベクトルに基づいて設定される推定範囲の位置よりも、推定範囲を左側へシフトする。逆に、再検出眼が画像上で右側の眼であれば、推定部２５は、左側の眼のプルキンエ像から瞳孔重心へのベクトルに基づいて設定される推定範囲の位置よりも、推定範囲を右側へシフトする。また、ユーザの視線方向が照明光源３よりも右側である場合において、再検出眼が画像上で右側の眼であるとする。この場合、推定部２５は、左側の眼のプルキンエ像から瞳孔重心へのベクトルに基づいて設定される推定範囲の位置よりも、推定範囲を右側へシフトする。逆に、再検出眼が画像上で左側の眼であれば、推定部２５は、右側の眼のプルキンエ像から瞳孔重心へのベクトルに基づいて設定される推定範囲の位置よりも、推定範囲を左側へシフトする。
【００７１】
なお、所定の補正量は、例えば、視線方向に応じて予め設定される。例えば、所定の補正量は、視線方向と照明光源３とプルキンエ像とを結ぶ線とがなす角が大きくなるほど大きくなるように設定される。そして例えば、視線方向と所定の補正量との関係を表した位置補正量テーブルが予め記憶部７に記憶される。推定部２５は、参照眼について、視線検出部２７と同様の処理を行って視線方向を検出できる。そして推定部２５は、その位置補正量テーブルを参照して、視線方向に応じた補正量を決定すればよい。
【００７２】
なお、推定部２５は、参照眼についての視線方向として、直前に得られた視線方向を利用してもよい。
【００７３】
また、基準点が、眼頭または目尻といった、左眼と右眼とで、瞳孔に対する基準点の位置が反対となる点である場合、推定部２５は、参照眼についての瞳孔重心と基準点間の距離により、推定範囲の位置を補正してもよい。
【００７４】
図６は、この場合における、推定範囲の位置の補正の一例を示す図である。図６に示された例では、画像上での右側の眼が再検出眼であるとする。また、基準点として、眼頭が用いられるものとする。この場合、推定部２５は、参照眼である左側の眼について、基準点（眼頭）６０１から瞳孔重心６０２までの距離が短くなるほど、右側の眼について、基準点（眼頭）６１１から推定範囲６１２の中心までの水平方向に沿った距離を長くする。
【００７５】
また、変形例によれば、図７に示されるように、瞳孔領域が既知である参照画像７００に基づいて、それぞれの眼についての眼頭から瞳孔重心までのベクトル７０１、７０２が検出される。そしてベクトル７０１とベクトル７０２の水平成分の和を水平方向の幅とし、ベクトル７０１とベクトル７０２の垂直成分の平均値を垂直方向の幅とする矩形領域７１０が予め記憶部７に保存されてもよい。この矩形領域７１０は、赤外カメラ４からユーザまでの想定距離、及び、赤外カメラ４の高さなどの設置条件に応じて複数設定されてもよい。そして推定部２５は、その想定距離及び設置条件に最も近い矩形領域を利用してもよい。
【００７６】
この場合、推定部２５は、参照眼についての基準点から瞳孔重心までのベクトル７２１の先端が矩形領域７１０の一つのコーナーと一致するようにベクトル７０１を矩形領域７１０内に配置する。そして推定部２５は、ベクトル７２１の基点７２２からベクトル７２１の先端が位置するコーナーと水平方向について逆側の矩形領域７１０のコーナーまでのベクトル７２３を、他方の眼についての基準点である眼頭から推定範囲７２４の中心までのベクトルとする。
【００７７】
また、基準点が眼頭と目尻間の中点である場合、推定部２５は、参照眼について、基準点に対する瞳孔重心の左右の位置関係と、画像上での参照眼を基準とする再検出眼の左右の位置関係が同じである場合、推定範囲の水平方向の位置を基準点側へずらしてもよい。逆に、推定部２５は、参照眼について、基準点に対する瞳孔重心の左右の位置関係と、画像上での参照眼を基準とする再検出眼の左右の位置関係が逆である場合、推定範囲の水平方向の位置を基準点と反対側へずらしてもよい。
【００７８】
また、推定部２５は、参照眼についての瞳孔領域の形状に基づいて、再検出眼についての、検出対象となる瞳孔領域の推定形状を求める。
【００７９】
例えば、推定部２５は、参照眼についての瞳孔領域の水平方向の幅及び垂直方向の幅と同じ水平方向の幅及び垂直方向の幅を持つ楕円を、再検出眼についての、検出対象となる瞳孔領域の推定形状とする。
【００８０】
また、推定部２５は、視線方向に基づいて、検出対象となる瞳孔領域の推定形状を補正してもよい。
【００８１】
一般に、赤外カメラ４と瞳孔重心とを結ぶ線と、視線方向とがなす角が小さいほど、瞳孔は赤外カメラ４の方を向くので、画像上での瞳孔領域の真円度も高くなる。したがって、左右それぞれの眼についての視線方向と赤外カメラ４と瞳孔重心とを結ぶ線とのなす角の大小関係に基づいて、推定部２５は、検出対象となる瞳孔領域の推定形状を補正できる。
【００８２】
そこで、推定部２５は、参照眼についての視線方向と、その眼と赤外カメラ４とを結ぶ線とがなす第１の角度と、再検出眼について視線方向とその眼と赤外カメラ４とを結ぶ線とがなす第２の角度とを算出する。推定部２５は、第１の角度が第２の角度よりも小さい場合、再検出眼の瞳孔領域の推定形状の垂直方向に沿った幅に対する水平方向に沿った幅の比を、参照眼についての瞳孔領域の垂直方向に沿った幅に対する水平方向に沿った幅の比よりも小さくする。逆に、第１の角度が第２の角度よりも大きい場合、推定部２５は、再検出眼の瞳孔領域の推定形状の垂直方向に沿った幅に対する水平方向に沿った幅の比を、参照眼についての瞳孔領域の垂直方向に沿った幅に対する水平方向に沿った幅の比よりも大きくする。
【００８３】
図８は、視線方向と瞳孔領域の形状の関係の一例を示す図である。この例では、ユーザ８００は、赤外カメラ４（図８において、Ｃで表記）よりも右側に位置する注視点P'を見ているとする。なお、図８において、赤外カメラ４の光軸方向をZ軸とし、光軸方向に平行かつ地面に対して平行な方向（すなわち、ユーザ８００の両眼が並ぶ方向）をX軸とする。注視点P'の位置が判明している場合、赤外カメラ４から見て左側の眼Ｌ（ユーザ８００の右眼）についての視線方向８０１と赤外カメラ４と瞳孔重心とを結ぶ線とのなす角∠CLP'は、次式で表される。
【数１】
2017182739.tif 000003
ここで、CX、LX、P'Xは、それぞれ、X軸方向における、赤外カメラ４の位置、左側の眼の位置、注視点P'の位置を表す。また、CZ、LZ、P'Zは、それぞれ、Z軸方向における、赤外カメラ４の位置、左側の眼の位置、注視点P'の位置を表す。
同様に、右側の眼Ｒ（ユーザ８００の左眼）についての視線方向８０２と赤外カメラ４と瞳孔重心とを結ぶ線とのなす角∠CRP'は、次式で表される。
【数２】
2017182739.tif 000004
ここで、RXは、X軸方向における右側の眼の位置を表し、RZは、Z軸方向における右側の眼の位置を表す。そして、左側の眼の瞳孔Lpupilの水平方向の幅LPWと、右側の眼の瞳孔Rpupilの水平方向の幅RPWとの関係は、次式で表される。
【数３】
2017182739.tif 000005
【００８４】
したがって、推定部２５は、（１）式及び（２）式にしたがって、∠CLP'及び∠CRP'を算出する。なお、画像上での右眼及び左眼の座標により、LX及びRXは算出される。また注視点P'と赤外カメラ４の位置関係により、P'Xが求められる。そして推定部２５は、その∠CLP'及び∠CRP'と、参照眼についての瞳孔領域の水平方向の幅とを（３）式に代入することで、再検出眼について、検出対象となる瞳孔領域の推定形状の水平方向の幅を算出できる。なお、瞳孔領域の垂直方向の幅は、左側の眼と右側の眼とで略同一と考えられる。そこで、推定部２５は、参照眼についての瞳孔領域の垂直方向の幅を、検出対象となる瞳孔領域の推定形状の垂直方向の幅とすればよい。
【００８５】
なお、推定部２５は、視線検出部２７と同様の処理を行って、参照眼について検出された瞳孔重心と基準点との位置関係に応じて、ユーザの視線方向及び注視位置を検出してもよい。そして推定部２５は、再検出眼に関して、基準点から注視位置へ向かう方向を視線方向として、上記の角度を算出してもよい。あるいは、推定部２５は、視線方向として、直前に求められた視線方向を用いてもよい。
【００８６】
また、赤外カメラ４よりも、注視点の方がユーザから遠い位置にあることが想定される場合もある。すなわち、赤外カメラ４からユーザの眼までの距離(|CZ-LZ|または|CZ-RZ|)よりも、注視点P'からユーザの眼までの距離(|P'Z-LZ|または|P'Z-RZ|)の方が長くなる。この場合には、推定部２５は、視線方向と、赤外カメラ４のZ軸方向における位置においてX軸と平行な線との交点を仮の注視点Pとして、∠CLP'及び∠CRP'の代わりに、∠CLP及び∠CRPを算出してもよい。そして推定部２５は、∠CLP及び∠CRPを用いて、（３）式に従って再検出眼について、検出対象となる瞳孔領域の推定形状の水平方向の幅を算出してもよい。ただしこの場合には、推定部２５は、算出した水平方向の幅を中心とする第１のオフセットの範囲内のそれぞれの値を、検出対象となる瞳孔領域の推定形状の水平方向の幅とすることが好ましい。
【００８７】
また、ユーザから注視位置P'までの距離が分からない場合には、推定部２５は、参照眼についての瞳孔領域の水平方向の幅を中心とする第２のオフセットの範囲内のそれぞれの値を、検出対象となる瞳孔領域の推定形状の水平方向の幅としてもよい。この場合には、第２のオフセットの範囲は第１のオフセットの範囲よりも広く設定されることが好ましい。
【００８８】
さらに、推定部２５は、赤外カメラ４からユーザの顔までの距離が予め想定される場合、ユーザの顔向きに応じて、検出対象となる瞳孔領域の推定形状の垂直方向の幅を補正してもよい。一般に、赤外カメラ４から瞳孔までの距離が長くなるほど、画像上での瞳孔領域のサイズも小さくなる。
【００８９】
図９は、ユーザの顔が赤外カメラ４に対して傾けられているときの視線方向と瞳孔領域の形状の関係の一例を示す図である。図９においても、赤外カメラ４の光軸方向をZ軸とし、光軸方向に平行かつ地面に対して平行な方向（すなわち、ユーザ９００の両眼が並ぶ方向）をX軸とする。図９に示されるように、ユーザ９００が顔そのものを注視点P'の方へ向けていれば、注視点P'側に位置する眼の方が、注視点P'と反対側に位置する眼よりも赤外カメラ４から遠くなる。この例では、注視点P'が赤外カメラ４よりも右側に位置しているので、赤外カメラ４から見て右側の眼の方が、左側の眼よりも赤外カメラ４から遠い。したがって、右側の眼の瞳孔Rpupilの垂直方向の幅RPH及び水平方向の幅RPWは、左側の眼の瞳孔Lpupilの垂直方向の幅LPH及び水平方向の幅LPWよりも小さくなる。
【００９０】
そこで、例えば、推定部２５は、画像からユーザの顔の向きを検出し、その顔の向きに応じて、赤外カメラ４から右側の眼までの距離と赤外カメラ４から左側の眼までの距離の比を算出する。なお、推定部２５は、例えば、両方の眼の眼頭の中点と、唇の中点とを結ぶ線を正中線として検出し、正中線に対する鼻尖点の位置関係により、顔の向きを判定できる。その際、推定部２５は、画像から唇及び鼻尖点を検出するために、例えば、唇を検出するように学習された識別器及び鼻尖点を検出するように学習された識別器を用いればよい。あるいは、推定部２５は、画像から唇及び鼻尖点を検出する他の技術を利用してもよい。
【００９１】
そして推定部２５は、例えば、顔の向きと、赤外カメラ４から右側の眼までの距離|CZ-RZ|に対する赤外カメラ４から左側の眼までの距離|CZ-LZ|の比RD{=(|CZ-LZ|/|CZ-RZ|)}との関係を表す参照テーブルを参照する。これにより、推定部２５は、検出した顔向きに応じてその比RDを求めればよい。
【００９２】
推定部２５は、比RDを用いて、参照眼についての瞳孔領域の垂直方向の幅及び水平方向の幅を補正する。例えば、参照眼が右側の眼であれば、推定部２５は、右側の眼についての瞳孔領域の垂直方向の幅及び水平方向の幅に比RDを乗じる。一方、参照眼が左側の眼であれば、推定部２５は、左側の眼についての瞳孔領域の垂直方向の幅及び水平方向の幅を比RDで割る。
【００９３】
そして推定部２５は、得られた瞳孔領域の垂直方向の幅を、検出対象とする瞳孔領域の推定形状における垂直方向の幅とする。また推定部２５は、得られた瞳孔領域の水平方向の幅に対して、上記のような水平方向の幅の補正を行って、検出対象とする瞳孔領域の推定形状における水平方向の幅としてもよい。
【００９４】
推定部２５は、再検出眼についての推定範囲、及び、検出対象となる瞳孔領域の推定形状を瞳孔再検出部２６へ通知する。
【００９５】
瞳孔再検出部２６は、再検出眼についての推定範囲、及び、検出対象となる瞳孔領域の推定形状を通知されると、瞳孔領域の再検出を実行する。その際、瞳孔再検出部２６は、再検出眼について設定された推定範囲内で瞳孔領域の推定形状を持つ領域を探索して瞳孔領域を検出する。
【００９６】
瞳孔再検出部２６は、例えば、検出対象となる瞳孔領域の推定形状と同じ水平方向の幅及び垂直方向の幅を持つ瞳孔のテンプレートを利用して、テンプレートマッチングにより瞳孔領域を検出する。あるいは、瞳孔再検出部２６は、検出対象となる瞳孔領域の推定形状と同じ水平方向の幅及び垂直方向の幅を持つ楕円状の２重リングフィルタを用いて瞳孔領域を検出してもよい。
【００９７】
このように、設定された推定範囲及び検出対象となる推定形状に従って瞳孔領域を再検出することで、瞳孔再検出部２６は、瞳孔領域をより正確に検出できる。また、瞳孔再検出部２６は、瞳孔の一部が照明光源３のプルキンエ像または眼鏡による光源の反射像などで部分的に遮蔽されている場合でも、瞳孔領域を検出できる。なお、瞳孔検出部２３が、再検出眼について瞳孔領域の検出に失敗している場合には、瞳孔再検出部２６は、瞳孔領域検出の条件を、瞳孔検出部２３における瞳孔領域検出の条件よりも緩和してもよい。例えば、瞳孔再検出部２６は、テンプレートマッチングにより得られた一致度に対する閾値、あるいは、２重リングフィルタによる出力値に対する閾値を、瞳孔検出部２３で用いられる閾値よりも低くしてもよい。
【００９８】
瞳孔再検出部２６は、再検出処理により検出された瞳孔重心を算出する。例えば、瞳孔再検出部２６は、テンプレートマッチングにより瞳孔領域を検出した場合、瞳孔領域と最も一致したテンプレートの重心を瞳孔重心とすればよい。また、瞳孔再検出部２６は、２重リングフィルタを用いて瞳孔領域を検出した場合には、瞳孔領域が検出されたときの２重リングフィルタの位置における、２重リングフィルタの重心を、瞳孔重心とすればよい。
【００９９】
なお、瞳孔領域の一部が遮蔽されていることもある。例えば、瞳孔再検出部２６は、検出した瞳孔領域内で最小輝度となる画素を基準として領域拡張法を適用することで、その最小輝度から所定輝度の範囲内となる輝度を持つ画素の集合となる領域を、改めて瞳孔領域とする。そしてその瞳孔領域の輪郭の一部が中心側に向けて凸となっている場合、あるいは、瞳孔領域の周囲長と面積から算出される円形度が所定の閾値以下となっている場合、瞳孔再検出部２６は、瞳孔領域の一部が遮蔽されていると判定する。このような場合、瞳孔再検出部２６は、例えば、遮蔽されていない瞳孔領域の部分の輪郭に基づいて、瞳孔重心の位置を推定してもよい。
【０１００】
図１０は、遮蔽されていない瞳孔領域の部分の輪郭に基づく瞳孔重心位置の推定の概要の説明図である。図１０に示される例では、瞳孔領域１０００は、遮蔽物（眼鏡による光源の反射像など）１００１によって一部が遮蔽されている。そこで、瞳孔再検出部２６は、外側に対して凸となっている部分における瞳孔領域１０００の輪郭上の２点の組を複数設定する。そして瞳孔再検出部２６は、各組について、輪郭上のその２点それぞれの接線の交点C1、C2を求め、その交点から接線同士がなす角の２等分線L1、L2を算出する。瞳孔再検出部２６は、各組について算出した２等分線L1、L2の交点を、瞳孔重心Oとして推定する。
【０１０１】
瞳孔再検出部２６は、再検出処理により検出された瞳孔重心の位置を視線検出部２７へ通知する。
【０１０２】
視線検出部２７は、ユーザの左右それぞれの眼についての瞳孔重心の位置に基づいて、ユーザの視線方向及び注視位置を検出する。
【０１０３】
角膜の表面は略球形であるため、視線方向によらず、光源のプルキンエ像の位置はほぼ一定となる。一方、瞳孔重心は、視線方向に応じて移動する。そのため、視線検出部２７は、照明光源３のプルキンエ像の重心を基準とする瞳孔重心の相対的な位置を求めることにより、視線方向を検出できる。
【０１０４】
本実施形態では、視線検出部２７は、左右それぞれの眼について、照明光源３のプルキンエ像の重心を基準とする瞳孔重心の相対的な位置をもとめる。その際、視線検出部２７は、例えば、瞳孔重心の水平方向座標及び垂直方向座標からプルキンエ像の重心の水平方向座標及び垂直方向座標を減算することにより瞳孔重心の相対的な位置を求める。そして視線検出部２７は、左右それぞれの眼について、瞳孔重心の相対的な位置と視線方向との関係を表す参照テーブルを参照することにより、視線方向を決定する。
【０１０５】
図１１は、参照テーブルの一例を示す図である。参照テーブル１１００の左側の列の各欄には、照明光源３のプルキンエ像の重心を基準とする瞳孔重心の相対的な位置の座標が表される。また参照テーブル１１００の右側の列の各欄には、同じ行の瞳孔重心の相対的な位置の座標に対応する視線方向が表される。なお、この例では、視線方向は、所定の基準点（例えば、表示部２の表示画面の中心または赤外カメラ４の取り付け位置）をユーザが注視しているときの視線方向を基準方向として、その基準方向からの水平方向及び垂直方向の角度の差で表される。なお、瞳孔重心の相対的な位置の座標は、画像上の画素単位で表される。
【０１０６】
なお、視線検出部２７は、照明光源３のプルキンエ像以外の基準点と瞳孔重心との位置関係に基づいて、左右それぞれの眼の視線方向を検出してもよい。例えば、視線検出部２７は、基準点が、眼頭、目尻、または眼頭と目尻の中点といった、眼の特徴点である場合も、その基準点に対する瞳孔重心の相対的な位置に基づいて、視線方向を検出すればよい。ただしこの場合には、ユーザの顔の向きによって眼の特徴点と瞳孔重心間の関係も変化するので、視線検出部２７は、上記のように、ユーザの顔向きも検出し、ユーザの顔向きによって視線方向を補正することが好ましい。
【０１０７】
視線検出部２７は、さらに、検出した視線方向に基づいて、ユーザの注視位置を検出する。
本実施形態では、視線検出部２７は、視線方向と注視位置との関係を表す注視位置テーブルを参照することにより、注視位置を決定する。なお、視線方向と注視位置との関係は、その注視位置（例えば、表示部２の表示画面）とユーザとの間の距離に応じて変化する。また、画像上での水平方向の顔の幅も、赤外カメラ４とそのユーザとの間の距離に応じて変化する。そして赤外カメラ４は、表示部２の周辺に配置されているので、赤外カメラ４とユーザとの間の距離と、ユーザの注視位置とユーザとの間の距離は、略等しいことが想定される。
【０１０８】
そこで、注視位置テーブルは、赤外カメラ４とデジタルサイネージシステム１を利用するユーザとの間の想定される距離（例えば、1m、2mなど）に応じて、予め複数用意され、記憶部７に保存される。また各注視位置テーブルには、その注視位置テーブルに対応する、赤外カメラ４とのユーザとの間の距離に応じた、画像上での水平方向の顔領域の幅の範囲が対応付けられる。そして視線検出部２７は、眼検出部２１から受け取った、最新の顔領域の水平方向の幅をその範囲に含む注視位置テーブルを選択する。そして視線検出部２７は、選択した注視位置テーブルを参照して、視線方向に対応する注視位置を求める。
なお、デジタルサイネージシステム１が、デプスカメラといった距離センサを有していてる場合には、視線検出部２７は、距離センサにより得られたユーザまでの距離に応じて、注視位置テーブルを選択すればよい。
【０１０９】
図１２は、注視位置テーブルの一例を示す図である。注視位置テーブル１２００の上端の行には、視線方向が表される。そして注視位置テーブル１２００の各欄には、同じ列の視線方向に対応する、注視位置の座標が所定の単位（例えば、表示部２の表示画面の画素単位、あるいは、mm単位）で表される。例えば、注視位置テーブル１２００の欄１２０１には、視線方向が水平方向0°、垂直方向1°の場合の注視位置が(cx,cy+40)であることが示されている。なお、cx、cyは、視線方向が(0,0)のときの注視位置、すなわち基準注視位置の座標、例えば、赤外カメラ４の取り付け位置における、鉛直平面上の水平座標及び垂直座標である。
【０１１０】
視線検出部２７は、左右それぞれの眼について求めた注視位置の平均値を、ユーザの注視位置とする。そして視線検出部２７は、左右それぞれの眼について求めた注視位置の平均値から、注視位置テーブルを参照して、左右それぞれの眼の視線方向を補正してもよい。そして制御部８は、ユーザの注視位置及び左右それぞれの眼の視線方向を記憶部７に保存する。
【０１１１】
あるいは、視線検出部２７は、左右それぞれの眼ごとの注視位置及び視線方向を記憶部７に保存してもよい。
【０１１２】
そして制御部８は、両眼の注視位置の平均値として求められたユーザの注視位置、あるいは、何れか一方の眼について算出された注視位置を追跡することで、注視位置が一定時間以上停滞した位置あるいは範囲を特定する。そして制御部８は、その位置または範囲に応じた処理を実行する。例えば、制御部８は、その位置または範囲において、表示部２に表示されているアイコンまたはコンテンツに関連する情報を表示部２に表示させてもよい。あ
【０１１３】
図１３は、制御部８により実行される、視線検出処理の動作フローチャートを示す。制御部８は、画像が取得される度に、下記の動作フローチャートに従って視線検出処理を実行する。
【０１１４】
眼検出部２１は、赤外カメラ４から取得した画像上で左右それぞれの眼領域を検出する（ステップＳ１０１）。また、基準点検出部２２は、左右それぞれの眼領域において、基準点を検出する（ステップＳ１０２）。そして瞳孔検出部２３は、左右それぞれの眼領域において瞳孔領域及び瞳孔重心を検出する（ステップＳ１０３）。
【０１１５】
再検出判定部２４は、左右それぞれの眼について瞳孔領域の検出結果に基づいて、再検出眼を判定する（ステップＳ１０４）。そして推定部２５は、参照眼についての基準点と瞳孔重心との位置関係、及び瞳孔領域の形状に基づいて、再検出眼についての推定範囲及び検出対象となる瞳孔領域の推定形状を含む再検出条件を設定する（ステップＳ１０５）。
【０１１６】
瞳孔再検出部２６は、再検出条件にしたがって、瞳孔領域及び瞳孔重心の再検出を実行する（ステップＳ１０６）。そして視線検出部２７は、左右それぞれの眼についての瞳孔重心の位置に基づいて、ユーザの視線方向及び注視位置をもとめる（ステップＳ１０７）。そして制御部８は、視線検出処理を終了する。
【０１１７】
以上に説明してきたように、この視線検出装置は、左右それぞれの眼が写った画像において、一方の眼について検出された瞳孔領域と基準点の位置関係及び瞳孔領域の形状に基づいて、他方の眼についての瞳孔領域の再検出条件を設定する。そのため、この視線検出装置は、他方の眼について、瞳孔領域の一部が遮蔽されていても、瞳孔重心の位置を推定できる。またこの視線検出装置は、両方の眼について瞳孔領域が検出されていたとしても、検出精度が高いと想定される方の眼の瞳孔領域から設定される再検出条件を用いて、検出精度が低いと想定される方の眼について瞳孔領域を再検出する。そのため、この視線検出装置は、検出精度が低いと想定される方の眼についても、瞳孔領域をより正確に検出できる。
【０１１８】
なお、変形例によれば、推定部２５は、再検出条件として、瞳孔領域の推定範囲と推定形状のうちの何れか一方のみを求めてもよい。この場合には、瞳孔再検出部２６は、その一方のみを再検出条件として利用して、瞳孔領域を再検出してもよい。例えば、再検出条件として、瞳孔領域の推定形状だけが求められている場合には、瞳孔再検出部２６は、眼領域全体で、その推定形状と一致する形状を持つ領域を瞳孔領域として探索してもよい。例えば、まつ毛、眼鏡、影などの影響により、眼が写った画像の中に、瞳孔と類似した形状の偽の暗部領域が現れることがある。この視線検出装置によれば、瞳孔領域の推定形状に基づいて瞳孔領域を再検出するので、偽の暗部領域を瞳孔として誤って検出してしまう可能性を低減できる。一方、再検出条件として、瞳孔領域の推定範囲だけが求められている場合には、瞳孔再検出部２６は、検出対象とする瞳孔領域の形状については限定せず、その推定範囲内で瞳孔領域の再検出を実行すればよい。
【０１１９】
なお、この視線検出装置は、デジタルサイネージシステムに限られず、車両の運転支援システム、コンピュータの入力支援システムなどに利用されてもよい。また用途によっては、視線検出装置は、ユーザの視線方向のみを検出し、注視位置については検出しなくてもよい。
【０１２０】
上記の実施形態またはその変形例による視線検出装置の制御部の機能を実現するコンピュータプログラムは、磁気記録媒体、光記録媒体といったコンピュータ読み取り可能な記録媒体に記録された形で提供されてもよい。なお、この記録媒体には、搬送波は含まれない。
【０１２１】
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【０１２２】
以上説明した実施形態及びその変形例に関し、更に以下の付記を開示する。
（付記１）
ユーザの両方の眼が表された画像を生成する撮像部と、
前記画像から、前記両方の眼のそれぞれについて当該眼が写っている眼領域を検出する眼検出部と、
前記両方の眼のうちの一方について前記眼領域から瞳孔が写っている瞳孔領域を検出する瞳孔検出部と、
前記一方の眼についての前記瞳孔領域に基づいて、前記両方の眼のうちの他方についての前記画像上での前記瞳孔領域の推定形状を求める推定部と、
前記他方の眼についての前記眼領域内で前記推定形状を持つ領域を探索して前記瞳孔領域を検出する瞳孔再検出部と、
前記両方の眼のそれぞれの前記瞳孔領域の位置に基づいて前記ユーザの視線方向を検出する視線検出部と、
を有する視線検出装置。
（付記２）
前記推定部は、前記一方の眼についての前記視線方向と前記一方の眼と前記撮像部とを結ぶ線とがなす第１の角度が、前記他方の眼について推定される前記視線方向と前記他方の眼と前記撮像部とを結ぶ線とがなす第２の角度よりも小さい場合、前記他方の眼の前記瞳孔領域の前記推定形状についての、前記両方の眼が並ぶ第１の方向と直交する第２の方向に沿った幅に対する前記第１の方向に沿った幅の比を、前記一方の眼の前記瞳孔領域についての前記第２の方向に沿った幅に対する前記第１の方向に沿った幅の比よりも小さくし、一方、前記第１の角度が前記第２の角度よりも大きい場合、前記他方の眼の前記瞳孔領域の前記推定形状についての前記第２の方向に沿った幅に対する前記第１の方向に沿った幅の比を、前記一方の眼の前記瞳孔領域についての前記第２の方向に沿った幅に対する前記第１の方向に沿った幅の比よりも大きくする、付記１に記載の視線検出装置。
（付記３）
前記画像から、前記両方の眼のそれぞれについて前記ユーザの視線方向によって位置が変化しない基準点を検出する基準点検出部をさらに有し、
前記推定部は、前記一方の眼についての前記基準点と前記瞳孔領域との位置関係と、前記他方の眼についての前記基準点とに基づいて前記他方の眼について前記瞳孔領域が存在する推定範囲を求め、当該推定範囲内で前記推定形状を持つ領域を探索して前記瞳孔領域を検出する、付記１に記載の視線検出装置。
（付記４）
前記両方の眼を照明する照明光源をさらに有し、
前記基準点検出部は、前記両方の眼のそれぞれについて、前記照明光源の角膜反射像の位置を前記基準点として検出し、
前記推定部は、前記一方の眼についての前記基準点と前記瞳孔領域との位置関係に基づいて、前記両方の眼が並ぶ第１の方向における前記視線方向と前記照明光源の位置関係を推定し、当該位置関係に応じて前記推定範囲を求める、付記３に記載の視線検出装置。
（付記５）
前記推定部は、前記第１の方向における、前記照明光源に対する前記視線方向の位置関係と、前記第１の方向における、前記一方の眼に対する前記他方の眼の位置関係とが同一である場合、前記一方の眼についての前記基準点から前記瞳孔領域へ向かう方向に沿って、前記一方の眼についての前記基準点から前記瞳孔領域の重心までの距離よりも前記他方の眼についての前記基準点から前記推定範囲の中心間までの距離の方が長くなるように前記推定範囲を設定する、付記４に記載の視線検出装置。
（付記６）
前記基準点検出部は、前記両方の眼のそれぞれについて、眼頭の位置を前記基準点として検出し、
前記推定部は、前記一方の眼における前記基準点から前記瞳孔領域の重心までの距離が長くなるほど、前記他方の眼における前記基準点から前記推定範囲の中心までの距離が短くなるように前記推定範囲を設定する、付記３に記載の視線検出装置。
（付記７）
前記基準点検出部は、前記両方の眼のそれぞれについて、眼頭と目尻間の中点を前記基準点として検出し、
前記推定部は、前記一方の眼についての、前記両方の眼が並ぶ第１の方向における前記基準点に対する前記瞳孔領域の位置関係と、前記一方の眼に対する前記他方の眼の位置関係とが同一である場合、前記一方の眼についての前記基準点から前記瞳孔領域の重心までの距離よりも前記他方の眼についての前記基準点から前記推定範囲の中心間までの距離の方が短くなるように前記推定範囲を設定する、付記３に記載の視線検出装置。
（付記８）
瞳孔検出部は、前記両方の眼のそれぞれについて前記眼領域から前記瞳孔領域を検出し、かつ、検出した前記瞳孔領域の確からしさを表す評価値を算出し、
前記両方の眼のそれぞれについての前記評価値のうちの低い方に対応する眼を前記他方の眼と判定する再検出判定部をさらに有する、付記１〜７の何れかに記載の視線検出装置。
（付記９）
ユーザの両方の眼が表された画像を生成し、
前記画像から、前記両方の眼のそれぞれについて当該眼が写っている眼領域を検出し、
前記両方の眼のうちの一方について前記眼領域から瞳孔が写っている瞳孔領域を検出し、
前記一方の眼についての前記瞳孔領域に基づいて、前記両方の眼のうちの他方についての前記画像上での前記瞳孔領域の推定形状を求め、
前記他方の眼についての前記眼領域内で前記推定形状を持つ領域を探索して前記瞳孔領域を検出し、
前記両方の眼のそれぞれの前記瞳孔領域の位置に基づいて前記ユーザの視線方向を検出する、
ことを含む視線検出方法。
（付記１０）
ユーザの両方の眼が表された画像から、前記両方の眼のそれぞれについて当該眼が写っている眼領域を検出し、
前記両方の眼のうちの一方について前記眼領域から瞳孔が写っている瞳孔領域を検出し、
前記一方の眼についての前記瞳孔領域に基づいて、前記両方の眼のうちの他方についての前記画像上での前記瞳孔領域の推定形状を求め、
前記他方の眼についての前記眼領域内で前記推定形状を持つ領域を探索して前記瞳孔領域を検出し、
前記両方の眼のそれぞれの前記瞳孔領域の位置に基づいて前記ユーザの視線方向を検出する、
ことをコンピュータに実行させるための視線検出用コンピュータプログラム。
【符号の説明】
【０１２３】
１    デジタルサイネージシステム（視線検出装置）
２    表示部
３    照明光源
４    赤外カメラ
５    入力部
６    記憶媒体アクセス装置
７    記憶部
８    制御部
１０    筐体
１１    記憶媒体
２１    眼検出部
２２    基準点検出部
２３    瞳孔検出部
２４    再検出判定部
２５    推定部
２６    瞳孔再検出部
２７    視線検出部
【図１】
2017182739.tif 000006
【図２】
2017182739.tif 000007
【図３】
2017182739.tif 000008
【図４】
2017182739.tif 000009
【図５】
2017182739.tif 000010
【図６】
2017182739.tif 000011
【図７】
2017182739.tif 000012
【図８】
2017182739.tif 000013
【図９】
2017182739.tif 000014
【図１０】
2017182739.tif 000015
【図１１】
2017182739.tif 000016
【図１２】
2017182739.tif 000017
【図１３】
2017182739.tif 000018