обучение функциям SIFT в OpenCV - PullRequest
6 голосов
/ 19 июля 2011

Я создал небольшое приложение SIFT, которое захватывает ключевые точки и сохраняет их в текстовом файле.Я использую это, чтобы получить информацию от логотипа (скажем, AT & T) и использовать его для сравнения с другими изображениями с этим логотипом.Проблема в том, что многие мои изображения имеют варианты логотипа, которые из-за масштабирования, поворота или освещения не поднимают его.Мне было интересно, можно ли было получить набор изображений, захватить его ключевые точки и запустить его через какой-то алгоритм обучения для улучшения обнаружения.

Я искал в Интернете способы обучения ключевых точек SIFT, но все они в какой-то phd-статье, посвященной всем этим математическим алгоритмам, которые, честно говоря, отбрасывают меня, потому что я какое-то время не учился на уроках математики.

Если у кого-то есть какие-либо советыили ссылки, чтобы можно было понять, как работает обучение или что нужно сделать для его реализации, пожалуйста, дайте мне знать.Или, если у кого-то есть более простые способы сделать это без SIFT, я был бы очень признателен за другие формы обнаружения.Ниже приведен список того, что я пробовал:

  • SURF
    • Ошибка при возвращении неверных результатов
  • Характеристики Хаара с Adaboosting
    • Не удалось, так как я начал тренировать 100 положительных моделей с 100 отрицательными изображениями 7/11/2011, и он все еще работает с 19.07.2011
  • Соответствие шаблонамс различными преобразованиями одного и того же логотипа с пороговым значением и без него
    • Не удалось, так как мне пришлось бы экспоненциально создавать логотипы на основе количества раз, которое он не смог обнаружить на изображении

Заранее спасибо

Ответы [ 2 ]

3 голосов
/ 19 июля 2011

Простой отправной точкой будет сбор SIFT / SURF дескрипторов нескольких логотипов AT & T и использование на них FLANN .Затем возьмите тестовое изображение, вычислите дескрипторы, выполните поиск по диапазону, определите расстояние до ближайшего соседа и т. Д. И попытайтесь определить показатель «близости».

0 голосов
/ 07 декабря 2012

Вы можете использовать PCA для уменьшения количества измерений, а затем вы можете обучить некоторый классификатор, такой как SVM, на наборе векторных функций, извлеченных из логотипов.также вы можете использовать BoW (мешок слов \ особенностей).Также вы можете зайти на «распознавание логотипа» в большом количестве доступных материалов.

...