别再混淆了:3D高斯泼溅中的“仿射近似”、透视投影与正交投影

发布时间:2026/10/6 10:49:03

别再混淆了:3D高斯泼溅中的“仿射近似”、透视投影与正交投影 如果你刚开始接触3D Gaussian Splatting3DGS大概率会看到这样一句话“将非线性透视投影近似为仿射变换。”同时如果你做过直接法视觉SLAM如DSO可能会在光度误差的雅可比推导里看到一个眼熟的矩阵心里犯嘀咕这不就是同一个东西吗更让人困惑的是有些资料说“正交投影是仿射变换”那3DGS里的“近似成仿射变换”是不是就等于把透视换成了平行光线仿射变换到底包不包括缩放这篇文章就是要把这些疙瘩一次性解开。1. 非线性透视 vs 仿射变换它们本来是谁非线性透视投影就是我们最熟悉的针孔相机模型。一个三维点 ((X,Y,Z)) 在图像上的像素坐标是这里有一个除以深度 (Z)的操作因此整个映射是非线性的。这种非线性带来了近大远小的透视效应但它有一个“麻烦”如果把一个完整的高斯分布带有协方差直接通过这个非线性函数投影后的分布就不再是高斯了无法用简单的2D高斯去表达和渲染。仿射变换仿射变换的数学形式是“线性变换 平移”线性部分可以是任意矩阵所以它不仅可以旋转、平移还可以缩放、剪切、反射。换句话说仿射变换的范围远比“刚体变换旋转平移”要宽。在几何上仿射变换保持直线的平行性但会改变长度和角度。2. 3DGS 里的那个神秘雅可比 J3DGS 为了把3D高斯渲染到屏幕上需要对每个高斯的中心点做一次局部线性化。这个线性化的核心就是投影函数对三维点的雅可比矩阵它是一个2×3 矩阵描述了在某个三维点附近像素坐标如何随三维位置而变化。有了再结合世界到相机的刚体变换3D协方差 () 投影到2D时就可以写成这里的 () 就是那个“局部仿射变换”的线性部分。高斯中心本身仍然用原始非线性投影求像素位置相当于仿射变换里的“平移”项。从一阶泰勒展开看我们在当前高斯的中心点处用切线代替了原本弯曲的透视曲线。因此这个近似只在当前高斯的小邻域里成立并且每个高斯有自己的深度 (Z)也就有自己的 ()。3. 直接法视觉SLAM里的“同款”J如果你熟悉直接法SLAM比如在DSO中构造光度误差为了优化相机位姿或逆深度需要用链式法则求导中间必然出现一项这正是刚才那个2×3 的雅可比 J。所以SLAM里看到的 J 和 3DGS 里的 J 在数学上是一模一样的东西都是针孔投影函数的一阶导数。区别只在于“用途”在SLAM中它用来计算梯度指导位姿或深度更新是迭代优化的临时工具。每一步重新线性化直到收敛。在3DGS中它被固化进渲染过程用来把3D高斯近似地压扁成2D高斯保持高斯形状以进行高效光栅化。一帧之内不再改变。一个用来求解一个用来近似表达。4. 辨析仿射变换到底包含什么很多人下意识以为仿射变换就是“旋转平移”这是一个常见的误解。实际上旋转平移→ 刚体变换欧氏变换是仿射变换的一个子集。仿射变换 线性变换 平移线性部分可以包含缩放均匀或不均匀、剪切、旋转、反射等任意组合。在3DGS里中因为存在 () 和 ()天然包含了深度相关的不均匀缩放和剪切成分。它绝不是一个简单的旋转。5. 透视投影 vs 正交投影点光源与平行光这里有一个物理直觉上的正确对应点光源针孔相机→ 光线汇聚于一点 →透视投影需要除以深度非线性近大远小。平行光线远心镜头/无穷远光源→正交投影直接扔掉深度坐标或仅做缩放是线性的没有近大远小。而且正交投影在数学上就是一种仿射变换。一个典型的正交投影可以写成没有任何除以 (Z) 的操作显然是仿射的。但是这绝不意味着3DGS里把透视近似成仿射变换就等于换成了正交投影。6. 3DGS 的仿射近似并不是变成了平行光线这是最容易被错误关联的一点。3DGS 的局部仿射矩阵中元素里依然包含 () 和 ()会随深度变化而显著改变。因此它不是一个全局统一的正交投影那会完全丢弃深度影响。它只是在单个高斯的小范围内把局部的一小段透视曲线拉直成一条直线仿射映射。不同深度的不同高斯有完全不同的。整幅图像拼在一起依然完美地保留了近大远小的透视效果。你可以这样形象理解真实的透视投影是一条完整的曲线正交投影是另一条从头到底的直线。而3DGS的做法是在曲线上的每个采样点处用一小段切线直线去贴合曲线。整条曲线还是弯的但每一小段是直的。因此3DGS的“仿射近似”是一种局部线性化底层的光学模型依然是点光源透视与把整个成像模型换成正交投影有本质区别。结语回到最初的那句话——“将非线性透视近似为仿射变换”我们现在可以准确地解读它了非线性透视是带除法的针孔投影。仿射变换是任意线性变换加平移包含缩放、剪切等。这处近似是通过投影函数的雅可比 J在一阶泰勒展开下完成的只在局部成立。这个 J 和直接法SLAM中用于梯度计算的 J 完全相同只是被分别赋予了“渲染近似”和“优化引导”的不同使命。它不会把透视变成正交投影只是用“小直线段”去逼近“大曲线”。理解了这些再去看3DGS的论文或代码那些围绕着协方差投影、雅可比、仿射近似的模块就会变得非常通透。希望这篇博客能帮你扫清这些常见的概念雷区。
延伸阅读

更多相关文章

2026/10/4 11:39:26

鸿蒙手机如何将网站转为带百度搜索的APP

根据您的问题,核心诉求是:在鸿蒙系统的手机上,将网站(Web)生成为安卓应用(APK),并且该应用需要集成百度搜索功能。 需要明确的是,鸿蒙系统(HarmonyOS&#x…

2026/10/6 10:49:00

短视频多模态分析:时间对齐与跨模态门控融合实战

简介:本资源是一份面向计算机专业本科生的毕业设计/课程设计级多模态短视频内容分析系统实现,聚焦图像识别、自然语言处理与视觉符号分析三大技术融合,解决短视频场景下跨模态语义理解与智能标注难题,适用于深度学习实践、期末大作…

2026/10/6 10:49:00

点云3D缺陷检测实战:从PLY/PCD格式解析到配准与方案选型

简介:面向现代工业质检的缺陷检测项目,以激光扫描得到的PLY/PCD点云数据为对象,实现从点云读取、噪声去除、曲率、法向量等几何特征提取,到缺陷识别定位的完整流程,为复杂曲面零件的自动化检测提供了一种可复用的C工程…

2026/10/6 10:48:59

RK3576边缘AI量化实战:w4a16与w8a8硬件适配深度解析

1. RK3576不是“小玩具”,而是嵌入式AI推理的分水岭设备 RK3576开发板刚发布时,我第一时间拆箱上电——不是为了跑个Hello World,而是直接把Qwen2-0.5B的ONNX模型拖进RKNN Toolkit2里开始量化。很多人看到“RK3576”第一反应是“又一块国产AR…

2026/10/6 10:48:59

RK3576大模型量化实战:为何w8a8是比w4a16更优解

1. 为什么在RK3576上跑大模型必须谈w4a16和w8a8?——不是选配,是生存门槛RK3576这颗芯片刚发布时,我第一时间拆了三块开发板回来,不是为了刷Android14看HDMI有没有声音,也不是为了测ADB连不连得上Ubuntu——而是盯着它…

2026/10/6 10:48:59

卷积神经网络鸟类识别实验:数据准备到模型调优全流程

简介:一份基于卷积神经网络的鸟类识别实验报告,面向机器学习、深度学习领域的科研人员、学生及技术人员,尤其适合希望掌握细粒度图像分类模型构建与优化方法的读者。资源以单个docx文档呈现,压缩包大小1.36MB,内容完整…

2026/10/6 10:43:59

Visual C++ 6.0在Win10上的安装与兼容指南:老编译器的现代应用

简介:微软VC6.0是微软推出的经典C集成开发环境,安装包适配32位与64位系统,兼容Windows 7、Windows 8及Windows 10,适合需要搭建该开发环境的学生、教师以及维护旧项目的程序员。压缩包整体约52.52MB,包含2000个文件&am…

2026/10/5 6:32:56

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/6 4:01:51

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/5 17:38:27

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 0:03:23

MR25H40CDF+STM32F031C6工业级高可靠数据存储方案

1. 项目概述:为什么在工业现场非得用 MR25H40CDF 配 STM32F031C6 做数据存储?在工厂产线的 PLC 控制柜里、在风电变流器的散热片背面、在矿井监测终端的金属外壳下,你经常能看到一块指甲盖大小的黑色芯片——它既不是 Flash,也不是…

2026/10/6 0:03:23

MRAM+STM32工业断电数据保全实战指南

1. 项目概述:为什么在工业现场非得用 MR25H40CDF 配 STM32F031C6 做数据存储?在工厂产线的PLC柜里、在野外无人值守的环境监测终端里、在高速运转的包装机控制板上,你经常能看到一块指甲盖大小的黑色芯片,旁边贴着“MR25H40CDF”丝…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑