一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种卡通人脸的构建、直播方法及相关装置与流程

2022-04-30 10:35:14 来源:中国专利 TAG:


1.本发明涉及计算机视觉的技术领域,尤其涉及一种卡通人脸的构建、直播方法及相关装置。


背景技术:

2.在直播、游戏、虚拟生活、教学、电影、动漫等场景中,往往会要求用户构建一个三维卡通的卡通形象,俗称卡通数字人,为了具备社交属性,在保证卡通化的情况下,用户倾向将卡通形象的脸部构建得跟自己真实的脸部相似。
3.为了方便用户构建卡通数字人的脸部,目前一般是将脸部划分为多个可供用户调整的维度,例如,轮廓、五官、眉毛,等等,用户手动逐个维度调整,从而形成卡通数字人的脸部。
4.但是,这种用户手动捏脸的方式可调整的维度较多,捏脸的门槛较高,并且,卡通数字人的脸部的纹理是虚拟渲染出来的,导致用户构建的卡通数字人的脸部与自己真实的脸部相似度较低。


技术实现要素:

5.本发明提出了一种卡通人脸的构建、直播方法及相关装置,以解决用户构建的卡通数字人的脸部与自己真实的脸部相似度较低的问题。
6.第一方面,本发明实施例提供了一种卡通人脸的构建方法,包括:
7.获取用户在二维空间中的人脸数据;
8.根据所述人脸数据构建三维空间中的第一原始点云模型;
9.在所述三维空间中,将部分所述第一原始点云模型与第二原始点云模型融合为候选点云模型,其中,所述第二原始点云模型用于表示与所述用户无关的卡通人物的脸部;
10.将第三原始点云模型中的部分纹理迁移至所述候选点云模型中,得到目标点云模型,其中,所述第三原始点云模型用于表示与所述用户无关的真人的人脸。
11.第二方面,本发明实施例还提供了一种直播方法,包括:
12.确定主播用户设置的直播间;
13.根据第一方面所述的方法对所述主播用户构建目标点云模型和/或对观众用户构建目标点云模型;
14.根据所述主播用户的目标点云模型构建第一卡通形象和/或根据所述观众用户的目标点云模型构建第二卡通形象;
15.将所述第一卡通形象和/或所述第二卡通形象渲染至所述直播间中。
16.第三方面,本发明实施例还提供了一种卡通人脸的构建装置,包括:
17.人脸数据获取模块,用于获取用户在二维空间中的人脸数据;
18.点云模型构建模块,用于根据所述人脸数据构建三维空间中的第一原始点云模型;
19.点云模型融合模块,用于在所述三维空间中,将部分所述第一原始点云模型与第二原始点云模型融合为候选点云模型,其中,所述第二原始点云模型用于表示与所述用户无关的卡通人物的脸部;
20.纹理迁移模块,用于将第三原始点云模型中的部分纹理迁移至所述候选点云模型中,得到目标点云模型,其中,所述第三原始点云模型用于表示与所述用户无关的真人的人脸。
21.第四方面,本发明实施例还提供了一种直播装置,包括:
22.直播间确定模块,用于确定主播用户设置的直播间;
23.卡通人脸构建模块,用于根据第一方面所述的方法对所述主播用户构建目标点云模型和/或对观众用户构建目标点云模型;
24.卡通形象构建模块,用于根据所述主播用户的目标点云模型构建第一卡通形象和/或根据所述观众用户的目标点云模型构建第二卡通形象;
25.卡通形象渲染模块,用于将所述第一卡通形象和/或所述第二卡通形象渲染至所述直播间中。
26.第五方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:
27.一个或多个处理器;
28.存储器,用于存储一个或多个程序,
29.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的卡通人脸的构建方法或者如第二方面所述的直播方法。
30.第六方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的卡通人脸的构建方法或者如第二方面所述的直播方法。
31.在本实施例中,获取用户在二维空间中的人脸数据,根据人脸数据构建三维空间中的第一原始点云模型,在三维空间中,将部分第一原始点云模型与第二原始点云模型融合为候选点云模型,其中,第二原始点云模型用于表示与用户无关的卡通人物的脸部,将第三原始点云模型中的部分纹理迁移至候选点云模型中,得到目标点云模型,其中,第三原始点云模型用于表示与用户无关的真人的人脸,目标点云模型在外形上维持了用户的特性与卡通人物的特性,使得构建卡通数字人的脸部可保留用户的id信息,即与用户真实的人脸相似,实现了真人域到卡通域的转换,对于用户而言,主要的操作为上传人脸数据,操作简便,大大降低了构建卡通数字人的脸部的门槛,并且,卡通数字人的脸部的纹理是来源于真实的人脸的纹理,提高了用户构建的卡通数字人的脸部与自己真实的脸部相似度。
附图说明
32.图1为本发明实施例一提供的一种卡通人脸的构建方法的流程图;
33.图2为本发明实施例一提供的一种第一原始点云模型的示例图;
34.图3为本发明实施例一提供的一种人脸对齐的示例图;
35.图4为本发明实施例一提供的一种点云插值的示例图;
36.图5为本发明实施例一提供的一种三角面片的示例图;
37.图6为本发明实施例一提供的一种调节人脸融合的示例图;
38.图7a至图7b为本发明实施例一提供的一种人脸的纹理的示例图;
39.图8a至图8b为本发明实施例一提供的一种纹理迁移的示例图;
40.图9是本发明实施例二提供的一种直播方法的流程图;
41.图10为本发明实施例三提供的一种卡通人脸的构建装置的结构示意图;
42.图11为本发明实施例四提供的一种直播装置的结构示意图;
43.图12为本发明实施例五提供的一种计算机设备的结构示意图。
具体实施方式
44.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
45.实施例一
46.图1为本发明实施例一提供的一种卡通人脸的构建方法的流程图,本实施例可适用于以卡通的点云mesh、真人的点云mesh作为空间坐标、纹理的参考,使用用户的点云mesh构建与用户的人脸相似的、且具备卡通特性的脸部情况,该方法可以由卡通人脸的构建装置来执行,该卡通人脸的构建装置可以由软件和/或硬件实现,可配置在计算机设备中,例如,服务器、工作站、个人电脑、移动终端(如手机、平板电脑等)、可穿戴设备(如眼镜、手表等),等等,具体包括如下步骤:
47.步骤101、获取用户在二维空间中的人脸数据。
48.若本实施例应用于移动终端、可穿戴设备、个人电脑等用户端的计算机设备,则可以在计算机设备中安装应用图像处理的应用,如直播应用、美图应用、相机应用、即时通讯工具、图库应用,等等。
49.在部分情况中,应用的ui(user interface,用户界面)可提供导入的控件,用户可通过触控操作或鼠标操作等方式操作该导入的控件,选择本地存储的视频数据或图像数据(以缩略图或路径表示),也可以选择网络存储的视频数据或图像数据(以url(uniform resource locators,统一资源定位器)表示)。
50.在部分情况中,应用的ui可提供拍照、录像的控件,用户可通过触控操作或鼠标操作等方式操作该拍照、录像的控件,通知应用调用计算机设备中的摄像头采集视频数据或图像数据。
51.若本实施例应用于服务器、工作站等服务端的计算机设备,可以接收用户端的设备发送的视频数据或图像数据。
52.其中,对于视频数据,可以从中抽取具有一帧或多帧图像数据。
53.进一步而言,用户可以使用账号、密码等方式在这些应用中登录,对于不同的业务,用户的角色有所不同,上传图像数据的方式也有所不同,例如,对于直播而言,该用户可以是主播用户,其可以在设置用户资料时上传图像数据,也可以在主持直播节目时上传视频数据,该用户也可以是观众用户,其可以在设置用户资料时上传图像数据,等等。
54.针对这些图像数据,可进行人脸检测(landmark),从而确定是否存在人物形象及其人脸数据所在的区域,如果存在人物形象,则可以在图像数据中标记、裁剪(crop)该区域,继续执行构建卡通人脸的操作,如果不存在人物形象,则可以生成提示信息,提示用户
并不存在人脸数据,停止执行构建卡通人脸的操作。
55.其中,人脸检测也称为人脸关键点检测、定位或者人脸对齐,是指给定人脸数据,定位出人脸面部的关键区域位置,包括眉毛、眼睛、鼻子、嘴巴、脸部轮廓等等。
56.人脸检测通常使用如下方法:
57.1、利用人工提取特征,如haar特征,使用特征训练分类器,使用分类器进行人脸检测。
58.2、从通用的目标检测算法中继承人脸检测,例如,利用faster r-cnn来检测人脸。
59.3、使用级联结构的卷积神经网络,例如,cascade cnn(级联卷积神经网络),mtcnn(multi-task cascaded convolutional networks,多任务卷积神经网络)。
60.这些实现人脸检测的方法可以集成在应用的模块中,应用可直接调用该模块检测图像数据中的人脸关键点,这些实现人脸检测的方法也可以集成在sdk(software development kit,软件开发工具包),该sdk作为应用的组装数据,应用可请求sdk对图像数据进行人脸检测,sdk检测到图像数据中的人脸关键点,并将人脸关键点返回应用。
61.人脸关键点的数量,可以根据实际情况设置,对于静态的图像处理,实时性要求较低,可以检测较为稠密的人脸关键点,如1000个,除了能定位人脸重要特征点之外,还能准确的描述出五官的轮廓;对于直播等,实时性要求较高,可以检测较为稀疏的人脸关键点,如68、81、106个,定位人脸上比较明显且重要的特征点(如眼睛关键点、眉毛关键点、鼻子关键点、嘴巴关键点、轮廓关键点等),以降低处理量、减少处理时间,等等,本发明实施例对此不加以限制。
62.对于视频数据(如直播视频数据),各帧图像数据之间可能存在抖动,则在人脸检测时,可进行帧间平滑,对齐前后帧图像数据的人脸关键点,在裁剪(crop)人脸数据时,可进行帧间平滑,对齐前后帧图像数据之间的人脸关键点。
63.步骤102、根据人脸数据构建三维空间中的第一原始点云模型。
64.在本实施例中,如图2所示,可以基于一帧或多帧二维空间中的图像数据(即人脸数据)进行建模,通过立体匹配、sfm(structure from motion,运动恢复结构)、sfs(shape from shading,从明暗恢复形状)、3dmm(3d morphable face model,三维可变形人脸模型)等方法重建用户的人脸在三维空间中的geometry(几何)和appearance(外观),三维空间中的人脸以mesh(点云,如图2中体积较小、数量较多的点)的形式表示,记为第一原始点云模型。
65.在一个示例中,可预先构建人脸重建网络,人脸重建网络的输入为二维的人脸数据,输出为三维的第一原始点云模型,其中,人脸重建网络的结构不局限于人工设计的神经网络,也可以通过模型量化方法优化的神经网络,通过nas(neural architecture search,神经网络结构搜索)方法针对三维人脸重构的特性搜索的神经网络,等等,本实施例对此不加以限制。
66.在三维人脸重构时,可以加载人脸重建网络至内存运行,将人脸数据输入人脸重建网络中,以构建三维空间中的第一原始点云模型。
67.其中,第一原始点云模型表示如下:
[0068][0069]
s为缩放参数,如0.00125,用于缩放mesh,直至与原始的图像数据的尺度对齐,p为单位矩阵,即正交投影矩阵,大小一般为3*3,r为单位正交矩阵,即旋转矩阵,大小一般为3*3,为基准人脸,如通过pca(principal component analysis,主成分分析)等方式生成的平均脸,m为形状维度,一般为高维空间,如199,可用于通过pca等方式建模时构建出shape(形状)、形状的基向量,αi为形状的基向量,如199*65536*3,199为维度、65536为mesh中点的数量、3为xyz,si为形状系数,n为表情维度,如29,可来源于pca等方式建模,βi为表情的基向量,如29*65536*3,29为维度、65536为mesh中点的数量、3为xyz,ei为表情系数,t
2d
为偏移矩阵,用于将mesh与图像数据对齐。
[0070]
进一步而言,s、r、si、ei、t
2d
属于未知量,p、m、αi、n、βi为已知量,在构建人脸重建网络时,通过最小化作为样本的人脸数据的关键点与mesh中选取的关键点的投影之间的距离,来优化s、r、si、ei、t
2d
,从而实现三维人脸重构。
[0071]
步骤103、在三维空间中,将部分第一原始点云模型与第二原始点云模型融合为候选点云模型。
[0072]
在本实施例中,可以预先使用mesh(点云)建模,构建卡通人物的脸部,记为第二原始点云模型,第二原始点云模型属于公共的卡通人物的mesh(点云),与当前用户无关,即,第二原始点云模型用于表示与当前用户无关的卡通人物的脸部。
[0073]
一般情况下,真人(用户)的第一原始点云模型的语义较为丰富,卡通人物的第二原始点云模型的语义较为简单,因此,第一原始点云模型一般大于第二原始点云模型,第一原始点云模型包含语义与第二原始点云模型匹配的部分,此时,在三维空间中,将语义上相互匹配的部分第一原始点云模型与第二原始点云模型融合,得到新的mesh(点云),记为候选点云模型,候选点云模型在外形上融合了用户的特性与卡通人物的特性,使得候选点云模型在外形上与用户、卡通人物均相似。
[0074]
由于第二原始点云模型与用户无关,因此,对于任一用户,均可以将其部分第一原始点云模型与固定的第二原始点云模型融合得到候选点云模型。
[0075]
当然,考虑到不同的卡通人物具有不同的风格,例如,某些卡通人物的眼睛大一些,某些卡通人物的鼻子高一些,某些卡通人物的脸型长一些,等等,因此,可以针对不同风格的卡通人物设置不同的第二原始点云模型,用户可以选择风格,从而选定该风格对应的第二原始点云模型,与其部分第一原始点云模型融合得到候选点云模型,本实施例对此不加以限制。
[0076]
在本发明的一个实施例中,步骤103可以包括如下步骤:
[0077]
步骤1031、筛选语义与第二点匹配的第一点。
[0078]
第一原始点云模型中具有多个点,记为第一点,第二原始点云模型中具有多个点,记为第二点。
[0079]
一般情况下,第一点较为稠密,如60000多个,第二点较为稀疏,如2000多个,因此,第一点的数量一般远多于第二点的数量。
[0080]
卡通人物的第二原始点云模型一般为独立的mesh(点云),并非通过pca等方式建模,并不具有pca等模型空间,因此,一般是对第二原始点云模型中单个第二点进行调整,而并非整个第二原始点云模型进行调整。
[0081]
真人的mesh(点云)与卡通人物的mesh(点云)在宏观的语义上存在相同,例如,真人的mesh(点云)与卡通人物的mesh(点云)都包含眼睛、鼻子、嘴巴等五官,真人的mesh(点云)与卡通人物的mesh(点云)在细节的语义上存在相同,例如,真人的mesh(点云)的眼睛相对于卡通人物的mesh(点云)的眼睛小,真人的mesh(点云)的嘴巴相对于卡通人物的mesh(点云)的嘴巴的大,等等。因此,第一原始点云模型中的第一点与第二原始点云模型中的第二点之间在语义上是存在映射关系,这个映射关系并不一定是直接对应的关系,而可能是存在着放大或缩小的关系,这个映射关系可以作为整个第二原始点云模型进行调整的基准。
[0082]
为了构建第一原始点云模型中的第一点与第二原始点云模型中的第二点之间在语义上的映射关系,可以遍历第二原始点云模型中的第二点,从第一原始点云模型中筛选语义与第二点匹配的第一点,使得在第一原始点云模型中筛选出部分第一点。
[0083]
在首次筛选时,可以使用nicp等点云匹配方法对第二原始点云模型进行非刚性形变,直至第二原始点云模型在整体上对齐(fill)第一原始点云模型。
[0084]
例如,如图3所示,使用nicp方法将第二原始点云模型对齐(fill)第一原始点云模型,使得两者之间存在一定的重合,卡通人脸脸部上的部分脸皮贴到了用户的人脸上,而用户大部分的人脸上并未贴到卡通人脸脸部上的脸皮。
[0085]
若完成非刚性形变,则遍历第二原始点云模型中的每一个第二点,计算该第二点与第一原始点云模型中所有第一点之间的距离,从而在第一原始点云模型中,查找与第二点最近(即距离最小)的第一点,作为语义与第二点匹配的第一点。
[0086]
在实际应用中,nicp等点云匹配方法一般是无法将第二原始点云模型中所有第二点对齐第一原始点云模型中的点,为了提高第一原始点云模型与第二原始点云模型之间的匹配度,从而提高融合之后的候选点云模型的质量,本实施例中,如图4所示,可以在第一原始点云模型中插值,即,在第一原始点云模型中原有的第一点之间插入新的第一点,提高点云的密度。
[0087]
具体而言,第一原始点云模型中具有多个三角面片,三角面片是被分割的最小单位,三角面片的顶点为第一点。
[0088]
在插值时,在三角面片中插入新的第一点,将形成三角面片的第一点在三维空间中的坐标的线性融合为新的第一点在三维空间中的坐标。
[0089]
在线性融合时,统计三角面片的第一面积,分别统计区域面片的第二面积,其中,区域面片为新的第一点与形成三角面片任意两个第一点组成的三角形。
[0090]
计算第二面积与第一面积之间的比值,作为权重。
[0091]
对于每个第一点,分别确定目标面片,目标面片为未包含第一点的区域面片,此时,可将第一点的坐标乘以目标面片对应的权重,获得调权坐标。
[0092]
那么,计算所有调权坐标之间的和值,作为新的第一点在三维空间中的坐标。
[0093]
例如,如图5所示,形成三角面片的第一点分别为点a、点b、点c,插入三角片面中的第一点为点d。
[0094]
在本示例中,可以分别统计三角面片abc的面积s
abc
、区域面片bcd的面积s
bcd
、区域面片acd的面积s
acd
、区域面片abd的面积s
abd
,对于点a而言,目标面片为区域面片bcd,则点a的权重=s
bcd
/s
abc
,对于点b而言,目标面片为区域面片acd,则点b的权重=s
acd
/s
abc
,对于点c而言,目标面片为区域面片abd,则点c的权重=s
abd
/s
abc
,那么,点d的坐标=点a的坐标*s
bcd
/s
abc
点b的坐标*s
acd
/s
abc
点c的坐标*s
abd
/s
abc

[0095]
此时,在语义上与第二点匹配的第一点,可能为第一原始点云模型中原有的第一点,也可能为第一原始点云模型中插值的第一点。
[0096]
首次完成筛选时,可以记录第一原始点云模型中部分第一点与第二原始点云模型中第二点之间的映射关系。
[0097]
在非首次筛选时,可以查询其他第一原始点云模型中部分第一点与第二原始点云模型中第二点之间的映射关系,将该映射关系中其他第一原始点云模型中部分第一点对应至当前第一原始点云模型中的部分第一点,从而在当前第一原始点云模型中筛选出与第二原始点云模型中第二点匹配的第一点。
[0098]
步骤1032、针对语义匹配的第一点与第二点,在三维空间中将第一点与第二点融合为候选点云模型中的候选点。
[0099]
对于每一组语义相互匹配的第一点与第二点,可以在三维空间中进行融合,得到新的点,新的点的数量与第二原始点云模型中第二点的数量相同,这些新的点组成新的mesh(点云),记为候选点云模型,那么,新的点为候选点云模型中的候选点。
[0100]
在具体实现中,针对每一组语义匹配的第一点与第二点,将第一点在三维空间中的坐标乘以第一系数,获得第一调权点,将第二点在三维空间中的坐标乘以第二系数,获得第二调权点,将第一调权点与第二调权点相加,获得候选点云模型中的候选点。
[0101]
在本实施例中,线性融合的方式可表示为:
[0102]
mesh
target
=α*mesh
realface
β*mesh
cartoonface
[0103]
其中,mesh
target
为候选点云模型(候选点),mesh
cartoonface
为第二原始点云模型(第二点),mesh
realface
为与第二原始点云模型中的部分第一原始点云模型(第一点),α为第一系数,β为第二系数。
[0104]
一般情况下,第一系数与第二系数之和为1,如果第一系数大于第二系数,则候选点云模型更加偏向真人,如果第一系数小于第二系数,则候选点云模型更加偏向卡通人物,如果第一系数等第二系数,则候选点云模型中真人的特性与卡通任务的特性平衡。
[0105]
例如,如图6所示,在每列头像数据中,第一个头像数据为用户真实的人脸数据,其余四个头像数据为用户真实的人脸数据(以第一原始点云模型表示)与卡通人物的脸部(以第二原始点云模型表示)融合之后的头像数据,这四个头像数据自左向右第一系数递增、第二系数递减,呈现从用户真实的人脸数据渐变至卡通人物的脸部的趋势。
[0106]
进一步而言,第一系数与第二系数可以是一个默认的数值,也可以为可调节的参数,供用户按照需求调节,本实施例对此不加以限制。
[0107]
步骤104、将第三原始点云模型中的部分纹理迁移至候选点云模型中,得到目标点云模型。
[0108]
在本实施例中,如图7a所示,可以预先针对一个真人使用mesh(点云)建模,构建该真人的人脸并定义纹理的信息,记为第三原始点云模型,第三原始点云模型属于公共的真
人的mesh(点云),与当前用户无关,即,第三原始点云模型用于表示与用户无关的真人的人脸。
[0109]
其中,第三原始点云模型的表达方式可以与第一原始点云模型的表达方式相同,也可以与第一原始点云模型的表达方式不同,本实施例对此不加以限制。
[0110]
示例性地,第三原始点云模型表示如下:
[0111][0112]
s为缩放参数,p为单位矩阵,r为单位正交矩阵,为基准人脸,m为形状维度,αi为形状的基向量,si为形状系数,n为表情维度,βi为表情的基向量,ei为表情系数,t
2d
为偏移矩阵。
[0113]
一般情况下,如图8a所示,前景为候选点云模型的拓扑,背景为第三原始点云模型的拓扑,真人的第三原始点云模型的语义较为丰富,候选点云模型的语义较为简单,因此,第三原始点云模型一般大于候选点云模型,第三原始点云模型包含语义与候选点云模型匹配的部分,此时,如图8b所示,可以将语义上相互匹配的第三原始点云模型中的部分纹理迁移至候选点云模型中,得到目标点云模型,目标点云模型在外形上维持了用户的特性与卡通人物的特性,使得目标点云模型在外形上维持与用户、卡通人物均相似,目标点云模型在纹理上加入了真人的特性,使得目标点云模型在纹理上与真人更加相似。
[0114]
由于第三原始点云模型与当前用户无关,因此,对于任一用户,均可以将其固定的第三原始点云模型的部分纹理迁移至候选点云模型,得到目标点云模型。
[0115]
当然,针对不同性别、地区、年龄段等属性的真人,其纹理或多或少具有差异,因此,可以针对不同属性的真人设置不同的第三原始点云模型,用户可以选择属性,从而选定该属性对应的第三原始点云模型,将其部分纹理迁移至候选点云模型得到目标点云模型,本实施例对此不加以限制。
[0116]
在本发明的一个实施例中,候选点云模型中具有多个候选点,第三原始点云模型中具有多个点,记为第三点,则在本实施例中,步骤104可以包括如下步骤:
[0117]
步骤1041、筛选语义与候选点匹配的第三点。
[0118]
若第三原始点云模型的表达方式与第一原始点云模型的表达方式相同,则可以查询其他第一原始点云模型中部分第一点与第二原始点云模型中第二点之间的映射关系,将该映射关系中其他第一原始点云模型中部分第一点对应至当前第三原始点云模型中的部分第三点,从而在当前第三原始点云模型中筛选出与候选点云模型中候选点匹配的第三点。
[0119]
无论第三原始点云模型的表达方式与第一原始点云模型的表达方式相同,还是第三原始点云模型的表达方式与第一原始点云模型的表达方式不同,在首次筛选时,对候选原始点云模型进行非刚性形变,直至候选点云模型对齐第三原始点云模型。
[0120]
若完成非刚性形变,则在候选点云模型中,查找与候选点最近的第三点,作为语义与候选点匹配的第三点。
[0121]
进一步地,第三原始点云模型中具有多个三角面片,三角面片的顶点为第三点,可
以在三角面片中插入新的第三点,将形成三角面片的第三点在三维空间中的坐标的线性融合为新的第三点在三维空间中的坐标。
[0122]
在线性融合时,统计三角面片的第三面积;统计区域面片的第四面积,区域面片为新的第三点与形成三角面片任意两个第三点组成的三角形;计算第四面积与第三面积之间的比值,作为权重;对于每个第三点,将第三点的坐标乘以目标面片对应的权重,获得调权坐标,目标面片为未包含第三点的区域面片;计算所有调权坐标之间的和值,作为新的第三点在三维空间中的坐标。
[0123]
首次完成筛选时,可以记录第三原始点云模型中部分第三点与候选点云模型中候选点之间的映射关系。
[0124]
在非首次筛选时,可以查询其他第三原始点云模型中部分第三点与候选点云模型中候选点之间的映射关系,将该映射关系中其他第三原始点云模型中部分第三点对应至当前第三原始点云模型中的部分第三点,从而在当前第三原始点云模型中筛选出与候选点云模型中候选点匹配的第三点。
[0125]
在本实施例中,由于步骤1041与步骤1031的应用基本相似,所以描述的比较简单,相关之处参见步骤1031的部分说明即可,本实施例在此不加以详述。
[0126]
步骤1042、针对语义匹配的第三点与候选点,将第三点中的纹理坐标迁移至候选点中,得到目标点云模型中的目标点。
[0127]
如图7b所示,在第三原始点云模型中,纹理以坐标的形式表示,即纹理坐标,纹理坐标通常可定义成一、二、三或四维形式,称为s,t,r和q坐标。
[0128]
对于每组语义匹配的第三点与候选点,可以将第三点中的纹理坐标赋值给相应的候选点,实现将纹理迁移至候选点,得到目标点云模型中的目标点。
[0129]
在本实施例中,获取用户在二维空间中的人脸数据,根据人脸数据构建三维空间中的第一原始点云模型,在三维空间中,将部分第一原始点云模型与第二原始点云模型融合为候选点云模型,其中,第二原始点云模型用于表示与用户无关的卡通人物的脸部,将第三原始点云模型中的部分纹理迁移至候选点云模型中,得到目标点云模型,其中,第三原始点云模型用于表示与用户无关的真人的人脸,目标点云模型在外形上维持了用户的特性与卡通人物的特性,使得构建卡通数字人的脸部可保留用户的id信息,即与用户真实的人脸相似,实现了真人域到卡通域的转换,对于用户而言,主要的操作为上传人脸数据,操作简便,大大降低了构建卡通数字人的脸部的门槛,并且,卡通数字人的脸部的纹理是来源于真实的人脸的纹理,提高了用户构建的卡通数字人的脸部与自己真实的脸部相似度。
[0130]
实施例二
[0131]
图9为本发明实施例二提供的一种直播方法的流程图,本实施例可适用于在直播的过程中对主播用户、观众用户构建卡通形象的情况,该方法可以由直播装置来执行,该直播装置可以由软件和/或硬件实现,可配置在计算机设备中,例如,服务器、工作站、个人电脑,等等,具体包括如下步骤:
[0132]
步骤901、确定主播用户设置的直播间。
[0133]
在本实施例中,角色为主播的用户(即主播用户)可以在直播平台上开设直播间,该直播间可以为虚拟的空间,承载主播用户支持的直播节目,并对外开放,供角色为观众的用户(即观众用户)或其他主播用户进内观看。
[0134]
步骤902、对主播用户构建目标点云模型和/或对观众用户构建目标点云模型。
[0135]
在直播的过程中,对于流量较少的主播用户或刚开始主持直播节目等情况,在直播间可能仅存在主播用户,对于主播用户暂时离开镜头等情况,在直播间可能仅存在观众用户,但大多数情况下,直播间是同时存在主播用户、观众用户。
[0136]
在本实施例中,可以根据直播的业务需求,可以对主播用户构建目标点云模型,也可以从众多观众用户中挑选部分观众用户,对挑选出来的部分观众用户构建目标点云模型。
[0137]
对主播用户构建目标点云模型和/或对观众用户构建目标点云模型的方法如下:
[0138]
获取用户在二维空间中的人脸数据;
[0139]
根据人脸数据构建三维空间中的第一原始点云模型;
[0140]
在三维空间中,将部分第一原始点云模型与第二原始点云模型融合为候选点云模型,其中,第二原始点云模型用于表示与用户无关的卡通人物的脸部;
[0141]
将第三原始点云模型中的部分纹理迁移至候选点云模型中,得到目标点云模型,其中,第三原始点云模型用于表示与用户无关的真人的人脸。
[0142]
在本实施例中,由于对主播用户构建目标点云模型和/或对观众用户构建目标点云模型的方法与实施例一的应用基本相似,所以描述的比较简单,相关之处参见实施例一的部分说明即可,本实施例在此不加以详述。
[0143]
步骤903、根据主播用户的目标点云模型构建第一卡通形象和/或根据观众用户的目标点云模型构建第二卡通形象。
[0144]
在本实施例中,可以使用主播用户的目标点云模型构建第一卡通形象,即,使用第一卡通形象表示主播用户,第一卡通形象一般为拟人化的卡通形象,也可以为拟动物化、拟静物化的卡通形象,本实施例对此不加以限制。
[0145]
主播用户主持直播节目是一个动态性的过程,第一卡通形象通常并非静止状态,而是处于运动状态,那么,第一卡通形象具备动作,第一卡通形象的动作可以是根据直播的业务需求设定的,也可以是主播用户的动作,本实施例对此不加以限制。
[0146]
其中,对于主播用户的动作,在主播用户上传的视频数据中通过dt(密集轨迹)算法、tsn(two stream network,时空双流网络结构主播用户)及其衍生网络等方式检测主播用户的动作,或者,主播用户在肢体上佩戴imu(inertial measurement unit,惯性测量单元)等传感器,直接上传传感器检测到用户的动作。
[0147]
对于观众用户,可以使用观众用户的目标点云模型构建第二卡通形象,即,使用第二卡通形象表示主播用户,第二卡通形象一般为拟人化的卡通形象,也可以为拟动物化、拟静物化的卡通形象,本实施例对此不加以限制。
[0148]
一般情况下,观众用户的数量众多,并且观众用户与主播用户之间的交互为短时性的行为,因此,第二卡通形象可配置动作,第二卡通形象的动作通常是根据直播的业务需求设定的。
[0149]
步骤904、将第一卡通形象和/或第二卡通形象渲染至直播间中。
[0150]
在本实施例中,可以根据直播的业务需求,将第一卡通形象和/或第二卡通形象渲染至直播间中,进入该直播间的其他主播用户、其他主播用户可观看到第一卡通形象和/或第二卡通形象。
[0151]
进一步而言,若直播为ar(augmented reality,增强现实)直播,则主播用户所登录的客户端持续采集并上传视频数据至直播间,主播用户可以控制是否开启卡通形象,如果主播用户开启卡通形象,可以将第一卡通形象和/或第二卡通形象渲染至该视频数据中,进入该直播间的其他主播用户、其他主播用户可下载该视频数据,观看到第一卡通形象和/或第二卡通形象。
[0152]
若直播为vr(virtual reality,虚拟现实)直播,则可以直播间中生成虚拟环境,此时,将第一卡通形象和/或第二卡通形象渲染至该虚拟环境中,进入该直播间的其他主播用户、其他主播用户可在虚拟环境中观看到第一卡通形象和/或第二卡通形象。
[0153]
在本实施例中,确定主播用户设置的直播间;对主播用户构建目标点云模型和/或对观众用户构建目标点云模型;根据主播用户的目标点云模型构建第一卡通形象和/或根据观众用户的目标点云模型构建第二卡通形象;将第一卡通形象和/或第二卡通形象渲染至直播间中。目标点云模型在外形上维持了主播用户、观众用户的特性与卡通人物的特性,使得构建卡通数字人的脸部可保留用户的id信息,即与主播用户、观众用户真实的人脸相似,实现了真人域到卡通域的转换,满足了直播的业务需求,对于主播用户、观众用户而言,主要的操作为上传人脸数据,操作简便,大大降低了构建卡通数字人的脸部的门槛,并且,卡通数字人的脸部的纹理是来源于真实的人脸的纹理,提高了用户构建的卡通数字人的脸部与自己真实的脸部相似度。
[0154]
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
[0155]
实施例三
[0156]
图10为本发明实施例三提供的一种卡通人脸的构建装置的结构框图,具体可以包括如下模块:
[0157]
人脸数据获取模块1001,用于获取用户在二维空间中的人脸数据;
[0158]
点云模型构建模块1002,用于根据所述人脸数据构建三维空间中的第一原始点云模型;
[0159]
点云模型融合模块1003,用于在所述三维空间中,将部分所述第一原始点云模型与第二原始点云模型融合为候选点云模型,其中,所述第二原始点云模型用于表示与所述用户无关的卡通人物的脸部;
[0160]
纹理迁移模块1004,用于将第三原始点云模型中的部分纹理迁移至所述候选点云模型中,得到目标点云模型,其中,所述第三原始点云模型用于表示与所述用户无关的真人的人脸。
[0161]
在本发明的一个实施例中,所述点云模型构建模块1002包括:
[0162]
人脸重建网络加载模块,用于加载人脸重建网络;
[0163]
人脸重建网络处理模块,用于将所述人脸数据输入所述人脸重建网络中,以构建三维空间中的第一原始点云模型;
[0164]
其中,所述第一原始点云模型表示如下:
[0165][0166]
s为缩放参数,p为单位矩阵,r为单位正交矩阵,为基准人脸,m为形状维度,αi为形状的基向量,si为形状系数,n为表情维度,βi为表情的基向量,ei为表情系数,t
2d
为偏移矩阵。
[0167]
在本发明的一个实施例中,所述第一原始点云模型中具有多个第一点,所述第二原始点云模型中具有多个第二点;
[0168]
所述点云模型融合模块1003包括:
[0169]
第一语义筛选模块,用于筛选语义与所述第二点匹配的所述第一点;
[0170]
点融合模块,用于针对语义匹配的所述第一点与所述第二点,在所述三维空间中将所述第一点与所述第二点融合为候选点云模型中的候选点。
[0171]
在本发明的一个实施例中,所述第一语义筛选模块包括:
[0172]
第一非刚性形变模块,用于对第二原始点云模型进行非刚性形变,直至所述第二原始点云模型对齐所述第一原始点云模型;
[0173]
第一距离查找模块,用于若完成所述非刚性形变,则在所述第一原始点云模型中,查找与所述第二点最近的所述第一点,作为语义与所述第二点匹配的所述第一点。
[0174]
在本发明的一个实施例中,所述第一原始点云模型中具有多个三角面片;
[0175]
所述第一语义筛选模块还包括:
[0176]
第一插值模块,用于在所述三角面片中插入新的第一点;
[0177]
第一坐标计算模块,用于将形成所述三角面片的所述第一点在所述三维空间中的坐标的线性融合为新的所述第一点在所述三维空间中的坐标。
[0178]
在本发明的一个实施例中,所述第一坐标计算模块包括:
[0179]
第一面积统计模块,用于统计所述三角面片的第一面积;
[0180]
第二面积统计模块,用于统计区域面片的第二面积,所述区域面片为新的所述第一点与形成所述三角面片任意两个所述第一点组成的三角形;
[0181]
第一权重计算模块,用于计算所述第二面积与所述第一面积之间的比值,作为权重;
[0182]
第一权重调整模块,用于对于每个所述第一点,将所述第一点的坐标乘以目标面片对应的权重,获得调权坐标,所述目标面片为未包含所述第一点的区域面片;
[0183]
第一调权坐标相加模块,用于计算所有调权坐标之间的和值,作为新的所述第一点在所述三维空间中的坐标。
[0184]
在本发明的一个实施例中,所述点融合模块1003包括:
[0185]
系数调整模块,用于针对语义匹配的所述第一点与所述第二点,将所述第一点在所述三维空间中的坐标乘以第一系数,获得第一调权点,将所述第二点在所述三维空间中的坐标乘以第二系数,获得第二调权点;
[0186]
调权点相加模块,用于将所述第一调权点与所述第二调权点相加,获得候选点云模型中的候选点。
[0187]
在本发明的一个实施例中,所述候选点云模型中具有多个候选点,所述第三原始点云模型中具有多个第三点;
[0188]
所述纹理迁移模块1004包括:
[0189]
第二语义筛选模块,用于筛选语义与所述候选点匹配的所述第三点;
[0190]
纹理坐标迁移模块,用于针对语义匹配的所述第三点与所述候选点,将所述第三点中的纹理坐标迁移至所述候选点中,得到目标点云模型中的目标点。
[0191]
在本发明的一个实施例中,所述第二语义筛选模块包括:
[0192]
第二非刚性形变模块,用于对所述候选点云模型进行非刚性形变,直至所述候选点云模型对齐第三原始点云模型;
[0193]
第二距离查找模块,用于若完成所述非刚性形变,则在所述第三原始点云模型中,查找与所述候选点最近的所述第三点,作为语义与所述候选点匹配的所述第三点。
[0194]
在本发明的一个实施例中,所述第三原始点云模型中具有多个三角面片;
[0195]
所述第二语义筛选模块还包括:
[0196]
第二插值模块,用于在所述三角面片中插入新的第三点;
[0197]
第二坐标计算模块,用于将形成所述三角面片的所述第三点在所述三维空间中的坐标的线性融合为新的所述第三点在所述三维空间中的坐标。
[0198]
在本发明的一个实施例中,所述第二坐标计算模块包括:
[0199]
第三面积统计模块,用于统计所述三角面片的第三面积;
[0200]
第四面积统计模块,用于统计区域面片的第四面积,所述区域面片为新的所述第三点与形成所述三角面片任意两个所述第三点组成的三角形;
[0201]
第二权重计算模块,用于计算所述第四面积与所述第三面积之间的比值,作为权重;
[0202]
第一权重调整模块,用于对于每个所述第三点,将所述第三点的坐标乘以目标面片对应的权重,获得调权坐标,所述目标面片为未包含所述第三点的区域面片;
[0203]
第二调权坐标相加模块,用于计算所有调权坐标之间的和值,作为新的所述第三点在所述三维空间中的坐标。
[0204]
本发明实施例所提供的卡通人脸的构建装置可执行本发明任意实施例所提供的卡通人脸的构建方法,具备执行方法相应的功能模块和有益效果。
[0205]
实施例四
[0206]
图11为本发明实施例四提供的一种直播装置的结构框图,具体可以包括如下模块:
[0207]
直播间确定模块1101,用于确定主播用户设置的直播间;
[0208]
卡通人脸构建模块1102,用于对所述主播用户构建目标点云模型和/或对观众用户构建目标点云模型;
[0209]
卡通形象构建模块1103,用于根据所述主播用户的目标点云模型构建第一卡通形象和/或根据所述观众用户的目标点云模型构建第二卡通形象;
[0210]
卡通形象渲染模块1104,用于将所述第一卡通形象和/或所述第二卡通形象渲染至所述直播间中。
[0211]
其中,对所述主播用户构建目标点云模型和/或对观众用户构建目标点云模型的
方法如下:
[0212]
获取用户在二维空间中的人脸数据;
[0213]
根据所述人脸数据构建三维空间中的第一原始点云模型;
[0214]
在所述三维空间中,将部分所述第一原始点云模型与第二原始点云模型融合为候选点云模型,其中,所述第二原始点云模型用于表示与所述用户无关的卡通人物的脸部;
[0215]
将第三原始点云模型中的部分纹理迁移至所述候选点云模型中,得到目标点云模型,其中,所述第三原始点云模型用于表示与所述用户无关的真人的人脸。
[0216]
本发明实施例所提供的直播装置可执行本发明任意实施例所提供的直播方法,具备执行方法相应的功能模块和有益效果。
[0217]
实施例五
[0218]
图12为本发明实施例五提供的一种计算机设备的结构示意图。图12示出了适于用来实现本发明实施方式的示例性计算机设备12的框图。图12显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0219]
如图12所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
[0220]
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。
[0221]
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0222]
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图12未显示,通常称为“硬盘驱动器”)。尽管图12中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
[0223]
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
[0224]
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,计算机设备12还可
以通过网络适配器20与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0225]
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的卡通人脸的构建方法或直播方法。
[0226]
实施例六
[0227]
本发明实施例六还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述卡通人脸的构建方法或直播方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0228]
其中,计算机可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0229]
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献