02.07.2022

Релиз системы распознавания текста Tesseract 5.0

Опубликован релиз системы оптического распознавания текста Tesseract 4.1, поддерживающей распознавание символов UTF-8 и текстов на более чем 100 языках, включая русский, казахский, белорусский и украинский. Результат может сохраняться как открытым текстом, так и в форматах HTML (hOCR), ALTO (XML), PDF и TSV. Изначально система была создана в 1985-1995 годах в лаборатории компании Hewlett Packard, в 2005 году код был открыт под лицензией Apache и в дальнейшем развивался при участии работников компании Google. Исходные тексты проекта распространяются под лицензией Apache 2.0.

Tesseract включает в себя консольную утилиту и библиотеку libtesseract для встраивания функций распознавания текста в другие приложения. Из поддерживающих Tesseract сторонних GUI-интерфейсов можно отметить gImageReader, VietOCR и YAGF. Предлагается два движка распознавания: классический, распознающий текст на уровне шаблонов отдельных символов, и новый, базирующийся на применении системы машинного обучения на базе рекуррентной нейронной сети LSTM, оптимизированной для распознавания целиком строк и позволяющей добиться существенного увеличения точности. Готовые натренированные модели опубликованы для 123 языков. Для оптимизации производительности предлагаются модули, использующие OpenMP и SIMD-инструкций AVX2, AVX, NEON или SSE4.1.

Основные улучшения в Tesseract 4.1:

  • Значительное изменение номера версии связано с внесением в API изменений, нарушающих совместимость. В частности, публично доступный API libtesseract больше не привязан к проприетарным типам данных GenericVector и STRING, вместо которых в коде задействованы std::string и std::vector.
  • Проведена реорганизация дерева исходных текстов. Публичные заголовочные файлы перемещены в каталог include/tesseract.
  • Переработано управление памятью, все вызовы malloc и free заменены на код C++. Проведена общая модернизация кода.
  • Добавлены оптимизации для архитектур ARM и ARM64, для ускорения вычислений задействованы инструкции ARM NEON. Проведена общая для всех архитектур оптимизация производительности.
  • Реализованы новые режимы тренировки моделей и распознавания текста, основанные на использовании вычислений с плавающей запятой. Новые режимы отличаются более высокой производительностью и снижением потребления памяти. В движке LSTM быстрый режим float32 включён по умолчанию.
  • Осуществлён переход на использование нормализации Unicode с использованием формы NFC (Normalization Form Canonical).
  • Добавлена опция для настройки детализации логов (—loglevel).
  • Переработана система сборки на основе Autotools, которая переведена на сборку в нерекурсивном режиме.
  • Ветка «master» в Git переименована в «main».
  • Добавлена поддержка новых выпусков macOS и систем Apple на базе чипа M1.

Источник.