视觉SLAM十四讲笔记(ch8)
第八讲 视觉里程计2
视觉里程计的功能是根据拍摄到的相片来进行相机定位的过程。它为视觉SLAM,一个以相机位姿和路标位置为参数的优化问题提供初始值。
一、2D光流法
光流法是一种利用图像灰度不变性确定不同图像中关键点匹配的方法。为了阐述这种方法,我们首先介绍灰度不变性的概念。
1.灰度不变性的概念
光流法有两种,一种是计算部分像素运动的稀疏光流,另外一种是计算所有像素运动的稠密光流。稠密光流以Horn-Schunck法为代表,稀疏光流以Lucas-Kanade光流为代表,本篇主要介绍稀疏光流,它可用于跟踪特征点位置,简称LK光流。光流法的基本假设有如下两个:
(1)同一空间点Pω的像素灰度值,在各个图像中的是固定不变的,即
。
(2)图像灰度随空间的分布具有光滑性,即
关于x,y是连续可导的。
根据我们的符号约定,这里是指像平面二维坐标。事实上将其改成像素平面二维坐标也是可以的,并不会影响我们的分析。空间点Pω的像素灰度不变,并不是指x,y固定的情况下
不随时间变化。事实上,若相机位置的变化或者目标位置变化但相机固定,Pω点在像平面上的投影坐标是不断变化的。
的含义是,尽管同一个点Pω所对应的x,y,t不断变化,但其灰度
保持不变。流场有欧拉描述法和拉格朗日描述法两种,图像灰度
的描述法实际上就是欧拉描述法。

Lucas-Kanade法(LK光流)
它假设一个像素在不同的图像中是固定不变的,可以通过相邻像素的颜色梯度和自身像素的颜色变化来描述。也就是通过相邻像素梯度和运行速度得到自身该位置的颜色值变化,列出一个方程,以此来描述图像的平移。
当这个运动足够小时可以对左边的式子进行泰勒展开,因为I(x,y,t)部分是不变的所以得到:
--->
两边除以dt,得:

记梯度分别为Ix,Iy,速度分别为u,v,而右侧的灰度对时间的变化量It。
可以得到:
根据最小二乘法可以得到:
通过特征块求解u,v。
得到了像素在图像间的运行速度u,v,就可以估计特征点在不同图像中的位置了。当t取离散的时刻而不是连续时间时,我们可以估计某块像素在若干个图像中出现的位置。由于像素梯度仅在局部有效,所以如果一次迭代不够好的话,我们会多迭代几次这个方程。
二、直接法

直接法不提取特征点,直接用类似光流法的梯度迭代完成。计算得到位姿估计。它的思想是光流法+迭代近似。从而在光流法的基础上继续减少特征提取的时间。
要求的是位姿。根据光流法假设的像素差最小原则,得:e=I1(p1)-I2(p2)
利用最小二乘法![]()
当有多个点时,
,ei为第i像素的像素差
我们要求的是ζ的优化值,假设ei有偏差,那么J(ζ)有如何的变动呢?我们需要求两者之间的关系。我们假设ζ出现了一点偏差,考虑ei的变化,道理是一样的,求两者的关系,得到:

最后经过一系列变换得到一个e与ζ的关系式:

其中
,而[X, Y, Z]为三维点坐标。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)