[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