(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-20
(45)【発行日】2023-11-29
(54)【発明の名称】情報処理装置、情報処理方法、及びプログラム
(51)【国際特許分類】
A61B 3/113 20060101AFI20231121BHJP
【FI】
A61B3/113
(21)【出願番号】P 2020510425
(86)(22)【出願日】2019-02-20
(86)【国際出願番号】 JP2019006216
(87)【国際公開番号】W WO2019187808
(87)【国際公開日】2019-10-03
【審査請求日】2021-12-27
(31)【優先権主張番号】P 2018063486
(32)【優先日】2018-03-29
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】110003339
【氏名又は名称】弁理士法人南青山国際特許事務所
(74)【代理人】
【識別番号】100104215
【氏名又は名称】大森 純一
(74)【代理人】
【識別番号】100196575
【氏名又は名称】高橋 満
(74)【代理人】
【識別番号】100168181
【氏名又は名称】中村 哲平
(74)【代理人】
【識別番号】100117330
【氏名又は名称】折居 章
(74)【代理人】
【識別番号】100160989
【氏名又は名称】関根 正好
(74)【代理人】
【識別番号】100168745
【氏名又は名称】金子 彩子
(74)【代理人】
【識別番号】100176131
【氏名又は名称】金山 慎太郎
(74)【代理人】
【識別番号】100197398
【氏名又は名称】千葉 絢子
(74)【代理人】
【識別番号】100197619
【氏名又は名称】白鹿 智久
(72)【発明者】
【氏名】横山 正幸
(72)【発明者】
【氏名】野田 卓郎
【審査官】増渕 俊仁
(56)【参考文献】
【文献】特開2001-061785(JP,A)
【文献】国際公開第99/005988(WO,A2)
【文献】米国特許出願公開第2006/0210122(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
A61B 3/00-3/18
(57)【特許請求の範囲】
【請求項1】
ユーザの眼情報を取得する取得部と、
前記眼情報に基づいて第1の手法により第1の視線方向を決定し、前記眼情報に基づいて前記第1の手法とは異なる第2の手法により第2の視線方向を決定し、前記第1の視線方向及び前記第2の視線方向の少なくとも1方の信頼度に関する信頼度情報を算出し、算出された前記信頼度情報に基づいて、前記第1の視線方向と前記第2の視線方向とを合成して前記ユーザの視線方向を決定する処理部と
を具備する情報処理装置。
【請求項2】
請求項1に記載の情報処理装置であって、
前記信頼度情報は、前記第1の視線方向と前記第2の視線方向とを合成するための重み係数を含む
情報処理装置。
【請求項3】
請求項2に記載の情報処理装置であって、
前記眼情報は、1以上の照射光を照射して前記ユーザの眼球を撮影した眼球画像を含み、
前記第1の手法は、前記眼球画像から前記1以上の照射光による1以上の輝点を検出し、前記検出された1以上の輝点に基づいて前記第1の視線方向を決定する手法である
情報処理装置。
【請求項4】
請求項3に記載の情報処理装置であって、
前記1以上の照射光は、複数の照射光であり、
前記処理部は、前記眼球画像から前記複数の照射光による複数の輝点のうち互いに所定の配置となる輝点のペアを検出可能である
情報処理装置
。
【請求項5】
請求項4に記載の情報処理装置であって、
前記処理部は、前記眼球の角膜領域を検出し、前記角膜領域内での前記輝点のペアの位置に基づいて前記重み係数を算出する
情報処理装置。
【請求項6】
請求項4に記載の情報処理装置であって、
前記処理部は、前記眼球の瞳孔中心を検出し、前記瞳孔中心に対する前記輝点のペアの距離に基づいて前記重み係数を算出する
情報処理装置。
【請求項7】
請求項4に記載の情報処理装置であって、
前記処理部は、前記輝点の面積を算出し、算出された前記輝点の面積に基づいて前記重み係数を算出する
情報処理装置。
【請求項8】
請求項4に記載の情報処理装置であって、
前記第1の手法は、前記複数の輝点のうち前記輝点のペアに基づいて前記第1の視線方向を決定する手法であり、
前記第2の手法は、前記複数の輝点のうち単一の輝点に基づいて前記第2の視線方向を決定する手法である
情報処理装置。
【請求項9】
請求項1に記載の情報処理装置であって、
前記処理部は、前記信頼度情報に基づいて、前記第1の視線方向を決定するための第1の補正パラメータと、前記第2の視線方向を決定するための第2の補正パラメータとの少なくとも一方を更新する
情報処理装置。
【請求項10】
請求項9に記載の情報処理装置であって、
前記第1の手法は、前記
ユーザの眼球の表面に設定される基準点を基準として前記第1の視線方向を決定する手法であり、
前記処理部は、前記第1の視線方向に基づいて前記第2の補正パラメータを更新する
情報処理装置。
【請求項11】
請求項9に記載の情報処理装置であって、
前記信頼度情報は、前記第1の視線方向の信頼度を含み、
前記処理部は、前記第1の視線方向の信頼度に応じて、前記第2の補正パラメータを更新する
情報処理装置。
【請求項12】
請求項11に記載の情報処理装置であって、
前記眼情報は、1以上の照射光を照射して前記ユーザの眼球を撮影した眼球画像を含み、
前記第1の手法は、前記眼球画像から前記1以上の照射光による1以上の輝点を検出し、前記検出された1以上の輝点に基づいて前記第1の視線方向を決定する手法であり、
前記処理部は、前記眼球画像に基づいて前記第1の視線方向の信頼度を算出する
情報処理装置。
【請求項13】
請求項12に記載の情報処理装置であって、
前記1以上の照射光は、前記
眼球画像における前記眼球を含む眼領域の中心領域及び周辺領域のどちらか一方に照射される
情報処理装置。
【請求項14】
請求項9に記載の情報処理装置であって、
前記眼情報は、1以上の照射光を照射して前記ユーザの眼球を撮影した眼球画像を含み、
前記処理部は、前記眼球画像における前記眼球を含む眼領域での瞳孔の位置に応じて前記第2の補正パラメータを更新する
情報処理装置。
【請求項15】
請求項9に記載の情報処理装置であって、
前記信頼度情報は、前記第1の視線方向と前記第2の視線方向とを合成するための、重み係数を含み、
前記処理部は、前記重み係数に基づいて、前記第2の補正パラメータを補正する
情報処理装置。
【請求項16】
請求項1に記載の情報処理装置であって、
前記眼情報は、前記ユーザの眼球を撮影した眼球画像を含み、
前記第2の手法は、前記眼球画像から前記眼球の所定の特徴部分の位置及び形状の少なくとも一方を検出することで、前記第2の視線方向を決定する手法である
情報処理装置。
【請求項17】
請求項16に記載の情報処理装置であって、
前記所定の特徴部分は、前記眼球の瞳孔、角膜、及び虹彩のいずれか1つを含む
情報処理装置。
【請求項18】
ユーザの眼情報を取得し、
前記眼情報に基づいて第1の手法により第1の視線方向を決定し、前記眼情報に基づいて前記第1の手法とは異なる第2の手法により第2の視線方向を決定し、前記第1の視線方向及び前記第2の視線方向の少なくとも1方の信頼度に関する信頼度情報を算出し、算出された前記信頼度情報に基づいて、前記第1の視線方向と前記第2の視線方向とを合成して前記ユーザの視線方向を決定する
ことをコンピュータシステムが実行する情報処理方法。
【請求項19】
ユーザの眼情報を取得するステップと、
前記眼情報に基づいて第1の手法により第1の視線方向を決定し、前記眼情報に基づいて前記第1の手法とは異なる第2の手法により第2の視線方向を決定し、前記第1の視線方向及び前記第2の視線方向の少なくとも1方の信頼度に関する信頼度情報を算出し、算出された前記信頼度情報に基づいて、前記第1の視線方向と前記第2の視線方向とを合成して前記ユーザの視線方向を決定するステップと
をコンピュータシステムに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は、ユーザの視線方向の検出に適用可能な情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【0002】
従来、ユーザの視線方向を検出する技術が知られている。例えば、ユーザの視線方向を用いることで、ユーザが注視している位置やユーザの状態等を検出することが可能である。
【0003】
特許文献1には、ユーザの視線検出に用いられるアイウェア端末が記載されている。特許文献1では、瞳孔角膜反射法を用いてユーザの視線が検出される。アイウェア端末には、赤外光を発する光源と眼球を撮影する撮像部とが搭載される。光源により眼球に向けて赤外光が照射され、撮像部により赤外光の輝点(プルキニエ像)が映り込んだ眼球の画像が撮影される。この輝点及び瞳孔の位置等に基づいて、ユーザの視線が推定される。(特許文献1の明細書段落[0014][0015][0021][0022][0048]
図2、7等)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
ユーザの視線方向を検出する技術は、アミューズメント、交通、医療、マーケティング等の様々な分野での応用が期待されており、安定した視線検出を実現する技術が求められている。
【0006】
以上のような事情に鑑み、本技術の目的は、安定した視線検出を実現することが可能な情報処理装置、情報処理方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【0007】
上記目的を達成するため、本技術の一形態に係る情報処理装置は、取得部と、処理部とを具備する。
前記取得部は、ユーザの眼情報を取得する。
前記処理部は、前記眼情報に基づいて第1の手法により第1の視線方向を決定し、前記眼情報に基づいて前記第1の手法とは異なる第2の手法により第2の視線方向を決定し、前記第1の視線方向及び前記第2の視線方向の少なくとも1方の信頼度に関する信頼度情報を算出し、算出された前記信頼度情報に基づいて前記ユーザの視線方向を決定する。
【0008】
この情報処理装置では、ユーザの眼情報が取得され、ユーザの眼情報に基づいて、互いに異なる第1の手法及び第2の手法の各々を用いて第1の視線方向及び第2の視線方向がそれぞれ決定される。また第1及び第2の視線方向の少なくとも1方の信頼度に関する信頼度情報が算出され、信頼度情報をもとにユーザの視線方向が決定される。これにより、安定した視線検出を実現することが可能となる。
【0009】
前記処理部は、前記信頼度情報に基づいて、前記第1の視線方向と前記第2の視線方向とを合成して前記ユーザの視線方向を決定してもよい。
異なる手法により決定された視線方向を合成することで、視線方向の検出結果等を安定させることが可能となる。これにより、安定した視線検出を実現することが可能となる。
【0010】
前記信頼度情報は、前記第1の視線方向と前記第2の視線方向とを合成するための重み係数を含んでもよい。
これにより、各視線方向の信頼度等に応じた合成が可能となり、信頼性を向上することが可能である。この結果、信頼性の高い視線検出を安定して行うことが可能となる。
【0011】
前記眼情報は、1以上の照射光を照射して前記ユーザの眼球を撮影した眼球画像を含んでもよい。この場合、前記第1の手法は、前記眼球画像から前記1以上の照射光による1以上の輝点を検出し、前記検出された1以上の輝点に基づいて前記第1の視線方向を決定する手法であってもよい。
これにより、例えば照射光による輝点を基準として視線方向を決定することが可能となり、視線方向の検出精度を向上することが可能となる。
【0012】
前記1以上の照射光は、複数の照射光であってもよい。この場合、前記処理部は、前記眼球画像から前記複数の照射光による複数の輝点のうち互いに所定の配置となる輝点のペアを検出可能であってもよい。
これにより、例えば眼球モデル等を用いて視線方向を検出することが可能となる。この結果、ユーザの視線方向を十分に高い精度で検出することが可能となる。
【0013】
前記処理部は、前記眼球の角膜領域を検出し、前記角膜領域内での前記輝点のペアの位置に基づいて前記重み係数を算出してもよい。
これにより、例えば輝点を用いて検出される視線方向の信頼度を適正に算出することが可能となり、重み係数等を適正に算出することが可能となる。
【0014】
前記処理部は、前記眼球の瞳孔中心を検出し、前記瞳孔中心に対する前記輝点のペアの距離に基づいて前記重み係数を算出してもよい。
これにより、例えば輝点を用いて検出される視線方向の信頼度を精度よく算出することが可能となり、重み係数等を高い精度で算出することが可能となる。
【0015】
前記処理部は、前記輝点の面積を算出し、算出された前記輝点の面積に基づいて前記重み係数を算出してもよい。
これにより、例えば輝点状態に応じて重み係数を算出することが可能となり、視線方向の合成等を高い精度で実行することが可能となる。
【0016】
前記第1の手法は、前記複数の輝点のうち前記輝点のペアに基づいて前記第1の視線方向を決定する手法であってもよい。この場合、前記第2の手法は、前記複数の輝点のうち単一の輝点に基づいて前記第2の視線方向を決定する手法であってもよい。
これにより、例えば輝点のペアが検出されない場合であっても、視線方向を検出可能であり、安定性の高い視線検出を実現することが可能となる。
【0017】
前記処理部は、前記信頼度情報に基づいて、前記第1の視線方向を決定するための第1の補正パラメータと、前記第2の視線方向を決定するための第2の補正パラメータとの少なくとも一方を更新してもよい。
これにより、補正パラメータを最新の状態に維持することが可能となり、安定した視線検出を実現することが可能である。
【0018】
前記第1の手法は、前記眼球の表面に設定される基準点を基準として前記第1の視線方向を決定する手法であってもよい。前記処理部は、前記第1の視線方向に基づいて前記第2の補正パラメータを更新してもよい。
例えば基準点を用いることで、装置の位置ずれ等が起きた場合であっても精度よく視線方向を検出可能である。これにより、他の手法の補正パラメータを適正に補正可能である。
【0019】
前記信頼度情報は、前記第1の視線方向の信頼度を含んでもよい。この場合、前記処理部は、前記第1の視線方向の信頼度に応じて、前記第2の補正パラメータを更新してもよい。
これにより、一方の手法の信頼度を基準として他の手法の補正パラメータを適正に補正すること可能である。
【0020】
前記眼情報は、1以上の照射光を照射して前記ユーザの眼球を撮影した眼球画像を含んでもよい。この場合、前記第1の手法は、前記眼球画像から前記1以上の照射光による1以上の輝点を検出し、前記検出された1以上の輝点に基づいて前記第1の視線方向を決定する手法であってもよい。また前記処理部は、前記眼球画像に基づいて前記第1の視線方向の信頼度を算出してもよい。
これにより、第1の視線方向を精度よく算出することが可能となる。この結果、第2の補正パラメータを精度よく更新することが可能となり、安定した視線検出を実現することが可能となる。
【0021】
前記1以上の照射光は、前記眼領域の中心領域及び周辺領域のどちらか一方に照射されてもよい。
これにより、例えば広い視野範囲にわたってユーザの視線方向を安定して検出することが可能となる。
【0022】
前記処理部は、前記眼球画像における前記眼球を含む眼領域での瞳孔の位置に応じて前記第2の補正パラメータを更新してもよい。
これにより、例えば第1の視線方向が精度よく算出される位置で、第2の補正パラメータを更新するといったことが可能となり、更新処理の精度を向上することが可能となる。
【0023】
前記信頼度情報は、前記第1の視線方向と前記第2の視線方向とを合成するための、重み係数を含んでもよい。この場合、前記処理部は、前記重み係数に基づいて、前記第2の補正パラメータを補正してもよい。
これにより、第2の補正パラメータを精度よく更新することが可能となり、十分に安定した視線検出を実現することが可能となる。
【0024】
前記第2の手法は、前記眼球画像から前記眼球の所定の特徴部分の位置及び形状の少なくとも一方を検出することで、前記第2の視線方向を決定する手法であってもよい。
これにより、例えば広い視野範囲に渡ってユーザの視野方向を検出することが可能となる。この結果、視線方向の検出可能範囲を拡大することが可能となる。
【0025】
前記所定の特徴部分は、前記眼球の瞳孔、角膜、及び虹彩のいずれか1つを含んでもよい。
これにより、視線方向を容易に検出することが可能である
【0026】
本技術の一形態に係る情報処理方法は、コンピュータシステムにより実行される情報処理方法であって、ユーザの眼情報を取得することを含む。
前記眼情報に基づいて第1の手法により第1の視線方向が決定され、前記眼情報に基づいて前記第1の手法とは異なる第2の手法により第2の視線方向が決定され、前記第1の視線方向及び前記第2の視線方向の少なくとも1方の信頼度に関する信頼度情報が算出され、算出された前記信頼度情報に基づいて前記ユーザの視線方向が決定される。
【0027】
本技術の一形態に係るプログラムは、コンピュータシステムに以下のステップを実行さ
せる。
ユーザの眼情報を取得するステップ。
前記眼情報に基づいて第1の手法により第1の視線方向を決定し、前記眼情報に基づいて前記第1の手法とは異なる第2の手法により第2の視線方向を決定し、前記第1の視線方向及び前記第2の視線方向の少なくとも1方の信頼度に関する信頼度情報を算出し、算出された前記信頼度情報に基づいて前記ユーザの視線方向を決定するステップ。
【発明の効果】
【0028】
以上のように、本技術によれば、安定した視線検出を実現することが可能となる。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【0029】
【
図1】本技術の第1の実施形態に係るヘッドマウントディスプレイ(HMD)の外観を示す斜視図である。
【
図3】赤外光が照射されたユーザの眼の状態を説明するための模式図である。
【
図4】赤外カメラにより撮影される画像の一例を示す模式図である。
【
図5】HMDの機能的な構成例を示すブロック図である。
【
図6】角膜領域の検出処理の一例を示す模式図である。
【
図7】赤外光が照射されたユーザの眼球を示す模式図である。
【
図9】キャリブレーション処理の一例を説明するための模式図である。
【
図10】HMDの基本的な動作例を示すフローチャートである。
【
図11】瞳孔角膜反射法を用いた第1の視線ベクトルの算出処理の一例を示す模式図である。
【
図12】合成比率の算出処理の一例を説明するための模式図である。
【
図13】第2の補正パラメータの更新処理について説明するための模式図である。
【
図14】比較例としてあげるユーザの眼球画像の一例を示す模式図である。
【
図15】比較例として挙げる赤外光の照射の一例を示す模式図である。
【
図16】第3及び第4の視線ベクトルを合成する合成比率の算出処理の一例を説明するための模式図である。
【
図17】ユーザの視線方向と特徴部分との関係を説明するための模式図である。
【
図18】他の実施形態に係るHMDの外観を示す斜視図である。
【発明を実施するための形態】
【0030】
以下、本技術に係る実施形態を、図面を参照しながら説明する。
【0031】
<第1の実施形態>
図1は、本技術の第1の実施形態に係るヘッドマウントディスプレイ(HMD)の外観を示す斜視図である。
図2は、HMD100の構成例を示す模式図である。
図2には、HMD100を装着したユーザ1を上方から見た場合の、HMD100の構成例が模式的に図示されている。
【0032】
HMD100は、基体部10と、装着バンド11と、赤外光源12と、赤外カメラ13と、ディスプレイユニット14とを有する。HMD100は、ユーザ1の頭部に装着して使用され、ユーザ1の視界に画像表示を行う表示装置として機能する。
【0033】
基体部10は、ユーザ1の左右の眼2(2L及び2R)の前方に配置される部材である。基体部10は、ユーザ1の視界を覆うように構成され、画像表示を行うためのディスプレイユニット14等を収納する筐体として機能する。
【0034】
装着バンド11は、ユーザ1の頭部に装着される。
図1に示すように、装着バンド11は、側頭バンド11aと、頭頂バンド11bとを有する。側頭バンド11aは、基体部10に接続され、側頭部から後頭部にかけてユーザの頭部を囲むように装着される。頭頂バンド11bは、側頭バンド11aに接続され、側頭部から頭頂部にかけてユーザの頭部を囲むように装着される。これにより、ユーザ1の眼前に基体部10を保持することが可能となる。
【0035】
赤外光源12は、ユーザ1の眼2に向けて赤外光15を照射する。赤外光源12は、ユーザ1の眼2に対向するように基体部10に設けられる。本実施形態では、複数の赤外光源12が用いられる。
図2には基体部10に配置された4つの赤外光源12a~12dが模式的に図示されている。赤外光源12a及び12bは、ユーザ1の右眼2Rに赤外光15を照射し、赤外光源12c及び12dは、ユーザ1の左眼2Lに赤外光15を照射する。本実施形態では、赤外光15は照明光に相当する。
【0036】
本実施形態では、ユーザ1の眼領域の中心領域に赤外光15が照射されるように、各赤外光源12が配置される。本開示において眼領域とは、ユーザ1が眼を開いている場合にユーザ1の眼球が見える領域である。すなわち上下の目蓋の間の黒眼(瞳孔・角膜・虹彩等)や白目(強膜等)見える領域が、眼領域となる。従って例えば、ユーザ1が正面を見ている場合に、黒眼が存在する領域が、眼領域の中心領域となる。
【0037】
赤外光源12としては、赤外線(IR:Infrared)を出射可能なIR-LED(Light Emitting Diode)、IR-LD(Laser Diode)等の発光素子が用いられる。赤外光源12の具体的な構成は限定されず、例えば赤外線を出射可能な任意の光源が赤外光源として用いられてよい。また赤外光源12の数や配置等は、例えば所望の精度で視線検出等が可能となるように適宜設定されてよい。本実施形態では、赤外光15は、照射光に相当する。
【0038】
赤外カメラ13は、対象からの赤外光を検出して対象を撮影するカメラである。赤外カメラ13には、例えば可視光線を吸収し赤外線を透過するフィルタ(IRフィルタ)等が搭載される。これにより、赤外光15が照射された対象からの赤外波長の反射光等が検出される。赤外カメラ13としては、例えばCMOS(Complementary Metal-Oxide Semiconductor)センサやCCD(Charge Coupled Device)センサ等のイメージセンサ等を備えるデジタルカメラが用いられる。
【0039】
本実施形態では、ユーザ1の左眼2L及び右眼2Rを撮影する赤外カメラ13L及び赤外カメラ13Rが用いられる。赤外カメラ13L及び13Rは、ユーザ1の左眼2L及び右眼2Rに向けて、HMD100の所定の位置、具体的には基体部10の所定の位置にそれぞれ設置される。従って、ユーザ1の眼2に対する基体部10の相対的な位置が変化すると、ユーザの眼2に対する赤外カメラ13L及び赤外カメラ13Rの相対的な位置も変化する。なお
図2には、各赤外カメラ13L及び13Rの撮影範囲がそれぞれ模式的に図示されている。
【0040】
図3は、赤外光15が照射されたユーザ1の眼2の状態を説明するための模式図である。
図4は、赤外カメラ13により撮影される画像の一例を示す模式図である。
図3には、ユーザ1が正面を見ている場合のユーザ1の眼2(眼領域3)が模式的に図示されている。眼領域3には、ユーザ1の眼球4が含まれる。中心の黒い円形の領域は瞳孔5であり、その周辺の灰色の円環状の領域は虹彩6である。また瞳孔5及び虹彩6を含む範囲には、透明な角膜7が存在する。
【0041】
なお角膜7が存在する範囲(角膜領域8)は、虹彩6の大きさと略同様の範囲となる。従って、虹彩6と瞳孔5とを含む領域が角膜領域8となる。また例えば、虹彩6の外側の白目(強膜9)の領域ではない領域、すなわち黒眼の領域を角膜領域8と見做すことも可能である。以下では、虹彩6及び瞳孔5上の点を、角膜7上の点(角膜領域8内の点)と記載する場合がある。
【0042】
図3に示すように、赤外光源12から出射された赤外光15は、ユーザ1の眼球4により反射される。このとき、赤外光15の入射点(反射点)では、反射光の強度が高いために、輝点20が生じる。赤外カメラ13を用いることで、この反射光の輝点20(プルキンエ像:Pruikinje Image)を撮影することが可能である。
【0043】
本実施形態では、上記したように、眼領域3の中心付近に向けて赤外光15が照射される。従って、例えばユーザ1が正面を見ている場合、赤外光15は、角膜領域8(
図3に示す例では、瞳孔5上の領域)に照射されることになり、角膜領域8上に輝点20が生じる。なお、ユーザ1の視線が動いた場合には、角膜領域8の外側に輝点20が生じる場合もある。また、HMD100とユーザ1の眼との相対位置がずれた場合にも、輝点20が生じる位置が変化することがあり得る。
【0044】
各赤外カメラ13L及び13Rは、例えば赤外光15が照射された状態でユーザ1の左眼2L及び右眼2Rを撮影する。従って、各赤外カメラ13L及び13Rからは、左右の眼球4が撮影された赤外線画像を構成する画像データがそれぞれ出力される。以下では、赤外カメラ13により撮影される赤外画像を、眼球画像21と記載する。
【0045】
このように、赤外光15が照射された状態で眼球4が撮影された眼球画像21は、輝点20が撮影された画像となる。例えば
図4に示すように、赤外光15が入射した位置では、周辺と比べ輝度の高い輝点20が映り込む。
図4では、2つの赤外光源12により照射された赤外光15による輝点20a及び輝点20bが模式的に図示されている。例えば、複数の赤外光源12が用いられる場合には、赤外光源12の数に応じた輝点20が生じる。なお、ユーザ1の眼2の他の部分で反射されて生じる擬輝点等が生じる場合もある。
【0046】
図2に戻り、ディスプレイユニット14は、レンズ系16と、ディスプレイ17とを有する。レンズ系16は、左眼2Lの前方に配置される左眼用レンズ16Lと、右眼2Rの前方に配置される右眼用レンズ16Rとを有する。左眼2L及び右眼2R各々のレンズ系16の構成は任意であり、1枚のレンズが配置される場合に限定されず、フレネルレンズ等の種々のレンズや光学フィルタ等の任意の光学部材が複数配置されてもよい。
【0047】
ディスプレイ17は、ユーザ1の視界の少なくとも一部を覆うように基体部10に設けられる。本実施形態では、左眼2L用の画像を表示するディスプレイ17Lと右眼2R用の画像を表示するディスプレイ17Rとが用いられる。ディスプレイ17Lは、左眼用レンズ16Lの左眼2とは反対側に配置される。ディスプレイ17Rは、右眼用レンズ16Rの右眼2Rとは反対側に配置される。
【0048】
ディスプレイ17としては、例えば有機ELディスプレイやLCD(Liquid Crystal Display、液晶表示素子)ディスプレイ等が用いられる。ディスプレイ17の具体的な構成は限定されない。例えば1つのディスプレイ17を用いて、左眼2L用の画像と、右眼2R用の画像を表示するといった構成が用いられてもよい。
【0049】
以下では、ユーザ1の左眼2L及び右眼2Rを区別することなく、単にユーザ1の眼と記載して説明を行う場合がある。また、赤外カメラ13L及び赤外カメラ13Rをともに赤外カメラ13と記載し、左眼用レンズ16L及び右眼用レンズ16Rをともにレンズ16と記載し、ディスプレイ17L及びディスプレイ17Rをともにディスプレイ17と記載して説明を行う場合がある。
【0050】
図5は、HMD100の機能的な構成例を示すブロック図である。HMD100は、さらに通信部18と、記憶部19と、コントローラ30とを有する。
【0051】
通信部18は、他のデバイスとの間で、ネットワーク通信や近距離無線通信等を実行するためのモジュールである。例えばWiFi等の無線LANモジュールや、Bluetooth(登録商標)等の通信モジュールが設けられる。
【0052】
記憶部19は、不揮発性の記憶デバイスであり、例えばSSD(Solid State Drive)やHDD(Hard Disk Drive)等が用いられる。記憶部19には、HMD100の全体の動作を制御するための制御プログラムが記憶される。また記憶部19には、補正パラメータが記憶される。補正パラメータは、ユーザ1の視線方向を検出する際に用いられるパラメータである。補正パラメータについては、後に詳しく説明する。記憶部19には、この他HMD100の動作に必要となる各種のデータ及びプログラム等が適宜記憶される。制御プログラム等を、HMD100にインストールする方法は限定されない。
【0053】
コントローラ30は、HMD100が有する各ブロックの動作を制御する。コントローラ30は、例えばCPUやメモリ(RAM、ROM)等のコンピュータに必要なハードウェア構成を有する。CPUが記憶部19に記憶されている制御プログラムをRAMにロードして実行することにより、種々の処理が実行される。本実施形態では、コントローラ30は、情報処理装置に相当する。
【0054】
コントローラ30として、例えばFPGA(Field Programmable Gate Array)等のPLD(Programmable Logic Device)、その他ASIC(Application Specific Integrated Circuit)等のデバイスが用いられてもよい。
【0055】
本実施形態では、コントローラ30のCPUが本実施形態に係るプログラムを実行することで、機能ブロックとして画像取得部31、画像処理部32、第1視線検出部33、第2視線検出部34、合成比率算出部35、視線合成部36、及び補正パラメータ更新部37が実現される。そしてこれらの機能ブロックにより、本実施形態に係る情報処理方法が実行される。なお各機能ブロックを実現するために、IC(集積回路)等の専用のハードウェアが適宜用いられてもよい。本実施形態では、画像処理部32、第1視線検出部33、第2視線検出部34、合成比率算出部35、視線合成部36、及び補正パラメータ更新部37が共動することで、本実施形態に係る処理部として機能する。
【0056】
画像取得部31は、赤外カメラ13により生成された画像データを取得する。例えば赤外カメラ13から所定のフレームレートで出力される画像データを適宜読み込まれる。この画像データは、ユーザ1の眼を撮影した画像(眼球画像21)を構成するデータである。すなわち、画像取得部31は、眼球画像21を取得するとも言える。本実施形態では、眼球画像21は、ユーザの眼情報の一例である。また画像取得部31は、取得部に相当する。なお
図5には、ユーザ1の眼を撮影した画像(眼球画像21)を構成する画像データが模式的に図示されている。
【0057】
画像処理部32は、眼球画像21(画像データ)についての各種の画像処理を実行する。画像処理部32は、角膜領域検出部40と、輝点検出部41と、瞳孔中心検出部42とを有する。
【0058】
角膜領域検出部40は、眼球画像21に基づいて、眼球4の角膜領域8を検出する。具体的には、眼球画像21内の眼領域3における角膜領域8となる範囲が検出される。例えば
図4に示すように、虹彩6と強膜9(白目)との境界を抽出することで、角膜領域8を検出可能である。
【0059】
上記したように、眼球画像21は、赤外光15を照射して撮影された赤外線画像である。例えば、虹彩認証等の分野で用いられる技術を用いることで、赤外線画像(眼球画像21)から角膜領域8を容易に検出することが可能である。
【0060】
図6は、角膜領域8の検出処理の一例を示す模式図である。
図6の左側には、赤外カメラ13のレンズ等に伴う歪み補正が行われた眼球画像21が模式的に図示されている。なお
図6では、虹彩6内の瞳孔5等の図示が省略されている。
【0061】
図6の中央に示すように、歪み補正された眼球画像21に対してエッジ検出が実行され、虹彩6と白目(強膜9)との境界が抽出される。そして
図6の右側に示すように、抽出された虹彩6の境界に対して楕円をフィッティングする処理が実行される。このフィッティングされた領域が、角膜領域8として算出される。
【0062】
角膜領域8を検出するための具体的な方法等は限定されない。例えば虹彩6の境界等に対して正円をフィッティングする方法が用いられてもよい。また例えば、機械学習の機能を備えたAI(Artificial Intelligence)等の学習器を用いた画像セグメンテーションにより虹彩6を抽出する方法等が用いられてもよい。
【0063】
輝点検出部41は、眼球画像21に基づいて、赤外光15により生じた輝点20(プルキンエ像)を検出する。具体的には、眼球画像21内の眼領域3における輝点20の位置及び形状等が検出される。例えば、眼球画像21内で輝度の情報等に基づいて、輝点20の位置等が検出される。上記したように、本実施形態では複数の赤外光源12により、複数の赤外光15が眼球4に向けて照射される。輝点検出部41では、眼球画像21から複数の赤外光15による複数の輝点20がそれぞれ検出される。
【0064】
また輝点検出部41は、眼球画像21から複数の赤外光15による複数の輝点20のうち、互いに所定の配置となる輝点20のペアを検出可能である。例えば輝点検出部41では、複数の輝点20の中から、各赤外光源12の配置に応じて設定される輝点20のペアを検出する。例えば、1つの眼2に対して2つの赤外光源12が配置されている場合には、1組の輝点20のペアが検出される。また例えば、1つの眼2に対して4つの赤外光源12が配置されている場合には、2組の輝点20のペアが検出される。なおペアとなる輝点20は、適宜設定されてよい。
【0065】
輝点20を検出する方法は限定されず、例えば特徴点検出や機械学習等による任意の検出処理が用いられてよい。また輝点20の位置のみならず、輝点20の形状やサイズ等を検出する処理が実行されてもよい。
【0066】
瞳孔中心検出部42は、眼球画像21に基づいて、眼球4の瞳孔中心22を検出する。具体的には、眼球画像21から瞳孔5に対応する瞳孔領域が検出され、瞳孔領域を基準として瞳孔5の中心位置(瞳孔中心22)が検出される。
図4には、眼球画像21から検出される瞳孔中心22が白い十字で模式的に図示されている。なお、瞳孔中心22と、角膜領域8(虹彩6)の中心とが一致するとは限らない。
【0067】
瞳孔中心22を検出する方法は限定されない。例えば、瞳孔5に対して正円や楕円等をフィッティングすることで瞳孔中心22を検出する方法や、機械学習等により瞳孔中心22を検出する方法等が適宜用いられてよい。また瞳孔中心22のみならず、瞳孔5の形状やサイズ等を検出する処理が実行されてもよい。
【0068】
第1視線検出部33は、眼球画像21に基づいて瞳孔角膜反射法により視線方向を決定する。以下では、第1視線検出部33により決定される視線方向を第1の視線ベクトルと記載する。本実施形態では、第1の視線ベクトルは、第1の視線方向に相当する。
【0069】
瞳孔角膜反射法とは、例えばユーザ1の眼球4に向けて所定の光(例えば赤外光15)を照射しその反射光を検出することで、視線方向等を推定する方法である。より詳しくは、瞳孔角膜反射法は、眼球画像21から複数の赤外光15による複数の輝点20を検出し、検出された複数の輝点に基づいて第1の視線ベクトルを決定する方法である。本実施形態では、瞳孔角膜反射法は、第1の手法に相当する。
【0070】
図7は、赤外光15が照射されたユーザ1の眼球4を示す模式図である。
図7には、2つの赤外光源12から赤外光15が照射されたユーザ1の眼球4が模式的に図示されている。眼球4は球状であり、その表面には角膜7が形成される。角膜7は、球状の眼球4表面の一部が膨らんだ曲面状の領域に形成される。角膜7の曲面形状は、例えば所定の曲率で表すことが可能である。なお
図7に示すように、角膜7の内側には、虹彩6及び瞳孔5(虹彩6中央の開口部分)が形成される。
【0071】
本実施形態では、第1視線検出部33は、ユーザ1の眼球4の3次元モデル(眼球モデル)を用いてユーザ1の視線方向を検出する。例えば赤外光15が照射される位置(輝点20)を基準として眼球モデルの姿勢等が推定され、その推定結果に基づいて第1の視線ベクトルが決定される。
【0072】
このように、赤外光15により眼球4表面に生じる輝点20は、第1の視線ベクトルを算出するための基準点として機能する。すなわち、瞳孔角膜反射法は、眼球4の表面に設定される基準点(輝点20)を基準として第1の視線ベクトルを決定する手法であるとも言える。眼球4(角膜)表面に存在する輝点20を基準とすることで、眼球4の向きや姿勢等を精度よく推定することが可能である。また輝点20を用いることで、例えば装置の位置ずれ等があった場合であっても高い精度で視線方向を検出することが可能である。
【0073】
なお眼球モデルの姿勢等の推定処理には、例えば画像処理部32の輝点検出部41及び瞳孔中心検出部42の検出結果(輝点20の位置や瞳孔中心22の位置等)が用いられる。第1視線検出部33の具体的な処理については、後に詳しく説明する。
【0074】
図5に戻り、第2視線検出部34は、眼球画像21から瞳孔5の位置及び形状等を検出することで視線方向を決定する。以下では、第2視線検出部34により決定される視線方向を第2の視線ベクトルと記載する。本実施形態では、第2の視線ベクトルは、第2の視線方向に相当する。
【0075】
図8は、眼球画像21の一例を示す模式図である。
図8A及び
図8Bに示す眼球画像21a及び21bでは、ユーザ1の視線は互いに異なる方向に向けられている。眼球画像21a及び21bは、ユーザ1の左眼2Lの眼球画像21である。
【0076】
例えば、ユーザ1が自身の左方向を見た場合(
図8A)、左眼2Lの眼球画像21aでは、瞳孔5の位置は正面よりも右側にシフトする。反対に、ユーザ1が自身の右方向を見た場合(
図8B)、左眼2Lの眼球画像21bでは、瞳孔5の位置は正面よりも左側にシフトする。このように、ユーザ1の視線が変化すると、眼球画像21内での瞳孔5の位置が視線に応じて移動することになる。
【0077】
例えば、ユーザ1が見ている方向(視線方向)と、眼球画像21内での瞳孔5の位置とを対応付けて記録することで、ユーザ1の視線を推定することが可能である。本実施形態では、記憶部19には、ユーザ1の瞳孔5の位置をユーザ1の視線に変換する校正テーブル等が予め記録される。第2視線検出部34は、校正テーブル等に基づいて、ユーザ1の瞳孔5の位置から第2の視線ベクトルを決定する。この処理は、例えば画像処理部32による検出結果(瞳孔中心22の位置等)を用いて実行される。
【0078】
以下では、眼球画像21から瞳孔5の位置等を検出することで、視線方向(第2の視線ベクトル)を決定する手法を、瞳孔法と記載する。従って第2視線検出部34は、眼球画像21に基づいて瞳孔法により第2の視線ベクトルを検出するとも言える。なお瞳孔法では、第1視線検出部33で用いられる瞳孔角膜反射法のように輝点20等を用いることがない。従って瞳孔法は、瞳孔角膜反射法とは異なる手法となる。本実施形態では、瞳孔法は、第2の手法に相当する。
【0079】
図5に戻り、合成比率算出部35は、第1の視線ベクトルと第2の視線ベクトルとを合成する合成比率を算出する。合成比率とは、第1の視線ベクトルと第2の視線ベクトルとを合成する際の、第1の視線ベクトルの割合と第2の視線ベクトルの割合とを表すパラメータである。すなわち、合成比率は、第1及び第2の視線ベクトルを合成する際の、各視線ベクトルの重みを表すパラメータであるとも言える。
【0080】
本実施形態では、合成比率として、第1の視線ベクトルと第2の視線ベクトルとを合成するための重み係数が算出される。重み係数は、例えば、第1の視線ベクトルと第2の視線ベクトルとを合成する際の、各視線ベクトルの重み付けに用いられる係数である。
【0081】
例えば第1の視線ベクトルの重み係数をwcとし、第2の視線ベクトルの重み係数をwiとする。この場合、合成比率は、例えば、wc:wiで表される。なお第1の視線ベクトル及び第2の視線ベクトルは、例えば各々の方法で算出された視線方向を表す単位ベクトルである。各重み係数としては、例えば、wc+wi=1となるよう規格化された係数が用いられる。これにより、合成された視線方向(合成視線ベクトル)も単位ベクトルとなり、各視線ベクトルを適正に合成することが可能である。
【0082】
本実施形態では、第1の視線ベクトルの重み係数wc(wc<1)を基準として合成比率が算出される。この場合、第2の視線ベクトルの重み係数は、wi=1-wcと設定される。例えば瞳孔角膜反射法による第1の視線ベクトルの検出精度が高い場合には、重み係数wcは高い値に設定され、第1の視線ベクトルの割合が高くなる。また検出精度が低い場合には、重み係数wcは低い値に設定され、第1の視線ベクトルの割合が抑えられる。このように、重み係数wcは、第1の視線ベクトルの信頼度を表す値とも言える。本実施形態では、重み係数wcは、信頼度情報の一例である。
【0083】
図5に示すように、合成比率算出部35は、画像処理部32の角膜領域検出部40、輝点検出部41、及び瞳孔中心検出部42の各検出結果に基づいて、重み係数w
cを算出する。従って第1の視線ベクトルの重み係数w
cは、眼球画像21に基づいて算出される。すなわち眼球画像21に基づいて、第1の視線ベクトルの信頼度が算出される。重み係数w
cを算出する方法については、
図12等を参照して後に詳しく説明する。
【0084】
視線合成部36は、重み係数wcに基づいて、第1の視線ベクトルと第2の視線ベクトルとを合成してユーザ1の視線方向を決定する。以下では、第1の視線ベクトルと第2の視線ベクトルとが合成された視線方向を、合成視線ベクトルと記載する。算出された合成視線方向は、コントローラ30による視線検出結果として出力される。
【0085】
補正パラメータ更新部37は、第2の視線ベクトルを決定するための補正パラメータを更新する。具体的には、第2視線検出部34で用いられる校正テーブルに記録されたパラメータが更新される。校正テーブルは、例えば記憶部19に記憶されており、所定のキャリブレーション処理により生成される。
【0086】
なお記憶部19には、第1視線検出部33で用いられる校正テーブルも記憶される。以下では、第1視線検出部33用の校正テーブルを第1の校正テーブルと記載し、第1の校正テーブルに記録されたパラメータを第1の補正パラメータと記載する。また、第2視線検出部34用の校正テーブルを第2の校正テーブルと記載し、第2の校正テーブルに記録されたパラメータを第2の補正パラメータと記載する。
【0087】
図9は、キャリブレーション処理の一例を説明するための模式図である。
図9Aは、キャリブレーション処理時にディスプレイ17に表示されるマーカ45の一例を示す模式図である。
図9Bは、キャリブレーション処理時のユーザ1の眼領域3の一例を示す模式図である。キャリブレーション処理は、例えばユーザ1がHMD100の使用を開始するタイミングで適宜実行される。もちろん、ユーザ1の指示等に応じて任意のタイミングでキャリブレーション処理が実行されてもよい。
【0088】
図9Aに示す例では、3×3の配列で設定されたディスプレイ17上の9つの表示位置46a~46iにマーカ45が表示される。ユーザ1から見て左側の列には上から表示位置46a~46cが設定され、中央の列には上から表示位置46d~46fが設定され、右側の列には上から表示位置46g~46iが設定される。
【0089】
マーカ45は、例えば所定の順番で各表示位置46a~46iに表示される。すなわち1度に表示されるマーカ45は1つである。キャリブレーション処理が実行されている間、ユーザ1には、表示されるマーカ45を注視する旨の指示が提示される。従ってユーザ1の視線は、表示されたマーカ45を注視するよう、マーカ45の表示位置にあわせて移動することになる。
【0090】
図9Aでは中央の表示位置46eにマーカ45が表示されている。この場合、
図9Bに示すように、ユーザ1は、正面(ディスプレイ17の中央)の表示位置46eに表示されたマーカ45eを注視するように視線を正面に向ける。
【0091】
第2視線検出部34は、ユーザ1が表示位置46eに表示されたマーカ45を見ている際の、瞳孔中心22eを検出して、第2の視線ベクトルを決定する。例えば、瞳孔中心22eとマーカ45(表示位置46e)とをつなぐベクトル(マーカベクトル)が、第2の視線ベクトルとして算出される。なお、ユーザ1から見て左上の表示位置46aにマーカ45が表示された場合、眼球画像21では、画像の右上の瞳孔中心22aが移動することになる。
【0092】
キャリブレーション処理では、例えば9つの表示位置46a~46iに順次マーカ45が表示され、各表示位置46a~46iに表示されたマーカ45を注視する際の瞳孔中心22a~22iがそれぞれ検出される。そして、各瞳孔中心22a~22iから各表示位置46a~22iに向かうマーカベクトルが、補正用の視線ベクトルとして算出される。
【0093】
第2の校正テーブルには、例えば各表示位置46a~46iに応じて決定された9つの補正用の視線ベクトルが瞳孔中心22a~22iの眼球画像21内での座標と関連付けて記憶される。すなわち、第2の校正テーブルは、眼球画像21における各キャリブレーション位置ごとの視線ベクトルが記録されたマップであるとも言える。この視線ベクトルが第2の補正パラメータとして用いられる。
【0094】
これにより、例えば眼球画像21において瞳孔5が眼領域3内の右上の瞳孔中心22aに移動した場合には、ディスプレイ17の左上(表示位置46a)に向けられた視線ベクトルを算出するといったことが可能となる。なお、各瞳孔中心22a~22iの間の位置に瞳孔5が存在する場合には、例えば線形補間等の方法を用いて、第2の視線ベクトルが適宜算出される。
【0095】
補正パラメータ更新部37では、キャリブレーション処理により取得された第2の補正パラメータを適宜更新する処理が実行される。従って、第2の補正パラメータはHMD100の動作中に動的に更新されることになる。
【0096】
なお、キャリブレーション処理では、第1視線検出部33で用いられる第1の校正テーブル等も生成される。この点については、
図11等を参照して後に詳しく説明する。
【0097】
図10は、HMD100の基本的な動作例を示すフローチャートである。
図10に示す処理は、例えばHMD100の起動後に継続して実行されるループ処理である。以下では、キャリブレーション処理が完了しているものとして説明をおこなう。
【0098】
まず、画像取得部31により、複数の赤外光15を照射してユーザ1の眼球を撮影した眼球画像21が取得される(ステップ101)。例えば複数の赤外光源12から所定の強度で赤外光15が照射され、赤外カメラ13により赤外光15が照射されているユーザ1の眼2が撮影される。赤外カメラ13により、撮影された画像データ(眼球画像21)がコントローラ30に出力され、画像取得部31により眼球画像21が読み込まれる。
【0099】
取得された眼球画像21に基づいて、ユーザ1の視線方向が決定される(ステップ102)。まず眼球画像21をもとに、第1視線検出部33により瞳孔角膜反射法を用いて第1の視線ベクトルが決定され、第2視線検出部34により瞳孔法を用いて第2の視線ベクトルが決定される。各視線ベクトルの算出処理は、並列して実行されてもよいし、順番に実行されてもよい。
【0100】
図11は、瞳孔角膜反射法を用いた第1の視線ベクトルの算出処理の一例を示す模式図である。
図11には、瞳孔角膜反射法により第1の視線ベクトルを算出するまでの処理フローが模式的に図示されている。
【0101】
画像取得部31により取得された眼球画像21は、画像処理部32の輝点検出部41及び瞳孔中心検出部42に入力される。輝点検出部41により、眼球画像21における輝点20の位置及び形状が検出される。輝点検出部41では、例えば、眼球画像21に対する各種の画像処理、眼球画像21内の輝度分布を取得する処理、当該輝度分布に基づいて周囲の画素との輝度値の差が比較的大きい画素を検出する処理等の一連の処理が行われる。
【0102】
また瞳孔中心検出部42により、眼球画像21における瞳孔5の位置及び形状が検出される。瞳孔中心検出部42では、例えば眼球画像21に対する各種の画像処理(例えば歪みや黒レベル、ホワイトバランス等の調整処理)、眼球画像21内の輝度分布を取得する処理等が行われる。また、取得された輝度分布に基づいて瞳孔5の像の輪郭(エッジ)を検出する処理や、検出された瞳孔5の像の輪郭を円又は楕円等の図形で近似する処理等が行われてもよい。検出された瞳孔5の像から、瞳孔中心22が算出される。
【0103】
輝点20及び瞳孔5が検出されると、第1視線検出部33によりユーザ1の視線方向(第1の視線ベクトル)を推定する処理が実行される。本実施形態では、眼球4の3次元モデル(眼球モデル50)に基づいて第1の視線ベクトルが推定される。
図11には、眼球モデル50が模式的に図示されている。
【0104】
眼球モデル50では、角膜7は球体の一部として構成される。以下では、角膜7を表す球体の中心を、角膜曲率中心51と記載する。また角膜7を表す球体の内側には、瞳孔中心22が存在する。
図11に示すように、角膜曲率中心51と瞳孔中心22とを結ぶ方向が、眼球4の中心(眼球中心52)を通る眼球4の光軸53の方向となる。瞳孔角膜反射法では、この眼球4の光軸53を推定することが可能である。
【0105】
一方で、ユーザ1の視線は、角膜曲率中心51と、眼球4の内部にある中心窩54とをつなぐ視軸55上にある。従って、眼球4の光軸53と視軸55(ユーザ1の視線方向)とは、所定の角度で交差することになる。すなわちユーザ1が注視している注視点(ターゲット)に向けられるベクトルと、眼球4の中心軸(光軸53)が向けられるベクトルとは必ずしも一致するわけではない。光軸53と視軸55とのずれには個人差があり、一般に4°~8°程度傾いている。以下では、光軸53と視軸55との間のずれ量をωと記載する。
【0106】
このずれ量ωは、
図9を参照して説明したキャリブレーション処理により校正される。キャリブレーション処理では、例えばあるマーカ45を見ているときのユーザ1の視線(マーカベクトル)と、そのときの光軸53とが算出される。このマーカベクトルと光軸53とに基づいてずれ量ωが算出される。ずれ量ωとしては、例えば、光軸53をマーカベクトルに変換するための、所定の面を基準とした回転角や仰角等のパラメータが用いられる。
【0107】
なお、眼球4は筋肉の引っ張りにより回転するため、見る方向によってロール回転が加わる。このため、ユーザ1の視線が向けられる方向によって、回転角や仰角の値が変化する。このため、キャリブレーション処理では、複数の表示位置46a~46iにマーカを表示して、すれ量ω(回転角や仰角)が算出される。各位置で算出されたずれ量ωは、第1の補正パラメータとして第1の校正テーブルに記録される。
【0108】
図11に示すように、第1視線検出部33では、第1の視線ベクトルを推定する処理として、眼球4の光軸53を推定する光軸推定処理と、推定された光軸53に基づいて視軸55を推定する視軸推定処理とが実行される。
【0109】
光軸推定処理では、瞳孔中心検出部42の検出結果をもとに、眼球モデル50における瞳孔中心22の3次元座標が算出される。例えば赤外カメラ13の配置位置(赤外カメラ13と眼球4との位置関係)、角膜7表面における光の屈折、角膜曲率中心51と瞳孔中心22との距離等に基づいて、眼球画像21から抽出された瞳孔5の輪郭上の各点の3次元座標が算出される。そして、瞳孔5の輪郭上の各点の中心点の座標が、瞳孔中心22の3次元座標として算出される。これにより、瞳孔中心22の3次元座標を高精度に算出することが可能となる。
【0110】
瞳孔中心22の3次元座標を算出する方法等は限定されず、例えば画像処理により算出された眼球画像21における瞳孔中心22の位置を眼球モデル50での3次元座標に変換するといった処理が実行されてもよい。これにより、演算処理に要する時間を短縮することが可能である。この他、瞳孔中心22の3次元座標を算出する任意の方法が用いられてよい。
【0111】
また光軸推定処理では、輝点検出部41の検出結果をもとに、眼球モデル50における角膜曲率中心51の3次元座標が算出される。例えば、赤外光源12と赤外カメラ13と眼球4との位置関係、角膜7の曲率半径等に基づき、赤外カメラ13と輝点20の中心とを結ぶ直線上において、角膜7の表面から眼球4の内部に向かって角膜7の曲率半径だけ進んだ位置が、角膜曲率中心51の3次元座標として算出される。
【0112】
なお
図11では、輝点20が1つの場合を例に説明したが、複数の輝点20(輝点20のペア等)を用いて、角膜曲率中心51の3次元座標を算出することも可能である。例えば赤外光は、赤外光源12の配置に応じた所定の位置関係で眼球4に入射する。この所定の位置関係となる輝点20のペア等を用いることで、角膜曲率中心51等を高精度に算出することができる。また、例えばペアの一方の輝点20が検出されない場合であっても、その輝点20の位置を推定して、算出処理に用いることが可能である。この他、角膜曲率中心51の3次元座標を算出する任意の方法が用いられてよい。
【0113】
このように光軸推定処理では、瞳孔中心22及び角膜曲率中心51の3次元座標が算出される。そして算出された3次元座標に基づいて、角膜曲率中心51と瞳孔中心22とを結ぶ光軸ベクトル(光軸53)が推定される。
【0114】
視軸推定処理では、推定された光軸53から眼球4の視軸55が推定される。例えば、第1の校正テーブルに記録された第1の校正パラメータ(ずれ量ω)に基づいて、光軸53を所定の角度(回転角及び仰角等)で回転することで、ユーザ1の視線ベクトル(視軸55)が推定される。すなわち、視軸推定処理は、第1の校正テーブルに基づいて、瞳孔角膜反射法で推定された光軸53を視軸55に変換する処理とも言える。算出された視線ベクトルが第1の視線ベクトルとして出力される。
【0115】
第2視線検出部34では、瞳孔中心検出部42により検出された瞳孔中心22に基づいて、ユーザ1の視線ベクトル(第2の視線ベクトル)が算出される。例えば、各キャリブレーション位置での視線ベクトルのマップである第2の校正テーブルが参照され、眼球画像21内での瞳孔中心22の位置に応じた視線ベクトルが適宜算出される(
図9参照)。算出された視線ベクトルは、第2の視線ベクトルとして出力される。
【0116】
第1の視線ベクトルと第2の視線ベクトルとが算出されると、各視線ベクトルを合成する処理が実行される。まず、合成比率算出部35により、第1の視線ベクトルと第2の視線ベクトルとの合成比率(重み係数wc等)が算出される。なお、合成比率の算出は、第1の視線ベクトルや第2の視線ベクトルの算出処理と並列して実行されてもよい。
【0117】
図12は、合成比率の算出処理の一例を説明するための模式図である。
図12Aには、1組の輝点20のペアが検出された眼球画像21が模式的に図示されている。本実施形態では、角膜領域8内での輝点20のペアの位置に基づいて第1の視線ベクトルの重み係数w
cが算出される。
【0118】
図12Aに示す例では、瞳孔中心22を表す瞳孔中心点Pと、輝点20のペアの中点Dと、PDを通る直線と角膜円周(角膜領域8)との交点Cとを用いて、重み係数w
cが算出される。なお、輝点20のペアの中点Dは、輝点20のペアの位置に相当する。
【0119】
瞳孔中心点P及びペアの中点Dの間の距離(PD間の距離)をdとし、瞳孔中心点P及び角膜円周上の交点Cとの距離(PC間の距離)をrとする。このr及びdを用いて、瞳孔角膜反射法により算出された第1の視線ベクトルの重み係数wcは、以下の式で表される。
【0120】
【0121】
図12Aに示すように、PC間の距離rは、角膜領域8の半径と略同様の値である。従って、距離rは、各処理の度に大きく変化する値ではない。なお角膜領域8として楕円状の領域が検出される場合もあるため、距離rは一定の値とは限らない。
【0122】
一方で、PD間の距離dは、ユーザ1の視線が変化すると瞳孔中心点Pの位置が変化するため、処理ごとに変化するパラメータである。従って、(1)式では、距離dが小さいほど、すなわち、輝点20のペアの位置(中点D)が瞳孔中心点Pに近いほど、重み係数wcが大きくなる。言い換えれば、輝点20のペアが瞳孔中心22付近に生じている場合に、第1の視線係数の重みを高くするとも言える。
【0123】
反対に、輝点20のペアの位置(中点D)が瞳孔中心点Pから離れているほど、重み係数wcは小さくなる。すなわち、輝点20のペアが瞳孔中心22から離れた位置に生じている場合、第1の視線係数の重みが低く設定される。なお、距離dが角膜領域8から外れてd>rとなった場合や、一方の輝点20を検出できない場合等には、重み係数wcをゼロにするといった処理が実行される。
【0124】
このように、合成比率算出部35では、瞳孔中心22に対する輝点20のペアの距離に基づいて重み係数wcが算出される。すなわち、瞳孔中心22から輝点20のペアの中点Dまでの距離に応じて、第1の視線ベクトルの重み係数wcが決定される。
【0125】
例えば、
図11を参照して説明した眼球モデル50では、球体形状の角膜領域8が構成された。実際の眼球4では、角膜領域8の周辺では、角膜7が強膜9(白目)の領域に滑らかに接続されるため、球体形状のモデルから外れた形状となることが考えられる。従って輝点20の位置が、角膜領域8の周縁に近い場合には、瞳孔中心22に近い領域に比べ、第1の視線ベクトルの検出精度が低下する場合があり得る。
【0126】
第1の視線ベクトルの重み係数wcは、(1)式に示すように、瞳孔中心22からの距離が遠いほど小さくなるように設定される。従って、第1の視線ベクトルの重み係数wcは、第1の視線ベクトルの検出精度等の信頼度を表すパラメータとして機能する。すなわち合成比率算出部35では、第1の視線ベクトルの信頼度に関する情報(重み係数wc)が算出されるとも言える。
【0127】
なお重み係数wcを算出する方法は、(1)式に示す方法に限定されない。例えば、土光中心点Pと、各輝点20の頂点を結ぶ3角形の面積等に基づいて、重み係数wcを設定することも可能である。この場合、3角形の面積が小さい場合には、第1の視線ベクトルの重み増加し、3角形の面積が大きい場合には、第1の視線ベクトルの重みが減少するように、重み係数が適宜設定される。これにより、輝点20のペアと瞳孔中心との距離(三角形の高さ)のみならず、輝点20間の距離(三角形の底辺)も含めた重み係数を設定することが可能となる。これにより、第1及び第2の視線ベクトルを精度よく合成することが可能となる。
【0128】
第1の視線ベクトルの重み係数wcが算出されると、第2の視線ベクトルの重み係数(1-wc)が算出される。各視線ベクトルの重み係数の比率(wc:1-wc)が混合比率となる。
【0129】
視線合成部36により、第1の視線ベクトルと第2の視線ベクトルとが合成される。以下では、第1の視線ベクトルを表す3次元ベクトルを第1の視線ベクトルEcと記載し、第2の視線ベクトルを表す3次元ベクトルを第2の視線ベクトルEiと記載する。また合成された視線方向を表す3次元ベクトルを合成視線ベクトルEと記載する。合成視線ベクトルEは、以下のように算出される。
【0130】
【0131】
上記したように、重み係数wcは、緩やかに変化する関数である。従って、重み係数wcの値に応じて第1の視線ベクトルEcと第2の視線ベクトルEiとをシームレスに合成したベクトル(合成視線ベクトルE)が算出される。このように、本実施形態では、重み係数wcに基づいてユーザ1の視線方向が決定される。算出された合成視線ベクトルEは、コントローラ30の検出結果として出力され、他のアプリケーション等に用いられる。
【0132】
図12Bには、2組の輝点20のペアが検出された眼球画像21が模式的に図示されている。以下では、図中の上側に生じた左右の輝点20のペアを第1のペアと記載し、下側に生じた左右の輝点20のペアを第2のペアと記載する。
【0133】
例えば
図12Bに示すように、瞳孔中心点Pと第1のペアの中点D1との距離d1を算出し、PD1を通る直線と角膜円周との交点C1までの瞳孔中心点Pからの距離r1を算出することで、(1)式を用いて、第1のペアの重み係数w
c1が設定される。また瞳孔中心点Pと第2のペアの中点D2との距離d2を算出し、PD2を通る直線と角膜円周との交点C2までの瞳孔中心点Pからの距離r2を算出することで、第2のペアの重み係数w
c2が設定される。
【0134】
このように2組の輝点20のペアがある場合には、ペアごとの重み係数を算出することが可能である。例えば合成視線ベクトルは、第1のペアの重み係数wc1及び第2のペアの重み係数wc2を使って、以下の式を用いて算出される。
【0135】
【0136】
ここでEc1は、第1のペアを用いて算出される視線ベクトルであり、Ec2は、第2のペアを用いて算出される視線ベクトルである。またmax(wc1,wc2)は、各重み係数のうち値の大きい重み係数を選択する関数である。
【0137】
(3)式では、第1視線検出部33により、瞳孔角膜反射方を用いて算出された2つの視線ベクトルEc1及びEc2が各重み係数に応じて合成される。この合成結果を第1の視線ベクトルとして、さらに第2視線検出部34により瞳孔法を用いて算出された第2の視線ベクトルEiとの合成処理が実行される。これにより、ユーザ1の視線方向を安定して高精度に算出することが可能となる。例えばこのような方法で各視線ベクトルを合成することが可能である。
【0138】
また3組以上の輝点20のペアが存在する場合にも、本技術は適用可能である。すなわち、瞳孔角膜反射方を用いて算出される視線ベクトルと、瞳孔法を用いて算出される第2の視線ベクトルとを合成する式は、以下のように一般化することが可能である。
【0139】
【0140】
これにより、3組以上の輝点20のペアを用いた高精度な視線検出が可能である。またそのような場合であっても、瞳孔法による視線検出結果(第2の視線ベクトルEi)との合成をシームレスに実行することが可能である。
【0141】
また、(1)式のように輝点20の位置(輝点20のペアの位置)のみならず、輝点20のサイズを基準として、重み係数を算出することも可能である。輝点20のサイズ、すなわち輝点20の面積(例えば画素数等)は、例えば輝点検出部41により検出された輝点20の形状等に基づいて適宜算出される。以下では、第1の視線ベクトルの算出に用いられる輝点20の面積をs、輝点20の面積の期待値をse、輝点20の有効最小面積及び有効最大面積をsmin及びsmaxとする。
【0142】
輝点20の面積の期待値seとは、例えばHMD100を装着したユーザ1の眼球4に適正に赤外光15が照射された状態での輝点20の面積である。また輝点20の有効最小面積及び有効最大面積をsmin及びsmaxは、例えば視線方向の算出処理に用いることが可能な輝点20の最小面積及び最大面積である。面積の期待値se、有効最小面積smin、及び有効最大面積smaxは、例えばHMD100の特性等に応じて適宜設定される。
【0143】
これらのパラメータを用いて、単一の輝点20についての面積重みwsを以下のように算出することが可能である。
【0144】
【0145】
(5)式に示すように、面積重みwsは、輝点20の面積sが最小有効面積sminから最大有効面積smaxの間の範囲に収まっている場合、輝点20の面積が期待値seに近いほど、高い重みに設定される。また、輝点20の面積sが最小有効面積sminから最大有効面積smaxの間の範囲から外れている場合には、面積重みwsはゼロに設定される。
【0146】
(5)式に基づいて設定された個々の輝点20の面積重みwsから、輝点20のペアでの面積重みwsの平均値が算出され、そのペアに関する面積重みws_pairとして用いられる。ペアの面積重みws_pairは、例えば以下のように算出される。
【0147】
【0148】
ここで、ws1及びws2は、ペアを構成する各基点の面積重みwsである。(6)式は、各ペアの面積重みwsの相乗平均となっている。これに限定されず、他の方法でペアの面積ws_pair重みが算出されてもよい。
【0149】
この(6)式により算出されるペアの面積重みws_pairと、(1)式で算出されるペアの重み係数wc(ペアの距離重み)との平均(例えば相乗平均)として、ある輝点20のペアを用いて算出された視線ベクトルの重み係数(統合重み係数wc')が算出される。すなわち、統合重み係数wc'は以下のように算出される。
【0150】
【0151】
統合重み係数wc'は、例えば輝点20のペアの位置に応じた信頼度と、ペアを構成する各輝点20の信頼度とを統合した信頼度を表すパラメータである。このように、本実施形態では、輝点20の面積が算出され、算出された輝点20の面積に基づいて重み係数wc'が算出される。これにより、瞳孔角膜反射法を用いて算出される第1の視線ベクトルの信頼度を高い精度で算出することが可能となり、視線ベクトルの合成を適正に実行することが可能となる。
【0152】
統合重み係数wc'を用いて、合成視線ベクトルEは、以下のように算出される。
【0153】
【0154】
このように、本実施形態では、第1の視線ベクトルの信頼度(重み係数wc等)を基準として、第1の視線ベクトルと第2の視線ベクトルとが合成される。これにより、合成される視線ベクトルの信頼性を向上することが可能となる。
【0155】
なお、第1の視線ベクトルの信頼度を基準とする場合に限定されず、第2の視線ベクトルの信頼度を用いて各視線ベクトルが合成されてもよい。第2の視線ベクトルの信頼度としては、例えば瞳孔5を検出する際のフィッティング精度や瞳孔中心22の算出精度等を用いることが可能である。例えば第2の視線ベクトルの信頼度が高い場合には、第2の視線ベクトルの割合を増加させ、第1の視線ベクトルの割合を減少するように、各視線ベクトルの重み係数が適宜設定され、各視線ベクトルが合成される。例えばこのような処理が実行されてもよい。
【0156】
図10に戻り、ユーザ1の視線ベクトル(合成視線ベクトルE)が算出されると、第2の補正パラメータを更新する処理が実行される(ステップ103)。本実施形態では、第1の視線ベクトルに基づいて、第2の補正パラメータが更新される。
【0157】
図9等を用いて説明したように、第2の補正パラメータは、瞳孔法を用いた第2の視線ベクトルの算出処理に用いられる第2の校正テーブルに記録されたパラメータである。具体的には、画像(眼球画像21)上の各キャリブレーション位置での視線ベクトルが第2の補正パラメータとして記憶されている。
【0158】
図13は、第2の補正パラメータの更新処理について説明するための模式図である。
図113Aは、キャリブレーション処理時に撮影された眼球画像21を示す模式図である。
図13Bは、キャリブレーション処理のあとに撮影された眼球画像21を示す模式図である。
図13A及び
図13Bでは、ユーザ1は同じ方向に視線を向けているものとする。
【0159】
図13Aには、9つの位置にマーカが表示された際に、ユーザ1の瞳孔中心22の位置(以下、校正ポイント47と記載する)が模式的に図示されている。例えば、キャリブレーション処理が行われた直後は、各校正ポイント47に対応して記憶された第2の補正パラメータ(視線ベクトル)は、適正な方向を示している。
【0160】
従って、
図13Aに示す瞳孔中心22が向いている方向、すなわち第2の視線ベクトルは、瞳孔中心22の周辺の校正ポイント47での第2の補正パラメータに基づいて、適正に算出することが可能である。
【0161】
一方で、HMD100の装着位置等がずれた場合には、赤外カメラ13と眼球4との相対位置が変化する。その結果、赤外カメラ13の撮影範囲がシフトし、
図13Bに示すように、眼球画像21における眼領域3の範囲が変化する。
【0162】
例えば
図13Bに示す瞳孔中心22の視線方向が、更新されていないキャリブレーション時の第2の補正パラメータから算出された場合、算出結果は実際の視線方向とは異なる方向を示すことになる。
【0163】
このように、HMD100の装着位置がずれた場合等には、第2の校正テーブルに記録された視線ベクトル(第2の補正パラメータ)の精度が低下する場合があり得る。このため、本実施形態では、瞳孔法とは異なる瞳孔角膜反射法を用いて算出される第1の視線ベクトルを使って、第2の補正パラメータが更新される。
【0164】
瞳孔角膜反射法を用いた方法では、ユーザ1の眼球4に生じる輝点20、すなわち眼球4の表面に設定された基準点を基準に第1の視線ベクトルが算出される。従って、第1視線検出部33は、眼球画像21における位置を基準に算出される第2の視線ベクトルに比べ、第1の視線ベクトルはHMD100の装着位置に対するずれ等があった場合であっても、十分高精度に第1の視線ベクトルを推定することが可能である。すなわち、瞳孔角膜反射法は、眼球ずれに強く高精度な視線検出手法であると言える。
【0165】
本実施形態では、補正パラメータ更新部37により、第1の視線ベクトルの信頼度に応じて、第2の補正パラメータが更新される。具体的には、第1の視線ベクトルと第2の視線ベクトルとを合成するための重み係数に基づいて、第2の補正パラメータが更新される。重み係数としては、例えば(1)式で表される輝点20の位置に基づいて算出される重み係数wcや、輝点20のペアの面積重みws_pair、あるいは、wc及びws_pairが統合された統合重み係数wc'等が適宜用いられる。以下では、重み係数wcを例に説明を行う。
【0166】
例えば、
図13Bに示す状態で第1の視線ベクトルが算出されたとする。この場合、第1の視線ベクトルの視線先に近い校正ポイント47での第2の補正パラメータが更新される。
図13Bに示す例では、9つの校正ポイント47の内、中央の校正ポイント47eに記憶された補正用の視線ベクトルが、第1の視線ベクトルである第1の視線ベクトルE
cに合わせて更新される。
【0167】
例えば、補正用の視線ベクトルが第1の視線ベクトルEcに合わせて、所定の軸を基準に適宜回転される。このときの回転量(回転角や仰角等)は、第1の視線ベクトルの重み係数wcに応じて設定される。例えば、重み係数wcが高く第1の視線ベクトルEcの信頼度(算出精度)が高い場合には、補正用視線ベクトルは、第1の視線ベクトルEcと略平行な方向を向くように回転される。また例えば重み係数wcが低く第1の視線ベクトルEcの信頼度が低い場合等には、補正用の視線ベクトルの回転量は小さい値に設定される、あるいは補正用の視線ベクトルは回転されない。
【0168】
第2の補正パラメータ(補正用の視線ベクトル)を更新する方法等は限定されない。例えば重み係数wcが所定の閾値よりも大きい場合(例えばwc>0.5等)に、補正用の視線ベクトルを更新するといった閾値処理が実行されてもよい。また例えば、第1の視線ベクトルEcが算出された瞳孔中心22の位置等に応じて、線形補間等を用いて補正用の視線ベクトルの回転量が算出されてもよい。この他、第2の補正パラメータを更新する任意の方法が用いられてよい。
【0169】
また、第1の視線ベクトルに近い校正ポイント47の更新に用いられた補正用の視線ベクトルの回転量に基づいて、他の校正ポイント47での第2の補正パラメータが適宜更新される。すなわち第2の校正テーブルに記録された各ベクトルの向きが、第1の視線ベクトルに合わせて回転される。これにより、第2の校正テーブル全体を容易に更新することが可能である。
【0170】
なお、第1の視線ベクトルの信頼度として、重み係数wcを用いる場合に限定されない。例えば、眼球画像21における眼球4を含む眼領域3での瞳孔5の位置に応じて第2の補正パラメータが更新されてもよい。上記したように、第1の視線ベクトルの算出処理(瞳孔角膜反射法)では、輝点20の位置が瞳孔中心22に近いほど重み係数wcが大きく設定される。
【0171】
従って瞳孔中心22の位置を用いて、第1の視線ベクトルの精度等を表すことが可能である。この場合、瞳孔中心22の位置は、第1の視線ベクトルの信頼度を表すパラメータとして機能する。例えば輝点20が角膜領域8に収まるような範囲に瞳孔5が存在する場合に、第2の補正パラメータを瞳孔5の位置に応じて更新される。これにより、第2の補正パラメータを容易に更新することが可能である。
【0172】
この他、第1の視線ベクトルの信頼度を表す任意のパラメータ等が用いられてもよい。このように、第1の視線ベクトルの信頼度を使って、更新処理を実行することで、第2の補正パラメータを適正な値に更新することが可能である。この結果、第2の視線ベクトルの精度を向上することが可能である。
【0173】
図10に示すように、第2の補正パラメータが更新されると、ステップ101に戻り、次の眼球画像21が取得される。このように本実施形態では、ループ処理ごとに、第2の補正パラメータが更新される。これにより、第2の補正パラメータを自動的に更新する自動キャリブレーションを実現することが可能である。この結果、眼球4の位置ずれ等に対して耐性の強い安定した視線検出を実現することが可能となる。
【0174】
以上、本実施形態に係るコントローラ30では、ユーザ1の眼球画像21が取得され、ユーザ1の眼球画像21に基づいて、互いに異なる瞳孔角膜反射法及び瞳孔法の各々を用いて第1の視線ベクトル及び第2の視線ベクトルがそれぞれ決定される。また第1及び第2の視線ベクトルの少なくとも1方の信頼度に関する重み係数が算出され、重み係数をもとにユーザの視線方向が決定される。これにより、安定した視線検出を実現することが可能となる。
【0175】
眼球に照射された光の反射光を検出してユーザ1の視線方向を検出する方法では、ユーザ1の視線の位置によって、反射光を適正に検出することが難しい場合があり得る。
図14は、比較例としてあげるユーザ1の眼球画像の一例を示す模式図である。
図14に示すように、ユーザの視線が正面から外れるのに従い、輝点20が角膜7から外れてしまうことがあり得る。このため、輝点20の検出精度が低下し、視線方向の精度が低下する可能性がある。
【0176】
またユーザ1ごとに、眼の堀の深さや鼻の高さが異なるため、カメラと眼球との距離(アイリリーフ)が異なり、輝点20が照射される位置には個人差が生じる。このため、ユーザが正面を見ている場合であっても、角膜7上に正確に赤外光15を照射することが難しい場合があり得る。
【0177】
図15は、比較例として挙げる赤外光15の照射の一例を示す模式図である。
図15A及び
図15Bには、メガネ48を使用したユーザ1の眼球4に対して赤外光15が照射された状態が模式的に図示されている。例えば
図15Aに示すように、メガネ48(レンズ)の光屈折により、赤外光15の照射位置がずれることがあり得る。また例えば
図15Bに示すように、メガネ48に対する赤外光15の入射角が浅い場合等には、メガネ48表面での全反射により、角膜7上に赤外光15が到達しないといった可能性が生じる。
【0178】
例えば、眼球4の画像から特徴部分(瞳孔等)を抽出することで視線方向を検出する方法では、輝点20等を用いることなく視線方向が検出される。このため、輝点20の照射位置等に係らず広い範囲で視線方向を検出可能である。一方でこの方法では、カメラと眼球4との位置ずれが発生すると、視線方向が正確に検出できなくなる可能性がある。
【0179】
本実施形態に係るHMD100では、瞳孔角膜反射法を用いて第1の視線ベクトルが算出され、瞳孔法を用いて第2の視線ベクトルが算出される。そして第1の視線ベクトルの信頼度(重み係数wc)の情報に基づいて、第1の視線ベクトルと第2の視線ベクトルとが合成された合成視線ベクトルが算出される。
【0180】
これにより、瞳孔角膜反射法による高精度な視線検出と、瞳孔法による赤外光15の反射状況等に依存しない環境耐性の強い視線検出とを、動的に混合して用いることが可能となる。すなわち、精度の高い第1の視線ベクトルと広範囲をカバーする第2の視線ベクトルとを連続的に合成して視線方向を検出することが可能となる。この結果、広い範囲にわたって高精度かつ安定した視線検出を行うことが可能となる。
【0181】
例えば、角膜領域8に対して赤外光15が照射される場合には、第1の視線ベクトルの割合が高い視線方向が検出される。また赤外光15が角膜領域8から外れて照射される場合には、第2の視線ベクトルの割合が高い視線方向が検出される。このように、本実施形態では、赤外光15の照射位置(輝点20の位置)に応じてユーザ1の視線方向を適正に検出することが可能である。
【0182】
このため、例えばアイリリーフ(眼の深さ等)が異なるユーザ1に対しても、輝点20の照射位置に応じた適正な視線検出が可能となり、ユーザ1の個人差に伴う検出精度の差等を抑制することが可能となる。これにより、装置の信頼性を向上するとともに、安定した視聴体験等を提供することが可能となる。またユーザ1がメガネ等を使用している場合であっても、ユーザ1の視線方向を適正に検出することが可能である。これにより、装置のユーザビリティを十分に向上することが可能である。
【0183】
例えば、瞳孔角膜反射法による検出結果と、瞳孔法による検出結果とを所定のタイミングで切り替えて用いるような場合には、視線検出結果が不連続に変化し、検出結果が安定しない場合がある。これに対し、本実施形態では、第1の視線ベクトルと第2の視線ベクトルとが、重み係数を用いて合成される。これにより、検出結果の不自然なとび等が抑制され、ユーザ1の視線方向を十分に安定して検出することが可能である。これにより、例えばユーザ1の使用感を向上させることが可能となり、優れた操作性を発揮することが可能となる。
【0184】
また本実施形態では、眼球の位置ずれに強く精度の高い瞳孔角膜反射法を用いて、瞳孔法で用いられる第2の補正パラメータ(第2の校正テーブル)が更新される。これにより、第2の補正パラメータを精度よく修正することが可能となり、第2の視線ベクトルの検出精度等を高い水準に維持することが可能となる。
【0185】
このように、第2の補正パラメータを自動的に更新することで、HMD100の装着のゆるみやユーザ1の動作等に伴い、眼球4の位置ずれが生じた場合であっても、高精度に第2の視線ベクトルを算出することが可能である。この結果、十分に安定した視線検出を実現することが可能となり、装置の信頼性を大幅に向上することが可能となる。これにより、ユーザ1の動きに対する耐性が向上し、ユーザ1は、HMD100を用いたVR空間でのゲーム等を十分に楽しむことが可能となる。
【0186】
<第2の実施形態>
本技術に係る第2の実施形態のHMDについて説明する。これ以降の説明では、上記の実施形態で説明したHMD100における構成及び作用と同様な部分については、その説明を省略又は簡略化する。
【0187】
本実施形態では、瞳孔角膜反射法による視線方向の算出処理として、互いに異なる2つの手法を用いた視線方向の算出が行われる。具体的には、輝点20のペアを用いて視線方向を算出する手法と、単一の輝点20を用いて視線方向を算出する手法とが用いられる。
【0188】
輝点20のペアを用いる手法としては、例えば
図11等を用いて説明した眼球モデル50を使って視線方向を推定する手法が用いられる。すなわち、輝点20の位置に基づいて眼球モデル50の光軸53を推定し、推定された光軸53から視軸55(視線ベクトル)を算出する手法が用いられる。以下では、輝点20のペアを用いて算出される視線ベクトルを第3の視線ベクトルと記載する。本実施形態では、輝点20のペアを用いて視線方向を推定する手法は、第1の手法に相当し、第3の視線ベクトルは、第1の視線方向に相当する。
【0189】
単一の輝点20を用いる手法としては、例えば輝点20と瞳孔5との相対位置を算出することで視線方向を推定する手法が用いられる。例えばキャリブレーション処理により、マーカを注視している状態での瞳孔中心22と、輝点20との相対位置が検出される。検出された相対位置は、マーカに向けられた視線ベクトル(補正用の視線ベクトル)と関連付けて校正テーブルに記録される。
【0190】
例えば、校正テーブルに記録された相対位置を適宜参照することで、算出対象となる眼球画像21での輝点20と瞳孔中心22との相対位置から、その眼球画像21におけるユーザの視線ベクトルを算出することが可能である。以下では、単一の輝点20を用いて算出される視線ベクトルを第4の視線ベクトルと記載する。本実施形態では、単一の輝点20を用いて視線方向を推定する手法は、第2の手法に相当し、第4の視線ベクトルは、第2の視線方向に相当する。
【0191】
本実施形態では、輝点20のペアを用いて算出された第3の視線ベクトルと、単一の輝点20を用いて算出された第4の視線ベクトルとを合成して、合成視線ベクトルが算出される。第3の視線ベクトル及び第4の視線ベクトルは、所定の合成比率に基づいて合成される。以下具体的に説明する。
【0192】
図16は、第3及び第4の視線ベクトルを合成する合成比率の算出処理の一例を説明するための模式図である。
図16Aでは、角膜領域8の内側に第1の輝点20aと第2の輝点20bとが含まれる。
【0193】
例えば輝点20のペアを用いる手法により、第1の輝点20aと第2の輝点20bとのペアに基づいて、第3の視線ベクトルが算出される。単一の輝点20を用いる手法により、第1の輝点20a(もしくは第2の輝点20a)だけを用いて第4の視線ベクトルが算出される。あるいは第1の輝点20aから算出された視線ベクトルと、第2の輝点20aから算出された視線ベクトルとを適宜合成することで第4の視線ベクトルが算出されてもよい。
【0194】
第3及び第4の視線ベクトルを算出する処理は、例えば並列して計算される。算出された第3及び第4の視線ベクトルは、重み係数wc(合成比率)に基づいて適宜合成される。重み係数wcは、例えば第1の輝点20a及び第2の輝点20bのペアに基づいて、(1)式により算出される。
【0195】
例えば
図16Bに示すように、ペアの片方(第2の輝点20b)が角膜領域8から外れた場合には、第3の視線ベクトルの重み係数w
cがゼロとなり、第4の視線ベクトルの重み係数(1-w
c)が1となる。このような場合であっても合成視線ベクトルは、第4の視線ベクトルから第3の視線ベクトルにシームレスに切り替わることが可能であり、視線検出結果が不連続に変化するといった事態を十分に回避することが可能である。
【0196】
<第3の実施形態>
本実施形態では、輝点20を用いずに眼球4の特徴(画像特徴)を抽出して視線方向を算出する手法として、互いに異なる手法が用いられる。具体的には、眼球4の特徴部分の位置情報を用いて視線方向を算出する手法と、眼球4の特徴部分の形状情報を用いて視線方向を算出する手法とが用いられる。なお眼球4の特徴部分には、眼球4の瞳孔5、角膜7、及び虹彩6等が含まれる。
【0197】
眼球4の特徴部分の位置情報を用いる手法としては、瞳孔5や角膜7等の中心位置を検出して、検出された位置から所定の校正テーブルに基づいて視線ベクトルを算出する手法が挙げられる。例えば第1の実施形態で説明した瞳孔法は、位置情報を用いて視線方向を算出する手法の一例である。
【0198】
この他にも、瞳孔・虹彩(角膜領域8)の位置を利用した視線認識手法等が用いられてもよい。以下では、眼球4の特徴部分の位置情報を用いて算出される視線ベクトルを第5の視線ベクトルと記載する。本実施形態では、眼球4の特徴部分の位置情報を用いて視線方向を推定する手法は、第1の手法に相当し、第5の視線ベクトルは、第1の視線方向に相当する。
【0199】
眼球4の特徴部分の形状情報を用いる手法としては、瞳孔5や角膜7等の形状を抽出して、その形状から視線方向を算出する手法が挙げられる。例えば瞳孔5や角膜7等に対して楕円形状をフィッティングし、その楕円率等に基づいて、視線方向を推定することが可能である。
【0200】
以下では、眼球4の特徴部分の形状情報を用いて算出される視線ベクトルを第6の視線ベクトルと記載する。本実施形態では、眼球4の特徴部分の形状情報を用いて視線方向を推定する手法は、第2の手法に相当し、第6の視線ベクトルは、第2の視線方向に相当する。
【0201】
図17は、ユーザ1の視線方向と特徴部分との関係を説明するための模式図である。以下では、眼球4の特徴部分として、角膜領域8を検出する場合を例に説明を行う。
図17Aは、ユーザ1の上目蓋に角膜領域8の一部が隠れている場合の眼球画像21を示す模式図である。
図17Bは、ユーザ1の視線が眼領域3の周辺に向けられている場合の眼球画像21を示す模式図である。
【0202】
図17Aに示すように、ユーザ1の角膜領域8(黒眼)が目蓋に隠れている場合等には、角膜領域8の形状を適正に検出することが難しい場合がある。例えば、目蓋に隠れた状態の角膜領域8に対して楕円形状をフィッティングした場合、視線が正面に向けられている場合であっても、実際の角膜形状(図中の点線)と比べ、横長の楕円(図中の実線)等がフィッティングされる可能性がある。
【0203】
一方で、角膜領域8が目蓋に隠れていない状態で視線が正面に向けられている場合には、角膜領域8は略真円となる。この場合、角膜領域8にフィッティングされた楕円形状の楕円率等は、視線が動いたとしても大きく変化しない。従って例えば、眼領域3の中心部では、詳細な楕円形状を求めることが難しい場合があり得る。なお、眼領域3の中心部では、楕円形状の中心位置等を算出することで、視線方向を精度よく算出することが可能である。
【0204】
また、
図17Bに示すように、ユーザ1の視線が左右に向けられており、角膜領域8(瞳孔5)が眼領域3の周辺部にある場合には、球体状の眼球4の回転に伴い、角膜領域8は縦長の楕円形状となる。この場合、ユーザ1の視線の変化に伴い楕円形状は大きく変化し、楕円率等の変化量も大きくなる。従って眼領域3の周辺部では、角膜領域8にフィッティングされた楕円形状を参照することで、ユーザ1の視線方向を精度よく算出することが可能である。なお、眼領域3の周辺部では、角膜領域8の中心位置の変化量等は、中心部と比べて小さくなる。
【0205】
第5の視線ベクトルと第6の視線ベクトルとを合成する処理では、楕円形状の楕円率等に基づいて各視線ベクトルの重み係数が設定される。例えば、角膜領域8の形状(フィッティングされる楕円形状)が真円から横長になるほど、位置情報を用いて算出される第5の視線ベクトルの重み係数が高くなり、楕円形状が縦長になるほど形状情報を用いて算出される第6の視線ベクトルの重み係数が高くなるように、重み係数を適宜設定することが可能である。
【0206】
これにより、眼領域3の中心部では位置情報を用いた第5の視線ベクトルの割合が高く、周辺部では形状情報を用いた第6の視線ベクトルの割合が高い合成視線ベクトルを算出することが可能である。この結果、中心部及び周辺部の両方の領域で精度よく視線ベクトルを算出することが可能となる。また、第5及び第6の視線ベクトルは滑らかに切り替えられるため、不連続なとび等が発生しない安定した視線検出が可能となる。
【0207】
<その他の実施形態>
本技術は、以上説明した実施形態に限定されず、他の種々の実施形態を実現することができる。
【0208】
図10に示す処理では、第1の視線ベクトルと第2の視線ベクトルとを合成するための重み係数を用いて、第2の視線ベクトルを算出するための第2の補正パラメータが更新された。これに限定されず、第2の補正パラメータを更新する任意の処理が用いられてよい。
【0209】
例えば第1の視線ベクトルが算出されているか否かを判定し、その判定結果に基づいて第2の補正パラメータが更新されてもよい。すなわち、瞳孔角膜反射法を用いて第1の視線ベクトルが検出される場合に、第2の補正パラメータを更新するといった処理が実行されてもよい。また例えば、第1の視線ベクトルと第2の視線ベクトルとの信頼度を比較し、その比較結果に基づいて第2の補正パラメータが更新されてもよい。すなわち、第2の視線ベクトルの信頼度が十分に高い場合には、第2の補正パラメータを更新しないといった処理が実行されてもよい。
【0210】
また第2の視線ベクトルに基づいて、第1の視線ベクトルを算出するための第1の補正パラメータ(第1の校正テーブル)が更新されてもよい。例えば第2の視線ベクトルの信頼度が十分に高く、第1の視線ベクトルの信頼度が低下している場合等に、第2の視線ベクトルに基づいて第1の校正テーブルを更新するといった処理が実行されてもよい。
【0211】
図10に示す処理では、第1の視線ベクトルと第2の視線ベクトルとを合成して、ユーザ1の視線方向が決定された。これに限定されず、第1の視線ベクトルと第2の視線ベクトルとのどちらか一方を選択して、ユーザ1の視線方向を決定する処理が実行されてもよい。
【0212】
例えば、第1及び第2の視線ベクトルの信頼度がそれぞれ算出され、信頼度が高い視線ベクトルとユーザの視線方向として決定するといった判定処理が実行されてもよい。これにより、容易にユーザの視線方向を決定することが可能となり、処理時間や演算量等を抑制することが可能となる。
【0213】
また第1及び第2の視線ベクトルの判定処理とともに、第2の補正パラメータ等を更新する処理が実行されてもよい。例えば第1の視線ベクトルが所定の閾値よりも高い場合に、第1の視線ベクトルを用いて第2補正パラメータを更新する。このような処理が実行されてもよい。これにより、ユーザの動作やHMD等のゆるみに伴い眼球とカメラとの相対位置がずれた場合であっても、第2の視線ベクトルを高精度に算出することが可能となる。
【0214】
また、第1の視線ベクトルと第2の視線ベクトルとが切り替わる場合に、視線検出結果が不連続に変化するといった事態を十分に回避することが可能である。これにより、位置ずれに耐性のある、安定した視線検出を実現することが可能となる。
【0215】
図12Aに示す例では、輝点20のペアを用いて第1の視線ベクトルの重み係数が算出された。これに限定されず単一の輝点20を用いられる場合にも、重み係数を算出することが可能である。例えば、
図12Aに示す輝点20のペアの中点D1を、単一の輝点20の中心位置に置き換えることで、単一の輝点20で算出される第1の視線ベクトルに関する重み係数を算出することが可能である。これにより、輝点20のペアが検出できないような場合であっても、第1の視線ベクトルと第2の視線ベクトルとを適正に合成することが可能となる。
【0216】
図18は、他の実施形態に係るHMDの外観を示す斜視図である。HMD200は、透過型のディスプレイを備えたメガネ型の装置であり、ユーザの頭部に装着されて使用される。
【0217】
HMD200は、フレーム210、複数の赤外光源212、左右の赤外カメラ213L及び213R、左右のレンズ216L及び216R、左右の透過ディスプレイ217L及び217Rを有する。またフレーム210の内部や所定の位置には、
図5に示すのと略同様のコントローラ等が構成されている。
【0218】
複数の赤外光源212は、ユーザ1の眼球に向けて赤外光を照射可能なように、フレーム210の所定の位置に配置される。
図12では、ユーザの右眼に向けて赤外光を照射する4つの赤外光源212と、ユーザの左眼に向けて赤外光を照射する4つの赤外光源212とがそれぞれ設けられる。赤外光源212の数や配置は限定されず、例えば赤外カメラ213の撮影範囲等に応じて設定されてよい。
【0219】
左右の赤外カメラ213L及び213Rは、ユーザの左眼及び右眼を撮像可能なようにフレームの所定の位置に配置される。例えば赤外カメラ213L及び213Rにより撮影された左眼及び右眼の赤外線画像が、ユーザ1の眼球画像として用いられる。
【0220】
左右のレンズ216L及び216Rは、ユーザの左眼及び右眼の前方にそれぞれ配置される。透過ディスプレイ217L及び217Rは、ユーザの視野を覆うように、左右のレンズ216L及び216Rにそれぞれ設けられる。
【0221】
透過ディスプレイ217L及び217Rは、透過型のディスプレイであり、左眼及び右眼用の画像等がそれぞれ表示される。HMD200を装着するユーザは、現実の景色を視認すると同時に、各ディスプレイに表示される画像を視認することが可能となる。これにより、ユーザは拡張現実感(AR)等を体験することが可能となる。
【0222】
なお各透過ディスプレイには、外からの光をさえぎる調光素子等が設けられてもより。これにより、ユーザに視認される現実の景色を規制し、各ディスプレイに表示される画像を強調してユーザに視認させることが可能である。これにより、ユーザは仮想現実(VR)等を体験することが可能となる。
【0223】
例えば複数の赤外光源212から赤外光がユーザの眼球に照射された状態で、眼球画像が撮影される。撮影された眼球画像を用いて、瞳孔角膜反射法及び瞳孔法により、それぞれ視線ベクトルが算出される。所定の重み係数に基づいて各視線ベクトルが合成された合成視線ベクトルがユーザの視線方向として算出される。これにより、ユーザの視線方向を安定して検出することが可能である。
【0224】
このようにARグラス等の透過型のHMDにも、本技術は適用可能である。例えばARの体験時においては、ユーザの視線方向に合わせて画像表示等が実行される。例えば本技術により算出される視線結果等を用いることで、高精度でかつ安定したコンテンツ等の表示を実現することが可能である。
【0225】
上記の実施形態では、ユーザの眼領域の中心領域に向けて赤外光が照射された。これに限定されず、赤外光は、眼領域の周辺領域に照射されてもよい。例えば
図18に示すような透過型のHMDでは、ユーザの眼を正面から撮影できる位置に赤外カメラ等を設けることが難しい場合があり得る。このような場合、ユーザの眼を斜めから撮影するように赤外カメラが配置される。
【0226】
例えば赤外光源は、赤外カメラの撮影範囲に応じて、ユーザの眼領域の周辺領域に赤外光が照射されるように配置される。これにより、ユーザの瞳孔が正面からそれている場合であっても、瞳孔角膜反射法を用いることが可能となり、ユーザの視線方向を精度よく算出することが可能である。
【0227】
なお、ユーザの視線が正面に向けられている場合には、瞳孔法を用いてユーザの視線方向を算出することが可能である。すなわち、ユーザの視野中心では瞳孔法をもちいて視線方向を算出し、視野周辺では瞳孔角膜反射法を用いて視線方向を算出する。このような構成が採用されてもよい。
【0228】
またこのように構成された場合であっても、瞳孔法で用いられる校正テーブル等を瞳孔角膜反射法により算出された視線方向を使って更新することが可能である。これにより、メガネ型のHMD等においても、眼球の位置ずれに耐性のある安定した視線検出を実現することが可能となる。
【0229】
上記の実施形態では、おもにHMD等のアイウェア装置について説明した。これに限定されず、本技術は視線検出を行う任意の装置について適用可能である。例えば車両等に搭載されたカメラを用いて視線検出を行う車載用の運転者モニタリング装置や、医療向けの技術者用に用いられる視線操作型のUI装置、あるいはWebカメラ等を用いて視線検出を行なう場合等に、本技術が適用されてもよい。例えば、互いに異なる検出手法で検出された視線ベクトルを合成することで、安定した視線検出を実現することが可能である。この他、医療現場や、エンターテイメント、マーケティング等の様々分野で応用可能である。
【0230】
上記では、コントローラにより、ユーザの視線方向の決定等を含む、本技術に係る情報処理方法が実行された。これに限定されず、クラウドサーバにより、本技術に係る情報処理方法が実行されてもよい。すなわちコントローラの機能が、クラウドサーバに搭載されてもよい。この場合、当該クラウドサーバは、本技術に係る情報処理装置として動作することになる。
【0231】
またHMDに搭載されたコンピュータ(コントローラ)と、ネットワーク等を介して通信可能な他のコンピュータ(クラウドサーバ)とが連動することで、本技術に係る情報処理方法、及びプログラムが実行され、本技術に係る情報処理装置が構築されてもよい。
【0232】
すなわち本技術に係る情報処理方法、及びプログラムは、単体のコンピュータにより構成されたコンピュータシステムのみならず、複数のコンピュータが連動して動作するコンピュータシステムにおいても実行可能である。なお本開示において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれもシステムである。
【0233】
コンピュータシステムによる本技術に係る情報処理方法、及びプログラムの実行は、例えばユーザの眼情報の取得、第1の視線方向の決定、第2の視線方向の決定、信頼度情報の算出、及びユーザの視線方向の決定が、単体のコンピュータにより実行される場合、及び各処理が異なるコンピュータにより実行される場合の両方を含む。また所定のコンピュータによる各処理の実行は、当該処理の一部または全部を他のコンピュータに実行させその結果を取得することを含む。
【0234】
すなわち本技術に係る情報処理方法、及びプログラムは、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成にも適用することが可能である。
【0235】
以上説明した本技術に係る特徴部分のうち、少なくとも2つの特徴部分を組み合わせることも可能である。すなわち各実施形態で説明した種々の特徴部分は、各実施形態の区別なく、任意に組み合わされてもよい。また上記で記載した種々の効果は、あくまで例示であって限定されるものではなく、また他の効果が発揮されてもよい。
【0236】
なお、本技術は以下のような構成も採ることができる。
(1)ユーザの眼情報を取得する取得部と、
前記眼情報に基づいて第1の手法により第1の視線方向を決定し、前記眼情報に基づいて前記第1の手法とは異なる第2の手法により第2の視線方向を決定し、前記第1の視線方向及び前記第2の視線方向の少なくとも1方の信頼度に関する信頼度情報を算出し、算出された前記信頼度情報に基づいて前記ユーザの視線方向を決定する処理部と
を具備する情報処理装置。
(2)(1)に記載の情報処理装置であって、
前記処理部は、前記信頼度情報に基づいて、前記第1の視線方向と前記第2の視線方向とを合成して前記ユーザの視線方向を決定する
情報処理装置。
(3)(2)記載の情報処理装置であって、
前記信頼度情報は、前記第1の視線方向と前記第2の視線方向とを合成するための重み係数を含む
情報処理装置。
(4)(3)に記載の情報処理装置であって、
前記眼情報は、1以上の照射光を照射して前記ユーザの眼球を撮影した眼球画像を含み、
前記第1の手法は、前記眼球画像から前記1以上の照射光による1以上の輝点を検出し、前記検出された1以上の輝点に基づいて前記第1の視線方向を決定する手法である
情報処理装置。
(5)(4)に記載の情報処理装置であって、
前記1以上の照射光は、複数の照射光であり、
前記処理部は、前記眼球画像から前記複数の照射光による複数の輝点のうち互いに所定の配置となる輝点のペアを検出可能である
情報処理装置
(6)(5)に記載の情報処理装置であって、
前記処理部は、前記眼球の角膜領域を検出し、前記角膜領域内での前記輝点のペアの位置に基づいて前記重み係数を算出する
情報処理装置。
(7)(5)又は(6)に記載の情報処理装置であって、
前記処理部は、前記眼球の瞳孔中心を検出し、前記瞳孔中心に対する前記輝点のペアの距離に基づいて前記重み係数を算出する
情報処理装置。
(8)(5)から(7)のうちいずれか1つに記載の情報処理装置であって、
前記処理部は、前記輝点の面積を算出し、算出された前記輝点の面積に基づいて前記重み係数を算出する
情報処理装置。
(9)(5)から(8)のうちいずれか1つに記載の情報処理装置であって、
前記第1の手法は、前記複数の輝点のうち前記輝点のペアに基づいて前記第1の視線方向を決定する手法であり、
前記第2の手法は、前記複数の輝点のうち単一の輝点に基づいて前記第2の視線方向を決定する手法である
情報処理装置。
(10)(1)から(9)のうちいずれか1つに記載の情報処理装置であって、
前記処理部は、前記信頼度情報に基づいて、前記第1の視線方向を決定するための第1の補正パラメータと、前記第2の視線方向を決定するための第2の補正パラメータとの少なくとも一方を更新する
情報処理装置。
(11)(10)に記載の情報処理装置であって、
前記第1の手法は、前記眼球の表面に設定される基準点を基準として前記第1の視線方向を決定する手法であり、
前記処理部は、前記第1の視線方向に基づいて前記第2の補正パラメータを更新する
情報処理装置。
(12)(10)又は(11)に記載の情報処理装置であって、
前記信頼度情報は、前記第1の視線方向の信頼度を含み、
前記処理部は、前記第1の視線方向の信頼度に応じて、前記第2の補正パラメータを更新する
情報処理装置。
(13)(12)に記載の情報処理装置であって、
前記眼情報は、1以上の照射光を照射して前記ユーザの眼球を撮影した眼球画像を含み、
前記第1の手法は、前記眼球画像から前記1以上の照射光による1以上の輝点を検出し、前記検出された1以上の輝点に基づいて前記第1の視線方向を決定する手法であり、
前記処理部は、前記眼球画像に基づいて前記第1の視線方向の信頼度を算出する
情報処理装置。
(14)(13)に記載の情報処理装置であって、
前記1以上の照射光は、前記眼領域の中心領域及び周辺領域のどちらか一方に照射される
情報処理装置。
(15)(10)から(14)のうちいずれか1つに記載の情報処理装置であって、
前記処理部は、前記眼球画像における前記眼球を含む眼領域での瞳孔の位置に応じて前記第2の補正パラメータを更新する
情報処理装置。
(16)(10)から(15)のうちいずれか1つに記載の情報処理装置であって、
前記信頼度情報は、前記第1の視線方向と前記第2の視線方向とを合成するための、重み係数を含み、
前記処理部は、前記重み係数に基づいて、前記第2の補正パラメータを補正する
情報処理装置。
(17)(1)から(16)のうちいずれか1つに記載の情報処理装置であって、
前記第2の手法は、前記眼球画像から前記眼球の所定の特徴部分の位置及び形状の少なくとも一方を検出することで、前記第2の視線方向を決定する手法である
情報処理装置。
(18)(17)に記載の情報処理装置であって、
前記所定の特徴部分は、前記眼球の瞳孔、角膜、及び虹彩のいずれか1つを含む
情報処理装置。
(19)ユーザの眼情報を取得し、
前記眼情報に基づいて第1の手法により第1の視線方向を決定し、前記眼情報に基づいて前記第1の手法とは異なる第2の手法により第2の視線方向を決定し、前記第1の視線方向及び前記第2の視線方向の少なくとも1方の信頼度に関する信頼度情報を算出し、算出された前記信頼度情報に基づいて前記ユーザの視線方向を決定する
ことをコンピュータシステムが実行する情報処理方法。
(20)ユーザの眼情報を取得するステップと、
前記眼情報に基づいて第1の手法により第1の視線方向を決定し、前記眼情報に基づいて前記第1の手法とは異なる第2の手法により第2の視線方向を決定し、前記第1の視線方向及び前記第2の視線方向の少なくとも1方の信頼度に関する信頼度情報を算出し、算出された前記信頼度情報に基づいて前記ユーザの視線方向を決定するステップと
をコンピュータシステムに実行させるプログラム。
【符号の説明】
【0237】
Ec…第1の視線ベクトル
Ei…第2の視線ベクトル
E…合成視線ベクトル
wc…重み係数
1…ユーザ
3…眼領域
8…角膜領域
12、12a~12d、212…赤外光源
13、13L、13R、213L、213R…赤外カメラ
15…赤外光
20、20a、20b…輝点
21、21a、21b…眼球画像
22…瞳孔中心
30…コントローラ
31…画像取得部
32…画像処理部
33…第1視線検出部
34…第2視線検出部
35…合成比率算出部
36…視線合成部
37…補正パラメータ更新部
40…角膜領域検出部
41…輝点検出部
42…瞳孔中心検出部
100、200…HMD