Опубліковано реліз системи оптичного розпізнавання тексту Tesseract 5.2, що підтримує розпізнавання символів UTF-8 та текстів більш ніж на 100 мовах, включаючи російську, казахську, білоруську та українську. Результат може зберігатись як відкритим текстом, так і у форматах HTML (hOCR), ALTO (XML), PDF та TSV. Спочатку система була створена в 1985-1995 роках в лабораторії компанії Hewlett Packard, в 2005 код був відкритий під ліцензією Apache і надалі розвивався за участю працівників компанії Google. Вихідні тексти проекту розповсюджуються за ліцензією Apache 2.0.
Tesseract включає консольну утиліту та бібліотеку libtesseract для вбудовування функцій розпізнавання тексту в інші додатки. З сторонніх GUI-інтерфейсів, що підтримують Tesseract, можна відзначити 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 та систем безперервної інтеграції.
Джерело: opennet.ru