3D-2D: PnP ——SLAM14讲内容
- 背景
- 直接线性变换DLT
- P3P
- Bundle Adjustment
背景 PnP(Perspective-n-Point)是求解3D 到2D 点对运动的方法。它描述了当我们知道n个3D空间点以及它们的投影位置时,如何估计相机所在的位姿。
PnP 问题有很多种求解方法,例如用三对点估计位姿的P3P[45],直接线性变换(DLT),EPnP(Efficient PnP)[46],UPnP[47] 等等)。此外,还能用非线性优化的方式,构建最小二乘问题并迭代求解,也就是万金油式的Bundle Adjustment。我们先来看DLT,然后再讲Bundle Adjustment。
文章图片
直接线性变换DLT 考虑某个空间点P,它的齐次坐标为
文章图片
此时相机的位姿R; t 是未知的。图像I1 中,投影到特征点
文章图片
归一化平面:f=1
我们定义增广矩阵
文章图片
为一个3 x 4 的矩阵,包含了旋转与平移信息
文章图片
文章图片
文章图片
P3P
文章图片
文章图片
文章图片
文章图片
文章图片
文章图片
Bundle Adjustment 【3D-2D: PnP ——SLAM14讲内容】
文章图片
除了使用线性方法之外,我们可以把PnP 问题构建成一个定义于李代数上的非线性最小二乘问题。前面说的线性方法,往往是先求相机位姿,再求空间点位置,而非线性优化则是把它们都看成优化变量,放在一起优化。这是一种非常通用的求解方式,我们可以用它对PnP 或ICP 给出的结果进行优化。在PnP 中,这个Bundle Adjustment 问题,是一个最小化重投影误差(Reprojection error)的问题。我们在本节给出此问题在两个视图下的基本形式,然后在第十讲讨论较大规模的BA问题。
文章图片
文章图片
文章图片
文章图片
文章图片
文章图片
文章图片
文章图片
文章图片
推荐阅读
- 概率机器人笔记|概率机器人(测距仪的地图匹配模型)
- Cartorgrapher源码阅读04- PoseExtrapolator-前端匹配-位姿外插器
- Cartographer源码阅读03-local_trajectory_builder.cc(2)-前端匹配
- Linux|移植安装cartographer_ros
- SLAM|3D Vision、SLAM求职宝典 | 图像处理篇(C)
- ROS|思岚rplidar A1激光点云数据读取
- 三维空间刚体运动1(旋转矩阵与变换矩阵)
- SLAM学习(Solidworks2018导出小车URDF模型下遇到的问题)