Отслеживание и отслеживание фильтров

Мультиобъектное отслеживание

Можно использовать мультидатчик, мультицелевые средства отслеживания, trackerGNN, trackerJPDA, и trackerTOMHT, чтобы отследить несколько целей. Эти средства отслеживания реализуют мультиобъект, отслеживающий проблему с помощью подхода ассоциации измерения к дорожке. Дорожки инициируются и обновили обнаружения датчика использования целей. Средства отслеживания делают несколько шагов, когда новые обнаружения сделаны:

  • Средство отслеживания пытается присвоить обнаружение существующей дорожке.

  • Средство отслеживания создает дорожку для каждого обнаружения, которое оно не может присвоить. При запуске средства отслеживания все обнаружения используются, чтобы создать дорожки.

  • Средство отслеживания оценивает состояние каждой дорожки. Для новых треков состояние является предварительным, пока достаточно обнаружений не сделано подтвердить дорожку. Для существующих дорожек недавно присвоенные обнаружения используются фильтром отслеживания, чтобы обновить состояние дорожки. Когда дорожка не имеет никаких новых добавленных обнаружений, дорожка курсируется (предсказанная), пока новые обнаружения не присвоены ему. Если никакие новые обнаружения не добавляются после конкретного количества обновлений удалена дорожка.

При отслеживании нескольких объектов с помощью этих средств отслеживания существует несколько вещей рассмотреть:

  • Решите который средство отслеживания использовать.

    • trackerGNN использует глобальный алгоритм присвоения ближайшего соседа, который поддерживает одну гипотезу об отслеживаемом объекте. Средство отслеживания предлагает низкую стоимость вычисления, но не устойчиво во время неоднозначных событий ассоциации.

    • trackerTOMHT присваивает обнаружения на основе ориентированного на дорожку, подход мультигипотезы, который поддерживает несколько гипотез об отслеживаемом объекте. Средство отслеживания является устойчивым во время неоднозначных событий ассоциации данных, но является в вычислительном отношении более дорогим.

    • trackerJPDA использует объединенный вероятностный подход ассоциации данных, который применяет мягкое присвоение, где несколько обнаружений могут способствовать каждой дорожке. Средство отслеживания балансирует робастность и стоимость вычисления между trackerGNN и trackerTOMHT.

    Смотрите Отслеживающие Близко расположенные Цели Под примером Неоднозначности для сравнения между этими тремя средствами отслеживания.

  • Решите который тип отслеживания фильтра, чтобы использовать.

    Выбор отслеживания фильтра зависит от ожидаемой динамики объекта, который вы хотите отследить. Тулбокс обеспечивает несколько Фильтров Калмана включая Линейный Фильтр Калмана, trackingKF, Расширенный Фильтр Калмана, trackingEKF, Сигма-точечный фильтр Калмана, trackingUKF, и Фильтр Калмана Кубатуры, trackingCKF. Линейный Фильтр Калмана используется, когда движущие силы объекта следуют линейной модели, и измерения являются линейными функциями вектора состояния. Расширенное, недушистое, и Фильтры Калмана кубатуры используются, когда движущие силы нелинейны, модель измерения нелинейна, или оба. Тулбокс также обеспечивает негауссовы фильтры, такие как фильтр частиц, trackingPF, фильтр Гауссовой суммы, trackingGSF, и фильтр Взаимодействующей многоуровневой модели (IMM), trackingIMM. Смотрите Отслеживание с Измерениями Только для области значений и Отслеживание Маневрирующих Целевых примеров для получения дополнительной информации об этих фильтрах.

    Можно установить тип фильтра путем определения свойства FilterInitializationFcn средства отслеживания. Например, если вы устанавливаете свойство FilterInitializationFcn на @initcaekf, затем средство отслеживания использует функцию initcaekf, чтобы создать расширенный Фильтр Калмана постоянного ускорения для нового трека, сгенерированного от обнаружений.

  • Решите который логика дорожки использовать.

    Можно задать условия, при которых дорожка подтверждена или удалена путем установки свойства TrackLogic. Поддерживаются три алгоритма:

    • 'History' — Отследите подтверждение, и удаление основаны на числе раз, дорожка была присвоена обнаружению в последних нескольких обновлениях средства отслеживания. Можно использовать эту логику с trackerGNN и trackerJPDA.

    • 'Score' — Отследите подтверждение, и удаление основаны на вычислении логарифмической вероятности. Высокий счет означает, что дорожка, более вероятно, будет допустима. Низкий балл означает, что дорожка, более вероятно, будет ложной. Можно использовать эту логику с trackerGNN и trackerTOMHT.

    • 'Integrated' — Отследите подтверждение, и удаление основаны на вероятности существования дорожки. Можно использовать эту логику с trackerJPDA.

    Для получения дополнительной информации смотрите Введение, чтобы Отследить Логический пример.

Можно также использовать мультидатчик, мультицелевое средство отслеживания, trackerPHD, чтобы отследить несколько целей одновременно. trackerPHD приближается к мультиобъекту, отслеживающему проблему с помощью метода случайного конечного множества (RFS), и отслеживает плотность гипотезы вероятности (PHD) сценария. trackerPHD извлекает peaks от ИНТЕНСИВНОСТИ ДОКТОРА ФИЛОСОФИИ, чтобы представлять потенциальные цели и поддержать тождества целей путем присвоения метки каждому компоненту. Тулбокс предлагает одну реализацию PHD, ggiwphd, который представляет PHD расширенных целей с помощью модели целевого состояния Гэммы Госсиэна Обратного Уишарта (GGIW). Можно представлять настройки датчиков для trackerPHD с помощью trackingSensorConfiguration.

Мультиобъектные свойства средства отслеживания

Свойства trackerGNN

Объект trackerGNN является мультидатчиком, мультиобъектным средством отслеживания, которое использует глобальную самую близкую соседнюю ассоциацию. Каждое обнаружение может быть присвоено только одной дорожке (средство отслеживания одно гипотезы), который может также быть новым треком, который инициирует обнаружение. На каждом шаге симуляции средство отслеживания обновляет состояние дорожки. Можно задать поведение средства отслеживания путем установки следующих свойств.

Свойства trackerGNN

FilterInitializationFcn

Указатель на функцию, которая инициализирует фильтр отслеживания на основе одного обнаружения. Эта функция вызвана, когда обнаружение не может быть присвоено существующей дорожке. Например, initcaekf создает расширенный Фильтр Калмана для ускоряющейся цели. Все дорожки инициализируются с тем же типом фильтра.

Assignment

Имя алгоритма присвоения. Средство отслеживания предоставляет три встроенных алгоритма: 'Munkres', 'Jonker-Volgenant' и алгоритмы 'Auction'. Можно также создать собственный алгоритм присвоения путем определения 'Custom'.

CustomAssignmentFcn

Имя пользовательской функции алгоритма присвоения. Это свойство доступно на том, когда свойство Assignment установлено в 'Custom'.

AssignmentThreshold

Задайте порог, который управляет присвоением обнаружения к дорожке. Обнаружения могут только быть присвоены дорожке, если их нормированное расстояние от дорожки является меньше, чем порог присвоения. Каждый фильтр отслеживания имеет различный метод вычисления нормированного расстояния. Увеличьте порог, если существуют обнаружения, которые могут быть присвоены дорожкам, но не являются. Уменьшите порог, если существуют обнаружения, которые ошибочно присвоены дорожкам.

TrackLogic

Задайте логику подтверждения дорожки – 'History' или 'Score'. Для описаний этих опций ввести

help trackHistoryLogic
или
help trackScoreLogic
в командной строке.

ConfirmationThreshold

Задайте порог для подтверждения дорожки. Порог зависит от установки для TrackLogic

  • 'History' – задайте порог подтверждения как [M N]. Если дорожка обнаруживается, по крайней мере, времена M в последних обновлениях N, дорожка подтверждена.

  • 'Score' –--задает порог подтверждения как один номер. Если счет больше, чем или равен порогу, эта дорожка подтверждена.

.

DeletionThreshold

Задайте порог для удаления дорожки. Порог зависит от установки TrackLogic

  • 'History' – задайте порог удаления как пару целых чисел [P R]. Дорожка удалена, если она не присвоена дорожке, по крайней мере, времена P в последних обновлениях R.

  • 'Score' –--задает порог удаления как один номер. Дорожка удалена, если ее счет уменьшается, по крайней мере, этим порогом с ее максимального счета дорожки.

.

DetectionProbability

Задайте вероятность обнаружения как номер в области значений (0,1). Вероятность обнаружения используется, чтобы вычислить счет дорожки при инициализации и обновлении дорожки. Это свойство используется только, когда TrackLogic установлен в 'Score'.

FalseAlarmRate

Задайте уровень ложного обнаружения как номер в области значений (0,1). Ложный сигнальный уровень используется, чтобы вычислить счет дорожки при инициализации и обновлении дорожки. Это свойство используется только, когда TrackLogic установлен в 'Score'.

Beta

Задайте уровень новых треков на единичный объем как положительное число. Это свойство используется только, когда TrackLogic установлен в 'Score'. Уровень новых треков используется в вычислении счета дорожки во время инициализации дорожки. Это свойство используется только, когда TrackLogic установлен в 'Score'.

Volume

Задайте объем интервала измерения датчика как положительная скалярная величина. Например, радарный датчик, который производит 4-D измерение азимута, повышение, область значений и уровень области значений, создает 4-D объем. Объем является продуктом радара угловая ширина луча, ширина интервала области значений и ширина интервала уровня области значений. Объем используется в вычислении счета дорожки при инициализации и обновлении дорожки. Это свойство используется только, когда TrackLogic установлен в 'Score'.

MaxNumTracks

Задайте максимальное количество дорожек, которые может поддержать средство отслеживания.

MaxNumSensors

Задайте максимальное количество датчиков, отправляющих обнаружения в средство отслеживания как положительное целое число. Этот номер должен быть больше, чем или равным самому большому значению SensorIndex, используемому во входе objectDetection к методу step. Это свойство определяет, сколько наборов ObjectAttributes каждая дорожка может иметь.

HasDetectableTrackIDsInput

Установите это свойство на true, если вы хотите предоставить список обнаруживаемых идентификаторов дорожки, как введено к методу step. Этот список содержит все дорожки, которые датчики ожидают обнаруживать и, опционально, вероятность обнаружения для каждого ID дорожки.

HasCostMatrixInput

Установите это свойство на true, если вы хотите предоставить матрицу стоимости присвоения, как введено методу step.

Вход trackerGNN

Вход к trackerGNN состоит из списка обнаружений, время обновления, матрица стоимости и другие данные. Обнаружения заданы как массив ячеек объектов objectDetection (см. Обнаружения). Входные параметры перечислены здесь.

Вход trackerGNN

tracker

Объект trackerGNN.

detections

Массив ячеек объектов objectDetection (см. Обнаружения).

time

Время, к которому все дорожки должны быть обновлены и предсказаны. Время на этом шаге выполнения должно быть больше, чем значение в предыдущем вызове.

costmatrixСтойте матрицы за присвоение обнаружений к дорожкам. Действительный T-by-D матрица, где T является количеством дорожек, перечисленных в аргументе allTracks, возвращенном от предыдущего вызова до step. D является количеством обнаружений, которые вводятся в текущем вызове. Большая матричная запись стоимости означает более низкую вероятность присвоения.
detectableTrackIDs

Идентификаторы дорожек, которые датчики ожидают обнаруживать, заданный как M-by-1 или M-by-2 матрица. Первый столбец состоит из идентификаторов дорожки, как сообщается в поле TrackID средства отслеживания вывод. Второй столбец является дополнительным и позволяет вам добавлять вероятность обнаружения для каждой дорожки.

trackerGNN Вывод

Вывод средства отслеживания может состоять максимум из трех массивов struct с информацией о состоянии дорожки. Можно получить только подтвержденные дорожки, подтвержденные и предварительные дорожки или эти дорожки плюс объединенный список всех дорожек.

confirmedTracks = step(...)
[confirmedTracks, tentativeTracks] = step(...)
[confirmedTracks, tentativeTracks, allTracks] = step(...)
Поля, содержавшиеся в struct:

trackerGNN Вывод struct

TrackID

Уникальное целое число, которое идентифицирует дорожку.

UpdateTime

Время, к которому обновляется дорожка.

Age

Количество обновлений начиная с инициализации дорожки.

State

Вектор состояния во время обновления.

StateCovariance

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

IsConfirmed

Верный, если дорожка подтверждена.

TrackLogicЛогика дорожки, используемая в подтверждении дорожки – 'History' или 'Score'.
TrackLogicState

Текущее состояние логики дорожки.

  • Поскольку 'History' отслеживает логику, 1 Q логическим массивом, где Q является большим из N, заданного в пороговом свойстве подтверждения, ConfirmationThreshold и R, заданном в пороговом свойстве удаления, DeletionThreshold.

  • Поскольку 'Score' отслеживает логику, 1 2 числовой массив в форме: [currentScore, maxScore].

IsCoasted

Верный, если дорожка была обновлена без обнаружения. В этом случае дорожки предсказаны к текущему времени.

ObjectClassID

Целочисленное значение, представляющее целевую классификацию. Нуль резервируется для "неизвестного" класса.

ObjectAttributes

Массив ячеек ячеек. Каждая ячейка получает атрибуты объектов, о которых сообщает соответствующий датчик.