SLAM过程中,多次进入同一场景,场景可能会出现变化,比如停车场环境,商场店铺环境。需要更新地图,其中一种方法是添加新的节点,删除旧的节点(此处不讨论哪些节点应该被添加,哪些应该被删除,只关注删除节点的方法)。
一般过程是通过边缘化删除掉旧的节点,本质是利用舒尔布求解一部分节点的边缘概率。在边缘化过程之后,因子图会变得稠密,失去稀疏性,使得之后的优化过程计算复杂度增加。有几种稀疏化的方法,可以近似稠密的因子图。
一、chow-liu树
文献:Approximating Discrete Probability Distributions with Dependence Trees
原分布: ,
近似分布 :
用二阶分布的乘积近似原联合分布。定义两分布的KL散度最小时,为最好的近似。但是
有
种可能,暴力搜索比较困难。可以证明,最小KL散度对应的
,就是拥有最大互信息和的依赖树。所以这里将问题转换为求解最大互信息的依赖树。数学表达为
具体过程就是,求解每对变量的互信息,公式
即图中的每条边都赋了一个权值,这个权值就是互信息。将边按照权值大小排序,。先取出b0、b1,如果b2于前面的边没有形成环,则取出b2,否则跳过。依次向下遍历,取出n-1条边。这n-1条边就是稀疏后的边。
附1:最小KL散度对应的,就是拥有最大互信息和的依赖树证明:
附2:为什么有n(n-1)/2个二阶分布。,从n个变量中,无序的取出两个,因为
中
。
二、L1正则化
文献:Consistent Sparsification for Graph Optimization
与chow-liu树类似,该方法将求解最小KL散度的问题转换为最小化L1正则化的问题。问题描述如下:
这里用乘法器交替方向法求解(ADMM),ADMM的标准形式为
记,
。安装标准的ADMM方法,迭代求解
但是这里并没有考虑稀疏前后的一致性问题。所以将一致性约束引入