Как автоматизировать распознавание текста с изображений?
В открытых источниках часто встречаются изображения с ценным текстом — скриншоты рабочих столов и приложений, фотографии таблиц, чеков, рукописных заметок и т.д. Сбор обычного текста автоматизировать легко, но с текстом на картинках начинаются сложности.
Раньше в моём арсенале был только pytesseract (Python-библиотека для распознавания текста). Она работала, но с серьёзными ограничениями: ➖Плохо справлялась с разными шрифтами ➖Теряла точность на низкокачественных изображениях ➖Путала языки, если текст был мультиязычным
Сейчас появились LLM-модели, которые справляются с этой задачей гораздо лучше, но если у вас нет мощного железа, запустить их локально не получится.
В профильных каналах регулярно пишут: «Вышла модель Х, которая показывает отличные результаты. OSINT-еры больше не нужны!», но никто не дает гайдов, как с этими моделями работать. Сегодня я это исправлю.
Обзор моделей для OCR Прошерстив не один десяток источников, я выделил две наиболее популярные на текущий момент модели: 1️⃣ GPT-4 mini — высокая точность, но платная. 2️⃣ Google Gemini 2.0 Flash — высокая точность + бесплатный лимит.
Выбор без раздумий пал на Gemini. На момент публикации бесплатные лимиты от Google следующие: ✔️ 15 запросов в минуту ✔️ 1 млн токенов в минуту (ввод + вывод) ✔️ 1 500 запросов в сутки
Как взаимодействовать с Gemini? 1️⃣ Получаем API-ключ в Google AI Studio 2️⃣ Через API отправляем изображение в base64 + промпт 3️⃣ Получаем распознанный текст в ответе
Но есть важный нюанс: сервис не работает с российскими IP
Что делать, если Gemini недоступна? Если у вас по какой-то причине нет возможности получить доступ к серверам Google AI Studio, то можно воспользоваться сервисами, которые предоставляют доступ к различным open-source моделям. Например, DeepInfra. Плюсы: ✔️ Нет блокировок по геолокации ✔️ Гибкая тарификация Минусы: ✖️ Нет бесплатного тарифа