Door Jeroen Horlings

Redacteur

Wanneer is een 'foto' nog een foto?

Adobe’s Generative Fill AI: belofte en gevaren

15-06-2023 • 06:00

187

Singlepage-opmaak

Hoe werkt het en waarvoor is het handig?

Beta

Generative Fill is nog in bèta en maakt later dit jaar zijn opwachting in Photoshop. Momenteel is het een aparte download via de bèta-apps van Creative Cloud. In de bèta is de functie direct zichtbaar in de vorm van een zwevende menubalk met opties. Zodra je een selectie maakt, verschijnt de balk daar direct onder. Een van de opties is een grote knop genaamd 'Generatief vullen'. Als je daarop klikt, verschijnt een breed invoervenster voor tekst. Deze tekst kan ook leeggelaten worden; de software bedenkt dan zelf iets wat aansluit bij de rest van de foto.

Een functie als Content Aware Fill wordt momenteel vaak gebruikt om een deel van een foto te verwijderen, een leeg deel op te vullen of juist om een foto breder en hoger te maken. Hierbij wordt dit deel dan ingevuld op basis van andere beeldinformatie in dezelfde foto. In feite wordt dan een deel van het beeld gekloond, soms verschillende keren achter elkaar. De functie is erg handig, maar om dezelfde reden ook beperkt. Een kleine selectie is beter te doen dan een grote waarbij heel veel moet worden ingevuld. De software loopt vaak tegen een limiet aan doordat er niet voldoende materiaal te klonen valt. Dat klonen is daardoor ook al snel zichtbaar, omdat het repetitief wordt, zeker als het beeld complex is of uit verschillende, afwijkende delen bestaat.

Generative Fill

Generative Fill is ook niet perfect, maar werkt wel veel beter en dat heeft grofweg twee oorzaken. Ten eerste 'begrijpt' de software beter wat er op het beeld te zien is. Doordat onderwerpen herkend worden en de context duidelijker is, kan er effectiever een element toegevoegd worden. Als bijvoorbeeld een plas water wordt toegevoegd, wordt er ook voor gezorgd dat de spiegeling in het water overeenkomt met de omgeving. Ook weet de software dat een toegevoegd object voorzien moet worden van schaduw. Ten tweede wordt er niet simpelweg bestaand materiaal uit hetzelfde beeld gekloond, maar wordt ook op basis van externe bronnen gewerkt. Zo kunnen bergen toegevoegd worden, kan de kleding van personen worden veranderd en kan ook de lucht vrij eenvoudig compleet worden aangepast. Op dezelfde wijze is het mogelijk om foto's horizontaal en verticaal te verbreden; er wordt simpelweg beeld verzonnen dat bij de oorspronkelijke foto past.

Originele beelden en bewerkte versies met Generative FilOriginele beelden en bewerkte versies met Generative FilOriginele beelden en bewerkte versies met Generative FilOriginele beelden en bewerkte versies met Generative FilOriginele beelden en bewerkte versies met Generative FilOriginele beelden en bewerkte versies met Generative FilOriginele beelden en bewerkte versies met Generative FilOriginele beelden en bewerkte versies met Generative FilOriginele beelden en bewerkte versies met Generative FilOriginele beelden en bewerkte versies met Generative FilOriginele beelden en bewerkte versies met Generative FilOriginele beelden en bewerkte versies met Generative Fil

Een reeks bewerkte beelden, waarbij er middels Generative Fill elementen zijn toegevoegd. De linkerfoto is steeds het origineel, de rechterfoto het eindresultaat. Alle foto's zijn echt, behalve de laatste - die is door een AI gegenereerd en vervolgens bewerkt in Photoshop Beta.

De praktijk

De gebruikte techniek

Om zelf beelden te kunnen genereren, moet een grote dataset verzameld worden. Veel softwareplatforms gebruiken hiervoor stockfoto's. De beelden zijn een leerbron voor de AI, die hiervan leert hoe wij foto's graag zien. Uiteraard kan hier een bepaalde bias in zitten; een portret van een model heeft een andere pose, uitstraling en uiterlijk dan dat van een gezinskiekje. Die dataset wordt verwerkt zodat hij geschikt is voor het neurale netwerk. De beelden worden bijvoorbeeld uniform gemaakt wat omvang betreft. Vervolgens wordt het neurale netwerk getraind via een generative adversarial network. Een generator en discriminator worden tegelijk getraind, waarbij het de bedoeling is dat de generator beelden kan maken die de discriminator niet van echt kan onderscheiden. Na dit stadium kunnen beelden worden gegenereerd. Voor tekstgeneratie wordt een transformer-model getraind in natural language processing. De AI moet taalpatronen uit grote hoeveelheden tekst leren begrijpen, in combinatie met convolutional neural networks, die de structuur en samenhang van beelden leren. Uiteindelijk kan de AI tekst interpreteren en beelden genereren die overeenkomen met de beschrijving.

Net als in de reguliere versie van Photoshop 2023 is er, als je een foto opent, onderaan een zwevende balk te zien. Hiermee kun je met een druk op een knop een onderwerp selecteren of de achtergrond verwijderen, ook op basis van onderwerpherkenning en AI. In de bèta verandert deze balk zodra je iets selecteert. Niet alleen kun je daarmee de selectie aanpassen, maskeren of omkeren, ook verschijnt er een knop 'Generatief vullen'. Als je hierop klikt verschijnt een tekstvak. Als je dit leeglaat en vervolgens op de knop 'Genereren' klikt, zal de software de selectie zelf opvullen, waarbij rekening wordt gehouden met de omgeving. Dit is ideaal om bijvoorbeeld een ongewenst onderwerp of vlekken te verwijderen. Op dezelfde manier kun je via de knop 'Uitsnijden' je foto verbreden of verhogen. Als je vervolgens het nieuwe lege deel selecteert en zonder tekst iets laat genereren, zal Photoshop de lege ruimte opvullen met beeld dat aansluit bij de rest van het beeld. Dat kan zowel door ieder vlak afzonderlijk te selecteren en vullen als door het hoofdbeeld te selecteren en vervolgens de selectie om te draaien via de knop in de zwevende werkbalk.

In de praktijk werkt dit vaak indrukwekkend goed. Als de originele foto bijvoorbeeld een close-up van een gezicht betreft, begrijpt de software dat de rest van het gezicht, zoals de bovenkant van een hoofd plus het haar, erbij moet worden bedacht. Dit sluit aan bij de huidskleur en de haarstijl van de geportretteerde. Bij een landschap met bergen, bomen of water worden nieuwe elementen toegevoegd die aansluiten bij wat er al te zien is. Ook de kleurstijl komt overeen en zo nodig wordt ook voor bijpassende schaduw gezorgd.

Je krijg niet één bewerking te zien, maar altijd drie opties. Dat is handig, want zo kun je de beste optie kiezen, die optimaal aansluit of simpelweg het interessantst is. Als de selectie niet aan je wensen voldoet, klik je simpelweg nog een keer op de knop en worden er drie extra beelden gemaakt.

Tot slot kun je ook gebruikmaken van het tekstvak. Je kunt hier bijvoorbeeld een specifieke instructie geven, zoals 'remove trees' maar ook invullen wat voor beeld er moet worden toegevoegd. Ook luchten kunnen op deze manier vrij eenvoudig aangepast worden. Hiervoor wordt gebruikgemaakt van de dataset van Adobe Firefly. De resultaten zijn wat realisme betreft niet op het niveau van Midjourney, maar zijn alsnog een aanwinst. Het scheelt vooral heel veel tijd, waarbij je niet meer zelf onderwerpen in je beelden hoeft te plakken, maar Photoshop uit de Firefly-data put en er bovendien voor zorgt dat het onderwerp naadloos geïntegreerd wordt.

Dat gaat niet altijd perfect. Daarom is het fijn dat je keus hebt uit drie varianten. Terwijl het mogelijk is om zwemmende mensen toe te voegen, die dan daadwerkelijk half onder water zitten, bleek de software tijdens onze pogingen niet in staat om hetzelfde te doen met een haai of schildpad; die was dan volledig zichtbaar en dus volstrekt onrealistisch. Ook specifieke instructies, zoals dat een onderwerp een bepaalde kant op moet bewegen, werden niet altijd begrepen. Iets anders om rekening mee te houden is dat de software alleen aan volledige vervanging doet. Voeg je bijvoorbeeld een bril aan een persoon toe, dan horen daar ook andere ogen bij. En geef je iemand andere kleding waarbij je ook een stukje kin selecteert, dan krijgt die persoon dus ook een andere kin. Mensen zien er daardoor al snel minder natuurlijk uit, vooral als het bekenden zijn. De software heeft toch al moeite met mensen genereren; vooral gezichten zien er wat vervormd en niet zo realistisch uit en ook lichaamsdelen wijken vaak af of nemen onnatuurlijke posities aan.

Er zijn ook nog technische beperkingen. Toegevoegd materiaal heeft momenteel een maximale resolutie van 1024 pixels. Iets kleins toevoegen werkt prima, maar als je een foto breder of hoger wilt maken, of allebei, is het aantal pixels al snel te klein. Dat betekent dat je een groot verschil zult zien tussen het originele deel van de foto en het gegenereerde deel; dat laatste is dan opvallend onscherp. Dit verschil is al bij smartphonefoto's te zien, maar wordt extreem bij professionele foto's van 60 megapixel of meer. Je kunt dit op dit moment dus het beste in meerdere kleine stapjes doen in plaats van in een keer.

Hopelijk neemt de kwaliteit nog toe en werkt alles beter als de functionaliteit later dit jaar definitief in Photoshop opgenomen is. Iets anders dat ons in negatieve zin opviel, is dat veel woorden verboden zijn, ook al was onze bedoeling onschuldig. De tekst moet vooralsnog in het Engels zijn, ook als je de Nederlandse versie gebruikt.