- Créer une image BMP pour chaque lettre de l'alphabet (A.bmp, B.bmp, ..., C.bmp).
- Chaque image doit contenir une seule lettre, idéalement en noir sur fond blanc.
- Les images doivent être de taille similaire, le code les redimensionnera à 56x49 pixels.
./train train_single A.bmp
./train train_single B.bmp
./train train_single C.bmp
... et ainsi de suite pour toutes les lettresRépéter l'étape d'entraînement plusieurs fois pour chaque lettre afin d'améliorer la précision.
Puis, une fois que toutes les lettres sont reconnues :
./train train dossier_lettres/./train recognize test_image.bmpLe réseau sauvegarde automatiquement son état après chaque entraînement dans "network_data.bin" et pour les singles dans "train_data.bin".
- Choisir la font au format TTF et modifier dans le code de
generator.pyavec la bonne font. - Générer des lettres au format BMP avec
letters/generator.py. - La taille des images générées est définie dans
generator.py.
python3 auto_train.py # exécution une seule fois la première fois... et attendre la fin de l'entraînement.
python3 verify_train.pyou pour une seule lettre :
./train recognize test_image.bmpEt si la lettre détectée n'est pas la bonne :
python3 manual_train.py... puis entrer la lettre attendue (ex: U).
Puis, pour harmoniser le réseau de neurones et le sauvegarder :
./train train dossier_lettres/... et ainsi de suite pour toutes les lettres mal détectées (recommencer les 2 processus).
Le réseau sauvegarde automatiquement son état après chaque entraînement dans "network_data.bin" et pour les singles dans "train_data.bin".
backup_datacontient des sauvegardes d'anciens entraînements.python3 manual_train.pypermet d'entraîner une seule lettre.python3 auto_train.pyest utilisé pour entraîner toutes les lettres d'un dossier pour la première fois.python3 verify_train.pyest utilisé pour vériier si les lettres sont bien détectées.trainest la version utilisée par l'utilisateur (train.c).*.bincontient les données d'entraînement.letters/contient les lettres avecgenerator.py.checksum.shest utilisé pour sauvegarder les fichiers*.bin.
gcc train.c -o train -lm `pkg-config --cflags --libs sdl2 SDL2_image`libsdl2-image-dev(pour la lecture des images en C).PIL(générer les lettres à partir de fonts en python).
bash checksum.sh