SLAM中提到的相机位姿到底指什么?

不小心又绕进去了,所以掰一下。

以我个人最直观的理解,假设无旋转,相机在世界坐标系的(5,0,0)^T的位置上,所谓"位姿",应该反映相机的位置,所以相机位姿应该如下:

cpp 复制代码
    Eigen::Matrix4d T = Eigen::Matrix4d::Identity(); // 假设T是一个4x4的矩阵,初始化为单位矩阵
    T(0, 3) = 5.0;

但是根据我对位姿的这个理解,再结合高翔博士的《十四讲》第五章,第二版P99,世界坐标系的点变换到相机坐标系,是直接"左乘""相机位姿",Pc=T*Pw,那么这就出现了一些小问题

问题点:相机坐标是(5,0,0)^T,世界坐标点位置是(100,0,0)^T,相机坐标系下,这个点肯定是100-5,是(95,0,0)^T,但是又因为相机"位姿"是(5,0,0)^T,直接左乘相机"位姿"就得到了第一个结果"Pc=105 0 0",这明显和预期不一样,按照这种T的声明与定义,需要左乘T的逆才能得到预期的结果"Pc3 = 95 0 0 1"(齐次)

所以高翔博士提到的位姿是可以直接左乘的,和我认为的位姿是逆的关系。

根据习惯定义,想把Pw转换为Pc,应该是Pc=Tcw*Pw,高翔博士称为位姿的是Tcw。

根据主观习惯,相机在世界坐标系的位姿应该是Twc。想获得Pc应该是Pc=Twc^(-1)*Pw。

所以,我们产生了两种位姿描述。哪一种是正确的呢?很遗憾,我目前没有答案,网上搜到的一些关于位姿的解释则更加"和稀泥",Tcw和Twc两种都可以叫位姿。根据有限的学识,我只能说我们清楚什么变换能干什么,能通过调整用法获得自己想要的结果就好,个别说法不能较真。

相关推荐
啊阿狸不会拉杆1 分钟前
《计算机视觉:模型、学习和推理》第 6 章-视觉学习和推理
人工智能·学习·算法·机器学习·计算机视觉·生成模型·判别模型
道法自然|~4 分钟前
BugCTF猪圈密码
算法
52Hz1184 分钟前
力扣33.搜索旋转排序数组、153.寻找排序数组中的最小值
python·算法·leetcode
DeepModel6 分钟前
【回归算法】高斯过程回归详解
算法·回归
古译汉书15 分钟前
【IoT死磕系列】Day 3:学习HTTP!实战:STM32手写GET请求获取天气实战(附源码+八股文)
数据结构·stm32·物联网·网络协议·学习·算法·http
喜欢吃燃面20 分钟前
基础算法:枚举(上)
c++·学习·算法
郝学胜-神的一滴28 分钟前
计算思维:数字时代的超级能力
开发语言·数据结构·c++·人工智能·python·算法
m0_5312371729 分钟前
C语言-数组练习
c语言·开发语言·算法
识君啊34 分钟前
Java 动态规划 - 力扣 零钱兑换与完全平方数 深度解析
java·算法·leetcode·动态规划·状态转移
xiaoye-duck36 分钟前
《算法题讲解指南:优选算法-滑动窗口》--09长度最小的子数串,10无重复字符的最长字串
c++·算法