[PYTHON] Ich wollte mein Gesichtsfoto in einen Yuyu-Stil umwandeln.

1. Zuallererst

Dieser Artikel ist der Artikel zum 24. Tag des Yuyu-shiki-Adventskalenders 2019.

2. Was Sie tun möchten

Letztes Jahr beim Adventskalender habe ich versucht, Schwarz-Weiß-Cartoons mit CycleGAN automatisch einzufärben. (Versuchen Sie, Cartoons mit CycleGAN-Beispiel des Yuyu-Stils zu färben-) CycleGAN eignet sich gut zur Stilkonvertierung, z. B. zum Ändern von Farben und Texturen, aber nicht zur Formkonvertierung.

Daher wird in diesem Jahr mit U-GAT-IT, einem GAN, das sowohl Stilkonvertierung als auch Formkonvertierung realisiert, eine Yuyu-Stilillustration aus einem Gesichtsfoto realisiert Lassen Sie uns generieren.

Das Bild sieht so aus ↓ example.png (Zitiert aus mantan-web)

  1. U-GAT-IT
model.png

U-GAT-IT kann auch Formkonvertierungen durchführen, in denen CycleGAN nicht gut war.

Das Folgende sind die vom Autor in der Arbeit veröffentlichten Ergebnisse. Ganz links ist das Originalfoto, aber Sie können sehen, dass die Änderungen, die mit der Formumwandlung von Katzen zu Hunden einhergehen, auch gut gemacht werden. result.png

Alle Zahlen stammen aus U-GAT-IT: Unüberwachte generative Aufmerksamkeitsnetzwerke mit adaptiver Schichtinstanznormalisierung für die Bild-zu-Bild-Übersetzung

4. Yuyu-Stil

スクリーンショット 2019-12-23 23.08.48.png [Yuyu-shiki](https://www.yuyushiki.net) ist ein Manga mit vier Bildern von Dr. Komata Mikami, der in Manga Time Kirara serialisiert.

5. Lernen

Das Lernen wurde bei Google Colaboratory durchgeführt. Sie können dies lernen, indem Sie es in der Reihenfolge util-> ops-> UGATIT-> main aus diesem Repository in eine Notizbuchzelle einfügen.

Bei der Ausführung mit Notebook verursacht der Parser jedoch einen Fehler. Ändern Sie ihn daher wie folgt.

#Kommentieren Sie Folgendes aus
#parser = argparse.ArgumentParser(description=desc)
#Auf halbem Weg weggelassen
#parser.add_argument(...)

#Fügen Sie Folgendes hinzu
!pip install easydict
import easydict
args = easydict.EasyDict({
       'phase': 'train',
       'light': False,
       'dataset': 'yuyu',
       ###Folgendes wird weggelassen
})

Platzieren Sie den Datensatz wie unten gezeigt direkt unter dem aktuellen Verzeichnis.

└─ dataset
    └─ yuyu
        ├─ trainA  #Foto einer Frau zum Lernen(Von selfie2anime abgelenkt)
        ├─ trainB  #Charakterfotos im Yuyu-Stil zum Lernen
        ├─ testA   #Zum Prüfen(ry
        └─ testB   #Zum Prüfen(ry

Wenn Sie bereit sind, beginnen Sie zu lernen!

Dieses Modell ist sehr groß, und selbst bei einem Datensatz von nur etwa 100 Blatt trat häufig der Fehler auf, dass es nicht in den Speicher passt. .. In einem solchen Fall lernt die Lichtversion, wenn Sie "Licht" in Argumenten auf "Wahr" setzen. (Es ist ein Kompromiss mit Genauigkeit, aber ...) Dieses Mal habe ich 1500 Epochen mit 100 Iterationen gelernt, was ein wenig übertrieben ist.

** ○ Ergebnis ** Originalfoto / Konvertierungsergebnisfoto. female12.pngfemale12.png female77.pngfemale77.png female66.pngfemale66.png

Es ist ein Bild im Yuyu-Stil, aber es ist subtil ...

6. Am Ende

Dieses Mal habe ich nicht die erwarteten Ergebnisse erzielt. Es tut mir leid, dass ich die Leistung des Modells nicht gut zur Geltung bringen konnte.

Ich denke, der Hauptfaktor ist, dass der Trainingsdatensatz zu klein ist. Ich spüre die Grenzen der Ressourcen. .. (Ich möchte, dass jemand einen Yuyu-Datensatz erstellt.)
Morgen ist der letzte Tag. Habt alle ein schönes Weihnachtsfest!

Recommended Posts

Ich wollte mein Gesichtsfoto in einen Yuyu-Stil umwandeln.
Ich habe versucht, durch maschinelles Lernen Sätze in den XX-Stil umzuwandeln
Ich möchte einen DataFrame in MSSQL einfügen
Ich habe ein Programm erstellt, um Bilder mit Python und OpenCV in ASCII-Grafik umzuwandeln
Ich habe einen Code erstellt, um illustration2vec in ein Keras-Modell zu konvertieren
Eine Geschichte über den Wunsch, die Django-Administrationsseite ein wenig zu ändern
[Markov-Kette] Ich habe versucht, die Zitate in Python einzulesen.
Ich habe ein Drehbuch gemacht, um bei meinem Koshien Hallo zu sagen
[Twitter] Ich möchte die heruntergeladenen vergangenen Tweets (meines Kontos) in eine schöne CSV verwandeln
Ich habe versucht, eine Python-Datei in eine EXE-Datei zu verwandeln (Rekursionsfehler unterstützt)
Ich wollte das ABC164 A ~ D-Problem mit Python lösen
Ich möchte die Position meines Gesichts mit OpenCV überprüfen!
[Einführung in StyleGAN] Ich habe mit "Eine Frau verwandelt sich in Mayuyu" gespielt ♬
[Django] Ich wollte testen, wenn ich eine große Datei poste [TDD]
Konvertieren Sie A4 PDF alle 2 Seiten in A3
Ich wollte cGAN zu ACGAN weiterentwickeln
Konvertieren Sie eine Zeichenfolge in ein Bild
Tool zum Konvertieren der Juniper-Konfiguration
Hash-Kette wollte ich vermeiden (1)
Ich wollte einen Satz wie "Fucking Rashomon" (vergangene Form) generieren
Ich habe einen Code geschrieben, um die Quaternion mit Python in einen Ölerwinkel vom Typ z-y-x umzuwandeln
Ich habe versucht, eine Gesichtsdiagnose-KI für professionelle Golferinnen zu erstellen ①
Ich habe versucht, ein Programm zu erstellen, das Hexadezimalzahlen mit Python in Dezimalzahlen konvertiert
Mayungos Python Learning Episode 6: Ich habe versucht, eine Zeichenkette in eine Zahl umzuwandeln
Ich habe versucht, eine Gesichtsdiagnose-KI für professionelle Golferinnen zu erstellen ②
Ich habe mir eine Möglichkeit ausgedacht, aus einem Foto ein 3D-Modell zu erstellen.
Ich habe ein CLI-Tool erstellt, um Bilder in jedem Verzeichnis in PDF zu konvertieren
Ich möchte eine in Python in PDF konvertierte Tabelle wieder in CSV konvertieren
[An die Herren auf Twitter] Ich habe ein Skript geschrieben, um .jpg-large sofort in .jpg zu konvertieren.
Ich habe ein Netzwerk erstellt, um Schwarzweißbilder in Farbbilder umzuwandeln (pix2pix)
Ich habe ein Skript in Python erstellt, um MDD-Dateien in das Scrapbox-Format zu konvertieren
Ich habe ein Tool erstellt, um Jupyter py mit VS Code in ipynb zu konvertieren