BlendShape-数字人表情生成机制

随着AI发展,数字人应用广泛。本文介绍数字人的表情生成机制BlendShape,先阐述数字人是人体的数字三维模型,可由向量表示;接着说明数字人表情是脸上某些点位移,通过抽取基础微表情线性加权生成复合表情;最后指出制作好BlendShape后,可通过算法求解权重值得到表情。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        随着AI技术的发展,数字人应用领域也越来越广泛,除了动画电影、游戏、广告这样数字人应用的传统领域,直播带货、客服、逝去亲人数字化复活等等诸多邻域也在大量尝试使用数字人。数字人不只是要建出来,更要像真人一样有表情、有动作,有丰富的人格特征,这样才能更好的与真人互动交流。

       今天就说下数字人的表情生成机制--BlendShape。

       再介绍BlendShape之前,先对数字人是什么做个介绍,这样才更好理解BlendShape。

1. 数字人

       数字人说起来跟简单,就是人体的数字三维模型,是由做建模小伙伴在建模软件(例如:Maya、Blender)中完成的。

                                                                  图1 数字人模型

        数字人从几何构成上看就是点、线、面组成的。点是世界空间中的一些点(上图的数字人包含12853个顶点),将这些顶点连成线,然后线和线就会分隔出面,上图看到的是四边形面,常见的还有三角形面。有了点、线、面,一个数字人的模型就建立出来了。建立数字人的工作主要是建模的小伙伴完成的,现在还可以通过算法自动创建,高精度的模型还是要手工创建。

        数字人由很多点构成的,每个点在世界坐标系下的坐标有(x、y、z)三个分量组成,那数字人就可以用一个向量来表示了:

                                     B = \left (x_{1},y_{1},z_{1},x_{2},...,y_{n},z_{n} \right )^{T} \in R^{3n} (公式1)

       其中,n是数字人顶点数量,上图数字人n=12853,就是一个包含38559个分量的向量。是不是特别简单,一个数字人用一个向量就表示出来了。

      了解了数字人,下面就要介绍BlendShape。

2. BlendShape

       人的表情非常丰富,能做出上千种表情。那对数字人来说表情是什么呢?其实就是脸上某些点在空间中发生了位移,比如嘴角的一些点向斜上方移动,从视觉效果上看数字人就带有了某种情绪。

        经过很多前辈的探索和总结,数字人的表情系统可以这样设计:抽取制作出一些基础微表情(BlendShape),通过基础表情线性加权生成更多的复合表情。

        目前常见的基础微表情大概50个左右(苹果公司ARKit提供了52个BlendShape的权重值)。制作人员需要在数字人上制作这些基础微表情(BlendShape)。    

BlendShape制作

有了这些微表情,就可以组合出各种复合表情。

                                                                       图3 复合表情制作

        对于制作小伙伴来说到这里就可以了,但对于算法小伙伴和开发小伙伴还需要继续了解BlendShape里的数据是如何组织的。

       数字人可以用一个向量表示。中立表情是数字人没有做任何微表情的状态,这个状态被认为是所有表情的0状态(图1就是处于中立表情的数字人),中立表情用公式表达成 ^{B_{0}} \in R^{3n}

       BlendShape其实就是一个delta BlendShape,即各个表情与中立表情的差值 B_{i} - B_{0} 。

       复合表情对应的生成公式就是:

       B = B_{0} + \sum_{i=0}^{m}w_{i}\left ( B_{i}-B_{0} \right ) = B_{0} + \sum_{i=0}^{m}w_{i}D_{i} (公式2)

       其中, w_{i}是BlendShape的权重值, D_{i} 就是BlendShape,m是BlendShape的个数。

3. 综合

       制作好了BlendShape,做表情识别的时候其实就是通过各种算法求解对应的 w_{i} ,这样就可以用公式2得到数字人的表情了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值