El qué, por qué y cómo del reconocimiento óptico de caracteres (OCR): hacia la IA

Estás leyendo la publicación: El qué, por qué y cómo del reconocimiento óptico de caracteres (OCR): hacia la IA

Publicado originalmente en Hacia la IA, la empresa líder mundial en noticias y medios de IA y tecnología. Si está creando un producto o servicio relacionado con la IA, lo invitamos a considerar convertirse en patrocinador de la IA. En Hacia la IA, ayudamos a escalar las empresas emergentes de IA y tecnología. Permítanos ayudarlo a dar rienda suelta a su tecnología a las masas.

La humanidad se destaca en un espléndido aislamiento debido a la capacidad del habla y la comunicación avanzada. Sin embargo, el ritmo de la comunicación ha sido una búsqueda tan antigua como la humanidad.

¿Qué es OCR?

El reconocimiento óptico de caracteres, u OCR, es el proceso de identificar caracteres visualmente mediante programación y convertirlos en el código informático equivalente más aproximado.

¿Por qué OCR?

El tiempo es valioso y ha habido automatización en el siglo pasado para acelerar las tareas que consumen mucho tiempo. La conversión de una forma de comunicación a otra es engorrosa y la capacidad de convertir el habla o las palabras a otras formas ha sido una evolución continua.

La cantidad de tiempo que se pierde durante la reescritura de un documento en aras de la digitalización es increíblemente alta. Al utilizar una tecnología para hacer intercambiables los contenidos, se buscaba la novedad en la velocidad de conversión.

¿Cómo ayudaría la tecnología OCR actual?

Considerado una gran ayuda para las empresas de todo el mundo hoy en día, OCR es la ciencia y la tecnología detrás de la conversión de texto impreso en imágenes, documentos electrónicos no editables (PDF) y registros impresos en varios formatos de datos editables y que permiten búsquedas automáticas. Los formatos incluyen almacenamiento de datos en Word, Excel y PDF, además de otros.

· Para las personas, significa conveniencia y productividad en la vida personal.

· Para los negocios, significa ahorros reales para su balance final.

Con las soluciones SaaS para las necesidades comerciales, se recopilan y almacenan datos masivos. Simplemente no existe una forma humanamente sostenible de manejar el problema de Big Content sin automatización.

Las máquinas no pueden interpretar ningún contenido. Lo que pueden hacer es hacer comparaciones extremadamente precisas entre ejemplos de texto y los patrones presentes en una imagen. A lo largo de los años, ha habido una gran innovación para usar el aprendizaje automático para OCR y ha arrojado resultados impresionantes. Hoy en día, tenemos paquetes y envoltorios muy evolucionados que son fáciles de integrar y también más rápidos.

Historia de las herramientas de OCR

La búsqueda de una herramienta eficaz comenzó en el siglo XIX. El disco Nipkow fue un dispositivo de escaneo de imágenes que se remonta a 1885. Los dispositivos posteriores comenzaron interpretando el código Morse para leer el texto en voz alta. Los primeros escáneres capaces de leer texto requerían que el texto estuviera en una fuente especial que fuera fácil de reconocer para el software de escaneo. En 1974, Kurzweil Computer Products desarrolló el primer software de fuente omnidireccional.

🔥 Recomendado:  Cómo iniciar un negocio de Airbnb: la guía definitiva

El primer dispositivo OCR (reconocimiento óptico de caracteres) fue desarrollado a fines de la década de 1920 por el ingeniero austriaco Gustav Tauschek (1899–1945), quien en 1929 obtuvo una patente sobre OCR (llamado así) en Alemania, seguido por Paul Handel, quien obtuvo una patente estadounidense. en OCR (así llamado) en EE. UU. en 1933 (Patente de EE. UU. 1915993). En 1935, a Tauschek también se le otorgó una patente estadounidense para su máquina (Patente de EE. UU. 2026329).

OCR en 2021

El aprendizaje automático nos ayuda a escalar la precisión y la flexibilidad de OCR, y la automatización a través de flujos de trabajo configurados para el negocio garantiza que este volumen masivo de datos se maneje de manera elegante, consistente y confiable mediante herramientas que funcionan para nosotros.

Entonces, ¿cuáles son algunas respuestas para la comunicación que podemos buscar a través de OCR? ¿Cuál es el enfoque de Machine Learning que podemos seguir? Vamos a averiguar.

En los últimos tiempos, hay contenido masivo capturado a través de Imágenes, Videos a través de CCTV y otros medios. Es de gran valor convertir el contenido en contenido editable por máquina. Ejemplos de aplicaciones de OCR incluyen:

· Leer placas de identificación de vehículos desde dashcam o CCTV

· Convierte manuscritos escritos a mano en documentos editables

· Convierte copias escaneadas de libros en contenido editable.

Todos los lenguajes de programación tienen ricas bibliotecas y paquetes para facilitar las operaciones de OCR. Python, que es una de las opciones populares para el aprendizaje automático, también tiene Python-tesseract como una herramienta de reconocimiento óptico de caracteres (OCR). Es decir, reconocerá y “leerá” el texto incrustado en las imágenes.

Python-tesseract es un contenedor para el motor Tesseract-OCR de Google. También es útil como script de invocación independiente para tesseract, ya que puede leer todos los tipos de imágenes compatibles con las bibliotecas de imágenes de Pillow y Leptonica, incluidos jpeg, png, gif, bmp, tiff y otros. Además, si se usa como script, Python-tesseract imprimirá el texto reconocido en lugar de escribirlo en un archivo.

Instalación: Visite e instale Tesseract; desplácese hacia abajo para encontrar los instaladores más recientes para sistemas de 32 y 64 bits; descargarlos según sea necesario.

ADVERTENCIA: Tesseract debe instalarse en el directorio sugerido durante la instalación o en un directorio nuevo. El desinstalador elimina todo el directorio de instalación. Si instaló Tesseract en un directorio existente, ese directorio se eliminará con todos sus subdirectorios y archivos.

La solución alternativa cuando se eliminan todos los directorios y no puede reconocer numpy o cualquier otra biblioteca en Jupyter, entonces es posible que desee crear un nuevo entorno siguiendo los pasos que se ilustran aquí:

https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#creating-an-environment-with-commands

Asegúrese de seleccionar este nuevo entorno en Jupyter para desbloquearlo y ejecutar correctamente el cuaderno.

Ahora usaremos esto para explorar una imagen y convertir el contenido en datos editables. Además, podemos optar por utilizar estos datos para una serie de operaciones.

Naveguemos a través de varios pasos involucrados….

Paso 1. Módulos de importación:

Paso 2. Verifique el directorio de Tesseract y copie la ruta completa

pytesseract.pytesseract.tesseract_cmd = r”C:\Archivos de programa\Tesseract-OCR\tesseract.exe”

🔥 Recomendado:  ¿Qué significa trabajar con una plataforma de servicios de contenido?

Paso 3. Primero, abra la imagen con la función de imagen, luego use pytesseract para obtener todos los datos de la imagen y almacene todo el texto en una variable.

Etapa 4. Imprime el texto recuperado de la imagen:

imprimir (texto)

Podemos ver que las palabras de la imagen están correctamente identificadas. Ahora podemos usar esto para cualquier aplicación útil. ¡Por diversión, ahora convertiremos estos datos en escritura a mano!

pywhatkit: es una biblioteca que se puede usar para una variedad de cosas, incluido enviar mensajes de WhatsApp, mirar videos de YouTube, buscar en Google y escribir texto escrito a mano.

pip instalar pywhatkit

Usaremos el texto _a_escritura función de pywhatkit para convertir texto al color RGB especificado; en este caso, el RGB para azul es 0, 0, 250.

kit.text_to_handwriting(texto, rgb=[0, 0, 250]save_to=”handwriting-eng.jpg”)

¡La escritura así obtenida es sorprendentemente realista!

Podemos mostrar esto en una nueva ventana programáticamente:

img_out = cv2.imread(“escritura-a-mano-eng.jpg”)

A continuación, exploremos algunas operaciones usando un idioma que no sea inglés. estaré considerando Canadáuna de las lenguas dravidianas del sur de la India.

Comprobemos si pytesseract admite otros idiomas. El ejecutable tiene un modelo de idioma incorporado para inglés, español, francés, pero ninguno de los idiomas indios. Para ser utilizado con otros idiomas, necesitamos proporcionar datos de idioma y tessdata que proporcionan datos de entrenamiento y modelos entrenados de LSTM en OCR Engine para la mayoría de los idiomas:

https://github.com/tesseract-ocr/langdata

https://github.com/tesseract-ocr/tessdata

Esta carpeta de GitHub contiene datos de entrenamiento de origen para Tesseract para muchos idiomas.

Copia el datos de idioma y tessdata carpetas a C:\Program Files\Tesseract-OCR

Los pasos para leer texto en kannada en imagen y capturar los textos en cadena:

Paso 1. Instalar los módulos

importar cv2

Paso 2. Verifique el directorio de Tesseract y copie la ruta completa

Paso 3. Primero, abra la imagen con la función de imagen, luego use pytesseract para obtener todos los datos de la imagen y almacene todo el texto en una variable.

Etapa 4. Imprime el texto recuperado de la imagen:

¡Ahora podemos mostrar todo el texto en kannada!

Es hora de hacer tareas con este contenido. Elegí hacer las siguientes 2 operaciones:

· Transliteración del canarés al inglés (latín) ISO 15919 con om_transliterator en Python.

· Lee el texto en canarés en voz alta a través de Python usando el paquete gTTS.

Transcripción: La romanización es simplemente la conversión de la escritura de un sistema de escritura diferente a la escritura romana (latina). En nuestro caso, de Kannada a Roman. Durante el período, múltiples sistemas y estándares como la transliteración Hunterian, ITRANS, IAST, ISO 15919 (2001), etc. han evolucionado para romanizar las escrituras índicas.

Para este ejercicio de transliteración, usaré “om-transliterator” por este colaborador talentoso.

https://pypi.org/project/om-transliterator/

Instalación: pip install om-transliterador

Código para mostrar el texto:

¡Mira la transliteración ahora!

A continuación, ¡leamos el contenido en voz alta! ¡Hagamos que Python hable por nosotros!

Python proporciona cientos de miles de paquetes que permiten a los desarrolladores escribir prácticamente cualquier tipo de programa. Dos paquetes multiplataforma que puede usar para convertir texto en voz usando Python son PyTTSx3 y gTTS.

🔥 Recomendado:  Cómo expandir tu crecimiento orgánico en Twitter

Usaremos gTTS para nuestro experimento: https://pypi.org/project/gTTS/

Código:

El archivo mp3 se almacena en su directorio. ¡Este fue un ejercicio divertido!

Ahora, aprendamos también acerca de las herramientas de OCR fáciles de usar y prácticas disponibles en el mercado. Las herramientas SaaS populares son:

1. IBM Datacap — Datacap agiliza la captura, el reconocimiento y la clasificación de documentos comerciales para extraer información importante de ellos. Datacap tiene un potente motor OCR, múltiples funciones y reglas personalizables. Funciona a través de múltiples canales, incluidos escáneres, dispositivos móviles, periféricos multifunción y fax.

2. IA de documentos de Google— Una de las soluciones de la suite Google Cloud AI, Document AI (DocAI) es una consola de procesamiento de documentos que utiliza el aprendizaje automático para clasificar, extraer, enriquecer datos y desbloquear información dentro de los documentos automáticamente.

3. Texto de AWS— AWS Textract extrae automáticamente texto y otros datos de documentos escaneados mediante aprendizaje automático y OCR. También se utiliza para identificar, comprender y extraer datos de formularios y tablas. Para obtener más información, consulte este desglose detallado de AWS Textract.

4. Adobe Acrobat CC— Adobe ofrece un completo editor de PDF con una funcionalidad de OCR integrada.

5. OCR usando Microsoft OneNote— Microsoft OneNote es predominantemente un administrador de notas que también puede funcionar como un OCR. Ofrece un método simple y fácil para el reconocimiento óptico de caracteres con la ligera limitación de que no admite tablas y columnas.

OCR con Documentos de Google— Puede convertir archivos de imagen a texto con Google Drive.

Conclusión:

Con la demostración usando Python y pytesseractpaquetes, parece que hemos dado un gran salto en la conversión de imagen a texto. Por lo tanto, los paquetes OCR y las herramientas SaaS más recientes ayudan a las empresas a ahorrar tiempo y recursos que, de lo contrario, se gastarían en la entrada de datos y la verificación manual. Con OCR, todo el proceso de conversión de datos del documento original en papel, la imagen o el PDF lleva menos de unos minutos, ¡y el documento final reconocido se parece al original!

Lectura adicional:

Más información sobre LSTM: https://www.analyticsvidhya.com/blog/2017/12/fundamentals-of-deep-learning-introduction-to-lstm/

Más información sobre pytessaract: https://pypi.org/project/pytesseract/


El qué, por qué y cómo del reconocimiento óptico de caracteres (OCR) se publicó originalmente en Towards AI en Medium, donde las personas continúan la conversación resaltando y respondiendo a esta historia.

Publicado a través de Hacia la IA