注视点判断方法和装置、电子设备和计算机存储介质
技术领域
本发明涉及计算机技术,尤其是一种注视点判断方法和装置、电子设备和计算机存储介质。
背景技术
人脸识别是近年来随着计算机视觉、模式识别、神经网络和人工智能等技术快速发展而出现的一种新的生物识别技术。人脸识别主要是基于人脸特征点提供的人脸各器官的位置、形状以及人脸外轮廓等几何信息进行身份识别,因此在人脸识别过程中,人脸特征点的定位非常重要。目前,人脸特征点的定位可以通过过深度学习获得很高的精度。
发明内容
本发明实施例提供一种注视点判断技术方案。
根据本公开实施例的一个方面,提供一种注视点判断方法,包括:
获取图像中人脸至少一只眼睛的眼部特征点的二维坐标,其中,所述眼部特征点包括眼球中心区域特征点;
基于所述眼球中心区域特征点的二维坐标,获取所述图像中的所述人脸对应的三维人脸模型中对应的眼球中心区域特征点在预设三维坐标系中的三维坐标;
根据所述眼部特征点中除所述眼球中心区域特征点外的特征点的二维坐标和所述眼球中心区域特征点在预设三维坐标系中的三维坐标,得到对所述图像中所述人脸的眼睛注视点位置的判断结果。
可选地,在本发明上述方法实施例中,所述眼部特征点还包括:眼睑线特征点和眼球轮廓特征点。
可选地,在本发明上述任一方法实施例中,所述获取图像中人脸至少一只眼睛的眼部征点的二维坐标,包括:
对所述图像进行特征提取,获取所述图像中所述人脸特征点的二维坐标;
基于所述图像中所述人脸特征点的二维坐标,获取所述图像中所述人脸至少一只眼睛的眼部特征点的二维坐标。
可选地,在本发明上述任一方法实施例中,所述基于所述图像中所述人脸特征点的二维坐标,获取所述图像中所述人脸至少一只眼睛的眼部特征点的二维坐标,包括:
根据所述图像中所述人脸眼睛区域的特征点的二维坐标,从所述图像中截取包含对应的眼睛区域的矩形图像;
对所述矩形图像进行特征提取,获取所述图像中所述人脸至少一只眼睛的眼部特征点的二维坐标。
可选地,在本发明上述任一方法实施例中,所述根据所述图像中所述人脸眼睛区域的特征点的二维坐标,从所述图像中截取包含对应的眼睛区域的矩形图像,包括:
根据所述图像中所述人脸一只眼睛区域的特征点的二维坐标,从所述图像中截取包含对应的眼睛区域的一张矩形图像;
所述对所述矩形图像进行特征提取,获取所述图像中所述人脸至少一只眼睛的眼部特征点的二维坐标,包括:
对所述矩形图像进行特征提取,获取所述图像中所述人脸一只眼睛的眼部特征点的二维坐标;或者,
对所述矩形图像进行镜像处理;
对所述矩形图像和所述镜像处理后的矩形图像进行特征提取,获取所述图像中所述人脸两只眼睛的眼部特征点的二维坐标。
可选地,在本发明上述任一方法实施例中,所述基于所述眼球中心区域特征点的二维坐标,获取所述图像中的所述人脸对应的三维人脸模型中对应的眼球中心区域特征点在预设三维坐标系中的三维坐标,包括:
根据所述图像中的所述人脸生成对应的三维人脸模型;
基于所述眼球中心区域特征点的二维坐标,获取所述三维人脸模型中对应的眼球中心区域特征点在预设三维坐标系中的三维坐标。
可选地,在本发明上述任一方法实施例中,所述根据所述图像中的所述人脸生成对应的三维人脸模型,包括:
根据所述图像中所述人脸的关键点与先验三维人脸模型的关键点之间的对应关系,生成所述人脸对应的三维人脸模型。
可选地,在本发明上述任一方法实施例中,所述根据所述眼部特征点中除所述眼球中心区域特征点外的特征点的二维坐标和所述眼球中心区域特征点在预设三维坐标系中的三维坐标,得到对所述图像中所述人脸的眼睛注视点位置的判断结果,包括:
根据所述眼部特征点中除所述眼球中心区域特征点外的特征点的二维坐标和所述眼球中心区域特征点在预设三维坐标系中的三维坐标,得到所述图像中所述人脸眼睛的注视分数;
将所述注视分数与预设阈值进行比较,得到对所述图像中所述人脸的眼睛注视点位置的判断结果。
可选地,在本发明上述任一方法实施例中,所述将所述注视分数与预设阈值进行比较,得到对所述图像中所述人脸的眼睛注视点位置的判断结果,包括:
根据所述注视分数大于所述预设阈值,得到所述图像中所述人脸的眼睛注视点在预设区域内;或者,
根据所述注视分数小于或等于所述预设阈值,得到所述图像中所述人脸的眼睛注视点在预设区域外。
可选地,在本发明上述任一方法实施例中,所述预设阈值包括:真正例率与假正例率的差值;其中,所述真正例率包括:图像中人脸的眼睛注视点在预设区域内时判断正确的例率;所述假正例率包括:图像中人脸的眼睛注视点在预设区域外时判断错误的例率。
可选地,在本发明上述任一方法实施例中,所述预设区域包括:屏幕区域的一部分或者全部。
可选地,在本发明上述任一方法实施例中,所述将所述注视分数与预设阈值进行比较,得到对所述图像中所述人脸的眼睛注视点位置的判断结果之后,还包括:
根据所述判断结果,对所述图像进行相应的处理。
可选地,在本发明上述任一方法实施例中,所述根据所述判断结果,对所述图像进行相应的处理,包括:
响应于所述图像中所述人脸的眼睛注视点在预设区域内,按照第一预设展示方式展示所述图像;
响应于所述图像中所述人脸的眼睛注视点在预设区域外,按照第二预设展示方式展示所述图像。
可选地,在本发明上述任一方法实施例中,所述根据所述眼部特征点中除所述眼球中心区域特征点外的特征点的二维坐标和所述眼球中心区域特征点在预设三维坐标系中的三维坐标,得到所述图像中所述人脸眼睛的注视分数,包括:
根据所述眼部特征点中除所述眼球中心区域特征点外的特征点的二维坐标和所述眼球中心区域特征点在预设三维坐标系中的三维坐标,通过神经网络得到所述图像中所述人脸眼睛的注视分数。
可选地,在本发明上述任一方法实施例中,所述基于所述眼球中心区域特征点的二维坐标,获取所述图像中的所述人脸对应的三维人脸模型中对应的眼球中心区域特征点在预设三维坐标系中的三维坐标之后,还包括:
按照预设的格式,对所述眼部特征点中除所述眼球中心区域特征点外的特征点的二维坐标和所述眼球中心区域特征点在预设三维坐标系中的三维坐标的格式进行调整;
所述根据所述眼部特征点中除所述眼球中心区域特征点外的特征点的二维坐标和所述眼球中心区域特征点在预设三维坐标系中的三维坐标,通过神经网络得到所述图像中所述人脸眼睛的注视分数,包括:
根据所述格式调整后的所述眼部特征点中除所述眼球中心区域特征点外的特征点的二维坐标和所述眼球中心区域特征点在预设三维坐标系中的三维坐标,通过神经网络得到所述图像中所述人脸眼睛的注视分数。
可选地,在本发明上述任一方法实施例中,应用于以下任意一项或任意组合:表情识别、终端支付、终端锁定、终端解锁。
根据本公开实施例的另一个方面,提供一种注视点判断装置,包括:
获取单元,用于获取图像中人脸至少一只眼睛的眼部特征点的二维坐标,其中,所述眼部特征点包括眼球中心区域特征点;以及基于所述眼球中心区域特征点的二维坐标,获取所述图像中的所述人脸对应的三维人脸模型中对应的眼球中心区域特征点在预设三维坐标系中的三维坐标;
判断单元,用于根据所述眼部特征点中除所述眼球中心区域特征点外的特征点的二维坐标和所述眼球中心区域特征点在预设三维坐标系中的三维坐标,得到对所述图像中所述人脸的眼睛注视点位置的判断结果。
可选地,在本发明上述装置实施例中,所述眼部特征点还包括:眼睑线特征点和眼球轮廓特征点。
可选地,在本发明上述任一装置实施例中,所述获取单元,用于对所述图像进行特征提取,获取所述图像中所述人脸特征点的二维坐标;基于所述图像中所述人脸特征点的二维坐标,获取所述图像中所述人脸至少一只眼睛的眼部特征点的二维坐标。
可选地,在本发明上述任一装置实施例中,所述获取单元包括:
截取子单元,用于根据所述图像中所述人脸眼睛区域的特征点的二维坐标,从所述图像中截取包含对应的眼睛区域的矩形图像;
提取子单元,用于对所述矩形图像进行特征提取,获取所述图像中所述人脸至少一只眼睛的眼部特征点的二维坐标。
可选地,在本发明上述任一装置实施例中,所述截取子单元,用于根据所述图像中所述人脸一只眼睛区域的特征点的二维坐标,从所述图像中截取包含对应的眼睛区域的一张矩形图像;
所述获取单元还包括:镜像子单元,用于对所述矩形图像进行镜像处理;
所述提取子单元,用于对所述矩形图像进行特征提取,获取所述图像中所述人脸一只眼睛的眼部特征点的二维坐标;或者,用于对所述矩形图像和所述镜像处理后的矩形图像进行特征提取,获取所述图像中所述人脸两只眼睛的眼部特征点的二维坐标。
可选地,在本发明上述任一装置实施例中,所述获取单元,用于根据所述图像中的所述人脸生成对应的三维人脸模型;基于所述眼球中心区域特征点的二维坐标,获取所述三维人脸模型中对应的眼球中心区域特征点在预设三维坐标系中的三维坐标。
可选地,在本发明上述任一装置实施例中,所述获取单元,用于根据所述图像中所述人脸的关键点与先验三维人脸模型的关键点之间的对应关系,生成所述人脸对应的三维人脸模型。
可选地,在本发明上述任一装置实施例中,所述判断单元,用于根据所述眼部特征点中除所述眼球中心区域特征点外的特征点的二维坐标和所述眼球中心区域特征点在预设三维坐标系中的三维坐标,得到所述图像中所述人脸眼睛的注视分数;将所述注视分数与预设阈值进行比较,得到对所述图像中所述人脸的眼睛注视点位置的判断结果。
可选地,在本发明上述任一装置实施例中,所述判断单元,用于根据所述注视分数大于所述预设阈值,得到所述图像中所述人脸的眼睛注视点在预设区域内;或者,根据所述注视分数小于或等于所述预设阈值,得到所述图像中所述人脸的眼睛注视点在预设区域外。
可选地,在本发明上述任一装置实施例中,所述预设阈值包括:真正例率与假正例率的差值;其中,所述真正例率包括:图像中人脸的眼睛注视点在预设区域内时判断正确的例率;所述假正例率包括:图像中人脸的眼睛注视点在预设区域外时判断错误的例率。
可选地,在本发明上述任一装置实施例中,所述预设区域包括:屏幕区域的一部分或者全部。
可选地,在本发明上述任一装置实施例中,还包括:
处理单元,用于根据所述判断结果,对所述图像进行相应的处理。
可选地,在本发明上述任一装置实施例中,所述处理单元,用于响应于所述图像中所述人脸的眼睛注视点在预设区域内,按照第一预设展示方式展示所述图像;响应于所述图像中所述人脸的眼睛注视点在预设区域外,按照第二预设展示方式展示所述图像。
可选地,在本发明上述任一装置实施例中,所述判断单元,用于根据所述眼部特征点中除所述眼球中心区域特征点外的特征点的二维坐标和所述眼球中心区域特征点在预设三维坐标系中的三维坐标,通过神经网络得到所述图像中所述人脸眼睛的注视分数。
可选地,在本发明上述任一装置实施例中,还包括:
调整单元,用于按照预设的格式,对所述眼部特征点中除所述眼球中心区域特征点外的特征点的二维坐标和所述眼球中心区域特征点在预设三维坐标系中的三维坐标的格式进行调整;
所述判断单元,用于根据所述格式调整后的所述眼部特征点中除所述眼球中心区域特征点外的特征点的二维坐标和所述眼球中心区域特征点在预设三维坐标系中的三维坐标,通过神经网络得到所述图像中所述人脸眼睛的注视分数。
可选地,在本发明上述任一装置实施例中,应用于以下任意一项或任意组合:表情识别、终端支付、终端锁定、终端解锁。
根据本发明实施例的又一个方面,提供的一种电子设备,包括上述任一实施例所述的装置。
根据本发明实施例的再一个方面,提供的一种电子设备,包括:
存储器,用于存储可执行指令;以及
处理器,用于与所述存储器通信以执行所述可执行指令从而完成上述任一实施例所述的方法。
根据本发明实施例的再一个方面,提供的一种计算机程序,包括计算机可读代码,当所述计算机可读代码在设备上运行时,所述设备中的处理器执行用于实现上述任一实施例所述方法的指令。
根据本发明实施例的再一个方面,提供的一种计算机程序产品,用于存储计算机可读指令,所述指令被执行时使得计算机执行上述任一实施例所述的方法的操作。
在一个可选实施方式中,所述计算机程序产品具体为计算机存储介质,在另一个可选实施方式中,所述计算机程序产品具体为软件产品,例如SDK等。
基于本发明上述实施例提供的注视点判断方法和装置、电子设备和计算机存储介质,通过获取图像中人脸至少一只眼睛的眼部特征点的二维坐标,其中,眼部特征点包括眼球中心区域特征点,基于眼球中心区域特征点的二维坐标,获取图像中的人脸对应的三维人脸模型中对应的眼球中心区域特征点在预设三维坐标系中的三维坐标,根据眼部特征点中除眼球中心区域特征点外的特征点的二维坐标和眼球中心区域特征点在预设三维坐标系中的三维坐标,得到对图像中人脸的眼睛注视点位置的判断结果,利用对图像中人脸眼睛周围更精细信息的学习,可以实现对眼睛状态更准确的判断,从而可以获得更精准的眼睛状态信息。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本发明的实施例,并且连同描述一起用于解释本发明的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
图1为本发明一些实施例的注视点判断方法的流程图;
图2A和图2B为本发明注视点判断方法的一个应用实施例的示意图;
图3为本发明实施例根据预设数据集获取预设数据集中各图像的人脸眼部特征点的坐标的流程图;
图4为本发明实施例根据预设数据集中各图像的人脸眼部特征点的坐标对神经网络进行训练的流程图;
图5为本发明一些实施例的注视点判断装置的结构示意图;
图6为本发明一些实施例的注视点判断装置中获取单元的结构示意图;
图7为本发明一些实施例的电子设备的结构示意图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本发明实施例可以应用于计算机系统/服务器,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
图1为本发明一些实施例的注视点判断方法的流程图,该方法由服务器或者终端设备执行,例如:终端设备包括手机、计算机、车载设备等,如图1所示,该方法包括:
102,获取图像中人脸至少一只眼睛的眼部特征点的二维坐标。
在本发明实施例中,用于进行注视点判断的图像可以是从图像采集设备获取的,也可以是从存储设备获取,例如:图像采集设备可以包括:摄像机、照相机、扫描仪等,存储设备可以包括:硬盘、光盘、软盘等,本发明实施例对进行注视点判断的图像的获取方式不作限定。其中,眼部特征点包括眼球中心区域特征点,可选地,眼部特征点还包括:眼睑线特征点和眼球轮廓特征点,本发明实施例不以此为限。
在一个可选的例子中,由于通常人的双眼是同时注视同一个方向,因此可以通过获取图像中人脸一只眼睛的眼部特征点的二维坐标,来对图像中人脸双眼的注视点进行判断。在另一个可选的例子中,可以通过获取图像中人脸两只眼睛的眼部特征点的二维坐标,来对图像中人脸双眼的注视点进行判断。
可选地,可以通过对图像进行特征提取,获取图像中人脸特征点的二维坐标,然后基于图像中人脸特征点的二维坐标,获取图像中人脸至少一只眼睛的眼部特征点的二维坐标。例如:可以对图像进行特征提取,获取图像中人脸的106个特征点的二维坐标,然后基于这106个特征点的二维坐标,获取图像中人脸至少一只眼睛的眼部特征点的二维坐标。
可选地,可以根据图像中人脸眼睛区域的特征点的二维坐标,从图像中截取包含对应的眼睛区域的矩形图像,然后对矩形图像进行特征提取,获取图像中人脸至少一只眼睛的眼部特征点的二维坐标。
在一个可选的例子中,可以根据图像中人脸一只眼睛区域的特征点的二维坐标,从图像中截取包含对应的眼睛区域的一张矩形图像,然后对矩形图像进行特征提取,获取图像中人脸一只眼睛的眼部特征点的二维坐标。
在另一个可选的例子中,可以根据图像中人脸一只眼睛区域的特征点的二维坐标,从图像中截取包含对应的眼睛区域的一张矩形图像,然后对矩形图像进行镜像处理,对矩形图像和镜像处理后的矩形图像进行特征提取,获取图像中人脸两只眼睛的眼部特征点的二维坐标。
可选地,可以通过神经网络或者其它机器学习的方法对图像进行特征提取。在一个可选的例子中,神经网络可以采用卷积神经网络。本发明实施例对对图像进行特征提取的方法不作限定。
104,基于眼球中心区域特征点的二维坐标,获取图像中的人脸对应的三维人脸模型中对应的眼球中心区域特征点在预设三维坐标系中的三维坐标。
可选地,可以根据图像中的人脸生成对应的三维人脸模型,然后基于眼球中心区域特征点的二维坐标,获取三维人脸模型中对应的眼球中心区域特征点在预设三维坐标系中的三维坐标。可选地,可以预设图像中人脸的关键点,根据图像中人脸的关键点与先验三维人脸模型的关键点之间的对应关系,生成人脸对应的三维人脸模型,例如,多个关键点可以包括脸部外轮廓关键点、眼部关键点、眉毛关键点、嘴唇关键点、鼻子关键点等,本发明实施例对关键点的类型和数量不作限定。
可选地,预设三维坐标系可以根据预设的原则确定,例如:三维坐标系的坐标原点为手机前置摄像头的中心点,三维坐标系的X轴正方向为从坐标原点沿着手机前置摄像头水平向左的方向,三维坐标系的Y轴正方向为从坐标原点沿着手机前置摄像头竖直向上的方向,三维坐标系的Z轴正方向为与手机前置摄像头垂直从坐标原点指向手机前置摄像头外侧的方向。
106,根据眼部特征点中除眼球中心区域特征点外的特征点的二维坐标和眼球中心区域特征点在预设三维坐标系中的三维坐标,得到对图像中人脸的眼睛注视点位置的判断结果。
可选地,可以根据眼部特征点中除眼球中心区域特征点外的特征点的二维坐标和眼球中心区域特征点在预设三维坐标系中的三维坐标,得到图像中人脸眼睛的注视分数,然后将注视分数与预设阈值进行比较,得到对图像中人脸的眼睛注视点位置的判断结果。可选地,根据眼部特征点中除眼球中心区域特征点外的特征点的二维坐标和眼球中心区域特征点在预设三维坐标系中的三维坐标,可以通过神经网络或者其它机器学习的方法,得到图像中人脸眼睛的注视分数。在一个可选的例子中,神经网络可以采用由全连接层和ReLU层组成的简单的网络结构。本发明实施例对获得图像中人脸眼睛的注视分数的方法不作限定。
可选地,在基于眼球中心区域特征点的二维坐标,获取图像中的人脸对应的三维人脸模型中对应的眼球中心区域特征点在预设三维坐标系中的三维坐标之后,还可以按照预设的格式,对眼部特征点中除眼球中心区域特征点外的特征点的二维坐标和眼球中心区域特征点在预设三维坐标系中的三维坐标的格式进行调整,从而根据格式调整后的眼部特征点中除眼球中心区域特征点外的特征点的二维坐标和眼球中心区域特征点在预设三维坐标系中的三维坐标,通过神经网络得到图像中人脸眼睛的注视分数。在一个可选的例子中,格式调整为数据顺序的调整,即对眼部特征点中除眼球中心区域特征点外的特征点的二维坐标和眼球中心区域特征点在预设三维坐标系中的三维坐标的顺序进行调整,使其与对神经网络进行训练时的数据顺序保持一致。
可选地,判断结果可以包括:图像中人脸的眼睛注视点在预设区域内,和图像中人脸的眼睛注视点在预设区域外。通过将注视分数与预设阈值进行比较,根据注视分数大于预设阈值,可以得到图像中人脸的眼睛注视点在预设区域内的判断结果;而根据注视分数小于或等于预设阈值,可以得到图像中人脸的眼睛注视点在预设区域外的判断结果。在一个可选的例子中,预设区域可以包括:屏幕区域的一部分或者全部,即本发明实施例可以用来判断图像中人脸的眼睛注视点是否在屏幕区域内,或者用来判断图像中人脸的眼睛注视点是否在屏幕的特定区域内。
可选地,预设阈值可以包括:真正例率与假正例率的差值,其中,真正例率可以包括:图像中人脸的眼睛注视点在预设区域内时判断正确的例率,假正例率可以包括:图像中人脸的眼睛注视点在预设区域外时判断错误的例率。
可选地,在将注视分数与预设阈值进行比较,得到对图像中人脸的眼睛注视点位置的判断结果之后,还可以根据判断结果,对图像进行相应的处理。在一个可选的例子中,可以响应于图像中人脸的眼睛注视点在预设区域内,按照第一预设展示方式展示图像,可以响应于图像中人脸的眼睛注视点在预设区域外,按照第二预设展示方式展示图像。在一个可选的例子中,第一预设展示方式和第二预设展示方式分别为为展示图像配置不同颜色的边框,例如:如图2A和2B所示,响应于图像中人脸的眼睛注视点在预设区域内,为展示的图像配置红色边框,响应于图像中人脸的眼睛注视点在预设区域外,为展示的图像配置蓝色边框。
可选地,本发明实施例的方法可以用于对图像中人脸的表情进行识别,也可以通过对图像中人脸眼睛注视点位置的判断,确定图像中的人对当前的情况是否知情,以用于终端支付、终端锁定、终端解锁,保证支付、锁定、解锁的安全性。
基于本发明上述实施例提供的注视点判断方法,通过获取图像中人脸至少一只眼睛的眼部特征点的二维坐标,其中,眼部特征点包括眼球中心区域特征点,基于眼球中心区域特征点的二维坐标,获取图像中的人脸对应的三维人脸模型中对应的眼球中心区域特征点在预设三维坐标系中的三维坐标,根据眼部特征点中除眼球中心区域特征点外的特征点的二维坐标和眼球中心区域特征点在预设三维坐标系中的三维坐标,得到对图像中人脸的眼睛注视点位置的判断结果,利用对图像中人脸眼睛周围更精细信息的学习,可以实现对眼睛状态更准确的判断,从而可以获得更精确的眼睛状态信息。
在上述各实施例中,当根据眼部特征点中除眼球中心区域特征点外的特征点的二维坐标和眼球中心区域特征点在预设三维坐标系中的三维坐标,通过神经网络得到对图像中人脸的眼睛注视点位置的判断结果时,由于所采用的神经网络并非传统的神经网络,需要先对该神经网络进行训练,又由于该神经网络的输入并非传统的图像,而是图像中人脸眼部特征点的坐标,因此,在根据预设数据集中的图像对该神经网络进行训练之前,还需要先获取预设数据集中图像的人脸眼部特征点的坐标。
下面将结合图3和图4的实施例,详细描述根据预设数据集获取预设数据集中各图像的人脸眼部特征点的坐标的流程,和根据预设数据集中各图像的人脸眼部特征点的坐标对神经网络进行训练的流程。
应理解,图3和图4所示的例子仅仅是为了帮助本领域技术人员更好地理解本发明的技术方案,而不应理解成对本发明的限定。本领域技术人员可以在图3和图4的基础上进行各种变换,而这种变换也应理解成本发明技术方案的一部分。
如图3所示,该方法包括:
302,获取图像中人脸两只眼睛的眼睑线特征点的二维坐标、眼球轮廓特征点的二维坐标和眼球中心区域特征点的二维坐标。
在本发明实施例中,图像是从预设数据集中获取的,预设数据集中的各图像均标注有图像中人脸的眼睛注视点位置,其中,预设数据集可以采用现有的人脸识别数据集,本发明实施例对此不作限定。
可选地,可以对图像进行特征提取,获取图像中人脸特征点的二维坐标,然后根据图像中人脸一只眼睛区域的特征点的二维坐标,从图像中截取包含对应的眼睛区域的一张矩形图像,并对矩形图像进行镜像处理,对矩形图像和镜像处理后的矩形图像进行特征提取,获取图像中人脸两只眼睛的眼睑线特征点的二维坐标、眼球轮廓特征点的二维坐标和眼球中心区域特征点的二维坐标。
可选地,可以通过神经网络或者其它机器学习的方法对图像进行特征提取。在一个可选的例子中,神经网络可以采用卷积神经网络。本发明实施例对对图像进行特征提取的方法不作限定。例如:可以通过神将网络对图像进行特征提取,获取图像中人脸的106个特征点的二维坐标。
304,基于眼球中心区域特征点的二维坐标,获取图像中的人脸对应的三维人脸模型中两只眼睛的眼球中心区域特征点在预设三维坐标系中的三维坐标。
可选地,可以根据图像中的人脸生成对应的三维人脸模型,然后基于眼球中心区域特征点的二维坐标,获取三维人脸模型中对应的眼球中心区域特征点在预设三维坐标系中的三维坐标。可选地,可以预设图像中人脸的关键点,根据图像中人脸的关键点与先验三维人脸模型的关键点之间的对应关系,生成人脸对应的三维人脸模型,例如,多个关键点可以包括脸部外轮廓关键点、眼部关键点、眉毛关键点、嘴唇关键点、鼻子关键点等,本发明实施例对关键点的类型和数量不作限定。
可选地,在基于眼球中心区域特征点的二维坐标,获取图像中的人脸对应的三维人脸模型中两只眼睛的眼球中心区域特征点在预设三维坐标系中的三维坐标之后,还可以按照预设的格式,将眼睑线特征点的二维坐标、眼球轮廓特征点的二维坐标和眼球中心区域特征点在预设三维坐标系中的三维坐标存处于文件中。在一个可选的例子中,预设的格式可以为眼睑线特征点的二维坐标、眼球轮廓特征点的二维坐标和眼球中心区域特征点在预设三维坐标系中的三维坐标的顺序。
可选地,在将眼睑线特征点的二维坐标、眼球轮廓特征点的二维坐标和眼球中心区域特征点在预设三维坐标系中的三维坐标存储于文件中时,可以将预设数据集中各图像人脸眼部特征点的坐标分为测试集和训练集,以分别用来对神经网络进行训练和测试。
如图4所示,该方法包括:
402,根据训练集中的训练样本的眼睑线特征点的二维坐标、眼球轮廓特征点的二维坐标和眼球中心区域特征点在预设三维坐标系中的三维坐标,通过神经网络得到对图像中人脸的眼睛注视点位置的判断结果与训练样本对应的图像标注的图像中人脸的眼睛注视点位置之间的损失,并基于该损失通过反向传播更新神经网络的参数。
在本发明实施例中,可以根据预设数据集中的图像获得的训练集中的训练样本,其中,训练集中的各训练样本由眼睑线特征点的二维坐标、眼球轮廓特征点的二维坐标和眼球中心区域特征点在预设三维坐标系中的三维坐标组成,预设数据集中的各图像均标注有图像中人脸的眼睛注视点位置,预设数据集可以采用现有的人脸识别数据集,本发明实施例对此不作限定。
在一个可选的例子中,神经网络可以采用由全连接层和ReLU层组成的简单的网络结构。可选地,可以采用梯度下降法等神经网络的训练方法对神经网络进行训练,本发明实施例对此不作限定。
404,在经过预设次数对神经网络的训练后,根据测试集中的测试样本的眼睑线特征点的二维坐标、眼球轮廓特征点的二维坐标和眼球中心区域特征点在预设三维坐标系中的三维坐标,通过神经网络得到对图像中人脸的眼睛注视点位置的判断结果的准确率,根据该准确率停止对神经网络的训练。
在本发明实施例中,可以根据预设数据集中的图像获得的测试集中的测试样本,其中,测试集中的各测试样本由眼睑线特征点的二维坐标、眼球轮廓特征点的二维坐标和眼球中心区域特征点在预设三维坐标系中的三维坐标组成,预设数据集中的各图像均标注有图像中人脸的眼睛注视点位置,测试集和训练集可以根据同一个预设数据集获得,也可以根据不同的预设数据集获得,本发明实施例对此不作限定,预设数据集可以采用现有的人脸识别数据集,本发明实施例对此不作限定。
可选地,由于神经网络的任务比较简单,很容易出现过拟合的现象,当通过训练集获得的损失不变,而通过测试集获得的准确率开始上升时,可以提前终止网络的训练。
在上述各实施例中,在完成对神经网络的训练后,可以根据测试集确定对图像中人脸的眼睛注视点位置判断的预设阈值。
可以通过将测试样本输入神经网络,获取神经网络对各测试样本对应的图像的注视分数,然后将各注视分数与对应的图像的标注做比较,将注视分数大于当前阈值确定为注视预设区域,将注视分数小于或等于当前阈值确定为非注视预设区域,并以True_positive表示分数大于当前阈值且标记为正(注视),以False_negative表示分数小于或等于当前阈值且标记为正(注视),以False_positive表示分数大于当前阈值且标记为负(非注视),以True_negative表示分数小于或等于当前阈值且标记为负(非注视)对各测试样本得到的结果进行记录,并根据记录的结果得到真正例率(True positive rate,Tpr)和假正例率(False positive rate,Fpr),其中Tpr=True_positive/(True_positive+False_negative),表示图像中人脸的眼睛注视预设区域时判断正确的例率,Fpr=False_positive/(True_negative+False_positive),表示图像中人脸的眼睛非注视预设区域时判断错误的例率,取最大的Mx=Tpr-Fpr时候的阈值作为预设阈值,并存储总准确率。
图5为本发明一些实施例的注视点判断装置的结构示意图,该装置设置于服务器或者终端设备执行,例如:终端设备包括手机、计算机、车载设备等,如图5所示,该装置包括:获取单元510和判断单元520。其中,
获取单元510,用于获取图像中人脸至少一只眼睛的眼部特征点的二维坐标。
在本发明实施例中,用于进行注视点判断的图像可以是从图像采集设备获取的,也可以是从存储设备获取,例如:图像采集设备可以包括:摄像机、照相机、扫描仪等,存储设备可以包括:硬盘、光盘、软盘等,本发明实施例对进行注视点判断的图像的获取方式不作限定。其中,眼部特征点包括眼球中心区域特征点,可选地,眼部特征点还包括:眼睑线特征点和眼球轮廓特征点,本发明实施例不以此为限。
在一个可选的例子中,由于通常人的双眼是同时注视同一个方向,因此获取单元510可以通过获取图像中人脸一只眼睛的眼部特征点的二维坐标,来对图像中人脸双眼的注视点进行判断。在另一个可选的例子中,获取单元510可以通过获取图像中人脸两只眼睛的眼部特征点的二维坐标,来对图像中人脸双眼的注视点进行判断。
可选地,获取单元510可以通过对图像进行特征提取,获取图像中人脸特征点的二维坐标,然后基于图像中人脸特征点的二维坐标,获取图像中人脸至少一只眼睛的眼部特征点的二维坐标。例如:获取单元510可以对图像进行特征提取,获取图像中人脸的106个特征点的二维坐标,然后基于这106个特征点的二维坐标,获取图像中人脸至少一只眼睛的眼部特征点的二维坐标。
可选地,如图6所示,获取单元510可以包括:截取子单元511和提取子单元512。其中,截取子单元511可以根据图像中人脸眼睛区域的特征点的二维坐标,从图像中截取包含对应的眼睛区域的矩形图像,提取子单元512可以对矩形图像进行特征提取,获取图像中人脸至少一只眼睛的眼部特征点的二维坐标。
在一个可选的例子中,截取子单元511可以根据图像中人脸一只眼睛区域的特征点的二维坐标,从图像中截取包含对应的眼睛区域的一张矩形图像,提取子单元512可以对矩形图像进行特征提取,获取图像中人脸一只眼睛的眼部特征点的二维坐标。
在另一个可选的例子中,获取单元510还包括:镜像子单元513,截取子单元511可以根据图像中人脸一只眼睛区域的特征点的二维坐标,从图像中截取包含对应的眼睛区域的一张矩形图像,镜像子单元513可以对矩形图像进行镜像处理;提取子单元512可以对矩形图像和镜像处理后的矩形图像进行特征提取,获取图像中人脸两只眼睛的眼部特征点的二维坐标。
可选地,可以通过神经网络或者其它机器学习的方法对图像进行特征提取。在一个可选的例子中,神经网络可以采用卷积神经网络。本发明实施例对对图像进行特征提取的方法不作限定。
获取单元510,还用于基于眼球中心区域特征点的二维坐标,获取图像中的人脸对应的三维人脸模型中对应的眼球中心区域特征点在预设三维坐标系中的三维坐标。
可选地,获取单元510可以根据图像中的人脸生成对应的三维人脸模型,然后基于眼球中心区域特征点的二维坐标,获取三维人脸模型中对应的眼球中心区域特征点在预设三维坐标系中的三维坐标。可选地,可以预设图像中人脸的关键点,获取单元510根据图像中人脸的关键点与先验三维人脸模型的关键点之间的对应关系,生成人脸对应的三维人脸模型,例如,多个关键点可以包括脸部外轮廓关键点、眼部关键点、眉毛关键点、嘴唇关键点、鼻子关键点等,本发明实施例对关键点的类型和数量不作限定。
可选地,预设三维坐标系可以根据预设的原则确定,例如:三维坐标系的坐标原点为手机前置摄像头的中心点,三维坐标系的X轴正方向为从坐标原点沿着手机前置摄像头水平向左的方向,三维坐标系的Y轴正方向为从坐标原点沿着手机前置摄像头竖直向上的方向,三维坐标系的Z轴正方向为与手机前置摄像头垂直从坐标原点指向手机前置摄像头外侧的方向。
判断单元520,用于根据眼部特征点中除眼球中心区域特征点外的特征点的二维坐标和眼球中心区域特征点在预设三维坐标系中的三维坐标,得到对图像中人脸的眼睛注视点位置的判断结果。
可选地,判断单元520可以根据眼部特征点中除眼球中心区域特征点外的特征点的二维坐标和眼球中心区域特征点在预设三维坐标系中的三维坐标,得到图像中人脸眼睛的注视分数,然后将注视分数与预设阈值进行比较,得到对图像中人脸的眼睛注视点位置的判断结果。可选地,判断单元520根据眼部特征点中除眼球中心区域特征点外的特征点的二维坐标和眼球中心区域特征点在预设三维坐标系中的三维坐标,可以通过神经网络或者其它机器学习的方法,得到图像中人脸眼睛的注视分数。在一个可选的例子中,神经网络可以采用由全连接层和ReLU层组成的简单的网络结构。本发明实施例对获得图像中人脸眼睛的注视分数的方法不作限定。
可选地,该装置还包括调整单元,在获取单元510基于眼球中心区域特征点的二维坐标,获取图像中的人脸对应的三维人脸模型中对应的眼球中心区域特征点在预设三维坐标系中的三维坐标之后,调整单元可以按照预设的格式,对眼部特征点中除眼球中心区域特征点外的特征点的二维坐标和眼球中心区域特征点在预设三维坐标系中的三维坐标的格式进行调整,从而判断单元520可以根据格式调整后的眼部特征点中除眼球中心区域特征点外的特征点的二维坐标和眼球中心区域特征点在预设三维坐标系中的三维坐标,通过神经网络得到图像中人脸眼睛的注视分数。在一个可选的例子中,格式调整为数据顺序的调整,即对眼部特征点中除眼球中心区域特征点外的特征点的二维坐标和眼球中心区域特征点在预设三维坐标系中的三维坐标的顺序进行调整,使其与对神经网络进行训练时的数据顺序保持一致。
可选地,判断结果可以包括:图像中人脸的眼睛注视点在预设区域内,和图像中人脸的眼睛注视点在预设区域外。判断单元520通过将注视分数与预设阈值进行比较,根据注视分数大于预设阈值,可以得到图像中人脸的眼睛注视点在预设区域内的判断结果;而根据注视分数小于或等于预设阈值,可以得到图像中人脸的眼睛注视点在预设区域外的判断结果。在一个可选的例子中,预设区域可以包括:屏幕区域的一部分或者全部,即本发明实施例可以用来判断图像中人脸的眼睛注视点是否在屏幕区域内,或者用来判断图像中人脸的眼睛注视点是否在屏幕的特定区域内。
可选地,预设阈值可以包括:真正例率与假正例率的差值,其中,真正例率可以包括:图像中人脸的眼睛注视点在预设区域内时判断正确的例率,假正例率可以包括:图像中人脸的眼睛注视点在预设区域外时判断错误的例率。
可选地,该装置还包括:处理单元。处理单元在将注视分数与预设阈值进行比较,得到对图像中人脸的眼睛注视点位置的判断结果之后,还可以根据判断结果,对图像进行相应的处理。在一个可选的例子中,处理单元可以响应于图像中人脸的眼睛注视点在预设区域内,按照第一预设展示方式展示图像,可以响应于图像中人脸的眼睛注视点在预设区域外,按照第二预设展示方式展示图像。在一个可选的例子中,第一预设展示方式和第二预设展示方式分别为为展示图像配置不同颜色的边框,例如:如图2A和2B所示,处理单元响应于图像中人脸的眼睛注视点在预设区域内,为展示的图像配置红色边框,响应于图像中人脸的眼睛注视点在预设区域外,为展示的图像配置蓝色边框。
可选地,本发明实施例的装置可以用于对图像中人脸的表情进行识别,也可以通过对图像中人脸眼睛注视点位置的判断,确定图像中的人对当前的情况是否知情,以用于终端支付、终端锁定、终端解锁,保证支付、锁定、解锁的安全性。
基于本发明上述实施例提供的注视点判断装置,通过获取图像中人脸至少一只眼睛的眼部特征点的二维坐标,其中,眼部特征点包括眼球中心区域特征点,基于眼球中心区域特征点的二维坐标,获取图像中的人脸对应的三维人脸模型中对应的眼球中心区域特征点在预设三维坐标系中的三维坐标,根据眼部特征点中除眼球中心区域特征点外的特征点的二维坐标和眼球中心区域特征点在预设三维坐标系中的三维坐标,得到对图像中人脸的眼睛注视点位置的判断结果,利用对图像中人脸眼睛周围更精细信息的学习,可以实现对眼睛状态更准确的判断,从而可以获得更精确的眼睛状态信息。
本发明实施例还提供了一种电子设备,例如可以是移动终端、个人计算机(PC)、平板电脑、服务器等。下面参考图7,其示出了适于用来实现本申请实施例的终端设备或服务器的电子设备700的结构示意图:如图7所示,电子设备700包括一个或多个处理器、通信部等,所述一个或多个处理器例如:一个或多个中央处理单元(CPU)701,和/或一个或多个加速单元713等,加速单元713可包括但不限于GPU、FPGA、其他类型的专用处理器等,处理器可以根据存储在只读存储器(ROM)702中的可执行指令或者从存储部分708加载到随机访问存储器(RAM)703中的可执行指令而执行各种适当的动作和处理。通信部712可包括但不限于网卡,所述网卡可包括但不限于IB(Infiniband)网卡,处理器可与只读存储器702和/或随机访问存储器703中通信以执行可执行指令,通过总线704与通信部712相连、并经通信部712与其他目标设备通信,从而完成本申请实施例提供的任一项方法对应的操作,例如,获取图像中人脸至少一只眼睛的眼部特征点的二维坐标,其中,所述眼部特征点包括眼球中心区域特征点;基于所述眼球中心区域特征点的二维坐标,获取所述图像中的所述人脸对应的三维人脸模型中对应的眼球中心区域特征点在预设三维坐标系中的三维坐标;根据所述眼部特征点中除所述眼球中心区域特征点外的特征点的二维坐标和所述眼球中心区域特征点在预设三维坐标系中的三维坐标,得到对所述图像中所述人脸的眼睛注视点位置的判断结果。
此外,在RAM 703中,还可存储有装置操作所需的各种程序和数据。CPU701、ROM702以及RAM703通过总线704彼此相连。在有RAM703的情况下,ROM702为可选模块。RAM703存储可执行指令,或在运行时向ROM702中写入可执行指令,可执行指令使中央处理单元701执行上述通信方法对应的操作。输入/输出(I/O)接口705也连接至总线704。通信部712可以集成设置,也可以设置为具有多个子模块(例如多个IB网卡),并在总线链接上。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
需要说明的,如图7所示的架构仅为一种可选实现方式,在具体实践过程中,可根据实际需要对上述图7的部件数量和类型进行选择、删减、增加或替换;在不同功能部件设置上,也可采用分离设置或集成设置等实现方式,例如加速单元713和CPU701可分离设置或者可将加速单元713集成在CPU701上,通信部712可分离设置,也可集成设置在CPU701或加速单元713上,等等。这些可替换的实施方式均落入本发明公开的保护范围。
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的方法的程序代码,程序代码可包括对应执行本申请实施例提供的方法步骤对应的指令,例如,获取图像中人脸至少一只眼睛的眼部特征点的二维坐标,其中,所述眼部特征点包括眼球中心区域特征点;基于所述眼球中心区域特征点的二维坐标,获取所述图像中的所述人脸对应的三维人脸模型中对应的眼球中心区域特征点在预设三维坐标系中的三维坐标;根据所述眼部特征点中除所述眼球中心区域特征点外的特征点的二维坐标和所述眼球中心区域特征点在预设三维坐标系中的三维坐标,得到对所述图像中所述人脸的眼睛注视点位置的判断结果。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本申请的方法中限定的上述功能。
在一个或多个可选实施方式中,本发明实施例还提供了一种计算机程序程序产品,用于存储计算机可读指令,该指令被执行时使得计算机执行上述任一可能的实现方式中的注视点判断方法。
该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选例子中,该计算机程序产品具体体现为计算机存储介质,在另一个可选例子中,该计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
在一个或多个可选实施方式中,本发明实施例还提供了一种注视点判断方法及其对应的装置、电子设备、计算机存储介质、计算机程序以及计算机程序产品,其中,该方法包括:第一装置向第二装置发送注视点判断指示,该指示使得第二装置执行上述任一可能的实施例中的注视点判断方法;第一装置接收第二装置发送的注视点判断的结果。
在一些实施例中,该注视点判断指示可以具体为调用指令,第一装置可以通过调用的方式指示第二装置执行注视点判断,相应地,响应于接收到调用指令,第二装置可以执行上述注视点判断方法中的任意实施例中的步骤和/或流程。
应理解,本发明实施例中的“第一”、“第二”等术语仅仅是为了区分,而不应理解成对本发明实施例的限定。
还应理解,在本发明中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本发明中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
还应理解,本发明对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
可能以许多方式来实现本发明的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。