主要内容

initcvpf

从检测报告中创建匀速跟踪粒子过滤器

描述

例子

PF.= initcvpf (检测所提供的信息初始化用于目标跟踪的匀速粒子滤波器objectDetection目的,检测

函数初始化一个匀速状态,约定为Constvel.cvmeas,(xvxyvyzvz]。

例子

全部折叠

创建一个匀速跟踪粒子过滤器对象,trackingPF的初步检测报告。检测报告是由粒子滤波状态的初始三维位置测量在直角坐标。你可以使用等速测量功能获得三维位置测量,cvmeas

此示例使用坐标,X = 1, y = 3, z = 0和三维位置测量噪声[1 0.2 0;0.2 2 0;0 0 1]

检测= objectDetection(0, [1;3;0]),“MeasurementNoise”,[1 0.2 0;0.2 2 0;0 0 1]);

使用initcvpf创建一个trackingPF在给定位置初始化滤波器,并使用上述定义的测量噪声。

pf = initcvpf(检测)
pf = trackingpf具有属性:状态:[6⨯1double] statecovariance:[6⨯6double] isstatevariablecircular:[0 0 0 0 0 0] stateTransitionFCN:@constvel processnoisesamplingfcn:[] processnoise:[3x3 double] hasadditive processnoise:0 measurementfcn:@cvmeas measurementlikelihoodfcn:[]测量不良:[3x3双]粒子:[6x1000双]重量:[1x1000双]重新采样policy:[1x1 trackingresamplingpolicy]重新制定方法:'多项式'

检查状态的值和测量噪声。验证过滤器状态,pf.state.,其位置分量与检测测量,检测。测量

pf.state.
ans =6×10.9674 0.3690 3.0471 0.2733 0.0306 -0.5904

验证滤波器测量噪声,pf.MeasurementNoise,与之相同检测。MeasurementNoise值。

pf.MeasurementNoise
ans =3×31.0000 0.2000 0 0.2000 2.0000 0 0 0 1.0000

创建一个匀速跟踪粒子过滤器对象,trackingPF的初步检测报告。检测报告是由粒子滤波状态的初始三维位置测量球坐标。你可以使用等速测量功能获得三维位置测量,cvmeas

这个例子使用了坐标az= 30,e1 = 5,r = 100,rr = 4测量噪声Diag ([2.5, 2.5, 0.5, 1].^2)

meas = [30; 5; 100; 4];measnoise = diag([2.5,2.5,0.5,1]。^ 2);

使用测量参数财产的财产检测对象定义框架。未定义时,该字段测量参数struct使用默认值。在该示例中,传感器位置,传感器速度,方向,升降和范围率标志是默认的。

measParams =结构('框架'“球”);检测= objectDetection(0,量,“MeasurementNoise”measNoise,...“MeasurementParameters”measParams)
检测= objectDetection with properties: Time: 0 Measurement: [4x1 double] MeasurementNoise: [4x4 double] SensorIndex: 1 ObjectClassID: 0 Measurement parameters: [1x1 struct] ObjectAttributes: {}

使用initcvpf创建一个trackingPF在给定位置初始化滤波器,并使用上述定义的测量噪声。

pf = initcvpf(检测)
pf = trackingPF属性:状态:[6⨯1双]StateCovariance:[6⨯6双]IsStateVariableCircular: [0 0 0 0 0 0] StateTransitionFcn: @constvel ProcessNoiseSamplingFcn: [] ProcessNoise: [3 x3双]HasAdditiveProcessNoise: 0 MeasurementFcn: @cvmeas MeasurementLikelihoodFcn: [] MeasurementNoise: [4 x4双]粒子:[6x1000 double] weight: [1x1000 double] ResamplingPolicy: [1x1 trackingResamplingPolicy] ResamplingMethod: 'multinomial'

验证过滤器状态产生的测量值与检测。测量

meas2 = cvmeas(pf.state,detection.measurement parameters)
meas2 =4×129.9188 5.0976 99.8303 4.0255

输入参数

全部折叠

检测报告,指定为一个objectDetection目的。

例子:检测= ObjectDetection(0,[1; 4.5; 3],'MeasurementNoise',[1.0 0 0; 0 2.0 0; 0 0 1.5])

输出参数

全部折叠

用于对象跟踪的恒定速度粒子滤波器,作为a返回trackingPF目的。

算法

  • 该功能配置1000个粒子的过滤器。在创建滤波器时,函数计算过程噪声矩阵假设单位加速度标准差。

  • 你可以用这个函数FilterInitializationFcn的属性trackerTOMHTTrackergnn.系统对象。

扩展功能

C / c++代码生成
使用MATLAB®Coder™生成C和C ++代码。

介绍了R2018b