почему не работает баянометр
»баянометр
Попробовал снова поиграться с более продвинутыми методами поиска, но, опять не пришел к положительным результатам. SIFT/SURF слишком громоздки. ORB ведет себя тоже неплохо, но полегче, и исполняет поставленные задачи, но, встает более серьезная проблема - поиск. Для снижения количества ложно-положительных результатов поиска нужно увеличивать количество точек для изображения. Увеличение количества точек - больше данных для поиска. Больше данных для поиска - меньше скорость и требуется больше мощностей. На реакторе больше 7 миллионов изображений. При < 100 точек - результат ультра гавно. 200-300 - более менее, но не на таком объеме. Это неплохо работало бы, если бы было 1-2 миллиона изображений. +- допустимые результаты, для такого объема, это 450+ точек на изображение. Итого, 3 миллиарда точек. Это порядка 200+ гигов данных, которые нужно хранить в оперативе, для более быстрого поиска. И даже при таких условиях поиск одной картинки длиться порядка 20-25 секунд, что уже далеко за приделами комфортного уровня. Можно ли решить это? Да, конечно, но это уже нужно распределять все на штуки 4+ сервера, а цена аренды такого удовольствия выходит слишком большая(150$+). Согласно опросу недавнему, она вроде бы подъемная, но, я прекрасно понимаю что обстоятельства у людей меняются. Кто-то переоценил свои финансовые возможности, а кого то просто заебет донатить на это, а бегать постоянно делать посты на это тему... Ну такое себе удовольствие.
Потому сорян, я правда старался, но уперся в ограничения не связанные с программными аспектами. Или может вы подскажите метод поиска hamming, который работает быстро на огромном объеме данных, и при этом не требует существенных апаратних ресурсовp.s. это разве что собирать сразу на годик+ аренды, и тогда есть смысл дальше играться, но уже с несколькими серверами
баянометр
Баянометр находит 404
Забиваю в баянометр вот такую ссылку: http://img2.reactor.cc/pics/post/%D0%9A%D0%BE%D0%BC%D0%B8%D0%BA%D1%81%D1%8B-loading-artist-%D1%81%D0%B5%D0%BB%D0%B5%D0%B7%D0%B5%D0%BD%D1%8C-%D0%B1%D0%B0%D0%B1%D1%83%D1%88%D0%BA%D0%B0-182368.jpeg
Результат:
Однако из шести вариантов четыре ведут не на пост, а на страницу 404:
(Да, она выглядит как спам от мегафна, но это уже свистоперделки провайдера)
Собственно, вопрос: это только у меня так? Почему баянометр находит то, чего нет?
баянометр разработка длиннопост
Данный пост создан исключительно с целью продемонстрировать, что реактор может иметь встроенный баянометр приемлемой функциональности без существенных затрат на его реализацию и сервера. Он ни в коем случае не пытается бросить тень на существующий баянометр от ExtraDj - вполне возможно его баянометр в сто раз круче (я не знаю).
Я совсем недавно начал создавать посты на реакторе, но уже успел ощутить всю проблематику поиска повторяющегося контента на этом ресурсе. И задумался о том, как много времени реактор мог бы сэкономить постерам, имей он встроенный баянометр. Сколько человек не смогли преодолеть сложности размещения контента на реакторе и сколько перестали это делать из-за большого количества времени, которое на это требуется (сужу исключительно по себе).
А недавно ещё и получил разрешение от Вождя. Что ж, доступа к коду сайта и базе у меня нет. Выкачивать весь его контент, чтобы собрать отдельный баянометр я особо желанием не горю. Но могу, по крайней мере, разобраться в ситуации и продемонстрировать Proof of concept.
Я дотнетчик по большей части, поэтому технологии используются соответствующие. Вряд ли технологии, которые используются реактором, имеют какие-то существенные ограничения чтобы справиться с этой задачей.
Итак. Перцептивный хэш - похоже, то, что нам нужно. Проблема распространенная, поэтому сразу же нашлась библиотека, которая этот хэш считает - по крайней мере эту рутину писать не придётся. Как будто мы ещё ничего не сделали, а решение уже готово. Протестируем.
Первый кадр из видео. Разрешение 720х1280 против 320х568.
AverageHash и PerceptualHash - абсолютно одинаковые цифры. А это значит, что если вы сохраните этот хэш в БД рядом с картинкой, вы легко сможете достать по нему запись о картинке. Похоже баянометр в простейшем виде уже готов.
Извлечение данных. Т.к. некоторые реакторчане ссылались на проблему поиска в большом количестве данных, нужно протестировать и это. Приблизительно 7000000 картинок есть на реакторе. Возьмём MS Sql server. Создадим таблицу с 7000000 записей со случайными цифрами в качестве хэша. Чтобы всё было по-честному:
Изменим одно из значение на реальный хэш с картинки выше. И посмотрим сколько надо времени чтобы её найти.
По-моему проблем тут нет.
Дальше. Что если картинка немного отличается от оригинала. Например нам надо сравнить первый кадр видео с гифкой. Гифка, будет иметь кучу артефактов и, возможно, другой начальный кадр. Как тут:
Либо яркость на картинке выкручена на максимум, как тут:
Хэши не совпадают. Всё пропало? Не совсем. Обратите внимание на подсчёт "похожести" хэшей внизу картинок. Всё что нам нужно сделать, чтобы начать находить не только идентичные картинки, но ещё и похожие - это перенести логику подсчёта похожести в запрос к БД. Получим.
Теперь по затратам времени и ресурсов. На этот Proof of concept ушло несколько часов - большая часть на подготовку и написание поста. Добавить его на любой свой сайт я могу за несколько часов. Нагрузку на сервер вы можете видеть в статистике запроса к БД. По-моему скромному мнению - она никакая. А если учесть, что эти запросы будут редкими - только при создании новых постов, то ими вообще можно пренебречь. Железу, на котором запущен sql сервер более пяти лет. Более того, пять лет назад это был бюджетный домашний комп.
баянометр JoyReactor Visitor Zettai Ryouiki
Прощальный постик. К реактору я уже давным давно утратил интерес, а это так, "официальное" прощание в силу моральной ответственности за некоторые свои детища
1. bayanometr.cc - усе. Я уже давно за ним фактически не слежу и не занимаюсь его поддержкой, потому он постепенно деградирует. Лучше не работающий инструмент, чем работающий хрен пойми как. Да и кушает он денежку по чуть чуть, а опаять унижаться с просьбами донатов мне не особо хочется. Расширение для браузера и бот в телеге так же идут под снос. Передаю права модератора тега KoMaTo3'у, а домен bayanometr.cc будет какое то время редиректить на его детище
Для тех кто захочет повторить - pHash, Hamming Distance. Материалов по этим решениям даже слишком много. Удачи
2. JoyReactor Visitor - обновлен до версии 1.1.0. Была убрана полностью возможность облачной синхронизации, потому как в качестве хранилища использовался сервер баянометра. Так же было пару мелких фиксов. В дальнейшем поддерживать/модернизировать не собираюсь. Создавалось расширение прежде всего для того, что бы перебрать свои старые вкладки, коих за годы накопилось очень много)
3. Zettai Ryouiki - когда то очень популярный тренд, который уже давно здох. Берите кто хочет, занимайтесь кто хочет. Старого контента можно какое то количество найти
Цемки бомки, пока
dev реактор баянометр
Этот вроде открывается, но лично у меня он не работает (Бесконечная загрузка) - https://bayanometr.xyz/
А этот с сегодняшнего дня вообще не открывается - http://joy.komato3.net/
Есть ли советы по решению этих проблем?
dev реактор баянометр
Новый сервер таки оформлю, это факт, не знаю ещё, как оно в наших реалиях будет работать. Вопрос-не-вопрос, надо оно (*в скобочках* - мой сервис поиска) или нет, может и не нужно оно никому? Этот весь поиск картинок чисто мой пет-проект, было интересно в этом разобраться и уложиться в минимум требований: 4гб оперативы (с учётом что под 50% жрёт система), и ограничение по количеству ядер, чем больше, тем лучше, тем, блин, дороже.
Потерял тут мысль... в общем, в ближайшее время сервис будет недоступен. База вся в наличии, все бэкапы есть, развернусь как смогу.
Спасибо всем, кто реально пользовался, надеюсь, всё наладится.
Отличный комментарий!