Реліз системи розпізнавання тексту 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 для вбудовування функцій розпізнавання тексту в інші додатки. З сторонніх GUI-інтерфейсів, що підтримують Tesseract, можна відзначити gImageReader, VietOCR і YAGF. Пропонується два движки розпізнавання: класичний, що розпізнає текст на рівні шаблонів окремих символів, і новий, що базується на застосуванні системи машинного навчання на базі нейронної рекурентної мережі LSTM, оптимізованої для розпізнавання цілком рядків і дозволяє домогтися істотного збільшення точності. Готові натреновані моделі опубліковані для 123 мов. Для оптимізації продуктивності пропонуються модулі, які використовують OpenMP та SIMD-інструкцій AVX2, AVX, NEON або SSE4.1.

Основні покращення в Tesseract 5.0:

  • Значна зміна номера версії пов'язана з внесенням до 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.

    Джерело: opennet.ru

Додати коментар або відгук