Совместный вероятностный трекер ассоциации данных
Панель инструментов для слияния и отслеживания датчиков/алгоритмы отслеживания нескольких объектов
Блок мультиобъектного трекера Объединенной вероятностной ассоциации данных способен обрабатывать обнаружения множества целей от множества датчиков. Трекер использует совместную вероятностную ассоциацию данных для назначения обнаружений каждой дорожке. Трекер применяет мягкое назначение, в котором множественные обнаружения могут вносить вклад в каждую дорожку. Трекер инициализирует, подтверждает, корректирует, прогнозирует (выполняет накрутку) и удаляет дорожки. Трекер оценивает вектор состояния и ковариационную матрицу ошибки оценки состояния для каждой дорожки. Каждое обнаружение назначается, по меньшей мере, одной дорожке. Если обнаружение не может быть назначено какой-либо существующей дорожке, трекер создает новую дорожку.
Любой новый трек начинается в предварительном состоянии. Если предварительной дорожке назначено достаточно обнаружений, ее статус изменяется на подтвержденный. Если обнаружение уже имеет известную классификацию ( 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 - Матрица затратМатрица затрат, заданная как действительная матрица Nt-by-Nd, где Nt - количество существующих дорожек, а Nd - количество текущих обнаружений.
Строки матрицы затрат соответствуют существующим дорожкам. Столбцы соответствуют обнаружениям. Дорожки упорядочиваются по мере их появления в списке дорожек из выходного порта All Tracks при предыдущем вызове блока.
В первом обновлении трекера, или если у трекера нет предыдущих дорожек, назначьте матрице затрат размер [0, Nd]. Стоимость должна быть рассчитана так, чтобы более низкие затраты указывали на более высокую вероятность того, что трекер назначит обнаружение дорожке. Чтобы предотвратить назначение определенных обнаружений определенным дорожкам, используйте Inf.
Если этот порт не активирован, фильтр, инициализированный функцией инициализации фильтра, вычисляет матрицу затрат с помощью метода расстояния.
Чтобы включить этот порт, на вкладке Port Setting выберите Enable cost matrix input.
Detectable TrackIDs - Обнаруживаемые идентификаторы дорожекОбнаруживаемые идентификаторы дорожек, заданные как действительный вектор M-by-1 или матрица M-by-2. Обнаруживаемые дорожки - это дорожки, которые датчики ожидают обнаружить. Первый столбец матрицы содержит список идентификаторов дорожек, которые датчики сообщают как обнаруживаемые. Дополнительный второй столбец позволяет добавить вероятность обнаружения для каждой дорожки.
Треки, идентификаторы которых не включены в обнаруживаемые идентификаторы TrackID, считаются необнаруживаемыми. Логика удаления дорожки не засчитывает отсутствие обнаружения как «пропущенное обнаружение» для целей удаления дорожки.
Если этот порт не активизирован, то трекер предполагает, что все дорожки могут быть обнаружены при каждом вызове блока.
Чтобы включить этот порт, на вкладке Port Setting выберите Enable detectable track ID 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 | Массив структур дорожек длиной, заданной параметром Максимальное количество дорожек. Только первый NumTracks из них фактические треки. |
Поля структуры дорожки отображаются в структуре дорожки.
В зависимости от логики пути, путь подтверждается, если:
История - трек получает по крайней мере M обнаружения в последнем N обновления. M и N указаны в пороговом значении подтверждения для History логика.
Integrated - интегрированная вероятность существования пути выше порога подтверждения, указанного в пороговом значении подтверждения для Integrated логика.
Tentative Tracks - Предварительные направленияПредварительные трассы, возвращенные в виде шины Simulink, содержащей структуру MATLAB. Трек является предварительным, прежде чем он будет подтвержден.
Поля структуры дорожки отображаются в структуре дорожки.
Чтобы включить этот порт, на вкладке Port Setting выберите Enable tentative tracks output.
All Tracks - Подтвержденные и предварительные направленияСводный список подтвержденных и предварительных дорожек, возвращенных в виде шины Simulink, содержащей структуру MATLAB.
Поля структуры дорожки отображаются в структуре дорожки.
Чтобы включить этот порт, на вкладке Port Setting выберите Enable all tracks output.
Info - Дополнительная информация для анализа обновлений отслеживанияДополнительная информация для анализа обновлений дорожки, возвращенная в виде шины Simulink, содержащей структуру MATLAB.
В этой таблице представлены поля информационной структуры:
| Область | Описание |
TrackIDsAtStepBeginning | Отслеживать идентификаторы при начале шага. |
CostMatrix | Матрица затрат для присвоения. |
Clusters | Массив ячеек отчетов кластера. Дополнительные сведения см. в разделе Возможные совместные события. |
InitiatedTrackIDs | Идентификаторы дорожек, инициированных во время шага. |
DeletedTrackIDs | Идентификаторы дорожек, удаленных во время шага. |
TrackIDsAtStepEnd | Отслеживать идентификаторы по завершении шага. |
Clusters может включать несколько кластерных отчетов. Каждый кластерный отчет представляет собой структуру, содержащую:
| Область | Описание |
DetectionIndices | Индексы кластеризованных обнаружений. |
TrackIDs | Отслеживать идентификаторы кластеризованных дорожек. |
ValidationMatrix | Матрица проверки кластера. Дополнительные сведения см. в разделе Возможные совместные события. |
SensorIndex | Индекс исходного датчика кластеризованных обнаружений. |
TimeStamp | Средняя метка времени кластеризованных обнаружений. |
MarginalProbabilities | Матрица вероятностей ассоциации краевого заднего сустава. |
Чтобы включить этот порт, на вкладке Port Setting выберите Enable information output.
Filter initialization function - Функция инициализации фильтра@initcvekf (по умолчанию) | дескриптор функции | символьный векторФункция инициализации фильтра, заданная как дескриптор функции или как символьный вектор, содержащий имя допустимой функции инициализации фильтра. Трекер использует функцию инициализации фильтра при создании новых дорожек.
Toolbox™ слияния и отслеживания датчиков обеспечивает множество функций инициализации:
| Функция инициализации | Определение функции |
|---|---|
initcvkf | Инициализируйте линейный фильтр Калмана с постоянной скоростью. |
initcakf | Инициализация линейного фильтра Калмана с постоянным ускорением. |
initcvabf | Инициализация фильтра альфа-бета с постоянной скоростью |
initcaabf | Инициализация альфа-бета-фильтра с постоянным ускорением |
initcvekf | Инициализируйте расширенный фильтр Калмана с постоянной скоростью. |
initcaekf | Инициализация расширенного фильтра Калмана с постоянным ускорением. |
initrpekf | Инициализация постоянного диапазона скоростей - параметризованный расширенный фильтр Калмана. |
initapekf | Инициализируйте постоянный угол скорости-параметризованный расширенный фильтр Калмана. |
initctekf | Инициализация расширенного фильтра Калмана с постоянной скоростью поворота. |
initcackf | Инициализация кубического фильтра с постоянным ускорением. |
initctckf | Инициализация кубатурного фильтра с постоянной скоростью поворота. |
initcvckf | Инициализация кубатурного фильтра постоянной скорости. |
initcvukf | Инициализация неописанного фильтра Калмана с постоянной скоростью. |
initcaukf | Инициализация неописанного фильтра Калмана с постоянным ускорением. |
initctukf | Инициализация неописанного фильтра Калмана с постоянной скоростью поворота. |
initcvmscekf | Инициализируйте расширенный фильтр Калмана с постоянной скоростью в измененных сферических координатах. |
initekfimm | Инициализация фильтра IMM отслеживания. |
Можно также написать собственную функцию инициализации, используя следующий синтаксис:
filter = filterInitializationFcn(detection)
objectDetection. Вывод этой функции должен быть объектом фильтра: trackingKF, trackingEKF, trackingUKF, trackingCKF, trackingGSF, trackingIMM, trackingMSCEKF, или trackingABF.
Для получения рекомендаций по написанию этой функции используйте type для изучения деталей встроенных функций MATLAB. Например:
typeinitcvekf
Примечание
trackerJPDA не принимает все функции инициализации фильтра в панели инструментов Sensor Fusion и Tracking. Полный список функций инициализации фильтра, доступных в Sensor Fusion и Tracking Toolbox, приведен в разделе Initialization (Инициализация) окна Estimation Filters (Фильтры оценки).
Value of k for k-best JPDA - Значение k для k-best JPDAinf (по умолчанию) | положительное целое числоЗначение k для k-best JPDA, указанное как положительное целое число. Этот параметр определяет максимальное количество возможных совместных событий для ассоциации отслеживания и обнаружения каждого кластера. Установка для этого свойства конечного значения позволяет запускать k-best JPDA-трекер, который генерирует максимум k событий на кластер.
Feasible joint events generation function name - Имя функции генерации возможных совместных событий@jpdaEvents (по умолчанию) | дескриптор функции | символьный векторИмя функции генерации возможных совместных событий, указанное как дескриптор функции или как символьный вектор, содержащий имя функции генерации возможных совместных событий. Функция генерации генерирует возможные матрицы совместных событий из допустимых событий (обычно задаваемых матрицей проверки действительности или матрицей правдоподобия) сценария. Для получения более подробной информации см. jpadEvents.
Также можно написать собственную функцию генерации.
Если для параметра k-best JPDA установлено значение k inf, функция должна иметь следующий синтаксис:
FJE = myfunction(ValidationMatrix)
jpdaEvents. Если параметр Value of k для k-best JPDA имеет конечное значение, функция должна иметь следующий синтаксис:
[FJE,FJEProbs] = myfunction(likelihoodMatrix,k)
jpdaEvents.
Для получения рекомендаций по написанию этой функции используйте type для проверки деталей jpdaEvents:
type jpdaEventsПример:
@myfunction или 'myfunction'
Maximum number of tracks - Максимальное количество дорожек100 (по умолчанию) | положительное целое числоМаксимальное количество дорожек, которое может поддерживать блок, указанное как положительное целое число.
Maximum number of sensors - Максимальное количество датчиков20 (по умолчанию) | положительное целое числоМаксимальное количество датчиков, которые может обработать блок, указанное как положительное целое число. Это значение должно быть больше или равно самому высокому SensorIndex значение, введенное в порт ввода Detections.
Absolute tolerance between time stamps of detections - Абсолютный допуск между временными отметками обнаружений20 (по умолчанию) | положительное целое числоАбсолютный допуск по времени между обнаружениями для одного и того же датчика, заданный как положительный скаляр. Блок ожидает, что обнаружения от датчика будут иметь идентичные метки времени. Однако, если разность отметок времени между обнаружениями датчика находится в пределах запаса, заданного этим параметром, эти обнаружения будут использоваться для обновления оценки дорожки на основе среднего времени этих обнаружений.
Out-of-sequence measurements handling - Обработка несистематических измеренийTerminate (по умолчанию) | NeglectОбработка измерений вне последовательности, указанная как Terminate или Neglect. Каждое обнаружение имеет связанную с ним временную метку td, и блок трекера имеет собственную временную метку tt, которая обновляется при каждом вызове. Блок трекера рассматривает измерение как OOSM, если td < tt.
Если параметр указан как:
Terminate - Блок прекращает работу, когда он сталкивается с любыми измерениями вне последовательности.
Neglect - Блок игнорирует любые измерения вне последовательности и продолжает работать.
Примечание
Для трекера требуются все обнаруженные входные данные, которые являются общими SensorIndex имеют свои Time различия, ограниченные параметром Absolute tolerance между метками времени обнаружений. Поэтому при установке для параметра обработки измерений вне последовательности значения 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.
Simulate using - Тип выполняемого моделированияInterpreted Execution (по умолчанию) | Code GenerationInterpreted execution - Моделирование модели с помощью интерпретатора MATLAB. Этот параметр сокращает время запуска. В Interpreted execution можно отладить исходный код блока.
Code generation - моделирование модели с использованием сгенерированного кода C. При первом запуске моделирования Simulink генерирует код C для блока. Код C используется повторно для последующего моделирования до тех пор, пока модель не изменится. Для этого параметра требуется дополнительное время запуска.
Threshold for assigning detections to tracks - Пороговое значение для назначения обнаружений дорожкам30*[1 Inf] (по умолчанию) | положительный скаляр | вектор 1 на 2 положительных значенийПорог назначения обнаружений дорожкам (или порог стробирования), заданный как положительный скаляр или вектор 1 на 2 [C1, С2], где C1 ≤ C2. Если указано как скаляр, указанное значение, val, расширяется до [val ,Inf].
Первоначально трекер выполняет грубую оценку для нормализованного расстояния между всеми дорожками и обнаружениями. Трекер вычисляет только точное нормированное расстояние для комбинаций, грубое нормированное расстояние которых меньше C2. Кроме того, трекер может назначать обнаружение дорожке только в том случае, если точное нормализованное расстояние между ними меньше C1. См. раздел distance функция, используемая с фильтрами слежения (например, trackingCKF и trackingEKF) для пояснения расчета расстояния.
Совет:
Увеличьте значение C2, если существуют комбинации отслеживания и обнаружения, которые должны вычисляться для назначения, но не являются таковыми. Уменьшите это значение, если расчет затрат занимает слишком много времени.
Увеличьте значение C1, если есть обнаружения, которые должны быть назначены дорожкам, но не. Уменьшите это значение, если есть обнаружения, которые назначены дорожкам, которым они не должны быть назначены (слишком далеко).
Threshold to initialize a track - Пороговое значение для инициализации дорожки0 (по умолчанию) | скаляр в диапазоне [0, 1]Порог вероятности инициализации новой дорожки, указанный как скаляр в диапазоне [0, 1]. Если вероятности ассоциирования обнаружения с любой из существующих дорожек меньше, чем InitializationThreshold, обнаружение используется для инициализации новой дорожки. Это позволяет обнаружениям, которые находятся в пределах вентиля проверки подлинности дорожки, но имеют вероятность ассоциации ниже порога инициализации, порождать новую дорожку.
Пример: 0.1
Probability of detection - Вероятность обнаружения0.9 (по умолчанию) | скаляр в диапазоне [0, 1]Вероятность обнаружения, заданная как скаляр в диапазоне [0, 1]. Это свойство используется при вычислениях предельных задних вероятностей ассоциации и вероятности существования трека при инициализации и обновлении трека.
Spatial density of clutter measurements - Пространственная плотность измерений загромождений1e-5 (по умолчанию) | положительный скалярПространственная плотность измерений загромождения, заданная как положительный скаляр. Плотность беспорядка описывает ожидаемое количество ложноположительных обнаружений на единицу объема. Используется в качестве параметра модели захламления Пуассона. Если для параметра Тип логики подтверждения и удаления трека установлено значение 'Integrated', этот параметр также используется при вычислении начальной вероятности существования дорожки.
Type of track confirmation and deletion logic - Логический тип подтверждения и удаленияHistory (по умолчанию) | IntegratedЛогический тип подтверждения и удаления, выбранный как:
History - Подтверждение и удаление трека основано на количестве назначений трека обнаружению в последних обновлениях трекера.
Integrated - Подтверждение и удаление трека основано на вероятности существования трека, которая интегрирована в функцию присвоения.
Confirmation threshold [M N] - Порог подтверждения отслеживания для логики истории[2, 3] (по умолчанию) | действительный вектор 1 на 2 положительных целых чиселПорог подтверждения отслеживания для логики истории, заданный как действительный вектор 1 на 2 положительных целых чисел [M N]. Дорожка подтверждается, если она получает по крайней мере M обнаружения в последнем N обновления.
Чтобы включить этот параметр, установите Тип логики подтверждения и удаления дорожки в значение 'History'.
Deletion threshold [P Q] - Пороговое значение удаления отслеживания для логики истории[5, 5] (по умолчанию) | действительный вектор 1 на 2 положительных целых чиселПорог удаления отслеживания для логики истории, заданный как действительный вектор 1 на 2 положительных целых чисел, [P Q]. Если, в P последнего Q трекер обновляет, подтвержденная дорожка не назначается никакому обнаружению, вероятность которого превышает порог регистрации параметра «попадание» или «промах», затем эта дорожка удаляется.
Чтобы включить этот параметр, установите Тип логики подтверждения и удаления дорожки в значение 'History'.
Threshold for registering 'hit' or 'miss' - Пороговое значение для регистрации «Hit» или «Mission»0.2 (по умолчанию) | скаляр в диапазоне [0, 1]Пороговое значение для регистрации «hit» или «miss», указанное как скаляр в диапазоне [0, 1]. Логика истории дорожек регистрирует «промах», и дорожка будет скомпонована, если сумма предельных вероятностей назначений ниже HitMissThreshold. В противном случае логика истории дорожек регистрирует «попадание».
Чтобы включить этот параметр, установите Тип логики подтверждения и удаления дорожки в значение 'History'.
Confirmation threshold [Probability] - Пороговое значение подтверждения отслеживания для интегрированной логики0.95 (по умолчанию) | положительный скалярПорог подтверждения отслеживания для интегрированной логики, заданный как действительный положительный скаляр. Дорожка подтверждается, если ее вероятность существования больше или равна порогу подтверждения.
Чтобы включить этот параметр, установите Тип логики подтверждения и удаления дорожки в значение 'Integrated'.
Deletion threshold [Probability] - Пороговое значение удаления дорожки для интегрированной логики0.1 (по умолчанию) | положительный скалярПорог удаления отслеживания для интегрированной логики, заданный как положительный скаляр. Дорожка удаляется, если ее вероятность существования падает ниже этого порога.
Чтобы включить этот параметр, установите Тип логики подтверждения и удаления дорожки в значение 'Integrated'.
Spatial density of new targets - Пространственная плотность новых целей1e-5 (по умолчанию) | положительный скалярПространственная плотность новых целей, заданная как положительный скаляр. Новая целевая плотность описывает ожидаемое количество новых дорожек на единицу объема в пространстве измерения. Используется при вычислении вероятности существования дорожки при инициализации дорожки.
Чтобы включить этот параметр, установите Тип логики подтверждения и удаления дорожки в значение 'Integrated'.
Time rate of true target deaths - Временной коэффициент истинных целевых смертей0.01 (по умолчанию) | скаляр в диапазоне [0, 1]Временной коэффициент истинных целевых смертей, указанный как скаляр в диапазоне [0, 1]. Этот параметр описывает вероятность исчезновения истинных целей. Он связан с распространением вероятности существования дорожки (PTE):
δtPTE (t)
где DeathRate - временная скорость истинных целевых смертей, а δt - временной интервал с момента предыдущего времени t обновления.
Чтобы включить этот параметр, установите Тип логики подтверждения и удаления дорожки в значение 'Integrated'.
Prediction time source - Источник времени прогнозированияAuto (по умолчанию) | Input portИсточник для времени прогнозирования, указанный как Input port или Auto. Выбрать Input port для ввода времени обновления с помощью входного порта прогнозируемого времени. В противном случае время обновления определяется часами моделирования, управляемыми Simulink.
Enable cost matrix input - Включить входной порт для матрицы затратУстановите этот флажок, чтобы включить ввод матрицы затрат с помощью порта ввода матрицы затрат.
Enable detectable track IDs input - Включение ввода обнаруживаемых идентификаторов дорожекУстановите этот флажок, чтобы включить входной порт обнаруживаемых идентификаторов дорожек.
Enable tentative tracks output - Включить выходной порт для предварительных дорожекУстановите этот флажок, чтобы включить вывод предварительных дорожек через выходной порт предварительных дорожек.
Enable all tracks output - Включить выходной порт для всех дорожекУстановите этот флажок, чтобы включить вывод всех дорожек через выходной порт All Tracks.
Enable information output - Включить выходной порт для анализа информацииУстановите этот флажок, чтобы включить выходной порт для анализа информации через выходной порт Info.
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 bus name.
Когда трекер совместной вероятностной ассоциации данных (JPDA) обрабатывает обнаружения, создание и управление отслеживанием выполняются следующим образом:
Трекер разделяет обнаруженные сигналы на несколько групп с помощью исходного датчика.
Для каждого датчика:
Трекер вычисляет расстояния от обнаружений до существующих дорожек и формирует costMatrix.
Трекер создает проверочную матрицу на основе порога назначения (или порога перехода) существующих дорожек. Проверочная матрица - это двоичная матрица, в которой перечислены все возможные ассоциации обнаружения для отслеживания. Дополнительные сведения см. в разделе Возможные совместные события.
Затем дорожки и обнаружения разделяют на кластеры. Кластер может содержать одну дорожку или несколько дорожек, если эти дорожки имеют общие обнаружения в пределах их элементов проверки. Проверочный затвор - это пространственная граница, в которой предсказанное обнаружение дорожки имеет высокую вероятность падения. Дополнительные сведения см. в разделе Возможные совместные события.
Обновите все кластеры, следуя порядку средней временной метки обнаружения в кластере. Для каждого кластера трекер:
Создает все возможные совместные события. Для получения более подробной информации см. jpdaEvents.
Вычисляет заднюю вероятность каждого совместного события.
Вычисляет предельную вероятность каждой отдельной пары «обнаружение-дорожка» в кластере.
Сообщает о слабых обнаружениях. Слабые обнаружения - это обнаружения, которые находятся в пределах вентиля проверки, по крайней мере, одной дорожки, но имеют связь вероятности со всеми дорожками меньше, чем IntitializationThreshold.
Обновляет дорожки в кластере с помощью correctjpda.
Неназначенные обнаружения (обнаружения не в кластере) и слабые обнаружения порождают новые дорожки.
Трекер проверяет все дорожки на удаление. Треки удаляются по количеству сканирований без связи с помощью 'History' логика или на основе их вероятности существования с использованием'Integrated' логика отслеживания.
Все треки прогнозируются до самого последнего значения времени (либо входного времени, если оно предоставлено, либо последней средней отметки времени кластера).
В типичном рабочем процессе для системы отслеживания трекер должен определить, может ли обнаружение быть связано с какой-либо из существующих дорожек. Если трекер поддерживает только одну дорожку, назначение может быть выполнено путем оценки проверочного затвора вокруг предсказанного измерения и принятия решения о том, попадает ли измерение в проверочный затвор. В пространстве измерения проверочный затвор представляет собой пространственную границу, такую как эллипс 2-D или эллипсоид 3-D, центрированный при прогнозируемом измерении. Проверочный вентиль определяется с использованием информации о вероятности (оценка состояния и ковариация, например) существующей дорожки, так что правильные или идеальные обнаружения имеют высокую вероятность (97% вероятность, например) попадания в этот проверочный вентиль.
Однако, если трекер поддерживает множество дорожек, процесс ассоциации данных становится более сложным, поскольку одно обнаружение может попасть в вентили проверки достоверности множества дорожек. Например, на следующем рисунке дорожки T1 и T2 активно поддерживаются в трекере, и каждая из них имеет свой вентиль проверки. Поскольку D2 обнаружения находится на пересечении вентилей проверки достоверности как T1, так и T2, две дорожки (T1 и T2) соединены и образуют кластер. Кластер - это набор подключенных дорожек и связанных с ними обнаружений.

Для представления отношения связи в кластере обычно используется матрица проверки. Каждая строка матрицы проверки соответствует обнаружению, в то время как каждый столбец соответствует дорожке. Для учета вероятности того, что каждое обнаружение будет загромождаться, добавляется первый столбец, который обычно называют «дорожкой 0» или T0. Если детектор Di находится внутри проверочного вентиля дорожки Dj, то (j, i + 1) запись проверочной матрицы равна 1. В противном случае он равен нулю. Для кластера, показанного на рисунке, проверочная матрица
Обратите внимание на то, что все элементы в первом столбце Λ равны 1, поскольку любое обнаружение может быть загроможденным или ложным. Важным шагом в логике ассоциации совместных вероятностных данных (JPDA) является получение всех возможных независимых совместных событий в кластере. Двумя предположениями для возможных совместных мероприятий являются:
Обнаружение не может быть выдано несколькими дорожками.
Во время одного сканирования датчик не может обнаружить дорожку более одного раза.
На основе этих двух предположений могут быть сформулированы возможные совместные события (FJE). Каждый FJE отображается на FJE-матрицу Startp из начальной проверочной матрицы Λ. Например, с помощью проверочной матрицы Λ можно получить восемь матриц FJE:
Как прямое следствие этих двух предположений, matrices Startp имеет ровно одно значение «1» на строку. Кроме того, за исключением первого столбца, отображаемого для загромождения, может быть не более одного «1» на столбец. Когда количество соединенных дорожек растет в кластере, количество FJE быстро увеличивается. jpdaEvents функция использует эффективный алгоритм поиска по глубине для генерации всех возможных матриц совместных событий.
Поля структуры дорожки:
| Область | Определение |
|---|---|
SourceIndex | Уникальный индекс источника, используемый для различения источников отслеживания в среде нескольких трекеров. |
TrackID | Уникальный идентификатор дорожки, используемый для различения нескольких дорожек. |
BranchID | Уникальный идентификатор ветви дорожки, используемый для различения нескольких ветвей дорожки. |
UpdateTime | Время обновления дорожки. Единицы измерения в секундах. |
Age | Количество раз, когда дорожка выживала. |
State | Значение вектора состояния во время обновления. |
StateCovariance | Ковариационная матрица неопределенности. |
TrackLogic | Логический тип подтверждения и удаления, возвращенный как 'History' или 'Integrated'. |
TrackLogicState | Текущее состояние типа логики дорожки. На основе типа логики
|
IsConfirmed | Статус подтверждения. Это поле true если дорожка подтверждена как реальная цель. |
IsCoasted | Состояние движения по побережью. Это поле true если дорожка обновляется без нового обнаружения. |
IsSelfReported | Укажите, сообщается ли трекер о дорожке. Это поле используется в среде слияния дорожек. Возвращается как |
ObjectClassID | Целое значение, представляющее классификацию объектов. Стоимость 0 представляет неизвестную классификацию. Ненулевые классификации применяются только к подтвержденным трекам. |
ObjectAttributes | Дополнительная информация о дорожке. |
objectDetection | objectTrack | staticDetectionFuser | trackerGNN | trackerTOMHT | trackHistoryLogic | trackingABF | trackingCKF | trackingEKF | trackingIMM | trackingKF | trackingUKF1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.
