メインコンテンツ

initcvggiwphd

等速 ggiwphd フィルターを作成

説明

phd = initcvggiwphd は、等速 ggiwphd フィルターを初期化します。既定では、成分は空であり、フィルターのデータ型は double になります。

phd = initcvggiwphd(detections) は、オブジェクト検出 detections で提供される情報に基づいて等速 ggiwphd フィルターを初期化します。フィルターのデータ型は、検出における測定のデータ型と同じになります。

関数は、constvel および cvmeas と同じ [x vx y vy z vz] という規則を使用して等速状態を初期化します。

メモ

この初期化関数は、trackerGNNtrackerJPDA、および trackerTOMHT の System object とは互換性がありません。

phd = initcvggiwphd(___,dataType) は、フィルターのデータ型を single または double として指定します。

すべて折りたたむ

位置 [1;2;3] にあるオブジェクトについて考えます。その範囲の周りに均等に検出が広がっています。範囲のサイズは、x 方向が 1.2、y 方向が 2.3、z 方向が 3.5 です。

detections = cell(20,1);
location = [1;2;3];
dimensions = [1.2;2.3;3.5];
rng(2018) % Reproducible results
measurements = location + dimensions.*(-1 + 2*rand(3,20));
for i = 1:20
    detections{i} = objectDetection(0,measurements(:,i));
end

生成された検出を使用して等速 ggiwphd フィルターを初期化します。

phd = initcvggiwphd(detections);

フィルターにおける状態の値の位置推定が測定の平均と同じであることを確認します。

states = phd.States
states = 6×1

    1.2856
         0
    1.9950
         0
    2.9779
         0

measurementMean = mean(measurements,2)
measurementMean = 3×1

    1.2856
    1.9950
    2.9779

範囲と想定される検出数を確認します。

extent = phd.ScaleMatrices/(phd.DegreesOfFreedom - 4)
extent = 3×3

    1.4603    0.0885   -0.2403
    0.0885    3.0050   -0.0225
   -0.2403   -0.0225    4.8365

expDetections = phd.Shapes/phd.Rates
expDetections = 
20

入力引数

すべて折りたたむ

オブジェクト検出。objectDetection オブジェクトの cell 配列として指定します。detections は直接作成できるほか、radarSensormonostaticRadarSensorirSensorsonarSensor などのセンサー オブジェクトの出力から detections を取得することもできます。

例: detection = objectDetection(0,[1;4.5;3],'MeasurementNoise', [1.0 0 0; 0 2.0 0; 0 0 1.5])

フィルターで使用される変数のデータ型。単精度の場合は "single"、倍精度の場合は "Double" として指定します。"single" として指定すると、初期化されたフィルターで倍精度の出力は一切生成されません。中間ステップにおいては double 変数がいくつか使用されることがあります。

データ型: single | double

出力引数

すべて折りたたむ

ggiwphd フィルター。ggiwphd オブジェクトとして返されます。

アルゴリズム

  • initcvggiwphdtrackingSensorConfigurationFilterInitializationFcn プロパティとして使用できます。

  • 入力として検出を提供すると、関数は検出の平均を反映する密度に成分を 1 つ追加します。入力を何も指定せずに関数を呼び出すと、フィルターは密度の成分なしで初期化されます。

  • 関数は測定の広がりを使用して逆ウィシャート分布を記述します。

  • 関数は検出数を使用してガンマ分布を記述します。

  • 関数は単位加速度の標準偏差を想定してフィルターのプロセス ノイズを構成します。

  • 関数はフィルターの成分を最大 500 個指定します。

拡張機能

すべて展開する

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2019a で導入

すべて展開する