TFG: Visual Document Understanding

TFG: Visual Document Understanding

external-link

Mar 2025

Finished

Bachelor's thesis addressing VDU (Visual Document Understanding): extracting structured data (JSON) from document images. Implements and compares three approaches: (1) Azure OCR + LLM pipeline for prompt-guided extraction, (2) fine-tuning of custom OCR models adapted to the specific task, and (3) DONUT (Document Understanding Transformer by Clova AI), an end-to-end encoder-decoder transformer that directly processes the document image and generates structured output. DONUT is trained with PyTorch Lightning, with custom tokenizer and image processor. Includes ground-truth validation, edit distance metrics, and sync scripts with private company repository. Full containerization with Docker Compose.

Technologies
ai

AI

docker

Docker

huggingface

HuggingFace

jupyter

Jupyter

matplot

Matplot

numpy

NumPy

pandas

Pandas

plotly

Plotly

python

Python

pytorch

PyTorch

https://raw.githubusercontent.com/MiquelGomezCorral/TFG_Miquel/main/readme-images/image_169.png?v=be2b2da730937df59e54873c1818fd3df4de15da
https://raw.githubusercontent.com/MiquelGomezCorral/TFG_Miquel/main/readme-images/image (1)_169.png?v=44d6fbbe825aa12fc0d0662e078e4ff3ee232757
https://raw.githubusercontent.com/MiquelGomezCorral/TFG_Miquel/main/readme-images/image (2)_169.png?v=57e59be3ac3811d0dd06aa24c87c6a5b18d43f8e
https://raw.githubusercontent.com/MiquelGomezCorral/TFG_Miquel/main/readme-images/image (3)_169.png?v=9f73128924a217e9c5a6f5cc3455140edab9ae90
https://raw.githubusercontent.com/MiquelGomezCorral/TFG_Miquel/main/readme-images/image (4)_169.png?v=92fe5a6d2ce1e1f001ffd4da28052387bd5c7348
https://raw.githubusercontent.com/MiquelGomezCorral/TFG_Miquel/main/readme-images/image (5)_169.png?v=9f73128924a217e9c5a6f5cc3455140edab9ae90
https://raw.githubusercontent.com/MiquelGomezCorral/TFG_Miquel/main/readme-images/image (6)_169.png?v=cc7f383b65375021e140c89c04b3af46c20d4eac
https://raw.githubusercontent.com/MiquelGomezCorral/TFG_Miquel/main/readme-images/image (7)_169.png?v=a8cf8da938d110faee4f0b624454abeb7ad77da6
https://raw.githubusercontent.com/MiquelGomezCorral/TFG_Miquel/main/readme-images/Thumbnail.gif?v=1307b425fc59576e1b47f7c5563a3da5e5c5711d
https://raw.githubusercontent.com/MiquelGomezCorral/TFG_Miquel/main/readme-images/image_169.png?v=be2b2da730937df59e54873c1818fd3df4de15da
https://raw.githubusercontent.com/MiquelGomezCorral/TFG_Miquel/main/readme-images/image (1)_169.png?v=44d6fbbe825aa12fc0d0662e078e4ff3ee232757
https://raw.githubusercontent.com/MiquelGomezCorral/TFG_Miquel/main/readme-images/image (2)_169.png?v=57e59be3ac3811d0dd06aa24c87c6a5b18d43f8e
https://raw.githubusercontent.com/MiquelGomezCorral/TFG_Miquel/main/readme-images/image (3)_169.png?v=9f73128924a217e9c5a6f5cc3455140edab9ae90
https://raw.githubusercontent.com/MiquelGomezCorral/TFG_Miquel/main/readme-images/image (4)_169.png?v=92fe5a6d2ce1e1f001ffd4da28052387bd5c7348
https://raw.githubusercontent.com/MiquelGomezCorral/TFG_Miquel/main/readme-images/image (5)_169.png?v=9f73128924a217e9c5a6f5cc3455140edab9ae90
https://raw.githubusercontent.com/MiquelGomezCorral/TFG_Miquel/main/readme-images/image (6)_169.png?v=cc7f383b65375021e140c89c04b3af46c20d4eac
https://raw.githubusercontent.com/MiquelGomezCorral/TFG_Miquel/main/readme-images/image (7)_169.png?v=a8cf8da938d110faee4f0b624454abeb7ad77da6
https://raw.githubusercontent.com/MiquelGomezCorral/TFG_Miquel/main/readme-images/Thumbnail.gif?v=1307b425fc59576e1b47f7c5563a3da5e5c5711d
https://raw.githubusercontent.com/MiquelGomezCorral/TFG_Miquel/main/readme-images/image_169.png?v=be2b2da730937df59e54873c1818fd3df4de15da
https://raw.githubusercontent.com/MiquelGomezCorral/TFG_Miquel/main/readme-images/image (1)_169.png?v=44d6fbbe825aa12fc0d0662e078e4ff3ee232757
https://raw.githubusercontent.com/MiquelGomezCorral/TFG_Miquel/main/readme-images/image (2)_169.png?v=57e59be3ac3811d0dd06aa24c87c6a5b18d43f8e
https://raw.githubusercontent.com/MiquelGomezCorral/TFG_Miquel/main/readme-images/image (3)_169.png?v=9f73128924a217e9c5a6f5cc3455140edab9ae90
https://raw.githubusercontent.com/MiquelGomezCorral/TFG_Miquel/main/readme-images/image (4)_169.png?v=92fe5a6d2ce1e1f001ffd4da28052387bd5c7348
https://raw.githubusercontent.com/MiquelGomezCorral/TFG_Miquel/main/readme-images/image (5)_169.png?v=9f73128924a217e9c5a6f5cc3455140edab9ae90
https://raw.githubusercontent.com/MiquelGomezCorral/TFG_Miquel/main/readme-images/image (6)_169.png?v=cc7f383b65375021e140c89c04b3af46c20d4eac
https://raw.githubusercontent.com/MiquelGomezCorral/TFG_Miquel/main/readme-images/image (7)_169.png?v=a8cf8da938d110faee4f0b624454abeb7ad77da6
https://raw.githubusercontent.com/MiquelGomezCorral/TFG_Miquel/main/readme-images/Thumbnail.gif?v=1307b425fc59576e1b47f7c5563a3da5e5c5711d
https://raw.githubusercontent.com/MiquelGomezCorral/TFG_Miquel/main/readme-images/image_169.png?v=be2b2da730937df59e54873c1818fd3df4de15da
https://raw.githubusercontent.com/MiquelGomezCorral/TFG_Miquel/main/readme-images/image (1)_169.png?v=44d6fbbe825aa12fc0d0662e078e4ff3ee232757
https://raw.githubusercontent.com/MiquelGomezCorral/TFG_Miquel/main/readme-images/image (2)_169.png?v=57e59be3ac3811d0dd06aa24c87c6a5b18d43f8e
https://raw.githubusercontent.com/MiquelGomezCorral/TFG_Miquel/main/readme-images/image (3)_169.png?v=9f73128924a217e9c5a6f5cc3455140edab9ae90
https://raw.githubusercontent.com/MiquelGomezCorral/TFG_Miquel/main/readme-images/image (4)_169.png?v=92fe5a6d2ce1e1f001ffd4da28052387bd5c7348
https://raw.githubusercontent.com/MiquelGomezCorral/TFG_Miquel/main/readme-images/image (5)_169.png?v=9f73128924a217e9c5a6f5cc3455140edab9ae90
https://raw.githubusercontent.com/MiquelGomezCorral/TFG_Miquel/main/readme-images/image (6)_169.png?v=cc7f383b65375021e140c89c04b3af46c20d4eac
https://raw.githubusercontent.com/MiquelGomezCorral/TFG_Miquel/main/readme-images/image (7)_169.png?v=a8cf8da938d110faee4f0b624454abeb7ad77da6
https://raw.githubusercontent.com/MiquelGomezCorral/TFG_Miquel/main/readme-images/Thumbnail.gif?v=1307b425fc59576e1b47f7c5563a3da5e5c5711d