vision.KalmanFilter
测量校正、状态和状态估计误差协方差
描述
卡尔曼滤波对象是专为跟踪。你可以用它来预测未来一个物理对象的位置,以减少噪音检测位置,或帮助将多个物理对象与相应的痕迹。一个卡尔曼滤波器对象可以配置为每个物理对象为多个对象跟踪。使用卡尔曼滤波器,对象必须以恒定速度或加速度恒定。
创建
卡尔曼滤波算法包括两个步骤,预测和校正(也称为更新步骤)。第一步使用以前的状态来预测当前状态。第二步使用当前的测量,如对象的位置,正确的状态。卡尔曼滤波器实现了离散时间线性状态空间系统。
请注意
简化配置一个卡尔曼滤波器,可以使用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
= vision.KalmanFilter
另外配置控制模型,B。kalmanFilter
= vision.KalmanFilter (StateTransitionModel
,MeasurementModel
)
配置卡尔曼滤波对象属性,指定为一个或多个kalmanFilter
= vision.KalmanFilter (StateTransitionModel
,MeasurementModel
,ControlModel
,名称,值
)名称,值
对参数。未指定的属性有默认值。
属性
对象的功能
使用预测
和正确的
基于检测结果的功能。使用距离
函数来找到最好的比赛。
当检测到跟踪对象,使用
预测
和正确的
与卡尔曼滤波函数对象和检测测量。按照以下顺序调用的函数:[…]=预测(
kalmanFilter
);[…]=正确的(kalmanFilter
,测量);当跟踪对象未被检测到,打电话
预测
功能,但不是正确的
函数。当跟踪对象缺失或闭塞,没有测量。使用以下逻辑:设置功能[…]=预测(
kalmanFilter
);如果测量存在[…]=正确的(kalmanFilter
,测量);结束如果跟踪对象可用后失踪的过去t1连续的时间步骤,您可以调用
预测
函数t次了。这个语法是特别有用的处理异步视频. .例如,因为我= 1:k […)=预测(kalmanFilter);结束[…]=正确的(kalmanFilter,measurement)
例子
算法
引用
[1]韦尔奇,格雷格和加里•主教介绍了卡尔曼滤波,TR 95 - 041。北卡罗莱纳大学教堂山分校计算机科学系。
[2]Blackman, S。多个目标与雷达跟踪应用程序。Artech房子,Inc ., 93年,1986页。