5.2 KiB
Capítulo 4: Comparativa de Soluciones OCR
4.1 Introducción
Este capítulo presenta los resultados del estudio comparativo realizado entre tres soluciones OCR de código abierto: EasyOCR, PaddleOCR y DocTR. Los experimentos fueron documentados en el notebook ocr_benchmark_notebook.ipynb del repositorio. El objetivo es identificar el modelo base más prometedor para la posterior fase de optimización de hiperparámetros.
4.2 Configuración del Experimento
4.2.1 Dataset de Evaluación
Se utilizó el documento "Instrucciones para la redacción y elaboración del TFE" del Máster Universitario en Inteligencia Artificial de UNIR, ubicado en la carpeta instructions/.
| Característica | Valor |
|---|---|
| Número de páginas evaluadas | 5 (páginas 1-5 en benchmark inicial) |
| Formato | PDF digital (no escaneado) |
| Idioma | Español |
| Resolución de conversión | 300 DPI |
4.2.2 Configuración de los Modelos
Según el código en ocr_benchmark_notebook.ipynb:
EasyOCR:
easyocr_reader = easyocr.Reader(['es', 'en']) # Spanish and English
PaddleOCR (PP-OCRv5):
paddleocr_model = PaddleOCR(
text_detection_model_name="PP-OCRv5_server_det",
text_recognition_model_name="PP-OCRv5_server_rec",
use_doc_orientation_classify=False,
use_doc_unwarping=False,
use_textline_orientation=True,
)
Versión utilizada: PaddleOCR 3.2.0 (según output del notebook)
DocTR:
doctr_model = ocr_predictor(det_arch="db_resnet50", reco_arch="sar_resnet31", pretrained=True)
4.2.3 Métricas de Evaluación
Se utilizó la biblioteca jiwer para calcular CER y WER:
from jiwer import wer, cer
def evaluate_text(reference, prediction):
return {'WER': wer(reference, prediction), 'CER': cer(reference, prediction)}
4.3 Resultados del Benchmark
4.3.1 Resultados de PaddleOCR (Datos del CSV)
Del archivo results/ai_ocr_benchmark_finetune_results_20251206_113206.csv, se obtienen los siguientes resultados de PaddleOCR para las páginas 5-9 del documento:
| Página | WER | CER |
|---|---|---|
| 5 | 12.16% | 6.33% |
| 6 | 12.81% | 6.40% |
| 7 | 11.06% | 6.24% |
| 8 | 8.13% | 1.54% |
| 9 | 10.61% | 5.58% |
Promedio PaddleOCR (páginas 5-9):
- CER medio: ~5.22%
- WER medio: ~10.95%
4.3.2 Comparativa de Modelos
Según la documentación del notebook ocr_benchmark_notebook.ipynb, los tres modelos evaluados representan diferentes paradigmas de OCR:
| Modelo | Tipo | Componentes | Fortalezas Clave |
|---|---|---|---|
| EasyOCR | End-to-end (det + rec) | DB + CRNN/Transformer | Ligero, fácil de usar, multilingüe |
| PaddleOCR (PP-OCR) | End-to-end (det + rec + cls) | DB + SRN/CRNN | Soporte multilingüe robusto, pipeline configurable |
| DocTR | End-to-end (det + rec) | DB/LinkNet + CRNN/SAR/VitSTR | Orientado a investigación, API limpia |
4.3.3 Ejemplo de Salida OCR
Del archivo CSV, un ejemplo de predicción de PaddleOCR para la página 8:
"Escribe siempre al menos un párrafo de introducción en cada capítulo o apartado, explicando de qué vas a tratar en esa sección. Evita que aparezcan dos encabezados de nivel consecutivos sin ningún texto entre medias. [...] En esta titulacióon se cita de acuerdo con la normativa Apa."
Errores observados en este ejemplo:
titulacióonen lugar detitulación(carácter duplicado)Apaen lugar deAPA(capitalización)
4.4 Justificación de la Selección de PaddleOCR
4.4.1 Criterios de Selección
Basándose en los resultados obtenidos y la documentación del benchmark:
-
Rendimiento: PaddleOCR obtuvo CER entre 1.54% y 6.40% en las páginas evaluadas
-
Configurabilidad: PaddleOCR ofrece múltiples hiperparámetros ajustables:
- Umbrales de detección (
text_det_thresh,text_det_box_thresh) - Umbral de reconocimiento (
text_rec_score_thresh) - Componentes opcionales (
use_textline_orientation,use_doc_orientation_classify,use_doc_unwarping)
- Umbrales de detección (
-
Documentación oficial: PaddleOCR Documentation
4.4.2 Decisión
Se selecciona PaddleOCR (PP-OCRv5) para la fase de optimización debido a:
- Resultados iniciales prometedores (CER ~5%)
- Alta configurabilidad de hiperparámetros de inferencia
- Pipeline modular que permite experimentación
4.5 Limitaciones del Benchmark
- Tamaño reducido: Solo 5 páginas evaluadas en el benchmark comparativo inicial
- Único tipo de documento: Documentos académicos de UNIR únicamente
- Ground truth: El texto de referencia se extrajo automáticamente del PDF, lo cual puede introducir errores en layouts complejos
4.6 Resumen del Capítulo
Este capítulo ha presentado:
- La configuración del benchmark según
ocr_benchmark_notebook.ipynb - Los resultados cuantitativos de PaddleOCR del archivo CSV de resultados
- La justificación de la selección de PaddleOCR para optimización
Fuentes de datos utilizadas:
ocr_benchmark_notebook.ipynb: Código del benchmarkresults/ai_ocr_benchmark_finetune_results_20251206_113206.csv: Resultados numéricos- Documentación oficial de PaddleOCR