1 直接法的引出
特征点法的缺点:
- 关键点的提取和描述子计算很耗时,无法实时应用。
- 特征点只是少数信息,忽略了特征点以外的信息。
- 运动到特征缺失的地方,没有明显的纹理信息。
克服办法:
- List item
- List item
2 2D光流
光流描述像素随时间在图像之间的运动。计算部分像素运动称为稀疏光流,以Lucas-Kanade光流为代表。计算所有像素称为稠密光流,以Horn-Schunck光流为代表。
Lucas-Kanade光流
一个重要的假设是灰度不变假设,这是一个很强的假设,实际中很可能不成立。
假设某个窗口中像素具有相同的运动,则可通过构建最小二乘,最小化灰度误差,最终计算得到速度u和v,也就能计算得到Δx和Δy,从而跟踪得到各个像素的位置。
多层光流
光流跟踪是个优化问题,必须假设初始值靠近最优值,才能保证算法收敛,否则单层光流法会达到一个局部极小值。
可以引入图像金字塔的概念,对原始图像进行缩放,得到不同分辨率下的图像,以原始图像作为金字塔底层,往上一层,进行一次缩放,先从顶层图像开始计算,把上一层的追踪结果,作为下一层光流的初始值。
总结
光流对图像的连续性和光照稳定性要求很高,相比于特征匹配速度已经很快乐,可以加速基于特征点的视觉里程计算法,避免计算和匹配描述子的广成,但要求相机运动较为平滑。
光流也容易跟丢胡给出错误结果,这需要算法有一定的异常值去除机制。
3 直接法
直接法:基于灰度不变假设,优化相机的位姿,使光度误差最小。
直接法也可分为单层直接法和多层直接法。
直接法的优缺点,他的优点如下:
- 省去计算特征点和描述子的时间
- 只要求有像素梯度即可,不需要特征点
- 可以构建半稠密乃至稠密的地图
缺点如下:
- 非凸性
- 单个像素没有区分度
- 灰度值不变是很强的假设