本章整理自高翔的SLAM十四讲之《直接法的原理与实现》以及PAMI上的《Direct Sparse Odometry》

1

之前总结的方法都需要先从图片中提取特征点并进行匹配,然后进行优化求解,这类方法称为特征法间接法。由于提取、匹配的过程中耗时很大,因此有人提出是否能不计算关键点或描述子,直接根据图像的像素信息来计算相机运动,这类方法称为直接法。随着一批不需提取特征的方法,如LSD(选取整幅图像中有梯度的部分来采用直接法,这种方法称为半稠密方法(simi-dense)),SVO(选取关键点来采用直接法,这类方法称为稀疏方法(sparse)),直接法渐露其自身优势。

1.1间接法与直接法的区别:


除了提取和匹配耗时,在使用特征点时,也忽略了除特征点以外的所有信息,因此丢弃了很多可能有用的图像信息.
间接法通过最小化几何误差geometric error)(因为预先得到的点或光流向量都是几何度量,常用的有重投影误差(projection error)等)来进行优化从而得到相机运动;直接法通过最小化测量误差(photometirc error,即像素之间的误差).直接法的好处:直接法让单独一个点不具备识别意义,而是将大量的点组织起来,因此它的表达是一种细粒度的几何表示。

1.2 直接法的基本假设

同一空间三维点在各个视角下测到的灰度值不变(因此假设所在平面是漫反射,没有遮挡,没有光照变化);

1.3 直接法原理


I1(Cpi) I_1(Cpi)与 I2(CRpi+t) I_2(CRp_i+t)分别为pi在图像对应点的灰度值。
随后用非线性优化求解最小测量误差J,得到目标函数:

minJ=∑t=1N||I1(Cpi)−I2(C(Rpi+t))||22

\min J = \sum_{t=1}^N||I_1(Cp_i)-I_2(C(Rp_i+t))||^2_2(1)
用 ξ \xi表示相机位姿[R,t;0,1]对应的李代数,则:
Rpi+t=exp(ξ) Rp_i+t = exp(\xi )
上式的单个误差项:
ei e_i为 I1(Cpi)−I2(Cexp(ξ)pi I_1(Cp_i)-I_2(Cexp(\xi)pi(2)
如何求解这个目标函数,可以用
1>梯度下降法
则 Ji=∂ei∂ξ J_i = \frac {\partial e_i}{\partial \xi} (3)
2>高斯牛顿法
(4)
这里的 δξ∗ \delta \xi^*是 ξ \xi的增量
如何求(3)呢:
可以令:空间三维点坐标 q=exp(ξ\^)p q=exp(\xi \^)p;(从世界坐标系到相机坐标系)
像素点坐标:u = Cq(C为相机内参数;表示从相机坐标系到像素坐标系)

三个导数分别代表(从左往右)图像对像素的导数,像素对空间点的导数,空间点对位姿的李代数的导数。
其结果分别为:

第一个是图像对像素的求导,相邻灰度值求导;
第二个可以根据u=Cq中的
u=fxxz−cx u = \frac{f_x x}{ z}-c_x
v=fyyz−cy v = \frac{f_y y}{ z}-c_y
也容易求得;
第三个比较难,基本做法是对其做一个左微扰,具体操作是先左乘一个 exp(δξ^) exp(\delta \hat\xi ),再减去本身,最后除以 δξ \delta\xi

1.4分类

a.
Sparse+Indirect:非直接法(即特征点法)SLAM,基本套路是:特征点+匹配+优化方法求解最小化重投影误差。
典型代表:
Mono-SLAM,PTAM,ORB-SLAM,以及现在大部分SLAM
b.
Dense+Indirect:
基本方法:光流场的平滑度+几何误差(光流求导)
典型代表
DTAM;
LSD-SLAM;
DSO
直接法评价:
It is expected to be more robust to motion blur or poorly-textured environments.a direct method its
performance can be severely degraded by unmodeled effects like rolling shutter or non-lambertian reflectance(ORBSLAM2中评价)

SLAM笔记(六)直接法介绍相关推荐

  1. Django笔记六之外键ForeignKey介绍

    这一篇笔记介绍 Django 系统 model 的外键处理,ForeignKey 以及相应的处理方法. 这是一种一对多的字段类型,表示两张表之间的关联关系. 本篇笔记的目录如下: on_delete ...

  2. 视觉SLAM笔记(41) 光流

    视觉SLAM笔记(41) 光流 1. 光流 2. LK光流 1. 光流 直接法是从光流演变而来的 它们非常相似,具有相同的假设条件 光流描述了像素在图像中的运动 而直接法则附带着一个相机运动模型 为了 ...

  3. 视觉SLAM笔记(40) 特征点的缺陷

    视觉SLAM笔记(40) 特征点的缺陷 1. 特征点估计相机运动的缺陷 2. 克服使用特征点缺陷 3. 思路分析 4. 直接法 1. 特征点估计相机运动的缺陷 之前介绍了使用特征点估计相机运动的方法 ...

  4. MongoDB学习笔记(一) MongoDB介绍及安装

    系列目录 MongoDB学习笔记(一) MongoDB介绍及安装     MongoDB学习笔记(二) 通过samus驱动实现基本数据操作     MongoDB学习笔记(三) 在MVC模式下通过Jq ...

  5. 吴恩达《机器学习》学习笔记六——过拟合与正则化

    吴恩达<机器学习>学习笔记六--过拟合与正则化 一. 过拟合问题 1.线性回归过拟合问题 2.逻辑回归过拟合问题 3.过拟合的解决 二. 正则化后的代价函数 1.正则化思想 2.实际使用的 ...

  6. Typescript 学习笔记一:介绍、安装、编译

    前言 整理了一下 Typescript 的学习笔记,方便后期遗忘某个知识点的时候,快速回忆. 为了避免凌乱,用 gitbook 结合 marketdown 整理的. github地址是:ts-gitb ...

  7. 视觉SLAM笔记(60) 建图

    视觉SLAM笔记(60) 建图 1. 概述 2. 用处 1. 概述 建图(Mapping),本应该是 SLAM 的两大目标之一 因为 SLAM 被称为同时定位与建图 之前讨论的都是定位问题,包括通过特 ...

  8. 视觉SLAM笔记(58) 字典

    视觉SLAM笔记(58) 字典 1. 字典的结构 2. 创建字典 1. 字典的结构 按照前面的介绍,字典由很多单词组成,而每一个单词代表了一个概念 一个单词与一个单独的特征点不同 它不是从单个图像上提 ...

  9. 视觉SLAM笔记(30) 特征点法

    视觉SLAM笔记(30) 特征点法 1. 特征点法 2. 特征点 3. ORB 特征 3.1. FAST 关键点 3.2. BRIEF 描述子 4. 特征匹配 1. 特征点法 视觉 SLAM 主要分为 ...

  10. 视觉SLAM笔记(26) 状态估计问题

    视觉SLAM笔记(26) 状态估计问题 1. 噪声 2. 噪声影响 3. 最大后验与最大似然 4. 最小二乘 1. 噪声 在前面介绍了经典 SLAM 模型的运动方程和观测方程 现在已经知道,方程中的位 ...

最新文章

  1. ehcache.xsd
  2. BC:带你温习并解读《中国区块链技术和应用发展白皮书》—概述
  3. 《高性能JavaScript》第一章 加载和执行
  4. Connect 2016 白话脱口秀将在B站直播,我们的口号是quot; 微软大法好quot;
  5. Linux 目录详细说明
  6. 前端培训什么机构好?有什么好的学习方法能少走弯路?
  7. web网页设计实例作业 ——二手书店-大学生书店(13页) 学生个人网站作业模板 简单个人网页制作
  8. 传输层协议和应用层协议及它们之间的关系(端口)
  9. php队列处理mysql_php队列处理:php消息队列实现原理(图文)
  10. Arcgis空间校正操作
  11. 监控不同外挂盘的硬盘io、查看linux命令运行时间和记录、iostat命令查看硬盘io、查看硬盘io的几种方法、定位到硬盘io高的dm
  12. java安卓软件开发_9大安卓app开发软件盘点,0基础自己也能开发开发安卓app
  13. [NOI2008] 糖果雨
  14. Linux内核升级(降级)
  15. mysql集群方案参考
  16. yp北京理工 拓扑排序+最短路(更新中re)
  17. 腰椎间盘突出可否睡硬板床
  18. SSD固态硬盘安装后:AS SSD Benchmark检测pciide-BAD解决办法
  19. 维克生产管理软件 v1.12 免费
  20. eprint自定义打印工具

热门文章

  1. 7-90 社交集群 (30分)--详解
  2. Java开发谈:java如何开发安卓软件
  3. Android中播放本地SD卡中歌曲须要的加入的权限
  4. 用unity做的简单小游戏------“小球酷跑“
  5. win10系统连接wifi后可以上网但是显示【无Internet,安全】解决 and Maple初始化失败问题
  6. 企业级开发平台的演进
  7. 个人开发者一分钟接入微信支付宝支付
  8. linux防火墙过滤规则
  9. 谈谈ChatGPT 背后的核心技术论文
  10. linux之cp/scp命令+scp命令详解---远程拷贝