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

devtools/2024/11/9 2:23:17/

[pdf | proj | 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超分模块,使用第一阶段损失和对抗损失。

实验


http://www.ppmy.cn/devtools/27736.html

相关文章

python项目入门新手攻略

最近工作需要接手了代码量比较大的python开发的项目,平时写python不多,记录一下如何熟悉项目。 分析调用流程-pycallgraph 因为代码量比较大,所以希望通过工具生成代码调用流程,因此用到了pycallgraph。 pycallgraph&#xff0…

软件重构的要点及注意事项

重构是软件开发过程中改进现有代码结构和设计而不改变其外在行为的过程。良好的重构实践可以提高代码质量、可读性、可维护性,并促进后续的开发工作。以下是重构的基本步骤、要点及注意事项: 重构的基本步骤 明确重构目的:确定重构的动机&a…

(免费人工智能机器人、周报通、AI中文站、choose-car、智造喵)分享好用的ChatGPT

目录 1、ChatGPTer - 免费人工智能机器人 2、周报通 3、 AI中文站 - chat.7jm.cn 人工智能,稳定高效

HarmonyOS 应用开发——入门

首先当然是华为的官方文档了,要认真学习: https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/start-overview-0000001478061421-V2 不想花时间看,可以看我下面总结的干货,哈哈 第一个问题:stage架构和fa架构的区…

Python | Leetcode Python题解之第59题螺旋矩阵II

题目&#xff1a; 题解&#xff1a; class Solution:def generateMatrix(self, n: int) -> List[List[int]]:matrix [[0] * n for _ in range(n)]num 1left, right, top, bottom 0, n - 1, 0, n - 1while left < right and top < bottom:for col in range(left, r…

速盾:cdn提升网站防护能力和访问速度

随着互联网的快速发展&#xff0c;网站的安全问题也变得越来越重要。为了保护网站的安全&#xff0c;CDN&#xff08;Content Delivery Network&#xff09;成为了一个重要的选择。CDN可以提升网站的防护能力和访问速度&#xff0c;为网站的用户提供更好的体验。 首先&#xf…

android:textColor=“?attr/colorBottomHintText“像这种颜色值怎么获取?

android:textColor"?attr/colorBottomHintText" 在Android中&#xff0c;?attr/colorBottomHintText是一种引用主题属性&#xff08;Theme Attribute&#xff09;的方式&#xff0c;用于动态获取主题中定义的颜色值。如果你想要在Java代码中使用这样的颜色值&…

Flask简介

Flask简介 安装概述使用PyCharm创建一个Flask程序 Flask程序的基本结构初始化路由和视图函数启动服务器请求-响应循环 安装 概述 Flask算是小型框架&#xff0c;小到可以称为“微框架”。Flask 非常小&#xff0c;因此你一旦能够熟练使用它&#xff0c;很可能就能读懂它所有的…