苹果Vision Pro发布后,再次掀起了一股「元宇宙」热潮,不过通往元宇宙的大门却没那么容易打开。
目前生成3D化身的方法大多依赖于昂贵且复杂的采集设备来重建高保真的化身模型,往往需要多视角的图像或深度图,对于消费级别的应用开发来说是负担不起的。
随着大规模预训练的视觉语言模型性能得到飞速提升,一种全新的流派开始兴起,即根据文本或图像来生成3D人类化身模型,广泛应用于数字人、电影业和虚拟现实等领域。
最近,南京大学的研究人员提出了一种全新的方法AvatarBooth,可以根据文本提示或图像集合生成高质量和可定制的化身,能够准确反映特定个体的视觉和文字特征。
论文链接:https://arxiv.org/pdf/2306.09864.pdf
项目链接:https://zeng-yifei.github.io/avatarbooth_page/
与之前只能基于简单的文本描述生成化身的方法不同,该方法能够从任意捕获的面部或身体图像生成个性化头像,并且也支持基于文本的模型生成和编辑。
AvatarBooth学习了一个神经隐含表面来表示人类化身的形状和外观,分别由脸部和身体的预训练或微调的潜扩散模型来监督学习。
并且在外观定制生成的任务中,文中提出了姿势一致的约束,以加强扩散模型的微调,可以提供了更准确的多视图监督,在姿势空间中具有一致的外观。
此外,模型中还包括一个多分辨率的SDS方案,可以从粗到细地预测化身的精细结构和外观。
只需要一个人的几张照片,模型就可以合成3D化身,不仅具有个性化独特的外观,而且还可以符合输入文本提示中指定的抽象特征,比如「戴眼镜」或「某种风格的帽子」等属性,用户可以很方便地编辑和修改化身的整体视觉形象。
文中提出的生成框架以一组图像或文字提示作为输入,并合成一个由神经隐式表面(NeuS,Neural Implicit Surfaces)表征的的三维细节化身。
整个生成pipeline由三个模块组成:
1. 在化身建模模块(avatar modeling module)中,将一个简化的SMPL渲染模型训练为神经隐式场(neural implicit field),由一个SDF网络和一个着色网络(color network)组成。
2. 在渲染模块(rendering module)中,从位于化身空间周围的预定义虚拟摄像机中获得三种类型的渲染结果。
为了同时优化人脸和人体,研究人员采用了两套渲染参数分别以人脸和整个人体为中心
3. 在评分蒸馏采样(SDS,Score Distillation Sampling)训练模块中,选择或结合预训练和微调的潜扩散模型,然后通过渲染来监督NeuS的训练。
Dual Model Fine-tuning
研究人员提出利用两个扩散模型来监督整个身体和头部的训练,并且对这两个模型分别进行微调。
虽然之前的工作增加了面部周围的渲染样本以改善面部细节,但并没有利用微调视觉语言模型的潜力,所以不能提高个性化化身生成的性能。
研究人员刚开始只使用一个扩散模型来监督全身的训练,可以观察到,单一的SDS损失与DreamBooth3D的微调策略无法在面部外观和身体衣服的建模之间取得平衡。
具体来说,在早期的训练步骤中,模型可以学习到身体上衣服的外观,但面部外观仍然不清晰;如果进行更多的训练步骤,面部外观会变得清晰,但全局特征如衣服的样式可能会过度适应输入的图像,也意味着在混合模式下很难通过文本提示编辑身体。
此外,还可以观察到,DreamBooth3D的Img2Img阶段不能产生忠实于输入图像的准确的人物身份,可能是因为面部外观和身体外观之间的比例差异较大,导致SDS训练中收敛率不一致。
为了解决这个问题,研究人员提出了双模型微调(dual model fine-tunign)策略,当在外观定制模式或混合模式运行时,将输入图像分为全身照(body shot)和头像(headshot),分别用于微调两个预训练的模型。
在SDS训练阶段,框架对脸部和全身周围的摄像头进行随机采样,然后采用不同的扩散模型来指导脸部和身体的生成,分别采用面向头部的渲染和全身的渲染。
姿态一致性约束
直接利用DreamBooth和基于SDS的方法无法生成令人满意的化身结果,因为DreamBooth模型倾向于过度适应微调期间使用的相机视图。
为了增强由微调扩散模型生成化身的面部细节,研究人员使用ControlNet来提升合成图像的多视图一致性,从而消除不受控制的人体姿势的干扰,并生成高质量的外观和几何形状。
多分辨率SDS
由于直接渲染来自神经隐含场的高分辨率图像在计算上成本很高,一个常见的解决方案是渲染低分辨率的图像,然后将其上采样到更高的分辨率进行SDS训练;将上采样的图像编码到潜空间后,用于监督神经隐含场的训练。
不过研究人员观察到,直接增加上采样的分辨率会导致训练崩溃或不一致的外观,所以文中提出了一个多分辨率的优化策略,逐步提高上采样的分辨率,使SDS的训练更加稳定。
从NeuS渲染的图像开始,通过训练几步512×512的上采样分辨率来初始化网络,然后逐渐提高监督分辨率到640×640和768×768
在初期的训练步骤中,较低的分辨率为训练过程提供了一个粗糙但稳健的起点,而在后面的步骤中较高的分辨率有助于学习详细的几何形状和高质量的外观。
实验结果也证明了这个简单的策略可以有效提高早期训练阶段的稳定性,并提高了外观质量,最终可以生成一个更准确且视觉上可信的化身。
运行模式
根据预训练的扩散模型在SDS训练中的使用方式,Avatarbooth框架可以在三种模式下运行:
1. 提示生成模式(Prompt generative mode)
与AvatarCLIP和AvatarCraft类似,只使用文本提示作为输入,生成符合描述的化身,并没有对预训练的扩散模型进行微调。
由于文本提示只能描述通用的或众所周知的外表,所以这种模式只适用于合成具有大致匹配的外表或名人的头像。
2. 外观定制模式(Appearance customized mode)
研究人员提出定制扩散模型以及学习到化身形象,以匹配给定的一组图像的外观,其中图像可以是从任意视角自由拍摄的全身或面部图像。
即使输入的图片中包含不完整的或稍有矛盾的形象,具体的外观和服装的细节也会被传递到生成化身模型上。
3. 混合模式(Hybrid mode)
上述两种模式可以在一个模型生成中同时进行,可以实现较为复杂的化身条件生成,比如在根据输入图片合成外观的前提下,通过文字提示修改主体的衣服、发型、年龄、胡须等。
实验结果
用户研究
为了量化化身的生成质量,研究人员招募了30名志愿者,并用对比方法CLIP-Actor、AvatarCLIP和TEXTure从随机选择的文本提示中生成10个化身,让用户从四个方面(与文本提示的对应性、外观质量、几何质量和面部保真度)对结果进行评估,打分范围从1(最差)到5(最好)。
从结果中可以看到,文中提出的新方法在四个指标上都取得了最高分,证明了该模型有能力生成具有更详细外观和几何形状的化身。
文本到图像的度量
目前还没有可以直接定量评估文本到3D生成模型的指标,所以研究人员将生成的化身模型渲染成图像,然后使用文本到图像的指标进行评估。
具体的流程是先将其他方法所生成的化身渲染成25个不同视角的2000张图像,然后用文本到图像的度量指标PickScore来对比化身的质量,能够根据学习的人类偏好来衡量生成内容的真实性。
PickScore结果显示,文中提出的方法比CLIP-Actor、AvatarCLIP和TEXTure要好很多,即具有更好的主观质量。
参考资料:https://zeng-yifei.github.io/avatarbooth_page/