Reconocimiento óptico de caracteres (OCR)

Completado

Nota:

Consulte la pestaña Texto e imágenes para obtener más detalles.

Reconocimiento óptico de caracteres (OCR) es una tecnología que convierte automáticamente texto visual en imágenes (ya sea de documentos escaneados, fotografías o archivos digitales) en datos de texto editables y buscables. En lugar de transcribir manualmente la información, OCR permite la extracción de datos automatizada desde:

  • Facturas digitalizadas y recibos
  • Fotografías digitales de documentos
  • Archivos PDF que contienen imágenes de texto
  • Capturas de pantalla y contenido capturado
  • Formularios y notas manuscritas

El flujo de OCR: un proceso paso a paso

La canalización de OCR consta de cinco fases esenciales que funcionan conjuntamente para transformar la información visual en datos de texto.

Diagrama de la canalización de OCR.

Las fases del proceso de OCR son:

  1. Adquisición y entrada de imágenes.
  2. Preprocesamiento e mejora de imágenes.
  3. Detección de regiones de texto.
  4. Reconocimiento y clasificación de caracteres.
  5. Generación y posprocesamiento de salida.

Vamos a examinar cada fase con más profundidad.

Fase 1: Adquisición y entrada de imágenes

La canalización comienza cuando una imagen que contiene texto entra en el sistema. Esto podría ser:

  • Una fotografía tomada con una cámara de smartphone.
  • Documento escaneado de un escáner plano o de documentos.
  • Fotograma extraído de una secuencia de vídeo.
  • Una página PDF representada como una imagen.

Sugerencia

La calidad de la imagen en esta fase afecta significativamente a la precisión final de la extracción de texto.

Fase 2: Preprocesamiento e mejora de imágenes

Antes de que comience la detección de texto, se usan las técnicas siguientes para optimizar la imagen para mejorar la precisión del reconocimiento:

  • La reducción de ruido elimina artefactos visuales, manchas de polvo y imperfecciones de examen que podrían interferir con la detección de texto. Entre las técnicas específicas que se usan para realizar la reducción del ruido se incluyen:

    • Algoritmos de filtrado y procesamiento de imágenes: filtros gaussianos, filtros medianas y operaciones morfológicas.
    • Modelos de Machine Learning: autoencodificadores con eliminación de ruido y redes neuronales convolucionales (CNN) entrenados específicamente para la limpieza de imágenes de documentos.
  • El ajuste de contraste mejora la diferencia entre texto y fondo para hacer que los caracteres sean más distintos. De nuevo, hay varios enfoques posibles:

    • Métodos clásicos: ecualización del histograma, umbral adaptable y corrección gamma.
    • Aprendizaje automático: modelos de aprendizaje profundo que aprenden parámetros de mejora óptimos para diferentes tipos de documentos.
  • La corrección de asimetría detecta y corrige la rotación de documentos, lo que garantiza que las líneas de texto se alinean correctamente horizontalmente. Entre las técnicas de corrección de asimetría se incluyen:

    • Técnicas matemáticas: transformación Hough para la detección de líneas, perfiles de proyección y análisis de componentes conectados.
    • Modelos de red neuronal: CNN de regresión que predicen ángulos de rotación directamente desde las características de imagen.
  • La optimización de resolución ajusta la resolución de imágenes al nivel óptimo para los algoritmos de reconocimiento de caracteres. Puede optimizar la resolución de imágenes con:

    • Métodos de interpolación: algoritmos de muestreo bicúbica, bilineal y Lanczos.
    • Modelos de Super Resolución: redes generativas adversarias (GANs) y redes residuales que escalan de forma inteligente imágenes de texto en baja resolución.

Fase 3: Detección de regiones de texto

El sistema analiza la imagen preprocesada para identificar áreas que contienen texto mediante las técnicas siguientes:

  • El análisis de diseño distingue entre las regiones de texto, las imágenes, los gráficos y las áreas de espacio en blanco. Entre las técnicas para el análisis de diseño se incluyen las siguientes:

    • Enfoques tradicionales: análisis de componentes conectados, codificación de longitud de ejecución y segmentación basada en proyección.
    • Modelos de aprendizaje profundo: redes de segmentación semántica como U-Net, Mask R-CNN y modelos de análisis de diseño de documentos especializados (por ejemplo, LayoutLM o modelos entrenados por PubLayNet).
  • La identificación de bloques de texto agrupa caracteres individuales en palabras, líneas y párrafos en función de las relaciones espaciales. Entre los enfoques comunes se incluyen:

    • Métodos clásicos: agrupación en clústeres basados en distancia, análisis de espacios en blanco y operaciones morfológicas
    • Redes neuronales: redes neuronales de grafos y modelos de transformador que comprenden la estructura del documento espacial
  • La determinación del orden de lectura establece la secuencia en la que se debe leer el texto (de izquierda a derecha, de arriba abajo para inglés). El orden correcto se puede determinar mediante:

    • Sistemas basados en reglas: algoritmos geométricos que usan coordenadas de rectángulo de límite y heurística espacial.
    • Modelos de aprendizaje automático: modelos de predicción de secuencia y enfoques basados en grafos que aprenden a leer patrones de datos de entrenamiento.
  • La clasificación de regiones identifica diferentes tipos de regiones de texto (encabezados, texto del cuerpo, títulos, tablas).

    • Clasificadores basados en características: máquinas de vectores de soporte (SVM) utilizando características diseñadas manualmente, como el tamaño de fuente, la posición y el formato.
    • Modelos de aprendizaje profundo: redes neuronales convolucionales y transformadores de visión entrenados en conjuntos de datos de documentos etiquetados

Fase 4: reconocimiento y clasificación de caracteres

Este es el núcleo del proceso de OCR en el que se identifican caracteres individuales:

  • Extracción de características: analiza la forma, el tamaño y las características distintivas de cada carácter o símbolo.

    • Métodos tradicionales: características estadísticas como momentos, descriptores de Fourier y características estructurales (bucles, puntos de conexión, intersecciones)
    • Enfoques de aprendizaje profundo: redes neuronales convolucionales que aprenden automáticamente características discriminativas de datos de píxeles sin procesar
  • Coincidencia de patrones: compara las características extraídas con los modelos entrenados que reconocen diferentes fuentes, tamaños y estilos de escritura.

    • Coincidencia de plantillas: comparación directa con plantillas de caracteres almacenadas mediante técnicas de correlación
    • Clasificadores estadísticos: Modelos markov ocultos (HMM), máquinas vectoriales de soporte técnico y vecinos más cercanos mediante vectores de características
    • Redes neuronales: perceptrones de varias capas, CNN y arquitecturas especializadas como LeNet para el reconocimiento de dígitos
    • Aprendizaje profundo avanzado: redes residuales (ResNet), arquitecturas DenseNet y EfficientNet para una clasificación de caracteres sólida
  • Análisis de contexto: usa caracteres y palabras circundantes para mejorar la precisión del reconocimiento a través de búsquedas de diccionarios y modelos de lenguaje.

    • Modelos de N-gramas: modelos de lenguaje estadístico que predicen secuencias de caracteres en función de las distribuciones de probabilidad.
    • Corrección basada en diccionario: la búsqueda léxica con algoritmos de distancia de edición (como la distancia de Levenshtein) para la corrección ortográfica.
    • Modelos de lenguaje neuronal: LSTM y modelos basados en transformadores (como las variantes BERT) que comprenden las relaciones contextuales.
    • Mecanismos de atención: modelos transformadores que se centran en partes relevantes de la entrada al realizar predicciones de caracteres.
  • Puntuación de confianza: asigna puntuaciones de probabilidad a cada carácter reconocido en función del grado de identificación del sistema.

    • Enfoques bayesianos: modelos probabilísticos que cuantifican la incertidumbre en las predicciones de caracteres.
    • Salidas softmax: activaciones de capa final de red neuronal convertidas en distribuciones de probabilidad.
    • Métodos de conjunto: combinación de predicciones de varios modelos para mejorar las estimaciones de confianza.

Fase 5: Generación de salida y posproceso

La fase final convierte los resultados del reconocimiento en datos de texto utilizables:

  • Compilación de texto: ensambla reconocimientos de caracteres individuales en palabras y oraciones completas.

    • Ensamblado basado en reglas: algoritmos deterministas que combinan predicciones de caracteres mediante umbrales de proximidad espacial y confianza.
    • Modelos de secuencia: redes neuronales recurrentes (RNN) y redes long Short-Term memory (LSTM) que modela el texto como datos secuenciales.
    • Modelos basados en la atención: arquitecturas de transformador que pueden controlar secuencias de longitud variable y diseños de texto complejos.
  • Conservación de formato: mantiene la estructura del documento, incluidos los párrafos, los saltos de línea y el espaciado.

    • Algoritmos geométricos: sistemas basados en reglas usando coordenadas de cuadro delimitador y análisis de espacios en blanco.
    • Modelos de comprensión del diseño: redes neuronales gráficas y modelos de inteligencia artificial de documentos que aprenden a partir de relaciones estructurales.
    • Transformadores multi modal: modelos como LayoutLM que combinan información de diseño y texto para la conservación de la estructura.
  • Asignación de coordenadas: registra la posición exacta de cada elemento de texto dentro de la imagen original.

    • Transformación de Coordenadas: Mapeo matemático entre los píxeles de la imagen y las coordenadas del documento.
    • Indexación espacial: estructuras de datos como árboles R y árboles cuadráteros para consultas espaciales eficaces.
    • Modelos de regresión: redes neuronales entrenadas para predecir coordenadas precisas de posicionamiento de texto.
  • Validación de calidad: aplica comprobaciones ortográficas y gramaticales para identificar posibles errores de reconocimiento.

    • Validación basada en diccionario: búsqueda en listas de palabras completas y vocabularios de dominio especializados.
    • Modelos de lenguaje estadístico: modelos de N-gramas y analizadores probabilísticos para la validación de gramática y contexto.
    • Modelos de lenguaje neuronal: modelos entrenados previamente como GPT o BERT optimizados para la detección y corrección de errores OCR.
    • Validación de conjuntos: combinación de varios enfoques de validación para mejorar la precisión de la detección de errores.