De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

Tesseract es un motor de reconocimiento óptico de caracteres para varios sistemas operativos. [3] Es un software gratuito , publicado bajo la licencia Apache . [1] [4] [5] Desarrollado originalmente por Hewlett-Packard como software propietario en la década de 1980, fue lanzado como código abierto en 2005 y el desarrollo ha sido patrocinado por Google desde 2006. [6]

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

Historia [ editar ]

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 algunos cambios más realizados en 1996 para portar a Windows, y algunas migraciones de C a C ++ en 1998. Mucho del código se escribió en C , y luego se escribió algo más en C ++. Desde entonces, todo el código se ha convertido para compilar al menos con un compilador de C ++. [4] 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 ha sido patrocinado porGoogle desde 2006. [6]

Funciones [ editar ]

Tesseract estaba en los tres principales motores de OCR en términos de precisión personaje en 1995. [8] Está disponible para Linux , de Windows y Mac OS X . Sin embargo, debido a los recursos limitados, los desarrolladores solo lo prueban rigurosamente en Windows y Ubuntu . [4] [5]

Tesseract hasta la versión 2 incluida 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 la entrada de texto, imágenes o ecuaciones en varias columnas producía resultados confusos. Desde la versión 3.00, Tesseract ha admitido formato de texto de salida, información posicional hOCR [9] y análisis de diseño de página. Se agregó soporte para una serie de nuevos formatos de imagen utilizando la biblioteca Leptonica . Tesseract puede detectar si el texto es monoespaciado o proporcional. [5]

Las versiones iniciales de Tesseract solo podían reconocer texto en inglés. Tesseract v2 agregó seis idiomas occidentales adicionales (francés, italiano, alemán, español, portugués de Brasil, holandés). La versión 3 amplió el soporte de idiomas de manera significativa 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 ( Frakturscript), 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, lanzada en julio de 2015, agregó 39 combinaciones de idioma / escritura adicionales, lo que eleva el recuento total de idiomas de soporte a más de 100. Los nuevos códigos de idioma incluyen: amh (amárico), asm (asm (asamés), aze_cyrl (azerbaijana 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 (lao), 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).[10]

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

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

Tesseract es adecuado para su uso como backend y se puede usar para tareas de OCR más complicadas, incluido el análisis de diseño, mediante el uso de un frontend como OCRopus . [12]

La salida de Tesseract tendrá una calidad muy baja si las imágenes de entrada no se preprocesan para adaptarse a ella: las imágenes (especialmente las capturas de pantalla ) deben ampliarse de manera que la altura x del texto sea ​​de al menos 20 píxeles, [13] cualquier rotación o sesgo debe corregirse o no se reconocerá texto, los cambios de brillo de baja frecuencia deben filtrarse con 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. [14]

Versión 4 [ editar ]

La versión 4 agrega un motor de OCR basado en LSTM y modelos para muchos idiomas y escrituras adicionales, lo que lleva el total a 116 idiomas. [15]

Además, se admiten los scripts para 37 idiomas, por lo que es posible reconocer un idioma utilizando el script en el que está escrito.

Interfaces de usuario [ editar ]

Ventana de configuración de Tesseract en OCRFeeder

Tesseract se ejecuta desde la interfaz de línea de comandos . [16] Si bien Tesseract no se suministra con una GUI, hay muchos proyectos separados que proporcionan una GUI para él. [17] Un ejemplo común es OCRFeeder . [18]

Recepción [ editar ]

En un artículo de julio de 2007 sobre Tesseract, Anthony Kay de Linux Journal lo denominó "una herramienta de línea de comandos peculiar que hace un trabajo excelente". En ese momento, señaló que "Tesseract es un motor de OCR básico. El proceso de compilació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 más lo he probado de la comunidad de código abierto. Es razonablemente fácil obtener excelentes tasas de reconocimiento usando nada más que un escáner y algunas herramientas de imagen, como The GIMP y Netpbm ". [3]

En noviembre de 2020, Brewster Kahle del Internet Archive elogió a Tesseract diciendo: [19]

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 el OCR patentado, pero eso ha cambiado: hemos realizado evaluaciones y es igual de bueno, y podemos mejorar para nuestra aplicación gracias a su nueva arquitectura.

Ver también [ editar ]

  • Libtiff

Referencias [ editar ]

  1. ^ a b Google (2008). "tesseract-ocr" . Consultado el 8 de marzo de 2016 .
  2. ^ "Lanzamientos - tesseract-ocr / tesseract" . Consultado el 5 de enero de 2020 , a través de GitHub .
  3. ↑ a b Kay, Anthony (julio de 2007). "Tesseract: un motor de reconocimiento óptico de caracteres de código abierto" . Revista de Linux . Consultado el 28 de septiembre de 2011 .
  4. ↑ a b c 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 .
  5. ↑ a b c d e Canonical Ltd. (febrero de 2011). "OCR" . Consultado el 11 de febrero de 2011 .
  6. ^ a b Anuncio de Tesseract OCR - El blog oficial de Google
  7. ^ Willis, Nathan (septiembre de 2006). "El motor Tesseract OCR de Google es un gran paso adelante" . Consultado el 18 de julio de 2008 .
  8. ^ 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
  9. ^ Proyecto Tesseract (febrero de 2011). "Problema 263: parche para habilitar la salida de hOCR" . Archivado desde el original el 13 de noviembre de 2012 . Consultado el 26 de febrero de 2011 .
  10. ^ "langdata - Datos de entrenamiento de origen para Tesseract para muchos idiomas" . Consultado el 6 de noviembre de 2016 .
  11. ^ "Entrenamiento de redes LSTM en 100 idiomas y resultados de pruebas" (PDF) . Consultado el 18 de marzo de 2018 .
  12. ^ Anuncio del sistema OCR de código abierto OCRopus (Thomas Breuel, líder del proyecto OCRopus).
  13. ^ "FAQ - tesseract-ocr - Preguntas más frecuentes - Un motor de OCR que se desarrolló en HP Labs entre 1985 y 1995 ... y ahora en Google. - Alojamiento de proyectos de Google" . Archivado desde el original el 23 de diciembre de 2015 . Consultado el 30 de mayo de 2014 .
  14. ^ "BetterQuality - tesseract-ocr - Asesoramiento 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" . 2014-01-27. Archivado desde el original el 20 de septiembre de 2015 . Consultado el 30 de mayo de 2014 .
  15. ^ "Página del manual TESSERACT (1)" . Consultado el 15 de marzo de 2018 .
  16. ^ Código de Google - Léame de Tesseract
  17. ^ "3rdParty - tesseract-ocr - GUI y otros proyectos usando Tesseract OCR" . github.com . Consultado el 30 de marzo de 2017 .
  18. ^ "OCRFeeder" . Wiki de GNOME . Consultado el 12 de enero de 2019 .
  19. ^ Brewster Kahle (23 de noviembre de 2020). "FOSS gana de nuevo: las comunidades libres y de código abierto aparecen en los periódicos del siglo XIX (y libros y publicaciones periódicas ...) - Blogs de Internet Archive" . blog.archive.org . Consultado el 1 de diciembre de 2020 .

Enlaces externos [ editar ]

  • Página web oficial
  • Hackear Tesseract V0.04 - Estructura C / C ++ de Tesseract extraída del código fuente de Doxyfied (basado en Tesseract V1.03)
  • Tesseract OCR Engine Una descripción general del Tesseract OCR Engine.