Ist es möglich, ein neuronales Netzwerk zu trainieren, um Bilder in einem bestimmten Stil zu zeichnen? (Es nimmt also ein Bild auf und zeichnet es in einem Stil neu, für den es trainiert wurde.)
Gibt es eine zugelassene Technologie für so etwas? Ich kenne den DeepArt-Algorithmus. Es ist gut, das Hauptbild mit einem bestimmten Muster zu füllen (z. B. ein Vangoghify-Bild), aber ich suche nach etwas anderem - zum Beispiel nach einem Cartoon in einem bestimmten Stil als dem Eingabeporträt.
Antworten:
Es gibt ein relevantes Papier: LA Gatus, AS Ecker, M. Bethge, 2015, Ein neuronaler Algorithmus des künstlerischen Stils . Zitat aus dem Abstract,
Hier ist Abbildung 2 aus diesem Artikel:
Es gibt hier auch eine sehr beliebte Open-Source-Implementierung basierend auf Fackel , die recht einfach zu bedienen ist. Weitere Beispiele finden Sie unter dem Link.
Beachten Sie, dass die Berechnungen sehr umfangreich sind und daher die Verarbeitung einzelner Bilder Gegenstand dieser Arbeit ist.
Bearbeiten: Nachdem Sie Ihr erwähntes DeepArt-Projekt überprüft haben, scheint es, dass es dieselben Techniken verwendet. Ich bin mir nicht sicher, warum Sie das nicht wollen, weil das Konzept der Stilübertragung so allgemein wie möglich ist.
quelle
Dies ist ein ziemlich schwer zu lösendes Problem. Sie können hier einige Beispiele sehen, wie ein Cartoon-Stil, z. B. von Simpson, auf ein Bild angewendet wurde.
Ein Cartoon-Bild hat im Allgemeinen nicht die Struktur, die diesen künstlerischen Effekt verleiht . Der einfachste Weg, dies auf irgendeine Weise anzuwenden, besteht darin, einen Face-Tracker zu haben und dann zwei Gesichter auszurichten, z. B. ein Cartoon-Gesicht und ein menschliches Gesicht, und dies dann anzuwenden. Das könnte dich irgendwohin bringen, aber es könnte auch komisch aussehen. Anschließend können Sie Orientierungspunkte in den Bildern mit Anmerkungen versehen, um weitere Informationen zu erhalten und zuvor eine nicht starre Registrierung durchzuführen. Dies ist immer noch eine Shitmix-Lösung, aber die nächste, die ich mir vorstellen kann, könnte für Gesichter funktionieren.
Bearbeiten:
Der Kommentar von @TannerSwett fügt etwas hinzu. Es ist möglich, auf die Webseiten einiger Künstler zu gehen und zu versuchen, ihre Illustrationen zu finden und "ihren" Stil zu lernen. Ich denke immer noch nicht, dass dies zufriedenstellend ist oder genügend Daten liefert, aber das wäre eine interessante Sache zum Testen. Derzeit gibt es keine allgemein verfügbare Lösung, aber ich denke, das sind definitiv einige Leute, die daran arbeiten, und wir werden bald bessere Ergebnisse sehen.
Ich denke, dass der Weg vielleicht nicht der künstlerische Ansatz des neuronalen Netzwerks ist. Vielleicht ist es besser, ein Netzwerk zu haben, das Objekte in einem Bild klassifizieren und dann die Entsprechungen zwischen den Objekten und ihren Comic-Gegenstücken lernen und dann die Ergebnisse auf sinnvolle Weise mischen kann.
quelle
Es sollte nicht zu kompliziert sein. Ich habe den erwähnten Artikel nicht gelesen, hier ist mein Rezept:
Grundsätzlich gibt Ihnen dies eine Möglichkeit, den "Stil" in Ihrem Fall zu parametrisieren. Nehmen wir beispielsweise an, wie breit oder unscharf der Pinselstrich sein soll. Dinge, die von dem bestimmten Stil abhängen, den Sie emulieren möchten.
Im obigen Beispiel sind verschiedene "verwandelte" oder "imaginierte" Gesichter eine Funktion der Parameter im latenten Raum. Im Bild unten erhalten Sie dies, wenn Sie Dinge auf der Code-Ebene ändern.
Hier ist die Grundidee: Originalbild links, stilisierte Version desselben Bildes rechts:
Wenn Sie theoretisch ein solches Modell auf ein normales Bild und ein stilisiertes Bild als Ziel trainieren und Windungen hinzufügen würden, sollten Sie in der Lage sein, die Kernelfilter zu lernen, die der Art der vom Künstler verwendeten "Pinselstriche" entsprechen .
Das bedeutet natürlich, dass Sie einige Beispiele für Bilder sowohl in Originalversion als auch in stilisierter Version benötigen. Ein solcher Datensatz wäre schön, der Community etwas zu spenden - wenn Sie dies tun, wäre ich sehr gespannt auf diese Art von Arbeit.
Viel Glück!
Der Wiki-Artikel über Auto-Encoder wäre ein guter Ausgangspunkt: https://en.wikipedia.org/wiki/Autoencoder
quelle