Многоцелевой трекер с использованием назначения GNN
The radarTracker
Системная object™ инициализирует, подтверждает, предсказывает, исправляет и удаляет дорожки движущихся объектов. Входами к радарному трекеру являются отчеты о обнаружении, сгенерированные как objectDetection
объект радиолокационными датчиками. Радар-трекер принимает обнаружения от нескольких датчиков и присваивает их трекам с помощью глобального критерия ближайшего соседа (GNN). Каждое обнаружение присваивается отдельной дорожке. Если обнаружение не может быть назначено какой-либо дорожке, на основе AssignmentThreshold
свойство, трекер создает новый трек. Дорожки возвращаются в массиве структур.
Новый трек запускается в предварительном состоянии. Если предварительному дорожке назначено достаточное количество обнаружений, его статус меняется на подтвержденный. Если обнаружение является известной классификацией (ObjectClassID
поле возвращаемой дорожки ненулевое), эта дорожка может быть немедленно подтверждена. Для получения дополнительной информации о свойствах радара-трекера, используемых для подтверждения треков, смотрите Алгоритмы.
Когда дорожка подтверждена, радар-трекер считает, что дорожка представляет физический объект. Если обнаружение не добавляется к дорожке в пределах заданного количества обновлений, дорожка удаляется.
Трекер также оценивает вектор состояния и векторную ковариационную матрицу состояния для каждой дорожки, используя фильтр Калмана. Эти векторы состояния используются, чтобы предсказать местоположение дорожки в каждой системе координат и определить вероятность того, что каждое обнаружение будет назначено каждой дорожке.
Чтобы отслеживать объекты с помощью радара-трекера:
Создайте radarTracker
Объекту и установите его свойства.
Вызывайте объект с аргументами, как будто это функция.
Дополнительные сведения о работе системных объектов см. в разделе «Что такое системные объекты?».
создает tracker
= radarTrackerradarTracker
Системный объект со значениями свойств по умолчанию.
устанавливает свойства для радар-трекера, используя одну или несколько пары "имя-значение". Для примера, tracker
= radarTracker(Name,Value
)radarTracker('FilterInitializationFcn',@initcvukf,'MaxNumTracks',100)
создает радар-трекер, который использует неароматический сигма-точечный фильтр Калмана с постоянной скоростью и поддерживает максимум 100 дорожек. Заключайте каждое имя свойства в кавычки.
создает, обновляет и удаляет треки в радар-трекере и возвращает детали о подтвержденных треках. Обновления основаны на указанном списке 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
свойство трекера, чтобы true
.
[___] = tracker(___,
также задает список ожидаемых обнаруживаемых треков, заданных detectableTrackIDs
)detectableTrackIDs
. Этот аргумент может использоваться с любым из предыдущих входных синтаксисов.
Чтобы включить этот синтаксис, установите HasDetectableTrackIDsInput
свойство к true
.
Чтобы использовать функцию объекта, задайте системный объект в качестве первого входного параметра. Например, чтобы освободить системные ресурсы системного объекта с именем obj
, используйте следующий синтаксис:
release(obj)
Когда вы передаете обнаружения в радар-трекер, системный объект:
Попытка назначить входные обнаружения существующим трекам, основанная на AssignmentThreshold
свойство многообъектного трекера.
Создает новые дорожки из неназначенных обнаружений.
Обновления уже назначенных треков и, возможно, их подтверждение, на основе ConfirmationThreshold
свойство трекера.
Удаляет треки, которым не назначены обнаружения, на основе DeletionThreshold
свойство трекера.