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