Fooocus : génération d’images avec SDXL

Fooocus : génération d’images avec SDXL

Découvrez Fooocus, un outil innovant qui vous offre la possibilité d'utiliser Stable Diffusion XL sans être expert en Prompt Engineering ni maitriser la programmation d’IA.
Grâce à une installation simple et une configuration peu exigeante, Fooocus démocratise l'accès à la technologie de Stable Diffusion.
Fooocus est en effet conçu pour permettre la création d'images époustouflantes avec Stable Diffusion, sans avoir besoin de compétences techniques approfondies.
Avant ce projet, son créateur Lvmin Zhang, alias lllyasviel, était déjà connu de la communauté puisqu’il est derrière ControlNet et son extension pour Automatic1111.
Avec Fooocus, il a cherché à rendre l'utilisation de Stable Diffusion plus accessible et agréable : Plutôt que de s'embourber dans des réglages manuels complexes, les utilisateurs peuvent se concentrer uniquement sur l'image qu'ils souhaitent générer.
Cette approche rappelle celle d'outils populaires comme Midjourney et Adobe Firefly, qui utilise une interface graphique simplifiée pour remplacer le paramétrage complexe et les prompts à rallonge.
L'un des atouts majeurs de Fooocus est aussi qu'il utilise les meilleurs modèles SDXL, garantissant une qualité d'image exceptionnelle. Il rivalise ainsi avec les résultats de Midjourney, tout en se distinguant par sa gratuité et sa capacité à fonctionner hors ligne.

Caractéristique clés de Fooocus

Fooocus n'est pas seulement une interface utilisateur pour Stable Diffusion, c'est une plateforme complète qui offre une multitude de fonctionnalités pour améliorer l'expérience de création d'images. Voici quelques-unes des caractéristiques clés qui distinguent Fooocus
  • Installation simplifiée : L'installation de Fooocus est extrêmement aisée, requérant moins de trois clics pour être prêt à l'emploi.
  • Exécution légère : Fooocus est très léger et n’exige pas beaucoup de puissance. Un GPU (Nvidia) avec 4Go de mémoire et 8 Go de RAM sont amplement suffisants pour son bon fonctionnement. Autrement dit, même un ordinateur portable d'entrée de gamme avec une Nvidia 3060 est suffisant pour l’utiliser.
  • Interface intuitive : L'interface de Fooocus est conçue pour être simple et directe. Les utilisateurs peuvent facilement entrer leurs prompts et voir les résultats en temps réel. De plus, l'interface offre une prévisualisation en direct des images générées, permettant aux utilisateurs de voir les changements à mesure qu'ils ajustent leurs prompts.
  • Optimisation automatique : Fooocus intègre une série d'optimisations automatiques qui améliorent la qualité des images générées. Ces optimisations comprennent des ajustements de luminosité, de contraste et de netteté, éliminant le besoin pour les utilisateurs de retoucher manuellement les images après la génération.
  • Mode avancé : Pour les utilisateurs qui souhaitent avoir un contrôle plus granulaire sur le processus de génération, Fooocus offre un mode avancé. Dans ce mode, les utilisateurs peuvent ajuster des paramètres tels que la résolution, la netteté, et même définir leurs propres LoRAs.
  • Compatibilité : Bien que Fooocus soit optimisé pour Windows, des efforts sont en cours pour le rendre compatible avec d'autres systèmes d'exploitation. De plus, la communauté GitHub est active et travaille constamment à améliorer et étendre les fonctionnalités de Fooocus.

Stable Diffusion XL pour tous

En éliminant les barrières techniques et en offrant une interface utilisateur intuitive, Fooocus rend la puissance de Stable Diffusion accessible à un public beaucoup plus large.
Que vous soyez un artiste, un designer ou simplement quelqu'un qui souhaite explorer le monde fascinant de la génération d'images par IA, Fooocus est l'outil idéal pour débuter avec Stable Diffusion.
Avec le soutien continu de la communauté et les mises à jour régulières, Fooocus est en passe de devenir une véritable référence en matière d'interfaces pour Stable Diffusion. Si vous n'avez pas encore essayé Fooocus, je vous recommande vivement de vous y mettre. Vous serez étonné de voir à quel point il est facile de créer des images époustouflantes avec Stable Diffusion XL et Fooocus.

Exemples d’images générées avec Fooocus

Toutes ces images ont été générées avec en utilisant le mode simple qui demande juste un texte de description pour créer les images.
Afrofuturist medicine man
Afrofuturist medicine man
A man on a camel in the Sahara desert
A man on a camel in the Sahara desert
documentary, a thick black woman african soccer player, in a rainy morning
documentary, a thick black woman african soccer player, in a rainy morning
Harley Quinn, summer trip in the moutains
Harley Quinn, summer trip in the moutains
Cute girl in new york city
Cute girl in new york city
Exhausted firefighter in front of a forest fire
Exhausted firefighter in front of a forest fire

Comment installer Fooocus ?

L'un des principaux avantages de Fooocus est sa simplicité d'installation. Selon Zhang, entre le moment où vous cliquez sur Télécharger et la création de votre première image, le nombre de clics nécessaires est réduit au minimum.

Pré-requis

Le minimum requis pour utiliser Fooocus est un PC avec carte NVIDIA avec 4 Giga de mémoire (4GB VRAM) et 8 Giga de mémoire système (8GB RAM).
Pour une utilisation confortable, vous voudrez disposer d’un peu plus de puissance : 16GB de RAM et un 6GB de VRAM avec une carte comme la NVIDIA 3060. Sur un portable avec cette configuration, Fooocus prendra environ 1,35 secondes pour générer une image.

Procédures d’installation

Installer Fooocus est vraiment facile - particulièrement sur Windows. Cliquez sur la procédure correspondant à votre cas pour afficher les étapes d’installation.

Installer Fooocus sur Windows

Vous pouvez installer Fooocus facilement en téléchargeant la dernière release sur Github. Prenez le fichier intitulé Foocus_win64 de la dernière version. C’est un fichier d’archives 7z.
Décompressez le fichier et éxecuter run.bat qui lance Fooocus.
Lors du premier lancement Fooocus va automatiquement télécharger les modèles SDXL dans Fooocus\models\checkpoints\
notion image
🤓
Le détail de l’installation sur Windows est disponible en anglais ICI.

Installer Fooocus sur Linux

Exécuter, dans l’ordre, les commande suivantes :
git clone https://github.com/lllyasviel/Fooocus.git
cd Fooocus
conda env create -f environment.yaml
conda activate fooocus
pip install -r requirements_versions.txt
Lancez ensuite Fooocus avec la commande python entry_with_update.py

Installer Fooocus sur Mac

😢 Fooocus n’est malheureusement pas encore totalement supporté sur Mac.
Si vous disposez d’un Mac M1 ou M2 avec macOS Catalina ou plus récent, vous pouvez tenter l’installation en suivant ces la procédure non-officielle décrite ci-dessous.
Fooocus fonctionne sur les processeur Apple Silicon grâce à l'accélération PyTorch MPS. Les Mac ne sont pas équipés d'une carte graphique dédiée, ce qui se traduit par des temps de traitement d'image beaucoup plus longs que sur les ordinateurs équipés d’un GPU.
  1. Installez le gestionnaire de paquets conda et pytorch nightly. Lisez le guide du développeur Apple Accelerated PyTorch pour obtenir des instructions complètes. Assurez-vous que pytorch reconnaît bien votre périphérique MPS.
  1. Ouvrez l'application Terminal de macOS et clonez le dépôt Fooocus avec git clone https://github.com/lllyasviel/Fooocus.git.
  1. Allez dans le nouveau répertoire Fooocus (cd Fooocus).
  1. Créez un nouvel environnement conda : conda env create -f environment.yaml
  1. Activez votre nouvel environnement conda : conda activate fooocus
  1. Installez pygit2 : pip install pygit2==1.12.2
  1. Installez les paquets requis par Fooocus : pip install -r requirements_versions.txt
  1. Lancez Fooocus en exécutant python entry_with_update.py La première fois que vous lancez Fooocus, il téléchargera automatiquement les modèles Stable Diffusion SDXL dont il a besoin - ce qui peut prendre prendra un temps significatif, dépendant de votre connexion internet.

Utiliser Fooocus en ligne, sans installation

Fooocus peut également être utilisé gratuitement sur le cloud avec des solutions comme Google Colab, Diffus. ou encore RunDiffusion.

Comment lancer Fooocus sur Colab ?

👌
Consultez également notre guide détaillé Fooocus sur Google Colab pour une explication plus détaillée.
Pour l’utiliser, rendez-vous simplement sur le Colab officiel de Fooocus et cliquez sur Exécution > Tout exécuter.
notion image
 
Acceptez les différentes demandes pour valider l’exécution et patientez quelques instants - vous verrez une série d’informations s’afficher en dessous du code pendant que Fooocus s’installe et télécharge les modèles SDXL.
Le message Running on public URL: https://code4l34t01r3.gradio.live s’affiche lorsque Fooocus est prêt à être utilisé. Cliquez sur le lien pour l’ouvrir.
notion image

Comment lancer Fooocus sur RunDuffision ?

Inscrivez-vous et connectez vous sur le site de RunDiffusion.
Un écran de bienvenue vous propose de lancer Fooocus. Il faudra ensuite attendre une ou deux minutes pour que votre session soit prête et que Fooocus se lance.
notion image
 

Comment lancer Fooocus sur Diffus ?

Inscrivez-vous sur le site de Diffus. L’intégration de Fooocus par Diffus s’appelle Refocus. L’interface est visuellement différente de celle de Fooocus mais le fonctionnement est le même.

Comment utiliser Fooocus ?

Mode simple

Génération à partir d’un prompt

Au lancement, Fooocus est affiché en mode simple :
L’interface ne dispose que d’un seul champ pour y écrire la description de votre image (le prompt) et un bouton Generate qui lancera la génération d’images (2 images au format 1152x896 par défaut).
Pas besoin de vous faire un dessin, l’utilisation de cette interface est donc on ne peut plus simple et évidente.
Et vous n’avez pas non plus besoin d’écrire un prompt trop long ou complexe - Les prompts courts fonctionne très bien dans Fooocus
notion image
 
👍
Amélioration automatique des prompts
La Version 2 de Fooocus, sortie le 11 Septembre 2023, introduit une amélioration automatique (et invisible) des prompts. Lorsque vous utiliser Fooocus en mode simple, une IA de type GPT est utilisée pour compléter votre prompt avec des mots clefs utiles et cohérents avec votre description de départ.
Ce comportement est similaire à celui de Midjourney qui utilise un pré-processeur pour lire les prompt et les améliorer avant de générer l’image elle-même. Il peut être désactivé en mode avancé en désactivant le style correspondant .
 

Génération à partir d’images de référence

En bas de l’interface, vous pouvez cliquer sur la case Input Image pour afficher l’interface de génération à partir d’images de référence.
Pour ajouter une image de référence, vous pouvez simplement faire glisser une image que vous venez de générer sur la zone qui indique Déposer l’Image Ici. Vous pouvez aussi choisir d’utiliser une autre image depuis votre disque dur.
notion image
Ici, Fooocus propose plusieurs fonctionnalités :
  • Upscale or Variation
    • notion image
    • En choisissant l’un des des modes de variations (Subtle ou Strong), vous pouvez régénérer la même image en y introduisant plus ou moins de variation. Cochez simplement l’une des deux case Vary pour créer vos variations.
    • De la même manière, utilisez les option d’Upscale pour créer une version agrandie de votre image. L’option Upscale (Fast 2x) est optimisée pour agrandir des images 2k en 4k. Utilisez là comme étape finale après un premier agrandissement.
  • Image Prompt
    • Ici, vous pouvez ajouter jusqu’à 4 images de référence qui seront utilisé, en plus de votre prompt, pour générer des nouvelles images.
    • La case à cocher Advanced permet de contrôler plus précisément de quelle manière chaque images doit être utilisée pour compléter le prompt en choisissant un mode :
      • Image prompt : le mode par défaut
      • PyraCanny : ce mode repose sur un modèle ControlNet qui va identifier les contours des principaux éléments de l’image pour les reproduire - par exemple pour reprendre la pose d’un personnage et les lignes principales d’un paysages.
      • CPDS : Ce mode utilise un autre modèle de contrôle qui se base sur le profondeurs de l’image plutot que sur une identification des contours.
      • FaceSwap : Ce mode est fait pour identifier et reproduire les visages. Parfait pour générer de nouveaux portraits à partir d’une photo de référence.
🔥
Pour tout savoir sur cette fonctionnalité et son utilisation, consultez notre Tutoriel sur l’Image Prompt de Fooocus.
  • Inpaint or Outpaint
    • notion image
    • L’Outpainting permet d’étendre une image au delà de ses bords. Sur Fooocus, cela se fait en choisissant un ou plusieurs coté à agrandir (Gauche/Left, Droite/Right, Haut/Top, Bas/Bottom).
    • L’inpainting permet de régénérer une partie de l’image. Pour cela, vous dessiner sur l’image pour indiquer la zone à régénérer. Vous pouvez également modifier le prompt pour indiquer le type de modification à apporter à l’image.
🔥
Consultez également notre tutoriel sur l’Inpaiting avec Fooocus pour apprendre à utiliser cette technique de retouches et modifications d’images avec l’IA.
  • Describe
    • Cet outil fonctionne un peu comme l’action .describe de Midjourney : il analyse l’image source et propose un prompt correspondant que vous pouvez utiliser pour générer une image similaire.
    • Le mode photograph génère des prompts variés et est optimisé pour les photos et images photoréalistes.
    • Le mode Art/Anime se base sur une autre méthode et va notamment proposer un prompt comprenant les tags Danboru souvent utilisés pour décrire les images de type manga / anime.

Mode avancé

En cliquant sur la petite case Advanced sous le champ de promp, Fooocus affiche ses options d’utilisation avancées dans 3 onglets dont voici le détails :

Settings

En haut de settings, Fooocus vous permet de choisir un Preset - c’est à dire d’appliquer une série de paramètres préconfigurés pour optimiser votre génération selon certaines préférences. Un preset peut non seulement définir des paramètres de configurations (taille de l’image, samplers, prompt,…) mais va également spécifier le modèle à utiliser (et, au besoin, le télécharger).
notion image
👍
Pour en savoir plus sur les presets, consultez également notre Guide des Presets Fooocus.
Juste en dessous, l’option Performance permet de choisir de privilégié la vitesse ou la qualité pour la génération de vos images. Vous avez 4 modes de perfomances disponibles :
  • Speed est le mode standard qui privilégie une génération rapide tout en maintenant une qualité optimale.
  • Quality adapte les paramètres de génération pour obtenir des images de meilleure qualité, au détriment de la vitesse de génération (a peu près deux fois plus lent).
  • Extreme speed utilise la méthode LCM pour une génération encore plus rapide tout en maintenant une bonne qualité d’image (a peu près trois fois plus rapide que le mode Speed)
  • Lightning utilise une autre technique, basée sur le LoRA SDXL Lightning pour une génération ultra-rapide en quatre étapes.
A titre de comparaison, voici une série d’image, générées avec les mêmes paramètres en changeant juste le mode de performances. Comme vous pouvez le voir, les méthodes Extreme speed et Lightning changent la composition de l’image (notamment parcequ’elles utilisent un autre sampler).
Quality
Quality
Speed
Speed
Extreme Speed
Extreme Speed
Lightning
Lightning
Juste en dessous du mode de performances, vous pouvez choisir la dimension de vos images (en pixels).
notion image
Image Number vous permet de choisir le nombre d’image à générer.
Vous pouvez également indiquez un prompt négatif qui est une description dece que vous ne voulez pas pour l’image.
Enfin, la case Random indique que vous générez les images à partir d’une base aléatoire. En décochant cette case, vous pouvez spécifiez un Seed, un numéro qui conditionne la génération (Les même paramètres avec le même prompt et le même seed donneront la même image)
 
notion image

Style

Ici, vous pouvez choisir entre de très nombreux styles prédéfinis pour vos images. Ils fonctionnent en ajoutant des mots clefs à votre prompts.
Voici quelques exemples des images obtenues en changeant le style mais en conservant les autres paramètres et le prompt “a single halloween pumpkin isolated on plain background, no background, white background.”
notion image
notion image
notion image
notion image
📌
Consultez également notre bibliothèques de Styles SDXL - la plupart sont disponibles nativement dans Fooocus.
😎
Fooocus V2
Activé par défaut, le style Fooocus V2 est un style spécial qui fonctionne comme un exhausteur de prompt. Quand il est activé, Fooocus va utiliser une IA pour lire votre prompt pour déterminer quel type d’images vous essayer de créer et l’améliorer avec des mots clefs pertinents.
notion image

Advanced

Ici, vous retrouvez les véritable paramètre avancés de la génération d’image avec Foocus et Stable Diffusion XL.
Modèles et LoRA
Vous pouvez utiliser des checkpoints ou modèles alternatifs (basés sur SDXL) en les ajoutant dans le répertoire Fooocus\models\checkpoints\ et en choisissant le fichier comme SDXL Base Model. La plupart des checkpoint modifiés de SDXL sont prévu pour être utilisé sans Refiner et vous devez donc choisir None pour le SDXL Refiner.
En ajoutant des fichiers de LoRA dans Fooocus\models\loras\ vous pourrez en choisir jusque 5 qui pourront être utilisés en même temps avec Fooocus.
Si vous ajoutez des fichiers en checkpoints ou loras en cours d’utilisation, cliquez sur 🔄 Refresh all files pour pouvoir les sélectionner.
Sharpness
Tout en bas, vous pouvez activer cet autre paramètre en déroulant le menu Advanced (oui, ca fait 3 fois advanced, c’est un peu confus).
Sampling Sharpness est un paramètre développé comme solution au problème de SDXL qui a tendance à créer des images trop lisses qui avec un aspect plastique et artificiel.
Ce paramètre ne change pas le contenu et la composition de l’image mais ajoute en complexité et en détail pour un rendu plus réaliste.
Voici deux animation créées par Lvmin Zhang qui montre l’effet de ce paramètre sur la génération d’une même image :
Sharpness 2 → 10 → 20
Sharpness 2 → 10 → 20
Sharpness 2 vs 20
Sharpness 2 vs 20
 

Allez plus loin avec nos tutoriels Fooocus

Fooocus est sans conteste notre interface favorite pour SDXL et aussi la plus facile à prendre en main pour les débutants. Derrière sa simplicité apparente, Fooocus est un outil puissant qui permet de profiter de nombreuses fonctionnalités de Stable Diffusion. Nous avons plusieurs guides et tutoriels pour vous faire découvrir toutes ses capacités et vous apprendre à les utiliser :
notion image

FAQ Fooocus

Quels sont les prérequis matériels pour utiliser Fooocus ?
La configuration minimale requise est de 4 Go de mémoire pour le GPU Nvidia (4 Go VRAM) et de 8 Go de mémoire système (8 Go RAM).
Peut on utiliser Fooocus avec un GPU AMD ?
Oui c’est possible mais cela demande un peu plus de connaissance.
Sur windows ou sous Linux, pour utiliser SDXL avec un AMD, vous devrez changer la version de la librairie Tortch. Les commandes pour cela sont décrites sur le Github de Fooocus.
Est-il possible d'utiliser Fooocus en ligne, sans devoir l’installer ?
Oui, c’est possible.
Le Google Colab officiel de Fooocus permet notamment de tester et utiliser la dernière version de Fooocus en ligne comme décrit dans la procédure d’installation.
Diffus, une plateforme permettant d’utiliser Stable Diffusion sur le cloud, propose également sa version de Fooocus : Refocus.
Peut on utiliser des modèles alternatifs ou des LoRAs avec Fooocus ?
Oui. Comme avec d’autres interfaces, il suffit de télécharger les fichiers et les placer sur votre disque dur dans les sous-répertoires de Fooocus\models\ (/dechkpoint, /loras,…)
Quelles sont les fonctionnalités de Midjourney disponibles dans Fooocus ?
La répons courte est toute.
Vous pouvez effectivement faire tout ce qu’il est possible de faire avec Midjourney dans Fooocus (et même plus) : Variations, Upscaling, Zoom et panning (outpainting), Inpaiting, Image Prompt, FaceSwap,…