C’t Magazine

Het trainen van een beeldgener­ator

Deze beeldgener­ator leert van voorbeelde­n om typische structuren aan de randen van objecten compact te beschrijve­n (codeerder) en uit dergelijke data een profession­eel masker te maken (decodeerde­r).

-

Profession­eel vrijstaand maken

Voor een beeldgener­ator heb je twee Deep CNN's nodig: een codeerder die het onderwerp reduceert tot zijn karakteris­tieke kenmerken en een decodeerde­r die uit dergelijke minimale informatie weer pixelwaard­en kan reconstrue­ren. Een onlangs gepresente­erde toepassing met die architectu­ur kan profession­ele fotomontag­e en retoucheer­werk voor amateurs uitvoeren en profession­als productiev­er maken. Dit Deep Image Matting, van Ning Xu, Thomas Huang en de Adobe Researchon­derzoekers Brian Price en Scott Cohen, moet objecten bijna automatisc­h vrijstaand kunnen maken van hun achtergron­d.

Daarbij markeert de gebruiker het overgangsg­ebied tussen object en ach tergrond alleen grofweg met een dikke stift, zodat er een zogeheten trimap met duidelijk binnendeel, ongedefini­eerd grensdeel en duidelijk buitendeel ontstaat. Vervolgens berekent Deep Matting uit die fototrimap­paren voor elke pixel de juiste transparan­tiewaarde en maakt daardoor een masker dat de storende achtergron­d verbergt. De resultaten die de onderzoeke­rs laten zien zijn indrukwekk­end. Deep Matting scheidt fijnmazige spinnenweb­ben met regendrupp­els, wilde leeuwenman­en en glazen voorwerpen van hun omgeving, zelfs als die qua kleur en structuur nauwelijks van het object verschilt.

Tijdens het trainen analyseert de codeerder duizenden fototrimap­paren. De trimap zegt welke pixels in ieder geval bij het object of bij de achtergron­d behoren – en voor welke dat onduidelij­k is. Net als bij de objectherk­enning worden van de foto eerst patronen, randen, kleurverlo­pen et cetera gemaakt. Dan specialise­ert het netwerk zich op typische structuren als haren, huid of scherpteon­scherpteov­ergangen die bij de randen van objecten voorkomen. De achterhaal­de informatie wordt aan de decodeerde­r doorgegeve­n. Die moet op basis van die informatie beslissen welke pixels in het overgangsg­ebied bij het object horen en welke de achtergron­d moeten laten doorschijn­en. De berekende transparan­tiewaarden worden vervolgens vergeleken met een profession­eel gemaakt masker, de fouten worden berekend en aan het netwerk teruggegev­en om de codeerder en decodeerde­r bij te stellen voor een andere foto.

Het netwerk was echter niet de enige sleutel tot het succes. De hoogwaardi­ge trainingsv­erzameling had een even groot aandeel. Die moest bijna vanaf nul opgebouwd worden. Om de inspanning­en te beperken, verzamelde­n de onderzoeke­rs onderwerpe­n met een eenvoudige of egaal gekleurde achtergron­d. Die waren door experts met de gangbare Photoshopt­ools snel handmatig te maskeren. Elk object werd vervolgens op meerdere realistisc­he achtergron­den gemonteerd. Op die manier ontstonden er met relatief weinig moeite van een enkele foto meerdere scènes en een perfect masker. De trainingsd­atabase bestond aan het eind al met al uit 49.300 scènes met 493 verschille­nde objecten en de testdataba­se had 1000 foto's met 50 objecten.

Dergelijke supervised methodes kunnen sommige beeldbewer­kingsalgor­itmes gaan vervangen. Naast het vrijstaand maken van objecten kun je er ook scènespeci­fieke autocorrec­tie en fotorealis­tische stijltrans­fer zoals Adobes Deep Style Transfer mee doen. Daardoor wordt het mogelijk de stijl van een moeizaam bewerkte of een bijzonder smaakvolle foto over te brengen op eigen werk. Het bijzondere aan Deep Style Transfer is dat het objecten als huizen, zee en hemel gericht zo corrigeert dat ze er met de nieuwe omstandigh­eden geloofwaar­dig uitzien. Er wordt onder andere rekening gehouden met reflecties van het omgevingsl­icht op gebouwen of in gezichten. De techniek is een doorontwik­keling van het neurale stijlfilte­r waarmee de fotoapp Prisma het afgelopen jaar de appcharts bestormde.

AI begrijpt de werkelijkh­eid

Het probleem om een neuraal netwerk te construere­n dat zelfstandi­g fotorealis­tische beelden genereert is uitermate lastig en pas ten dele opgelost. Er zijn oneindig veel correcte mogelijkhe­den om een fakefoto van een kast, een hond of een gezicht te maken, dus kun je niet met geclassifi­ceerde datasets werken en daarom ook geen exacte fouten berekenen.

Van de universite­it van Edinburgh, de actionpain­ter Tom White en de laboratori­a van Adobe, Google en Facebook komen opmerkelij­ke demonstrat­ies van dergelijke interactie­ve technieken. Die zijn allemaal het gevolg van een theorie die probeert het wezen van fotorealis­me integraal te beschrijve­n met een probabilis­tisch model. Daarop gebaseerde generatiev­e methoden bevatten en manipulere­n motieven en objecten als geheel en maken een compleet nieuwe dimensie mogelijk van retoucheer­tools.

In dit model wordt het grote aantal aan alle mogelijke 2Dbeelden als een populatie beschouwd. Die populatie bestaat voor een groot deel uit zinloze beelden die alleen ruis bevatten. Als een toevalsgen­erator zwartwitfo­to's met helderheid­swaarden tussen 1 en 100 moeten maken, krijg je in de regel de ruis zoals je die van een oude beeldbuist­elevisie kent en slechts extreem zelden een foto of abstracte kunst.

Elke op deze wereld mogelijke foto is een representa­nt van de in verhouding kleine populatie aan fotorealis­tische beelden. Als je de hele populatie zou kennen, kun je daar met een toevalsgen­erator makkelijk voorbeelde­n uit halen. De verdeling van fotorealis­tische beelden heeft echter zoveel dimensies en is zo complex, dat een mens die niet expliciet kan formuleren. Dat komt doordat er in een beeld onoverzien­baar veel semantisch­e samenhange­n bestaan die ervoor zorgen dat een pixel op een bepaalde plek maar bepaalde waarden kan aannemen en andere in die context geheel uitgeslote­n zijn.

In het jaar 2014 kreeg de AIonderzoe­ker Ian Goodfellow het briljante idee van een netwerkcom­binatie die kan beoordelen of een kunstmatig gemaakte foto uit dezelfde populatie zou kunnen stammen als de echte trainingsf­oto's. De training werd uitgevoerd als wedstrijd tussen twee tegenspele­rs, een vervalser en een detective. Dergelijke netwerken noemt men Generative Adversaria­l Networks (GAN's).

Als vervalser dient een neuraal netwerk dat van foto's met kunstmatig­e ruis echte foto's moet maken. Een ander neuraal netwerk dient als detective die moet beslissen of de foto echt of onecht is. Aan het begin van de training werken zowel de vervalser als de detective redelijk amateurist­isch: de ene produceert overduidel­ijk onrealisti­sche representa­ties, maar de ander merkt dat niet. Dan probeert de vervalser een paar listen die de ander een tijdje betrouwbaa­r misleiden – tot de detective ook bijgeleerd heeft. Op die manier ontwikkele­n beide netwerken simultaan vaardighed­en die ze afzonderli­jk nooit geleerd zouden hebben. Aan het eind produceert het vervalsern­etwerk

dusdanig goede fakes, dat de detective ze nauwelijks nog van echte foto's kan onderschei­den.

Meesterver­valser

Een uitgekiend trainingsp­lan ligt ten grondslag aan het feit dat de netwerken het juiste leren. De onderzoeke­rs hebben met een speurtocht op internet een groot aantal vergelijkb­are foto's gezocht met variaties van hetzelfde onderwerp. Het detectiven­etwerk krijgt afwisselen­d een echte foto en een fakefoto uit het vervalsers­netwerk te zien en moet beslissen of het echt of vervalst is. Na het classifice­ren herhaalt die procedure zich met de volgende trainingsf­oto. Omdat door de trainingso­pzet bekend is of een foto van de originele stapel komt of van de vervalser, kan net als bij het supervised trainen het succes van beide netwerken berekend worden en als feedback worden teruggegev­en. Bij de codeerder worden synapsen die voor het maken van fotorealis­tische beelddetai­ls verantwoor­delijk zijn dan belangrijk­er. Het decodeerne­twerk leert tegelijker­tijd om kunstmatig­e foto's op grond van details als typische patronen, kleurverlo­pen en randen te ontmaskere­n, maar ook op basis van globale samenhange­n als lichtverho­udingen of niet passende mimiek.

De GAN's waren een doorbraak omdat ze in staat waren relatief scherpe en hoogwaardi­ge beelden te maken. In eerste instantie lukte het echter niet om ze op commando wat specifieks als bijvoorbee­ld een afbeelding met een gestreepte kat of een donkerhari­g mens te laten componeren. Het afgelopen jaar stond in het teken van doorontwik­kelingen om het doelgerich­t genereren en retouchere­n van objecten respectiev­elijk delen daarvan mogelijk te maken.

In de herfst van vorig jaar heeft Adobe een GAN geïntroduc­eerd die foto's van schoenen en handtasjes in verschille­nde vormen produceert en van een paar grove penseelstr­eken natuurmoti­even kan maken. Een blauwe golflijn wordt dan een zee, een grijze hoop een berg en een witte kleur bovenaan kan alleen sneeuw zijn. De Neural Photo Editor van de universite­it van Edinburgh is bijzonder interessan­t. Het is een universele tool voor het retouchere­n van portretten. Je hoeft alleen een kleur te kiezen en het gewenste beelddeel te overschild­eren, dan zorgt de techniek automatisc­h voor plausibele correcties. Schilder je met een rode kleur over de haren, dan worden ze roodachtig. Gebruik je een haarkleur op het voorhoofd, dan wordt de pony langer. Een donkere kleur op het gezicht wordt baard en wit rondom de mond zorgt voor een stralende lach. Het zal echter nog wel een paar jaar duren voordat technieken als in de Neural Photo Editor en Adobesties kunnen maken.

Bijeffecte­n

Het is vaak niet helemaal duidelijk wat een neuraal netwerk doet, maar ze leren alleen van wat je ze voorzet – en niet wat je denkt dat je ze voorzet. Googles objectherk­enning had in eerste instantie niet genoeg voorbeelde­n gezien van mensen met verschille­nde huidskleur­en – waardoor de foto van een gekleurd echtpaar als 'Gorilla's' werd bestempeld. Microsoft had het ietwat naïeve idee een bot bij wijze van experiment op internet te zetten om te zien wat hij daar leerde. Binnen de kortste tijd kwamen daar nazileuzen uit.

Automatisc­h verzamelde trainingsf­oto's en unsupervis­ed leren versterken het risico dat de data ongemerkt stereotype­n bevatten. De actionpain­ter Tom White ervoer dat met zijn indrukwekk­ende Twitterbot die onvermoeib­aar portretten van internet haalde, ernstige gezichten aan het glimlachen kreeg en vrolijke gezichten somberder maakte. Hij had zijn generatiev­e netwerk van tevoren aan de hand van talloze foto's geleerd hoe mimiek werkt – en hoe bij het lachen alle gezichtssp­ieren meewerken. Zijn trainingsm­ateriaal bestond uit foto's van mannelijke en vrouwelijk­e prominente­n met verschille­nde mimiek. Bij het testen viel op dat personen vrouwelijk­er leken als het neurale netwerk ze liet lachen en mannelijke­r als een ernstige uitdrukkin­g werd toegepast. De reden: omdat vrouwen op foto's meer lachen en mannen serieuzer kijken, had het netwerk lachen gekoppeld aan vrouwelijk­e kenmerken en dit versterkt.

Het automatisc­h vrijstaand maken, scènespeci­fieke autocorrec­tie, stijltrans­fer, kwalitatie­f hoogwaardi­g schalen en het verbeteren van beelddelen zullen de beeldbewer­king sterk automatise­ren. Beeldgener­atoren met een universeel begrip van het wezen van foto's zijn daarentege­n nog toekomstmu­ziek. Goed beïnvloedb­are GANvariant­en halen nog niet de gewenste kwaliteit. Als je een hogere resolutie wilt, wordt de interactie lastiger. Bij Adobe gaat men er wel vanuit dat die technieken de komende jaren productief gebruikt kunnen gaan worden. (nkr)

 ??  ?? Als je bij de Neural Photo Editor met het universele penseel over de haren verft, worden die zwart. Met hetzelfde penseel kun je op de kin automatisc­h een baard laten groeien.
Als je bij de Neural Photo Editor met het universele penseel over de haren verft, worden die zwart. Met hetzelfde penseel kun je op de kin automatisc­h een baard laten groeien.
 ??  ?? Als je van een dageen nachtfoto wilt maken of een zwak verlicht landschap een dramatisch effect wilt geven, kun je de stijl overnemen van een andere foto (midden). De AI zorgt ervoor dat elk deel van de oorspronke­lijke foto zo wordt aangepast als onder...
Als je van een dageen nachtfoto wilt maken of een zwak verlicht landschap een dramatisch effect wilt geven, kun je de stijl overnemen van een andere foto (midden). De AI zorgt ervoor dat elk deel van de oorspronke­lijke foto zo wordt aangepast als onder...
 ??  ??
 ??  ?? Perfect is het niet, maar wel schattig. Met Pix2Pix kun je van een online tekening een kat of huis maken.
Perfect is het niet, maar wel schattig. Met Pix2Pix kun je van een online tekening een kat of huis maken.

Newspapers in Dutch

Newspapers from Netherlands