Multi-Object Tracker

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

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

  • Multi-Object Tracker block

Описание

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

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

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

Порты

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

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

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

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

Определения структур обнаружения объектов найдены в описаниях выходного порта Detections блоков Vision Detection Generator и Driving Radar Data 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. Структура имеет форму:

Поле Описание
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.

Вывод

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

Подтвержденные дорожки, возвращенные как шина 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 является количеством последних зарегистрированных логических состояний дорожки. В массиве, 1 обозначает хит и 0 обозначает мисс.

IsConfirmedСостояние Confirmation. Этим полем является true если дорожка подтверждена, чтобы быть действительной целью.
IsCoastedСостояние Coasting. Этим полем является true если дорожка обновляется без нового обнаружения.
IsSelfReported

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

ObjectAttributesДополнительная информация о дорожке.

Для получения дополнительной информации об этих полях, смотрите objectTrack.

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

  • По крайней мере, обнаружения 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Уникальный идентификатор дорожки раньше отличал несколько дорожек.
BranchIDУникальный идентификатор ветви дорожки раньше отличал несколько ветвей дорожки.
SourceIndexУникальный исходный индекс раньше отличал источники отслеживания в среде средства отслеживания кратного.
UpdateTimeВремя, в которое обновляется дорожка. Модули находятся в секундах.
AgeЧисло раз дорожка было обновлено.
State

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

StateCovariance

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

ObjectClassIDЦелочисленное значение, представляющее предметную классификацию. Значение 0 представляет неизвестную классификацию. Ненулевые классификации применяются только к подтвержденным дорожкам.
TrackLogicПодтверждение и тип логики удаления. Этим значением всегда является 'History' для радарных датчиков, чтобы указать на основанную на истории логику.
TrackLogicState

Текущее состояние типа логики дорожки, возвращенного как 1 K логическим массивом. K является количеством последних зарегистрированных логических состояний дорожки. В массиве, 1 обозначает хит и 0 обозначает мисс.

IsConfirmedСостояние Confirmation. Этим полем является true если дорожка подтверждена, чтобы быть действительной целью.
IsCoastedСостояние Coasting. Этим полем является true если дорожка обновляется без нового обнаружения.
IsSelfReported

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

ObjectAttributesДополнительная информация о дорожке.

Для получения дополнительной информации об этих полях, смотрите objectTrack.

Зависимости

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

Объединенный список подтвержденных и предварительных дорожек, возвращенных как шина 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 является количеством последних зарегистрированных логических состояний дорожки. В массиве, 1 обозначает хит и 0 обозначает мисс.

IsConfirmedСостояние Confirmation. Этим полем является true если дорожка подтверждена, чтобы быть действительной целью.
IsCoastedСостояние Coasting. Этим полем является true если дорожка обновляется без нового обнаружения.
IsSelfReported

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

ObjectAttributesДополнительная информация о дорожке.

Для получения дополнительной информации об этих полях, смотрите objectTrack.

Зависимости

Чтобы включить этот порт, выберите 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 времена в последнем R обновления средства отслеживания, затем дорожка удалена.

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

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

Обработка измерений из последовательности в виде Terminate или neglect. Каждому обнаружению сопоставили метку времени с ним, t d, и блок средства отслеживания имеет его собственная метка времени, t t, который обновляется в каждом вызове. Блок средства отслеживания рассматривает измерение как OOSM если t d <t t.

Когда параметр задан как:

  • Terminate — Блок прекращает запускаться, когда он сталкивается с любыми измерениями из последовательности.

  • Neglect — Блок пропускает любые измерения из последовательности, и продолжите запускаться.

Параметры дорожки утверждают систему координат в виде структуры или массива структур. Блок передает значение этого параметра к 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

Выберите этот параметр, чтобы включить входной порт для параметров состояния дорожки через входной порт State Parameters.

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

Источник в течение времени предсказания в виде 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