Sommaire
- Installation
- Prérequis sur Windows
- Installer Visual Studio
- Ajouter insightface
- Prérequis sur Mac
- Ajouter insightface
- Installer l’extension
- Comment utiliser roop ?
- Remplacer un visage sur une photo existante
- Insérer un visage dans une nouvelle images
- Remplacer plusieurs visages
- Conseils
- Exemples d’images crées avec roop
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 RunDiffusion 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 :
- Rendez-vous sur le site de Visual Studio.
- Sélectionnez le téléchargement gratuit (Community), téléchargez l'application et lancez l’installation.
- Pendant l'installation, assurez-vous de bien cocher les extensions Python et C++.
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
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
Ajouter une extension dans Automatic est vraiment simple. Voici les étapes à suivre pour roop :
- Cliquez sur l’onglet Extension
- Choisissez Install from URL
- Indiquez l’URL de l’extension roop :
https://github.com/s0md3v/sd-webui-roop
- Cliquez sur Install
- Fermez l’interface et relancez la.
Ca y’est, roop est installé et prêt à l’emploi 🎉
Comment utiliser roop ?
Remplacer un visage sur une photo existante
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 :
- Ouvrez l’onglet img2img.
- Ajoutez votre image de départ dans la zone img2img.
- Modifier les dimensions pour qu’elle correspondent à votre image départ.
- Passez la GFC Scale à 11.
- Passez le Denoising strength à 0 (pour que stable diffusion ne redessine par l’image elle-même).
- Descendez jusqu’au titre roop v0.0.2 et cliquez dessus pour ouvrir les champs correspondant.
- Ajoutez votre image de référence dans la zone image.
- Cliquez sur enable pour activer roop.
- Cliquez maintenant sur le bouton Generate et patientez un instant…
- 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 :
- Descendez jusqu’au titre roop v0.0.2 et cliquez dessus pour ouvrir les champs correspondant.
- Ajoutez votre image de référence dans la zone image.
- Cliquez sur enable pour activer roop.
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.
La numérotation commence à 0 et correspond aux visages de l’image de départ dans l’ordre, de gauche à droite.
Sur cette photo, nous pouvons donc remplacer un ou plusieurs visages au choix.
Grâce à cette technique, il est donc également possible d’échanger deux visages différents en effectuant un premier remplacement, puis un second.
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-root
en 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
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 !
Ecrit par