视觉slam简单入门

视觉slam简单入门

  • 基于特征点:ORB-Slam
  • 基于直接法

解决的问题:

  • 定位
  • 地图

定位和地图是相互耦合的

相机分类

  • 单目相机
  • 双目相机
  • 深度相机

相机的主要缺点:没有准确的深度信息

image-20240609122228867

视觉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

前端


视觉slam简单入门
https://wjhln.github.io/2024/06/09/视觉slam简单入门/
作者
王嘉浩
发布于
2024年6月9日
许可协议