[PYTHON] Versuchen Sie, mit DCGAN + ein Death Metal-ähnliches Jackenbild zu erzeugen, und kratzen Sie die Metalldatenbank-Site dafür ab

Überblick

wie der Name schon sagt. Wie Sie auf DCGANs Github-Seite sehen können, scheint DCGAN fiktive Album-Jacken generieren zu können. Generated Album Covers Bildzitat: * dcgan_code * Sicherlich sieht es aus der Ferne so aus. Also habe ich versucht, dasselbe mit meiner Lieblings-Death Metal-Jacke zu machen. Wie unten gezeigt, gibt es viele Arten von Death Metal-Jacken, die Horror-ähnlich, Dark-Fantasy-ähnlich oder ** sind **, aber können Sie Bilder mit solchen Eigenschaften erzeugen?

Domination, by Morbid AngelSlowly We Rot, by ObituaryMortification by Mortification Bildzitat: * Domination *, von Morbid Angel, * Slowly We Rot *, von Nachruf //en.wikipedia.org/wiki/Slowly_We_Rot "Langsam verrotten wir durch Nachruf"), * Mortification *, durch Mortification

DCGAN-Implementierung von Torch

Here hat eine Implementierung von Torch von DCGAN veröffentlicht, in der Sie Bilder mit Ihren eigenen Bildern generieren können. (Vielen Dank!) Die Arbeit, die dieses Mal benötigt wird, besteht darin, so viele Deathmetal-CD-Hüllenbilder wie möglich zu sammeln.

Diesmal verwenden wir Encyclopaedia Metallum, eine Datenbank-Site für Metal-Bands im Osten und Westen. Diese Seite behandelt die Diskographie aller Metal-Bands, diesmal [Scraping](https://ja.wikipedia.org/wiki/%E3%82%A6%E3%82%A7 % E3% 83% 96% E3% 82% B9% E3% 82% AF% E3% 83% AC% E3% 82% A4% E3% 83% 94% E3% 83% B3% E3% 82% B0, " Was kratzt? ") Und sammle Bilder. Verwenden Sie zum Scraping das Skript only_coverart_mining.py </ b> (Code befindet sich auf github) mit dem Python-Scraping-Modul BeautifulSoup. Verwenden. Ich werde nicht auf Details zu diesem Skript eingehen, aber seine Funktion besteht darin, auf die Bandseite zuzugreifen, die in der Eingabedatentextdatei input.txt </ b> beschrieben ist, die einen Teil davon unten zeigt, und sie freizugeben. Das Umschlagbild des Albums wird automatisch erfasst. Dieses Mal sind nur die Death Metal-Bands betroffen, aber die hier gesammelten Bands sind Liste der Death Metal-Bands in der englischen Wikipedia.

Hier sind die Zahlen, die zusammen mit dem Bandnamen in input.txt </ b> geschrieben wurden, Informationen, die bei Verwendung in einem anderen Projekt verwendet werden, und die Erklärung hier wird weggelassen. Sie können dieser Datei auch Informationen über andere Künstler hinzufügen. Wenn Sie also auch das Jackenbild dieser Band kennenlernen möchten! In diesem Fall fügen Sie es bitte selbst hinzu.

input.txt


Aborted,0,Death
Cannibal_Corpse,0,Death
Immolation,0,Death
Deicide,0,Death
Suffocation,0,Death
...

Death Metal Scraping

$ python only_coverart_mining.py

Dadurch wird automatisch nach den in input.txt </ b> aufgeführten Bändern gesucht. Encyclopaedia Metallum Es dauert einige Zeit, da überprüft wird, ob die Daten in den Daten übereinstimmen und ob die Bilddatei angemessen ist, das Scraping jedoch sicher ist. Wenn der Vorgang abgeschlossen ist, werden Bilddateien mit einer Größe von 128 x 128 gespeichert (das Speicherziel wird unter imgs / generiert direkt unter dem aktuellen Verzeichnis abgelegt, sofern mit der Option --imgdir nichts anderes angegeben ist). Standardmäßig werden Jackenbilder nur für Alben in voller Länge erfasst. EPs, Singles und Live-Alben können jedoch auch durch Angabe von Optionen erfasst werden.

Infolge des Scrapings wurden 2057 Jackenfotos gesammelt (einschließlich EP und Singles, ausgenommen Live-Alben).

Führen Sie DCGAN aus

Wie bereits erwähnt, verwendet DCGAN Torch Implementation. Wenn die Umgebung wie auf dieser Seite gezeigt erstellt wurde, geben Sie einfach den folgenden Befehl ein, um mit dem Lernen zu beginnen (hier ist myimages das übergeordnete Verzeichnis von imgs).

$ DATA_ROOT=myimages dataset=folder th main.lua
Training Process

Wenn Sie das Skript ausführen, werden das generierte Bild und das Trainingsbild wie folgt angezeigt. Während der Generator und der Diskriminator die Parameter schrittweise aktualisieren, wird das generierte Bild auf der linken Seite so (ich habe ein GIF-Bild vorbereitet, das die Änderung unten zeigt). ).

Midway Ergebnisse

Nachdem Sie ungefähr 1000 Epochen gelernt haben, scheint es, dass Sie sozusagen ein leichtes, metallisches, dunkles oder beängstigendes Gefühl bekommen können. experiment1(7).jpg

Einige von ihnen haben Bandlogos oder Albumtitel in den Bildern! Gibt es. logo

Änderungen in generierten Bildern beim Training bis zu 5000 Epochen

Wenn die Bedingungen gegenüber dem obigen Experiment geändert wurden (die Anzahl der Epochen wurde auf 5000 erhöht) und das Lernen und die Bilderzeugung erneut durchgeführt wurden, wurden die folgenden Ergebnisse erhalten. 1491319404dfKavNZhgXvi4Rq1491319397.gif

Bild gegen Ende des Lernens (Epochennummer: 4770) epoch@4770.jpg Es ist sehr schwer zu kommentieren, aber es scheint, dass es viele Bilder wie abstrakte Gemälde gibt ...

Eindrücke, Zukunftsaussichten

Wenn Sie es aus der Ferne betrachten, sieht es so aus, als würden Sie es in der Death-Metal-Ecke eines CD-Shops sehen, aber wenn Sie es richtig betrachten, ist es ein Bild, das Sie nicht ganz verstehen (nun, es gibt solche Jacken). Ich weiß nicht, wie viele Jackenbilder zu Beginn zum Lernen der generierten Jackenfotos verwendet wurden, aber war es immer noch schwierig, mit dem 2000 oder so, das diesmal verwendet wurde, genug zu lernen? In Zukunft würde ich gerne sehen, wie sich die Ergebnisse ändern, wenn die Anzahl der Trainingsbilder erhöht wird. Auch wenn ich diesmal Death Metal als extremes Beispiel gewählt habe, möchte ich das gleiche Experiment mit Jackenbildern von Power Metal, Black Metal und Slash Metal durchführen.

Code usw.

Alle zum Scraping benötigten Dateien befinden sich auf github. Ich möchte eine Sammlung von Metallmantelbildern! In diesem Fall bitte.

Recommended Posts