眼睛跟踪设备、眼睛跟踪方法和计算机可读介质与流程

文档序号:33419343发布日期:2023-03-10 23:17阅读:27来源:国知局
眼睛跟踪设备、眼睛跟踪方法和计算机可读介质与流程

1.本发明涉及眼睛跟踪设备、眼睛跟踪方法和计算机可读介质。


背景技术:

2.眼睛跟踪通常是指对被称为用户的人的眼睛运动或凝视的监控。然而,用户当然也可以是具有能够在其眼窝中改变其观察方向的眼睛的任何其他生物。
3.跟踪用户凝视的一种可能的方式是通过传统的摄像机或照相机,其每隔一段时间获得眼睛的全帧图像或传统帧。然后,连接到相机的控制器分析这些图像帧中的每一帧,以确定在捕捉帧时瞳孔的位置,从而允许其推断用户正在观看的方向。此方法需要使用基于帧的相机,例如摄像机或照相机,其获得眼睛的图像以供控制器分析。这种传统的或基于帧的相机通常很慢。它们还会产生大量需要在相机和控制器之间传输的数据。
4.可以通过利用基于事件的相机或基于事件的传感器(也称为动态视觉传感器(dvs))来加速眼睛跟踪过程。ep3598274a1描述了包括多个相机的系统,其中一个摄像机是基于事件的相机或dvs。然而,这种已知的系统也依赖于第二个基于帧的相机。类似地,angelopoulos、anastasios n.等人的出版物"event based,near eye gaze tracking beyond 10,000hz.",预印本arxiv:2004.03577(2020),结合基于事件的dvs数据,在传统图像帧上使用椭圆检测来执行眼睛跟踪任务。尽管作者提到基于深度学习的提取方法将是他们工作的简单扩展,但是其使用的是传统的计算机视觉方法。因此,这里眼睛跟踪过程也至少部分依赖于由基于帧的相机获得的传统图像帧。对眼睛的图像帧的可用性的依赖,需要眼睛跟踪系统在能够准确预测眼睛的位置之前获得全帧。虽然一些系统可以利用插值来预测未来状态,但最差情况下的延迟取决于获得全帧所需的时间。
5.us10466779a1遵循了不同的方法,其描述了使用dvs数据的眼睛跟踪系统,并概述了将接收到的dvs数据转换成强度图像的方法,类似于传统帧。算法使用了dvs流的数学特性。传统的计算机视觉方法用于从如此获得的强度图像中预测凝视和瞳孔特征。
6.wo2019147677a1中描述了一种方法,所述方法将纯粹基于事件的传感器输出的获取与使用卷积神经网络进行眼睛跟踪的机器学习方法相结合。其中描述了一种系统,所述系统累积来自事件相机的事件,以产生强度图像、频率图像或时间戳图像,这些图像随后馈送到神经网络算法中以预测各种视线参数。所描述的系统使用手工制作的静态累积机制,这是一种常见且众所周知的技术,用于从事件数据创建强度图像的近似值。这种方法的缺点是图像往往是有噪声的,并且呈现来自过去瞳孔位置的伪像。如wo2019147677a1中所描述的下游基于帧的卷积神经网络难以处理噪声数据和时间伪像(如累积dvs事件时不可避免的伪像),因此需要更复杂的神经网络。


技术实现要素:

7.本发明的目的是提出一种用于更可靠地跟踪用户眼睛运动的设备和方法。
8.根据本发明,通过提供具有权利要求1的特征的眼睛跟踪设备、具有权利要求14的
特征的眼睛跟踪方法以及具有权利要求15的特征的计算机可读介质来实现此目的。本发明的其他有利实施例是从属权利要求的主题。
9.根据本发明,眼睛跟踪设备包括基于事件的光学传感器和连接到传感器的控制器。从用户眼睛反射的辐射由基于事件的光学传感器接收,所述光学传感器配置为响应于辐射产生事件的信号流。此信号流被发送到控制器,所述控制器对信号流执行各种处理,以便获得眼睛跟踪处理的结果。因此,控制器可以至少包括处理装置和存储器,用于执行下文描述的分析。在下文中,基于事件的光学传感器将被称为事件传感器。
10.传感器,特别是动态视觉传感器,其包括排列成阵列的多个独立像素,每个像素都具有光敏单元或光敏区域。一旦检测到入射光在该光敏单元上的时间变化,就产生事件信号,在此仅称为“事件”。因此,由传感器产生的事件的信号流中的每个事件都对应于在所述光学传感器的一个或多个像素处接收的辐射的时间变化的检测。每个事件都可以特别包括阵列中相应像素的位置、显示极性的指示符以及可选地还包括时间变化的幅度,以及变化发生的时间。这些事件作为信号流的一部分被发送到控制器进行进一步处理。
11.控制器被配置为接收事件的信号流,通过第一人工神经网络生成将被用作机器学习模块的输入的推理帧,操作机器学习模块以获得输出数据,并且从输出数据中提取与所述用户的眼睛相关的所寻求的信息。有利地,由机器学习模块生成的输出数据是所寻求的信息(例如瞳孔位置/方向等)。
12.可以定义推理帧为第一人工神经网络的输出和机器学习模块的输入的帧。术语“推理帧”可以指尺寸宽度、高度、通道等维度的3d张量。通道是数据的不同表示的集合。不同的表示尤其可以包括线性或非线性的强度,例如对数、标度、空间或时间导数、频率分量的强度和/或相位。
13.用相应的输入和输出数据训练第一神经网络。输入和输出数据可以使用模拟软件生成。对于训练数据,使用标准图像处理技术来创建作为网络输出的推理帧的组成部分,而使用事件传感器的数学模型来计算事件输入流。表示的选择有利地以优化第二神经网络的性能的方式进行。优选地训练第一神经网络,以便创建这些表示的最佳可能近似。
14.通过使第一神经网络直接创建所有表示,与对单个学习的表示使用标准图像处理方法相比,系统可以实现更好的重建性能。通过将多个表示作为第二神经网络的输入,第二神经网络可以在估计眼睛视线参数方面比仅具有单个表示获得更好的性能。
15.本发明基于在将生成的推理帧传递给机器学习模块之前,通过第一人工神经网络生成推理帧的概念。因此,尽管从现有技术中已知使用人为设计的静态累积机制(一种常见且众所周知的技术)来从事件数据创建推理帧以输入到机器学习模块中,但是本发明提出了一种系统,所述系统不利用人为设计的累积方案,而是将推理帧的生成留给神经网络。使用这种方法,可以获得质量好得多的推理帧,这使得后续机器学习模块或过程进行更好的估计。此外,根据本发明,仅基于事件的信号流来确定瞳孔位置,而不必访问由传统的基于帧的相机收集的图像帧。
16.为了使机器学习模块能够处理输入数据,必须以适当的形式提供输入数据。第一人工神经网络将事件流转换为推理帧,然后可以由机器学习模块处理。优选地,推理帧具有与事件传感器相同数量的像素。然而,推理帧必须与可由传统的相机提供的眼睛的传统图像帧相区别。虽然推理帧包括排列成阵列的多个帧像素,并且所述推理帧可以是眼睛图像
的近似,但是其取决于所使用的第一人工神经网络的参数和响应,因此其不一定是这样的近似。特别地,第一人工神经网络不必配置为使得其提供的输出是被监控的眼睛的近似。相反,有利地,第一人工神经网络配置为创建推理帧的形式,以增强或最大化后续机器学习模块的性能。合适的推理帧可以是任何种类的帧,其包含机器学习模块所需处理的必要信息。这些可以包括例如线性或非线性标度的近似强度、所述近似强度的一阶空间导数和/或所述近似强度的更高阶空间导数。
17.根据有利实施例,控制器配置为将事件流的一部分转换成稀疏张量,并使用稀疏张量作为第一人工神经网络的输入。张量可以特别地具有事件传感器的维度,即w
×h×
1,其中w和h是以像素为单位的传感器的宽度和高度。张量包含所有的零,除了坐标x、y,对于这些坐标,传感器报告相应像素处的事件。如果事件为正,则张量在坐标x、y处包含1,而对于负事件,其包含-1。此处,正和负表示被记录为事件的光强度的变化的极性。在事件传感器配置为不仅通知极性,而且还通知像素的光强度变化的幅度的情况下,在像素的坐标x、y处的张量的值是这个带符号的幅度值。如果多个事件发生在对应于同一张量的一批事件中的同一像素上,则只考虑第一个事件。另一方面,不同像素处的多个事件将分别包含在张量中。
18.控制器可以将事件流分成一个、两个或多个事件的部分,特别是连续的事件。每个这样的部分可以包含预定数量的事件。或者,部分可以表示预定的时间间隔,并包含在该时间间隔、时隙或持续时间内发生的所有事件。在利用稀疏张量的实施方式中,所述控制器将配置为基于预定数量的事件或基于在预定时间间隔内或在预定持续时间内发生的事件来生成稀疏张量。
19.有利地,第一人工神经网络是递归神经网络(即rnn)。rnn尤其意味着来自rnn的最后输出以某种方式被反馈或馈入rnn,例如在最后一层、第一层和/或中间的某一层。有利地,rnn的输出被反馈到rnn的输入。特别地,在rnn算法的一次执行之后,rnn的输出可以在rnn算法的连续执行期间被用作rnn的多个输入之一,例如与另一个待处理的张量一起。
20.第一人工神经网络包括多层,其中一层、两层或多层可以是卷积层。在第一人工神经网络是rnn的情况下,其因此也可以被称为卷积递归神经网络。第一人工神经网络还可以包括连接层,特别是作为第一层,以便接合或连接执行后的输出和神经网络算法的连续执行的新输入。此外,第一神经网络可以包括一个、两个或多个非线性激活函数,特别是整流器和/或归一化层。
21.优选地,第一人工神经网络的一层、两层或多层是记忆层。记忆层存储该层在最近一次传递中(即在神经网络算法的最近一次执行中)的结果。记忆层允许一种实施方式,其中,在每次传递期间,仅更新记忆层的存储值,所述存储值取决于输入稀疏张量中非零的张量元素。这种技术显著加快了神经网络推理速度,并且在本设备中可以为连续的机器学习模块产生更好质量的推理帧。
22.利用一个或多个记忆层背后的思想是,当在前一层中只有非常小的变化时,只更新受影响的神经网络的内部值/状态就足够了。这可以节省更新神经网络中状态的处理能力。除了卷积层,还可以记忆非线性激活函数和/或归一化层。有利地,每个卷积层和/或每个非线性激活函数都可以是记忆类型的。在这种情况下,在每一层中,只有直接受输入更改影响的值会被更新。输入可以是稀疏张量和神经网络的最后结果。因此,仅更新直接受稀疏
矩阵输入影响的值。这些值将会重新计算,并且会考虑所有输入。虽然记忆可以应用于任何类型的人工神经网络的任何层,但在此处其有利地应用于第一神经网络,特别是可以是应用于rnn。
23.根据优选实施例,机器学习模块包括第二人工神经网络。换言之,控制器配置为利用所述推理帧作为第二人工神经网络的输入,并操作第二人工神经网络以获得输出数据。特别地,第二人工神经网络可以是反向传播训练的神经网络(例如卷积神经网络)。在替代实施例中,第二人工神经网络的一部分可以是卷积神经网络,特别是其公共后端,这将在下面进一步描述。
24.有利地,第二人工神经网络已经被训练,特别是使用“adam”或“随机梯度下降(sgd)”优化器,它们是用于训练神经网络的已知方法。训练可能已经使用大量记录和手动注释的注释数据来进行。一些选择层可以由设备的用户重新训练或微调。在这种情况下,用户可能不得不执行例如查看计算机屏幕上的特定位置的任务,例如出于校准的目的。然后,设备从传感器收集数据,并微调最后一层(特别是第二人工神经网络的最后可训练层),以更好地适应用户的个人特征和行为。第一和第二人工神经网络可以单独训练,也可以作为一个系统同时训练。当第二神经网络包括公共后端和多个前端时,第二神经网络可以被训练为一个神经网络,优选地对不同的前端应用不同的损失。
25.优选地,卷积神经网络包括公共后端和一个或多个前端。虽然公共后端将执行输入的批量分析,但是其将生成输出,所述输出然后由一个或多个前端进行分析,这些前端被专门配置和/或训练以评估设备将产生的特定属性。这些属性可以包括用户的凝视方向、用户眼睛的瞳孔中心位置、用户眼睛的瞳孔轮廓、用户眼睛的瞳孔直径、用户眼睛的眼睑位置、用户眼睛的瞳孔形状、与用户相关的个人识别信息和/或所述用户眼睛的瞳孔运动预测。
26.这些是眼睛跟踪设备可能感兴趣获取的重要属性。因此,控制器有利地配置为从输出数据信息中提取一个或多个这些属性,即使机器学习方法不包括具有公共后端和一个或多个前端的卷积神经网络。有利地,后端是完全卷积的编码器-解码器系统。如果设备由多个用户使用,则所提及的个人识别信息可能是有用的,在这种情况下,所确定的个人识别信息可以帮助识别哪个用户当前正在使用设备。
27.根据有利的实施例,卷积神经网络或实现为卷积神经网络的第二神经网络的一部分,特别是公共后端部分,至少部分地通过编码器-解码器架构来实现,所述架构包括一个或多个编码器块和一个或多个解码器块。有利地,公共后端可以包括两个、四个或六个编码器块和/或两个、四个或六个解码器块。有利地,卷积神经网络或其公共后端是完全卷积的编码器-解码器系统。这种编码器-解码器神经网络允许实现特征学习或表示学习。编码器块和/或解码器块中的每一个都可以特别地包括至少两个卷积层。卷积神经网络还可以包括所述编码器块和所述解码器块之间的恒等跳跃连接。这种跳跃连接或快捷方式(也称为剩余连接),用于跳过神经网络的一层或多层,以便允许训练更深的神经网络,帮助解决消失的梯度问题。有利地,跳过连接将编码器-解码器系统的第一编码器与最后一个解码器连接,和/或将第二编码器与倒数第二个解码器连接,等等。
28.眼睛跟踪设备的事件传感器可以设置有滤光器(特别是红外带通滤光器),以使其仅检测来自特定波长范围的辐射(例如红外(ir)辐射)。虽然从眼睛反射的辐射可能是环境
光,但是这种方法的缺点在于,由于可能的低辐射水平或光干扰,它可能产生寄生信号。因此,有利地,提供了辐射源,其配置为向用户的眼睛发送辐射,使得该辐射由该眼睛反射并由事件传感器接收。为了使辐射源不干扰用户,其产生的辐射应远在可见范围之外。优选地,辐射源是红外(ir)发射器。
29.有利地,眼睛跟踪设备包括可安装在身体上的装置,特别是可安装在头部的装置,用于将眼睛跟踪设备安装到所述用户的身体上,特别是安装到他或她的头部。这种设备的应用领域可以包括虚拟现实或增强现实,其中它可以支持有注视点渲染的实施方式。
30.根据本发明的另一方面,提供了一种眼睛跟踪方法和计算机可读介质。以上结合眼睛跟踪设备描述的任何特征也可以在眼睛跟踪方法或计算机可读介质中单独使用或适当组合使用。
附图说明
31.本发明的实施例的一些示例将参考附图在以下描述中更详细地解释,其中:
32.图1示出了根据现有技术的眼睛跟踪设备的设置的示意图;
33.图2示出了根据一个优选实施例的眼睛跟踪设备的设置的示意图;
34.图3a和图3b示出了稀疏张量的准备,每个都基于一个(图3a)和两个(图3b)事件;
35.图4示出了根据优选实施例的眼睛跟踪设备的不同处理阶段的信号流程图;
36.图5示出了根据优选实施例的第一人工神经网络的层结构;
37.图6示出了用于阐明图5中描述的神经网络的卷积层中的稀疏更新方案的示意图;
38.图7示出了根据优选实施例的第二人工神经网络的基本结构;
39.图8示出了图7所示的第二人工神经网络的后端部分的层结构;
40.图9示出了图7所示的第二人工神经网络的前端部分的层结构;和
41.图10示出了图7所示的第二人工神经网络的另一前端部分的层结构。
具体实施方式
42.图1在示意图中示出了根据现有技术的眼睛跟踪设备的设置。辐射源10发出辐射12,所述辐射12由要被跟踪的用户的眼睛2反射。反射辐射12入射到传统的,即基于帧的相机1’上。基于帧的相机1’检测入射辐射12,并产生视频或图像帧的序列11,所述序列11被传输到传统的控制器4’。控制器4’分析视频或图像帧,并且可以确定被监控的眼睛2的各种参数,特别是凝视方向。
43.图2示出了根据本发明优选实施例的眼睛跟踪设备的设置的示意图。类似于图1所示的现有技术的情况,辐射源10发出辐射12,所述辐射12由用户的眼睛2反射。反射的辐射12入射到基于事件的传感器或事件传感器1上。辐射源10、事件传感器1和用于聚焦辐射的光学透镜(未示出)安装在头戴式设备(未示出)上,例如眼镜、虚拟现实(vr)设备或增强现实(ar)设备。事件传感器1配备有红外带通滤波器。眼睛运动导致由用户眼睛2反射的辐射12的光强度的变化。这些光强度变化或变动由事件传感器1获取。作为响应,事件传感器1生成光变化事件的流3,所述流3被传输到控制器4进行处理。如下所述,此处理包括对事件流3进行预处理,以获得递归神经网络(rnn)的合适输入,对预处理后的数据执行rnn,以获得推理帧,并执行卷积神经网络(cnn),以评估期望的属性。
44.事件是定义为(p,x,y,t)的4元组,其中p可以是光变化的极性(正表示光强度增加,负表示光强度减少),也可以是光强度变化的线性、对数或其他标度的有符号变化幅度。x和y是事件的像素坐标,t是观察到的事件的准确时间戳。这种事件在图3a和图3b中示出。图3a和图3b显示了控制器4在接收到事件时执行的预处理步骤。一个或多个事件(如箭头左侧所示)被累积并转换为稀疏张量或稀疏矩阵(如箭头右侧所示)。图3a示出了每个都被变换成稀疏张量的单个事件。稀疏张量由零填充,但与对应事件的(x,y)坐标相对应的(x,y)位置除外,该位置包含值p。相反,图3b示出了成对变换为稀疏张量的事件。
45.可能有更多的事件被集合成一个稀疏张量。此外,作为将每个稀疏张量基于预定数量的事件的替代方案,它可以基于落在预定时间间隔或持续时间内的事件。
46.图4示出了眼睛跟踪设备的不同处理阶段以及在这些阶段之间传输的数据类型。事件传感器1生成事件31的流3。如上文参考图3a/图3b所述,这些事件31被传送到控制器4,并由预处理模块41处理,以获得稀疏张量51。张量51被用作第一神经网络的输入,以生成推理帧61,所述第一神经网络在此处是递归神经网络(rnn)5。最后,推理帧61被馈送到卷积神经网络(cnn)6,其执行瞳孔参数的评估,特别是凝视方向的评估。
47.图5概述了基于rnn的算法的可能设置。基于数据的可用性触发rnn算法。因此,每次生成新的稀疏张量时,都会调用rnn算法来生成新的推理帧。作为第一步,从dvs事件流获得的稀疏张量被输入501到rnn中。rnn保持最后生成的推理帧的内部状态,以及保持潜在的其他中间激活映射。rnn网络基于最后的状态和稀疏输入张量来评估新的状态。为了实现高性能,利用输入张量的稀疏特性,仅更新受输入张量或输入矩阵变化影响的较深层中的值。图6示出了这种稀疏更新机制,这将在下面进一步解释。
48.级联层502在信道维度上接合或连接稀疏输入张量和推理帧,所述推理帧在rnn的先前处理期间生成。然后,第一卷积层503对此连接执行卷积。然后,第二卷积层505对第一卷积层503的输出进行处理。然后,对第一卷积层503的输出进行归一化(批量归一化)507。rnn还包括两个非线性激活函数504、506。通过此层结构,生成508推理帧,所述推理帧被用作级联层502的输入之一。
49.rnn的层503、504、505、506、507中的每一层都被记忆。“记忆”层存储最近一次传递的结果。在本实施例中,在每次传递中,仅更新rnn中取决于稀疏输入张量中非零张量元素的值。此技术允许显著加快rnn推理速度,并利用连续cnn估计器的更好质量的推理帧。图6用3
×
3卷积核说明了此方法。先前的推理帧61和稀疏输入张量51(或简称为稀疏张量51)被连接起来,如左边所示。右边则示出,由于输入张量51的稀疏特性,仅更新卷积层中激活的子集602。
50.图7示出了从rnn接收推理帧701的cnn的架构的概念概要。cnn具有公共后端702,其生成抽象特征向量703或抽象特征映射。此特征向量被用作公共后端702之后的各种前端模块704的输入。图7所示的示例性前端包括瞳孔位置评估模块704a和眨眼分类模块704b,所述瞳孔位置评估模块704a输出瞳孔位置704c作为结果,所述眨眼分类模块704b输出关于眼睛是睁开还是闭合的信息704d。可以提供前端703的其他模块704e,其专用于待确定的其他属性。
51.图8更详细地示出了后端的潜在实施方式,而图7所示的两个前端的潜在实施方式在图9和图10中更详细地呈现。
52.图8左侧所示的公共后端基于编码器-解码器架构,并且包括两个编码器块802、803和两个解码器块804、805(它们紧随编码器块)。在后端的末端,存在组合层806,其产生将由前端进一步处理的抽象特征映射808的结果。从第二编码器块803到组合层806的箭头可以看出,抽象特征映射808包括来自第二编码器块803和第二/最后解码器块805的输出的信息。此外,如左侧的两个箭头所示,编码器和解码器级之间有两个恒等跳跃连接。这些跳跃连接从第一编码器块802通向第二解码器块805,以及从第二编码器块803通向第一解码器块804。
53.在图8的右侧,更详细地示出了编码器块802和解码器块804。特别地,所有两个编码器块802、803可以具有相同或非常相似的架构。这也可以适用于两个解码器块804、805。编码器块802包括两个卷积层811、814,两个非线性激活函数812、815,批量归一化813、816,以及最大池化817。解码器块804包括上采样层821、级联层822、两个卷积层823、826,两个非线性激活函数824、827和批量归一化825、828。如上所述,公共后端可以包括与这里所示的系统不同数量的编码器块和/或解码器块,同时具有相同架构的编码器块和/或解码器块。例如,可以提供两个、四个或六个编码器块和/或两个、四个或六个解码器块。
54.图9和图10中更详细地示出了图7所示的两个示例性前端。图9中的前端是用于瞳孔定位或瞳孔位置评估的前端。其从后端接收特征向量901,并应用特征选择掩码902。之后是卷积层903、非线性激活函数904和批量归一化905。批量归一化905之后的结果被发送到用于估计瞳孔位置907的空间softmax层906,以及被发送到用于评估瞳孔直径909的全连接层908。图10中的前端是用于眨眼检测的前端。其从后端接收特征向量911,并应用不同的特征选择掩码912。此前端包括第一全连接层913、非线性激活层914、第二全连接层915和softmax激活函数916,以提供关于眼睛是睁开还是闭合的信息917。
55.具有后端和前端的整个cnn被训练为一个神经网络,不同的损失应用于不同的前端。其他训练方案也是可能的,例如首先仅附接一个前端的情况下训练cnn,然后冻结一个或多个层,然后附接一个或多个前端(可能是附接所有前端)来训练cnn。不同前端之间的训练交替进行的方案也是可能的。与用于推理帧生成的rnn网络不同,cnn要复杂得多,并且需要更多的处理能力来生成结果。这就是cnn优选地不是由数据的可用性来触发,而是由新预测的应用需求触发的原因。
56.附图标记:
[0057]1’
基于帧的相机、传统相机
[0058]
11视频帧的序列
[0059]
10辐射源、红外发射器
[0060]
1基于事件的光学传感器、事件传感器、dvs传感器
[0061]
12入射到眼睛上并从眼睛反射的辐射
[0062]
2用户的眼睛
[0063]
3事件的信号流
[0064]
31事件
[0065]4’
现有技术控制器
[0066]
4控制器
[0067]
41输入处理模块
[0068]
5第一人工神经网络、递归神经网络、rnn
[0069]
51稀疏张量
[0070]
6机器学习模块、第二人工神经网络、卷积神经网络、cnn
[0071]
61推理帧
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1