Vous avez probablement entendu parler de cette information cette semaine ... Un développeur a mis une application se prénommant DeepNude capable de dénuder des photos de femmes en maillot de bain grâce à un simple algorithme d'intelligence artificielle.

Cette application a créé un tsunami sur la toile et fait polémique quant à l'éthique liée à l'usage de l'IA.

L'application DeepNude a été très rapidement retirée d'Internet par son auteur suite aux nombreux "leakage" de son application payante. Mais attention, l'histoire ne s'arrête pas là, le code source des algorithmes derrière cette application vient tout juste d'être mis en Opensource par son propriétaire sur son compte GitHub :

https://github.com/deepinstruction/deepnude_official

UPDATE : Nouveau rebondissement dans cette histoire, l'ensemble des repositories GitHub DeepNude ont finalement été supprimés par GitHub. Celui-ci jugeant que ces algorithmes à caractère "pornographique" n'avaient pas leur place sur sa plateforme.

Cet algorithme est un cas d'école pour apprendre l'IA et est compréhensible par un développeur débutant.

Il pose cependant de nombreuses questions d'éthiques, car des personnes mal intentionnées pourraient utiliser ce type d'algorithme pour réaliser des "Fake news" ou nuire à la réputation d'une tierce personne.

Mais rassurez-vous (ou pas), la qualité des images produites est médiocre et l'algorithme ne supporte que des images de très faible résolution. Mais j'imagine que cette limitation est temporaire ...

Avec les nombreux forks de la communauté Github, il est probable que des algorithmes plus sophistiqués emergent sur Internet d'ici les prochaines semaines. Mais aussi probablement des applications mobiles qui viendront mettre la zizanie sur nos plages.

L'algorithme utilisé se décompose en 7 traitements d'image et utilise 2 librairies principales qui sont OpenCV et pix2pixHD :

  1. Dress -> Correct [OPENCV]
  2. Correct -> Mask [GAN]
  3. Mask -> Maskref [OPENCV]
  4. Maskref -> Maskdet [GAN]
  5. Maskdet -> Maskfin [OPENCV]
  6. Maskfin -> Nude [GAN]
  7. Nude -> Watermark [OPENCV]

deepnude-download-1

Le script principal utilise Python3 et a comme dépendances numpy, Pillow, setuptools, six, torch, torchvision, wheel, opencv.

Pour utiliser cet algorithme d'intelligence artificielle sur son PC, voici comment s'y prendre.

Si vous utilisez Windows 10 alors téléchargez Ubuntu sur Windows 10 depuis la market place.

Si vous utilisez Linux Ubuntu, voici les commandes d'installation :

$ sudo apt-get install python3-setuptools python3-pip libxrender1 libsm6

$ pip3 install torch torchvision numpy opencv-python pillow six wheel

$ git clone https://github.com/deepinstruction/deepnude_official.git

$ cd deepnude_official

$ mkdir checkpoints

$ cd checkpoints

$ wget -O cm.lib https://github.com/open-deepnude/deepnude-model-3/raw/master/checkpoints/cm.lib

$ wget -O mm.lib https://github.com/open-deepnude/deepnude-model-2/raw/master/checkpoints/mm.lib

$ wget -O mn.lib https://github.com/open-deepnude/deepnude-model-1/raw/master/checkpoints/mn.lib

Testez l'application, pour cela lancez la commande suivante depuis votre shell bash :

$ python3 main.py

Par défaut, le programme analyse le fichier png se nommant "input.png" à la racine du programme.
Après l'exécution des 7 étapes d'analyse et de transformation, vous devriez voir obtenir l'image "output.png" dans le même répertoire que le script.

Attention, l'algorithme ne fonctionne qu'avec des images de 512px de largeur et 512px de hauteur.

Je ne peux que te souhaiter un très bel été et inscris-toi au fil RSS de ce blog pour ne louper aucun nouvel article si ce n'est pas déjà fait !.