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

Статус
В этой теме нельзя размещать новые ответы.

Dador

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

Реально такое или нет?
p.s. за ошибки сорри....
главный вопрос про нагрузку
 
  • Автор темы
  • Заблокирован
  • #2
Можно перенести в более подходяший раздел, мне кажется это не совсем тот раздел для таких вопросов
 
  • Заблокирован
  • #3
небольшая идейка на счёт сравнения картинок...
Если брать и уменьшать все картинки до определенного размера и запихивать например всё это в хеш MD5, или я путаюсь
но если потом сравнивать эти кеши, ну чтобы найти одинаковую картинку также её уменьшить и в хеш и искать его по базе... ресурсо ёмко или нет?
А если разделить на несколько кусков например на 9 и проделать тоже самое только под одной меткой и где была картинка... уже будет лучше

Реально такое или нет?
p.s. за ошибки сорри....
главный вопрос про нагрузку
Думаю первый ресурс тебя заинтересует. По предложенному тобой варианту скорее всего - нет. Т.к. картинки могут отличатся не только формой рисунка, цветом, размером, но еще и качеством сжатия и фильтром которым было применено сжатие.
Как итог прогнав в фотошопе 2 абсолютно одинаковых картинки, но при этом сохранив их для веба - одну с качеством 60, а другую 100 - ты получишь совершенно не совпадающие значения. Или просто возьми 2 одинаковых картинки, одну не трогай, а на второй обреж чуток фон и снова растяни до прежних размеров - как итог - точно такое же несовпадение значений.

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

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

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

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

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


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


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


Лично я - постоянный и активный пользователь этого чудесного сервиса :ay:
 
Яша недавно рапортовал в новостях каких-то, что, "их программисты справились с задачей поиска дублей картинок", после этого в их поиске картинок появилась куча одинаковых :D
Найдешь решение - получишь грант! :)
 
Врядли через МД5 это возможно
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху