Sie können diese Website verwenden, um Bilder mit verschiedenen Übertragungsmethoden neural style zu stilisieren.
Dieses Projekt wird hauptsächlich in Keras 2.1.3 implementiert (ein Teil ist Tensorflow)
Demo-Video
Schneller neural style
neuronaler Stil " style="max-width: 100%;">
Stiltausch
Maskenstil
Schneller neural style
Die Implementierung des schnellen neural style basiert auf Fast-Neural-Style-Keras von Misgod. Wir haben einige Änderungen daran vorgenommen, und diese Methode basiert auf Perceptual Losses for Real-Time Style Transfer und Super-Resolution von Johnson et al.
In der aktuellen Version ersetzen wir einige der Conv2D-Ebenen durch in der Tiefe trennbare Faltungen im Bildtransformationsnetz. Die Einzelheiten der Schulungsverfahren werden in Kürze hinzugefügt.
Stiltausch
Die Style-Swap-Ebene ist eine Referenz aus WCT-TF von eridgd, das Originalpapier ist Fast Patch-based Style Transfer of Arbitrary Style von Chen et al.
Maskenstil
Wir verwenden Mask R-CNN, das von Matterport implementiert wird. Das Originalpapier von Mask R-CNN ist Mask R-CNN von He et al.
Python >= 3.5 (Anaconda)
CUDA >=8.0 (Für GPU-Unterstützung müsste bei Verwendung einer neueren Version die Kompatibilität mit der Tensorflow-GPU-Version überprüft werden.)
Cudnn >=6.0 (Für GPU-Unterstützung)
Kolben 0.12.2
Keras 2.1.3
Tensorflow-GPU 1.4
scipy 1.0.0
Scikit-Bild
Pycocotool
imgaug
pil
Cython
Sie müssen außerdem die Anforderungen von Mask R-CNN erfüllen.
Laden Sie die destillierten vorab trainierten Modelle herunter, entpacken Sie die Modelle in models/fast_style_transfer/pretrained
, ändern Sie dann MODELS_PATH in models/file_path.py
und verschieben Sie sie über die Konsole in den Stammordner des Projekts und geben Sie ihn ein
python app.py
und öffnen Sie den Browser, gehen Sie zu localhost:5000
Sie müssen zuerst den COCO-Datensatz herunterladen. Wir verwenden den Trainingssatz von 2014 (83.000 Bilder).
Schneller neural style Original
Sie müssen die Pfadzeichenfolge in der Funktion loss_net
in models/src/nets.py
zu Ihrem vorab trainierten vgg16-Modell hinzufügen. Beachten Sie, dass Ihre Trainingsbilder in einem Ordner wie diesem cocotrain/0/xxx.jpg
abgelegt werden sollten, da wir ImageDataGenerator zum Laden der Bilder verwenden. Dabei wird davon ausgegangen, dass unterschiedliche Bildklassen in den verschiedenen Ordnern gespeichert sind.
Bereiten Sie ein Stilbild vor und fügen Sie es in static/img/styles/
ein.
Geben Sie den folgenden Befehl ein, um ein Modell zu trainieren. Dies ist ein Beispiel, das zeigt, dass meine Trainingsbilder im Stammordner des Projekts gespeichert sind und ich beispielsweise einen Stil namens „Mosaik“ trainieren möchte.
python train_fast_model.py -p ./cocotrain -s mosaic
Sie können auch die Gewichtung von Inhalt und Stil anpassen. Geben Sie -h ein, um alle Argumente anzuzeigen.
python train_fast_model.py -h
Schneller neural style , destilliert
Sie benötigen die originalen vorab trainierten Fast neural style Modelle. Hier ist der Link zu den originalen vorab trainierten Modellen.
Führen Sie „ generate_image.py
aus. Sie müssen außerdem den COCO-Dataset-Pfad mit -p
angeben.
python generate_image.py -p ./cocotrain
train_distillated_model.py
aus. Der Pfad zum COCO-Datensatz und der Stilname werden benötigt. Unten finden Sie ein Beispiel. python train_distillated_model.py -p ./cocotrain -s mosaic
Style-Swap-Modell
Sie benötigen nicht nur den COCO-Datensatz, sondern auch viele Stilbilder. Genau wie das Papier verwenden wir Malen nach Zahlen. Beachten Sie, dass Ihre Trainingsbilder und Stilbilder in einem Ordner wie cocotrain/0/xxx.jpg
und styleimages/0/xxx.jpg
abgelegt werden sollten.
train_style_swap_model.py
aus. Der Pfad zum COCO-Datensatz und Stilbilder werden benötigt. Unten finden Sie ein Beispiel. python train_style_swap_model.py -p ./cocotrain -s ./styleimages