Track-Oriented Multi-Hypothesis Tracker
Sensor Fusion and Tracking Toolbox/Мультиобъектные алгоритмы отслеживания
Блок Track-Oriented Multi-Hypothesis Tracker обрабатывает обнаружения нескольких целей с нескольких датчиков. Блок трекера инициализирует, подтверждает, предсказывает, исправляет и удаляет треки. Входами к блоку трекера являются отчеты об обнаружении, сгенерированные objectDetection
, fusionRadarSensor
, irSensor
, или sonarSensor
объекты. Блок трекера оценивает вектор состояния и векторную ковариационную матрицу состояния для каждой дорожки. Трекер присваивает обнаружения на основе ориентированного на дорожки подхода с несколькими гипотезами.
Любой новый трек запускается в предварительном состоянии. Если предварительному дорожке назначено достаточное количество обнаружений, его статус меняется на подтвержденный. Если обнаружение уже имеет известную классификацию (ObjectClassID
поле возвращаемой дорожки ненулевое), эта дорожка немедленно подтверждается. Когда дорожка подтверждена, многообъектный трекер рассматривает дорожку как представление физического объекта. Если обнаружение не назначено дорожке в пределах заданного количества обновлений, дорожка удаляется. Обзор функций трекера см. в разделе Алгоритмы.
Detections
- Список обнаруженийСписок обнаружений, заданный как шина Simulink, содержащая структуру MATLAB. Структура имеет форму:
Область | Описание | Напечатать |
---|---|---|
NumDetections | Количество обнаружений | Целое число |
Detections | Обнаружения объектов | Массив objectDetection структуры. Первый NumDetections из этих обнаружений являются фактическими обнаружениями. |
Поля структуры обнаружения:
Область | Описание | Напечатать |
---|---|---|
Time | Время измерения | Single или Double |
Measurement | Измерения объекта | Single или Double |
MeasurementNoise | Матрица ковариации шума измерения | Single или Double |
SensorIndex | Уникальный идентификатор датчика | Single или Double |
ObjectClassID | Идентификатор классификации объектов | Single или Double |
MeasurementParameters | Параметры, используемые функциями инициализации фильтров отслеживания | Шина Simulink |
ObjectAttributes | Трекеру передана дополнительная информация | Шина Simulink |
См. objectDetection
для более подробного объяснения этих полей.
Примечание
Структура обнаружения объектов содержит Time
поле. Временной тег каждого обнаружения объектов должен быть меньше или равен времени на текущем вызове блока. Временной тег также должен быть больше времени обновления, заданного в предыдущем вызове блока.
Prediction Time
- Отследите время обновленияОтследите время обновления, заданное как действительный скаляр в секундах. Трекер обновляет все треки к этому времени. Время обновления должно всегда увеличиваться с каждым вызовом блока. Время обновления должно быть как минимум таким же большим, как и самое большое Time
задается в Detections входном порте.
Если порт не включен, время обновления определяется временем симуляции, управляемым Simulink.
Чтобы включить этот порт, на вкладке Port Setting задайте Prediction time source Input port
.
Cost Matrix
- Матрица затратМатрица затрат, заданная как матрица N -by - M, где N - количество ветвей, а M - количество текущих обнаружений.
Строки матрицы затрат должны быть в том же порядке, что и список ветвей. Ветви упорядочиваются так, как они появляются в списке ветвей от All Branches выходного порта при предыдущем вызове блока. Столбцы соответствуют обнаружениям.
В первом обновлении трекера или если у трекера нет предыдущих треков, присвойте матрице затрат размер [0, N]. Стоимость должна быть рассчитана так, чтобы более низкие затраты указывали на более высокую вероятность того, что трекер присваивает обнаружение дорожке. Чтобы предотвратить назначение определенных обнаружений определенным трекам, используйте Inf
.
Если этот порт не включен, фильтр, инициализированный Filter initialization function, вычисляет матрицу затрат с помощью метода расстояния.
Чтобы включить этот порт, на вкладке Port Setting, выберите Enable cost matrix input.
Detectable BranchIDs
- Обнаруживаемые идентификаторы ветвейОбнаруживаемые идентификаторы ветви, заданные как действительный вектор M -by-1 или M -by-2 матрица. Обнаруживаемые ветви являются ветвями, которые датчики ожидают обнаружить. Первый столбец матрицы содержит список идентификаторов ветвей, которые датчики сообщают как обнаруживаемые. Дополнительный второй столбец позволяет добавить вероятность обнаружения для каждой ветви. Ветви перечислены в All Branches выходе от предыдущего вызова блока.
Дорожки, идентификаторы которых не включены в Detectable BranchIDs, считаются неопределяемыми. Логика удаления дорожки не рассчитывает отсутствие обнаружения как «пропущенное обнаружение» в целях удаления дорожки.
Если этот порт не включен, трекер принимает, что все дорожки обнаруживаются при каждом вызове блока.
Чтобы включить этот порт, на вкладке Port Setting, выберите Enable detectable branch IDs input.
State Parameters
- Отследите параметры состоянияОтслеживайте параметры состояния, заданные как шина Simulink, содержащая структуру MATLAB. Структура имеет форму:
Область | Описание |
---|---|
NumParameters | Количество параметров, не являющихся параметрами состояния по умолчанию, заданное в виде неотрицательного целого числа |
Parameters | Массив структур параметров состояния |
Блок использует значение Parameters
поле для StateParameters
поле сгенерированных дорожек. Можно использовать эти параметры, чтобы задать систему координат, в которой трек сообщается, или другие желательные атрибуты сгенерированных треков.
Например, можно использовать следующую структуру, чтобы задать прямоугольную систему координат, начальное положение которой находится в [10 10 0]
метров, начальная скорость которых [2 -2 0]
метров в секунду относительно системы координат сценария.
Имя поля | Значение |
---|---|
Frame | "Rectangular" |
Position | [10 10 0] |
Velocity | [2 -2 0] |
Чтобы включить этот порт, на вкладке Tracker Configuration выберите параметр Update track state parameters with time.
Confirmed Tracks
- Подтвержденные дорожкиПодтвержденные дорожки, возвращенные как шина Simulink, содержащая структуру MATLAB. Структура имеет форму:
Область | Описание |
---|---|
NumTracks | Количество дорожек |
Tracks | Массив структур дорожки длиной, заданной параметром Maximum number of tracks. Только первый NumTracks из них являются фактическими треками. |
Поля структуры дорожки показаны в Track Structure.
Дорожка подтверждается, если она удовлетворяет порогу, заданному в параметре Confirmation threshold под вкладкой Track Logic .
Tentative Tracks
- Ориентировочные дорожкиОриентировочные дорожки, возвращенные как шина Simulink, содержащая структуру MATLAB. Дорожка является ориентировочной, прежде чем она будет подтверждена.
Поля структуры дорожки показаны в Track Structure.
Чтобы включить этот порт, на вкладке Port Setting, выберите Enable tentative tracks output.
All Tracks
- Подтвержденные и ориентировочные трекиОбъединенный список подтвержденных и ориентировочных дорожек, возвращенных как шина Simulink, содержащая структуру MATLAB.
Поля структуры дорожки показаны в Track Structure.
Чтобы включить этот порт, на вкладке Port Setting, выберите Enable all tracks output.
Info
- Дополнительная информация для анализа обновлений трековДополнительная информация для анализа обновлений трека, возвращенная как шина Simulink, содержащая структуру MATLAB.
В этой таблице показаны поля информационной структуры:
Область | Описание |
BranchIDsAtStepBeginning | Идентификаторы ветвей при начале обновления. |
CostMatrix | Матрица затрат на присвоение. |
Assignments | Назначения, возвращенные из |
UnassignedTracks | Идентификаторы неназначенных ветвей, возвращенные с трекера. |
UnassignedDetections | Идентификаторы неназначенных обнаружений, возвращенные с трекера. |
InitialBranchHistory | История ветви после ответвления и до обрезки. |
InitialBranchScores | Ветви счетов перед обрезкой. |
KeptBranchHistory | История ветви после начальной обрезки. |
KeptBranchScores | Счета ветви после начальной обрезки. |
Clusters | Логический массив, сопоставляющий ветви с кластерами. Ветви относятся к одному и тому же кластеру, если они имеют общий доступ к обнаружениям в своей истории или относятся к одному и тому же пути либо непосредственно, либо через другие ветви. |
TrackIncompatibility | Матрица несовместимости ветвей. The |
GlobalHypotheses | Логическая матрица, отображающая ветви в глобальные гипотезы. Совместимые ветви могут принадлежать в тех же гипотезах. |
GlobalHypScores | Общий счет глобальных гипотез. |
PrunedBranches | Логический массив ветвей, которые |
GlobalBranchProbabilities | Глобальная вероятность каждой ветви, существующей в глобальных гипотезах. |
BranchesDeletedByPruning | Ветви, удаленные трекером. |
BranchIDsAtStepEnd | Идентификаторы ветвей, когда обновление закончилось. |
Чтобы включить этот порт, на вкладке Port Setting, выберите Enable information output.
All Branches
- Все ветвиВсе ветви, возвращенные как шина Simulink, содержащая структуру MATLAB.
Поля структуры ветви совпадают с полями структуры трека.
Чтобы включить этот порт, на вкладке Port Setting, выберите Enable all branches output.
Tracker identifier
- Уникальный идентификатор трекера0
(по умолчанию) | неотрицательное целое числоУникальный идентификатор трекера, заданный как неотрицательное целое число. Этот параметр передается как SourceIndex
в выходах трекера и различает треки, которые поступают от разных трекеров в системе с несколькими трекерами. Вы должны задать это свойство как положительное целое число, чтобы использовать выходы дорожки в качестве входов для trackFuser
объект.
Пример: 1
Filter initialization function
- Функция инициализации фильтра@initcvekf
(по умолчанию) | указатель на функцию | вектор символовФункция инициализации фильтра, заданная как указатель на функцию или как вектор символов, содержащий имя функции инициализации фильтра. При создании новых треков трекер использует функцию инициализации фильтра.
Sensor Fusion and Tracking Toolbox™ обеспечивает много функций инициализации, которые совместимы с этим блоком.
Функция инициализации | Определение функции |
---|---|
initcvabf | Инициализируйте альфа-бета фильтр с постоянной скоростью |
initcaabf | Инициализируйте альфа-бета фильтр с постоянным ускорением |
initcvekf | Инициализируйте расширенный фильтр Калмана с постоянной скоростью. |
initcackf | Инициализируйте кубический фильтр с постоянным ускорением. |
initctckf | Инициализируйте кубический фильтр постоянной скорости поворота. |
initcvckf | Инициализируйте кубический фильтр постоянной скорости. |
initcapf | Инициализируйте фильтр частиц с постоянным ускорением. |
initctpf | Инициализируйте фильтр частиц с постоянной скоростью поворота. |
initcvpf | Инициализируйте фильтр частиц с постоянной скоростью. |
initcvkf | Инициализируйте линейный фильтр Калмана с постоянной скоростью. |
initcvukf | Инициализируйте сигма-точечный фильтр Калмана с постоянной скоростью. |
initcaekf | Инициализируйте расширенный фильтр Калмана с постоянным ускорением. |
initcakf | Инициализируйте линейный фильтр Калмана с постоянным ускорением. |
initcaukf | Инициализируйте сигма-точечный фильтр Калмана постоянного ускорения. |
initctekf | Инициализируйте расширенный фильтр Калмана с постоянной скоростью поворота. |
initctukf | Инициализируйте неароматизированный сигма-точечный фильтр Калмана с постоянной скоростью поворота. |
initcvmscekf | Инициализируйте расширенный фильтр Калмана с измененными сферическими координатами постоянной скорости. |
initrpekf | Инициализируйте параметризованный расширенный фильтр Калмана с постоянной скоростью. |
initapekf | Инициализируйте расширенный фильтр Калмана с параметризацией угла постоянной скорости. |
initekfimm | Инициализируйте отслеживающий фильтр IMM. |
Можно также записать собственную функцию инициализации. Функция должна иметь следующий синтаксис:
filter = filterInitializationFcn(detection)
objectDetection
объект. Выходные выходы этой функции должны быть объектом фильтра: trackingKF
, trackingEKF
, trackingUKF
, trackingCKF
, trackingPF
, trackingMSCEKF
, trackingGSF
, trackingIMM
, или trackingABF
.
Чтобы помочь вам в написании этой функции, вы можете изучить детали поддерживаемых функций из MATLAB. Для примера:
type initcvekf
Типы данных: function_handle
| char
Threshold for assigning detections to tracks
- Порог для назначения обнаружений трекам30*[0.3 0.7 1 Inf]
(по умолчанию) | положительная скалярная величина | вектор 1 на 3 положительных значений | вектор 1 на 4 положительных значенийПороговое значение для назначения обнаружений трекам, заданное как положительный скаляр, вектор 1 на 3 не уменьшающихся положительных значений, [C 1, C 2, C 3] или вектор a1 на 4 не уменьшающихся положительных значений, [C 1, C 2, C 3, C 4]. Если задано в виде скаляра, заданное значение, val, будет расширено до [0,3,0,7,1, Inf
] * val. Если задано как [C 1, C 2, C 3], то оно будет развернуто как [C 1, C 2, C 3, Inf
].
Пороги управляют (1) присвоением обнаружения дорожке, (2) созданием новой ветви от обнаружения и (3) созданием новой ветви от неназначенной дорожки. Пороговые значения должны удовлетворить: <<reservedrangesplaceholder6> 1 <reservedrangesplaceholder5> <reservedrangesplaceholder4> 2 <reservedrangesplaceholder3> <reser vedrangesplaceholder2> 3 <reservedrangesplaceholder1> <reservedrangesplaceholder0> 4 .
C 1 определяет расстояние так, что, если дорожка имеет назначенное обнаружение с меньшим расстоянием, чем C 1, дорожка больше не рассматривается как неназначенная и не создает неназначенную ветвь дорожки.
C 2 определяет расстояние так, что, если обнаружение было назначено дорожке с меньшим расстоянием, чем C 2, обнаружение больше не рассматривается как неназначенное и не создает новую ветвь дорожки.
C 3 определяет максимальное расстояние для назначения обнаружения дорожке.
C 4 определяет комбинации дорожки и обнаружения, для которых выполняется точное нормированное вычисление затрат. Первоначально трекер выполняет грубую оценку нормированного расстояния между всеми треками и обнаружениями. Трекер вычисляет только точное нормированное расстояние для комбинаций, грубое нормированное расстояние которых меньше C 4.
Совет:
Увеличьте значение C 3, если есть обнаружения, которые должны быть назначены трекам, но не являются. Уменьшите значение, если есть обнаружения, которые назначены трекам, которым они не должны быть назначены (слишком далеко).
Увеличение значений C 1 и C 2 помогает контролировать количество созданных ветвей дорожки. Однако это уменьшает количество ветвей (гипотез), которые имеет каждая дорожка.
Увеличьте значение C 4, если существуют комбинации дорожки и обнаружения, которые должны быть рассчитаны для назначения, но не являются. Уменьшите его, если расчет стоимости занимает слишком много времени.
Типы данных: single
| double
Maximum number of tracks
- Максимальное количество дорожек100
(по умолчанию) | положительное целое числоМаксимальное количество дорожек, которые может поддерживать блок, заданное как положительное целое число.
Maximum number of sensors
- Максимальное количество датчиков20
(по умолчанию) | положительное целое числоМаксимальное количество датчиков, которые могут быть подключены к трекеру, заданное в виде положительного целого числа. MaxNumSensors
должно быть больше или равно наибольшему значению SensorIndex
найдено во всех обнаружениях, используемых для обновления трекера. SensorIndex
является одним из свойств objectDetection
объект. Блок MaxNumSensors
свойство определяет, сколько наборов ObjectAttributes
поля каждая выходная дорожка может иметь.
Out-of-sequence measurements handling
- Обработка измерений вне последовательностиTerminate
(по умолчанию) | neglect
Обработка измерений вне последовательности, заданная как Terminate
или neglect
. Каждое обнаружение имеет сопоставленную с ним временную метку, t d, и блок трекера имеет свою собственную временную метку, t t, которая обновляется в каждом вызове. Блок трекера рассматривает измерение как OOSM, если t d < t t.
Когда параметр задан как:
Terminate
- Блок перестает запускаться, когда сталкивается с любыми несогласованными измерениями.
Neglect
- Блок пренебрегает любыми несовпадающими измерениями и продолжает выполняться.
Track state parameters
- Параметры системы координат состояния путиПараметры опорной системы координат состояния дорожки, заданные как структура или массив структур. Блок передает значение этого параметра StateParameters
поле сгенерированных дорожек. Можно использовать эти параметры, чтобы задать систему координат, в которой трек сообщается, или другие желательные атрибуты сгенерированных треков.
Например, можно использовать следующую структуру, чтобы задать прямоугольную систему координат, начальное положение которой находится в [10 10 0]
метров, начальная скорость которых [2 -2 0]
метров в секунду относительно системы координат сценария.
Имя поля | Значение |
---|---|
Frame | "Rectangular" |
Position | [10 10 0] |
Velocity | [2 -2 0] |
Можно обновить параметры состояния дорожки через State Parameters входной порт, выбрав параметр Update track state parameters with time.
Типы данных: struct
Update track state parameters with time
- Обновление параметров состояния отслеживания по времениoff
(по умолчанию) | on
Выберите этот параметр, чтобы включить входной порт для параметров состояния дорожки через State Parameters входной порт.
Track output method
- Отследите метод выхода'Tracks'
(по умолчанию) | 'Hypothesis'
| 'Clusters'
Отследите метод выхода, заданный как 'Tracks'
, 'Hypothesis'
, или 'Clusters'
.
'Tracks'
- Вывод центроида каждой дорожки на основе ее ветвей дорожки.
'Hypothesis'
- Выходные ветви, которые находятся в определенных гипотезах. Если вы выбираете эту опцию, перечислите гипотезы, которые нужно вывести с помощью HypothesesToOutput
свойство.
'Clusters'
- Вывод центроида каждого кластера. Подобно 'Tracks'
выход, но включает все дорожки в кластере.
Типы данных: char
Simulate using
- Тип выполняемой симуляцииInterpreted Execution
(по умолчанию) | Code Generation
Interpreted execution
- Симулируйте модель с помощью интерпретатора MATLAB. Эта опция сокращает время запуска. В Interpreted execution
mode, можно отлаживать исходный код блока.
Code generation
- Симулируйте модель с помощью сгенерированного кода C. При первом запуске симуляции Simulink генерирует код С для блока. Код С повторно используется для последующих симуляций, пока модель не меняется. Эта опция требует дополнительного времени запуска.
Maximum number of hypotheses to be maintained
- Максимальное количество гипотез, которые необходимо сохранить5
(по умолчанию) | положительное целое числоМаксимальное количество гипотез, поддерживаемых треками в случаях неоднозначности, задается как положительное целое число. Большие значения увеличивают вычислительную нагрузку.
Пример: 10
Типы данных: single
| double
Maximum number of track branches per track
- Максимальное количество ветвей пути на дорожку3
(по умолчанию) | положительное целое числоМаксимальное количество ветвей дорожки (гипотез), допустимое для каждой дорожки, заданное в виде положительного целого числа. Большие значения увеличивают вычислительную нагрузку.
Типы данных: single
| double
Maximum number of scans maintained in the branch history
- Максимальное количество сканов, поддерживаемых в истории ветвей4
(по умолчанию) | положительное целое числоМаксимальное количество сканов, поддерживаемых в истории ветвей, задается как положительное целое число. Количество сканов истории дорожек обычно составляет от 2 до 6. Большие значения увеличивают вычислительную нагрузку.
Типы данных: single
| double
Minimum probability required to keep a branch
- Минимальная вероятность, необходимая для сохранения ветви.001
(по умолчанию) | положительная скалярная величинаМинимальная вероятность, необходимая для сохранения ветви трека, заданная как положительная скалярная величина менее единицы. Любая дорожка с вероятностью ниже заданной вероятности обрезается. Типичные значения: от 0,001 до 0,005.
Пример: .003
Типы данных: single
| double
N-scan pruning method
- Метод обрезки N-сканирования'None'
(по умолчанию) | 'Hypothesis'
Метод обрезки N-сканирования, заданный как 'None'
или 'Hypothesis'
. При обрезке N-сканирования ветви, которые относятся к одной дорожке, обрезаются (удаляются), если в истории N-сканирований они противоречат наиболее вероятной ветви для той же дорожки. Наиболее вероятная ветвь определяется одним из двух способов:
'None'
- обрезка N-образного сканирования не выполняется.
'Hypothesis'
- Выбранная ветвь находится в наиболее вероятной гипотезе.
Пример: 'Hypothesis'
Confirmation threshold [positive scalar]
- Минимальный счет, требуемый для подтверждения дорожки20
(по умолчанию) | положительная скалярная величинаМинимальный счет, требуемое для подтверждения дорожки, задаётся как положительная скалярная величина. Любой трек с счета, превышающей этот порог, подтверждается.
Пример: 12
Типы данных: single
| double
Deletion threshold [negative scalar]
- Максимальное падение счета для удаления трека-7
(по умолчанию) | скаляромМаксимальное падение счета перед удалением дорожки, заданное как скаляр. Любой трек с счетом, который падает больше, чем этот параметр, из максимального счета удаляется. На порог удаления влияет вероятность ложного предупреждения.
Пример: -1
Типы данных: single
| double
Probability of detection used for track score
- Вероятность обнаружения, используемая для счета дорожки0.9
(по умолчанию) | положительная скалярная величина между 0 и 1Вероятность обнаружения, заданная как положительная скалярная величина между 0 и 1. Это свойство используется для вычисления счета трека.
Пример: 0.5
Типы данных: single
| double
Rate of false positives used for track score
- Вероятность ложного предупреждения, используемого для счета дорожки1e-6
(по умолчанию) | скаляромВероятность ложного предупреждения, заданная как скаляр. Это свойство используется для вычисления счета трека.
Пример: 1e-5
Типы данных: single
| double
Volume of the sensor's detection bin
- Объем бункера для измерения датчика1
(по умолчанию) | положительная скалярная величинаОбъем интервала измерения датчика, заданный как положительная скалярная величина. Для примера, если радар производит 4-D измерение, которое включает азимут, повышения, диапазон и скорость области значений, объем 4-D определяется шириной углового луча радара, диапазоном интервала шириной и частотой интервала области значений. Объем используется при вычислении счета дорожки при инициализации и обновлении дорожки.
Пример: 1.5
Типы данных: single
| double
Rate of new tracks per unit volume
- Частота новых треков на модуль объема1
(по умолчанию) | положительная скалярная величинаЧастота новых треков на модуль том, заданная как положительная скалярная величина. Параметр используется при вычислении счета дорожки во время инициализации дорожки.
Пример: 2.5
Типы данных: single
| double
Prediction time source
- Источник времени предсказанияAuto
(по умолчанию) | Input port
Источник для времени предсказания, заданный как Input port
или Auto
. Выберите Input port
для ввода времени обновления с помощью Prediction Time входного порта. В противном случае часы симуляции, управляемые Simulink, определяют время обновления.
Enable cost matrix input
- Включите входной порт для матрицы затратВыберите этот параметр, чтобы включить вход матрицы затрат при помощи Cost Matrix входного порта.
Enable detectable branch IDs input
- Включите обнаруживаемые идентификаторы ветвейВыберите этот параметр, чтобы включить Detectable branch IDs входной порт.
Enable tentative tracks output
- Включите выходной порт для ориентировочных дорожекВыберите этот параметр, чтобы включить выход предварительных дорожек через Tentative Tracks выходной порт.
Enable all tracks output
- Включите выходной порт для всех трековВыберите этот параметр, чтобы включить выход всех дорожек через All Tracks выходной порт.
Enable information output
- Включите выходной порт для информации анализаВыберите этот параметр, чтобы включить выходной порт для информации анализа через Info выходной порт.
Enable all branches output
- Включите выходной порт для всех ветвейВыберите этот параметр, чтобы включить выход всех ветвей через All Branches выходной порт.
Source of output bus name
- Источник имени выходной магистральной шиныAuto
(по умолчанию) | Property
Источник выхода магистральной шины, заданный как:
Auto
- Блок автоматически создает выход шины трека.
Property
- Задайте имя выходной шины дорожки с помощью параметра Specify an output bus name.
Source of output info bus name
- Имя выходной информационной шиныAuto
(по умолчанию) | Property
Источник имени информационной шины выхода, заданный как:
Auto
- Блок автоматически создает имя выходной информационной шины.
Property
- Задайте имя выходной информационной шины с помощью параметра Specify an output info bus name.
Чтобы включить этот параметр, на вкладке Port Setting, выберите Enable information output.
Когда вы обрабатываете обнаружения с помощью трекера, отслеживайте создание и управление следующими шагами.
Трекер пытается назначить обнаружения существующим трекам.
Дорожка допускает несколько гипотез о присвоении обнаружений трекам.
Неназначенные обнаружения приводят к созданию новых треков.
Назначения обнаружений трекам создают ветви для присвоенных треков.
Дорожки без назначенных обнаружений покрываются (прогнозируются).
Все ветви дорожки оценены. Ветви с низкими начальными счетами обрезают.
Генерируются кластеры ветвей, которые совместно используют обнаружения (несовместимые ветви) в своей истории.
Сформулированы и оценены глобальные гипотезы совместимых ветвей.
Ветви оцениваются исходя из их существования в глобальных гипотезах. Обрезают низкоразрядные ветви.
Дополнительная обрезка выполняется на основе истории N-сканирования.
Все дорожки корректируются и прогнозируются до входа времени.
Три порога назначения, C 1, C 2 и C 3, управляют (1) присвоением обнаружения дорожке, (2) созданием новой ветви от обнаружения и (3) созданием новой ветви от неназначенной дорожки. Пороговые значения должны удовлетворить: <<reservedrangesplaceholder4> 1 <reservedrangesplaceholder3> <reservedrangesplaceholder2> 2 <reservedrangesplaceholder1> <reser vedrangesplaceholder0> 3 .
Если стоимость назначения C = costmatrix(i,j)
следующие гипотезы создаются на основе сравнения стоимости со значениями порогов назначения. Ниже каждого сравнения приведен список возможных гипотез.
Совет:
Увеличьте значение C 3, если есть обнаружения, которые должны быть назначены трекам, но не являются. Уменьшите значение, если есть обнаружения, которые назначены трекам, которым они не должны быть назначены (слишком далеко).
Увеличение значений C 1 и C 2 помогает контролировать количество созданных ветвей дорожки. Однако это уменьшает количество ветвей (гипотез), которые имеет каждая дорожка.
Чтобы разрешить назначение каждой дорожки, установите C 1 = 0.
Чтобы позволить каждое обнаружение не назначаться, установите C 2 = 0.
Все числовые входы могут быть одинарной или двойной точностью, но все они должны иметь одинаковую точность.
Полями структуры дорожки являются:
Область | Определение |
---|---|
SourceIndex | Уникальный исходный индекс, используемый для различения источников отслеживания в среде нескольких трекеров. |
TrackID | Уникальный идентификатор дорожки, используемый для различения нескольких дорожек. |
BranchID | Уникальный идентификатор ветви дорожки, используемый для различения нескольких ветвей дорожки. |
UpdateTime | Время обновления дорожки. Модули указаны в секундах. |
Age | Количество раз, когда трек выживал. |
State | Значение вектора состояния во время обновления. |
StateCovariance | Ковариационная матрица неопределенности. |
TrackLogic | Тип логики подтверждения и удаления, возвращенный следующим 'History' или 'Integrated' . |
TrackLogicState | Текущее состояние типа логики дорожки. На основе типа логики
|
IsConfirmed | Статус подтверждения. Это поле true если дорожка подтверждена как действительная цель. |
IsCoasted | Состояние скручивания. Это поле true если дорожка обновляется без нового обнаружения. |
IsSelfReported | Укажите, сообщает ли трек трекер. Это поле используется в среде слияния треков. Возвращается следующим |
ObjectClassID | Целое значение, представляющее классификацию объектов. Значение 0 представляет неизвестную классификацию. Ненулевые классификации применяются только к подтвержденным трекам. |
ObjectAttributes | Дополнительная информация о дорожке. |
[1] Werthmann, J. R. «Пошаговое описание вычислительно эффективной версии отслеживания нескольких гипотез». В Международном обществе оптики и фотоники, том 1698, стр. 228 - 301, 1992.
[2] Блэкмен, С. и Р. Пополи. Проект и анализ современных систем слежения. Artech House Radar Library, Бостон, 1999.
fusionRadarSensor
| irSensor
| objectDetection
| objectTrack
| sonarSensor
| trackerGNN
| trackingABF
| trackingCKF
| trackingEKF
| trackingGSF
| trackingIMM
| trackingKF
| trackingMSCEKF
| trackingPF
| trackingUKF
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.