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, imshow(I2);
title('Detected people and detection scores after suppression');

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

свернуть все

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

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

Заданный в пикселе координирует как M-by-4 числовая матрица со строками формы [x y w h], где:

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

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

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

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

Вращаемый прямоугольник

Заданный в пространственных координатах как M-by-5 числовая матрица со строками формы [xctr yctr xlen ylen yaw], где:

  • 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 th счет соответствует M th ограничительная рамка в bbox входной параметр. selectStrongestBbox функционируйте использует немаксимальное подавление, чтобы устранить перекрывающиеся ограничительные рамки и сопоставить оценку достоверности с полями. Более высокий счет представляет более высокое доверие к хранению ограничительной рамки. score введите должно быть действительным, конечным, и неразреженным.

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

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

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

Пример: 'RatioType'объединение устанавливает '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 элементами представляют вращаемые прямоугольники.

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

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

Множество выбранных ограничительных рамок, возвращенных как M-by-1 вектор. M th выигрывает в selectedScore выведите соответствует M th ограничительная рамка в selectedBbox вывод .

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

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

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

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

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

|

Введенный в R2014b