码迷,mamicode.com
首页 > 其他好文 > 详细

马氏距离在SLAM中的应用

时间:2018-03-25 15:50:15      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:slam   style   估计   post   背景   基础   图集   技术   blog   

在数据关联中,常常采用马氏距离来计算实际观测特征 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)的转置列向量]}

 

 

马氏距离在SLAM中的应用

标签:slam   style   估计   post   背景   基础   图集   技术   blog   

原文地址:https://www.cnblogs.com/Dingguang/p/8644332.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!