llm_ticket3/docs/ARCHITECTURE_OCR.md
2025-05-07 17:12:50 +02:00

63 lines
2.6 KiB
Markdown

# Architecture OCR Réorganisée
## Structure des Répertoires
```
project/
├── utils/
│ ├── ocr_brut/ # OCR basique (Tesseract)
│ │ ├── ocr_utils.py # Fonctions d'extraction de texte
│ │ ├── ocr_preprocessor.py # Prétraitement d'images pour OCR
│ │ └── README.md # Documentation
│ │
│ ├── ocr_avance/ # OCR avancé (Llama Vision)
│ │ ├── image_preparer.py # Préparation pour modèle Llama Vision
│ │ ├── ocr_cleaner.py # Nettoyage et amélioration du texte
│ │ ├── ocr_clean_dict.json # Dictionnaire de correction OCR
│ │ ├── hallucination_filter.json # Filtres pour hallucinations
│ │ ├── translation_clean_dict.json # Corrections pour traduction
│ │ └── README.md # Documentation
│ │
│ └── __init__.py # Compatibilité avec imports existants
├── agents/
│ └── llama_vision/
│ └── agent_vision_ocr.py # Agent principal utilisant les modules OCR
├── results/
│ ├── ocr_brut/ # Résultats OCR Tesseract
│ ├── ocr_avance/ # Résultats OCR Llama Vision
│ └── README.md # Documentation
└── test_agent_ocr.py # Script de test principal
```
## Circuit de Traitement OCR
1. **OCR Brut (Tesseract)**
- Sélection d'un profil de prétraitement (default, document, aggressive, clahe_high, invert_light)
- Prétraitement de l'image avec `ocr_preprocessor.py`
- Extraction du texte avec Tesseract via `ocr_utils.py`
- Sauvegarde des résultats dans `results/ocr_brut/`
2. **OCR Avancé (Llama Vision)**
- Préparation de l'image pour le modèle avec `image_preparer.py`
- Envoi au modèle par l'agent `AgentVisionOCR`
- Nettoyage du texte extrait avec `ocr_cleaner.py`
- Sauvegarde des résultats dans `results/ocr_avance/`
## Configuration Actuelle
- **OCR Brut** : Profil "document" avec PSM=11, OEM=3
- **OCR Avancé** : Modèle Llama Vision avec image redimensionnée à 672x672
## Tests
Le script `test_agent_ocr.py` permet de tester l'ensemble du circuit avec une image de test.
## Notes Importantes
1. Les fichiers dans `utils/` servent uniquement à la compatibilité avec les imports existants
2. Les résultats sont stockés dans des répertoires séparés pour plus de clarté
3. Le répertoire `ocr_brut_test/` a été conservé pour des tests ultérieurs"