视线追踪模型训练的方法、视线追踪的方法及装置与流程

文档序号:18265579发布日期:2019-07-27 09:06阅读:1539来源:国知局
视线追踪模型训练的方法、视线追踪的方法及装置与流程

本申请涉及人工智能技术领域,具体涉及一种视线追踪模型训练的方法、视线追踪的方法、装置、设备及存储介质。



背景技术:

视觉追踪技术也称为眼动追踪技术,是利用软件算法、机械、电子、光学等各种检测手段获取受试者当前视觉注意方向的技术,它广泛应用于人机交互、辅助驾驶、心理研究、虚拟现实和军事等多个领域。

现有的视线估计方法主要分为两大类:几何方法与监督学习方法。几何方法往往需要借助外设,基于摄像机或眼动仪,通过双光源来对视线做三维估计。监督学习方法通过训练模型得到图像的特征,用学习到的特征向量来估计视线向量。

现有的几何方法通常过于复杂,而现有的监督学习方法的视线特征往往表现力不够强,使用的损失函数不够合理导致在预测时受图片质量影响较为严重。



技术实现要素:

本申请实施例提供一种视线追踪模型训练的方法,采用对预测值和标注值之间的损失函数取余弦的方案,可以更好的表示预测值与标注值之间的差异性,可以确保得到的视线追踪模型的预测准确度更高。本申请实施例还提高了相应的装置、设备及存储介质。

本申请第一方面提供一种视线追踪模型训练的方法,包括:

获取训练样本集合,所述训练样本集合包括多个训练样本对,其中,每个训练样本对都包括眼部样本图像和所述眼部样本图像对应的标注视线向量;

通过初始视线追踪模型对所述眼部样本图像进行处理,以得到所述眼部样本图像的预测视线向量;

对所述预测视线向量和所述标注视线向量的损失函数取余弦,以确定所述预测视线向量和所述标注视线向量的相似度;

对所述初始视线追踪模型的参考参数进行迭代调整直到所述相似度满足收敛条件,以得到目标视线追踪模型。

本申请第二方面提供一种视线追踪的方法,包括:

获取目标眼部图像;

采用目标视线追踪模型对所述目标眼部图像进行处理,以确定所述目标眼部图像的预测视线向量,所述目标视线追踪模型为采用上述第一方面所述的方法训练得到的视线追踪模型;

根据所述预测视线向量进行视线追踪。

本申请第三方面提供一种视线追踪模型训练的装置,包括:

获取模块,用于获取训练样本集合,所述训练样本集合包括多个训练样本对,其中,每个训练样本对都包括眼部样本图像和所述眼部样本图像对应的标注视线向量;

训练模块,用于通过初始视线追踪模型对所述获取模块获取的所述眼部样本图像进行处理,以得到所述眼部样本图像的预测视线向量;

第一处理模块,用于对所述训练模块得到的预测视线向量和所述标注视线向量的损失函数取余弦,以确定所述预测视线向量和所述标注视线向量的相似度;

第二处理模块,用于对所述初始视线追踪模型的参考参数进行迭代调整直到所述第一处理模块处理得到的相似度满足收敛条件,以得到目标视线追踪模型。

结合第三方面,在第一种可能的实现方式中,所述样本对还包括眼部样本图像中眼球的标注坐标;

训练模块,用于通过初始视线追踪模型对所述眼部样本图像进行处理,以得到所述眼部样本图像的预测视线向量和眼球的预测坐标;

所述第一处理模块,还用于采用欧式距离确定所述眼球的预测坐标和所述眼球的标注坐标之间的距离损失函数;

所述第二处理模块,用于对所述初始视线追踪模型的参考参数进行迭代调整直到所述相似度和所述距离损失函数满足收敛条件,以得到目标视线追踪模型。

结合第三方面或第三方面第一种可能的实现方式,在第二种可能的实现方式中,所述装置还包括:

第三处理模块:用于对所述预测视线向量进行归一化处理,以得到归一化视线向量;

所述第一处理模块,用于对所述归一化视线向量和所述标注视线向量的损失函数取余弦,以确定所述归一化视线向量和所述标注视线向量的相似度。

结合第三方面、第三方面第一种或第二种可能的实现方式,在第三种可能的实现方式中,

所述训练模块用于:

对所述眼部样本图像进行如下至少一项的处理,所述至少一项包括仿射变换、白平衡、自动对比度或高斯模糊;

将所述训练样本集合中的第一眼样本图像翻转为第二眼样本图像,并将所述第一眼样本图像对应的标注视线向量进行对应翻转,所述第一眼样本图像为右眼样本图像时,所述第二眼样本图像为左眼样本图像,所述第一眼样本图像为左眼样本图像时,所述第二眼样本图像为右眼样本图像;

对每个眼部样本图像做裁剪处理,以得到标准图像;

采用反残差区块对所述标准图像进行映射处理,以得到所述标准图像的预测视线向量。

结合第三方面第三种可能的实现方式,在第四种可能的实现方式中,

所述训练模块,还用于当所述标准图像是通过第一眼样本图像得到时,将所述标准图像的预测视线向量翻转回第一眼的空间。

结合第三方面第三种或第四可能的实现方式,在第五种可能的实现方式中,

所述训练模块还用于:

获取同一用户对象的左眼的预测视线向量中的第一横坐标值,以及右眼的预测视线向量中的第二横坐标值;

当所述第一横坐标值反应出所述左眼向左看,所述第二横坐标值反应出右眼向右看时,对所述第一横坐标值和所述第二横坐标值进行矫正。

结合第三方面第五种可能的实现方式,在第六种可能的实现方式中,

所述训练模块用于:

根据所述第一横坐标值和所述第二横坐标值确定所述左眼和所述右眼的横坐标的平均值;

调整所述右眼的预测视线向量与所述左眼的预测视线向量相互平行;

根据所述平均值和平行处理后的所述右眼的第三横坐标值确定所述右眼的横坐标的第四横坐标值。

结合第三方面第三种至第六种中任一种可能的实现方式,在第七种可能的实现方式中,所述反残差区块的数量小于19。

结合第三方面第三种至第七种中任一种可能的实现方式,在第八种可能的实现方式中,

所述训练模块还用于,当多个眼部样本图像属于一个视频流时,采用三阶贝塞尔bezier曲线对正在处理的眼部样本图像进行防抖处理,所述正在处理眼部样本图像为所述多个眼部样本图像中的一个。

本申请第四方面提供一种视线追踪的装置,包括:

获取模块,用于获取目标眼部图像;

处理模块,用于采用目标视线追踪模型对所述获取模块获取的目标眼部图像进行处理,以确定所述目标眼部图像的预测视线向量,所述目标视线追踪模型为采用上述第一方面所述的方法训练得到的视线追踪模型;

视线追踪模块,用于根据所述处理模块得到的预测视线向量进行视线追踪。

结合第四方面,在第一种可能的实现方式中,

所述处理模块,还用于确定所述目标眼部图像中眼球的坐标;

所述视线追踪模块,用于将所述眼球的坐标作为视线的起点,按照所述预测视线向量所指示的方向进行视线追踪。

本申请第五方面提供一种计算机设备,所述计算机设备包括处理器以及存储器:

所述存储器用于存储程序代码;所述处理器用于根据所述程序代码中的指令执行上述第一方面所述的视线追踪模型训练的方法。

本申请第六方面提供一种计算机设备,所述计算机设备包括处理器以及存储器:

所述存储器用于存储目标视线追踪模型,所述目标视线追踪模型是根据上述第一方面所述的视线追踪模型训练的方法训练得到的视线追踪模型;所述处理器用于运行所述目标视线追踪模型,以进行视线追踪。

本申请第七方面提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如上述第一方面所述的视线追踪模型训练的方法,

本申请第八方面提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如上述第二方面所述的视线追踪的方法。

从以上技术方案可以看出,本申请实施例具有以下优点:

本申请提供的方案采用对预测值和标注值之间的损失函数取余弦的方案,可以更好的表示预测值与标注值之间的差异性,可以确保得到的视线追踪模型的预测准确度更高。

附图说明

图1a是本申请实施例中视线追踪的一应用场景的一示例示意图;

图1b是本申请实施例中视线追踪的一应用场景的另一示例示意图;

图2是本申请实施例中视线追踪模型训练的一场景示意图;

图3是本申请实施例中视线追踪模型训练的方法一实施例示意图;

图4是本申请实施例中视线追踪模型训练的方法另一实施例示意图;

图5是本申请实施例中反残差区块的特征处理过程的一实施例示意图;

图6是本申请实施例中三阶bezier曲线的一处理结果示意图;

图7是本申请实施例提供的视线追踪的方法的一实施例示意图;

图8是本申请实施例中视线追踪模型训练的装置的一实施例示意图;

图9是本申请实施例中视线追踪模型训练的装置的另一实施例示意图;

图10是本申请实施例中视线追踪的装置的一实施例示意图;

图11是本申请实施例提供的服务器的一实施例示意图;

图12是本申请实施例提供的终端设备的一实施例示意图。

具体实施方式

下面结合附图,对本申请的实施例进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本申请实施例提供一种视线追踪模型训练的方法,采用对预测值和标注值之间的损失函数取余弦的方案,可以更好的表示预测值与标注值之间的差异性,可以确保得到的视线追踪模型的预测准确度更高。本申请实施例还提高了相应的装置、设备及存储介质。以下分别进行详细说明。

视觉追踪技术属于机器视觉的一种技术,它是通过图像传感器捕捉到眼球的图像,根据对图像的处理来识别眼球里的特征,通过这些特征实时地反算出用户的注视点。

在实际应用中,若可以获知用户的注视点,则可以确定用户对该注视点的内容感兴趣,则可以将注视点处的信息放大,如:注视点处是一个小图片,则可以将该小图片放大为大图片。以图1a和图1b为例,简单介绍通过眼球进行控制的过程。

如图1a所示,用户的视线注视在手机的某个点上超过预设时间,手机的图像获取装置获取到这段时间内的图像后,可以通过对图像的分析确定用户所注视的内容,如:用户一直在盯着手机上的一个小图片看,则如图1b所示,手机可以放大该图片在屏幕上的显示尺寸,从而更有利于用户读取所关注的信息。

也可以是根据注视点处的信息计算出一系列相关的信息推荐给用户。若是应用在辅助驾驶系统中,还可以根据注视点处的信息进行相应的提示。

视觉追踪技术改变了人到计算机设备的之间的交互路径,不再必须通过手动操作才能与计算机设备进行交互,也可以通过眼球运动来控制计算机设备。

在实际操作过程中,眼球与鼠标的点击选择操作很相似,眼球可以实现观看选择,进而激活按钮、图标、链接或文本等控件。眼球对选择的控制可以是注视一个点超过一定时间,如在一段预定的时间内悬停在一个可选择的目标上,例如静止800毫秒,则可以实现对该可选择的目标的控制。

通过眼球控制的示例可以有很多,本申请实施例中不做一一列举。

在本申请实施例中,无论是图1中的手机、还是其他终端,能分析出用户的注视点都是基于目标视线追踪模型实现的,该目标视线追踪模型可以是具有卷积神经网络的深度学习模型。该目标视线追踪模型是通过大量的样本数据训练得到的,为了准确的确定用户的注视点,本申请实施例提供了一种视线追踪模型训练的方法,可以训练得到预测准确度更高的目标视线追踪模型。

下面结合图2,介绍本申请实施例中的视线追踪模型的训练过程。

参见图2,图2为本申请实施例提供的视线追踪模型训练的一应用场景示意图。

该场景中包括数据库101和用于训练视线追踪模型的服务器102,数据库101和服务器102通过网络连接。当然,该数据库101也可以集成在服务器102上,该场景中以数据库位于独立的设备上为例进行说明,数据库101上的训练样本集合中包括多个训练样本对,其中每个训练样本对包括眼部样本图像和所述眼部样本图像对应的标注视线向量;这些训练样本对可以是开发人员专门制作的,也可以是通过有奖参与的方式由用户参与上报的,当然,还可以通过其他方式获得本申请的训练样本对,本申请中对训练样本对的获取方式不做具体限定。

其中,数据库101能够为服务器提供训练样本集合。

服务器102通过网络从数据库101处获取到训练样本集合后,将眼部样本图像输入到初始视线追踪模型。

服务器102通过初始视线追踪模型对所述眼部样本图像进行处理,以得到所述眼部样本图像的预测视线向量;

服务器102对所述预测视线向量和所述标注视线向量的损失函数取余弦,以确定所述预测视线向量和所述标注视线向量的相似度;

服务器102对所述初始视线追踪模型的参考参数进行迭代调整直到所述相似度满足收敛条件,以得到目标视线追踪模型。

服务器102生成目标视线追踪模型后,可以进一步将该目标视线追踪模型发送至终端设备,以在终端设备上运行该目标视线追踪模型,利用这些目标视线追踪模型实现相应的功能。

需要说明的是,服务器102在训练视线追踪模型的过程中,采用对预测值和标注值之间的损失函数取余弦的方案,可以更好的表示预测值与标注值之间的差异性,可以确保得到的视线追踪模型的预测准确度更高。

需要说明的是,上述图2所示的应用场景仅为一种示例,在实际应用中,本申请实施例提供的视线追踪模型训练的过程还可以应用于其他应用场景,在此不对该视线追踪模型训练的过程的应用场景做任何限定。

应理解,本申请实施例提供的视线追踪模型训练的过程可以应用于具备模型训练功能的设备,如终端设备、服务器等。其中,终端设备具体可以为智能手机、计算机、个人数字助理(personaldigitalassitant,pda)、平板电脑等;服务器具体可以为应用服务器,也可以为web服务器,在实际应用部署时,该服务器可以为独立服务器,也可以为集群服务器。

在实际应用中,终端设备和服务器可以单独训练视线追踪模型,也可以彼此交互训练视线追踪模型,二者交互训练视线追踪模型时,终端设备可以从服务器处获取训练样本集,进而利用该训练样本集对视线追踪模型进行训练,或者,服务器可以从终端处获取训练样本集,利用该训练样本集对视线追踪模型进行训练。

应理解,终端设备或服务器执行本申请实施例提供的视线追踪模型训练的过程,训练得到目标视线追踪模型后,可以将该目标视线追踪模型发送至其他终端设备,以在这些终端设备上运行上述目标视线追踪模型,实现相应的功能;也可以将该目标视线追踪模型发送至其他服务器,以在其他服务器上运行上述目标视线追踪模型,通过这些服务器实现相应的功能。

下面通过实施例对本申请提供的神经网络模型训练方法进行介绍。

参见图3,图3为本申请实施例提供的一种视线追踪模型训练的方法的一实施例示意图。为了便于描述,下述实施例以服务器作为执行主体进行描述,应理解,该视线追踪模型训练的方法的执行主体并不仅限于服务器,还可以应用于终端设备等具备模型训练功能的设备。如图3所示,该视线追踪模型训练的方法包括以下步骤:

201、获取训练样本集合,所述训练样本集合包括多个训练样本对,其中,每个训练样本对都包括眼部样本图像和所述眼部样本图像对应的标注视线向量。

本申请实施例中的训练样本集合可以包括真实眼部图像和该图像对应的标注视线向量,还可以包括合成眼部图像以及该合成眼部图像对应的标注视线向量,其中,真实眼部图像指的是通过摄像机等设备直接拍摄获取的眼部图像,合成眼部图像指的是通过软件工具合成的眼部图像。本申请实施例中的训练样本集合包括真实眼部图像和合成眼部图像,可以提高视线追踪模型的鲁棒性。

202、通过初始视线追踪模型对所述眼部样本图像进行处理,以得到所述眼部样本图像的预测视线向量。

203、对所述预测视线向量和所述标注视线向量的损失函数取余弦,以确定所述预测视线向量和所述标注视线向量的相似度。

204、对所述初始视线追踪模型的参考参数进行迭代调整直到所述相似度满足收敛条件,以得到目标视线追踪模型。

本申请实施例中,采用对预测值和标注值之间的损失函数取余弦的方案,可以更好的表示预测值与标注值之间的差异性,可以确保得到的视线追踪模型的预测准确度更高。

可选地,所述样本对还包括眼部样本图像中眼球的标注坐标;所述通过初始视线追踪模型对所述眼部样本图像进行处理,以得到所述眼部样本图像的预测视线向量,可以包括:

通过初始视线追踪模型对所述眼部样本图像进行处理,以得到所述眼部样本图像的预测视线向量和眼球的预测坐标;

所述方法还可以包括:

采用欧式距离确定所述眼球的预测坐标和所述眼球的标注坐标之间的距离损失函数;

对所述初始视线追踪模型的参考参数进行迭代调整直到所述相似度满足收敛条件,以得到目标视线追踪模型,可以包括:

对所述初始视线追踪模型的参考参数进行迭代调整直到所述相似度和所述距离损失函数满足收敛条件,以得到目标视线追踪模型。

眼球的预测坐标或者标注坐标指的是眼球瞳孔中心点的位置坐标。

本申请实施例中,在训练视线追踪模型时,不光考虑了预测视线向量时,还考虑了眼球的预测坐标,这样不仅可以进一步提高视线追踪模型的鲁棒性,而且还可以实现多任务学习。

可选地,本申请实施例提供的视线追踪模型训练的方法的另一实施例中,还可以包括:

对所述预测视线向量进行归一化处理,以得到归一化视线向量;

所述对所述预测视线向量和所述标注视线向量的损失函数取余弦,以确定所述预测视线向量和所述标注视线向量的相似度,可以包括:

对所述归一化视线向量和所述标注视线向量的损失函数取余弦,以确定所述归一化视线向量和所述标注视线向量的相似度。

本申请实施例中,在对所述预测视线向量和所述标注视线向量的损失函数取余弦之前,先对预测视线向量进行归一化处理,以得到归一化视线向量,然后再对所述归一化视线向量和所述标注视线向量的损失函数取余弦,可以将特征值归一化,使其计算损失是处于单位圆之内,最后让预测的结果更加鲁棒。

可选地,所述通过初始视线追踪模型对所述眼部样本图像进行处理,以得到所述眼部样本图像的预测视线向量,可以包括:

对所述眼部样本图像进行如下至少一项的处理,所述至少一项包括仿射变换、白平衡、自动对比度或高斯模糊;

将所述训练样本集合中的第一眼样本图像翻转为第二眼样本图像,并将所述第一眼样本图像对应的标注视线向量进行对应翻转,所述第一眼样本图像为右眼样本图像时,所述第二眼样本图像为左眼样本图像,所述第一眼样本图像为左眼样本图像时,所述第二眼样本图像为右眼样本图像;

对每个眼部样本图像做裁剪处理,以得到标准图像;

采用反残差区块对所述标准图像进行映射处理,以得到所述标准图像的预测视线向量。

本申请实施例中,先对眼部样本图像做仿射变换、白平衡、自动对比度或高斯模糊等的处理,可以提高视线追踪模型的泛化性。

其中,高斯模糊(gaussianblur)可以根据高斯曲线调节像素色值,可以有选择地模糊图像。换句话说,就是高斯模糊能够把某一点周围的像素色值按高斯曲线统计起来,采用数学上加权平均的计算方法得到这条曲线的色值。

自动对比度指的是一幅图像中明暗区域最亮的白和最暗的黑之间不同亮度层级的测量,差异范围越大代表对比越大,差异范围越小代表对比越小。

仿射变换是在几何上定义为两个向量空间之间的一个仿射变换或者仿射映射,由一个非奇异的线性变换接上一个平移变换组成。在有限维的情况,每个仿射变换可以由一个矩阵a和一个向量b给出,它可以写作a和一个附加的列b。

为了简化模型,本申请实施例中的视线追踪模型可以只对左眼进行训练,或者只对右眼进行训练,例如:只针对左眼进行训练,那么针对右眼的图像就可以通过翻转成为左眼的图像用于模型训练,当右眼图像翻转为左眼图像后,相应的标注视线向量也要对应的翻转成左眼图像的标注视线向量。

在预测时,有人脸的图片会首先将左眼、右眼根据左右眼角关键点剪裁(wrap)为模型需要大小的眼睛图片,而右眼会翻转成左眼图片输入模型进行预测。

可选地,所述方法还可以包括:

当所述标准图像是通过第一眼样本图像得到时,将所述标准图像的预测视线向量翻转回第一眼的空间。

本申请实施例中,当模型是需要输入左眼图像的模型时,而右眼会翻转成左眼图片输入模型进行预测,得到的预测结果需要同时翻转回右眼的空间。

可选地,所述方法还包括:

获取同一用户对象的左眼的预测视线向量中的第一横坐标值,以及右眼的预测视线向量中的第二横坐标值;

当所述第一横坐标值反应出所述左眼向左看,所述第二横坐标值反应出右眼向右看时,对所述第一横坐标值和所述第二横坐标值进行矫正。

其中,所述对所述第一横坐标值和所述第二横坐标值进行矫正,可以包括:

根据所述第一横坐标值和所述第二横坐标值确定所述左眼和所述右眼的横坐标的平均值;

调整所述右眼的预测视线向量与所述左眼的预测视线向量相互平行;

根据所述平均值和平行处理后的所述右眼的第三横坐标值确定所述右眼的横坐标的第四横坐标值。

本申请实施例中,预测得到的左右眼视线向量会进行合理性矫正得到最终结果。

可选地,所述反残差区块的数量小于19。

本申请实施例中,为了适应手机端,将视线追踪模型做了剪裁,可以将反残差区块的数量剪裁到只有5个,当然,这里5个只是举例,也可以有6个或4个,或者其他数值。

可选地,所述方法还可以包括

当多个眼部样本图像属于一个视频流时,采用三阶贝塞尔bezier曲线对正在处理的眼部样本图像进行防抖处理,所述正在处理眼部样本图像为所述多个眼部样本图像中的一个。

为了进一步理解本申请实施例所提供的方案,参阅图4,对本申请实施例提供的另一视线追踪模型训练的方法进行介绍:

如图4所示,本申请实施例使用了mobilenetv2作为视线追踪模型的脊柱(backbone)。mobilenetv2包含一系列的反残差区块(invertedresidualblock)来提升模型的性能,增强模型特征的表现力,并且减少了计算量。

反残差区块的结构图如图5所示,从图5中可以看出,反残差区块先用1x1的卷积将输入的特征(featuremap)维度变大,然后使用3x3深度卷积(depthwiseconvolution)计算得到更有表达力的特征,最后用1x1的卷积运算将通道(channel)维度缩小。通过1x1的卷积将深度卷积的输入维度增加,能有效缓解特征退化的情况。

本申请实施例提供的mobilenetv2的结构是经过裁剪的mobilenetv2,将反残差区块减少至5个,并且对应减少了每一层输出的channel数,这样更方便部署到手机端。

经过剪裁的mobilenetv2的结构图可以参阅可以参阅表1进行理解。

表1:剪裁后的mobilenetv2的结构

其中t代表了膨胀因素,c是当前序列的输出通道的维度,n为本层重复的次数,s为步长(stride)。

需要说明的是,本申请实施例中的初始视线追踪模型不限于上述所提供的mobilenetv2的模型,还可以是其他结构或者其他类型的模型。

mobilenetv2模型会先对输入的眼部样本图像进行处理,例如:通过仿射变换,白平衡,自动对比度,高斯模糊等对图像进行处理来进行数据增强,提高模型的泛化能力。

经过mobilenetv2模型会对眼部样本图像多层次映射的特征表示,用于建预测视线向量和眼球坐标的回归器。

其中,该眼部样本图像的标注视线向量在空间的三个方向上可以表示为(x1、y1、z1),该眼部样本图像的预测视线向量,也就是全连接层的输出为(x2,y2,z2)三个值,而眼球坐标的输出为(x’,y’)两个值。预测视线向量的z2值主要是为了做向量的归一化。

本申请实施例中的视线回归器使用了对所述预测视线向量和所述标注视线向量的损失函数取余弦(cosinedistanceloss),是因为考虑到标注视线向量是基于单位圆的一个方向向量,取余弦可以很好地表示学习出来的预测视线向量与标注视线向量之间角度的差异性,从而使预测结果更加接近真实值。

由于眼球的坐标与角度并无直接联系,并且是2d的坐标,所以采用欧式距离(l2distanceloss)作为损失函数。在cosinedistanceloss之前,本申请增加了归一化层(normalizationlayer),将特征值归一化,使其计算损失是处于单位圆之内,最后让预测的结果更加鲁棒。

本申请实施例提供的归一化的方法可以参与如下公式进行理解:

xnew=(x2-μ)/σ,ynew=(y2-μ)/σ,znew=(z2-μ)/σ;其中,μ为(x2,y2,z2)三个值的平均值,σ为(x2,y2,z2)三个值的方差。

在归一化后,可以通过cosinedistanceloss来确定预测视线向量与标注视线向量的相似度,用公式可以表示为:

其中a为标注视线向量,b为预测视线向量。该公式计算两个向量之间的相似度,所以值越大,表示两个向量越接近。网络实际上使用的是1-cos(θ)来计算两个向量之间的损失,值越小越接近。

本申请实施例输入的可以为112x112的左眼图片,在训练时,所有的右眼图片会翻转为左眼,并将标注视线向量做同样的翻转操作。若还有眼球的标注坐标,也需要做翻转操作。

在预测时,有人脸的图片会首先将左眼、右眼根据左右眼角关键点剪裁为模型输入大小的眼睛图片,而右眼会翻转成左眼图片输入到模型中进行预测。得到的预测结果需要同时翻转回右眼的空间,网络预测得到的左眼和右眼视线向量会进行合理性矫正得到最终结果。

因为在视频或者图像序列上运行视线方向估计时,由于剪裁出来的眼睛区域经常会发生些许抖动变化,由此估计出的视线方向可能会发生抖动。本申请实施例提出使用三阶贝塞尔(bezier)曲线,利用视线的上文信息,对新的一帧的向量加以约束,避免出现数值突变的情况。通过加权视频流之前帧的结果来对当前帧进行修正。

在视频流处理中,可以通过使用三阶bezier曲线来根据上几帧的结果对方向向量的值进行平滑。三阶bezier曲线平滑公式如下:

b(t)=p0(1-t)3+3p1t(1-t)2+3p2t2(1-t)+p3t3,t∈[0,1]

其中b(t)为平滑后当前帧的结果,pi为在前的第i帧的结果,t为引入的参数,范围在0到1之间。图6显示了经过bezier曲线平滑后的结果。可以看到平滑之后x,y值的抖动越来越小,视线方向向量更加稳定。

以上多个实施例描述了视线追踪模型训练的方法,训练好目标视线追踪模型后,便可以将该目标视线追踪模型应用到实际的不同场景中。无论是应用到哪种场景中,都需要得到预测视线向量,从而才能实现相应的视线追踪过程。

如图7所示,本申请实施例提供的视线追踪的方法的一实施例可以包括:

301、获取目标眼部图像。

302、采用目标视线追踪模型对所述目标眼部图像进行处理,以确定所述目标眼部图像的预测视线向量。

所述目标视线追踪模型为按照前述所描述的视线追踪模型训练的方法所得到的视线追踪模型。

303、根据所述预测视线向量进行视线追踪。

本申请提供的方案采用对预测值和标注值之间的损失函数取余弦的方案,可以更好的表示预测值与标注值之间的差异性,可以确保得到的视线追踪模型的预测准确度更高。

可选地,所述采用目标视线追踪模型对所述眼部图像进行处理,以确定所述眼部图像的预测视线方向向量时,还可以包括:

确定所述目标眼部图像中眼球的坐标;

所述根据所述预测视线方向向量进行视线追踪,可以包括:

将所述眼球的坐标作为视线的起点,按照所述预测视线向量所指示的方向进行视线追踪。

本申请实施例中,在确定所述目标眼部图像的预测视线向量的过程可以参阅前面确定眼部样本图像的预测视线向量的过程进行理解,本处不再重复赘述。

针对上文描述的神经网络模型训练方法,本申请还提供了对应的视线追踪模型训练的装置,以使上述视线追踪模型训练的方法在实际中得以应用和实现。

参见图8,图8是本申请实施例提供的视线追踪模型训练的装置40的一实施例示意图。

获取模块401,用于获取训练样本集合,所述训练样本集合包括多个训练样本对,其中,每个训练样本对都包括眼部样本图像和所述眼部样本图像对应的标注视线向量;

训练模块402,用于通过初始视线追踪模型对所述获取模块401获取的所述眼部样本图像进行处理,以得到所述眼部样本图像的预测视线向量;

第一处理模块403,用于对所述训练模块402得到的预测视线向量和所述标注视线向量的损失函数取余弦,以确定所述预测视线向量和所述标注视线向量的相似度;

第二处理模块404,用于对所述初始视线追踪模型的参考参数进行迭代调整直到所述第一处理模块403处理得到的相似度满足收敛条件,以得到目标视线追踪模型。

本申请提供的方案采用对预测值和标注值之间的损失函数取余弦的方案,可以更好的表示预测值与标注值之间的差异性,可以确保得到的视线追踪模型的预测准确度更高。

可选地,训练模块402,用于在所述样本对还包括眼部样本图像中眼球的标注坐标时,通过初始视线追踪模型对所述眼部样本图像进行处理,以得到所述眼部样本图像的预测视线向量和眼球的预测坐标;

所述第一处理模块403,还用于采用欧式距离确定所述眼球的预测坐标和所述眼球的标注坐标之间的距离损失函数;

所述第二处理模块404,用于对所述初始视线追踪模型的参考参数进行迭代调整直到所述相似度和所述距离损失函数满足收敛条件,以得到目标视线追踪模型。

可选地,参阅图9,该装置40还包括:

第三处理模块405:用于对所述预测视线向量进行归一化处理,以得到归一化视线向量;

所述第一处理模块403,用于对所述归一化视线向量和所述标注视线向量的损失函数取余弦,以确定所述归一化视线向量和所述标注视线向量的相似度。

可选地,所述训练模块402用于:

对所述眼部样本图像进行如下至少一项的处理,所述至少一项包括仿射变换、白平衡、自动对比度或高斯模糊;

将所述训练样本集合中的第一眼样本图像翻转为第二眼样本图像,并将所述第一眼样本图像对应的标注视线向量进行对应翻转,所述第一眼样本图像为右眼样本图像时,所述第二眼样本图像为左眼样本图像,所述第一眼样本图像为左眼样本图像时,所述第二眼样本图像为右眼样本图像;

对每个眼部样本图像做裁剪处理,以得到标准图像;

采用反残差区块对所述标准图像进行映射处理,以得到所述标准图像的预测视线向量。

可选地,所述训练模块402,还用于当所述标准图像是通过第一眼样本图像得到时,将所述标准图像的预测视线向量翻转回第一眼的空间。

可选地,所述训练模块402还用于:

获取同一用户对象的左眼的预测视线向量中的第一横坐标值,以及右眼的预测视线向量中的第二横坐标值;

当所述第一横坐标值反应出所述左眼向左看,所述第二横坐标值反应出右眼向右看时,对所述第一横坐标值和所述第二横坐标值进行矫正。

可选地,所述训练模块402用于:

根据所述第一横坐标值和所述第二横坐标值确定所述左眼和所述右眼的横坐标的平均值;

调整所述右眼的预测视线向量与所述左眼的预测视线向量相互平行;

根据所述平均值和平行处理后的所述右眼的第三横坐标值确定所述右眼的横坐标的第四横坐标值。

可选地,所述反残差区块的数量小于19。

可选地,所述训练模块402还用于,当多个眼部样本图像属于一个视频流时,采用三阶贝塞尔bezier曲线对正在处理的眼部样本图像进行防抖处理,所述正在处理眼部样本图像为所述多个眼部样本图像中的一个。

针对上文描述的视线追踪的方法,本申请还提供了对应的视线追踪的装置,以使上述视线追踪的方法在实际中得以应用和实现。

图10为本申请实施例提供的视线追踪的装置50的一实施例示意图。

获取模块501,用于获取目标眼部图像;

处理模块502,用于采用目标视线追踪模型对所述获取模块501获取的目标眼部图像进行处理,以确定所述目标眼部图像的预测视线向量;

视线追踪模块503,用于根据所述处理模块502得到的预测视线向量进行视线追踪。

本申请提供的方案采用对预测值和标注值之间的损失函数取余弦的方案,可以更好的表示预测值与标注值之间的差异性,可以确保得到的视线追踪模型的预测准确度更高。

可选地,所述处理模块502,还用于确定所述目标眼部图像中眼球的坐标;

视线追踪模块503,用于将所述眼球的坐标作为视线的起点,按照所述预测视线向量所指示的方向进行视线追踪。

本申请还提供了一种用于视线追踪模型训练的设备,该设备具体可以为服务器,参见图11,图11是本申请实施例提供的一种用于视线追踪模型训练的服务器结构示意图,该服务器700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,cpu)722(例如,一个或一个以上处理器)和存储器732,一个或一个以上存储应用程序742或数据744的存储介质730(例如一个或一个以上海量存储设备)。其中,存储器732和存储介质730可以是短暂存储或持久存储。存储在存储介质730的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器722可以设置为与存储介质730通信,在服务器700上执行存储介质730中的一系列指令操作。

服务器700还可以包括一个或一个以上电源726,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口758,和/或,一个或一个以上操作系统741,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

上述实施例中由服务器所执行的步骤可以基于该图11所示的服务器结构。

其中,cpu722用于执行上述图1至图6部分所描述的神经网络模型训练的过程。

此外,本申请还提供了一种服务器,该服务器与上述图11所示的服务器的结构相类似,其存储器用于存储目标视线追踪模型,该目标视线追踪模型是根据本申请实施例提供的视线追踪模型训练的方法训练得到的;其处理器用于运行该目标视线追踪模型,以进行视线追踪。

本申请实施例还提供了另一种用于视线追踪的设备,该设备可以为终端设备,如图12所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端可以为包括手机、平板电脑、个人数字助理(英文全称:personaldigitalassistant,英文缩写:pda)、销售终端(英文全称:pointofsales,英文缩写:pos)、车载电脑等任意终端设备,以终端为手机为例:

图12示出的是与本申请实施例提供的终端相关的手机的部分结构的框图。参考图12,手机包括:射频(英文全称:radiofrequency,英文缩写:rf)电路810、存储器820、输入单元830、显示单元840、传感器850、音频电路860、无线保真(英文全称:wirelessfidelity,英文缩写:wifi)模块870、处理器880、以及电源890等部件。本领域技术人员可以理解,图12中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

下面结合图12对手机的各个构成部件进行具体的介绍:

rf电路810可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器880处理;另外,将设计上行的数据发送给基站。通常,rf电路810包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(英文全称:lownoiseamplifier,英文缩写:lna)、双工器等。此外,rf电路810还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(英文全称:globalsystemofmobilecommunication,英文缩写:gsm)、通用分组无线服务(英文全称:generalpacketradioservice,gprs)、码分多址(英文全称:codedivisionmultipleaccess,英文缩写:cdma)、宽带码分多址(英文全称:widebandcodedivisionmultipleaccess,英文缩写:wcdma)、长期演进(英文全称:longtermevolution,英文缩写:lte)、电子邮件、短消息服务(英文全称:shortmessagingservice,sms)等。

存储器820可用于存储软件程序以及模块,处理器880通过运行存储在存储器820的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器820可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器820可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

输入单元830可用于控制指令,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元830可包括触控面板831以及其他输入设备832。触控面板831,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板831上或在触控面板831附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板831可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器880,并能接收处理器880发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板831。除了触控面板831,输入单元830还可以包括其他输入设备832。具体地,其他输入设备832可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元840可用于视线追踪的结果。显示单元840可包括显示面板841,可选的,可以采用液晶显示器(英文全称:liquidcrystaldisplay,英文缩写:lcd)、有机发光二极管(英文全称:organiclight-emittingdiode,英文缩写:oled)等形式来配置显示面板841。进一步的,触控面板831可覆盖显示面板841,当触控面板831检测到在其上或附近的触摸操作后,传送给处理器880以确定触摸事件的类型,随后处理器880根据触摸事件的类型在显示面板841上提供相应的视觉输出。虽然在图12中,触控面板831与显示面板841是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板831与显示面板841集成而实现手机的输入和输出功能。

手机还可包括至少一种传感器850,可以通过传感器850采集目标眼部图像,当然也可以通过摄像头采集目标眼部图像,或者通过眼动仪采集目标眼部图像。传感器850比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板841的亮度,接近传感器可在手机移动到耳边时,关闭显示面板841和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路860、扬声器861,传声器862可提供用户与手机之间的音频接口。音频电路860可将接收到的音频数据转换后的电信号,传输到扬声器861,由扬声器861转换为声音信号输出;另一方面,传声器862将收集的声音信号转换为电信号,由音频电路860接收后转换为音频数据,再将音频数据输出处理器880处理后,经rf电路810以发送给比如另一手机,或者将音频数据输出至存储器820以便进一步处理。

wifi属于短距离无线传输技术,手机通过wifi模块870可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图12示出了wifi模块870,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器880是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器820内的软件程序和/或模块,以及调用存储在存储器820内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器880可包括一个或多个处理单元;优选的,处理器880可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器880中。

手机还包括给各个部件供电的电源890(比如电池),优选的,电源可以通过电源管理系统与处理器880逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。

尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。

在本申请实施例中,该终端所包括的处理器880具有上述所描述的基于目标视线追踪模型进行相应的视线追踪的功能。

本申请实施例还提供一种计算机可读存储介质,用于存储程序代码,该程序代码用于执行前述各个实施例所述的一种视线追踪模型训练方法中的任意一种实施方式,或者执行前述实施例所述的一种视线追踪的方法。

本申请实施例还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例所述的一种视线追踪模型训练的方法中的任意一种实施方式,或者执行前述实施例所述的一种视线追踪方法。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文全称:read-onlymemory,英文缩写:rom)、随机存取存储器(英文全称:randomaccessmemory,英文缩写:ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1