Ceci est une ancienne révision du document !
Table des matières
Darknet Letters
font_0_h 0.37 0.31 0.18 0.18
font_0_l 0.07 0.27 0.13 0.13
font_0_t 0.44 0.14 0.1 0.1
font_0_C 0.54 0.49 0.13 0.13
font_0_O 0.27 0.95 0.21 0.21
De l'Intelligence artificielle pour reconnaitre des lettres dans différentes polices, en faire des cauchemars et de la musique en midi.
Les sources sur GitHub
Le jeu letters pour créer les images d'apprentissage
Conversion d'un fichier *.midi en *.json
Le fichier python darknet-letters/letters/midi/analyse_play_midi.py permet de:
- jouer un fichier midi
- convertir des fichier *.midi en *.json
- jouer un fichier *.json
Installation
sudo pip3 install numpy sudo pip3 install opencv-python # Blender 2.79b mais pas 2.80 qui n'a plus de BGE sudo apt install blender sudo pip3 install mido sudo apt install fluidsynth # FluidR3_GM.sf2 sudo apt install fluid-soundfont-gm
Installation de Python: pymultilame
Utilisation
Je dois créer un menu en terminal !!
Les fichiers *.midi (“.midi”, “mid”, “kar”, “Mid”, “MID”) doivent être copié dans le dossier music.
Les *.json seront copiés dans le dossier “json”
Dans le dossier darknet-letters/letters/midi/
python3 analyse_play_midi.py
Lancement du jeu
Dans le dossier darknet-letters:
play_letters.sh
SPACE pour changer de music 1 Affichage du logo 2 Lancement de music and letters 3 Lancement de get shot H help Echap Quitter
En 2: Les fichiers du dossier /json seront jouées.
En 3: Pour l'apprentissage, le fichier json/get_shot.json sera utilisé. Il a été construit avec darknet-letters/letters/midi/json_for_get_shot.py
Shot
Les shots seront enregistrés dans le dossier défini dans le fichier darknet-letters/letters/global.ini, ligne 10
shot_dir = "votre/dossier/shot"
Conversion
Tous les shot doivent être floutés et converti en jpg avec le script darknet-letters/darknet/blur_and_convert.py
Définir ligne 81 le chemin vers votre dossier
shot = "votre/dossier/shot"
Création des fichiers train.txt et test.txt
Avec le script darknet-letters/darknet/create_train_test_txt.py Définir ligne 10:
shot_jpg = 'votre/dossier/shot_jpg/'
Controle des fichiers txt de chaque image
Avec le script darknet-letters/letters/control/control.py Définir le chemin de shot ligne 15.
Yolo V3 Darknet
Ressources
Installation de CUDA
Compilation de Darknet
How to detect your custom objects
Pre-trained weights
wget -c https://pjreddie.com/media/files/darknet53.conv.74
et coller le fichier dans le dossier letters_0
Fichier *.cfg
Errors with 5 yolo layers
Copie de darknet/cfg/yolov3.cfg dans darknet-letters/darknet/letters_0 et renommer en yolov3_letters.cfg, faire les modifications suivantes:
change line 8 and 9 to shot size = 704 change line batch to batch=64 change line subdivisions to subdivisions=64 change line max_batches to (classes*2000), soit 800 000 change line steps to 80% and 90% of max_batches, f.e. steps=640000,720000 change line classes=80 to your number of objects in each of 3 [yolo]-layers: Line 610 Line 696 Line 783 classes=400 change [filters=255] to filters=(classes + 5)x3 in the 3 [convolutional] before each [yolo] layer Line 603 Line 689 Line 776 filters = (classes + 5)x3 = (400 + 5) * 3 = 1215 Distinction main gauche main droite ligne 17 flip = 0
Apprentissage
Ou Training appelé train (non pas de train à la vapeur!)
export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}} ./darknet detector train letters_0/obj.data letters_0/yolov3-.cfg letters_0/darknet53.conv.74 -map