Darknet Letters Tous les essais
Récapitulatif
Les essais depuis data_11
Le fichier ods
6 mois de calcul ont coûté entre 100€ et 200€. La carte graphique avait coûté 200€. Les 16 Go de RAM 35€.
Modèle final retenu
Le fichier de poids est: yolov3-tiny_3l_22_8000.weights
La vidéo en haut de page est réalisée avec cette configuration.
Efficacité en fonction du nombre d'itérations
Courbe d'apprentissage:
Efficacité mesurée avec 6 musiques midi et benchmark.py
Conclusion
Le fichier yolov3-tiny_3l_22_8000.weights est considéré comme le meilleur des meilleurs.
Surapprentissage
En intelligence artificielle, on parle de surapprentissage (le terme anglais est overfitting) quand un modèle a trop appris les particularités de chacun des exemples fournis en exemple. Il présente alors un taux de succès très important sur les données d’entraînement (pouvant atteindre jusqu’à 100%), au détriment de ses performances générales réelles.
Essais avec yolov3.cfg
Essai 02
Résultat:
Pas mal mais trop de lettres ne sont pas reconnues, et certaines avec 2 reconnaissances. La musique résultante est reconnaissable. C'est le meilleurs résultat des essais 02 à 06
Essai 03
fond noir
pas de flou
taille 416
50 000 images
vérification du nombre de lettres: objectif 2000 par lettres, réel 1948
changement du json utilisé par créer les shot: minuscules et majuscules séparées et pas de séparation des polices avec des canaux vides.
Efficacité 99% mais reconnaît très mal les lettres, et la détection de leur position très très large par rapport au réel. La musique résultante n'est pas reconnaissable.
Essai 04
Reconnaissance médiocre ! La musique résultante n'est pas reconnaissable.
Essai 05
Modification par rapport à 4 et 3
fond video
flou: 3 à 7
taille 416
50 000 images
yolo_v3_05.cfg
Très mauvaise reconnaissance !
Essais avec yolov3-tiny_3l.cfg
For training for both small and large objects use modified models:
Essai 06
Le fichier tiny.cfg est paramétré pour 80 objets, et la doc dit qu'il est bien optimisé: Je cite pjreddie.com It's only 28 MB but more importantly, it's only 8×1010 floating point operations. The original Alexnet is 2.3*1012. Darknet is 2.9 times faster and it's small and it's 4% more accurate.
Même image que Essai 05, mais avec yolov3-tiny_06.cfg du Sémaphore, adapté pour 380 objets et images de 416×416.
Le fichier yolov3-tiny_06_best.weights fait 40,1 Mo, l'apprentissage est 2 fois plus rapide que yolov3.cfg, soit 2.7 jours
La reconnaissance est très décevante, le FPS sur HD5000 est de 1.8 au lieu de 0.4,
mais trop de lettres ne sont pas reconnues.
L'analyse des % de reconnaissance calculés à la fin de l'apprentissage, montre que ce sont les lettres avec la couleur gris clair qui sont les plus mal reconnues.
Essai 07
Résultat:
Efficacité
name font_0_i 85.00
name font_0_l 85.79
name font_2_j 87.91
name font_2_q 89.78
name font_2_o 90.16
name font_2_g 90.20
name font_0_n 90.22
name font_1_I 90.57
name font_1_J 91.31
name font_2_I 91.33
name font_0_e 91.56
Certaines lettres se ressemblent beaucoup et sont mal reconnues.
Essai 08
Suppression des majuscules: le volume sera défini à 127 pour toutes les notes, il ne reste plus que 190 objets ! 10 polices avec les lettres de b à t.
Moins de lettres par shot en corrigeant le script json_get_shot.py
Taille des lettres plus grandes
38 000 images avec 10 lettres par image, les 10 b, 10 c, … , 10 t
30 000 itérations
fond = “video”
shot_size = 480
plage_x = 4.5
plage_y = 4.5
size_min = 1.0
size_max = 1.4
blur_mini = 0
blur_maxi = 6
letters_scale = 1.07
sun_energy_min = 3
sun_energy_max = 4
sun_color_min = 0.8
sun_color_max = 1.0
Les images sont à shot_size = 416 –> ????
Cette courbe est parfaite, et pourtant c'est tout faux !!!!!!!!!
Essai 09
idem essai 08 mais shot_size = 480 pour la config et les images:
20 000 itérations ne suffisent pas !
Shadeless sur toutes les textures
Avec shaders
Sans shaders

Les couleurs sont plus denses.
Essai 10
Apprentissage
total = 38000
fond = “video”
shot_size = 416
plage_x = 4.5
plage_y = 4.5
size_min = 0.5
size_max = 2.0
letters_scale = 1.09

De belles courbes d'apprentissage !
Reconnaissance de musiques
Fond noir, nuage RGB foncé, video de ciel: c'est quif quif. On reconnaît certaines musiques et d'autres pas, voire aucune notes n'est jouée !
Flou: 0 et 3
Pour mémoire: Résumé des modifications suite à apprentissage finissant sur une erreur
Test avec yolov3-tiny.cfg
Test avec yolov3_5l.cfg
Test avec yolov3-tiny_3l.cfg
Grosse erreur perso: dans shot_xxx.txt de l'image shot_xxx.png: nom de l'objet au lieu du numéro de l'objet !
fond noir
fond noir remplacé par un nuage gris
nuage gris remplacé par une video de ciel !
Message dans le terminal: “Processus arrêté.” Achat de DDR3 1600 mHz 16 Go pour remplacer les 4 Go existants.
Diminution des superpositions avec size de 0.6 à 0.9
Images avec minuscules seules et images avec majuscules seules pour diminuer le nombre de lettres dans l'image et donc les superpositions.
Reprise des 400 images des lettres pour les cadrer serrées (20 heures de boulot) !
Ne pas déclarer des objets qui ne sont jamais dans les images !
SWAP de 64 Go au lieu de 8 Go