Можно использовать мультидатчик, мультицелевые средства отслеживания, 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
извлечения достигают максимума от ИНТЕНСИВНОСТИ ДОКТОРА ФИЛОСОФИИ, чтобы представлять потенциальные цели и обеспечить тождества целей путем присвоения метки каждому компоненту. Тулбокс предлагает одну реализацию PHD, ggiwphd
, который представляет PHD расширенных целей с помощью модели целевого состояния Гэммы Госсиэна Обратного Уишарта (GGIW). Можно представлять настройки датчиков для trackerPHD
использование trackingSensorConfiguration
.
trackerGNN
объект является мультидатчиком, мультиобъектным средством отслеживания, которое использует глобальную самую близкую соседнюю ассоциацию. Каждое обнаружение может быть присвоено только одной дорожке (средство отслеживания одно гипотезы), который может также быть новым треком, который инициирует обнаружение. На каждом шаге симуляции средство отслеживания обновляет состояние дорожки. Можно задать поведение средства отслеживания путем установки следующих свойств.
Свойства trackerGNN
FilterInitializationFcn | Указатель на функцию, которая инициализирует фильтр отслеживания на основе одного обнаружения. Эта функция вызвана, когда обнаружение не может быть присвоено существующей дорожке. Например, |
Assignment | Имя алгоритма присвоения. Средство отслеживания предоставляет три встроенных алгоритма: |
CustomAssignmentFcn | Имя пользовательской функции алгоритма присвоения. Это свойство доступно на когда |
AssignmentThreshold | Задайте порог, который управляет присвоением обнаружения к дорожке. Обнаружения могут только быть присвоены дорожке, если их нормированное расстояние от дорожки меньше порога присвоения. Каждый фильтр отслеживания имеет различный метод вычисления нормированного расстояния. Увеличьте порог, если существуют обнаружения, которые могут быть присвоены дорожкам, но не являются. Уменьшите порог, если существуют обнаружения, которые ошибочно присвоены дорожкам. |
TrackLogic | Задайте логику подтверждения дорожки – help trackHistoryLogic help trackScoreLogic |
ConfirmationThreshold | Задайте порог для подтверждения дорожки. Порог зависит от установки для
. |
DeletionThreshold | Задайте порог для удаления дорожки. Порог зависит от установки
. |
DetectionProbability | Задайте вероятность обнаружения как номер в области значений (0,1). Вероятность обнаружения используется, чтобы вычислить счет дорожки при инициализации и обновлении дорожки. Это свойство используется только когда |
FalseAlarmRate | Задайте уровень ложного обнаружения как номер в области значений (0,1). Ложный сигнальный уровень используется, чтобы вычислить счет дорожки при инициализации и обновлении дорожки. Это свойство используется только когда |
Beta | Задайте уровень новых треков на единичный объем как положительное число. Это свойство используется только когда |
Volume | Задайте объем интервала измерения датчика как положительная скалярная величина. Например, радарный датчик, который производит 4-D измерение азимута, вертикальное изменение, область значений и уровень области значений, создает 4-D объем. Объем является продуктом радара угловая ширина луча, ширина интервала области значений и ширина интервала уровня области значений. Объем используется в вычислении счета дорожки при инициализации и обновлении дорожки. Это свойство используется только когда |
| Задайте максимальное количество дорожек, которые может обеспечить средство отслеживания. |
MaxNumSensors | Задайте максимальное количество датчиков, отправляющих обнаружения в средство отслеживания как положительное целое число. Этот номер должен быть больше или быть равен самому большому |
HasDetectableTrackIDsInput | Установите это свойство на |
HasCostMatrixInput | Установите это свойство на |
Вход к trackerGNN
состоит из списка обнаружений, время обновления, матрица стоимости и другие данные. Обнаружения заданы как массив ячеек objectDetection
объекты (см. Обнаружения). Входные параметры перечислены здесь.
Вход trackerGNN
tracker |
|
detections | Массив ячеек |
time | Время, к которому все дорожки должны быть обновлены и предсказаны. Время на этом шаге выполнения должно быть больше значения в предыдущем вызове. |
costmatrix | Стойте матрицы за присвоение обнаружений к дорожкам. Действительный T-by-D матрица, где T является количеством дорожек, перечисленных в allTracks аргумент, возвращенный от предыдущего вызова до step . D является количеством обнаружений, которые вводятся в текущем вызове. Большая матричная запись стоимости означает более низкую вероятность присвоения. |
detectableTrackIDs | Идентификаторы дорожек, которые датчики ожидают обнаруживать, заданный как M-by-1 или M-by-2 матрица. Первый столбец состоит из идентификаторов дорожки, как сообщается в |
Выход средства отслеживания может состоять максимум из трех struct
массивы с дорожкой утверждают информацию. Можно получить только подтвержденные дорожки, подтвержденные и предварительные дорожки или эти дорожки плюс объединенный список всех дорожек.
confirmedTracks = step(...)
[confirmedTracks, tentativeTracks] = step(...)
[confirmedTracks, tentativeTracks, allTracks] = step(...)
struct
:trackerGNN Выход struct
TrackID | Уникальное целое число, которое идентифицирует дорожку. |
UpdateTime | Время, к которому обновляется дорожка. |
Age | Количество обновлений начиная с инициализации дорожки. |
State | Вектор состояния во время обновления. |
StateCovariance | Ковариационная матрица состояния во время обновления. |
IsConfirmed | Верный, если дорожка подтверждена. |
TrackLogic | Логика дорожки, используемая в подтверждении дорожки – 'History' или 'Score' . |
TrackLogicState | Текущее состояние логики дорожки.
|
IsCoasted | Верный, если дорожка была обновлена без обнаружения. В этом случае дорожки предсказаны к текущему времени. |
ObjectClassID | Целочисленное значение, представляющее целевую классификацию. Нуль резервируется для "неизвестного" класса. |
ObjectAttributes | Массив ячеек ячеек. Каждая ячейка получает атрибуты объектов, о которых сообщает соответствующий датчик. |