2014-10-06 2 views
0

установки заключается в следующем:Распознавание образов - найти похожие изображения

  • База данных с картинами
  • робот, который принимает кадры картины

Я хочу, чтобы сравнить выстрелы робот сделал с изображениями в нашей базе данных. Проблема в том, что снимки не будут идеальными. Картина, скорее всего, будет в кадре, но выстрел также будет содержать стены/другие объекты. Заболеваемость светом также вызовет проблемы. Поэтому я хочу найти изображения в базе данных, которые в определенной степени похожи.

Я читал на PIL, scipy, openCV, машинное обучение.

Есть ли что-нибудь, что вы, ребята, можете порекомендовать по этой проблеме?

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

Редактировать: Я знаю решения, представленные на других должностях. Например: сравнение сопоставлений гистограмм/шаблонов и соответствия функций. Сравнение гистограмм не будет сокращено в моем приложении. Также не будет сопоставления. Как и большая часть рабочей нагрузки. Совпадение шаблонов может, однако, углы, на которых будут выполняться снимки, не будут почти идеальными.

+1

Вам понадобится [исследовательская группа и пять лет] (http://m.xkcd.com/1425/). –

ответ

3

Вы можете использовать индекс SSIM. В пакете scikit-image реализована реализация python.

2

Ваша проблема звучит скорее как приложение feature detection and matching. Учитывая выстрел, захваченный роботом, вы извлекаете из него функции и сравниваете их со списком функций, которые у вас есть в вашей базе данных (каждое изображение имеет лот функций). Возможно, вам стоит взглянуть на SURF или какой-нибудь другой дескриптор, который выполняет вашу работу. OpenCV очень хорошо документировал implementations для many вариантов. Совпадение функций будет последним этапом, на котором вы фактически принимаете решение о совпадении или несоответствии.

Обратите внимание, что все это действительно тяжело для обработки, поэтому забудьте в режиме реального времени.

Смежные вопросы