Make-A-Character是什么?
Make-A-Character(简称Mach)是一个由阿里巴巴集团智能计算研究院开发的一个人工智能3D数字人生成框架,旨在通过文本描述快速创建逼真的3D角色。该系统特别适用于满足人工智能代理和元宇宙中对个性化和富有表现力的3D角色的需求。Mach的核心功能是利用大型语言和视觉模型来理解文本中的意图,并生成中间图像,然后通过一系列针对人类视觉感知和3D生成的模块,将这些图像转化为完整的3D角色模型。
Make-A-Character的官网入口
- 官方项目主页:https://human3daigc.github.io/MACH/
- Arxiv研究论文:https://arxiv.org/abs/2312.15430
- GitHub代码库:https://github.com/Human3DAIGC/Make-A-Character(代码待开源)
- ModelScope Demo:https://www.modelscope.cn/studios/XR-3D/InstructDynamicAvatar/summary
Make-A-Character的功能特色
- 文本到3D角色生成:用户可以通过输入文本描述来指定角色的外观特征,如面部特征、发型、服装等,Mach系统会根据这些描述生成相应的3D角色模型。
- 灵活的可控定制:系统允许用户对角色进行详细的定制,包括面部特征、眼睛形状、虹膜颜色、发型和颜色、眉毛、嘴巴和鼻子等,甚至可以添加皱纹和雀斑,以创造出符合用户个性化需求的角色。
- 高度逼真的渲染:Mach利用基于物理的渲染(PBR)技术,结合真实人类扫描数据,生成高度逼真的角色。角色的头发以发丝的形式构建,而非传统的网格,以增强真实感。
- 完整的角色模型:生成的角色模型包括眼睛、舌头、牙齿、全身和服装等所有细节,确保角色在各种应用场景中都能立即使用。
- 动画支持:角色配备了高级的骨骼刚体,支持标准动画,使得角色能够进行各种动态表现,如面部表情变化等。
- 行业兼容性:Mach生成的角色模型采用明确的3D表示,可以无缝集成到游戏和电影行业的标准CG流程中,便于后续的动画制作和渲染。
Make-A-Character的工作原理
- 文本解析与视觉提示生成:
- 用户输入描述角色特征的文本提示。
- 使用大型语言模型(LLM)来理解文本中的语义信息,提取关键的面部特征和属性。
- 将这些特征映射到视觉线索,如姿势和边缘图,以指导后续的图像生成。
- 参考肖像图像生成:
- 结合Stable Diffusion模型和ControlNet,根据提取的视觉线索生成参考肖像图像。ControlNet确保生成的图像具有正面姿势和中性表情,便于后续的3D建模。
- 使用Openpose和Canny边缘检测技术来确保面部特征的合理分布。
- 密集面部坐标检测:
- 利用密集面部坐标(431个坐标点)来重建面部和头部几何结构,这些坐标点比传统的68或98个坐标点更详细,覆盖整个头部。
- 使用合成图像作为训练数据,通过多视角捕捉和处理流程生成这些坐标点。
- 几何生成:
- 根据参考肖像图像和密集面部坐标,重建头部几何结构。通过将3D网格映射到2D平面,实现对网格的优化。
- 使用坐标投影损失和局部平滑约束来确保几何结构的准确性。
- 纹理生成:
- 使用可微渲染技术从参考图像中提取纹理,并通过多分辨率策略逐步生成高分辨率纹理。
- 引入神经除光(de-lighting)方法,从纹理图像中去除不必要的照明效果,得到适合渲染的漫反射贴图。
- 纹理修正与完成:
- 对生成的漫反射贴图进行修正,解决眼睛、嘴巴和鼻孔等区域的不完美问题。
- 使用面部解析算法提取错误区域的遮罩,并通过泊松融合(Poisson blending)技术与模板漫反射贴图合并,以改善视觉效果。
- 头发生成:
- 通过2D图像合成各种发型,然后基于这些图像进行3D发丝重建。
- 使用先进的头发生成技术,如NeuralHDHAIr,训练模型并生成高质量的3D发丝。
- 资产匹配:
- 将生成的头部与预先制作的头发、身体、服装和配饰等资产进行匹配。
- 使用CLIP文本编码器计算输入提示与资产标签之间的相似度,选择最匹配的资产。
- 角色装配:
- 将所有生成和匹配的部件组装成一个完整的3D角色模型。
- 角色模型支持动画,可以通过骨骼刚体进行动态表现。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...