Maitriser l’Inpainting de Fooocus

Le Tutoriel complet pour apprendre l’inpaiting avec Fooocus

Maitriser l’Inpainting de Fooocus
Do not index
Do not index
Publish
Publish
La technique de l’Inpainting avec Stable Diffusion ouvre des horizons innovants pour la réparation et modification d'images. Cette méthode s'appuie sur le contexte des segments intacts d’une ilmage pour reconstruire les parties altérées ou incomplètes. Ainsi, elle simplifie non seulement l'élimination des défauts mais encourage même une créativité sans borne dans la personnalisation des images qui peuvent être aisement modifiées.
Voyons ensemble comment utiliser l’inpainting pour améliorer ou modifier des images avec Stable Diffusion XL et l’interface de Fooocus.
⚠️
Ce tutoriel considère que vous connaissez déjà Fooocus et son utilisation de base - Si ce n’est pas le cas, commencez par lire notre Guide Fooocus pour découvrir, installer et prendre en main cette interface Stable Diffusion simple mais puissante.

Activer l’inpainting dans Fooocus

Fooocus intègre l’inpainting parmi ses fonctionnalités Image Input qui s’affichent lorsque vous cochez la case du même nom en bas de l’écran, sous le champs de Prompt. Pour y accéder, il faut donc cochez cette case puis ouvrir l’onglet Inpaint or Outpaint :
notion image
Lorsque l’onglet Inpaint or Outpaint est actif, le bouton principal Generate ne génère plus simplement une image à partir du prompt mais effectue la génération à partir de l’image téléchargée et des options définie. Notez que le prompt principal est toujours pris en compte pour cette génération en plus des paramètres spécifiques à l’inpaiting.

Utiliser l’inpainting dans Fooocus

Utilisations standards

Fooocus propose trois méthode d’inpainting qui execute des génération légèrement différentes, optimisées pour diffèrent cas d’usage. Nous allons étudier leur fonctionnement à l’aide de 3 exemples que nous décrirons pas à pas pour vous permettre de bien comprendre comment utiliser l’inpainting avec Fooocus.

Compléter une image

Pour étudier le fonctionnement de l’inpainting par défaut de Fooocus (Inpaint or outpaint (default)), nous allons prendre cette photo déchirée pour la restaurer et la compléter.
notion image
 
Voici les étapes à suivre pour compléter notre image avec l’inpainting :
notion image
  1. Déposez l’image dans le cadre.
  1. Définissez le masque d’inpainting à l’aide de l’outil de dessin. - Fooocus va générer du contenu pour tout la partie sur laquelle vous ajouter le calque blanc. Il faut donc couvrir la déchirure et toute la partie vide de l’image (le petit 🖊️ en haut à droite permet de changer l’épaisseur du trait)
  1. Rédigez un prompt qui correspond à l’image que vous voulez obtenir.
  1. Cliquez sur le bouton Generate.
En quelque secondes, Fooocus va générer deux générer des images qui complètent notre photo de départ. Si le résultat ne vous satisfait pas, cliquez à nouveau sur generate après avoir éventuellement affiné votre prompt.
notion image
Nous allons maintenant agrandir un peu l’image sur la droite en utilisant l’outpainting que Fooocus propose en complément de l’inpaiting.
Déposez l’image obtenue avec l’inpainting dans le cadre et ne dessinez aucune selection. Sélectionnez ensuite Right (droite) dans Outpaint Direction puis cliquez sur Generate.
notion image
Cette fois, Fooocus va automatiquement ajouter une zone sur la droite de l’image et y effectuer une nouvelle génération :
L’image finale après inpaiting et outpainting.
L’image finale après inpaiting et outpainting.

Améliorer les détails

Notre photo est redevenue plus complète, mais en y regardant, je trouve que le visage et la main ne sont pas très nets et pourraient être améliorer. C’est justement ce que permet la seconde fonctionnalité d’inpainting de Fooocus : Corriger et améliorer les détails d’une image.
Voici comment faire :
notion image
  1. Déposez l’image dans le cadre
  1. Dessinez un masque qui couvre le visage à améliorer.
  1. Choisissez Improve Detail comme Method.
  1. Indiquez un prompt complémentaire qui correspond à la zone à améliorer (Fooocus vous en propose automatiquement juste en dessous).
  1. Laissez le prompt principal vide ou reprenez y le prompt global de l’image.
  1. Cliquez sur Generate.
Fooocus va effectuer l’inpainting en utilisant un génération optimisée pour l’amélioration de détails. Cette méthode a l’avantage de générer le visage dans une plus haute résolution avant de le redimensionner pour le replacer dans l’image d’origine - ce qui permet une génération plus détaillées et qualitative.
Prenez le meilleur résultat et recommencer l’opération en masquant cette fois la main et en modifiant le prompt de correction avec quelque chose comme “Detailed hand”. Répétez encore une fois l’opération pour la seconde main.

Ajouter un élément

L’inpainting ne permet pas seulement de reprendre des éléments de l’image mais également de la modifier complètement pour ajouter des détails et des éléments supplémentaire. Voyons par exemple comment nous pouvons ajouter un chat au côté de notre égyptienne.
notion image
  1. Déposez l’image dans le cadre
  1. Dessinez un masque à l’endroit où vous souhaitez ajouter le chat
  1. Sélectionnez Modify Content dans Method.
  1. Ajouter un prompt complémentaire décrivant l’élément à ajouter.
  1. Laissez le prompt principal vide ou reprenez y le prompt global de l’image.
  1. Cliquez sur Generate.
Vous pouvez bien sûr répéter l’opération autant de fois que nécessaire pour ajouter autant d’élément et de détail que vous le souhaitez dans votre image.
notion image

Utilisation avancée

Derrière l’interface simple et accessible d’inpainting avec Fooocus et se 3 modes d’utilisation se cache différentes configurations optimisées qui donnent d’excellent résultat sans paramétrage complexe. C’est l’une des forces de Fooocus de rendre accessible ces outils en prenant soins de leur configuration pour les utilisateurs.
Mais les utilisateurs expérimentés ou curieux d’en apprendre plus sur le fonctionnement de Stable Diffusion ne sont pas pour autant oublié. L’interface permet en effet d’accéder aux options de configuration de l’inpainting.
Voici la marche à suivre pour accéder à ces paramètres et les utiliser :
notion image
  1. Cochez la case Advanced en sous le champs de Prompt à droite de la case Input Image.
  1. Ouvrez ensuite l’onglet Advanced en haut à droite.
  1. Cochez la case Developer Debug Mode pour afficher les options de configurations.
  1. Ouvrez enfin l’onglet Inpainting où se trouvent toutes celles qui nous intéressent et que nous allons maintenant passez en revue.

Les paramètres avancé d’inpainting

Debug Inpaint Preprocessing
Cette option est principalement utile pour le déboggage mais permet également de mieux comprendre le fonctionne de l’inpainting dans Fooocus. Elle sert en effet à obtenir les image correspondant au pre-processing qui intervient avant la génération.
Reprenons notre exemple d’amélioration du visage en cochant cette option pour voir ce que ce la donne.
Lorsque nous cliquons sur Generate avec cette option activée, Fooocus va nous retourner les 3 images qu’ils génèrent pour pouvoir effectuer l’inpainting : L’image recardée sur laquelle il va travailler, le masque d’inpaiting et l’image “debruitée”.
L’image d’origine avec son masque dessinée
L’image d’origine avec son masque dessinée
Voici ces 3 images pour notre inpainting en mode Improve details. Notez que dans ce mode, le débruitage est faible et que l’image débruitée n’est donc pas vraiment différente de l’image recadrée.
L’image recadrée
L’image recadrée
Le masque
Le masque
L’image debruitée
L’image debruitée
Disable initial latent in inpaint
Cette option determine si l’inpainting va prendre en compte ou non le contenu en dehors du masque lors de la génération.
Si cette option est cochée, le contenu en dehors du masque est ignoré et Stable Diffusion va donc tenter de générer l’ensemble du prompt. Alors que si elle est décochée, l’IA prendra en compte ce qui est déjà dans l’image (mais en dehors du masque) lorsqu’elle redessinnera celle-ci.
Inpaint Engine
Ce sélecteur vous permet de choisir quelle version du modèle et de la logique d’inpainting fooocus vous souhaitez utiliser. A priori, le mieux est d’utiliser celui par défaut qui est le plus récent (le 2.6 à l’heure d’écrire ces lignes)
Inpaint Denoising Strength
Ce paramètre détermine à quel point le contenu d’origine de l’image va influencer celui de l’image générée. En effet, plus cette force de débruitage est élevée, plus la génération va s’écarter de l’image d’origine.
Concrètement, c’est comme si, à 0, Stable Diffusion partait de l’image d’origine pour sa génération alors qu’à 1 il utilise plutot une version complètement floutée.
 
Le visage avec un débruitage maximal (1)
Le visage avec un débruitage maximal (1)
Inpaint Respective Field
Ce paramètre détermine la taille de l’image qui va être générée pour l’inpaiting. A 0, elle est à peine plus grande que le masque. à 1 elle couvre l’ensemble de l’image d’origine.
Mask Erode or Dilate
Cette valeur influence la manière dont les contours du masque tel que dessiné seront modifiées. Une valeur négative réduit la taille du masque, une valeur positive l’augmente.
Enable Mask Upload
En cochant cette case, Fooocus ajoute un cadre vous permtant de télécharger votre masque plutôt que de le dessiner sur l’image.
Dans cette image, le blanc représente la zone d’inpaiting, le noir ce qui ne sera pas modifié. Idéalement, votre image de masque doit avoir les mêmes dimensions que votre image d’origine.
Invert Mask
Cette option permet d’inverser l’effet du masque. C’est alors ce qui est en dehors du masque qui est modifié par l’inpaiting.

Paramètres des différents modes

Pour mieux comprendre les effets et interêts de ces différents paramètres, voyons comment les 3 modes d’inpainting de Fooocus les utilisent en changeant leurs valeurs.
Inpaint or Outpaint
Ce mode laisse le Disable initial latent in inpaint décoché et définis une Inpaint Denoising Strength de 1 de manière à prendre en compte le contenu de l’image d’origine hors masque pour la génération tout en floutant complètement la zone masquée et en ignorant donc pratiquement son contenu.
Avec un Inpaint Respective Field à 0,618, le mode de base étend également la zone régénérée assez loin au delà du masque pour conserver une bonne cohérence entre le nouveau contenu et l’image d’origine.
Improve Details
Ce mode conserve également Disable initial latent in inpaint décoché mais diminue l’Inpaint Denoising Strength à 0,5. Avec ce réglage, l’image d’origine hors masque est non seulement prise en compte mais la génération se fait au départ d’une version légèrement floutée de la zone masquée. En conséquence, la structure de l’image d’origine est mieux respectée. Cela permet par exemple de mieux respecter la position de la main ou l’orientation du visage dont on essaye d’améliorer les détails.
Inpaint Respective Field est également mis à 0 de manière à travailler avec une image limitée aux dimensions du masque. Cela permet de travailler en haute définition même si la zone modifiée dans l’image est de petite taille. C’est particulièrement utiles pour les visages que Stable Diffusion gère bien mieux en plan rapproché qu’en petit dans une image.
Modify Content
Ici, on conserve le même Inpaint Respective Field à 0 qu’avec le mode précèdent.
Par contre, Inpaint Denoising Strength est passé au maximum (1) et l’option Disable initial latent in inpaint est cochée. Cela signifie que le contenu de l’image est ignorée dans l’évaluation du prompt et que la zone masquée est complètement floutée.
Stable Diffusion va donc chercher à créer une nouvelle image dans la zone modifiée en y reprenant tout ce qui est dans le prompt complémentaire, sans vraiment tenir compte de l’image d’origine et des pixels existant dans la zone masquée.

A vous de jouer !

Voilà, nous avons parcouru ensemble le fonctionnement de l’inapiting dans Fooocus, explorant les fondations, les techniques et les astuces qui pour enrichir et transformer les images avec Stable Diffusion.
Ce tutoriel veut aussi vous inviter à la découverte personnelle dans l'univers de la retouche et de la création d'images avec Stable Diffusion XL et Fooocus. Chaque exemple, chaque clic sur "Generate", ouvre une porte vers de nouvelles possibilités, stimulant l’imagination et élargissant notre compréhension de ce que la technologie peut apporter à notre expression créative.
Je vous encourage donc à ne pas vous arrêter ici. L'expérimentation est la clé pour débloquer tout le potentiel de l'Inpainting. Chaque image, chaque prompt, est une opportunité d'innover, d'apprendre et, surtout, de vous surprendre. Embarquez dans cette aventure créative avec Fooocus, explorez au-delà des frontières connues, et découvrez ce que vos talents, combinés à la puissance de l'IA, peuvent réellement accomplir.
Souvenez vous que derrière chaque fonctionnalité, chaque paramètre, se cache non seulement une chance d'améliorer une image mais aussi de repenser ce que signifie créer.
C’est à vous de jouer maintenant. N’hésitez pas à partager vos experiences et créations sur 𝕏 en me taguant (@StableTom) - je serai ravi de découvrir vos oeuvres.

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