企业网站手机版源码下载,百度网站地图文件,公司简介ppt模板范文免费,线下推广活动策划方案文章目录 08 计算相机运动8.1 提取特征点8.2 对极几何8.2.1 几个矩阵8.2.2 相机坐标系与归一化坐标系8.2.3 三角测量 8.3 PnP: 3D-2D8.4 ICP#xff1a;3D-3D8.5 总结 08 计算相机运动
8.1 提取特征点
读取图像 -- 提取角点 -- 计算各角点的描述子 -- 匹配描述子… 文章目录 08 计算相机运动8.1 提取特征点8.2 对极几何8.2.1 几个矩阵8.2.2 相机坐标系与归一化坐标系8.2.3 三角测量 8.3 PnP: 3D-2D8.4 ICP3D-3D8.5 总结 08 计算相机运动
8.1 提取特征点
读取图像 -- 提取角点 -- 计算各角点的描述子 -- 匹配描述子计算汉明距离– 根据汉明距离去除误匹配点对 -- 绘制结果
根据匹配好的像素点对估计相机的运动。
1如果只有两个单目图像得到 2D-2D 间的关系用对极几何解决
2如果匹配的是 帧2D和地图3D 则得到 3D-2D 的关系通过 PnP 求解
3如果匹配的是 RGB-D 图像则得到 3D-3D 间的关系用 ICP 求解。
8.2 对极几何
8.2.1 几个矩阵
具体推导见笔记《视觉里程计 1》。 x 2 T t ∧ R x 1 0 \boldsymbol{x_2^T}\boldsymbol{t}^{\wedge}\boldsymbol{R x_1}0 x2Tt∧Rx10
这就是对极约束其中 x 1 \boldsymbol{x}_1 x1 为归一化坐标。
带入像素坐标得 p 2 T K − T t ∧ R K − 1 p 1 0 (6-9) \boldsymbol{p_2^TK^{-T}}\boldsymbol{t}^{\wedge}\boldsymbol{RK^{-1}p_1}0 \tag{6-9} p2TK−Tt∧RK−1p10(6-9)
至此容易看出我们只需要知道两张图的像素坐标以及相机内参即可求出相机运动 R \boldsymbol{R} R、 t \boldsymbol{t} t。
将中间部分分别记为基础矩阵 F \boldsymbol{F} F 和本质矩阵 E \boldsymbol{E} E即 E t ∧ R \boldsymbol{E}\boldsymbol{t}^{\wedge}\boldsymbol{R} Et∧R F K − T E K − 1 \boldsymbol{F}\boldsymbol{K^{-T}}\boldsymbol{E}\boldsymbol{K^{-1}} FK−TEK−1 x 2 T E x 1 p 2 T F p 1 0 (6-10) \boldsymbol{x_2^T}\boldsymbol{E}\boldsymbol{x_1}\boldsymbol{p_2^T}\boldsymbol{F}\boldsymbol{p_1}0 \tag{6-10} x2TEx1p2TFp10(6-10)
根据以上推导相机位姿估计问题简化为以下两步 根据匹配点的像素坐标和相机内参求出本质矩阵 E \boldsymbol{E} E 由本质矩阵求出 R \boldsymbol{R} R 和 t \boldsymbol{t} t。
同理单应矩阵可用类似方法求解。
本质矩阵自由度为 5理论上 5 对点即可求解实际采用八点法而单应矩阵 4 对点即可求解。
8.2.2 相机坐标系与归一化坐标系
相机内参 [ f x 0 c x 0 f y c y 0 0 1 ] \left[\begin{array}{ccc} f_{x} 0 c_{x} \\ 0 f_{y} c_{y} \\ 0 0 1 \end{array}\right] fx000fy0cxcy1
其中 c x c y c_xc_y cxcy 是相机光心也就是相机的光学中心在图像平面上的 x y xy xy 坐标 f x f y f_xf_y fxfy 是焦距。
像素坐标 ( u , v ) (u, v) (u,v) 到归一化坐标 ( x , y ) (x, y) (x,y) 的转换 x ( u − c x ) / f x y ( v − c y ) / f y x (u - c_x) / f_x \\ y (v - c_y) / f_y x(u−cx)/fxy(v−cy)/fy
归一化坐标 ( x , y ) (x, y) (x,y) 到像素坐标 ( u , v ) (u, v) (u,v) 的转换 u ( x ∗ f x ) c x v ( y ∗ f y ) c y u (x * f_x) c_x \\ v (y * f_y) c_y u(x∗fx)cxv(y∗fy)cy
8.2.3 三角测量
即根据计算得到的 R t \boldsymbol{R}\boldsymbol{t} Rt 恢复出尺度 s s s进而求出三维空间坐标。 s 2 x 2 ∧ x 2 0 s 1 x 2 ∧ R x 1 x 2 ∧ t s_2\boldsymbol{x_2}^{\wedge}\boldsymbol{x_2}0s_1\boldsymbol{x_2}^{\wedge}\boldsymbol{R}\boldsymbol{x_1}\boldsymbol{x_2}^{\wedge}\boldsymbol{t} s2x2∧x20s1x2∧Rx1x2∧t
8.3 PnP: 3D-2D
简单来说PnP 位姿估计就是通过几个已知坐标(世界坐标)的特征点结合他们在相机照片中的成像(像素坐标)求解出相机所在的世界坐标以及旋转角度。
主要有三种求解方法
直接线性变换DLT至少需要 6 对点P3P3 对点即可当给定的配对点多于 3 对时难以利用更多的信息。非线性优化即 BA
针对 BA 求解以 g2o 为例以相机位姿和 3D 点坐标为顶点以对应的像素坐标为观测值。
8.4 ICP3D-3D
针对一组匹配好已知对应关系的 3D 点可用 ICP 算法求解。与激光 SLAM 中的 ICP 不同激光点云数据特征不够丰富无法知道两个点集之间的匹配关系只能认为距离最近的两个点为同一个再逐步迭代。 SVD 方法 非线性优化
8.5 总结
一、基础矩阵、单应矩阵用像素坐标求解本质矩阵、三角测量用归一化坐标求解。
单应矩阵直接描述了图像坐标之间的变换 p 2 H p 1 \boldsymbol{p}_2 \boldsymbol{H}\boldsymbol{p}_1 p2Hp1
二、在 ORB-SLAM 中这几种方法的顺序为 提取两张图像的匹配点利用对极几何计算 H \boldsymbol{H} H 矩阵和 F \boldsymbol{F} F 矩阵从而恢复 R \boldsymbol{R} R、 t \boldsymbol{t} t 用三角测量计算各关键点对应的 3D 坐标 跟踪丢失后机器人就需要回到原来经过的位置找匹配帧这个匹配帧的关键点对应的 3D 坐标是已知的之前已经求出利用这些 3D 点和机器人当前图像关键点像素坐标就构成了 PnP 问题从而可计算出当前的 R \boldsymbol{R} R、 t \boldsymbol{t} t。