slam十四讲,第五讲中相机坐标系,像素平面坐标系,世界坐标系,归一化坐标系总结

本文总结了SLAM中的相机坐标系、像素平面坐标系、世界坐标系和归一化坐标系之间的转换关系。通过内参矩阵K和外参(R,t)将世界坐标Pw转换为像素坐标Puv,涉及到的关键步骤包括:世界坐标到相机坐标、相机坐标到归一化坐标、归一化坐标到物理平面坐标以及物理平面到像素平面的转换。此外,还解释了内参K在相机标定中的作用和物理平面与像素平面的基本单位转换。" 123394529,11336150,中国盐酸林可霉素市场分析报告:行业现状与未来趋势,"['医药行业', '市场调研', '药物分析', '抗生素', '制药企业']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#笔记,方便日后忘记回看,仅总结,具体推导回看十四讲
先上图:
在这里插入图片描述
如图,现实世界中有一个P点和一个相机(光心),描述这个P点的空间坐标首先得有一个坐标系,那么以光心为原点O建一个坐标系,叫相机坐标系
那么就可以在相机坐标系下,设P坐标(x,y,z)和P的投影点P’(x’,y’,z’)。值得一提的是,P’(x’,y’,z’)坐落在物理成像平面像素平面
物理成像平面,像素平面是二维的,他们的坐标系并不一样:
物理成像平面在o’x’y’平面上;
像素平面的原点在那个黑灰色图的左上角(图片的左上角),横轴向右称为u轴,纵轴向下称为v轴。
这样就得到了P’的像素坐标P(u,v),称为Puv。

上面提到了相机坐标系,物理成像平面,像素平面,我都快绕蒙了(一会还有个P的世界坐标),那先讲讲他们的转换关系吧,这里只给出最终的转换公式,具体推导还是回去看十四讲吧…
请添加图片描述
在这里插入图片描述其中的K是内参;R,t是外参;T可以看作是R,t的另一种表现形式(通过增加维度实现R,t整合得到的一个矩阵,目的是牺牲维度获取线性度,具体看slam十四讲的第三讲)

这样就得到了三个坐标的转换关系了

<think>好的,用户现在想了解视觉SLAM中特征点坐标系的建立方法。首先,我需要回忆一下视觉SLAM的基本流程,特别是在特征点处理方面的知识。视觉SLAM通常包括传感器数据获取、前端视觉里程计、后端优化、回环检测地图构建等步骤,而特征点的提取坐标系转换是其中的关键部分。 用户提到了特征点坐标系的建立方法,我需要从不同的坐标系转换入手。首先,传感器坐标系,比如相机坐标系,如何转换到基础坐标系?这里可能需要涉及相机模型,比如针孔模型,以及内参矩阵。内参矩阵包括焦距主点坐标,用来将3D点投影到图像平面。 接下来是图像坐标系相机坐标系的转换。特征点的像素坐标需要转换成相机坐标系下的3D坐标,这时候可能需要使用到深度信息,比如通过双目相机或者RGB-D相机获取深度。如果没有深度,可能需要通过三角测量或者运动恢复结构(SFM)来估计。 然后是相机坐标系到基础坐标系的转换。这部分通常涉及到外参矩阵,也就是相机的位姿,包括旋转矩阵平移向量。在SLAM系统中,相机的位姿会随时间变化,需要通过前端视觉里程计或后端优化来估计。 另外,基础坐标系世界坐标系的转换可能涉及到初始化的过程,比如选择第一帧作为世界坐标系的原点,或者通过回环检测来调整全局一致性。这里需要解释不同坐标系之间的关系,比如如何通过变换矩阵或李代数表示位姿。 用户提供的引用中有提到激光雷达坐标系的转换,虽然主要是视觉SLAM的问题,但可能可以类比,比如使用URDF模型或者静态变换发布器来处理静态坐标变换。不过视觉SLAM中更多是动态估计相机位姿,所以需要强调外参的在线估计。 还需要考虑特征点的表示形式,比如用齐次坐标,以及在优化过程中如何利用重投影误差来优化位姿地图点的坐标。这部分可以提到光束法平差(Bundle Adjustment)作为例子。 可能用户还关心实际应用中的实现细节,比如在ORB-SLAM中的处理方式,或者如何融合其他几何特征如线、面,甚至语义信息。不过用户的问题集中在特征点坐标系的建立,所以应重点放在坐标转换步骤上,避免偏离主题。 总结回答结构应该分步骤,从特征点提取开始,到各个坐标系的转换,最后到优化过程。需要确保每个步骤都解释清楚,使用数学公式时遵循用户的格式要求,如内参矩阵用$$...$$,变量用$...$。 另外,用户示例中提到了生成相关问题,我需要根据内容提出相关问题,比如不同坐标系的转换方法、特征深度估计、外参标定、多传感器融合等,这些都能帮助用户进一步深入学习。 需要检查是否引用了提供的参考文献,比如引用[1]提到几何特征语义特征的融合,可能在相关问题中涉及。引用[2]中的坐标系转换方法,虽然主要是激光雷达,但可以类比到相机的外参标定,比如使用URDF模型,可以适当提及。 最后,确保回答符合用户的要求:结构清晰,分步骤,使用正确LaTeX格式,引用标记,以及相关问题的生成。避免使用Markdown,用自然的中文段落,并保持口语化。</think>视觉SLAM中特征点坐标系的建立方法可分为以下关键步骤: ### 一、特征点坐标系的建立流程 1. **图像坐标系相机坐标系** - 特征点首先以像素坐标$(u,v)$形式存在于图像坐标系中 - 通过相机内参矩阵$K$转换到相机坐标系: $$ K = \begin{bmatrix} f_x & 0 & c_x \\ 0 & f_y & c_y \\ 0 & 0 & 1 \end{bmatrix} $$ - 反向投影公式:$x = K^{-1} \cdot [u\ v\ 1]^T$,得到归一化平面坐标$(x,y,1)$ 2. **深度信息获取** - 通过双目视差或RGB-D传感器获得深度值$z$,构成三维坐标$(x,y,z)$ - 单目系统需通过运动恢复结构(SFM)估计深度[^1] 3. **相机坐标系到基础坐标系** - 通过外参矩阵$T_{cb} \in SE(3)$转换: $$ T_{cb} = \begin{bmatrix} R & t \\ 0 & 1 \end{bmatrix} $$ - 其中$R$为旋转矩阵,$t$为平移向量,可通过手眼标定或在线优化获得 4. **基础坐标系世界坐标系** - 初始位姿通常设定为$T_{wb} = I$ - 通过视觉里程计持续更新位姿估计: $$ P_w = T_{wb} \cdot T_{bc} \cdot P_c $$ 其中$P_w$为世界坐标系坐标,$P_c$为相机坐标系坐标 ### 二、关键技术细节 1. **特征表示** - 使用齐次坐标表示:$p = [X\ Y\ Z\ 1]^T$ - 支持李代数$\mathfrak{se}(3)$优化计算 2. **坐标变换验证** - 通过重投影误差验证准确性: $$ e = \| \pi(K \cdot T \cdot P_w) - p_{obs} \| $$ 其中$\pi$为投影函数,$p_{obs}$为观测像素坐标 3. **多传感器融合** - 激光雷达等传感器可提供辅助约束(如引用[2]所述坐标系转换方法) - 联合优化时可建立统一的世界坐标系 ### 三、典型应用场景 ```python # 坐标系转换示例代码 def cam_to_world(p_c, T_cw): """ :param p_c: 相机坐标系下的3D点(Nx3 numpy数组) :param T_cw: 相机世界的变换矩阵(4x4) :return: 世界坐标系下的3D点 """ homogeneous = np.hstack((p_c, np.ones((p_c.shape[0],1)))) return (T_cw @ homogeneous.T).T[:,:3] ```
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值