【文献】
海老澤 嘉伸 外4名,頭部移動を許容するステレオカメラによる較正容易な注視点検出装置,FIT2010 第9回情報科学技術フォーラム 講演論文集 第3分冊 査読付き論文・一般論文 画像認識・メディア理解 グラフィクス・画像 ヒューマンコミュニケーション&インタラクション 教育工学・福祉工学・マルチメディア応用,日本,社団法人電子情報通信学会,一般社団法人情報処理学会,2010年 8月20日,pp. 589-591
【文献】
遠西 昭和,海老澤 嘉伸,ステレオ広角カメラと狭角カメラによる視線検出,映像情報メディア学会 2005年年次大会講演予稿集 [CD−ROM],日本,社団法人映像情報メディア学会,2005年 8月26日
(58)【調査した分野】(Int.Cl.,DB名)
前記視線算出手段は、前記第1の角膜反射又は前記第2の角膜反射のいずれかの前記座標から前記瞳孔の前記座標までの角膜反射−瞳孔ベクトルを算出し、前記角膜反射−瞳孔ベクトルに前記拡大率を乗ずることで、前記カメラと前記瞳孔を結ぶ線からの前記視線の方向のなす角度を算出する、
請求項1又は2に記載の視線検出装置。
対象者の眼を撮像する少なくも1台のカメラと、前記対象者に向けられた異なる位置に配置された第1及び第2の光源と、前記対象者の視線の方向を算出する視線検出手段と、を備える視線検出装置が、対象者の眼を撮像することで前記眼の3次元位置を検出する3次元位置検出ステップと、
前記視線検出装置が、前記カメラによって撮像された前記眼の画像を基に、前記対象者の瞳孔の前記画像上の座標と、前記第1及び第2の光源による第1及び第2の角膜反射の前記画像上の座標とを検出し、前記瞳孔の前記座標と前記第1の角膜反射及び前記第2の角膜反射のうちの少なくとも1つの前記座標とを基に前記対象者の視線の方向を算出する視線算出ステップとを備え、
前記視線算出ステップでは、前記眼の前記3次元位置と既知の前記第1及び第2の光源の3次元位置とから、前記眼における前記第1及び第2の角膜反射の間の実寸距離を算出し、前記第1の角膜反射の前記座標と前記第2の角膜反射の前記座標との間の画像上距離を算出し、前記画像上距離と前記実寸距離とを基に前記カメラによる画像の拡大率を算出し、前記拡大率を基に前記視線の方向を算出する、
視線検出方法。
【発明を実施するための形態】
【0016】
以下、図面を参照しつつ本発明に係る視線検出装置及び視線検出方法の好適な実施形態について詳細に説明する。なお、図面の説明においては、同一又は相当部分には同一符号を付し、重複する説明を省略する。
【0017】
[視線検出装置の構成]
まず、
図1〜3を用いて、実施形態に係る視線検出装置1の構成を説明する。視線検出装置1は、対象者の眼を撮像することで対象者の視線方向を検出するコンピュータシステムであり、この装置により、本実施形態に係る視線検出方法が実施される。対象者とは、視線方向を検出する対象となる人であり、被験者ともいうことができる。視線検出装置1および視線検出方法の利用目的は何ら限定されず、例えば、よそ見運転の検出、運転者の眠気の検出、運転者のサイドミラーやルームミラーの安全確認動作の確認、商品の興味の度合いの調査、アミューズメント装置等に利用されるコンピュータへのデータ入力、乳幼児の自閉症診断等の診断用装置などに視線検出装置1を利用することができる。特に、本実施形態に係る視線検出装置1は、公共の場所に設置されたデジタルサイネージ等の対象物に対する対象者の視線方向を検出する装置、商品の陳列棚においてどの商品を見ているかを検出する装置等、対象者と装置との間の距離が変動する状況下での使用に適している。ただし、このような状況下での使用に限定されるものではない。
【0018】
図1に模式的に示すように、視線検出装置1は、ステレオカメラとして機能する一対の広視野カメラ10と、対象者の頭部の3次元位置を検出する対象者検出装置20と、対象者の眼を撮像する2台の狭視野カメラ30と、画像処理装置40とを備える。以下では、必要に応じて、一対の広視野カメラ10を、対象者の左側にあるカメラ10
Lと、対象者の右側にあるカメラ10
Rとに区別する。同様に、必要に応じて、2台の狭視野カメラ30を対象者の左側にあるカメラ30
Lと、対象者の右側にあるカメラ30
Rとに区別する。本実施形態では、視線検出装置1は、対象者が見る対象であるディスプレイ装置50をさらに備えるが、視線検出装置1の利用目的は上記のように限定されないので、対象者の視線の先にある物はディスプレイ装置50に限定されず、例えば自動車のフロントガラス等でもあり得る。したがって、ディスプレイ装置50は視線検出装置1における必須の要素ではない。それぞれの広視野カメラ10、それぞれの狭視野カメラ30、及び対象者検出装置20は、画像処理装置40と無線または有線により接続され、互いに各種のデータまたは命令を送受信可能とされる。各広視野カメラ10、及び各狭視野カメラ30に対しては予めカメラ較正が行われる。
【0019】
対象者検出装置20は、TOF(Time of flight)カメラと、演算部とを内蔵し、TOFカメラによって取得された距離画像から対象者の頭部らしき物体を認識し、その認識結果を基に頭部の3次元座標を所定の周期で出力する装置である。対象者検出装置20は、赤外線プロジェクターと赤外線カメラとを内蔵し、赤外線カメラで取得された画像上における赤外線プロジェクターによって照射された赤外線のパターンの歪みを検出し、その歪みを基に距離を認識することで距離画像を取得する装置であってもよい。この対象者検出装置20は、狭視野カメラ30の姿勢を対象者の頭部の3次元位置に合わせて制御するために設けられる。
【0020】
広視野カメラ10は対象者の眼を含む周辺を広視野角で撮影する撮像装置であり、対象者の眼の3次元位置を検出するための3次元位置検出手段として用いられる。広視野カメラ10には、固定焦点レンズが内蔵され、その視野角が、例えば、対象者の上半身が含まれるような角度に予め設定される。一対の広視野カメラ10は、ディスプレイ装置50の上部に水平方向に沿って所定の間隔をおいて配される。例えば、一対の広視野カメラ10は、それらの水平方向の間隔が430.0mmに設定される。個々の広視野カメラ10に対しては予めカメラ較正が行われる。
【0021】
本実施形態では、広視野カメラ10は、インターレーススキャン方式の一つであるNTSC方式のカメラである。NTSC方式では、1秒間に30枚得られる1フレームの画像データは、奇数番目の水平画素ラインで構成される奇数フィールドと、偶数番目の水平画素ラインで構成される偶数フィールドから構成され、奇数フィールドの画像と偶数フィールドの画像とが1/60秒の間隔で交互に撮影されることで生成される。したがって、一つのフレームは、一対の奇数フィールドおよび偶数フィールドに相当する。広視野カメラ10は、画像処理装置40からの命令に応じて対象者を撮像し、画像データを画像処理装置40に出力する。
【0022】
この広視野カメラ10は、レンズが収容された開口部12の外側に取り付けられた光源13を含んでいる。光源13は、対象者の眼に向けて照明光を照射するための機器であり、複数の発光素子13aと複数の発光素子13bとから成る。発光素子13aは、出力光の中心波長が850nmの半導体発光素子(LED)であり、開口部12の縁に沿って等間隔でリング状に配される。発光素子13bは、出力光の中心波長が940nmの半導体発光素子であり、発光素子13aの外側に等間隔でリング状に配される。したがって、広視野カメラ10の光軸から発光素子13bまでの距離は、該光軸から発光素子13aまでの距離よりも大きい。それぞれの発光素子13a,13bは、広視野カメラ10の光軸に沿って照明光を出射するように設けられる。なお、光源13の配置は
図1に示す構成に限定されず、カメラをピンホールモデルとみなすことができれば他の配置であってもよい。光源13は、画像処理装置40からの命令に応じたタイミングで照明光を出射する。
【0023】
狭視野カメラ30は、対象者の眼を含む周辺を狭視野角で撮影する撮像装置であり、対象者の眼に含まれる瞳孔中心の位置と、対象者の眼において後述する光源33によって生じる角膜反射の位置を検出するために設けられる。この狭視野カメラ30には、電動ズームレンズが内蔵され、外部からの制御によりズーム値(画像の拡大率)を調整するズーム調整機能と、自動で電動ズームレンズの焦点距離を対象者に焦点が合うように調整するオートフォーカス機能とを有している。狭視野カメラ30のズーム調整機能により設定可能な視野角の範囲は、例えば、対象者の顔全体が含まれるような角度を含むように設定される。2台の狭視野カメラ30は、ディスプレイ装置50の下部に水平方向に沿って所定の間隔をおいて配される。例えば、2台の狭視野カメラ30は、それらの水平方向の間隔が954.0mmに設定される。個々の狭視野カメラ30に対しては予めカメラ較正が行われる。
【0024】
本実施形態では、狭視野カメラ30は、広視野カメラ10と同様に、インターレーススキャン方式の一つであるNTSC方式のカメラである。狭視野カメラ30は、画像処理装置40からの命令に応じて対象者を撮像し、画像データを画像処理装置40に出力する。
【0025】
また、この狭視野カメラ30のそれぞれには、外部からの制御により狭視野カメラ30の姿勢を調整するパンチルト機構31が取り付けられている。パンチルト機構31は、狭視野カメラ30の光軸を水平方向及び垂直方向のそれぞれに振るように狭視野カメラ30を回転駆動する。
【0026】
さらに、狭視野カメラ30は、レンズが収容された開口部32の外側に取り付けられた光源33を含んでいる。光源33は、対象者の眼に向けて照明光を照射するための機器であり、複数の発光素子33aと複数の発光素子33bとから成る。発光素子33aは、出力光の中心波長が810nmの半導体発光素子(LED)であり、開口部32の縁に沿って等間隔でリング状に配される。発光素子33bは、出力光の中心波長が810nmの半導体発光素子であり、狭視野カメラ30の開口部32の上部に発光素子33aから離れて配される。この複数の発光素子33bは等間隔でリング状に配置される。
【0027】
したがって、狭視野カメラ30の光軸から発光素子33bまでの距離は、該光軸から発光素子33aまでの距離よりも大きい。それぞれの発光素子33a,33bは、狭視野カメラ30の光軸に沿って照明光を出射するように設けられる。また、2つの光源33は、それぞれ、狭視野カメラ30
L,30
Rの開口部32の近傍の互いに離れた(異なる)位置に配置されているので、狭視野カメラ30
Lの発光素子33aの中心と狭視野カメラ30
Rの発光素子33aの中心とを結ぶ線は両方の狭視野カメラ30
L,30
Rの開口部32の近傍を水平方向に通過することになる。同様に、狭視野カメラ30
Lの発光素子33bの中心と狭視野カメラ30
Rの発光素子33bの中心とを結ぶ線は両方の狭視野カメラ30
L,30
Rの開口部32の近傍を水平方向に通過することになる。
【0028】
なお、光源33の配置は
図1に示す構成に限定されず、カメラをピンホールモデルとみなすことができれば他の配置であってもよい。例えば、光源33の配置は光源13と同様であってもよい。光源33は、画像処理装置40からの命令に応じたタイミングで照明光を出射する。
【0029】
画像処理装置40は、広視野カメラ10、狭視野カメラ30、及び対象者検出装置20の制御と、対象者の視線方向の検出とを実行するコンピュータである。画像処理装置40は、据置型または携帯型のパーソナルコンピュータ(PC)により構築されてもよいし、ワークステーションにより構築されてもよいし、他の種類のコンピュータにより構築されてもよい。あるいは、画像処理装置40は複数台の任意の種類のコンピュータを組み合わせて構築されてもよい。複数台のコンピュータを用いる場合には、これらのコンピュータはインターネットやイントラネットなどの通信ネットワークを介して接続される。
【0030】
画像処理装置40の一般的なハードウェア構成を
図2に示す。画像処理装置40は、オペレーティングシステムやアプリケーション・プログラムなどを実行するCPU(プロセッサ)101と、ROMおよびRAMで構成される主記憶部102と、ハードディスクやフラッシュメモリなどで構成される補助記憶部103と、ネットワークカードあるいは無線通信モジュールで構成される通信制御部104と、キーボードやマウスなどの入力装置105と、ディスプレイやプリンタなどの出力装置106とを備える。
【0031】
後述する画像処理装置40の各機能要素は、CPU101または主記憶部102の上に所定のソフトウェアを読み込ませ、CPU101の制御の下で通信制御部104や入力装置105、出力装置106などを動作させ、主記憶部102または補助記憶部103におけるデータの読み出しおよび書き込みを行うことで実現される。処理に必要なデータやデータベースは主記憶部102または補助記憶部103内に格納される。
【0032】
図3に示すように、画像処理装置40は機能的構成要素としてカメラ/光源制御部41、瞳孔座標算出部(3次元位置検出手段)42、瞳孔/角膜反射座標算出部43、拡大率算出部44、及び注視点算出部45を備える。これらの瞳孔/角膜反射座標算出部43、拡大率算出部44、及び注視点算出部45は、対象者の視線の方向を算出する視線算出手段として機能する。
【0033】
カメラ/光源制御部41は、広視野カメラ10及び狭視野カメラ30の撮影タイミングと、光源13及び光源33の点灯タイミングを制御する。また、カメラ/光源制御部41は、対象者検出装置20から出力された対象者の頭部の3次元座標を基に、2台の狭視野カメラ30の姿勢、及び2台の狭視野カメラ30のズーム値を調整するように制御する。具体的には、カメラ/光源制御部41は、2台の狭視野カメラ30の光軸が対象者の頭部を向くようにパンチルト機構31を駆動制御するとともに、狭視野カメラ30から対象者の頭部までの距離に応じて対象者の頭部全体が視野に入るようにズーム値を調整する。瞳孔座標算出部42は、一対の広視野カメラ10から取得された画像データを処理することで対象者の瞳孔中心の3次元座標を算出する。瞳孔/角膜反射座標算出部43は、狭視野カメラ30から取得された画像データを処理することにより、対象者の瞳孔中心の画像上の座標と、光源33によって生じる角膜反射の画像上の座標とを算出する。拡大率算出部44は、瞳孔/角膜反射座標算出部43によって算出された画像上の座標と、瞳孔座標算出部42によって算出された瞳孔中心の3次元座標とを基に、狭視野カメラ30における画像の拡大率を算出する。注視点算出部45は、瞳孔/角膜反射座標算出部43によって算出された画像上の座標と、拡大率算出部44によって算出された拡大率とを用いて視線ベクトルを計算し、その視線ベクトルに基づいて対象者の視線方向を検出する。視線とは、対象者の瞳孔中心と該対象者の注視点(対象者が見ている点)とを結ぶ線である。なお、「視線」という用語は、起点、終点、および方向の意味(概念)を含む。また、「視線ベクトル」とは、対象者の視線の方向をベクトルで表したもので、「視線方向」を表す一形態である。画像処理装置40の検出結果の視線方向の出力先は何ら限定されない。例えば、画像処理装置40は判定結果を画像、図形、またはテキストでモニタに表示してもよいし、メモリやデータベースなどの記憶装置に格納してもよいし、通信ネットワーク経由で他のコンピュータシステムに送信してもよい。
【0034】
[視線検出方法]
次に、
図4〜7を用いて、視線検出装置1の動作について説明するとともに、本実施形態に係る視線検出方法について説明する。
【0035】
(処理の概要)
視線検出方法の概要を
図4に示す。視線検出装置1による視線検出処理は外部からのユーザの指示入力に応じて開始され、まず、対象者検出装置20によって対象者の頭部の3次元座標が取得され、その3次元座標が画像処理装置40に出力される(ステップS01)。そして、画像処理装置40のカメラ/光源制御部41によって、狭視野カメラ30の姿勢及びズーム値が調整されるとともに、狭視野カメラ30のオートフォーカス機能が起動される。それと同時に、カメラ/光源制御部41によって、広視野カメラ10及び狭視野カメラ30の撮影タイミングと、光源13及び光源33の点灯タイミングとが制御される(ステップS02)。その後、画像処理装置40の瞳孔座標算出部42により、一対の広視野カメラ10から出力された画像データを基に、対象者の瞳孔中心の3次元座標が検出される(ステップS03)。次に、画像処理装置40の瞳孔/角膜反射座標算出部43により、狭視野カメラ30から出力された画像データを対象に、瞳孔中心の画像上の座標が検出される(ステップS04)。それとともに、瞳孔/角膜反射座標算出部43により、狭視野カメラ30から出力された画像データを対象に、2つの光源33による2つの角膜反射の画像上の座標が検出される(ステップS05)。その後、画像処理装置40の拡大率算出部44により、対象者の瞳孔中心の3次元座標と、2つの角膜反射の画像上の座標とを基に、狭視野カメラ30による画像の拡大率が算出される(ステップS06)。さらに、画像処理装置40の注視点算出部45によって、算出された拡大率と、瞳孔中心の画像上の座標と、2つの角膜反射のうちの少なくとも1つの角膜反射の画像上の座標とを基に、対象者の視線ベクトルが算出され、その視線ベクトルを基に対象者のディスプレイ装置50の表示画面上の注視点が検出および出力される(ステップS07)。
【0036】
上記のステップS01〜S02の処理は、所定の周期で繰り返し実行され、ステップS03〜S07の処理は、1フレーム毎に繰り返し実行される。そして、上記のステップS01〜S07の処理は、外部から処理終了の指示入力が受け付けられるまで、繰り返し実行される(ステップS08)。
【0037】
以下、視線検出処理について詳細に説明する。
【0038】
(瞳孔像の取得)
眼に入った光は網膜で乱反射し、反射光のうち瞳孔を通り抜けた光は強い指向性をもって光源へ戻る性質がある。カメラの開口部近くにある光源が発光した時にカメラを露光させると、網膜で反射した光の一部がその開口部に入るため、瞳孔が瞳孔周辺よりも明るく写った画像を取得することができる。この画像が明瞳孔画像である。これに対して、カメラの開口部から離れた位置にある光源が発光した時にカメラを露光させると、眼から戻ってきた光はカメラの開口部にほとんど戻らないため、瞳孔が暗く写った画像を取得することができる。この画像が暗瞳孔画像である。また、透過率が高い波長の光を眼に照射すると、網膜での光の反射が多くなるので瞳孔が明るく写り、透過率が低い波長の光を眼に照射すると、網膜での光の反射が少なくなるので瞳孔が暗く写る。
【0039】
本実施形態では、カメラ/光源制御部41は、広視野カメラ10の奇数フィールドに合わせて発光素子13aを点灯させて明瞳孔画像を撮影し、広視野カメラ10の偶数フィールドに合わせて発光素子13bを点灯させて暗瞳孔画像を撮影する。さらに、カメラ/光源制御部41は2つの広視野カメラ10の間で作動タイミングをわずかにずらし、個々の広視野カメラ10の露光時間はそのずらし時間以下に設定される。カメラ/光源制御部41は、各広視野カメラ10の露光時間中に、対応する発光素子13aおよび発光素子13bを交互に発光させることで、一方の広視野カメラ10の光源13からの光が他方の広視野カメラ10の画像に影響を与えないようにする(クロストークが起こらないようにする)。
【0040】
同様に、カメラ/光源制御部41は、狭視野カメラ30の奇数フィールドに合わせてその狭視野カメラ30に取り付けられた発光素子33aを点灯させて明瞳孔画像を撮影し、狭視野カメラ30の偶数フィールドに合わせてその狭視野カメラ30に取り付けられた発光素子33bを点灯させて暗瞳孔画像を撮影する。さらに、カメラ/光源制御部41は、2つの狭視野カメラ30の間で作動タイミングを同期させるとともに、2つの狭視野カメラ30の露光時間中に、対応する発光素子33aおよび発光素子33bを交互に発光させる。すなわち、2つの狭視野カメラ30に取り付けられた2つの発光素子33aは、発光が同期するように制御され、2つの狭視野カメラ30に取り付けられた2つの発光素子33bは、発光が同期するように制御される。このとき、2つの狭視野カメラ30による明瞳孔画像の露光タイミングは、2台の広視野カメラ10の明瞳孔画像の露光タイミングからわずかにずらされ、2つの狭視野カメラ30による暗瞳孔画像の露光タイミングは、2台の広視野カメラ10の暗瞳孔画像の露光タイミングからわずかにずらされる。これにより、広視野カメラ10の光源13からの光が狭視野カメラ30の画像に影響を与えないようにする(クロストークが起こらないようにする)。
【0041】
図5は、カメラ/光源制御部41によって制御された各カメラの露光タイミング及び各光源の点灯タイミングを示すタイミングチャートである。
図5において、(a)は、広視野カメラ10
Lの露光タイミング、(b)は、広視野カメラ10
Lの発光素子13aの点灯タイミング、(c)は、広視野カメラ10
Lの発光素子13bの点灯タイミング、(d)は、広視野カメラ10
Rの露光タイミング、(e)は、広視野カメラ10
Rの発光素子13aの点灯タイミング、(f)は、広視野カメラ10
Rの発光素子13bの点灯タイミング、(g)は、2台の狭視野カメラ30の露光タイミング、(h)は、2台の狭視野カメラ30の発光素子33aの点灯タイミング、(i)は、2台の狭視野カメラ30の発光素子33bの点灯タイミングをそれぞれ示している。
【0042】
(瞳孔の3次元座標の検出)
瞳孔座標算出部42は、一対の広視野カメラ10から、上記の一連の制御により得られる明瞳孔画像および暗瞳孔画像を取得する。得られる画像データは、奇数フィールド又は偶数フィールドのみに有効画素を有しているため、瞳孔座標算出部42は、隣接する有効画素の画素ラインの輝度平均をそのライン間の画素値に埋め込むことによって、明瞳孔画像または暗瞳孔画像を生成する。
【0043】
続いて、瞳孔座標算出部42は、1フレーム内の明瞳孔画像と暗瞳孔画像とから差分画像を生成する。次に、瞳孔座標算出部42は差分画像から瞳孔中心位置を特定する。具体的には、瞳孔座標算出部42は、前フレームと輝度が大きく変化しないことを利用して、前フレームで検出された瞳孔の輝度平均を利用して、その平均輝度の半分の値を閾値として差分画像を2値化し、ラベリングを行う。続いて、瞳孔座標算出部42は、瞳孔らしい面積、サイズ、面積比、正方形度、および瞳孔特徴量等の形状パラメータに基づいて、ラベルづけされた画素の連結成分の中から瞳孔を選択し、瞳孔中心の座標(位置)を算出する。
【0044】
続いて、瞳孔座標算出部42は瞳孔中心の3次元座標を求める。具体的には、瞳孔座標算出部42はステレオ法を用いて、2つの広視野カメラ10から取得した明瞳孔画像及び暗瞳孔画像を用いて算出した2つの瞳孔中心の座標から瞳孔中心の3次元位置を計算する。ステレオ法とは、カメラのレンズの焦点距離、画像中心、画素サイズなどの内部パラメータと、カメラの位置や姿勢等の外部パラメータとを予め計測しておき、複数台のステレオカメラで対象物を撮影したときに、画像中の点の座標を基に、内部パラメータおよび外部パラメータを用いてその点の空間上の位置を決定する方法である。具体的には、瞳孔座標算出部42は、2台の広視野カメラ10からの画像データを基に検出した画像座標系における瞳孔中心の座標と、3次元空間内の世界座標系における瞳孔中心の座標との関係式を、キャリブレーションデータを参照しながら取得する。次に、瞳孔座標算出部42は、関係式から世界座標系における対象者の瞳孔中心の3次元座標を求める。
【0045】
(角膜反射の位置の検出)
瞳孔/角膜反射座標算出部43は、広視野カメラ10からの画像データの取得と同様にして、狭視野カメラ30から1フレーム毎に明瞳孔画像及び暗瞳孔画像を取得する。瞳孔/角膜反射座標算出部43は、入力された明瞳孔画像および暗瞳孔画像のそれぞれから、2つの光源33によって生じる2つの角膜反射を検出する。明瞳孔画像からは2つの発光素子33aによって生じる2つの角膜反射を検出し、暗瞳孔画像からは2つの発光素子33bによって生じる2つの角膜反射を検出する。具体的には、瞳孔/角膜反射座標算出部43は、1枚の画像に対してPタイル法による2値化とラベリングとを行い、形状や輝度平均などの情報に基づいてその画像から2つの角膜反射を選択する。このとき、2つの光源33の配置関係から2つの角膜反射は画像上で水平方向に並ぶと予測されるので、その幾何学的特徴を利用して角膜反射の候補位置から2つの角膜反射の位置を選択する。さらに、瞳孔/角膜反射座標算出部43は、選択された2つの角膜反射のうち、処理対象の画像が取得された狭視野カメラ30に取り付けられた光源33に対応する1つの角膜反射の位置に基づいて明瞳孔画像と暗瞳孔画像との間での角膜反射の移動量を位置補正量として計算する。続いて、瞳孔/角膜反射座標算出部43はそれらの画像間で角膜反射の位置が一致するように、前フィールド(i番目のフィールド)の画像を、次フィールド((i+1)番目のフィールド)の画像に位置補正量だけずらした上で、これら2画像から差分画像を生成する。そして、瞳孔/角膜反射座標算出部43は一致させた画像上の2つの角膜反射の座標(位置)を取得する。
【0046】
このような処理により、瞳孔/角膜反射座標算出部43は明瞳孔画像と暗瞳孔画像との差分画像から、2つの角膜反射の画像座標系における座標(画像上の座標)を得る。さらに、瞳孔/角膜反射座標算出部43は、瞳孔座標算出部42の上述した処理と同様にして、狭視野カメラ30から得られた1フレーム毎の明瞳孔画像と暗瞳孔画像との差分画像を基に、瞳孔中心の画像上の座標を算出する。
【0047】
(画像の拡大率の算出)
続いて、拡大率算出部44は、瞳孔/角膜反射座標算出部43によって算出された瞳孔中心の画像上の座標及び2つの角膜反射の画像上の座標を基に、狭視野カメラ30の画像の拡大率を算出する。
図6は、拡大率算出部44による拡大率の算出原理を説明するための概念図である。このような拡大率の算出は、狭視野カメラ30
Lから取得された画像データを基にした差分画像G
L1上の瞳孔中心C
Pの座標及び2つの角膜反射G
1,G
2の座標と、瞳孔座標算出部42によって算出された瞳孔中心の3次元座標とを用いて実行される一方で、狭視野カメラ30
Rから取得された画像データを基にした差分画像G
R1上の瞳孔中心C
Pの座標及び2つの角膜反射G
1,G
2の座標と、瞳孔座標算出部42によって算出された瞳孔中心の3次元座標とを用いても実行される。以下では、差分画像G
L1を用いた処理方法のみ説明する。
【0048】
まず、拡大率算出部44は、瞳孔中心の3次元座標から対象者の角膜球中心の3次元座標Cを推定し、既知である2つの光源13の3次元座標N
1,N
2を特定する。例えば、角膜球中心の3次元座標Cを瞳孔中心の3次元座標に近似し、2つの光源13の3次元座標N
1,N
2を補助記憶部103(
図2)等から読み出す。ここで、対象者の眼球EB及び角膜球CBが2つの狭視野カメラ30から等距離に位置していると仮定し、||CN
1||が||CN
2||に等しいとすると、対称性から明らかなように、角膜球CB上の一方の角膜反射R
2は∠N
1CN
2の2等分線上に存在することが分かる。以下の説明では、||Z||は、ベクトルZの大きさを示すものとする。
【0049】
そのような幾何学的性質を利用すべく、拡大率算出部44は、上記2等分線の方向の単位ベクトルnを下記式(1);
【数1】
により計算する。さらに、拡大率算出部44は、角膜球CB上の一方の角膜反射R
2の3次元座標を示す位置ベクトルを下記式(2);
【数2】
により計算する。ここで、dは角膜球CBの半径であり既知の値として与えられる。例えば、標準的な角膜球CBの半径としてd=7.7mmが設定される。
【0050】
一方、角膜球CB上の他方の角膜反射R
1は3次元座標N
1の位置に配置された光源13によるものであり、角膜球中心C、角膜反射R
1、及び3次元座標N
1は同一直線上に存在する。よって、拡大率算出部44は、下記式(3);
【数3】
により、他方の角膜反射R
1の3次元座標を示す位置ベクトルを計算することができる。そして、拡大率算出部44は、2つの角膜反射の位置ベクトルR
1,R
2を基に、下記式(4);
【数4】
を用いて、2つの角膜反射R
1,R
2の3次元座標間の距離(実寸距離)を算出する。
【0051】
次に、拡大率算出部44は、差分画像G
L1上の2つの角膜反射G
1,G
2の座標を基に、2つの角膜反射G
1,G
2の間の画像上距離||G
1G
2||を算出する。そして、拡大率算出部44は、算出した実寸距離と、算出した画像上距離との比を計算することにより、下記式(5);
e=||R
2−R
1||/||G
1G
2|| (5)
により、狭視野カメラ30による画像の拡大率eを算出する。なお、予め角膜球半径dの値を7.7mmと与えたが、上記式(5)から分かるように、上記式(4)中のd(角膜球半径)の誤差はeで補償されるため,結果的にdは任意の正の値に設定されていても良いことになる。
【0052】
(視線方向の検出)
注視点算出部45は、瞳孔/角膜反射座標算出部43によって算出された瞳孔中心の画像上の座標及び2つの角膜反射のうちの少なくとも1つの角膜反射の画像上の座標と、拡大率算出部44によって算出された拡大率eとを基に、対象者の視線方向を検出する。一例として、注視点算出部45は、瞳孔中心の画像上の座標、及び2つの角膜反射のうち処理対象の画像データが取得された狭視野カメラ30に取り付けられた光源33に対応する角膜反射の画像上の座標を用いて、視線方向を検出する。他の例として、注視点算出部45は、瞳孔中心の画像上の座標、及び2つの角膜反射の画像上の座標を用いて、視線方向を検出することもできる。
図7は、注視点算出部45による1つの角膜反射を用いた視線方向の検出原理を説明するための概念図である。このような視線方向の算出は、狭視野カメラ30
Lから取得された画像データを基にした差分画像を対象に実行される一方で、狭視野カメラ30
Rから取得された画像データを基にした差分画像を対象にも実行される。
図7に示すように、瞳孔中心の3次元位置Pに基づいて、狭視野カメラ30の開口部32の中心を原点Oとし、その原点Oと瞳孔中心Pを結ぶ基準線OPを法線とする仮想視点平面X’−Y’を考える。ここで、X’軸は、世界座標系のX
W−Z
W平面と仮想視点平面との交線に相当する。
【0053】
詳細には、注視点算出部45は、画像面S
Gにおける角膜反射Gから瞳孔中心Pまでの角膜反射−瞳孔ベクトルr
Gを算出する。このとき、2つの角膜反射G
1,G
2のうちから処理対象の狭視野カメラ30に取り付けられている光源33によるものを選択し、選択した角膜反射の画像上の位置を角膜反射Gの位置とする。そして、注視点算出部45は、その角膜反射−瞳孔ベクトルr
Gに、拡大率算出部44によって算出された拡大率eを乗ずることにより、カメラの画像拡大率に対応して実寸に換算された角膜反射−瞳孔ベクトルrに変換する。このとき、各狭視野カメラ30をピンホールモデルと考え、角膜反射Gと瞳孔中心Pとが、仮想視点平面X’−Y’と平行な平面上にあると仮定する。つまり、注視点算出部45は、仮想視点平面X’−Y’と平行であって瞳孔中心Pの3次元座標を含む平面上において、瞳孔中心Pと角膜反射点Gの相対座標を角膜反射−瞳孔ベクトルrとして算出し、この角膜反射−瞳孔ベクトルrは角膜反射点Gから瞳孔中心Pまでの実距離を表す。
【0054】
続いて、注視点算出部45は、対象者Aの仮想視点平面上の注視点Tに関して、直線OTの水平軸X’に対する傾きφが、角膜反射−瞳孔ベクトルrの画像面上の水平軸X
Gに対する傾きφ’と等しいと仮定する。さらに、注視点算出部45は、対象者Aの視線ベクトル、すなわち、瞳孔中心Pと注視点Tとを結ぶベクトルPTと、基準線OPとの成す角θを、ゲイン値kを含むパラメータを使った下記式(6)により計算する。
θ=f
1(r)=k×|r−r
0| (6)
【0055】
このような角度φ,θの計算は、瞳孔中心Pの存在する平面上の角膜反射−瞳孔ベクトルrを仮想視点平面上で拡大したものがそのまま対象者Aの注視点に対応するとみなすことにより行われる。より詳しくは、対象者Aの視線PTの基準線OPに対する角度θは、瞳孔中心と角膜反射の距離|r−r
0|との間で線形関係を有すると仮定する。ここで、r
0は、予め設定された原点補正ベクトルである。一般に人の視軸(瞳孔中心および中心窩を通る軸)と光軸(角膜からレンズの中心へと延びる法線)とはずれかあり、カメラを注視した際にも角膜反射と瞳孔中心とは一致しない。原点補正ベクトルr
0は、角膜反射−瞳孔ベクトルrにおけるそのようなずれを補正するために用いられる。
【0056】
角度θと距離|r−r
0|とは線形近似できるという仮定、および二つの傾きφ,φ’が等しいという仮定を利用することで、(θ,φ)と(|r−r
0|,φ’)とを1対1に対応させることができる。さらに、注視点算出部45は、狭視野カメラ30の開口部32の中心に設定された原点Oと、仮想視点平面上の注視点Tとを結ぶベクトルOTを角度φ,θを用いて計算する。最後に、注視点算出部45は視線ベクトルPTと視対象平面(ディスプレイ装置50の表示面)との交点である注視点Qを次式(7)で求める。
Q=αPT+P (7)
【0057】
以上説明した視線検出装置1、及びそれを用いた視線検出方法によれば、狭視野カメラ30によって撮像された対象者の眼の画像を基に、2つの光源33による2つの角膜反射の画像上の座標が検出され、それらの画像上の座標と、別途検出された対象者の瞳孔中心の3次元座標とを基に、狭視野カメラ30による画像の拡大率eが算出される。そして、算出した拡大率eと、対象者の瞳孔中心の画像上の座標と、2つの角膜反射のうちの少なくとも1つの角膜反射の画像上の座標とを基に対象者の視線の方向が算出される。これにより、狭視野カメラ30によって画像が取得された際の画像の拡大率を正確に計算することができ、その画像と拡大率を用いることで精度よく対象者の視線の方向を算出することができる。その結果、ズーム機能を備えたカメラを用いた際に視線方向を精度よく検出することができる。
【0058】
ズーム調整機能及びオートフォーカス機能を備えたカメラを用いて視線方向を検出する場合には、ズーム調整機能及びオートフォーカス機能を制御する2つの制御電圧とズームレンズの拡大率との関係を予め測定しておく方法もある。そして、2つの制御電圧をモニタして予め測定した関係を用いることでズームレンズの拡大率を測定することもできる。しかし、この方法を用いた場合は、画像取得時刻と制御電圧の測定タイミングとの間に時間的ずれが生じ、その結果、測定した拡大率に誤差が生じる。また、2つの機能は別々に動作しているため、2つの制御電圧によって測定したズームレンズの拡大率は実際とは異なり誤差を生じる場合がある。さらに、仮にズーム調整機能の制御電圧の時間的ずれを無くすことができても、オートフォーカス機能の制御電圧の時間的ずれがあれば、正確な拡大率を測定することはできない。その結果、注視点検出の精度が低下してしまう傾向にある。これに対して、本実施形態では、注視点の検出処理の対象となる画像を取得したタイミングでの画像の拡大率を正確に算出することができるので、高精度の注視点検出を実現することができる。
【0059】
ここで、本実施形態では、画像処理装置40は、2つの角膜反射の座標の間の画像上距離と、2つの光源33の位置と対象者の瞳孔中心の3次元座標とから計算される実寸距離との比を計算することにより、狭視野カメラ30による画像の拡大率を算出する。このようにすることで、狭視野カメラ30によって画像が取得された際の画像の拡大率を正確に計算することができる。
【0060】
また、本実施形態では、2つの光源33は、2つの光源33を結ぶ線が狭視野カメラ30を通るように配置されているので、2つの角膜反射の画像上の座標と対象者の瞳孔中心の3次元座標とを用いた拡大率の計算が単純化される。その結果、算出される画像の拡大率の正確性を向上させることができる。
【0061】
次に、本実施形態の視線検出装置1による注視点の検出結果を比較例と比較しつつ示す。
図8は、複数のフレーム毎に連続して検出された注視点のX軸方向(水平方向)の座標の検出値を示しており、本実施形態による検出値と、拡大率の検出のために制御電圧を用いた比較例による検出値とを示している。
図8(a)には、被験者Aを対象にした検出値を示し、
図8(b)には、被験者Bを対象にした検出値を示している。また、
図9には、被験者A,Bを対象にして9点を注視させた際の、注視点のX軸方向(水平方向)座標の標準偏差の平均と、注視点のY軸方向(垂直方向)座標の標準偏差の平均とを、本実施形態及び比較例に関して示している。
【0062】
これらの検出結果に示すように、被験者Aの検出値は、比較例では注視点座標が中期的に大きく振動しているのに対して、本実施形態では注視点座標の振動が小さく抑えられている。被験者Bの検出値に関しては、本実施形態と比較例との間で振動状態に大きな差は無かったが、本実施形態における検出値がより安定して一定の座標を示していることが分かった。また、本実施形態では比較例に比較して検出値の標準偏差が小さく抑えられていることもわかった。
【0063】
カメラの電動ズームレンズが常に動作している場合は、そのカメラから取り込んだ画像は対象者が前後に頭部の移動を繰り返しているように映る。これは、ズームの制御電圧及びフォーカスの制御電圧が理想的な電圧値に対して誤差がある状態で停止したり、理想的な電圧値を超えて停止したりするからである。また、電動ズームレンズのズームの制御電圧及びフォーカスの制御電圧と画像の拡大率との関係が常に適切な関係になっているとは限らず、フォーカスが変わってしまうことで拡大率も変化してしまうことも考えられる。比較例では、画像から得られる拡大率ではなく、制御電圧から誤差のある拡大率を求めてしまうことで、注視点座標の振動及び標準偏差が大きくなったと予想される。これに対して、本実施形態では、画像から得られる情報から拡大率を求めているため、振動及び標準偏差を小さくすることができると考えられる。
【0064】
本発明は、上述した実施形態に限定されるものではない。上記実施形態の構成は様々変更されうる。
【0065】
例えば、視線検出装置1は、対象者検出装置20を除いた構成が採用されてもよい。この場合は、画像処理装置40は、広視野カメラ10によって検出された瞳孔中心の3次元座標から対象者の頭部の3次元座標を求めてもよい。
【0066】
また、視線検出装置1は、広視野カメラ10を除いた構成が採用されてもよい。その場合は、対象者の瞳孔中心の3次元座標を検出するためのステレオカメラとして狭視野カメラ30が代用されてもよい。その場合、カメラの方向を、高速かつ高精度に検出できる角度センサがあればよい。
【0067】
また、視線検出装置1は、狭視野カメラ30を2台備える必要は無く1台のみ備えていてもよい。この場合は、狭視野カメラ30の開口部32近傍に設けられた一方の光源33と、狭視野カメラの開口部32から水平方向に離れて配置された他方の光源33とを備えていれば、狭視野カメラ30による画像の拡大率を算出することができる。この他方の光源33は、2つの発光素子33a,33bのうちいずれかにより構成されていればよい。
【0068】
さらに、視線検出装置1においては、2つの光源33及び狭視野カメラ30が水平方向に並んで配置される構成には限定されず、垂直方向に並んで配置されていてもよいし、斜めに並んで配置されてもよい。この場合も、2つの角膜反射の画像上の座標と対象者の瞳孔中心の3次元座標とを用いた拡大率の計算が単純化される。
図10〜15には、光源の配置の変形例を示している。
【0069】
図10に示す配置例では、光源33が取り付けられた2台のカメラ30の下方の両カメラ30から等距離の位置に補助光源33cが設けられる。このような補助光源33cを光源33と同時に点灯させてカメラ30で画像を取得するように制御する。このようにすることによって、仮に一方のカメラ30の画像において他方のカメラ30に取り付けた光源33の角膜反射が検出できなくても、補助光源33cの角膜反射と一方のカメラ30自体に取り付けた光源33の角膜反射との間の距離を利用することで、画像の拡大率eが算出できる。カメラ30が1台の場合もこのような補助光源33cを利用することで画像の拡大率eが算出できる。特に、正面から対象者の顔を写す場合には、まつげが角膜反射に重なることが多いため、一つの角膜反射が検出できなくても、別の角膜反射が検出できれば、拡大率eを検出できる。従って、このように光源の数を増やすことは有効である。
図10に示すように、光源33を取り付けたカメラ30どうしの距離と、カメラ30と別途設けた補助光源33cとの間の距離は、異なっていてもよい。
【0070】
また、
図11に示すように、光源33を取り付けた2台のカメラ30と同一直線上に、任意の数の補助光源33d,33eを配置してもよい。この場合も、カメラ30に取り付けた光源といずれかの補助光源33d,33eとを同時に点灯させ、その際に撮像された画像上の2つの角膜反射間の距離を利用すればよい。
【0071】
さらに、
図12〜15に示すように2台のカメラ30に対する補助光源33f〜33qの配置は様々な態様を取りうるし、補助光源の個数は様々変更され得る。また、カメラ30の台数も2台以上であってもよい。
【0072】
また、視線検出装置1においては、狭視野カメラ30に取り付けられた光源33は必須ではなく、狭視野カメラ30に離れて配置された2以上の光源を備えていてもよい。
図16及び
図17には、狭視野カメラ30及び光源の配置の変形例を示している。
図16に示すように、2つの光源133a,133bを結ぶ直線上に、具体的には、2つの光源133a,133bの中点の位置に狭視野カメラ30の光軸が通るように配置されている。また、
図17に示すように、光源133c,133dの組、及び光源133e,133fの組が、それらを結ぶ直線が斜めに狭視野カメラ30の光軸を通るように、より具体的にはそれらの中点が狭視野カメラ30の光軸を通るように配置されていてもよい。このような光源133c,133dの組、及び光源133e,133fの組は、それらの組の2つの光源間の距離が異なるように配置されていてもよい。
【0073】
上記の光源の配置例を採用した場合においても、画像処理装置40の拡大率算出部44は、画像の拡大率eを算出することができる。
図18に示すように、狭視野カメラ30の光軸から等距離の位置に2つの光源N
3,N
4が配置されているとする。2つの光源N
3,N
4の組は、
図16の2つの光源133a,133bの組、
図17の光源133c,133dの組、又は光源133e,133fの組に相当する。
【0074】
狭視野カメラ30から見た光源N
3と光源N
4の角膜反射の位置をそれぞれR
3とR
4とすると、角膜反射R
3は狭視野カメラ30と角膜球中心Cを通る直線と光源N
3と角膜球中心Cを通る直線の二等分線上に存在する。同様に、角膜反射R
4は狭視野カメラ30と角膜球中心Cを通る直線と光源N
4と角膜球中心Cを通る直線の二等分線上に存在する。ただし、狭視野カメラ30と対象者との距離がある程度大きく、||CN
3||=||CM||、かつ||CN
4||=||CM||の関係が成立するとする。Mは、狭視野カメラ30の3次元位置である。このとき、それら二等分線の単位方向ベクトルをそれぞれ、n
3及びn
4とすると、角膜反射R
3,R
4は、下記式(8)、(9)
R
3=C+d・n
3 (8)
R
4=C+d・n
4 (9)
と表せる。
【0075】
拡大率算出部44は、式(1)と同様にして、下記式(10)、(11)を用いて単位方向ベクトルn
3,n
4を算出する。
【数5】
【数6】
そして、||CN
3||=||CN
4||とみなすことにより、拡大率算出部44は、下記式(12)を用いて、2つの角膜反射間の距離を算出することができ、この距離を基に画像の拡大率eを計算できる。
【数7】
ここで、狭視野カメラ30が角度的に光源N
3もしくは光源N
4に近いときも同様に計算できる。つまり、狭視野カメラ30の光軸が2つの光源を結ぶ直線上のどこにあったとしても、2つの角膜反射の間の距離は式(12)で与えられることに変わりはない。
【0076】
さらに、
図16及び
図17の光源の配置例を採用した場合にも、画像処理装置40の注視点算出部45は、視線方向を検出することができる。すなわち、光源N
3,N
4による2つの角膜反射の画像上の座標を基に、狭視野カメラ30に取り付けられたと仮定した光源の座標を推定することができる。詳細には、光源N
3,N
4による2つの角膜反射の中点座標を狭視野カメラ30に取り付けられたと仮定した光源の座標として推定することができる。そして、注視点算出部45は、推定した光源の座標を用いて、上述した視線方向の検出方法と同様にして、視線方向を検出することができる。ここでは、瞳孔を暗瞳孔画像から検出する方法が採用された場合に、2つの角膜反射も暗瞳孔画像から検出される。従って、狭視野カメラ30に取り付ける光源が不要になるだけでなく、狭視野カメラ30から離れた位置に光源を配置することで強い暗瞳孔効果が得られ瞳孔が検出しやすくなる。
【0077】
さらに、
図19には、光源の取り付けていない狭視野カメラ30を2台使用する場合の光源の配置の他の変形例を示した。すなわち、2個の光源133g、133hを結ぶ直線上に2台の狭視野カメラ30が配置されている。この場合にも、視線を検出するためには、各狭視野カメラ30毎に得られた画像から、各狭視野カメラ30に光源が取り付けてあると仮定したときのその光源による角膜反射の出現位置を推定して、その位置を利用して視線を検出する。
図19の場合は、対象者から向かって左から、光源133g、狭視野カメラ30
L、狭視野カメラ30
R、光源133hが等間隔に並べられている。例えば、左の狭視野カメラ30
Lは2つの光源133g,133hの間を1:2の比で分割した位置に配置されているため、検出される2つの角膜反射の間を2:1に内分する位置を画像上で求め、その位置を利用して視線検出に利用する。なお、狭視野カメラ30はパンチルト機構31に取り付けられており、その位置が変動する。画像処理装置40の注視点算出部45は、そのことを考慮して、視線を計算する際の狭視野カメラ30の位置を求め、その位置に基づいた内分比を計算することにより、より高い精度で視線方向が得られる。
【0078】
また、
図20には、2つの光源N
3,N
4を結ぶ直線上に狭視野カメラ30の光軸が存在するが、その光軸が2つの光源N
3,N
4の間から外側に位置している場合を図示している。この場合も、
図18の場合と同様に、上記式(12)によって2つの角膜反射間の距離が算出できる。