当前位置: 首页 > news >正文

3d gaussian splatting公式推导

1. 离散公式推导

nerf中连续的积分渲染公式是:

C(r)=\int_{0}^{t_i}T(t)\sigma(r(t))c(r(t), d)dt

其中被遮挡率:

T(t)=exp(-\int_{0}^{t_i}\sigma(r(s))ds)

那么转换为离散公式后有:

T_i=T(t_i) =exp(-\sum_{j=0}^{j=i-1}\int_{t_j}^{t_{j+1}}\sigma(t)dt) =exp(-\sum_{j=0}^{j=i-1}\sigma_j\delta_j)

其中,\delta_j代表j时刻的时间差,将其带入渲染公式:

C(i)=\sum_{j=0}^{j=i-1}\int_{t_j}^{t_{j+1}}T(t)\sigma(t)c(t)dt \\=\sum_{j=0}^{j=i-1}\int_{t_j}^{t_{j+1}}exp(-\int_{0}^{t}\sigma(s)ds)\sigma_jc_jdt \\=\sum_{j=0}^{j={i-1}}\int_{t_j}^{t_{j+1}}exp(-\int_{0}^{t_j}\sigma(s)ds)exp(-\int_{t_j}^{t}\sigma(s)ds)\sigma_jc_jdt \\=\sum_{j=0}^{j=i-1}\int_{t_j}^{t_{j+1}}T_jexp(-\int_{t_j}^{t}\sigma(s)ds)\sigma_jc_jdt \\=\sum_{j=0}^{j=i-1}T_j\sigma_jc_j\int_{t_j}^{t_{j+1}}exp(-\sigma_j(t-t_j)dt \\=\sum_{j=0}^{j=i-1}T_j\sigma_jc_j(-\frac{1}{\sigma_j})(exp(-\sigma_j\delta_j)-1) \\=\sum_{j=0}^{j=i-1}T_jc_j(1-exp(-\sigma_j\delta_j))

设透明度    \alpha_i=(1-exp(-\sigma_i\delta_i))

则被遮挡率   T_i =\prod_{j=1}^{j=i-1}(1-\alpha_i)

有   C(i)=\sum_{j=0}^{j=i-1}c_j\alpha_j\prod_{j=1}^{j=i-1}(1-\alpha_j)

而gaussian-splating的公式与nerf不一样的点在于,透明度\alpha_i的计算是根据像素点处于2D高斯球的概率求得的:

\alpha_i=\frac{1}{2\pi\sqrt{\left | \Omega \right |}}exp(-0.5(x-\mu)\Omega ^{-1}(x-\mu))

其中\mu是3D高斯球溅射到屏幕上形成的2D高斯球的均值,\Omega是2D高斯球的协方差

2. 正向渲染公式推导

正向渲染是指从3D高斯球渲染到2D屏幕中某个像素值的颜色的过程。

2.1 3D高斯到2D高斯

首先,3D高斯参数有高斯球的中心即均值\omega,协方差\Sigma,透明度\sigma,颜色c,2D高斯参数有高斯球的中心即均值\mu,协方差\Omega

对于均值\mu来说,其值就是将\omega转换到屏幕坐标系上就可以了

p_{c}=T_{w2c}\omegap_c\omega从世界坐标系转换到相机坐标系下,

\mu=\left\{\begin{matrix}p_c[0]/p_c[2] \\ p_c[1]/p_c[2] \\ \left \| p_c \right \| \end{matrix}\right.

这里3D高斯球的表示是通过一个旋转R和一个缩放矩阵S的乘积表示的,即\Sigma=RS\Lambda S^TR^T=RSS^TR^T,这么表示的原理是协方差是一个椭球,标准正态分布是一个圆,椭球就是将这个圆进行旋转缩放变成的。\Lambda是标准正态分布的协方差,它是一个单位矩阵,所以可以省略。

3. 反向传播公式推导

参考:

【CV】Nerf中体素渲染的离散公式推导 - Edlinf - 博客园

https://zhuanlan.zhihu.com/p/633106694

相关文章:

3d gaussian splatting公式推导

1. 离散公式推导 nerf中连续的积分渲染公式是: 其中被遮挡率: 那么转换为离散公式后有: 其中,代表j时刻的时间差,将其带入渲染公式: 设透明度 则被遮挡率 有 而gaussian-splating的公式与ner…...

金属增材制造咋突破?纳米纹理粉末如何助力金属增材制造?

大家好,今天我们来了解一篇金属增材制造文章——《High absorptivity nanotextured powders for additive manufacturing》发表于《Science Advances》。金属增材制造在医疗、航空航天等领域,它潜力巨大,但目前可打印的金属材料有限&#xff…...

openpnp - 为了防止物料操作混乱,做一张物料分布位置图清晰一些

文章目录 openpnp - 为了防止物料操作混乱,做一张物料分布位置图清晰一些概述笔记做子装配图做总装配图备注END openpnp - 为了防止物料操作混乱,做一张物料分布位置图清晰一些 概述 看网上资料,当openpnp贴片机上料后,为了防止…...

懒人帮美食系统小程序的设计

管理员账户功能包括:系统首页,个人中心,用户管理,商家管理,配送员管理,菜品分类管理,菜品信息管理,订单信息管理,订单配送管理 微信端账号功能包括:系统首页…...

David律所代理Jose Martin幽默水果版权首发维权,尚未TRO

案件基本情况:起诉时间:2024/9/18案件号:2024-cv-08484原告:Jose Martin原告律所:David起诉地:伊利诺伊州北部法院涉案商标/版权:原告品牌简介:西班牙的卓越艺术家Jose Martin以他非…...

读构建可扩展分布式系统:方法与实践15可扩展系统的基本要素

1. 可扩展系统的基本要素 1.1. 分布式系统在本质上就是复杂的,你必须考虑多种故障模式,并设计应对所有可能发生的情况的处理方式 1.2. 大规模应用程序需要协调大量的硬件和软件组件,共同实现低延迟和高吞吐量的能力 1.3. 面临的挑战是将所…...

解决VisualStudio msvsmon.exe远程调试器未启动问题

原本好好的用本地调试器编译运行程序,结果VisualStudio不知道哪根筋抽风了,死活就是无法运行程序。 心想是不是程序问题,结果直接运行程序没问题。 心想是不是msvsmon.exe是个后台服务,结果死活找不到这个服务,然后再…...

如果淘汰是注定的,那么读书还有意义吗?

哪吒说:“我命由我不由天,是魔是仙我自己说了算。”; 而且书中自有颜如玉,书中自有黄金屋; 抛开以上说法,有一句话说的也特别好:“人这一辈子,赚不到自己认知以外的钱,没…...

Python 中 三种常用的绘图方式 ! ! !

一 Matplotlib可视化 在Python中,Matplotlib是一个功能强大的绘图库,特别是其Pyplot模块,提供了类似于MATLAB的绘图接口,使得用户可以轻松绘制各种2D图表。下面我们将详细介绍使用Matplotlib进行可视化的基本步骤以及常用图形的…...

统一回复OneAPI:failed to get gpt-3.5-turbo token encoder的解决办法

源码方式安装后启动OneAPI时提示failed to get gpt-3.5-turbo token encode,缺少编码文件的解决办法。 1、编辑encoding.go文件 vim /root/go/pkg/mod/github.com/pkoukk/tiktoken-gov0.1.7/encoding.go 注意:tiktoken-gov0.1.7要根据实际情况&#x…...

Flash Attention是怎么做到又快又省显存的?

Flash Attention 并没有减少 Attention 的计算量,也不影响精度,但是却比标准的Attention运算快 2~4 倍的运行速度,减少了 5~20 倍的内存使用量。究竟是怎么实现的呢? Attention 为什么慢? 此处的“快慢”是相对而言的…...

CAN报文ID过滤

在CAN通信中,CAN_FILTERMODE_LIST和CAN_FILTERMODE_MASK是用于CAN过滤器配置的两种不同过滤模式。 1. CAN_FILTERMODE_LIST: - 当CAN过滤器使用CAN_FILTERMODE_LIST模式时,过滤器将匹配通过滤器的标识符列表中的任何一个标识符。换句话说…...

ELK-05-skywalking监控SpringCloud服务日志

文章目录 前言一、引入依赖二、增加日志配置文件三、打印日志四、skywalking网页查询链路五、日志收集5.1 修改logback-spring.xml5.2 重启SpringCloud服务并请求test接口5.3 查看skywalking网页的Log 总结 前言 基于上一章节,现在使用skywalkin监控SpringCloud服务…...

17年数据结构考研真题解析

第一题&#xff1a; 解析&#xff1a; 我们说递归要找出口&#xff0c;这道题的出口是sum<n&#xff0c;经过观察可以得知&#xff1a;sum123。。。k 设第k次循环跳出&#xff0c;则有sum123。。。k<n k<,很显然答案选B 第二题&#xff1a; 解析&#xff1a; 第一句&a…...

nginx 安装(Centos)

nginx 安装-适用于 Centos 7.x [rootiZhp35weqb4z7gvuh357fbZ ~]# lsb_release -a LSB Version: :core-4.1-amd64:core-4.1-noarch Distributor ID: CentOS Description: CentOS Linux release 7.9.2009 (Core) Release: 7.9.2009 Codename: Core# 创建文件…...

异步编程利器:深入解析 Python 异步并发库 Gevent

在现代 Python 应用开发中&#xff0c;并发编程 是提高程序性能、处理多个任务的关键手段之一。虽然 Python 有原生的多线程、多进程模块&#xff0c;但这些模块存在一些限制&#xff0c;比如全局解释器锁&#xff08;GIL&#xff09;会影响多线程程序的执行效率。此外&#xf…...

Python pyusb 使用指南【windows+linux】

前言&#xff1a;USB(通用串行总线)作为一种高度通用性的硬件接口&#xff0c;在诸多领域均有应用。在C中可以直接使用libusb库即可完成USB设备信息查询、USB设备监听、与USB设备控制端点、数据&#xff08;同步、批量、中断&#xff09;端点进行指令、数据交互等功能。python中…...

Xcode报错:The request was denied by service delegate (SBMainWorkspace)

Xcode报错&#xff1a;The request was denied by service delegate (SBMainWorkspace) 造成的原因: &#xff08;1&#xff09;新的M2芯片的Mac电脑 (2) 此电脑首次安装启动Xcode的应用程序 (3&#xff09;此电脑未安装Rosetta 解决方法: &#xff08;1&#xff09;打开终端…...

面试系列-携程暑期实习一面

Java 基础 1、Java 中有哪些常见的数据结构&#xff1f; 图片来源于&#xff1a;JavaGuide Java集合框架图 Java 中常见的数据结构包含了 List、Set、Map、Queue&#xff0c;在回答的时候&#xff0c;只要把经常使用的数据结构给说出来即可&#xff0c;不需要全部记住 如下&…...

你以为建站很复杂?Baklib 5分钟解决你的痛点

你以为建站很复杂&#xff1f;Baklib 5分钟解决你的痛点&#xff01; 在这个“快节奏”的互联网时代&#xff0c;想要快速搭建一个网站是很多人的刚需。今天我要介绍的&#xff0c;就是如何利用Baklib的CMS/Wiki模板&#xff0c;五分钟内让你的网站“横空出世”。废话不多说&am…...

资源处理效率工具RePKG:从问题解决到场景创新的实战指南

资源处理效率工具RePKG&#xff1a;从问题解决到场景创新的实战指南 【免费下载链接】repkg Wallpaper engine PKG extractor/TEX to image converter 项目地址: https://gitcode.com/gh_mirrors/re/repkg 在数字创意和开发工作中&#xff0c;我们经常遇到各种专用格式的…...

深入解析STM32与FreeRTOS内存管理:从理论到实践的最佳配置策略

1. STM32内存结构深度剖析 第一次接触STM32内存管理时&#xff0c;我也被那些专业术语搞得晕头转向。直到把开发板跑死机十几次后&#xff0c;才真正理解RAM和Flash的区别。简单来说&#xff0c;RAM就像你的办公桌面&#xff0c;随时可以读写但断电就清空&#xff1b;Flash则是…...

视觉问答技术全解析:从原理到实践的LAVIS框架应用指南

视觉问答技术全解析&#xff1a;从原理到实践的LAVIS框架应用指南 【免费下载链接】LAVIS LAVIS - A One-stop Library for Language-Vision Intelligence 项目地址: https://gitcode.com/gh_mirrors/la/LAVIS 技术原理&#xff1a;机器如何"看懂"并"回答…...

Typora与AI结合:使用万象熔炉·丹青幻境为Markdown文档自动配图

Typora与AI结合&#xff1a;使用万象熔炉丹青幻境为Markdown文档自动配图 不知道你有没有过这样的体验&#xff1a;在Typora里写完一篇技术博客或项目文档&#xff0c;内容详实&#xff0c;逻辑清晰&#xff0c;但通篇下来全是文字&#xff0c;总觉得少了点什么。想配几张图吧…...

MedGemma-X精彩案例分享:自然语言提问触发的专业级影像分析报告

MedGemma-X精彩案例分享&#xff1a;自然语言提问触发的专业级影像分析报告 1. 重新定义智能影像诊断的新标杆 想象一下这样的场景&#xff1a;一位放射科医生面对堆积如山的X光片&#xff0c;只需要用自然语言问一句"这张胸片有没有肺炎迹象&#xff1f;"&#xf…...

别再只查列表了!Flowable 7.x 待办任务‘状态’字段的实战设计与前端动态渲染

Flowable 7.x 待办任务状态引擎设计与前端动态交互实战 在当今企业级应用开发中&#xff0c;工作流引擎已成为复杂业务流程管理的核心基础设施。作为Activiti的下一代产品&#xff0c;Flowable 7.x在任务状态管理和前后端协同方面提供了更强大的能力。本文将深入探讨如何基于Fl…...

数据中台是什么?怎么搭建数据中台?

去年&#xff0c;一家零售企业的CEO找到我&#xff0c;说了一句让我印象很深的话&#xff1a; "我们公司有数据&#xff0c;但没有数据能力。"很多企业建数据中台&#xff0c;是为了管好数据。 但这个出发点&#xff0c;从一开始就错了。 数据中台的核心不是管理&…...

【Oracle篇】基于OGG 21c全程图形化实现9TB数据从Oracle 11g到19c的不停机迁移(上):微服务架构详解与微服务部署,及同步问题总览(第一篇,总共三篇)

&#x1f4ab;《博主主页》&#xff1a;    &#x1f50e; CSDN主页&#xff1a; 奈斯DB    &#x1f50e; IF Club社区主页&#xff1a; 奈斯、    &#x1f50e; 微信公众号&#xff1a; 奈斯DB &#x1f525;《擅长领域》&#xff1a;    &#x1f5c3;️ 数据库…...

Windows右键菜单效率革命:ContextMenuManager极简操作与深度定制指南

Windows右键菜单效率革命&#xff1a;ContextMenuManager极简操作与深度定制指南 【免费下载链接】ContextMenuManager &#x1f5b1;️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 每天面对电脑上杂乱的右键菜单&…...

CodeMaker:让编码效率提升3倍的智能代码生成工具

CodeMaker&#xff1a;让编码效率提升3倍的智能代码生成工具 【免费下载链接】CodeMaker A idea-plugin for Java/Scala, support custom code template. 项目地址: https://gitcode.com/gh_mirrors/co/CodeMaker 一、核心价值&#xff1a;重新定义开发效率 你是否也曾…...