ice_BA路标点边缘化流程

声明:本文借鉴了崔华坤博士对iceBA讲解的文章。本文是作者自己的理解,如果有误希望指出,希望可以一起交流学习。
source KF表示第一个观测到路标点的关键帧,meaturement KF表示观测到了该路标点但是不是首个观测到的。
ice_BA路标点边缘化流程_第1张图片
边缘化(路标点)流程
1.遍历在GBA中的所有KF,找出以当前KF为source KF的路标点。
遍历这些路标点,记录当边缘化掉这个路标点的时候对KF和KF本身的影响。

2.遍历在GBA中的所有KF,找出以当前KF为meaturement KF的路标点。
遍历这些路标点,记录当边缘化掉这些路标点的时候,对KF和KF本身的影响和KF和路标点的source KF之间的影响。

3.遍历在GBA中的所有KF,找出以当前KF为为source KF且meaturement KF的数量大于1的路标点。
遍历这些路标点,记录当边缘化掉这些路标点的时候,对meaturement KF(两两之间)的影响。

举例说明:(图19视觉关系的例子)

1.遍历所有的关键帧,这里为T0、T1、T2。找出以这三帧为source KF的路标点。对应图20。
①以T0为source KF的路标点是x0、x1、x2这三个路标点。
遍历这三个路标点,记录边缘化掉这三个路标点后对他们的source KF的影响,即对T0T0矩阵的影响。信息在代码中存放在Camera::Factor::Unitary::CC &SMcxx = m_SMcus[iKF];这里iKF表示的是T0。

②以T1为source KF的路标点是x3这一个路标点。
遍历这一个路标点,记录边缘化掉这一个路标点后对他的source KF的影响,即对T1T1矩阵的影响。信息在代码中存放在Camera::Factor::Unitary::CC &SMcxx = m_SMcus[iKF];这里iKF表示的是T1。

③以T2为source KF的路标点是0个。

2.遍历所有的关键帧,这里为T0、T1、T2。找出以这三帧为meaturement KF的路标点,对应图21。
①以T0为meaturement KF的路标点是0个。

②以T1为meaturement KF的路标点是x0、x1、x2。
遍历这三个路标点,记录边缘化掉这三个路标点之后对T1T1(SMcxz)的影响和T0T1(SMcxz)(T1和路标点的source KF)的影响。信息在代码中存放在

Camera::Factor::Binary::CC &SMcxz = KF.m_Zm.m_SMczms[Z.m_ik];
Camera::Factor::Unitary::CC &SMczz = m_SMcus[iKF];

其中iKF为T1,Z.m_ik表示路标点的source KF,这里指的是T0。

③以T2为meaturement KF的路标点是x2、x3。
遍历这两个路标点,记录边缘化掉这两个路标点之后对T1T2、T0T2、T2T2的影响,T1T2和T0T2表示T2和路标点source KF的影响。信息在代码中存放在

Camera::Factor::Binary::CC &SMcxz = KF.m_Zm.m_SMczms[Z.m_ik];
Camera::Factor::Unitary::CC &SMczz = m_SMcus[iKF];

其中iKF为T2,Z.m_ik表示路标点的source KF,如果是路标点x2则Z.m_ik为T0,如果是路标点x3则Z.m_ik为T1。

3.遍历所有的关键帧,这里为T0、T1、T2。找出以当前KF为为source KF且meaturement KF的数量大于1的路标点,对应图22。
由图中可以看出只有x2路标点符合这样的要求,它的source KF为T1,meaturement KF为T0和T2。
记录边缘化掉x2路标点对对meaturement KF(两两之间)的影响,这里就是对T0T2的影响。信息在代码中存放在

Camera::Factor::Binary::CC &SMczm = KF.m_Zm.m_SMczms[ik];
Camera::Factor::Binary::CC &Mczm = KF.m_Zm.m_Mczms[i];

其中ik为meaturement KF的id。

矩阵图说明:左上角矩阵为U,是边缘化之前的矩阵块。S是边缘化后的U,和U的维度大小完全相同。W为右上角矩阵块,和左下角矩阵块互为转置。V是右下角矩阵块。

T包括关键帧的位置信息p和旋转信息q,M包括关键之的v、ba、bg信息。x是特征点的逆深度信息。
ice_BA路标点边缘化流程_第2张图片
ice_BA路标点边缘化流程_第3张图片
ice_BA路标点边缘化流程_第4张图片

你可能感兴趣的:(slam)