(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-22
(45)【発行日】2024-08-30
(54)【発明の名称】眼追跡待ち時間向上
(51)【国際特許分類】
G06T 7/70 20170101AFI20240823BHJP
G06T 7/00 20170101ALI20240823BHJP
A61B 3/113 20060101ALI20240823BHJP
【FI】
G06T7/70 B
G06T7/00 660A
G06T7/00 350B
A61B3/113
(21)【出願番号】P 2021578179
(86)(22)【出願日】2020-07-01
(86)【国際出願番号】 US2020040549
(87)【国際公開番号】W WO2021007087
(87)【国際公開日】2021-01-14
【審査請求日】2023-06-23
(32)【優先日】2019-07-05
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-12-09
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】514108838
【氏名又は名称】マジック リープ, インコーポレイテッド
【氏名又は名称原語表記】Magic Leap,Inc.
【住所又は居所原語表記】7500 W SUNRISE BLVD,PLANTATION,FL 33322 USA
(74)【代理人】
【識別番号】100078282
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】スチュアート, ブラッドリー ヴィンセント
(72)【発明者】
【氏名】ファーマー, ダニエル
(72)【発明者】
【氏名】ジャン, ティエジアン
(72)【発明者】
【氏名】ダス, シウリ
(72)【発明者】
【氏名】シャンバーグ, スラジ マンジュナス
(72)【発明者】
【氏名】フォンセカ, エリック
【審査官】佐田 宏史
(56)【参考文献】
【文献】特開2012-055428(JP,A)
【文献】特表2014-532542(JP,A)
【文献】特表2017-526078(JP,A)
【文献】特表2017-536618(JP,A)
【文献】国際公開第2018/000020(WO,A1)
【文献】米国特許出願公開第2019/0073533(US,A1)
【文献】米国特許出願公開第2019/0076015(US,A1)
【文献】米国特許出願公開第2019/0076014(US,A1)
【文献】Annemiek D. Barsingerhorn et al.,"Development and validation of a high-speed stereoscopic eyetracker",Behavior Research Methods,米国,The Psychonomic Society, Inc.,2018年03月05日,Vol.50, No.6,pp.2480-2497,https://link.springer.com/article/10.3758/s13428-018-1026-7
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00,7/00-7/90
G06V 10/00-10/98
A61B 3/113
(57)【特許請求の範囲】
【請求項1】
頭部搭載型システムであって、
ユーザの眼の画像を捕捉するように構成されるカメラと、
1つ以上の光源であって、前記1つ以上の光源は、閃光が前記ユーザの眼の画像内に表されるように、前記ユーザの眼を照明するように構成される、1つ以上の光源と、
1つ以上のプロセッサであって、前記1つ以上のプロセッサは、
前記ユーザの眼の第1の画像を前記カメラから取得することと、
眼の画像を前提として虹彩セグメント化データおよび瞳孔セグメント化データを生成するように訓練されている機械学習モデルに、前記第1の画像を入力として提供することと、
前記第1の画像に続いて、前記ユーザの眼の第2の画像を前記カメラから取得することと、
前記虹彩セグメント化データに基づいて、1つ以上の閃光が表される前記第2の画像内の1つ以上の場所のセットを検出することと、
前記瞳孔セグメント化データに基づいて、前記ユーザの眼の瞳孔が表される前記第2の画像の領域を識別することと、
少なくとも部分的に、前記第2の画像内の1つ以上の閃光場所の検出されたセットと、前記第2の画像の識別された領域とに基づいて、前記ユーザの眼の姿勢を決定することと
を行うように構成される、1つ以上のプロセッサと
を備える、システム。
【請求項2】
前記1つ以上のプロセッサはさらに、
前記機械学習モデルを介して、前記第2の画像に関する虹彩セグメント化データおよび瞳孔セグメント化データを取得することと、
前記ユーザの眼の第3の画像を前記カメラから取得することと、
それぞれ、前記第2の画像に関する前記機械学習モデルによって生成された前記虹彩セグメント化データに基づいて、前記第3の画像内の1つ以上の閃光が示される1つ以上の場所のセットを検出することと、
前記第2の画像に関する前記機械学習モデルによって生成された前記瞳孔セグメント化データに基づいて、前記ユーザの眼の瞳孔が表される前記第3の画像の領域を識別することと、
少なくとも部分的に、前記第3の画像内の1つ以上の閃光場所の検出されたセットと、前記第3の画像の識別された領域とに基づいて、前記ユーザの眼の姿勢を決定することと
を行うように構成される、請求項1に記載のシステム。
【請求項3】
前記1つ以上のプロセッサはさらに、
前記虹彩セグメント化データに基づいて、前記第2の画像の第2の領域を識別する
ように構成され、
前記第2の画像内の1つ以上の閃光が示される1つ以上の場所のセットを検出するために、前記1つ以上のプロセッサは、
前記第2の領域内の極大強度値を呈する個別の場所に関して前記第2の画像の第2の領域を検索する
ように構成される、請求項1に記載のシステム。
【請求項4】
前記1つ以上のプロセッサはさらに、
1つ以上の閃光が示される1つ以上の場所のセットに関する前記
第2の領域外の前記第2の画像の領域を検索しないようにする
ように構成される、請求項3に記載のシステム。
【請求項5】
前記1つ以上のプロセッサはさらに、
前記虹彩セグメント化データに基づいて、前記第1の画像内の前記ユーザの眼の虹彩の輪郭を識別する
ように構成され、
前記虹彩セグメント化データに基づいて、前記第2の画像の異なる領域を識別するために、前記1つ以上のプロセッサは、
前記第1の画像内の前記ユーザの眼の虹彩の識別された輪郭に基づいて、前記第2の画像の第3の領域を識別する
ように構成される、請求項3に記載のシステム。
【請求項6】
前記1つ以上のプロセッサはさらに、
前記瞳孔セグメント化データに基づいて、前記第1の画像内の前記ユーザの眼の瞳孔の重心を識別する
ように構成され、
前記第2の画像の領域を識別するために、前記1つ以上のプロセッサは、
前記第1の画像内の前記ユーザの眼の瞳孔の識別された重心に基づいて、前記ユーザの眼の瞳孔が表される前記第2の画像の第2の領域を識別する
ように構成される、請求項1に記載のシステム。
【請求項7】
前記第2の画像の第2の領域を識別するために、前記1つ以上のプロセッサは、
前記第1の画像内の前記ユーザの眼の瞳孔の識別された重心に基づいて、前記第2の画像内の場所を識別することと、
前記第2の画像内で識別された場所から、瞳孔境界を検索することと
を行うように構成される、請求項6に記載のシステム。
【請求項8】
前記第2の画像内で識別された場所から、瞳孔境界を検索するために、前記1つ以上のプロセッサは、
開始点として割り当てられる前記第2の画像内で識別された場所に基づいて、スターバースト瞳孔検出プロセスを実施する
ように構成される、請求項7に記載のシステム。
【請求項9】
少なくとも部分的に、前記第2の画像内の1つ以上の閃光場所の検出されたセットと、前記第2の画像の識別された領域とに基づいて、前記ユーザの眼の姿勢を決定するために、前記1つ以上のプロセッサは、
少なくとも部分的に、前記第2の画像内の1つ以上の閃光場所の検出されたセットと、前記第2の画像の識別された領域とに基づいて、前記ユーザの眼の光学軸の位置および配向推定値を取得する
ように構成される、請求項1に記載のシステム。
【請求項10】
前記1つ以上のプロセッサはさらに、
前記第2の画像内の1つ以上の閃光場所の検出されたセットに基づいて、前記第2の画像内の前記ユーザの眼の角膜の3次元場所の推定値を取得する
ように構成され、
前記ユーザの眼の姿勢を決定するために、前記1つ以上のプロセッサは、
少なくとも部分的に、前記第2の画像内の前記ユーザの眼の角膜の推定される場所と、前記第2の画像の識別された領域とに基づいて、前記姿勢を決定する
ように構成される、請求項1に記載のシステム。
【請求項11】
前記1つ以上のプロセッサはさらに、
前記第2の画像内の前記ユーザの眼の角膜の推定される場所と、前記第2の画像の識別された領域とに基づいて、前記第2の画像内の前記ユーザの眼の瞳孔の3次元場所の推定値を取得する
ように構成され、
前記ユーザの眼の姿勢を決定するために、前記1つ以上のプロセッサは、
少なくとも部分的に、前記第2の画像内の前記ユーザの眼の角膜の推定される場所と、前記第2の画像内の前記ユーザの眼の瞳孔の推定される場所とに基づいて、前記姿勢を決定する
ように構成される、請求項10に記載のシステム。
【請求項12】
前記1つ以上のプロセッサはさらに、
前記ユーザの眼の第3の画像を取得することと、
それぞれ、前記機械学習モデルによって直近に生成された虹彩セグメント化データに基づいて、1つ以上の閃光が表される前記第3の画像内の1つ以上の場所のセットを検出することと、
前記機械学習モデルによって直近に生成された瞳孔セグメント化データに基づいて、前記ユーザの眼の瞳孔が示される前記第3の画像の領域を識別することと、
少なくとも部分的に、前記第3の画像内の1つ以上の閃光場所の検出されたセットと、前記第3の画像の識別された領域とに基づいて、前記ユーザの眼の第2の姿勢を決定することと
を行うように構成される、請求項1に記載のシステム。
【請求項13】
前記機械学習モデルによって直近に生成された前記虹彩セグメント化データおよび瞳孔セグメント化データは、前記第2の画像に関して前記機械学習モデルによって生成された虹彩セグメント化データおよび瞳孔セグメント化データを備える、請求項12に記載のシステム。
【請求項14】
前記機械学習モデルによって直近に生成された前記虹彩セグメント化データおよび瞳孔セグメント化データは、前記第1の画像に関して前記機械学習モデルによって生成された虹彩セグメント化データおよび瞳孔セグメント化データを備える、請求項12に記載のシステム。
【請求項15】
前記1つ以上のプロセッサはさらに、
前記第2の画像を入力として前記機械学習モデルに提供する
ように構成され、
前記機械学習モデルによって直近に生成された前記虹彩セグメント化データおよび瞳孔セグメント化データは、前記第3の画像に関して前記機械学習モデルによって生成された虹彩セグメント化データおよび瞳孔セグメント化データを備える、請求項12に記載のシステム。
【請求項16】
前記1つ以上のプロセッサはさらに、前記第2の画像を入力として前記機械学習モデルに提供しないようにするように構成される、請求項12に記載のシステム。
【請求項17】
1つ以上のプロセッサの頭部搭載型システムによって実装される方法であって、前記頭部搭載型システムは、閃光が眼の画像内に表されるように、ユーザの眼を照明するように構成され、前記方法は、
前記ユーザの眼の第1の画像を取得することと、
眼の画像を前提として虹彩セグメント化データおよび瞳孔セグメント化データを生成するように訓練されている機械学習モデルに、前記第1の画像を入力として提供することと、
前記ユーザの眼の第2の画像を取得することと、
前記虹彩セグメント化データに基づいて、1つ以上の閃光が表される前記第2の画像内の1つ以上の場所のセットを検出することと、
前記瞳孔セグメント化データに基づいて、前記ユーザの眼の瞳孔が表される前記第2の画像の領域を識別することと、
少なくとも部分的に、前記第2の画像内の1つ以上の閃光場所の検出されたセットと、前記第2の画像の識別された領域とに基づいて、前記ユーザの眼の姿勢を決定することと
を含む、方法。
【請求項18】
前記機械学習モデルを介して、前記第2の画像に関する虹彩セグメント化データおよび瞳孔セグメント化データを取得することと、
前記ユーザの眼の第3の画像を取得することと、
それぞれ、前記第2の画像に関する前記機械学習モデルによって生成された前記虹彩セグメント化データに基づいて、前記第3の画像内の1つ以上の閃光が示される1つ以上の場所のセットを検出することと、
前記第2の画像に関する前記機械学習モデルによって生成された前記瞳孔セグメント化データに基づいて、前記ユーザの眼の瞳孔が表される前記第3の画像の領域を識別することと、
少なくとも部分的に、前記第3の画像内の1つ以上の閃光場所の検出されたセットと、前記第3の画像の識別された領域とに基づいて、前記ユーザの眼の姿勢を決定することと
をさらに含む、請求項17に記載の方法。
【請求項19】
前記虹彩セグメント化データに基づいて、前記第2の画像の第2の領域を識別すること
をさらに含み、
前記第2の画像内の1つ以上の閃光が示される1つ以上の場所のセットを検出するために、前記方法はさらに、
前記第2の領域内の極大強度値を呈する個別の場所に関して前記第2の画像の第2の領域を検索すること
を含む、請求項17に記載の方法。
【請求項20】
前記頭部搭載型システムは、1つ以上の閃光が示される1つ以上の場所のセットに関する前記
第2の領域外の前記第2の画像の領域を検索しないようにするように構成される、請求項19に記載の方法。
【請求項21】
前記虹彩セグメント化データに基づいて、前記第1の画像内の前記ユーザの眼の虹彩の輪郭を識別すること
をさらに含み、
前記虹彩セグメント化データに基づいて、前記第2の画像の異なる領域を識別するために、前記方法はさらに、
前記第1の画像内の前記ユーザの眼の虹彩の識別された輪郭に基づいて、前記第2の画像の第3の領域を識別すること
を含む、請求項19に記載の方法。
【請求項22】
前記瞳孔セグメント化データに基づいて、前記第1の画像内の前記ユーザの眼の瞳孔の重心を識別すること
をさらに含み、
前記第2の画像の領域を識別するために、前記方法はさらに、
前記第1の画像内の前記ユーザの眼の瞳孔の識別された重心に基づいて、前記ユーザの眼の瞳孔が表される前記第2の画像の第2の領域を識別すること
を含む、請求項17に記載の方法。
【請求項23】
前記第2の画像の第2の領域を識別するために、前記方法は、
前記第1の画像内の前記ユーザの眼の瞳孔の識別された重心に基づいて、前記第2の画像内の場所を識別することと、
前記第2の画像内で識別された場所から、瞳孔境界を検索することと
を含む、請求項22に記載の方法。
【請求項24】
前記第2の画像内で識別された場所から、瞳孔境界を検索するために、前記方法は、
開始点として割り当てられる前記第2の画像内で識別された場所に基づいて、スターバースト瞳孔検出プロセスを実施すること
を含む、請求項23に記載の方法。
【請求項25】
少なくとも部分的に、前記第2の画像内の1つ以上の閃光場所の検出されたセットと、前記第2の画像の識別された領域とに基づいて、前記ユーザの眼の姿勢を決定するために、前記方法は、
少なくとも部分的に、前記第2の画像内の1つ以上の閃光場所の検出されたセットと、前記第2の画像の識別された領域とに基づいて、前記ユーザの眼の光学軸の位置および配向推定値を取得すること
を含む、請求項17に記載の方法。
【請求項26】
前記方法は、
前記第2の画像内の1つ以上の閃光場所の検出されたセットに基づいて、前記第2の画像内の前記ユーザの眼の角膜の3次元場所の推定値を取得すること
をさらに含み、
前記ユーザの眼の姿勢を決定するために、前記方法は、
少なくとも部分的に、前記第2の画像内の前記ユーザの眼の角膜の推定される場所と、前記第2の画像の識別された領域とに基づいて、前記姿勢を決定すること
を含む、請求項17に記載の方法。
【請求項27】
前記方法はさらに、
前記第2の画像内の前記ユーザの眼の角膜の推定される場所と、前記第2の画像の識別された領域とに基づいて、前記第2の画像内の前記ユーザの眼の瞳孔の3次元場所の推定値を取得すること
を含み、
前記ユーザの眼の姿勢を決定するために、前記方法は、
少なくとも部分的に、前記第2の画像内の前記ユーザの眼の角膜の推定される場所と、前記第2の画像内の前記ユーザの眼の瞳孔の推定される場所とに基づいて、前記姿勢を決定すること
を含む、請求項26に記載の方法。
【請求項28】
前記方法はさらに、
前記ユーザの眼の第3の画像を取得することと、
それぞれ、前記機械学習モデルによって直近に生成された虹彩セグメント化データに基づいて、1つ以上の閃光が表される前記第3の画像内の1つ以上の場所のセットを検出することと、
前記機械学習モデルによって直近に生成された瞳孔セグメント化データに基づいて、前記ユーザの眼の瞳孔が示される前記第3の画像の領域を識別することと、
少なくとも部分的に、前記第3の画像内の1つ以上の閃光場所の検出されたセットと、前記第3の画像の識別された領域とに基づいて、前記ユーザの眼の第2の姿勢を決定することと
を含む、請求項17に記載の方法。
【請求項29】
前記機械学習モデルによって直近に生成された前記虹彩セグメント化データおよび瞳孔セグメント化データは、前記第2の画像に関して前記機械学習モデルによって生成された虹彩セグメント化データおよび瞳孔セグメント化データを備える、請求項28に記載の方法。
【請求項30】
前記機械学習モデルによって直近に生成された前記虹彩セグメント化データおよび瞳孔セグメント化データは、前記第1の画像に関して前記機械学習モデルによって生成された虹彩セグメント化データおよび瞳孔セグメント化データを備える、請求項28に記載の方法。
【請求項31】
前記方法はさらに、
前記第2の画像を入力として前記機械学習モデルに提供すること
を含み、
前記機械学習モデルによって直近に生成された前記虹彩セグメント化データおよび瞳孔セグメント化データは、前記第3の画像に関して前記機械学習モデルによって生成された虹彩セグメント化データおよび瞳孔セグメント化データを備える、請求項28に記載の方法。
【請求項32】
前記頭部搭載型システムは、前記第2の画像を入力として前記機械学習モデルに提供しないようにするように構成される、請求項28に記載の方法。
【発明の詳細な説明】
【背景技術】
【0001】
(参照による組み込み)
本願は、参照することによって、以下の特許出願、すなわち、2019年7月5日に出願された、米国仮特許出願第62/871,009号、および2019年12月9日に出願された、米国仮特許出願第62/945562号のそれぞれの全体を組み込む。
【0002】
本開示は、概して、眼画像を処理するため、より具体的には、カスケード式形状回帰を使用して、瞳孔、虹彩、または眼瞼を備える、詳細な眼形状モデルを推定するためのシステムおよび方法に関する。ヒトの虹彩は、バイオメトリック情報の源として使用されることができる。バイオメトリック情報は、個人の認証または識別を提供することができる。バイオメトリック情報は、加えて、または代替として、眼の視線方向を決定するために使用されることができる。
【発明の概要】
【課題を解決するための手段】
【0003】
詳細な眼形状モデルを使用する、ロバストなバイオメトリック用途のためのシステムおよび方法が、説明される。一側面では、(例えば、拡張現実ディスプレイデバイス上の眼追跡カメラから)眼の眼画像を受信した後、眼画像内の眼の眼形状(例えば、上または下眼瞼、虹彩、または瞳孔の形状)が、カスケード式形状回帰方法を使用して計算される。推定眼形状に関連する眼特徴が、次いで、決定され、視線推定またはバイオメトリック識別または認証(例えば、虹彩コード)等のバイオメトリック用途で使用されることができる。カスケード式形状回帰方法は、例えば、眼瞼、瞳孔、および虹彩の形状を標識する、注釈付き眼画像のセットについて訓練されることができる。
本明細書は、例えば、以下の項目も提供する。
(項目1)
頭部搭載型システムであって、
ユーザの眼の画像を捕捉するように構成されるカメラと、
1つ以上の光源であって、前記1つ以上の光源は、閃光が前記ユーザの眼の画像内に表されるように、前記ユーザの眼を照明するように構成される、1つ以上の光源と、
1つ以上のプロセッサであって、前記1つ以上のプロセッサは、
前記ユーザの眼の第1の画像を前記カメラから取得することと、
眼の画像を前提として虹彩セグメント化データおよび瞳孔セグメント化データを生成するように訓練されている機械学習モデルに、前記第1の画像を入力として提供することと、
前記第1の画像に続いて、前記ユーザの眼の第2の画像を前記カメラから取得することと、
前記虹彩セグメント化データに基づいて、1つ以上の閃光が表される前記第2の画像内の1つ以上の場所のセットを検出することと、
前記瞳孔セグメント化データに基づいて、前記ユーザの眼の瞳孔が表される前記第2の画像の領域を識別することと、
少なくとも部分的に、前記第2の画像内の1つ以上の閃光場所の検出されたセットと、前記第2の画像の識別された領域とに基づいて、前記ユーザの眼の姿勢を決定することと
を行うように構成される、1つ以上のプロセッサと
を備える、システム。
(項目2)
前記1つ以上のプロセッサはさらに、
前記機械学習モデルを介して、前記第2の画像に関する虹彩セグメント化データおよび瞳孔セグメント化データを取得することと、
前記ユーザの眼の第3の画像を前記カメラから取得することと、
それぞれ、前記第2の画像に関する前記機械学習モデルによって生成された前記虹彩セグメント化データに基づいて、前記第3の画像内の1つ以上の閃光が示される1つ以上の場所のセットを検出することと、
前記第2の画像に関する前記機械学習モデルによって生成された前記瞳孔セグメント化データに基づいて、前記ユーザの眼の瞳孔が表される前記第3の画像の領域を識別することと、
少なくとも部分的に、前記第3の画像内の1つ以上の閃光場所の検出されたセットと、前記第3の画像の識別された領域とに基づいて、前記ユーザの眼の姿勢を決定することと
を行うように構成される、項目1に記載のシステム。
(項目3)
前記1つ以上のプロセッサはさらに、
前記虹彩セグメント化データに基づいて、前記第2の画像の第2の領域を識別する
ように構成され、
前記第2の画像内の1つ以上の閃光が示される1つ以上の場所のセットを検出するために、前記1つ以上のプロセッサは、
前記第2の領域内の極大強度値を呈する個別の場所に関して前記第2の画像の第2の領域を検索する
ように構成される、項目1に記載のシステム。
(項目4)
前記1つ以上のプロセッサはさらに、
1つ以上の閃光が示される1つ以上の場所のセットに関する前記特定の領域外の前記第2の画像の領域を検索しないようにする
ように構成される、項目3に記載のシステム。
(項目5)
前記1つ以上のプロセッサはさらに、
前記虹彩セグメント化データに基づいて、前記第1の画像内の前記ユーザの眼の虹彩の輪郭を識別する
ように構成され、
前記虹彩セグメント化データに基づいて、前記第2の画像の異なる領域を識別するために、前記1つ以上のプロセッサは、
前記第1の画像内の前記ユーザの眼の虹彩の識別された輪郭に基づいて、前記第2の画像の第3の領域を識別する
ように構成される、項目3に記載のシステム。
(項目6)
前記1つ以上のプロセッサはさらに、
前記瞳孔セグメント化データに基づいて、前記第1の画像内の前記ユーザの眼の瞳孔の重心を識別する
ように構成され、
前記第2の画像の領域を識別するために、前記1つ以上のプロセッサは、
前記第1の画像内の前記ユーザの眼の瞳孔の識別された重心に基づいて、前記ユーザの眼の瞳孔が表される前記第2の画像の第2の領域を識別する
ように構成される、項目1に記載のシステム。
(項目7)
前記第2の画像の第2の領域を識別するために、前記1つ以上のプロセッサは、
前記第1の画像内の前記ユーザの眼の瞳孔の識別された重心に基づいて、前記第2の画像内の場所を識別することと、
前記第2の画像内で識別された場所から、瞳孔境界を検索することと
を行うように構成される、項目6に記載のシステム。
(項目8)
前記第2の画像内で識別された場所から、瞳孔境界を検索するために、前記1つ以上のプロセッサは、
開始点として割り当てられる前記第2の画像内で識別された場所に基づいて、スターバースト瞳孔検出プロセスを実施する
ように構成される、項目7に記載のシステム。
(項目9)
少なくとも部分的に、前記第2の画像内の1つ以上の閃光場所の検出されたセットと、前記第2の画像の識別された領域とに基づいて、前記ユーザの眼の姿勢を決定するために、前記1つ以上のプロセッサは、
少なくとも部分的に、前記第2の画像内の1つ以上の閃光場所の検出されたセットと、前記第2の画像の識別された領域とに基づいて、前記ユーザの眼の光学軸の位置および配向推定値を取得する
ように構成される、項目1に記載のシステム。
(項目10)
前記1つ以上のプロセッサはさらに、
前記第2の画像内の1つ以上の閃光場所の検出されたセットに基づいて、前記第2の画像内の前記ユーザの眼の角膜の3次元場所の推定値を取得する
ように構成され、
前記ユーザの眼の姿勢を決定するために、前記1つ以上のプロセッサは、
少なくとも部分的に、前記第2の画像内の前記ユーザの眼の角膜の推定される場所と、前記第2の画像の識別された領域とに基づいて、前記姿勢を決定する
ように構成される、項目1に記載のシステム。
(項目11)
前記1つ以上のプロセッサはさらに、
前記第2の画像内の前記ユーザの眼の角膜の推定される場所と、前記第2の画像の識別された領域とに基づいて、前記第2の画像内の前記ユーザの眼の瞳孔の3次元場所の推定値を取得する
ように構成され、
前記ユーザの眼の姿勢を決定するために、前記1つ以上のプロセッサは、
少なくとも部分的に、前記第2の画像内の前記ユーザの眼の角膜の推定される場所と、前記第2の画像内の前記ユーザの眼の瞳孔の推定される場所とに基づいて、前記姿勢を決定する
ように構成される、項目10に記載のシステム。
(項目12)
前記1つ以上のプロセッサはさらに、
前記ユーザの眼の第3の画像を取得することと、
それぞれ、前記機械学習モデルによって直近に生成された虹彩セグメント化データに基づいて、1つ以上の閃光が表される前記第3の画像内の1つ以上の場所のセットを検出することと、
前記機械学習モデルによって直近に生成された瞳孔セグメント化データに基づいて、前記ユーザの眼の瞳孔が示される前記第3の画像の領域を識別することと、
少なくとも部分的に、前記第3の画像内の1つ以上の閃光場所の検出されたセットと、前記第3の画像の識別された領域とに基づいて、前記ユーザの眼の第2の姿勢を決定することと
を行うように構成される、項目1に記載のシステム。
(項目13)
前記機械学習モデルによって直近に生成された前記虹彩セグメント化データおよび瞳孔セグメント化データは、前記第2の画像に関して前記機械学習モデルによって生成された虹彩セグメント化データおよび瞳孔セグメント化データを備える、項目12に記載のシステム。
(項目14)
前記機械学習モデルによって直近に生成された前記虹彩セグメント化データおよび瞳孔セグメント化データは、前記第1の画像に関して前記機械学習モデルによって生成された虹彩セグメント化データおよび瞳孔セグメント化データを備える、項目12に記載のシステム。
(項目15)
前記1つ以上のプロセッサはさらに、
前記第2の画像を入力として前記機械学習モデルに提供する
ように構成され、
前記機械学習モデルによって直近に生成された前記虹彩セグメント化データおよび瞳孔セグメント化データは、前記第3の画像に関して前記機械学習モデルによって生成された虹彩セグメント化データおよび瞳孔セグメント化データを備える、項目12に記載のシステム。
(項目16)
前記1つ以上のプロセッサはさらに、前記第2の画像を入力として前記機械学習モデルに提供しないようにするように構成される、項目12に記載のシステム。
(項目17)
1つ以上のプロセッサの頭部搭載型システムによって実装される方法であって、前記頭部搭載型システムは、閃光が眼の画像内に表されるように、ユーザの眼を照明するように構成され、前記方法は、
前記ユーザの眼の第1の画像を取得することと、
眼の画像を前提として虹彩セグメント化データおよび瞳孔セグメント化データを生成するように訓練されている機械学習モデルに、前記第1の画像を入力として提供することと、
前記ユーザの眼の第2の画像を取得することと、
前記虹彩セグメント化データに基づいて、1つ以上の閃光が表される前記第2の画像内の1つ以上の場所のセットを検出することと、
前記瞳孔セグメント化データに基づいて、前記ユーザの眼の瞳孔が表される前記第2の画像の領域を識別することと、
少なくとも部分的に、前記第2の画像内の1つ以上の閃光場所の検出されたセットと、前記第2の画像の識別された領域とに基づいて、前記ユーザの眼の姿勢を決定することと
を含む、方法。
(項目18)
前記機械学習モデルを介して、前記第2の画像に関する虹彩セグメント化データおよび瞳孔セグメント化データを取得することと、
前記ユーザの眼の第3の画像を取得することと、
それぞれ、前記第2の画像に関する前記機械学習モデルによって生成された前記虹彩セグメント化データに基づいて、前記第3の画像内の1つ以上の閃光が示される1つ以上の場所のセットを検出することと、
前記第2の画像に関する前記機械学習モデルによって生成された前記瞳孔セグメント化データに基づいて、前記ユーザの眼の瞳孔が表される前記第3の画像の領域を識別することと、
少なくとも部分的に、前記第3の画像内の1つ以上の閃光場所の検出されたセットと、前記第3の画像の識別された領域とに基づいて、前記ユーザの眼の姿勢を決定することと
をさらに含む、項目17に記載の方法。
(項目19)
前記虹彩セグメント化データに基づいて、前記第2の画像の第2の領域を識別すること
をさらに含み、
前記第2の画像内の1つ以上の閃光が示される1つ以上の場所のセットを検出するために、前記方法はさらに、
前記第2の領域内の極大強度値を呈する個別の場所に関して前記第2の画像の第2の領域を検索すること
を含む、項目17に記載の方法。
(項目20)
前記頭部搭載型システムは、1つ以上の閃光が示される1つ以上の場所のセットに関する前記特定の領域外の前記第2の画像の領域を検索しないようにするように構成される、項目19に記載の方法。
(項目21)
前記虹彩セグメント化データに基づいて、前記第1の画像内の前記ユーザの眼の虹彩の輪郭を識別すること
をさらに含み、
前記虹彩セグメント化データに基づいて、前記第2の画像の異なる領域を識別するために、前記方法はさらに、
前記第1の画像内の前記ユーザの眼の虹彩の識別された輪郭に基づいて、前記第2の画像の第3の領域を識別すること
を含む、項目19に記載の方法。
(項目22)
前記瞳孔セグメント化データに基づいて、前記第1の画像内の前記ユーザの眼の瞳孔の重心を識別すること
をさらに含み、
前記第2の画像の領域を識別するために、前記方法はさらに、
前記第1の画像内の前記ユーザの眼の瞳孔の識別された重心に基づいて、前記ユーザの眼の瞳孔が表される前記第2の画像の第2の領域を識別すること
を含む、項目17に記載の方法。
(項目23)
前記第2の画像の第2の領域を識別するために、前記方法は、
前記第1の画像内の前記ユーザの眼の瞳孔の識別された重心に基づいて、前記第2の画像内の場所を識別することと、
前記第2の画像内で識別された場所から、瞳孔境界を検索することと
を含む、項目22に記載の方法。
(項目24)
前記第2の画像内で識別された場所から、瞳孔境界を検索するために、前記方法は、
開始点として割り当てられる前記第2の画像内で識別された場所に基づいて、スターバースト瞳孔検出プロセスを実施すること
を含む、項目23に記載の方法。
(項目25)
少なくとも部分的に、前記第2の画像内の1つ以上の閃光場所の検出されたセットと、前記第2の画像の識別された領域とに基づいて、前記ユーザの眼の姿勢を決定するために、前記方法は、
少なくとも部分的に、前記第2の画像内の1つ以上の閃光場所の検出されたセットと、前記第2の画像の識別された領域とに基づいて、前記ユーザの眼の光学軸の位置および配向推定値を取得すること
を含む、項目17に記載の方法。
(項目26)
前記方法は、
前記第2の画像内の1つ以上の閃光場所の検出されたセットに基づいて、前記第2の画像内の前記ユーザの眼の角膜の3次元場所の推定値を取得すること
をさらに含み、
前記ユーザの眼の姿勢を決定するために、前記方法は、
少なくとも部分的に、前記第2の画像内の前記ユーザの眼の角膜の推定される場所と、前記第2の画像の識別された領域とに基づいて、前記姿勢を決定すること
を含む、項目17に記載の方法。
(項目27)
前記方法はさらに、
前記第2の画像内の前記ユーザの眼の角膜の推定される場所と、前記第2の画像の識別された領域とに基づいて、前記第2の画像内の前記ユーザの眼の瞳孔の3次元場所の推定値を取得すること
を含み、
前記ユーザの眼の姿勢を決定するために、前記方法は、
少なくとも部分的に、前記第2の画像内の前記ユーザの眼の角膜の推定される場所と、前記第2の画像内の前記ユーザの眼の瞳孔の推定される場所とに基づいて、前記姿勢を決定すること
を含む、項目26に記載の方法。
(項目28)
前記方法はさらに、
前記ユーザの眼の第3の画像を取得することと、
それぞれ、前記機械学習モデルによって直近に生成された虹彩セグメント化データに基づいて、1つ以上の閃光が表される前記第3の画像内の1つ以上の場所のセットを検出することと、
前記機械学習モデルによって直近に生成された瞳孔セグメント化データに基づいて、前記ユーザの眼の瞳孔が示される前記第3の画像の領域を識別することと、
少なくとも部分的に、前記第3の画像内の1つ以上の閃光場所の検出されたセットと、前記第3の画像の識別された領域とに基づいて、前記ユーザの眼の第2の姿勢を決定することと
を含む、項目17に記載の方法。
(項目29)
前記機械学習モデルによって直近に生成された前記虹彩セグメント化データおよび瞳孔セグメント化データは、前記第2の画像に関して前記機械学習モデルによって生成された虹彩セグメント化データおよび瞳孔セグメント化データを備える、項目28に記載の方法。
(項目30)
前記機械学習モデルによって直近に生成された前記虹彩セグメント化データおよび瞳孔セグメント化データは、前記第1の画像に関して前記機械学習モデルによって生成された虹彩セグメント化データおよび瞳孔セグメント化データを備える、項目28に記載の方法。
(項目31)
前記方法はさらに、
前記第2の画像を入力として前記機械学習モデルに提供すること
を含み、
前記機械学習モデルによって直近に生成された前記虹彩セグメント化データおよび瞳孔セグメント化データは、前記第3の画像に関して前記機械学習モデルによって生成された虹彩セグメント化データおよび瞳孔セグメント化データを備える、項目28に記載の方法。
(項目32)
前記頭部搭載型システムは、前記第2の画像を入力として前記機械学習モデルに提供しないようにするように構成される、項目28に記載の方法。
【0004】
本明細書に説明される主題の1つ以上の実装の詳細が、付随の図面および下記の説明に記載される。他の特徴、側面、および利点が、説明、図面、および請求項から明白となるであろう。本発明の概要または以下の詳細な説明のいずれも、本発明の主題の範囲を定義または限定することを意味しない。
【図面の簡単な説明】
【0005】
【
図1A】
図1Aは、例示的眼特徴を示す眼の実施例を図式的に図示する。
【0006】
【
図1B】
図1Bは、眼の自然静止状態に対する眼姿勢方向を測定するために使用され得る3つの角度(例えば、ヨー、ピッチ、およびロール)の実施例を示す。
【0007】
【
図2A】
図2Aは、ウェアラブルディスプレイシステムの実施例を図式的に図示する。
【0008】
【
図2B】
図2Bは、ウェアラブルディスプレイシステムの実施例の上面図を図式的に図示する。
【0009】
【
図3】
図3は、バイオメトリック用途で使用される眼画像からバイオメトリック情報を抽出するための例示的ルーチンのフロー図である。
【0010】
【
図4A】
図4Aは、詳細な眼形状モデル推定の例示的進行を図式的に図示する。
【0011】
【
図4B】
図4Bは、瞳孔、虹彩、および眼瞼の境界が識別されている、詳細な眼形状モデルの実施例を図式的に図示する。
【0012】
【
図4C】
図4Cは、2対の形状インデックス化特徴の実施例を示す画像である。
【0013】
【
図5】
図5は、回帰関数を学習するために使用される注釈付き訓練画像のセットの実施例を図示する。
【0014】
【
図6】
図6は、カスケード式形状回帰を学習するための眼形状訓練ルーチンの実施例のフロー図である。
【0015】
【
図7A】
図7Aは、誤った境界点の実施例を図式的に図示する。
【0016】
【
図7B】
図7Bは、選択的特徴検出の実施例を図式的に図示する。
【0017】
【
図8】
図8は、眼追跡システムを含む、ウェアラブルシステムの概略図である。
【0018】
【
図9】
図9は、眼追跡システムを含み得る、ウェアラブルシステムのブロック図である。
【0019】
【
図10】
図10は、眼追跡システムを含み得る、ウェアラブルシステムのブロック図である。
【0020】
【
図11】
図11は、低減された待ち時間を伴う、眼追跡を実施するための例示的プロセスを図示する、フローチャートである。
【0021】
図面全体を通して、参照番号は、参照される要素間の対応を示すために再使用され得る。図面は、本明細書に説明される例示的実施形態を図示するために提供され、本開示の範囲を限定することを意図していない。
【発明を実施するための形態】
【0022】
詳細な説明
概要
眼からバイオメトリック情報を抽出するステップは、概して、眼画像内の虹彩のセグメント化に関するプロシージャを含む。虹彩セグメント化は、虹彩境界を位置特定するステップ、虹彩の瞳孔および縁郭境界を見出すステップ、上眼瞼または下眼瞼が虹彩をオクルージョンする場合、それらを位置特定するステップ、睫毛、陰影、または反射のオクルージョンを検出および除外するステップ等を含む、動作を伴うことができる。例えば、眼画像は、顔の画像内に含まれることができる、または眼周囲領域の画像であり得る。虹彩セグメント化を実施するために、瞳孔(例えば、虹彩の内部境界)および縁郭(例えば、虹彩の外部境界)の両方の境界が、画像データの別個のセグメントとして識別されることができる。虹彩の本セグメント化に加えて、(上または下)眼瞼によってオクルージョンされる虹彩の一部が、推定されることができる。本推定は、通常のヒトの活動中に、個人の虹彩全体が殆ど可視ではないため、実施される。例えば、虹彩全体は、概して、(例えば、瞬目中に)眼瞼のオクルージョンから免れられ得る。
【0023】
眼瞼は、例えば、眼表面を横断して涙および他の分泌物を拡散することによって、眼の潤いを保つために眼によって使用され得る。眼瞼はまた、異物の残渣から眼を保護するためにも使用され得る。実施例として、瞬目反射は、急性外傷から眼を保護する。別の実施例として、眼が世界を能動的に視認しているときでさえも、眼瞼は、例えば、眼の指示方向の変化に応答して自動的に動くことによって、眼を保護し得る。眼瞼によるそのような移動は、瞳孔のオクルージョンを回避しながら、眼表面の保護を最大限にすることができる。しかしながら、本移動は、虹彩セグメント化等の虹彩ベースのバイオメトリック測定を伴ってバイオメトリック情報を抽出するときに、さらなる課題を提示する。例えば、虹彩セグメント化を使用するために、眼瞼によってオクルージョンされる虹彩の面積が、推定され、身元証明算出から隠され得る、または眼瞼瞬目中に撮影される画像が、分析中に破棄される、またはより低い加重を与えられ得る。
【0024】
バイオメトリック情報を抽出することは、眼瞼によってオクルージョンされる虹彩の一部を推定すること等の課題を提示している。しかしながら、本明細書に説明される技法を使用して、バイオメトリック情報を抽出する際に提示される課題は、軽減されることができる。例えば、本課題は、最初に眼形状を推定することによって、少なくとも部分的に軽減され得る。本明細書で使用されるように、眼形状は、瞳孔、虹彩、上眼瞼、または下眼瞼の形状(例えば、境界)のうちの1つ以上のものを含む。眼形状の本推定は、いくつかの実施形態では、虹彩セグメント化のための始点として使用されてもよい。
【0025】
いったん眼形状が推定されると、バイオメトリック用途は、より効率的かつよりロバストに実施され得る。例えば、眼のある領域(例えば、虹彩)中で見出される角膜反射(例えば、閃光)が、視線推定のために使用され得る。眼の他の領域(例えば、強膜)中の閃光は、いくつかの実施形態では、眼の視線推定で使用され得ない。本明細書に説明される技法を使用して、詳細な眼形状モデルを計算することによって、所望の領域(例えば、虹彩)中の閃光は、眼全体(例えば、虹彩および強膜)を検索する必要性を除去し、したがって、より効率的かつロバストな視線推定を生じることによって、より迅速かつ効率的に位置特定されることができる。
【0026】
バイオメトリック情報を取得するために、コンピュータのユーザの眼移動を追跡するためのアルゴリズムが、存在する。例えば、コンピュータのモニタに結合されるカメラが、眼移動を識別するための画像を提供することができる。しかしながら、眼追跡のために使用されるカメラは、ユーザの眼からある程度の距離がある。例えば、カメラは、コンピュータに結合されるユーザのモニタの上部に設置され得る。結果として、カメラによって生成される眼の画像は、多くの場合、不良な分解能で異なる角度において生成される。故に、捕捉された眼画像からバイオメトリック情報を抽出することは、課題を提示し得る。
【0027】
ウェアラブル頭部搭載型ディスプレイ(HMD)のコンテキストでは、カメラは、有利なこととして、ユーザのモニタに結合されるカメラよりもユーザの眼に近接し得る。例えば、カメラは、ウェアラブルHMD上に搭載され得、これ自体が、ユーザの頭部上に設置される。そのようなカメラへの眼の近接性は、より高い分解能の眼画像をもたらすことができる。故に、コンピュータビジョン技法が、ユーザの眼から、特に、虹彩(例えば、虹彩特徴)または虹彩を囲繞する強膜(例えば、強膜特徴)における視覚特徴を抽出することが可能である。例えば、眼の近傍のカメラによって視認されると、眼の虹彩は、詳細な構造を示すであろう。そのような虹彩特徴は、赤外線(IR)照明下で観察されると、特に顕著であり得、視線推定またはバイオメトリック識別等のバイオメトリック用途のために使用されることができる。これらの虹彩特徴は、ユーザ毎に一意であり、指紋の様式で、ユーザを一意に識別するために使用されることができる。眼特徴は、眼の強膜(虹彩の外側)内の血管を含むことができ、これもまた、赤色または赤外光下で視認されると、特に顕著に見え得る。眼特徴はさらに、閃光および瞳孔中心を含み得る。
【0028】
本明細書に開示される技法を用いると、詳細な眼形状推定が、バイオメトリック用途(例えば、視線推定およびバイオメトリック識別)で使用される眼特徴を検出するよりロバストな技法を生成するために使用されてもよい。視線推定の使用は、コンピュータインターフェースの将来に有意な影響を及ぼす。視線推定は、現在、能動インターフェース(例えば、眼移動を通して命令を受信するインターフェース)および受動インターフェース(例えば、視線位置に基づいて表示を修正する仮想現実デバイス)で採用されている。従来の眼形状推定技法を使用して眼特徴を検出することは、眼が半分閉じられている、または瞬目しているときの画像雑音、周囲光、および外観の大きな変動により、困難である。したがって、視線推定またはバイオメトリック識別等のバイオメトリック用途で使用される眼特徴を決定するためのよりロバストなアルゴリズムを生成する技法が、有利であろう。以下の開示は、そのような方法を説明する。
【0029】
本開示は、カスケード式形状回帰技法を使用して計算される詳細な眼形状モデル、および詳細な眼形状モデルがロバストなバイオメトリック用途のために使用され得る方法を説明するであろう。近年、形状回帰は、正確かつ効率的な形状整合のための最先端のアプローチになっている。これは、顔、手、および耳形状推定のために使用され、成功している。回帰技法は、例えば、外観の大きな相違を捕捉することが可能であり、目印(例えば、眼瞼の間の虹彩、虹彩の内側の瞳孔)の間の形状制約を施行し、計算上効率的であるため、有利である。回帰技法が、説明されるが、ニューラルネットワークが、回帰技法の代替として、および/またはそれと組み合わせて、採用されてもよいことを理解されたい。例えば、回帰の非線形組み合わせが、利用されてもよく、本明細書の本開示の範囲内に該当する。
【0030】
本明細書で使用されるように、ビデオは、限定ではないが、視覚画像のシーケンスの記録を含んでもよい。ビデオ内の各画像は、時として、画像フレームまたはフレームと称される。ビデオは、オーディオチャネルの有無を問わず、複数の連続フレームまたは非連続フレームを含むことができる。ビデオは、時間において順序付けられる、または時間において順序付けられない、複数のフレームを含むことができる。故に、ビデオ内の画像は、眼画像フレームまたは眼画像と称され得る。
【0031】
眼画像の実施例
図1Aは、眼瞼110、虹彩112、および瞳孔114を伴う、眼100の画像を図示する。曲線114aは、瞳孔114と虹彩112との間の瞳孔境界を示し、曲線112aは、虹彩112と強膜113(眼の「白眼」)との間の縁郭境界を示す。眼瞼110は、上眼瞼110aと、下眼瞼110bと、睫毛117とを含む。眼100は、自然静止姿勢において図示される。例えば、静止姿勢は、ユーザの顔および視線の両方が、それらがユーザの前方の遠隔の物体に向かうであろうように配向される、姿勢を表し得る。眼100の自然静止姿勢は、自然静止方向180によって示されることができ、これは、自然静止姿勢にあるとき、眼100の表面に直交する(例えば、
図1Aに示される眼100の平面から直接外への)方向であり、本実施例では、瞳孔114内で心合される。
【0032】
眼100は、眼追跡等のバイオメトリック用途のために使用され得る、虹彩または強膜(またはその両方)内の眼特徴115を含むことができる。
図1Aは、虹彩特徴115aおよび強膜特徴115bを含む、眼特徴115の実施例を図示する。眼特徴115は、個々の特徴点と称され得る。そのような眼特徴115は、個人の眼に一意であり得、その個人の眼毎に明確に異なり得る。虹彩特徴115aは、残りの虹彩色と比較して、またはその点を囲繞するある面積と比較して、特定の色密度の点であり得る。別の実施例として、虹彩のテクスチャ(例えば、その特徴の近傍の虹彩のテクスチャと異なるテクスチャ)またはパターンが、虹彩特徴115aとして識別されることができる。また別の実施例として、虹彩特徴115aは、外観が虹彩112とは異なる瘢痕であり得る。
【0033】
眼特徴115はまた、眼の血管と関連付けられることができる。例えば、血管は、虹彩112の外側であるが、強膜113内に存在し得る。そのような血管は、赤色または赤外光照明下でより顕著に可視であり得る。強膜特徴115bは、眼の強膜内の血管であり得る。
【0034】
加えて、または代替として、眼特徴115は、光源(例えば、視線追跡またはバイオメトリック識別のために眼に向かって指向されるIR光源)の角膜反射を含む、閃光を含み得る。ある場合には、用語「眼特徴」は、特徴が虹彩112内にある、強膜113内にある、または瞳孔114を通して(例えば、網膜上に)見られる特徴であるかにかかわらず、眼の中または上の任意のタイプの識別特徴を指すように使用され得る。
【0035】
各眼特徴115は、眼特徴115を囲繞する面積の数値表現であり得る、記述子と関連付けられることができる。記述子はまた、虹彩特徴表現とも称され得る。また別の実施例として、そのような眼特徴は、スケール不変特徴変換(SIFT)、高速化ロバスト特徴(SURF)、加速セグメント試験からの特徴(FAST)、方向付きFASTおよび回転BRIEF(ORB)、KAZE、加速KAZE(AKAZE)等から導出され得る。
【0036】
故に、眼特徴115は、公知のコンピュータビジョンの分野からのアルゴリズムおよび技法から導出され得る。そのような眼特徴115は、特徴点と称され得る。下記に説明される例示的実施形態のいくつかでは、眼特徴は、虹彩特徴の観点から説明されるであろう。これは、限定ではなく、任意のタイプの眼特徴(例えば、強膜特徴)が、加えて、または代替として、他の実装で使用されることができる。
【0037】
眼100が異なる物体に向かって見るために移動すると、眼の視線(本明細書では時として眼姿勢とも称される)は、自然静止方向180に対して変化するであろう。現在の眼の視線は、自然静止眼視線方向180を基準にして測定されることができる。眼100の現在の視線は、眼の自然静止方向180に対する現在の眼姿勢方向を示す3つの角度パラメータとして表され得る。例証を目的として、
図1Bに示される例示的座標系を参照して、これらの角度パラメータは、α(ヨーと称され得る)、β(ピッチと称され得る)、およびγ(ロールと称され得る)として表されることができる。他の実装では、眼の視線を測定するための他の技法または角度表現、例えば、任意の他のタイプのオイラー角システムが、使用されることができる。
【0038】
眼画像が、任意の適切なプロセスを使用して、ビデオから取得されることができる。例えば、画像は、1つ以上の連続フレームから抽出されてもよい。眼の姿勢は、種々の眼追跡技法を使用して、眼画像から決定されることができる。例えば、眼姿勢は、提供される光源への角膜のレンズ効果を考慮することによって、または(前方を見ている眼を表す円形に対する)瞳孔または虹彩の形状を計算することによって、決定されることができる。
【0039】
眼形状推定を使用するウェアラブルディスプレイシステムの実施例
いくつかの実施形態では、ディスプレイシステムは、ウェアラブルであり得、これは、有利なこととして、より没入型の仮想現実(VR)、拡張現実(AR)、または複合現実(MR)体験を提供し得、デジタル的に再現された画像またはその一部が、それらが現実のように見える、または現実として知覚され得る様式で装着者に提示される。
【0040】
理論によって限定されるわけではないが、ヒトの眼は、典型的には、深度知覚を提供するために、有限数の深度面を解釈し得ると考えられる。その結果、知覚される深度の高度に真実味のあるシミュレーションが、これらの限定された数の深度面のそれぞれに対応する画像の異なる表現を眼に提供することによって達成され得る。例えば、導波管のスタックを含有するディスプレイが、ユーザまたは視認者の眼の正面に位置付けられて装着されるように構成され得る。導波管のスタックは、複数の導波管を使用し、画像投入デバイス(例えば、1つ以上の光ファイバを介して画像情報を送る、多重化ディスプレイの離散ディスプレイまたは出力端)から、特定の導波管と関連付けられる深度面に対応する特定の角度(および発散量)において視認者の眼に光を指向させることによって、3次元知覚を眼/脳に提供するために利用され得る。
【0041】
いくつかの実施形態では、導波管の2つのスタック(視認者の眼毎に1つ)が、異なる画像を各眼に提供するために利用され得る。一実施例として、拡張現実場面は、AR技術の装着者が、人々、木々、背景における建物、およびコンクリートプラットフォームを特徴とする実世界公園状設定が見えるようなものであり得る。これらのアイテムに加え、AR技術の装着者はまた、現実世界プラットフォーム上に立っているロボット像と、マルハナバチの擬人化のように見える、飛んでいる漫画のようなアバタキャラクタとが「見える」と知覚するが、そのロボットの像およびマルハナバチは、現実世界には存在しない。導波管のスタックは、入力画像に対応するライトフィールドを生成するために使用され得、いくつかの実装では、ウェアラブルディスプレイは、ウェアラブルライトフィールドディスプレイを備える。ライトフィールド画像を提供するためのウェアラブルディスプレイデバイスおよび導波管スタックの実施例が、米国特許公開第2015/0016777号(参照することによって、これが含有するあらゆるものに関してその全体として本明細書に組み込まれる)に説明される。
【0042】
図2Aおよび2Bは、装着者204にVR、AR、またはMR体験を提示するために使用され得る、ウェアラブルディスプレイシステム200の実施例を図示する。ウェアラブルディスプレイシステム200は、眼の画像を捕捉し、眼形状推定を実施して、本明細書に説明される用途または実施形態のいずれかを提供するようにプログラムされ得る。ディスプレイシステム200は、ディスプレイ208(例えば、ユーザの片眼または両眼の前に位置付け可能である)と、そのディスプレイ208の機能をサポートするための種々の機械的および電子的モジュールおよびシステムとを含む。ディスプレイ208は、フレーム212に結合されてもよく、これは、ディスプレイシステム装着者または視認者204によって装着可能であって、ディスプレイ208を装着者204の眼の正面に位置付けるように構成される。ディスプレイ208は、ユーザから複数の深度面において仮想画像を表示するように構成される、ライトフィールドディスプレイであり得る。いくつかの実施形態では、スピーカ216が、フレーム212に結合され、ユーザの外耳道に隣接して位置付けられ、いくつかの実施形態では、示されない別のスピーカが、ユーザの他方の外耳道に隣接して位置付けられ、ステレオ/成形可能音制御を提供する。ディスプレイ208は、有線導線または無線コネクティビティ等によって、ローカルデータ処理モジュール224に動作可能に結合され(220)、これは、フレーム212に固定して取り付けられる、ユーザによって装着されるヘルメットまたは帽子に固定して取り付けられる、ヘッドホンに内蔵される、または別様にユーザ204に(例えば、バックパック式構成において、ベルト結合式構成において)可撤式に取り付けられる等、種々の構成において搭載され得る。
【0043】
図2Bに示されるように、ウェアラブルディスプレイシステム200はさらに、ウェアラブルディスプレイシステム200内に配置され、眼100aの画像を捕捉するように構成される、眼追跡カメラ252aを含んでもよい。ディスプレイシステム200はさらに、眼追跡カメラ252aを用いて眼100aの眼特徴115を捕捉するために十分な照明を提供するように構成される、光源248aを備えてもよい。いくつかの実施形態では、光源248aは、ユーザが光源によって気を取られないように、ユーザに可視ではない赤外光を使用して、眼100aを照明する。眼追跡カメラ252aおよび光源248aは、ウェアラブルディスプレイシステム200に個別に取り付けられる、別個のコンポーネントであってもよい。例えば、コンポーネントは、フレーム212に取り付けられてもよい。他の実施形態では、眼追跡カメラ252aおよび光源248aは、フレーム212に取り付けられる単一の筐体244aのコンポーネントであってもよい。いくつかの実施形態では、ウェアラブルディスプレイシステム200はさらに、第2の眼追跡カメラ252bと、眼100bを照明し、その画像を捕捉するように構成される第2の光源248bとを備えてもよい。眼追跡カメラ252a、252bは、眼形状計算、視線決定、およびバイオメトリック識別で使用される、眼画像を捕捉するために使用されることができる。
【0044】
図2Aを再び参照すると、ローカル処理およびデータモジュール224は、ハードウェアプロセッサおよび不揮発性メモリ、例えば、フラッシュメモリ等の非一過性デジタルメモリを備えてもよく、その両方とも、データの処理、キャッシュ、および記憶を補助するために利用され得る。データは、(a)画像捕捉デバイス(カメラ等)、マイクロホン、慣性測定ユニット、加速度計、コンパス、GPSユニット、無線デバイス、および/またはジャイロスコープ等の(例えば、フレーム212に動作可能に結合される、または別様に装着者204に取り付けられ得る)センサから捕捉されるデータ、および/または可能性として、(b)処理または読出後にディスプレイ208への通過のために、遠隔処理モジュール228および/または遠隔データリポジトリ232を使用して入手および/または処理されるデータとを含む。ローカル処理およびデータモジュール224は、有線または無線通信リンクを介する等、通信リンク236、240によって、遠隔処理モジュール228および遠隔データリポジトリ232に動作可能に結合され得、したがって、これらの遠隔モジュール228、232は、相互に動作可能に結合され、ローカル処理およびデータモジュール224へのリソースとして利用可能である。
【0045】
いくつかの実施形態では、遠隔処理モジュール228は、画像捕捉デバイスによって捕捉されたビデオ情報等のデータおよび/または画像情報を分析および処理するように構成される、1つ以上のプロセッサを備え得る。ビデオデータは、ローカル処理およびデータモジュール224内に、および/または遠隔データリポジトリ232内にローカルで記憶され得る。いくつかの実施形態では、遠隔データリポジトリ232は、デジタルデータ記憶設備を備えてもよく、これは、「クラウド」リソース構成におけるインターネットまたは他のネットワーキング構成を通して利用可能であってもよい。いくつかの実施形態では、全てのデータが、記憶され、全ての算出が、ローカル処理およびデータモジュール224において実施され、遠隔モジュールからの完全に自律的な使用を可能にする。いくつかの実装では、ローカル処理およびデータモジュール224および/または遠隔処理モジュール228は、本明細書に説明されるような詳細な眼形状モデルを推定することの実施形態を実施するようにプログラムされる。例えば、ローカル処理およびデータモジュール224または遠隔処理モジュール228は、下記の
図3を参照して説明されるルーチン300の実施形態を実施するようにプログラムされることができる。ローカル処理およびデータモジュール224または遠隔処理モジュール228は、本明細書に開示される眼形状推定技法を使用して、バイオメトリック用途を実施し、例えば、装着者204の身元を識別または認証するように、プログラムされることができる。加えて、または代替として、視線推定または姿勢決定では、例えば、各眼が向かって見ている方向を決定する。
【0046】
画像捕捉デバイスは、特定の用途のためのビデオ(例えば、眼追跡用途のための装着者の眼のビデオまたはジェスチャ識別用途のための装着者の手または指のビデオ)を捕捉することができる。ビデオは、処理モジュール224、228のうちの一方または両方によって、眼形状推定技法を使用して分析されることができる。本分析では、処理モジュール224、228は、ロバストなバイオメトリック用途のために眼形状推定を実施することができる。実施例として、ローカル処理およびデータモジュール224および/または遠隔処理モジュール228は、フレーム212に取り付けられた眼追跡カメラ252a、252bから取得された眼画像を記憶するようにプログラムされることができる。加えて、ローカル処理およびデータモジュール224および/または遠隔処理モジュール228は、本明細書に説明される眼形状推定技法(例えば、ルーチン300)を使用して、眼画像を処理し、ウェアラブルディスプレイシステム200の装着者204のバイオメトリック情報を抽出するようにプログラムされることができる。ある場合には、遠隔処理モジュールにバイオメトリック情報の少なくとも一部を(例えば、「クラウド」内に)オフロードすることは、算出の効率または速度を改良し得る。眼視線識別に関する種々のパラメータ(例えば、加重、バイアス項、ランダムサブセットサンプリング係数、数、フィルタ(例えば、Sobel微分演算子)のサイズ等)が、データモジュール224または228内に記憶されることができる。
【0047】
ビデオ分析の結果(例えば、詳細な眼形状モデル)は、付加的動作または処理のために、処理モジュール224、228のうちの一方または両方によって使用されることができる。例えば、種々の用途では、物体、姿勢等のバイオメトリック識別、眼追跡、認識、または分類が、ウェアラブルディスプレイシステム200によって使用され得る。例えば、装着者の眼のビデオは、眼形状推定のために使用されることができ、これは、ひいては、ディスプレイ208を通した装着者204の視線の方向を決定するために、処理モジュール224、228によって使用されることができる。ウェアラブルディスプレイシステム200の処理モジュール224、228は、本明細書に説明されるビデオまたは画像処理用途のいずれかを実施するように、眼形状推定の1つ以上の実施形態とともにプログラムされることができる。
【0048】
例示的眼形状推定ルーチン
図3は、例示的眼形状推定ルーチン300のフロー図である。眼形状推定ルーチン300は、
図2を参照して説明される、ローカル処理およびデータモジュール224または遠隔処理モジュール228およびデータリポジトリ232によって実装されることができる。眼形状推定はまた、眼形状検出または詳細な眼形状モデル化と称されることもできる。
【0049】
ルーチン300は、眼画像324が受信されるときにブロック308から開始する。眼画像324は、例えば、画像捕捉デバイス、頭部搭載型ディスプレイシステム、サーバ、非一過性のコンピュータ可読媒体、またはクライアントコンピューティングデバイス(例えば、スマートフォン)を含む、種々のソースから受信されることができる。眼画像324は、随意に、眼追跡カメラ252aから受信されてもよい。いくつかの実装では、眼画像324は、ビデオ(例えば、眼のビデオ)から抽出されることができる。
【0050】
ブロック312では、詳細な眼形状モデル400bが、眼画像324から推定されてもよい。いくつかの実施形態では、詳細な眼形状モデル400bは、下記にさらに説明されるように、カスケード式形状回帰を使用して推定されてもよい。
【0051】
ブロック316では、眼特徴115が、少なくとも部分的にブロック312において推定される詳細な眼形状モデル400bに基づいて、決定される。いくつかの実施形態では、眼特徴115(そのうちのいくつかが画像332に示されている)は、瞳孔または縁郭境界、眼瞼境界、閃光、眼特徴点、または瞳孔114の中心を含む。眼特徴115はさらに、バイオメトリック用途で使用され得る任意の特徴を含んでもよい。ブロック312において推定される詳細な眼形状モデル400bは、予備知識としての役割を果たし、ブロック316において特徴検出のロバスト性を改良し得る。
【0052】
ブロック320では、バイオメトリック用途(例えば、視線推定またはバイオメトリック識別/認証)が、少なくとも部分的にブロック312および316において取得されるバイオメトリック情報に基づいて、実施される。いくつかの実施形態では、ブロック320aでは、視線方向が、少なくとも部分的にブロック316において決定される眼特徴115に基づいて、推定されてもよい。加えて、または代替として、いくつかの実施形態では、ブロック320bにおいて、バイオメトリック識別/認証が、少なくとも部分的にブロック316において決定される眼特徴に基づいて、実施されてもよい。バイオメトリック識別または認証は、少なくとも部分的に眼画像および決定された瞳孔および縁郭境界に基づいて、虹彩コード(例えば、Daugmanアルゴリズムに基づく虹彩コード)を決定するステップを含んでもよい。
【0053】
例示的眼形状推定
初期眼形状S
0を伴う入力画像Iを考慮すると、カスケード式形状回帰が、段階的に形状インクリメントΔSを推定することによって形状Sを次第に精緻化する。初期形状S
0は、眼形状(例えば、瞳孔、縁郭、および眼瞼境界)またはデフォルト形状(例えば、眼画像Iの中心に心合される円形瞳孔および虹彩境界)への最良推測を表し得る。一般的形態では、段階tにおける形状インクリメントΔS
tは、以下のように回帰され、
【化1】
f
tは、段階tにおける回帰関数であり、Φ
tは、形状インデックス化抽出関数である。Φ
tは、前の段階S
t-1における入力画像Iおよび形状の両方に依存し得ることに留意されたい。形状インデックス化抽出関数Φ
tは、「非形状インデックス化」特徴と比較して、より大きい形状変動に対処することができる。大域的照明変化に不変であり得る、一対ピクセル比較特徴が、使用されてもよい。回帰は、形状インクリメントΔS
tを前の段階S
t-1における形状に加算し、S
t=S
t-1+ΔS
tを生じさせることによって、次の段階t+1に進む。
【0054】
眼形状を推定するために使用され得る、カスケード式形状回帰モデルのいくつかの実施例は、明示的形状回帰(ESR)、カスケード式姿勢回帰(CPR)、回帰ツリーの連携(ERT)、監視下降方法(SDM)、ローカル2進特徴(LBF)、確率的ランダムフォレスト(PRF)、カスケードガウスプロセス回帰ツリー(cGPRT)、粗密形状検索(CFSS)、ランダムカスケード式回帰ツリー群(R-CR-C)、カスケード式協調回帰方法(CCR)、時空間カスケード形状回帰(STCSR)、または他のカスケード式形状回帰方法を含むことができる。
【0055】
図4Aは、詳細な眼形状モデルの例示的進行を図式的に図示する。簡単にするために、
図4Aは、上および下眼瞼110a、110bの形状のみを描写し、
図1に図示されるような虹彩112または瞳孔114の推定形状を図示しない。しかしながら、虹彩112および瞳孔114の形状は、加えて、または代替として、本段階においてモデル化されてもよい(例えば、
図4Bの例示的結果を参照)。いくつかの実施形態では、初期推定眼形状404は、標的形状412に類似する任意の眼形状であってもよい。例えば、初期推定眼形状は、画像の中心における平均形状として設定されることができる。
【0056】
図4Aは、11段階にわたって実施される初期推定眼形状404から標的形状412への眼形状回帰を描写する。例えば、初期(第0の)段階S
0、第1の段階S
1、および第10の段階S
10が、図示される。簡単にするために、中間眼瞼形状408のみが、
図4Aに描写されている。いくつかの実施形態では、回帰モデルは、所定数の反復(例えば、5、10、20、50、100、またはそれを上回る)後に停止するようにプログラムされてもよい。他の実施形態では、回帰モデルは、段階tにおける形状インクリメントΔS
tが、閾値よりも小さくなるまで反復し続けてもよい。例えば、相対的眼形状変化|ΔS
t/S
t|が、閾値(例えば、10
-2、10
-3、またはそれよりも小さい)未満である場合、回帰モデルは、終了してもよい。他の実施形態では、回帰モデルは、段階tにおける形状S
tと前の段階おける形状S
t-1との間の差異が閾値よりも小さくなるまで反復し続けてもよい。
【0057】
いくつかの実施形態では、詳細な眼形状モデル400bは、瞳孔、縁郭、または眼瞼境界のための複数の境界点424を備えてもよい。境界点424は、それぞれ、推定眼瞼形状412、推定虹彩形状416、および推定瞳孔形状420に対応し得る。境界点424の数は、6~100の範囲内またはそれを上回り得る。いくつかの実装では、詳細な眼形状モデル400bは、受信された眼画像が、ある標準、例えば、画像の品質を満たすかどうかを決定するために使用されることができる。
【0058】
図4Bは、完成した眼形状モデルの実施例を図示する。このモデルは、
図3において説明される眼形状推定ルーチンを使用して決定されてもよい。例えば、完成した眼形状モデルは、眼形状が、瞳孔、縁郭、および眼瞼境界を決定したカスケード式形状回帰に基づいてモデル化された後のブロック312の結果を表してもよい。これらの境界は、計算された境界と基礎的眼画像との間の合致を示すように、眼の眼周囲領域の画像上に重層される。上記に説明されるように、形状インデックス化抽出関数Φ
tは、「非形状インデックス化」特徴と比較して、より大きい形状変動に対処することができる。大域的照明変化に不変であり得る、一対ピクセル比較特徴が、使用されてもよい。
【0059】
図4Cは、2対の形状インデックス化特徴(例えば、460a、460b)の実施例を示す画像である。ローカル座標系(xおよびy軸450として示される)が、現在の眼形状(例えば、眼瞼形状462)によって決定される。一対のピクセル場所460a、460b(矢印付きの線によって接続される正方形、2対460a、460bのそのようなピクセル場所が示されている)からの強度値は、2進特徴(例えば、合致または不合致を示す、0または1等のブール値)を提供するように比較されることができる。例えば、瞳孔の内側に位置するピクセル(例えば、特徴460bの中の瞳孔ピクセル)は、瞳孔の外側に(例えば、ユーザの虹彩、強膜、または皮膚の中に(
図4Cに示されるように))位置するピクセルよりも色またはコントラストが濃くあり得る。
【0060】
いくつかの実装では、ピクセル場所は、眼形状462が回帰の段階中に更新されるにつれて変動する、ローカル座標系450の中で固定されてもよい。1つの例示的システムでは、2,500個の特徴が、400のピクセル場所から構築され、これは、訓練データから学習されてもよい。訓練データからの学習は、
図5に関して下記により詳細に説明される。
【0061】
カスケード式形状回帰を学習するための訓練画像の実施例
いくつかの実施形態では、上記に説明される回帰関数ftおよび形状インデックス化抽出関数Φtは、注釈付き(例えば、標識)訓練データのセットから学習され得る。
【0062】
図5は、((a)から(h)としてインデックス化される)大きい形状および外観変動を伴う異なる対象からの8つの例示的眼画像を含む、訓練データ500の実施例を図示する。標識眼画像は、有利なこととして、(異なる性別、民族等)広範囲の対象からの広範囲の眼の変形例(例えば、正常に開いた眼、瞬目する眼、自然静止方向に対して広範囲の方向(上、下、左、右)を指し示す眼等)を示すはずである。
【0063】
訓練データ500は、学習される特徴を示すように注釈を付けられる。図示される実施例では、これらの特徴は、画像のそれぞれの上でマークされる瞳孔、縁郭、および眼瞼境界を含む。訓練データ500内の画像のそれぞれの中のこれらの標識境界は、任意の適切な瞳孔、縁郭、または眼瞼境界技法を使用して、または手動で、決定されることができる。
【0064】
種々の機械学習アルゴリズムが、注釈付き訓練データ500から回帰関数ftおよび形状インデックス化抽出関数Φtを学習するために使用されてもよい。教師付き機械学習アルゴリズム(例えば、回帰ベースのアルゴリズム)が、注釈付きデータ500から回帰関数および形状インデックス化抽出関数を学習するために使用されることができる。そのようなモデルを生成するために使用され得る、機械学習アルゴリズムのいくつかの実施例は、回帰アルゴリズム(例えば、最小二乗回帰等)、インスタンスベースのアルゴリズム(例えば、学習ベクトル量子化等)、決定ツリーアルゴリズム(例えば、分類および回帰ツリー等)、ベイジアンアルゴリズム(例えば、ナイーブベイズ等)、クラスタ化アルゴリズム(例えば、k平均クラスタ化等)、相関ルール学習アルゴリズム(例えば、アプリオリアルゴリズム等)、人工ニューラルネットワークアルゴリズム(例えば、パーセプトロン等)、深層学習アルゴリズム(例えば、ディープボルツマンマシンまたはディープニューラルネットワーク等)、次元縮小アルゴリズム(例えば、主成分分析等)、アンサンブルアルゴリズム(例えば、スタック一般化等)、または他の機械学習アルゴリズムを含むことができる。
【0065】
いくつかの実施形態では、訓練画像のセットが、
図2Aに図示される遠隔データリポジトリ232の中に記憶されてもよい。遠隔処理モジュール228は、訓練画像にアクセスし、回帰関数f
tおよび形状インデックス化抽出関数Φ
tを学習してもよい。ローカル処理およびデータモジュール224は、次いで、ウェアラブルデバイス200上に回帰関数f
tおよび形状インデックス化抽出関数Φ
tを記憶してもよい。これは、ローカル処理およびデータモジュール224が、回帰関数f
tおよび形状インデックス化抽出関数Φ
tを学習する計算集中的なプロセスを実施する必要性を低減させる。
【0066】
いくつかの実施形態では、バイオメトリック情報は、ユーザ204から取られ、ローカル処理およびデータモジュール224上に記憶されてもよい。バイオメトリック情報は、次いで、例えば、教師なし学習を通して、ユーザの個人化された眼形状および特徴に基づいて回帰関数および形状インデックス化抽出関数をさらに訓練するために、ローカル処理およびデータモジュール224(または遠隔処理モジュール228)によって使用されることができる。そのような訓練は、より具体的には、ユーザの眼および眼周囲領域の特徴に合致し、正確度および効率を改良し得るように、回帰モデルを個人化する。
例示的眼形状訓練ルーチン
【0067】
図6は、回帰関数f
tおよび形状インデックス化抽出関数Φ
tを学習するために使用され得る、例示的眼形状訓練ルーチン600のフロー図である。例えば、関数は、訓練画像のセット(例えば、
図5に示される画像500)に基づいて学習され得る。眼形状訓練ルーチン600は、処理モジュール224、228、232および/または1つ以上の他のプロセッサによって実装されることができる。
【0068】
ルーチン600は、注釈付き眼画像を備える訓練データ(例えば、データ500)がアクセスされるときに、ブロック608から開始する。訓練データは、注釈付き眼画像を記憶する、非一過性のデータ記憶部からアクセスされることができる。処理モジュールは、有線または無線技法を介して非一過性のデータ記憶部にアクセスすることができる。
【0069】
ブロック612では、機械学習技法(例えば、注釈付きまたは標識画像のための教師付き学習)が、回帰関数ftおよび形状インデックス化抽出関数Φtを学習するように適用される。カスケード式形状回帰モデルが、次いで、ブロック616において生成されることができる。本回帰モデルは、ルーチン300がブロック312において詳細な眼形状モデルを推定することを可能にする。上記に説明されるように、カスケード式形状回帰モデルは、使用中にウェアラブルディスプレイシステム200によって取得されるユーザの眼画像について回帰関数および形状インデックス化抽出関数をさらに訓練することによって、特定のユーザに個人化されることができる。
【0070】
ロバストな特徴検出の実施例
瞳孔または虹彩の眼瞼オクルージョン
図7Aは、眼瞼によって部分的にオクルージョンされる瞳孔の境界点424を図示する。詳細な眼形状モデルを使用するロバストな特徴検出のための一実施形態では、瞳孔検出は、誤った瞳孔境界点704を除去することによって改良され得る。例示的点704は、上眼瞼110aに沿って瞳孔境界420内の境界点の円弧として示される。
【0071】
誤った瞳孔境界点704は、
図7A(上眼瞼110aが瞳孔114を部分的にオクルージョンする)に示されるように、眼瞼が瞳孔を部分的にオクルージョンするときに作成され得る。点704は、したがって、(眼瞼によってオクルージョンされる)瞳孔の真の境界ではなく眼瞼の位置を反映する。瞳孔の不正確なモデルの生成につながり得る、誤った境界点704を含むのではなく、誤った境界点704は、瞳孔境界発見方法が実施される前に識別および除去されてもよい。いくつかの実施形態では、誤った瞳孔境界点704は、上または下眼瞼のある距離内に位置する任意の瞳孔境界点であってもよい。いくつかの実施形態では、誤った瞳孔境界点704は、上または下眼瞼に隣接する任意の瞳孔境界点であってもよい。
【0072】
いくつかの実施形態では、いったん誤った瞳孔境界点704が識別および除去されると、楕円が、残りの瞳孔境界点を使用して瞳孔に適合されてもよい。そのような楕円適合のために実装され得るアルゴリズムは、微分積分演算子、最小二乗方法、ランダムサンプルコンセンサス(RANSAC)、または楕円または曲線適合アルゴリズムを含む。
【0073】
上記の実施形態は、具体的には誤った瞳孔境界点を参照するが、上記に説明される技法はまた、誤った縁郭境界点を識別および除去するように適用され得ることに留意されたい。
【0074】
いくつかの実施形態では、詳細な眼形状モデルが、例えば、多くの瞳孔境界点を検出するために採用され得る、スターバーストアルゴリズム等の瞳孔境界発見アルゴリズムと併せて使用されてもよい。詳細な眼形状モデルの眼瞼形状412を使用して、上または下眼瞼110a、110bに隣接するスターバーストアルゴリズムを使用して決定される境界点は、除去され、残りの境界点は、瞳孔境界420に適合するように使用される。いくつかの実施形態では、強膜113に隣接する縁郭境界点もまた、詳細な眼形状モデルを使用して識別されてもよい。その後、虹彩楕円416は、強膜113に隣接するように決定される縁郭境界点のみを使用して適合される。同様に、瞳孔境界420は、虹彩112に隣接するように決定される瞳孔境界点のみを使用して適合されてもよい。いくつかの実施形態では、詳細な眼形状モデルは、詳細な眼形状モデルに基づいて瞳孔中心のより良好な初期「最良推測」を提供することによって、瞳孔境界発見アルゴリズムのロバスト性を改良し得る。
【0075】
閃光検出
従来の視線推定では、瞳孔境界(例えば、いくつかの技法における楕円)および閃光が、眼画像全体を検索することによって検出される。本明細書に説明される詳細な眼形状モデルを考慮すると、特徴検出は、特徴に関して眼全体を検索する必要性を排除することによって、より高速かつより効率的であり得る。いくつかの実施形態では、最初に眼の異なる領域(例えば、強膜、瞳孔、または虹彩)を識別することによって、詳細な眼形状モデルは、眼の特定の領域中の特徴検出(例えば、選択的特徴検出)を可能にし得る。
【0076】
図7Bは、選択的特徴検出の実施例を図示する。閃光115a、115bは、強膜113、虹彩112、または瞳孔114の中で出現し得る。閃光115a、115bは、1つ以上の光源(例えば、赤外線LED等のLED)からの反射を表し得る。あるバイオメトリック用途では、眼のある領域(例えば、角膜反射を表す虹彩)中の閃光を識別しながら、これらの領域の外側(例えば、強膜)の閃光を無視することが必要である、または望ましくあり得る。例えば、ある技法において視線を決定するとき、強膜113の中に位置する強膜閃光115bは、角膜からの光源の反射を表し得ず、視線技法の中のそれらの包含は、推定視線の不正確性につながる。したがって、詳細な眼形状モデルを使用して、虹彩112内または縁郭境界416内に位置する虹彩閃光115aを検索および識別することが有利であり得る。
【0077】
図7Bに図示されるように、虹彩閃光115aは、虹彩112内にあり、したがって、視線推定のために好ましくあり得る。対照的に、強膜閃光115bは、強膜113の中で出現し、したがって、視線推定のために好ましくあり得ない。故に、本明細書に開示される技法の実施形態は、閃光が発生する可能性が高い眼領域を識別するために、使用されることができ、これらの領域の外側の眼領域は、検索される必要がなく、これは、本技法の正確度、速度、および効率を改良する。
【0078】
瞬目検出
いくつかの実施形態では、特徴検出は、詳細な眼形状モデルを使用し、受信される眼画像がある品質閾値を満たすかどうかを決定することによって、よりロバストかつ効率的であり得る。例えば、詳細な眼形状モデルは、眼が確実な眼形状を推定するため、および特徴を抽出するため、およびバイオメトリック用途(例えば、視線発見またはバイオメトリック認証/識別)を実施するために十分に開いているかどうかを決定するために、使用されてもよい。
【0079】
いくつかの実施形態では、眼画像は、1つ以上の品質測定に基づいて、破棄され得る。例えば、上眼瞼110aと下眼瞼110bとの間の距離が閾値未満である場合、眼画像は、使用不可能と見なされ、破棄され、故に、いかなる特徴もバイオメトリック用途のために抽出されない。いくつかの実施形態では、眼画像は、上眼瞼110aおよび下眼瞼110bが、5mm以下だけ分離される場合に拒否され得る。別の実施形態では、眼画像は、瞳孔114または虹彩112のある割合(例えば、40%、50%、60%、75%、またはそれ以上を上回る)を上回るものが、眼瞼110a、110bのうちの1つ以上のものによってオクルージョンされる場合に、拒否され得る。別の実施形態では、眼画像は、いくつかの瞳孔境界点704が上眼瞼110aまたは下眼瞼110bに隣接する場合に拒否され得る。例えば、瞳孔境界点704のほぼ半分が、眼瞼110a、110bに隣接する場合、瞳孔114のほぼ半分が眼瞼によってオクルージョンされ、したがって、眼画像がバイオメトリック用途のために不適切であることが結論付けられ得る。
【0080】
他の実施形態では、眼画像を拒否および破棄するのではなく、眼画像は、バイオメトリック用途において、眼のより少ないオクルージョンが存在する眼画像(例えば、上眼瞼110aと下眼瞼110bとの間の距離が閾値を上回る画像)よりも低い加重を割り当てられる。
【0081】
眼追跡システムの実施例
図8は、眼追跡システムを含む、ウェアラブルシステム800の概略図を図示する。ウェアラブルシステム800は、少なくともいくつかの実施形態では、頭部搭載型ユニット802内に位置するコンポーネントと、非頭部搭載型ユニット804内に位置するコンポーネントとを含んでもよい。非頭部搭載型ユニット804は、実施例として、ベルト搭載型コンポーネント、ハンドヘルドコンポーネント、リュック内のコンポーネント、遠隔コンポーネント等であってもよい。ウェアラブルシステム800のコンポーネントのうちのいくつかを非頭部搭載型ユニット804内に組み込むことは、頭部搭載型ユニット802のサイズ、加重、複雑性、およびコストを低減させることに役立ち得る。
【0082】
いくつかの実装では、頭部搭載型ユニット802および/または非頭部搭載型ユニット804の1つ以上のコンポーネントによって実施されるものとして説明される機能性のいくつかまたは全ては、ウェアラブルシステム800内のいずれかの場所に含まれる1つ以上のコンポーネントを用いて提供されてもよい。例えば、頭部搭載型ユニット802のプロセッサ(例えば、CPU812)と関連付けられる下記に説明される機能性のいくつかまたは全ては、非頭部搭載型ユニット804のプロセッサ(例えば、CPU816)を用いて提供されてもよく、その逆も同様である。
【0083】
いくつかの実施例では、そのような機能性のいくつかまたは全ては、ウェアラブルシステム800の周辺デバイスを用いて提供されてもよい。さらに、いくつかの実装では、そのような機能性のいくつかまたは全ては、
図2Aを参照して上記に説明されたものに類似する様式において、1つ以上のクラウドコンピューティングデバイスまたは他の遠隔に位置するコンピューティングデバイスを用いて提供されてもよい。
【0084】
図8に示されるように、ウェアラブルシステム800は、ユーザの眼810の画像を捕捉する、カメラ252を含む、眼追跡システムを含むことができる。所望に応じて、眼追跡システムはまた、光源848aおよび848b(発光ダイオード「LED」等)を含んでもよい。光源848aおよび848bは、閃光(例えば、カメラ252によって捕捉された眼の画像内に現れる、ユーザの眼からの反射)を生成し得る。カメラ252に対する光源848aおよび848bの位置は、既知であり得、結果として、カメラ252によって捕捉された画像内の閃光の位置は、ユーザの眼を追跡する際に使用されてもよい。
【0085】
少なくとも一実施形態では、ユーザの眼810の片方と関連付けられる、1つの光源848と、1つのカメラ252とが存在してもよい。別の実施形態では、
図2Aを参照して上記に説明される実施例における場合のように、ユーザの眼810のそれぞれと関連付けられる、1つの光源848と、1つのカメラ252とが存在してもよい。さらに他の実施形態では、ユーザの眼810の片方またはそれぞれと関連付けられる、1つ以上のカメラ252と、1つ以上の光源848とが存在してもよい。具体的実施例として、ユーザの眼810のそれぞれと関連付けられる、2つの光源848aおよび848bと、1つ以上のカメラ252とが存在してもよい。別の実施例として、ユーザの眼810のそれぞれと関連付けられる、光源848aおよび848b等の3つ以上の光源と、1つ以上のカメラ252とが存在してもよい。
【0086】
眼追跡モジュール814は、画像を眼追跡カメラ252から受信してもよく、画像を分析し、種々の情報を抽出してもよい。実施例として、眼追跡モジュール814は、ユーザの眼姿勢、眼追跡カメラ252(および頭部搭載型ユニット802)に対するユーザの眼の3次元位置、ユーザの眼810の一方または両方が合焦している方向、ユーザの輻輳・開散運動深度(例えば、ユーザが合焦している、ユーザからの深度)、ユーザの瞳孔の位置、ユーザの角膜および角膜球面の位置、ユーザの眼のそれぞれの回転中心、および/またはユーザの眼のそれぞれの目線中心を検出してもよい。
【0087】
眼追跡モジュール814は、下記に説明される技法を使用して、そのような情報を抽出してもよい。眼追跡情報を抽出および使用するための付加的システムおよび技法は、2019年1月17日に出願された、米国特許出願第第16/250,931号および第16/251,017号(その両方とも、あらゆる目的のために、参照することによって明示的にその全体として本明細書に組み込まれる)に提供される。いくつかの実装では、眼追跡情報を抽出および使用するための1つ以上のそのようなシステムおよび技法は、本明細書に説明されるシステムおよび技法のうちの1つ以上のものの一部として、またはそれと併せて、採用されてもよい。
図8に示されるように、眼追跡モジュール814は、頭部搭載型ユニット802内のCPU812を使用して実装される、ソフトウェアモジュールであってもよい。
【0088】
眼追跡モジュール814からのデータは、ウェアラブルシステム内の他のコンポーネントに提供されてもよい。実施例として、そのようなデータは、ライトフィールドレンダリングコントローラ818および位置合わせオブザーバ820のためのソフトウェアモジュールを含む、CPU816等の非頭部搭載型ユニット804内のコンポーネントに伝送されてもよい。
【0089】
レンダリングコントローラ818は、眼追跡モジュール814からの情報を使用して、レンダリングエンジン822によってユーザに表示される画像を調節してもよい。例えば、レンダリングエンジンは、GPU830内のソフトウェアモジュールを表し得、画像をディスプレイ208に提供してもよい。レンダリングコントローラ818は、ユーザの回転中心または目線中心に基づいて、ユーザに表示される画像を調節してもよい。特に、レンダリングコントローラ818は、ユーザの目線中心に関する情報を使用して、レンダリングカメラをシミュレート(例えば、ユーザの目線からの画像の収集をシミュレート)してもよく、シミュレートされたレンダリングカメラに基づいて、ユーザに表示される画像を調節してもよい。ライトフィールドレンダリングコントローラ818によって実施され得る動作に関する付加的詳細は、米国特許出願第16/250,931号(参照することによってその全体として本明細書に組み込まれる)に提供される。
【0090】
時として、「ピンホール目線カメラ」(または「目線カメラ」)または「仮想ピンホールカメラ」(または「仮想カメラ」)とも称される、「レンダリングカメラ」は、可能性として、仮想世界内のオブジェクトのデータベースから、仮想画像コンテンツをレンダリングする際に使用するためのシミュレートされたカメラである。オブジェクトは、ユーザまたは装着者に対する、および可能性として、ユーザまたは装着者を囲繞する環境内の実オブジェクトに対する、場所および配向を有してもよい。換言すると、レンダリングカメラは、そこからユーザまたは装着者がレンダリング空間の3D仮想コンテンツ(例えば、仮想オブジェクト)を視認する、レンダリング空間内の目線を表し得る。レンダリングカメラは、レンダリングエンジンによって管理され、該眼に提示されるべき仮想オブジェクトのデータベースに基づいて、仮想画像をレンダリングしてもよい。
【0091】
仮想画像は、ユーザまたは装着者の目線から得られたかのようにレンダリングされてもよい。例えば、仮想画像は、固有のパラメータの具体的セット(例えば、焦点距離、カメラピクセルサイズ、主点座標、歪み/歪曲パラメータ等)と、付帯パラメータの具体的セット(例えば、仮想世界に対する平行移動成分および回転成分)とを有する、ピンホールカメラ(「レンダリングカメラ」に対応する)によって捕捉されたかのようにレンダリングされてもよい。
【0092】
仮想画像は、レンダリングカメラの位置および配向(例えば、レンダリングカメラの付帯パラメータ)を有する、そのようなカメラの目線から得られてもよい。本システムは、固有および付帯レンダリングカメラパラメータを定義および/または調節し得るということになる。例えば、本システムは、ユーザまたは装着者の目線からであるように現れる画像を提供するように、ユーザまたは装着者の眼に対する具体的場所を有するカメラの目線から捕捉されたかのように、仮想画像がレンダリングされ得るように、付帯レンダリングカメラパラメータの特定のセットを定義してもよい。
【0093】
本システムは、後に、該具体的場所との位置合わせを維持するように、付帯レンダリングカメラパラメータをオンザフライで動的に調節してもよい。同様に、固有のレンダリングカメラパラメータも、経時的に定義および動的に調節されてもよい。いくつかの実装では、画像は、ユーザまたは装着者の眼に対する具体的場所(目線中心または回転中心またはいずれかの場所等)における開口(例えば、ピンホール)を有するカメラの目線から捕捉されたかのようにレンダリングされる。
【0094】
いくつかの実施形態では、本システムは、ユーザの眼が、相互から物理的に分離され、したがって、異なる場所に一貫して位置付けられるにつれて、ユーザの左眼のために、1つのレンダリングカメラを、ユーザの右眼のために、別のレンダリングカメラを作成する、または動的に再位置付けおよび/または再配向してもよい。少なくともいくつかの実装では、視認者の左眼と関連付けられるレンダリングカメラの目線からレンダリングされた仮想コンテンツは、頭部搭載型ディスプレイ(例えば、頭部搭載型ユニット802)の左側の接眼レンズを通して、ユーザに提示されてもよいことになる。ユーザの右眼と関連付けられるレンダリングカメラの目線からレンダリングされた仮想コンテンツは、そのような頭部搭載型ディスプレイの右側の接眼レンズを通して、ユーザに提示されてもよい。
【0095】
レンダリングプロセスにおけるレンダリングカメラの作成、調節、および使用について議論するさらなる詳細は、「METHODS AND SYSTEMS FOR DETECTING AND COMBINING STRUCTURAL FEATURES IN 3D RECONSTRUCTION」と題された米国特許出願第15/274,823号(あらゆる目的のために、参照することによってその全体として本明細書に明示的に組み込まれる)に提供される。
【0096】
いくつかの実施例では、システム800の1つ以上のモジュール(またはコンポーネント)(例えば、ライトフィールドレンダリングコントローラ818、レンダリングエンジン822等)は、ユーザの頭部および眼の位置および配向(例えば、それぞれ、頭部姿勢および眼追跡データに基づいて決定される)に基づいて、レンダリング空間内のレンダリングカメラの位置および配向を決定してもよい。すなわち、システム800は、事実上、ユーザの頭部および眼の位置および配向を3D仮想環境内の特定の場所および角位置にマッピングし、レンダリングカメラを3D仮想環境内の特定の場所および角位置に設置および配向し、レンダリングカメラによって捕捉されるであろうような仮想コンテンツをユーザのためにレンダリングし得る。実世界と仮想世界のマッピングプロセスについて議論するさらなる詳細は、「SELECTING VIRTUAL OBJECTS IN A THREE-DIMENSIONAL SPACE」と題された、米国特許出願第15/296,869号、(あらゆる目的のために、参照することによってその全体として本明細書に明示的に組み込まれる)に提供される。
【0097】
実施例として、レンダリングコントローラ818は、画像を表示するために任意の所与の時間に利用される、深度面または複数の深度面を選択することによって、画像が表示される深度を調節してもよい。いくつかの実装では、そのような深度面切替は、1つ以上の固有のレンダリングカメラパラメータの調節を通して行われてもよい。例えば、ライトフィールドレンダリングコントローラ818は、深度面切替または調節を実行するとき、レンダリングカメラの焦点距離を調節してもよい。下記にさらに詳細に説明されるように、深度面は、ユーザの決定された輻輳・開散運動または固視深度に基づいて、切り替えられてもよい。
【0098】
位置合わせオブザーバ820は、眼追跡モジュール814からの情報を使用して、頭部搭載型ユニット802がユーザの頭部上に適切に位置付けられているかどうかを識別してもよい。実施例として、眼追跡モジュール814は、カメラ252および頭部搭載型ユニット802に対するユーザの眼の3次元位置を示す、ユーザの眼の回転中心の位置等の眼場所情報を提供してもよい。眼追跡モジュール814は、場所情報を使用して、ディスプレイ208がユーザの視野内に適切に整合されているかどうか、または頭部搭載型ユニット802(またはヘッドセット)が、滑脱している、または別様にユーザの眼と整合されていないかどうかを決定してもよい。
【0099】
実施例として、位置合わせオブザーバ820は、頭部搭載型ユニット802がユーザの鼻梁から滑脱しているかどうかを決定することが可能であり得る。これは、ユーザの眼から離れた、かつ下方へのディスプレイ208の移動(望ましくない場合がある)を生じさせ得る。別の実施例として、位置合わせオブザーバ820は、頭部搭載型ユニット802が、ユーザの鼻梁の上方に移動されており、したがって、ディスプレイ208がユーザからの眼のより近くに、かつ上方に移動していることを決定し得る。別の実施例として、位置合わせオブザーバ820は、頭部搭載型ユニット802が、ユーザの鼻梁に対して左または右に偏移されていることを決定し得る。別の実施例として、位置合わせオブザーバ820は、頭部搭載型ユニット802が、ユーザの鼻梁の上方に持ち上げられていることを決定し得る。別の実施例として、位置合わせオブザーバ820は、頭部搭載型ユニット802が、所望の位置または位置の範囲から離れるように、これらまたは他の方法において移動されていることを決定し得る。
【0100】
一般に、位置合わせオブザーバ820は、一般に、頭部搭載型ユニット802、特に、ディスプレイ208が、ユーザの眼の正面に適切に位置付けられているかどうかを決定することが可能であり得る。換言すると、位置合わせオブザーバ820は、ディスプレイシステム208内の左ディスプレイが、ユーザの左眼と適切に整合されるか、ディスプレイシステム208内の右ディスプレイが、ユーザの右眼と適切に整合されているかどうかを決定してもよい。位置合わせオブザーバ820は、頭部搭載型ユニット802が、頭部搭載型ユニット802が、ユーザの眼に対して所望の位置および/または配向の範囲内に位置付けられ、配向されているかどうかを決定することによって、適切に位置付けられているかどうかを決定してもよい。
【0101】
少なくともいくつかの実施形態では、位置合わせオブザーバ820は、アラート、メッセージ、または他のコンテンツの形態におけるユーザフィードバックを生成してもよい。そのようなフィードバックは、ユーザに提供され、不整合を補正する方法(特定の様式において頭部搭載型ユニット802を調節するための提案等)に関する随意のフィードバックとともに、ユーザに頭部搭載型ユニット802の任意の不整合を知らせてもよい。
【0102】
位置合わせオブザーバ820によって利用され得る、例示的位置合わせ観察およびフィードバック技法は、2019年1月17日に出願された、米国特許出願第16/251,017号(参照することによってその全体として本明細書に組み込まれる)に説明される。
【0103】
眼追跡モジュールの実施例
例示的眼追跡モジュール814aの詳細なブロック図が、
図9に示される。いくつかの実装では、眼追跡モジュール814aは、
図8を参照して上記に説明されるようなシステム800の眼追跡モジュール814に対応し得る。
【0104】
図9に示されるように、眼追跡モジュール814aは、種々の異なるサブモジュールを含んでもよい、種々の異なる出力を提供してもよい、そしてユーザの眼を追跡する際、種々の利用可能なデータを利用してもよい。実施例として、眼追跡モジュール814aは、光源848および頭部搭載型ユニット802に対する眼追跡カメラ252の幾何学的配列、ユーザの角膜曲率の中心とユーザの眼の平均回転中心との間の約4.7mmの典型的距離またはユーザの回転中心と目線中心との間の典型的距離等の仮定される眼寸法904、および特定のユーザの瞳孔間距離等のユーザ毎較正データ906等の眼追跡付帯性質および固有性質を含む、利用可能なデータを利用してもよい。
【0105】
眼追跡モジュール814aによって採用され得る、付帯性質、固有性質、および他の情報の付加的実施例は、2017年4月26日に出願された、米国特許出願第15/497,726号(弁理士整理番号第MLEAP.023A7号)(参照することによってその全体として本明細書に組み込まれる)に説明される。
【0106】
画像事前処理モジュール910は、画像を眼カメラ252等の眼カメラから受信してもよく、1つ以上の事前処理(例えば、調整)動作を受信された画像上に実施してもよい。実施例として、画像事前処理モジュール910は、ガウスぼけを画像に適用してもよい。別の実施例として、画像事前処理モジュール910は、画像をより低い分解能にダウンサンプリングしてもよい。別の実施例として、画像事前処理モジュール910は、非鋭的マスクを適用してもよい。別の実施例として、画像事前処理モジュール910は、縁鮮明化アルゴリズムを適用してもよい。別の実施例として、画像事前処理モジュール910rは、眼カメラ252からの画像内の閃光、瞳孔、または他の特徴の後の検出、位置特定、および標識化を補助する、他の好適なフィルタを適用してもよい。画像事前処理モジュール910は、開放フィルタ等の低域通過フィルタまたは形態学的フィルタを適用してもよく、これは、高周波数雑音を瞳孔境界516a(
図5参照)等から除去し、それによって、瞳孔および閃光決定を妨げ得る、雑音を除去することができる。画像事前処理モジュール910は、事前処理された画像を瞳孔識別モジュール912と、閃光検出および標識化モジュール914とに出力してもよい。
【0107】
瞳孔識別モジュール912は、事前処理された画像を画像事前処理モジュール910から受信してもよく、ユーザの瞳孔を含む、それらの画像の領域を識別してもよい。瞳孔識別モジュール912は、いくつかの実施形態では、カメラ252からの眼追跡画像内のユーザの瞳孔の位置の座標またはその中心または重心の座標を決定してもよい。
【0108】
少なくともいくつかの実施形態では、瞳孔識別モジュール912は、眼追跡画像内の輪郭(例えば、瞳孔虹彩境界の輪郭)を識別し、輪郭モーメント(例えば、質量中心)を識別し、スターバースト瞳孔検出および/またはCanny縁検出アルゴリズムを適用し、強度値に基づいて、誤対応を排除し、サブピクセル境界点を識別し、眼カメラ歪曲(例えば、眼カメラ252によって捕捉された画像内の歪曲)を補正し、ランダムサンプル共有項(RANSAC)反復アルゴリズムを適用し、楕円形を眼追跡画像内の境界に適合させ、追跡フィルタを画像に適用し、ユーザの瞳孔の重心のサブピクセル画像座標を識別してもよい。
【0109】
瞳孔識別モジュール912は、ユーザの瞳孔を示すと識別された事前処理画像モジュール912の領域を示し得る、瞳孔識別データを、閃光検出および標識化モジュール914に出力してもよい。瞳孔識別モジュール912は、各眼追跡画像内のユーザの瞳孔の2D座標(例えば、ユーザの瞳孔の重心の2D座標)を閃光検出モジュール914に提供してもよい。少なくともいくつかの実施形態では、瞳孔識別モジュール912はまた、同一種類の瞳孔識別データを座標系正規化モジュール918に提供してもよい。
【0110】
瞳孔識別モジュール912によって利用され得る、瞳孔検出技法は、2017年2月23日に公開された、米国特許公開第2017/0053165号、2017年2月23日に公開された、米国特許公開第2017/0053166号、および2019年3月7日に公開された、米国特許出願第15/693,975号(それぞれ、参照することによってその全体として本明細書に組み込まれる)に説明される。
【0111】
閃光検出および標識化モジュール914は、事前処理された画像をモジュール910から、瞳孔識別データをモジュール912から受信してもよい。閃光検出モジュール914は、本データを使用して、ユーザの瞳孔を示す、事前処理された画像の領域内の閃光(例えば、光源848からの光のユーザの眼からの反射)を検出および/または識別してもよい。実施例として、閃光検出モジュール914は、ユーザの瞳孔の近傍内にある、時として、本明細書では、「ブロブ」または局所的強度最大値とも称される、眼追跡画像内の明るい領域を検索してもよい。
【0112】
少なくともいくつかの実施形態では、閃光検出モジュール914は、瞳孔楕円形を再スケーリング(例えば、拡大)し、付加的閃光を包含してもよい。閃光検出モジュール914は、サイズおよび/または強度によって、閃光をフィルタリングしてもよい。閃光検出モジュール914はまた、眼追跡画像内の閃光のそれぞれの2D位置を決定してもよい。少なくともいくつかの実施例では、閃光検出モジュール914は、ユーザの瞳孔に対する閃光の2D位置を決定してもよく、これは、瞳孔-閃光ベクトルとも称され得る。閃光検出および標識化モジュール914は、閃光を標識し、標識された閃光を伴う事前処理画像を3D角膜中心推定モジュール916に出力してもよい。閃光検出および標識化モジュール914はまた、モジュール910からの事前処理された画像およびモジュール912からの瞳孔識別データ等のデータを伝達してもよい。
【0113】
いくつかの実装では、閃光検出および標識化モジュール914は、各識別された閃光を生産した(例えば、赤外線光源848aおよび848bを含む、システムの複数の光源の中からの)光源を決定してもよい。これらの実施例では、閃光検出および標識化モジュール914は、閃光を関連付けられる光源を識別する情報で標識し、標識された閃光を伴う事前処理画像を3D角膜中心推定モジュール916に出力してもよい。いくつかの実装では、閃光検出および標識化モジュール914は、
図7Bを参照して上記に説明される閃光検出技法のうちの1つ以上のものを利用するように構成されてもよい。
【0114】
モジュール912および914等のモジュールによって実施されるような瞳孔および閃光検出は、任意の好適な技法を使用することができる。実施例として、縁検出が、眼画像に適用され、閃光および瞳孔を識別することができる。縁検出は、種々の縁検出器、縁検出アルゴリズム、またはフィルタによって適用されることができる。例えば、Canny縁検出器が、画像に適用され、画像の線内等の縁を検出することができる。縁は、極大値導関数に対応する、線に沿って位置する点を含んでもよい。例えば、瞳孔境界516a(
図5参照)は、Canny縁検出器を使用して、位置特定されることができる。
【0115】
瞳孔の場所が決定されると、種々の画像処理技法が、瞳孔116の「姿勢」を検出するために使用されることができる。眼画像の眼姿勢を決定するステップは、眼画像の眼姿勢を検出するステップとも称され得る。姿勢は、眼の視線、向いている方向、または配向とも称され得る。例えば、瞳孔は、オブジェクトに向かって左を見ている場合があり、瞳孔の姿勢は、左向き姿勢として分類され得る。他の方法も、瞳孔または閃光の場所を検出するために使用されることができる。例えば、同心リングが、Canny縁検出器を使用して、眼画像内で位置特定されることができる。別の実施例として、積分微分演算子が、瞳孔または虹彩の角膜輪部境界を見出すために使用されることができる。例えば、Daugman積分微分演算子、Hough変換、または他の虹彩セグメント化技法が、瞳孔または虹彩の境界を推定する、曲線を返すために使用されることができる。
【0116】
3D角膜中心推定モジュール916は、検出された閃光データおよび瞳孔識別データを含む、事前処理された画像を、モジュール910、912、914から受信してもよい。3D角膜中心推定モジュール916は、これらのデータを使用して、ユーザの角膜の3D位置を推定してもよい。いくつかの実施形態では、3D角膜中心推定モジュール916は、角膜曲率またはユーザの角膜球面の眼の中心、例えば、概して、ユーザの角膜と同延の表面部分を有する、想像上の球体の中心の3D位置を推定し得る。3D角膜中心推定モジュール916は、角膜球面および/またはユーザの角膜の推定される3D座標を示す、データを座標系正規化モジュール918、光学軸決定モジュール922、および/またはライトフィールドレンダリングコントローラ818に提供してもよい。
【0117】
3D角膜中心推定モジュール916および本開示のウェアラブルシステム内の他のモジュールによって利用され得る、角膜または角膜球面等の眼特徴の位置を推定するための技法は、2019年1月17日に出願された、米国特許出願第16/250,931号(参照することによってその全体として本明細書に組み込まれる)に議論される。
【0118】
座標系正規化モジュール918は、随意に、眼追跡モジュール814a内に含まれてもよい。座標系正規化モジュール918は、ユーザの角膜の中心および/またはユーザの角膜球面の中心の推定される3D座標を示す、データを、3D角膜中心推定モジュール916から受信してもよく、また、データを他のモジュールから受信してもよい。座標系正規化モジュール918は、眼カメラ座標系を正規化してもよく、これは、ウェアラブルデバイスの滑脱を補償することに役立ち得る。例えば、滑脱は、頭部搭載型コンポーネントのユーザの頭部上のその正常静置位置からの滑脱を含み得、これは、位置合わせオブザーバ820によって識別されてもよい。
【0119】
座標系正規化モジュール918は、座標系を回転させ、座標系のz-軸(例えば、輻輳・開散運動深度軸)と(例えば、3D角膜中心推定モジュール916によって示されるような)角膜中心を整合させてもよい。モジュール918はまた、カメラ中心(例えば、座標系の原点)を角膜中心から離れるように所定の距離だけ平行移動させてもよい。例示的距離は、25mm、30mm、35mm等を含んでもよい。例えば、モジュール918は、眼カメラ252が所定の距離より近くにあるかまたはより遠くにあるかが決定されたことに応じて、眼追跡画像を拡大または収縮してもよい。本正規化プロセスを用いることで、眼追跡モジュール814aは、比較的に、ユーザの頭部上のヘッドセットの位置付けの変動から独立して、眼追跡データ内で一貫した配向および距離を確立することが可能であり得る。
【0120】
座標系正規化モジュール918はまた、角膜(および/または角膜球面)の中心の3D座標、瞳孔識別データ、および事前処理された眼追跡画像を3D瞳孔中心ロケータモジュール920に提供してもよい。座標系正規化モジュール918によって実施され得る、動作のさらなる詳細は、米国特許出願第16/250,931号(参照することによってその全体として本明細書に組み込まれる)に提供される。
【0121】
3D瞳孔中心ロケータモジュール920は、ユーザの角膜(および/または角膜球面)の中心の3D座標、瞳孔場所データ、および事前処理された眼追跡画像を含む、正規化または非正規化座標系における、データを受信してもよい。3D瞳孔中心ロケータモジュール920は、そのようなデータを分析し、正規化または非正規化眼カメラ座標系において、ユーザの瞳孔中心の3D座標を決定してもよい。3D瞳孔中心ロケータモジュール920は、(例えば、モジュール912によって決定された)瞳孔重心の2D位置、(例えば、モジュール916によって決定された)角膜中心の3D位置、典型的ユーザの角膜球面のサイズおよび角膜中心から瞳孔中心までの典型的距離等の仮定される眼寸法904、および/または(空気の屈折率に対する)角膜の屈折率等の眼の光学性質、または任意のこれらの組み合わせに基づいて、ユーザの瞳孔の場所を3次元において決定してもよい。3D瞳孔中心ロケータモジュール920によって実施され得る、動作のさらなる詳細は、米国特許出願第16/250,931号(参照することによってその全体として本明細書に組み込まれる)に提供される。
【0122】
光学軸決定モジュール922は、ユーザの角膜およびユーザの瞳孔中心の3D座標を示す、データを、モジュール916および920から受信してもよい。そのようなデータに基づいて、光学軸決定モジュール922は、角膜中心の位置(例えば、角膜球面の中心から)からユーザの瞳孔中心までのベクトルを識別してもよく、これは、ユーザの眼の光学軸を定義し得る。光学軸決定モジュール922は、実施例として、ユーザの光学軸を規定する出力をモジュール924、928、930、および932に提供してもよい。
【0123】
回転中心(CoR)推定モジュール924は、ユーザの眼の光学軸のパラメータ(例えば、頭部搭載型ユニット802との既知の関係を伴う座標系内の光学軸の方向を示す、データ)を含むデータを、モジュール922から受信してもよい。例えば、CoR推定モジュール924は、ユーザの眼の回転中心を推定し得る。回転中心は、その周囲でユーザの眼が回転する、点を示してもよい(例えば、ユーザの眼が、左、右、上、および/または下に回転するとき)。眼は、単点の周囲で完璧に回転し得ないが、単点を仮定することは、いくつかの実施形態では、十分であり得る。いくつかの実施形態では、付加的点が、検討されてもよい。
【0124】
少なくともいくつかの実施形態では、CoR推定モジュール924は、(例えば、モジュール920によって識別される)瞳孔中心または(例えば、モジュール916によって識別される)角膜の曲率の中心から(例えば、モジュール922によって識別される)光学軸に沿って網膜に向かって特定の距離だけ移動させることによって、眼の回転中心を推定し得る。本特定の距離は、仮定される眼寸法904であり得る。一実施例として、角膜の曲率の中心とCoRとの間の特定の距離は、約4.7mmであってもよい。本距離は、ユーザの年齢、性別、視覚処方箋、他の関連特性等を含む、任意の関連データに基づいて、特定のユーザに関して変動され得る。角膜の曲率の中心とCoRとの間の距離に関する推定値としての4.7mmの値の付加的議論は、米国特許出願第16/250,931号(参照することによってその全体として本明細書に組み込まれる)に提供される。
【0125】
少なくともいくつかの実施形態では、CoR推定モジュール924は、ユーザの眼のそれぞれの回転中心のその推定値を経時的に精緻化してもよい。実施例として、時間が経過するにつれて、ユーザは、最終的に、その眼を回転させ(例えば、他の場所、より近い、より遠い何らかのもの、または時として、左、右、上、または下を見るために)、その眼のそれぞれの光学軸における偏移を引き起こすであろう。CoR推定モジュール924は、次いで、モジュール922によって識別される2つ(以上の)光学軸を分析し、それらの光学軸の交点の3D点を位置特定してもよい。CoR推定モジュール924は、次いで、その交点の3D点にある、回転中心を決定してもよい。そのような技法は、経時的に改良する正確度を伴って、回転中心の推定値を提供し得る。
【0126】
種々の技法が、CoR推定モジュール924および左および右眼の決定されたCoR位置の正確度を増加させるために採用されてもよい。実施例として、CoR推定モジュール924は、種々の異なる眼姿勢に関して経時的に決定された光学軸の交点の平均点を見出すことによって、CoRを推定し得る。別の実施例として、モジュール924は、推定されるCoR位置を経時的にフィルタリングまたは平均してもよい。別の実施例として、モジュール924は、推定されるCoR位置の移動平均を経時的に計算してもよい。別の実施例として、モジュール924は、カルマンフィルタを眼および眼追跡システムの既知の動態に適用し、CoR位置を経時的に推定してもよい。
【0127】
いくつかの実装では、最小二乗アプローチが、光学軸の交点の1つ以上の点を決定するためにとられてもよい。そのような実装では、本システムは、所与の時点において、光学軸交点の点として、光学軸の所与のセットに対する二乗距離の和が、最小限にされる、場所を識別してもよい。具体的実施例として、モジュール924は、決定されたCoRが、ユーザに関する眼追跡データが取得されるにつれて、仮定されるCoR位置(例えば、眼の角膜曲率の中心から4.7mm背後)からユーザの眼内の若干異なる場所に経時的にゆっくりとドリフトし、それによって、CoR位置のユーザ毎精緻化を有効にし得るように、光学軸交点の決定された点および仮定されるCoR位置(眼の角膜曲率の中心から4.7mm等)の加重平均を計算してもよい。
【0128】
(例えば、実質的に理想的)ある条件下では、HMDに対するユーザの眼の真のCoRの3D位置は、ユーザがその眼を移動させるにつれて(例えば、ユーザの眼が、その回転中心の周囲で回転するにつれて)、無視可能または最小限の量だけ経時的に変化するはずである。例えば、眼移動の所与のセットに関して、(例えば、HMDに対する)ユーザの眼の真のCoRの3D位置は、仮説上、ユーザの眼の光学軸に沿った任意の他の点ほど経時的に変動しないはずである。したがって、点光学軸に沿った点がユーザの眼の真のCoRから遠くなるほど、ユーザがその眼を移動させるにつれて、より多くの変動または分散をその3D位置が経時的に呈するであろうということになる。いくつかの実施形態では、CoR推定モジュール924および/または眼追跡モジュール814aの他のサブモジュールは、CoR推定正確度を改良するために、本統計的関係を利用してもよい。そのような実施形態では、CoR推定モジュール924および/または眼追跡モジュール814aの他のサブモジュールは、低変動(例えば、低分散または標準偏差)を有するそのCoR推定値の変動を識別することによって、CoR3D位置のその推定値を経時的に精緻化してもよい。
【0129】
第1の実施例として、CoR推定モジュール924(例えば、それぞれ、異なる方向に見ているユーザと関連付けられる)が、複数の異なる光学軸の交点に基づいて、CoRを推定する、実施形態では、CoR推定モジュール924は、共通オフセットを光学軸のそれぞれの方向に導入し(例えば、各軸をある均一量だけ偏移させ)、オフセット光学軸が低変動(例えば、低分散または標準偏差)を有する交点において相互に交差するかどうかを決定することによって、本統計的関係(例えば、真のCoRは、低分散を有するはずである)を利用してもよい。これは、光学軸の方向を計算する際のわずかな系統的誤差を補正し、CoRの推定される位置が真のCoRにより近づくように精緻化することに役立ち得る。
【0130】
第2の実施例は、CoR推定モジュール924が、光学軸または他の軸に沿って特定の距離(例えば、角膜の曲率の中心とCoRとの間の距離等)だけ移動させることによって、CoRを推定する、実施形態に関するものである。本第2の実施例に関して、本システムは、推定されるCoR位置の変動、例えば、分散および/または標準偏差を低減または最小限にするような様式において、(例えば、異なる時間に捕捉された眼の画像の大規模群に関して)角膜の曲率の中心とCoRとの間の特定の距離を経時的に変動させる、最適化する、調整する、または別様に調節してもよい。
【0131】
例えば、CoR推定モジュール924が、最初に、(例えば、角膜の曲率の中心から、光学軸に沿った)4.7mmの特定の距離値を使用して、CoR位置推定値を取得するが、所与のユーザの眼の真のCoRが、(例えば、光学軸に沿って)眼の角膜曲率の中心の4.9mm背後に位置付けられ得る場合、CoR推定モジュール924によって取得されるCoR位置推定値の初期セットは、比較的に高変動量、例えば、分散または標準偏差を呈し得る。そのような比較的に高変動量(例えば、分散または標準偏差)の検出に応答して、CoR推定モジュール924は、光学軸に沿って、より低い変動量(例えば、分散または標準偏差)を有する、1つ以上の点を決定してもよい。したがって、モジュール924は、4.9mm距離を最低変動(例えば、分散または標準偏差)を有するものとして識別し得、したがって、利用される特定の距離値を4.9mmに調節してもよい。
【0132】
CoR推定モジュール924は、現在のCoR推定値が比較的に高変動量(例えば、分散または標準偏差)を有することを検出することに応答して、より低い変動(例えば、分散および/または標準偏差)を有する、代替CoR推定値を決定してもよい。モジュール924はまた、当然ながら、初期CoR推定値を取得後、より低い変動(例えば、分散または標準偏差)を有する、代替CoR推定値を決定してもよい。いくつかの実施例では、そのような最適化/調節は、経時的に徐々に起こり得る一方、他の実施例では、そのような最適化/調節は、初期ユーザ較正セッションの間に行われることができる。そのようなプロシージャが較正プロシージャの間に行われる、実施例では、CoR推定モジュール924は、最初に、任意の仮定される特定の距離に準拠/固執し得ず、むしろ、眼追跡データのセットを経時的に収集し、統計的分析を眼追跡データのセット上で実施し、特定の距離値を決定し、統計的分析に基づいて、最小可能変動量(例えば、大域的最小値)(例えば、分散または標準偏差)を伴うCoR位置推定値をもたらし得る。
【0133】
上記に説明される統計的関係(例えば、真のCoRは、低分散または標準偏差を有するはずである)および瞳孔位置を決定する際に角膜屈折を考慮することの有意性の付加的議論は、米国特許出願第16/250,931号(参照することによってその全体として本明細書に組み込まれる)に提供される。
【0134】
瞳孔間距離(IPD)推定モジュール926は、ユーザの左および右眼の回転中心の推定される3D位置を示す、データを、CoR推定モジュール924から受信してもよい。IPD推定モジュール926は、次いで、ユーザの左および右眼の回転中心間の3D距離を測定することによって、ユーザのIPDを推定してもよい。一般に、ユーザの左眼の推定されるCoRとユーザの右眼の推定されるCoRとの間の距離は、ユーザが約光学無限遠を見ているときのユーザの瞳孔中心間の距離にほぼ等しくあり得る。例えば、これは、ユーザの眼の光学軸が相互に略平行であることを指し得る。これは、瞳孔間距離(IPD)の典型的定義を指し得る。
【0135】
ユーザのIPDは、ウェアラブルシステム内の種々のコンポーネントおよびモジュールによって使用されてもよい。実施例として、ユーザのIPDは、位置合わせオブザーバ820に提供され、ウェアラブルデバイスがユーザの眼と整合されている程度(例えば、左および右ディスプレイレンズがユーザのIPDに従って適切に離間されているかどうか)を査定する際に使用されてもよい。別の実施例として、ユーザのIPDは、輻輳・開散運動深度推定モジュール928に提供され、ユーザの輻輳・開散運動深度を決定する際に使用されてもよい。モジュール926は、CoR推定モジュール924に関連して議論されるもの等の種々の技法を採用し、推定されるIPDの正確度を増加させてもよい。実施例として、IPD推定モジュール924は、ユーザのIPDを正確な様式において推定するステップの一部として、フィルタリング、経時的平均、仮定されるIPD距離を含む、加重された平均、カルマンフィルタ等を適用してもよい。
【0136】
輻輳・開散運動深度推定モジュール928は、データを(
図9に関連して示されるような)眼追跡モジュール814a内の種々のモジュールおよびサブモジュールから受信してもよい。特に、輻輳・開散運動深度推定モジュール928は、(例えば、上記に説明されるモジュール920によって提供されるような)瞳孔中心の推定される3D位置、(例えば、上記に説明されるモジュール922によって提供されるような)光学軸の1つ以上の決定されたパラメータ、(例えば、上記に説明されるモジュール924によって提供されるような)回転中心の推定される3D位置、(例えば、上記に説明されるモジュール926によって提供されるような)推定されるIPD(例えば、回転中心の推定される3D位置間のユークリッド距離)、および/または(例えば、下記に説明されるモジュール922および/またはモジュール930によって提供されるような)光学および/または視軸の1つ以上の決定されたパラメータを示す、データを採用してもよい。
【0137】
輻輳・開散運動深度推定モジュール928は、ユーザの輻輳・開散運動深度の測定値を検出または別様に取得してもよい。輻輳・開散運動深度は、ユーザの眼が合焦される、ユーザからの距離を示し得る。実施例として、ユーザが、彼らの3フィート正面のオブジェクトを見ているとき、ユーザの左および右眼は、3フィートの輻輳・開散運動深度を有する。別の実施例として、ユーザが、遠くの景色を見ているとき、ユーザの左および右眼は、無限遠の輻輳・開散運動深度を有する。本実施例では、ユーザの眼の光学軸は、ユーザの瞳孔中心間の距離が、ユーザの左および右眼の回転中心間の距離にほぼ等しくなり得るように、相互に略平行であり得る。
【0138】
いくつかの実装では、輻輳・開散運動深度推定モジュール928は、(例えば、モジュール920によって提供されるような)ユーザの瞳孔の推定される中心を示す、データを利用し、ユーザの瞳孔の推定される中心間の3D距離を決定してもよい。輻輳・開散運動深度推定モジュール928は、そのような決定された瞳孔中心間の3D距離と推定されるIPD(例えば、回転中心の推定される3D位置間のユークリッド距離)を比較することによって、輻輳・開散運動深度の測定値を取得してもよい。
【0139】
瞳孔中心間の3D距離および推定されるIPDに加え、輻輳・開散運動深度推定モジュール928は、既知の、仮定された、推定された、および/または決定された幾何学形状を利用して、輻輳・開散運動深度を計算してもよい。実施例として、モジュール928は、瞳孔中心間の3D距離、推定されるIPD、および3D CoR位置を三角法計算において組み合わせ、ユーザの輻輳・開散運動深度を推定(例えば、決定)してもよい。いくつかの実施形態では、推定されるIPDに対する瞳孔中心間のそのような決定された3D距離の評価は、光学無限遠に対するユーザの現在の輻輳・開散運動深度の測定値を示す役割を果たし得る。いくつかの実施例では、輻輳・開散運動深度推定モジュール928は、輻輳・開散運動深度のそのような測定値を取得する目的のために、ユーザの瞳孔の推定される中心間の推定される3D距離を示す、データを受信する、またはそれにアクセスしてもよい。
【0140】
いくつかの実施形態では、輻輳・開散運動深度推定モジュール928は、ユーザの左および右光学軸を比較することによって、輻輳・開散運動深度を推定してもよい。特に、輻輳・開散運動深度推定モジュール928は、ユーザの左および右光学軸が交差する(または水平平面等の平面上のユーザの左および右光学軸の投影が交差する)、ユーザからの距離を位置特定することによって、輻輳・開散運動深度を推定してもよい。モジュール928は、ゼロ深度をユーザの左および右光学軸がユーザのIPDによって分離される深度に設定することによって、ユーザのIPDを本計算において利用してもよい。少なくともいくつかの実施形態では、輻輳・開散運動深度推定モジュール928は、既知のまたは導出される空間関係とともに、眼追跡データを三角測量することによって、輻輳・開散運動深度を決定してもよい。
【0141】
いくつかの実施形態では、輻輳・開散運動深度推定モジュール928は、上記に説明されるような光学軸と対照的に、ユーザの視軸の交点に基づいて、ユーザの輻輳・開散運動深度を推定してもよい。これは、その上にユーザが合焦している距離のより正確なインジケーションを提供し得る。
【0142】
少なくともいくつかの実施形態では、眼追跡モジュール814aは、光学軸と視軸のマッピングモジュール930を含んでもよい。
図10に関連してさらに詳細に議論されるように、ユーザの光学および視軸は、概して、整合されない。視軸は、それに沿って人物が見ている軸である一方、光学軸は、その人物の水晶体および瞳孔中心によって定義され、人物の網膜の中心を通して進み得る。特に、ユーザの視軸は、概して、ユーザの中心窩の場所によって定義され、これは、ユーザの網膜の中心からオフセットされ、それによって、異なる光学および視軸をもたらし得る。これらの実施形態のうちの少なくともいくつかでは、眼追跡モジュール814aは、光学軸と視軸のマッピングモジュール930を含んでもよい。光学軸と視軸のマッピングモジュール930は、ユーザの光学軸と視軸との間の差異を補正し、ユーザの視軸に関する情報を、輻輳・開散運動深度推定モジュール928およびライトフィールドレンダリングコントローラ818等のウェアラブルシステム内の他のコンポーネントに提供してもよい。
【0143】
いくつかの実施例では、モジュール930は、光学軸と視軸との間の内向きの(鼻側の、すなわち、ユーザの鼻に向かった)約5.2°の典型的オフセットを含む、仮定される眼寸法904を使用してもよい。換言すると、モジュール930は、ユーザの左および右光学軸の方向を推定するために、ユーザの左光学軸を鼻に向かって5.2°(鼻側に)右に、ユーザの右光学軸を鼻に向かって5.2°(鼻側に)左に偏移させてもよい。他の実施例では、モジュール930は、光学軸(例えば、上記に説明されるモジュール922によって示されるように)を視軸にマッピングする際、ユーザ毎較正データ906を利用してもよい。付加的実施例として、モジュール930は、ユーザの光学軸を鼻側に4.0°~6.5°、4.5°~6.0°、5.0°~5.4°等、またはこれらの値いずれかによって形成される任意の範囲だけ偏移させてもよい。いくつかの配列では、モジュール930は、少なくとも部分的に、その年齢、性別、視覚処方箋、または他の関連特性等の特定のユーザの特性に基づいて、偏移を適用してもよく、および/または少なくとも部分的に、特定のユーザのための較正プロセスに基づいて、偏移を適用してもよい(例えば、特定のユーザの光学軸-視軸オフセットを決定するために)。少なくともいくつかの実施形態では、モジュール930はまた、左および右光学軸の原点を偏移させ、ユーザのCoRの代わりに、(モジュール932によって決定されるような)ユーザのCoPと対応させてもよい。
【0144】
随意の目線中心(CoP)推定モジュール932は、提供されるとき、ユーザの左および右目線中心(CoP)の場所を推定してもよい。CoPは、ウェアラブルシステムのための有用な場所であり得、少なくともいくつかの実施形態では、瞳孔の真正面の位置である。少なくともいくつかの実施形態では、CoP推定モジュール932は、ユーザの瞳孔中心の3D場所、ユーザの角膜曲率の中心の3D場所、またはそのような好適なデータ、またはそれらの任意の組み合わせに基づいて、ユーザの左および右目線中心の場所を推定してもよい。実施例として、ユーザのCoPは、光学または視軸に沿って、角膜曲率の中心の約5.01mm正面にあってもよく、ユーザの角膜の外面の約2.97mm背後にあってもよい。5.01mmは、眼の角膜に向かった、かつ光学軸に沿った、方向における、角膜球面中心からの距離を表し得る。ユーザの目線中心は、その瞳孔中心の真正面であってもよい。実施例として、ユーザのCoPは、ユーザの瞳孔から約2.0mm未満、ユーザの瞳孔から約1.0mm未満、またはユーザの瞳孔から約0.5mm未満、またはこれらの値のいずれかの間の任意の範囲にあってもよい。別の実施例として、目線中心は、眼の前房内の場所に対応し得る。他の実施例として、CoPは、1.0mm~2.0mm、約1.0mm、0.25mm~1.0mm、0.5mm~1.0mm、または0.25mm~0.5mmにあってもよい。
【0145】
(潜在的に、レンダリングカメラのピンホールおよびユーザの眼内の解剖学的位置のための望ましい位置としての)本明細書に説明される目線中心は、望ましくない視差偏移を低減および/または排除する役割を果たす、位置であり得る。特に、ユーザの眼の光学系は、画面上に投影する、レンズの正面のピンホールによって形成される、理論的システムにほぼ匹敵し得、ピンホール、レンズ、および画面は、それぞれ、ユーザの瞳孔/虹彩、レンズ、および網膜にほぼ対応する。さらに、ユーザの眼から異なる距離における2つの点光源(またはオブジェクト)がピンホールの開口部を中心として剛性に回転される(例えば、ピンホールの開口部からのその個別の距離に等しい曲率半径に沿って回転される)とき、殆どまたは全く視差偏移が存在しないことが望ましくあり得る。
【0146】
したがって、CoPは、眼の瞳孔中心に位置するはずである(かつそのようなCoPが、いくつかの実施形態では、使用されてもよい)ということになるであろう。しかしながら、ヒトの眼は、瞳孔の水晶体およびピンホールに加え、角膜を含み、これは、光が網膜に向かって伝搬するための付加的屈折力を付与する。本段落に説明される理論的システム内のピンホールの解剖学的均等物は、したがって、ユーザの眼の角膜の外面とユーザの眼の瞳孔または虹彩の中心との間に位置付けられる、ユーザの眼の領域であり得る。例えば、ピンホールの解剖学的均等物は、ユーザの眼の前房内の領域に対応し得る。本明細書で議論される種々の理由から、CoPをユーザの眼の前房内のそのような位置に設定することが所望され得る。CoPの導出および有意性は、米国特許出願第16/250,931号(参照することによってその全体として本明細書に組み込まれる)に説明される。
【0147】
上記に議論されるように、眼追跡モジュール814aは、左および右眼回転中心(CoR)の推定される3D位置、輻輳・開散運動深度、左および右眼光学軸、ユーザの眼の3D位置、ユーザの角膜曲率の左および右中心の3D位置、ユーザの左および右瞳孔中心の3D位置、ユーザの左および右目線中心の3D位置、ユーザのIPD等のデータを、ウェアラブルシステム内のライトフィールドレンダリングコントローラ818および位置合わせオブザーバ820等の他のコンポーネントに提供してもよい。眼追跡モジュール814aはまた、ユーザの眼の他の側面と関連付けられる、データを検出および生成する、他のサブモジュールを含んでもよい。実施例として、眼追跡モジュール814aは、ユーザが瞬目する度にフラグまたは他のアラートを提供する、瞬目検出モジュールと、ユーザの眼がサッカードする(例えば、焦点を別の点に迅速に偏移させる)度にフラグまたは他のアラートを提供する、サッカード検出モジュールとを含んでもよい。
【0148】
図10は、例示的眼追跡モジュール814bのブロック図を図示する。いくつかの実装では、眼追跡モジュール814bは、
図8を参照して上記に説明されるような、システム800の眼追跡モジュール814に対応し得る。
図10に示されるように、眼追跡モジュール814bは、種々の異なるサブモジュールを含んでもよく、種々の異なる出力を提供してもよく、ユーザの眼を追跡する際、種々の利用可能なデータを利用してもよい。より具体的には、眼追跡モジュール814bは、深層セグメント化ネットワーク1007(例えば、1つ以上の機械学習モデル)と、輪郭決定モジュール1009と、重心決定モジュール1011と、瞳孔識別モジュール1012と、閃光検出および標識化モジュール1014と、3D角膜中心推定モジュール1016と、3D瞳孔中心ロケータモジュール1020と、光学軸決定モジュール1022と、CoR推定モジュール1024と、光学軸と視軸のマッピングモジュール1030と、輻輳・開散運動深度推定モジュール1032とを含んでもよい。いくつかの実装では、
図10におけるサブモジュール1012、1014、1016、1020、1022、1024、1030、および1032のうちの1つ以上のものによって実施される動作のうちの少なくともいくつかは、それぞれ、
図9を参照して上記に説明されるようなサブモジュール912、914、916、920、922、924、930、および932のうちの1つ以上のものによって実施される動作のうちの少なくともいくつかに対応し得る。いくつかの実施例では、眼追跡モジュール814bは、
図9を参照して上記に説明される動作のうちの1つ以上のものを実施するように構成される、1つ以上の付加的サブモジュールを含んでもよい。
【0149】
いくつかの実装では、深層セグメント化ネットワーク1007は、
図1A-7Bを参照して上記に説明される眼画像セグメント化動作のうちの1つ以上のものを実施するように訓練または別様に構成される、ニューラルネットワークまたは他のモデルに対応し得る。例示的ニューラルネットワークは、完全結合ニューラルネットワーク、畳み込みニューラルネットワーク等を含んでもよい。したがって、深層セグメント化ネットワーク1007は、ユーザの眼の画像を眼カメラ252から入力として受信してもよく、眼画像セグメント化データを出力として輪郭決定モジュール1009に提供してもよい。輪郭決定モジュール1009は、深層セグメント化ネットワーク1007によって生成された眼画像セグメント化データに基づいて、例えば、ユーザの眼の強膜、虹彩、および/または瞳孔の輪郭または境界を識別してもよい。本情報は、本明細書では、虹彩セグメント化データおよび/または瞳孔セグメント化データとも称され得る。いくつかの実装では、輪郭決定モジュール1009は、ユーザの虹彩の決定された輪郭を示す、データを、閃光検出および標識化モジュール1014に提供してもよい。加えて、輪郭決定モジュール1009は、いくつかの実施例では、ユーザの瞳孔の決定された輪郭を示す、データを、重心決定モジュール1011に出力してもよい。
【0150】
虹彩の決定された輪郭を示す、データが、輪郭決定モジュール1009によって、閃光検出および標識化モジュール1014への入力として提供される、実装では、閃光検出および標識化モジュール1014は、いくつかの実施例では、そのようなデータを利用して、閃光に関して検索空間を絞り込んでもよい。より具体的には、いくつかの実施例では、閃光検出および標識化モジュール1014は、輪郭決定モジュール1009から受信されたデータに基づいて、眼カメラ252から受信された所与の眼画像の特定の領域を識別し、識別された特定の領域内の閃光の存在を検索してもよい。識別されたそのような特定の領域は、例えば、少なくとも部分的に、虹彩の領域に対応し得る。いくつかの実装では、閃光検出および標識化モジュール1014は、所与の眼画像の他の領域が、事実上、眼閃光の検索から除外され、および/または完全に破棄されるように、閃光に関するその検索をそのような領域に限定し得る。したがって、閃光検出および標識化モジュール1014は、輪郭決定モジュール1009によって提供されるような虹彩の決定された輪郭を示す、データを活用することによって、より高速および/またはあまり算出上集約的ではない様式において、閃光を検出および標識することが可能であり得る。
【0151】
図11を参照して下記にさらに詳細に説明されるように、いくつかの実施例では、閃光検出および標識化モジュール1014は、1つの眼画像に基づいて、輪郭決定モジュール1009によって決定されるような虹彩の決定された輪郭を示す、データを活用し、1つ以上の続いて受信された眼画像内の特定の領域を識別してもよい。換言すると、いくつかの実施例では、閃光検出および標識化モジュール1014は、輪郭決定モジュール1009によって提供されるような眼カメラ252によって捕捉された(n-1)番目の眼画像内の虹彩の決定された輪郭を示す、データに基づいて、眼カメラ252によって捕捉されたn番目の眼画像内の特定の領域を識別してもよい。眼画像セグメント化が、比較的に算出上および時間的に集約的であり得ることを前提として、このように、サブモジュール1007、1009、および1011の動作を眼追跡モジュール814bの他のサブモジュールから分断することは、全体的システム待ち時間を低減させる役割を果たし得る。
【0152】
上記に述べられたように、いくつかの実施例では、輪郭決定モジュール1009は、ユーザの瞳孔の決定された輪郭を示すデータを、重心決定モジュール1011に出力してもよい。重心決定モジュール1011は、ひいては、そのようなデータを使用して、輪郭瞬間、質量中心、または瞳孔の重心を決定してもよい。いくつかの実装では、重心決定モジュール1011は、ユーザの瞳孔の重心を示すデータを、瞳孔識別モジュール1012に提供してもよい。そのような実装では、瞳孔識別モジュール1012は、いくつかの実施例では、そのようなデータを利用して、所与の眼画像内の瞳孔を識別するための開始点を提供してもよい。例えば、瞳孔識別モジュール1012は、輪郭決定モジュール1009から受信されたデータに基づいて、眼カメラ252から受信された所与の眼画像内の特定の場所を識別し、瞳孔境界の存在に関して、識別された場所から外向きに検索してもよい(例えば、スターバーストアルゴリズムを使用して)。
【0153】
スターバーストアルゴリズムが採用される、実施例では、瞳孔識別モジュール1012は、そこからスターバーストが開始される場所(例えば、バーストの原点)として、上記に説明される識別された場所を使用してもよい。また、
図11を参照して下記にさらに詳細に説明されるように、いくつかの実施例では、瞳孔識別モジュール1012は、1つの眼画像に基づいて重心決定モジュール1011によって決定されるような瞳孔の決定された重心を示す、データを活用し、1つ以上の続いて受信された眼画像内の特定の場所を識別してもよい。換言すると、いくつかの実施例では、瞳孔識別モジュール1012は、重心決定モジュール1011によって提供されるような眼カメラ252によって捕捉された(n-1)番目の眼画像内の瞳孔の決定された重心を示す、データに基づいて、眼カメラ252によって捕捉された画像n番目の眼内の特定の場所を識別してもよい。そのような実施例では、瞳孔識別モジュール1012は、続いて、n番目の眼画像内の瞳孔境界の存在/場所に関して、n番目の眼画像内の識別された特定の場所から外向きに検索してもよい(例えば、スターバーストアルゴリズムを使用して)。上記に述べられたように、待ち時間節約は、このように、サブモジュール1007、1009、および1011の動作を眼追跡モジュール814bの他のサブモジュールから分断することによって達成されることができる。
【0154】
図11は、低減された待ち時間を伴って眼追跡を実施するための例示的プロセス1100を図示する、フローチャートである。プロセス1100は、本明細書に説明されるウェアラブルディスプレイシステムの実施形態によって、例えば、
図10を参照して上記に説明される眼追跡モジュール814bを使用して、実施されることができる。プロセス1100の種々の実装では、下記に説明されるブロックは、任意の好適な順序またはシーケンスで実施されることができる、ブロックは、組み合わせられる、または再配列されることができる、または他のブロックが、追加されることができる。
【0155】
いくつかの実装では、プロセス1100は、ユーザの眼の画像を捕捉するように構成される、1つ以上のカメラと、1つ以上のカメラによって捕捉されたユーザの眼の画像内に閃光を生産するような様式において、ユーザの眼を照明するように構成される、複数の光源(例えば、赤外線光源)と、1つ以上のカメラに結合される、1つ以上のプロセッサとを含む、頭部搭載型システムによって実施されてもよい。そのような実装のうちの少なくともいくつかでは、プロセス1100の動作のいくつかまたは全ては、少なくとも部分的に、本システムの1つ以上のプロセッサによって実施されてもよい。
【0156】
ブロック1102-1106(例えば、ブロック1102、1104、および1106)では、プロセス1100は、眼追跡カメラによって捕捉された第1の眼画像を取得するステップから開始してもよい。これは、実施例として、新しい眼追跡セッションの開始時に、ユーザの眼の画像を眼追跡カメラ252から取得する眼追跡モジュール814bの1つ以上のサブモジュールに対応し得る。そのような新しい眼追跡セッションは、例えば、HMDが、特定のアプリケーションをオンにする、または立ち上げることに応答して、開始されてもよい。
【0157】
ブロック1108では、プロセス1100は、ブロック1106において取得される眼画像が、ブロック1102におけるプロセス1100の開始に続いて捕捉および取得された第1の眼画像を表すかどうかを決定するステップを含む。それを前提として、本インスタンスでは、ブロック1108の動作は、ブロック1102-1106のものの直後に実施され、プロセス1100は、本インスタンスでは、ブロック1106において取得される眼画像が、ブロック1102におけるプロセス1100の開始に続いて捕捉および取得された第1の眼画像を表すことを決定するステップを含んでもよい。したがって、本インスタンスでは、プロセス1100は、ブロック1110および1120に進み得る。いくつかの実装では、プロセス1100は、同時に、ブロック1110および1120に進むステップを含んでもよい。
【0158】
ブロック1110では、プロセス1100は、深層セグメント化ネットワークを使用して、第1の眼画像をセグメント化するステップを含んでもよい。これは、例えば、
図1A-7Bを参照して上記に説明される技法のうちの1つ以上のものを使用して眼画像をセグメント化する、
図10を参照して上記に説明されるような眼追跡モジュール814bの深層セグメント化ネットワーク1007に対応し得る。
【0159】
ブロック1112では、プロセス1100は、第1の眼画像内のセグメント化された虹彩および瞳孔の輪郭を決定するステップを含んでもよい。これは、例えば、深層セグメント化ネットワーク1007によって生成されたデータに基づいて、眼画像内の虹彩および瞳孔の輪郭を識別する、
図10を参照して上記に説明されるような眼追跡モジュール814bの輪郭決定モジュール1009に対応し得る。
【0160】
ブロック1114では、プロセス1100は、セグメント化された瞳孔の決定された輪郭に基づいて、第1の眼画像内のセグメント化された瞳孔の重心を決定するステップを含んでもよい。これは、実施例として、輪郭決定モジュール1009によって提供されるデータに基づいて、眼画像内のセグメント化された瞳孔の輪郭モーメント、質量中心、または重心を決定する、
図10を参照して上記に説明されるような眼追跡モジュール814bの重心決定モジュール1011に対応し得る。
【0161】
ブロック1120および1108では、プロセス1100は、眼追跡カメラによって捕捉された第2の眼画像を取得するステップを含んでもよい。上記に述べられたように、いくつかの実装では、ブロック1120および1108と関連付けられる動作は、ブロック1110-1114と関連付けられる動作のうちの1つ以上のものと同時に実施されてもよい。ブロック1108では、プロセス1100は、ブロック1106において取得される眼画像が、ブロック1102においてプロセス1100の開始に続いて捕捉および取得される第1の眼画像を表すかどうかを決定するステップを含む。それを前提として、本インスタンスでは、ブロック1108の動作は、ブロック1120および1106のものに続いて(例えば、その直後に)実施されてもよく、プロセス1100は、本インスタンスでは、取得される最新の眼画像が、ブロック1102においてプロセス1100の開始に続いて捕捉および取得される第1の眼画像を表さないことを決定するステップを含んでもよい。したがって、本インスタンスでは、プロセス1100は、ブロック1109および1110に進み得る。いくつかの実装では、プロセス1100は、同時に、ブロック1109および1110に進むステップを含んでもよい。
【0162】
ブロック1109では、プロセス1100は、第1の眼画像内のセグメント化された虹彩の決定された輪郭に基づいて、第2の眼画像内の着目領域を識別するステップを含んでもよい。これは、実施例として、眼追跡モジュール814bの閃光検出および標識化モジュール1014に対応し得る。
図10を参照して上記に説明されるように、これは、前の眼画像のセグメント化に基づいて、輪郭決定モジュール1009によって生成されたデータを使用して、閃光に関して検索すべき所与の眼画像の領域を識別するステップを含んでもよい。比較的にわずかな眼移動が連続眼画像間では生じる可能性が高いことを前提として、第1の眼画像のセグメント化に基づいて決定された虹彩輪郭は、閃光検出の目的のための第2の眼画像内の虹彩の境界にとって十分に有益であり得る。
【0163】
ブロック1111では、プロセス1100は、閃光に関して第2の画像内の識別された着目領域を検索するステップを含んでもよい。例えば、第2の画像内の1つ以上の場所(例えば、場所のセット)が、閃光を表すものとして検出されてもよい。上記に説明されるように、第2の画像内の明るい領域が、識別されてもよい(例えば、ブロブまたは局所的強度最大値)。いくつかの実施形態では、閃光の場所は、2つの画像寸法(例えば、第2の画像内のXおよびY位置)内の局所的強度最大値として識別されてもよい。これらの実施形態では、実施例として、ガウス分布が、推定される閃光を囲繞する境界ボックス内の最大強度値を決定することを介して、閃光のために決定されてもよい。最大強度値に対応する、画像場所は、閃光場所として割り当てられてもよい。推定される閃光は、第2の画像の別の部分と比較した画像強度(例えば、明度)の増加に基づいて決定されてもよい。
【0164】
ブロック1111と関連付けられる動作はまた、
図10を参照して上記に説明されるような眼追跡モジュール814bの閃光検出および標識化モジュール1014によって実施されるものに対応し得る。
【0165】
ブロック1113では、プロセス1100は、識別された着目領域内で検出された閃光に基づいて、第2の眼画像内の3D角膜中心の場所を推定するステップを含んでもよい。これは、実施例として、眼追跡モジュール814bの3D角膜中心モジュール1016に対応し得る。
図10を参照して上記に説明されるように、これは、閃光検出および標識化モジュール1014によって提供されるデータに基づいて、所与の眼画像内の3D角膜中心の場所を推定するステップを含んでもよい。
【0166】
ブロック1115では、プロセス1100は、第1の眼画像内のセグメント化された瞳孔の決定された重心に基づいて、第2の画像内の瞳孔を識別するステップを含んでもよい。これは、実施例として、眼追跡モジュール814bの瞳孔識別モジュール1012に対応し得る。
図10を参照して上記に説明されるように、これは、前の眼画像のセグメント化およびその決定された輪郭に基づいて、重心決定モジュール1011によって生成されたデータを使用して、所与の眼画像内の瞳孔を識別するステップを含んでもよい。比較的にわずかな眼移動が、連続眼画像間に生じる可能性が高いことを前提として、第1の眼画像のセグメント化に基づいて決定された瞳孔重心は、瞳孔識別の目的のための第2の眼画像内の瞳孔の重心にとって十分に有益であり得る。実際、第1の眼画像のセグメント化に基づいて決定された瞳孔重心が、第2の眼画像内の瞳孔の領域内のある場所に該当する限り、次いで、第2の眼画像内の瞳孔の外側境界が、十分に高正確度内で識別され得る(例えば、スターバーストアルゴリズムを使用して)。いくつかの実装では、ブロック1115と関連付けられる動作は、ブロック1109-1113と関連付けられる動作と並行して実施されてもよい。いくつかの実施例では、ブロック1115と関連付けられる動作のうちの1つ以上のものは、ブロック1109-1113と関連付けられる動作のうちの1つ以上のものに先立って、実施されてもよい。
【0167】
ブロック1117では、プロセス1100は、第2の眼画像内の3D角膜中心の推定される場所および第1の眼画像内で識別されるような瞳孔に基づいて、第2の眼画像内の3D瞳孔中心の場所を推定するステップを含んでもよい。これは、実施例として、眼追跡モジュール814bの3D瞳孔中心ロケータモジュール1020に対応し得る。
図10を参照して上記に説明されるように、これは、3D角膜中心モジュール1016によって提供されるデータおよび瞳孔識別モジュール1012によって提供されるデータを使用して、所与の眼画像内の3D角膜中心の場所を推定するステップを含んでもよい。
【0168】
ブロック1119では、プロセス1100は、第2の眼画像内の推定される3D角膜および瞳孔中心場所に基づいて、第2の眼画像内の眼光学軸の位置および配向を推定するステップを含んでもよい。これは、実施例として、眼追跡モジュール814bの光学軸決定モジュール1022に対応し得る。
図10を参照して上記に説明されるように、これは、3D角膜中心推定モジュール1016によって提供されるデータおよび3D瞳孔中心ロケータモジュール1020によって提供されるデータに基づいて、所与の眼画像内の眼の光学軸の位置および配向を決定するステップを含んでもよい。
【0169】
プロセス1100は、次いで、ブロック1120および1106に進み、眼追跡カメラによって捕捉された次の眼画像(例えば、第3の眼画像)を取得し、続いて、処理してもよい。いくつかの実装では、プロセス1100は、次いで、ブロック1117および/または1119と関連付けられる動作のうちの1つ以上のものの完了に先立って、ブロック1120および1106に進んでもよい。
【0170】
プロセス1100の実施は、いくつかの実施例では、眼追跡セッションの持続時間にわたって継続してもよい。したがって、第2の眼画像以降から、ブロック1109、1111、1113、1115、1117、および1119と関連付けられる動作は、以前に取得された眼画像(例えば、(n-1)番目の眼画像のセグメント化に基づいて生成されたデータを使用して、直近に取得された眼画像(例えば、n番目の眼画像)に適用されてもよい。このように、プロセス1100の動作を実施するシステムは、次の眼画像を取得および処理する前に、セグメント化動作が完了されることを待機する必要はない。これは、事実上、待ち時間を低減させる役割を果たし得る。いくつかの実装では、ブロック1109、1111、1113、1115、1117、および1119と関連付けられる動作は、利用可能な最新のセグメント化データ(例えば、サブモジュール1007、1009、および1011のうちの1つ以上のものによって生成されたデータ)を使用してもよい。したがって、付加的および/またはより強力な算出リソースが、プロセス1100の動作を実行するように構成されるシステムに利用可能な場合、ブロック1109、1111、1113、1115、1117、および1119と関連付けられる動作は、n番目の眼画像に基づいて生成されたセグメント化データを使用して、n番目の眼画像に適用されてもよい。
【0171】
同様に、比較的に大算出負荷が、プロセス1100の動作を実行するように構成される、システム上に課される場合、ブロック1109、1111、1113、1115、1117、および1119と関連付けられる動作は、例えば、(n-1)番目の眼画像、(n-2)番目の眼画像、(n-3)番目の眼画像等に基づいて生成されたデータであり得る、利用可能な最新のセグメント化データ(例えば、直近のセグメント化データ)を使用して、n番目の眼画像に適用されてもよい。したがって、第2または第1の画像に基づいて生成されたデータは、第3の画像のために使用されてもよい。
【0172】
いくつかの実装では、プロセス1100は、
図9および10を参照して上記に説明されるような眼追跡モジュール814aおよび814bの1つ以上の他のサブモジュールの動作に対応する、1つ以上の付加的動作を含んでもよい。
【0173】
ブロック1109、1111、1113、1115、1117、および1119と関連付けられる動作が、利用可能な最新のセグメント化データを使用する、少なくともいくつかの実装では、ブロック1110、1112、および1114と関連付けられる動作は、必ずしも、取得される眼画像毎に実施されるとは限らない。例えば、ブロック1110、1112、および1114と関連付けられる動作は、取得される1つおきの眼画像に実施されてもよい。しかしながら、そのような実施例では、ブロック1109、1111、1113、1115、1117、および1119と関連付けられる動作は、取得される眼画像毎に実施されてもよい。このように、ブロック1110、1112、および1114と関連付けられる動作は、例えば、第1の周波数において実施されてもよい一方、ブロック1109、1111、1113、1115、1117、および1119と関連付けられる動作は、第1の周波数の倍数(例えば、第1の周波数のものの2倍)である、第2の周波数において実施されてもよい。例えば、いくつかの実施例では、ブロック1109、1111、1113、1115、1117、および1119と関連付けられる動作は、60Hzのレートにおいて取得される眼画像毎に実施されてもよい一方、ブロック1110、1112、および1114と関連付けられる動作は、30Hzのレートにおいて取得される1つおきの眼画像に実施されてもよい。いくつかの実施形態では、ブロック1110、1112、および1114と関連付けられる動作は、取得される1つおきの眼画像、取得される3つおきの眼画像、第取得される4つおきの眼画像、またはある他のインターバルにおいて実施されてもよい。他の構成も、可能性として考えられる。
【実施例】
【0174】
本明細書に説明されるシステム、方法、およびデバイスはそれぞれ、いくつかの側面を有し、そのうちのいずれも、その望ましい属性に単独で関与するものではない。本開示の範囲を限定することなく、いくつかの非限定的特徴が、ここで、簡単に議論されるであろう。以下の段落は、本明細書に説明されるデバイス、システム、および方法の種々の例示的実装を説明する。1つ以上のコンピュータのシステムは、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせをシステム上にインストールさせることによって、動作時、システムにアクションを実施させる、特定の動作またはアクションを実施するように構成されることができる。1つ以上のコンピュータプログラムは、データ処理装置によって実行されると、装置に、アクションを実施させる、命令を含むことによって、特定の動作またはアクションを実施するように構成されることができる。本明細書に説明される実施形態は、下記の少なくとも以下の実施例を含む。
【0175】
実施例1:頭部搭載型システムであって、ユーザの眼の画像を捕捉するように構成される、カメラと、閃光がユーザの眼の画像内に表されるように、ユーザの眼を照明するように構成される、1つ以上の光源と、ユーザの眼の第1の画像をカメラから取得し、眼の画像を前提として虹彩セグメント化データおよび瞳孔セグメント化データを生成するように訓練されている、機械学習モデルに、第1の画像を入力として提供し、第1の画像に続いて、ユーザの眼の第2の画像をカメラから取得し、虹彩セグメント化データに基づいて、1つ以上の閃光が表される第2の画像内の1つ以上の場所のセットを検出し、瞳孔セグメント化データに基づいて、ユーザの眼の瞳孔が表される第2の画像の領域を識別し、少なくとも部分的に、第2の画像内の1つ以上の閃光場所の検出されたセットと、第2の画像の識別された領域とに基づいて、ユーザの眼の姿勢を決定するように構成される、1つ以上のプロセッサとを備える、システム。
【0176】
実施例2:1つ以上のプロセッサはさらに、機械学習モデルを介して、第2の画像に関する虹彩セグメント化データおよび瞳孔セグメント化データを取得し、ユーザの眼の第3の画像をカメラから取得し、それぞれ、第2の画像に関する機械学習モデルによって生成された虹彩セグメント化データに基づいて、第3の画像内の1つ以上の閃光が示される1つ以上の場所のセットを検出し、第2の画像に関する機械学習モデルによって生成された瞳孔セグメント化データに基づいて、ユーザの眼の瞳孔が表される第3の画像の領域を識別し、少なくとも部分的に、第3の画像内の1つ以上の閃光場所の検出されたセットと、第3の画像の識別された領域とに基づいて、ユーザの眼の姿勢を決定するように構成される、実施例1に記載のシステム。
【0177】
実施例3:1つ以上のプロセッサはさらに、虹彩セグメント化データに基づいて、第2の画像の第2の領域を識別するように構成され、第2の画像内の1つ以上の閃光が示される1つ以上の場所のセットを検出するために、1つ以上のプロセッサは、第2の領域内の極大強度値を呈する個別の場所に関して第2の画像の第2の領域を検索するように構成される、実施例1に記載のシステム。
【0178】
実施例4:1つ以上のプロセッサはさらに、1つ以上の閃光が示される1つ以上の場所のセットに関する特定の領域外の第2の画像の領域を検索しないようにするように構成される、実施例3に記載のシステム。
【0179】
実施例5:1つ以上のプロセッサはさらに、虹彩セグメント化データに基づいて、第1の画像内のユーザの眼の虹彩の輪郭を識別するように構成され、虹彩セグメント化データに基づいて、第2の画像の異なる領域を識別するために、1つ以上のプロセッサは、第1の画像内のユーザの眼の虹彩の識別された輪郭に基づいて、第2の画像の第3の領域を識別するように構成される、実施例3に記載のシステム。
【0180】
実施例6:1つ以上のプロセッサはさらに、瞳孔セグメント化データに基づいて、第1の画像内のユーザの眼の瞳孔の重心を識別するように構成され、第2の画像の領域を識別するために、1つ以上のプロセッサは、第1の画像内のユーザの眼の瞳孔の識別された重心に基づいて、ユーザの眼の瞳孔が表される第2の画像の第2の領域を識別するように構成される、実施例1に記載のシステム。
【0181】
実施例7:第2の画像の第2の領域を識別するために、1つ以上のプロセッサは、第1の画像内のユーザの眼の瞳孔の識別された重心に基づいて、第2の画像内の場所を識別し、第2の画像内で識別された場所から、瞳孔境界を検索するように構成される、実施例6に記載のシステム。
【0182】
実施例8:第2の画像内で識別された場所から、瞳孔境界を検索するために、1つ以上のプロセッサは、開始点として割り当てられる第2の画像内で識別された場所に基づいて、スターバースト瞳孔検出プロセスを実施するように構成される、実施例7に記載のシステム。
【0183】
実施例9:少なくとも部分的に、第2の画像内の1つ以上の閃光場所の検出されたセットと、第2の画像の識別された領域とに基づいて、ユーザの眼の姿勢を決定するために、1つ以上のプロセッサは、少なくとも部分的に、第2の画像内の1つ以上の閃光場所の検出されたセットと、第2の画像の識別された領域とに基づいて、ユーザの眼の光学軸の位置および配向推定値を取得するように構成される、実施例1に記載のシステム。
【0184】
実施例10:1つ以上のプロセッサはさらに、第2の画像内の1つ以上の閃光場所の検出されたセットに基づいて、第2の画像内のユーザの眼の角膜の3次元場所の推定値を取得するように構成され、ユーザの眼の姿勢を決定するために、1つ以上のプロセッサは、少なくとも部分的に、第2の画像内のユーザの眼の角膜の推定される場所と、第2の画像の識別された領域とに基づいて、姿勢を決定するように構成される、実施例1に記載のシステム。
【0185】
実施例11:1つ以上のプロセッサはさらに、第2の画像内のユーザの眼の角膜の推定される場所と、第2の画像の識別された領域とに基づいて、第2の画像内のユーザの眼の瞳孔の3次元場所の推定値を取得するように構成され、ユーザの眼の姿勢を決定するために、1つ以上のプロセッサは、少なくとも部分的に、姿勢に基づいて、第2の画像内のユーザの眼の角膜の推定される場所および第2の画像内のユーザの眼の瞳孔の推定される場所を決定するように構成される、実施例10に記載のシステム。
【0186】
実施例12:1つ以上のプロセッサはさらに、ユーザの眼の第3の画像を取得し、それぞれ、機械学習モデルによって直近に生成された虹彩セグメント化データに基づいて、1つ以上の閃光が表される第3の画像内の1つ以上の場所のセットを検出し、機械学習モデルによって直近に生成された瞳孔セグメント化データに基づいて、ユーザの眼の瞳孔が示される第3の画像の領域を識別し、少なくとも部分的に、第3の画像内の1つ以上の閃光場所の検出されたセットと、第3の画像の識別された領域とに基づいて、ユーザの眼の第2の姿勢を決定するように構成される、実施例1に記載のシステム。
【0187】
実施例13:機械学習モデルによって直近に生成された虹彩セグメント化データおよび瞳孔セグメント化データは、第2の画像に関して機械学習モデルによって生成された虹彩セグメント化データおよび瞳孔セグメント化データを備える、実施例12に記載のシステム。
【0188】
実施例14:機械学習モデルによって直近に生成された虹彩セグメント化データおよび瞳孔セグメント化データは、第1の画像に関して機械学習モデルによって生成された虹彩セグメント化データおよび瞳孔セグメント化データを備える、実施例12に記載のシステム。
【0189】
実施例15:1つ以上のプロセッサはさらに、第2の画像を入力として機械学習モデルに提供するように構成され、機械学習モデルによって直近に生成された虹彩セグメント化データおよび瞳孔セグメント化データは、第3の画像に関して機械学習モデルによって生成された虹彩セグメント化データおよび瞳孔セグメント化データを備える、実施例12に記載のシステム。
【0190】
実施例16:1つ以上のプロセッサはさらに、第2の画像を入力として機械学習モデルに提供しないようにするように構成される、実施例12に記載のシステム。
【0191】
実施例17:1つ以上のプロセッサの頭部搭載型システムによって実装される方法であって、頭部搭載型システムは、閃光が眼の画像内に表されるように、ユーザの眼を照明するように構成され、ユーザの眼の第1の画像を取得するステップと、眼の画像を前提として虹彩セグメント化データおよび瞳孔セグメント化データを生成するように訓練されている、機械学習モデルに、第1の画像を入力として提供するステップと、ユーザの眼の第2の画像を取得するステップと、虹彩セグメント化データに基づいて、1つ以上の閃光が表される第2の画像内の1つ以上の場所のセットを検出するステップと、瞳孔セグメント化データに基づいて、ユーザの眼の瞳孔が表される第2の画像の領域を識別するステップと、少なくとも部分的に、第2の画像内の1つ以上の閃光場所の検出されたセットと、第2の画像の識別された領域とに基づいて、ユーザの眼の姿勢を決定するステップとを含む、方法。
【0192】
実施例18:機械学習モデルを介して、第2の画像に関する虹彩セグメント化データおよび瞳孔セグメント化データを取得するステップと、ユーザの眼の第3の画像を取得するステップと、それぞれ、第2の画像に関する機械学習モデルによって生成された虹彩セグメント化データに基づいて、第3の画像内の1つ以上の閃光が示される1つ以上の場所のセットを検出するステップと、第2の画像に関する機械学習モデルによって生成された瞳孔セグメント化データに基づいて、ユーザの眼の瞳孔が表される第3の画像の領域を識別するステップと、少なくとも部分的に、第3の画像内の1つ以上の閃光場所の検出されたセットと、第3の画像の識別された領域とに基づいて、ユーザの眼の姿勢を決定するステップとをさらに含む、実施例17に記載の方法。
【0193】
実施例19:虹彩セグメント化データに基づいて、第2の画像の第2の領域を識別するステップをさらに含み、第2の画像内の1つ以上の閃光が示される1つ以上の場所のセットを検出するために、本方法はさらに、第2の領域内の極大強度値を呈する個別の場所に関して第2の画像の第2の領域を検索するステップを含む、実施例17に記載の方法。
【0194】
実施例20:頭部搭載型システムは、1つ以上の閃光が示される1つ以上の場所のセットに関する特定の領域外の第2の画像の領域を検索しないようにするように構成される、実施例19に記載の方法。
【0195】
実施例21:虹彩セグメント化データに基づいて、第1の画像内のユーザの眼の虹彩の輪郭を識別するステップをさらに含み、虹彩セグメント化データに基づいて、第2の画像の異なる領域を識別するために、本方法はさらに、第1の画像内のユーザの眼の虹彩の識別された輪郭に基づいて、第2の画像の第3の領域を識別するステップを含む、実施例19に記載の方法。
【0196】
実施例22:瞳孔セグメント化データに基づいて、第1の画像内のユーザの眼の瞳孔の重心を識別するステップをさらに含み、第2の画像の領域を識別するために、本方法はさらに、第1の画像内のユーザの眼の瞳孔の識別された重心に基づいて、ユーザの眼の瞳孔が表される第2の画像の第2の領域を識別するステップを含む、実施例17に記載の方法。
【0197】
実施例23:第2の画像の第2の領域を識別するために、本方法は、第1の画像内のユーザの眼の瞳孔の識別された重心に基づいて、第2の画像内の場所を識別するステップと、第2の画像内で識別された場所から、瞳孔境界を検索するステップを含む、実施例22に記載の方法。
【0198】
実施例24:第2の画像内で識別された場所から、瞳孔境界を検索するために、本方法は、開始点として割り当てられる第2の画像内で識別された場所に基づいて、スターバースト瞳孔検出プロセスを実施するステップを含む、実施例23に記載の方法。
【0199】
実施例25:少なくとも部分的に、第2の画像内の1つ以上の閃光場所の検出されたセットと、第2の画像の識別された領域とに基づいて、ユーザの眼の姿勢を決定するために、本方法は、少なくとも部分的に、第2の画像内の1つ以上の閃光場所の検出されたセットと、第2の画像の識別された領域とに基づいて、ユーザの眼の光学軸の位置および配向推定値を取得するステップを含む、実施例17に記載の方法。
【0200】
実施例26:本方法はさらに、第2の画像内の1つ以上の閃光場所の検出されたセットに基づいて、第2の画像内のユーザの眼の角膜の3次元場所の推定値を取得するステップを含み、ユーザの眼の姿勢を決定するために、本方法は、少なくとも部分的に、第2の画像内のユーザの眼の角膜の推定される場所と、第2の画像の識別された領域とに基づいて、姿勢を決定するステップを含む、実施例17に記載の方法。
【0201】
実施例27:本方法はさらに、第2の画像内のユーザの眼の角膜の推定される場所と、第2の画像の識別された領域とに基づいて、第2の画像内のユーザの眼の瞳孔の3次元場所の推定値を取得するステップを含み、ユーザの眼の姿勢を決定するために、本方法は、少なくとも部分的に、第2の画像内のユーザの眼の角膜の推定される場所と、第2の画像内のユーザの眼の瞳孔の推定される場所とに基づいて、姿勢を決定するステップを含む、実施例26に記載の方法。
【0202】
実施例28:本方法はさらに、ユーザの眼の第3の画像を取得するステップと、それぞれ、機械学習モデルによって直近に生成された虹彩セグメント化データに基づいて、1つ以上の閃光が表される第3の画像内の1つ以上の場所のセットを検出するステップと、機械学習モデルによって直近に生成された瞳孔セグメント化データに基づいて、ユーザの眼の瞳孔が示される第3の画像の領域を識別するステップと、少なくとも部分的に、第3の画像内の1つ以上の閃光場所の検出されたセットと、第3の画像の識別された領域とに基づいて、ユーザの眼の第2の姿勢を決定するステップとを含む、実施例17に記載の方法。
【0203】
実施例29:機械学習モデルによって直近に生成された虹彩セグメント化データおよび瞳孔セグメント化データは、第2の画像に関して機械学習モデルによって生成された虹彩セグメント化データおよび瞳孔セグメント化データを備える、実施例28に記載の方法。
【0204】
実施例30:機械学習モデルによって直近に生成された虹彩セグメント化データおよび瞳孔セグメント化データは、第1の画像に関して機械学習モデルによって生成された虹彩セグメント化データおよび瞳孔セグメント化データを備える、実施例28に記載の方法。
【0205】
実施例31:本方法はさらに、第2の画像を入力として機械学習モデルに提供するステップを含み、機械学習モデルによって直近に生成された虹彩セグメント化データおよび瞳孔セグメント化データは、第3の画像に関して機械学習モデルによって生成された虹彩セグメント化データおよび瞳孔セグメント化データを備える、実施例28に記載の方法。
【0206】
実施例32:頭部搭載型システムは、第2の画像を入力として機械学習モデルに提供しないようにするように構成される、実施例28に記載の方法。
【0207】
実施例33:頭部搭載型システムであって、ユーザの眼の画像を捕捉するように構成される、カメラと、ユーザの眼の画像内にカメラによって捕捉される閃光を生産するような様式において、ユーザの眼を照明するように構成される、複数の光源と、カメラに動作可能に結合される、1つ以上のプロセッサであって、ユーザの眼の第1の画像をカメラから取得し、眼の画像を前提として虹彩セグメント化データおよび瞳孔セグメント化データを生成するように訓練されている、ニューラルネットワークに、第1の画像を入力として提供し、ユーザの眼の第2の画像をカメラから取得し、第2の画像は、第1の画像の直後に、カメラによって捕捉され、それぞれ、第1の画像に関してニューラルネットワークによって生成された虹彩セグメント化データに基づいて、第2の画像内の1つ以上の閃光が示される1つ以上の場所のセットを検出し、第1の画像に関してニューラルネットワークによって生成された瞳孔セグメント化データに基づいて、ユーザの眼の瞳孔が示される第2の画像の領域を識別し、少なくとも部分的に、第2の画像内の1つ以上の閃光場所の検出されたセットと、第2の画像の識別された領域とに基づいて、ユーザの眼の姿勢を決定するように構成される、1つ以上のプロセッサとを備える、システム。
【0208】
実施例34:1つ以上のプロセッサはさらに、第2の画像を入力としてニューラルネットワークに提供し、ユーザの眼の第3の画像をカメラから取得し、第3の画像は、第2の画像の直後にカメラによって捕捉され、それぞれ、第2の画像に関してニューラルネットワークによって生成された虹彩セグメント化データに基づいて1つ以上の閃光が示される第3の画像内の1つ以上の場所のセットを検出し、第2の画像に関してニューラルネットワークによって生成された瞳孔セグメント化データに基づいて、ユーザの眼の瞳孔が示される第3の画像の領域を識別し、少なくとも部分的に、第3の画像内の1つ以上の閃光場所の検出されたセットと、第3の画像の識別された領域とに基づいて、ユーザの眼の姿勢を決定するように構成される、実施例33に記載のシステム。
【0209】
実施例35:1つ以上のプロセッサはさらに、第1の画像に関してニューラルネットワークによって生成された虹彩セグメント化データに基づいて、第2の画像内の1つ以上の閃光が示される第2の画像の特定領域を識別するように構成され、1つ以上の場所のセットを検出するために、それぞれ、第1の画像に関してニューラルネットワークによって生成された虹彩セグメント化データに基づいて、1つ以上のプロセッサは、1つ以上の閃光が示される1つ以上の場所のセットに関する第2の画像の特定領域を検索するように構成される、実施例33に記載のシステム。
【0210】
実施例36:1つ以上のプロセッサはさらに、1つ以上の閃光が示される1つ以上の場所のセットに関する特定の領域外の第2の画像の領域を検索しないようにするように構成される、実施例35に記載のシステム。
【0211】
実施例37:1つ以上のプロセッサはさらに、第1の画像に関してニューラルネットワークによって生成された虹彩セグメント化データに基づいて、第1の画像内のユーザの眼の虹彩の輪郭を識別するように構成され、第1の画像に関してニューラルネットワークによって生成された虹彩セグメント化データに基づいて、第2の画像の特定領域を識別するために、1つ以上のプロセッサは、第1の画像内のユーザの眼の虹彩の識別された輪郭に基づいて、第2の画像の特定領域を識別するように構成される、実施例35に記載のシステム。
【0212】
実施例38:1つ以上のプロセッサはさらに、第1の画像内の第1の画像に関してニューラルネットワークによって生成された瞳孔セグメント化データに基づいて、ユーザの眼の瞳孔の重心を識別するように構成され、第1の画像に関してニューラルネットワークによって生成された瞳孔セグメント化データに基づいて、ユーザの眼の瞳孔が示される第2の画像の領域を識別するために、1つ以上のプロセッサは、第1の画像内のユーザの眼の瞳孔の識別された重心に基づいて、ユーザの眼の瞳孔が示される第2の画像の領域を識別するように構成される、実施例33に記載のシステム。
【0213】
実施例39:第1の画像内のユーザの眼の瞳孔の識別された重心に基づいて、ユーザの眼の瞳孔が示される第2の画像の領域を識別するために、1つ以上のプロセッサは、第1の画像内のユーザの眼の瞳孔の識別された重心に基づいて、第2の画像内の場所を識別し、第2の画像内で識別された場所から外向きに、瞳孔境界を検索するように構成される、実施例38に記載のシステム。
【0214】
実施例40:第2の画像内で識別された場所から外向きに、瞳孔境界を検索するために、1つ以上のプロセッサは、スターバースト瞳孔検出ルーチンにおいて、第2の画像内で識別された場所を開始点として利用するように構成される、実施例39に記載のシステム。
【0215】
実施例41:少なくとも部分的に、第2の画像内の1つ以上の閃光場所の検出されたセットと、第2の画像の識別された領域とに基づいて、ユーザの眼の姿勢を決定するために、1つ以上のプロセッサは、少なくとも部分的に、第2の画像内の1つ以上の閃光場所の検出されたセットと、第2の画像の識別された領域とに基づいて、ユーザの眼の光学軸の位置および配向推定値を取得するように構成される、実施例33に記載のシステム。
【0216】
実施例42:1つ以上のプロセッサはさらに、第2の画像内の1つ以上の閃光場所の検出されたセットに基づいて、第2の画像内のユーザの眼の角膜の3次元場所の推定値を取得するように構成され、少なくとも部分的に、第2の画像内の1つ以上の閃光場所の検出されたセットと、第2の画像の識別された領域とに基づいて、ユーザの眼の姿勢を決定するために、1つ以上のプロセッサは、少なくとも部分的に、第2の画像内のユーザの眼の角膜の推定される場所と、第2の画像の識別された領域とに基づいて、ユーザの眼の姿勢を決定するように構成される、実施例33に記載のシステム。
【0217】
実施例43:1つ以上のプロセッサはさらに、第2の画像内のユーザの眼の角膜の推定される場所と、第2の画像の識別された領域とに基づいて、第2の画像内のユーザの眼の瞳孔の3次元場所の推定値を取得するように構成され、少なくとも部分的に、第2の画像内のユーザの眼の角膜の推定される場所と、第2の画像の識別された領域とに基づいて、ユーザの眼の姿勢を決定するために、1つ以上のプロセッサは、少なくとも部分的に、第2の画像内のユーザの眼の角膜の推定される場所と、第2の画像内のユーザの眼の瞳孔の推定される場所とに基づいて、ユーザの眼の姿勢を決定するように構成される、実施例42に記載のシステム。
【0218】
実施例44:1つ以上のプロセッサはさらに、ユーザの眼の第3の画像をカメラから取得し、第3の画像は、第2の画像の直後に、カメラによって捕捉され、それぞれ、ニューラルネットワークによって直近に生成された虹彩セグメント化データに基づいて、1つ以上の閃光が示される第3の画像内の1つ以上の場所のセットを検出し、ニューラルネットワークによって直近に生成された瞳孔セグメント化データに基づいて、ユーザの眼の瞳孔が示される第3の画像の領域を識別し、少なくとも部分的に、第3の画像内の1つ以上の閃光場所の検出されたセットと、第3の画像の識別された領域とに基づいて、ユーザの眼の姿勢を決定するように構成される、実施例33に記載のシステム。
【0219】
実施例45:ニューラルネットワークによって直近に生成された虹彩セグメント化データおよび瞳孔セグメント化データは、第2の画像に関してニューラルネットワークによって生成された虹彩セグメント化データおよび瞳孔セグメント化データを備える、実施例44に記載のシステム。
【0220】
実施例46:ニューラルネットワークによって直近に生成された虹彩セグメント化データおよび瞳孔セグメント化データは、第1の画像に関してニューラルネットワークによって生成された虹彩セグメント化データおよび瞳孔セグメント化データを備える、実施例44に記載のシステム。
【0221】
実施例47:1つ以上のプロセッサはさらに、第2の画像を入力としてニューラルネットワークに提供するように構成され、ニューラルネットワークによって直近に生成された虹彩セグメント化データおよび瞳孔セグメント化データは、第3の画像に関してニューラルネットワークによって生成された虹彩セグメント化データおよび瞳孔セグメント化データを備える、実施例44に記載のシステム。
【0222】
実施例48:1つ以上のプロセッサはさらに、第2の画像を入力としてニューラルネットワークに提供しないように構成される、実施例44に記載のシステム。
【0223】
上記に述べられたように、上記に提供される説明される実施例の実装は、ハードウェア、方法、またはプロセス、および/またはコンピュータアクセス可能媒体上のコンピュータソフトウェアを含んでもよい。
【0224】
付加的考慮点
本明細書に説明される、および/または添付される図に描写されるプロセス、方法、およびアルゴリズムはそれぞれ、具体的かつ特定のコンピュータ命令を実行するように構成される、1つ以上の物理的コンピューティングシステム、ハードウェアコンピュータプロセッサ、特定用途向け回路、および/または電子ハードウェアによって実行される、コードモジュールにおいて具現化され、それによって完全または部分的に自動化され得る。例えば、コンピューティングシステムは、具体的コンピュータ命令とともにプログラムされた汎用コンピュータ(例えば、サーバ)または専用コンピュータ、専用回路等を含むことができる。コードモジュールは、実行可能プログラムにコンパイルおよびリンクされる、動的リンクライブラリ内にインストールされ得る、またはインタープリタ型プログラミング言語において書き込まれ得る。いくつかの実装では、特定の動作および方法が、所与の機能に特有の回路によって実施され得る。
【0225】
さらに、本開示の機能性のある実装は、十分に数学的、計算的、または技術的に複雑であるため、(適切な特殊化された実行可能命令を利用する)特定用途向けハードウェアまたは1つ以上の物理的コンピューティングデバイスは、例えば、関与する計算の量または複雑性に起因して、または結果を実質的にリアルタイムで提供するために、機能性を実施する必要があり得る。例えば、ビデオは、多くのフレームを含み得、各フレームは、数百万のピクセルを有し、具体的にプログラムされたコンピュータハードウェアは、商業的に妥当な時間量において所望の画像処理タスク、眼形状モデル、またはバイオメトリック用途を提供するようにビデオデータを処理する必要がある。
【0226】
コードモジュールまたは任意のタイプのデータは、ハードドライブ、ソリッドステートメモリ、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、光学ディスク、揮発性または不揮発性記憶装置、同一物の組み合わせ、および/または同等物を含む、物理的コンピュータ記憶装置等の任意のタイプの非一過性コンピュータ可読媒体上に記憶され得る。本方法およびモジュール(またはデータ)はまた、無線ベースおよび有線/ケーブルベースの媒体を含む、種々のコンピュータ可読伝送媒体上で生成されたデータ信号として(例えば、搬送波または他のアナログまたはデジタル伝搬信号の一部として)伝送され得、種々の形態(例えば、単一または多重化アナログ信号の一部として、または複数の離散デジタルパケットまたはフレームとして)をとり得る。開示されるプロセスまたはプロセスステップの結果は、任意のタイプの非一過性有形コンピュータ記憶装置内に持続的または別様に記憶され得る、またはコンピュータ可読伝送媒体を介して通信され得る。
【0227】
本明細書に説明される、および/または添付される図に描写されるフロー図における任意のプロセス、ブロック、状態、ステップ、または機能性は、プロセスにおいて具体的機能(例えば、論理または算術)またはステップを実装するための1つ以上の実行可能命令を含む、コードモジュール、セグメント、またはコードの一部を潜在的に表すものとして理解されたい。種々のプロセス、ブロック、状態、ステップ、または機能性は、組み合わせられる、再配列される、本明細書に提供される例証的実施例に追加される、そこから削除される、修正される、または別様にそこから変更されることができる。いくつかの実施形態では、付加的または異なるコンピューティングシステムまたはコードモジュールが、本明細書に説明される機能性のいくつかまたは全てを実施し得る。本明細書に説明される方法およびプロセスはまた、いずれの特定のシーケンスにも限定されず、それに関連するブロック、ステップ、または状態は、適切な他のシーケンスで、例えば、連続して、並行して、またはある他の様式で実施されることができる。タスクまたはイベントが、開示される例示的実施形態に追加される、またはそこから除去され得る。さらに、本明細書に説明される実装における種々のシステムコンポーネントの分離は、例証目的のためであり、全ての実装においてそのような分離を要求するものとして理解されるべきではない。説明されるプログラムコンポーネント、方法、およびシステムは、概して、単一のコンピュータ製品においてともに統合される、または複数のコンピュータ製品にパッケージ化され得ることを理解されたい。多くの実装変形例が、可能である。
【0228】
本プロセス、方法、およびシステムは、ネットワーク(または分散)コンピューティング環境において実装され得る。ネットワーク環境は、企業全体コンピュータネットワーク、イントラネット、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、パーソナルエリアネットワーク(PAN)、クラウドコンピューティングネットワーク、クラウドソースコンピューティングネットワーク、インターネット、およびワールドワイドウェブを含む。ネットワークは、有線または無線ネットワークまたは任意の他のタイプの通信ネットワークであり得る。
【0229】
本開示のシステムおよび方法は、それぞれ、いくつかの革新的側面を有し、そのうちのいかなるものも、本明細書に開示される望ましい属性に単独で関与しない、またはそのために要求されない。上記に説明される種々の特徴およびプロセスは、相互に独立して使用され得る、または種々の方法で組み合わせられ得る。全ての可能な組み合わせおよび副次的組み合わせが、本開示の範囲内に該当することが意図される。本開示に説明される実装の種々の修正が、当業者に容易に明白であり得、本明細書に定義される一般原理は、本開示の精神または範囲から逸脱することなく、他の実装に適用され得る。したがって、請求項は、本明細書に示される実装に限定されることを意図されず、本明細書に開示される本開示、原理、および新規の特徴と一貫する最も広い範囲を与えられるべきである。
【0230】
別個の実装のコンテキストにおいて本明細書に説明されるある特徴はまた、単一の実装における組み合わせにおいて実装されることができる。逆に、単一の実装のコンテキストにおいて説明される種々の特徴もまた、複数の実装において別個に、または任意の好適な副次的組み合わせにおいて実装されることができる。さらに、特徴が、ある組み合わせにおいて作用するものとして上記に説明され、さらに、そのようなものとして最初に請求され得るが、請求される組み合わせからの1つ以上の特徴は、ある場合には、組み合わせから削除されることができ、請求される組み合わせは、副次的組み合わせまたは副次的組み合わせの変形例を対象とし得る。いかなる単一の特徴または特徴の群も、あらゆる実施形態に必要または必須ではない。
【0231】
とりわけ、「~できる(can)」、「~し得る(could)」、「~し得る(might)」、「~し得る(may)」、「例えば(e.g.,)」、および同等物等、本明細書で使用される条件文は、別様に具体的に記載されない限り、または使用されるようなコンテキスト内で別様に理解されない限り、概して、ある実施形態がある特徴、要素、および/またはステップを含む一方、他の実施形態がそれらを含まないことを伝えることが意図される。したがって、そのような条件文は、概して、特徴、要素、および/またはステップが、1つ以上の実施形態に対していかようにも要求されること、または1つ以上の実施形態が、著者の入力または促しの有無を問わず、これらの特徴、要素、および/またはステップが任意の特定の実施形態において含まれる、または実施されるべきかどうかを決定するための論理を必然的に含むことを合意することを意図されない。用語「~を備える(comprising)」、「~を含む(including)」、「~を有する(having)」、および同等物は、同義語であり、非限定的方式で包括的に使用され、付加的要素、特徴、行為、動作等を除外しない。また、用語「または」は、その包括的意味において使用され(およびその排他的意味において使用されず)、したがって、例えば、要素のリストを接続するために使用されると、用語「または」は、リスト内の要素のうちの1つ、いくつか、または全てを意味する。加えて、本願および添付される請求項で使用されるような冠詞「a」、「an」、および「the」は、別様に規定されない限り、「1つ以上の」または「少なくとも1つ」を意味するように解釈されるべきである。
【0232】
本明細書で使用されるように、項目のリスト「のうちの少なくとも1つ」を指す語句は、単一の要素を含む、それらの項目の任意の組み合わせを指す。ある実施例として、「A、B、またはCのうちの少なくとも1つ」は、A、B、C、AおよびB、AおよびC、BおよびC、およびA、B、およびCを網羅することが意図される。語句「X、Y、およびZのうちの少なくとも1つ」等の接続文は、別様に具体的に記載されない限り、概して、項目、用語等がX、Y、またはZのうちの少なくとも1つであり得ることを伝えるために使用されるようなコンテキストで別様に理解される。したがって、そのような接続文は、概して、ある実施形態が、Xのうちの少なくとも1つ、Yのうちの少なくとも1つ、およびZのうちの少なくとも1つがそれぞれ存在するように要求することを示唆することを意図するものではない。
【0233】
同様に、動作は、特定の順序で図面に描写され得るが、これは、望ましい結果を達成するために、そのような動作が示される特定の順序で、または連続的順序で実施される、または全ての図示される動作が実施される必要はないと認識されるべきである。さらに、図面は、フローチャートの形態で1つ以上の例示的プロセスを図式的に描写し得る。しかしながら、描写されない他の動作も、図式的に図示される例示的方法およびプロセス内に組み込まれることができる。例えば、1つ以上の付加的動作が、図示される動作のいずれかの前に、その後に、それと同時に、またはその間に実施されることができる。加えて、動作は、他の実装において再配列される、または再順序付けられ得る。ある状況では、マルチタスクおよび並列処理が、有利であり得る。さらに、上記に説明される実装における種々のシステムコンポーネントの分離は、全ての実装におけるそのような分離を要求するものとして理解されるべきではなく、説明されるプログラムコンポーネントおよびシステムは、概して、単一のソフトウェア製品においてともに統合される、または複数のソフトウェア製品にパッケージ化され得ることを理解されたい。加えて、他の実装も、以下の請求項の範囲内である。いくつかの場合では、請求項に列挙されるアクションは、異なる順序で実施され、依然として、望ましい結果を達成することができる。