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

Алгоритмы

свернуть все

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

Три порога присвоения, 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.

Ссылки

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

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

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

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

Функции

Введенный в R2018b