Обучение по одной букве

danni

Client
Регистрация
01.07.2012
Сообщения
373
Благодарностей
6
Баллы
18
Возник такой вопрос, есть капча и есть прога, чтобы генерировать такие же капчи.
Получается я могу сохранить себе по 1 версии каждой буквы(по шрифтам, по наклонам), т.е. по идее все возможные ее состояния. Так обучать будет лучше, чем просто набором разный капч из 5-8 букв? И какие возможные подводные камни/геморои, если они есть?
Капчи такого вида http://ampblogs.com/plugins/cool-php-captcha-0.3.1/captcha.php
А так же вопрос за наклон, мне нужны все версии или в монстре наклон настраивается?(если в монстре, то как?)
 
Последнее редактирование:

danni

Client
Регистрация
01.07.2012
Сообщения
373
Благодарностей
6
Баллы
18
Друзья, подскажите подробнее плс.
По одной букве что-то плохо получилось(или я плохо делал). Продолжаю делать с 5-8 буквами, получилось 14%. Посоветуйте, как лучше, делал по вики, без настройки наклонов и прочего.
кап4.png кап3.png кап2.png кап1.png
 

7make

Client
Регистрация
25.06.2011
Сообщения
1 547
Благодарностей
1 311
Баллы
113

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с 7make какие-либо сделки.

нужно на каждый символ собрать по 100-200 центров, раз там несколько шрифтов то умножаем это на кол-во шрифтов, это и будет сколько нужно собрать символов чтобы охватить все шрифты.
если там 9 шрифтов то это 9*100 (200) = 900 (1800) центров на символ нужно собрать =)

смотреть на это как на 9 разношрифтовых каптч в 1 модуле.



*ну и немного самопиара в контексте вопроса.
как я обучал бы такую каптчу.


1. нагенерить 9 коллекций каптч с ответами под каждый шрифт. По 1к на шрифт. 1/3 обучение + 2/3 сбор символов + 50-100шт для тестера
2. по очереди добавлял их в проект. получили бы равномерное распределение шрифтов в коллекциях (максимальную полноту выборки)
600 каптч для сбора символов для шррифта * среднее кол-во символов в каптче на глаз 6* / [a-z] 26 = 600*6/26 = 138+- символов на шрифт собрать

*п.с. все рандомы (ГПСЧ) условно воспринимать как равномерное распределение

3. 138*9 шрифтов = 1242 центра на символ*шрифт для полного охвата =)
итого 26*1242= 32к центров натыкать )


итого по времени нормировка (в среднем, по производительности труда 5 с на центр) *32к / 60с / 60м = 45 человеко/часов обучить такую каптчу =) / 8 часовой рабочий день = 5-6 дней**


**при 8 часовом рабочем дне и делая перерыв на 10 мин каждый час покурить, попить, по..
80 мин в день *5 дней = 400 мин = 6-7ч фрии тайм

45ч -7= 38 ч * Х $/ч = 38* Х ($) вышла бы каптча
Х - сколько стоит ваш час *скилл
 
Последнее редактирование:

danni

Client
Регистрация
01.07.2012
Сообщения
373
Благодарностей
6
Баллы
18
нужно на каждый символ собрать по 100-200 центров, раз там несколько шрифтов то умножаем это на кол-во шрифтов, это и будет сколько нужно собрать символов чтобы охватить все шрифты.
если там 9 шрифтов то это 9*100 (200) = 900 (1800) центров на символ нужно собрать =)

смотреть на это как на 9 разношрифтовых каптч в 1 модуле.



*ну и немного самопиара в контексте вопроса.
как я обучал бы такую каптчу.


1. нагенерить 9 коллекций каптч с ответами под каждый шрифт. По 1к на шрифт. 1/3 обучение + 2/3 сбор символов + 50-100шт для тестера
2. по очереди добавлял их в проект. получили бы равномерное распределение шрифтов в коллекциях (максимальную полноту выборки)
600 каптч для сбора символов для шррифта * среднее кол-во символов в каптче на глаз 6* / [a-z] 26 = 600*6/26 = 138+- символов на шрифт собрать

*п.с. все рандомы (ГПСЧ) условно воспринимать как равномерное распределение

3. 138*9 шрифтов = 1242 центра на символ*шрифт для полного охвата =)
итого 26*1242= 32к центров натыкать )


итого по времени нормировка (в среднем, по производительности труда 5 с на центр) *32к / 60с / 60м = 45 человеко/часов обучить такую каптчу =) / 8 часовой рабочий день = 5-6 дней**


**при 8 часовом рабочем дне и делая перерыв на 10 мин каждый час покурить, попить, по..
80 мин в день *5 дней = 400 мин = 6-7ч фрии тайм

45ч -7= 38 ч * Х $/ч = 38* Х ($) вышла бы каптча
Х - сколько стоит ваш час *скилл
Так а получается, что если я могу получить каждый символ каждого шрифта(200+ картинок), то это ничего не дает? Почему-то я думал, что так даже проще будет обучить.
 

7make

Client
Регистрация
25.06.2011
Сообщения
1 547
Благодарностей
1 311
Баллы
113

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с 7make какие-либо сделки.

зачем усложнять себе работу, и сводить к условиям далеким от реальных.
на каптче всегда несколько символов, так и обучай исходя их этого.
если есть время для таких экспериментов на ядре монстра, дерзай

Сложно сказать обоснованность всего этого, я такую методу не юзаю просто, она далека от реальности.
посмотри работу функции Wave (искажение текста)

Напиши фильтр (обратную функцию) которая сделает текст ровным.
Тогда обучай на таких коллекция, нужно будет значительно меньше центров и в итоге времени на все обучение.

сорсы каптчи открыты же ))
https://github.com/josecl/cool-php-captcha/blob/master/captcha.php


Код:
    /** Wave configuracion in X and Y axes */
    public $Yperiod    = 12;
    public $Yamplitude = 14;
    public $Xperiod    = 11;
    public $Xamplitude = 5;
    /** letter rotation clockwise */
    public $maxRotation = 8;
    /**
     * Internal image size factor (for better image quality)
     * 1: low, 2: medium, 3: high
     */
    public $scale = 2;
 

7make

Client
Регистрация
25.06.2011
Сообщения
1 547
Благодарностей
1 311
Баллы
113

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с 7make какие-либо сделки.

Можно пойти другим путем.
Если есть знания ЯП на котором каптча написана, в данном случае пхп, и сорсы открыты.
Можно сгенерить проект для монстра на автомате.

Если распаковать любой проект монстра 7zip там есть папка "словарей" центров OperatingItemCollection
Как они выглядят
Код:
<OperationItem>
  <Item0>
    <id>0</id>
    <type>CenterOfMass</type>
    <text>4</text>
    <left>10</left>
    <top>16</top>
  </Item0>
  <Item1>
    <id>0</id>
    <type>CenterOfMass</type>
    <text>a</text>
    <left>22</left>
    <top>21</top>
  </Item1>
  <Item2>
    <id>0</id>
    <type>CenterOfMass</type>
    <text>b</text>
    <left>60</left>
    <top>26</top>
  </Item2>
  <Item3>
    <id>0</id>
    <type>CenterOfMass</type>
    <text>e</text>
    <left>102</left>
    <top>18</top>
  </Item3>
  <Item4>
    <id>0</id>
    <type>CenterOfMass</type>
    <text>n</text>
    <left>38</left>
    <top>18</top>
  </Item4>
  <Item5>
    <id>0</id>
    <type>CenterOfMass</type>
    <text>n</text>
    <left>81</left>
    <top>19</top>
  </Item5>
</OperationItem>
Если мы для каждого шрифта сгенерим по 1 символу, откроем в пейнте и посмотрим координаты центра масс сможем составить словарик для функции которая будет генерить проект монстру для обучения

* заложим смещение центра с учетом функции Wave самой каптчи.

** пс распакуй проект монстра 7zip, там все просто и понятно))
 

danni

Client
Регистрация
01.07.2012
Сообщения
373
Благодарностей
6
Баллы
18
зачем усложнять себе работу, и сводить к условиям далеким от реальных.
на каптче всегда несколько символов, так и обучай исходя их этого.
если есть время для таких экспериментов на ядре монстра, дерзай

Сложно сказать обоснованность всего этого, я такую методу не юзаю просто, она далека от реальности.
посмотри работу функции Wave (искажение текста)

Напиши фильтр (обратную функцию) которая сделает текст ровным.
Тогда обучай на таких коллекция, нужно будет значительно меньше центров и в итоге времени на все обучение.

сорсы каптчи открыты же ))
https://github.com/josecl/cool-php-captcha/blob/master/captcha.php


Код:
    /** Wave configuracion in X and Y axes */
    public $Yperiod    = 12;
    public $Yamplitude = 14;
    public $Xperiod    = 11;
    public $Xamplitude = 5;
    /** letter rotation clockwise */
    public $maxRotation = 8;
    /**
     * Internal image size factor (for better image quality)
     * 1: low, 2: medium, 3: high
     */
    public $scale = 2;
И при запуске обучения настроить наклоны?
Пхп я понимаю, что то, что там с искажением происходит в коде - нет) там дальше синусы идут, еще хрен знает что, я запутываюсь. Попробую эти периоды и амплитуды поставить 0 или 1.
 

danni

Client
Регистрация
01.07.2012
Сообщения
373
Благодарностей
6
Баллы
18
Можно пойти другим путем.
Если есть знания ЯП на котором каптча написана, в данном случае пхп, и сорсы открыты.
Можно сгенерить проект для монстра на автомате.

Если распаковать любой проект монстра 7zip там есть папка "словарей" центров OperatingItemCollection
Как они выглядят
Код:
<OperationItem>
  <Item0>
    <id>0</id>
    <type>CenterOfMass</type>
    <text>4</text>
    <left>10</left>
    <top>16</top>
  </Item0>
  <Item1>
    <id>0</id>
    <type>CenterOfMass</type>
    <text>a</text>
    <left>22</left>
    <top>21</top>
  </Item1>
  <Item2>
    <id>0</id>
    <type>CenterOfMass</type>
    <text>b</text>
    <left>60</left>
    <top>26</top>
  </Item2>
  <Item3>
    <id>0</id>
    <type>CenterOfMass</type>
    <text>e</text>
    <left>102</left>
    <top>18</top>
  </Item3>
  <Item4>
    <id>0</id>
    <type>CenterOfMass</type>
    <text>n</text>
    <left>38</left>
    <top>18</top>
  </Item4>
  <Item5>
    <id>0</id>
    <type>CenterOfMass</type>
    <text>n</text>
    <left>81</left>
    <top>19</top>
  </Item5>
</OperationItem>
Если мы для каждого шрифта сгенерим по 1 символу, откроем в пейнте и посмотрим координаты центра масс сможем составить словарик для функции которая будет генерить проект монстру для обучения

* заложим смещение центра с учетом функции Wave самой каптчи.

** пс распакуй проект монстра 7zip, там все просто и понятно))
Дельный совет, пхп знаю, но опять же надо еще пару часиков посидеть, чтобы понять, где там центры масс задаются и прочие цифры)
<left>81</left>
<top>19</top>
- это центр масс, как я понял. Но сложно понять, где их взять в пхп, с чем это соотноситься. Просто центры в коде вроде не генерируются.
 

7make

Client
Регистрация
25.06.2011
Сообщения
1 547
Благодарностей
1 311
Баллы
113

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с 7make какие-либо сделки.

Дельный совет, пхп знаю, но опять же надо еще пару часиков посидеть, чтобы понять, где там центры масс задаются и прочие цифры)
<left>81</left>
<top>19</top>
- это размеры символа?
координаты центра масс символа {x;y} относительно {0;0} каптчи
 

danni

Client
Регистрация
01.07.2012
Сообщения
373
Благодарностей
6
Баллы
18
координаты центра масс символа {x;y} относительно {0;0} каптчи
Ну если по 1 символу каждого шрифта, то это 200+ картинок всего, им можно проставить центр и в монстре, быстрее будет. Если я правильно понял мысль.
 

7make

Client
Регистрация
25.06.2011
Сообщения
1 547
Благодарностей
1 311
Баллы
113

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с 7make какие-либо сделки.

начни с рекомендаций разрабов.
30 центров на символ * 9 шрифтов = 270 центров/ символ * 26= 7к центров
обучи и смотри пробив.
дальше уже играйся размножением и настройками ядра.

поиграйся пока с 1 шрифтом только, быстрее дело будет и понимание
просто включи 1 шрифт только.
нагенери каптч с ответами под него.
обучи 1 шрифту..

еще раз обучай и смотри...
еще раз обучай и смотри...
еще раз обучай и смотри...
....

и наступит просветление..дзен)
 

danni

Client
Регистрация
01.07.2012
Сообщения
373
Благодарностей
6
Баллы
18
начни с рекомендаций разрабов.
30 центров на символ * 9 шрифтов = 270 центров/ символ * 26= 7к центров
обучи и смотри пробив.
дальше уже играйся размножением и настройками ядра.

поиграйся пока с 1 шрифтом только, быстрее дело будет и понимание
просто включи 1 шрифт только.
нагенери каптч с ответами под него.
обучи 1 шрифту..

еще раз обучай и смотри...
еще раз обучай и смотри...
еще раз обучай и смотри...
....

и наступит просветление..дзен)
30 центров на символ, пытаюсь понять. Лично я сделал например 1 символ "А" шрифта AntykwaBold(допустим). И ставлю ему центр масс. Как я понимаю - все, у меня есть символ такого шрифта и о нем можно забыть, искажениями влево-вправо займется монстер. И этот символ будет всегда одинаковым(если без искажения), я так понял. Тогда какие еще 29 версий этого символа? Сори, вероятно задаю глупые вопросы, ну а что делать =), идея про односимвольные капчи в вики не описывается)
Про настройку искажений и размножения кстати на вики не заметил, там про более старый билд, если я не ошибаюсь.
 

7make

Client
Регистрация
25.06.2011
Сообщения
1 547
Благодарностей
1 311
Баллы
113

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с 7make какие-либо сделки.

начни с чтения вики и просмотра там видео по обучению.
там все это разжевано до мелочей.
тогда отпадут все твои вопросы, ответы на которые там есть.
 

danni

Client
Регистрация
01.07.2012
Сообщения
373
Благодарностей
6
Баллы
18
начни с чтения вики и просмотра там видео по обучению.
там все это разжевано до мелочей.
тогда отпадут все твои вопросы, ответы на которые там есть.
да я как бы и пишу "Про настройку искажений и размножения кстати на вики не заметил", потому что на видео этого нет) там более старая программа, где таких пунктов нет при начале обучения.
 

7make

Client
Регистрация
25.06.2011
Сообщения
1 547
Благодарностей
1 311
Баллы
113

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с 7make какие-либо сделки.

Не вижу формулировки, в чем собственно вопрос?

Там в размножении для каждого пункта есть анимация что будет с символом (какие искажения произойдут) используй те которые удовлетворяют каптче.
 

danni

Client
Регистрация
01.07.2012
Сообщения
373
Благодарностей
6
Баллы
18
Хорошо, тогда еще про это:
Если мы для каждого шрифта сгенерим по 1 символу, откроем в пейнте и посмотрим координаты центра масс сможем составить словарик для функции которая будет генерить проект монстру для обучения
Необходимо для каждого изображения, каждого шрифта посмотреть координаты центра масс, правильно?
23s.png


Для O и W они тупо по центру, для T левее.(Я к тому, что нельзя для всех изображений поставить центры просто по центру картинки, к сожалению).
Ну а так же "30 центров на символ * 9 шрифтов = 270 центров/ символ * 26= 7к центров", пишу второй раз, но не понял, что поделать. Если допустить, что есть всего 1 шрифт, то у меня будет 26 букв одинакового размера, одинакового наклона(ровные) и вообще во всем одинаковые. Какие еще генерировать я не понял... Возможно имеется ввиду оставить включенным искажения в генерации капч и тогда будет реально куча разных?
 

danni

Client
Регистрация
01.07.2012
Сообщения
373
Благодарностей
6
Баллы
18
Можно пойти другим путем.
Если есть знания ЯП на котором каптча написана, в данном случае пхп, и сорсы открыты.
Можно сгенерить проект для монстра на автомате.

Если распаковать любой проект монстра 7zip там есть папка "словарей" центров OperatingItemCollection
Как они выглядят
Код:
<OperationItem>
  <Item0>
    <id>0</id>
    <type>CenterOfMass</type>
    <text>4</text>
    <left>10</left>
    <top>16</top>
  </Item0>
  <Item1>
    <id>0</id>
    <type>CenterOfMass</type>
    <text>a</text>
    <left>22</left>
    <top>21</top>
  </Item1>
  <Item2>
    <id>0</id>
    <type>CenterOfMass</type>
    <text>b</text>
    <left>60</left>
    <top>26</top>
  </Item2>
  <Item3>
    <id>0</id>
    <type>CenterOfMass</type>
    <text>e</text>
    <left>102</left>
    <top>18</top>
  </Item3>
  <Item4>
    <id>0</id>
    <type>CenterOfMass</type>
    <text>n</text>
    <left>38</left>
    <top>18</top>
  </Item4>
  <Item5>
    <id>0</id>
    <type>CenterOfMass</type>
    <text>n</text>
    <left>81</left>
    <top>19</top>
  </Item5>
</OperationItem>
Если мы для каждого шрифта сгенерим по 1 символу, откроем в пейнте и посмотрим координаты центра масс сможем составить словарик для функции которая будет генерить проект монстру для обучения

* заложим смещение центра с учетом функции Wave самой каптчи.

** пс распакуй проект монстра 7zip, там все просто и понятно))
И кстати, как можно в процессе генерации капч делать <id>0</id> ? такие связи ведь делает монстр уже после того, как добавить туда изображения. Это разве что сначала добавить, а потом изменить этот файл.
 

7make

Client
Регистрация
25.06.2011
Сообщения
1 547
Благодарностей
1 311
Баллы
113

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с 7make какие-либо сделки.

там другие словари есть где айдишники прописаны в соответствии с каптчей.
 
  • Спасибо
Реакции: danni

danni

Client
Регистрация
01.07.2012
Сообщения
373
Благодарностей
6
Баллы
18
там другие словари есть где айдишники прописаны в соответствии с каптчей.
понял, а с какой связан словарь масс?(соответствие айдишников) WorkingCollection или TeachingCollection?
 

danni

Client
Регистрация
01.07.2012
Сообщения
373
Благодарностей
6
Баллы
18
Загрузил 20к капч, начинаю обучение, свободно еще 6гб

ew23.png
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Там процесс обучалки 32 битный. Слишком много каптч у вас в базе. Проконсультируюсь с разработчиками и напишу вам ответ
 

nuaru

Main Administrator
Команда форума
Регистрация
14.01.2009
Сообщения
3 645
Благодарностей
2 513
Баллы
113
Генерируете несколько тысяч распознаных каптч, собираете по 200 символов каждого, без учета количества шрифтов.
Собираете символы, обучаете - все как всегда.
Единственный плюс - у вас каптчи уже распознаны, не нужно распознавать в сервисах.
Может на каждый шрифт собрать по 200 символов, но большой разницы не будет.

2. по очереди добавлял их в проект. получили бы равномерное распределение шрифтов в коллекциях (максимальную полноту выборки)
Этого делать не нужно, все само равномерно перемешивается там где нужно и можно.
 
  • Спасибо
Реакции: rostonix

danni

Client
Регистрация
01.07.2012
Сообщения
373
Благодарностей
6
Баллы
18
Генерируете несколько тысяч распознаных каптч, собираете по 200 символов каждого, без учета количества шрифтов.
Собираете символы, обучаете - все как всегда.
Единственный плюс - у вас каптчи уже распознаны, не нужно распознавать в сервисах.
Может на каждый шрифт собрать по 200 символов, но большой разницы не будет.


Этого делать не нужно, все само равномерно перемешивается там где нужно и можно.
Т.е. лучше по-обычному - капчи 5-8 символов, а не по 1?
По-обычному у меня 14% получается, по 100-150 символов собрал. На скринах выше кидал. Но дело еще в том, что в новом монстре это мой первый проект и я все делал по видео, поэтому особенно за центры масс не ручаюсь, ширина, высота, и прочие значения, сделал по примеру. Плюс я реально не сильно понимаю про обучение. Если я поставлю минимальную скорость и буду ждать пару суток, пока выполнятся те 200 циклов, в это и есть смысл?
 
Последнее редактирование:

7make

Client
Регистрация
25.06.2011
Сообщения
1 547
Благодарностей
1 311
Баллы
113

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с 7make какие-либо сделки.

Генерируете несколько тысяч распознаных каптч, собираете по 200 символов каждого, без учета количества шрифтов.
Собираете символы, обучаете - все как всегда.
Единственный плюс - у вас каптчи уже распознаны, не нужно распознавать в сервисах.
Может на каждый шрифт собрать по 200 символов, но большой разницы не будет.

Этого делать не нужно, все само равномерно перемешивается там где нужно и можно.

Правильно понимаю, что если мы возьмем скажем два любых шрифта в которых символ 'g' имеет разный вид.
В одну папку кинем 700+300 каптч каждого из шрифтов.
Оно автоматом определит разные шрифты (к примеру символ 'g') и "равномерно" его раскидает по коллекциям?

*гарантированно получу этот символ в двух шрифтах во всех трех коллекциях проекта?


Шрифты из этой каптчи:

upload_2016-4-4_18-25-2.png

upload_2016-4-4_18-25-15.png

upload_2016-4-4_18-25-38.png

upload_2016-4-4_18-26-18.png

upload_2016-4-4_18-26-33.png

upload_2016-4-4_18-26-48.png

upload_2016-4-4_18-27-1.png

upload_2016-4-4_18-27-17.png

upload_2016-4-4_18-27-36.png
 

danni

Client
Регистрация
01.07.2012
Сообщения
373
Благодарностей
6
Баллы
18
Правильно понимаю, что если мы возьмем скажем два любых шрифта в которых символ 'g' имеет разный вид.
В одну папку кинем 700+300 каптч каждого из шрифтов.
Оно автоматом определит разные шрифты (к примеру символ 'g') и "равномерно" его раскидает по коллекциям?

*гарантированно получу этот символ в двух шрифтах во всех трех коллекциях проекта?


Шрифты из этой каптчи:

Посмотреть вложение 12541
Посмотреть вложение 12542
Посмотреть вложение 12543
Посмотреть вложение 12544
Посмотреть вложение 12545
Посмотреть вложение 12546
Посмотреть вложение 12547
Посмотреть вложение 12548
Посмотреть вложение 12549
Ну вот я еще не понимаю прикола. Если есть теория, что обучение по 1 букве это нормальная идея, то почему нельзя хоть в тупую взять эти 9 картинок порезать на буквы и их кинуть в монстр? Все остальное, что еще происходит с этими буквами - наклоны и растягивания, это, как я понял, в монстре настраивается.
 

Кто просматривает тему: (Всего: 5, Пользователи: 0, Гости: 5)