Case study: fotorealistische avatar

Presence
7 min readApr 20, 2023

--

Wat is Presence?

In november 2022 is het onderzoeksproject ‘Presence’ van start gegaan bij Thomas More Research. Met dit onderzoek wil Thomas More, gesteund door Vlaio en de Presence-begeleidingsgroep, bestaande uit meer dan 20 bedrijven uit de Vlaamse mediasector, onderzoeken hoe digitale representaties van objecten, personen en verhalen gemaakt kunnen worden en hoe deze in een virtuele omgeving kunnen worden gebracht.

Hiervoor zullen we verschillende (XR)-technologieën onderzoeken, zoals motion capture, face capture, tekst-naar-alles, 2D- en 3D-avatars, virtuele productie, fotogrammetrie, 3D-rigging en LiDAR-scanning.

Inleiding

Een van de mogelijke technologieën die in aanmerking komt om een fotorealistische avatar te creëren is fotogrammetrie. Dankzij ons eerdere onderzoek (eXtend), hebben we binnen het Thomas More researchteam de nodige expertise opgebouwd op het gebied van fotogrammetrie. We hebben onlangs een casestudy uitgevoerd rond Olly Wannabe.

Resultaat Olly Wannabe

Wat is fotogrammetrie?

Fotogrammetrie is een techniek waarbij foto’s en/of filmpjes worden gemaakt van een stilstaand object. Op basis van herkenningspunten bepaalt de fotogrammetriesoftware met behulp van triangulatie de 3D-coördinaten van het object. Met deze coördinaten maakt de software een 3D-model van het fysieke object.

Het principe achter fotogrammetrie. Source

De Olly Wannabee-piloot heeft binnen het Thomas More research aangetoond dat er behoefte is aan verdere ontwikkeling van fotogrammetrie. Om die reden is er besloten te investeren in een state-of-the-art fotogrammetriesetup. Na maanden van planning, bouwen, testen en kalibreren —met bijzondere dank aan de geestelijke vader van deze setup, Dries Van Craen — hebben we onze fotogrammetriesetup voor het eerst kunnen inzetten voor een pilootproject.

Met deze piloot wilden we een fotorealistische avatar creëren die we kunnen gebruiken in een virtuele omgeving. Daarnaast willen we met deze pilot een eenvoudige workflow uitwerken voor het creëren van fotorealistische avatars zodat we deze methode kunnen delen met de sector.

Vooronderzoek

Binnen deze pilot richten we ons niet op de bouw van de fotogrammetrie-setup; dit kan op zichzelf een casestudy zijn.

Aangezien we in ons vorige onderzoeksproject al uitgebreid met fotogrammetrie hebben gewerkt, was het vooronderzoek voor deze pilot vrij beperkt. We kennen deze technologie al goed. De grote uitdaging ligt vooral in het afstellen van de nieuwe fotogrammetriesetup. Elk van de 96 camera’s moet een deel van het object vastleggen met voldoende overlap voor de fotogrammetriesoftware. Deze overlap zorgt er voor dat de software een volledige 3D-model kan opbouwen.

Pilootproject: Ruben

Het doel van dit pilotproject was om een fotorealistische avatar te creëren die we kunnen manipuleren met behulp van motion capture (mocap) data. De pilot kan worden opgedeeld in twee grote fasen: 1) Het capteren van een persoon door middel van fotogrammetrie, en 2) het verwerken van de data tot een bruikbare fotorealistische avatar.

Workflow voor het creëren van een fotorealistische avatar.

1. Fotogrammetrie proces

Onze fotogrammetrie-setup bestaat uit 8 identieke stations. Elk station bestaat uit 12 Canon-camera’s die verbonden zijn met een “brein”. Via dit brein kunnen we de camera’s gelijktijdig activeren en worden de foto’s direct via IP naar de centrale computer geüpload. Elk station heeft één ledlamp om het object goed te verlichten. Tijdens het vooronderzoek hebben we ook geëxperimenteerd met verschillende lenzen. De initiële keuze voor 50 mm-lenzen levert zeer goede kwaliteit op, maar maakt het soms moeilijker om de verschillende zones goed vast te leggen. Momenteel experimenteren we nog met een alternatieve setup waarbij we een beperkt aantal lenzen vervangen door 25/18 mm-lenzen. We hopen/vermoeden dat we hierdoor een aantal ruimere shots kunnen maken waarbij Reality Capture voldoende extra informatie heeft om bepaalde close-ups te lokaliseren.

Fotogrammetrie setup met 96 camera’s verdeeld over 8 stations

1. De scan

De persoon of het object wordt centraal in de fotogrammetrie-setup geplaatst. Vervolgens worden de 8 stations gelijktijdig geactiveerd met behulp van één trigger-knop. Hierdoor krijgen we 96 foto’s op hetzelfde moment.

2. Dataverwerking

In deze fase doorlopen we verschillende stappen in verschillende programma’s (Reality Capture, Unreal Engine, Blender, MetaHuman Creator en Photoshop) om een fotorealistische avatar te creëren die we daarna kunnen manipuleren met motion capture data.

  1. Reality Capture

Zodra alle foto’s zijn geüpload naar de centrale computer, kunnen we deze data inladen in het programma Reality Capture.

In Reality Capture doorlopen we verschillende stappen, waaronder:

a) Image align: het bepalen van alle camerastandpunten op basis van de gemaakte foto’s. In de praktijk worden niet alle 96 foto’s gebruikt. De software kan sommige camerastandpunten mogelijk niet lokaliseren. In de meeste gevallen is dit een acceptabele foutenmarge, maar in sommige gevallen kan dit leiden tot onbruikbare scans.

b) Bouw 3D-model: op basis van de bruikbare foto’s creëert Reality Capture een 3D-model.

3D-model in Reality Capture

Een 3D-object wordt opgebouwd aan de hand van a) topologie en b) polygonen:

a) Topologie in 3D-modellering is het ontwerp van het model met de juiste randen, vlakken en hoeken om het uiterlijk en de prestaties (zoals animeren, schaduwen en efficiënte rendering) van het model te optimaliseren.

Konijn met verschillende polygon hoeveelheden.

b) In 3D-modellering worden polygonen gebruikt om 3D-oppervlakken te creëren, die vervolgens worden gebruikt om complexe 3D-objecten te bouwen. Het aantal polygonen, hun onderlinge positie en grootte bepalen de complexiteit en kwaliteit van het 3D-model. Het is daarom belangrijk om een goede balans te vinden tussen de hoeveelheid polygonen en de kwaliteit van het model om ervoor te zorgen dat het model zowel goed presteert als er realistisch uitziet.

Een 3D-model kan bestaan uit duizenden tot miljoenen polygonen, afhankelijk van de vereisten. Reality Capture kan het 3D-object vereenvoudigen, waardoor het minder polygonen zal bevatten en zorgt voor een efficiënter 3D-model.

Zodra het 3D-model is voltooid, kunnen we het exporteren als een objectfile (OBJ).

2. Mesh voor MetaHuman
Om het 3D-model klaar te maken voor animatie, zullen we het hoofd importeren in Unreal Engine. Het huidige 3D-model is opgebouwd uit driehoekige, tri-polygons. Om ons 3D-model goed te laten presteren (bij animatie, schaduwen en efficiënte rendering), moeten we het model voorzien van vierhoekige, quad-polygons. Daarnaast moeten we de bestaande topologie ‘opkuisen’ en vereenvoudigen door middel van retopology. We voorzien onze nieuwe quad-polygons van de juiste ‘lus structuur’ om zo een schoon en efficiënt 3D-model te krijgen.

Voorbeeld retopology. © yadegari

Vroeger moest dit proces handmatig gedaan worden, waardoor het zeer duur was om uit te voeren. Tegenwoordig kunnen we dit volledige proces laten uitvoeren door ‘Mesh to MetaHuman’.

Retopology model in MetaHuman.

Zodra we klaar zijn met het stappenplan van Unreal Engine kunnen we het 3D-model in MetaHuman Creator brengen en het verder aanpassen naargelang de noden.

MetaHuman Creator

3. Fotorealistische texture-map
Zodra we over een bruikbaar 3D-model beschikken, moeten we de avatar nog voorzien van een texture. Je kan kiezen voor een standaard texture-map, maar voor deze piloot kiezen we ervoor om een fotorealistische texture-map te maken. Hiervoor gebruiken we de Facebuilder-plugin in Blender. Hierbij wordt op basis van verschillende foto’s van de echte persoon een virtuele afdruk van het hoofd gemaakt vanuit verschillende standpunten. Na het afronden van deze stap beschikken we over een fotorealistische texture-map in .png formaat.

Tutorial voor het gebruik van Facebuilder in Blender.
Fotorealistische texture map van Ruben.

4. Texture map importeren In Unreal Engine
Zodra het .png-bestand klaar is importeren we deze in Unreal Engine en kunnen we ze gebruiken als texture voor de avatar. Als er onvolkomenheden zijn, kun je deze nog verder bewerken in Photoshop.

Avatar met fotorealistische texture-map.

5. Live Link Face app
Deze laatste stap zorgt ervoor dat je de fotorealistische avatar in realtime kan animeren. Dit doen we door de avatar te koppelen aan de Live Link Face app op een iPhone. Zodra de link actief is kan je de avatar in realtime animeren met de iPhone.

Resultaat

Hieronder kan je het uiteindelijke resultaat zien. We kunnen onze fotorealistische avatar live aansturen via Unreal Engine.

Conclusie

Met deze piloot hebben we kunnen aantonen dat het mogelijk is om hoogwaardige fotorealistische avatars te maken en dat het proces om dit te realiseren veel eenvoudiger is geworden. Er zijn verschillende innovaties die dit mogelijk maken, zoals de softwareoplossingen Facebuilder in Blender en de automatische retopologie in MetaHuman Creator. We zien dat de kwaliteit van de avatar zeer goed is dankzij de gecapteerde data, zeker als we dit vergelijken met andere oplossingen op de markt, zoals IN3D. Toch moeten we voorzichtig zijn, aangezien een dergelijke fotogrammetrie-setup niet gemakkelijk toegankelijk of goedkoop is voor de sector/het publiek op dit moment.

Zoals met alle (XR)-technologie zijn we ervan overtuigd dat we in de nabije toekomst nieuwe, betere, eenvoudigere en betaalbaardere oplossingen zullen zien opduiken.

IN3D app.

--

--

Presence

Research project by Thomas More on virtual presence.