Блокировка сервиса и капча — Капча. Обратная связь
- Почему сервис заблокировали?
- Капча появляется слишком часто
- Почему после нажатия «Я не робот» мне предлагается ввести код?
- Не вижу картинку капчи
- Символы капчи неразборчивые
- Нет русской раскладки на клавиатуре
- Написать в службу поддержки
Сервис Яндекса может быть заблокирован, если на него поступает много похожих запросов от пользователей или программ. Например, если несколько человек пользуются каким-нибудь сервисом Яндекса, не сохраняя файлы cookie. В таком случае Яндекс может принять всех этих пользователей за одного и запросить дополнительное подтверждение.
Основные причины частого появления капчи:
в браузере запрещено сохранение cookie, в которых фиксируется успешный ввод капчи;
вы используете режим Инкогнито, при котором cookie автоматически удаляются при закрытии браузера.
Чтобы капча перестала появляться слишком часто:
Включите сохранение cookie в браузере.
- Яндекс Браузер
- Microsoft Edge
- Google Chrome
- Mozilla Firefox
- Opera
- Safari
Правильно введите капчу. Используйте строчные и прописные буквы. Знаки препинания и пробелы можно не вводить.
Примечание. Как убрать капчу в Wordstat, читайте в справке Директа.
Иногда подтверждения «Я не робот» недостаточно, чтобы отличить реального человека от программы. Мы постоянно работаем над улучшением алгоритмов, но иногда просим пройти дополнительную проверку.
В этом случае, чтобы вернуться на страницу сервиса, введите символы, которые вы видите на картинке капчи, и нажмите Отправить.
Используйте строчные и прописные буквы. Знаки препинания и пробелы можно игнорировать.
Чтобы сменить картинку капчи, нажмите значок .
Вместо символов с картинки можно ввести цифры из звуковой капчи:
Нажмите значок .
Прослушайте сообщение.
Введите услышанные цифры в поле ввода под картинкой капчи.
Нажмите Отправить.
Внимание. Яндекс запрашивает только символы с картинки и никогда не просит указать номер телефона, отправить SMS или заново ввести логин и пароль. Если вы столкнулись с подобными требованиями — вы попали на поддельную страницу. Сообщите нам об этом через форму обратной связи.
Если символы введены верно, Яндекс запомнит ваш браузер как проверенный (при условии, что файлы cookie сохраняются в вашем браузере постоянно).
Если вам необходимо совершать именно автоматические запросы к Яндексу, воспользуйтесь сервисом Яндекс XML.
Если вы долгое время не можете вернуться к сервису из-за дополнительных проверок, напишите об этом в cлужбу поддержки.
Если после выбора опции «Я не робот» картинка капчи не появилась, посмотрите, виден ли логотип Яндекса в левом верхнем углу страницы:
Включите показ картинок:
Яндекс Браузер
Google Chrome
Mozilla Firefox
Opera
Safari
Очистите кеш браузера.
Перезагрузите страницу, чтобы убедиться, что проблема решена.
Отключите на время все расширения в вашем браузере:
Яндекс Браузер
Microsoft Edge
Google Chrome
Mozilla Firefox
Opera
Safari
Если картинка капчи появилась, методом перебора найдите расширение, которое ее блокирует.
Отключите расширение. Вы можете также написать его разработчикам о проблеме.
Очистите кеш, чтобы в браузер не подгружалась ранее сохраненная копия с блокированными картинками.
Перезагрузите страницу, чтобы убедиться, что проблема решена.
Не виден
Возможно, браузер блокирует отображение всех картинок:
Виден
Некоторые расширения (например, блокировщик рекламы) ограничивают показ содержимого страниц, в том числе картинки капчи. Попробуйте найти блокирующее расширение методом перебора и отключите его:
Если вы видите на картинке капчи неразборчивые символы:
Нажмите значок , чтобы сменить картинку капчи.
Воспользуйтесь звуковой капчей вместо обычной.
Используйте один из способов:
Введите символы с помощью виртуальной клавиатуры (например, translit.ru).
Перейдите на страницу сервиса Яндекса в доменной зоне
.com
(например, yandex.com), где отображается капча с латинскими символами.
Вопрос о капчеДругой вопрос о сервисах Яндекса
Пожалуйста, обратитесь в службу поддержки этого сервиса напрямую. Для этого воспользуйтесь формой обратной связи в Справке этого сервиса (обычно формы расположены внизу страниц или доступны из оглавления). Так ваше сообщение сразу попадет к нужным специалистам, и вам ответят быстрее.
Чтобы сообщить о проблеме с вашим сайтом, перейдите в раздел Обратная связь справки Яндекс Вебмастера.
Обход Yandex Captcha с помощью API сервиса по решению капч 2Captcha
Процесс решения обычной капчи заключается в следующем: мы забираем изображение капчи со страницы ее размещения и передаем в сервис 2Captcha, где ее решает работник, после чего нам возвращается ответ, который необходимо ввести в соответствующее поле для решения капчи
API демонстрацияКак решитьПроцесс решения текстовой капчи заключается в следующем: мы забираем текстовый вопрос капчи со страницы ее размещения и передаем в сервис 2Captcha, где ее решает работник, после чего нам возвращается ответ, который необходимо ввести в соответствующее поле для решения капчи
API демонстрацияКак решитьПроцесс решения заключается в следующем: мы забираем изображение капчи со страницы ее размещения и инструкцию, по каким картинкам необходимо кликать и передаем в сервис 2Captcha, где ее решает работник, после чего нам возвращается ответ в виде набора координат точек на изображении, по которым необходимо кликнуть для решения капчи
API демонстрацияКак решитьПроцесс решения Rotate Captcha заключается в следующем: мы забираем изображение капчи со страницы ее размещения и передаем в сервис 2Captcha, где ее решает работник, после чего нам возвращается ответ в виде значения угла поворота изображения, на который необходимо повернуть изображение для решения капчи
API демонстрацияКак решитьПроцесс решения reCAPTCHA V2 заключается в следующем: мы забираем параметры капчи, необходимые для ее решения в виде параметра data-sitekey и адреса страницы размещения капчи и передаем их в сервис 2Captcha, где ее решает работник, после чего нам возвращается ответ в виде токена, который необходимо ввести в соответствующее поле для решения капчи
API демонстрацияКак решитьПроцесс решения reCAPTCHA V2 Callback не отличается от аналогичного процесса решения reCAPTCHA V2: мы забираем параметры капчи, необходимые для ее решения в виде параметра data-sitekey и адреса страницы размещения капчи и передаем их в сервис 2Captcha, где ее решает работник, после чего нам возвращается ответ в виде токена, который необходимо ввести в соответствующее поле для решения капчи. Иногда вы не найдете кнопки, отправляющей форму. Вместо нее может использоваться callback-функция. Эта функция выполняется, когда капча распознана. Обычно callback-функция определена в параметре data-callback или как параметр callback у функции grecaptcha.render
API демонстрацияКак решитьПроцесс решения невидимой капчи reCAPTCHA V2 Invisible аналогичен распознаванию reCAPTCHA V2 и заключается в следующем: мы забираем параметры капчи, необходимые для ее решения в виде параметра data-sitekey и адреса страницы размещения капчи и передаем их в сервис 2Captcha, где ее решает работник, после чего нам возвращается ответ в виде токена, который необходимо ввести в соответствующее поле для решения капчи
API демонстрацияКак решитьПроцесс решения reCAPTCHA V3 следующий: мы забираем параметры капчи, необходимые для ее решения в виде параметра data-sitekey, параметра action и адреса страницы размещения капчи и передаем их в сервис 2Captcha, где ее решает работник с соответствующим рейтингом «человечности”, после чего нам возвращается ответ в виде токена, который необходимо ввести в соответствующее поле для решения капчи. Во многом новый вид капчи похож на reCAPTCHA V2, т.е. основной принцип остался тем же — пользователь получает от API 2Captcha токен, который отправляется в POST-запросе к сайту, а сайт верифицирует токен через API reCAPTCHA
API демонстрацияКак решитьПроцесс решения reCAPTCHA Enterprise заключается в следующем: определяем тип reCAPTCHA, он может быть V2 или V3, после чего мы забираем параметры капчи, необходимые для ее решения в виде параметра data-sitekey и адреса страницы размещения капчи и передаем их в сервис 2Captcha, где ее решает работник, после чего нам возвращается ответ в виде токена, который необходимо ввести в соответствующее поле для решения капчи
Как решитьПроцесс решения KeyCaptcha заключается в следующем: мы забираем набор необходимых параметров со страницы ее размещения и передаем в сервис 2Captcha, где ее решает работник, после чего нам возвращается ответ в виде набора уже других параметров, который необходимо передать в соответствующие поля для решения капчи
API демонстрацияКак решитьПроцесс решения GeeTest Captcha заключается в следующем: мы забираем набор необходимых параметров со страницы ее размещения и передаем в сервис 2Captcha, где ее решает работник, после чего нам возвращается ответ в виде набора уже других параметров, который необходимо передать в соответствующие поля для решения капчи
API демонстрацияКак решитьПроцесс решения заключается в следующем: мы забираем параметры капчи, необходимые для ее решения в виде параметра data-sitekey и адреса страницы размещения капчи 2Captcha и передаем их в сервис 2Captcha, где ее решает работник, после чего нам возвращается ответ в виде токена, который необходимо ввести в соответствующее поле для решения капчи
API демонстрацияКак решитьПроцесс решения FunCaptcha Arkose Labs заключается в следующем: мы забираем набор необходимых параметров со страницы ее размещения и передаем в сервис 2Captcha, где ее решает работник, после чего нам возвращается ответ в виде набора уже других параметров, который необходимо передать в соответствующие поля для решения капчи
Как решитьПроцесс решения Capy Puzzle Captcha заключается в следующем: мы забираем набор необходимых параметров со страницы ее размещения и передаем в сервис 2Captcha, где ее решает работник, после чего нам возвращается ответ в виде набора уже других параметров, который необходимо передать в соответствующие поля для решения капчи
Как решитьПроцесс решения TikTok Captcha основан на cookies, которые нужно использовать не позднее трех секунд после решения капчи нашими работниками. Необходимо собрать все cookies со страницы, где размещена капча, передать в сервис 2Captcha, где произойдет решение, а полученный в ответ набор cookies применить перед совершением действия, защищенного капчей на странице размещения капчи
Как решить«Яндекс» открыл российским компаниям свой сервис для борьбы с роботами и спамом
Продолжение сюжета от
Новости СМИ2
Новости
Новости
Анастасия Марьина
Руководитель новостного отдела RB.ru
Анастасия Марьина
Облачная платформа Yandex Cloud запустила сервис для верификации пользователей Yandex SmartCaptcha, ранее он использовался только в продуктах «Яндекса».
Компании смогут защитить сайт от роботов, фиктивных регистраций, спама и DDoS-атак, говорится в сообщении Yandex Cloud.
Анастасия Марьина
В настоящее время сервис тестируют 30 клиентов Yandex Cloud, внешним заказчикам SmartCaptcha доступна по запросу.
- Yandex SmartCaptcha борется с роботами, которые генерируют до 64% интернет-трафика на сайтах, при этом 39% из них — вредоносные.
- Алгоритмы машинного обучения (ML) сервиса защищают от DDoS-атак.
- Также ML-алгоритмы позволяют избежать падения трафика на сайте. Более 50% пользователей, как сообщается, не нужно будет тратить время на прохождение тестов «капчи», достаточно кликнуть «Я не робот». «Если же ML-алгоритм предложит ввести символы, то в 85% случаев человек с первого раза распознает текст, а для ботов задача останется сложной», — уверяют в Yandex Cloud.
- Отличие от аналогов: сервис можно кастомизировать на сайте любой компании. В частности, выбрать уровень сложности текста в «капче» — easy, medium, hard, настроить визуальный стиль, менять фон, рамки и метки в интерфейсе.
Фото на обложке: Viktar Dzindzikav / Shutterstock
Подписывайтесь на наш Telegram-канал, чтобы быть в курсе последних новостей и событий!
- Полезные сервисы
- Бизнес
- Облачные технологии
- Кибербезопасность
- Яндекс
Нашли опечатку? Выделите текст и нажмите Ctrl + Enter
Материалы по теме
- 1 3 совета от практика: как перейти на российское ПО и повысить качество разработки
- 2 5 шагов к безопасности: как компании предотвратить утечку данных через рассылочные программы
- 3 Уход зарубежных сервисов как окно возможностей для ИТ-бизнеса: на что обратить внимание?
- 4 Умные автоответчики — какой выбрать? Сравнение отечественных виртуальных помощников
- 5 Что вы знаете об облачных сервисах?
ВОЗМОЖНОСТИ
09 октября 2022
«Будущее авиации 2022»
09 октября 2022
«Программирование на Python»
09 октября 2022
«Программирование на C++»
Все ВОЗМОЖНОСТИ
Новости
ФАС проверит маркетплейсы и ритейлеров после жалоб о завышенных ценах на армейское снаряжение
Новости
Клиенты Сбербанка пожаловались на невоможность зайти на сайт и в приложение из-за границы
Колонки
Должен ли работодатель содействовать военкоматам при вручении повестки работнику?
Новости
Павел Дуров в очередной раз посоветовал пользователям «держаться подальше от WhatsApp»
Новости
Менеджеры пунктов выдачи пожаловались на новые штрафы Wildberries за бракованный товар
Сервис решения капчи Яндекса — Онлайн API распознавания и обхода капчи Яндекса
Процесс решения обычной капчи выглядит следующим образом: мы берем изображение капчи со страницы и отправляем в сервис 2Captcha, где сотрудник решает ее, вводя указанную текст, то нам возвращается ответ, который необходимо ввести в соответствующее поле для решения капчи
API demoКак решитьПроцесс решения текстовой капчи выглядит следующим образом: берем текст вопроса капчи со страницы ее постановка и передача в сервис 2Captcha, где она решается сотрудником, после чего нам возвращается ответ, который необходимо ввести в соответствующее поле для решения капчи
API demoКак решитьПроцесс решения следующий: берем изображение капчи со страницы ее размещения и инструкцию на какие картинки нажимать и передаем в сервис 2Captcha, где ее решает сотрудник, после чего ответ нам возвращается в виде набора координат точек, которые нам нужно нажать для решения капчи
API demoКак решитьПроцесс решения Rotate Captcha выглядит следующим образом: берем изображение или несколько изображений капчи со страницы ее размещения и передать в сервис 2Captcha, где ее решает сотрудник, после чего нам возвращается ответ в виде значения угла поворота изображения, нам нужно повернуть изображение на угол до решить капчу
API demoКак решитьПроцесс решения reCAPTCHA V2 выглядит следующим образом: мы берем параметры капчи со страницы в виде параметра data-sitekey и URL страницы и передаем в сервис 2Captcha, где ее решает сотрудник , то нам возвращается ответ в виде токена, который необходимо ввести в соответствующее поле для решения капчи
API demoКак решитьПроцесс решения reCAPTCHA V2 Callback не отличается от аналогичного процесса решения reCAPTCHA V2: берем параметры капчи со страницы в виде параметра data-sitekey и URL страницы и передаем в сервис 2Captcha, где ее решает сотрудник, далее нам возвращается ответ в виде токена, который мы должны быть введены в соответствующее поле для решения капчи. Иногда вы не найдете кнопку отправки формы. Вместо этого можно использовать функцию обратного вызова. Эта функция выполняется, когда капча распознана. Обычно функция обратного вызова определяется в параметре обратного вызова данных или в качестве параметра обратного вызова вызова метода grecaptcha.render
API demoКак решитьПроцесс решения reCAPTCHA V2 Invisible аналогичен распознаванию reCAPTCHA V2: берем параметры капчи со страницы в виде параметра data-sitekey и URL страницы и передаем в сервис 2Captcha , где ее решает сотрудник, после чего нам возвращается ответ в виде токена, который нам нужно ввести в соответствующее поле для решения капчи
API demoКак решитьПроцесс решения reCAPTCHA V3 выглядит следующим образом: берем параметры капчи со страницы в виде data-sitekey, action и URL страницы и передаем в сервис 2Captcha, где решается сотрудником с соответствующим рейтингом «гуманность», после чего идет ответ возвращается к нам в виде токена, который необходимо ввести в соответствующее поле для решения капчи. Во многом новый тип капчи аналогичен reCAPTCHA V2, т.е. основной принцип остается прежним — пользователь получает токен из API 2Captcha, который отправляется в POST-запросе на сайт, и сайт проверяет токен через API 2Captcha
API demoКак решитьПроцесс решения reCAPTCHA Enterprise выглядит следующим образом: определяем тип reCAPTCHA, это может быть V2 или V3, после чего берем изображение капчи со страницы ее размещения в виде данных- sitekey и передать его в сервис 2Captcha, где он решается сотрудником, после чего нам возвращается ответ в виде токена, который необходимо ввести в соответствующее поле для решения капчи
Как решитьПроцесс решения KeyCaptcha выглядит следующим образом: мы берем набор необходимых параметров со страницы его размещения и передаем в сервис 2Captcha, где сотрудник его решает, после чего нам возвращается ответ в виде набора других параметров, которые необходимо передать в соответствующие поля для решения капчи
API demoКак решитьПроцесс решения GeeTest Captcha выглядит следующим образом: мы берем набор необходимых параметров со страницы ее размещения и передаем в сервис 2Captcha, где ее решает сотрудник, после чего ответ возвращается на нам в виде набора уже других параметров, которые необходимо передать в соответствующие поля для решения капчи
API demoКак решитьПроцесс решения следующий: берем изображение капчи со страницы ее размещения и передаем ее в сервис 2Captcha, где ее решает сотрудник, после чего нам возвращается ответ в виде токена, который необходимо ввести в соответствующее поле для решения капчи
API demoКак решитьПроцесс решения FunCaptcha от Arkose Labs выглядит следующим образом: мы берем набор необходимых параметров со страницы ее размещения и передаем в сервис 2Captcha, где ее решает сотрудник, после чего выдается ответ возвращается к нам в виде набора уже других параметров, которые необходимо передать в соответствующие поля для решения капчи
Как решитьПроцесс решения Capy Puzzle Captcha выглядит следующим образом: берем набор необходимых параметров из страницу ее размещения и передать в сервис 2Captcha, где ее решает сотрудник, после чего ответ возвращается нам в виде набора уже других параметров, которые необходимо передать в соответствующие поля для решения капчи
Как решитьПроцесс решения капчи TikTok основан на файлах cookie, которые необходимо использовать не позднее, чем через три секунды после того, как наши сотрудники решат капчу. Необходимо собрать все куки со страницы, где размещена капча, передать ее в сервис 2Captcha, где будет происходить решение, и применить полученный в ответ набор куки, а затем выполнить действие, защищенное капчей, на странице
Как для решениякапчи. Справка
- Когда использовать
- Как настроить
- Пример правила
- Устранение неполадок
Капчи и правило Быстрые ответы обеспечивают высокий уровень защиты от роботов.
Для показа капчи Толокерам, установите частоту капчи в \n
Набор платных заданий, отправляемых на выполнение одновременно.
\n «}}»> настройки.
В Толоке обычно капча показывается раз в 10 заданий. Если ответы даются быстро и капчи мешают, их можно показывать через каждые 20 заданий.
Ограничить доступ к заданиям для Толокеров, которые несколько раз подряд не вводят капчу. Эта настройка необходима, если вы хотите обеспечить дополнительную защиту от роботов.
- Не использовать, если:
В пулах не очень много задач. Например, если задача — опрос на одной странице, капча не поможет контролировать качество, так как минимальная частота показа капчи — каждые 10 заданий.
Трудно или невозможно автоматизировать действия пользователя: выбор областей, выполнение полевых задач или любые задачи, где Толокеры должны прикреплять файлы или писать осмысленные тексты.
Внимание.
Поля If и Then в этом правиле являются обязательными. Если вы не заполните хотя бы одно поле, вы не сможете сохранить правило.
Филд | Обзор |
---|---|
Times CaptchAs для использования | |
. Если это поле не заполнено, в расчет включаются только записи капчи из пула, к которому применяется правило. Если поле заполнено, используется соответствующее количество вводов капчи. Правило учитывает ввод капчи как из этого пула, так и из других пулов, где заполнено это поле. Подробнее о том, как работает это поле. | |
If | Условие выполнения действия в поле then:
Чтобы добавить несколько условий, щелкните . |
затем | Действие для условия:
|
Так как человек тоже может ошибиться при вводе капчи, желательно добавить поле количество ответов и установить значение больше 1. В противном случае Толокер будет забанен после первого ввода капчи .
Внимание. Задания, присланные забаненными Толокерами, будут учитываться, если они не будут отклонены вручную с помощью просмотра заданий. Их можно переназначить, настроив правило Перевыполнение заданий от забаненных пользователей.
- Блокировка за неправильный ввод капчи
-
Если Толокер вводил капчу не менее 5 раз и процент правильных ответов меньше 65%, он банится и не может выполнять ваши задания 10 дней.
Толокер будет забанен после первого ввода капчи.
Рассчитать скилл для каждого пула отдельно. Текущее значение навыка — это значение навыка в пуле, который Толокер выполнил последним. Этот вариант удобен, если:
Пулы предназначены для разных групп Толокеров (например, есть фильтры по городам или странам).
Пулы запускаются один за другим, и вы не хотите учитывать ответы в предыдущих пулах для расчета навыка в текущем пуле.
Этот метод расчета используется по умолчанию при добавлении правила контроля качества в пул. Для блока контрольных задач оставьте поле Недавние ответы на контрольные задачи для использования пустым.
Вычислять навыки на основе всех задач в проекте Этот вариант удобен, если пулы малы и вам не нужно вычислять навыки для каждого пула.
Эта опция доступна только для навыков на контрольных задачах. Для его использования заполните поле Недавние ответы на контрольные задачи для использования в правилах контроля качества пула.
- Нет
- Не показывать капчи.
- Низкий
- Показывать капчу после каждых 20 заданий.
- Среднее/Высокое
- Показывать капчу после каждых 10 заданий.
- Нет
- Не показывать капчи.
- Низкий
- Показывать капчу после каждых 20 заданий.
- Среднее/Высокое
- Показывать капчу после каждых 10 заданий.
Должен ли я создавать навык для каждого пула?
Лучше использовать один\n
Оценка Толокера'качество выполнения задания по шкале от 0 до 100. Навык может рассчитываться автоматически (например, на основе правильных ответов на контрольные задания) или назначаться вручную. Учить больше.
\n «}}»> в проекте. Вы можете выбрать способ расчета скилла:
Могу ли я использовать навык за пределами определенного пула или проекта, а также применить его к другим проектам?
Да, конечно — вы можете использовать один и тот же навык для разных проектов. Но чаще всего навык предназначен для конкретного проекта. Если толокер хорошо справится с одним заданием, это не значит, что он успешно справится с другими. Еще один минус в том, что если вы будете фильтровать по навыкам, которые были установлены давно, вы искусственно ограничите количество доступных Толокеров.
Я установил правило банить пользователей после первой неверной капчи. Это необходимо для устранения любых ботов. Это слишком строго? Какое правило используется в большинстве проектов?
Действительно, это правило, наверное, слишком строгое. Даже самый осторожный пользователь может ошибиться, поэтому вы, вероятно, захотите ослабить правило. Помимо банов по запросам, у нас есть системные процессы, которые банят пользователей, которые регулярно не проходят проверку по капче в Толоке.
Можно ли контролировать частоту показа капчи Толокерам? Некоторых толокеров это немного демотивирует.
В пуле настраивается частота выдачи капчи.
Могу ли я получить более подробную информацию о передовых методах использования CAPTCHA? Для каких проектов лучше использовать капчи и как часто?
Captcha обычно используется в простых проектах с автоматическим принятием, таких как классификация, категоризация или поиск информации. Это те случаи, когда вариантов ответов мало и пользователям не нужно загружать файлы или писать тексты. Это поможет вам отфильтровать ботов и неаккуратных толокеров.
В пуле настраивается частота выдачи капчи.
Я нашел в справке следующие термины, связанные с капчей: «Процент правильных ответов» и «Процент неправильных ответов». Определяются ли они из контрольной пробы?
Процент правильных ответов основан на общем количестве капч, обработанных Толокером в «диапазоне», указанном в поле Последние ответы на контрольные задачи для использования. Если значение пусто, процент рассчитывается с использованием всех капч, показанных для задач в пуле, использующем правило капчи.
Была ли статья полезна?
Текстовая CAPTCHA в 2022 году / Хабр
Первая текстовая CAPTCHA (будем для краткости называть ее просто CAPTCHA) была использована в 1997 году поисковиком AltaVista. Это не позволяло ботам добавлять унифицированный указатель ресурсов (URL) в свою поисковую систему.
Тогда это была достойная мера защиты. Однако прогресс не остановить, и эту защиту удалось обойти с помощью доступного в то время OCR (например, FineReader).
CAPTCHA усложнилась, к ней добавились шумы и искажения, поэтому популярные OCR не смогли распознать этот текст. А потом появились OCR, сделанные специально для этой задачи. Атакующей стороне это стоило дополнительных денег и знаний. От разработчиков CAPTCHA требовалось понять, с какими проблемами столкнулись злоумышленники, какие искажения добавить, чтобы усложнить автоматизацию распознавания CAPTCHA.
Непонимание принципов, на которых основывались OCR, некоторым CAPTCHA давались такие искажения, что они доставляли больше хлопот обычному пользователю, чем машине.
OCR для разных типов CAPTCHA были сделаны с использованием эвристики, и самой сложной частью была сегментация CAPTCHA для символов, которые впоследствии могли быть легко распознаны CNN (например, LeNet-5), а также SVM показал хороший результат даже на необработанных пикселях.
В этой статье я постараюсь охватить всю историю распознавания CAPTCHA, от эвристики до современных автоматизированных систем распознавания. Разберемся, жива ли капча.
Я проверю yandex.com CAPTCHA. Русская версия той же CAPTCHA более сложная.
Примеры Yandex CAPTCHAПохоже, все, что нужно, это просто бинаризировать изображение (преобразовать его в черно-белое), и все готово, потому что часть сегментации выглядит достаточно просто.
Для снижения эффективности эвристических алгоритмов Яндекс сделал акцент на сложности бинаризации: есть капчи, у которых разный уровень бинаризации для разных частей изображения, и подбирать его нужно адаптивно.
Средняя CAPTCHA состоит из 14 символов. Если у нас есть классификатор с эффективностью 99%, и все изображения CAPTCHA сегментированы правильно, это даст нам 87% правильности для CAPTCHA из двух слов. Следует отметить, что сложность модели связана с количеством классов (буквы, цифры, знаки), используемых во всем наборе CAPTCHA – чем больше классов, тем сложнее задача добиться высокой эффективности распознавания отдельного символа. на базовой модели. Поэтому yandex.ru CAPTCHA более сложная — в ней используются как русские, так и английские слова.
Мы видим и недостатки CAPTCHA. Буквы будут легко сегментироваться после правильной бинаризации, также мы можем использовать проверку по словарю.
Вот описание алгоритма распознавания, а также наборы для обучения и обучения.
Этап сбора данных
Давайте загрузим несколько CAPTCHA и разделим их на обучающую и тестовую выборки.
Мы использовали VPN для загрузки изображений CAPTCHA с yandex.com. Когда я попытался создать учетную запись вручную с помощью браузера, система определила меня как бота. Вот почему я думаю, что у меня более сложные CAPTCHA, чем обычно. Цитирую: «На втором этапе, если мы все же думаем, что запрос подозрительный, но степень достоверности невысокая, мы показываем простейшую CAPTCHA. Когда мы думаем, что встретили робота, сложность может быть повышена. Просто и эффективно». Похоже, тип браузера не повлиял на результат (Opera, Chrome, Edge). Всего мы получили 4847 CAPTCHA в обучающем наборе и 354 CAPTCHA в тестовом наборе. Мы потратили несколько долларов на их распознавание с помощью сервиса decaptcher.com.
Алгоритм эвристического распознавания
Алгоритм состоит из нескольких шагов, это бинаризация, очистка от шума, извлечение двух слов. А при необходимости — нормализовать наклон каждого слова. С последующей сегментацией и распознаванием.
1. Бинаризация изображения – преобразование цветного изображения или изображения в оттенках серого в черно-белое изображение. В результате получаем фон (0) и объект (1) с шумоподавлением. Алгоритмы бинаризации будут описаны в конце. Далее мы получим параметры для каждого этапа, мы их оптимизируем позже. С этого момента мы имеем дело только с бинаризованными изображениями.
2. Очистка бинаризованного изображения от шумов. Мы будем извлекать соединенные части изображения — это наши объекты. Далее в зависимости от количества пикселей в объекте мы разделим их на объект и шум.
3. Извлечение двух слов из изображения. Пробел между двумя словами находится примерно в центре изображения. Точное число мы найдем с помощью окна размера X, это будет еще один параметр оптимизации. Далее мы получим горизонтальную гистограмму яркости в этом окне. Мы будем использовать еще одно значение — порог, который будет определять, является ли это пространством или объектом в столбце. Максимальное количество пробелов подряд будет означать, что мы нашли место разделения двух слов.
В этой процедуре нам нужно выбрать два параметра — оптимальную ширину окна и порог.4. Нормализация наклона (для капчи нужна). Чтобы получить более высокую точность распознавания букв, нам потребуется нормализовать наклон в некоторых CAPTCHA. Для этого воспользуемся морфологической операцией замыкания, и получим один объект. Мы определяем ориентацию этого объекта, то есть угол между осью X и главной осью эллипса, в который вписан объект.
Примеры шагов нормализации наклона5. Сегментация. На данный момент у нас есть изображения двух слов, теперь нам нужно разбить их на отдельные буквы для последующего распознавания. В нашем случае буквы не пересекаются, мы можем извлечь из изображения связанные области. Это будут необходимые символы, которые мы можем использовать для распознавания.
6. Распознавание символов. Для распознавания символов я использовал сверточную сеть Ленет-5. В этом случае будет 26 классов, в исходном было 10. Для предварительного обучения я создал набор из 52 000 изображений букв (2 000 на класс), выбрал несколько типов шрифтов, добавил различные искажения и обучил сверточные сеть. Подбирая параметры для бинаризации и сегментации, мы получаем набор для обучения классификатора. Этот набор будет использоваться на втором и последующих шагах обучения классификатора. Первый шаг обучения был сделан с синтетически сгенерированными символами. Процесс повторяется, всего я собрал 47 000 изображений букв. Классы были распределены неравномерно, но это было ожидаемо, потому что в CAPTCHA использовались общие слова, а не случайно сгенерированные строки. В финальном классификаторе было 9Точность 8,48%.
Вот результаты распознавания в зависимости от подхода к бинаризации. Вначале я использовал единый порог бинаризации для всех CAPTCHA. Порог был выбран на тренировочном наборе, такой подход дал мне точность 15% на тренировочном наборе и 15% на тестовом наборе.
Использование метода Otsu дало точность 13,6% на тренировочном наборе и 12,25% на тестовом наборе.
Метод бинаризации Саувола дал точность 26,01% на тренировочном наборе и 25,8% на тестовом наборе.
Выяснив, что CAPTCHA можно разделить на группы в зависимости от их фона, давайте приступим к кластеризации. Функции будут извлечены с использованием метода зонирования. Это означает, что мы разделим изображение на несколько непересекающихся областей заданного размера, а затем извлечем среднюю яркость каждой области. Чем меньше размер окна, тем точнее описание изображения. Для разделения мы будем использовать метод K-средних. Классические методы определения оптимального количества кластеров давали 2 кластера. Опытным путем число кластеров было выбрано равным 5. Кластеры имеют следующий вид: 1 – 842 изображения, 2 – 1300 изображений, 3 – 1237 изображений, 4 – 770 изображений, 5 – 69 изображений.8 изображений. Для каждого из этих кластеров нужно подобрать свои параметры бинаризации алгоритма Саувола на обучающей выборке.
На данный момент мы получили правильное бинарные CAPTCHA. Мы можем попробовать более серьезный подход к бинаризации, такой как U-Net, сеть с более чем 13,5 миллионами параметров. Таким образом, мы получаем 39Точность 0,2% на тренировочном наборе и 38,7% на тестовом наборе.
Итак, как насчет полностью автоматизированного процесса создания модели распознавания, который не включает эвристику? У нас есть только CAPTCHA с соответствующими ответами на входе и модель OCR на выходе. Недавно сайт библиотеки Keras опубликовал исходники, которые с небольшими изменениями можно использовать для распознавания любой текстовой CAPTCHA. https://keras.io/examples/vision/captcha_ocr/
При таком подходе мы получаем точность обучающей выборки 55%, а 39% точности на тестовом наборе. Произошла переобучение из-за небольшого размера обучающей выборки для такой большой сети. Однако при правильно подобранных параметрах регуляризации сеть успешно обучалась. Если мы увеличим тренировочный набор, добавив несколько отраженных изображений, мы получим точность 58% на тренировочном наборе и точность 43% на тестовом наборе. Увеличение размера обучающей выборки за счет добавления новых CAPTCHA повышает точность.
Сеть часто допускает ошибки на CAPTCHA следующего типа:
Примеры CAPTCHA, где сеть выдает ошибкиЭто согласуется с тем, что авторы Яндекс CAPTCHA указывают в своей статье: «Самые сложные наборы данных с распознаваемыми словами в настоящее время — это сильно искаженные тексты (распознавание неправильного текста)». Однако в нашем конкретном случае это скорее архитектурное ограничение сети. Функции, которые мы получили после слоев CNN, распознаются слоем lstm последовательно слева направо, замечая, что в некоторых разрезах может быть несколько символов. Это можно легко продемонстрировать, создав набор следующих CAPTCHA (см. рис. 1) из 10 000 обучающих наборов и 1000 тестов. Когда сеть обучена, мы получаем всего 20% правильных ответов и 80% неправильных.
Рисунок 1Однако если синтезировать CAPTCHA, записывая текст в одну строку и добавляя искажения, тем самым усложняя его (см. рис.2), то мы получаем 97% правильных ответов и 3% неправильных.
Рисунок 2Для увеличения количества правильно распознаваемых CAPTCHA от Яндекса можно использовать детектор текста, с последующей нормализацией наклона и затем распознаванием нейросетью. Это примеры сложных CAPTCHA с детектором текста (рис.3).
Рисунок 3С детектором текста мы получаем точность 60% на обучающем наборе и 51% на тестовом наборе. Я использовал синтетически предварительно обученный детектор текста под названием CRAFT: знание области символов для обнаружения текста. А распознаванием отдельных слов занималась сеть, обученная на капчах Яндекса.
Разработчики Яндекса при разработке CAPTCHA решали две задачи: сделать возможное распознавание менее эффективным и сделать CAPTCHA удобной для пользователя.