自动驾驶相机坐标系转换2

坐标系转换过程

这张图非常经典,它把计算机视觉里从真实三维世界到二维像素成像的整个数学链路完整地串了起来。我们可以把它看作一个"数据流水线",从右向左,一步步解析坐标是如何转换的:

第一步:刚体变换(世界坐标系 → 相机坐标系)

  • 图中位置:最右侧部分。
  • 含义

这是将物体在真实世界中的位置( Xw ,Yw ,Zw )转换为相机"眼中"的位置( Xc ,Yc ,Zc )。

就像你拿着相机去拍一个物体,物体本身没动,但相机动了(或者相机不动,物体动了)。这个变换只涉及旋转(R)平移(T),不改变物体的形状和大小,所以叫"刚体变换"。

  • 数学表达

使用一个 4×4 的矩阵(外参矩阵)来表示:

这里的 R 是旋转矩阵, T 是平移向量。这两个参数合称为相机外参

第二步:透视投影(相机坐标系 → 图像坐标系)

  • 图中位置:中间部分。
  • 含义

这是核心步骤,模拟了小孔成像 原理。将三维的相机坐标投影到二维的成像平面上( x ,y )。

在这个步骤中,三维信息丢失了深度( Z 轴信息被压缩),产生了"近大远小"的透视效果。

  • 数学表达

利用相似三角形原理,投影矩阵是一个 3×4 的矩阵:

这里的 f 是焦距。注意等式左边的 Zc 是为了配合齐次坐标而引入的比例因子。

第三步:二次转换/离散化(图像坐标系 → 像素坐标系)

  • 图中位置:最左侧部分。
  • 含义

图像坐标系是以物理单位(如毫米)度量的,原点在光轴中心。而像素坐标系是以像素为单位,原点在图像左上角。

这一步涉及两个操作:

缩放 :将物理尺寸转换为像素数量( dx ,dy 代表每个像素的物理尺寸)。

平移 :将原点从中心移到左上角( u 0,v0 是主点坐标)。

  • 数学表达

使用内参矩阵进行变换:

这里的 dx 1 和 dy 1 通常被记作 fxfy (以像素为单位的焦距)。

总结:完整的成像公式

图中下方展示了将上述三个步骤合并后的终极公式

图中关键结论解析:

  • 透视投影矩阵 ( P 3×4 ):图中将内参矩阵和外参矩阵相乘,统称为透视投影矩阵。它直接建立了世界坐标和像素坐标的联系。
  • 内参与外参
    • 内参(Intrinsic):只与相机内部结构有关(焦距、传感器尺寸、主点),相机造好后基本不变。
    • 外参(Extrinsic):描述相机在空间中的姿态(旋转、平移),随相机移动而改变。

这张图完整展示了从物理世界到数字图像的几何映射全过程,是相机标定、三维重建等任务的理论基础。

相关推荐
我唔知啊8 分钟前
不是让 AI 写代码,我是在指挥 AI 干活:一套打磨出来的 AI 编程工作流
人工智能
ZzT12 分钟前
在 GitHub 上 @一下 claude,它自己把 issue 改成 PR
人工智能·开源
不加辣椒42 分钟前
第15章 上下文窗口管理与长文本策略
人工智能
牛奶2 小时前
AI 能赚钱了——但赚的不是你
人工智能·ai编程·nvidia
凌杰2 小时前
AI 学习笔记:研究方法的演变
人工智能
半盏药香2 小时前
由于jinja2的starlette版本过高引发的问题:500 Server Error TypeError: unhashable type: 'dict'
人工智能
阿里云大数据AI技术2 小时前
MiniMax M3、Kimi K2.7 Code来啦!PAI已支持一键部署,开源前沿触手可及
人工智能·agent
百度Geek说2 小时前
AI Coding 的底层框架:一切优化都是在对抗熵增
人工智能
Java研究者2 小时前
AI智能体研发 | 什么是OpenAI API协议
人工智能·大模型·openai·api·agent·智能体
只是没名字3 小时前
Codex CLI Windows 新手安装教程:从 Node.js 到首次运行
人工智能