Срезать ветви пути с низкой вероятностью
[ возвращает логический флаг, toPrune,globalProbability] = pruneTrackBranches(branchHistory,scores,hypotheses)toPrune, которая указывает, какие ветви должны быть отсечены на основе истории ветвей, оценок ветвей и гипотез. pruneTrackBranches также возвращает глобальные вероятности ветвей, globalProbability.
[ использует пары «имя-значение» для изменения способа отсечения ветвей.toPrune,globalProbability] = pruneTrackBranches(branchHistory,scores,hypotheses,Name,Value)
[ возвращает дополнительную информацию, toPrune,globalProbability,info] = pruneTrackBranches(___)info, о обрезанных ветвях.
Создайте матрицу истории ответвлений для одного датчика с 20 ответвлениями. Для этого примера глубина истории равна 4, поэтому матрица имеет 7 столбцов.
history = [ 8 14 14 0 0 2 0 1 23 23 0 0 2 1 2 24 24 0 0 1 2 9 25 25 0 1 0 0 10 26 26 0 2 0 0 1 28 28 0 1 0 1 4 33 33 0 1 2 1 1 34 34 0 1 2 1 2 35 35 0 2 1 2 11 0 36 1 0 0 0 12 0 37 2 0 0 0 8 14 38 2 0 2 0 1 23 39 2 0 2 1 2 24 40 1 0 1 2 9 25 41 2 1 0 0 10 26 42 1 2 0 0 1 28 43 2 1 0 1 4 33 44 2 1 2 1 1 34 45 2 1 2 1 2 35 46 1 2 1 2];
Получение списка кластеров и списка несовместимых ветвей. clusters матрица имеет два столбца, поэтому существует два кластера.
[clusters,incompBranches] = clusterTrackBranches(history);
Укажите вектор столбца 20 на 1, содержащий оценки ветвей.
scores = [4.5 44.9 47.4 6.8 6.8 43.5 50.5 61.9 64.7 9.1 9.1 19 61.7 ...
63.5 21.2 20.5 60.7 67.3 79.2 81.5]';Получить матрицу гипотез.
hypotheses = compatibleTrackBranches(clusters,incompBranches,scores,10);
Удалите ветви пути, используя аргументы пары имя-значение, чтобы указать один датчик и 'Hypothesis' способ обрезки N-сканирования. Возвращает флаг отсечения, глобальную вероятность и сведения об отсечении для каждой ветви. Чтобы упростить сравнение информации, преобразуйте ее из структуры в таблицу.
i-е значение toPrune является true если любой из 'PrunedByProbability', 'PrunedByNScan', или'PrunedByNumBranchesявляются true в i-й строке информационной таблицы.
[toPrune,probs,info] = pruneTrackBranches(history,scores,hypotheses, ... 'NumSensors',1,'NScanPruning','Hypothesis'); infoTable = struct2table(info)
infoTable=20×6 table
BranchID PriorProbability GlobalProbability PrunedByProbability PrunedByNScan PrunedByNumBranches
________ ________________ _________________ ___________________ _____________ ___________________
14 0.98901 0.098901 false false false
23 1 0.1 false false true
24 1 0.1 false false true
25 0.99889 0.099889 false false false
26 0.99889 0.099889 false false false
28 1 0 true true false
33 1 0 true false false
34 1 0.2 false false false
35 1 0.2 false false false
36 0.99989 0.19998 false false false
37 0.99989 0.19998 false false false
38 1 0 true false false
39 1 0.1 false false false
40 1 0.1 false false false
41 1 0.1 false false false
42 1 0.1 false false false
⋮
branchHistory - История филиалаИстория ветви, заданная как матрица целых чисел. Каждая строка branchHistory представляет уникальную ветвь пути. branchHistory должен иметь 3 + (D × S) столбцов, где D - количество обслуживаемых сканирований (глубина истории), а S - максимальное количество обслуживаемых датчиков. Дополнительные сведения см. в разделеhistory выходные данные trackBranchHistory системный объект.
scores - Оценки филиаловБаллы ветвления, заданные как M-by-1 числовой вектор или M-by-2 числовая матрица.
Примечание
При указании scores в качестве M-by-2 числовой матрицы первый столбец определяет текущий балл каждой ветви, а второй столбец определяет максимальный балл. pruneTrackBranches игнорирует второй столбец.
Типы данных: single | double
hypotheses - ГипотезыГипотезы, возвращаемые в виде логической матрицы M-by-H, где M - число ветвей, а H - число глобальных гипотез. Вы можете использовать clusterTrackBranches чтобы вычислить кластеры из матрицы истории ветвлений, затем используйте compatibleTrackBranches для вычисления гипотез из кластеров.
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
[toPrune,probs] = pruneTrackBranches(branchHistory,scores,hypotheses,'MinBranchProbability',2e-3);'MinBranchProbability' - Минимальная вероятность ветвления1e-3 (по умолчанию) | число в диапазоне [0,1)Минимальный порог вероятности перехода, указанный как пара, разделенная запятыми, состоящая из 'MinBranchProbability' и число в диапазоне [0,1). Типичные значения находятся между 1e-3 и 5e-3. pruneTrackBranches функция отсекает ветви с глобальной вероятностью, меньшей порогового значения.
'MaxNumTrackBranches' - Максимальное количество филиалов3 (по умолчанию) | положительное целое числоМаксимальное количество ветвей, сохраняемых на дорожку, указанное как пара, разделенная запятыми, состоящая из 'MaxNumTrackBranches' и положительное целое число. Типичные значения находятся в диапазоне от 2 до 6. Если трасса имеет больше, чем это количество ветвей, то pruneTrackBrances ветки чернослива с наименьшим начальным баллом.
'NScanPruning' - Метод обрезки N-сканирования'None' (по умолчанию) | 'Hypothesis'N-scan метод отсечения, указанный как пара, разделенная запятыми, состоящая из 'NScanPruning' и 'None' или 'Hypothesis'. При указании 'Hypothesis', то pruneTrackBrances удаляет ветви, несовместимые с текущей наиболее вероятной ветвью в последних N сканированиях. По умолчанию pruneTrackBrances не использует обрезку N-сканирования.
'NumSensors' - Количество датчиков20 (по умолчанию) | положительное целое числоКоличество датчиков в истории, указанное как разделенная запятыми пара, состоящая из 'NumSensors' и положительное целое число.
toPrune - Ответвления для обрезкиОтветвляется на обрезку, возвращается как M-by-1 логический вектор. Значение true указывает, что ветвь должна быть обрезана.
Типы данных: logical
globalProbability - Глобальные вероятности филиаловГлобальные вероятности ветвей, возвращаемые как M-by-1 числовой вектор.
info - Сведения об обрезкеУдаление информации о каждой ветви, возвращаемой в виде структуры со следующими полями.
BranchID - M-by-1 числовой вектор. Каждое значение определяет идентификатор ветви дорожки. Идентификаторы получены из третьего столбца branchHistory.
PriorProbability - M-by-1 числовой вектор. Каждое значение определяет предшествующую вероятность ветвления из оценки ветвления.
GlobalProbability - M-by-1 числовой вектор. Каждое значение определяет глобальную вероятность ветви, которая рассматривает гипотезы, содержащие ветвь, и их оценки.
PrunedByProbability - M-by-1 логический вектор. Значение true указывает, что ветвь обрезана MinBranchProbability.
PrunedByNScan - M-by-1 логический вектор. Значение true указывает, что ветвь обрезана NScanPruning.
PrunedByNumBranches - M-by-1 логический вектор. Значение true указывает, что ветвь обрезана MaxNumTrackBranches.
[1] Вертманн, Джон Р. «Пошаговое описание вычислительно эффективной версии отслеживания множественных гипотез». В трудах SPIE том 1698, Сигнал и обработка малых целей. 1992, стр 288–300. дои: 10.1117/12.139379.
[2] Блэкман, Сэмюэл и Роберт Пополи. «Проектирование и анализ современных систем слежения». Artech House, 1999.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.