CN117581275A - 眼睛注视分类 - Google Patents
眼睛注视分类 Download PDFInfo
- Publication number
- CN117581275A CN117581275A CN202280046760.9A CN202280046760A CN117581275A CN 117581275 A CN117581275 A CN 117581275A CN 202280046760 A CN202280046760 A CN 202280046760A CN 117581275 A CN117581275 A CN 117581275A
- Authority
- CN
- China
- Prior art keywords
- user
- regions
- region
- display
- gaze
- 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
- 238000000034 method Methods 0.000 claims abstract description 74
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 42
- 230000015654 memory Effects 0.000 claims description 50
- 239000004984 smart glass Substances 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 23
- 230000006870 function Effects 0.000 claims description 20
- 238000013528 artificial neural network Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 16
- 230000003190 augmentative effect Effects 0.000 claims description 13
- 239000013598 vector Substances 0.000 claims description 13
- 238000013507 mapping Methods 0.000 claims description 6
- 230000002123 temporal effect Effects 0.000 claims description 5
- 238000012549 training Methods 0.000 description 25
- 238000010586 diagram Methods 0.000 description 15
- 230000004913 activation Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 239000011521 glass Substances 0.000 description 5
- 238000011176 pooling Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000013145 classification model Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 210000003128 head Anatomy 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000004424 eye movement Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- 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
- 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
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/0093—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0101—Head-up displays characterised by optical features
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
- G02B27/0172—Head mounted characterised by optical features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0101—Head-up displays characterised by optical features
- G02B2027/0138—Head-up displays characterised by optical features comprising image capture systems, e.g. camera
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
- G02B2027/0178—Eyeglass type
Abstract
跟踪用户的注视的技术包括识别用户的注视指向的显示器的区域,该区域包括多个像素。通过确定区域而不是点,当区域对应于用户界面的元素时,改进的技术使得系统能够激活所确定的区域被选择到的元素。在一些实施方式中,系统使用包括卷积神经网络的分类引擎进行确定;这样的引擎将用户的眼睛的图像作为输入并输出注视指向区域中的每个区域的概率的列表。
Description
相关申请的交叉引用
本申请是2021年7月1日提交的美国申请No.17/305,219的继续,并且要求其权益,该申请的公开内容通过引用整体并入本文。
技术领域
本说明书涉及确定用户的眼睛注视指向的显示器的区域。
背景技术
一些增强现实(AR)系统跟踪眼睛注视方向,即,用户的眼睛被取向的方向。例如,AR系统可以包括用于在透明显示器上向用户显示内容的智能眼镜。一些智能眼镜包括眼镜框架上的相机,该相机被配置为产生用户的眼睛的图像以用于跟踪眼睛注视方向。
这样的AR系统可以跟踪眼睛注视方向以启用透明显示器上的用户界面。例如,可以在透明显示器上渲染第一内容和第二内容。AR系统可以通过确定用户的眼睛注视方向来推断用户正在观看第一内容还是第二内容。
发明内容
本文公开的实施方式提供了一种用于跟踪用户相对于显示器的注视的改进的技术。在一些实施方式中,显示器是透明显示器,诸如嵌入在AR系统中使用的智能眼镜中的透明显示器。在一些实施方式中,显示器是在例如智能电话、平板计算机等的移动计算系统中使用的显示器。然而,改进的技术涉及确定用户的注视指向显示器的哪个区域,而不是跟踪用户对显示器上的特定点的注视。通过确定区域而不是点,当区域对应于用户界面的元素时,改进的技术使得系统能够激活所确定的区域被选择到的元素。在一些实施方式中,系统使用包括卷积神经网络的分类引擎进行确定;这样的引擎将用户的眼睛的图像作为输入并输出注视指向区域中的每个区域的概率的列表。
在一个一般方面中,一种方法可以包括接收表示在一时刻观看显示器的用户的眼睛的至少一个图像的图像数据,该显示器包括多个区域并且被配置为在增强现实(AR)应用中操作,该多个区域中的每个区域包括多个像素并且对应于用户界面的相应元素。该方法还可以包括基于图像数据来识别显示器的多个区域中在该时刻用户的注视指向的区域,该识别包括将用户的眼睛的至少一个图像输入到分类引擎中,该分类引擎被配置为将注视分类为指向多个区域中的一个区域。该方法还可以包括激活用户界面的与所识别的区域对应的元素。
在另一个一般方面,一种计算机程序产品包括非暂时性存储介质,该计算机程序产品包括代码,该代码在由计算设备的处理电路执行时使处理电路执行一种方法。该方法可以包括接收表示在一时刻观看显示器的用户的眼睛的至少一个图像的图像数据,该显示器包括多个区域并且被配置为在增强现实(AR)应用中操作,该多个区域中的每个区域包括多个像素并且对应于用户界面的相应元素。该方法还可以包括基于图像数据来识别显示器的多个区域中在该时刻用户的注视指向的区域,该识别包括将用户的眼睛的至少一个图像输入到分类引擎中,该分类引擎被配置为将注视分类为指向多个区域中的一个区域。该方法还可以包括激活用户界面的与所识别的区域对应的元素。
在另一个一般方面中,一种电子装置包括存储器和耦合到存储器的控制电路。控制电路可以被配置为接收表示在一时刻观看显示器的用户的眼睛的至少一个图像的图像数据,该显示器包括多个区域并且被配置为在增强现实(AR)应用中操作,该多个区域中的每个区域包括多个像素并且对应于用户界面的相应元素。控制电路还可以被配置为基于图像数据来识别显示器的多个区域中在该时刻用户的注视指向的区域,该识别包括将用户的眼睛的至少一个图像输入到分类引擎中,该分类引擎被配置为将注视分类为指向多个区域中的一个区域。控制电路还可以被配置为激活用户界面的与所识别的区域对应的元素。
在附图和下面的描述中阐述了一个或多个实施方式的细节。根据说明书和附图以及根据权利要求,其他特征将是显而易见的。
附图说明
图1A是示出在增强现实(AR)系统中使用的示例智能眼镜的图。
图1B是示出其中可以实现本文描述的改进的技术的示例电子环境的图。
图2A是示出包括激活区域的显示器上的示例区域的图。
图2B是示出包含激活区域的显示器上的示例区域的图;在此情况下,区域可以不是连续的。
图3A是示出被配置为将用户的眼睛的图像分类为具有指向特定区域的注视的示例卷积神经网络(CNN)的图。
图3B是示出被配置为对用户的眼睛的图像进行分类并确定注视指向的特定点的示例卷积神经网络(CNN)的图。
图4是示出形成CNN的另一分支的示例卷积层的图,该CNN在这种情况下被配置为适应于不同的区域或图块几何形状。
图5是示出在电子环境内执行改进的技术的示例方法的流程图。
图6是示出可以用于实现所描述的技术的计算机设备和移动计算机设备的示例的图。
具体实施方式
常规眼睛注视方向跟踪器被配置为估计用户的眼睛最可能正在观看的透明显示器的像素。例如,常规眼睛注视方向跟踪器可以导出透明显示器的基于像素的热图,其中每个像素具有基于用户正在观看该像素的概率的颜色。
因为常规眼睛注视方向跟踪器的输出指向透明显示器的像素的识别,所以关于跟踪用户的注视的上述常规方法的技术问题在于常规眼睛注视方向跟踪器可能是资源密集且易于出错的。例如,虽然常规眼睛注视方向跟踪器可以识别用户最可能正在观看的像素,但是这样的像素可能不能利用在透明显示器上渲染的任何内容来识别。因此,采用这种眼睛注视方向跟踪器的系统还可能需要将该像素映射到所显示的内容;这样的映射可能消耗其他任务所需的计算资源并且可能干扰用户的体验。
根据本文描述的实施方式,对上述技术问题的技术方案包括识别用户的注视指向的显示器的区域,该区域包括多个像素。通过确定区域而不是点,当区域对应于用户界面的元素时,改进的技术使得系统能够激活所确定的区域被选择到的元素。在一些实施方式中,系统使用包括卷积神经网络的分类引擎进行确定;这样的引擎将用户的眼睛的图像作为输入并输出注视指向区域中的每个区域的概率的列表。
所公开的实施方式的技术优点是这样的实施方式使用更少的计算资源并且不易出错。例如,在一些实施方式中,区域可以与用户界面元素相关联,该用户界面元素例如为包含在显示器上渲染的内容的窗口;与如在常规眼睛注视方向跟踪器中进行的将所识别的像素映射到这样的窗口相比,这样的关联使用更少的计算资源来激活显示器上的窗口。
应注意,与上述常规方法相比,改进的技术的输出是对应于区域而非个体像素的可能性的向量。因此,输出具有比常规方法的大小小得多的大小。
图1A是示出在增强现实(AR)系统中用作头部的示例智能眼镜110的图。图1A示出了智能眼镜110的透明显示器112的世界侧112(a)。智能眼镜110可以用作AR系统内的头戴式显示器(HMD)。智能眼镜110包括框架111,其中透明显示器112耦合在框架111中。在一些实施方式中,音频输出设备113耦合到框架111。在一些实施方式中,触摸表面114允许智能眼镜110的用户控制、输入等。智能眼镜110可以包括包含各种感测系统设备的感测系统116和包含各种控制系统设备的控制系统117,以便于智能眼镜110的操作。控制系统117可以包括可操作地耦合到控制系统117的组件的处理器119和提供用于与外部设备和/或网络通信的通信模块115。智能眼镜110还可以包括图像传感器118(即,相机118)、深度传感器、光传感器以及其他这样的感测设备。在一些实施方式中,图像传感器118或相机118能够捕获静止和/或移动图像、图案、特征、光等。
应注意,在一些实施方式中,智能眼镜110可以用包括透明显示器的任何种类的HMD替代,其中HMD的形式不一定是可佩戴眼镜或护目镜。例如,一个这样的HMD可以采取具有取景器的相机的形式,该取景器被配置为显示AR内容并允许查看世界侧环境。
图1B是示出其中可以实现上述技术方案的示例电子环境100的图。计算机120被配置为确定用户的注视指向的显示器的区域。
计算机120包括网络接口122、一个或多个处理单元124和存储器126。网络接口122包括例如以太网适配器等,用于将从网络150接收到的电子和/或光信号转换为电子形式以供计算机120使用。该组处理单元124包括一个或多个处理芯片和/或组装件。存储器126包括易失性存储器(例如,RAM)和非易失性存储器,诸如一个或多个ROM、磁盘驱动器、固态驱动器等。该组处理单元124和存储器126一起形成控制电路,该控制电路被配置和布置为执行如本文所描述的各种方法和功能。
在一些实施方式中,计算机120的一个或多个组件可以是或可以包括被配置为处理存储在存储器126中的指令的处理器(例如,处理单元124)。如图1中所描绘的这样的指令的示例包括输入管理器130、分类管理器140和激活管理器。此外,如图1所示,存储器126被配置为存储各种数据,其相对于使用这种数据的相应管理器来描述。
输入管理器130被配置为接收输入数据,诸如图像数据132、区域数据134、滑移数据136和用户数据138。在一些实施方式中,经由连接到显示器——例如,透明显示器112(图1A)——的硬件捕获各种输入数据。例如,硬件可以包括被配置为捕获用户的眼睛的图像的相机,例如相机118。在一些实施方式中,硬件包括陀螺仪、磁力计、GPS接收器等中的任何一个以获取输入数据,诸如滑移数据136和用户数据138。在一些实施方式中,输入管理器130被配置为通过网络接口122接收输入数据。
图像数据132表示用户的眼睛的至少一个图像。图像数据132被布置用于输入到分类管理器140中。在一些实施方式中,图像数据132表示用于跟踪注视方向的用户的眼睛的图像的序列。在一些实施方式中,图像序列是跟踪用户的眼睛的运动的视频的帧。
区域数据134表示显示器的区域。区域中的每个区域包括显示器的多个像素。在一些实施方式中,每个区域对应于用户界面的相应元素,例如,包含要由用户查看的内容的窗口。在一些实施方式中,每个区域具有包括像素的阵列的矩形形状。在一些实施方式中,至少一个区域是非连续的并且包括多个矩形。在一些实施方式中,区域数据134包括识别每个区域的标识符。
对于其中显示器是在智能眼镜中使用的透明显示器的实施方式,滑移数据136表示与智能眼镜从用户的脸部上的标称位置滑移的程度相对应的参数值。在注视跟踪系统的标称配置中,眼睛处于相对于显示器具有已知(设计)姿态的标称位置处。在佩戴期间,眼镜的位置可以从该标称位置改变(在鼻子上滑移、由用户调整等)。当滑移发生时,眼睛与眼睛跟踪相机之间的姿态改变,并且用户的眼睛的图像看起来不同于标称配置的情况。此外,注视角将是不同的,因为显示器的位置随着智能眼镜的滑移而改变。因此,在一些实施方式中,滑移数据136包括相对于相机的眼睛位置的估计作为参数值。在一些实施方式中,这样的相对眼睛位置被表达为三维向量。在一些实施方式中,这样的相对眼睛位置被表达为球体上的角坐标。
用户数据138表示描述用户之间的物理差异的参数值,该物理差异可能影响用户的注视指向的区域的确定。例如,在眼睛外观、视轴、头部形状等方面的用户差异都可以影响确定的准确性。因此,在一些实施方式中,用户数据138表示定义眼睛外观、视轴和头部形状的参数的值。在一些实施方式中,这样的参数值直接从图像数据134推断。
分类管理器140被配置为确定用户的注视指向的显示器的区域,从而至少基于图像数据132产生分类数据144。在一些实施方式中,分类数据144是基于区域数据134、滑移数据136和用户数据138中的任何一个。在一些实施方式中,分类管理器140包括充当分类引擎的卷积神经网络(CNN)的至少一个分支。分类管理器140包括训练管理器141和识别管理器144。分类数据144包括训练数据145和识别数据146。
在一些实施方式中,CNN将图像数据132作为输入。在一些实施方式中,CNN还将区域数据134、滑移数据136和用户数据138中的任何一个作为输入。在一些实施方式中,CNN具有指定数量的层,其中的一个是产生输出的输出层。这样的神经网络被配置为产生分类结果:显示器的哪个区域是用户的注视指向的区域。在一些实施方式中,输出包括指示用户的注视指向每个区域的可能性的值的向量。
训练管理器141被配置为基于训练数据145生成分类引擎,即神经网络。例如,在一些实施方式中,训练数据145表示用户的眼睛的图像以及在拍摄该图像时用户的注视指向的区域的对应标识符。然后,训练管理器141调整神经网络的隐藏层内的节点的权重以优化指定的损失函数。在一些实施方式中,损失函数包括适合于诸如上述CNN的多类分类引擎的分类交叉熵。在一些实施方式中,损失函数包括Kullback-Leibler散度损失。在一些实施方式中,分类引擎基于区域数据134学习对不同区域布局的校准;关于图4示出了进一步的细节。由训练管理器141调整的权重和表示神经网络的架构的其他数据被包括在分类数据144中。
识别管理器142被配置为对图像数据132进行分类以识别用户的注视指向的显示器的区域。如图1B所示,分类数据144包括从识别管理器142输出的识别数据146。在一些实施方式中,识别数据146表示可能性值的向量,例如,用户的注视指向显示器的区域中的每个区域的概率。
在一些实施方式中,识别管理器142被配置为基于如上所述的用于训练分类引擎的损失函数来产生分类数据。在一些实施方式中,标识管理器142被配置为接受输入区域数据134、滑移数据136和用户数据138中的任何一个。在一些实施方式中,训练数据145包括与用户的注视指向的区域的标识符耦合的区域、滑移和用户数据。在一些实施方式中,上述类型的数据中的每个用于生成分类引擎的附加分支;关于图4示出了进一步的细节。
在一些实施方式中,在区域数据134中描述的区域中的每个区域对应于用户界面的元素,例如窗口。激活管理器150被配置为响应于显示器上的用户界面元素对应于被确定为用户的注视指向的区域的区域而激活该用户界面元素。例如,当确定用户的注视指向显示器的对应于窗口的区域——例如,该窗口被包含在该区域中,该窗口是该区域等——时,激活管理器150被配置为激活该窗口,即,通过在使其他窗口的标题栏变暗的同时突出显示该窗口的标题栏来使该窗口活动。在涉及显示器被嵌入在智能眼镜中的实施方式中,用户可以使用例如语音命令对窗口中显示的内容执行操作。当用户将其注视指向另一区域并且分类管理器140将该另一区域识别为用户的注视指向的区域时,激活管理器150激活对应于该另一区域的窗口。
用户设备120的组件(例如,模块、处理单元124)可以被配置为基于可以包括一种或多种类型的硬件、软件、固件、操作系统、运行时库等的一个或多个平台(例如,一个或多个相似的或不同的平台)来操作。在一些实施方式中,计算机120的组件可以被配置为在设备的集群(例如,服务器场)内操作。在这样的实施方式中,计算机120的组件的功能和处理可以分布到设备的集群的若干设备。
计算机120的组件可以是或可以包括被配置为处理属性的任何类型的硬件和/或软件。在一些实施方式中,图1B中的计算机120的组件中示出的组件的一个或多个部分可以是或可以包括基于硬件的模块(例如,数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储器)、固件模块和/或基于软件的模块(例如,计算机代码的模块、可以在计算机处执行的计算机可读指令的集合)。例如,在一些实施方式中,计算机120的组件的一个或多个部分可以是或可以包括被配置为由至少一个处理器(未示出)执行的软件模块。在一些实施方式中,组件的功能可以被包括在与图1B中示出的那些不同的模块和/或不同的组件中,包括将被图示为两个组件的功能组合成单个组件。
尽管未示出,但是在一些实施方式中,计算机120的组件(或其部分)可以被配置为在例如数据中心(例如,云计算环境)、计算机系统、一个或多个服务器/主机设备等内操作。在一些实施方案中,计算机120的组件(或其部分)可以被配置为在网络内操作。因此,计算机120的组件(或其部分)可以被配置为在可以包括一个或多个设备和/或一个或多个服务器设备的各种类型的网络环境内起作用。例如,网络可以是或可以包括局域网(LAN)、广域网(WAN)等。网络可以是或可以包括使用例如网关设备、网桥、交换机等实现的无线网络和/或无线网络。网络可以包括一个或多个段和/或可以具有基于诸如互联网协议(IP)和/或专属协议的各种协议的部分。网络可以包括因特网的至少一部分。
在一些实施方式中,计算机120的一个或多个组件可以是或可以包括被配置为处理存储在存储器中的指令的处理器。例如,输入管理器130(和/或其一部分)、分类管理器140(和/或其一部分)和激活管理器150(和/或其一部分)可以是被配置为执行与实现一个或多个功能的过程相关的指令的处理器和存储器的组合。
在一些实施方式中,存储器126可以是任何类型的存储器,诸如随机存取存储器、磁盘驱动器存储器、闪存存储器等。在一些实施方式中,存储器126可以被实现为与VR服务器计算机120的组件相关联的多于一个存储器组件(例如,多于一个RAM组件或磁盘驱动器存储器)。在一些实施方式中,存储器126可以是数据库存储器。在一些实施方式中,存储器126可以是或可以包括非本地存储器。例如,存储器126可以是或可以包括由多个设备(未示出)共享的存储器。在一些实施方式中,存储器126可以与网络内的服务器设备(未示出)相关联,并且被配置为服务于计算机120的组件。如图1所示,存储器126被配置为存储各种数据,包括图像训练数据131、参考对象数据136和预测引擎数据150。
图2A是示出包括激活区域220(1)的显示器200上的示例区域220(1-4)的图。在一些实施方式中,显示器200是嵌入在用于AR应用的智能眼镜中的透明显示器。在一些实施方式中,显示器200是诸如智能电话或平板计算机的便携式计算设备上的显示器。
显示器200包括像素阵列210;每个像素表示作为显示的内容的构建块的颜色或灰度级别。区域220(1-4)中的每个包括相应的像素阵列。如图2A所示,区域210(1-4)具有圆角,但这绝不是要求。
区域220(1)被示出为被识别为用户的注视指向的区域,而其他区域220(2-4)未被识别为如此。这意味着识别管理器142确定用户的注视指向区域220(1)。分类引擎140被配置为实时地执行区域的识别,使得当用户改变其注视的方向时以非常小的延时识别区域。因此,图2A中示出的区域的布置意味着用户当前正在观看区域220(1)。
图2B是示出包括激活区域260(1)的显示器上的示例区域260(1-4)的图;在此情况下,区域可以不是连续的。例如,如图2B所示,区域260(1)包括彼此分离的两个分离的子区域。例如,当子区域对应于单个应用中的不同窗口时,可以出现这样的非连续区域。在一些实施方式中,区域260(1)可以不具有矩形形状,但是连续的;在这样的实施方式中,区域可以被分解成若干矩形或被定义为像素的网格210上的多边形。
注意,识别管理器142不要求眼睛跟踪器提供注视的确切像素,而是仅需要找到注视指向的区域。在图2A和图2B中示出的示例中,如果注视在区域220(1-4)上,则相机将需要提供输入数据。通过以这种方式制定问题,用于跟踪用户的注视的准确性要求可以被放宽到仅给定用户界面设计所需的准确性。此外,通过这样做,可以减少计算时间、功耗、存储器并且可能使注视跟踪更稳健。
图3A是示出被配置为将用户的眼睛的图像分类为具有指向特定区域的注视的示例卷积神经网络(CNN)300的图。这是卷积神经网络(CNN),其由CNN层、池化层和密集层组成。输入是从安装在智能眼镜框架上并且对用户的眼睛成像的相机获得的图像。网络的输出是长度为N的向量,其中N是区域的数量。输出向量350中的最大值的索引给出注视的所识别的区域。可选地,可以在最后一个密集层之后添加softmax层340,其将输出向量内部的每个值归一化为在0和1之间,并且所有值加起来为1。然后,每个值表示注视指向特定区域的概率。在一些实施方式中,每个CNN层包括激活函数,诸如整流线性单元、Sigmoid或双曲正切。
在存在具有相似概率(即,相差小于指定阈值差的概率)的两个类——即,区域——的一些实施方式中,计算机120可以仅渲染和显示这两个区域。在一些实施方式中,计算机120要求用户从所显示的两个区域中手动选择区域。
在一些实施方式中,区域数据134包括针对显示器的外部的空间的标识符,即,限定未包括在任何区域中或包括任何像素的新区域。在这样的实施方式中,可以确定用户没有正在观看显示器。
如图3A所示,输入数据305被引入到2D卷积层310(1)中,其之后是池化层320(1)。在图3中示出的示例中,存在四个2D卷积层310(1-4),每个之后是相应的池化层320(1-4)。所示的四个卷积层310(1-4)中的每个具有3X3的核大小,具有两个步幅。来自2D卷积层310(1-4)的输出大小分别是16、32、64和128。
在这些卷积层310(1-4)及其相应的池化层320(1-4)之后是密集层330(1)和330(2)。在一些实施方式中,密集层330(1)和330(2)用于将CNN的其他分支合并到被定义为具有卷积层310(1-4)及其相应的池化层320(1-4)的分支中。例如,可以训练CNN的第二分支以基于区域数据134、滑移数据136和/或用户数据138生成输出值。然后,密集层330(1)和330(2)可以基于区域的布置、智能眼镜沿用户的脸部向下的任何滑移或其他用户特性来提供对由CNN的第一分支定义的分类模型的调整。
分类模型由训练管理器141使用训练数据145生成。训练数据145表示训练数据集和针对在训练数据集中表示的注视指向的区域的标识符。训练数据集包括用户的眼睛随时间的图像。在一些实施方式中,周期性地,例如,每秒、每0.5秒、每0.1秒等,生成图像。这些图像和对应的区域标识符被输入到损失函数,并且层节点的值通过优化损失函数来生成。
在一些实施方式中,区域数据134根据像素坐标或角度表示。在这样的实施方式中,训练管理器141将坐标或角度转换成区域标识符。在一些实现中,该转换可以使用查找表来完成。在一些实施方式中,该转换通过根据例如注视向量与表示该区域的中心的向量之间的欧几里德距离或余弦距离来计算最接近的图块中心来完成。
在一些实施方式中,损失函数包括适合于多类分类问题的分类交叉熵。这样的交叉熵损失可以在数学上表示如下:
其中C是类的数量(例如,显示器上的区域的数量),pi是类i的标签并且qi是网络的输出;在一些布置中,是softmax层的输出。在一些实施方式中,类的标签以独热表示,其中仅针对示例属于的类,pi=1,否则pi=0。上述等式表示每个示例(即,来自训练数据145的图像)的损失;通过对批次中的所有示例上的交叉熵损失求和并除以批次大小来获得总损失。
在一些实施方式中,损失函数包括Kullback-Leibler散度损失。这样的Kullback-Leibler散度损失可以在数学上表示如下:
其中C是类的数量(例如,显示器上的区域的数量),pi是类i的标签并且qi是网络的输出;在一些布置中,是softmax层的输出。上述等式表示每个示例(即,来自训练数据的图像)的损失;通过对批次中的所有示例上的Kullback-Leibler散度损失求和并除以批次大小来获得总损失。
在一些实施方式中,损失函数包括三元组损失,该三元组损失用于优化由包含注视空间的区域定义的度量空间,即,用户可以观看的所有位置;在这样的度量空间中,可以定义图像集群。这些图像集群进而定义锚点,并且损失函数可以是部分地基于距锚点的距离。这样的三元组损失可以在数学上表示如下:
其中f(x)表示神经网络变换,Ak表示锚输入(即,图像),Pk是正示例,并且Nk是负示例。求和是在(锚,正示例,负示例)的所有可能的三元组上。α表示引入正示例和负示例之间的余量的小数字,该小数字在避免全零的平凡解中使用。
图3B是示出被配置为将用户的眼睛的图像分类为具有指向特定点的注视的示例卷积神经网络(CNN)360的图。CNN 360类似于CNN 300(图3A),除了存在新的密集层370(1-4)。密集层370(1,2)类似于图3A的密集层330(1,2)。然而,密集层370(3,4)被配置为产生用户的注视指向的显示器上的最可能点的坐标。
如上所述,图3A的密集层330(1)和330(2)或图3B的密集层370(1-4)允许基于诸如区域数据134、滑移数据136和用户数据138的其他输入数据进行对分类模型的调整。在图4中示出了向密集层(例如,密集层330(1))提供输出的示例分支。
图4是示出形成CNN 400的另一分支的示例卷积层的图,在这种情况下CNN 400被配置为适应于不同的区域或图块几何形状。注意,类似的分支可以被定义用于滑移和用户调节。另一个分支的输出被馈送到密集层中,该密集层调整来自仅使用图像数据132的输出。
CNN 400将输入405带到第一分支的卷积层410中,并经由第一密集层将第一输出提供给级联层440。在第二分支中,CNN将图块设计420,即,区域的布置,输入到学习的嵌入层430中。该学习的嵌入层430的输出也被输入到级联层440中。级联层440将第一密集层的输出与嵌入层430的输出级联。级联的输出用于确定注视指向的区域。
存在若干替代方法来确定注视指向的区域而不是图4中示出的方法。在一些实施方式中,训练多个模型,每个模型对应于相应的布置。在一些实施方式中,在小区域上执行训练,并且针对每个布置对输出进行分箱。在一些实施方式中,训练网络,使得网络对于所有布置具有固定的卷积层,但是对于每个布置具有不同的密集层。
可以关于其他输入数据采用类似的方法。例如,关于基于滑移数据136的用户校准,眼睛处于相对于显示器具有已知(设计)姿态的标称位置处。在佩戴期间,眼镜的位置可以从该标称位置改变(在鼻子上滑移、由用户调整等)。当滑移发生时,眼睛与眼睛跟踪相机之间的姿态改变,并且眼睛的图像看起来不同于标称配置的情况。此外,注视角度将是不同的,因为显示器的位置随着眼镜的滑移而改变。因此,神经网络可能产生错误的分类。
在一些实施方式中,推测眼睛相对于相机的姿态(位置和取向)。为此,可以采取以下方法:训练学习使注视分类和相对于相机(或显示器)的眼睛位置的估计去耦的网络。相对于显示器的眼睛位置的估计可以使用眼睛图像的不随着注视而改变的部分(诸如眼睛的角落)。例如,这些图像部分的选择可以利用注意力神经网络模型来完成。可以在两组图像中比较这些图像部分:第一组可以是来自校准阶段,并且第二组来自在注视分类运行时期间捕获的图像。
利用滑移数据136调整分类模型的其他替代方案包括可能滑移位置的有限集合的假设并且基于有限集合执行眼睛位置的分类。用户提示还可以用于检测滑移是否已经发生。最后,可以采用强力方法,其中CNN被训练为相对于由于滑移引起的位置变化不变。
关于用户数据138,可以校准CNN以考虑眼睛外观、视轴、头部形状等的差异。例如,校准方案涉及引导用户观看显示器上具有已知区域关联的特定目标。在校准期间,记录眼睛相机图像并且将目标的区域标识符保存为标签作为用户数据138的一部分。然后可以以以下方式使用用户数据138:
·微调现有的预先训练的神经网络,
·训练专门添加用于校准的附加网络分支或结构,
·在训练期间学习仅将校准数据作为输入并预测用户特定的嵌入层的编码器,
·对齐图像使得用户数据138中的眼睛标志与训练数据141中的眼睛标志对齐。
在一些实施方式中,期望平滑、稳定的时间注视。在这样的实施方式中,时间滤波可以用于实现平滑、稳定的时间注视,如下:
·根据来自图像数据132中的连续视频帧的softmax层输出来计算平均或中值分数,
·并入递归神经网络(RNN)层,该RNN层被配置为获取卷积层的输出并在顶部训练RNN单元(例如,长短期记忆单元、GRU单元等),
·在一些实施方式中,将眼睛移动分类为固定、扫视或追踪。
在一些实施方式中,CNN的输出包括区域标识符以及注视指向的显示器内的估计的位置。
图5是描绘确定用户的注视指向的区域的示例方法500的流程图。方法500可以由结合图1B描述的软件构造来执行,该软件构造驻存在计算电路120的存储器126中并且由一组处理单元124运行,或者可以由驻存在计算电路120的存储器中的软件构造来执行。
在502处,计算机120接收表示在一时刻观看显示器的用户的眼睛的至少一个图像的图像数据(例如,图像数据132),该显示器包括多个区域(例如,区域220(1-4))并且被配置为在增强现实(AR)应用中(例如,在智能眼镜110中)操作,该多个区域中的每个区域包括多个像素(例如,像素210)并且对应于用户界面的相应元素。
在504处,计算机120基于图像数据来识别显示器的多个区域中在该时刻用户的注视指向的区域,该识别包括将用户的眼睛的至少一个图像输入到分类引擎中,该分类引擎被配置为将注视分类为指向多个区域中的一个区域。
在506处,计算机120激活用户界面的与所识别的区域对应的元素。
图6示出了可以与本文描述的技术一起使用的通用计算机设备600和通用移动计算机设备650的示例。计算机设备600是图1和图2的计算机120的一个示例配置。
如图6所示,计算设备600旨在表示各种形式的数字计算机,诸如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、大型机和其他适当的计算机。计算设备650旨在表示各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能电话和其他类似的计算设备。本文示出的组件、它们的连接和关系以及它们的功能仅旨在是示例性的,并且不旨在限制本文档中描述和/或要求保护的本发明的实施方式。
计算设备600包括处理器602、存储器604、存储设备606、连接到存储器604和高速扩展端口610的高速接口608、以及连接到低速总线614和存储设备606的低速接口612。组件602、604、606、608、610和612中的每一个使用各种总线互连,并且可以安装在公共主板上或以其他适当的方式安装。处理器602可以处理用于在计算设备600内执行的指令,包括存储在存储器604中或存储设备606上的指令,以在外部输入/输出设备——诸如耦合到高速接口608的显示器616——上显示用于GUI的图形信息。在其他实施方式中,可以适当地使用多个处理器和/或多个总线以及多个存储器和存储器类型。而且,可以连接多个计算设备600,其中每个设备提供必要操作的部分(例如,作为服务器库、一组刀片服务器或多处理器系统)。
存储器604在计算设备600内存储信息。在一个实施方式中,存储器604是一个或多个易失性存储器单元。在另一实施方式中,存储器604是一个或多个非易失性存储器单元。存储器604也可以是另一种形式的计算机可读介质,诸如磁盘或光盘。
存储设备606能够为计算设备600提供大容量存储。在一个实施方式中,存储设备606可以是或包含计算机可读介质,诸如软盘设备、硬盘设备、光盘设备、或磁带设备、闪存或其他类似的固态存储器设备、或设备阵列,包括存储区域网络或其他配置中的设备。计算机程序产品可以有形地体现在信息载体中。计算机程序产品还可以包含指令,该指令在被执行时执行一种或多种方法,诸如上述的那些。信息载体是计算机或机器可读介质,诸如存储器604、存储设备606或处理器602上的存储器。
高速控制器608管理计算设备500的带宽密集型操作,而低速控制器612管理较低带宽密集型操作。功能的这种分配仅是示例性的。在一个实施方式中,高速控制器608耦合到存储器604、显示器616(例如,通过图形处理器或加速器),并且耦合到可以接受各种扩展卡(未示出)的高速扩展端口610。在该实施方式中,低速控制器612耦合到存储设备506和低速扩展端口614。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口可以耦合到一个或多个输入/输出设备,诸如键盘、指向设备、扫描仪或例如通过网络适配器耦合到联网设备,诸如交换机或路由器。
如图所示,计算设备600可以以多种不同的形式实现。例如,它可以被实现为标准服务器620,或者在一组这样的服务器中多次实现。它也可以被实现为机架服务器系统624的一部分。此外,它可以在诸如膝上型计算机622的个人计算机中实现。或者,来自计算设备600的组件可以与移动设备(未示出)中的其他组件——诸如设备650——组合。这样的设备中的每个可以包含计算设备600、650中的一个或多个,并且整个系统可以由彼此通信的多个计算设备600、650组成。
本文描述的系统和技术的各种实施方式可以在数字电子电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现。这些各种实施方式可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实施方式,该可编程系统包括至少一个可编程处理器,该可编程处理器可以是专用或通用的,被耦合以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,并向其发送数据和指令。
这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以用高级过程和/或面向对象的编程语言和/或用汇编/机器语言来实现。如本文所使用的,术语“机器可读介质”“计算机可读介质”是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(PLD)),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。
为了提供与用户的交互,本文描述的系统和技术可以在具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)以及用户可以通过其向计算机提供输入的键盘和定点设备(例如,鼠标或轨迹球)的计算机上实现。其他种类的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈(例如,视觉反馈、听觉反馈或触觉反馈);并且可以以任何形式接收来自用户的输入,包括声学、语音或触觉输入。
本文描述的系统和技术可以在计算系统中实现,该计算系统包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如,具有图形用户界面或Web浏览器的客户端计算机,用户可以通过该图形用户界面或Web浏览器与本文描述的系统和技术的实施方式进行交互),或者这样的后端、中间件或前端组件的任何组合。系统的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)和互联网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系通过在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。
已经描述了多个实施方式。然而,将理解,在不脱离本说明书的精神和范围的情况下,可以进行各种修改。
还将理解,当元件被称为在另一元件上、连接到另一元件、电连接到另一元件、耦合到另一元件或电耦合到另一元件时,其可以直接在该另一元件上、连接或耦合到该另一元件,或者可以存在一个或多个中间元件。相比之下,当元件被称为直接在另一元件上、直接连接到另一元件或直接耦合到另一元件时,不存在中间元件。尽管在整个详细描述中可能没有使用直接在……上、直接连接到或直接耦合到的术语,但是示出为直接在……上、直接连接或直接耦合的元件可以被称为这样。可以修改本申请的权利要求以叙述说明书中描述的或附图中示出的示例性关系。
虽然已经如本文所述说明了所描述的实施方式的某些特征,但是本领域技术人员现在将想到许多修改、替代、改变和等同。因此,应当理解,所附权利要求旨在覆盖落入实施方式的范围内的所有这样的修改和改变。应当理解,它们仅通过示例而非限制的方式呈现,并且可以在形式和细节上进行各种改变。除了相互排斥的组合之外,本文描述的装置和/或方法的任何部分可以以任何组合进行组合。本文描述的实施方式可以包括所描述的不同实施方式的功能、组件和/或特征的各种组合和/或子组合。
另外,附图中描绘的逻辑流程不需要所示的特定顺序或先后顺序来实现期望的结果。另外,可以提供其他步骤,或者可以从所描述的流程中消除步骤,并且可以将其他组件添加到所描述的系统或从所描述的系统移除其他组件。因此,其他实施方式处于所附权利要求书的范围内。
在下文中,描述了一些示例。
示例1:一种方法,包括:
接收表示在一时刻观看显示器的用户的眼睛的至少一个图像的图像数据,所述显示器包括多个区域并且被配置为在增强现实(AR)应用中操作,所述多个区域中的每个区域包括多个像素并且对应于用户界面的相应元素;
基于所述图像数据来识别所述显示器的所述多个区域中在所述时刻用户的注视指向的区域,所述识别包括将所述用户的所述眼睛的所述至少一个图像输入到分类引擎中,所述分类引擎被配置为将所述注视分类为指向所述多个区域中的一个区域;以及
激活所述用户界面的与所识别的区域对应的所述元素。
示例2:如示例1中所述的方法,其中所述分类引擎包括表示卷积神经网络(CNN)的第一分支。
示例3:如权利要求2中所述的方法,其中所述分类引擎被配置为产生具有与所述多个区域中的区域的数量相等的数量的元素的向量作为输出,所述向量的每个元素包括对应于所述多个区域中的相应区域的数字,所述数字表示所述用户的所述注视指向与所述数字对应的所述区域的可能性。
示例4:如示例3中所述的方法,其中所述分类引擎包括softmax层,所述softmax层被配置为产生零和一之间的概率作为所述分类引擎的输出,作为对应于所述多个区域中的每个区域的所述可能性,并且其中识别所述区域还包括选择所述多个区域中概率大于所述多个区域中的其他区域中的每个区域的概率的区域作为所识别的区域。
示例5:如示例3中所述的方法,其中识别所述区域还包括生成表示对应于所述显示器上的所述多个区域的图像集群集合的图像集群数据,并且其中所述分类引擎包括基于距所述图像集群集合的距离的损失函数。
示例6:如示例1中所述的方法,还包括训练所述分类引擎,所述训练是基于所述用户的所述眼睛的图像与识别所述多个区域中所述用户的所述注视指向的区域的区域标识符之间的映射。
示例7:如示例1中所述的方法,其中所述显示器是嵌入在智能眼镜中的透明显示器。
示例8:如示例7中所述的方法,其中所述分类引擎还包括表示神经网络的第二分支,并且其中所述方法还包括从所述第二分支并且基于所述图像数据,输出所述用户的所述眼睛相对于安装在所述智能眼镜上的相机的姿态。
示例9:如示例8中所述的方法,其中所述分类引擎包括注意力层,并且其中识别所述区域还包括使所述注意力层基于所输出的所述眼睛的姿态来调整所述注视指向所述显示器的所述区域的概率。
示例10:如示例1中所述的方法,其中所述用户是第一用户,其中所述分类引擎还包括表示神经网络的第二分支,并且其中所述方法还包括:将指示所述第一用户与第二用户之间的差异的参数值输入到所述第二分支中;以及使所述第二分支基于所述参数值来调整所述注视指向所述显示器的所述区域的概率。
示例11:如示例1中所述的方法,其中所述用户是第一用户,其中所述分类引擎还包括表示神经网络的第二分支,并且其中所述方法还包括:将指示所述多个区域的几何配置的参数值输入到所述第二分支中;以及使所述第二分支基于所述参数值来调整所述注视指向所述显示器的所述区域的概率。
示例12:如示例1中所述的方法,其中所述用户是第一用户,其中所述分类引擎还包括表示神经网络的第二分支,并且其中所述方法还包括:将指示所述图像数据的时间平滑度的参数值输入到所述第二分支中;以及使所述第二分支基于所述参数值来调整所述注视指向所述显示器的所述区域的概率。
示例13:一种计算机程序产品,包括非暂时性存储介质,所述计算机程序产品包括代码,所述代码在由计算机的处理电路执行时使所述处理电路执行一种方法,所述方法包括:
接收表示在一时刻观看显示器的用户的眼睛的至少一个图像的图像数据,所述显示器包括多个区域并且被配置为在增强现实(AR)应用中操作,所述多个区域中的每个区域包括多个像素并且对应于用户界面的相应元素;
基于所述图像数据来识别所述显示器的所述多个区域中在所述时刻用户的注视指向的区域,所述识别包括将所述用户的所述眼睛的所述至少一个图像输入到分类引擎中,所述分类引擎被配置为将所述注视分类为指向所述多个区域中的一个区域;以及
激活所述用户界面的与所识别的区域对应的所述元素。
示例14:如示例13中所述的计算机程序产品,其中所述分类引擎包括表示卷积神经网络(CNN)的第一分支。
示例15:如示例13中所述的计算机程序产品,其中所述分类引擎被配置为产生对应于所述多个区域中的每个区域的数字作为输出,所述数字表示所述用户的所述注视指向与所述数字对应的所述区域的可能性。
示例16:如示例13中所述的计算机程序产品,其中所述方法还包括训练所述分类引擎,所述训练是基于所述用户的所述眼睛的图像与识别所述多个区域中所述用户的所述注视指向的区域的区域标识符之间的映射。
示例17:如示例13中所述的计算机程序产品,其中所述显示器是嵌入在智能眼镜中的透明显示器。
示例18:如示例17中所述的计算机程序产品,其中所述分类引擎还包括表示神经网络的第二分支,并且其中所述方法还包括从所述第二分支并且基于所述图像数据输出所述用户的所述眼睛相对于安装在所述智能眼镜上的相机的位置和取向。
示例19:如示例18中所述的计算机程序产品,其中所述分类引擎包括注意力层,并且其中识别所述区域还包括使所述注意力层基于所输出的所述眼睛的位置和取向来调整所述注视指向所述显示器的所述区域的概率。
示例20:一种电子装置,所述电子装置包括:
存储器;以及
耦合到所述存储器的处理电路,所述处理电路被配置为:
接收表示在一时刻观看显示器的用户的眼睛的至少一个图像的图像数据,所述显示器包括多个区域并且被配置为在增强现实(AR)应用中操作,所述多个区域中的每个区域包括多个像素并且对应于用户界面的相应元素;
基于所述图像数据来识别所述显示器的所述多个区域中在所述时刻用户的注视指向的区域,所述识别包括将所述用户的所述眼睛的所述至少一个图像输入到分类引擎中,所述分类引擎被配置为将所述注视分类为指向所述多个区域中的一个区域;以及
激活所述用户界面的与所识别的区域对应的所述元素。
Claims (20)
1.一种方法,包括:
接收表示在一时刻观看显示器的用户的眼睛的至少一个图像的图像数据,所述显示器包括多个区域并且被配置为在增强现实(AR)应用中操作,所述多个区域中的每个区域包括多个像素并且对应于用户界面的相应元素;
基于所述图像数据来识别所述显示器的所述多个区域中在所述时刻用户的注视指向的区域,所述识别包括将所述用户的所述眼睛的所述至少一个图像输入到分类引擎中,所述分类引擎被配置为将所述注视分类为指向所述多个区域中的一个区域;以及
激活所述用户界面的与所识别的区域对应的所述元素。
2.根据权利要求1所述的方法,其中所述分类引擎包括表示卷积神经网络(CNN)的第一分支。
3.根据权利要求1所述的方法,其中所述分类引擎被配置为产生具有与所述多个区域中的区域的数量相等的数量的元素的向量作为输出,所述向量的每个元素包括对应于所述多个区域中的相应区域的数字,所述数字表示所述用户的所述注视指向与所述数字对应的所述区域的可能性。
4.根据权利要求3所述的方法,其中所述分类引擎包括softmax层,所述softmax层被配置为产生零和一之间的概率作为所述分类引擎的输出,作为对应于所述多个区域中的每个区域的所述可能性,并且
其中识别所述区域还包括:
选择所述多个区域中概率大于所述多个区域中的其他区域中的每个区域的概率的区域作为所识别的区域。
5.根据权利要求3所述的方法,
其中识别所述区域还包括:
生成表示对应于所述显示器上的所述多个区域的图像集群集合的图像集群数据,并且
其中所述分类引擎包括基于距所述图像集群集合的距离的损失函数。
6.根据权利要求1所述的方法,还包括:
训练所述分类引擎,所述训练是基于所述用户的所述眼睛的图像与识别所述多个区域中所述用户的所述注视指向的区域的区域标识符之间的映射。
7.根据权利要求1所述的方法,其中所述显示器是嵌入在智能眼镜中的透明显示器。
8.根据权利要求7所述的方法,其中所述分类引擎还包括表示神经网络的第二分支,并且
其中所述方法还包括:
从所述第二分支并且基于所述图像数据,输出所述用户的所述眼睛相对于安装在所述智能眼镜上的相机的姿态。
9.根据权利要求8所述的方法,其中所述分类引擎包括注意力层,并且
其中识别所述区域还包括:
使所述注意力层基于所输出的所述眼睛的姿态来调整所述注视指向所述显示器的所述区域的概率。
10.根据权利要求1所述的方法,其中所述用户是第一用户,
其中所述分类引擎还包括表示神经网络的第二分支,并且
其中所述方法还包括:
将指示所述第一用户与第二用户之间的差异的参数值输入到所述第二分支中;以及
使所述第二分支基于所述参数值来调整所述注视指向所述显示器的所述区域的概率。
11.根据权利要求1所述的方法,其中所述用户是第一用户,
其中所述分类引擎还包括表示神经网络的第二分支,并且
其中所述方法还包括:
将指示所述多个区域的几何配置的参数值输入到所述第二分支中;以及
使所述第二分支基于所述参数值来调整所述注视指向所述显示器的所述区域的概率。
12.根据权利要求1所述的方法,其中所述用户是第一用户,
其中所述分类引擎还包括表示神经网络的第二分支,并且
其中所述方法还包括:
将指示所述图像数据的时间平滑度的参数值输入到所述第二分支中;以及
使所述第二分支基于所述参数值来调整所述注视指向所述显示器的所述区域的概率。
13.一种计算机程序产品,包括非传递存储介质,所述计算机程序产品包括代码,所述代码在由处理电路执行时使所述处理电路执行一种方法,所述方法包括:
接收表示在一时刻观看显示器的用户的眼睛的至少一个图像的图像数据,所述显示器包括多个区域并且被配置为在增强现实(AR)应用中操作,所述多个区域中的每个区域包括多个像素并且对应于用户界面的相应元素;
基于所述图像数据来识别所述显示器的所述多个区域中在所述时刻用户的注视指向的区域,所述识别包括将所述用户的所述眼睛的所述至少一个图像输入到分类引擎中,所述分类引擎被配置为将所述注视分类为指向所述多个区域中的一个区域;以及
激活所述用户界面的与所识别的区域对应的所述元素。
14.根据权利要求13所述的计算机程序产品,其中所述分类引擎包括表示卷积神经网络(CNN)的第一分支。
15.根据权利要求13所述的计算机程序产品,其中所述分类引擎被配置为产生对应于所述多个区域中的每个区域的数字作为输出,所述数字表示所述用户的所述注视指向与所述数字对应的所述区域的可能性。
16.根据权利要求13所述的计算机程序产品,其中所述方法还包括:
训练所述分类引擎,所述训练是基于所述用户的所述眼睛的图像与识别所述多个区域中所述用户的所述注视指向的区域的区域标识符之间的映射。
17.根据权利要求13所述的计算机程序产品,其中所述显示器是嵌入在智能眼镜中的透明显示器。
18.根据权利要求17所述的计算机程序产品,其中所述分类引擎还包括表示神经网络的第二分支,并且
其中所述方法还包括:
从所述第二分支并且基于所述图像数据输出所述用户的所述眼睛相对于安装在所述智能眼镜上的相机的姿态。
19.根据权利要求18所述的计算机程序产品,其中所述分类引擎包括注意力层,并且
其中识别所述区域还包括:
使所述注意力层基于所输出的所述眼睛的姿态来调整所述注视指向所述显示器的所述区域的概率。
20.一种电子装置,所述电子装置包括:
存储器;以及
耦合到所述存储器的控制电路,所述控制电路被配置为:
接收表示在一时刻观看显示器的用户的眼睛的至少一个图像的图像数据,所述显示器包括多个区域并且被配置为在增强现实(AR)应用中操作,所述多个区域中的每个区域包括多个像素并且对应于用户界面的相应元素;
基于所述图像数据来识别所述显示器的所述多个区域中在所述时刻用户的注视指向的区域,所述识别包括将所述用户的所述眼睛的所述至少一个图像输入到分类引擎中,所述分类引擎被配置为将所述注视分类为指向所述多个区域中的一个区域;以及
激活所述用户界面的与所识别的区域对应的所述元素。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/305,219 | 2021-07-01 | ||
US17/305,219 US11868523B2 (en) | 2021-07-01 | 2021-07-01 | Eye gaze classification |
PCT/US2022/073337 WO2023279076A1 (en) | 2021-07-01 | 2022-07-01 | Eye gaze classification |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117581275A true CN117581275A (zh) | 2024-02-20 |
Family
ID=82748171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280046760.9A Pending CN117581275A (zh) | 2021-07-01 | 2022-07-01 | 眼睛注视分类 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11868523B2 (zh) |
EP (1) | EP4364112A1 (zh) |
KR (1) | KR20240024277A (zh) |
CN (1) | CN117581275A (zh) |
WO (1) | WO2023279076A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11886634B2 (en) * | 2021-03-19 | 2024-01-30 | Nvidia Corporation | Personalized calibration functions for user gaze detection in autonomous driving applications |
GB2606182B (en) * | 2021-04-28 | 2023-08-23 | Sony Interactive Entertainment Inc | System and method of error logging |
CN117270717A (zh) * | 2023-09-06 | 2023-12-22 | 北京酷讯科技有限公司 | 基于用户界面的人机交互方法、装置、设备及存储介质 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6980691B2 (en) * | 2001-07-05 | 2005-12-27 | Corel Corporation | Correction of “red-eye” effects in images |
US20120106793A1 (en) * | 2010-10-29 | 2012-05-03 | Gershenson Joseph A | Method and system for improving the quality and utility of eye tracking data |
US9176581B2 (en) * | 2012-09-28 | 2015-11-03 | Intel Corporation | System and method for inferring user intent based on eye movement during observation of a display screen |
US20160025971A1 (en) * | 2014-07-25 | 2016-01-28 | William M. Crow | Eyelid movement as user input |
US10248192B2 (en) | 2014-12-03 | 2019-04-02 | Microsoft Technology Licensing, Llc | Gaze target application launcher |
US10186086B2 (en) * | 2015-09-02 | 2019-01-22 | Microsoft Technology Licensing, Llc | Augmented reality control of computing device |
US10573042B2 (en) | 2016-10-05 | 2020-02-25 | Magic Leap, Inc. | Periocular test for mixed reality calibration |
US9898082B1 (en) * | 2016-11-01 | 2018-02-20 | Massachusetts Institute Of Technology | Methods and apparatus for eye tracking |
US11132543B2 (en) * | 2016-12-28 | 2021-09-28 | Nvidia Corporation | Unconstrained appearance-based gaze estimation |
US10310598B2 (en) * | 2017-01-17 | 2019-06-04 | Facebook Technologies, Llc | Varifocal head-mounted display including modular air spaced optical assembly |
GB201709199D0 (en) * | 2017-06-09 | 2017-07-26 | Delamont Dean Lindsay | IR mixed reality and augmented reality gaming system |
US10282589B2 (en) * | 2017-08-29 | 2019-05-07 | Konica Minolta Laboratory U.S.A., Inc. | Method and system for detection and classification of cells using convolutional neural networks |
US11263470B2 (en) * | 2017-11-15 | 2022-03-01 | Adobe Inc. | Saliency prediction for informational documents |
WO2019143117A1 (en) * | 2018-01-18 | 2019-07-25 | Samsung Electronics Co., Ltd. | Method and apparatus for adjusting augmented reality content |
WO2019154511A1 (en) | 2018-02-09 | 2019-08-15 | Pupil Labs Gmbh | Devices, systems and methods for predicting gaze-related parameters using a neural network |
US10627901B2 (en) | 2018-09-14 | 2020-04-21 | Facebook Technologies, Llc | Vergence determination |
US20210011550A1 (en) | 2019-06-14 | 2021-01-14 | Tobii Ab | Machine learning based gaze estimation with confidence |
US11301677B2 (en) * | 2019-06-14 | 2022-04-12 | Tobil AB | Deep learning for three dimensional (3D) gaze prediction |
US11347308B2 (en) | 2019-07-26 | 2022-05-31 | Samsung Electronics Co., Ltd. | Method and apparatus with gaze tracking |
US11042259B2 (en) | 2019-08-18 | 2021-06-22 | International Business Machines Corporation | Visual hierarchy design governed user interface modification via augmented reality |
CN112562433B (zh) * | 2020-12-30 | 2021-09-07 | 华中师范大学 | 一种基于全息终端的5g强互动远程专递教学系统的工作方法 |
-
2021
- 2021-07-01 US US17/305,219 patent/US11868523B2/en active Active
-
2022
- 2022-07-01 KR KR1020247003425A patent/KR20240024277A/ko unknown
- 2022-07-01 CN CN202280046760.9A patent/CN117581275A/zh active Pending
- 2022-07-01 EP EP22748691.7A patent/EP4364112A1/en active Pending
- 2022-07-01 WO PCT/US2022/073337 patent/WO2023279076A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2023279076A1 (en) | 2023-01-05 |
EP4364112A1 (en) | 2024-05-08 |
US20230004216A1 (en) | 2023-01-05 |
US11868523B2 (en) | 2024-01-09 |
KR20240024277A (ko) | 2024-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10055013B2 (en) | Dynamic object tracking for user interfaces | |
Memo et al. | Head-mounted gesture controlled interface for human-computer interaction | |
US10915167B2 (en) | Rendering rich media content based on head position information | |
Betancourt et al. | The evolution of first person vision methods: A survey | |
US9235278B1 (en) | Machine-learning based tap detection | |
US11868523B2 (en) | Eye gaze classification | |
US11698529B2 (en) | Systems and methods for distributing a neural network across multiple computing devices | |
US20150269425A1 (en) | Dynamic hand gesture recognition with selective enabling based on detected hand velocity | |
Mahmood et al. | Mobile cloud based-framework for sports applications | |
US11375244B2 (en) | Dynamic video encoding and view adaptation in wireless computing environments | |
US20210256733A1 (en) | Resolving region-of-interest (roi) overlaps for distributed simultaneous localization and mapping (slam) in edge cloud architectures | |
US20230195224A1 (en) | Systems and methods for gaze-tracking | |
CN110569775A (zh) | 一种识别人体姿势的方法、系统、存储介质及电子设备 | |
US11381743B1 (en) | Region of interest capture for electronic devices | |
KR101909326B1 (ko) | 얼굴 모션 변화에 따른 삼각 매쉬 모델을 활용하는 사용자 인터페이스 제어 방법 및 시스템 | |
CN112541418A (zh) | 用于图像处理的方法、装置、设备、介质和程序产品 | |
US20230368520A1 (en) | Fast object detection in video via scale separation | |
US11847823B2 (en) | Object and keypoint detection system with low spatial jitter, low latency and low power usage | |
US20230419733A1 (en) | Devices and methods for single or multi-user gesture detection using computer vision | |
US20230115371A1 (en) | Efficient vision perception | |
Naik et al. | The evolution of military operations: artificial intelligence to detect hand gestures in defence | |
KR20240068636A (ko) | 전자 디바이스들을 위한 관심 영역 캡처 | |
WO2024072410A1 (en) | Real-time hand gesture tracking and recognition | |
CN117813626A (zh) | 从多视图立体(mvs)图像重建深度信息 | |
CN118043859A (zh) | 高效视觉感知 |
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 |