[转]关于特征点法、直接法、光流法slam的对比
转载网址:https://blog.csdn.net/weixin_38203573/article/details/79787499
特征点法:
通过特征点匹配来跟踪点,计算几何关系得到R,t,BA来优化R,t,流程大致如下:
直接法:
直接法是从光流法演变而来的,是基于灰度不变假设,计算最小光度误差来优化R,t,流程大致如下:
光流法:
基于灰度不变假设,把特征点法中的描述子和匹配换成了光流跟踪,之后求解R,t的过程是一样的,流程大致如下:
那么这三种方法的优缺点各是什么呢,近期在学了视觉slam后做了初步的总结,希望大家批评指正。
PS.大多数情况下一种方法的有点即使另外一种方法的缺点,所以在一下没有提到的优缺点可以从其他方法的优缺点中获取。
|
优点 |
运动过大时,只要匹配点还在像素内,则不太会引起无匹配,相对于直接法有更好的鲁棒性。 |
只要关键点有梯度即可,可以在渐变的环境下工作 |
不需要计算描述子,不需要匹配特征点,节省了很多计算量。 |
|
不需要计算描述子,不需要匹配特征点,节省了很多计算量。 |
关键点提取的多少基本上都可以工作 |
||
|
可以筹建半稠密乃至稠密的地图 |
从稀疏到稠密重构基本上都可以使用 |
||
|
稀疏的直接法可以做到非常快速的效果,适合real time和资源受限的场合 |
|||
|
缺点 |
特征过多或过少都无法正常工作 |
图像无梯度,则对优化结果无贡献,特别如自动驾驶时候的天空 |
基于灰度不变假设,容易受外界光照的影响。 |
|
只能用来构建稀疏地图 |
基于灰度不变假设,容易受外界光照的影响。 |
相机发生大尺度移动或旋转时无法很好的追踪,非凸优化,容易局部极值。用尺度金字塔改善局部极值,组合光流法(增加旋转描述)改善旋转。 |
|
|
环境特征少,或者提不出角点(如:渐变色)都无法工作 |
相机发生大尺度移动或旋转时无法很好的追踪,非凸优化,容易局部极值。用尺度金字塔改善。 |
||
|
花很多时间在计算描述子和匹配上 |
单个像素没有区分度,需要计算像素块,结果只能少数服从多数。 |
||
|
容易受相机暗角影响 |
|||
|
提问 |
提取多少特征点算合适?(不多不少刚刚好?) |
计算出图像的光流后可以直接推导出相机的运动吗? |
由于直接法是光流法的衍生,所以他们有很多的相似性。
有不正确的地方希望大家指出,谢谢!
[转]关于特征点法、直接法、光流法slam的对比的更多相关文章
- 目标跟踪之Lukas-Kanade光流法
转载自:http://blog.csdn.net/u014568921/article/details/46638557 光流是图像亮度的运动信息描述.光流法计算最初是由Horn和Schunck于19 ...
- 光流法(optical flow)
光流分为稠密光流和稀疏光流 光流(optic flow)是什么呢?名字很专业,感觉很陌生,但本质上,我们是最熟悉不过的了.因为这种视觉现象我们每天都在经历.从本质上说,光流就是你在这个运动着的世界里感 ...
- 【图像处理】openCV光流法追踪运动物体
openCV光流法追踪运动物体 email:chentravelling@163.com 一.光流简单介绍 摘自:zouxy09 光流的概念是Gibson在1950年首先提出来的.它是空间运动物体在观 ...
- OpenCV Using Python——基于SURF特征提取和金字塔LK光流法的单目视觉三维重建 (光流、场景流)
https://blog.csdn.net/shadow_guo/article/details/44312691 基于SURF特征提取和金字塔LK光流法的单目视觉三维重建 1. 单目视觉三维重建问题 ...
- 【Matlab】运动目标检测之“光流法”
光流(optical flow) 1950年,Gibson首先提出了光流的概念,所谓光流就是指图像表现运动的速度.物体在运动的时候之所以能被人眼发现,就是因为当物体运动时,会在人的视网膜上形成一系列的 ...
- 目标跟踪之Lukas-Kanade光流法(转)
光流是图像亮度的运动信息描述.光流法计算最初是由Horn和Schunck于1981年提出的,创造性地将二维速度场与灰度相联系,引入光流约束方程,得到光流计算的基本算法.光流计算基于物体移动的光学特性提 ...
- 光流法跟踪fast角点思路
光流法需要include<opencv2/video/tracking.hpp>,用到列表,所以要include<list><vector>1.读取文件定义图像存储 ...
- LK 光流法简介
前言 若假定一个局部区域的像素运动是一致的,则可以用这个新的约束条件替代前文中提到的全局速度平滑约束条件.这种光流算法就叫做 LK 光流法. LK 光流法的推导 首先,需要推导出光流约束方程. 这一步 ...
- OpenCV 使用光流法检测物体运动
OpenCV 可以使用光流法检测物体运动,贴上代码以及效果. // opticalflow.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" ...
随机推荐
- Grafana部署监控docker服务
Grafana部署监控docker服务 一.使用InfluxDB+cAdvisor+Grafana配置Docker监控 1.1Docker监控组件 1.2cAdvisor: 1.3Docker监控安装 ...
- owncloud搭建
使用OwnCloud建立属于自己私有的云存储网盘 OwnCloud概述: OwnCloud 一款文件主机服务软件,就是我们平时使用的云存储,不过这是在自己主机的服务器上建立属于自己的私有云,OwnCl ...
- 关于POI相关通用方法源码
设置宽度,1个汉字的宽度 导入excel用,返回行数 sheetName是sheet,显示名 导出excel 导出excel 获得excel数据 写输出,最后用 重新单元格指定位置 移到下一行,列开头 ...
- DEDECMS:安装百度UEDITOR编辑器
第一步:下载相对应编辑器的版本 首先,去百度搜索"百度ueditor编辑器",然后点击进入官网,找到下载页面.找到我们想要的编辑器的版本,看自己网站的编码是UTF-8还是GBK,下 ...
- 小白搭建WNMP详细教程---MYSQL安装与设置
MYSQL的安装请参考WAMP中的mysql的安装教程,两者是一样的. https://www.cnblogs.com/missbye/p/12050312.html
- Effective Java读书笔记--对所有对象都通用的方法
1.覆盖equals请遵守通用规定.不需要覆写equals的场景:a.类的每个实例都是唯一的.b.类不需要提供"逻辑相等"的测试功能.c.超类已经覆盖了equals的方法.d.类是 ...
- Codeforces Round #635 (Div. 2)
Contest Info Practice Link Solved A B C D E F 4/6 O O Ø Ø O 在比赛中通过 Ø 赛后通过 ! 尝试了但是失败了 - 没有尝试 Sol ...
- [POJ1985] Cow Marathon 「树的直径」
>传送门< 题意:求树的直径 思路:就是道模板题,两遍dfs就求出来了 Code #include <cstdio> #include <iostream> #in ...
- AcWing 241 楼兰图腾 (树状数组)
在完成了分配任务之后,西部314来到了楼兰古城的西部. 相传很久以前这片土地上(比楼兰古城还早)生活着两个部落,一个部落崇拜尖刀('V'),一个部落崇拜铁锹('∧'),他们分别用V和∧的形状来代表各自 ...
- Codeforces Round #675 (Div. 2)【ABCD】
比赛链接:https://codeforces.com/contest/1422 A. Fence 题意 给出三条边 $a,b,c$,构造第四条边使得四者可以围成一个四边形. 题解 $d = max( ...