优化就是根据误差(边)构建最小二乘问题,求解状态量(顶点)中优化变量的最优值。
1 . 单帧优化
主要目的是优化当前帧位姿Tcw。
1.1 PoseOptimization( )
- (1)重投影残差(边):利用上一关键帧(参考关键帧跟踪)或者上一帧(恒速模型跟踪)路标点与当前帧特征点的匹配关系,通过投影模型构建边,约束当前帧的位姿。
涉及状态量表示如下:
利用上一关键帧(参考关键帧跟踪)或者上一帧(恒速模型跟踪)路标点坐标(固定)* 当前帧位姿(优化变量)(其实还要乘内参,内参是固定的)= 当前帧特征点坐标(固定)
调用:
只用于tracking线程优化单帧位姿:
- 参考关键帧跟踪(上一关键帧地图点和当前帧构建重投影误差)。
- 恒速模型跟踪(上一帧地图点和当前帧构建重投影误差)。
- 重定位,在重定位中会进行1~3次。
- 局部地图跟踪:
(1)惯导未完成初始化的局部地图跟踪。
(2)惯导已经完成,但是当前帧一秒内发生了重定位的局部地图跟踪。
Vertex:顶点即状态量,但是不一定就一定是优化变量&