Инструменты пользователя

Инструменты сайта


ru:addons:capmonster:mcr

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Both sides previous revision Предыдущая версия
Следущая версия
Предыдущая версия
ru:addons:capmonster:mcr [2014/12/05 13:51]
adminsama [Сохранение модуля]
ru:addons:capmonster:mcr [2015/07/14 15:51] (текущий)
Строка 1: Строка 1:
-==== Module Creation Studio ==== +Удалить
- +
-Данный инструмент позволяет вам создавать свои собственные модули,​ для распознавания каптч, которые уже можно использовать в CapMonster 2. \\ +
- +
-Технологии,​ использующиеся в новой версии Капмонстра сильно отличаются от прошлой версии,​ поэтому этапы обучения могут показаться сложными и непонятными на первый взгляд. Мы постараемся в этой статье объяснить все как можно более подробно все в текстовом виде и более просто,​ на примерах в видео. Но, если у вас останутся вопросы после прочтения,​ пожалуйста,​ задавайте их нам на форуме,​ мы поможем и обязательно дополним эту статью исходя из вашей обратной связи. Итак, начнем. +
- +
-====== 1. Сбор коллекции каптч ====== +
- +
-Первое что нам нужно, это собрать коллекцию каптч и их решений,​ на которых мы будем учить и тестировать наш модуль. Это можно сделать несколькими вариантами. +
- +
-1) Можно собрать просто картинки,​ без ответов,​ любым удобным для вас образом,​ и распознать их уже в самой программе.\\ +
-Для этого нужно будет в настройках программы указать логин-пароль в одном из сервисов ручного распознавания каптч. И потом, сразу после загрузки каптч, выбрать соответствующий вариант распознавания. +
-Если пользуетесь вариантом распознавания каптч через сервисы ручного распознавания,​ то лучше распознавать каптчи отдельными группами. Каптчи для сбора символов можно распознать обычным способом,​ а каптчи для обучения и теста лучше распознать со 100% вероятностью. Это когда каптча отсылается нескольким людям одновременно. ​У сервисов Antigate и RuCaptcha есть такая настройка распознавания\\ +
- +
-2) Можно создать простой шаблон в ZennoPoster,​ пример можно скачать отсюда  +
-[[http://​www.zennoexperts.com/​downloads/​capmonster.xmlz]]. Наша конечная цель на этом этапе - иметь на жестком диске в отдельной папке собранные капчи и их ответы в следующем формате:​ попарно должны быть представлены картинка с каптчей + txt файл в котором содержится ответ на каптчу. Имена у файлов должны быть одинаковыми,​ отличаться должны только расширения. \\  +
- +
- +
-[[http://​wiki.zennolab.com/​lib/​exe/​fetch.php?​media=ru:​addons:​1237889.jpg|{{:​ru:​addons:​1237889.jpg?​400x200 ​ }}]] +
- +
-\\ +
-\\ +
-\\ +
-\\ +
-\\ +
-\\ +
-\\ +
-\\ +
-\\ +
-\\ +
- +
-Либо название файлов каптч должно быть текстом,​ который на них написан. Т.е. если на каптче написано «qwe», то файл каптчи должен быть примерно таким: «qwe.jpg». Такой варинат программа тоже примет. +
- +
-**Сколько их нужно?​** +
- +
-Для простых каптч, с малым искажение символов (или вообще без искажений) - 300 штук. +
-Для сложных каптч - 1000 штук. +
-Все эти каптчи должны быть потом распознаны в сервисах ручного распознавания,​ что будет стоить от нескольких десятков центов до пары долларов. +
-Но можно посчитать точно сколько нужно каптч и сэкономить пару десятков центов :) +
- +
-**Капчи нужны для нескольких целей:​** +
- +
-* Для сбора символов. Считайте так - каждого символа нужно от 3 до 150 экземпляров в зависимости от сложности капчи. Посмотрите сколько символов в каптче,​ сколько всего разновидностей символов,​ учтите,​ что иногда некоторые символы в каптче встречаются редко. А экземпляров каждого символа должно быть примерно одинаковое количество.\\ +
-* Для предотвращения ложных срабатываний (примерно в 10 раз меньше чем каптч для сбора символов)\\ +
-* Для теста модуля распознавания (примерно 100 каптч)\\ +
- +
-** Разбиение каптч ** +
- +
-После добавления каптчи будут разбиты на указанные выше группы автоматически. +
-Но можно задать разбиение вручную. +
-Переразбиение в дальнейшем будет невозможно,​ поэтому если не знаете,​ лучше ничего не трогать :) +
- +
- +
-{{youtube>​Q8fU-2tOo_4?​medium}} +
-====== 2. Сбор символов ====== +
- +
-{{youtube>​vB0exvqclaI?​medium}} +
- +
-В области сбора символов сбоку есть таблица с информацией о том, сколько каких символов всего доступно и сколько из них уже собрано. С другой стороны вы увидите таблицу с каптчами.\\ +
- +
-{{:​ru:​addons:​collect_captchas.jpg?​500|http://​wiki.zennolab.com/​lib/​exe/​fetch.php?​cache=&​media=ru:​addons:​collect_captchas.jpg}}  +
- +
-1) Выбирайте любой символ,​ выделив строку,​ в которой он написан в таблице символов.  +
-Капчи в таблице каптч отсортируются так, что в первых показанных вам каптчах нужный символ будет встречаться чаще всего. \\ +
-2) Указывайте центры символов на каптчах пока не соберете достаточное количество вариантов нужного символа +
-(Таблица каптч многостранична,​ перемещайтесь между страницами по стрелкам внизу таблицы)\\ +
-3) Нажимите "​добавить",​ чтобы добавить все собранные символы в коллекцию. Перед добавлением вам будет показаны все добавляющиеся символы,​ проверьте,​ чтобы там не было мусора или других символов. Найденный мусор можно выделить и удалить.\\ +
-4) Выполните пункты 1-3 для каждого символа\\ +
-Лучше всего собирать варианты каждого символа небольшими порциями,​ по нескольку раз повторяя пункты 2-3. +
-Так в при случайном отключении питания компьютера или других форс-мажоров вы не потеряете массу проделанной работы.\\ +
-Символы можно будет дособирать в любой момент. \\ +
- +
-** Сколько вариантов каждого символа собирать ** +
- +
-Чем больше искажений у символов,​ тем больше вариантов каждого символа нужно собрать.\\ +
-От 5 штук для трафаретных каптч и до 200 для самых сложных каптч типа kcaptcha, recaptcha и т.д. \\ +
-Не спешите собирать тысячи вариантов! +
-Для начала попробуйте собрать немного,​ возможно этого хватит,​ если нет, то потом всегда можно дособирать еще. Старайтесь собрать примерно одинаковое количество вариантов каждого символа.\\ +
- +
-** Обратите внимание ** +
- +
-Собранные,​ но не добавленные в коллекцию символы отмечены цветной точкой. Уже добавленные символы отмечены точкой другого цвета. Цвета точек можно поменять для удобства.\\ +
-Отображение каптч можно масштабировать для более удобного сбора символов. Это не влияет на результат сбора символов. Таблица каптч многостранична \\ +
- +
-====== 3. Фильтры ====== +
- +
-Графические фильтры помогут привести каптчу к нужному цвету, убрать помехи,​ а главное - правильно отмасштабировать каптчу. +
- +
-{{youtube>​9PVFTx2NjUY?​medium}} +
- +
-** Что должно получиться **\\ +
- +
-В идеальном варианте после применения всех фильтров ваша каптча должна быть:​\\ +
-1) Черно-белой без оттенков серого. Буквы Черные,​ фон - белый.\\ +
-2) С минимальным количеством помех типа линий, кружков,​ точечек,​ пятнышек и т.д.\\ +
-3) Среднего размера для простых каптч, раза в полтора-два крупнее для более сложных каптч\\ +
- +
-** Два набора фильтров** +
- +
-1) Фильтры для каптч\\ +
-2) Фильтры для символов\\ +
- +
-После фильтрации и капчи и символы должны выглядеть одинаково,​ т.е. фильтры для каптч и символов должны практически совпадать. \\ +
-Но бывают некоторые исключения,​ например фильтр обрезки краев не нужен для символов,​ только для каптч.\\ +
-Или, например,​ фильтр убирающий в циферной рекаптче половину изображения с номером дома, оставляющий только сами цифры. Очевидно,​ что такой фильтр не нужен для обработки собранных символов. Поэтому и пришлось разделить фильтры на две группы. +
- +
-** Фильтры,​ которые точно пригодятся ** +
- +
-Фильтр **Thresold** сделает вашу каптчу черно-белой. Каждый пиксель станет либо черным,​ либо белым в зависимости от того, превысил ли он некоторый порог. Порог вы можете задавать в настройке фильтра. \\ +
-Фильтр **Resize** изменит масштаб капчи.\\ +
-Учтите,​ что увеличение размера каптчи приводит к увеличению символов на ней, а это приводит к вынужденному увеличению окна распознавания символа (в настройках поиска центров масс), что сильно увеличивает сложность ядра и, в итоге, общее время процессора,​ потраченное на распознавание каптчи увеличится.\\ +
- +
-** Обратите внимание ** +
- +
-Не стоит сильно увлекаться фильтрами из-за помех.\\ +
- +
-======4. Центры масс ====== +
- +
-Настройка поиска центров масс - один из самых важных шагов создания модуля распознавания. На каптче центры масс будут выделены точками другого цвета (по умолчанию зелеными). Суть этих точек - места, где будет происходить поиск символа. На этом шаге так же настраивается размер окна распознавания символа\\ +
- +
-{{youtube>​TMmPQK-FD28?​medium}} +
- +
- +
-** Основная задача ** +
- +
-Нужно настроить поиск центров масс так, чтобы:​\\ +
- +
-1) Полученные точки проходили через центры букв или как можно ближе к ним\\ +
-2) Точек было как можно меньше. Но не меньше чем нужно :)\\ +
-3) Отображающееся время подсчета не должно быть большим\\ +
- +
-**Правильная настройка ** +
- +
-**1) Настройки окна распознавания символа:​**\\ +
-Размер окна должен быть таким, чтобы в него поместится самый большой представитель символов. Кликните на капчу ЛКМ и окно распознавания символа будет нарисовано зеленой (цвет по умолчанию) рамкой. Глядя на эту рамку вы сможете правильно подобрать ее размеры\\ +
-**2) Настройки размеров области подсчета массы:​**\\ +
-Увеличивая ширину этой области вы делаете линию центров масс более плавной. И наоборот. Нужно сделать так, чтобы линия центров масс проходила через центры букв, но не сильно дергалась в самой букве. Высоту области надо настроить так, чтобы линия на каждой букве была одна.\\ +
-**3) Порог распознавания:​**\\ +
-Установите порог распознавания так, чтобы линия центра масс стала меньше,​ но не пропала из центров символов\\ +
-**4) Порог символа:​**\\ +
-Не трогайте эту настройку.\\ +
-**5) Не более одной точки проверки на это прямоугольник:​**\\ +
-Не обязательно искать символ очень часто по ширине,​ можно это делать раз в две точки, если каптча маленькая или раз в 3-4 точки, если каптча увеличена. По высоте этот параметр должен быть чуть больше самой высокой буквы. А можно и больше,​ если капча однострочная. Если добавить слишком много точек, это замедлит скорость распознавания. А если переборщить с разбросом,​ то будет слишком много ошибок распознавания.\\ +
-**6) Дополнительные точки:​**\\ +
-Можно добавить точек проверки,​ с небольшим разбросом по высоте,​ чтобы лучше искались символы. Так же как и в пункте 5 - если добавить слишком много точек, это замедлит скорость распознавания. А если переборщить с разбросом,​ то будет слишком много ошибок распознавания.\\ +
- +
- +
-** Разные виды каптч ** +
- +
-Каптчи могут быть с очень близко расположенными символами и с отдельно расположенными символами. В первом случае центры масс после правильной настройки будут представлять зеленую линию, проходящую через центры каждого символа. Во стором случае - точки в центрах каждого символа.\\ +
- +
-** Когда ядро распознавания обучено ** +
- +
-На это вкладке можно еще пощелкать ЛКМ (или поводить не отпуская ЛКМ) по каптче и посмотреть отклики ядра в каждом месте каптчи,​ чтобы лучше понять откуда возникают ошибки распознавания.\\ +
- +
- +
-** Обратите внимание ** +
- +
-При настройки каждого параметра поиска центров масс, желательно пролистывать каптчи и проверять настройки сразу на нескольких вариантах,​ а не настраивать все на одной.\\  +
- +
-====== 5. Создание и тестирование модуля ====== +
- +
-После того как все предыдущие шаги выполнены,​ мы можем приступить к обучению нашего модуля распознавания.\\ +
- +
-{{youtube>​FeWbKhkw9dw?​medium}} +
- +
-** Общая концепция обучения **  +
- +
-В начале рекомендуется выбрать ядро по-проще и сделать быстрое обучение с большим количеством (треть) символов для теста. Быстренько провести пару десятков итераций обучения и посмотреть что получилось. Скорректировать параметры и обучить еще раз. Если все хорошо,​ можно обучать сеть более мощной структуры и более качественно.\\ +
- +
-** Три типа ошибок распознавания символа ** +
- +
-1) Неправильное распознавание - это когда символ,​ действительно есть, но распознается он не правильно. Например мы показываем модулю символ "​а",​ а он находит там символ "​с"​.\\ +
-2) Пропуск символа - это когда символ есть, но модуль вообще не видит никакого символа. Т.е. мы показываем ему символ "​а",​ а модуль выдает,​ что тут ничего нет.\\ +
-3) Ложное срабатывание - это когда символа нет, например между двумя символами,​ но модуль там что-то находит.\\ +
- +
-====  Настройки ядра ====  +
- +
-{{:​ru:​addons:​6c123421f6208dc73d61bad8a95fd190.png|}} +
- +
-**Мощность ядра** - чем больше мощность ядра, тем лучше качество распознавания символа. Но меньше скорость работы ядра и, в итоге, больше процессорного времени тратится на распознавание каптчи. Не стоит сразу делать очень мощное ядро, попробуйте с самого слабого,​ возможно полученного результата распознавания вам будет вполне достаточно. При изменении этого параметра рядом вы можете увидеть оценку сложности ядра. Сложность ядра отражает количество процессорного времени,​ требуемое на отработку ядра в одной точке. Нет каких-то единиц измерения,​ просто число, которое поможет вам сравнить два ядра. Если у одного ядра сложность в два раза больше чем у другого,​ это значит,​ что и работать оно будет в два раза дольше при прочих равных условиях ). На сложность ядра, кроме мощности,​ также очень сильно влияет размер окна распознавания символа. В итоге, управляя этими двумя параметрами вы сможете создать ядро, которое устроит вас и по качеству распознавания и по скорости.\\ +
- +
-==== Настройки обучения ====  +
- +
-{{:​ru:​addons:​2a240142a7649f35823baf33854a0d9f.png|}} +
- +
-**Скорость обучения** - чем медленнее обучение тем оно более качественно. Но не стоит сразу учить долго и качественно. Попробуйте сначала обучить по-быстрому,​ вполне возможно,​ всплывут какие-то ошибки,​ вы их исправите и тогда можно будет обучить модуль более качественно. А, возможно,​ полученного результата будет вполне достаточно.\\ +
- +
-**Стартовый параметр обучения** - параметр,​ который отвечает за стартовую скорость обучения. Изменять его нужно только в том случае,​ если встретится одна из ошибок обучения,​ о которых речь пойдет ниже.\\ +
- +
-**Разброс центров символов** - при обучении собранные вами символы предъявляются ядру и их центр находится в той точке, которую вы указали. Но можно немного можно увеличить разброс этой точки. Это может привести к улучшению распознавания,​ а может и к ухудшению. Ниже, в разделе "​Тестирования модуля"​ написано когда этот параметр может быть полезен.\\ +
- +
-**Интенсивность обучения на ложных данных** - рекомендуется увеличить,​ если при распознавании или обучении ошибка распознавания символа (3) - ложное срабатывание встречается намного чаще других ошибок. Начинать обучение рекомендуется с параметра по-умолчанию:​ 10.\\ +
- +
-**Доля обучающих символов** - собранные вами символы будут участвовать ​ в обучении ядра, но не все. Часть из них пойдет на тест ядра во время обучения (первый график). Тест тоже очень важен, он помогает понять как проходит обучение и какие параметры можно исправить,​ чтобы более качественно переобучить ядро. В тесте должно быть хотя бы 30-50 символов чтобы понять как идет обучение.Отдавать большую часть символов на тест тоже не стоит, ведь чем больше символов участвует в обучении ядра тем лучше. Можно сделать так: первый раз обучить с большим количеством тестовых символов,​ а потом, когда все параметры будут подобраны,​ переобучить ядро почти на всех собранных символов,​ оставив на тест минимум из возможного.\\ +
- +
-==== Настройки распознавания ==== +
- +
-{{:​ru:​addons:​112bb6b24a396133780c7cb800d66a19.png|}} +
- +
-**Порог распознавания** - Когда ядру показывают область на капче (или при обучении),​ он выдает для каждого известного ему символа число в отрезке от 0 - если он не видит никаких признаков этого символа и до 1 - если он абсолютно уверен,​ что здесь в этой точке находится этот символ. Но нам нужно не число, а точный ответ, есть тут символ или нет. Для этого и нужен порог распознавания. Все ответы ядра, где он выдает для какого-то символа число больше,​ чем порог распознавания мы считаем за "да, тут есть этот символ"​. Если ядро выдает число меньше,​ то мы символ не принимаем. Чуть ниже, в разборе ошибок обучения вы прочитаете как нужно манипулировать этим параметром,​ чтобы решить некоторые проблемы обучения. +
- +
-**Минимальное расстояние между символами в каптче** - это очень полезный параметр,​ который не позволяет находить в районе уже найденного символа другие символы,​ тем самым сильно уменьшая ошибки распознавания символа (3). Откройте в Paint каптчу,​ отмасштабируйте ее  согласно вашим фильтрам и посчитайте минимальное расстояние (в пикселах) между двумя символами. Примерно посчитайте минимально возможное такое расстояние среди всех каптч. Полученное числом инициализируйте этот параметр. Если вы ошибетесь,​ то в тесте модуля распознавания вы узнаете как правильно скорректировать этот параметр. Переобучение при этом не требуется.\\ +
- +
-**Каптч для теста** - во время обучения постоянно будет проводится тест распознавания каптч, чтобы узнать текущий процент распознавания модуля. Много каптч - долгие тесты, но правильно подсчитанный процент,​ мало каптч - быстрые тесты, но не очень хорошая оценка модуля. Проведя пару-тройку обучений вы поймете,​ как вам ставить этот параметр,​ до того момента его можно не трогать.\\ +
- +
-**Частота тестирования** - чтобы не тратить время зря тестирование процента проводится не каждый цикл обучения,​ а  раз в несколько таких циклов. Через сколько циклов обучения проводить тестирование устанавливается этим параметром. +
-  +
-**Быстрое распознавание** - у очень сложных каптч (символы записаны вместе в одну строку без пробелов,​ сильно искажены,​ много помех, много видов символов) приходится выбирать большой масштаб,​ делать очень сложное ядро, выбирать большой разброс центов масс. Все это приводит к тому, что модуль распознавания работает очень долго. Этот парамтр включает некоторые механизмы оптимизации и помогает ускорить распознавание таких каптч в 5-10 раз. Но может немного пострадать % распознавания. Этот параметр можно установить сразу перед обучением - это ускорит тесты распознавания каптч, но может не совсем правильно показывать % распознавания. Можно попробовать эту оптимизацию уже на стадии тестирования модуля. Для исправления % распознавания,​ возможно,​ придется немного изменить настройки поиска центра масс. Вообще,​ советуем не включать эту оптимизацию на стадии обучения модуля,​ без нее вы узнаете максимальный возможный % распознавания,​ который можно получить на каптче. \\ +
- +
-==== Ход обучения ==== +
-После установки всех параметров можно запустить само обучение,​ в этом случае откроется окно с графиками и прогресс барами отражающими текущий ход обучения.Графиков всего три.\\ +
- +
-{{:​ru:​addons:​69096bba1b9da843b9244390ec1df43d.png?​400|http://​wiki.zennolab.com/​lib/​exe/​fetch.php?​media=ru:​addons:​69096bba1b9da843b9244390ec1df43d.png}} +
- +
-1) На первом отображаются результаты тестирования модуля на ваших собранных символах.\\ +
-Зеленая линия графика показывает сколько всего символов было распознано верно.\\ +
-Желтая - на скольких символах ядро не нашло ничего (вторая ошибка распознавания символов).\\ +
-Красная - сколько символов было распознано не правильно (первая ошибка распознавания символов)\\ +
-2) Второй график показывает результаты теста на ложное срабатывание\\ +
-Зеленая линия показывает количество правильных ответов (в этих случаях ядро не нашло ничего и это правильно)\\ +
-Желтая линия показывает,​ сколько раз ядро проявило подозрительную активность :)\\ +
-Красная линия показывает,​ сколько раз ядро ошиблось (третья ошибка распознавания символа). \\ +
-3) Третий график показывает примерный предварительный процент распознавания модуля. \\ +
- +
-==== Остановка обучения ==== +
- +
-{{:​ru:​addons:​c7e7430a4d021bc9a0e864beb1169579.png|}} +
- +
-Обучение можно прервать в любой момент,​ когда вы поняли,​ что ничего лучше уже не получится.\\ +
-После прерывания обучения или его естественной остановки (после 300 циклов) нужно выбрать какое ядро вы собираетесь использовать в модуле:​\\ +
-1) С лучшим % распознавания - в этом случае будет взято не последнее ядро, а то, на котором % распознавания был максимальным.\\ +
-2) Последнее - если у вас в тесте распознавания использовалось мало каптч для теста (меньше 50) а % распознавания у последних ядер не намного меньше чем у ядра с максимальным %, то лучше взять последнее ядро.\\ +
-3) Оставить ядро от прошлого обучения,​ если с прошлыми настройками вы получали больший процент распознавания. \\ +
- +
- +
-==== Как должно быть ==== +
- +
-{{:​ru:​addons:​4f5f8964ce8cdbc92994eafa7bbd07e7.png?​400|http://​wiki.zennolab.com/​lib/​exe/​fetch.php?​media=ru:​addons:​4f5f8964ce8cdbc92994eafa7bbd07e7.png}} +
- +
-При хорошем обучении графики должны выглядеть так:\\ +
-На первом графике (распознавание символов) зеленая линия поднимается к максимуму,​ а желтая и красная опускаются к 0.\\ +
-На втором графике (Ложные срабатывания) зеленая линия всегда на верху, красная чуть выше 0, а желтая раз в 5-10 выше красной. В редких случаях желтая линия может превышать зеленую,​ главное,​ чтобы красная была близко к 0.\\ +
-На третьем графике постепенно растет % распознавания. Сначала он вырастет быстро,​ потом будет расти все медленнее.\\ +
-Скриншот сделан на простой капче с правильно подобранными параметрами,​ имейте ввиду что графики у вас могут быть другими,​ начальный процент может быть меньше,​ подъем зеленой линии, снижение желтой и красной на первом графике может быть медленнее. Это все зависит от настроек обучения,​ сложности каптчи. Главное - тенденция.  +
-==== Проблемы обучения и их исправление ==== +
- +
-__Самое первое правило - если что-то долго не получается и советы,​ написанные ниже, не особо помогают,​ просто спросите на форуме в разделе программы. Не тратьте свое время впустую!__ +
- +
-Есть несколько проблем,​ которые вы можете встретить при обучении. Диагностировать их можно по графикам,​ отражающим текущий ход обучения:​\\ +
- +
-1) **После начала обучения прошло уже с десяток-другой циклов,​ а зеленая и красная линии на первом графике не поднимаются**\\ +
-Ядро не учится. Слишком маленький стартовый параметр обучения,​ запустите обучение заново,​ увеличив этот параметр в 10 раз. Повторите пока линии на графиках не начнут расти.\\ +
-2) **При обучении красная полоса поднялась над зеленой и доминирует на первом графике**\\ +
-* Возможно вы поставили слишком большой стартовый параметр. Уменьшайте в 10 раз, и начинайте обучение снова и так несколько раз пока положение не улучшится или не появится предыдущая ошибка. Если появилась предыдущая ошибка значит проблема не только в стартовом параметре или вообще,​ он тут ни при чем. \\ +
-* Возможно слишком мало символов для обучения или фильтры для символов настроены не правильно. Перенастройте.\\ +
-* Может вы что-то напутали при вырезании символов и указывали им не правильные названия. Проверьте коллекцию в разделе фильтров (там есть кнопка "​показывать текст",​ нажав ее вы сможете проверить соответствует ли нарисованный символ символу под ним написанному текстом)\\ +
-3) **Красная линяя на первом графике довольно далеко от 0**\\ +
-Слишком много ошибок распознавания символа типа (1)\\ +
-Причин может быть много:​\\ +
-* Собрано мало символов.\\ +
-* Очень сложная каптча.\\ +
-* Сеть слишком простая.\\ +
-* Слишком быстрый режим обучения.\\ +
-* Слишком большой разброс центра при обучении.\\ +
-* Очень много видов символов (надеюсь,​ вы не китайскую каптчу с иероглифами распознаете :)\\ +
-4) **Самая ​ первая проверка еще перед первым циклом обучения показывает слишком большое число Bad результатов (красная линия)** \\ +
-Ничего страшного в этом нет, просто вы установили порог распознавания 0,5 или ниже. Положение должно исправиться уже после первого цикла обучения.\\ +
-5) **Количество циклов перевалило за 100, а желтая линяя на первом графике все еще не падает к нулю**\\  +
-Ядро не видит слишком много символов - ошибка распознавания символов (2)\\ +
-Возможные причины\\ +
-* Слишком большой порог обучения. Нормальный порог обучения 0,​5-0,​6.\\ +
-* Слишком маленький стартовый параметр обучения. Попробуйте увеличить в 3-5 раз\\ +
-* Мало символов обучения,​ при том, что они сильно искажены.\\ +
-* Слишком сложная сеть.\\ +
-* Слишком быстрый режим обучения.\\ +
-6) **На втором графике красная линяя поднялась слишком высоко**\\ +
-Ядро слишком часто видит символы там где их нет - третья ошибка распознавания символов.\\ +
-Увеличьте интенсивность обучения на ложных данных.\\ +
-7) **На третьем графике процент распознавания 0 и не растет,​ причем все остальные графики в порядке**\\ +
-Обучение идет хорошо,​ но каптча почему-то не распознается. Нужно смотреть что выдает модуль распознавания при тесте.\\ +
-Доучите модуль так, чтобы графики 1 и 2 начали колебаться примерно у одних и тех же значений.\\ +
-Остановите обучение,​ перейдите на вкладку тестирования модуля и запустите тест. Смотрите какие ошибки распознавания возникают и в разделе справки по тестирования модуля читайте как эти ошибки исправить.\\ +
- +
-====== 6. Тестирование модуля,​ поиск возможностей для улучшения распознавания ====== +
- +
-После обучения модуля нужно провести его тестирование. Зачем это нужно?​\\ +
-В окне теста модуля вы не только узнаете какой у него % распознавания и скорость работы,​ а еще сможете посмотреть на результат его работы. Т.е. какую строку на какой каптче он выдает.\\ +
-Это очень важная информация,​ по ней вы сможете понять как повысить качество распознавания и уменьшить время работы модуля.\\ +
- +
-==== Настройки тестирования ==== +
- +
-{{:​ru:​addons:​ddsss.png|}} +
- +
-Их можно изменять и провести тесты несколько раз, изменение параметров может изменить процент распознавания. При этом ядро переучивать не нужно, можно будет просто сохранить модуль.\\ +
- +
-1) Количество потоков для тестирования\\ +
-2) Значения фильтра Thresold\\ +
-3) Минимальная дистанция между символами - очень важный параметр! Можно попробовать слегка увеличить или уменьшить. Актуально,​ если у вас в ответах много лишних букв (увеличить) или много букв пропущено (уменьшить).\\ +
-4) Тип сравнения:​ полное совпадение = полное соответствие реальному ответу на каптчу,​ совпадение подстроки и частичное = настройка,​ которой следует пользоваться,​ если сайт принимает успешно частичный ответ на капчу, а не полное соответствие. Тогда вы можете заставить модуль считать правильными ответы,​ которые на самом деле только частично верные.\\ +
-5) Значение диапазона,​ если используете подстроку как тип сравнения. Количество верно отгаданных символов подряд,​ которые мы считаем как успешный ответ на каптчу.\\ +
-6) Можно попробовать включить/​отключить быстрое распознавание,​ это тоже может повлиять на процент распознавания.\\ +
- +
-** Вспомним еще раз типы ошибок распознавания символа ** +
- +
-Прежде чем перейти к ошибкам распознавания каптч, давайте вспомним,​ какие бывают ошибки распознавания символов:​\\ +
-1) Неправильное распознавание - это когда символ,​ действительно есть, но распознается он не правильно. Например мы показываем модулю символ «а», а он находит там символ «с».\\ +
-2) Пропуск символа - это когда символ есть, но модуль вообще не видит никакого символа. Т.е. мы показываем ему символ «а», а модуль выдает,​ что тут ничего нет.\\ +
-3) Ложное срабатывание- это когда символа нет, например между двумя символами,​ но модуль там что-то находит.\\ +
- +
-==== Суть вашей работы по улучшению распознавания ==== +
- +
-По сути, вся работа по улучшению % распознавания у вашего модуля сводится к балансу этих трех видов ошибок распознавания символа. Т.е. в идеале ваш модуль должен при неправильном распознавании иногда:​\\ +
-1) заменять правильный символ не правильным. Например вместо "​captcha"​ выдавать "​ca**g**tcha"​.\\ +
-2) не видеть тот символ,​ что есть. Например вместо "​captcha"​ выдавать "​cptcha"​.\\ +
-3) выдавать лишний символ в тексте каптчи. Например вместо "​captcha"​ выдавать "​ca**m**ptcha"​.\\ +
-И каждая из этих ошибок должна встречаться примерно одинаковое количество раз. +
- +
-** Основные ошибки и способы их устранения ** +
- +
-**Количество букв, выданных модулем очень мало, либо их нет, вообще**\\ +
-1) При этом обучение прошло хорошо,​ т.е. зеленый график был около максимума,​ а красный и желтый опустились к нулю.\\ +
-* Возможно вы установили параметр "​минимальное расстояние между символами"​ слишком большим. В таком случае,​ редкие распознанные символы будут правильными. Т.е. вместо текста "​amcaptchatext"​ модуль будет выдавать что-то типа "​aathet"​. +
-*Возможно вы что-то напутали в фильтрах или с центрами масс. У вас получается,​ что модуль хорошо обучился на символы,​ но на самой каптче он эти символы либо не встречает,​ либо встречает не в том виде, на который обучен. +
-Самый простой случай - в фильтрах вы сделали изменение размера каптчи,​ а к символам эти фильтры применить забыли. В итоге модуль учится на меленькие символы,​ а на каптче ему показывают большие.\\ +
-*Возможно,​ центры масс определяются не там, где вы определяли центры символов при их сборе. Если так, то вы это увидите в тесте центров масс, кликая по капче в местах найденных центров масс. Там отклика у модуля не будет, но он будет где-нибудь ниже или выше найденных центров масс. Это можно попытаться исправить без переобучения - увеличить разброс центра масс и кол-во дополнительных точек так, чтобы они начали попадать на те места, где модуль распознает символ. Либо переобучить модуль с увеличенным разбросом центра символа вместо (вместе с) увеличения разброса у центра масс.\\ +
-2) При обучении зеленый график был близок к желтому. Красный был почти на нуле. \\ +
-Читайте про исправление такой ситуации в разделе обучения. +
- +
-**Количество букв, вполне подходит,​ но они все (или большинство) не правильные**\\ +
-Если при этом обучение прошло хорошо,​ то, возможно,​ это проявление ошибки распознавания символов номер (3) - ложное срабатывание. Если так, то в тесте центров масс, кликая в центры символов вы будите получать правильный ответ модуля,​ но кликая в центры масс, которые лежат рядом, не в центре символа,​ модуль будет выдавать кучу других символов,​ которых там нет.\\ +
-Лечится переобучением с увеличением параметра,​ отвечающего за предотвращение ложных срабатываний.\\ +
- +
-**Букв очень много, и они все не правильные. Некоторые буквы могут повторяться по нескольку раз подряд**\\ +
-То же что и предыдущая ошибка,​ только еще параметр "​минимальная дистанция между символами"​ слишком маленький.\\ +
- +
-** Внутри выданного модулем текста виден правильный текст, но он прорежен неправильными символами**\\ +
-1) Параметр "​минимальная дистанция между символами"​ слишком мал.\\ +
-2) Слишком много ошибок распознавания символов (3) В разделе обучения написано как уменьшить количество этих ошибок.\\ +
-3) Слишком низкий порог принятия символа.\\ +
-4) Комбинации 1, 2 и 3.\\ +
  
ru/addons/capmonster/mcr.txt · Последние изменения: 2015/07/14 15:51 (внешнее изменение)