Eén van de nadelen aan Stable Diffusion vind ik dat de gezichten van de personen zo erg op elkaar lijken. Wanneer je Stable Diffusion een opdracht geeft om een gezicht te genereren, put het uit deze geleerde kenmerken om iets nieuws te maken. Het interessante hieraan is dat het AI-model geneigd is om terug te vallen op de meest voorkomende kenmerken die het tijdens de training heeft waargenomen. Ik heb er een hele studie van gemaakt om dit te voorkomen. Hieronder deel ik mijn tips met daarbij een groot aantal voorbeelden.
Een simpele basis:
Ik ben de basis voor dit artikel begonnen met een simpele prompt.
A studio portrait of a middle-aged woman from the Netherlands, grey backdrop
Ik vind dit echt een Stable Diffusion-gezicht. Waar ik het eerder nog lastig vond om dit aan te passen, ben ik er in de loop der tijd beter in geworden. Hieronder heb ik vier tips voor je uiteengezet.
Goed om te weten: Ik heb alle voorbeelden gemaakt in het epiCRealism model (bron).De rest van de meta: Steps: 40, Sampler: DPM++ 2M, Schedule type: Karras, CFG scale: 7, Seed: -1, Face restoration: GFPGAN, Size: 512×512, Model hash: 84d76a0328, Model: epicrealism_naturalSinRC1VAE, Lora hashes: “epiCRealismHelper: c5e24d9bc4b5”, Version: v1.9.3
Verbeter de prompt
Deze prompt is erg simpel. Ik geef nergens uiterlijke kenmerken aan. Om het gezicht iets minder op een standaard Stable Diffusion gezicht te laten lijken kan je dingen toevoegen zoals:
- Haarkleur
- Haarstijl
- Vorm van de neus
- Kleur ogen
- Rimpels / geen rimpels
- Emotie in het gezicht
Bijvoorbeeld:
A studio portrait of a middle-aged woman from the Netherlands, grey backdrop, short curly brunette, grey eyes, slight smile.
Het resultaat is al iets anders, maar nog steeds niet helemaal naar mijn zin.
Naam van een persoon verzinnen
Door het geven van een nepnaam in de prompt, geeft Stable Diffusion er een geheel eigen draai aan. Het lijkt wel alsof AI een hele nieuwe look probeert te verzinnen bij de persoon. Let er wel op dat dit een unieke naam moet zijn. Deze kan je goed genereren op deze website. Verzin er zelf meteen een beroep bij en eventueel een persoonlijkheid! De naamgenerator die ik heb gegeven, verzint ook per persoon een beroep (onder occupation).
A studio portrait of Siebrigje Baak, a Certified athletic trainer, middle-aged woman from the Netherlands, grey backdrop.
Een combinatie maken
Voor het beste effect raad ik je aan om één of meerdere methodes met elkaar te combineren. Dus bijvoorbeeld een nepnaam verzinnen, een beroep en een aantal uiterlijke kenmerken. Je krijgt dan iets zoals:
A studio portrait of Siebrigje Baak, a Certified athletic trainer, middle-aged woman from the Netherlands, grey backdrop, she has short curly blonde hair, she is smiling, some wrinkles.
Gebruik roop
Roop (GitHub) is een tool waarmee je in Stable Diffusion een faceswap of meerdere kan maken. Je kan een referentieafbeelding instellen. Het gezicht (dus niet de haren) wordt dan meegenomen in het maken van de prompt. Soms werkt dit echt griezelig goed. Je kan op de wereldberoemde website Thispersondoesnotexist.com na elke keer laden van de website een ander niet-bestaand gezicht genereren. Deze kan je gebruiken als basis. Ik heb dit gedaan met de volgende foto.
De prompt uit de vorige alinea heb ik aangehouden. Hieronder zie je het resultaat
Tip: Je kan Roop ook heel goed gebruiken in img2img en inpainting. Zoals je kan zien is Roop wel een van de betere methodes voor het genereren van unieke gezichten, samen met een goede prompt.
Beroemdheid noemen
Wanneer je een beroemdheid noemt in je prompt, zal het gezicht echt drastisch veranderen. Stable Diffusion heeft in zijn dataset enorm veel beroemdheden langs zien komen.
Tip: Geef een lage prompt weight aan de beroemdheid mee, want anders krijg je een gelijkenis. Ik raad om te starten met 0.2. Krijg je niet het gewenste resultaat? Werk dan omhoog.
We pakken weer de basisprompt erbij. Daarin zetten we een beroemdheid.
A studio portrait (sarah jessica parker:0.4) a middle-aged woman from the Netherlands, grey backdrop
Goed om te weten: Ik heb voor dit artikel hele basic prompts gebruikt. Je zou nog veel meer kunnen werken met prompt weights, alternating words, prompt editing, matrixes e.d. Al valt dit echt onder prompting voor gevorderden.