Мультигипотеза, мультисенсорный, многообъектный трекер
The trackerTOMHT
System object™ является трекером с несколькими гипотезами, способным обрабатывать обнаружения многих целей с нескольких датчиков. Трекер инициализирует, подтверждает, предсказывает, исправляет и удаляет треки. Входами к трекеру являются отчеты об обнаружении, сгенерированные objectDetection
, fusionRadarSensor
, irSensor
, или sonarSensor
объекты. Трекер оценивает вектор состояния и векторную ковариационную матрицу состояния для каждой дорожки. Трекер присваивает обнаружения на основе ориентированного на дорожки подхода с несколькими гипотезами. Каждое обнаружение назначается, по меньшей мере, одной дорожке. Если обнаружение не может быть назначено ни одному треку, трекер создает трек.
Любой новый трек запускается в предварительном состоянии. Если предварительному дорожке назначено достаточное количество обнаружений, его статус меняется на подтвержденный. Если обнаружение уже имеет известную классификацию (ObjectClassID
поле возвращаемой дорожки ненулевое), эта дорожка немедленно подтверждается. Когда дорожка подтверждена, многообъектный трекер рассматривает дорожку как представление физического объекта. Если обнаружение не назначено дорожке в пределах заданного количества обновлений, дорожка удаляется. Обзор функций трекера см. в разделе Алгоритмы.
Чтобы отследить объекты с помощью трекера с несколькими гипотезами:
Создайте trackerTOMHT
Объекту и установите его свойства.
Вызывайте объект с аргументами, как будто это функция.
Дополнительные сведения о работе системных объектов см. в разделе «Что такое системные объекты?».
создает tracker
= trackerTOMHTtrackerTOMHT
Системный объект со значениями свойств по умолчанию.
устанавливает свойства для мультиобъекта, используя одну или несколько пары "имя-значение". Для примера, tracker
= trackerTOMHT(Name,Value
)trackerTOMHT('FilterInitializationFcn',@initcvukf,'MaxNumTracks',100)
создает мультиобъект трекер, который использует постоянную скорость, сигма-точечный фильтр Калмана и допускает максимум 100 треков. Заключайте каждое имя свойства в кавычки.
Для обработки обнаружений и обновления треков вызовите трекер с аргументами, как если бы это была функция (описанная здесь).
возвращает список подтвержденных треков, которые обновляются из списка обнаружений, confirmedTracks
= tracker(detections
,time
)detections
, во время обновления, time
. Подтвержденные дорожки корректируются и прогнозируются до времени обновления.
также задает матрицу затрат, confirmedTracks
= tracker(detections
,time
,costMatrix
)costMatrix
.
Чтобы включить этот синтаксис, установите HasCostMatrixInput
свойство к true
.
также задает список ожидаемых обнаруживаемых ветвей, confirmedTracks
= tracker(___,detectableBranchIDs
)detectableBranchIDs
.
Чтобы включить этот синтаксис, установите HasDetectableBranchIDsInput
свойство к true
.
[
также возвращает список предварительных треков, confirmedTracks
,tentativeTracks
,allTracks
] = tracker(___)tentativeTracks
и список всех треков, allTracks
.
[
также возвращает информацию, confirmedTracks
,tentativeTracks
,allTracks
,analysisInformation
] = tracker(___)analysisInformation
, полезный для анализа дорожек.
Чтобы использовать функцию объекта, задайте системный объект в качестве первого входного параметра. Например, чтобы освободить системные ресурсы системного объекта с именем obj
, используйте следующий синтаксис:
release(obj)
[1] Вертманн, Дж. Р.. «Пошаговое описание вычислительно эффективной версии отслеживания нескольких гипотез». В Международном обществе оптики и фотоники, том 1698, стр. 228 - 301, 1992.
[2] Блэкмен, С. и Р. Пополи. Проект и анализ современных систем слежения. Artech House Radar Library, Бостон, 1999.