Initial analysis for 15.10.2025
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1 +1,2 @@
|
||||
~$*.docx
|
||||
results/
|
||||
|
||||
54
README.md
54
README.md
@@ -1,31 +1,53 @@
|
||||
# 🧠 Intelligent OCR System for Scanned PDF Documents
|
||||
# Sistema OCR multimotor con IA para PDFs escaneados en español
|
||||
|
||||
**Master’s Thesis – Software Development Project**
|
||||
**Línea de trabajo:** Percepción computacional & Aprendizaje automático
|
||||
**Author:** Sergio Jiménez
|
||||
**Institution:** [UNIR - Universidad Internacional de La Rioja](https://www.unir.net/ingenieria/master-inteligencia-artificial/)
|
||||
**Trabajo Fin de Máster (TFM) – Tipo 2: Desarrollo de Software**
|
||||
**Líneas:** Percepción computacional · Aprendizaje automático
|
||||
**Autor:** Sergio Jiménez Jiménez · **UNIR** · **Año:** 2025
|
||||
|
||||
**Date:** 2025
|
||||
> Extracción de texto desde **PDFs escaneados** en **español** mediante **motores OCR basados en IA** (EasyOCR · PaddleOCR · DocTR).
|
||||
> Se excluyen soluciones clásicas como **Tesseract** o propietarias como **ABBYY**, centrando el proyecto en modelos neuronales modernos.
|
||||
|
||||
---
|
||||
|
||||
## 📘 Overview
|
||||
## 🧭 Objetivo
|
||||
|
||||
This project develops an **intelligent system for text extraction from scanned PDF documents**, combining **computer vision techniques** and **modern OCR models based on deep learning**.
|
||||
The goal is to overcome the limitations of traditional OCR tools (e.g., Tesseract) when dealing with **low-quality, skewed, or noisy scanned documents**, particularly in **Spanish**.
|
||||
Desarrollar y evaluar un **sistema OCR multimotor** capaz de:
|
||||
- Procesar PDFs escaneados extremo a extremo (**PDF → Imagen → Preprocesado → OCR → Evaluación**).
|
||||
- **Reducir el CER al menos un 15 %** respecto a una línea base neuronal (EasyOCR).
|
||||
- Mantener **tiempos por página** adecuados y un pipeline **modular y reproducible**.
|
||||
|
||||
**Métricas principales:**
|
||||
- **CER** (*Character Error Rate*)
|
||||
- **WER** (*Word Error Rate*)
|
||||
- **Latencia por página*
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Objectives
|
||||
## 🧩 Alcance y diseño
|
||||
|
||||
- Develop a **modular OCR pipeline** that processes scanned PDFs end-to-end.
|
||||
- Compare classical OCR tools with **state-of-the-art deep learning approaches** (EasyOCR, TrOCR, CRNN).
|
||||
- Evaluate performance using **Character Error Rate (CER)** and **Word Error Rate (WER)**.
|
||||
- Provide a **CLI-based demonstration tool** and analysis module for automated evaluation.
|
||||
- **Idioma:** español (texto impreso, no manuscrito).
|
||||
- **Entrada:** PDFs escaneados con calidad variable, ruido o inclinación.
|
||||
- **Motores evaluados:**
|
||||
- **EasyOCR** – baseline neuronal ligera.
|
||||
- **PaddleOCR (PP-OCR)** – referencia industrial multilingüe.
|
||||
- **DocTR (Mindee)** – arquitectura PyTorch modular con salida estructurada.
|
||||
- **Evaluación:** CER, WER y latencia promedio por página.
|
||||
|
||||
---
|
||||
|
||||
## 🧩 System Architecture
|
||||
## 🏗️ Arquitectura del sistema
|
||||
|
||||
TODO
|
||||
```text
|
||||
PDF (escaneado)
|
||||
└─► Conversión a imagen (PyMuPDF / pdf2image)
|
||||
└─► Preprocesado (OpenCV)
|
||||
└─► OCR (EasyOCR | PaddleOCR | DocTR)
|
||||
└─► Evaluación (CER · WER · latencia)
|
||||
```
|
||||
|
||||
## 🔜 Próximos pasos
|
||||
|
||||
1. Ajustar parámetros y arquitecturas en DocTR (detector y reconocedor).
|
||||
2. Añadir métricas de latencia.
|
||||
3. Incorporar postprocesamiento lingüístico (corrección ortográfica).
|
||||
4. Explorar TrOCR o MMOCR como comparación avanzada en la segunda fase.
|
||||
|
||||
996
ocr_benchmark_notebook.ipynb
Normal file
996
ocr_benchmark_notebook.ipynb
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
Reference in New Issue
Block a user