# Capítulo 2: Contexto y Estado del Arte ## 2.1 Introducción Este capítulo presenta el marco teórico y tecnológico en el que se desarrolla el presente trabajo. Se revisan los fundamentos del Reconocimiento Óptico de Caracteres (OCR), la evolución de las técnicas basadas en aprendizaje profundo, las principales soluciones de código abierto disponibles y los trabajos previos relacionados con la optimización de sistemas OCR. ## 2.2 Fundamentos del OCR ### 2.2.1 Definición y Evolución Histórica El Reconocimiento Óptico de Caracteres (OCR) es el proceso de conversión de imágenes de texto manuscrito, mecanografiado o impreso en texto codificado digitalmente. La tecnología OCR ha evolucionado significativamente desde sus orígenes en la década de 1950: - **Primera generación (1950-1970)**: Sistemas basados en plantillas que requerían fuentes específicas. - **Segunda generación (1970-1990)**: Introducción de técnicas de extracción de características y clasificadores estadísticos. - **Tercera generación (1990-2010)**: Modelos basados en Redes Neuronales Artificiales y Modelos Ocultos de Markov (HMM). - **Cuarta generación (2010-presente)**: Arquitecturas de aprendizaje profundo que dominan el estado del arte. ### 2.2.2 Pipeline Moderno de OCR Los sistemas OCR modernos siguen típicamente un pipeline de dos etapas: 1. **Detección de texto (Text Detection)**: Localización de regiones que contienen texto en la imagen. Las arquitecturas más utilizadas incluyen: - EAST (Efficient and Accurate Scene Text Detector) - CRAFT (Character Region Awareness for Text Detection) - DB (Differentiable Binarization) 2. **Reconocimiento de texto (Text Recognition)**: Transcripción del contenido textual de las regiones detectadas. Las arquitecturas predominantes son: - CRNN (Convolutional Recurrent Neural Network) con CTC loss - Arquitecturas encoder-decoder con atención - Transformers (ViTSTR, TrOCR) ### 2.2.3 Métricas de Evaluación Las métricas estándar para evaluar sistemas OCR son: **Character Error Rate (CER)**: ``` CER = (S + D + I) / N ``` Donde S = sustituciones, D = eliminaciones, I = inserciones, N = caracteres de referencia. **Word Error Rate (WER)**: ``` WER = (S + D + I) / N ``` Calculado a nivel de palabras en lugar de caracteres. Un CER del 1% significa que 1 de cada 100 caracteres es erróneo. Para aplicaciones críticas como extracción de datos financieros o médicos, se requieren CER inferiores al 1%. ## 2.3 Soluciones OCR de Código Abierto ### 2.3.1 EasyOCR EasyOCR es una biblioteca de OCR desarrollada por Jaided AI que soporta más de 80 idiomas. Sus características principales incluyen: - **Arquitectura**: Detector CRAFT + Reconocedor CRNN/Transformer - **Fortalezas**: Facilidad de uso, soporte multilingüe amplio, bajo consumo de memoria - **Limitaciones**: Menor precisión en documentos complejos, opciones de configuración limitadas - **Caso de uso ideal**: Prototipado rápido y aplicaciones con restricciones de memoria ### 2.3.2 PaddleOCR PaddleOCR es el sistema OCR desarrollado por Baidu como parte del ecosistema PaddlePaddle. La versión PP-OCRv5, utilizada en este trabajo, representa el estado del arte en OCR industrial: - **Arquitectura**: - Detector: DB (Differentiable Binarization) con backbone ResNet - Reconocedor: SVTR (Scene-Text Visual Transformer Recognition) - Clasificador de orientación opcional - **Hiperparámetros configurables**: | Parámetro | Descripción | Valor por defecto | |-----------|-------------|-------------------| | `text_det_thresh` | Umbral de detección de píxeles | 0.3 | | `text_det_box_thresh` | Umbral de caja de detección | 0.6 | | `text_det_unclip_ratio` | Coeficiente de expansión | 1.5 | | `text_rec_score_thresh` | Umbral de confianza de reconocimiento | 0.5 | | `use_textline_orientation` | Clasificación de orientación | False | | `use_doc_orientation_classify` | Clasificación de orientación de documento | False | | `use_doc_unwarping` | Corrección de deformación | False | - **Fortalezas**: Alta precisión, pipeline altamente configurable, modelos específicos para servidor - **Limitaciones**: Mayor complejidad de configuración, dependencia del framework PaddlePaddle ### 2.3.3 DocTR DocTR (Document Text Recognition) es una biblioteca desarrollada por Mindee orientada a la investigación: - **Arquitectura**: - Detectores: DB, LinkNet - Reconocedores: CRNN, SAR, ViTSTR - **Fortalezas**: API limpia, orientación académica, salida estructurada de alto nivel - **Limitaciones**: Menor rendimiento en español comparado con PaddleOCR ### 2.3.4 Comparativa de Arquitecturas | Modelo | Tipo | Componentes | Fortalezas Clave | |--------|------|-------------|------------------| | **EasyOCR** | End-to-end (det + rec) | DB + CRNN/Transformer | Ligero, fácil de usar, multilingüe | | **PaddleOCR** | End-to-end (det + rec + cls) | DB + SVTR/CRNN | Soporte multilingüe robusto, configurable | | **DocTR** | End-to-end (det + rec) | DB/LinkNet + CRNN/SAR/ViTSTR | Orientado a investigación, API limpia | ## 2.4 Optimización de Hiperparámetros ### 2.4.1 Fundamentos La optimización de hiperparámetros (HPO) busca encontrar la configuración de parámetros que maximiza (o minimiza) una métrica objetivo. A diferencia de los parámetros del modelo (pesos), los hiperparámetros no se aprenden durante el entrenamiento. Los métodos de HPO incluyen: - **Grid Search**: Búsqueda exhaustiva en una rejilla predefinida - **Random Search**: Muestreo aleatorio del espacio de búsqueda - **Bayesian Optimization**: Modelado probabilístico de la función objetivo - **Algoritmos evolutivos**: Optimización inspirada en evolución biológica ### 2.4.2 Ray Tune y Optuna **Ray Tune** es un framework de optimización de hiperparámetros escalable que permite: - Ejecución paralela de experimentos - Early stopping de configuraciones poco prometedoras - Integración con múltiples algoritmos de búsqueda **Optuna** es una biblioteca de optimización bayesiana que implementa: - Tree-structured Parzen Estimator (TPE) - Pruning de trials no prometedores - Visualización de resultados La combinación Ray Tune + Optuna permite búsquedas eficientes en espacios de alta dimensionalidad. ### 2.4.3 HPO en Sistemas OCR La aplicación de HPO a sistemas OCR ha sido explorada principalmente en el contexto de: 1. **Preprocesamiento de imagen**: Optimización de parámetros de binarización, filtrado y escalado (Liang et al., 2005) 2. **Arquitecturas de detección**: Ajuste de umbrales de confianza y NMS (Non-Maximum Suppression) 3. **Post-procesamiento**: Optimización de corrección ortográfica y modelos de lenguaje Sin embargo, existe un vacío en la literatura respecto a la optimización sistemática de los hiperparámetros de inferencia en pipelines OCR modernos como PaddleOCR, especialmente para idiomas diferentes del inglés y chino. ## 2.5 OCR para el Idioma Español ### 2.5.1 Particularidades del Español El español presenta características específicas que impactan el OCR: - **Caracteres especiales**: ñ, á, é, í, ó, ú, ü, ¿, ¡ - **Diacríticos**: Los acentos pueden confundirse con ruido o artefactos - **Longitud de palabras**: Palabras generalmente más largas que en inglés - **Puntuación**: Signos de interrogación y exclamación invertidos ### 2.5.2 Datasets y Benchmarks Los principales recursos para evaluación de OCR en español incluyen: - **FUNSD-ES**: Versión en español del dataset de formularios - **MLT (ICDAR)**: Multi-Language Text dataset con muestras en español - **Documentos académicos**: Utilizados en este trabajo (instrucciones TFE de UNIR) ### 2.5.3 Trabajos Previos Los trabajos previos en OCR para español se han centrado principalmente en: 1. Digitalización de archivos históricos (manuscritos coloniales) 2. Procesamiento de documentos de identidad 3. Reconocimiento de texto en escenas naturales La optimización de hiperparámetros para documentos académicos en español representa una contribución original de este trabajo. ## 2.6 Resumen del Capítulo Este capítulo ha presentado: 1. Los fundamentos del OCR moderno y su pipeline de detección-reconocimiento 2. Las tres principales soluciones de código abierto: EasyOCR, PaddleOCR y DocTR 3. Los métodos de optimización de hiperparámetros, con énfasis en Ray Tune y Optuna 4. Las particularidades del OCR para el idioma español El estado del arte revela que, si bien existen soluciones OCR de alta calidad, su optimización para dominios específicos mediante ajuste de hiperparámetros (sin fine-tuning) ha recibido poca atención. Este trabajo contribuye a llenar ese vacío proponiendo una metodología reproducible para la optimización de PaddleOCR en documentos académicos en español.