多目标跟踪--为什么数据关联中需要用到马氏距离?

马氏距离是个啥?

马氏距离的数学定义并不复杂,但是我们在这里先用一个直观的例子体会一下它的作用。

大家应该对曼哈顿距离不陌生吧?如下图所示,图中灰色的交叉线表示一个马路的路网,其中A点是铁锤家门口,B点是我家门口。

如果我打车去找铁锤,那么需要走过距离|BC|+|CA|才能够到达。那么我们之间的曼哈顿距离就为:

|AB| = |BC| + |AC|

然而,我发现事情不像我想像地那样简单。由于这个街区中上下的道路是主路,左右的道路是次路,因此沿着上下形式的时候遇到的红灯的时间更短,而左右方向红灯更长时间。如下图所示。

那么怎么解决这个问题呢?假设在主路上行驶单位距离所需的时间为 \alpha 在次路上行驶的单位距离所需的时间为 \beta 那么我重新计算了我们之间的距离:

|AB| = \alpha \cdot |AC| + \beta \cdot |BC|

也就是说我们通过“加权”的方式使得这个距离更精准地反映我们实际的情况。

是不是有点儿“感觉”了?上面的例子很粗糙,请不要纠结它在理论上是否完美无缺,体会其思想就好。

再来看看更正式的例子。下图中A,B两点是在直角坐标系中的两点。他们之间的欧氏距离可以写作:

d_{|AB|} = \sqrt{(x_A -x_B)^2 + (y_A - y_B)^2}

 此时如果我们也突然觉得,我们的x轴上的单位距离的增量更重要,我们也要效仿上面例子给不同轴加权重,如下:

d_{|AB|} = \sqrt{\alpha (x_A - x_B)^2 + \beta (y_A - y_B)^2}

=\sqrt{[\begin{matrix} (x_A - x_B) & (y_A - y_B)\end{matrix}] \begin{bmatrix} \alpha & 0 \\ 0 & \beta \end{bmatrix} \begin{bmatrix} (x_A - x_B) \\ (y_A - y_B) \end{}}

整理:

d_{AB}^2 = [\begin{matrix} (x_A - x_B) & (y_A - y_B)\end{matrix}] \begin{bmatrix} \alpha & 0 \\ 0 & \beta \end{bmatrix} \begin{bmatrix} (x_A - x_B) \\ (y_A - y_B) \end{}

马氏距离的定义

马氏距离(Mahalanobis distance):一个可以描述两个向量之间距离的度量,其考虑了两者的“位置”相近程度、不确定性、相关性。

具体定义请参考维基百科:Mahalanobis distance

为什么数据关联要用马氏距离?用欧式距离不行吗?

咱一点点分析:

如果用欧式距离,相当于只考虑两个向量之间“位置”的相近程度:

上图展示的为传感器坐标系,其中

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值