exponenta event banner

assignTOMHT

Отслеживание назначения с ориентацией на несколько гипотез

Описание

пример

[assignments,unassignedrows,unassignedcolumns] = assignTOMHT(costmatrix,costThreshold) возвращает таблицу назначений, assignmentsобнаружения дорожек с использованием алгоритма, ориентированного на несколько гипотез (TOMHT).

Стоимость каждого потенциального назначения содержится в матрице затрат, costmatrix. Каждая запись матрицы представляет стоимость возможных назначений. Строки матрицы представляют дорожки, а столбцы представляют обнаружения. Все возможные присвоения представлены в матрице затрат. Чем ниже стоимость, тем больше вероятность выполнения назначения. Каждая дорожка может быть назначена максимум одному обнаружению, и каждая дорожка может быть назначена максимум одному обнаружению. Если число строк больше количества столбцов, некоторые дорожки не назначаются. Если число столбцов превышает число строк, некоторые обнаруженные элементы не назначаются. Можно задать запись costmatrix кому Inf запретить назначение.

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

Функция возвращает список неназначенных дорожек, unassignedrowsи список неназначенных обнаружений, unassignedcolumns.

Примеры

свернуть все

Поиск назначений из матрицы затрат с помощью assignTOMHT с ненулевым C1 затвором и ненулевым C2 затвором.

Создайте матрицу затрат, которая назначит:

  • Путь 1 к обнаружению 1 в пределах C1 затвора и обнаружение 2 в пределах C2 затвора.

  • Путь 2 к обнаружению 2 в пределах C2 затвора и обнаружение 3 в пределах C3 затвора.

  • Трасса 3 не назначена.

  • Обнаружение 4 не назначено.

costMatrix = [4 9 200 Inf; 300 12 28 Inf; 32 100 210 1000];
costThresh = [5 10 30];

Вычислите назначения.

[assignments, unassignedTracks, unassignedDets] = assignTOMHT(costMatrix,costThresh)
assignments = 4x2 uint32 matrix

   1   1
   1   2
   2   2
   2   3

unassignedTracks = 2x1 uint32 column vector

   2
   3

unassignedDets = 2x1 uint32 column vector

   3
   4

Дорожки, которым назначены обнаружения в пределах C1 литника, не считаются неназначенными. Например, дорожка 1. Обнаружения, назначенные дорожкам в пределах C2 литника, не считаются неназначенными. Например, обнаружения 1 и 2.

Входные аргументы

свернуть все

Матрица затрат, заданная как матрица M-by-N. M - количество назначаемых дорожек, а N - количество назначаемых обнаружений. Каждая запись в матрице затрат содержит стоимость назначения дорожки и обнаружения. Матрица может содержать Inf для указания на то, что назначение запрещено. Матрица затрат не может быть разреженной матрицей.

Типы данных: single | double

Вентили назначения, заданные как положительный, вещественный трехэлементный вектор [c1gate,c2gate,c3gate] где c1gate <= c2gate <= c3gate.

Пример: [0.1,0.3,0.5]

Типы данных: single | double

Выходные аргументы

свернуть все

Назначение обнаружений для отслеживания, возвращаемое в виде целочисленной матрицы L-by-2, где L - количество назначений. Первый столбец матрицы содержит назначенные индексы дорожки, а второй столбец содержит назначенные индексы обнаружения.

Типы данных: uint32

Индексы неназначенных дорожек, возвращаемые как целочисленный вектор P-by-1 столбца.

Типы данных: uint32

Индексы неназначенных обнаружений, возвращаемые как целочисленный вектор Q-by-1 столбца.

Типы данных: uint32

Алгоритмы

свернуть все

Пороговые значения назначения для отслеживания множественных гипотез

Три порога назначения, C1, C2 и C3, управляют (1) назначением обнаружения дорожке, (2) созданием новой ветви из обнаружения и (3) созданием новой ветви из неназначенной дорожки. Пороговые значения должны соответствовать: C1 < = C2 < = C3 .

Если стоимость присвоения равна C = costmatrix(i,j), следующие гипотезы создаются на основе сравнения стоимости со значениями пороговых значений назначения. Под каждым сравнением находится список возможных гипотез.

Совет:

  • Увеличьте значение C3, если есть обнаружения, которые должны быть назначены дорожкам, но не. Уменьшите значение, если есть обнаружения, которые назначены дорожкам, которым они не должны быть назначены (слишком далеко).

  • Увеличение значений C1 и C2 помогает контролировать количество создаваемых ветвей дорожки. Тем не менее, это уменьшает количество ветвей (гипотез), которые имеет каждая дорожка.

  • Чтобы отменить назначение каждой дорожки, установите значение C1 = 0.

  • Чтобы каждое обнаружение не назначалось, установите значение C2 = 0.

Ссылки

[1] Вертманн, Джон Р. «Пошаговое описание вычислительно эффективной версии отслеживания множественных гипотез». В документе «Обработка сигналов и данных малых целей 1992», том 1698, стр. 288-300. Международное общество оптики и фотоники, 1992 год.

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.
Представлен в R2018b