Метрики для последних треков
возвращает таблицу метрик, 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-м обновлении трекера.
Анализируйте и извлеките текущее назначение track-to-truth.
Анализируйте мгновенные метрики ошибок по всем трекам и истинам.
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 для дорожки заданы соответственно как:
где <reservedrangesplaceholder11> <reservedrangesplaceholder10>, i - положение следа i, <reservedrangesplaceholder7> <reservedrangesplaceholder6>, i - положение правды, связанной, чтобы отследить i, и <reservedrangesplaceholder3> <reservedrangesplaceholder2> - ковариация положения следа i в шаге текущего времени. Обратите внимание, что значения RMSE и ANEES рассчитываются только для одного временного шага с помощью currentTrackMetrics
. Значения RMSE и ANEES для других состояний (vel
, pos
, acc
, и yawRate
) заданы аналогично.
Когда вы устанавливаете ErrorFunctionFormat
свойство к 'custom'
таблица содержит среднеарифметически усредненные значения пользовательских метрик, выводимых из функции error.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.