Questo progetto di tesi ha lo scopo di creare un servizio web che permetta agli utenti di estrarre la base cromatica da un’opera finita e trasferirla in un disegno (dello stesso artista o meno), con lo scopo di identificare le analogie e le differenze tra esso ed il dipinto tramite confronto. La colorazione del disegno può rivelare infatti i dettagli più sfuggenti e sbiaditi che possono inizialmente sfuggire. Inoltre, i colori facilitano l’identificazione dei punti in comune o meno. A tal fine, una volta stabilito il modello di Neural Style Transfer più adatto, è stato realizzato il sito web che lo implementa, concedendo all’utente la possibilità di personalizzare i principali parametri che influiscono sul risultato finale.
- Python 3.x
- pytorch, torchvision, cudatoolkit, numpy, PIL, matplotlib, sklearn
Il servizio web è reso possibile da Flask e un ambiente virtuale: venv
mkdir myproject ::Viene creata la cartella per il progetto cd myproject py -3 -m venv venv ::Viene creata la cartella che conterrà l’ambiente ::virtuale venv/Scripts/activate ::Attiva l’ambiente virtuale pip install flask ::Installazione del framework Flask
A questo punto tutto il codice del repository va caricato in
myproject\venv
Update 21/09/2022 sono stati rilevati problemi di incompatibilità con nuove versioni di pytorch (>1.9) al momento si consiglia di installare pytorch 1.9 con le librerie consigliate di riferimento: vedere qui per una lista completa
Comunque la Demo ed il servizio web sono stati aggiornati.
content_weight = 8 reg_weight = 500 max_iter = 350
Da root\myproject digitare (con ambiente virtuale precedentemente attivato):
flask --app dighum run
Si mostrerà un link di questo tipo:
* Running on http://127.0.0.1:5000
Cliccarci ed aprire sul browser.
Disegno di Raffaello + Opera di Raffaello
(presente anche inizialmente di default in
static/example/DSTresults/sequenza.png)
Grazie alla colorazione del disegno, si può notare meglio le proporzioni di colonnine e fondo, concludendo che l'artista aveva già pensato come realizzarli nella bozza e non ne ha cambiato la struttura nel dipinto finale. Vengono inoltre evidenziati le costruzioni ed il piccolo arbusto sempre sul fondo, che tuttavia non sono presenti nel dipinto finale.
Demo
Eseguibile e modificabile su Google Colab
Parti del codice appartengono ai seguenti paper
- Deformable Style Transfer. Sunnie S. Y. Kim and Nicholas Kolkin and Jason Salavon and Gregory Shakhnarovich. ECCV 2020 2020. [paper] [code]
- Style Transfer by Relaxed Optimal Transport and Self-Similarity. Nicholas Kolkin, Jason Salavon and Gregory Shakhnarovich. CVPR 2019. [paper][code]
- WarpGAN: Automatic Caricature Generation. Yichun Shi, Debayan Deb and Anil K. Jain. CVPR 2019. [paper][code]
- Neural Best-Buddies: Sparse Cross-Domain Correspondence. Kfir Aberman, Jing Liao, Mingyi Shi, Dani Lischinski, Baoquan Chen and Daniel Cohen-Or. SIGGRAPH 2018. [paper][code]