Яндекс.Картинки научились находить одинаковые изображения в интернете. Поиск точных копий картинок никогда не был сложным для поисковиков, но любые небольшие модификации, изменение размеров, добавление надписей и даже просто пережатие JPG помогали картинке стать уникальной и попасть в результаты поиска в виде дубликата. Наше исследование картинок Рунета показало, что из 600 млн картинок половина уникальна (300 млн), вторая половина склеивается в отношении 3:1, 200 из 300 млн имеют дубликаты только на своем сайте. Когда мы начали решать задачу поиска дубликатов, мы просто хотели "почистить" выдачу от повторяющихся картинок и сделать выдачу более разнообразной. Но впоследствии мы поняли, что в наших руках оказалось нечто большее. Веб-мастера не любят в свои страницы вставлять картинки, которые загружаются с других сайтов, они их копируют, и зачастую меняют размеры, чтобы вписать в свой дизайн. Каждой копии картинки доставалось меньше подписей, поэтому не всегда просто было понять, насколько картинка соответствует запросу? Склейка дубликатов позволила найти тот небольшой процент изображений, который интересен многим веб-мастерам, а значит и пользователям. Для таких картинок у нас много подписей, мы можем сравнить их друг с другом и с запросом, чтобы понять, насколько картинка хорошо ему соответствует. Самый многочисленный класс картинок, оказавшийся в выигрыше, это пары - исходное изображение и его уменьшенная копия, лежащие на одном сайте. Оказывается, что маленькие картинки гораздо чаще хорошо подписаны, но они не попадают на первые страницы поисковиков из-за своих размеров. Благодаря новой технологии мы научились находить маленькую картинку, а показывать ее большой оригинал. На странице просмотра картинки мы показываем табличку копий картинки на разных сайтах. Во-первых, это помогает пользователям, которые догадались, что иногда через поиск по картинкам можно найти сайт с интересующей их информацией. Во-вторых, мы сами того не желая, рассказываем веб-мастерам о сайтах, которые без разрешения или же во благо воспользовались их творениями. Для этого достаточно лишь найти свою картинку в поиске. Задача поиска дубликатов оказалась технически сложной. Есть много научных работ на тему интеллектуального сравнения двух изображений, а для специалистов по "компьютерному зрению" задача опознать пару изображений, полученных изменением размеров, не является серьезной задачей. Однако никто из этих специалистов не имел возможности поработать с базой из 600 млн картинок. Попарное их сравнение на одном компьютере потребовало бы около 300 млн лет. К сожалению, обычными методами с помощью хеш-функций задачу решить тоже не удается. Но мы это сделали!
Атака на клоны
24 октября 2008, 14:07
Дмитрий Михалёв, Федор Романенко. Яндекс.Картинки