探索高斯溅射技术在逼真3D场景重建中的应用。了解该技术如何实现实时渲染,并集成Ultralytics 进行视觉处理。
高斯溅射是一种现代光栅化技术,应用于计算机图形学和计算机视觉领域,用于从一组二维图像中重建逼真的三维场景。与依赖多边形网格的传统三维建模技术,或近期利用神经网络近似场景的AI技术(如 神经辐射场(NeRF)这类利用神经网络近似场景的方法,高斯飞溅技术将场景表示为数百万个三维高斯分布(椭球体)的集合。该方法能在保持卓越视觉保真度的同时实现高帧率实时渲染(通常超过100 FPS),有效解决了传统视图合成方法中的重大性能瓶颈。
核心思想在于显式而非隐式地表示三维空间。在典型的工作流程中,该过程始于通过一种称为运动构造(SfM)的技术,从一组照片生成的稀疏点云。该点云中的每个点随后被初始化为三维高斯分布。
在训练过程中,系统为每个高斯分布优化多个参数:
术语"splatting"指的是 光栅化 过程,即这些三维高斯函数被投影——或"展开"——到二维相机平面上形成图像。该 投影具有完全可微性,意味着可使用标准 梯度下降算法 来最小化渲染图像与原始真实照片之间的差异。
虽然两种技术都旨在生成场景的新视角,但它们在架构和性能上存在根本差异。 NeRF(神经辐射场)将场景编码于神经网络的权重中。 渲染NeRF需要对每个帧进行数百万次网络查询(光线追踪),这在计算上既耗费资源又速度缓慢。
相比之下,高斯喷溅法采用显式表示(高斯函数列表)。这使其能够利用高效的基于瓦片的栅格化技术,类似于电子游戏渲染图形的方式。因此,高斯喷溅法的训练和渲染速度远快于神经光栅(NeRFs),使其更适用于消费级应用和实时推理场景。
高斯溅射技术的速度与品质为各行各业开辟了新天地:
要使高斯溅射技术有效运作,训练图像通常需要保持静态。源照片中的移动物体(如行人或车辆)会产生称为"漂浮物"的伪影。先进的处理流程会采用实例分割技术,在训练溅射模型前自动遮罩掉这些动态元素。
Ultralytics 支持团队管理数据集并训练模型,这些模型可协助完成预处理阶段的工作。以下是使用分割模型为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")
高斯喷溅技术标志着计算机视觉领域正转向混合方法,该方法融合了深度学习的可学习性与经典计算机图形的效率。这项技术正快速演进,研究人员正探索压缩文件大小(其体积可能庞大)的方法,并将其与生成式人工智能整合,以实现通过文本提示生成3D资产。 随着GPU等硬件加速器的持续升级,高斯溅射技术有望成为数字化捕捉与呈现真实世界的行业标准。