feat: debut apport

Co-authored-by: Laurent <Laurent2916@users.noreply.github.com>
This commit is contained in:
gdamms 2022-03-28 17:43:19 +02:00
parent 8d7d395939
commit 8a40c3221d
44 changed files with 190 additions and 1 deletions

135
docs/RAPPORT_0.html Normal file
View file

@ -0,0 +1,135 @@
<h1 id="model-classification-in-rocket-league-sideswipe">Model
classification in Rocket League Sideswipe</h1>
<p>Laurent Fainsin Damien Guillotin Pierre-Eliot Jourdan</p>
<p>Lien vers notre <a
href="https://git.inpt.fr/tocard-inc/enseeiht/projet-classification">dépot
gitlab</a></p>
<h2 id="description">Description</h2>
<p>Le but de ce projet est de permettre la reconnaissance
(classification) de voitures dans le jeu vidéo mobile Rocket League
Sideswipe, et ce peu importe les accessoires équipés tels que les roues,
les chapeaux, les stickers, les couleurs…</p>
<h2 id="méthodolgie-dacquisition-du-dataset">Méthodolgie dacquisition
du dataset</h2>
<p>Pour acquérir les 400 000 images de notre dataset, nous avons
simplement écrit un script capable dautomatiser la customisation des
modèles ainsi que la prise de screenshots. Il nous aura fallu environ 18
heures pour constituer notre dataset.</p>
<p>Notre dataset est un dossier contenant toutes nos images et une base
de données sqlite3 faisant le lien entre les noms de nos screenshots
(des uuids) et les paramètre de la voiture dans limage.</p>
<p>Par exemple <code>ec7d32da-ad24-11ec-813b-e0d4e8390134.jpg</code>
correspond au modèle de voiture 2 (la werewolf) à la team 0 (les bleus),
à la couleur primaire 50%, à la couleur secondaire 0%, au chapeau n°12
(<insérer nom chapeau>), au sticker n°1 (<insérer nom sticker>), à la
roue n°4 (<insérer nom roue>) et à la 3ème rotation.</p>
<p>Voici limage associée :</p>
<p><img src="image_methodo.jpg" /></p>
<h2 id="méthodologie">Méthodologie</h2>
<ul class="incremental">
<li>Description de votre méthodologie pour partitionner les images en
ensembles dentraı̂nement, de validation et de test.</li>
</ul>
<p>-&gt; Voir la doc de tensorflow.</p>
<h2 id="pronostic">Pronostic</h2>
<p>Si lon décide dévaluer le réseau sur des voitures avec une rotation
qui est la même que lors de laquisition des données, le résultat
devrait être plus que correct mais si lon évalue le réseau sur une
rotation différente, cest la que les problèmes peuvent arriver, il se
peut que lon sur-apprenne la discretion de nos rotations.</p>
<h2 id="chargement-de-nos-données">Chargement de nos données</h2>
<ul class="incremental">
<li>Script de chargement de vos données.</li>
</ul>
<h2 id="exemple-du-dataset">Exemple du dataset</h2>
<p><img src="demo_datas.gif" /></p>
<table>
<colgroup>
<col style="width: 8%" />
<col style="width: 23%" />
<col style="width: 23%" />
<col style="width: 23%" />
<col style="width: 23%" />
</colgroup>
<thead>
<tr class="header">
<th style="text-align: left;">Rotation</th>
<th style="text-align: center;">Octane</th>
<th style="text-align: center;">AfterShock</th>
<th style="text-align: center;">Werewolf</th>
<th style="text-align: center;">Breakout</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">0</td>
<td style="text-align: center;"><img src="demo_datas/0_0.jpg" /></td>
<td style="text-align: center;"><img src="demo_datas/1_0.jpg" /></td>
<td style="text-align: center;"><img src="demo_datas/2_0.jpg" /></td>
<td style="text-align: center;"><img src="demo_datas/3_0.jpg" /></td>
</tr>
<tr class="even">
<td style="text-align: left;">1</td>
<td style="text-align: center;"><img src="demo_datas/0_1.jpg" /></td>
<td style="text-align: center;"><img src="demo_datas/1_1.jpg" /></td>
<td style="text-align: center;"><img src="demo_datas/2_1.jpg" /></td>
<td style="text-align: center;"><img src="demo_datas/3_1.jpg" /></td>
</tr>
<tr class="odd">
<td style="text-align: left;">2</td>
<td style="text-align: center;"><img src="demo_datas/0_2.jpg" /></td>
<td style="text-align: center;"><img src="demo_datas/1_2.jpg" /></td>
<td style="text-align: center;"><img src="demo_datas/2_2.jpg" /></td>
<td style="text-align: center;"><img src="demo_datas/3_2.jpg" /></td>
</tr>
<tr class="even">
<td style="text-align: left;">3</td>
<td style="text-align: center;"><img src="demo_datas/0_3.jpg" /></td>
<td style="text-align: center;"><img src="demo_datas/1_3.jpg" /></td>
<td style="text-align: center;"><img src="demo_datas/2_3.jpg" /></td>
<td style="text-align: center;"><img src="demo_datas/3_3.jpg" /></td>
</tr>
<tr class="odd">
<td style="text-align: left;">4</td>
<td style="text-align: center;"><img src="demo_datas/0_4.jpg" /></td>
<td style="text-align: center;"><img src="demo_datas/1_4.jpg" /></td>
<td style="text-align: center;"><img src="demo_datas/2_4.jpg" /></td>
<td style="text-align: center;"><img src="demo_datas/3_4.jpg" /></td>
</tr>
<tr class="even">
<td style="text-align: left;">5</td>
<td style="text-align: center;"><img src="demo_datas/0_5.jpg" /></td>
<td style="text-align: center;"><img src="demo_datas/1_5.jpg" /></td>
<td style="text-align: center;"><img src="demo_datas/2_5.jpg" /></td>
<td style="text-align: center;"><img src="demo_datas/3_5.jpg" /></td>
</tr>
<tr class="odd">
<td style="text-align: left;">6</td>
<td style="text-align: center;"><img src="demo_datas/0_6.jpg" /></td>
<td style="text-align: center;"><img src="demo_datas/1_6.jpg" /></td>
<td style="text-align: center;"><img src="demo_datas/2_6.jpg" /></td>
<td style="text-align: center;"><img src="demo_datas/3_6.jpg" /></td>
</tr>
<tr class="even">
<td style="text-align: left;">7</td>
<td style="text-align: center;"><img src="demo_datas/0_7.jpg" /></td>
<td style="text-align: center;"><img src="demo_datas/1_7.jpg" /></td>
<td style="text-align: center;"><img src="demo_datas/2_7.jpg" /></td>
<td style="text-align: center;"><img src="demo_datas/3_7.jpg" /></td>
</tr>
<tr class="odd">
<td style="text-align: left;">8</td>
<td style="text-align: center;"><img src="demo_datas/0_8.jpg" /></td>
<td style="text-align: center;"><img src="demo_datas/1_8.jpg" /></td>
<td style="text-align: center;"><img src="demo_datas/2_8.jpg" /></td>
<td style="text-align: center;"><img src="demo_datas/3_8.jpg" /></td>
</tr>
<tr class="even">
<td style="text-align: left;">9</td>
<td style="text-align: center;"><img src="demo_datas/0_9.jpg" /></td>
<td style="text-align: center;"><img src="demo_datas/1_9.jpg" /></td>
<td style="text-align: center;"><img src="demo_datas/2_9.jpg" /></td>
<td style="text-align: center;"><img src="demo_datas/3_9.jpg" /></td>
</tr>
</tbody>
</table>

54
docs/RAPPORT_0.md Normal file
View file

@ -0,0 +1,54 @@
# Model classification in Rocket League Sideswipe
Laurent Fainsin --
Damien Guillotin --
Pierre-Eliot Jourdan
Lien vers notre [dépot gitlab](https://git.inpt.fr/tocard-inc/enseeiht/projet-classification)
## Description
Le but de ce projet est de permettre la reconnaissance (classification) de voitures dans le jeu vidéo mobile Rocket League Sideswipe, et ce peu importe les accessoires équipés tels que les roues, les chapeaux, les stickers, les couleurs...
## Méthodolgie d'acquisition du dataset
Pour acquérir les 400 000 images de notre dataset, nous avons simplement écrit un script capable d'automatiser la customisation des modèles ainsi que la prise de screenshots. Il nous aura fallu environ 18 heures pour constituer notre dataset.
Notre dataset est un dossier contenant toutes nos images et une base de données sqlite3 faisant le lien entre les noms de nos screenshots (des uuids) et les paramètre de la voiture dans l'image.
Par exemple `ec7d32da-ad24-11ec-813b-e0d4e8390134.jpg` correspond au modèle de voiture 2 (la werewolf) à la team 0 (les bleus), à la couleur primaire 50%, à la couleur secondaire 0%, au chapeau n°12 (<insérer nom chapeau>), au sticker n°1 (<insérer nom sticker>), à la roue n°4 (<insérer nom roue>) et à la 3ème rotation.
Voici l'image associée :
![](image_methodo.jpg)
## Méthodologie
* Description de votre méthodologie pour partitionner les images en ensembles dentraı̂nement, de validation et de test.
-> Voir la doc de tensorflow.
## Pronostic
Si l'on décide d'évaluer le réseau sur des voitures avec une rotation qui est la même que lors de l'aquisition des données, le résultat devrait être plus que correct mais si l'on évalue le réseau sur une rotation différente, c'est la que les problèmes peuvent arriver, il se peut que l'on sur-apprenne la discretion de nos rotations.
## Chargement de nos données
* Script de chargement de vos données.
## Exemple du dataset
![](demo_datas.gif)
| Rotation | Octane | AfterShock | Werewolf | Breakout |
| :------- | :---------------------: | :---------------------: | :---------------------: | :---------------------: |
| 0 | ![](demo_datas/0_0.jpg) | ![](demo_datas/1_0.jpg) | ![](demo_datas/2_0.jpg) | ![](demo_datas/3_0.jpg) |
| 1 | ![](demo_datas/0_1.jpg) | ![](demo_datas/1_1.jpg) | ![](demo_datas/2_1.jpg) | ![](demo_datas/3_1.jpg) |
| 2 | ![](demo_datas/0_2.jpg) | ![](demo_datas/1_2.jpg) | ![](demo_datas/2_2.jpg) | ![](demo_datas/3_2.jpg) |
| 3 | ![](demo_datas/0_3.jpg) | ![](demo_datas/1_3.jpg) | ![](demo_datas/2_3.jpg) | ![](demo_datas/3_3.jpg) |
| 4 | ![](demo_datas/0_4.jpg) | ![](demo_datas/1_4.jpg) | ![](demo_datas/2_4.jpg) | ![](demo_datas/3_4.jpg) |
| 5 | ![](demo_datas/0_5.jpg) | ![](demo_datas/1_5.jpg) | ![](demo_datas/2_5.jpg) | ![](demo_datas/3_5.jpg) |
| 6 | ![](demo_datas/0_6.jpg) | ![](demo_datas/1_6.jpg) | ![](demo_datas/2_6.jpg) | ![](demo_datas/3_6.jpg) |
| 7 | ![](demo_datas/0_7.jpg) | ![](demo_datas/1_7.jpg) | ![](demo_datas/2_7.jpg) | ![](demo_datas/3_7.jpg) |
| 8 | ![](demo_datas/0_8.jpg) | ![](demo_datas/1_8.jpg) | ![](demo_datas/2_8.jpg) | ![](demo_datas/3_8.jpg) |
| 9 | ![](demo_datas/0_9.jpg) | ![](demo_datas/1_9.jpg) | ![](demo_datas/2_9.jpg) | ![](demo_datas/3_9.jpg) |

BIN
docs/demo_datas.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

BIN
docs/demo_datas/0_0.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
docs/demo_datas/0_1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
docs/demo_datas/0_2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
docs/demo_datas/0_3.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
docs/demo_datas/0_4.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
docs/demo_datas/0_5.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
docs/demo_datas/0_6.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
docs/demo_datas/0_7.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
docs/demo_datas/0_8.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
docs/demo_datas/0_9.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
docs/demo_datas/1_0.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
docs/demo_datas/1_1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
docs/demo_datas/1_2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
docs/demo_datas/1_3.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
docs/demo_datas/1_4.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
docs/demo_datas/1_5.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
docs/demo_datas/1_6.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
docs/demo_datas/1_7.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
docs/demo_datas/1_8.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
docs/demo_datas/1_9.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
docs/demo_datas/2_0.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
docs/demo_datas/2_1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
docs/demo_datas/2_2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
docs/demo_datas/2_3.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
docs/demo_datas/2_4.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
docs/demo_datas/2_5.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
docs/demo_datas/2_6.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
docs/demo_datas/2_7.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
docs/demo_datas/2_8.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
docs/demo_datas/2_9.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
docs/demo_datas/3_0.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
docs/demo_datas/3_1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
docs/demo_datas/3_2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
docs/demo_datas/3_3.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
docs/demo_datas/3_4.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
docs/demo_datas/3_5.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
docs/demo_datas/3_6.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
docs/demo_datas/3_7.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
docs/demo_datas/3_8.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
docs/demo_datas/3_9.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View file

@ -10,7 +10,7 @@ NB_ETA = 25
NB_ROTATIONS = 10
N_START = 5245
N_START = 7023
N_STOP = 0
DELAY_TRANSITION = 0.3