视觉slam简单入门
视觉slam简单入门
- 基于特征点:ORB-Slam
- 基于直接法
解决的问题:
- 定位
- 地图
定位和地图是相互耦合的
相机分类
- 单目相机
- 双目相机
- 深度相机
相机的主要缺点:没有准确的深度信息

视觉slam结构
前端:
视觉里程计(tracking),局部的运动估计,短时间。解决相邻两帧图像之间,相机是如何运动的,需要了解相机是如何投影的,两个图像之间如何做匹配(基于特征点,基于直接法)
后端:
整个地图长什么样子,回环检测(检测回到原点,消除不断累积误差),长时间的轨迹推断(如何简化成一个最小二乘问题)
3D几何
旋转
将一个坐标系\((e_1,e_2,e_3)\)变为\((e_1^\prime,e_1^\prime,e_1^\prime)\),那么一个固定向量\(\alpha(a_1,a_2,a_3)\)在新的坐标系下的坐标推导如下: \[ \left.[\boldsymbol{e}_1,\boldsymbol{e}_2,\boldsymbol{e}_3]\left[\begin{array}{c}a_1\\\\a_2\\\\a_3\end{array}\right.\right]=\left[\boldsymbol{e}_1^{'},\boldsymbol{e}_2^{'},\boldsymbol{e}_3^{'}\right]\left[\begin{array}{c}a_1^{'}\\\\a_2^{'}\\\\a_3^{'}\end{array}\right] \] 然后左乘\([e_1^T,e_2^T,e_3^T]^T\),得到: \[ \left.\left[\begin{array}{c}a_1\\\\a_2\\\\a_3\end{array}\right.\right]=\left[\begin{array}{ccc}e_1^Te_1^{'}&e_1^Te_2^{'}&e_1^Te_3^{'}\\e_2^Te_1^{'}&e_2^Te_2^{'}&e_2^Te_3^{'}\\e_3^Te_1^{'}&e_3^Te_2^{'}&e_3^Te_3^{'}\end{array}\right]\left[\begin{array}{c}a_1^{'}\\a_2^{'}\\a_3^{'}\end{array}\right]\triangleq Ra^{'} \] R是旋转矩阵,具有如下特征:
- R是正交矩阵,取逆的话可以直接取转置
- 行列式==+1