[PYTHON] Ich habe versucht, KI für Smash Bra zu machen

Hintergrund

Ich mag Smash-BHs. Ich würde gerne etwas KI-ähnliches machen, aber die Zeichenerkennung scheint für Anmerkungen problematisch zu sein, und umgekehrt scheint es nicht interessant zu sein, da dies möglich ist, wenn Sie mit Anmerkungen Ihr Bestes geben. Also möchte ich einen Bühnenklassifikator für Smash Bra machen. (Da es ein Teil des Spiels ist, sind Details angemessen)

Zustandseinstellung

Sehr hart nüchtern. Anzahl der Klassen: 103

One-Shot-Lernen, um aus einem Bild zu lernen, weil es mühsam ist Mit anderen Worten, es gibt 103 Lernbilder

Bedingungen ・ Endpunkt ・ Charaktere sind Pudding und Pudding ・ Gesamtansicht des Trainingsmodus ・ Wenn sich der Hintergrund bewegt, ein geeigneter Moment

Wurde zum Lernen verwendet. Das Große Schlachtfeld wurde zu einem Schlachtfeld, als es den Endpunkt erreichte, und es gab keinen DLC. Überraschenderweise gab es viele Stufen, so dass es zu einem Problem der Mehrklassen-One-Shot-Klassifizierung wurde.

Das Ziel ist einfach, die Stufen entsprechend klassifizieren zu können.

Klassenliste

\ ['3D Land', '75m', 'WiiFit Studio', 'Tintenfisch und Wasserfall', 'Altes Königreich', 'Altes Königreich', 'Altes Königreich USA', 'Sumamura', 'Passing Legend' "," Ein bestimmter Stern "," Turm des Anfangs "," Umbras Glockenturm "," Ish Pokemon League "," Windy Hill "," Woohoo Island "," Eight Cross Circuit "," Electroplankton "," Enger " Land ',' Onet ',' Oldin Ohashi ',' Karos Pokemon League ',' Gaul Plains ',' Green Greens ',' Green Hill Zone ',' Great Bay ',' Gerdo Valley ',' Gamer ',' Kotobuki Land, Kongo 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", " Fregatte 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", "Traumbrunnen", "Himmelsmeer", "Leben mit Welpen", " Planet Cornelia ',' Planet Venom ',' Schlachtfeld ',' Schlachtschiff Halvard ',' Schlacht um die Burg ',' Miss Suzaku ',' Dorf und Stadt ',' Zug ',' Höhlenoperation ',' Piratenschiff ' 'Spezialring', 'Tempel', 'Endpunkt', 'Feld', 'Arena', 'Oben']

Künstlername Es gibt viele mysteriöse Typen ...

Strategie

Die Gesamtansicht der Bühne sieht so aus.

いにしえっぽい王国.PNG

Es ist nicht so groß in einem tatsächlichen Kampf, also werde ich dieses riesige Foto ausschneiden, um es so groß zu machen. Sie können die Anzahl der Fotos erhöhen, indem Sie die Schnittmethode ändern.

Bild zum Lernen ausgeschnitten

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

Beim Ausschneiden ・ Auf mehreren Skalen ausschneiden (vorerst drei) ・ Es gibt Duplikate ・ Grundsätzlich geeignet, aber ich habe mich gefragt, ob ich die Hintergrundtextur irgendwie lernen könnte. ・ Möglicherweise werden für jede Stufe 162 Blätter generiert ・ Wenn ich es ausschneide, dachte ich, ich würde es vorerst schaffen und wenn es nicht funktioniert, würde ich es entsprechend reparieren.

Die Verifizierungsdaten sehen im realen Maßstab so aus

いにしえっぽい王国.PNG Ich überprüfe mit diesem Foto. Dieses Bild wird in (224,224) umgeformt und vor der Verwendung vorverarbeitet. Nicht teilweise im Vergleich zum Zug. Auch ist es in einem großen Bereich Da dies jedoch problematisch ist, habe ich nur ein Bild zur Überprüfung vorbereitet.

Netzwerkstruktur

Ich habe mobile-net-v2 aus pytorch.torchvision extrahiert und verwendet. Da die Anzahl der Bilder mit 103 Bildern der Klasse x 162 erheblich zugenommen hat, habe ich es zu einem leichten Netzwerk gemacht. Nur die Ausgabeebene wird in die Klasse 103 geändert.

Ergebnis

Lassen Sie uns zunächst überprüfen, wie richtig die Antwort ist. Lassen Sie uns vorerst das Ergebnis nach dem 10. Lebensjahr überprüfen.

Richtigkeit

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

Es war überraschend erfolgreich lol

Qualitative Bewertung

Vorerst habe ich versucht, eine Szene meines Kampfvideos zu speichern. Ich habe gerade die Größe dieses Bildes auf (224,224) geändert und es über das Netzwerk weitergeleitet.

test.jpg

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

Die Magie der 65. Klasse kann nicht ... richtige Antwort!

Großartig ... lol

Lassen Sie uns noch etwas setzen.

Da es eine große Sache ist, werde ich versuchen, ein Bild ohne Pudding zu machen. Das zweite Stück ist Green Greens.

test2.jpg

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

Das dritte Stück ist das Endpunkt-Schlachtfeld.

test3.jpg

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

Alle waren richtig.

Was schief gelaufen ist

・ Was mir beim Kommentieren aufgefallen ist Mario Brothers マリオブラザーズ.PNG

Ballonschlacht バルーンファイト.PNG

75m (Wie lautet dieser Künstlername w) 75m.PNG

Die Tabelle ist anders, aber die Textur ist ziemlich nah, oder wenn Sie es mit niedriger Auflösung machen, ist der Hintergrund fast gleich lol Ich glaube nicht, dass sie ein paar Minuten lang einen Fehler machen können.

・ Der Rest ist eine Serie mit einem sich bewegenden Hintergrund. Der Hintergrund der Bühne namens Umbra's Clock Tower bewegt sich sehr, so dass oft gesagt wird, dass es sich während eines Spiels unangenehm anfühlt. Der Endpunkt ist ebenfalls eine Grundstufe, aber der Hintergrund bewegt sich ziemlich heftig. Diesmal handelt es sich um eine einmalige Studie. Wenn sich also der Hintergrund ändert, kann dies völlig anders sein, sodass dies auch unvermeidlich ist.

In diesem Sinne hatte ich 70% bis 90% erwartet, also war das Ergebnis ziemlich gut.

Richtige und falsche Antworten für jede Klasse
Künstlername Richtige Antwort?
3D Land
75m
WiiFit Studio
Ikada und Wasserfall
Altes Königreich
Altes Königreich
Altes Königreich USA
Sumamura
Legende übergeben
Ein bestimmter Stern
Turm des Anfangs
Umbra Glockenturm ×
Ish Pokemon League
Windy Hill
Uhu Island
Acht Querstromkreise
Elektroplankton
Angelland
Onet
Oldin Ohashi
Karos Pokemon League
Gallische Ebene
Grüne Grüne
Green Hill Zone
Große Bucht
Tal von Gerd
Spieler
Kotobuki Land
Kongo-Dschungel
Shadow Moses Island
Dschungelgarten
Skyloft
Super glücklicher Baum
Super Mario Maker ×
Tachiuo Parkplatz
Entenjagd
Tengan Zari no Hashira
Tomodachi-Sammlung
Schulung
Dracula Castle
Dolpic Town ×
Neues Rathaus von Donk
New Pork City
Norfair
Hyral Castle
Ballonschlacht
Pilot Wings ×
Packland
Großes Blau
Picto Chat 2
Pfirsichschloss
Über Peach Castle
Feria Arena
Vier Seiten
Flache Zone X
Fregattenorpheon
Brinsta
Deep Brinsta
Pupupland
Pupupland GB
Prismenturm
Papier Mario
Pokemon Stadium
Pokemon Stadium 2
Port Town Aero Dive
Zaubermittel
Mario U World
Mario Galaxy
Mario Circuit ×
Mario Brothers
Midgar
Mute City SFC
Hergestellt in Wario
Yamabukishiti
Yoshi Island
Yoshi Geschichte ×
Yostar Island
Lyrat-Kreuzfahrt
Luigi Mansion
Regenbogen-Kreuzfahrt
Wrackbesatzung
Wiley Base
Wiedereröffnung des Gartens
Initialisierung Bomb Forest
Traumbrunnen
Himmel Meer
Leben mit Welpen
Planet Cornelia
Planet Venom ×
Schlachtfeld
Schlachtschiff Halbird
Schlacht um die Burg
Fräulein Suzaku
Dorf und Stadt
Zug
Höhle Daisakusen
Piratenschiff
Spezialring
Tempel
Endpunkt ×
Feld ×
Arena
Oben

Impressionen

Der Schwierigkeitsgrad ist an den Klassifizierungspunkten von 100 Klassen oder mehr ziemlich hoch. Es war besser als ich erwartet hatte, also dachte ich, ich hätte einen Fehler gemacht.

Nun, das Bild, das nichts mit Test zu tun hat, funktioniert gut, also frage ich mich, ob es ein Problem im Betrieb gibt. In Anbetracht dessen, dass 103 Klassen nicht geeignet sind, ist es gut.

Daten und Code

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

Daten https://drive.google.com/drive/folders/1BUvnfLVzl34CTk3eE5lUc69PXvSx_4LT?usp=sharing

Nun, es gibt nicht viel Anwendung, und im Grunde gibt es keine Nachfrage, also ist es angemessen, lol Ich habe es getan, wenn ich mich bewegen konnte.

Recommended Posts

Ich habe versucht, KI für Smash Bra zu machen
Ich habe versucht, eine Gesichtsdiagnose-KI für professionelle Golferinnen zu erstellen ①
Ich habe versucht, eine Gesichtsdiagnose-KI für professionelle Golferinnen zu erstellen ②
Ich habe eine Web-API erstellt
Ich habe versucht, Jojo mit LSTM ein seltsames Zitat zu machen
Ich habe versucht, nächstes Jahr mit AI vorherzusagen
[Erstes Scraping] Ich habe versucht, einen VIP-Charakter für Smash Bra [Beautiful Soup] zu erstellen. [Zusätzlich Datenanalyse]
Ich habe versucht zu debuggen.
Ich überarbeitete "Ich habe versucht, Othello AI zu machen, als Programmieranfänger Python studierten"
Ich habe ein ○ ✕ Spiel mit TensorFlow gemacht
[Python] Ich habe versucht, eine Shiritori-KI zu erstellen, die den Wortschatz durch Schlachten verbessert
Fortsetzung ・ Ich habe versucht, Slackbot zu erstellen, nachdem ich Python3 studiert habe
[TensorFlow] Ich habe versucht, KI in Fahrzeugeisen einzuführen
Ich habe versucht, eine OCR-App mit PySimpleGUI zu erstellen
AI Gaming Ich habe es zum ersten Mal versucht
Ich habe versucht, PredNet zu lernen
Ich habe versucht, SVM zu organisieren.
Ich habe versucht, PCANet zu implementieren
Ich habe versucht, Linux wieder einzuführen
Ich habe versucht, Pylint vorzustellen
Ich habe versucht, SparseMatrix zusammenzufassen
jupyter ich habe es berührt
Ich habe versucht, StarGAN (1) zu implementieren.
Ich habe versucht, eine Luftlippenerkennung und eine automatische Reaktion BOT für Fernarbeit zu machen
Ich habe versucht, mit Open AI Gym eine verbesserte Lernumgebung für Othello zu schaffen
Ich habe versucht, mit AI kreative Kunst zu machen! Ich habe eine Neuheit programmiert! (Artikel: Creative Adversarial Network)
Ich habe versucht, den für TensorFlow geschriebenen Code nach Theano zu portieren
Ich habe versucht, mit Python faker verschiedene "Dummy-Daten" zu erstellen
Ich habe versucht, einen Bot für die Ankündigung eines Wiire-Ereignisses zu erstellen
Ich habe eine Stoppuhr mit tkinter mit Python gemacht
Ich habe versucht, die Benutzeroberfläche neben Python und Tkinter dreiäugig zu gestalten
Ich habe mit PyQt einen einfachen Texteditor erstellt
Ich habe versucht, Othello AI zu machen, dass ich 7,2 Millionen Hände durch tiefes Lernen mit Chainer gelernt habe
Ich habe versucht, Deep VQE zu implementieren
Ich habe versucht, eine Quip-API zu erstellen
Ich habe versucht, Python zu berühren (Installation)
Ich habe versucht, Pytorchs Datensatz zu erklären
Ich habe Watson Voice Authentication (Speech to Text) ausprobiert.
Ich habe Teslas API berührt
Ich habe versucht, mich über MCMC zu organisieren.
Ich habe versucht, Realness GAN zu implementieren
Ich habe versucht, den Ball zu bewegen
Ich habe versucht, den Abschnitt zu schätzen.
[5.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
Ich habe versucht, eine Aktivität zu erstellen, die gemeinsam die Positionsinformationen festlegt
Ich habe versucht, ein System zu erstellen, das nur gelöschte Tweets abruft
[2nd] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
Ich habe versucht, Deep Learning mit Spark × Keras × Docker skalierbar zu machen
Ich habe versucht, mit Python einen regulären Ausdruck für "Betrag" zu erstellen
[Python] Ich habe versucht, eine stabile Sortierung zu implementieren
Ich habe versucht, Kanas handschriftliche Zeichenerkennung Teil 1/3 zuerst von MNIST zu machen
Ich habe versucht, mit Python einen regulären Ausdruck von "Datum" zu erstellen
[Pandas] Ich habe versucht, Verkaufsdaten mit Python zu analysieren. [Für Anfänger]
Ich habe versucht, mit Selenium und Python einen regelmäßigen Ausführungsprozess durchzuführen
Ich habe versucht, mit Python eine 2-Kanal-Post-Benachrichtigungsanwendung zu erstellen
Ich habe versucht, in 3 Jahren 5 Muster der Analysebasis zu erstellen
Ich habe versucht, eine ToDo-App mit einer Flasche mit Python zu erstellen
[4.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
[Python] Einfaches Japanisch ⇒ Ich habe versucht, ein englisches Übersetzungswerkzeug zu erstellen