trackScoreLogic

Подтвердите и удалите треки на основе счета трека

Описание

The trackScoreLogic объект определяет, следует ли подтверждать или удалять дорожку на основе счета дорожки (также известной как вероятность журнала дорожки). Дорожка должна быть подтверждена, если текущий счет дорожки больше или равен порогу подтверждения. Дорожка должна быть удалена, если текущий счет дорожки уменьшился относительно максимального счета дорожки на порог удаления.

Решения о подтверждении и удалении способствуют управлению отслеживанием со стороны trackerGNN или trackerTOMHT.

Создание

Описание

logic = trackScoreLogic создает trackScoreLogic объект с порогами подтверждения и удаления по умолчанию.

пример

logic = trackScoreLogic(Name,Value,...) задает ConfirmationThreshold и DeletionThreshold свойства логического объекта оценки дорожки с использованием одного или нескольких Name,Value аргументы в виде пар. Любые неопределенные свойства берут значения по умолчанию.

Свойства

расширить все

Порог подтверждения, заданный как положительная скалярная величина. Если логический счет выше этого порога, то дорожка подтверждается.

Типы данных: single | double

Порог удаления, заданный как отрицательный скаляр. Если значение Score - MaxScore больше отрицательного, чем порог удаления, после чего дорожка удаляется.

Типы данных: single | double

Это свойство доступно только для чтения.

Текущий логический счет дорожки, заданная как числовой скаляр.

Это свойство доступно только для чтения.

Максимальный логический счет дорожки, заданная как числовой скаляр.

Функции объекта

initИнициализируйте логику дорожки с первым попаданием
hitОбновите логику трека с последующим хитом
missОбновляйте логику трека с промахом
syncСинхронизируйте счета trackScoreLogic объекты
mergeScoresОбновите счет дорожки путем слияния дорожек
checkConfirmationПроверить, должен ли трек быть подтвержден
checkDeletionПроверьте, следует ли удалять трек
outputПолучите текущее состояние логики трека
resetСбросьте состояние логики дорожки
cloneСоздайте копию логики дорожки

Примеры

свернуть все

Создайте логику на основе оценки. Задайте порог подтверждения 20 и порог удаления -5.

scoreLogic = trackScoreLogic('ConfirmationThreshold',20,'DeletionThreshold',-5)
scoreLogic = 
  trackScoreLogic with properties:

    ConfirmationThreshold: 20
        DeletionThreshold: -5
                    Score: 0
                 MaxScore: 0

Задайте вероятность обнаружения (pd), вероятность ложного предупреждения (pfa), объем интервала обнаружения датчика (volume), и новая целевая скорость в модуль объеме (beta). Инициализируйте логику, используя эти параметры. Первое обновление логики - хит.

pd = 0.9;     % Probability of detection
pfa = 1e-6;   % Probability of false alarm
volume = 1;   % Volume of a sensor detection bin
beta = 0.1;   % New target rate in a unit volume

init(scoreLogic,volume,beta,pd,pfa);

disp(['Score and MaxScore: ', num2str(output(scoreLogic))])
Score and MaxScore: 11.4076      11.4076

Обновите логику еще четыре раза, где хит регистрируют только нечетные обновления. Счет увеличивается с каждым ударом и уменьшается с каждым промахом. Флаг подтверждения true всякий раз, когда текущий счет больше 20.

for i = 2:5
    
    isOdd = logical(mod(i,2));
    if isOdd
        likelihood = 0.05 + 0.05*rand(1);
        hit(scoreLogic,volume,likelihood)
    else
        miss(scoreLogic)
    end
    
    confFlag = checkConfirmation(scoreLogic);
    delFlag = checkDeletion(scoreLogic);
    disp(['Score and MaxScore: ', num2str(output(scoreLogic)), ...
      '.  Confirmation Flag: ',num2str(confFlag), ...
       '. Deletion Flag: ',num2str(delFlag)'])
end
Score and MaxScore: 9.10498      11.4076.  Confirmation Flag: 0. Deletion Flag: 0
Score and MaxScore: 20.4153      20.4153.  Confirmation Flag: 1. Deletion Flag: 0
Score and MaxScore: 18.1127      20.4153.  Confirmation Flag: 0. Deletion Flag: 0
Score and MaxScore: 29.4721      29.4721.  Confirmation Flag: 1. Deletion Flag: 0

Обновите логику с промахом три раза. Флаг удаления true к концу третьего промаха, потому что различие между текущим счетом и максимальным счетом больше пяти.

for i = 1:3
    miss(scoreLogic)
    
    confFlag = checkConfirmation(scoreLogic);
    delFlag = checkDeletion(scoreLogic);
    disp(['Score and MaxScore: ', num2str(output(scoreLogic)), ...
      '.  Confirmation Flag: ',num2str(confFlag), ...
      '.  Deletion Flag: ',num2str(delFlag)])
end
Score and MaxScore: 27.1695      29.4721.  Confirmation Flag: 1.  Deletion Flag: 0
Score and MaxScore: 24.8669      29.4721.  Confirmation Flag: 1.  Deletion Flag: 0
Score and MaxScore: 22.5643      29.4721.  Confirmation Flag: 1.  Deletion Flag: 1

Совет

  • Если вы задаете ConfirmationThreshold или DeletionThreshold в одинарной точности, затем trackScoreLogic объект преобразует другое свойство в одинарную точность и выполняет расчеты с одной точностью.

Ссылки

[1] Блэкмен, С. и Р. Пополи. Проект и анализ современных систем слежения. Бостон, Массачусетс: Artech House, 1999.

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.
Введенный в R2018b
Для просмотра документации необходимо авторизоваться на сайте