测量、状态和状态估计误差协方差的修正
设计了用于跟踪的卡尔曼滤波对象。您可以使用它来预测物理对象的未来位置,以减少检测位置中的噪声,或帮助将多个物理对象与其相应的轨迹关联起来。可以为每个物理对象配置一个卡尔曼滤波对象,以实现多目标跟踪。要使用卡尔曼滤波,物体必须以恒定速度或恒定加速度运动。
卡尔曼滤波算法包括两个步骤,预测和校正(也称为更新步骤)。第一步使用前面的状态来预测当前状态。第二步使用当前的测量,如物体位置,来修正状态。卡尔曼滤波器实现了离散时间、线性状态空间系统。
请注意
为了使配置卡尔曼滤波器更容易,您可以使用configureKalmanFilter
对象来配置卡尔曼滤波器。它建立了一个过滤器,用于跟踪在笛卡尔坐标系中以恒定速度或恒定加速度移动的物理对象。所有方面的统计数据都是相同的。如果你需要配置一个不同假设的卡尔曼滤波器,不要使用这个函数,直接使用这个对象。
在状态空间系统中,状态转移模型,一个,以及测量模型,H,设如下:
变量 | 价值 |
---|---|
一个 | [1 1 0 0;0 1 0 0;0 0 1 1;0 0 0 1 |
H | [1 0 0 0;0 0 1 0 |
返回离散时间恒定速度系统的卡尔曼滤波器。kalmanFilter
=愿景。KalmanFilter
另外配置控制模型,B.kalmanFilter
=愿景。KalmanFilter (StateTransitionModel
,MeasurementModel
)
配置Kalman Filter对象属性,指定为一个或多个kalmanFilter
=愿景。KalmanFilter (StateTransitionModel
,MeasurementModel
,ControlModel
,名称,值
)名称,值
对参数。未指定的属性具有默认值。
使用预测
和正确的
基于检测结果的函数。使用距离
函数查找最佳匹配。
当检测到跟踪的对象时,使用预测
和正确的
函数与卡尔曼滤波对象和检测测量。按以下顺序调用函数:
[...]=预测(kalmanFilter
);[...]=正确的(kalmanFilter
,测量);
当未检测到跟踪的对象时,调用预测
函数,而不是正确的
函数。当被跟踪对象丢失或被遮挡时,无法进行测量。按照以下逻辑设置函数:
[...]=预测(kalmanFilter
);如果测量存在[…]=正确的(kalmanFilter
,测量);结束
如果被跟踪的对象在过去丢失后变得可用t-1连续时间步长,可以调用预测
函数t次了。这个语法对处理异步视频特别有用。例如,
对于I = 1:k[…) =预测(kalmanFilter);结束[…]=正确的(kalmanFilter,measurement)
韦尔奇,格雷格和加里·毕晓普,卡尔曼滤波器简介, TR 95 - 041。北卡罗来纳大学教堂山分校计算机科学系。
[2] Blackman, S。多目标跟踪与雷达应用。Artech House, Inc.,第93页,1986。