《HumanGaussian: Text-Driven 3D Human Generation with Gaussian Splatting》

文章介绍了SMPL模型,一种用于表示人体形状和姿势的3D模型,及其在3D人体生成中的应用。讨论了线性混合蒙皮在形变模拟中的作用,并提到3DGaussianSplatting(3DGS)在实时场景重建中的优势及挑战。作者提出结合结构指导和梯度规范化的新方法HumanGaussian,以生成高质量的3D人体模型,同时通过AnnealedNegativePromptGuidance改进渲染质量。

前置知识:

\quad 1)SMPL(Skinned Multi-Person Linear)模型

\quad SMPL(Skinned Multi-Person Linear)模型是一种用于表示人体形状和姿势的三维模型。

\quad a. Skinned表示这个模型不仅仅是骨架点,其实有蒙皮的,其蒙皮通过3D mesh表示。3D mesh如下所示,指的是在立体空间里面用三个点表示一个面,可以视为是对真实几何的采样,其中采样的点越多,3D mesh就越密,建模的精确度就越高。
在这里插入图片描述

\quad b. Multi-person表示的是这个模型是可以表示不同的人的,是通用的。
\quad c. Linear表示人体的不同姿态或者不同身高,胖瘦(我们都称之为形状shape)是一个线性的过程,是可以控制和解释的。

\quad 在SMPL模型中,我们的目标是对于人体的形状(胖瘦高矮),和人体的动作姿态进行定义。

\quad 为了描述人体的动作,SMPL模型中定义了一个维度是 24 x 3 的姿态参数θ,去描述某个时刻人体的动作姿态。24指的是24个关节点,但是3并不是(x, y, z),而是该节点针对于其父节点的旋转角度的轴角式表达。

\quad 为了描述人体的形状,SMPL模型中定义了一个维度是 10 的形状参数β,每一个维度的值都可以解释为人体形状的某个指标,比如高矮,胖瘦等。

\quad 2)线性混合蒙皮(Linear Blend Skinning)

\quad 线性混合蒙皮(Linear Blend Skinning),也称为蒙皮权重插值,用于模拟三维模型的形变(skinning)和骨骼动画。蒙皮是指如何将模型的表面与其骨骼结构关联起来,以便在动画中实现形变。

\quad SMPL模型使用线性混合蒙皮作为其形变模型的基础。SMPL使用线性混合蒙皮来模拟人体的肌肉和骨骼的运动。

一、正文:

\quad 为了引入人体结构先验,最近的文本驱动 3D 人体生成研究将 SDS 与 SMPL 等模型结合起来。具体来说,一个常见的做法是将人体先验集成到网格(mesh)和神经辐射场(NeRF)等表示中,或者通过将身体形状作为网格 / 神经辐射场密度初始化,或者通过学习基于线性混合蒙皮(Linear Blend Skinning)的形变场。然而,它们大多在效率和质量之间进行权衡:基于 mesh 的方法很难对配饰和褶皱等精细拓扑进行建模;而基于 NeRF 的方法渲染高分辨率结果对时间和显存的开销非常大。如何高效地实现细粒度生成仍然是一个未解决的问题。

\quad 最近,3D Gaussian Splatting(3DGS)的显式神经表达为实时场景重建提供了新的视角。它支持多粒度、多尺度建模,对 3D 人体生成任务非常适用。然而,想要使用这种高效的表达仍有两个挑战:
\quad 1)3DGS 通过在每个视锥体中排序和 alpha - 混合各向异性的高斯来表征基于图块的光栅化,这仅会反向传播很少一部分的高置信度高斯。然而,正如 3D 表面 / 体积渲染的研究所证实的那样,稀疏的梯度可能会阻碍几何和外观的网络优化。因此,3DGS 需要结构引导,特别是对于需要层次化建模和可控生成的人体领域。
\quad 2)朴素的 SDS 需要一个large scale的无分类器指导(Classifier-Free Guidance)来进行图像文本对齐,例如,在 DreamFusion 中使用的 100。但它会因过度饱和而牺牲视觉质量,使真实的人类生成变得困难。此外,由于 SDS 损失的随机性,3DGS 中原始的gradient-based density control 会变得不稳定,导致模糊的结果和floating artifacts。

\quad 因此,我们提出了有效且快速的 3D 人体生成模型 HumanGaussian,通过引入显式的人体结构引导与梯度规范化来辅助 3D 高斯的优化过程,能够生成多样且逼真的高质量 3D 人体模型。我们的直觉在于,3DGS是一种具有周期性高斯收缩或增长的有效渲染器,这种自适应密度控制可以自然地由内在的人体结构引导。本文的关键在于,结合显式的结构指导和梯度正则化,以促进高斯优化。

\quad 具体地,我们首先提出了一个 Structure-Aware SDS 联合学习人体外观和几何。不想先前的工作《Text-to-3d using gaussian splatting》、《3d gaussian splatting for real-time radiance field rendering》、《Gaussian dreamer: Fast generation from text to 3d gaussian splatting with point cloud priors》那样利用一般的先验,比如SfM和Point-E模型,我们将高斯初始化在SMPL-X mesh上。这样,后续的densification和pruning过程就会关注人体表面周围的区域,可以有效地捕捉几何变换,比如accessories和wrinkles。
此外,我们扩展了SD,使同时降噪RGB和Depth。这种双分支设计提取了两个空间对齐目标(即RGB和深度)的联合分布,在结构引导和纹理真实性下提高了高斯收敛性。

\quad 为了进一步改善自然外观的渲染,我们还设计了一个Annealed Negative Prompt Guidance。特别地,我们将SDS解耦为a noisier generative score和a cleaner classifier score,后者配备了一个decreasing negative prompt guidance来促进在正常CFG尺度(7.5)时的真是生成,这一点已经在当前的 text-to-3d 研究中被证实《Noise-free score distillation》《Text-to-3d with classifier score distillation》。通过这种方式,我们设法避免过饱和模式通过使用适当的CFG尺度,从而很好地平衡样本质量和多样性。此外,由于SDS损失的高方差,直接依靠梯度信息来控制密度,会导致模糊的几何。相反,我们建议在 prune-only 阶段消除基于高斯大小的浮动伪影。

二、方法

2.1. Preliminaries
\quad SMPL-X模型:是一个三维参数的人体模型,定义了身体,手,和脸的形状拓扑。它包含10475个顶点,和54个关键点。它可以被如下公式定义:
在这里插入图片描述
\quad T ˉ \bar{T} Tˉ是平均模板形状。Bs, Bp, Be分别是shape,pose,expression的blend shape functions。T(β,θ,φ)表示来自 T ˉ \bar{T} Tˉ的非刚性变形。LBS(·)是linear blend skinning函数,将T(β,θ,φ)转换为目标姿态θ,骨骼关节点 J(β),以及在每个顶点上定义的混合权值W。

\quad 方法的总览如下图所示。比较直观地看出来,先用SMPL-L网格初始化3DG,然后用dual-branch SDS对其进行优化,最后进行Prunning。
在这里插入图片描述
2.2 Structure-Aware SDS
\quad 这一部分的优化目标如下所示:
在这里插入图片描述
在这里插入图片描述

2.3. Annealed Negative Prompt Guidance
\quad 首先将SDS解耦为两项,前一项是将图像推向更真实的流形的生成分数,后一项是将样本与隐式分类器对齐的分类器分数。
在这里插入图片描述
\quad 在文生图和文生 3D 领域中,负文本被广泛用于避免生成不需要的属性。根据经验,研究者发现负文本分类器分数会在小时间步长内损害质量,因此使用退火的负文本引导来结合两个分数进行监督:
在这里插入图片描述

### 基于音频驱动的3D高斯点绘实时高保真 Talking Head 合成技术 基于音频驱动的3D高斯点绘实时高保真的Talking Head合成技术是一个跨领域研究方向,涉及计算机视觉、图形学和语音处理等多个学科。以下是对此主题的技术分析: #### 技术背景 近年来,随着生成对抗网络(GANs)、扩散模型(Diffusion Models)以及其他深度学习框架的发展,高质量的3D人脸动画生成成为可能。特别是利用3D Gaussian Splatting技术,可以实现高效的几何建模与渲染[^1]。 BrightDreamer 提出了一个通用的3D高斯生成框架,用于快速文本到3D合成的任务。该框架的核心在于通过参数化的方式描述复杂的3D形状,并允许灵活调整细节层次以满足不同应用场景的需求。尽管此论文主要关注的是文本到3D对象的转换过程,但它所使用的底层技术——即3D Gaussian Splatting——同样适用于talking head的应用场景。 对于具体的audio-driven部分,则需引入额外的声音特征提取模块。这些模块通常会先将原始音频信号转化为梅尔频谱图或其他形式的时间序列数据作为输入源材料供后续神经网络解析使用[^4]。 #### 实现流程概述 整个系统的构建大致可分为以下几个方面: - **声音预处理**: 将录制下来的用户讲话录音经过一系列标准化操作之后送入声纹识别子系统当中获取对应的情感状态向量或者唇形运动轨迹估计值; - **表情迁移&姿态控制**: 结合先前得到的结果进一步计算目标人物面部肌肉变化情况并据此修改初始静态网格模型顶点位置形成动态效果; - **高效渲染引擎集成**: 利用现代GPU加速手段配合优化过的光线追踪算法完成最终画面呈现工作。 值得注意的是,在实际部署阶段还需要考虑到诸如延迟容忍度等因素的影响以便更好地服务于在线直播平台等即时通讯服务提供商们的要求之上。 ```python import torch from torchvision import transforms from model import AudioDrivenModel, Renderer def preprocess_audio(audio_file_path): transform = transforms.Compose([ lambda x: load_wav(x), lambda x: mel_spectrogram(x) ]) return transform(audio_file_path) # Example usage of the pipeline components. if __name__ == "__main__": device = 'cuda' if torch.cuda.is_available() else 'cpu' # Load pre-trained models audio_model = AudioDrivenModel().to(device) renderer = Renderer().to(device) # Process input data processed_audio = preprocess_audio('example.wav') latent_code = audio_model(processed_audio.unsqueeze(0).to(device)) # Generate output frame rendered_frame = renderer(latent_code) save_image(rendered_frame.cpu(), "output.png") ``` 上述代码片段展示了如何加载预先训练好的Audio Driven Model 和Renderer组件,并将其应用于新样本上生成相应的输出帧图像文件。 #### 当前挑战与发展前景 虽然已有不少研究成果展示出良好性能指标,但仍存在一些亟待解决的问题阻碍着这项技术更广泛的实际应用推广步伐。例如高昂硬件成本限制了普通消费者体验质量;另外长时间连续运行可能导致过热现象从而影响设备使用寿命等问题也需要引起重视加以改进完善才行[^2]。 未来的研究重点可能会放在提升效率降低资源消耗的同时保持甚至提高画质水平上面来迎合日益增长市场需求趋势走向多元化个性化定制方案提供可能性探讨之中去寻找突破口创造价值最大化机遇窗口期到来之前做好充分准备迎接新一轮科技革命浪潮冲击波来临时刻的到来吧! ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值