Rilascio del sistema di riconoscimento del testo Tesseract 5.0

È stato pubblicato il rilascio del sistema di riconoscimento ottico del testo Tesseract 4.1, che supporta il riconoscimento di caratteri e testi UTF-8 in più di 100 lingue, tra cui russo, kazako, bielorusso e ucraino. Il risultato può essere salvato in testo semplice o nei formati HTML (hOCR), ALTO (XML), PDF e TSV. Il sistema è stato originariamente creato nel 1985-1995 nel laboratorio Hewlett Packard, nel 2005 il codice è stato aperto sotto la licenza Apache e ulteriormente sviluppato con la partecipazione dei dipendenti di Google. Il codice sorgente del progetto è distribuito sotto la licenza Apache 2.0.

Tesseract include un'utilità console e la libreria libtesseract per incorporare la funzionalità OCR in altre applicazioni. Le interfacce GUI di terze parti che supportano Tesseract includono gImageReader, VietOCR e YAGF. Vengono offerti due motori di riconoscimento: uno classico che riconosce il testo a livello di singoli pattern di caratteri, ed uno nuovo basato sull'utilizzo di un sistema di machine learning basato su una rete neurale ricorrente LSTM, ottimizzato per riconoscere intere stringhe e consentire un aumento significativo della precisione. Sono stati pubblicati modelli addestrati già pronti per 123 lingue. Per ottimizzare le prestazioni, vengono offerti moduli che utilizzano istruzioni OpenMP e SIMD AVX2, AVX, NEON o SSE4.1.

Principali miglioramenti in Tesseract 5.0:

  • Un cambiamento significativo nel numero di versione è dovuto alle modifiche apportate all'API che interrompono la compatibilità. In particolare, l'API libtesseract disponibile pubblicamente non è più legata ai tipi di dati proprietari GenericVector e STRING, a favore di std::string e std::vector.
  • L'albero del testo sorgente è stato riorganizzato. I file header pubblici sono stati spostati nella directory include/tesseract.
  • La gestione della memoria è stata riprogettata, tutte le chiamate malloc e gratuite sono state sostituite con codice C++. È stato effettuato un ammodernamento generale del codice.
  • Aggiunte ottimizzazioni per le architetture ARM e ARM64; le istruzioni ARM NEON vengono utilizzate per velocizzare i calcoli. È stata effettuata l'ottimizzazione delle prestazioni comuni a tutte le architetture.
  • Sono state implementate nuove modalità di training dei modelli e di riconoscimento del testo basate sull'utilizzo di calcoli in virgola mobile. Le nuove modalità offrono prestazioni più elevate e un minore consumo di memoria. Nel motore LSTM, la modalità veloce float32 è abilitata per impostazione predefinita.
  • È stata effettuata una transizione all'utilizzo della normalizzazione Unicode utilizzando il modulo NFC (Normalization Form Canonical).
  • Aggiunta un'opzione per configurare i dettagli del registro (--loglevel).
  • Il sistema di compilazione basato su Autotools è stato riprogettato e modificato per compilare in modalità non ricorsiva.
  • Il ramo "master" in Git è stato rinominato "main".
  • Aggiunto il supporto per le nuove versioni di macOS e sistemi Apple basati sul chip M1.

    Fonte: opennet.ru

Aggiungi un commento