Опубліковано реліз системи оптичного розпізнавання тексту Tesseract 5.0
Опубліковано випуск системи оптичного розпізнавання символів Tesseract 5.0
Tesseract 5.0 підтримує розпізнавання символів UTF-8 і розпізнавання тексту більш ніж на 100 мовах, включаючи російську, казахську, білоруську та українську. Результат можна зберегти як у звичайному тексті, так і у форматах HTML (hOCR), ALTO (XML), PDF та TSV. Спочатку система створювалася в 1985-1995 роках в лабораторії компанії Hewlett Packard, в 2005 році код був відкритий під ліцензією Apache і надалі розвивався за участю співробітників Google. Вихідний код проекту поширюється під ліцензією Apache 2.0.
Tesseract включає в себе консольну утиліту і бібліотеку libtesseract для вбудовування функцій розпізнавання в інші додатки. Зі сторонніх інтерфейсів графічного інтерфейсу , що підтримують 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 і безкоштовні дзвінки були замінені на код C++. Проведена загальна модернізація коду.
- Додані оптимізації для архітектур arm і ARM64, інструкції ARM NEON використовуються для прискорення обчислень. Проведено оптимізацію продуктивності, загальну для всіх архітектур.
- Впроваджено нові режими навчання моделей і розпізнавання тексту, засновані на використанні обчислень з плаваючою комою. Нові режими характеризуються більш високою продуктивністю і зниженим споживанням пам'яті. У двигуні LSTM за замовчуванням включений швидкий режим float32.
- Здійснено перехід до використання нормалізації Юнікоду за допомогою форми NFC (Normalize Form Canonical).
- Додана опція налаштування даних журналу (--loglevel).
- Система збірки на базі Autotools була перероблена, яка була переведена в нерекурсивну збірку.
- «Хазяйська» гілка в Гіт була перейменована в «головну».
- Додана підтримка нових випусків macOS і систем Apple на базі чіпа M1.
