Outils pour utilisateurs

Outils du site


jeu_du_semaphore_dans_le_blender_game_engine

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
jeu_du_semaphore_dans_le_blender_game_engine [2019/02/08 19:42] – [Réseau neuronal convolutif] sergejeu_du_semaphore_dans_le_blender_game_engine [2020/12/27 15:06] (Version actuelle) serge
Ligne 1: Ligne 1:
 ====== Jeu du sémaphore dans le Blender Game Engine ====== ====== Jeu du sémaphore dans le Blender Game Engine ======
-<WRAP center round box 80% centeralign> + 
-**{{tagpage>semaphore|Sémaphores}}**  ....  **{{tagpage>bge|Blender Game Engine}}** ....  **{{tagpage>ia|Intelligence Artificielle}}**+<WRAP center round box 60% centeralign> 
 +**{{tagpage>ia|Intelligence Artificielle}}**     **[[http://translate.google.com/translate?hl=&sl=auto&tl=en&u=https%3A%2F%2Fressources.labomedia.org%2Fjeu_du_semaphore_dans_le_blender_game_engine|English Version]]**
 </WRAP> </WRAP>
 +<WRAP center round box 60% centeralign>
 +**[[les_pages_intelligence_artificielle_en_details|Les Pages Intelligence Artificielle en détails]]**
 +</WRAP>
 +
 +<WRAP center round box 60% centeralign>
 +**{{tagpage>semaphore|Sémaphores}}**  ....  **{{tagpage>bge|Blender Game Engine}}**
 +</WRAP>
 +<WRAP center round box 60% centeralign>
 +C'est quoi un sémaphore ?
 +{{ youtube>F3sY6_fOx2I?medium }}
 +</WRAP>
 +{{ media_05:chappe.jpeg?400 }}
 +\\ \\ \\
 +<WRAP center round box 60% centeralign>
 +Des images pour l'apprentissage\\
 +{{media_01:shot_0_a.png?100|}}
 +{{media_01:shot_1_.png?100|}}
 +{{media_01:shot_2_b.png?100|}}
 +</WRAP>
 +
 +
  
-Une image pour l'apprentissage {{shot_24006_e.png?250|}}  
-Une image à décrypter {{shot_98_e.png?250|}} 
  
 ===== Le projet sur Github ===== ===== Le projet sur Github =====
Ligne 11: Ligne 31:
   * **Réalisé sur Debian 10 Buster**, ne fonctionne pas sur Win$   * **Réalisé sur Debian 10 Buster**, ne fonctionne pas sur Win$
   * **python 3.7**   * **python 3.7**
 +
  
 ====Installation==== ====Installation====
Ligne 17: Ligne 38:
   * numpy   * numpy
   * mon module perso pymultilame   * mon module perso pymultilame
-  +  
   sudo apt install python3-pip   sudo apt install python3-pip
   sudo pip3 install numpy   sudo pip3 install numpy
   sudo pip3 install opencv-python   sudo pip3 install opencv-python
   sudo apt install blender   sudo apt install blender
 +Mon module personnel:
   sudo pip3 install -e git+https://github.com/sergeLabo/pymultilame.git#egg=pymultilame   sudo pip3 install -e git+https://github.com/sergeLabo/pymultilame.git#egg=pymultilame
 Mise à jour: Mise à jour:
Ligne 29: Ligne 52:
 Lancer ./semaphore.sh Lancer ./semaphore.sh
  
-et faire les 5 étapes, 3 heures pour 1, et un certain temps pour les autres .... +et faire les 5 étapes, 3 heures et demi pour 1, et un certain temps pour les autres .... 
-===== Etape 1 ===== + 
-====Création de 70 000 images====+Bug connu: le treminal se ferme à la fin de la création des shots avec Blender ! Relancer le terminal et continuer avec 2 
 +===== L'intelligence du sémaphore ===== 
 +<WRAP group> 
 +<WRAP third column> 
 +Sortie Blender 320x320\\ 
 +{{media_01:shot_0_a_320.png?100|}} 
 +{{media_01:shot_1_space_320.png?100|}} 
 +{{media_01:shot_2_b_320.png?100|}} 
 +</WRAP> 
 +<WRAP third column> 
 +40x40, floue en gris\\ 
 +{{media_01:shot_0_a_gray.png?100|}} 
 +{{media_01:shot_1_space_gray.png?100|}} 
 +{{media_01:shot_2_b_gray.png?100|}} 
 +</WRAP> 
 +<WRAP third column> 
 +40x40 en Noir et Blanc\\ 
 +{{media_01:shot_0_a.png?100|}} 
 +{{media_01:shot_1_.png?100|}} 
 +{{media_01:shot_2_b.png?100|}} 
 +</WRAP> 
 +</WRAP> 
 + 
 +====1 - Création de 70 000 images====
 Dans un jeu Blender, 70 000 images sont créées, 60 0000 pour entraîner l'IA, 10 000 pour la tester. Dans un jeu Blender, 70 000 images sont créées, 60 0000 pour entraîner l'IA, 10 000 pour la tester.
 Ce jeu lit soit un texte en latin de Cicéron, sans caractères accentués ni spéciaux, soit l'alphabet avec un espace. Il y a donc 27 caractères différents.  Ce jeu lit soit un texte en latin de Cicéron, sans caractères accentués ni spéciaux, soit l'alphabet avec un espace. Il y a donc 27 caractères différents. 
Ligne 42: Ligne 88:
 </wrap> </wrap>
 </wrap> </wrap>
-====Retaillageflou et compression==== +====2 - Retaillage et flou==== 
-Les images sont en noir et blanc, 320x320. Il faut les retailler en 40x40 et les flouterpuis les compresser.+Le Blender Game Engine 2.79b permet un affichage mini de 320x280. Les images du jeu sont donc en 320x320. Un script python3 avec opencv resize les images à 40x40, les floutent.
  
-Le Blender Game Engine 2.79 permet un affichage mini de 320x280. Les images du jeu sont donc en 320x320. Un script python3 avec opencv resize les images à 40x40 et les floutent. 
  
-{{:2019_01:shot_8_i.png?100|}} {{:2019_01:shot_10_k.png?100|}} +====3 - Compression==== 
-{{:2019_01:shot_13_n.png?100|}} {{:2019_01:shot_16_q.png?100|}} +Pour avoir une excécution plus rapide pour les étapes suivantes
-{{:2019_01:shot_24_y.png?100|}} {{:2019_01:shot_35_i.png?100|}} +====4 - Création du fichier de poids de l'IA==== 
-{{:2019_01:shot_38_s.png?100|}} {{:2019_01:shot_39_y.png?100|}}+  * **[[l_intelligence_du_semaphore|L'intelligence du sémaphore]]**
  
-====IA==== +====5 - Test de l'efficacité de l'IA==== 
-Ensuite faire l'apprentissage de **{{tagpage>ia|lIntelligence Artificielle}}** et la tester.+Le résultat s'exprime par un pourcentage. L'objectif est d'avoir au moins 95% (de bonne reconnaissance).
  
-  * **[[l_intelligence_du_semaphore|L'intelligence du sémaphore]]**+====6 - Modification de la configuration==== 
 +Choisir au moins 60000 images au total, avec: 
 +<WRAP group> 
 +<WRAP third column> 
 +  training = 30000 
 +  testing  = 30000 
 +</WRAP> 
 +<WRAP third column> 
 +  training = 35000 
 +  testing  = 35000  
 +</WRAP> 
 +<WRAP third column> 
 +  training = 60000 
 +  * testing  = 10000  
 +</WRAP> 
 +</WRAP>
  
 +Les meilleurs résultats sont obtenu avec:
 +  * gray = 0
 +  * blur = 6
 +  * learningrate = 0.022
 ====Recherche de la meilleure configuration possible==== ====Recherche de la meilleure configuration possible====
 **Les hyperparamètres sont tous les paramètres à optimiser : learningrate, nombre de couches, différentes méthodes d'initialisation aléatoire des poids ** **Les hyperparamètres sont tous les paramètres à optimiser : learningrate, nombre de couches, différentes méthodes d'initialisation aléatoire des poids **
Ligne 64: Ligne 128:
   * [[https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.GridSearchCV.html#sklearn.model_selection.GridSearchCV|GridSearchCV]] de [[https://scikit-learn.org/stable/index.html|scikit-learn.org]]   * [[https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.GridSearchCV.html#sklearn.model_selection.GridSearchCV|GridSearchCV]] de [[https://scikit-learn.org/stable/index.html|scikit-learn.org]]
   * [[https://github.com/scikit-learn/scikit-learn|scikit-learn]] sur github.com   * [[https://github.com/scikit-learn/scikit-learn|scikit-learn]] sur github.com
-Le fichier best_config_search.py fait ce boulot en autodidacte, mais c'est un bricolage réservé aux spélialistes qui se sont plongés dans tout le project.+Le fichier best_config_search.py fait ce boulot en autodidacte, mais c'est un bricolage réservé aux spélialistes qui se sont plongés dans tout le projet.
  
 ====Molière==== ====Molière====
Ligne 70: Ligne 134:
  
  
-===== Etape 2 en travaux, pas vraiment commencé===== 
-En arrière plan, défile le documentaire **NOTHING TO HIDE** pour avoir un fond très varié: 
-{{ youtube>djbwzEIv7gE?small }} 
  
  
Ligne 80: Ligne 141:
  
 ==== Un alphabet possible ==== ==== Un alphabet possible ====
-{{semaphore_am.png?200|}} {{code_a_i.jpg?200|}} {{code_j_z.jpg?200|}}+{{media_12:semaphore_am.png?200|}} {{media_05:code_a_i.jpg?200|}} {{media_05:code_j_z.jpg?200|}}
  
 ==== Notre alphabet ==== ==== Notre alphabet ====
Ligne 86: Ligne 147:
 <WRAP group> <WRAP group>
 <WRAP quarter column> <WRAP quarter column>
-  * **a** {{shot_0_a.png?30|}} +  * **a** {{media_03:shot_0_a.png?30|}} 
-  * **b** {{shot_1_b.png?30|}} +  * **b** {{media_03:shot_1_b.png?30|}} 
-  * **c** {{shot_2_c.png?30|}} +  * **c** {{media_03:shot_2_c.png?30|}} 
-  * **d** {{shot_3_d.png?30|}} +  * **d** {{media_03:shot_3_d.png?30|}} 
-  * **e** {{shot_4_e.png?30|}} +  * **e** {{media_03:shot_4_e.png?30|}} 
-  * **f** {{shot_5_f.png?30|}} +  * **f** {{media_03:shot_5_f.png?30|}} 
-  * **g** {{shot_6_g.png?30|}}+  * **g** {{media_03:shot_6_g.png?30|}}
 </WRAP> </WRAP>
  
 <WRAP quarter column> <WRAP quarter column>
-  * **h** {{shot_7_h.png?30|}} +  * **h** {{media_03:shot_7_h.png?30|}} 
-  * **i** {{shot_8_i.png?30|}} +  * **i** {{media_03:shot_8_i.png?30|}} 
-  * **j** {{shot_9_j.png?30|}} +  * **j** {{media_03:shot_9_j.png?30|}} 
-  * **k** {{shot_10_k.png?30|}} +  * **k** {{media_03:shot_10_k.png?30|}} 
-  * **l** {{shot_11_l.png?30|}} +  * **l** {{media_03:shot_11_l.png?30|}} 
-  * **m** {{shot_12_m.png?30|}} +  * **m** {{media_03:shot_12_m.png?30|}} 
-  * **n** {{shot_13_n.png?30|}}+  * **n** {{media_03:shot_13_n.png?30|}}
 </WRAP> </WRAP>
  
 <WRAP quarter column> <WRAP quarter column>
-  * **o** {{shot_14_o.png?30|}} +  * **o** {{media_03:shot_14_o.png?30|}} 
-  * **p** {{shot_15_p.png?30|}} +  * **p** {{media_03:shot_15_p.png?30|}} 
-  * **q** {{shot_16_q.png?30|}} +  * **q** {{media_03:shot_16_q.png?30|}} 
-  * **r** {{shot_17_r.png?30|}} +  * **r** {{media_03:shot_17_r.png?30|}} 
-  * **s** {{shot_18_s.png?30|}} +  * **s** {{media_03:shot_18_s.png?30|}} 
-  * **t** {{shot_19_t.png?30|}} +  * **t** {{media_03:shot_19_t.png?30|}} 
-  * **u** {{shot_20_u.png?30|}}+  * **u** {{media_03:shot_20_u.png?30|}}
 </WRAP> </WRAP>
  
 <WRAP quarter column> <WRAP quarter column>
-  * **v** {{shot_21_v.png?30|}} +  * **v** {{media_03:shot_21_v.png?30|}} 
-  * **w** {{shot_22_w.png?30|}} +  * **w** {{media_03:shot_22_w.png?30|}} 
-  * **x** {{shot_23_x.png?30|}} +  * **x** {{media_03:shot_23_x.png?30|}} 
-  * **y** {{shot_24_y.png?30|}} +  * **y** {{media_03:shot_24_y.png?30|}} 
-  * **z** {{shot_25_z.png?30|}} +  * **z** {{media_03:shot_25_z.png?30|}} 
-  * **espace** {{shot_26_ .png?30|}}+  * **espace** {{media_03:shot_26_.png?30|}}
 </WRAP> </WRAP>
 </WRAP> </WRAP>
  
-{{tag>bge sb ia realisations_logicielles semaphore}}+{{tag> bge ia sb semaphore }}
  
  
  
jeu_du_semaphore_dans_le_blender_game_engine.1549654943.txt.gz · Dernière modification : 2019/02/08 19:42 de serge