Files
MastersThesis/docs/04_comparativa_soluciones.md
2025-12-10 16:06:47 +01:00

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óon en lugar de titulación (carácter duplicado)
  • Apa en lugar de APA (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:

  1. Rendimiento: PaddleOCR obtuvo CER entre 1.54% y 6.40% en las páginas evaluadas

  2. 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)
  3. 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

  1. Tamaño reducido: Solo 5 páginas evaluadas en el benchmark comparativo inicial
  2. Único tipo de documento: Documentos académicos de UNIR únicamente
  3. 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:

  1. La configuración del benchmark según ocr_benchmark_notebook.ipynb
  2. Los resultados cuantitativos de PaddleOCR del archivo CSV de resultados
  3. La justificación de la selección de PaddleOCR para optimización

Fuentes de datos utilizadas:

  • ocr_benchmark_notebook.ipynb: Código del benchmark
  • results/ai_ocr_benchmark_finetune_results_20251206_113206.csv: Resultados numéricos
  • Documentación oficial de PaddleOCR