stringtranslate.com

Teseracto (software)

Tesseract es un motor de reconocimiento óptico de caracteres para varios sistemas operativos. [5] Es software libre , publicado bajo la Licencia Apache . [1] [6] [7] Desarrollado originalmente por Hewlett-Packard como software propietario en la década de 1980, se lanzó como código abierto en 2005 y el desarrollo fue patrocinado por Google en 2006. [8]

En 2006, Tesseract fue considerado uno de los motores OCR de código abierto más precisos disponibles. [7] [9]

Historia

El motor Tesseract se desarrolló originalmente como software propietario en los laboratorios de Hewlett-Packard en Bristol, Inglaterra y Greeley, Colorado, entre 1985 y 1994, con más cambios realizados en 1996 para migrar a Windows y cierta migración de C a C++ en 1998. Mucho Parte del código se escribió en C y luego algo más se escribió en C++. Desde entonces, todo el código se ha convertido para al menos compilarlo con un compilador de C++. [ cita necesaria ] Se realizó muy poco trabajo en la década siguiente. Luego fue lanzado como código abierto en 2005 por Hewlett-Packard y la Universidad de Nevada, Las Vegas (UNLV). El desarrollo de Tesseract fue patrocinado por Google en 2006. [8]

La versión 4 agrega un motor de OCR basado en LSTM y modelos para muchos idiomas y secuencias de comandos adicionales, lo que eleva el total a 116 idiomas. [10] Además, se admiten 37 scripts . Así, por ejemplo, es posible reconocer un texto con una combinación de idiomas de Europa occidental y central utilizando el modelo de escritura latina en la que está escrito. [ cita necesaria ]

La versión 5 se lanzó en 2021, después de más de dos años de pruebas y desarrollo. [11]

Características

Tesseract estaba entre los tres principales motores de OCR en términos de precisión de caracteres en 1995. [12] Está disponible para Linux , Windows y Mac OS X. [6] [7]

Tesseract hasta la versión 2 inclusive solo podía aceptar imágenes TIFF de texto simple de una columna como entradas. Estas primeras versiones no incluían análisis de diseño, por lo que ingresar texto, imágenes o ecuaciones de varias columnas producía resultados confusos. Desde la versión 3.00, Tesseract admite formato de texto de salida, información posicional hOCR [13] y análisis de diseño de página. Se agregó soporte para varios formatos de imagen nuevos utilizando la biblioteca Leptonica. Tesseract puede detectar si el texto es monoespaciado o proporcionalmente. [7]

Las versiones iniciales de Tesseract sólo podían reconocer texto en inglés.

Tesseract v2 agregó seis idiomas occidentales adicionales (francés, italiano, alemán, español, portugués brasileño y holandés).

La versión 3 amplió significativamente el soporte de idiomas para incluir idiomas ideográficos (chino y japonés) y de derecha a izquierda (por ejemplo, árabe, hebreo), así como muchas más escrituras. Los nuevos idiomas incluyeron árabe, búlgaro, catalán, chino (simplificado y tradicional), croata, checo, danés, alemán ( escritura Fraktur ), griego, finlandés, hebreo, hindi, húngaro, indonesio, japonés, coreano, letón, lituano, noruego, Polaco, portugués, rumano, ruso, serbio, eslovaco (escritura estándar y Fraktur), esloveno, sueco, tagalo, tamil, tailandés, turco, ucraniano y vietnamita.

V3.04, lanzado en julio de 2015, agregó 39 combinaciones adicionales de idioma/escritura, lo que eleva el recuento total de idiomas compatibles a más de 100. Los nuevos códigos de idioma incluyen: amh (amárico), asm (asamés), aze_cyrl (azerbaiyano en escritura cirílica). ), bod (tibetano), bos (bosnio), ceb (cebuano), cym (galés), dzo (dzongkha), fas (persa), gle (irlandés), guj (gujarati), hat (haitiano y criollo haitiano), iku (inuktitut), jav (javanés), kat (georgiano), kat_old (georgiano antiguo), kaz (kazajo), khm (jemer central), kir (kirguís), kur (kurdo), lao (laos), lat (latín). ), mar (marathi), mya (birmano), nep (nepalí), ori (oriya), pan (punjabi), pus (pashto), san (sánscrito), sin (cingalés), srp_latn (serbio en escritura latina), syr (siríaco), tgk (tayiko), tir (tigrinya), uig (uigur), urd (urdu), uzb (uzbeko), uzb_cyrl (uzbeko en escritura cirílica), yid (yiddish). [14]

Además, Tesseract puede capacitarse para trabajar en otros idiomas. [7]

Tesseract puede procesar bastante bien texto de derecha a izquierda, como el árabe o el hebreo, muchas escrituras índicas y CJK . Las tasas de precisión se muestran en esta presentación del tutorial de Tesseract en DAS 2016, Santorini, realizada por Ray Smith. [15]

Tesseract es adecuado para su uso como backend y puede usarse para tareas de OCR más complicadas, incluido el análisis de diseño, mediante el uso de una interfaz como OCRopus . [dieciséis]

La salida de Tesseract tendrá muy mala calidad si las imágenes de entrada no se preprocesan para adaptarse a ella: las imágenes (especialmente las capturas de pantalla ) deben ampliarse de modo que la altura x del texto sea de al menos 20 píxeles, [17] se debe corregir cualquier rotación o inclinación. o no se reconocerá ningún texto, los cambios de brillo de baja frecuencia deben filtrarse con un filtro de paso alto , o la etapa de binarización de Tesseract destruirá gran parte de la página, y los bordes oscuros deben eliminarse manualmente o se malinterpretarán como caracteres. [18]

Interfaces de usuario

Ventana de configuración de Tesseract en OCRFeeder

Tesseract se ejecuta desde la interfaz de línea de comandos . [19] Si bien Tesseract no se suministra con una GUI, hay muchos proyectos separados que le proporcionan una GUI. [20] Un ejemplo común es OCRFeeder . [21]

Recepción

En un artículo de julio de 2007 sobre Tesseract, Anthony Kay de Linux Journal lo denominó "una peculiar herramienta de línea de comandos que hace un trabajo excepcional". En ese momento señaló que "Tesseract es un motor de OCR básico. El proceso de construcción es un poco peculiar y el motor necesita algunas características adicionales (como la detección de diseño), pero la característica principal, el reconocimiento de texto, es drásticamente mejor que cualquier otra cosa". Además, lo he probado en la comunidad de código abierto. Es razonablemente fácil obtener excelentes índices de reconocimiento utilizando nada más que un escáner y algunas herramientas de imagen, como The GIMP y Netpbm . [5]

En noviembre de 2020, Brewster Kahle de Internet Archive elogió a Tesseract diciendo:

Tesseract ha dado un gran paso adelante en los últimos años. La última vez que evaluamos la precisión, no era tan buena como la del OCR propietario, pero eso ha cambiado: hemos realizado evaluaciones y es igual de buena y puede mejorar para nuestra aplicación gracias a su nueva arquitectura. [22]

Ver también

Referencias

  1. ^ ab Google (2008). "teseracto-ocr". GitHub . Consultado el 8 de marzo de 2016 .
  2. ^ "Versión 5.4.1 · tesseract-ocr/tesseract" . Consultado el 12 de junio de 2024 .
  3. ^ "Idiomas admitidos en diferentes versiones de Tesseract". Archivado desde el original el 8 de agosto de 2022 . Consultado el 21 de noviembre de 2022 .
  4. ^ "Documentación de Tesseract - Archivos de datos entrenados... - Archivos de datos de idioma para Tesseract". Archivado desde el original el 5 de septiembre de 2022 . Consultado el 21 de noviembre de 2022 .
  5. ^ ab Kay, Anthony (julio de 2007). "Tesseract: un motor de reconocimiento óptico de caracteres de código abierto". Diario de Linux . Consultado el 28 de septiembre de 2011 .
  6. ^ ab Vincent, Luc (agosto de 2006). "Anuncio de Tesseract OCR". Archivado desde el original el 26 de octubre de 2006 . Consultado el 26 de junio de 2008 .
  7. ^ abcde Canonical Ltd. (febrero de 2011). "OCR" . Consultado el 11 de febrero de 2011 .
  8. ^ ab Anuncio de Tesseract OCR: el blog oficial de Google
  9. ^ Willis, Nathan (septiembre de 2006). "El motor Tesseract OCR de Google es un gran avance". Archivado desde el original el 28 de mayo de 2022 . Consultado el 18 de julio de 2008 .
  10. ^ "Página del manual TESSERACT(1)". GitHub . Consultado el 15 de marzo de 2018 .
  11. ^ Schmidt, Julia (1 de diciembre de 2021). "OCR Engine Tesseract 5.0 se convierte en flotante para un entrenamiento y reconocimiento más rápidos • DEVCLASS". CLASE DEV . Consultado el 20 de diciembre de 2021 .
  12. ^ Rice Stephen V., Frank R. Jenkins y Thomas A. Nartker La cuarta prueba anual de precisión de OCR, expervision.com, consultado el 21 de mayo de 2013
  13. ^ Proyecto Tesseract (febrero de 2011). "Problema 263: parche para habilitar la salida hOCR". Archivado desde el original el 13 de noviembre de 2012 . Consultado el 26 de febrero de 2011 .
  14. ^ "langdata: fuente de datos de entrenamiento para Tesseract para muchos idiomas". GitHub . Consultado el 6 de noviembre de 2016 .
  15. ^ "Capacitación de redes LSTM en 100 idiomas y resultados de pruebas" (PDF) . GitHub . Consultado el 18 de marzo de 2018 .
  16. ^ Anuncio del sistema OCR de código abierto OCRopus Archivado el 14 de abril de 2007 en Wayback Machine (Thomas Breuel, líder del proyecto OCRopus).
  17. ^ "Preguntas frecuentes - tesseract-ocr - Preguntas frecuentes - Un motor de OCR que se desarrolló en HP Labs entre 1985 y 1995... y ahora en Google. - Google Project Hosting". Archivado desde el original el 23 de diciembre de 2015 . Consultado el 30 de mayo de 2014 .
  18. ^ "ImproveQuality - tesseract-ocr - Consejos para mejorar la calidad de su producción. - Un motor de OCR que se desarrolló en HP Labs entre 1985 y 1995... y ahora en Google. - Google Project Hosting". 27 de enero de 2014. Archivado desde el original el 20 de septiembre de 2015 . Consultado el 30 de mayo de 2014 .
  19. ^ Código de Google - Léame de Tesseract
  20. ^ "3rdParty - tesseract-ocr - GUI y otros proyectos que utilizan Tesseract OCR". github.com . Consultado el 9 de marzo de 2024 .
  21. ^ "OCRFeder". Wiki de Gnomo . Consultado el 12 de enero de 2019 .
  22. ^ Brewster Kahle (23 de noviembre de 2020). "El software libre vuelve a ganar: las comunidades gratuitas y de código abierto aparecen en los periódicos (y libros y publicaciones periódicas...) del siglo XIX: blogs de Internet Archive". blog.archive.org . Consultado el 1 de diciembre de 2020 .

enlaces externos