直接法是用于视觉里程计估计相机位姿的一种重要方法。相比于其他依赖几何特征做相机位姿估计的方法,直接法具有无需计算特征点、不会丢失图像信息的特点,并且在缺乏几何特征的场景,比如白墙或者走廊等依然可以有效的工作。
下面我们就对直接法做详细的说明:
直接法最直观简单的应用在于RGB-D相机,这种相机可以得到同一时刻RGB图像和深度图像,根据深度图像可以得到每一个像素点在三维空间中的坐标,所有的这些三维点就形成的被拍摄场景中物体的surface,同时也知道每一个surface点对应的颜色信息。相机在运动过程中会产生一系列连续的RGB-D数据,给定了前后两帧RGB-D数据,也就是连续两帧的surface和RGB信息,我们就可以找到一个变形(warp),使得后一帧的输入图像与前一帧的模板图像相配准(alignment)。这个warp代表了我们要寻找的相机位姿的变换。
1、必备知识点
1-1 图像配准
关于图像配准的方法,请参考博文对三种图像配准方法的说明,其中详细说明了三种图像配准方法的思想和算法流程,由于inverse compositional方法效率最高,不需要迭代地计算Hessian矩阵,这里,我们在介绍相机位姿估计时仍然选择应用最广泛的inverse compositional method来介绍。如果要更加详细的了解有关图像配准方面的知识,可以阅读参考文献[1]。
1-2相机模型、刚体运动模型和李代数
这部分内容可以参考博文相机模型、刚体运动模型与李代数。这篇博文对上述几个方面进行了简要的介绍。如果要对这部分内容做更深入的了解,可以阅读参考文献[2]。
2、inverse compositional estimation of camera pose
我们依旧参考图像配准中inverse compositional 方法,算法迭代更新方式如图1所示。
泰勒展开线性化如图2所示:
算法流程图如图3所示:
下面我对上述公式中出现的符号做相应的解释:
▽T指的是模板图像T在x方向和y方向上的梯度图,如图4所示:
变换矩阵W对未知参数的导数即J草编矩阵可以用链式求导法则来计算,即如图5所示。
[1]Baker S, Matthews I. Lucas-kanade 20 years on: A unifying framework[J]. International journal of computer vision, 2004, 56(3): 221-255.
[2]Ma Y, Soatto S, Kosecka J, et al. An invitation to 3-d vision: from images to geometric models[M]. Springer Science & Business Media, 2012.