Ancient North African letters recognition using CNNs
# Classification des Caractères Tifinagh avec Deep Learning
Un projet de reconnaissance automatique des caractères de l'alphabet Tifinagh (Amazigh/Berbère) utilisant un réseau de neurones convolutifs (CNN) implémenté avec TensorFlow/Keras.
## À Propos
L'alphabet Tifinagh est l'écriture traditionnelle des langues berbères (Amazigh). Ce projet développe un système de classification automatique capable de reconnaître 33 caractères différents de cet alphabet à partir d'images.
Le modèle atteint des performances élevées grâce à :
- Une architecture CNN optimisée avec Batch Normalization
- Des techniques d'augmentation de données
- Des callbacks intelligents pour l'entraînement
- Une analyse approfondie des résultats
## Caractéristiques
- **33 classes** : Classification multi-classe pour tous les caractères Tifinagh
- **Architecture CNN profonde** : 4 blocs convolutionnels avec régularisation
- **Data Augmentation** : Rotation, décalage, cisaillement, zoom et flip horizontal
- **Callbacks avancés** : ModelCheckpoint, EarlyStopping, ReduceLROnPlateau
- **Visualisations complètes** : Matrice de confusion, analyse des erreurs, distribution de confiance
## Structure du Projet
```
Tifinagh-MNIST-Classification/
│
├── classification.ipynb # Notebook principal avec le modèle
├── best_tifinagh_model.h5 # Meilleur modèle sauvegardé
├── README.md # Documentation
│
├── data-generator/
│ ├── csv2png.ipynb # Conversion CSV vers images
│ └── Tifinagh-version.csv # Dataset brut
│
└── img/ # Dataset organisé par classes
├── ⴰ/ # Caractère Tifinagh Ya
├── ⴱ/ # Caractère Tifinagh Yab
├── ⴳ/ # Caractère Tifinagh Yag
└── ... # (33 classes au total)
```
## Installation
### Prérequis
- Python 3.8 ou supérieur
- pip (gestionnaire de paquets Python)
### Installation des dépendances
```bash
pip install tens …