Метрики для недавних дорожек
возвращает таблицу метрик, metricsTable
= currentTrackMetrics(errorMetrics
)metricsTable
, для каждого идентификатора дорожки, обеспеченного в новом обновлении.
Исследуйте присвоения и ошибки для системы, отслеживающей две цели.
Во-первых, загрузите хранимые данные о дорожке.
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
errorMetrics
— Ошибочный метрический объектtrackErrorMetrics
Системный объектОшибочные метрики возражают в виде trackErrorMetrics
Система object™.
metricsTable
— Метрики дефекта записиМетрики дефекта записи, возвращенные как таблица:
Когда вы устанавливаете ErrorFunctionFormat
свойство входных ошибочных метрик возражает против 'built-in'
, столбцы таблицы зависят от установки MotionModel
свойство.
Модель движения | Столбцы таблицы |
'constvel' | posRMSE , velRMSE , posANEES , velANEES |
'constacc' | posRMSE , velRMSE , accRMSE , posANEES , velANEES , accANEES |
'constturn' | posRMSE , velRMSE , yawRateRMSE , posANEES , velANEES , yawRateANEES |
RMSE и ANEES обозначают среднеквадратическую ошибку и среднюю нормированную ошибку оценки, в квадрате из дорожки на шаге текущего времени. Например, положение RMSE и значения ANEES для дорожки задано соответственно как:
где p track, i является положением дорожки i, p truth, i является положением истины, сопоставленной, чтобы отследить i и C, i является ковариацией положения дорожки i на шаге текущего времени. Обратите внимание на то, что RMSE и значения ANEES только вычисляются для одного временного шага с помощью currentTrackMetrics
. RMSE и значения ANEES для других состояний (vel
, pos
, acc
, и yawRate
) заданы так же.
Когда вы устанавливаете ErrorFunctionFormat
свойство к 'custom'
, таблица содержит арифметически усредненные значения пользовательских метрик выход от функции ошибок.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.