selectStrongestBbox

Выберите самые сильные ограничительные рамки из перекрывающихся кластеров

Описание

пример

[selectedBbox,selectedScore] = selectStrongestBbox(bbox,score) возвращает выбранные ограничительные рамки, которые имеют высокую оценку достоверности. Функция использует немаксимальное подавление, чтобы исключить перекрывающиеся ограничивающие прямоугольники из bbox вход.

[selectedBbox,selectedScore,index] = selectStrongestBbox(bbox,score) дополнительно возвращает index вектор, сопоставленный с selectedBbox. Этот вектор содержит индексы выбранных полей в bbox вход.

[___] = selectStrongestBbox(___,Name,Value) использует дополнительные опции, заданные одним или несколькими Name,Value аргументы в виде пар.

Примеры

свернуть все

Загрузите предварительно обученную совокупные функции канала (ACF) детектора людей.

peopleDetector = peopleDetectorACF();

Обнаружение людей в изображении. Отключите немаксимальное подавление по умолчанию, используемое детектором.

I = imread('visionteam1.jpg'); 
[bbox,score] = detect(peopleDetector,I,'SelectStrongest',false); 

Запустите немаксимальное подавление с пользовательским порогом.

I = imread('visionteam1.jpg'); 
[selectedBbox,selectedScore] = selectStrongestBbox(bbox,score,'OverlapThreshold',0.3);

Отображение результатов.

I1 = insertObjectAnnotation(I,'rectangle',bbox,score,'Color','r');
I2 = insertObjectAnnotation(I,'rectangle',selectedBbox,selectedScore,'Color','r');

figure, imshow(I1);
title('Detected people and detection scores before suppression'); 

Figure contains an axes. The axes with title Detected people and detection scores before suppression contains an object of type image.

figure, imshow(I2);
title('Detected people and detection scores after suppression');

Figure contains an axes. The axes with title Detected people and detection scores after suppression contains an object of type image.

Входные параметры

свернуть все

Ограничительные прямоугольники, заданные как M -by-4 или M -by-5, не анализируют числовую матрицу. M - количество ограничивающих рамок. Каждая строка матрицы определяет ограничивающий прямоугольник как выровненный по оси прямоугольник или повернутый прямоугольник. В этой таблице описывается формат для каждого ограничивающего прямоугольника.

Ограничительный прямоугольникОписание
Выровненный по оси прямоугольник

Определенный в пикселе координирует как <reservedrangesplaceholder4>-by-4 числовая матрица со строками формы [<reservedrangesplaceholder3> <reservedrangesplaceholder2> <reservedrangesplaceholder1> <reservedrangesplaceholder0>], где:

  • M - количество выровненных по оси прямоугольников.

  • x и y задайте верхний левый угол прямоугольника.

  • w задает ширину прямоугольника, которая является его длиной вдоль оси x.

  • h задает высоту прямоугольника, которая является его длиной вдоль оси y.

Повернутый прямоугольник

Определенный в пространственных координатах как <reservedrangesplaceholder5>-by-5 числовая матрица со строками формы [<<reservedrangesplaceholder4> <reservedrangesplaceholder3> <reservedrangesplaceholder2> <reservedrangesplaceholder1> <reserved angesplaceholder0>] , где:

  • M - количество повернутых прямоугольников.

  • xctr и yctr определяют центр прямоугольника.

  • xlen задает ширину прямоугольника, которая является его длиной вдоль оси x перед поворотом.

  • ylen задает высоту прямоугольника, которая является его длиной вдоль оси y перед поворотом.

  • yaw задает угол поворота в степенях. Вращение по часовой стрелке-положительно вокруг центра ограничивающего прямоугольника.

Square rectangle rotated by -30 degrees.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Оценка достоверности, заданный как вектор M -by-1. M-й счет соответствует M-му ограничивающему прямоугольнику в bbox вход. The selectStrongestBbox функция использует немаксимальное подавление, чтобы исключить перекрытие ограничивающих рамок и связать оценку достоверности с рамками. Более высокий счет представляет более высокое доверие в сохранении ограничивающего прямоугольника. The score вход должен быть вещественным, конечным и неразборчивым.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: 'RatioType', 'Union' устанавливает 'RatioType' свойство к 'Union'.

Тип коэффициента, заданный как вектор символов 'Union' или 'Min'.

  • Установите тип коэффициента равным 'Union' вычислить отношение как площадь пересечения между bboxA и bboxB, разделенная на области объединения двух.

  • Установите тип коэффициента равным 'Min' вычислить отношение как площадь пересечения между bboxA и bboxB, разделенная на минимальную площадь двух ограничивающих рамок.

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

Порог коэффициента перекрытия, заданный как разделенная разделенными запятой парами, состоящая из 'OverlapThreshold'и скаляром в области значений [0 1]. Когда коэффициент перекрытия выше установленного порога, функция удаляет ограничительные рамки вокруг ссылки рамки. Уменьшите это значение, чтобы уменьшить количество выбранных ограничивающих рамок. Однако, если вы слишком сильно уменьшаете коэффициент перекрытия, можно исключить рамки, которые представляют объекты, близкие друг к другу на изображении.

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

Максимальное количество самых сильных коробок, заданное как разделенная разделенными запятой парами, состоящая из 'NumStrongest' и inf или положительная скалярная величина. Используйте этот аргумент для сокращения времени вычислений, когда вы априори знаете о максимальном количестве коробок. Установите значение равным inf чтобы выбрать все самые сильные, неперекрывающиеся, ограничивающие рамки.

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

свернуть все

Выбранные ограничительные рамки, возвращенные как M -by-4 или M -by-5 матрица. Векторы с 4 элементами представляют выровненные по оси прямоугольники, а векторы с 5 элементами представляют повернутые прямоугольники.

The selectedBbox выход возвращает выбранные ограничительные рамки из bbox входы, которые имеют самую высокую оценку достоверности. Функция использует немаксимальное подавление, чтобы исключить перекрывающиеся ограничивающие рамки.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Счета выбранных ограничивающих рамок, возвращенные как M-на-1 вектор. M-й счет в selectedScore выход соответствует M-му ограничивающему прямоугольнику в selectedBbox выход.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Индекс выбранных ограничивающих рамок, возвращенный как вектор M -by-1. The index вектор содержит индексы к выбранным полям в bbox вход.

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

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

..
Введенный в R2014b