当前位置: 首页 > news >正文

[SIGGRAPH-24] CharacterGen

[pdf | code | proj]

  • LRM能否用于3D数字人重建?问题在于:1)缺少3D数字人数据;2)重建任意姿态的3D数字人不利于后续绑定和驱动。
  • 构建3D数字人数据集:在VRoidHub上采集数据,得到13746个风格化角色,分别渲染固定视角和固定标准姿态下的图片和随机角度和姿态下的图片,用以训练以图片为条件的多角度扩散模型。
  • 映射到标准姿态:输入一张任意姿态的人像图片,首先生成标准姿态下的四角度图片,其次重建3D角色(微调LRM,Large Reconstruction Model),最后通过Auto-Rigging等操作实现3D角色的驱动。

方法

Anime3D Dataset

  • 从VRoidHub上收集了14500动漫角色,去除非人数据,剩下13746个角色模型。
  • 使用threevrm渲染角色。包含:标准姿态(A-pose)和随机姿态。其中,随机姿态包含从Mixamo中获取的10个人体骨架,例如:坐、唱、走等,同时会随机更改嘴巴、眼睛以产生新表情。
  • 训练阶段,使用4个标准姿态图片{0, 90, 180, 270}和1个随机姿态图片{-90, 90}作为训练对。

Multi-view Image Generation and Pose Canonicalization

  • 目标是输入任意姿态下的正面图片,输出标准姿态下的四个正交角度图片。
  • 本文认为IP-Adaptor使用CLIP图片特征,无法细粒度描述人物纹理细节。因此,本文提出IDUNet,将参考图片patch-level的纹理特征嵌入到去噪过程中。
  • 具体来说,Multi-view UNet与MVDream类似,在Multiview SelfAttn中,四个视角特征交互。在CrossAttn中,ID和CLIP-encoded image features合并作为K和V,四个视角作为Q:
  • 同时,本文使用OpenPose,通过Pose Encoder得到的编码直接加到latent noise上。
  • 3D Character Generation

  • 微调LRM。LRM使用NeRF,从NeRF中提取的几何表面噪声多。类似Magic3D,本文使用两阶段微调策略:1)训练triplane-NeRF,生成角色的粗几何和外观。2)更改重建网络的解码器为预测singed distance functions (SDFs)。
  • 除了MSE loss,本文还使用mask loss(BCE损失监督Alpha通道,产生干净背景)和LPIPS loss:
  • Extract Mesh & UV unwrap:使用DMTet从tri-plane中提取mesh和粗UV map。在提取mesh上使用Laplacian Smooth,减少表面噪声。
    • DMTet:使用四面体表征3D。四面体上顶点具有可学习特征,预测偏移量和是否在物体内部。如果四面体所有顶点都不在物体内部则会被去除,如果存在部分顶点在物体内部,则根据规则分裂四面体,以逐步精细化。在构建好DMTet后,则可根据顶点是否在物体内部提取Mesh表面。
    • UV map:对于Mesh,每个顶点都会保存UV map坐标,用于获取颜色。UV unwrap用于将3D模型颜色投影到uv map上。
    • Normal map:对于Mesh,每个顶点会保存三维的法向量值,表征光线的反射,用于在平面上模拟细节纹理。
  • Texture Aggregation:直接提取的UV map效果不佳,本文进一步使用生成的四角度图片改善纹理。本文使用NvDiffRast作为渲染器。将四张图片反投影回纹理空间,使用泊松混合将反投影纹理图和粗纹理图混合得到最终的纹理图。在反投影过程中,使用normal map和相机视角做内积,去除内积大于-0.2的点,即将不合理的反投影点去除掉。

实验

  • 训练时间:多视角扩散模型在8卡A800上训练5天;LRM在8卡A800上微调1天。
  • 数据集划分:训练集测试集50:1。

2D Multi-view Generation

3D Character Generation

Comparision with IP-Adapter

Generation Speed

User Study

Ablation Study

IDUNet是否需要训练?需要

是否需要Pose Embedding Network?需要

是否需要A-pose?需要

应用

  • 使用AccuRig绑定,使用Warudo渲染


http://www.mrgr.cn/news/29808.html

相关文章:

  • WebRTC项目一对一视频
  • 38配置管理工具(如Ansible、Puppet、Chef)
  • Docker 基础命令介绍和常见报错解决
  • 【开源免费】基于SpringBoot+Vue.JS高校学科竞赛平台(JAVA毕业设计)
  • macOS解决U盘装完系统容量变小的问题
  • 【Unity Bug 随记】unity version control 报 xx is not in a workspace.
  • easy_cloudantivirus
  • 《微处理器系统原理与应用设计第十三讲》通用同/异步收发器USART轮询模式应用设计
  • 算法之搜索--最长公共子序列LCS
  • 剃(磨)前插齿刀设计计算开发第二步:
  • Element Plus图片上传组件二次扩展
  • Android 中音频焦点的使用场景及示例
  • ssh远程连接try1账号切换tips
  • Java 之多线程高级
  • 计算机毕业设计 家电销售展示平台的设计与实现 Java实战项目 附源码+文档+视频讲解
  • 使用python 将world的题库导入某学习软件的模板
  • 2024年9月python二级易错题和难题大全(附详细解析)(二)
  • MatchRFG:引领MemeCoin潮流,探索无限增长潜力
  • 论文不会写?分享6款AI论文写作免费一键生成网站!
  • Python urllib
  • LinuxC++的UDP服务器和客户端通信
  • 钢索缺陷检测系统源码分享
  • 1×1卷积核【super star 卷积核】
  • 人工智能与机器学习原理精解【21】
  • 图文检索(2):Visual-Linguistic Dependency Encoding for Image-Text Retrieval
  • 计算机网络的性能指标