Lanzamiento del sistema de reconocimiento de texto Tesseract 5.0

Se ha publicado el lanzamiento del sistema de reconocimiento óptico de texto Tesseract 4.1, que admite el reconocimiento de caracteres y textos UTF-8 en más de 100 idiomas, incluidos ruso, kazajo, bielorruso y ucraniano. El resultado se puede guardar en texto plano o en formatos HTML (hOCR), ALTO (XML), PDF y TSV. El sistema fue creado originalmente en 1985-1995 en el laboratorio de Hewlett Packard, en 2005 el código se abrió bajo la licencia Apache y se desarrolló con la participación de empleados de Google. El código fuente del proyecto se distribuye bajo la licencia Apache 2.0.

Tesseract incluye una utilidad de consola y la biblioteca libtesseract para incorporar la funcionalidad OCR en otras aplicaciones. Las interfaces GUI de terceros que admiten Tesseract incluyen gImageReader, VietOCR y YAGF. Se ofrecen dos motores de reconocimiento: uno clásico que reconoce texto a nivel de patrones de caracteres individuales, y uno nuevo basado en el uso de un sistema de aprendizaje automático basado en una red neuronal recurrente LSTM, optimizado para reconocer cadenas enteras y permitiendo una aumento significativo de la precisión. Se han publicado modelos entrenados ya preparados para 123 idiomas. Para optimizar el rendimiento, se ofrecen módulos que utilizan instrucciones OpenMP y SIMD AVX2, AVX, NEON o SSE4.1.

Mejoras importantes en Tesseract 5.0:

  • Un cambio significativo en el número de versión se debe a cambios realizados en la API que rompen la compatibilidad. En particular, la API libtesseract disponible públicamente ya no está vinculada a los tipos de datos propietarios GenericVector y STRING, a favor de std::string y std::vector.
  • El árbol del texto fuente ha sido reorganizado. Los archivos de encabezado públicos se han movido al directorio include/tesseract.
  • Se ha rediseñado la gestión de la memoria, todos los malloc y las llamadas gratuitas se han sustituido por código C++. Se ha llevado a cabo una modernización general del código.
  • Se agregaron optimizaciones para arquitecturas ARM y ARM64; las instrucciones ARM NEON se utilizan para acelerar los cálculos. Se ha realizado una optimización del rendimiento común a todas las arquitecturas.
  • Se han implementado nuevos modos de entrenamiento de modelos y reconocimiento de texto basados ​​en el uso de cálculos de punto flotante. Los nuevos modos ofrecen mayor rendimiento y menor consumo de memoria. En el motor LSTM, el modo rápido float32 está habilitado de forma predeterminada.
  • Se ha realizado una transición al uso de la normalización Unicode mediante el formulario NFC (Normalization Form Canonical).
  • Se agregó una opción para configurar los detalles del registro (--loglevel).
  • El sistema de compilación basado en Autotools ha sido rediseñado y cambiado para compilar en modo no recursivo.
  • La rama "master" en Git ha cambiado de nombre a "main".
  • Se agregó soporte para nuevas versiones de sistemas macOS y Apple basados ​​en el chip M1.

    Fuente: opennet.ru

Añadir un comentario