Entrainer un modèle Stable Diffusion avec ses propres photos en utilisant Dreambooth - Geoffrey Monté - Développeur Web Freelance à Lille (2024)

Ce tutoriel est destiné aux personnes ayant déjà utilisé Stable Diffusion. Si vous ne l’avez jamais utilisé, rendez-vous sur cet article: les bases pour démarrer dans Stable Diffusion.

Dans cet article, on va aller un cran plus loin, en générant des photos inspirées de photos personnelles.

Dreambooth est une extension permettant d’intégrer n’importe quoi — votre tête, votre chien, votre jouet préféré — dans un modèle Stable Diffusion. Nous allons présenter ce qu’est Dreambooth, comment cela fonctionne et comment réaliser l’entraînement du modèle.

Vous suivrez un guide étape par étape pour préparer vos images d’entraînement et utiliser notre notebook Colab pour l’entraînement Dreambooth. Aucune compétence en codage n’est nécessaire !

Savez-vous que de nombreux modèles personnalisés sont entraînés avec Dreambooth ? Après avoir terminé ce tutoriel, vous saurez comment créer le vôtre.

Vous apprendrez d’abord ce qu’est Dreambooth et comment il fonctionne. Mais vous pouvez passer directement au guide étape par étape si vous êtes uniquement intéressé par l’entraînement.

Qu’est ce que DreamBooth ?

Dreambooth est une technique développée en 2022 par l’équipe de recherche de Google. Elle permet d’affiner les modèles de diffusion (comme Stable Diffusion) en intégrant un sujet personnalisé dans le modèle.

Pourquoi ce nom, Dreambooth ? Selon l’équipe de recherche de Google, c’est un peu comme une cabine photo, mais une fois que le sujet est capturé, il peut être synthétisé dans tous les contextes imaginables.

Ça semble prometteur, mais est-ce efficace ? Voici un exemple tiré de l’article de recherche. Avec seulement trois images d’un chien spécifique en entrée, le modèle « dreamboothé » peut générer des images du chien dans différents contextes.

Entrainer un modèle Stable Diffusion avec ses propres photos en utilisant Dreambooth - Geoffrey Monté - Développeur Web Freelance à Lille (1)

De quoi avez-vous besoin pour entrainer un modèle avec Dreambooth ?

Vous aurez besoin de trois choses :

  1. Quelques images personnalisées
  2. Un identifiant unique (le nom précis de la chose / personne que vous importez)
  3. Un nom de classe

Dans l’exemple ci-dessus, on pourrait utiliser l’identifiant unique «Devora» et le nom de classe est dog.

Ensuite, vous devrez construire votre prompt :

a photo of [identifiant unique] [nom de classe]

Et un prompt de classe :

a photo of a [nom de classe]

Dans l’exemple ci-dessus, le prompt d’instance est :

a photo of Devora dog

Puisque Devora est un chien, le prompt de classe est :

a photo of a dog

Maintenant que vous comprenez ce dont vous avez besoin, plongeons dans l’entraînement !

NB : les prompts doivent être en anglais !

Le guide étape par étape

Dans notre cas, nous allons entrainer un modèle sur une personne, dans mon cas, un homme (moi 😅).

1/ Ouvrez le notebook Google Colab et faites-en une copie. Le Notebook

Entrainer un modèle Stable Diffusion avec ses propres photos en utilisant Dreambooth - Geoffrey Monté - Développeur Web Freelance à Lille (2)

2/ Entrez le nom d’un modèle dans MODEL_NAME. Vous pouvez utiliser le modèle Stable Diffusion v1.5 (page HuggingFace). Vous trouverez plus de modèles sur HuggingFace ici. Le nom du modèle doit être au format utilisateur/modèle. Dans mon cas, comme je vais travailler sur des personnes, je vais utiliser :

SG161222/Realistic_Vision_V3.0_VAE


3/ Mettez le nom de la branche ( vous trouvez ça sur la page HuggingFace) dans mon cas, c’est main

Entrainer un modèle Stable Diffusion avec ses propres photos en utilisant Dreambooth - Geoffrey Monté - Développeur Web Freelance à Lille (3)


Pour personnaliser vos images, vous devez utiliser deux types de prompts :

  1. Instance prompt : Pour mes images, j’ai besoin d’un identifiant unique : je vais choisir «photo of numerogeek man«
  2. Class prompt : Pour la catégorie plus générale, on va mettre : «photo of man«.

Cela permet de différencier une instance spécifique (numerogeek, c’est-à-dire moi) d’une catégorie plus large (un homme, en général).

Dans output file, vous pouvez laisser comme c’est. Ce sera le fichier qui contient votre modèle, entrainé.

Votre notebook devrait ressembler à ça :

Entrainer un modèle Stable Diffusion avec ses propres photos en utilisant Dreambooth - Geoffrey Monté - Développeur Web Freelance à Lille (4)

4/ Préparez vos photos qui serviront à l’entrainement.

Pour utiliser vos images dans l’entraînement, vous devrez d’abord les redimensionner à 512×512 pixels.

BIRME est un site pratique pour redimensionner les images :

  1. Glissez vos images sur la page BIRME.
  2. Ajustez le canevas de chaque image pour bien cadrer le sujet.
  3. Assurez-vous que la largeur et la hauteur soient toutes deux de 512 px.
  4. Cliquez sur «SAVE FILES» pour enregistrer les images redimensionnées sur votre ordinateur.

Je conseille d’en mettre une petite dizaine. Plus vous en mettez, plus le modèle va être long à entrainer.

Ces quelques images me serviront à entrainer le modèle, utilisez les vôtres 😉

Entrainer un modèle Stable Diffusion avec ses propres photos en utilisant Dreambooth - Geoffrey Monté - Développeur Web Freelance à Lille (5)

5/ Dans colab, selectionnez le processeur A100

Entrainer un modèle Stable Diffusion avec ses propres photos en utilisant Dreambooth - Geoffrey Monté - Développeur Web Freelance à Lille (6)

Et là, mettez le processeur A100 :

Entrainer un modèle Stable Diffusion avec ses propres photos en utilisant Dreambooth - Geoffrey Monté - Développeur Web Freelance à Lille (7)

6/ Cliquez le bouton Play, et accepter les notifications de connexion à Google Drive

Entrainer un modèle Stable Diffusion avec ses propres photos en utilisant Dreambooth - Geoffrey Monté - Développeur Web Freelance à Lille (8)

7/ Sélectionnez vos images : peu après avoir cliqué sur play, vous devriez avoir une invitation à envoyer vos images :

Entrainer un modèle Stable Diffusion avec ses propres photos en utilisant Dreambooth - Geoffrey Monté - Développeur Web Freelance à Lille (9)

8/ Patientez, cela peut prendre jusqu’à 30 minutes.

9/ Faites un essai dans l’interface Colab: Voici mon prompt :
Photo of numerogeek man, sitting outside restaurant, wearing suit, rim lighting, studio lighting, looking at the camera, dslr, ultra quality, sharp focus, tack sharp, dof, film grain, Fujifilm XT3, crystal clear, 8K UHD, highly detailed eyes, high detailed skin, skin pores

Et en négative prompt :

disfigured, ugly, bad, immature, cartoon, anime, 3d, painting, b&w

Puis, cliquez sur play. À ce stade, le rendu devrait être crade, mais ce n’est pas grave. On travaillera les prompts dans Automatic1111 :

Entrainer un modèle Stable Diffusion avec ses propres photos en utilisant Dreambooth - Geoffrey Monté - Développeur Web Freelance à Lille (10)

Le modèle a été sauvegardé dans votre Google Drive (dans AI_PICS/models/my_dreambooth_model.safetensors).

10/ Stoppez le Colab Dreambooth (pour économiser vos unités de calculs)

Entrainer un modèle Stable Diffusion avec ses propres photos en utilisant Dreambooth - Geoffrey Monté - Développeur Web Freelance à Lille (11)

11 / Lancez une instance d’Automatic1111 en suivant le tutoriel adéquat
Note: vous pouvez décocher les modèles précochés : on va utiliser celui qu’on vient de générer.

12/ Sélectionnez le modèle que vous venez de générer. Il porte le nom qu’il y avait dans le champs «Output file». Si vous ne l’avez pas changé, c’est «my_dreambooth_model.safetensor»

Entrainer un modèle Stable Diffusion avec ses propres photos en utilisant Dreambooth - Geoffrey Monté - Développeur Web Freelance à Lille (12)

13/ Promptez ! Il faut utiliser dans vos prompts le nom que vous avez donné dans le prompt d’instance : Voici un exemple de prompt :

A stylish photo of numerogeek man standing in a modern office environment, framed by a large window with a blurred cityscape in the background. He sports a fashionable hairstyle with blond, wavy hair neatly swept to one side. His gaze is direct and friendly, with a hint of a smile playing on his lips, suggesting approachability and charisma. He is dressed in a sharp navy blue suit with a pristine white shirt and a matching dark blue tie. His suit jacket is buttoned, adding to the formality of his attire, and he is making a subtle adjustment to his tie, giving the impression of meticulous attention to detail. The lighting is soft and natural, highlighting his features and lending an air of sophistication to the scene. sharp focus, natural lighting, subsurface scattering, f2, 35mm, film grain,(photorealistic:1. 4),(8k, RAW photo:1. 2), (best quality:1. 4),(ultra highres:1. 2)<lora:epiCRealismHelper:1>

Et en négative prompt :

animation, doll, anime, painting, cartoon, drawing, illustration, 3d, sketch, surreal, (cropped head), (cropped body), out of frame, crossed eyes, bad hands, ((disfigured)), ((deformed)), strange anatomy, (bad proportions), ((extra limbs)), (ugly), ((b&w)), weird colors, blurry, ((monochrome)), lowres, (low quality:2), jpeg artifacts, (deformed iris, deformed pupils, semi-realistic, cgi, render:1.4), text, close up, cropped, worst quality, low quality, duplicate, morbid, mutilated, extra fingers, mutated hands, poorly drawn hands, poorly drawn face, mutation, dehydrated, bad anatomy, gross proportions, malformed limbs, missing arms, missing legs, extra arms, extra legs, fused fingers, too many fingers, long neck, (deformed, distorted, disfigured:1.3), poorly drawn, wrong anatomy, extra limb, missing limb, floating limbs, disconnected limbs, mutated, disgusting, amputation.

Résultat :

Entrainer un modèle Stable Diffusion avec ses propres photos en utilisant Dreambooth - Geoffrey Monté - Développeur Web Freelance à Lille (13)

Comme d’habitude : faites des essais : changez le sampling steps, la sampling method, touchez au CFG Scale… et voyez les outputs. En règle générale, je mets un batch size à 4, et je garde 1 image sur les 4 générées.

Exemples de prompts

Numerogeek journaliste

Prompt : a tenacious photo of (numerogeek man) journalist uncovering a high-stakes conspiracy in a bustling metropolis, weaving through crowded streets and dark alleyways, close up, Detailed clothes, green eyes, flowing hair, determined expression, shiny glossy skin, subsurface scattering, (sharp:0.7), [(colorful explosion psychedelic paint colors:1.21)::0.05], amazing fine detail, Nikon D850 film stock photograph Kodak Portra 400 camera f1.6 lens, rich colors, lifelike texture, dramatic lighting, urban environment, skyscrapers, neon signs, street vendors, dynamic composition, unreal engine, trending on ArtStation, cinestill 800 tungsten lora:epiCRealismHelper:1

Negative Prompt :

animation,doll,anime,painting,cartoon,drawing,illustration,3d,sketch,surreal,(cropped head), (cropped body),out of frame,crossed eyes, bad hands,((disfigured)),((deformed)),strange anatomy,(bad proportions),((extra limbs)),(ugly),((b&w)),weird colors,blurry,((monochrome)),lowres,(low quality:2),jpeg artifacts Asian, Japanese, Korean, Chinese, blurry, logo, watermark, signature, cropped, out of frame, worst quality, low quality, jpeg artifacts, poorly lit, overexposed, underexposed, glitch, error, out of focus, (semi-realistic, cgi, 3d, render, sketch, cartoon, drawing, digital art, anime, manga:1.3), amateur, (poorly drawn hands, poorly drawn face:1.2), deformed iris, deformed pupils, morbid, duplicate, mutilated, extra fingers, mutated hands, poorly drawn eyes, mutation, deformed, dehydrated, bad anatomy, bad proportions, extra limbs, cloned face, disfigured, gross proportions, malformed limbs, missing arms, missing legs, extra arms, extra legs, fused fingers, too many fingers, long neck, incoherent, (deformed iris, deformed pupils, semi-realistic, cgi, 3d, render, sketch, cartoon, drawing, anime:1.4), text, close up, cropped, out of frame, worst quality, low quality, jpeg artifacts, ugly, duplicate, morbid, mutilated, extra fingers, mutated hands, poorly drawn hands, poorly drawn face, mutation, deformed, blurry, dehydrated, bad anatomy, bad proportions, extra limbs, cloned face, disfigured, gross proportions, malformed limbs, missing arms, missing legs, extra arms, extra legs, fused fingers, too many fingers, long neck

Résultat :

Entrainer un modèle Stable Diffusion avec ses propres photos en utilisant Dreambooth - Geoffrey Monté - Développeur Web Freelance à Lille (14)

Numerogeek dramatic cinema shot

Prompt :

breathtaking professional photo of numerogeek man, dark background, rimlight, shoulder portrait, lora:epiCRealismHelper:0.8, masterpiece, award-winning, professional, highly detailed, RAW candid cinema, 16mm, color graded portra 400 film, remarkable color, ultra realistic, textured skin, remarkable detailed pupils, realistic dull skin noise, visible skin detail, skin fuzz, dry skin, shot with cinematic camera

Même Négative prompt que le précédent.

Résultat :

Entrainer un modèle Stable Diffusion avec ses propres photos en utilisant Dreambooth - Geoffrey Monté - Développeur Web Freelance à Lille (15)

Astuce : trouver les bons prompts

avec ChatGPT

Passez une image dans chatGPT et demandez-lui de la décrire le plus précisément possible, avec ce prompt.

Entrainer un modèle Stable Diffusion avec ses propres photos en utilisant Dreambooth - Geoffrey Monté - Développeur Web Freelance à Lille (16)

avec Civitai

Civitai propose une galerie d’images présentant les modèles et les Loras, comme ici par exemple. Lorsqu’on clique sur une image, le prompt associé s’affiche. C’est utile pour découvrir de nouveaux Loras ou trouver de l’inspiration pour ses propres prompts.

Aller plus loin

C’est seulement le début. Vous pouvez améliorer les images en entraînant vos modèles avec une base différente, comme le modèle Stable Diffusion 1.5, par exemple. Expérimentez également avec ControlNet, une extension très puissante. Il y a de nombreuses possibilités à explorer.

Ressources utiles :

Promptology : Une formation généraliste pour bien prompter. Le module sur Stable Diffusion est une excellente introduction.

Prompthero : une bibliothèque de prompt et de Lora

PoseMyArt : Utile pour donner à ControlNet les positions attendues.

Entrainer un modèle Stable Diffusion avec ses propres photos en utilisant Dreambooth - Geoffrey Monté - Développeur Web Freelance à Lille (2024)
Top Articles
Read Martin Luther King Jr.'s 'I Have a Dream' speech in its entirety
I Have a Dream | Date, Quotations, & Facts
Automated refuse, recycling for most residences; schedule announced | Lehigh Valley Press
Hotels Near 500 W Sunshine St Springfield Mo 65807
Acts 16 Nkjv
David Packouz Girlfriend
Chuckwagon racing 101: why it's OK to ask what a wheeler is | CBC News
Skip The Games Norfolk Virginia
Jesus Revolution Showtimes Near Chisholm Trail 8
Carter Joseph Hopf
Garrick Joker'' Hastings Sentenced
Regal Stone Pokemon Gaia
Aspen.sprout Forum
104 Whiley Road Lancaster Ohio
Daily Voice Tarrytown
Swgoh Turn Meter Reduction Teams
Kylie And Stassie Kissing: A Deep Dive Into Their Friendship And Moments
Gia_Divine
Busted Campbell County
Soulstone Survivors Igg
Employee Health Upmc
Valic Eremit
130Nm In Ft Lbs
Criglist Miami
Sinai Sdn 2023
Kamzz Llc
Chadrad Swap Shop
Basil Martusevich
Fedex Walgreens Pickup Times
Scioto Post News
Hattie Bartons Brownie Recipe
Today's Final Jeopardy Clue
Rogers Centre is getting a $300M reno. Here's what the Blue Jays ballpark will look like | CBC News
Buhsd Studentvue
Why Gas Prices Are So High (Published 2022)
Ludvigsen Mortuary Fremont Nebraska
How to Draw a Sailboat: 7 Steps (with Pictures) - wikiHow
How To Paint Dinos In Ark
When His Eyes Opened Chapter 2048
Culver's of Whitewater, WI - W Main St
Qlima© Petroleumofen Elektronischer Laserofen SRE 9046 TC mit 4,7 KW CO2 Wächter • EUR 425,95
2 Pm Cdt
Bill Manser Net Worth
Differential Diagnosis
6576771660
Europa Universalis 4: Army Composition Guide
Sacramentocraiglist
3367164101
Meee Ruh
Acellus Grading Scale
Craigslist Centre Alabama
Latest Posts
Article information

Author: Lidia Grady

Last Updated:

Views: 6020

Rating: 4.4 / 5 (45 voted)

Reviews: 84% of readers found this page helpful

Author information

Name: Lidia Grady

Birthday: 1992-01-22

Address: Suite 493 356 Dale Fall, New Wanda, RI 52485

Phone: +29914464387516

Job: Customer Engineer

Hobby: Cryptography, Writing, Dowsing, Stand-up comedy, Calligraphy, Web surfing, Ghost hunting

Introduction: My name is Lidia Grady, I am a thankful, fine, glamorous, lucky, lively, pleasant, shiny person who loves writing and wants to share my knowledge and understanding with you.