CN111868737A - 使用神经网络的基于事件相机的注视跟踪 - Google Patents
使用神经网络的基于事件相机的注视跟踪 Download PDFInfo
- Publication number
- CN111868737A CN111868737A CN201980010044.3A CN201980010044A CN111868737A CN 111868737 A CN111868737 A CN 111868737A CN 201980010044 A CN201980010044 A CN 201980010044A CN 111868737 A CN111868737 A CN 111868737A
- Authority
- CN
- China
- Prior art keywords
- image
- neural network
- pixel
- gaze
- events
- 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
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 88
- 238000000034 method Methods 0.000 claims description 50
- 210000001747 pupil Anatomy 0.000 claims description 49
- 230000004044 response Effects 0.000 claims description 23
- 238000013527 convolutional neural network Methods 0.000 claims description 21
- 238000012549 training Methods 0.000 claims description 17
- 230000008859 change Effects 0.000 claims description 13
- 230000000306 recurrent effect Effects 0.000 claims description 7
- 230000033001 locomotion Effects 0.000 claims description 5
- 239000003990 capacitor Substances 0.000 description 28
- 230000015654 memory Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 20
- 238000004891 communication Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 238000009877 rendering Methods 0.000 description 9
- -1 802.3x Chemical compound 0.000 description 6
- 230000003190 augmentative effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 210000002569 neuron Anatomy 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 239000008280 blood Substances 0.000 description 2
- 210000004369 blood Anatomy 0.000 description 2
- 210000004087 cornea Anatomy 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007787 long-term memory Effects 0.000 description 2
- APTZNLHMIGJTEW-UHFFFAOYSA-N pyraflufen-ethyl Chemical compound C1=C(Cl)C(OCC(=O)OCC)=CC(C=2C(=C(OC(F)F)N(C)N=2)Cl)=C1F APTZNLHMIGJTEW-UHFFFAOYSA-N 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- WQZGKKKJIJFFOK-GASJEMHNSA-N Glucose Natural products OC[C@H]1OC(O)[C@H](O)[C@@H](O)[C@@H]1O WQZGKKKJIJFFOK-GASJEMHNSA-N 0.000 description 1
- 206010044565 Tremor Diseases 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- QVGXLLKOCUKJST-UHFFFAOYSA-N atomic oxygen Chemical compound [O] QVGXLLKOCUKJST-UHFFFAOYSA-N 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 239000002772 conduction electron Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000002996 emotional effect Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 230000004424 eye movement Effects 0.000 description 1
- 210000000720 eyelash Anatomy 0.000 description 1
- 210000000744 eyelid Anatomy 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000008103 glucose Substances 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000002329 infrared spectrum Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 229910052760 oxygen Inorganic materials 0.000 description 1
- 239000001301 oxygen Substances 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000010344 pupil dilation Effects 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 210000001525 retina Anatomy 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000001429 visible spectrum Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/10—Image acquisition
- G06V10/12—Details of acquisition arrangements; Constructional details thereof
- G06V10/14—Optical characteristics of the device performing the acquisition or on the illumination arrangements
- G06V10/141—Control of illumination
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/013—Eye tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4046—Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/18—Eye characteristics, e.g. of the iris
- G06V40/193—Preprocessing; Feature extraction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Ophthalmology & Optometry (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Biodiversity & Conservation Biology (AREA)
- Studio Devices (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
一个具体实施涉及接收由事件相机输出的像素事件流的设备。该设备通过为多个事件相机像素累积像素事件来导出输入图像。该设备使用所导出的输入图像作为被训练以确定该注视特性的神经网络的输入来生成注视特性。该神经网络以多个级进行配置。该神经网络的第一级被配置为使用减小分辨率的输入来确定初始注视特性,例如初始瞳孔中心。该神经网络的第二级被配置为使用位置集中的输入,例如仅使用以该初始瞳孔中心为中心的小输入图像来确定对该初始注视特性的调整。因此,每个级处的该确定是使用相对紧凑的神经网络配置来有效进行的。该设备基于该注视特性来跟踪该眼睛的注视。
Description
技术领域
本公开整体涉及注视跟踪,并且具体地涉及用于使用事件相机数据的注视跟踪的***、方法和设备。
背景技术
现有的注视跟踪***基于用户眼睛的基于快门的相机图像来确定用户的注视方向。现有的注视跟踪***常常包括相机,该相机将用户的眼睛的图像传输给执行注视跟踪的处理器。以足以使得能够实现注视跟踪的帧速率传输图像就需要具有相当大带宽的通信链路,并且使用此类通信链路就增大设备的生成的热量和功率消耗。
发明内容
本文公开的各种具体实施包括使用神经网络以进行基于事件相机的注视跟踪的设备、***和方法。一种示例性具体实施涉及在具有一个或多个处理器和计算机可读存储介质的设备处执行操作。该设备接收由事件相机输出的像素事件流。事件相机具有被定位成从眼睛表面接收光的像素传感器。响应于相应像素传感器检测到相应事件相机像素处的光的超过比较器阈值的光强度变化,生成每个相应像素事件。该设备通过累积多个事件相机像素的像素事件来从像素事件流导出图像。设备使用所导出的图像作为神经网络的输入来生成注视特性。使用识别注视特性的训练图像的训练数据集来训练神经网络以确定注视特性。设备基于使用神经网络生成的注视特性跟踪眼睛的注视。
各种具体实施将神经网络配置为有效地确定注视特性。例如,通过使用多级神经网络来实现效率。神经网络的第一级被配置为使用减小分辨率的输入来确定初始注视特性(例如,初始瞳孔中心)。神经网络的第二级被配置为使用位置集中的输入(例如,仅使用以初始瞳孔中心为中心的小输入图像)来确定对初始注视特性的调整。因此,每个级处的确定是使用相对紧凑的神经网络配置来有效计算的。
在一些具体实施中,使用递归神经网络(诸如长期/短期记忆(LSTM)或基于门递归单元(GRU)的网络)来确定注视特性。使用递归神经网络可以提供效率。神经网络保持用于随着时间推移细化注视特性,以及产生更平滑的输出结果的内部状态。在瞬时模糊场景(诸如由于睫毛引起的遮蔽)期间,内部状态用于确保注视特性的时间一致性。
根据一些具体实施,一种设备包括一个或多个处理器、非暂态存储器以及一个或多个程序;该一个或多个程序被存储在非暂态存储器中并且被配置为由一个或多个处理器执行,并且该一个或多个程序包括用于执行或使得执行本文所述方法中的任一种的指令。根据一些具体实施,一种非暂态计算机可读存储介质中存储有指令,这些指令在由设备的一个或多个处理器执行时使该设备执行或使执行本文所述方法中的任一种。根据一些具体实施,一种设备包括:一个或多个处理器、非暂态存储器以及用于执行或使执行本文所述方法中的任一种的装置。
附图说明
因此,本公开可由本领域的普通技术人员理解,更详细的描述可参考一些示例性具体实施的方面,其中一些具体实施在附图中示出。
图1是根据一些具体实施的示例性操作环境的框图。
图2是根据一些具体实施的示例性控制器的框图。
图3是根据一些具体实施的示例性头戴式设备(HMD)的框图。
图4是根据一些具体实施的示例性头戴式设备(HMD)的框图。
图5示出了根据一些具体实施的事件相机的框图。
图6是根据一些具体实施的基于事件相机的注视跟踪的方法的流程图表示。
图7示出了功能框图,示出了根据一些具体实施的基于事件相机的注视跟踪过程。
图8示出了功能框图,示出了根据一些具体实施的使用卷积神经网络进行注视跟踪的***。
图9示出了功能框图,示出了根据一些具体实施的使用卷积神经网络进行注视跟踪的***。
图10示出了功能框图,示出了图9的卷积神经网络的卷积层。
图11示出了功能框图,示出了根据一些具体实施的使用初始化网络和细化网络以进行注视跟踪的***。
根据通常的做法,附图中示出的各种特征部可能未按比例绘制。因此,为了清楚起见,可以任意地扩展或减小各种特征部的尺寸。另外,一些附图可能未描绘给定的***、方法或设备的所有部件。最后,在整个说明书和附图中,类似的附图标号可用于表示类似的特征部。
具体实施方式
描述了许多细节以便提供对附图中所示的示例性具体实施的透彻理解。然而,附图仅示出了本公开的一些示例方面,因此不应被视为限制。本领域的普通技术人员将理解,其他有效方面和/或变体不包括本文所述的所有具体细节。此外,没有详尽地描述众所周知的***、方法、部件、设备和电路,以免模糊本文所述的示例性具体实施的更多相关方面。
在各种具体实施中,注视跟踪用于使能用户交互,提供中央凹渲染,或减轻几何失真。注视跟踪***包括相机和处理器,该处理器对从相机接收的关于从用户的眼睛反射的来自光源的光的数据执行注视跟踪。在各种具体实施中,相机包括具有多个相应位置处的多个光传感器的事件相机,所述事件相机响应于特定光传感器检测到光强度变化而生成指示所述特定光传感器的特定位置的事件消息。事件相机可包括或被称为动态视觉传感器(DVS)、硅视网膜、基于事件的相机、或无帧相机。因此,事件相机生成(并传输)关于光强度变化的数据,而不是更大量的关于每个光传感器处的绝对强度的数据。另外,因为在强度变化时生成数据,所以在各种具体实施中,光源被配置为发射具有调制强度的光。
在各种具体实施中,累积来自一个或多个事件相机的异步像素事件数据以产生神经网络的一个或多个输入,该神经网络被配置为确定一个或多个注视特性(例如,瞳孔中心、瞳孔轮廓、闪烁位置、注视方向等)。累积的事件数据可以随时间推移进行累积以产生神经网络的一个或多个输入图像。可以通过随时间推移累积事件数据以产生强度重建图像来创建第一输入图像,该强度重建图像使用事件数据来重建各个像素位置处的图像强度。可以通过随时间推移累积事件数据以产生时间戳图像来创建第二输入图像,该时间戳图像对每个事件相机像素处的相机事件的年龄(例如,自从最近事件以来的时间)进行编码。可以通过随时间推移累积闪烁特定的事件相机数据以产生闪烁图像来创建第三输入图像。这些输入图像单独使用或者彼此结合使用和/或与神经网络的其他输入结合使用以生成注视特性。在其他具体实施中,事件相机数据以其他形式(例如,单独事件、预定时间窗口(例如,10毫秒)内的事件)用作神经网络的输入。
在各种具体实施中,用于确定注视特性的神经网络被配置为有效地这样做。例如,通过使用多级神经网络来实现效率。神经网络的第一级被配置为使用减小分辨率的输入来确定初始注视特性(例如,初始瞳孔中心)。例如,不是使用400×400像素的输入图像,而是可以将第一级处的输入图像的分辨率降低到50×50像素。神经网络的第二级被配置为使用位置集中的输入(例如,仅使用以初始瞳孔中心为中心的小输入图像)来确定对初始注视特性的调整。例如,不是使用400×400像素的输入图像,而是可以将该输入图像的以相同分辨率的选定部分(例如,以瞳孔中心为中心的80×80像素)用作第二级处的输入。因此,每个级处的确定是使用相对紧凑的神经网络配置来进行的。由于相应输入(例如,50×50像素的图像和80×80像素的图像)小于从事件相机接收的数据的整个图像的全分辨率(例如,400×400像素的图像),因此相应神经网络配置是相对较小和有效的。
图1是根据一些具体实施的示例性操作环境100的框图。尽管示出了相关特征,但本领域的普通技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的示例性具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,操作环境100包括控制器110和头戴式设备(HMD)120。
在一些具体实施中,控制器110被配置为管理和协调用户的增强现实/虚拟现实(AR/VR)体验。在一些具体实施中,控制器110包括软件、固件和/或硬件的合适组合。下文参考图2更详细地描述控制器110。在一些具体实施中,控制器110是相对于场景105处于本地或远程位置的计算设备。在一个示例中,控制器110是位于场景105内的本地服务器。在另一个示例中,控制器110是位于场景105之外的远程服务器(例如,云服务器、中央服务器等)。在一些具体实施中,控制器110经由一个或多个有线或无线通信信道144(例如,蓝牙、IEEE802.11x、IEEE 802.16x、IEEE 802.3x等)与HMD 120通信耦接。
在一些具体实施中,HMD 120被配置为向用户呈现AR/VR体验。在一些具体实施中,HMD 120包括软件、固件和/或硬件的合适组合。下文参考图3更详细地描述HMD 120。在一些具体实施中,控制器110的功能由HMD 120提供和/或与HMD 120结合。
根据一些具体实施,在用户虚拟地和/或物理地存在于场景105内的同时,HMD 120向用户提供增强现实/虚拟现实(AR/VR)体验。在一些具体实施中,在呈现增强现实(AR)体验的同时,HMD 120被配置为呈现AR内容以及使得能够实现场景105的光学透视。在一些具体实施中,在呈现虚拟现实(VR)体验的同时,HMD 120被配置为呈现VR内容以及使得能够实现场景105的视频透视。
在一些具体实施中,用户将HMD 120戴在头上。因此,HMD 120包括被提供用于显示AR/VR内容的一个或多个AR/VR显示器。例如,HMD 120包围用户的视野。在一些具体实施中,HMD 120被替换成被配置为向用户呈现AR/VR内容的手持式电子设备(例如,智能电话或平板电脑)。在一些具体实施中,用被配置为呈现AR/VR内容的AR/VR室、围场或房间替代HMD120,用户在其中不佩戴或握持HMD 120。
图2是根据一些具体实施的控制器110的示例的框图。尽管示出了一些具体特征,但本领域的技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,在一些具体实施中,控制器110包括一个或多个处理单元202(例如,微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、图形处理单元(GPU)、中央处理单元(CPU)、处理核心等)、一个或多个输入/输出(I/O)设备206、一个或多个通信接口208(例如,通用串行总线(USB)、FIREWIRE、THUNDERBOLT、IEEE 802.3x、IEEE 802.11x、IEEE 802.16x、全球移动通信***(GSM)、码分多址(CDMA)、时分多址(TDMA)、全球定位***(GPS)、红外(IR)、蓝牙、ZIGBEE和/或相似类型接口)、一个或多个编程(例如,I/O)接口210、存储器220以及用于互连这些部件和各种其他部件的一条或多条通信总线204。
在一些具体实施中,所述一条或多条通信总线204包括互连***部件和控制***部件之间的通信的电路。在一些具体实施中,一个或多个I/O设备206包括键盘、鼠标、触控板、操纵杆、一个或多个麦克风、一个或多个扬声器、一个或多个图像传感器、一个或多个显示器等中的至少一种。
存储器220包括高速随机存取存储器,诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、双倍数据速率随机存取存储器(DDR RAM)或者其他随机存取固态存储器设备。在一些具体实施中,存储器220包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器220任选地包括远离所述一个或多个处理单元202定位的一个或多个存储设备。存储器220包括非暂态计算机可读存储介质。在一些具体实施中,存储器220或者存储器220的非暂态计算机可读存储介质存储下述程序、模块和数据结构或者它们的子集,其中包括任选的操作***230和增强现实/虚拟现实(AR/VR)体验模块240。
操作***230包括用于处理各种基础***服务和用于执行硬件相关任务的过程。在一些具体实施中,AR/VR体验模块240被配置为管理和协调一个或多个用户的一个或多个AR/VR体验(例如,用于一个或多个用户的单个AR/VR体验,或用于一个或多个用户的相应群组的多个AR/VR体验)。为此,在各种具体实施中,AR/VR体验模块240包括数据获取单元242、跟踪单元244、协调单元246和渲染单元248。
在一些具体实施中,数据获取单元242被配置为至少从HMD 120获取数据(例如,呈现数据、交互数据、传感器数据、位置数据等)。为此,在各种具体实施中,数据获取单元242包括指令和/或用于指令的逻辑部件以及启发法和用于启发法的元数据。
在一些具体实施中,跟踪单元244被配置为映射场景105并且至少跟踪HMD 120相对于场景105的位置/定位。为此,在各种具体实施中,跟踪单元244包括指令和/或用于指令的逻辑部件以及启发法和用于启发法的元数据。
在一些具体实施中,协调单元246被配置为管理和协调HMD 120向用户呈现的AR/VR体验。为此,在各种具体实施中,协调单元246包括指令和/或用于指令的逻辑部件以及启发法和用于启发法的元数据。
在一些具体实施中,渲染单元248被配置为渲染内容以供在HMD 120上显示。为此,在各种具体实施中,渲染单元248包括指令和/或用于指令的逻辑部件以及启发法和用于启发法的元数据。
尽管数据获取单元242、跟踪单元244、协调单元246和渲染单元248被示为驻留在单个设备(例如,控制器110)上,但应当理解,在其他具体实施中,数据获取单元242、跟踪单元244、协调单元246和渲染单元248的任何组合可位于单独计算设备中。
此外,图2更多地用作存在于特定具体实施中的各种特征部的功能描述,与本文所述的具体实施的结构示意图不同。如本领域的普通技术人员将认识到的,单独显示的项目可以组合,并且一些项目可以分开。例如,图2中单独示出的一些功能模块可以在单个模块中实现,并且单个功能块的各种功能可在各种具体实施中通过一个或多个功能块来实现。模块的实际数量和特定功能的划分以及如何在其中分配特征将根据具体实施而变化,并且在一些具体实施中,部分地取决于为特定实施方案选择的硬件、软件和/或固件的特定组合。
图3是根据一些具体实施的头戴式设备(HMD)120的示例的框图。尽管示出了一些具体特征,但本领域的技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,在一些具体实施中,HMD 120包括一个或多个处理单元302(例如,微处理器、ASIC、FPGA、GPU、CPU、处理核心等)、一个或多个输入/输出(I/O)设备及传感器306、一个或多个通信接口308(例如,USB、FIREWIRE、THUNDERBOLT、IEEE 802.3x、IEEE 802.11x、IEEE 802.16x、GSM、CDMA、TDMA、GPS、IR、蓝牙、ZIGBEE、SPI、I2C和/或类似类型的接口)、一个或多个编程(例如,I/O)接口310、一个或多个AR/VR显示器312、一个或多个面向内部和/或面向外部的图像传感器***314、存储器320以及用于互连这些部件和各种其他部件的一条或多条通信总线304。
在一些具体实施中,一条或多条通信总线304包括互连和控制***部件之间的通信的电路。在一些具体实施中,所述一个或多个I/O设备及传感器306包括以下项中的至少一个:惯性测量单元(IMU)、加速度计、磁力计、陀螺仪、温度计、一个或多个生理传感器(例如,血压监测仪、心率监测仪、血氧传感器、血糖传感器等)、一个或多个麦克风、一个或多个扬声器、触觉引擎以及/或者一个或多个深度传感器(例如,结构光、飞行时间等)等。
在一些具体实施中,所述一个或多个AR/VR显示器312被配置为向用户呈现AR/VR体验。在一些具体实施中,一个或多个AR/VR显示器312对应于全息、数字光处理(DLP)、液晶显示器(LCD)、硅上液晶(LCoS)、有机发光场效应晶体管(OLET)、有机发光二极管(OLED)、表面传导电子发射器显示器(SED)、场发射显示器(FED)、量子点发光二极管(QD-LED)、微机电***(MEMS)和/或相似显示器类型。在一些具体实施中,一个或多个AR/VR显示器312对应于衍射、反射、偏振、全息等波导显示器。例如,HMD 120包括单个AR/VR显示器。在另一示例中,HMD 120对于用户的每只眼睛包括AR/VR显示器。在一些具体实施中,一个或多个AR/VR显示器312能够呈现AR和VR内容。在一些具体实施中,一个或多个AR/VR显示器312能够呈现AR或VR内容。
在一些具体实施中,所述一个或多个图像传感器***314被配置为获取与包括用户的眼睛的用户的面部的至少一部分对应的图像数据。例如,所述一个或多个图像传感器***314包括一个或多个RGB相机(例如,具有互补金属氧化物半导体(CMOS)图像传感器或电荷耦合器件(CCD)图像传感器)、单色相机、IR相机、基于事件的相机等。在各种具体实施中,所述一个或多个图像传感器***314还包括发射光在用户的面部的所述一部分上的照明源,诸如闪光灯或闪光源。
存储器320包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备。在一些具体实施中,存储器320包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器320任选地包括远离所述一个或多个处理单元302定位的一个或多个存储设备。存储器320包括非暂态计算机可读存储介质。在一些具体实施中,存储器320或者存储器320的非暂态计算机可读存储介质存储下述程序、模块和数据结构或者他们的子集,其中包括任选的操作***330、AR/VR呈现模块340、和用户数据存储装置360。
操作***330包括用于处理各种基础***服务和用于执行硬件相关任务的过程。在一些具体实施中,AR/VR呈现模块340被配置为经由所述一个或多个AR/VR显示器312向用户呈现AR/VR内容。为此,在各种具体实施中,AR/VR呈现模块340包括数据获取单元342、AR/VR呈现单元344、注视跟踪单元346和数据传输单元348。
在一些具体实施中,数据获取单元342被配置为至少从控制器110获取数据(例如,呈现数据、交互数据、传感器数据、位置数据等)。为此,在各种具体实施中,数据获取单元342包括指令和/或用于指令的逻辑部件以及启发法和用于启发法的元数据。
在一些具体实施中,AR/VR呈现单元344被配置为经由所述一个或多个AR/VR显示器312呈现AR/VR内容。为此,在各种具体实施中,AR/VR呈现单元344包括指令和/或用于指令的逻辑部件以及启发法和用于启发法的元数据。
在一些具体实施中,注视跟踪单元346被配置为基于从事件相机接收的事件消息来确定用户的注视跟踪特性。为此,在各种具体实施中,注视跟踪单元346包括指令和/或用于指令的逻辑部件、配置的神经网络以及启发法和用于启发法的元数据。
在一些具体实施中,数据传输单元348被配置为至少向控制器110传输数据(例如,呈现数据、位置数据等)。为此,在各种具体实施中,数据传输单元348包括指令和/或用于指令的逻辑部件以及启发法和用于启发法的元数据。
尽管数据获取单元342、AR/VR呈现单元344、注视跟踪单元346和数据传输单元348被示为驻留在单个设备(例如,HMD 120)上,但应当理解,在其他具体实施中,数据获取单元342、AR/VR呈现单元344、注视跟踪单元346和数据传输单元348的任何组合可位于单独计算设备中。
此外,图3更多地用作存在于特定具体实施中的各种特征部的功能描述,与本文所述的具体实施的结构示意图不同。如本领域的普通技术人员将认识到的,单独显示的项目可以组合,并且一些项目可以分开。例如,图3中单独示出的一些功能模块可以在单个模块中实现,并且单个功能块的各种功能可在各种具体实施中通过一个或多个功能块来实现。模块的实际数量和特定功能的划分以及如何在其中分配特征将根据具体实施而变化,并且在一些具体实施中,部分地取决于为特定实施方案选择的硬件、软件和/或固件的特定组合。
图4示出了根据一些具体实施的头戴式设备400的框图。头戴式设备400包括容纳头戴式设备400的各种部件的外壳401(或封装件)。外壳401包括(或耦接到)设置在外壳401的近侧(相对于用户10)端部处的眼垫405。在各种具体实施中,眼垫405是塑料或橡胶件,其舒适且贴合地将头戴式设备400保持在用户10的面部上的适当位置(例如,围绕用户10的眼睛)。
外壳401容纳显示器410,该显示器显示图像、朝向用户10的眼睛发射光或将光发射到该用户的眼睛上。在各种具体实施中,显示器410发射光通过目镜(未示出),该目镜折射由显示器410发射的光,使显示器在用户10看来是在比从眼睛到显示器410的实际距离远的虚拟距离处。为了用户能够聚焦在显示器410上,在各种具体实施中,虚拟距离至少大于眼睛的最小焦距(例如,7cm)。此外,为了提供更好的用户体验,在各种具体实施中,虚拟距离大于1米。
虽然图4示出了包括显示器410和眼垫405的头戴式设备400,但在多种具体实施中,头戴式设备400不包括显示器410或者包括光学透视显示器而不包括眼垫405。
外壳401还容纳注视跟踪***,该注视跟踪***包括一个或多个光源422、相机424和控制器480。所述一个或多个光源422将光发射到用户10的眼睛上,其反射成可由相机424检测的光图案(例如,闪光圈)。基于该光图案,控制器480可确定用户10的注视跟踪特性。例如,控制器480可确定用户10的注视方向和/或眨眼状态(睁眼或闭眼)。又如,控制器480可确定瞳孔中心、瞳孔尺寸或关注点。因此,在各种具体实施中,光由所述一个或多个光源422发射,从用户10的眼睛反射,并且由相机424检测。在各种具体实施中,来自用户10的眼睛的光在到达相机424之前从热镜反射或通过目镜。
显示器410发射第一波长范围内的光,并且所述一个或多个光源422发射第二波长范围内的光。类似地,相机424检测第二波长范围内的光。在各种具体实施中,第一波长范围是可见波长范围(例如,可见光谱内大约为400nm-700nm的波长范围),并且第二波长范围是近红外波长范围(例如,近红外光谱内约为700nm-1400nm的波长范围)。
在各种具体实施中,注视跟踪(或者具体地讲,所确定的注视方向)用于使能用户交互(例如,用户10通过看着显示器410上的选项来选择它),提供中心凹渲染(例如,在用户10正在看着的显示器410的区域中呈现较高的分辨率而在显示器410上的其他地方呈现较低的分辨率),或者减少几何失真(例如,显示器410上对象的3D渲染中)。
在各种具体实施中,所述一个或多个光源422朝向用户的眼睛发射光,该光以多个闪烁的形式反射。
在各种具体实施中,一个或多个光源422朝用户的眼睛发射具有调制强度的光。因此,在第一时间,所述多个光源中的第一光源以第一强度投射到用户的眼睛上,并且在第二时间,所述多个光源中的第一光源以不同于第一强度的第二强度(其可为零,例如,关断)投射到用户的眼睛上。
多个闪烁可以由以调制强度朝用户的眼睛发射(并且被角膜反射)的光产生。例如,在第一时间,多个闪烁中的第一闪烁和第五闪烁被眼睛以第一强度反射。在比第一时间晚的第二时间,第一闪烁和第五闪烁的强度被调制为第二强度(例如,零)。另外,在第二时间,多个闪烁中的第二闪烁和第六闪烁被用户的眼睛以第一强度反射。在比第二时间晚的第三时间,多个闪烁中的第三闪烁和第七闪烁被用户的眼睛以第一强度反射。在比第三时间晚的第四时间,多个闪烁中的第四闪烁和第八闪烁被用户的眼睛以第一强度反射。在比第四时间晚的第五时间,第一闪烁和第五闪烁的强度被调制回第一强度。
因此,在各种具体实施中,多个闪烁中的每一者以调制频率(例如,600Hz)闪动接通和关断。然而,第二闪烁的相位相对于第一闪烁的相位偏移,第三闪烁的相位相对于第二闪烁的相位偏移等。闪烁可能以这种方式被配置为看起来围绕角膜旋转。
因此,在各种具体实施中,所述多个光源中不同光源的强度以不同方式调制。因此,在分析被眼睛反射并被相机424检测的闪烁时,可确定闪烁以及对应光源(例如,哪个光源产生已被检测到的闪烁)的身份。
在各种具体实施中,一个或多个光源422以各种方式被差分调制。在各种具体实施中,多个光源中的第一光源以第一频率被调制具有第一相位偏移(例如,第一闪烁),并且多个光源中的第二光源以第一频率被调制具有第二相位偏移(例如,第二闪烁)。
在各种具体实施中,所述一个或多个光源422以不同调制频率调制发射光的强度。例如,在各种具体实施中,所述多个光源中的第一光源以第一频率(例如,600Hz)调制,并且所述多个光源中的第二光源以第二频率(例如,500Hz)调制。
在各种具体实施中,所述一个或多个光源422根据不同的正交码调制发射光的强度,诸如可在CDMA(码分多址)通信中使用的那些。例如,沃尔什矩阵的行或列可用作正交码。因此,在各种具体实施中,所述多个光源中的第一光源根据第一正交码调制,并且所述多个光源中的第二光源根据第二正交码调制。
在各种具体实施中,所述一个或多个光源422在高强度值和低强度值之间调制发射光的强度。因此,在各个时间,光源发射的光的强度为高强度值或为低强度值。在各种具体实施中,低强度值为零。因此,在各种具体实施中,所述一个或多个光源422在接通状态(在高强度值处)和关断状态(在低强度值处)之间调制发射光的强度。在各种具体实施中,所述多个光源中处于接通状态的光源的数量是恒定的。
在各种具体实施中,所述一个或多个光源422在强度范围内(例如,在10%最大强度和40%最大强度之间)调制发射光的强度。因此,在各个时间,光源的强度为低强度值,为高强度值,或为介于两者之间的某个值。在各种具体实施中,所述一个或多个光源422被差分调制,使得所述多个光源中的第一光源在第一强度范围内被调制,并且所述多个光源中的第二光源在不同于所述第一强度范围的第二强度范围内被调制。
在各种具体实施中,所述一个或多个光源422根据注视方向调制发射光的强度。例如,如果用户正注视特定光源被瞳孔反射的方向,则一个或多个光源422基于这个认知而改变发射光的强度。在各种具体实施中,所述一个或多个光源422降低发射光的强度,以减少近红外光进入瞳孔的量,作为安全预防措施。
在各种具体实施中,所述一个或多个光源422根据用户生物计量来调制发射光的强度。例如,如果用户眨眼多于正常,心率升高或者被注册为儿童,则所述一个或多个光源422降低发射光的强度(或所述多个光源发射的所有光的总强度)以减小眼睛上的负担。又如,所述一个或多个光源422基于用户的眼睛颜色来调制发射光的强度,因为与棕色眼睛相比,谱反射率对于蓝色眼睛可能不同。
在各种具体实施中,所述一个或多个光源422根据呈现的用户界面(例如,显示器410上显示的内容)来调制发射光的强度。例如,如果显示器410异常亮(例如,正在显示***的视频),则所述一个或多个光源422增大发射光的强度以补偿来自显示器410的潜在干扰。
在各种具体实施中,相机424是基于帧/快门的相机,其以帧速率在特定时间点或多个时间点生成用户10的眼睛的图像。每个图像包括对应于图像的像素的像素值的矩阵,所述像素对应于相机的光传感器矩阵的位置。
在各种具体实施中,相机424是包括在多个相应位置处的多个光传感器(例如,光传感器矩阵)的事件相机,该事件相机响应于特定光传感器检测到光强度变化而生成指示所述特定光传感器的特定位置的事件消息。
图5示出了根据一些具体实施的事件相机500的功能框图。事件相机500包括分别耦接到消息发生器532的多个光传感器515。在各种具体实施中,多个光传感器515被布置成行和列的矩阵510,并且因此,多个光传感器515中的每一者与行值和列值相关联。
多个光传感器515中的每一个光传感器包括图5中详细示出的光传感器520。光传感器520包括在源电压和地电压之间的与电阻器523串联的光电二极管521。光电二极管521上的电压与入射在光传感器520上的光的强度成比例。光传感器520包括与光电二极管521并联的第一电容器525。因此,第一电容器525上的电压与光电二极管521上的电压相同(例如,与光传感器520所检测到的光的强度成比例)。
光传感器520包括耦接在第一电容器525和第二电容器527之间的开关529。第二电容器527耦接在开关和地电压之间。因此,当开关529闭合时,第二电容器527上的电压与第一电容器525上的电压相同(例如,与光传感器520所检测到的光的强度成比例)。当开关529断开时,第二电容器527上的电压固定在当开关529上次闭合时在第二电容器527上的电压处。
第一电容器525上的电压和第二电容器527上的电压被馈送给比较器531。当第一电容器525上的电压与第二电容器527上的电压之间的差值552小于阈值量时,比较器531输出“0”电压。当第一电容器525上的电压比第二电容器527上的电压高至少阈值量时,比较器531输出“1”电压。当第一电容器525上的电压比第二电容器527上的电压低至少阈值量时,比较器531输出“-1”电压。
当比较器531输出“1”电压或“-1”电压时,开关529闭合,并且消息发生器532接收该数字信号并生成像素事件消息。
例如,在第一时间,入射在光传感器520上的光的强度为第一光值。因此,光电二极管521上的电压为第一电压值。同样,第一电容器525上的电压为第一电压值。对于该示例,第二电容器527上的电压也为第一电压值。因此,比较器531输出“0”电压,开关529保持闭合,并且消息发生器532不执行任何操作。
在第二时间,入射在光传感器520上的光的强度增大到第二光值。因此,光电二极管521上的电压为第二电压值(高于第一电压值)。同样,第一电容器525上的电压为第二电压值。因为开关529断开,所以第二电容器527上的电压仍为第一电压值。假设第二电压值至少比第一电压值高该阈值,则比较器531输出“1”电压,闭合开关529,并且消息发生器532基于所接收的数字信号而生成事件消息。
在开关529由于来自比较器531的“1”电压而闭合时,第二电容器527上的电压从第一电压值变成第二电压值。因此,比较器531输出“0”电压,断开开关529。
在第三时间,入射在光传感器520上的光的强度(又)增大到第三光值。因此,光电二极管521上的电压为第三电压值(高于第二电压值)。同样,第一电容器525上的电压为第三电压值。因为开关529断开,所以第二电容器527上的电压仍为第二电压值。假设第三电压值至少比第二电压值高该阈值,则比较器531输出“1”电压,闭合开关529,并且消息发生器532基于所接收的数字信号而生成事件消息。
在开关529由于来自比较器531的“1”电压而闭合时,第二电容器527上的电压从第二电压值变成第三电压值。因此,比较器531输出“0”电压,断开开关529。
在第四时间,入射在光传感器520上的光的强度减小回到第二光值。因此,光电二极管521上的电压为第二电压值(小于第三电压值)。同样,第一电容器525上的电压为第二电压值。因为开关529断开,所以第二电容器527上的电压仍为第三电压值。因此,比较器531输出“-1”电压,闭合开关529,并且消息发生器532基于所接收的数字信号生成事件消息。
在开关529由于来自比较器531的“-1”电压而闭合时,第二电容器527上的电压从第三电压值变成第二电压值。因此,比较器531输出“0”电压,断开开关529。
消息发生器532在不同时间接收来自多个光传感器510中每一者的数字信号,该数字信号指示光强度的增大(“1”电压)或光强度的减小(“-1”电压)。响应于接收到来自多个光传感器510中特定光传感器的数字信号,消息发生器532生成像素事件消息。
在各种具体实施中,每个像素事件消息在位置字段中指示特定光传感器的特定位置。在各种具体实施中,事件消息以像素坐标指示特定位置,诸如行值(例如,在行字段中)和列值(例如,在列字段中)。在各种具体实施中,事件消息在极性字段中进一步指示光强度变化的极性。例如,事件消息可在极性字段中包括“1”以指示光强度的增大,并且可在极性字段中包括“0”以指示光强度的减小。在各种具体实施中,事件消息在时间字段中进一步指示检测到光强度变化的时间(例如,接收数字信号的时间)。在各种具体实施中,事件消息在绝对强度字段(未示出)中指示表示所检测到的光的强度的值,作为极性的替代或除极性之外。
图6是根据一些具体实施的基于事件相机的注视跟踪的方法60的流程图表示。在一些具体实施中,方法600由设备(例如,图1和图2的控制器110)执行,诸如移动设备、台式计算机、膝上型电脑或服务器设备。方法600可以在具有用于显示2D图像的屏幕和/或用于观看立体图像的屏幕的设备(例如,图1和图3的HMD 120)上执行,诸如虚拟现实(VR)显示器(例如,头戴式显示器(HMD))或增强现实(AR)显示器。在一些具体实施中,方法600由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些具体实施中,方法600由执行存储在非暂态计算机可读介质(例如,存储器)中的代码的处理器执行。
在框610处,方法600接收由事件相机输出的像素事件流。像素事件数据可为各种形式。像素事件流可被接收为识别事件相机的一个或多个像素处的像素事件的一系列消息。在各种具体实施中,接收像素事件消息,每个像素事件消息包括用于特定光传感器的特定位置的位置字段、极性字段、时间字段和/或绝对强度字段。
在框620处,方法600从像素事件流导出一个或多个图像。导出一个或多个图像以提供神经网络的组合输入。在替代的具体实施中,将像素事件数据作为单独输入项目(例如,每个事件有一个输入)、输入批次(例如,每个输入有10个事件)直接馈送到神经网络中,或者另外将其调整为用于输入到神经网络中的适当形式。
在导出输入图像的具体实施中,输入图像中的信息表示在事件相机网格(例如,图5的网格510)中的对应位置处的事件相机数据。因此,输入图像的右上角中的像素的值对应于事件相机的像素网格中的右上事件相机传感器的事件相机数据。累积多个事件的像素事件数据并且使用其来生成编译多个像素的事件数据的图像。在一个示例中,创建表示在特定时间窗口内(例如,在最近10ms内)出现的像素事件的输入图像。在另一个示例中,创建表示直到特定时间点出现的像素事件的输入图像,例如,识别在每个像素处出现的最近像素事件。在另一个示例中,随时间推移累积像素事件以跟踪或估计每个像素的绝对强度值。
与像素事件流中包括的像素事件相关联的位置字段可以用于识别对应事件相机像素的位置。例如,像素事件流中的像素事件数据可以识别在右上角像素中出现的像素事件,并且此信息可以用于分配输入图像的对应右上像素中的值。在本文中相对于图7描述了导出输入图像(诸如强度重建图像、时间戳图像和闪烁图像)的示例。
在框630处,方法600使用神经网络来生成注视特性。从事件相机的像素事件流导出的一个或多个输入图像用作神经网络的输入。使用识别注视特性的训练图像的训练数据集来训练神经网络以确定注视特性。例如,可以使用多个受检者(例如,25个受检者、50个受检者、100个受检者、1,000个受检者、10,000个受检者等)的眼睛的基于快门的图像或事件相机导出的图像来创建训练集。训练数据集可以包括每个受检者的眼睛的多个图像(例如,25个图像、50个图像、100个图像、1,000个图像、10,000个图像等)。训练数据可以包括基础事实注视特性识别,例如,识别瞳孔中心位置、瞳孔轮廓形状、瞳孔扩张、闪烁位置、注视方向等的位置或方向信息。对于瞳孔轮廓形状,可以通过指示围绕瞳孔周边的点(例如,围绕瞳孔以可重复方式采样并与椭圆拟合的五个点)的集合的数据来训练神经网络。可以附加地或另选地通过情感特性(例如,如相对较大瞳孔尺寸所指示的“感兴趣的”,以及如相对较小瞳孔尺寸所指示的“不感兴趣的”)来标记训练数据。可以手动识别、半自动确定或自动确定基础事实数据。神经网络可以被配置为使用事件相机数据、基于快门的相机数据、或两种类型的数据的组合。神经网络可以被配置为与数据来自基于快门的相机还是来自事件相机无关。
在框640处,方法600基于注视特性来跟踪注视。在一些具体实施中,基于瞳孔中心位置、闪烁位置、或这些特征的组合来跟踪注视。在一些具体实施中,通过跟踪瞳孔中心和闪烁位置来跟踪注视以确定并更新然后用于重建注视方向的眼睛的几何模型。在一些具体实施中,通过比较当前注视特性和先前注视特性来跟踪注视。例如,可以使用算法以便在瞳孔中心位置随时间变化时对其进行比较来跟踪注视。
在一些具体实施中,基于附加信息来跟踪注视。例如,当用户选择UI项目时,可以确定在HMD的屏幕上显示的UI项目的选择与瞳孔中心位置之间的对应关系。这假定用户在其选择UI项时正在看着它。基于显示器上的UI元素的位置、显示器相对于用户的位置和当前瞳孔位置,可以确定与从眼睛到UI元素的方向相关联的注视方向。此类信息可以用于调整或校准基于事件相机数据执行的注视跟踪。
在一些具体实施中,跟踪眼睛的注视涉及在接收事件流中的后续像素事件时实时更新注视特性。像素事件用于导出附加图像,并且附加图像用作神经网络的输入以生成更新的注视特性。注视特性可以用于多种用途。在一个示例中,已确定或更新的注视特性用于识别显示器上显示的项目,例如,以识别用户正在看着哪个按钮、图像、文本、或其他用户界面项目。在另一个示例中,已确定或更新的注视特性用于在显示器上显示图形指示符(例如,光标或其他用户控制的图标)的移动。在另一个示例中,已确定或更新的注视特性用于选择在显示器上显示的项目(例如,经由光标选择命令)。例如,可以将特定的注视移动模式识别并解释为特定的命令。
基于事件相机的注视跟踪技术(诸如图6所示的方法600)提供了优于仅依赖于基于快门的相机数据的技术的许多优点。事件相机可能以非常高的采样率捕获数据,并且因此与使用基于快门的相机相比允许以更快的速率创建输入图像。已创建的输入图像(例如,强度重建图像)可以模拟来自基于极快快门的相机的数据,而没有这种相机的高能量和数据要求。由于事件相机不会为每个事件收集/发送整个帧,因此它产生相对稀疏的数据。然而,随时间推移累积稀疏数据以提供在注视特性确定中用作输入的密集输入图像。结果是使用更少数据和计算资源来实现的更快注视跟踪。
图7示出了功能框图,示出了根据一些具体实施的基于事件相机的注视跟踪过程700。注视跟踪过程700基于从事件相机710接收的事件消息来输出用户的注视方向。
事件相机710包括在多个相应位置处的多个光传感器。响应于特定光传感器检测到光强度变化,事件相机710生成指示特定光传感器的特定位置的事件消息。如上文参考图6所述,在各种具体实施中,特定位置由像素坐标指示。在各种具体实施中,事件消息还指示光强度变化的极性。在各种具体实施中,事件消息还指示检测到光强度变化的时间。在各种具体实施中,事件消息还指示表示所检测到的光的强度的值。
来自事件相机710的事件消息被分离器720接收。分离器720将事件消息分成目标频率事件消息(与以一个或多个光源的调制频率为中心的频带相关联)和偏离目标频率事件消息(与其他频率相关联)。偏离目标频率事件消息是瞳孔事件730并且被馈送到强度重建图像发生器750和时间戳图像发生器760。目标频率事件消息是闪烁事件740并且被馈送到闪烁图像发生器770。在各种具体实施中,分离器720基于时间字段中的指示检测到光强度变化的时间的时间戳确定事件消息是目标频率事件消息(或偏离目标频率事件消息)。例如,在各种具体实施中,如果事件消息是包括设定范围内的多个事件消息的集合中在设定时间量内指示特定位置的一者,则分离器720确定事件消息是目标频率事件消息。否则,分离器720确定事件消息是偏离目标频率事件消息。在各种具体实施中,所述设定范围和/或所述设定时间量与朝向用户的眼睛发射的调制光的调制频率成比例。又如,在各种具体实施中,如果具有类似或相反极性的连续事件之间的时间在设定时间范围内,则分离器720确定事件消息是目标频率事件消息。
强度重建图像发生器750随时间推移累积瞳孔的瞳孔事件730以重建/估计每个瞳孔的绝对强度值。随着附加瞳孔事件730累积,强度重建图像发生器750改变重建图像中的对应值。这样,即使仅一些像素最近可能已经接收到事件,它也为图像的所有像素生成并保持值的更新图像。强度重建图像发生器750可以基于附加信息(例如,关于附近像素的信息)来调整像素值以改善重建图像的清晰度、平滑度或其他方面。
在各种具体实施中,强度重建图像包括具有在对应于光传感器的相应位置的相应多个像素处的多个像素值的图像。在接收到指示特定位置和正极性(表示光强度已增大)的事件消息时,对于对应于所述特定位置的像素处的像素值添加数量(例如,1)。类似地,在接收到指示特定位置和负极性(表示光强度已减小)的事件消息时,从对应于所述特定位置的像素处的像素值减去所述数量。在各种具体实施中,强度重建图像被过滤,例如模糊化。
时间戳图像发生器760对关于事件定时的信息进行编码。在一个示例中,时间戳图像发生器760创建具有表示自从针对每个像素接收到相应像素事件以来的时间长度的值的图像。在此类图像中,具有更近事件的像素可具有比具有较不近事件的像素更高的强度值。在一个具体实施中,时间戳图像是具有多个像素值的正时间戳图像,该多个像素值指示对应的光传感器何时触发具有正极性的最近对应事件。在一个具体实施中,时间戳图像是具有多个像素值的负时间戳图像,该多个像素值指示对应的光传感器何时触发具有负极性的最近对应事件。
闪烁图像发生器770确定与特定闪烁相关联的事件。在一个示例中,闪烁图像发生器770基于相关联的频率来识别闪烁。在一些具体实施中,闪烁图像发生器770在一定时间段内累积闪烁事件740,并且产生识别该时间段内(例如,最近10ms内等)接收的所有闪烁事件的位置的闪烁图像。在一些具体实施中,闪烁图像发生器770调制每个像素的强度,这取决于自该像素处的自从最近事件以来的闪烁频率或时间与预期值(从目标频率导出)的匹配程度,例如通过评估具有以预期值为中心的给定标准偏差的高斯函数。
强度重建图像发生器750、时间戳图像发生器760和闪烁图像发生器770提供输入到神经网络780的图像,该神经网络被配置为生成注视特性。在各种具体实施中,神经网络780包括卷积神经网络、递归神经网络和/或长期/短期记忆(LSTM)网络。
图8示出了功能框图,示出了根据一些具体实施的使用卷积神经网络830进行注视跟踪的***800。***800使用输入图像810,诸如强度重建图像、时间戳图像和/或闪烁图像,如上面相对于图7讨论的。对输入图像810进行大小调整以成为调整过大小的输入图像820。对输入图像810进行大小调整可以包括下采样以减小图像的分辨率和/或图像的裁剪部分。将调整过大小的输入图像820输入到卷积神经网络830。卷积神经网络830包括一个或多个卷积层840和一个或多个完全连接层850,并且产生输出860。卷积层840被配置为将卷积运算应用于其相应输入并将其结果传递给下一层。卷积层840中的每个层中的每个卷积神经元可被配置为处理接收字段的数据,例如调整过大小的输入图像820的一部分。完全连接层850将一个层的每个神经元连接到另一个层的每个神经元。
图9示出了功能框图,示出了根据一些具体实施的使用卷积神经网络920进行注视跟踪的***900。***900使用输入图像910,诸如强度重建图像、时间戳图像和/或闪烁图像,如上面相对于图7讨论的。对输入图像910进行大小调整以成为调整过大小的输入图像930。在此示例中,通过下采样对400×400像素的输入图像910进行大小调整以成为50×50像素的调整过大小的输入图像930。将调整过大小的输入图像930输入到卷积神经网络920。卷积神经网络920包括三个5×5卷积层940a、940b、940c和两个完全连接层950a、950b。卷积神经网络920被配置为产生识别瞳孔中心的x坐标和y坐标的输出960。对于每个闪烁,输出960还包括x坐标、y坐标和可见/不可见指示。卷积神经网络920包括关于x坐标、y坐标和半径的瞳孔性能(例如,均方误差(MSE))的回归以及关于x坐标和y坐标的闪烁性能(例如,MSE)的回归。卷积神经网络920还包括针对闪烁可见性/不可见性的分类(例如,关于可见/不可见分对数的闪烁softmax交叉熵)。卷积神经网络920所使用的数据(在训练期间)可以通过随机平移、旋转和/或缩放来增加。
图10示出了功能框图,示出了图9的卷积神经网络的卷积层940a-c。该卷积层940a-c包括2×2平均池1010、卷积W×W×N 1020、批归一化层1030和修正线性单元(ReLu)1040。
图11示出了功能框图,示出了根据一些具体实施的使用初始化网络1115和细化网络1145以进行注视跟踪的***1100。两个子网或两个级的使用可以增强整个神经网络1110的效率。初始化网络1115处理输入图像1105的低分辨率图像,并且因此不需要具有与其他情况一样多的卷积。从初始化网络1115输出的瞳孔位置用于对输入到细化网络1145的原始输入图像1105进行裁剪。细化网络1145因此也不需要使用整个输入图像1105并且可以相应地包括比其他情况更少的卷积。然而,细化网络1145将瞳孔位置细化为更准确的位置。与使用单个神经网络相比,初始化网络1105和细化网络1145一起更有效地和更准确地产生瞳孔位置结果。
初始化网络1115接收输入图像1105,所述输入图像在此示例中为400×400像素。对输入图像1105进行大小调整以成为调整过大小的输入图像1120(其在此示例中为50×50像素)。初始化网络1115包括五个3×3卷积层1130a、1130b、1130c、1130d、1130e和输出处的完全连接层1135。初始化网络1115被配置为产生识别瞳孔中心的x坐标和y坐标的输出1140。对于每个闪烁,输出1140还包括x坐标、y坐标和可见/不可见指示。
将瞳孔x,y 1142与输入图像1105一起输入到细化网络1145。使用瞳孔x,y 1142以便以全分辨率(即没有下采样)围绕瞳孔位置进行96×96像素裁剪以产生已裁剪的输入图像1150。细化网络1145包括五个3×3卷积层1155a、1155b、1155c、1155d、1155e,连结层1160和输出处的完全连接层1165。连结层1160将卷积后的特征与来自初始化网络1115的特征连结。在一些具体实施中,来自初始化网络1115的特征对全局信息(例如,眼睛几何形状/布局/眼睑位置等)进行编码,并且来自细化网络1145的特征仅对局部状态(即可从已裁剪图像导出的内容)进行编码。通过连结来自初始化网络1115和细化网络1145的特征,细化网络1145中的最终完全连接层可以组合全局信息和局部信息两者并且由此生成对误差的更好估计,如仅使用局部信息可能的那样。
细化网络1145被配置为产生识别估计误差1175的输出1165,该估计误差可以用于确定瞳孔中心的x坐标和y坐标。
细化网络1145因此充当初始化网络1115的误差估计器并且产生估计误差1175。此估计误差1175用于调整来自初始化网络1115的初始瞳孔估计1180以产生细化的瞳孔估计1185。例如,初始瞳孔估计1180可以识别处于x,y:10,10的瞳孔中心,并且来自细化网络1145的估计误差1175可以指示瞳孔中心的x应当大2,从而产生为x,y:12,10的细化瞳孔估计。
在一些具体实施中,训练神经网络1110以通过引入随机噪声来避免过度拟合。在训练阶段中,添加了随机噪声(例如,具有零均值和小sigma的正态分布噪声)。在一些具体实施中,将随机噪声添加到初始瞳孔位置估计。在没有这种随机噪声的情况下,细化网络11145可能另外学习成过于乐观的。为了避免这种情况,在训练期间,通过添加随机噪声以模拟初始化网络1115面对其之前未见过的数据的情况来人为地使初始化网络1115的输出更差。
在一些具体实施中,使用有状态的机器学习/神经网络架构。例如,所使用的神经网络可以是LSTM或其他递归网络。在此类具体实施中,用作输入的事件数据可被提供为标记的顺序事件流。在一些具体实施中,递归神经网络被配置为记住先前的事件并基于事件的历史学习眼睛的动态运动。这种有状态的架构可以学习哪些眼睛运动是自然的(例如,眼睛颤动、眨眼等)并且抑制这些波动。
在一些具体实施中,同时对相同个体的两只眼睛执行注视跟踪。单个神经网络接收针对两只眼睛的事件相机数据的输入图像并且共同确定眼睛的注视特性。在一些具体实施中,一个或多个事件相机会捕获包括两只眼睛的脸部部分的一个或多个图像。在其中捕获或导出两只眼睛的图像的具体实施中,网络可以确定或产生有助于确定两只眼睛的注视方向的会聚点的输出。可以附加地或另选地训练网络以解决特殊情况(诸如未对准的光轴)。
在一些具体实施中,使用了多个网络的集合。通过组合多个神经网络(卷积、递归和/或其他类型)的结果,可以减小输出中的变化。可以通过不同的超参数(学习率、批大小、架构等)和/或不同的数据集(例如,使用随机子采样)来训练每个神经网络。
在一些具体实施中,采用了对注视特性的后处理。可以使用滤波和预测方法(例如,使用卡尔曼滤波器)来减小跟踪点中的噪声。这些方法还可以用于随时间推移对注视特性进行内插/外推。例如,如果要求在与记录状态不同的时间戳的注视特性状态,则可以使用所述方法。
本文阐述了许多具体细节以提供对要求保护的主题的全面理解。然而,本领域的技术人员将理解,可以在没有这些具体细节的情况下实践要求保护的主题。在其他实例中,没有详细地介绍普通技术人员已知的方法、设备或***,以便不使要求保护的主题晦涩难懂。
除非另外特别说明,否则应当理解,在整个说明书中,利用诸如“处理”、“计算”、“计算出”、“确定”和“识别”等术语的论述是指计算设备的动作或过程,诸如一个或多个计算机或类似的电子计算设备,其操纵或转换表示为计算平台的存储器、寄存器或其他信息存储设备、传输设备或显示设备内的物理电子量或磁量的数据。
本文论述的一个或多个***不限于任何特定的硬件架构或配置。计算设备可以包括部件的提供以一个或多个输入为条件的结果的任何合适的布置。合适的计算设备包括基于多用途微处理器的计算机***,其访问存储的软件,该软件将计算***从通用计算设备编程或配置为实现本发明主题的一种或多种具体实施的专用计算设备。可以使用任何合适的编程、脚本或其他类型的语言或语言的组合来在用于编程或配置计算设备的软件中实现本文包含的教导内容。
本文所公开的方法的具体实施可以在这样的计算设备的操作中执行。上述示例中呈现的框的顺序可以变化,例如,可以将框重新排序、组合和/或分成子块。某些框或过程可以并行执行。
本文中“适用于”或“被配置为”的使用意味着开放和包容性的语言,其不排除适用于或被配置为执行额外任务或步骤的设备。另外,“基于”的使用意味着开放和包容性,因为“基于”一个或多个所述条件或值的过程、步骤、计算或其他动作在实践中可以基于额外条件或超出所述的值。本文包括的标题、列表和编号仅是为了便于解释而并非旨在为限制性的。
还将理解的是,虽然术语“第一”、“第二”等可能在本文中用于描述各种元素,但是这些元素不应当被这些术语限定。这些术语只是用于将一个元件与另一元件区分开。例如,第一节点可以被称为第二节点,并且类似地,第二节点可以被称为第一节点,其改变描述的含义,只要所有出现的“第一节点”被一致地重命名并且所有出现的“第二节点”被一致地重命名。第一节点和第二节点都是节点,但它们不是同一个节点。
本文中所使用的术语仅仅是为了描述特定具体实施并非旨在对权利要求进行限制。如在本具体实施的描述和所附权利要求中所使用的那样,单数形式的“一个”和“该”旨在也涵盖复数形式,除非上下文清楚地另有指示。还将理解的是,本文中所使用的术语“和/或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”在本说明书中使用时是指定存在所陈述的特征、整数、步骤、操作、元件和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、部件,和/或其分组。
如本文所使用的,术语“如果”可以被解释为表示“当所述先决条件为真时”或“在所述先决条件为真时”或“响应于确定”或“根据确定”或“响应于检测到”所述先决条件为真,具体取决于上下文。类似地,短语“如果确定[所述先决条件为真]”或“如果[所述先决条件为真]”或“当[所述先决条件为真]时”被解释为表示“在确定所述先决条件为真时”或“响应于确定”或“根据确定”所述先决条件为真或“当检测到所述先决条件为真时”或“响应于检测到”所述先决条件为真,具体取决于上下文。
本发明的前述描述和概述应被理解为在每个方面都是例示性和示例性的,而非限制性的,并且本文所公开的本发明的范围不仅由例示性具体实施的详细描述来确定,而是根据专利法允许的全部广度。应当理解,本文所示和所述的具体实施仅是对本发明原理的说明,并且本领域的技术人员可以在不脱离本发明的范围和实质的情况下实现各种修改。
Claims (32)
1.一种基于事件相机的注视跟踪的方法,所述方法包括:
在具有一个或多个处理器和计算机可读存储介质的设备处:
接收由事件相机输出的像素事件流,所述事件相机包括被定位成从眼睛表面接收光的多个像素传感器,响应于相应像素传感器检测到相应事件相机像素处的所述光的超过比较器阈值的光强度变化而生成每个相应像素事件;
从所述像素事件流导出图像,其中导出所述图像包括为多个事件相机像素累积所述像素事件流中的像素事件;
使用神经网络来生成注视特性,其中生成所述注视特性包括将所述图像作为输入提供给所述神经网络,使用识别所述注视特性的训练图像的训练数据集来训练所述神经网络以确定所述注视特性;以及
基于使用所述神经网络生成的所述注视特性跟踪所述眼睛的注视。
2.根据权利要求1所述的方法,其中所述神经网络是卷积神经网络(CNN)。
3.根据权利要求1至2中任一项所述的方法,其中使用所述神经网络来生成所述注视特性包括:
对所述图像进行下采样以产生较低分辨率图像,所述较低分辨率图像的分辨率低于所述图像的分辨率;
使用第一神经网络来生成初始瞳孔特性,其中生成所述初始瞳孔特性包括将所述较低分辨率图像作为输入提供给所述第一神经网络;
基于所述初始瞳孔特性来确定所述图像的一部分,所述图像的所述部分和所述图像具有相同的分辨率并且所述图像的所述部分的像素少于所述图像的像素;
使用第二神经网络来生成对所述瞳孔特性的校正,其中生成所述校正包括将所述图像的所述部分作为输入提供给所述第二神经网络;以及
通过使用所述校正来调整所述初始瞳孔特性,确定所述注视特性。
4.根据权利要求1至3中任一项所述的方法,其中所述注视特性指示所述眼睛的瞳孔的中心、所述眼睛的所述瞳孔的轮廓、使用发光二极管(LED)生成的一个或多个闪烁、所述一个或多个闪烁中的每个闪烁对于所述事件相机可见的概率或注视方向。
5.根据权利要求1所述的方法,其中所述神经网络是递归神经网络,所述递归神经网络被训练以记住来自先前输入图像的数据从而识别后续输入图像的注视特性。
6.根据权利要求1至5中任一项所述的方法,其中从所述像素事件流导出所述图像包括基于随时间推移跟踪所述像素事件流中的像素事件来导出强度重建图像。
7.根据权利要求1至6中任一项所述的方法,其中从所述像素事件流导出所述图像包括导出时间戳图像,所述时间戳图像对自从每个事件相机像素处出现事件以来的时间量进行编码。
8.根据权利要求1至7中任一项所述的方法,其中从所述像素事件流导出所述图像包括导出指示使用多个调频发光二极管(LED)生成的闪烁事件的频率响应图像。
9.根据权利要求1至8中任一项所述的方法,其中从所述像素事件流导出所述图像包括:
基于与所述像素事件流中的所述像素事件相关联的频率来区分所述事件流中的瞳孔事件和闪烁事件;
基于所述瞳孔事件来导出强度重建图像或时间戳图像;以及
基于所述闪烁事件来导出频率响应图像,所述频率响应图像指示使用多个调频发光二极管(LED)生成的闪烁事件。
10.根据权利要求1至9中任一项所述的方法,其中使用所述神经网络来生成所述注视特性包括将以下作为输入提供给所述神经网络:强度重建图像;时间戳图像;或从所述像素事件流导出的频率响应图像。
11.根据权利要求1至10中任一项所述的方法,其中跟踪所述眼睛的所述注视包括在使用所述事件流中的后续像素事件来导出附加图像并且将所述附加图像用作所述神经网络的输入以生成更新的注视特性时,实时更新所述注视特性。
12.根据权利要求11所述的方法,还包括基于所述注视特性或所述注视特性的所述更新来识别在显示器上显示的项目。
13.根据权利要求11所述的方法,还包括基于所述注视特性或所述注视特性的所述更新来在显示器上显示图形指示符的移动。
14.根据权利要求11所述的方法,还包括基于所述注视特性或所述注视特性的所述更新来选择在显示器上显示的项目。
15.一种***,包括:
非暂态计算机可读存储介质;和
一个或多个处理器,所述一个或多个处理器耦接至所述非暂态计算机可读存储介质,其中所述非暂态计算机可读存储介质包括程序指令,所述程序指令在所述一个或多个处理器上执行时,使所述***执行包括以下操作的操作:
在事件相机处生成像素事件流,所述事件相机包括被定位成从眼睛表面接收光的多个像素传感器,响应于相应像素传感器检测到相应事件相机像素处的所述光的超过比较器阈值的光强度变化而生成每个相应像素事件;
从所述像素事件流导出图像,通过为多个事件相机像素累积所述像素事件流中的像素事件来导出所述图像;
对所述图像进行下采样以产生较低分辨率图像,所述较低分辨率图像的分辨率低于所述图像的分辨率;
使用所述较低分辨率图像作为第一神经网络的输入来识别初始瞳孔中心;
基于所述初始瞳孔中心来确定所述图像的一部分,所述图像的所述部分和所述图像具有相同的分辨率并且所述图像的所述部分的像素少于所述图像的像素;
使用所述图像的所述部分作为第二神经网络的输入来生成对所述瞳孔中心的校正;以及
通过使用对所述瞳孔中心的所述校正来调整所述初始瞳孔特性,确定最终瞳孔中心。
16.根据权利要求15所述的***,其中所述第一神经网络和所述第二神经网络是卷积神经网络(CNN)。
17.根据权利要求15至16中任一项所述的***,其中所述第一神经网络被配置为:
解决第一回归问题以识别所述初始瞳孔中心;
解决第二回归问题以识别一个或多个闪烁;以及
执行分类以确定所述一个或多个闪烁中的每个闪烁可能是可见的还是不可见的。
18.根据权利要求15所述的***,其中所述第一神经网络和所述第二神经网络是递归神经网络,所述递归神经网络被训练以记住来自先前输入图像的数据。
19.根据权利要求15至18中任一项所述的***,其中从所述像素事件流导出所述图像包括基于随时间推移跟踪所述像素事件流中的像素事件来导出强度重建图像。
20.根据权利要求15至18中任一项所述的***,其中从所述像素事件流导出所述图像包括导出时间戳图像,所述时间戳图像对自从每个事件相机像素处出现事件以来的时间量进行编码。
21.根据权利要求15至18中任一项所述的***,其中从所述像素事件流导出所述图像包括导出指示使用多个调频发光二极管(LED)生成的闪烁事件的频率响应图像。
22.根据权利要求15至18中任一项所述的***,其中从所述像素事件流导出所述图像包括:
基于与所述像素事件流中的所述像素事件相关联的频率来区分所述事件流中的瞳孔事件和闪烁事件;
基于所述瞳孔事件来导出强度重建图像或时间戳图像;以及
基于所述闪烁事件来导出频率响应图像,所述频率响应图像指示使用多个调频发光二极管(LED)生成的闪烁事件。
23.根据权利要求15至22中任一项所述的***,其中识别所述初始瞳孔中心包括将以下作为输入提供给所述第一神经网络:强度重建图像;时间戳图像;或从所述像素事件流导出的频率响应图像。
24.根据权利要求15至23中任一项所述的***,其中所述操作还包括当使用所述事件流中的后续像素事件来导出所述眼睛的附加图像时,实时跟踪更新所述最终瞳孔中心。
25.根据权利要求24所述的***,其中所述操作还包括基于所述最终瞳孔中心的所述更新来在显示器上显示图形指示符的移动。
26.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储能够在计算机上执行以执行操作的程序指令,所述操作包括:
接收由事件相机输出的像素事件流,所述事件相机包括被定位成从眼睛表面接收光的多个像素传感器,响应于相应像素传感器检测到相应事件相机像素处的所述光的超过比较器阈值的光强度变化而生成每个相应像素事件;
基于与所述像素事件流中的所述像素事件相关联的频率来区分所述事件流中的瞳孔事件和闪烁事件;
从所述像素事件流导出图像,其中导出所述图像包括为多个事件相机像素累积所述像素事件流中的像素事件;
基于所述瞳孔事件导出图像,其中所述图像为强度重建图像或时间戳图像;以及
使用神经网络来生成注视特性,其中生成所述注视特性包括将所述图像作为输入提供给所述神经网络,使用识别所述注视特性的训练图像的训练数据集来训练所述神经网络以确定所述注视特性;以及
基于使用所述神经网络生成的所述注视特性跟踪所述眼睛的注视。
27.根据权利要求26所述的非暂态计算机可读存储介质,还包括基于所述闪烁事件来导出频率响应图像,所述频率响应图像指示使用多个调频发光二极管(LED)生成的闪烁事件,其中所述频率响应图像被输入到所述神经网络。
28.根据权利要求26至27中任一项所述的非暂态计算机可读存储介质,其中所述神经网络是卷积神经网络(CNN)。
29.根据权利要求26至28中任一项所述的非暂态计算机可读存储介质,其中使用所述神经网络来生成所述注视特性包括:
对所述图像进行下采样以产生较低分辨率图像,所述较低分辨率图像的分辨率低于所述图像的分辨率;
使用第一神经网络来生成初始瞳孔特性,其中生成所述初始瞳孔特性包括将所述较低分辨率图像作为输入提供给所述第一神经网络;
基于所述初始瞳孔特性来确定所述图像的一部分,所述图像的所述部分和所述图像具有相同的分辨率并且所述图像的所述部分的像素少于所述图像的像素;
使用第二神经网络来生成对所述瞳孔特性的校正,其中生成所述校正包括将所述图像的所述部分作为输入提供给所述第二神经网络;以及
通过使用所述校正来调整所述初始瞳孔特性,确定所述注视特性。
30.根据权利要求26至29中任一项所述的非暂态计算机可读存储介质,其中所述注视特性指示所述眼睛的瞳孔的中心或所述眼睛的所述瞳孔的轮廓。
31.根据权利要求26至30中任一项所述的非暂态计算机可读存储介质,其中所述神经网络是递归神经网络,所述递归神经网络被训练以记住来自先前输入图像的数据从而识别后续输入图像的注视特性。
32.根据权利要求26至31中任一项所述的非暂态计算机可读存储介质,其中所述操作还包括在使用所述事件流中的后续像素事件来导出附加图像并且将所述附加图像用作所述神经网络的输入以生成更新的注视特性时,实时更新所述注视特性。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862621093P | 2018-01-24 | 2018-01-24 | |
US62/621,093 | 2018-01-24 | ||
PCT/US2019/014755 WO2019147677A1 (en) | 2018-01-24 | 2019-01-23 | Event camera-based gaze tracking using neural networks |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111868737A true CN111868737A (zh) | 2020-10-30 |
Family
ID=65363393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980010044.3A Pending CN111868737A (zh) | 2018-01-24 | 2019-01-23 | 使用神经网络的基于事件相机的注视跟踪 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11442539B2 (zh) |
EP (1) | EP3743850A1 (zh) |
CN (1) | CN111868737A (zh) |
WO (1) | WO2019147677A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113408671A (zh) * | 2021-08-18 | 2021-09-17 | 成都时识科技有限公司 | 一种对象识别方法及装置、芯片及电子设备 |
CN113537071A (zh) * | 2021-07-19 | 2021-10-22 | 深圳龙岗智能视听研究院 | 一种基于事件相机的静态和动态目标检测方法及设备 |
CN113688733A (zh) * | 2021-08-25 | 2021-11-23 | 深圳龙岗智能视听研究院 | 基于事件相机的眼部检测和追踪方法、***、设备及应用 |
CN115209057A (zh) * | 2022-08-19 | 2022-10-18 | 荣耀终端有限公司 | 一种拍摄对焦方法及相关电子设备 |
EP4113464A1 (en) * | 2021-06-30 | 2023-01-04 | Tobii AB | An eye tracking system |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019221654A1 (en) * | 2018-05-17 | 2019-11-21 | Tobii Ab | Autoencoding generative adversarial network for augmenting training data usable to train predictive models |
SE543240C2 (en) * | 2018-12-21 | 2020-10-27 | Tobii Ab | Classification of glints using an eye tracking system |
WO2020197961A1 (en) * | 2019-03-27 | 2020-10-01 | Ocelot Laboratories Llc | Processing of signals using a recurrent state estimator |
JP7269131B2 (ja) * | 2019-08-14 | 2023-05-08 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置、視線検出システム、視線検出方法および視線検出プログラム |
CN114303117A (zh) * | 2019-08-19 | 2022-04-08 | 奇跃公司 | 使用离轴相机的眼睛跟踪和注视估计 |
EP3816853A1 (en) * | 2019-10-31 | 2021-05-05 | NVIDIA Corporation | Gaze determination using one or more neural networks |
US11694304B2 (en) * | 2019-11-26 | 2023-07-04 | Samsung Electronics Co., Ltd. | Jointly learning visual motion and confidence from local patches in event cameras |
US11076080B2 (en) * | 2019-12-05 | 2021-07-27 | Synaptics Incorporated | Under-display image sensor for eye tracking |
US11635802B2 (en) * | 2020-01-13 | 2023-04-25 | Sony Interactive Entertainment Inc. | Combined light intensity based CMOS and event detection sensor for high speed predictive tracking and latency compensation in virtual and augmented reality HMD systems |
US20210350550A1 (en) * | 2020-05-11 | 2021-11-11 | Nvidia Corporation | Gaze estimation using one or more neural networks |
US11270137B2 (en) * | 2020-06-17 | 2022-03-08 | Fotonation Limited | Event detector and method of generating textural image based on event count decay factor and net polarity |
EP3933550A1 (en) | 2020-07-03 | 2022-01-05 | IniVation AG | Eye tracking device, eye tracking method, and computer-readable medium |
US11405580B2 (en) * | 2020-09-09 | 2022-08-02 | Fotonation Limited | Event camera hardware |
US20230350197A1 (en) * | 2020-10-05 | 2023-11-02 | Sony Group Corporation | Line-of-sight detection device and display device |
CN112308006A (zh) * | 2020-11-10 | 2021-02-02 | 深圳地平线机器人科技有限公司 | 视线区域预测模型生成方法、装置、存储介质及电子设备 |
EP4248639A1 (en) * | 2020-11-19 | 2023-09-27 | Sony Group Corporation | Tracking camera, tracking camera systems, and operation thereof |
US11543883B2 (en) * | 2020-12-17 | 2023-01-03 | Zinn Labs, Inc. | Event camera system for pupil detection and eye tracking |
JPWO2022162497A1 (zh) * | 2021-01-28 | 2022-08-04 | ||
KR20220111575A (ko) * | 2021-02-02 | 2022-08-09 | 삼성전자주식회사 | 전자 장치 및 그의 사용자 시선을 추적하고 증강 현실 서비스를 제공하는 방법 |
EP4113252A1 (en) | 2021-07-02 | 2023-01-04 | IniVation AG | Eye tracking device, eye tracking method, and computer-readable medium |
US20230119633A1 (en) * | 2021-10-20 | 2023-04-20 | Microsoft Technology Licensing, Llc | Enhanced eye tracking systems utilizing joint biological and hardware estimations |
CN115314658A (zh) * | 2022-07-29 | 2022-11-08 | 京东方科技集团股份有限公司 | 基于三维显示的视频通信方法及*** |
CN115661336A (zh) * | 2022-09-21 | 2023-01-31 | 华为技术有限公司 | 一种三维重建方法及相关装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103067662A (zh) * | 2013-01-21 | 2013-04-24 | 天津师范大学 | 一种自适应视线跟踪*** |
US20140002349A1 (en) * | 2010-10-29 | 2014-01-02 | IT-Universitetet i København | Method of Determining Reflections of Light |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7963652B2 (en) | 2003-11-14 | 2011-06-21 | Queen's University At Kingston | Method and apparatus for calibration-free eye tracking |
US8878749B1 (en) * | 2012-01-06 | 2014-11-04 | Google Inc. | Systems and methods for position estimation |
US9672416B2 (en) | 2014-04-29 | 2017-06-06 | Microsoft Technology Licensing, Llc | Facial expression tracking |
US10016130B2 (en) * | 2015-09-04 | 2018-07-10 | University Of Massachusetts | Eye tracker system and methods for detecting eye parameters |
EP3371973B1 (en) | 2015-11-06 | 2023-08-09 | Facebook Technologies, LLC | Eye tracking using a diffraction pattern of coherent light on the surface of the eye |
EP3465536A1 (en) | 2016-05-27 | 2019-04-10 | Jeff B. Pelz | System and method for eye tracking |
-
2019
- 2019-01-23 US US16/963,633 patent/US11442539B2/en active Active
- 2019-01-23 CN CN201980010044.3A patent/CN111868737A/zh active Pending
- 2019-01-23 EP EP19704510.7A patent/EP3743850A1/en active Pending
- 2019-01-23 WO PCT/US2019/014755 patent/WO2019147677A1/en unknown
-
2022
- 2022-08-05 US US17/881,692 patent/US11861873B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140002349A1 (en) * | 2010-10-29 | 2014-01-02 | IT-Universitetet i København | Method of Determining Reflections of Light |
CN103067662A (zh) * | 2013-01-21 | 2013-04-24 | 天津师范大学 | 一种自适应视线跟踪*** |
Non-Patent Citations (1)
Title |
---|
KYLE KRAFK等: "Eye Tracking for Everyone", 《IEEE》, 27 June 2016 (2016-06-27), pages 1 - 7 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4113464A1 (en) * | 2021-06-30 | 2023-01-04 | Tobii AB | An eye tracking system |
US11681371B2 (en) | 2021-06-30 | 2023-06-20 | Tobii Ab | Eye tracking system |
CN113537071A (zh) * | 2021-07-19 | 2021-10-22 | 深圳龙岗智能视听研究院 | 一种基于事件相机的静态和动态目标检测方法及设备 |
CN113537071B (zh) * | 2021-07-19 | 2023-08-11 | 深圳龙岗智能视听研究院 | 一种基于事件相机的静态和动态目标检测方法及设备 |
CN113408671A (zh) * | 2021-08-18 | 2021-09-17 | 成都时识科技有限公司 | 一种对象识别方法及装置、芯片及电子设备 |
CN113688733A (zh) * | 2021-08-25 | 2021-11-23 | 深圳龙岗智能视听研究院 | 基于事件相机的眼部检测和追踪方法、***、设备及应用 |
CN115209057A (zh) * | 2022-08-19 | 2022-10-18 | 荣耀终端有限公司 | 一种拍摄对焦方法及相关电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US11442539B2 (en) | 2022-09-13 |
US20230136669A1 (en) | 2023-05-04 |
US11861873B2 (en) | 2024-01-02 |
EP3743850A1 (en) | 2020-12-02 |
US20200348755A1 (en) | 2020-11-05 |
WO2019147677A1 (en) | 2019-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11861873B2 (en) | Event camera-based gaze tracking using neural networks | |
CN111263925B (zh) | 用于使用事件相机数据的眼动跟踪的方法和设备 | |
KR102437456B1 (ko) | 이벤트 카메라-기반 변형가능 물체 추적 | |
US20210295025A1 (en) | Classifying facial expressions using eye-tracking cameras | |
CN109086726B (zh) | 一种基于ar智能眼镜的局部图像识别方法及*** | |
US10223838B2 (en) | Method and system of mobile-device control with a plurality of fixed-gradient focused digital cameras | |
KR102583437B1 (ko) | 동공 검출 | |
CN105393191A (zh) | 自适应事件识别 | |
CN114341781A (zh) | 使用定向光源的基于闪光的注视跟踪 | |
US20230290082A1 (en) | Representation of users based on current user appearance | |
EP3757655B1 (en) | Method and system for 3d cornea position estimation | |
CN112639681B (zh) | 用于进程数据共享的方法和设备 | |
US20210378509A1 (en) | Pupil assessment using modulated on-axis illumination | |
US20230290048A1 (en) | Diffused light rendering of a virtual light source in a 3d environment | |
CN115624315B (zh) | 眼动追踪方法、装置、电子设备、计算机存储介质及产品 | |
US20220244781A1 (en) | Eye tracking and gaze estimation using off-axis camera | |
US11170578B1 (en) | Occlusion detection | |
KR102613032B1 (ko) | 사용자의 시야 영역에 매칭되는 뎁스맵을 바탕으로 양안 렌더링을 제공하는 전자 장치의 제어 방법 | |
US20240040099A1 (en) | Depth of field in video based on gaze | |
US20240005537A1 (en) | User representation using depths relative to multiple surface points | |
Hornak et al. | Point-of-Gaze Estimation on Embedded Platform | |
EP4189527A1 (en) | Adjusting image content to improve user experience |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |