Отслеживание ошибок и NEES
trackErrorMetrics Система object™ обеспечивает количественные сравнения между треками и известными траекториями истины.
Чтобы создать метрики назначения дорожек:
Создать trackErrorMetrics и задайте его свойства.
Вызовите объект с аргументами, как если бы это была функция.
Дополнительные сведения о работе системных объектов см. в разделе Что такое системные объекты?.
создает errorMetrics = trackErrorMetricstrackErrorMetrics Системный объект со значениями свойств по умолчанию.
задает свойства для errorMetrics = trackErrorMetrics(Name,Value)trackErrorMetrics с использованием одной или нескольких пар имя-значение. Например, metrics = trackErrorMetrics('MotionModel','constvel') создает trackErrorMetrics объект с моделью движения с постоянной скоростью. Заключите имена свойств в кавычки.
Чтобы оценить ошибки, вызовите объект метрик ошибок дорожки с аргументами, как если бы это была функция (описана здесь).
[ возвращает метрикиposRMSE,velRMSE,posANEES,velANEES] = errorMetrics(tracks,trackIDs,truths,truthIDs)
posRMSE - Среднеквадратическая ошибка положения корня
velRMSE - среднеквадратичная ошибка корня скорости
posANEES - Среднеквадратичная ошибка нормализованной оценки положения в квадрате
velANEES - Среднеквадратичная ошибка нормализованной оценки скорости в квадрате
для движения с постоянной скоростью на текущем временном шаге. trackIDs - набор идентификаторов дорожек для всех дорожек. truthIDs - набор идентификаторов истинности. tracks являются набором дорожек, и truths это набор истин. trackIDs и truthIDs каждый вектор, соответствующие элементы которого соответствуют идентификаторам track и true, найденным в tracks и truthsсоответственно.
Значения RMSE и ANEES для различных состояний вычисляются путем усреднения ошибок всех дорожек на текущем временном шаге. Например, значение RMSE позиции, posRMSE, определяется как:
∑i=1M‖Δpi‖2
где M - общее количество дорожек со связанными траекториями истинности на текущем временном шаге, и
ptruth, i
- разность позиций между положением дорожки i, дорожки i и положением соответствующей истины ptruth i на текущем временном шаге. Значения RMSE для других состояний (vel, pos, acc, и yawRate) определяются аналогично.
Значение ANEES позиции, posANEES, определяется как:
где Cp, 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 функции объекта соответственно.
Чтобы использовать функцию объекта, укажите объект System в качестве первого входного аргумента. Например, для освобождения системных ресурсов объекта System с именем obj, используйте следующий синтаксис:
release(obj)