getHistory

Получите историю ветви обеспеченных дорожек

Описание

пример

history = getHistory(branchHistoryMgr) возвращает таблицу, содержащую историю ветви дорожки, обеспеченную входом trackBranchHistory Система object™, branchHistoryMgr.

history = getHistory(branchHistoryMgr,format) возвращает историю ветви в заданном формате: 'table' или 'matrix'.

Примеры

свернуть все

Примените результаты алгоритма присвоения к ориентированному на дорожку, менеджеру по истории ветви отслеживания мультигипотезы (MHT). Просмотрите получившиеся ветви дорожки (гипотезы).

Создайте менеджера по истории ветви MHT, который является trackBranchHistory Система object™. Установите объект обеспечить историю четырех датчиков и двух сканирований.

branchHistoryMgr = trackBranchHistory('MaxNumSensors',4,'MaxNumHistoryScans',2)
branchHistoryMgr = 
  trackBranchHistory with properties:

          MaxNumSensors: 4
     MaxNumHistoryScans: 2
           MaxNumTracks: 200
    MaxNumTrackBranches: 3

Обновите историю ветви. Поскольку первое обновление не имеет никаких предыдущих ветвей, менеджер по истории ветви содержит только неприсвоенные обнаружения.

emptyAssignment = zeros(0,2,'uint32');
emptyUnassignment = zeros(0,1,'uint32');
unassignedDetections = uint32([1;2;3]);
originatingSensor = [1 1 2];
history = branchHistoryMgr(emptyAssignment,emptyUnassignment, ...
    unassignedDetections,originatingSensor);

Просмотрите текущую историю ветви при помощи getHistory функция. Каждое обнаружение присвоено отдельной дорожке.

getHistory(branchHistoryMgr)
ans=3×5 table
    TrackID    ParentID    BranchID                     Scan2                                       Scan1                  
                                       Sensor1    Sensor2    Sensor3    Sensor4    Sensor1    Sensor2    Sensor3    Sensor4
    _______    ________    ________    ________________________________________    ________________________________________

       1          0           1           1          0          0          0          0          0          0          0   
       2          0           2           2          0          0          0          0          0          0          0   
       3          0           3           0          3          0          0          0          0          0          0   

Задайте несколько присвоений ветви и несколько неприсвоенных ветвей дорожки и обнаружений.

  • Присвойте ветвь 1 обнаружениям 1 и 2.

  • Присвойте ветвь 2 обнаружениям 1 и 2.

  • Рассмотрите ветви дорожки 1 и 3 неприсвоенных.

  • Рассмотрите обнаружения 1, 2, и 3 неприсвоенных.

assignments = uint32([1 1; 1 2; 2 1; 2 2]);
unassignedTracks = uint32([1;3]);
unassignedDetections = uint32([1;2;3]);

Обновите менеджера по истории ветви с присвоениями и неприсвоенными дорожками и обнаружениями.

history = branchHistoryMgr(assignments,unassignedTracks, ...
    unassignedDetections,originatingSensor);

Просмотрите обновленную историю ветви.

getHistory(branchHistoryMgr)
ans=9×5 table
    TrackID    ParentID    BranchID                     Scan2                                       Scan1                  
                                       Sensor1    Sensor2    Sensor3    Sensor4    Sensor1    Sensor2    Sensor3    Sensor4
    _______    ________    ________    ________________________________________    ________________________________________

       1          1            1          0          0          0          0          1          0          0          0   
       3          3            3          0          0          0          0          0          3          0          0   
       4          0            4          1          0          0          0          0          0          0          0   
       5          0            5          2          0          0          0          0          0          0          0   
       6          0            6          0          3          0          0          0          0          0          0   
       1          1            7          1          0          0          0          1          0          0          0   
       1          1            8          2          0          0          0          1          0          0          0   
       2          2            9          1          0          0          0          2          0          0          0   
       2          2           10          2          0          0          0          2          0          0          0   

Смотрите историю ветви.

  • Новое сканирование является Сканированием 2. Предыдущее сканирование является Сканированием 1, который был Сканированием 2 в предыдущем обновлении присвоения. История переключила одно сканирование направо.

  • Ветви 1 и 3 являются ветвями для неприсвоенных дорожек.

  • Ветвь 2 больше не находится в истории, потому что это не считалось неприсвоенным. Его присвоение на обнаружения 1 и 2 созданных ветви 9 и 10.

  • Ветви 4–6 являются ветвями, созданными для неприсвоенных обнаружений.

  • Ветви 7–10 являются ветвями, созданными для присвоений дорожки.

Входные параметры

свернуть все

Введите менеджера по истории ветви в виде trackBranchHistory Системный объект.

Формат выходной истории ветви в виде одного из следующего:

  • 'table' (значение по умолчанию) — Возвращает историю ветви в таблице.

  • 'matrix' — Возвратите историю ветви в матрице. Этот выход эквивалентен выходному параметру, возвращенному при вызове trackBranchHistory Системный объект.

Выходные аргументы

свернуть все

История ветви, возвращенная как таблица целых чисел или как матрица целых чисел.

Каждая строка history представляет уникальную ветвь дорожки. history имеет 3 + (D ×S) столбцы, где D является количеством обеспеченных сканирований (глубина истории), и S является максимальным количеством обеспеченных датчиков. Первые три столбца представляют следующую информацию о каждой ветви дорожки:

  • TrackID — ID дорожки, которая сопоставлена с ветвью. Отследите ветви, которые приняты, чтобы произойти из той же цели, имеют тот же ID дорожки. Если ветвь происходит из неприсвоенного обнаружения, та ветвь получает ID нового трека.

  • ParentID — ID родительской ветви, то есть, ветви, от который текущая порожденная ветвь. Ветви, которые были созданы из того же родительского элемента, имеют тот же ParentID. ParentID из 0 указывает на новый трек. Эти дорожки создаются из гипотез, соответствующих неприсвоенным обнаружениям.

  • BranchID — Уникальный идентификатор ветви дорожки. Каждая ветвь, созданная из неприсвоенного обнаружения или присвоения, получает новый ID ветви.

Остающийся D ×S столбцы содержит идентификаторы обнаружений, присвоенных каждой ветви. Ветвь может быть присвоена самое большее одному обнаружению на сканирование и на датчик. Таблица показывает организацию этих столбцов с демонстрационными обнаружениями. N является количеством сканирований. Значение 0 средние значения, что датчику на том сканировании не присвоили обнаружение ему.

Отсканируйте NОтсканируйте N – 1. . .Отсканируйте ND
Датчик – 1Датчик – 2. . .Датчик – S Датчик – 1Датчик – 2. . .Датчик – S . . .Датчик – 1Датчик – 2. . .Датчик – S

1

0

...

0

1

2

...

0

...

0

0

...

0

Смотрите также

Введенный в R2018b