深圳Yolo 视觉
深圳
立即加入
词汇表

高斯泼溅

探索高斯泼溅技术在逼真3D场景重建中的应用。了解它如何实现实时渲染,并与Ultralytics YOLO26集成以实现视觉功能。

高斯泼溅是一种现代光栅化技术,用于计算机图形学和计算机视觉中,从一组2D图像重建逼真的3D场景。与依赖多边形网格的传统3D建模不同,也不同于最近的AI进展,例如使用神经网络近似场景的 神经辐射场 (NeRF),高斯泼溅将场景表示为数百万个3D高斯分布(椭球体)的集合。这种方法允许以高帧率(通常超过100 FPS)进行实时渲染,同时保持卓越的视觉保真度,解决了以前视图合成方法中存在的主要性能瓶颈。

高斯泼溅的工作原理

其核心思想是显式而非隐式地表示3D空间。在典型的工作流程中,该过程始于使用运动结构恢复 (SfM)技术从一组照片生成的稀疏点云。然后,该点云中的每个点都被初始化为一个3D高斯。

训练过程中,系统会优化每个高斯的以下几个参数:

  • 位置:场景中的3D坐标(X、Y、Z)。
  • 协方差: 这决定了椭球体的形状和旋转(例如,“斑点”的拉伸或倾斜程度)。
  • 不透明度:高斯显示为透明或实体的程度(alpha值)。
  • 颜色: 使用 球谐函数 表示,允许颜色随视角变化,捕捉逼真的反射和光照效果。

“泼溅”一词指的是光栅化过程,其中这些3D高斯被投影(或“泼溅”)到2D相机平面上以形成图像。这种投影是完全可微分的,这意味着可以使用标准的梯度下降算法来最小化渲染图像与原始真实照片之间的差异。

高斯泼溅与NeRF对比

尽管这两种技术都旨在生成场景的新颖视图,但它们在架构和性能上存在根本差异。NeRF(神经辐射场)将场景编码在神经网络的权重中。渲染NeRF需要对该网络进行数百万次查询,以生成每一帧(光线步进),这计算成本高昂且速度缓慢。

相比之下,高斯泼溅使用显式表示(高斯列表)。这使其能够利用高效的基于瓦片的光栅化,类似于视频游戏渲染图形的方式。因此,高斯泼溅在训练和渲染方面比NeRF快得多,使其更适用于消费级应用和实时推理

实际应用

高斯泼溅的速度和质量在各个行业中开辟了新的可能性:

  • 虚拟旅游和房地产:创作者可以使用无人机或智能手机捕捉博物馆、历史遗迹或待售房屋。高斯泼溅允许远程用户在具有6个自由度(6DoF)的虚拟现实(VR)中探索这些空间,并能看到传统摄影测量可能遗漏的精细细节,例如硬木地板上的反射。
  • 汽车仿真:开发 autonomous vehicles 的公司需要大量数据来测试其感知算法。高斯泼溅 (Gaussian Splatting) 可以从传感器数据重建真实的城市街区,创建逼真的仿真环境。在这些环境中,可以测试像 Ultralytics YOLO26 这样的视觉模型,以确保它们在复杂的 3D 场景中正确识别危险。

借助计算机视觉进行泼溅预处理

为了使高斯泼溅有效工作,训练图像通常需要是静态的。源照片中的移动物体(如行人或汽车)可能会导致称为“浮点”的伪影。先进的管道使用实例分割在训练泼溅模型之前自动遮蔽这些动态元素。

Ultralytics Platform允许团队管理数据集并训练模型,以协助完成此预处理阶段。以下是使用分割模型为用于3D重建的数据集创建掩码的方法:

from ultralytics import YOLO

# Load the YOLO26 segmentation model
model = YOLO("yolo26n-seg.pt")

# Run inference on an image from the scan dataset
# Class 0 is 'person' in COCO - we mask them out to keep the scene static
results = model.predict("scan_frame_001.jpg", classes=[0])

# Save the generated mask to exclude the person from the 3D reconstruction
for result in results:
    result.save_masks("scan_frame_001_mask.png")

在AI中的意义和未来趋势

高斯泼溅代表着计算机视觉领域的一种转变,转向结合深度学习的可学习性与经典计算机图形学效率的混合方法。这项技术正在迅速发展,研究人员正在探索压缩文件大小(文件可能很大)的方法,并将其与生成式AI集成,以从文本提示创建3D资产。随着GPU等硬件加速器不断改进,高斯泼溅很可能成为以数字形式捕捉和渲染真实世界的标准。

让我们一起共建AI的未来!

开启您的机器学习未来之旅