想象一下:你走进一座古镇,遇见一位自称“记忆画师”的奇人。他没有画笔和画布,只向你要了几张从不同角度拍摄的城楼照片。他盯着照片看了很久,然后闭上眼睛,背对着城楼说:“现在,你随便报一个角度,我都画给你看。”你试着报了照片里从未有过的斜上方视角,他竟真的提笔就画,连瓦片上的反光都分毫不差。 这不是魔术,而是 NeRF(神经辐射场)正在做的事。它没有把照片“拼接”起来,也没有用激光扫描出模型,而是把整个场景浓缩成一本“空间答案簿”——记住了每一处空间到底有没有东西、是什么颜色;再次作画时,它像透过一层层薄纱观察景物一样,把颜色逐层累积到画布上。本文就用这位记忆画师的故事,带你理解 NeRF 如何从多张照片学会三维空间、如何与 SLAM 搭档实现边走边建图、如何支撑世界模型与具身智能,以及它与 3D 高斯泼溅的异同。
对 AI 从业者而言,掌握 NeRF 意味着握住了“从图像直达三维空间”的钥匙——这是空间智能、具身智能与世界模型方向算法工程师构建实时感知与决策系统时,最底层的表示与重建能力。
目录
可视化演示
展示系统处理流水线、实时性能指标曲线及多方案对比分析,包含数据流转、吞吐延迟监控与方案评估。
本节配有交互动效(进入视口后自动加载,约 3KB)。
系统可视化 处理流程:输入→处理→模型→输出 性能监控:实时指标 P=L×T
核心原理:隐式表示与体渲染
记忆画师画城楼有个怪习惯:他从不先打透视草稿,而是在心里默念——“空间里每一个点,到底是什么?”他会把整栋楼的每一处角落都记成“是不是实体、是什么颜色”,仿佛随身携带一本可以无限翻页的《空间答案簿》。这本答案簿,就是 NeRF 的灵魂。
NeRF(神经辐射场)把这本答案簿写进一个神经网络:输入任意空间坐标 \((x,y,z)\) 和观察方向 \((\theta,\phi)\),就能查到该点的密度 \(\sigma\)(有多“实在”、多挡光)和颜色 \(\mathbf{c}\)。这种“用函数代替点云或网格”的记法叫隐式表示——你问它任何位置,它都能回答,不会因为网格顶点稀疏而漏掉细节。
为了让答案簿记住窗棂和瓦片这类高频细节,NeRF 会先把坐标做位置编码,如同给画师配一组粗细不同的放大镜,再把不同频率的正弦波喂给网络。查询到密度与颜色之后,如何变成一张图?答案是沿着每个像素的视线发射射线,在射线上均匀采样几十个点,按“透过率”把颜色逐层累积起来——这个过程就是体渲染:
记忆画师正是这样“隔纱看景”:每一层薄纱的浓度与颜色都写在答案簿里,透过层层纱,最终的颜色才落到纸上。NeRF 把这种直觉写成上面这条可微积分式,接下来要做的,就是让画师对着真实照片一遍遍修改自己的答案簿——这就是训练。
- 射线参数化把视线写成从相机中心出发、随距离 \(t\) 变化的射线,这是体渲染的基本坐标系。
- 密度与颜色在每个位置 \(\mathbf{r}(t)\),隐式网络输出密度(不透明程度)和颜色,\(\sigma\) 越大说明该点越“实在”。
- 透过率累积\(T(t)\) 表示从近端走到 \(t\) 位置后“还剩下多少光”,沿途密度越大,光被吃掉得越多。
- 加权积分把所有采样点按“剩余光 × 当前点密度”作为权重,对颜色加权求和,得到该像素的最终颜色。
训练与数据:照片、位姿与光度损失
一位记忆画师要出师,光靠天赋不够,还得有大量“练习稿”。他总请助手从不同角度给城楼拍照,并郑重记下每张照片是“站在哪里、朝哪个方向”拍的。站在正确的画架位置,才能画对透视;照片给得越全,答案簿越完整。
翻译成 NeRF 的训练语言:多视角图像提供颜色的“标准答案”,相机位姿决定每条射线从哪发出、指向何方。实践中,位姿通常由 COLMAP 这类传统三维重建算法先解算出来;然后对每个像素发一条射线(射线采样),逐点查询网络、体渲染,得到预测颜色,再与照片真值逐像素比较。
比较用的尺子叫光度损失:预测越接近真值,损失越小,梯度回传就更新答案簿。为了不浪费算力,NeRF 采用层次采样:第一轮均匀采样“粗看轮廓”,第二轮把样本集中到密度高的区域“细看细节”,所以损失要同时约束粗、细两条射线的渲染结果:
画师改画改得越勤快,记忆越精确。当损失降到足够低,他就算出师了:从此你随便指一个新角度,他都能凭脑海中的答案簿,加上隔纱笔法,画出连照片里都没有出现过的城楼风景——这便是新视角合成的起点。
- 真值像素\(C(\mathbf{r})\) 是训练照片中该射线对应像素的颜色,是改画时的“标准答案”。
- 粗采样渲染先在射线上均匀采样得到轮廓级的粗结果 \(C_c(\mathbf{r})\),负责把握整体形状。
- 细采样渲染根据粗结果的密度分布,把更多采样点集中到高密度区域,得到精细结果 \(C_f(\mathbf{r})\)。
- 误差回传把粗、细两条射线的均方误差相加作为总损失,梯度回传更新网络参数,让“答案簿”越改越准。
场景扩展:大场景、动态与可编辑
城楼好画,可如果让这位画师画整条老街、追跑动的猫,或者让游客指着画面说“把那扇窗改成蓝色”呢?他需要三样新本领:把长卷分成小面板、给记忆盖上时间戳、给每个物体贴上可替换的标签。
这正是 NeRF 的三条扩展主线。大场景重建(如 Block-NeRF)把城市切成多个区块分别训练,再融合成统一坐标系的场景;动态场景在输入中加入时间 \(t\),让同一个地点在不同时刻“看到”不同的人和物;可编辑场景把场景拆成物体潜码与背景潜码,改写物体码就能移动、换色乃至删除物体。
为了让这些扩展真正跑起来,还需要推理加速。原始 NeRF 每条射线要查询几十次神经网络,慢如老牛;如今的多分辨率哈希编码(Instant-NGP)、体素蒸馏等方法把隐式函数转成可快速查表的特征网格,把训练时间从几天压缩到几分钟。动态场景的表示可以写成:
有了这三样本领,画师的画室升级成了美术馆:可以展出整条街、上演奔跑的猫,还能让观众亲手改造画面;而加速魔法,则让这一切在机器人的“小脑袋”里也能实时运转。
- 时间轴把时刻 \(t\) 与空间坐标一起作为输入,相当于给画师一本“每秒钟的相册”。
- 时空映射网络从位置、时间、方向中同时推断密度与颜色,支持重建奔跑的人或行驶的车。
- 兼容静态当时间被固定,公式退化为原始 NeRF,说明动态版本是静态版本的自然推广。
SLAM结合:边走边画的地图
画家身旁多了一位勘探员,负责在陌生地带边走边报告:“我现在在哪?我看到了什么?”传统勘探员靠墙上的二维码(特征点)认路,遇到白墙就抓瞎;画师却说:别担心,你的眼睛就是尺,你走过的每一步都会落进我的答案簿。
这段搭档关系就是神经隐式 SLAM。SLAM 要同时回答“我在哪”和“周围长什么样”;传统视觉 SLAM 依赖特征点匹配,在弱纹理区域容易失效。NeRF 提供的则是稠密且可重新渲染的隐式地图——新来一帧图像,先固定地图只优化当前位姿,再反过来用位姿更新地图,两者交替收敛:
代表工作如 iMAP、NICE-SLAM、Point-SLAM 等,把隐式场当作“可微分地图”,配合关键帧与回环检测修正长时间行走累积的漂移。画师与勘探员从此合体:机器人不再需要预先扫描,而是边走边画边修正,真正实现在线建图——这是机器人进入真实世界、理解三维空间的第一步。
- 地图参数\(\Theta\) 是隐式神经场的全部网络参数,也就是“记忆画师的大脑”。
- 相机位姿\(\mathbf{T}_i\) 是第 \(i\) 帧图像的相机位姿,决定该帧的射线从哪里发出、往哪里看。
- 联合极小化同时优化地图与所有位姿,使渲染结果与真实照片的误差最小;传统 SLAM 只优化位姿,而这里地图与位姿相互校正。
空间智能:从看见到预判
当画师能画出从未见过的角度,他其实拥有了“预演未来”的能力:如果我从下一个路口看过去,会看到什么?这种想象,正是空间智能的核心内功。
在 AI 领域,这项内功被封装成世界模型:用当前观测提炼出的潜状态 \(\mathbf{z}_t\),加上将要执行的动作 \(\mathbf{a}_t\),预测下一步的世界状态。NeRF 是天然的世界模型渲染器——给定潜状态和新视角,它就能合成对应画面,让智能体在想象中试错和规划。
三个落地方向:场景理解——把多传感器观测统一成连续神经场,成为机器人对环境的通用记忆;具身导航——用神经场地图判断目标可见性、规划无碰撞路径;新视角合成——在影视、数字人、自动驾驶数据增强中生成从未拍摄的视角。动作驱动的世界模型可以写作:
记忆画师从此不只是画匠,而是能当“导演”:在脑中预演千百种可能,再挑最好的那条路走下去。这是空间智能从“看见”走向“理解”与“预判”的关键一跃。
- 潜状态\(\mathbf{z}_t\) 是场景当前状态的浓缩向量,比如“机器人在厨房,门开着”。
- 动作滚动世界模型用动作 \(\mathbf{a}_t\) 把潜状态推演到下一步,形成对未来世界的预测。
- 条件渲染NeRF 读入新潜状态并渲染出新视角画面,让智能体“看见”行动后果。
高斯对比:玻璃珠艺术家
多年后,城里来了另一位艺术家,他的方法简单直接:端着一盒彩色玻璃珠,一颗颗把场景“摆”出来。珠子又小又密的地方是墙,稀疏透光的地方是纱帘。他摆得快、画得也快——这位就是 3D 高斯泼溅(3DGS)。
3DGS 用成千上万个 3D 高斯点基元显式表示场景,每个基元带位置、协方差、颜色与不透明度,经可微光栅化快速投影到屏幕;而 NeRF 是隐式连续场。两者同源于“多视角图像 + 可微渲染 + 梯度优化”,区别在于一个是“查询函数”,一个是“摆放珠子”。
三个关键对比:渲染速度——3DGS 可实时跑到 100 帧以上,原始 NeRF 每帧要秒级;显存开销——3DGS 的显式基元会吃大量显存,NeRF 的网络参数反而更省;精度取舍——NeRF 连续场在空洞、无纹理区域的几何一致性更好,3DGS 则胜在快速训练与高分辨率渲染。单个高斯的形状由其协方差决定:
记忆画师与玻璃珠艺术家没有高下之分:一个是按心思细腻的“内涵派”,一个是手脚麻利的“行动派”。今天很多系统让二者结对——先用高斯快速重建,再蒸馏成 NeRF 用于编辑与推理,互为表里。
- 中心位置\(\boldsymbol{\mu}\) 是每颗 3D 高斯“玻璃珠”所在的三维位置。
- 协方差矩阵\(\boldsymbol{\Sigma}\) 刻画这颗珠子的形状、大小与朝向,决定它在空间里“摊开多大”。
- 衰减权重离中心越远的点,计算权重越低,珠子之间靠这种柔和过渡拼出完整表面。
未来方向:会做梦的记忆画师
画师最后的梦想,是把记忆宫殿装进每个人的口袋,并且不只复刻现实,还能凭空造出幻想中的城邦。
这对应四个趋势。实时重建:哈希加速与 GPU 流水线让手机端实时 NeRF 成为可能;生成式 3D:DreamFusion、Instant3D 等用扩散模型做“文本到 3D”,NeRF 充当可微渲染器;多模态融合:让视觉、语言、触觉等信号共同约束同一个神经场景场;统一表示:把重建、生成、编辑、问答收进同一个可微框架,构成空间智能体的“世界脑”。
生成式 3D 的数学骨架很简洁:从标准正态分布里抽一个潜变量,代表“这次想造什么样的世界”,再让条件 NeRF 把它渲染出来:
从记忆画师到“会做梦的画师”,NeRF 家族正从“记录世界”走向“理解、想象、改造世界”。这正是空间智能的全部野心,也是每一位研究者在新时代门口的起跑线。
- 随机采样从标准正态分布中抽取潜变量 \(\mathbf{z}\),相当于给画师发一张随机“创作主题卡”。
- 条件生成把 \(\mathbf{z}\) 拼进网络输入,同一套参数即可生成风格各异的 3D 内容。
- 多样与可控不同的 \(\mathbf{z}\) 对应不同场景,再结合文本或图像约束,即可做到可控生成。
AI 应用场景
具身智能机器人的在线建图与导航
阶段:感知 → 建图 → 路径规划 → 闭环控制
解决的问题:传统视觉 SLAM 在弱纹理走廊、白墙环境特征稀疏,地图难以渲染,机器人无法“预演”前方视野;NeRF 类神经隐式 SLAM 提供稠密、可渲染的隐式地图,让机器人在行动前就能从目标位姿渲染模拟视图,判断遮挡并规划无碰撞路径。
具体案例:室内服务机器人在白墙长廊中行进,实时运行 NICE-SLAM / Point-SLAM 类算法,融合 RGB-D 相机边行进边生成隐式场地图;导航时从候选位姿渲染模拟画面,若目标被家具遮挡则自动绕行,全程无需预先扫描环境。
数字城市与虚拟制片的快速重建
阶段:数据采集 → 离线重建 → 实时渲染 → 内容编辑
解决的问题:无人机航拍数百张照片后,传统摄影测量重建慢、新视角渲染不真实;NeRF 与 3D 高斯泼溅的混合流程,结合 COLMAP 位姿估计与分块重建,能在分钟级完成场景重建,并支持导演实时拖动虚拟相机、光照随视角连续变化。
具体案例:在城市数字孪生项目中,航拍图像先经 3DGS 快速重建出可实时浏览的底座,再蒸馏为 NeRF 用于高保真渲染与语义编辑;影视虚拟制片中,演员站在 LED 环幕前,NeRF 实时合成任意角度的城市场景,节省大量外景与置景成本。
自动驾驶闭环仿真的数据增强
阶段:数据增广 → 场景生成 → 闭环测试
解决的问题:真实路测难以覆盖罕见事故场景;NeRF 世界模型可以渲染出“从未拍摄但可能发生”的视角与动态插帧,为感知模型生成 corner case,大幅降低实车测试成本与风险。
具体案例:用一段多传感器采集的十字路口数据重建动态神经场景场,在仿真器中改变自车轨迹与速度,NeRF 渲染出新视角下的连续帧;自动驾驶感知模型在生成场景中反复测试,提前暴露“前方车辆急停”等罕见情况的误检。
Python 演示
import numpy as np def build_rays(cam_pos, target, width=64): """根据相机位姿生成一束平行射线:一束光线对应一个像素""" cam_pos = np.array(cam_pos, dtype=np.float64) target = np.array(target, dtype=np.float64) fwd = target - cam_pos fwd = fwd / np.linalg.norm(fwd) perp = np.array([-fwd[1], fwd[0]]) rays = [] for i in range(width): offset = (i - width / 2.0) / width origin = cam_pos + offset * perp rays.append((origin, fwd.copy())) return rays def sample_points(ray, near, far, n=32): """沿射线均匀采样 n 个空间点""" origin, direction = ray ts = np.linspace(near, far, n) return origin[np.newaxis, :] + ts[:, np.newaxis] * direction[np.newaxis, :] def volume_render(field, ray, near=0.5, far=6.0, n=32): """体渲染:把沿线采样点的密度和颜色累积成一个像素值""" pts = sample_points(ray, near, far, n) density, color = field(pts) alpha = 1.0 - np.exp(-density) trans = np.cumprod(1.0 - alpha + 1e-8) trans = np.concatenate([[1.0], trans[:-1]]) weight = trans * alpha pixel = (weight[:, np.newaxis] * color).sum(axis=0) return pixel class ToyNeRF: """一个已收敛的玩具隐式场:球体内部密度高,外部密度为 0""" def __init__(self): self.radius = 1.0 self.color = np.array([0.75, 0.2, 0.85]) def __call__(self, pts): dist = np.linalg.norm(pts, axis=1) density = np.where(dist < self.radius, 2.0, 0.0) color = np.tile(self.color, (len(pts), 1)) return density, color def render_view(field, cam_pos, target, width=64): """从一个相机位姿渲染一幅 1D 图像""" rays = build_rays(cam_pos, target, width) image = np.array([volume_render(field, ray) for ray in rays]) return image if __name__ == "__main__": field = ToyNeRF() target = np.array([0.0, 0.0]) for angle in (0.0, 0.7): cam = (5.0 * np.cos(angle), 5.0 * np.sin(angle)) img = render_view(field, cam, target) print("训练视角渲染完成,像素均值:", np.round(img.mean(axis=0), 3)) novel_cam = (0.0, 5.0) novel = render_view(field, novel_cam, target) print("新视角合成完成,像素均值:", np.round(novel.mean(axis=0), 3))
def build_rays(cam_pos, target, width=64):相机位姿决定每条射线从哪里出发、指向何处,是体渲染的坐标系。origin = cam_pos + offset * perp同一相机位姿下,不同像素只是把射线原点平移一个微小横向偏移。def volume_render(field, ray, near=0.5, far=6.0, n=32):体渲染入口:沿一条射线把密度与颜色累积成单个像素值。alpha = 1.0 - np.exp(-density)把密度转成该点“不透明度”,密度越高、这层“纱”越挡光。trans = np.cumprod(1.0 - alpha + 1e-8)光线一路走来的“透过率”,即还有多少光没被前面的纱吃掉。weight = trans * alpha每个采样点对最终像素的贡献权重:剩的光越多、自己越不透明,贡献越大。pixel = (weight[:, np.newaxis] * color).sum(axis=0)按权重对颜色加权求和,得到像素最终颜色。density = np.where(dist < self.radius, 2.0, 0.0)隐式场的关键判断:“这个点是否在物体内部”。novel_cam = (0.0, 5.0)换一个从未训练过的相机位姿,验证 NeRF 类方法的新视角合成能力。
常见误区
误区训练完 NeRF 就能导出 `.obj` / `.ply` 给游戏引擎直接用,网格质量和雕刻建模一样精细。
正解NeRF 的本质是隐式函数,输出的是“任意点的密度与颜色”,而不是现成的面片。要得到网格,必须再用 Marching Cubes 等算法对密度场做等值面提取;而且它的几何精度不一定高于激光雷达扫描或传统重建。NeRF 的强项是“渲染出照片级新视角”,而非“直接产出工程级几何”。
为何常见:论文和演示视频里光滑的“表面渲染”太有迷惑性,让人误以为那就是网格;加上社区常把新视角合成与三维重建混为一谈。
误区看过演示后觉得,NeRF 拿三五张照片就能立刻重建,像手机全景照片一样方便。
正解NeRF 本质是多视角一致性的学习任务,通常需要数十到上百张、覆盖场景各角度且有足够重叠的图像,还必须搭配精确的相机位姿;视图稀疏时会出现漂浮物和伪影。近年泛化模型(如 pixelNeRF)试图降低视角需求,但仍依赖大量训练数据,没有免费午餐。
为何常见:演示视频往往跳过数据采集和 COLMAP 位姿估计等枯燥步骤,只展示“输入图像 → 旋转视角”的魔术效果。
误区“NeRF 革命”让人以为多视图几何(SfM/MVS)和激光雷达都是过时技术,可以进博物馆了。
正解NeRF 恰恰站在传统几何的肩膀上——相机位姿通常由 COLMAP 提供;在大型工程测量与大面积场景中,激光雷达和 SfM 点云仍是几何精度与鲁棒性的基准。NeRF 擅长照片级新视角合成与隐式表示学习,与传统方法是互补而非取代。
为何常见:技术宣传偏爱“颠覆”叙事,且 NeRF 渲染效果惊艳,容易让人忽略它底层依赖的位姿求解。
误区看到 3DGS 渲染快、质量高,就认为 NeRF 已经过时,应该被淘汰。
正解3DGS 是显式点基元,渲染快到实时,但显存开销大、对初始化敏感;NeRF 的连续隐式场便于编辑、查询密度与梯度,且更易与语言模型、世界模型等学习任务耦合。业界主流是混合路线,例如把高斯快速重建蒸馏成 NeRF 用于推理与编辑。
为何常见:各类对比实验只盯着帧率与 PSNR 指标,忽略了“表示形式”对下游任务灵活性的深远影响。
面试题
Q1. NeRF 的标准输入是什么?
- A.多视角图像与相机位姿← 正确答案
- B.激光雷达点云数据
- C.单张物品深度图像
- D.预训练的三角网格
答案:A。NeRF 从多视角照片中学习三维场景,渲染每条射线前必须知道该帧的相机位姿,位姿通常由 COLMAP 输出。激光雷达点云、单张深度图、三角网格都不是标准输入。
Q2. NeRF 把三维场景表示成什么?
- A.坐标映射到密度与颜色← 正确答案
- B.显式存储三角面片
- C.体素保存 RGB 颜色
- D.直接保存相册照片
答案:A。NeRF 用神经网络把空间坐标与观察方向映射为密度和颜色,属于隐式连续场;它不直接存储三角面片、体素颜色,也不保存图像本身。
Q3. “新视角合成”指的是什么?
- A.渲染出未拍摄过的角度← 正确答案
- B.复制一张已有图像
- C.修改图像中物体颜色
- D.把视频转成点云数据
答案:A。新视角合成就是利用训练好的隐式场,渲染出相机从未拍摄过的角度画面,体现了模型对三维结构的理解;其余选项都是对已有图像的平面处理,不涉及三维。
Q4. 体渲染沿射线求像素颜色时,关键操作是什么?
- A.按透过率加权累积颜色← 正确答案
- B.取最近表面点的颜色
- C.对所有采样点颜色平均
- D.只保留密度最大的单点
答案:A。体渲染在每个采样点计算“累积透过率 × 自身不透明度”作为权重,再对颜色加权求和。取最近点忽略半透明,取平均丢失遮挡关系,只取最大密度点则浪费了其余点的信息。
Q5. 位置编码在 NeRF 中的核心作用是什么?
- A.增强高频细节的拟合能力← 正确答案
- B.减少网络参数量开销
- C.替代损失函数的计算
- D.减少射线的采样数量
答案:A。位置编码把坐标投影到多组不同频率的正弦波上,让 MLP 更容易拟合图像中的高频纹理细节;它不减少参数、不替代损失,也不改变射线采样数量。
Q6. 神经隐式 SLAM 相比传统特征点 SLAM 的提升包括哪些?
- A.弱纹理环境构建稠密地图← 正确答案
- B.位姿与地图做联合优化← 正确答案
- C.无需任何传感器数据输入
- D.输出是显式三角网格
答案:AB。神经隐式 SLAM 用光度或几何误差同时优化地图网络与相机位姿,在弱纹理环境也能构建稠密可渲染的隐式地图;但它仍然需要 RGB-D 或单目等传感器输入,且输出前需额外提取表面才能得到三角网格。
Q7. 原始 NeRF 推理慢的核心原因是什么?
- A.每条射线多次查询大网络← 正确答案
- B.输入图像分辨率太低
- C.输出颜色通道数量太多
- D.损失函数无法正确收敛
答案:A。原始 NeRF 每条射线要采样几十上百个点、每个点做一次 MLP 前向推理,训练与推理都极慢;后续的哈希编码、体素蒸馏等加速方案正是针对这一瓶颈,而非分辨率或通道数问题。
Q8. 原始 3D 高斯泼溅在哪个方面明显优于原始 NeRF?
- A.渲染速度与显式可编辑性← 正确答案
- B.内存占用更小更节省
- C.无需任何训练数据采集
- D.几何精度天然更加精确
答案:A。3DGS 用可微光栅化替代逐点 MLP 查询,渲染可达 100+ FPS 实时,显式点基元也便于直接编辑。但它的显存开销通常更大、依然需要多视角训练数据,几何精度也并非天然优于 NeRF。
Q9. 以下哪些是 NeRF 在空间智能中的典型应用?
- A.新视角预演供机器人规划← 正确答案
- B.生成世界模型的下一帧画面← 正确答案
- C.直接编译操作系统内核
- D.结合语义做指哪看哪问答← 正确答案
答案:ABD。NeRF 可以渲染新视角供机器人预演路径,可以作为世界模型的渲染器生成下一帧,也可以与语言模型结合实现空间问答;编译操作系统内核与三维重建毫无关联。
Q10. 关于 NeRF 与 3D 高斯泼溅,以下表述正确的是?
- A.都用可微渲染迭代优化← 正确答案
- B.NeRF 是隐式连续场表示← 正确答案
- C.高斯是显式点基元表示← 正确答案
- D.高斯已经彻底取代 NeRF
答案:ABC。两者都从多视角图像出发、用可微渲染做梯度优化;NeRF 用隐式连续场,3DGS 用显式 3D 高斯点基元。实际工程中二者更多是互补或融合(互蒸馏),“彻底取代”的说法不符合现状。