UC Berkeley基于Stable Diffusion提出3DHM新框架,利用3D姿势让照片动起来!

2024-02-1616:55:06人工智能与大数据Comments432 views字数 3483阅读模式
论文名:Synthesizing Moving People with 3D Control文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/60040.html

论文链接:https://arxiv.org/pdf/2401.10889.pdf文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/60040.html

开源代码:https://boyiliee.github.io/3DHM.github.io/文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/60040.html

引言文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/60040.html

给定一个人的随机照片,我们能否准确地模拟出他人的动作来使之动起来?这个问题需要对人体姿势随时间变化的深刻理解,学习关于人体外貌和服装的先验知识。例如,在图中,演员可以做各种各样的动作,从简单的行走和奔跑到较复杂的战斗和跳舞。对于模仿者来说,学习有关其外貌和服装的视觉前提是使他们能以不同的姿势和视角模拟动作的关键。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/60040.html

UC Berkeley基于Stable Diffusion提出3DHM新框架,利用3D姿势让照片动起来!
简介文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/60040.html

在本文中,我们提出了一种基于扩散模型的框架,用于从给定的目标3D动作序列的单个图像中模拟人物动画。我们的方法有两个核心组件:a) 学习关于人体和服装不可见部分的先验知识,以及b) 渲染具有适当服装和纹理的新的身体姿势。对于第一部分,我们学习了一个内插扩散模型来还原给定单个图像中未见部分的人。我们在纹理映射空间上训练这个模型,这使它更有效地提取样本,因为它对姿势和视角是不变的。其次,我们开发了一个基于扩散的渲染流水线,其由3D人体姿势控制。这产生了人物的新的姿势的逼真渲染,包括服装、头发和不可见区域的合理内添补。这种分离的方法使我们的方法能够生成一系列图像,这些图像在3D姿势的目标运动和视觉相似性方面忠实于输入图像。此外,3D控制允许各种合成相机轨迹来渲染一个人。我们的实验证明,与以前的方法相比,我们的方法在生成持续运动和各种具有挑战性和复杂的姿势方面表现出韧性。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/60040.html

方法与模型文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/60040.html

我们的3DHM框架充分利用了来自最先进的预测模型4DHumans的准确3D姿势预测的优势,该模型能够准确地跟踪人体动作并提取演员视频的3D人体姿势。对于我们想要模仿的任何演员的视频,我们使用基于3D重建的跟踪算法提取演员的3D网格序列。对于修复和渲染部分,我们依赖于预训练的Stable Diffusion模型,这是一类最新的扩散模型之一,在各种生成视觉任务上取得了高竞争结果。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/60040.html

UC Berkeley基于Stable Diffusion提出3DHM新框架,利用3D姿势让照片动起来!
我们的3DHM方法由两个核心部分组成:第一阶段的Inpainting Diffusion用于纹理填充,第二阶段的Rendering Diffusion用于人体渲染。上图显示了我们框架的高级概述。在第一阶段,首先,对于给定的单视图图像,我们通过将网格渲染到图像上并对每个可见的网格三角形分配像素,以便在再次渲染时能够产生与输入图像相似的图像,从而提取纹理图的粗略估计。这个预测的纹理图仅包含输入图像的可见部分。第一阶段的Diffusion填充模型接受这个部分纹理图并生成一个完整的纹理图,包括未见区域。在得到这个完成的纹理图后,我们生成SMPL网格的中间渲染图像,并使用第二阶段模型将这些紧贴身体的渲染图像投影到更真实的带有服装的图像中。对于第二阶段的Diffusion模型,我们应用三维控制来使模仿者复制演员的动作。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/60040.html
1文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/60040.html
Texture map Inpainting文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/60040.html

第一阶段模型的目标是通过修复模仿者的未见区域来生成一个合理完整的纹理映射。我们首先将一个三维网格渲染到输入图像上,并根据4DHumans的方法为每个可见三角形采样颜色,从而得到一个部分可见的纹理映射。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/60040.html

UC Berkeley基于Stable Diffusion提出3DHM新框架,利用3D姿势让照片动起来!
(1)输入文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/60040.html

我们首先采用一种常见的方法来推断像素与表面之间的对应关系,从而构建出一个不完整的UV纹理映射,用于将单个RGB图像应用于三维网格的纹理绘制。我们还计算出一个可见性掩模,以指示哪些像素在三维空间中可见,哪些不可见。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/60040.html

(2)目标文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/60040.html

由于此建模的目标是生成完整的纹理映射,我们使用视频数据生成了一个伪完整的纹理映射。由于4DHumans可以跟踪人物随时间的变化,它将内部纹理映射表示不断更新为可见区域的移动平均值。然而,为了生成更清晰的图像,我们发现在生成任务中,中值滤波比移动平均更适用。虽然这种技术可以应用于任何视频,但在第一阶段,我们依赖于2,205个人类视频。对于每个人类视频,我们首先从每一帧中提取出一个部分纹理映射。由于每个视频包含360度的人体视角,我们计算出从整个视频中得到的伪完整纹理映射,并将其作为第一阶段的目标输出。具体而言,我们取视频中所有可见部分纹理映射的中值。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/60040.html

        (3)模型文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/60040.html

我们直接在在图像补全任务中表现出色的StableDiffusion Inpainting模型上进行微调。我们输入一个部分纹理地图和对应的可见性掩码,并获得人体恢复预测地图。我们锁定文本编码分支,并始终将“真实人类”作为固定Stable Diffusion模型的输入文本。我们将训练后的模型称为Inpainting Diffusion。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/60040.html

2文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/60040.html
Human Rendering文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/60040.html

在第2阶段,我们的目标是获得一个真实的渲染,展示一个模仿演员动作的仿真器。虽然中间渲染(由演员的姿势和从第1阶段获得的纹理图进行渲染)可以反映出多样的人类动作,但这些SMPL网格渲染是贴合身体的,无法代表具有服装、发型和身体形状的逼真渲染。例如,如果我们输入一个女孩穿着裙子跳舞的场景,中间渲染可能能够“跳舞”,但不可能使用SMPL网格渲染来使裙子动起来。为了训练这个模型,我们完全自监督的方式假设演员是模仿者,毕竟一个好的演员应该是一个好的模仿者。通过这种方式,我们可以提取任何视频的4DHumans的姿势序列,并从第1阶段获得任何单帧的完整纹理图,然后通过将纹理图渲染到3D姿势上获得中间渲染。现在,我们有了中间渲染和真实RGB图像的配对数据。利用这个数据,我们收集了大量的配对数据,并使用条件对我们的第2阶段扩散模型进行训练。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/60040.html

UC Berkeley基于Stable Diffusion提出3DHM新框架,利用3D姿势让照片动起来!
(1)输入文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/60040.html

首先,我们将从第一阶段生成的纹理地图(完全完成)应用于演员3D身体网格序列的中间渲染中,以呈现模仿者执行演员动作的场景。请注意,在这个阶段,中间渲染仅能反映出适合3D网格身体的衣服(紧身衣),但无法反映SMPL身体之外的纹理,比如裙子的蓬松区域、冬季夹克或帽子等。为了获取具有完整服装纹理的人体,我们将获得的中间渲染图像和该人的原始图像输入到Rendering Diffusion中,以呈现具有逼真外观的新姿势的人体。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/60040.html

(2)目标文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/60040.html

由于我们采集数据时假设演员是模仿者,我们拥有中间渲染和真实RGB图像的配对数据。这使我们能够在许多数据上训练该模型,而无需任何直接的3D监督。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/60040.html

(3)模型文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/60040.html

ControlNet类似,我们将Stable Diffusion模型 的编码器权重直接复制为我们的可控分支(“可训练副本”)以处理3D条件。我们冻结预训练的StableDiffusion并输入带有噪声的潜变量(64 × 64)。同时,我们将贴图的3D人体和原始人体照片输入到固定的VAE编码器中,获取贴图的3D人体潜变量(64 × 64)和外观潜变量(64 × 64)作为条件潜变量。我们将这两个条件潜变量输入到Rendering Diffusion的可控分支。该分支的关键设计原则是从人体输入中学习纹理,并通过去噪过程将其应用于训练中的贴图的3D人体上。其目标是通过第一阶段生成的(贴图的)3D人体来呈现出带有生动纹理的真实人体。我们通过扩散步骤和固定的VAE解码器将输出潜变量处理为像素空间。与第一阶段相同,我们锁定文本编码器分支,并始终将“一个真实的人在表演”作为输入文本输入到固定的Stable Diffusion模型中。我们将我们训练的模型称为Rendering Diffusion。在Rendering Diffusion中,我们逐帧预测输出。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/60040.html

实验与结果文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/60040.html
我 们 从2K2K、 THuman2.0和People-Snapshot 数据集中收集了2,524个3D人体视频。2K2K是一个大规模的人体数据集,其中包含了从2K分辨率图像重建的3D人体模型。THuman2.0包含了500个高品质的人体扫描,是通过密集的DLSR装置进行捕捉的。People-Snapshot是一个较小的人体数据集,其中包含了24个序列。我们将3D人体数据集转换为视频,并使用4DHumans从人体视频中提取3D姿势。我们使用2,205个视频用于训练,其他视频用于验证和测试。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/60040.html

基于帧级生成质量的定量比较文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/60040.html

UC Berkeley基于Stable Diffusion提出3DHM新框架,利用3D姿势让照片动起来!
UC Berkeley基于Stable Diffusion提出3DHM新框架,利用3D姿势让照片动起来!
我们可以看到,3DHM能够以非常高的准确度合成遵循提供的3D姿势的行走人物。与此同时,先前的方法可能无法通过直接预测姿势到像素映射来实现相同的性能。我们也注意到,3DHM在2D指标和3D指标上都能取得优秀的结果,即使DisCO和ControlNet由Openpose控制,而DreamPose由DensePose控制。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/60040.html

可视化结果对比文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/60040.html

UC Berkeley基于Stable Diffusion提出3DHM新框架,利用3D姿势让照片动起来!
UC Berkeley基于Stable Diffusion提出3DHM新框架,利用3D姿势让照片动起来!
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/60040.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/ai/60040.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定