Outils pour utilisateurs

Outils du site


darknet_letters

Ceci est une ancienne révision du document !


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

Créer et testé sur Debian Buster 10

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

Principe

Les fichiers midi sont très optimisés. La conversion en json permet d'accéder aux instruments, notes, volumes facilement.

Les fichiers *.midi (“.midi”, “mid”, “kar”, “Mid”, “MID”) doivent être copié dans le dossier darknet-letters/letters/midi/music

Les *.json seront créés dans le dossier “json”

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
4 Création des json
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

En 4: Les fichiers midi sont traduits en json pour être facilement utilisé en python.

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

Détection de mes objets lettres

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

train.txt test.txt

Les fichiers train.txt et test.txt doivent être collés dans letters_0

Apprentissage

Ou Training appelé train (non pas de locomotive à vapeur!)

export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}}
./darknet detector train letters_0/obj.data letters_0/yolov3-letters.cfg letters_0/darknet53.conv.74 -map

Test

Coller, dans le dossier compilé de darknet, le dossier letters_0

./darknet detector test letters_0/obj.data letters_0/yolov3_letters.cfg letters_0/backup/yolov3_letters_3000.weights letters_0/shot_0.jpg
,
darknet_letters.1565682908.txt.gz · Dernière modification: 2019/08/13 09:55 par serge