3DTV:面向实时视图合成的可前馈插值网络 3DTV: A Feedforward Interpolation Network for Real-Time View Synthesis
基于 Delaunay 三角剖分选源与深度金字塔引导的前馈网络,仅需 3 个输入相机即可在 1024 分辨率下达到 40 FPS。
前置知识
Delaunay 三角剖分
Delaunay 三角剖分是一种经典的计算几何方法,它把二维平面上的一组离散点连成相互不重叠的三角形,并保证任意三角形的外接圆内不包含其他输入点。在 3DTV 中,它被用来为每个目标视角挑选 3 个几何上"包围"该视角的源相机,保证视角覆盖完整且分布合理,避免简单的 k 近邻可能产生的退化配置。
3DTV 的核心创新之一就是把稀疏视角选择建模成"在某个投影平面上做三角剖分"的问题,这是为什么作者能保证三相机夹角分布均匀、避免退化构型(两个源相机几乎共线)的关键所在。
平面扫描立体匹配 (Plane-Sweep Stereo)
Plane-Sweep Stereo 把沿相机主光轴方向的深度离散化成若干候选平面(前平行平面),把每个源视角的特征分别以每个候选深度对应的单应性矩阵 (homography) 投影到目标视角,再通过特征的相关度评分选出最一致的深度。这是传统多视图立体(MVS)领域的核心范式,3DTV 在其特征金字塔的每一层都重复这一流程,因此属于端到端可学习的 plane-sweep 网络。
3DTV 的深度估计模块本质就是一个可微 plane-sweep 立体;理解这一点能解释为什么它必须输出 per-view 投影特征、为什么它必须残差化修正、为什么深度假设数量(即 32)会决定其显存占用。
光流 (Optical Flow) 与基于深度的前向映射
光流描述图像平面上的像素运动 (dx, dy),基于光流做插值是经典视频帧插值方法的核心 (FILM, AMBE 等)。基于深度的前向映射则把"图像平面运动"换成"沿光线在三维空间中的深度",把源视角的像素按深度和相对相机姿态"投影"到目标视角。两者数学上相关 (深度+位姿≈光流),但物理意义不同:前者关注时间维度上的运动,后者关注空间维度上的视角变化。
3DTV 明确写明其灵感来自 Chen & Williams 1993 年的 view interpolation 论文以及 Reda et al. 的 FILM 论文 (视频插值),但用 depth estimation 替代了 central optical flow,因为自由视点渲染是空间插值问题而非时间插值问题。
Ghost 轻量化卷积模块
GhostNet 提出的一种高效卷积替代:先用普通卷积生成少量"本征特征图",再用廉价的逐通道 depthwise 卷积生成其余特征图,最后拼接,相当于把一次大卷积分解成"便宜 + 更便宜"两段。3DTV 的整个特征金字塔 backbone 都基于 Ghost bottleneck 构建,因此在 RTX 4090 上才能达到实时。
了解 Ghost 模块就能快速看懂 3DTV backbone 的设计动机——其首要约束是实时性,因此不能用 ViT/EfficientNet 之类的高表达力但高延迟的 backbone。
可微 warping 与 homography 引导的特征投影
给定目标相机内参、源相机外参,以及沿源光轴的深度假设 (或称"frontal-parallel plane",沿主光轴方向的平行平面),可以用一个 3×3 单应性矩阵把源视图的特征图直接 warp 到目标相机的图像平面。这个 warping 在 PyTorch 里是可微的,所以梯度可以一直反传到深度估计和图像解码。3DTV 在每一层金字塔、每一个深度假设下都做这件事,构建 32 平面 × 3 视角的相关体 (correlation volume)。
3DTV 全文都在操作 homography-induced warping;理解它才能看懂 correlation block 和 proj block 的输入输出以及残差连接为何能稳定训练。
研究动机
实时多视角视频流(用于 AR/VR、远程呈现、交互式剪辑等场景)面临一个本质矛盾:原始多相机采集的视角数可达 30+,但任意时刻观察者真正需要的可能只有 1~2 个新视角;与此同时,神经辐射场 (NeRF)、3D 高斯泼溅 (3DGS) 这类当下主流 NVS 方法虽然能输出照片级质量,但每个新场景都要进行数分钟甚至数小时的逐场景优化,并依赖至少数十张输入图(如 Table 1 所示,Nerfacto-big 需要 >30 张、训练时间 100 min,单次推理 7.8 ms 但配合多分钟的训练无法实时)。专攻稀疏视角的 GPS-Gaussian / GPS-Gaussian+ 把输入数降到 2 视角,但在大基线、复杂几何下频繁出现漂浮结构、几何重复和时间抖动等 artifact;RIFTCast 是当前实时多视角方案的代表,需要全部视角和完整 mask 才能构造 visual hull,对 mask 提取质量极度敏感;而 ENeRF、FWD 等 feedforward 方法虽然不需要 per-scene 训练,但要么推理延迟 97 ms 以上(远高于 25 ms 的实时门槛),要么和 1024² 高分辨率不兼容(FWD 只在 640×480 下工作)。因此在"稀疏视角 + 实时 + 不需逐场景训练 + 高质量"四象限里,过去没有一个方案能同时满足。
本文的目标是本文提出的目标是设计一个能同时满足四项约束的前馈插值网络 3DTV:(1) 仅使用 3 个稀疏源相机即可从任意桶内的查询视角合成新视角;(2) 完全 feedforward,无需 per-scene retraining 或 fine-tuning;(3) 在 1024² 分辨率下达到 ≥40 FPS(即单帧 ≤25 ms),对应 RTX 4090 等消费级 GPU;(4) 输出质量优于同档位实时方案 (RIFTCast, GPS-Gaussian+),稳定性更好、artifact 更少。作者在论文摘要里把这个目标量化成 "25 ms / 40 fps @ 1k"。
与已有工作不同的是,3DTV 的独特切入角度是把视角选择 (view selection) 从"事后启发式挑 3 个最近的相机"重新定义成一个几何优化问题——基于相机中心的"圆柱投影 + Delaunay 三角剖分"来保证三相机夹角均匀、覆盖完整,从源头规避退化构型带来的深度歧义;同时把经典"基于光流的帧插值"思路改造为"基于目标视角深度的特征 reprojection",借用了 MVS 神经网络的 coarse-to-fine 金字塔结构(类似 MVSNet 的 cascade cost volume)来同时控制显存占用和深度精度;最后整个 backbone 使用 Ghost 模块构建以满足实时性。所以它既不是 NeRF/Gaussian 类需要逐场景优化的方法,也不是简单沿用 GPS-Gaussian 2 视角的处理,而是用"几何先验 + 学习式插值"的方式填补了实时稀疏视图合成的空白。
核心方法
3DTV 整体思路是把"稀疏视角下的自由视点渲染"拆成两步几何驱动的子问题,先解决从许多相机中"挑哪三台"这个组合问题,再用学习式 MVS 网络从这三台相机的图像上"算出新视角"。第一步是沿用经典计算几何:把所有相机中心投影到一个圆柱面或一个虚拟平面上后做 2D Delaunay 三角剖分,任意查询射线穿过哪个三角形,就把该三角形对应的三台相机作为源相机 (Müller-Trumbore 求交);这一步的好处是从理论上保证三相机对查询点形成空间"夹住"关系,避免简单的 K 近邻可能给出的退化配置。第二步是一个完全可微、端到端前馈的网络,其核心是 coarse-to-fine 平面扫描 (plane-sweep) 深度估计:把 $32$ 个深度假设在 $[0.5, 8.5]$ 米区间初始撒点,然后用分组相关体 $C^l_{ij,g} = \frac{1}{C/G}\sum_{g\in\mathcal{G}_g} \langle \mathcal{F}^l_{i\to4}(d_k), \mathcal{F}^l_{j\to4}(d_k)\rangle$(公式 5)配对源视角特征到目标相机,逐层把上采样的深度 $D^{l+1}_\uparrow$ 加上一个 $\epsilon_l = 2^{l-1}\times 0.02$ 米窗口内的 $\Delta^l$ 残差 (公式 3) 得到 $D^l$。在每一层还会用估算出的深度把源特征 warp 进目标视角,由 confidence 网络预测 per-view 权重 $W^l_i$ 后加权融合 (公式 6) 喂给 decoder;decoder 反过来把融合 latent $Z^{l+1}_\uparrow$ 反馈给下一层深度估计,形成 depth-fusion 闭环。所有 24,753 训练样本是合成的,预估为 4 天 A40 + 36 小时微调 (Phase 1 + Phase 2);部署时把 PyTorch 模型转成 BF16 ONNX,用 NVIDIA TensorRT 的 `trtexec --best` 编译做 kernel 自动搜索,得到 RTX 4090 上 2.2 GB 显存、单帧 24.5 ms 的 Ours-RT 实时版。
3DTV 的核心创新点和已有方法有三处本质区别:第一,**几何先验显式建模视角选择**,而不是依赖学习或启发式 K 近邻——2D Delaunay 三角剖分给每个查询视角都提供"几何上一致的三相机夹住"配置,从根本上解决 2-view 系统 (GPS-Gaussian) 因 wide baseline 出现的深度歧义;第二,**用目标视图深度而非光流做插值**,区别于 FILM 等把视频帧插值范式直接搬过来做视图插值的方法——3DTV 把"像素随时间走"重写为"像素沿光线在 3D 空间里走 + 用深度",物理上更契合视角变化;第三,**coarse-to-fine 深度金字塔与融合网络级联形成反馈回路**,深度估计为融合提供几何,融合结果反过来作为深度下一层精化的 latent,区别于 MVSNet 一类单向 cascade;这个反馈在公式 8 和公式 11 里表现为$L_{RGB}$ 和 $L_\alpha$ 都在每层金字塔上有监督信号。
方法步骤详情
完整流水线分四步。第一步是 **view selection**:把所有相机中心 $\{p_i\}$ 投影到一个拟合于其分布的圆柱面上(轴 $a$、底 $o$、半径 $r$、高 $h$),先做 radial normalization 把深度偏置去掉(公式 1),再做 perspective mapping 把 points 投到原点前方一块平行平面上(公式 2);然后在该平面做标准的 2D Delaunay 三角剖分,用 Müller-Trumbore 算法让任意查询射线 $q$ 找到包裹它的三角形 $\tau$,并把 $\tau$ 对应的三台相机作为本次合成的源相机。第二步是 **backbone feature extraction**:对每台源相机 $i$ 跑 GhostNet 式的 7 级特征金字塔 (公式中 $l=0$ 为最高分辨率),每级由 stride-2 的 Ghost bottleneck 做下采样、再一个 bottleneck 做 refine,bottleneck 里加 channel attention (global average pool + channel-wise reweight) 以及 residual shortcut,最深层接了一个 L-ASPP (1×1 conv + 多 dilation 的 depthwise separable atrous + GAP) 来补足大尺度上下文。第三步是 **coarse-to-fine 深度估计与融合**:最粗层 $l=6$ 初始化 $32$ 个深度假设 $D^6=\{0.5, 0.75, ..., 8.5\}$ 米,每层 $l<6$ 把上一层上采样的 $D^{l+1}_\uparrow$ 窗口 $\pm \epsilon_l$ 内精细化 (公式 3),对每层每个深度用 homography $\mathcal{W}(\mathcal{F}^l_i, H_{i\to4}(d_k))$ (公式 4) 把源特征 warp 到目标相机,并构造分组相关 (公式 5) 喂入 shared encoder-decoder,回归深度残差 $\Delta^l$ 和 alpha $A^l$;decoder 用每层得到的融合 latent $F^l_{fused}=\sum_i W^l_i \odot \mathcal{F}^l_{i\to4}(D^l)$ (公式 6)、depth $D^l$、alpha $A^l$ 以及上一层上采样的 latent $Z^{l+1}_\uparrow$ 做图像合成,并把 $Z^{l+1}_\uparrow$ 也反馈给下一层精化,形成 depth-fusion 闭环。第四步是 **tensorRT 部署**:训练完成的 PyTorch 在 BF16 精度下导出 ONNX,再用 `trtexec` 的 `--best` flag 做 CUDA kernel 自动搜索,得 Ours-RT 在 1024² 上 25 ms / 帧、2.2 GB 显存。
技术新颖性
技术新颖性主要在于把三个原本独立的领域组合成一个可端到端学习的 pipeline:(1) Image-based rendering 的几何先验(参考 Chen & Williams 1993)—— 这是 1990 年代就被提出的"用 3 张视角插值出新视角"的想法,但当时没有强学习表达力;3DTV 用 Delaunay 把它现代化成"自动挑 3 台",是经典几何与学习方法的桥梁;(2) 可微 plane-sweep MVS(MVSNet/CasMVSNet 的 cascade cost volume 思路)—— 通常用于离线三维重建,3DTV 把 coarse-to-fine 的 plane-sweep 借用过来估计自由视点深度,但只在三个已知相机间做,所以远没有完整 MVS 显存爆炸的问题;(3) 帧插值的 autoregressive decoder (受 FILM 启发)—— FILM 用 optical flow + autocorr,3DTV 把 flow 换成 depth-warped correlation,把 autocorr 的 latent $Z^{l+1}_\uparrow$ 变成下一层深度估计的 feedback 条件。第 (3) 个反馈回路的设计是与已有 MVS/插值网络的关键不同点;第 (1) 个 Delaunay-driven view selection 也是本文新提出的、独立于任何先前工作的步骤。
实验结果
Table 2 在六个 benchmark 上系统对比了 3DTV 与 7 个基线:RIFTCast、Dense 方法 (Nerfacto-big、Splatfacto-big、RIFTCast) 的 PSNR 在 DNA Rendering 上分别达到 29.5/34.5/29.9,但它们都"离线训练 + 所有视角",无法直接对比"实时稀疏视角" trade-off;与同为 3 视角的 ENeRF 相比,3DTV 在 DNA Rendering 上 PSNR 25.9 vs ENeRF 26.0 几乎持平 (差 0.1)、SSIM 0.952 vs 0.949、LPIPS 0.074 vs 0.073 几乎相同;在 MVHumanNet 上 3DTV-PSNR 25.4 vs ENeRF 25.2 (+0.2);在 THuman2.1 上 3DTV-PSNR 26.7 vs ENeRF 26.1 (+0.6)、LPIPS 0.072 vs 0.078;在 ZJUMoCap 上 3DTV-PSNR 24.1 vs ENeRF 23.7 (+0.4)、LPIPS 0.086 vs 0.093。与 2-view 的 GPS-Gaussian/GPS-Gaussian+ 相比,3DTV 在 human-centric 数据集上几乎全部胜出:MVHumanNet 25.4 vs 24.8/23.8、ZJUMoCap 24.1 vs 21.4/20.9,反映出 3-view + 几何选源确实比 2-view 抗深度歧义。最具挑战的实验是在 LLFF 这个 **out-of-distribution** 测试:3DTV PSNR 仅 10.3、SSIM 0.676、LPIPS 0.317,明显差于 FrugalNeRF (19.1/0.609/0.273) 与 ENeRF (21.3/0.712/0.209),原因是 LLFF 是 forward-facing 大深度场景,超出了训练时的 $[-2m, 2m]^2 \times [0, 2m]$ 分布,作者承认这只是 coarse geometry 还能捕获的"stress test"。Table 3(Memory/Speed)显示 3DTV 的 Ours-RT 版本在 1024² 上仅耗 2.2 GB 显存,单帧推理 24.5 ms (40.8 FPS),比 GPS-Gaussian (3.2 GB / 73.7 ms)、GPS-Gaussian+ (3.4 GB / 72.4 ms)、RIFTCast (5.7 GB / 47.3 ms) 都要省;与 Splatfacto-big 1.3 ms/帧相比慢了一个量级,但 Splatfacto 需要 11.2 分钟训练。Table 4 的 ablations 表明在 DNA Rendering 上:3 视角 (25.9 PSNR) 比 2 视角 (23.6) 高 +2.3;金字塔从 3 层加到 7 层让 PSNR 从 22.8 提升到 25.9 (+3.1);去掉 residual depth 后 PSNR 从 25.9 直接掉到 21.5 (-4.4),是所有消融里掉得最狠的,说明残差学习是 coarse-to-fine 训练稳定的命脉;半通道只损失 1.0 PSNR,但留出 2.2 GB 显存;删掉 prior-guided depth (用 random init 代替上采样的 D^{l+1}_↑) 损失 2.1 PSNR。Fig. 4 的定性对比中 3DTV 与 RIFTCast 相比没有 visual hull 依赖,能在只需要三视角时工作,与 GPS-Gaussian+ 相比没有"浮动结构 / 几何重复" artifact,人脸和四肢保持更稳定。Fig. 5a 展示能泛化到训练中没见过的视角深度变化范围,Fig. 5b 展示能从 1024² 直接上 2048² 不需要 fine-tune。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| DNA Rendering 实时稀疏视角 NVS | PSNR↑ | 25.9 | ENeRF (3-view): 26.0 / GPS-Gaussian (2-view): 26.1 | 持平 ENeRF,领先 GPS-Gaussian/GPS-Gaussian+ (24.9/24.9) |
| DNA Rendering 实时稀疏视角 NVS | SSIM↑ | 0.952 | ENeRF: 0.949 / GPS-Gaussian+: 0.973 | 略胜 ENeRF,GPS-Gaussian+ 在 LPIPS 略好 |
| DNA Rendering 实时稀疏视角 NVS | LPIPS↓ | 0.074 | ENeRF: 0.073 | 几乎相同 |
| MVHumanNet (人体) | PSNR↑ | 25.4 | ENeRF: 25.2 / GPS-Gaussian+: 23.8 | +0.2 vs ENeRF,+1.6 vs GPS-Gaussian+ |
| THuman2.1 (人体) | PSNR↑ | 26.7 | ENeRF: 26.1 / GPS-Gaussian+: 23.9 | +0.6 vs ENeRF,+2.8 vs GPS-Gaussian+ |
| ZJUMoCap (人体) | PSNR↑ | 24.1 | ENeRF: 23.7 / GPS-Gaussian+: 20.9 | +0.4 vs ENeRF,+3.2 vs GPS-Gaussian+,与 Nerfacto-big (24.1) 持平 |
| LLFF (OOD 大深度) | PSNR↑ | 10.3 | ENeRF: 21.3 / FrugalNeRF: 19.1 | -11 vs ENeRF(明确为 OOD,作者承认只捕捉粗几何) |
| RTX 4090 实时性能 @1024² | FPS↑ / 显存 | 40.8 FPS / 2.2 GB | GPS-Gaussian+: ~13.8 FPS / 3.4 GB / RIFTCast: ~21 FPS / 5.7 GB | FPS 比 GPS-Gaussian+ 高约 3×,显存省 35% |
| 2048² 分辨率外推 | 推理时间 | 109.5 ms | GPS-Gaussian+: 154.9 ms | 快 30%,且无需 fine-tune |
| 双视角消融 (#views=2) | PSNR 损失 | 23.6 (vs 25.9) | GPS-Gaussian (2-view): 26.1 on DNA | 2-view 退化 -2.3 PSNR,但 3DTV 是 3-view 设计 |
| 去残差深度消融 | PSNR 损失 | 21.5 (vs 25.9) | 无 baseline | -4.4 PSNR,确认 residual depth 重要性 |
| 金字塔层数消融 (3→7 层) | PSNR | 22.8 / 25.8 / 25.9 | 无 baseline | 层数从 3 加到 7,PSNR +3.1,6→7 边际收益 0.1 |
局限与改进
作者在 Section 4.4 与 Section 5 明确承认的局限性:(1) **未达 >60 FPS 的"真正实时"**:当前在 RTX 4090 上是 40.8 FPS(1024²),要再过 60 FPS 门槛需要 weight quantization 等进一步优化。(2) **被绑定到 3-view 与 indoor capture stage**:所有 ablation 和主要结果都默认 3 个源相机,且训练集被严格 clip 在 $[-2m,2m]\times[-2m,2m]\times[0,2m]$ 的室内捕获台大小,因此 LLFF 等大场景的 out-of-distribution 测试(PSNR 掉到 10.3)就立刻暴露出 distribution shift。(3) **不擅长大范围外推**:方法被设计为"在所选三相机包围的凸壳内部"做 interpolation;如果查询视角走到凸壳外就会退化。(4) **复杂区域有 blurriness**:作者承认某些复杂场景(如 Fig. 5d 那对两个互相遮挡的人)会出现"被洗掉"的失效模式,因为模型目前没用 temporal propagation,也无法显式建模 multi-object occlusion。(5) **手动调参的 Delaunay 超参数**:附录 Fig. 7/8 显示原点偏移和投影平面位置都需要调,文中给出"原点放在圆柱底下方 1m、投影面放圆柱上方 1m"的经验值,相当于有一个小小的 magic number 在里面。(6) **训练只用合成数据**:作者明确说训练集是 24,753 个 Blender 渲染样本,论文没有在真实 capture rig 上显示带标签的 ground truth 等定量结果,而真实 capture 通常有标注噪声、相机漂移、mask 误差,因此虽然有 MVHumanNet/ZJUMoCap 等真实人体数据集 (有 GT) 上表现不错,但工业部署里"真实捕获"泛化能力依然是开放问题。(7) **仅在 single-VGA GPU 上跑过**:没有给出多 GPU 或 CPU 上的延迟基准,限制了它在边缘设备的可移植性。
独立分析的弱点
独立分析可见几个具体场景下的弱点:(1) **多目标遮挡处理弱**:Fig. 5d 显示两个交叠的人会被洗掉——confidence 网络只看到 warped 特征和几何,难以判断多个前景目标的相对深度,需要显式引入 instance-level mask 或 semantic prior 才能解决;改进方向是引入 instance segmentation 头或让 alpha 预测吸收额外语义嵌入。(2) **超出训练分布时崩溃**:LLFF 上 PSNR 仅 10.3,比最弱 baseline 都差接近一倍,原因是其 coarse depth 假设窗口 $[0.5, 8.5]$ m 远小于 LLFF 的真实场景尺度;改进方向是用 multi-scale depth hypotheses(在小窗口的基础上加几个粗窗口,例如对数采样)或训练时加入 depth range augmentation。(3) **深度采样数 = 32 不够时无法表达连续空间**:当前最粗层就固定 32 plane,对极端 wide baseline 还是不够;可考虑加 dynamic top-k sampling 或 coarse-to-finer depth search(如 CasMVSNet 那样把 plane 数随级数递增)。(4) **per-view confidence 是加权和 (公式 6) 不够柔性**:当三视角颜色不一致时容易产生 ghosting;可以引入非局部 attention 让每个目标像素学习"从哪个源像素取信息"。(5) **没有 temporal model**:当前完全是单帧前馈;当查询相机沿时间轨迹变化时输出会有抖动 (shimmering),可加 temporal latent propagation 或 temporal consistency loss,与 RIFTCast 这种 streaming 系统对接。(6) **2-view 配置下掉点严重**:2 views 时 25.9 → 23.6,原因是 single homography 不再够;想要兼容 2-view 场景需要额外的 priors(如 GPS-Gaussian 的像素对齐模块)。
未来方向
作者提出的后续方向:(1) 量化以突破 60 FPS:他们明确指出 weight quantization 是把延迟压到 16 ms 以下的关键;(2) 支持 large scale scenes,要扩大训练分布到大深度区间;(3) 处理 extrapolation beyond camera hull,引入虚拟视点合成或 proxy geometry。基于其成果可延伸的方向:(1) **视频流化**:把单查询视角扩展到时间序列查询视角并加 temporal loss,可直接对接 Live Telepresence;(2) **跨场景 continual learning**:3DTV 现在是纯合成训练,如果引入少量真实 capture 做 few-shot adaptation,可以让模型在客户 capture stage 上"再校准";(3) **开放式参考集**:把 view selection 从 3 个固定相机扩展到 N 个动态候选,让模型自适应挑 2-5 个;(4) **多相机 / 鱼眼 / 360° 兼容**:当前内参假设普通针孔,鱼眼或 equirectangular 输入下 homography 会失效,需要 pluggable intrinsics;(5) **结合 diffusion 先验**:当前在复杂区域会 blur,如果把 3DTV 的合成图作为 diffusion 的 conditional input,可在保持几何正确性的同时补足高频细节(参考 SparseFusion 的范式);(6) **把 Delaunay 视角选择推广到 4D**:把时间也作为一维,把相机选择问题扩展到时空三角剖分,可以让 dynamic scene 自由视点更稳定。
复现评估
复现评估:(1) **代码与模型权重**:作者承诺 acceptance 后在项目页 https://stefanmschulz.github.io/3DTV_webpage/ 公开代码与训练好的模型,但当前 (2026-04-13 submission) 仅有 project page 链接,代码尚未放出,所以现阶段精确复现存在门栏。(2) **数据**:训练数据集完全自建,包含 $24{,}753$ 个 sample(357 多个 3D asset + 自建 Blender cube 场景 + HumanGenerator3D 渲染的人体),来自 polyhaven、sketchfab、humgen3d 三个免费/付费素材库,没有使用任何受限数据;合成数据本身理论上可以重新渲染但需要 Blender + HumanGenerator3D + 用户自己复现 volumetric rendering pipeline。(3) **算力**:训练需要约 4 天(Phase 1, $512^2$ 分辨率,batch size 2)+ 36 小时(Phase 2, $1024^2$),单卡 NVIDIA A40;推理目标硬件 RTX 4090。从 A40 到 RTX 4090 的硬件跨度意味着没有 RTX 4090 的实验室只能离线 eval。(4) **部署**:作者给出 PyTorch $\to$ ONNX $\to$ TensorRT 的完整 pipeline(BF16 + `trtexec --best`),这块复现门槛较低。(5) **评价难度**:六个 eval 数据集都需要申请或 license(MVHumanNet、THuman2.1、RIFTCast、DNA Rendering 等大多只对学术用途开放),LLFF 是公开的。(6) **协议不一致**:作者承认 LLFF 上把 forward-facing 场景"强行"塞 3-view,选了 2D horizontal level,与原始 3-view split 不一致,这会让复现者疑惑;好在 Table 6 详细列出了每个 LLFF 场景用的相机 ID,减小了二次解读的成本。综合看,作者的复现承诺清晰但当前未兑现代码,仅 intermediate project page 链接;技术上还需要 $1\times$ A40 + 数天训练时间 + RTX 4090 部署 + 多个受限数据集 license。
论文图表
封面图。左半部分是 Delaunay 三角剖分视角选择的示意图,显示 3 个相机位置 (蓝色) 以及它们在某个投影平面上的三角面;中间是 3DTV 的 pipeline (Ghost backbone × 3、Depth Module、Final Refinement、Fusion Module 多次复用);右半部分给出与 GPS-Gaussian+ 的对比并标注 25 ms / 40 fps @ 1k 的实时指标。
这是论文的总体 hook,把几何先验 + 实时前馈 + 视觉对比三层信息一次性展示给读者;是理解 3DTV 与 2-view 系统 (GPS-Gaussian+) 之间差异的最快途径,对应到 motivation 章节最合适。