视觉SLAM学习笔记

视觉SLAM原理部分

Slam主要完成的事情是,构造与自身相关的环境地图,并且进行定位和路径规划。视觉slam完成的事情是依靠是视觉传感器获得的图像信息,帮助完成建立环境地图与自身定位,且完成路径规划。

经典框架由5个部分组成:

1.传感器获取外部信息

2.视觉里程计(又称前端)主要为后端提供一个初始化信息,根据相邻图像的信息估计出粗略的相机运动,提供较好的初始值。核心问题是如何根据图像估计相机运动。又可以通过获取图像信息不同的方法分为特征法和直接法。

图像本身是一个由亮度和色彩组成的矩阵,数字图像以灰度值矩阵的方式储存,而灰度值受光照,形变,物体材质影响严重,仅凭借灰度值不足的。对图像特征点的提取可较好解决。

(特征点法)特征点由关键点,描述子组成(提取关键点,计算描述子两件事),关键点是指特征点在图像中的位置大小和朝向等信息,,描述子是按照“外观相似的特征应该有相似的描述子”的原则设计的。

特征匹配:解决SLAM中的数据关联问题(即确定了当前看到的路标与之前看到的路标的对应关系

计算相机运动:在得到了匹配好的点以后,根据不同相机的性质进行坐标矩阵运算得到

(直接法或光流法)直接根据像素的亮度信息估计相机运动,避免了特征计算时间和特征缺失的情况。只要在场景中存在明暗变化的条件下,直接法就可以工作,根据像素数量,分为稀疏,稠密和半稠密三种。光流是一种描述像素随时间在图像之间运动的方法

前端任务:数据信息选择点和结构;获得信息的联系,如特征点匹配和同一个像素点的速度(光流);利用几何方法得出初始姿态和深度估计。

3.后端优化,主要是处理过程中的优化问题,在从图像中估计出运动数据的同时优化噪声误差。

   前端可以给我们一个短时间内的轨迹和地图,但由于不可避免的误差累积,这个地图在长时间内是不准确的,所以在前端的基础上构建一个尺度规模更大化的优化问题,以得到长时间内最右轨迹和地图。(如何理解构建一个尺度规模更大化的优化,即‘用最新的信息’去“更新较久远以后的状态‘---站在站在长远的角度,用假定未来的信息估计当前的位置状态)。                                                                                                                                 

4.回环检测,提供了当前数据与历史数据的关联,在跟踪算法走丢以后过程中根据位置估计和摄像头对感知的数据进行自身的定位,同时不断地建造和更新地图并且规划自身的路径。

   能够给出除了相邻帧以外更久间隔的约束,在经过同一个位置采集到相似数据的时候,就可以为后端提供更多的数据了。关键在如何有效检测出相机经过同一地点这个事件。

5.建图

建图主要是根据估计的轨迹建立与任务要求对应的地图,在机器人学中,地图的表示主要有栅格地图、直接表征法、拓扑地图以及特征点地图这4种。而特征点地图是用有关的几何特征(如点、直线、面)表示环境,常见于视觉SLAM技术中。

-------------------------------------------------《视觉slam十四讲》学习笔记

你可能感兴趣的:(学习,计算机视觉,人工智能)