jeu_du_semaphore_dans_le_blender_game_engine
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteProchaine révisionLes deux révisions suivantes | ||
jeu_du_semaphore_dans_le_blender_game_engine [2019/01/14 18:36] – [Jeu du sémaphore dans le Blender Game Engine] serge | jeu_du_semaphore_dans_le_blender_game_engine [2020/12/01 17:43] – ↷ Liens modifiés en raison d'un déplacement. 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> | ||
+ | </ | ||
+ | <WRAP center round box 60% centeralign> | ||
+ | C'est quoi un sémaphore ? | ||
+ | {{ youtube> | ||
+ | </ | ||
+ | {{ media_05: | ||
+ | \\ \\ \\ | ||
+ | <WRAP center round box 60% centeralign> | ||
+ | Des images pour l' | ||
+ | {{media_01: | ||
+ | {{media_01: | ||
+ | {{media_01: | ||
+ | </ | ||
- | {{ shot_98_e.png? | ||
- | ===== Les souces | + | ===== Le projet |
* **[[https:// | * **[[https:// | ||
+ | * **Réalisé sur Debian 10 Buster**, ne fonctionne pas sur Win$ | ||
+ | * **python 3.7** | ||
+ | |||
+ | |||
+ | ====Installation==== | ||
+ | * Blender 2.79b | ||
+ | * opencv | ||
+ | * numpy | ||
+ | * mon module perso pymultilame | ||
+ | |||
+ | |||
+ | sudo apt install python3-pip | ||
+ | sudo pip3 install numpy | ||
+ | sudo pip3 install opencv-python | ||
+ | sudo apt install blender | ||
+ | Mon module personnel: | ||
+ | sudo pip3 install -e git+https:// | ||
+ | Mise à jour: | ||
+ | sudo pip3 install --upgrade git+https:// | ||
+ | | ||
+ | ====Excécution==== | ||
+ | Lancer ./ | ||
+ | |||
+ | et faire les 5 étapes, 3 heures et demi pour 1, et un certain temps pour les autres .... | ||
+ | |||
+ | Bug connu: le treminal se ferme à la fin de la création des shots avec Blender ! Relancer le terminal et continuer avec 2 | ||
+ | ===== L' | ||
+ | <WRAP group> | ||
+ | <WRAP third column> | ||
+ | Sortie Blender 320x320\\ | ||
+ | {{media_01: | ||
+ | {{media_01: | ||
+ | {{media_01: | ||
+ | </ | ||
+ | <WRAP third column> | ||
+ | 40x40, floue en gris\\ | ||
+ | {{media_01: | ||
+ | {{media_01: | ||
+ | {{media_01: | ||
+ | </ | ||
+ | <WRAP third column> | ||
+ | 40x40 en Noir et Blanc\\ | ||
+ | {{media_01: | ||
+ | {{media_01: | ||
+ | {{media_01: | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ====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. | ||
+ | Ce jeu lit soit un texte en latin de Cicéron, sans caractères accentués ni spéciaux, soit l' | ||
+ | |||
+ | Chaque lettre est affiché dans le jeu, puis une capture de la fenêtre est enregistrée. La fréquence est maxi de 6 fps, en allant plus vite l' | ||
+ | |||
+ | <wrap em> | ||
+ | <wrap hi> | ||
+ | Ne jamais déplacer ou réduire la fenêtre de Blender pendant la création des images ! | ||
+ | </ | ||
+ | </ | ||
+ | ====2 - Retaillage et flou==== | ||
+ | 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. | ||
+ | |||
+ | |||
+ | ====3 - Compression==== | ||
+ | Pour avoir une excécution plus rapide pour les étapes suivantes. | ||
+ | ====4 - Création du fichier de poids de l' | ||
+ | * **[[l_intelligence_du_semaphore|L' | ||
+ | |||
+ | ====5 - Test de l' | ||
+ | Le résultat s' | ||
+ | |||
+ | ====6 - Modification de la configuration==== | ||
+ | Choisir au moins 60000 images au total, avec: | ||
+ | <WRAP group> | ||
+ | <WRAP third column> | ||
+ | * training = 30000 | ||
+ | * testing | ||
+ | </ | ||
+ | <WRAP third column> | ||
+ | * training = 35000 | ||
+ | * testing | ||
+ | </ | ||
+ | <WRAP third column> | ||
+ | * training = 60000 | ||
+ | * testing | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Les meilleurs résultats sont obtenu avec: | ||
+ | * gray = 0 | ||
+ | * blur = 6 | ||
+ | * learningrate = 0.022 | ||
+ | ====Recherche de la meilleure configuration possible==== | ||
+ | **Les hyperparamètres sont tous les paramètres à optimiser : learningrate, | ||
+ | |||
+ | * **[[https:// | ||
+ | * http:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | Le fichier best_config_search.py fait ce boulot en autodidacte, | ||
+ | |||
+ | ====Molière==== | ||
+ | **Le chemin est long du projet à la chose.** | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Ressources sur les sémaphores et le télégraphe de Chappe ===== | ||
+ | * **[[https:// | ||
+ | * **[[http:// | ||
+ | |||
+ | ==== Un alphabet possible ==== | ||
+ | {{media_12: | ||
+ | |||
+ | ==== Notre alphabet ==== | ||
+ | **j = &** | ||
+ | <WRAP group> | ||
+ | <WRAP quarter column> | ||
+ | * **a** {{media_03: | ||
+ | * **b** {{media_03: | ||
+ | * **c** {{media_03: | ||
+ | * **d** {{media_03: | ||
+ | * **e** {{media_03: | ||
+ | * **f** {{media_03: | ||
+ | * **g** {{media_03: | ||
+ | </ | ||
+ | |||
+ | <WRAP quarter column> | ||
+ | * **h** {{media_03: | ||
+ | * **i** {{media_03: | ||
+ | * **j** {{media_03: | ||
+ | * **k** {{media_03: | ||
+ | * **l** {{media_03: | ||
+ | * **m** {{media_03: | ||
+ | * **n** {{media_03: | ||
+ | </ | ||
+ | |||
+ | <WRAP quarter column> | ||
+ | * **o** {{media_03: | ||
+ | * **p** {{media_03: | ||
+ | * **q** {{media_03: | ||
+ | * **r** {{media_03: | ||
+ | * **s** {{media_03: | ||
+ | * **t** {{media_03: | ||
+ | * **u** {{media_03: | ||
+ | </ | ||
+ | |||
+ | <WRAP quarter column> | ||
+ | * **v** {{media_03: | ||
+ | * **w** {{media_03: | ||
+ | * **x** {{media_03: | ||
+ | * **y** {{media_03: | ||
+ | * **z** {{media_03: | ||
+ | * **espace** {{media_03: | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | {{tag> bge ia sb semaphore }} | ||
+ | |||
+ | |||
+ |
jeu_du_semaphore_dans_le_blender_game_engine.txt · Dernière modification : 2020/12/27 15:06 de serge