trackErrorMetrics

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

Описание

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

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

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

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

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

Создание

Описание

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

пример

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

Свойства

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

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

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

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

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

  • 'built-in' – Включите MotionModel свойство.

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

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

Желаемая модель движения платформы, заданная как 'constvel', 'constacc', или 'constturn'. Это свойство выбирает модель движения, используемую tracks входной параметр. Модель движения управляет выходными параметрами, когда объект выполняется.

Модели движения ожидают 'State' поле tracks иметь вектор-столбец можно следующим образом:

  • 'constvel' - Положение находится в элементах [1 3 5], скорость в элементах [2 4 6].

  • 'constacc' - Положение находится в элементах [1 4 7], скорость в элементах [2 5 8], и ускорение в элементах [3 6 9].

  • 'constturn' - Положение находится в элементах [1 3 6], скорость в элементах [2 4 7], и уровень отклонения от курса в элементе 5.

'StateCovariance' поле tracks введите должен иметь положение, скорость и ковариации угловой скорости вращения в строках и столбцах, соответствующих положению, скорости и угловой скорости вращения 'State' поле дорожек вводится.

Зависимости

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

Метки для выходных параметров функции оценки погрешности, заданной как массив строк или массива ячеек из символьных векторов. Количество меток должно соответствовать количеству выходных параметров функции оценки погрешности. Задайте функции оценки погрешности с помощью 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 – Скоростная среднеквадратическая ошибка

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

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

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

RMSE и значения ANEES для различных состояний вычисляются путем усреднения ошибок всех дорожек на шаге текущего времени. Например, положение значение RMSE, posRMSE, задан как:

posRMSE=1M i=1MΔpi2

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

Δpi=ptrack,iptruth,i

различие в положении между положением дорожки i, p track, i, и положением соответствующей истины, p truth, i, на шаге текущего времени. Значения RMSE для других состояний (vel, pos, acc, и yawRate) заданы так же.

Положение значение ANEES, posANEES, задан как:

posANEES=1Mi=1MΔpiTCp,i1Δpi

где C p, i является ковариационной матрицей, соответствующей положению дорожки i на шаге текущего времени. Значения ANEES для других состояний (vel, pos, acc, и yawRate) заданы так же.

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

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

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

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

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

Чтобы включить этот синтаксис, установите 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. Результаты ошибок оценки усреднены арифметически по всем присвоениям дорожки к истине.

Совет

Эти синтаксисы использования только вычисляют RMSE и значения ANEES всех дорожек со связанными истинами на шаге текущего времени. Чтобы получить совокупный RMSE и значения ANEES для каждой дорожки и истины, используйте cumulativeTrackMetrics и cumulativeTruthMetrics возразите функциям, соответственно. Чтобы получить текущий RMSE и значения ANEES для каждой дорожки и истины, используйте currentTrackMetrics и currentTruthMetrics возразите функциям, соответственно.

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

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

Отследите информацию, указанную как массив структур или объектов. Для встроенных средств отслеживания, таких как trackerGNN или trackerTOMHT, objectTrack выведите содержит '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'.

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

Зависимости

Чтобы включить эти аргументы, установите 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=4×15 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                 28               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                 28               0    

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

truthMetricsTable(tam)
ans=2×10 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=2×5 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=2×5 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=4×5 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=2×5 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