基于平滑约束逆向机械模型的机器人表情模仿方法及装置与流程

文档序号:16142136发布日期:2018-12-01 02:12阅读:346来源:国知局
基于平滑约束逆向机械模型的机器人表情模仿方法及装置与流程

本发明涉及一种机器人表情模仿方法,更具体涉及一种基于平滑约束逆向机械模型的机器人表情模仿方法及装置。

背景技术

随着控制科学、传感器技术、人工智能、材料科学等发展,使具备人类外形和行动能力的类人机器人成为可能。虽然类人机器人在模仿人类行为方面拥有了较高程度的“脑智”(智商),但以键盘、鼠标、屏幕、图案等传统交互方式难以实现自然、和谐的情感交互能力,其水平还远不能满足人们对机器人智能化水平的要求。“人机交互障碍”和情感交互能力逐渐成为机器人实用化的瓶颈。因此,如何提高机器人的“心智”(情商)水平成为机器人研究领域亟待解决的关键问题。针对当前自然人机交互过程中“高脑智低心智”的问题,探索符合心理需求的、自然的、富于情感的人机交互方式,是解决机器人“情感缺失”问题的迫切要求。而面部表情是自然人机交互和机器人情感表达最主要的载体,因此如何让类人机器人呈现出与人类相同的表情成为亟待解决的技术问题。

目前,模仿人类表情是实现机器人多电机协同控制和呈现逼真表情最有效的途径。当前机器人表情模仿方法主要包括表情类别模仿和表情细节模仿两类。表情类别模仿方法则是基于面部动作编码系统建立面部动作单元与头部控制电机的内在关系,再通过驱动电机实现高兴、惊讶等常见表情类别。由于生成表情单一且模式固定,表情类别模仿方法仅适用于头部自由度较少的机器人面部情感表达。与表情类别模仿不同,表情细节模仿方法则是基于表演驱动技术的细节和强度迁移。这些方法均采用前向机械模型与运动平滑模型独立建模,这种方式虽能兼顾电机运动的机械约束,但在实时表情模仿阶段需要通过优化算法逆向求解最优控制值,制约了表情迁移的实时速度,因此现有技术存在表情迁移的实时性不佳的技术问题。



技术实现要素:

本发明所要解决的技术问题在于提供了一种基于平滑约束逆向机械模型的机器人表情模仿方法及装置,以解决现有技术中存在的表情模仿时空相似度与平滑度较低以及表情迁移的实时性不佳的技术问题。

本发明是通过以下技术方案解决上述技术问题的:

本发明实施例提供了一种基于平滑约束逆向机械模型的机器人表情模仿方法,所述方法包括:

a:提取机器人面部特征向量:

b:构建基于面部特征序列到电机控制序列的平滑约束逆向机械模型:

c:以表演者实时面部特征为目标,基于平滑约束逆向机械模型生成最优电机控制序列,然后利用所述最优电机控制序列驱动机器人面部电机使所述机器人呈现出与所述表演者的脸部对应的表情。

本发明实施例还提供了一种基于平滑约束逆向机械模型的机器人表情模仿装置,所述装置包括:提取模块,用于提取机器人面部特征向量:构建模块,用于构建基于面部特征序列到电机控制序列的平滑约束逆向机械模型:生成模块,用于以表演者实时面部特征为目标,基于平滑约束逆向机械模型生成最优电机控制序列,然后利用所述最优电机控制序列驱动机器人面部电机使所述机器人呈现出与所述表演者的脸部对应的表情。

本发明相比现有技术具有以下优点:

应用本发明实施例,以表演者实时面部特征为目标,基于平滑约束逆向机械模型生成最优电机控制序列,利用所述最优电机控制序列将实现机器人对表演者人物面部表情特征的迁移,当进行机器人表情迁移时,可以直接将人物表情序列映射为机器人面部电机控制序列,提高机器人表情模仿的时空相似度和电机连续运动平滑度,相对于现有技术中,需要通过优化算法逆向求解最优控制值,省去了求解步骤,进而缩短了表情迁移的时间。

附图说明

图1为本发明实施例提供的一种基于平滑约束逆向机械模型的机器人表情模仿方法的流程示意图;

图2为本发明实施例提供的一种基于平滑约束逆向机械模型的机器人表情模仿方法的原理示意图;

图3为本发明实施例提供的一种机器人控制电机以及自由度的示意图;

图4为本发明实施例提供的一种机器人面部特征点的邻接关系的示意图;

图5为本发明实施例提供的一种lstm编码-解码结构的逆向机械模型的原理示意图;

图6为本发明实施例提供的一种d阶多项式拟合的原理示意图;

图7为本发明实施例提供的电机控制偏差的结果图;

图8为本发明实施例提供的表情迁移的时空相似度结果图;

图9为本发明实施例提供的机器人面部电机运动平滑度结果图;

图10为本发明实施例提供的权重参数对时空相似度及运动平滑度的影响结果图;

图11为本发明实施例提供的一种基于平滑约束逆向机械模型的机器人表情模仿装置的结构示意图。

具体实施方式

下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。

本发明实施例提供的一种基于平滑约束逆向机械模型的机器人表情模仿方法及装置,下面首先就本发明实施例提供的一种基于平滑约束逆向机械模型的机器人表情模仿方法进行介绍。

图1为本发明实施例提供的一种基于平滑约束逆向机械模型的机器人表情模仿方法的流程示意图,图2为本发明实施例提供的一种基于平滑约束逆向机械模型的机器人表情模仿方法的原理示意图;如图1和图2所示,所述方法包括:

s101:提取机器人面部特征向量:

具体的,s101步骤可以包括:a1:利用kinect摄像头获取机器人的面部表情数据以及机器人的头部姿态数据,其中,所述机器人的面部表情数据,包括:基于candide-3模型的参数化人脸网格的特征点数据、面部动作单元数据;所述机器人的头部姿态数据,包括:头部xyz三个轴向的旋转角的数据,

具体的,所述a1步骤,包括:

根据瞳孔定位算法跟踪左右眼球的特征点的位置,并增加其与周围特征点的邻接关系。

利用增加眼球特征点后的candide-3模型的公式,

获取机器人的面部表情数据,其中,g为增加眼球特征点后的candide-3模型的参数化表示;v为特征点位置向量;d为p个特征点组成的邻接矩阵;vi为第i个特征点的位置向量;p为增加眼球特征点后的candide-3模型的特征点数目;(xi,yi,zi)为第i个特征点的三维向量值;i为特征点的序号;j为与特征点邻接的特征点的序号;eij为连接矩阵中的元素,且

利用kinectapi获取头部姿态数据(rpitch,ryaw,rroll),其中,rpitch为x轴上的旋转角,ryaw为y轴上的旋转角,rroll为z轴上的旋转角。

在实际应用中,发明人研发了一台具有47个电机的高仿机器人“想想”。为使设计的机器人更接近人类,该机器人以气压驱动的方式模仿人类头部、肩部、手臂、手腕、腰部、腿部等肌肉运动,并采用弹性硅胶模拟人类的肤色和血管的纹路。鉴于人脸表情不仅是情感表达最主要的载体,也是人机交互中体现主观意图最有效的形式,本发明实施例仅以与表情相关的头部及面部电机为研究对象。图3为本发明实施例提供的一种机器人控制电机以及自由度的示意图,如图3所示,图3表示了类人机器人头部11个控制电机及自由度。

在本发明实施例中,为了挖掘电机控制向量与其所呈现脸部细节的映射关系,本文以微软kinect2.0作为图像捕捉设备,并利用kinectapi实时获取面部表情及头部姿态数据,具体包括:头部xyz三个轴向的旋转角、基于candide-3模型的参数化人脸网格(包含1347个特征点)、17个面部动作单元。同时,考虑目光注视、眼球转动等在人机交互中的重要作用,以及提高眼球局部细节的描述能力,根据瞳孔定位算法跟踪左右眼球特征点,并增加其与相邻特征点的邻接关系以实现眼睛区域的三角剖分。设增加两眼球特征点后的candide-3模型为:

其中,g为所述candide-3模型的参数化表示;v为特征点位置向量;d为p个特征点组成的邻接矩阵;vi为第i个特征点的位置向量;p为增加眼球特征点后的candide-3模型的特征点数目,取值为1349;(xi,yi,zi)为第i个特征点的三维向量值;i为特征点的序号;j为与特征点邻接的特征点的序号。

kinectapi(kinectapplicationprogramminginterface,kinect应用程序编程接口)为一种三维摄像装置kinect的程序接口,用于将kinect获取的被拍摄目标的空间变化数据进行输出;空间变化数据可以为,如色彩色图像二维坐标、深度图像空间坐标、骨骼跟踪空间坐标等数据。

图4为本发明实施例提供的一种机器人面部特征点的邻接关系的示意图,如图4所示,αij为与边vivj相邻的第一角度;βij为与边vivj相邻的第二角度;vi为特征点;vj为与特征点邻接的特征点,进而可以利用如下公式,确定出邻接矩阵中的元素的值,

eij为邻接矩阵中的元素,且

a2:使用拉普拉斯变换将基于所述candide-3模型的特征点数据,从笛卡尔坐标系转换至laplacian坐标系中。

具体的,所述a2步骤,可以包括:

利用公式,实现笛卡尔坐标系到laplacian坐标系的转换,其中,

ζi为特征点vi的几何特征;为特征点vi的laplacian坐标;ωi为以特征点vi为顶点的邻接三角形的面积和;αij为与边vivj相邻的第一角度;βij为与边vivj相邻的第二角度;vi为特征点;vj为与vi邻接的第j特征点;n(i)为与vi邻接的所有特征点;l()为laplacian变换;||||为求模函数;∑为求和函数。

示例性的,采用凸包权值法,

计算candide-3人脸模型特征点vi的laplacian坐标

a3:根据所述头部xyz三个轴向的旋转角、所述的面部动作单元数据、所述机器人面部几何特征生成机器人面部特征向量。

具体的,可以利用级联公式,

将各个特征点的laplacian坐标级联后的结果作为提取的机器人面部几何特征,其中,ζi为第i个特征点的面部几何特征;为第i个特征点的几何特征的三维向量。

虽然在现有技术中,采用laplacian坐标级联策略不仅保留了特征点间的拓扑信息,而且通过融合特征点的法向和切向信息反映了网格顶点相对于其邻接点的弯曲程度和运动方向,但是,基于laplacian变换的面部特征仅描述了底层面部形状的几何形变,而未度量高层面部肌肉和头部姿态的运动幅度变化。在本发明实施例中,为精确描述面部肌肉变化及头部姿态,本发明实施例以头部三个轴向的旋转角(rpitch、ryaw、rroll)、17个面部动作单元以及面部几何特征构建的面部特征向量x为:

x为机器人面部特征向量;xi为面部特征向量的第i个维度的值;(rpitch、ryaw、rroll)为机器人xyz三个轴向的旋转角;auj为第j个面部动作单元的特征值;为特征点vk的laplacian坐标。m为提取的面部特征向量维度,且m=3+17+1349*3=4067。由面部特征向量的构建过程可知,x不仅包含了面部肌肉的几何形变信息,还融合了面部肌肉的运动幅度和头部姿态变化。因此,其能够为机器人表情模仿提供更为精确的目标数据。

s102:构建基于面部特征序列到电机控制序列的平滑约束逆向机械模型:

具体的,所述b步骤,包括:

b1:利用公式,构建基于面部特征序列到电机控制序列的逆向机械模型,其中,为构建的基于面部特征序列到电机控制序列的逆向机械模型,且δt为kinect摄像头获取面部表情帧的帧率;为机器人面部特征向量,且γ()为逆向机械模型;t为当前时刻;k为机器人t时刻前的表情帧的数量;d为机器人t时刻后的表情帧的数量。yt+(d-2)δt为t+(d-2)δt时刻的电机控制数据;xt-(k-2)δt为t-(k-2)δt时刻机器人的面部特征向量;

b2:使用多层lstm编码-解码结构对基于面部特征序列到电机控制序列的平滑约束逆向机械模型进行建模,并采用d阶多项式拟合电机控制序列的运动趋势参数,基于位移、速度、加速度三者偏差构建平滑约束逆向机械模型。

在实际应用中,图5为本发明实施例提供的一种lstm编码-解码结构的逆向机械模型的原理示意图,如图5所示,实施例提供的一种lstm编码-解码结构的平滑约束逆向机械模型的构建过程可以为:

1)、采用l层lstm编码器将长度为k的表情特征序列编码为深度语义c;其中,为编码端的l层lstm神经网络,在该网络中第l层t+iδt时刻的输入和输出可表示为:

其中,为编码端第l隐含层在第t+iδt时刻的输入;为编码端第l隐含层在第t+iδt时刻的输出;为编码端第l隐含层在t+iδt时刻的输出;为编码端第l隐含层在t+(i-1)δt时刻的输出;wl,e为编码端输入层的全连接权重;bl,e为编码端输入层第l隐含层的偏置;wl,e为编码端中间第l隐含层的参数,且l∈[1,l];l为隐含层数目。

2)、在获得面部深度语义基础上,进一步采用l层lstm网络将其解码为d帧的机器人电机控制序列,如公式,所示。

进而得到公式,并利用该公式对平滑约束逆向机械模型γ()求解,其中,

为l层的编码结构;为l层的解码结构;l为预设的隐含层层数;为机器人t时刻前k帧的面部特征序列;为机器人t时刻后d帧的电机控制序列;yt-δt为机器人t-δt时刻的电机控制序列。

与步骤1)类似,在本发明实施例中,解码端各层lstm节点的输入和输出可表示为:

其中,为解码端第l隐含层在第t+jδt时刻的输入;yj为解码端第l隐含层在第t+jδt时刻的输出;为解码阶段第l隐含层在t+jδt时刻的输出;为解码阶段第l隐含层在t+(j-1)δt时刻的输出;wl,d为解码端输入层的全连接权重;bl,d为解码端输入层的偏置;wl,d为解码端中间第l隐含层的参数,且l∈[1,l];wl+1,d为解码端输出层的全连接权重;bl+1,d为解码端输出层的偏置;l为解码端的隐含层数目。

本发明实施例中构建的平滑约束逆向机械模型可将机器人t时刻前k帧的面部特征序列翻译为其后d帧控制序列

其中,为t+(d-1)δt时刻解码层的输出。

从上述公式可知,本发明实施例提供的平滑约束逆向机械模型通过lstm编码-解码网络完成了面部特征序列到电机控制序列端-端的翻译。这种基于时序的多步预测策略不仅有利用逆向求解最优电机控制序列,而且有利于电机运动平滑的实时处理。本步骤得到的第j(1≤j≤n)个电机在t-(d-1)δt~t+(d-1)δt时间段的电机控制序列电机控制序列可以为:

(y(t-(d-1)δt)j,…,y(t-2δt)j,y(t-δt)j,y(t)j,y(t+δt)j,y(t+2δt)j…,y(t+(d-1)δt)j),其中,y(t-(d-1)δt)j为第j个电机t-(d-1)δt时刻的控制位移。

3)、使用以d阶多项式拟合第j(1≤j≤n)个电机在t-(d-1)δt~t+(d-1)δt时间段的电机控制序列:(y(t-(d-1)δt)j,…,y(t-2δt)j,y(t-δt)j,y(t)j,y(t+δt)j,y(t+2δt)j…,y(t+(d-1)δt)j),其中,y(t-(d-1)δt)j为第j个电机t-(d-1)δt时刻的控制位移;y(t)j为第j个电机t时刻的控制位移;y(t+(d-1)δt)j为第j个电机t+(d-1)δt时刻的控制位移。

具体的,图6为本发明实施例提供的一种d阶多项式拟合的原理示意图,如图6所示,可以根据本发明图6所示原理示意图,利用公式,

构建第j个电机前d个时刻和后d个时刻拟合的多项式函数,其中,

hj(t+kδt)为第j个电机t时刻的前d个时刻拟合的多项式函数;为第j个电机t时刻的前d个时刻的拟合函数的第i项多项式系数;fj(t+qδt)为第j个电机后d个时刻拟合的多项式函数;为第j个电机后d个时刻拟合函数的第i项多项式系数;

4)、利用公式,αj=p-1uj,计算j个电机控制序列的平滑系数,其中,为第j个电机前0个时刻拟合函数的第d项多项式系数;为第j个电机前d个时刻拟合函数的第d项多项式系数;为第j个电机后0个时刻拟合函数的第d项多项式系数;为第j个电机后d个时刻拟合函数的第d项多项式系数;p为系数矩阵;uj为j个电机控制序列在t-(d-1)δt~t+(d-1)δt时刻的的位移及零元素构成的向量,

且uj=(y(t-(d-1)δt)j,…,y(t-δt)j,y(t)j,y(t+δt)j,…,y(t+(d-1)δt)j,0,0,0)t,y(t-(d-1)δt)j为第j个电机t-(d-1)δt时刻的控制位移;y(t)j为第j个电机t时刻的控制位移;y(t+(d-1)δt)j为第j个电机t+(d-1)δt时刻的控制位移。

在实际应用中,利用公式,

计算hj(t)的一阶二阶导数、fj(t)的一阶二阶导数,其中,

h'j(t+kδt)为hj(t)的一阶导数,即机器人第j个电机在t+kδt时刻的真实控制序列的速度向量;h″j(t+kδt)为hj(t)的二阶导数,即机器人第j个电机在t+kδt时刻的真实控制序列的加速度向量;f′j(t+qδt)为fj(t)的一阶导数,即机器人第j个电机在t+qδt时刻的真实控制序列的速度向量;f″j(t+qδt)为fj(t)的二阶导数,即机器人第j个电机在t+qδt时刻的真实控制序列的加速度向量。

然后,构建方程组,

其中,

为第j个电机前d个时刻的电机控制位移;为第j个电机后d个时刻的电机控制位移。

由于两多项式函数应在衔接点t时刻具有相同的位移、速度和加速度,因此上述方程组具有2d+2个方程,且包含2d+2个待求解向量。

为了简化上述方程组的表示,令:

上述方程组可以表示为:pa=u,由于,其中,

oh为零矩阵;of为零矩阵;a=(α1,…,αj…,αn)为t时刻n个电机控制序列的平滑系数矩阵;u=(u1,…,uj,…,un)为t时刻n个电机控制序列组成的位移矩阵,且,uj=(y(t-(d-1)δt)j,…,y(t-δt)j,y(t)j,y(t+δt)j,…,y(t+(d-1)δt)j,0,0,0)t,由第j个电机在t-(d-1)δt~t+(d-1)δt时刻的位移及零元素构成。当系数矩阵p可逆时,待求解的平滑系数矩阵a可表示为:a=p-1u。

进而t时刻第j个电机控制序列的平滑系数αj可表示为:αj=p-1uj,1≤j≤n,其中,αj为t时刻n个电机控制序列的平滑系数;为各个时刻n个电机构成的平滑系数矩阵。

5)、利用公式,a=(α1,…,αj…,αn),1≤j≤n,求解t时刻n个电机控制序列的平滑系数矩阵其中,a为为各个时刻n个电机构成的平滑系数矩阵;αj为t时刻n个电机控制序列的平滑系数;

具体的,可以根据步骤4)中计算的平滑系数αj,将平滑系数αj组成平滑系数矩阵

6)、将平滑系数矩阵代入公式,

计算得到第j个电机t时刻前d帧的控制位移第j个电机t时刻后d帧的控制位移

7)、将步骤6)计算的n个电机t时刻后d帧的控制位移代入目标函数,

计算平滑约束逆向机械模型的最优参数,进而得到公式,

其中,

j(we,wd,be,bd)为平滑约束逆向机械模型的最优参数;we为平滑约束逆向机械模型的第一模型参数的矩阵;wd为平滑约束逆向机械模型的第二模型参数的矩阵;be为平滑约束逆向机械模型的第三模型参数的矩阵;bd为平滑约束逆向机械模型的第四模型参数的矩阵;j()为目标函数;min为最小值求值函数;q为机器人t刻后的表情帧的编号,q∈[0,d-1];f(t+qδt)为机器人n个电机在t+qδt时刻的真实控制序列的位移向量;f'(t+qδt)为机器人n个电机在t+qδt时刻的真实控制序列的速度向量的矩阵;f"(t+qδt)为机器人n个电机在t+qδt时刻的真实控制序列的加速度向量的矩阵;t为当前时刻;为机器人n个电机在t+qδt时刻位移向量的估算值;为机器人n个电机在t+qδt时刻速度向量的估算值的矩阵;为机器人n个电机在t+qδt时刻加速度向量的估算值的矩阵;α为以速度和加速度为平滑约束的权重,且α≥0;∑为求和函数;y(t+qδt)j为第j个电机t+qδt时刻的控制位移;为第j个电机t+qδt时刻的控制位移估计值;为第j个电机t+qδt时刻的速度的估计值;为第j个电机t+qδt时刻的加速度估计值;为第j个电机在t+qδt时刻位移向量的估算值。

在实际应用中,可以利用上述公式,采用梯度下降法可求解融合模型的最优参数采用该最优参数构建的逆向机械模型,即可将人物表情映射为机器人面部最优电机控制序列。

应用本发明上述实施例,在j(we,wd,be,bd)中融入速度和加速度作为平滑约束的权重,产生了连续而平滑的电机控制序列。

应用本发明上述实施例,可以反映脸部肌肉空间和时间上的协助信息,进而提高了表情迁移的时空相似度和电机运动平滑度。

s103:以表演者实时面部特征为目标,基于平滑约束逆向机械模型生成最优电机控制序列,然后利用所述最优电机控制序列驱动机器人面部电机使所述机器人呈现出与所述表演者的脸部对应的表情。

将t时刻前k帧的人物面部表情特征序列作为输入,利用上述模型,可以得到机器人面部电机的当前最优驱动向量,

其中,为平滑约束逆向机械模型输出的最优电机控制向量;为l层lstm的编码结构;为l层lstm的解码结构;l为预设的隐含层数目;为表演者面部特征序列;为平滑约束逆向机械模型的第一模型参数we的最优值;为平滑约束逆向机械模型的第二模型参数wd的最优值;为平滑约束逆向机械模型的第三模型参数be的最优值;为平滑约束逆向机械模型的第四模型参数bd的最优值。

在实际应用中,机器人面部11个电机组成的面部控制向量y为:

y=(y1,…,yj,…,yn)(n=11),其中,yj∈[0,1]为第j个电机的归一化控制值。

与人类肌肉相似,驱动11个电机不仅可让机器人呈现各种表情以及眨眼、微笑、皱眉等细腻的情感细节,还可让机器人在表达情感同时伴随摇头、点头等表达主观意图的姿态动作。

发明人为了验证本发明实施例的有益效果,进行了如下实验:

首先机器人动画师编排60种包含不同面部表情和头部姿态的电机控制序列,每种序列时长90秒,且具有表情中性-峰值-中性的强度变化以及头部姿态变化,再通过kinect2.0摄像头以30每秒的帧率捕获面部特征;然后,将机器人t,400≤t≤2400时刻前k帧历史控制序列与之对应的面部特征序列以及后d帧电机控制序列构成样本集:

在样本集中,随机挑选100000组样本用于模型参数的训练,其余q=2000组样本用于模型的测试。

实验中,基于tensorflow中的lstm模块实现模型的搭建和训练,相关参数如表1所示,表1为基于tensorflow中的lstm模块实现模型的搭建和训练的模型参数。

表1

第一方面,训练完成后,为验证提出模型的有效性,利用公式,

分别统计t+qδt,q∈[0,d-1]时刻r,r∈[1,2000]组样本的控制偏差以及第j个电机的控制偏差其中,为第r组样本在t+qδt时刻第j个电机的真实值;为第r组样本在t+qδt时刻第j个电机的估计值。

表2为2000组样本的d(d=5)个时刻的平均电机控制偏差和各电机平均控制偏差汇总表,图7为本发明实施例提供的电机控制偏差的结果图;将表2中的数据绘制成统计表如图7所示。

表2

如表2所示,表2显示了本发明实施例所示模型的多步预测能力和泛化能力,其中,总体控制偏差小于4.5%,且t时刻的预测偏差小于3.5%。如图7所示,由于机器人的面部受气压驱动方式的影响,机器人头部存在间歇性抖动,致使头上下电机的控制偏差较大,但t时刻的控制偏差不超过5%、t+4δt时刻的控制偏差不超过8%;而眼球左右、眼球上下、头左右倾斜等电机,由于所驱动的面部特征单一,控制偏差较小。

另外,从图7还可以看出:随着多步预测的推进,各时刻的控制偏差呈上升趋势,但t+4δt时刻的电机最大控制偏差仍不超过8%。这说明提出的平滑约束逆向机械模型较好地反映了机器人硬件控制系统与其所呈现面部特征的内在关系,较精确地实现了机器人面部特征序列到电机控制序列的翻译和逆向求解。

第二方面,为了验证表情模仿的时空相似度,首先利用kinectstudiov2.0录制不同表演者50种面部动作序列(每个序列时长60秒,包含中性-峰值-中性表情强度变化和头部姿态变化)。再将获取的序列进行面部特征提取然后基于训练好的平滑约束逆向机械模型实现表演者表情特征序列到机器人控制序列的映射,再将模型t,5≤t≤1800时刻的输出以串口通信的方式传送至控制系统,并驱动电机呈现模仿的动态表情。同步地,通过kinect摄像头实时捕获机器人模仿的表情并提取其面部特征

最后,利用公式,分别统计机器人实时模仿的前20个特征(3个轴向的头部姿态以及17个面部动作单元)与表演者扮演特征的空间相似度和时间相似度其中,

为机器人第s个序列t时刻第i个面部特征的运动幅度;为人物第s个序列t时刻第i个面部特征的运动幅度;为机器人第s个序列t时刻第i个面部特征的速度;为人物第s个序列t时刻第i个面部特征的速度;s为机器人实时表情模仿的总帧数,取值为50*1976;sim(x,b)为拟合函数,且sim(x,b)=exp(-x2/β)(β>0);β为控制参数。

在实际应用中,拟合函数将幅度或速度偏差转化为0~1的相似度;β越小,相似要求越严格,否则越宽松。

通过10折交叉验证,βi=0.3、βt=0.5。在α=0.45时,机器人实时模仿的前20个面部特征的时空相似度如图8所示,图8为本发明实施例提供的表情迁移的时空相似度结果图。

如图8所示,各面部特征时空相似度均超过80%,尤其对体现表情细节的特征,如脸颊鼓起、嘴角收缩、眼闭合、下颌张闭幅度、眼球水平幅度等,保持较高相似度。这不仅有利于维持表情模仿的逼真度,也有利于改善机器人情感交互的认同感。

第三方面,为了评价电机运动的平滑度,可以利用公式,

计算电机运动的平滑度,其中,

为电机运动的平滑度;ts为跳变阈值,ts=10/256;g(yj(t))为电机在t时刻的坐标,且

图9为本发明实施例提供的机器人面部电机运动平滑度结果图;如图9所示,图9显示了无平滑约束时电机运动平滑度和具有平滑约束时电机运动平滑度的对比结果。

如图9所示,应用本发明实施例,电机运动平滑度保持在0.85以上,明显优于无平滑约束的电机控制模型。

另外,应用本发明实施例,眼球左右、嘴开合、眉毛上下脸颊上提等电机的平滑度效果较好,这说明本文方法对伴随嘴角上提、嘴巴张开等动态表情细节,具有较好的捕获能力和迁移能力。

第四方面,为了评价本发明实施例中加入的平滑约束模型的效果,发明人分别对α分别取值为0、0.2、0.4、0.45、0.5、0.55、0.6、0.7、0.8、1.0时的空间相似度、时间相似度、运动平滑度等时序指标进行了测试。

图10为本发明实施例提供的权重参数对时空相似度及运动平滑度的影响结果图,如图10所示,当α=0,j(we,wd,be,bd)仅以逆向求解的电机控制偏差为优化目标,因此其表情再现的时空相似度达到最大,这说明以面部特征序列为输入的平滑约束逆向机械模型反映了控制电机与其所驱动的面部肌肉的机械关系,较精确地实现了电机控制向量的逆向求解。

但是,随着α的增大,j(we,wd,be,bd)中融入了速度和加速度的电机控制约束,电机平滑度逐渐升高,这说明引入的平滑约束较好地抑制了电机控制向量的跳变。发明人发现,在综合考虑表情模仿的时空相似度和电机运动的平滑度后,α取值为0.45时效果最好。

应用本发明图1所示实施例,以表演者实时面部特征为目标,基于平滑约束逆向机械模型生成最优电机控制序列,利用所述最优电机控制序列将实现机器人对表演者人物面部表情特征的迁移,当进行机器人表情迁移时,可以直接将人物表情序列映射为机器人面部电机控制序列,提高了机器人表情模仿的时空相似度和电机连续运动平滑度,相对于现有旧技术中,需要通过优化算法逆向求解最优控制值,省去了求解步骤,进而缩短了表情迁移的时间。

与本发明图1所示实施例相对应,本发明实施例还提供了一种基于平滑约束逆向机械模型的机器人表情模仿装置。

图11为本发明实施例提供的一种基于平滑约束逆向机械模型的机器人表情模仿装置的结构示意图,如图11所示,所述装置包括:提取模块1101,用于提取机器人面部特征向量:构建模块1102,用于构建基于面部特征序列到电机控制序列的平滑约束逆向机械模型:生成模块1103,用于以表演者实时面部特征为目标,基于平滑约束逆向机械模型生成最优电机控制序列并驱动机器人面部电机使所述机器人呈现出与所述表演者的脸部对应的表情。

在本发明实施例的一种具体实施方式中,所述提取模块1101,还用于:

a1:利用kinect摄像头获取机器人的面部表情数据以及机器人的头部姿态数据,其中,所述机器人的面部表情数据,包括:基于candide-3模型的参数化人脸网格的特征点数据、面部动作单元数据;所述机器人的头部姿态数据,包括:头部xyz三个轴向的旋转角的数据;

a2:使用拉普拉斯变换将基于所述candide-3模型的特征点数据,从笛卡尔坐标系转换至laplacian坐标系中;

a3:根据所述头部xyz三个轴向的旋转角、所述的面部动作单元数据、所述机器人面部几何特征生成机器人面部特征向量。

在本发明实施例的一种具体实施方式中,所述提取模块1101,还用于:

增加眼球特征点后的candide-3模型,

其中,g为增加眼球特征点后的candide-3模型的参数化表示;v为特征点位置向量;d为p个特征点组成的邻接矩阵;vi为第i个特征点的位置向量;p为增加眼球特征点后的candide-3模型的特征点数目;(xi,yi,zi)为第i个特征点的三维向量值;i为特征点的序号;j为与特征点邻接的特征点的序号;eij为连接矩阵中的元素,且利用kinectapi获取头部姿态数据(rpitch,ryaw,rroll),其中,rpitch为x轴上的旋转角,ryaw为y轴上的旋转角,rroll为z轴上的旋转角。

在本发明实施例的一种具体实施方式中,所述提取模块1101,还用于:

利用公式,实现笛卡尔坐标系到laplacian坐标系的转换,其中,ζi为特征点vi的几何特征;为特征点vi的laplacian坐标;ωi为以特征点vi为顶点的邻接三角形的面积和;αij为与边vivj相邻的第一角度;βij为与边vivj相邻的第二角度;vi为特征点;vj为与vi邻接的第j特征点;n(i)为与vi邻接的所有特征点;l()为laplacian变换;||||为求模函数;∑为求和函数。

在本发明实施例的一种具体实施方式中,所述提取模块1101,还用于:利用公式,

生成机器人面部特征向量,其中,x为机器人面部特征向量;xi为面部特征向量的第i维度的值;m为提取的面部特征向量维度;(rpitch、ryaw、rroll)为机器人xyz三个轴向的旋转角;auj为第j个面部动作单元的特征值;为特征点vk的laplacian坐标。

在本发明实施例的一种具体实施方式中,所述构建模块1102,还用于:

b1:利用公式,构建基于面部特征序列到电机控制序列的逆向机械模型,其中,为逆向机械模型输出的电机控制序列,δt为kinect摄像头获取机器人面部表情的帧率;为机器人前k时刻的面部特征序列,且,γ()为逆向机械模型;t为当前时刻;k为机器人t时刻前的表情帧的数量;d为机器人t时刻后的表情帧的数量;yt+(d-2)δt为t+(d-2)δt时刻的电机控制数据;xt-(k-2)δt为t-(k-2)δt时刻机器人的面部特征向量;

b2:使用多层lstm编码-解码结构对基于面部特征序列到电机控制序列的平滑约束逆向机械模型进行建模,并采用d阶多项式拟合电机控制序列的运动趋势参数,基于位移、速度、加速度三者偏差构建平滑约束逆向机械模型。

在本发明实施例的一种具体实施方式中,所述构建模块1102,还用于:

1)利用公式,对平滑约束逆向机械模型γ()求解,其中,

为l层的编码结构;为l层的解码结构;l为预设的隐含层层数;为机器人t时刻前k帧的面部特征序列;为机器人t时刻后d帧的电机控制序列;yt-δt为机器人t-δt时刻的电机控制序列;

2)、利用公式,

构建第j个电机前d个时刻和后d个时刻拟合的多项式函数,其中,

hj(t+kδt)为第j个电机t时刻的前d个时刻拟合的多项式函数;为第j个电机t时刻的前d个时刻的拟合函数的第i项多项式系数;fj(t+qδt)为第j个电机后d个时刻拟合的多项式函数;为第j个电机后d个时刻拟合函数的第i项多项式系数;

3)、利用公式,αj=p-1uj,计算j个电机控制序列的平滑系数,其中,

为第j个电机控制序列的待求解平滑系数;为第j个电机前0个时刻拟合函数的第d项多项式系数;为第j个电机前d个时刻拟合函数的第d项多项式系数;为第j个电机后0个时刻拟合函数的第d项多项式系数;为第j个电机后d个时刻拟合函数的第d项多项式系数;p为系数矩阵;uj为j个电机控制序列在t-(d-1)δt~t+(d-1)δt时刻的的位移及零元素构成的向量,

且uj=(y(t-(d-1)δt)j,…,y(t-δt)j,y(t)j,y(t+δt)j,…,y(t+(d-1)δt)j,0,0,0)t,y(t-(d-1)δt)j为第j个电机t-(d-1)δt时刻的控制位移;y(t)j为第j个电机t时刻的控制位移;y(t+(d-1)δt)j为第j个电机t+(d-1)δt时刻的控制位移;

4)、利用公式,a=(α1,…,αj…,αn),1≤j≤n,求解t时刻n个电机控制序列的平滑系数矩阵其中,

a为为各个时刻n个电机构成的平滑系数矩阵;αj为t时刻n个电机控制序列的平滑系数;

5)、将平滑系数矩阵代入公式,

计算第j个电机t时刻前d帧的控制位移第j个电机t时刻后d帧的控制位移

6)、将步骤5)计算的n个电机t时刻后d帧的控制位移代入目标函数,

计算平滑约束逆向机械模型的最优参数,其中,

j(we,wd,be,bd)为平滑约束逆向机械模型的最优参数;we为平滑约束逆向机械模型的第一模型参数的矩阵;wd为平滑约束逆向机械模型的第二模型参数的矩阵;be为平滑约束逆向机械模型的第三模型参数的矩阵;bd为平滑约束逆向机械模型的第四模型参数的矩阵;j()为目标函数;min为最小值求值函数;q为机器人t时刻后的表情帧的编号,q∈[0,d-1];f(t+qδt)为机器人n个电机在t+qδt时刻的真实控制序列的位移向量;f'(t+qδt)为机器人n个电机在t+qδt时刻的真实控制序列的速度向量的矩阵;f"(t+qδt)为机器人n个电机在t+qδt时刻的真实控制序列的加速度向量的矩阵;t为当前时刻;为机器人n个电机在t+qδt时刻位移向量的估算值;为机器人n个电机在t+qδt时刻速度向量的估算值的矩阵;为机器人n个电机在t+qδt时刻加速度向量的估算值的矩阵;α为以速度和加速度为平滑约束的权重,且α≥0;∑为求和函数。

在本发明实施例的一种具体实施方式中,所述生成模块1103,还用于:

将t时刻前k帧的表演者面部表情特征序列作为输入,利用公式,可以得到机器人面部电机的当前最优驱动向量,其中,为平滑约束逆向机械模型输出的最优电机控制向量;为l层lstm的编码结构;为l层lstm的解码结构;为表演者面部特征序列;为平滑约束逆向机械模型的第一模型参数we的最优值;为平滑约束逆向机械模型的第二模型参数wd的最优值;为平滑约束逆向机械模型的第三模型参数be的最优值;为平滑约束逆向机械模型的第四模型参数bd的最优值。

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

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