CVPR24新作:教你网络“影分身术”,半小时生成专属数字人的GaussianAvatar

news2024/11/15 9:31:05

论文标题:

GaussianAvatar: Towards Realistic Human Avatar Modeling from a Single Video via Animatable 3D Gaussians

论文作者:

Liangxiao Hu, Hongwen Zhang, Yuxiang Zhang, Boyao Zhou, Boning Liu, Shengping Zhang, Liqiang Nie

项目地址:

https://huliangxiao.github.io/GaussianAvatar

\\关于作者//
本文由原paper一作胡良校博士全权翻译写作,胡良校博士就读于哈尔滨工业大学,师从张盛平教授,主要研究方向为人体数字化身建模与驱动,有多项工作发布于顶会顶刊上,本篇paper入选了CVPR 2024。

导读:

3DGS相较于NeRF具有渲染质量高,速度快的优势,NeRF是之前单目人体数字化身建模任务的主流表达方式,如何将3DGS的优势扩展到这一任务中替代NeRF是一个非常有意思的方向。本文介绍如何将3DGS这种高效表达方式建模人体数字化身,为大家呈现一个趣味性极强的可实时驱动的数字化身。©️【深蓝AI】

1. 背景简介

数字化身建模是最近热门的计算机视觉和图形学任务,基于单目视频的人体数字化身建模只是其中的一个小任务。它在元宇宙背景下是存在一定的商业价值的,快速高效建模的需求也使得其成为了一个不小的挑战。

神经辐射场(Neural Radiance Field, NeRF)具有高真实感的渲染质量,是一个建模人体很好的表达方式,但其存在渲染速度和建模速度慢的问题。尽管神经辐射场后续工作尽可能地在弥补这个问题,但基于体渲染的方式依旧很难达到落地级别的建模和渲染速度。

3D高斯泼溅(3D Gaussian Splatting, 3DGS)首先在建模速度和渲染速度上就比神经辐射场要好不少,这得益于其显式的参数化形式以及点云渲染方式。如何将3DGS应用到人体数字化身建模任务上着实是不小的期待。

2. 方案提出

现有主流的单目人体数字化身建模算法大多基于NeRF,除了背景所述的建模和渲染速度较慢的问题,该类方法还有反向蒙皮过程中遇到的一对多问题,这也就导致初始人体姿态不准的问题很难被解决。我们这次提出的「基于可驱动3DGS的人体数字化身建模GaussianAvatar」,希望借助3DGS快速的建模和渲染速度,从单目视频中高效建模人体数字化身并实现实时驱动。同时,借助3DGS显式表达的特点,GaussianAvatar提出了标准姿态下的可驱动3DGS,通过前向蒙皮过程驱动人体高斯点云——前向蒙皮不仅避免了一对多问题,还使得人体姿态优化更为准确。

在这里插入图片描述
图1|GaussianAvatar实时驱动效果展示©️【深蓝AI】

在这里插入图片描述
图2|GaussianAvatar任务定义©️【深蓝AI】

3. 方法详析

方法流程如图2所示,对当前帧估计一个SMPL/SMPL-X模型,GaussianAvatar在其表面采样空间点并根据UV图关系存成一张位置UV图,其中每一个像素表示空间点的位置坐标。GaussianAvatar将其作为动作信号输入到一个位姿编码器获得动作特征,通过残差相加的方式和一个优化后的特征向量一起输入到高斯参数解码器中得到标准姿态下的高斯点云,然后通过线性混合蒙皮公式进行驱动并最终渲染成当前姿态下的图像。这其中主要包含以下几个技术细节:

在这里插入图片描述
图3|GaussianAvatar方法流程©️【深蓝AI】

3.1 可驱动3DGS

可驱动3DGS的本质就是将3DGS和人体模型SMPL/SMPL-X进行结合,可以用一个公式进行说明:

G ( β , θ , D , P ) = S p l a t t i n g ( W ( D , J ( β ) , θ , ω ) , P ) G(\beta, \theta, \mathbf{D}, \mathbf{P}) = Splatting(W(\mathbf{D}, J(\beta), \theta, \omega), \mathbf P) G(β,θ,D,P)=Splatting(W(D,J(β),θ,ω),P)

其中 G ( ⋅ ) G(\cdot) G()表示渲染的图像, S p l a t t i n g ( ⋅ ) Splatting(\cdot) Splatting()表示3DGS的渲染过程, W ( ⋅ ) W(\cdot) W()表示线性混合蒙皮公式, D = T ( β ) + d T \mathbf{D} = T(\beta) + dT D=T(β)+dT表示高斯点的位置,它包含了SMPL/SMPL-X模型的表面点位置 T ( β ) T(\beta) T(β)和预测的空间残差值 d T dT dT P \mathbf{P} P表示高斯参数除了位置外的其余超参。他包括了预测颜色 c ^ \hat{ \mathbf{c}} c^,预测尺度 s ^ \hat{s} s^以及固定的旋转向量 q \mathbf{q} q和透明度 α \alpha α。如图4所示,这些预测和固定的高斯参数是定义在标准姿态的SMPL/SMPL-X模型下的,用线性混合蒙皮即可完成驱动。

在这里插入图片描述
图4|可驱动3DGS©️【深蓝AI】

3.2 动态高斯参数预测

定义完可驱动3DGS,我们需要借助神经网络来预测这些属性参数。如图3所示,我们为此设计了一个动态外观网络和一个可优化特征向量。动态外观网络包括了一个姿态编码器U-Net和一个高斯参数解码器MLP。整个网络用公式表示如下:

f ϕ : S 2 ∈ R 3 → R 7 f_\phi: \mathcal{S}^2 \in \mathbb{R}^3 \rightarrow \mathbb{R}^7 fϕ:S2R3R7

网络学习动作信号与动态高斯参数的映射关系。上诉提到,GaussianAvatar是将位置UV图作为动作信号,当人体动作发生变化时,位置UV图上的像素值也在发生变化,同时借助U-Net的CNN结构能够更好地表达高斯点的属性变化。

这里的预测的高斯参数和源3DGS参数有较大的偏差。源3DGS预测的是球谐系数,与视角方向有关,但是对于单目视频而言,相当于就只有一个视角,因此直接预测颜色的RGB值会比预测球谐系数更为简便有效。同时GaussianAvatar将高斯点云的各项异性改为各项同性,这是因为单目视频缺少多视角的监督,对于一个视频帧而言,神经网络更容易将高斯点过拟合到当前视角,当高斯点是一个各项同性的球体时会减小过拟合的影响。基于此,我们固定旋转向量 q \mathbf{q} q和透明度 α \alpha α,并且直接预测高斯球体的半径。如图5所示,基于各项同性的高斯点云在另一个视角的渲染结果更具合理性。

在这里插入图片描述
图5|各项同性高斯的影响©️【深蓝AI】

3.3 动作联合优化

如图3所示,我们对线性混合蒙皮公式用到的人体姿态进行联合优化,这是因为单目人体SMPL估计不准,需要进一步矫正。对此,我们对初始动作添加一个可优化残差,公式表示如下:

Θ ^ = ( θ + Δ θ , t + Δ t ) \hat{\Theta} = (\theta + \Delta {\theta}, \mathbf{t} + \Delta \mathbf{t}) Θ^=(θ+Δθ,t+Δt)

其中,我们对估计的人体姿态 θ = ( θ 1 , θ 2 , . . . , θ J ) \theta = ({\theta}_1, {\theta}_2, ..., {\theta}_J) θ=(θ1,θ2,...,θJ)和人体位移 t \mathbf{t} t添加一个可优化残差 ( Δ θ , Δ t ) (\Delta \mathbf{\theta}, \Delta \mathbf{t}) (Δθ,Δt)。这样我们通过前向蒙皮从标准姿态驱动到当前姿态优化人体动作,能够比先前方法反向蒙皮过程对动作优化更为准确。

3.4 训练策略

GaussianAvatar的训练过程包括两个阶段,第一个阶段将姿态编码器固定,训练可优化特征向量,高斯参数解码器以及动作的可优化残差。这个阶段的损失函数如下:

L s t a g e 1 = λ r b g L r b g + λ s s i m L s s i m + λ l p i p s L l p i p s + λ f L f + λ o f f s e t L o f f s e t + λ s c a l e L s c a l e \mathcal{L}_{stage_1} = \lambda_{rbg}\mathcal{L}_{rbg} + \lambda_{ssim}\mathcal{L}_{ssim} + \lambda_{lpips}\mathcal{L}_{lpips} + \lambda_{f}\mathcal{L}_{f} + \lambda_{offset}\mathcal{L}_{offset} + \lambda_{scale}\mathcal{L}_{scale} Lstage1=λrbgLrbg+λssimLssim+λlpipsLlpips+λfLf+λoffsetLoffset+λscaleLscale左右滑动查看完整公式

其中, L r b g \mathcal{L}_{rbg} Lrbg L s s i m \mathcal{L}_{ssim} Lssim L l p i p s \mathcal{L}_{lpips} Llpips分别表示L1损失,SSIM损失以及LPIPS损失。 L f \mathcal{L}_{f} Lf L o f f s e t \mathcal{L}_{offset} Loffset L s c a l e \mathcal{L}_{scale} Lscale表示对特征向量,预测的 d T dT dT以及尺度 s ^ \hat{s} s^的L2正则项。

经过这个阶段的训练,我们可以得到较为精确的人体姿态以及表示粗糙人体外观的特征向量 F F F。在第二个阶段,我们将姿态编码器也加入训练,同时固定特征向量 F F F和人体姿态。同时将 L f \mathcal{L}_{f} Lf替换成 L p \mathcal{L}_{p} Lp,用来约束姿态编码器的输出。

4. 实验结果与分析

4.1 实验设置

我们使用的数据集包括了People-Snapshot,NeuMan以及自己采集的DynVideo数据集。People-Snapshot数据集记录了不同人在单目相机前转圈的视频,NeuMan数据集采集了室外运动的人的视频,DynVideo使用手机采集了两组动作较为丰富的人体运动视频,具有相对较多的人体外观变化。

对比方法我们选择了两个基于NeRF的方法:HumanRF以及InstantAvatar。HumanRF维护了一个标准空间的神经辐射场以及一个运动场来表达数字化身;InstantAvatar使用Instant-NGP对NeRF进行加速,能够较快的建模和驱动数字化身。

4.2 定量实验对比

在这里插入图片描述
表1|People-Snapshot定量对比结果。Opt.表示动作联合优化,Dyn.表示动态外观建模©️【深蓝AI】

在这里插入图片描述
表2|NeuMan定量对比结果。Opt.表示动作联合优化,Dyn.表示动态外观建模©️【深蓝AI】

在这里插入图片描述
表3|DynVideo定量对比结果。Opt.表示动作联合优化,Dyn.表示动态外观建模©️【深蓝AI】

4.3 定性实验对比

在这里插入图片描述
图6|新视角定性实验对比结果©️【深蓝AI】

在这里插入图片描述
图7|定性消融实验结果:(a)是原图;(b)动作优化和动态外观建模联合结果;©只包含动作优化;(d)不包括动作优化和动态外观建模©️【深蓝AI】

在这里插入图片描述
图8|动作优化实验结果:(a)(d)是原图;(b)(e)动作优化后结果;©(f)初始姿态估计©️【深蓝AI】

5. 总结

我们通过结合SMPL/SMPL-X模型提出了可驱动3DGS,这一方法能够实现高效建模和实时驱动,外观动作联合优化有效解决初始姿态不准的问题,给予动捕一个新的思路。

然而GaussianAvatar还存在一些问题,例如 无法达到分钟级的建模速度,由于CNN的加入,GaussianAvatar需要几个小时才能在动态外观比较丰富的数据上进行拟合。此外,GaussianAvatar还无法解决宽松衣物的建模,在裙子等衣物上表现较差。建模复杂衣物一直都是数字化身建模的难点,当然这一问题并不是没有解决方案,我们相信在今后的算法中这一问题将会得到有效解决。

移步公众号【深蓝AI】,第一时间获取自动驾驶、人工智能与机器人行业最新最前沿论文和科技动态。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1861262.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何运用Midjourney探究新中式美学?

新中式美学最近真是越来越火了,把传统中式元素和现代设计结合起来,不仅看着舒服,还特别有文化韵味。 1. 研究和准备 首先,得先弄清楚什么是新中式美学。说白了,就是把传统中式元素和现代设计结合起来。你可以看看相关…

费控4.0全面解决方案从源头破解企业费用管理痛点

随着企业数字化变革的加速,费控报销正处于最具有发展潜力的细分赛道,且无疑是具有 “长坡厚雪”属性的投资标的。但回归企业管理视角,作为一个用于企业非生产性费用管理的管理工具,费控报销平台的评判标准只有两个:好不…

开通商家转账到零钱最简单直接的办法

想要一次性开通微信支付商家转账到零钱功能,您可以按照以下步骤进行操作: 首先,确保您的商户号主体是没有正在处罚中的公司。个体工商户目前暂不支持此功能。同时,仔细检查是否存在严重的违规处罚记录,如果只是轻微的风…

剪辑如何剪辑制作视频短视频剪辑学习怎么学,难吗?

工欲善其事必先利其器,有一个好的工具能让你的工作如鱼得水,果你想在短视频中制作精良的视频,你就考虑电脑制作软件了。果你想制作精良的视频,你就考虑电脑制作软件了。 如何找到剪辑软件了?你可以直接去软件的官方。你…

常见的排序算法【总结】

目录 排序的基本概念与分类排序的稳定性内排序与外排序简单排序冒泡排序时间复杂度: O ( n 2 ) O(n^2) O(n2) 简单选择排序排序原理:时间复杂度: O ( n 2 ) O(n^2) O(n2) 插入排序排序原理:时间复杂度: O ( n 2 ) O(n^…

MCP2515汽车CAN总线支持SPI接口的控制器芯片替代型号DPC15

器件概述 DPC15是一款独立CAN控制器,可简化需要与CAN总线连接的应用。可以完全替代兼容MCP2515 图 1-1 简要显示了 DPC15 的结构框图。该器件主要由三个部分组成: 1. CAN 模块,包括 CAN 协议引擎、验收滤波寄存 器、验收屏蔽寄存器、发送和接…

解锁最强比较工具Beyond_Compare十大功能及下载注册

Beyond Compare是一款功能强大的文件和文件夹比较工具,以下是其十大用法: 文件内容比较: Beyond Compare能够详细比较两个文件的内容,以绿色表示添加的内容,红色表示删除的内容,黄色表示修改的内容。 用户…

基线管理是什么

0、背景 作为数据开发人员,我们日常工作的一部分就是夜间值班。”夜间值班“对于没有实际工作经验的同学来说可能比较陌生。 所谓夜间值班,主要是为了保证数据可以在我们的对外承诺时间前产出。而由于日常生产任务依赖关系异常复杂,上游任务…

QT自定义信号和槽函数

在QT中最重要也是必须要掌握的机制,就是信号与槽机制,在MFC上也就是类型的机制就是消息与响应函数机制 在QT中我们不仅要学会如何使用信号与槽机制,还要会自定义信号与槽函数,要自定义的原因是系统提供的信号,在一些情…

PointCloudLib-滤波模块(Filtering)-直通滤波

使用直通过滤器过滤点云 在本教程中,我们将学习如何沿着 指定维度 – 即,切断位于 或 在给定用户范围之外。 代码 首先,创建一个文件,比方说,在你最喜欢的 编辑器,并将以下内容放入其中:passthrough.cpp #include <iostream> #include <pcl/point_types.h&g…

探究Qt5【元对象编译器,moc】的 设计原理和技术细节

Qt5是一个跨平台C框架&#xff0c;它有个突出的特点就是其元对象系统&#xff0c;该系统通过扩展C的能力&#xff0c;为事件处理提供了信号与槽机制、为对象内省提供了属性系统。为了支持这些特性&#xff0c;Qt引入了元对象编译器&#xff08;Meta-Object Compiler, MOC&#…

安达发|生产制造业怎么做好一体化生产计划排产?

在生产制造业中&#xff0c;一体化生产计划排产是确保生产效率和产品质量的关键。要实现这一目标&#xff0c;企业需要采用高级排产软件&#xff08;APS&#xff09;来优化生产流程。以下是如何利用APS软件做好一体化生产计划排产的详细步骤和建议&#xff1a; 1. 需求分析与数…

从0开始学做质量工程师,只需6个月成为专业的质量管理者

欢迎来到优思学院的特别讲座——从零开始学质量工程师&#xff0c;只需6个月&#xff01;在这篇博客中&#xff0c;我们将分享满满的干货&#xff0c;帮助你在短时间内掌握成为质量工程师所需的知识和技能。无论你是刚踏入职场的新人&#xff0c;还是希望提升自身竞争力的在职人…

嵌入式单片机无刷电机FOC控制与实现详解

现在无刷电机越来越多的进入人们的视野,因为他的控制精度更高,相对直流电机而言可以更稳定的工作等特点,被越来越多的应用于机器人行业,而无刷电机的控制离不开FOC控制。 FOC(field-oriented control)为磁场导向控制,又称为矢量控制(vector control),是一种利用变频器…

豆瓣高分项目管理书籍推荐

&#x1f4ec;豆瓣网站上有很多项目管理领域的书籍获得了较高的评分&#xff0c;以下是一些高分项目管理书籍的精选列表&#xff0c;发出来跟大家分享一下&#xff1a; 《项目管理知识体系指南&#xff08;PMBOK指南&#xff09;》 【内容简介】这本书是美国项目管理协会&…

shell:使用结构化语句(控制流)

许多程序要求对shell脚本中的命令施加一些逻辑流程控制。有一类命令会根据条件使脚本跳 过某些命令。这样的命令通常称为结构化命令(structured command)。 1. if-then、if-then-else、if-then-elif-else 如果该命令的退出状态码是0 (该命令成功运行)&#xff0c;位于then部分…

OpenAI突然宣布停止向中国提供API服务!

标题 &#x1f31f; OpenAI突然宣布停止向中国提供API服务! &#x1f31f;摘要 &#x1f4dc;引言 &#x1f4e2;正文 &#x1f4dd;1. OpenAI API的重要性2. 停止服务的原因分析3. 对中国市场的影响4. 应对措施代码案例 &#x1f4c2;常见问题解答&#xff08;QA&#xff09;❓…

SNP过滤标准的确定

--------各项指标的计算-------- vcfxxx.vcf.gz outxxx # 计算完的文件会自动生成文件后缀 # 1.计算每个个体的SNP的平均测序深度 vcftools --gzvcf $vcf --depth --out $out # 2.计算每个SNP位点的测序深度 vcftools --gzvcf $vcf --site-mean-depth --out $out # 3.计算每…

3D网格细分与变形

这篇文章探讨了整个细分和变形过程中出现的各种问题的解决方案。然后&#xff0c;它将其扩展为完整的管道&#xff0c;用于变形和操纵 3D 网格&#xff0c;并计算着色和位移的精确法线。 1、简单细分 在 3D 渲染中&#xff0c;所有网格都由三角形组成。当模型从 Blender 或任…