视觉里程计是什么?视觉里程计有什么用?需要我们求解什么?
视觉里程计(Visual Odometry,VO) 算法是什么?视觉SLAM中的视觉里程计算法就是指的是通过某个算法根据前后两张图片求出当前时刻内相机位置和姿态相对上个时刻相机位置和姿态的变化的那种算法。这个就和出租车的里程计一样记录每个时刻的车轮速度及其滚动距离类似。只不过视觉里程计算法是求相机在各个时刻的位置姿态,所以才叫做视觉里程计算法。
视觉里程计有什么用?我们如果将最开始那个时刻的相机位置当做世界坐标系。现在我们使用视觉里程计算法计算出了相机各个时刻的位姿变化,这意味着我们得到了相机相对于世界坐标的位置。这个有什么用呢?有两个用途:1. 定位,现在我们知道了相机相对于世界坐标的位置,而相机是和机器人绑在一起的,这不就知道了机器人在哪了么? 2. 三维重建(建图),现在很多相机是能够测出当前时刻环境中各个物体离相机自己的距离(Lidar, RGB-D和双目相机都能测距离),而视觉里程计算法是已经计算出相机自己相对世界坐标的距离。这就可以计算出环境中各个物体相对世界坐标的距离。这不就建好图了么?
前面已经从直观上描述了视觉SLAM的核心思想——视觉里程计算法。有了视觉里程计算法我们就能知道相机在哪(相机与机器人/汽车绑定的所以也知道了机器人/汽车在哪)。有了视觉里程计算法我们就能对环境进行三维重建。前面提到了视觉里程计算法是一种能够计算出相机在各个时刻相对于前一个时刻的位置和姿态的变化的算法。那么问题来了位置和姿态的变化到底它在数学上是如何量化的