# Stable Diffusion против Яндекс.Картинки > В связи с возросшей популярностью приложения Lensa среди населения я решила провести небольшой OSINT-эксперимент. ## Тезис Яндекс популярен в OSINT кругах благодаря его способности неплохо искать лица. Сможет ли он справиться со стилизованным изображением, если человек на картинке будет сильно похож на самого себя? ## Предыстория Вы когда-нибудь задавались вопросом, как поисковики умудряются так быстро искать похожие картинки? По большому счету варианта два: - искать *действительно похожие* изображения - распознавать объекты на изображении и искать эти объекты в других изображениях Разберемся сначала с первым. ### Персептивный хеш Перцептивные хэш-алгоритмы описывают класс функций для генерации сравнимых хэшей. Характеристики изображения используются для генерации индивидуального (но не уникального) отпечатка. В отличие от криптографических хэш-функций, перцептивные хэши можно сравнивать между собой и делать вывод о степени различия двух наборов данных. Одна из простейших хэш-функций отображает среднее значение низких частот. В изображениях высокие частоты обеспечивают детализацию, а низкие частоты показывают структуру. Для построения хеша необходимо выполнить следующие действия: 1) Уменьшаем размер изображения с целью избавиться от высоких частот. Необязательно сохранять пропорции, таким образом хеш будет соответствовать всем вариантам изображения, независимо от размера и соотношения сторон. К примеру, можно вписать изображение в квадрат 8х8. 2) Уменьшаем глубину цвета, то есть переводим изображение в градации серого. Для квадрата 8x8 получаем 64 значения цвета. 3) Вычисляем среднее значение для всех 64 цветов. 4) Вычисляем цепочку битов. Каждый цвет заменяется на 0 или 1 в зависимости от того, больше он или меньше среднего. 5) ??? 6) Строим хеш. 64 отдельных бита переводятся в одно 64-битное значение. Порядок не имеет значения, если он сохраняется постоянным. Полученный хэш не изменится, если картинку масштабировать, сжать или растянуть. Изменение яркости или контраста, манипуляции с цветами не сильно повлияют на результат. Вот так это выглядит на практике (*выдержка из моего диплома, он пригодился! на [локусы](https://ru.wikipedia.org/wiki/Диаграмма_Вороного) можно не обращать внимание, об этом как-нибудь потом*): ![](https://i.imgur.com/hABtNBl.png) Как видите, сравнивая хеши картинок из какой-нибудь базы данных поисковика и хеш картинки на входе, мы можем искать похожие, например, строя расстояние Хэмминга между хешами. ### Распознавание объектов Тут я не буду лезть к чужую степь и описывать теорию Computer Vision. Покажу лишь скрин из Google: ![](https://i.imgur.com/qJuGGyL.jpg) Слева фотография, сделанная лично мной в одном из путшествий. А справа информация по распознанному объекту: ссылка на Google Карты и сайты, где упоминался данный объект. Заметьте, что фотографии справа не очень-то и похожи на сделанную мной. Для полноты приведу скрин из Яндекс.Картинки. ![](https://i.imgur.com/GDqHnx9.jpg) ## Эксперимент Вернемся к нашим баранам. А что, если я возьму изменную фотографию человека и попробую найти его реальные изображения? К таким мыслям я пришла, присматривая истории блогера @anastasile (не судите меня!). Я взяла одно изображение, сгенерированное в приложении Lensa, и одну реальную фотографию. Я стралась подобрать максимально похожие ракурсы. <p float="left"> <img src="https://i.imgur.com/FqyRFKS.jpg" width=300/> <img src="https://i.imgur.com/v6u3Vyg.jpg" width=300/> </p> Далее для чистоты эксперимента я закинула оба изображения в Яндекс.Картинки. С обычной фотографией Яндекс справился. Красными прямоугольниками я отметила те результаты, где действительно изображена @anastasile. Причем, еще раз отмечу, что изображения сильно разные по цвету, положению головы и т.д. ![](https://i.imgur.com/9mQFxD4.jpg) А что до стилизованной картинки... ![](https://i.imgur.com/ZQZWZZm.jpg) Яндекс. Поисковик, который не смог. Более того, по ему одной понятной причине он не распознал лица вообще... ![](https://i.imgur.com/GGrH5NF.png) ## Directed by Robert B. Weide На самом деле я попробовала искать различные сгенерированные изображение. Но ни одно из них не дало нужного результата. Что ж, любители анонимности и рисованных картинок, можете смело ставить такие аватарки. Не забывайте только, что Lensa нужны ваши реальные фотографии 😉