在数据关联中,常常采用马氏距离来计算实际观测特征 i 与地图特征 j 的距离,从而能较为准确的选出最可能的关联。具体的做法是:
D(ij)=sqrt( ( Z(i)-μ(j) )‘Σ^(-1)( Z(i)-μ(j) ) )
Z(i)表示当前激光雷达的第i个测量,μ表示EKF或其他算法所维护的地图集合。
技术背景
马氏距离可以用来计算两个样本集之间的相似度,与欧式距离不同的是它考虑样本各种特性之间的联系:例如,体重和身高是有联系的, 在衡量两个人的体型相似度的时候不能单独考虑体重,还需结合其身高进行分析。
其本质是统一各(特性)维度之间的方差,此时的欧式距离就是马氏距离。具体地:首先进行坐标的旋转,从而使得各(特性)维度之间线性无关,这个过程和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)的转置列向量]}