OCR для текстовых капч: где ломается точность и как не сжечь CPU впустую
OCR-библиотека сама по себе редко даёт стабильный разбор. Рабочая схема начинается не с распознавания, а с подготовки кадра: бинаризация, удаление шума, выравнивание контраста, нормализация размера. Если капча рваная, с сеткой и антиалиасингом, без pre-processing модель начинает путать похожие символы и теряет хвосты строк.
Дальше важна сегментация. Если движок плохо режет символы, лучше подавать весь текст целиком, чем делать кривой split по буквам. Для теста сравнивают два режима: одиночный проход по изображению и постсимвольный разбор. На простых капчах выигрывает первый, на разреженных и с сильным кернингом — второй, но только при чистых контурах.
Критичный фильтр — whitelist. Если в ответе допустимы только цифры или латиница, задавайте ограничение сразу, иначе OCR тратит время на лишние классы и даёт мусорные замены. Ещё один практический момент: логируйте confidence по каждому символу, а не только итоговую строку. Низкий confidence в одной позиции лучше отправлять на повторный прогон с другим pre-processing.
Снижаем косты на распознавание: сначала отбираем капчи с лучшим качеством входа, потом гоняем OCR с несколькими пайплайнами и оставляем вариант с максимальной уверенностью. Так стабильность выше, а пустые циклы на заведомо плохих картинках почти исчезают.
Анти-капча стек
@anti_captcha_stack_ubt
OCR для текстовых капч: где ломается точность и как не сжечь CPU впустую
Этот пост опубликован в Telegram-канале Анти-капча стек. Подписаться можно по ссылке: @anti_captcha_stack_ubt.