assignTOMHT

Ориентированные на дорожку мультигипотезы, отслеживающие присвоение

Синтаксис

[assignments,unassignedrows,unassignedcolumns] = assignTOMHT(costmatrix,costThreshold)

Описание

пример

[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

Алгоритмы

свернуть все

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

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

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

Советы:

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

  • Увеличение значений, C 1 и C 2 помогает управлять количеством ответвлений дорожки, которые создаются. Однако выполнение так сокращает количество ответвлений (гипотезы), каждая дорожка имеет.

  • Чтобы позволить каждой дорожке, которая будет неприсвоенной, устанавливает C 1 = 0.

  • Чтобы позволить каждому обнаружению, которое будет неприсвоенным, устанавливает C 2 = 0.

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

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Смотрите также

Функции

Введенный в R2018b