Werbung
Neuronale Netze können viele Dinge tun. Sie können Bilder interpretieren, verstehe unsere Stimmen 6 Google Now-Funktionen, die Ihre Suche ändern Möglicherweise verwenden Sie Google Now bereits auf Ihrem Android-Gerät, aber erhalten Sie alles, was Sie können? Das Wissen über diese kleinen Funktionen kann einen großen Unterschied machen. Weiterlesen , und Gespräche übersetzen So funktioniert der Star Trek-Übersetzer von SkypeDie neue Übersetzungsfunktion von Skype bietet etwas, von dem seit Star Trek geträumt wurde - eine mühelose Möglichkeit, sprachübergreifend zu kommunizieren. Weiterlesen . Aber wussten Sie, dass sie auch malen können?
Ein kürzlich veröffentlichtes Forschungspapier (mit dem Titel „Ein neuronaler Algorithmus des künstlerischen Stils“) Hat eine Reihe von Online-Diskussionen mit einigen auffälligen visuellen Beispielen eingeleitet. Im Wesentlichen wird eine Technik zum Trainieren von a tiefes neuronales Netzwerk Microsoft gegen Google - Wer führt das Rennen um künstliche Intelligenz an? Forscher für künstliche Intelligenz machen greifbare Fortschritte, und die Leute beginnen wieder ernsthaft über KI zu sprechen. Die beiden Titanen, die das Rennen um künstliche Intelligenz anführen, sind Google und Microsoft. Weiterlesen künstlerischen Stil von Bildstruktur zu trennen und den Stil eines Bildes mit der Struktur eines anderen zu kombinieren. Das Ergebnis all dessen ist, dass Sie ein riesiges neuronales Netzwerk trainieren können, um Fotos in „neuronale“ zu verwandeln Gemälde “, die aussehen, als wären sie von berühmten Künstlern gemalt worden -„ digitale Fälschungen “ sprechen.
Hier einige Beispiele aus dem Artikel. Das erste Bild ist das Original. Die späteren Bilder sind die generierten Ergebnisse, wobei das Gemälde, von dem der Stil abgetastet wurde, in Miniatur gezeigt wird.

Die ursprünglichen Forscher haben ihren Code leider nicht veröffentlicht. Einige unerschrockene Programmierer haben jedoch ihre Ergebnisse in den letzten Tagen repliziert, und ihr Code ist Open Source im Internet verfügbar. Alles was Sie brauchen, um es auszuführen, ist eine Linux-Maschine und ein wenig Geduld.
Heute werde ich Ihnen zeigen, wie das geht, und Ihnen einige meiner eigenen Ergebnisse zeigen. Sie können sich dies als eine lose Fortsetzung unserer vorstellen DeepDream-Tutorial Erstellen Sie Ihre eigenen künstlichen Fieberträume mit Googles "DeepDream"Hast du die trippigen Bilder aus DeepDream gesehen? Willst du deine eigenen machen? Suchen Sie nicht weiter! Weiterlesen . Es ist ein bisschen kompliziert, aber jeder mit einem Linux-Computer kann mitmachen - keine Programmiererfahrung erforderlich.
Ich habe aus einem Picasso-Lichtgemälde ein Picasso-Gemälde mit gemacht #DeepStyle! pic.twitter.com/cjkEoIhVcF
- James Blaha (@jamesblaha) 5. September 2015
Einrichten der Software
Wenn Sie es nicht eilig haben oder keinen Linux-Computer haben, können Sie trotzdem mit DeepStyle spielen DeepForger Twitter Bot (Senden Sie ihm ein Bild und einen Stil, und es wird schließlich mit den gewünschten Ergebnissen antworten). Wenn Sie mehr Bilder schnell verarbeiten möchten (und mehr Kontrolle über die Ergebnisse haben möchten), lesen Sie das Tutorial weiter.
Stellen Sie zunächst sicher, dass Sie eine aktuelle Kopie von haben Ubuntu (14.04 habe ich benutzt). Sie sollten mindestens ein paar zusätzliche Gigs Festplattenspeicher haben. Weitere Informationen finden Sie in unserem Tutorial zu Dual-Boot Ubuntu neben Windows Müde von Windows 8? Wie man Windows & Ubuntu dual bootetWenn Sie feststellen, dass Windows 8 nicht ganz Ihre Sache ist und Sie keinen praktikablen Weg zum Downgrade haben, ist es möglicherweise eine gute Idee, mit Linux dual zu booten, um eine Alternative zu haben ... Weiterlesen . Sie benötigen außerdem Root-Berechtigungen. Stellen Sie dies also sicher, bevor Sie fortfahren.
Basiswerkzeug
Auf Anhieb ist dies ein Open-Source-Projekt, also werden wir es haben wollen Git Eingerichtet. Git ist das Goldstandard für Versionskontrollsoftware Was ist Git und warum sollten Sie die Versionskontrolle verwenden, wenn Sie Entwickler sind?Als Webentwickler arbeiten wir häufig an lokalen Entwicklungsseiten und laden dann einfach alles hoch, wenn wir fertig sind. Dies ist in Ordnung, wenn es nur Sie sind und die Änderungen gering sind, ... Weiterlesen . Nahezu jedes bekannte Open Source-Projekt wird auf Github gehostet.
Um Git herunterzuladen und zu installieren, öffnen Sie einfach ein Terminal und geben Sie „sudo apt-get install git
Und stimmen den Anforderungen des Installateurs zu.
Weiter: Wir werden Richten Sie einige grundlegende Tools ein benötigt, damit die Software funktioniert.
Installieren Sie zuerst Lua. Dies ist die Sprache, in der das Tool geschrieben ist. Es ist ziemlich einfach. Tipp einfach "sudo apt-get install lua5.2
”Und folgen Sie dem Installationsprozess.
Zweitens werden wir bekommen Luarocks. Dies ist das Tool, das die Installation anderer Tools erleichtert (lieben Sie Linux nicht?). Geben Sie für diesen Fall „sudo apt-get install luarocks
”Und folgen Sie den Installationsschritten.
Drittens werden wir installieren Luajit. Dies ist ein Just-in-Time-Compiler für Lua, der unser Leben ein bisschen einfacher machen wird. Tipp einfach "sudo apt-get install luajit
.”
So weit, ist es gut.
Ich bin ein Bot, der Fälschungen aus Ihren Fotos im Stil berühmter Maler erstellt. Klicken Sie unten für Anweisungen! pic.twitter.com/3MpThDNwRE
- Der tiefe Fälscher (@DeepForger) 5. September 2015
Frameworks
Als nächstes werden wir installieren Fackel, ein Framework für wissenschaftliches Rechnen und maschinelles Lernen, das das Rückgrat der Anwendung bildet. Leider kann dieser nicht mit apt-get (dem Standard-Ubuntu-Paketmanager) installiert werden.
Glücklicherweise haben sie ein einzeiliges Installationsprogramm, das etwas Befehlszeilenmagie verwendet. Kehren Sie zu Ihrem Terminal zurück und geben Sie „locken -s https://raw.githubusercontent.com/torch/ezinstall/master/install-all | Bash
“.
Wenn Sie fertig sind, geben Sie "luajit-lampe
“. Dadurch wird die Brennerschnittstelle aufgerufen und überprüft, ob alles korrekt installiert wurde.
Verlasse das.
Jetzt werden wir installieren Loadcaffe - ein neuronales Netzwerk-spezifisches Paket. Installieren Sie die einzige Abhängigkeit, indem Sie “sudo apt-get install libprotobuf-dev protobuf-compiler
“. Dann können Sie das Paket selbst mit „sudo luarocks install loadcaffe "
.
@ Johnicholas Ihr Fälschungszusammenbruch im Stil der Schule von Rembrandt van Rijn. #Digitale Kunst#StyleNetpic.twitter.com/pf0sZxWkaT
- Der tiefe Fälscher (@DeepForger) 7. September 2015
Abhängigkeiten überprüfen
Schließlich werden wir einige Dinge vorbeugend aktualisieren, um sicherzustellen, dass alles reibungslos verläuft.
Art "sudo luarocks install image
”, Um sicherzustellen, dass Ihr Image-Paket auf dem neuesten Stand ist. Geben Sie als Nächstes “luarocks installieren nn
Dies gilt auch für Ihr 'nn'-Paket.
Deep Style installieren
In Ordung! An diesem Punkt sind wir bereit, die Software selbst zu installieren. Erstellen Sie aus Gründen der Sauberkeit einen neuen Ordner in Ihrem Home-Verzeichnis ("mkdir DeepStyle"). Geben Sie es dann mit „CD Deepstyle
“. Geben Sie nun „Sudo Git Klon https://github.com/jcjohnson/neural-style.git".
Als nächstes müssen wir das Modell herunterladen. Machen Sie eine Tasse Kaffee oder so, das wird eine Weile dauern. Zurück zum Terminal und geben Sie „sudo sh models / download_models.sh
“. Damit beginnt ein langer, aufwändiger Download-Prozess. Wenn dies aufgrund von Berechtigungsfehlern fehlschlägt, versuchen Sie, sich mit chmod Lese- und Schreibberechtigungen für die entsprechenden Ordner zu erteilen.
@ 44thats44oars beauftragte dies #ProceduralArt#NeuralArt. pic.twitter.com/tbMH7gsvc8
- Der tiefe Fälscher (@DeepForger) 6. September 2015
Verwenden von Deep Style
Okay, wir können loslegen. Die Verwendung der Software ist ziemlich einfach.
Stellen Sie sicher, dass Sie in der DeepStyle / Verzeichnis im neuronalen Stil im Terminal. Jetzt benötigen Sie einige Bilder, an denen Sie arbeiten können. Laden Sie sie aus dem Internet (oder was auch immer) herunter und kopieren Sie sie dann in das Internet DeepStyle / Ordner im neuronalen Stil mit dem Dateibrowser.
Jetzt können Sie über die Befehlszeile einzelne Bilder verarbeiten. Das Format ist ziemlich einfach:
th neural_style.lua -style_image YOURPAINTINGHERE.jpg - content_image YOURPHOTOHERE.jpg -gpu -1
(Natürlich müssen Sie die Chunks in ALL CAPS durch die Namen Ihrer Dateien ersetzen.)
Dadurch wird das neuronale Netzwerk gestartet. Es läuft ungefähr eine Stunde und spuckt alle paar Minuten neue, teilweise konvergierte Bilder aus, bis es fertig ist. Das -gpu -1
Das Flag verhindert, dass versucht wird, auf Ihre GPU zuzugreifen.
Nachdem ich mehrere Stunden lang versucht hatte (und das Betriebssystem mehrmals gemauert hatte), konnte ich Ubuntu und CUDA nicht dazu bringen, mit meiner GPU (einer NVIDIA GTX 970) gut zu spielen. Wenn Sie mehr Glück damit haben, möchten Sie CUDA und cudann.torch installieren (siehe die Github Repo für mehr Informationen). Wenn nicht, ist das in Ordnung - es funktioniert immer noch mit Ihrer CPU. es wird nur etwas langsamer sein
Wenn Sie Probleme haben, all dies zum Laufen zu bringen, fragen Sie mich einfach in den Kommentaren, und ich werde mein Bestes tun, um Ihnen zu helfen.
Ergebnisse
Hier sind einige Bilder, die ich in den letzten Tagen erstellt habe. Die Ergebnisse sind gemischt, aber viele von ihnen sind ziemlich beeindruckend.

Klicken Sie hier für die vollständige Auflösung.
Dieser ist von meinem Freund Zack auf einer Wanderung nach Yellowstone. Der Stil stammt von einem abstrakten Gemälde, das von geschaffen wurde Theresa Paden. Ich war gespannt, wie sich das System mit einem Bild ohne jegliche Struktur verhalten würde. Die Ergebnisse sind ziemlich ordentlich und Sie können definitiv die Ähnlichkeiten mit dem Stilbild erkennen.

Klicken Sie hier für die vollständige Auflösung.
Dieser stammt von einem meiner Lieblingskünstler, Charles Demuth (siehe: Weihrauch einer neuen Kirche, und Abbildung 5 in Gold). Interessanterweise ist Demuth eine der wichtigsten visuellen Inspirationen für die Kunst von Team Fortress 2 Team Fortress 2: Das kostenlose Steam-Spiel, das Sie spielen müssenIst Team Fortress 2 nur ein schnelles Spiel, um Grafik und Leistung zu testen, oder lohnt es sich, es wiederholt zu spielen? Weiterlesen , wie Sie aus dem Stilbild sehen können.
Ich habe ihm ein Bild von Jersey City gegeben, das ich auf Wikimedia gefunden habe. Die Ergebnisse sind… ziemlich gut. Es hat nicht die Winkligkeit von Demuths Stil aufgegriffen, aber es hat sicherlich den weichen, strukturierten Look und die Farbpalette aufgenommen.

Klicken Sie hier für die vollständige Auflösung.
Dies ist ein Versuch, ein synthetisches O'Keeffe zu erzeugen, wobei ein ziemlich profanes Bild einiger Blumen verwendet wird, die ich gefunden habe. Die Ergebnisse sind ehrlich gesagt spektakulär. Ästhetisch ist dies eines meiner Lieblingsergebnisse. Der Reichtum der Farben und Formen von O’Keeffe kommt deutlich zum Ausdruck. Die geschichteten Ränder der Blütenblätter werden zu den Rändern der Blätter im Hintergrund. Die Blumen selbst lösen sich in Farben auf und werden fast abstrakt.
Es wäre ein gutes Gemälde, wenn ein Mensch es tun würde. Ich bin sehr versucht, ein paar Tage damit zu verbringen, eine Version mit höherer Auflösung zu rendern und sie rahmen zu lassen.

Klicken Sie hier für die vollständige Auflösung.
Hier ist meine Freundin Shannon in ihrem Halloween-Kostüm als Picasso-Druck. Interessanterweise hat das Gerät den unteren Teil ihres Gesichts weiß gestrichen (ähnlich dem Farblayout des Picasso-Stücks). Ich bin mir nicht sicher, ob dies ein Zufall war oder nicht, aber die Ergebnisse sind bemerkenswert. Es scheint auch Shannons Haar auf der linken Seite korrekt identifiziert und unter Verwendung der Farbe und Linienführung des Haares im Stilbild neu gezeichnet zu haben. Das Gleiche gilt für ihren Hut.
Dies ist eines der Stücke, bei denen die Grenzen der Technik deutlich werden. Wenn Picasso tatsächlich Shannon gemalt hätte, hätte er die Struktur ihres Gesichts weggeworfen und die Gesichtszüge verzerrt, um den gewünschten Effekt zu erzielen. Dieses System versteht diese Art von Konzepten auf hoher Ebene nicht und kann nur oberflächliche Aspekte des Stils nachahmen, wie die dunklen, eckigen Linien und die Farbpalette.

Klicken Sie hier für die vollständige Auflösung.
Ziemlich einfach: ein Bild des Eiffelturms und des von Van Gogh andere Sternenklare Nacht. Es macht einen guten Job, die Wolke in einem Van-Gogh-Ey-Stil zu rendern, obwohl im Originalbild keine Wolken vorhanden sind. Es ist auch gut darin, die Szene von Tag zu Nacht zu übersetzen.
Ich war mir nicht sicher, warum es beschlossen hatte, die Spitze des Fiffelturms als Feuersäule darzustellen. Es sieht cool aus, ist aber aus den Eingabedaten nicht wirklich zu rechtfertigen. Dann wurde mir klar, dass das Stilbild dreizehn lange, vertikale gelbe Streifen in Form der Reflexionen im Wasser enthält. Angesichts der geringen Trainingsdaten ist dies ein ziemlich großer Cluster. Das arme Ding hat wahrscheinlich gelernt, dass jede kontrastreiche vertikale Kante eine dieser Reflexionen sein muss. In den Wolken sind schwachere vertikale Streifen zu sehen.
Klicken Sie hier für die vollständige Auflösung.
Das gleiche Van Gogh-Gemälde, aber dieses Mal gab ich ihm einige echte Sterne zum Malen. In diesem Fall der Säulenteil des Adlernebels. Ich mag die Ergebnisse - obwohl man wieder einmal die Besessenheit mit gelben Streifen sehen kann. Jeder vertikale Teil der Säule wird zu einer hellen, wackeligen gelben Linie. Es ist auch deutlich verärgert über das Grün, das in den Trainingsdaten nicht vorkommt, und bemüht sich, es zugunsten von Blau und Schwarz loszuwerden.
Technologie
Einige Ergebnisse sind äußerst überzeugend, obwohl die Technik klare Einschränkungen aufweist. Einige Bilder haben eine miese Komposition, und das System hat Schwierigkeiten mit abstrakteren Künstlern wie Picasso, die bekanntermaßen gern sein Thema verzerrten und seine Merkmale zerstreuten. Der Algorithmus nimmt seine Winkellinien und zusammenstoßenden Farben auf, ist aber immer noch ein Sklave der Pixelwerte des Bildes. Es hat nicht das Verständnis, das Sie benötigen, um zu weit vom Quellmaterial abzuweichen.
Was mich an all dem begeistert, ist, dass ich diese Einschränkungen nicht für grundlegend halte.
Der hier verwendete Ansatz - ein Netzwerk auf einem Bild trainieren und damit ein anderes aufbauen - ist im Grunde eine Art Hack. Es gibt dem Netzwerk sehr wenig Daten, mit denen es arbeiten kann. Eine fortgeschrittenere Version dieser Anwendung würde ein Netzwerk verwenden, das Informationen zu vielen enthält Gemälde und vielleicht sogar echte Bilder, um dem Kontext, den es versucht, viel Kontext zu geben "Farbe."
Ein tiefes Verständnis von Stil kann nur in einem breiteren Kontext existieren. Sie können es nicht aus einem einzelnen Bild ableiten. Durch das Entwerfen einer Architektur, die dem System Zugriff auf umfassendere Daten gewährt, kann es möglicherweise mehr ableiten „Menschliches“ Verständnis des Bildes und wie Künstler verschiedene Elemente des Realen darstellen Welt. Ein solches Netzwerk kann möglicherweise Bilder erzeugen, die abstrakter sind und eine bessere Komposition aufweisen. Solche Algorithmen würden aufhören, ein cooles Spielzeug (wie dieses) zu sein und eine Möglichkeit sein, tatsächliche, originelle Kunst zu produzieren.
Das ist in gewisser Hinsicht ein sehr eigenartiger Gedanke.
Eigene Bilder machen
Wenn Sie ein enttäuschendes Ergebnis erzielen, können Sie ein wenig mit den Optionen herumspielen, um überzeugendere Ergebnisse zu erzielen. Die vollständige Liste befindet sich auf dem Github. Die wichtigsten sind
- -content_weight -value Wie viel muss der Begriff für die Inhaltsrekonstruktion gewichtet werden? Standard ist 5e0.
- -style_weight -value: Wie viel Gewicht dem Stilbild zu geben ist. Standard ist 1e2.
- -style_scale - Wert: Wie viele Bildfelder sollte das System analysieren (Größer wird abstrakter). Standard ist 1.0.
Sobald Sie alles zu Ihrer Zufriedenheit zum Laufen gebracht haben, veröffentlichen Sie bitte Ihre interessantesten Bilder in den Kommentaren. Ich bin wirklich interessiert zu sehen, was euch einfällt.
Bildnachweis: menschlicher Hirnmaler über Shutterstock
Andre ist ein im Südwesten ansässiger Schriftsteller und Journalist, der garantiert bis zu 50 Grad Celsius funktionsfähig bleibt und bis zu einer Tiefe von zwölf Fuß wasserdicht ist.