ID.nl logo
Afbeeldingen maken met AI (kunstmatige intelligentie )
Huis

Afbeeldingen maken met AI (kunstmatige intelligentie )

Het kan je niet ontgaan zijn: AI, kunstmatige intelligentie, is ineens o-ver-al in het nieuws. Behalve teksten genereren kan er nog veel meer met AI. Plaatjes maken bijvoorbeeld. Jij vertelt aan de generator wat je wilt zien, waarna Stable Diffusion, zoals deze AI-tool heet, de afbeeldingen voor je maakt. ID.nl legt je in dit artikel uit hoe je er zelf mee aan de slag kunt en hoe je er de beste resultaten mee boekt.

Let op: dit is een masterclass. Om de stappen in dit artikel te volgen, moet je wel beschikken over de nodige programmeerkennis en de juiste hardware.

Met AI kun je meer dan alleen teksten genereren. Stable Diffusion is een AI-tool waarmee je zelf afbeeldingen kunt maken. In deze masterclass laten we jou zien hoe deze AI-tool volledig naar de hand kan zetten. We behandelen onder andere de volgende punten:

  • Benodigdheden
  • Het gebruik van Stable Diffusion
  • Prompt engineering & mutaties

Wil jij leren hoe je gemakkelijk oude foto's tot leven kan brengen? Lees dan: Deep Nostalgia: A.I. brengt oude foto's tot leven

Begin 2021 introduceerde OpenAI DALL-E, een neuraal netwerk dat was getraind met combinaties van grote hoeveelheden afbeeldingen en beschrijvingen daarvan. Met die kennis was DALL-E in staat om geheel nieuwe plaatjes te genereren op basis van een Engelstalige tekst die in het jargon een prompt wordt genoemd. Alhoewel de resultaten indrukwekkend oogden, kon het publiek er weinig mee; we mochten slechts online spelen met wat voorgekookte voorbeelden. De reden? OpenAI wilde uitgebreid onderzoek doen naar de gevolgen van dergelijke technologie (zie kader ‘Implicaties’). 

Naar goed wetenschappelijk gebruik had men echter wel de basisprincipes achter deze technologie gepubliceerd en daar gingen onmiddellijk veel hobby-programmeurs mee aan de slag. Het gevolg was een stortvloed aan AI-modellen die weliswaar DALL-E niet konden evenaren, maar waar wel iedereen mee kon spelen. 

Wellicht mede omdat deze modellen in rap tempo beter werden, besloot OpenAI medio 2022 om opvolger DALL-E 2 mondjesmaat voor publiek toegankelijk te maken en inmiddels kan iedereen zich aanmelden. De dienst werkt alleen op hun eigen hardware en het neurale netwerk wordt niet gedeeld. Je kunt je aanmelden op https://openai.com/dall-e-2

Ondertussen zat de opensource-community niet stil en met steun van www.stability.ai werd (ongeveer tegelijk met DALL-E 2) Stable Diffusion gelanceerd, compleet met een getraind neurale netwerk, en dat alles opensource. 

**Implicaties **

De komst van steeds betere text-to-image-modellen zorgt momenteel voor veel onrust, met name onder mensen die de kost verdienen met het maken van beeld (fotografen, illustrators en kunstenaars). De betere neurale netwerken zijn namelijk getraind met honderden miljoenen of zelfs miljarden van internet gesprokkelde afbeeldingen. Hoe zit het met de rechten van de mensen die deze hebben vervaardigd en wiens stijl de AI nu ineens kan nabootsen? Ongetwijfeld zal de komende jaren wetgeving worden ontwikkeld die hierin duidelijkheid moet brengen, maar in hoeverre die te handhaven is, is maar zeer de vraag. Vanwege de vele juridische vragen weigeren verschillende beeldbanken momenteel door AI gegenereerd beeld.

Andere punten van zorg rond deze revolutie gaan over het gemak waarmee iedereen nu beeld bij nepnieuws kan maken en de mate waarin AI bestaande stereotypen bevestigt.

Dit heb je nodig 

Het vrijgeven van Stable Diffusion als opensource-model heeft ervoor gezorgd dat verschillende aanbieders van text-to-image-systemen het aan hun arsenaal hebben toegevoegd (zie kader ‘Alternatieven’). 

Omdat Stable Diffusion in vergelijking tot zijn voorgangers relatief bescheiden eisen aan de hardware stelt, draait het ook op veel pc’s en dat biedt allerlei voordelen. Wij focussen ons ook op de pc, met de kanttekening dat alles wat we behandelen in veel andere omgevingen op vergelijkbare wijze werkt. 

AI leunt zwaar op Python en de grafische hardware van Nvidia met minimaal 8 GB geheugen. Terwijl we dit schrijven, wordt ook gewerkt aan varianten die op andere (en nog bescheidenere) hardware werken. 

Hoewel je lokaal de benodigde Python-scripts zou kunnen draaien, heeft het gebruik van het programma Visions of Chaos onze voorkeur. Deze software is oorspronkelijk bedoeld voor het maken van fractals en biedt een eenvoudige gebruikersinterface (die geen kennis van Python vereist). Het bevat een stortvloed aan opensource-AI, waaronder naast Stable Diffusion ook andere text-to-image-modellen, AI om foto’s en video’s te vergroten of in te kleuren, en heel veel meer. 

Om Visions of Chaos voor AI te kunnen gebruiken, moet je eerst een aantal stappen zorgvuldig uitvoeren. Daarna kun je Visions of Chaos downloaden en installeren. 

Er zijn allerlei manieren om Stable Diffusion te draaien. 

**Alternatieven **

Stable Diffusion draai je in een eenvoudige gebruikersinterface op de hardware van de makers op DreamStudio (2 dollar voor 200 afbeeldingen). Andere betaalde online alternatieven zijn Wombo Dream, NightCafé en MidJourney

Heb je zelf geen geschikte hardware en wil je ook niet betalen, dan kun je terecht bij Google Colab. Hier vind je vele Python-scripts voor Stable Diffusion en aanverwante AI, zoals Deforum. Colab-scripts zijn Python-programma’s die je op de hardware van Google kunt draaien door simpelweg op de afspeelknop van elk codeblok te klikken. Verschijnt er een groen vinkje, dan kun je door met het volgende blok. Deze werkwijze is weliswaar wat minder comfortabel, maar wel vanaf elk apparaat met een browser gratis te gebruiken. 

Vind je dat alles te complex en wil je toch niets betalen, dan is er de app VoiceArt (iOS en Android) waarin je je opdrachten zelfs kunt inspreken. 

Het gebruiksgemak van Google Colab is wat minder, maar het kost je ook niets, zelfs geen stroom! 

Stable Diffusion draaien 

Heb je Visions of Chaos eenmaal geïnstalleerd, dan start je het programma en ga je naar Mode / Machine Learning / Image Generation / Text-to-image. Het programma controleert nu of je systeem aan alle vereisten voldoet die bij paragraaf 1 moesten worden geïnstalleerd en daarna kom je in de interface voor de functie text-to-image. Kies je hier Stable Diffusion uit de lijst achter Script, dan gaat Visions of Chaos de benodigde componenten downloaden en een virtuele omgeving opzetten waarin deze draaien. Dat laatste is nodig omdat verschillende AI-modellen een andere combinatie van Python-bibliotheken vereisen. Dankzij Visions of Chaos hoef je daar nooit zelf naar om te kijken. 

Het ingewikkeldste deel is nu voorbij, want het downloaden van meer modellen en opzetten van meer omgevingen gebeurt slechts eenmalig, wanneer je een nieuwe AI voor het eerst gebruikt. 

Tijd om ons eerste plaatje te maken. In het vak Prompt voeren we de tekst a cute kitten in en daarna klikken we op Stable Diffusion Settings. Hier zetten we de opties Image Count en Grid Columns op 1 en klikken we op Close and Generate

Na ongeveer een halve minuut (op ons testsysteem) verschijnt het plaatje. In het statusvenster linksonder zie je overigens waar de resultaten standaard worden opgeslagen. Je kunt allerlei opslaglocaties aanpassen in het menu Options

Beschikt je grafische kaart over voldoende geheugen (zoals op ons testsysteem), dan kun je overigens ook meerdere plaatjes tegelijk genereren. 

Binnen een halve minuut fabriceren we een foto van iets dat niet bestaat. 

Inspiratie opdoen 

Zoiets simpels als ‘a cute kitten’ leent zich prima voor het snel maken van een plaatje, maar meestal is er heel wat meer nodig om het resultaat te krijgen dat je voor ogen hebt. Het maken van goede prompts is dan ook in rap tempo uitgegroeid tot een bijna wetenschappelijke bezigheid die prompt engineering wordt genoemd. 

Behalve van personen en objecten heeft Stable Diffusion ook kennis van heel veel grafische technieken en media, kunststromingen en artiesten. Het uitpluizen van de vele mogelijkheden op dit gebied is misschien wel het krachtigste wapen in het arsenaal van de prompt engineer. 

Een goed startpunt vormt het overzicht van (grafische) media en technieken op Wikipedia en bij Aesthetics Wiki vind je allerlei visuele stijlen. De overstap naar kunstrichtingen maak je op WikiArt waar je ook de naam van heel veel kunstenaars vindt, compleet met voorbeelden. Naast deze algemene sites kun je op internet zoeken naar overzichten van stijlen in architectuur en design, namen van bekende fotografen voor allerlei genres (portret, mode, landschap enzovoort). Al deze informatie bij elkaar vormt het begin van de inspiratie om betere prompts te formuleren die je meer naar eigen hand kunt zetten. 

Nauwkeurigheid 

In het prompt-venster van Visions of Chaos zie je een veld met de naam Seed. Dit houdt verband met de manier waarop deze en andere AI werken. Ze beginnen vaak met een afbeelding die uit ruis bestaat en proberen deze in het opgegeven aantal stappen (Iterations) om te toveren tot iets wat lijkt op de opgegeven prompt. Begin je met een andere waarde voor de seed, dan zal het eindresultaat ook anders zijn, wat betekent dat je met één prompt miljarden verschillende afbeeldingen kunt maken. 

Vanwege de complexe wiskunde achter dit soort modellen waren veel voorgangers van Stable Diffusion niet-deterministisch. Met andere woorden: dezelfde seed gaf verschillende resultaten wanneer je er meerdere plaatjes mee genereerde. 

De grote kracht van Stable Diffusion zit in het feit dat deze wél deterministisch is. Dat zorgt ervoor dat je het effect van wijzigingen in prompts nauwkeurig kunt testen en bestuderen. 

Uitgebreid testen 

Omdat Visions of Chaos verschillende mogelijkheden biedt om batches van prompts te verwerken, kun je dit soort tests eenvoudig ‘s nachts laten draaien. 

Om te achterhalen welke kunstenaars de AI kent, kun je bijvoorbeeld een lijst met prompts maken in de vorm van an artwork by X en deze laten uitvoeren via Batch / A list of text prompts. Een andere mogelijkheid vind je onder dezelfde knop bij Iterative text prompts. Hier kun je een prompt invoeren zoals a painting of a %1 by %2 waarbij je onder %1 replacements wat onderwerpen opgeeft en bij %2 replacements een aantal kunstenaars. 

Als voorbeeld kiezen we een vaste seed, zeg 1000, en geven de prompt a portrait of a beautiful girl. Vervolgens voegen we daar elementen aan toe om het resultaat te wijzigen (modifiers genaamd). Met a portrait of a beautiful girl, pencil sketch (of oil painting, gouache enzovoort) test je zo technieken en media. Met a portrait of a beautiful girl, by Albert Anker test en vergelijk je kunstenaars. En met a portrait of a beautiful girl, Steampunk (of medieval, ancient egyptian, cubism enzovoort) test je visuele stijlen. 

Door dit soort tests uit te voeren, bouw je vanzelf een bibliotheek met referentiemateriaal op die je kunt gebruiken wanneer je beeld wilt gaan genereren voor een willekeurige gelegenheid. Daarmee zijn we er echter nog niet. 

Dezelfde prompt en seed met verschillende ‘modifiers’ geven inzicht in het effect dat deze hebben. 

Spelen met variabelen 

Oudere AI-modellen boden vaak de mogelijkheid om met ‘gewichten’ te werken, wat je extra controle gaf over het resultaat. Een prompt was dan bijvoorbeeld a forest | foggy:x | autumn:y, en door de waarden voor x en y groter of kleiner te maken, kon je de hoeveelheid mist en de sterkte van de herfstkleuren beïnvloeden. Stable Diffusion ondersteunt deze mogelijkheid vooralsnog niet, maar dat wil niet zeggen dat we geen controle hebben. 

In Stable Diffusion geven we als vergelijking met dezelfde seed deze vier prompts: 

- a foggy forest in autumn

- a forest, foggy, autumn

- foggy, autumn, a forest

- autumn, foggy, a forest

Zoals je ziet in de afbeelding zijn er nuanceverschillen in de uitkomst en dus is de woordvolgorde belangrijk. Overigens kun je ook proberen een element te versterken door het woord te herhalen (eventueel in een synoniem). 

Door de woordvolgorde te wijzigen, maak je subtiele veranderingen in het resultaat. 

Prompt engineering 

Met alle verzamelde kennis kunnen we serieus aan de slag met prompt engineering. Naast al genoemde stijlen, media en namen van kunstenaars kun je nog de nodige andere elementen toevoegen. Erg populair is de toevoeging trending on Artstation die je resultaat vaak net wat fraaier maakt. Ook veelgebruikt zijn modifiers die verwijzen naar grafische technieken uit 3D-games zoals raytracing en Unreal Engine

Als voorbeeld van een grondig uitgewerkte prompt bekijken we het resultaat van: 

an elaborately furnished 1970s retro-futuristic interior, octane render, raytracing, volumetric lighting, wide angle, sofa, coffee table in foreground, large potted plant, futuristic lamps, biomorphic windows look out on a futuristic cityscape, mandelbulb space, fractal textures, trending on Artstation, Unreal Engine 3D shading, shadow depth, by Rackstraw Downes, by Canaletto, by Paul Delvaux, by Jakub Schikaneder 

Om exact hetzelfde resultaat te krijgen als wij gebruik je 1906332652 voor het veld Seed en 50 voor Iterations. Vervolgens klik je op Stable Diffusion Settings en zet je een vinkje bij Custom image size. Vul daar 960x512 in (mocht blijken dat je grafische kaart dat niet aankan, dan kun je kiezen voor een andere instelling bij VRAM Offloading). Kies bij Sampler k_lms, zet Scale op 15 en klik op Close and generate

Een voorbeeld van een uitgebreide prompt waarbij we alle registers hebben opengetrokken. 

Mutaties 

Zoals we eerder zeiden is Stable Diffusion deterministisch, maar dat geldt alleen wanneer je exact dezelfde instellingen gebruikt (inclusief de resolutie). Om te zien hoe dramatisch het verschil kan zijn, renderen we dezelfde prompt op 512x512

Een andere belangrijke factor is de gebruikte Sampler (de methode waarmee de AI vanaf de initiële ruis naar het eindresultaat navigeert). We kiezen euler_ancestral in plaats van k_lms. Het resultaat is totaal anders dan ons vorige plaatje op 512x512, maar heeft wel een vergelijkbare uitstraling. 

Een andere belangrijke factor voor het eindresultaat is de combinatie van Iterations en Scale. De eerste bepaalt het aantal stappen waarbinnen de AI beeld moet tonen en de tweede hoe nauwkeurig de prompt moet worden gevolgd. Het absolute minimum om vaak nog bruikbaar beeld te krijgen is Iterations=20 en Scale=7. Zeker met complexe prompts kan het resultaat dan snel wat rommeliger worden. Hogere waarden voor Scale vereisen vaak ook meer iteraties, maar een exacte formule is daarvoor niet te geven. 

Omdat je met complexe prompts vaak ook flink grote waarden voor Scale kunt gebruiken, geven ze je meer ruimte om te experimenteren. Als laatste voorbeeld daarvan renderen we Iterations=100 en Scale=25

Resolutie, Scale en de gebruikte Sampler zijn van grote invloed op het eindresultaat. 

Aan de slag 

We hebben je laten zien hoe je complexe prompts leert bouwen door kennis te vergaren over de stijlen, media en kunstenaars die Stable Diffusion kent. Gelukkig hoef je het wiel niet helemaal opnieuw uit te vinden. Op www.urania.ai/top-sd-artists zie je hoe Stable Diffusion de stijl van bijna tweeduizend artiesten interpreteert. Op www.krea.ai kun je naast het effect van de namen van kunstenaars ook de werking van heel veel andere modifiers bestuderen en leren van de prompts van anderen. Dat laatste kan ook via de miljoenen doorzoekbare afbeeldingen op www.lexica.art

Hoewel je met het langs deze weg genereren van plaatjes jarenlang bezig kunt zijn, is dat nog maar het begin. We hebben het namelijk nog niet eens gehad over het zelf trainen van AI of het maken van animaties. Er valt dus nog heel wat meer te ontdekken. 

**Inpainting en outpainting **

Bij de lancering had DALL-E 2 twee belangrijke troeven in handen ten opzichte van Stable Diffusion. Het genereert om te beginnen standaard plaatjes op 1024 × 1024 pixels waar dat bij Stable Diffusion 512 × 512 pixels is. Daar staat tegenover dat je in Stable Diffusion ook veel andere resoluties kunt kiezen. Overigens met wisselend succes, omdat dit soort modellen altijd wordt getraind met vierkante plaatjes waardoor renderen in portret- of landschapsformaat soms tot herhaling van beeldelementen leidt. 

De tweede troef van DALL-E waren de functies inpainting en outpainting. Met de eerste wis je een deel van een plaatje en laat je DALL-E daar naadloos iets anders voor invullen op basis van een prompt. Met de tweede ‘verzint’ DALL-E wat er buiten een plaatje te zien zou kunnen zijn en vult dat aan via een prompt. Inmiddels kent Stable Diffusion deze trucjes ook en worden ze via DreamStudio (zie kader ‘Alternatieven’) al aangeboden. Inpainting is daarnaast beschikbaar binnen Stable Diffusion WebUI dat Visions of Chaos ook voor je downloadt en installeert. Ongetwijfeld zal outpainting daaraan al zijn toegevoegd wanneer je dit leest. 

Een van de afbeeldingen uit stap 8 waar Dall-e 2 het nodige bij heeft verzonnen via outpainting. 
Inpainting via de Stable Diffusion WebUI. 
▼ Volgende artikel
Tweede seizoen van Battlefield 6 is van start
Huis

Tweede seizoen van Battlefield 6 is van start

Het tweede seizoen van Battlefield 6 is na uitstel gisteren van start gegaan.

Het tweede seizoen had eigenlijk op 20 januari van start moeten gaan, maar dat werd vier weken uitgesteld omdat het tweede seizoen nog niet klaar voor release was. Dat is nu blijkbaar wel, en spelers van de shooter kunnen dan ook aan de slag met het tweede seizoen.

Het tweede seizoen bestaat uit drie fases van een maand, die elk nieuwe content met zich meebrengen. De eerste fase heet Extreme Measures en is begonnen. Spelers kunnen aan de slag met een nieuwe multiplayermap genaamd Contaminated, dat geschikt is voor alle gevechtsgroottes. Ook is er een nieuwe tijdelijk beschikbare modus in de vorm van VL-7 Strike, en de battle royale-game Battlefield RedSec krijgt de modi Gauntlet: Altered State en Battle Royale: Synthesis. Ook zijn er nieuwe wapens en gadgets.

View post on X

De tweede fase heet Nightfall en start op 17 maart, en zal onder andere de nieuwe map Hagental Base en nieuwe Nightfall-modus - waarbij het nacht is en het zich dus slecht is - bevatten. Op 14 april begint de derde fase, Hunter / Prey, met een nieuwe gelimiteerde modus genaamd Operation Augur.

Battlefield 6 kwam afgelopen najaar uit voor pc, PlayStation 5 en Xbox Series-consoles en bleek een groot succes. In de eerste drie dagen werden er meer dan zeven miljoen exemplaren van verkocht. Tegelijkertijd kreeg de game concurrentie uit onverwachtse hoek, namelijk van de ook vorig najaar uitgekomen extraction shooter Arc Raiders.

Watch on YouTube
Watch on YouTube
▼ Volgende artikel
Nieuwe Samsung Galaxy S26-teaser laat AI-fotomogelijkheden zien
© Samsung
Huis

Nieuwe Samsung Galaxy S26-teaser laat AI-fotomogelijkheden zien

Samsung geeft alvast een voorproefje van de nieuwe camerafuncties die het volgende week onthult tijdens Galaxy Unpacked. De stap vooruit zit dit keer vooral in de software: foto's en video's bewerken moet veel natuurlijker gaan, simpelweg door in je eigen woorden te zeggen wat je wilt.

Samsung noemt voorbeelden als een foto veranderen van dag naar nacht, een ontbrekend stukje herstellen of meerdere beelden automatisch samenvoegen. In plaats van verschillende apps openen of instellingen zoeken, beschrijf je kort wat je voor ogen hebt en doet de telefooncamera de rest. Vastleggen, aanpassen en delen moeten daardoor meer als één vloeiende handeling aanvoelen.

Ook in uitdagende situaties moet de software een groter deel van het werk overnemen. Denk aan fotograferen bij weinig licht, een sterrenhemel vastleggen of video's met een filmische uitstraling maken. Samsung spreekt wel over een helderder camerasysteem, maar geeft nog geen technische details. Uit alles blijkt dat de nadruk ligt op slimmer bewerken, niet op nieuwe lenzen of sensoren.

Lees ook: Samsung Galaxy S26-teaser richt zich op het privacyscherm

©Samsung

Wanneer wordt de Samsung Galaxy S26-lijn onthuld?

Samsung organiseert op 25 februari de nieuwste editie van het tweejaarlijkse Galaxy Unpacked-evenement. Het kan niet anders dan dat daar de nieuwe Samsung Galaxy S26-lijn wordt onthuld. Vanaf 19.00 uur  's avonds (Nederlandse tijd) weten we meer!

Watch on YouTube
Watch on YouTube
Watch on YouTube