Баянометр 2.0
Рад представить новый баянометр: bayanometr.xyz
Как я и обещал некоторое время назад, сделал новую версию баянометра, со своими новыми плюшками
Сделал возможность поиска сразу по нескольким картинкам, без нужды перегружать страницу и вводить что либо заново
Так же важное изменение - по кадровый поиск по гифкам, хоть и со своими ограничениями. Учитываются только первые 30 кадров, чего в большинстве случаев достаточно, и дает возможность по реверсу найти оригинал.
Все это добро работает и для секретных разделов, но с своими ограничениями. Теги gay-zone, гуро, жесть, изврат идут нахуй
Поиск игнорирует различные повреждения/изменения картинки, что дает возможность имея подобное дерьмо:
найти оригинал: http://joyreactor.cc/post/2829385
На текущий момент проанализировано 99% всех картинок, и 70% гифок, и анализ будет окончен в ближайшее время
И если рукастые ребята - нарисуйте пожалуйста favicon, а то я совсем криворукий в это плане
Небось первым делом сравниваешь сильно пожатые изображения или юзаешь что-нибудь для выделения вектора признаков?
Со своими доработками, ибо в описанном методе есть шанс получить разный хеш для картинок с минимальными отличиями.
Если тебя интересует сам метод поиска, то http://dev.mysql.com/doc/refman/5.7/en/bit-functions.html
Если не влом - за счёт чего шанс получить разный хеш-то? Мы же :
- жмём изображение - тут вроде же проблем не должно быть
- обесцвечиваем - опять же
- считаем среднее значение - оно может и отличаться после правок, да. Но вроде же компенсируется последним шагом
- устанавливаем соответсвующий пикселю уменьшенного изображения бит в pixelColor >= meanColor, что вроде должно компенсировать различия в прошлом шаге
К примеру пост: http://joyreactor.cc/post/2655590
Но при этом для маленького размера получается картинка: http://bayanometr.xyz/result_1.jpg
А для большого : http://bayanometr.xyz/result_2.jpg
Почему так - понятия не имею, но в итоге пришлось менять методы обработки картинки и заново прогонять все картинки
Перешел на оригинал, попытался оригиналом найти этот пост, чет не нашло =(
находит это - http://joyreactor.cc/post/521736
1. картинки из комментов - бояны
2. картинки из комментов - не бояны
3. им похрен
Спасибо!
Выгрузка новых постов - каждые 5 минут
Проверка постов на предмет правок, за последние 4 часа - каждый час.
Проверка всех остальных постов, вызывающих вопросы - каждый день в 5 утра. Максимальный размер пачки - 5к постов.
>изврат
Ну все, это оскорбление. Время запилить собственный поиск по реактору. Только для gay-zone, гуро, жесть, и изврата. Завтра же начну. Или в понедельник.
Хочешь - сделай свой, с расчлененкой, хуями и еблей миксера.
А вообще, это все так, шуточки. За одно только то, что у тебя руки дошли и ты не бросил после пары часов - огромное тебе от меня уважение, вот.
Проще исключить из выдачи, чем перебирать недовольных. + самый непопулярный раздел секретных, так что количество недовольных по этому фильтру будет минимально
Сделай еще по тегу "прокрастинация"
- баянометр работает; баяны на главной, ибо "баянометр молчал"
- баянометр не работает; баяны на глааной
Что будет:
- баянометр 2.0 работает; баяны на главной, ибо "баянометр молчал" 2.0
При этом анализ гифок еще не закончен, так что в итоге думаю будет ~2.5GB
К примеру картинка в этом посте имеет хеш 109b303644b7bf4d, а оригинал 109b246646b73f4d
Идет преобразование хешей в десятичную систему исчисления, и хеши принимают немного другой вид.
109b303644b7bf4d - 1196603135636258637
109b246646b73f4d - 1196590147688677197
После идет побитовое сравнение этих данных, и вычисление их разницы.
Разница двух этих хешей при побитовом сравнении - 6. Разница 0 - точное совпадение. Больше 9 - скорее всего это 2 разные картинки. Больше 12 - точно 2 разные картинки.
Както так все это и работает
- изображение скукоживается до малого размера (условно - 24x24)
- обесцвечивается
- далее - интесивность цвета для каждого пикселя подменяется 1 битом.
То есть - нам нужно :
- раз в некоторое время качать новые посты, подсчитывать хеш их изображений и сохранять хеш/адрес.
- считать хеш пользовательского изображения
- отбирать какое-то число изображений с наиболее похожим хешем (читай - как можно меньше отличающихся бит) или просто отбирать все изображения где отличается, например, менее 5 бит
- качать выбранные изображения с реактора и сравнивать.
Изображение уменьшается до условного 8x8, далее - каждому пикселю урезанной картинки ставится в соответствие 1 бит. Читай - получаем 64 битное число из изображения.
Ну и адрес поста/изображения. Вангану с килобайт на изображение.
Получилось как то так. Т.е. около 250 гиг . База конечно значительно меньше, смысла хранить при рабочем алгоритме все изображения нет. Обработано было 221046 страниц бездны. Без секретных. Изображения хранил конечно только для того чтобы если что не перекачивать все заново, а перехешировать существующее т.к. алгоритм еще не был протестирован. Гифки не хранил, это еще + столько же пространства если не больше вышло бы.
Вообще проект был больше ориентирован на поиск по цвету, там еще несколько доп полей в базе для этих целей, так что размеры базы для поисковика по хешу еще меньше 4 гиг бы вышли. И да с оптимизацией так и не смог нормально совладать. Если поиск совпадений хешей нормально отрабатывает по скорости то поиск по цветовой палитре при 2 млн. изображений уже подвисает, нужно перерабатывать индексацию \ обращения к базе, ну это уже не важно.
При выборе любой из гифок не даёт ссылку на пост с другой
Cкачать Ода к радости бесплатно на pleer.com