Разница между обнаружением признаков и извлечением дескриптора - PullRequest
43 голосов
/ 26 июля 2011

Кто-нибудь знает разницу между FeatureDetection и DescriptorExtraction в OpenCV 2.3? Я понимаю, что последний требуется для сопоставления с использованием DescriptorMatcher. Если это так, то для чего используется FeatureDetection?

Спасибо.

Ответы [ 2 ]

93 голосов
/ 26 июля 2011

Обнаружение функции

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

    Обнаружение элементов = как найти некоторые интересные точки (элементы) на изображении (например: найти угол, найти шаблон и т. Д.) *

Извлечение функции

  • При распознавании образов и обработке изображений извлечение признаков является особой формой уменьшения размерности. Когда входные данные для алгоритма слишком велики для обработки, и предполагается, что они заведомо избыточны (много данных, но не много информации), тогда входные данные будут преобразованы в набор функций с уменьшенным представлением (также называемый вектором признаков) , Преобразование входных данных в набор функций называется извлечением объектов. Если извлеченные функции выбраны тщательно, ожидается, что набор функций извлечет соответствующую информацию из входных данных, чтобы выполнить желаемую задачу, используя это сокращенное представление вместо полноразмерного ввода.

    Извлечение объектов = как представить интересные точки, которые мы нашли, чтобы сравнить их с другими интересными точками (функциями) на изображении. (Например, локальная интенсивность области этой точки? Локальная ориентация области вокруг точки? И т. Д.)

Практический пример: вы можете найти угол с помощью метода угла Харриса, но вы можете описать его любым способом, который вам нужен (например, гистограммы, HOG, локальная ориентация в 8-й смежности)

Здесь вы можете увидеть больше информации, Ссылка на Википедию

Julien, (Помогло с википедией: p)

22 голосов
/ 30 августа 2016

Оба, Feature Detection и Feature descriptor extraction являются частями Feature based image registration.Имеет смысл взглянуть на них только в контексте всего процесса регистрации изображений на основе функций, чтобы понять, в чем заключается их работа.

Алгоритм регистрации на основе функций

На следующем рисунке из документации PCL показан такой конвейер регистрации:

PCL pairwise registration

  1. Сбор данных: * * тысяча двадцать-два входное изображение и опорное изображение поступает в алгоритм.Изображения должны показывать одну и ту же сцену с немного разных точек зрения.

  2. Оценка ключевой точки (обнаружение функции): Ключевая точка ( интересующая точка )точка в облаке точек, имеющая следующие характеристики:

    1. имеет четкое, предпочтительно математически обоснованное определение,
    2. имеет четко определенную позицию в пространстве изображения,
    3. локальная структура изображения вокруг точки интереса богата с точки зрения содержания локальной информации. OpenCV поставляется с несколькими реализациями для Feature detection, такими как:

    Такие выступающие точки на изображении настолько полезны, потому что их сумма характеризует изображение и помогает различать его различные части.

  3. Дескрипторы объектов (экстрактор дескрипторов): После определения ключевых точек мы продолжаем вычислять дескриптор для каждого из них.«Локальный дескриптор - компактное представление локальной окрестности точки. В отличие от глобальных дескрипторов, описывающих полный объект или облако точек, локальные дескрипторы пытаются напоминать форму и внешний вид только в локальной окрестности вокруг точки и, таким образом, очень подходят для ее представления.с точки зрения соответствия. " (Дирк Хольц и др.) . Опции OpenCV :

  4. Оценка соответствия (сопоставление дескрипторов): Следующая задача - найти соответствия между ключевыми точками, найденными на обоих изображениях. ПоэтомуИзвлеченные объекты помещаются в структуру, в которой можно эффективно выполнять поиск (например, kd-tree ).Обычно достаточно найти все локальные дескрипторы объектов и сопоставить каждый из них с его соответствующим аналогом из другого изображения.Однако из-за того факта, что два изображения из одной и той же сцены не обязательно имеют одинаковое количество дескрипторов объектов, поскольку одно облако может содержать больше данных, чем другое, нам необходимо запустить отдельный процесс отклонения корреспонденции. Опции OpenCV :

  5. Отклонение корреспонденции: Одним из наиболее распространенных подходов к выполнению отклонения корреспонденции является использование RANSAC (Консенсус случайной выборки).

  6. Оценка преобразования: После того, как вычислены надежные соответствия между двумя изображениями, Absolute Orientation Algorithm используется для вычисления матрицы преобразования, которая применяется к входному изображению для соответствия эталонному изображению.Есть много различных алгоритмических подходов, чтобы сделать это, общий подход: Разложение по сингулярным значениям (SVD).

...