2010-01-15 10 views
56

Кто-нибудь знает о недавней научной работе, которая была выполнена при распознавании логотипа в изображениях? Пожалуйста, ответьте только в том случае, если вы знакомы с этим конкретным предметом (я могу самостоятельно найти Google для «распознавания логотипа», большое спасибо). Любой, кто хорошо разбирается в компьютерном видении и проделал работу по распознаванию объектов, также может комментировать.Распознавание логотипов в изображениях

Update: Пожалуйста, обратитесь к алгоритмическим аспектам (какой подход вы думаете, уместно, документы в этой области, должен ли он работать (и был протестирован) для реальных данных, из соображений эффективности), а не технических сторон (используемый язык программирования или он был с OpenCV ...) Работа по индексированию изображений и поиску изображений на основе контента также может помочь.

+1

Если вы скажете нам, что ищете, и что вы подразумеваете под «серьезным», вы можете повысить шансы получить хороший ответ. Я работаю в области распознавания/распознавания компьютеров в течение более 10 лет, но я даже не уверен, что вы подразумеваете под «распознаванием логотипа». – Niki

+0

По признаку логотипа я имею в виду, например, получение изображения, содержащего логотип/товарный знак Coca Cola, определение логотипа и маркировку его как «Coca Cola». 10 лет работы в поле звучат серьезно для меня. (В основном я старался избегать ответов, таких как ниже, которые не очень информативны) – elijah

+0

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

ответ

37

Вы можете попробовать использовать местные особенности, как SIFT здесь: http://en.wikipedia.org/wiki/Scale-invariant_feature_transform

Он должен работать, так как логотип форма, как правило, постоянные, так извлекаемые особенности должны соответствовать хорошо.

рабочий процесс будет выглядеть следующим образом:

  1. Detect углы (например Харриса детектор) - для Nike логотип они являются двумя острыми концами.

  2. Compute дескрипторы (например, SIFT - 128D целочисленный вектор)

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

  4. Исправлены неправильные совпадения с использованием RANSAC. Таким образом, вы получите матрицу, которая описывает преобразование от идеального логотипа к тому, где вы найдете логотип. В зависимости от настроек вы можете допускать различные виды преобразований (просто перевод, перевод и вращение, аффинное преобразование).

В книге Szeliski есть глава (4.1) о местных особенностях. http://research.microsoft.com/en-us/um/people/szeliski/Book/

P.S.

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

  2. Обычный SIFT не учитывает информацию о цвете.Поскольку логотипы обычно имеют постоянные цвета (хотя точный цвет зависит от молнии и камеры), вы можете каким-то образом рассмотреть информацию о цвете.

+0

Спасибо. Этот подход звучит разумно. Что касается ближайшего соседа для каждой функции - это звучит довольно интенсивно (я планирую иметь тысячи логотипов для распознавания), что бы вы подумали, это хороший способ оптимизации? Я думал о векторном квантовании или приблизительных ближайших соседях ... – elijah

+1

Лиза, вы правы, трудно найти NN в 128D. Современное состояние - приблизительный поиск NN через дерево деревьев kd-деревьев или k-деревьев. Он реализован в Muja-Lowe FLANN: http://people.cs.ubc.ca/~mariusm/index.php/FLANN/FLANN –

+0

Еще раз спасибо.Также найдено эти документы, касающиеся масштабируемым и эффективное распознавание образов: * «Малые коды и большие базы данных изображений для распознавания» по Torralba, Фергюс, Weiss * «Scalable Recognition с Vocabulary Tree» по Нистеру и Stewenius – elijah

4

Я работал над проектом, где нам нужно было сделать что-то очень похожее. Сначала я попытался с помощью методов обучения Хаара с использованием этого программного обеспечения

OpenCV

Он работал, но не является оптимальным решением для наших нужд. Наши исходные изображения (где мы искали логотип) были фиксированного размера и содержали только логотип. Из-за этого мы смогли использовать cvMatchShapes с известным хорошим совпадением и сравнить возвращаемое значение, чтобы считать хорошее совпадение.

+0

См. Мое обновление – elijah

7

работал на этом: согласование товарных знаков и поиска в видео базах данных спортивных получить PDF бумаги: http://scholar.google.it/scholar?cluster=9926471658203167449&hl=en&as_sdt=2000

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

Я бы сказал, что в целом работа с видеороликами сложнее, чем работа с фотографиями из-за очень плохого визуального качества используемых в настоящее время телевизионных стандартов.

Marco

30

Мы работали над логотипом обнаружения/распознавания в реальном мире образов. Мы также создали набор данных FlickrLogos-32 и сделали его общедоступным, в том числе данные, истинные истинные и оценочные сценарии.

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

В последнее время мы разработали метод связывания Bundle min-Hashing, который объединяет пространственные конфигурации нескольких локальных функций в высоко отличительные узлы функций. Представление связки можно использовать как для поиска, так и для распознавания. Смотрите следующие примеры тепловые карт для логотипа обнаружений:

enter image description here enter image description here

Вы найдете более подробную информацию о внутренних операциях, возможности применения подхода, эксперименты по ее эффективности и, конечно, также много ссылок на соответствующую работу в документы [1][2].

+3

Вы найдете здесь статьи: http://www.multimedia-computing.de/wiki/Stefan_Romberg. Ищите «Bundle min-Hashing» или мою кандидатскую диссертацию. У меня есть некоторые демо, которые не являются публичными (пока). Прототип был продан. – Stefan