exponenta event banner

trackScoreLogic

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

Описание

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++ с помощью MATLAB ® Coder™

.
Представлен в R2018b