DeepNude è stato cancellato da github e dal web perchè è ritenuto "pericoloso" per il revenge porn, i giornali l'hanno descritto in grado di creare foto irriconoscibili da quelle reali ma in realtà non è proprio cosi e mi sembra esagerato eliminarlo completamente.
Alcuni articoli che ne parlano:
huffingtonpost.it
wired.it
Come funziona DeepNude?
DeepNude usa una versione leggermente modificata dell'architettura GAN pix2pixHD, se sei interessato ai dettagli di questa rete neurale puoi studiare il progetto creato da NVIDIA.
Il GAN network può essere addestrato usando sia il set di dati abbinato che non abbinato. I set di dati accoppiati ottengono risultati migliori e sono l'unica scelta se si vogliono ottenere risultati fotorealistici, ma ci sono casi in cui questi dataset non esistono e sono impossibili da creare. DeepNude è un caso come questo. Un database in cui una persona appare nuda e vestita, nella stessa posizione, è estremamente difficile da raggiungere, se non impossibile.
L'approccio utilizzato è il "divide-et-impera". Invece di fare affidamento su una singola rete, abbiamo diviso il problema in 3 sottosemi più semplici:
Alcuni esempi:
Esempio con step intermedi:
Questo approccio rende la costruzione dei sotto-set di dati accessibili e fattibili. I web scrapers possono scaricare migliaia di immagini dal web, vestite e nude, e tramite photoshop è possibile applicare maschere e dettagli appropriati per creare il set di dati che risolve un particolare sotto-problema. Lavorando su campi grafici stilizzati e astratti, la costruzione di questi set di dati diventa un semplice problema di ore di lavoro su Photoshop per mascherare foto e applicare elementi geometrici. Sebbene sia possibile utilizzare alcune automazioni, la creazione di questi set di dati richiede comunque uno sforzo manuale ripetitivo e notevole.
Ottimizzazione
Per ottimizzare il risultato, le trasformazioni visive computerizzate vengono eseguite prima di ogni fase GAN, utilizzando OpenCV. La natura e il significato di queste trasformazioni non sono molto importanti e sono stati scoperti dopo numerosi tentativi di tentativi ed errori.
Considerando queste ulteriori trasformazioni e includendo l'inserimento finale di filigrane, le fasi dell'algoritmo sono le seguenti:
Prerequisiti
Prima di lanciare lo script, installa questi pacchetti nel tuo ambiente Python3:
Il codice sorgente è scaricabile da qui: https://www.mediafire.com/file/4e9kabhn6n49734/deepnude_official-master.zip/file
Da qui invece l'eseguibile compilato per windows con i dataset: https://mega.nz/#!VwgHSKxT!9bFR5EhH7z1FjWaCoG66TJPC8Pp_yifryockXCBzXCU
Mirror: https://www.mediafire.com/file/e0odewswqgdb3fy/deepnude.zip/file
QUEST'ARTICOLO SERVE SOLO PER LO STUDIO DEGLI ALGORITMI DI INTELLIGENZA ARTIFICIALE NE IO NE INFORGE SI ASSUMONO LA RESPONSABILITA' DELL'UTILIZZO CHE NE FARETE
Download
Alcuni articoli che ne parlano:
huffingtonpost.it
wired.it
Come funziona DeepNude?
DeepNude usa una versione leggermente modificata dell'architettura GAN pix2pixHD, se sei interessato ai dettagli di questa rete neurale puoi studiare il progetto creato da NVIDIA.
Il GAN network può essere addestrato usando sia il set di dati abbinato che non abbinato. I set di dati accoppiati ottengono risultati migliori e sono l'unica scelta se si vogliono ottenere risultati fotorealistici, ma ci sono casi in cui questi dataset non esistono e sono impossibili da creare. DeepNude è un caso come questo. Un database in cui una persona appare nuda e vestita, nella stessa posizione, è estremamente difficile da raggiungere, se non impossibile.
L'approccio utilizzato è il "divide-et-impera". Invece di fare affidamento su una singola rete, abbiamo diviso il problema in 3 sottosemi più semplici:
- Generazione della marchera che seleziona i vestiti
- Generazione della rappresentazione astratta degli attributi anatomici
- Generazione della foto nuda
Alcuni esempi:
Esempio con step intermedi:
Questo approccio rende la costruzione dei sotto-set di dati accessibili e fattibili. I web scrapers possono scaricare migliaia di immagini dal web, vestite e nude, e tramite photoshop è possibile applicare maschere e dettagli appropriati per creare il set di dati che risolve un particolare sotto-problema. Lavorando su campi grafici stilizzati e astratti, la costruzione di questi set di dati diventa un semplice problema di ore di lavoro su Photoshop per mascherare foto e applicare elementi geometrici. Sebbene sia possibile utilizzare alcune automazioni, la creazione di questi set di dati richiede comunque uno sforzo manuale ripetitivo e notevole.
Ottimizzazione
Per ottimizzare il risultato, le trasformazioni visive computerizzate vengono eseguite prima di ogni fase GAN, utilizzando OpenCV. La natura e il significato di queste trasformazioni non sono molto importanti e sono stati scoperti dopo numerosi tentativi di tentativi ed errori.
Considerando queste ulteriori trasformazioni e includendo l'inserimento finale di filigrane, le fasi dell'algoritmo sono le seguenti:
- dress -> correct [OPENCV]
- correct -> mask [GAN]
- mask -> maskref [OPENCV]
- maskref -> maskdet [GAN]
- maskdet -> maskfin [OPENCV]
- maskfin -> nude [GAN]
- nude -> watermark [OPENCV]
Prerequisiti
Prima di lanciare lo script, installa questi pacchetti nel tuo ambiente Python3:
- numpy
- Pillow
- setuptools
- six
- torch
- torchvision
- wheel
Python:
python3 main.py
Il codice sorgente è scaricabile da qui: https://www.mediafire.com/file/4e9kabhn6n49734/deepnude_official-master.zip/file
Da qui invece l'eseguibile compilato per windows con i dataset: https://mega.nz/#!VwgHSKxT!9bFR5EhH7z1FjWaCoG66TJPC8Pp_yifryockXCBzXCU
Mirror: https://www.mediafire.com/file/e0odewswqgdb3fy/deepnude.zip/file
QUEST'ARTICOLO SERVE SOLO PER LO STUDIO DEGLI ALGORITMI DI INTELLIGENZA ARTIFICIALE NE IO NE INFORGE SI ASSUMONO LA RESPONSABILITA' DELL'UTILIZZO CHE NE FARETE
Download