exponenta event banner

extractFeatures

Извлечение дескрипторов процентных пунктов

Описание

пример

[features,validPoints] = extractFeatures(I,points) возвращает извлеченные векторы элементов, также известные как дескрипторы, и их соответствующие местоположения из двоичного изображения или изображения интенсивности.

Функция извлекает дескрипторы из пикселей, окружающих точку интереса. Пикселы представляют и соответствуют элементам, указанным в расположении с одной точкой. Каждая одноточечная точка определяет местоположение центра окрестности. Метод, используемый для извлечения дескриптора, зависит от класса ввода points.

пример

[features,validPoints] = extractFeatures(I,points,Name,Value) использует дополнительные параметры, указанные одним или несколькими Name,Value аргументы пары.

Примеры

свернуть все

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

  I = imread('cameraman.tif');

Поиск и извлечение угловых элементов.

  corners = detectHarrisFeatures(I);
  [features, valid_corners] = extractFeatures(I, corners);

Отображение изображения.

  figure; imshow(I); hold on

Figure contains an axes. The axes contains an object of type image.

Постройте график допустимых угловых точек.

  plot(valid_corners);

Figure contains an axes. The axes contains 2 objects of type image, line.

Чтение изображения.

    I = imread('cameraman.tif');

Поиск и извлечение элементов.

    points = detectSURFFeatures(I);
    [features, valid_points] = extractFeatures(I, points);

Отображение и печать десяти самых сильных элементов SURF.

    figure; imshow(I); hold on;
    plot(valid_points.selectStrongest(10),'showOrientation',true);

Figure contains an axes. The axes contains 3 objects of type image, line.

Чтение изображения.

    I = imread('cameraman.tif');

Поиск элементов с помощью MSER с дескриптором элемента SURF.

    regions = detectMSERFeatures(I);
    [features, valid_points] = extractFeatures(I,regions,'Upright',true);

Отображение элементов SURF, соответствующих центрам эллипсов MSER.

    figure; imshow(I); hold on;
    plot(valid_points,'showOrientation',true);

Figure contains an axes. The axes contains 3 objects of type image, line.

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

свернуть все

Входное изображение, указанное как двоичное или 2-D изображение в градациях серого.

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

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

Класс баллов 
BRISKPointsБинарные инвариантные масштабируемые ключевые точки (BRISK)
SURFPoints объектУскоренные надежные функции (SURF)
MSERRegions объектМаксимально стабильные экстремальные регионы (MSER)
cornerPointsФункции ускоренного тестирования сегментов (FAST), минимальное собственное значение или Harris
KAZEPointsНелинейное изображение, основанное на вращении пирамиды и инвариантных элементах ориентации. Аналогично SURF, но содержит менее шумные точки.
ORBPointsОриентированная функция FAST и повернутая функция BRIEF (ORB).
M-by-2 матрица координат [x y]Простое квадратное соседство вокруг [x y] точек

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

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

Пример: 'Method','Block' задает Block способ извлечения дескриптора.

Метод извлечения дескриптора, указанный как разделенная запятыми пара, состоящая из 'Method«и»FREAK', 'SURF', 'ORB', Block', или'Auto'.

В таблице описано, как функция реализует методы извлечения дескриптора.

МетодВектор элементов (дескриптор)
BRISKБинарные устойчивые инвариантные масштабируемые ключевые точки (BRISK).
Функция устанавливает Orientation имущества validPoints вывод объекта на ориентацию выделенных элементов в радианах.
FREAKБыстрая ключевая точка сетчатки (FREAK).
Функция устанавливает Orientation имущества validPoints вывод объекта на ориентацию выделенных элементов в радианах.
SURFУскоренные надежные функции (SURF).
Функция устанавливает Orientation имущества validPoints вывод объекта на ориентацию выделенных элементов в радианах.

При использовании MSERRegions объект с SURF способ, Centroid свойство объекта извлекает дескрипторы SURF. Axes свойство объекта выбирает масштаб дескрипторов SURF таким образом, что окружность, представляющая признак, имеет площадь, пропорциональную площади эллипса MSER. Шкала рассчитывается как 1/4*sqrt((majorAxes/2).*(minorAxes/2)) и насыщенные до 1.6, в соответствии с требованиями SURFPoints объект.

ORBОриентированная функция FAST и повернутая функция BRIEF (ORB).
Orientation имущества validPoints для объекта вывода автоматически устанавливается значение Orientation свойство входа ORBPoints объект points.
KAZEНелинейные элементы на основе пирамид.

Функция устанавливает Orientation имущества validPoints вывод объекта на ориентацию выделенных элементов в радианах.

При использовании MSERRegions объект с KAZE способ, Location свойство объекта используется для извлечения дескрипторов KAZE.

Axes свойство объекта выбирает масштаб дескрипторов KAZE таким образом, что окружность, представляющая признак, имеет площадь, пропорциональную площади эллипса MSER.

BlockПростой квадратный район.

Block извлекает только окрестности, полностью содержащиеся в пределах границы изображения. Следовательно, выходные данные, validPoints, может содержать меньше точек, чем вход POINTS.

AutoФункция выбирает Method, на основе класса входных точек и реализует:
FREAK метод для cornerPoints входной объект.
SURF метод для SURFPoints или MSERRegions входной объект.
BRISK метод для BRISKPoints входной объект.
ORB метод для ORBPoints входной объект.

Для M-by-2 входной матрицы с координатами [x y] функция реализует Block способ.

Примечание

Метод извлечения дескриптора должен быть ORB, если вход points является ORBPoints объект. Также, ORB метод извлечения дескриптора не поддерживается для любого другого класса точек, кроме ORBPoints.

Размер блока, заданный в виде нечетного целого скаляра. Это значение определяет локальный квадратный район BlockSize-by-BlockSize, центрированный в каждой точке начисления процентов. Эта опция применяется только в том случае, если функция реализует Block способ.

Флаг инвариантности вращения, заданный логический скаляр. При установке для этого свойства значения trueориентация векторов признаков не оценивается, и ориентация признаков устанавливается в pi/2. Установить для этого значение true если дескрипторы изображений не нужны для записи информации о повороте. При установке для этого свойства значения false, оценивают ориентацию элементов и затем элементы инвариантны вращению.

Примечание

Флаг инвариантности вращения 'Upright' не поддерживается, если вход points является ORBPoints объект.

Длина вектора (дескриптора) элемента SURF или KAZE, указанная как 64 или 128. Эта опция применяется только в том случае, если функция реализует SURF или KAZE способ. Больший размер элемента 128 обеспечивает большую точность, но уменьшает скорость согласования элементов.

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

свернуть все

Векторы элементов, возвращаемые как binaryFeatures объект или матрица M-на-N из М векторов признаков, также известных как дескрипторы. Каждый дескриптор имеет длину N.

Допустимые точки, связанные с каждым вектором элемента вывода (дескриптором) в features, возвращается в том же формате, что и входные данные. Допустимыми точками могут быть BRISKPoints, cornerPoints, SURFPoints, KAZEPoints, MSERRegions, ORBPoints объект или матрица M-by-2 с координатами [x, y].

Функция извлекает дескрипторы из области вокруг каждой точки интереса. Если область находится вне изображения, функция не может вычислить дескриптор элемента для этой точки. Если интересующая точка находится слишком близко к краю изображения, функция не может вычислить дескриптор элемента. В этом случае функция игнорирует точку. Точка не включается в вывод допустимых точек.

Ссылки

[1] Г. Брадски и А. Келер, Learning OpenCV: Computer Vision with the OpenCV Library, O'Reilly, Sebastopol, CA, 2008.

[2] Герберт Бэй, Андреас Эсс, Тинне Туйтелаарс, Люк Ван Гул, SURF: ускоренные надежные функции, "Компьютерное видение и понимание изображений (CVIU), том 110, № 3, стр. 346 - 359, 2008

[3] Бэй, Герберт, Андреас Эсс, Тинне Туйтелаарс и Люк Ван Гул, «SURF: ускоренные надежные функции», компьютерное зрение и понимание изображений (CVIU), том 110, № 3, стр. 346-359, 2008.

[4] Алахи, Александр, Ортис, Рафаэль и Пьер Вандергхайнст, «FREAK: Fast Retina keypoint», конференция IEEE по компьютерному зрению и распознаванию образов, 2012.

[5] Алькантарилла, П. Ф., А. Бартоли и А. Дж. Дэвисон. «Особенности KAZE», ECCV 2012, Часть VI, LNCS 7577 pp. 214, 2012

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

.
Представлен в R2011a