Главная | Настройки | NSFW
Тема:
Доски


[Ответить в тред] Ответить в тред

[Назад] [Обновить тред] [Вниз] [Каталог] [ Автообновление ] 15 / 21 / 4

Распознавания капчи тред Anonymous No.200299
16836292103600.jpg (126 KB, 1003x1416)
16836292104041.png (6 KB, 270x120)
Привет. Как наверное все заметили уже, на сосаче сменилась капча. И вот меня сугубо с исследовательской точки зрения интересует, как её можно автоматически распознавать? То есть в целом концептуально я примерно представляю как это работает для обычного текста с разными шрифтами и прочим. Но конкретно в данном случае не совсем понимаю, как это должно реализовываться на практике.

Наверное, для всех подобных вещей должна происходить одна и та же процедура: отделяем возможные символы, учим OCR распознавать каждый из них. Далее уже на конкретных картинках как-то всевозможными способами стараемся сделать так, чтобы остался только пустой фон и сами буквы. И уже эту упрощённую картинку распознаём посимвольно.

Скорее всего я очень упрощаю, так как сам только только знакомлюсь с этой всей темой. И вот хотел бы услышать мнения анонов, как в частности этот процесс должен происходить для текущей капчи сосача? Потому что для неискушённого взгляда даже выделять отдельные буквы на этой капче кажется довольно нетривиальной задачей.

В общем, интересно как с этим всем в действительности обстоит дело.
Anonymous !LLucyYYYHM No.200301
16836311193810.png (4 KB, 270x120)
16836311193971.png (5 KB, 270x120)
Перввый этап для данной капчи распознавание по цветовому диапозону
1. Распознаем все используемые цвета в капче
2. Разрезаем картинку на множество разных картинок содержащие один и тот же цвет
3. На этом этапе у нас уже появятся буквы и шум, шум фильтруем по размеру оставляя только буквы - картинки по размеру похожие на прямоугольники/квадратики

Тут кстати ошибка в составлении капчи, тонкие линии должны быть на переднем фоне, а они на заднем.
4. Теперь у нас осталоись буквы капчи и псевдобуквы. Псевдобуквы - всегда бледного цвета, ненасыщенные, как это правильно сказать, ну вы поняли - их можно отфильтровать по этому признаку.
5. Усе, теперь у нас есть буквы капчи. Они не повернуты под углом и не искажены вроде - что очень хорошо. Только разного размера - масштабируем их до чего то среднего. Таким образом получаем весь алфавит.

6. Проверяем нет ли отличий в них, тут вроде один и тотже шрифт, так что тренируем нейросеть какунить на этих буквах. Ну либо обесцвечиваем и получаем Perceptual Hash каждой буквы.

Новые капчи нарезаем на буквы сделанным ранее инструментом и сверяем их c базой.
Ну и далее поиск слова по словарю вместо символа ?. Как то так.
Пост отредактировал Anonymous
Anonymous No.200302
>>200301
> 2. Разрезаем картинку на множество разных картинок содержащие один и тот же цвет
А в теории не может возникнуть такой ситуации, что шум и какая-то буква будут иметь одинаковый цвет? Тогда ведь разделить их таким образом вряд ли выйдет? Или у них априори цвет всегда хоть чуть чуть, но отличен?
Anonymous !LLucyYYYHM No.200304
>>200302
Шум - прямые линии, могут быть вроде одного цвета с буквами. Но это алгоритмически решается, буквы всегда занимает 5-15% ширины и 15-90% длинны, линии могут нарезаться на отрезки, но в таком случае они будут иметь малое кол-во пикселей - что опять же их отсеит.

Но ты прав, допустим ена код иногда нарезает лишнюю букву, это решается на этапе составления алфавита. Ты отвсеиваешь вручную все что нарезалось неправильно, ты отсеял и всеравно получил алфавит. Натернировал его - ок.

И если в будущем (уже когда для каждой буквы будет хэш) снова нарежется лишняя буква, она просто не распознается твоей базой и ее можно проигнорировать.
Пост отредактировал Anonymous
Anonymous No.200305
16836388971950.png (1 KB, 270x120)
16836388972131.png (1 KB, 270x120)
16836388972322.png (0 KB, 270x120)
>>200304
Как думаешь, хорошей идеей будет для каждого цвета подсчитывать компоненты связности? Для отсева вот этих полосок, например. И в целом если у нас больше двух-трёх компонент, то в таком случае это точно не буква и можно отсеивать. Только я почему то не уверен, что такой подход будет работать для всех полосок, хотя интуитивно кажется так.
Anonymous No.200306
16836447836030.png (1 KB, 270x120)
>>200305
В общем отсеял полоски эти таким вот образом, вышло что-то такое. Компоненты считал BFS-ом, и вроде как для некоторых капч работает хорошо. В общем случае не знаю, выйдет ли.
Anonymous !LLucyYYYHM No.200307
>>200306
Ну ты молодец, красиво выглядит. Ты случайно всерьез не собираешься эту капчу решать? Смысла же нет, как только там поймут что она решается автоматически они заменят шрифт, добавят шума или буквы чуть изказят динамический.
Anonymous No.200317
>>200307
> Ну ты молодец, красиво выглядит
Спасибо тебе, особенно за наводки.

> Ты случайно всерьез не собираешься эту капчу решать? Смысла же нет, как только там поймут что она решается автоматически они заменят шрифт, добавят шума или буквы чуть изказят динамический.
Да, я понимаю, мне просто сам процесс скажем так интересен и что в итоге получится из этого. Ну и опыт некоторый получить. Думаю вот как-то погружаться в именно компьютерное зрение.

А вот ещё интересно, можно ли сделать такой распознаватель, чтобы несмотря на небольшие подобные изменения капчи, он всё же продолжал давать валидный результат? Или слишком большое число параметров должно быть учтено в таком случае? Просто по тем статьям, что я читал (не только по распознаванию текста, но и комп. зрению в целом) кажется, что это в общем случае не реализуется, ведь можно специально подобрать такие данные, чтобы на них распознавалка давала невалидный ответ. Но в частности для относительно (конечно растяжимое понятие) похожих друг на друга капч, наверное, можно что-то такое сделать?
Anonymous !LLucyYYYHM No.200320
>>200317
>А вот ещё интересно, можно ли сделать такой распознаватель, чтобы несмотря на небольшие подобные изменения капчи, он всё же продолжал давать валидный результат?
Есть вот такое:
https://habr.com/ru/search/?target_type=posts&order=relevance&q=%5B%D0%BF%D0%B5%D1%80%D1%86%D0%B5%D0%BF%D1%82%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9%20%D1%85%D1%8D%D1%88%5D
Anonymous No.200332
16837254632800.png (2632 KB, 1488x2105)
>>200299 (OP)
> Как наверное все заметили уже, на сосаче
Нет, не все заметили.
> Привет
Иди нахуй. Сам проверяй свою капчу.
Anonymous No.200333
>>200320
Благодарю, попробую ознакомиться.
Anonymous No.201266
>>200299 (OP)
Так и знал, что ОП — сосачерская гнида.
Anonymous No.201505
16869278170120.jpg (58 KB, 500x150)
16869278170211.jpg (58 KB, 500x150)
16869278170292.jpg (56 KB, 500x150)
16869278170473.jpg (50 KB, 500x150)
>>200299 (OP)
Разгадывай.
Anonymous No.201506
16869290078450.jpg (95 KB, 500x150)
16869290078611.jpg (94 KB, 500x150)
16869290078782.jpg (95 KB, 500x150)
16869290078953.jpg (98 KB, 500x150)
Anonymous No.201507
16869291812530.jpg (63 KB, 500x150)
16869291812701.jpg (54 KB, 500x150)
16869291812862.jpg (62 KB, 500x150)
16869291813023.jpg (61 KB, 500x150)

[Назад] [Обновить тред] [Вверх] [Каталог] [ Автообновление ]
15 / 21 / 4

[Ответить в тред] Ответить в тред

15000

Ответ в тред No.200299
Настройки
Избранное
Топ тредов