一种2D虚拟模型的驱动方法及设备与流程

文档序号:11591703阅读:206来源:国知局

本发明涉及图像处理领域,特别涉及一种2d虚拟模型的驱动方法及设备。



背景技术:

虚拟模型表情动画是当前研究的热点,其在虚拟现实,数字娱乐,通信和视频会议、人际交互等领域有着非常广泛的应用。

随着移动终端的普及,以及网络带宽资费的下降,视频电话将成为社交领域的首选。由于陌生人之间交流在刚开始的时候不太愿意露脸,因此亟待一种交流工具来替代双方的视频图像。虚拟表情映射将是较佳选择,它不仅能够用虚拟人物来代替用户表达感情,而且能够大量的节省带宽,只需要通过发送对应参数就可以完成。

现有的一种基于单个模型的表情驱动方法,通过应用rbf训练骨架结构建立源与目标之间的运动对应关系,然后通过训练得到的权值进行实时驱动,该方法虽然简单,但对于姿态的改变很容易造成模型的畸变。

综上所述,现有技术利用虚拟模型的驱动方法存在用户体验性差、模型容易产生畸变等缺点,无法满足在视频通话过程中利用虚拟模型来代替用户表达情绪的要求,同时,因为视频通话传输的是整个视频,对网络资源占用较多,容易出现视频卡顿、模糊或掉线的情况,用户体验不佳。



技术实现要素:

为了满足用户通过2d虚拟模型代替自身进行视频的需求,并有效地减少视频通话的带宽,同时,避免与陌生人交流过程中用户不愿意露脸的尴尬,提高用户体验,本发明实施例提供了一种2d虚拟模型的驱动方法及设备。所述技术方案如下:

第一方面,提供了一种2d虚拟模型的驱动方法,所述方法包括:

对当前人脸图像进行特征点定位,并获得所述特征点的2d坐标;

根据所述特征点的2d坐标获得所述特征点的正面化的3d坐标;

获取2d虚拟模型的3d坐标,根据所述2d虚拟模型的3d坐标与预先建立的人脸模型数据库的表情基数据的回归关系,建立所述2d虚拟模型的3d表情基;

根据所述正面化的3d坐标与所述2d虚拟模型的3d表情基,获取所述当前人脸与所述2d虚拟模型的3d表情基的拟合系数;

根据所述拟合系数,驱动所述2d虚拟模型。

结合第一方面,在第一种可能实现的方式中,所述对当前人脸图像进行特征点定位,并获得所述特征点的2d坐标包括:

对所述特征点中的眼睛部位特征点提取特征向量,并对所述特征向量进行特征降维;

将经过特征降维的特征向量输入预先训练的判别器以判别所述眼睛是否为闭眼状态;

当为闭眼状态时,将所述眼睛部位上眼睑的特征点坐标移至下眼睑的特征点位置。

结合第一方面,在第二种可能实现的方式中,所述根据所述特征点的2d坐标获得所述特征点的正面化的3d坐标包括:

根据预先训练的3d线性形状增益模型获取所述特征点的3d坐标;

根据所述特征点的2d坐标对所述3d坐标进行优化以获得所述特征点的正面化的3d坐标。

结合第一方面的第二种可能实现的方式,在第三种可能实现的方式中,所述根据所述特征点的2d坐标对所述3d坐标进行优化以获得所述特征点的正面化的3d坐标,包括:

根据所述特征点的2d坐标和预设公式正面化所述3d坐标。

结合第一方面,在第四种可能实现的方式中,所述获取2d虚拟模型的3d坐标包括:

获取所述2d虚拟模型的特征点的2d坐标;

根据所述2d虚拟模型的特征点的2d坐标,计算所述2d虚拟模型的特征点的3d坐标。

结合第一方面或第一方面的第四种可能实现的方式,在第五种可能实现的方式中,所述根据所述正面化的3d坐标与所述2d虚拟模型的3d表情基,获取所述当前人脸与所述2d虚拟模型表情基的拟合系数包括:

根据所述正面化的3d坐标与所述2d虚拟模型的3d表情基,通过二次规划获取所述拟合系数。

结合第一方面的第五种可能实现的方式,在第六种可能实现的方式中,所述根据所述拟合系数,驱动所述2d虚拟模型包括:

根据所述拟合系数,对所述2d虚拟模型的3d表情基进行加权,获取加权后的2d虚拟模型的特征点的3d坐标;

将所述加权后的2d虚拟模型的特征点的3d坐标转换回2d坐标;

根据所述转换回的所述2d坐标,驱动所述2d虚拟模型。

结合第一方面的第四种或第六种可能实现的方式,在第七种可能实现的方式中,所述方法还包括:

根据所述2d虚拟模型的特征点的2d坐标,对所述2d虚拟模型进行三角剖分;

获取剖分后的每个三角形内的像素点坐标。

结合第一方面的第七种可能实现的方式,在第八种可能实现的方式中,所述根据所述转换回的所述2d坐标,驱动所述2d虚拟模型包括:

根据所述转换回的所述2d坐标,计算剖分后的所述每个三角形内的像素点的位移;

根据所述位移,驱动所述2d虚拟模型。

第二方面,提供了一种电子设备,所述设备包括:

特征点定位模块,用于对当前人脸图像进行特征点定位,并获得所述特征点的2d坐标;

正面化模块,用于根据所述特征点的2d坐标获得所述特征点的正面化的3d坐标;

2d虚拟模型的3d坐标获取模块,用于获取2d虚拟模型的3d坐标;

建立表情基模块,用于根据所述2d虚拟模型的3d坐标与预先建立的人脸模型数据库的表情基数据的回归关系,建立所述2d虚拟模型的3d表情基;

拟合系数获取模块,用于根据所述正面化的3d坐标与所述2d虚拟模型的3d表情基,获取所述当前人脸与所述2d虚拟模型的3d表情基的拟合系数;

驱动模块,用于根据所述拟合系数,驱动所述2d虚拟模型。

结合第二方面,在第一种可能实现的方式中,所述特征点定位模块包括:

降维子模块,用于对所述特征点中的眼睛部位特征点提取特征向量,并对所述特征向量进行特征降维;

判别子模块,用于将经过特征降维的特征向量输入预先训练的判别器以判别所述眼睛是否为闭眼状态;

移动子模块,用于当为闭眼状态时,将所述眼睛部位上眼睑的特征点坐标移至下眼睑的特征点位置。

结合第二方面,在第二种可能实现的方式中,所述正面化模块包括:

3d坐标获取子模块,用于根据预先训练的3d线性形状增益模型获取所述特征点的3d坐标;

优化子模块,用于根据所述特征点的2d坐标对所述3d坐标进行优化以获得所述特征点的正面化的3d坐标。

结合第二方面的第二种可能实现的方式,在第三种可能实现的方式中,所述优化子模块具体用于:

根据所述特征点的2d坐标和预设公式正面化所述3d坐标。

结合第二方面,在第四种可能实现的方式中,所述2d虚拟模型的3d坐标获取模块包括:

2d虚拟模型的2d坐标获取子模块,用于获取所述2d虚拟模型的特征点的2d坐标;

2d虚拟模型的3d坐标计算子模块,用于根据所述2d虚拟模型的特征点的2d坐标,计算所述2d虚拟模型的特征点的3d坐标。

结合第二方面或第二方面的第四种可能实现的方式,在第五种可能实现的方式中,所述拟合系数获取模块包括:

二次规划子模块,用于根据所述正面化的3d坐标与所述2d虚拟模型的3d表情基,通过二次规划获取所述拟合系数。

结合第二方面的第五种可能实现的方式,在第六种可能实现的方式中,所述驱动模块包括:

3d表情基加权子模块,用于根据所述拟合系数,对所述2d虚拟模型的3d表情基进行加权,获取加权后的2d虚拟模型的特征点的3d坐标;

2d坐标转换子模块,用于将所述加权后的2d虚拟模型的特征点的3d坐标转换回2d坐标;

驱动子模块,用于根据所述转换回的所述2d坐标,驱动所述2d虚拟模型。

结合第二方面的第四种或第六种可能实现的方式,在第七种可能实现的方式中,所述设备还包括:

三角剖分模块,用于根据所述2d虚拟模型的特征点的2d坐标,对所述2d虚拟模型进行三角剖分;

像素点坐标获取模块,用于获取剖分后的每个三角形内的像素点坐标。

结合第二方面的第七种可能实现的方式,在第八种可能实现的方式中,所述驱动子模块具体用于:

根据所述转换回的所述2d坐标,计算剖分后的所述每个三角形内的像素点的位移;

根据所述位移,驱动所述2d虚拟模型。

第三方面,提供了一种电子设备,所述设备包括存储器以及与所述存储器连接的处理器,其中,所述存储器用于存储一组程序代码,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:

对当前人脸图像进行特征点定位,并获得所述特征点的2d坐标;

根据所述特征点的2d坐标获得所述特征点的正面化的3d坐标;

获取2d虚拟模型的3d坐标,根据所述2d虚拟模型的3d坐标与预先建立的人脸模型数据库的表情基数据的回归关系,建立所述2d虚拟模型的3d表情基;

根据所述正面化的3d坐标与所述2d虚拟模型的3d表情基,获取所述当前人脸与所述2d虚拟模型的3d表情基的拟合系数;

根据所述拟合系数,驱动所述2d虚拟模型。

结合第三方面,在第一种可能实现的方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:

对所述特征点中的眼睛部位特征点提取特征向量,并对所述特征向量进行特征降维;

将经过特征降维的特征向量输入预先训练的判别器以判别所述眼睛是否为闭眼状态;

当为闭眼状态时,将所述眼睛部位上眼睑的特征点坐标移至下眼睑的特征点位置。

结合第三方面,在第二种可能实现的方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:

根据预先训练的3d线性形状增益模型获取所述特征点的3d坐标;

根据所述特征点的2d坐标对所述3d坐标进行优化以获得所述特征点的正面化的3d坐标。

结合第三方面的第二种可能实现的方式,在第三种可能实现的方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:

根据所述特征点的2d坐标和预设公式正面化所述3d坐标。

结合第三方面,在第四种可能实现的方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:

获取所述2d虚拟模型的特征点的2d坐标;

根据所述2d虚拟模型的特征点的2d坐标,计算所述2d虚拟模型的特征点的3d坐标。

结合第三方面或第三方面的第四种可能实现的方式,在第五种可能实现的方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:

根据所述正面化的3d坐标与所述2d虚拟模型的3d表情基,通过二次规划获取所述拟合系数。

结合第三方面的第五种可能实现的方式,在第六种可能实现的方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:

根据所述拟合系数,对所述2d虚拟模型的3d表情基进行加权,获取加权后的2d虚拟模型的特征点的3d坐标;

将所述加权后的2d虚拟模型的特征点的3d坐标转换回2d坐标;

根据所述转换回的所述2d坐标,驱动所述2d虚拟模型。

结合第三方面的第四种或第六种可能实现的方式,在第七种可能实现的方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:

根据所述2d虚拟模型的特征点的2d坐标,对所述2d虚拟模型进行三角剖分;

获取剖分后的每个三角形内的像素点坐标。

结合第三方面的第七种可能实现的方式,在第八种可能实现的方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:

根据所述转换回的所述2d坐标,计算剖分后的所述每个三角形内的像素点的位移;

根据所述位移,驱动所述2d虚拟模型。

本发明实施例提供了一种2d虚拟模型的驱动方法及设备,通过对当前人脸图像进行特征点定位,并获得特征点的2d坐标,再根据特征点的2d坐标获得特征点的正面化的3d坐标,再获取2d虚拟模型的3d坐标,根据2d虚拟模型的3d坐标与预先建立的人脸模型数据库的表情基数据的回归关系,建立2d虚拟模型的3d表情基,进而根据正面化的3d坐标与2d虚拟模型的3d表情基,获取当前人脸与2d虚拟模型的3d表情基的拟合系数,最后根据拟合系数,驱动2d虚拟模型,从而在即时视频过程中用户能够通过虚拟模型表达自己的情感与他人进行交互,满足了用户通过2d虚拟模型代替自身进行视频的需求;并且因为通过2d虚拟模型进行视频时,只需向对方发送驱动虚拟模型的参数,从而相较于传统视频通话过程中传输整个视频而言,大大减少了对网络资源的占用,有效减少了视频通话的带宽,提高了传输速率;另外,通过2d虚拟模型进行视频通话时,因为其占用的带宽少,避免了传统视频通话容易出现的视频卡顿、模糊或掉线的情况,提高了用户体验;同时,在与陌生人社交场景中,用户能够通过2d虚拟模型进行视频,避免了与陌生人交流过程中用户不愿意露脸的尴尬,提高了用户体验。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种2d虚拟模型的驱动方法流程图;

图2是本发明实施例提供的一种2d虚拟模型的驱动方法流程图;

图3是本发明实施例提供的对人脸图像进行特征点定位的示意图;

图4是本发明实施例提供的表情基的示意图;

图5是本发明实施例提供的一种电子设备结构示意图;

图6是本发明实施例提供的一种电子设备结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

本发明实施例提供了一种2d虚拟模型的驱动方法,参照图1所示,该方法流程包括:

101、对当前人脸图像进行特征点定位,并获得所述特征点的2d坐标。

具体的,该过程包括:

对所述特征点中的眼睛部位特征点提取特征向量,并对所述特征向量进行特征降维;

将经过特征降维的特征向量输入预先训练的判别器以判别所述眼睛是否为闭眼状态;

当为闭眼状态时,将所述眼睛部位上眼睑的特征点坐标移至下眼睑的特征点位置。

102、根据所述特征点的2d坐标获得所述特征点的正面化的3d坐标。

具体的,该过程包括:

根据预先训练的3d线性形状增益模型获取所述特征点的3d坐标;

根据所述特征点的2d坐标对所述3d坐标进行优化以获得所述特征点的正面化的3d坐标。

其中,根据所述特征点的2d坐标对所述3d坐标进行优化以获得所述特征点的正面化的3d坐标的过程可以包括:

根据所述特征点的2d坐标和预设公式正面化所述3d坐标。

103、获取2d虚拟模型的3d坐标,根据所述2d虚拟模型的3d坐标与预先建立的人脸模型数据库的表情基数据的回归关系,建立所述2d虚拟模型的3d表情基。

具体的,获取2d虚拟模型的3d坐标的过程可以包括:

获取所述2d虚拟模型的特征点的2d坐标;

根据所述2d虚拟模型的特征点的2d坐标,计算所述2d虚拟模型的特征点的3d坐标。

104、根据所述正面化的3d坐标与所述2d虚拟模型的3d表情基,获取所述当前人脸与所述2d虚拟模型的3d表情基的拟合系数。

具体的,根据所述正面化的3d坐标与所述2d虚拟模型的3d表情基,通过二次规划获取所述拟合系数。

105、根据所述拟合系数,驱动所述2d虚拟模型。

具体的,该过程包括:

根据所述拟合系数,对所述2d虚拟模型的3d表情基进行加权,获取加权后的2d虚拟模型的特征点的3d坐标;

将所述加权后的2d虚拟模型的特征点的3d坐标转换回2d坐标;

根据所述转换回的所述2d坐标,驱动所述2d虚拟模型。

其中,所述根据所述转换回的所述2d坐标,驱动所述2d虚拟模型的过程可以包括:

根据所述2d虚拟模型的特征点的2d坐标,对所述2d虚拟模型进行三角剖分;

获取剖分后的每个三角形内的像素点坐标;

根据所述转换回的所述2d坐标,计算剖分后的所述每个三角形内的像素点的位移;

根据所述位移,驱动所述2d虚拟模型。

本发明实施例提供了一种2d虚拟模型的驱动方法,通过对当前人脸图像进行特征点定位,并获得特征点的2d坐标,再根据特征点的2d坐标获得特征点的正面化的3d坐标,再获取2d虚拟模型的3d坐标,根据2d虚拟模型的3d坐标与预先建立的人脸模型数据库的表情基数据的回归关系,建立2d虚拟模型的3d表情基,进而根据正面化的3d坐标与2d虚拟模型的3d表情基,获取当前人脸与2d虚拟模型的3d表情基的拟合系数,最后根据拟合系数,驱动2d虚拟模型,从而在即时视频过程中用户能够通过虚拟模型表达自己的情感与他人进行交互,满足了用户通过2d虚拟模型代替自身进行视频的需求;并且因为通过2d虚拟模型进行视频时,只需向对方发送驱动虚拟模型的参数,从而相较于传统视频通话过程中传输整个视频而言,大大减少了对网络资源的占用,有效减少了视频通话的带宽,提高了传输速率;另外,通过2d虚拟模型进行视频通话时,因为其占用的带宽少,避免了传统视频通话容易出现的视频卡顿、模糊或掉线的情况,提高了用户体验;同时,在与陌生人社交场景中,用户能够通过2d虚拟模型进行视频,避免了与陌生人交流过程中用户不愿意露脸的尴尬,提高了用户体验。

实施例二

本发明实施例提供了一种2d虚拟模型的驱动方法,参照图2所示,该方法流程包括:

201、对当前人脸图像进行特征点定位,并获得所述特征点的2d坐标。

具体地,可以采用基于形状回归的方法对人脸图像中的人脸特征点进行定位。人脸特征点定位是在人脸检测的基础上,进一步定位人脸的眼睛、眉毛、鼻子和嘴巴轮廓等。可以利用特征点附近的信息以及各个特征点之间的相互关系来定位特征点,例如采用论文“facialanimationretargetingframeworkusingradialbasisfunctions”中的算法采集人脸66个特征点的2d坐标,其中,示例性的,对人脸图像进行特征点定位可以参照图3中a所示。

对于特征点定位,当带上眼镜,或者受到光照影响,人脸图像中眼睛部位的特征点几乎不运动,因此,对眼睛部分的特征点定位以及眼睛部分的特征点2d坐标的获取,可以单独处理。

该过程可以包括:

a、对所述特征点中的眼睛部位特征点提取特征向量,并对所述特征向量进行特征降维。

其中,本发明实施例所述的特征向量可以是sift(scale-invariantfeaturetransform,尺度不变特征变换)特征向量。

具体的,对所述特征点中的眼睛部位特征点提取sift特征向量,并对sift特征向量进行特征降维。

由于sift特征向量具备较强的鲁棒性,在尺度缩放、亮度变换下能够保持不变形,且在角度变换、放射变换以及噪声方面的稳定性也较强,所以,将sift特征向量作为眼睛部位对应的特征向量,可以提高对眼睛部位特征点定位的准确性,从而提高了通过人脸图像中的眼部动作驱动2d虚拟模型眼部的准确性,提高了驱动2d虚拟模型的准确性,进一步提高了用户体验。

b、将经过特征降维的特征向量输入预先训练的判别器以判别所述眼睛是否为闭眼状态。

其中,该判别器可以通过以下方式训练所得:

b1、选择睁闭眼样本各为若干个(例如1000个)。需要说明的是,为了增加样本的多样性,可以挑选每个类别的样本中包括各种光照、姿态以及戴眼镜和不戴眼镜等样本,这样可以有效增强最终的泛化能力。

b2、对样本进行特征点定位,然后抽取眼角两个特征点的尺度不变特征变换特征以得到128维的特征向量。上述两个特征点的所述128维的特征向量结合成为256维的长向量,进而每个样本均形成256维的sift特征向量,对于每个类别的1000个样本即产生256*1000的矩阵向量。

b3、对256*1000的矩阵向量进行降维处理。

具体地,可以将256维数据通过主成分分析(即pca)算法降低到100维数据。实验表明,这样依然可以保留原有98%的能量信息。

通过降维处理消除了大量样本信息中的冗余和重复的信息,减少数据存储容量,并且改善数据的可理解性,减少噪声的影响,提高学习的精度。

b4、基于支持向量机构造眼睛睁闭判别器。

利用步骤b3中经过降维后的数据的特征向量作为支持向量机的训练集,标注睁眼样本为1,闭眼样本为0,具体步骤如下:

首先,选取最佳参数。可以选取rbf(radialbasisfunction,径向基函数)核函数,该rbf核函数可以为:

k(x-c)=exp(-g||x-c||2)

其中,c为惩罚系数,g为函数的宽度参数,k(x-c)为训练结果,x为输入值,该输入值即多个用于描述人眼的特征向量,通过交叉验证的方式,确定rbf核函数中的最佳参数c和g;

根据rbf核函数,对整个训练集进行训练。

进一步地,为了训练一个最优的判别器,还要选取一个最优的惩罚系数。其次,利用最佳参数c和g对整个训练集进行训练,当完成训练之后,根据该rbf核函数,分别生成对应的眼睛睁闭判别器。

通过步骤b1-b4训练所得的判别器在公开的人脸测试集lfw上随机选取1498个样本,并对样本进行标注以进行性能测试,最后获得98.9%的正确识别率。

c、当为闭眼状态时,将所述眼睛部位上眼睑的特征点坐标移至下眼睑的特征点位置。

202、根据所述特征点的2d坐标获得所述特征点的正面化的3d坐标。

具体的,该过程包括:

a、根据预先训练的3d线性形状增益模型获取所述特征点的3d坐标。

其中,可以根据以下公式获得所述特征点的3d坐标:

其中,i=1,2...,l,l为所述特征点的数量,s表示缩放尺度,r表示旋转矩阵,t表示偏移量,表情中性表情的3d坐标,ψ表示为三维线性形状增益模型,γ为非刚性人脸参数。

根据该预设公式,获取参数s、r以及t。

需要说明的是,可以通过以下过程训练所述3d线性形状增益模型:首先,在multi-pie等数据集上采用“从运动中恢复结构”的3d重构技术,对2d的特征点的数据集计算以求取对应的3d坐标点;然后,将人脸的特征点分成三个部分:眼睛的轮廓,眉毛的轮廓,嘴巴和/或鼻子的轮廓,对于每个部分分别进行奇异值分解,得到ψeyes,ψeyebrows,ψmouth;最后再将每个部分进行重构以获取3d线性形状增益模型。

b、根据所述特征点的2d坐标对所述3d坐标进行优化以获得所述特征点的正面化的3d坐标。

具体的,根据所述特征点的2d坐标和预设公式正面化所述3d坐标。

其中,可以根据以下预设公式正面化所述3d坐标:

其中,xi,yi为所述特征点的二维坐标,zi为相对深度值,ε为阈值,ρ为惩罚项,i=1,2...,l,l为所述特征点的数量。

通过获取3d线性形状增益模型计算特征点的3d坐标,并对计算的3d坐标进行优化,使得获取的3d坐标正面化,同时保持了获取的3d坐标尺度一致,从而保证了通过该3d坐标获取拟合系数的准确性与稳定性,进一步提高了驱动2d虚拟模型的准确性,提高了用户体验,满足了用户通过2d虚拟模型代替自身进行视频表达情感的需求。

示例性的,根据人脸图像的2d特征点在模板人脸上定位的正面化的3d坐标可以参照图3中b所示。

203、获取2d虚拟模型的3d坐标。

该过程可以包括:

a、获取所述2d虚拟模型的特征点的2d坐标。

具体的,该步骤与步骤201类似,此处不再加以赘述。

b、根据所述2d虚拟模型的特征点的2d坐标,计算所述2d虚拟模型的特征点的3d坐标。

具体的,该步骤与步骤202类似,此处不再加以赘述。

204、根据所述2d虚拟模型的3d坐标与预先建立的人脸模型数据库的表情基数据的回归关系,建立所述2d虚拟模型的3d表情基。

具体的,建立该2d虚拟模型的3d坐标与预先建立的人脸模型数据库中的中性表情之间的回归关系,再根据该回归关系,通过径向基函数获取该2d虚拟模型与人脸模型数据库对应数量的3d表情基,示例性的,该对应数量可以为52个。

其中,该人脸模型数据库可以通过以下方式建立:

制作同一个3d模型的若干个表情基数据(例如52个)作为训练表情基,示例性的,参照图4所示,是建立的其中的一个脸型对应的52种表情基;进一步地,在52个3d模型上分别提取若干个(与步骤201中定位的特征点数量一致,例如为66个)与2d人脸对应的3d坐标点;由于上述建立的表情基具有相同的网络拓扑结构,因此可以选取其中一个中性表情基上的66个特征点的顶点索引坐标,进而扩展到所有模型,建立和52个模型对应的3d坐标数据库;分别对该52个表情基的3d坐标数据去除z轴的深度信息,获得2d坐标,再对获得的2d坐标进行步骤202的操作,获取正面化后的3d坐标,这样就获得了52个表情基的先验知识,其将用于通过径向函数建立与所要驱动的每一个2d虚拟模型相对应的52个3d表情基。

需要说明的是,该人脸模型数据库的建立过程可以是在线下完成。

需要说明的是,步骤203至步骤204是实现获取2d虚拟模型的3d坐标,根据所述2d虚拟模型的3d坐标与预先建立的人脸模型数据库的表情基数据的回归关系,建立所述2d虚拟模型的3d表情基的过程,除了上述方式之外,还可以通过其他方式实现该过程,本发明实施例对具体的方式不加以限定。

205、根据所述2d虚拟模型的特征点的2d坐标,对所述2d虚拟模型进行三角剖分。

其中,该三角剖分可以为delaunay三角剖分。

具体的,根据该2d虚拟模型的特征点的2d坐标,对2d虚拟模型进行delaunay三角剖分。

206、获取剖分后的每个三角形内的像素点坐标。

具体的,根据delaunay三角剖分的结果,获取2d虚拟模型的特征点组成的每个三角形内对应的像素点,每个像素点的坐标可以根据其所在三角形的三个关键顶点线性表达。

需要说明的是,步骤205至步骤206只要在步骤208之前执行即可,本发明实施例对具体的步骤205至步骤206的执行顺序不加以限定。

207、根据所述正面化的3d坐标与所述2d虚拟模型的3d表情基,获取所述当前人脸与所述2d虚拟模型的3d表情基的拟合系数。

具体的,根据所述正面化的3d坐标与所述2d虚拟模型的3d表情基,通过二次规划获取所述拟合系数。

其中,可以根据以下公式获取人脸表情基的拟合系数:

其中,αi为表情基权重系数,gr为当前人脸图像的3d坐标,为2d虚拟模型对应的52个表情基数据。

208、根据所述拟合系数,驱动所述2d虚拟模型。

该过程包括:

a、根据所述拟合系数,对所述2d虚拟模型的3d表情基进行加权,获取加权后的2d虚拟模型的特征点的3d坐标。

具体的,通过以下预设公式对所述2d虚拟模型的3d表情基进行加权,获取加权后的2d虚拟模型的特征点的3d坐标:

其中,其中,αi即为拟合系数,g0为2d虚拟模型的中性表情基的3d顶点数据,gi为2d虚拟模型的其他表情基的3d顶点数据。

b、将所述加权后的2d虚拟模型的特征点的3d坐标转换回2d坐标。

具体的,通过以下预设公式将所述加权后的2d虚拟模型的特征点的3d坐标转换回2d坐标:

s2d=s-1rt([xi;yi;zi]-[tx;ty;0])

其中,s、r以及t为步骤202中步骤a计算的参数。

c、根据所述转换回的所述2d坐标,驱动所述2d虚拟模型。

该过程可以包括:

根据所述转换回的所述2d坐标,计算剖分后的所述每个三角形内的像素点的位移;

根据所述位移,驱动所述2d虚拟模型。

具体的,根据转换回的2d坐标以及对2d虚拟模型进行三角剖分的结果,获取该帧中2d虚拟模型的转换回的2d特征点组成的三角形的顶点对应的像素点的坐标;通过线性插值计算上一帧的2d虚拟模型的三角形内的像素点的坐标在该帧中的位移;根据该位移,驱动上一帧2d虚拟模型的三角形内的像素点的坐标移动至新的坐标位置。

本发明实施例提供了一种2d虚拟模型的驱动方法,通过对当前人脸图像进行特征点定位,并获得特征点的2d坐标,再根据特征点的2d坐标获得特征点的正面化的3d坐标,再获取2d虚拟模型的3d坐标,根据2d虚拟模型的3d坐标与预先建立的人脸模型数据库的表情基数据的回归关系,建立2d虚拟模型的3d表情基,进而根据正面化的3d坐标与2d虚拟模型的3d表情基,获取当前人脸与2d虚拟模型的3d表情基的拟合系数,最后根据拟合系数,驱动2d虚拟模型,从而在即时视频过程中用户能够通过虚拟模型表达自己的情感与他人进行交互,满足了用户通过2d虚拟模型代替自身进行视频的需求;并且因为通过2d虚拟模型进行视频时,只需向对方发送驱动虚拟模型的参数,从而相较于传统视频通话过程中传输整个视频而言,大大减少了对网络资源的占用,有效减少了视频通话的带宽,提高了传输速率;另外,通过2d虚拟模型进行视频通话时,因为其占用的带宽少,避免了传统视频通话容易出现的视频卡顿、模糊或掉线的情况,提高了用户体验;同时,在与陌生人社交场景中,用户能够通过2d虚拟模型进行视频,避免了与陌生人交流过程中用户不愿意露脸的尴尬,提高了用户体验。

实施例三

本发明实施例提供了一种电子设备5,参照图5所示,该电子设备包括:

特征点定位模块51,用于对当前人脸图像进行特征点定位,并获得所述特征点的2d坐标;

正面化模块52,用于根据所述特征点的2d坐标获得所述特征点的正面化的3d坐标;

2d虚拟模型的3d坐标获取模块53,用于获取2d虚拟模型的3d坐标;

建立表情基模块54,用于根据所述2d虚拟模型的3d坐标与预先建立的人脸模型数据库的表情基数据的回归关系,建立所述2d虚拟模型的3d表情基;

拟合系数获取模块55,用于根据所述正面化的3d坐标与所述2d虚拟模型的3d表情基,获取所述当前人脸与所述2d虚拟模型的3d表情基的拟合系数;

驱动模块56,用于根据所述拟合系数,驱动所述2d虚拟模型。

可选的,所述特征点定位模块51包括:

降维子模块,用于对所述特征点中的眼睛部位特征点提取特征向量,并对所述特征向量进行特征降维;

判别子模块,用于将经过特征降维的特征向量输入预先训练的判别器以判别所述眼睛是否为闭眼状态;

移动子模块,用于当为闭眼状态时,将所述眼睛部位上眼睑的特征点坐标移至下眼睑的特征点位置。

可选的,所述正面化模块52包括:

3d坐标获取子模块,用于根据预先训练的3d线性形状增益模型获取所述特征点的3d坐标;

优化子模块,用于根据所述特征点的2d坐标对所述3d坐标进行优化以获得所述特征点的正面化的3d坐标。

可选的,所述优化子模块具体用于:

根据所述特征点的2d坐标和预设公式正面化所述3d坐标。

可选的,所述2d虚拟模型的3d坐标获取模块53包括:

2d虚拟模型的2d坐标获取子模块,用于获取所述2d虚拟模型的特征点的2d坐标;

2d虚拟模型的3d坐标计算子模块,用于根据所述2d虚拟模型的特征点的2d坐标,计算所述2d虚拟模型的特征点的3d坐标。

可选的,所述拟合系数获取模块55包括:

二次规划子模块,用于根据所述正面化的3d坐标与所述2d虚拟模型的3d表情基,通过二次规划获取所述拟合系数。

可选的,所述驱动模块56包括:

3d表情基加权子模块,用于根据所述拟合系数,对所述2d虚拟模型的3d表情基进行加权,获取加权后的2d虚拟模型的特征点的3d坐标;

2d坐标转换子模块,用于将所述加权后的2d虚拟模型的特征点的3d坐标转换回2d坐标;

驱动子模块,用于根据所述转换回的所述2d坐标,驱动所述2d虚拟模型。

可选的,所述设备还包括:

三角剖分模块57,用于根据所述2d虚拟模型的特征点的2d坐标,对所述2d虚拟模型进行三角剖分;

像素点坐标获取模块58,用于获取剖分后的每个三角形内的像素点坐标。

可选的,所述驱动子模块具体用于:

根据所述转换回的所述2d坐标,计算剖分后的所述每个三角形内的像素点的位移;

根据所述位移,驱动所述2d虚拟模型。

本发明实施例提供了一种电子设备,通过对当前人脸图像进行特征点定位,并获得特征点的2d坐标,再根据特征点的2d坐标获得特征点的正面化的3d坐标,再获取2d虚拟模型的3d坐标,根据2d虚拟模型的3d坐标与预先建立的人脸模型数据库的表情基数据的回归关系,建立2d虚拟模型的3d表情基,进而根据正面化的3d坐标与2d虚拟模型的3d表情基,获取当前人脸与2d虚拟模型的3d表情基的拟合系数,最后根据拟合系数,驱动2d虚拟模型,从而在即时视频过程中用户能够通过虚拟模型表达自己的情感与他人进行交互,满足了用户通过2d虚拟模型代替自身进行视频的需求;并且因为通过2d虚拟模型进行视频时,只需向对方发送驱动虚拟模型的参数,从而相较于传统视频通话过程中传输整个视频而言,大大减少了对网络资源的占用,有效减少了视频通话的带宽,提高了传输速率;另外,通过2d虚拟模型进行视频通话时,因为其占用的带宽少,避免了传统视频通话容易出现的视频卡顿、模糊或掉线的情况,提高了用户体验;同时,在与陌生人社交场景中,用户能够通过2d虚拟模型进行视频,避免了与陌生人交流过程中用户不愿意露脸的尴尬,提高了用户体验。

实施例四

本发明实施例提供了一种电子设备6,参照图6所示,所述电子设备包括存储器61以及与所述存储器连接的处理器62,其中,所述存储器61用于存储一组程序代码,所述处理器62调用所述存储器61所存储的程序代码用于执行以下操作:

对当前人脸图像进行特征点定位,并获得所述特征点的2d坐标;

根据所述特征点的2d坐标获得所述特征点的正面化的3d坐标;

获取2d虚拟模型的3d坐标,根据所述2d虚拟模型的3d坐标与预先建立的人脸模型数据库的表情基数据的回归关系,建立所述2d虚拟模型的3d表情基;

根据所述正面化的3d坐标与所述2d虚拟模型的3d表情基,获取所述当前人脸与所述2d虚拟模型的3d表情基的拟合系数;

根据所述拟合系数,驱动所述2d虚拟模型。

可选的,所述处理器62调用所述存储器61所存储的程序代码用于执行以下操作:

对所述特征点中的眼睛部位特征点提取特征向量,并对所述特征向量进行特征降维;

将经过特征降维的特征向量输入预先训练的判别器以判别所述眼睛是否为闭眼状态;

当为闭眼状态时,将所述眼睛部位上眼睑的特征点坐标移至下眼睑的特征点位置。

可选的,所述处理器62调用所述存储器61所存储的程序代码用于执行以下操作:

根据预先训练的3d线性形状增益模型获取所述特征点的3d坐标;

根据所述特征点的2d坐标对所述3d坐标进行优化以获得所述特征点的正面化的3d坐标。

可选的,所述处理器62调用所述存储器61所存储的程序代码用于执行以下操作:

根据所述特征点的2d坐标和预设公式正面化所述3d坐标。

可选的,所述处理器62调用所述存储器61所存储的程序代码用于执行以下操作:

获取所述2d虚拟模型的特征点的2d坐标;

根据所述2d虚拟模型的特征点的2d坐标,计算所述2d虚拟模型的特征点的3d坐标。

可选的,所述处理器62调用所述存储器61所存储的程序代码用于执行以下操作:

根据所述正面化的3d坐标与所述2d虚拟模型的3d表情基,通过二次规划获取所述拟合系数。

可选的,所述处理器62调用所述存储器61所存储的程序代码用于执行以下操作:

根据所述拟合系数,对所述2d虚拟模型的3d表情基进行加权,获取加权后的2d虚拟模型的特征点的3d坐标;

将所述加权后的2d虚拟模型的特征点的3d坐标转换回2d坐标;

根据所述转换回的所述2d坐标,驱动所述2d虚拟模型。

可选的,所述处理器62调用所述存储器61所存储的程序代码用于执行以下操作:

根据所述2d虚拟模型的特征点的2d坐标,对所述2d虚拟模型进行三角剖分;

获取剖分后的每个三角形内的像素点坐标。

可选的,所述处理器62调用所述存储器61所存储的程序代码用于执行以下操作:

根据所述转换回的所述2d坐标,计算剖分后的所述每个三角形内的像素点的位移;

根据所述位移,驱动所述2d虚拟模型。

本发明实施例提供了一种电子设备,通过对当前人脸图像进行特征点定位,并获得特征点的2d坐标,再根据特征点的2d坐标获得特征点的正面化的3d坐标,再获取2d虚拟模型的3d坐标,根据2d虚拟模型的3d坐标与预先建立的人脸模型数据库的表情基数据的回归关系,建立2d虚拟模型的3d表情基,进而根据正面化的3d坐标与2d虚拟模型的3d表情基,获取当前人脸与2d虚拟模型的3d表情基的拟合系数,最后根据拟合系数,驱动2d虚拟模型,从而在即时视频过程中用户能够通过虚拟模型表达自己的情感与他人进行交互,满足了用户通过2d虚拟模型代替自身进行视频的需求;并且因为通过2d虚拟模型进行视频时,只需向对方发送驱动虚拟模型的参数,从而相较于传统视频通话过程中传输整个视频而言,大大减少了对网络资源的占用,有效减少了视频通话的带宽,提高了传输速率;另外,通过2d虚拟模型进行视频通话时,因为其占用的带宽少,避免了传统视频通话容易出现的视频卡顿、模糊或掉线的情况,提高了用户体验;同时,在与陌生人社交场景中,用户能够通过2d虚拟模型进行视频,避免了与陌生人交流过程中用户不愿意露脸的尴尬,提高了用户体验。

上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。

需要说明的是:上述实施例提供的电子设备在执行2d虚拟模型的驱动方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的电子设备与2d虚拟模型的驱动方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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