1. introduction
读完总结,感觉这篇文章的主要思想是,提出数据关联,并根据语义的类别结果计算数据关联的概率,然后在优化过程中,根据之前的数据关联作为概率权重,引入与目标检测位置有关的误差项,从而让目标检测来辅助位姿估计。
数据关联和识别问题是不同类别之间离散的,而传统SLAM是连续优化的。
本文的目标是利用目标检测,整合尺度(metric)信息和语义(semantic)信息,用于传感器位姿估计和地图点位置估计。具有语义标签的路标点能够用于解决传统几何SLAM的两个问题:一是数据关联问题,即匹配传感器的观测与路标。二是回环检测,即用于识别之前已经去过的地方。
传统基于位姿图的非线性优化方法,依赖于运动模型和观测模型的线性化,而对于离散的目标检测结果,这就成为了一个问题。
本文的贡献如下:
- 紧密结合了惯性传感器、几何信息、语义观测,于一个单独的优化框架之中。
- 对于联合的尺度-语义SLAM问题,将其分解为两个子问题:连续的位姿优化问题,离散的数据关联和语义标签优化问题。
2. probabilistic data association in SLAM
文章给了一个SLAM问题的定义:
拥有一组地图点:L={ lm}m=1ML=\{l_m\}_{m=1}^{M}L={ lm}m=1M
一组传感器观测:Z={ zk}k=1KZ=\{z_k\}_{k=1}^{K}Z={ zk}k=1K
一组相机位姿:X={ xt}t=1TX=\{x_t\}_{t=1}^{T}X={ xt}t=1T
一组数据关联:D={ (αk,βk)}k=1KD=\{(\alpha_k,\beta_k)\}_{k=1}^{K}D={ (αk,βk)}k=1K
这里数据关联表示,在第k个观测下,从位姿xαkx_{\alpha _k}xαk观测到路标点lβkl_{\beta_k}lβk。正常情况下这个从哪能观测到什么是不知道的,比如我从某个观测k的位姿上观测,可能观测到椅子的一个点,也可能观测到杯子的一个点。感觉这里把位姿和观测联想在一起会容易理解一点,观测是在不同位姿下进行的,而它所能观测到的物体是不确定的。这里数据关联和地图点坐标、相机位姿一样,也是待优化的随机变量。
传统SLAM是估计地图点的位姿和相机位姿,但没有考虑数据关联。引入数据关联后,SLAM问题就变成:
x,l,d=argmaxx,l,dlogp(z∣x,l,d)x,l,d=argmax_{x,l,d}logp(z|x,l,d)x,l,d=argmaxx,l,dlogp(z∣x,l,d)
文章提出了三种求解方法:
第一种是分为两步:
D′=argmaxDp(D∣X0,L0,z)D'=argmax_D p(D|X^{0},L^{0},z)D′=argmaxDp(D∣X0,L0,z)
X′,L′=argmaxX,Llogp(Z∣X,L,D′)X',L'=argmax_{X,L} logp(Z|X,L,D')X′,L′=argmaxX,Llogp(Z∣X,L,D′)
即先根据初始的位姿和路标以及观测,求出数据关联的最优值,再把这个求出的数据关联当作已知条件,求出路标和位姿的最优值。
比如,先根据初始的位姿和路标,确定观测到的是椅子的点还是桌子的点,从而根据椅子或桌子在地图种的位置,来估计相机位姿。
这种方法存在的问题是,如果估计错了数据关联,则对后续的位姿和路标点估计影响很大。同时,模糊的观测会被舍去,以避免错误的数据关联估计,那这些信息就完全无法发挥作用了。
第二种方法解决了第一个问题,它采用迭代的坐标下降法:
Di+1=argmaxDp(D∣xi,Li,Z)D^{i+1}=argmax_D p(D|x^{i},L^{i},Z)Di+1=argmaxDp(D∣xi,Li,Z)
xi+1,Li+1=argmaxX,Llogp(Z∣X,L,Di+1)x^{i+1},L^{i+1}=argmax_{X,L}logp(Z|X,L,D^{i+1})xi+1,Li+1=argmaxX,Llogp(Z∣X,L,