眼球数据处理方法、装置、计算机设备及存储介质与流程

文档序号:30618931发布日期:2022-07-02 01:52阅读:180来源:国知局
眼球数据处理方法、装置、计算机设备及存储介质与流程

1.本技术涉及计算机技术领域,尤其涉及一种眼球数据处理方法、装置、计算机设备及存储介质。


背景技术:

2.随着网络技术的不断发展,虚拟人技术在3d游戏、3d影视作品、短视频等领域的人物人脸重建中得以广泛应用。然而,在虚拟人技术中,重建出来的人脸并不包括眼球,从而使得虚拟人的真实性有待提升。为了能够更好的提升虚拟人的真实性,生成更加美观的结果,需要将虚拟眼球挂在重建出来的3d人脸上。即针对一个虚拟人脸的三维模型和一个虚拟眼球的三维模型,要实现虚拟眼球与虚拟人脸的眼眶的匹配。
3.目前,实现虚拟眼球与虚拟人脸的眼眶的匹配方法主要是通过虚拟人脸中眼角和上下眼眶的点的3d坐标,近似估算出虚拟眼球所在x,y两个坐标轴上的位置,然后不断调整z方向的值,直到出现穿模的现象。然而,该方法通过不断尝试调整z方向数值的方式效率较低,并且虚拟眼球与虚拟人脸的眼眶的贴合度较差,使得虚拟人的真实性降低。


技术实现要素:

4.本技术实施例提供了一种眼球数据处理方法、装置、计算机设备及存储介质,可快速准确的使虚拟眼球与虚拟人脸的眼眶相匹配,从而提升虚拟人的真实性。
5.第一方面,本技术实施例提供了一种眼球数据处理方法,该方法包括:
6.从第一虚拟人脸的点云中获取所述第一虚拟人脸的眼眶对应的第一关键点集合;
7.从虚拟眼球的点云中获取所述第一关键点集合对应的第二关键点集合;
8.基于所述第一关键点集合中各个关键点在所述第一虚拟人脸的点云中的坐标和所述第二关键点集合中各个关键点在所述虚拟眼球的点云中的坐标,确定第一调整参数,所述第一调整参数用于调整所述虚拟眼球的点云,以使得所述虚拟眼球与所述第一虚拟人脸的眼眶匹配。
9.第二方面,本技术实施例提供了一种眼球数据处理装置,该装置包括:
10.获取模块,用于从第一虚拟人脸的点云中获取所述第一虚拟人脸的眼眶对应的第一关键点集合;
11.获取模块,还用于从虚拟眼球的点云中获取所述第一关键点集合对应的第二关键点集合;
12.处理模块,用于基于所述第一关键点集合中各个关键点在所述第一虚拟人脸的点云中的坐标和所述第二关键点集合中各个关键点在所述虚拟眼球的点云中的坐标,确定第一调整参数,所述第一调整参数用于调整所述虚拟眼球的点云,以使得所述虚拟眼球与所述第一虚拟人脸的眼眶匹配。
13.第三方面,本技术实施例提供了一种计算机设备,该计算机设备包括处理器、通信接口和存储器,该处理器、通信接口和存储器相互连接,其中,该存储器存储有计算机程序,
该处理器用于调用该计算机程序,执行本技术实施例提供的眼球数据处理方法。
14.第四方面,本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现本技术实施例提供的眼球数据处理方法。
15.第五方面,本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。终端的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该终端执行本技术实施例提供的眼球数据处理方法。
16.本技术实施例中,计算机设备从第一虚拟人脸的点云中获取第一虚拟人脸的眼眶对应的第一关键点集合;从虚拟眼球的点云中获取第一关键点集合对应的第二关键点集合;基于第一关键点集合中各个关键点在第一虚拟人脸的点云中的坐标和第二关键点集合中各个关键点在虚拟眼球的点云中的坐标,确定第一调整参数,第一调整参数用于调整虚拟眼球的点云,以使得虚拟眼球与第一虚拟人脸的眼眶匹配。采用本技术实施例,根据调整参数对虚拟眼球的点云进行自适应调整,不但提高了眼球与眼眶的匹配效率,而且可使虚拟眼球与虚拟人脸的眼眶更加匹配,从而提升了虚拟人的真实性。
附图说明
17.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1是本技术实施例提供的一种眼球数据处理方案的示意图;
19.图2是本技术实施例提供的一种眼球数据处理方法的流程示意图;
20.图3是本技术实施例提供的一种第一虚拟人脸的示意图;
21.图4是本技术实施例提供的一种虚拟眼球的示意图;
22.图5是本技术实施例提供的眼球与眼眶的匹配效果示意图;
23.图6是本技术实施例提供的一种眼球数据处理装置的示意图;
24.图7是本技术实施例提供的一种计算机设备的示意图。
具体实施方式
25.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
26.为了便于理解本技术实施例,下面对本技术的眼球数据处理方法进行描述。
27.为了提升虚拟人的真实性,本技术实施例提供了一种眼球数据处理方案。请参见图1,图1是本技术实施例提供的一种眼球数据处理方案的示意图,下面结合图1对本技术实施例提出的眼球数据处理方案的大致实施过程进行阐述:首先,计算机设备101会获取第一虚拟人脸102和虚拟眼球103,响应于用户针对虚拟眼球103和第一虚拟人脸102的操作指
令,将虚拟眼球103挂载在第一虚拟人脸102的眼眶上;其次,计算机设备在第一虚拟人脸102的眼眶周围进行点采样,从第一虚拟人脸102的点云中获取第一虚拟人脸102的眼眶对应的第一关键点集合(即眼眶上的关键点集合,或者称为target),以及从虚拟眼球103的点云中获取第一关键点集合对应的第二关键点集合(即虚拟眼球上的关键点集合,或者称为source);然后,计算机设备101基于第一关键点集合中各个关键点在第一虚拟人脸102的点云中的坐标和第二关键点集合中各个关键点在虚拟眼球103的点云中的坐标,确定虚拟眼球103的点云变换到第一虚拟人脸的眼眶的点云上的旋转量r、平移量t以及缩放量s等调整参数;最后,根据r、t、s对虚拟眼球103的点云包括的各个点云点进行调整,以使得虚拟眼球103的点云与第一虚拟人脸102的眼眶的点云对齐。
28.经实践表明,本技术实施例所提出的眼球数据处理方案可具有如下有益效果:

通过获取第一虚拟人脸的眼眶对应的第一关键点集合和虚拟眼球中与第一关键点集合相对应的第二关键点集合,并基于第一关键点集合中各个关键点的坐标和第二关键点集合中各个关键点的坐标,确定第一调整参数,从而根据第一调整参数可以非常完美的将任意位置的虚拟眼球与任意位置的虚拟人脸的眼眶进行结合,不会出现穿模问题,进而提升了虚拟人的真实性,有更好的用户体验。

由于第一调整参数中包括旋转量、平移量以及缩放量中的一种或多种,因此该方案可应对不同虚拟人的眼眶大小不一样的情况,可基于缩放量使得虚拟眼球完美的与虚拟人的眼眶相贴合。

可以更加高效,快速的完成虚拟眼球与虚拟人脸的眼眶的匹配,生成更加美观的结果,使其更容易用于相应产品中,提高产品的用户体验。
29.需要说明的是:在具体实现中,上述方案可由计算机设备执行,该计算机设备可以是终端或者服务器;其中,此处所提及的终端可以包括但不限于:智能手机、平板电脑、笔记本电脑、台式计算机、智能手表、智能电视、智能车载终端等;终端内可运行各式各样的客户端(application,app),如视频播放客户端、社交客户端、浏览器客户端、信息流客户端、教育客户端,等等。此处所提及的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器,等等。并且,本技术实施例所提及的计算机设备可以位于区块链网络外,也可以位于区块链网络内,对此不作限定;所谓的区块链网络是一种由点对点网络(p2p网络)和区块链所构成的网络,而区块链则是指一种分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,其本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块(或称为区块)。
30.本技术实施例提供的眼球数据处理方法可以基于人工智能(artificial intelligence,ai)技术实现。人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,其涉及的领域较为广泛,既有硬件层面的技术也有软件层面的技术ai基础
技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
31.本技术实施例提供的眼球数据处理方法主要涉及ai技术中的计算机视觉技术(computer vision,cv)。计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟随和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3d技术、虚拟现实、增强现实、同步定位与地图构建等技术。
32.需要说明的是,本技术可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等。
33.基于上述方案,本技术实施例提出了一种眼球数据处理方法,请参见图2,图2是本技术实施例提供的一种眼球数据处理方法的流程示意图。该方法由计算机设备来执行,如图2所示,该眼球数据处理方法可包括如下步骤s201-s203:
34.s201、从第一虚拟人脸的点云中获取第一虚拟人脸的眼眶对应的第一关键点集合。
35.点云是指目标表面特性的海量点集合,第一虚拟人脸的点云即为第一虚拟人脸表面的所有点云点的集合。
36.第一关键点集合为第一虚拟人脸的眼眶对应的关键点的集合。其中,关键点与局部特征描述子结合在一起组成关键点描述子,常用来表示原始数据,具有代表性和描述性。使用关键点可加快后续对数据的处理速度。
37.在一种可选的实施方式中,计算机设备从第一虚拟人脸的点云中获取第一虚拟人脸的眼眶对应的第一关键点集合包括:从第一虚拟人脸对应的目标拓扑结构中获取第一虚拟人脸的眼眶对应的关键点的标识信息,该目标拓扑结构包括第一虚拟人脸中各个部位对应的关键点的标识信息;基于眼眶对应的关键点的标识信息从第一虚拟人脸的点云中获取眼眶对应的第一关键点集合,该第一关键点集合包括所述眼眶对应的关键点的标识信息。
38.可以理解的是,3d建模里拓扑指的是多边形网格模型的点线面布局、结构以及连接情况。上述目标拓扑结构指的即为第一虚拟人脸模型的点线面布局、结构以及连接情况,其指示了虚拟人脸(如第一虚拟人脸、第二虚拟人脸等)中各个部位对应的关键点的标识信息,例如眼眶关键点的标识信息、鼻子关键点的标识信息、嘴巴关键点的标识信息等。
39.以上述的第一虚拟人脸为例,假设第一虚拟人脸对应的目标拓扑结构中包括100个关键点,记为a1、a2、a3、

、a
100
,其中1、2、

、100为每个关键点的标识信息(或者称为关键点的下标)。计算机设备可从这100个关键点中获取第一虚拟人脸的眼眶对应的n个(例如是20个)关键点的下标(例如是51、52、

、70);基于眼眶对应的这20个关键点的下标可从第一虚拟人脸的点云中获取眼眶对应的这20个关键点的集合,该集合包括眼眶对应的这20个关键点的下标,记为index-t。请参见图3,图3为本技术实施例提供的一种第一虚拟人脸的示意图。图3中,黑点即为第一虚拟人脸的眼眶的关键点。
40.在一种可选的实施方式中,计算机设备可通过点云关键点提取算法从第一虚拟人脸的点云中获取第一虚拟人脸的眼眶对应的第一关键点集合。其中。点云关键点提取算法包括但不限于尺度不变特征变换(scale-invariant feature transform,sift)算法,harris关键点提取算法,内部形状描述子(intrinsic shape signatures,iss)算法等。
41.s202、从虚拟眼球的点云中获取第一关键点集合对应的第二关键点集合。
42.第二关键点集合为虚拟眼球对应的关键点集合,其中,虚拟眼球对应的关键点与第一虚拟人脸的眼眶对应的关键点相对应。
43.可选地,在从虚拟眼球的点云中获取第一关键点集合对应的第二关键点集合之前,用户可手动将虚拟眼球挂载在第一虚拟人脸的眼眶上。可选地,计算机设备可获取虚拟眼球在第一虚拟人脸的眼眶中的初始位置,并将该初始位置进行存储。
44.在一种可选的实施方式中,计算机设备从虚拟眼球的点云中获取第一关键点集合对应的第二关键点集合包括:获取虚拟眼球的点云包括的至少一个顶点;根据至少一个顶点与第一关键点集合包括的关键点之间的距离,从至少一个顶点中确定第一关键点集合对应的第二关键点集合。
45.在一种可选的实施方式中,计算机设备根据至少一个顶点与第一关键点集合包括的关键点之间的距离,从至少一个顶点中确定第一关键点集合对应的第二关键点集合包括:针对第一关键点集合中的任一关键点,基于至少一个顶点中每个顶点的坐标以及所述任一关键点的坐标,确定每个顶点与任一关键点的距离;获取与任一关键点的距离最小的目标顶点;将目标顶点作为任一关键点在第二点云中对应的关键点,并将目标顶点添加到第一关键点集合对应的第二关键点集合中。
46.可选的,计算机设备可利用k最近邻(k-nearestneighbor,knn)算法,寻找n个眼眶关键点在虚拟眼球的点云中对应的第二关键点集合,记为集合t。
47.其中,利用knn算法寻找眼眶关键点对应的虚拟眼球的关键点的流程如下:
48.[0049][0050]
计算机设备通过上述方法即可求得眼眶关键点对应的虚拟眼球的点云中的关键点的下标集合,记为index-s。请参见图4,图4为本技术实施例提供的一种虚拟眼球关键点的示意图。图4中,黑点即是虚拟眼球的关键点。
[0051]
s203、基于第一关键点集合中各个关键点在第一虚拟人脸的点云中的坐标和第二关键点集合中各个关键点在虚拟眼球的点云中的坐标,确定第一调整参数,第一调整参数用于调整虚拟眼球的点云,以使得虚拟眼球与第一虚拟人脸的眼眶匹配。
[0052]
在一种可选的实施方式中,计算机设备可根据index-s从虚拟眼球的点云中获得虚拟眼球对应的关键点的坐标,用来表示初始眼球的3d坐标(aj、bj、cj),记为source;根据index-s从第一虚拟人脸的点云中获得眼眶对应的关键点的坐标,用来表示初始虚拟人脸眼眶的3d坐标(xi、yi、zi),记为target。
[0053]
在一种可选的实施方式中,计算机设备基于第一关键点集合中各个关键点在第一虚拟人脸的点云中的坐标和第二关键点集合中各个关键点在虚拟眼球的点云中的坐标,确定第一调整参数包括:调用迭代最近点方法对第一关键点集合中各个关键点在第一虚拟人脸的点云中的坐标和第二关键点集合中各个关键点在虚拟眼球点云中的坐标进行对齐处理,得到第一调整参数,该第一调整参数包括旋转量r、平移量t以及缩放量s中的一种或多种。
[0054]
其中,迭代最近点(iterative closest points,icp)算法是最为经典的点云配准算法。其包括两个部分:对应点搜索和位姿求解。使用该算法可寻求点集之间的匹配关系,其求解的结果是两个点集之间的平移及旋转量。可选地,计算机设备可以利用icp算法,通过求取虚拟眼球点云和虚拟人脸的眼眶点云之间的k个对应关系点对,计算刚体变换ti,使得k对匹配点的距离之和最小。利用所求矩阵,将虚拟眼球点云变换到虚拟人脸的眼眶点云的坐标系下,估计变换后虚拟眼球点云与虚拟人脸的眼眶点云的误差函数。如果误差大于阈值,那么继续迭代,直到满足给定误差要求为止。也就是说,每次迭代,整个模型都会靠近一点,每次重新找到最近点,然后计算旋转平移矩阵,比较方差误差,不满足就继续迭代。最后,获得虚拟眼球点云变换到虚拟人脸的眼眶点云的调整参数。
[0055]
在一种可选的实施方式中,计算机设备在得到第一调整参数之后,可根据第一调整参数对虚拟眼球的点云包括的各个点云点进行调整,以使得虚拟眼球的点云与第一虚拟人脸的眼眶的点云对齐。
[0056]
在一种可选的实施方式中,一个虚拟眼球对应一组第一调整参数(即r、t、s)。可选地,计算机设备根据第一调整参数对虚拟眼球的点云包括的各个点云点进行调整可以是对第一调整参数和虚拟眼球的点云包括的各个点云点进行乘法运算。
[0057]
本技术实施例中,由于调整参数中包括了缩放量,因此,在针对不同虚拟人脸的眼眶大小不一致的情况下,可基于缩放量来对虚拟眼球的点云进行调整,更好的将虚拟眼球的点云与虚拟人脸的眼眶的点云对齐。且通过使用调整参数将虚拟眼球的点云与虚拟人脸
的眼眶的点云对齐,可有效的避免虚拟眼球与虚拟人脸的眼眶周围出现穿模的问题。
[0058]
在一种可选的实施方式中,计算机设备还可获取第二虚拟人脸;若第二虚拟人脸与第一虚拟人脸对应同一拓扑结构,则基于第一关键点集合中各个关键点在第二虚拟人脸的点云中的坐标和第二关键点集合中各个关键点在虚拟眼球的点云中的坐标,确定第二调整参数。其中,第二调整参数用于调整虚拟眼球的点云,以使得虚拟眼球与第二虚拟人脸的眼眶匹配。
[0059]
由于同一拓扑结构中的3d点的标识信息相同,其表示的语义信息也相同,因此,当第二虚拟人脸与第一虚拟人脸对应同一拓扑结构时,可直接使用从第一虚拟人脸的点云中获取到的第一虚拟人脸的眼眶对应的第一关键点集合作为第二虚拟人脸的眼眶对应的关键点集合。例如,以一个关键点a
30
为例,假设第一虚拟人脸对应的拓扑结构中的点a
30
表示的是第一虚拟人脸的左眼角,那么,当第二虚拟人脸与第一虚拟人脸对应同一拓扑结构时,点a
30
表示的也是第二虚拟人脸的左眼角。也就是说,针对任何一个与第一虚拟人脸具有相同拓扑结构的虚拟人脸,其眼眶对应的关键点的标识信息是不变的。
[0060]
该实施方式中,计算机设备基于第一关键点集合中各个关键点在第二虚拟人脸的点云中的坐标和第二关键点集合中各个关键点在虚拟眼球的点云中的坐标,确定第二调整参数包括:调用迭代最近点方法对第一关键点集合中各个关键点在第二虚拟人脸的点云中的坐标和第二关键点集合中各个关键点在虚拟眼球点云中的坐标进行对齐处理,得到第二调整参数。
[0061]
该实施方式中,计算机设备还可根据第二调整参数,对虚拟眼球的点云包括的各个点云点进行调整,以使得虚拟眼球的点云与第二虚拟人脸的眼眶的点云对齐。
[0062]
在一种可选的实施方式中,计算机设备还可获取在基于第一调整参数调整虚拟眼球的点云之前,虚拟眼球在第一虚拟人脸的眼眶中的初始位置;基于初始位置将虚拟眼球添加到第二虚拟人脸的眼眶中。
[0063]
由前述可知,计算机设备已存储了虚拟眼球在第一虚拟人脸的眼眶中的初始位置。那么,当第二虚拟人脸与第一虚拟人脸对应同一拓扑结构时,计算机设备可调用所存储的初始位置;基于该初始位置将虚拟眼球直接添加到第二虚拟人脸的眼眶中。这样,无需用户再次手动将虚拟眼球挂载在第二虚拟人脸中,可提升挂载虚拟眼球的效率。
[0064]
可以理解的是,当多个虚拟人脸对应同一个拓扑结构时,计算机设备只需要执行一次步骤s501和步骤s502。即针对任何一个与第一虚拟人脸具有相同拓扑的其他虚拟人脸和与虚拟眼球具有相同拓扑结构的虚拟眼球,计算机设备可基于第一关键点集合中各个关键点在其他虚拟人脸的点云中的坐标和第二关键点集合中各个关键点在虚拟眼球的点云中的坐标,确定不同的调整参数。从而根据调整参数,对虚拟眼球的点云包括的各个点云点进行自适应调整,以使得虚拟眼球的点云与虚拟人脸的眼眶的点云对齐。
[0065]
为了验证本技术实施例所提供的眼球数据处理方法在应用时的准确性,利用该眼球数据处理方法在不同脸型的虚拟人脸上进行了测试。请参见图5,图5是本技术实施例提供的眼球与眼眶的匹配效果示意图。图5中,图片501、图片504以及图片507分别指的是虚拟人脸1、虚拟人脸2以及虚拟人脸3未挂载虚拟眼球的示意图;图片502、图片505以及图片508分别指的是虚拟人脸1、虚拟人脸2以及虚拟人脸3挂载虚拟眼球后的正面视角的示意图;图片503、图片506以及图片509分别指的是虚拟人脸1、虚拟人脸2以及虚拟人脸3挂载虚拟眼
球后的侧面视角的示意图。如图5所示,本技术提供的眼球数据处理方法可以非常完美的将任意位置的眼睛与任意位置的虚拟人进行结合,不会出现穿模现象,且用肉眼从正面角度和侧面角度都看不出任何问题。从而验证了本技术所提供的眼球数据处理方法可提升虚拟人的真实性,有更好的用户体验。
[0066]
本技术实施例中,计算机设备从第一虚拟人脸的点云中获取第一虚拟人脸的眼眶对应的第一关键点集合;从虚拟眼球的点云中获取第一关键点集合对应的第二关键点集合;基于第一关键点集合中各个关键点在第一虚拟人脸的点云中的坐标和第二关键点集合中各个关键点在虚拟眼球的点云中的坐标,确定第一调整参数,第一调整参数用于调整虚拟眼球的点云,以使得虚拟眼球与第一虚拟人脸的眼眶匹配。采用本技术实施例,根据调整参数对虚拟眼球的点云进行自适应调整,不但提高了眼球与眼眶的匹配效率,而且可使虚拟眼球与虚拟人脸的眼眶更加匹配,从而提升了虚拟人的真实性。
[0067]
此外,本技术实施例中,由于计算机设备是基于虚拟眼球对应的关键点的坐标和虚拟人脸的眼眶对应的关键点的坐标来确定的调整参数,所以即使不同的虚拟人脸处在不同的坐标系中,计算机都可以通过获取虚拟人脸的眼眶对应的关键点的坐标以及虚拟眼球的关键点对应的坐标来确定调整参数。因此,本技术实施例所提供的方法可以应用于3d游戏/3d影视作品/短视频等多个场景中人物的人脸重建,相比于人脸3d形变统计模型(3d morphable face model,3dmm)而言,本技术提供的眼球数据处理方法可以更加高效,快速的将虚拟眼球挂载在虚拟人脸的眼眶中,生成更加美观的结果,使其更容易用于相应产品中,提高产品的用户体验。
[0068]
需要说明的是,当本技术实施例运用到具体产品或技术中时,本技术实施例所涉及的第一虚拟人脸、虚拟眼球、第二虚拟人脸等均是在获得用户的许可或者同意后才获取的;并且第一虚拟人脸、虚拟眼球、第二虚拟人脸等的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
[0069]
基于上述眼球数据处理方法的相关实施例的描述,本技术实施例还提出了一种眼球数据处理装置,该眼球数据处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码)。该眼球数据处理装置可以执行图2所示的眼球数据处理方法;请参见图6,图6是本技术实施例提供的一种眼球数据处理装置的示意图,该眼球数据处理装置可以包括如下模块:
[0070]
获取模块601,用于从第一虚拟人脸的点云中获取第一虚拟人脸的眼眶对应的第一关键点集合;
[0071]
获取模块601,还用于从虚拟眼球的点云中获取第一关键点集合对应的第二关键点集合;
[0072]
处理模块602,用于基于第一关键点集合中各个关键点在第一虚拟人脸的点云中的坐标和第二关键点集合中各个关键点在虚拟眼球的点云中的坐标,确定第一调整参数,该第一调整参数用于调整虚拟眼球的点云,以使得虚拟眼球与第一虚拟人脸的眼眶匹配。
[0073]
在一种可选的实施方式中,获取模块601在用于从第一虚拟人脸的点云中获取第一虚拟人脸的眼眶对应的第一关键点集合时,具体用于:
[0074]
从第一虚拟人脸对应的目标拓扑结构中获取第一虚拟人脸的眼眶对应的关键点的标识信息,该目标拓扑结构包括第一虚拟人脸中各个部位对应的关键点的标识信息;
[0075]
基于眼眶对应的关键点的标识信息从第一虚拟人脸的点云中获取眼眶对应的第一关键点集合,该第一关键点集合包括眼眶对应的关键点的标识信息。
[0076]
在一种可选的实施方式中,获取模块601在用于从虚拟眼球的点云中获取第一关键点集合对应的第二关键点集合时,具体用于:
[0077]
获取虚拟眼球的点云包括的至少一个顶点;
[0078]
根据至少一个顶点与第一关键点集合包括的关键点之间的距离,从至少一个顶点中确定第一关键点集合对应的第二关键点集合。
[0079]
在一种可选的实施方式中,获取模块601在用于根据至少一个顶点与第一关键点集合包括的关键点之间的距离,从至少一个顶点中确定第一关键点集合对应的第二关键点集合时,具有用于:
[0080]
针对第一关键点集合中的任一关键点,基于至少一个顶点中每个顶点的坐标以及任一关键点的坐标,确定每个顶点与任一关键点的距离;
[0081]
获取与任一关键点的距离最小的目标顶点;
[0082]
将目标顶点作为任一关键点在虚拟眼球的点云中对应的关键点,并将目标顶点添加到第一关键点集合对应的第二关键点集合中。
[0083]
在一种可选的实施方式中,处理模块602在用于基于第一关键点集合中各个关键点在第一虚拟人脸的点云中的坐标和第二关键点集合中各个关键点在虚拟眼球的点云中的坐标,确定第一调整参数时,具体用于:
[0084]
调用迭代最近点方法对第一关键点集合中各个关键点在第一虚拟人脸的点云中的坐标和第二关键点集合中各个关键点在虚拟眼球点云中的坐标进行对齐处理,得到第一调整参数。
[0085]
在一种可选的实施方式中,处理模块602还用于根据第一调整参数对虚拟眼球的点云包括的各个点云点进行调整,以使得虚拟眼球的点云与第一虚拟人脸的眼眶的点云对齐,该第一调整参数包括旋转量、平移量以及缩放量中的一种或多种。
[0086]
在一种可选的实施方式中,获取模块601还用于获取第二虚拟人脸。
[0087]
在一种可选的实施方式中,若第二虚拟人脸与第一虚拟人脸对应同一拓扑结构,则处理模块602还用于基于第一关键点集合中各个关键点在第二虚拟人脸的点云中的坐标和第二关键点集合中各个关键点在虚拟眼球的点云中的坐标,确定第二调整参数,该第二调整参数用于调整虚拟眼球的点云,以使得虚拟眼球与第二虚拟人脸的眼眶匹配。
[0088]
在一种可选的实施方式中,获取模块601还用于获取在基于第一调整参数调整虚拟眼球的点云之前,虚拟眼球在第一虚拟人脸的眼眶中的初始位置。
[0089]
在一种可选的实施方式中,处理模块602还用于基于初始位置将虚拟眼球添加到第二虚拟人脸的眼眶中。
[0090]
根据本技术的一个实施例,图2所示的方法所涉及的各个步骤均可由图6所示的眼球数据处理装置中的各个模块来执行的。例如,图2中所示的步骤s201、s202可由图6中所示的获取模块601执行,步骤s203可由图6中所示的处理模块602执行。
[0091]
根据本技术的另一个实施例,可以通过在包括中央处理单元(cpu)、随机存取存储介质(ram)、只读存储介质(rom)等处理元件和存储元件的例如计算机的通用计算机设备上运行能够执行如图2中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来
构造如图6中所示的眼球数据处理装置,以及来实现本技术实施例的眼球数据处理方法。计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于上述计算机设备中,并在其中运行。
[0092]
可以理解的是,本技术实施例提供的眼球数据处理装置中各个模块的具体实现以及可以达到的有益效果可参考前述眼球数据处理方法实施例的描述,在此不再赘述。
[0093]
基于上述方法实施例以及装置实施例的描述,本技术实施例还提供一种计算机设备。请参见图7,该计算机设备至少包括处理器701、存储器702、通信接口703。上述处理器701、存储器702和通信接口703可通过总线704或其他方式连接,本技术实施例以通过总线704连接为例。
[0094]
其中,处理器701(或称cpu(central processing unit,中央处理器))是计算机设备的计算核心以及控制核心,其可以解析计算机设备内的各类指令以及处理计算机设备的各类数据,例如:cpu可以用于解析用户向计算机设备所发送的开关机指令,并控制计算机设备进行开关机操作;再如:cpu可以在计算机设备内部结构之间传输各类交互数据,等等。通信接口703可选的可以包括标准的有线接口、无线接口(如wi-fi、移动通信接口等),受处理器701的控制用于收发数据。存储器702(memory)是计算机设备中的记忆设备,用于存放计算机程序和数据。可以理解的是,此处的存储器702既可以包括计算机设备的内置存储器,当然也可以包括计算机设备所支持的扩展存储器。存储器702提供存储空间,该存储空间存储了计算机设备的操作系统,可包括但不限于:windows系统、linux系统、android系统、ios系统,等等,本技术对此并不作限定。在一种可选的实施方式中,本技术实施例的处理器701可通过运行存储器702中存储的计算机程序,执行如下操作:
[0095]
从第一虚拟人脸的点云中获取第一虚拟人脸的眼眶对应的第一关键点集合;
[0096]
从虚拟眼球的点云中获取第一关键点集合对应的第二关键点集合;
[0097]
基于第一关键点集合中各个关键点在第一虚拟人脸的点云中的坐标和第二关键点集合中各个关键点在虚拟眼球的点云中的坐标,确定第一调整参数,该第一调整参数用于调整虚拟眼球的点云,以使得虚拟眼球与第一虚拟人脸的眼眶匹配。
[0098]
在一种可选的实施方式中,处理器701在用于从第一虚拟人脸的点云中获取第一虚拟人脸的眼眶对应的第一关键点集合时,具体用于:
[0099]
从第一虚拟人脸对应的目标拓扑结构中获取第一虚拟人脸的眼眶对应的关键点的标识信息,该目标拓扑结构包括第一虚拟人脸中各个部位对应的关键点的标识信息;
[0100]
基于眼眶对应的关键点的标识信息从第一虚拟人脸的点云中获取眼眶对应的第一关键点集合,该第一关键点集合包括眼眶对应的关键点的标识信息。
[0101]
在一种可选的实施方式中,处理器701在用于从虚拟眼球的点云中获取第一关键点集合对应的第二关键点集合时,具体用于:
[0102]
获取虚拟眼球的点云包括的至少一个顶点;
[0103]
根据至少一个顶点与第一关键点集合包括的关键点之间的距离,从至少一个顶点中确定第一关键点集合对应的第二关键点集合。
[0104]
在一种可选的实施方式中,处理器701在用于根据至少一个顶点与第一关键点集合包括的关键点之间的距离,从至少一个顶点中确定第一关键点集合对应的第二关键点集合时,具有用于:
[0105]
针对第一关键点集合中的任一关键点,基于至少一个顶点中每个顶点的坐标以及任一关键点的坐标,确定每个顶点与任一关键点的距离;
[0106]
获取与任一关键点的距离最小的目标顶点;
[0107]
将目标顶点作为任一关键点在虚拟眼球的点云中对应的关键点,并将目标顶点添加到第一关键点集合对应的第二关键点集合中。
[0108]
在一种可选的实施方式中,处理器701在用于基于第一关键点集合中各个关键点在第一虚拟人脸的点云中的坐标和第二关键点集合中各个关键点在虚拟眼球的点云中的坐标,确定第一调整参数时,具体用于:
[0109]
调用迭代最近点方法对第一关键点集合中各个关键点在第一虚拟人脸的点云中的坐标和第二关键点集合中各个关键点在虚拟眼球点云中的坐标进行对齐处理,得到第一调整参数。
[0110]
在一种可选的实施方式中,处理器701还用于根据第一调整参数对虚拟眼球的点云包括的各个点云点进行调整,以使得虚拟眼球的点云与第一虚拟人脸的眼眶的点云对齐,该第一调整参数包括旋转量、平移量以及缩放量中的一种或多种。
[0111]
在一种可选的实施方式中,处理器701还用于:
[0112]
获取第二虚拟人脸;
[0113]
若第二虚拟人脸与第一虚拟人脸对应同一拓扑结构,则基于第一关键点集合中各个关键点在第二虚拟人脸的点云中的坐标和第二关键点集合中各个关键点在虚拟眼球的点云中的坐标,确定第二调整参数,该第二调整参数用于调整虚拟眼球的点云,以使得虚拟眼球与第二虚拟人脸的眼眶匹配。
[0114]
在一种可选的实施方式中,处理器701还用于:
[0115]
获取在基于第一调整参数调整虚拟眼球的点云之前,虚拟眼球在第一虚拟人脸的眼眶中的初始位置;
[0116]
基于初始位置将虚拟眼球添加到第二虚拟人脸的眼眶中。
[0117]
具体实现中,本技术实施例中所描述的处理器701、存储器702、通信接口703可执行本技术实施例提供的眼球数据处理方法中所描述的计算机设备的实现方式,也可执行本技术实施例提供的眼球数据处理装置中所描述的实现方式,在此不再赘述。
[0118]
本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行上述任一可能实现方式的眼球数据处理方法。其具体实现方式可参考前文描述,此处不再赘述。
[0119]
本技术实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一可能实现方式的眼球数据处理方法。其具体实现方式可参考前文描述,此处不再赘述。
[0120]
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申
请所必须的。
[0121]
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-only memory,rom)、随机存取器(random access memory,ram)、磁盘或光盘等。
[0122]
以上所揭露的仅为本技术部分实施例而已,当然不能以此来限定本技术之权利范围,因此依本技术权利要求所作的等同变化,仍属本技术所涵盖的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1