一种3D虚拟模型的驱动方法及装置与流程

文档序号:11591700阅读:305来源:国知局

本发明涉及计算机技术领域,特别涉及一种3d虚拟模型的驱动方法及装置。



背景技术:

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

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

现有的一种基于单个视频摄像机的实时人脸动画方法,对人脸标注75个点,其中包括60个内部点,以及标注的眼、眉、鼻、嘴15个轮廓点,把人脸跟踪回归算法两步变成一步,直接回归人脸的姿态和表情系数。但是该方法需要用户事先采集60张各种姿态下的人脸,并且标注75个关键点作为训练数据,因此大大降低了用户体验。

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

综上所述,现有技术3d虚拟模型的驱动方法存在用户体验性差、模型容易产生畸变等缺点,无法满足在视频通话过程中利用3d虚拟模型来代替用户表达情绪的要求。



技术实现要素:

为了满足在视频通话过程中利用3d虚拟模型来代替用户表达情绪的要求,本发明提供一种3d虚拟模型的驱动方法及装置。

本发明采用以下技术方案:

一种3d虚拟模型的驱动方法,所述方法包括:对当前人脸图像进行特征点定位,并获得所述特征点的二维坐标;根据所述特征点的二维坐标获得所述特征点的正面化的三维坐标;根据所述三维坐标获得标准化的当前人脸模型;将所述当前人脸模型与预先建立的人脸模型数据库中的人脸模型进行匹配,以从所述人脸模型数据库中获得与所述当前人脸模型最相似的人脸模型;根据所述三维坐标和所述最相似的人脸模型对应的表情基数据,获得所述当前人脸与所述最相似的人脸模型对应的表情基数据的拟合系数;根据所述拟合系数,驱动3d虚拟模型。

优选地,所述对当前人脸图像进行特征点定位,并获得所述特征点的二维坐标,包括:对所述特征点中的眼睛部位特征点提取尺度不变特征变换特征向量,并对所述尺度不变特征变换特征向量进行特征降维;将经过特征降维的尺度不变特征变换特征向量输入预先训练的判别器以判别所述眼睛是否为闭眼状态;当为闭眼状态时,将所述眼睛部位上眼睑的特征点坐标移至下眼睑的特征点位置。

优选地,所述根据所述特征点的二维坐标获得所述特征点的正面化的三维坐标,包括:根据预先训练的三维线性形状增益模型获得所述特征点的三维坐标;根据所述特征点的二维坐标对所述三维坐标进行优化以获得所述特征点的正面化的三维坐标。

优选地,所述根据所述特征点的二维坐标对所述三维坐标进行优化以获得所述特征点的正面化的三维坐标,包括:根据所述特征点的二维坐标和预设公式正面化所述三维坐标。

优选地,所述根据所述三维坐标获得标准化的当前人脸模型,包括:去除所述三维坐标中的z轴的深度值以获得二维坐标;对获得的所述二维坐标进行普氏分析获得所述标准化的当前人脸模型。

优选地,所述将所述当前人脸模型与预先建立的人脸模型数据库中的人脸模型进行匹配,以从所述人脸模型数据库中获得与所述当前人脸模型最相似的人脸模型,包括:分别获得当前人脸模型与预先建立的人脸模型数据库中的人脸模型的相似距离;以所述人脸模型数据库中与所述当前人脸模型相似距离最小的人脸模型为所述最相似的人脸模型。

优选地,所述分别获得当前人脸模型与预先建立的人脸模型数据库中的人脸模型的相似距离,包括:分别获得当前人脸模型中的轮廓部分与预先建立的人脸模型数据库中的人脸模型的轮廓部分的豪斯多夫距离、当前人脸模型中的嘴巴部分与预先建立的人脸模型数据库中的人脸模型的嘴巴部分的豪斯多夫距离,以及当前人脸模型中的眼睛部分与预先建立的人脸模型数据库中的人脸模型的眼睛部分的豪斯多夫距离;对上述各个部分的豪斯多夫距离加权求和得到当前人脸模型与预先建立的人脸模型数据库中的人脸模型的相似距离。

优选地,所述根据所述三维坐标和所述最相似的人脸模型对应的表情基数据,获得所述当前人脸与所述最相似的人脸模型对应的表情基数据的拟合系数,包括:根据所述三维坐标和所述最相似的人脸模型对应的表情基数据,通过二次规划获取所述拟合系数。

优选地,所述拟合系数包括眉毛部分的拟合系数,眼睛部分的拟合系数和嘴巴部分的拟合系数。

优选地,所述根据所述拟合系数,驱动3d虚拟模型,包括:根据所述拟合系数对3d虚拟模型进行拟合,获取所述3d虚拟模型的所有顶点的新位置信息;

根据所述所有顶点的新位置信息显示所述3d虚拟模型。

优选地,所述根据所述拟合系数对3d虚拟模型进行拟合,获取所述3d虚拟模型的所有顶点的新位置信息,包括:分别根据眉毛部分的拟合系数,眼睛 部分的拟合系数和嘴巴部分的拟合系数,对3d虚拟模型进行拟合,获取所述3d虚拟模型的所有顶点的新位置信息。

本发明还提供一种3d虚拟模型的驱动装置,所述装置包括:特征点定位模块,用于对当前人脸图像进行特征点定位,并获得所述特征点的二维坐标;正面化模块,用于根据所述特征点的二维坐标获得所述特征点的正面化的三维坐标;标准化模块,根据所述三维坐标获得标准化的当前人脸模型;匹配模块,用于将所述当前人脸模型与预先建立的人脸模型数据库中的人脸模型进行匹配,以从所述人脸模型数据库中获得与所述当前人脸模型最相似的人脸模型;拟合系数获得模块,用于根据所述三维坐标和所述最相似的人脸模型对应的表情基数据,获得所述当前人脸与所述最相似的人脸模型对应的表情基数据的拟合系数;驱动模块,用于根据所述拟合系数,驱动3d虚拟模型。

优选地,所述特征点定位模块包括:降维子模块,用于对所述特征点中的眼睛部位特征点提取尺度不变特征变换特征向量,并对所述尺度不变特征变换特征向量进行特征降维;判别子模块,用于将经过特征降维的尺度不变特征变换特征向量输入预先训练的判别器以判别所述眼睛是否为闭眼状态;移动子模块,用于当为闭眼状态时,将所述眼睛部位上眼睑的特征点坐标移至下眼睑的特征点位置。

优选地,所述正面化模块包括:三维坐标获得子模块,用于根据预先训练的三维线性形状增益模型获得所述特征点的三维坐标;优化子模块,用于根据所述特征点的二维坐标对所述三维坐标进行优化以获得所述特征点的正面化的三维坐标。

优选地,所述优化子模块包括:优化单元,用于根据所述特征点的二维坐标和预设公式正面化所述三维坐标。

优选地,所述标准化模块包括:z轴去除子模块,用于去除所述三维坐标中的z轴的深度值以获得二维坐标;分析子模块,用于对获得的所述二维坐标进行普氏分析获得所述标准化的当前人脸模型。

优选地,所述匹配模块包括:相似距离获得子模块,用于分别获得当前人脸模型与预先建立的人脸模型数据库中的人脸模型的相似距离;最相似的人脸模块获得子模块,用于以所述人脸模型数据库中与所述当前人脸模型相似距离最小的人脸模型为所述最相似的人脸模型。

优选地,所述相似距离获得子模块包括:相似距离获得单元,用于分别获得当前人脸模型中的轮廓部分与预先建立的人脸模型数据库中的人脸模型的轮廓部分的豪斯多夫距离、当前人脸模型中的嘴巴部分与预先建立的人脸模型数据库中的人脸模型的嘴巴部分的豪斯多夫距离,以及当前人脸模型中的眼睛部分与预先建立的人脸模型数据库中的人脸模型的眼睛部分的豪斯多夫距离;加权求和单元,用于对上述各个部分的豪斯多夫距离加权求和得到当前人脸模型与预先建立的人脸模型数据库中的人脸模型的相似距离。

优选地,所述拟合系数获得模块包括:二次规划单元,用于根据所述三维坐标和所述最相似的人脸模型对应的表情基数据,通过二次规划获取所述拟合系数。

优选地,所述拟合系数包括眉毛部分的拟合系数,眼睛部分的拟合系数和嘴巴部分的拟合系数。

优选地,所述驱动模块包括:新位置信息获得子模块,用于根据所述拟合系数对3d虚拟模型进行拟合,获取所述3d虚拟模型的所有顶点的新位置信息;显示子模块,用于根据所述所有顶点的新位置信息显示所述3d虚拟模型。

优选地,所述新位置信息获得子模块包括:新位置信息获得单元,用于分别根据眉毛部分的拟合系数,眼睛部分的拟合系数和嘴巴部分的拟合系数,对3d虚拟模型进行拟合,获取所述3d虚拟模型的所有顶点的新位置信息。

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

对当前人脸图像进行特征点定位,并获得所述特征点的二维坐标;根据所 述特征点的二维坐标获得所述特征点的正面化的三维坐标;根据所述三维坐标获得标准化的当前人脸模型;将所述当前人脸模型与预先建立的人脸模型数据库中的人脸模型进行匹配,以从所述人脸模型数据库中获得与所述当前人脸模型最相似的人脸模型;根据所述三维坐标和所述最相似的人脸模型对应的表情基数据,获得所述当前人脸与所述最相似的人脸模型对应的表情基数据的拟合系数;根据所述拟合系数,驱动3d虚拟模型。

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

对所述特征点中的眼睛部位特征点提取尺度不变特征变换特征向量,并对所述尺度不变特征变换特征向量进行特征降维;将经过特征降维的尺度不变特征变换特征向量输入预先训练的判别器以判别所述眼睛是否为闭眼状态;当为闭眼状态时,将所述眼睛部位上眼睑的特征点坐标移至下眼睑的特征点位置。

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

根据预先训练的三维线性形状增益模型获得所述特征点的三维坐标;根据所述特征点的二维坐标对所述三维坐标进行优化以获得所述特征点的正面化的三维坐标。

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

根据所述特征点的二维坐标和预设公式正面化所述三维坐标。

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

去除所述三维坐标中的z轴的深度值以获得二维坐标;对获得的所述二维坐标进行普氏分析获得所述标准化的当前人脸模型。

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

分别获得当前人脸模型与预先建立的人脸模型数据库中的人脸模型的相似距离;以所述人脸模型数据库中与所述当前人脸模型相似距离最小的人脸模型为所述最相似的人脸模型。

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

分别获得当前人脸模型中的轮廓部分与预先建立的人脸模型数据库中的人 脸模型的轮廓部分的豪斯多夫距离、当前人脸模型中的嘴巴部分与预先建立的人脸模型数据库中的人脸模型的嘴巴部分的豪斯多夫距离,以及当前人脸模型中的眼睛部分与预先建立的人脸模型数据库中的人脸模型的眼睛部分的豪斯多夫距离;对上述各个部分的豪斯多夫距离加权求和得到当前人脸模型与预先建立的人脸模型数据库中的人脸模型的相似距离。

优选地所述处理器调用所述存储器所存储的程序代码用于执行以下操作:

根据所述三维坐标和所述最相似的人脸模型对应的表情基数据,通过二次规划获取所述拟合系数。

优选地,所述拟合系数包括眉毛部分的拟合系数,眼睛部分的拟合系数和嘴巴部分的拟合系数。

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

根据所述拟合系数对3d虚拟模型进行拟合,获取所述3d虚拟模型的所有顶点的新位置信息;

根据所述所有顶点的新位置信息显示所述3d虚拟模型。

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

分别根据眉毛部分的拟合系数,眼睛部分的拟合系数和嘴巴部分的拟合系数,对3d虚拟模型进行拟合,获取所述3d虚拟模型的所有顶点的新位置信息。

本发明的3d虚拟模型的驱动方法及装置的有益效果包括:

根据本发明的3d虚拟模型的驱动方法,通过对当前人脸图像进行特征点定位,获得所述特征点的二维坐标,再根据所述特征点的二维坐标获得所述特征点的正面化的三维坐标,再根据所述三维坐标获得标准化的当前人脸模型,进而将所述当前人脸模型与预先建立的人脸模型数据库中的人脸模型进行匹配,以从所述人脸模型数据库中获得与所述当前人脸模型最相似的人脸模型,再根据所述三维坐标和所述最相似的人脸模型对应的表情基数据,获得所述当前人脸与所述最相似的人脸模型对应的表情基数据的拟合系数,最后根据所述拟合系数驱动3d虚拟模型,能够更有效地减少视频通话的带宽,仅需传递极少的参 数即完成与对方的交流,因而更好地满足在视频通话过程中利用3d虚拟模型来代替用户表达情绪的要求,避免陌生人交友时不愿意露脸的尴尬。

附图说明

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

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

图2-1及图2-2是本发明实施例的对人脸图像进行特征点定位的示意图;

图3是本发明实施例的表情基的示意图;

图4-1及图4-2是本发明实施例的根据虚拟系数驱动3d虚拟模型的示意图;

图5是本发明实施例提供的一种3d虚拟模型的驱动装置的结构示意图;

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

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

实施例一

图1示出了本发明实施例提供的一种3d虚拟模型的驱动方法,所述方法包括:

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

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

对于特征点定位,当带上眼镜,或者受到光照影响,人脸图像中眼睛部位的特征点几乎不运动,因此,我们对眼睛部分的特征点定位以及眼睛部分的特征点二维坐标的获取,可以单独处理,具体步骤如下:

a1、对所述特征点中的眼睛部位特征点提取尺度不变特征变换特征向量,并对所述尺度不变特征变换特征向量进行特征降维。所谓尺度不变特征变换,即sift,英文全称为scale-invariantfeaturetransform。

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

其中,可以通过以下步骤训练获得所述判别器:

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

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

b13、对256*1000的矩阵向量进行降维处理。通过降维处理消除了大量样本信息中的冗余和重复的信息,减少数据存储容量,并且改善数据的可理解性,减少噪声的影响,提高学习的精度。具体地,可以将256维数据通过主成分分析(即pca)算法降低到100维数据。实验表明,这样依然可以保留原有98%的能量信息。

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

利用步骤b13中经过降维后的数据的特征向量作为支持向量机的训练集,标注睁眼样本为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核函数,分别生成对应的眼睛睁闭判别器。

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

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

s12、根据所述特征点的二维坐标获得所述特征点的正面化的三维坐标。具体可以包括以下步骤:

a2、根据预先训练的三维线性形状增益模型获得所述特征点的三维坐标。具体地,可以根据以下公式获得所述特征点的三维坐标:

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

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

b2、根据所述特征点的二维坐标对所述三维坐标进行优化以获得所述特征点的正面化的三维坐标。具体地,是根据所述特征点的二维坐标和预设公式正面化所述三维坐标。示例性地,可以根据以下预设公式正面化所述三维坐标:

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

s13、根据所述三维坐标获得标准化的当前人脸模型。

具体可以包括以下步骤:

a3、去除所述三维坐标中的z轴的深度值以获得二维坐标。

b3、对获得的所述二维坐标进行普氏分析获得所述标准化的当前人脸模型。普氏分析,即通过不断迭代,寻找标准人脸模型,并利用最小二乘法寻找每个样本人脸模型到所述标准人脸模型的仿射变化方式。通过对获得的所述二维坐标进行普氏分析,得到经过去除缩放、旋转以及位移变化的数据,即标准化的当前人脸模型。

s14、将所述当前人脸模型与预先建立的人脸模型数据库中的人脸模型进行匹配,以从所述人脸模型数据库中获得与所述当前人脸模型最相似的人脸模型。可以采用一种改进的豪斯多夫(英文名称为hausdorff)距离来获得最相似的人脸模型,其具体算法为:

假设人脸的特征点点集a={a1,a2,a3,...,a66},样本任一样本点集为b={b1,b2,b3,...,b66},值得注意的是,这些点集数据均经过三维归一化,以保证所有样本的尺度统一性。进一步地,可以通过以下公式计算出该两个点集之间的豪 斯多夫距离:

h(a,b)=max{h(a,b),h(b,a)}

其中,

通过上述公式计算获得豪斯多夫距离以测量点集a和点集b的相似性,可以消除特征点的抖动所带来的误差,更加精准地寻找与用户最相似的人脸。

步骤s14可以具体通过以下步骤实现:

a4、分别获得当前人脸模型与预先建立的人脸模型数据库中的人脸模型的相似距离。

对于脸型的匹配,人脸的不同部分所占的比重是不一样的,因此需要对人脸采用加权相似度计算。具体步骤可以包括:

a41、分别获得当前人脸模型中的轮廓部分与预先建立的人脸模型数据库中的人脸模型的轮廓部分的豪斯多夫距离o、当前人脸模型中的嘴巴部分与预先建立的人脸模型数据库中的人脸模型的嘴巴部分的豪斯多夫距离m,以及当前人脸模型中的眼睛部分与预先建立的人脸模型数据库中的人脸模型的眼睛部分的豪斯多夫距离e。

a42、对上述各个部分的豪斯多夫距离加权求和得到当前人脸模型与预先建立的人脸模型数据库中的人脸模型的相似距离。示例性地,赋予轮廓的权重为a,赋予嘴巴的权重为b,赋予眼睛的权重为c,其中,a,b,c均为小于1的正数,并且a,b,c之和为1,示例性的,a可以是0.45,b可以是0.35,c可以是0.2。最终获得的当前人脸模型与预先建立的人脸模型数据库中的人脸模型的相似距离为:

d=a*o+b*m+c*e

b4、以所述人脸模型数据库中与所述当前人脸模型相似距离最小的人脸模型为所述最相似的人脸模型。

其中,所述人脸模型数据库可以通过以下步骤建立:参见图3,制作若干个 (例如150个)不同脸型的三维模型,每个人均有多种(例如52种)不同基本表情单元作为表情基。进一步地,在150*52个三维模型上提取若干个(与步骤s11中定位的特征点数量一致,例如为66个)与二维人脸对应的三维坐标点,参见图2-2。由于上述建立的表情基具有相同的网络拓扑结果,因此可以选取其中一个中性表情基上的66个特征点的顶点索引坐标,进而扩展到所有模型,建立和150*52个模型对应的三维坐标数据库。分别对所述三维坐标数据库中的三维坐标数据去除z轴的深度信息,获得二维坐标,然后对该150*52个二维坐标数据进行普氏分析。

s15、根据所述三维坐标和所述最相似的人脸模型对应的表情基数据,获得所述当前人脸与所述最相似的人脸模型对应的表情基数据的拟合系数。具体可以包括以下步骤:

根据所述三维坐标和所述最相似的人脸模型对应的表情基数据,通过二次规划获取所述拟合系数。具体地,为了使得整体速度达到最优,可以在用户特征点检测到以后并且保证用户的三个偏转角度(roll,pitch,yaw)在一定范围内时,才开始计算当前用户与150个数据样本之间的相似度,并且记录在预设帧数(例如200帧)以内的最相似人脸的索引。以统计在200帧内最相似人脸出现次数最多的索引作为最终的结果,然后取该最相似人脸对应的52个表情基数据作为二次规划的输入数据。

进一步地,可以根据以下公式获得所述当前人脸与所述最相似的人脸模型对应的表情基数据的拟合系数:

其中,αi即为所述拟合系数,g为所述三维坐标,gi为所述表情基数据。

值得注意的是,所述拟合系数包括眉毛区域的拟合系数,眼睛部分的拟合系数和嘴巴部分的拟合系数。

s16、根据所述拟合系数,驱动3d虚拟模型。具体可以包括以下步骤:

分别根据眉毛区域的拟合系数,眼睛部分的拟合系数和嘴巴部分的拟合系数,对3d虚拟模型进行拟合,获取所述3d虚拟模型的所有顶点的新位置信息。该拟合过程可以通过以下公式进行:

其中,αi即为所述拟合系数,r'为姿态矩阵,g0为中性人脸模型中的三维顶点数据,gi为所述表情基数据,t为偏移矩阵。

根据本发明的3d虚拟模型的驱动方法,通过对当前人脸图像进行特征点定位,获得所述特征点的二维坐标,再根据所述特征点的二维坐标获得所述特征点的正面化的三维坐标,再根据所述三维坐标获得标准化的当前人脸模型,进而将所述当前人脸模型与预先建立的人脸模型数据库中的人脸模型进行匹配,以从所述人脸模型数据库中获得与所述当前人脸模型最相似的人脸模型,再根据所述三维坐标和所述最相似的人脸模型对应的表情基数据,获得所述当前人脸与所述最相似的人脸模型对应的表情基数据的拟合系数,最后根据所述拟合系数驱动3d虚拟模型,能够更有效地减少视频通话的带宽,仅需传递极少的参数即完成与对方的交流,因而更好地满足在视频通话过程中利用3d虚拟模型来代替用户表达情绪的要求,避免陌生人交友时不愿意露脸的尴尬。

实施例二

图5示出了本发明实施例提供的一种3d虚拟模型的驱动装置,所述装置包括:

特征点定位模块41,用于对当前人脸图像进行特征点定位,并获得所述特征点的二维坐标。具体地,所述特征点定位模块41包括:降维子模块,用于对所述特征点中的眼睛部位特征点提取尺度不变特征变换特征向量,并对所述尺度不变特征变换特征向量进行特征降维;判别子模块,用于将经过特征降维的尺度不变特征变换特征向量输入预先训练的判别器以判别所述眼睛是否为闭眼 状态;移动子模块,用于当为闭眼状态时,将所述眼睛部位上眼睑的特征点坐标移至下眼睑的特征点位置。

正面化模块42,用于根据所述特征点的二维坐标获得所述特征点的正面化的三维坐标。具体地,所述正面化模块包括:三维坐标获得子模块,用于根据预先训练的三维线性形状增益模型获得所述特征点的三维坐标;优化子模块,用于根据所述特征点的二维坐标对所述三维坐标进行优化以获得所述特征点的正面化的三维坐标。进一步地,所述优化子模块包括:优化单元,用于根据所述特征点的二维坐标和预设公式正面化所述三维坐标。

标准化模块43,根据所述三维坐标获得标准化的当前人脸模型。具体地,所述标准化模块包括:z轴去除子模块,用于去除所述三维坐标中的z轴的深度值以获得二维坐标;分析子模块,用于对获得的所述二维坐标进行普氏分析获得所述标准化的当前人脸模型。

匹配模块44,用于将所述当前人脸模型与预先建立的人脸模型数据库中的人脸模型进行匹配,以从所述人脸模型数据库中获得与所述当前人脸模型最相似的人脸模型。具体地,所述匹配模块包括:相似距离获得子模块,用于分别获得当前人脸模型与预先建立的人脸模型数据库中的人脸模型的相似距离;最相似的人脸模块获得子模块,用于以所述人脸模型数据库中与所述当前人脸模型相似距离最小的人脸模型为所述最相似的人脸模型。其中,所述相似距离获得子模块进一步包括:相似距离获得单元,用于分别获得当前人脸模型中的轮廓部分与预先建立的人脸模型数据库中的人脸模型的轮廓部分的豪斯多夫距离、当前人脸模型中的嘴巴部分与预先建立的人脸模型数据库中的人脸模型的嘴巴部分的豪斯多夫距离,以及当前人脸模型中的眼睛部分与预先建立的人脸模型数据库中的人脸模型的眼睛部分的豪斯多夫距离;加权求和单元,用于对上述各个部分的豪斯多夫距离加权求和得到当前人脸模型与预先建立的人脸模型数据库中的人脸模型的相似距离。

拟合系数获得模块45,用于根据所述三维坐标和所述最相似的人脸模型对 应的表情基数据,获得所述当前人脸与所述最相似的人脸模型对应的表情基数据的拟合系数。具体地,所述拟合系数获得模块包括:二次规划单元,用于根据所述三维坐标和所述最相似的人脸模型对应的表情基数据,通过二次规划获取所述拟合系数。其中,所述拟合系数包括眉毛区域的拟合系数,眼睛部分的拟合系数和嘴巴部分的拟合系数。

驱动模块46,用于根据所述拟合系数驱动3d虚拟模型。具体地,所述驱动模块包括:新位置信息获得子模块,用于根据所述拟合系数对3d虚拟模型进行拟合,获取所述3d虚拟模型的所有顶点的新位置信息;显示子模块,用于根据所述所有顶点的新位置信息显示所述3d虚拟模型。其中,所述新位置信息获得子模块可以进一步包括:新位置信息获得单元,用于分别根据眉毛区域的拟合系数,眼睛部分的拟合系数和嘴巴部分的拟合系数,对3d虚拟模型进行拟合,获取所述3d虚拟模型的所有顶点的新位置信息。

根据本发明的3d虚拟模型的驱动装置,通过对当前人脸图像进行特征点定位,获得所述特征点的二维坐标,再根据所述特征点的二维坐标获得所述特征点的正面化的三维坐标,再根据所述三维坐标获得标准化的当前人脸模型,进而将所述当前人脸模型与预先建立的人脸模型数据库中的人脸模型进行匹配,以从所述人脸模型数据库中获得与所述当前人脸模型最相似的人脸模型,再根据所述三维坐标和所述最相似的人脸模型对应的表情基数据,获得所述当前人脸与所述最相似的人脸模型对应的表情基数据的拟合系数,最后根据所述拟合系数驱动3d虚拟模型,能够更有效地减少视频通话的带宽,仅需传递极少的参数即完成与对方的交流,因而更好地满足在视频通话过程中利用3d虚拟模型来代替用户表达情绪的要求,避免陌生人交友时不愿意露脸的尴尬。

实施例三

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

对当前人脸图像进行特征点定位,并获得所述特征点的二维坐标;根据所述特征点的二维坐标获得所述特征点的正面化的三维坐标;根据所述三维坐标获得标准化的当前人脸模型;将所述当前人脸模型与预先建立的人脸模型数据库中的人脸模型进行匹配,以从所述人脸模型数据库中获得与所述当前人脸模型最相似的人脸模型;根据所述三维坐标和所述最相似的人脸模型对应的表情基数据,获得所述当前人脸与所述最相似的人脸模型对应的表情基数据的拟合系数;根据所述拟合系数,驱动3d虚拟模型。

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

对所述特征点中的眼睛部位特征点提取尺度不变特征变换特征向量,并对所述尺度不变特征变换特征向量进行特征降维;将经过特征降维的尺度不变特征变换特征向量输入预先训练的判别器以判别所述眼睛是否为闭眼状态;当为闭眼状态时,将所述眼睛部位上眼睑的特征点坐标移至下眼睑的特征点位置。

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

根据预先训练的三维线性形状增益模型获得所述特征点的三维坐标;根据所述特征点的二维坐标对所述三维坐标进行优化以获得所述特征点的正面化的三维坐标。

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

根据所述特征点的二维坐标和预设公式正面化所述三维坐标。

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

去除所述三维坐标中的z轴的深度值以获得二维坐标;对获得的所述二维坐标进行普氏分析获得所述标准化的当前人脸模型。

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

分别获得当前人脸模型与预先建立的人脸模型数据库中的人脸模型的相似距离;以所述人脸模型数据库中与所述当前人脸模型相似距离最小的人脸模型为所述最相似的人脸模型。

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

分别获得当前人脸模型中的轮廓部分与预先建立的人脸模型数据库中的人脸模型的轮廓部分的豪斯多夫距离、当前人脸模型中的嘴巴部分与预先建立的人脸模型数据库中的人脸模型的嘴巴部分的豪斯多夫距离,以及当前人脸模型中的眼睛部分与预先建立的人脸模型数据库中的人脸模型的眼睛部分的豪斯多夫距离;对上述各个部分的豪斯多夫距离加权求和得到当前人脸模型与预先建立的人脸模型数据库中的人脸模型的相似距离。

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

根据所述三维坐标和所述最相似的人脸模型对应的表情基数据,通过二次规划获取所述拟合系数。

优选地,所述拟合系数包括眉毛区域的拟合系数,眼睛部分的拟合系数和嘴巴部分的拟合系数。

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

根据所述拟合系数对3d虚拟模型进行拟合,获取所述3d虚拟模型的所有顶点的新位置信息;

根据所述所有顶点的新位置信息显示所述3d虚拟模型。

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

分别根据眉毛区域的拟合系数,眼睛部分的拟合系数和嘴巴部分的拟合系数,对3d虚拟模型进行拟合,获取所述3d虚拟模型的所有顶点的新位置信息。

根据本发明的电子设备,通过对当前人脸图像进行特征点定位,获得所述特征点的二维坐标,再根据所述特征点的二维坐标获得所述特征点的正面化的三维坐标,再根据所述三维坐标获得标准化的当前人脸模型,进而将所述当前人脸模型与预先建立的人脸模型数据库中的人脸模型进行匹配,以从所述人脸模型数据库中获得与所述当前人脸模型最相似的人脸模型,再根据所述三维坐标和所述最相似的人脸模型对应的表情基数据,获得所述当前人脸与所述最相似的人脸模型对应的表情基数据的拟合系数,最后根据所述拟合系数驱动3d虚拟模型,能够更有效地减少视频通话的带宽,仅需传递极少的参数即完成与对方的交流,因而更好地满足在视频通话过程中利用3d虚拟模型来代替用户表达情绪的要求,避免陌生人交友时不愿意露脸的尴尬。

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

需要说明的是,本说明书中的各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭示如上,然而并非用以限定本发明,本领域普通技术人员在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

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