extractHOGFeatures

Извлеките гистограмму ориентированных градиентов (ПОЖИРАТЕЛЬ РЕСУРСОВ) функции

Синтаксис

features = extractHOGFeatures(I)
[features,validPoints] = extractHOGFeatures(I,points)
[___, visualization] = extractHOGFeatures(I,___)
[___] = extractHOGFeatures(___,Name,Value)

Описание

пример

features = extractHOGFeatures(I) возвращает извлеченные функции ПОЖИРАТЕЛЯ РЕСУРСОВ в истинный цвет или полутоновое входное изображение, I. Функции возвращены в 1 N вектором, где N является полнометражный ПОЖИРАТЕЛЬ РЕСУРСОВ. Возвращенные функции кодируют локальную информацию о форме из областей в изображении. Можно использовать эту информацию для многих задач включая классификацию, обнаружение и отслеживание.

пример

[features,validPoints] = extractHOGFeatures(I,points) возвращает функции ПОЖИРАТЕЛЯ РЕСУРСОВ, извлеченные вокруг заданных местоположений точки. Функция также возвращает validPoints, который содержит местоположения точки ввода, окружающая область которых полностью содержится в I. Масштабируйтесь информация, сопоставленная с точками, проигнорирована.

пример

[___, visualization] = extractHOGFeatures(I,___) опционально возвращает визуализацию функции ПОЖИРАТЕЛЯ РЕСУРСОВ, с помощью любого из предыдущих синтаксисов. Можно отобразить эту визуализацию с помощью plot (visualization).

[___] = extractHOGFeatures(___,Name,Value) дополнительные опции использования, заданные одним или несколькими Имя, аргументы пары Значения, с помощью любого из предыдущих синтаксисов.

Примеры

свернуть все

Считайте изображение интереса.

img = imread('cameraman.tif');

Извлеките функции ПОЖИРАТЕЛЯ РЕСУРСОВ.

[featureVector,hogVisualization] = extractHOGFeatures(img);

Постройте функции ПОЖИРАТЕЛЯ РЕСУРСОВ по оригинальному изображению.

figure;
imshow(img); 
hold on;
plot(hogVisualization);

Считайте изображение интереса.

I1 = imread('gantrycrane.png');

Извлеките функции ПОЖИРАТЕЛЯ РЕСУРСОВ.

[hog1,visualization] = extractHOGFeatures(I1,'CellSize',[32 32]);

Отобразите оригинальное изображение и функции ПОЖИРАТЕЛЯ РЕСУРСОВ.

subplot(1,2,1);
imshow(I1);
subplot(1,2,2);
plot(visualization);

Читайте в изображении интереса.

I2 = imread('gantrycrane.png');

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

corners   = detectFASTFeatures(rgb2gray(I2));
strongest = selectStrongest(corners,3);

Извлеките функции ПОЖИРАТЕЛЯ РЕСУРСОВ.

[hog2, validPoints,ptVis] = extractHOGFeatures(I2,strongest);

Отобразите оригинальное изображение с наложением функций ПОЖИРАТЕЛЯ РЕСУРСОВ вокруг самых сильных углов.

figure;
imshow(I2);
hold on;
plot(ptVis,'Color','green');

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

свернуть все

Введите изображение, заданное или в M-by-N-by-3 истинный цвет или в M-by-N 2D шкала полутонов. Входное изображение должно быть действительным, неразреженным значением. Если у вас есть плотно кадрированные изображения, можно потерять информацию о форме, которую может закодировать функция ПОЖИРАТЕЛЯ РЕСУРСОВ. Можно постараться не терять эту информацию включением дополнительного поля пикселей вокруг закрашенной фигуры, которая содержит фоновые пиксели.

Типы данных: single | double | int16 | uint8 | uint16 | logical

Центральная точка местоположения квадратного окружения, заданного или как BRISKPoints, SURFPoints, MSERRegions, объект ORBPoints или cornerPoints или как M-by-2 матрица количества M [x, y] координаты. Функция извлекает дескрипторы от окружений, которые полностью содержатся в границе изображения. Можно установить размер окружения с параметром BlockSize. Только окружения, полностью содержавшие в изображении, используются, чтобы определить допустимые выходные точки. Функция игнорирует информацию о шкале, сопоставленную с этими точками.

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

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

Пример: 'BlockSize', [2 2] устанавливает BlockSize быть квадратным блоком 2 на 2.

Размер ячейки HOG, заданной в пикселях как вектор с 2 элементами. Чтобы получить крупномасштабную пространственную информацию, увеличьте размер ячейки. Когда вы увеличиваете размер ячейки, можно потерять небольшую деталь.

Количество ячеек в блоке, заданном как вектор с 2 элементами. Большое значение размера блока уменьшает способность подавить локальные изменения освещения. Из-за количества пикселей в большом блоке эти изменения могут потеряться с усреднением. Сокращение размера блока помогает получить значение локальных пикселей. Меньший размер блока может помочь подавить изменения освещения функций ПОЖИРАТЕЛЯ РЕСУРСОВ.

Количество перекрывающихся ячеек между смежными блоками, заданными как вектор с 2 элементами. Чтобы гарантировать соответствующую контрастную нормализацию, выберите перекрытие, по крайней мере, половины размера блока. Большие значения перекрытия могут получить больше информации, но они производят больший размер характеристического вектора. Это свойство применяется только, когда вы извлекаете функции ПОЖИРАТЕЛЯ РЕСУРСОВ из областей а не от местоположений точки. Когда вы извлекаете функции ПОЖИРАТЕЛЯ РЕСУРСОВ вокруг местоположения точки, только один блок используется, и таким образом, никакое перекрытие не происходит.

Количество интервалов гистограммы ориентации, заданных как положительная скалярная величина. Чтобы закодировать более прекрасные детали ориентации, увеличьте число интервалов. Увеличение этого повышения стоимости размер характеристического вектора, который требует большего количества времени к процессу.

Выбор значений ориентации, заданных как логический скаляр. Когда вы устанавливаете это свойство на true, значения ориентации равномерно расположены с интервалами в интервалах между-180 и 180 градусами. Когда вы устанавливаете это свойство на false, они равномерно расположены с интервалами от 0 до 180. В этом случае значения теты, которые являются меньше чем 0, помещаются в тету + 180 интервалов значения. Используя ориентацию со знаком может помочь дифференцировать свет-к-темному по сравнению с темными к свету переходами в области изображений.

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

свернуть все

Извлеченные функции ПОЖИРАТЕЛЯ РЕСУРСОВ, возвращенные или как 1 N вектором или как P-by-Q матрица. Функции кодируют локальную информацию о форме из областей или от местоположений точки в изображении. Можно использовать эту информацию для многих задач включая классификацию, обнаружение и отслеживание.

features выводОписание
1 N векторомПолнометражный ПОЖИРАТЕЛЬ РЕСУРСОВ, N, основан на размере изображения и значениях параметра функции.
N = prod ([BlocksPerImage, BlockSize, NumBins])
BlocksPerImage = floor ((size (I)./CellSizeBlockSize). / (BlockSizeBlockOverlap) + 1)
P-by-Q матрицаP является количеством актуальных вопросов, окружающая область которых полностью содержится во входном изображении. Вы обеспечиваете входное значение points для извлечения местоположений точки.
Окружающая область вычисляется как:
CellSize. *BlockSize.
Длина характеристического вектора, Q, вычисляется как:
prod ([NumBins, BlockSize]).

 Пример 1. Расположение гистограмм в характеристических векторах ПОЖИРАТЕЛЯ РЕСУРСОВ

Фигура ниже показов изображение с шестью ячейками.

Если бы вы устанавливаете BlockSize на [2 2], он сделал бы размер каждого блока HOG, ячеек 2 на 2. Размер ячеек находится в пикселях. Можно установить его со свойством CellSize.

Характеристический вектор ПОЖИРАТЕЛЯ РЕСУРСОВ располагается блоками ПОЖИРАТЕЛЯ РЕСУРСОВ. Гистограмма ячейки, H (Cyx), 1 NumBins.

Фигура ниже показов характеристический вектор ПОЖИРАТЕЛЯ РЕСУРСОВ с ячейкой 1 на 1 накладывается между блоками.

Актуальные вопросы сопоставили с каждым вектором дескриптора features вывод. Этот выходной параметр может быть возвращен или как объект cornerPoints, BRISKPoints, объект SURFPoints, объект MSERRegions, объект ORBPoints или как M-by-2 матрица [x, y] координаты. Функция извлекает количество M дескрипторов от допустимых точек интереса в области размера, равного [CellSize. *BlockSize]. Извлеченные дескрипторы возвращены как тот же тип объекта или матрицы как вход. Область должна полностью содержаться в изображении.

Визуализация функции ПОЖИРАТЕЛЯ РЕСУРСОВ, возвращенная как объект. Функциональные выходные параметры этот дополнительный аргумент, чтобы визуализировать извлеченные функции ПОЖИРАТЕЛЯ РЕСУРСОВ. Можно использовать метод plot с visualization вывод. Смотрите пример Функций ПОЖИРАТЕЛЯ РЕСУРСОВ Извлечения и Графика.

Функции ПОЖИРАТЕЛЯ РЕСУРСОВ визуализируются с помощью сетки однородно расположенных с интервалами графиков rose. Размер ячейки и размер изображения определяют размерности сетки. Каждый поднялся, график показывает распределение ориентаций градиента в ячейке HOG. Длина каждого лепестка повысилась, график масштабируется, чтобы указать на вклад, который каждая ориентация делает в гистограмме ячейки. График отображает направления ребра, которые нормальны к направлениям градиента. Просмотр графика с направлениями ребра позволяет вам лучше понимать форму и контуры, закодированные ПОЖИРАТЕЛЕМ РЕСУРСОВ. Каждый поднялся отображения графика два раза лепестки NumBins.

Можно использовать следующий синтаксис, чтобы построить функции ПОЖИРАТЕЛЯ РЕСУРСОВ:

plot(visualization) строит функции ПОЖИРАТЕЛЯ РЕСУРСОВ, когда массив повысился графики.
plot(visualization,AX) строит функции ПОЖИРАТЕЛЯ РЕСУРСОВ в AX осей.
plot(___, 'Color',Colorspec) Задает цвет, используемый, чтобы построить функции ПОЖИРАТЕЛЯ РЕСУРСОВ, где Colorspec представляет цвет.

Ссылки

[1] Dalal, N. и Б. Триггс. "Гистограммы Ориентированных Градиентов для Человеческого Обнаружения", Конференция Общества эпохи компьютеризации IEEE по Компьютерному зрению и Распознаванию образов, Изданию 1 (июнь 2005), стр 886–893.

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

Введенный в R2013b

Для просмотра документации необходимо авторизоваться на сайте