Клиенту требовалась универсальная система, способная обрабатывать документы в формате PDF, PNG, JPG и других изображений, распознавать текст и конвертировать его в структурированный Markdown-формат. Главной задачей было обеспечить высокую точность распознавания текста, корректную структуру (заголовки, списки, таблицы) и масштабируемость решения для дальнейшего применения в автоматизированных документационных процессах.
Также клиент хотел получить анализ существующих решений (готовых OCR-систем и библиотек) с точки зрения качества, производительности и возможности кастомизации.
Мы начали с детального анализа существующих решений. Были протестированы варианты с различными языковыми моделями и подходами к предобработке изображений (удаление шумов, выравнивание, коррекция перспективы).
После анализа мы спроектировали end-to-end пайплайн, включающий следующие этапы:
1. Загрузка и декомпозиция входного файла (PDF, PNG и др.);
2. Предобработка изображений;
3. Распознавание текста и других элементов;
4. Постобработка: исправление ошибок, восстановление структуры текста;
5. Генерация Markdown-документа с сохранением логической структуры (заголовки, абзацы, списки, таблицы).
Технологический стек: Python, FastAPI, RabbitMQ, PyTorch, Tesseract, PaddleOCR
Создана гибкая OCR-система, способная автоматически обрабатывать документы разных типов и форматов, распознавать текст с высокой точностью и конвертировать его в читабельный .md-файл.
Система успешно внедрена в рабочий процесс клиента, используется для автоматической цифровки технической документации и конвертации старых сканов в современный формат хранения. Также предусмотрена возможность масштабирования под другие форматы вывода (HTML, DOCX).