三维高斯是什么

最近3DGS的爆火,引发了一众对三维高斯表达场景的研究。这里的三维高斯是什么?本文用简答的描述和简单实验来呈现三维高斯的数学意义。本文没有公式推导,主打一个意会。

我们高中都学过高斯分布,即一个钟形曲线。它的特点是有一个中心,两边递减。在计算机领域上的优势是:用两个参数 ( μ , σ ) (\mu, \sigma) (μ,σ)可以表示一个分布。OK,我们继续推广到二维的情况,在CV领域常用一个trick是高斯模糊(即 Gaussian Blur),在关键点的周围模糊一个范围。
Gaussian Blur
实际上,在关键点的周围模糊出一个范围,这个范围是服从高斯分布的,就像一个钟形曲线的俯视图。这个范围依旧可以用(中心点,协方差等少数几个参数表示出来。至此,我们可以理解高斯表示的优点之一:用较少的参数可以表示一个任意大小的范围。这一优点特别适合用于场景表示。

我们将高斯推广到三维——三维高斯。三维高斯在空间中是一个有中心的类椭球物体,3DGS就是用一堆高斯球来表示场景。以3DGS为例,每个三维高斯包含以下参数:
one gaussian
其中,position(x, y, z) 表示三维高斯的中心点,scale和rotation这7个参数表示高斯球的大小和旋转,opacity表示不透明度,SH表示球谐波系数用于进一步的颜色表示。所以,一个朴素三维高斯只需要有(position, scale, rotation)即可,opacity和SH都是3DGS作者为使其更好表达场景而增加的可训练参数。

我们做一个实验,随便初始化三个高斯球,对其(position, scale, rotation)分别设置,默认opacity为1。

xyz = np.array([[-0.7, 0.1, .03],
                [-0.01451855, 0.4050243, -0.11472405],
                [0.30140288, -0.20153112, 0.12868194]])
scales = torch.log(torch.Tensor([0.0428, 0.0836, 0.0711]))[..., None].repeat(1, 3).cuda()
rots = torch.Tensor([0.2, 0.1, 0.2, 0.5])[..., None].repeat(1, 3).cuda()

然后,选取一个合适的相机机位,将这三个高斯球投影到对应视角:
3 gaussians
我们可以看到空间中有三个类椭球,这就是我们初始化的高斯球了。在3DGS的训练中,高斯球可以缩放、可以删减,也可以分裂增殖,最终完美重建出一个场景。
我们环绕一圈看一下这三个球的样子:
3 gaussians
到这里,应该觉得三维高斯不抽象了吧。
有问题请留言交流~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/457874.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数字逻辑-时序逻辑电路二——沐雨先生

一、实验目的 (1)熟悉计数器的逻辑功能及特性。 (2)掌握计数器的应用。 (3)掌握时序逻辑电路的分析和设计方法。 二、实验仪器及材料 三、实验原理 1、集成4位计数器74LS161(74LS160&#…

RSA加密与解密(Java实现)

RSA加密算法是一种非对称加密算法,它使用一对密钥来进行加密和解密操作。 基本原理 加密过程: 密钥生成:首先需要生成一对密钥,这对密钥包括一个公钥和一个私钥。公钥是公开的,可以分发给任何人,而私钥必须…

导入fetch_california_housing 加州房价数据集报错解决(HTTPError: HTTP Error 403: Forbidden)

报错 HTTPError Traceback (most recent call last) Cell In[3], line 52 from sklearn.datasets import fetch_california_housing3 from sklearn.model_selection import train_test_split ----> 5 X, Y fetch_california_housing(retu…

如何看待Figure公司与Open AI合作的最新机器人成果Figure 01?

想象一下,如果有一天,你走进办公室,迎面而来的不是熟悉的同事,而是一位名叫Figure 01的机器人新朋友。它不仅可以帮你倒咖啡,还能跟你聊天,甚至在你加班时给予精神上的支持。听起来是不是像科幻小说的情节&…

自动控制原理--matlab/simulink建模与仿真

第一讲 自动控制引论 第二讲 线性系统的数学模型 第三讲 控制系统的复域数学模型(传递函数) 第四讲 控制系统的方框图 /video/BV1L7411a7uL/?p35&spm_id_frompageDriver pandas, csv数据处理 numpy,多维数组的处理 Tensor,PyTorch张量 工作原理图…

【Linux】Ubuntu使用Netplan配置静态/动态IP

1、说明 Ubuntu 18.04开始,Ubuntu和Debian移除了以前的ifup/ifdown命令和/etc/network/interfaces配置文件,转而使用ip link set或者/etc/netplan/01-netcfg.yaml模板和sudo netplan apply命令实现网络管理。 Netplan 是抽象网络配置描述器,用于配置Linux网络。 通过netpla…

提升零售行业竞争力的信息抽取技术应用与实践

一、引言 在当今快速发展的零售行业中,沃尔玛、家乐福等大型连锁超市为消费者提供了丰富的日常食品和日用品。为了进一步提升客户体验和优化库存管理,这些零售巨头纷纷开始探索和应用先进的信息抽取技术。 本文将深入探讨一个成功的信息抽取项目&#…

基于word2vec 和 fast-pytorch-kmeans 的文本聚类实现,利用GPU加速提高聚类速度

文章目录 简介GPU加速 代码实现kmeans聚类结果kmeans 绘图函数相关资料参考 简介 本文使用text2vec模型,把文本转成向量。使用text2vec提供的训练好的模型权重进行文本编码,不重新训练word2vec模型。 直接用训练好的模型权重,方便又快捷 完整…

19C 19.22 RAC 2节点一键安装演示

Oracle 一键安装脚本,演示 2 节点 RAC 一键安装过程(全程无需人工干预):(脚本包括 GRID/ORALCE PSU/OJVM 补丁自动安装) ⭐️ 脚本下载地址:Shell脚本安装Oracle数据库 脚本第三代支持 N 节点…

CompletableFuture原理与实践-外卖商家端API的异步化

背景 随着订单量的持续上升,美团外卖各系统服务面临的压力也越来越大。作为外卖链路的核心环节,商家端提供了商家接单、配送等一系列核心功能,业务对系统吞吐量的要求也越来越高。而商家端API服务是流量入口,所有商家端流量都会由…

畅捷通T+ Ufida.T.DI.UIP.RRA.RRATableController 反序列化RCE漏洞复现

0x01 产品简介 畅捷通 T+ 是一款灵动,智慧,时尚的基于互联网时代开发的管理软件,主要针对中小型工贸与商贸企业,尤其适合有异地多组织机构(多工厂,多仓库,多办事处,多经销商)的企业,涵盖了财务,业务,生产等领域的应用,产品应用功能包括:采购管理、库存管理、销售…

Python基于大数据的豆瓣电影分析,豆瓣电影可视化系统,附源码

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

linux 安装gradle7.4.2环境

1.下载gradle7.4.2工程 百度网盘 请输入提取码百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固,支持教育网加速,支持手机端。注册使用百度网盘即可享受免费存储空间https://pan.baidu.com/s/1hoNEFkBJPHAgs9ITAEh3Zg?pwdGJ…

活动图高阶讲解-03

1 00:00:00,000 --> 00:00:06,260 刚才我们讲了活动图的历史 2 00:00:06,260 --> 00:00:11,460 那我们来看这个活动图 3 00:00:11,460 --> 00:00:15,260 如果用来建模的话怎么用 4 00:00:15,260 --> 00:00:20,100 按照我们前面讲的软件方法的工作流 5 00:00:20…

mysql的语法总结3

查询表 精确查找 举例 去除重复行 假设您有一个名为 students 的表,其中包含 name 和 age 两列,您想要查询所有不重复的年龄,可以使用以下查询: 详细匹配 查询emp表中在部门10工作、工资高于1000或岗位是CLERK的所有雇员的姓名、…

C++ 优先级队列(大小根堆)OJ

目录 1、 1046. 最后一块石头的重量 2、 703. 数据流中的第 K 大元素 为什么小根堆可以解决TopK问题? 3、 692. 前K个高频单词 4、 295. 数据流的中位数 1、 1046. 最后一块石头的重量 思路:根据示例发现可以用大根堆(降序)模拟这个过程。 class So…

【Jenkins】data stream error|Error cloning remote repo ‘origin‘ 错误解决【亲测有效】

错误构建日志 17:39:09 ERROR: Error cloning remote repo origin 17:39:09 hudson.plugins.git.GitException: Command "git fetch --tags --progress http://domain/xxx.git refs/heads/*:refs/remotes/origin/*" returned status code 128: 17:39:09 stdout: 17…

unity报错出现Asset database transaction committed twice!

错误描述: 运行时报错 Assertion failed on expression: ‘m_ErrorCode MDB_MAP_RESIZED || !HasAbortingErrors()’Asset database transaction committed twice!Assertion failed on expression: ‘errors MDB_SUCCESS || errors MDB_NOTFOUND’ 解决办法&…

基于springboot实现驾校信息管理系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现驾校信息管理系统演示 摘要 随着人们生活水平的不断提高,出行方式多样化,也以私家车为主,那么既然私家车的需求不断增长,那么基于驾校的考核管理也就不断增强,那么业务系统也就慢慢的随之加大。信息…

mac删除带锁标识的app

一 、我们这里要删除FortiClient.app 带锁 常规方式删除不掉带锁的 app【如下图】 二、删除命令,依次执行即可。 /bin/ls -dleO /Applications/FortiClient.app sudo /usr/bin/chflags -R noschg /Applications/FortiClient.app /bin/ls -dleO /Applications/Forti…