Собственный модуль антикаптчи в Capmonster2
-
Я намерен сначала собрать набор каптчи с сайта, а затем обучить CapMonster2 решать эту каптчу.
Каптча представляет из себя обычные изображения с текстовыми символами.
Начал составлять скрипт для работы и столкнулся с непонятными моментами. Не могу реализовать логику скрипта из-за них.Процитирую то, почему при использовании Capmonster'а советуют решать через "Браузер":
После рендеринга изображение может содержать дополнительную границу или немного изменить цвет некоторых пикселей из-за неточностей рендеринга, и, таким образом, этот метод хорош только в том случае, если капча будет решаться человеком. В случае автоматического машинного решения важно, чтобы изображение было точно таким же, как и сгенерированное на сервере, поэтому, если вы используете capmonster, captchasniper или xevil, это действие будет искать изображение в кеше.
Взятие данных из кеша не производится автоматическим при первом запуске вы получите ошибку, которая дает url капчи и имя действия, которое вам нужно использовать - Разрешить кэш.
... вот. Ну допустим я даже что-то понял.
Что мне сделать, чтобы обучить распознаванию Капмонстра?
1 - Наделать скриншотов элементов каптчи (base_64 с сохранением в jpg)?
2 - После обучения собирать каптчи на решение в формате base_64 через действие "Решить каптчу" из раздела "Браузер"?И всё? Никаких проблем с рендерингом в этом случае не будет? Даже при том, что я сохранил base_64 в jpg для обучающего сета?
-
@IvanM said in Собственный модуль антикаптчи в Capmonster2:
1 - Наделать скриншотов элементов каптчи (base_64 с сохранением в jpg)?
2 - После обучения собирать каптчи на решение в формате base_64 через действие "Решить каптчу" из раздела "Браузер"?Как делать модуль это уже больше к поддержке capmonster.
Лично я на первом этапе изменил свой скрипт, чтобы кроме решения каптчи на сервисах (рукаптча) он сохранял изображение, чтобы не разгадывать все вручную (название файла это текст каптчи). Точно уже не помню, но скорее всего сохранял через "Скриншот". И далее уже на этих каптчах проводил обучение.
Особых проблем с границами не было. Единственное в настройках модуля каптчи вроде понадобилось добавить пару вариантов возможных размеров (+-1 px).Возможно, что сохранение в base64 более надежно, но я делал по инструкции от сервиса, где ничего про это не было.
-
@IvanM Если вы для сбора данных используете скриншот, то и при решении используйте скриншот. Если берёте изображение из кеша, то делайте это и для сбора сета, и при последующих решениях. Если честно, первый вариант мне больше нравиться, ибо с ним намного меньше мороки. Единственное различие, что я получал при использовании скрина - капча была на 1 пиксель по обоим измерениям меньше. Но опять же, если вы собираете обучающий сет также с помощью скринов, то это роли не играет
-
Если берёте изображение из кеша, то делайте это и для сбора сета, и при последующих решениях.
А КапМоня может скушать и код base64? Слышал, видел только про jpg, png...
Но опять же, если вы собираете обучающий сет также с помощью скринов, то это роли не играет
Это хорошо! Спасибо за подсказки
вроде понадобилось добавить пару вариантов возможных размеров (+-1 px)
Понял, благодарю!
-
У меня сейчас примерно таже проблема что и Вас но только когда Вы уже обучите свой модуль.
Я свой обучал на скриншотах и результат проверки его работы дает 98-99%
Но вот когда я этот свой уже обученный модуль установил в Капмонстра
То тут меня ждало разочарование ибо на самом деле Капмонстр стал отвечать правильно мне гораздо реже чем я это предполагал.
Свою проблему я описываю в этой теме
https://community.bablosoft.com/topic/13856/capmonster-искажает-сохраненные-картинки-в-папке-captchas
-
@gomeapat да, видел только что.
Теперь понял почему вас не устроила эффективность 98%.
Короче слишком маленький сет на обучение, судя по всему. Либо наоборот, слишком большой. Скорее даже второе.Цельтесь в 85% при обучении, уменьшив количество обучающих данных.
Вообще, как я понял, капмонстер из черного ящика выдает решение. И, похоже, нельзя выбирать/перебирать конфигурацию слоёв. Вообще, в програмных пакетах пребираются как сами конфигурации нейросетей, так и выборки анализ-обучение-тест. Что внутри капмонстра - не понятно. Поэтому слишком высоко можно не целиться. 80-90% это максимум, мне кажется.
-
@IvanM Есть "мощность", на этом всё. Как работает эта самая мощность, одним разработчикам капа понятно...
-
@DoctorKrolic said in Собственный модуль антикаптчи в Capmonster2:
@IvanM Есть "мощность", на этом всё. Как работает эта самая мощность, одним разработчикам капа понятно...
:D да, применительно к нейросетям, странная формулировка. Ну видимо оно самое и есть))
Иначе что ещё это может быть...
-
Я в том году специально сел и пытался разобраться в том как самому написать свою нейросеть на python
короче потратил я на изучение всего этого материала около 3 месяцев, начиная с того начал вспоминать алгебру с 8 класса и заканчивая всякими дифференциалами второго порядка и градиентными спусками, и Backpropagation и еще куча всякой хрени в которой без 100 грамм не разобраться.
В общем в итоге я ни чего так и не понял как нужно правильно всю эту мозаику складывать
Зато поработал не много с openCV и numpy
Суть то всего этого очень простая нейросеть настраивает веса для каждого нейрона персептрона, что б он наилучшим образом находил всякие премудрые связи, между пикселями, так что б в итоге это давало наиболее правильный результат в распознавании объектов.
А тут благодаря Capmonster я смог буквально за 1 день обучить свою нейросеть не вникая во всю эту премудрую математику.
Если Вы действительно хорошо во всем этом шарите ни кто не мешает Вам самому написать свою нейронку и получать от нее ответы.
А Capmonster создан специально для таких людей как я, которым на хрен не интересно как оно там работает, главное что работает.
-
@gomeapat Ну, можно было бы в том же капмонстре выставить значения по умолчанию и сказать: "Юзайте так, это оптимальные настройки", но для шарящих людей простор для экспериментов был бы просто громаден.
-
@gomeapat said in Собственный модуль антикаптчи в Capmonster2:
Я в том году специально сел и пытался разобраться в том как самому написать свою нейросеть на python
короче потратил я на изучение всего этого материала около 3 месяцев, начиная с того начал вспоминать алгебру с 8 класса и заканчивая всякими дифференциалами второго порядка и градиентными спусками, и Backpropagation и еще куча всякой хрени в которой без 100 грамм не разобраться.Мне сегодня вспомнилась теория функции комплексной переменной и дифференциальные уравнения в частных производных. Хорошо что я на физику пошёл, а не на матмех. С ума бы там сошёл.
Если Вы действительно хорошо во всем этом шарите ни кто не мешает Вам самому написать свою нейронку и получать от нее ответы.
А Capmonster создан специально для таких людей как я, которым на хрен не интересно как оно там работает, главное что работает.Всё, молчу. Просто хотел посоветовать уменьшить количество примеров в обучении. Критерий - совпадает результативность из сета и в практической работе.
Видать где-то выше я выглядел зазнайкой. Если что, то не намерен был демонстративно возвышаться.
-
@DoctorKrolic said in Собственный модуль антикаптчи в Capmonster2:
но для шарящих людей простор для экспериментов был бы просто громаден.
Да вы правы возможно они к этому придут