[NeurIPS-23] GOHA: Generalizable One-shot 3D Neural Head Avatar

[pdf](https://arxiv.org/pdf/2306.08768 "pdf") \| [proj](https://research.nvidia.com/labs/lpr/one-shot-avatar/ "proj") \| [code](https://github.com/NVlabs/GOHA "code")

  • 本文提出一种基于单图的可驱动虚拟人像重建框架。
  • 基于3DMM给粗重建、驱动结果,基于神经辐射场给细粒度平滑结果。

方法

  • 给定源图片I_s和目标图片I_t,希望生成图片I_o具有源图片ID和目标图片表情位姿。本文提出三个分支:
    • 规范分支(canonical branch):生成具有标准表情和位姿的粗3D人像;
    • 外观分支(appearance branch):捕捉源图像中的外观细节;
    • 表情分支(expression branch):建模并迁移目标图像的表情;
  • 整体框架如下:
  • 从消融实验上看,规范tri-plane T_c保留了源图片ID,表情tri-plane T_e保留了目标图像表情,外观tri-plane T_p保留了外观细节。

基于规范分支的粗建模

  • 编码器E_c(Fine-tune SegFormer)将源图片I_s映射为tri-plane T_c。
  • 通过3DMM对源图像建粗模,渲染具有标准表情和姿态的图像I_neu和掩码M_neu;
  • 训练目标是3DMM粗模渲染图像I_neu和T_c渲染图像I_c的L1和LPIPS损失,具体如下:

基于外观分支的细节建模

  • 通过T_c拿到渲染图像对应的深度图;
  • 通过编码器E_p得到源图像的2D特征,每个像素具有32维特征;
  • 升维(Lifting):通过深度图将2D特征反投影至3D;
  • 光栅化(Rasterization):将3D点云转换为tri-plane T_p。对T_p任意平面上的一点,计算其最近的点云,并将该点云特征赋值给平面上一点。

基于表情分支的表情建模

  • 基于源图像的3DMM粗模 + 目标图像的表情,渲染得到正面视角图像I_exp。
  • 通过编码器E_e,得到表情tri-plane T_e

训练

  • 两阶段训练,第一阶段不包括超分模块,使用重建损失训练:
  • 第二阶段冻结其他部分,fine-tune超分模块,使用第一阶段损失和对抗损失。

实验

相关推荐
fīɡЙtīиɡ ℡16 小时前
AI 应用系统设计
java·开发语言·人工智能
小淮AI16 小时前
国际教育课程的本土化探索:以枫叶教育三十年为观察样本
大数据·人工智能
又折桃枝换酒钱16 小时前
VisCoder2:构建多语言可视化编码智能体(翻译与解读)
人工智能·信息可视化
AI绘画哇哒哒16 小时前
【建议收藏!】35岁后端血泪忠告,这3类人别硬转Agent(过来人亲述)
java·人工智能·后端·ai·程序员·大模型·agent
Chengbei1116 小时前
DSH渗透测试插件dsh-pentest全新升级!适配DeepSeek Harness,可视化探索链路,一键搭建轻量化AI渗透测试环境。
人工智能·web安全·网络安全·微信·小程序·系统安全·安全架构
QN1幻化引擎16 小时前
DalinX Phi 性能突破:跨层秩保持对齐与意识涌现度量的实证研究
人工智能·ai·架构·agi·asi
NeilCarmack16 小时前
Deepseek-harness增加桌面版端序列:第 1 讲 · 命令解析:`pnpm dsh desktop` 的第一步
人工智能·agent·ai agent
龙兵AI增长破局圈.赵老师讲成交17 小时前
只有把过程管好,结果才会出来。
大数据·人工智能·ai·创业创新
最强小杰17 小时前
gpt-5.6-sol 频繁报 503 怎么办?区分容量熔断和限速 429 的排查方法 + 可复用 retry wrapper
java·人工智能·gpt·ai
天天代码码天天17 小时前
我做了一个只有一个 EXE 的本地 Markdown 编辑器:lw.MD(简墨)
人工智能