Table des matières

Darknet Letters Tous les essais



Le projet Darknet Letters

darknet-letters sur Github

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

good bad

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

  • fond video
  • flou de 3 à 7
  • letters_scale = 1.09
  • 30 000 images
  • 90 000 itérations
  • Shadeless pas de variation de couleurs et éclairage

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.
  • yolo_v3.cfg
  • letters_scale = 1.01
  • plage_x = 4.5
  • plage_y = 4.5
  • size_min = 0.6
  • size_max = 0.9
  • variation de couleurs et éclairage avec un Sun
  • début 25/09/2019 à 10h, fin 01/10/2019 à 6h55
  • 50 000 itérations

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
  • letters_scale = 1.08
  • plage_x = 4.5
  • plage_y = 4.5
  • size_min = 0.6
  • size_max = 0.9
  • variation de couleurs et éclairage avec un Sun

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

  • size_min = 0.9
  • size_max = 1.2
  • shot_size = 416
  • blur_mini = 3
  • blur_maxi = 7
  • letters_scale = 1.07
  • sun_energy_min = 3
  • sun_energy_min = 4
  • sun_color_min = 0.6
  • sun_color_max = 1.0
  • police 0 en blanc au lieu de gris clair
  • les lettres sont plus grandes
  • le sun plus fort

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.

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

Pour mémoire: Résumé des modifications suite à apprentissage finissant sur une erreur