单目
-
单目SLAM流程【稀疏】
单目SLAM流程是:初始化–PnP–PnP……。具体方法是依赖对极几何的相关知识,根据2D-2D匹配点对计算本质矩阵(或基本矩阵),并对其进行分解得到相机运动,再依据三角化原理计算特征点距离。至此即得到3D-2D匹配点对,后续的相机位姿的估计就是PnP问题了。 -
初始化
初始化的意义是求取两个图像间的运动和特征点距离,初始化之后的运动都以初始化时的平移作为单位1,这称为单目的不确定性问题(Scale Ambiguity)。且在初始化时,要保证两帧图片之间的运动必须包括平移(不能只旋转),否则将导致求得的本质矩阵E为0,也就无法分解得到相机位姿。 -
尺度漂移问题
根本原因:单目slam产生尺度漂移的根本原因是单目相机无法根据一张图片得出图中物体的大小,这是尺度漂移的根源;在使用单目估计相机位姿和3D点坐标时,需要通过对极几何、三角化进行估计,在这个过程中会产生误差(特征点精度误差、计算误差),这些误差经过多帧累积后会变得特别大,进而导致尺度的不一致性,造成尺度漂移。
解决办法:1、视觉与IMU融合,借助IMU测得的高帧率的角速度、加速度对视觉进行修正、补充;后端优化时,把尺度作为一个优化变量进行优化,可以减小尺度漂移问题。
补充:由于初始化时存在尺度不确定性,因此单目相机估计的目标物体距离与真实世界里的距离存在比例上的差异,这个比例被称作尺度。而且,受到噪声的影响,导致这个尺度会逐渐漂移、改变,这被称为单目SLAM的尺度漂移问题。从理论上来说,只靠单目相机(不借助其他传感器)是无法确定这个尺度具体是多少的,比较好的解决方法是使用回环检测,但是要求相机的整个运动过程存在回环。 -
单目SLAM流程【稠密】
深度高斯滤波器 -
基础矩阵
概述:基础矩阵 F F F是对极约束的代数表示,并且这种约束关系独立与场景的结构,只依赖与相机的内参和外参(相对位姿)。
求解方法:求解基础矩阵时,如果匹配特征点对较少,则使用8点法进行求解;为提高求解精度,或者如果匹配点对很多且可能存在外点,则通常使用RANSAC方法筛选出内点,再进行求解;为进一步提高精度,还可以根据所有内点对F做非线性优化,通常使用L-M算法求解该优化目标函数。目标函数常采用两种距离度量:辛普森距离(Sampson distance)、