Является ли просеивание хорошим способом извлечь элементы из изображения?


13

Я пытаюсь извлечь объекты из изображения, но мне не удалось получить точки, которые я хочу извлечь, и, следовательно, мое изображение не соответствует шаблону.

Есть ли какие-либо контрольные точки, которые мне нужно пройти, прежде чем применять SIFT к своему изображению, чтобы получить хорошие результаты? Например шаблон изображения;
введите описание изображения здесь

целевое изображение; введите описание изображения здесь


1
Зависит от типа изображения и того, для чего вы хотите использовать функции. Больше информации, пожалуйста.

Ответы:


14

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

Эмпирическое правило: сравнивать нравится, нравится.

Просеивание (шаблон) содержится в просеивании (изображение)

Вы не можете настроить Sift для извлечения «нужных вам функций». Sift * использует инвариантные меры, чтобы найти функции, которые он считает наиболее значимыми. (* Крис А)

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

Просто предложение. Я не знаю точно, какой тип шаблона вы пытаетесь вписать в какой тип сцены или изображения.


7
+1, согласен. За исключением одного. SIFT не находит функции, которые являются наиболее инвариантными. Он использует инвариантные меры, чтобы найти функции, которые он считает наиболее заметными.

7

Я не уверен, хотите ли вы просто сопоставить два изображения (например, найти общие точки), или вы хотите попробовать что-то вроде CBIR (контентный поиск изображений - поиск в базе данных с помощью шаблонного изображения, чтобы найти все, что содержит объект).

В настоящее время я занимаюсь исследованиями CBIR, поэтому я достаточно хорошо знаком с современными методами. Здесь и здесь приведены ссылки на мои ответы на проблемы, аналогичные вашим из stackoverflow, вы должны посмотреть.

Теперь немного поговорим о SIFT. Когда впервые был представлен Лоу, термин SIFT применялся как к процессу обнаружения объекта, так и к дескрипторам объекта, рассчитанным на основе этих обнаруженных точек интереса. До этого дня, просеять дескрипторы оказались невероятно удивительным. Дескрипторы имеют некоторые интересные свойства, которые @Totero уже упоминал.

Метод обнаружения SIFT , с другой стороны, который в настоящее время все больше и больше называют DoG (Разница по Гауссу), больше не является современным. Он по-прежнему широко используется, но для процесса обнаружения признаков сегодня существует больше методов, некоторые из которых лучше или лучше дополняют типы инвариантных ключевых точек, извлекаемых DoG-процессом.

В большинстве современных работ (см. Ссылки в связанных вопросах о стековом потоке) есть еще одна приятная практика: они объединяют несколько способов обнаружения объектов, а затем используют дескрипторы SIFT (которые по-прежнему являются дескрипторами) для вычисления инвариантных представлений вектора. В настоящее время я работаю с комбинацией DoG (они фокусируются на угловых частях изображений) и MSER (они фокусируются на выделенных точках, похожих на капли, в нескольких масштабах). Возможно, вы захотите попробовать экспериментировать и добавить туда еще больше типов детекторов функций, если вы обнаружите, что эта комбинация не подходит для вашей конкретной базы данных изображений.

Кроме того, если вам интересно, вот статья, которая оценивает преформанты различных комбинаций обнаружения и дескриптора. Я не читал его, так как DoG & MSER + SIFT отлично работает для меня, но я просмотрел его, и статья довольно хорошая.

PS: используйте Google scholar, если у вас нет доступа к базе данных IEEEXplore, с которой я связан.


Небольшое уточнение: DoG означает «Разница по Гауссу» (разница между двумя ответами фильтра Гаусса)
Libor

2

Опираясь на предыдущие ответы:

(1) Вы можете использовать SIFT (или другой улучшенный вариант этого дескриптора локального исправления) с плотной выборкой вместо встроенного детектора. Вы можете выбрать размер локального патча и плотность выборки в соответствии с вашими требованиями к производительности и вычислительным затратам.

(2) SIFT является аффинно-инвариантным дескриптором для широкого базового стереофонического соответствия. Это означает, что SIFT хорошо работает, когда вы берете изображение и вызываете аффинное преобразование к нему, при этом «шаблон» должен присутствовать в целевом изображении, хотя и с преобразованиями.

Предложения: (a) Создайте базу данных шаблонных изображений (если возможно), чтобы улучшить ваши шансы на обнаружение изображения.

(b) Вы можете использовать модель BoW в качестве базовой линии, если вы решите использовать подход CBIR для вашей задачи.

(c) Обрежьте ваше изображение шаблона только для соответствующей части и используйте очень плотный SIFT. http://www.vlfeat.org/overview/dsift.html

(4) Позже вы можете захотеть использовать мультивалютный дескриптор, такой как PHOG (пирамидальная гистограмма градиентов) и т. Д., Который потенциально может улучшить результаты. http://www.vlfeat.org/overview/dsift.html#tut.dsift.phow

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.