Multi-Object Tracker

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

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

Описание

Блок 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.

Вывод

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

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

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

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

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

Поле Определение
TrackIDУникальный идентификатор дорожки.
TimeВремя, в которое обновляется дорожка. Модули находятся в секундах.
AgeКоличество обновлений начиная с инициализации дорожки.
StateОбновленный вектор состояния. Вектор состояния характерен для каждого типа Фильтра Калмана.
StateCovarianceОбновленная ковариационная матрица состояния. Ковариационная матрица характерна для каждого типа Фильтра Калмана.
IsConfirmedСостояние Confirmation. Этим полем является true если дорожка подтверждена, чтобы быть действительной целью.
IsCoastedСостояние Coasting. Этим полем является true если дорожка обновляется без нового обнаружения.
ObjectClassIDЦелочисленное значение, представляющее предметную классификацию. Значение 0 представляет неизвестную классификацию. Ненулевые классификации применяются только к подтвержденным дорожкам.
ObjectAttributesМассив ячеек атрибутов объектов, о которых сообщает датчик, делающий обнаружение.

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

  • По крайней мере, обнаружения 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Уникальный идентификатор дорожки.
TimeВремя, в которое обновляется дорожка. Модули находятся в секундах.
AgeКоличество обновлений начиная с инициализации дорожки.
StateОбновленный вектор состояния. Вектор состояния характерен для каждого типа Фильтра Калмана.
StateCovarianceОбновленная ковариационная матрица состояния. Ковариационная матрица характерна для каждого типа Фильтра Калмана.
IsConfirmedСостояние Confirmation. Этим полем является true если дорожка подтверждена, чтобы быть действительной целью.
IsCoastedСостояние Coasting. Этим полем является true если дорожка обновляется без нового обнаружения.
ObjectClassIDЦелочисленное значение, представляющее предметную классификацию. Значение 0 представляет неизвестную классификацию. Ненулевые классификации применяются только к подтвержденным дорожкам.
ObjectAttributesМассив ячеек атрибутов объектов, о которых сообщает датчик, делающий обнаружение.

Зависимости

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

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

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

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

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

Поле Определение
TrackIDУникальный идентификатор дорожки.
TimeВремя, в которое обновляется дорожка. Модули находятся в секундах.
AgeКоличество обновлений начиная с инициализации дорожки.
StateОбновленный вектор состояния. Вектор состояния характерен для каждого типа Фильтра Калмана.
StateCovarianceОбновленная ковариационная матрица состояния. Ковариационная матрица характерна для каждого типа Фильтра Калмана.
IsConfirmedСостояние Confirmation. Этим полем является true если дорожка подтверждена, чтобы быть действительной целью.
IsCoastedСостояние Coasting. Этим полем является true если дорожка обновляется без нового обнаружения.
ObjectClassIDЦелочисленное значение, представляющее предметную классификацию. Значение 0 представляет неизвестную классификацию. Ненулевые классификации применяются только к подтвержденным дорожкам.
ObjectAttributesМассив ячеек атрибутов объектов, о которых сообщает датчик, делающий обнаружение.

Зависимости

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

Параметры

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

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

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

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

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

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

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

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

Курсирующий порог для удаления дорожки, заданного как положительное целое число. coasts дорожки, когда никакие обнаружения не присвоены дорожке после одного или нескольких шагов прогноза. Если количество курсирующих шагов превышает этот порог, блок удаляет дорожку.

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

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

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

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

Пример: Auto

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

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

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

Зависимости

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

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

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

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

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

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

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

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

Введенный в R2017b

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