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édente | ||
| jeu_du_semaphore_dans_le_blender_game_engine [2019/01/15 12:31] – [Notre alphabet] serge | jeu_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 ====== | ||
| - | {{ shot_98_e.png? | + | <WRAP center round box 60% centeralign> |
| + | **{{tagpage> | ||
| + | </ | ||
| + | <WRAP center round box 60% centeralign> | ||
| + | **[[les_pages_intelligence_artificielle_en_details|Les Pages Intelligence Artificielle en détails]]** | ||
| + | </ | ||
| - | <WRAP center round box 40% centeralign> | + | <WRAP center round box 60% centeralign> |
| - | **{{tagpage> | + | **{{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: | ||
| </ | </ | ||
| - | ===== Les souces | + | |
| + | |||
| + | ===== Le projet | ||
| * **[[https:// | * **[[https:// | ||
| + | * **Réalisé sur Debian 10 Buster**, ne fonctionne pas sur Win$ | ||
| + | * **python 3.7** | ||
| - | ===== Ressources ===== | + | |
| + | ====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 | ||
| * **[[https:// | * **[[https:// | ||
| * **[[http:// | * **[[http:// | ||
| - | ===== Un alphabet possible ===== | + | ==== Un alphabet possible ==== |
| - | ====Ressources==== | + | {{media_12: |
| - | Tiré du lien ci-dessus | + | |
| - | {{ semaphore_am.png?400 |}} | + | ==== 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 | ||
| - | {{code_a_i.jpg? | ||
| - | {{tag> | ||
| - | ==== Notre alphabet ==== | ||
| - | {{shot_0_a.png? | ||
jeu_du_semaphore_dans_le_blender_game_engine.1547555468.txt.gz · Dernière modification : de serge
