[d,α]
,其中d
和α
代表线的距离角表示中的距离和角度。 在给定的框架中,存在一个局部地图匹配步骤,在该步骤中将匹配局部地图的线,并且需要2条线之间的距离度量。文献中建议使用马哈拉诺比斯距离,但是严格来说,马哈拉诺比斯距离是在单个测量值和一个分布之间,而不是在两个分布之间。
[d1,α1]
和第2行带有协方差矩阵的S1
?在塞巴斯蒂安·特伦(Sebastian Thrun)的《概率机器人》一书中的EKF算法中,在特征更新步骤中进行了计算,看起来像将新的测量值和现有的测量值相乘以得出结果协方差矩阵,然后在马氏距离计算中使用逆。
这与
Mahalanobis_Distance = [d2-d1,α2-α1] * Inverse(S1*S2) * [d2-d1,α2-α1]'
正确吗?
#1 楼
有很多方法可以测量两个分布之间的统计差异。对于您的情况,您可以考虑Bhattacharyya距离。从该页面开始,Bhattacharyya距离$ D_B $为$$
$$
其中$ \ boldsymbol \ mu_i $和$ \ boldsymbol \ Sigma_i $是分布的均值和协方差,以及
$$
\ boldsymbol \ Sigma = {\ boldsymbol \ Sigma_1 + \ boldsymbol \ Sigma_2 \ over 2}。
$$
我也会喜欢发出警告。在计算角度之间的差异时(例如$ \ alpha_1-\ alpha_2 $),您必须注意包装问题。例如,对于$ \ alpha_1 = -179 $ deg和$ \ alpha_2 = 179 $ deg,它们的区别不是$(-179)-(179)= -358 $ deg,而是$ 2 $ deg。如果仅关注统计差异的相对值(例如“最小”),则考虑使用两个角度之间的圆距离($ c $),即
$ $
c = \ frac {1-\ cos(\ alpha_1-\ alpha_2)} {2}。
$$
这总是返回值$ c \ in [ 0,1] $,其中$ c = 1 $是两个角度相隔180度时的结果。因此,如果您使用Bhattacharyya距离,则$ \ boldsymbol {\ mu} $的角度部分将是一个圆形距离。但是,如果您正在看线,则将线旋转180度会将其恢复为原始方向!这是因为线的方向是轴向数据的示例,并且对于+/- 180度的旋转不变。在这种情况下,只需将上述圆形距离的角度加倍即可;即,
$$
c = \ frac {1-\ cos [2(\ alpha_1-\ alpha_2)]} {2}。
$$
现在当线分开90度时,$ c = 1 $!
祝你好运!
#2 楼
马氏距离是有用的,因为它是对两点的“概率接近度”的度量。例如,如果我有一个均值为零且方差为100的高斯PDF,则很有可能会生成一个值约为100的样本。($(100-0)/ 100 = 1 $) 。但是,具有均值100和方差1的高斯PDF更有可能是生成100附近样本的PDF。($(100-100)/ 1 = 0 $)。因此,我们认为第二个点“更接近”。
因此,在确定谁生成样本100时,我们需要一个度量来确定哪个PDF是“更好”的选择。
因此,在您的情况下,取决于随机过程产生的数量。例如,如果您假设$ d $和$ a $被测量,但是由于独立的随机噪声而损坏,那么是的,您对马氏距离的定义是正确的。
$ d $和$ a $上的噪声是独立的,因为它们可能不是独立测量的。但是,许多算法都做出这样的假设。请确定您要这么做。