Опубликован релиз системы оптического распознавания текста Tesseract 5.2, поддерживающей распознавание символов 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, AVX512F, NEON или SSE4.1.
Основные улучшения в Tesseract 5.2:
- Добавлены оптимизации, реализованные с использованием инструкций Intel AVX512F.
- В C API реализована функция для инициализации tesseract с загрузкой из памяти модели машинного обучения.
- Добавлен параметр invert_threshold, определяющий уровень инвертирования текстовых строк. По умолчанию выставлено значение 0.7. Для отключения инвертирования следует выставить значение 0.
- Налажена обработка очень больших документов на 32-разрядных хостах.
- Осуществлён переход с использования функций std::regex на std::string.
- Улучшены сборочные сценарии для Autotools, CMake и систем непрерывной интеграции.