想象一下给朋友打视频电话,但你面对的不再是手机上平面的 2D 矩形,而是一个逼真的 3D 全息图。你可以绕着他们走动,看到他们衬衫的背面,或者从任何角度观看他们跳舞。这就是远程临场 (Telepresence) 和元宇宙的“圣杯”。
多年来,实现这一目标需要好莱坞式的动作捕捉摄影棚,配备 50 多个摄像头并进行数小时的处理。但一篇题为 “Real-time Free-view Human Rendering from Sparse-view RGB Videos using Double Unprojected Textures” 的新论文正在改变这一局面。
研究人员提出了一种称为 DUT (Double Unprojected Textures,双重反投影纹理) 的方法。它允许仅使用少数几个摄像头 (稀疏视角) ,就能实时渲染出照片级逼真、4K 分辨率的人体。

在这篇文章中,我们将剖析他们是如何做到这一点的,重点介绍他们独特的“双重”方法,该方法解决了计算机视觉中最棘手的“先有鸡还是先有蛋”的问题之一。
核心问题: 几何形状 vs. 外观
要渲染一个数字孪生人体,通常需要两样东西:
- 几何形状 (Geometry) : 人的 3D 形状 (网格) 。
- 外观 (Appearance) : 绘制在该形状上的颜色和纹理。
在“稀疏视角”设置下 (例如,仅 3 或 4 个摄像头) ,你的数据非常少。现有的实时方法通常试图走捷径。有些尝试同时学习几何形状和外观,这通常会导致“鬼影”伪影,即纹理在身体上滑动。另一些则在估计身体形状时忽略图像数据,仅依赖骨骼运动,这导致生成的化身看起来光滑但像塑料一样,缺乏逼真的衣物褶皱。
研究人员意识到,要获得高保真度,你需要将这两个任务解耦,但你必须在两个任务中都使用图像数据。
解决方案: 双重反投影纹理 (DUT)
DUT 背后的直觉出奇地简单: 如果你试图在一个糟糕的形状上绘制纹理,画作看起来会很乱。如果你先修正形状,画作看起来就会很棒。
该方法分两个不同的阶段运行,并在每个阶段执行“纹理反投影”步骤。
什么是纹理反投影?
想象你有一个人的 3D 模型和一张他们的照片。“反投影”是将照片中的像素投影回 3D 模型,然后将该模型展开为平面 2D 图像 (纹理贴图) 的过程。
如果你的 3D 模型与照片中的人完美匹配,生成的纹理贴图看起来就很干净。如果你的 3D 模型稍有偏差 (例如,数字手臂比真实手臂低) ,纹理贴图看起来就会失真且“模糊”。
管道概览
DUT 架构完全使用高效的 2D 卷积神经网络 (CNN) 运行,这是其实现实时速度的秘诀。

如上图 2 所示,系统分为两个主要管道:
- 蓝色管道 (GeoNet): 图像条件模板变形。
- 绿色管道 (GauNet): 纹素高斯预测。
让我们逐步了解它们。
第一阶段: 修正几何形状 (GeoNet)
该过程从一个标准的“人体模板” (通用的 3D 人体网格) 开始,该模板根据演员的骨骼进行姿态调整。然而,通用模板无法捕捉特定的身体形状或衣物褶皱及运动方式。
在以前的工作中,研究人员通常会在这个阶段忽略视频流。然而,DUT 执行了 第一次反投影 。 他们将视频像素投影到这个通用模板上。
由于模板并不完美,生成的纹理贴图是失真的。但这里有一个巧妙之处: 失真本身就包含了信息。

如图 15 所示,网络可以观察失真的纹理贴图 (中间) ,并弄清楚如何修复网格。研究人员训练了一个名为 GeoNet 的网络,该网络接收这个混乱的纹理贴图并预测一个“变形图” (公式 5) 。

这张图准确地告诉系统如何推拉网格的顶点,以便几何形状与视频中的真实人物对齐。
第二阶段: 用高斯绘画 (GauNet)
既然第一阶段已经修正了几何形状,系统就将变形应用到网格上。现在,他们执行 第二次反投影 。
因为几何形状现在是准确的,所以这第二张纹理贴图要干净得多,伪影和鬼影问题也少得多。

在图 3 中,你可以看到差异。顶行显示了第一次反投影 (接缝混乱,手臂失真) 。底行显示了几何修正后的第二次反投影——它明显更清晰、更一致。
这张干净的纹理贴图被输入到第二个网络 GauNet 中。
GauNet 不仅仅预测 RGB 颜色 (这看起来可能很平淡) ,而是预测 3D 高斯泼溅 (3D Gaussian Splatting) 的参数。

对于纹理贴图中的每个像素 (纹素) ,网络预测一个 3D 高斯 (一个具有位置、旋转、缩放、不透明度和颜色的模糊 3D 团块) 。这使得系统能够表现出平面三角形网格无法捕捉的细节,如发丝和布料褶皱。

细化: 高斯尺度细化
变形网格的一个问题是多边形可能会被拉伸 (就像弯曲手肘处的三角形) 。这可能会混淆高斯的大小。作者引入了一个细化步骤,检查网格拉伸了多少,并据此调整 3D 高斯的尺度。

这个简单的几何检查确保了渲染在快速运动或极端姿势下不会崩溃。
实验与结果
这种两阶段方法的结果令人印象深刻。研究人员将 DUT 与 HoloChar、DVA 和 ENeRF 等最先进的方法进行了测试。
视觉质量
视觉上的提升是显而易见的。DUT 在 4K 分辨率下捕捉到了面部表情、手指位置和衣物褶皱。

在下面的比较 (图 5) 中,看看面部的清晰度和肢体的“完整性”,相比之下,像 HoloChar 或 DVA 这样的其他方法通常会产生模糊或破碎的结果。

“立定跳远”测试 (鲁棒性)
以前系统的一个主要弱点是“分布外” (Out-of-Distribution, OOD) 运动。如果一个系统是基于行走和挥手训练的,而演员突然做了一个立定跳远,大多数系统都会崩溃,因为它们过于依赖骨骼先验。
因为 DUT 使用实时图像数据来计算几何形状 (通过第一次反投影) ,所以它能更好地适应未见过的动作。

上面的图表显示,即使在复杂、未见过的运动中,竞争对手的方法失败了,DUT 仍然保持了较高的 PSNR (图像质量) 和结构相似性 (SSIM) 。
定量数据
对于关注数据的人来说,表 1 详细列出了性能指标。DUT 在不同受试者 (S3, S22, S2618) 上的表现始终优于竞争对手。

注: LPIPS 衡量感知相似性 (越低越好) ,而 PSNR 衡量信噪比 (越高越好) 。
速度 (“实时”承诺)
也许最关键的成就是速度。如果只有每秒 5 帧,那么高质量的渲染对于远程临场来说毫无用处。

如表 4 所示,DUT 在单块 Nvidia RTX 3090 GPU 上的运行速度超过 42 FPS , 在 H100 上超过 53 FPS 。 这之所以能够实现,是因为繁重的工作是由在纹理空间中运行的高效 2D CNN 完成的,而不是繁重的 3D 体积卷积。
结论
“双重反投影纹理”论文为稀疏视角渲染问题提供了一个巧妙的工程解决方案。通过明确地将问题分离为 几何修正 和 外观合成 , 并通过两次反投影将它们联系起来,作者成功地融合了两个世界的优点: 基于模板模型的稳定性与基于图像渲染的灵活性。
关键要点:
- 解耦是关键: 分离几何形状和外观可以防止它们相互产生负面影响。
- 使用图像两次: 第一遍告诉你几何形状哪里错了;第二遍给你干净的纹理来绘画。
- 2D 很高效: 将 3D 问题映射到 2D 纹理空间,使得在消费级硬件上实现实时性能成为可能。
这项研究让我们离未来更近了一步,在那样的未来里,我们的视频通话感觉不再像是盯着屏幕,而更像是共处一室。
这篇博客文章讲解了由 Guoxing Sun 等人在马克斯·普朗克信息学研究所发表的研究论文 “Real-time Free-view Human Rendering from Sparse-view RGB Videos using Double Unprojected Textures”。
](https://deep-paper.org/en/paper/2412.13183/images/cover.png)