三角测量——用相机运动估计特征点的空间位置

引入

使用对极约束估计了相机运动后,接下来利用相机运动估计特征点的空间位置,使用的方法就是三角测量

三角测量

对极几何中的对极几何约束描述类似:
z 2 x 2 = R ( z 1 x 1 ) + t z_2x_2=R(z_1x_1)+t z2x2=R(z1x1)+t

经过对极约束的求解,现在已知R,t,我们想求解两个特征点的深度z1,z2。(在单目相机模型中,深度被抹去了,因此若想建图需要求解'z')

那么先对上式两侧左乘一个 x 2 ∧ x_2^{∧} x2∧(等价于叉乘 x 2 x_2 x2)得:
z 2 x 2 ∧ x 2 = 0 = R ( z 1 x 2 ∧ x 1 ) + x 2 ∧ t z_2x_2^{∧}x_2=0=R(z_1x_2^{∧}x_1)+x_2^{∧}t z2x2∧x2=0=R(z1x2∧x1)+x2∧t

该式左侧为零,右侧可看成 z 1 z_1 z1的一个方程,可以根据它直接求得 z 1 z_1 z1,之后再求 z 2 z_2 z2就很简单了。当然,由于噪声的存在,我们估得的R,t不一定精确使式子成立,所以更常见的做法是求最小二乘解 而不是直接的解。

如图所示,理论上 o 1 p 1 o_1p_1 o1p1会和 o 2 p 2 o_2p_2 o2p2相交于p点。但由于噪声 的存在,两条线可能会出现异面 ,即,两条线在两个平行的平面中,而两个平面互相平行。因此我们会选择两条线最近的的近似为p点,也就是最小二乘解

相关推荐
风象南5 小时前
普通人用AI加持赚到的第一个100块
人工智能·后端
牛奶6 小时前
2026年大模型怎么选?前端人实用对比
前端·人工智能·ai编程
牛奶6 小时前
前端人为什么要学AI?
前端·人工智能·ai编程
罗西的思考9 小时前
AI Agent框架探秘:拆解 OpenHands(10)--- Runtime
人工智能·算法·机器学习
冬奇Lab9 小时前
OpenClaw 源码精读(2):Channel & Routing——一条消息如何找到它的 Agent?
人工智能·开源·源码阅读
冬奇Lab9 小时前
一天一个开源项目(第38篇):Claude Code Telegram - 用 Telegram 远程用 Claude Code,随时随地聊项目
人工智能·开源·资讯
格砸11 小时前
从入门到辞职|从ChatGPT到OpenClaw,跟上智能时代的进化
前端·人工智能·后端
可观测性用观测云11 小时前
可观测性 4.0:教系统如何思考
人工智能
sunny86511 小时前
Claude Code 跨会话上下文恢复:从 8 次纠正到 0 次的工程实践
人工智能·开源·github
小笼包包仔11 小时前
OpenClaw 多Agent软件开发最佳实践指南
人工智能