Echanger des visages avec Roop

Un guide complet pour maîtriser l'échange de visages avec Roop et Stable Diffusion

Echanger des visages avec Roop
Do not index
Do not index
Publish
Publish
Un des avantages de Stable Diffusion et de l'interface d'Automatic1111 est la possibilité d'y ajouter des extensions développées par la communauté Open Source. Ces extensions permettent d'ajouter des fonctionnalités à Stable Diffusion et d'explorer ses possibilités créatives. L'une de ces extensions est Roop, un outil dédié à l'échange de visages, aussi appelé face swapping.
L'échange de visages est une technique de manipulation d'image qui consiste à remplacer le visage d'une personne par un autre dans une photographie ou une vidéo. Cette technique, largement utilisée dans les films et les médias, est désormais accessible à tous grâce à Roop.
Voyons ensemble comment utiliser Roop avec Automatic1111 pour échanger les visages et mettre la tête de qui vous voulez dans vos images.

Installation

Si vous utilisez une installation locale de Stable Diffusion avec Automatic1111, il faut suivre plusieurs étapes pour installer l’extension Roop.
Alternativement, vous pouvez utiliser une solution cloud comme GRAVITI Diffus et ThinkDiffusion qui ont toutes les deux l’extension pré-installée pour vous. C’est d’ailleur Diffus qui a été utilisé pour réaliser ce tutoriel. Dans ce cas, vous pouvez passer directement à la section suivante de l’article 😉

Prérequis sur Windows

Installer Visual Studio

Roop nécessite des packages C++ et Python qui ne sont pas disponibles par défaut sur Windows. Si vous n'êtes pas développeur, la méthode la plus simple pour les installer est d'installer Visual Studio :
  1. Rendez-vous sur le site de Visual Studio.
  1. Sélectionnez le téléchargement gratuit (Community), téléchargez l'application et lancez l’installation.
  1. Pendant l'installation, assurez-vous de bien cocher les extensions Python et C++.
 
notion image

Ajouter insightface

InsightFace est une librairie open source qui permet l'analyse de visages en 2D et 3D. C’est le modèle au coeur de roop qui lui permet de reconnaitre les visages.
Pour l’installer, vous devez ouvrir l’invite de commande et entrer la commande suivante : pip install insightface==0.7.3
notion image

Prérequis sur Mac

MacOs reprend par défaut les packages nécessaires, il faut juste ajouter la librairie d’insightface pour pouvoir ensuite utiliser l’extension roop.

Ajouter insightface

Pour installer insightface, ouvrez Terminal et exécutez la même commande que pour windows : pip install insightface==0.7.3

Installer l’extension

🤓
Si vous n’avez pas encore installer l’interface d’automatic1111, c’est le moment de le faire. Pour cela, suivez nos instruction pour Windows ou pour Mac.
Ajouter une extension dans Automatic est vraiment simple. Voici les étapes à suivre pour roop :
  1. Cliquez sur l’onglet Extension
  1. Choisissez Install from URL
  1. Indiquez l’URL de l’extension roop : https://github.com/s0md3v/sd-webui-roop
  1. Cliquez sur Install
  1. Fermez l’interface et relancez la.
notion image
Ca y’est, roop est installé et prêt à l’emploi 🎉

Comment utiliser roop ?

Remplacer un visage sur une photo existante

notion image
C’est l’usage le plus simple et le plus rapide de roop : partir d’une photo existante et échanger un visage pour celui de votre de choix.
Pour cela vous aurez besoin de deux images : l’image de départ dans laquelle vous allez remplacer le visage et une image de référence, la photo de la personne dont vous voulez utilisez le visage. Armé de ces deux images, suivez les étapes comme dans la vidéo ci-dessous :
 
  1. Ouvrez l’onglet img2img.
  1. Ajoutez votre image de départ dans la zone img2img.
  1. Modifier les dimensions pour qu’elle correspondent à votre image départ.
  1. Passez la GFC Scale à 11.
  1. Passez le Denoising strength à 0 (pour que stable diffusion ne redessine par l’image elle-même).
  1. Descendez jusqu’au titre roop v0.0.2 et cliquez dessus pour ouvrir les champs correspondant.
  1. Ajoutez votre image de référence dans la zone image.
  1. Cliquez sur enable pour activer roop.
  1. Cliquez maintenant sur le bouton Generate et patientez un instant…
  1. Votre image est prête !

Insérer un visage dans une nouvelle images

Roop peut également être utilisé pour générer directement une image en y intégrant un visage.
En pratique, Stable Diffusion va d’abord générer une image pour ensuite y échanger le visage généré avec celui ajouter en référence roop.
Le départ est donc le même que pour n’importe quelle génération (choix du modèle, prompts positifs et négatifs, réglages,…). Il faut juste y ajouter l’emploi de roop en suivant ces étapes :
  1. Descendez jusqu’au titre roop v0.0.2 et cliquez dessus pour ouvrir les champs correspondant.
  1. Ajoutez votre image de référence dans la zone image.
  1. Cliquez sur enable pour activer roop.
notion image

Remplacer plusieurs visages

Roop peut identifier les visages sur une photo et vous permet de cibler celui ou ceux que vous souhaitez remplacer.
En effet, sous l’image de référence, il y a un champ Comma separated face number(s) dans lequel vous pouvez indiquer un ou plusieurs numéro de visage à remplacer.
notion image
La numérotation commence à 0 et correspond aux visages de l’image de départ dans l’ordre, de gauche à droite.
notion image
Sur cette photo, nous pouvons donc remplacer un ou plusieurs visages au choix.
Remplacement du visage 0
Remplacement du visage 0
Remplacement du visage 1
Remplacement du visage 1
Remplacement du visage 1 et 2
Remplacement du visage 1 et 2
Grâce à cette technique, il est donc également possible d’échanger deux visages différents en effectuant un premier remplacement, puis un second.
L’image finale a été obtenue en remplaçant d’abord le visage 0 avec la première photo dans l’image de départ, puis en utilisant le résultat comme nouvelle image de départ et en effectuant le remplacement du visage 1 avec la seconde photo en référence.
L’image finale a été obtenue en remplaçant d’abord le visage 0 avec la première photo dans l’image de départ, puis en utilisant le résultat comme nouvelle image de départ et en effectuant le remplacement du visage 1 avec la seconde photo en référence.
Alternativement, vous pouvez également remplacer plusieurs visages diffèrent en une seule génération en utilisant un petit hack :
Rendez-vous dans le répertoire stable-diffusion-webui/extensions et dupliquez le répertoire de l’extension sd-webui-rooten ajoutant un -1 au nom.
Relancez automatic1111 : vous devriez voir roop 0.0.2 apparaitre deux fois dans votre interface.
Activez (enable) les deux en utilisant des images de référence différentes, la première pour le visage 0 et la seconde pour le 1.
Dupliquez à nouveau le répertoire pour modifier trois visages à la fois et ainsi de suite…

Conseils

Comme vous pouvez le constatez en observant les exemples de ce tutoriel, le remplacement de visages n’est pas toujours parfait. Roop ne redessine pas complètement les visage mais va plutôt venir “coller” le visage de référence sur le visage d’origine - sans toucher aux cheveux et en ne modifiant que très peu la forme du visage lui-même.
Quelques conseils pour un meilleur résultat :
  • Comme roop ne redessine pas complètement la forme du visage, il donne de meilleurs résultat lorsque les visages d’origine et de référence ont à peu près la même forme (visage plus ou moins rond, mâchoire plus ou moins marquée,…)
  • N’hésitez pas à tester avec différentes images de référence. Même de légères différences peuvent fortement influencer le résultat final.
  • insightface, le modèle derrière roop, a été optimisé pour travailler sur des images en 128x128px - Ce qui signifie que lorsque le visage est plus grand que cela sur l’image finale, le rendu n’est pas optimal - Évitez de l’utiliser sur des visages en gros plan.

Exemples d’images crées avec roop

Cillian Murphy dans la peau de Captain America
Cillian Murphy dans la peau de Captain America
Jean Dujardin est Oppenheimer
Jean Dujardin est Oppenheimer
Jonathan Cohen reprend le César de Chabbat
Jonathan Cohen reprend le César de Chabbat
 
L'extension Roop pour Stable Diffusion et l'interface d'Automatic1111 offre une possibilité fascinante et accessible d'échanger des visages dans vos images. Que vous souhaitiez modifier une photo existante ou créer une nouvelle image avec un visage spécifique, Roop vous donne les outils pour le faire de manière simple et intuitive.
Comme pour tout outil, la pratique et l'expérimentation restent essentielles pour obtenir les meilleurs résultats. N'hésitez donc pas à jouer avec les différents paramètres, à essayer différentes images de référence et à tester les fonctionnalités de roop. Chaque image est unique, et ce qui fonctionne pour une image peut ne pas fonctionner pour une autre.
En fin de compte, l'important est de s'amuser et de profiter du processus créatif. Nous espérons que ce guide vous a été utile et nous avons hâte de voir ce que vous allez créer avec roop et Stable Diffusion. Bonne création !

Profitez de toute la puissance de SDXL sans rien installer et depuis n'importe quel ordinateur.

Stable Diffusion sur le Cloud

Créer avec Diffus

Ecris par