trackErrorMetrics

Дефект записи и NEES

Описание

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

Сгенерировать метрики присвоения дорожки:

  1. Создайте объект trackErrorMetrics и установите его свойства.

  2. Вызовите объект с аргументами, как будто это была функция.

Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты? MATLAB.

Создание

Синтаксис

errorMetrics = trackErrorMetrics
errorMetrics = trackErrorMetrics(Name,Value)

Описание

errorMetrics = trackErrorMetrics создает Системный объект trackErrorMetrics со значениями свойств по умолчанию.

пример

errorMetrics = trackErrorMetrics(Name,Value) свойства наборов для объекта trackErrorMetrics с помощью одной или нескольких пар "имя-значение". Например, metrics = trackErrorMetrics('MotionModel','constvel') создает объект trackErrorMetrics с постоянной скоростной моделью движения. Заключите имена свойства в кавычки.

Свойства

развернуть все

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

Если свойство является настраиваемым, можно изменить его значение в любое время.

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты (MATLAB).

Формат функции ошибок, заданный как 'built-in' или 'custom'.

  • встроенный Включите свойство MotionModel.

    Это свойство является удобным интерфейсом при использовании дорожек, о которых сообщает любое встроенное мультиобъектное средство отслеживания и истины, о которых сообщает функция объекта platformPoses объекта trackingScenario. Функция ошибок оценки по умолчанию принимает, что tracks и truths являются массивами структур или массивами объектов.

  • 'custom' – Включите пользовательские свойства: EstimationErrorLabels, EstimationErrorFcn, TruthIdentifierFcn и TrackIdentifierFcns. Эти свойства могут использоваться, чтобы создать функции ошибок для произвольных дорожек и входных массивов истин.

Метки для выходных параметров функции оценки погрешности, заданной как массив строк или массива ячеек из символьных векторов. Количество меток должно соответствовать количеству выходных параметров функции оценки погрешности. Задайте функции оценки погрешности с помощью свойства EstimationErrorFcn.

Пример: {'posMSE','velMSE'}

Зависимости

Чтобы включить это свойство, установите свойство ErrorFunctionFormat на 'custom'.

Типы данных: char | string

Функция оценки погрешности, заданная как указатель на функцию. Функция определяет ошибки оценки истин к дорожкам.

Функция оценки погрешности может иметь несколько скалярных выходных параметров и должна иметь следующий синтаксис.

 [out1,out2, ...,outN] = estimationerror(onetrack,onetruth)
Количество выходных параметров должно совпадать с количеством записей в массиве меток, заданном в свойстве EstimationErrorLabels.

onetrack является элементом массива tracks, переданного в как вход trackErrorMetric при обновлениях объекта. onetruth является элементом массива truths, переданного в при обновлениях объекта. Средние значения объекта trackErrorMetrics каждый вывод арифметически при создании отчетов через дорожки или истины.

Пример: @errorFunction

Зависимости

Чтобы включить это свойство, установите свойство ErrorFunctionFormat на 'custom'.

Типы данных: function_handle

Отследите функцию идентификатора, заданную как указатель на функцию. Задает идентификаторы дорожки для входа tracks при обновлении объекта. Идентификаторы дорожки являются уникальной строкой или числовыми значениями.

Функция идентификатора дорожки должна иметь следующий синтаксис:

 trackID = trackIDentifier(tracks)

tracks эквивалентен, массив tracks передал как вход для trackErrorMetric при обновлении объекта. trackID одного размера как tracks. Идентификационный указатель на функцию по умолчанию, @defaultTrackIdentifier, принимает, что tracks является массивом структур или объектов с именем поля 'TrackID' или свойством.

Зависимости

Чтобы включить это свойство, установите свойство ErrorFunctionFormat на 'custom'.

Типы данных: function_handle

Функция идентификатора истины, заданная как указатель на функцию. Задает идентификаторы истины для входа truths при обновлении объекта. Идентификаторы истины являются уникальной строкой или числовыми значениями.

Функция идентификатора истины должна иметь следующий синтаксис:

 truthID = truthIDentifier(truths)

truths эквивалентен, массив truths передал как вход для обновлений trackErrorMetric. truthID должен иметь тот же размер как truths. Идентификационный указатель на функцию по умолчанию, @defaultTruthIdentifier, принимает, что truths является массивом или структурами или объектами с именем поля 'PlatformID' или свойством.

Зависимости

Чтобы включить это свойство, установите свойство ErrorFunctionFormat на 'custom'.

Типы данных: function_handle

Использование

Чтобы оценить ошибки, вызовите метрический объект дефекта записи с аргументами, как будто это была функция (описанный здесь).

Синтаксис

[posRMSE,velRMSE,posANEES,velANEES] = errorMetrics(tracks,trackIDs,truths,truthIDs)
[posRMSE,velRMSE,accRMSE,posANEES,velANEES,accANEES] = errorMetrics(tracks,trackIDs,truths,truthIDs)
[posRMSE,velRMSE,yawRateRMSE,posANEES,velANEES,yawRateANEES] = errorMetrics(tracks,trackIDs,truths,truthIDs)
[out1,out2, ... ,outN] = errorMetrics(tracks,trackIDs,truths,truthIDs)

Описание

пример

[posRMSE,velRMSE,posANEES,velANEES] = errorMetrics(tracks,trackIDs,truths,truthIDs) возвращает метрики

  • posRMSE – Среднеквадратическая ошибка положения

  • velRMSE – Скоростная среднеквадратическая ошибка

  • posANEES – Средняя ошибка нормированной оценки положения придала квадратную форму

  • velANEES – Средняя ошибка нормированной оценки скорости придала квадратную форму.

для постоянного скоростного движения. trackIDs является набором идентификаторов дорожки для всех дорожек. truthIDs является набором идентификаторов истины. tracks является набором дорожек, и truths является набором истин. trackIDs и truthIDs - каждый вектор, соответствующие элементы которого совпадают с дорожкой и идентификаторами истины, найденными в tracks и truths, соответственно.

Чтобы включить этот синтаксис, установите свойство ErrorFunctionFormat на 'built-in' и свойство MotionModel к 'constvel'.

[posRMSE,velRMSE,accRMSE,posANEES,velANEES,accANEES] = errorMetrics(tracks,trackIDs,truths,truthIDs) также возвращает метрики

  • accRMS – Ускоряющая среднеквадратическая ошибка

  • accANEES – ускоряющее среднее значение NEES

для постоянного ускоряющего движения.

Чтобы включить этот синтаксис, установите свойство ErrorFunctionFormat на 'built-in' и свойство MotionModel к 'constacc'.

[posRMSE,velRMSE,yawRateRMSE,posANEES,velANEES,yawRateANEES] = errorMetrics(tracks,trackIDs,truths,truthIDs) также возвращает метрики

  • yawRateRMSE – среднеквадратическая ошибка уровня отклонения от курса.

  • yawRateANEES – средняя ошибка нормированной оценки уровня отклонения от курса придала квадратную форму.

для постоянного движения угловой скорости вращения.

Чтобы включить этот синтаксис, установите свойство ErrorFunctionFormat на 'built-in' и свойство MotionModel к 'constturn'.

[out1,out2, ... ,outN] = errorMetrics(tracks,trackIDs,truths,truthIDs) возвращает пользовательские метрики out1, out2..., outN.

Чтобы включить этот синтаксис, установите свойство ErrorFunctionFormat на 'custom'. Количество выходных параметров соответствует числу элементов, перечисленному в свойстве EstimationErrorLabels, и должно совпадать с количеством выходных параметров в EstimationErrorFcn. Результаты ошибок оценки усреднены арифметически по всем присвоениям дорожки к истине.

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

развернуть все

Отследите информацию, указанную как структура или массив структур. Для встроенных средств отслеживания, таких как trackerGNN или trackerTOMHT, структура содержит 'State', 'StateCovariance' и информацию о 'TrackID'.

Типы данных: struct

Отследите идентификаторы, заданные как вектор с действительным знаком. элементы trackIDs совпадают с дорожками, найденными в tracks.

Информация истины, указанная как структура или массив структур. При использовании trackingScenario информация об истине может быть получена из функции объекта platformPoses.

Типы данных: struct

Идентификаторы истины, заданные как вектор с действительным знаком. элементы truthIDs совпадают с истинами, найденными в truths.

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

развернуть все

Среднеквадратическая ошибка положения, возвращенная как скаляр.

Зависимости

Чтобы включить этот аргумент, установите свойство ErrorFunctionFormat на 'built-in'.

Скоростная среднеквадратическая ошибка, возвращенная как скаляр.

Зависимости

Чтобы включить этот аргумент, установите свойство ErrorFunctionFormat на 'built-in'.

Ускоряющая среднеквадратическая ошибка, возвращенная как скаляр.

Зависимости

Чтобы включить этот аргумент, установите свойство ErrorFunctionFormat на 'built-in'.

Среднеквадратическая ошибка уровня отклонения от курса, возвращенная как скаляр.

Зависимости

Чтобы включить этот аргумент, установите свойство ErrorFunctionFormat на 'built-in'.

Положение средняя нормированная ошибка оценки, в квадрате, возвращенная как скаляр.

Зависимости

Чтобы включить этот аргумент, установите свойство ErrorFunctionFormat на 'built-in'.

Скорость средняя нормированная ошибка оценки, в квадрате, возвращенная как скаляр.

Зависимости

Чтобы включить этот аргумент, установите свойство ErrorFunctionFormat на 'built-in'.

Ускорение средняя нормированная ошибка оценки, в квадрате, возвращенная как скаляр.

Зависимости

Чтобы включить этот аргумент, установите свойство ErrorFunctionFormat на 'built-in'.

Уровень отклонения от курса средняя нормированная ошибка оценки, в квадрате, возвращенная как скаляр.

Зависимости

Чтобы включить этот аргумент, установите свойство ErrorFunctionFormat на 'built-in'.

Пользовательская ошибочная метрика выходные параметры, возвращенные как скаляры. Этими ошибками является вывод функции оценки погрешности, заданной в свойстве EstmationErrorFcn.

Зависимости

Чтобы включить эти аргументы, установите свойство ErrorFunctionFormat на 'custom'.

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

Чтобы использовать объектную функцию, задайте Системный объект как первый входной параметр. Например, чтобы выпустить системные ресурсы Системного объекта под названием obj, используйте этот синтаксис:

release(obj)

развернуть все

cumulativeTrackMetricsСовокупные метрики для недавних дорожек
cumulativeTruthMetricsСовокупные метрики для недавних истин
currentTrackMetricsМетрики для недавних дорожек
currentTruthMetricsМетрики для недавних истин
releaseВысвободите средства и позвольте изменения в значениях свойств Системного объекта и введите характеристики
resetСбросьте внутренние состояния Системного объекта
isLockedОпределите, используется ли Системный объект
cloneСоздайте объект дублированной системы

Примеры

развернуть все

Исследуйте присвоения и ошибки для системы, отслеживающей две цели.

Во-первых, загрузите хранимые данные о дорожке.

load trackmetricex tracklog truthlog

Создайте объекты анализировать ошибочные метрики и присвоение.

tam = trackAssignmentMetrics;
tem = trackErrorMetrics;

Создайте выходные переменные.

posRMSE = zeros(numel(tracklog),1);
velRMSE = zeros(numel(tracklog),1);
posANEES = zeros(numel(tracklog),1);
velANEES = zeros(numel(tracklog),1);

Цикл по всем дорожкам к:

  • Извлеките дорожки и наземную истину в i th обновление средства отслеживания.

  • Анализируйте и получите текущее присвоение дорожки к истине.

  • Анализируйте метрики мгновенной погрешности по всем дорожкам и истинам.

for i=1:numel(tracklog)
    tracks = tracklog{i};
    truths = truthlog{i};
    [trackAM,truthAM] = tam(tracks, truths);
    [trackIDs,truthIDs] = currentAssignment(tam);
    [posRMSE(i),velRMSE(i),posANEES(i),velANEES(i)] = ...
        tem(tracks,trackIDs,truths,truthIDs);
end

Покажите метрическую таблицу дорожки.

trackMetricsTable(tam)
ans =

  4x15 table

    TrackID    AssignedTruthID    Surviving    TotalLength    DeletionStatus    DeletionLength    DivergenceStatus    DivergenceCount    DivergenceLength    RedundancyStatus    RedundancyCount    RedundancyLength    FalseTrackStatus    FalseTrackLength    SwapCount
    _______    _______________    _________    ___________    ______________    ______________    ________________    _______________    ________________    ________________    _______________    ________________    ________________    ________________    _________

       1             NaN            false         1120            false               0                false                 3                   3                false                 0                   0                false                 0                0    
       2             NaN            false         1736            false               0                false                 8                  88                false                 0                   0                false                 0                3    
       6               3            true          1138            false               0                false                 4                 314                false                 1                  28                false                 0                2    
       8               2            true           662            false               0                false                 2                  29                false                 1                 169                false                 0                0    

Покажите метрическую таблицу истины.

truthMetricsTable(tam)
ans =

  2x10 table

    TruthID    AssociatedTrackID    DeletionStatus    TotalLength    BreakStatus    BreakCount    BreakLength    InCoverageArea    EstablishmentStatus    EstablishmentLength
    _______    _________________    ______________    ___________    ___________    __________    ___________    ______________    ___________________    ___________________

       2               8                false            2678           false           4             168            true                 true                    56         
       3               6                false            2678           false           3             645            true                 true                    84         

Постройте RMSE и ошибочные метрики ANEES.

subplot(2,2,1)
plot(posRMSE)
title('Position Error')
xlabel('tracker update')
ylabel('RMSE (m)')

subplot(2,2,2)
plot(velRMSE)
title('Velocity Error')
xlabel('tracker update')
ylabel('RMSE (m/s)')

subplot(2,2,3)
plot(posANEES)
title('Position Error')
xlabel('tracker update')
ylabel('ANEES')

subplot(2,2,4)
plot(velANEES)
title('Velocity Error')
xlabel('tracker update')
ylabel('ANEES')

Покажите текущие ошибочные метрики для каждого человека зарегистрированная дорожка.

currentTrackMetrics(tem)
ans =

  2x5 table

    TrackID    posRMS    velRMS    posANEES    velANEES
    _______    ______    ______    ________    ________

       6       44.712    20.988    0.05974     0.31325 
       8       129.26    12.739     1.6745      0.2453 

Покажите, что текущие ошибочные метрики для каждого человека записали объект истины.

currentTruthMetrics(tem)
ans =

  2x5 table

    TruthID    posRMS    velRMS    posANEES    velANEES
    _______    ______    ______    ________    ________

       2       129.26    12.739     1.6745      0.2453 
       3       44.712    20.988    0.05974     0.31325 

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

cumulativeTrackMetrics(tem)
ans =

  4x5 table

    TrackID    posRMS    velRMS    posANEES    velANEES
    _______    ______    ______    ________    ________

       1       117.69    43.951    0.58338     0.44127 
       2        129.7      42.8    0.81094     0.42509 
       6       371.35    87.083     4.5208      1.6952 
       8       130.45    53.914     1.0448     0.44813 

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

cumulativeTruthMetrics(tem)
ans =

  2x5 table

    TruthID    posRMS    velRMS    posANEES    velANEES
    _______    ______    ______    ________    ________

       2       258.21    65.078     2.2514     0.93359 
       3       134.41    48.253    0.96314     0.49183 

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

Системные объекты

Введенный в R2018b