Создание и управление треками нескольких объектов
Automated Driving Toolbox
Блок Multi-Object Tracker инициализирует, подтверждает, предсказывает, исправляет и удаляет дорожки движущихся объектов. Входами к трекеру мультиобъекта являются отчеты об обнаружении, сгенерированные блоками Driving Radar Data Generator и Vision Detection Generator. Мультиобъектный трекер принимает обнаружения от нескольких датчиков и присваивает их трекам с помощью глобального критерия ближайшего соседа (GNN). Каждое обнаружение присваивается отдельной дорожке. Если обнаружение не может быть назначено ни одному треку, многообъектный трекер создает новую дорожку.
Новый трек запускается в предварительном состоянии. Если предварительному дорожке назначено достаточное количество обнаружений, его статус меняется на подтвержденный. Когда дорожка подтверждена, мультиобъект считает, что дорожка представляет физический объект. Если обнаружение не добавляется к дорожке в пределах заданного количества обновлений, дорожка удаляется.
Мультиобъектный трекер также оценивает вектор состояния и векторную ковариационную матрицу состояния для каждой дорожки, используя фильтр Калмана. Эти векторы состояния используются, чтобы предсказать местоположение дорожки в каждой системе координат и определить вероятность того, что каждое обнаружение будет назначено каждой дорожке.
Detections
- Список обнаруженийСписок обнаружений, заданный как шина Simulink, содержащая структуру MATLAB. См. раздел Группирование сигнальных линий в виртуальные шины (Simulink). Структура имеет форму:
Область | Описание | Напечатать |
---|---|---|
NumDetections | Количество обнаружений | целое число |
IsValidTime | Ложь, когда обновления запрашиваются в моменты времени, которые находятся между интервалами вызова блоков | Булев |
Detections | Обнаружения объектов | Массив структур обнаружения объектов. Первый NumDetections из этих обнаружений являются фактическими обнаружениями. |
Определения структур обнаружения объектов содержатся в Detections описаниях выходных портов блоков Driving Radar Data Generator и Vision Detection Generator.
Примечание
Структура обнаружения объектов содержит Time
поле. Временной тег каждого обнаружения объектов должен быть меньше или равен времени текущего вызова блока. Временной тег также должен быть больше времени обновления, заданного в предыдущем вызове блока.
Prediction Time
- Отследите время обновленияОтследите время обновления, заданное как действительный скаляр. Мультиобъектный трекер обновляет все треки к этому времени. Время обновления должно всегда увеличиваться с каждым вызовом блока. Модули указаны в секундах.
Примечание
Структура обнаружения объектов содержит Time
поле. Временной тег каждого обнаружения объектов должен быть меньше или равен времени текущего вызова блока. Временной тег также должен быть больше, чем время обновления в предыдущем вызове блока.
Чтобы включить этот порт, установите Prediction time source равным Input port
.
Cost Matrix
- Матрица затратМатрица стоимости, заданная как вещественная N t-by- N d-матрица, где N t - количество существующих треков, а N d - количество текущих обнаружений.
Строки матрицы затрат соответствуют существующим трекам. Столбцы соответствуют обнаружениям. Дорожки упорядочиваются по мере их появления в списке дорожек в All Tracks выходном порте предыдущего вызова блока.
В первом обновлении многообъектного трекера или если у трека нет предыдущих треков, присвойте матрице затрат размер [0, N d]. Стоимость должна быть рассчитана так, чтобы более низкие затраты указывали на более высокую вероятность того, что многообъектный трекер присваивает обнаружение дорожке. Чтобы предотвратить назначение определенных обнаружений определенным трекам, используйте Inf
.
Чтобы включить этот порт, выберите Enable cost matrix input.
Detectable Track IDs
- Обнаруживаемые идентификаторы дорожекОбнаруживаемые идентификаторы дорожек, заданные как действительный вектор M -by-1 или M -by-2 матрица. Обнаруживаемые дорожки являются треками, которые датчики ожидают обнаружить. Первый столбец матрицы содержит список идентификаторов дорожек, которые датчики сообщают как обнаруживаемые. Дополнительный второй столбец содержит вероятность обнаружения для дорожки.
Дорожки, идентификаторы которых не включены в Detectable Track IDs, считаются неопределяемыми. Логика удаления дорожки не рассчитывает отсутствие обнаружения как «пропущенное обнаружение» в целях удаления дорожки.
Если этот порт не включен, трекер принимает, что все дорожки обнаруживаются при каждом вызове блока.
Чтобы включить этот порт, на вкладке Port Setting, выберите Enable detectable track 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. См. «Создание невиртуальных шин» (Simulink).
В этой таблице показаны структурные поля.
Область | Описание |
---|---|
NumTracks | Количество дорожек |
Tracks | Массив структур дорожки длиной, заданной параметром Maximum number of tracks. Только первый NumTracks из них являются фактическими треками. |
В этой таблице показаны поля каждой структуры дорожки.
Область | Определение |
---|---|
TrackID | Уникальный идентификатор дорожки, используемый для различения нескольких дорожек. |
BranchID | Уникальный идентификатор ветви дорожки, используемый для различения нескольких ветвей дорожки. |
SourceIndex | Уникальный исходный индекс, используемый для различения источников отслеживания в среде нескольких трекеров. |
UpdateTime | Время обновления дорожки. Модули указаны в секундах. |
Age | Количество обновлений дорожки. |
State | Значение вектора состояния во время обновления. |
StateCovariance | Ковариационная матрица неопределенности. |
ObjectClassID | Целое значение, представляющее классификацию объектов. Значение 0 представляет неизвестную классификацию. Ненулевые классификации применяются только к подтвержденным трекам. |
TrackLogic | Тип логики подтверждения и удаления. Это значение всегда 'History' для радарных датчиков, чтобы указать основанную на истории логику. |
TrackLogicState | Текущее состояние типа логики дорожки, возвращаемое как 1-байтовый K логический массив. K - количество последних зарегистрированных логических состояний трека. В массиве |
IsConfirmed | Статус подтверждения. Это поле true если дорожка подтверждена как действительная цель. |
IsCoasted | Состояние скручивания. Это поле true если дорожка обновляется без нового обнаружения. |
IsSelfReported | Укажите, сообщает ли трек трекер. Это поле используется в среде слияния треков. Возвращается следующим |
ObjectAttributes | Дополнительная информация о дорожке. |
Для получения дополнительной информации об этих полях смотрите objectTrack
.
Дорожка подтверждается, если:
По меньшей мере M обнаружения назначаются дорожке во время первых обновлений N после инициализации дорожки. Чтобы задать значения M и N, используйте параметр M and N for the M-out-of-N confirmation.
Обнаружение, инициирующее дорожку, имеет ObjectClassID
больше нуля.
Tentative Tracks
- Ориентировочные дорожкиОриентировочные дорожки, возвращенные как шина Simulink, содержащая структуру MATLAB. См. «Создание невиртуальных шин» (Simulink). Дорожка является ориентировочной, прежде чем она будет подтверждена.
В этой таблице показаны структурные поля.
Область | Описание |
---|---|
NumTracks | Количество дорожек |
Tracks | Массив структур дорожки длиной, заданной параметром Maximum number of tracks. Только первый NumTracks из них являются фактическими треками. |
В этой таблице показаны поля каждой структуры дорожки.
Область | Определение |
---|---|
TrackID | Уникальный идентификатор дорожки, используемый для различения нескольких дорожек. |
BranchID | Уникальный идентификатор ветви дорожки, используемый для различения нескольких ветвей дорожки. |
SourceIndex | Уникальный исходный индекс, используемый для различения источников отслеживания в среде нескольких трекеров. |
UpdateTime | Время обновления дорожки. Модули указаны в секундах. |
Age | Количество обновлений дорожки. |
State | Значение вектора состояния во время обновления. |
StateCovariance | Ковариационная матрица неопределенности. |
ObjectClassID | Целое значение, представляющее классификацию объектов. Значение 0 представляет неизвестную классификацию. Ненулевые классификации применяются только к подтвержденным трекам. |
TrackLogic | Тип логики подтверждения и удаления. Это значение всегда 'History' для радарных датчиков, чтобы указать основанную на истории логику. |
TrackLogicState | Текущее состояние типа логики дорожки, возвращаемое как 1-байтовый K логический массив. K - количество последних зарегистрированных логических состояний трека. В массиве |
IsConfirmed | Статус подтверждения. Это поле true если дорожка подтверждена как действительная цель. |
IsCoasted | Состояние трассировки. Это поле true если дорожка обновляется без нового обнаружения. |
IsSelfReported | Укажите, сообщает ли трек трекер. Это поле используется в среде слияния треков. Возвращается следующим |
ObjectAttributes | Дополнительная информация о дорожке. |
Для получения дополнительной информации об этих полях смотрите objectTrack
.
Чтобы включить этот порт, выберите Enable tentative tracks output.
All Tracks
- Все трекиОбъединенный список подтвержденных и ориентировочных дорожек, возвращенных как шина Simulink, содержащая структуру MATLAB. См. «Создание невиртуальных шин» (Simulink).
В этой таблице показаны структурные поля.
Область | Описание |
---|---|
NumTracks | Количество дорожек |
Tracks | Массив структур дорожки длиной, заданной параметром Maximum number of tracks. Только первый NumTracks из них являются фактическими треками. |
В этой таблице показаны поля каждой структуры дорожки.
Область | Определение |
---|---|
TrackID | Уникальный идентификатор дорожки, используемый для различения нескольких дорожек. |
BranchID | Уникальный идентификатор ветви дорожки, используемый для различения нескольких ветвей дорожки. |
SourceIndex | Уникальный исходный индекс, используемый для различения источников отслеживания в среде нескольких трекеров. |
UpdateTime | Время обновления дорожки. Модули указаны в секундах. |
Age | Количество обновлений дорожки. |
State | Значение вектора состояния во время обновления. |
StateCovariance | Ковариационная матрица неопределенности. |
ObjectClassID | Целое значение, представляющее классификацию объектов. Значение 0 представляет неизвестную классификацию. Ненулевые классификации применяются только к подтвержденным трекам. |
TrackLogic | Тип логики подтверждения и удаления. Это значение всегда 'History' для радарных датчиков, чтобы указать основанную на истории логику. |
TrackLogicState | Текущее состояние типа логики дорожки, возвращаемое как 1-байтовый K логический массив. K - количество последних зарегистрированных логических состояний трека. В массиве |
IsConfirmed | Статус подтверждения. Это поле true если дорожка подтверждена как действительная цель. |
IsCoasted | Состояние трассировки. Это поле true если дорожка обновляется без нового обнаружения. |
IsSelfReported | Укажите, сообщает ли трек трекер. Это поле используется в среде слияния треков. Возвращается следующим |
ObjectAttributes | Дополнительная информация о дорожке. |
Для получения дополнительной информации об этих полях смотрите objectTrack
.
Чтобы включить этот порт, выберите Enable all tracks output.
Tracker identifier
- Уникальный идентификатор трекера0
(по умолчанию) | неотрицательное целое числоУникальный идентификатор трекера, заданный как неотрицательное целое число. Этот параметр используется как SourceIndex
в выходах и различает треки, которые поступают от разных трекеров в системе с несколькими трекерами. Вы должны задать это свойство как положительное целое число, чтобы использовать выходы дорожки в качестве входов для track fuser.
Пример: 1
Filter initialization function name
- функция инициализации фильтра Калманаinitcvkf
(по умолчанию) | имя функцииФункция инициализации фильтра Калмана, заданная как имя функции. Тулбокс обеспечивает несколько функций инициализации. Для примера функции инициализации см. initcvekf
.
Threshold for assigning detections to tracks
- Порог назначения обнаружения30.0
(по умолчанию) | положительный действительный скалярПорог назначения обнаружения, заданный как положительный действительный скаляр. Чтобы назначить обнаружение дорожке, нормированное расстояние обнаружения от дорожки должно быть меньше порога назначения. Если некоторые обнаружения остаются неназначенными трекам, которым вы хотите назначить их, увеличьте порог. Если некоторые обнаружения назначены неправильным трекам, уменьшите порог.
M and N for the M-out-of-N confirmation
- Параметры подтверждения для создания трека[2,3]
(по умолчанию) | двухэлементный вектор положительных целых чиселПараметры подтверждения для создания дорожки, заданные как двухэлементный вектор положительных целых чисел, [M,N]
. Дорожка подтверждается, когда, по крайней мере M
обнаружения назначаются дорожке во время первого N
обновляется после инициализации дорожки. M
должно быть меньше или равно N
.
При установке N
, учитывайте количество раз, которое вы хотите обновить трекер, прежде чем он подтвердит дорожку. Например, если трекер обновляется каждые 0,05 секунды, и вы позволяете 0,5 секунды принять решение о подтверждении, установите N
= 10.
При установке M
, учитывайте вероятность обнаружения объектов для датчиков. Вероятность обнаружения зависит от таких факторов, как окклюзия или загромождение. Можно уменьшить M
когда дорожки не могут быть подтверждены или увеличены M
когда трекам назначено слишком много ложных обнаружений.
Пример: [3,5]
P and R for the P-out-of-R deletion
- Отслеживайте порог удаления[5 5]
(по умолчанию) | реальный вектор 1 на 2 положительных целых чиселОтследите порог удаления для логики истории, заданный как действительный вектор 1 на 2 положительных целых чисел [P R]
. Если подтвержденная дорожка не назначена никакому обнаружению P
раз в последней R
трекер обновляется, затем трек удаляется.
Maximum number of tracks
- Максимальное количество дорожек200
(по умолчанию) | положительное целое числоМаксимальное количество треков, которые может обработать блок, заданное как положительное целое число.
Maximum number of sensors
- Максимальное количество датчиковМаксимальное количество датчиков, которые может обработать блок, заданное как положительное целое число. Это значение должно быть больше или равно самому высокому SensorIndex
значение, используемое в Detections входном порте.
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 входной порт.
Prediction time source
- Источник для времени предсказанияInput port
(по умолчанию) | Auto
Источник для времени предсказания, заданный как Input port
или Auto
. Выберите Input port
для ввода времени обновления с помощью Prediction Time входного порта. В противном случае часы симуляции, управляемые Simulink, определяют время обновления.
Пример: Auto
Enable cost matrix input
- Включите входной порт для матрицы затратoff
(по умолчанию) | on
Установите этот флажок, чтобы включить вход матрицы затрат с помощью Cost Matrix входного порта.
Enable detectable track IDs input
- Включите обнаруживаемые идентификаторы дорожекoff
(по умолчанию) | on
Установите этот флажок, чтобы включить Detectable Track IDs входной порт.
Source of output bus name
- Источник имени выходной шиныAuto
(по умолчанию) | Property
Источник имени выхода шины, заданный как Auto
или Property
.
Если вы выбираете Auto
блок автоматически создает имя шины.
Если вы выбираете Property
укажите имя шины с помощью параметра Specify an output bus name.
Specify an output bus name
- Имя выходной шиныЧтобы включить этот параметр, установите параметр Source of output bus name равным Property
.
Enable tentative tracks output
- Включите выходной порт для ориентировочных дорожекoff
(по умолчанию) | on
Установите этот флажок, чтобы включить выход предварительных дорожек с помощью Tentative Tracks выходного порта.
Enable all tracks output
- Включите выходной порт для всех трековoff
(по умолчанию) | on
Установите этот флажок, чтобы включить выход всех дорожек с помощью All Tracks выходного порта.
Simulate using
- Тип выполняемой симуляцииInterpreted execution
(по умолчанию) | Code generation
Interpreted execution
- Симулируйте модель с помощью интерпретатора MATLAB. Эта опция сокращает время запуска. В Interpreted execution
mode, можно отлаживать исходный код блока.
Code generation
- Симулируйте модель с помощью сгенерированного кода C/C + +. При первом запуске симуляции Simulink генерирует код C/C + + для блока. Код С повторно используется для последующих симуляций, пока модель не меняется. Эта опция требует дополнительного времени запуска.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.