Вычисление оптимальной метрики назначения подшаблона
Sensor Fusion and Tracking Toolbox/Метрики трека
Блок Optimal Subpattern Assignment Metric оценивает эффективность алгоритма отслеживания путем вычисления оптимальной метрики назначения подшаблона (OSPA) между треками и известными истинами. Метрика состоит из ошибки локализации, ошибки кардинальности и компонентов ошибки маркировки. Можно выбрать любой из компонентов ошибки в качестве выхода блока.
Tracks
- Список трековСписок треков, заданный как шина Simulink, содержащая структуру MATLAB.
Если вы задаете параметр Track bus на вкладке Port Setting, чтобы objectTrack
структура должна использовать следующую форму:
Область | Описание |
---|---|
NumTracks | Количество дорожек |
Tracks | Массив путевых структур |
Каждая структура дорожки должна содержать TrackID
и State
поля. Кроме того, если вы задаете основанное на NEES расстояние (posnees
или velnees
) в параметре Distance type каждая структура должна содержать StateCovariance
поле.
Область | Определение |
---|---|
TrackID | Уникальный идентификатор дорожки, используемый для различения нескольких дорожек, заданный как неотрицательное целое число. |
State | Значение вектора состояния во времени обновления, заданное как N-элементный вектор, где N - размерность состояния. |
StateCovariance | Ковариационная матрица неопределенности, заданная как N -by - N матрица, где N - размерность состояния. |
Если вы задаете параметр Track bus, чтобы custom
, тогда вы можете использовать свой собственный формат маршрутного автобуса. В этом случае необходимо задать функцию извлечения трека с помощью параметра Track extractor function. Функция должна использовать этот синтаксис:
tracks = trackExtractorFcn(trackInputFromBus)
trackInputFromBus
является входом от магистральной шины и tracks
должен возвращаться как массив структур с TrackID
и State
поля. Если вы задаете расстояние на основе NEES (posnees
или velnees
) в параметре Distance type, тогда структура должна содержать StateCovariance
поле.Truths
- Список истинностиСписок истинности, заданный как шина Simulink, содержащая структуру MATLAB.
Если вы задаете параметр Truth bus на вкладке Port Setting, чтобы Platform
структура должна использовать следующую форму:
Область | Описание |
---|---|
NumPlatforms | Количество платформ истинности |
Platforms | Массив структур платформы истинности |
Каждая структура платформы имеет следующие поля:
Область | Определение |
---|---|
PlatformID | Уникальный идентификатор, используемый для различения платформ, задается как неотрицательное целое число. |
Position | Положение платформы, заданное как M элемент, где M - размерность состояния позиции. Для примера M = 3 для 3-D положения. |
Velocity | Скорость платформы, заданная как M-вектор, где M - размерность состояния скорости. Для примера M = 3 для скорости 3-D. |
Если вы задаете параметр Truth bus следующим Actor
структура должна использовать следующую форму:
Область | Описание |
---|---|
NumActors | Количество действующих лиц по установлению истины |
Actors | Массив структур актёра истинности |
Каждая структура актёра имеет следующие поля:
Область | Определение |
---|---|
ActorID | Уникальный идентификатор, используемый для различения актёров, заданный как неотрицательное целое число. |
Position | Положение актёра, заданное как M элемент, где M - размерность состояния положения. Для примера M = 3 для 3-D положения. |
Velocity | Скорость актёра, заданная как M-вектор, где M - размерность состояния скорости. Для примера M = 3 для скорости 3-D. |
Если вы задаете параметр Truth bus, чтобы custom
, тогда можно задать свой собственный формат шины истинности. В этом случае необходимо задать функцию извлечения истинности с помощью параметра Truth extractor function. Функция должна использовать этот синтаксис:
truths = truthExtractorFcn(truthInputFromBus)
truthInputFromBus
является входом от шины истинности и truths
должен возвращаться как массив структур с PlatformID
, Position
, и Velocity
поля.Assignments
- Известное назначениеИзвестное назначение, заданное как матрица K -by-2 неотрицательных целых чисел. K - количество пар назначения. Элементами первого столбца являются идентификаторы дорожек, а элементами второго столбца - идентификаторы истинности. Два идентификатора в строке назначаются друг другу. Если дорожка или истина не назначены, задайте 0
как другой элемент в строке.
Назначения между треками и истинами должны быть уникальными. Избыточные или ложные дорожки должны рассматриваться как неназначенные дорожки путем присвоения их "0
«TruthID
.
Чтобы включить этот порт, на вкладке Port Setting, выберите Assignments.
OSPA Metric
- метрика OSPAOSPA-метрика, возвращенная как неотрицательный действительный скаляр.
Пример: 10.1
Localization Error
- Компонент ошибки локализацииКомпонент ошибки локализации, возвращенный как неотрицательный действительный скаляр.
Пример: 8.5
Чтобы включить этот порт, на вкладке Port Setting, выберите Localization error.
Cardinality Error
- Компонент ошибки кардинальностиКомпонент ошибки кардинальности, возвращенный как неотрицательный действительный скаляр.
Пример: 6
Чтобы включить этот порт, на вкладке Port Setting, выберите Cardinality error.
Labeling Error
- Компонент ошибки маркировкиКомпонент ошибки маркировки, возвращенный как неотрицательный действительный скаляр.
Пример: 7.5
Чтобы включить этот порт, на вкладке Port Setting, выберите Labeling error.
Cutoff distance
- Порог расстояния отсечения между дорожкой и истиной30
(по умолчанию) | реальная положительная скалярная величинаПорог расстояния отсечения между дорожкой и истиной, заданный как действительная положительная скалярная величина. Если вычисленное расстояние между дорожкой и назначенным истинным значением выше порога, фактическое расстояние, включенное в метрику, уменьшается до порога.
Пример: 40
Order
- Порядок метрики OSPA2
(по умолчанию) | положительное целое числоПорядок метрики OSPA, заданный как положительное целое число.
Пример:
10
Distance type
- Тип расстоянияposnees
(по умолчанию) | velnees
| posabserr
| velabserr
Тип расстояния, заданный как posnees
, velnees
, posabserr
, или velabserr
. Тип расстояния задает физическую величину, используемую для вычисления расстояния:
posnees
- Нормированная ошибка расчета в квадрате (NEES) положения пути
velnees
- Ошибка NEES скорости пути
posabserr
- Абсолютная ошибка положения пути
velabserr
- Абсолютная ошибка скорости пути
custom
- Пользовательская ошибка расстояния
Если вы выбираете custom
необходимо также задать функцию расстояния в параметре Custom distance function.
Custom distance function
- Пользовательская функция расстоянияПользовательская функция расстояния, заданная как указатель на функцию. Функция должна поддерживать следующий синтаксис:
d = myCustomFcn(Track,Truth)
Track
- структура информации о дорожках, Truth
является структурой информации о истинности, и d
- расстояние между истиной и дорожкой. См. objectTrack
например, пример того, как организовать отслеживание информации.
Пример:
@myCustomFcn
Чтобы включить это свойство, установите параметр Distance type равным custom
.
Motion model
- Желаемая модель движения платформыconstvel
(по умолчанию) | constacc
| constturn
| singer
Желаемая модель движения платформы, заданная как constvel
, constacc
, constturn
, или singer
. Это свойство выбирает модель движения, используемую Tracks входным портом.
Модели движения ожидают State
поле структуры дорожки, чтобы иметь вектор-столбец, содержащую следующие значения:
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.
singer
- Положение находится в элементах [1 4 7], скорость - в элементах [2 5 8], а ускорение - в элементах [3 6 9].
The StateCovariance
поле входа структуры дорожки должно иметь ковариации положения, скорости и скорости поворота в строках и столбцах, соответствующих положению, скорости и скорости поворота State
поле структуры пути.
Labeling error
- Штраф за неправильное назначение0
(по умолчанию) | неотрицательной скаляромШтраф за неправильное присвоение дорожки истинности, заданный как неотрицательный скаляр. Функция определяет, является ли назначение правильным, на основе предоставленного известного входа назначения от Assignments входного порта. Если назначение не предусмотрено как вход, последнее известное «оптимальное» назначение принято правильным.
Пример: 5
Simulate using
- Тип выполняемой симуляцииInterpreted execution
(по умолчанию) | Code Generation
Выберите тип симуляции из следующих опций:
Interpreted execution
- Симулируйте модель с помощью интерпретатора MATLAB. Эта опция сокращает время запуска. В Interpreted execution
mode, можно отлаживать исходный код блока.
Code generation
- Симулируйте модель с помощью сгенерированного кода C. При первом запуске симуляции Simulink генерирует код С для блока. Код С повторно используется для последующих симуляций, пока модель не меняется. Эта опция требует дополнительного времени запуска.
Assignments
- Включите вход назначенияoff
(по умолчанию) | on
Выберите этот параметр, чтобы включить вход известных назначений через Assignments входной порт.
Localization error
- Включите выход компонента ошибки локализацииoff
(по умолчанию) | on
Выберите этот параметр, чтобы включить выход компонента ошибки локализации через Localization Error выходной порт.
Cardinality error
- Включите выход компонента ошибки кардинальностиoff
(по умолчанию) | on
Выберите этот параметр, чтобы включить выход компонента ошибки кардинальности через Cardinality Error выходной порт.
Labeling error
- Включите выход компонента ошибки маркировкиoff
(по умолчанию) | on
Выберите этот параметр, чтобы включить выход компонента ошибки маркировки через Labeling Error выходной порт.
Track bus
- Выбор магистральной шиныobjectTrack
(по умолчанию) | custom
Отследите выбор шины, заданный как objectTrack
или custom
. Для получения дополнительной информации о каждом выборе см. описание порта Tracks входа.
Truth bus
- Выбор шины истинностиPlatform
(по умолчанию) | Actor
| custom
Выбор шины истинности, заданный как Platform
, Actor
, или custom
. Для получения дополнительной информации о каждом выборе см. описание порта Truths входа.
Track extractor function
- Функция извлечения трековОтследите функцию извлечения, заданную как указатель на функцию. Функция должна поддерживать этот синтаксис:
tracks = trackExtractorFcn(trackInputFromBus)
trackInputFromBus
является входом от магистральной шины и tracks
должен возвращаться как массив структур с TrackID
и State
поля. Если вы задаете расстояние на основе NEES (posnees
или velnees
) в параметре Distance type, тогда структура должна содержать StateCovariance
поле.Пример: @myCustomFcn
Чтобы включить это свойство, установите параметр Track bus равным custom
.
Truth extractor function
- Функция извлечения истинностиФункция извлечения истинности, заданная как указатель на функцию. Функция должна поддерживать этот синтаксис:
truths = truthExtractorFcn(truthInputFromBus)
truthInputFromBus
является входом от магистральной шины и truths
должен возвращаться как массив структур с PlatformID
, Position
, и Velocity
как имена полей.
Пример:
@myCustomFcn
Чтобы включить это свойство, установите параметр Truth bus равным custom
.
В то t время k, список истин :
При этом трекер получает список треков:
Метрика OSPA (используется для оценки эффективности отслеживания на основе истинности):
Принимая <reservedrangesplaceholder9> ≤ <reservedrangesplaceholder8>, эти три компонента (d loc, <reservedrangesplaceholder5> <reservedrangesplaceholder4> и <reservedrangesplaceholder3> <reservedrangesplaceholder2>) вычислены следующим образом. Компонент d loc ошибки локализации вычисляется как:
где p - порядок метрики OSPA, d c - расстояние на основе отсечения, а y π (i) представляет дорожку, назначенную истине x i. Основанное на отсечении расстояние d c определяется как:
где c - порог расстояния отсечения, а d b (x, y) - базовое расстояние между x пути и истинной y, вычисленное функцией расстояния. Основанное на отсечении расстояние d c принимает меньшее значение d b и c.
Компонент d card ошибки кардинальности :
Компонент ошибки маркировки d lab является :
где α - штраф за неправильное назначение, L (x i) представляет ID правды <reservedrangesplaceholder16> <reservedrangesplaceholder15>, и L (y π (<reservedrangesplaceholder11>)) представляет ID следа <reservedrangesplaceholder10> <reservedrangesplaceholder9> (<reservedrangesplaceholder8>). Функция γ = 1, если идентификаторы правды и пары следа (L (x i) и L (x i)) соглашаются с известным назначением, данным assignment
введите, или согласитесь с назначением в последнем обновлении, если известное назначение не задано. В противном случае γ = 0.
Если m > n, просто обменивайтесь m и n в композиции, чтобы получить метрику OSPA.
[1] Шухмахер, Б., Б. -Т. Во, и Б. -Н. Во. «Согласованная метрика для Эффективности фильтров Мультиобъекта». Транзакции IEEE по обработке сигналов, том, 56, №, 8, стр. 3447-3457, 2008.
[2] Ристик, Б., Б. -Н. Во, Д. Кларк и Б. -Т. Во. «Метрика для оценки эффективности многоцелевых алгоритмов отслеживания». Транзакции IEEE по обработке сигналов, том, 59, №, 7, стр. 3452-3457, 2011.
Generalized Optimal Subpattern Assignment Metric | trackAssignmentMetrics
| trackErrorMetrics
| trackGOSPAMetric
| trackOSPAMetric
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.