Kunstmatige intelligentie
Het aanpakken van ‘slechte haar dagen’ in menselijke beeldsynthese

Sinds de gouden eeuw van Romeinse beeldhouwkunst, is het weergeven van menselijk haar een doornige uitdaging geweest. Het gemiddelde menselijke hoofd bevat 100.000 haren, heeft variabele brekingsindices volgens de kleur en, voorbij een bepaalde lengte, zal het zich bewegen en hervormen op manieren die alleen kunnen worden gesimuleerd door complexe fysieke modellen – tot nu toe alleen toepasbaar via ‘traditionele’ CGI-methodologieën.

Van onderzoek uit 2017 van Disney, probeert een fysiek gebaseerd model realistische beweging toe te passen op een vloeibare haardracht in een CGI-werkstroom. Bron: https://www.youtube.com/watch?v=-6iF3mufDW0
Het probleem wordt slecht aangepakt door moderne populaire deepfakes-methoden. Al enkele jaren heeft de toonaangevende pakket DeepFaceLab een ‘volledig hoofd’-model dat alleen starre voorstellingen van korte (meestal mannelijke) haardrachten kan vastleggen; en onlangs heeft DFL-stabiel FaceSwap (beide pakketten zijn afgeleid van de omstreden DeepFakes-broncode uit 2017) een implementatie aangeboden van de BiseNet semantische segmentatiemodellen, waarmee een gebruiker oren en haar kan opnemen in deepfake-uitvoer.
Zelfs bij het weergeven van zeer korte haardrachten, zijn de resultaten zeer beperkt in kwaliteit, met volledige hoofden die op beelden lijken te zijn geplakt, in plaats van geïntegreerd te zijn.
GAN Haar
De twee belangrijkste concurrerende benaderingen voor menselijke simulatie zijn Neurale Radiance Fields (NeRF), die een scène vanuit meerdere gezichtspunten kunnen vastleggen en een 3D-weergave van deze gezichtspunten kunnen omvatten in een doorzoekbare neurale netwerk; en Generatieve Adversarial Networks (GANs), die opvallend geavanceerder zijn in termen van menselijke beeldsynthese (niet in de laatste plaats omdat NeRF pas in 2020 is ontstaan).
NeRF’s afgeleide begrip van 3D-geometrie stelt het in staat om een scène met grote trouw en consistentie te repliceren, zelfs als het momenteel weinig of geen mogelijkheden heeft voor het opleggen van fysieke modellen – en, in feite, relatief beperkte mogelijkheden voor enige vorm van transformatie op de verzamelde gegevens die niet verband houdt met het veranderen van het cameragezichtspunt. Momenteel heeft NeRF zeer beperkte mogelijkheden om menselijk haar te reproduceren.
GAN-gebaseerde equivalenten van NeRF beginnen met een bijna fatale handicap, aangezien, in tegenstelling tot NeRF, de latent space van een GAN geen inheemse kennis van 3D-informatie bevat. Daarom is 3D-bewuste GAN-gezichtsbeeldsynthese een hete achtervolging geworden in beeldgeneratieonderzoek in de afgelopen jaren, met 2019’s InterFaceGAN een van de belangrijkste doorbraken.
Echter, zelfs InterFaceGAN’s getoonde en gekozen resultaten demonstreren dat neurale haarconsistentie een moeilijke uitdaging blijft in termen van temporele consistentie, voor potentiële VFX-workflows:

‘Sissende’ haar in een pose-transformatie van InterFaceGAN. Bron: https://www.youtube.com/watch?v=uoftpl3Bj6w
Naarmate het meer evident wordt dat consistente weergave via manipulatie van de latent space alleen een alchemistische onderneming kan zijn, komen er een toenemend aantal papers uit die CGI-gebaseerde 3D-informatie incorporeren in een GAN-werkstroom als een stabiliserende en normaliserende beperking.
Het CGI-element kan worden weergegeven door tussenliggende 3D-primitieven zoals een Skinned Multi-Person Linear Model (SMPL), of door 3D-inferentietechnieken te gebruiken op een manier die vergelijkbaar is met NeRF, waarbij geometrie wordt geëvalueerd uit de bronafbeeldingen of video.
Een nieuw werk in deze lijn, uitgegeven deze week, is Multi-View Consistent Generative Adversarial Networks for 3D-aware Image Synthesis (MVCGAN), een samenwerking tussen ReLER, AAII, University of Technology Sydney, de DAMO Academy bij Alibaba Group en Zhejiang University.

Plausibele en robuuste nieuwe gezichtsposities gegenereerd door MVCGAN op afbeeldingen afgeleid van de CELEBA-HQ-dataset. Bron: https://arxiv.org/pdf/2204.06307.pdf
MVCGAN incorporeert een generatief radiance field-netwerk (GRAF) dat in staat is om geometrische beperkingen te bieden in een Generatieve Adversarial Network, waarmee het mogelijk is om enkele van de meest authentieke positiemogelijkheden van een soortgelijke GAN-gebaseerde benadering te bereiken.
Echter, aanvullend materiaal voor MVCGAN onthult dat het verkrijgen van haarvolume, -plaatsing en -gedragconsistentie een probleem is dat niet gemakkelijk kan worden aangepakt door beperkingen op basis van extern opgelegde 3D-geometrie.

Uit aanvullend materiaal dat op het moment van schrijven niet openbaar is gemaakt, zien we dat, hoewel gezichtspositie-synthese van MVCGAN een opvallende vooruitgang vertegenwoordigt ten opzichte van de huidige stand van de techniek, temporele haarconsistentie nog steeds een probleem is.
Aangezien ‘rechttoe rechtaan’ CGI-werkstromen tijdelijke haarreconstructie nog steeds een uitdaging vinden, is er geen reden om aan te nemen dat conventionele geometrie-gebaseerde benaderingen van deze aard consistent haar syntheses zullen brengen naar de latent space binnenkort.
Haar stabiliseren met Convolutional Neural Networks
Echter, een aanstaand paper van drie onderzoekers aan het Chalmers Institute of Technology in Zweden kan een aanvullende vooruitgang bieden in neurale haarsimulatie.

Links, de CNN-gestabiliseerde haarweergave, rechts, de grondwaarheid. Zie de video ingesloten aan het einde van het artikel voor betere resolutie en aanvullende voorbeelden. Bron: https://www.youtube.com/watch?v=AvnJkwCmsT4
De titel van de paper is Real-Time Hair Filtering with Convolutional Neural Networks, en deze zal in begin mei worden gepubliceerd voor de i3D-symposium.
Het systeem bestaat uit een autoencoder-gebaseerd netwerk dat in staat is om haarresolutie te evalueren, inclusief zelfschaduw en rekening houdend met haardikte, in real-time, op basis van een beperkt aantal stochastische samples gezaaid door OpenGL-geometrie.
De benadering renderd een beperkt aantal samples met stochastische transparantie en traint vervolgens een U-net om de oorspronkelijke afbeelding te reconstrueren.

Onder MVCGAN filtert een CNN stochastisch bemonsterde kleurfactoren, highlights, tangenten, diepte en alfa’s, en assembleert de gesynthesizeerde resultaten in een samengestelde afbeelding.
Het netwerk wordt getraind op PyTorch, convergerend over een periode van zes tot twaalf uur, afhankelijk van netwerkvolumen en het aantal invoerfuncties. De getrainde parameters (gewichten) worden vervolgens gebruikt in de real-time-implementatie van het systeem.
Trainingsgegevens worden gegenereerd door het renderen van enkele honderden afbeeldingen voor rechte en golven haardrachten, met willekeurige afstanden en poses, evenals diverse lichtomstandigheden.

Verschillende voorbeelden van trainingsinvoer.
Haartransparantie over de samples wordt gemiddeld van afbeeldingen die zijn gerenderd met stochastische transparantie op supersampled resolutie. De oorspronkelijke hoge resolutiegegevens worden gedownsampeld om netwerk- en hardwarebeperkingen te accommoderen, en later opgeschaald, in een typische autoencoder-werkstroom.
De real-time-inferentie-toepassing (de ‘live’-software die de algoritme afgeleid van het getrainde model gebruikt) maakt gebruik van een combinatie van NVIDIA CUDA met cuDNN en OpenGL. De initiële invoerfuncties worden gedumpt in OpenGL multisampled color buffers, en het resultaat wordt doorgestuurd naar cuDNN-tensors voordat het wordt verwerkt in de CNN. Deze tensors worden vervolgens teruggekopiëerd naar een ‘live’-OpenGL-texture voor opname in de finale afbeelding.
Het real-time-systeem werkt op een NVIDIA RTX 2080, producerend een resolutie van 1024×1024 pixels.
Aangezien haar-kleurwaarden volledig zijn ontward in de uiteindelijke waarden die zijn verkregen door het netwerk, is het veranderen van de haarkleur een triviale taak, hoewel effecten zoals gradients en strepen nog steeds een toekomstige uitdaging vormen.

De auteurs hebben de code die is gebruikt in de evaluaties van de paper op GitLab vrijgegeven. Bekijk de aanvullende video voor MVCGAN hieronder.
Conclusie
Het navigeren door de latent space van een autoencoder of GAN is nog steeds meer vergelijkbaar met zeilen dan met precisie rijden. Pas in deze zeer recente periode zien we geloofwaardige resultaten voor pose-generatie van ‘eenvoudigere’ geometrie zoals gezichten, in benaderingen zoals NeRF, GANs en non-deepfake (2017) autoencoder-kaders.
De aanzienlijke architectonische complexiteit van menselijk haar, in combinatie met de noodzaak om fysieke modellen en andere kenmerken te incorporeren waarvoor de huidige beeldsynthese-benaderingen geen voorziening hebben, geeft aan dat haarsynthese onwaarschijnlijk zal blijven een geïntegreerd onderdeel in algemene gezichtssynthese, maar zal vereisen speciale en afzonderlijke netwerken van enige complexiteit – zelfs als dergelijke netwerken uiteindelijk kunnen worden geïncorporeerd in bredere en complexere gezichtssynthese-kaders.
Eerst gepubliceerd op 15 april 2022.











