Sortie du système de reconnaissance de texte Tesseract 5.0

La version du système de reconnaissance optique de texte Tesseract 4.1 a été publiée, prenant en charge la reconnaissance des caractères et des textes UTF-8 dans plus de 100 langues, dont le russe, le kazakh, le biélorusse et l'ukrainien. Le résultat peut être enregistré en texte brut ou aux formats HTML (hOCR), ALTO (XML), PDF et TSV. Le système a été créé à l'origine en 1985-1995 dans le laboratoire Hewlett Packard ; en 2005, le code a été ouvert sous licence Apache et a été développé avec la participation des employés de Google. Le code source du projet est distribué sous la licence Apache 2.0.

Tesseract comprend un utilitaire de console et la bibliothèque libtesseract pour intégrer la fonctionnalité OCR dans d'autres applications. Les interfaces GUI tierces prenant en charge Tesseract incluent gImageReader, VietOCR et YAGF. Deux moteurs de reconnaissance sont proposés : un classique qui reconnaît le texte au niveau des modèles de caractères individuels, et un nouveau basé sur l'utilisation d'un système d'apprentissage automatique basé sur un réseau neuronal récurrent LSTM, optimisé pour reconnaître des chaînes entières et permettant une augmentation significative de la précision. Des modèles formés prêts à l’emploi ont été publiés pour 123 langues. Pour optimiser les performances, des modules utilisant les instructions OpenMP et SIMD AVX2, AVX, NEON ou SSE4.1 sont proposés.

Améliorations majeures de Tesseract 5.0 :

  • Un changement important dans le numéro de version est dû à des modifications apportées à l'API qui rompent la compatibilité. En particulier, l'API libtesseract accessible au public n'est plus liée aux types de données propriétaires GenericVector et STRING, au profit de std :: string et std :: vector.
  • L'arborescence du texte source a été réorganisée. Les fichiers d'en-tête publics ont été déplacés vers le répertoire include/tesseract.
  • La gestion de la mémoire a été repensée, tous les appels malloc et gratuits ont été remplacés par du code C++. Une modernisation générale du code a été réalisée.
  • Ajout d'optimisations pour les architectures ARM et ARM64 ; les instructions ARM NEON sont utilisées pour accélérer les calculs. Une optimisation des performances commune à toutes les architectures a été réalisée.
  • De nouveaux modes d'entraînement des modèles et de reconnaissance de texte basés sur l'utilisation de calculs en virgule flottante ont été implémentés. Les nouveaux modes offrent des performances supérieures et une consommation de mémoire réduite. Dans le moteur LSTM, le mode rapide float32 est activé par défaut.
  • Une transition a été effectuée vers l'utilisation de la normalisation Unicode à l'aide du formulaire NFC (Normalization Form Canonical).
  • Ajout d'une option pour configurer les détails du journal (--loglevel).
  • Le système de construction basé sur Autotools a été repensé et basculé pour être construit en mode non récursif.
  • La branche « master » de Git a été renommée « main ».
  • Ajout de la prise en charge des nouvelles versions des systèmes macOS et Apple basées sur la puce M1.

    Source: opennet.ru

Ajouter un commentaire