马氏距离在SLAM中的应用

在数据关联中,常常采用马氏距离来计算实际观测特征 i 与地图特征 j 的距离,从而能较为准确的选出最可能的关联。具体的做法是:

D(ij)=sqrt( ( Z(i)-μ(j) )'Σ^(-1)( Z(i)-μ(j) ) )

Z(i)表示当前激光雷达的第i个测量,μ表示EKF或其他算法所维护的地图集合,$\underset{j}{\mathop{\arg \min }}\,{{D}_{ij}}$ 即为所求关联。

  

技术背景

马氏距离可以用来计算两个样本集之间的相似度,与欧式距离不同的是它考虑样本各种特性之间的联系:例如,体重和身高是有联系的, 在衡量两个人的体型相似度的时候不能单独考虑体重,还需结合其身高进行分析。

 

其本质是统一各(特性)维度之间的方差,此时的欧式距离就是马氏距离。具体地:首先进行坐标的旋转,从而使得各(特性)维度之间线性无关,这个过程和PCA(主成分分析)和相似;然后,对不同维度的数据进行压缩,将方差都统一为1。从压缩的角度我们可以说,马氏距离是尺度无关的;而从旋转的角度,马氏距离可以排除变量之间的相关性的干扰。

 

但求马氏距离需要有总体的协方差矩阵。马氏距离是建立在总体的基础上的,故往往是在总体样本集大于待估计样本集的情况下使用。

公式:

sqrt( (x-μ)'Σ^(-1)(x-μ) )

μ表示 Based Data set

X表示 Estimated Data set

 

 

另一种版本

i个样品与第j个样品的马氏距离dij用下式计算:

dij =sqrt( (x i 一x j)'S^(-1)(x i一xj) )

其中,x i 和x j分别为第i个和第j个样品的m个特性所组成的向量,S为样本协方差矩阵。

 

例如:

两个样本:

His1 = {3,4,5,6}

His2 = {2,2,8,4}

它们的均值为:

U = {2.5, 3, 6.5, 5}

协方差矩阵为:

S =

| 0.25 0.50 -0.75 0.50 |

| 0.50 1.00 -1.50 1.00 |

|-0.75 -1.50 2.25 -1.50 |

| 0.50 1.00 -1.50 1.00 |

其中S(i,j)={[His1(i)-u(i)]*[His1(j)-u(j)]+[His2(i)-u(i)]*[His2(j)-u(j)]}/2

下一步就是求出逆矩阵S^(-1)

马氏距离 D=sqrt{[His1-His2] * S^(-1) * [(His1-His2)的转置列向量]}

 

 

转载于:https://www.cnblogs.com/Dingguang/p/8644332.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值