视觉slam直接法,特征点法
转:https://blog.csdn.net/zhubaohua_bupt/article/details/74011005
视觉SLAM的核心是求取相机的位姿并建图。
在优化位姿时,其思想是构造一个关于位姿变化的误差函数,当这个误差函数最小时,认为此时估计的位姿最优。
无论是直接法还是特征点法,位姿的迭代优化都是是求解一个最小二乘问题,
在优化位姿时
<1>直接法 最小二乘的误差函数是,前后帧所有参与求解位姿像素块的灰度差。通常这一步又称之位图像对齐。
<2>特征点法 最小二乘的误差函数是,重投影误差(PnP,地图点到当前图像的投影点与匹配点的距离差和)
本篇博客是介绍的是,SLAM优化位姿时,误差函数对位姿雅可比矩阵的推导。
误差函数对于位姿扰动的雅可比矩阵,决定着下一步最优迭代估计时,位姿增量的方向。因此十分重要。
下面我们先以直接法雅可比矩阵开始推导,特征点法类似。
图像最后的雅可比矩阵可以由,所有参与直接法像素点雅可比矩阵的叠加形成。
1 直接法:
至此,我们推导出了直接法中,误差函数对于李代数位姿的雅克比矩阵。
2 特征点法
在特征点法的SLAM中,在PnP优化位姿时,误差函数是重投影误差。
PnP特征点法与直接法的雅克比矩阵有什么不同呢?还得从投影过程说起。PnP是什么?
这个过程可用图像表示如下
PnP的过程可描述如下,一堆世界坐标系下的三维地图点P(X,Y,Z),
<1> 首先经过我们要优化的位姿转换至当前帧的坐标系下P’(X’,Y’,Z’),
<2> 然后透过相机内参投影至当前帧图像坐标系下p’(x’,y’),
<3> 最后缩小地图点在当前图像帧上投影点p’与匹配点pmatch(xmatch,ymatch)距离误差,来优化位姿。
上述的过程就是PnP投影过程,实际的优化有若干次这样的迭代。
视觉slam直接法,特征点法相关推荐
- SVO: 视觉SLAM中特征点法与直接法结合
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 前面的话 VSLAM 是利用多视图几何理论,根据相机拍摄的图像信息 ...
- SLAM | 视觉SLAM中特征点法与直接法结合:SVO
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 前面的话 VSLAM 是利用多视图几何理论,根据相机拍摄的图像信息对相机进行定位并同时构建周围环境地图 ...
- 视觉SLAM十四讲学习笔记-第七讲-视觉里程计-特征点法和特征提取和匹配实践
专栏系列文章如下: 视觉SLAM十四讲学习笔记-第一讲_goldqiu的博客-CSDN博客 视觉SLAM十四讲学习笔记-第二讲-初识SLAM_goldqiu的博客-CSDN博客 视觉SLAM十四讲学习 ...
- 视觉SLAM⑦---视觉里程计Ⅰ(特征点法、2D-2D对极几何)
目录 7.0 本章主要目标 7.1 特征点法 7.1.1 特征点 7.1.2 ORB特征 7.1.3 特征匹配 7.2 实践:特征提取和匹配 7.2.1 OpenCV的ORB特征 7.2.2 手写OR ...
- 【视觉SLAM十四讲】视觉里程计—特征点法
本文为视觉 SLAM 学习笔记,讲解视觉里程计中的特征点法. 本讲内容概要 图像特征的意义,在单幅及多幅图像中提取特征点. 对极几何的原理,利用对极几何的约束恢复图像间相机的三维运动 PnP 问题,利 ...
- 视觉SLAM直接法与特征法及其在多传感融合中的思考
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 本文由知乎作者Welson WEN授权转载,不得擅自二次转载. 原文链接:https://zhuanl ...
- 视觉SLAM——ORB特征
一.OpenCV 的ORB 特征--slambook2/ch7/orb_ cv.cpp #include <iostream> #include <opencv2/core/core ...
- 【视觉SLAM十四讲】第八讲 光流法与直接法
特征点法的缺点: 1. 关键点的提取与描述子的计算非常耗时.实践当中,SIFT目前在CPU上是无法实时计算的,二ORB页需要近20ms的计算.如果整个SLAM以30毫秒/帧的速度运行,那么一大半实践都 ...
- 【视觉SLAM入门】一些关于视觉SLAM十四讲的重要基础概念
文章目录 高翔. *视觉SLAM十四讲 从理论到实践*. 电子工业出版社, 2017. Print. 第二章:初识SLAM 第三章:三维空间刚体运动 第四章:李群与李代数 第五章:相机与图像 第六章: ...
- 视觉SLAM十四讲第八讲
第 8 讲 视觉里程计 2 本节目标 理解光流法跟踪特征点的原理. 理解直接法是如何估计相机位姿的. 使用 g2o 进行直接法的计算. 一.直接法 特征点法拥有如下的缺点: 1..关键点的提取与描述子 ...
最新文章
- 用机器学习还原《隐秘的角落》那些被修改的台词
- oracle列名无效字符,案例学习Oracle错误:ORA-00904 invalid column name
- ListT 循环修改其中的数据
- 产生随机数的几种方法
- [视频教程] ubuntu系统下安装最新版的MySQL
- 二维树状数组模板(区间修改+区间查询)
- php文件怎么设置隐藏显示代码,php文件隐藏的方法
- 有监督学习问题的分类:回归问题和分类问题
- IDEA的第一个java程序
- 如何不运用第三方变量实现两个数的交换
- 调用DLL找不到函数名或者函数乱码问题
- HDU4565 So Easy!【矩阵快速幂】
- GB与BIG5内码转换COM原代码
- 2021的科技卦象·雷·到元宇宙玩“躲猫猫”
- vue数据传递--父传子-方法传递
- 全返模式是怎样玩的?解析购盈利模式
- 【NOIP2017提高A组集训10.25】摘Galo (树形dp)
- PHP接口API文档转换SDK【神器】
- matlab社会统计学,深扒!低调的就业大热——统计学!
- day1(Python爬虫:天气