以下文章来源于商汤学术 ,作者洪方舟
摘要 · 看点
在SIGGRAPH 2022上,南洋理工大学-商汤科技联合研究中心S-Lab团队提出了基于零次学习的文本驱动的三维数字人模型与动作生成方法AvatarCLIP。利用大规模视觉语言模型CLIP的跨模态能力以及可微渲染工具,AvatarCLIP实现了以自然语言输入,无需任何训练,便可高质量生成三维数字人的模型。再结合大量动作数据的预训练模型,AvatarCLIP进一步实现了以自然语言为输入的角色动作的生成。在数字人生成的任务上,AvatarCLIP相较已有方案在质量上提升明显;而基于零次学习的文本驱动的动作生成,是AvatarCLIP首次提出并给出了有效方案。
论文名称:AvatarCLIP : Zero-Shot Text-Driven Generation and Animation of 3D Avatars
Part 1
背景
近期文本驱动的二维图像生成领域进展飞快,例如OpenAI的Dalle、Dalle2、google的Imagen,以及最近非常火的stable diffusion。借助百万量级的文字与图像的数据对,结合预训练的NLP模型,以及强大的图像生成模型diffusion model,文本驱动的二维图像生成质量已经非常惊艳。那么自然地,下一步我们会想将生成的领域进一步拓展到三维生成与动作生成(如图一所示),那该怎么做呢?
图一
如果借鉴之前图像生成方法的成功经验,则需要大量与文本配对的三维模型或者动作数据进行有监督训练。然而,现在没有这样的数据,且很难收集,数据量也很难提升到百万量级。因此,在这篇工作中,我们选择使用零次学习的方式,即不使用任何与文本配对的数据,进行三维数字人以及动作的生成。
Part 2
基本原理
那么如何在不使用任何数据的情况下,凭空变出这些东西呢?我们就需要使用两个强大的工具,一个是大规模的图像文本预训练模型CLIP,另一个是可微渲染。
CLIP相信大家都比较熟悉,它的图像与文本编码器可以将两种模态的数据映射到同一个隐空间。利用这一性质,我们可以先初始化一种三维表示,如图二左侧所示。它可以是隐函数,也可以是mesh。
图二
然后,利用可微渲染,渲染出对应的图像,输入CLIP的图像编码器,将得到的渲染图像特征与目标文本的特征之间计算cosine距离,以最大化cosine距离为优化目标,对三维表示进行优化。最终,我们期望优化出与目标文本相近的三维表达。
虽然这个原理相对简单,但若想要让这个算法有效成功优化出合理的三维形状以及动作,仍需要很多其它努力。
Part 3
文本驱动的三维数字人生成
首先,如图三所示,我们将数字人的生成解构成两部分:第一部分生成大致体型,第二部分在大致体型的基础上进行细致的雕刻并生成贴图纹理。
图三
对于第一部分,我们接受一个对大致体型的描述词,接着基于一个预先建立的体型与对应CLIP特征的查找表,取出最接近的一个体型后,基于SMPL可以得到对应的人体模型mesh。
接着,为了方便第二步的优化,我们提出将mesh转化到隐空间中。跟直接在mesh上优化相比,隐函数使得网络能够更好地优化,获得更加平滑的结果。这里隐函数的表达,我们选择了以SDF作为介质的神经光流场NeuS。跟原始的NeRF相比,这里的MLP网络并不预测空间中某点的density,而是预测该点的SDF值。
转化完成后,我们基于上一章节的原理,对隐函数表达的大致人体进行基于CLIP的优化,进行细节几何雕刻以及纹理的生成。一些损失函数以及数据增广的细节,此处不再赘述,如果大家感兴趣,欢迎直接阅读原文。
最后,我们对优化完成的隐函数进行marching cube处理,得到带贴图的mesh,并且进行绑骨,方便后续驱动。
Part 4
文本驱动的动作生成
对于三维表示,我们尚可以进行可微渲染,以此借助CLIP的能力进行生成。而动作这一模态距离图像或者文本都太过遥远,因此我们需要引入新的prior,帮助实现合理动作的生成。此外,由于CLIP仅仅在单帧
上进行训练,并没有对视频的编码能力,因此如何生成一串连贯的动作也是一大挑战。
为了解决上述两个问题,我们将文本驱动的动作生成任务分解为两个部分,如图四所示。我们首先根据用户输入的文本生成一些符合描述的姿势作为候选集。接着,基于候选集,我们引入动作VAE的prior,生成合理、连贯、符合描述的动作序列。同样地,这里一些损失函数以及数据增广的细节,此处不再赘述,欢迎直接阅读原文。
图四
最后,我们用生成的动作驱动前面生成好的三维数字人,得到最终结果。图五到图八为一些结果展示。
图五:A tall and skinny female soldier that is arguing.
图六:A very skinny ninja that is raising both arms.
图七:An overweight sumo wrestler that is sitting.
图八:A tall Yao Ming that is shooting basketball.
Part 5
结语
基于强大的预训练模型与合适的三维表达,我们提出了AvatarCLIP,实现了高质量且多样化的基于零次学习的文本驱动的三维数字人与动作的生成。必须承认的是,我们的方法仍存在一定缺陷。
首先,如果将生成的数字人以高分辨率渲染,我们可以观察到很多瑕疵:一方面是因为NeRF的渲染非常消耗计算资源,即使在batch size为1、32GB的显存的情况下,我们也只能渲染200x200分辨率的
用于训练,因此很难继续提升分辨率;另一方面,CLIP本身提供的监督型号太过注重语义,无法为细节纹理提供太强的监督。
其次,在给定相同文本的情况下,即便赋予不同的随机种子,多次优化出来的结果仍然非常相似。虽然一定程度上能体现出我们方法的鲁棒性,但作为一个生成算法,缺乏生成的多样性是一个较大的缺点。
目前,我们的代码已经全部开源,大量生成的数字人结果也已经上传项目主页,欢迎大家下载玩耍!
相关资料
论文地址:
https://arxiv.org/abs/2205.08535
项目主页:
https://hongfz16.github.io/projects/AvatarCLIP.html
代码开源:
https://github.com/hongfz16/AvatarCLIP
转自:“arXiv每日学术速递”微信公众号
如有侵权,请联系本站删除!