From b91e31e17350be3d496ff2883a756c3af9be16ab Mon Sep 17 00:00:00 2001
From: sergio {num}. {item} {num}. {item_text} · {bullet_html} {mathml} {latex}
' + '
'.join(nested_lines)
+
item_text = convert_latex_formulas(item_text)
- numbered_items.append(md_to_html_para(item_text))
+ numbered_items.append((md_to_html_para(item_text), nested_bullets))
else:
break
- # Output with proper First/Middle/Last classes
- for idx, item in enumerate(numbered_items):
+ # Output numbered items with nested bullet lists
+ for idx, (item_text, nested_bullets) in enumerate(numbered_items):
num = idx + 1
if len(numbered_items) == 1:
cls = 'MsoListParagraph'
elif idx == 0:
cls = 'MsoListParagraphCxSpFirst'
- elif idx == len(numbered_items) - 1:
+ elif idx == len(numbered_items) - 1 and not nested_bullets:
cls = 'MsoListParagraphCxSpLast'
else:
cls = 'MsoListParagraphCxSpMiddle'
- html_blocks.append(f'
Resumen
El presente Trabajo Fin de Máster aborda la optimización de sistemas de Reconocimiento Óptico de Caracteres (OCR) basados en inteligencia artificial para documentos en español. El objetivo principal es identificar una configuración de hiperparámetros que maximice la precisión del reconocimiento de texto sin requerir fine-tuning de los modelos base.
La metodología combina un benchmark comparativo de tres soluciones de código abierto (EasyOCR, PaddleOCR y DocTR) con un ajuste sistemático de hiperparámetros mediante Ray Tune y Optuna, evaluando 64 configuraciones con aceleración GPU sobre un corpus de 45 páginas. Las métricas de evaluación utilizadas fueron CER y WER.
Los resultados muestran mejoras significativas en el mejor trial (CER 0.79%) y una mejora del 12.8% en CER en la validación sobre el dataset completo (de 8.85% a 7.72%). El parámetro textline_orientation destacó como factor crítico, mientras que text_det_thresh mostró correlación positiva moderada con el error.
-Se concluye que la optimización de hiperparámetros es una alternativa viable al fine-tuning en documentos académicos en español, aunque la generalización depende del tamaño del subconjunto de ajuste. La infraestructura dockerizada facilita la reproducibilidad y la evaluación sistemática de configuraciones OCR.
+Se concluye que la optimización de hiperparámetros es una alternativa viable al fine-tuning en documentos académicos en español, aunque la generalización depende del tamaño del subconjunto de ajuste. En conclusión, la infraestructura dockerizada facilita la reproducibilidad y la evaluación sistemática de configuraciones OCR.
Fuente: metrics_paddle.md, paddle_correlations.csv.
Palabras clave: OCR, PaddleOCR, Optimización de hiperparámetros, Ray Tune, Documentos académicos
@@ -4170,7 +4170,7 @@ EN-US;mso-bidi-language:AR-SA'>This Master's Thesis addresses the optimization of AI-based Optical Character Recognition (OCR) systems for Spanish academic documents. The main objective is to identify a hyperparameter configuration that maximizes recognition accuracy without fine-tuning the base models.
The methodology combines a comparative benchmark of three open-source OCR engines (EasyOCR, PaddleOCR, and DocTR) with a systematic hyperparameter search using Ray Tune and Optuna. Sixty-four configurations were evaluated with GPU acceleration on a 45-page corpus, using CER and WER as evaluation metrics.
Results show significant gains in the best trial (CER 0.79%) and a 12.8% CER improvement on the full dataset (from 8.85% to 7.72%). The textline_orientation parameter had the strongest impact, while text_det_thresh showed a moderate positive correlation with error.
-The study concludes that hyperparameter optimization is a viable alternative to fine-tuning for Spanish academic documents, although generalization depends on the size of the tuning subset. The dockerized infrastructure supports reproducibility and systematic evaluation of OCR configurations.
+The study concludes that hyperparameter optimization is a viable alternative to fine-tuning for Spanish academic documents, although generalization depends on the size of the tuning subset. In conclusion, the dockerized infrastructure supports reproducibility and systematic evaluation of OCR configurations.
Sources: metrics_paddle.md, paddle_correlations.csv.
Keywords: OCR, PaddleOCR, Hyperparameter optimization, Ray Tune, Academic documents
@@ -4531,7 +4531,7 @@ mso-hansi-theme-font:major-latin;mso-bidi-font-family:Arial;color:#0098CD; mso-ansi-language:ES;mso-fareast-language:EN-US;mso-bidi-language:AR-SA'>¿Es posible mejorar significativamente un sistema OCR sin reentrenarlo? Esta pregunta, aparentemente simple, encierra un desafío práctico que afecta a investigadores, instituciones educativas y empresas que necesitan digitalizar documentos pero carecen de los recursos para realizar fine-tuning de modelos neuronales.
El procesamiento de documentos en español presenta particularidades que complican el reconocimiento automático de texto. Los caracteres especiales propios del idioma (la letra ñ, las vocales acentuadas á, é, í, ó, ú, la diéresis ü, y los signos de puntuación invertidos ¿, ¡) no están presentes en muchos conjuntos de entrenamiento internacionales, lo que puede degradar el rendimiento de modelos preentrenados predominantemente en inglés.
-La Tabla 1 resume los principales desafíos lingüísticos del OCR en español:
+La Tabla 1 resume los principales desafíos lingüísticos del OCR en español:
Tabla 1. Desafíos lingüísticos específicos del OCR en español.
Desafío | Descripción | Impacto en OCR |
Caracteres especiales | ñ, á, é, í, ó, ú, ü, ¿, ¡ | Confusión con caracteres similares (n/ñ, a/á) |
Palabras largas | Español permite compuestos largos | Mayor probabilidad de error por carácter |
Abreviaturas | Dr., Sra., Ud., etc. | Puntos internos confunden segmentación |
Nombres propios | Tildes en apellidos (García, Martínez) | Bases de datos sin soporte Unicode |
Fuente: Elaboración propia.
@@ -4550,7 +4550,7 @@ mso-bidi-font-family:"Calibri Light";mso-bidi-theme-font:major-latin'>La brecha entre investigación y prácticaLos modelos OCR basados en redes neuronales profundas, como los empleados en PaddleOCR, EasyOCR o DocTR, ofrecen un rendimiento competitivo en benchmarks estándar. No obstante, estos resultados en condiciones controladas no siempre se trasladan a documentos del mundo real.
La adaptación de modelos preentrenados a dominios específicos típicamente requiere fine-tuning con datos etiquetados del dominio objetivo y recursos computacionales significativos. Esta barrera técnica y económica excluye a muchos investigadores y organizaciones de beneficiarse plenamente de estas tecnologías.
-La Tabla 2 ilustra los requisitos típicos para diferentes estrategias de mejora de OCR:
+La Tabla 2 ilustra los requisitos típicos para diferentes estrategias de mejora de OCR:
Tabla 2. Comparación de estrategias de mejora de modelos OCR.
Estrategia | Datos requeridos | Hardware | Tiempo | Expertise |
Fine-tuning completo | Miles de imágenes etiquetadas | GPU de alta memoria | Días o semanas | Alto |
Fine-tuning parcial | Cientos o miles de imágenes etiquetadas | GPU dedicada | Horas o días | Medio-Alto |
Transfer learning | Centenas de imágenes etiquetadas | GPU dedicada | Horas | Medio |
Optimización de hiperparámetros | Subconjunto de validación | CPU o GPU (CUDA 12.2+ en Docker DocTR) | Horas | Bajo-Medio |
Fuente: docs/07_anexo_a.md, sección A.9.
@@ -4558,7 +4558,7 @@ mso-bidi-font-family:"Calibri Light";mso-bidi-theme-font:major-latin'>La oportunidad: optimización sin fine-tuningLa presente investigación surge de una necesidad práctica: optimizar un sistema OCR para documentos académicos en español sin disponer de infraestructura de entrenamiento dedicada para fine-tuning. Esta restricción, lejos de ser una limitación excepcional, representa la realidad de muchos entornos académicos y empresariales donde el acceso a cómputo avanzado es limitado.
La hipótesis central de este trabajo es que los modelos OCR preentrenados contienen capacidades latentes que pueden activarse mediante la configuración adecuada de sus hiperparámetros de inferencia. Parámetros como los umbrales de detección de texto, las opciones de preprocesamiento de imagen, y los filtros de confianza de reconocimiento pueden tener un impacto significativo en el rendimiento final. Su optimización sistemática puede aproximarse a los beneficios del fine-tuning sin sus costes asociados.
-Esta oportunidad se ve reforzada por la disponibilidad de frameworks modernos de optimización de hiperparámetros como Ray Tune (Liaw et al., 2018) y algoritmos de búsqueda eficientes como Optuna (Akiba et al., 2019), que permiten explorar espacios de configuración de manera sistemática y eficiente.
+Esta oportunidad se ve reforzada por la disponibilidad de frameworks modernos de optimización de hiperparámetros como Ray Tune y algoritmos de búsqueda eficientes como Optuna, que permiten explorar espacios de configuración de manera sistemática y eficiente.
Las observaciones anteriores conducen a formular el problema central de este trabajo:
@@ -4587,10 +4587,10 @@ mso-bidi-font-family:"Calibri Light";mso-bidi-theme-font:major-latin'>Pequeñas y medianas empresas: Organizaciones que automatizan flujos documentales (facturas, contratos, correspondencia) sin presupuesto para soluciones enterprise o infraestructura GPU.Desarrolladores de software: Quienes integran OCR en aplicaciones con restricciones de recursos, como dispositivos móviles o servidores compartidos, y necesitan maximizar el rendimiento sin costes adicionales de hardware.
El documento sigue una estructura que refleja el proceso investigador. Tras esta introducción, el Capítulo 2 sitúa el trabajo en su contexto técnico y revisa las tecnologías OCR basadas en aprendizaje profundo. Se describen las arquitecturas de detección, los modelos de reconocimiento y los trabajos previos en optimización de estos sistemas.
-El Capítulo 3 traduce las preguntas de investigación en objetivos concretos, siguiendo la metodología SMART. Además, describe con detalle el enfoque experimental: preparación del dataset, métricas de evaluación y configuración del proceso de optimización con Ray Tune y Optuna.
-El núcleo del trabajo se desarrolla en el Capítulo 4, que presenta el estudio comparativo y la optimización de hiperparámetros en tres fases: planteamiento de la comparativa con evaluación de EasyOCR, PaddleOCR y DocTR; desarrollo de la optimización mediante 64 trials con Ray Tune; y análisis crítico de los resultados obtenidos.
-Finalmente, el Capítulo 5 sintetiza las contribuciones, evalúa el grado de cumplimiento de los objetivos y propone líneas de trabajo futuro. Los Anexos proporcionan acceso al repositorio de código fuente y datos, así como tablas detalladas de resultados experimentales.
El Capítulo 3 traduce las preguntas de investigación en objetivos concretos, siguiendo la metodología SMART. Además, describe con detalle el enfoque experimental: preparación del dataset, métricas de evaluación y configuración del proceso de optimización con Ray Tune y Optuna.
+El núcleo del trabajo se desarrolla en el Capítulo 4, que presenta el estudio comparativo y la optimización de hiperparámetros en tres fases: planteamiento de la comparativa con evaluación de EasyOCR, PaddleOCR y DocTR; desarrollo de la optimización mediante 64 trials con Ray Tune; y análisis crítico de los resultados obtenidos.
+Finalmente, el Capítulo 5 sintetiza las contribuciones, evalúa el grado de cumplimiento de los objetivos y propone líneas de trabajo futuro. Los Anexos proporcionan acceso al repositorio de código fuente y datos, así como tablas detalladas de resultados experimentales.
1. Capas convolucionales: Extraen características visuales de la imagen de entrada
2. Capas recurrentes: Modelan las dependencias secuenciales entre características
-3. Capa de transcripción: Convierte las predicciones de la RNN en secuencias de caracteres mediante CTC
SVTR (Scene-Text Visual Transformer Recognition): Desarrollado por Du et al. (2022), SVTR aplica la arquitectura Transformer al reconocimiento de texto, utilizando parches de imagen como tokens de entrada. Esta aproximación elimina la necesidad de RNN y permite capturar dependencias globales de manera más eficiente.
3. Capa de transcripción: Convierte las predicciones de la RNN en secuencias de caracteres mediante CTC
+SVTR (Scene-Text Visual Transformer Recognition): Desarrollado por Du et al. (2022), SVTR aplica la arquitectura Transformer al reconocimiento de texto, utilizando parches de imagen como tokens de entrada. Esta aproximación elimina la necesidad de RNN y permite capturar dependencias globales de manera más eficiente.
Arquitecturas con Atención: Los modelos encoder-decoder con mecanismos de atención (Bahdanau et al., 2015) permiten al decodificador "enfocarse" en diferentes partes de la imagen mientras genera cada carácter. Esto es especialmente útil para texto largo o con layouts complejos.
TrOCR (Transformer-based OCR): Propuesto por Li et al. (2023), TrOCR utiliza un Vision Transformer (ViT) como encoder y un Transformer de lenguaje como decoder, logrando resultados estado del arte en múltiples benchmarks.
Tabla 5. Comparativa de arquitecturas de reconocimiento de texto.
@@ -4672,11 +4673,11 @@ _Toc14106979">La evaluación rigurosa de sistemas OCR requiere métricas estandarizadas que permitan comparaciones objetivas. Las métricas fundamentales se basan en la distancia de edición de Levenshtein.La distancia de Levenshtein (Levenshtein, 1966) entre dos cadenas es el número mínimo de operaciones de edición (inserción, eliminación, sustitución) necesarias para transformar una cadena en otra. Formalmente, para dos cadenas a y b:
- +d(a,b) = \min(\text{inserciones} + \text{eliminaciones} + \text{sustituciones})
Esta métrica es fundamental para calcular tanto CER como WER.
El CER mide el error a nivel de carácter y se calcula como:
- +CER = \frac{S + D + I}{N}
Donde:
· S = número de sustituciones de caracteres
· D = número de eliminaciones de caracteres
@@ -4685,7 +4686,7 @@ _Toc14106979">Un CER bajo indica que el sistema comete pocos errores a nivel de carácter. Para aplicaciones críticas se requiere un nivel de error muy reducido, mientras que en tareas de búsqueda o archivo pueden aceptarse errores mayores.El WER mide el error a nivel de palabra, utilizando la misma fórmula pero considerando palabras como unidades:
- +WER = \frac{S_w + D_w + I_w}{N_w}
El WER es generalmente mayor que el CER, ya que un solo error de carácter puede invalidar una palabra completa. Esta diferencia es relevante cuando se comparan sistemas que preservan caracteres pero pierden palabras completas.
Precisión y Recall a nivel de palabra: Útiles cuando se evalúa la capacidad del sistema para detectar palabras específicas.
@@ -4715,7 +4716,7 @@ _Toc14106979">Soluciones OCR de Código AbiertoEn los últimos años han surgido varias soluciones OCR de código abierto que democratizan el acceso a esta tecnología. A continuación se analizan en detalle las tres principales alternativas evaluadas en este trabajo.
EasyOCR es una biblioteca de OCR desarrollada por JaidedAI (2020) con el objetivo de proporcionar una solución de fácil uso que soporte múltiples idiomas. Actualmente soporta más de 80 idiomas, incluyendo español.
+EasyOCR es una librería de OCR desarrollada por JaidedAI (2020) con el objetivo de proporcionar una solución de fácil uso que soporte múltiples idiomas. Actualmente soporta más de 80 idiomas, incluyendo español.
Arquitectura técnica:
· Detector: CRAFT (Character Region Awareness for Text Detection)
· Reconocedor: CRNN con backbone ResNet/VGG + BiLSTM + CTC
@@ -4735,9 +4736,19 @@ _Toc14106979">PaddleOCR es el sistema OCR desarrollado por Baidu como parte del ecosistema PaddlePaddle (2024). Representa una de las soluciones más completas y activamente mantenidas en el ecosistema de código abierto. Su evolución incluye PP-OCR (Du et al., 2020) y PP-OCRv4 (Du et al., 2023); la versión PP-OCRv5, utilizada en este trabajo, incorpora avances recientes en precisión y eficiencia.Arquitectura técnica:
El pipeline de PaddleOCR consta de tres módulos principales:
-1. Detector de texto (DB - Differentiable Binarization):
Backbone: ResNet18/ResNet50
Neck: FPN (Feature Pyramid Network)
Head: Segmentación con binarización diferenciable
Salida: Polígonos que encierran regiones de texto
2. Clasificador de orientación:
Determina si el texto está rotado 0° o 180°
Permite corrección automática de texto invertido
Opcional pero recomendado para documentos escaneados
3. Reconocedor de texto (SVTR):
Encoder: Vision Transformer modificado
Decoder: CTC o Attention-based
Vocabulario: Configurable por idioma
1. Detector de texto (DB - Differentiable Binarization):
+· Backbone: ResNet18/ResNet50
+· Neck: FPN (Feature Pyramid Network)
+· Head: Segmentación con binarización diferenciable
+· Salida: Polígonos que encierran regiones de texto
+2. Clasificador de orientación:
+· Determina si el texto está rotado 0° o 180°
+· Permite corrección automática de texto invertido
+· Opcional pero recomendado para documentos escaneados
+3. Reconocedor de texto (SVTR):
+· Encoder: Vision Transformer modificado
+· Decoder: CTC o Attention-based
+· Vocabulario: Configurable por idioma
Hiperparámetros configurables:
PaddleOCR expone numerosos hiperparámetros que permiten ajustar el comportamiento del sistema. Los más relevantes para este trabajo son:
Tabla 6. Hiperparámetros de detección de PaddleOCR.
@@ -4796,18 +4807,16 @@ _Toc14106979">· Parámetros de regularización (dropout, weight decay)· Umbrales de decisión en tiempo de inferencia (relevante para este trabajo)
El problema de HPO puede formalizarse como:
- +\lambda^* = \operatorname{argmin}_{\lambda \in \Lambda} \mathcal{L}(M_\lambda, D_{val})
Donde:
-· es un vector de hiperparámetros
-· es el espacio de búsqueda
-· es el modelo configurado con
-· es la función de pérdida
-· es el conjunto de validación
+· \lambda es un vector de hiperparámetros
+· \Lambda es el espacio de búsqueda
+· M_\lambda es el modelo configurado con \lambda
+· \mathcal{L} es la función de pérdida
+· D_{val} es el conjunto de validación
Grid Search (Búsqueda en rejilla):
- -El método más simple consiste en evaluar todas las combinaciones posibles de valores discretizados de los hiperparámetros. Para hiperparámetros con valores cada uno, requiere evaluaciones. - +El método más simple consiste en evaluar todas las combinaciones posibles de valores discretizados de los hiperparámetros. Para k hiperparámetros con n valores cada uno, requiere n^k evaluaciones.
Ventajas:
· Exhaustivo y reproducible
· Fácil de paralelizar
@@ -4825,20 +4834,18 @@ El método más simple consiste en evaluar todas las combinaciones posibles de v1. Ajustar el modelo sustituto a las observaciones actuales
2. Optimizar la función de adquisición para seleccionar el siguiente punto
3. Evaluar la función objetivo en el punto seleccionado
-4. Actualizar las observaciones y repetir
Los modelos sustitutos más comunes son:
Procesos Gaussianos (GP): Proporcionan incertidumbre bien calibrada pero escalan pobremente
Random Forests: Manejan bien espacios de alta dimensión y variables categóricas
Tree-structured Parzen Estimator (TPE): Modela densidades en lugar de la función objetivo
4. Actualizar las observaciones y repetir
+Los modelos sustitutos más comunes son:
+· Procesos Gaussianos (GP): Proporcionan incertidumbre bien calibrada pero escalan pobremente
+· Random Forests: Manejan bien espacios de alta dimensión y variables categóricas
+· Tree-structured Parzen Estimator (TPE): Modela densidades en lugar de la función objetivo
TPE, propuesto por Bergstra et al. (2011) e implementado en Optuna, es particularmente efectivo para HPO. En lugar de modelar p(y|\lambda) directamente, TPE modela:
+p(\lambda|y) = \begin{cases} l(\lambda) & \text{si } y < y^ \\ g(\lambda) & \text{si } y \geq y^ \end{cases}
Donde y^* es un umbral (típicamente el percentil 15-25 de las observaciones), l(\lambda) es la densidad de hiperparámetros con buen rendimiento, y g(\lambda) es la densidad de hiperparámetros con mal rendimiento.
La función de adquisición Expected Improvement se aproxima como:
- - -Configuraciones con alta probabilidad bajo y baja probabilidad bajo tienen mayor Expected Improvement. - +EI(\lambda) \propto \frac{l(\lambda)}{g(\lambda)}
Configuraciones con alta probabilidad bajo l y baja probabilidad bajo g tienen mayor Expected Improvement.
Ventajas de TPE:
· Maneja naturalmente espacios condicionales (hiperparámetros que dependen de otros)
· Eficiente para espacios de alta dimensión
@@ -4863,6 +4870,7 @@ Configuraciones con alta probabilidad bajo El espacio de búsqueda se definió utilizando tune.choice() para parámetros booleanos y tune.uniform() para parámetros continuos, con OptunaSearch como algoritmo de optimización configurado para minimizar CER en 64 trials. La implementación completa está disponible en src/raytune/raytune_ocr.py (ver Anexo A). Ray Tune se apoya en el ecosistema Ray para escalar la búsqueda (Moritz et al., 2018).Se implementó una arquitectura basada en contenedores Docker para aislar los servicios OCR y facilitar la reproducibilidad (ver sección 4.2.3 para detalles de la arquitectura).
+Se implementó una arquitectura basada en contenedores Docker para aislar los servicios OCR y facilitar la reproducibilidad (ver Desarrollo de la comparativa en el Capítulo 4 para detalles de la arquitectura).
Los servicios se orquestan mediante Docker Compose:
· src/docker-compose.tuning.paddle.yml
@@ -5044,7 +5061,8 @@ docker compose -f docker-compose.tuning.doctr.yml down2. Sin límites de tiempo: AWS y Colab imponen timeouts de sesión que interrumpen experimentos largos
3. Acceso instantáneo: Sin tiempo de aprovisionamiento de instancias cloud
4. Almacenamiento local: Dataset y resultados en disco sin costos de transferencia
-5. Iteración rápida: Reinicio inmediato de contenedores Docker para depuración
Para un proyecto de investigación con múltiples iteraciones de ajuste de hiperparámetros, la ejecución local reduce costos frente a servicios cloud. Este análisis se detalla en docs/metrics/metrics.md.)
5. Iteración rápida: Reinicio inmediato de contenedores Docker para depuración
+Para un proyecto de investigación con múltiples iteraciones de ajuste de hiperparámetros, la ejecución local reduce costos frente a servicios cloud. Este análisis se detalla en docs/metrics/metrics.md.)
1. Tamaño del dataset: El dataset contiene 45 páginas de documentos académicos UNIR. Resultados pueden no generalizar a otros formatos.
2. Subconjunto de optimización: El ajuste de hiperparámetros se realizó sobre 5 páginas (páginas 5-10), y su impacto se analiza en detalle en el capítulo de desarrollo específico.
@@ -5054,7 +5072,7 @@ docker compose -f docker-compose.tuning.doctr.yml downLos objetivos y la metodología definidos en este capítulo establecen el marco para la experimentación. El objetivo general, alcanzar un CER inferior al 2% mediante optimización de hiperparámetros, se descompone en cinco objetivos específicos que abarcan desde la comparativa inicial de soluciones hasta la validación final de la configuración optimizada.
La metodología experimental en cinco fases garantiza un proceso sistemático y reproducible: preparación de un dataset de 45 páginas, benchmark comparativo de tres motores OCR, definición del espacio de búsqueda, ejecución de 64 trials con Ray Tune y Optuna, y validación de la configuración resultante. Las limitaciones metodológicas, como el tamaño del dataset, el subconjunto de optimización reducido y el texto de referencia automático, se reconocen explícitamente para contextualizar la interpretación de resultados.
El capítulo siguiente pone en práctica esta metodología, presentando el desarrollo experimental completo con sus resultados y análisis.
SEQ Tabla \* ARABIC 36. Correlación de parámetros con CER.
Parámetro | Correlación con CER | Interpretación |
use_doc_unwarping | +0.879 | Correlación alta positiva |
use_doc_orientation_classify | -0.712 | Correlación alta negativa |
textline_orientation | -0.535 | Correlación moderada negativa |
text_det_thresh | +0.428 | Correlación moderada positiva |
text_det_box_thresh | +0.311 | Correlación moderada positiva |
text_rec_score_thresh | -0.268 | Correlación moderada negativa |
text_det_unclip_ratio | NaN | Varianza cero (valor fijo) |
Fuente: src/results/correlations/paddle_correlations.csv.
@@ -5489,7 +5507,8 @@ Configuración óptima:El clasificador de orientación de línea resuelve un problema fundamental en documentos con secciones y cambios de formato: determinar el orden correcto de lectura. Sin este clasificador:
1. Las líneas del índice pueden mezclarse con el cuerpo del texto
2. Los encabezados pueden insertarse en posiciones incorrectas
-3. Las listas numeradas pueden leerse en orden incorrecto
Para documentos académicos que típicamente incluyen índice, listas y encabezados multinivel, este clasificador es esencial.
3. Las listas numeradas pueden leerse en orden incorrecto
+Para documentos académicos que típicamente incluyen índice, listas y encabezados multinivel, este clasificador es esencial.
Recomendación: Siempre activar textline_orientation=True para documentos estructurados.
Comportamiento observado:
@@ -5540,14 +5559,14 @@ Configuración óptima:Parámetro | Valor | Prioridad | Justificación |
textline_orientation | True | Obligatorio | Crítico para documentos con secciones |
use_doc_orientation_classify | True | Recomendado | Mejora orientación de documento |
text_det_thresh | 0.05 (rango: 0.04-0.10) | Recomendado | Detección sensible beneficia resultados |
text_det_box_thresh | 0.49 (rango: 0.4-0.6) | Recomendado | Balance de confianza |
text_rec_score_thresh | 0.57 (rango: 0.5-0.7) | Opcional | Filtra reconocimientos poco confiables |
use_doc_unwarping | False | No recomendado | Innecesario para PDFs digitales |
Fuente: src/results/raytune_paddle_results_20260119_122609.csv.
La optimización de hiperparámetros es recomendable cuando:
1. GPU disponible: Acelera significativamente la exploración del espacio de hiperparámetros (82x más rápido que CPU).
2. Modelo preentrenado adecuado: El modelo ya soporta el idioma objetivo (como PaddleOCR para español).
3. Dominio específico: Se busca optimizar para un tipo de documento particular.
4. Mejora incremental: El rendimiento baseline es aceptable pero mejorable.
5. Sin datos de entrenamiento: No se dispone de datasets etiquetados para fine-tuning.
-La optimización de hiperparámetros puede ser insuficiente cuando:
1. Idioma no soportado: El modelo no incluye el idioma en su vocabulario.
2. Escritura manuscrita: Requiere fine-tuning o modelos especializados.
@@ -5602,7 +5621,7 @@ Configuración óptima:Fuente: docs/metrics/metrics.md.
Los modelos Server, a pesar de ofrecer potencialmente mayor precisión, resultan inviables en hardware con VRAM limitada (≤6 GB) debido a errores de memoria (Out of Memory). Los modelos Mobile, con un consumo de memoria 88 veces menor, funcionan de manera estable y ofrecen rendimiento suficiente para el caso de uso evaluado.
-La validación con aceleración GPU demuestra que la configuración optimizada mediante Ray Tune mejora la precisión (CER: 8.85% → 7.72% en dataset completo, 0.79% en mejor trial individual) y, combinada con la aceleración de 82x proporcionada por GPU, resulta prácticamente aplicable en escenarios de producción real. Las conclusiones derivadas de esta validación se presentan en el Capítulo 5.
Nota: El objetivo de CER < 2% se cumple en el mejor trial individual (0.79%, 5 páginas). La validación sobre el conjunto de datos completo (45 páginas) muestra un CER de 7.72%, evidenciando sobreajuste al subconjunto de optimización. Esta diferencia se analiza en detalle en el Capítulo 4.
+Nota: El objetivo de CER < 2% se cumple en el mejor trial individual (0.79%, 5 páginas). La validación sobre el conjunto de datos completo (45 páginas) muestra un CER de 7.72%, evidenciando sobreajuste al subconjunto de optimización. Esta diferencia se analiza en detalle en el Capítulo 4.
La evaluación comparativa de soluciones OCR (OE1) reveló diferencias significativas entre las tres alternativas analizadas. De las tres soluciones de código abierto evaluadas, EasyOCR, PaddleOCR (PP-OCRv5) y DocTR, PaddleOCR demostró el mejor rendimiento base para documentos en español. Además, su arquitectura modular y la amplia configurabilidad de su pipeline lo convierten en el candidato idóneo para optimización mediante ajuste de hiperparámetros.
@@ -5824,7 +5843,7 @@ analyze_results(results, prefix='raytune_paddle', config_keys=PADDLE_OCR_CONFIG_Fuente: src/results/raytune_paddle_results_20260119_122609.csv.
Nota: Ver Figura 15 en el Capítulo 4 para la representación gráfica de esta distribución.
+Nota: Ver Figura 15 en el Capítulo 4 para la representación gráfica de esta distribución.
La siguiente configuración logró el mejor rendimiento en el ajuste de hiperparámetros:
@@ -5850,7 +5869,7 @@ analyze_results(results, prefix='raytune_paddle', config_keys=PADDLE_OCR_CONFIG_Fuente: Datos de tiempo CPU de src/raytune_paddle_subproc_results_20251207_192320.csv y tiempos de GPU en trials de ajuste. Elaboración propia.
Nota: Ver Figura 20 en el Capítulo 4 para la representación gráfica de esta comparación.
+Nota: Ver Figura 20 en el Capítulo 4 para la representación gráfica de esta comparación.
Tabla A8. Tipos de errores identificados por servicio OCR.
@@ -5875,7 +5894,12 @@ analyze_results(results, prefix='raytune_paddle', config_keys=PADDLE_OCR_CONFIG_· PaddleOCR: soporte de inferencia con CUDA 12.
· PaddleOCR: soporte de Python 3.12 en dependencias.
El código se distribuye bajo licencia MIT.
El código se distribuye bajo licencia MIT.
+Tabla A10. Acrónimos utilizados en el trabajo.
+Acrónimo | Significado |
OCR | Reconocimiento Óptico de Caracteres |
CER | Character Error Rate (tasa de error de caracteres) |
WER | Word Error Rate (tasa de error de palabras) |
GPU | Graphics Processing Unit |
CPU | Central Processing Unit |
API | Application Programming Interface |
Fuente: Elaboración propia.
+