Multi-Object Tracker

Создайте и управляйте дорожками нескольких объектов

  • Библиотека:
  • Automated Driving Toolbox

  • Multi-Object Tracker block

Описание

Блок Multi-Object Tracker инициализирует, подтверждает, предсказывает, корректирует и удаляет дорожки перемещения объектов. Входные параметры к мультиобъектному средству отслеживания являются отчетами обнаружения, сгенерированными блоками Vision Detection Generator и Radar Detection Generator. Мультиобъектное средство отслеживания принимает обнаружения от нескольких датчиков и присваивает их дорожкам с помощью критерия глобального самого близкого соседа (GNN). Каждое обнаружение присвоено отдельной дорожке. Если обнаружение не может быть присвоено никакой дорожке, мультиобъектное средство отслеживания создает новый трек.

Новый трек запускается в предварительном состоянии. Если достаточно обнаружений присвоено предварительной дорожке, ее изменениям состояния в подтвержденном. Когда дорожка подтверждена, мультиобъектное средство отслеживания полагает что дорожка представлять физический объект. Если обнаружения не добавляются к дорожке в specifiable количестве обновлений, дорожка удалена.

Мультиобъектное средство отслеживания также оценивает ковариационную матрицу вектора состояния и вектора состояния для каждой дорожки с помощью Фильтра Калмана. Эти векторы состояния используются, чтобы предсказать местоположение дорожки в каждой системе координат и определить вероятность каждого обнаружения, присваиваемого каждой дорожке.

Порты

Входной параметр

развернуть все

Список обнаружений в виде шины Simulink, содержащей структуру MATLAB. Смотрите Сигнальные линии Группы в Виртуальные Шины (Simulink). Структура имеет форму:

Поле ОписаниеВвод
NumDetectionsКоличество обнаруженийцелое число
IsValidTimeЛожь, когда обновления время от времени требуют, которые являются между интервалами вызова блокаБулевская переменная
DetectionsОбнаружения объектовМассив структур обнаружения объектов. Первый NumDetections из этих обнаружений фактические обнаружения.

Определения структур обнаружения объектов найдены в описаниях выходного порта Detections блоков Vision Detection Generator и Radar Detection Generator.

Примечание

Структура обнаружения объектов содержит Time поле . Тег времени каждого обнаружения объектов должен быть меньше чем или равен времени текущего вызова блока. Тег времени должен также быть больше времени обновления, заданного в предыдущем вызове блока.

Отследите время обновления в виде действительного скаляра. Мультиобъектное средство отслеживания обновляет все дорожки к этому времени. Обновитесь время должно всегда увеличиваться с каждым вызовом блока. Модули находятся в секундах.

Примечание

Структура обнаружения объектов содержит Time поле . Тег времени каждого обнаружения объектов должен быть меньше чем или равен времени текущего вызова блока. Тег времени должен также быть больше времени обновления в предыдущем вызове блока.

Зависимости

Чтобы включить этот порт, установите Prediction time source на Input port.

Стойте матрицы в виде N с действительным знаком t-by-Nd матрица, где N t является количеством существующих дорожек, и N d является количеством текущих обнаружений.

Строки матрицы стоимости соответствуют существующим дорожкам. Столбцы соответствуют обнаружениям. Дорожки упорядочены, когда они появляются в списке дорожек в выходном порту All Tracks предыдущего вызова блока.

В первом обновлении мультиобъектного средства отслеживания, или если дорожка не имеет никаких предыдущих дорожек, присвоение, стоимость матрицирует размер [0, N d]. Стоимость должна быть вычислена так, чтобы более низкие цены указали на более высокую вероятность, что мультиобъектное средство отслеживания присваивает обнаружение дорожке. Чтобы препятствовать тому, чтобы определенные обнаружения были присвоены определенным дорожкам, используйте Inf.

Зависимости

Чтобы включить этот порт, выберите Enable cost matrix input.

Обнаруживаемые идентификаторы дорожки в виде M с действительным знаком-by-1 вектор или M-by-2 матрица. Обнаруживаемые дорожки являются дорожками, которые датчики ожидают обнаруживать. Первый столбец матрицы содержит список идентификаторов дорожки, о которых датчики сообщают как обнаруживаемые. Дополнительный второй столбец содержит вероятность обнаружения для дорожки.

Дорожки, идентификаторы которых не включены в Detectable Track IDs, рассматриваются необнаруживаемыми. Логика удаления дорожки не считает отсутствие обнаружения как "пропущенное обнаружение" в целях удаления дорожки.

Если этот порт не включен, средство отслеживания принимает все дорожки, чтобы быть обнаруживаемым при каждом вызове блока.

Зависимости

Чтобы включить этот порт, во вкладке Port Setting, выбирают Enable detectable track IDs Input.

Вывод

развернуть все

Подтвержденные дорожки, возвращенные как шина Simulink, содержащая структуру MATLAB. Смотрите Создают Невиртуальные Шины (Simulink).

Эта таблица показывает поля структуры.

Поле Описание
NumTracksКоличество дорожек
TracksМассив структур дорожки длины установлен параметром Maximum number of tracks. Только первый NumTracks из них фактические дорожки.

Эта таблица показывает поля каждой структуры дорожки.

Поле Описание
TrackID

Уникальное целое число, которое идентифицирует дорожку.

SourceIndex

Уникальный идентификатор средство отслеживания в среде средства отслеживания кратного. SourceIndex точно то же самое с TrackerIndex.

UpdateTime

Время дорожка было обновлено.

AgeЧисло раз пережившая дорожка.
State

Значение вектора состояния во время обновления.

StateCovariance

Ковариационная матрица неопределенности.

Extent

Пространственная оценка степени отслеживаемого объекта, возвращенного как d-by-d матрица, где d является размерностью объекта. Это поле только возвращено, когда фильтр отслеживания задан как ggiwphd (Sensor Fusion and Tracking Toolbox) фильтр.

MeasurementRate

Ожидаемое количество обнаружений от отслеживаемого объекта. Это поле только возвращено, когда фильтр отслеживания задан как ggiwphd (Sensor Fusion and Tracking Toolbox) фильтр.

IsConfirmed

Верный, если дорожка принята, чтобы быть действительной цели.

IsCoasted

trackerPHD не поддерживает IsCoasted поле . Значение всегда 0.

ObjectClassID

trackerPHD не поддерживает ObjectClassID поле . Значение всегда 0.

StateParameters

Параметры о дорожке утверждают систему координат, заданную в StateParameters свойство средства отслеживания PHD.

IsSelfReported

Укажите, сообщает ли о дорожке средство отслеживания. Это поле используется в среде сплава дорожки. Это возвращено как true по умолчанию.

Дорожка подтверждена если:

  • По крайней мере, обнаружения M присвоены дорожке во время первых обновлений N после инициализации дорожки. Чтобы задать значения M и N, используйте параметр M and N for the M-out-of-N confirmation.

  • Обнаружение, инициирующее дорожку, имеет ObjectClassID больше, чем нуль.

Предварительные дорожки, возвращенные как шина Simulink, содержащая структуру MATLAB. Смотрите Создают Невиртуальные Шины (Simulink). Дорожка является предварительной, прежде чем она будет подтверждена.

Эта таблица показывает поля структуры.

Поле Описание
NumTracksКоличество дорожек
TracksМассив структур дорожки длины установлен параметром Maximum number of tracks. Только первый NumTracks из них фактические дорожки.

Эта таблица показывает поля каждой структуры дорожки.

Поле Описание
TrackID

Уникальное целое число, которое идентифицирует дорожку.

SourceIndex

Уникальный идентификатор средство отслеживания в среде средства отслеживания кратного. SourceIndex точно то же самое с TrackerIndex.

UpdateTime

Время дорожка было обновлено.

AgeЧисло раз пережившая дорожка.
State

Значение вектора состояния во время обновления.

StateCovariance

Ковариационная матрица неопределенности.

Extent

Пространственная оценка степени отслеживаемого объекта, возвращенного как d-by-d матрица, где d является размерностью объекта. Это поле только возвращено, когда фильтр отслеживания задан как ggiwphd (Sensor Fusion and Tracking Toolbox) фильтр.

MeasurementRate

Ожидаемое количество обнаружений от отслеживаемого объекта. Это поле только возвращено, когда фильтр отслеживания задан как ggiwphd (Sensor Fusion and Tracking Toolbox) фильтр.

IsConfirmed

Верный, если дорожка принята, чтобы быть действительной цели.

IsCoasted

trackerPHD не поддерживает IsCoasted поле . Значение всегда 0.

ObjectClassID

trackerPHD не поддерживает ObjectClassID поле . Значение всегда 0.

StateParameters

Параметры о дорожке утверждают систему координат, заданную в StateParameters свойство средства отслеживания PHD.

IsSelfReported

Укажите, сообщает ли о дорожке средство отслеживания. Это поле используется в среде сплава дорожки. Это возвращено как true по умолчанию.

Зависимости

Чтобы включить этот порт, выберите Enable tentative tracks output.

Объединенный список подтвержденных и предварительных дорожек, возвращенных как шина Simulink, содержащая структуру MATLAB. Смотрите Создают Невиртуальные Шины (Simulink).

Эта таблица показывает поля структуры.

Поле Описание
NumTracksКоличество дорожек
TracksМассив структур дорожки длины установлен параметром Maximum number of tracks. Только первый NumTracks из них фактические дорожки.

Эта таблица показывает поля каждой структуры дорожки.

Поле Описание
TrackID

Уникальное целое число, которое идентифицирует дорожку.

SourceIndex

Уникальный идентификатор средство отслеживания в среде средства отслеживания кратного. SourceIndex точно то же самое с TrackerIndex.

UpdateTime

Время дорожка было обновлено.

AgeЧисло раз пережившая дорожка.
State

Значение вектора состояния во время обновления.

StateCovariance

Ковариационная матрица неопределенности.

Extent

Пространственная оценка степени отслеживаемого объекта, возвращенного как d-by-d матрица, где d является размерностью объекта. Это поле только возвращено, когда фильтр отслеживания задан как ggiwphd (Sensor Fusion and Tracking Toolbox) фильтр.

MeasurementRate

Ожидаемое количество обнаружений от отслеживаемого объекта. Это поле только возвращено, когда фильтр отслеживания задан как ggiwphd (Sensor Fusion and Tracking Toolbox) фильтр.

IsConfirmed

Верный, если дорожка принята, чтобы быть действительной цели.

IsCoasted

trackerPHD не поддерживает IsCoasted поле . Значение всегда 0.

ObjectClassID

trackerPHD не поддерживает ObjectClassID поле . Значение всегда 0.

StateParameters

Параметры о дорожке утверждают систему координат, заданную в StateParameters свойство средства отслеживания PHD.

IsSelfReported

Укажите, сообщает ли о дорожке средство отслеживания. Это поле используется в среде сплава дорожки. Это возвращено как true по умолчанию.

Зависимости

Чтобы включить этот порт, выберите Enable all tracks output.

Параметры

развернуть все

Управление средством отслеживания

Уникальный идентификатор средства отслеживания в виде неотрицательного целого числа. Этот параметр используется в качестве SourceIndex в выходных параметрах, и отличает дорожки, которые прибывают из различных средств отслеживания в системе нескольких-средств-отслеживания. Необходимо задать это свойство как положительное целое число, чтобы использовать дорожку выходные параметры в качестве входных параметров к термофиксатору дорожки.

Пример 1

Инициализация фильтра Калмана функционирует в виде имени функции. Тулбокс обеспечивает несколько функций инициализации. Для примера функции инициализации смотрите initcvekf.

Порог присвоения обнаружения в виде положительного действительного скаляра. Чтобы присвоить обнаружение дорожке, нормированное расстояние обнаружения от дорожки должно быть меньше порога присвоения. Если некоторые обнаружения остаются неприсвоенными к дорожкам, что вы хотите их присвоенный, то увеличиваете порог. Если некоторые обнаружения присвоены неправильным дорожкам, уменьшают порог.

Параметры подтверждения для создания дорожки в виде двухэлементного вектора из положительных целых чисел, [M,N]. Дорожка подтверждена когда, по крайней мере, M обнаружения присвоены дорожке во время первого N обновления после инициализации дорожки. M должно быть меньше чем или равно N.

  • Когда установка N, рассмотрите число раз, которое вы хотите, чтобы средство отслеживания обновило, прежде чем это подтвердит дорожку. Например, если средство отслеживания обновляется каждые 0.05 секунды, и вы позволяете 0,5 секундам принимать решение подтверждения, устанавливать N = 10.

  • Когда установка M, учтите вероятность обнаружения объектов для датчиков. Вероятность обнаружения зависит от факторов, таких как поглощение газов или помеха. Можно уменьшать M когда дорожки не удаются быть подтвержденными или увеличивают M когда слишком много ложных обнаружений присвоены дорожкам.

Пример: [3,5]

Отследите порог удаления для логики истории в виде вектора 1 на 2 с действительным знаком положительных целых чисел [P R]. Если подтвержденная дорожка не присвоена никакому обнаружению P времена в последнем Q обновления средства отслеживания, затем дорожка удалена.

Максимальное количество дорожек, которые блок может обработать в виде положительного целого числа.

Максимальное количество датчиков, которые блок может обработать в виде положительного целого числа. Это значение должно быть больше или быть равно самому высокому SensorIndex значение используется во входном порту Detections.

Параметры дорожки утверждают систему координат в виде struct или массива структур. Используйте это свойство задать систему координат состояния дорожки и как преобразовать дорожку от средства отслеживания (названный источником) система координат к системе координат термофиксатора.

Вводы и выводы

Источник в течение времени предсказания в виде Input port или Auto. Выберите Input port вводить время обновления при помощи входного порта Prediction Time. В противном случае часы симуляции, управляемые Simulink, определяют время обновления.

Пример: Auto

Установите этот флажок, чтобы включить вход матрицы стоимости при помощи входного порта Cost Matrix.

Установите этот флажок, чтобы включить входной порт Detectable Track IDs .

Источник выходной шины называет в виде Auto или Property.

  • Если вы выбираете Auto, блок автоматически создает имя шины.

  • Если вы выбираете Property, задайте имя шины с помощью параметра Specify an output bus name.

Зависимости

Чтобы включить этот параметр, установите параметр Source of output bus name на Property.

Установите этот флажок, чтобы включить выход предварительных дорожек при помощи выходного порта Tentative Tracks.

Установите этот флажок, чтобы включить выход всех дорожек при помощи выходного порта All Tracks.

  • Interpreted execution — Симулируйте модель с помощью интерпретатора MATLAB. Эта опция сокращает время запуска. В Interpreted execution режим, можно отладить исходный код блока.

  • Code generation — Симулируйте модель с помощью, сгенерировал код C/C++. В первый раз, когда вы запускаете симуляцию, Simulink генерирует код C/C++ для блока. Код С снова используется для последующих симуляций, пока модель не изменяется. Эта опция требует дополнительного времени запуска.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Введенный в R2017b