Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
返回 Ultralytics 术语表

Novel View Synthesis (NVS)

新视角合成通过深度变形、NeRF、高斯泼溅或扩散模型,渲染从未拍摄过的相机位置所看到的场景图像。

新视角合成(NVS)是根据一张或多张输入图像,生成从从未拍摄过的相机位置观察场景所得图像的任务。模型必须推断表面的位置、表面从新角度看起来的样子,以及填充所有输入相机都未拍到区域的内容。NVS 可用于自由视点视频、虚拟导览、3D 视频通话,以及从新轨迹重放录制行程的模拟器;它也是 3D 计算机视觉模型的标准测试,因为保留的照片能直接检验场景表示从新角度观察时是否可靠。

新视角合成的工作原理#

最简单的方法是重新投影像素。只要知道每个像素的深度值,就可以将每个点移动到新相机视角下对应的位置,这种技术称为基于深度图的渲染。离相机较近的点移动幅度大于较远的点;输入中被遮挡、但从新位置可见的表面会形成空洞,称为显露区域,必须将其填补。下面的示例使用 Middlebury 立体图像对的左图和视差(即反深度)合成右视图,然后将结果与形变过程中从未用到的真实右图进行比较:

import numpy as np
from skimage import data
from skimage.metrics import peak_signal_noise_ratio as psnr

# Left view, the real right view (held out), and per-pixel disparity (inverse depth) for the left view
left, right, disp = data.stereo_motorcycle()
ys, xs = np.nonzero(np.isfinite(disp))
xt = np.round(xs - disp[ys, xs]).astype(int)  # column where the right camera, 0.19 m away, sees each pixel

# Paint far to near so the nearest surface wins where several pixels land on one spot
order = np.argsort(disp[ys, xs])
ys, xs, xt = ys[order], xs[order], xt[order]
keep = xt >= 0  # drop pixels that leave the frame
novel = np.zeros_like(left)
novel[ys[keep], xt[keep]] = left[ys[keep], xs[keep]]

# Holes are spots no left pixel reached, such as surfaces the left camera never saw
filled = novel.any(axis=2)
print(f"Holes: {1 - filled.mean():.1%} of the novel view")
print(f"PSNR, synthesized view: {psnr(right[filled], novel[filled]):.1f} dB")
print(f"PSNR, left view copied: {psnr(right[filled], left[filled]):.1f} dB")

在真实照片上测得的合成视图峰值信噪比为 26.9 dB,而直接重复使用左图时为 12.9 dB,但新视图中有 17.0% 留作空洞。对于单张照片,视差可以通过单目深度估计获得:Ultralytics YOLO26 深度模型会预测每个像素以米为单位的深度,再据此转换为任意选定相机位移对应的视差。Meng-Li Shih 及其同事在 CVPR 2020 提出的3D 照片方法采用了这一路径,并使用学习得到的图像修复来填补空洞。

密集采集的数据支持针对场景进行优化。给定数十到数百张带相机姿态的照片(通常通过运动恢复结构获得),Ben Mildenhall 及其同事于 2020 年提出的神经辐射场会拟合一个网络,使其能返回任意 3D 点的颜色和密度,并沿每条相机射线进行体渲染,从而渲染新视图。Bernhard Kerbl 及其同事于 2023 年提出的高斯泼溅则用数百万个可实时光栅化的 3D 高斯体替代网络,在 1080p 分辨率下可达到每秒 30 帧或更高速度。两者都通过可微分渲染进行训练,方法是将渲染结果与输入照片进行比较。

只有一张或少量输入图像时,生成模型可以补足相机从未拍到的内容。以输入图像和相对相机姿态为条件的扩散模型,例如哥伦比亚大学于 2023 年提出的 Zero-1-to-3,可以生成物体背面看起来合理的视图;多视图扩散方法则会生成多个彼此一致的视图,然后根据这些视图拟合 3D 表示。

质量通过保留照片进行衡量,指标包括 PSNR、结构相似性指数(SSIM)和学习型感知距离 LPIPS;基准数据集包括 NeRF 论文中的合成 Blender 场景,以及 Mip-NeRF 360 中无边界的真实场景。

神经渲染是以神经网络为基础的更广泛图形技术类别,涵盖 NVS、重新照明、虚拟形象和图像编辑。3D 重建追求可测量的几何结构,例如网格;NVS 则只依据渲染图像进行评估,因此辐射场即使几何结构模糊,也可能渲染得很逼真。立体视觉会反向执行形变,根据两个真实视图测量视差。帧插值从固定视点生成时间上的新时刻,而由相机控制的视频生成则兼具两者特征:虚拟相机在生成场景中移动。动态场景会通过4D 高斯泼溅等方法将 NVS 扩展到时间维度。

实际应用#

  • 3D 视频通话:Google Beam(原名 Project Starline)使用多台相机拍摄每位参与者,并在光场显示器上从观看者的眼睛位置渲染画面。
  • 虚拟现实与混合现实:将拍摄的房间、产品和地标转换为可探索的场景,头显会针对每个头部位置重新渲染场景。
  • 驾驶模拟:录制驾驶过程的神经重建可以从车辆从未行驶过的轨迹渲染相机视图,为感知测试生成合成传感器数据。Waymo 和 Google 的研究人员使用 280 万张图像构建了 Block-NeRF,用于渲染整个旧金山街区。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来