Tesseract OCR или Indra OCR: 30 МБ ИИ-OCR работает в 15 раз быстрее на CPU — обзор и установка
Компактный 30 МБ OCR-инструмент работает на CPU без GPU и заявляет 49 страниц в секунду. Разбираем установку, пайплайн и тесты на научных статьях.
21 октября 2026
Indra OCR, по заявлению разработчиков команды Data Science AI, распознает сложные документы с плотной версткой, не уступая более тяжелым конвейерам компьютерного зрения. Модель содержит 1,25 млн параметров и занимает файл размером 30 МБ. По заявленным данным, на современном многоядерном процессоре она обрабатывает 49 страниц в секунду. Модель работает локально, без выделенной видеопамяти GPU (0 МБ).
В тесте использовались три задачи с реальными документами: научная статья с описанием механизма внимания (attention), статья с архитектурной диаграммой и изображение с таблицей результатов бенчмарка. Все вычисления выполнялись на CPU.
Конвейер обработки
Обработка документа проходит четыре этапа:
- Определение ориентации. Модель определяет ориентацию страницы и исправляет наклон изображения до 45°. Выравнивание выполняется до начала извлечения текста.
- Сегментация макета. Модель разделяет заголовки, абзацы и таблицы и вычисляет точные ограничивающие рамки (bounding boxes) для каждой зоны.
- Определение письменности. Модель определяет тип письменности в каждой строке динамически. По заявлению разработчиков, она распознает латиницу, арабскую письменность и другие языки мира.
- Формирование результата. Распознанные сегменты собираются в естественном порядке чтения. На выходе формируются JSON-файлы и таблицы в формате Markdown.
Установка
Модель устанавливается через официальную библиотеку Hugging Face командой pip install. Установка выполнялась в среде Google Colab. После установки команда справки подтвердила доступность всех опций инструмента.
Запуск и конфигурация
Тестовый проект состоит из основного файла Python и конфигурационного файла. В конфигурации задаются:
- имена входных файлов;
- имена выходных файлов и требуемые форматы;
- количество потоков CPU, которое будет использовать модель.
Основной файл загружает модель из пакета Indra OCR и передает ее в три функции, каждая из которых выполняет отдельную задачу. Функции используют модуль convert для обработки входных изображений.
При значении 4 в конфигурации модель запускает четыре параллельных конвейера, которые выполняют задачи одновременно. Для снижения нагрузки на процессор количество потоков уменьшают в конфигурационном файле.
Запуск проекта выполняется командой python main.py. Модель также поддерживает работу из командной строки. Команда с указанием одного файла запускает полный конвейер и выдает структурированный отчет в Markdown. Дополнительно можно задать папку для результатов и формат выходного файла. Команда запуска локального веб-интерфейса OCR-просмотрщика открывает визуализацию распознавания в браузере.
Тестирование
Задача 1: SVG-визуализация статьи «Attention Is All You Need»
Модель обработала статью «Attention Is All You Need» и построила визуальный SVG-файл. В результате извлечены:
- математические формулы;
- подписи диаграмм;
- таблицы с цветовым выделением разных категорий сложности.
Элементы расположены в том же порядке, что и в исходной статье.
Обработка 15-страничного документа заняла 0,2 секунды. Модель также сформировала JSON-отчет. В отчете указаны устройство (CPU), число параллельных потоков (4) и отсутствие использования видеопамяти. JSON содержит структурированные данные по формулам, рисункам, абзацам и строкам таблиц.
Задача 2: Структурированный Markdown-отчет
Во второй задаче модель обработала ту же статью и выполнила следующее:
- определила ориентацию страницы: 0°, поскольку документ является научной статьей;
- выделила все текстовые блоки, включая абзацы аннотации;
- сохранила порядок чтения сверху вниз и слева направо;
- передала формулы в формате LaTeX;
- передала таблицы в виде строк Markdown-таблицы.
Заголовки и колонтитулы страниц были автоматически выделены и отделены от основного текста. Структура таблиц сохранена: заголовки столбцов, математические формулы и границы строк.
Задача 3: Извлечение таблицы бенчмарка
В третьей задаче модель извлекла таблицу результатов бенчмарка и сохранила ее в JSON. Данные разделены по словарям для каждой модели: Indra OCR, PaddleOCR и Tesseract. Для каждого словаря заданы отдельные ключи.
Вторая таблица содержит архитектуры трансформеров с указанием стоимости обучения и достигнутой точности.
По данным из таблицы, Indra OCR работает в 23 раза быстрее Tesseract и в 15 раз быстрее PaddleOCR. Модель занимает 38 МБ и не использует видеопамять GPU.
Результаты бенчмарков
По официальным данным разработчиков:
| Режим | Показатель | Значение |
|---|---|---|
| Автоматический | Общий балл (headline score) | 66,7 |
| Автоматический | Оценка макета (layout rating) | 92,2 |
| Автоматический | Время обработки теста из 3000 страниц | 0,2 с |
| С флагом математики | Общий балл | 71,4 |
| С флагом математики | Задержка | менее 400 мс |
По заявлению разработчиков, в тесте OmniPage Match модель набрала 71,4%, что выше показателей более тяжелых альтернатив в распознавании математических выражений.
Флаг математики добавляет распознавание уравнений и сохраняет задержку ниже 400 миллисекунд.
По данным разработчиков, для PaddleOCR и Tesseract время выполнения составило порядка 41 и 5 секунд.
Дополнительные характеристики:
- Координаты: модель возвращает точные координаты пикселей для каждой строки текста.
- Языки: поддерживается более 80 систем письма, включая несколько языков на одной странице.
- Цифровые PDF: текст, встроенный в PDF, извлекается за 1 миллисекунду. Нейросетевая обработка применяется только к встроенным сканированным изображениям.
Ограничения
- Таблицы без границ. В сложных таблицах без границ и с многострочными ячейками модель может ошибочно выравнивать координаты строк. Модель лучше подходит для таблиц с четкими границами.
- Рукописный текст. При распознавании курсивного рукописного текста точность снижается до 25%. Для низкокачественных изображений и рукописных текстов требуются специализированные модели компьютерного зрения.
Выводы
Основные преимущества Indra OCR по результатам теста:
- работа полностью на CPU без GPU;
- выдача ограничивающих рамок и порядка чтения, что исключает необходимость в дополнительной постобработке.
Модель, по результатам теста, подходит для счетов, квитанций и структурированных деловых документов с четкими таблицами. Для таких документов модель сочетает высокую скорость, точность и низкую вычислительную стоимость.
Введение и ключевые заявления
Введение в инструмент, его заявленные преимущества и быстрый обзор характеристик.
- Модель имеет около 1,25 млн параметров и размер файла 30 МБ
- Заявленная скорость обработки — 49 страниц в секунду на многоядерном CPU
- Инструмент работает без выделенной GPU-памяти (0 МБ)
- На бенчмарке OmniPage Match результат 71,4%
Установка
Установка через официальную библиотеку Hugging Face командой pip install, затем проверка через команду help.
- Установка выполняется через pip install из официальной библиотеки Hugging Face
- Установка проверяется командой help, которая показывает доступные опции
- Тестирование проводилось в Google Colab
Архитектура пайплайна
Пайплайн из четырёх этапов: ориентация, сегментация макета, определение языка и сборка текста.
- Этап 1: определение ориентации страницы, поддержка наклона до 45° с автоповоротом
- Этап 2: сегментация макета на заголовки, абзацы и таблицы с расчётом bounding boxes
- Этап 3: динамическая проверка письменности, поддержка латиницы, арабского и других языков
- Этап 4: сборка текста в естественном порядке чтения и вывод в JSON и Markdown-таблицы
Настройка задач и запуск
Настройка трёх задач, конфигурационного файла, количества потоков и запуск через main.py либо CLI.
- Задача 1: чтение статьи об attention-механизме и построение SVG
- Задача 2: извлечение структуры статьи с диаграммой и формулами в Markdown
- Задача 3: извлечение бенчмарк-таблицы в JSON
- Входные и выходные файлы задаются в конфигурационном файле
- Количество потоков CPU задаётся в конфиге; например, 4 потока означают 4 параллельных конвейера
- Запуск: python main.py; также доступен CLI с выбором папки вывода, формата и веб-интерфейса OCR viewer
Бенчмарки и производительность
Разбор официальных бенчмарков и заявленных преимуществ по скорости и точности.
- Авторежим: 66,7 headline score и 92,2 layout rating
- С математическим флагом headline score 71,4, задержка менее 400 мс
- Заявлено обработка 3000 страниц за 0,2 секунды
- Конкуренты (Paddle OCR и Google Tesseract) по времени: около 41–5 секунд (в субтитрах неточно указано)
- Поддержка более 80 систем письма и нескольких языков на одной странице
- Цифровые PDF с встроенным текстом извлекаются за 1 миллисекунду
Результаты тестов
Результаты трёх тестов: SVG по статье, Markdown-отчёт и JSON-таблица бенчмарка, а также замеры скорости.
- Задача 1: SVG-изображение статьи «Attention Is All You Need» с формулами, подписями диаграмм и цветовым кодированием таблиц, обработка за 0,2 секунды для 15 страниц
- Задача 1 также дала JSON с формулами, рисунками, абзацами и строками таблиц; устройство — CPU с 4 потоками
- Задача 2: Markdown-отчёт с ориентацией 0°, абзацами аннотации, формулами в LaTeX и таблицами; верхние колонтитулы и номера страниц отделены
- Задача 3: JSON с таблицами сравнения OCR-систем, архитектур трансформеров с затратами на обучение и точностью
- Ускорение относительно Tesseract — в 23 раза, относительно Paddle OCR — в 15 раз; footprint 38 МБ без GPU
Плюсы, минусы и рекомендации
Сильные и слабые стороны инструмента и рекомендации по применению.
- Главное преимущество — полная работа без GPU и выдача bounding boxes и порядка чтения без дополнительной постобработки
- Ограничение: на безграничных таблицах с многострочными ячейками возможно смещение строк
- Точность на рукописном курсиве падает до 25%, для таких задач нужны специализированные vision-модели
- Рекомендуется для счетов-фактур, чеков и структурированных деловых документов с таблицами с границами
