[PYTHON] J'ai essayé de faire de l'IA pour Smash Bra

Contexte

J'aime les soutiens-gorge smash. J'aimerais faire quelque chose de semblable à l'IA, mais la détection des caractères semble être gênante pour les annotations, et inversement, il semble que ce ne sera pas intéressant car cela peut être fait si vous faites de votre mieux avec les annotations. Donc, je voudrais faire un classificateur de scène pour Smash Bra. (Parce que cela fait partie du jeu, les détails sont appropriés)

Réglage de la condition

Très dur sobre. Nombre de cours: 103

Apprendre en une seule fois à apprendre à partir d'une image car c'est gênant En d'autres termes, il y a 103 images d'apprentissage

conditions ・ Point final ・ Les personnages sont pudding et pudding ・ Vue d'ensemble du mode d'entraînement ・ Si l'arrière-plan bouge, un moment approprié

A été utilisé pour l'apprentissage. Le grand champ de bataille est devenu un champ de bataille quand il a atteint le point final, et il n'y avait pas de DLC. Étonnamment, il y avait de nombreuses étapes, c'est donc devenu un problème de classement multi-classes en un coup.

Le but est simplement de pouvoir classer les étapes en conséquence.

<détails>

Liste des classes </ summary>

\ ['3D Land', '75m', 'WiiFit Studio', 'Squid and Waterfall', 'Ancient Kingdom', 'Ancient Kingdom', 'Ancient Kingdom USA', 'Sumamura', 'Passing Legend' ',' Une certaine étoile ',' Tour du commencement ',' Tour de l'horloge d'Umbra ',' Ish Pokemon League ',' Windy Hill ',' Woohoo Island ',' Eight Cross Circuit ',' Electroplankton ',' Enger Terre ',' Onet ',' Oldin Ohashi ',' Karos Pokemon League ',' Gaul Plains ',' Green Greens ',' Green Hill Zone ',' Great Bay ',' Gerdo Valley ',' Gamer ',' Kotobuki Land ',' Congo Jungle ',' Shadow Moses Island ',' Jungle Garden ',' Skyloft ',' Super Happy Tree ',' Super Mario Maker ',' Tachiuo Parking ',' Duck Hunt ',' Tenganzan Yari no Hashira ',' Tomodachi Collection ',' Training ',' Dracula Castle ',' Dolpic Town ',' New Donk City Hall ',' New Pork City ',' Norfair ',' Hyral Castle ',' Balloon Fight ' , 'Pilot Wings', 'Packland', 'Big Blue', 'Picto Chat 2', 'Peach Castle', 'Peach Castle Sky', 'Feria Arena', 'Four Side', 'Flat Zone X', ' Frégate Orpheon ',' Brinsta ',' Brinsta Deep ',' Puppland ',' Puppland GB ',' Prism Tower ',' Paper Mario ',' Pokemon Stadium ',' Pokemon Stadium 2 ',' Port Town Aerodive ' ',' Magicant ',' Mario U World ',' Mario Galaxy ',' Mario Circuit ',' Mario Brothers ',' Midgar ',' Mute City SFC ',' Made in Wario ',' Yamabukishiti ',' Yoshi Island ' , 'Yoshi Story', 'Yoster Island', 'Lyrat Cruise', 'Luigi Mansion', 'Rainbow Cruise', 'Wrecking Crew', 'Wiley Base', 'Reopening Garden', 'Initialization Bomb Forest', 'Dream Fountain', 'Sky Sea', 'Vivre avec des chiots', ' Planet Cornelia ',' Planet Venom ',' Battlefield ',' Battleship Halvard ',' Battle of the Castle ',' Miss Suzaku ',' Village and Town ',' Train ',' Cave Daisakusen ',' Pirate Ship ', 'Anneau spécial', 'Temple', 'Point final', 'Champ', 'Arène', 'Crest']

Nom de scène Il y a beaucoup de gars mystérieux ...

Stratégie

La vue d'ensemble de la scène ressemble à ceci.

いにしえっぽい王国.PNG

Ce n'est pas si grand dans une bataille réelle, alors je vais découper cette énorme photo pour la rendre aussi grande. Vous pouvez augmenter le nombre de photos en modifiant la méthode de découpe.

Image découpée pour l'apprentissage

スクリーンショット 2020-04-20 17.20.26.png

Quand coupé ・ Découpé sur plusieurs échelles (trois pour le moment) ・ Il y a duplication ・ Fondamentalement adapté, mais je me demandais si je pourrais d'une manière ou d'une autre apprendre la texture de fond. ・ Peut-être 162 feuilles sont générées pour chaque étape ・ Quand je l'ai coupé, je pensais que je le ferais pour le moment et si cela ne fonctionnait pas, je le réparerais comme il convient.

Les données de vérification ressemblent à ceci à une échelle réelle

いにしえっぽい王国.PNG Je vérifie avec cette photo. Cette image est remodelée en (224,224) et prétraitée avant utilisation. Pas partiel par rapport au train. Aussi, c'est dans une large gamme Cependant, comme c'est gênant, je n'ai préparé qu'une seule image pour vérification.

Structure du réseau

J'ai utilisé mobile-net-v2 en le suçant de pytorch.torchvision. Le nombre d'images ayant considérablement augmenté avec 103 images de classe x 162, j'en ai fait un réseau léger. Seule la couche de sortie est modifiée en classe 103.

résultat

Tout d'abord, vérifions à quel point la réponse est correcte. Pour le moment, vérifions le résultat après avoir atteint 10 ans,

précision

train acc test acc test
96.9% 91.3% 94 / 103

C'était étonnamment réussi lol

Évaluation qualitative

Pour le moment, j'ai essayé de sauvegarder une scène de ma vidéo de combat. J'ai juste redimensionné cette image à (224,224) et l'ai passée à travers le réseau.

test.jpg

résultat スクリーンショット 2020-04-21 23.27.06.png

La magie de la 65e classe ne peut pas ... réponse correcte!

Super ... lol

Mettons un peu plus.

Puisque c'est un gros problème, je vais essayer de faire une image sans pudding. Le deuxième morceau est Green Greens.

test2.jpg

スクリーンショット 2020-04-23 14.38.55.png

La troisième pièce est le champ de bataille du point final.

test3.jpg

スクリーンショット 2020-04-23 14.40.36.png

Tout était correct.

Qu'est ce qui ne s'est pas bien passé

・ Ce que j'ai remarqué lors de l'annotation Mario Brothers マリオブラザーズ.PNG

Combat de ballon バルーンファイト.PNG

75m (Quel est ce nom de scène w) 75m.PNG

Le tableau est différent, mais la texture est assez proche, ou si vous le faites en basse résolution, le fond est presque le même lol Je ne pense pas qu'ils puissent faire une erreur pendant quelques minutes.

・ Le reste est une série avec un fond en mouvement. L'arrière-plan de la scène appelée Tour de l'Horloge d'Umbra bouge beaucoup, on dit donc souvent qu'il se sent mal à l'aise pendant un match. Le point final est également une étape de base, mais l'arrière-plan bouge assez violemment. Cette fois, c'est une étude ponctuelle, donc si l'arrière-plan change, il peut être complètement différent, donc c'est également inévitable.

En ce sens, je m'attendais à 70 à 90%, donc le résultat était plutôt bon.

<détails>

Réponses correctes et incorrectes pour chaque classe </ summary>

Nom de scène Bonne réponse?
Terrain 3D ○
75m ○
Studio WiiFit ○
Ikada et cascade ○
Royaume antique ○
Royaume antique ○
Ancient Kingdom USA ○
Sumamura ○
Légende qui passe ○
Une certaine étoile ○
Tour du commencement ○
Tour de l'horloge Umbra ×
Ligue Pokémon Ish ○
Windy Hill ○
Île d'Uhu ○
Huit circuits transversaux ○
Électroplancton ○
Angelland ○
Onet ○
Oldin Ohashi ○
Ligue Pokémon Karos ○
Plaine de la Gaule ○
Verts verts ○
Zone de Green Hill ○
Grande Baie ○
Vallée de Gerd ○
Joueur ○
Terre de Kotobuki ○
Jungle du Congo ○
Île de Shadow Moses ○
Jardin de la jungle ○
Skyloft ○
Arbre super heureux ○
Créateur de Super Mario ×
Parking Tachiuo ○
Chasse au canard ○
Tengan Zari no Hashira ○
Collection Tomodachi ○
Formation ○
Château de Dracula ○
Ville Dolpic ×
Nouvel hôtel de ville de Donk ○
Nouvelle ville de porc ○
Norfair ○
Château de Hyral ○
Combat de ballon ○
Ailes de pilote ×
Packland ○
Grand bleu ○
Picto Chat 2 ○
Château de Peach ○
Sur le château de Peach ○
Feria Arena ○
Quatre côtés ○
Zone plate X ○
Frégate Orpheon ○
Brinsta ○
Brinsta profond ○
Pupupland ○
Pupupland GB ○
Tour du prisme ○
Paper Mario ○
Stade Pokémon ○
Stade Pokémon 2 ○
Plongée Aéro Port Town ○
Magicant ○
Mario U Monde ○
Mario Galaxy ○
Circuit Mario ×
Mario Brothers ○
Midgar ○
Mute City SFC ○
Fabriqué à Wario ○
Yamabukishiti ○
Île de Yoshi ○
Histoire de Yoshi ×
Île de Yostar ○
Croisière Lyrat ○
Manoir Luigi ○
Croisière arc-en-ciel ○
Équipage de démolition ○
Base Wiley ○
Réouverture du jardin ○
Initialisation de la forêt de bombes ○
Fontaine de rêve ○
Ciel mer ○
Vivre avec des chiots ○
Planète Cornelia ○
Planète Venom ×
Champ de bataille ○
Cuirassé Halbird ○
Bataille du château ○
Mlle Suzaku ○
Village et ville ○
Train ○
Grotte Daisakusen ○
Bateau pirate ○
Bague spéciale ○
Temple ○
Point final ×
Champ ×
Arène ○
Haut ○

Impressions

Le niveau de difficulté est assez élevé aux points de classement de 100 classes ou plus. C'était mieux que ce à quoi je m'attendais, alors j'ai pensé que j'avais fait une erreur.

Eh bien, cela fonctionne bien avec une image qui n'a rien à voir avec le test, donc je me demande s'il y a un problème de fonctionnement. Considérant que 103 classes ne conviennent pas, c'est bien.

Données et code

code https://github.com/daikiclimate/sumaAI

Les données https://drive.google.com/drive/folders/1BUvnfLVzl34CTk3eE5lUc69PXvSx_4LT?usp=sharing

Eh bien, il n'y a pas beaucoup d'applications, et en gros il n'y a pas de demande, donc c'est approprié lol Je l'ai fait si je pouvais bouger.

Recommended Posts