Поиск по похожим картинкам

Тема в разделе "Базы данных", создана пользователем Dador, 21 авг 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Dador

    Dador Читатель

    Заблокирован
    Регистр.:
    14 янв 2008
    Сообщения:
    368
    Симпатии:
    97
    небольшая идейка на счёт сравнения картинок...
    Если брать и уменьшать все картинки до определенного размера и запихивать например всё это в хеш MD5, или я путаюсь
    но если потом сравнивать эти кеши, ну чтобы найти одинаковую картинку также её уменьшить и в хеш и искать его по базе... ресурсо ёмко или нет?
    А если разделить на несколько кусков например на 9 и проделать тоже самое только под одной меткой и где была картинка... уже будет лучше

    Реально такое или нет?
    p.s. за ошибки сорри....
    главный вопрос про нагрузку
     
  2. Dador

    Dador Читатель

    Заблокирован
    Регистр.:
    14 янв 2008
    Сообщения:
    368
    Симпатии:
    97
    Можно перенести в более подходяший раздел, мне кажется это не совсем тот раздел для таких вопросов
     
  3. fs84

    fs84 Читатель

    Заблокирован
    Регистр.:
    19 дек 2006
    Сообщения:
    150
    Симпатии:
    43
    Думаю первый ресурс тебя заинтересует.1. http://tineye.com/
    2. http://vectormagic.com/ По предложенному тобой варианту скорее всего - нет. Т.к. картинки могут отличатся не только формой рисунка, цветом, размером, но еще и качеством сжатия и фильтром которым было применено сжатие.
    Как итог прогнав в фотошопе 2 абсолютно одинаковых картинки, но при этом сохранив их для веба - одну с качеством 60, а другую 100 - ты получишь совершенно не совпадающие значения. Или просто возьми 2 одинаковых картинки, одну не трогай, а на второй обреж чуток фон и снова растяни до прежних размеров - как итог - точно такое же несовпадение значений.

    Думаю проще писать десктопную прогу, которая будет заниматься анализом картинок (например определение контуров объекта и конвертация в кривые как на 2 ссылке, а вектор уже легко описывается математически и без проблем храницо в БД), поиском и т.д.

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

    Нет, сорее всего связка серверной проги + интерфейска с БД на скриптах... Принцип работы угадать даже не пытался... Лучше поищи инфу в нете по теме сравнения двух изображений и какие разработки есть на данный момент...
    Могу предположить только то - что прога как раз и занимается определением контуров, делит картинку на области и запоминает для каждой области свой набор цветов - это как минимум, плюсом идет скорее всего распознание объектов (яблоко, птица, корабль), чтобы сократить поиск по базе данных и уменьшить нагрузку.
     
  4. Dador

    Dador Читатель

    Заблокирован
    Регистр.:
    14 янв 2008
    Сообщения:
    368
    Симпатии:
    97
    м... так значит есть такой поисковик, раньше в другой теме писали что нету нету, да и сам я не видел...
    Не знаешь как там сделано?
     
  5. everest

    everest

    Регистр.:
    20 дек 2006
    Сообщения:
    197
    Симпатии:
    20
    проблема поиска картинок не нова. и решения есть.
    только решения обычно заточены под определенный вид объектов.
    например, нахождение одинаковых лиц - находятся контрольные точки на изображениях и они сравниваются. либо определяются контуры, сегменты и т.д. (см. любая книжка по обработке изображений).
    с универсальным поиском сложнее... но есть же алгоритмы - найти все картинки с машинками и т.д.

    если уж брать предложенное вами решение - то проще просто ужать картинки до одного размера (но при этом разные алгоритмы по разному ужимают) и вычитать из оригинала по точкам каждое изображение. разница чем меньше разность, тем похожее изображение...
    только я бы еще стал проверять смещение картинки по осям X и Y (например при смещении на 1 пикселб по любой оси - картинки не совпадут)...
     
    Dador нравится это.
  6. rus-us

    rus-us

    Регистр.:
    8 сен 2007
    Сообщения:
    153
    Симпатии:
    72
    есть десктопная прога для поиска дубликатов картинок, может пригодится
    http://www.imagedupeless.com/ru/
    принцип, по моему как и
    http://tineye.com/
     
  7. angelua

    angelua Создатель

    Регистр.:
    30 янв 2007
    Сообщения:
    27
    Симпатии:
    12
    tineye.com - поиск копий изображений

    Вот небольшой анализ поиска копий изображений в tineye.com


    Если на сегодняшний день практически все поисковики осуществляют поиск изображений только по «пристегнутым» к ним надписям, то tineye.com позволяет обнаружить копии картинки в формате JPEG, PNG или GIF размером около трехсот пикселей по одной из сторон. При этом картинка, заданная в tineye.com в качестве поискового запроса, должна иметь параметры не менее 100 пикселей по стороне и «весить» не более 1 мегабайта.


    Поисковик некорректно работает с картинками, имеющими видимые водяные знаки, поскольку принимает последние за часть изображения.
    Релевантность поисковой выдачи tineye.com основана на степени схожести обнаруженного изображения с оригиналом. При этом сервис способен распознать и найти копии с текстом, в другом цветовом решении, в рамке, а также несколько повернутые или масштабированные.


    Лично я - постоянный и активный пользователь этого чудесного сервиса :ay:
     
  8. everest

    everest

    Регистр.:
    20 дек 2006
    Сообщения:
    197
    Симпатии:
    20
    В этом году на РОМИП были доклады по поиску картинок

    см http://www.romip.ru
     
  9. krenkus

    krenkus Создатель

    Регистр.:
    10 мар 2008
    Сообщения:
    37
    Симпатии:
    4
    Яша недавно рапортовал в новостях каких-то, что, "их программисты справились с задачей поиска дублей картинок", после этого в их поиске картинок появилась куча одинаковых :D
    Найдешь решение - получишь грант! :)
     
  10. deniua

    deniua Создатель

    Регистр.:
    5 янв 2009
    Сообщения:
    11
    Симпатии:
    0
    Врядли через МД5 это возможно
     
Статус темы:
Закрыта.