• 🏡 Home
  • 🚨 GDPR Compliant
  • ⚡️ Data Science
  • 📌 Machine Learning
  • 🔒 Privacy Preserving
  • 🏡 Home
  • 🚨 GDPR Compliant
  • ⚡️ Data Science
  • 📌 Machine Learning
  • 🔒 Privacy Preserving
Guide

Guida Deep Photo Style Transfer in Tensorflow | Computer Vision

Guida Deep Photo Style Transfer in Tensorflow | Computer Vision

Una curiosa e sorprendente applicazione del machine learning alle foto: trasferire uno stile da un’immagine ad un’altra grazie alla computer vision. 

In questa guida imparerai a creare splendide immagini con l’ausilio di tensorflow e di una rete neurale artificale.

Requisti Hardware

La maggior parte dei processi di machine learning richiede macchine performanti, questo non è da meno. Se sei privo di GPU con memoria RAM dedicata, e ti limiti a possedere un laptop con i5 o anche i7, ti conviene lasciare perdere. 

Puoi sempre provare, ma i tempi di processing crescono a dismisura. Con una 1070, un i5 6700k (non OC) e 8GB di RAM ho ottenuto ottimi risultati. Usa questi dati come riferimento.

Download deep-photo-styletransfer-tf

Collegati alla respository di GitHub e scarica i file. Estrai poi l’archivio in una cartella da te scelta.

Deep Photo Style Transfer Tensorflow Repository | Download GitHub

Ora, affinché il sistema funzioni correttamente hai bisogno di un modello allenato ad effettuare questo tipo di operazioni. Come puoi leggere sul Readme, uno compatibile è il VGG-19.

Collegati al link sottostante e scarica il modello. (La differenza riguarda il numero di classi e altri parametri che tuttavia assumo importanza solo in lavori più complessi.)

VGG19 (*.NPY) | Download Google Drive

E’ normale che Drive non riesca a analizzare il file per riscontrare eventuali virus. Ti devi fidare.

Configurazione cartelle

Ora apri l’archivo zip della repository e nella cartella:

deep-photo-styletransfer-tf-master\vgg19

Inserisci il file:

vgg19.npy

Scegli le foto

Ai seguenti percorsi trovi una serie di foto e stili tra cui scegliere.

[stili] deep-photo-styletransfer-tf-master\examples\style
[foto] deep-photo-styletransfer-tf-master\examples\input

Ti fermo subito: non puoi prendere una bella foto del mare, spostarla in una di queste cartelle, premere invio e aspettarti che l’AI applichi tuto all’immagine.

Questo sistema, per poter funzionare, necessita delle maschere di segmentazione. Ossia un’immagine che, ricavata da una foto originaria, contenga un numero variabile di regioni uniformi e disgiunte che gli script usano per non creare una foto che sembri uscita dal deretano di un cinghiale. O dal culettino profumato di un bambino, ecco un’immagine meno forte.

Al momento quindi, dovrai limitarti a scegliere una foto da modificare e uno stile da usare tra quelli presenti nella repository. 

Niente panico

Se vuoi davvero usare una tua foto, mi sto attrezazzando per trovare la giusta configurazione. Per il momento, siamo in fase LOG.

Creazione immagine ibrida

Con anaconda prompt è molto facile avviare l’ibridazione. Digita dal prompt:

python deep_photostyle.py --content_image_path  --style_image_path  --content_seg_path  --style_seg_path  --style_option 2

Aggiugnendo per ogni voce i percorsi delle immagini che vuoi usare. Dato che ti consoco, e hai la pazienza di un bambino che vuole aprire i regali la viglia di Natale, puoi anche fidarti di me e sperimentare questa combinazione:

python deep_photostyle.py --content_image_path ./examples/input/in56.png --style_image_path ./examples/style/tar9.png --content_seg_path ./examples/segmentation/in56.png --style_seg_path ./examples/segmentation/tar9.png --style_option 2

Potresti dover importare qualche libreria, leggi i messaggi di errore e con una rapida ricerca su Google avrai vita facile. Eventualmente, queste sono le librerie che devi installare:

pip install pillow
pip install scipy
pip insall numpy

A te il divertimento!

Alla prossima!

Un caldo abbraccio, Andrea.

Written by Andrea Provino - Dicembre 26, 2018
Next Post
Previous Post

Una pubblicità che non vedi se usi AdBlock

EXPAND YOUR KNOWLEDGE

  • fully-homomorphic-encryption-crittografia-completamente-omomorfica Privacy Preserving

    Cos’è la Crittografia Omomorfica | Homomorphic Encryption (HE)

    Marzo 4, 2021
  • data-science-for-finance-machine-learning-deep-learning-data-science-use-cases-use-cases Business, Data Science, machine-learning

    Data Science for Finance | Use Cases per il Data Scientist

    Febbraio 13, 2021
  • differential-privacy-example-privacy-differenziale-esempio-italiano-applicazioni-reali Business, Data Science, Privacy Preserving

    Differential Privacy Example | Esempi di privacy differenziale

    Febbraio 10, 2021
  • privacy-enhancing-technologies-techniques-machine-learning-data-science-pets-guida-italiano-spiegazione-semplice Business, Data Science, machine-learning, Privacy Preserving

    Cosa sono le Privacy-enhancing technologies o techniques (PETs)

    Febbraio 7, 2021
  • condivisione-dati-finance-fintech-problems-machine-learning-for-finance-data-science-deep-learning-case-study Business

    Problemi della condivisione dati in finanza | Finance data sharing problems

    Febbraio 4, 2021
  • finance-privacy-settore-finanziario-dati-privacy-enhancing-technologies-ai Business

    Il legame tra Privacy Dati AI nel settore finanziario

    Febbraio 1, 2021
  • rust-react-webassembly-privacy-preserving-machine-learning Logs

    Rust, WebAssembly, React e un MVP

    Dicembre 21, 2020
  • diffie-hellman-key-exchange-protocol-scambio-di-chiavi-diffie-hellman Data Science, Privacy Preserving

    Cos’è lo scambio di chiavi Diffie-Hellman (DH)? | Privacy Preserving

    Dicembre 15, 2020
  • principio-di-esattezza-data-science-machine-learning-gdpr-data-accuracy Data Science, GDPR Compliant

    GDPR: Principio di esattezza dei dati (Data Accuracy)

    Dicembre 12, 2020
  • tensorflow-extended-tfx-deploy-machine-learning-guide-machine-learning-pipelines machine-learning

    TFX: come funziona Tensorflow Extended?

    Dicembre 9, 2020

Quello che Google pensa ti possa piacere

Prodotti che i Cookie dicono potresti trovare interessanti

AI Blog - © 2019-2021 Andrea Provino