Мультидатчик, мультиобъектное средство отслеживания с помощью присвоения GNN
Sensor Fusion and Tracking Toolbox
Блок Global Nearest Neighbor Multi Object Tracker способен к обработке обнаружений многих целей от нескольких датчиков, во многом как trackerGNN
Система object™. Средство отслеживания инициализирует, подтверждает, предсказывает, корректирует и удаляет дорожки на основе алгоритма присвоения глобального самого близкого соседа (GNN). Средство отслеживания оценивает ковариационную матрицу вектора состояния и вектора состояния для каждой дорожки. Каждое обнаружение присвоено самое большее одной дорожке. Если обнаружение не может быть присвоено никакой дорожке, средство отслеживания инициализирует новый трек.
Любой новый трек запускается в предварительном состоянии. Если достаточно обнаружений присвоено предварительной дорожке, ее изменениям состояния в подтвержденном. Если обнаружение уже имеет известную классификацию (ObjectClassID
поле возвращенной дорожки является ненулевым), та дорожка сразу подтверждена. Когда дорожка подтверждена, средство отслеживания полагает, что дорожка представляет физический объект. Если обнаружения не присвоены дорожке в specifiable количестве обновлений, дорожка удалена.
Detections
— Список обнаруженийСписок обнаружений, заданный как шина Simulink, содержащая структуру MATLAB. Структура имеет форму:
Поле | Описание | Ввод |
---|---|---|
NumDetections | Количество обнаружений | целое число |
Detections | Обнаружения объектов | Массив структур обнаружения объектов. Первый NumDetections из этих обнаружений фактические обнаружения. |
Поля Detections
:
Поле | Описание | Ввод |
---|---|---|
Time | Время измерения | single или double |
Measurement | Объектные измерения | single или double |
MeasurementNoise | Ковариационная матрица шума измерения | single или double |
SensorIndex | Уникальный идентификатор датчика | single или double |
ObjectClassID | ID предметной классификации | single или double |
MeasurementParameters | Параметры используются функциями инициализации отслеживания фильтров | Шина Simulink |
ObjectAttributes | Дополнительная информация передала средству отслеживания | Шина Simulink |
Смотрите objectDetection
для более подробных объяснений этих полей.
Структура обнаружения объектов содержит Time
поле . Тег времени каждого обнаружения объектов должен быть меньше чем или равен времени текущего вызова блока. Тег времени должен также быть больше времени обновления, заданного в предыдущем вызове блока.
Prediction Time
— Отследите время обновленияОтследите время обновления, заданное как действительный скаляр в секундах. Средство отслеживания обновляет все дорожки к этому времени. Время обновления должно всегда увеличиваться с каждым вызовом блока. Модули находятся в секундах. Время обновления должно быть, по крайней мере, столь же большим как самый большой Time
заданный во входном порту Detections.
Если этот порт не включен, часы симуляции, управляемые Simulink, определяют время обновления.
Чтобы включить этот порт, во вкладке Port Setting, устанавливают Prediction time source на Input port
.
Cost Matrix
— Стойте матрицыСтойте матрицы, заданной как N с действительным знаком t-by-Nd матрица, где N t является количеством существующих дорожек, и N d является количеством текущих обнаружений.
Строки матрицы стоимости соответствуют существующим дорожкам. Столбцы соответствуют обнаружениям. Дорожки упорядочены, когда они появляются в списке дорожек в выходном порту All Tracks на предыдущем вызове блока.
В первом обновлении средства отслеживания, или если дорожка не имеет никаких предыдущих дорожек, присвоение, стоимость матрицирует размер [0, N d]. Стоимость должна быть вычислена так, чтобы более низкие цены указали на более высокую вероятность, что средство отслеживания присваивает обнаружение дорожке. Чтобы препятствовать тому, чтобы определенные обнаружения были присвоены определенным дорожкам, используйте Inf
.
Если этот порт не включен, фильтр, инициализированный Filter initialization function, вычисляет матрицу стоимости использование метода расстояния.
Чтобы включить этот порт, во вкладке Port Setting, выбирают Enable cost matrix input.
Detectable TrackIDs
— Обнаруживаемые идентификаторы дорожкиОбнаруживаемые идентификаторы дорожки, заданные как M с действительным знаком-by-1 вектор или M-by-2 матрица. Обнаруживаемые дорожки являются дорожками, которые датчики ожидают обнаруживать. Первый столбец матрицы содержит список идентификаторов дорожки, о которых датчики сообщают как обнаруживаемые. Второй столбец содержит вероятность обнаружения для дорожки. О вероятности обнаружения или сообщает датчик или, если не сообщаемый, полученный из параметра Probability of detection used for track score.
Дорожки, идентификаторы которых не включены в Detectable TrackIDs, рассматриваются необнаруживаемыми. Логика удаления дорожки не считает отсутствие обнаружения как "пропущенное обнаружение" в целях удаления дорожки.
Если этот порт не включен, средство отслеживания принимает все дорожки, чтобы быть обнаруживаемым при каждом вызове блока.
Чтобы включить этот порт, во вкладке Port Setting, выбирают Enable detectable track IDs Input.
Confirmed Tracks
— Подтвержденные дорожкиПодтвержденные дорожки, возвращенные как шина Simulink, содержащая структуру MATLAB. Структура имеет форму:
Поле | Описание |
---|---|
NumTracks | Количество дорожек |
Tracks | Массив структур дорожки длины установлен параметром Maximum number of tracks. Только первый NumTracks из них фактические дорожки. |
Поля структуры дорожки показывают в Структуре Дорожки.
В зависимости от логики дорожки дорожка подтверждена если:
История – дорожка получает, по крайней мере, M
обнаружения в последнем N
обновления. M
и N
заданы в Confirmation threshold для History
логика.
Счет – счет дорожки, по крайней мере, так высок, как порог подтверждения задал в Confirmation threshold для Score
логика.
Tentative Tracks
— Предварительные дорожкиПредварительные дорожки, возвращенные как шина Simulink, содержащая структуру MATLAB. Дорожка является предварительной, прежде чем она будет подтверждена.
Поля структуры дорожки показывают в Структуре Дорожки.
Чтобы включить этот порт, во вкладке Port Setting, выбирают Enable tentative tracks output.
All Tracks
— Подтвержденные и Предварительные дорожкиОбъединенный список подтвержденных и предварительных дорожек, возвращенных как шина Simulink, содержащая структуру MATLAB.
Поля структуры дорожки показывают в Структуре Дорожки.
Чтобы включить этот порт, во вкладке Port Setting, выбирают Enable all tracks output.
Info
— Дополнительная информация для анализа обновлений дорожкиДополнительная информация для анализа обновлений дорожки, возвращенных как шина Simulink, содержащая структуру MATLAB.
Эта таблица показывает поля информационной структуры:
Поле | Описание |
TrackIDsAtStepBeginning | Отследите идентификаторы, когда шаг начался |
CostMatrix | Стоимость матрицы присвоения |
Assignments | Присвоения возвращены в функцию присвоения |
UnassignedTracks | Идентификаторы неприсвоенных дорожек возвращены в средство отслеживания |
UnassignedDetections | Идентификаторы неприсвоенных обнаружений возвращены в средство отслеживания |
InitiatedTrackIDs | Идентификаторы дорожек инициируются во время шага |
DeletedTrackIDs | Идентификаторы дорожек удалены во время шага |
TrackIDsAtStepEnd | Отследите идентификаторы когда законченный шаг |
Чтобы включить этот порт, во вкладке Port Setting, выбирают Enable information output.
Filter initialization function
— Отфильтруйте функцию инициализации@initcvekf
(значение по умолчанию) | указатель на функцию | вектор символовОтфильтруйте функцию инициализации, определенный функцией указатель или как вектор символов, содержащий имя допустимой функции инициализации фильтра. Средство отслеживания использует функцию инициализации фильтра при создании новых треков.
Sensor Fusion and Tracking Toolbox™ предоставляет много функций инициализации, которые можно использовать:
Функция инициализации | Функциональное определение |
---|---|
initcvabf | Инициализируйте фильтр альфы - беты постоянной скорости |
initcaabf | Инициализируйте фильтр альфы - беты постоянного ускорения |
initcvekf | Инициализируйте расширенный Фильтр Калмана постоянной скорости. |
initcackf | Инициализируйте фильтр кубатуры постоянного ускорения. |
initctckf | Инициализируйте фильтр кубатуры постоянной угловой скорости вращения. |
initcvckf | Инициализируйте фильтр кубатуры постоянной скорости. |
initcapf | Инициализируйте фильтр частиц постоянного ускорения. |
initctpf | Инициализируйте фильтр частиц постоянной угловой скорости вращения. |
initcvpf | Инициализируйте фильтр частиц постоянной скорости. |
initcvkf | Инициализируйте постоянную скорость линейный Фильтр Калмана. |
initcvukf | Инициализируйте сигма-точечный фильтр Калмана постоянной скорости. |
initcaekf | Инициализируйте расширенный Фильтр Калмана постоянного ускорения. |
initcakf | Инициализируйте постоянное ускорение линейный Фильтр Калмана. |
initcaukf | Инициализируйте сигма-точечный фильтр Калмана постоянного ускорения. |
initctekf | Инициализируйте расширенный Фильтр Калмана постоянной угловой скорости вращения. |
initctukf | Инициализируйте сигма-точечный фильтр Калмана постоянной угловой скорости вращения. |
initcvmscekf | Инициализируйте измененные сферические координаты постоянной скорости, расширил Фильтр Калмана. |
initrpekf | Инициализируйте постоянную скорость параметризованный областью значений расширенный Фильтр Калмана. |
initapekf | Инициализируйте постоянную скорость параметризованный углом расширенный Фильтр Калмана. |
initekfimm | Инициализируйте отслеживание фильтр IMM. |
Можно также записать собственную функцию инициализации. Функция должна иметь этот синтаксис:
filter = filterInitializationFcn(detection)
objectDetection
. Выход этой функции должен быть объектом фильтра: trackingKF
, trackingEKF
, trackingUKF
, trackingCKF
, trackingPF
, trackingMSCEKF
, trackingGSF
, trackingIMM
, или trackingABF
.
Чтобы вести вас в записи этой функции, можно исследовать детали предоставленных функций из MATLAB. Например:
type initcvekf
Assignment algorithm name
— Имя алгоритма присвоения'MatchPairs'
(значение по умолчанию) | 'Munkres'
| 'Jonker-Volgenant'
| 'Auction'
| 'Custom'
Алгоритм присвоения, заданный как 'MatchPairs'
, 'Munkres'
, 'Jonker-Volgenant'
, 'Auction'
, или 'Custom'
. Munkres является единственным алгоритмом присвоения, который гарантирует оптимальное решение, но это является также самым медленным, специально для больших количеств обнаружений и дорожек. Другие алгоритмы не гарантируют оптимального решения, но могут быть быстрее для проблем с 20 или больше дорожками и обнаружениями. Use'Custom'
чтобы задать ваше собственное присвоение функционируют и задают его имя в CustomAssignmentFcn
свойство.
Name of 'Custom' assignment function
— Пользовательское имя функции присвоенияПользовательское имя функции присвоения, заданное как символьная строка. Функция присвоения должна иметь этот синтаксис:
[assignment,unTrs,unDets] = f(cost,costNonAssignment)
assignmunkres
.
Пример: 'mycustomfcn'
Чтобы включить это свойство, определите имя Assignment algorithm name к 'Custom'
.
Threshold for assigning detections to tracks
— Порог для присвоения обнаружений к дорожкам30*[1 Inf]
(значение по умолчанию) | положительная скалярная величина | 1 2 вектор положительных значенийПорог для присвоения обнаружений к дорожкам (или пропускание порога), заданный как положительная скалярная величина или 1 2 вектор [C 1,C2], где C 1 ≤ C 2. Если задано как скаляр, заданное значение, val, будет расширено до [val, Inf
].
Первоначально, средство отслеживания выполняет крупную оценку для нормированного расстояния между всеми дорожками и обнаружениями. Средство отслеживания только вычисляет точное нормированное расстояние для комбинаций, крупное нормированное расстояние которых меньше C 2. Кроме того, средство отслеживания может только присвоить обнаружение дорожке, если их точное нормированное расстояние меньше C 1. Смотрите distance
функция используется с отслеживанием фильтров (например, trackingCKF
и trackingEKF
) для объяснения расчета расстояния.
Советы:
Увеличьте значение C 2, если существуют комбинации дорожки и обнаружения, которое должно быть вычислено для присвоения, но не является. Уменьшите его, если расчет стоимости занимает слишком много времени.
Увеличьте значение C 1, если существуют обнаружения, которые должны быть присвоены дорожкам, но не являются. Уменьшите его, если существуют обнаружения, которые присвоены дорожкам, которым они не должны быть присвоены (слишком далеко).
Maximum number of tracks
— Максимальное количество дорожек
(значение по умолчанию) | положительное целое числоМаксимальное количество дорожек, которые блок может обеспечить, заданный как положительное целое число.
Maximum number of sensors
— Максимальное количество датчиков
(значение по умолчанию) | положительное целое числоМаксимальное количество датчиков, которые блок может обработать, заданный как положительное целое число. Это значение должно быть больше или быть равно самому высокому SensorIndex
значение вводится во входном порту Detections.
Simulate using
— Тип симуляции, чтобы запуститьсяInterpreted Execution
(значение по умолчанию) | Code Generation
Interpreted execution
— Симулируйте модель с помощью интерпретатора MATLAB. Эта опция сокращает время запуска. В Interpreted execution
режим, можно отладить исходный код блока.
Code generation
— Симулируйте модель с помощью сгенерированного кода C. В первый раз, когда вы запускаете симуляцию, Simulink генерирует код С для блока. Код С снова используется для последующих симуляций, пока модель не изменяется. Эта опция требует дополнительного времени запуска.
Type of track confirmation and deletion logic
— Подтверждение и тип логики удаленияHistory
(значение по умолчанию) | Score
Подтверждение и тип логики удаления, выбранный как History
или Score
.
History
– Отследите подтверждение, и удаление основано на числе раз, дорожка была присвоена обнаружению в последних обновлениях средства отслеживания.
Score
– Отследите подтверждение, и удаление основано на счете дорожки логарифмической правдоподобности. Высокий счет означает, что дорожка, более вероятно, будет допустима. Низкий балл означает, что дорожка, более вероятно, будет ложным предупреждением.
Confirmation threshold [M N]
— Отследите порог подтверждения для логики истории
(значение по умолчанию) | с действительным знаком 1 2 вектор положительных целых чиселОтследите порог подтверждения для логики истории, заданной как с действительным знаком 1 2 вектор положительных целых чисел [M N]
. Дорожка подтверждена, если она получает, по крайней мере, M
обнаружения в последнем N
обновления.
Чтобы включить этот параметр, установите Type of track confirmation and deletion logic на History
.
Deletion threshold [P Q]
— Отследите порог удаления для логики истории
(значение по умолчанию) | с действительным знаком 1 2 вектор положительных целых чиселОтследите порог удаления для логики истории, заданной как с действительным знаком 1 2 вектор положительных целых чисел [P Q]
. Дорожка удалена если в последнем Q
обновления, это было присвоено меньше, чем P
обнаружения.
Чтобы включить этот параметр, установите Type of track confirmation and deletion logic на History
.
Confirmation threshold [positive scalar]
— Отследите порог подтверждения для логики счета
(значение по умолчанию) | положительная скалярная величинаОтследите порог подтверждения для логики счета, заданной как положительная скалярная величина с действительным знаком. Дорожка подтверждена, если ее счет, по крайней мере, так же высок как порог подтверждения.
Чтобы включить этот параметр, установите Type of track confirmation and deletion logic на Score
.
Deletion threshold [negative scalar]
— Отследите порог удаления для логики счета
(значение по умолчанию) | скаляр | отрицательный скалярОтследите порог удаления для логики счета, заданной как отрицательный скаляр. Дорожка удалена, если ее счет уменьшается, по крайней мере, порогом с максимального счета дорожки.
Чтобы включить этот параметр, установите Type of track confirmation and deletion logic на Score
.
Probability of detection used for track score
— Вероятность обнаружения используется в счете дорожки
(значение по умолчанию) | скаляр в (0,1)Вероятность обнаружения используется в счете дорожки, заданном как положительная скалярная величина в (0,1).
Пример: 0.5
Чтобы включить этот параметр, установите Type of track confirmation and deletion logic на Score
.
Rate of false positives used for track score
— Вероятность ложного предупреждения используется в счете дорожки1e-6
(значение по умолчанию) | скаляр в (0,1)Вероятность ложного предупреждения используется в счете дорожки, заданном как скаляр в (0,1).
Пример: 1e-5
Чтобы включить этот параметр, установите Type of track confirmation and deletion logic на Score
.
Volume of the sensor's detection bin
— Объем интервала обнаружения датчика
(значение по умолчанию) | положительная скалярная величинаОбъем интервала обнаружения датчика, заданного как положительная скалярная величина. Например, если радар производит 4-D измерение, которое включает азимут, вертикальное изменение, область значений и уровень области значений, 4-D объем задан радаром угловая ширина луча, ширина интервала области значений и ширина интервала уровня области значений. Объем используется в вычислении счета дорожки при инициализации и обновлении дорожки.
Пример: 1.5
Чтобы включить этот параметр, установите Type of track confirmation and deletion logic на Score
.
Rate of new tracks per unit volume
— Уровень новых треков на единичный объем
(значение по умолчанию) | положительная скалярная величинаУровень новых треков на единичный объем, заданный как положительная скалярная величина. Уровень новых треков используется в вычислении счета дорожки во время инициализации дорожки.
Пример: 2.5
Чтобы включить этот параметр, установите Type of track confirmation and deletion logic на Score
.
Prediction time source
— Источник времени прогнозаAuto
(значение по умолчанию) | Input port
Источник в течение времени прогноза, заданного как Input port
или Auto
. Выберите Input port
вводить время обновления при помощи входного порта Prediction Time. В противном случае часы симуляции, управляемые Simulink, определяют время обновления.
Enable cost matrix input
— Включите входной порт для матрицы стоимостиУстановите этот флажок, чтобы включить вход матрицы стоимости при помощи входного порта Cost Matrix.
Enable detectable track IDs input
— Включите обнаруживаемый вход IDs дорожкиУстановите этот флажок, чтобы включить входной порт Detectable track IDs .
Enable tentative tracks output
— Включите выходной порт для предварительных дорожекУстановите этот флажок, чтобы включить выход предварительных дорожек через выходной порт Tentative Tracks.
Enable all tracks output
— Включите выходной порт для всех дорожекУстановите этот флажок, чтобы включить выход всех дорожек через выходной порт All Tracks.
Enable information output
— Включите выходной порт для получения информации об анализеУстановите этот флажок, чтобы включить выходной порт для получения информации об анализе через выходной порт Info.
Source of output bus name
— Источник выхода отслеживает имя шиныAuto
(значение по умолчанию) | Property
Источник выхода отслеживает имя шины, заданное как:
Auto
— Блок автоматически создает выходное имя шины дорожки.
Property
— Задайте выходное имя шины дорожки при помощи параметра Specify an output bus name.
Source of output info bus name
— Источник информации о выходе соединяет шиной имяAuto
(значение по умолчанию) | Property
Источник информации о выходе соединяет шиной имя, заданное как одна из этих опций:
Auto
— Блок автоматически создает имя шины информации о выходе.
Property
— Задайте имя шины информации о выходе при помощи параметра Specify an output bus name.
Когда средство отслеживания GNN обнаружения процессов, создание дорожки и управление выполняет эти шаги:
Средство отслеживания делит обнаружения на инициирующий датчик.
Для каждого датчика:
Средство отслеживания вычисляет расстояния от обнаружений до существующих дорожек и формирует матрицу стоимости.
На основе затрат средство отслеживания выполняет глобальное самое близкое соседнее присвоение с помощью алгоритма, заданного параметром Assignment algorithm name.
Алгоритм присвоения делит обнаружения и дорожки в три группы:
Присвоенное непосредственное обнаружение и пары дорожки
Неприсвоенные обнаружения
Неприсвоенные дорожки
Неприсвоенные обнаружения инициализируют новые треки. Используя неприсвоенное обнаружение, средство отслеживания инициализирует фильтр нового трека, заданный параметром Filter initialization function. Логика дорожки для нового трека инициализируется также.
Средство отслеживания проверяет, может ли какое-либо из неприсвоенных обнаружений от других датчиков быть присвоено новому треку. Если так, средство отслеживания обновляет новый трек с присвоенными обнаружениями от других датчиков. В результате эти обнаружения больше не инициализируют новые треки.
Пары присвоенных дорожек и обнаружений используются, чтобы обновить каждую дорожку. Фильтр дорожки обновляется с помощью correct
метод предоставлен заданным фильтром отслеживания. Кроме того, логика дорожки обновляется с "хитом". Средство отслеживания проверяет, соответствует ли дорожка критериям для подтверждения. Если так, средство отслеживания подтверждает дорожку и устанавливает IsCoasted
поле к false
.
Неприсвоенные дорожки обновляются с "мисс" и их IsCoasted
поле установлено в true
. Средство отслеживания проверяет, соответствует ли дорожка критериям для удаления. Если так, средство отслеживания удаляет дорожку из ведомого списка дорожек.
Все дорожки предсказаны к последней временной стоимости (или время, обеспеченное входным портом Prediction Time, или время, определенное Simulink).
Поля структуры дорожки:
Поле | Определение |
---|---|
SourceIndex | Уникальный исходный индекс раньше отличал источники отслеживания в среде средства отслеживания кратного. |
TrackID | Уникальный идентификатор дорожки раньше отличал несколько дорожек. |
BranchID | Уникальный идентификатор ветви дорожки раньше отличал несколько ветвей дорожки. |
UpdateTime | Время, в которое обновляется дорожка. Модули находятся в секундах. |
Age | Число раз пережившая дорожка. |
State | Значение вектора состояния во время обновления. |
StateCovariance | Ковариационная матрица неопределенности. |
TrackLogic | Подтверждение и тип логики удаления, возвращенный как 'History' или 'Score' . |
TrackLogicState | Текущее состояние типа логики дорожки. На основе логического типа
|
IsConfirmed | Состояние Confirmation. Этим полем является true если дорожка подтверждена, чтобы быть действительной целью. |
IsCoasted | Состояние Coasting. Этим полем является true если дорожка обновляется без нового обнаружения. |
IsSelfReported | Укажите, сообщает ли о дорожке средство отслеживания. Это поле используется в среде сплава дорожки. Это возвращено как |
ObjectClassID | Целочисленное значение, представляющее предметную классификацию. Значение 0 представляет неизвестную классификацию. Ненулевые классификации применяются только к подтвержденным дорожкам. |
ObjectAttributes | Дополнительная информация дорожки. |
assignauction
| assignjv
| assignkbest
| assignkbestsd
| assignmunkres
| assignsd
| fusecovint
| fusecovunion
| fusexcov
| getTrackPositions
| getTrackVelocities
objectDetection
| objectTrack
| trackHistoryLogic
| trackScoreLogic
| trackingABF
| trackingCKF
| trackingEKF
| trackingGSF
| trackingIMM
| trackingKF
| trackingMSCEKF
| trackingPF
| trackingUKF
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.