Отслеживаемые объекты с помощью присвоения GNN
Система multiObjectTracker
object™ инициализирует, подтверждает, предсказывает, исправляет и удаляет дорожки перемещения объектов. Входные параметры к мультиобъектному средству отслеживания являются отчетами обнаружения, сгенерированными объектом objectDetection
, объектом radarDetectionGenerator
или объектом visionDetectionGenerator
. Мультиобъектное средство отслеживания принимает обнаружения от нескольких датчиков и присваивает их дорожкам с помощью критерия глобального самого близкого соседа (GNN). Каждое обнаружение присвоено отдельной дорожке. Если обнаружение не может быть присвоено никакой дорожке, на основе свойства AssignmentThreshold
, средство отслеживания создает новый трек. Дорожки возвращены в массиве структур.
Новый трек запускается в предварительном состоянии. Если достаточно обнаружений присвоено предварительной дорожке, ее изменениям состояния в подтвержденном. Если обнаружение является известной классификацией (поле ObjectClassID
возвращенной дорожки является ненулевым), та дорожка может быть сразу подтверждена. Для получения дополнительной информации на мультиобъектных свойствах средства отслеживания, используемых, чтобы подтвердить дорожки, см. Алгоритмы.
Когда дорожка подтверждена, мультиобъектное средство отслеживания полагает что дорожка представлять физический объект. Если обнаружения не добавляются к дорожке в specifiable количестве обновлений, дорожка удалена.
Средство отслеживания также оценивает ковариационную матрицу вектора состояния и вектора состояния для каждой дорожки с помощью Фильтра Калмана. Эти векторы состояния используются, чтобы предсказать местоположение дорожки в каждом кадре и определить вероятность каждого обнаружения, присваиваемого каждой дорожке.
К отслеживаемым объектам с помощью мультиобъектного средства отслеживания:
Создайте объект multiObjectTracker
и установите его свойства.
Вызовите объект с аргументами, как будто это была функция.
Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты? MATLAB.
tracker = multiObjectTracker
tracker = multiObjectTracker(Name,Value)
создает Системный объект tracker
= multiObjectTrackermultiObjectTracker
со значениями свойств по умолчанию.
свойства наборов для мультиобъектного средства отслеживания с помощью одной или нескольких пар "имя-значение". Например, tracker
= multiObjectTracker(Name,Value
)multiObjectTracker('FilterInitializationFcn',@initcvukf,'MaxNumTracks',100)
создает мультиобъектное средство отслеживания, которое использует постоянную скорость, сигма-точечный фильтр Калмана и поддерживает максимум 100 дорожек. Заключите каждое имя свойства в кавычки.
Чтобы обновить дорожки, вызовите созданное мультиобъектное средство отслеживания с аргументами, как будто это была функция (описанный здесь). Также обновите дорожки при помощи функции updateTracks
, задав мультиобъектное средство отслеживания как входной параметр.
confirmedTracks = tracker(detections,time)
[confirmedTracks,tentativeTracks] = tracker(detections,time)
[confirmedTracks,tentativeTracks,allTracks] = tracker(detections,time)
[___] = tracker(detections,time,costMatrix)
создает, обновляет, и удаляет дорожки в мультиобъектном средстве отслеживания и возвращает детали о подтвержденных дорожках. Обновления основаны на заданном списке confirmedTracks
= tracker(detections
,time
)detections
, и все дорожки обновляются к заданному time
. Каждый элемент в возвращенном массиве структур confirmedTracks
соответствует одноколейному пути.
[
также возвращает массив структур, содержащий детали о предварительных дорожках.confirmedTracks
,tentativeTracks
] = tracker(detections
,time
)
[
также возвращает массив структур, содержащий детали обо всех подтвержденных и предварительных дорожках, confirmedTracks
,tentativeTracks
,allTracks
] = tracker(detections
,time
)allTracks
. Дорожки возвращены в порядке, согласно которому средство отслеживания внутренне поддерживает их. Можно использовать этот вывод, чтобы помочь вам вычислить матрицу стоимости, дополнительный входной параметр.
[___] = tracker(
задает матрицу стоимости, возвращая любой из выходных параметров от предыдущих синтаксисов.detections
,time
,costMatrix
)
Чтобы задать матрицу стоимости, установите свойство HasCostMatrixInput
Системного объекта multiObjectTracker
к true
.
Чтобы использовать объектную функцию, задайте Системный объект как первый входной параметр. Например, чтобы выпустить системные ресурсы Системного объекта под названием obj
, используйте этот синтаксис:
release(obj)
Когда вы передаете обнаружения в мультиобъектное средство отслеживания, Системный объект:
Попытки присвоить входные обнаружения существующим дорожкам, с помощью функции assignDetectionsToTracks
.
Создает новые треки из неприсвоенных обнаружений.
Обновления уже присвоили дорожки и возможно подтверждают их, на основе свойства ConfirmationParameters
мультиобъектного средства отслеживания.
Удаляет дорожки, которые не имеют никаких присвоенных обнаружений в рамках последних обновлений NumCoastingUpdates
.