第 14 章 基于图像的渲染 (Image-Based Rendering)
核心结论
-
视图插值(§14.1):从两张图像插值新视角;简单但需密集对应。
-
视图变形(§14.2):用深度图重投影到新视角;适合窄基线。
-
光场渲染(§14.3):4D 光场(位置 + 方向);新视角无需几何。
-
全景 / 同心拼图(§14.4):柱面 / 球面全景;Google Street View。
-
同伦 (Sprites)(§14.5):基于图层的渲染;适合稀疏纹理场景。
-
神经渲染(§14.6):NeRF / 3DGS;当前 SOTA。
|
本章主旨
本章是"新视角合成"——从已有图像生成新视角。理解 IBR 才能做 VR / AR / 自由视点视频 / 沉浸式媒体;现代用神经渲染(NeRF / 3DGS)实现照片级真实感。 |
一、核心概念
本章围绕 6 个核心概念展开:视图插值 → 视图变形 → 光场 → 全景 → 同伦 → 神经渲染。
| 概念 | 定义 + 重要性 | 实现提示 |
|---|---|---|
视图插值 |
从两张图插值新视角;简单但需密集对应。 |
§14.1;早期 IBR 方法。 |
视图变形 |
用深度图重投影;适合窄基线。 |
§14.2;现代深度学习 IBR 基础。 |
光场渲染 |
4D 光场(位置 + 方向);无需几何。 |
§14.3;Lytro 等光场相机。 |
全景 / 同心拼图 |
柱面 / 球面全景;Google Street View。 |
§14.4;街景 / VR。 |
同伦 (Sprites) |
图层渲染;稀疏纹理。 |
§14.5;视频会议背景替换。 |
神经渲染 |
NeRF / 3DGS;当前 SOTA。 |
§14.6;照片级新视角。 |
二、详细笔记
2.1 视图插值 (View Interpolation)
What:从两张已知图像插值生成中间视角图像。
Why:早期 IBR 方法;简单但需要密集对应。
How:
视图插值(§14.1):
-
密集对应:立体匹配 / 光流(§9)。
-
变形两图:把图像变形到新视角。
-
融合:根据深度混合两张图。
|
视图插值的局限
|
When:学术研究;窄基线 / 静态场景。
Example*:cv2.remap 图像变形;商业 IBR 软件(如 Immersive Media)。
2.2 视图变形 (View Morphing)
What:用深度图把图像重投影到新视角;适合窄基线。
Why:现代深度学习 IBR(NeRF / 3DGS)的基础。
How:
视图变形(§14.2):
-
获取深度:SfM / 立体匹配 / 单目深度。
-
前向变形:源图投影到目标视角。
-
后向变形:目标视角反查源图。
-
空洞填补:用邻域像素或修复算法。
|
视图变形的工程经验
|
When:自由视点视频;VR 视频;6DoF 视频。
Example*:z-buffer + warp;NVIDIA VRWorks 视频;Apple Immersive Video。
2.3 光场渲染 (Light Field Rendering)
What:记录 + 重现 4D 光场(每个光线的位置 + 方向);无需几何。
Why:新视角无需深度估计;硬件光场相机(Lytro)已商业化。
How:
光场(§14.3):
-
参数化:
L(u, v, s, t)——光线与两个平面的交点。 -
采样:密集相机阵列(128 × 128 相机)或光场相机。
-
渲染:插值 / 外推得到新视角。
|
光场的工程权衡
|
When:光场相机(Lytro Illum);VR 头显;自由视点视频。
Example*:Lytro 光场相机;MIT CSAIL 光场数据集;Lytro Power Tools。
2.4 全景 / 同心拼图 (Panoramas)
What:把多张图拼成 360° 全景图。
Why:Google Street View / VR 旅游 / 监控大场景。
How:
全景流程(§14.4):
-
图像拼接(§8.2):特征匹配 + 单应 + warp + blend。
-
全景投影:柱面 / 球面 / 立方体贴图。
-
曝光补偿:直方图匹配。
-
接缝优化:graph cut。
|
全景投影类型
|
When:VR 旅游;监控大场景;建筑 / 房地产展示。
Example*:cv2.Stitcher;hugin 拼接;Google Street View;Insta360 相机。
2.5 同伦 (Sprites with Depth)
What:基于图层的渲染——把场景分解为多个 sprite(图层),每个有深度。
Why:稀疏纹理场景(如视频会议);快速背景替换。
How:
同伦渲染(§14.5):
-
图层分割:把图像分解为多个图层(前景 / 背景)。
-
深度赋值:每个图层赋予深度。
-
新视角合成:按深度重投影 + 合成。
|
同伦 vs NeRF
|
When:视频会议;影视特效(前景 / 背景分离);简单 3D 场景。
Example*:Zoom 背景替换;OBS 虚拟背景;Snap Camera。
2.6 神经渲染 (Neural Rendering)
What:用神经网络生成新视角;NeRF / 3DGS 是 SOTA。
Why:照片级真实感;NeRF / 3DGS 是 2020+ 突破。
How:
神经渲染(§14.6):
-
NeRF(2020):MLP 表示 5D 函数 → 体渲染。
-
Instant-NGP(2022):哈希加速;训练快 100 倍。
-
3D Gaussian Splatting(2023):显式高斯 + 泼溅;实时渲染。
-
NeRFStudio(2023):整合所有 NeRF 变种的框架。
|
神经渲染的工程权衡
|
When:VR / AR 资产;自由视点视频;3D 扫描;电影特效。
Example*:nerfstudio / instant-ngp;gaussian-splatting;Luma AI;Polycam。
三、关键图表
视觉图表
四、思维导图
mindmap
root((第 14 章 图像渲染))
视图插值
密集对应
早期IBR
视图变形
深度重投影
现代基础
光场渲染
4D光场
Lytro相机
全景
柱面球面
街景
同伦
图层
视频会议
神经渲染
NeRF
3DGS
实时
五、重点与易错点
-
视图插值需密集对应:难获取;现代 IBR 用深度学习。
-
视图变形需深度图:深度不准 → 变形模糊。
-
光场需大量相机:硬件昂贵;NeRF 用神经网络压缩。
-
全景 = 图像拼接 + 投影:OpenCV 一键完成;Google Street View 工业化。
-
同伦用于视频会议:简单快速;不适合高质量场景。
-
NeRF 是 2020 突破:照片级渲染;3DGS 进一步提速。
-
3DGS 实时渲染:训练几分钟;1080p 实时;显存大(>10GB)。
-
跨章衔接:第 8 章对齐 / 拼接是全景基础;第 13 章 3D 重建提供 NeRF / 3DGS 的输入;本章是 3D 重建的下游应用。