В чем разница между обнаружением признаков и извлечением дескриптора?

Кто-нибудь знает разницу между обнаружением функций и извлечением дескрипторов в OpenCV 2.3?

Я понимаю, что последнее необходимо для сопоставления с использованием DescriptorMatcher. В таком случае для чего используется FeatureDetection?


person Chris Arriola    schedule 26.07.2011    source источник


Ответы (2)


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

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

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

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

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

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

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

Вы можете найти здесь дополнительную информацию в этой статье в Википедии.

person jmartel    schedule 26.07.2011

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

Алгоритм регистрации на основе характеристик

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

Попарная регистрация PCL

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

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

    1. it has a clear, preferably mathematically well-founded, definition,
    2. он занимает четко определенное положение в пространстве изображения,
    3. Локальная структура изображения вокруг интересующего объекта богата с точки зрения местного информационного содержания.
      OpenCV поставляется с несколькими реализациями для Feature detection, например:

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

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

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

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

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

person Kevin Katzke    schedule 29.08.2016