Разница между обнаружением признаков и извлечением дескриптора
Кто-нибудь знает разницу между FeatureDetection и DescriptorExtraction в OpenCV 2.3? Я понимаю, что последний требуется для сопоставления с использованием DescriptorMatcher. Если это так, то для чего используется FeatureDetection?
Спасибо.
2 ответа
Обнаружение функций
В компьютерном зрении и обработке изображений концепция обнаружения признаков относится к методам, которые направлены на вычисление абстракций информации об изображении и принятие локальных решений в каждой точке изображения, независимо от того, существует ли особенность изображения данного типа в этой точке или нет. Получающиеся элементы будут подмножествами области изображения, часто в форме изолированных точек, непрерывных кривых или связанных областей.
Обнаружение объектов = как найти некоторые интересные точки (особенности) на изображении (например: найти угол, найти шаблон и т. Д.)
Извлечение функций
В распознавании образов и обработке изображений извлечение признаков является особой формой уменьшения размерности. Когда входные данные для алгоритма слишком велики для обработки, и предполагается, что они заведомо избыточны (много данных, но не много информации), тогда входные данные будут преобразованы в набор функций с уменьшенным представлением (также называемый вектором признаков), Преобразование входных данных в набор функций называется извлечением объектов. Если извлеченные функции выбраны тщательно, ожидается, что набор функций извлечет соответствующую информацию из входных данных, чтобы выполнить желаемую задачу, используя это сокращенное представление вместо полноразмерного ввода.
Извлечение признаков = как представить интересные точки, которые мы нашли, чтобы сравнить их с другими интересными точками (функциями) на изображении. (Например, локальная интенсивность области этой точки? Локальная ориентация области вокруг точки? И так далее...)
Практический пример: вы можете найти угол с помощью метода угла Харриса, но вы можете описать его любым способом, который вам нужен (например, гистограммы, HOG, локальная ориентация в 8-й смежности)
Вы можете увидеть здесь больше информации, ссылка на Википедию
Жюльен, (Помогло с википедией: р)
И то и другое, Feature Detection
а также Feature descriptor extraction
являются частью Feature based image registration
, Имеет смысл взглянуть на них в контексте всего процесса регистрации изображений на основе возможностей, чтобы понять, в чем заключается их работа.
Функциональный алгоритм регистрации
На следующем рисунке из документации PCL показан такой конвейер регистрации:
Сбор данных: входное изображение и опорное изображение поступает в алгоритм. Изображения должны показывать одну и ту же сцену с немного разных точек зрения.
Оценка ключевой точки (обнаружение признаков ): ключевая точка ( точка интереса) - это точка в облаке точек, которая имеет следующие характеристики:
- оно имеет четкое, предпочтительно математически обоснованное определение,
- он имеет четко определенную позицию в пространстве изображения,
- локальная структура изображения вокруг точки интереса богата с точки зрения содержания локальной информации.
OpenCV поставляется с несколькими реализациями дляFeature detection
, такие как:
Такие характерные точки на изображении настолько полезны, потому что их сумма характеризует изображение и помогает различать его различные части.
Дескрипторы объектов (экстрактор дескрипторов). После определения ключевых точек мы продолжаем вычислять дескриптор для каждого из них. "Локальный дескриптор - компактное представление локальной окрестности точки. В отличие от глобальных дескрипторов, описывающих полный объект или облако точек, локальные дескрипторы пытаются напоминать форму и внешний вид только в локальной окрестности вокруг точки и, таким образом, очень подходят для ее представления. с точки зрения соответствия. " (Дирк Хольц и др.). Варианты OpenCV:
Оценка соответствия (сопоставление дескрипторов): Следующая задача - найти соответствия между ключевыми точками, найденными на обоих изображениях. Поэтому извлеченные объекты помещаются в структуру, которую можно эффективно искать (например, в kd-дереве). Обычно достаточно найти все локальные дескрипторы объектов и сопоставить каждый из них с его соответствующим аналогом из другого изображения. Однако из-за того факта, что два изображения из одной и той же сцены не обязательно имеют одинаковое количество дескрипторов объектов, поскольку в одном облаке может быть больше данных, чем в другом, нам нужно запустить отдельный процесс отклонения корреспонденции. Варианты OpenCV:
Отклонение корреспонденции: один из наиболее распространенных подходов к выполнению отклонения корреспонденции - это использование RANSAC ( согласованный случайный выбор).
Оценка трансформации: после того, как надежные соответствия между двумя изображениями вычислены,
Absolute Orientation Algorithm
используются для вычисления матрицы преобразования, которая применяется на входном изображении, чтобы соответствовать эталонному изображению. Есть много различных алгоритмических подходов для этого, общий подход: Разложение по сингулярным значениям (SVD).