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