Stable Diffusion is een krachtig instrument voor het genereren van afbeeldingen door middel van machine learning. Een belangrijke instelling is de CFG-scale. In dit artikel leg ik uit wat de CFG-schaal is, hoe deze werkt en hoe je deze optimaal kunt gebruiken. Ik geef je daarbij meerdere voorbeelden in afbeeldingen.
Wat is de CFG-scale in Stable Diffusion?
CFG staat voor “Classifier-Free Guidance”. Dit is een techniek die wordt gebruikt om de balans te bepalen tussen de oorspronkelijke gegenereerde afbeelding en de gewenste kenmerken die door de gebruiker zijn aangegeven. Met andere woorden, het helpt bij het sturen van het model om afbeeldingen te genereren die beter voldoen aan de opgegeven instructies. Als je een hoge CFG insteld, krijg je een afbeelding die jouw prompt stricter volgt. Bij een lage CFG worden de instructies in jouw prompt minder goed opgevolgd.
Leuk om te weten: In Midjourney kan je dit – tot op zekere hoogte – bepalen met de Stylize parameter.
Hoe werkt de CFG-scale?
De CFG-scale beïnvloedt het genereren van afbeeldingen door het model te helpen begrijpen hoe strikt het de gegeven instructies moet volgen. Het werkt als volgt:
- Laag CFG-getal: Bij een lage CFG-waarde volgt het model de instructies minder strikt. Dit kan resulteren in afbeeldingen die meer divers en minder specifiek zijn, omdat het model meer vrijheid heeft om te improviseren.
- Hoog CFG-getal: Bij een hoge CFG-waarde wordt het model strenger in het volgen van de instructies. Dit betekent dat de gegenereerde afbeelding nauwkeuriger overeenkomt met de opgegeven kenmerken, maar het kan ook leiden tot minder variatie en creativiteit.
Hoe stel ik de CFG in?
Ik begin eigenlijk altijd op de standaardwaarde van 7. Merk ik dat het model de prompt niet goed volgt, dan verlaag ik deze naar bijvoorbeeld 8 of 9. Wil ik de generatie wat meer vrijheid geven, dan ga ik naar 4 of 5. Ik heb wel even mijn bibliotheek teruggebladerd (met de Image Browser extensie). Veruit de meeste beelden heb ik gemaakt met een CFG-scale van 7. Heel soms maak ik een uitstapje naar beneden!
Voorbeeld 1: Landschapsgeneratie
Als je een landschap wilt genereren met specifieke elementen, zoals “een bergachtig gebied met een helderblauwe hemel”, kan een lage CFG-waarde leiden tot een gevarieerde interpretatie met verschillende landschapselementen. Een hogere waarde zorgt ervoor dat het model zich strikt houdt aan de opgegeven kenmerken, waardoor je een nauwkeurigere weergave van het gewenste landschap krijgt.
Prompt gebruikt voor voorbeeld: a mountainous area with a clear blue sky
Van links naar rechts CFG 1, 3, 7, 10, 20 (dus van prompt minder strikt opvolgen naar prompt erg goed opvolgen)
Voorbeeld 2: Portretgeneratie
Stel je wilt een portret genereren van een persoon met specifieke kenmerken, zoals “een vrouw van 30 jaar met sproeten, rood haar en blauwe ogen”. Met een lage CFG-waarde (bijvoorbeeld 5) kan het model een portret genereren dat afwijkt van deze kenmerken, zoals verschillende haarkleuren of oogkleuren. Met een hogere waarde (bijvoorbeeld 10) krijg je een nauwkeuriger resultaat dat beter voldoet aan de opgegeven instructies
Prompt gebruikt voor voorbeeld: A headshot of a 30 year old woman with freckles, red hair and blue eyes
Van links naar rechts CFG 1, 3, 7, 10, 20 (dus van prompt minder strikt opvolgen naar prompt erg goed opvolgen)
Goed om te weten: Je kan met de ADetailer extensie erg simpel dingen zoals oogkleur, haarkleur, sproeten etc. aanpassen. Dit doe ik liever dan dat ik aan de CFG-scale ga zitten rommelen.