清华发表CharacterGen:高质量高效率3D角色生成,助力游戏角色生成
“CharacterGen: Efficient 3D Character Generation from Single Images with Multi-View Pose Canonicalization”
论文地址:https://arxiv.org/pdf/2402.17214.pdf
摘要
简介
相关工作
3D头像生成
使用强大的人体先验模型,如SMPL和SMPL-X,可以生成高质量的人体化身。现有的大多数方法主要关注文本到3D角色的生成,无法利用图像提示进行可控制的角色生成。DreamBooth方法受到“Janus”问题的严重影响,因为单个输入图像会导致强烈的前视偏见。
方法
多视角图像生成与姿态规范化
使用IDUNet将输入图像的补丁级外观特征转移到多视角去噪UNet中,同时引入姿态嵌入网络提供更多的角色布局信息来辅助姿态规范化任务。
IDUNet
IDUNet旨在保留原始图像的特征并确保四个生成视图之间的高一致性。与之前的IP-Adapter不同,IDUNet引入了像素级别的指导来更好地融合输入图像的特征。该模型采用了VAE来编码无噪声的输入图像,并利用交叉注意力机制在生成过程中引入像素级别的指导。
Multi-view UNet
Multi-view UNet目标是从单个姿势输入图像生成高度一致外观的多视角Apose图像。该模型采用了空间自注意模块和交叉注意模块,以捕捉不同视角之间的全局关系,确保生成的图像具有高一致性。在训练过程中,采用了零样本噪声比率(SNR)的方法,以提高生成质量。最终的优化目标是通过输出速度来生成噪声,并将其添加到多视角Apose图像中。
姿态规范化
本方法结合了OpenPose预测的姿势嵌入作为额外条件,以解决角色布局错位和不相关身体部位出现的问题。在推理阶段,选择Anime3D数据集中CLIP分数最高的OpenPose图像作为输入姿势条件。
3D角色生成
首先使用两阶段的基于Transformer的网络重建角色的几何和粗糙外观。然后采用纹理反投影策略,利用生成的高分辨率四视图图像快速改善纹理质量。最后使用泊松混合技术减少纹理贴图上的接缝。
粗糙纹理下的字符重建
使用多视角扩散模型生成的四视图图像来重建人物,通过预训练Objaverse数据集和Fine-tune Anime3D数据集来保留处理3D对象和风格化人物的能力。为了获得更加精确的表面几何,该方法采用两阶段Fine-tune策略,使用三面体NeRF表示法建立人物的粗略几何和外观,然后修改解码器模块以预测符号距离函数。此外,该方法还使用遮罩损失和LPIPS损失来监督重建外观。
3D角色细化
由于UV展开过程中丢失了外观信息,生成的网格仍然缺乏纹理细节。为了解决这个问题,作者利用生成的四视图图像,采用纹理反投影技术来提高生成的纹理质量。为了有效地进行光栅化,作者使用了NvDiffRast作为渲染器。为了避免纹理下采样问题,作者将四视图图像投影到纹理空间中,并采用深度测试来消除遮挡的像素。作者还采用了基于法线的过滤方法来消除角色轮廓上的噪点。最后,作者使用Poisson Blending来减少最终纹理中的接缝。
实验
数据准备
在训练阶段,将Anime3D数据集分为训练集和测试集,比例为50:1。在推理阶段,除了使用测试集外,还会加入来自互联网的图像。
结果
2D视图生成
与其他模型相比,CharacterGen在处理复杂的身体姿势时表现更好,生成的图像质量更高。作者在Anime3D数据集上进行了实验,结果表明CharacterGen的生成质量和一致性都优于其他模型。
3D角色生成
本文比较了不同的图像提示3D角色生成方法,包括ImageDream、Magic123、TeCH等。与其他方法相比,我们的CharacterGen通过四视图重建机制有效避免了Janus问题,并且能够生成具有满意外观的3D角色网格。其他方法生成的3D角色网格存在面部凝聚问题,难以进行绑定和动画。CharacterGen能够成功地从具有棘手姿势的角色中生成规范姿势网格,便于下游图形应用。此外,我们还使用Animate Anyone对其他方法进行了评估。
生成速度
与其他基于图像的3D生成方法进行了比较。结果表明,该方法比其他方法更快。
消融分析
IDUNet
通过冻结预训练的稳定扩散2.1模型的IDUNet,单独训练CharacterGen网络生成的四视图图像显示,生成的图像无法保留足够的输入图像特征,导致相似性降低。这表明需要联合微调IDUNet和干净的姿势图像,以增强其提取详细服装和面部外貌的能力。
姿态嵌入网络
使用姿势嵌入网络对于生成四视图图像中的角色布局至关重要。在没有姿势嵌入网络的情况下生成的角色图像可能不会位于图像中央,并且缺乏布局指导可能会导致不一致的服装部件生成,这可能会影响后续的3D重建。
应用
CharacterGen可以生成具有详细纹理贴图的A-pose 3D角色,从而简化后续的绑定过程。我们使用AccuRig自动绑定生成的角色网格。这些绑定的3D角色可以直接用作各个领域中的动画3D资产。我们在Warudo中渲染了各种动画绑定模型,并在图7中展示了一些结果。
总结
本文提出了一种新颖高效的图像提示3D角色生成框架CharacterGen。作者编译了一个新的多姿态、风格化的角色数据集Anime3D来训练该框架。设计了IDUNet来提取输入条件图像的补丁级特征,以指导多视角A姿态角色图像的生成。随后,利用基于Transformer的网络重建3D角色网格,并提出利用纹理反投影细化策略进一步改善重建角色网格的外观。实验表明,CharacterGen可以高效地生成适用于多个下游应用的高质量3D角色。