一种注视点估计方法、装置、存储介质转让专利

申请号 : CN202210131602.5

文献号 : CN114546112B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 高小榕吴剑刘强墨沈晓梅

申请人 : 清华大学深圳国际研究生院

摘要 :

本发明涉及一种注视点估计方法,该方法能够适用于任何连有摄像机和屏幕的设备,并使该设备实现与现有商业眼动仪相同的注视点估计功能,而不需要额外的侵入式或非侵入式硬件。本发明方法注视点估计准确率高且成本低,在人机交互和医学诊断等领域具有较大实用前景。所述方法包括下述步骤:将第一模型部署在连有摄像头和屏幕的设备上;在屏幕上提供移动标识点,获取随标识点移动的眼部数据以及移动标识点位置,对第一模型进行参数校准;将参数校准后的模型用于估计用户对屏幕注视点位置;所述第一模型基于深度可分离卷积模型实现,在训练时以眼部数据为输入,以对屏幕的注视点位置为输出;所述第一模型在部署时使用训练完成时的模型参数。

权利要求 :

1.一种注视点估计方法,其特征在于,所述方法包括下述步骤:S100、将第一模型部署在连有摄像头和屏幕的设备上,所述第一模型在部署时使用训练完成时的模型参数;

S200、在屏幕上提供移动标识点,获取随标识点移动的眼部数据以及移动标识点位置,对第一模型进行参数校准,以实现迁移学习微调;所述参数校准包括设备/应用级校准、个性化校准;其中:设备/应用级校准采用包含使用同个设备/应用的多个用户的数据,对第一模型进行参数校准;

个性化校准采用当前设备/应用用户的数据,对第二模型进行参数校准,所述第二模型取代第一模型的输出层;在对所述第二模型进行参数校准时,第一模型剩余层参数不变,获取第一模型输出层中关于当前用户数据的输入以及对应的输出,分别作为第二模型的输入和输出,对第二模型进行拟合训练;将第一模型的剩余层和训练完成的第二模型构成的模型作为参数校准后的模型;

S300、将参数校准后的模型用于估计用户对屏幕注视点位置;

所述第一模型基于深度可分离卷积模型实现,在训练时以眼部数据为输入,以对屏幕的注视点位置为输出。

2.根据权利要求1所述的方法,其特征在于,所述参数校准采用的数据包括追踪校准数据、点校准数据;

所述追踪校准数据为标识点在屏幕上平滑运动时采集的眼部数据;

所述点校准数据为标识点在屏幕上不同位置依次出现时采集的眼部数据。

3.根据权利要求2所述的方法,其特征在于,所述平滑运动包括旋转运动、折线段运动、曲线运动。

4.根据权利要求2所述的方法,其特征在于,所述追踪校准数据取自校准点出现后

1.3s‑30s内的数据,所述点校准数据帧取自校准点出现后800‑1500ms内的数据。

5.根据权利要求1所述的方法,其特征在于:

所述眼部数据包括眼部图像、眼部位置;

所述眼部图像包括左眼图像,以及将左眼图像进行镜面翻转得到的右眼图像;

单只眼的眼部图像为单只眼睛最小外接矩形框所包围的图像;

单只眼的眼部位置采用单只眼睛的最小外接矩形框对角上的两个顶点位置表示。

6.根据权利要求5所述的方法,其特征在于,所述第一模型在训练时采用的眼部数据加入了从正态分布中随机提取的扰动。

7.一种注视点估计装置,其特征在于:包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行权利要求1至6中任一种方法的计算机程序。

8.一种计算机可读存储介质,其特征在于:存储有能够被处理器加载并执行权利要求1至6中任一种方法的计算机程序。

说明书 :

一种注视点估计方法、装置、存储介质

技术领域

[0001] 本发明涉及深度学习和智能数据分析等技术领域,特别是涉及一种注视点估计方法、装置及存储介质。

背景技术

[0002] 从人机交互到医学诊断、从心理学研究到计算机视觉,注视点估计在各个领域都有着许多广泛重要的应用。
[0003] 瞳孔角膜反射法作为目前注视点估计最普遍使用的方法,需要额外的近红外光源照射,并使用摄像机来捕捉明瞳、暗瞳和明亮的角膜反射光斑的图像。这种基于瞳孔角膜反射的注视点估计方法依赖二维眼动特征,易受用户使用时的环境光照强度、是否佩戴眼镜、头动等影响因素的影响。视线估计的准确度随着用户头部远离校准位置而迅速下降,随校准时环境光照强度的变化程度而下降,有的用户佩戴眼镜时甚至不能获取到有效可用的二维眼动特征,所以该方法的实用性和应用范围都较为有限。
[0004] 另一类注视点估计的方法就是基于外观(Appearance‑based)的方法,与基于模型(Model‑based)的方法通过建模眼部区域的几何结构来给出预测不同,基于外观(Appearance‑based)的方法直接从输入图像中预测出注视点坐标。此类方法采用脸部或眼部区域的图像来训练回归模型对注视点进行预测,通常还会引入额外的知识来简化模型,比如向回归模型中引入头部姿态信息或者只训练浅层模型。这种方式下模型参数较多,不易部署应用。

发明内容

[0005] 本发明的主要目的在于提供一个注视点估计方法,该方法能够适用于任何连有摄像机和屏幕的设备,能够使该设备实现与现有商业眼动仪相同的注视点估计功能,而不需要额外的侵入式的或非侵入式的硬件。本发明的方法不仅提高了注视点估计效率,而且减少了成本,在人机交互和医学诊断等领域中科研或应用具有较大实用前景。
[0006] 基于此,本发明的具体技术方案为:
[0007] 第一方面,本发明实现了一种注视点估计方法,所述方法包括下述步骤:
[0008] S100、将第一模型部署在连有摄像头和屏幕的设备上;
[0009] S200、在屏幕上提供移动标识点,获取随标识点移动的眼部数据以及移动标识点位置,对第一模型进行参数校准;
[0010] S300、将参数校准后的模型用于估计用户对屏幕注视点位置;
[0011] 所述第一模型基于深度可分离卷积模型实现,在训练时以眼部数据为输入,以对屏幕的注视点位置为输出;
[0012] 所述第一模型在部署时使用训练完成时的模型参数。
[0013] 优选地,在所述方法中,所述参数校准采用的数据包括追踪校准数据、点校准数据;所述追踪校准数据为标识点在屏幕上平滑运动时采集的眼部数据;所述点校准数据为标识点在屏幕上不同位置依次出现时采集的眼部数据。
[0014] 优选地,在所述方法中,所述参数校准包括设备/应用级校准;所述设备/应用级校准采用包含使用同个设备/应用的多个用户的数据,对第一模型进行参数校准。
[0015] 优选地,在所述方法中,所述参数校准还包括个性化校准;所述个性化校准采用当前设备/应用用户的数据,对第二模型进行参数校准;所述第二模型取代第一模型的输出层;在对所述第二模型进行参数校准时,第一模型剩余层参数不变,获取第一模型输出层中关于当前用户数据的输入以及对应的输出,分别作为第二模型的输入和输出,对第二模型进行拟合训练;将第一模型的剩余层和训练完成的第二模型构成的模型作为参数校准后的模型。
[0016] 优选地,在所述方法中,所述平滑运动包括旋转运动、折线段运动、曲线运动。
[0017] 优选地,在所述方法中,所述追踪校准数据取自校准点出现后1.3s‑30s内的数据,所述点校准数据帧取自校准点出现后800‑1500ms内的数据。
[0018] 优选地,在所述方法中,所述眼部数据包括眼部图像、眼部位置;所述眼部图像包括左眼图像,以及将左眼图像进行镜面翻转得到的右眼图像;单只眼的眼部图像为单只眼睛最小外接矩形框所包围的图像;单只眼的眼部位置采用单只眼睛的最小外接矩形框对角上的两个顶点位置表示。
[0019] 优选地,在所述方法中,所述第一模型在训练时采用的眼部数据加入了从正态分布中随机提取的扰动。
[0020] 第二方面,本发明基于上述方法实现了一种注视点估计装置,包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行上述任一种方法的计算机程序。
[0021] 第三方面,本发明实现了一种计算机可读存储介质,存储有能够被处理器加载并执行上述中任一种方法的计算机程序。
[0022] 与现有技术相比,本发明具有下述有益效果:
[0023] (1)第一模型采用基于深度可分离卷积模型实现,是一种轻量级神经网络,具有参数少且体量小的特点,使得模型更容易部署在各种计算资源有限的设备上,特别是各种智能设备。训练好的第一模型可以应用于任何设备/应用程序上,在具体应用时再对训练好的第一模型的参数进行参数校准,可以实现更好的注视点估计性能。
[0024] (2)通过具体设备/应用程序中采集的平滑追踪校准数据和点校准数据两种校准数据进行迁移学习微调训练和验证,以实现参数校准,使得用于评估注视点的模型具有更好的适用性。
[0025] (3)在设备/应用级参数校准后,再进行个性化参数校准,能够进一步提高用于评估注视点的模型的适用性和准确性。
[0026] (4)通过针对性的采集数据,滤除可能包含眼跳的数据帧,提高模型训练的有效性。
[0027] (5)通过对训练的数据进行扰动处理,用于评估注视点的模型在面对光照、摄像机移动、噪声或者脸部眼部坐标检测误差等带来的轻微影响时更加鲁棒。

附图说明

[0028] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0029] 图1、本发明方法应用的一个具体实施例示意图;
[0030] 图2、本发明用于评估注视点的模型架构的第一示意图;
[0031] 图3、本发明参数校准数据的第一示意图;
[0032] 图4、本发明参数校准数据的第二示意图;
[0033] 图5、本发明用于评估注视点的模型架构的第二示意图。

具体实施方式

[0034] 在本申请的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
[0035] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
[0036] 在实施例1中,如图1所示,设备具有屏幕和摄像头,在设备上部署基于本发明方法实现的应用程序。当用户注视屏幕时,摄像头捕获用户人脸图像,从而获得眼部数据,进而通过本发明方法对用户注视点评估,得到用户注视屏幕的位置,并在显示器中高亮反馈注视点。
[0037] 在实施例1中,涉及的本发明方法具体包括下述步骤:
[0038] S100、将第一模型部署在连有摄像头和屏幕的设备上;
[0039] S200、在屏幕上提供移动标识点,获取随标识点移动的眼部数据以及移动标识点位置,对第一模型进行参数校准;
[0040] S300、将参数校准后的模型用于估计用户对屏幕注视点位置;
[0041] 所述第一模型可采用基于深度可分离卷积模型实现的轻量神经网络模型,这类模型运行时需要的计算资源少,适于部署在硬件资源有限的设备。在训练第一模型时以眼部数据为输入,以对屏幕的注视点位置为输出;在部署时使用训练完成时的模型参数。
[0042] 在实施例1中,从人脸图像中获取眼部数据。在这种方式下,首先将人脸图像中检测到眼部,获得每只眼睛的最小外接矩形,将其按矩形框裁剪得到左右眼图像,并得到左右眼的左上和右下眼角的坐标,坐标原点为人脸框图片的左上角。为方便计算,本发明的眼角坐标采用单只眼睛的最小外接矩形框对角上的两个顶点位置表示。所有目标的检测提取可以通过单发多框检测器实现,得到的目标图像即为最小外接矩形所包围的图像。当目标为眼部时,将得到三个信息,分别为左眼图像、右眼图像、眼角坐标向量。
[0043] 在实施例1中,第一模型实现为一个多层卷积神经网络的结构,如图2中的网络结构模型。每个卷积层的大小设置、全连接层的大小设置如表1所示。使用整流线性单元为ReLU作为除了全连接层6以外的所有层输出的非线性激活单元。
[0044] 表1
[0045]
[0046]
[0047] 在对第一模型进行训练时,使用随机初始化,不加权重正则化惩罚,卷积层1‑6的随机失活率设置为0.02,全连接层4的随机失活率设置为0.12,其他全连接层的随机失活率设置为0。使用批归一化,滑动平均系数设置为0.9。初始学习率设置为0.012‑0.020之间,衰减步长设置为8000,衰减率为0.64,衰减类型为阶梯式衰减。优化器使用Adam优化器。模型训练每批训练数据大小设置为256,训练步长设置为20000‑30000之间。损失函数使用平均欧几里得距离误差。
[0048] 在第一模型训练时,可以采用开源的MIT GazeCapture数据集。将该数据集的数据经过下述步骤处理后,输入第一模型。
[0049] S1、将包含人脸的图像送入脸部检测器,得到脸部方框和双眼中心相对于整图左上角的坐标。脸部检测器可以使用单发多框检测器实现。
[0050] S2、对脸部方框,通过裁剪生成尺寸为128×128×3像素的眼部图像。裁剪可以使用现有技术的目标检测方法。接下来,对裁剪好的眼部图像,进行标准化处理。所述标准化处理为将该图的像素减去该通道像素强度的均值并除以其标准差。以左眼图像进行标准化处理为例,标准化处理过程如下:
[0051] 若图像以三维矩阵m×n×c表示,数据集中每个样本图像产生一个左眼图像,记作E,对整个数据集产生的所有左眼图像矩阵求均值e、标准差std。若将每个左眼图像进行标准化后的图记作E’,则:
[0052]
[0053] 右眼图像的标准化过程同理。
[0054] S3、利用得到的双眼中心相对于整图左上角的坐标,结合裁剪尺寸,可计算得到眼8
角坐标。将2只眼睛的左上角右下角相对整图左上角的坐标拼接而成,形成了一个R的浮点数向量,即为眼角坐标向量。比如左眼的左上眼角为(X1,Y1),右下眼角为(X2,Y2),右眼的
8
左上眼角为(X3,Y3),右下眼角为(X4,Y4),那么R=(X1,Y1,X2,Y2,X3,Y3,X4,Y4)。眼角坐
8
标向量与标准化处理后的眼部图像一起作为第一模型的输入。需要指出的是,R 向量内部的组成顺序并不会影响该发明的实现,因为模型会训练出与特定组成顺序匹配的参数来适
8
应。也就是说,R可由上述8个浮点数的任意排列组成。
[0055] 为了使训练后的模型更加健壮,可对眼睛的最小外接矩形的位置进行随机扰动处理,以此增强数据鲁棒性,从而使训练后的模型在面对光照、摄像机移动、噪声或者脸部眼部坐标检测误差等带来的轻微影响时更加鲁棒。
[0056] 可选地,从正态分布(μ=0,θ)中随机提取扰动加入各位置坐标中,θ设置为10~40px。
[0057] 在实施例1中,对于左眼图像,左眼中心坐标为(x,y),按所需眼部裁剪图尺寸128×128,计算得到左上眼角(X1=x‑64,Y1=y‑64),右下眼角(X2=x+64,Y2=y+64),得到一个眼部图像及其坐标。设定随机扰动范围Δ,提取于正态分布,则左眼中心坐标位置变化为(x±Δ,y±Δ),通过遍历1~Δ,可以计算得到多个随机眼部图像。右眼同理。
[0058] 对于训练好的第一模型,可以应用到任何设备的任何应用程序上,具体应用到某个应用程序时,为了使模型具有更好的适用性,需要对第一模型的模型参数值进行迁移学习微调,即进行参数值校准。
[0059] 在实施例1中,迁移学习时模型的权重初始值为模型训练后的权重,使用的数据为第一模型所在的设备/应用中获得的用户数据,包括追踪校准数据、点校准数据两类数据。所述追踪校准数据为标识点在屏幕上平滑运动时采集的眼部数据;所述点校准数据为标识点在屏幕上不同位置依次出现时采集的眼部数据。这两类数据均通过在屏幕上提供移动标识点,通过摄像头获取随标识点移动的眼部数据以及移动标识点位置。优选的,所述追踪校准数据取自校准点出现后1.3s‑30s内的数据,所述点校准数据帧取自校准点出现后800‑
1500ms内的数据,以此来滤除可能包含眼跳的数据帧。
[0060] 图3和图4分为为采集追踪校准数据和点校准数据的示意图。在图3中,屏幕上圆点匀速旋转,用户视线追踪圆点的平滑运动。圆点的平滑运动还可以是折线段运动、曲线运动等。在图4中,圆点沿“Z”型的拐点和斜线的中点依次闪现,用户视线依次注视圆点。
[0061] 采集到的追踪校准数据用于第一模型的参数调整,而点校准数据用于验证评估。校准数据的处理过程,与第一模型的训练数据的处理过程相同。在参数校准过程,第一模型训练得到的所有权重都允许被更新,直到模型收敛。参数校准后的模型可用于估计用户对屏幕注视点位置。
[0062] 在实施例2中,参数校准除了上述设备/应用级校准,还进行了个性化校准。在个性化校准中,仅采用当前智能设备/应用用户的数据,并使用一个第二模型替换第一模型的输出层,以对模型进行进一步优化。图5示意了经个性化校准的注视点评估模型,其中第二模型为支持向量回归模型。使用倒数第二层即全连接层5的输出作为提取到的高阶特征表征,然后用该特征作为输入,用对应的该用户进行追踪任务时的真实注视点作为输出,为该用户拟合训练支持向量回归模型至其收敛。拟合训练过程采用留一交叉验证法。在个性化校准过程中,保持第一模型除输出层外的其它层的参数不变。将第一模型的剩余层和训练完成的第二模型构成的模型,作为参数校准后的模型,用于评估用户注视点。
[0063] 在经过用户级别个人化校准后,至此模型参数已得到了多次更新优化。在该用户该设备/应用情况下,注视点估计的准确度已经得到了极大的优化提升,模型参数已是最优参数,将此时的模型用于实时注视点推断,准确性高,推断速度快。
[0064] 对于本发明方法中的设备,其连接屏幕和摄像头的方式可以是有线方式,也可以是无线方式,还可以是设备自身具有屏幕和摄像头。屏幕可以是硬件实体的,也可以是投屏虚拟的。
[0065] 在其它实施例中,第一模型可以为MobileNet、MobileNetV1、MobileNetV2、MobileNetV3等轻量级深度神经网络。这类神经网络均为轻量模型,具有参数少、层数少、所占存储资源少、运行时所需要的计算资源少、方便部署的特点,适用于资源有限的设备/应用,特别是一些资源有限的智能设备,比如个人电脑、智能手机、平板、手环等。
[0066] 在其它实施例中,眼部数据可以直接实时通过摄像头获取。
[0067] 在其它实施例中,在训练时采用的眼部数据为将左眼图像镜像翻转后得到的右眼图像,从而使得处理左眼图像和右眼图像的两个卷积神经网络共享相同的权重,以减少模型训练参数。在对第一模型进行训练时,如果采用共享权重的方式,图2中的卷积层1‑3和卷积层4‑6对应层的权重参数相同,从而减少训练时间,简化训练过程。
[0068] 在其它实施例中,注视点估计的结果,以(x,y)坐标的形式呈现,坐标原点为屏幕的左上角。
[0069] 在其它实施例中,注视点的坐标作为参数传递给其它应用程序,以实现应用的具体业务逻辑。
[0070] 综上,本发明方法设计或采用的神经网络模型轻量、参数少、层数少、所占存储资源少,运行时推导所需要的计算资源少,方便部署于带有或能够连接摄像机和屏幕的设备,特别是智能终端设备,所述智能终端设备包括但不限于个人电脑、智能手机、平板、手环等;同时结合大数据预训练,通过迁移学习进行设备/应用级别参数校准,并进一步经过用户级别个性化校准后,能够实现准确可观的注视点估计性能,兼顾了简易性和高性能的特点。
[0071] 通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明方法可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本公开而言更多情况下,软件程序实现是更佳的实施方式。
[0072] 尽管以上结合附图对本发明的实施方案进行了描述,但本发明并不局限于上述的具体实施方案和应用领域,上述的具体实施方案仅仅是示意性的、指导性的,而不是限制性的。本领域的普通技术人员在本说明书的启示下和在不脱离本发明权利要求所保护的范围的情况下,还可以做出很多种的形式,这些均属于本发明保护之列。