3D Gaussian Splatting 代码层理解之Part1

server/2024/11/20 19:53:12/

2023 年初,来自法国蔚蓝海岸大学和 德国马克斯·普朗克学会的作者发表了一篇题为“用于实时现场渲染的 3D 高斯泼溅”的论文3d_gaussian_splatting。该论文提出了实时神经渲染的重大进步,超越了NeRF等以往方法的实用性。高斯泼溅不仅减少了延迟,而且达到或超过了 NeRF 的渲染质量,在神经渲染领域掀起了一场风暴。

高斯泼溅虽然有效,但对于不熟悉像机矩阵和图形渲染的人来说可能很难理解。此外,可以发现在 Python 中实现高斯泼溅的资源相对比较稀缺,甚至作者的源代码也是用 CUDA 编写的(原作者对CUDA有较深入研究和理解)。

本文档旨在弥合这一差距,为精通 Python 和机器学习但在图形渲染方面经验不足的工程师提供基于 Python 的高斯泼溅介绍。GitHub 上的相关代码演示了如何初始化 COLMAP 扫描中的点并将其渲染为最终图像,该图像类似于splatting应用程序中的前向传递(并为感兴趣的人提供一些额外的 CUDA 代码)。本教程还有一个配套的 jupyter notebook(GitHub 中的 part_1),其中包含继续学习所需的所有代码。虽然我们不会构建完整的高斯 splatting 场景,本教程可以为读者提供基础知识,以更深入地研究 splatting 技术。

首先,我们使用 COLMAP,这是一款使用从运动到结构 (SfM) 提取在多个图像中一致看到的点的软件。SfM 基本上可以识别在多个图片中发现的点(例如,门口的右上边缘)。通过在不同图像中匹配这些点,我们可以估计 3D 空间中每个点的深度。这与人类立体视觉的工作原理非常相似,其中深度是通过比较每只眼睛略有不同的视图来感知的。因此,SfM 从多个图像中的公共点生成一组 3D 点,每个点都有 x、y 和 z 坐标,从而为我们提供了场景的“结构”。

在本教程中,我们将使用预构建的 COLMAP 扫描点云,可


http://www.ppmy.cn/server/143529.html

相关文章

5个Midjourney技巧,让你的图片更自然真实,没有“AI味”

您是否觉得有些AI生成的图像看起来过于完美?有股AI味?MidJourney 可以创建非常高质量的逼真图像,然而画面完美无瑕、栩栩如生,让人感觉完美得令人不安,几乎不真实。 比如这个,有点夸张: 大多数…

32.3 mmap的在io提速上的应用和prometheus的应用

本节重点总结 : mmap的在io提速上的应用prometheus 中mmap的应用 mmap 减少copy次数 传统IO 在开始谈零拷贝之前,首先要对传统的IO方式有一个概念。基于传统的IO方式,底层实际上通过调用read()和write()来实现。通过read()把数据从硬盘读取到内核缓…

第三十七章 如何清理docker 日志

如何清理docker 日志 目标 掌握docker 日志设置掌握docker日志的清理办法背景 在现代软件开发和部署环境中,Docker 容器技术因其轻量级、可移植性和高效资源利用的特点,已成为许多企业和开发团队的首选。Docker 容器在运行过程中会产生大量的日志信息,这些日志对于监控容器…

电子电气架构 --- 传统刷写流程怎么用在SOC上就不适用呢?

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 所有人的看法和评价都是暂时的,只有自己的经历是伴随一生的,几乎所有的担忧和畏惧,都是来源于自己的想象,只有你真的去做了,才会发现有多快乐。…

安装pytest失败ModuleNotFoundError: No module named ‘distutils‘

下载一下即可解决 pip install setuptools 下载完成后,再进行下载 pip install pytest

【1】流利说面经整理

[1].介绍一下CAP理论 CAP理论是指在分布式系统设计中,没有一种设计可以同时满足Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性)3个特性,最多只能同…

CH03_反射

第3章:反射 本章目标 掌握反射的原理 熟悉反射的基本运用 本章内容 反射是什么 C# 编译运行过程 首先我们在VS点击编译的时候,就会将C#源代码编译成程序集 程序集以可执行文件 (.exe) 或动态链接库文件 (.dll) 的形式实现 程序集中包含有Microsoft …

【鸿蒙开发】第十七章 Camera相机服务

目录 1 简介 2 开发模型 3 开发准备 4 相机开发(ArkTS) 4.1 设备输入 4.1.1 开发步骤 4.1.2 状态监听 4.2 会话管理 4.2.1 开发步骤 4.3 预览 4.3.1 开发步骤 4.3.2 状态监听 4.4 拍照 4.4.1 开发步骤 4.4.2 状态监听 4.5 录像 4.5.1 开…