JP2022538669A - Improved eye tracking latency - Google Patents

Improved eye tracking latency Download PDF

Info

Publication number
JP2022538669A
JP2022538669A JP2021578179A JP2021578179A JP2022538669A JP 2022538669 A JP2022538669 A JP 2022538669A JP 2021578179 A JP2021578179 A JP 2021578179A JP 2021578179 A JP2021578179 A JP 2021578179A JP 2022538669 A JP2022538669 A JP 2022538669A
Authority
JP
Japan
Prior art keywords
image
eye
user
pupil
segmentation data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021578179A
Other languages
Japanese (ja)
Inventor
ブラッドリー ヴィンセント スチュアート,
ダニエル ファーマー,
ティエジアン ジャン,
シウリ ダス,
スラジ マンジュナス シャンバーグ,
エリック フォンセカ,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Magic Leap Inc
Original Assignee
Magic Leap Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Magic Leap Inc filed Critical Magic Leap Inc
Publication of JP2022538669A publication Critical patent/JP2022538669A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/766Arrangements for image or video recognition or understanding using pattern recognition or machine learning using regression, e.g. by projecting features on hyperplanes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • G06V40/193Preprocessing; Feature extraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • G06V40/197Matching; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/163Wearable computers, e.g. on a belt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10052Images from lightfield camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face

Abstract

眼追跡待ち時間向上のためのシステムおよび方法。例示的頭部搭載型システムが、ユーザの眼の第1の画像を取得する。第1の画像は、眼の画像を前提として虹彩セグメント化データおよび瞳孔セグメント化データを生成するように訓練されている、機械学習モデルに、入力として提供される。眼の第2の画像が、取得される。1つ以上の閃光が示される第2の画像内の場所のセットが、第1の画像に関して生成された虹彩セグメント化データに基づいて検出される。ユーザの眼の瞳孔が示される第2の画像の領域が、第1の画像に関して生成された瞳孔セグメント化データに基づいて識別される。ユーザの眼の姿勢が、第2の画像内の閃光場所の検出されたセットと、第2の画像の識別された領域に基づいて決定される。Systems and methods for improving eye tracking latency. An exemplary head-mounted system acquires a first image of a user's eyes. The first image is provided as input to a machine learning model that has been trained to generate iris segmentation data and pupil segmentation data given an image of the eye. A second image of the eye is acquired. A set of locations in the second image where one or more flashes are shown are detected based on the iris segmentation data generated for the first image. A region of the second image where the pupil of the user's eye is shown is identified based on the pupil segmentation data generated for the first image. A user's eye pose is determined based on the detected set of flash locations in the second image and the identified regions of the second image.

Description

(参照による組み込み)
本願は、参照することによって、以下の特許出願、すなわち、2019年7月5日に出願された、米国仮特許出願第62/871,009号、および2019年12月9日に出願された、米国仮特許出願第62/945562号のそれぞれの全体を組み込む。
(included by reference)
This application is made by reference to the following patent applications: U.S. Provisional Patent Application No. 62/871,009, filed July 5, 2019; Incorporates the entirety of each of US Provisional Patent Application No. 62/945,562.

本開示は、概して、眼画像を処理するため、より具体的には、カスケード式形状回帰を使用して、瞳孔、虹彩、または眼瞼を備える、詳細な眼形状モデルを推定するためのシステムおよび方法に関する。ヒトの虹彩は、バイオメトリック情報の源として使用されることができる。バイオメトリック情報は、個人の認証または識別を提供することができる。バイオメトリック情報は、加えて、または代替として、眼の視線方向を決定するために使用されることができる。 The present disclosure relates generally to processing eye images, and more specifically to systems and methods for estimating a detailed eye shape model comprising a pupil, iris, or eyelids using cascaded shape regression. Regarding. The human iris can be used as a source of biometric information. Biometric information can provide authentication or identification of an individual. Biometric information can additionally or alternatively be used to determine eye gaze direction.

詳細な眼形状モデルを使用する、ロバストなバイオメトリック用途のためのシステムおよび方法が、説明される。一側面では、(例えば、拡張現実ディスプレイデバイス上の眼追跡カメラから)眼の眼画像を受信した後、眼画像内の眼の眼形状(例えば、上または下眼瞼、虹彩、または瞳孔の形状)が、カスケード式形状回帰方法を使用して計算される。推定眼形状に関連する眼特徴が、次いで、決定され、視線推定またはバイオメトリック識別または認証(例えば、虹彩コード)等のバイオメトリック用途で使用されることができる。カスケード式形状回帰方法は、例えば、眼瞼、瞳孔、および虹彩の形状を標識する、注釈付き眼画像のセットについて訓練されることができる。 Systems and methods for robust biometric applications using detailed eye shape models are described. In one aspect, after receiving an eye image of the eye (eg, from an eye tracking camera on an augmented reality display device), the eye shape of the eye (eg, upper or lower eyelid, iris, or pupil shape) in the eye image. is calculated using the cascaded shape regression method. Eye features associated with the estimated eye shape can then be determined and used in biometric applications such as gaze estimation or biometric identification or authentication (eg, iris code). A cascaded shape regression method can be trained on a set of annotated eye images that label the shape of the eyelid, pupil, and iris, for example.

本明細書に説明される主題の1つ以上の実装の詳細が、付随の図面および下記の説明に記載される。他の特徴、側面、および利点が、説明、図面、および請求項から明白となるであろう。本発明の概要または以下の詳細な説明のいずれも、本発明の主題の範囲を定義または限定することを意味しない。 Details of one or more implementations of the subject matter described in this specification are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages will be apparent from the description, drawings, and claims. Neither the Summary of the Invention nor the following Detailed Description is meant to define or limit the scope of the present subject matter.

図1Aは、例示的眼特徴を示す眼の実施例を図式的に図示する。FIG. 1A schematically illustrates an example of an eye showing exemplary eye features.

図1Bは、眼の自然静止状態に対する眼姿勢方向を測定するために使用され得る3つの角度(例えば、ヨー、ピッチ、およびロール)の実施例を示す。FIG. 1B shows an example of three angles (eg, yaw, pitch, and roll) that can be used to measure eye pose direction relative to the eye's natural resting state.

図2Aは、ウェアラブルディスプレイシステムの実施例を図式的に図示する。FIG. 2A schematically illustrates an embodiment of a wearable display system.

図2Bは、ウェアラブルディスプレイシステムの実施例の上面図を図式的に図示する。FIG. 2B schematically illustrates a top view of an embodiment of a wearable display system.

図3は、バイオメトリック用途で使用される眼画像からバイオメトリック情報を抽出するための例示的ルーチンのフロー図である。FIG. 3 is a flow diagram of an exemplary routine for extracting biometric information from eye images used in biometric applications.

図4Aは、詳細な眼形状モデル推定の例示的進行を図式的に図示する。FIG. 4A graphically illustrates an exemplary progression of detailed eye shape model estimation.

図4Bは、瞳孔、虹彩、および眼瞼の境界が識別されている、詳細な眼形状モデルの実施例を図式的に図示する。FIG. 4B graphically illustrates an example of a detailed eye shape model in which pupil, iris, and eyelid boundaries have been identified.

図4Cは、2対の形状インデックス化特徴の実施例を示す画像である。FIG. 4C is an image showing an example of two pairs of shape indexing features.

図5は、回帰関数を学習するために使用される注釈付き訓練画像のセットの実施例を図示する。FIG. 5 illustrates an example of a set of annotated training images used to learn the regression function.

図6は、カスケード式形状回帰を学習するための眼形状訓練ルーチンの実施例のフロー図である。FIG. 6 is a flow diagram of an embodiment of an eye shape training routine for learning cascaded shape regression.

図7Aは、誤った境界点の実施例を図式的に図示する。FIG. 7A diagrammatically illustrates an example of an erroneous boundary point.

図7Bは、選択的特徴検出の実施例を図式的に図示する。FIG. 7B diagrammatically illustrates an example of selective feature detection.

図8は、眼追跡システムを含む、ウェアラブルシステムの概略図である。FIG. 8 is a schematic diagram of a wearable system including an eye tracking system.

図9は、眼追跡システムを含み得る、ウェアラブルシステムのブロック図である。FIG. 9 is a block diagram of a wearable system that may include an eye tracking system.

図10は、眼追跡システムを含み得る、ウェアラブルシステムのブロック図である。FIG. 10 is a block diagram of a wearable system that may include an eye tracking system.

図11は、低減された待ち時間を伴う、眼追跡を実施するための例示的プロセスを図示する、フローチャートである。FIG. 11 is a flow chart illustrating an exemplary process for performing eye tracking with reduced latency.

図面全体を通して、参照番号は、参照される要素間の対応を示すために再使用され得る。図面は、本明細書に説明される例示的実施形態を図示するために提供され、本開示の範囲を限定することを意図していない。 Throughout the drawings, reference numbers may be reused to indicate correspondence between referenced elements. The drawings are provided to illustrate exemplary embodiments described herein and are not intended to limit the scope of the disclosure.

詳細な説明
概要
眼からバイオメトリック情報を抽出するステップは、概して、眼画像内の虹彩のセグメント化に関するプロシージャを含む。虹彩セグメント化は、虹彩境界を位置特定するステップ、虹彩の瞳孔および縁郭境界を見出すステップ、上眼瞼または下眼瞼が虹彩をオクルージョンする場合、それらを位置特定するステップ、睫毛、陰影、または反射のオクルージョンを検出および除外するステップ等を含む、動作を伴うことができる。例えば、眼画像は、顔の画像内に含まれることができる、または眼周囲領域の画像であり得る。虹彩セグメント化を実施するために、瞳孔(例えば、虹彩の内部境界)および縁郭(例えば、虹彩の外部境界)の両方の境界が、画像データの別個のセグメントとして識別されることができる。虹彩の本セグメント化に加えて、(上または下)眼瞼によってオクルージョンされる虹彩の一部が、推定されることができる。本推定は、通常のヒトの活動中に、個人の虹彩全体が殆ど可視ではないため、実施される。例えば、虹彩全体は、概して、(例えば、瞬目中に)眼瞼のオクルージョンから免れられ得る。
DETAILED DESCRIPTION Overview Extracting biometric information from the eye generally involves a procedure for segmenting the iris within the eye image. Iris segmentation includes the steps of locating the iris boundary, finding the pupillary and limbal boundaries of the iris, locating the upper or lower eyelid if they occlude the iris, locating eyelashes, shadows, or reflections. Actions can be involved, including detecting and filtering out occlusion, and the like. For example, the eye image may be contained within an image of the face, or may be an image of the periocular region. To perform iris segmentation, both the boundaries of the pupil (e.g., the inner boundary of the iris) and the limbus (e.g., the outer boundary of the iris) can be identified as separate segments of the image data. In addition to this segmentation of the iris, the part of the iris that is occluded by the (upper or lower) eyelid can be estimated. This estimate is made because the entire iris of an individual is rarely visible during normal human activity. For example, the entire iris may generally be immune to eyelid occlusion (eg, during blinking).

眼瞼は、例えば、眼表面を横断して涙および他の分泌物を拡散することによって、眼の潤いを保つために眼によって使用され得る。眼瞼はまた、異物の残渣から眼を保護するためにも使用され得る。実施例として、瞬目反射は、急性外傷から眼を保護する。別の実施例として、眼が世界を能動的に視認しているときでさえも、眼瞼は、例えば、眼の指示方向の変化に応答して自動的に動くことによって、眼を保護し得る。眼瞼によるそのような移動は、瞳孔のオクルージョンを回避しながら、眼表面の保護を最大限にすることができる。しかしながら、本移動は、虹彩セグメント化等の虹彩ベースのバイオメトリック測定を伴ってバイオメトリック情報を抽出するときに、さらなる課題を提示する。例えば、虹彩セグメント化を使用するために、眼瞼によってオクルージョンされる虹彩の面積が、推定され、身元証明算出から隠され得る、または眼瞼瞬目中に撮影される画像が、分析中に破棄される、またはより低い加重を与えられ得る。 The eyelid can be used by the eye to keep the eye moist, for example, by spreading tears and other secretions across the ocular surface. Eyelids may also be used to protect the eye from foreign debris. As an example, the blink reflex protects the eye from acute trauma. As another example, the eyelid may protect the eye even when the eye is actively viewing the world, for example, by automatically moving in response to changes in the eye's pointing direction. Such movement by the eyelid can maximize ocular surface protection while avoiding pupillary occlusion. However, this transfer presents additional challenges when extracting biometric information with iris-based biometric measurements such as iris segmentation. For example, to use iris segmentation, the area of the iris that is occluded by the eyelid can be estimated and hidden from the identification calculation, or images taken during the eyelid blink are discarded during analysis. , or may be given a lower weight.

バイオメトリック情報を抽出することは、眼瞼によってオクルージョンされる虹彩の一部を推定すること等の課題を提示している。しかしながら、本明細書に説明される技法を使用して、バイオメトリック情報を抽出する際に提示される課題は、軽減されることができる。例えば、本課題は、最初に眼形状を推定することによって、少なくとも部分的に軽減され得る。本明細書で使用されるように、眼形状は、瞳孔、虹彩、上眼瞼、または下眼瞼の形状(例えば、境界)のうちの1つ以上のものを含む。眼形状の本推定は、いくつかの実施形態では、虹彩セグメント化のための始点として使用されてもよい。 Extracting biometric information presents challenges such as estimating the portion of the iris that is occluded by the eyelid. However, using the techniques described herein, the challenges presented in extracting biometric information can be mitigated. For example, the problem can be at least partially alleviated by first estimating the eye shape. As used herein, eye shape includes one or more of pupil, iris, upper eyelid, or lower eyelid shapes (eg, boundaries). This estimate of eye shape may be used as a starting point for iris segmentation in some embodiments.

いったん眼形状が推定されると、バイオメトリック用途は、より効率的かつよりロバストに実施され得る。例えば、眼のある領域(例えば、虹彩)中で見出される角膜反射(例えば、閃光)が、視線推定のために使用され得る。眼の他の領域(例えば、強膜)中の閃光は、いくつかの実施形態では、眼の視線推定で使用され得ない。本明細書に説明される技法を使用して、詳細な眼形状モデルを計算することによって、所望の領域(例えば、虹彩)中の閃光は、眼全体(例えば、虹彩および強膜)を検索する必要性を除去し、したがって、より効率的かつロバストな視線推定を生じることによって、より迅速かつ効率的に位置特定されることができる。 Once the eye shape is estimated, biometric applications can be performed more efficiently and more robustly. For example, corneal reflections (eg, glints) found in certain regions of the eye (eg, iris) can be used for gaze estimation. Flashes in other regions of the eye (eg, the sclera) may not be used in eye gaze estimation in some embodiments. By computing a detailed eye shape model using the techniques described herein, flashes in the desired region (e.g. iris) search the entire eye (e.g. iris and sclera) It can be located more quickly and efficiently by removing the need and thus producing a more efficient and robust line-of-sight estimation.

バイオメトリック情報を取得するために、コンピュータのユーザの眼移動を追跡するためのアルゴリズムが、存在する。例えば、コンピュータのモニタに結合されるカメラが、眼移動を識別するための画像を提供することができる。しかしながら、眼追跡のために使用されるカメラは、ユーザの眼からある程度の距離がある。例えば、カメラは、コンピュータに結合されるユーザのモニタの上部に設置され得る。結果として、カメラによって生成される眼の画像は、多くの場合、不良な分解能で異なる角度において生成される。故に、捕捉された眼画像からバイオメトリック情報を抽出することは、課題を提示し得る。 Algorithms exist for tracking eye movements of computer users to obtain biometric information. For example, a camera coupled to a computer monitor can provide images for identifying eye movements. However, the cameras used for eye tracking are some distance from the user's eyes. For example, a camera may be placed on top of a user's monitor that is coupled to a computer. As a result, the images of the eye produced by the camera are often produced at different angles with poor resolution. Therefore, extracting biometric information from captured eye images can present challenges.

ウェアラブル頭部搭載型ディスプレイ(HMD)のコンテキストでは、カメラは、有利なこととして、ユーザのモニタに結合されるカメラよりもユーザの眼に近接し得る。例えば、カメラは、ウェアラブルHMD上に搭載され得、これ自体が、ユーザの頭部上に設置される。そのようなカメラへの眼の近接性は、より高い分解能の眼画像をもたらすことができる。故に、コンピュータビジョン技法が、ユーザの眼から、特に、虹彩(例えば、虹彩特徴)または虹彩を囲繞する強膜(例えば、強膜特徴)における視覚特徴を抽出することが可能である。例えば、眼の近傍のカメラによって視認されると、眼の虹彩は、詳細な構造を示すであろう。そのような虹彩特徴は、赤外線(IR)照明下で観察されると、特に顕著であり得、視線推定またはバイオメトリック識別等のバイオメトリック用途のために使用されることができる。これらの虹彩特徴は、ユーザ毎に一意であり、指紋の様式で、ユーザを一意に識別するために使用されることができる。眼特徴は、眼の強膜(虹彩の外側)内の血管を含むことができ、これもまた、赤色または赤外光下で視認されると、特に顕著に見え得る。眼特徴はさらに、閃光および瞳孔中心を含み得る。 In the context of wearable head-mounted displays (HMDs), the camera may advantageously be closer to the user's eyes than the camera coupled to the user's monitor. For example, the camera may be mounted on a wearable HMD, which itself is placed on the user's head. Proximity of the eye to such a camera can result in higher resolution eye images. Thus, computer vision techniques are capable of extracting visual features from a user's eye, particularly the iris (eg, iris features) or the sclera surrounding the iris (eg, sclera features). For example, the iris of the eye will show detailed structure when viewed by a camera near the eye. Such iris features can be particularly noticeable when viewed under infrared (IR) illumination and can be used for biometric applications such as gaze estimation or biometric identification. These iris features are unique for each user and can be used to uniquely identify the user in the manner of a fingerprint. Ocular features can include blood vessels within the sclera (outside of the iris) of the eye, which can also be particularly noticeable when viewed under red or infrared light. Eye features may further include glare and pupil center.

本明細書に開示される技法を用いると、詳細な眼形状推定が、バイオメトリック用途(例えば、視線推定およびバイオメトリック識別)で使用される眼特徴を検出するよりロバストな技法を生成するために使用されてもよい。視線推定の使用は、コンピュータインターフェースの将来に有意な影響を及ぼす。視線推定は、現在、能動インターフェース(例えば、眼移動を通して命令を受信するインターフェース)および受動インターフェース(例えば、視線位置に基づいて表示を修正する仮想現実デバイス)で採用されている。従来の眼形状推定技法を使用して眼特徴を検出することは、眼が半分閉じられている、または瞬目しているときの画像雑音、周囲光、および外観の大きな変動により、困難である。したがって、視線推定またはバイオメトリック識別等のバイオメトリック用途で使用される眼特徴を決定するためのよりロバストなアルゴリズムを生成する技法が、有利であろう。以下の開示は、そのような方法を説明する。 With the techniques disclosed herein, detailed eye shape estimation is used to generate more robust techniques for detecting eye features used in biometric applications (e.g., gaze estimation and biometric identification). may be used. The use of gaze estimation has a significant impact on the future of computer interfaces. Gaze estimation is currently employed in active interfaces (eg, interfaces that receive commands through eye movement) and passive interfaces (eg, virtual reality devices that modify the display based on gaze position). Detecting eye features using conventional eye shape estimation techniques is difficult due to image noise, ambient light, and large variations in appearance when the eye is half-closed or blinked. . Therefore, techniques that generate more robust algorithms for determining eye characteristics for use in biometric applications such as gaze estimation or biometric identification would be advantageous. The following disclosure describes such methods.

本開示は、カスケード式形状回帰技法を使用して計算される詳細な眼形状モデル、および詳細な眼形状モデルがロバストなバイオメトリック用途のために使用され得る方法を説明するであろう。近年、形状回帰は、正確かつ効率的な形状整合のための最先端のアプローチになっている。これは、顔、手、および耳形状推定のために使用され、成功している。回帰技法は、例えば、外観の大きな相違を捕捉することが可能であり、目印(例えば、眼瞼の間の虹彩、虹彩の内側の瞳孔)の間の形状制約を施行し、計算上効率的であるため、有利である。回帰技法が、説明されるが、ニューラルネットワークが、回帰技法の代替として、および/またはそれと組み合わせて、採用されてもよいことを理解されたい。例えば、回帰の非線形組み合わせが、利用されてもよく、本明細書の本開示の範囲内に該当する。 This disclosure will describe a detailed eye shape model computed using a cascaded shape regression technique and how the detailed eye shape model can be used for robust biometric applications. In recent years, shape regression has become a state-of-the-art approach for accurate and efficient shape matching. It has been successfully used for face, hand, and ear shape estimation. Regression techniques can, for example, capture large differences in appearance, enforce shape constraints between landmarks (e.g., iris between eyelids, pupil inside iris), and are computationally efficient. Therefore, it is advantageous. Although regression techniques are described, it should be understood that neural networks may be employed as an alternative to and/or in combination with regression techniques. For example, non-linear combinations of regressions may be utilized and fall within the scope of the disclosure herein.

本明細書で使用されるように、ビデオは、限定ではないが、視覚画像のシーケンスの記録を含んでもよい。ビデオ内の各画像は、時として、画像フレームまたはフレームと称される。ビデオは、オーディオチャネルの有無を問わず、複数の連続フレームまたは非連続フレームを含むことができる。ビデオは、時間において順序付けられる、または時間において順序付けられない、複数のフレームを含むことができる。故に、ビデオ内の画像は、眼画像フレームまたは眼画像と称され得る。 As used herein, video may include, but is not limited to, recordings of sequences of visual images. Each image in a video is sometimes referred to as an image frame or frame. A video can include multiple consecutive or non-consecutive frames with or without an audio channel. A video may include multiple frames that are ordered in time or unordered in time. Hence, the images in the video may be referred to as eye image frames or eye images.

眼画像の実施例
図1Aは、眼瞼110、虹彩112、および瞳孔114を伴う、眼100の画像を図示する。曲線114aは、瞳孔114と虹彩112との間の瞳孔境界を示し、曲線112aは、虹彩112と強膜113(眼の「白眼」)との間の縁郭境界を示す。眼瞼110は、上眼瞼110aと、下眼瞼110bと、睫毛117とを含む。眼100は、自然静止姿勢において図示される。例えば、静止姿勢は、ユーザの顔および視線の両方が、それらがユーザの前方の遠隔の物体に向かうであろうように配向される、姿勢を表し得る。眼100の自然静止姿勢は、自然静止方向180によって示されることができ、これは、自然静止姿勢にあるとき、眼100の表面に直交する(例えば、図1Aに示される眼100の平面から直接外への)方向であり、本実施例では、瞳孔114内で心合される。
Examples of Eye Images FIG. Curve 114a shows the pupil boundary between pupil 114 and iris 112, and curve 112a shows the limbus boundary between iris 112 and sclera 113 (the "white eye" of the eye). The eyelid 110 includes an upper eyelid 110a, a lower eyelid 110b, and eyelashes 117. As shown in FIG. Eye 100 is illustrated in a natural resting position. For example, a static pose may represent a pose in which both the user's face and line of sight are oriented such that they would be directed toward a distant object in front of the user. The natural resting posture of the eye 100 can be indicated by the natural resting direction 180, which is orthogonal to the surface of the eye 100 when in the natural resting posture (e.g., directly from the plane of the eye 100 shown in FIG. 1A). outward) direction, centered within the pupil 114 in this example.

眼100は、眼追跡等のバイオメトリック用途のために使用され得る、虹彩または強膜(またはその両方)内の眼特徴115を含むことができる。図1Aは、虹彩特徴115aおよび強膜特徴115bを含む、眼特徴115の実施例を図示する。眼特徴115は、個々の特徴点と称され得る。そのような眼特徴115は、個人の眼に一意であり得、その個人の眼毎に明確に異なり得る。虹彩特徴115aは、残りの虹彩色と比較して、またはその点を囲繞するある面積と比較して、特定の色密度の点であり得る。別の実施例として、虹彩のテクスチャ(例えば、その特徴の近傍の虹彩のテクスチャと異なるテクスチャ)またはパターンが、虹彩特徴115aとして識別されることができる。また別の実施例として、虹彩特徴115aは、外観が虹彩112とは異なる瘢痕であり得る。 Eye 100 may include eye features 115 in the iris or sclera (or both) that may be used for biometric applications such as eye tracking. FIG. 1A illustrates an example of ocular features 115, including iris features 115a and scleral features 115b. Eye features 115 may be referred to as individual feature points. Such ocular features 115 may be unique to an individual's eye and may be distinctly different for each eye of that individual. Iris feature 115a may be a point of particular color density relative to the rest of the iris color or relative to some area surrounding the point. As another example, an iris texture (eg, a texture that differs from the iris texture in the vicinity of the feature) or pattern can be identified as an iris feature 115a. As yet another example, iris feature 115 a may be a scar that differs in appearance from iris 112 .

眼特徴115はまた、眼の血管と関連付けられることができる。例えば、血管は、虹彩112の外側であるが、強膜113内に存在し得る。そのような血管は、赤色または赤外光照明下でより顕著に可視であり得る。強膜特徴115bは、眼の強膜内の血管であり得る。 Eye features 115 can also be associated with the blood vessels of the eye. For example, blood vessels may exist outside the iris 112 but within the sclera 113 . Such vessels may be more prominently visible under red or infrared light illumination. Scleral feature 115b may be a blood vessel within the sclera of the eye.

加えて、または代替として、眼特徴115は、光源(例えば、視線追跡またはバイオメトリック識別のために眼に向かって指向されるIR光源)の角膜反射を含む、閃光を含み得る。ある場合には、用語「眼特徴」は、特徴が虹彩112内にある、強膜113内にある、または瞳孔114を通して(例えば、網膜上に)見られる特徴であるかにかかわらず、眼の中または上の任意のタイプの識別特徴を指すように使用され得る。 Additionally or alternatively, eye features 115 may include flashes of light, including corneal reflections of light sources (eg, IR light sources directed toward the eye for eye tracking or biometric identification). In some cases, the term "ocular feature" refers to a feature of the eye, whether the feature is in the iris 112, in the sclera 113, or seen through the pupil 114 (e.g., on the retina). It may be used to refer to any type of identifying feature in or above.

各眼特徴115は、眼特徴115を囲繞する面積の数値表現であり得る、記述子と関連付けられることができる。記述子はまた、虹彩特徴表現とも称され得る。また別の実施例として、そのような眼特徴は、スケール不変特徴変換(SIFT)、高速化ロバスト特徴(SURF)、加速セグメント試験からの特徴(FAST)、方向付きFASTおよび回転BRIEF(ORB)、KAZE、加速KAZE(AKAZE)等から導出され得る。 Each eye feature 115 can be associated with a descriptor, which can be a numerical representation of the area surrounding the eye feature 115 . A descriptor may also be referred to as an iris feature representation. As yet another example, such ocular features include scale-invariant feature transform (SIFT), accelerated robust features (SURF), features from accelerated segment testing (FAST), oriented FAST and rotational brief (ORB), It can be derived from KAZE, accelerated KAZE (AKAZE), and so on.

故に、眼特徴115は、公知のコンピュータビジョンの分野からのアルゴリズムおよび技法から導出され得る。そのような眼特徴115は、特徴点と称され得る。下記に説明される例示的実施形態のいくつかでは、眼特徴は、虹彩特徴の観点から説明されるであろう。これは、限定ではなく、任意のタイプの眼特徴(例えば、強膜特徴)が、加えて、または代替として、他の実装で使用されることができる。 Thus, eye features 115 may be derived from known algorithms and techniques from the field of computer vision. Such eye features 115 may be referred to as feature points. In some of the exemplary embodiments described below, eye features will be described in terms of iris features. This is not a limitation, and any type of ocular feature (eg, scleral features) can additionally or alternatively be used in other implementations.

眼100が異なる物体に向かって見るために移動すると、眼の視線(本明細書では時として眼姿勢とも称される)は、自然静止方向180に対して変化するであろう。現在の眼の視線は、自然静止眼視線方向180を基準にして測定されることができる。眼100の現在の視線は、眼の自然静止方向180に対する現在の眼姿勢方向を示す3つの角度パラメータとして表され得る。例証を目的として、図1Bに示される例示的座標系を参照して、これらの角度パラメータは、α(ヨーと称され得る)、β(ピッチと称され得る)、およびγ(ロールと称され得る)として表されることができる。他の実装では、眼の視線を測定するための他の技法または角度表現、例えば、任意の他のタイプのオイラー角システムが、使用されることができる。 As the eye 100 moves to look toward different objects, the line of sight of the eye (also sometimes referred to herein as eye pose) will change relative to the natural resting direction 180 . The current eye gaze direction can be measured relative to the natural resting eye gaze direction 180 . The current line of sight of the eye 100 can be expressed as three angular parameters that indicate the current eye pose direction relative to the eye's natural resting direction 180 . For purposes of illustration, and with reference to the exemplary coordinate system shown in FIG. 1B, these angular parameters are α (which may be referred to as yaw), β (which may be referred to as pitch), and γ (which may be referred to as roll). obtained). In other implementations, other techniques or angular representations for measuring eye line-of-sight may be used, such as any other type of Euler angle system.

眼画像が、任意の適切なプロセスを使用して、ビデオから取得されることができる。例えば、画像は、1つ以上の連続フレームから抽出されてもよい。眼の姿勢は、種々の眼追跡技法を使用して、眼画像から決定されることができる。例えば、眼姿勢は、提供される光源への角膜のレンズ効果を考慮することによって、または(前方を見ている眼を表す円形に対する)瞳孔または虹彩の形状を計算することによって、決定されることができる。 Eye images can be obtained from the video using any suitable process. For example, images may be extracted from one or more consecutive frames. Eye pose can be determined from eye images using various eye tracking techniques. For example, eye pose may be determined by considering the lens effect of the cornea on the light source provided, or by calculating the shape of the pupil or iris (for a circle representing a forward-looking eye). can be done.

眼形状推定を使用するウェアラブルディスプレイシステムの実施例
いくつかの実施形態では、ディスプレイシステムは、ウェアラブルであり得、これは、有利なこととして、より没入型の仮想現実(VR)、拡張現実(AR)、または複合現実(MR)体験を提供し得、デジタル的に再現された画像またはその一部が、それらが現実のように見える、または現実として知覚され得る様式で装着者に提示される。
Example Wearable Display System Using Eye Shape Estimation In some embodiments, the display system may be wearable, which advantageously allows for more immersive virtual reality (VR), augmented reality (AR) ), or provide a mixed reality (MR) experience, in which digitally reproduced images or portions thereof are presented to the wearer in a manner that makes them appear or be perceived as real.

理論によって限定されるわけではないが、ヒトの眼は、典型的には、深度知覚を提供するために、有限数の深度面を解釈し得ると考えられる。その結果、知覚される深度の高度に真実味のあるシミュレーションが、これらの限定された数の深度面のそれぞれに対応する画像の異なる表現を眼に提供することによって達成され得る。例えば、導波管のスタックを含有するディスプレイが、ユーザまたは視認者の眼の正面に位置付けられて装着されるように構成され得る。導波管のスタックは、複数の導波管を使用し、画像投入デバイス(例えば、1つ以上の光ファイバを介して画像情報を送る、多重化ディスプレイの離散ディスプレイまたは出力端)から、特定の導波管と関連付けられる深度面に対応する特定の角度(および発散量)において視認者の眼に光を指向させることによって、3次元知覚を眼/脳に提供するために利用され得る。 Without being limited by theory, it is believed that the human eye can typically interpret a finite number of depth planes to provide depth perception. As a result, a highly believable simulation of perceived depth can be achieved by presenting the eye with a different representation of the image corresponding to each of these limited number of depth planes. For example, a display containing a stack of waveguides may be configured to be worn positioned in front of a user's or viewer's eye. A stack of waveguides uses multiple waveguides to transmit image information from an image input device (e.g., a discrete display or output end of a multiplexed display that transmits image information via one or more optical fibers) to a specific By directing light to the viewer's eye at a specific angle (and divergence) corresponding to the depth plane associated with the waveguide, it can be utilized to provide the eye/brain with three-dimensional perception.

いくつかの実施形態では、導波管の2つのスタック(視認者の眼毎に1つ)が、異なる画像を各眼に提供するために利用され得る。一実施例として、拡張現実場面は、AR技術の装着者が、人々、木々、背景における建物、およびコンクリートプラットフォームを特徴とする実世界公園状設定が見えるようなものであり得る。これらのアイテムに加え、AR技術の装着者はまた、現実世界プラットフォーム上に立っているロボット像と、マルハナバチの擬人化のように見える、飛んでいる漫画のようなアバタキャラクタとが「見える」と知覚するが、そのロボットの像およびマルハナバチは、現実世界には存在しない。導波管のスタックは、入力画像に対応するライトフィールドを生成するために使用され得、いくつかの実装では、ウェアラブルディスプレイは、ウェアラブルライトフィールドディスプレイを備える。ライトフィールド画像を提供するためのウェアラブルディスプレイデバイスおよび導波管スタックの実施例が、米国特許公開第2015/0016777号(参照することによって、これが含有するあらゆるものに関してその全体として本明細書に組み込まれる)に説明される。 In some embodiments, two stacks of waveguides (one for each eye of the viewer) may be utilized to provide different images to each eye. As an example, an augmented reality scene may be such that an AR technology wearer sees a real-world park-like setting featuring people, trees, buildings in the background, and a concrete platform. In addition to these items, wearers of AR technology can also "see" a robot statue standing on a real-world platform and a flying cartoon-like avatar character that appears to be an anthropomorphic bumblebee. Perceived, but the image of the robot and the bumblebee do not exist in the real world. A stack of waveguides can be used to generate a light field corresponding to an input image, and in some implementations the wearable display comprises a wearable light field display. An example of a wearable display device and waveguide stack for providing light field images is incorporated herein by reference in its entirety with respect to everything it contains. ).

図2Aおよび2Bは、装着者204にVR、AR、またはMR体験を提示するために使用され得る、ウェアラブルディスプレイシステム200の実施例を図示する。ウェアラブルディスプレイシステム200は、眼の画像を捕捉し、眼形状推定を実施して、本明細書に説明される用途または実施形態のいずれかを提供するようにプログラムされ得る。ディスプレイシステム200は、ディスプレイ208(例えば、ユーザの片眼または両眼の前に位置付け可能である)と、そのディスプレイ208の機能をサポートするための種々の機械的および電子的モジュールおよびシステムとを含む。ディスプレイ208は、フレーム212に結合されてもよく、これは、ディスプレイシステム装着者または視認者204によって装着可能であって、ディスプレイ208を装着者204の眼の正面に位置付けるように構成される。ディスプレイ208は、ユーザから複数の深度面において仮想画像を表示するように構成される、ライトフィールドディスプレイであり得る。いくつかの実施形態では、スピーカ216が、フレーム212に結合され、ユーザの外耳道に隣接して位置付けられ、いくつかの実施形態では、示されない別のスピーカが、ユーザの他方の外耳道に隣接して位置付けられ、ステレオ/成形可能音制御を提供する。ディスプレイ208は、有線導線または無線コネクティビティ等によって、ローカルデータ処理モジュール224に動作可能に結合され(220)、これは、フレーム212に固定して取り付けられる、ユーザによって装着されるヘルメットまたは帽子に固定して取り付けられる、ヘッドホンに内蔵される、または別様にユーザ204に(例えば、バックパック式構成において、ベルト結合式構成において)可撤式に取り付けられる等、種々の構成において搭載され得る。 2A and 2B illustrate an example wearable display system 200 that can be used to present a VR, AR, or MR experience to a wearer 204. FIG. Wearable display system 200 can be programmed to capture images of the eye and perform eye shape estimation to provide any of the applications or embodiments described herein. Display system 200 includes a display 208 (eg, which can be positioned in front of one or both eyes of a user) and various mechanical and electronic modules and systems to support the functionality of display 208. . The display 208 may be coupled to a frame 212 , which is wearable by the display system wearer or viewer 204 and configured to position the display 208 in front of the wearer's 204 eyes. Display 208 may be a light field display configured to display virtual images at multiple depth planes from the user. In some embodiments, speaker 216 is coupled to frame 212 and positioned adjacent the user's ear canal, and in some embodiments another speaker, not shown, is adjacent the user's other ear canal. Positioned and provides stereo/shapable sound control. The display 208 is operably coupled 220 , such as by wired leads or wireless connectivity, to a local data processing module 224 , which is fixedly attached to a helmet or cap worn by the user, which is fixedly attached to the frame 212 . It may be mounted in a variety of configurations, such as attached to the device, embedded in headphones, or otherwise removably attached to the user 204 (eg, in a backpack configuration, in a belt-tie configuration).

図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は、眼形状計算、視線決定、およびバイオメトリック識別で使用される、眼画像を捕捉するために使用されることができる。 As shown in FIG. 2B, wearable display system 200 may further include an eye tracking camera 252a disposed within wearable display system 200 and configured to capture an image of eye 100a. Display system 200 may further comprise light source 248a configured to provide sufficient illumination to capture ocular features 115 of eye 100a using eye-tracking camera 252a. In some embodiments, light source 248a illuminates eye 100a using infrared light that is not visible to the user so that the user is not distracted by the light source. Eye tracking camera 252 a and light source 248 a may be separate components that are separately attached to wearable display system 200 . For example, the components may be attached to frame 212 . In other embodiments, eye-tracking camera 252a and light source 248a may be components of a single housing 244a that is attached to frame 212 . In some embodiments, wearable display system 200 may further comprise a second eye-tracking camera 252b and a second light source 248b configured to illuminate and capture an image of eye 100b. . Eye tracking cameras 252a, 252b can be used to capture eye images for use in eye shape calculation, line of sight determination, and biometric identification.

図2Aを再び参照すると、ローカル処理およびデータモジュール224は、ハードウェアプロセッサおよび不揮発性メモリ、例えば、フラッシュメモリ等の非一過性デジタルメモリを備えてもよく、その両方とも、データの処理、キャッシュ、および記憶を補助するために利用され得る。データは、(a)画像捕捉デバイス(カメラ等)、マイクロホン、慣性測定ユニット、加速度計、コンパス、GPSユニット、無線デバイス、および/またはジャイロスコープ等の(例えば、フレーム212に動作可能に結合される、または別様に装着者204に取り付けられ得る)センサから捕捉されるデータ、および/または可能性として、(b)処理または読出後にディスプレイ208への通過のために、遠隔処理モジュール228および/または遠隔データリポジトリ232を使用して入手および/または処理されるデータとを含む。ローカル処理およびデータモジュール224は、有線または無線通信リンクを介する等、通信リンク236、240によって、遠隔処理モジュール228および遠隔データリポジトリ232に動作可能に結合され得、したがって、これらの遠隔モジュール228、232は、相互に動作可能に結合され、ローカル処理およびデータモジュール224へのリソースとして利用可能である。 Referring again to FIG. 2A, the local processing and data module 224 may comprise a hardware processor and non-volatile memory, e.g., non-transitory digital memory such as flash memory, both of which are used to process data, cache , and can be used to aid memory. The data may be (a) an image capture device (such as a camera), microphone, inertial measurement unit, accelerometer, compass, GPS unit, wireless device, and/or gyroscope, etc. (e.g., operably coupled to frame 212). , or otherwise attached to the wearer 204), and/or possibly (b) the remote processing module 228 and/or and data obtained and/or processed using remote data repository 232 . The local processing and data module 224 may be operably coupled to a remote processing module 228 and a remote data repository 232 by communication links 236, 240, such as via wired or wireless communication links, such that these remote modules 228, 232 are operably coupled to each other and available as resources to the local processing and data module 224 .

いくつかの実施形態では、遠隔処理モジュール228は、画像捕捉デバイスによって捕捉されたビデオ情報等のデータおよび/または画像情報を分析および処理するように構成される、1つ以上のプロセッサを備え得る。ビデオデータは、ローカル処理およびデータモジュール224内に、および/または遠隔データリポジトリ232内にローカルで記憶され得る。いくつかの実施形態では、遠隔データリポジトリ232は、デジタルデータ記憶設備を備えてもよく、これは、「クラウド」リソース構成におけるインターネットまたは他のネットワーキング構成を通して利用可能であってもよい。いくつかの実施形態では、全てのデータが、記憶され、全ての算出が、ローカル処理およびデータモジュール224において実施され、遠隔モジュールからの完全に自律的な使用を可能にする。いくつかの実装では、ローカル処理およびデータモジュール224および/または遠隔処理モジュール228は、本明細書に説明されるような詳細な眼形状モデルを推定することの実施形態を実施するようにプログラムされる。例えば、ローカル処理およびデータモジュール224または遠隔処理モジュール228は、下記の図3を参照して説明されるルーチン300の実施形態を実施するようにプログラムされることができる。ローカル処理およびデータモジュール224または遠隔処理モジュール228は、本明細書に開示される眼形状推定技法を使用して、バイオメトリック用途を実施し、例えば、装着者204の身元を識別または認証するように、プログラムされることができる。加えて、または代替として、視線推定または姿勢決定では、例えば、各眼が向かって見ている方向を決定する。 In some embodiments, remote processing module 228 may comprise one or more processors configured to analyze and process data and/or image information, such as video information captured by image capture devices. Video data may be stored locally within local processing and data module 224 and/or within remote data repository 232 . In some embodiments, remote data repository 232 may comprise a digital data storage facility, which may be available through the Internet or other networking configuration in a "cloud" resource configuration. In some embodiments, all data is stored and all calculations are performed in the local processing and data module 224, allowing fully autonomous use from remote modules. In some implementations, the local processing and data module 224 and/or the remote processing module 228 are programmed to perform embodiments of estimating detailed eye shape models as described herein. . For example, local processing and data module 224 or remote processing module 228 can be programmed to implement an embodiment of routine 300 described with reference to FIG. 3 below. Local processing and data module 224 or remote processing module 228 may use the eye shape estimation techniques disclosed herein to perform biometric applications, for example, to identify or authenticate the identity of wearer 204. , can be programmed. Additionally or alternatively, gaze estimation or pose determination, for example, determines the direction each eye is looking toward.

画像捕捉デバイスは、特定の用途のためのビデオ(例えば、眼追跡用途のための装着者の眼のビデオまたはジェスチャ識別用途のための装着者の手または指のビデオ)を捕捉することができる。ビデオは、処理モジュール224、228のうちの一方または両方によって、眼形状推定技法を使用して分析されることができる。本分析では、処理モジュール224、228は、ロバストなバイオメトリック用途のために眼形状推定を実施することができる。実施例として、ローカル処理およびデータモジュール224および/または遠隔処理モジュール228は、フレーム212に取り付けられた眼追跡カメラ252a、252bから取得された眼画像を記憶するようにプログラムされることができる。加えて、ローカル処理およびデータモジュール224および/または遠隔処理モジュール228は、本明細書に説明される眼形状推定技法(例えば、ルーチン300)を使用して、眼画像を処理し、ウェアラブルディスプレイシステム200の装着者204のバイオメトリック情報を抽出するようにプログラムされることができる。ある場合には、遠隔処理モジュールにバイオメトリック情報の少なくとも一部を(例えば、「クラウド」内に)オフロードすることは、算出の効率または速度を改良し得る。眼視線識別に関する種々のパラメータ(例えば、加重、バイアス項、ランダムサブセットサンプリング係数、数、フィルタ(例えば、Sobel微分演算子)のサイズ等)が、データモジュール224または228内に記憶されることができる。 The image capture device can capture video for specific applications (eg, video of the wearer's eyes for eye tracking applications or video of the wearer's hands or fingers for gesture identification applications). The video can be analyzed by one or both of the processing modules 224, 228 using eye shape estimation techniques. In this analysis, processing modules 224, 228 can perform eye shape estimation for robust biometric applications. As an example, the local processing and data module 224 and/or the remote processing module 228 can be programmed to store eye images acquired from eye-tracking cameras 252 a , 252 b mounted on the frame 212 . In addition, the local processing and data module 224 and/or the remote processing module 228 process eye images using the eye shape estimation techniques (eg, routine 300) described herein to provide wearable display system 200 can be programmed to extract biometric information of the wearer 204 of the. In some cases, offloading at least some of the biometric information (eg, into the "cloud") to a remote processing module may improve efficiency or speed of computation. Various parameters related to eye gaze identification (eg, weights, bias terms, random subset sampling factors, numbers, sizes of filters (eg, Sobel differential operators), etc.) can be stored in data modules 224 or 228. .

ビデオ分析の結果(例えば、詳細な眼形状モデル)は、付加的動作または処理のために、処理モジュール224、228のうちの一方または両方によって使用されることができる。例えば、種々の用途では、物体、姿勢等のバイオメトリック識別、眼追跡、認識、または分類が、ウェアラブルディスプレイシステム200によって使用され得る。例えば、装着者の眼のビデオは、眼形状推定のために使用されることができ、これは、ひいては、ディスプレイ208を通した装着者204の視線の方向を決定するために、処理モジュール224、228によって使用されることができる。ウェアラブルディスプレイシステム200の処理モジュール224、228は、本明細書に説明されるビデオまたは画像処理用途のいずれかを実施するように、眼形状推定の1つ以上の実施形態とともにプログラムされることができる。 The results of video analysis (eg, detailed eye shape models) can be used by one or both of processing modules 224, 228 for additional actions or processing. For example, biometric identification, eye tracking, recognition, or classification of objects, poses, etc. may be used by wearable display system 200 in various applications. For example, video of the wearer's eyes can be used for eye shape estimation, which in turn determines the direction of the wearer's 204 gaze through the display 208, using the processing module 224, 228 can be used. The processing modules 224, 228 of the wearable display system 200 can be programmed with one or more embodiments of eye shape estimation to perform any of the video or image processing applications described herein. .

例示的眼形状推定ルーチン
図3は、例示的眼形状推定ルーチン300のフロー図である。眼形状推定ルーチン300は、図2を参照して説明される、ローカル処理およびデータモジュール224または遠隔処理モジュール228およびデータリポジトリ232によって実装されることができる。眼形状推定はまた、眼形状検出または詳細な眼形状モデル化と称されることもできる。
Exemplary Eye Shape Estimation Routine FIG. 3 is a flow diagram of an exemplary eye shape estimation routine 300 . Eye shape estimation routine 300 can be implemented by local processing and data module 224 or remote processing module 228 and data repository 232, described with reference to FIG. Eye shape estimation may also be referred to as eye shape detection or detailed eye shape modeling.

ルーチン300は、眼画像324が受信されるときにブロック308から開始する。眼画像324は、例えば、画像捕捉デバイス、頭部搭載型ディスプレイシステム、サーバ、非一過性のコンピュータ可読媒体、またはクライアントコンピューティングデバイス(例えば、スマートフォン)を含む、種々のソースから受信されることができる。眼画像324は、随意に、眼追跡カメラ252aから受信されてもよい。いくつかの実装では、眼画像324は、ビデオ(例えば、眼のビデオ)から抽出されることができる。 Routine 300 begins at block 308 when eye image 324 is received. The eye image 324 may be received from a variety of sources including, for example, an image capture device, head mounted display system, server, non-transitory computer readable medium, or client computing device (eg, smart phone). can be done. Eye image 324 may optionally be received from eye-tracking camera 252a. In some implementations, the eye image 324 can be extracted from a video (eg, an eye video).

ブロック312では、詳細な眼形状モデル400bが、眼画像324から推定されてもよい。いくつかの実施形態では、詳細な眼形状モデル400bは、下記にさらに説明されるように、カスケード式形状回帰を使用して推定されてもよい。 At block 312 a detailed eye shape model 400 b may be estimated from the eye image 324 . In some embodiments, detailed eye shape model 400b may be estimated using cascaded shape regression, as further described below.

ブロック316では、眼特徴115が、少なくとも部分的にブロック312において推定される詳細な眼形状モデル400bに基づいて、決定される。いくつかの実施形態では、眼特徴115(そのうちのいくつかが画像332に示されている)は、瞳孔または縁郭境界、眼瞼境界、閃光、眼特徴点、または瞳孔114の中心を含む。眼特徴115はさらに、バイオメトリック用途で使用され得る任意の特徴を含んでもよい。ブロック312において推定される詳細な眼形状モデル400bは、予備知識としての役割を果たし、ブロック316において特徴検出のロバスト性を改良し得る。 At block 316 , eye features 115 are determined based at least in part on the detailed eye shape model 400 b estimated at block 312 . In some embodiments, the eye features 115 (some of which are shown in image 332) include the pupil or limbus boundary, the eyelid boundary, the glint, the eye feature point, or the center of the pupil 114. Eye features 115 may also include any feature that can be used in biometric applications. The detailed eye shape model 400b estimated at block 312 may serve as prior knowledge and improve robustness of feature detection at block 316 .

ブロック320では、バイオメトリック用途(例えば、視線推定またはバイオメトリック識別/認証)が、少なくとも部分的にブロック312および316において取得されるバイオメトリック情報に基づいて、実施される。いくつかの実施形態では、ブロック320aでは、視線方向が、少なくとも部分的にブロック316において決定される眼特徴115に基づいて、推定されてもよい。加えて、または代替として、いくつかの実施形態では、ブロック320bにおいて、バイオメトリック識別/認証が、少なくとも部分的にブロック316において決定される眼特徴に基づいて、実施されてもよい。バイオメトリック識別または認証は、少なくとも部分的に眼画像および決定された瞳孔および縁郭境界に基づいて、虹彩コード(例えば、Daugmanアルゴリズムに基づく虹彩コード)を決定するステップを含んでもよい。 At block 320 , biometric applications (eg, gaze estimation or biometric identification/authentication) are performed based at least in part on the biometric information obtained at blocks 312 and 316 . In some embodiments, at block 320 a the gaze direction may be estimated based at least in part on the eye features 115 determined at block 316 . Additionally or alternatively, in some embodiments, at block 320 b biometric identification/authentication may be performed based at least in part on the eye characteristics determined at block 316 . Biometric identification or authentication may include determining an iris code (eg, an iris code based on the Daugman algorithm) based at least in part on the eye image and the determined pupil and limbus boundaries.

例示的眼形状推定
初期眼形状Sを伴う入力画像Iを考慮すると、カスケード式形状回帰が、段階的に形状インクリメントΔSを推定することによって形状Sを次第に精緻化する。初期形状Sは、眼形状(例えば、瞳孔、縁郭、および眼瞼境界)またはデフォルト形状(例えば、眼画像Iの中心に心合される円形瞳孔および虹彩境界)への最良推測を表し得る。一般的形態では、段階tにおける形状インクリメントΔSは、以下のように回帰され、

Figure 2022538669000002
は、段階tにおける回帰関数であり、Φは、形状インデックス化抽出関数である。Φは、前の段階St-1における入力画像Iおよび形状の両方に依存し得ることに留意されたい。形状インデックス化抽出関数Φは、「非形状インデックス化」特徴と比較して、より大きい形状変動に対処することができる。大域的照明変化に不変であり得る、一対ピクセル比較特徴が、使用されてもよい。回帰は、形状インクリメントΔSを前の段階St-1における形状に加算し、S=St-1+ΔSを生じさせることによって、次の段階t+1に進む。 Exemplary Eye Shape Estimation Considering an input image I with an initial eye shape S 0 , cascaded shape regression progressively refines the shape S by estimating shape increments ΔS in steps. The initial shape S 0 may represent a best guess to an eye shape (eg, pupil, limbus, and eyelid border) or a default shape (eg, circular pupil and iris border centered on eye image I). In general form, the shape increment ΔS t at stage t is regressed as
Figure 2022538669000002
f t is the regression function at stage t and Φ t is the shape-indexed extraction function. Note that Φ t can depend on both the input image I and the shape in the previous stage S t-1 . The shape-indexed extraction function Φ t can handle larger shape variations compared to the 'non-shape-indexed' features. A pairwise pixel comparison feature may be used that may be invariant to global lighting changes. The regression proceeds to the next stage t+1 by adding the shape increment ΔS t to the shape in the previous stage S t−1 yielding S t =S t−1 +ΔS t .

眼形状を推定するために使用され得る、カスケード式形状回帰モデルのいくつかの実施例は、明示的形状回帰(ESR)、カスケード式姿勢回帰(CPR)、回帰ツリーの連携(ERT)、監視下降方法(SDM)、ローカル2進特徴(LBF)、確率的ランダムフォレスト(PRF)、カスケードガウスプロセス回帰ツリー(cGPRT)、粗密形状検索(CFSS)、ランダムカスケード式回帰ツリー群(R-CR-C)、カスケード式協調回帰方法(CCR)、時空間カスケード形状回帰(STCSR)、または他のカスケード式形状回帰方法を含むことができる。 Some examples of cascaded shape regression models that can be used to estimate eye shape are explicit shape regression (ESR), cascaded postural regression (CPR), linked regression trees (ERT), supervised descent Method (SDM), Local Binary Features (LBF), Probabilistic Random Forest (PRF), Cascaded Gaussian Process Regression Trees (cGPRT), Coarse-Fixed Shape Search (CFSS), Random Cascading Regression Tree Swarm (R-CR-C) , cascaded collaborative regression (CCR), spatio-temporal cascaded shape regression (STCSR), or other cascaded shape regression methods.

図4Aは、詳細な眼形状モデルの例示的進行を図式的に図示する。簡単にするために、図4Aは、上および下眼瞼110a、110bの形状のみを描写し、図1に図示されるような虹彩112または瞳孔114の推定形状を図示しない。しかしながら、虹彩112および瞳孔114の形状は、加えて、または代替として、本段階においてモデル化されてもよい(例えば、図4Bの例示的結果を参照)。いくつかの実施形態では、初期推定眼形状404は、標的形状412に類似する任意の眼形状であってもよい。例えば、初期推定眼形状は、画像の中心における平均形状として設定されることができる。 FIG. 4A diagrammatically illustrates an exemplary progression of a detailed eye shape model. For simplicity, FIG. 4A depicts only the shape of the upper and lower eyelids 110a, 110b and does not show the estimated shape of the iris 112 or pupil 114 as shown in FIG. However, the shape of the iris 112 and pupil 114 may additionally or alternatively be modeled at this stage (see, eg, exemplary results in FIG. 4B). In some embodiments, initial estimated eye shape 404 may be any eye shape similar to target shape 412 . For example, the initial eye shape estimate can be set as the average shape at the center of the image.

図4Aは、11段階にわたって実施される初期推定眼形状404から標的形状412への眼形状回帰を描写する。例えば、初期(第0の)段階S、第1の段階S、および第10の段階S10が、図示される。簡単にするために、中間眼瞼形状408のみが、図4Aに描写されている。いくつかの実施形態では、回帰モデルは、所定数の反復(例えば、5、10、20、50、100、またはそれを上回る)後に停止するようにプログラムされてもよい。他の実施形態では、回帰モデルは、段階tにおける形状インクリメントΔSが、閾値よりも小さくなるまで反復し続けてもよい。例えば、相対的眼形状変化|ΔS/S|が、閾値(例えば、10-2、10-3、またはそれよりも小さい)未満である場合、回帰モデルは、終了してもよい。他の実施形態では、回帰モデルは、段階tにおける形状Sと前の段階おける形状St-1との間の差異が閾値よりも小さくなるまで反復し続けてもよい。 FIG. 4A depicts eye shape regression from an initial estimated eye shape 404 to a target shape 412 performed over 11 steps. For example, an initial (zeroth) stage S 0 , a first stage S 1 , and a tenth stage S 10 are shown. For simplicity, only the intermediate eyelid shape 408 is depicted in FIG. 4A. In some embodiments, the regression model may be programmed to stop after a predetermined number of iterations (eg, 5, 10, 20, 50, 100, or more). In other embodiments, the regression model may continue to iterate until the shape increment ΔS t at stage t is less than a threshold. For example, if the relative eye shape change |ΔS t /S t | is less than a threshold (eg, 10 −2 , 10 −3 , or less), the regression model may terminate. In other embodiments, the regression model may continue to iterate until the difference between shape S t at stage t and shape S t−1 at the previous stage is less than a threshold.

いくつかの実施形態では、詳細な眼形状モデル400bは、瞳孔、縁郭、または眼瞼境界のための複数の境界点424を備えてもよい。境界点424は、それぞれ、推定眼瞼形状412、推定虹彩形状416、および推定瞳孔形状420に対応し得る。境界点424の数は、6~100の範囲内またはそれを上回り得る。いくつかの実装では、詳細な眼形状モデル400bは、受信された眼画像が、ある標準、例えば、画像の品質を満たすかどうかを決定するために使用されることができる。 In some embodiments, the detailed eye shape model 400b may comprise multiple boundary points 424 for the pupil, limbus, or lid boundary. Boundary points 424 may correspond to estimated eyelid shape 412, estimated iris shape 416, and estimated pupil shape 420, respectively. The number of demarcation points 424 can be in the range of 6-100 or more. In some implementations, the detailed eye shape model 400b can be used to determine whether a received eye image meets certain standards, eg, image quality.

図4Bは、完成した眼形状モデルの実施例を図示する。このモデルは、図3において説明される眼形状推定ルーチンを使用して決定されてもよい。例えば、完成した眼形状モデルは、眼形状が、瞳孔、縁郭、および眼瞼境界を決定したカスケード式形状回帰に基づいてモデル化された後のブロック312の結果を表してもよい。これらの境界は、計算された境界と基礎的眼画像との間の合致を示すように、眼の眼周囲領域の画像上に重層される。上記に説明されるように、形状インデックス化抽出関数Φは、「非形状インデックス化」特徴と比較して、より大きい形状変動に対処することができる。大域的照明変化に不変であり得る、一対ピクセル比較特徴が、使用されてもよい。 FIG. 4B illustrates an example of a completed eye shape model. This model may be determined using the eye shape estimation routine described in FIG. For example, the completed eye shape model may represent the result of block 312 after the eye shape has been modeled based on cascaded shape regression that determined the pupil, limbus, and eyelid boundaries. These boundaries are overlaid on an image of the periocular region of the eye to show the match between the computed boundaries and the underlying eye image. As explained above, the shape-indexed extraction function Φ t can accommodate greater shape variation compared to the 'non-shape-indexed' features. A pairwise pixel comparison feature may be used that may be invariant to global lighting changes.

図4Cは、2対の形状インデックス化特徴(例えば、460a、460b)の実施例を示す画像である。ローカル座標系(xおよびy軸450として示される)が、現在の眼形状(例えば、眼瞼形状462)によって決定される。一対のピクセル場所460a、460b(矢印付きの線によって接続される正方形、2対460a、460bのそのようなピクセル場所が示されている)からの強度値は、2進特徴(例えば、合致または不合致を示す、0または1等のブール値)を提供するように比較されることができる。例えば、瞳孔の内側に位置するピクセル(例えば、特徴460bの中の瞳孔ピクセル)は、瞳孔の外側に(例えば、ユーザの虹彩、強膜、または皮膚の中に(図4Cに示されるように))位置するピクセルよりも色またはコントラストが濃くあり得る。 FIG. 4C is an image showing an example of two pairs of shape indexing features (eg, 460a, 460b). A local coordinate system (shown as x and y axes 450) is determined by the current eye shape (eg, eyelid shape 462). Intensity values from a pair of pixel locations 460a, 460b (squares connected by arrowed lines, two pairs 460a, 460b of such pixel locations are shown) are used to measure binary features (e.g., match or mismatch). can be compared to provide a Boolean value such as 0 or 1) indicating a match. For example, pixels located inside the pupil (eg, pupil pixels in feature 460b) are located outside the pupil (eg, within the user's iris, sclera, or skin (as shown in FIG. 4C)). ) may be darker in color or contrast than the pixel in which it is located.

いくつかの実装では、ピクセル場所は、眼形状462が回帰の段階中に更新されるにつれて変動する、ローカル座標系450の中で固定されてもよい。1つの例示的システムでは、2,500個の特徴が、400のピクセル場所から構築され、これは、訓練データから学習されてもよい。訓練データからの学習は、図5に関して下記により詳細に説明される。 In some implementations, the pixel locations may be fixed within the local coordinate system 450, which varies as the eye shape 462 is updated during the regression phase. In one exemplary system, 2,500 features are constructed from 400 pixel locations, which may be learned from training data. Learning from training data is described in more detail below with respect to FIG.

カスケード式形状回帰を学習するための訓練画像の実施例
いくつかの実施形態では、上記に説明される回帰関数fおよび形状インデックス化抽出関数Φは、注釈付き(例えば、標識)訓練データのセットから学習され得る。
Examples of Training Images for Learning Cascaded Shape Regression In some embodiments, the regression function f t and the shape indexing extraction function Φ t described above are used for annotated (e.g., labeled) training data. can be learned from a set.

図5は、((a)から(h)としてインデックス化される)大きい形状および外観変動を伴う異なる対象からの8つの例示的眼画像を含む、訓練データ500の実施例を図示する。標識眼画像は、有利なこととして、(異なる性別、民族等)広範囲の対象からの広範囲の眼の変形例(例えば、正常に開いた眼、瞬目する眼、自然静止方向に対して広範囲の方向(上、下、左、右)を指し示す眼等)を示すはずである。 FIG. 5 illustrates an example of training data 500 including eight exemplary eye images from different subjects with large shape and appearance variations (indexed as (a) to (h)). Targeted eye images advantageously include a wide range of eye variations (e.g., normally open eyes, blinking eyes, natural rest orientations) from a wide range of subjects (of different genders, ethnicities, etc.). direction (such as an eye pointing up, down, left, right)).

訓練データ500は、学習される特徴を示すように注釈を付けられる。図示される実施例では、これらの特徴は、画像のそれぞれの上でマークされる瞳孔、縁郭、および眼瞼境界を含む。訓練データ500内の画像のそれぞれの中のこれらの標識境界は、任意の適切な瞳孔、縁郭、または眼瞼境界技法を使用して、または手動で、決定されることができる。 The training data 500 is annotated to indicate the features to be learned. In the illustrated example, these features include the pupil, limbus, and eyelid border marked on each of the images. These landmark boundaries within each of the images in training data 500 can be determined using any suitable pupil, limbus, or eyelid boundary technique, or manually.

種々の機械学習アルゴリズムが、注釈付き訓練データ500から回帰関数fおよび形状インデックス化抽出関数Φを学習するために使用されてもよい。教師付き機械学習アルゴリズム(例えば、回帰ベースのアルゴリズム)が、注釈付きデータ500から回帰関数および形状インデックス化抽出関数を学習するために使用されることができる。そのようなモデルを生成するために使用され得る、機械学習アルゴリズムのいくつかの実施例は、回帰アルゴリズム(例えば、最小二乗回帰等)、インスタンスベースのアルゴリズム(例えば、学習ベクトル量子化等)、決定ツリーアルゴリズム(例えば、分類および回帰ツリー等)、ベイジアンアルゴリズム(例えば、ナイーブベイズ等)、クラスタ化アルゴリズム(例えば、k平均クラスタ化等)、相関ルール学習アルゴリズム(例えば、アプリオリアルゴリズム等)、人工ニューラルネットワークアルゴリズム(例えば、パーセプトロン等)、深層学習アルゴリズム(例えば、ディープボルツマンマシンまたはディープニューラルネットワーク等)、次元縮小アルゴリズム(例えば、主成分分析等)、アンサンブルアルゴリズム(例えば、スタック一般化等)、または他の機械学習アルゴリズムを含むことができる。 Various machine learning algorithms may be used to learn the regression function f t and the shape-indexed extraction function Φ t from the annotated training data 500 . Supervised machine learning algorithms (eg, regression-based algorithms) can be used to learn regression functions and shape-indexed extraction functions from the annotated data 500 . Some examples of machine learning algorithms that can be used to generate such models include regression algorithms (e.g., least squares regression, etc.), instance-based algorithms (e.g., learning vector quantization, etc.), decision Tree algorithms (e.g., classification and regression trees, etc.), Bayesian algorithms (e.g., naive Bayes, etc.), clustering algorithms (e.g., k-means clustering, etc.), association rule learning algorithms (e.g., a priori algorithms, etc.), artificial neural networks algorithms (such as perceptrons), deep learning algorithms (such as deep Boltzmann machines or deep neural networks), dimension reduction algorithms (such as principal component analysis), ensemble algorithms (such as stack generalization), or other May include machine learning algorithms.

いくつかの実施形態では、訓練画像のセットが、図2Aに図示される遠隔データリポジトリ232の中に記憶されてもよい。遠隔処理モジュール228は、訓練画像にアクセスし、回帰関数fおよび形状インデックス化抽出関数Φを学習してもよい。ローカル処理およびデータモジュール224は、次いで、ウェアラブルデバイス200上に回帰関数fおよび形状インデックス化抽出関数Φを記憶してもよい。これは、ローカル処理およびデータモジュール224が、回帰関数fおよび形状インデックス化抽出関数Φを学習する計算集中的なプロセスを実施する必要性を低減させる。 In some embodiments, a set of training images may be stored in remote data repository 232 illustrated in FIG. 2A. Remote processing module 228 may access training images and learn regression function f t and shape-indexed extraction function Φ t . Local processing and data module 224 may then store regression function f t and shape-indexed extraction function Φ t on wearable device 200 . This reduces the need for the local processing and data module 224 to perform the computationally intensive process of learning the regression function f t and the shape indexing extraction function Φ t .

いくつかの実施形態では、バイオメトリック情報は、ユーザ204から取られ、ローカル処理およびデータモジュール224上に記憶されてもよい。バイオメトリック情報は、次いで、例えば、教師なし学習を通して、ユーザの個人化された眼形状および特徴に基づいて回帰関数および形状インデックス化抽出関数をさらに訓練するために、ローカル処理およびデータモジュール224(または遠隔処理モジュール228)によって使用されることができる。そのような訓練は、より具体的には、ユーザの眼および眼周囲領域の特徴に合致し、正確度および効率を改良し得るように、回帰モデルを個人化する。
例示的眼形状訓練ルーチン
In some embodiments, biometric information may be taken from user 204 and stored on local processing and data module 224 . The biometric information is then used by the local processing and data module 224 (or can be used by the remote processing module 228). Such training more specifically personalizes the regression model so that it matches the characteristics of the user's eye and periocular region and can improve accuracy and efficiency.
Exemplary Eye Shape Training Routine

図6は、回帰関数fおよび形状インデックス化抽出関数Φを学習するために使用され得る、例示的眼形状訓練ルーチン600のフロー図である。例えば、関数は、訓練画像のセット(例えば、図5に示される画像500)に基づいて学習され得る。眼形状訓練ルーチン600は、処理モジュール224、228、232および/または1つ以上の他のプロセッサによって実装されることができる。 FIG. 6 is a flow diagram of an exemplary eye shape training routine 600 that may be used to learn the regression function f t and the shape indexed extraction function Φ t . For example, a function can be learned based on a set of training images (eg, images 500 shown in FIG. 5). Eye shape training routine 600 may be implemented by processing modules 224, 228, 232 and/or one or more other processors.

ルーチン600は、注釈付き眼画像を備える訓練データ(例えば、データ500)がアクセスされるときに、ブロック608から開始する。訓練データは、注釈付き眼画像を記憶する、非一過性のデータ記憶部からアクセスされることができる。処理モジュールは、有線または無線技法を介して非一過性のデータ記憶部にアクセスすることができる。 Routine 600 begins at block 608 when training data (eg, data 500) comprising annotated eye images is accessed. Training data can be accessed from a non-transient data store that stores annotated eye images. Processing modules can access non-transitory data storage via wired or wireless techniques.

ブロック612では、機械学習技法(例えば、注釈付きまたは標識画像のための教師付き学習)が、回帰関数fおよび形状インデックス化抽出関数Φを学習するように適用される。カスケード式形状回帰モデルが、次いで、ブロック616において生成されることができる。本回帰モデルは、ルーチン300がブロック312において詳細な眼形状モデルを推定することを可能にする。上記に説明されるように、カスケード式形状回帰モデルは、使用中にウェアラブルディスプレイシステム200によって取得されるユーザの眼画像について回帰関数および形状インデックス化抽出関数をさらに訓練することによって、特定のユーザに個人化されることができる。 At block 612, machine learning techniques (eg, supervised learning for annotated or labeled images) are applied to learn the regression function f t and the shape-indexed extraction function Φ t . A cascaded shape regression model can then be generated at block 616 . This regression model allows routine 300 to estimate a detailed eye shape model at block 312 . As explained above, the cascaded shape regression model is adapted to a particular user by further training the regression function and the shape indexed extraction function on the user's eye images acquired by the wearable display system 200 during use. can be personalized.

ロバストな特徴検出の実施例
瞳孔または虹彩の眼瞼オクルージョン
図7Aは、眼瞼によって部分的にオクルージョンされる瞳孔の境界点424を図示する。詳細な眼形状モデルを使用するロバストな特徴検出のための一実施形態では、瞳孔検出は、誤った瞳孔境界点704を除去することによって改良され得る。例示的点704は、上眼瞼110aに沿って瞳孔境界420内の境界点の円弧として示される。
Example of Robust Feature Detection Eyelid Occlusion of Pupil or Iris FIG. 7A illustrates a boundary point 424 of the pupil that is partially occluded by the eyelid. In one embodiment for robust feature detection using a detailed eye shape model, pupil detection may be improved by removing erroneous pupil boundary points 704 . Exemplary point 704 is shown as an arc of boundary points within pupillary boundary 420 along upper eyelid 110a.

誤った瞳孔境界点704は、図7A(上眼瞼110aが瞳孔114を部分的にオクルージョンする)に示されるように、眼瞼が瞳孔を部分的にオクルージョンするときに作成され得る。点704は、したがって、(眼瞼によってオクルージョンされる)瞳孔の真の境界ではなく眼瞼の位置を反映する。瞳孔の不正確なモデルの生成につながり得る、誤った境界点704を含むのではなく、誤った境界点704は、瞳孔境界発見方法が実施される前に識別および除去されてもよい。いくつかの実施形態では、誤った瞳孔境界点704は、上または下眼瞼のある距離内に位置する任意の瞳孔境界点であってもよい。いくつかの実施形態では、誤った瞳孔境界点704は、上または下眼瞼に隣接する任意の瞳孔境界点であってもよい。 A false pupil boundary point 704 can be created when the eyelid partially occludes the pupil, as shown in FIG. 7A (upper eyelid 110a partially occludes pupil 114). Point 704 therefore reflects the position of the eyelid rather than the true boundary of the pupil (which is occluded by the eyelid). Rather than including erroneous boundary points 704, which can lead to the generation of an inaccurate model of the pupil, the erroneous boundary points 704 may be identified and removed before the pupil boundary finding method is implemented. In some embodiments, the false pupillary boundary point 704 may be any pupillary boundary point located within a certain distance of the upper or lower eyelid. In some embodiments, the false pupil demarcation point 704 may be any pupil demarcation point adjacent to the upper or lower eyelid.

いくつかの実施形態では、いったん誤った瞳孔境界点704が識別および除去されると、楕円が、残りの瞳孔境界点を使用して瞳孔に適合されてもよい。そのような楕円適合のために実装され得るアルゴリズムは、微分積分演算子、最小二乗方法、ランダムサンプルコンセンサス(RANSAC)、または楕円または曲線適合アルゴリズムを含む。 In some embodiments, once the erroneous pupil boundary points 704 are identified and removed, an ellipse may be fitted to the pupil using the remaining pupil boundary points. Algorithms that may be implemented for such elliptic fitting include calculus operators, least squares methods, random sample consensus (RANSAC), or elliptic or curve fitting algorithms.

上記の実施形態は、具体的には誤った瞳孔境界点を参照するが、上記に説明される技法はまた、誤った縁郭境界点を識別および除去するように適用され得ることに留意されたい。 Note that although the above embodiments specifically refer to erroneous pupil boundary points, the techniques described above can also be applied to identify and remove erroneous limbal boundary points. .

いくつかの実施形態では、詳細な眼形状モデルが、例えば、多くの瞳孔境界点を検出するために採用され得る、スターバーストアルゴリズム等の瞳孔境界発見アルゴリズムと併せて使用されてもよい。詳細な眼形状モデルの眼瞼形状412を使用して、上または下眼瞼110a、110bに隣接するスターバーストアルゴリズムを使用して決定される境界点は、除去され、残りの境界点は、瞳孔境界420に適合するように使用される。いくつかの実施形態では、強膜113に隣接する縁郭境界点もまた、詳細な眼形状モデルを使用して識別されてもよい。その後、虹彩楕円416は、強膜113に隣接するように決定される縁郭境界点のみを使用して適合される。同様に、瞳孔境界420は、虹彩112に隣接するように決定される瞳孔境界点のみを使用して適合されてもよい。いくつかの実施形態では、詳細な眼形状モデルは、詳細な眼形状モデルに基づいて瞳孔中心のより良好な初期「最良推測」を提供することによって、瞳孔境界発見アルゴリズムのロバスト性を改良し得る。 In some embodiments, a detailed eye shape model may be used in conjunction with a pupil boundary finding algorithm, such as the starburst algorithm, which may be employed, for example, to detect many pupil boundary points. Using the eyelid shape 412 of the detailed eye shape model, the boundary points determined using the starburst algorithm adjacent to the upper or lower eyelids 110a, 110b are removed and the remaining boundary points are the pupil boundary 420 used to conform to In some embodiments, the limbus boundary point adjacent to the sclera 113 may also be identified using the detailed eye shape model. An iris ellipse 416 is then fitted using only the limbus boundary points determined to be adjacent to the sclera 113 . Similarly, pupil boundary 420 may be fitted using only pupil boundary points determined to be adjacent to iris 112 . In some embodiments, the detailed eye shape model may improve the robustness of the pupil boundary finding algorithm by providing a better initial "best guess" of the pupil center based on the detailed eye shape model. .

閃光検出
従来の視線推定では、瞳孔境界(例えば、いくつかの技法における楕円)および閃光が、眼画像全体を検索することによって検出される。本明細書に説明される詳細な眼形状モデルを考慮すると、特徴検出は、特徴に関して眼全体を検索する必要性を排除することによって、より高速かつより効率的であり得る。いくつかの実施形態では、最初に眼の異なる領域(例えば、強膜、瞳孔、または虹彩)を識別することによって、詳細な眼形状モデルは、眼の特定の領域中の特徴検出(例えば、選択的特徴検出)を可能にし得る。
Flash Detection In conventional gaze estimation, pupil boundaries (eg, ellipses in some techniques) and glints are detected by searching the entire eye image. Given the detailed eye shape model described herein, feature detection can be faster and more efficient by eliminating the need to search the entire eye for features. In some embodiments, by first identifying different regions of the eye (e.g., sclera, pupil, or iris), the detailed eye shape model is used for feature detection (e.g., selection) in specific regions of the eye. feature detection).

図7Bは、選択的特徴検出の実施例を図示する。閃光115a、115bは、強膜113、虹彩112、または瞳孔114の中で出現し得る。閃光115a、115bは、1つ以上の光源(例えば、赤外線LED等のLED)からの反射を表し得る。あるバイオメトリック用途では、眼のある領域(例えば、角膜反射を表す虹彩)中の閃光を識別しながら、これらの領域の外側(例えば、強膜)の閃光を無視することが必要である、または望ましくあり得る。例えば、ある技法において視線を決定するとき、強膜113の中に位置する強膜閃光115bは、角膜からの光源の反射を表し得ず、視線技法の中のそれらの包含は、推定視線の不正確性につながる。したがって、詳細な眼形状モデルを使用して、虹彩112内または縁郭境界416内に位置する虹彩閃光115aを検索および識別することが有利であり得る。 FIG. 7B illustrates an example of selective feature detection. Flashes 115 a , 115 b may appear in sclera 113 , iris 112 , or pupil 114 . Flashes 115a, 115b may represent reflections from one or more light sources (eg, LEDs such as infrared LEDs). In some biometric applications, it is necessary to identify flashes in certain regions of the eye (eg, the iris, which represents corneal reflection), while ignoring flashes outside these regions (eg, the sclera), or can be desirable. For example, when determining the line of sight in one technique, scleral flashes 115b located within the sclera 113 may not represent reflections of the light source from the cornea, and their inclusion in the line of sight technique may result in an estimated line of sight uncertainty. leading to accuracy. Therefore, it may be advantageous to search and identify iris flashes 115a located within the iris 112 or within the limbus boundary 416 using a detailed eye shape model.

図7Bに図示されるように、虹彩閃光115aは、虹彩112内にあり、したがって、視線推定のために好ましくあり得る。対照的に、強膜閃光115bは、強膜113の中で出現し、したがって、視線推定のために好ましくあり得ない。故に、本明細書に開示される技法の実施形態は、閃光が発生する可能性が高い眼領域を識別するために、使用されることができ、これらの領域の外側の眼領域は、検索される必要がなく、これは、本技法の正確度、速度、および効率を改良する。 As illustrated in FIG. 7B, the iris flash 115a is within the iris 112 and may therefore be preferred for gaze estimation. In contrast, scleral flashes 115b appear within the sclera 113 and therefore may not be favorable for line-of-sight estimation. Thus, embodiments of the techniques disclosed herein can be used to identify eye regions where flashes are likely to occur, and eye regions outside of these regions are searched. , which improves the accuracy, speed, and efficiency of the technique.

瞬目検出
いくつかの実施形態では、特徴検出は、詳細な眼形状モデルを使用し、受信される眼画像がある品質閾値を満たすかどうかを決定することによって、よりロバストかつ効率的であり得る。例えば、詳細な眼形状モデルは、眼が確実な眼形状を推定するため、および特徴を抽出するため、およびバイオメトリック用途(例えば、視線発見またはバイオメトリック認証/識別)を実施するために十分に開いているかどうかを決定するために、使用されてもよい。
Blink Detection In some embodiments, feature detection can be more robust and efficient by using a detailed eye shape model and determining whether a received eye image meets a certain quality threshold. . For example, detailed eye shape models are sufficient for estimating eye-confident eye shapes and for feature extraction and for performing biometric applications (e.g., gaze finding or biometric authentication/identification). May be used to determine if it is open.

いくつかの実施形態では、眼画像は、1つ以上の品質測定に基づいて、破棄され得る。例えば、上眼瞼110aと下眼瞼110bとの間の距離が閾値未満である場合、眼画像は、使用不可能と見なされ、破棄され、故に、いかなる特徴もバイオメトリック用途のために抽出されない。いくつかの実施形態では、眼画像は、上眼瞼110aおよび下眼瞼110bが、5mm以下だけ分離される場合に拒否され得る。別の実施形態では、眼画像は、瞳孔114または虹彩112のある割合(例えば、40%、50%、60%、75%、またはそれ以上を上回る)を上回るものが、眼瞼110a、110bのうちの1つ以上のものによってオクルージョンされる場合に、拒否され得る。別の実施形態では、眼画像は、いくつかの瞳孔境界点704が上眼瞼110aまたは下眼瞼110bに隣接する場合に拒否され得る。例えば、瞳孔境界点704のほぼ半分が、眼瞼110a、110bに隣接する場合、瞳孔114のほぼ半分が眼瞼によってオクルージョンされ、したがって、眼画像がバイオメトリック用途のために不適切であることが結論付けられ得る。 In some embodiments, eye images may be discarded based on one or more quality measures. For example, if the distance between upper eyelid 110a and lower eyelid 110b is less than a threshold, the eye image is considered unusable and discarded, thus no features are extracted for biometric applications. In some embodiments, an eye image may be rejected if the upper eyelid 110a and lower eyelid 110b are separated by 5 mm or less. In another embodiment, the eye image is more than a percentage (eg, greater than 40%, 50%, 60%, 75%, or more) of the pupil 114 or iris 112 of the eyelids 110a, 110b. can be rejected if it is occluded by one or more of In another embodiment, an eye image may be rejected if some pupil boundary points 704 are adjacent to the upper eyelid 110a or the lower eyelid 110b. For example, if approximately half of the pupil boundary point 704 is adjacent to the eyelids 110a, 110b, it can be concluded that approximately half of the pupil 114 is occluded by the eyelids and thus the eye image is unsuitable for biometric applications. can be

他の実施形態では、眼画像を拒否および破棄するのではなく、眼画像は、バイオメトリック用途において、眼のより少ないオクルージョンが存在する眼画像(例えば、上眼瞼110aと下眼瞼110bとの間の距離が閾値を上回る画像)よりも低い加重を割り当てられる。 In other embodiments, rather than rejecting and discarding the eye images, the eye images are used in biometric applications where there is less occlusion of the eye (e.g., between the upper eyelid 110a and the lower eyelid 110b). images whose distance is above the threshold) are assigned lower weights.

眼追跡システムの実施例
図8は、眼追跡システムを含む、ウェアラブルシステム800の概略図を図示する。ウェアラブルシステム800は、少なくともいくつかの実施形態では、頭部搭載型ユニット802内に位置するコンポーネントと、非頭部搭載型ユニット804内に位置するコンポーネントとを含んでもよい。非頭部搭載型ユニット804は、実施例として、ベルト搭載型コンポーネント、ハンドヘルドコンポーネント、リュック内のコンポーネント、遠隔コンポーネント等であってもよい。ウェアラブルシステム800のコンポーネントのうちのいくつかを非頭部搭載型ユニット804内に組み込むことは、頭部搭載型ユニット802のサイズ、加重、複雑性、およびコストを低減させることに役立ち得る。
Example Eye Tracking System FIG. 8 illustrates a schematic diagram of a wearable system 800 that includes an eye tracking system. Wearable system 800 may, in at least some embodiments, include components located within head-mounted unit 802 and components located within non-head-mounted unit 804 . Non-head-mounted unit 804 may be, by way of example, a belt-mounted component, a handheld component, a component in a rucksack, a remote component, and the like. Incorporating some of the components of wearable system 800 into non-head-mounted unit 804 can help reduce the size, weight, complexity, and cost of head-mounted unit 802 .

いくつかの実装では、頭部搭載型ユニット802および/または非頭部搭載型ユニット804の1つ以上のコンポーネントによって実施されるものとして説明される機能性のいくつかまたは全ては、ウェアラブルシステム800内のいずれかの場所に含まれる1つ以上のコンポーネントを用いて提供されてもよい。例えば、頭部搭載型ユニット802のプロセッサ(例えば、CPU812)と関連付けられる下記に説明される機能性のいくつかまたは全ては、非頭部搭載型ユニット804のプロセッサ(例えば、CPU816)を用いて提供されてもよく、その逆も同様である。 In some implementations, some or all of the functionality described as being performed by one or more components of head-mounted unit 802 and/or non-head-mounted unit 804 may be implemented within wearable system 800. may be provided using one or more components included anywhere in the For example, some or all of the functionality described below associated with the processor (eg, CPU 812) of head-mounted unit 802 may be provided using the processor (eg, CPU 816) of non-head-mounted unit 804. may be used and vice versa.

いくつかの実施例では、そのような機能性のいくつかまたは全ては、ウェアラブルシステム800の周辺デバイスを用いて提供されてもよい。さらに、いくつかの実装では、そのような機能性のいくつかまたは全ては、図2Aを参照して上記に説明されたものに類似する様式において、1つ以上のクラウドコンピューティングデバイスまたは他の遠隔に位置するコンピューティングデバイスを用いて提供されてもよい。 In some embodiments, some or all of such functionality may be provided using peripheral devices of wearable system 800 . Further, in some implementations some or all of such functionality is provided to one or more cloud computing devices or other remote computing devices in a manner similar to that described above with reference to FIG. may be provided using a computing device located at

図8に示されるように、ウェアラブルシステム800は、ユーザの眼810の画像を捕捉する、カメラ252を含む、眼追跡システムを含むことができる。所望に応じて、眼追跡システムはまた、光源848aおよび848b(発光ダイオード「LED」等)を含んでもよい。光源848aおよび848bは、閃光(例えば、カメラ252によって捕捉された眼の画像内に現れる、ユーザの眼からの反射)を生成し得る。カメラ252に対する光源848aおよび848bの位置は、既知であり得、結果として、カメラ252によって捕捉された画像内の閃光の位置は、ユーザの眼を追跡する際に使用されてもよい。 As shown in FIG. 8, wearable system 800 can include an eye tracking system, including camera 252, that captures an image of the user's eye 810. As shown in FIG. If desired, the eye tracking system may also include light sources 848a and 848b (such as light emitting diodes "LEDs"). Light sources 848a and 848b may produce flashes of light (eg, reflections from the user's eyes that appear in images of the eyes captured by camera 252). The positions of light sources 848a and 848b relative to camera 252 may be known, and consequently the position of the flashes within the image captured by camera 252 may be used in tracking the user's eyes.

少なくとも一実施形態では、ユーザの眼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とが存在してもよい。 In at least one embodiment, there may be one light source 848 and one camera 252 associated with one of the user's eyes 810 . In another embodiment, there is one light source 848 and one camera 252 associated with each of the user's eyes 810, as in the example described above with reference to FIG. 2A. good too. In still other embodiments, there may be one or more cameras 252 and one or more light sources 848 associated with one or each of the user's eyes 810 . As a specific example, there may be two light sources 848 a and 848 b and one or more cameras 252 associated with each of the user's eyes 810 . As another example, there may be three or more light sources, such as light sources 848a and 848b, and one or more cameras 252, associated with each of the user's eyes 810. FIG.

眼追跡モジュール814は、画像を眼追跡カメラ252から受信してもよく、画像を分析し、種々の情報を抽出してもよい。実施例として、眼追跡モジュール814は、ユーザの眼姿勢、眼追跡カメラ252(および頭部搭載型ユニット802)に対するユーザの眼の3次元位置、ユーザの眼810の一方または両方が合焦している方向、ユーザの輻輳・開散運動深度(例えば、ユーザが合焦している、ユーザからの深度)、ユーザの瞳孔の位置、ユーザの角膜および角膜球面の位置、ユーザの眼のそれぞれの回転中心、および/またはユーザの眼のそれぞれの目線中心を検出してもよい。 Eye tracking module 814 may receive images from eye tracking camera 252, analyze the images, and extract various information. As an example, eye tracking module 814 may determine the user's eye pose, the three-dimensional position of the user's eyes relative to eye tracking camera 252 (and head-mounted unit 802), and whether one or both of user's eyes 810 are in focus. direction, user's convergence-divergence motion depth (e.g., depth from user where user is focused), user's pupil position, user's cornea and corneal sphere position, respective rotation of user's eye The center and/or line-of-sight center of each of the user's eyes may be detected.

眼追跡モジュール814は、下記に説明される技法を使用して、そのような情報を抽出してもよい。眼追跡情報を抽出および使用するための付加的システムおよび技法は、2019年1月17日に出願された、米国特許出願第第16/250,931号および第16/251,017号(その両方とも、あらゆる目的のために、参照することによって明示的にその全体として本明細書に組み込まれる)に提供される。いくつかの実装では、眼追跡情報を抽出および使用するための1つ以上のそのようなシステムおよび技法は、本明細書に説明されるシステムおよび技法のうちの1つ以上のものの一部として、またはそれと併せて、採用されてもよい。図8に示されるように、眼追跡モジュール814は、頭部搭載型ユニット802内のCPU812を使用して実装される、ソフトウェアモジュールであってもよい。 Eye tracking module 814 may use techniques described below to extract such information. Additional systems and techniques for extracting and using eye tracking information are disclosed in U.S. Patent Application Serial Nos. 16/250,931 and 16/251,017, both filed Jan. 17, 2019; are expressly incorporated herein by reference in their entirety for all purposes). In some implementations, one or more such systems and techniques for extracting and using eye tracking information are part of one or more of the systems and techniques described herein, or in conjunction therewith may be employed. As shown in FIG. 8, eye tracking module 814 may be a software module implemented using CPU 812 within head-mounted unit 802 .

眼追跡モジュール814からのデータは、ウェアラブルシステム内の他のコンポーネントに提供されてもよい。実施例として、そのようなデータは、ライトフィールドレンダリングコントローラ818および位置合わせオブザーバ820のためのソフトウェアモジュールを含む、CPU816等の非頭部搭載型ユニット804内のコンポーネントに伝送されてもよい。 Data from the eye tracking module 814 may be provided to other components within the wearable system. By way of example, such data may be transmitted to components within non-head mounted unit 804 such as CPU 816 , including software modules for light field rendering controller 818 and alignment observer 820 .

レンダリングコントローラ818は、眼追跡モジュール814からの情報を使用して、レンダリングエンジン822によってユーザに表示される画像を調節してもよい。例えば、レンダリングエンジンは、GPU830内のソフトウェアモジュールを表し得、画像をディスプレイ208に提供してもよい。レンダリングコントローラ818は、ユーザの回転中心または目線中心に基づいて、ユーザに表示される画像を調節してもよい。特に、レンダリングコントローラ818は、ユーザの目線中心に関する情報を使用して、レンダリングカメラをシミュレート(例えば、ユーザの目線からの画像の収集をシミュレート)してもよく、シミュレートされたレンダリングカメラに基づいて、ユーザに表示される画像を調節してもよい。ライトフィールドレンダリングコントローラ818によって実施され得る動作に関する付加的詳細は、米国特許出願第16/250,931号(参照することによってその全体として本明細書に組み込まれる)に提供される。 Rendering controller 818 may use information from eye tracking module 814 to adjust the image displayed to the user by rendering engine 822 . For example, a rendering engine may represent a software module within GPU 830 that may provide images to display 208 . Rendering controller 818 may adjust the image displayed to the user based on the user's center of rotation or gaze center. In particular, the rendering controller 818 may use information about the user's eye-center to simulate a rendering camera (e.g., simulate collection of images from the user's eye-level), and direct the simulated rendering camera to Based on this, the image displayed to the user may be adjusted. Additional details regarding the operations that may be performed by the light field rendering controller 818 are provided in US patent application Ser. No. 16/250,931, which is incorporated herein by reference in its entirety.

時として、「ピンホール目線カメラ」(または「目線カメラ」)または「仮想ピンホールカメラ」(または「仮想カメラ」)とも称される、「レンダリングカメラ」は、可能性として、仮想世界内のオブジェクトのデータベースから、仮想画像コンテンツをレンダリングする際に使用するためのシミュレートされたカメラである。オブジェクトは、ユーザまたは装着者に対する、および可能性として、ユーザまたは装着者を囲繞する環境内の実オブジェクトに対する、場所および配向を有してもよい。換言すると、レンダリングカメラは、そこからユーザまたは装着者がレンダリング空間の3D仮想コンテンツ(例えば、仮想オブジェクト)を視認する、レンダリング空間内の目線を表し得る。レンダリングカメラは、レンダリングエンジンによって管理され、該眼に提示されるべき仮想オブジェクトのデータベースに基づいて、仮想画像をレンダリングしてもよい。 A "rendering camera", sometimes referred to as a "pinhole eye camera" (or "eye-eye camera") or a "virtual pinhole camera" (or "virtual camera"), is possibly an object in the virtual world. database for use in rendering virtual image content. An object may have a location and orientation with respect to the user or wearer and potentially with respect to real objects in the environment surrounding the user or wearer. In other words, the rendering camera may represent a line of sight in the rendering space from which the user or wearer views 3D virtual content (eg, virtual objects) in the rendering space. A rendering camera may render a virtual image based on a database of virtual objects managed by a rendering engine and to be presented to the eye.

仮想画像は、ユーザまたは装着者の目線から得られたかのようにレンダリングされてもよい。例えば、仮想画像は、固有のパラメータの具体的セット(例えば、焦点距離、カメラピクセルサイズ、主点座標、歪み/歪曲パラメータ等)と、付帯パラメータの具体的セット(例えば、仮想世界に対する平行移動成分および回転成分)とを有する、ピンホールカメラ(「レンダリングカメラ」に対応する)によって捕捉されたかのようにレンダリングされてもよい。 The virtual image may be rendered as if it were obtained from the user's or wearer's eye level. For example, a virtual image may have a specific set of intrinsic parameters (e.g. focal length, camera pixel size, principal point coordinates, distortion/distortion parameters, etc.) and a specific set of extrinsic parameters (e.g. translation components relative to the virtual world). and rotation components) as if captured by a pinhole camera (corresponding to a “rendering camera”).

仮想画像は、レンダリングカメラの位置および配向(例えば、レンダリングカメラの付帯パラメータ)を有する、そのようなカメラの目線から得られてもよい。本システムは、固有および付帯レンダリングカメラパラメータを定義および/または調節し得るということになる。例えば、本システムは、ユーザまたは装着者の目線からであるように現れる画像を提供するように、ユーザまたは装着者の眼に対する具体的場所を有するカメラの目線から捕捉されたかのように、仮想画像がレンダリングされ得るように、付帯レンダリングカメラパラメータの特定のセットを定義してもよい。 A virtual image may be obtained from the line of sight of such a camera with the position and orientation of the rendering camera (eg, parametric parameters of the rendering camera). It follows that the system can define and/or adjust intrinsic and extrinsic rendering camera parameters. For example, the system can provide an image that appears to be from the user's or wearer's eye level, such that the virtual image appears as if captured from the eye level of a camera that has a specific location relative to the user's or wearer's eye level. A particular set of collateral rendering camera parameters may be defined so that it can be rendered.

本システムは、後に、該具体的場所との位置合わせを維持するように、付帯レンダリングカメラパラメータをオンザフライで動的に調節してもよい。同様に、固有のレンダリングカメラパラメータも、経時的に定義および動的に調節されてもよい。いくつかの実装では、画像は、ユーザまたは装着者の眼に対する具体的場所(目線中心または回転中心またはいずれかの場所等)における開口(例えば、ピンホール)を有するカメラの目線から捕捉されたかのようにレンダリングされる。 The system may later dynamically adjust the collateral rendering camera parameters on-the-fly to maintain alignment with the specific location. Similarly, intrinsic rendering camera parameters may also be defined and dynamically adjusted over time. In some implementations, the image appears as if captured from the eye of a camera with an aperture (e.g., pinhole) at a specific location relative to the user's or wearer's eye (such as eye center or center of rotation or either location). rendered to.

いくつかの実施形態では、本システムは、ユーザの眼が、相互から物理的に分離され、したがって、異なる場所に一貫して位置付けられるにつれて、ユーザの左眼のために、1つのレンダリングカメラを、ユーザの右眼のために、別のレンダリングカメラを作成する、または動的に再位置付けおよび/または再配向してもよい。少なくともいくつかの実装では、視認者の左眼と関連付けられるレンダリングカメラの目線からレンダリングされた仮想コンテンツは、頭部搭載型ディスプレイ(例えば、頭部搭載型ユニット802)の左側の接眼レンズを通して、ユーザに提示されてもよいことになる。ユーザの右眼と関連付けられるレンダリングカメラの目線からレンダリングされた仮想コンテンツは、そのような頭部搭載型ディスプレイの右側の接眼レンズを通して、ユーザに提示されてもよい。 In some embodiments, the system uses one rendering camera for the user's left eye as the user's eyes are physically separated from each other and thus consistently positioned at different locations. A separate rendering camera may be created or dynamically repositioned and/or reoriented for the user's right eye. In at least some implementations, virtual content rendered from the perspective of the rendering camera associated with the viewer's left eye is viewed by the user through the left eyepiece of a head-mounted display (e.g., head-mounted unit 802). may be presented to Virtual content rendered from the perspective of a rendering camera associated with the user's right eye may be presented to the user through the right eyepiece of such a head-mounted display.

レンダリングプロセスにおけるレンダリングカメラの作成、調節、および使用について議論するさらなる詳細は、「METHODS AND SYSTEMS FOR DETECTING AND COMBINING STRUCTURAL FEATURES IN 3D RECONSTRUCTION」と題された米国特許出願第15/274,823号(あらゆる目的のために、参照することによってその全体として本明細書に明示的に組み込まれる)に提供される。 Further details discussing the creation, adjustment, and use of rendering cameras in the rendering process are found in U.S. patent application Ser. , which is expressly incorporated herein by reference in its entirety).

いくつかの実施例では、システム800の1つ以上のモジュール(またはコンポーネント)(例えば、ライトフィールドレンダリングコントローラ818、レンダリングエンジン822等)は、ユーザの頭部および眼の位置および配向(例えば、それぞれ、頭部姿勢および眼追跡データに基づいて決定される)に基づいて、レンダリング空間内のレンダリングカメラの位置および配向を決定してもよい。すなわち、システム800は、事実上、ユーザの頭部および眼の位置および配向を3D仮想環境内の特定の場所および角位置にマッピングし、レンダリングカメラを3D仮想環境内の特定の場所および角位置に設置および配向し、レンダリングカメラによって捕捉されるであろうような仮想コンテンツをユーザのためにレンダリングし得る。実世界と仮想世界のマッピングプロセスについて議論するさらなる詳細は、「SELECTING VIRTUAL OBJECTS IN A THREE-DIMENSIONAL SPACE」と題された、米国特許出願第15/296,869号、(あらゆる目的のために、参照することによってその全体として本明細書に明示的に組み込まれる)に提供される。 In some examples, one or more modules (or components) of the system 800 (eg, light field rendering controller 818, rendering engine 822, etc.) can determine the position and orientation of the user's head and eyes (eg, (determined based on head pose and eye tracking data) may be used to determine the position and orientation of the rendering camera within the rendering space. That is, the system 800 effectively maps the position and orientation of the user's head and eyes to specific locations and angular positions within the 3D virtual environment, and directs the rendering camera to specific locations and angular positions within the 3D virtual environment. It can be placed and oriented to render virtual content for the user as would be captured by the rendering camera. Further details discussing the real-to-virtual world mapping process can be found in US patent application Ser. is expressly incorporated herein in its entirety by ).

実施例として、レンダリングコントローラ818は、画像を表示するために任意の所与の時間に利用される、深度面または複数の深度面を選択することによって、画像が表示される深度を調節してもよい。いくつかの実装では、そのような深度面切替は、1つ以上の固有のレンダリングカメラパラメータの調節を通して行われてもよい。例えば、ライトフィールドレンダリングコントローラ818は、深度面切替または調節を実行するとき、レンダリングカメラの焦点距離を調節してもよい。下記にさらに詳細に説明されるように、深度面は、ユーザの決定された輻輳・開散運動または固視深度に基づいて、切り替えられてもよい。 As an example, rendering controller 818 may adjust the depth at which an image is displayed by selecting the depth plane or depth planes that are utilized at any given time to display the image. good. In some implementations, such depth plane switching may occur through adjustment of one or more intrinsic rendering camera parameters. For example, the light field rendering controller 818 may adjust the focal length of the rendering camera when performing depth plane switching or adjustment. As described in more detail below, depth planes may be switched based on the user's determined convergence-divergence movement or fixation depth.

位置合わせオブザーバ820は、眼追跡モジュール814からの情報を使用して、頭部搭載型ユニット802がユーザの頭部上に適切に位置付けられているかどうかを識別してもよい。実施例として、眼追跡モジュール814は、カメラ252および頭部搭載型ユニット802に対するユーザの眼の3次元位置を示す、ユーザの眼の回転中心の位置等の眼場所情報を提供してもよい。眼追跡モジュール814は、場所情報を使用して、ディスプレイ208がユーザの視野内に適切に整合されているかどうか、または頭部搭載型ユニット802(またはヘッドセット)が、滑脱している、または別様にユーザの眼と整合されていないかどうかを決定してもよい。 Alignment observer 820 may use information from eye tracking module 814 to identify whether head-mounted unit 802 is properly positioned on the user's head. As an example, eye tracking module 814 may provide eye location information, such as the location of the center of rotation of the user's eyes, which indicates the three-dimensional position of the user's eyes relative to camera 252 and head-mounted unit 802 . The eye tracking module 814 uses the location information to determine whether the display 208 is properly aligned within the user's field of view, or whether the head-mounted unit 802 (or headset) has slipped or is in another position. It may be determined whether the user's eyes are similarly misaligned.

実施例として、位置合わせオブザーバ820は、頭部搭載型ユニット802がユーザの鼻梁から滑脱しているかどうかを決定することが可能であり得る。これは、ユーザの眼から離れた、かつ下方へのディスプレイ208の移動(望ましくない場合がある)を生じさせ得る。別の実施例として、位置合わせオブザーバ820は、頭部搭載型ユニット802が、ユーザの鼻梁の上方に移動されており、したがって、ディスプレイ208がユーザからの眼のより近くに、かつ上方に移動していることを決定し得る。別の実施例として、位置合わせオブザーバ820は、頭部搭載型ユニット802が、ユーザの鼻梁に対して左または右に偏移されていることを決定し得る。別の実施例として、位置合わせオブザーバ820は、頭部搭載型ユニット802が、ユーザの鼻梁の上方に持ち上げられていることを決定し得る。別の実施例として、位置合わせオブザーバ820は、頭部搭載型ユニット802が、所望の位置または位置の範囲から離れるように、これらまたは他の方法において移動されていることを決定し得る。 As an example, alignment observer 820 may be able to determine if head mounted unit 802 is slipping off the bridge of the user's nose. This may cause the display 208 to move away from and down the user's eyes (which may be undesirable). As another example, alignment observer 820 detects that head-mounted unit 802 has been moved above the bridge of the user's nose and thus display 208 has moved closer to and above the eyes from the user. can determine that As another example, alignment observer 820 may determine that head-mounted unit 802 is offset left or right with respect to the bridge of the user's nose. As another example, alignment observer 820 may determine that head mounted unit 802 is elevated above the bridge of the user's nose. As another example, alignment observer 820 may determine that head-mounted unit 802 has been moved in these or other ways away from a desired position or range of positions.

一般に、位置合わせオブザーバ820は、一般に、頭部搭載型ユニット802、特に、ディスプレイ208が、ユーザの眼の正面に適切に位置付けられているかどうかを決定することが可能であり得る。換言すると、位置合わせオブザーバ820は、ディスプレイシステム208内の左ディスプレイが、ユーザの左眼と適切に整合されるか、ディスプレイシステム208内の右ディスプレイが、ユーザの右眼と適切に整合されているかどうかを決定してもよい。位置合わせオブザーバ820は、頭部搭載型ユニット802が、頭部搭載型ユニット802が、ユーザの眼に対して所望の位置および/または配向の範囲内に位置付けられ、配向されているかどうかを決定することによって、適切に位置付けられているかどうかを決定してもよい。 In general, alignment observer 820 may be able to determine whether head-mounted unit 802 in general, and display 208 in particular, are properly positioned in front of the user's eyes. In other words, alignment observer 820 determines whether the left display within display system 208 is properly aligned with the user's left eye, or whether the right display within display system 208 is properly aligned with the user's right eye. You can decide whether Alignment observer 820 determines whether head-mounted unit 802 is positioned and oriented within a desired range of positions and/or orientations relative to the user's eyes. may determine whether it is properly positioned.

少なくともいくつかの実施形態では、位置合わせオブザーバ820は、アラート、メッセージ、または他のコンテンツの形態におけるユーザフィードバックを生成してもよい。そのようなフィードバックは、ユーザに提供され、不整合を補正する方法(特定の様式において頭部搭載型ユニット802を調節するための提案等)に関する随意のフィードバックとともに、ユーザに頭部搭載型ユニット802の任意の不整合を知らせてもよい。 In at least some embodiments, alignment observer 820 may generate user feedback in the form of alerts, messages, or other content. Such feedback is provided to the user, along with optional feedback on how to correct the misalignment (such as suggestions for adjusting the head-mounted unit 802 in a particular fashion), as well as the user's ability to adjust the head-mounted unit 802 . may signal any inconsistency in

位置合わせオブザーバ820によって利用され得る、例示的位置合わせ観察およびフィードバック技法は、2019年1月17日に出願された、米国特許出願第16/251,017号(参照することによってその全体として本明細書に組み込まれる)に説明される。 Exemplary alignment observation and feedback techniques that may be utilized by alignment observer 820 are described in U.S. patent application Ser. document).

眼追跡モジュールの実施例
例示的眼追跡モジュール814aの詳細なブロック図が、図9に示される。いくつかの実装では、眼追跡モジュール814aは、図8を参照して上記に説明されるようなシステム800の眼追跡モジュール814に対応し得る。
Example Eye Tracking Module A detailed block diagram of an exemplary eye tracking module 814a is shown in FIG. In some implementations, eye tracking module 814a may correspond to eye tracking module 814 of system 800 as described above with reference to FIG.

図9に示されるように、眼追跡モジュール814aは、種々の異なるサブモジュールを含んでもよい、種々の異なる出力を提供してもよい、そしてユーザの眼を追跡する際、種々の利用可能なデータを利用してもよい。実施例として、眼追跡モジュール814aは、光源848および頭部搭載型ユニット802に対する眼追跡カメラ252の幾何学的配列、ユーザの角膜曲率の中心とユーザの眼の平均回転中心との間の約4.7mmの典型的距離またはユーザの回転中心と目線中心との間の典型的距離等の仮定される眼寸法904、および特定のユーザの瞳孔間距離等のユーザ毎較正データ906等の眼追跡付帯性質および固有性質を含む、利用可能なデータを利用してもよい。 As shown in FIG. 9, eye tracking module 814a may include a variety of different sub-modules, may provide a variety of different outputs, and may provide a variety of different data available in tracking the user's eyes. may be used. As an example, the eye tracking module 814a may measure the geometry of the eye tracking camera 252 relative to the light source 848 and head-mounted unit 802, approximately 4 points between the center of the user's corneal curvature and the average center of rotation of the user's eye. Assumed eye dimensions 904, such as a typical distance of 0.7 mm or a typical distance between a user's center of rotation and eye-gaze center, and eye-tracking contingent, such as per-user calibration data 906, such as a particular user's interpupillary distance Available data may be used, including properties and intrinsic properties.

眼追跡モジュール814aによって採用され得る、付帯性質、固有性質、および他の情報の付加的実施例は、2017年4月26日に出願された、米国特許出願第15/497,726号(弁理士整理番号第MLEAP.023A7号)(参照することによってその全体として本明細書に組み込まれる)に説明される。 Additional examples of extrinsic properties, inherent properties, and other information that may be employed by eye tracking module 814a are described in U.S. patent application Ser. Docket No. MLEAP.023A7) (incorporated herein by reference in its entirety).

画像事前処理モジュール910は、画像を眼カメラ252等の眼カメラから受信してもよく、1つ以上の事前処理(例えば、調整)動作を受信された画像上に実施してもよい。実施例として、画像事前処理モジュール910は、ガウスぼけを画像に適用してもよい。別の実施例として、画像事前処理モジュール910は、画像をより低い分解能にダウンサンプリングしてもよい。別の実施例として、画像事前処理モジュール910は、非鋭的マスクを適用してもよい。別の実施例として、画像事前処理モジュール910は、縁鮮明化アルゴリズムを適用してもよい。別の実施例として、画像事前処理モジュール910rは、眼カメラ252からの画像内の閃光、瞳孔、または他の特徴の後の検出、位置特定、および標識化を補助する、他の好適なフィルタを適用してもよい。画像事前処理モジュール910は、開放フィルタ等の低域通過フィルタまたは形態学的フィルタを適用してもよく、これは、高周波数雑音を瞳孔境界516a(図5参照)等から除去し、それによって、瞳孔および閃光決定を妨げ得る、雑音を除去することができる。画像事前処理モジュール910は、事前処理された画像を瞳孔識別モジュール912と、閃光検出および標識化モジュール914とに出力してもよい。 Image pre-processing module 910 may receive images from an eye camera, such as eye camera 252, and may perform one or more pre-processing (eg, adjustment) operations on the received images. As an example, image preprocessing module 910 may apply Gaussian blurring to the image. As another example, image preprocessing module 910 may downsample the image to a lower resolution. As another example, image preprocessing module 910 may apply a non-sharp mask. As another example, image preprocessing module 910 may apply an edge sharpening algorithm. As another example, image preprocessing module 910r may apply other suitable filters to aid in subsequent detection, localization, and labeling of flashes, pupils, or other features in images from eye camera 252. may apply. Image pre-processing module 910 may apply a low-pass filter, such as an open filter, or a morphological filter, which removes high frequency noise from pupillary boundaries 516a (see FIG. 5), etc., thereby Noise that can interfere with pupil and phosphene determination can be removed. Image preprocessing module 910 may output preprocessed images to pupil identification module 912 and flash detection and labeling module 914 .

瞳孔識別モジュール912は、事前処理された画像を画像事前処理モジュール910から受信してもよく、ユーザの瞳孔を含む、それらの画像の領域を識別してもよい。瞳孔識別モジュール912は、いくつかの実施形態では、カメラ252からの眼追跡画像内のユーザの瞳孔の位置の座標またはその中心または重心の座標を決定してもよい。 Pupil identification module 912 may receive preprocessed images from image preprocessing module 910 and may identify regions of those images that contain the user's pupils. Pupil identification module 912 may, in some embodiments, determine the coordinates of the location of the user's pupil in the eye-tracking image from camera 252 or the coordinates of its center or centroid.

少なくともいくつかの実施形態では、瞳孔識別モジュール912は、眼追跡画像内の輪郭(例えば、瞳孔虹彩境界の輪郭)を識別し、輪郭モーメント(例えば、質量中心)を識別し、スターバースト瞳孔検出および/またはCanny縁検出アルゴリズムを適用し、強度値に基づいて、誤対応を排除し、サブピクセル境界点を識別し、眼カメラ歪曲(例えば、眼カメラ252によって捕捉された画像内の歪曲)を補正し、ランダムサンプル共有項(RANSAC)反復アルゴリズムを適用し、楕円形を眼追跡画像内の境界に適合させ、追跡フィルタを画像に適用し、ユーザの瞳孔の重心のサブピクセル画像座標を識別してもよい。 In at least some embodiments, the pupil identification module 912 identifies contours (e.g., pupil-iris boundary contours) in the eye-tracking image, identifies contour moments (e.g., center of mass), performs starburst pupil detection and /or apply a Canny edge detection algorithm to eliminate false correspondences, identify sub-pixel boundary points, and correct for eye camera distortion (e.g., distortion in images captured by eye camera 252) based on the intensity values. , applying a random sample shared term (RANSAC) iterative algorithm to fit an ellipse to the boundaries in the eye-tracked image, applying a tracking filter to the image, identifying the sub-pixel image coordinates of the centroid of the user's pupil, and good too.

瞳孔識別モジュール912は、ユーザの瞳孔を示すと識別された事前処理画像モジュール912の領域を示し得る、瞳孔識別データを、閃光検出および標識化モジュール914に出力してもよい。瞳孔識別モジュール912は、各眼追跡画像内のユーザの瞳孔の2D座標(例えば、ユーザの瞳孔の重心の2D座標)を閃光検出モジュール914に提供してもよい。少なくともいくつかの実施形態では、瞳孔識別モジュール912はまた、同一種類の瞳孔識別データを座標系正規化モジュール918に提供してもよい。 Pupil identification module 912 may output pupil identification data to flash detection and labeling module 914, which may indicate areas of pre-processed image module 912 that have been identified as indicating the user's pupil. Pupil identification module 912 may provide the 2D coordinates of the user's pupil (eg, the 2D coordinates of the centroid of the user's pupil) in each eye-tracking image to flash detection module 914 . In at least some embodiments, pupil identification module 912 may also provide the same type of pupil identification data to coordinate system normalization module 918 .

瞳孔識別モジュール912によって利用され得る、瞳孔検出技法は、2017年2月23日に公開された、米国特許公開第2017/0053165号、2017年2月23日に公開された、米国特許公開第2017/0053166号、および2019年3月7日に公開された、米国特許出願第15/693,975号(それぞれ、参照することによってその全体として本明細書に組み込まれる)に説明される。 Pupil detection techniques that may be utilized by the pupil identification module 912 are described in U.S. Patent Publication No. 2017/0053165, published February 23, 2017, U.S. Patent Publication No. 2017, published February 23, 2017. /0053166, and US Patent Application No. 15/693,975, published Mar. 7, 2019, each of which is hereby incorporated by reference in its entirety.

閃光検出および標識化モジュール914は、事前処理された画像をモジュール910から、瞳孔識別データをモジュール912から受信してもよい。閃光検出モジュール914は、本データを使用して、ユーザの瞳孔を示す、事前処理された画像の領域内の閃光(例えば、光源848からの光のユーザの眼からの反射)を検出および/または識別してもよい。実施例として、閃光検出モジュール914は、ユーザの瞳孔の近傍内にある、時として、本明細書では、「ブロブ」または局所的強度最大値とも称される、眼追跡画像内の明るい領域を検索してもよい。 A flash detection and labeling module 914 may receive preprocessed images from module 910 and pupil identification data from module 912 . The flash detection module 914 uses this data to detect and/or detect flashes of light (eg, light from the light source 848 reflected from the user's eye) in regions of the pre-processed image that indicate the user's pupil. may be identified. As an example, the flash detection module 914 searches for bright regions in the eye-tracking image, sometimes referred to herein as "blobs" or local intensity maxima, within the vicinity of the user's pupil. You may

少なくともいくつかの実施形態では、閃光検出モジュール914は、瞳孔楕円形を再スケーリング(例えば、拡大)し、付加的閃光を包含してもよい。閃光検出モジュール914は、サイズおよび/または強度によって、閃光をフィルタリングしてもよい。閃光検出モジュール914はまた、眼追跡画像内の閃光のそれぞれの2D位置を決定してもよい。少なくともいくつかの実施例では、閃光検出モジュール914は、ユーザの瞳孔に対する閃光の2D位置を決定してもよく、これは、瞳孔-閃光ベクトルとも称され得る。閃光検出および標識化モジュール914は、閃光を標識し、標識された閃光を伴う事前処理画像を3D角膜中心推定モジュール916に出力してもよい。閃光検出および標識化モジュール914はまた、モジュール910からの事前処理された画像およびモジュール912からの瞳孔識別データ等のデータを伝達してもよい。 In at least some embodiments, flash detection module 914 may rescale (eg, enlarge) the pupil ellipse to include additional flashes. The flash detection module 914 may filter flashes by size and/or intensity. The flash detection module 914 may also determine the 2D location of each of the flashes within the eye-tracking image. In at least some embodiments, the flash detection module 914 may determine the 2D location of the flash relative to the user's pupil, which may also be referred to as the pupil-to-flash vector. Flash detection and labeling module 914 may label flashes and output pre-processed images with labeled flashes to 3D corneal center estimation module 916 . Flash detection and labeling module 914 may also communicate data such as pre-processed images from module 910 and pupil identification data from module 912 .

いくつかの実装では、閃光検出および標識化モジュール914は、各識別された閃光を生産した(例えば、赤外線光源848aおよび848bを含む、システムの複数の光源の中からの)光源を決定してもよい。これらの実施例では、閃光検出および標識化モジュール914は、閃光を関連付けられる光源を識別する情報で標識し、標識された閃光を伴う事前処理画像を3D角膜中心推定モジュール916に出力してもよい。いくつかの実装では、閃光検出および標識化モジュール914は、図7Bを参照して上記に説明される閃光検出技法のうちの1つ以上のものを利用するように構成されてもよい。 In some implementations, flash detection and labeling module 914 may also determine the light source (e.g., from among multiple light sources of the system, including infrared light sources 848a and 848b) that produced each identified flash of light. good. In these examples, flash detection and labeling module 914 may label the flash with information identifying the light source with which it is associated, and output a pre-processed image with the labeled flash to 3D corneal center estimation module 916. . In some implementations, the flash detection and labeling module 914 may be configured to utilize one or more of the flash detection techniques described above with reference to FIG. 7B.

モジュール912および914等のモジュールによって実施されるような瞳孔および閃光検出は、任意の好適な技法を使用することができる。実施例として、縁検出が、眼画像に適用され、閃光および瞳孔を識別することができる。縁検出は、種々の縁検出器、縁検出アルゴリズム、またはフィルタによって適用されることができる。例えば、Canny縁検出器が、画像に適用され、画像の線内等の縁を検出することができる。縁は、極大値導関数に対応する、線に沿って位置する点を含んでもよい。例えば、瞳孔境界516a(図5参照)は、Canny縁検出器を使用して、位置特定されることができる。 Pupil and flash detection as performed by modules such as modules 912 and 914 may use any suitable technique. As an example, edge detection can be applied to eye images to identify glints and pupils. Edge detection can be applied by various edge detectors, edge detection algorithms, or filters. For example, a Canny edge detector can be applied to the image to detect edges such as lines in the image. The edge may include points located along the line corresponding to the maximum derivative. For example, pupil boundary 516a (see FIG. 5) can be located using a Canny edge detector.

瞳孔の場所が決定されると、種々の画像処理技法が、瞳孔116の「姿勢」を検出するために使用されることができる。眼画像の眼姿勢を決定するステップは、眼画像の眼姿勢を検出するステップとも称され得る。姿勢は、眼の視線、向いている方向、または配向とも称され得る。例えば、瞳孔は、オブジェクトに向かって左を見ている場合があり、瞳孔の姿勢は、左向き姿勢として分類され得る。他の方法も、瞳孔または閃光の場所を検出するために使用されることができる。例えば、同心リングが、Canny縁検出器を使用して、眼画像内で位置特定されることができる。別の実施例として、積分微分演算子が、瞳孔または虹彩の角膜輪部境界を見出すために使用されることができる。例えば、Daugman積分微分演算子、Hough変換、または他の虹彩セグメント化技法が、瞳孔または虹彩の境界を推定する、曲線を返すために使用されることができる。 Once the location of the pupil is determined, various image processing techniques can be used to detect the “pose” of the pupil 116 . The step of determining the eye pose of the eye image may also be referred to as the step of detecting the eye pose of the eye image. Posture may also be referred to as eye line-of-sight, facing direction, or orientation. For example, the pupil may be looking left toward the object, and the pupil pose may be classified as a left facing pose. Other methods can also be used to detect the location of the pupil or flash. For example, concentric rings can be located in the eye image using a Canny edge detector. As another example, an integral-differential operator can be used to find the limbal boundary of the pupil or iris. For example, the Daugman integral-differential operator, the Hough transform, or other iris segmentation techniques can be used to return a curve that estimates the boundaries of the pupil or iris.

3D角膜中心推定モジュール916は、検出された閃光データおよび瞳孔識別データを含む、事前処理された画像を、モジュール910、912、914から受信してもよい。3D角膜中心推定モジュール916は、これらのデータを使用して、ユーザの角膜の3D位置を推定してもよい。いくつかの実施形態では、3D角膜中心推定モジュール916は、角膜曲率またはユーザの角膜球面の眼の中心、例えば、概して、ユーザの角膜と同延の表面部分を有する、想像上の球体の中心の3D位置を推定し得る。3D角膜中心推定モジュール916は、角膜球面および/またはユーザの角膜の推定される3D座標を示す、データを座標系正規化モジュール918、光学軸決定モジュール922、および/またはライトフィールドレンダリングコントローラ818に提供してもよい。 A 3D corneal center estimation module 916 may receive pre-processed images from modules 910, 912, 914, including detected flash data and pupil identification data. A 3D corneal center estimation module 916 may use these data to estimate the 3D position of the user's cornea. In some embodiments, the 3D corneal center estimation module 916 calculates the corneal curvature or eye center of the user's corneal sphere, e.g., the center of an imaginary sphere that generally has a surface portion coextensive with the user's cornea. 3D positions can be estimated. 3D corneal center estimation module 916 provides data to coordinate system normalization module 918, optical axis determination module 922, and/or light field rendering controller 818 indicating the corneal sphere and/or estimated 3D coordinates of the user's cornea. You may

3D角膜中心推定モジュール916および本開示のウェアラブルシステム内の他のモジュールによって利用され得る、角膜または角膜球面等の眼特徴の位置を推定するための技法は、2019年1月17日に出願された、米国特許出願第16/250,931号(参照することによってその全体として本明細書に組み込まれる)に議論される。 Techniques for estimating the location of ocular features such as the cornea or corneal sphere, which may be utilized by the 3D corneal center estimation module 916 and other modules within the wearable system of the present disclosure, filed Jan. 17, 2019 , US patent application Ser. No. 16/250,931, which is incorporated herein by reference in its entirety.

座標系正規化モジュール918は、随意に、眼追跡モジュール814a内に含まれてもよい。座標系正規化モジュール918は、ユーザの角膜の中心および/またはユーザの角膜球面の中心の推定される3D座標を示す、データを、3D角膜中心推定モジュール916から受信してもよく、また、データを他のモジュールから受信してもよい。座標系正規化モジュール918は、眼カメラ座標系を正規化してもよく、これは、ウェアラブルデバイスの滑脱を補償することに役立ち得る。例えば、滑脱は、頭部搭載型コンポーネントのユーザの頭部上のその正常静置位置からの滑脱を含み得、これは、位置合わせオブザーバ820によって識別されてもよい。 A coordinate system normalization module 918 may optionally be included within the eye tracking module 814a. Coordinate system normalization module 918 may receive data from 3D corneal center estimation module 916 indicating estimated 3D coordinates of the center of the user's cornea and/or the center of the user's corneal sphere, and may also receive data may be received from other modules. A coordinate system normalization module 918 may normalize the eye camera coordinate system, which can help compensate for slippage of the wearable device. For example, slippage may include slippage of the head-mounted component from its normal resting position on the user's head, which may be identified by alignment observer 820 .

座標系正規化モジュール918は、座標系を回転させ、座標系のz-軸(例えば、輻輳・開散運動深度軸)と(例えば、3D角膜中心推定モジュール916によって示されるような)角膜中心を整合させてもよい。モジュール918はまた、カメラ中心(例えば、座標系の原点)を角膜中心から離れるように所定の距離だけ平行移動させてもよい。例示的距離は、25mm、30mm、35mm等を含んでもよい。例えば、モジュール918は、眼カメラ252が所定の距離より近くにあるかまたはより遠くにあるかが決定されたことに応じて、眼追跡画像を拡大または収縮してもよい。本正規化プロセスを用いることで、眼追跡モジュール814aは、比較的に、ユーザの頭部上のヘッドセットの位置付けの変動から独立して、眼追跡データ内で一貫した配向および距離を確立することが可能であり得る。 A coordinate system normalization module 918 rotates the coordinate system so that the z-axis of the coordinate system (eg, the convergence-divergence motion depth axis) and the corneal center (eg, as indicated by the 3D corneal center estimation module 916). may be aligned. Module 918 may also translate the camera center (eg, the origin of the coordinate system) away from the corneal center by a predetermined distance. Exemplary distances may include 25mm, 30mm, 35mm, and the like. For example, module 918 may expand or contract the eye tracking image in response to determining whether eye camera 252 is closer or further than a predetermined distance. Using this normalization process, eye tracking module 814a is relatively independent of variations in the positioning of the headset on the user's head to establish consistent orientations and distances within the eye tracking data. may be possible.

座標系正規化モジュール918はまた、角膜(および/または角膜球面)の中心の3D座標、瞳孔識別データ、および事前処理された眼追跡画像を3D瞳孔中心ロケータモジュール920に提供してもよい。座標系正規化モジュール918によって実施され得る、動作のさらなる詳細は、米国特許出願第16/250,931号(参照することによってその全体として本明細書に組み込まれる)に提供される。 Coordinate system normalization module 918 may also provide 3D coordinates of the center of the cornea (and/or corneal sphere), pupil identification data, and pre-processed eye tracking images to 3D pupil center locator module 920 . Further details of the operations that may be performed by the coordinate system normalization module 918 are provided in US patent application Ser. No. 16/250,931, which is incorporated herein by reference in its entirety.

3D瞳孔中心ロケータモジュール920は、ユーザの角膜(および/または角膜球面)の中心の3D座標、瞳孔場所データ、および事前処理された眼追跡画像を含む、正規化または非正規化座標系における、データを受信してもよい。3D瞳孔中心ロケータモジュール920は、そのようなデータを分析し、正規化または非正規化眼カメラ座標系において、ユーザの瞳孔中心の3D座標を決定してもよい。3D瞳孔中心ロケータモジュール920は、(例えば、モジュール912によって決定された)瞳孔重心の2D位置、(例えば、モジュール916によって決定された)角膜中心の3D位置、典型的ユーザの角膜球面のサイズおよび角膜中心から瞳孔中心までの典型的距離等の仮定される眼寸法904、および/または(空気の屈折率に対する)角膜の屈折率等の眼の光学性質、または任意のこれらの組み合わせに基づいて、ユーザの瞳孔の場所を3次元において決定してもよい。3D瞳孔中心ロケータモジュール920によって実施され得る、動作のさらなる詳細は、米国特許出願第16/250,931号(参照することによってその全体として本明細書に組み込まれる)に提供される。 The 3D pupil center locator module 920 stores data in a normalized or non-normalized coordinate system, including 3D coordinates of the center of the user's cornea (and/or corneal sphere), pupil location data, and pre-processed eye tracking images. may be received. A 3D pupil center locator module 920 may analyze such data to determine the 3D coordinates of the user's pupil center in a normalized or non-normalized eye camera coordinate system. The 3D pupil center locator module 920 stores the 2D location of the pupil centroid (eg, determined by module 912), the 3D location of the corneal center (eg, determined by module 916), the size of the corneal sphere of a typical user, and the corneal Based on assumed eye dimensions 904, such as the typical center-to-pupil center distance, and/or optical properties of the eye, such as the refractive index of the cornea (relative to the refractive index of air), or any combination thereof, the user may be determined in three dimensions. Further details of the operations that may be performed by the 3D pupil center locator module 920 are provided in US patent application Ser. No. 16/250,931, which is incorporated herein by reference in its entirety.

光学軸決定モジュール922は、ユーザの角膜およびユーザの瞳孔中心の3D座標を示す、データを、モジュール916および920から受信してもよい。そのようなデータに基づいて、光学軸決定モジュール922は、角膜中心の位置(例えば、角膜球面の中心から)からユーザの瞳孔中心までのベクトルを識別してもよく、これは、ユーザの眼の光学軸を定義し得る。光学軸決定モジュール922は、実施例として、ユーザの光学軸を規定する出力をモジュール924、928、930、および932に提供してもよい。 Optical axis determination module 922 may receive data from modules 916 and 920 indicating the 3D coordinates of the user's cornea and the user's pupil center. Based on such data, the optical axis determination module 922 may identify a vector from the location of the corneal center (e.g., from the center of the corneal sphere) to the user's pupil center, which is the distance of the user's eye. An optical axis can be defined. Optical axis determination module 922 may illustratively provide an output to modules 924, 928, 930, and 932 defining the user's optical axis.

回転中心(CoR)推定モジュール924は、ユーザの眼の光学軸のパラメータ(例えば、頭部搭載型ユニット802との既知の関係を伴う座標系内の光学軸の方向を示す、データ)を含むデータを、モジュール922から受信してもよい。例えば、CoR推定モジュール924は、ユーザの眼の回転中心を推定し得る。回転中心は、その周囲でユーザの眼が回転する、点を示してもよい(例えば、ユーザの眼が、左、右、上、および/または下に回転するとき)。眼は、単点の周囲で完璧に回転し得ないが、単点を仮定することは、いくつかの実施形態では、十分であり得る。いくつかの実施形態では、付加的点が、検討されてもよい。 A center of rotation (CoR) estimation module 924 stores data containing parameters of the optical axis of the user's eye (eg, data indicating the direction of the optical axis in a coordinate system with a known relationship to the head-mounted unit 802). may be received from module 922 . For example, CoR estimation module 924 may estimate the center of rotation of the user's eye. The center of rotation may indicate a point about which the user's eye rotates (eg, when the user's eye rotates left, right, up, and/or down). Although the eye may not rotate perfectly around a single point, assuming a single point may be sufficient in some embodiments. Additional points may be considered in some embodiments.

少なくともいくつかの実施形態では、CoR推定モジュール924は、(例えば、モジュール920によって識別される)瞳孔中心または(例えば、モジュール916によって識別される)角膜の曲率の中心から(例えば、モジュール922によって識別される)光学軸に沿って網膜に向かって特定の距離だけ移動させることによって、眼の回転中心を推定し得る。本特定の距離は、仮定される眼寸法904であり得る。一実施例として、角膜の曲率の中心とCoRとの間の特定の距離は、約4.7mmであってもよい。本距離は、ユーザの年齢、性別、視覚処方箋、他の関連特性等を含む、任意の関連データに基づいて、特定のユーザに関して変動され得る。角膜の曲率の中心とCoRとの間の距離に関する推定値としての4.7mmの値の付加的議論は、米国特許出願第16/250,931号(参照することによってその全体として本明細書に組み込まれる)に提供される。 In at least some embodiments, the CoR estimation module 924 determines the distance between the center of the pupil (eg, identified by module 920) or the center of curvature of the cornea (eg, identified by module 916) (eg, identified by module 922). The center of rotation of the eye can be estimated by moving a certain distance along the optical axis towards the retina. This particular distance may be the assumed eye size 904 . As an example, the specified distance between the center of curvature of the cornea and the CoR may be approximately 4.7 mm. This distance may be varied for a particular user based on any relevant data, including the user's age, gender, visual prescription, other relevant characteristics, and the like. Additional discussion of the 4.7 mm value as an estimate for the distance between the center of curvature of the cornea and the CoR can be found in U.S. patent application Ser. incorporated).

少なくともいくつかの実施形態では、CoR推定モジュール924は、ユーザの眼のそれぞれの回転中心のその推定値を経時的に精緻化してもよい。実施例として、時間が経過するにつれて、ユーザは、最終的に、その眼を回転させ(例えば、他の場所、より近い、より遠い何らかのもの、または時として、左、右、上、または下を見るために)、その眼のそれぞれの光学軸における偏移を引き起こすであろう。CoR推定モジュール924は、次いで、モジュール922によって識別される2つ(以上の)光学軸を分析し、それらの光学軸の交点の3D点を位置特定してもよい。CoR推定モジュール924は、次いで、その交点の3D点にある、回転中心を決定してもよい。そのような技法は、経時的に改良する正確度を伴って、回転中心の推定値を提供し得る。 In at least some embodiments, the CoR estimation module 924 may refine its estimate of the center of rotation of each of the user's eyes over time. As an example, as time progresses, the user may eventually rotate their eyes (e.g., to something else, closer, farther, or sometimes left, right, up, or down). viewing) will cause a shift in the respective optical axis of the eye. CoR estimation module 924 may then analyze the two (or more) optical axes identified by module 922 and locate the 3D point of intersection of those optical axes. The CoR estimation module 924 may then determine the center of rotation at the 3D point of that intersection. Such techniques may provide an estimate of the center of rotation with an accuracy that improves over time.

種々の技法が、CoR推定モジュール924および左および右眼の決定されたCoR位置の正確度を増加させるために採用されてもよい。実施例として、CoR推定モジュール924は、種々の異なる眼姿勢に関して経時的に決定された光学軸の交点の平均点を見出すことによって、CoRを推定し得る。別の実施例として、モジュール924は、推定されるCoR位置を経時的にフィルタリングまたは平均してもよい。別の実施例として、モジュール924は、推定されるCoR位置の移動平均を経時的に計算してもよい。別の実施例として、モジュール924は、カルマンフィルタを眼および眼追跡システムの既知の動態に適用し、CoR位置を経時的に推定してもよい。 Various techniques may be employed to increase the accuracy of the CoR estimation module 924 and the determined CoR locations of the left and right eyes. As an example, the CoR estimation module 924 may estimate the CoR by finding the average point of the intersection of the optical axes determined over time for different eye poses. As another example, module 924 may filter or average the estimated CoR positions over time. As another example, module 924 may compute a moving average of estimated CoR positions over time. As another example, module 924 may apply a Kalman filter to the known dynamics of the eye and eye tracking system to estimate CoR position over time.

いくつかの実装では、最小二乗アプローチが、光学軸の交点の1つ以上の点を決定するためにとられてもよい。そのような実装では、本システムは、所与の時点において、光学軸交点の点として、光学軸の所与のセットに対する二乗距離の和が、最小限にされる、場所を識別してもよい。具体的実施例として、モジュール924は、決定されたCoRが、ユーザに関する眼追跡データが取得されるにつれて、仮定されるCoR位置(例えば、眼の角膜曲率の中心から4.7mm背後)からユーザの眼内の若干異なる場所に経時的にゆっくりとドリフトし、それによって、CoR位置のユーザ毎精緻化を有効にし得るように、光学軸交点の決定された点および仮定されるCoR位置(眼の角膜曲率の中心から4.7mm等)の加重平均を計算してもよい。 In some implementations, a least squares approach may be taken to determine one or more points of intersection of the optical axes. In such an implementation, the system may identify, at a given time, as the point of optical axis intersection, the location where the sum of the squared distances for a given set of optical axes is minimized. . As a specific example, module 924 calculates the determined CoR from an assumed CoR position (eg, 4.7 mm behind the center of the corneal curvature of the eye) of the user as eye tracking data is acquired for the user. The determined point of optical axis intersection and the hypothesized CoR position (corneal 4.7 mm from the center of curvature) may be calculated.

(例えば、実質的に理想的)ある条件下では、HMDに対するユーザの眼の真のCoRの3D位置は、ユーザがその眼を移動させるにつれて(例えば、ユーザの眼が、その回転中心の周囲で回転するにつれて)、無視可能または最小限の量だけ経時的に変化するはずである。例えば、眼移動の所与のセットに関して、(例えば、HMDに対する)ユーザの眼の真のCoRの3D位置は、仮説上、ユーザの眼の光学軸に沿った任意の他の点ほど経時的に変動しないはずである。したがって、点光学軸に沿った点がユーザの眼の真のCoRから遠くなるほど、ユーザがその眼を移動させるにつれて、より多くの変動または分散をその3D位置が経時的に呈するであろうということになる。いくつかの実施形態では、CoR推定モジュール924および/または眼追跡モジュール814aの他のサブモジュールは、CoR推定正確度を改良するために、本統計的関係を利用してもよい。そのような実施形態では、CoR推定モジュール924および/または眼追跡モジュール814aの他のサブモジュールは、低変動(例えば、低分散または標準偏差)を有するそのCoR推定値の変動を識別することによって、CoR3D位置のその推定値を経時的に精緻化してもよい。 Under certain (e.g., substantially ideal) conditions, the 3D position of the true CoR of the user's eye with respect to the HMD will vary as the user moves the eye (e.g., the user's eye moves around its center of rotation rotation) should change over time by a negligible or minimal amount. For example, for a given set of eye movements, the 3D position of the true CoR of the user's eye (eg, relative to the HMD) is hypothetically as much as any other point along the optical axis of the user's eye over time. should not change. Thus, the farther a point along the point optical axis is from the true CoR of the user's eye, the more variation or variance its 3D position will exhibit over time as the user moves the eye. become. In some embodiments, the CoR estimation module 924 and/or other sub-modules of the eye tracking module 814a may utilize this statistical relationship to improve CoR estimation accuracy. In such embodiments, CoR estimation module 924 and/or other sub-modules of eye tracking module 814a identify variations in its CoR estimates that have low variability (e.g., low variance or standard deviation), That estimate of CoR3D position may be refined over time.

第1の実施例として、CoR推定モジュール924(例えば、それぞれ、異なる方向に見ているユーザと関連付けられる)が、複数の異なる光学軸の交点に基づいて、CoRを推定する、実施形態では、CoR推定モジュール924は、共通オフセットを光学軸のそれぞれの方向に導入し(例えば、各軸をある均一量だけ偏移させ)、オフセット光学軸が低変動(例えば、低分散または標準偏差)を有する交点において相互に交差するかどうかを決定することによって、本統計的関係(例えば、真のCoRは、低分散を有するはずである)を利用してもよい。これは、光学軸の方向を計算する際のわずかな系統的誤差を補正し、CoRの推定される位置が真のCoRにより近づくように精緻化することに役立ち得る。 As a first example, a CoR estimation module 924 (eg, each associated with a user looking in a different direction) estimates the CoR based on the intersection of multiple different optical axes. The estimation module 924 introduces a common offset in each direction of the optical axis (e.g., displaces each axis by some uniform amount), and the intersection point where the offset optical axis has low variation (e.g., low dispersion or standard deviation). This statistical relationship (eg, the true CoR should have low variance) may be exploited by determining whether they intersect each other at . This can help correct for small systematic errors in calculating the orientation of the optical axis and refine the estimated position of the CoR to be closer to the true CoR.

第2の実施例は、CoR推定モジュール924が、光学軸または他の軸に沿って特定の距離(例えば、角膜の曲率の中心とCoRとの間の距離等)だけ移動させることによって、CoRを推定する、実施形態に関するものである。本第2の実施例に関して、本システムは、推定されるCoR位置の変動、例えば、分散および/または標準偏差を低減または最小限にするような様式において、(例えば、異なる時間に捕捉された眼の画像の大規模群に関して)角膜の曲率の中心とCoRとの間の特定の距離を経時的に変動させる、最適化する、調整する、または別様に調節してもよい。 A second example is that the CoR estimation module 924 calculates the CoR by moving a specified distance (eg, the distance between the center of curvature of the cornea and the CoR, etc.) along the optical axis or other axis. Presumably, it relates to an embodiment. With respect to this second example, the system is configured to reduce or minimize the variation, e.g., variance and/or standard deviation, of the estimated CoR position (e.g., eyes captured at different times). The specific distance between the center of curvature of the cornea and the CoR may be varied, optimized, adjusted, or otherwise adjusted over time.

例えば、CoR推定モジュール924が、最初に、(例えば、角膜の曲率の中心から、光学軸に沿った)4.7mmの特定の距離値を使用して、CoR位置推定値を取得するが、所与のユーザの眼の真のCoRが、(例えば、光学軸に沿って)眼の角膜曲率の中心の4.9mm背後に位置付けられ得る場合、CoR推定モジュール924によって取得されるCoR位置推定値の初期セットは、比較的に高変動量、例えば、分散または標準偏差を呈し得る。そのような比較的に高変動量(例えば、分散または標準偏差)の検出に応答して、CoR推定モジュール924は、光学軸に沿って、より低い変動量(例えば、分散または標準偏差)を有する、1つ以上の点を決定してもよい。したがって、モジュール924は、4.9mm距離を最低変動(例えば、分散または標準偏差)を有するものとして識別し得、したがって、利用される特定の距離値を4.9mmに調節してもよい。 For example, the CoR estimation module 924 first obtains a CoR position estimate using a particular distance value of 4.7 mm (eg, along the optical axis, from the center of curvature of the cornea), but If the true CoR of a given user's eye can be located 4.9 mm behind the center of the eye's corneal curvature (e.g., along the optical axis), the CoR position estimate obtained by the CoR estimation module 924 is The initial set may exhibit a relatively high amount of variability, eg variance or standard deviation. In response to detecting such a relatively high amount of variation (e.g., variance or standard deviation), CoR estimation module 924 has a lower amount of variation (e.g., variance or standard deviation) along the optical axis. , may determine one or more points. Accordingly, module 924 may identify the 4.9 mm distance as having the lowest variation (eg, variance or standard deviation) and may adjust the particular distance value utilized to 4.9 mm accordingly.

CoR推定モジュール924は、現在のCoR推定値が比較的に高変動量(例えば、分散または標準偏差)を有することを検出することに応答して、より低い変動(例えば、分散および/または標準偏差)を有する、代替CoR推定値を決定してもよい。モジュール924はまた、当然ながら、初期CoR推定値を取得後、より低い変動(例えば、分散または標準偏差)を有する、代替CoR推定値を決定してもよい。いくつかの実施例では、そのような最適化/調節は、経時的に徐々に起こり得る一方、他の実施例では、そのような最適化/調節は、初期ユーザ較正セッションの間に行われることができる。そのようなプロシージャが較正プロシージャの間に行われる、実施例では、CoR推定モジュール924は、最初に、任意の仮定される特定の距離に準拠/固執し得ず、むしろ、眼追跡データのセットを経時的に収集し、統計的分析を眼追跡データのセット上で実施し、特定の距離値を決定し、統計的分析に基づいて、最小可能変動量(例えば、大域的最小値)(例えば、分散または標準偏差)を伴うCoR位置推定値をもたらし得る。 CoR estimation module 924, in response to detecting that the current CoR estimate has a relatively high amount of variation (eg, variance or standard deviation), calculates a lower variation (eg, variance and/or standard deviation ) may be determined. Module 924 may, of course, also determine alternative CoR estimates that have lower variability (eg, variance or standard deviation) after obtaining the initial CoR estimate. In some embodiments, such optimization/adjustment may occur gradually over time, while in other embodiments such optimization/adjustment may occur during an initial user calibration session. can be done. In embodiments where such a procedure is performed during a calibration procedure, the CoR estimation module 924 may not initially conform/stick to any assumed particular distance, but rather a set of eye-tracking data. Collected over time, statistical analysis is performed on a set of eye-tracking data to determine a particular distance value, and based on the statistical analysis, the smallest possible variability (e.g., global minimum) (e.g., (variance or standard deviation).

上記に説明される統計的関係(例えば、真のCoRは、低分散または標準偏差を有するはずである)および瞳孔位置を決定する際に角膜屈折を考慮することの有意性の付加的議論は、米国特許出願第16/250,931号(参照することによってその全体として本明細書に組み込まれる)に提供される。 Additional discussion of the statistical relationships described above (e.g., true CoR should have low variance or standard deviation) and the significance of considering corneal refraction in determining pupillary position is No. 16/250,931, which is incorporated herein by reference in its entirety.

瞳孔間距離(IPD)推定モジュール926は、ユーザの左および右眼の回転中心の推定される3D位置を示す、データを、CoR推定モジュール924から受信してもよい。IPD推定モジュール926は、次いで、ユーザの左および右眼の回転中心間の3D距離を測定することによって、ユーザのIPDを推定してもよい。一般に、ユーザの左眼の推定されるCoRとユーザの右眼の推定されるCoRとの間の距離は、ユーザが約光学無限遠を見ているときのユーザの瞳孔中心間の距離にほぼ等しくあり得る。例えば、これは、ユーザの眼の光学軸が相互に略平行であることを指し得る。これは、瞳孔間距離(IPD)の典型的定義を指し得る。 An interpupillary distance (IPD) estimation module 926 may receive data from the CoR estimation module 924 indicating the estimated 3D positions of the centers of rotation of the user's left and right eyes. The IPD estimation module 926 may then estimate the user's IPD by measuring the 3D distance between the centers of rotation of the user's left and right eyes. In general, the distance between the estimated CoR of the user's left eye and the estimated CoR of the user's right eye is approximately equal to the distance between the user's pupil centers when the user is looking at about optical infinity. could be. For example, this may refer to the optical axes of the user's eyes being substantially parallel to each other. This may refer to the typical definition of interpupillary distance (IPD).

ユーザのIPDは、ウェアラブルシステム内の種々のコンポーネントおよびモジュールによって使用されてもよい。実施例として、ユーザのIPDは、位置合わせオブザーバ820に提供され、ウェアラブルデバイスがユーザの眼と整合されている程度(例えば、左および右ディスプレイレンズがユーザのIPDに従って適切に離間されているかどうか)を査定する際に使用されてもよい。別の実施例として、ユーザのIPDは、輻輳・開散運動深度推定モジュール928に提供され、ユーザの輻輳・開散運動深度を決定する際に使用されてもよい。モジュール926は、CoR推定モジュール924に関連して議論されるもの等の種々の技法を採用し、推定されるIPDの正確度を増加させてもよい。実施例として、IPD推定モジュール924は、ユーザのIPDを正確な様式において推定するステップの一部として、フィルタリング、経時的平均、仮定されるIPD距離を含む、加重された平均、カルマンフィルタ等を適用してもよい。 A user's IPD may be used by various components and modules within the wearable system. As an example, the user's IPD is provided to alignment observer 820 to determine how well the wearable device is aligned with the user's eye (e.g., whether the left and right display lenses are properly spaced according to the user's IPD). may be used in assessing As another example, the user's IPD may be provided to the convergence-divergence motion depth estimation module 928 and used in determining the user's convergence-divergence motion depth. Module 926 may employ various techniques, such as those discussed in connection with CoR estimation module 924, to increase the accuracy of the estimated IPD. As an example, the IPD estimation module 924 applies filtering, averaging over time, weighted averaging including assumed IPD distance, Kalman filter, etc. as part of estimating the user's IPD in an accurate manner. may

輻輳・開散運動深度推定モジュール928は、データを(図9に関連して示されるような)眼追跡モジュール814a内の種々のモジュールおよびサブモジュールから受信してもよい。特に、輻輳・開散運動深度推定モジュール928は、(例えば、上記に説明されるモジュール920によって提供されるような)瞳孔中心の推定される3D位置、(例えば、上記に説明されるモジュール922によって提供されるような)光学軸の1つ以上の決定されたパラメータ、(例えば、上記に説明されるモジュール924によって提供されるような)回転中心の推定される3D位置、(例えば、上記に説明されるモジュール926によって提供されるような)推定されるIPD(例えば、回転中心の推定される3D位置間のユークリッド距離)、および/または(例えば、下記に説明されるモジュール922および/またはモジュール930によって提供されるような)光学および/または視軸の1つ以上の決定されたパラメータを示す、データを採用してもよい。 Convergence-divergence motion depth estimation module 928 may receive data from various modules and sub-modules within eye tracking module 814a (as shown in connection with FIG. 9). In particular, the convergence-divergence motion depth estimation module 928 generates an estimated 3D position of the pupil center (eg, as provided by module 920 described above), an estimated 3D position (eg, by module 922 described above) One or more determined parameters of the optical axis (as provided by module 924 described above), an estimated 3D position of the center of rotation (eg, as provided by module 924 described above), Estimated IPD (eg, Euclidean distance between estimated 3D positions of centers of rotation), and/or (eg, module 922 and/or module 930 described below), as provided by module 926 described below. Data indicative of one or more determined parameters of optics and/or visual axis may be employed, such as provided by .

輻輳・開散運動深度推定モジュール928は、ユーザの輻輳・開散運動深度の測定値を検出または別様に取得してもよい。輻輳・開散運動深度は、ユーザの眼が合焦される、ユーザからの距離を示し得る。実施例として、ユーザが、彼らの3フィート正面のオブジェクトを見ているとき、ユーザの左および右眼は、3フィートの輻輳・開散運動深度を有する。別の実施例として、ユーザが、遠くの景色を見ているとき、ユーザの左および右眼は、無限遠の輻輳・開散運動深度を有する。本実施例では、ユーザの眼の光学軸は、ユーザの瞳孔中心間の距離が、ユーザの左および右眼の回転中心間の距離にほぼ等しくなり得るように、相互に略平行であり得る。 The convergence-divergence motion depth estimation module 928 may detect or otherwise obtain a measurement of the user's convergence-divergence motion depth. Convergence-divergence depth of motion may indicate the distance from the user at which the user's eyes are focused. As an example, when a user is looking at an object 3 feet in front of them, the user's left and right eyes have a convergence-divergence depth of motion of 3 feet. As another example, when the user is looking at a distant scene, the user's left and right eyes have infinite convergence-divergence depth of motion. In this example, the optical axes of the user's eyes may be substantially parallel to each other such that the distance between the centers of the user's pupils may be substantially equal to the distance between the centers of rotation of the user's left and right eyes.

いくつかの実装では、輻輳・開散運動深度推定モジュール928は、(例えば、モジュール920によって提供されるような)ユーザの瞳孔の推定される中心を示す、データを利用し、ユーザの瞳孔の推定される中心間の3D距離を決定してもよい。輻輳・開散運動深度推定モジュール928は、そのような決定された瞳孔中心間の3D距離と推定されるIPD(例えば、回転中心の推定される3D位置間のユークリッド距離)を比較することによって、輻輳・開散運動深度の測定値を取得してもよい。 In some implementations, the convergence-divergence motion depth estimation module 928 utilizes data indicating an estimated center of the user's pupil (eg, as provided by module 920) to estimate the user's pupil may determine the 3D distance between the centers to be measured. By comparing the estimated IPD (e.g., the Euclidean distance between the estimated 3D positions of the centers of rotation) to the 3D distances between such determined pupil centers, the convergence-divergence motion depth estimation module 928 Measurements of convergence-divergence depth may be obtained.

瞳孔中心間の3D距離および推定されるIPDに加え、輻輳・開散運動深度推定モジュール928は、既知の、仮定された、推定された、および/または決定された幾何学形状を利用して、輻輳・開散運動深度を計算してもよい。実施例として、モジュール928は、瞳孔中心間の3D距離、推定されるIPD、および3D CoR位置を三角法計算において組み合わせ、ユーザの輻輳・開散運動深度を推定(例えば、決定)してもよい。いくつかの実施形態では、推定されるIPDに対する瞳孔中心間のそのような決定された3D距離の評価は、光学無限遠に対するユーザの現在の輻輳・開散運動深度の測定値を示す役割を果たし得る。いくつかの実施例では、輻輳・開散運動深度推定モジュール928は、輻輳・開散運動深度のそのような測定値を取得する目的のために、ユーザの瞳孔の推定される中心間の推定される3D距離を示す、データを受信する、またはそれにアクセスしてもよい。 In addition to the 3D distance between pupil centers and the estimated IPD, the convergence-divergence motion depth estimation module 928 utilizes known, assumed, estimated and/or determined geometries to Convergence-divergence motion depth may be calculated. As an example, module 928 may combine the 3D distance between pupil centers, the estimated IPD, and the 3D CoR position in a triangulation calculation to estimate (eg, determine) the user's convergence-divergence depth of motion. . In some embodiments, an estimate of such determined 3D distance between pupil centers relative to estimated IPD serves to indicate the user's current convergence-divergence depth of motion relative to optical infinity. obtain. In some examples, the convergence-divergence motion depth estimation module 928 uses the estimated distance between the estimated centers of the user's pupils for the purpose of obtaining such a measure of the convergence-divergence motion depth. data may be received or accessed indicating a 3D distance to the object.

いくつかの実施形態では、輻輳・開散運動深度推定モジュール928は、ユーザの左および右光学軸を比較することによって、輻輳・開散運動深度を推定してもよい。特に、輻輳・開散運動深度推定モジュール928は、ユーザの左および右光学軸が交差する(または水平平面等の平面上のユーザの左および右光学軸の投影が交差する)、ユーザからの距離を位置特定することによって、輻輳・開散運動深度を推定してもよい。モジュール928は、ゼロ深度をユーザの左および右光学軸がユーザのIPDによって分離される深度に設定することによって、ユーザのIPDを本計算において利用してもよい。少なくともいくつかの実施形態では、輻輳・開散運動深度推定モジュール928は、既知のまたは導出される空間関係とともに、眼追跡データを三角測量することによって、輻輳・開散運動深度を決定してもよい。 In some embodiments, the convergence-divergence motion depth estimation module 928 may estimate the convergence-divergence motion depth by comparing the user's left and right optical axes. In particular, the convergence-divergence motion depth estimation module 928 calculates the distance from the user at which the user's left and right optical axes intersect (or the projections of the user's left and right optical axes on a plane such as a horizontal plane intersect). The convergence-divergence motion depth may be estimated by locating . Module 928 may utilize the user's IPD in this calculation by setting zero depth to the depth at which the user's left and right optical axes are separated by the user's IPD. In at least some embodiments, the convergence-divergence motion depth estimation module 928 may determine the convergence-divergence motion depth by triangulating eye tracking data along with known or derived spatial relationships. good.

いくつかの実施形態では、輻輳・開散運動深度推定モジュール928は、上記に説明されるような光学軸と対照的に、ユーザの視軸の交点に基づいて、ユーザの輻輳・開散運動深度を推定してもよい。これは、その上にユーザが合焦している距離のより正確なインジケーションを提供し得る。 In some embodiments, the convergence-divergence motion depth estimation module 928 estimates the user's convergence-divergence motion depth based on the intersection of the user's visual axis, as opposed to the optical axis as described above. can be estimated. This may provide a more accurate indication of the distance over which the user is focusing.

少なくともいくつかの実施形態では、眼追跡モジュール814aは、光学軸と視軸のマッピングモジュール930を含んでもよい。図10に関連してさらに詳細に議論されるように、ユーザの光学および視軸は、概して、整合されない。視軸は、それに沿って人物が見ている軸である一方、光学軸は、その人物の水晶体および瞳孔中心によって定義され、人物の網膜の中心を通して進み得る。特に、ユーザの視軸は、概して、ユーザの中心窩の場所によって定義され、これは、ユーザの網膜の中心からオフセットされ、それによって、異なる光学および視軸をもたらし得る。これらの実施形態のうちの少なくともいくつかでは、眼追跡モジュール814aは、光学軸と視軸のマッピングモジュール930を含んでもよい。光学軸と視軸のマッピングモジュール930は、ユーザの光学軸と視軸との間の差異を補正し、ユーザの視軸に関する情報を、輻輳・開散運動深度推定モジュール928およびライトフィールドレンダリングコントローラ818等のウェアラブルシステム内の他のコンポーネントに提供してもよい。 In at least some embodiments, the eye tracking module 814 a may include an optical axis to visual axis mapping module 930 . As discussed in more detail in connection with FIG. 10, the user's optics and visual axis are generally not aligned. The visual axis is the axis along which a person is looking, while the optical axis is defined by the person's lens and pupil center and may pass through the center of the person's retina. In particular, a user's visual axis is generally defined by the location of the user's fovea, which may be offset from the center of the user's retina, thereby resulting in different optics and visual axes. In at least some of these embodiments, the eye tracking module 814 a may include an optical axis to visual axis mapping module 930 . The optical and visual axis mapping module 930 corrects for differences between the user's optical and visual axes and transfers information about the user's visual axis to the convergence and divergence motion depth estimation module 928 and the light field rendering controller 818. It may be provided to other components in the wearable system such as.

いくつかの実施例では、モジュール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と対応させてもよい。 In some embodiments, module 930 includes a typical offset of about 5.2° inward (nasal, i.e., toward the user's nose) between the optical axis and the visual axis. eye size 904 may be used. In other words, module 930 rotates the user's left optical axis 5.2° (nasally) right toward the nose and the user's right optical axis to There may be a 5.2° (nasal) left deviation toward the nose. In other examples, module 930 may utilize per-user calibration data 906 in mapping the optical axis (eg, as illustrated by module 922 described above) to the visual axis. As an additional example, module 930 may steer the user's optical axis nasally between 4.0° and 6.5°, between 4.5° and 6.0°, between 5.0° and 5.4°, etc., or Any range formed by any of these values may be shifted. In some arrangements, module 930 may apply shifts based, at least in part, on characteristics of a particular user, such as its age, gender, visual prescription, or other relevant characteristics, and/or Or, the shift may be applied, at least in part, based on a calibration process for a particular user (eg, to determine a particular user's optical axis-visual axis offset). In at least some embodiments, module 930 also shifts the origin of the left and right optical axes to correspond to the user's CoP (as determined by module 932) instead of the user's CoR. good.

随意の目線中心(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にあってもよい。 An optional center-of-sight (CoP) estimation module 932, when provided, may estimate the location of the user's left and right center-of-sight (CoP). The CoP can be a useful location for wearable systems, and in at least some embodiments is a location directly in front of the pupil. In at least some embodiments, the CoP estimation module 932, based on the 3D location of the user's pupil center, the 3D location of the user's corneal curvature center, or such suitable data, or any combination thereof: The locations of the user's left and right eye gaze centers may be estimated. As an example, the user's CoP may be approximately 5.01 mm in front of the center of corneal curvature and approximately 2.97 mm behind the outer surface of the user's cornea along the optical or visual axis. 5.01 mm may represent the distance from the corneal spherical center in a direction toward the cornea of the eye and along the optical axis. The user's gaze center may be directly in front of the pupil center. As an example, the user's CoP is less than about 2.0 mm from the user's pupil, less than about 1.0 mm from the user's pupil, or less than about 0.5 mm from the user's pupil, or any of these values. It can be in any range. As another example, the gaze center may correspond to a location within the anterior chamber of the eye. As other examples, the CoP is between 1.0 mm and 2.0 mm, about 1.0 mm, between 0.25 mm and 1.0 mm, between 0.5 mm and 1.0 mm, or between 0.25 mm and 0.5 mm. good.

(潜在的に、レンダリングカメラのピンホールおよびユーザの眼内の解剖学的位置のための望ましい位置としての)本明細書に説明される目線中心は、望ましくない視差偏移を低減および/または排除する役割を果たす、位置であり得る。特に、ユーザの眼の光学系は、画面上に投影する、レンズの正面のピンホールによって形成される、理論的システムにほぼ匹敵し得、ピンホール、レンズ、および画面は、それぞれ、ユーザの瞳孔/虹彩、レンズ、および網膜にほぼ対応する。さらに、ユーザの眼から異なる距離における2つの点光源(またはオブジェクト)がピンホールの開口部を中心として剛性に回転される(例えば、ピンホールの開口部からのその個別の距離に等しい曲率半径に沿って回転される)とき、殆どまたは全く視差偏移が存在しないことが望ましくあり得る。 The line-of-sight center described herein (potentially as a desired location for the rendering camera pinhole and anatomical location within the user's eye) reduces and/or eliminates undesirable parallax shifts can be a position that serves to In particular, the optics of the user's eye can be roughly compared to a theoretical system formed by a pinhole in front of a lens that projects onto the screen, where the pinhole, lens, and screen are each the pupil of the user. / Corresponds approximately to the iris, lens, and retina. In addition, two point sources (or objects) at different distances from the user's eye are rigidly rotated about the pinhole aperture (e.g., to radii of curvature equal to their respective distances from the pinhole aperture). ), it may be desirable that there is little or no parallax shift.

したがって、CoPは、眼の瞳孔中心に位置するはずである(かつそのようなCoPが、いくつかの実施形態では、使用されてもよい)ということになるであろう。しかしながら、ヒトの眼は、瞳孔の水晶体およびピンホールに加え、角膜を含み、これは、光が網膜に向かって伝搬するための付加的屈折力を付与する。本段落に説明される理論的システム内のピンホールの解剖学的均等物は、したがって、ユーザの眼の角膜の外面とユーザの眼の瞳孔または虹彩の中心との間に位置付けられる、ユーザの眼の領域であり得る。例えば、ピンホールの解剖学的均等物は、ユーザの眼の前房内の領域に対応し得る。本明細書で議論される種々の理由から、CoPをユーザの眼の前房内のそのような位置に設定することが所望され得る。CoPの導出および有意性は、米国特許出願第16/250,931号(参照することによってその全体として本明細書に組み込まれる)に説明される。 Therefore, it would follow that the CoP should be located at the pupil center of the eye (and such a CoP may be used in some embodiments). However, the human eye contains, in addition to the lens and pinhole of the pupil, the cornea, which provides additional refractive power for light to propagate towards the retina. The anatomical equivalent of a pinhole within the theoretical system described in this paragraph is therefore a pinhole in a user's eye, located between the outer surface of the cornea of the user's eye and the center of the pupil or iris of the user's eye. can be the region of For example, the anatomical equivalent of a pinhole may correspond to a region within the anterior chamber of the user's eye. For various reasons discussed herein, it may be desirable to set the CoP at such a location within the anterior chamber of the user's eye. The derivation and significance of CoP is described in US patent application Ser. No. 16/250,931, which is hereby incorporated by reference in its entirety.

上記に議論されるように、眼追跡モジュール814aは、左および右眼回転中心(CoR)の推定される3D位置、輻輳・開散運動深度、左および右眼光学軸、ユーザの眼の3D位置、ユーザの角膜曲率の左および右中心の3D位置、ユーザの左および右瞳孔中心の3D位置、ユーザの左および右目線中心の3D位置、ユーザのIPD等のデータを、ウェアラブルシステム内のライトフィールドレンダリングコントローラ818および位置合わせオブザーバ820等の他のコンポーネントに提供してもよい。眼追跡モジュール814aはまた、ユーザの眼の他の側面と関連付けられる、データを検出および生成する、他のサブモジュールを含んでもよい。実施例として、眼追跡モジュール814aは、ユーザが瞬目する度にフラグまたは他のアラートを提供する、瞬目検出モジュールと、ユーザの眼がサッカードする(例えば、焦点を別の点に迅速に偏移させる)度にフラグまたは他のアラートを提供する、サッカード検出モジュールとを含んでもよい。 As discussed above, the eye tracking module 814a calculates the estimated 3D positions of the left and right eye centers of rotation (CoR), the depth of convergence and divergence motion, the left and right eye optical axes, the 3D positions of the user's eyes. , the 3D positions of the user's left and right centers of corneal curvature, the 3D positions of the user's left and right pupil centers, the 3D positions of the user's left and right gaze centers, the user's IPD, etc. It may be provided to other components such as the rendering controller 818 and alignment observer 820 . Eye tracking module 814a may also include other sub-modules that detect and generate data associated with other aspects of the user's eye. As an example, the eye tracking module 814a includes a blink detection module that provides a flag or other alert each time the user blinks, and a blink detection module that detects when the user's eye saccades (e.g., quickly shifts focus to another point). and a saccade detection module, which provides a flag or other alert each time it deviates.

図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つ以上の付加的サブモジュールを含んでもよい。 FIG. 10 illustrates a block diagram of an exemplary eye tracking module 814b. In some implementations, eye tracking module 814b may correspond to eye tracking module 814 of system 800, as described above with reference to FIG. As shown in FIG. 10, the eye tracking module 814b may include a variety of different sub-modules, may provide a variety of different outputs, and may use a variety of available data when tracking the user's eyes. may be used. More specifically, eye tracking module 814b includes deep segmentation network 1007 (eg, one or more machine learning models), contour determination module 1009, centroid determination module 1011, pupil identification module 1012, and flash detection. and labeling module 1014; 3D corneal center estimation module 1016; 3D pupil center locator module 1020; optical axis determination module 1022; CoR estimation module 1024; and a diffuse motion depth estimation module 1032 . In some implementations, at least some of the operations performed by one or more of sub-modules 1012, 1014, 1016, 1020, 1022, 1024, 1030, and 1032 in FIG. At least some of the operations performed by one or more of the sub-modules 912, 914, 916, 920, 922, 924, 930, and 932 as described above with reference to FIG. can correspond to In some examples, eye tracking module 814b is configured to perform one or more additional sub-modules configured to perform one or more of the operations described above with reference to FIG. may include

いくつかの実装では、深層セグメント化ネットワーク1007は、図1A-7Bを参照して上記に説明される眼画像セグメント化動作のうちの1つ以上のものを実施するように訓練または別様に構成される、ニューラルネットワークまたは他のモデルに対応し得る。例示的ニューラルネットワークは、完全結合ニューラルネットワーク、畳み込みニューラルネットワーク等を含んでもよい。したがって、深層セグメント化ネットワーク1007は、ユーザの眼の画像を眼カメラ252から入力として受信してもよく、眼画像セグメント化データを出力として輪郭決定モジュール1009に提供してもよい。輪郭決定モジュール1009は、深層セグメント化ネットワーク1007によって生成された眼画像セグメント化データに基づいて、例えば、ユーザの眼の強膜、虹彩、および/または瞳孔の輪郭または境界を識別してもよい。本情報は、本明細書では、虹彩セグメント化データおよび/または瞳孔セグメント化データとも称され得る。いくつかの実装では、輪郭決定モジュール1009は、ユーザの虹彩の決定された輪郭を示す、データを、閃光検出および標識化モジュール1014に提供してもよい。加えて、輪郭決定モジュール1009は、いくつかの実施例では、ユーザの瞳孔の決定された輪郭を示す、データを、重心決定モジュール1011に出力してもよい。 In some implementations, deep segmentation network 1007 is trained or otherwise configured to perform one or more of the eye image segmentation operations described above with reference to FIGS. 1A-7B. may correspond to a neural network or other model that Exemplary neural networks may include fully connected neural networks, convolutional neural networks, and the like. Thus, deep segmentation network 1007 may receive an image of the user's eye from eye camera 252 as an input and may provide eye image segmentation data as output to contour determination module 1009 . Contour determination module 1009 may, for example, identify contours or boundaries of the sclera, iris, and/or pupil of the user's eye based on the eye image segmentation data generated by deep segmentation network 1007 . This information may also be referred to herein as iris segmentation data and/or pupil segmentation data. In some implementations, contour determination module 1009 may provide data to flash detection and labeling module 1014 indicating the determined contour of the user's iris. Additionally, the contour determination module 1009 may output data to the centroid determination module 1011 indicating the determined contour of the user's pupil in some embodiments.

虹彩の決定された輪郭を示す、データが、輪郭決定モジュール1009によって、閃光検出および標識化モジュール1014への入力として提供される、実装では、閃光検出および標識化モジュール1014は、いくつかの実施例では、そのようなデータを利用して、閃光に関して検索空間を絞り込んでもよい。より具体的には、いくつかの実施例では、閃光検出および標識化モジュール1014は、輪郭決定モジュール1009から受信されたデータに基づいて、眼カメラ252から受信された所与の眼画像の特定の領域を識別し、識別された特定の領域内の閃光の存在を検索してもよい。識別されたそのような特定の領域は、例えば、少なくとも部分的に、虹彩の領域に対応し得る。いくつかの実装では、閃光検出および標識化モジュール1014は、所与の眼画像の他の領域が、事実上、眼閃光の検索から除外され、および/または完全に破棄されるように、閃光に関するその検索をそのような領域に限定し得る。したがって、閃光検出および標識化モジュール1014は、輪郭決定モジュール1009によって提供されるような虹彩の決定された輪郭を示す、データを活用することによって、より高速および/またはあまり算出上集約的ではない様式において、閃光を検出および標識することが可能であり得る。 Data indicative of the determined outline of the iris is provided by the contour determination module 1009 as an input to the flash detection and labeling module 1014. In implementations, the flash detection and labeling module 1014 uses Such data may then be used to narrow the search space with respect to flashes. More specifically, in some embodiments, flash detection and labeling module 1014 identifies a particular eye image received from eye camera 252 based on data received from contour determination module 1009 . Regions may be identified and the presence of flashes within the identified specific regions may be searched. Such identified specific regions may correspond, at least in part, to regions of the iris, for example. In some implementations, the phosphene detection and labeling module 1014 detects phosphenes such that other regions of a given eye image are effectively excluded from phosphenes search and/or discarded entirely. The search can be limited to such areas. Accordingly, the flash detection and labeling module 1014 can perform the detection in a faster and/or less computationally intensive manner by leveraging data indicative of the determined contour of the iris as provided by the contour determination module 1009. In , it may be possible to detect and label flashes of light.

図11を参照して下記にさらに詳細に説明されるように、いくつかの実施例では、閃光検出および標識化モジュール1014は、1つの眼画像に基づいて、輪郭決定モジュール1009によって決定されるような虹彩の決定された輪郭を示す、データを活用し、1つ以上の続いて受信された眼画像内の特定の領域を識別してもよい。換言すると、いくつかの実施例では、閃光検出および標識化モジュール1014は、輪郭決定モジュール1009によって提供されるような眼カメラ252によって捕捉された(n-1)番目の眼画像内の虹彩の決定された輪郭を示す、データに基づいて、眼カメラ252によって捕捉されたn番目の眼画像内の特定の領域を識別してもよい。眼画像セグメント化が、比較的に算出上および時間的に集約的であり得ることを前提として、このように、サブモジュール1007、1009、および1011の動作を眼追跡モジュール814bの他のサブモジュールから分断することは、全体的システム待ち時間を低減させる役割を果たし得る。 As will be described in further detail below with reference to FIG. 11, in some embodiments, the flash detection and labeling module 1014 determines the contour determination module 1009 based on one eye image. Data indicating the determined contour of the iris may be utilized to identify specific regions within one or more subsequently received eye images. In other words, in some embodiments, flash detection and labeling module 1014 determines the iris in the (n-1)th eye image captured by eye camera 252 as provided by contour determination module 1009. Specific regions within the n th eye image captured by the eye camera 252 may be identified based on the data showing the contours drawn. Given that eye image segmentation can be relatively computationally and temporally intensive, the operations of sub-modules 1007, 1009, and 1011 are thus separated from other sub-modules of eye tracking module 814b. Decoupling can serve to reduce overall system latency.

上記に述べられたように、いくつかの実施例では、輪郭決定モジュール1009は、ユーザの瞳孔の決定された輪郭を示すデータを、重心決定モジュール1011に出力してもよい。重心決定モジュール1011は、ひいては、そのようなデータを使用して、輪郭瞬間、質量中心、または瞳孔の重心を決定してもよい。いくつかの実装では、重心決定モジュール1011は、ユーザの瞳孔の重心を示すデータを、瞳孔識別モジュール1012に提供してもよい。そのような実装では、瞳孔識別モジュール1012は、いくつかの実施例では、そのようなデータを利用して、所与の眼画像内の瞳孔を識別するための開始点を提供してもよい。例えば、瞳孔識別モジュール1012は、輪郭決定モジュール1009から受信されたデータに基づいて、眼カメラ252から受信された所与の眼画像内の特定の場所を識別し、瞳孔境界の存在に関して、識別された場所から外向きに検索してもよい(例えば、スターバーストアルゴリズムを使用して)。 As noted above, in some embodiments, contour determination module 1009 may output data indicative of the determined contour of the user's pupil to centroid determination module 1011 . The centroid determination module 1011 may then use such data to determine the contour instant, the center of mass, or the centroid of the pupil. In some implementations, the centroid determination module 1011 may provide data indicating the centroid of the user's pupil to the pupil identification module 1012 . In such implementations, pupil identification module 1012 may, in some embodiments, utilize such data to provide a starting point for identifying pupils within a given eye image. For example, pupil identification module 1012 identifies specific locations within a given eye image received from eye camera 252 based on data received from contour determination module 1009 and identifies specific locations for the presence of pupil boundaries. It may also search outward from the starting location (eg, using the starburst algorithm).

スターバーストアルゴリズムが採用される、実施例では、瞳孔識別モジュール1012は、そこからスターバーストが開始される場所(例えば、バーストの原点)として、上記に説明される識別された場所を使用してもよい。また、図11を参照して下記にさらに詳細に説明されるように、いくつかの実施例では、瞳孔識別モジュール1012は、1つの眼画像に基づいて重心決定モジュール1011によって決定されるような瞳孔の決定された重心を示す、データを活用し、1つ以上の続いて受信された眼画像内の特定の場所を識別してもよい。換言すると、いくつかの実施例では、瞳孔識別モジュール1012は、重心決定モジュール1011によって提供されるような眼カメラ252によって捕捉された(n-1)番目の眼画像内の瞳孔の決定された重心を示す、データに基づいて、眼カメラ252によって捕捉された画像n番目の眼内の特定の場所を識別してもよい。そのような実施例では、瞳孔識別モジュール1012は、続いて、n番目の眼画像内の瞳孔境界の存在/場所に関して、n番目の眼画像内の識別された特定の場所から外向きに検索してもよい(例えば、スターバーストアルゴリズムを使用して)。上記に述べられたように、待ち時間節約は、このように、サブモジュール1007、1009、および1011の動作を眼追跡モジュール814bの他のサブモジュールから分断することによって達成されることができる。 In embodiments where a starburst algorithm is employed, the pupil identification module 1012 may use the identified location described above as the location from which the starburst begins (eg, the origin of the burst). good. Also, as described in further detail below with reference to FIG. 11, in some embodiments, pupil identification module 1012 also includes pupil Data indicative of the determined centroid of the may be utilized to identify specific locations within one or more subsequently received eye images. In other words, in some embodiments, pupil identification module 1012 uses the determined centroid of the pupil in the (n-1)th eye image captured by eye camera 252 as provided by centroid determination module 1011. A specific location within the eye in the n-th image captured by the eye camera 252 may be identified based on data indicative of . In such an embodiment, pupil identification module 1012 subsequently searches outward from the identified specific location within the nth eye image for the presence/location of a pupil boundary within the nth eye image. (eg, using the starburst algorithm). As noted above, latency savings can thus be achieved by decoupling the operations of sub-modules 1007, 1009, and 1011 from other sub-modules of eye tracking module 814b.

図11は、低減された待ち時間を伴って眼追跡を実施するための例示的プロセス1100を図示する、フローチャートである。プロセス1100は、本明細書に説明されるウェアラブルディスプレイシステムの実施形態によって、例えば、図10を参照して上記に説明される眼追跡モジュール814bを使用して、実施されることができる。プロセス1100の種々の実装では、下記に説明されるブロックは、任意の好適な順序またはシーケンスで実施されることができる、ブロックは、組み合わせられる、または再配列されることができる、または他のブロックが、追加されることができる。 FIG. 11 is a flow chart illustrating an exemplary process 1100 for performing eye tracking with reduced latency. Process 1100 can be implemented by embodiments of the wearable display system described herein, for example, using eye tracking module 814b described above with reference to FIG. In various implementations of process 1100, the blocks described below may be performed in any suitable order or sequence, blocks may be combined or rearranged, or other blocks may be can be added.

いくつかの実装では、プロセス1100は、ユーザの眼の画像を捕捉するように構成される、1つ以上のカメラと、1つ以上のカメラによって捕捉されたユーザの眼の画像内に閃光を生産するような様式において、ユーザの眼を照明するように構成される、複数の光源(例えば、赤外線光源)と、1つ以上のカメラに結合される、1つ以上のプロセッサとを含む、頭部搭載型システムによって実施されてもよい。そのような実装のうちの少なくともいくつかでは、プロセス1100の動作のいくつかまたは全ては、少なくとも部分的に、本システムの1つ以上のプロセッサによって実施されてもよい。 In some implementations, process 1100 produces one or more cameras configured to capture an image of a user's eye and flashes of light within the image of the user's eye captured by the one or more cameras. a head comprising a plurality of light sources (e.g., infrared light sources) configured to illuminate the eyes of a user and one or more processors coupled to one or more cameras in a manner as to It may also be implemented by an on-board system. In at least some such implementations, some or all of the operations of process 1100 may be performed, at least in part, by one or more processors of the system.

ブロック1102-1106(例えば、ブロック1102、1104、および1106)では、プロセス1100は、眼追跡カメラによって捕捉された第1の眼画像を取得するステップから開始してもよい。これは、実施例として、新しい眼追跡セッションの開始時に、ユーザの眼の画像を眼追跡カメラ252から取得する眼追跡モジュール814bの1つ以上のサブモジュールに対応し得る。そのような新しい眼追跡セッションは、例えば、HMDが、特定のアプリケーションをオンにする、または立ち上げることに応答して、開始されてもよい。 At blocks 1102-1106 (eg, blocks 1102, 1104, and 1106), process 1100 may begin with acquiring a first eye image captured by an eye-tracking camera. This may correspond, as an example, to one or more sub-modules of eye tracking module 814b that acquire an image of the user's eye from eye tracking camera 252 at the start of a new eye tracking session. Such a new eye-tracking session may be initiated, for example, in response to the HMD turning on or launching a particular application.

ブロック1108では、プロセス1100は、ブロック1106において取得される眼画像が、ブロック1102におけるプロセス1100の開始に続いて捕捉および取得された第1の眼画像を表すかどうかを決定するステップを含む。それを前提として、本インスタンスでは、ブロック1108の動作は、ブロック1102-1106のものの直後に実施され、プロセス1100は、本インスタンスでは、ブロック1106において取得される眼画像が、ブロック1102におけるプロセス1100の開始に続いて捕捉および取得された第1の眼画像を表すことを決定するステップを含んでもよい。したがって、本インスタンスでは、プロセス1100は、ブロック1110および1120に進み得る。いくつかの実装では、プロセス1100は、同時に、ブロック1110および1120に進むステップを含んでもよい。 At block 1108 , process 1100 includes determining whether the eye image acquired at block 1106 represents the first eye image captured and acquired subsequent to initiation of process 1100 at block 1102 . Given that, in this instance, the operations of block 1108 are performed immediately after those of blocks 1102-1106, and process 1100 is such that, in this instance, the eye image acquired at block 1106 is the Determining to represent the first eye image captured and acquired subsequent to initiation may also be included. Accordingly, process 1100 may proceed to blocks 1110 and 1120 in this instance. In some implementations, process 1100 may include proceeding to blocks 1110 and 1120 at the same time.

ブロック1110では、プロセス1100は、深層セグメント化ネットワークを使用して、第1の眼画像をセグメント化するステップを含んでもよい。これは、例えば、図1A-7Bを参照して上記に説明される技法のうちの1つ以上のものを使用して眼画像をセグメント化する、図10を参照して上記に説明されるような眼追跡モジュール814bの深層セグメント化ネットワーク1007に対応し得る。 At block 1110, process 1100 may include segmenting the first eye image using a deep segmentation network. This involves segmenting the eye image using, for example, one or more of the techniques described above with reference to FIGS. 1A-7B, as described above with reference to FIG. deep segmentation network 1007 of eye tracking module 814b.

ブロック1112では、プロセス1100は、第1の眼画像内のセグメント化された虹彩および瞳孔の輪郭を決定するステップを含んでもよい。これは、例えば、深層セグメント化ネットワーク1007によって生成されたデータに基づいて、眼画像内の虹彩および瞳孔の輪郭を識別する、図10を参照して上記に説明されるような眼追跡モジュール814bの輪郭決定モジュール1009に対応し得る。 At block 1112, process 1100 may include determining the contours of the segmented iris and pupil in the first eye image. This is the eye tracking module 814b as described above with reference to FIG. It may correspond to contour determination module 1009 .

ブロック1114では、プロセス1100は、セグメント化された瞳孔の決定された輪郭に基づいて、第1の眼画像内のセグメント化された瞳孔の重心を決定するステップを含んでもよい。これは、実施例として、輪郭決定モジュール1009によって提供されるデータに基づいて、眼画像内のセグメント化された瞳孔の輪郭モーメント、質量中心、または重心を決定する、図10を参照して上記に説明されるような眼追跡モジュール814bの重心決定モジュール1011に対応し得る。 At block 1114, process 1100 may include determining a centroid of the segmented pupil in the first eye image based on the determined contour of the segmented pupil. This, as an example, determines the contour moments, center of mass, or center of mass of the segmented pupil in the eye image based on data provided by the contour determination module 1009, described above with reference to FIG. It may correspond to the centroid determination module 1011 of the eye tracking module 814b as described.

ブロック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に進むステップを含んでもよい。 At blocks 1120 and 1108, process 1100 may include acquiring a second eye image captured by the eye tracking camera. As noted above, in some implementations the acts associated with blocks 1120 and 1108 may be performed concurrently with one or more of the acts associated with blocks 1110-1114. At block 1108 , process 1100 includes determining whether the eye image acquired at block 1106 represents the first eye image captured and acquired following initiation of process 1100 at block 1102 . Given that, in this instance, the operations of block 1108 may be performed subsequent to (e.g., immediately after) those of blocks 1120 and 1106, and process 1100 is, in this instance, the latest Determining that the eye image does not represent the first eye image captured and acquired subsequent to initiation of process 1100 at block 1102 may also include determining. Accordingly, process 1100 may proceed to blocks 1109 and 1110 in this instance. In some implementations, process 1100 may include proceeding to blocks 1109 and 1110 at the same time.

ブロック1109では、プロセス1100は、第1の眼画像内のセグメント化された虹彩の決定された輪郭に基づいて、第2の眼画像内の着目領域を識別するステップを含んでもよい。これは、実施例として、眼追跡モジュール814bの閃光検出および標識化モジュール1014に対応し得る。図10を参照して上記に説明されるように、これは、前の眼画像のセグメント化に基づいて、輪郭決定モジュール1009によって生成されたデータを使用して、閃光に関して検索すべき所与の眼画像の領域を識別するステップを含んでもよい。比較的にわずかな眼移動が連続眼画像間では生じる可能性が高いことを前提として、第1の眼画像のセグメント化に基づいて決定された虹彩輪郭は、閃光検出の目的のための第2の眼画像内の虹彩の境界にとって十分に有益であり得る。 At block 1109, process 1100 may include identifying a region of interest in the second eye image based on the determined contour of the segmented iris in the first eye image. This may correspond to flash detection and labeling module 1014 of eye tracking module 814b, as an example. As explained above with reference to FIG. 10, this uses the data generated by the contour determination module 1009, based on the segmentation of the previous eye image, to determine the given A step of identifying regions of the eye image may be included. Given that relatively small eye movements are likely to occur between successive eye images, the iris contour determined based on the segmentation of the first eye image is the second can be sufficiently useful for iris boundaries in eye images.

ブロック1111では、プロセス1100は、閃光に関して第2の画像内の識別された着目領域を検索するステップを含んでもよい。例えば、第2の画像内の1つ以上の場所(例えば、場所のセット)が、閃光を表すものとして検出されてもよい。上記に説明されるように、第2の画像内の明るい領域が、識別されてもよい(例えば、ブロブまたは局所的強度最大値)。いくつかの実施形態では、閃光の場所は、2つの画像寸法(例えば、第2の画像内のXおよびY位置)内の局所的強度最大値として識別されてもよい。これらの実施形態では、実施例として、ガウス分布が、推定される閃光を囲繞する境界ボックス内の最大強度値を決定することを介して、閃光のために決定されてもよい。最大強度値に対応する、画像場所は、閃光場所として割り当てられてもよい。推定される閃光は、第2の画像の別の部分と比較した画像強度(例えば、明度)の増加に基づいて決定されてもよい。 At block 1111, process 1100 may include searching the identified region of interest in the second image for flashes. For example, one or more locations (eg, a set of locations) within the second image may be detected as representing flashes of light. As explained above, bright regions in the second image may be identified (eg, blobs or local intensity maxima). In some embodiments, flash locations may be identified as local intensity maxima within two image dimensions (eg, X and Y positions in the second image). In these embodiments, by way of example, a Gaussian distribution may be determined for the flashlight via determining the maximum intensity value within a bounding box surrounding the estimated flashlight. Image locations that correspond to maximum intensity values may be assigned as flash locations. An estimated flash of light may be determined based on an increase in image intensity (eg, brightness) compared to another portion of the second image.

ブロック1111と関連付けられる動作はまた、図10を参照して上記に説明されるような眼追跡モジュール814bの閃光検出および標識化モジュール1014によって実施されるものに対応し得る。 The operations associated with block 1111 may also correspond to those performed by flash detection and labeling module 1014 of eye tracking module 814b as described above with reference to FIG.

ブロック1113では、プロセス1100は、識別された着目領域内で検出された閃光に基づいて、第2の眼画像内の3D角膜中心の場所を推定するステップを含んでもよい。これは、実施例として、眼追跡モジュール814bの3D角膜中心モジュール1016に対応し得る。図10を参照して上記に説明されるように、これは、閃光検出および標識化モジュール1014によって提供されるデータに基づいて、所与の眼画像内の3D角膜中心の場所を推定するステップを含んでもよい。 At block 1113, process 1100 may include estimating the location of the 3D corneal center in the second eye image based on the detected flashes within the identified region of interest. This may correspond to the 3D corneal center module 1016 of the eye tracking module 814b as an example. As described above with reference to FIG. 10, this involves estimating the location of the 3D corneal center within a given eye image based on data provided by the flash detection and labeling module 1014. may contain.

ブロック1115では、プロセス1100は、第1の眼画像内のセグメント化された瞳孔の決定された重心に基づいて、第2の画像内の瞳孔を識別するステップを含んでもよい。これは、実施例として、眼追跡モジュール814bの瞳孔識別モジュール1012に対応し得る。図10を参照して上記に説明されるように、これは、前の眼画像のセグメント化およびその決定された輪郭に基づいて、重心決定モジュール1011によって生成されたデータを使用して、所与の眼画像内の瞳孔を識別するステップを含んでもよい。比較的にわずかな眼移動が、連続眼画像間に生じる可能性が高いことを前提として、第1の眼画像のセグメント化に基づいて決定された瞳孔重心は、瞳孔識別の目的のための第2の眼画像内の瞳孔の重心にとって十分に有益であり得る。実際、第1の眼画像のセグメント化に基づいて決定された瞳孔重心が、第2の眼画像内の瞳孔の領域内のある場所に該当する限り、次いで、第2の眼画像内の瞳孔の外側境界が、十分に高正確度内で識別され得る(例えば、スターバーストアルゴリズムを使用して)。いくつかの実装では、ブロック1115と関連付けられる動作は、ブロック1109-1113と関連付けられる動作と並行して実施されてもよい。いくつかの実施例では、ブロック1115と関連付けられる動作のうちの1つ以上のものは、ブロック1109-1113と関連付けられる動作のうちの1つ以上のものに先立って、実施されてもよい。 At block 1115, process 1100 may include identifying the pupil in the second image based on the determined centroid of the segmented pupil in the first eye image. This may correspond to pupil identification module 1012 of eye tracking module 814b, as an example. As described above with reference to FIG. 10, this uses the data generated by the centroid determination module 1011 based on the segmentation of the previous eye image and its determined contours to obtain a given identifying a pupil in the eye image of the . Given that relatively small eye movements are likely to occur between consecutive eye images, the pupil centroid determined based on the segmentation of the first eye image is the first for pupil identification purposes. It can be quite informative for the centroid of the pupil in two eye images. In fact, as long as the pupil centroid determined based on the segmentation of the first eye image falls on some location within the region of the pupil in the second eye image, then An outer boundary can be identified within sufficiently high accuracy (eg, using a starburst algorithm). In some implementations, the acts associated with block 1115 may be performed in parallel with the acts associated with blocks 1109-1113. In some embodiments, one or more of the operations associated with block 1115 may be performed prior to one or more of the operations associated with blocks 1109-1113.

ブロック1117では、プロセス1100は、第2の眼画像内の3D角膜中心の推定される場所および第1の眼画像内で識別されるような瞳孔に基づいて、第2の眼画像内の3D瞳孔中心の場所を推定するステップを含んでもよい。これは、実施例として、眼追跡モジュール814bの3D瞳孔中心ロケータモジュール1020に対応し得る。図10を参照して上記に説明されるように、これは、3D角膜中心モジュール1016によって提供されるデータおよび瞳孔識別モジュール1012によって提供されるデータを使用して、所与の眼画像内の3D角膜中心の場所を推定するステップを含んでもよい。 At block 1117, process 1100 calculates the 3D pupil in the second eye image based on the estimated location of the 3D corneal center in the second eye image and the pupil as identified in the first eye image. A step of estimating the location of the center may be included. This may correspond to 3D pupil center locator module 1020 of eye tracking module 814b, as an example. As described above with reference to FIG. 10, this uses data provided by the 3D central corneal module 1016 and data provided by the pupil identification module 1012 to generate a 3D image within a given eye image. A step of estimating the location of the corneal center may be included.

ブロック1119では、プロセス1100は、第2の眼画像内の推定される3D角膜および瞳孔中心場所に基づいて、第2の眼画像内の眼光学軸の位置および配向を推定するステップを含んでもよい。これは、実施例として、眼追跡モジュール814bの光学軸決定モジュール1022に対応し得る。図10を参照して上記に説明されるように、これは、3D角膜中心推定モジュール1016によって提供されるデータおよび3D瞳孔中心ロケータモジュール1020によって提供されるデータに基づいて、所与の眼画像内の眼の光学軸の位置および配向を決定するステップを含んでもよい。 At block 1119, process 1100 may include estimating the position and orientation of the eye optical axis in the second eye image based on the estimated 3D corneal and pupil center locations in the second eye image. . This may correspond to optical axis determination module 1022 of eye tracking module 814b, as an example. As described above with reference to FIG. 10, this determines the determining the position and orientation of the optical axis of the eye.

プロセス1100は、次いで、ブロック1120および1106に進み、眼追跡カメラによって捕捉された次の眼画像(例えば、第3の眼画像)を取得し、続いて、処理してもよい。いくつかの実装では、プロセス1100は、次いで、ブロック1117および/または1119と関連付けられる動作のうちの1つ以上のものの完了に先立って、ブロック1120および1106に進んでもよい。 Process 1100 may then proceed to blocks 1120 and 1106 to acquire the next eye image (eg, the third eye image) captured by the eye tracking camera for subsequent processing. In some implementations, process 1100 may then proceed to blocks 1120 and 1106 prior to completing one or more of the operations associated with blocks 1117 and/or 1119 .

プロセス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番目の眼画像に適用されてもよい。 Performance of process 1100 may continue for the duration of the eye tracking session in some examples. Thus, from the second eye image onwards, the operations associated with blocks 1109, 1111, 1113, 1115, 1117, and 1119 are the previously acquired eye images (eg, segments of the (n−1)th eye image). may be applied to the most recently acquired eye image (e.g., the nth eye image) using the data generated based on the transformation.Thus, a system performing the operations of process 1100 may: There is no need to wait for the segmentation operation to be completed before acquiring and processing the next eye image, which can effectively serve to reduce latency.In some implementations, the block The operations associated with 1109, 1111, 1113, 1115, 1117, and 1119 use the most recent segmentation data available (e.g., data generated by one or more of sub-modules 1007, 1009, and 1011). ) may be used, so if additional and/or more powerful computing resources are available for a system configured to perform the operations of process 1100, blocks 1109, 1111, 1113, 1115, Operations associated with 1117 and 1119 may be applied to the nth eye image using segmentation data generated based on the nth eye image.

同様に、比較的に大算出負荷が、プロセス1100の動作を実行するように構成される、システム上に課される場合、ブロック1109、1111、1113、1115、1117、および1119と関連付けられる動作は、例えば、(n-1)番目の眼画像、(n-2)番目の眼画像、(n-3)番目の眼画像等に基づいて生成されたデータであり得る、利用可能な最新のセグメント化データ(例えば、直近のセグメント化データ)を使用して、n番目の眼画像に適用されてもよい。したがって、第2または第1の画像に基づいて生成されたデータは、第3の画像のために使用されてもよい。 Similarly, when a relatively large computational load is imposed on a system configured to perform the operations of process 1100, the operations associated with blocks 1109, 1111, 1113, 1115, 1117, and 1119 are , for example, data generated based on the (n-1)th eye image, (n-2)th eye image, (n-3)th eye image, etc. The segmentation data (eg, the most recent segmentation data) may be used and applied to the nth eye image. Thus, data generated based on the second or first image may be used for the third image.

いくつかの実装では、プロセス1100は、図9および10を参照して上記に説明されるような眼追跡モジュール814aおよび814bの1つ以上の他のサブモジュールの動作に対応する、1つ以上の付加的動作を含んでもよい。 In some implementations, process 1100 includes one or more sub-modules corresponding to the operation of one or more other sub-modules of eye tracking modules 814a and 814b as described above with reference to FIGS. Additional actions may be included.

ブロック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つおきの眼画像、またはある他のインターバルにおいて実施されてもよい。他の構成も、可能性として考えられる。 In at least some implementations where the operations associated with blocks 1109, 1111, 1113, 1115, 1117, and 1119 use the most recent segmentation data available, the operations associated with blocks 1110, 1112, and 1114 are , is not necessarily performed for each eye image acquired. For example, the operations associated with blocks 1110, 1112, and 1114 may be performed on every other eye image acquired. However, in such embodiments, the operations associated with blocks 1109, 1111, 1113, 1115, 1117, and 1119 may be performed for each eye image acquired. Thus, the operations associated with blocks 1110, 1112, and 1114 may, for example, be performed at a first frequency, while the operations associated with blocks 1109, 1111, 1113, 1115, 1117, and 1119 are It may be performed at a second frequency that is a multiple of the first frequency (eg, twice that of the first frequency). For example, in some embodiments, the operations associated with blocks 1109, 1111, 1113, 1115, 1117, and 1119 may be performed for each eye image acquired at a rate of 60 Hz, while blocks 1110, 1112 , and 1114 may be performed on every other eye image acquired at a rate of 30 Hz. In some embodiments, the operations associated with blocks 1110, 1112, and 1114 are every other eye image acquired, every third eye image acquired, every fourth eye image acquired, , or some other interval. Other configurations are also possible.

本明細書に説明されるシステム、方法、およびデバイスはそれぞれ、いくつかの側面を有し、そのうちのいずれも、その望ましい属性に単独で関与するものではない。本開示の範囲を限定することなく、いくつかの非限定的特徴が、ここで、簡単に議論されるであろう。以下の段落は、本明細書に説明されるデバイス、システム、および方法の種々の例示的実装を説明する。1つ以上のコンピュータのシステムは、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせをシステム上にインストールさせることによって、動作時、システムにアクションを実施させる、特定の動作またはアクションを実施するように構成されることができる。1つ以上のコンピュータプログラムは、データ処理装置によって実行されると、装置に、アクションを実施させる、命令を含むことによって、特定の動作またはアクションを実施するように構成されることができる。本明細書に説明される実施形態は、下記の少なくとも以下の実施例を含む。 The systems, methods, and devices described herein each have several aspects, no single one of which is solely responsible for its desirable attributes. Without limiting the scope of the present disclosure, some non-limiting features will now be briefly discussed. The following paragraphs describe various exemplary implementations of the devices, systems, and methods described herein. A system of one or more computers is configured to perform a particular operation or action by having software, firmware, hardware, or a combination thereof installed on the system that, when run, causes the system to perform an action. can be One or more computer programs can be configured to perform a particular operation or action by containing instructions which, when executed by a data processing device, cause the device to perform the action. Embodiments described herein include at least the following examples below.

実施例1:頭部搭載型システムであって、ユーザの眼の画像を捕捉するように構成される、カメラと、閃光がユーザの眼の画像内に表されるように、ユーザの眼を照明するように構成される、1つ以上の光源と、ユーザの眼の第1の画像をカメラから取得し、眼の画像を前提として虹彩セグメント化データおよび瞳孔セグメント化データを生成するように訓練されている、機械学習モデルに、第1の画像を入力として提供し、第1の画像に続いて、ユーザの眼の第2の画像をカメラから取得し、虹彩セグメント化データに基づいて、1つ以上の閃光が表される第2の画像内の1つ以上の場所のセットを検出し、瞳孔セグメント化データに基づいて、ユーザの眼の瞳孔が表される第2の画像の領域を識別し、少なくとも部分的に、第2の画像内の1つ以上の閃光場所の検出されたセットと、第2の画像の識別された領域とに基づいて、ユーザの眼の姿勢を決定するように構成される、1つ以上のプロセッサとを備える、システム。 Example 1: A head-mounted system, a camera configured to capture an image of a user's eye and illuminating the user's eye such that a flash of light is represented in the image of the user's eye and a first image of a user's eye from a camera and trained to generate iris segmentation data and pupil segmentation data given the image of the eye. A machine learning model is provided with a first image as input, following the first image, a second image of the user's eye is obtained from the camera, and based on the iris segmentation data, one detecting a set of one or more locations in the second image where the flashes of light are represented and, based on the pupil segmentation data, identifying regions of the second image where the pupil of the user's eye is represented; , configured to determine an eye pose of the user based, at least in part, on the detected set of one or more flash locations in the second image and the identified region of the second image. and one or more processors.

実施例2:1つ以上のプロセッサはさらに、機械学習モデルを介して、第2の画像に関する虹彩セグメント化データおよび瞳孔セグメント化データを取得し、ユーザの眼の第3の画像をカメラから取得し、それぞれ、第2の画像に関する機械学習モデルによって生成された虹彩セグメント化データに基づいて、第3の画像内の1つ以上の閃光が示される1つ以上の場所のセットを検出し、第2の画像に関する機械学習モデルによって生成された瞳孔セグメント化データに基づいて、ユーザの眼の瞳孔が表される第3の画像の領域を識別し、少なくとも部分的に、第3の画像内の1つ以上の閃光場所の検出されたセットと、第3の画像の識別された領域とに基づいて、ユーザの眼の姿勢を決定するように構成される、実施例1に記載のシステム。 Example 2: The one or more processors further obtain iris segmentation data and pupil segmentation data for the second image and obtain a third image of the user's eye from the camera via the machine learning model. , respectively, detect a set of one or more locations where one or more flashes are indicated in the third image based on iris segmentation data generated by the machine learning model for the second image; identifying a region of the third image in which the pupil of the user's eye is represented based on the pupil segmentation data generated by the machine learning model for the image of the image; 2. The system of example 1, configured to determine a user's eye pose based on the above detected set of flash locations and the identified region of the third image.

実施例3:1つ以上のプロセッサはさらに、虹彩セグメント化データに基づいて、第2の画像の第2の領域を識別するように構成され、第2の画像内の1つ以上の閃光が示される1つ以上の場所のセットを検出するために、1つ以上のプロセッサは、第2の領域内の極大強度値を呈する個別の場所に関して第2の画像の第2の領域を検索するように構成される、実施例1に記載のシステム。 Example 3: The one or more processors are further configured to identify a second region of the second image based on the iris segmentation data, wherein the one or more flashes in the second image are indicated. The one or more processors search a second region of the second image for distinct locations exhibiting maximal intensity values in the second region to detect a set of one or more locations that are subject to The system of example 1, wherein:

実施例4:1つ以上のプロセッサはさらに、1つ以上の閃光が示される1つ以上の場所のセットに関する特定の領域外の第2の画像の領域を検索しないようにするように構成される、実施例3に記載のシステム。 Example 4: The one or more processors are further configured to avoid searching regions of the second image outside the specified region for the set of one or more locations where the one or more flashes of light are shown. , the system of Example 3.

実施例5:1つ以上のプロセッサはさらに、虹彩セグメント化データに基づいて、第1の画像内のユーザの眼の虹彩の輪郭を識別するように構成され、虹彩セグメント化データに基づいて、第2の画像の異なる領域を識別するために、1つ以上のプロセッサは、第1の画像内のユーザの眼の虹彩の識別された輪郭に基づいて、第2の画像の第3の領域を識別するように構成される、実施例3に記載のシステム。 Example 5: The one or more processors are further configured to identify an iris contour of the user's eye in the first image based on the iris segmentation data; To identify different regions of the two images, the one or more processors identify a third region of the second image based on the identified contours of the iris of the user's eye in the first image. 4. The system of example 3, wherein the system is configured to:

実施例6:1つ以上のプロセッサはさらに、瞳孔セグメント化データに基づいて、第1の画像内のユーザの眼の瞳孔の重心を識別するように構成され、第2の画像の領域を識別するために、1つ以上のプロセッサは、第1の画像内のユーザの眼の瞳孔の識別された重心に基づいて、ユーザの眼の瞳孔が表される第2の画像の第2の領域を識別するように構成される、実施例1に記載のシステム。 Example 6: The one or more processors are further configured to identify a centroid of the pupil of the user's eye in the first image based on the pupil segmentation data, and identify a region of the second image To do so, the one or more processors identify a second region of the second image representing the pupil of the user's eye based on the identified centroid of the pupil of the user's eye in the first image. Example 1. The system of example 1, wherein the system is configured to:

実施例7:第2の画像の第2の領域を識別するために、1つ以上のプロセッサは、第1の画像内のユーザの眼の瞳孔の識別された重心に基づいて、第2の画像内の場所を識別し、第2の画像内で識別された場所から、瞳孔境界を検索するように構成される、実施例6に記載のシステム。 Example 7: To identify a second region of a second image, the one or more processors generate a second image based on the identified centroid of the pupil of the user's eye in the first image. 7. The system of example 6, configured to identify a location in the second image and retrieve the pupillary boundary from the location identified in the second image.

実施例8:第2の画像内で識別された場所から、瞳孔境界を検索するために、1つ以上のプロセッサは、開始点として割り当てられる第2の画像内で識別された場所に基づいて、スターバースト瞳孔検出プロセスを実施するように構成される、実施例7に記載のシステム。 Example 8: To retrieve a pupil boundary from a location identified in a second image, the one or more processors, based on the location identified in the second image assigned as a starting point: Example 7. The system of example 7, configured to perform a starburst pupil detection process.

実施例9:少なくとも部分的に、第2の画像内の1つ以上の閃光場所の検出されたセットと、第2の画像の識別された領域とに基づいて、ユーザの眼の姿勢を決定するために、1つ以上のプロセッサは、少なくとも部分的に、第2の画像内の1つ以上の閃光場所の検出されたセットと、第2の画像の識別された領域とに基づいて、ユーザの眼の光学軸の位置および配向推定値を取得するように構成される、実施例1に記載のシステム。 Example 9: Determine the user's eye pose based, at least in part, on the detected set of one or more flash locations in the second image and the identified region of the second image To that end, the one or more processors determine the user's 2. The system of example 1, configured to obtain a position and orientation estimate of the optical axis of the eye.

実施例10:1つ以上のプロセッサはさらに、第2の画像内の1つ以上の閃光場所の検出されたセットに基づいて、第2の画像内のユーザの眼の角膜の3次元場所の推定値を取得するように構成され、ユーザの眼の姿勢を決定するために、1つ以上のプロセッサは、少なくとも部分的に、第2の画像内のユーザの眼の角膜の推定される場所と、第2の画像の識別された領域とに基づいて、姿勢を決定するように構成される、実施例1に記載のシステム。 Example 10: The one or more processors further estimate a three-dimensional location of the cornea of the user's eye in the second image based on the detected set of one or more flash locations in the second image. The one or more processors configured to obtain values to determine the pose of the user's eye, at least in part, an estimated location of the cornea of the user's eye in the second image; 2. The system of example 1, configured to determine a pose based on the identified region of the second image.

実施例11:1つ以上のプロセッサはさらに、第2の画像内のユーザの眼の角膜の推定される場所と、第2の画像の識別された領域とに基づいて、第2の画像内のユーザの眼の瞳孔の3次元場所の推定値を取得するように構成され、ユーザの眼の姿勢を決定するために、1つ以上のプロセッサは、少なくとも部分的に、姿勢に基づいて、第2の画像内のユーザの眼の角膜の推定される場所および第2の画像内のユーザの眼の瞳孔の推定される場所を決定するように構成される、実施例10に記載のシステム。 Example 11: The one or more processors are further configured, based on the estimated location of the cornea of the user's eye in the second image, The one or more processors are configured to obtain an estimate of the three-dimensional location of a pupil of an eye of a user, and to determine a pose of the user's eye, the one or more processors determine, at least in part, a second 11. The system of example 10, wherein the system is configured to determine an estimated location of a cornea of a user's eye in the image of and an estimated location of a pupil of the user's eye in the second image.

実施例12:1つ以上のプロセッサはさらに、ユーザの眼の第3の画像を取得し、それぞれ、機械学習モデルによって直近に生成された虹彩セグメント化データに基づいて、1つ以上の閃光が表される第3の画像内の1つ以上の場所のセットを検出し、機械学習モデルによって直近に生成された瞳孔セグメント化データに基づいて、ユーザの眼の瞳孔が示される第3の画像の領域を識別し、少なくとも部分的に、第3の画像内の1つ以上の閃光場所の検出されたセットと、第3の画像の識別された領域とに基づいて、ユーザの眼の第2の姿勢を決定するように構成される、実施例1に記載のシステム。 Example 12: The one or more processors further acquire a third image of the user's eye, each representing one or more flashes based on the iris segmentation data most recently generated by the machine learning model. detecting a set of one or more locations in the third image where the pupil of the user's eye is shown based on the pupil segmentation data most recently generated by the machine learning model. and a second pose of the user's eye based, at least in part, on the detected set of one or more flash locations in the third image and the identified region of the third image Example 1. The system of example 1, configured to determine .

実施例13:機械学習モデルによって直近に生成された虹彩セグメント化データおよび瞳孔セグメント化データは、第2の画像に関して機械学習モデルによって生成された虹彩セグメント化データおよび瞳孔セグメント化データを備える、実施例12に記載のシステム。 Example 13: The iris segmentation data and pupil segmentation data most recently generated by the machine learning model comprises iris segmentation data and pupil segmentation data generated by the machine learning model for the second image. 13. The system according to 12.

実施例14:機械学習モデルによって直近に生成された虹彩セグメント化データおよび瞳孔セグメント化データは、第1の画像に関して機械学習モデルによって生成された虹彩セグメント化データおよび瞳孔セグメント化データを備える、実施例12に記載のシステム。 Example 14: The iris segmentation data and pupil segmentation data most recently generated by the machine learning model comprises iris segmentation data and pupil segmentation data generated by the machine learning model for the first image. 13. The system according to 12.

実施例15:1つ以上のプロセッサはさらに、第2の画像を入力として機械学習モデルに提供するように構成され、機械学習モデルによって直近に生成された虹彩セグメント化データおよび瞳孔セグメント化データは、第3の画像に関して機械学習モデルによって生成された虹彩セグメント化データおよび瞳孔セグメント化データを備える、実施例12に記載のシステム。 Example 15: The one or more processors are further configured to provide the second image as an input to the machine learning model, the iris segmentation data and pupil segmentation data most recently generated by the machine learning model comprising: 13. The system of example 12, comprising iris segmentation data and pupil segmentation data generated by the machine learning model for the third image.

実施例16:1つ以上のプロセッサはさらに、第2の画像を入力として機械学習モデルに提供しないようにするように構成される、実施例12に記載のシステム。 Example 16: The system of Example 12, wherein the one or more processors are further configured to avoid providing the second image as an input to the machine learning model.

実施例17:1つ以上のプロセッサの頭部搭載型システムによって実装される方法であって、頭部搭載型システムは、閃光が眼の画像内に表されるように、ユーザの眼を照明するように構成され、ユーザの眼の第1の画像を取得するステップと、眼の画像を前提として虹彩セグメント化データおよび瞳孔セグメント化データを生成するように訓練されている、機械学習モデルに、第1の画像を入力として提供するステップと、ユーザの眼の第2の画像を取得するステップと、虹彩セグメント化データに基づいて、1つ以上の閃光が表される第2の画像内の1つ以上の場所のセットを検出するステップと、瞳孔セグメント化データに基づいて、ユーザの眼の瞳孔が表される第2の画像の領域を識別するステップと、少なくとも部分的に、第2の画像内の1つ以上の閃光場所の検出されたセットと、第2の画像の識別された領域とに基づいて、ユーザの眼の姿勢を決定するステップとを含む、方法。 Example 17: A method implemented by a head-mounted system of one or more processors, wherein the head-mounted system illuminates the eye of a user such that a flash of light is represented in the image of the eye a machine learning model configured to obtain a first image of a user's eye and trained to generate iris segmentation data and pupil segmentation data given the image of the eye; providing as input one image; obtaining a second image of the user's eye; and based on the iris segmentation data, one in the second image in which one or more flashes of light are represented. detecting the above set of locations; identifying, based on the pupil segmentation data, a region of the second image in which the pupil of the user's eye is represented; and determining an eye pose of the user based on the detected set of one or more flash locations of and the identified regions of the second image.

実施例18:機械学習モデルを介して、第2の画像に関する虹彩セグメント化データおよび瞳孔セグメント化データを取得するステップと、ユーザの眼の第3の画像を取得するステップと、それぞれ、第2の画像に関する機械学習モデルによって生成された虹彩セグメント化データに基づいて、第3の画像内の1つ以上の閃光が示される1つ以上の場所のセットを検出するステップと、第2の画像に関する機械学習モデルによって生成された瞳孔セグメント化データに基づいて、ユーザの眼の瞳孔が表される第3の画像の領域を識別するステップと、少なくとも部分的に、第3の画像内の1つ以上の閃光場所の検出されたセットと、第3の画像の識別された領域とに基づいて、ユーザの眼の姿勢を決定するステップとをさらに含む、実施例17に記載の方法。 Example 18: Obtaining, via a machine learning model, iris segmentation data and pupil segmentation data for a second image; obtaining a third image of the user's eye; detecting a set of one or more locations where one or more flashes are exhibited in the third image based on iris segmentation data generated by the machine learning model for the image; identifying, at least in part, a region of a third image in which the pupil of the user's eye is represented, based on the pupil segmentation data generated by the learning model; 18. The method of example 17, further comprising determining an eye pose of the user based on the detected set of flash locations and the identified regions of the third image.

実施例19:虹彩セグメント化データに基づいて、第2の画像の第2の領域を識別するステップをさらに含み、第2の画像内の1つ以上の閃光が示される1つ以上の場所のセットを検出するために、本方法はさらに、第2の領域内の極大強度値を呈する個別の場所に関して第2の画像の第2の領域を検索するステップを含む、実施例17に記載の方法。 Example 19: Further comprising identifying a second region of the second image based on the iris segmentation data, the set of one or more locations in the second image where the one or more flashes are shown 18. The method of example 17, wherein the method further comprises searching the second region of the second image for distinct locations exhibiting maximum intensity values within the second region, to detect .

実施例20:頭部搭載型システムは、1つ以上の閃光が示される1つ以上の場所のセットに関する特定の領域外の第2の画像の領域を検索しないようにするように構成される、実施例19に記載の方法。 Example 20: The head-mounted system is configured to avoid searching regions of the second image outside a specified region for a set of one or more locations where one or more flashes of light are shown. The method described in Example 19.

実施例21:虹彩セグメント化データに基づいて、第1の画像内のユーザの眼の虹彩の輪郭を識別するステップをさらに含み、虹彩セグメント化データに基づいて、第2の画像の異なる領域を識別するために、本方法はさらに、第1の画像内のユーザの眼の虹彩の識別された輪郭に基づいて、第2の画像の第3の領域を識別するステップを含む、実施例19に記載の方法。 Example 21: Further comprising identifying iris contours of the user's eye in the first image based on the iris segmentation data, and identifying different regions of the second image based on the iris segmentation data. 20. As in example 19, the method further comprises identifying a third region of the second image based on the identified contour of the iris of the user's eye in the first image, to the method of.

実施例22:瞳孔セグメント化データに基づいて、第1の画像内のユーザの眼の瞳孔の重心を識別するステップをさらに含み、第2の画像の領域を識別するために、本方法はさらに、第1の画像内のユーザの眼の瞳孔の識別された重心に基づいて、ユーザの眼の瞳孔が表される第2の画像の第2の領域を識別するステップを含む、実施例17に記載の方法。 Example 22: Further comprising the step of identifying a centroid of the pupil of the user's eye in the first image based on the pupil segmentation data, and to identify a region of the second image, the method further comprising: 18. As described in example 17, comprising identifying a second region of the second image in which the pupil of the user's eye is represented based on the identified centroid of the pupil of the user's eye in the first image. the method of.

実施例23:第2の画像の第2の領域を識別するために、本方法は、第1の画像内のユーザの眼の瞳孔の識別された重心に基づいて、第2の画像内の場所を識別するステップと、第2の画像内で識別された場所から、瞳孔境界を検索するステップを含む、実施例22に記載の方法。 Example 23: To identify a second region of a second image, the method includes, based on the identified centroid of the pupil of the user's eye in the first image, the location in the second image: 23. The method of example 22, comprising identifying , and retrieving the pupillary boundary from the identified locations in the second image.

実施例24:第2の画像内で識別された場所から、瞳孔境界を検索するために、本方法は、開始点として割り当てられる第2の画像内で識別された場所に基づいて、スターバースト瞳孔検出プロセスを実施するステップを含む、実施例23に記載の方法。 Example 24: To retrieve the pupillary boundary from the location identified in the second image, the method uses the location identified in the second image to be assigned as the starting point, the starburst pupil 24. The method of example 23, comprising performing a detection process.

実施例25:少なくとも部分的に、第2の画像内の1つ以上の閃光場所の検出されたセットと、第2の画像の識別された領域とに基づいて、ユーザの眼の姿勢を決定するために、本方法は、少なくとも部分的に、第2の画像内の1つ以上の閃光場所の検出されたセットと、第2の画像の識別された領域とに基づいて、ユーザの眼の光学軸の位置および配向推定値を取得するステップを含む、実施例17に記載の方法。 Example 25: Determining a user's eye pose based, at least in part, on a detected set of one or more flash locations in a second image and an identified region of the second image To this end, the method comprises, at least in part, based on a detected set of one or more flash locations in the second image and an identified region of the second image, an optical image of the user's eye. 18. The method of example 17, comprising obtaining axis position and orientation estimates.

実施例26:本方法はさらに、第2の画像内の1つ以上の閃光場所の検出されたセットに基づいて、第2の画像内のユーザの眼の角膜の3次元場所の推定値を取得するステップを含み、ユーザの眼の姿勢を決定するために、本方法は、少なくとも部分的に、第2の画像内のユーザの眼の角膜の推定される場所と、第2の画像の識別された領域とに基づいて、姿勢を決定するステップを含む、実施例17に記載の方法。 Example 26: The method further obtains an estimate of the three-dimensional location of the cornea of the user's eye in the second image based on the detected set of one or more flash locations in the second image. and to determine the pose of the user's eye, the method includes, at least in part, an estimated location of the cornea of the user's eye in the second image and an identified position of the second image. 18. The method of example 17, comprising determining a pose based on the region and the region.

実施例27:本方法はさらに、第2の画像内のユーザの眼の角膜の推定される場所と、第2の画像の識別された領域とに基づいて、第2の画像内のユーザの眼の瞳孔の3次元場所の推定値を取得するステップを含み、ユーザの眼の姿勢を決定するために、本方法は、少なくとも部分的に、第2の画像内のユーザの眼の角膜の推定される場所と、第2の画像内のユーザの眼の瞳孔の推定される場所とに基づいて、姿勢を決定するステップを含む、実施例26に記載の方法。 Example 27: The method further includes determining the location of the user's eye in the second image based on the estimated location of the cornea of the user's eye in the second image and the identified region of the second image. the method includes obtaining an estimate of the three-dimensional location of the pupil of the user's eye in the second image to determine the pose of the user's eye. 27. The method of example 26, comprising determining a pose based on the location of the eye and an estimated location of the pupil of the user's eye in the second image.

実施例28:本方法はさらに、ユーザの眼の第3の画像を取得するステップと、それぞれ、機械学習モデルによって直近に生成された虹彩セグメント化データに基づいて、1つ以上の閃光が表される第3の画像内の1つ以上の場所のセットを検出するステップと、機械学習モデルによって直近に生成された瞳孔セグメント化データに基づいて、ユーザの眼の瞳孔が示される第3の画像の領域を識別するステップと、少なくとも部分的に、第3の画像内の1つ以上の閃光場所の検出されたセットと、第3の画像の識別された領域とに基づいて、ユーザの眼の第2の姿勢を決定するステップとを含む、実施例17に記載の方法。 Example 28: The method further comprises acquiring a third image of the user's eye, each representing one or more flashes based on iris segmentation data most recently generated by the machine learning model. detecting a set of one or more locations in a third image where the pupil of the user's eye is shown based on pupil segmentation data most recently generated by the machine learning model; identifying a region; and based, at least in part, on the detected set of one or more flash locations in the third image and the identified region of the third image. 18. The method of example 17, comprising the step of determining 2 poses.

実施例29:機械学習モデルによって直近に生成された虹彩セグメント化データおよび瞳孔セグメント化データは、第2の画像に関して機械学習モデルによって生成された虹彩セグメント化データおよび瞳孔セグメント化データを備える、実施例28に記載の方法。 Example 29: The iris segmentation data and pupil segmentation data most recently generated by the machine learning model comprises iris segmentation data and pupil segmentation data generated by the machine learning model for the second image. 28. The method according to 28.

実施例30:機械学習モデルによって直近に生成された虹彩セグメント化データおよび瞳孔セグメント化データは、第1の画像に関して機械学習モデルによって生成された虹彩セグメント化データおよび瞳孔セグメント化データを備える、実施例28に記載の方法。 Example 30: The iris segmentation data and pupil segmentation data most recently generated by the machine learning model comprises iris segmentation data and pupil segmentation data generated by the machine learning model for the first image. 28. The method according to 28.

実施例31:本方法はさらに、第2の画像を入力として機械学習モデルに提供するステップを含み、機械学習モデルによって直近に生成された虹彩セグメント化データおよび瞳孔セグメント化データは、第3の画像に関して機械学習モデルによって生成された虹彩セグメント化データおよび瞳孔セグメント化データを備える、実施例28に記載の方法。 Example 31: The method further comprises providing the second image as an input to the machine learning model, wherein the iris segmentation data and pupil segmentation data most recently generated by the machine learning model are the third image 29. The method of example 28, comprising iris segmentation data and pupil segmentation data generated by a machine learning model for .

実施例32:頭部搭載型システムは、第2の画像を入力として機械学習モデルに提供しないようにするように構成される、実施例28に記載の方法。 Example 32: The method of Example 28, wherein the head-mounted system is configured not to provide the second image as input to the machine learning model.

実施例33:頭部搭載型システムであって、ユーザの眼の画像を捕捉するように構成される、カメラと、ユーザの眼の画像内にカメラによって捕捉される閃光を生産するような様式において、ユーザの眼を照明するように構成される、複数の光源と、カメラに動作可能に結合される、1つ以上のプロセッサであって、ユーザの眼の第1の画像をカメラから取得し、眼の画像を前提として虹彩セグメント化データおよび瞳孔セグメント化データを生成するように訓練されている、ニューラルネットワークに、第1の画像を入力として提供し、ユーザの眼の第2の画像をカメラから取得し、第2の画像は、第1の画像の直後に、カメラによって捕捉され、それぞれ、第1の画像に関してニューラルネットワークによって生成された虹彩セグメント化データに基づいて、第2の画像内の1つ以上の閃光が示される1つ以上の場所のセットを検出し、第1の画像に関してニューラルネットワークによって生成された瞳孔セグメント化データに基づいて、ユーザの眼の瞳孔が示される第2の画像の領域を識別し、少なくとも部分的に、第2の画像内の1つ以上の閃光場所の検出されたセットと、第2の画像の識別された領域とに基づいて、ユーザの眼の姿勢を決定するように構成される、1つ以上のプロセッサとを備える、システム。 Example 33: A head-mounted system, a camera configured to capture an image of a user's eye, and in such a manner as to produce a flash of light captured by the camera in the image of the user's eye , a plurality of light sources configured to illuminate the eyes of a user, and one or more processors operably coupled to a camera, obtaining from the camera a first image of the eyes of the user; A neural network, which has been trained to generate iris segmentation data and pupil segmentation data given an image of the eye, is provided as input with a first image and a second image of the user's eye from the camera. A second image is captured by the camera immediately after the first image, each based on the iris segmentation data generated by the neural network with respect to the first image. detecting a set of one or more locations where one or more flashes of light are shown and, based on pupil segmentation data generated by the neural network for the first image, of a second image where the pupil of the user's eye is shown; identifying an area and determining an eye pose of the user based at least in part on the detected set of one or more flash locations in the second image and the identified area of the second image; A system comprising one or more processors configured to:

実施例34:1つ以上のプロセッサはさらに、第2の画像を入力としてニューラルネットワークに提供し、ユーザの眼の第3の画像をカメラから取得し、第3の画像は、第2の画像の直後にカメラによって捕捉され、それぞれ、第2の画像に関してニューラルネットワークによって生成された虹彩セグメント化データに基づいて1つ以上の閃光が示される第3の画像内の1つ以上の場所のセットを検出し、第2の画像に関してニューラルネットワークによって生成された瞳孔セグメント化データに基づいて、ユーザの眼の瞳孔が示される第3の画像の領域を識別し、少なくとも部分的に、第3の画像内の1つ以上の閃光場所の検出されたセットと、第3の画像の識別された領域とに基づいて、ユーザの眼の姿勢を決定するように構成される、実施例33に記載のシステム。 Example 34: The one or more processors further provide the second image as input to the neural network and obtain a third image of the user's eye from the camera, the third image being a representation of the second image. Detecting a set of one or more locations in a third image immediately captured by the camera, each showing one or more flashes based on iris segmentation data generated by the neural network for the second image. and identifying, based on pupil segmentation data generated by the neural network for the second image, a region of the third image in which the pupil of the user's eye is shown; 34. A system as in example 33, configured to determine a user's eye pose based on the detected set of one or more flash locations and the identified region of the third image.

実施例35:1つ以上のプロセッサはさらに、第1の画像に関してニューラルネットワークによって生成された虹彩セグメント化データに基づいて、第2の画像内の1つ以上の閃光が示される第2の画像の特定領域を識別するように構成され、1つ以上の場所のセットを検出するために、それぞれ、第1の画像に関してニューラルネットワークによって生成された虹彩セグメント化データに基づいて、1つ以上のプロセッサは、1つ以上の閃光が示される1つ以上の場所のセットに関する第2の画像の特定領域を検索するように構成される、実施例33に記載のシステム。 Example 35: The one or more processors are further configured, based on iris segmentation data generated by the neural network for the first image, to render the second image in which the one or more flashes of light are shown. one or more processors, each configured to identify a specific region and based on iris segmentation data generated by the neural network for the first image, to detect a set of one or more locations; 34. A system as in example 33, wherein the system is configured to search for specific regions of the second image for a set of one or more locations where one or more flashes of light are shown.

実施例36:1つ以上のプロセッサはさらに、1つ以上の閃光が示される1つ以上の場所のセットに関する特定の領域外の第2の画像の領域を検索しないようにするように構成される、実施例35に記載のシステム。 Example 36: The one or more processors are further configured to avoid searching regions of the second image outside the specified region for the set of one or more locations where the one or more flashes of light are shown. , Example 35.

実施例37:1つ以上のプロセッサはさらに、第1の画像に関してニューラルネットワークによって生成された虹彩セグメント化データに基づいて、第1の画像内のユーザの眼の虹彩の輪郭を識別するように構成され、第1の画像に関してニューラルネットワークによって生成された虹彩セグメント化データに基づいて、第2の画像の特定領域を識別するために、1つ以上のプロセッサは、第1の画像内のユーザの眼の虹彩の識別された輪郭に基づいて、第2の画像の特定領域を識別するように構成される、実施例35に記載のシステム。 Example 37: The one or more processors are further configured to identify an iris contour of the user's eye in the first image based on iris segmentation data generated by the neural network for the first image. and based on the iris segmentation data generated by the neural network for the first image, the one or more processors determine the user's eye in the first image to identify a particular region of the second image. 36. The system of example 35, wherein the system is configured to identify the particular region of the second image based on the identified contour of the iris.

実施例38:1つ以上のプロセッサはさらに、第1の画像内の第1の画像に関してニューラルネットワークによって生成された瞳孔セグメント化データに基づいて、ユーザの眼の瞳孔の重心を識別するように構成され、第1の画像に関してニューラルネットワークによって生成された瞳孔セグメント化データに基づいて、ユーザの眼の瞳孔が示される第2の画像の領域を識別するために、1つ以上のプロセッサは、第1の画像内のユーザの眼の瞳孔の識別された重心に基づいて、ユーザの眼の瞳孔が示される第2の画像の領域を識別するように構成される、実施例33に記載のシステム。 Example 38: The one or more processors are further configured to identify a centroid of the pupil of the user's eye based on pupil segmentation data generated by the neural network for the first image within the first image and based on the pupil segmentation data generated by the neural network for the first image, the one or more processors comprise a first 34. The system of example 33, wherein the system is configured to identify a region of the second image in which the pupil of the user's eye is shown based on the identified centroid of the pupil of the user's eye in the image of .

実施例39:第1の画像内のユーザの眼の瞳孔の識別された重心に基づいて、ユーザの眼の瞳孔が示される第2の画像の領域を識別するために、1つ以上のプロセッサは、第1の画像内のユーザの眼の瞳孔の識別された重心に基づいて、第2の画像内の場所を識別し、第2の画像内で識別された場所から外向きに、瞳孔境界を検索するように構成される、実施例38に記載のシステム。 Example 39: Based on the identified centroid of the pupil of the user's eye in the first image, to identify a region of the second image where the pupil of the user's eye is shown, the one or more processors comprise , identifies a location in a second image based on the identified centroid of the pupil of the user's eye in the first image, and outwardly from the identified location in the second image, the pupil boundary. 39. The system of example 38, configured to search.

実施例40:第2の画像内で識別された場所から外向きに、瞳孔境界を検索するために、1つ以上のプロセッサは、スターバースト瞳孔検出ルーチンにおいて、第2の画像内で識別された場所を開始点として利用するように構成される、実施例39に記載のシステム。 Example 40: The one or more processors in a starburst pupil detection routine to search outward from a location identified in the second image for the pupil boundary identified in the second image. 40. The system of example 39, configured to utilize location as a starting point.

実施例41:少なくとも部分的に、第2の画像内の1つ以上の閃光場所の検出されたセットと、第2の画像の識別された領域とに基づいて、ユーザの眼の姿勢を決定するために、1つ以上のプロセッサは、少なくとも部分的に、第2の画像内の1つ以上の閃光場所の検出されたセットと、第2の画像の識別された領域とに基づいて、ユーザの眼の光学軸の位置および配向推定値を取得するように構成される、実施例33に記載のシステム。 Example 41: Determining a user's eye pose based, at least in part, on a detected set of one or more flash locations in a second image and an identified region of the second image To that end, the one or more processors determine the user's 34. The system of example 33, configured to obtain a position and orientation estimate of the optical axis of the eye.

実施例42:1つ以上のプロセッサはさらに、第2の画像内の1つ以上の閃光場所の検出されたセットに基づいて、第2の画像内のユーザの眼の角膜の3次元場所の推定値を取得するように構成され、少なくとも部分的に、第2の画像内の1つ以上の閃光場所の検出されたセットと、第2の画像の識別された領域とに基づいて、ユーザの眼の姿勢を決定するために、1つ以上のプロセッサは、少なくとも部分的に、第2の画像内のユーザの眼の角膜の推定される場所と、第2の画像の識別された領域とに基づいて、ユーザの眼の姿勢を決定するように構成される、実施例33に記載のシステム。 Example 42: The one or more processors are further configured to estimate a three-dimensional location of the cornea of the user's eye in the second image based on the detected set of one or more flash locations in the second image. a value for a user's eye based, at least in part, on the detected set of one or more flash locations in the second image and the identified region of the second image; the one or more processors based at least in part on the estimated location of the cornea of the user's eye in the second image and the identified region of the second image to determine the pose of the 34. The system of example 33, wherein the system is configured to determine a user's eye pose.

実施例43:1つ以上のプロセッサはさらに、第2の画像内のユーザの眼の角膜の推定される場所と、第2の画像の識別された領域とに基づいて、第2の画像内のユーザの眼の瞳孔の3次元場所の推定値を取得するように構成され、少なくとも部分的に、第2の画像内のユーザの眼の角膜の推定される場所と、第2の画像の識別された領域とに基づいて、ユーザの眼の姿勢を決定するために、1つ以上のプロセッサは、少なくとも部分的に、第2の画像内のユーザの眼の角膜の推定される場所と、第2の画像内のユーザの眼の瞳孔の推定される場所とに基づいて、ユーザの眼の姿勢を決定するように構成される、実施例42に記載のシステム。 Example 43: The one or more processors are further configured, based on the estimated location of the cornea of the user's eye in the second image, configured to obtain an estimate of a three-dimensional location of a pupil of a user's eye, and at least partially identifying an estimated location of a cornea of the user's eye in the second image and an identified location of the second image; the one or more processors, at least in part, the estimated location of the cornea of the user's eye in the second image; 43. The system of example 42, wherein the system is configured to determine the pose of the user's eye based on the estimated location of the pupil of the user's eye in the image of .

実施例44:1つ以上のプロセッサはさらに、ユーザの眼の第3の画像をカメラから取得し、第3の画像は、第2の画像の直後に、カメラによって捕捉され、それぞれ、ニューラルネットワークによって直近に生成された虹彩セグメント化データに基づいて、1つ以上の閃光が示される第3の画像内の1つ以上の場所のセットを検出し、ニューラルネットワークによって直近に生成された瞳孔セグメント化データに基づいて、ユーザの眼の瞳孔が示される第3の画像の領域を識別し、少なくとも部分的に、第3の画像内の1つ以上の閃光場所の検出されたセットと、第3の画像の識別された領域とに基づいて、ユーザの眼の姿勢を決定するように構成される、実施例33に記載のシステム。 Example 44: The one or more processors further obtain from the camera a third image of the user's eye, the third image captured by the camera immediately after the second image and respectively processed by the neural network Detecting a set of one or more locations in the third image where one or more flashes are shown based on the most recently generated iris segmentation data and recently generated pupil segmentation data by the neural network. identifying a region of a third image in which the pupil of the user's eye is shown, based, at least in part, on the detected set of one or more flash locations in the third image; 34. The system of example 33, wherein the system is configured to determine the eye pose of the user based on the identified regions of the .

実施例45:ニューラルネットワークによって直近に生成された虹彩セグメント化データおよび瞳孔セグメント化データは、第2の画像に関してニューラルネットワークによって生成された虹彩セグメント化データおよび瞳孔セグメント化データを備える、実施例44に記載のシステム。 Example 45: The iris segmentation data and pupil segmentation data most recently generated by the neural network comprises the iris segmentation data and pupil segmentation data generated by the neural network for the second image to Example 44 System as described.

実施例46:ニューラルネットワークによって直近に生成された虹彩セグメント化データおよび瞳孔セグメント化データは、第1の画像に関してニューラルネットワークによって生成された虹彩セグメント化データおよび瞳孔セグメント化データを備える、実施例44に記載のシステム。 Example 46: The iris segmentation data and pupil segmentation data most recently generated by the neural network comprises the iris segmentation data and pupil segmentation data generated by the neural network for the first image to Example 44 System as described.

実施例47:1つ以上のプロセッサはさらに、第2の画像を入力としてニューラルネットワークに提供するように構成され、ニューラルネットワークによって直近に生成された虹彩セグメント化データおよび瞳孔セグメント化データは、第3の画像に関してニューラルネットワークによって生成された虹彩セグメント化データおよび瞳孔セグメント化データを備える、実施例44に記載のシステム。 Example 47: The one or more processors are further configured to provide the second image as an input to the neural network, wherein the iris segmentation data and pupil segmentation data most recently generated by the neural network are used in a third 45. The system of example 44, comprising iris segmentation data and pupil segmentation data generated by the neural network for the image of .

実施例48:1つ以上のプロセッサはさらに、第2の画像を入力としてニューラルネットワークに提供しないように構成される、実施例44に記載のシステム。 [00410] Embodiment 48: The system of embodiment 44, wherein the one or more processors are further configured not to provide the second image as an input to the neural network.

上記に述べられたように、上記に提供される説明される実施例の実装は、ハードウェア、方法、またはプロセス、および/またはコンピュータアクセス可能媒体上のコンピュータソフトウェアを含んでもよい。 As noted above, implementation of the illustrative examples provided above may include hardware, methods, or processes, and/or computer software on a computer-accessible medium.

付加的考慮点
本明細書に説明される、および/または添付される図に描写されるプロセス、方法、およびアルゴリズムはそれぞれ、具体的かつ特定のコンピュータ命令を実行するように構成される、1つ以上の物理的コンピューティングシステム、ハードウェアコンピュータプロセッサ、特定用途向け回路、および/または電子ハードウェアによって実行される、コードモジュールにおいて具現化され、それによって完全または部分的に自動化され得る。例えば、コンピューティングシステムは、具体的コンピュータ命令とともにプログラムされた汎用コンピュータ(例えば、サーバ)または専用コンピュータ、専用回路等を含むことができる。コードモジュールは、実行可能プログラムにコンパイルおよびリンクされる、動的リンクライブラリ内にインストールされ得る、またはインタープリタ型プログラミング言語において書き込まれ得る。いくつかの実装では、特定の動作および方法が、所与の機能に特有の回路によって実施され得る。
Additional Considerations The processes, methods, and algorithms described herein and/or depicted in the accompanying figures are each configured to execute specific and specific computer instructions, one It may be embodied in code modules, and thereby fully or partially automated, executed by physical computing systems, hardware computer processors, application-specific circuits, and/or electronic hardware as described above. For example, a computing system can include a general purpose computer (eg, a server) or a special purpose computer, dedicated circuitry, etc. programmed with specific computer instructions. Code modules may be installed in a dynamically linked library, compiled and linked into an executable program, or written in an interpreted programming language. In some implementations, specific acts and methods may be performed by circuitry specific to a given function.

さらに、本開示の機能性のある実装は、十分に数学的、計算的、または技術的に複雑であるため、(適切な特殊化された実行可能命令を利用する)特定用途向けハードウェアまたは1つ以上の物理的コンピューティングデバイスは、例えば、関与する計算の量または複雑性に起因して、または結果を実質的にリアルタイムで提供するために、機能性を実施する必要があり得る。例えば、ビデオは、多くのフレームを含み得、各フレームは、数百万のピクセルを有し、具体的にプログラムされたコンピュータハードウェアは、商業的に妥当な時間量において所望の画像処理タスク、眼形状モデル、またはバイオメトリック用途を提供するようにビデオデータを処理する必要がある。 Moreover, any implementation of the functionality of the present disclosure may be sufficiently mathematically, computationally, or technically complex to require either special-purpose hardware (utilizing appropriate specialized executable instructions) or single-use hardware. More than one physical computing device may be required to perform the functionality, for example, due to the amount or complexity of computations involved, or to provide results substantially in real time. For example, a video may contain many frames, each frame having millions of pixels, and specifically programmed computer hardware can perform desired image processing tasks, There is a need to process video data to provide eye shape models, or biometric applications.

コードモジュールまたは任意のタイプのデータは、ハードドライブ、ソリッドステートメモリ、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、光学ディスク、揮発性または不揮発性記憶装置、同一物の組み合わせ、および/または同等物を含む、物理的コンピュータ記憶装置等の任意のタイプの非一過性コンピュータ可読媒体上に記憶され得る。本方法およびモジュール(またはデータ)はまた、無線ベースおよび有線/ケーブルベースの媒体を含む、種々のコンピュータ可読伝送媒体上で生成されたデータ信号として(例えば、搬送波または他のアナログまたはデジタル伝搬信号の一部として)伝送され得、種々の形態(例えば、単一または多重化アナログ信号の一部として、または複数の離散デジタルパケットまたはフレームとして)をとり得る。開示されるプロセスまたはプロセスステップの結果は、任意のタイプの非一過性有形コンピュータ記憶装置内に持続的または別様に記憶され得る、またはコンピュータ可読伝送媒体を介して通信され得る。 Code modules or any type of data may be stored in hard drives, solid state memory, random access memory (RAM), read only memory (ROM), optical discs, volatile or nonvolatile storage devices, combinations of the same, and/or It may be stored on any type of non-transitory computer-readable medium such as physical computer storage, including equivalents. The methods and modules (or data) may also be transmitted as data signals (e.g., carrier waves or other analog or digital propagated signals) generated on various computer-readable transmission media, including wireless-based and wire/cable-based media. part) and may take various forms (eg, as part of a single or multiplexed analog signal, or as a plurality of discrete digital packets or frames). The results of any disclosed process or process step can be persistently or otherwise stored in any type of non-transitory, tangible computer storage device or communicated over a computer-readable transmission medium.

本明細書に説明される、および/または添付される図に描写されるフロー図における任意のプロセス、ブロック、状態、ステップ、または機能性は、プロセスにおいて具体的機能(例えば、論理または算術)またはステップを実装するための1つ以上の実行可能命令を含む、コードモジュール、セグメント、またはコードの一部を潜在的に表すものとして理解されたい。種々のプロセス、ブロック、状態、ステップ、または機能性は、組み合わせられる、再配列される、本明細書に提供される例証的実施例に追加される、そこから削除される、修正される、または別様にそこから変更されることができる。いくつかの実施形態では、付加的または異なるコンピューティングシステムまたはコードモジュールが、本明細書に説明される機能性のいくつかまたは全てを実施し得る。本明細書に説明される方法およびプロセスはまた、いずれの特定のシーケンスにも限定されず、それに関連するブロック、ステップ、または状態は、適切な他のシーケンスで、例えば、連続して、並行して、またはある他の様式で実施されることができる。タスクまたはイベントが、開示される例示的実施形態に追加される、またはそこから除去され得る。さらに、本明細書に説明される実装における種々のシステムコンポーネントの分離は、例証目的のためであり、全ての実装においてそのような分離を要求するものとして理解されるべきではない。説明されるプログラムコンポーネント、方法、およびシステムは、概して、単一のコンピュータ製品においてともに統合される、または複数のコンピュータ製品にパッケージ化され得ることを理解されたい。多くの実装変形例が、可能である。 Any process, block, state, step, or functionality in a flow diagram described herein and/or depicted in an accompanying figure represents a specific function (e.g., logic or arithmetic) or It should be understood as potentially representing a code module, segment, or portion of code containing one or more executable instructions for implementing a step. Various processes, blocks, states, steps, or functionality may be combined, rearranged, added to, deleted from, modified, or modified from the illustrative examples provided herein. It can be modified from there differently. In some embodiments, additional or different computing systems or code modules may implement some or all of the functionality described herein. The methods and processes described herein are also not limited to any particular sequence, and blocks, steps, or states associated therewith may be performed in any other suitable sequence, e.g., serially, in parallel. or in some other manner. Tasks or events may be added to or removed from the disclosed exemplary embodiments. Moreover, the separation of various system components in the implementations described herein is for illustrative purposes and should not be understood as requiring such separation in all implementations. It should be appreciated that the described program components, methods, and systems may generally be integrated together in a single computer product or packaged in multiple computer products. Many implementation variations are possible.

本プロセス、方法、およびシステムは、ネットワーク(または分散)コンピューティング環境において実装され得る。ネットワーク環境は、企業全体コンピュータネットワーク、イントラネット、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、パーソナルエリアネットワーク(PAN)、クラウドコンピューティングネットワーク、クラウドソースコンピューティングネットワーク、インターネット、およびワールドワイドウェブを含む。ネットワークは、有線または無線ネットワークまたは任意の他のタイプの通信ネットワークであり得る。 The present processes, methods and systems may be implemented in a network (or distributed) computing environment. Networking environments include enterprise-wide computer networks, intranets, local area networks (LAN), wide area networks (WAN), personal area networks (PAN), cloud computing networks, crowdsourced computing networks, the Internet, and the World Wide Web. . The network can be a wired or wireless network or any other type of communication network.

本開示のシステムおよび方法は、それぞれ、いくつかの革新的側面を有し、そのうちのいかなるものも、本明細書に開示される望ましい属性に単独で関与しない、またはそのために要求されない。上記に説明される種々の特徴およびプロセスは、相互に独立して使用され得る、または種々の方法で組み合わせられ得る。全ての可能な組み合わせおよび副次的組み合わせが、本開示の範囲内に該当することが意図される。本開示に説明される実装の種々の修正が、当業者に容易に明白であり得、本明細書に定義される一般原理は、本開示の精神または範囲から逸脱することなく、他の実装に適用され得る。したがって、請求項は、本明細書に示される実装に限定されることを意図されず、本明細書に開示される本開示、原理、および新規の特徴と一貫する最も広い範囲を与えられるべきである。 The system and method of the present disclosure each have several innovative aspects, none of which are solely responsible or required for the desirable attributes disclosed herein. The various features and processes described above can be used independently of each other or combined in various ways. All possible combinations and subcombinations are intended to fall within the scope of this disclosure. Various modifications of the implementations described in this disclosure may be readily apparent to those skilled in the art, and the general principles defined herein may be adapted to other implementations without departing from the spirit or scope of this disclosure. can be applied. Accordingly, the claims are not intended to be limited to the implementations shown herein, but are to be accorded the broadest scope consistent with the disclosure, principles and novel features disclosed herein. be.

別個の実装のコンテキストにおいて本明細書に説明されるある特徴はまた、単一の実装における組み合わせにおいて実装されることができる。逆に、単一の実装のコンテキストにおいて説明される種々の特徴もまた、複数の実装において別個に、または任意の好適な副次的組み合わせにおいて実装されることができる。さらに、特徴が、ある組み合わせにおいて作用するものとして上記に説明され、さらに、そのようなものとして最初に請求され得るが、請求される組み合わせからの1つ以上の特徴は、ある場合には、組み合わせから削除されることができ、請求される組み合わせは、副次的組み合わせまたは副次的組み合わせの変形例を対象とし得る。いかなる単一の特徴または特徴の群も、あらゆる実施形態に必要または必須ではない。 Certain features that are described in this specification in the context of separate implementations can also be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple implementations separately or in any suitable subcombination. Further, although features have been described above as acting in some combination and may also be originally claimed as such, one or more features from the claimed combination may, in some cases, be combined may be deleted from and claimed combinations may cover subcombinations or variations of subcombinations. No single feature or group of features is required or essential in every embodiment.

とりわけ、「~できる(can)」、「~し得る(could)」、「~し得る(might)」、「~し得る(may)」、「例えば(e.g.,)」、および同等物等、本明細書で使用される条件文は、別様に具体的に記載されない限り、または使用されるようなコンテキスト内で別様に理解されない限り、概して、ある実施形態がある特徴、要素、および/またはステップを含む一方、他の実施形態がそれらを含まないことを伝えることが意図される。したがって、そのような条件文は、概して、特徴、要素、および/またはステップが、1つ以上の実施形態に対していかようにも要求されること、または1つ以上の実施形態が、著者の入力または促しの有無を問わず、これらの特徴、要素、および/またはステップが任意の特定の実施形態において含まれる、または実施されるべきかどうかを決定するための論理を必然的に含むことを合意することを意図されない。用語「~を備える(comprising)」、「~を含む(including)」、「~を有する(having)」、および同等物は、同義語であり、非限定的方式で包括的に使用され、付加的要素、特徴、行為、動作等を除外しない。また、用語「または」は、その包括的意味において使用され(およびその排他的意味において使用されず)、したがって、例えば、要素のリストを接続するために使用されると、用語「または」は、リスト内の要素のうちの1つ、いくつか、または全てを意味する。加えて、本願および添付される請求項で使用されるような冠詞「a」、「an」、および「the」は、別様に規定されない限り、「1つ以上の」または「少なくとも1つ」を意味するように解釈されるべきである。 In particular, "can", "could", "might", "may", "eg (e.g.,)", and equivalents Conditional statements used herein, such as objects, generally refer to a feature, element, or feature of an embodiment, unless specifically stated otherwise or understood otherwise within the context in which they are used. , and/or steps, while other embodiments are intended to convey that they are not. Thus, such conditional statements generally state that features, elements, and/or steps are claimed in any way in one or more embodiments or that one or more embodiments necessarily include logic, with or without input or prompting, to determine whether these features, elements, and/or steps should be included or performed in any particular embodiment. not intended to agree. The terms “comprising,” “including,” “having,” and equivalents are synonymous and are used generically in a non-limiting manner, Do not exclude subjective elements, features, acts, actions, etc. Also, the term "or" is used in its inclusive sense (and not in its exclusive sense), thus, for example, when used to connect a list of elements, the term "or" Means one, some, or all of the elements in the list. Additionally, as used in this application and the appended claims, the articles "a," "an," and "the" refer to "one or more" or "at least one," unless specified otherwise. should be interpreted to mean

本明細書で使用されるように、項目のリスト「のうちの少なくとも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つがそれぞれ存在するように要求することを示唆することを意図するものではない。 As used herein, a phrase referring to “at least one of” a list of items refers to any combination of those items, including single elements. As an example, "at least one of A, B, or C" encompasses A, B, C, A and B, A and C, B and C, and A, B, and C is intended. Conjunctive sentences, such as the phrase "at least one of X, Y, and Z," generally refer to at least one of X, Y, or Z, unless specifically stated otherwise. understood differently in contexts such as those used to convey that Thus, such conjunctions generally imply that certain embodiments require that at least one of X, at least one of Y, and at least one of Z each be present. is not intended to

同様に、動作は、特定の順序で図面に描写され得るが、これは、望ましい結果を達成するために、そのような動作が示される特定の順序で、または連続的順序で実施される、または全ての図示される動作が実施される必要はないと認識されるべきである。さらに、図面は、フローチャートの形態で1つ以上の例示的プロセスを図式的に描写し得る。しかしながら、描写されない他の動作も、図式的に図示される例示的方法およびプロセス内に組み込まれることができる。例えば、1つ以上の付加的動作が、図示される動作のいずれかの前に、その後に、それと同時に、またはその間に実施されることができる。加えて、動作は、他の実装において再配列される、または再順序付けられ得る。ある状況では、マルチタスクおよび並列処理が、有利であり得る。さらに、上記に説明される実装における種々のシステムコンポーネントの分離は、全ての実装におけるそのような分離を要求するものとして理解されるべきではなく、説明されるプログラムコンポーネントおよびシステムは、概して、単一のソフトウェア製品においてともに統合される、または複数のソフトウェア製品にパッケージ化され得ることを理解されたい。加えて、他の実装も、以下の請求項の範囲内である。いくつかの場合では、請求項に列挙されるアクションは、異なる順序で実施され、依然として、望ましい結果を達成することができる。 Similarly, although operations may be depicted in the figures in a particular order, it is to be performed in the specific order in which such operations are shown or in a sequential order to achieve desirable results, or It should be appreciated that not all illustrated acts need be performed. Further, the drawings may graphically depict one or more exemplary processes in the form of flow charts. However, other acts not depicted may be incorporated within the illustrative methods and processes illustrated schematically. For example, one or more additional acts may be performed before, after, concurrently with, or between any of the illustrated acts. Additionally, the operations may be rearranged or reordered in other implementations. In some situations, multitasking and parallel processing can be advantageous. Furthermore, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, as the described program components and systems are generally can be integrated together in multiple software products or packaged in multiple software products. Additionally, other implementations are within the scope of the following claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve desirable results.

Claims (32)

頭部搭載型システムであって、
ユーザの眼の画像を捕捉するように構成されるカメラと、
1つ以上の光源であって、前記1つ以上の光源は、閃光が前記ユーザの眼の画像内に表されるように、前記ユーザの眼を照明するように構成される、1つ以上の光源と、
1つ以上のプロセッサであって、前記1つ以上のプロセッサは、
前記ユーザの眼の第1の画像を前記カメラから取得することと、
眼の画像を前提として虹彩セグメント化データおよび瞳孔セグメント化データを生成するように訓練されている機械学習モデルに、前記第1の画像を入力として提供することと、
前記第1の画像に続いて、前記ユーザの眼の第2の画像を前記カメラから取得することと、
前記虹彩セグメント化データに基づいて、1つ以上の閃光が表される前記第2の画像内の1つ以上の場所のセットを検出することと、
前記瞳孔セグメント化データに基づいて、前記ユーザの眼の瞳孔が表される前記第2の画像の領域を識別することと、
少なくとも部分的に、前記第2の画像内の1つ以上の閃光場所の検出されたセットと、前記第2の画像の識別された領域とに基づいて、前記ユーザの眼の姿勢を決定することと
を行うように構成される、1つ以上のプロセッサと
を備える、システム。
A head-mounted system comprising:
a camera configured to capture an image of a user's eye;
one or more light sources, wherein the one or more light sources are configured to illuminate the eye of the user such that a flash of light is represented in an image of the eye of the user; a light source;
one or more processors, the one or more processors comprising:
obtaining a first image of the user's eye from the camera;
providing the first image as input to a machine learning model that has been trained to generate iris segmentation data and pupil segmentation data given an image of the eye;
obtaining from the camera a second image of the user's eye following the first image;
detecting a set of one or more locations in the second image where one or more flashes are represented based on the iris segmentation data;
identifying a region of the second image in which a pupil of the user's eye is represented based on the pupil segmentation data;
Determining the user's eye pose based, at least in part, on the detected set of one or more flash locations in the second image and the identified region of the second image. A system comprising one or more processors configured to perform
前記1つ以上のプロセッサはさらに、
前記機械学習モデルを介して、前記第2の画像に関する虹彩セグメント化データおよび瞳孔セグメント化データを取得することと、
前記ユーザの眼の第3の画像を前記カメラから取得することと、
それぞれ、前記第2の画像に関する前記機械学習モデルによって生成された前記虹彩セグメント化データに基づいて、前記第3の画像内の1つ以上の閃光が示される1つ以上の場所のセットを検出することと、
前記第2の画像に関する前記機械学習モデルによって生成された前記瞳孔セグメント化データに基づいて、前記ユーザの眼の瞳孔が表される前記第3の画像の領域を識別することと、
少なくとも部分的に、前記第3の画像内の1つ以上の閃光場所の検出されたセットと、前記第3の画像の識別された領域とに基づいて、前記ユーザの眼の姿勢を決定することと
を行うように構成される、請求項1に記載のシステム。
The one or more processors further:
obtaining iris segmentation data and pupil segmentation data for the second image via the machine learning model;
obtaining a third image of the user's eye from the camera;
detecting a set of one or more locations in the third image where one or more flashes are indicated, each based on the iris segmentation data generated by the machine learning model for the second image; and
identifying a region of the third image in which a pupil of the user's eye is represented based on the pupil segmentation data generated by the machine learning model for the second image;
Determining the user's eye pose based, at least in part, on the detected set of one or more flash locations in the third image and the identified region of the third image. 2. The system of claim 1, configured to perform and.
前記1つ以上のプロセッサはさらに、
前記虹彩セグメント化データに基づいて、前記第2の画像の第2の領域を識別する
ように構成され、
前記第2の画像内の1つ以上の閃光が示される1つ以上の場所のセットを検出するために、前記1つ以上のプロセッサは、
前記第2の領域内の極大強度値を呈する個別の場所に関して前記第2の画像の第2の領域を検索する
ように構成される、請求項1に記載のシステム。
The one or more processors further:
configured to identify a second region of the second image based on the iris segmentation data;
To detect a set of one or more locations in the second image where one or more flashes of light are shown, the one or more processors:
2. The system of claim 1, configured to search the second region of the second image for distinct locations exhibiting maximal intensity values within the second region.
前記1つ以上のプロセッサはさらに、
1つ以上の閃光が示される1つ以上の場所のセットに関する前記特定の領域外の前記第2の画像の領域を検索しないようにする
ように構成される、請求項3に記載のシステム。
The one or more processors further:
4. The system of claim 3, configured to avoid searching regions of the second image outside the specified region for a set of one or more locations where one or more flashes of light are shown.
前記1つ以上のプロセッサはさらに、
前記虹彩セグメント化データに基づいて、前記第1の画像内の前記ユーザの眼の虹彩の輪郭を識別する
ように構成され、
前記虹彩セグメント化データに基づいて、前記第2の画像の異なる領域を識別するために、前記1つ以上のプロセッサは、
前記第1の画像内の前記ユーザの眼の虹彩の識別された輪郭に基づいて、前記第2の画像の第3の領域を識別する
ように構成される、請求項3に記載のシステム。
The one or more processors further:
configured to identify an iris contour of the user's eye in the first image based on the iris segmentation data;
To identify different regions of the second image based on the iris segmentation data, the one or more processors:
4. The system of claim 3, configured to identify a third region of the second image based on identified contours of the iris of the user's eye in the first image.
前記1つ以上のプロセッサはさらに、
前記瞳孔セグメント化データに基づいて、前記第1の画像内の前記ユーザの眼の瞳孔の重心を識別する
ように構成され、
前記第2の画像の領域を識別するために、前記1つ以上のプロセッサは、
前記第1の画像内の前記ユーザの眼の瞳孔の識別された重心に基づいて、前記ユーザの眼の瞳孔が表される前記第2の画像の第2の領域を識別する
ように構成される、請求項1に記載のシステム。
The one or more processors further:
based on the pupil segmentation data, identify the centroid of the pupil of the user's eye in the first image;
To identify regions of the second image, the one or more processors:
based on the identified centroid of the pupil of the user's eye in the first image, identifying a second region of the second image in which the pupil of the user's eye is represented. , the system of claim 1.
前記第2の画像の第2の領域を識別するために、前記1つ以上のプロセッサは、
前記第1の画像内の前記ユーザの眼の瞳孔の識別された重心に基づいて、前記第2の画像内の場所を識別することと、
前記第2の画像内で識別された場所から、瞳孔境界を検索することと
を行うように構成される、請求項6に記載のシステム。
To identify a second region of the second image, the one or more processors:
identifying a location in the second image based on the identified centroid of the pupil of the user's eye in the first image;
7. The system of claim 6, configured to: retrieve pupillary boundaries from locations identified in the second image.
前記第2の画像内で識別された場所から、瞳孔境界を検索するために、前記1つ以上のプロセッサは、
開始点として割り当てられる前記第2の画像内で識別された場所に基づいて、スターバースト瞳孔検出プロセスを実施する
ように構成される、請求項7に記載のシステム。
To retrieve pupillary boundaries from locations identified in the second image, the one or more processors:
8. The system of claim 7, configured to perform a starburst pupil detection process based on locations identified in the second image that are assigned as starting points.
少なくとも部分的に、前記第2の画像内の1つ以上の閃光場所の検出されたセットと、前記第2の画像の識別された領域とに基づいて、前記ユーザの眼の姿勢を決定するために、前記1つ以上のプロセッサは、
少なくとも部分的に、前記第2の画像内の1つ以上の閃光場所の検出されたセットと、前記第2の画像の識別された領域とに基づいて、前記ユーザの眼の光学軸の位置および配向推定値を取得する
ように構成される、請求項1に記載のシステム。
for determining an eye pose of the user based, at least in part, on a detected set of one or more flash locations in the second image and identified regions of the second image; and the one or more processors are:
Based, at least in part, on the detected set of one or more flash locations in the second image and the identified region of the second image, determining the position of the optical axis of the user's eye and 2. The system of claim 1, configured to obtain an orientation estimate.
前記1つ以上のプロセッサはさらに、
前記第2の画像内の1つ以上の閃光場所の検出されたセットに基づいて、前記第2の画像内の前記ユーザの眼の角膜の3次元場所の推定値を取得する
ように構成され、
前記ユーザの眼の姿勢を決定するために、前記1つ以上のプロセッサは、
少なくとも部分的に、前記第2の画像内の前記ユーザの眼の角膜の推定される場所と、前記第2の画像の識別された領域とに基づいて、前記姿勢を決定する
ように構成される、請求項1に記載のシステム。
The one or more processors further:
obtain a three-dimensional location estimate of the cornea of the user's eye in the second image based on a detected set of one or more flash locations in the second image;
To determine the user's eye pose, the one or more processors:
determining the pose based, at least in part, on an estimated location of the cornea of the user's eye in the second image and an identified region of the second image. , the system of claim 1.
前記1つ以上のプロセッサはさらに、
前記第2の画像内の前記ユーザの眼の角膜の推定される場所と、前記第2の画像の識別された領域とに基づいて、前記第2の画像内の前記ユーザの眼の瞳孔の3次元場所の推定値を取得する
ように構成され、
前記ユーザの眼の姿勢を決定するために、前記1つ以上のプロセッサは、
少なくとも部分的に、前記第2の画像内の前記ユーザの眼の角膜の推定される場所と、前記第2の画像内の前記ユーザの眼の瞳孔の推定される場所とに基づいて、前記姿勢を決定する
ように構成される、請求項10に記載のシステム。
The one or more processors further:
3 of the pupil of the user's eye in the second image based on the estimated location of the cornea of the user's eye in the second image and the identified region of the second image; configured to obtain a dimensional location estimate,
To determine the user's eye pose, the one or more processors:
The pose is based, at least in part, on an estimated location of a cornea of the user's eye within the second image and an estimated location of a pupil of the user's eye within the second image. 11. The system of claim 10, configured to determine:
前記1つ以上のプロセッサはさらに、
前記ユーザの眼の第3の画像を取得することと、
それぞれ、前記機械学習モデルによって直近に生成された虹彩セグメント化データに基づいて、1つ以上の閃光が表される前記第3の画像内の1つ以上の場所のセットを検出することと、
前記機械学習モデルによって直近に生成された瞳孔セグメント化データに基づいて、前記ユーザの眼の瞳孔が示される前記第3の画像の領域を識別することと、
少なくとも部分的に、前記第3の画像内の1つ以上の閃光場所の検出されたセットと、前記第3の画像の識別された領域とに基づいて、前記ユーザの眼の第2の姿勢を決定することと
を行うように構成される、請求項1に記載のシステム。
The one or more processors further:
obtaining a third image of the user's eye;
detecting a set of one or more locations in the third image where one or more flashes of light are represented, each based on iris segmentation data most recently generated by the machine learning model;
identifying a region of the third image where the pupil of the user's eye is shown based on pupil segmentation data most recently generated by the machine learning model;
determining a second pose of the user's eye based, at least in part, on the detected set of one or more flash locations in the third image and the identified region of the third image; 2. The system of claim 1, configured to: determine;
前記機械学習モデルによって直近に生成された前記虹彩セグメント化データおよび瞳孔セグメント化データは、前記第2の画像に関して前記機械学習モデルによって生成された虹彩セグメント化データおよび瞳孔セグメント化データを備える、請求項12に記載のシステム。 3. The iris segmentation data and pupil segmentation data most recently generated by the machine learning model comprise iris segmentation data and pupil segmentation data generated by the machine learning model for the second image. 13. The system according to 12. 前記機械学習モデルによって直近に生成された前記虹彩セグメント化データおよび瞳孔セグメント化データは、前記第1の画像に関して前記機械学習モデルによって生成された虹彩セグメント化データおよび瞳孔セグメント化データを備える、請求項12に記載のシステム。 3. The iris segmentation data and pupil segmentation data most recently generated by the machine learning model comprise iris segmentation data and pupil segmentation data generated by the machine learning model for the first image. 13. The system according to 12. 前記1つ以上のプロセッサはさらに、
前記第2の画像を入力として前記機械学習モデルに提供する
ように構成され、
前記機械学習モデルによって直近に生成された前記虹彩セグメント化データおよび瞳孔セグメント化データは、前記第3の画像に関して前記機械学習モデルによって生成された虹彩セグメント化データおよび瞳孔セグメント化データを備える、請求項12に記載のシステム。
The one or more processors further:
configured to provide the second image as an input to the machine learning model;
3. The iris segmentation data and pupil segmentation data most recently generated by the machine learning model comprise iris segmentation data and pupil segmentation data generated by the machine learning model for the third image. 13. The system according to 12.
前記1つ以上のプロセッサはさらに、前記第2の画像を入力として前記機械学習モデルに提供しないようにするように構成される、請求項12に記載のシステム。 13. The system of claim 12, wherein the one or more processors are further configured to avoid providing the second image as input to the machine learning model. 1つ以上のプロセッサの頭部搭載型システムによって実装される方法であって、前記頭部搭載型システムは、閃光が眼の画像内に表されるように、ユーザの眼を照明するように構成され、前記方法は、
前記ユーザの眼の第1の画像を取得することと、
眼の画像を前提として虹彩セグメント化データおよび瞳孔セグメント化データを生成するように訓練されている機械学習モデルに、前記第1の画像を入力として提供することと、
前記ユーザの眼の第2の画像を取得することと、
前記虹彩セグメント化データに基づいて、1つ以上の閃光が表される前記第2の画像内の1つ以上の場所のセットを検出することと、
前記瞳孔セグメント化データに基づいて、前記ユーザの眼の瞳孔が表される前記第2の画像の領域を識別することと、
少なくとも部分的に、前記第2の画像内の1つ以上の閃光場所の検出されたセットと、前記第2の画像の識別された領域とに基づいて、前記ユーザの眼の姿勢を決定することと
を含む、方法。
A method implemented by a head-mounted system of one or more processors, wherein the head-mounted system is configured to illuminate an eye of a user such that a flash of light is represented in an image of the eye. and the method includes:
obtaining a first image of the user's eye;
providing the first image as input to a machine learning model that has been trained to generate iris segmentation data and pupil segmentation data given an image of the eye;
obtaining a second image of the user's eye;
detecting a set of one or more locations in the second image where one or more flashes are represented based on the iris segmentation data;
identifying a region of the second image in which a pupil of the user's eye is represented based on the pupil segmentation data;
Determining the user's eye pose based, at least in part, on the detected set of one or more flash locations in the second image and the identified region of the second image. A method comprising and .
前記機械学習モデルを介して、前記第2の画像に関する虹彩セグメント化データおよび瞳孔セグメント化データを取得することと、
前記ユーザの眼の第3の画像を取得することと、
それぞれ、前記第2の画像に関する前記機械学習モデルによって生成された前記虹彩セグメント化データに基づいて、前記第3の画像内の1つ以上の閃光が示される1つ以上の場所のセットを検出することと、
前記第2の画像に関する前記機械学習モデルによって生成された前記瞳孔セグメント化データに基づいて、前記ユーザの眼の瞳孔が表される前記第3の画像の領域を識別することと、
少なくとも部分的に、前記第3の画像内の1つ以上の閃光場所の検出されたセットと、前記第3の画像の識別された領域とに基づいて、前記ユーザの眼の姿勢を決定することと
をさらに含む、請求項17に記載の方法。
obtaining iris segmentation data and pupil segmentation data for the second image via the machine learning model;
obtaining a third image of the user's eye;
detecting a set of one or more locations in the third image where one or more flashes are indicated, each based on the iris segmentation data generated by the machine learning model for the second image; and
identifying a region of the third image in which a pupil of the user's eye is represented based on the pupil segmentation data generated by the machine learning model for the second image;
Determining the user's eye pose based, at least in part, on the detected set of one or more flash locations in the third image and the identified region of the third image. 18. The method of claim 17, further comprising: and.
前記虹彩セグメント化データに基づいて、前記第2の画像の第2の領域を識別すること
をさらに含み、
前記第2の画像内の1つ以上の閃光が示される1つ以上の場所のセットを検出するために、前記方法はさらに、
前記第2の領域内の極大強度値を呈する個別の場所に関して前記第2の画像の第2の領域を検索すること
を含む、請求項17に記載の方法。
identifying a second region of the second image based on the iris segmentation data;
For detecting a set of one or more locations in the second image where one or more flashes are shown, the method further comprises
18. The method of claim 17, comprising searching a second region of the second image for distinct locations exhibiting maximum intensity values within the second region.
前記頭部搭載型システムは、1つ以上の閃光が示される1つ以上の場所のセットに関する前記特定の領域外の前記第2の画像の領域を検索しないようにするように構成される、請求項19に記載の方法。 The head-mounted system is configured to avoid searching regions of the second image outside the specified region for a set of one or more locations where one or more flashes of light are shown. Item 20. The method according to Item 19. 前記虹彩セグメント化データに基づいて、前記第1の画像内の前記ユーザの眼の虹彩の輪郭を識別すること
をさらに含み、
前記虹彩セグメント化データに基づいて、前記第2の画像の異なる領域を識別するために、前記方法はさらに、
前記第1の画像内の前記ユーザの眼の虹彩の識別された輪郭に基づいて、前記第2の画像の第3の領域を識別すること
を含む、請求項19に記載の方法。
identifying an iris outline of the user's eye in the first image based on the iris segmentation data;
To identify different regions of the second image based on the iris segmentation data, the method further comprises:
20. The method of claim 19, comprising identifying a third region of the second image based on identified contours of the iris of the user's eye in the first image.
前記瞳孔セグメント化データに基づいて、前記第1の画像内の前記ユーザの眼の瞳孔の重心を識別すること
をさらに含み、
前記第2の画像の領域を識別するために、前記方法はさらに、
前記第1の画像内の前記ユーザの眼の瞳孔の識別された重心に基づいて、前記ユーザの眼の瞳孔が表される前記第2の画像の第2の領域を識別すること
を含む、請求項17に記載の方法。
identifying the centroid of the pupil of the user's eye in the first image based on the pupil segmentation data;
To identify regions of the second image, the method further comprises:
identifying a second region of the second image in which the pupil of the user's eye is represented based on the identified centroid of the pupil of the user's eye in the first image. Item 18. The method according to Item 17.
前記第2の画像の第2の領域を識別するために、前記方法は、
前記第1の画像内の前記ユーザの眼の瞳孔の識別された重心に基づいて、前記第2の画像内の場所を識別することと、
前記第2の画像内で識別された場所から、瞳孔境界を検索することと
を含む、請求項22に記載の方法。
To identify a second region of the second image, the method comprises:
identifying a location in the second image based on the identified centroid of the pupil of the user's eye in the first image;
23. The method of claim 22, comprising retrieving pupillary boundaries from locations identified in the second image.
前記第2の画像内で識別された場所から、瞳孔境界を検索するために、前記方法は、
開始点として割り当てられる前記第2の画像内で識別された場所に基づいて、スターバースト瞳孔検出プロセスを実施すること
を含む、請求項23に記載の方法。
For retrieving a pupillary boundary from a location identified in the second image, the method comprises:
24. The method of claim 23, comprising performing a starburst pupil detection process based on locations identified in the second image that are assigned as starting points.
少なくとも部分的に、前記第2の画像内の1つ以上の閃光場所の検出されたセットと、前記第2の画像の識別された領域とに基づいて、前記ユーザの眼の姿勢を決定するために、前記方法は、
少なくとも部分的に、前記第2の画像内の1つ以上の閃光場所の検出されたセットと、前記第2の画像の識別された領域とに基づいて、前記ユーザの眼の光学軸の位置および配向推定値を取得すること
を含む、請求項17に記載の方法。
for determining an eye pose of the user based, at least in part, on a detected set of one or more flash locations in the second image and identified regions of the second image; In addition, the method includes:
Based, at least in part, on the detected set of one or more flash locations in the second image and the identified region of the second image, determining the position of the optical axis of the user's eye and 18. The method of claim 17, comprising obtaining an orientation estimate.
前記方法は、
前記第2の画像内の1つ以上の閃光場所の検出されたセットに基づいて、前記第2の画像内の前記ユーザの眼の角膜の3次元場所の推定値を取得すること
をさらに含み、
前記ユーザの眼の姿勢を決定するために、前記方法は、
少なくとも部分的に、前記第2の画像内の前記ユーザの眼の角膜の推定される場所と、前記第2の画像の識別された領域とに基づいて、前記姿勢を決定すること
を含む、請求項17に記載の方法。
The method includes
obtaining a three-dimensional location estimate of the cornea of the user's eye in the second image based on the detected set of one or more flash locations in the second image;
To determine the user's eye pose, the method comprises:
determining the pose based, at least in part, on an estimated location of the cornea of the user's eye in the second image and an identified region of the second image. Item 18. The method according to Item 17.
前記方法はさらに、
前記第2の画像内の前記ユーザの眼の角膜の推定される場所と、前記第2の画像の識別された領域とに基づいて、前記第2の画像内の前記ユーザの眼の瞳孔の3次元場所の推定値を取得すること
を含み、
前記ユーザの眼の姿勢を決定するために、前記方法は、
少なくとも部分的に、前記第2の画像内の前記ユーザの眼の角膜の推定される場所と、前記第2の画像内の前記ユーザの眼の瞳孔の推定される場所とに基づいて、前記姿勢を決定すること
を含む、請求項26に記載の方法。
The method further comprises:
3 of the pupil of the user's eye in the second image based on the estimated location of the cornea of the user's eye in the second image and the identified region of the second image; obtaining an estimate of the dimensional location,
To determine the user's eye pose, the method comprises:
The pose is based, at least in part, on an estimated location of a cornea of the user's eye within the second image and an estimated location of a pupil of the user's eye within the second image. 27. The method of claim 26, comprising determining:
前記方法はさらに、
前記ユーザの眼の第3の画像を取得することと、
それぞれ、前記機械学習モデルによって直近に生成された虹彩セグメント化データに基づいて、1つ以上の閃光が表される前記第3の画像内の1つ以上の場所のセットを検出することと、
前記機械学習モデルによって直近に生成された瞳孔セグメント化データに基づいて、前記ユーザの眼の瞳孔が示される前記第3の画像の領域を識別することと、
少なくとも部分的に、前記第3の画像内の1つ以上の閃光場所の検出されたセットと、前記第3の画像の識別された領域とに基づいて、前記ユーザの眼の第2の姿勢を決定することと
を含む、請求項17に記載の方法。
The method further comprises:
obtaining a third image of the user's eye;
detecting a set of one or more locations in the third image where one or more flashes of light are represented, each based on iris segmentation data most recently generated by the machine learning model;
identifying a region of the third image where the pupil of the user's eye is shown based on pupil segmentation data most recently generated by the machine learning model;
determining a second pose of the user's eye based, at least in part, on the detected set of one or more flash locations in the third image and the identified region of the third image; 18. The method of claim 17, comprising determining;
前記機械学習モデルによって直近に生成された前記虹彩セグメント化データおよび瞳孔セグメント化データは、前記第2の画像に関して前記機械学習モデルによって生成された虹彩セグメント化データおよび瞳孔セグメント化データを備える、請求項28に記載の方法。 3. The iris segmentation data and pupil segmentation data most recently generated by the machine learning model comprise iris segmentation data and pupil segmentation data generated by the machine learning model for the second image. 28. The method according to 28. 前記機械学習モデルによって直近に生成された前記虹彩セグメント化データおよび瞳孔セグメント化データは、前記第1の画像に関して前記機械学習モデルによって生成された虹彩セグメント化データおよび瞳孔セグメント化データを備える、請求項28に記載の方法。 3. The iris segmentation data and pupil segmentation data most recently generated by the machine learning model comprise iris segmentation data and pupil segmentation data generated by the machine learning model for the first image. 28. The method according to 28. 前記方法はさらに、
前記第2の画像を入力として前記機械学習モデルに提供すること
を含み、
前記機械学習モデルによって直近に生成された前記虹彩セグメント化データおよび瞳孔セグメント化データは、前記第3の画像に関して前記機械学習モデルによって生成された虹彩セグメント化データおよび瞳孔セグメント化データを備える、請求項28に記載の方法。
The method further comprises:
providing the second image as an input to the machine learning model;
3. The iris segmentation data and pupil segmentation data most recently generated by the machine learning model comprise iris segmentation data and pupil segmentation data generated by the machine learning model for the third image. 28. The method according to 28.
前記頭部搭載型システムは、前記第2の画像を入力として前記機械学習モデルに提供しないようにするように構成される、請求項28に記載の方法。 29. The method of claim 28, wherein the head-mounted system is configured not to provide the second image as input to the machine learning model.
JP2021578179A 2019-07-05 2020-07-01 Improved eye tracking latency Pending JP2022538669A (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962871009P 2019-07-05 2019-07-05
US62/871,009 2019-07-05
US201962945562P 2019-12-09 2019-12-09
US62/945,562 2019-12-09
PCT/US2020/040549 WO2021007087A1 (en) 2019-07-05 2020-07-01 Eye tracking latency enhancements

Publications (1)

Publication Number Publication Date
JP2022538669A true JP2022538669A (en) 2022-09-05

Family

ID=74115135

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021578179A Pending JP2022538669A (en) 2019-07-05 2020-07-01 Improved eye tracking latency

Country Status (5)

Country Link
US (1) US20220301217A1 (en)
EP (1) EP3994510A4 (en)
JP (1) JP2022538669A (en)
CN (1) CN114391117A (en)
WO (1) WO2021007087A1 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070081123A1 (en) * 2005-10-07 2007-04-12 Lewis Scott W Digital eyewear
US11662810B2 (en) * 2020-06-05 2023-05-30 Magic Leap, Inc. Enhanced eye tracking techniques based on neural network analysis of images
CN113116290A (en) * 2021-04-30 2021-07-16 南方医科大学珠江医院 Portable medical pupil measuring device and method based on vision processing technology
US20240065546A1 (en) * 2021-05-10 2024-02-29 Diplo D Ltd Automated audio-feedback computerized system and method for artificial intelligence (ai) -- controlled eye exercise
CN114889526A (en) * 2022-04-13 2022-08-12 广州优创电子有限公司 Vehicle-mounted intelligent electronic external rearview mirror with built-in left and right display screens
WO2024010780A1 (en) * 2022-07-08 2024-01-11 Warby Parker Inc. Image capture devices, systems, and methods
WO2024035108A1 (en) * 2022-08-10 2024-02-15 삼성전자 주식회사 Method for determining user's gaze and electronic device therefor

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8752963B2 (en) * 2011-11-04 2014-06-17 Microsoft Corporation See-through display brightness control
US9671566B2 (en) * 2012-06-11 2017-06-06 Magic Leap, Inc. Planar waveguide apparatus with diffraction element(s) and system employing same
IL291685B2 (en) * 2015-09-25 2023-09-01 Magic Leap Inc Methods and systems for detecting and combining structural features in 3d reconstruction
WO2017070121A1 (en) * 2015-10-20 2017-04-27 Magic Leap, Inc. Selecting virtual objects in a three-dimensional space
US10521661B2 (en) 2017-09-01 2019-12-31 Magic Leap, Inc. Detailed eye shape model for robust biometric applications
AU2017430168A1 (en) * 2017-09-01 2020-02-20 Magic Leap, Inc. Detailed eye shape model for robust biometric applications

Also Published As

Publication number Publication date
CN114391117A (en) 2022-04-22
EP3994510A1 (en) 2022-05-11
EP3994510A4 (en) 2023-08-02
WO2021007087A1 (en) 2021-01-14
US20220301217A1 (en) 2022-09-22

Similar Documents

Publication Publication Date Title
US11880033B2 (en) Display systems and methods for determining registration between a display and a user's eyes
US20230037046A1 (en) Depth plane selection for multi-depth plane display systems by user categorization
JP7178403B2 (en) Detailed Eye Shape Model for Robust Biometric Applications
US11126842B2 (en) Eye pose identification using eye features
US11227158B2 (en) Detailed eye shape model for robust biometric applications
JP2022538669A (en) Improved eye tracking latency
US11675432B2 (en) Systems and techniques for estimating eye pose
US11789262B2 (en) Systems and methods for operating a head-mounted display system based on user identity
US20230210365A1 (en) Eye tracking using aspheric cornea model
US11868525B2 (en) Eye center of rotation determination with one or more eye tracking cameras

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230623