Make template readable
This commit is contained in:
@@ -1,12 +1,10 @@
|
||||
# Capítulo 2: Contexto y Estado del Arte
|
||||
|
||||
## 2.1 Introducción
|
||||
# Contexto y estado del arte
|
||||
|
||||
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
|
||||
## Contexto del problema
|
||||
|
||||
### 2.2.1 Definición y Evolución Histórica
|
||||
### Definición y Evolución Histórica del OCR
|
||||
|
||||
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:
|
||||
|
||||
@@ -15,7 +13,7 @@ El Reconocimiento Óptico de Caracteres (OCR) es el proceso de conversión de im
|
||||
- **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
|
||||
### Pipeline Moderno de OCR
|
||||
|
||||
Los sistemas OCR modernos siguen típicamente un pipeline de dos etapas:
|
||||
|
||||
@@ -29,61 +27,69 @@ Los sistemas OCR modernos siguen típicamente un pipeline de dos etapas:
|
||||
- Arquitecturas encoder-decoder con atención
|
||||
- Transformers (ViTSTR, TrOCR)
|
||||
|
||||
### 2.2.3 Métricas de Evaluación
|
||||
### 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.
|
||||
**Character Error Rate (CER)**: Se calcula como 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.
|
||||
**Word Error Rate (WER)**: Se calcula de forma análoga pero 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
|
||||
### Particularidades del OCR para el Idioma Español
|
||||
|
||||
### 2.3.1 EasyOCR
|
||||
El español presenta características específicas que impactan el OCR:
|
||||
|
||||
EasyOCR es una biblioteca de OCR desarrollada por Jaided AI que soporta más de 80 idiomas. Sus características principales incluyen:
|
||||
- **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
|
||||
|
||||
## Estado del arte
|
||||
|
||||
### Soluciones OCR de Código Abierto
|
||||
|
||||
#### EasyOCR
|
||||
|
||||
EasyOCR es una biblioteca de OCR desarrollada por Jaided AI (2020) 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
|
||||
|
||||
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:
|
||||
PaddleOCR es el sistema OCR desarrollado por Baidu como parte del ecosistema PaddlePaddle (2024). 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
|
||||
- Detector: DB (Differentiable Binarization) con backbone ResNet (Liao et al., 2020)
|
||||
- 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 |
|
||||
|
||||
**Tabla 1.** *Hiperparámetros configurables de PaddleOCR.*
|
||||
|
||||
| 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 |
|
||||
|
||||
*Fuente: Documentación oficial de PaddleOCR (PaddlePaddle, 2024).*
|
||||
|
||||
- **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
|
||||
|
||||
DocTR (Document Text Recognition) es una biblioteca desarrollada por Mindee orientada a la investigación:
|
||||
DocTR (Document Text Recognition) es una biblioteca desarrollada por Mindee (2021) orientada a la investigación:
|
||||
|
||||
- **Arquitectura**:
|
||||
- Detectores: DB, LinkNet
|
||||
@@ -92,41 +98,45 @@ DocTR (Document Text Recognition) es una biblioteca desarrollada por Mindee orie
|
||||
- **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
|
||||
#### Comparativa de Arquitecturas
|
||||
|
||||
**Tabla 2.** *Comparativa de soluciones OCR de código abierto.*
|
||||
|
||||
| Modelo | Tipo | Componentes | Fortalezas Clave |
|
||||
|--------|------|-------------|------------------|
|
||||
| **EasyOCR** | End-to-end (det + rec) | DB + CRNN/Transformer | Ligero, fácil de usar, multilingüe |
|
||||
| **EasyOCR** | End-to-end (det + rec) | CRAFT + 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
|
||||
*Fuente: Documentación oficial de cada herramienta (JaidedAI, 2020; PaddlePaddle, 2024; Mindee, 2021).*
|
||||
|
||||
### 2.4.1 Fundamentos
|
||||
### Optimización de Hiperparámetros
|
||||
|
||||
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.
|
||||
#### Fundamentos
|
||||
|
||||
La optimización de hiperparámetros (HPO) busca encontrar la configuración de parámetros que maximiza (o minimiza) una métrica objetivo (Feurer & Hutter, 2019). 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
|
||||
- **Random Search**: Muestreo aleatorio del espacio de búsqueda (Bergstra & Bengio, 2012)
|
||||
- **Bayesian Optimization**: Modelado probabilístico de la función objetivo (Bergstra et al., 2011)
|
||||
- **Algoritmos evolutivos**: Optimización inspirada en evolución biológica
|
||||
|
||||
### 2.4.2 Ray Tune y Optuna
|
||||
#### Ray Tune y Optuna
|
||||
|
||||
**Ray Tune** es un framework de optimización de hiperparámetros escalable que permite:
|
||||
**Ray Tune** es un framework de optimización de hiperparámetros escalable (Liaw et al., 2018) 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:
|
||||
**Optuna** es una biblioteca de optimización bayesiana (Akiba et al., 2019) 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
|
||||
#### HPO en Sistemas OCR
|
||||
|
||||
La aplicación de HPO a sistemas OCR ha sido explorada principalmente en el contexto de:
|
||||
|
||||
@@ -138,18 +148,7 @@ La aplicación de HPO a sistemas OCR ha sido explorada principalmente en el cont
|
||||
|
||||
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
|
||||
### Datasets y Benchmarks para Español
|
||||
|
||||
Los principales recursos para evaluación de OCR en español incluyen:
|
||||
|
||||
@@ -157,8 +156,6 @@ Los principales recursos para evaluación de OCR en español incluyen:
|
||||
- **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)
|
||||
@@ -167,7 +164,7 @@ Los trabajos previos en OCR para español se han centrado principalmente en:
|
||||
|
||||
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
|
||||
## Conclusiones
|
||||
|
||||
Este capítulo ha presentado:
|
||||
|
||||
@@ -177,4 +174,3 @@ Este capítulo ha presentado:
|
||||
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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user